diff options
Diffstat (limited to 'Master/texmf-dist')
1028 files changed, 309586 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/asymptote/CAD.pdf b/Master/texmf-dist/doc/asymptote/CAD.pdf Binary files differnew file mode 100644 index 00000000000..bb61b12dd4d --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/CAD.pdf diff --git a/Master/texmf-dist/doc/asymptote/TeXShopAndAsymptote.pdf b/Master/texmf-dist/doc/asymptote/TeXShopAndAsymptote.pdf Binary files differnew file mode 100644 index 00000000000..61dfa38cc71 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/TeXShopAndAsymptote.pdf diff --git a/Master/texmf-dist/doc/asymptote/asy-latex.pdf b/Master/texmf-dist/doc/asymptote/asy-latex.pdf Binary files differnew file mode 100644 index 00000000000..55883f461c8 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/asy-latex.pdf diff --git a/Master/texmf-dist/doc/asymptote/asyRefCard.pdf b/Master/texmf-dist/doc/asymptote/asyRefCard.pdf Binary files differnew file mode 100644 index 00000000000..bed262c88fd --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/asyRefCard.pdf diff --git a/Master/texmf-dist/doc/asymptote/asymptote.pdf b/Master/texmf-dist/doc/asymptote/asymptote.pdf Binary files differnew file mode 100644 index 00000000000..914215456fb --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/asymptote.pdf diff --git a/Master/texmf-dist/doc/asymptote/examples/100d.views b/Master/texmf-dist/doc/asymptote/examples/100d.views new file mode 100644 index 00000000000..5e73cb0c8b9 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/100d.views @@ -0,0 +1,30 @@ +VIEW%={View A} + COO=0.000001944790710695088 -0.000000199754154551 -303.740966796875 + C2C=-0.43931567668914795 -0.011656288057565689 0.8982571363449097 + ROO=367.52660744556164 + ROLL=-75.86431813030065 + AAC=34.903342413559436 + BGCOLOR=1. 1. 1. + LIGHTS=Artwork + RENDERMODE=Solid +END +VIEW%={View B} + COO=-52.16141891479492 50.85958480834961 -249.23748779296875 + C2C=-0.0608830563724041 0.722907543182373 -0.6882571578025818 + ROO=117.10558117788756 + ROLL=105.68252665017765 + AAC=34.903342413559436 + BGCOLOR=1. 1. 1. + LIGHTS=Artwork + RENDERMODE=Solid +END +VIEW%={View C} + COO=2.2545230388641357 2.9914066791534424 -300.3456115722656 + C2C=0.8536049127578735 0.3032689690589905 -0.42354053258895874 + ROO=303.7410359852936 + ROLL=-126.08445879535664 + AAC=34.903342413559436 + BGCOLOR=1. 1. 1. + LIGHTS=Artwork + RENDERMODE=Solid +END diff --git a/Master/texmf-dist/doc/asymptote/examples/1overx.asy b/Master/texmf-dist/doc/asymptote/examples/1overx.asy new file mode 100644 index 00000000000..5d9775d44dc --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/1overx.asy @@ -0,0 +1,17 @@ +import graph; +size(200,IgnoreAspect); + +real f(real x) {return 1/x;}; + +bool3 branch(real x) +{ + static int lastsign=0; + if(x == 0) return false; + int sign=sgn(x); + bool b=lastsign == 0 || sign == lastsign; + lastsign=sign; + return b ? true : default; +} + +draw(graph(f,-1,1,branch)); +axes("$x$","$y$",red); diff --git a/Master/texmf-dist/doc/asymptote/examples/BezierPatch.asy b/Master/texmf-dist/doc/asymptote/examples/BezierPatch.asy new file mode 100644 index 00000000000..8d770e058ae --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/BezierPatch.asy @@ -0,0 +1,14 @@ +import three; + +size(10cm); +currentlight=Viewport; + +surface s=surface(patch(new triple[][] { + {(0,0,0),(1,0,0),(1,0,0),(2,0,0)}, + {(0,1,0),(1,0,1),(1,0,1),(2,1,0)}, + {(0,1,0),(1,0,-1),(1,0,-1),(2,1,0)}, + {(0,2,0),(1,2,0),(1,2,0),(2,2,0)}})); + +draw(s,yellow); +draw(s.s[0].vequals(0.5),squarecap+2bp+blue,currentlight); +draw(s.s[0].uequals(0.5),squarecap+2bp+red,currentlight); diff --git a/Master/texmf-dist/doc/asymptote/examples/BezierSurface.asy b/Master/texmf-dist/doc/asymptote/examples/BezierSurface.asy new file mode 100644 index 00000000000..f8cbc458ca0 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/BezierSurface.asy @@ -0,0 +1,43 @@ +import three; + +string viewpoint=" +COO=-684.0787963867188 206.90650939941406 218.13809204101562 +C2C=0.8244762420654297 -0.563306450843811 0.0540805421769619 +ROO=1009.7407942621448 +ROLL=17.39344555165265 +"; + +// viewpoint=getstring("viewpoint",viewpoint); +currentprojection=perspective(viewpoint); + +triple[][][] P={ + { + {(-1.6,0,1.875),(-2.3,0,1.875),(-2.7,0,1.875),(-2.7,0,1.65),}, + {(-1.6,-0.3,1.875),(-2.3,-0.3,1.875),(-2.7,-0.3,1.875),(-2.7,-0.3,1.65),}, + {(-1.5,-0.3,2.1),(-2.5,-0.3,2.1),(-3,-0.3,2.1),(-3,-0.3,1.65),}, + {(-1.5,0,2.1),(-2.5,0,2.1),(-3,0,2.1),(-3,0,1.65),} + },{ + {(-2.7,0,1.65),(-2.7,0,1.425),(-2.5,0,0.975),(-2,0,0.75),}, + {(-2.7,-0.3,1.65),(-2.7,-0.3,1.425),(-2.5,-0.3,0.975),(-2,-0.3,0.75),}, + {(-3,-0.3,1.65),(-3,-0.3,1.2),(-2.65,-0.3,0.7275),(-1.9,-0.3,0.45),}, + {(-3,0,1.65),(-3,0,1.2),(-2.65,0,0.7275),(-1.9,0,0.45),} + },{ + {(-2.7,0,1.65),(-2.7,0,1.875),(-2.3,0,1.875),(-1.6,0,1.875),}, + {(-2.7,0.3,1.65),(-2.7,0.3,1.875),(-2.3,0.3,1.875),(-1.6,0.3,1.875),}, + {(-3,0.3,1.65),(-3,0.3,2.1),(-2.5,0.3,2.1),(-1.5,0.3,2.1),}, + {(-3,0,1.65),(-3,0,2.1),(-2.5,0,2.1),(-1.5,0,2.1),} + },{ + {(-2,0,0.75),(-2.5,0,0.975),(-2.7,0,1.425),(-2.7,0,1.65),}, + {(-2,0.3,0.75),(-2.5,0.3,0.975),(-2.7,0.3,1.425),(-2.7,0.3,1.65),}, + {(-1.9,0.3,0.45),(-2.65,0.3,0.7275),(-3,0.3,1.2),(-3,0.3,1.65),}, + {(-1.9,0,0.45),(-2.65,0,0.7275),(-3,0,1.2),(-3,0,1.65),} + } +}; + +picture pic; +size(pic,15cm); +size3(pic,10cm); +draw(pic,surface(P),blue); + +add(embed("label",pic),(0,0),N); +label(cameralink("label"),(0,0),10S,fontsize(24pt)); diff --git a/Master/texmf-dist/doc/asymptote/examples/Bode.asy b/Master/texmf-dist/doc/asymptote/examples/Bode.asy new file mode 100644 index 00000000000..a35540e9749 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/Bode.asy @@ -0,0 +1,27 @@ +import graph; +texpreamble("\def\Arg{\mathop {\rm Arg}\nolimits}"); + +size(10cm,5cm,IgnoreAspect); + +real ampl(real x) {return 2.5/(1+x^2);} +real phas(real x) {return -atan(x)/pi;} + +scale(Log,Log); +draw(graph(ampl,0.01,10)); +ylimits(0.001,100); + +xaxis("$\omega\tau_0$",BottomTop,LeftTicks); +yaxis("$|G(\omega\tau_0)|$",Left,RightTicks); + +picture q=secondaryY(new void(picture pic) { + scale(pic,Log,Linear); + draw(pic,graph(pic,phas,0.01,10),red); + ylimits(pic,-1.0,1.5); + yaxis(pic,"$\Arg G/\pi$",Right,red, + LeftTicks("$% #.1f$", + begin=false,end=false)); + yequals(pic,1,Dotted); + }); +label(q,"(1,0)",Scale(q,(1,0)),red); +add(q); + diff --git a/Master/texmf-dist/doc/asymptote/examples/CAD1.asy b/Master/texmf-dist/doc/asymptote/examples/CAD1.asy new file mode 100644 index 00000000000..4602e73b709 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/CAD1.asy @@ -0,0 +1,43 @@ +import CAD;
+
+sCAD cad=sCAD.Create();
+
+// Freehand line
+draw(g=cad.MakeFreehand(pFrom=(3,-1)*cm,(6,-1)*cm),
+ p=cad.pFreehand);
+
+// Standard measurement lines
+draw(g=box((0,0)*cm,(1,1)*cm),p=cad.pVisibleEdge);
+cad.MeasureParallel(L="$\sqrt{2}$",
+ pFrom=(0,1)*cm,
+ pTo=(1,0)*cm,
+ dblDistance=-15mm);
+
+// Label inside,shifted to the right; arrows outside
+draw(g=box((2,0)*cm,(3,1)*cm),p=cad.pVisibleEdge);
+cad.MeasureParallel(L="1",
+ pFrom=(2,1)*cm,
+ pTo=(3,1)*cm,
+ dblDistance=5mm,
+ dblLeft=5mm,
+ dblRelPosition=0.75);
+
+// Label and arrows outside
+draw(g=box((5,0)*cm,(5.5,1)*cm),p=cad.pVisibleEdge);
+cad.MeasureParallel(L="0.5",
+ pFrom=(5,1)*cm,
+ pTo=(5.5,1)*cm,
+ dblDistance=5mm,
+ dblLeft=10mm,
+ dblRelPosition=-1);
+
+// Small bounds,asymmetric measurement line
+draw(g=box((7,0)*cm,(7.5,1)*cm),p=cad.pVisibleEdge);
+cad.MeasureParallel(L="0.5",
+ pFrom=(7,1)*cm,
+ pTo=(7.5,1)*cm,
+ dblDistance=5mm,
+ dblLeft=2*cad.GetMeasurementBoundSize(bSmallBound=true),
+ dblRight=10mm,
+ dblRelPosition=2,
+ bSmallBound=true);
diff --git a/Master/texmf-dist/doc/asymptote/examples/CDlabel.asy b/Master/texmf-dist/doc/asymptote/examples/CDlabel.asy new file mode 100644 index 00000000000..3dd59699e40 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/CDlabel.asy @@ -0,0 +1,14 @@ +size(11.7cm,11.7cm); +asy(nativeformat(),"logo"); +fill(unitcircle^^(scale(2/11.7)*unitcircle), + evenodd+rgb(124/255,205/255,124/255)); +label(scale(1.1)*minipage( +"\centering\scriptsize \textbf{\LARGE {\tt Asymptote}\\ +\smallskip +\small The Vector Graphics Language}\\ +\smallskip +\textsc{Andy Hammerlindl, John Bowman, and Tom Prince} +http://asymptote.sourceforge.net\\ +",8cm),(0,0.6)); +label(graphic("logo."+nativeformat(),"height=7cm"),(0,-0.22)); +clip(unitcircle^^(scale(2/11.7)*unitcircle),evenodd); diff --git a/Master/texmf-dist/doc/asymptote/examples/Coons.asy b/Master/texmf-dist/doc/asymptote/examples/Coons.asy new file mode 100644 index 00000000000..9f59d152575 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/Coons.asy @@ -0,0 +1,6 @@ +size(200); + +pen[] p={red,green,blue,magenta}; +path g=(0,0){dir(45)}..(1,0)..(1,1)..(0,1)..cycle; +tensorshade(g,p); +dot(g); diff --git a/Master/texmf-dist/doc/asymptote/examples/GaussianSurface.asy b/Master/texmf-dist/doc/asymptote/examples/GaussianSurface.asy new file mode 100644 index 00000000000..bf198a6a243 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/GaussianSurface.asy @@ -0,0 +1,21 @@ +import graph3; + +size(200,0); + +currentprojection=perspective(10,8,4); + +real f(pair z) {return 0.5+exp(-abs(z)^2);} + +draw((-1,-1,0)--(1,-1,0)--(1,1,0)--(-1,1,0)--cycle); + +draw(arc(0.12Z,0.2,90,60,90,25),ArcArrow3); + +surface s=surface(f,(-1,-1),(1,1),nx=5,Spline); + +xaxis3(Label("$x$"),red,Arrow3); +yaxis3(Label("$y$"),red,Arrow3); +zaxis3(XYZero(extend=true),red,Arrow3); + +draw(s,lightgray,meshpen=black+thick(),nolight,render(merge=true)); + +label("$O$",O,-Z+Y,red); diff --git a/Master/texmf-dist/doc/asymptote/examples/Gouraud.asy b/Master/texmf-dist/doc/asymptote/examples/Gouraud.asy new file mode 100644 index 00000000000..d49813e5e66 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/Gouraud.asy @@ -0,0 +1,18 @@ +size(200); + +pen[] p={red,green,blue,magenta}; +pair[] z={(-1,0),(0,0),(0,1),(1,0)}; +int[] edges={0,0,0,1}; +gouraudshade(z[0]--z[2]--z[3]--cycle,p,z,edges); + +draw(z[0]--z[1]--z[2]--cycle); +draw(z[1]--z[3]--z[2],dashed); + +dot(Label,z[0],W); +dot(Label,z[1],S); +dot(Label,z[2],N); +dot(Label,z[3],E); + +label("0",z[0]--z[1],S,red); +label("1",z[1]--z[2],E,red); +label("2",z[2]--z[0],NW,red); diff --git a/Master/texmf-dist/doc/asymptote/examples/Gouraudcontour.asy b/Master/texmf-dist/doc/asymptote/examples/Gouraudcontour.asy new file mode 100644 index 00000000000..1cf788869a2 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/Gouraudcontour.asy @@ -0,0 +1,31 @@ +import graph; +import palette; +import contour; + +size(200); + +int n=100; + +real[] x=new real[n]; +real[] y=new real[n]; +real[] f=new real[n]; + +real F(real a, real b) {return a^2+b^2;} + +real r() {return 1.1*(rand()/randMax*2-1);} + +for(int i=0; i < n; ++i) { + x[i]=r(); + y[i]=r(); + f[i]=F(x[i],y[i]); +} + +pen Tickpen=black; +pen tickpen=gray+0.5*linewidth(currentpen); +pen[] Palette=BWRainbow(); + +bounds range=image(x,y,f,Range(0,2),Palette); +draw(contour(pairs(x,y),f,new real[]{0.25,0.5,1},operator ..)); + +palette("$f(x,y)$",range,point(NW)+(0,0.5),point(NE)+(0,0.8),Top,Palette, + PaletteTicks(Tickpen,tickpen)); diff --git a/Master/texmf-dist/doc/asymptote/examples/HermiteSpline.asy b/Master/texmf-dist/doc/asymptote/examples/HermiteSpline.asy new file mode 100644 index 00000000000..7f4cbbebb24 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/HermiteSpline.asy @@ -0,0 +1,14 @@ +import graph; + +size(140mm,70mm,IgnoreAspect); +scale(false); +real[] x={1,3,4,5,6}; +real[] y={1,5,2,0,4}; + +marker mark=marker(scale(1mm)*cross(6,false,r=0.35),red,Fill); + +draw(graph(x,y,Hermite),"Hermite Spline",mark); +xaxis("$x$",Bottom,LeftTicks(x)); +yaxis("$y$",Left,LeftTicks); +attach(legend(),point(NW),40S+30E,UnFill); + diff --git a/Master/texmf-dist/doc/asymptote/examples/Hobbycontrol.asy b/Master/texmf-dist/doc/asymptote/examples/Hobbycontrol.asy new file mode 100644 index 00000000000..50662988e04 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/Hobbycontrol.asy @@ -0,0 +1,20 @@ +size(200); +pair z0=(0,0); +pair z1=(0.5,3); +pair z2=(2,1); + +path g=z0..z1..z2; + +pair d0=dir(g,0); +pair d1=dir(g,1); +draw(Label("$\omega_0$",1),z0-d0..z0+d0,blue+dashed,Arrow); +draw(Label("$\omega_1$",1),z1-d1..z1+1.5d1,blue+dashed,Arrow); +draw(z0--interp(z0,z1,1.5),dashed); +draw(subpath(g,0,1),blue); +draw("$\theta$",arc(z0,0.4,degrees(z1-z0),degrees(d0)),red,Arrow, + EndPenMargin); +draw("$\phi$",arc(z1,1.05,degrees(z1-z0),degrees(d1)),red,Arrow, + EndPenMargin); + +dot("$z_0$",z0,SW,red); +dot("$z_1$",z1,SE,red); diff --git a/Master/texmf-dist/doc/asymptote/examples/Hobbydir.asy b/Master/texmf-dist/doc/asymptote/examples/Hobbydir.asy new file mode 100644 index 00000000000..01d8a2e0ed0 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/Hobbydir.asy @@ -0,0 +1,21 @@ +size(200); +pair z0=(0,0); +pair z1=(1,2); +pair z2=(2,1); + +path g=z0..z1..z2; + +label("$\ell_k$",z0--z1); +draw("$\ell_{k+1}$",z1--z2,dashed); +draw(z0--interp(z0,z1,1.5),dashed); +pair d1=dir(g,1); +draw(z1-d1..z1+d1,blue+dashed); +draw(g,blue); +draw(Label("$\theta_k$",0.4),arc(z1,0.4,degrees(z2-z1),degrees(d1)),blue,Arrow, + EndPenMargin); +draw("$\phi_k$",arc(z1,0.4,degrees(d1),degrees(z1-z0),CCW),Arrow, + EndPenMargin); + +dot("$z_{k-1}$",z0,red); +dot("$z_k$",z1,NW,red); +dot("$z_{k+1}$",z2,red); diff --git a/Master/texmf-dist/doc/asymptote/examples/Klein.asy b/Master/texmf-dist/doc/asymptote/examples/Klein.asy new file mode 100644 index 00000000000..99914d90432 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/Klein.asy @@ -0,0 +1,51 @@ +import graph3; + +size(469pt); + +viewportmargin=0; + +currentprojection=perspective( +camera=(25.0851928432063,-30.3337528952473,19.3728775115443), +up=Z, +target=(-0.590622314050054,0.692357205025578,-0.627122488455679), +zoom=1, +autoadjust=false); + +triple f(pair t) { + real u=t.x; + real v=t.y; + real r=2-cos(u); + real x=3*cos(u)*(1+sin(u))+r*cos(v)*(u < pi ? cos(u) : -1); + real y=8*sin(u)+(u < pi ? r*sin(u)*cos(v) : 0); + real z=r*sin(v); + return (x,y,z); +} + +surface s=surface(f,(0,0),(2pi,2pi),8,8,Spline); +draw(s,lightolive+white,"bottle",render(merge=true)); + +string lo="$\displaystyle u\in[0,\pi]: \cases{x=3\cos u(1+\sin u)+(2-\cos u)\cos u\cos v,\cr +y=8\sin u+(2-\cos u)\sin u\cos v,\cr +z=(2-\cos u)\sin v.\cr}$"; + +string hi="$\displaystyle u\in[\pi,2\pi]:\\\cases{x=3\cos u(1+\sin u)-(2-\cos u)\cos v,\cr +y=8\sin u,\cr +z=(2-\cos u)\sin v.\cr}$"; + +real h=0.0125; + +begingroup3("parametrization"); +draw(surface(xscale(-0.38)*yscale(-0.18)*lo,s,0,1.7,h,bottom=false), + "[0,pi]"); +draw(surface(xscale(0.26)*yscale(0.1)*rotate(90)*hi,s,4.9,1.4,h,bottom=false), + "[pi,2pi]"); +endgroup3(); + +begingroup3("boundary"); +draw(s.uequals(0),blue+dashed); +draw(s.uequals(pi),blue+dashed); +endgroup3(); + +add(new void(frame f, transform3 t, picture pic, projection P) { + draw(f,invert(box(min(f,P),max(f,P)),P),"frame"); + }); diff --git a/Master/texmf-dist/doc/asymptote/examples/NURBScurve.asy b/Master/texmf-dist/doc/asymptote/examples/NURBScurve.asy new file mode 100644 index 00000000000..c4da5c2ff5f --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/NURBScurve.asy @@ -0,0 +1,33 @@ +import three; + +size(10cm); + +currentprojection=perspective(50,80,50); + +// Nonrational curve: +// udegree=3, nu=6; +real[] knot={0,0,0,0,0.4,0.6,1,1,1,1}; + +triple[] P={ + (-31.2061,12.001,6.45082), + (-31.3952,14.7353,6.53707), + (-31.5909,21.277,6.70051), + (-31.4284,25.4933,6.76745), + (-31.5413,30.3485,6.68777), + (-31.4896,32.2839,6.58385) + }; + +draw(P,knot,green); + +// Rational Bezier curve: +// udegree=3, nu=4; +real[] knot={0,0,0,0,1,1,1,1}; +path3 g=scale3(20)*(X{Y}..{-X}Y); +triple[] P={point(g,0),postcontrol(g,0),precontrol(g,1),point(g,1)}; + +// Optional weights: +real[] weights=array(P.length,1.0); +weights[2]=5; + +draw(P,knot,weights,red); + diff --git a/Master/texmf-dist/doc/asymptote/examples/NURBSsphere.asy b/Master/texmf-dist/doc/asymptote/examples/NURBSsphere.asy new file mode 100644 index 00000000000..5258c9986de --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/NURBSsphere.asy @@ -0,0 +1,46 @@ +import three; + +/* Reference: +@article{Qin97, + title={{Representing quadric surfaces using NURBS surfaces}}, + author={Qin, K.}, + journal={Journal of Computer Science and Technology}, + volume={12}, + number={3}, + pages={210--216}, + year={1997}, + publisher={Springer} +} +*/ + +size(10cm); +currentprojection=perspective(5,4,2,autoadjust=false); + +// udegree=2, vdegree=3, nu=3, nv=4; + +real[] W={2/3,1/3,1}; +real[] w={1,1/3,1/3,1}; + +// 10 distinct control points +triple[][] P={{(0,0,1),(-2,-2,1),(-2,-2,-1),(0,0,-1)}, + {(0,0,1),(2,-2,1),(2,-2,-1),(0,0,-1)}, + {(0,0,1),(2,2,1),(2,2,-1),(0,0,-1)}, + {(0,0,1),(-2,2,1),(-2,2,-1),(0,0,-1)}}; + +P.cyclic=true; + +real[][] weights=new real[3][4]; +for(int i=0; i < 3; ++i) +for(int j=0; j < 4; ++j) + weights[i][j]=W[i]*w[j]; + +real[] uknot={0,0,1/3,1/2,1,1}; +real[] vknot={0,0,0,0,1,1,1,1}; + +int N=1; + +for(int k=0; k < N; ++k) +for(int i=0; i < 4; ++i) + draw(shift(k*Z)*P[i:i+3],uknot,vknot,weights,blue); + +// draw(unitsphere,red+opacity(0.1)); diff --git a/Master/texmf-dist/doc/asymptote/examples/NURBSsurface.asy b/Master/texmf-dist/doc/asymptote/examples/NURBSsurface.asy new file mode 100644 index 00000000000..32df6ff98ea --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/NURBSsurface.asy @@ -0,0 +1,62 @@ +import three; + +size(10cm); + +currentprojection=perspective(50,80,50); + +// Nonrational surface: +// udegree=3, vdegree=3, nu=5, nv=6; +real[] uknot={0,0,0,0,0.5,1,1,1,1}; +real[] vknot={0,0,0,0,0.4,0.6,1,1,1,1}; + +triple[][] P={{ + (-31.2061,12.001,6.45082), + (-31.3952,14.7353,6.53707), + (-31.5909,21.277,6.70051), + (-31.4284,25.4933,6.76745), + (-31.5413,30.3485,6.68777), + (-31.4896,32.2839,6.58385) + },{ + (-28.279,12.001,7.89625), + (-28.4187,14.7353,8.00954), + (-28.5633,21.277,8.22422), + (-28.4433,25.4933,8.31214), + (-28.5266,30.3485,8.20749), + (-28.4885,32.2839,8.07099) + },{ + (-20,12.001,10.0379), + (-20,14.7353,10.2001), + (-20,21.277,10.5076), + (-20,25.4933,10.6335), + (-20,30.3485,10.4836), + (-20,32.2839,10.2881) + },{ + (-11.721,12.001,7.84024), + (-11.5813,14.7353,7.95269), + (-11.4367,21.277,8.16575), + (-11.5567,25.4933,8.25302), + (-11.4734,30.3485,8.14915), + (-11.5115,32.2839,8.01367) + },{ + (-8.79391,12.001,6.39481), + (-8.60483,14.7353,6.48022), + (-8.40905,21.277,6.64204), + (-8.57158,25.4933,6.70832), + (-8.45874,30.3485,6.62943), + (-8.51041,32.2839,6.52653) + } +}; + +draw(P,uknot,vknot,new pen[] {red,green,blue,magenta}); + +// Rational Bezier patch: +// udegree=3, vdegree=3, nu=4, nv=4; +real[] uknot={0,0,0,0,1,1,1,1}; +real[] vknot={0,0,0,0,1,1,1,1}; +triple[][] P=scale3(20)*octant1.P; + +// Optional weights: +real[][] weights=array(P.length,array(P[0].length,1.0)); +weights[0][2]=5.0; + +draw(P,uknot,vknot,weights,blue); diff --git a/Master/texmf-dist/doc/asymptote/examples/Pythagoras.asy b/Master/texmf-dist/doc/asymptote/examples/Pythagoras.asy new file mode 100644 index 00000000000..f4ea68fe432 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/Pythagoras.asy @@ -0,0 +1,22 @@ +size(0,150); +import geometry; + +real a=3; +real b=4; +real c=hypot(a,b); + +pair z1=(0,b); +pair z2=(a,0); +pair z3=(a+b,0); +perpendicular(z1,NE,z1--z2,blue); +perpendicular(z3,NW,blue); +draw(square((0,0),z3)); +draw(square(z1,z2)); + +real d=0.3; +pair v=unit(z2-z1); +draw(baseline("$a$"),-d*I--z2-d*I,red,Bars,Arrows,PenMargins); +draw(baseline("$b$"),z2-d*I--z3-d*I,red,Arrows,Bars,PenMargins); +draw("$c$",z3+z2*I-d*v--z2-d*v,red,Arrows,PenMargins); +draw("$a$",z3+d--z3+z2*I+d,red,Arrows,Bars,PenMargins); +draw("$b$",z3+z2*I+d--z3+z3*I+d,red,Arrows,Bars,PenMargins); diff --git a/Master/texmf-dist/doc/asymptote/examples/PythagoreanTree.asy b/Master/texmf-dist/doc/asymptote/examples/PythagoreanTree.asy new file mode 100644 index 00000000000..8ea66650bf3 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/PythagoreanTree.asy @@ -0,0 +1,20 @@ +size(250); + +real a=3; +real b=4; +real c=hypot(a,b); + +transform ta=shift(c,c)*rotate(-aCos(a/c))*scale(a/c)*shift(-c); +transform tb=shift(0,c)*rotate(aCos(b/c))*scale(b/c); + +picture Pythagorean(int n) { + picture pic; + fill(pic,scale(c)*unitsquare,1/(n+1)*green+n/(n+1)*brown); + if(n == 0) return pic; + picture branch=Pythagorean(--n); + add(pic,ta*branch); + add(pic,tb*branch); + return pic; +} + +add(Pythagorean(12)); diff --git a/Master/texmf-dist/doc/asymptote/examples/RiemannSurface.asy b/Master/texmf-dist/doc/asymptote/examples/RiemannSurface.asy new file mode 100644 index 00000000000..a1f1b665089 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/RiemannSurface.asy @@ -0,0 +1,13 @@ +import graph3; +import palette; + +size(200,300,keepAspect=false); +//settings.nothin=true; + +currentprojection=orthographic(10,10,30); +currentlight=(10,10,5); +triple f(pair t) {return (exp(t.x)*cos(t.y),exp(t.x)*sin(t.y),t.y);} + +surface s=surface(f,(-4,-2pi),(0,4pi),8,16,Spline); +s.colors(palette(s.map(zpart),Rainbow())); +draw(s,render(merge=true)); diff --git a/Master/texmf-dist/doc/asymptote/examples/RiemannSurfaceRoot.asy b/Master/texmf-dist/doc/asymptote/examples/RiemannSurfaceRoot.asy new file mode 100644 index 00000000000..8cb3af2cfa9 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/RiemannSurfaceRoot.asy @@ -0,0 +1,16 @@ +// Riemann surface of z^{1/n} +import graph3; +import palette; + +int n=3; + +size(200,300,keepAspect=false); + +currentprojection=orthographic(10,10,30); +currentlight=(10,10,5); +triple f(pair t) {return (t.x*cos(t.y),t.x*sin(t.y),t.x^(1/n)*sin(t.y/n));} + +surface s=surface(f,(0,0),(1,2pi*n),8,16,Spline); +s.colors(palette(s.map(zpart),Rainbow())); + +draw(s,meshpen=black,render(merge=true)); diff --git a/Master/texmf-dist/doc/asymptote/examples/Sierpinski.asy b/Master/texmf-dist/doc/asymptote/examples/Sierpinski.asy new file mode 100644 index 00000000000..d1664045d9f --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/Sierpinski.asy @@ -0,0 +1,17 @@ +size(10cm); + +// Draw Sierpinski triangle with top vertex A, side s, and depth q. +void Sierpinski(pair A, real s, int q, bool top=true) +{ + pair B=A-(1,sqrt(2))*s/2; + pair C=B+s; + if(top) draw(A--B--C--cycle); + draw((A+B)/2--(B+C)/2--(A+C)/2--cycle); + if(q > 0) { + Sierpinski(A,s/2,q-1,false); + Sierpinski((A+B)/2,s/2,q-1,false); + Sierpinski((A+C)/2,s/2,q-1,false); + } +} + +Sierpinski((0,1),1,5); diff --git a/Master/texmf-dist/doc/asymptote/examples/SierpinskiGasket.asy b/Master/texmf-dist/doc/asymptote/examples/SierpinskiGasket.asy new file mode 100644 index 00000000000..2e0d4facd64 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/SierpinskiGasket.asy @@ -0,0 +1,31 @@ +size(200); +import palette; +import three; +currentprojection=perspective(8,2,1); + +triple[] M={(0,0,1),1/3*(sqrt(8),0,-1), + 1/3*((sqrt(8))*Cos(120),(sqrt(8))*Sin(120),-1), + 1/3*((sqrt(8))*Cos(240),(sqrt(8))*Sin(240),-1)}; + +int level=5; + +surface s; + +void recur(triple p, real u, int l) { + if(l < level) + for(triple V : M) + recur(p+u*V,u/2,l+1); + else + for(triple V : M) { + s.append(surface((p+u*(V+M[0]))--(p+u*(V+M[1]))--(p+u*(V+M[2]))--cycle)); + s.append(surface((p+u*(V+M[0]))--(p+u*(V+M[2]))--(p+u*(V+M[3]))--cycle)); + s.append(surface((p+u*(V+M[0]))--(p+u*(V+M[3]))--(p+u*(V+M[1]))--cycle)); + s.append(surface((p+u*(V+M[3]))--(p+u*(V+M[2]))--(p+u*(V+M[1]))--cycle)); + } +} + +recur(O,0.5,1); + +s.colors(palette(s.map(zpart),Rainbow())); + +draw(s,render(merge=true)); diff --git a/Master/texmf-dist/doc/asymptote/examples/SierpinskiSponge.asy b/Master/texmf-dist/doc/asymptote/examples/SierpinskiSponge.asy new file mode 100644 index 00000000000..c398aa511c6 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/SierpinskiSponge.asy @@ -0,0 +1,99 @@ +size(200); +import palette; +import three; + +currentprojection=orthographic(1,1,1); + +triple[] M={ + (-1,-1,-1),(0,-1,-1),(1,-1,-1),(1,0,-1), + (1,1,-1),(0,1,-1),(-1,1,-1),(-1,0,-1), + (-1,-1,0),(1,-1,0),(1,1,0),(-1,1,0), + (-1,-1,1),(0,-1,1),(1,-1,1),(1,0,1),(1,1,1),(0,1,1),(-1,1,1),(-1,0,1) +}; + +surface[] Squares={ + surface((1,-1,-1)--(1,1,-1)--(1,1,1)--(1,-1,1)--cycle), + surface((-1,-1,-1)--(-1,1,-1)--(-1,1,1)--(-1,-1,1)--cycle), + surface((1,1,-1)--(-1,1,-1)--(-1,1,1)--(1,1,1)--cycle), + surface((1,-1,-1)--(-1,-1,-1)--(-1,-1,1)--(1,-1,1)--cycle), + surface((1,-1,1)--(1,1,1)--(-1,1,1)--(-1,-1,1)--cycle), + surface((1,-1,-1)--(1,1,-1)--(-1,1,-1)--(-1,-1,-1)--cycle), +}; + +int[][] SquaresPoints={ + {2,3,4,10,16,15,14,9}, + {0,7,6,11,18,19,12,8}, + {4,5,6,11,18,17,16,10}, + {2,1,0,8,12,13,14,9}, + {12,13,14,15,16,17,18,19}, + {0,1,2,3,4,5,6,7} +}; + +int[][] index={ + {0,2,4},{0,1},{1,2,4},{2,3},{1,3,4},{0,1},{0,3,4},{2,3}, + {4,5},{4,5},{4,5},{4,5}, + {0,2,5},{0,1},{1,2,5},{2,3},{1,3,5},{0,1},{0,3,5},{2,3} +}; + +int[] Sponge0=array(n=6,value=1); + +int[] eraseFaces(int n, int[] Sponge0) { + int[] temp=copy(Sponge0); + for(int k : index[n]) { + temp[k]=0; + } + return temp; +} + +int[][] Sponge1=new int[20][]; +for(int n=0; n < 20; ++n) { + Sponge1[n]=eraseFaces(n,Sponge0); +} + +int[][] eraseFaces(int n, int[][] Sponge1) { + int[][] temp=copy(Sponge1); + for(int k : index[n]) + for(int n1 : SquaresPoints[k]) + temp[n1][k]=0; + return temp; +} + +int[][][] Sponge2=new int[20][][]; +for(int n=0; n < 20; ++n) + Sponge2[n]=eraseFaces(n,Sponge1); + +int[][][] eraseFaces(int n, int[][][] Sponge2) { + int[][][] temp=copy(Sponge2); + for(int k : index[n]) + for(int n2: SquaresPoints[k]) + for(int n1: SquaresPoints[k]) + temp[n2][n1][k]=0; + return temp; +} + +int[][][][] Sponge3=new int[20][][][]; +for(int n=0; n < 20; ++n) + Sponge3[n]=eraseFaces(n,Sponge2); + +surface s3; +real u=2/3; +for(int n3=0; n3 < 20; ++n3) { + surface s2; + for(int n2=0; n2 < 20; ++n2) { + surface s1; + for(int n1=0; n1 < 20; ++n1) { + for(int k=0; k < 6; ++k){ + transform3 T=scale3(u)*shift(M[n1])*scale3(0.5); + if(Sponge3[n3][n2][n1][k] > 0) { + s1.append(T*Squares[k]); + } + } + } + transform3 T=scale3(u)*shift(M[n2])*scale3(0.5); + s2.append(T*s1); + } + transform3 T=scale3(u)*shift(M[n3])*scale3(0.5); + s3.append(T*s2); +} +s3.colors(palette(s3.map(abs),Rainbow())); +draw(s3); diff --git a/Master/texmf-dist/doc/asymptote/examples/advection.asy b/Master/texmf-dist/doc/asymptote/examples/advection.asy new file mode 100644 index 00000000000..ea993ff0fc8 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/advection.asy @@ -0,0 +1,87 @@ +size(0,22cm); + +texpreamble(" +\usepackage{bm} +\def\v{\bm} +\def\grad{\v\nabla} +\def\cross{{\v\times}} +\def\curl{\grad\cross} +\def\del{\nabla} +"); + +defaultpen(fontsize(10pt)); + +real margin=1.5mm; + +object IC=draw("initial condition $\v U_0$",box,(0,1), + margin,black,FillDraw(palegray)); +object Adv0=draw("Lagrangian state $\v U(t)$",ellipse,(1,1), + margin,red,FillDraw(palered)); +object Adv=draw("Lagrangian prediction $\v U(t+\tau)$",ellipse,(1,0), + margin,red,FillDraw(palered)); +object AdvD=draw("diffused parcels",ellipse,(1.8,1), + margin,red,FillDraw(palered)); +object Ur=draw("rearranged $\v \widetilde U$",box,(0,0), + margin,orange+gray,FillDraw(paleyellow)); +object Ui=draw("interpolated $\v \widetilde U$",box,(1,-1), + margin,blue,FillDraw(paleblue)); +object Crank=draw("${\cal L}^{-1}(-\tau){\cal L}(\tau)\v \widetilde U$", + box,(0.5,-1),margin,blue,FillDraw(paleblue)); +object CrankR=draw("${\cal L}^{-1}(-\tau){\cal L}(\tau)\v \widetilde U$", + box,(0,-1),margin,orange+gray,FillDraw(paleyellow)); +object Urout=draw(minipage("\center{Lagrangian rearranged solution~$\v U_R$}", + 100pt),box,(0,-2),margin,orange+gray, + FillDraw(paleyellow)); +object Diff=draw("$\v D\del^2 \v \widetilde U$",box,(0.75,-1.5), + margin,blue,FillDraw(paleblue)); +object UIout=draw(minipage("\center{semi-Lagrangian solution~$\v U_I$}",80pt), + box,(0.5,-2),margin,FillDraw(palered+paleyellow)); +object psi=draw("$\psi=\del^{-2}\omega$",box,(1.6,-1), + margin,darkgreen,FillDraw(palegreen)); +object vel=draw("$\v v=\v{\hat z} \cross\grad\psi$",box,(1.6,-0.5), + margin,darkgreen,FillDraw(palegreen)); + +add(new void(frame f, transform t) { + pair padv=0.5*(point(Adv0,S,t)+point(Adv,N,t)); + picture pic; + draw(pic,"initialize",point(IC,E,t)--point(Adv0,W,t),RightSide,Arrow, + PenMargin); + draw(pic,minipage("\flushright{advect: Runge-Kutta}",80pt), + point(Adv0,S,t)--point(Adv,N,t),RightSide,red,Arrow,PenMargin); + draw(pic,Label("Lagrange $\rightarrow$ Euler",0.45), + point(Adv,W,t)--point(Ur,E,t),5LeftSide,orange+gray, + Arrow,PenMargin); + draw(pic,"Lagrange $\rightarrow$ Euler",point(Adv,S,t)--point(Ui,N,t), + RightSide,blue,Arrow,PenMargin); + draw(pic,point(Adv,E,t)--(point(AdvD,S,t).x,point(Adv,E,t).y),red, + Arrow(Relative(0.7)),PenMargin); + draw(pic,minipage("\flushleft{diffuse: multigrid Crank--Nicholson}",80pt), + point(Ui,W,t)--point(Crank,E,t),5N,blue,MidArrow,PenMargin); + draw(pic,minipage("\flushleft{diffuse: multigrid Crank--Nicholson}",80pt), + point(Ur,S,t)--point(CrankR,N,t),LeftSide,orange+gray,Arrow,PenMargin); + draw(pic,"output",point(CrankR,S,t)--point(Urout,N,t),RightSide, + orange+gray,Arrow,PenMargin); + draw(pic,point(Ui,S,t)--point(Diff,N,t),blue,MidArrow,PenMargin); + draw(pic,point(Crank,S,t)--point(Diff,N,t),blue,MidArrow,PenMargin); + label(pic,"subtract",point(Diff,N,t),12N,blue); + draw(pic,Label("Euler $\rightarrow$ Lagrange",0.5), + point(Diff,E,t)--(point(AdvD,S,t).x,point(Diff,E,t).y)-- + (point(AdvD,S,t).x,point(Adv,E,t).y),RightSide,blue, + Arrow(position=1.5),PenMargin); + dot(pic,(point(AdvD,S,t).x,point(Adv,E,t).y),red); + draw(pic,(point(AdvD,S,t).x,point(Adv,E,t).y)--point(AdvD,S,t),red,Arrow, + PenMargin); + draw(pic,"output",point(Crank,S,t)--point(UIout,N,t),RightSide,brown,Arrow, + PenMargin); + draw(pic,Label("$t+\tau\rightarrow t$",0.45), + point(AdvD,W,t)--point(Adv0,E,t),2.5LeftSide,red,Arrow,PenMargin); + draw(pic,point(psi,N,t)--point(vel,S,t),darkgreen,Arrow,PenMargin); + draw(pic,Label("self-advection",4.5),point(vel,N,t)-- + arc((point(vel,N,t).x,point(Adv,E,t).y),5,270,90)-- + (point(vel,N,t).x,padv.y)-- + padv,LeftSide,darkgreen,Arrow,PenMargin); + draw(pic,Label("multigrid",0.5,S),point(Ui,E,t)--point(psi,W,t),darkgreen, + Arrow,PenMargin); + + add(f,pic.fit()); + }); diff --git a/Master/texmf-dist/doc/asymptote/examples/alignbox.asy b/Master/texmf-dist/doc/asymptote/examples/alignbox.asy new file mode 100644 index 00000000000..67083b1e2e0 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/alignbox.asy @@ -0,0 +1,9 @@ +real margin=1.5mm; + +object left=align(object("$x^2$",ellipse,margin),W); +add(left); +object right=align(object("$\sin x$",ellipse,margin),4E); +add(right); +add(new void(frame f, transform t) { + draw(f,point(left,NE,t)--point(right,W,t)); + }); diff --git a/Master/texmf-dist/doc/asymptote/examples/alignedaxis.asy b/Master/texmf-dist/doc/asymptote/examples/alignedaxis.asy new file mode 100644 index 00000000000..542dcb9bc60 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/alignedaxis.asy @@ -0,0 +1,107 @@ +import graph; + +real Freq=60.0; +real margin=5mm; + +pair exp(pair x) { + return exp(x.x)*(cos(x.y)+I*sin(x.y)); +} + +real Merr(real x, real w) { + real tau=x/(2*Freq); + return 20*log(abs((tau*w+tau/(exp(I*2*pi*Freq*tau)-1))*(I*2*pi*Freq))); +} + +real Aerr(real x, real w) { + real tau=x/(2*Freq); + return degrees((tau*w+tau/(exp(I*2*pi*Freq*tau)-1))*(I*2*pi*Freq)); +} + +picture pic1; +scale(pic1,Log,Linear); +real Merr1(real x){return Merr(x,1);} +draw(pic1,graph(pic1,Merr1,1e-4,1),black+1.2); + +ylimits(pic1,-60,20); +yaxis(pic1,"magnitude (dB)",LeftRight,RightTicks(new + real[] {-60,-40,-20,0,20})); +xaxis(pic1,"$f/f_\mathrm{Ny}$",BottomTop,LeftTicks(N=5)); +yequals(pic1,0,Dotted); +yequals(pic1,-20,Dotted); +yequals(pic1,-40,Dotted); +xequals(pic1,1e-3,Dotted); +xequals(pic1,1e-2,Dotted); +xequals(pic1,1e-1,Dotted); + +size(pic1,100,100,point(pic1,SW),point(pic1,NE)); + +label(pic1,"$\theta=1$",point(pic1,N),2N); + +frame f1=pic1.fit(); +add(f1); + +picture pic1p; +scale(pic1p,Log,Linear); +real Aerr1(real x){return Aerr(x,1);} +draw(pic1p,graph(pic1p,Aerr1,1e-4,1),black+1.2); + +ylimits(pic1p,-5,95); +yaxis(pic1p,"phase (deg)",LeftRight,RightTicks(new real[] {0,45,90})); +xaxis(pic1p,"$f/f_\mathrm{Ny}$",BottomTop,LeftTicks(N=5)); +yequals(pic1p,0,Dotted); +yequals(pic1p,45,Dotted); +yequals(pic1p,90,Dotted); +xequals(pic1p,1e-3,Dotted); +xequals(pic1p,1e-2,Dotted); +xequals(pic1p,1e-1,Dotted); + +size(pic1p,100,100,point(pic1p,SW),point(pic1p,NE)); + +frame f1p=pic1p.fit(); +f1p=shift(0,min(f1).y-max(f1p).y-margin)*f1p; +add(f1p); + +picture pic2; +scale(pic2,Log,Linear); +real Merr2(real x){return Merr(x,0.75);} +draw(pic2,graph(pic2,Merr2,1e-4,1),black+1.2); + +ylimits(pic2,-60,20); +yaxis(pic2,"magnitude (dB)",LeftRight,RightTicks(new + real[] {-60,-40,-20,0,20})); +xaxis(pic2,"$f/f_\mathrm{Ny}$",BottomTop,LeftTicks(N=5)); +yequals(pic2,0,Dotted); +yequals(pic2,-20,Dotted); +yequals(pic2,-40,Dotted); +xequals(pic2,1e-3,Dotted); +xequals(pic2,1e-2,Dotted); +xequals(pic2,1e-1,Dotted); + +size(pic2,100,100,point(pic2,SW),point(pic2,NE)); + +label(pic2,"$\theta=0.75$",point(pic2,N),2N); + +frame f2=pic2.fit(); +f2=shift(max(f1).x-min(f2).x+margin)*f2; +add(f2); + +picture pic2p; +scale(pic2p,Log,Linear); +real Aerr2(real x){return Aerr(x,0.75);} +draw(pic2p,graph(pic2p,Aerr2,1e-4,1),black+1.2); + +ylimits(pic2p,-5,95); +yaxis(pic2p,"phase (deg)",LeftRight,RightTicks(new real[] {0,45.1,90})); +xaxis(pic2p,"$f/f_\mathrm{Ny}$",BottomTop,LeftTicks(N=5)); +yequals(pic2p,0,Dotted); +yequals(pic2p,45,Dotted); +yequals(pic2p,90,Dotted); +xequals(pic2p,1e-3,Dotted); +xequals(pic2p,1e-2,Dotted); +xequals(pic2p,1e-1,Dotted); + +size(pic2p,100,100,point(pic2p,SW),point(pic2p,NE)); + +frame f2p=pic2p.fit(); +f2p=shift(max(f1p).x-min(f2p).x+margin,min(f2).y-max(f2p).y-margin)*f2p; +add(f2p); diff --git a/Master/texmf-dist/doc/asymptote/examples/animations/cube.asy b/Master/texmf-dist/doc/asymptote/examples/animations/cube.asy new file mode 100644 index 00000000000..001e54466d8 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/animations/cube.asy @@ -0,0 +1,46 @@ +import math; +import bsp; +import animation; + +size(100,100); + +animation a; + +void face(face[] faces, path3 p, int j, int k) { + picture pic=faces.push(p); + filldraw(pic,project(p),Pen(j)); + int sign=(k % 2 == 0) ? 1 : -1; + transform t=scale(4)*transform(dir(p,0,sign),dir(p,0,-sign)); + label(pic,t*(string) j,project(0.5*(min(p)+max(p)))); +} + +void snapshot(transform3 t) +{ + static transform3 s=shift(-0.5*(X+Y+Z)); + save(); + + face[] faces; + int j=-1; + transform3 T=t*s; + for(int k=0; k < 2; ++k) { + face(faces,T*plane((1,0,0),(0,1,0),(0,0,k)),++j,k); + face(faces,T*plane((0,1,0),(0,0,1),(k,0,0)),++j,k); + face(faces,T*plane((0,0,1),(1,0,0),(0,k,0)),++j,k); + } + add(faces); + + a.add(); + restore(); +} + +int n=50; + +real step=360/n; +for(int i=0; i < n; ++i) + snapshot(rotate(i*step,X)); +for(int i=0; i < n; ++i) + snapshot(rotate(i*step,Y)); +for(int i=0; i < n; ++i) + snapshot(rotate(i*step,Z)); + +a.movie(loops=10,delay=50); diff --git a/Master/texmf-dist/doc/asymptote/examples/animations/earthmoon.asy b/Master/texmf-dist/doc/asymptote/examples/animations/earthmoon.asy new file mode 100644 index 00000000000..efca043b8bc --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/animations/earthmoon.asy @@ -0,0 +1,78 @@ +import graph3; +import solids; +import three; +import animate; + +settings.render=2; +settings.tex="pdflatex"; +settings.prc=false; +settings.thick=false; +settings.outformat="mpg"; +currentprojection=orthographic(5,4,2); +currentlight=light(specular=black,(0.1,-0.1,1),viewport=true); + +size(15cm,0); + +animation A; + +real Rst=20, Rl=0.7, Rtl=5; +real ast=20, est=0.3, bst=ast*sqrt(1-est^2), cst=ast*est; +real atl=5, etl=0.8, btl=atl*sqrt(1-etl^2), ctl=atl*etl; + +real xST(real t) {return ast*cos(t)+cst;} +real yST(real t) {return bst*sin(t);} +real zST(real t) {return 0;} + +real xTL(real t) {return atl*cos(27t);} +real yTL(real t) {return btl*sin(27t);} +real zTL(real t) {return 0;} + + +real xLl(real t) {return Rl*cos(27t);} +real yLl(real t) {return Rl*sin(27t);} +real zLl(real t) {return 0;} + +real xTt(real t) {return Rtl*cos(100t)/5;} +real yTt(real t) {return Rtl*sin(100t)/5;} +real zTt(real t) {return 0;} + +real xl(real t) {return xST(t)+xTL(t)+xLl(t);} +real yl(real t) {return yST(t)+yTL(t)+yLl(t);} +real zl(real t) {return 0;} + +real xt(real t) {return xST(t)+xTt(t);} +real yt(real t) {return yST(t)+yTt(t);} +real zt(real t) {return 0;} + +real xL(real t) {return xST(t)+xTL(t);} +real yL(real t) {return yST(t)+yTL(t);} +real zL(real t) {return 0;} + +path3 Pl=graph(xl,yl,zl,0,2pi,1000),Pt=graph(xt,yt,zt,0,2pi,3000), +Pts=graph(xST,yST,zST,0,2pi,500); + +picture pic; + +draw(pic,Pl,lightgray); +draw(pic,Pt,lightblue); +draw(pic,Pts,blue+dashed); + +draw(pic,shift(cst,0,0)*scale3(Rtl/2)*unitsphere,yellow); + +surface terre=scale3(Rtl/5)*unitsphere; +surface lune=scale3(Rl)*unitsphere; + +int n=50; + +real step=2pi/n; +for(int i=0; i < n; ++i) { + real k=i*step; + add(pic); + draw(shift(xL(k),yL(k),0)*lune,lightgray); + draw(shift(xST(k),yST(k),0)*terre,lightblue+lightgreen); + A.add(); + erase(); +} + +A.movie(BBox(1mm,Fill(Black)),delay=500, + options="-density 288x288 -geometry 50%x"); diff --git a/Master/texmf-dist/doc/asymptote/examples/animations/embeddedmovie.asy b/Master/texmf-dist/doc/asymptote/examples/animations/embeddedmovie.asy new file mode 100644 index 00000000000..98dfd424db8 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/animations/embeddedmovie.asy @@ -0,0 +1,24 @@ +// An embedded movie; +// +// See http://www.tug.org/tex-archive/macros/latex/contrib/movie15/README +// for documentation of the options. + +import embed; // Add embedded movie +//import external; // Add external movie (use this form under Linux). + +// Generated needed mpeg file if it doesn't already exist. +asy("mpg","wheel"); + +// Produce a pdf file. +settings.outformat="pdf"; + +settings.twice=true; + +// An embedded movie: +label(embed("wheel.mpg","poster,text=wheel.mpg,label=wheel.mpg",20cm,5.6cm), + (0,0),N); + +// An optional button: +label(link("wheel.mpg","Play","play"),(0,0),S); + + diff --git a/Master/texmf-dist/doc/asymptote/examples/animations/embeddedu3d.asy b/Master/texmf-dist/doc/asymptote/examples/animations/embeddedu3d.asy new file mode 100644 index 00000000000..1116c216fe2 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/animations/embeddedu3d.asy @@ -0,0 +1,6 @@ +// An embedded U3D object; +// +import embed; + +label(embed("dice.u3d","poster,text=(dice.u3d),3Droo=27,label=dice",settings.paperwidth,settings.paperheight)); + diff --git a/Master/texmf-dist/doc/asymptote/examples/animations/externalmovie.asy b/Master/texmf-dist/doc/asymptote/examples/animations/externalmovie.asy new file mode 100644 index 00000000000..77c99528307 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/animations/externalmovie.asy @@ -0,0 +1,17 @@ +// Embed a movie to be run in an external window. + +import external; + +// External movies require the pdflatex engine. +settings.tex="pdflatex"; + +// Generated needed mpeg file if it doesn't already exist. +asy("mpg","wheel"); + +// Produce a pdf file. +settings.outformat="pdf"; + +// External movie: viewable even with the Linux version of acroread. +label(embed("wheel.mpg"),(0,0),N); + +label(link("wheel.mpg","Play"),(0,0),S); diff --git a/Master/texmf-dist/doc/asymptote/examples/animations/glmovie.asy b/Master/texmf-dist/doc/asymptote/examples/animations/glmovie.asy new file mode 100644 index 00000000000..c3d86481b1b --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/animations/glmovie.asy @@ -0,0 +1,21 @@ +settings.autoplay=true; +settings.loop=true; + +import graph3; +import animate; +currentprojection=orthographic(1,-2,0.5); + +animation A; +int n=25; + +for(int i=0; i < n; ++i) { + picture pic; + size3(pic,6cm); + real k=i/n*pi; + real f(pair z) {return 4cos(abs(z)-k)*exp(-abs(z)/6);} + draw(pic,surface(f,(-4pi,-4pi),(4pi,4pi),Spline),paleblue); + draw(pic,shift(i*6Z/n)*unitsphere,yellow); + A.add(pic); +} + +A.glmovie(); diff --git a/Master/texmf-dist/doc/asymptote/examples/animations/heatequation.asy b/Master/texmf-dist/doc/asymptote/examples/animations/heatequation.asy new file mode 100644 index 00000000000..3c5708e583f --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/animations/heatequation.asy @@ -0,0 +1,76 @@ +import graph3; +import palette; +import animate; + +settings.tex="pdflatex"; +settings.render=0; +settings.prc=false; +unitsize(1cm); + +animation a; + +currentprojection=perspective(-20,-18,18); +currentlight=light(1,1,10); + +int n=26; +real L=2.5; +real dx=2*L/n; +real CFL=0.125; +real dt=CFL*dx^2; + +real[][] Z=new real[n][n]; +real[][] W=new real[n][n]; + +guide initcond1=shift((-1,-1))*scale(0.5)*unitcircle; +guide initcond2=shift((0.5,0))*yscale(1.2)*unitcircle; + +real f(pair p) {return (inside(initcond1,p)||inside(initcond2,p)) ? 2 : 0;} + +//Initialize +for(int i=0; i < n; ++i) + for (int j=0; j < n; ++j) + Z[i][j]=f((-L,-L)+(2*L/n)*(i,j)); + +real f(pair t) { + int i=round((n/2)*(t.x/L+1)); + int j=round((n/2)*(t.y/L+1)); + if(i > n-1) i=n-1; + if(j > n-1) j=n-1; + return Z[i][j]; +} + +surface sf; + +void advanceZ(int iter=20) { + for(int k=0; k < iter; ++k) { + for(int i=0; i < n; ++i) + for(int j=0; j < n; ++j) W[i][j]=0; + for(int i=1; i < n-1; ++i) + for(int j=1; j< n-1; ++j) + W[i][j]=Z[i][j]+(dt/dx^2)*(Z[i+1][j]+Z[i-1][j]+Z[i][j-1]+Z[i][j+1] + -4*Z[i][j]); + for(int i=0; i < n; ++i) + for(int j=0; j < n; ++j) + Z[i][j]=W[i][j]; + }; +} + +pen[] Pal=Rainbow(96); + +int endframe=40; + +for(int fr=0; fr < endframe; ++fr) { + if(fr == 0) {// smoothing of initial state; no Spline, but full grid + advanceZ(3); + sf=surface(f,(-L,-L),(L,L),nx=n); + } else // use Spline and fewer grid points to save memory + sf=surface(f,(-L,-L),(L,L),nx=round(n/2),Spline); + sf.colors(palette(sf.map(zpart),Pal[0:round(48*max(sf).z)])); + draw(sf); + a.add(); + erase(); + advanceZ(30); +}; + +label(a.pdf(delay=400,"controls,loop")); +shipout(bbox(3mm,darkblue+3bp+miterjoin,FillDraw(fillpen=paleblue)),"pdf"); diff --git a/Master/texmf-dist/doc/asymptote/examples/animations/inlinemovie.tex b/Master/texmf-dist/doc/asymptote/examples/animations/inlinemovie.tex new file mode 100644 index 00000000000..5f1eff9d4bb --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/animations/inlinemovie.tex @@ -0,0 +1,55 @@ +\documentclass{article} +\usepackage[inline]{asymptote} +%\usepackage{asymptote} +\usepackage{animate} +\begin{document} + +Here is an inline PDF movie, generated with the commands +\begin{verbatim} +pdflatex inlinemovie +asy inlinemovie-*.asy +pdflatex inlinemovie +\end{verbatim} +or equivalently, +\begin{verbatim} +latexmk -pdf inlinemovie +\end{verbatim} + +\begin{center} +\begin{asy} +import animate; +animation A=animation("movie1"); +real h=2pi/10; + +picture pic; +unitsize(pic,2cm); +for(int i=0; i < 10; ++i) { + draw(pic,expi(i*h)--expi((i+1)*h)); + A.add(pic); +} +label(A.pdf("controls",delay=50,keep=!settings.inlinetex)); +\end{asy} +%Uncomment the following line when not using the [inline] package option: +%\ASYanimategraphics[controls]{50}{movie1}{}{} +\end{center} + +And here is another one, clickable but without the control panel: +\begin{center} +\begin{asy} +import animate; +animation A=animation("movie2"); +real h=2pi/10; + +picture pic; +unitsize(pic,2cm); +for(int i=0; i < 10; ++i) { + draw(pic,expi(-i*h)--expi(-(i+1)*h),red); + A.add(pic); +} +label(A.pdf(keep=!settings.inlinetex)); +\end{asy} +%Uncomment the following line when not using the [inline] package option: +%\ASYanimategraphics[controls]{10}{movie2}{}{} +\end{center} + +\end{document} diff --git a/Master/texmf-dist/doc/asymptote/examples/animations/inlinemovie3.tex b/Master/texmf-dist/doc/asymptote/examples/animations/inlinemovie3.tex new file mode 100644 index 00000000000..5131c652a11 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/animations/inlinemovie3.tex @@ -0,0 +1,44 @@ +\documentclass{article} +\usepackage[inline]{asymptote} +%\usepackage{asymptote} +\usepackage{animate} +\begin{document} + +Here is an inline 3D PDF movie, generated with the commands +\begin{verbatim} +pdflatex inlinemovie3 +asy inlinemovie3-*.asy +pdflatex inlinemovie3 +\end{verbatim} +or equivalently, +\begin{verbatim} +latexmk -pdf inlinemovie3 +\end{verbatim} + +\begin{center} +\begin{asy} +settings.render=4; +settings.prc=false; + +import graph3; +import animate; +currentprojection=orthographic(1,-2,0.5); + +animation A=animation("movie3"); +int n=20; +for(int i=0; i < n; ++i) { + picture pic; + size3(pic,12cm,12cm,8cm); + real k=i/n*pi; + real f(pair z) {return 4cos(abs(z)-k)*exp(-abs(z)/6);} + draw(pic,surface(f,(-4pi,-4pi),(4pi,4pi),Spline),paleblue); + draw(pic,shift(i*6Z/n)*unitsphere,yellow); + A.add(pic); +} +label(A.pdf("autoplay,loop",delay=20,keep=!settings.inlinetex)); +\end{asy} +%Uncomment the following line when not using the [inline] package option: +%\ASYanimategraphics[autoplay,loop]{50}{movie3}{}{} +\end{center} +\end{document} + diff --git a/Master/texmf-dist/doc/asymptote/examples/animations/pdfmovie.asy b/Master/texmf-dist/doc/asymptote/examples/animations/pdfmovie.asy new file mode 100644 index 00000000000..0f9cbc96445 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/animations/pdfmovie.asy @@ -0,0 +1,20 @@ +import animate; +import patterns; + +settings.tex="pdflatex"; + +animation a; + +add("brick",brick(black)); + +int n=20; +for(int i=0; i < 3.5n; ++i) { + picture pic; + size(pic,100); + path g=circle((0,sin(pi/n*i)),1); + fill(pic,g,mediumred); + fill(pic,g,pattern("brick")); + a.add(pic); +} + +label(a.pdf("controls",multipage=false)); diff --git a/Master/texmf-dist/doc/asymptote/examples/animations/slidemovies.asy b/Master/texmf-dist/doc/asymptote/examples/animations/slidemovies.asy new file mode 100644 index 00000000000..205f94fbc85 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/animations/slidemovies.asy @@ -0,0 +1,47 @@ +// Slide demo. +// Command-line options to enable stepping and/or reverse video: +// asy [-u stepping=true] [-u reverse=true] slidedemo + +orientation=Landscape; + +settings.tex="pdflatex"; + +import slide; + +// Optional movie modules: +import animate; // For portable embedded PDF movies +access external; // For portable external movies +access embed; // For non-portable embedded movies + +usersetting(); + +titlepage("Slides with {\tt Asymptote}: Animations","John C. Bowman", + "University of Alberta","\today","http://asymptote.sf.net"); + +title("Embedded PDF movies (portable)"); +animation a=animation("A"); +animation b=animation("B"); +int n=20; +for(int i=0; i < 2n; ++i) { + picture pic; + size(pic,100); + draw(pic,shift(0,sin(pi/n*i))*unitsquare); + a.add(pic); + if(i < 1.5n) b.add(rotate(45)*pic); +} +display(a.pdf("autoplay,loop,controls",multipage=false)); +display(b.pdf("controls",multipage=false)); + +// Generated needed files if they don't already exist. +asy("mpg","wheel"); + +title("External Movie (portable)"); +display(external.embed("wheel.mpg", + "poster,text=wheel.mpg,label=wheel.mpg",20cm,5.6cm)); +display(external.link("wheel.mpg","Play","play")); + +title("Embedded Movie (not portable)"); +display(embed.embed("wheel.mpg", + "poster,text=wheel.mpg,label=wheel.mpg", + 20cm,5.6cm)); +display(embed.link("wheel.mpg","Play","play")); diff --git a/Master/texmf-dist/doc/asymptote/examples/animations/sphere.asy b/Master/texmf-dist/doc/asymptote/examples/animations/sphere.asy new file mode 100644 index 00000000000..125cecc5566 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/animations/sphere.asy @@ -0,0 +1,42 @@ +import solids; +import animation; + +currentprojection=orthographic((0,5,2)); +currentlight=(0,5,5); + +settings.thick=false; +settings.render=0; + +int nbpts=200; +real step=2*pi/nbpts; +int angle=10; + +unitsize(1cm); + +triple[] P=new triple[nbpts]; +for(int i=0; i < nbpts; ++i) { + real t=-pi+i*step; + P[i]=(3sin(t)*cos(2t),3sin(t)*sin(2t),3cos(t)); +} + +transform3 t=rotate(angle,(0,0,0),(1,0.25,0.25)); +revolution r=sphere(O,3); +draw(surface(r),lightgrey); +draw(r,backpen=linetype("8 8",8)); + +animation A; + +for(int phi=0; phi < 360; phi += angle) { + bool[] front=new bool[nbpts]; + save(); + for(int i=0; i < nbpts; ++i) { + P[i]=t*P[i]; + front[i]=dot(P[i],currentprojection.camera) > 0; + } + draw(segment(P,front,operator ..),1mm+blue+extendcap); + draw(segment(P,!front,operator ..),grey); + A.add(); + restore(); +} + +A.movie(0,200); diff --git a/Master/texmf-dist/doc/asymptote/examples/animations/torusanimation.asy b/Master/texmf-dist/doc/asymptote/examples/animations/torusanimation.asy new file mode 100644 index 00000000000..74a5df43278 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/animations/torusanimation.asy @@ -0,0 +1,43 @@ +import graph3; +import animation; +import solids; + +currentprojection=perspective(50,40,20); + +currentlight=(0,5,5); + +real R=3; +real a=1; +int n=8; + +path3[] p=new path3[n]; +animation A; + +for(int i=0; i < n; ++i) { + triple g(real s) { + real twopi=2*pi; + real u=twopi*s; + real v=twopi/(1+i+s); + real cosu=cos(u); + return((R-a*cosu)*cos(v),(R-a*cosu)*sin(v),-a*sin(u)); + } + p[i]=graph(g,0,1,operator ..); +} + +triple f(pair t) { + real costy=cos(t.y); + return((R+a*costy)*cos(t.x),(R+a*costy)*sin(t.x),a*sin(t.y)); +} + +surface s=surface(f,(0,0),(2pi,2pi),8,8,Spline); + +for(int i=0; i < n; ++i){ + picture fig; + size(fig,20cm); + draw(fig,s,yellow); + for(int j=0; j <= i; ++j) + draw(fig,p[j],blue+linewidth(4)); + A.add(fig); +} + +A.movie(BBox(10,Fill(rgb(0.98,0.98,0.9))),delay=100); diff --git a/Master/texmf-dist/doc/asymptote/examples/animations/wavepacket.asy b/Master/texmf-dist/doc/asymptote/examples/animations/wavepacket.asy new file mode 100644 index 00000000000..006fbce1543 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/animations/wavepacket.asy @@ -0,0 +1,86 @@ +// Author : Philippe Ivaldi +// http://www.piprime.fr/ +// 2006/11/10 + +import animation; +import graph; + +unitsize(x=2cm,y=1.5cm); + +typedef real realfcn(real); + +real lambda=4; +real T=2; +real [] k=new real[3]; +real [] w=new real[3]; +k[0]=2pi/lambda; +w[0]=2pi/T; +real dk=-.5; +k[1]=k[0]-dk; +k[2]=k[0]+dk; +real dw=1; +w[1]=w[0]-dw; +w[2]=w[0]+dw; + +real vp=w[1]/k[1]; +real vg=dw/dk; + +realfcn F(real x) { + return new real(real t) { + return cos(k[1]*x-w[1]*t)+cos(k[2]*x-w[2]*t); + }; +}; + +realfcn G(real x) { + return new real(real t) { + return 2*cos(0.5*(k[2]-k[1])*x+0.5*(w[1]-w[2])*t); + }; +}; + +realfcn operator -(realfcn f) {return new real(real t) {return -f(t);};}; + +animation A; + +real tmax=abs(2pi/dk); +real xmax=abs(2pi/dw); + +pen envelope=0.8*blue; +pen fillpen=lightgrey; + +int n=50; +real step=tmax/(n-1); +for(int i=0; i < n; ++i) { + save(); + real t=i*step; + real a=xmax*t/tmax-xmax/pi; + real b=xmax*t/tmax; + path f=graph(F(t),a,b); + path g=graph(G(t),a,b); + path h=graph(-G(t),a,b); + fill(buildcycle(reverse(f),g),fillpen); + draw(f); + draw(g,envelope); + draw(h,envelope); + A.add(); + restore(); +} + +for(int i=0; i < n; ++i) { + save(); + real t=i*step; + real a=-xmax/pi; + real b=xmax; + path f=graph(F(t),a,b); + path g=graph(G(t),a,b); + path h=graph(-G(t),a,b); + path B=box((-xmax/pi,-2),(xmax,2)); + fill(buildcycle(reverse(f),g,B),fillpen); + fill(buildcycle(f,g,reverse(B)),fillpen); + draw(f); + draw(g,envelope); + draw(h,envelope); + A.add(); + restore(); +} + +A.movie(0,10); diff --git a/Master/texmf-dist/doc/asymptote/examples/animations/wheel.asy b/Master/texmf-dist/doc/asymptote/examples/animations/wheel.asy new file mode 100644 index 00000000000..6620d590850 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/animations/wheel.asy @@ -0,0 +1,63 @@ +import graph; + +// Uncomment the following 2 lines to support pdf animations: +// usepackage("animate"); +// settings.tex="pdflatex"; + +import animation; + +size(0,200); + +defaultpen(3); +dotfactor=4; + +pair wheelpoint(real t) +{ + return (t+cos(t),-sin(t)); +} + +guide wheel(guide g=nullpath, real a, real b, int n) +{ + real width=(b-a)/n; + for(int i=0; i <= n; ++i) { + real t=a+width*i; + g=g--wheelpoint(t); + } + return g; +} + +real t1=0; +real t2=t1+2*pi; + +animation a; + +draw(circle((0,0),1)); +draw(wheel(t1,t2,100),linetype("0 2")); +yequals(Label("$y=-1$",1.0),-1,extend=true,linetype("4 4")); +xaxis(Label("$x$",align=3SW),0); +yaxis("$y$",0,1.2); +pair z1=wheelpoint(t1); +pair z2=wheelpoint(t2); +dot(z1); +dot(z2); + +int n=10; +real dt=(t2-t1)/n; +for(int i=0; i <= n; ++i) { + save(); + + real t=t1+dt*i; + draw(circle((t,0),1),red); + dot(wheelpoint(t)); + + a.add(); // Add currentpicture to animation. + restore(); +} + +erase(); + +// Merge the images into a gif animation. +a.movie(BBox(0.25cm),loops=10,delay=250); + +// Merge the images into a pdf animation. +// label(a.pdf(BBox(0.25cm),delay=250,"controls",multipage=false)); diff --git a/Master/texmf-dist/doc/asymptote/examples/annotation.asy b/Master/texmf-dist/doc/asymptote/examples/annotation.asy new file mode 100644 index 00000000000..d52e15b4f76 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/annotation.asy @@ -0,0 +1,13 @@ +import annotate; +settings.outformat="pdf"; + +size(200); + +draw(unitcircle); +dot((0,0)); +annotate("O","(0,0)",(0,0)); +annotate("A","(1,0)",(1,0)); +annotate("B","(0,1)",(0,1)); +annotate("C","(-1,0)",(-1,0)); +annotate("D","(0,-1)",(0,-1)); + diff --git a/Master/texmf-dist/doc/asymptote/examples/arrows3.asy b/Master/texmf-dist/doc/asymptote/examples/arrows3.asy new file mode 100644 index 00000000000..57fc4b3d338 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/arrows3.asy @@ -0,0 +1,22 @@ +import three; + +size(15cm); + +defaultrender.merge=true; + +currentprojection=perspective(24,14,13); +currentlight=light(gray(0.5),specularfactor=3,viewport=false, + (0.5,-0.5,-0.25),(0.5,0.5,0.25),(0.5,0.5,1),(-0.5,-0.5,-1)); + +defaultpen(0.75mm); + +path3 g=arc(O,1,90,-60,90,60); +transform3 t=shift(invert(3S,O)); + +draw(g,blue,Arrows3(TeXHead3),currentlight); +draw(scale3(3)*g,green,ArcArrows3(HookHead3),currentlight); +draw(scale3(6)*g,red,Arrows3(DefaultHead3),currentlight); + +draw(t*g,blue,Arrows3(TeXHead2),currentlight); +draw(t*scale3(3)*g,green,ArcArrows3(HookHead2,NoFill),currentlight); +draw(t*scale3(6)*g,red,Arrows3(DefaultHead2(normal=Z)),currentlight); diff --git a/Master/texmf-dist/doc/asymptote/examples/axis3.asy b/Master/texmf-dist/doc/asymptote/examples/axis3.asy new file mode 100644 index 00000000000..90cbdc6ad09 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/axis3.asy @@ -0,0 +1,12 @@ +import graph3; + +size(0,200); +size3(200,IgnoreAspect); + +currentprojection=perspective(5,2,2); + +scale(Linear,Linear,Log); + +xaxis3("$x$",0,1,red,OutTicks(2,2)); +yaxis3("$y$",0,1,red,OutTicks(2,2)); +zaxis3("$z$",1,30,red,OutTicks(beginlabel=false)); diff --git a/Master/texmf-dist/doc/asymptote/examples/bars3.asy b/Master/texmf-dist/doc/asymptote/examples/bars3.asy new file mode 100644 index 00000000000..4205d46f37c --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/bars3.asy @@ -0,0 +1,22 @@ +import three; +import palette; +import graph3; + +size(300); + +currentprojection=perspective(-30,-30,30,up=Z); + +surface s; + +for(int i = 0; i < 10; ++i) { + for(int j = 0; j < 10; ++j) { + s.append(shift(i,j,0)*scale(1,1,i+j)*unitcube); + } +} + +s.colors(palette(s.map(zpart),Rainbow())); +draw(s,meshpen=black+thick(),nolight,render(merge=true)); + +xaxis3("$x$",Bounds,InTicks(endlabel=false,Label,2,2)); +yaxis3(YZ()*"$y$",Bounds,InTicks(beginlabel=false,Label,2,2)); +zaxis3(XZ()*"$z$",Bounds,InTicks); diff --git a/Master/texmf-dist/doc/asymptote/examples/basealign.asy b/Master/texmf-dist/doc/asymptote/examples/basealign.asy new file mode 100644 index 00000000000..d653ec3c043 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/basealign.asy @@ -0,0 +1,44 @@ +import fontsize; +import three; + +settings.autobillboard=false; +settings.embed=false; +currentprojection=orthographic(Z); + +defaultpen(fontsize(100pt)); + +dot(O); + +label("acg",O,align=N,basealign); +label("ace",O,align=N,red); +label("acg",O,align=S,basealign); +label("ace",O,align=S,red); +label("acg",O,align=E,basealign); +label("ace",O,align=E,red); +label("acg",O,align=W,basealign); +label("ace",O,align=W,red); + +picture pic; +dot(pic,(labelmargin(),0,0),blue); +dot(pic,(-labelmargin(),0,0),blue); +dot(pic,(0,labelmargin(),0),blue); +dot(pic,(0,-labelmargin(),0),blue); +add(pic,O); + +dot((0,0)); + +label("acg",(0,0),align=N,basealign); +label("ace",(0,0),align=N,red); +label("acg",(0,0),align=S,basealign); +label("ace",(0,0),align=S,red); +label("acg",(0,0),align=E,basealign); +label("ace",(0,0),align=E,red); +label("acg",(0,0),align=W,basealign); +label("ace",(0,0),align=W,red); + +picture pic; +dot(pic,(labelmargin(),0),blue); +dot(pic,(-labelmargin(),0),blue); +dot(pic,(0,labelmargin()),blue); +dot(pic,(0,-labelmargin()),blue); +add(pic,(0,0)); diff --git a/Master/texmf-dist/doc/asymptote/examples/bezier.asy b/Master/texmf-dist/doc/asymptote/examples/bezier.asy new file mode 100644 index 00000000000..1c168042c05 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/bezier.asy @@ -0,0 +1 @@ +label("$(1-t)^3z_0+3t(1-t)^2c_0+3t^2(1-t)c_1+t^3z_1\qquad 0\le t\le 1$.",(0,0)); diff --git a/Master/texmf-dist/doc/asymptote/examples/bezier2.asy b/Master/texmf-dist/doc/asymptote/examples/bezier2.asy new file mode 100644 index 00000000000..745fb649dd1 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/bezier2.asy @@ -0,0 +1,21 @@ +import beziercurve; + +pair midpoint(pair a, pair b) {return interp(a,b,0.5);} + +pair m0=midpoint(z0,c0); +pair m1=midpoint(c0,c1); +pair m2=midpoint(c1,z1); + +draw(m0--m1--m2,dashed); +dot("$m_0$",m0,NW,red); +dot("$m_1$",m1,N,red); +dot("$m_2$",m2,red); + +pair m3=midpoint(m0,m1); +pair m4=midpoint(m1,m2); +pair m5=midpoint(m3,m4); + +draw(m3--m4,dashed); +dot("$m_3$",m3,NW,red); +dot("$m_4$",m4,NE,red); +dot("$m_5$",m5,N,red); diff --git a/Master/texmf-dist/doc/asymptote/examples/beziercurve.asy b/Master/texmf-dist/doc/asymptote/examples/beziercurve.asy new file mode 100644 index 00000000000..338109bbd6e --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/beziercurve.asy @@ -0,0 +1,12 @@ +size(400); +pair z0=(0,0); +pair c0=(1,1); +pair c1=(2,1); +pair z1=(3,0); +draw(z0..controls c0 and c1 .. z1,blue); + +draw(z0--c0--c1--z1,dashed); +dot("$z_0$",z0,W,red); +dot("$c_0$",c0,NW,red); +dot("$c_1$",c1,NE,red); +dot("$z_1$",z1,red); diff --git a/Master/texmf-dist/doc/asymptote/examples/bigdiagonal.asy b/Master/texmf-dist/doc/asymptote/examples/bigdiagonal.asy new file mode 100644 index 00000000000..7242b7ae845 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/bigdiagonal.asy @@ -0,0 +1,2 @@ +size(0,100.5); +draw((0,0)--(2,1),Arrow); diff --git a/Master/texmf-dist/doc/asymptote/examples/billboard.asy b/Master/texmf-dist/doc/asymptote/examples/billboard.asy new file mode 100644 index 00000000000..6e5df871007 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/billboard.asy @@ -0,0 +1,10 @@ +import three; + +size(100); + +currentprojection=perspective(1,-2,1); + +draw(unitbox); + +label("Billboard",X,red,Billboard); +label("Embedded",Y,blue,Embedded); diff --git a/Master/texmf-dist/doc/asymptote/examples/binarytreetest.asy b/Master/texmf-dist/doc/asymptote/examples/binarytreetest.asy new file mode 100644 index 00000000000..0078bb749e0 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/binarytreetest.asy @@ -0,0 +1,13 @@ +import binarytree; + +picture pic,pic2; + +binarytree bt=binarytree(1,2,4,nil,5,nil,nil,0,nil,nil,3,6,nil,nil,7); +draw(pic,bt); + +binarytree st=searchtree(10,5,2,1,3,4,7,6,8,9,15,13,12,11,14,17,16,18,19); +draw(pic2,st,blue); + +add(pic.fit(),(0,0),10N); +add(pic2.fit(),(0,0),10S); + diff --git a/Master/texmf-dist/doc/asymptote/examples/brokenaxis.asy b/Master/texmf-dist/doc/asymptote/examples/brokenaxis.asy new file mode 100644 index 00000000000..9de9fa414d3 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/brokenaxis.asy @@ -0,0 +1,25 @@ +import graph; + +size(200,150,IgnoreAspect); + +// Break the x axis at 3; restart at 8: +real a=3, b=8; + +// Break the y axis at 100; restart at 1000: +real c=100, d=1000; + +scale(Broken(a,b),BrokenLog(c,d)); + +real[] x={1,2,4,6,10}; +real[] y=x^4; + +draw(graph(x,y),red,MarkFill[0]); + +xaxis("$x$",BottomTop,LeftTicks(Break(a,b))); +yaxis("$y$",LeftRight,RightTicks(Break(c,d))); + +label(rotate(90)*Break,(a,point(S).y)); +label(rotate(90)*Break,(a,point(N).y)); +label(Break,(point(W).x,ScaleY(c))); +label(Break,(point(E).x,ScaleY(c))); + diff --git a/Master/texmf-dist/doc/asymptote/examples/buildcycle.asy b/Master/texmf-dist/doc/asymptote/examples/buildcycle.asy new file mode 100644 index 00000000000..e4e7f8c7c96 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/buildcycle.asy @@ -0,0 +1,22 @@ +size(200); + +real w=1.35; + +path[] p; +for(int k=0; k < 2; ++k) { + int i=2+2*k; + int ii=i^2; + p[k]=(w/ii,1){1,-ii}::(w/i,1/i)::(w,1/ii){ii,-1}; +} + +path q0=(0,0)--(w,0.5); +path q1=(0,0)--(w,1.5); +draw(q0); draw(p[0]); draw(q1); draw(p[1]); +path s=buildcycle(q0,p[0],q1,p[1]); +fill(s,mediumgrey); + +label("$P$",intersectionpoint(p[0],q0),N); +label("$Q$",intersectionpoint(p[0],q1),E); +label("$R$",intersectionpoint(p[1],q1),W); +label("$S$",intersectionpoint(p[1],q0),S); +label("$f > 0$",0.5*(min(s)+max(s)),UnFill); diff --git a/Master/texmf-dist/doc/asymptote/examples/cardioid.asy b/Master/texmf-dist/doc/asymptote/examples/cardioid.asy new file mode 100644 index 00000000000..49a3c55207e --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/cardioid.asy @@ -0,0 +1,15 @@ +import graph; + +size(0,100); + +real f(real t) {return 1+cos(t);} + +path g=polargraph(f,0,2pi,operator ..)--cycle; +filldraw(g,pink); + +xaxis("$x$",above=true); +yaxis("$y$",above=true); + +dot("$(a,0)$",(1,0),N); +dot("$(2a,0)$",(2,0),N+E); + diff --git a/Master/texmf-dist/doc/asymptote/examples/cards.asy b/Master/texmf-dist/doc/asymptote/examples/cards.asy new file mode 100644 index 00000000000..337a886ec86 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/cards.asy @@ -0,0 +1,26 @@ +picture rect; + +size(rect,0,2.5cm); + +real x=1; +real y=1.25; + +filldraw(rect,box((-x,-y)/2,(x,y)/2),lightolive); + +label(rect,"1",(-x,y)*0.45,SE); +label(rect,"2",(x,y)*0.45,SW); +label(rect,"3",(-x,-y)*0.45,NE); +label(rect,"4",(x,-y)*0.45,NW); + +frame rectf=rect.fit(); +frame toplef=rectf; +frame toprig=xscale(-1)*rectf; +frame botlef=yscale(-1)*rectf; +frame botrig=xscale(-1)*yscale(-1)*rectf; + +size(0,7.5cm); + +add(toplef,(-x,y)); +add(toprig,(x,y)); +add(botlef,(-x,-y)); +add(botrig,(x,-y)); diff --git a/Master/texmf-dist/doc/asymptote/examples/centroidfg.asy b/Master/texmf-dist/doc/asymptote/examples/centroidfg.asy new file mode 100644 index 00000000000..2e26454cdbe --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/centroidfg.asy @@ -0,0 +1,38 @@ +import graph; +size(0,150); + +int a=-1, b=1; + +real f(real x) {return x^3-x+2;} +real g(real x) {return x^2;} + +draw(graph(f,a,b,operator ..),red); +draw(graph(g,a,b,operator ..),blue); + +xaxis(); + +int n=5; + +real width=(b-a)/(real) n; +for(int i=0; i <= n; ++i) { + real x=a+width*i; + draw((x,g(x))--(x,f(x))); +} + +labelx("$a$",a); +labelx("$b$",b); +draw((a,0)--(a,g(a)),dotted); +draw((b,0)--(b,g(b)),dotted); + +real m=a+0.73*(b-a); +arrow("$f(x)$",(m,f(m)),N,red); +arrow("$g(x)$",(m,g(m)),E,0.8cm,blue); + +int j=2; +real xi=b-j*width; +real xp=xi+width; +real xm=0.5*(xi+xp); +pair dot=(xm,0.5*(f(xm)+g(xm))); +dot(dot,darkgreen+4.0); +arrow("$\left(x,\frac{f(x)+g(x)}{2}\right)$",dot,NE,2cm,darkgreen); + diff --git a/Master/texmf-dist/doc/asymptote/examples/cheese.asy b/Master/texmf-dist/doc/asymptote/examples/cheese.asy new file mode 100644 index 00000000000..9a16e4130dc --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/cheese.asy @@ -0,0 +1,12 @@ +import graph3; +import palette; +import contour3; +size(400); + +real f(real x, real y, real z) { + return cos(x)*sin(y)+cos(y)*sin(z)+cos(z)*sin(x); +} + +surface sf=surface(contour3(f,(-2pi,-2pi,-2pi),(2pi,2pi,2pi),12)); +sf.colors(palette(sf.map(abs),Gradient(red,yellow))); +draw(sf,nolight,render(merge=true)); diff --git a/Master/texmf-dist/doc/asymptote/examples/circles.asy b/Master/texmf-dist/doc/asymptote/examples/circles.asy new file mode 100644 index 00000000000..69f5cf244a4 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/circles.asy @@ -0,0 +1,33 @@ +size(6cm,0); +import math; + +currentpen=magenta; + +real r1=1; +real r2=sqrt(7); +real r3=4; +pair O=0; + +path c1=circle(O,r1); +draw(c1,green); +draw(circle(O,r2),green); +draw(circle(O,r3),green); + +real x=-0.6; +real y=-0.8; +real yD=0.3; +pair A=(sqrt(r1^2-y^2),y); +pair B=(-sqrt(r2^2-y^2),y); +pair C=(x,sqrt(r3^2-x^2)); + +pair d=A+r2*dir(B--C); +pair D=intersectionpoint(c1,A--d); + +draw(A--B--C--cycle); +draw(interp(A,D,-0.5)--interp(A,D,1.5),blue); + +dot("$O$",O,S,red); +dot("$A$",A,dir(C--A,B--A),red); +dot("$B$",B,dir(C--B,A--B),red); +dot("$C$",C,dir(A--C,B--C),red); +dot("$D$",D,red); diff --git a/Master/texmf-dist/doc/asymptote/examples/clockarray.asy b/Master/texmf-dist/doc/asymptote/examples/clockarray.asy new file mode 100644 index 00000000000..be7fd899a0e --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/clockarray.asy @@ -0,0 +1,39 @@ +int nx=3; +int ny=4; +real xmargin=1cm; +real ymargin=xmargin; + +size(settings.paperwidth,settings.paperheight); + +picture pic; +real width=settings.paperwidth/nx-xmargin; +real height=settings.paperheight/ny-ymargin; +if(width <= 0 || height <= 0) abort("margin too big"); +size(pic,width,height); + +pen p=linewidth(0.5mm); +draw(pic,unitcircle,p); + +real h=0.08; +real m=0.05; + +for(int hour=1; hour <= 12; ++hour) { + pair z=dir((12-hour+3)*30); + label(pic,string(hour),z,z); + draw(pic,z--(1-h)*z,p); +} + +for(int minutes=0; minutes < 60; ++minutes) { + pair z=dir(6*minutes); + draw(pic,z--(1-m)*z); +} + +dot(pic,(0,0)); + +frame f=pic.fit(); +pair size=size(f)+(xmargin,ymargin); + +for(int i=0; i < nx; ++i) + for(int j=0; j < ny; ++j) + add(shift(realmult(size,(i,j)))*f); + diff --git a/Master/texmf-dist/doc/asymptote/examples/coag.asy b/Master/texmf-dist/doc/asymptote/examples/coag.asy new file mode 100644 index 00000000000..de976cb145b --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/coag.asy @@ -0,0 +1,16 @@ +size(0,200); +import graph; + +pair z0=(0,0); +pair m0=(0,1); +pair tg=(1.5,0); +pair mt=m0+tg; +pair tf=(3,0); + +draw(m0--mt{dir(-70)}..{dir(0)}2tg+m0/4); +xtick("$T_g$",tg,N); +label("$M(t)$",mt,2NE); +labely("$M_0$",m0); + +xaxis(Label("$t$",align=2S),Arrow); +yaxis(Arrow); diff --git a/Master/texmf-dist/doc/asymptote/examples/colons.asy b/Master/texmf-dist/doc/asymptote/examples/colons.asy new file mode 100644 index 00000000000..3cdb6b42962 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/colons.asy @@ -0,0 +1 @@ +draw((0,0){up}::(100,25){right}::(200,0){down}); diff --git a/Master/texmf-dist/doc/asymptote/examples/colorplanes.asy b/Master/texmf-dist/doc/asymptote/examples/colorplanes.asy new file mode 100644 index 00000000000..16bef25b545 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/colorplanes.asy @@ -0,0 +1,22 @@ +size(6cm,0); +import bsp; + +real u=2.5; +real v=1; + +currentprojection=oblique; + +path3 y=plane((2u,0,0),(0,2v,0),(-u,-v,0)); +path3 l=rotate(90,Z)*rotate(90,Y)*y; +path3 g=rotate(90,X)*rotate(90,Y)*y; + +face[] faces; +pen[] p={red,green,blue,black}; +int[] edges={0,0,0,2}; +gouraudshade(faces.push(y),project(y),p,edges); +gouraudshade(faces.push(l),project(l),p,edges); +gouraudshade(faces.push(g),project(g),new pen[]{cyan,magenta,yellow,black}, + edges); + +add(faces); + diff --git a/Master/texmf-dist/doc/asymptote/examples/colors.asy b/Master/texmf-dist/doc/asymptote/examples/colors.asy new file mode 100644 index 00000000000..ea576379deb --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/colors.asy @@ -0,0 +1,116 @@ +int i=0; +int j=0; + +bool components=false; + +pen p; + +void col(bool fill=false ... string[] s) { + for(int n=0; n < s.length; ++n) { + j -= 10; + string s=s[n]; + eval("p="+s+";",true); + if(components) { + real[] a=colors(p); + for(int i=0; i < a.length; ++i) + s += " "+(string) a[i]; + } + if(fill) label(s,(i+10,j),E,p,Fill(gray)); + else label(s,(i+10,j),E,p); + fill(box((i,j-5),(i+10,j+5)),p); + } +} + +col("palered"); +col("lightred"); +col("mediumred"); +col("red"); +col("heavyred"); +col("brown"); +col("darkbrown"); +j -= 10; + +col("palegreen"); +col("lightgreen"); +col("mediumgreen"); +col("green"); +col("heavygreen"); +col("deepgreen"); +col("darkgreen"); +j -= 10; + +col("paleblue"); +col("lightblue"); +col("mediumblue"); +col("blue"); +col("heavyblue"); +col("deepblue"); +col("darkblue"); +j -= 10; + +i += 150; +j=0; + +col("palecyan"); +col("lightcyan"); +col("mediumcyan"); +col("cyan"); +col("heavycyan"); +col("deepcyan"); +col("darkcyan"); +j -= 10; + +col("pink"); +col("lightmagenta"); +col("mediummagenta"); +col("magenta"); +col("heavymagenta"); +col("deepmagenta"); +col("darkmagenta"); +j -= 10; + +col("paleyellow"); +col("lightyellow"); +col("mediumyellow"); +col("yellow"); +col("lightolive"); +col("olive"); +col("darkolive"); +j -= 10; + +col("palegray"); +col("lightgray"); +col("mediumgray"); +col("gray"); +col("heavygray"); +col("deepgray"); +col("darkgray"); +j -= 10; + +i += 150; +j=0; + +col("black"); +col("white",fill=true); +j -= 10; + +col("orange"); +col("fuchsia"); +j -= 10; +col("chartreuse"); +col("springgreen"); +j -= 10; +col("purple"); +col("royalblue"); +j -= 10; + +col("Cyan"); +col("Magenta"); +col("Yellow"); +col("Black"); + +j -= 10; + +col("cmyk(red)"); +col("cmyk(blue)"); +col("cmyk(green)"); diff --git a/Master/texmf-dist/doc/asymptote/examples/condor.asy b/Master/texmf-dist/doc/asymptote/examples/condor.asy new file mode 100644 index 00000000000..5ce5caa2412 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/condor.asy @@ -0,0 +1,32 @@ +// Peter Luschny's Condor function +// http://www.luschny.de/math/asy/ElCondorYElGamma.html + +import palette; +import graph3; + +size(300,300,IgnoreAspect); +currentprojection=orthographic(0,-1,0,center=true); +currentlight=White; +real K=7; + +triple condor(pair t) +{ + real y=t.y; + real x=t.x*y; + real e=gamma(y+1); + real ymx=y-x; + real ypx=y+x; + real a=gamma((ymx+1)/2); + real b=gamma((ymx+2)/2); + real c=gamma((ypx+1)/2); + real d=gamma((ypx+2)/2); + real A=cos(pi*ymx); + real B=cos(pi*ypx); + return (x,y,log(e)+log(a)*((A-1)/2)+log(b)*((-A-1)/2)+log(c)*((B-1)/2)+ + log(d)*((-B-1)/2)); +} + +surface s=surface(condor,(-1,0),(1,K),16,Spline); +s.colors(palette(s.map(zpart),Rainbow())); + +draw(s,render(compression=Low,merge=true)); diff --git a/Master/texmf-dist/doc/asymptote/examples/cones.asy b/Master/texmf-dist/doc/asymptote/examples/cones.asy new file mode 100644 index 00000000000..e63a4281251 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/cones.asy @@ -0,0 +1,18 @@ +import solids; + +size(200); +currentprojection=orthographic(5,4,2); + +render render=render(compression=Low,merge=true); + +revolution upcone=cone(-Z,1,1); +revolution downcone=cone(Z,1,-1); +draw(surface(upcone),green,render); +draw(surface(downcone),green,render); +draw(upcone,5,blue,longitudinalpen=nullpen); +draw(downcone,5,blue,longitudinalpen=nullpen); + +revolution cone=shift(2Y-2X)*cone(1,1); + +draw(surface(cone),green,render); +draw(cone,5,blue); diff --git a/Master/texmf-dist/doc/asymptote/examples/conicurv.asy b/Master/texmf-dist/doc/asymptote/examples/conicurv.asy new file mode 100644 index 00000000000..cb678710c11 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/conicurv.asy @@ -0,0 +1,49 @@ +// Original name : conicurv.mp +// Author : L. Nobre G. +// Translators : J. Pienaar (2004) and John Bowman (2005) + +import three; +texpreamble("\usepackage{bm}"); + +size(300,0); + +currentprojection=perspective(10,-5,5.44); + +real theta=30, width=3, shortradius=2, bord=2, refsize=1, vecsize=2; +real height=0.3, anglar=1.75, totup=3; +real longradius=shortradius+width*Cos(theta), updiff=width*Sin(theta); + +triple iplow=(0,shortradius,0), iphig=(0,longradius,updiff); +triple oplow=(-shortradius,0,0), ophig=(-longradius,0,updiff); +triple aplow=-iplow, aphig=(0,-longradius,updiff); +triple eplow=-oplow, ephig=(longradius,0,updiff); +triple anglebase=(0,longradius,0), centre=interp(iplow,iphig,0.5)+(0,0,height); +triple central=(0,0,centre.z), refo=(0,0.5*centre.y,centre.z); +triple refx=refsize*(0,Cos(theta),Sin(theta)); +triple refy=refsize*(0,-Sin(theta),Cos(theta)); + +draw("$\theta$",arc(iplow,iplow+0.58*(iphig-iplow),anglebase),E); + +draw(central,linewidth(2bp)); +draw(iplow--iphig); +draw(oplow--ophig); +draw(aplow--aphig); +draw(eplow--ephig); +draw(iphig--anglebase--aplow,dashed); +draw(oplow--eplow,dashed); +draw(central--centre,dashed); + +draw((0,0,-bord)--(0,longradius+bord,-bord)--(0,longradius+bord,totup) + --(0,0,totup)--cycle); +draw(Label("$y$",1),refo--refo+refy,SW,Arrow3); +draw(Label("$x$",1),refo--refo+refx,SE,Arrow3); + +draw(Label("$\vec{R}_N$",1),centre--centre+vecsize*refy,E,Arrow3); +draw(Label("$\vec{F}_a$",1),centre--centre+vecsize*refx,N,Arrow3); +draw(Label("$\vec{F}_c$",1),centre--centre+vecsize*Y,NE,Arrow3); +draw(Label("$\vec{P}$",1),centre--centre-vecsize*Z,E,Arrow3); +draw(Label("$\vec{v}$",1),centre--centre+vecsize*X,E,Arrow3); +draw(centre,10pt+blue); + +draw(circle((0,0,updiff),longradius),linewidth(2bp)); +draw(circle(O,shortradius),linewidth(2bp)); diff --git a/Master/texmf-dist/doc/asymptote/examples/contextfonts.asy b/Master/texmf-dist/doc/asymptote/examples/contextfonts.asy new file mode 100644 index 00000000000..39177abdba3 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/contextfonts.asy @@ -0,0 +1,10 @@ +settings.tex="context"; +// Work around ConTeXT bug for font sizes less than 12pt: +texpreamble("\setupbodyfont[8pt]"); + +usetypescript("iwona"); +usetypescript("antykwa-torunska"); + +label("$A$",0,N,font("iwona")); +label("$A$",0,S,font("antykwa",8pt)+red); + diff --git a/Master/texmf-dist/doc/asymptote/examples/controlsystem.asy b/Master/texmf-dist/doc/asymptote/examples/controlsystem.asy new file mode 100644 index 00000000000..bfd8336f1f6 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/controlsystem.asy @@ -0,0 +1,25 @@ +size(0,4cm); +import flowchart; + +block delay=roundrectangle("$e^{-sT_t}$",(0.33,0)); +block system=roundrectangle("$\frac{s+3}{s^2+0.3s+1}$",(0.6,0)); +block controller=roundrectangle("$0.06\left( 1 + \frac{1}{s}\right)$", + (0.45,-0.25)); +block sum1=circle("",(0.15,0),mindiameter=0.3cm); +block junction1=circle("",(0.75,0),fillpen=currentpen); + +draw(delay); +draw(system); +draw(controller); +draw(sum1); +draw(junction1); + +add(new void(picture pic, transform t) { + blockconnector operator --=blockconnector(pic,t); + + block(0,0)--Label("$u$",align=N)--Arrow--sum1--Arrow--delay--Arrow-- + system--junction1--Label("$y$",align=N)--Arrow--block(1,0); + + junction1--Down--Left--Arrow--controller--Left--Up-- + Label("$-$",position=3,align=ESE)--Arrow--sum1; + }); diff --git a/Master/texmf-dist/doc/asymptote/examples/cos2theta.asy b/Master/texmf-dist/doc/asymptote/examples/cos2theta.asy new file mode 100644 index 00000000000..1be0c519fb1 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/cos2theta.asy @@ -0,0 +1,15 @@ +import graph; +size(0,100); + +real f(real t) {return cos(2*t);} + +path g=polargraph(f,0,2pi,operator ..)--cycle; +fill(g,green+white); +xaxis("$x$",above=true); +yaxis("$y$",above=true); +draw(g); + +dot(Label,(1,0),NE); +dot(Label,(0,1),NE); + + diff --git a/Master/texmf-dist/doc/asymptote/examples/cos3.asy b/Master/texmf-dist/doc/asymptote/examples/cos3.asy new file mode 100644 index 00000000000..ef8054d6627 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/cos3.asy @@ -0,0 +1,25 @@ +import graph3; +import palette; + +size(12cm,IgnoreAspect); +currentprojection=orthographic(1,-2,1); + +real f(pair z) {return abs(cos(z));} + +real Arg(triple v) {return degrees(cos((v.x,v.y)),warn=false);} + +surface s=surface(f,(-pi,-2),(pi,2),20,Spline); + +s.colors(palette(s.map(Arg),Wheel())); +draw(s,render(compression=Low,merge=true)); + +real xmin=point((-1,-1,-1)).x; +real xmax=point((1,1,1)).x; +draw((xmin,0,0)--(xmax,0,0),dashed); + +xaxis3("$\mathop{\rm Re} z$",Bounds,InTicks); +yaxis3("$\mathop{\rm Im} z$",Bounds,InTicks(beginlabel=false)); +zaxis3("$|\cos(z)|$",Bounds,InTicks); + + + diff --git a/Master/texmf-dist/doc/asymptote/examples/cosaddition.asy b/Master/texmf-dist/doc/asymptote/examples/cosaddition.asy new file mode 100644 index 00000000000..f6ce8de62a4 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/cosaddition.asy @@ -0,0 +1,26 @@ +size(0,200); +import geometry; + +real A=130; +real B=40; + +pair O=(0,0); +pair R=(1,0); +pair P=dir(A); +pair Q=dir(B); + +draw(circle(O,1.0)); +draw(Q--O--P); +draw(P--Q,red); +draw(O--Q--R--cycle); + +draw("$A$",arc(R,O,P,0.3),blue,Arrow,PenMargin); +draw("$B$",arc(R,O,Q,0.6),blue,Arrow,PenMargin); +pair S=(Cos(B),0); +draw(Q--S,blue); +perpendicular(S,NE,blue); + +dot(O); +dot("$R=(1,0)$",R); +dot("$P=(\cos A,\sin A)$",P,dir(O--P)+W); +dot("$Q=(\cos B,\sin B)$",Q,dir(O--Q)); diff --git a/Master/texmf-dist/doc/asymptote/examples/cpkcolors.asy b/Master/texmf-dist/doc/asymptote/examples/cpkcolors.asy new file mode 100644 index 00000000000..ddc7e286d58 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/cpkcolors.asy @@ -0,0 +1,259 @@ +/* + * Copyright (C) 2003-2005 Miguel, Jmol Development, www.jmol.org + * + * Contact: miguel@jmol.org + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + */ +string[] Element={ + "Xx", // 0 + "H", // 1 + "He", // 2 + "Li", // 3 + "Be", // 4 + "B", // 5 + "C", // 6 + "N", // 7 + "O", // 8 + "F", // 9 + "Ne", // 10 + "Na", // 11 + "Mg", // 12 + "Al", // 13 + "Si", // 14 + "P", // 15 + "S", // 16 + "Cl", // 17 + "Ar", // 18 + "K", // 19 + "Ca", // 20 + "Sc", // 21 + "Ti", // 22 + "V", // 23 + "Cr", // 24 + "Mn", // 25 + "Fe", // 26 + "Co", // 27 + "Ni", // 28 + "Cu", // 29 + "Zn", // 30 + "Ga", // 31 + "Ge", // 32 + "As", // 33 + "Se", // 34 + "Br", // 35 + "Kr", // 36 + "Rb", // 37 + "Sr", // 38 + "Y", // 39 + "Zr", // 40 + "Nb", // 41 + "Mo", // 42 + "Tc", // 43 + "Ru", // 44 + "Rh", // 45 + "Pd", // 46 + "Ag", // 47 + "Cd", // 48 + "In", // 49 + "Sn", // 50 + "Sb", // 51 + "Te", // 52 + "I", // 53 + "Xe", // 54 + "Cs", // 55 + "Ba", // 56 + "La", // 57 + "Ce", // 58 + "Pr", // 59 + "Nd", // 60 + "Pm", // 61 + "Sm", // 62 + "Eu", // 63 + "Gd", // 64 + "Tb", // 65 + "Dy", // 66 + "Ho", // 67 + "Er", // 68 + "Tm", // 69 + "Yb", // 70 + "Lu", // 71 + "Hf", // 72 + "Ta", // 73 + "W", // 74 + "Re", // 75 + "Os", // 76 + "Ir", // 77 + "Pt", // 78 + "Au", // 79 + "Hg", // 80 + "Tl", // 81 + "Pb", // 82 + "Bi", // 83 + "Po", // 84 + "At", // 85 + "Rn", // 86 + "Fr", // 87 + "Ra", // 88 + "Ac", // 89 + "Th", // 90 + "Pa", // 91 + "U", // 92 + "Np", // 93 + "Pu", // 94 + "Am", // 95 + "Cm", // 96 + "Bk", // 97 + "Cf", // 98 + "Es", // 99 + "Fm", // 100 + "Md", // 101 + "No", // 102 + "Lr", // 103 + "Rf", // 104 + "Db", // 105 + "Sg", // 106 + "Bh", // 107 + "Hs", // 108 + "Mt", // 109 + /* + "Ds", // 110 + "Uuu",// 111 + "Uub",// 112 + "Uut",// 113 + "Uuq",// 114 + "Uup",// 115 + "Uuh",// 116 + "Uus",// 117 + "Uuo",// 118 + */ +}; + +// Default table of CPK atom colors +// (ghemical colors with a few proposed modifications). +string[] Hexcolor={ + "FF1493", // Xx 0 + "FFFFFF", // H 1 + "D9FFFF", // He 2 + "CC80FF", // Li 3 + "C2FF00", // Be 4 + "FFB5B5", // B 5 + "909090", // C 6 - changed from ghemical + "3050F8", // N 7 - changed from ghemical + "FF0D0D", // O 8 + "90E050", // F 9 - changed from ghemical + "B3E3F5", // Ne 10 + "AB5CF2", // Na 11 + "8AFF00", // Mg 12 + "BFA6A6", // Al 13 + "F0C8A0", // Si 14 - changed from ghemical + "FF8000", // P 15 + "FFFF30", // S 16 + "1FF01F", // Cl 17 + "80D1E3", // Ar 18 + "8F40D4", // K 19 + "3DFF00", // Ca 20 + "E6E6E6", // Sc 21 + "BFC2C7", // Ti 22 + "A6A6AB", // V 23 + "8A99C7", // Cr 24 + "9C7AC7", // Mn 25 + "E06633", // Fe 26 - changed from ghemical + "F090A0", // Co 27 - changed from ghemical + "50D050", // Ni 28 - changed from ghemical + "C88033", // Cu 29 - changed from ghemical + "7D80B0", // Zn 30 + "C28F8F", // Ga 31 + "668F8F", // Ge 32 + "BD80E3", // As 33 + "FFA100", // Se 34 + "A62929", // Br 35 + "5CB8D1", // Kr 36 + "702EB0", // Rb 37 + "00FF00", // Sr 38 + "94FFFF", // Y 39 + "94E0E0", // Zr 40 + "73C2C9", // Nb 41 + "54B5B5", // Mo 42 + "3B9E9E", // Tc 43 + "248F8F", // Ru 44 + "0A7D8C", // Rh 45 + "006985", // Pd 46 + "C0C0C0", // Ag 47 - changed from ghemical + "FFD98F", // Cd 48 + "A67573", // In 49 + "668080", // Sn 50 + "9E63B5", // Sb 51 + "D47A00", // Te 52 + "940094", // I 53 + "429EB0", // Xe 54 + "57178F", // Cs 55 + "00C900", // Ba 56 + "70D4FF", // La 57 + "FFFFC7", // Ce 58 + "D9FFC7", // Pr 59 + "C7FFC7", // Nd 60 + "A3FFC7", // Pm 61 + "8FFFC7", // Sm 62 + "61FFC7", // Eu 63 + "45FFC7", // Gd 64 + "30FFC7", // Tb 65 + "1FFFC7", // Dy 66 + "00FF9C", // Ho 67 + "00E675", // Er 68 + "00D452", // Tm 69 + "00BF38", // Yb 70 + "00AB24", // Lu 71 + "4DC2FF", // Hf 72 + "4DA6FF", // Ta 73 + "2194D6", // W 74 + "267DAB", // Re 75 + "266696", // Os 76 + "175487", // Ir 77 + "D0D0E0", // Pt 78 - changed from ghemical + "FFD123", // Au 79 - changed from ghemical + "B8B8D0", // Hg 80 - changed from ghemical + "A6544D", // Tl 81 + "575961", // Pb 82 + "9E4FB5", // Bi 83 + "AB5C00", // Po 84 + "754F45", // At 85 + "428296", // Rn 86 + "420066", // Fr 87 + "007D00", // Ra 88 + "70ABFA", // Ac 89 + "00BAFF", // Th 90 + "00A1FF", // Pa 91 + "008FFF", // U 92 + "0080FF", // Np 93 + "006BFF", // Pu 94 + "545CF2", // Am 95 + "785CE3", // Cm 96 + "8A4FE3", // Bk 97 + "A136D4", // Cf 98 + "B31FD4", // Es 99 + "B31FBA", // Fm 100 + "B30DA6", // Md 101 + "BD0D87", // No 102 + "C70066", // Lr 103 + "CC0059", // Rf 104 + "D1004F", // Db 105 + "D90045", // Sg 106 + "E00038", // Bh 107 + "E6002E", // Hs 108 + "EB0026" // Mt 109 +}; + + diff --git a/Master/texmf-dist/doc/asymptote/examples/cube.asy b/Master/texmf-dist/doc/asymptote/examples/cube.asy new file mode 100644 index 00000000000..acfecfdd7d4 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/cube.asy @@ -0,0 +1,15 @@ +import three; + +currentprojection=orthographic(5,4,2,center=true); + +size(5cm); +size3(3cm,5cm,8cm); + +draw(unitbox); + +dot(unitbox,red); + +label("$O$",(0,0,0),NW); +label("(1,0,0)",(1,0,0),S); +label("(0,1,0)",(0,1,0),E); +label("(0,0,1)",(0,0,1),Z); diff --git a/Master/texmf-dist/doc/asymptote/examples/curvedlabel.asy b/Master/texmf-dist/doc/asymptote/examples/curvedlabel.asy new file mode 100644 index 00000000000..2ff4c6c34ec --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/curvedlabel.asy @@ -0,0 +1,4 @@ +size(200); +import labelpath; +labelpath("This is a test of curved labels in Asymptote (implemented with the {\tt PSTricks pstextpath} macro).",reverse(rotate(-90)*unitcircle)); + diff --git a/Master/texmf-dist/doc/asymptote/examples/curvedlabel3.asy b/Master/texmf-dist/doc/asymptote/examples/curvedlabel3.asy new file mode 100644 index 00000000000..5bee2342d83 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/curvedlabel3.asy @@ -0,0 +1,17 @@ +size(200); +import labelpath3; + +path3 g=(1,0,0)..(0,1,1)..(-1,0,0)..(0,-1,1)..cycle; +path3 g2=shift(-Z)*reverse(unitcircle3); + +string txt1="\hbox{This is a test of \emph{curved} 3D labels in +\textbf{Asymptote} (implemented with {\tt texpath}).}"; + +string txt2="This is a test of curved labels in Asymptote\\(implemented +without the {\tt PSTricks pstextpath} macro)."; + +draw(surface(g),paleblue+opacity(0.5)); +draw(labelpath(txt1,subpath(g,0,reltime(g,0.95)),angle=-90),orange); + +draw(g2,1bp+red); +draw(labelpath(txt2,subpath(g2,0,3.9),angle=180,optional=rotate(-70,X)*Z)); diff --git a/Master/texmf-dist/doc/asymptote/examples/cyclohexane.asy b/Master/texmf-dist/doc/asymptote/examples/cyclohexane.asy new file mode 100644 index 00000000000..11b01551c8d --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/cyclohexane.asy @@ -0,0 +1,80 @@ +import three; + +currentprojection=perspective(300,-650,500); +currentlight.background=palecyan; + +surface carbon=scale3(70)*unitsphere; // 70 pm +surface hydrogen=scale3(25)*unitsphere; // 25 pm + +real alpha=90+aSin(1/3); + +real CCbond=156; // 156 pm +real CHbond=110; // 110 pm + +triple c1=(0,0,0); +triple h1=c1+CHbond*Z; +triple c2=rotate(alpha,c1,c1+Y)*(CCbond*Z); +triple h2=rotate(120,c1,c2)*h1; +triple h3=c2-CHbond*Z; +triple h4=rotate(120,c2,c1)*h3; + +triple c3=rotate(120,c2,h3)*c1; +triple h5=c3+CHbond*Z; +triple h6=rotate(-120,c3,c2)*h5; + +triple c4=rotate(-120,c3,h5)*c2; +triple h7=c4-CHbond*Z; +triple h8=rotate(120,c4,c3)*h7; + +triple c5=rotate(120,c4,h7)*c3; +triple h9=c5+CHbond*Z; +triple h10=rotate(-120,c5,c4)*h9; + +triple c6=rotate(-120,c5,h9)*c4; +triple h11=c6-CHbond*Z; +triple h12=rotate(120,c6,c5)*h11; + +pen Black=gray(0.4); + +defaultrender=render(compression=Zero,merge=true); + +draw(shift(c1)*carbon,Black); +draw(shift(c2)*carbon,Black); +draw(shift(c3)*carbon,Black); +draw(shift(c4)*carbon,Black); +draw(shift(c5)*carbon,Black); +draw(shift(c6)*carbon,Black); + + +material White=material(diffusepen=gray(0.4),emissivepen=gray(0.6)); + +draw(shift(h1)*hydrogen,White); +draw(shift(h2)*hydrogen,White); +draw(shift(h3)*hydrogen,White); +draw(shift(h4)*hydrogen,White); +draw(shift(h5)*hydrogen,White); +draw(shift(h6)*hydrogen,White); +draw(shift(h7)*hydrogen,White); +draw(shift(h8)*hydrogen,White); +draw(shift(h9)*hydrogen,White); +draw(shift(h10)*hydrogen,White); +draw(shift(h11)*hydrogen,White); +draw(shift(h12)*hydrogen,White); + + +pen thick=linewidth(10); + +draw(c1--c2--c3--c4--c5--c6--cycle,thick); + +draw(c1--h1,thick); +draw(c1--h2,thick); +draw(c2--h3,thick); +draw(c2--h4,thick); +draw(c3--h5,thick); +draw(c3--h6,thick); +draw(c4--h7,thick); +draw(c4--h8,thick); +draw(c5--h9,thick); +draw(c5--h10,thick); +draw(c6--h11,thick); +draw(c6--h12,thick); diff --git a/Master/texmf-dist/doc/asymptote/examples/cylinder.asy b/Master/texmf-dist/doc/asymptote/examples/cylinder.asy new file mode 100644 index 00000000000..88ff1394bac --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/cylinder.asy @@ -0,0 +1,8 @@ +import solids; + +size(0,100); +currentlight=Viewport; + +revolution r=cylinder(O,1,1.5,Y+Z); +draw(surface(r),green,render(merge=true)); +draw(r,blue); diff --git a/Master/texmf-dist/doc/asymptote/examples/cylinderskeleton.asy b/Master/texmf-dist/doc/asymptote/examples/cylinderskeleton.asy new file mode 100644 index 00000000000..7dcd1c81190 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/cylinderskeleton.asy @@ -0,0 +1,6 @@ +import solids; + +size(0,100); + +revolution r=cylinder(O,1,1.5,Y+Z); +draw(r,heavygreen); diff --git a/Master/texmf-dist/doc/asymptote/examples/datagraph.asy b/Master/texmf-dist/doc/asymptote/examples/datagraph.asy new file mode 100644 index 00000000000..62cca8ea896 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/datagraph.asy @@ -0,0 +1,12 @@ +import graph; + +size(200,150,IgnoreAspect); + +real[] x={0,1,2,3}; +real[] y=x^2; + +draw(graph(x,y),red); + +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight, + RightTicks(Label(fontsize(8pt)),new real[]{0,4,9})); diff --git a/Master/texmf-dist/doc/asymptote/examples/delu.asy b/Master/texmf-dist/doc/asymptote/examples/delu.asy new file mode 100644 index 00000000000..7f9853eb51c --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/delu.asy @@ -0,0 +1,29 @@ +size(7cm,0); + +pair z1=(1,-0.25); +pair v1=dir(45); +pair z2=-z1; +pair v2=0.75*dir(260); +pair z3=(z1.x,-3); + +// A centered random number +real crand() {return unitrand()-0.5;} + +guide g; +pair lastz; +for(int i=0; i < 60; ++i) { + pair z=0.75*lastz+(crand(),crand()); + g=g..2.5*z; + lastz=z; +} +g=shift(0,-.5)*g..cycle; + +draw(g,gray(0.7)); + +draw("$r$",z1--z2,RightSide,red,Arrows,DotMargins); +draw(z1--z1+v1,Arrow); +draw(z2--z2+v2,Arrow); +draw(z3--z3+v1-v2,green,Arrow); + +dot("1",z1,S,blue); +dot("2",z2,NW,blue); diff --git a/Master/texmf-dist/doc/asymptote/examples/diagonal.asy b/Master/texmf-dist/doc/asymptote/examples/diagonal.asy new file mode 100644 index 00000000000..32f3fc04be0 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/diagonal.asy @@ -0,0 +1 @@ +draw((0,0)--(100,100)); diff --git a/Master/texmf-dist/doc/asymptote/examples/diatom.asy b/Master/texmf-dist/doc/asymptote/examples/diatom.asy new file mode 100644 index 00000000000..23673dcadf5 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/diatom.asy @@ -0,0 +1,129 @@ +import graph; + +size(15cm,12cm,IgnoreAspect); + +real minpercent=20; +real ignorebelow=0; +string data="diatom.csv"; +string[] group; +int[] begin,end; + +defaultpen(fontsize(8pt)+overwrite(MoveQuiet)); + +file in=input(data).line().csv(); + +string depthlabel=in; +string yearlabel=in; +string[] taxa=in; +group=in; +begin=in; +real[] depth; +int[] year; +real[][] percentage; + +while(true) { + real d=in; + if(eof(in)) break; + depth.push(d); + year.push(in); + percentage.push(in); +} + +percentage=transpose(percentage); +real depthmin=-min(depth); +real depthmax=-max(depth); + +int n=percentage.length; + +int final; +for(int taxon=0; taxon < n; ++taxon) { + real[] P=percentage[taxon]; + if(max(P) < ignorebelow) continue; + final=taxon; +} + +real angle=45; +real L=3cm; +pair Ldir=L*dir(angle); +real ymax=-infinity; +real margin=labelmargin(); + +real location=0; + +for(int i=0; i < begin.length-1; ++i) end[i]=begin[i+1]-1; +end[begin.length-1]=n-1; + +typedef void drawfcn(frame f); +drawfcn[] draw=new drawfcn[begin.length]; + +pair z0; + +for(int taxon=0; taxon < n; ++taxon) { + real[] P=percentage[taxon]; + real maxP=max(P); + if(maxP < ignorebelow) continue; + picture pic; + real x=1; + if(maxP < minpercent) x=minpercent/maxP; + if(maxP > 100) x=50/maxP; + scale(pic,Linear(true,x),Linear(-1)); + filldraw(pic,(0,depthmin)--graph(pic,P,depth)--(0,depthmax)--cycle, + gray(0.9)); + xaxis(pic,Bottom,LeftTicks("$%.3g$",beginlabel=false,0,2),above=true); + xaxis(pic,Top,above=true); + + frame label; + label(label,rotate(angle)*TeXify(taxa[taxon]),(0,0),N); + + pair z=point(pic,N); + pair v=max(label); + int taxon=taxon; + pic.add(new void(frame f, transform t) { + pair z1=t*z+v; + ymax=max(ymax,z1.y+margin); + }); + + for(int i=0; i < begin.length; ++i) { + pair z=point(pic,N); + pair v=max(label); + if(taxon == begin[i]) { + pic.add(new void(frame f, transform t) { + pair Z=t*z+v; + z0=Z; + pair w0=Z+Ldir; + }); + } else if(taxon == end[i]) { + int i=i; + pair align=2N; + pic.add(new void(frame, transform t) { + pair z0=z0; + pair z1=t*z+v; + pair w1=z1+Ldir; + draw[i]=new void(frame f) { + path g=z0--(z0.x+(ymax-z0.y)/Tan(angle),ymax)-- + (z1.x+(ymax-z1.y)/Tan(angle),ymax)--z1; + draw(f,g); + label(f,group[i],point(g,1.5),align); + }; + }); + } + } + + add(pic,label,point(pic,N)); + + if(taxon == 0) yaxis(pic,depthlabel,Left,RightTicks(0,10),above=true); + if(taxon == final) yaxis(pic,Right,LeftTicks("%",0,10),above=true); + + add(shift(location,0)*pic); + location += pic.userMax().x; +} + +add(new void(frame f, transform) { + for(int i=0; i < draw.length; ++i) + draw[i](f); + }); + +for(int i=0; i < year.length; ++i) + if(year[i] != 0) label((string) year[i],(location,-depth[i]),E); + +label("\%",(0.5*location,point(S).y),5*S); diff --git a/Master/texmf-dist/doc/asymptote/examples/diatom.csv b/Master/texmf-dist/doc/asymptote/examples/diatom.csv new file mode 100644 index 00000000000..d05c3f4bc9a --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/diatom.csv @@ -0,0 +1,28 @@ +"sediment depth (cm)","year","Achnanthes minutissima Kuetzing","Anomoeoneis vitrea (Grunow) Ross","Asterionella formosa Hassall","Tabellaria flocculosa (Roth) Kuetzing","Fragilaria cf. tenera","Chaetoceros muelleri/elmorei cysts","Aulacoseira spp. ","Fragilaria capucina var. vaucheriae (Kuetzing)","Fragilaria crotonensis Kitton" +"A","B","C" +0,4,6 +0,2000,11.6959064327485,9.55165692007797,49.6101364522417,1.364522417154,0,0.974658869395711,0,2.14424951267057,4.09356725146199 +10,1998,20.2676864244742,11.2810707456979,34.7992351816444,2.39005736137667,0,0.191204588910134,0.573613766730402,0.382409177820268,7.55258126195029 +20,1996,21.1282051282051,33.6410256410256,24,2.35897435897436,0.615384615384615,0,0.205128205128205,0.615384615384615,2.56410256410256 +30,1994,25.7620452310718,21.0422812192724,31.3667649950836,2.16322517207473,0.393313667649951,0.393313667649951,0.196656833824975,1.76991150442478,3.73647984267453 +40,1992,21.0422812192724,16.5191740412979,42.9695181907571,0.589970501474926,0,0.983284169124877,0.589970501474926,0.393313667649951,1.96656833824975 +50,1990,23.1067961165049,24.0776699029126,29.126213592233,1.35922330097087,0,0.970873786407767,0.388349514563107,0.58252427184466,3.30097087378641 +60,1988,35.0738916256158,33.3004926108374,4.33497536945813,1.37931034482759,0.591133004926108,1.97044334975369,1.18226600985222,0.985221674876847,2.75862068965517 +70,1986,42.2090729783037,33.7278106508876,2.26824457593688,1.38067061143984,0.788954635108481,1.18343195266272,0.591715976331361,1.38067061143984,3.25443786982249 +90,1984,34.5098039215686,41.9607843137255,0.196078431372549,2.15686274509804,0.588235294117647,2.74509803921569,0.588235294117647,2.15686274509804,0 +95,1982,38.0487804878049,45.4634146341463,0.487804878048781,0.975609756097561,0.975609756097561,0,0.390243902439024,0.390243902439024,0 +110,1980,40.1860465116279,41.4883720930233,1.30232558139535,0.837209302325581,0,0.930232558139535,0.372093023255814,0.372093023255814,1.3953488372093 +130,1978,39.6501457725948,42.1768707482993,0.291545189504373,0.194363459669582,2.72108843537415,1.55490767735666,0,1.36054421768707,0.777453838678329 +150,1972,32.6298701298701,31.4935064935065,1.86688311688312,1.78571428571429,0.162337662337662,13.961038961039,0.162337662337662,1.94805194805195,1.86688311688312 +170,1970,30.7692307692308,47.534516765286,0.986193293885602,3.35305719921105,0.19723865877712,1.38067061143984,0,1.18343195266272,0.591715976331361 +190,1965,40.5268490374873,37.8926038500507,1.82370820668693,2.63424518743668,0,1.21580547112462,0.405268490374873,1.21580547112462,1.01317122593718 +260,1961,40.4494382022472,26.0299625468165,0.468164794007491,1.31086142322097,0.561797752808989,8.05243445692884,0,3.74531835205992,0.374531835205993 +280,1950,44.946025515211,11.9725220804711,0.294406280667321,0.785083415112856,16.48675171737,1.96270853778214,0.392541707556428,2.35525024533857,0 +290,1942,41.2818096135721,8.29406220546654,0.188501413760603,0.282752120640905,28.6522148916117,0.942507068803016,0.377002827521206,4.33553251649387,0 +300,1940,18.0995475113122,12.3076923076923,0,0.180995475113122,40.3619909502262,5.61085972850679,0,2.35294117647059,0 +310,1920,28.6844708209693,11.2759643916914,0.593471810089021,3.26409495548961,13.0563798219585,13.2542037586548,0.19782393669634,9.89119683481701,0.989119683481701 +320,1915,6.17977528089888,1.31086142322097,4.30711610486891,6.74157303370787,32.7715355805243,34.4569288389513,1.31086142322097,2.62172284644195,0 +330,1910,4.03846153846154,0.769230769230769,14.5192307692308,36.4423076923077,5,0.769230769230769,11.1538461538462,0,2.11538461538462 +340,1888,7.37148399612027,1.1639185257032,9.40834141610087,31.8137730358875,1.1639185257032,0.969932104752667,14.3549951503395,0.193986420950533,0.969932104752667 +400,1763,2.69749518304432,0.192678227360308,24.8554913294798,26.7822736030829,0.385356454720617,2.69749518304432,20.0385356454721,0,1.54142581888247 +450,1726,2.37859266600595,0.396432111000991,9.71258671952428,28.5431119920714,0.198216055500496,0.594648166501487,30.5252725470763,0,0.792864222001982 diff --git a/Master/texmf-dist/doc/asymptote/examples/dimension.asy b/Master/texmf-dist/doc/asymptote/examples/dimension.asy new file mode 100644 index 00000000000..1244ba84e68 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/dimension.asy @@ -0,0 +1,23 @@ +size(12cm,0); + +void distance(picture pic=currentpicture, pair A, pair B, Label L="", real n=0, + pen p=currentpen) +{ + real d=3mm; + path g=A--B; + transform T=shift(-n*d*unit(B-A)*I); + pic.add(new void(frame f, transform t) { + picture opic; + path G=T*t*g; + draw(opic,Label(L,Center,UnFill(1)),G,p,Arrows(NoFill),Bars,PenMargins); + add(f,opic.fit()); + }); + pic.addBox(min(g),max(g),T*min(p),T*max(p)); +} + +pair A=(0,0), B=(3,3); + +dot(A); +dot(B); + +distance(A,B,"$\ell$",1); diff --git a/Master/texmf-dist/doc/asymptote/examples/dots.asy b/Master/texmf-dist/doc/asymptote/examples/dots.asy new file mode 100644 index 00000000000..49acfce341f --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/dots.asy @@ -0,0 +1 @@ +draw((0,0){up}..(100,25){right}..(200,0){down}); diff --git a/Master/texmf-dist/doc/asymptote/examples/dragon.asy b/Master/texmf-dist/doc/asymptote/examples/dragon.asy new file mode 100644 index 00000000000..08fcb61f5c0 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/dragon.asy @@ -0,0 +1,66 @@ +pair crease(pair z1, pair z2, bool left) +{ + pair dz = z2 - z1; + + if (left) + return z1 + dz * (0.5, 0.5); + else + return z1 + dz * (0.5, -0.5); +} + +pair[] fold(pair[] oldz) +{ + int n = oldz.length; + pair[] newz = new pair[2n-1]; + + for (int i = 0; i < n-1; ++i) + { + newz[2i] = oldz[i]; + newz[2i+1] = crease(oldz[i], oldz[i+1], i%2==0); + } + + newz[2(n-1)] = oldz[n-1]; + + return newz; +} + +pair[] dragon(int n, pair[] base={}) +{ + if (base.length == 0) + if (n%2 == 0) + base = new pair[] {(0,0), (1,1) }; + else + base = new pair[] {(0,0), (1,0) }; + + pair[] z = base; + + for (int i = 1; i < n; ++i) + z = fold(z); + + return z; +} + +void drawtris(pair[] z, pen p = currentpen) +{ + int n = z.length; + + for (int i = 0; i < n-2; i+=2) + fill(z[i]--z[i+1]--z[i+2]--cycle, p); +} + +void drawtris(pair[] z, pen p1, pen p2) +{ + int n = z.length; + + for (int i = 0; i < n-2; i+=2) + fill(z[i]--z[i+1]--z[i+2]--cycle, 2i < n-1 ? p1 : p2); +} + +size(500,0); + +int n = 10; + +drawtris(dragon(n, new pair[] {(0,0), (1,0)}), black); +drawtris(dragon(n, new pair[] {(0,0), (0,-1)}), blue); +drawtris(dragon(n, new pair[] {(0,0), (-1,0)}), red); +drawtris(dragon(n, new pair[] {(0,0), (0,1)}), green); diff --git a/Master/texmf-dist/doc/asymptote/examples/eetomumu.asy b/Master/texmf-dist/doc/asymptote/examples/eetomumu.asy new file mode 100644 index 00000000000..309547d1455 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/eetomumu.asy @@ -0,0 +1,60 @@ +import feynman; + + +// set default line width to 0.8bp +currentpen = linewidth(0.8); + +// scale all other defaults of the feynman module appropriately +fmdefaults(); + +// define vertex and external points + +real L = 50; + +pair zl = (-0.75*L,0); +pair zr = (+0.75*L,0); + +pair xu = zl + L*dir(+120); +pair xl = zl + L*dir(-120); + +pair yu = zr + L*dir(+60); +pair yl = zr + L*dir(-60); + + +// draw propagators and vertices + +drawFermion(xu--zl); +drawFermion(zl--xl); + +drawPhoton(zl--zr); + +drawFermion(yu--zr); +drawFermion(zr--yl); + +drawVertex(zl); +drawVertex(zr); + + +// draw momentum arrows and momentum labels + +drawMomArrow(xl--zl, Relative(left)); +label(Label("$k'$",2RightSide), xl--zl); + +label(Label("$k$",2LeftSide), xu--zl); + +drawMomArrow(zl--zr, Relative(left)); +label(Label("$q$",2RightSide), zl--zr); + +drawMomArrow(zr--yu, Relative(right)); +label(Label("$p'$",2LeftSide), zr--yu); + +label(Label("$p$",2RightSide), zr--yl); + + +// draw particle labels + +label("$e^-$", xu, left); +label("$e^+$", xl, left); + +label("$\mu^+$", yu, right); +label("$\mu^-$", yl, right); diff --git a/Master/texmf-dist/doc/asymptote/examples/electromagnetic.asy b/Master/texmf-dist/doc/asymptote/examples/electromagnetic.asy new file mode 100644 index 00000000000..d229f76b748 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/electromagnetic.asy @@ -0,0 +1,47 @@ +import graph; +import palette; +texpreamble("\usepackage[amssymb,thinqspace,thinspace]{SIunits}"); + +size(800,200); + +real c=3e8; +real nm=1e-9; +real freq(real lambda) {return c/(lambda*nm);} +real lambda(real f) {return c/(f*nm);} + +real fmin=10; +real fmax=1e23; + +scale(Log(true),Linear(true)); +xlimits(fmin,fmax); +ylimits(0,1); + +real uv=freq(400); +real ir=freq(700); + +bounds visible=bounds(Scale(uv).x,Scale(ir).x); +palette(visible,uv,ir+(0,2),Bottom,Rainbow(),invisible); + +xaxis(Label("\hertz",1),Bottom,RightTicks,above=true); + +real log10Left(real x) {return -log10(x);} +real pow10Left(real x) {return pow10(-x);} + +scaleT LogLeft=scaleT(log10Left,pow10Left,logarithmic=true); + +picture q=secondaryX(new void(picture p) { + scale(p,LogLeft,Linear); + xlimits(p,lambda(fmax),lambda(fmin)); + ylimits(p,0,1); + xaxis(p,Label("\nano\metre",1,0.01N),Top,LeftTicks(DefaultLogFormat,n=10)); + }); + +add(q,above=true); + +margin margin=PenMargin(0,0); +draw("radio",Scale((10,1))--Scale((5e12,1)),S,Arrow); +draw("infrared",Scale((1e12,1.75))--Scale(shift(0,1.75)*ir),LeftSide,Arrows,margin); +draw("UV",Scale(shift(0,1.75)*uv)--Scale((1e17,1.76)),LeftSide,Arrows,margin); +draw("x-rays",Scale((1e16,1))--Scale((1e21,1)),RightSide,Arrows); +draw("$\gamma$-rays",Scale((fmax,1.75))--Scale((2e18,1.75)),Arrow); + diff --git a/Master/texmf-dist/doc/asymptote/examples/elevation.asy b/Master/texmf-dist/doc/asymptote/examples/elevation.asy new file mode 100644 index 00000000000..1ff4ee38f28 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/elevation.asy @@ -0,0 +1,17 @@ +import graph3; +import grid3; +import palette; + +currentprojection=orthographic(0.8,1,1); + +size(400,300,IgnoreAspect); + +defaultrender.merge=true; + +real f(pair z) {return cos(2*pi*z.x)*sin(2*pi*z.y);} + +surface s=surface(f,(-1/2,-1/2),(1/2,1/2),50,Spline); + +draw(s,mean(palette(s.map(zpart),Rainbow())),black); + +grid3(XYZgrid); diff --git a/Master/texmf-dist/doc/asymptote/examples/elliptic.asy b/Master/texmf-dist/doc/asymptote/examples/elliptic.asy new file mode 100644 index 00000000000..728508f0110 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/elliptic.asy @@ -0,0 +1,115 @@ +struct curve { + real a=0; + real b=8; + + real y2(real x) { + return x^3+a*x+b; + } + + real disc() { + return -16*(4*a*a*a+27*b*b); + } + + real lowx () { + return sqrt(-a/3); + } + + int comps() { + if (a < 0) { + real x=sqrt(-a/3); + return y2(x) < 0 ? 2 : 1; + } + return 1; + } + + void locus(picture pic=currentpicture, real m, real M, int n=100, + pen p=currentpen) { + path flip(path p, bool close) { + path pp=reverse(yscale(-1)*p)..p; + return close ? pp..cycle : pp; + } + path section(real m, real M, int n) { + guide g; + real width=(M-m)/n; + for(int i=0; i <= n; ++i) { + real x=m+width*i; + real yy=y2(x); + if (yy > 0) + g=g..(x,sqrt(yy)); + } + return g; + } + + if (comps() == 1) { + draw(pic,flip(section(m,M,n),false),p); + } + else { + real x=lowx(); // The minimum on x^3+ax+b + if (m < x) + draw(pic,flip(section(m,min(x,M),n),true),p); + if (x < M) + draw(pic,flip(section(max(x,m),M,n),false),p); + } + } + + pair neg(pair P) { + return finite(P.y) ? yscale(-1)*P : P; + } + + pair add(pair P, pair Q) { + if (P.x == Q.x && P.x != Q.x) + return (0,infinity); + else { + real lambda=P == Q ? (3*P.x^2+a)/(2*P.y) : (Q.y-P.y)/(Q.x-P.x); + real Rx=lambda^2-P.x-Q.x; + return (Rx,(P.x-Rx)*lambda-P.y); + } + } +} + +import graph; +import math; + +size(0,200); + +curve c; c.a=-1; c.b=4; + +pair oncurve(real x) +{ + return (x,sqrt(c.y2(x))); +} + +picture output; + +axes(); +c.locus(-4,3,.3red+.7blue); + +pair P=oncurve(-1),Q=oncurve(1.2); +pair PP=c.add(P,P),sum=c.add(P,Q); + +save(); + +drawline(P,Q,dashed); +drawline(c.neg(sum),sum,dashed); +dot("$P$", P, NW); +dot("$Q$", Q, SSE); +dot(c.neg(sum)); +dot("$P+Q$", sum, 2SW); + +add(output,currentpicture.fit(),(-0.5cm,0),W); + +restore(); + +save(); + +drawline(P,c.neg(PP),dashed); +drawline(c.neg(PP),PP,dashed); +dot("$P$", P, NW); +dot(c.neg(PP)); +dot("$2P$", PP, SW); + +add(output,currentpicture.fit(),(0.5cm,0),E); + +shipout(output); + +restore(); diff --git a/Master/texmf-dist/doc/asymptote/examples/epix.asy b/Master/texmf-dist/doc/asymptote/examples/epix.asy new file mode 100644 index 00000000000..b833289bd80 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/epix.asy @@ -0,0 +1,14 @@ +import graph3; + +size(200,200,IgnoreAspect); + +currentprojection=perspective(4,2,3); + +real f(pair z) {return z.y^3/2-3z.x^2*z.y;} + +draw(surface(f,(-1,-1),(1,1),nx=10,Spline),green,render(merge=true)); +draw(Label("$y$",1),(0,0,0)--(0,2,0),red,Arrow3); + +draw(Label("$x$",1),(0,0,0)--(2,0,0),red,Arrow3); +draw(Label("$z$",1),(0,0,0)--(0,0,2.5),red,Arrow3); +label("$z=\frac{1}{2}y^3-3x^2y$",(1,1,1),NE); diff --git a/Master/texmf-dist/doc/asymptote/examples/equilateral.asy b/Master/texmf-dist/doc/asymptote/examples/equilateral.asy new file mode 100644 index 00000000000..d68e0d02225 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/equilateral.asy @@ -0,0 +1,12 @@ +size(10cm,0); +import math; + +pair b=(0,0), c=(1,0); +pair a=extension(b,b+dir(60),c,c+dir(120)); +pair d=extension(b,b+dir(30),a,a+dir(270)); + +draw(a--b--c--a--d--b^^d--c); +label("$A$",a,N); +label("$B$",b,W); +label("$C$",c,E); +label("$D$",d,S); diff --git a/Master/texmf-dist/doc/asymptote/examples/equilchord.asy b/Master/texmf-dist/doc/asymptote/examples/equilchord.asy new file mode 100644 index 00000000000..b93da942d08 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/equilchord.asy @@ -0,0 +1,21 @@ +import graph3; + +size(0,150); +currentprojection=perspective(5,-4,6); +currentlight=(-1,-1,2); +real t=0.5; + +real F(pair z) { + return (z.x^2+z.y^2 <= 1) ? sqrt(3)*(sqrt(1-z.x^2)-abs(z.y)) : 0; +} + +real a=1.5; +draw((-a,-a,0)--(-a,a,0)--(a,a,0)--(a,-a,0)--cycle,lightgray); + +xaxis3(Label("$x$",1),red,Arrow3); +yaxis3(Label("$y$",1),red,Arrow3); +draw(circle((0,0,0),1),dashed); +draw(surface(F,(-1,-1),(t,1),20,monotonic),green,black,render(merge=true)); +real y=sqrt(1-t^2); +draw((t,y,0)--(t,-y,0)--(t,0,sqrt(3)*y)--cycle,blue); +label("$1$",(1,0,0),-Y+X); diff --git a/Master/texmf-dist/doc/asymptote/examples/errorbars.asy b/Master/texmf-dist/doc/asymptote/examples/errorbars.asy new file mode 100644 index 00000000000..a8707b24972 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/errorbars.asy @@ -0,0 +1,42 @@ +import graph; + +picture pic; +real xsize=200, ysize=140; +size(pic,xsize,ysize,IgnoreAspect); + +pair[] f={(5,5),(50,20),(90,90)}; +pair[] df={(0,0),(5,7),(0,5)}; + +errorbars(pic,f,df,red); +draw(pic,graph(pic,f),"legend", + marker(scale(0.8mm)*unitcircle,red,FillDraw(blue),above=false)); + +scale(pic,true); + +xaxis(pic,"$x$",BottomTop,LeftTicks); +yaxis(pic,"$y$",LeftRight,RightTicks); +add(pic,legend(pic),point(pic,NW),20SE,UnFill); + +picture pic2; +size(pic2,xsize,ysize,IgnoreAspect); + +frame mark; +filldraw(mark,scale(0.8mm)*polygon(6),green,green); +draw(mark,scale(0.8mm)*cross(6),blue); + +draw(pic2,graph(pic2,f),marker(mark,markuniform(5))); + +scale(pic2,true); + +xaxis(pic2,"$x$",BottomTop,LeftTicks); +yaxis(pic2,"$y$",LeftRight,RightTicks); + +yequals(pic2,55.0,red+Dotted); +xequals(pic2,70.0,red+Dotted); + +// Fit pic to W of origin: +add(pic.fit(),(0,0),W); + +// Fit pic2 to E of (5mm,0): +add(pic2.fit(),(5mm,0),E); + diff --git a/Master/texmf-dist/doc/asymptote/examples/exp.asy b/Master/texmf-dist/doc/asymptote/examples/exp.asy new file mode 100644 index 00000000000..2c4eed90d4e --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/exp.asy @@ -0,0 +1,14 @@ +import graph; +size(150,0); + +real f(real x) {return exp(x);} +pair F(real x) {return (x,f(x));} + +xaxis("$x$"); +yaxis("$y$",0); + +draw(graph(f,-4,2,operator ..),red); + +labely(1,E); +label("$e^x$",F(1),SE); + diff --git a/Master/texmf-dist/doc/asymptote/examples/exp3.asy b/Master/texmf-dist/doc/asymptote/examples/exp3.asy new file mode 100644 index 00000000000..39baba993f3 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/exp3.asy @@ -0,0 +1,22 @@ +import graph3; +import palette; + +size(12cm,IgnoreAspect); +currentprojection=orthographic(1,-2,1); + +real f(pair z) {return abs(exp(z));} + +real Arg(triple v) {return degrees(exp((v.x,v.y)),warn=false);} + +surface s=surface(f,(-2,-pi),(2,pi),20,Spline); + +s.colors(palette(s.map(Arg),Wheel())); +draw(s,render(compression=Low,merge=true)); + +real xmin=point((-1,-1,-1)).x; +real xmax=point((1,1,1)).x; +draw((xmin,0,0)--(xmax,0,0),dashed); + +xaxis3("$\mathop{\rm Re} z$",Bounds,InTicks); +yaxis3("$\mathop{\rm Im} z$",Bounds,InTicks(beginlabel=false)); +zaxis3("$|\exp(z)|$",Bounds,InTicks); diff --git a/Master/texmf-dist/doc/asymptote/examples/externalprc.tex b/Master/texmf-dist/doc/asymptote/examples/externalprc.tex new file mode 100644 index 00000000000..e6d4ade1dcf --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/externalprc.tex @@ -0,0 +1,12 @@ +% Generate inline PRC images for latex with +% asy -inlineimage teapot -render=4 +% +% Generate inline PRC images for pdflatex with +% asy -inlineimage teapot -render=4 -tex pdflatex +% +\documentclass[12pt]{article} +\input teapot.pre +\RequirePackage{color,graphicx} +\begin{document} +\input teapot.tex +\end{document} diff --git a/Master/texmf-dist/doc/asymptote/examples/extrudedcontour.asy b/Master/texmf-dist/doc/asymptote/examples/extrudedcontour.asy new file mode 100644 index 00000000000..dabd56b9298 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/extrudedcontour.asy @@ -0,0 +1,26 @@ +import contour; +import palette; +import graph3; + +defaultrender.merge=true; + +currentprojection=orthographic(25,10,10); +size(0,12cm); +real a=3; +real b=4; +real f(pair z) {return (z.x+z.y)/(2+cos(z.x)*sin(z.y));} +guide[][] g=contour(f,(-10,-10),(10,10),new real[]{8},150); + +render render=render(merge=true); +for(guide p:g[0]){ + draw(extrude(p,8Z),palered,render); + draw(path3(p),red+2pt,render); +} + +draw(lift(f,g),red+2pt,render); + +surface s=surface(f,(0,0),(10,10),20,Spline); +s.colors(palette(s.map(zpart),Rainbow()+opacity(0.5))); +draw(s,render); +axes3("$x$","$y$","$z$",Arrow3); + diff --git a/Master/texmf-dist/doc/asymptote/examples/fano.asy b/Master/texmf-dist/doc/asymptote/examples/fano.asy new file mode 100644 index 00000000000..12286d7006e --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/fano.asy @@ -0,0 +1,28 @@ +import math; + +size(100,0); + +pair z4=(0,0); +pair z7=(2,0); +pair z1=point(rotate(60)*(z4--z7),1); + +pair z5=interp(z4,z7,0.5); +pair z3=interp(z7,z1,0.5); +pair z2=interp(z1,z4,0.5); +pair z6=extension(z4,z3,z7,z2); + +draw(z4--z7--z1--cycle); +draw(z4--z3); +draw(z7--z2); +draw(z1--z5); +draw(circle(z6,abs(z3-z6))); + +label("1",z1,dir(z5--z1)); +label("2",z2,dir(z7--z2)); +label("3",z3,dir(z4--z3)); +label("4",z4,dir(z3--z4)); +label("5",z5,dir(z1--z5)); +label("6",z6,2.5E+0.1*N); +label("7",z7,dir(z2--z7)); + + diff --git a/Master/texmf-dist/doc/asymptote/examples/fequlogo.asy b/Master/texmf-dist/doc/asymptote/examples/fequlogo.asy new file mode 100644 index 00000000000..e53e1831419 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/fequlogo.asy @@ -0,0 +1,40 @@ +// A compressed version of the required data file may be obtained from: +// http://www-roc.inria.fr/gamma/download/counter.php?dir=ARCHITEC/&get_obj=uhrturm.obj.gz + +import graph3; +import obj; + +size(200,0); +size3(200); + +settings.render=8; + +texpreamble("\usepackage[T1]{fontenc}"); +texpreamble("\usepackage{ccfonts,eulervm}"); + +currentprojection=perspective(4,1,2); +currentlight=(4,0,2); +currentlight.background=blue; + +real R=4; + +triple f1(pair t) {return (R*cos(t.x),R*sin(t.x),t.y);} + +draw(shift(-0.6Z)*scale3(0.66)*rotate(55,Z)*rotate(90,X)* + obj("uhrturm.obj",orange)); + +surface s=surface(f1,(0,0),(2pi,2),8,8,Spline); + +string lo="$\displaystyle f(x+y)=f(x)+f(y)$"; +string hi="$\displaystyle F_{t+s}=F_t\circ F_s$"; + +real h=0.0125; + +draw(surface(rotate(2)*xscale(0.32)*yscale(0.6)*lo,s,-pi/4-1.5*pi/20,0.5,h)); +draw(surface(rotate(0)*xscale(-0.45)*yscale(0.3)*hi,s,0.8*pi,0.25,h),blue); + +add(new void(frame f, transform3 t, picture pic, projection P) { + draw(f,surface(invert(box(min(f,P),max(f,P)),min3(f),P), + new pen[] {orange,red,yellow,brown})); + } +); diff --git a/Master/texmf-dist/doc/asymptote/examples/fermi.asy b/Master/texmf-dist/doc/asymptote/examples/fermi.asy new file mode 100644 index 00000000000..c74da952ab2 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/fermi.asy @@ -0,0 +1,40 @@ +import feynman; + +// set default line width to 0.8bp +currentpen = linewidth(0.8); + +// scale all other defaults of the feynman module appropriately +fmdefaults(); + +// disable middle arrows +currentarrow = None; + +// define vertex and external points + +pair xu = (-40,+45); +pair xl = (-40,-45); +pair yu = (+40,+45); +pair yl = (+40,-45); + +pair zu = ( 0,+ 5); +pair zl = ( 0,- 5); + +// define mid points + +pair mxu = (xu+zu)/2; +pair mxl = (xl+zl)/2; +pair myu = (yu+zu)/2; +pair myl = (yl+zl)/2; + +// draw fermion lines +drawFermion(xu--zu--yu); +drawFermion(xl--zl--yl); + +// draw vertices +drawVertexOX(zu); +drawVertexOX(zl); + +// draw gluon. Note that the underlying fermion line is blotted out. +drawGluon(arc((0,0),mxu,myl,CW)); + +// shipout diff --git a/Master/texmf-dist/doc/asymptote/examples/filegraph.asy b/Master/texmf-dist/doc/asymptote/examples/filegraph.asy new file mode 100644 index 00000000000..4b05c5bcbd7 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/filegraph.asy @@ -0,0 +1,15 @@ +import graph; + +size(200,150,IgnoreAspect); + +file in=input("filegraph.dat").line(); +real[][] a=in.dimension(0,0); +a=transpose(a); + +real[] x=a[0]; +real[] y=a[1]; + +draw(graph(x,y),red); + +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight,RightTicks); diff --git a/Master/texmf-dist/doc/asymptote/examples/filegraph.dat b/Master/texmf-dist/doc/asymptote/examples/filegraph.dat new file mode 100644 index 00000000000..f69ffe330de --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/filegraph.dat @@ -0,0 +1,4 @@ +# x y + 50 0 +100 0.5 +125 2 diff --git a/Master/texmf-dist/doc/asymptote/examples/filesurface.asy b/Master/texmf-dist/doc/asymptote/examples/filesurface.asy new file mode 100644 index 00000000000..eef9d37f494 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/filesurface.asy @@ -0,0 +1,45 @@ +import graph3; +import palette; + +size3(200,IgnoreAspect); + +file in=input("filesurface.dat").line(); +real[] x=in; +real[] y=in; + +real[][] f=in.dimension(0,0); + +triple f(pair t) { + int i=round(t.x); + int j=round(t.y); + return (x[i],y[j],f[i][j]); +} + +surface s=surface(f,(0,0),(x.length-1,y.length-1),x.length-1,y.length-1); +real[] level=uniform(min(f)*(1-sqrtEpsilon),max(f)*(1+sqrtEpsilon),4); + +s.colors(palette(s.map(new real(triple v) {return find(level >= v.z);}), + Rainbow())); + +draw(s,meshpen=thick(),render(merge=true)); + +triple m=currentpicture.userMin(); +triple M=currentpicture.userMax(); +triple target=0.5*(m+M); + +xaxis3("$x$",Bounds,InTicks); +yaxis3("$y$",Bounds,InTicks(Step=1,step=0.1)); +zaxis3("$z$",Bounds,InTicks); + +/* +picture palette; +size3(palette,1cm); +draw(palette,unitcube,red); +frame F=palette.fit3(); +add(F,(M.x,m.y,m.z)); +*/ + +currentprojection=perspective(camera=target+realmult(dir(68,225),M-m), + target=target); + + diff --git a/Master/texmf-dist/doc/asymptote/examples/filesurface.dat b/Master/texmf-dist/doc/asymptote/examples/filesurface.dat new file mode 100644 index 00000000000..16d5966f6be --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/filesurface.dat @@ -0,0 +1,12 @@ +1 12 24 36 60 84 120 180 240 360
+2005 2005.083333 2005.166667 2005.25 2005.333333 2005.416667 2005.5 2005.583333 2005.666667 2005.75 2005.833333 2005.916667 2006 2006.083333 2006.166667 2006.25 2006.333333 2006.416667 2006.5 2006.583333 2006.666667 2006.75 2006.833333 2006.916667 2007 2007.083333 2007.166667 2007.25 2007.333333 2007.416667 2007.5 2007.583333 2007.666667 2007.75 2007.833333 2007.916667 2008 2008.083333 2008.166667 2008.25 2008.333333 2008.416667 2008.5 2008.583333 2008.666667 2008.75 2008.833333 2008.916667
+2.111 2.1039 2.103 2.1047 2.1041 2.1039 2.1064 2.1126 2.1152 2.1209 2.2225 2.4112 2.3885 2.4586 2.6333 2.6489 2.6926 2.8691 2.9389 3.0941 3.1572 3.3501 3.4214 3.64 3.6159 3.6511 3.8439 3.859 3.9194 4.0982 4.105 4.3081 4.4339 4.2355 4.216 4.7114 4.1973 4.1821 4.3046 4.3691 4.3874 4.4724 4.4716 4.4875 4.6599 4.8313 3.8433 2.9929
+2.223809524 2.228 2.246190476 2.165238095 2.092727273 1.997272727 2.07185 2.14 2.128636364 2.327619048 2.577272727 2.67 2.717727273 2.793 2.978695652 3.094210526 3.175 3.271363636 3.415238095 3.489565217 3.573333333 3.664090909 3.723636364 3.773157895 3.914090909 3.9605 3.982727273 4.132105263 4.254545455 4.398095238 4.44 4.228695652 4.088 4.09 4.044090909 4.0855 3.870909091 3.631904762 3.711052632 3.955909091 4.141428571 4.562380952 4.575217391 4.36952381 4.210909091 2.93173913 2.3795 2.007727273
+2.431904762 2.4595 2.517142857 2.367619048 2.237272727 2.077727273 2.18235 2.253913043 2.222727273 2.484761905 2.743636364 2.804285714 2.862272727 2.968 3.192173913 3.343157895 3.381818182 3.462727273 3.574285714 3.575652174 3.602380952 3.657272727 3.677727273 3.744210526 3.926818182 3.954 3.922272727 4.105263158 4.255454545 4.464285714 4.475 4.183478261 4.0595 4.090434783 3.898636364 3.9975 3.68 3.334761905 3.402105263 3.781818182 4.07047619 4.624761905 4.542608696 4.178095238 4.008636364 3.151304348 2.641 2.375
+2.638095238 2.6685 2.735714286 2.562380952 2.416818182 2.241363636 2.33035 2.400869565 2.340454545 2.60952381 2.865454545 2.895238095 2.949545455 3.0775 3.297826087 3.477368421 3.521363636 3.589545455 3.685714286 3.640434783 3.614761905 3.674545455 3.668636364 3.742631579 3.938636364 3.9625 3.91 4.106842105 4.258636364 4.496666667 4.496818182 4.210869565 4.0975 4.138695652 3.933181818 4.027 3.719090909 3.413809524 3.434210526 3.818636364 4.071428571 4.622380952 4.56826087 4.157619048 3.993181818 3.358695652 2.8285 2.594090909
+2.996190476 3.015 3.124761905 2.920952381 2.753181818 2.581818182 2.6606 2.710869565 2.595 2.829047619 3.082272727 3.056190476 3.080909091 3.2445 3.45173913 3.664736842 3.703181818 3.74 3.82047619 3.726956522 3.655714286 3.712727273 3.669090909 3.753157895 3.970454545 4.0055 3.914090909 4.126315789 4.273181818 4.538095238 4.537727273 4.25826087 4.1655 4.210869565 3.982727273 4.1085 3.829545455 3.600952381 3.591578947 3.941363636 4.137619048 4.65952381 4.622173913 4.201428571 4.126363636 3.774782609 3.2075 2.983181818
+3.265714286 3.2665 3.405238095 3.21 3.04 2.87 2.9277 2.959565217 2.819545455 3.021428571 3.238636364 3.144761905 3.143636364 3.3225 3.536086957 3.798421053 3.85 3.867727273 3.91047619 3.803043478 3.706666667 3.757727273 3.700454545 3.775263158 4.003181818 4.037368421 3.938181818 4.156315789 4.288636364 4.566190476 4.546363636 4.31173913 4.23 4.27 4.076818182 4.185 3.949545455 3.793333333 3.730526316 4.043636364 4.219047619 4.636190476 4.62173913 4.258095238 4.190454545 3.967826087 3.53 3.192272727
+3.593809524 3.5845 3.745238095 3.543333333 3.381363636 3.209545455 3.249 3.282173913 3.122272727 3.285714286 3.488181818 3.380952381 3.344545455 3.497 3.674347826 3.935789474 4.004090909 4.004545455 4.029047619 3.906956522 3.778095238 3.817272727 3.75 3.811052632 4.055909091 4.091 3.99 4.203157895 4.330454545 4.614285714 4.590454545 4.393913043 4.344 4.397391304 4.234545455 4.346 4.165 4.105238095 4.044210526 4.252727273 4.398571429 4.718571429 4.705217391 4.407142857 4.379090909 4.255652174 3.998 3.514545455
+3.78952381 3.7435 3.9255 3.75 3.582272727 3.451363636 3.50775 3.513913043 3.359545455 3.494761905 3.665909091 3.551428571 3.504545455 3.6535 3.812608696 4.098421053 4.167272727 4.175909091 4.186666667 4.056086957 3.908571429 3.916363636 3.824545455 3.882105263 4.12 4.162 4.089090909 4.306315789 4.423181818 4.699047619 4.661818182 4.504782609 4.4985 4.519565217 4.402272727 4.5115 4.382727273 4.366666667 4.336842105 4.509545455 4.613809524 4.861428571 4.877391304 4.636666667 4.659545455 4.482173913 4.2535 3.744545455
+3.99 3.9085 4.098571429 3.944285714 3.771363636 3.609090909 3.6536 3.640869565 3.488181818 3.604761905 3.755454545 3.634285714 3.565909091 3.7165 3.866521739 4.151052632 4.235454545 4.235909091 4.249047619 4.116086957 3.961904762 3.953333333 3.855714286 3.92 4.153636364 4.1985 4.139090909 4.365789474 4.471818182 4.747142857 4.695454545 4.55 4.572 4.590434783 4.500909091 4.602 4.504090909 4.513809524 4.521052632 4.656818182 4.733809524 4.899047619 4.935652174 4.746190476 4.776818182 4.598695652 4.4835 3.900454545
+4.137142857 4.0305 4.213333333 4.08 3.902727273 3.739090909 3.774285714 3.757391304 3.598181818 3.706190476 3.842272727 3.712 3.629545455 3.771 3.919565217 4.231111111 4.295909091 4.306818182 4.31 4.170434783 4.000952381 3.99 3.881818182 3.943684211 4.176818182 4.2195 4.163636364 4.387368421 4.480454545 4.758095238 4.710454545 4.559565217 4.595 4.612173913 4.544090909 4.64 4.57 4.58 4.614736842 4.702727273 4.768571429 4.884761905 4.905652174 4.741904762 4.775454545 4.496521739 4.3585 3.738636364
diff --git a/Master/texmf-dist/doc/asymptote/examples/fillcontour.asy b/Master/texmf-dist/doc/asymptote/examples/fillcontour.asy new file mode 100644 index 00000000000..311192fb7f8 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/fillcontour.asy @@ -0,0 +1,29 @@ +import graph; +import palette; +import contour; + +size(12cm,IgnoreAspect); + +pair a=(pi/2,0); +pair b=(3pi/2,2pi); + +real f(real x, real y) {return cos(x)*sin(y);} + +int N=100; +int Divs=10; + +defaultpen(1bp); + +bounds range=bounds(-1,1); + +real[] Cvals=uniform(range.min,range.max,Divs); +guide[][] g=contour(f,a,b,Cvals,N,operator --); + +pen[] Palette=quantize(Rainbow(),Divs); + +pen[][] interior=interior(g,extend(Palette,grey,black)); +fill(g,interior); +draw(g); + +palette("$f(x,y)$",range,point(SE)+(0.5,0),point(NE)+(1,0),Right,Palette, + PaletteTicks("$%+#0.1f$",N=Divs)); diff --git a/Master/texmf-dist/doc/asymptote/examples/fin.asy b/Master/texmf-dist/doc/asymptote/examples/fin.asy new file mode 100644 index 00000000000..8fe88f3dc0e --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/fin.asy @@ -0,0 +1,152 @@ +import three; +import palette; + +int N = 26; +real[] C = array(N,0); +real[][] A = new real[N][N]; +for(int i = 0; i < N; ++i) + for(int j = 0; j < N; ++j) + A[i][j] = 0; + +real Tb = 100; // deg C +real h = 240; // 240 W/m^2 K +real k = 240; // W/m K +real Tinf = 20; // deg C +real L = 12; // cm +real t = 2; // cm + +real delta = 0.01; // 1 cm = 0.01 m + +// (1,2)-(2,2)-(3,2)-...-(13,2) +// | | | | +// (1,1)-(2,1)-(3,1)-...-(13,1) +// +// | +// \ / +// V +// +// 13-14-15-...-24-25 +// | | | ... | | +// 0- 1- 2-...-11-12 + +// but, note zero-based array indexing, so counting starts at 0 +int indexof(int m, int n) +{ + return 13(n-1)+m-1; +} + +int i = 0; + +// fixed temperature bottom left +A[i][indexof(1,1)] = 1; C[i] = Tb; +++i; +// fixed temperature middle left +A[i][indexof(1,2)] = 1; C[i] = Tb; +++i; + +// interior nodes +for(int m = 2; m<13; ++m) +{ + A[i][indexof(m,2)] = -4; + A[i][indexof(m-1,2)] = A[i][indexof(m+1,2)] = 1; + A[i][indexof(m,1)] = 2; + C[i] = 0; + ++i; +} + +// convective bottom side nodes +for(int m = 2; m<13; ++m) +{ + A[i][indexof(m,1)] = -(2+h*delta/k); + A[i][indexof(m-1,1)] = A[i][indexof(m+1,1)] = 0.5; + A[i][indexof(m,2)] = 1; + C[i] = -h*delta*Tinf/k; + ++i; +} + +// convective bottom right corner node +A[i][indexof(13,2)] = A[i][indexof(12,1)] = 0.5; +A[i][indexof(13,1)] = -(1+h*delta/k); +C[i] = -h*delta*Tinf/k; +++i; + +// convective middle right side node +A[i][indexof(13,2)] = -(2+h*delta/k); +A[i][indexof(13,1)] = 1; +A[i][indexof(12,2)] = 1; +C[i] = -h*delta*Tinf/k; +++i; + +real[] T = solve(A,C); + +pen[] Palette = Gradient(256,blue,cyan,yellow,orange,red); + +real[][] T = {T[0:13],T[13:26],T[0:13]}; +T = transpose(T); + +size3(15cm); +real w = 10; +real h = 5; +currentprojection = orthographic(2*(L,h,w),Y); +draw((L,t,0)--(L,0,0)--(L,0,w)--(0,0,w)--(0,-h,w)); +draw((0,t,w)--(0,t+h,w)--(0,t+h,0)--(0,t,0)); +draw((L,0,w)--(L,t,w)--(0,t,w)--(0,t,0)--(L,t,0)--(L,t,w)); + +real wo2 = 0.5*w; +draw((0,0,wo2)--(0,t,wo2)--(L,t,wo2)--(L,0,wo2)--cycle); + +// centre points +surface square = surface(shift(-0.5,-0.5,wo2)*unitsquare3); +surface bottomsquare = surface(shift(-0.5,-0.5,wo2)*scale(1,0.5,1)*unitsquare3); +surface topsquare = surface(shift(-0.5,0,wo2)*scale(1,0.5,1)*unitsquare3); +surface leftsquare = surface(shift(-0.5,-0.5,wo2)*scale(0.5,1,1)*unitsquare3); +surface rightsquare = surface(shift(0,-0.5,wo2)*scale(0.5,1,1)*unitsquare3); +surface NEcorner = surface(shift(0,0,wo2)*scale(0.5,0.5,1)*unitsquare3); +surface SEcorner = surface(shift(0,-0.5,wo2)*scale(0.5,0.5,1)*unitsquare3); +surface SWcorner = surface(shift(-0.5,-0.5,wo2)*scale(0.5,0.5,1)*unitsquare3); +surface NWcorner = surface(shift(-0.5,0,wo2)*scale(0.5,0.5,1)*unitsquare3); + +material lookupColour(int m,int n) +{ + int index = round(Palette.length*(T[m-1][n-1]-60)/(100-60)); + if(index >= Palette.length) index = Palette.length-1; + return emissive(Palette[index]); +} + +draw(shift(0,1,0)*rightsquare,lookupColour(1,2)); +for(int i = 2; i < 13; ++i) +{ + draw(shift(i-1,1,0)*square,lookupColour(i,2)); +} +draw(shift(12,1,0)*leftsquare,lookupColour(13,2)); + +draw(shift(0,2,0)*SEcorner,lookupColour(1,3)); +draw(shift(0,0,0)*NEcorner,lookupColour(1,1)); +for(int i = 2; i < 13; ++i) +{ + draw(shift(i-1,0,0)*topsquare,lookupColour(i,1)); + draw(shift(i-1,2,0)*bottomsquare,lookupColour(i,3)); +} +draw(shift(12,2,0)*SWcorner,lookupColour(13,3)); +draw(shift(12,0,0)*NWcorner,lookupColour(13,1)); + +// annotations +draw("$x$",(0,-h/2,w)--(L/4,-h/2,w),Y,Arrow3(HookHead2(normal=Z)),BeginBar3(Y)); +draw("$y$",(0,0,1.05*w)--(0,2t,1.05*w),Z,Arrow3(HookHead2(normal=X)), + BeginBar3(Z)); +draw("$z$",(L,-h/2,0)--(L,-h/2,w/4),Y,Arrow3(HookHead2(normal=X)),BeginBar3(Y)); + +draw("$L$",(0,-h/4,w)--(L,-h/4,w),-Y,Arrows3(HookHead2(normal=Z)), + Bars3(Y),PenMargins2); +draw("$w$",(L,-h/4,0)--(L,-h/4,w),-Y,Arrows3(HookHead2(normal=X)), + Bars3(Y),PenMargins2); +draw("$t$",(1.05*L,0,0)--(1.05*L,t,0),-2Z,Arrows3(HookHead2(normal=Z)), + Bars3(X),PenMargins2); + +label(ZY()*"$T_b$",(0,t+h/2,wo2)); + +label("$h$,$T_\infty$",(L/2,t+h/2,0),Y); +path3 air = (L/2,t+h/3,w/3.5)--(1.5*L/2,t+2*h/3,w/8); +draw(air,EndArrow3(TeXHead2)); +draw(shift(0.5,0,0)*air,EndArrow3(TeXHead2)); +draw(shift(1.0,0,0)*air,EndArrow3(TeXHead2)); diff --git a/Master/texmf-dist/doc/asymptote/examples/fjortoft.asy b/Master/texmf-dist/doc/asymptote/examples/fjortoft.asy new file mode 100644 index 00000000000..0ef81ca2c09 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/fjortoft.asy @@ -0,0 +1,27 @@ +size(15cm,0); + +pair d=(1.5,1); +real s=d.x+1; + +picture box(string s) { + picture pic; + draw(pic,box(0,d)); + label(pic,s,d/2); + return pic; +} + +add(box("$k_1$")); +add(shift(s)*box("$k_2$")); +add(shift(s)^2*box("$k_3$")); + +path g=(d.x,d.y/2)--(s,d.y/2); +path G=(d.x/2,-(s-d.x))--(d.x/2,0); + +draw(Label(baseline("$\ldots$")),shift(-s)*g,BeginArrow,BeginPenMargin); +draw(Label("$Z_1$"),g,BeginArrow,BeginPenMargin); +draw(Label("$E_1$",LeftSide),g,Blank); +draw(Label("$Z_3$"),shift(s)*g,Arrow,PenMargin); +draw(Label("$E_3$",LeftSide),shift(s)*g,Blank); +draw(Label("$Z_2$"),shift(s)*G,Arrow,PenMargin); +draw(Label("$E_2$",LeftSide),shift(s)*G,Blank); +draw(Label(baseline("$\ldots$")),shift(s)^2*g,Arrow,PenMargin); diff --git a/Master/texmf-dist/doc/asymptote/examples/floatingdisk.asy b/Master/texmf-dist/doc/asymptote/examples/floatingdisk.asy new file mode 100644 index 00000000000..be8b339767d --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/floatingdisk.asy @@ -0,0 +1,26 @@ +import trembling; +settings.outformat="pdf"; +size(6cm,0); + +real R=1/5; +real h=0.5; +real d=1/12; +real l=.7; + +pair pA=(-l,0); +pair pB=(l,0); + +tremble tr=tremble(angle=10,frequency=0.1,random=50,fuzz=1); +path waterline=tr.deform(pA..pB); + +path disk=shift(0,-d)*scale(R)*unitcircle; +path water=waterline--(l,-h)--(-l,-h)--(-l,0)--cycle; +path container=(l,1/7)--(l,-h)--(-l,-h)--(-l,1/7); + +filldraw(disk,red,linewidth(.3)); +fill(water,mediumgrey+opacity(0.5)); +draw(waterline); + +draw(container,linewidth(1.5)); + +shipout(bbox(2mm)); diff --git a/Master/texmf-dist/doc/asymptote/examples/floor.asy b/Master/texmf-dist/doc/asymptote/examples/floor.asy new file mode 100644 index 00000000000..02c2446abe8 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/floor.asy @@ -0,0 +1,28 @@ +import graph; +unitsize(1cm); + +real Floor(real x) {return floor(x);} + +pair[] Close; +pair[] Open; + +bool3 branch(real x) { + static real lasty; + static bool first=true; + real y=floor(x); + bool samebranch=first || lasty == y; + first=false; + if(samebranch) lasty=x; + else { + Close.push((x,lasty)); + Open.push((x,y)); + } + lasty=y; + return samebranch ? true : default; +}; + +draw(graph(Floor,-5.5,5.5,500,branch)); +axes("$x$",rotate(0)*"$\lfloor x\rfloor$",red); + +dot(Close); +dot(Open,UnFill); diff --git a/Master/texmf-dist/doc/asymptote/examples/flow.asy b/Master/texmf-dist/doc/asymptote/examples/flow.asy new file mode 100644 index 00000000000..aba6c5aa055 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/flow.asy @@ -0,0 +1,31 @@ +import graph; +defaultpen(1.0); + +size(0,150,IgnoreAspect); + +real arrowsize=4mm; +real arrowlength=2arrowsize; + +typedef path vector(real); + +// Return a vector interpolated linearly between a and b. +vector vector(pair a, pair b) { + return new path(real x) { + return (0,0)--arrowlength*interp(a,b,x); + }; +} + +real f(real x) {return 1/x;} + +real epsilon=0.5; +path g=graph(f,epsilon,1/epsilon); + +int n=3; +draw(g); +xaxis("$x$"); +yaxis("$y$"); + +add(vectorfield(vector(W,W),g,n,true)); +add(vectorfield(vector(NE,NW),(0,0)--(point(E).x,0),n,true)); +add(vectorfield(vector(NE,NE),(0,0)--(0,point(N).y),n,true)); + diff --git a/Master/texmf-dist/doc/asymptote/examples/flowchartdemo.asy b/Master/texmf-dist/doc/asymptote/examples/flowchartdemo.asy new file mode 100644 index 00000000000..796e357a5ff --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/flowchartdemo.asy @@ -0,0 +1,27 @@ +size(0,300); + +import flowchart; + +block block1=rectangle(Label("Example",magenta), + pack(Label("Start:",heavygreen),"",Label("$A:=0$",blue), + "$B:=1$"),(-0.5,3),palegreen,paleblue,red); +block block2=diamond(Label("Choice?",blue),(0,2),palegreen,red); +block block3=roundrectangle("Do something",(-1,1)); +block block4=bevel("Don't do something",(1,1)); +block block5=circle("End",(0,0)); + +draw(block1); +draw(block2); +draw(block3); +draw(block4); +draw(block5); + +add(new void(picture pic, transform t) { + blockconnector operator --=blockconnector(pic,t); + // draw(pic,block1.right(t)--block2.top(t)); + block1--Right--Down--Arrow--block2; + block2--Label("Yes",0.5,NW)--Left--Down--Arrow--block3; + block2--Right--Label("No",0.5,NE)--Down--Arrow--block4; + block4--Down--Left--Arrow--block5; + block3--Down--Right--Arrow--block5; + }); diff --git a/Master/texmf-dist/doc/asymptote/examples/fractaltree.asy b/Master/texmf-dist/doc/asymptote/examples/fractaltree.asy new file mode 100644 index 00000000000..c9775ec69d7 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/fractaltree.asy @@ -0,0 +1,27 @@ +size(200); + +path ltrans(path p,int d) +{ + path a=rotate(65)*scale(0.4)*p; + return shift(point(p,(1/d)*length(p))-point(a,0))*a; +} +path rtrans(path p, int d) +{ + path a=reflect(point(p,0),point(p,length(p)))*rotate(65)*scale(0.35)*p; + return shift(point(p,(1/d)*length(p))-point(a,0))*a; +} + +void drawtree(int depth, path branch) +{ + if(depth == 0) return; + real breakp=(1/depth)*length(branch); + draw(subpath(branch,0,breakp),deepgreen); + drawtree(depth-1,subpath(branch,breakp,length(branch))); + drawtree(depth-1,ltrans(branch,depth)); + drawtree(depth-1,rtrans(branch,depth)); + return; +} + +path start=(0,0)..controls (-1/10,1/3) and (-1/20,2/3)..(1/20,1); +drawtree(6,start); + diff --git a/Master/texmf-dist/doc/asymptote/examples/functionshading.asy b/Master/texmf-dist/doc/asymptote/examples/functionshading.asy new file mode 100644 index 00000000000..7cdeb6f4bf4 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/functionshading.asy @@ -0,0 +1,31 @@ +size(200); + +settings.tex="pdflatex"; + +// PostScript Calculator routine to convert from [0,1]x[0,1] to RG: +string redgreen="0"; + +// PostScript Calculator routine to convert from [0,1]x[0,1] to HS to RGB: +// (http://www.texample.net/tikz/examples/hsv-shading): +string hsv="0.5 sub exch 0.5 sub exch +2 copy 2 copy 0 eq exch 0 eq and { pop pop 0.0 } {atan 360.0 div} +ifelse dup 360 eq { pop 0.0 }{} ifelse 3 1 roll dup mul exch dup mul add +sqrt 2.5 mul 0.25 sub 1 1 index 1.0 +eq { 3 1 roll pop pop dup dup } { 3 -1 roll 6.0 mul dup 4 1 roll floor dup +5 1 roll 3 index sub neg 1.0 3 index sub 2 index mul 6 1 roll dup 3 index +mul neg 1.0 add 2 index mul 7 1 roll neg 1.0 add 2 index mul neg 1.0 add 1 +index mul 7 2 roll pop pop dup 0 eq { pop exch pop } { dup 1 eq { pop exch +4 1 roll exch pop } { dup 2 eq { pop 4 1 roll pop } { dup 3 eq { pop exch 4 +2 roll pop } { dup 4 eq { pop exch pop 3 -1 roll } { pop 3 1 roll exch pop +} ifelse } ifelse } ifelse } ifelse } ifelse } ifelse cvr 3 1 roll cvr 3 1 +roll cvr 3 1 roll"; + +path p=unitcircle; +functionshade(p,rgb(zerowinding),redgreen); +layer(); +draw(p); + +path g=shift(2*dir(-45))*p; +functionshade(g,rgb(zerowinding),hsv); +layer(); +draw(g); diff --git a/Master/texmf-dist/doc/asymptote/examples/galleon.asy b/Master/texmf-dist/doc/asymptote/examples/galleon.asy new file mode 100644 index 00000000000..1221fd5c862 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/galleon.asy @@ -0,0 +1,14 @@ +import obj; + +size(15cm); +currentprojection=orthographic(0,2,5,up=Y); + +// A compressed version of the required data file may be obtained from: +// http://www.cs.technion.ac.il/~irit/data/Viewpoint/galleon.obj.gz + +pen[] surfacepen={darkred,brown,darkred+orange,heavyred,heavyred,darkred+orange, + palegreen+blue+lightgrey,darkred,darkred,yellow,darkred,white, + white,white,white,white,white}; +surfacepen.cyclic=true; + +draw(obj("galleon.obj",verbose=false,surfacepen)); diff --git a/Master/texmf-dist/doc/asymptote/examples/gamma.asy b/Master/texmf-dist/doc/asymptote/examples/gamma.asy new file mode 100644 index 00000000000..f92dd775abb --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/gamma.asy @@ -0,0 +1,24 @@ +import graph; +size(300,IgnoreAspect); + +bool3 branch(real x) +{ + static int lastsign=0; + if(x <= 0 && x == floor(x)) return false; + int sign=sgn(gamma(x)); + bool b=lastsign == 0 || sign == lastsign; + lastsign=sign; + return b ? true : default; +} + +draw(graph(gamma,-4,4,n=2000,branch),red); + +scale(false); +xlimits(-4,4); +ylimits(-6,6); +crop(); + +xaxis("$x$",RightTicks(NoZero)); +yaxis(LeftTicks(NoZero)); + +label("$\Gamma(x)$",(1,2),red); diff --git a/Master/texmf-dist/doc/asymptote/examples/gamma3.asy b/Master/texmf-dist/doc/asymptote/examples/gamma3.asy new file mode 100644 index 00000000000..e522dad4e70 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/gamma3.asy @@ -0,0 +1,33 @@ +import graph3; +import palette; + +size(12cm,IgnoreAspect); +currentprojection=orthographic(1,-2,1); + +real X=4.5; +real M=abs(gamma((X,0))); + +pair Gamma(pair z) +{ + return (z.x > 0 || z != floor(z.x)) ? gamma(z) : M; +} + +real f(pair z) {return min(abs(Gamma(z)),M);} + +surface s=surface(f,(-2.1,-2),(X,2),70,Spline); + +real Arg(triple v) +{ + return degrees(Gamma((v.x,v.y)),warn=false); +} + +s.colors(palette(s.map(Arg),Wheel())); +draw(s,render(compression=Low,merge=true)); + +real xmin=point((-1,-1,-1)).x; +real xmax=point((1,1,1)).x; +draw((xmin,0,0)--(xmax,0,0),dashed); + +xaxis3("$\mathop{\rm Re} z$",Bounds,InTicks); +yaxis3("$\mathop{\rm Im} z$",Bounds,InTicks(beginlabel=false)); +zaxis3("$|\Gamma(z)|$",Bounds,InTicks); diff --git a/Master/texmf-dist/doc/asymptote/examples/generalaxis.asy b/Master/texmf-dist/doc/asymptote/examples/generalaxis.asy new file mode 100644 index 00000000000..dfe1000838e --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/generalaxis.asy @@ -0,0 +1,11 @@ +import graph; +size(0,100); + +path g=ellipse((0,0),1,2); + +scale(true); + +axis(Label("C",align=10W),g,LeftTicks(endlabel=false,8,end=false), + ticklocate(0,360,new real(real v) { + path h=(0,0)--max(abs(max(g)),abs(min(g)))*dir(v); + return intersect(g,h)[0];})); diff --git a/Master/texmf-dist/doc/asymptote/examples/generalaxis3.asy b/Master/texmf-dist/doc/asymptote/examples/generalaxis3.asy new file mode 100644 index 00000000000..68a01c8ce28 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/generalaxis3.asy @@ -0,0 +1,13 @@ +import graph3; + +size(0,100); + +path3 g=yscale3(2)*unitcircle3; +currentprojection=perspective(10,10,10); + +axis(Label("C",position=0,align=15X),g,InTicks(endlabel=false,8,end=false), + ticklocate(0,360,new real(real v) { + path3 h=O--max(abs(max(g)),abs(min(g)))*dir(90,v); + return intersect(g,h)[0];}, + new triple(real t) {return cross(dir(g,t),Z);})); + diff --git a/Master/texmf-dist/doc/asymptote/examples/graphmarkers.asy b/Master/texmf-dist/doc/asymptote/examples/graphmarkers.asy new file mode 100644 index 00000000000..f40f00d9ff6 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/graphmarkers.asy @@ -0,0 +1,37 @@ +import graph; + +size(200,100,IgnoreAspect); + +markroutine marks() { + return new void(picture pic=currentpicture, frame f, path g) { + path p=scale(1mm)*unitcircle; + for(int i=0; i <= length(g); ++i) { + pair z=point(g,i); + frame f; + if(i % 4 == 0) { + fill(f,p); + add(pic,f,z); + } else { + if(z.y > 50) { + pic.add(new void(frame F, transform t) { + path q=shift(t*z)*p; + unfill(F,q); + draw(F,q); + }); + } else { + draw(f,p); + add(pic,f,z); + } + } + } + }; +} + +pair[] f={(5,5),(40,20),(55,51),(90,30)}; + +draw(graph(f),marker(marks())); + +scale(true); + +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight,RightTicks); diff --git a/Master/texmf-dist/doc/asymptote/examples/grid.asy b/Master/texmf-dist/doc/asymptote/examples/grid.asy new file mode 100644 index 00000000000..a607ac78e28 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/grid.asy @@ -0,0 +1,7 @@ +import math; +size(100,0); + +add(shift(-5,-5)*grid(10,10)); + +dot((0,0),red); + diff --git a/Master/texmf-dist/doc/asymptote/examples/grid3xyz.asy b/Master/texmf-dist/doc/asymptote/examples/grid3xyz.asy new file mode 100644 index 00000000000..888b9202eee --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/grid3xyz.asy @@ -0,0 +1,17 @@ +import grid3; + +size(8cm,0,IgnoreAspect); +currentprojection=orthographic(0.5,1,0.5); + +scale(Linear, Linear, Log); + +limits((-2,-2,1),(0,2,100)); + +grid3(XYZgrid); + +xaxis3(Label("$x$",position=EndPoint,align=S),Bounds(Min,Min), + OutTicks()); +yaxis3(Label("$y$",position=EndPoint,align=S),Bounds(Min,Min),OutTicks()); +zaxis3(Label("$z$",position=EndPoint,align=(-1,0.5)),Bounds(Min,Min), + OutTicks(beginlabel=false)); + diff --git a/Master/texmf-dist/doc/asymptote/examples/hatch.asy b/Master/texmf-dist/doc/asymptote/examples/hatch.asy new file mode 100644 index 00000000000..126b5bec13a --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/hatch.asy @@ -0,0 +1,11 @@ +size(0,100); +import patterns; + +add("hatch",hatch()); +add("hatchback",hatch(NW)); +add("crosshatch",crosshatch(3mm)); + +real s=1.25; +filldraw(unitsquare,pattern("hatch")); +filldraw(shift(s,0)*unitsquare,pattern("hatchback")); +filldraw(shift(2s,0)*unitsquare,pattern("crosshatch")); diff --git a/Master/texmf-dist/doc/asymptote/examples/helix.asy b/Master/texmf-dist/doc/asymptote/examples/helix.asy new file mode 100644 index 00000000000..0925e0821b1 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/helix.asy @@ -0,0 +1,20 @@ +import graph3; + +size(0,200); +size3(200,IgnoreAspect); + +currentprojection=orthographic(4,6,3); + +real x(real t) {return cos(2pi*t);} +real y(real t) {return sin(2pi*t);} +real z(real t) {return t;} + +path3 p=graph(x,y,z,0,2.7,operator ..); + +draw(p,Arrow3); + +scale(true); + +xaxis3(XZ()*"$x$",Bounds,red,InTicks(Label,2,2)); +yaxis3(YZ()*"$y$",Bounds,red,InTicks(beginlabel=false,Label,2,2)); +zaxis3(XZ()*"$z$",Bounds,red,InTicks); diff --git a/Master/texmf-dist/doc/asymptote/examples/hierarchy.asy b/Master/texmf-dist/doc/asymptote/examples/hierarchy.asy new file mode 100644 index 00000000000..fdb833e652a --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/hierarchy.asy @@ -0,0 +1,9 @@ +texpreamble("\def\Ham{\mathop {\rm Ham}\nolimits}"); +pair align=2N; +frame f; +ellipse(f,Label("$\Ham(r,2)$",(0,0)),lightblue,Fill,above=false); +ellipse(f,Label("BCH Codes",point(f,N),align),green,Fill,above=false); +ellipse(f,Label("Cyclic Codes",point(f,N),align),lightmagenta,Fill,above=false); +ellipse(f,Label("Linear Codes",point(f,N),align),-4mm,orange,Fill,above=false); +box(f,Label("General Codes",point(f,N),align),2mm,yellow,Fill,above=false); +add(f); diff --git a/Master/texmf-dist/doc/asymptote/examples/histogram.asy b/Master/texmf-dist/doc/asymptote/examples/histogram.asy new file mode 100644 index 00000000000..ec00d6638d1 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/histogram.asy @@ -0,0 +1,19 @@ +import graph; +import stats; + +size(400,200,IgnoreAspect); + +int n=10000; +real[] a=new real[n]; +for(int i=0; i < n; ++i) a[i]=Gaussrand(); + +draw(graph(Gaussian,min(a),max(a)),blue); + +// Optionally calculate "optimal" number of bins a la Shimazaki and Shinomoto. +int N=bins(a); + +histogram(a,min(a),max(a),N,normalize=true,low=0,lightred,black,bars=false); + +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$dP/dx$",LeftRight,RightTicks(trailingzero)); + diff --git a/Master/texmf-dist/doc/asymptote/examples/hyperboloid.asy b/Master/texmf-dist/doc/asymptote/examples/hyperboloid.asy new file mode 100644 index 00000000000..22f3b3d80b0 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/hyperboloid.asy @@ -0,0 +1,8 @@ +size(200); +import solids; + +currentprojection=perspective(4,4,3); +revolution hyperboloid=revolution(graph(new triple(real z) { + return (sqrt(1+z*z),0,z);},-2,2,20,operator ..),axis=Z); +draw(surface(hyperboloid),green,render(compression=Low,merge=true)); +draw(hyperboloid,6,blue,longitudinalpen=nullpen); diff --git a/Master/texmf-dist/doc/asymptote/examples/hyperboloidsilhouette.asy b/Master/texmf-dist/doc/asymptote/examples/hyperboloidsilhouette.asy new file mode 100644 index 00000000000..1bb265de622 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/hyperboloidsilhouette.asy @@ -0,0 +1,9 @@ +size(200); +import solids; +settings.render=0; +settings.prc=false; + +currentprojection=perspective(4,4,3); +revolution hyperboloid=revolution(graph(new triple(real z) { + return (sqrt(1+z*z),0,z);},-2,2,20,operator ..),axis=Z); +draw(hyperboloid.silhouette(64),blue); diff --git a/Master/texmf-dist/doc/asymptote/examples/icon.asy b/Master/texmf-dist/doc/asymptote/examples/icon.asy new file mode 100644 index 00000000000..1701fe0f32e --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/icon.asy @@ -0,0 +1,22 @@ +import graph; + +size(30,30,IgnoreAspect); + +real f(real t) {return t < 0 ? -1/t : -0.5/t;} + +picture logo(pair s=0, pen q) +{ + picture pic; + pen p=linewidth(3)+q; + real a=-0.5; + real b=1; + real eps=0.1; + draw(pic,shift((eps,-f(a)))*graph(f,a,-eps),p); + real c=0.5*a; + pair z=(0,f(c)-f(a)); + draw(pic,z+c+eps--z,p); + yaxis(pic,p); + return shift(s)*pic; +} + +add(logo(red)); diff --git a/Master/texmf-dist/doc/asymptote/examples/image.asy b/Master/texmf-dist/doc/asymptote/examples/image.asy new file mode 100644 index 00000000000..37a2cf60172 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/image.asy @@ -0,0 +1,21 @@ +size(12cm,12cm); + +import graph; +import palette; + +int n=256; +real ninv=2pi/n; +real[][] v=new real[n][n]; + +for(int i=0; i < n; ++i) + for(int j=0; j < n; ++j) + v[i][j]=sin(i*ninv)*cos(j*ninv); + +pen[] Palette=BWRainbow(); + +picture bar; + +bounds range=image(v,(0,0),(1,1),Palette); +palette(bar,"$A$",range,(0,0),(0.5cm,8cm),Right,Palette, + PaletteTicks("$%+#.1f$")); +add(bar.fit(),point(E),30E); diff --git a/Master/texmf-dist/doc/asymptote/examples/imagecontour.asy b/Master/texmf-dist/doc/asymptote/examples/imagecontour.asy new file mode 100644 index 00000000000..6b5eb455cad --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/imagecontour.asy @@ -0,0 +1,38 @@ +import graph; +import palette; +import contour; + +size(10cm,10cm,IgnoreAspect); + +pair a=(0,0); +pair b=(2pi,2pi); + +real f(real x, real y) {return cos(x)*sin(y);} + +int N=200; +int Divs=10; +int divs=2; + +defaultpen(1bp); +pen Tickpen=black; +pen tickpen=gray+0.5*linewidth(currentpen); +pen[] Palette=BWRainbow(); + +bounds range=image(f,Automatic,a,b,N,Palette); + +// Major contours + +real[] Cvals=uniform(range.min,range.max,Divs); +draw(contour(f,a,b,Cvals,N,operator --),Tickpen); + +// Minor contours +real[] cvals; +for(int i=0; i < Cvals.length-1; ++i) + cvals.append(uniform(Cvals[i],Cvals[i+1],divs)[1:divs]); +draw(contour(f,a,b,cvals,N,operator --),tickpen); + +xaxis("$x$",BottomTop,LeftTicks,above=true); +yaxis("$y$",LeftRight,RightTicks,above=true); + +palette("$f(x,y)$",range,point(NW)+(0,0.5),point(NE)+(0,1),Top,Palette, + PaletteTicks(N=Divs,n=divs,Tickpen,tickpen)); diff --git a/Master/texmf-dist/doc/asymptote/examples/imagehistogram.asy b/Master/texmf-dist/doc/asymptote/examples/imagehistogram.asy new file mode 100644 index 00000000000..d3bdc783757 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/imagehistogram.asy @@ -0,0 +1,47 @@ +import stats; +import graph; +import palette; +import contour; + +size(20cm); + +scale(false); + +pair[] data=new pair[50000]; +for(int i=0; i < data.length; ++i) + data[i]=Gaussrandpair(); + +// Histogram limits and number of bins +pair datamin=(-0.15,-0.15); +pair datamax=(0.15,0.15); +int Nx=30; +int Ny=30; + +int[][] bins=frequency(data,datamin,datamax,Nx,Ny); + +real[] values=new real[Nx*Ny]; +pair[] points=new pair[Nx*Ny]; +int k=0; +real dx=(datamax.x-datamin.x)/Nx; +real dy=(datamax.y-datamin.y)/Ny; +for(int i=0; i < Nx; ++i) { + for(int j=0; j < Ny; ++j) { + values[k]=bins[i][j]; + points[k]=(datamin.x+(i+0.5)*dx,datamin.y+(j+0.5)*dy); + ++k; + } +} + +// Create a color palette +pen[] InvGrayscale(int NColors=256) { + real ninv=1.0/(NColors-1.0); + return sequence(new pen(int i) {return gray(1-17*i*ninv);},NColors); +} + +// Draw the histogram, with axes +bounds range=image(points,values,Range(0,40),InvGrayscale()); +draw(contour(points,values,new real[] {1,2,3,4,8,12,16,20,24,28,32,36,40}, + operator--),blue); +xaxis("$x$",BottomTop,LeftTicks,above=true); +yaxis("$y$",LeftRight,RightTicks,above=true); + diff --git a/Master/texmf-dist/doc/asymptote/examples/impact.asy b/Master/texmf-dist/doc/asymptote/examples/impact.asy new file mode 100644 index 00000000000..d9039697779 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/impact.asy @@ -0,0 +1,29 @@ +// Contributed by Philippe Ivaldi. +// http://www.piprime.fr/ + +import graph3 ; +import contour; +size (6cm,0); +currentprojection=orthographic(1,1,1) ; + +real rc=1, hc=2, c=rc/hc; +draw(shift(hc*Z)*scale(rc,rc,-hc)*unitcone,blue); + +triple Os=(0.5,0.5,1); +real r=0.5; +draw(shift(Os)*scale3(r)*unitsphere,red); + +real a=1+1/c^2; +real b=abs(Os)^2-r^2; + +real f(pair z) +{ + real x=z.x, y=z.y; + return a*x^2-2*Os.x*x+a*y^2-2*Os.y*y-2*Os.z*sqrt(x^2+y^2)/c+b; +} + +real g(pair z){return (sqrt(z.x^2+z.y^2))/c;} + +draw(lift(g,contour(f,(-rc,-rc),(rc,rc),new real[]{0})),linewidth(2bp)+yellow); + +axes3("$x$","$y$","$z$",Arrow3); diff --git a/Master/texmf-dist/doc/asymptote/examples/integraltest.asy b/Master/texmf-dist/doc/asymptote/examples/integraltest.asy new file mode 100644 index 00000000000..c45b1eb8f17 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/integraltest.asy @@ -0,0 +1,38 @@ +import graph; +size(300,150,IgnoreAspect); + +real f(real x) {return 1/x^(1.1);} +pair F(real x) {return (x,f(x));} + +dotfactor=7; + +void subinterval(real a, real b) +{ + path g=box((a,0),(b,f(b))); + filldraw(g,lightgray); + draw(box((a,f(a)),(b,0))); +} + +int a=1, b=9; + +xaxis("$x$",0,b); +yaxis("$y$",0); + +draw(graph(f,a,b,operator ..),red); + +int n=2; + +for(int i=a; i <= b; ++i) { + if(i < b) subinterval(i,i+1); + if(i <= n) labelx(i); + dot(F(i)); +} + +int i=n; +labelx("$\ldots$",++i); +labelx("$k$",++i); +labelx("$k+1$",++i); +labelx("$\ldots$",++i); + +arrow("$f(x)$",F(i-1.5),NE,1.5cm,red,Margin(0,0.5)); + diff --git a/Master/texmf-dist/doc/asymptote/examples/interpolate1.asy b/Master/texmf-dist/doc/asymptote/examples/interpolate1.asy new file mode 100644 index 00000000000..8845c8dd2f8 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/interpolate1.asy @@ -0,0 +1,226 @@ +// Lagrange and Hermite interpolation in Asymptote +// Author: Olivier Guibé + +import interpolate; +import graph; + +// Test 1: The Runge effect in the Lagrange interpolation of 1/(x^2+1). + +unitsize(2cm); + +real f(real x) {return(1/(x^2+1));} +real df(real x) {return(-2*x/(x^2+1)^2);} + +real a=-5, b=5; +int n=15; +real[] x,y,dy; +x=a+(b-a)*sequence(n+1)/n; +y=map(f,x); +dy=map(df,x); +for(int i=0; i <= n; ++i) + dot((x[i],y[i]),5bp+blue); +horner h=diffdiv(x,y); +fhorner p=fhorner(h); +draw(graph(p,a,b,n=500),"$x\longmapsto{}L_{"+string(n)+"}$"); +draw(graph(f,a,b),red,"$x\longmapsto{}\frac{1}{x^2+1}$"); + +xlimits(-5,5); +ylimits(-1,1,Crop); + +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight,RightTicks); + +attach(legend(),point(10S),30S); + +shipout("runge1"); + +erase(); + +// Test 2: The Runge effect in the Hermite interpolation of 1/(x^2+1). + +real f(real x) {return(1/(x^2+1));} +real df(real x) {return(-2*x/(x^2+1)^2);} + +real a=-5, b=5; +int n=16; +real[] x,y,dy; +x=a+(b-a)*sequence(n+1)/n; +y=map(f,x); +dy=map(df,x); +for(int i=0; i <= n; ++i) + dot((x[i],y[i]),5bp+blue); +horner h=hdiffdiv(x,y,dy); +fhorner ph=fhorner(h); +draw(graph(p,a,b,n=500),"$x\longmapsto{}H_{"+string(n)+"}$"); +draw(graph(f,a,b),red,"$x\longmapsto{}\frac{1}{x^2+1}$"); + +unitsize(2cm); + +xlimits(-5,5); +ylimits(-1,5,Crop); + +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight,RightTicks); + +attach(legend(),point(10S),30S); + +shipout("runge2"); + +erase(); + +// Test 3: The Runge effect does not occur for all functions: +// Lagrange interpolation of a function whose successive derivatives +// are bounded by a constant M (here M=1) is shown here to converge. + +real f(real x) {return(sin(x));} +real df(real x) {return(cos(x));} + +real a=-5, b=5; +int n=16; +real[] x,y,dy; +x=a+(b-a)*sequence(n+1)/n; +y=map(f,x); +dy=map(df,x); +for(int i=0; i <= n; ++i) + dot((x[i],y[i]),5bp+blue); +horner h=diffdiv(x,y); +fhorner p=fhorner(h); + +draw(graph(p,a,b,n=500),"$x\longmapsto{}L_{"+string(n)+"}$"); +draw(graph(f,a,b),red,"$x\longmapsto{}\cos(x)$"); + +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight,RightTicks); + +attach(legend(),point(10S),30S); + +shipout("runge3"); + +erase(); + +// Test 4: However, one notes here that numerical artifacts may arise +// from limit precision (typically 1e-16). + +real f(real x) {return(sin(x));} +real df(real x) {return(cos(x));} + +real a=-5, b=5; +int n=72; +real[] x,y,dy; +x=a+(b-a)*sequence(n+1)/n; +y=map(f,x); +dy=map(df,x); +for(int i=0; i <= n; ++i) + dot((x[i],y[i]),5bp+blue); +horner h=diffdiv(x,y); +fhorner p=fhorner(h); + +draw(graph(p,a,b,n=500),"$x\longmapsto{}L_{"+string(n)+"}$"); +draw(graph(f,a,b),red,"$x\longmapsto{}\cos(x)$"); + +ylimits(-1,5,Crop); + +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight,RightTicks); + +attach(legend(),point(10S),30S); + +shipout("runge4"); + +erase(); + +// Test 5: The situation is much better using Tchebychev points. + +unitsize(2cm); + +real f(real x) {return(1/(x^2+1));} +real df(real x) {return(-2*x/(x^2+1)^2);} + +real a=-5, b=5; +int n=16; +real[] x,y,dy; +fhorner p,ph,ph1; +for(int i=0; i <= n; ++i) + x[i]=(a+b)/2+(b-a)/2*cos((2*i+1)/(2*n+2)*pi); +y=map(f,x); +dy=map(df,x); +for(int i=0; i <= n; ++i) + dot((x[i],y[i]),5bp+blue); +horner h=diffdiv(x,y); +fhorner p=fhorner(h); + +draw(graph(p,a,b,n=500),"$x\longmapsto{}T_{"+string(n)+"}$"); +draw(graph(f,a,b),red,"$x\longmapsto{}\frac{1}{x^2+1}$"); + +xlimits(-5,5); +ylimits(-1,2,Crop); + +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight,RightTicks); +attach(legend(),point(10S),30S); + +shipout("runge5"); + +erase(); + +// Test 6: Adding a few more Tchebychev points yields a very good result. + +unitsize(2cm); + +real f(real x) {return(1/(x^2+1));} +real df(real x) {return(-2*x/(x^2+1)^2);} + +real a=-5, b=5; +int n=26; +real[] x,y,dy; +for(int i=0; i <= n; ++i) + x[i]=(a+b)/2+(b-a)/2*cos((2*i+1)/(2*n+2)*pi); +y=map(f,x); +dy=map(df,x); +for(int i=0; i <= n; ++i) + dot((x[i],y[i]),5bp+blue); +horner h=diffdiv(x,y); +fhorner p=fhorner(h); +draw(graph(p,a,b,n=500),"$x\longmapsto{}T_{"+string(n)+"}$"); +draw(graph(f,a,b),red,"$x\longmapsto{}\frac{1}{x^2+1}$"); + +xlimits(-5,5); +ylimits(-1,2,Crop); + +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight,RightTicks); +attach(legend(),point(10S),30S); + + +shipout("runge6"); + +erase(); + +// Test 7: Another Tchebychev example. + +unitsize(2cm); + +real f(real x) {return(sqrt(abs(x-1)));} + +real a=-2, b=2; +int n=30; +real[] x,y,dy; +for(int i=0; i <= n; ++i) + x[i]=(a+b)/2+(b-a)/2*cos((2*i+1)/(2*n+2)*pi); +y=map(f,x); +dy=map(df,x); +for(int i=0; i <= n; ++i) + dot((x[i],y[i]),5bp+blue); +horner h=diffdiv(x,y); +fhorner p=fhorner(h); +draw(graph(p,a,b,n=500),"$x\longmapsto{}T_{"+string(n)+"}$"); +draw(graph(f,a,b),red,"$x\longmapsto{}\sqrt{|x-1|}$"); + +xlimits(-2,2); +ylimits(-0.5,2,Crop); + +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight,RightTicks); +attach(legend(),point(10S),30S); + +shipout("runge7"); diff --git a/Master/texmf-dist/doc/asymptote/examples/intro.asy b/Master/texmf-dist/doc/asymptote/examples/intro.asy new file mode 100644 index 00000000000..fcafefb32a6 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/intro.asy @@ -0,0 +1,958 @@ +orientation=Landscape; + +settings.tex="pdflatex"; + +import slide; +import three; +import animate; + +bool long=true; + +usepackage("mflogo"); + +usersetting(); + +viewportsize=pagewidth-2pagemargin; + +// To generate bibliographic references: +// asy -k goysr +// bibtex goysr_ +bibliographystyle("alpha"); + +itempen=fontsize(22pt); +defaultpen(itempen); +viewportmargin=(2,2); + +titlepage(long ? "Asymptote: The Vector Graphics Language" : + "Interactive TeX-Aware 3D Vector Graphics", + "John Bowman and Andy Hammerlindl", +"Department of Mathematical and Statistical Sciences\\ + University of Alberta\\ +%and Instituto Nacional de Matem\'atica Pura e Aplicada (IMPA) +\medskip\Green{Collaborators: Orest Shardt, Michail Vidiassov}", +"June 30, 2010", +"http://asymptote.sf.net/intro.pdf"); + +title("History"); +item("1979: \TeX\ and \MF\ (Knuth)"); +item("1986: 2D B\'ezier control point selection (Hobby)"); +item("1989: MetaPost (Hobby)"); +item("2004: Asymptote"); +subitem("2004: initial public release (Hammerlindl, Bowman, \& Prince)"); +subitem("2005: 3D B\'ezier control point selection (Bowman)"); +subitem("2008: 3D interactive \TeX\ within PDF files (Shardt \& Bowman)"); +subitem("2009: 3D billboard labels that always face camera (Bowman)"); +subitem("2010: 3D PDF enhancements (Vidiassov \& Bowman)"); + +title("Statistics (as of June, 2010)"); +item("Runs under Linux/UNIX, Mac OS X, Microsoft Windows."); +item("4000 downloads/month from primary\hfill\\ + {\tt asymptote.sourceforge.net} site alone."); +item("80\ 000 lines of low-level C++ code."); +item("36\ 000 lines of high-level Asymptote code."); + +if(long) { +title("Vector Graphics"); +item("Raster graphics assign colors to a grid of pixels."); +figure("pixel.pdf"); +item("Vector graphics are graphics which still maintain their look when + inspected at arbitrarily small scales."); +asyfigure(asywrite(" +picture pic; + +path zoombox(real h) { + return box((-h,-h/2),(min(10,h),min(10,h)/2)); +} + +frame zoom(real h, real next=0) { + frame f; + draw(f, (0,-100){W}..{E}(0,0), Arrow); + clip(f, zoombox(h)); + if(next > 0) + draw(f, zoombox(next)); + + return scale(100/h)*f; +} + +add(zoom(100), (0,0)); +add(zoom(10), (200,0)); +add(zoom(1), (400,0)); +")); +} + +title("Cartesian Coordinates"); + +item("Asymptote's graphical capabilities are based on four primitive + commands: {\tt draw}, {\tt label}, {\tt fill}, {\tt clip} \cite{Bowman08}"); + +asyfilecode("diagonal"); +item("units are {\tt PostScript} {\it big points\/} (1 {\tt bp} = +1/72 {\tt inch})"); +item("{\tt --} means join the points with a linear segment to create +a {\it path}"); + +item("{\it cyclic\/} path:"); + +asycode(" +draw((0,0)--(100,0)--(100,100)--(0,100)--cycle); +"); + +title("Scaling to a Given Size"); + +item("{\tt PostScript} units are often inconvenient."); + +item("Instead, scale user coordinates to a specified final size:"); + +asyfilecode("square"); + +item("One can also specify the size in {\tt cm}:"); + +asycode(" +size(3cm,3cm); +draw(unitsquare); +"); + +title("Labels"); + +item("Adding and aligning \LaTeX\ labels is easy:"); + +asycode(preamble="defaultpen(fontsize("+string(fontsize(itempen))+"));", +"size(6cm); +draw(unitsquare); +label(\"$A$\",(0,0),SW); +label(\"$B$\",(1,0),SE); +label(\"$C$\",(1,1),NE); +label(\"$D$\",(0,1),NW); +"); + +title("2D B\'ezier Splines"); + +item("Using {\tt ..} instead of {\tt --} specifies a {\it B\'ezier cubic +spline}:"); + +code(" +draw(z0 .. controls c0 and c1 .. z1,blue); +"); +asyfigure(asywrite("defaultpen(fontsize("+string(fontsize(itempen))+")); +size(0,7cm); +pair z0=(0,0); +pair c0=(1,1); +pair c1=(2,1); +pair z1=(3,0); +draw(z0..controls c0 and c1 .. z1,blue); +draw(z0--c0--c1--z1,dashed); +dot(\"$z_0$\",z0,W,red); +dot(\"$c_0$\",c0,NW,red); +dot(\"$c_1$\",c1,NE,red); +dot(\"$z_1$\",z1,red); +")); + +equation("(1-t)^3 z_0+3t(1-t)^2 c_0+3t^2(1-t) c_1+t^3 z_1, \qquad t\in [0,1]."); + +title("Smooth Paths"); + +item("Asymptote can choose control points for you, using the algorithms of +Hobby and Knuth \cite{Hobby86,Knuth86b}:"); + +string bean=" +pair[] z={(0,0), (0,1), (2,1), (2,0), (1,0)}; +"; + +asycode(preamble="size(130,0);",bean+" +draw(z[0]..z[1]..z[2]..z[3]..z[4]..cycle, + grey+linewidth(5)); +dot(z,linewidth(7)); +"); + +item("First, linear equations involving the curvature are solved to find the + direction through each knot. Then, control points along those directions + are chosen:"); + +asyfigure(asywrite(preamble="size(130,0);",bean+" +path p=z[0]..z[1]..z[2]..z[3]..z[4]..cycle; + +dot(z); +draw(p,lightgrey+linewidth(5)); +dot(z); + +picture output; +save(); +for(int i=0; i<length(p); ++i) { + pair z=point(p,i), dir=dir(p,i); + draw((z-0.3dir)--(z+0.3dir), Arrow); +} +add(output, currentpicture.fit(), (-0.5inch, 0), W); +restore(); + +save(); +guide g; +for(int i=0; i<length(p); ++i) { + dot(precontrol(p,i)); + dot(postcontrol(p,i)); + g=g--precontrol(p,i)--point(p,i)--postcontrol(p,i); +} +draw(g--cycle,dashed); +add(output, currentpicture.fit(), (+0.5inch, 0), E); +restore(); + +shipout(output); +")); + +title("Filling"); +item("The {\tt fill} primitive to fill the inside of a path:"); +asycode(preamble="size(0,200);"," +path star; +for(int i=0; i < 5; ++i) + star=star--dir(90+144i); +star=star--cycle; + +fill(star,orange+zerowinding); +draw(star,linewidth(3)); + +fill(shift(2,0)*star,blue+evenodd); +draw(shift(2,0)*star,linewidth(3)); +"); + +title("Filling"); +item("Use a list of paths to fill a region with holes:"); +asycode(preamble="size(0,300);"," +path[] p={scale(2)*unitcircle, reverse(unitcircle)}; +fill(p,green+zerowinding); +"); + +title("Clipping"); +item("Pictures can be clipped to a path:"); +asycode(preamble=" +size(0,200); +guide star; +for(int i=0; i<5; ++i) + star=star--dir(90+144i); +star=star--cycle;"," +fill(star,orange+zerowinding); +clip(scale(0.7)*unitcircle); +draw(scale(0.7)*unitcircle); +"); + +title("Affine Transforms"); + +item("Affine transformations: shifts, rotations, reflections, and scalings + can be applied to pairs, paths, pens, strings, and even whole pictures:"); + +code(" +fill(P,blue); +fill(shift(2,0)*reflect((0,0),(0,1))*P, red); +fill(shift(4,0)*rotate(30)*P, yellow); +fill(shift(6,0)*yscale(0.7)*xscale(2)*P, green); +"); +asyfigure(asywrite(" +size(500,0); +real bw=0.15; +real sw=0.2; +real r=0.15; + +path outside=(0,0)--(0,1)-- + (bw+sw,1)..(bw+sw+r+bw,1-(r+bw))..(bw+sw,1-2(r+bw))-- + (bw,1-2(r+bw))--(bw,0)--cycle; +path inside=(bw,1-bw-2r)--(bw,1-bw)-- + (bw+sw,1-bw)..(bw+sw+r,1-bw-r)..(bw+sw,1-bw-2r)--cycle; +//fill(new path[] {outside, reverse(inside)},yellow); + +path[] P={outside, reverse(inside)}; + +fill(P,blue); +fill(shift(2,0)*reflect((0,0),(0,1))*P, red); +fill(shift(4,0)*rotate(30)*P, yellow); +fill(shift(6,0)*yscale(0.7)*xscale(2)*P, green); +")); + +if(long) { +title("C++/Java-like Programming Syntax"); + +code("// Declaration: Declare x to be real: +real x; + +// Assignment: Assign x the value 1. +x=1.0; + +// Conditional: Test if x equals 1 or not. +if(x == 1.0) { + write(\"x equals 1.0\"); +} else { + write(\"x is not equal to 1.0\"); +} + +// Loop: iterate 10 times +for(int i=0; i < 10; ++i) { + write(i); +}"); +} + +title("Modules"); + +item("There are modules for Feynman diagrams,"); +asyfigure("eetomumu","height=6cm"); +remark("data structures,"); +asyfigure(asywrite(" +import binarytree; + +binarytree bt=binarytree(1,2,4,nil,5,nil,nil,0,nil,nil,3,6,nil,nil,7); +draw(bt); +"),"height=6cm"); +newslide(); +remark("algebraic knot theory:"); +asyfigure("knots"); +equations("\Phi\Phi(x_1,x_2,x_3,x_4,x_5) + = &\rho_{4b}(x_1+x_4,x_2,x_3,x_5) + \rho_{4b}(x_1,x_2,x_3,x_4) \\ + + &\rho_{4a}(x_1,x_2+x_3,x_4,x_5) - \rho_{4b}(x_1,x_2,x_3,x_4+x_5) \\ + - &\rho_{4a}(x_1+x_2,x_3,x_4,x_5) - \rho_{4a}(x_1,x_2,x_4,x_5)."); + +if(long) { +title("Textbook Graph"); +asy(nativeformat(),"exp"); +filecode("exp.asy"); +label(graphic("exp."+nativeformat(),"height=10cm"),(0.5,0), + Fill(figureborder,figuremattpen)); + +title("Scientific Graph"); +asyfilecode("lineargraph","height=13cm",newslide=true); + +title("Data Graph"); +asyfilecode("datagraph","height=13cm",newslide=true); + +title("Imported Data Graph"); +asyfilecode("filegraph","height=15cm",newslide=true); + +title("Logarithmic Graph"); +asyfilecode("loggraph","height=15cm",newslide=true); +title("Secondary Axis"); +} else +title("Scientific Graph"); + +asyfigure("secondaryaxis","height=15cm"); + +title("Images and Contours"); +asyfigure("imagecontour","height=17cm"); + +title("Multiple Graphs"); +asyfigure("diatom","height=17cm"); + +title("Hobby's 2D Direction Algorithm"); +item("A tridiagonal system of linear equations is solved to determine any unspecified directions $\phi_k$ and $\theta_k$ through each knot $z_k$:"); + +equation("\frac{\theta_{k-1}-2\phi_k}{\ell_k}= +\frac{\phi_{k+1}-2\theta_k}{\ell_{k+1}}."); + +asyfigure("Hobbydir","height=9cm"); + +item("The resulting shape may be adjusted by modifying optional {\it tension\/} parameters and {\it curl\/} boundary conditions."); + +title("Hobby's 2D Control Point Algorithm"); +item("Having prescribed outgoing and incoming path directions $e^{i\theta}$ +at node~$z_0$ and $e^{i\phi}$ at node $z_1$ relative to the +vector $z_1-z_0$, the control points are determined as:"); + +equations("u&=&z_0+e^{i\theta}(z_1-z_0)f(\theta,-\phi),\nonumber\\ +v&=&z_1-e^{i\phi}(z_1-z_0)f(-\phi,\theta),"); + +remark("where the relative distance function $f(\theta,\phi)$ is given by Hobby [1986]."); + +asyfigure("Hobbycontrol","height=9cm"); + +if(long) { +title("B\'ezier Curves in 3D"); + +item("Apply an affine transformation"); + +equation("x'_i=A_{ij} x_j+C_i"); + +remark("to a B\'ezier curve:"); + +equation("\displaystyle x(t)=\sum_{k=0}^3 B_k(t) P_k, \qquad t\in [0,1]."); + +item("The resulting curve is also a B\'ezier curve:"); + +skip(-2); + +equations("x'_i(t)&=&\sum_{k=0}^3 B_k(t) A_{ij}(P_k)_j+C_i\nonumber\\ +&=&\sum_{k=0}^3 B_k(t) P'_k,"); + +skip(-2); + +remark("where $P'_k$ is the transformed $k^{\rm th}$ control point, noting +$\displaystyle\sum_{k=0}^3 B_k(t)=1.$"); +} + +title("3D Generalization of Direction Algorithm"); + +item("Must reduce to 2D algorithm in planar case."); + +item("Determine directions by applying Hobby's algorithm in the plane containing $z_{k-1}$, $z_k$, $z_{k+1}$."); + +// Reformulate Hobby's equations in terms of the angle $\psi_k=$ +item("The only ambiguity that can arise is the overall sign of the angles, which relates to viewing each 2D plane from opposing normal directions."); + +item("A reference vector based on the mean unit normal of successive segments can be used to resolve such ambiguities \cite{Bowman07,Bowman09}"); + +title("3D Control Point Algorithm"); + +item("Express Hobby's algorithm in terms of the absolute directions $\omega_0$ and~$\omega_1$:"); +skip(-1); +equation("u=z_0+\omega_0\left|z_1-z_0\right|f(\theta,-\phi),"); +equation("v=z_1-\omega_1\left|z_1-z_0\right|f(-\phi,\theta),"); + +asyfigure("Hobbycontrol"); + +remark("interpreting $\theta$ and $\phi$ as the angle between the corresponding path direction vector and $z_1-z_0$."); + +item("Here there is an unambiguous reference vector for determining the relative sign of the angles $\phi$ and $\theta$."); + +viewportmargin=(2,0.5cm); +//defaultpen(1.0); +title("Interactive 3D Saddle"); +item("A unit circle in the $X$--$Y$ plane may be constructed with: +{\tt (1,0,0)..(0,1,0)..(-1,0,0)..(0,-1,0)..cycle}:"); +asyinclude("unitcircle3",8cm); +remark("and then distorted into the saddle\\ +{\tt (1,0,0)..(0,1,1)..(-1,0,0)..(0,-1,1)..cycle}:"); +asyinclude("saddle",8cm); +//defaultpen(0.5); + +title("Lifting TeX to 3D"); +item("Glyphs are first split into simply connected regions and then decomposed into planar B\'ezier surface patches \cite{Bowman09,Shardt10}:"); +asyfigure("../examples/partitionExample"); + +viewportmargin=(2,1cm); +title("Label Manipulation"); +item("They can then be extruded and/or arbitrarily transformed:"); +asyinclude("../examples/label3solid"); + +title("Billboard Labels"); +defaultpen(fontsize(36pt)); +asyinclude("../examples/billboard",15cm); +defaultpen(itempen); + +title("Smooth 3D surfaces"); +asyinclude("../examples/sinc",25cm); + +title("Curved 3D Arrows"); +asyinclude("../examples/arrows3",20cm); + +title("Slide Presentations"); +item("Asymptote has a module for preparing slides."); +item("It even supports embedded high-resolution PDF movies."); + +code(' +title("Slide Presentations"); +item("Asymptote has a module for preparing slides."); +item("It even supports embedded high-resolution PDF movies."); +'); +remark("\quad\ldots"); + +import graph; + +pen p=linewidth(1); +pen dotpen=linewidth(5); + +pair wheelpoint(real t) {return (t+cos(t),-sin(t));} + +guide wheel(guide g=nullpath, real a, real b, int n) +{ + real width=(b-a)/n; + for(int i=0; i <= n; ++i) { + real t=a+width*i; + g=g--wheelpoint(t); + } + return g; +} + +real t1=0; +real t2=t1+2*pi; + +picture base; +draw(base,circle((0,0),1),p); +draw(base,wheel(t1,t2,100),p+linetype("0 2")); +yequals(base,Label("$y=-1$",1.0),-1,extend=true,p+linetype("4 4")); +xaxis(base,Label("$x$",align=3SW),0,p); +yaxis(base,"$y$",0,1.3,p); +pair z1=wheelpoint(t1); +pair z2=wheelpoint(t2); +dot(base,z1,dotpen); +dot(base,z2,dotpen); + +animation a; + +int n=25; +real dt=(t2-t1)/n; +for(int i=0; i <= n; ++i) { + picture pic; + size(pic,24cm); + real t=t1+dt*i; + add(pic,base); + draw(pic,circle((t,0),1),p+red); + dot(pic,wheelpoint(t),dotpen); + a.add(pic); +} + +display(a.pdf(delay=150,"controls")); + +title("Automatic Sizing"); +item("Figures can be specified in user coordinates, then + automatically scaled to the desired final size."); +asyfigure(asywrite(" +import graph; + +size(0,100); + +frame cardsize(real w=0, real h=0, bool keepAspect=Aspect) { + picture pic; + pic.size(w,h,keepAspect); + + real f(real t) {return 1+cos(t);} + + guide g=polargraph(f,0,2pi,operator ..)--cycle; + filldraw(pic,g,pink); + + xaxis(pic,\"$x$\",above=true); + yaxis(pic,\"$y$\",above=true); + + dot(pic,\"$(a,0)$\",(1,0),N); + dot(pic,\"$(2a,0)$\",(2,0),N+E); + + frame f=pic.fit(); + label(f,\"{\tt size(\"+string(w)+\",\"+string(h)+\");}\",point(f,S),align=S); + return f; +} + +add(cardsize(0,50), (0,0)); +add(cardsize(0,100), (230,0)); +add(cardsize(0,200), (540,0)); +")); + +title("Deferred Drawing"); +item("We can't draw a graphical object until we know the scaling + factors for the user coordinates."); +item("Instead, store a function that, given the scaling information, draws + the scaled object."); +code(" +void draw(picture pic=currentpicture, path g, pen p=currentpen) { + pic.add(new void(frame f, transform t) { + draw(f,t*g,p); + }); + pic.addPoint(min(g),min(p)); + pic.addPoint(max(g),max(p)); +} +"); + +title("Coordinates"); +item("Store bounding box information as the sum of user and true-size + coordinates:"); +asyfigure(asywrite(" +size(0,150); + +path q=(0,0){dir(70)}..{dir(70)}(100,50); +pen p=rotate(30)*yscale(0.7)*(lightblue+linewidth(20)); +draw(q,p); +draw((90,10),p); + +currentpicture.add(new void(frame f, transform t) { + draw(f,box(min(t*q)+min(p),max(t*q)+max(p)), dashed); + }); + +draw(box(min(q),max(q))); + +frame f; +draw(f,box(min(p),max(p))); + +add(f,min(q)); +add(f,max(q)); + +draw(q); +")); + +code("pic.addPoint(min(g),min(p)); +pic.addPoint(max(g),max(p));"); +item("Filling ignores the pen width:"); +code("pic.addPoint(min(g),(0,0)); +pic.addPoint(max(g),(0,0));"); +item("Communicate with \LaTeX\ {\it via\/} a pipe to determine label sizes:"); + +asyfigure(asywrite(" +size(0,100); + +pen p=fontsize(30pt); +frame f; +label(f, \"$E=mc^2$\", p); +draw(f, box(min(f),max(f))); +shipout(f); +")); + +title("Sizing"); + +item("When scaling the final figure to a given size $S$, we first need to + determine a scaling factor $a>0$ and a shift $b$ so that all of the + coordinates when transformed will lie in the interval $[0,S]$."); + +item("That is, if $u$ and $t$ are the user and truesize components:"); +equation("0\le au+t+b \le S."); + +item("Maximize the variable $a$ subject to a number of inequalities."); + +item("Use the simplex method to solve the resulting linear programming problem."); + +if(long) { +title("Sizing"); +item("Every addition of a coordinate $(t,u)$ adds two restrictions"); +equation("au+t+b\ge 0,"); +equation("au+t+b\le S,"); +remark("and each drawing component adds two coordinates."); +item("A figure could easily produce thousands of restrictions, making the + simplex method impractical."); + +item("Most of these restrictions are redundant, however. For instance, with + concentric circles, only the largest circle needs to be accounted for."); +asyfigure(asywrite(" +import palette; +size(160,0); +pen[] p=Rainbow(NColors=11); +for(int i=1; i<10; ++i) { + draw(scale(i)*unitcircle, p[i]+linewidth(2)); +} +")); + +title("Redundant Restrictions"); +item("In general, if $u\le u'$ and $t\le t'$ then"); +equation("au+t+b\le au'+t'+b"); +remark("for all choices of $a>0$ and $b$, so"); +equation("0\le au+t+b\le au'+t'+b\le S."); +item("This defines a partial ordering on coordinates. When sizing a picture, + the program first computes which coordinates are maximal (or minimal) and + only sends effective constraints to the simplex algorithm."); +item("In practice, the linear programming problem will have less than a dozen + restraints."); +item("All picture sizing is implemented in Asymptote code."); +} + +title("Infinite Lines"); +item("Deferred drawing allows us to draw infinite lines."); +code("drawline(P, Q);"); + +asyfigure("elliptic","height=12cm"); + +title("Helpful Math Notation"); + +item("Integer division returns a {\tt real}. Use {\tt quotient} for an integer + result:"); +code("3/4 == 0.75 quotient(3,4) == 0"); + +item("Caret for real and integer exponentiation:"); +code("2^3 2.7^3 2.7^3.2"); + +item("Many expressions can be implicitly scaled by a numeric constant:"); +code("2pi 10cm 2x^2 3sin(x) 2(a+b)"); + +item("Pairs are complex numbers:"); +code("(0,1)*(0,1) == (-1,0)"); + +title("Function Calls"); + +item("Functions can take default arguments in any position. Arguments are + matched to the first possible location:"); +string unitsize="unitsize(0.65cm);"; +string preamble="void drawEllipse(real xsize=1, real ysize=xsize, pen p=blue) { + draw(xscale(xsize)*yscale(ysize)*unitcircle, p); +} +"; + +asycode(preamble=unitsize,preamble+" +drawEllipse(2); +drawEllipse(red); +"); + +item("Arguments can be given by name:"); +asycode(preamble=unitsize+preamble," +drawEllipse(xsize=2, ysize=1); +drawEllipse(ysize=2, xsize=3, green); +"); + +if(long) { +title("Rest Arguments"); +item("Rest arguments allow one to write a function that takes an arbitrary + number of arguments:"); +code(" +int sum(... int[] nums) { + int total=0; + for(int i=0; i < nums.length; ++i) + total += nums[i]; + return total; +} + +sum(1,2,3,4); // returns 10 +sum(); // returns 0 +sum(1,2,3 ... new int[] {4,5,6}); // returns 21 + +int subtract(int start ... int[] subs) { + return start - sum(... subs); +} +"); +} + +title("High-Order Functions"); + +item("Functions are first-class values. They can be passed to other + functions:"); +code("import graph; +real f(real x) { + return x*sin(10x); +} +draw(graph(f,-3,3,300),red);"); +asyfigure(asywrite(" +import graph; +size(300,0); +real f(real x) { + return x*sin(10x); +} +draw(graph(f,-3,3,300),red); +")); + +if(long) { +title("Higher-Order Functions"); +item("Functions can return functions:"); +equation("f_n(x)=n\sin\left(\frac{x}{n}\right)."); +skip(); +string preamble=" +import graph; +size(300,0); +"; +string graphfunc2=" +typedef real func(real); +func f(int n) { + real fn(real x) { + return n*sin(x/n); + } + return fn; +} + +func f1=f(1); +real y=f1(pi); + +for(int i=1; i<=5; ++i) + draw(graph(f(i),-10,10),red); +"; +code(graphfunc2); +string name=asywrite(graphfunc2,preamble=preamble); +asy(nativeformat(),name+".asy"); +label(graphic(name+"."+nativeformat()),(0.5,0), + Fill(figureborder,figuremattpen)); + +title("Anonymous Functions"); + +item("Create new functions with {\tt new}:"); +code(" +path p=graph(new real (real x) { return x*sin(10x); },-3,3,red); + +func f(int n) { + return new real (real x) { return n*sin(x/n); }; +}"); + +item("Function definitions are just syntactic sugar for assigning function +objects to variables."); +code(" +real square(real x) { + return x^2; +} +"); + +remark("is equivalent to"); +code(" +real square(real x); +square=new real (real x) { + return x^2; +}; +"); + +title("Structures"); + +item("As in other languages, structures group together data."); +code(" +struct Person { + string firstname, lastname; + int age; +} +Person bob=new Person; +bob.firstname=\"Bob\"; +bob.lastname=\"Chesterton\"; +bob.age=24; +"); + +item("Any code in the structure body will be executed every time a new structure + is allocated..."); +code(" +struct Person { + write(\"Making a person.\"); + string firstname, lastname; + int age=18; +} +Person eve=new Person; // Writes \"Making a person.\" +write(eve.age); // Writes 18. +"); + +title("Modules"); + +item("Function and structure definitions can be grouped into modules:"); +code(" +// powers.asy +real square(real x) { return x^2; } +real cube(real x) { return x^3; } +"); +remark("and imported:"); +code(" +import powers; +real eight=cube(2.0); +draw(graph(powers.square, -1, 1)); +"); +} + +title("Object-Oriented Programming"); +item("Functions are defined for each instance of a structure."); +code(" +struct Quadratic { + real a,b,c; + real discriminant() { + return b^2-4*a*c; + } + real eval(real x) { + return a*x^2 + b*x + c; + } +} +"); + +item("This allows us to construct ``methods'' which are just normal functions + declared in the environment of a particular object:"); +code(" +Quadratic poly=new Quadratic; +poly.a=-1; poly.b=1; poly.c=2; + +real f(real x)=poly.eval; +real y=f(2); +draw(graph(poly.eval, -5, 5)); +"); + +title("Specialization"); + +item("Can create specialized objects just by redefining methods:"); +code(" +struct Shape { + void draw(); + real area(); +} + +Shape rectangle(real w, real h) { + Shape s=new Shape; + s.draw = new void () { + fill((0,0)--(w,0)--(w,h)--(0,h)--cycle); }; + s.area = new real () { return w*h; }; + return s; +} + +Shape circle(real radius) { + Shape s=new Shape; + s.draw = new void () { fill(scale(radius)*unitcircle); }; + s.area = new real () { return pi*radius^2; } + return s; +} +"); + +title("Overloading"); +item("Consider the code:"); +code(" +int x1=2; +int x2() { + return 7; +} +int x3(int y) { + return 2y; +} + +write(x1+x2()); // Writes 9. +write(x3(x1)+x2()); // Writes 11. +"); + +title("Overloading"); +item("{\tt x1}, {\tt x2}, and {\tt x3} are never used in the same context, so + they can all be renamed {\tt x} without ambiguity:"); +code(" +int x=2; +int x() { + return 7; +} +int x(int y) { + return 2y; +} + +write(x+x()); // Writes 9. +write(x(x)+x()); // Writes 11. +"); + +item("Function definitions are just variable definitions, but variables are + distinguished by their signatures to allow overloading."); + +title("Operators"); +item("Operators are just syntactic sugar for functions, and can be addressed or + defined as functions with the {\tt operator} keyword."); +code(" +int add(int x, int y)=operator +; +write(add(2,3)); // Writes 5. + +// Don't try this at home. +int operator +(int x, int y) { + return add(2x,y); +} +write(2+3); // Writes 7. +"); +item("This allows operators to be defined for new types."); + +title("Operators"); +item("Operators for constructing paths are also functions:"); +code("a.. controls b and c .. d--e"); +remark("is equivalent to"); +code( + "operator --(operator ..(a, operator controls(b,c), d), e)"); +item("This allowed us to redefine all of the path operators for 3D paths."); + +title("Summary"); + +item("Asymptote:"); +subitem("uses IEEE floating point numerics;"); +subitem("uses C++/Java-like syntax;"); +subitem("supports deferred drawing for automatic picture sizing;"); +subitem("supports Grayscale, RGB, CMYK, and HSV colour spaces;"); +subitem("supports PostScript shading, pattern fills, and function shading;"); +subitem("can fill nonsimply connected regions;"); +subitem("generalizes MetaPost path construction algorithms to 3D;"); +subitem("lifts \TeX\ to 3D;"); +subitem("supports 3D billboard labels and PDF grouping."); + +bibliography("refs"); + +viewportmargin=(2,2); +viewportsize=0; +defaultpen(0.5); +title("\mbox{Asymptote: 2D \& 3D Vector Graphics Language}"); +asyinclude("../examples/logo3"); +skip(); +center("\tt http://asymptote.sf.net"); +center("(freely available under the LGPL license)"); + +// LocalWords: pdflatex mflogo viewportsize pagewidth pagemargin goysr bibtex +// LocalWords: itempen defaultrender medskip Orest Shardt Vidiassov MF ezier +// LocalWords: Hammerlindl MetaPost PDF hfill LGPL pdf asywrite zoombox LaTeX +// LocalWords: asyfilecode PostScript asycode unitsquare beziercurve grey bw +// LocalWords: lightgrey zerowinding evenodd sw unitsize drawEllipse nums fn +// LocalWords: frac graphfunc func nativeformat figureborder figuremattpen bt +// LocalWords: firstname lastname eval eetomumu binarytree filecode datagraph +// LocalWords: lineargraph filegraph loggraph secondaryaxis imagecontour ij +// LocalWords: tridiagonal Hobbydir nonumber Hobbycontrol th viewportmargin +// LocalWords: asyinclude dotpen wheelpoint yequals xaxis yaxis cardsize mc +// LocalWords: polargraph filldraw addPoint lightblue truesize le au NColors +// LocalWords: drawline unityroot mult oct intang IEEE numerics HSV colour +// LocalWords: nonsimply diff --git a/Master/texmf-dist/doc/asymptote/examples/irregularcontour.asy b/Master/texmf-dist/doc/asymptote/examples/irregularcontour.asy new file mode 100644 index 00000000000..70b38ae15e7 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/irregularcontour.asy @@ -0,0 +1,21 @@ +import contour; + +size(200); + +int n=100; + +real f(real a, real b) {return a^2+b^2;} + +srand(1); + +real r() {return 1.1*(rand()/randMax*2-1);} + +pair[] points=new pair[n]; +real[] values=new real[n]; + +for(int i=0; i < n; ++i) { + points[i]=(r(),r()); + values[i]=f(points[i].x,points[i].y); +} + +draw(contour(points,values,new real[]{0.25,0.5,1},operator ..),blue); diff --git a/Master/texmf-dist/doc/asymptote/examples/join.asy b/Master/texmf-dist/doc/asymptote/examples/join.asy new file mode 100644 index 00000000000..75fa14f36ca --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/join.asy @@ -0,0 +1,15 @@ +size(300,0); +pair[] z=new pair[10]; + +z[0]=(0,100); z[1]=(50,0); z[2]=(180,0); + +for(int n=3; n <= 9; ++n) + z[n]=z[n-3]+(200,0); + +path p=z[0]..z[1]---z[2]::{up}z[3] +&z[3]..z[4]--z[5]::{up}z[6] +&z[6]::z[7]---z[8]..{up}z[9]; + +draw(p,grey+linewidth(4mm)); + +dot(z); diff --git a/Master/texmf-dist/doc/asymptote/examples/join3.asy b/Master/texmf-dist/doc/asymptote/examples/join3.asy new file mode 100644 index 00000000000..9513d522b4d --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/join3.asy @@ -0,0 +1,21 @@ +import graph3; + +size(200); + +currentprojection=orthographic(500,-500,500); + +triple[] z=new triple[10]; + +z[0]=(0,100,0); z[1]=(50,0,0); z[2]=(180,0,0); + +for(int n=3; n <= 9; ++n) + z[n]=z[n-3]+(200,0,0); + +path3 p=z[0]..z[1]---z[2]::{Y}z[3] +&z[3]..z[4]--z[5]::{Y}z[6] +&z[6]::z[7]---z[8]..{Y}z[9]; + +draw(p,grey+linewidth(4mm),currentlight); + +xaxis3(Label(XY()*"$x$",align=-3Y),red,above=true); +yaxis3(Label(XY()*"$y$",align=-3X),red,above=true); diff --git a/Master/texmf-dist/doc/asymptote/examples/jump.asy b/Master/texmf-dist/doc/asymptote/examples/jump.asy new file mode 100644 index 00000000000..7ae19be3886 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/jump.asy @@ -0,0 +1,14 @@ +import graph; +size(4inches,0); + +real f1(real x) {return (1+x^2);} +real f2(real x) {return (4-x);} + +xaxis("$x$",LeftTicks,Arrow); +yaxis("$y$",RightTicks,Arrow); + +draw("$y=1+x^2$",graph(f1,-2,1)); +dot((1,f1(1)),UnFill); + +draw("$y=4-x$",graph(f2,1,5),LeftSide,red,Arrow); +dot((1,f2(1)),red); diff --git a/Master/texmf-dist/doc/asymptote/examples/knots.asy b/Master/texmf-dist/doc/asymptote/examples/knots.asy new file mode 100644 index 00000000000..48881459d05 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/knots.asy @@ -0,0 +1,27 @@ +import syzygy; + +Braid initial; +initial.n = 4; +initial.add(bp,1); +initial.add(bp,0); +initial.add(bp,2); +initial.add(bp,1); +initial.add(phi,2); +initial.add(phi,0); + +Syzygy pp; +pp.lsym="\Phi\Phi"; pp.codename="PhiAroundPhi"; + +pp.number=true; +pp.initial=initial; +pp.apply(r4b,2,1); +pp.apply(r4b,0,0); +pp.apply(r4a,1,0); +pp.swap(0,1); +pp.apply(-r4b,1,0); +pp.apply(-r4a,0,1); +pp.apply(-r4a,2,0); +pp.swap(4,5); + +pp.draw(); + diff --git a/Master/texmf-dist/doc/asymptote/examples/label3.asy b/Master/texmf-dist/doc/asymptote/examples/label3.asy new file mode 100644 index 00000000000..f8d5e07049f --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/label3.asy @@ -0,0 +1,7 @@ +import three; + +currentprojection=perspective(0,0,1,up=Y); + +label(scale(4)*"$\displaystyle\int_{-\infty}^{+\infty} e^{-\alpha x^2}\,dx= +\sqrt{\frac{\pi}{\alpha}}$",O,blue,Embedded); + diff --git a/Master/texmf-dist/doc/asymptote/examples/label3ribbon.asy b/Master/texmf-dist/doc/asymptote/examples/label3ribbon.asy new file mode 100644 index 00000000000..59ccbc9237c --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/label3ribbon.asy @@ -0,0 +1,6 @@ +import three; + +currentprojection=perspective(100,100,200,up=Y); + +draw(scale3(4)*extrude(texpath("$\displaystyle\int_{-\infty}^{+\infty} +e^{-\alpha x^2}\,dx=\sqrt{\frac{\pi}{\alpha}}$"),2Z),blue); diff --git a/Master/texmf-dist/doc/asymptote/examples/label3solid.asy b/Master/texmf-dist/doc/asymptote/examples/label3solid.asy new file mode 100644 index 00000000000..476d41fdbc3 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/label3solid.asy @@ -0,0 +1,6 @@ +import three; + +currentprojection=perspective(100,100,200,up=Y); + +draw(scale3(4)*extrude("$\displaystyle\int_{-\infty}^{+\infty} +e^{-\alpha x^2}\,dx=\sqrt{\frac{\pi}{\alpha}}$",2Z),blue); diff --git a/Master/texmf-dist/doc/asymptote/examples/label3zoom.asy b/Master/texmf-dist/doc/asymptote/examples/label3zoom.asy new file mode 100644 index 00000000000..7eafccd8fcd --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/label3zoom.asy @@ -0,0 +1,16 @@ +import three; + +currentlight=Headlamp; +size(469.75499pt,0); + +currentprojection=perspective( +camera=(160.119024441391,136.348802919248,253.822628496226), +up=(-0.188035408976828,0.910392236102215,-0.368549401594584), +target=(25.5462739598034,1.77605243766079,-9.93996244768584), +zoom=5.59734733413271, +angle=5.14449021168139, +viewportshift=(0.813449720559684,-0.604674743165144), +autoadjust=false); + +draw(scale3(4)*extrude("$\displaystyle\int\limits_{-\infty}^{+\infty}\!\! e^{-\alpha x^2}\!\!=\sqrt{\frac{\pi}{\alpha}}$",2Z), + material(blue,ambientpen=mediumgray)); diff --git a/Master/texmf-dist/doc/asymptote/examples/labelbox.asy b/Master/texmf-dist/doc/asymptote/examples/labelbox.asy new file mode 100644 index 00000000000..38153b856e5 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/labelbox.asy @@ -0,0 +1,11 @@ +size(0,100); +real margin=2mm; +pair z1=(0,1); +pair z0=(0,0); + +object Box=draw("small box",box,z1,margin); +object Ellipse=draw("LARGE ELLIPSE",ellipse,z0,margin); + +add(new void(frame f, transform t) { + draw(f,point(Box,SW,t){SW}..{SW}point(Ellipse,NNE,t)); + }); diff --git a/Master/texmf-dist/doc/asymptote/examples/labelsquare.asy b/Master/texmf-dist/doc/asymptote/examples/labelsquare.asy new file mode 100644 index 00000000000..9531792b6a1 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/labelsquare.asy @@ -0,0 +1,6 @@ +size(3cm); +draw(unitsquare); +label("$A$",(0,0),SW); +label("$B$",(1,0),SE); +label("$C$",(1,1),NE); +label("$D$",(0,1),NW); diff --git a/Master/texmf-dist/doc/asymptote/examples/laserlattice.asy b/Master/texmf-dist/doc/asymptote/examples/laserlattice.asy new file mode 100644 index 00000000000..da4d9a49b7c --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/laserlattice.asy @@ -0,0 +1,44 @@ +import graph; +import palette; + +int n=256; +pen[] Palette=BWRainbow(); + +real w(real w0, real z0, real z) {return w0*sqrt(1+(z/z0)^2);} + +real pot(real lambda, real w0, real r, real z) +{ + real z0=pi*w0^2/lambda, kappa=2pi/lambda; + return exp(-2*(r/w(w0,z0,z))^2)*cos(kappa*z)^2; +} + +picture make_field(real lambda, real w0) +{ + real[][] v=new real[n][n]; + for(int i=0; i < n; ++i) + for(int j=0; j < n; ++j) + v[i][j]=pot(lambda,w0,i-n/2,abs(j-n/2)); + + picture p=new picture; + size(p,250,250,IgnoreAspect); + real xm=-n/lambda, ym=-n/(2*w0), xx=n/lambda, yx=n/(2*w0); + image(p,v,(xm,ym),(xx,yx),Palette); + xlimits(p,xm,xx); + ylimits(p,ym,yx); + xaxis(p,"{\Large $z/\frac{\lambda}{2}$}",BottomTop,LeftTicks); + yaxis(p,"{\Large $r/w_0$}",LeftRight,RightTicks); + label(p,format("{\LARGE $w_0/\lambda=%.2f$}",w0/lambda),point(p,NW),5N); + + return p; +} + +picture p=make_field(160,80); +picture q=make_field(80,80); +picture r=make_field(16,80); +picture s=make_field(2,80); + +real margin=1cm; +add(p.fit(),(0,0),margin*NW); +add(q.fit(),(0,0),margin*NE); +add(r.fit(),(0,0),margin*SW); +add(s.fit(),(0,0),margin*SE); diff --git a/Master/texmf-dist/doc/asymptote/examples/latexusage.tex b/Master/texmf-dist/doc/asymptote/examples/latexusage.tex new file mode 100644 index 00000000000..910cef5bf10 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/latexusage.tex @@ -0,0 +1,117 @@ +\documentclass[12pt]{article} + +% Use this form to include EPS (latex) or PDF (pdflatex) files: +\usepackage{asymptote} + +% Use this form with latex or pdflatex to include inline LaTeX code by default: +%\usepackage[inline]{asymptote} + +% Use this form with latex or pdflatex to create PDF attachments by default: +%\usepackage[attach]{asymptote} + +% Enable this line to support the attach option: +%\usepackage[dvips]{attachfile2} + +\begin{document} + +% Optional subdirectory for asy files (no spaces): +\def\asydir{} + +\begin{asydef} +// Global Asymptote definitions can be put here. +import three; +usepackage("bm"); +texpreamble("\def\V#1{\bm{#1}}"); +// One can globally override the default toolbar settings here: +// settings.toolbar=true; +\end{asydef} + +Here is a venn diagram produced with Asymptote, drawn to width 4cm: + +\def\A{A} +\def\B{\V{B}} + +%\begin{figure} +\begin{center} +\begin{asy} +size(4cm,0); +pen colour1=red; +pen colour2=green; + +pair z0=(0,0); +pair z1=(-1,0); +pair z2=(1,0); +real r=1.5; +path c1=circle(z1,r); +path c2=circle(z2,r); +fill(c1,colour1); +fill(c2,colour2); + +picture intersection=new picture; +fill(intersection,c1,colour1+colour2); +clip(intersection,c2); + +add(intersection); + +draw(c1); +draw(c2); + +//draw("$\A$",box,z1); // Requires [inline] package option. +//draw(Label("$\B$","$B$"),box,z2); // Requires [inline] package option. +draw("$A$",box,z1); +draw("$\V{B}$",box,z2); + +pair z=(0,-2); +real m=3; +margin BigMargin=Margin(0,m*dot(unit(z1-z),unit(z0-z))); + +draw(Label("$A\cap B$",0),conj(z)--z0,Arrow,BigMargin); +draw(Label("$A\cup B$",0),z--z0,Arrow,BigMargin); +draw(z--z1,Arrow,Margin(0,m)); +draw(z--z2,Arrow,Margin(0,m)); + +shipout(bbox(0.25cm)); +\end{asy} +%\caption{Venn diagram}\label{venn} +\end{center} +%\end{figure} + +Each graph is drawn in its own environment. One can specify the width +and height to \LaTeX\ explicitly. This 3D example can be viewed +interactively either with Adobe Reader or Asymptote's fast OpenGL-based +renderer. To support {\tt latexmk}, 3D figures should specify +\verb+inline=true+. It is sometimes desirable to embed 3D files as annotated +attachments; this requires the \verb+attach=true+ option as well as the +\verb+attachfile2+ \LaTeX\ package. +\begin{center} +\begin{asy}[height=4cm,inline=true,attach=false,viewportwidth=\linewidth] +currentprojection=orthographic(5,4,2); +draw(unitcube,blue); +label("$V-E+F=2$",(0,1,0.5),3Y,blue+fontsize(17pt)); +\end{asy} +\end{center} + +One can also scale the figure to the full line width: +\begin{center} +\begin{asy}[width=\the\linewidth,inline=true] +pair z0=(0,0); +pair z1=(2,0); +pair z2=(5,0); +pair zf=z1+0.75*(z2-z1); + +draw(z1--z2); +dot(z1,red+0.15cm); +dot(z2,darkgreen+0.3cm); +label("$m$",z1,1.2N,red); +label("$M$",z2,1.5N,darkgreen); +label("$\hat{\ }$",zf,0.2*S,fontsize(24pt)+blue); + +pair s=-0.2*I; +draw("$x$",z0+s--z1+s,N,red,Arrows,Bars,PenMargins); +s=-0.5*I; +draw("$\bar{x}$",z0+s--zf+s,blue,Arrows,Bars,PenMargins); +s=-0.95*I; +draw("$X$",z0+s--z2+s,darkgreen,Arrows,Bars,PenMargins); +\end{asy} +\end{center} +\end{document} diff --git a/Master/texmf-dist/doc/asymptote/examples/latticeshading.asy b/Master/texmf-dist/doc/asymptote/examples/latticeshading.asy new file mode 100644 index 00000000000..c6689fa72d5 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/latticeshading.asy @@ -0,0 +1,7 @@ +size(200); + +pen[][] p={{white,grey,black}, + {red,green,blue}, + {cyan,magenta,yellow}}; + +latticeshade(unitsquare,p); diff --git a/Master/texmf-dist/doc/asymptote/examples/layers.asy b/Master/texmf-dist/doc/asymptote/examples/layers.asy new file mode 100644 index 00000000000..4fe745f6a3c --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/layers.asy @@ -0,0 +1,44 @@ +usepackage("ocg"); +settings.tex="pdflatex"; + +size(0,150); + +pen colour1=red; +pen colour2=green; + +pair z0=(0,0); +pair z1=(-1,0); +pair z2=(1,0); +real r=1.5; +path c1=circle(z1,r); +path c2=circle(z2,r); + +begin("A"); +fill(c1,colour1); +end(); + +fill(c2,colour2); + +picture intersection; +fill(intersection,c1,colour1+colour2); +clip(intersection,c2); + +add(intersection); + +draw(c1); +draw(c2); + +label("$A$",z1); + +begin("B"); +label("$B$",z2); +end(); + +pair z=(0,-2); +real m=3; +margin BigMargin=Margin(0,m*dot(unit(z1-z),unit(z0-z))); + +draw(Label("$A\cap B$",0),conj(z)--z0,Arrow,BigMargin); +draw(Label("$A\cup B$",0),z--z0,Arrow,BigMargin); +draw(z--z1,Arrow,Margin(0,m)); +draw(z--z2,Arrow,Margin(0,m)); diff --git a/Master/texmf-dist/doc/asymptote/examples/leastsquares.asy b/Master/texmf-dist/doc/asymptote/examples/leastsquares.asy new file mode 100644 index 00000000000..cb2b8f3a42b --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/leastsquares.asy @@ -0,0 +1,55 @@ +size(400,200,IgnoreAspect); + +import graph; +import stats; + +file fin=input("leastsquares.dat").line(); + +real[][] a=fin.dimension(0,0); +a=transpose(a); + +real[] t=a[0], rho=a[1]; + +// Read in parameters from the keyboard: +//real first=getreal("first"); +//real step=getreal("step"); +//real last=getreal("last"); + +real first=100; +real step=50; +real last=700; + +// Remove negative or zero values of rho: +t=rho > 0 ? t : null; +rho=rho > 0 ? rho : null; + +scale(Log(true),Linear(true)); + +int n=step > 0 ? ceil((last-first)/step) : 0; + +real[] T,xi,dxi; + +for(int i=0; i <= n; ++i) { + real first=first+i*step; + real[] logrho=(t >= first & t <= last) ? log(rho) : null; + real[] logt=(t >= first & t <= last) ? -log(t) : null; + + if(logt.length < 2) break; + + // Fit to the line logt=L.m*logrho+L.b: + linefit L=leastsquares(logt,logrho); + + T.push(first); + xi.push(L.m); + dxi.push(L.dm); +} + +draw(graph(T,xi),blue); +errorbars(T,xi,dxi,red); + +crop(); + +ylimits(0); + +xaxis("$T$",BottomTop,LeftTicks); +yaxis("$\xi$",LeftRight,RightTicks); diff --git a/Master/texmf-dist/doc/asymptote/examples/leastsquares.dat b/Master/texmf-dist/doc/asymptote/examples/leastsquares.dat new file mode 100644 index 00000000000..a4d63d6e100 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/leastsquares.dat @@ -0,0 +1,882 @@ +1 3825 +2 4057 +3 4217 +4 4278 +5 4353 +6 4483 +7 4410 +8 4462 +9 4626 +10 4511 +11 4531 +12 4450 +13 4354 +14 4402 +15 4489 +16 4441 +17 4366 +18 4443 +19 4442 +20 4335 +21 4292 +22 4458 +23 4444 +24 4426 +25 4310 +26 4264 +27 4263 +28 4252 +29 4330 +30 4304 +31 4242 +32 4272 +33 4284 +34 4198 +35 4242 +36 4096 +37 4142 +38 4248 +39 4186 +40 4210 +41 4125 +42 4134 +43 4098 +44 4129 +45 3960 +46 4012 +47 4079 +48 4038 +49 4024 +50 3949 +51 3996 +52 3970 +53 4031 +54 3895 +55 3806 +56 3825 +57 3850 +58 3742 +59 3678 +60 3589 +61 3648 +62 3476 +63 3490 +64 3353 +65 3270 +66 3134 +67 3018 +68 2922 +69 2801 +70 2691 +71 2528 +72 2460 +73 2254 +74 2105 +75 2009 +76 1854 +77 1677 +78 1562 +79 1501 +80 1399 +81 1244 +82 1160 +83 1080 +84 963 +85 879 +86 797 +87 745 +88 701 +89 634 +90 554 +91 532 +92 549 +93 521 +94 466 +95 460 +96 435 +97 412 +98 376 +99 367 +100 350 +101 360 +102 321 +103 302 +104 291 +105 273 +106 261 +107 255 +108 231 +109 245 +110 252 +111 236 +112 227 +113 207 +114 196 +115 199 +116 211 +117 232 +118 220 +119 214 +120 229 +121 213 +122 208 +123 196 +124 218 +125 196 +126 192 +127 178 +128 177 +129 178 +130 179 +131 170 +132 173 +133 170 +134 150 +135 144 +136 149 +137 145 +138 145 +139 139 +140 147 +141 140 +142 128 +143 133 +144 156 +145 136 +146 164 +147 152 +148 140 +149 141 +150 112 +151 108 +152 110 +153 133 +154 118 +155 113 +156 113 +157 108 +158 88 +159 109 +160 97 +161 99 +162 94 +163 97 +164 104 +165 105 +166 118 +167 108 +168 130 +169 126 +170 114 +171 112 +172 107 +173 96 +174 96 +175 102 +176 85 +177 89 +178 93 +179 96 +180 101 +181 82 +182 97 +183 96 +184 94 +185 97 +186 85 +187 79 +188 72 +189 75 +190 63 +191 65 +192 62 +193 54 +194 53 +195 49 +196 55 +197 48 +198 53 +199 46 +200 50 +201 48 +202 50 +203 51 +204 50 +205 49 +206 46 +207 47 +208 44 +209 42 +210 47 +211 45 +212 44 +213 46 +214 43 +215 40 +216 42 +217 41 +218 40 +219 43 +220 41 +221 42 +222 43 +223 40 +224 42 +225 39 +226 41 +227 42 +228 44 +229 40 +230 40 +231 35 +232 38 +233 37 +234 36 +235 34 +236 34 +237 34 +238 36 +239 36 +240 36 +241 37 +242 37 +243 37 +244 36 +245 36 +246 45 +247 43 +248 43 +249 43 +250 49 +251 58 +252 48 +253 50 +254 56 +255 51 +256 50 +257 55 +258 64 +259 55 +260 49 +261 36 +262 36 +263 40 +264 49 +265 37 +266 35 +267 35 +268 33 +269 33 +270 39 +271 35 +272 34 +273 36 +274 32 +275 37 +276 31 +277 31 +278 32 +279 30 +280 32 +281 29 +282 31 +283 30 +284 30 +285 28 +286 27 +287 26 +288 24 +289 25 +290 28 +291 30 +292 29 +293 27 +294 27 +295 27 +296 26 +297 26 +298 28 +299 27 +300 24 +301 22 +302 27 +303 26 +304 25 +305 25 +306 25 +307 26 +308 28 +309 26 +310 25 +311 24 +312 26 +313 25 +314 23 +315 25 +316 24 +317 23 +318 23 +319 24 +320 23 +321 24 +322 22 +323 24 +324 24 +325 24 +326 23 +327 25 +328 24 +329 22 +330 22 +331 23 +332 23 +333 23 +334 21 +335 19 +336 20 +337 22 +338 26 +339 25 +340 24 +341 22 +342 22 +343 23 +344 23 +345 23 +346 20 +347 21 +348 20 +349 21 +350 25 +351 22 +352 22 +353 21 +354 24 +355 24 +356 22 +357 23 +358 26 +359 24 +360 23 +361 22 +362 26 +363 30 +364 27 +365 25 +366 26 +367 26 +368 25 +369 24 +370 24 +371 22 +372 21 +373 20 +374 20 +375 19 +376 20 +377 21 +378 20 +379 20 +380 19 +381 19 +382 19 +383 19 +384 20 +385 20 +386 19 +387 20 +388 20 +389 20 +390 17 +391 18 +392 16 +393 18 +394 32 +395 31 +396 47 +397 57 +398 64 +399 34 +400 42 +401 40 +402 41 +403 35 +404 26 +405 25 +406 25 +407 36 +408 42 +409 55 +410 75 +411 94 +412 87 +413 97 +414 95 +415 101 +416 70 +417 66 +418 66 +419 73 +420 77 +421 89 +422 79 +423 63 +424 66 +425 71 +426 70 +427 49 +428 46 +429 46 +430 43 +431 49 +432 48 +433 44 +434 36 +435 33 +436 28 +437 29 +438 32 +439 31 +440 29 +441 28 +442 29 +443 31 +444 31 +445 33 +446 33 +447 39 +448 44 +449 37 +450 58 +451 64 +452 38 +453 31 +454 36 +455 33 +456 29 +457 34 +458 28 +459 27 +460 23 +461 31 +462 26 +463 21 +464 23 +465 26 +466 21 +467 21 +468 24 +469 24 +470 24 +471 24 +472 26 +473 23 +474 26 +475 20 +476 21 +477 25 +478 21 +479 22 +480 22 +481 23 +482 22 +483 23 +484 22 +485 20 +486 22 +487 20 +488 22 +489 20 +490 24 +491 20 +492 22 +493 19 +494 19 +495 20 +496 19 +497 18 +498 18 +499 17 +500 16 +501 16 +502 17 +503 17 +504 16 +505 17 +506 16 +507 16 +508 16 +509 17 +510 18 +511 17 +512 16 +513 17 +514 16 +515 16 +516 16 +517 17 +518 16 +519 16 +520 16 +521 16 +522 16 +523 16 +524 16 +525 16 +526 16 +527 17 +528 17 +529 18 +530 17 +531 16 +532 15 +533 15 +534 15 +535 15 +536 16 +537 17 +538 16 +539 18 +540 17 +541 17 +542 15 +543 15 +544 15 +545 16 +546 15 +547 15 +548 15 +549 15 +550 15 +551 14 +552 14 +553 14 +554 14 +555 14 +556 14 +557 14 +558 15 +559 14 +560 16 +561 15 +562 16 +563 17 +564 15 +565 14 +566 17 +567 18 +568 17 +569 16 +570 17 +571 14 +572 15 +573 15 +574 15 +575 14 +576 15 +577 14 +578 14 +579 13 +580 13 +581 13 +582 13 +583 13 +584 12 +585 12 +586 13 +587 12 +588 12 +589 12 +590 13 +591 15 +592 16 +593 14 +594 13 +595 14 +596 13 +597 13 +598 13 +599 13 +600 14 +601 13 +602 13 +603 13 +604 14 +605 15 +606 15 +607 15 +608 15 +609 15 +610 15 +611 15 +612 15 +613 15 +614 15 +615 15 +616 14 +617 14 +618 14 +619 14 +620 14 +621 14 +622 14 +623 15 +624 15 +625 15 +626 14 +627 15 +628 14 +629 14 +630 14 +631 14 +632 14 +633 14 +634 13 +635 13 +636 13 +637 13 +638 13 +639 13 +640 13 +641 13 +642 13 +643 13 +644 13 +645 13 +646 13 +647 13 +648 13 +649 13 +650 13 +651 13 +652 13 +653 13 +654 13 +655 13 +656 13 +657 13 +658 13 +659 13 +660 13 +661 13 +662 13 +663 13 +664 13 +665 13 +666 13 +667 13 +668 13 +669 13 +670 13 +671 13 +672 13 +673 13 +674 13 +675 13 +676 13 +677 13 +678 13 +679 12 +680 12 +681 13 +682 13 +683 13 +684 13 +685 12 +686 12 +687 13 +688 13 +689 13 +690 13 +691 13 +692 13 +693 13 +694 13 +695 13 +696 13 +697 13 +698 13 +699 13 +700 13 +701 13 +702 13 +703 13 +704 13 +705 13 +706 13 +707 13 +708 13 +709 13 +710 13 +711 13 +712 13 +713 13 +714 13 +715 13 +716 13 +717 13 +718 13 +719 13 +720 13 +721 13 +722 13 +723 13 +724 13 +725 13 +726 13 +727 13 +728 13 +729 13 +730 13 +731 13 +732 13 +733 13 +734 13 +735 13 +736 13 +737 13 +738 13 +739 13 +740 13 +741 13 +742 13 +743 13 +744 13 +745 13 +746 13 +747 13 +748 13 +749 13 +750 13 +751 13 +752 13 +753 13 +754 13 +755 12 +756 12 +757 12 +758 12 +759 11 +760 12 +761 11 +762 12 +763 11 +764 12 +765 12 +766 12 +767 12 +768 14 +769 14 +770 14 +771 14 +772 12 +773 12 +774 12 +775 13 +776 13 +777 13 +778 12 +779 13 +780 13 +781 13 +782 13 +783 13 +784 13 +785 12 +786 11 +787 11 +788 11 +789 12 +790 13 +791 13 +792 13 +793 12 +794 13 +795 13 +796 13 +797 13 +798 13 +799 12 +800 12 +801 12 +802 12 +803 12 +804 12 +805 11 +806 11 +807 11 +808 12 +809 13 +810 13 +811 12 +812 12 +813 12 +814 12 +815 12 +816 12 +817 12 +818 12 +819 12 +820 13 +821 13 +822 13 +823 13 +824 12 +825 13 +826 12 +827 13 +828 13 +829 13 +830 13 +831 12 +832 12 +833 12 +834 13 +835 13 +836 12 +837 9 +838 9 +839 10 +840 10 +841 11 +842 11 +843 11 +844 12 +845 12 +846 11 +847 12 +848 12 +849 12 +850 12 +851 12 +852 12 +853 12 +854 12 +855 12 +856 11 +857 10 +858 11 +859 12 +860 11 +861 11 +862 11 +863 10 +864 10 +865 10 +866 11 +867 10 +868 10 +869 10 +870 11 +871 11 +872 12 +873 12 +874 12 +875 12 +876 12 +877 12 +878 12 +879 12 +880 12 +881 0 +882 0 diff --git a/Master/texmf-dist/doc/asymptote/examples/legend.asy b/Master/texmf-dist/doc/asymptote/examples/legend.asy new file mode 100644 index 00000000000..09a31868ae4 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/legend.asy @@ -0,0 +1,15 @@ +import graph; +size(8cm,6cm,IgnoreAspect); + +typedef real realfcn(real); +realfcn F(real p) { + return new real(real x) {return sin(p*x);}; +}; + +for(int i=1; i < 5; ++i) + draw(graph(F(i*pi),0,1),Pen(i), + "$\sin("+(i == 1 ? "" : (string) i)+"\pi x)$"); +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight,RightTicks(trailingzero)); + +attach(legend(2),(point(S).x,truepoint(S).y),10S,UnFill); diff --git a/Master/texmf-dist/doc/asymptote/examples/lever.asy b/Master/texmf-dist/doc/asymptote/examples/lever.asy new file mode 100644 index 00000000000..a0c81f5a47a --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/lever.asy @@ -0,0 +1,23 @@ +size(200,0); + +pair z0=(0,0); +pair z1=(2,0); +pair z2=(5,0); +pair zf=z1+0.75*(z2-z1); + +draw(z1--z2); +dot(z1,red+0.15cm); +dot(z2,darkgreen+0.3cm); +label("$m$",z1,1.2N,red); +label("$M$",z2,1.5N,darkgreen); +label("$\hat{\ }$",zf,0.2*S,fontsize(24pt)+blue); + +pair s=-0.2*I; +draw("$x$",z0+s--z1+s,N,red,Arrows,Bars,PenMargins); + +s=-0.5*I; +draw("$\bar{x}$",z0+s--zf+s,blue,Arrows,Bars,PenMargins); + +s=-0.95*I; +draw("$X$",z0+s--z2+s,darkgreen,Arrows,Bars,PenMargins); + diff --git a/Master/texmf-dist/doc/asymptote/examples/limit.asy b/Master/texmf-dist/doc/asymptote/examples/limit.asy new file mode 100644 index 00000000000..ef71928941e --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/limit.asy @@ -0,0 +1,28 @@ +size(200,200,IgnoreAspect); +import graph; + +real L=1; +real epsilon=0.25; + +real a(int n) {return L+1/n;} + +for(int i=1; i < 20; ++i) + dot((i,a(i))); + +real N=1/epsilon; + +xaxis(Label("$n$",align=2S)); +yaxis(Label("$a_n$",0.85)); + +xtick("$2$",2); +ytick("$\frac{3}{2}$",3/2); +ytick("$2$",2); + +yequals(Label("$L$",0,up),L,extend=true,blue); +yequals(Label("$L+\epsilon$",1,NW),L+epsilon,extend=true,red+dashed); +yequals(Label("$L-\epsilon$",1,SW),L-epsilon,extend=true,red+dashed); + +xequals(N,extend=true,darkgreen+dashed); +labelx(shift(0,-10)*"$N=\frac{1}{\epsilon}$",N,E,darkgreen); + +label("$a_n=1+\frac{1}{n},\quad \epsilon=\frac{1}{4}$",point((0,1)),10S+E); diff --git a/Master/texmf-dist/doc/asymptote/examples/lineargraph.asy b/Master/texmf-dist/doc/asymptote/examples/lineargraph.asy new file mode 100644 index 00000000000..c352311ee72 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/lineargraph.asy @@ -0,0 +1,16 @@ +import graph; + +size(250,200,IgnoreAspect); + +real Sin(real t) {return sin(2pi*t);} +real Cos(real t) {return cos(2pi*t);} + +draw(graph(Sin,0,1),red,"$\sin(2\pi x)$"); +draw(graph(Cos,0,1),blue,"$\cos(2\pi x)$"); + +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight,RightTicks(trailingzero)); + +label("LABEL",point(0),UnFill(1mm)); + +attach(legend(),truepoint(E),20E,UnFill); diff --git a/Master/texmf-dist/doc/asymptote/examples/lineargraph0.asy b/Master/texmf-dist/doc/asymptote/examples/lineargraph0.asy new file mode 100644 index 00000000000..fc344181d51 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/lineargraph0.asy @@ -0,0 +1,16 @@ +import graph; + +size(400,200,IgnoreAspect); + +real Sin(real t) {return sin(2pi*t);} +real Cos(real t) {return cos(2pi*t);} + +draw(graph(Sin,0,1),red,"$\sin(2\pi x)$"); +draw(graph(Cos,0,1),blue,"$\cos(2\pi x)$"); + +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight,RightTicks(trailingzero)); + +label("LABEL",point(0),UnFill(1mm)); + +add(legend(),point(E),20E,UnFill); diff --git a/Master/texmf-dist/doc/asymptote/examples/lines.asy b/Master/texmf-dist/doc/asymptote/examples/lines.asy new file mode 100644 index 00000000000..9749f73a350 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/lines.asy @@ -0,0 +1,10 @@ +import math; + +int n=7; + +size(200,0); + +draw(unitcircle,red); +for (int i=0; i < n-1; ++i) + for (int j=i+1; j < n; ++j) + drawline(unityroot(n,i),unityroot(n,j),blue); diff --git a/Master/texmf-dist/doc/asymptote/examples/linetype.asy b/Master/texmf-dist/doc/asymptote/examples/linetype.asy new file mode 100644 index 00000000000..dc4762c2478 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/linetype.asy @@ -0,0 +1,13 @@ +void testline(real y) { + draw((0,y)--(100,y),currentpen+solid); + draw((0,y-10)--(100,y-10),currentpen+dotted); + draw((0,y-20)--(100,y-20),currentpen+dashed); + draw((0,y-30)--(100,y-30),currentpen+longdashed); + draw((0,y-40)--(100,y-40),currentpen+dashdotted); + draw((0,y-50)--(100,y-50),currentpen+longdashdotted); + draw((0,y-60)--(100,y-60),currentpen+Dotted); +} + +currentpen=linewidth(0.5); +testline(100); + diff --git a/Master/texmf-dist/doc/asymptote/examples/lmfit1.asy b/Master/texmf-dist/doc/asymptote/examples/lmfit1.asy new file mode 100644 index 00000000000..c25a7c4b4be --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/lmfit1.asy @@ -0,0 +1,37 @@ +import lmfit; +import graph; + +size(10cm, 7cm, IgnoreAspect); + +real[] date = { 1790, 1800, 1810, 1820, 1830, 1840, 1850, 1860, 1870, 1880, +1890, 1900, 1910, 1920, 1930, 1940, 1950, 1960, 1970, 1980, 1990 }; +real[] population = { 3.929, 5.308, 7.240, 9.638, 12.866, 17.069, 23.192, 31.443, +38.558, 50.156, 62.948, 75.996, 91.972, 105.711, 122.775, 131.669, 150.697, +179.323, 203.185, 226.546, 248.710 }; + +real t0 = 1776; + +real P(real[] params, real t) { + real P0 = params[0]; + real K = params[1]; + real r = params[2]; + return (K * P0) / (P0 + (K - P0) * exp(-r * (t - t0))); +} + +real[] params = { 10, 500, 0.1 }; + +real res = lmfit.fit(date, population, P, params).norm; + +write("P_0 = ", params[0]); +write("K = ", params[1]); +write("r = ", params[2]); +write("error = ", res); + +real P(real t) { + return P(params, t); +} + +draw(graph(date, population), blue); +draw(graph(P, t0, 2000), red); +xaxis("Year", BottomTop, LeftTicks); +yaxis("Population in millions", LeftRight, RightTicks); diff --git a/Master/texmf-dist/doc/asymptote/examples/log.asy b/Master/texmf-dist/doc/asymptote/examples/log.asy new file mode 100644 index 00000000000..532b7b782b6 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/log.asy @@ -0,0 +1,14 @@ +import graph; + +size(150,0); + +real f(real x) {return log(x);} +pair F(real x) {return (x,f(x));} + +xaxis("$x$",0); +yaxis("$y$"); + +draw(graph(f,0.01,10,operator ..)); + +labelx(1,SSE); +label("$\log x$",F(7),SE); diff --git a/Master/texmf-dist/doc/asymptote/examples/log2graph.asy b/Master/texmf-dist/doc/asymptote/examples/log2graph.asy new file mode 100644 index 00000000000..238f4126274 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/log2graph.asy @@ -0,0 +1,17 @@ +import graph; +size(200,IgnoreAspect); + +// Base-2 logarithmic scale on y-axis: + +real log2(real x) {static real log2=log(2); return log(x)/log2;} +real pow2(real x) {return 2^x;} + +scaleT yscale=scaleT(log2,pow2,logarithmic=true); +scale(Linear,yscale); + +real f(real x) {return 1+x^2;} + +draw(graph(f,-4,4)); + +yaxis("$y$",ymin=1,ymax=f(5),RightTicks(Label(Fill(white))),EndArrow); +xaxis("$x$",xmin=-5,xmax=5,LeftTicks,EndArrow); diff --git a/Master/texmf-dist/doc/asymptote/examples/logdown.asy b/Master/texmf-dist/doc/asymptote/examples/logdown.asy new file mode 100644 index 00000000000..25d10ed978e --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/logdown.asy @@ -0,0 +1,13 @@ +import graph; +size(200,IgnoreAspect); + +real log10Down(real x) {return -log10(x);} +real pow10Down(real x) {return pow10(-x);} + +scaleT LogDown=scaleT(log10Down,pow10Down,logarithmic=true); +scale(Linear,LogDown); + +draw(graph(exp,-5,5)); + +yaxis("$y$",RightTicks(Label(Fill(white)),DefaultLogFormat),BeginArrow); +xaxis("$x$",LeftTicks(NoZero),EndArrow); diff --git a/Master/texmf-dist/doc/asymptote/examples/loggraph.asy b/Master/texmf-dist/doc/asymptote/examples/loggraph.asy new file mode 100644 index 00000000000..edd9d3e0a67 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/loggraph.asy @@ -0,0 +1,18 @@ +import graph; + +size(200,200,IgnoreAspect); + +real f(real t) {return 1/t;} + +scale(Log,Log); + +draw(graph(f,0.1,10)); + +//xlimits(1,10,Crop); +//ylimits(0.1,1,Crop); + +dot(Label("(3,5)",align=S),Scale((3,5))); + +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight,RightTicks); + diff --git a/Master/texmf-dist/doc/asymptote/examples/loggrid.asy b/Master/texmf-dist/doc/asymptote/examples/loggrid.asy new file mode 100644 index 00000000000..bb48a1e4ca8 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/loggrid.asy @@ -0,0 +1,13 @@ +import graph; +size(200,200,IgnoreAspect); + +real f(real t) {return 1/t;} + +scale(Log,Log); +draw(graph(f,0.1,10),red); +pen thin=linewidth(0.5*linewidth()); +xaxis("$x$",BottomTop,LeftTicks(begin=false,end=false,extend=true, + ptick=thin)); +yaxis("$y$",LeftRight,RightTicks(begin=false,end=false,extend=true, + ptick=thin)); + diff --git a/Master/texmf-dist/doc/asymptote/examples/logimage.asy b/Master/texmf-dist/doc/asymptote/examples/logimage.asy new file mode 100644 index 00000000000..65d6bb53111 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/logimage.asy @@ -0,0 +1,22 @@ +import graph; +import palette; + +size(10cm,10cm,IgnoreAspect); + +real f(real x, real y) { + return 0.9*pow10(2*sin(x/5+2*y^0.25)) + 0.1*(1+cos(10*log(y))); +} + +scale(Linear,Log,Log); + +pen[] Palette=BWRainbow(); + +bounds range=image(f,Automatic,(0,1),(100,100),nx=200,Palette); + +xaxis("$x$",BottomTop,LeftTicks,above=true); +yaxis("$y$",LeftRight,RightTicks,above=true); + +palette("$f(x,y)$",range,(0,200),(100,250),Top,Palette, + PaletteTicks(ptick=linewidth(0.5*linewidth()))); + + diff --git a/Master/texmf-dist/doc/asymptote/examples/logo.asy b/Master/texmf-dist/doc/asymptote/examples/logo.asy new file mode 100644 index 00000000000..d180558ad34 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/logo.asy @@ -0,0 +1,28 @@ +size(140,80,IgnoreAspect); + +picture logo(pair s=0, pen q) +{ + picture pic; + pen p=linewidth(2)+fontsize(24pt)+q; + real a=-0.4; + real b=0.95; + real y1=-5; + real y2=-3y1/2; + path A=(a,0){dir(10)}::{dir(89.5)}(0,y2); + draw(pic,A,p); + draw(pic,(0,y1){dir(88.3)}::{dir(20)}(b,0),p); + real c=0.5*a; + pair z=(0,2.5); + label(pic,"{\it symptote}",z,0.25*E+0.169S,p); + pair w=(0,1.7); + draw(pic,intersectionpoint(A,w-1--w)--w,p); + draw(pic,(0,y1)--(0,y2),p); + draw(pic,(a,0)--(b,0),p); + return shift(s)*pic; +} + +pair z=(-0.015,0.08); +for(int x=0; x < 10; ++x) + add(logo(0.1*x*z,gray(0.04*x))); + +add(logo(red)); diff --git a/Master/texmf-dist/doc/asymptote/examples/logo3.asy b/Master/texmf-dist/doc/asymptote/examples/logo3.asy new file mode 100644 index 00000000000..93b5a331e9e --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/logo3.asy @@ -0,0 +1,41 @@ +import three; + +size(560,320,IgnoreAspect); +size3(140,80,15); +currentprojection=perspective(-2,20,10,up=Y); +currentlight=White; + +real a=-0.4; +real b=0.95; +real y1=-5; +real y2=-3y1/2; +path A=(a,0){dir(10)}::{dir(89.5)}(0,y2); +path B=(0,y1){dir(88.3)}::{dir(20)}(b,0); +real c=0.5*a; +pair z=(0,2.5); +transform t=scale(1,15); +transform T=inverse(scale(t.yy,t.xx)); +path[] g=shift(0,1.979)*scale(0.01)*t* + texpath(Label("{\it symptote}",z,0.25*E+0.169S,fontsize(24pt))); +pair w=(0,1.7); +pair u=intersectionpoint(A,w-1--w); + +real h=0.25*linewidth(); +real hy=(T*(h,h)).x; +g.push(t*((a,hy)--(b,hy)..(b+hy,0)..(b,-hy)--(a,-hy)..(a-hy,0)..cycle)); +g.push(T*((h,y1)--(h,y2)..(0,y2+h)..(-h,y2)--(-h,y1)..(0,y1-h)..cycle)); +g.push(shift(0,w.y)*t*((u.x,hy)--(w.x,hy)..(w.x+hy,0)..(w.x,-hy)--(u.x,-hy)..(u.x-hy,0)..cycle)); +real f=0.75; +g.push(point(A,0)--shift(-f*hy,f*h)*A--point(A,1)--shift(f*hy,-f*h)*reverse(A)--cycle); +g.push(point(B,0)--shift(f*hy,-f*h)*B--point(B,1)--shift(-f*hy,f*h)*reverse(B)--cycle); + +triple H=-0.1Z; +material m=material(lightgray,shininess=1.0); + +for(path p : g) + draw(extrude(p,H),m); + +surface s=surface(g); +draw(s,red,nolight); +draw(shift(H)*s,m); + diff --git a/Master/texmf-dist/doc/asymptote/examples/logticks.asy b/Master/texmf-dist/doc/asymptote/examples/logticks.asy new file mode 100644 index 00000000000..bdd14411692 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/logticks.asy @@ -0,0 +1,11 @@ +import graph; + +size(300,175,IgnoreAspect); +scale(Log,Log); +draw(graph(identity,5,20)); +xlimits(5,20); +ylimits(1,100); +xaxis("$M/M_\odot$",BottomTop,LeftTicks(DefaultFormat, + new real[] {6,10,12,14,16,18})); +yaxis("$\nu_{\rm upp}$ [Hz]",LeftRight,RightTicks(DefaultFormat)); + diff --git a/Master/texmf-dist/doc/asymptote/examples/lowint.asy b/Master/texmf-dist/doc/asymptote/examples/lowint.asy new file mode 100644 index 00000000000..e4bf1c55606 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/lowint.asy @@ -0,0 +1,11 @@ +size(100,0); +import graph; +import lowupint; + +real a=-0.8, b=1.2; +real c=1.0/sqrt(3.0); + +partition(a,b,c,min); + +arrow("$f(x)$",F(0.5*(a+b)),NNE,red); +label("$\cal{L}$",(0.5*(a+b),f(0.5*(a+b))/2)); diff --git a/Master/texmf-dist/doc/asymptote/examples/lowupint.asy b/Master/texmf-dist/doc/asymptote/examples/lowupint.asy new file mode 100644 index 00000000000..3a14cd91104 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/lowupint.asy @@ -0,0 +1,31 @@ +import graph; + +real f(real x) {return x^3-x+2;} +pair F(real x) {return (x,f(x));} + +void rectangle(real a, real b, real c, real h(real,real)) +{ + real height=(a < c && c < b) ? f(c) : h(f(a),f(b)); + pair p=(a,0), q=(b,height); + path g=box(p,q); + fill(g,lightgray); + draw(g); +} + +void partition(real a, real b, real c, real h(real,real)) +{ + rectangle(a,a+.4,c,h); + rectangle(a+.4,a+.6,c,h); + rectangle(a+.6,a+1.2,c,h); + rectangle(a+1.2,a+1.6,c,h); + rectangle(a+1.6,a+1.8,c,h); + rectangle(a+1.8,b,c,h); + + draw((a,0)--(F(a))); + draw((b,0)--(F(b))); + + draw(graph(f,a,b,operator ..),red); + draw((a,0)--(b,0)); + labelx("$a$",a); + labelx("$b$",b); +} diff --git a/Master/texmf-dist/doc/asymptote/examples/magnetic.asy b/Master/texmf-dist/doc/asymptote/examples/magnetic.asy new file mode 100644 index 00000000000..3ae40466d43 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/magnetic.asy @@ -0,0 +1,18 @@ +import graph3; +import contour3; + +size(200,0); +currentprojection=orthographic((6,8,2),up=Y); + +real a(real z) {return (z < 6) ? 1 : exp((abs(z)-6)/4);} +real b(real z) {return 1/a(z);} +real B(real z) {return 1-0.5cos(pi*z/10);} + +real f(real x, real y, real z) {return 0.5B(z)*(a(z)*x^2+b(z)*y^2)-1;} + +draw(surface(contour3(f,(-2,-2,-10),(2,2,10),10)),blue+opacity(0.75), + render(merge=true)); + +xaxis3(Label("$x$",1),red); +yaxis3(Label("$y$",1),red); +zaxis3(Label("$z$",1),red); diff --git a/Master/texmf-dist/doc/asymptote/examples/makepen.asy b/Master/texmf-dist/doc/asymptote/examples/makepen.asy new file mode 100644 index 00000000000..7c7868a0901 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/makepen.asy @@ -0,0 +1,9 @@ +size(200); +pen convex=makepen(scale(10)*polygon(8))+grey; +draw((1,0.4),convex); +draw((0,0)---(1,1)..(2,0)--cycle,convex); + +pen nonconvex=scale(10)* + makepen((0,0)--(0.25,-1)--(0.5,0.25)--(1,0)--(0.5,1.25)--cycle)+red; +draw((0.5,-1.5),nonconvex); +draw((0,-1.5)..(1,-0.5)..(2,-1.5),nonconvex); diff --git a/Master/texmf-dist/doc/asymptote/examples/markers1.asy b/Master/texmf-dist/doc/asymptote/examples/markers1.asy new file mode 100644 index 00000000000..a3af424616d --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/markers1.asy @@ -0,0 +1,102 @@ +size(12cm,0); +import markers; + +pair A=(0,0), B=(1,0), C=(2,0), D=(3,0); +path p=A--B--C--D; +transform T=shift(-4,-1); +transform t=shift(4,0); + +//line 1 ********** +draw(p,marker(markinterval(3,dotframe,true))); +label("$1$",point(p,0),3W); + +//line 2 ********** +p=t*p; +draw(p,marker(stickframe,markuniform(4))); +label("$2$",point(p,0),3W); + +//line 3 ********** +p=T*p; +draw(p,marker(stickframe(red),markinterval(3,dotframe(blue),true))); +label("$3$",point(p,0),3W); + +//line 4 ********** +p=t*p; +draw(p,StickIntervalMarker(3,2,blue,dotframe(red))); +label("$4$",point(p,0),3W); + +//line 5 ********** +p=T*p; +pen pn=linewidth(4bp); +draw(p,pn,StickIntervalMarker(3,3,angle=25,pn,dotframe(red+pn))); +label("$5$",point(p,0),3W); + +//line 6 ********** +p=t*p; +draw(p,StickIntervalMarker(3,5,angle=25,size=4mm,space=2mm,offset=I*2mm, + scale(2)*dotframe(red))); +label("$6$",point(p,0),3W); + +//line 7 ********** +p=T*p; +draw(p,StickIntervalMarker(n=3,angle=45,size=10mm,space=3mm,dotframe)); +label("$7$",point(p,0),3W); + +//line 8 ********** +p=t*p; +draw(p,CircleBarIntervalMarker(n=2,dotframe)); +label("$8$",point(p,0),3W); + +//line 9 ********** +p=T*p; +draw(p,CircleBarIntervalMarker(n=3,angle=30,barsize=8mm,radius=2mm, + FillDraw(.8red), + dotframe)); +label("$9$",point(p,0),3W); + +//line 10 ********** +p=t*p; +draw(p,CircleBarIntervalMarker(n=3,angle=30,barsize=8mm,radius=2mm, + FillDraw(.8red),circleabove=true,dotframe)); +label("$10$",point(p,0),3W); + +//line 11 ********** +p=T*p; +draw(p,CircleBarIntervalMarker(n=3,angle=30,barsize=8mm,radius=2mm, + FillDraw(.8red),circleabove=true,dotframe, + above=false)); +label("$11$",point(p,0),3W); + +//line 12 ********** +p=t*p; +draw(p,TildeIntervalMarker(i=3,dotframe)); +label("$12$",point(p,0),3W); + +//line 13 ********** +p=T*p; +draw(p,TildeIntervalMarker(i=3,n=2,angle=-20,dotframe)); +label("$13$",point(p,0),3W); + +//line 14 ********** +p=t*p; +draw(p,CrossIntervalMarker(3,3,dotframe)); +label("$14$",point(p,0),3W); + +//line 15 ********** +p=shift(.25S)*T*p; +path cle=shift(relpoint(p,.5))*scale(abs(A-D)/4)*unitcircle; +draw(cle,StickIntervalMarker(5,3,dotframe(6bp+red))); +label("$15$",point(p,0),3W); + +//line 16 ********** +cle=t*cle; +p=t*p; +frame a; +label(a,"$a$",(0,-2labelmargin())); +draw(cle,marker(dotframe(6bp+red),markinterval(5,a,true))); +label("$16$",point(p,0),3W); + +// line 17 ********** +p=T*shift(relpoint(p,.5)+.65S)*scale(.5)*shift(-relpoint(p,.5))*rotate(45,relpoint(p,.5))*p; +draw(p,TildeIntervalMarker(size=5mm,rotated=false,dotframe)); +label("$17$",point(p,0),3W); diff --git a/Master/texmf-dist/doc/asymptote/examples/markers2.asy b/Master/texmf-dist/doc/asymptote/examples/markers2.asy new file mode 100644 index 00000000000..b9c8ac21894 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/markers2.asy @@ -0,0 +1,34 @@ +size(10cm,0); +import markers; +import geometry; +import math; + +pair A=0, B=(1,0), C=(0.7,1), D=(-0.5,0), F=rotate(-90)*(C-B)/2+B; + +draw(A--B); +draw(A--C); +pen p=linewidth(1mm); +draw(B--C,p); +draw(A--D); +draw(B--F,p); +label("$A$",A,SW); +label("$B$",B,S); +label("$C$",C,N); +dot(Label("$D$",D,S)); +dot(Label("$F$",F,N+NW)); + +markangle(A,C,B); + +markangle(scale(1.5)*"$\theta$",radius=40,C,B,A,ArcArrow(2mm),1mm+red); +markangle(scale(1.5)*"$-\theta$",radius=-70,A,B,C,ArcArrow,green); + +markangle(Label("$\gamma$",Relative(0.25)),n=2,radius=-30,A,C,B,p=0.7blue+2); + +markangle(n=3,B,A,C,marker(markinterval(stickframe(n=2),true))); + +pen RedPen=0.7red+1bp; +markangle(C,A,D,RedPen,marker(markinterval(2,stickframe(3,4mm,RedPen),true))); +drawline(A,A+dir(A--D,A--C),dotted); + +perpendicular(B,NE,F-B,size=10mm,1mm+red, + TrueMargin(linewidth(p)/2,linewidth(p)/2),Fill(yellow)); diff --git a/Master/texmf-dist/doc/asymptote/examples/markregular.asy b/Master/texmf-dist/doc/asymptote/examples/markregular.asy new file mode 100644 index 00000000000..716599fbcf1 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/markregular.asy @@ -0,0 +1,26 @@ +import graph; + +size(10cm,0); + +real xmin=-4,xmax=4; +real ymin=-2,ymax=10; + +real f(real x) {return x^2;} + +marker cross=marker(scale(4)*rotate(45)*cross(4), + markuniform(new pair(real t) {return Scale((t,f(t)));}, + xmin,xmax,round(2*(xmax-xmin))),1bp+red); + +draw(graph(f,xmin,xmax,n=400),linewidth(1bp),cross); + +ylimits(-2.5,10,Crop); + +xaxis(Label("$x$",position=EndPoint, align=NE),xmin=xmin,xmax=xmax, + Ticks(scale(.7)*Label(align=E),NoZero,begin=false,beginlabel=false, + end=false,endlabel=false,Step=1,step=.25, + Size=1mm, size=.5mm,pTick=black,ptick=gray),Arrow); + +yaxis(Label("$y$",position=EndPoint, align=NE),ymin=ymin,ymax=ymax, + Ticks(scale(.7)*Label(),NoZero,begin=false,beginlabel=false, + end=false,endlabel=false,Step=1,step=.25,Size=1mm,size=.5mm, + pTick=black,ptick=gray),Arrow); diff --git a/Master/texmf-dist/doc/asymptote/examples/mergeExample.asy b/Master/texmf-dist/doc/asymptote/examples/mergeExample.asy new file mode 100644 index 00000000000..e0fdcd0f6c7 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/mergeExample.asy @@ -0,0 +1,77 @@ +size(16cm); +import bezulate; + +pen edgepen=linewidth(1)+blue; +pen dotpen=deepgreen; +pen labelpen=fontsize(8pt); + +path outer = (0.5,5){E}..(5,-1){S}..{W}(4,-4)..{W}(2.5,-1.5){W}..(-0.3,-2.5){W}..(-3,0)..cycle; +outer = subdivide(outer); +path[] p = {outer,shift(-0.5,1.0)*rotate(-22)*scale(1.5,2.4)*subdivide(unitcircle),shift(2.3,0.3)*scale(0.7)*unitcircle}; + +// a +filldraw(p,lightgrey+evenodd); + +real w = 1.1*(max(p).x-min(p).x); + +// b +p = shift(w)*p; +draw(p); +path l = point(p[1],2)--point(p[0],4); +draw(l,red); +for(int i = 0; i < p.length; ++i) +{ + real[][] ts = intersections(l,p[i]); + for(real[] t:ts) + dot(point(l,t[0])); +} +path l2 = point(l,intersections(l,p[0])[0][0])--point(l,intersections(l,p[2])[1][0]); +real to = intersections(l,p[0])[0][1]; +real ti = intersections(l,p[2])[1][1]; +draw(l2,edgepen); +label("$A$",point(l2,1),2E,labelpen); +label("$B$",point(l2,0),1.5E,labelpen); + +// c +p = shift(w)*p; +l2 = shift(w)*l2; +draw(p); +real timeoffset=2; +path t1=subpath(p[0],to,to+timeoffset); +t1=t1--point(p[2],ti)--cycle; +fill(t1,lightgrey); +draw(point(p[2],ti)--point(p[0],to+4),red); +dot(Label("$A$",labelpen),point(p[2],ti),2E,dotpen); +dot(Label("$B$",labelpen),point(p[0],to),1.5E,dotpen); +dot(Label("$C$",labelpen),point(p[0],to+timeoffset),1.5S,dotpen); +draw(t1,edgepen); +dot(point(p[0],to+4)); +draw(shift(-0.5,-0.5)*subpath(p[0],to+4,to+timeoffset+0.5),Arrow(4)); + +// d +p = shift(w)*p; +p[0] = subpath(p[0],to+timeoffset,to+length(p[0]))--uncycle(p[2],ti)--cycle; +p.delete(2); +draw(p); + +// e +p = shift(w)*p; +path q=point(p[1],0)--subpath(p[0],15.4,16)--cycle; +p[0] = subpath(p[0],16,15.4+length(p[0]))--uncycle(p[1],0)--cycle; +p.delete(1); +filldraw(p,lightgrey); + +// f +p = shift(w)*p; +filldraw(bezulate(p),lightgrey); +filldraw(shift(3w)*t1,lightgrey); +filldraw(shift(w)*q,lightgrey); + + +real x = min(p).x - 4.5w; +string l = "abcdef"; +for(int i = 0; i < 6; ++i) +{ + label("("+substr(l,i,1)+")",(x,min(p).y),3S,fontsize(10pt)); + x += w; +} diff --git a/Master/texmf-dist/doc/asymptote/examples/mexicanhat.asy b/Master/texmf-dist/doc/asymptote/examples/mexicanhat.asy new file mode 100644 index 00000000000..d55b127ae5c --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/mexicanhat.asy @@ -0,0 +1,22 @@ +size(200); + +real mexican(real x) {return (1-8x^2)*exp(-(4x^2));} + +int n=30; +real a=1.5; +real width=2a/n; + +guide hat; +path solved; + +for(int i=0; i < n; ++i) { + real t=-a+i*width; + pair z=(t,mexican(t)); + hat=hat..z; + solved=solved..z; +} + +draw(hat); +dot(hat,red); +draw(solved,dashed); + diff --git a/Master/texmf-dist/doc/asymptote/examples/monthaxis.asy b/Master/texmf-dist/doc/asymptote/examples/monthaxis.asy new file mode 100644 index 00000000000..d2c8bf3298f --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/monthaxis.asy @@ -0,0 +1,17 @@ +import graph; + +size(400,150,IgnoreAspect); + +real[] x=sequence(12); +real[] y=sin(2pi*x/12); + +scale(false); + +string[] month={"Jan","Feb","Mar","Apr","May","Jun", + "Jul","Aug","Sep","Oct","Nov","Dec"}; + +draw(graph(x,y),red,MarkFill[0]); + +xaxis(BottomTop,LeftTicks(new string(real x) { + return month[round(x % 12)];})); +yaxis("$y$",LeftRight,RightTicks(4)); diff --git a/Master/texmf-dist/doc/asymptote/examples/mosaic.asy b/Master/texmf-dist/doc/asymptote/examples/mosaic.asy new file mode 100644 index 00000000000..0f19117c4b3 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/mosaic.asy @@ -0,0 +1,165 @@ +// Calendar example contributed by Jens Schwaiger + +// transformations +path similarpath(pair a, pair b, path p) { + // transform p into a path starting at a and ending at b + pair first; + pair last; + path p_; + first=point(p,0); + last=point(p,length(p)); + p_=shift(-first)*p; + p_=rotate(degrees(b-a))*p_; + p_=scale(abs(b-a)/abs(last-first))*p_; + p_=shift(a)*p_; + return p_; +} + +path c_line(path p) { + // returns the path obtained by adding to p a copy rotated + // around the endpoint of p by 180 degrees + // works only if the initial point and the endpoint of p are different + // a c_line is symetric with respect to the center of + // the straight line between its endpoints + // + return p..rotate(180,point(p,length(p)))*reverse(p); +} + +path tounitcircle(path p, int n=300) { + // the transformation pair x --> x/sqrt(1+abs(x)^2) + // is a bijection from the plane to the open unitdisk + real l=arclength(p); + path ghlp; + for(int i=0; i <= n; ++i) { + real at=arctime(p,l/n*i); + pair phlp=point(p,at); + real trhlp=1/(1+abs(phlp)^2)^(1/2); + ghlp=ghlp--trhlp*phlp; + } + if(cyclic(p)) {ghlp=ghlp--cycle;} + return ghlp; +} + +void centershade(picture pic=currentpicture, path p, pen in, pen out, + pen drawpen=currentpen) { + pair center=0.5(max(p)+min(p)); + real radius=0.5abs(max(p)-min(p)); + radialshade(pic,p,in,center,0,out,center,radius); + draw(pic,p,drawpen); +} + +pair zentrum(path p) {return 0.5(min(p)+max(p));} + +//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +real scalefactor=19/13; // For output: height=scalefactor*width +real outputwidth=13cm; +picture kalender;// at first we produce a calendar for february 2006 +texpreamble("\usepackage[latin1]{inputenc}"); +size(outputwidth,0); +real yc=0.5; +pair diff=(-3.5,5*yc); +pen farbe(int j) { + pen hlp=0.8white; + if(j % 7 == 6) {hlp=red+white;} + return hlp;} + +// farbe=German word for color +path kasten=yscale(yc)*unitsquare; +// Kasten is a German word meaning something like box +path Gkasten=shift((0,2*yc)+diff)*xscale(7)*yscale(2)*kasten; +path tage[]= new path[7]; // Tag=day +string wochentag[]={"MO","DI","MI","DO","FR","SA","SO"}; +path[][] bx= new path[6][7]; +string[][] entry= new string[6][7]; +bool[][] holiday=new bool[6][7]; + +// Now the necessary information for February 2006 +int start=2; +int days=28; +for(int i=0; i < entry.length; ++i) { + for(int j=0; j < entry[0].length; ++j) { + int day=i*7+j-start+1; + entry[i][j]=(day > 0 && day <= days ? (string) day : ""); + holiday[i][j]=false; + } +} + +for(int j=0; j < 7; ++j) { + tage[j]=shift((j,yc)+diff)*kasten; + filldraw(tage[j],farbe(j),black+2bp); + label(wochentag[j],zentrum(tage[j]),Palatino()); + for(int i=0; i < 6; ++i) {bx[i][j]=shift((j,-yc*i)+diff)*kasten; + filldraw(bx[i][j],farbe(j),black+2bp); + if(holiday[i][j]) {filldraw(bx[i][j],farbe(6),black+2bp);}; + }; +}; +filldraw(Gkasten,0.3white,black+2bp); +for(int j=0; j < 7; ++j) + for(int i=0; i < 6 ; ++i) {label(entry[i][j],zentrum(bx[i][j]),Palatino());} +label("\Huge Februar 2006",zentrum(Gkasten),Palatino()+white); +// Zentrum=center; Februar=february +add(kalender,currentpicture); +erase(); + +// Now the mosaic is constructed +pair a[]=new pair[4]; +path p[]=new path[4]; +path q[]=new path[4]; +path kontur[]=new path[5]; +picture temppic; + +a[1]=(0,0); +a[2]=(1,0); +a[3]=(0,1); // a triangle with abs(a[2]-a[1])=abs(a[3]-a[1] + // and a right angle at a[1]; +q[1]=(0,0){dir(-20)}::{dir(20)}(0.2,0){dir(-140)}..{dir(0)}(0.3,-0.2){dir(0)}.. +{dir(140)}(0.4,0){dir(20)}..{dir(-20)}(1,0); +q[2]=(0,0){dir(20)}..{dir(-20)}(0.8,0){dir(-140)}..{dir(0)}(0.9,-0.3){dir(0)}.. +{dir(140)}(1,0); +q[2]=c_line(q[2]); +p[1]=similarpath(a[1],a[2],q[1]);// arbitrary path from a[1] to a[2] +p[2]=similarpath(a[2],a[3],q[2]);// arbitrary c_line from a[2] to a[3] +p[3]=rotate(90,a[1])*reverse(p[1]);// +kontur[1]=p[1]..p[2]..p[3]..cycle;// first tile +kontur[2]=rotate(90,a[1])*kontur[1];// second +kontur[3]=rotate(180,a[1])*kontur[1];// third +kontur[4]=rotate(270,a[1])*kontur[1];// fourth +pair tri=2*(interp(a[2],a[3],0.5)-a[1]); +pair trii=rotate(90)*tri; +// translations of kontur[i], i=1,2,3,4, with respect to +// j*tri+k*trii +// fill the plane + +for(int j=-4; j < 4; ++j) + for(int k=-4; k < 4; ++k) { + transform tr=shift(j*tri+k*trii); + for(int i=1; i < 5; ++i) { + centershade(temppic,tr*kontur[i],(1-i/10)*white, + (1-i/10)*chartreuse,black+2bp); + } + } + +// Now we produce the bijective images inside +// a suitably scaled unitcircle +for(int k=-1; k < 2; ++k) + for(int l=-1; l < 2; ++l) { + transform tr=shift(k*tri+l*trii); + for(int i=1; i < 5; ++i) { + centershade(temppic,scale(2.5)*tounitcircle(tr*kontur[i],380), + (1-i/10)*white,(1-i/10)*orange,black+2bp); + } + } + +add(temppic); + +// We clip the picture to a suitable box +pair piccenter=0.5*(temppic.min()+temppic.max()); +pair picbox=temppic.max()-temppic.min(); +real picwidth=picbox.x; +transform trialtrans=shift(0,-1.5)*shift(piccenter)*yscale(scalefactor)* + scale(0.25picwidth)*shift((-0.5,-0.5))*identity(); +clip(trialtrans*unitsquare); + +// add the calendar at a suitable position +add(kalender.fit(0.75*outputwidth),interp(point(S),point(N),1/13)); diff --git a/Master/texmf-dist/doc/asymptote/examples/mosquito.asy b/Master/texmf-dist/doc/asymptote/examples/mosquito.asy new file mode 100644 index 00000000000..7e299d264d3 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/mosquito.asy @@ -0,0 +1,82 @@ +size(9cm,10cm,IgnoreAspect); + +pair d=(1,0.25); +real s=1.6d.x; +real y=0.6; +defaultpen(fontsize(8pt)); + +picture box(string s, pair z=(0,0)) { + picture pic; + draw(pic,box(-d/2,d/2)); + label(pic,s,(0,0)); + return shift(z)*pic; +} + +label("Birds",(0,y)); +picture removed=box("Removed ($R_B$)"); +picture infectious=box("Infectious ($I_B$)",(0,-1.5)); +picture susceptible=box("Susceptible ($S_B$)",(0,-3)); + +add(removed); +add(infectious); +add(susceptible); + +label("Mosquitoes",(s,y)); +picture larval=box("Larval ($L_M$)",(s,0)); +picture susceptibleM=box("Susceptible ($S_M$)",(s,-1)); +picture exposed=box("Exposed ($E_M$)",(s,-2)); +picture infectiousM=box("Infectious ($I_M$)",(s,-3)); + +add(larval); +add(susceptibleM); +add(exposed); +add(infectiousM); + +path ls=point(larval,S)--point(susceptibleM,N); +path se=point(susceptibleM,S)--point(exposed,N); +path ei=point(exposed,S)--point(infectiousM,N); +path si=point(susceptible,N)--point(infectious,S); + +draw(minipage("\flushright{recovery rate ($g$) \& death rate from virus +($\mu_V$)}",40pt),point(infectious,N)--point(removed,S),LeftSide,Arrow, + PenMargin); + +draw(si,LeftSide,Arrow,PenMargin); + +draw(minipage("\flushright{maturation rate ($m$)}",50pt),ls,RightSide, + Arrow,PenMargin); +draw(minipage("\flushright{viral incubation rate ($k$)}",40pt),ei, + RightSide,Arrow,PenMargin); + +path ise=point(infectious,E)--point(se,0.5); + +draw("$(ac)$",ise,LeftSide,dashed,Arrow,PenMargin); +label(minipage("\flushleft{biting rate $\times$ transmission +probability}",50pt),point(infectious,SE),dir(-60)+S); + +path isi=point(infectiousM,W)--point(si,2.0/3); + +draw("$(ab)$",isi,LeftSide,dashed,Arrow,PenMargin); +draw(se,LeftSide,Arrow,PenMargin); + +real t=2.0; +draw("$\beta_M$", + point(susceptibleM,E){right}..tension t..{left}point(larval,E), + 2*(S+SE),red,Arrow(Fill,0.5)); +draw(minipage("\flushleft{birth rate ($\beta_M$)}",20pt), + point(exposed,E){right}..tension t..{left}point(larval,E),2SW,red, + Arrow(Fill,0.5)); +draw("$\beta_M$", + point(infectiousM,E){right}..tension t..{left}point(larval,E),2SW, + red,Arrow(Fill,0.5)); + +path arrow=(0,0)--0.75cm*dir(35); +draw(point(larval,NNE), + Label(minipage("\flushleft{larval death rate ($\mu_L$)}",45pt),1), + arrow,blue,Arrow); +draw(point(susceptibleM,NNE), + Label(minipage("\flushleft{adult death rate ($\mu_A$)}",20pt),1), + arrow,N,blue,Arrow); +draw(point(exposed,NNE),Label("$\mu_A$",1),arrow,blue,Arrow); +draw(point(infectiousM,NNE),Label("$\mu_A$",1),arrow,blue,Arrow); + diff --git a/Master/texmf-dist/doc/asymptote/examples/multicontour.asy b/Master/texmf-dist/doc/asymptote/examples/multicontour.asy new file mode 100644 index 00000000000..0e8476de922 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/multicontour.asy @@ -0,0 +1,19 @@ +import contour; + +size(200); + +real f(real x, real y) {return x^2-y^2;} +int n=10; +real[] c=new real[n]; +for(int i=0; i < n; ++i) c[i]=(i-n/2)/n; + +pen[] p=sequence(new pen(int i) { + return (c[i] >= 0 ? solid : dashed)+fontsize(6pt); + },c.length); + +Label[] Labels=sequence(new Label(int i) { + return Label(c[i] != 0 ? (string) c[i] : "",Relative(unitrand()),(0,0), + UnFill(1bp)); + },c.length); + +draw(Labels,contour(f,(-1,-1),(1,1),c),p); diff --git a/Master/texmf-dist/doc/asymptote/examples/near_earth.asy b/Master/texmf-dist/doc/asymptote/examples/near_earth.asy new file mode 100644 index 00000000000..afdf64c6b5c --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/near_earth.asy @@ -0,0 +1,56 @@ +import three; +import math; +texpreamble("\usepackage{bm}"); + +size(300,0); + +pen thickp=linewidth(0.5mm); +real radius=0.8, lambda=37, aux=60; + +currentprojection=perspective(4,1,2); + +// Planes +pen bg=gray(0.9)+opacity(0.5); +draw(surface((1.2,0,0)--(1.2,0,1.2)--(0,0,1.2)--(0,0,0)--cycle),bg); +draw(surface((0,1.2,0)--(0,1.2,1.2)--(0,0,1.2)--(0,0,0)--cycle),bg); +draw(surface((1.2,0,0)--(1.2,1.2,0)--(0,1.2,0)--(0,0,0)--cycle),bg); + +real r=1.5; +pen p=rgb(0,0.7,0); +draw(Label("$x$",1),O--r*X,p,Arrow3); +draw(Label("$y$",1),O--r*Y,p,Arrow3); +draw(Label("$z$",1),O--r*Z,p,Arrow3); +label("$\rm O$",(0,0,0),W); + +// Point Q +triple pQ=radius*dir(lambda,aux); +draw(O--radius*dir(90,aux),dashed); +label("$\rm Q$",pQ,N+3*W); +draw("$\lambda$",arc(O,0.15pQ,0.15*Z),N+0.3E); + +// Particle +triple m=pQ-(0.26,-0.4,0.28); +real width=5; +dot("$m$",m,SE,linewidth(width)); +draw("$\bm{\rho}$",(0,0,0)--m,Arrow3,PenMargin3(0,width)); +draw("$\bm{r}$",pQ--m,Arrow3,PenMargin3(0,width)); + +// Spherical octant +real r=sqrt(pQ.x^2+pQ.y^2); +draw(arc((0,0,pQ.z),(r,0,pQ.z),(0,r,pQ.z)),dashed); +draw(arc(O,radius*Z,radius*dir(90,aux)),dashed); +draw(arc(O,radius*Z,radius*X),thickp); +draw(arc(O,radius*Z,radius*Y),thickp); +draw(arc(O,radius*X,radius*Y),thickp); + +// Moving axes +triple i=dir(90+lambda,aux); +triple k=unit(pQ); +triple j=cross(k,i); + +draw(Label("$x$",1),pQ--pQ+0.2*i,2W,red,Arrow3); +draw(Label("$y$",1),pQ--pQ+0.32*j,red,Arrow3); +draw(Label("$z$",1),pQ--pQ+0.26*k,red,Arrow3); + +draw("$\bm{R}$",O--pQ,Arrow3,PenMargin3); +draw("$\omega\bm{K}$",arc(0.9Z,0.2,90,-120,90,160,CW),1.2N,Arrow3); diff --git a/Master/texmf-dist/doc/asymptote/examples/odetest.asy b/Master/texmf-dist/doc/asymptote/examples/odetest.asy new file mode 100644 index 00000000000..69f8ea3fd07 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/odetest.asy @@ -0,0 +1,43 @@ +import ode; + +write("integration test"); +real f(real t, real x) {return cos(x);} +write(integrate(1,f,0,10,0.1,dynamic=true,0.0002,0.0004,RK3BS,verbose=true)); +write(); + +write("system integration test"); +real[] f(real t, real[] x) {return new real[] {x[1],1.5*x[0]^2};} +write(integrate(new real[] {4,-8},f,0,1,n=100,dynamic=true,tolmin=0.0002, + tolmax=0.0004,RK3BS,verbose=false)); +write(); + +write("simultaneous newton test"); +real[] function(real[] x) { + return new real[] {x[0]^2+x[1]^2-25,(x[0]-6)^2+x[1]^2-25}; +} +real[][] fJac(real[] x) { + return new real[][] {{2*x[0],2*x[1]},{2*(x[0]-6),2*x[1]}}; +} +write(newton(function,fJac,new real[] {0,-1})); +write(); + + +write("BVP solver test"); +write("Finding initial conditions that solve w''(t)=1.5*w(t), w(0)=4, w(1)=1"); +real[] initial(real[] x) { + return new real[] {4,x[0]}; +} + +real[] discrepancy(real[] x) { + real error=x[0]-1; + write("Error: ",error); + return new real[] {error}; +} + +real[] w0=solveBVP(f,0,1,n=10,dynamic=true,tolmin=0.0002,tolmax=0.0004,RK3BS, + initial,discrepancy,guess=new real[] {-30},iterations=10); +write(w0); +write(); +write(integrate(w0,f,0,1,n=10,dynamic=true,tolmin=0.0002,tolmax=0.0004,RK3BS, + verbose=false)); +write(); diff --git a/Master/texmf-dist/doc/asymptote/examples/onecontour.asy b/Master/texmf-dist/doc/asymptote/examples/onecontour.asy new file mode 100644 index 00000000000..0d7f247fd39 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/onecontour.asy @@ -0,0 +1,5 @@ +import contour; +size(75); + +real f(real a, real b) {return a^2+b^2;} +draw(contour(f,(-1,-1),(1,1),new real[] {1})); diff --git a/Master/texmf-dist/doc/asymptote/examples/oneoverx.asy b/Master/texmf-dist/doc/asymptote/examples/oneoverx.asy new file mode 100644 index 00000000000..5d9775d44dc --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/oneoverx.asy @@ -0,0 +1,17 @@ +import graph; +size(200,IgnoreAspect); + +real f(real x) {return 1/x;}; + +bool3 branch(real x) +{ + static int lastsign=0; + if(x == 0) return false; + int sign=sgn(x); + bool b=lastsign == 0 || sign == lastsign; + lastsign=sign; + return b ? true : default; +} + +draw(graph(f,-1,1,branch)); +axes("$x$","$y$",red); diff --git a/Master/texmf-dist/doc/asymptote/examples/orthocenter.asy b/Master/texmf-dist/doc/asymptote/examples/orthocenter.asy new file mode 100644 index 00000000000..5c6807b4f25 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/orthocenter.asy @@ -0,0 +1,40 @@ +import geometry; +import math; + +size(7cm,0); + +real theta=degrees(asin(0.5/sqrt(7))); + +pair B=(0,sqrt(7)); +pair A=B+2sqrt(3)*dir(270-theta); +pair C=A+sqrt(21); +pair O=0; + +pair Ap=extension(A,O,B,C); +pair Bp=extension(B,O,C,A); +pair Cp=extension(C,O,A,B); + +perpendicular(Ap,NE,Ap--O,blue); +perpendicular(Bp,NE,Bp--C,blue); +perpendicular(Cp,NE,Cp--O,blue); + +draw(A--B--C--cycle); + +currentpen=black; + +draw("1",A--O,-0.25*I*dir(A--O)); +draw(O--Ap); +draw("$\sqrt{7}$",B--O,LeftSide); +draw(O--Bp); +draw("4",C--O); +draw(O--Cp); + +dot("$O$",O,dir(B--Bp,Cp--C),red); +dot("$A$",A,dir(C--A,B--A),red); +dot("$B$",B,NW,red); +dot("$C$",C,dir(A--C,B--C),red); +dot("$A'$",Ap,dir(A--Ap),red); +dot("$B'$",Bp,dir(B--Bp),red); +dot("$C'$",Cp,dir(C--Cp),red); + +label(graphic("piicon","width=2.5cm"),Ap,5ENE,red); diff --git a/Master/texmf-dist/doc/asymptote/examples/p-orbital.asy b/Master/texmf-dist/doc/asymptote/examples/p-orbital.asy new file mode 100644 index 00000000000..1932e098c67 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/p-orbital.asy @@ -0,0 +1,31 @@ +import graph3; +import palette; +size(200); +currentprojection=orthographic(6,8,2); +viewportmargin=(1cm,0); + +real c0=0.1; + +real f(real r) {return r*(1-r/6)*exp(-r/3);} + +triple f(pair t) { + real r=t.x; + real phi=t.y; + real f=f(r); + real s=max(min(c0/f,1),-1); + real R=r*sqrt(1-s^2); + return (R*cos(phi),R*sin(phi),r*s); +} + +bool cond(pair t) {return f(t.x) != 0;} + +real R=abs((20,20,20)); +surface s=surface(f,(0,0),(R,2pi),100,8,Spline,cond); + +s.colors(palette(s.map(abs),Gradient(palegreen,heavyblue))); + +render render=render(compression=Low,merge=true); +draw(s,render); +draw(zscale3(-1)*s); + +axes3("$x$","$y$","$z$",Arrow3); diff --git a/Master/texmf-dist/doc/asymptote/examples/parametricelevation.asy b/Master/texmf-dist/doc/asymptote/examples/parametricelevation.asy new file mode 100644 index 00000000000..ac0f0b09ad5 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/parametricelevation.asy @@ -0,0 +1,10 @@ +import graph3; +import palette; +size(200); + +currentprojection=orthographic(4,2,4); + +triple f(pair z) {return expi(z.x,z.y);} + +surface s=surface(f,(0,0),(pi,2pi),10,Spline); +draw(s,mean(palette(s.map(zpart),BWRainbow())),black,nolight,render(merge=true)); diff --git a/Master/texmf-dist/doc/asymptote/examples/parametricgraph.asy b/Master/texmf-dist/doc/asymptote/examples/parametricgraph.asy new file mode 100644 index 00000000000..a5688a6f9dd --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/parametricgraph.asy @@ -0,0 +1,16 @@ +import graph; + +size(0,200); + +real x(real t) {return cos(2pi*t);} +real y(real t) {return sin(2pi*t);} + +draw(graph(x,y,0,1)); + +//xlimits(0,1,Crop); +//ylimits(-1,0,Crop); + +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight,RightTicks(trailingzero)); + + diff --git a/Master/texmf-dist/doc/asymptote/examples/parametricsurface.asy b/Master/texmf-dist/doc/asymptote/examples/parametricsurface.asy new file mode 100644 index 00000000000..299ea72eef7 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/parametricsurface.asy @@ -0,0 +1,23 @@ +import graph3; + +size(200,0); +currentprojection=orthographic(4,0,2); + +real R=2; +real a=1.9; + +triple f(pair t) { + return ((R+a*cos(t.y))*cos(t.x),(R+a*cos(t.y))*sin(t.x),a*sin(t.y)); +} + +pen p=rgb(0.2,0.5,0.7); +surface s=surface(f,(0,0),(2pi,2pi),8,8,Spline); + +// surface only +//draw(s,lightgray); + +// mesh only +// draw(s,nullpen,meshpen=p); + +// surface & mesh +draw(s,lightgray,meshpen=p,render(merge=true)); diff --git a/Master/texmf-dist/doc/asymptote/examples/partialsurface.asy b/Master/texmf-dist/doc/asymptote/examples/partialsurface.asy new file mode 100644 index 00000000000..2e8ad34d834 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/partialsurface.asy @@ -0,0 +1,29 @@ +import graph3; +import palette; + +size(0,300); +currentprojection=perspective(3,-2,2); + +real V(real r) {return r^4-r^2;} +real V(pair pos) {return V(abs(pos));} + +real R=1/sqrt(2); +real z=-0.2; + +bool active(pair pos) {return abs(pos) < R;} +bool above(pair pos) {return V(pos) >= z;} + +pair a=(-1.5,-1); +pair b=(0.5,1); +real f=1.2; + +draw(plane(f*(b.x-a.x,0,z),(0,f*(b.y-a.y),z),(a.x,a.y,z)), + lightgrey+opacity(0.5)); + +surface s=surface(V,a,b,40,Spline,active); +draw(s,mean(palette(s.map(new real(triple v) { + return above((v.x,v.y)) ? 1 : 0;}), + new pen[] {lightblue,lightgreen})),black); + +xaxis3(Label("$\phi^\dagger\phi$",1),red,Arrow3); +zaxis3(Label("$V(\phi^\dagger\phi)$",1),0,0.3,red,Arrow3); diff --git a/Master/texmf-dist/doc/asymptote/examples/partitionExample.asy b/Master/texmf-dist/doc/asymptote/examples/partitionExample.asy new file mode 100644 index 00000000000..4974d99d9ca --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/partitionExample.asy @@ -0,0 +1,27 @@ +size(15cm); +import bezulate; + +path[] p = texpath("$\sigma \Theta$"); +pair m = min(p); +pair M = max(p); +real midy = 0.5(M.y+m.y); + +path[] alpha = p[0:2]; +path[] theta = p[2:5]; +filldraw(p,lightgrey,black); + +draw("{\tt partition}",(M.x+1mm,midy)--(M.x+5mm,midy),Arrow); +draw((M.x+1mm,midy+1mm)--(M.x+5mm,midy+2mm),Arrow); +draw((M.x+1mm,midy-1mm)--(M.x+5mm,midy-2mm),Arrow); + +filldraw(shift((M.x+8.5mm,midy+3.5mm))*alpha,lightgrey,black); +filldraw(shift((M.x+5.5mm,0))*theta[0:2],lightgrey,black); +filldraw(shift(M.x+5.5mm,midy-2.5mm)*theta[2:3],lightgrey,black); + +draw("{\tt merge}, {\tt bezulate}",(M.x+9mm,midy+3mm)--(M.x+15mm,midy+3mm),Arrow); +draw("{\tt merge}, {\tt bezulate}",(M.x+9mm,midy)--(M.x+15mm,midy),Arrow); +draw("{\tt bezulate}",(M.x+9mm,midy-2.5mm)--(M.x+15mm,midy-2.5mm),Arrow); + +filldraw(shift(M.x+16mm-min(alpha).x,midy+3.5mm)*bezulate(alpha),lightgrey,black); +filldraw(shift(M.x+16mm-min(theta[0:2]).x,0)*bezulate(theta[0:2]),lightgrey,black); +filldraw(shift(M.x+16mm-min(theta[0:2]).x,midy-2.5mm)*bezulate(theta[2:3]),lightgrey,black); diff --git a/Master/texmf-dist/doc/asymptote/examples/pathintersectsurface.asy b/Master/texmf-dist/doc/asymptote/examples/pathintersectsurface.asy new file mode 100644 index 00000000000..b69b0b859a5 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/pathintersectsurface.asy @@ -0,0 +1,20 @@ +size(500); +import graph3; + +currentprojection=perspective(-5,-4,2); + +path3 g=randompath3(10); + +draw(g,red+thin()); + +triple[][] P={ + {(0,0,0),(1,0,0),(1,0,0),(2,0,0)}, + {(0,4/3,0),(2/3,4/3,2),(4/3,4/3,2),(2,4/3,0)}, + {(0,2/3,0),(2/3,2/3,0),(4/3,2/3,0),(2,2/3,0)}, + {(0,2,0),(2/3,2,0),(4/3,2,0),(2,2,0)}}; + +surface s=surface(patch(P)); +s.append(unitplane); + +draw(s,lightgray+opacity(0.9)); +dot(intersectionpoints(g,s),blue); diff --git a/Master/texmf-dist/doc/asymptote/examples/pdb.asy b/Master/texmf-dist/doc/asymptote/examples/pdb.asy new file mode 100644 index 00000000000..b3b954c8c6a --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/pdb.asy @@ -0,0 +1,172 @@ +import three; +import cpkcolors; + +// A sample Protein Data Bank file for this example is available from +// http://ndbserver.rutgers.edu/ftp/NDB/coordinates/na-biol/100d.pdb1 + +bool getviews=true; + +currentlight=White; +//currentlight=nolight; + +defaultrender.merge=true; // Fast low-quality rendering +//defaultrender.merge=false; // Slow high-quality rendering +bool pixel=false; // Set to true to draw dots as pixels. +real width=10*linewidth(currentpen); + +size(200); +currentprojection=perspective(30,30,15); + +pen chainpen=green; +pen hetpen=purple; + +string filename="100d.pdb1"; +//string filename=getstring("filename"); + +string prefix=stripextension(filename); +file data=input(filename); + +pen color(string e) +{ + e=replace(e," ",""); + int n=length(e); + if(n < 1) return currentpen; + if(n > 1) e=substr(e,0,1)+downcase(substr(e,1,n-1)); + int index=find(Element == e); + if(index < 0) return currentpen; + return rgb(Hexcolor[index]); +} + +// ATOM +string[] name,altLoc,resName,chainID,iCode,element,charge; +int[] serial,resSeq; +real[][] occupancy,tempFactor; + +bool newchain=true; + +struct bond +{ + int i,j; + void operator init(int i, int j) { + this.i=i; + this.j=j; + } +} + +bond[] bonds; + +struct atom +{ + string name; + triple v; + void operator init(string name, triple v) { + this.name=name; + this.v=v; + } +} + +struct chain +{ + int[] serial; + atom[] a; +} + +int[] serials; +chain[] chains; +atom[] atoms; + +while(true) { + string line=data; + if(eof(data)) break; + string record=replace(substr(line,0,6)," ",""); + if(record == "TER") {newchain=true; continue;} + bool ATOM=record == "ATOM"; + bool HETATOM=record == "HETATM"; + int serial; + + atom a; + if(ATOM || HETATOM) { + serial=(int) substr(line,6,5); + a.name=substr(line,76,2); + a.v=((real) substr(line,30,8), + (real) substr(line,38,8), + (real) substr(line,46,8)); + } + if(ATOM) { + if(newchain) { + chains.push(new chain); + newchain=false; + } + chain c=chains[chains.length-1]; + c.serial.push(serial); + c.a.push(a); + continue; + } + if(HETATOM) { + serials.push(serial); + atoms.push(a); + } + if(record == "CONECT") { + int k=0; + int i=(int) substr(line,6,5); + while(true) { + string s=replace(substr(line,11+k,5)," ",""); + if(s == "") break; + k += 5; + int j=(int) s; + if(j <= i) continue; + bonds.push(bond(i,j)); + } + } +} + +write("Number of atomic chains: ",chains.length); + +int natoms; +begingroup3("chained"); +for(chain c : chains) { + for(int i=0; i < c.a.length-1; ++i) + draw(c.a[i].v--c.a[i+1].v,chainpen,currentlight); + for(atom a : c.a) + if(pixel) + pixel(a.v,color(a.name),width); + else + dot(a.v,color(a.name),currentlight); + natoms += c.a.length; +} +endgroup3(); + +write("Number of chained atoms: ",natoms); +write("Number of hetero atoms: ",atoms.length); + +begingroup3("hetero"); +for(atom h : atoms) + if(pixel) + pixel(h.v,color(h.name),width); + else + dot(h.v,color(h.name),currentlight); +endgroup3(); + +write("Number of hetero bonds: ",bonds.length); + +begingroup3("bonds"); +for(bond b : bonds) { + triple v(int i) {return atoms[find(serials == i)].v;} + draw(v(b.i)--v(b.j),hetpen,currentlight); +} +endgroup3(); + +string options; +string viewfilename=prefix+".views"; + +if(!error(input(viewfilename,check=false))) + options="3Dviews2="+viewfilename; + +if(getviews && prc()) { + picture pic; + add(pic,embed("label",currentpicture,options=options),(0,0),N); + label(pic,cameralink("label"),(0,0),S,fontsize(12pt)); + shipout(prefix,pic,options=options); +} else + shipout(prefix,options=options); + diff --git a/Master/texmf-dist/doc/asymptote/examples/penfunctionimage.asy b/Master/texmf-dist/doc/asymptote/examples/penfunctionimage.asy new file mode 100644 index 00000000000..38951e550d5 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/penfunctionimage.asy @@ -0,0 +1,27 @@ +import palette; + +size(200); + +real fracpart(real x) {return (x-floor(x));} + +pair pws(pair z) { + pair w=(z+exp(pi*I/5)/0.9)/(1+z/0.9*exp(-pi*I/5)); + return exp(w)*(w^3-0.5*I); +} + +int N=512; + +pair a=(-1,-1); +pair b=(0.5,0.5); +real dx=(b-a).x/N; +real dy=(b-a).y/N; + +pen f(int u, int v) { + pair z=a+(u*dx,v*dy); + pair w=pws(z); + real phase=degrees(w,warn=false); + real modulus=w == 0 ? 0: fracpart(log(abs(w))); + return hsv(phase,1,sqrt(modulus)); +} + +image(f,N,N,(0,0),(300,300),antialias=true); diff --git a/Master/texmf-dist/doc/asymptote/examples/penimage.asy b/Master/texmf-dist/doc/asymptote/examples/penimage.asy new file mode 100644 index 00000000000..2aef9f9ebe2 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/penimage.asy @@ -0,0 +1,14 @@ +size(200); + +import palette; + +int n=256; +real ninv=2pi/n; +pen[][] v=new pen[n][n]; + +for(int i=0; i < n; ++i) + for(int j=0; j < n; ++j) + v[i][j]=rgb(0.5*(1+sin(i*ninv)),0.5*(1+cos(j*ninv)),0); + +image(v,(0,0),(1,1)); + diff --git a/Master/texmf-dist/doc/asymptote/examples/phase.asy b/Master/texmf-dist/doc/asymptote/examples/phase.asy new file mode 100644 index 00000000000..7256ffc515c --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/phase.asy @@ -0,0 +1,18 @@ +import graph; +size(8cm,6cm,IgnoreAspect); + +pair S0=(4,0.2); +pair S1=(2,3); +pair S8=(0.5,0); + +xaxis("$S$"); +yaxis(Label("$I$",0.5)); + +draw(S0{curl 0}..tension 1.5..S1{W}..tension 1.5..{curl 0}S8,Arrow(Fill,0.4)); +draw((S1.x,0)..S1,dashed); +draw((0,S1.y)..S1,dotted); + +labelx("$\frac{\gamma}{\beta}$",S1.x); +labelx("$S_\infty$",S8.x); +labely("$I_{\max}$",S1.y); + diff --git a/Master/texmf-dist/doc/asymptote/examples/piicon.eps b/Master/texmf-dist/doc/asymptote/examples/piicon.eps new file mode 100644 index 00000000000..56bf59bde96 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/piicon.eps @@ -0,0 +1,1135 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%BoundingBox: 0 0 147 144 +%%HiResBoundingBox: 0.000000 0.000000 147.000000 144.000000 +%......................................... +%%Creator: AFPL Ghostscript 814 (epswrite) +%%CreationDate: 2005/05/07 23:32:22 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%EndComments +%%BeginProlog +% This copyright applies to everything between here and the %%EndProlog: +% Copyright (C) 2004 artofcode LLC, Benicia, CA. All rights reserved. +%%BeginResource: procset GS_epswrite_2_0_1001 +/GS_epswrite_2_0_1001 80 dict dup begin +/PageSize 2 array def/setpagesize{ PageSize aload pop 3 index eq exch +4 index eq and{ pop pop pop}{ PageSize dup 1 +5 -1 roll put 0 4 -1 roll put dup null eq {false} {dup where} ifelse{ exch get exec} +{ pop/setpagedevice where +{ pop 1 dict dup /PageSize PageSize put setpagedevice} +{ /setpage where{ pop PageSize aload pop pageparams 3 {exch pop} repeat +setpage}if}ifelse}ifelse}ifelse} bind def +/!{bind def}bind def/#{load def}!/N/counttomark # +/rG{3{3 -1 roll 255 div}repeat setrgbcolor}!/G{255 div setgray}!/K{0 G}! +/r6{dup 3 -1 roll rG}!/r5{dup 3 1 roll rG}!/r3{dup rG}! +/w/setlinewidth #/J/setlinecap # +/j/setlinejoin #/M/setmiterlimit #/d/setdash #/i/setflat # +/m/moveto #/l/lineto #/c/rcurveto # +/p{N 2 idiv{N -2 roll rlineto}repeat}! +/P{N 0 gt{N -2 roll moveto p}if}! +/h{p closepath}!/H{P closepath}! +/lx{0 rlineto}!/ly{0 exch rlineto}!/v{0 0 6 2 roll c}!/y{2 copy c}! +/re{4 -2 roll m exch dup lx exch ly neg lx h}! +/^{3 index neg 3 index neg}! +/f{P fill}!/f*{P eofill}!/s{H stroke}!/S{P stroke}! +/q/gsave #/Q/grestore #/rf{re fill}! +/Y{P clip newpath}!/Y*{P eoclip newpath}!/rY{re Y}! +/|={pop exch 4 1 roll 1 array astore cvx 3 array astore cvx exch 1 index def exec}! +/|{exch string readstring |=}! +/+{dup type/nametype eq{2 index 7 add -3 bitshift 2 index mul}if}! +/@/currentfile #/${+ @ |}! +/B{{2 copy string{readstring pop}aload pop 4 array astore cvx +3 1 roll}repeat pop pop true}! +/Ix{[1 0 0 1 11 -2 roll exch neg exch neg]exch}! +/,{true exch Ix imagemask}!/If{false exch Ix imagemask}!/I{exch Ix image}! +/Ic{exch Ix false 3 colorimage}! +/F{/Columns counttomark 3 add -2 roll/Rows exch/K -1/BlackIs1 true>> +/CCITTFaxDecode filter}!/FX{<</EndOfBlock false F}! +/X{/ASCII85Decode filter}!/@X{@ X}!/&2{2 index 2 index}! +/@F{@ &2<<F}!/@C{@X &2 FX}! +/$X{+ @X |}!/&4{4 index 4 index}!/$F{+ @ &4<<F |}!/$C{+ @X &4 FX |}! +/IC{3 1 roll 10 dict begin 1{/ImageType/Interpolate/Decode/DataSource +/ImageMatrix/BitsPerComponent/Height/Width}{exch def}forall +currentdict end image}! +/~{@ read {pop} if}! +end readonly def +%%EndResource +/pagesave null def +%%EndProlog +%%Page: 1 1 +%%BeginPageSetup +GS_epswrite_2_0_1001 begin +/pagesave save store 197 dict begin +0.1 0.1 scale +%%EndPageSetup +gsave mark +Q q +0 0 250000 250000 re +Y +q[1470 0 0 1440 0 0]concat +147 144 8[147 0 0 -144 0 144]@X false 3 +colorimage +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W,urr2rts7Z*U`K_\Jms=`eDnV)BF^#aQnF?PYs8N#ss8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2rts6f@F>Y#U0HO],N3WK,= +aI!gMUk8XHs8;cjs8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2oss8Vfco#@%As6tC0iGZDf&oh%mnF5uJs8W)trr<#u +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +rr2oss8VNUn6AL!Wd>3;]fH,mNQ@M*[&/KUs8W#oqZ$Tqs8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#ss8W,mo^^"g,QI7\ +pYfu%M\9r3)=[.cs8W,urr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8N#ss8W,en*jRQ'rlTik.NeTs,G-g)7QPss8W,sr;-Hns8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W)trr<#up@\!rR3_h&IJ;Z3]S[5<=;p\unc/Xhrr2oss8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr<#umdKXM8/8.O%Hb>a +s8S)$RMiW6KE(uOr;?Eks8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr)lss7,UF`0_bKnUC5hB"Ea,CfVJCnF?PYs8N#s +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W,urr2rts6f@F>Y#U0HO],N3WK,=c(,`_W.Y-Ms8;fks8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!r;6?js8T$jM6ML5 +s7h<Ag1@gL%Vo&_n*olIs8W)trr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2oss8VNUn6AL!Wd>3;]fH,mNm4+4\Z1;^s8W#pqZ$Tq +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8;cjs8W+uSV"1u"981Qp"EibL(8$")Xm1cs8W,urr2rts8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#ss8W,en*jRQ'rlWj +k.<YRs,kQt)S)l#s8W,sr;-Hns8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W#oqZ$TqXeLKXJcu,LM"95+\:kE.<>t>qnc/Xh +rr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W)trr<#un*faK8/8+O%Hb;`s8S5+Sf5/>KE(uOr;?Eks8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,sqtg?ms0/;O +\:Y"cq2+[p?FGLsAPsH7n+$GXs8N#ss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2rts6oFG=\9F.HO],L3WK,Ac(5iaWe:?Os8;fk +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!r;6?js8T@"K=HXAs8.]Fe6]J7%:`6Rn*ffHs8W)trr<#us8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2oss8VQVn5r3r +WI,0;]K-#lOj0I9\>k2]s8W#pqZ$Tqs8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8;cjs8W,+Vh;O:#ljd[o$gmNK+2?f)Xm.b +s8W,urr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8N#ss8W,emdO4H'rlWjk.<YRs,kTu)S<#%s8W,sr;-Hns8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W#oqZ$Tq +[&8YhL^O1ZN:PJ$["Aiu:E&]jnc/Xhrr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr<#umdBRE7hr%O%Hb8_s8S5,Sf5;BKE(uO +r;?Eks8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W,sr;-Hns0en]\qpdor/C3r=gWek@87[-n*pAWs8N#ss8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2rts6f=E +<C[e(Hk#5M3WK,AcCPreWe:?Os8;fks8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!r;?Eks8TU.L:`?Ns8@oIdoj&2%U_sH +mdBQDs8W)trr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr<#u +rr2opr;-BiqYg?grVcZnrr2orrr<#urr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!rr2oss8VNTn5VsnWdG9<]K-#lOj9O:]W6\bs8W#pqZ$Tqs8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8;fk +s8W,/X+n6H$NL'ao$^[IK+;9_([g_[s8W,urr2rts8W-!s8W-!s8W-!s8W-!s8W,urr2rts8N#s +rr2orrr2rts8W)ts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8N#srr2oss8W&qqu-Kks8W,urr2rts8N#ss8W,urqu`mqYgBjs8N#srr;usrr<#u +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#ss8W,emdO4H'rlWjk.<YRs,kTu)SE,' +s8W,sr;-Hns8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W#pqZ$Tq];p\$NXPmdORpn"[=Jco8f-m_n,NFfrr2oss8W-!s8W-! +s8W-!s8W,urr2ors8W,trVQQlr;ZfsrVZNjrVZZorr2ors8W,urr2rts8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2rts8N#sr;?Hls8Vcao#.kmf=m!]Z$Y9R\G>pq +q"OL^s8W)ts8N#qrVZNkrr2rts8W-!s8W)us8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr<#u +mdBRE7hr%O%Hb5^s8S5,Sf58BKE(uOr;?Eks8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,sr;-Hns1PLg^lAj'rfH^!;71rb +>"KOtmdL2Us8N#ss8W-!s8W-!s8W-!s8N#srr2rts8Doos8W,pq"XIOnc&Oes8W,urr2lpr;Q]p +s8W,urr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#ss8W,urr2inqu?]r +e^;=:O@[*C#j/r`gUJuhW@c,U+j$NXcF8GTb-h9Ls8N#srr2oqrVQTnrVuots8W-!s8N&us8W-! +s8W-!s8W-!s8W-!s8W,urr2rts6f=E<C[e(Hk#5N3WK,AcCPreX+UHPs8;fks8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +r;?Eks8Ta6L;T#[s8A#Icr%&u%Tu@>mI'HCs8W)trr2orrVc`prr2orrr2orrr2opr;-Hns5;SM +W/jN?H6LM?I,NShp\=X`r;?QnrVlfprr2orrr2orrr2orrr2orrr2orrr2orrr2orrr2orrr2or +rr2orrr2orrr)fpr;?Hks8UBc[W>CRY'^QLb=)C-KDtn7rr%fUomcYi?/2nBaI!gkX&RWbP4J,- +s8W,urr2loqYpKmrr2orrr2orrr2orrr2orrr2orrr2orrVc]ps8VKSmo2alWI#*9]/fokOj0I9 +]W6\bs8Vunq>UBmrr2orrr2orrr2orrr2orrr2orrr2orrr2orrr2orrr2orrr2orrr2orrr2or +s8W,urr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr<#u +rr2orrr2inrV?9dqYL-dqY^3dr:p$\s8W,1WeA<O%0-9ema"b6J.>aR)!L5Os8N&oq>:*frVuot +rr2oss8W)trr)fns8W,Ncb"mA$aYEkeY+,8TbP\<)Ph]tfZpl(s8W)trVlfqs8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2rtrr2rtLO3$79*'r`'<[$.e"nGHX=E,2/a^D> +q:]3Unp:<7PQ1T?p#0?8ZR<h`-e,h`o^_GMs8W,urr2ors8W-!s8W-!s8W-!s8W-!s8W-!s8N#s +s8W,emdO7J's2oolG#@Zs-(m))SW>+s8W,sr;-Hns8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8N#ss8W,urr2cjr;6Birr2oss8W)trr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8N#ss8W,urr2flrVHBgrr2oss8W)trr<#us8W-!s8W#pqZ$Tq]W?k*NXYscORCCk +YCI*d7i:X]nGiOgs8W,oq"O=Kn+-&>o()>@nF-)FqqTW1F&`O)B+)>2*o<b=s5@8`q1\@a9>Q]# +]:W6to_%S<p@@bCnaZ5@nal>AoC;ABnaZ2?nac5?oC;ABnaZ5@nal;@oC;ABnF,oBq>SUV[:)N- +E`Wm0AdOT:%\n=^UNmEJHk3Z@'ul@Sd@MH?ZS;$t;#^!3s8S>]np'3-0ufP*`3P'Zl1=B4p[RbB +nF,u<nFQ/<oC25?nF,r;n+,r9nauJIi8EZl5o-)7%G@pDq!s?[PT$g#IJWmAmd9H3n+,u:o'l,= +nF,u<nFQ/=oC28@nF6&=nFQ/=oC28@nF6)?nal;@oC;AAo()DOrr2rts8;fnrVc`qs8W)trr<#u +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2oss8W)trqlTkr;?Nns8W#pr;6Bf['[qoE2%]+Y'G;r +H$QT=GcQ(9]Qn6tcC,CGqMjmd:U5T`903c%D52E'YC_A85X:#'!)a+0?3^^A#7"N>#[dc<9`P/i +82VZWE!3_/);D2CpYTEZs-!?MHJ>GCT6M/$,>naPEs`7b#RP/M$"jPNBF5)]$41MT$#U%VE!Zki +#mtVY$?-=ZE!cqk$Oh%[#@R`=@fusG1FPUr6kW`o&5"nk<'Lt1:C2GR!0qL-Xah(uN#0m5*p^L# +r9//#s-NQGDq:a!LLVnJ&pY'(KbG/G&JKL('71?*HP.!?&efa-'7LQ.Ih<<B#mkV]$uumjF:o74 +%h<Ui%sS^$J.`NE&efa-'7UW.IM*<@&JKL&'719&HOpa7&.j.!&:+itH4:@.$Oq.b%<2XZD%R@r +BkaEN[E\aOrqlTkrr2oss8W)trr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2orrr<#uqtp<hr;HWorr<#u +[C+4lBqlI^I0p@7$k&18)PJ8rX!8mn-Rl;A,f*DI@+Cn_s7hT@b>5Bo"'A6.,q?__0!QoXZ8FPT +5=!CS4ioiOaZr275XELY7*J"ec::CNA5uNZ@L&o^&BBqNkIWSLoRQu<Ms.Z'Nb8PV2O@-5i(Qhj +92*f/9[up6ePAul:J]P;:tAH?ek]/o:f?(L<8LYThGmP2=BOQb=lNLbiDEY=>[?&i?J/OffN__@ +=&uD3>)6Tc;dr?&Kk(@ZGSIQ>(!rBfm__3foR[#APk)s^TlguM;P@/qpKq:g?XN#)?ftg(k[7c^ +?si/+?g1s*l!n2h@:AM1@-h9.l=")e@:8A.?g(m)l!Rl_?si/+?g1s*kZqKW?!c`$?fta%jBc-Q +>@$>q?0,6oi)a%=<E7mP:tSB5eLN2Z#7#oS8s&oGqYgBlrr2orrr2rts8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#s +s8W,urr2cjr;HTns8W)2][Ai&N!'<7,:0Nr=Q!k+n8E:=B4pO;@-1HkhcEt;;HWF)>BA5a&-)Hc +m`JD/IfNnVGuI`/='!jO<S:2HfM#&j8l!i-:=Dj2dS!<_92*c,9[-1&cU1(K3Ac@g57<Ec&$gg$ +hPqt%nU:H1K\WI?M/5XK7aFLmb="eB6UT$a6cVP^_a$Q+5XN@R6Gl#S_`^9'4[?tL5fGlO`B?K) +4?pbH4Mj9E^,nBl4$(2?42Ep<^,J'i2`f/;1r(1TFs\7t9f`]/?3m*F'tK/8go)FniFW&hQM]E6 +_iY[28s(GN^b[jU0Jg0m1Uf%o[kKVI0Jg0l1Uf%o[P0MG0Jg-l1U\tn[P0MH0f-9m1Uf%o[kT\J +0Jg0k1:Akm[PTkM1c;]u27GJ%[l?CZ3BFc53kmg@_EC0&5=37R7*&V=hfEl5(Drl87ZRNKrr2os +rr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!rr2oss8W-!s8DoqqYL-is8TmMdlKOH"9sK=42c#SojhY!5=!(,+J&rNL^=B= +"pf__#C6U\FoVMo6SUs]V&01,N:"\]Z%WWP1+N>)Gm4It"9`rM"*aeIGQ7eh!!%'?!H8#?E<#uW +!!$s<!,quBFTVhu!X3]q+XhSA$F5="i3=g4r/LO2E6=FM4"NAl!-ePIDu]o[!!.-@!HS5AEW?,\ +!!.*?!HS5@E<#uV!!$a6!,DQ7BE/$I!!$d7!,qo<D?'ZP!!$g8!,DQ7B`J-G!<Hs>"aC(OJcl3V +*uZ5(6j\lj(9`B-c^GgHdo$/FQi,]C]8-h:(et&2C]OQF!!$L/!+Q!/@fQL=!!$L/!+#X*?N:(; +!!$U2!+Gp.?iU1:!!$L/!+Z'0@fQLB!!$j9!,MW8C]FHO!!$g8!,MW8CB+?M!!$m:!,qo<EW?,\ +!!$m<"*uj`[rHKc'c)n;ZHW@Ks8;fns8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr2ors8W,rqu$Kos7GpVI=/(##^@jO[W$6\ +>@->9-`I7RIK0@a!!$L/!*K:%9E5&V!!#1a!B^>^4?tPDfqoeipPA4X9X'0_82q"X!&O]V3<0%= +!!"tY!&srY2ZNhN!!#Oi!'pSb8cSic!!#Uk!&srY2#mV<!!"qZ!"<O7$,;H8mDqcss.Ao+9<3IT +*#1F5!&=QU0E;),!!"\Q!&+BQ0E;),!!"\Q!&"<P0`V2?!<>=m$qL@!63%!O!!"YP!%n6O/cYl( +!!"VO!&"<P/H>c#!!"DI!%%[G0`V2(!!!*B&ccfF#H!"had!_:bt7s7PPsBC]8I7J*BFZB<t5[/ +%Lu&?%S7-?8.Q5'*$&8u(Kq7U5Re,d&e[tS(0(eQ7h-##%Lu,B%o3E849,@0!!"ML!%S$L.f]Q" +!!"VO!&"<P0E;)+!!"YP!&4HR2ZNhQ!!$F-!-h%+bYCse6q!:>s8W)ts8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2oss8W)trqu]m +rVc]fp%LmEOT>N<@V"b>C[`c&XT8NN!!$j:!au'/57%WU"pQeO7UM"/SUGpLJ:E`3Jsq7/:=#@E +s7qH<a\/dg&5GG&F*34hJs(V5O+2Y?J:N`1J<Nhn+*V<OJq@0H=sm-/(+ggOG^5$pJW5//MLU,4 +JqTY$=A+-K"43JVq;Q&eq30^=,Bd6-GBo-uJW##-M1:#1It*6'ItrN'LOXf.JV&c(GC<@N'7OXI +kN7D@?Q_s#'RG(TJUrQ*ItN6#KR\K)It*-$ItN6#K7AB'It**#It<-#Jp_s$L51Xs>=Da]!2b5a +a,q/2b";X5QMB08["Ah-^T@>2s6oCCnaZ/@oCV;3lCaJn`N+"5[QaEQHIT6#cH!Njq"jLKn*f`6 +qYL&u\@Qj,H@^X$It**#ItN6#K7AB(It*-$ItrN'LOXf/JUrc+HA<"A2uiqQ!!$dP)OG/PnLH,\ +jlPe-s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W)trr<#urVc`lqY^Bns08iO"U/fr0=5tKr('E(#RQ4c!,;Q:@K6Bm!!"3,5$#M9`:s#u +p@e.Ys8W)trqu]js8W,5Y(afT%KH?]m`A,)J.GXK([UPXs8W,urr2oqr;Zfskhj>,T,7P%HN3V^ +jKB\[?N?adJH,ZLr;6Bjrr2orrr<#up\F`3C.FJ%"Q6L7s88&Oem,J3&Du0[s8W,trVZ]qs8W-! +s8W-!s8W&qqZ$Tq`jh8JL]mbHEW>ZZhk_-FC)ld6o)Jairr2oss8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W)trr<#uq"aeq>YA-]!2k>daHRP9cqOK>QhAd'X*bE-d(o\]s8;fls8W,dmdX4=%B+CL +l+f=Zs,kEi&@A3Ys8W,sqtg?ms8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trqcKf +s8W+EH$fSl-3OH]!WmaU?f<Uk\UK"2s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2oss8W&rrqlTks8W,'Yg!1LGY1TUF*%%%.B3@JEWQ;U +!<Gsr!%C)q;o$2as8W&rrVliss8;fnq>'m`qYU'^pAb0m\u^P&Nt)-eL[N8WY^d6b72G(Mm/R+c +q"XX`s8VWYm\kRKnBao0qiTmA0Vit)@8.^)l0SHMs7uKdqYL'bqYKs\p](9n]=b^g:CY.#')(@" +s7VAhOq<Y!7J6EQqtp6cq>0saqYL'bq>'jcrr;6Jl\K6lgSu_&r/U3h9:Tl#Wh>+Hs8VlgpA4X^ +qYL'bqYL'bqYL'bqYL'bqYL'bqYL'bqYL'bqYL$`q>UBlq"jkt>YA9c!3(MgcBfFDd8L#ERHqjU +a.Pp"r;QZnqu?]rmdKUO9GsmY&EUSds8S)"R2`N2L&_2Qqtp3frVlfqrqu]lq>'m`qYL'bqYL'b +qYL'bqYL'bqYL'bqYL'bqYKs\q#CBo\@B$K!%%^H=9&>@7S(Z_43`/$\,ZL.s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr<#urVc]nrVl`mqaa86 +"9a9`@-D68lkUJ-!!$d;"ChH54:)<BZ*C\9s8W)trqu]lqtp<jrr2orrr<#urr2opr;-Hns1GIf +_iG9,r.j^_8[*aV<CI_imI1)Ts8Mupp\F^!Sl=[Y/H>a8p!$4PP8\L?!0rXrs8W,rqtg<krr2or +rr2oss8VunqZ$TqW1Sd0B)q><70!:TjgR(-CDZI/n,NFfrr2orrr2orrqu]ks8W,#TnT@e!;kY` +s7_6"V&tA$(?t)Js8W,urr)lss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2oss8W&rrVlfp +q"jl#?V4iu!N^klc^>[GfNA1RRd7jLcDX_<qu$Kos6f@D>tPm4HO],N3WK,=aI*pPVM"pKs8;cj +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2orrr2rts7#OH%1Off!)3FnD)OAd +:/9V78<j/Sr;Zfss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +rr2oss8W&rrVc]orVZU]6])6ZMf<S-<E@c\$\n]^C'=cD!!!p193V#]o`"jhr;?KiqtpBlrr<#u +rr2oss8W-!s8W-!r;?Eks8Ta5L;&ZVs87Q<btP?m%p2:;m-X<Bs8N&us1kgl_MnZtqM>(1CsSLg +P&(Lo2>mJm4drr2lqrr2rts8W-!rr2orrr2rts6T+;N,'6\U`]X5NUkIsW-Jfub.RcSs8Doo +rr2orrr2rts6Aq;L1_O^W?_H@MY,G"XaC;%E(Kp*s8W,urr2orrr2rts8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!rr2oss8W&rrVc]nqtp:r<C:Cl!j@4pd$l$Nfj"LVRcM+9aei#:s8VQVmTiBu +Wd>3;]fH,mNQIS+[]"iYs8W#pqZ$Tqs8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#s +rVc]ps8VHPl3n(H!!#[m!,aeY^JRqd%M3:BnF-DWs8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W)trr<#urVc]nrVl`mr'Ec3&JLRYHMp?*c3"5t!!$[4!)<n007SJ. +oCMMPs8Vunqu6Tos8W,urr2rts8W-!s8W-!s8W-!s8;fks8W,1X+n6E%0-6Xm`eG/J.GgS([LGT +s8W,Jc+L?8')LQps7hK1W[=Zo'j='8[^NOBs8W&qr;Q]prr2oss8W-!s8N#srr2oss8VNUno7hS +`0(c2m!A^"I'S5%Xe'k=s8W&qqYpKnr;?Hls8T*kKr&hjr8(c[pkIS*-@oJ._n`e^s8W#pr;Q]p +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2oss8Vunqu?]r]"5Hs(]ekb%BP1! +d[M3PhIHTcS`774c`:46m-\1O(92]ik.NeTs,P9l)7ZYus8W,sr;-Hns8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W,urr2rts8Dops8W,gnF$hs0E;)O!!%1B<SB8f_g-O6s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2oss8W&rrVc]or;?I[6^&K0Uj77b +4$CC\!d=\IB)hp$!s9RN[(-/9s8)TgrVc]ps8W-!s8N#ss8W,urr2rts8N#srr2orrr2flq>^Kp +\>b1oM@BO^J*tTSZ@NNi8J^[[mem(aZB.H3ZRPqSRIA!Z^Ps+;5lch"J,fQKqYL'gs8W)trr<#u +s8W-!s8W-!s8N#sr;?Eks8T3pJ"^f]o\!IKqN0:(+FIZ@mdTfIs8W&rrVuotlg*qmBcZ!.,QI\" +o[['HIKkXP9)JSes8Murrr2orrr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +rr2oss8Vunqu?]r['[1f)Zk7f%BP0ueY+&]iFr8kSEIXB]9u/m8K+XW%Hb5]s8S5+Sf52>KE(uO +qtp3grr2orrr2orrr2orrr2orrr2orrr2orrr2orrr)fpqYL*bq>:$bqu?]rZEgh;!'1)[A.9'/ +DJo"\(RobuV>pSqs8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr<#u +rVc]nrVl`mqa3c9+<dh2H2]NR[K$;J!s3!7!^?tt,dXhas8W,oq"Xjfrr<#us8W,urr2orrqu]l +q>'paqY^3dr;Q]ps8W,sqtg?ms0nq^\:k4gpNH,Q9=9?^>Y#S&qZ"L?L;o;Zs87ZNk%iJ;)hqf* +Cgfj1qu-Qps82]kqtp<ks8W)trr2orr;?Nhq>:$br:]jYs8W+dP_Xos!:%?^s8SJL]fVd0([UMR +rVccjp\4^fs/DZGTPso+g0agQM:ngTHs$Zj^:4.Bs7lBbqYL*cqYU-cqtg0dqYL*cqYU-cr;HTn +s8W-!s8W-!s8DoqqYL*cqYU-cqtg0dqYL*cqY^'\p](9nYHP2T)$"h_$a,1!eY+&\i+E#hRcqUL +Tlpp:FV3lN2#mT7e"RhqXb6ZRs8;fks8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#s +rVc`qs8TF3]*&6j!!$4'!I%./cXg\T!<R/J\&\OKs8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!rr2oss8W&rrVc]or;?FZ7$]&DZ#t9g.P._&!,r)FAcMf`91rXbp%84]rVZTk +s8W,urr2lprqcKgr;?Nns8W)trr2ors8W,urr2N[oCDJDn*f`Ds8T3nJ$st7s7'mrbtGBq%r#&d +^q-VRL)oX1>kIE=etXXcGSa(7#.(\Cs8W,dmI'cEq#CBorr2oqrVl`mrVuotrr2oss8W)trr<#u +o()=,Bc#3g)?9Ggr7u%^Er`D@N;rqXs8W,Vf<hl<&G=7,s8S;]i(pn:!1SdDs8W-!rr2orrr<#u +s8W-!s8W-!s8W-!rr2oss8W)trqu]ms8W,sr;HWorr<#urr2oss8W-!s8W-!s8W-!s8W#pr;Zfs +`lGta3"1:F$a#+!etO5_i+2lfQhAa!Wd5,pTIp3DPKK@5\#4QMrr;KVmIKi=o()ABo(2GCoCDJD +o()DCo(2GCo^VJDoCM\AlgKIYRtcWq7RhP$!(?kfB+,3*923fQEqKtTP<hKcs8W,urr2rts8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr<#urVc]nrVl`mr'No<-7H0BGk`U7WW3$: +"U/B9!%^`7>5S3ns8W,rqtpEns82]kr;?Nns8W-!s7Z0\qYL)u\&`T1S:5phF*"8h%UfMF@gWNR +!<[3m,<*T+'*%0%o#aD2L^um0.f]QS#R+E>$>9_M@0H[;!!$:,"'uHICBk)U!<HCc3d\`\cN!qE +qtp?ls8972b\qHrH@)];H)c7>X))^Q;*HGFN=PX@C]F!]aHI'dE`m^:[!-\f75Ql37kf=2@s`K= +D,NGY.4.ndF+].PH$Q65H_l(9V0mWdI!_];I&24<VL!QaJqC#glgb#Ts8DoqrVc]]m-TIZUO.?a +I!hf=I&24<VgEchH[D]<H`2+2UQ(8G2E,1l(]\tl$*/Xoe=I`Xh-L'\Qh&U*_3#M&O')Yl<!<@r +#RFK:#?V6;=pPC;#7"Q?#[[fBAI&QR#7+rJ#\jVND$^Mi#mtYP!+,^+A,u^R&e^?f3kT0@n7?1s +)B,"D!*m+Hc2[hDr;?Nns8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2oss8W)trr<#u +r;?I[7$Af>X`\mb-7>_l!,i#EA,lT[8kN4_qtg9irqu]lqtp?ir;HZqs8)TgkND5iMmGQ1L&_9h +#mteT!-\VPM\d8)0JU'r35.F9_Dsd"7Rau!MBr5R8b0k_Z%O,m:<?%!g.=rf7nD'"9$p.$cpgUP +7n:ff5fPrN`%s9b#ml(l%nQ*Tmf!+`9MC$<!-o(fRL^$q%M4j8&<I8/U,FT&V0N(+a%?=2RHM"3 +G?5F\#)i`kM[pGj#nEI-"criiNW]ZQ#nN=-$&JW^IK0A!!!%KK!.4bHHN4%n!!%?G!."VFHN=.o +$4:gXYfZqFs0fDS#RF</!G)62H2mqj!!%<F!.+\GIfKJ!!!.TM!J:@PKFeZX)&no)1HB\_!NLYe +d@2-NeQ2_MMY>OmV03;(/92j[[4!K*-n2;L/@$iZYV.Z:0f$9p1V#G(^,\9k4?peP7*.qicV73d +>[?Au@d%B6l"Ol"AS1?i42D%'HiX7K[C"0Xs8W#prVuots8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8N#srr2oqrVl`mqEdN.)&]&jGlB*@XT/?="U/B9!%1B2<r;dkrVc]jq>:*frVlfq +s8W,6^="r!Jcl6u"p]i--`p-=eR;qOCM`KZEV='[mo39=:/BA4:!lR,e4E6LY(@_e`&I(t0s6*O +5XNFW7En1gb!eeC7nLlo8]jRqb=bLR92<r.9@%BjnjuL$!!$&WMPHE#YQ+Z.='=F$EV=*[nS;q3 +C2<<VDuNL+Vh\dhh5i"(r0$Zu=K[,^C1ObeC]%m[l=O\rB5$^JC@#VJl"4SlB4gIEC$o\MmqHP- +Bkm-JB^fVJnRu\-Bkd!KB^BMOnL#`g%Luk=p%1jKCB+?=1c;dVBC'/>l!\/h@qG%>B'a)?l==Mk +AnUIBB'j)=l=+8j?=)h_3C%[f!3(Dbb*<k2^c;5?:$Af*Vgogt@G,.#l<dr]?=)Yr>i8[dhH3k8 +;cMLK;UnQ>eOiQ`7nLom7`mq]`B$)p2)Vfs19_fDTEPLL!!$70#Z7t9`rH)=qYL*hs8W)trr<#u +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2rts7uKfs8W+FHDUlNKm7nC2)`#G!-&/G@fQKY +8kN.^r;-?hrVHBfrr2oss8KaHe2]RF!!%'c-)t-PiG`c.@V+k!:!kaT\/l``',?T;%>P,lI0'Ot +!!.$=!,VlBB:sJejKC,lX=LE*'I"Dq!!%*A!Gqf:E<#uT!!$d7!,DQ7C]FHN!<[aT?fj+"ZiC). +<)e!38Uq'QM/-qt+<dE`#_Wd%NXuk`&/1*9'9d$(*6=BYqWN#"mt&fQ%8&ZN#S*C@(Q]CLQPUR, +(E8\X)j_?[QPpj5*$(Lg*h+,iS/`T?*?^jk*h!rdSf8]C)&\fE=klG9cO:5#jQ,>8'Lr-'DbX$W +;,Z![(RZ<fSfJoD*?L^h*LdlbQl$d/()`GS(mc!TOqeh!&/(9V*[u26$DVna]o3`RRiT\?+Ld1< +75dsD#*B<'KaJ0>$4;Ci#_E6dI0Bh$"U02R!d4PDC]FHO!!$d7!,)?4@fQL>!!$"#!_WLn92/-# +p%A%WrVcZlrVuotrr2orrr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#ss8W,sr;HZqs0oJ` +$4MJuB^J;]c2[ig!s2s4!%gf8=oA3pqtp<gqu$Kork?+p3]`#r!-BP9Y@hS<Bl!3(6,a]\Qj*hH +!!.*?!+Gp.>lXk"!!#1_!&srY0*__J%hDVJ$V>VH&&XSR_iu@EIh,OD)Z]q)&.Co/"#^Pr8Ic5) +%Ll,D%o<6+<#m!KCi/eZ(7,"$7!!F"*?ArB-EC`km03fF!!$%"!'pSb4ok[M!!#P=*?qY;%HbAf +s641OW?m+%'*!!$1&!([(i7fWNZ!!#Oi!([(i8,rW\!!#Oi!(R"h8,rW^!!#pt!+,^+>Q=bE +?<uVK27sY=EilIL!<Gam!dS-[juPQ:!!$1'!D<Cm8,rW\!!#Oi!([(i7fWN[!!#Ff!(6ee6N@*V +!!#Rs!t/-m!ge!FWe)(lKGg(n#ppQ5!!#Cf!BpJ`4obRA!!"qX!&afW2?3_2#6mL*%TNuJ9b%Y- +%Lu)B&4Qg,1dsiJOH?C(kiqs?q#CBor;?Kms8W)trr2ors8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W)trr2orrVc`nr;8cDNB]\LA7Y!1#_W3ZB)hon8kNLhr;-<fr;?Kjp%A#M8WEcNDCI'= +BPR!ND"'AD\d8au!!$j9!+>j-9)nrK&.h>8"YN;8@Yor2It*B"G'pg0])):"nF?1*E^u4'!j74s +P&D(04:H+,%VJ<4@9cLsoCVPAnFcJHhr!Ds"_'AK]O"t+!!%3U&m@Re?iU17:J]G6:X]:DD?pJ0 +H$P3tJsUt:PCS4TJUN3(A.cqK)W%PCbF9W?EY18]&N_TqI!_'.JXV+=Q[jUTJ:O/?J=M.?S:H-[ +J:O/=I[Z+MVFX3h!!"/B!)a::MIpMf)]YIi*+a24GlRh2&.st7BC$`aUBh-+I!h93JY%CARt-$Z +J:O,>J=(k;R"0^SJ:O&<J=1q<Q[XCMKnc:":IccK!*))]>X8?o8fE&'Lk1,?It*N/Iuf)/Mgp58 +It*?,JVnVoHapSsqYL*Xn*ff:naZ/>naZ,<nEp#GpAb0ms8W)rr;HTmrVuots8W,urr2rts8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2oss8Vojqu?]rG^-5%'UO&gr#?`K!!$a6!)+"<.dcWj +r;?Qos8TC1bl\)c)]bV`B'a>NnMN8:#mu@d!,V]9=onag"9^YP7:)"8QKdYunaZ)Bp\+Xes8N#s +s8W-!s8W#pr;Zfs^V76J3"8A6!\PMo(C^@@3rs,.;"jY[s8W,pq>:3ls+cB*!!$D2?/n:@a8c3N +,U?'&E0^J(Eb&eJ1H)]B!*MlbDZBb8rr2rsrr2rtrr<#uIr7c?C'D/+)m4f.M/!bj/-)oKJcGcM +r;6Bjrr2rts8W-!s8W-!s8W-!s8W-!rr2ooqu$Kos*fE]!!#S:-`Cj!o)JcB=BLQ5J<g089-kp\ +DK,:L!.T6<W;lntqYL-hrr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr<#unF5t&KnPD@I$^%O +lg3s;s8W)trr2ors8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#ss8W,sr;HKgqu-Km +rr2oss8W)trr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr<#ur;?Nns8TR;cO1/3 +CMN?)6H&p)EWH2E!!"=MZ*OE0s8W-!ZEhdV!-Ue#c#e%&5=!0p$\\Q\CB+?<!!#"k&O1erOR)5u +q>'dbs8W)trr<#ur;?Nhq>0saqYBs`r;?Klrr2lprVc]nkj%MlM1pY:ItWAr]=YQNrr;ooqu-Kl +qYL-is8R4aUAt:BD/Sqi,c1PA=?SfP&eS7\(78rUnJN75!!#97J;XC,s7Q'YqYL*`p\=dgs2Dme +:cel1>RZ<u&m.C!2(B=-mHsoPs7uKeqYL*cqYU-cqtg0dqYL*cqYU-cqt^'bq>'pfs8>M\FoVMJ +5XE@q?KD.eATMpQ.4J!l!*qE=[q0.;!!$PYI[gB;s7Q'ZqYL*cqYU-cqtg0dqYL*cqYU-cqtg0d +qYL*cqYU*aqY^9hs8W,urr2rts8N#sqYL*cqYL'bqYL'bqYL'bqYL'bqYL'bq>'mbr;?Qnrr)fp +rr2orrr2orrr)fprr2oss8W)trr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W,urr2orrr)fpr;?FU5E%]ga(8iI"p]\[!Fu014%i4Ms8W,ko^mQZV[Eod<`\*kC@<#YRfEG, +!<HU/!'q2/5(A'CmHs9?s8W-!s8;fmqYL'erVlfqrr2ors8W,urr2rts8W-!rr2oss8W&rr;Q]p +s8W,urr2orrr<#ur;?Klrr)iqrr<#uoCMSa%V$k6WG6/8%1S-o!(M6ZM]3UX/2"8;@HI[qIK0@9 +[^N^Gs8W#pr;Q]ps8W,sr;?Tps1Q"N1arhl.17jZ%CimQs8W,sr;?Qnrr2ors8W-!s8W-!s8W-! +s8W,urr2orrr<#ul07=<$VCC!G[Fh;4?gR]!+N%2\f)Jb!!$_*9[QL-e,TJV\@BQYs8W#pr;Q]p +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2oss8W)trqcKfqYL'cqtg<krVuots8W,urr2rts8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8N#ss8W,pq>:3ls*/dh',-[UGPiI'TE"t,!!#\(&1Hl1li7"b +7Rht0!,l7QkZqNT#RZ=e!,;W><WE+K9hf*ho^i%[rVlfqqYL*frVc`prr<#urr2oss8W-!s8W-! +s8W-!s8W-!s8N#ss8W-!s8W)trVHBeqYL'bqYC'er;Q]ps8W,sr;?Tps1,\]!!$A":=;p7eGoSa ++X(-2EK:)"@9H^g7nCi(!+lr\8b;QDs8W,urr2rts8N#ss8W,trVZ]qs5;kq^:h5Sq"ajcr;Q]p +rr2rsrr2rts8W-!s8W-!s8W-!s8W-!s8W,qqYU<ms+cAu!!#J.*Lpn^nduP"():,VXK2C%8HAm< +?=2eS3kkt,B(PWes8W,urr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2rts8;fns8W,.\'GEkK558l +5siNj!-/)@>6"XM['[4?s8PDPK`hR1C2<9@=l'AgK)bmb!Wl.""!OtU\,ZL.rVc]kqYU6irVuot +s8W,urr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#s +qYL-is8R:eQiI,'B5-fe0s^i[?R[EuCi#=9!-W$iln:&r!!#c>H'\L1s82]krr2oss8W)trr2or +s8W,sr;?Qnrr<#urr2opr;?Tps8N#srr2oss8W-!s8W-!s8W-!s8W-!s8N#srr2rts85>UC]FH> +3BOo`A*EsnD-:"rIt)tK!'Lf%NFZVe+X<oj#>XdXmf3=erVc`qs8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +rr2orrr2lprqu]l5<k2o5fdGFl3.EC!Wcg3!'3_E>6"X$77E"<#_d28oM/33!sO2V!GVT78HT&8 +['[7@s8VrlqYgBks8W-!s8W)trr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W)trr<#uoCMMa&R67qSn`*4',?Z1!(:sPJg2LZ()`QVD=S>TOoPJM +L5)#os8Vrlqu?]rs8W-!s8W)trr<#us8W,trVcZlr;Q]prr2oss8W)trr<#us8W-!s8W-!s8W-! +s8W-!s8W)trr<#unaZ#W%7L6sFB;W#84h,-!)B#QYEkKQ!!#A-+.[7co*,MX6:,qss8Drrs8N#s +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W)trr<#uq>'pfs8R=gWtQ59G'<d&*M!01B`J-+$k+K_s7q(kW;lpE +E,bJA9$dS?HNF4^!Wkar#plpa[/^1+q>'mdrr2rts8N#ss8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2orrr2rts6Ak9"pSd(5/g]/hZ*Y! +#R=(EEe+;p@lZTb>?p.f!-ASV;![H5s8W,trVlfqrr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2opr;?Tps0oJO!!#b#$]/J.lm!dQ"U/6#mHR>;CB+?6 +/M=/CD=RZ,EIWJ:s8W,qqYU<ms8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2oss8W#prVuot\$sZj%>8S7nNK1V +!!%!>!F#O(+iVF:]tN&#"aXZgl;:I0!<RTL!bVK51eUJOp%@tUrVcZlr;Zfsrr2orrr2rts8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#s +qYL*hs8Rb*VuQg3@q=gc42([p?n*X0F*!6>!+9,>j?c8T!!$OE'h@lenGiOgrr2oss8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!qYL'gs8RV"NrT/L +-7>X*D=Io>MA6k-jQ,).&NKgkB0&/h?!ZCh!*al"PlLd`qYL*grr2rts8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#s +rr2oqrVl`mr'*E*5![1t@d4+$J-#d_!!"oe@r&lqeGoSc:/KMN@d"%&K`V<g!!#;W8n%Voq>^Kp +qtp9js8W)trr2ors8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W)trr2oss8W*c6@B:PNc8n.)B>4H!).`dOB,D>!!%RcC@3GuW;lok +H?teTs8Vrlqu6Tos8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W)trr2oss8W$h8T4Y0=ueXT@:JI$!+pV+U&Y/l$O]Q,!,YS1e4E<\!!$<8\\nIIs8;fm +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W,urr2rts7uKgs8W+DGcDDkQ[!`O*$1[O!,2E58KAg)X/j)=!c:Csb\V1g +&/1-*!,MW88J)O]mHs<@s8W#pr;Zfss8W,urr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2orrr2rts6An8"pS<j2nWL*j95a; +!!#B4H%R(VAfVqdBl!5L&rlql4be]Qs8W,qqYL6ls8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2rts7,XH%LkW&!,k\2e4i`i!!#l[P,caMb5_N. +!sEpY@H9@+]EegRoCMVSs8W)trr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#ss8W,rqu$Kos1#Sb$4MH!C@OSW`rH*[ +!!$.)"=pOQXVVds4$:;uEV1.dQiI,'!Wl7$![>"Y[f?C-qtp9js8W)trr<#us8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#s +qYL*hs8Rh-V>pU+?!lYW6,N[&AJl=SUSFpk!,"J]aAuC"!!$sH$V]mPlMpnarVc`prr2rts8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#srVc`qs8VENljXA( +!!.LXAEbd'[/pG<s8W+NJqa7*3t;g^A7b!K,,>GK:%7Z>s8W,trVliss8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr2or +rVc`nr;8`CO$5hLAS(-2#D)sWA,lTj:/4ti;Oo0aZ#OgZ*?C^O!,_i><s&OQ['[@Cs8W#pr;Zfs +rr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W)trr2oss8W*c6@B+GMJ[;(+!@0U!)?d(FFo+6!!$J:@d-*@_#OIG +(DfF/o'cVYs8N#ss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8)Ths8W+RL6_f>6PgW,BPQuN(RYC/9)nqkL5)6!!(IqLSSN*5"pp,Q6?rP1rVlfr +rr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!rr2orrr2lprr<#t6puhO*MR\!q]-`K!!$a6!(SUm3coJ:$4Mi6FS[I;WrN-: +!s;^0"=pjd\c;^0qYL'gs8W)trr2ors8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2orrr2rts6An7"U8-c1V."(k6D9E +!!#6@MNV(DP6(i<CMWD_,GG/<7XBB;s8W,qqYU9krr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2cjqu?]rH?thV!)5("Y\S%F!!%:57<ee3r's7k +!!$"N/Zil-o`+u4It+Ess8Vrlqu?]rs8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!r;?Nns8TI5bmOr2DK,;/3PGInE<#uA +%1P"7G)-P9IplaI8kR>.!-/)@?iU0UZEgq=s8VrlqZ$Tqrr2orrr2rts8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#s +qYL*hs8Rh-UAt:'>[HJX7)o9-BFthChVQrp$sb5-WbH28#mu=c!)0r6_#OH7r;?Kms8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2oss8VWZmM$@( +!!$Xu7)i;1huEa[K7fcqs83001&q;c3B=i]?fqCh?%%*ds8W,qqYU9krr<#us8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr<#u +r;?CW6'=l6do]f2!!@ZO!Fu01/Pf/G8P5-s0",P2mg9DV!<Hj6!'3eI>Q=a'r;?Klrr2orrr2or +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W)trr2oss8W*c6@/nBMJ[8'+!R?X!)ZZnE4rs,!!$Iu8^(%1f)Peh +%Ltqtna?GWs8N#srr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8N#ss8W,hnaR%t:&k9:?!cJS5K3['>J%MgrVcU&%8$U#C.q@K9MNt9!+*4H`W,u< +r;?Kms8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W,qqYU<ms*fEo&e^@KFScjlQN.#$!!#/i?tY+EXpYYqG'<a0-DphDC]FH2 +&eZ\\m-F]Os8N#srr2orrr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2orrr2rts6An7"pS6d1V."(k6D9E +!!#-LR\Gb!VuQg-AnLBj3kPFm=\22(s8W#rrr;usrr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2inr;Zfs\$s*P!)*k5N+ltm*Zq'\#?(<jp$_A= +$49Z2!-VXTiB06>#RG,8oC`.`s8N#ss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!qYL-is8R+\YX(V#;,YmD!-/&><sAjY +G'/i](lVg0k=J7k!!%'@!+5d,-F0q_s8W,rqu$Kos8N#ss8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#s +qYL*hs8Rh-V>pU+?=2bZ6cT0,BFk_Ahr!-'(0V4\O_\b'*$1UM!(DEgNrT.ZqYL'gs8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,qqYU<ms+#W_ +!!#P=.]dN*o`,&E5X9Yqs8Rh.OT5AE$4DSuAEbKlYQb;1nF5lGs8W&rrr<#us8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +o^q_m)Kf4fj#/m+!!$O0!)E_#3=#q/92*]AAEX4&K`V<h!!#)S9O%Pss8N#srr2orrr2rts8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W)trr2oss8W*d6@K7KMf!D(+!@3V!)cKaC@L]["U/?d0!f,#l3%<B +!!#[$\%Mb@s8;fmrr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8N#srr2rts85DYDu]lF4[6nk?fV1e@![-ds8W+EH&Ve(6PL?$BkcrD&!9.EIfKHI +rr2rsrr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8Vrlr;ZfsEcS3@3Q,3/i!^*Q!!79C!.$t!aDPnf'Gco5!,DQ78J)O] +m-O*=s8W)trr2orrr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2orrr2rts6An8"pS?m34rX-jou'@ +!!#*LR\6+<Z2al*;cMCC:=9+BCCUh;naZ#Hs8W)trr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr<#unaZ#V%7L6sG$%r+5t&fp!+<.>_Z0Z9 +IX[[b!(eIaVf$JK!!%=nI&R)Fs8)Ths8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,rqu-Qps0]8[$4DGn?fu0>nQK2Y +@V"_;B^Zr^T)\k1!WlC)"!b1[[K$:,r;?Kms8W)trr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#s +qYL-is8Re+W;lp4?t&+Z5/R@#BF>21qu#u3H`$iDD.RDK1,ZN@!*;``CB+>2rr2rsrr2rts8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2opr;?Tps0oJO +!!#b#$]/J.lm!dS"p\6#nac_[s$fIm!!$.W1:(\/mJm6$I!_Ufs8Vrlqu6Tos8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +rr2orrr2rts%?"D!!$[S+eh(]^,J*e&/($)!ce8@<!*4P['[FEs8W#pr;Zfsrr2oss8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W,urr2orrr2oss8W*c6@o[XP&G=3)B5.G!)Q9[@/'Ee%hDkY(7K#ToGAI5 +!!#97J;XC,s8)Tgs8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!qYL'gs8RV"O8o8M,q#U-Dt3r3KL/"Ss8W,gnEg\p3rf7n4?gMa>MfD\?A4*, +s8W,qqYU<ms8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8N#srr2oss8V]^omM7b$k-GB!)3Fn:&k8`!<G+c#r&]l\,ZL. +qYL'gs8W)trr2ors8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,sr;?Tps1,\W!!$%f7*8e>huEe% +!!#R']u9[>q#^_,1GlUL@H@UpHiO.7[^N^Gs8W#pr;Q]ps8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr2oss8W!g8T=_1?9:?c?t&*r!+^P-V#UJp +mHs<Q&5N9+D,!jW7Rt`-#&<Mkn,NFfrVc`qs8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr<#urr2opr;HZqs6T+? +L5).HJ"(n9QA($Rm-O$;s8W#pr;Zfsrr2orrr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#s +qtp<ks8R:eQiI,(Bkcul27W\eA.fMEs8W%RLo::R?<ULg7nCi(!+lr\8b;QDs8W,urr2rts8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2rts7,XI +%1P`+!,tt@g.=r_!!#lKK:;i?s6&S0$O]i4!-VURjuY]@#7"`/o(;t^s8N#ss8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W)trr<#urr2onqY^?lrr<#urr2orrr2rts8N#sr;?Kms8W)trr2ors8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W,urr2orrr<#unaZ/]&7He-UMF];&JL6+!(D$QLB%;REcR`O!-;jhm4U/s +!!#c>H'\L1s82]krr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8N#sr;?Kms8TX?^&S.,$42AuB'^imX9Ac4kND+0s8Rb*NrT/C$4DW!AEbNmXp,,7 +o()AOs8W)trr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr<#us8W,trVlZiqtg0dqYL*cqYL0hrVuot +s8W,urr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2opr;HZqs1#S]!!$P-;:eWAeGoSi +!!#9r]YFLHrsT<?)BGDbD=S>TOoPJML5)#os8Vrlqu?]rs8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8)Tgs8W+LJ;XC-6QmYICM`PN%ZV&2<:B;D +s8W+JIZOO05nk&uBP6ZJ)4:sE;tT_Ps8W,urr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr2or +rr2rts8PGRF9;YtDf,+o-`-kD?4ml4rr2c*]#F^M=$Agc>?g%d!-ASV;![H5s8W,trVlfqrr<#u +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2cjr;Zfs +I!hC`!)ba7\7]I?!!$e\HD1B=s8W-!J:O'g!(S1VT5SZA!!%OlFe\p9s8)Tirr2oss8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W&rrr<#um-F!C#[B,?\79+9#muFf!(2*[NW9%YH[D%Y!*ru>j?c8T +!!$OE'h@lenGiOgrr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!rr2oss8VWZmh6@*!!$_'9$U@7g&M+PJ:Npbs8W-!s*B!Y!!#bF/Zs#1oDel2 +I=8!ms8Vrlqu?]rs8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2ooqu$Kos*fEk!!$_A@H9[>`W-!Q +%LteilKJ9Js$T8&!<[siC@3GtW;lokH?teTs8Vrlqu6Tos8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#ss8W,hnaR%t:]LK=?XMnX5/R@#=1GcU +s8W,gnEgo(5QCdm1,HCLAa9<rAq5E,s8W,qqYU9krr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr2or +s8W,joCEJ'=r&!ED/Jh^)O^X+;+=#[s8W,hnaQhh<$<KbBkm&H&WHbj5DFoTs8W,qqYL6ls8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2inr;Zfs +\$s$N!)*e1MJ$Sg+<dKb#[-]fo)JainF5iU%R:!oANW/l>$Bha!*4T!OoPI]qYL*hs8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W,urr2inr;Zfs\@BT[!+/;hcW+$&!!%0B!(jT+^An65[C*pQ!+J5]b#MKu +!!%!I$UsCIkPtS^rVc]orr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W,qqYL6ls+#W[!!#G5-DYHpo*c%d&.hV+nF$>Vs7#OH%Lu&1!,>,!cV@6b +!!$E;\\nIIs8;fms8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#srr2onqYU<ms*&[X!!%(WD=T52Y5eQ/ +'bs(%m-F]Os*]<c!!$M?A*H0@_>jR@8P+%(s8N#ss8N#ss8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#srr2rts8>M\D#aQ>2E/-WAa9<rB6\Zl +s8W,urr;NYnI5q(!!$q;<S9Z*b6A/ao()GQs8W)trr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8Doq +s8W,dmI1PpBe1j?BPHlC%Z(/c8Ul5Qs8W-!s858RJHlI:CM`Ma,,,&;7Y$#Ns8W,qqYU9krr<#u +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr<#u +naYuV%Qj^kDGX-Y:f5aC!*4i/UAt8ns8W,blg+ue;?-]??XVtV4N%C-AFT*Zs8W,trVliss8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W,urr2flr;ZfsIXe$k!,?.YlU=:a!!$sI%n5dJkPtS^lK[[>#[K,>[qTXG +#RcCf!Dp88^An65r;?Klrr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W,trVliss6T+>$kQYH#(UB%lSLK0#7G22m-juSrr<#uL51ij!'U`!M.^Me +1,QNH$Y8i!oDejjrr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#srr2oss8V]_ndc=:*ZgqpFSHjuSH&Xl +7n@CnrVHQos+Q9)!!$>.=PZqTfDknj%1ktuna?GWs8N#ss8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#sqYL*hs8Rb,PQ1\R+!@+mDtOteSI#[% +o'u2Jrr<#us+#WZ!!#=s&s$dAm3sKd#74T)o()h\s8N#ss8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trqu]m +s8W,/\]OmPBhM1I?<uIn$%N!U4GAQOs8W-!s8R:fUAt::DJei&3Of%h?:de.s8Vuqrr;usrr<#u +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8)Th +s8W+LJ=QZ?;)'l5EHCdQ"+ip2HN4$Dq>'sgs8RV$PlLeS(DrBPC[iJgU(.f=o^q_Ss8W)trr<#u +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W,urr2cjr;ZfsGB]VY!-rR)oeSD2!!$[I),0;[kPtS^oCMPa'4)UuS8`NC +*?L^N!(MKhMuWhWqYL'gs8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W,urr2ors8W,t7nR_#!+J5\`+3B@!!$Y\J#32Fs7Q'[s8W+LJsZN<8KAkA +DK,@U$B0+OVuQesqYL-hrr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#srr2oss8VENmLKqE/haPIDY+MSO8o8O +H?tGJs8W)trp&b8"UJm%3PK'9lN@KH!!#Nt\%2P=s8;fmrr2oss8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2oss8VWYljXIi!!%%=<7b)Kg&M+W +K8-'!s8Vcbq#CBoJ:a6j!)+U_TlY;M!<e1)IB<JKs8)Tis8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trqcKh +s8W+PL8FqNAn,?4923e6!-J8A3k2]0s8W-!s8Re.VuQg/?XVqe:"'(BC_R^_oCMMPs8W)trr<#u +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#s +s8W,io(!;(;ucuFA7aph6,a!6C@(<Us8W,pq>1-ks+#]k!!#e@.&V62q#CGIH[Vmns8Vrlr;Q]p +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!rr2orrr2ors8W-!6:?G9&!D-ZqB[Ja!!$+k88eJ-rr2oss8Vs`7!Sb6Jo5Gq +0f--9!)e)gRK*<eqtp<jrr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W&rrr<#ulg3sF%Trr@KP>2i/M=:5$Y/buo`+skq>'mes8RV$S,`Oc +.kIfFG5M=?I!gCBs8W,qqY^Bns8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!r;?Kms8TX?_Z0[=6q#.,AEF.*K)bm@ +L51ums8W)ts75^L#mscY,c5U&o+i41!!#KCLmA#?s8)Ths8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,qqYL6ls+Z>j!!#A&)4"rOoGo$J +#RXf+nac_[s7uKes8W+LJtE#C;(aQ*FERBZ!.0*BWW3"uqYL-is8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trqlTj +s8W+CGb"g7F)>g`4?^=W!,2rU6KmXos8W-!s8TR<`W-!J6Uf+(?fM+eGmb'\lg!g9s8W&rrr2or +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#s +qYL*hs8RS!PlLeV,:0+'EVC%YPRnL/oCVVRs8VojqZ$TqJ:aHp!)tU*Y]Y*b!!%@nI]<AIs8)Ti +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!rr2orrr2rts7,XN&JSq(-`V0*oG8=0!!#qf86c,os7uKfs8W+JJ"?W?AS,N= +7n:Z$!,*)a8FuHBs8W,urr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8)Ths8W+LJt2lA;)'l5F`mEY!./m6V#UJpqYL-dqYU<ms+#]o +!!#nM0X5\@q>^MBI"&'ps8Vrlr;Zfss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#sr;?Nns8TU>bQ%WY<EIsV<SIKTFoVM6 +\@K?Rs8W#prVuor77_q7$&NS>oI;Dl!!#oCHBnO1s8)Thrr2oss8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2cjr;ZfsH@24_!*;9H^hINN +!!$e`JZ&PJs8)ThqYL*hs8RV$T)\jf/hjGMFnl";H[L:As8W,qqY^Bns8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2orrr2os +s8W*d7!o:IMK<k6-nDA!!+Q]Z6LjU6s8W-!s8VWZnH]J,-nDE;DtO\UOoPJML5:uls8Vrlqu?]r +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +rr2oss8V]^mM$L)!!$e&8'>(?irB'eIt+0ls8Vrlqtg0ds8W+LJt)f@:b40#Fa!Z_!.90CWW3"u +qYL-is8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!rr2oqrVliss6K";#n(<+4ht`EljOAZ!!#T?JWTp3s7lBcs8W,0]#t'RCJ7IN +='4;Z!-\h]8*fI's8W,trVc`prr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8N#ss8W,hna?nt8H8a1<*.^L;V1sL<ecF%s8W,qqYU-cqu?]r +J:a9k!)OsjWHNI]!!%OrIB!8Hs8)Tis8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#sqYL-is8RP!VZ6^=CMW?&6,`g(D[m=I +lg![5s8Vojqu?]rGBfSW!,cRfm63hR!!$Cu9R-U;rr2osrr2oss8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W&srr<#un*f]R&5iK0H"1CH +5XEBn#\iYln,NFfrVc`lqYU<ms+#]k!!#e@-_tp-pAb5JH[Vsps8Vrlr;Zfss8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2orrr<#u +lg4!J%qHq3Wc<(S(E&S?!*)N\?2ss)rVc`qs8V]^ne)[B'Gm*TE:bA#UAt9bJ:Na]s8Vrlqu6To +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W,urr2rts7,[N$P-AC#(gQ&lS13(#7G/7o(;t^s8N#sqYL*hs8RV$R/d4[+siq'Eqoe@L3e3I +s8W,qqY^?lrr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!rr2onqY^Bns+H-'!!$J7?K"mafDkts!!#<p\\.tBs82]js8W,blg=r_A2,mL +C2<5C$AJN]:q*sKs8W,sr;?Qnrr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!r;?Kms8TX@]`8%-&e^=CD"8bpV$[]?o()DPs8W)trqcKg +s8W+LJscT=9->@KE,t^V#)R_UXT/>#qYL-is8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr2orrVc`qs8GARKaS?NF`mO..B<FK>XqA) +s8W&rrVlZiqu?]rKnlE'!*rc3hbmA(!!$sI&4Q-Zmf3=err2oss8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8)Tgs8W+LJ;=1*66IGC +D/T%`)4Cm?;"F/Fs8W,urr2cjqu?]rJ:a-g!(\1RS8E0<&.t'l7="q5rVlfrrr2oss8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2inr;Zfs +\@K]]!*r)bb[FuC#Rc:c!(2HpPQ1[_qYL*cqY^Bns)rU^!!%4[D=BPF\,ZM88P="%s82fps8N#s +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W,urr2cjqu?]rJqTTn!)4mmW,m(T"UKoN7XP18rr2osrr2onqYU<ms+#]d!!#J,*1(JXnf/[C +#ms2nna6AVs8N#ss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8N#srr2orrr<#us$]D$"9jBrEV)1L[K$;?',=((lfnHLs8Dops8W,jo^`V-?l^>^ +EH:gn*1Hp.7Y$#Is8W,qqYL6ls8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,qqYU<ms+#]m!!#nS2R[XHoDel7I=J9ss8Vrlqu?]r +qYL*hs8RV$PQ1\R)&e`UC[iMiUC%K6o(2DOs8W)trr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr)fps8W,blg4rb@l?6WCi/YQ&WQhk9Rq_\ +s8W,qqYU3gr;Zfs\$s0R!*qfS`FWQA!sa;U!(XK,\c;^0r;?Klrr2rts8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#sqYL-is8RCmS,`Ol +4[-brBBoNtC4(N.s8W,qqY^?lrqcKgs8W+NKTZ<87M?N!C2<8`-)UtU=n;.Ss8W,urr2rts8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2orrr2cjr;Zfs +IY"L!!-N$km6a:\!!%!K&4c$NkPtS^rVc`lqYU<ms*oNf!!$M<A*$9Tbl@`Z'c9U8oC;k\s8N#s +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W)trr<#uoCMDb(d\3&CIUk=>$Kqc!+15+U&Y/mqYL*hs8VrlqZ$TqJ:N7P!'Li)NbE.p +.4_P+$XN>ooDejjrr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!rVc`qs8VNTn-on?-Rc!8EV(%aQ2gnb7nHtcs8W)ts8N#srr2rts85;VJ-Q@5 +DfG>$0!50S;L*SSs8W,rqu$Hmrr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2rts7,UI%1c)3!-2(@g/:l&!!$&SLn=YHs8)Th +s8W,sr;?Tps1#YR!!#[s$AN8/l8:K0"q"r4o(;t^s8N#ss8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trqlTjs8W+JJ>3)EC1(K3:/B7;!d4PE6+FG8 +s8W,sr;?Qnrr<#unaZ)S$<nl,XE/@Q'GZc2!(M^!Q2gmaqYL*hs8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2oss8VW[ndQ14 +!!7LYB';HF`<6H\m-O3@s8W&rrr<#urr2oss8VWZndH(4!!7LYA`l3A`<HW^nF6&Ls8W&srr<#u +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2orrr2rts7,[N +&.r:j*M7Frq&prV!!$"h87qo%rr)fprr2opr;HZqs1,_a!!$_)9@$gHhZ*Y#$Oo_olKJ9Js8Doq +rr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8Doqs8W,bm-P,h=p51cBkm)f/Zo<dA+K3_s8W,urr2rts8Drrs8W,fn*^Yr;ucoB +>[?8W8'V>HDY!Aks8W,urr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8N#sr;?Nns8TU=bQ%WY:f>qL>MfD`I/j7@\@B?Ss8W#pr;Q]pqYL-is8R=gRfEG) +Bkcs"6Grj(?qF%9s8W)trr;usrr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8Vrlqu?]rL5;&o!(IqJRVcm5)]YFU$X</ko)Jai +rr2oss8W)trr<#unaZ)Y&kr?+DGO-Z:f>sH!+`UNa8c2>r;?Kms8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2orrr)fps8W*d7=PRMMK<n7.kI_$!+lr^6h0^7 +s8W,urr2orrr<#uoCMPc'j_UlQZ@-@,:'#a!(_WjOT5@\qYL*grr2rts8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,qqYU<ms+#Wc +!!#Y?.B.?.pC@gs&/8%6o^Vt]s8N#ss8W,urr2rts7,XJ%M2#.!,P%jaC&E<!!$AUJ!p?:s8)Th +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2opr;?Tps1#VZ +!!$=n7`]+OkQq]R!!#K<J<0a1s82]krr2orrr2rts6Ak9"pep#27R@9lj!lO!!,p*\A&"Cs8;fm +rr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!qYL*hs8RV$SH&Xe1GlI[FS5\7H$=P0s8W,qqY^?lrr<#urr2oss8V]^mM$L% +!!$Uj34Nd?mJm6*I=S0os8Vrlr;Q]ps8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W)trr2orrr2rts8PMWF92SoE,kG.3P,7kB+u1[m-X-=s8W&rrr<#uqYL*hs8Re.VuQg- +>[?8_:XT4CD@R4EnaYuGs8W)trr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8)Ths8W+LJtW/E<&m"PD/AV?!-*I<WW3"u +qYL*hs8W-!s8N#sqYL*hs8RCmR/d4c0JTbRG52+<H@11@s8W,qqY^Bns8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2lprr<#ulg*mC$=bkK\8H3S&JL<-!)%WaM?!VU +qYL*grr2orrr2oss8W$b7!o"<Jo>Su0f$!6!*Vl`B`J,1rr2rsrr2rts8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8Vrlqu?]r +J:aEo!*2<L_.@6E!!$e`J>`GIs8)Thrr2oss8W-!s8)Ths8W+NKU`#B:*M!XEH:d\%$!YCI/j6G +rr2rsrr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2onqY^Bns*oTt +!!$qNBBr#VaT)<`!!,3l\@;M<s8;fmrr2orrr2rts7,XL#Raf^.&q<,obA:-!!#KCLmA#?s8)Th +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W,qqYU<ms+#]o!!$(e6cNVHkPtTnIY"?qs8Vrlqu?]rs8W,urr2cjqZ$Tq +It*:T!(.P?Q"t4)+<[Eb$<$Ean,NFfrr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W)trr2ors8W,bm-P5mA0N7qEc_!o*16d,<_#\hs8W,urr;usrr2orr;?Nns8TX@b5_NW +8kdN8>MfD\G7+mRl07@1s8W)trr2ors8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!qYL*hs8RV$U&Y0q6q#+)@d!dl@t0') +s8W,qqYU<ms8W-!s8W,sr;?Tps1#YU!!#e$$\iA/lRt!##n:G:oCW(_s8N#ss8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2cjqu?]rKSH<'!+B&8hc<e5!!@BE!(s`1^]4?6 +r;?Klrr2orrqlTjs8W+CGFSX5DJO(W4[?mb!+8AlGQ7^Brr2rsrr2rts8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8)Th +s8W+LJtrAH=@>Tu?sr*s!+UM0V#UJpqYL*hs8W-!s8W-!rr2oss8VW[ndQ14!!%:TA*--H`rlZ_ +m-O3@s8W&rrr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#srr2oqrVlisr^0). +$P&8@Fnm=2VZ6^,'c0.*naHMXs8N#srr2orrr2rts7>jR&J\[m*1:bdq&giR!!#Q?J<0a1s8)Th +rr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W,urr2cjqu?]rJ:aQs!*Vc\a^AK;!!$JXJY`>Gs8)Ths8W-!s8W-!s8Doq +s8W,fn*UVq8cSj0;Gu%F=53cU>(qa's8W,qqYU9krr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W)trqu]ls8W,/\]=aN?V*i8@:A4&$A&6X7"9`Gs8W,rqtpBlrr2orr;?Kms8TR;_Z0[C +4[-eqAa'@)K)bmD[^WmKs8W#pr;Q]ps8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,qqYU<ms+#]t!!$7r9$LXIirB'g +It=Eqs8Vrlqu?]rs8W-!s8W)trr<#uoCMGc(e"E)BKeYrA7as)!,-h2V>pSqqYL*hs8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2orrr2ors8W-!77MP*#(gl8oeSJ7!!$XE'M.WYlMpna +rVc`qs8W)trqcKgs8W+KJ"6Q>AR]3484h#*!,NDh:\42Js8W,urr2rts8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#s +qYL-is8R@lT)\js9MNi=>MoJ]@"3a%s8W,qqYU<ms8W-!s8W,urr2cjr;ZfsH@2.]!)t[/[<$H_ +!!%=hH)1K?s8)Tirr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#srVc`qs8VENm0F&0 +2`SEdD=7uHM?!WMJ:a*es8Vrlqu6Torr2orrr2ors8W,u77`1>$&ieBoI;Do!!#i@HB%t)s82]j +rr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W)trr<#uoCMA`(IA*%D+m[O='+5Y!*t)*U&Y/mqYL*hs8W-!s8W-! +s8W,qqYU<ms+#Wd!!#Y9,,&mlp(\F4%h`"7o'l\Zs8N#ss8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W,urr2orrqcKhs8W+JJZ8\MF_Y^Z6:8]l!-&M\8*]C&s8W,trVlfqrr2orrr2oss8V?JlN[]& +0ep"MD=IuCM#[NT\[oZXs8W#pr;Zfss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2rts7,XH%1kc)!-(k5ePoT( +!!$,NJtN)Cs8)Ths8W-!s8W-!s8N#sqYL*hs8Re.O8o8J%han:C@3Z*Xp58@o()DPs8W)trr<#u +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,trVliss6f=E$k?ns-`M-,pD4^6!!$(j8R;Ars8N#t +rr2orrr2orrqcKgs8W+RLo(.P?WgRg;H)3J!-&J[7e-!8s8W,urr2orrr<#us8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +rr2oss8VWZmg]su!!%"><SLGNec5\MJ:a<ks8Vrlqu?]rs8W-!s8W-!s8Doqs8W,cm-G/n<r`5G +@q+Rl8B_&6?FdYds8W,sr;?Qnrr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#sqtp<ks8ROuUAt:. +?t&(j:t5OIG5qY2\@B3Os8W#pr;Q]ps8W,urr2ors8W-!6q)M(!J,-+nhW/3!!$4m88A2)r;Q]q +rr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8N#ss8W,hna?o!7K<F.=BXBV;:Y^I<If[js8W,qqYU<ms8W-! +s8W-!s8W)trr<#unaYuU&3g-pDbEaJ>[6:h!*t)(RfEEfqYL*hs8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W,urr2orrr<#unac5^&muXuS98uM,:'&b!*2T\BE/#2rVc`prr2orrr2orrVc`qs8VENklqGs +,q,^3EV't^Q2gnWL5;5ss8Vrlqu?]rs8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr<#unaZ)X&P)m%E*?K% +;c;3I!*"K#R/d3dqYL*hs8W-!s8W-!s8W,urr2ors8W,s8PF"%!+.TAZuL*X!!%1fH_pcBs8)Ti +rr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2opr;HZqs1#Sa!!$e3;:\uWhuEn.!!#d(\AJ:Gs8;fm +rr2oss8W-!s8)Ths8W+RLn+MG>Yn8G>?p(d!-ek]9Bk^'s8W,urr2orrr<#us8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W,urr2rts75aL%hhG5!,u+Gh,@5&!!#uKJt)f?s8)Ths8W-!s8W-!s8W-!s8W,qqYL6ls+#W\ +!!#S6,GK-rp(nO4%hi:@o^r1`s8N#ss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr2orrVc`qs8PGTJHuXA +FER@//?8aNB,)4MnaZ&Is8W)trr2ors8W,urr2flr;ZfsGB]h_!-2jkmQEeL!!$@t9QpI9rr2os +rr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2oss8VWZljXId!!%(B=kZePec5\NJ:a?ls8Vrlqu?]r +s8W-!s8W-!s8N#sr;?Kms8TR<]`8(0#n)T(C@*i8[g!(Jlg+!=s8W&rrr2ors8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W,urr2inrVuot\@BZ]!+JMkc"(AJ$4MUg!(MHgNrT.Zqtp9irr2rts8N#srr2oss8V]^oFM[H +*$(VjEVU[uT)\j^J:N[[s8VrlqYpKns8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#srr2rts8>DYF8u;T +='"'S<7h0N<e#^ms8W,qqYU<ms8W-!s8W-!s8W-!s8N#ss8W,hna6hs7fWO3=BO<W<SIKR>_\'1 +s8W,qqYU<ms8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8N#srr2oqrVliss$T;)"pfs'EqV1C[K$;?&emq)mHX`Os8Doq +s8W-!s8W-!s8;fms8W,0\]=aN?9git@q4[(#CujT8%,n;s8W,sr;?Qnrr<#us8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8)Ths8W+KJYrJJ>u4DK<`e)W!*t#&U&Y/mqYL*grr2rts8W-!s8W-!s8W)trr2os +s8W!g961(5@66WdCi/P>!-*4,UAt8nqtp<jrr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trqu]ms8W,/\B+^N?pmH+ +B4pK;%Yt)b8Ul;Ts8W,qqYU9krr2ors8W,urr2flr;ZfsG^,VV!,6(XlpX@b!!$[J)G0PlnGiOg +rr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2cjqu?]rIXn*l!*Vobb[+W8!!$MYJYrJIs8)Th +s8W-!s8W-!s8W-!s8W-!s8VrlqZ$TqJ:N[\!(eI_VfQnR(`/MM'OUJ'oDejjrr2orrr2rts8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +rr2orrr2lprr<#u6q2V0#_mA?p,"Y8!!$[F'hn#^li7"brVc`prr2rts8W-!rr2oss8V]^o+DdF +'Gm'TEV1P&VZ6]kH$YGLs8Vunqu6Tos8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,qqYU<ms+5ot +!!#t\5/:`AlMpp-77_S$s8Drrs8N#ss8W-!s8W-!s8W-!rr2opr;?Tps0fDK!!#[t$\i;.lT./C +!!$<8]#XjNs8;fms8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8N#sr;?Nns8TU=a8c3I6:Jt.BBfj7LB%<GIt<g`s8Vrlqu6To +rr2oss8W)trqu]ls8W,.\&/1G?9(*[BkZi=$AJN\9t7aKs8W,sr;?Tps8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!qYL'gs8RV"NW9&O1GuRZEUsDCM$jb_naZ#Hs8W)trr<#us8W-!s8W-!s8W-! +rr2oss8V]^nJ3!@!!$t6:XWKRiW&seG^5\Vs8Vunr;Q]ps8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2orrr2oss8W*f7XYCCKQ2#' +2E8/G!+uoY9C;-4s8W,trVlfqrr<#us8W,urr2cjqu?]rIt*sg!+TJIj\/@p!!$jO)H-.snGiOg +rr2orrr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8;fms8W,0]"n@H;^*H]F)q'i'Trk9?h3dZ +s8W,urr2rts8W-!s8W-!s8W-!s8N#sqtp<ks8R@jOT5A[/hjVOEV'\NM\?n7naZ/Ls8W)trr2or +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +rr2opr;?Tps1#VX!!$4d5Jh2OmLKkd!!#ZBJsHB9s8)Thrr2orrr2rts8W-!rr2orrr<#ur^BA6 +#RZK/EqCn7X8i5sH$YSPs8Vunqu6Tos8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr<#u +o()A]&75hWNG<;$+<dKb$=N5emf3=erVc`qs8W-!s8W-!s8W-!s8W-!s8;fms8W,/\\S7G;%+"q +D/Jc!27<Jb?+IPfs8W,sr;?Qnrr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W)trr2orqYL-is8R=gScAb4DK##.5JdC#D%7+GlK[R4s8W&rrr2or +s8W-!s8W)trr2ors8W,`l0AQ[?na=CCMiPK%Z(/c;7O0Rs8W,sr;?Tps8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W,trVliss6oFC$OoZ/"bC9!l9.AH!!#iKL7J;Ds8)Thrr2oss8W-!s8W-! +s8W,urr2orrr<#uoCMJd(/Fo1E_]K\?XVjn!,G%oDu]k;rr2rsrr2rts8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W&rrr<#umI'EQ&o0!LZZ'jR +&epK/!*)N\>6"X&rr2rsrr2orrr<#us8W,urr2cjqu?]rKnu].!+oG>hbm>&!!$pQ)HQG"nc/Xh +rr2orrr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2orrr<#urC0D'!!$nB?/\RWe,TJN +J:OBos8Vrlqu?]rs8W-!s8W-!s8W-!s8W,urr2flr;ZfsJ:a6j!*1KuXE/LX'Gd#B$ruQVkl:\_ +rr2orrr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +rr2ooqu$Kos*fHm!!$bDA*HQXci=)i!!,6m\@MY>s8;fmrr2oss8W-!s8W-!rr2orrr<#us$K5* +"pTa"E:bk?Z2al$H$YYRs8Vunqu6Tos8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +qYL*hs8RV"T`>'p7S([/@,q:fDad3Cs8W#rrr;usrr<#us8W-!s8W-!s8W-!s8W,trVliss6K"9 +$4Kl9#D6Z&l:+4a!!$,VM51+Ns8)Thrr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W)trr2ors8W,ho(!>(@3-J`Ec_$t+J/W6<_#\ks8W)srVlfqrr2or +s8W-!s8W)trr2ors8W,`l0AQ\>q@S3D/SqS%ugPh<Oo]Zs8W,sr;?Tps8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W)trqcKgs8W+PL6hl?:GO`5E,b@T%>bH%:\!uDs8W,urr2rts8W-! +s8W-!s8W-!s8N#srr2orrr<#us$oV'!!$Ot7`]:Xkl:^*77M_*s8N#ss8N#ss8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2inrVuot\@Kf`!,>D1fNVS9 +!!@NI!)0o4_#OH7r;?Klrr2rts8W-!s8W,urr2cjr;ZfsKnlT,!+K&5gf%/)!!%'O&kDH\mJm4d +rr2orrr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W&rrr<#ulg*pD$==ScQZ-m9 +*[%*U!*-M<_>jQ8r;?Klrr2rts8W-!s8W-!s8W-!s8N#sqYL*hs8Rh0S,`Ob+<dD!EqUOrTa(m. +m-F!;s8W&rrr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +rr2orrr<#us$K2%#RQ<-F8.7:XT/?5'Gj4.naHMXs8N#srr2oss8W-!s8N#srr2orrr<#us$T;, +!sO9rE:bh=ZN'u.7n@(gs8Drrs8N#ss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W,urr2rts7>jQ&f+OM"Fk)uks.SQ!!#fFJ<^*6s8)Thrr2oss8W-!s8W-!s8W-!s8W)trr2or +s8W,`l0&Ka:B1HF@:A1i9[<\=>)%j,s8W,qqYU9krr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8Doqs8W,blg5#eB0JQ!BP?]?%Yk#a8:Q2Rs8W,rqu$Hmrr<#u +s8W-!s8W)trqu]ls8W,0\\8%D;)0o6Ci/_Q&<6_j;7O0Ss8W,sr;?Tps8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2onqY^Bns*8m^!!$D,=4pVTg&M+c8PF@.s8N#ss8N#s +s8W-!s8W-!s8W-!s8W-!s8W)trr2oss8W'g8p(+6@m3/rBPHl7!,R+5W;lntqYL*hs8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2cjr;ZfsJqU-(!-E'omliqP +!!$aB%S5pOlMpnarVc`qs8W-!s8W-!rr2orrr2cjqu?]rH$YbV!+K2;iDNV+!!$pQ)HZFunGiOg +rr2orrr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!qYL*hs8Rk2T)\jj +3'+]fD!hH4KF/,[l07=0s8W)trr2ors8W-!s8W-!s8W-!s8W,urr2cjqu?]rJ:a?m!)Y-oWH37[ +!!@muGcC`Cs8)Tirr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W,qqY^Bns*B!n&J::NG52pkQ2gnj*?d]@p%&._s8N#srr2oss8W-!s8N#srVc`qs8VKRlk'q= +%M4_>E:Y\8Z2al&H?tbSs8Vunqu6Tos8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W)trr)fps8W,blg"f`=;MmCEH1Up,bb8=98A=hs8W,qqYU9krr<#us8W-!s8W-!s8W-! +rr2onqYU<ms*oTb!!#P+)3\iOn00'P$kQV6oCDq]s8N#ss8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8N#srr2rts8G>RM_Hru@q4U($%N!U9gD'HrVcTms8W)trr2or +s8W,urr2rts7uKfs8W+LJsQH;<'<F^Bl!/F%>Xua9";FGs8W,sr;?Tps8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr2oss8W*f7XtI=G\_$Z6UScl!+/5eDZBb8 +rr2rsrr2orrr<#us8W-!s8W)trr2orrVc`qs8>G[?2st&%1e>2C$I6%Z3q1FoCVSQs8W)trr<#u +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr<#uo'u)P$!9hoeko>q +!!%-A!Dj7;,4P*hs8W,trVccrs8N#srr2onqYU<ms6f=@&/.tB"+FlokXS.d!!$M"8TXq3s8N#s +rr2orrr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2cjqu?]r +L5;],!+/>kcX1)@!!7HS%8#mOl2Ue`rVc`prr2rts8N#ss8W-!s8VrlqZ$Tq\@K!I!#tt?@1Np- +D/JbY(nYkkW;lntqYL-hrr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W,urr2ors8W,u77WD+7*SV.ec5\m!!HF)"!FnUZ2ak(qYL'aq>0saqu6Tos8W,rqtNfZC]FH? +/1muDEVC:gR/d4b\@BKWs8W#prVlfqs8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!rr2orrr2rts68e5#n(&^+es+"pDtHK!!#iHK:)]=s7uKfs8W,urr2orrr2or +qtp9irr;ooqaEtG!!#"Z!c9)*TQPDR#766=KWb@Ts8)Tis8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,qqY^Bns*/gi.4hi7A*F%!IfKUZ!!>"Z"p_H?ZiC(* +rVc]lqu$9cp;+Va4[30O!(R8"Jm`!H;,YsF!,4qpGQ7^BrVc`prr2orrr<#us8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2orrr<#us$]G&!!%:WB'MiUaoDEX +&en%,md0uRs7lBbqYL'bqYL3jrr)fpp%@rM9i(fi+9MjX!!.148',1KkReGPl07R7s8W&rrr2or +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#sr;?Nns8T:-bTeF0 +D/]%[(6ee"B`SE9!sC:X!!u.f:Pt*jGBn]R));@#1B7DO!!.=(3Os3Qq&(-@!!#g)\]+UKs8;fn +rr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N#s +r;?Kms8TU>a8c3H3]t2jB^?3@NW9&W9200uqtU3ks8N#sqtp9hrVNn,ZO%'U!<OMK#?Lm+C_IMF +FEI.(/$D0&JH,ZLrr2rsrr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8N#ss8W,ioCWe4J6u^I6Uo/t!dObJAcW*<!X)$o!%IsK,6.]t!!#mt"(qZ=Hn[:] +H@,QO4i%*u>YS%>s8W&srr2orrr2ors8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W)trr2orrVc`qs8PMWIfot-Ci&W"34f.kF8u;)7S$jAMMlt8JpD]j +'Gr(u"s3gF3<KLj!!6m:#(fcPfP,'d#Rc-l]$:9Ts8;fnrr2oss8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trqu]ms8W,"XNMY,TlkSX3]t+Y#(ZaSDZBiL +!<ls8#AO8BD?'`X%M=^l9$Vd2r]WN^!!$:t:4rH@qYgBlrr2orrr2rts8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trqu]ms8W,/\]OmP><bEl +Ci/_W(6ALuD#jZ-!!")@!#P\9*<6(%!X)I'"_7T7D[$K$8P76THiF6QKR/$Fs8W,qqY^Bns8N#s +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W)trr2os +s8W*n:6ZhEVfHkU?<uJ7-`@LdM[0ZE$kA.<,G.=ka)c=pCMWDT(RkR5C4Lo8o^qeUs8W&rrVuot +rr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W,urr2orrr2ors8W$j:4WBFE+3AB?!lS"%>k,fD$1,W":/?:#\!c:B)hsM!<dZd*1^JHjDf26 +"p^)V8<!KEqYgBlrr2orrr2rts8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!rr2orrr2orrqlTks8W,&YgO*uP!;4WBkd-QD";=Wm;$P.D/JuR?fiRYX8i6D +4$JG:_pn_ds8)TirVc`qs8W)trr<#us8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2orrr)fpqu$=]8rEfUJo,>oAS13N,GYPOJH?"% +!X*oX$AKZIU/+V7F`dIO8_+OhNdQ;Xo^qhVs8W)trr<#urr2oss8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2oss8W)trqcKhs8W,-\'8`,XXl,r +-7>T/*i'\nSf]/C(`Rp<CSeMMd/X.GrVc`lqYU9krr<#urr2oss8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2oss8W&rrr)fp +r;?I`98roOG>1faE,bSgC@#)*gg"+@CMN6UDtd..h]<o85<tOJ^XiGbs8)TirVc`qs8W)trr<#u +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +rr2oss8W)trqu]mrr2opr;?<`q6I?JCi>qsJu[trmITrBrVc`qs8W#prVQKis8W,urr2orrr<#u +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!rr2oss8W&rrVuoto_%p(IAmnsHl!Zf,q$&U1r(t-_'gh<+<d(:6']$neGfLH +rVc`lqY^?lrr<#urr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2rsrr2rts8;fnqYL-hrr2rts8N#srr2oss8W)trqcKh +qu$Elrr2rts8N#ss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2oss8W&rrqu]mr;?NjqtdY+c#7U% +I"&MIGd)UGXl\[2q"adds8W#prVQKjs8W,urr2ors8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,urr2rts8N#s +rr2opr;HHfqtg0erVc`prr2orrr<#urr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +rr2oss8W)trqcKhrr2oss8W)trr<#us8W,urr2rts8;fnqtp?krr2rts8N#ss8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!rr2oss8W)trr2orqu$Egq>C*cr;$3eqYL-grVlfqrr<#u +rr2oss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!~> +Q +cleartomark end end pagesave restore showpage +%%PageTrailer +%%Trailer +%%Pages: 1 diff --git a/Master/texmf-dist/doc/asymptote/examples/pipeintersection.asy b/Master/texmf-dist/doc/asymptote/examples/pipeintersection.asy new file mode 100644 index 00000000000..6b0388f1378 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/pipeintersection.asy @@ -0,0 +1,13 @@ +import graph3; + +currentprojection=orthographic(5,4,2); + +size(12cm,0); + +real f(pair z) {return min(sqrt(1-z.x^2),sqrt(1-z.y^2));} + +surface s=surface(f,(0,0),(1,1),40,Spline); + +transform3 t=rotate(90,O,Z), t2=t*t, t3=t2*t, i=xscale3(-1)*zscale3(-1); +draw(surface(s,t*s,t2*s,t3*s,i*s,i*t*s,i*t2*s,i*t3*s),blue, + render(compression=Low,closed=true,merge=true)); diff --git a/Master/texmf-dist/doc/asymptote/examples/pipes.asy b/Master/texmf-dist/doc/asymptote/examples/pipes.asy new file mode 100644 index 00000000000..6b2025f6b35 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/pipes.asy @@ -0,0 +1,140 @@ +import solids; +import tube; +import graph3; +import palette; +size(8cm); + +currentprojection=perspective( +camera=(13.3596389245356,8.01038090435314,14.4864483364785), +up=(-0.0207054323419367,-0.00472438375047319,0.0236460907598947), +target=(-1.06042550499095,2.68154529985845,0.795007562120261)); + +defaultpen(fontsize(6pt)); + +// draw coordinates and frames +// axis1 is defined by z axis of TBase +// axis2 is defined by z axis of TEnd +void DrawFrame(transform3 TBase, transform3 TEnd, string s) +{ + triple p1,v1,p2,v2; + p1=TBase*O; + v1=TBase*Z-p1; + p2=TEnd*O; + v2=TEnd*Z-p2; + triple n=cross(v1,v2); + + real[][] A= + { + {v1.x,-v2.x,-n.x}, + {v1.y,-v2.y,-n.y}, + {v1.z,-v2.z,-n.z} + }; + + triple vb=p2-p1; + + real[] b={vb.x,vb.y,vb.z}; + + // Get the extention along vector v1 and v2, + // so, we can get the common normal between two axis + real[] x=solve(A,b); + + real s1=x[0]; + real s2=x[1]; + + // get foot of a perpendicular on both axies + triple foot1=p1+s1*v1; + triple foot2=p2+s2*v2; + + // draw two axis + triple axis_a,axis_b; + axis_a=p1+s1*v1*1.5; + axis_b=p1-s1*v1*1.5; + draw(axis_a--axis_b); + + axis_a=p2+s2*v2*1.5; + axis_b=p2-s2*v2*1.5; + draw(axis_a--axis_b); + + // draw "a"(common normal) + draw(Label("$a_{"+s+"}$"),foot1--foot2,linewidth(1pt)); + + // draw the coordinates frame + triple dx,dy,dz,org; + real length=0.8; + + org=foot1; + dx =length*unit(foot2-foot1); // define the x axis of the frame on "a" + dz =length*unit(v1); // define the z axis which is along axis1 + dy =length*unit(cross(dz,dx)); + + draw(Label("$X_{"+s+"}$",1,align=-dy-dz),org--(org+dx),red+linewidth(1.5pt), + Arrow3(8)); + draw(Label("$Y_{"+s+"}$",1,align=2dy-dz-dx),org--(org+dy), + green+linewidth(1.5pt), Arrow3(8)); + draw(Label("$Z_{"+s+"}$",1,align=-2dx-dy),org--(org+dz), + blue+linewidth(1.5pt), Arrow3(8)); + + dot(Label("$O_{"+s+"}$",align =-dx-dz,black),org,black); // origin + +} + +void DrawLink(transform3 TBase, transform3 TEnd, pen objStyle,string s) +{ + real h=1; + real r=0.5; + path3 generator=(0.5*r,0,h)--(r,0,h)--(r,0,0)--(0.5*r,0,0); + revolution vase=revolution(O,generator,0,360); + surface objSurface=surface(vase); + + render render=render(merge=true); + + // draw two cylinders + draw(TBase*objSurface,objStyle,render); + draw(TEnd*shift((0,0,-h))*objSurface,objStyle,render); + + // draw the link between two cylinders + triple pStart=TBase*(0.5*h*Z); + triple pEnd =TEnd*(-0.5*h*Z); + triple pControl1=0.25*(pEnd-pStart)+TBase*(0,0,h); + triple pControl2=-0.25*(pEnd-pStart)+TEnd*(0,0,-h); + path3 p=pStart..controls pControl1 and pControl2..pEnd; + draw(tube(p,scale(0.2)*unitsquare),objStyle,render); +} + +// t1 and t2 define the starting frame and ending frame of the first link(i-1) +transform3 t1=shift((0,0,1)); +transform3 t2=shift((0,0,-1))*rotate(-20,Y)*shift((0,3,2)); +// as, the two links were connected, so t2 is also the starting frame of link(i) +// t3 defines the ending frame of link(i) +transform3 t3=t2*rotate(40,Z)*shift((0,3,1.5))*rotate(-15,Y)*shift(-1.5*Z); + +// draw link(i-1) +DrawLink(t1,t2,palegreen,"i-1"); +DrawFrame(t1,t2,"i-1"); +// draw link(i) +DrawLink(t2,t3,lightmagenta,"i"); +DrawFrame(t2,t3,"i"); + + +// draw angle alpha, which is the angle between axis(i-1) and axis(i) +triple p0=(0,0,-1); +triple p1=(0,0,2.3); +triple p2=shift((0,0,-1))*rotate(-20,Y)*(0,0,4); +draw(p0--p2,cyan); +draw("$\alpha_{i-1}$",arc(p0,p1,p2,Y,CW),ArcArrow3(3)); + + +// draw angle theta, which is the angle between a_i and a_{i-1} +transform3 tx=shift((0,0,-1))*rotate(-20,Y)*shift((0,3,0)); +p0=tx*O; +p1=tx*(0,3,0); +p2=tx*rotate(40,Z)*(0,3,0); +draw(p0--p1,cyan); +draw(p0--p2,cyan); + +triple p1a=tx*(0,1.5,0); +draw("$\theta_{i}$",arc(p0,p1a,p2),ArcArrow3(3)); + +// draw d_{i-1} +triple org_i =t2*shift((0,0,1.5))*O; +draw(Label("$d_{i}$",0.13),p0--org_i,linewidth(1pt)); diff --git a/Master/texmf-dist/doc/asymptote/examples/pixel.pdf b/Master/texmf-dist/doc/asymptote/examples/pixel.pdf Binary files differnew file mode 100644 index 00000000000..de3d0820da2 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/pixel.pdf diff --git a/Master/texmf-dist/doc/asymptote/examples/planeproject.asy b/Master/texmf-dist/doc/asymptote/examples/planeproject.asy new file mode 100644 index 00000000000..ab8980b613e --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/planeproject.asy @@ -0,0 +1,18 @@ +import graph3; + +size3(200,IgnoreAspect); + +currentprojection=orthographic(4,6,3); + +real x(real t) {return 1+cos(2pi*t);} +real y(real t) {return 1+sin(2pi*t);} +real z(real t) {return t;} + +path3 p=graph(x,y,z,0,1,operator ..); + +draw(p,Arrow3); +draw(planeproject(XY*unitsquare3)*p,red,Arrow3); +draw(planeproject(YZ*unitsquare3)*p,green,Arrow3); +draw(planeproject(ZX*unitsquare3)*p,blue,Arrow3); + +axes3("$x$","$y$","$z$"); diff --git a/Master/texmf-dist/doc/asymptote/examples/planes.asy b/Master/texmf-dist/doc/asymptote/examples/planes.asy new file mode 100644 index 00000000000..da859200f03 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/planes.asy @@ -0,0 +1,19 @@ +size(6cm,0); +import bsp; + +real u=2.5; +real v=1; + +currentprojection=oblique; + +path3 y=plane((2u,0,0),(0,2v,0),(-u,-v,0)); +path3 l=rotate(90,Z)*rotate(90,Y)*y; +path3 g=rotate(90,X)*rotate(90,Y)*y; + +face[] faces; +filldraw(faces.push(y),project(y),yellow); +filldraw(faces.push(l),project(l),lightgrey); +filldraw(faces.push(g),project(g),green); + +add(faces); + diff --git a/Master/texmf-dist/doc/asymptote/examples/polararea.asy b/Master/texmf-dist/doc/asymptote/examples/polararea.asy new file mode 100644 index 00000000000..15d42ffd00e --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/polararea.asy @@ -0,0 +1,38 @@ +import math; +import graph; + +size(0,150); + +real f(real t) {return 5+cos(10*t);} + +xaxis("$x$"); +yaxis("$y$"); + +real theta1=pi/8; +real theta2=pi/3; +path k=graph(f,theta1,theta2,operator ..); +real rmin=min(k).y; +real rmax=max(k).y; +draw((0,0)--rmax*expi(theta1),dotted); +draw((0,0)--rmax*expi(theta2),dotted); + +path g=polargraph(f,theta1,theta2,operator ..); +path h=(0,0)--g--cycle; +fill(h,lightgray); +draw(h); + +real thetamin=3*pi/10; +real thetamax=2*pi/10; +pair zmin=polar(f(thetamin),thetamin); +pair zmax=polar(f(thetamax),thetamax); +draw((0,0)--zmin,dotted+red); +draw((0,0)--zmax,dotted+blue); + +draw("$\theta_*$",arc((0,0),0.5*rmin,0,degrees(thetamin)),red+fontsize(10pt), + PenMargins); +draw("$\theta^*$",arc((0,0),0.5*rmax,0,degrees(thetamax)),blue+fontsize(10pt), + PenMargins); + +draw(arc((0,0),rmin,degrees(theta1),degrees(theta2)),red,PenMargins); +draw(arc((0,0),rmax,degrees(theta1),degrees(theta2)),blue,PenMargins); + diff --git a/Master/texmf-dist/doc/asymptote/examples/polarcircle.asy b/Master/texmf-dist/doc/asymptote/examples/polarcircle.asy new file mode 100644 index 00000000000..ce7ed948199 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/polarcircle.asy @@ -0,0 +1,30 @@ +import math; +import graph; +size(0,100); + +real f(real t) {return 2*cos(t);} +pair F(real x) {return (x,f(x));} + +draw(polargraph(f,0,pi,operator ..)); + +defaultpen(fontsize(10pt)); + +xaxis("$x$"); +yaxis("$y$"); + +real theta=radians(50); +real r=f(theta); +draw("$\theta$",arc((0,0),0.5,0,degrees(theta)),red,Arrow,PenMargins); + +pair z=polar(r,theta); +draw(z--(z.x,0),dotted+red); +draw((0,0)--(z.x,0),dotted+red); +label("$r\cos\theta$",(0.5*z.x,0),0.5*S,red); +label("$r\sin\theta$",(z.x,0.5*z.y),0.5*E,red); +dot("$(x,y)$",z,N); +draw("r",(0,0)--z,0.5*unit(z)*I,blue,Arrow,DotMargin); + +dot("$(a,0)$",(1,0),NE); +dot("$(2a,0)$",(2,0),NE); + + diff --git a/Master/texmf-dist/doc/asymptote/examples/polardatagraph.asy b/Master/texmf-dist/doc/asymptote/examples/polardatagraph.asy new file mode 100644 index 00000000000..6bd646e8aa4 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/polardatagraph.asy @@ -0,0 +1,17 @@ +import graph; + +size(100); + +int n=30; +real minRadius=0.2; +real angles[]=uniform(0,2pi,n); +angles.delete(angles.length-1); + +real[] r=new real[n]; +for(int i=0; i < n; ++i) + r[i]=unitrand()*(1-minRadius)+minRadius; + +interpolate join=operator ..(operator tension(10,true)); +draw(join(polargraph(r,angles,join),cycle),dot(red)); + + diff --git a/Master/texmf-dist/doc/asymptote/examples/poster.asy b/Master/texmf-dist/doc/asymptote/examples/poster.asy new file mode 100644 index 00000000000..cbcefc4bf69 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/poster.asy @@ -0,0 +1,33 @@ +orientation=Landscape; +import slide; +import graph; + +defaultpen(deepblue); +pagenumberpen=invisible; + +real f(real x) {return (x != 0) ? x*sin(1/x) : 0;} +pair F(real x) {return (x,f(x));} + +xaxis(background,grey); +yaxis(background,-0.25,0.25,grey); +real a=1.2/pi; +draw(background,graph(background,f,-a,a,10000),grey); +label(background,"$x\sin\frac{1}{x}$",F(0.92/pi),3SE,grey+fontsize(14pt)); +frame f=background.fit(); +box(f,RadialShade(yellow,0.6*yellow+red),above=false); +background.erase(); +add(background,f); + +title("Young Researchers' Conference",align=3S,fontsize(48pt)); +center("University of Alberta, Edmonton, April 1--2, 2006"); + +skip(4); + +center("A general conference for\\ +the mathematical and statistical sciences\\ +for graduate students, by graduate students.",fontsize(32pt)); + +label("Registration and abstract submission online.",(0,-0.5)); + +label("\tt http://www.pims.math.ca/science/2006/06yrc/",point(SW),2NE, + black+fontsize(18pt)); diff --git a/Master/texmf-dist/doc/asymptote/examples/progrid.asy b/Master/texmf-dist/doc/asymptote/examples/progrid.asy new file mode 100644 index 00000000000..20400b7148a --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/progrid.asy @@ -0,0 +1 @@ +label("$\displaystyle X_i = \sum_{j=1}^{N} a_{ij} f_j$"); diff --git a/Master/texmf-dist/doc/asymptote/examples/projectelevation.asy b/Master/texmf-dist/doc/asymptote/examples/projectelevation.asy new file mode 100644 index 00000000000..6ffe5126633 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/projectelevation.asy @@ -0,0 +1,17 @@ +import graph3; +import grid3; +import palette; + +currentprojection=orthographic(0.8,1,2); +size(400,300,IgnoreAspect); + +real f(pair z) {return cos(2*pi*z.x)*sin(2*pi*z.y);} + +surface s=surface(f,(-1/2,-1/2),(1/2,1/2),50,Spline); + +surface S=planeproject(unitsquare3)*s; +S.colors(palette(s.map(zpart),Rainbow())); +draw(S,nolight); +draw(s,lightgray+opacity(0.7)); + +grid3(XYZgrid); diff --git a/Master/texmf-dist/doc/asymptote/examples/projectrevolution.asy b/Master/texmf-dist/doc/asymptote/examples/projectrevolution.asy new file mode 100644 index 00000000000..25cbe6d4902 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/projectrevolution.asy @@ -0,0 +1,17 @@ +import solids; +import palette; + +currentprojection=orthographic(20,0,3); + +size(400,300,IgnoreAspect); + +revolution r=revolution(new real(real x) {return sin(x)*exp(-x/2);}, + 0,2pi,operator ..,Z); +surface s=surface(r); + +surface S=planeproject(shift(-Z)*unitsquare3)*s; +S.colors(palette(s.map(zpart),Rainbow())); + +render render=render(compression=Low,merge=true); +draw(S,render); +draw(s,lightgray,render); diff --git a/Master/texmf-dist/doc/asymptote/examples/pseudosphere.asy b/Master/texmf-dist/doc/asymptote/examples/pseudosphere.asy new file mode 100644 index 00000000000..a740381ef0e --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/pseudosphere.asy @@ -0,0 +1,33 @@ +// Pseudosphere: +// x = a sin(u) cos(v); +// y = a sin(u) sin(v); +// z = a (ln(tg(u/2))+cos(u)); + +import three; +import solids; +import graph3; +import palette; + +triple pseudosphere(real x) { + return (sin(x),0,cos(x)+log(tan(x/2))); +} + +size(20cm,IgnoreAspect); +currentprojection=orthographic(160,40,100); +currentlight=(50,50,50); + +path3 G=graph(pseudosphere,0.5pi,0.965pi,10,Spline); + +revolution r=revolution(O,G,Z); + +draw(r,1,longitudinalpen=nullpen); +surface s=surface(r); +s.colors(palette(s.map(zpart),Gradient(cyan+white+opacity(0.9), + magenta+white+opacity(0.9)))); +draw(s); + +draw(r,6,backpen=linetype("10 10",10),longitudinalpen=nullpen); + +int n=10; +for(int i=0; i < n; ++i) + draw(rotate(i*360/n,O,Z)*G); diff --git a/Master/texmf-dist/doc/asymptote/examples/quartercircle.asy b/Master/texmf-dist/doc/asymptote/examples/quartercircle.asy new file mode 100644 index 00000000000..6565daa046e --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/quartercircle.asy @@ -0,0 +1,2 @@ +size(100,0); +draw((1,0){up}..{left}(0,1),Arrow); diff --git a/Master/texmf-dist/doc/asymptote/examples/quilt.asy b/Master/texmf-dist/doc/asymptote/examples/quilt.asy new file mode 100644 index 00000000000..7a84017762c --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/quilt.asy @@ -0,0 +1,44 @@ +import math; + +int n=8, skip=3; + +pair r(int k) { return unityroot(n,k); } + +pen col=blue, col2=purple; + +guide square=box((1,1),(-1,-1)); + +guide step(int mult) +{ + guide g; + for(int k=0; k<n; ++k) + g=g--r(mult*k); + g=g--cycle; + return g; +} + +guide oct=step(1), star=step(skip); + +guide wedge(pair z, pair v, real r, real a) +{ + pair w=expi(a/2.0); + v=unit(v)*r; + return shift(z)*((0,0)--v*w--v*conj(w)--cycle); +} + +filldraw(square, col); +filldraw(oct, yellow); + +// The interior angle of the points of the star. +real intang=pi*(1-((real)2skip)/((real)n)); + +for(int k=0; k<n; ++k) { + pair z=midpoint(r(k)--r(k+1)); + guide g=wedge(z,-z,1,intang); + filldraw(g,col2); +} + +fill(star,yellow); +filldraw(star,evenodd+col); + +size(5inch,0); diff --git a/Master/texmf-dist/doc/asymptote/examples/rainbow.asy b/Master/texmf-dist/doc/asymptote/examples/rainbow.asy new file mode 100644 index 00000000000..c85282a87b1 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/rainbow.asy @@ -0,0 +1,12 @@ +size(200); + +pen indigo=rgb(102/255,0,238/255); + +void rainbow(path g) { + draw(new path[] {scale(1.3)*g,scale(1.2)*g,scale(1.1)*g,g, + scale(0.9)*g,scale(0.8)*g,scale(0.7)*g}, + new pen[] {red,orange,yellow,green,blue,indigo,purple}); +} + +rainbow((1,0){N}..(0,1){W}..{S}(-1,0)); +rainbow(scale(4)*shift(-0.5,-0.5)*unitsquare); diff --git a/Master/texmf-dist/doc/asymptote/examples/randompath3.asy b/Master/texmf-dist/doc/asymptote/examples/randompath3.asy new file mode 100644 index 00000000000..755c3a29128 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/randompath3.asy @@ -0,0 +1,4 @@ +import three; + +size(300); +draw(randompath3(100),red,currentlight); diff --git a/Master/texmf-dist/doc/asymptote/examples/ring.asy b/Master/texmf-dist/doc/asymptote/examples/ring.asy new file mode 100644 index 00000000000..5fec60d4c0b --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/ring.asy @@ -0,0 +1,4 @@ +size(0,100); +path g=scale(2)*unitcircle; +label("$a \le r \le b$"); +radialshade(unitcircle^^g,yellow+evenodd,(0,0),1.0,yellow+brown,(0,0),2); diff --git a/Master/texmf-dist/doc/asymptote/examples/roll.asy b/Master/texmf-dist/doc/asymptote/examples/roll.asy new file mode 100644 index 00000000000..4d15ac0febe --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/roll.asy @@ -0,0 +1,10 @@ +import graph3; + +size(200,0); + +triple f(pair t) { +return(t.x+t.y/4+sin(t.y),cos(t.y),sin(t.y)); +} + +surface s=surface(f,(0,0),(2pi,2pi),7,20,Spline); +draw(s,olive,render(merge=true)); diff --git a/Master/texmf-dist/doc/asymptote/examples/roundpath.asy b/Master/texmf-dist/doc/asymptote/examples/roundpath.asy new file mode 100644 index 00000000000..e6d31c6bc9c --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/roundpath.asy @@ -0,0 +1,32 @@ +// example file for 'roundedpath.asy' +// written by stefan knorr + +// import needed packages +import roundedpath; + +// define open and closed path +path A = (0,0)--(10,10)--(30,10)--(20,0)--(30,-10)--(10,-10); +path B = A--cycle; + +draw(shift(-60,0)*A, green); +draw(shift(-30,0)*roundedpath(A,1), red); + +// draw open path and some modifications +for (int i = 1; i < 20; ++i) + draw(roundedpath(A,i/4), rgb(1 - i*0.049, 0, i*0.049) + linewidth(0.5)); + +draw(shift(-60,-30)*B, green); +draw(shift(-30,-30)*roundedpath(B,1), red); + +//draw closed path and some modifications +for (int i = 1; i < 20; ++i) // only round edges + draw(shift(0,-30)*roundedpath(B,i/4), rgb(0.5, i*0.049,0) + linewidth(0.5)); + +for (int i = 1; i < 20; ++i) // round edged and scale + draw(shift(0,-60)*roundedpath(B,i/4,1-i/50), rgb(1, 1 - i*0.049,i*0.049) + linewidth(0.5)); + +for (int i = 1; i < 50; ++i) // shift (round edged und scaled shifted version) + draw(shift(-30,-60)*shift(10,0)*roundedpath(shift(-10,0)*B,i/10,1-i/80), rgb( i*0.024, 1 - i*0.024,0) + linewidth(0.5)); + +for (int i = 1; i < 20; ++i) // shift (round edged und scaled shifted version) + draw(shift(-60,-60)*shift(10,0)*roundedpath(shift(-10,0)*B,i/4,1-i/50), gray(i/40)); diff --git a/Master/texmf-dist/doc/asymptote/examples/sacone.asy b/Master/texmf-dist/doc/asymptote/examples/sacone.asy new file mode 100644 index 00000000000..9cdd0e138af --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/sacone.asy @@ -0,0 +1,23 @@ +size(0,150); + +pair z0=(0,0); +real r=1; +real h=1; +real l=sqrt(r^2+h^2); +real a=(1-r/l)*360; +real a1=a/2; +real a2=360-a/2; +path g=arc(z0,r,a1,a2); +fill((0,0)--g--cycle,lightgreen); +draw(g); +pair z1=point(g,0); +pair z2=point(g,length(g)); + +real r2=1.1*r; +path c=arc(0,r2,a1,a2); +draw("$2\pi r$",c,red,Arrows,Bars,PenMargins); +pen edge=blue+0.5mm; +draw("$\ell$",z0--z1,0.5*SE,edge); +draw(z0--z2,edge); +draw(arc(z0,r,a2-360,a1),grey+dashed); +dot(0); diff --git a/Master/texmf-dist/doc/asymptote/examples/sacone3D.asy b/Master/texmf-dist/doc/asymptote/examples/sacone3D.asy new file mode 100644 index 00000000000..d8f3aa373d3 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/sacone3D.asy @@ -0,0 +1,14 @@ +import solids; + +size(0,75); +real r=1; +real h=1; + +revolution R=cone(r,h); + +draw(surface(R),lightgreen+opacity(0.5),render(compression=Low)); +pen edge=blue+0.25mm; +draw("$\ell$",(0,r,0)--(0,0,h),W,edge); +draw("$r$",(0,0,0)--(r,0,0),red+dashed); +draw((0,0,0)--(0,0,h),red+dashed); +dot(h*Z); diff --git a/Master/texmf-dist/doc/asymptote/examples/sacylinder.asy b/Master/texmf-dist/doc/asymptote/examples/sacylinder.asy new file mode 100644 index 00000000000..06f7909d52a --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/sacylinder.asy @@ -0,0 +1,26 @@ +import graph; +size(0,100); + +real r=1; +real h=3; + +yaxis(dashed); + +real m=0.475*h; + +draw((r,0)--(r,h)); +label("$L$",(r,0.5*h),E); + +real s=4; + +pair z1=(s,0); +pair z2=z1+(2*pi*r,h); +filldraw(box(z1,z2),lightgreen); +pair zm=0.5*(z1+z2); +label("$L$",(z1.x,zm.y),W); +label("$2\pi r$",(zm.x,z2.y),N); +draw("$r$",(0,m)--(r,m),N,red,Arrows); + +draw((0,1.015h),yscale(0.5)*arc(0,0.25cm,-250,70),red,ArcArrow); + + diff --git a/Master/texmf-dist/doc/asymptote/examples/sacylinder3D.asy b/Master/texmf-dist/doc/asymptote/examples/sacylinder3D.asy new file mode 100644 index 00000000000..fcc1a487bbe --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/sacylinder3D.asy @@ -0,0 +1,14 @@ +import solids; +size(0,100); + +real r=1; +real h=3; + +revolution R=cylinder(-h/2*Z,r,h); +draw(surface(R),lightgreen+opacity(0.5),render(compression=Low)); +draw((0,0,-h/2)--(0,0,h/2),dashed); +dot((0,0,-h/2)); +dot((0,0,h/2)); +draw("$L$",(0,r,-h/2)--(0,r,h/2),W,black); +draw("$r$",(0,0,-h/2)--(0,r,-h/2),red); +draw(arc(O,1,90,90,90,0),red,Arrow3); diff --git a/Master/texmf-dist/doc/asymptote/examples/saddle.asy b/Master/texmf-dist/doc/asymptote/examples/saddle.asy new file mode 100644 index 00000000000..0180bf125a6 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/saddle.asy @@ -0,0 +1,7 @@ +import three; + +size(100,0); +path3 g=(1,0,0)..(0,1,1)..(-1,0,0)..(0,-1,1)..cycle; +draw(g); +draw(((-1,-1,0)--(1,-1,0)--(1,1,0)--(-1,1,0)--cycle)); +dot(g,red); diff --git a/Master/texmf-dist/doc/asymptote/examples/scaledgraph.asy b/Master/texmf-dist/doc/asymptote/examples/scaledgraph.asy new file mode 100644 index 00000000000..408c10cc582 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/scaledgraph.asy @@ -0,0 +1,15 @@ +import graph; + +axiscoverage=0.9; +size(200,IgnoreAspect); + +real[] x={-1e-11,1e-11}; +real[] y={0,1e6}; + +real xscale=round(log10(max(x))); +real yscale=round(log10(max(y)))-1; + +draw(graph(x*10^(-xscale),y*10^(-yscale)),red); + +xaxis("$x/10^{"+(string) xscale+"}$",BottomTop,LeftTicks); +yaxis("$y/10^{"+(string) yscale+"}$",LeftRight,RightTicks(trailingzero)); diff --git a/Master/texmf-dist/doc/asymptote/examples/secondaryaxis.asy b/Master/texmf-dist/doc/asymptote/examples/secondaryaxis.asy new file mode 100644 index 00000000000..39f802f935d --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/secondaryaxis.asy @@ -0,0 +1,32 @@ +import graph; + +size(9cm,6cm,IgnoreAspect); +string data="secondaryaxis.csv"; + +file in=input(data).line().csv(); + +string[] titlelabel=in; +string[] columnlabel=in; + +real[][] a=in.dimension(0,0); +a=transpose(a); +real[] t=a[0], susceptible=a[1], infectious=a[2], dead=a[3], larvae=a[4]; +real[] susceptibleM=a[5], exposed=a[6],infectiousM=a[7]; + +scale(true); + +draw(graph(t,susceptible,t >= 10 & t <= 15)); +draw(graph(t,dead,t >= 10 & t <= 15),dashed); + +xaxis("Time ($\tau$)",BottomTop,LeftTicks); +yaxis(Left,RightTicks); + +picture secondary=secondaryY(new void(picture pic) { + scale(pic,Linear(true),Log(true)); + draw(pic,graph(pic,t,infectious,t >= 10 & t <= 15),red); + yaxis(pic,Right,red,LeftTicks(begin=false,end=false)); + }); + +add(secondary); +label(shift(5mm*N)*"Proportion of crows",point(NW),E); + diff --git a/Master/texmf-dist/doc/asymptote/examples/secondaryaxis.csv b/Master/texmf-dist/doc/asymptote/examples/secondaryaxis.csv new file mode 100644 index 00000000000..082d45a0e71 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/secondaryaxis.csv @@ -0,0 +1,1003 @@ +,"Proportion of crows",,,"Mosquitoes per crow",,, +Time,Susceptible,Infectious,Dead,Larvae,Susceptible,Exposed,Infectious +0,1,0,0,,30,0.000,0.001 +0.1,1.000,0.000,0.000,12.794,30.000,0.000,0.001 +0.2,1.000,0.000,0.000,12.794,30.000,0.000,0.001 +0.3,1.000,0.000,0.000,12.795,30.000,0.000,0.001 +0.4,1.000,0.000,0.000,12.795,30.000,0.000,0.001 +0.5,1.000,0.000,0.000,12.795,30.000,0.000,0.001 +0.6,1.000,0.000,0.000,12.795,30.000,0.000,0.001 +0.7,1.000,0.000,0.000,12.795,30.000,0.000,0.001 +0.8,0.999,0.000,0.000,12.795,30.000,0.000,0.001 +0.9,0.999,0.000,0.000,12.795,29.999,0.001,0.001 +1,0.999,0.000,0.000,12.795,29.999,0.001,0.001 +1.1,0.999,0.000,0.000,12.795,29.999,0.001,0.001 +1.2,0.999,0.000,0.000,12.795,29.999,0.001,0.001 +1.3,0.999,0.000,0.000,12.795,29.999,0.001,0.001 +1.4,0.999,0.000,0.001,12.795,29.999,0.001,0.001 +1.5,0.999,0.001,0.001,12.795,29.999,0.001,0.001 +1.6,0.999,0.001,0.001,12.795,29.999,0.001,0.001 +1.7,0.999,0.001,0.001,12.795,29.998,0.001,0.001 +1.8,0.999,0.001,0.001,12.795,29.998,0.001,0.001 +1.9,0.998,0.001,0.001,12.795,29.998,0.001,0.002 +2,0.998,0.001,0.001,12.795,29.998,0.001,0.002 +2.1,0.998,0.001,0.001,12.795,29.998,0.002,0.002 +2.2,0.998,0.001,0.001,12.795,29.998,0.002,0.002 +2.3,0.998,0.001,0.001,12.795,29.997,0.002,0.002 +2.4,0.998,0.001,0.001,12.795,29.997,0.002,0.002 +2.5,0.998,0.001,0.002,12.795,29.997,0.002,0.002 +2.6,0.997,0.001,0.002,12.795,29.997,0.002,0.002 +2.7,0.997,0.001,0.002,12.795,29.996,0.002,0.003 +2.8,0.997,0.001,0.002,12.795,29.996,0.002,0.003 +2.9,0.997,0.001,0.002,12.795,29.996,0.002,0.003 +3,0.997,0.001,0.002,12.795,29.995,0.003,0.003 +3.1,0.996,0.001,0.002,12.795,29.995,0.003,0.003 +3.2,0.996,0.001,0.003,12.795,29.995,0.003,0.003 +3.3,0.996,0.001,0.003,12.795,29.994,0.003,0.004 +3.4,0.996,0.001,0.003,12.795,29.994,0.003,0.004 +3.5,0.995,0.002,0.003,12.795,29.994,0.003,0.004 +3.6,0.995,0.002,0.003,12.795,29.993,0.004,0.004 +3.7,0.995,0.002,0.004,12.795,29.993,0.004,0.004 +3.8,0.994,0.002,0.004,12.795,29.992,0.004,0.005 +3.9,0.994,0.002,0.004,12.795,29.992,0.004,0.005 +4,0.994,0.002,0.004,12.795,29.991,0.005,0.005 +4.1,0.993,0.002,0.005,12.795,29.991,0.005,0.006 +4.2,0.993,0.002,0.005,12.795,29.990,0.005,0.006 +4.3,0.992,0.002,0.005,12.795,29.989,0.005,0.006 +4.4,0.992,0.003,0.006,12.795,29.989,0.006,0.007 +4.5,0.991,0.003,0.006,12.795,29.988,0.006,0.007 +4.6,0.991,0.003,0.006,12.795,29.987,0.006,0.008 +4.7,0.990,0.003,0.007,12.795,29.986,0.007,0.008 +4.8,0.990,0.003,0.007,12.795,29.985,0.007,0.008 +4.9,0.989,0.003,0.008,12.795,29.984,0.008,0.009 +5,0.988,0.004,0.008,12.795,29.984,0.008,0.009 +5.1,0.988,0.004,0.009,12.795,29.982,0.008,0.010 +5.2,0.987,0.004,0.009,12.795,29.981,0.009,0.011 +5.3,0.986,0.004,0.010,12.795,29.980,0.010,0.011 +5.4,0.985,0.005,0.010,12.795,29.979,0.010,0.012 +5.5,0.984,0.005,0.011,12.795,29.978,0.011,0.013 +5.6,0.983,0.005,0.012,12.795,29.976,0.011,0.013 +5.7,0.982,0.005,0.012,12.795,29.975,0.012,0.014 +5.8,0.981,0.006,0.013,12.795,29.973,0.013,0.015 +5.9,0.980,0.006,0.014,12.795,29.972,0.013,0.016 +6,0.979,0.006,0.015,12.795,29.970,0.014,0.017 +6.1,0.978,0.007,0.016,12.795,29.968,0.015,0.018 +6.2,0.976,0.007,0.016,12.795,29.966,0.016,0.019 +6.3,0.975,0.008,0.017,12.795,29.964,0.017,0.020 +6.4,0.973,0.008,0.019,12.795,29.962,0.018,0.021 +6.5,0.972,0.008,0.020,12.795,29.960,0.019,0.022 +6.6,0.970,0.009,0.021,12.795,29.957,0.020,0.024 +6.7,0.968,0.009,0.022,12.795,29.955,0.021,0.025 +6.8,0.967,0.010,0.023,12.795,29.952,0.022,0.026 +6.9,0.965,0.011,0.025,12.795,29.949,0.024,0.028 +7,0.963,0.011,0.026,12.795,29.946,0.025,0.030 +7.1,0.960,0.012,0.028,12.795,29.943,0.026,0.031 +7.2,0.958,0.013,0.029,12.795,29.940,0.028,0.033 +7.3,0.956,0.013,0.031,12.795,29.936,0.029,0.035 +7.4,0.953,0.014,0.033,12.795,29.933,0.031,0.037 +7.5,0.950,0.015,0.035,12.795,29.929,0.033,0.039 +7.6,0.947,0.016,0.037,12.795,29.925,0.035,0.042 +7.7,0.944,0.016,0.039,12.795,29.920,0.037,0.044 +7.8,0.941,0.017,0.041,12.795,29.916,0.039,0.046 +7.9,0.938,0.018,0.044,12.795,29.911,0.041,0.049 +8,0.934,0.019,0.046,12.795,29.906,0.043,0.052 +8.1,0.931,0.020,0.049,12.795,29.900,0.046,0.055 +8.2,0.927,0.021,0.052,12.795,29.895,0.048,0.058 +8.3,0.923,0.023,0.055,12.795,29.889,0.051,0.061 +8.4,0.918,0.024,0.058,12.795,29.883,0.054,0.065 +8.5,0.914,0.025,0.061,12.795,29.876,0.056,0.069 +8.6,0.909,0.026,0.065,12.795,29.869,0.059,0.072 +8.7,0.904,0.028,0.068,12.795,29.862,0.063,0.076 +8.8,0.899,0.029,0.072,12.795,29.854,0.066,0.081 +8.9,0.893,0.031,0.076,12.795,29.846,0.070,0.085 +9,0.887,0.032,0.080,12.795,29.838,0.073,0.090 +9.1,0.881,0.034,0.085,12.795,29.829,0.077,0.095 +9.2,0.875,0.036,0.090,12.795,29.820,0.081,0.100 +9.3,0.868,0.037,0.095,12.795,29.810,0.085,0.106 +9.4,0.861,0.039,0.100,12.795,29.800,0.090,0.112 +9.5,0.854,0.041,0.105,12.795,29.789,0.094,0.118 +9.6,0.846,0.043,0.111,12.795,29.778,0.099,0.124 +9.7,0.838,0.045,0.117,12.795,29.766,0.104,0.131 +9.8,0.830,0.047,0.123,12.795,29.754,0.109,0.138 +9.9,0.821,0.049,0.130,12.795,29.742,0.114,0.145 +10,0.812,0.052,0.136,12.795,29.729,0.120,0.153 +10.1,0.802,0.054,0.144,12.795,29.715,0.126,0.161 +10.2,0.793,0.056,0.151,12.795,29.701,0.132,0.169 +10.3,0.782,0.059,0.159,12.795,29.686,0.138,0.178 +10.4,0.772,0.061,0.167,12.795,29.670,0.144,0.187 +10.5,0.761,0.064,0.175,12.795,29.654,0.150,0.196 +10.6,0.750,0.066,0.184,12.795,29.638,0.157,0.206 +10.7,0.738,0.069,0.193,12.795,29.621,0.164,0.216 +10.8,0.726,0.072,0.203,12.795,29.603,0.171,0.227 +10.9,0.713,0.074,0.212,12.795,29.585,0.178,0.238 +11,0.700,0.077,0.223,12.795,29.566,0.185,0.250 +11.1,0.687,0.080,0.233,12.795,29.547,0.193,0.261 +11.2,0.674,0.082,0.244,12.795,29.527,0.200,0.274 +11.3,0.660,0.085,0.255,12.795,29.507,0.208,0.286 +11.4,0.645,0.088,0.267,12.795,29.486,0.215,0.300 +11.5,0.631,0.090,0.279,12.795,29.465,0.223,0.313 +11.6,0.616,0.093,0.291,12.795,29.443,0.231,0.327 +11.7,0.601,0.095,0.304,12.795,29.421,0.238,0.341 +11.8,0.585,0.098,0.317,12.795,29.399,0.246,0.356 +11.9,0.570,0.100,0.330,12.795,29.376,0.254,0.371 +12,0.554,0.102,0.344,12.795,29.353,0.261,0.386 +12.1,0.538,0.104,0.358,12.795,29.330,0.269,0.402 +12.2,0.521,0.106,0.372,12.795,29.307,0.276,0.418 +12.3,0.505,0.108,0.387,12.795,29.283,0.283,0.434 +12.4,0.489,0.110,0.401,12.795,29.260,0.290,0.451 +12.5,0.472,0.112,0.416,12.795,29.236,0.297,0.468 +12.6,0.456,0.113,0.432,12.795,29.213,0.303,0.485 +12.7,0.439,0.114,0.447,12.795,29.190,0.309,0.502 +12.8,0.423,0.115,0.462,12.795,29.167,0.315,0.519 +12.9,0.406,0.116,0.478,12.795,29.144,0.320,0.536 +13,0.390,0.116,0.494,12.795,29.122,0.325,0.554 +13.1,0.374,0.117,0.509,12.795,29.100,0.329,0.571 +13.2,0.358,0.117,0.525,12.795,29.079,0.333,0.588 +13.3,0.343,0.117,0.541,12.795,29.059,0.337,0.606 +13.4,0.327,0.116,0.557,12.795,29.039,0.340,0.623 +13.5,0.312,0.116,0.572,12.795,29.020,0.342,0.639 +13.6,0.297,0.115,0.588,12.795,29.001,0.344,0.656 +13.7,0.283,0.114,0.603,12.795,28.984,0.345,0.672 +13.8,0.269,0.113,0.618,12.795,28.967,0.346,0.688 +13.9,0.255,0.111,0.634,12.795,28.952,0.346,0.704 +14,0.242,0.109,0.648,12.795,28.937,0.345,0.719 +14.1,0.229,0.108,0.663,12.795,28.924,0.344,0.733 +14.2,0.217,0.106,0.677,12.795,28.912,0.342,0.747 +14.3,0.205,0.103,0.692,12.795,28.900,0.340,0.761 +14.4,0.194,0.101,0.705,12.795,28.891,0.337,0.774 +14.5,0.183,0.099,0.719,12.795,28.882,0.333,0.786 +14.6,0.172,0.096,0.732,12.795,28.874,0.329,0.797 +14.7,0.162,0.093,0.745,12.795,28.868,0.325,0.808 +14.8,0.153,0.090,0.757,12.795,28.863,0.320,0.818 +14.9,0.143,0.087,0.769,12.795,28.860,0.314,0.827 +15,0.135,0.084,0.781,12.795,28.857,0.308,0.836 +15.1,0.127,0.081,0.792,12.795,28.856,0.302,0.843 +15.2,0.119,0.078,0.803,12.795,28.856,0.295,0.850 +15.3,0.112,0.075,0.813,12.795,28.857,0.288,0.856 +15.4,0.105,0.072,0.823,12.795,28.859,0.281,0.861 +15.5,0.098,0.069,0.833,12.795,28.863,0.273,0.865 +15.6,0.092,0.066,0.842,12.795,28.867,0.266,0.868 +15.7,0.086,0.063,0.850,12.795,28.873,0.258,0.870 +15.8,0.081,0.060,0.859,12.795,28.879,0.250,0.872 +15.9,0.076,0.058,0.867,12.795,28.887,0.242,0.873 +16,0.071,0.055,0.874,12.795,28.895,0.233,0.873 +16.1,0.066,0.052,0.882,12.795,28.904,0.225,0.872 +16.2,0.062,0.049,0.888,12.795,28.914,0.217,0.870 +16.3,0.058,0.047,0.895,12.795,28.925,0.209,0.867 +16.4,0.055,0.044,0.901,12.795,28.936,0.201,0.864 +16.5,0.051,0.042,0.907,12.795,28.948,0.192,0.860 +16.6,0.048,0.040,0.912,12.795,28.961,0.185,0.856 +16.7,0.045,0.037,0.918,12.795,28.974,0.177,0.850 +16.8,0.042,0.035,0.922,12.795,28.988,0.169,0.844 +16.9,0.040,0.033,0.927,12.795,29.002,0.161,0.838 +17,0.037,0.031,0.931,12.795,29.016,0.154,0.831 +17.1,0.035,0.029,0.936,12.795,29.031,0.147,0.823 +17.2,0.033,0.028,0.939,12.795,29.046,0.140,0.815 +17.3,0.031,0.026,0.943,12.795,29.061,0.133,0.807 +17.4,0.029,0.024,0.946,12.795,29.077,0.126,0.798 +17.5,0.028,0.023,0.950,12.795,29.093,0.120,0.788 +17.6,0.026,0.021,0.953,12.795,29.108,0.114,0.779 +17.7,0.025,0.020,0.955,12.795,29.124,0.108,0.769 +17.8,0.023,0.019,0.958,12.795,29.141,0.102,0.758 +17.9,0.022,0.018,0.960,12.795,29.157,0.097,0.748 +18,0.021,0.017,0.963,12.795,29.173,0.092,0.737 +18.1,0.020,0.015,0.965,12.795,29.189,0.087,0.726 +18.2,0.019,0.014,0.967,12.795,29.205,0.082,0.714 +18.3,0.018,0.014,0.969,12.795,29.221,0.077,0.703 +18.4,0.017,0.013,0.971,12.795,29.237,0.073,0.691 +18.5,0.016,0.012,0.972,12.795,29.253,0.069,0.680 +18.6,0.015,0.011,0.974,12.795,29.268,0.065,0.668 +18.7,0.014,0.010,0.975,12.795,29.284,0.061,0.656 +18.8,0.014,0.010,0.977,12.795,29.299,0.057,0.644 +18.9,0.013,0.009,0.978,12.795,29.315,0.054,0.632 +19,0.012,0.008,0.979,12.795,29.330,0.051,0.620 +19.1,0.012,0.008,0.980,12.795,29.345,0.048,0.609 +19.2,0.011,0.007,0.981,12.795,29.359,0.045,0.597 +19.3,0.011,0.007,0.982,12.795,29.374,0.042,0.585 +19.4,0.010,0.007,0.983,12.795,29.388,0.040,0.573 +19.5,0.010,0.006,0.984,12.795,29.402,0.037,0.562 +19.6,0.010,0.006,0.985,12.795,29.416,0.035,0.550 +19.7,0.009,0.005,0.985,12.795,29.430,0.033,0.538 +19.8,0.009,0.005,0.986,12.795,29.443,0.031,0.527 +19.9,0.009,0.005,0.987,12.795,29.456,0.029,0.516 +20,0.008,0.004,0.987,12.795,29.469,0.027,0.505 +20.1,0.008,0.004,0.988,12.795,29.482,0.026,0.494 +20.2,0.008,0.004,0.989,12.795,29.494,0.024,0.483 +20.3,0.007,0.004,0.989,12.795,29.506,0.023,0.472 +20.4,0.007,0.003,0.990,12.795,29.518,0.021,0.461 +20.5,0.007,0.003,0.990,12.795,29.530,0.020,0.451 +20.6,0.007,0.003,0.990,12.795,29.541,0.019,0.441 +20.7,0.006,0.003,0.991,12.795,29.553,0.018,0.431 +20.8,0.006,0.003,0.991,12.795,29.564,0.017,0.421 +20.9,0.006,0.002,0.991,12.795,29.575,0.016,0.411 +21,0.006,0.002,0.992,12.795,29.585,0.015,0.401 +21.1,0.006,0.002,0.992,12.795,29.595,0.014,0.392 +21.2,0.006,0.002,0.992,12.795,29.605,0.013,0.383 +21.3,0.005,0.002,0.993,12.795,29.615,0.012,0.374 +21.4,0.005,0.002,0.993,12.795,29.625,0.011,0.365 +21.5,0.005,0.002,0.993,12.795,29.634,0.011,0.356 +21.6,0.005,0.002,0.993,12.795,29.644,0.010,0.347 +21.7,0.005,0.002,0.994,12.795,29.653,0.009,0.339 +21.8,0.005,0.001,0.994,12.795,29.661,0.009,0.331 +21.9,0.005,0.001,0.994,12.795,29.670,0.008,0.323 +22,0.004,0.001,0.994,12.795,29.678,0.008,0.315 +22.1,0.004,0.001,0.994,12.795,29.687,0.007,0.307 +22.2,0.004,0.001,0.995,12.795,29.695,0.007,0.299 +22.3,0.004,0.001,0.995,12.795,29.702,0.007,0.292 +22.4,0.004,0.001,0.995,12.795,29.710,0.006,0.285 +22.5,0.004,0.001,0.995,12.795,29.718,0.006,0.278 +22.6,0.004,0.001,0.995,12.795,29.725,0.006,0.271 +22.7,0.004,0.001,0.995,12.795,29.732,0.005,0.264 +22.8,0.004,0.001,0.995,12.795,29.739,0.005,0.257 +22.9,0.004,0.001,0.995,12.795,29.746,0.005,0.251 +23,0.004,0.001,0.996,12.795,29.752,0.004,0.244 +23.1,0.004,0.001,0.996,12.795,29.758,0.004,0.238 +23.2,0.004,0.001,0.996,12.795,29.765,0.004,0.232 +23.3,0.003,0.001,0.996,12.795,29.771,0.004,0.226 +23.4,0.003,0.001,0.996,12.795,29.777,0.004,0.221 +23.5,0.003,0.001,0.996,12.795,29.783,0.003,0.215 +23.6,0.003,0.001,0.996,12.795,29.788,0.003,0.210 +23.7,0.003,0.001,0.996,12.795,29.794,0.003,0.204 +23.8,0.003,0.001,0.996,12.795,29.799,0.003,0.199 +23.9,0.003,0.001,0.996,12.795,29.804,0.003,0.194 +24,0.003,0.000,0.996,12.795,29.809,0.003,0.189 +24.1,0.003,0.000,0.996,12.795,29.814,0.002,0.184 +24.2,0.003,0.000,0.997,12.795,29.819,0.002,0.179 +24.3,0.003,0.000,0.997,12.795,29.824,0.002,0.175 +24.4,0.003,0.000,0.997,12.795,29.829,0.002,0.170 +24.5,0.003,0.000,0.997,12.795,29.833,0.002,0.166 +24.6,0.003,0.000,0.997,12.795,29.838,0.002,0.162 +24.7,0.003,0.000,0.997,12.795,29.842,0.002,0.157 +24.8,0.003,0.000,0.997,12.795,29.846,0.002,0.153 +24.9,0.003,0.000,0.997,12.795,29.850,0.002,0.149 +25,0.003,0.000,0.997,12.795,29.854,0.002,0.145 +25.1,0.003,0.000,0.997,12.795,29.858,0.002,0.142 +25.2,0.003,0.000,0.997,12.795,29.862,0.001,0.138 +25.3,0.003,0.000,0.997,12.795,29.865,0.001,0.134 +25.4,0.003,0.000,0.997,12.795,29.869,0.001,0.131 +25.5,0.003,0.000,0.997,12.795,29.872,0.001,0.128 +25.6,0.003,0.000,0.997,12.795,29.876,0.001,0.124 +25.7,0.003,0.000,0.997,12.795,29.879,0.001,0.121 +25.8,0.003,0.000,0.997,12.795,29.882,0.001,0.118 +25.9,0.003,0.000,0.997,12.795,29.885,0.001,0.115 +26,0.002,0.000,0.997,12.795,29.888,0.001,0.112 +26.1,0.002,0.000,0.997,12.795,29.891,0.001,0.109 +26.2,0.002,0.000,0.997,12.795,29.894,0.001,0.106 +26.3,0.002,0.000,0.997,12.795,29.897,0.001,0.103 +26.4,0.002,0.000,0.997,12.795,29.900,0.001,0.101 +26.5,0.002,0.000,0.997,12.795,29.902,0.001,0.098 +26.6,0.002,0.000,0.997,12.795,29.905,0.001,0.095 +26.7,0.002,0.000,0.997,12.795,29.907,0.001,0.093 +26.8,0.002,0.000,0.997,12.795,29.910,0.001,0.090 +26.9,0.002,0.000,0.998,12.795,29.912,0.001,0.088 +27,0.002,0.000,0.998,12.795,29.915,0.001,0.086 +27.1,0.002,0.000,0.998,12.795,29.917,0.001,0.083 +27.2,0.002,0.000,0.998,12.795,29.919,0.001,0.081 +27.3,0.002,0.000,0.998,12.795,29.921,0.001,0.079 +27.4,0.002,0.000,0.998,12.795,29.923,0.001,0.077 +27.5,0.002,0.000,0.998,12.795,29.925,0.001,0.075 +27.6,0.002,0.000,0.998,12.795,29.927,0.001,0.073 +27.7,0.002,0.000,0.998,12.795,29.929,0.001,0.071 +27.8,0.002,0.000,0.998,12.795,29.931,0.001,0.069 +27.9,0.002,0.000,0.998,12.795,29.933,0.000,0.067 +28,0.002,0.000,0.998,12.795,29.935,0.000,0.066 +28.1,0.002,0.000,0.998,12.795,29.937,0.000,0.064 +28.2,0.002,0.000,0.998,12.795,29.938,0.000,0.062 +28.3,0.002,0.000,0.998,12.795,29.940,0.000,0.061 +28.4,0.002,0.000,0.998,12.795,29.942,0.000,0.059 +28.5,0.002,0.000,0.998,12.795,29.943,0.000,0.057 +28.6,0.002,0.000,0.998,12.795,29.945,0.000,0.056 +28.7,0.002,0.000,0.998,12.795,29.946,0.000,0.054 +28.8,0.002,0.000,0.998,12.795,29.948,0.000,0.053 +28.9,0.002,0.000,0.998,12.795,29.949,0.000,0.052 +29,0.002,0.000,0.998,12.795,29.950,0.000,0.050 +29.1,0.002,0.000,0.998,12.795,29.952,0.000,0.049 +29.2,0.002,0.000,0.998,12.795,29.953,0.000,0.048 +29.3,0.002,0.000,0.998,12.795,29.954,0.000,0.046 +29.4,0.002,0.000,0.998,12.795,29.955,0.000,0.045 +29.5,0.002,0.000,0.998,12.795,29.957,0.000,0.044 +29.6,0.002,0.000,0.998,12.795,29.958,0.000,0.043 +29.7,0.002,0.000,0.998,12.795,29.959,0.000,0.042 +29.8,0.002,0.000,0.998,12.795,29.960,0.000,0.041 +29.9,0.002,0.000,0.998,12.795,29.961,0.000,0.040 +30,0.002,0.000,0.998,12.795,29.962,0.000,0.039 +30.1,0.002,0.000,0.998,12.795,29.963,0.000,0.037 +30.2,0.002,0.000,0.998,12.795,29.964,0.000,0.037 +30.3,0.002,0.000,0.998,12.795,29.965,0.000,0.036 +30.4,0.002,0.000,0.998,12.795,29.966,0.000,0.035 +30.5,0.002,0.000,0.998,12.795,29.967,0.000,0.034 +30.6,0.002,0.000,0.998,12.795,29.968,0.000,0.033 +30.7,0.002,0.000,0.998,12.795,29.969,0.000,0.032 +30.8,0.002,0.000,0.998,12.795,29.970,0.000,0.031 +30.9,0.002,0.000,0.998,12.795,29.971,0.000,0.030 +31,0.002,0.000,0.998,12.795,29.971,0.000,0.029 +31.1,0.002,0.000,0.998,12.795,29.972,0.000,0.029 +31.2,0.002,0.000,0.998,12.795,29.973,0.000,0.028 +31.3,0.002,0.000,0.998,12.795,29.974,0.000,0.027 +31.4,0.002,0.000,0.998,12.795,29.974,0.000,0.026 +31.5,0.002,0.000,0.998,12.795,29.975,0.000,0.026 +31.6,0.002,0.000,0.998,12.795,29.976,0.000,0.025 +31.7,0.002,0.000,0.998,12.795,29.976,0.000,0.024 +31.8,0.002,0.000,0.998,12.795,29.977,0.000,0.024 +31.9,0.002,0.000,0.998,12.795,29.978,0.000,0.023 +32,0.002,0.000,0.998,12.795,29.978,0.000,0.023 +32.1,0.002,0.000,0.998,12.795,29.979,0.000,0.022 +32.2,0.002,0.000,0.998,12.795,29.979,0.000,0.021 +32.3,0.002,0.000,0.998,12.795,29.980,0.000,0.021 +32.4,0.002,0.000,0.998,12.795,29.981,0.000,0.020 +32.5,0.002,0.000,0.998,12.795,29.981,0.000,0.020 +32.6,0.002,0.000,0.998,12.795,29.982,0.000,0.019 +32.7,0.002,0.000,0.998,12.795,29.982,0.000,0.019 +32.8,0.002,0.000,0.998,12.795,29.983,0.000,0.018 +32.9,0.002,0.000,0.998,12.795,29.983,0.000,0.018 +33,0.002,0.000,0.998,12.795,29.984,0.000,0.017 +33.1,0.002,0.000,0.998,12.795,29.984,0.000,0.017 +33.2,0.002,0.000,0.998,12.795,29.985,0.000,0.016 +33.3,0.002,0.000,0.998,12.795,29.985,0.000,0.016 +33.4,0.002,0.000,0.998,12.795,29.985,0.000,0.015 +33.5,0.002,0.000,0.998,12.795,29.986,0.000,0.015 +33.6,0.002,0.000,0.998,12.795,29.986,0.000,0.015 +33.7,0.002,0.000,0.998,12.795,29.987,0.000,0.014 +33.8,0.002,0.000,0.998,12.795,29.987,0.000,0.014 +33.9,0.002,0.000,0.998,12.795,29.987,0.000,0.014 +34,0.002,0.000,0.998,12.795,29.988,0.000,0.013 +34.1,0.002,0.000,0.998,12.795,29.988,0.000,0.013 +34.2,0.002,0.000,0.998,12.795,29.988,0.000,0.012 +34.3,0.002,0.000,0.998,12.795,29.989,0.000,0.012 +34.4,0.002,0.000,0.998,12.795,29.989,0.000,0.012 +34.5,0.002,0.000,0.998,12.795,29.989,0.000,0.012 +34.6,0.002,0.000,0.998,12.795,29.990,0.000,0.011 +34.7,0.002,0.000,0.998,12.795,29.990,0.000,0.011 +34.8,0.002,0.000,0.998,12.795,29.990,0.000,0.011 +34.9,0.002,0.000,0.998,12.795,29.991,0.000,0.010 +35,0.002,0.000,0.998,12.795,29.991,0.000,0.010 +35.1,0.002,0.000,0.998,12.795,29.991,0.000,0.010 +35.2,0.002,0.000,0.998,12.795,29.991,0.000,0.010 +35.3,0.002,0.000,0.998,12.795,29.992,0.000,0.009 +35.4,0.002,0.000,0.998,12.795,29.992,0.000,0.009 +35.5,0.002,0.000,0.998,12.795,29.992,0.000,0.009 +35.6,0.002,0.000,0.998,12.795,29.992,0.000,0.009 +35.7,0.002,0.000,0.998,12.795,29.993,0.000,0.008 +35.8,0.002,0.000,0.998,12.795,29.993,0.000,0.008 +35.9,0.002,0.000,0.998,12.795,29.993,0.000,0.008 +36,0.002,0.000,0.998,12.795,29.993,0.000,0.008 +36.1,0.002,0.000,0.998,12.795,29.993,0.000,0.008 +36.2,0.002,0.000,0.998,12.795,29.994,0.000,0.007 +36.3,0.002,0.000,0.998,12.795,29.994,0.000,0.007 +36.4,0.002,0.000,0.998,12.795,29.994,0.000,0.007 +36.5,0.002,0.000,0.998,12.795,29.994,0.000,0.007 +36.6,0.002,0.000,0.998,12.795,29.994,0.000,0.007 +36.7,0.002,0.000,0.998,12.795,29.995,0.000,0.006 +36.8,0.002,0.000,0.998,12.795,29.995,0.000,0.006 +36.9,0.002,0.000,0.998,12.795,29.995,0.000,0.006 +37,0.002,0.000,0.998,12.795,29.995,0.000,0.006 +37.1,0.002,0.000,0.998,12.795,29.995,0.000,0.006 +37.2,0.002,0.000,0.998,12.795,29.995,0.000,0.006 +37.3,0.002,0.000,0.998,12.795,29.996,0.000,0.005 +37.4,0.002,0.000,0.998,12.795,29.996,0.000,0.005 +37.5,0.002,0.000,0.998,12.795,29.996,0.000,0.005 +37.6,0.002,0.000,0.998,12.795,29.996,0.000,0.005 +37.7,0.002,0.000,0.998,12.795,29.996,0.000,0.005 +37.8,0.002,0.000,0.998,12.795,29.996,0.000,0.005 +37.9,0.002,0.000,0.998,12.795,29.996,0.000,0.005 +38,0.002,0.000,0.998,12.795,29.996,0.000,0.005 +38.1,0.002,0.000,0.998,12.795,29.997,0.000,0.004 +38.2,0.002,0.000,0.998,12.795,29.997,0.000,0.004 +38.3,0.002,0.000,0.998,12.795,29.997,0.000,0.004 +38.4,0.002,0.000,0.998,12.795,29.997,0.000,0.004 +38.5,0.002,0.000,0.998,12.795,29.997,0.000,0.004 +38.6,0.002,0.000,0.998,12.795,29.997,0.000,0.004 +38.7,0.002,0.000,0.998,12.795,29.997,0.000,0.004 +38.8,0.002,0.000,0.998,12.795,29.997,0.000,0.004 +38.9,0.002,0.000,0.998,12.795,29.997,0.000,0.004 +39,0.002,0.000,0.998,12.795,29.998,0.000,0.003 +39.1,0.002,0.000,0.998,12.795,29.998,0.000,0.003 +39.2,0.002,0.000,0.998,12.795,29.998,0.000,0.003 +39.3,0.002,0.000,0.998,12.795,29.998,0.000,0.003 +39.4,0.002,0.000,0.998,12.795,29.998,0.000,0.003 +39.5,0.002,0.000,0.998,12.795,29.998,0.000,0.003 +39.6,0.002,0.000,0.998,12.795,29.998,0.000,0.003 +39.7,0.002,0.000,0.998,12.795,29.998,0.000,0.003 +39.8,0.002,0.000,0.998,12.795,29.998,0.000,0.003 +39.9,0.002,0.000,0.998,12.795,29.998,0.000,0.003 +40,0.002,0.000,0.998,12.795,29.998,0.000,0.003 +40.1,0.002,0.000,0.998,12.795,29.998,0.000,0.003 +40.2,0.002,0.000,0.998,12.795,29.998,0.000,0.002 +40.3,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +40.4,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +40.5,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +40.6,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +40.7,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +40.8,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +40.9,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +41,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +41.1,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +41.2,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +41.3,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +41.4,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +41.5,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +41.6,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +41.7,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +41.8,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +41.9,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +42,0.002,0.000,0.998,12.795,29.999,0.000,0.002 +42.1,0.002,0.000,0.998,12.795,29.999,0.000,0.001 +42.2,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +42.3,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +42.4,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +42.5,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +42.6,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +42.7,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +42.8,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +42.9,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +43,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +43.1,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +43.2,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +43.3,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +43.4,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +43.5,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +43.6,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +43.7,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +43.8,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +43.9,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +44,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +44.1,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +44.2,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +44.3,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +44.4,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +44.5,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +44.6,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +44.7,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +44.8,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +44.9,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +45,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +45.1,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +45.2,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +45.3,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +45.4,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +45.5,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +45.6,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +45.7,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +45.8,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +45.9,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +46,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +46.1,0.002,0.000,0.998,12.795,30.000,0.000,0.001 +46.2,0.002,0.000,0.998,12.795,30.000,0.000,0.000 +46.3,0.002,0.000,0.998,12.795,30.000,0.000,0.000 +46.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +46.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +46.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +46.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +46.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +46.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +47,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +47.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +47.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +47.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +47.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +47.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +47.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +47.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +47.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +47.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +48,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +48.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +48.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +48.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +48.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +48.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +48.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +48.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +48.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +48.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +49,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +49.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +49.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +49.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +49.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +49.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +49.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +49.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +49.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +49.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +50,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +50.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +50.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +50.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +50.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +50.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +50.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +50.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +50.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +50.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +51,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +51.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +51.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +51.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +51.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +51.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +51.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +51.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +51.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +51.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +52,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +52.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +52.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +52.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +52.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +52.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +52.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +52.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +52.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +52.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +53,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +53.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +53.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +53.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +53.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +53.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +53.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +53.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +53.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +53.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +54,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +54.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +54.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +54.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +54.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +54.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +54.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +54.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +54.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +54.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +55,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +55.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +55.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +55.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +55.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +55.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +55.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +55.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +55.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +55.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +56,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +56.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +56.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +56.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +56.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +56.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +56.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +56.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +56.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +56.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +57,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +57.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +57.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +57.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +57.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +57.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +57.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +57.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +57.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +57.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +58,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +58.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +58.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +58.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +58.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +58.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +58.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +58.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +58.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +58.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +59,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +59.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +59.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +59.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +59.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +59.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +59.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +59.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +59.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +59.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +60,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +60.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +60.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +60.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +60.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +60.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +60.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +60.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +60.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +60.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +61,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +61.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +61.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +61.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +61.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +61.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +61.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +61.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +61.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +61.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +62,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +62.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +62.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +62.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +62.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +62.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +62.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +62.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +62.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +62.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +63,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +63.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +63.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +63.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +63.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +63.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +63.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +63.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +63.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +63.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +64,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +64.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +64.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +64.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +64.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +64.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +64.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +64.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +64.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +64.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +65,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +65.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +65.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +65.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +65.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +65.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +65.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +65.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +65.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +65.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +66,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +66.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +66.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +66.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +66.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +66.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +66.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +66.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +66.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +66.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +67,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +67.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +67.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +67.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +67.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +67.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +67.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +67.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +67.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +67.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +68,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +68.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +68.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +68.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +68.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +68.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +68.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +68.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +68.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +68.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +69,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +69.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +69.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +69.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +69.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +69.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +69.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +69.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +69.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +69.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +70,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +70.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +70.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +70.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +70.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +70.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +70.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +70.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +70.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +70.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +71,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +71.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +71.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +71.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +71.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +71.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +71.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +71.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +71.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +71.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +72,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +72.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +72.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +72.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +72.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +72.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +72.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +72.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +72.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +72.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +73,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +73.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +73.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +73.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +73.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +73.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +73.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +73.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +73.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +73.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +74,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +74.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +74.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +74.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +74.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +74.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +74.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +74.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +74.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +74.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +75,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +75.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +75.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +75.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +75.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +75.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +75.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +75.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +75.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +75.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +76,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +76.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +76.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +76.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +76.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +76.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +76.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +76.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +76.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +76.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +77,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +77.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +77.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +77.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +77.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +77.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +77.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +77.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +77.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +77.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +78,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +78.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +78.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +78.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +78.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +78.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +78.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +78.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +78.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +78.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +79,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +79.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +79.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +79.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +79.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +79.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +79.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +79.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +79.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +79.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +80,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +80.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +80.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +80.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +80.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +80.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +80.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +80.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +80.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +80.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +81,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +81.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +81.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +81.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +81.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +81.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +81.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +81.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +81.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +81.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +82,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +82.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +82.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +82.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +82.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +82.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +82.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +82.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +82.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +82.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +83,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +83.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +83.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +83.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +83.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +83.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +83.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +83.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +83.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +83.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +84,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +84.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +84.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +84.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +84.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +84.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +84.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +84.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +84.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +84.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +85,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +85.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +85.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +85.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +85.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +85.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +85.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +85.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +85.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +85.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +86,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +86.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +86.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +86.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +86.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +86.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +86.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +86.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +86.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +86.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +87,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +87.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +87.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +87.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +87.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +87.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +87.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +87.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +87.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +87.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +88,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +88.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +88.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +88.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +88.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +88.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +88.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +88.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +88.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +88.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +89,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +89.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +89.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +89.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +89.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +89.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +89.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +89.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +89.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +89.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +90,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +90.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +90.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +90.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +90.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +90.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +90.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +90.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +90.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +90.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +91,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +91.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +91.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +91.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +91.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +91.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +91.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +91.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +91.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +91.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +92,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +92.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +92.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +92.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +92.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +92.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +92.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +92.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +92.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +92.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +93,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +93.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +93.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +93.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +93.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +93.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +93.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +93.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +93.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +93.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +94,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +94.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +94.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +94.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +94.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +94.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +94.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +94.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +94.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +94.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +95,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +95.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +95.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +95.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +95.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +95.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +95.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +95.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +95.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +95.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +96,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +96.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +96.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +96.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +96.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +96.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +96.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +96.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +96.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +96.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +97,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +97.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +97.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +97.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +97.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +97.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +97.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +97.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +97.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +97.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +98,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +98.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +98.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +98.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +98.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +98.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +98.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +98.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +98.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +98.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +99,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +99.1,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +99.2,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +99.3,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +99.4,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +99.5,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +99.6,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +99.7,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +99.8,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +99.9,0.002,0.000,0.998,12.795,30.001,0.000,0.000 +100,0.002,0.000,0.998,12.795,30.001,0.000,0.000 diff --git a/Master/texmf-dist/doc/asymptote/examples/shade.asy b/Master/texmf-dist/doc/asymptote/examples/shade.asy new file mode 100644 index 00000000000..66b8880fd4b --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/shade.asy @@ -0,0 +1,4 @@ + +size(100,0); +radialshade(unitsquare,yellow,(0,0),0,red,(0,0),1); + diff --git a/Master/texmf-dist/doc/asymptote/examples/shadedtiling.asy b/Master/texmf-dist/doc/asymptote/examples/shadedtiling.asy new file mode 100644 index 00000000000..4d3b8ae894b --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/shadedtiling.asy @@ -0,0 +1,12 @@ +size(0,100); +import patterns; + +real d=4mm; +picture tiling; +path square=scale(d)*unitsquare; +axialshade(tiling,square,white,(0,0),black,(d,d)); +fill(tiling,shift(d,d)*square,blue); +add("shadedtiling",tiling); + +filldraw(unitcircle,pattern("shadedtiling")); + diff --git a/Master/texmf-dist/doc/asymptote/examples/shadestroke.asy b/Master/texmf-dist/doc/asymptote/examples/shadestroke.asy new file mode 100644 index 00000000000..44f0b6e8a3f --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/shadestroke.asy @@ -0,0 +1,5 @@ +size(100); + +radialshade(W..N..E--(0,0),stroke=true, + red+linewidth(30),(0,0),0.25,yellow,(0,0),1); + diff --git a/Master/texmf-dist/doc/asymptote/examples/shellmethod.asy b/Master/texmf-dist/doc/asymptote/examples/shellmethod.asy new file mode 100644 index 00000000000..c8e541f2a62 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/shellmethod.asy @@ -0,0 +1,41 @@ +import graph3; +import solids; + +size(400); +currentprojection=perspective(0,-1,30,up=Y); +currentlight=light(gray(0.75),(0.25,-0.25,1),(0,1,0)); + +pen color=green; +real alpha=240; + +real f(real x) {return 2x^2-x^3;} +pair F(real x) {return (x,f(x));} +triple F3(real x) {return (x,f(x),0);} + +int n=10; +path3[] blocks=new path3[n]; +for(int i=1; i <= n; ++i) { + real height=f((i-0.5)*2/n); + real left=(i-1)*2/n; + real right=i*2/n; + blocks[i-1]= + (left,0,0)--(left,height,0)--(right,height,0)--(right,0,0)--cycle; +} + +path p=graph(F,0,2,n,operator ..)--cycle; +surface s=surface(p); +path3 p3=path3(p); + +render render=render(compression=0,merge=true); + +revolution a=revolution(p3,Y,0,alpha); +draw(surface(a),color,render); +draw(rotate(alpha,Y)*s,color,render); +for(int i=0; i < n; ++i) + draw(surface(blocks[i]),color+opacity(0.5),black,render); +draw(p3); + +xaxis3(Label("$x$",1,align=2X),Arrow3); +yaxis3(Label("$y$",1,align=2Y),ymax=1.4,dashed,Arrow3); +arrow("$y=2x^2-x^3$",XYplane(F(1.8)),X+Z,1.5cm,red,Arrow3(DefaultHead2)); +draw(arc(1.17Y,0.3,90,0,7.5,180),ArcArrow3); diff --git a/Master/texmf-dist/doc/asymptote/examples/shellsqrtx01.asy b/Master/texmf-dist/doc/asymptote/examples/shellsqrtx01.asy new file mode 100644 index 00000000000..553200df14c --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/shellsqrtx01.asy @@ -0,0 +1,36 @@ +import graph3; +import solids; +size(0,150); +currentprojection=orthographic(1,0,10,up=Y); +pen color=green; +real alpha=-240; + +real f(real x) {return sqrt(x);} +pair F(real x) {return (x,f(x));} +triple F3(real x) {return (x,f(x),0);} + +path p=graph(F,0,1,n=30,operator ..)--(1,0)--cycle; +path3 p3=path3(p); + +revolution a=revolution(p3,X,alpha,0); + +render render=render(compression=0,merge=true); +draw(surface(a),color,render); +draw(p3,blue); + +surface s=surface(p); +draw(s,color,render); +draw(rotate(alpha,X)*s,color,render); + +xaxis3(Label("$x$",1),xmax=1.25,dashed,Arrow3); +yaxis3(Label("$y$",1),Arrow3); + +dot("$(1,1)$",(1,1,0)); +arrow("$y=\sqrt{x}$",F3(0.8),Y,0.75cm,red); + +real r=0.4; +draw(F3(r)--(1,f(r),0),red); +real x=(1+r)/2; + +draw("$r$",(x,0,0)--(x,f(r),0),X+0.2Z,red,Arrow3,PenMargin3); +draw(arc(1.1X,0.4,90,90,3,-90),Arrow3); diff --git a/Master/texmf-dist/doc/asymptote/examples/sin1x.asy b/Master/texmf-dist/doc/asymptote/examples/sin1x.asy new file mode 100644 index 00000000000..637943691f1 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/sin1x.asy @@ -0,0 +1,16 @@ +import graph; +size(200,0); + +real f(real x) {return (x != 0) ? sin(1/x) : 0;} +real T(real x) {return 2/(x*pi);} + +real a=-4/pi, b=4/pi; +int n=150,m=5; + +xaxis("$x$",red); +yaxis(red); + +draw(graph(f,a,-T(m),n)--graph(f,-m,-(m+n),n,T)--(0,f(0))--graph(f,m+n,m,n,T)-- + graph(f,T(m),b,n)); + +label("$\sin\frac{1}{x}$",(b,f(b)),SW); diff --git a/Master/texmf-dist/doc/asymptote/examples/sin3.asy b/Master/texmf-dist/doc/asymptote/examples/sin3.asy new file mode 100644 index 00000000000..76551dacb95 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/sin3.asy @@ -0,0 +1,22 @@ +import graph3; +import palette; + +size(12cm,IgnoreAspect); +currentprojection=orthographic(1,-2,1); + +real f(pair z) {return abs(sin(z));} + +real Arg(triple v) {return degrees(cos((v.x,v.y)),warn=false);} + +surface s=surface(f,(-pi,-2),(pi,2),20,Spline); + +s.colors(palette(s.map(Arg),Wheel())); +draw(s,render(compression=Low,merge=true)); + +real xmin=point((-1,-1,-1)).x; +real xmax=point((1,1,1)).x; +draw((xmin,0,0)--(xmax,0,0),dashed); + +xaxis3("$\mathop{\rm Re} z$",Bounds,InTicks); +yaxis3("$\mathop{\rm Im} z$",Bounds,InTicks(beginlabel=false)); +zaxis3("$|\sin(z)|$",Bounds,InTicks); diff --git a/Master/texmf-dist/doc/asymptote/examples/sinc.asy b/Master/texmf-dist/doc/asymptote/examples/sinc.asy new file mode 100644 index 00000000000..352585bdbe4 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/sinc.asy @@ -0,0 +1,24 @@ +import graph3; +import contour; + +currentprojection=orthographic(1,-2,1); +currentlight=White; + +size(12cm,0); + +real sinc(pair z) { + real r=2pi*abs(z); + return r != 0 ? sin(r)/r : 1; +} + +render render=render(compression=Low,merge=true); + +draw(lift(sinc,contour(sinc,(-2,-2),(2,2),new real[] {0})),red); +draw(surface(sinc,(-2,-2),(2,2),Spline),lightgray,render); + +draw(scale3(2*sqrt(2))*unitdisk,paleyellow+opacity(0.25),nolight,render); +draw(scale3(2*sqrt(2))*unitcircle3,red,render); + +xaxis3("$x$",Bounds,InTicks); +yaxis3("$y$",Bounds,InTicks(beginlabel=false)); +zaxis3("$z$",Bounds,InTicks); diff --git a/Master/texmf-dist/doc/asymptote/examples/sinxlex.asy b/Master/texmf-dist/doc/asymptote/examples/sinxlex.asy new file mode 100644 index 00000000000..912fa3c889b --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/sinxlex.asy @@ -0,0 +1,24 @@ +import geometry; + +size(0,100); +real theta=30; + +pair A=(0,0); +pair B=dir(theta); +pair C=(1,0); +pair D=(1,Tan(theta)); +pair E=(Cos(theta),0); + +filldraw(A--C{N}..B--cycle,lightgrey); +draw(B--C--D--cycle); +draw(B--E); + +draw("$x$",arc(C,A,B,0.7),RightSide,Arrow,PenMargin); + +dot("$A$",A,W); +dot("$B$",B,NW); +dot("$C$",C); +dot("$D$",D); +dot(("$E$"),E,S); +label("$1$",A--B,LeftSide); + diff --git a/Master/texmf-dist/doc/asymptote/examples/slidedemo.asy b/Master/texmf-dist/doc/asymptote/examples/slidedemo.asy new file mode 100644 index 00000000000..0cbd15af741 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/slidedemo.asy @@ -0,0 +1,118 @@ +// Slide demo. +// Command-line options to enable stepping and/or reverse video: +// asy [-u stepping=true] [-u reverse=true] [-u itemstep=true] slidedemo + +orientation=Landscape; + +import slide; +import three; + +viewportsize=pagewidth-2pagemargin; + +usersetting(); + +// Commands to generate optional bibtex citations: +// asy slidedemo +// bibtex slidedemo_ +// asy slidedemo +// +bibliographystyle("alpha"); + +// Generated needed files if they don't already exist. +asy(nativeformat(),"Pythagoras","log","PythagoreanTree"); +usepackage("mflogo"); + +// Optional background color or header: +// import x11colors; +// fill(background,box((-1,-1),(1,1)),Azure); +// label(background,"Header",(0,startposition.y)); + +titlepage(title="Slides with {\tt Asymptote}: A Demo", + author="John C. Bowman", + institution="University of Alberta", + date="\today", + url="http://asymptote.sf.net"); + +outline("Basic Commands"); +item("item"); +subitem("subitem"); +remark("remark"); +item("draw \cite{Hobby86,Knuth86b}"); +item("figure"); +item("embedded and external animations: see {\tt slidemovie.asy}"); + +title("Items"); +item("First item."); +subitem("First subitem."); +subitem("Second subitem."); +item("Second item."); +equation("a^2+b^2=c^2."); +equations("\frac{\sin^2\theta+\cos^2\theta}{\cos^2\theta} +&=&\frac{1}{\cos^2\theta}\nonumber\\ +&=&\sec^2\theta."); +remark("A remark."); +item("To enable pausing between bullets:"); +remark("{\tt asy -u stepping=true}"); +item("To enable reverse video:"); +remark("{\tt asy -u reverse=true}"); + +title("Can draw on a slide, preserving the aspect ratio:"); +picture pic,pic2; +draw(pic,unitcircle); +add(pic.fit(15cm)); +step(); +fill(pic2,unitcircle,paleblue); +label(pic2,"$\pi$",(0,0),fontsize(500pt)); +add(pic2.fit(15cm)); + +newslide(); +item("The slide \Red{title} \Green{can} \Blue{be} omitted."); +figure("Pythagoras","height=12cm", + "A simple proof of Pythagoras' Theorem."); + +newslide(); +item("Single skip:"); +skip(); +item("Double skip:"); +skip(2); +figure(new string[] {"log."+nativeformat(),"PythagoreanTree."+nativeformat()}, + "width=10cm",new string[] {"{\tt log.asy}","{\tt PythagoreanTree.asy}"}, + "Examples of {\tt Asymptote} output."); + +title("Embedded Interactive 3D Graphics"); +picture pic; +import graph3; +import solids; +viewportmargin=(0,1cm); +currentprojection=orthographic(1,0,10,up=Y); +pen color=green; +real alpha=-240; +real f(real x) {return sqrt(x);} +pair F(real x) {return (x,f(x));} +triple F3(real x) {return (x,f(x),0);} +path p=graph(pic,F,0,1,n=30,operator ..)--(1,0)--cycle; +path3 p3=path3(p); +revolution a=revolution(p3,X,alpha,0); +render render=render(compression=0,merge=true); +draw(pic,surface(a),color,render); +draw(pic,p3,blue); +surface s=surface(p); +draw(pic,s,color,render); +draw(pic,rotate(alpha,X)*s,color,render); +xaxis3(pic,Label("$x$",1),xmax=1.25,dashed,Arrow3); +yaxis3(pic,Label("$y$",1),Arrow3); +dot(pic,"$(1,1)$",(1,1,0)); +arrow(pic,"$y=\sqrt{x}$",F3(0.8),Y,0.75cm,red); +real r=0.4; +draw(pic,F3(r)--(1,f(r),0),red); +real x=(1+r)/2; +draw(pic,"$r$",(x,0,0)--(x,f(r),0),X+0.2Z,red,Arrow3); +draw(pic,arc(1.1X,0.4,90,90,3,-90),Arrow3); +add(pic.fit(0,14cm)); + +title("\mbox{Asymptote: 2D \& 3D Vector Graphics Language}"); +asyinclude("logo3"); +center("\tt http://asymptote.sf.net"); +center("(freely available under the LGPL license)"); + +bibliography("refs"); diff --git a/Master/texmf-dist/doc/asymptote/examples/slopefield1.asy b/Master/texmf-dist/doc/asymptote/examples/slopefield1.asy new file mode 100644 index 00000000000..fd60de4f632 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/slopefield1.asy @@ -0,0 +1,9 @@ +import slopefield; + +size(200); + +real func(real x) {return 2x;} +add(slopefield(func,(-3,-3),(3,3),20,Arrow)); +draw(curve((0,0),func,(-3,-3),(3,3)),red); + + diff --git a/Master/texmf-dist/doc/asymptote/examples/smoothelevation.asy b/Master/texmf-dist/doc/asymptote/examples/smoothelevation.asy new file mode 100644 index 00000000000..a7995b7079a --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/smoothelevation.asy @@ -0,0 +1,26 @@ +import graph3; +import grid3; +import palette; + +currentlight=Viewport; + +if(settings.render <= 0) settings.prc=false; + +currentprojection=orthographic(1,2,13); + +size(400,300,IgnoreAspect); + +real f(pair z) {return cos(2*pi*z.x)*sin(2*pi*z.y);} + +surface s=surface(f,(-1/2,-1/2),(1/2,1/2),20,Spline); +s.colors(palette(s.map(zpart),Rainbow())); + +draw(s); + +scale(true); + +xaxis3(Label("$x$",0.5),Bounds,InTicks); +yaxis3(Label("$y$",0.5),Bounds,InTicks); +zaxis3(Label("$z$",0.5),Bounds,InTicks(beginlabel=false)); + +grid3(XYZgrid); diff --git a/Master/texmf-dist/doc/asymptote/examples/soccerball.asy b/Master/texmf-dist/doc/asymptote/examples/soccerball.asy new file mode 100644 index 00000000000..a37063dbb29 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/soccerball.asy @@ -0,0 +1,87 @@ +import graph3; +size(400); +currentlight.background=palegreen; + +defaultrender=render(compression=Zero,merge=true); + +real c=(1+sqrt(5))/2; + +triple[] z={(c,1,0),(-c,1,0),(-c,-1,0),(c,-1,0)}; +triple[] x={(0,c,1),(0,-c,1),(0,-c,-1),(0,c,-1)}; +triple[] y={(1,0,c),(1,0,-c),(-1,0,-c),(-1,0,c)}; + +triple[][] Q={ + {z[0],y[1],x[3],x[0],y[0],z[3]}, + {z[1],x[0],x[3],y[2],z[2],y[3]}, + {z[2],z[1],y[2],x[2],x[1],y[3]}, + {z[3],z[0],y[0],x[1],x[2],y[1]}, + {x[0],x[3],z[1],y[3],y[0],z[0]}, + {x[1],x[2],z[2],y[3],y[0],z[3]}, + {x[2],x[1],z[3],y[1],y[2],z[2]}, + {x[3],x[0],z[0],y[1],y[2],z[1]}, + {y[0],y[3],x[1],z[3],z[0],x[0]}, + {y[1],y[2],x[2],z[3],z[0],x[3]}, + {y[2],y[1],x[3],z[1],z[2],x[2]}, + {y[3],y[0],x[0],z[1],z[2],x[1]} +}; + +path3 p=arc(O,Q[0][0],Q[0][1]); +real R=abs(point(p,reltime(p,1/3))); + +triple[][] P; +for(int i=0; i < Q.length; ++i){ + P[i]=new triple[] ; + for(int j=0; j < Q[i].length; ++j){ + P[i][j]=Q[i][j]/R; + } +} + +surface sphericaltriangle(triple center, triple A, triple B, triple C, + int nu=3, int nv=nu) { + path3 tri1=arc(center,A,B); + path3 tri2=arc(center,A,C); + path3 tri3=arc(center,B,C); + triple tri(pair p) { + path3 cr=arc(O,relpoint(tri2,p.x),relpoint(tri3,p.x)); + return relpoint(cr,p.y); + }; + + return surface(tri,(0,0),(1-sqrtEpsilon,1),nu,nv,Spline); +} + +for(int i=0; i < P.length; ++i){ + triple[] pentagon=sequence(new triple(int k) { + path3 p=arc(O,P[i][0],P[i][k+1]); + return point(p,reltime(p,1/3)); + },5); + pentagon.cyclic=true; + draw(sequence(new path3(int k) { + return arc(O,pentagon[k],pentagon[k+1]);},5),linewidth(2pt)); + triple M=unit(sum(pentagon)/5); + for(int i=0; i < 5; ++i){ + surface sf=sphericaltriangle(O,pentagon[i],M,pentagon[i+1]); + draw(sf,black); + } +} + +for(int i=0; i < P.length; ++i){ + for(int j=1; j <= 5; ++j){ + triple K=P[i][0]; + triple A=P[i][j]; + triple B=P[i][(j % 5)+1]; + path3[] p={arc(O,K,A),arc(O,A,B),arc(O,B,K)}; + draw(subpath(p[0],reltime(p[0],1/3),reltime(p[0],2/3)),linewidth(4pt)); + triple[] hexagon={point(p[0],reltime(p[0],1/3)), + point(p[0],reltime(p[0],2/3)), + point(p[1],reltime(p[1],1/3)), + point(p[1],reltime(p[1],2/3)), + point(p[2],reltime(p[2],1/3)), + point(p[2],reltime(p[2],2/3))}; + hexagon.cyclic=true; + triple M=unit(sum(hexagon)/6); + for(int i=0; i < 6; ++i){ + surface sf=sphericaltriangle(O,hexagon[i],M,hexagon[i+1]); + draw(sf,white); + } + } +} diff --git a/Master/texmf-dist/doc/asymptote/examples/spectrum.asy b/Master/texmf-dist/doc/asymptote/examples/spectrum.asy new file mode 100644 index 00000000000..a5d576921cf --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/spectrum.asy @@ -0,0 +1,79 @@ +import graph; +usepackage("ocg"); +settings.tex="pdflatex"; + +// Dan Bruton algorithm +pen nm2rgb(real wl, real gamma=0.8, bool intensity=true) { + triple rgb; + if(wl >= 380 && wl <= 440) {rgb=((440-wl)/60,0,1);} + if(wl > 440 && wl <= 490) {rgb=(0,(wl-440)/50,1);} + if(wl > 490 && wl <= 510) {rgb=(0,1,(510-wl)/20);} + if(wl > 510 && wl <= 580) {rgb=((wl-510)/70,1,0);} + if(wl > 580 && wl <= 645) {rgb=(1,(645-wl)/65,0);} + if(wl > 645 && wl <= 780) {rgb=(1,0,0);} + + real Intensity=1; + if(intensity) { + if(wl >= 700) {Intensity=0.3+0.7*(780-wl)/80;} + else if(wl <= 420) {Intensity=0.3+0.7*(wl-380)/40;} + } + + return rgb((Intensity*rgb.x)**gamma,(Intensity*rgb.y)**gamma, + (Intensity*rgb.z)**gamma); +} + +real width=1; +real height=50; + +begin("spectrum"); +for(real i=380 ; i <= 780 ; i += width) { + draw((i,0)--(i,height),width+nm2rgb(wl=i,false)+squarecap); +} +begin("Extinction",false); // nested +for(real i=380 ; i <= 780 ; i += width) { + draw((i,0)--(i,height),width+nm2rgb(wl=i,true)+squarecap); +} +end(); +end(); + +begin("Wavelength"); +xaxis(scale(0.5)*"$\lambda$(nm)",BottomTop,380,780, + RightTicks(scale(0.5)*rotate(90)*Label(),step=2,Step=10),above=true); +end(); + +// From Astronomical Data Center(NASA) +// Neutral only +real[] Na={423.899, 424.208, 427.364, 427.679, 428.784, 429.101, + 432.14, 432.462, 434.149, 434.474, 439.003, 439.334, 441.989, 442.325, + 449.418, 449.766, 454.163, 454.519, 568.2633, 568.8204, 588.995, + 589.5924}; +begin("Na absorption"); +for(int i=0; i < Na.length; ++i) { + draw((Na[i],0)--(Na[i],height),0.1*width+squarecap); +} +end(); + +begin("Na emission"); +for(int i=0; i < Na.length; ++i) { + draw((Na[i],0)--(Na[i],-height),0.1*width+nm2rgb(Na[i],false)+squarecap); +} +end(); + +// Neutral only +real[] Zn={388.334, 396.543, 411.321, 429.288, 429.833, 462.981, + 468.014, 472.215, 481.053 , 506.866, 506.958, 518.198, 530.865, + 531.024, 531.102, 577.21, 577.55, 577.711, 623.79, 623.917, 636.234, + 647.918, 692.832, 693.847, 694.32, 779.936}; +begin("Zn absorption",false); +for(int i=0; i < Zn.length; ++i) { + draw((Zn[i],0)--(Zn[i],height),width+squarecap); +} +end(); + +begin("Zn emission",false); +for(int i=0; i < Zn.length; ++i) { + draw((Zn[i],0)--(Zn[i],-height),width+nm2rgb(Zn[i],false)+squarecap); +} +end(); + +shipout(bbox(2mm,Fill(white))); diff --git a/Master/texmf-dist/doc/asymptote/examples/sphere.asy b/Master/texmf-dist/doc/asymptote/examples/sphere.asy new file mode 100644 index 00000000000..8d1b5fe50cd --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/sphere.asy @@ -0,0 +1,6 @@ +import three; + +size(200); +currentprojection=orthographic(5,4,3); + +draw(unitsphere,green,render(compression=Zero,merge=true)); diff --git a/Master/texmf-dist/doc/asymptote/examples/spheresilhouette.asy b/Master/texmf-dist/doc/asymptote/examples/spheresilhouette.asy new file mode 100644 index 00000000000..795efb00660 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/spheresilhouette.asy @@ -0,0 +1,9 @@ +import solids; +settings.render=0; +settings.prc=false; + +size(200); + +revolution r=sphere(O,1); +draw(r,1,longitudinalpen=nullpen); +draw(r.silhouette()); diff --git a/Master/texmf-dist/doc/asymptote/examples/sphereskeleton.asy b/Master/texmf-dist/doc/asymptote/examples/sphereskeleton.asy new file mode 100644 index 00000000000..ca8b8c3d584 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/sphereskeleton.asy @@ -0,0 +1,9 @@ +size(100); +import solids; + +currentprojection=orthographic(5,4,2); + +revolution sphere=sphere(1); +draw(surface(sphere),green+opacity(0.2)); +draw(sphere,m=7,blue); + diff --git a/Master/texmf-dist/doc/asymptote/examples/sphericalharmonic.asy b/Master/texmf-dist/doc/asymptote/examples/sphericalharmonic.asy new file mode 100644 index 00000000000..9fbb16f624d --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/sphericalharmonic.asy @@ -0,0 +1,14 @@ +import graph3; +import palette; +size(200); + +currentprojection=orthographic(4,2,4); +currentlight=Viewport; + +real r(real theta, real phi) {return 1+0.5*(sin(2*theta)*sin(2*phi))^2;} + +triple f(pair z) {return r(z.x,z.y)*expi(z.x,z.y);} + +surface s=surface(f,(0,0),(pi,2pi),50,Spline); +s.colors(palette(s.map(abs),Gradient(yellow,red))); +draw(s,render(compression=Low,merge=true)); diff --git a/Master/texmf-dist/doc/asymptote/examples/spiral.asy b/Master/texmf-dist/doc/asymptote/examples/spiral.asy new file mode 100644 index 00000000000..a417ea06a7f --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/spiral.asy @@ -0,0 +1,12 @@ +size(0,150); +import graph; + +real f(real t) {return exp(-t/(2pi));} + +draw(polargraph(f,0,20*pi,operator ..)); + +xaxis("$x$",-infinity,1.3); +yaxis("$y$",-infinity,1); + +labelx(1); +labelx("$e^{-1}$",1.0/exp(1),SE); diff --git a/Master/texmf-dist/doc/asymptote/examples/spiral3.asy b/Master/texmf-dist/doc/asymptote/examples/spiral3.asy new file mode 100644 index 00000000000..727ca3f6d3a --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/spiral3.asy @@ -0,0 +1,20 @@ +import graph3; +import palette; + +size3(10cm); + +currentprojection=orthographic(5,4,2); +viewportmargin=(2cm,0); + +real r(real t) {return 3exp(-0.1*t);} +real x(real t) {return r(t)*cos(t);} +real y(real t) {return r(t)*sin(t);} +real z(real t) {return t;} + +path3 p=graph(x,y,z,0,6*pi,50,operator ..); + +tube T=tube(p,2); +surface s=T.s; +s.colors(palette(s.map(zpart),BWRainbow())); +draw(s,render(merge=true)); +draw(T.center,thin()); diff --git a/Master/texmf-dist/doc/asymptote/examples/spline.asy b/Master/texmf-dist/doc/asymptote/examples/spline.asy new file mode 100644 index 00000000000..9d79ef3a962 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/spline.asy @@ -0,0 +1,25 @@ +import graph; +import interpolate; + +size(15cm,15cm,IgnoreAspect); + +real a=1997, b=2002; +int n=5; +real[] xpt=a+sequence(n+1)*(b-a)/n; +real[] ypt={31,36,26,22,21,24}; +horner h=diffdiv(xpt,ypt); +fhorner L=fhorner(h); + +scale(false,true); + +pen p=linewidth(1); + +draw(graph(L,a,b),dashed+black+p,"Lagrange interpolation"); +draw(graph(xpt,ypt,Hermite(natural)),red+p,"natural spline"); +draw(graph(xpt,ypt,Hermite(monotonic)),blue+p,"monotone spline"); +xaxis("$x$",BottomTop,LeftTicks(Step=1,step=0.25)); +yaxis("$y$",LeftRight,RightTicks(Step=5)); + +dot(pairs(xpt,ypt),4bp+gray(0.3)); + +attach(legend(),point(10S),30S); diff --git a/Master/texmf-dist/doc/asymptote/examples/splitpatch.asy b/Master/texmf-dist/doc/asymptote/examples/splitpatch.asy new file mode 100644 index 00000000000..2e9fae66431 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/splitpatch.asy @@ -0,0 +1,87 @@ +import three; + +size(300); + +// A structure to subdivide two intersecting patches about their intersection. +struct split +{ + surface[] S=sequence(new surface(int i) {return new surface;},1); + surface[] T=sequence(new surface(int i) {return new surface;},1); + + struct tree { + tree[] tree=new tree[2]; + } + // Default subdivision depth. + int n=20; + + // Subdivide p and q to depth n if they overlap. + void write(tree pt, tree qt, triple[][] p, triple[][] q, int depth=n) { + --depth; + triple[][][] Split(triple[][] P)=depth % 2 == 0 ? hsplit : vsplit; + triple[][][] P=Split(p); + triple[][][] Q=Split(q); + + for(int i=0; i < 2; ++i) { + triple[][] Pi=P[i]; + for(int j=0; j < 2; ++j) { + triple[][] Qj=Q[j]; + if(overlap(Pi,Qj)) { + if(!pt.tree.initialized(i)) + pt.tree[i]=new tree; + if(!qt.tree.initialized(j)) + qt.tree[j]=new tree; + if(depth > 0) + write(pt.tree[i],qt.tree[j],Pi,Qj,depth); + } + } + } + } + + // Output the subpatches of p from subdivision. + void read(surface[] S, tree t, triple[][] p, int depth=n) { + --depth; + triple[][][] Split(triple[][] P)=depth % 2 == 0 ? hsplit : vsplit; + triple[][][] P=Split(p); + + for(int i=0; i < 2; ++i) { + if(t.tree.initialized(i)) + read(S,t.tree[i],P[i],depth); + else { + S[0].push(patch(P[i])); + } + } + } + + void operator init(triple[][] p, triple[][] q, int depth=n) { + tree ptrunk,qtrunk; + write(ptrunk,qtrunk,p,q,depth); + read(T,ptrunk,p,depth); + read(S,qtrunk,q,depth); + } +} + +currentprojection=orthographic(0,0,1); + +triple[][] A={ + {(0,0,0),(1,0,0),(1,0,0),(2,0,0)}, + {(0,4/3,0),(2/3,4/3,2),(4/3,4/3,2),(2,4/3,0)}, + {(0,2/3,0),(2/3,2/3,0),(4/3,2/3,0),(2,2/3,0)}, + {(0,2,0),(2/3,2,0),(4/3,2,0),(2,2,0)} +}; + +triple[][] B={ + {(0.5,0,-1),(0.5,1,-1),(0.5,2,-1),(0.5,3,-1)}, + {(0.5,0,0),(0.5,1,0),(0.5,2,0),(0.5,3,0)}, + {(0.5,0,1),(0.5,1,1),(0.5,2,1),(0.5,3,1)}, + {(0.5,0,2),(0.5,1,2),(0.5,2,2),(0.5,3,2)} +}; + +split S=split(B,A); + +defaultrender.merge=true; + +for(int i=0; i < S.S[0].s.length; ++i) + draw(surface(S.S[0].s[i]),Pen(i)); + +for(int i=0; i < S.T[0].s.length; ++i) + draw(surface(S.T[0].s[i]),Pen(i)); diff --git a/Master/texmf-dist/doc/asymptote/examples/spring.asy b/Master/texmf-dist/doc/asymptote/examples/spring.asy new file mode 100644 index 00000000000..cbfb256eee4 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/spring.asy @@ -0,0 +1,33 @@ +pair coilpoint(real lambda, real r, real t) +{ + return (2.0*lambda*t+r*cos(t),r*sin(t)); +} + +guide coil(guide g=nullpath, real lambda, real r, real a, real b, int n) +{ + real width=(b-a)/n; + for(int i=0; i <= n; ++i) { + real t=a+width*i; + g=g..coilpoint(lambda,r,t); + } + return g; +} + +void drawspring(real x, string label) { + real r=8; + real t1=-pi; + real t2=10*pi; + real lambda=(t2-t1+x)/(t2-t1); + pair b=coilpoint(lambda,r,t1); + pair c=coilpoint(lambda,r,t2); + pair a=b-20; + pair d=c+20; + + draw(a--b,BeginBar(2*barsize())); + draw(c--d); + draw(coil(lambda,r,t1,t2,100)); + dot(d); + + pair h=20*I; + draw(label,a-h--d-h,red,Arrow,Bars,PenMargin); +} diff --git a/Master/texmf-dist/doc/asymptote/examples/spring0.asy b/Master/texmf-dist/doc/asymptote/examples/spring0.asy new file mode 100644 index 00000000000..fd6cdf82938 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/spring0.asy @@ -0,0 +1,4 @@ +import spring; + +drawspring(0,"$L$"); + diff --git a/Master/texmf-dist/doc/asymptote/examples/spring2.asy b/Master/texmf-dist/doc/asymptote/examples/spring2.asy new file mode 100644 index 00000000000..e3eec5f39f5 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/spring2.asy @@ -0,0 +1,4 @@ +import spring; + +drawspring(40.0,"$L+x$"); + diff --git a/Master/texmf-dist/doc/asymptote/examples/sqrtx01.asy b/Master/texmf-dist/doc/asymptote/examples/sqrtx01.asy new file mode 100644 index 00000000000..4d2b0a45dce --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/sqrtx01.asy @@ -0,0 +1,25 @@ +import graph3; +import solids; +size(0,150); +currentprojection=perspective(1.5,0,10,Y); +pen color=green+opacity(0.75); + +real f(real x){return sqrt(x);} +pair F(real x){return (x,f(x));} +triple F3(real x){return (x,f(x),0);} + +path p=graph(F,0,1,n=20,operator ..); +path3 p3=path3(p); + +revolution a=revolution(p3,X,0,360); +draw(surface(a),color,render(compression=Low,merge=true)); +draw(p3,blue); + +real x=relpoint(p,0.5).x; + +xaxis3(Label("$x$",1),xmax=1.5,dashed,Arrow3); +yaxis3(Label("$y$",1),Arrow3); +dot(Label("$(1,1)$"),(1,1,0)); +arrow(Label("$y=\sqrt{x}$"),F3(0.7),Y,0.75cm,red); +draw(arc(1.2X,0.4,90,90,175,-40,CW),Arrow3); +draw("$r$",(x,0,0)--F3(x),red,Arrow3,PenMargin3); diff --git a/Master/texmf-dist/doc/asymptote/examples/sqrtx01y1.asy b/Master/texmf-dist/doc/asymptote/examples/sqrtx01y1.asy new file mode 100644 index 00000000000..dcb247f572e --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/sqrtx01y1.asy @@ -0,0 +1,25 @@ +import graph3; +import solids; +size(0,150); +currentprojection=perspective(0,1,10,up=Y); +currentlight=White; + +real f(real x) {return sqrt(x);} +pair F(real x) {return (x,f(x));} +triple F3(real x) {return (x,f(x),0);} + +path p=graph(F,0,1,n=25,operator ..); +path3 p3=path3(p); + +revolution a=revolution(p3,Y,0,360); +draw(surface(a),green,render(compression=Low,merge=true)); +draw(p3,blue); + +xtick((0,0,0)); +xtick((1,0,0)); + +xaxis3(Label("$x$",1),Arrow3); +yaxis3(Label("$y$",1),ymax=1.5,dashed,Arrow3); +dot(Label("$(1,1)$"),(1,1,0)); +arrow("$y=\sqrt{x}$",F3(0.5),X,0.75cm,red); +draw(arc(1.2Y,0.3,90,0,7.5,140),Arrow3); diff --git a/Master/texmf-dist/doc/asymptote/examples/square.asy b/Master/texmf-dist/doc/asymptote/examples/square.asy new file mode 100644 index 00000000000..6fd9d2314d7 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/square.asy @@ -0,0 +1,2 @@ +size(3cm); +draw((0,0)--(1,0)--(1,1)--(0,1)--cycle); diff --git a/Master/texmf-dist/doc/asymptote/examples/star.asy b/Master/texmf-dist/doc/asymptote/examples/star.asy new file mode 100644 index 00000000000..3a7afb2529b --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/star.asy @@ -0,0 +1,13 @@ +size(100); +import math; + +int n=5; +path p; + +int i=0; +do { + p=p--unityroot(n,i); + i=(i+2) % n; +} while(i != 0); + +filldraw(p--cycle,red+evenodd); diff --git a/Master/texmf-dist/doc/asymptote/examples/stereoscopic.asy b/Master/texmf-dist/doc/asymptote/examples/stereoscopic.asy new file mode 100644 index 00000000000..639333ec476 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/stereoscopic.asy @@ -0,0 +1,11 @@ +import three; + +currentprojection=perspective(50*dir(70,15)); + +picture pic; +unitsize(pic,1cm); + +draw(pic,xscale3(10)*unitcube,yellow,blue); + +addStereoViews(pic); + diff --git a/Master/texmf-dist/doc/asymptote/examples/stroke3.asy b/Master/texmf-dist/doc/asymptote/examples/stroke3.asy new file mode 100644 index 00000000000..75824d41dd3 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/stroke3.asy @@ -0,0 +1,4 @@ +import three; +size(5cm); + +draw(O--X,red+1cm,currentlight); diff --git a/Master/texmf-dist/doc/asymptote/examples/strokepath.asy b/Master/texmf-dist/doc/asymptote/examples/strokepath.asy new file mode 100644 index 00000000000..c857150ec58 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/strokepath.asy @@ -0,0 +1,17 @@ +path g=scale(100)*unitcircle; +pen p=linewidth(1cm); + +frame f; +// Equivalent to draw(f,g,p): +fill(f,strokepath(g,p),red); +shipout("strokepathframe",f); +shipped=false; + +size(400); + +// Equivalent to draw(g,p): +add(new void(frame f, transform t) { + fill(f,strokepath(t*g,p),red); + }); +currentpicture.addPath(g,p); + diff --git a/Master/texmf-dist/doc/asymptote/examples/strokeshade.asy b/Master/texmf-dist/doc/asymptote/examples/strokeshade.asy new file mode 100644 index 00000000000..f9413091d1c --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/strokeshade.asy @@ -0,0 +1,4 @@ +size(100); +guide g=(0,0)..controls(70,30) and (-40,30)..(30,0); +latticeshade(g,stroke=true,linewidth(10), + new pen[][] {{red,orange,yellow},{green,blue,purple}}); diff --git a/Master/texmf-dist/doc/asymptote/examples/subpictures.asy b/Master/texmf-dist/doc/asymptote/examples/subpictures.asy new file mode 100644 index 00000000000..1ace23f5678 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/subpictures.asy @@ -0,0 +1,20 @@ +picture pic1; +real size=50; +size(pic1,size); +fill(pic1,(0,0)--(50,100)--(100,0)--cycle,red); + +picture pic2; +size(pic2,size); +fill(pic2,unitcircle,green); + +picture pic3; +size(pic3,size); +fill(pic3,unitsquare,blue); + +picture pic; +add(pic,pic1.fit(),(0,0),N); +add(pic,pic2.fit(),(0,0),10S); + +add(pic.fit(),(0,0),N); +add(pic3.fit(),(0,0),10S); + diff --git a/Master/texmf-dist/doc/asymptote/examples/superpath.asy b/Master/texmf-dist/doc/asymptote/examples/superpath.asy new file mode 100644 index 00000000000..ec2787a9ce0 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/superpath.asy @@ -0,0 +1,5 @@ +size(0,100); +path unitcircle=E..N..W..S..cycle; +path g=scale(2)*unitcircle; +filldraw(unitcircle^^g,evenodd+yellow,black); + diff --git a/Master/texmf-dist/doc/asymptote/examples/tanh.asy b/Master/texmf-dist/doc/asymptote/examples/tanh.asy new file mode 100644 index 00000000000..21d4decb1a6 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/tanh.asy @@ -0,0 +1,13 @@ +import graph; +size(100,0); + +real f(real x) {return tanh(x);} +pair F(real x) {return (x,f(x));} + +xaxis("$x$"); +yaxis("$y$"); + +draw(graph(f,-2.5,2.5,operator ..)); + +label("$\tanh x$",F(1.5),1.25*N); + diff --git a/Master/texmf-dist/doc/asymptote/examples/teapot.asy b/Master/texmf-dist/doc/asymptote/examples/teapot.asy new file mode 100644 index 00000000000..401ecec5ab9 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/teapot.asy @@ -0,0 +1,172 @@ +import three; + +size(20cm); + +currentprojection=perspective(250,-250,250); +currentlight=Viewport; + +triple[][][] Q={ + { + {(39.68504,0,68.0315),(37.91339,0,71.75197),(40.74803,0,71.75197),(42.51969,0,68.0315)}, + {(39.68504,-22.22362,68.0315),(37.91339,-21.2315,71.75197),(40.74803,-22.8189,71.75197),(42.51969,-23.81102,68.0315)}, + {(22.22362,-39.68504,68.0315),(21.2315,-37.91339,71.75197),(22.8189,-40.74803,71.75197),(23.81102,-42.51969,68.0315)}, + {(0,-39.68504,68.0315),(0,-37.91339,71.75197),(0,-40.74803,71.75197),(0,-42.51969,68.0315)} + },{ + {(0,-39.68504,68.0315),(0,-37.91339,71.75197),(0,-40.74803,71.75197),(0,-42.51969,68.0315)}, + {(-22.22362,-39.68504,68.0315),(-21.2315,-37.91339,71.75197),(-22.8189,-40.74803,71.75197),(-23.81102,-42.51969,68.0315)}, + {(-39.68504,-22.22362,68.0315),(-37.91339,-21.2315,71.75197),(-40.74803,-22.8189,71.75197),(-42.51969,-23.81102,68.0315)}, + {(-39.68504,0,68.0315),(-37.91339,0,71.75197),(-40.74803,0,71.75197),(-42.51969,0,68.0315)} + },{ + {(-39.68504,0,68.0315),(-37.91339,0,71.75197),(-40.74803,0,71.75197),(-42.51969,0,68.0315)}, + {(-39.68504,22.22362,68.0315),(-37.91339,21.2315,71.75197),(-40.74803,22.8189,71.75197),(-42.51969,23.81102,68.0315)}, + {(-22.22362,39.68504,68.0315),(-21.2315,37.91339,71.75197),(-22.8189,40.74803,71.75197),(-23.81102,42.51969,68.0315)}, + {(0,39.68504,68.0315),(0,37.91339,71.75197),(0,40.74803,71.75197),(0,42.51969,68.0315)} + },{ + {(0,39.68504,68.0315),(0,37.91339,71.75197),(0,40.74803,71.75197),(0,42.51969,68.0315)}, + {(22.22362,39.68504,68.0315),(21.2315,37.91339,71.75197),(22.8189,40.74803,71.75197),(23.81102,42.51969,68.0315)}, + {(39.68504,22.22362,68.0315),(37.91339,21.2315,71.75197),(40.74803,22.8189,71.75197),(42.51969,23.81102,68.0315)}, + {(39.68504,0,68.0315),(37.91339,0,71.75197),(40.74803,0,71.75197),(42.51969,0,68.0315)} + },{ + {(42.51969,0,68.0315),(49.60629,0,53.1496),(56.69291,0,38.26771),(56.69291,0,25.51181)}, + {(42.51969,-23.81102,68.0315),(49.60629,-27.77952,53.1496),(56.69291,-31.74803,38.26771),(56.69291,-31.74803,25.51181)}, + {(23.81102,-42.51969,68.0315),(27.77952,-49.60629,53.1496),(31.74803,-56.69291,38.26771),(31.74803,-56.69291,25.51181)}, + {(0,-42.51969,68.0315),(0,-49.60629,53.1496),(0,-56.69291,38.26771),(0,-56.69291,25.51181)} + },{ + {(0,-42.51969,68.0315),(0,-49.60629,53.1496),(0,-56.69291,38.26771),(0,-56.69291,25.51181)}, + {(-23.81102,-42.51969,68.0315),(-27.77952,-49.60629,53.1496),(-31.74803,-56.69291,38.26771),(-31.74803,-56.69291,25.51181)}, + {(-42.51969,-23.81102,68.0315),(-49.60629,-27.77952,53.1496),(-56.69291,-31.74803,38.26771),(-56.69291,-31.74803,25.51181)}, + {(-42.51969,0,68.0315),(-49.60629,0,53.1496),(-56.69291,0,38.26771),(-56.69291,0,25.51181)} + },{ + {(-42.51969,0,68.0315),(-49.60629,0,53.1496),(-56.69291,0,38.26771),(-56.69291,0,25.51181)}, + {(-42.51969,23.81102,68.0315),(-49.60629,27.77952,53.1496),(-56.69291,31.74803,38.26771),(-56.69291,31.74803,25.51181)}, + {(-23.81102,42.51969,68.0315),(-27.77952,49.60629,53.1496),(-31.74803,56.69291,38.26771),(-31.74803,56.69291,25.51181)}, + {(0,42.51969,68.0315),(0,49.60629,53.1496),(0,56.69291,38.26771),(0,56.69291,25.51181)} + },{ + {(0,42.51969,68.0315),(0,49.60629,53.1496),(0,56.69291,38.26771),(0,56.69291,25.51181)}, + {(23.81102,42.51969,68.0315),(27.77952,49.60629,53.1496),(31.74803,56.69291,38.26771),(31.74803,56.69291,25.51181)}, + {(42.51969,23.81102,68.0315),(49.60629,27.77952,53.1496),(56.69291,31.74803,38.26771),(56.69291,31.74803,25.51181)}, + {(42.51969,0,68.0315),(49.60629,0,53.1496),(56.69291,0,38.26771),(56.69291,0,25.51181)} + },{ + {(56.69291,0,25.51181),(56.69291,0,12.7559),(42.51969,0,6.377957),(42.51969,0,4.251961)}, + {(56.69291,-31.74803,25.51181),(56.69291,-31.74803,12.7559),(42.51969,-23.81102,6.377957),(42.51969,-23.81102,4.251961)}, + {(31.74803,-56.69291,25.51181),(31.74803,-56.69291,12.7559),(23.81102,-42.51969,6.377957),(23.81102,-42.51969,4.251961)}, + {(0,-56.69291,25.51181),(0,-56.69291,12.7559),(0,-42.51969,6.377957),(0,-42.51969,4.251961)} + },{ + {(0,-56.69291,25.51181),(0,-56.69291,12.7559),(0,-42.51969,6.377957),(0,-42.51969,4.251961)}, + {(-31.74803,-56.69291,25.51181),(-31.74803,-56.69291,12.7559),(-23.81102,-42.51969,6.377957),(-23.81102,-42.51969,4.251961)}, + {(-56.69291,-31.74803,25.51181),(-56.69291,-31.74803,12.7559),(-42.51969,-23.81102,6.377957),(-42.51969,-23.81102,4.251961)}, + {(-56.69291,0,25.51181),(-56.69291,0,12.7559),(-42.51969,0,6.377957),(-42.51969,0,4.251961)} + },{ + {(-56.69291,0,25.51181),(-56.69291,0,12.7559),(-42.51969,0,6.377957),(-42.51969,0,4.251961)}, + {(-56.69291,31.74803,25.51181),(-56.69291,31.74803,12.7559),(-42.51969,23.81102,6.377957),(-42.51969,23.81102,4.251961)}, + {(-31.74803,56.69291,25.51181),(-31.74803,56.69291,12.7559),(-23.81102,42.51969,6.377957),(-23.81102,42.51969,4.251961)}, + {(0,56.69291,25.51181),(0,56.69291,12.7559),(0,42.51969,6.377957),(0,42.51969,4.251961)} + },{ + {(0,56.69291,25.51181),(0,56.69291,12.7559),(0,42.51969,6.377957),(0,42.51969,4.251961)}, + {(31.74803,56.69291,25.51181),(31.74803,56.69291,12.7559),(23.81102,42.51969,6.377957),(23.81102,42.51969,4.251961)}, + {(56.69291,31.74803,25.51181),(56.69291,31.74803,12.7559),(42.51969,23.81102,6.377957),(42.51969,23.81102,4.251961)}, + {(56.69291,0,25.51181),(56.69291,0,12.7559),(42.51969,0,6.377957),(42.51969,0,4.251961)} + },{ + {(-45.35433,0,57.40157),(-65.19685,0,57.40157),(-76.53543,0,57.40157),(-76.53543,0,51.02362)}, + {(-45.35433,-8.503932,57.40157),(-65.19685,-8.503932,57.40157),(-76.53543,-8.503932,57.40157),(-76.53543,-8.503932,51.02362)}, + {(-42.51969,-8.503932,63.77952),(-70.86614,-8.503932,63.77952),(-85.03937,-8.503932,63.77952),(-85.03937,-8.503932,51.02362)}, + {(-42.51969,0,63.77952),(-70.86614,0,63.77952),(-85.03937,0,63.77952),(-85.03937,0,51.02362)} + },{ + {(-42.51969,0,63.77952),(-70.86614,0,63.77952),(-85.03937,0,63.77952),(-85.03937,0,51.02362)}, + {(-42.51969,8.503932,63.77952),(-70.86614,8.503932,63.77952),(-85.03937,8.503932,63.77952),(-85.03937,8.503932,51.02362)}, + {(-45.35433,8.503932,57.40157),(-65.19685,8.503932,57.40157),(-76.53543,8.503932,57.40157),(-76.53543,8.503932,51.02362)}, + {(-45.35433,0,57.40157),(-65.19685,0,57.40157),(-76.53543,0,57.40157),(-76.53543,0,51.02362)} + },{ + {(-76.53543,0,51.02362),(-76.53543,0,44.64566),(-70.86614,0,31.88976),(-56.69291,0,25.51181)}, + {(-76.53543,-8.503932,51.02362),(-76.53543,-8.503932,44.64566),(-70.86614,-8.503932,31.88976),(-56.69291,-8.503932,25.51181)}, + {(-85.03937,-8.503932,51.02362),(-85.03937,-8.503932,38.26771),(-75.11811,-8.503932,26.5748),(-53.85826,-8.503932,17.00787)}, + {(-85.03937,0,51.02362),(-85.03937,0,38.26771),(-75.11811,0,26.5748),(-53.85826,0,17.00787)} + },{ + {(-85.03937,0,51.02362),(-85.03937,0,38.26771),(-75.11811,0,26.5748),(-53.85826,0,17.00787)}, + {(-85.03937,8.503932,51.02362),(-85.03937,8.503932,38.26771),(-75.11811,8.503932,26.5748),(-53.85826,8.503932,17.00787)}, + {(-76.53543,8.503932,51.02362),(-76.53543,8.503932,44.64566),(-70.86614,8.503932,31.88976),(-56.69291,8.503932,25.51181)}, + {(-76.53543,0,51.02362),(-76.53543,0,44.64566),(-70.86614,0,31.88976),(-56.69291,0,25.51181)} + },{ + {(48.18897,0,40.3937),(73.70078,0,40.3937),(65.19685,0,59.52755),(76.53543,0,68.0315)}, + {(48.18897,-18.70866,40.3937),(73.70078,-18.70866,40.3937),(65.19685,-7.086619,59.52755),(76.53543,-7.086619,68.0315)}, + {(48.18897,-18.70866,17.00787),(87.87401,-18.70866,23.38582),(68.0315,-7.086619,57.40157),(93.5433,-7.086619,68.0315)}, + {(48.18897,0,17.00787),(87.87401,0,23.38582),(68.0315,0,57.40157),(93.5433,0,68.0315)} + },{ + {(48.18897,0,17.00787),(87.87401,0,23.38582),(68.0315,0,57.40157),(93.5433,0,68.0315)}, + {(48.18897,18.70866,17.00787),(87.87401,18.70866,23.38582),(68.0315,7.086619,57.40157),(93.5433,7.086619,68.0315)}, + {(48.18897,18.70866,40.3937),(73.70078,18.70866,40.3937),(65.19685,7.086619,59.52755),(76.53543,7.086619,68.0315)}, + {(48.18897,0,40.3937),(73.70078,0,40.3937),(65.19685,0,59.52755),(76.53543,0,68.0315)} + },{ + {(76.53543,0,68.0315),(79.37007,0,70.15748),(82.20472,0,70.15748),(79.37007,0,68.0315)}, + {(76.53543,-7.086619,68.0315),(79.37007,-7.086619,70.15748),(82.20472,-4.251961,70.15748),(79.37007,-4.251961,68.0315)}, + {(93.5433,-7.086619,68.0315),(99.92125,-7.086619,70.68897),(97.79527,-4.251961,71.22047),(90.70866,-4.251961,68.0315)}, + {(93.5433,0,68.0315),(99.92125,0,70.68897),(97.79527,0,71.22047),(90.70866,0,68.0315)} + },{ + {(93.5433,0,68.0315),(99.92125,0,70.68897),(97.79527,0,71.22047),(90.70866,0,68.0315)}, + {(93.5433,7.086619,68.0315),(99.92125,7.086619,70.68897),(97.79527,4.251961,71.22047),(90.70866,4.251961,68.0315)}, + {(76.53543,7.086619,68.0315),(79.37007,7.086619,70.15748),(82.20472,4.251961,70.15748),(79.37007,4.251961,68.0315)}, + {(76.53543,0,68.0315),(79.37007,0,70.15748),(82.20472,0,70.15748),(79.37007,0,68.0315)} + },{ + {(0,0,89.29133),(22.67716,0,89.29133),(0,0,80.7874),(5.669294,0,76.53543)}, + {(0,0,89.29133),(22.67716,-12.7559,89.29133),(0,0,80.7874),(5.669294,-3.174809,76.53543)}, + {(0,0,89.29133),(12.7559,-22.67716,89.29133),(0,0,80.7874),(3.174809,-5.669294,76.53543)}, + {(0,0,89.29133),(0,-22.67716,89.29133),(0,0,80.7874),(0,-5.669294,76.53543)} + },{ + {(0,0,89.29133),(0,-22.67716,89.29133),(0,0,80.7874),(0,-5.669294,76.53543)}, + {(0,0,89.29133),(-12.7559,-22.67716,89.29133),(0,0,80.7874),(-3.174809,-5.669294,76.53543)}, + {(0,0,89.29133),(-22.67716,-12.7559,89.29133),(0,0,80.7874),(-5.669294,-3.174809,76.53543)}, + {(0,0,89.29133),(-22.67716,0,89.29133),(0,0,80.7874),(-5.669294,0,76.53543)} + },{ + {(0,0,89.29133),(-22.67716,0,89.29133),(0,0,80.7874),(-5.669294,0,76.53543)}, + {(0,0,89.29133),(-22.67716,12.7559,89.29133),(0,0,80.7874),(-5.669294,3.174809,76.53543)}, + {(0,0,89.29133),(-12.7559,22.67716,89.29133),(0,0,80.7874),(-3.174809,5.669294,76.53543)}, + {(0,0,89.29133),(0,22.67716,89.29133),(0,0,80.7874),(0,5.669294,76.53543)} + },{ + {(0,0,89.29133),(0,22.67716,89.29133),(0,0,80.7874),(0,5.669294,76.53543)}, + {(0,0,89.29133),(12.7559,22.67716,89.29133),(0,0,80.7874),(3.174809,5.669294,76.53543)}, + {(0,0,89.29133),(22.67716,12.7559,89.29133),(0,0,80.7874),(5.669294,3.174809,76.53543)}, + {(0,0,89.29133),(22.67716,0,89.29133),(0,0,80.7874),(5.669294,0,76.53543)} + },{ + {(5.669294,0,76.53543),(11.33858,0,72.28346),(36.85039,0,72.28346),(36.85039,0,68.0315)}, + {(5.669294,-3.174809,76.53543),(11.33858,-6.349609,72.28346),(36.85039,-20.63622,72.28346),(36.85039,-20.63622,68.0315)}, + {(3.174809,-5.669294,76.53543),(6.349609,-11.33858,72.28346),(20.63622,-36.85039,72.28346),(20.63622,-36.85039,68.0315)}, + {(0,-5.669294,76.53543),(0,-11.33858,72.28346),(0,-36.85039,72.28346),(0,-36.85039,68.0315)} + },{ + {(0,-5.669294,76.53543),(0,-11.33858,72.28346),(0,-36.85039,72.28346),(0,-36.85039,68.0315)}, + {(-3.174809,-5.669294,76.53543),(-6.349609,-11.33858,72.28346),(-20.63622,-36.85039,72.28346),(-20.63622,-36.85039,68.0315)}, + {(-5.669294,-3.174809,76.53543),(-11.33858,-6.349609,72.28346),(-36.85039,-20.63622,72.28346),(-36.85039,-20.63622,68.0315)}, + {(-5.669294,0,76.53543),(-11.33858,0,72.28346),(-36.85039,0,72.28346),(-36.85039,0,68.0315)}, + },{ + {(-5.669294,0,76.53543),(-11.33858,0,72.28346),(-36.85039,0,72.28346),(-36.85039,0,68.0315)}, + {(-5.669294,3.174809,76.53543),(-11.33858,6.349609,72.28346),(-36.85039,20.63622,72.28346),(-36.85039,20.63622,68.0315)}, + {(-3.174809,5.669294,76.53543),(-6.349609,11.33858,72.28346),(-20.63622,36.85039,72.28346),(-20.63622,36.85039,68.0315)}, + {(0,5.669294,76.53543),(0,11.33858,72.28346),(0,36.85039,72.28346),(0,36.85039,68.0315)} + },{ + {(0,5.669294,76.53543),(0,11.33858,72.28346),(0,36.85039,72.28346),(0,36.85039,68.0315)}, + {(3.174809,5.669294,76.53543),(6.349609,11.33858,72.28346),(20.63622,36.85039,72.28346),(20.63622,36.85039,68.0315)}, + {(5.669294,3.174809,76.53543),(11.33858,6.349609,72.28346),(36.85039,20.63622,72.28346),(36.85039,20.63622,68.0315)}, + {(5.669294,0,76.53543),(11.33858,0,72.28346),(36.85039,0,72.28346),(36.85039,0,68.0315)}, + },{ + {(0,0,0),(40.3937,0,0),(42.51969,0,2.12598),(42.51969,0,4.251961)}, + {(0,0,0),(40.3937,22.62047,0),(42.51969,23.81102,2.12598),(42.51969,23.81102,4.251961)}, + {(0,0,0),(22.62047,40.3937,0),(23.81102,42.51969,2.12598),(23.81102,42.51969,4.251961)}, + {(0,0,0),(0,40.3937,0),(0,42.51969,2.12598),(0,42.51969,4.251961)} + },{ + {(0,0,0),(0,40.3937,0),(0,42.51969,2.12598),(0,42.51969,4.251961)}, + {(0,0,0),(-22.62047,40.3937,0),(-23.81102,42.51969,2.12598),(-23.81102,42.51969,4.251961)}, + {(0,0,0),(-40.3937,22.62047,0),(-42.51969,23.81102,2.12598),(-42.51969,23.81102,4.251961)}, + {(0,0,0),(-40.3937,0,0),(-42.51969,0,2.12598),(-42.51969,0,4.251961)} + },{ + {(0,0,0),(-40.3937,0,0),(-42.51969,0,2.12598),(-42.51969,0,4.251961)}, + {(0,0,0),(-40.3937,-22.62047,0),(-42.51969,-23.81102,2.12598),(-42.51969,-23.81102,4.251961)}, + {(0,0,0),(-22.62047,-40.3937,0),(-23.81102,-42.51969,2.12598),(-23.81102,-42.51969,4.251961)}, + {(0,0,0),(0,-40.3937,0),(0,-42.51969,2.12598),(0,-42.51969,4.251961)} + },{ + {(0,0,0),(0,-40.3937,0),(0,-42.51969,2.12598),(0,-42.51969,4.251961)}, + {(0,0,0),(22.62047,-40.3937,0),(23.81102,-42.51969,2.12598),(23.81102,-42.51969,4.251961)}, + {(0,0,0),(40.3937,-22.62047,0),(42.51969,-23.81102,2.12598),(42.51969,-23.81102,4.251961)}, + {(0,0,0),(40.3937,0,0),(42.51969,0,2.12598),(42.51969,0,4.251961)} + } +}; + +draw(surface(Q),blue,render(compression=Low)); diff --git a/Master/texmf-dist/doc/asymptote/examples/tensor.asy b/Master/texmf-dist/doc/asymptote/examples/tensor.asy new file mode 100644 index 00000000000..19b1e087658 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/tensor.asy @@ -0,0 +1,9 @@ +size(200); + +pen[][] p={{red,green,blue,cyan},{blue,green,magenta,rgb(black)}}; +path G=(0,0){dir(-120)}..(1,0)..(1,1)..(0,1)..cycle; +path[] g={G,subpath(G,2,1)..(2,0)..(2,1)..cycle}; +pair[][] z={{(0.5,0.5),(0.5,0.5),(0.5,0.5),(0.5,0.5)},{(2,0.5),(2,0.5),(1.5,0.5),(2,0.5)}}; +tensorshade(g,p,z); + +dot(g); diff --git a/Master/texmf-dist/doc/asymptote/examples/textpath.asy b/Master/texmf-dist/doc/asymptote/examples/textpath.asy new file mode 100644 index 00000000000..1fc105364be --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/textpath.asy @@ -0,0 +1,10 @@ +size(300); + +fill(texpath(Label("test",TimesRoman())),pink); +fill(texpath(Label("test",fontcommand('.fam T\n.ps 12')),tex=false),red); + +pair z=10S; + +fill(texpath(Label("$ \sqrt{x^2} $",z,TimesRoman())),pink); +fill(texpath(Label("$ sqrt {x sup 2} $",z,fontcommand('.fam T\n.ps 12')), + tex=false),red); diff --git a/Master/texmf-dist/doc/asymptote/examples/thermodynamics.asy b/Master/texmf-dist/doc/asymptote/examples/thermodynamics.asy new file mode 100644 index 00000000000..cfcc3d0e98e --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/thermodynamics.asy @@ -0,0 +1,131 @@ +// example file for roundedpath() in roundedpath.asy +// written by stefan knorr + + +// import needed packages +import roundedpath; + +// function definition +picture CreateKOOS(real Scale, string legend) // draw labeled coordinate system as picture +{ + picture ReturnPic; + real S = 1.2*Scale; + draw(ReturnPic, ((-S,0)--(S,0)), bar = EndArrow); // x axis + draw(ReturnPic, ((0,-S)--(0,S)), bar = EndArrow); // y axis + label(ReturnPic, "$\varepsilon$", (S,0), SW); // x axis label + label(ReturnPic, "$\sigma$", (0,S), SW); // y axis label + label(ReturnPic, legend, (0.7S, -S), NW); // add label 'legend' + return ReturnPic; // return picture +} + + +// some global definitions +real S = 13mm; // universal scale factor for the whole file +real grad = 0.25; // gradient for lines +real radius = 0.04; // radius for the rounded path' +real lw = 2; // linewidth +pair A = (-1, -1); // start point for graphs +pair E = ( 1, 1); // end point for graphs +path graph; // local graph +pen ActPen; // actual pen for each drawing +picture T[]; // vector of all four diagrams +real inc = 2.8; // increment-offset for combining pictures + +//////////////////////////////////////// 1st diagram +T[1] = CreateKOOS(S, "$T_1$"); // initialise T[1] as empty diagram with label $T_1$ +graph = A; // # pointwise definition of current path 'graph' +graph = graph -- (A.x + grad*1.6, A.y + 1.6); // # +graph = graph -- (E.x - grad*0.4, E.y - 0.4); // # +graph = graph -- E; // # + +graph = roundedpath(graph, radius, S); // round edges of 'graph' using roundedpath() in roundedpath.asy +ActPen = rgb(0,0,0.6) + linewidth(lw); // define pen for drawing in 1st diagram +draw(T[1], graph, ActPen); // draw 'graph' with 'ActPen' into 'T[1]' (1st hysteresis branch) +draw(T[1], rotate(180,(0,0))*graph, ActPen); // draw rotated 'graph' (2nd hysteresis branch) + +graph = (0,0) -- (grad*0.6, 0.6) -- ( (grad*0.6, 0.6) + (0.1, 0) ); // define branch from origin to hysteresis +graph = roundedpath(graph, radius, S); // round this path +draw(T[1], graph, ActPen); // draw this path into 'T[1]' + + +//////////////////////////////////////// 2nd diagram +T[2] = CreateKOOS(S, "$T_2$"); // initialise T[2] as empty diagram with label $T_2$ +graph = A; // # pointwise definition of current path 'graph' +graph = graph -- (A.x + grad*1.3, A.y + 1.3); // # +graph = graph -- (E.x - grad*0.7 , E.y - 0.7); // # +graph = graph -- E; // # + +graph = roundedpath(graph, radius, S); // round edges of 'graph' using roundedpath() in roundedpath.asy +ActPen = rgb(0.2,0,0.4) + linewidth(lw); // define pen for drawing in 2nd diagram +draw(T[2], graph, ActPen); // draw 'graph' with 'ActPen' into 'T[2]' (1st hysteresis branch) +draw(T[2], rotate(180,(0,0))*graph, ActPen); // draw rotated 'graph' (2nd hysteresis branch) + +graph = (0,0) -- (grad*0.3, 0.3) -- ( (grad*0.3, 0.3) + (0.1, 0) ); // define branch from origin to hysteresis +graph = roundedpath(graph, radius, S); // round this path +draw(T[2], graph, ActPen); // draw this path into 'T[2]' + + +//////////////////////////////////////// 3rd diagram +T[3] = CreateKOOS(S, "$T_3$"); // initialise T[3] as empty diagram with label $T_3$ +graph = A; // # pointwise definition of current path 'graph' +graph = graph -- (A.x + grad*0.7, A.y + 0.7); // # +graph = graph -- ( - grad*0.3 , - 0.3); // # +graph = graph -- (0,0); // # +graph = graph -- (grad*0.6, 0.6); // # +graph = graph -- (E.x - grad*0.4, E.y - 0.4); // # +graph = graph -- E; // # + +graph = roundedpath(graph, radius, S); // round edges of 'graph' using roundedpath() in roundedpath.asy +ActPen = rgb(0.6,0,0.2) + linewidth(lw); // define pen for drawing in 3rd diagram +draw(T[3], graph, ActPen); // draw 'graph' with 'ActPen' into 'T[3]' (1st hysteresis branch) +draw(T[3], rotate(180,(0,0))*graph, ActPen); // draw rotated 'graph' (2nd hysteresis branch) + + +//////////////////////////////////////// 4th diagram +T[4] = CreateKOOS(S, "$T_4$"); // initialise T[4] as empty diagram with label $T_4$ +graph = A; // # pointwise definition of current path 'graph' +graph = graph -- (A.x + grad*0.4, A.y + 0.4); // # +graph = graph -- ( - grad*0.6 , - 0.6); // # +graph = graph -- (0,0); // # +graph = graph -- (grad*0.9, 0.9); // # +graph = graph -- (E.x - grad*0.1, E.y - 0.1); // # +graph = graph -- E; // # + +graph = roundedpath(graph, radius, S); // round edges of 'graph' using roundedpath() in roundedpath.asy +ActPen = rgb(0.6,0,0) + linewidth(lw); // define pen for drawing in 4th diagram +draw(T[4], graph, ActPen); // draw 'graph' with 'ActPen' into 'T[4]' (1st hysteresis branch) +draw(T[4], rotate(180,(0,0))*graph, ActPen); // draw rotated 'graph' (3nd hysteresis branch) + + +// add some labels and black dots to the first two pictures +pair SWW = (-0.8, -0.6); +label(T[1], "$\sigma_f$", (0, 0.6S), NE); // sigma_f +draw(T[1], (0, 0.6S), linewidth(3) + black); +label(T[2], "$\sigma_f$", (0, 0.3S), NE); // sigma_f +draw(T[2], (0, 0.3S), linewidth(3) + black); +label(T[1], "$\varepsilon_p$", (0.7S, 0), SWW); // epsilon_p +draw(T[1], (0.75S, 0), linewidth(3) + black); +label(T[2], "$\varepsilon_p$", (0.7S, 0), SWW); // epsilon_p +draw(T[2], (0.75S, 0), linewidth(3) + black); + + +// add all pictures T[1...4] to the current one +add(T[1],(0,0)); +add(T[2],(1*inc*S,0)); +add(T[3],(2*inc*S,0)); +add(T[4],(3*inc*S,0)); + + +// draw line of constant \sigma and all intersection points with the graphs in T[1...4] +ActPen = linewidth(1) + dashed + gray(0.5); // pen definition +draw((-S, 0.45*S)--((3*inc+1)*S, 0.45*S), ActPen); // draw backgoundline +label("$\sigma_s$", (-S, 0.45S), W); // label 'sigma_s' + +path mark = scale(2)*unitcircle; // define mark-symbol to be used for intersections +ActPen = linewidth(1) + gray(0.5); // define pen for intersection mark +draw(shift(( 1 - grad*0.55 + 0*inc)*S, 0.45*S)*mark, ActPen); // # draw all intersections +draw(shift((-1 + grad*1.45 + 0*inc)*S, 0.45*S)*mark, ActPen); // # +draw(shift(( 1 - grad*0.55 + 1*inc)*S, 0.45*S)*mark, ActPen); // # +draw(shift(( 1 - grad*0.55 + 2*inc)*S, 0.45*S)*mark, ActPen); // # +draw(shift(( grad*0.45 + 2*inc)*S, 0.45*S)*mark, ActPen); // # +draw(shift(( grad*0.45 + 3*inc)*S, 0.45*S)*mark, ActPen); // # diff --git a/Master/texmf-dist/doc/asymptote/examples/threeviews.asy b/Master/texmf-dist/doc/asymptote/examples/threeviews.asy new file mode 100644 index 00000000000..1bcc36ae8d7 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/threeviews.asy @@ -0,0 +1,26 @@ +import three; + +picture pic; +unitsize(pic,5cm); + +currentlight.viewport=false; +settings.render=4; +settings.toolbar=false; +viewportmargin=(1cm,1cm); + +draw(pic,scale3(0.5)*unitsphere,green,render(compression=Low,merge=true)); +draw(pic,Label("$x$",1),O--X); +draw(pic,Label("$y$",1),O--Y); +draw(pic,Label("$z$",1),O--Z); + +// Europe and Asia: +//addViews(pic,ThreeViewsFR); +//addViews(pic,SixViewsFR); + +// United Kingdom, United States, Canada, and Australia: +addViews(pic,ThreeViewsUS); +//addViews(pic,SixViewsUS); + +// Front, Top, Right, +// Back, Bottom, Left: +//addViews(pic,SixViews); diff --git a/Master/texmf-dist/doc/asymptote/examples/tile.asy b/Master/texmf-dist/doc/asymptote/examples/tile.asy new file mode 100644 index 00000000000..fe9cbc523c7 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/tile.asy @@ -0,0 +1,13 @@ +size(0,90); +import patterns; + +add("tile",tile()); +add("filledtilewithmargin",tile(6mm,4mm,red,Fill),(1mm,1mm),(1mm,1mm)); +add("checker",checker()); +add("brick",brick()); + +real s=2.5; +filldraw(unitcircle,pattern("tile")); +filldraw(shift(s,0)*unitcircle,pattern("filledtilewithmargin")); +filldraw(shift(2s,0)*unitcircle,pattern("checker")); +filldraw(shift(3s,0)*unitcircle,pattern("brick")); diff --git a/Master/texmf-dist/doc/asymptote/examples/torus.asy b/Master/texmf-dist/doc/asymptote/examples/torus.asy new file mode 100644 index 00000000000..d0b8673d737 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/torus.asy @@ -0,0 +1,20 @@ +size(200); +import graph3; + +currentprojection=perspective(5,4,4); + +real R=3; +real a=1; + +/* +import solids; +revolution torus=revolution(reverse(Circle(R*X,a,Y,32)),Z,90,345); +surface s=surface(torus); +*/ + +triple f(pair t) { + return ((R+a*cos(t.y))*cos(t.x),(R+a*cos(t.y))*sin(t.x),a*sin(t.y)); +} + +surface s=surface(f,(radians(90),0),(radians(345),2pi),8,8,Spline); +draw(s,green,render(compression=Low,merge=true)); diff --git a/Master/texmf-dist/doc/asymptote/examples/transparency.asy b/Master/texmf-dist/doc/asymptote/examples/transparency.asy new file mode 100644 index 00000000000..36e741d294d --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/transparency.asy @@ -0,0 +1,10 @@ +size(0,150); + +if(settings.outformat == "") + settings.outformat="pdf"; + +begingroup(); +fill(shift(1.5dir(120))*unitcircle,green+opacity(0.75)); +fill(shift(1.5dir(60))*unitcircle,red+opacity(0.75)); +fill(unitcircle,blue+opacity(0.75)); +endgroup(); diff --git a/Master/texmf-dist/doc/asymptote/examples/treetest.asy b/Master/texmf-dist/doc/asymptote/examples/treetest.asy new file mode 100644 index 00000000000..dbdf973c508 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/treetest.asy @@ -0,0 +1,22 @@ +import drawtree; + +treeLevelStep = 2cm; + +TreeNode root = makeNode( "Root" ); +TreeNode child1 = makeNode( root, "Child\_1" ); +TreeNode child2 = makeNode( root, "Child\_2" ); + +TreeNode gchild1 = makeNode( child1, "Grandchild\_1" ); +TreeNode gchild2 = makeNode( child1, "Grandchild\_2" ); + +TreeNode gchild3 = makeNode( child1, "Grandchild\_3" ); +TreeNode gchild4 = makeNode( child1, "Grandchild\_4" ); + + +TreeNode gchild11 = makeNode( child2, "Grandchild\_1" ); +TreeNode gchild22 = makeNode( child2, "Grandchild\_2" ); + +TreeNode ggchild1 = makeNode( gchild1, "Great Grandchild\_1" ); + +draw( root, (0,0) ); + diff --git a/Master/texmf-dist/doc/asymptote/examples/trefoilknot.asy b/Master/texmf-dist/doc/asymptote/examples/trefoilknot.asy new file mode 100644 index 00000000000..8ea5b264b48 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/trefoilknot.asy @@ -0,0 +1,23 @@ +import tube; +import graph3; +import palette; +currentlight=White; + +size(0,8cm); +currentprojection=perspective(1,1,1,up=-Y); + +int e=1; +real x(real t) {return cos(t)+2*cos(2t);} +real y(real t) {return sin(t)-2*sin(2t);} +real z(real t) {return 2*e*sin(3t);} + +path3 p=scale3(2)*graph(x,y,z,0,2pi,50,operator ..)&cycle; + +pen[] pens=Gradient(6,red,blue,purple); +pens.push(yellow); +for (int i=pens.length-2; i >= 0 ; --i) + pens.push(pens[i]); + +path sec=scale(0.25)*texpath("$\pi$")[0]; +coloredpath colorsec=coloredpath(sec, pens,colortype=coloredNodes); +draw(tube(p,colorsec),render(merge=true)); diff --git a/Master/texmf-dist/doc/asymptote/examples/triads.asy b/Master/texmf-dist/doc/asymptote/examples/triads.asy new file mode 100644 index 00000000000..73088197e25 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/triads.asy @@ -0,0 +1,52 @@ +import graph; + +path p=(10,75)..(15,85)..(20,90)..(35,85)..(40,79)--(78,30)..(85,15)..(87,5); + +pair l=point(p,3.5); +pair m=point(p,4.5); +pair s=point(p,4.9); + +pen c=linewidth(1.5); +pair o=(m.x,0.5(m.x+l.y)); + +pen d=c+darkgreen; + +void drawarrow(string s="", pair p, pair q, side side=RightSide, + bool upscale=false, pen c) +{ + path g=p{dir(-5)}..{dir(-85)}q; + if(upscale) g=reverse(g); + draw(s,g,side,c,Arrow(Fill,0.65)); +} + +void spectrum(pair l,pair m, pair s) { + draw(p,c); + + d += 4.0; + dot("$p$",l,SW,d); + dot("$q$",m,SW,d); + dot("$k$",s,SW,d); + + xaxis("$k$",0); + yaxis("$E(k)$",0); +} + +drawarrow("$T_p$",l,m,true,blue); +drawarrow("$T_k$",m,s,LeftSide,red); +spectrum(l,m,s); +shipout("triadpqk"); + +erase(); + +drawarrow("$-T_p$",l,m,LeftSide,red); +drawarrow("$-T_q$",m,s,true,blue); +spectrum(l,s,m); +shipout("triadpkq"); + +erase(); + +drawarrow("$T_k$",l,m,true,blue); +drawarrow("$T_q$",m,s,LeftSide,red); +spectrum(m,s,l); + +shipout("triadkpq"); diff --git a/Master/texmf-dist/doc/asymptote/examples/triangle.asy b/Master/texmf-dist/doc/asymptote/examples/triangle.asy new file mode 100644 index 00000000000..60388a78515 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/triangle.asy @@ -0,0 +1,12 @@ +size(0,100); +import geometry; + +triangle t=triangle(b=3,alpha=90,c=4); + +dot((0,0)); + +draw(t); +draw(rotate(90)*t,red); +draw(shift((-4,0))*t,blue); +draw(reflect((0,0),(1,0))*t,green); +draw(slant(2)*t,magenta); diff --git a/Master/texmf-dist/doc/asymptote/examples/triangulate.asy b/Master/texmf-dist/doc/asymptote/examples/triangulate.asy new file mode 100644 index 00000000000..56ad347b53d --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/triangulate.asy @@ -0,0 +1,19 @@ +size(200); +int np=100; +pair[] points; + +real r() {return 1.2*(rand()/randMax*2-1);} + +for(int i=0; i < np; ++i) + points.push((r(),r())); + +int[][] trn=triangulate(points); + +for(int i=0; i < trn.length; ++i) { + draw(points[trn[i][0]]--points[trn[i][1]]); + draw(points[trn[i][1]]--points[trn[i][2]]); + draw(points[trn[i][2]]--points[trn[i][0]]); +} + +for(int i=0; i < np; ++i) + dot(points[i],red); diff --git a/Master/texmf-dist/doc/asymptote/examples/triceratops.asy b/Master/texmf-dist/doc/asymptote/examples/triceratops.asy new file mode 100644 index 00000000000..a9e6e93cd52 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/triceratops.asy @@ -0,0 +1,9 @@ +import obj; + +size(15cm); +currentprojection=orthographic(0,2,5,up=Y); + +// A compressed version of the required data file may be obtained from: +// http://www.cs.technion.ac.il/~irit/data/Viewpoint/triceratops.obj.gz + +draw(obj("triceratops.obj",brown)); diff --git a/Master/texmf-dist/doc/asymptote/examples/trumpet.asy b/Master/texmf-dist/doc/asymptote/examples/trumpet.asy new file mode 100644 index 00000000000..842af2b23c2 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/trumpet.asy @@ -0,0 +1,12 @@ +import graph3; +size(200,0); + +currentlight=Viewport; + +triple f(pair t) { + real u=log(abs(tan(t.y/2))); + return (10*sin(t.y),cos(t.x)*(cos(t.y)+u),sin(t.x)*(cos(t.y)+u)); +} + +surface s=surface(f,(0,pi/2),(2pi,pi-0.1),7,15,Spline); +draw(s,olive+0.25*white,render(compression=Low,merge=true)); diff --git a/Master/texmf-dist/doc/asymptote/examples/truncatedIcosahedron.asy b/Master/texmf-dist/doc/asymptote/examples/truncatedIcosahedron.asy new file mode 100644 index 00000000000..e4d07a49e5b --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/truncatedIcosahedron.asy @@ -0,0 +1,68 @@ +import graph3; + +size(200); + +defaultrender.merge=true; + +real c=(1+sqrt(5))/2; + +triple[] z={(c,1,0),(-c,1,0),(-c,-1,0),(c,-1,0)}; +triple[] x={(0,c,1),(0,-c,1),(0,-c,-1),(0,c,-1)}; +triple[] y={(1,0,c),(1,0,-c),(-1,0,-c),(-1,0,c)}; + +triple[][] Q={ + {(c,1,0),(1,0,-c),(0,c,-1),(0,c,1),(1,0,c),(c,-1,0)}, + {(-c,1,0),(0,c,1),(0,c,-1),(-1,0,-c),(-c,-1,0),(-1,0,c)}, + {(-c,-1,0),(-c,1,0),(-1,0,-c),(0,-c,-1),(0,-c,1),(-1,0,c)}, + {(c,-1,0),(c,1,0),(1,0,c),(0,-c,1),(0,-c,-1),(1,0,-c)}, + {(0,c,1),(0,c,-1),(-c,1,0),(-1,0,c),(1,0,c),(c,1,0)}, + {(0,-c,1),(0,-c,-1),(-c,-1,0),(-1,0,c),(1,0,c),(c,-1,0)}, + {(0,-c,-1),(0,-c,1),(c,-1,0),(1,0,-c),(-1,0,-c),(-c,-1,0)}, + {(0,c,-1),(0,c,1),(c,1,0),(1,0,-c),(-1,0,-c),(-c,1,0)}, + {(1,0,c),(-1,0,c),(0,-c,1),(c,-1,0),(c,1,0),(0,c,1)}, + {(1,0,-c),(-1,0,-c),(0,-c,-1),(c,-1,0),(c,1,0),(0,c,-1)}, + {(-1,0,-c),(1,0,-c),(0,c,-1),(-c,1,0),(-c,-1,0),(0,-c,-1)}, + {(-1,0,c),(1,0,c),(0,c,1),(-c,1,0),(-c,-1,0),(0,-c,1)} +}; + +real R=abs(interp(Q[0][0],Q[0][1],1/3)); + +triple[][] P; +for(int i=0; i < Q.length; ++i) { + P[i]=new triple[] ; + for(int j=0; j < Q[i].length; ++j) { + P[i][j]=Q[i][j]/R; + } +} + +for(int i=0; i < P.length; ++i) { + for(int j=1; j < P[i].length; ++j) { + triple C=P[i][0]; + triple A=P[i][j]; + triple B=P[i][j % 5+1]; + triple[] sixout=new + triple[] {interp(C,A,1/3),interp(C,A,2/3),interp(A,B,1/3),interp(A,B,2/3), + interp(B,C,1/3),interp(B,C,2/3)}; + triple M=(sum(sixout))/6; + triple[] sixin=sequence(new triple(int k) { + return interp(sixout[k],M,0.1); + },6); + draw(surface(reverse(operator--(...sixout)--cycle)^^ + operator--(...sixin)--cycle,planar=true),magenta); + } +} + +for(int i=0; i < P.length; ++i) { + triple[] fiveout=sequence(new triple(int k) { + return interp(P[i][0],P[i][k+1],1/3); + },5); + triple M=(sum(fiveout))/5; + triple[] fivein=sequence(new triple(int k) { + return interp(fiveout[k],M,0.1); + },5); + draw(surface(reverse(operator--(...fiveout)--cycle)^^ + operator--(...fivein)--cycle,planar=true),cyan); +} + + + diff --git a/Master/texmf-dist/doc/asymptote/examples/tvgen.asy b/Master/texmf-dist/doc/asymptote/examples/tvgen.asy new file mode 100644 index 00000000000..ade90e89211 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/tvgen.asy @@ -0,0 +1,1314 @@ +/* tvgen - draw pm5544-like television test cards. + * Copyright (C) 2007, 2009, Servaas Vandenberghe. + * + * The tvgen code below is free software: you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with tvgen: see the file COPYING. If not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + * + * tvgen-1.1/tvgen.asy + * This asy script generates pm5544-like television test cards. The image + * parameters were derived from a 1990 recording. The basic parameters + * conform to itu-r bt.470, bt.601, and bt.709. There is no unique image + * since local variants exist and parameters have varied over time. + */ +//papertype="a4"; +import plain; +int verbose=settings.verbose/*+2*/; /* uncomment for debug info */ + +/* tv dot coordinates --> PS points */ +pair tvps(real col, real row, real xd, real yd, int Nv) { + real psx, psy; + psx=col*xd; psy=(Nv-row)*yd; + return (psx,psy); +} +path tvrect(int lc, int tr, int rc, int br, real xd, real yd, int Nv) { + real lx, ty, rx, by; + pair[] z; + + lx=lc*xd; ty=(Nv-tr)*yd; + rx=rc*xd; by=(Nv-br)*yd; + /* bl br tr tl */ + z[0]=(lx, by); + z[1]=(rx, by); + z[2]=(rx, ty); + z[3]=(lx, ty); + + return z[0]--z[1]--z[2]--z[3]--cycle; +} + +/********************* image aspect ratio markers ********************/ +void rimarkers(real rimage, int Nh, int Nhc, int os, int Nvc, int Nsy, pen pdef, real xd, real yd, int Nv) { + int[] ridefN={ 4, 16 }; + int[] ridefD={ 3, 9 }; + int i; + + for(i=0; i<2; ++i) { + real rid=ridefN[i]/ridefD[i]; + + if(rimage>rid) { + int off, offa, offb; + + /* Nhdef=Nh/rimage*rid */ + off=round(Nh/rimage*rid/2); + offa=off+os; + offb=off-os; + // write(offa,offb); + + if(2*offa<Nh) { + int hy, tr, br; + path zz; + + hy=floor(Nsy/3); + tr=Nvc-hy; + br=Nvc+hy; + + zz=tvrect(Nhc+offb, tr, Nhc+offa, br, xd,yd,Nv); + //dot(zz); + fill(zz, p=pdef); + zz=tvrect(Nhc-offa, tr, Nhc-offb, br, xd,yd,Nv); + fill(zz, p=pdef); + } + } + } /* for i */ + return; +} + +/************* cross hatch: line pairing, center interlace test *************/ +void centerline(int[] coff, int[] coffa, int[] coffb, int Nhc, int divsx, + int os, int[] rcrowc, int Nvc, int divsy, + pair ccenter, real[] rcoff, pair[] rcright, pair[] rcleft, + pen pdef, real xd, real yd, int Nv) { + pair[] z; + int col; + pen pblack=pdef+gray(0.0), pwhite=pdef+gray(1.0); + + z[0]=rcright[divsy]; + + col=Nhc+coff[0]; + z[1]=tvps(col,rcrowc[divsy], xd,yd,Nv); + z[2]=tvps(col,rcrowc[divsy-1], xd,yd,Nv); + col=Nhc-coff[0]; + z[3]=tvps(col,rcrowc[divsy-1], xd,yd,Nv); + z[4]=tvps(col,rcrowc[divsy], xd,yd,Nv); + + z[5]=rcleft[divsy]; + z[6]=rcleft[divsy+1]; + + z[7]=tvps(col,rcrowc[divsy+1], xd,yd,Nv); + z[8]=tvps(col,rcrowc[divsy+2], xd,yd,Nv); + col=Nhc+coff[0]; + z[9]=tvps(col,rcrowc[divsy+2], xd,yd,Nv); + z[10]=tvps(col,rcrowc[divsy+1], xd,yd,Nv); + + z[11]=rcright[divsy+1]; + fill(z[1]--z[2]--z[3]--z[4] //--z[5]--z[6] + --arc(ccenter, z[5], z[6]) + --z[7]--z[8]--z[9]--z[10] //--z[11]--z[0] + --arc(ccenter,z[11], z[0]) + --cycle, p=pblack); + + int i, maxoff, rows, tr, br; + path zz; + + maxoff=floor(rcoff[divsy]); + + /* center cross: vertical and horizontal centerline */ + rows=min(Nvc-rcrowc[divsy-1], rcrowc[divsy+2]-Nvc); + tr=Nvc-rows; + br=Nvc+rows; + //write("centerline long: rows tr br ", rows, tr, br); + zz=tvrect(Nhc-os, tr, Nhc+os, br, xd,yd,Nv); + fill(zz, p=pwhite); + zz=tvrect(Nhc-maxoff,Nvc-1, Nhc+maxoff,Nvc+1, xd,yd,Nv); + fill(zz, p=pwhite); + + /* vertical short lines */ + rows=min(Nvc-rcrowc[divsy], rcrowc[divsy+1]-Nvc); + tr=Nvc-rows; + br=Nvc+rows; + if(verbose>1) + write("centerline: rows tr br ", rows, tr, br); + for(i=0; i<=divsx; ++i) { + int off; + + off=coff[i]; + if(off<maxoff) { + int offa, offb; + path zzv; + offa=coffa[i]; + offb=coffb[i]; + + zzv=tvrect(Nhc+offb, tr, Nhc+offa, br, xd,yd,Nv); + fill(zzv, p=pwhite); + zzv=tvrect(Nhc-offa, tr, Nhc-offb, br, xd,yd,Nv); + fill(zzv, p=pwhite); + } + } + return; +} + +/************************ topbw **************************************/ +void topbw(int[] coff, int Nhc, int os, int urow, int trow, int brow, + pair ccenter, pair rclt, pair rclb, pair rcrt, pair rcrb, + pen pdef, real xd, real yd, int Nv) { + pen pblack=pdef+gray(0.0), pwhite=pdef+gray(1.0); + pair[] ze; + path zext, zref, zint; + int off, col, cr; + + off=ceil((coff[2]+coff[3])/2); + ze[0]=tvps(Nhc+off,trow, xd,yd,Nv); + ze[1]=rcrt; + ze[2]=rclt; + ze[3]=tvps(Nhc-off,trow, xd,yd,Nv); + ze[4]=tvps(Nhc-off,brow, xd,yd,Nv); + col=Nhc-coff[2]-os; + ze[5]=tvps(col,brow, xd,yd,Nv); + ze[6]=tvps(col,trow, xd,yd,Nv); + cr=col+3*os; /* reflection test black pulse */ + zref=tvrect(col,trow, cr,brow, xd,yd,Nv); + ze[7]=tvps(cr,trow, xd,yd,Nv); + ze[8]=tvps(cr,brow, xd,yd,Nv); + ze[9]=tvps(Nhc+off,brow, xd,yd,Nv); + //dot(ze); + + zext=ze[0] // --ze[1]--ze[2] + --arc(ccenter, ze[1], ze[2]) + --ze[3]--ze[4]--ze[5]--ze[6]--ze[7]--ze[8]--ze[9]--cycle; + + off=ceil((coff[1]+coff[2])/2); + zint=tvrect(Nhc-off,urow, Nhc+off,trow, xd,yd,Nv); + + /* paths are completely resolved; no free endpoint conditions */ + fill(zext^^reverse(zint), p=pwhite); + fill(zint, p=pblack); + fill(zref, p=pblack); + + fill(arc(ccenter,rclt,rclb)--ze[4]--ze[3]--cycle, p=pblack); + fill(arc(ccenter,rcrb,rcrt)--ze[0]--ze[9]--cycle, p=pblack); + return; +} + +/************************ testtone **************************************/ +/* x on circle -> return y>=0 + * in: + * x x-coordinate relative to origin + * crad circle radius in y units, true size=crad*yd + */ +real testcircx(real x, real crad, real xd, real yd) { + real relx, phi, y; + + relx=x*xd/yd/crad; + if(relx>1) { + phi=0; + } else { + phi=acos(relx); + } + y=crad*sin(phi); // or (x*xd)^2+(y*yd)^2=(crad*yd)^2 + + return y; +} +/* y on circle -> return x>=0 */ +real testcircy(real y, real crad, real xd, real yd) { + real rely, phi, x; + + rely=y/crad; + if(rely>1) { + phi=pi/2; + } else { + phi=asin(rely); + } + x=crad*cos(phi)*yd/xd; // or (x*xd)^2+(y*yd)^2=(crad*yd)^2 + + return x; +} + +/* brow>trow && xb>xt */ +void testtone(real Tt, int trow, int brow, + real ccol, real crow, real crad, + pen pdef, real xd, real yd, int Nv) { + int blocks, i; + real yt, xt, yb, xb, Ttt=Tt/2; + pair ccenter; + + yt=crow-trow; + xt=testcircy(yt, crad, xd, yd); + yb=crow-brow; + xb=testcircy(yb, crad, xd, yd); + //write('#xt yt\t',xt,yt); write('#xb yb\t',xb,yb); + + ccenter=tvps(ccol,crow, xd,yd,Nv); + + blocks=floor(2*xb/Tt); + + for(i=-blocks-1; i<=blocks; ++i) { + real tl, tr; + path zz; + + tl=max(-xb,min(i*Ttt,xb)); /* limit [-xb..xb] */ + tr=max(-xb,min((i+1)*Ttt,xb)); + + if(tl<-xt && tr<=-xt || tr>xt && tl>=xt) { /* top full circle */ + pair[] z; + real yl, yr; + + yl=testcircx(tl, crad, xd, yd); + yr=testcircx(tr, crad, xd, yd); + + z[0]=tvps(ccol+tl,brow, xd,yd,Nv); + z[1]=tvps(ccol+tr,brow, xd,yd,Nv); + z[2]=tvps(ccol+tr,crow-yr, xd,yd,Nv); + z[3]=tvps(ccol+tl,crow-yl, xd,yd,Nv); + + zz=z[0]--z[1]--arc(ccenter,z[2],z[3])--cycle; + } else if(tl<-xt) { /* tl in circel, tr not, partial */ + pair[] z; + real yl; + + yl=testcircx(tl, crad, xd, yd); + + z[0]=tvps(ccol+tl,brow, xd,yd,Nv); + z[1]=tvps(ccol+tr,brow, xd,yd,Nv); + z[2]=tvps(ccol+tr,trow, xd,yd,Nv); + z[3]=tvps(ccol-xt,trow, xd,yd,Nv); + z[4]=tvps(ccol+tl,crow-yl, xd,yd,Nv); + + zz=z[0]--z[1]--z[2]--arc(ccenter,z[3],z[4])--cycle; + } else if(tr>xt) { /* tr in circle, tl not, partial */ + pair[] z; + real yr; + + yr=testcircx(tr, crad, xd, yd); + + z[0]=tvps(ccol+tl,brow, xd,yd,Nv); + z[1]=tvps(ccol+tr,brow, xd,yd,Nv); + z[2]=tvps(ccol+tr,crow-yr, xd,yd,Nv); + z[3]=tvps(ccol+xt,trow, xd,yd,Nv); + z[4]=tvps(ccol+tl,trow, xd,yd,Nv); + zz=z[0]--z[1]--arc(ccenter,z[2],z[3])--z[4]--cycle; + } else { /* full block */ + pair[] z; + + z[0]=tvps(ccol+tr,trow, xd,yd,Nv); + z[1]=tvps(ccol+tl,trow, xd,yd,Nv); + z[2]=tvps(ccol+tl,brow, xd,yd,Nv); + z[3]=tvps(ccol+tr,brow, xd,yd,Nv); + zz=z[0]--z[1]--z[2]--z[3]--cycle; + } + + if(tl<tr) { + if(i%2 == 0) { + fill(zz, p=pdef+gray(0.0)); + } else { + fill(zz, p=pdef+gray(0.75)); + } + } + } + return; +} + +/************************ color bars *************************************/ +void colorbars(int[] coff, int Nhc, int trow, int crow, int brow, + pair ccenter, pair rclt, pair rclb, pair rcrt, pair rcrb, + pen pdef, real xd, real yd, int Nv) { + real cI=0.75; + real[] cR={ cI, 0, 0, cI, cI, 0 }; + real[] cG={ cI, cI, cI, 0, 0, 0 }; + real[] cB={ 0, cI, 0, cI, 0, cI }; + int cmax=2, poff, rows, i; + + rows=brow-trow; + poff=0; + for(i=0; i<=cmax; ++i) { + int off; + int ii=2*i, il=cmax-i, ir=i+cmax+1; + path zzl, zzr; + + off=ceil((coff[1+ii]+coff[2+ii])/2); + if(i!=0 && i<cmax) { + zzr=tvrect(Nhc+poff,trow, Nhc+off,brow, xd,yd,Nv); + zzl=tvrect(Nhc-off,trow, Nhc-poff,brow, xd,yd,Nv); + } else { + if(i==0) { + int col, pcol; + pair[] zl, zr; + + col=Nhc+off; + pcol=Nhc+poff; + zr[0]=tvps(col,trow, xd,yd,Nv); + zr[1]=tvps(pcol,trow, xd,yd,Nv); + zr[2]=tvps(pcol,crow, xd,yd,Nv); + zr[3]=tvps(Nhc+coff[0],crow, xd,yd,Nv); + zr[4]=tvps(Nhc+coff[0],brow, xd,yd,Nv); + zr[5]=tvps(col,brow, xd,yd,Nv); + zzr=zr[0]--zr[1]--zr[2]--zr[3]--zr[4]--zr[5]--cycle; + + col=Nhc-off; + pcol=Nhc-poff; + zl[0]=tvps(pcol,trow, xd,yd,Nv); + zl[1]=tvps(col,trow, xd,yd,Nv); + zl[2]=tvps(col,brow, xd,yd,Nv); + zl[3]=tvps(Nhc-coff[0],brow, xd,yd,Nv); + zl[4]=tvps(Nhc-coff[0],crow, xd,yd,Nv); + zl[5]=tvps(pcol,crow, xd,yd,Nv); + zzl=zl[0]--zl[1]--zl[2]--zl[3]--zl[4]--zl[5]--cycle; + } else { + int pcol; + pair[] zl, zr; + + pcol=Nhc+poff; + zr[0]=tvps(pcol,brow, xd,yd,Nv); + zr[1]=rcrb; + zr[2]=rcrt; + zr[3]=tvps(pcol,trow, xd,yd,Nv); + zzr=zr[0]--arc(ccenter,zr[1],zr[2])--zr[3]--cycle; + + pcol=Nhc-poff; + zl[0]=tvps(pcol,trow, xd,yd,Nv); + zl[1]=rclt; + zl[2]=rclb; + zl[3]=tvps(pcol,brow, xd,yd,Nv); + zzl=zl[0]--arc(ccenter,zl[1],zl[2])--zl[3]--cycle; + } + } + fill(zzr, p=pdef+rgb(cR[ir], cG[ir], cB[ir])); + fill(zzl, p=pdef+rgb(cR[il], cG[il], cB[il])); + + poff=off; + } + return; +} + +/************************ test frequencies ****************************/ +/* in + * theta rad + * freq 1/hdot + * step hdot + * out + * new phase theta + */ +real addphase(real theta, real freq, real step) { + real cycles, thetaret; + int coverflow; + + cycles=freq*step; + coverflow=floor(abs(cycles)); + if(coverflow>1) { + thetaret=0; + } else { + real dpi=2*pi; + + cycles-=coverflow*sgn(cycles); + thetaret=theta+cycles*dpi; /* cycles=(-1 .. 1) */ + + if(thetaret>pi) { + thetaret-=dpi; + } else if(thetaret<-pi) { + thetaret-=dpi; + } + } + + //write("addphase: ", step, theta, thetaret); + return thetaret; +} + +void testfreqs(real[] ftones, int[] coff, int Nhc, int trow,int crow,int brow, + pair ccenter, pair rclt, pair rclb, pair rcrt, pair rcrb, + pen pdef, real xd, real yd, int Nv) { + int[] divc; + real[] divfl, divfr; + int i, divs, coffmax, off, divnext; + real fl, fr, thr, thl; + + /* Segment info for PAL continental test card + * segment i extends from [divc[i] .. divc[i+1]) with frequency divf[i] + */ + divs=2; // the number of segments on the right, total=2*divs+1 + divc[0]=0; + for(i=0; i<=divs; ++i) { + int ii=i*2, il=divs-i, ir=divs+i; + + divc[i+1]=ceil((coff[ii]+coff[ii+1])/2); /* xdot distance to center */ + + divfl[i]=ftones[divs-i]; + divfr[i]=ftones[divs+i]; + } + coffmax=divc[divs+1]; + + int trowlim=coff[0]; + int tr; + + tr=crow; + + divnext=0; + fl=0; + fr=0; + thl=0; + thr=0; + // draw a vertical line at off..off+1 + for(off=0; off<coffmax; ++off) { + real ampl, ampr; + int col; + path zz; + + if(off==trowlim) { + tr=trow; + } + + if(off == divc[divnext]) { + /* switch frequency: cycles=0.5*fcur+0.5*fnext */ + thl=addphase(thl, fl, -0.5); + thr=addphase(thr, fr, 0.5); + fl=divfl[divnext]; + fr=divfr[divnext]; + thl=addphase(thl, fl, -0.5); + thr=addphase(thr, fr, 0.5); + + ++divnext; + // thl=pi; thr=pi; + //write(off, fl, fr); + } else { + thl=addphase(thl, fl, -1); + thr=addphase(thr, fr, 1); + // thl=0; thr=0; + } + + ampl=(1+sin(thl))/2; + ampr=(1+sin(thr))/2; + //write(off, thr, ampr); + + col=Nhc-off-1; + zz=tvrect(col,tr, col+1,brow, xd,yd,Nv); + fill(zz, p=pdef+gray(ampl)); + col=Nhc+off; + zz=tvrect(col,tr, col+1,brow, xd,yd,Nv); + fill(zz, p=pdef+gray(ampr)); + } + + pair[] z; + z[0]=tvps(Nhc-coffmax,trow, xd,yd,Nv); + z[1]=tvps(Nhc-coffmax,brow, xd,yd,Nv); + fill(z[0]--arc(ccenter,rclt,rclb)--z[1]--cycle, p=pdef+gray(0.0)); + z[0]=tvps(Nhc+coffmax,brow, xd,yd,Nv); + z[1]=tvps(Nhc+coffmax,trow, xd,yd,Nv); + fill(z[0]--arc(ccenter,rcrb,rcrt)--z[1]--cycle, p=pdef+gray(0.0)); + return; +} + +/************************ gray bars **************************************/ +void graybars(int[] coff, int Nhc, int trow, int brow, + pair ccenter, pair rclt, pair rclb, pair rcrt, pair rcrb, + pen pdef, real xd, real yd, int Nv) { + int[] gs={0, 51, 102, 153, 204, 255}; + int cmax=2, poff, rows, i; + + rows=brow-trow; + poff=0; + for(i=0; i<=cmax; ++i) { + int off; + int ii=2*i, il=cmax-i, ir=i+cmax+1; + path zzl, zzr; + + off=ceil((coff[1+ii]+coff[2+ii])/2); + if(i<cmax) { + zzl=tvrect(Nhc-off,trow, Nhc-poff,brow, xd,yd,Nv); + zzr=tvrect(Nhc+poff,trow, Nhc+off,brow, xd,yd,Nv); + } else { + int pcol; + pair zlt, zlb, zrt, zrb; + + pcol=Nhc-poff; + zlt=tvps(pcol,trow, xd,yd,Nv); + zlb=tvps(pcol,brow, xd,yd,Nv); + zzl=zlt--arc(ccenter,rclt,rclb)--zlb--cycle; + + pcol=Nhc+poff; + zrb=tvps(pcol,brow, xd,yd,Nv); + zrt=tvps(pcol,trow, xd,yd,Nv); + zzr=zrb--arc(ccenter,rcrb,rcrt)--zrt--cycle; + } + fill(zzl, p=pdef+gray(gs[il]/255)); + fill(zzr, p=pdef+gray(gs[ir]/255)); + + poff=off; + } + return; +} + +/************************ bottom bw **************************************/ +void bottombw(int off, int Nhc, int trow, int brow, + pair ccenter, pair rclt, pair rclb, pair rcrt, pair rcrb, + pen pdef, real xd, real yd, int Nv) { + int rows; + pair zt, zb; + path zz; + + rows=brow-trow; + zz=tvrect(Nhc-off,trow, Nhc+off,brow, xd,yd,Nv); + fill(zz, p=pdef+gray(0.0)); + + zt=tvps(Nhc-off,trow, xd,yd,Nv); + zb=tvps(Nhc-off,brow, xd,yd,Nv); + fill(zt--arc(ccenter,rclt,rclb)--zb--cycle, p=pdef+gray(1.0)); + + zb=tvps(Nhc+off,brow, xd,yd,Nv); + zt=tvps(Nhc+off,trow, xd,yd,Nv); + fill(zb--arc(ccenter,rcrb,rcrt)--zt--cycle, p=pdef+gray(1.0)); + return; +} + +/************************ bottom circle **************************************/ +void bottomcirc(int off, int Nhc, int trow, real cx, real cy, real crad, + pair ccenter, pair rclt, pair rcrt, + pen pdef, real xd, real yd, int Nv) { + real cI=0.75; + real xl, yl, xr, yr, phil, phir; + pair ccleft, ccright; + pair[] z; + + xl=Nhc-off-cx; + phil=acos(xl*xd/yd/crad); + yl=crad*sin(phil); // or (x*xd)^2+(y*yd)^2=(crad*yd)^2 + ccleft=tvps(cx+xl,cy+yl, xd,yd,Nv); + //write(xl,yl); + + xr=Nhc+off-cx; + phir=acos(xr*xd/yd/crad); + yr=crad*sin(phir); + ccright=tvps(cx+xr,cy+yr, xd,yd,Nv); + + //dot(ccright); dot(ccleft); + // red center + z[0]=tvps(Nhc-off,trow, xd,yd,Nv); + z[1]=ccleft; + z[2]=ccright; + z[3]=tvps(Nhc+off,trow, xd,yd,Nv); + fill(z[0]--arc(ccenter,z[1],z[2])--z[3]--cycle, p=pdef+rgb(cI,0,0)); + + // yellow + z[0]=tvps(Nhc-off,trow, xd,yd,Nv); + z[1]=rclt; + z[2]=ccleft; + fill(z[0]--arc(ccenter,z[1],z[2])--cycle, p=pdef+rgb(cI,cI,0)); + z[0]=tvps(Nhc+off,trow, xd,yd,Nv); + z[1]=ccright; + z[2]=rcrt; + fill(z[0]--arc(ccenter,z[1],z[2])--cycle, p=pdef+rgb(cI,cI,0)); + + return; +} + +/****************************** PAL ears *********************************** + * left y R G B + * 0.55 98 162 140 + * 0.5 103 128 191 + * 0.5 152 128 64 + * 0.45 157 93 115 + * right + * 0.6 153 168 76 + * 0.4 102 87 179 + * + * in: dright= -1 left ear, +1 right ear + */ +void palears(int[] coff, int[] coffa, int[] coffb, int Nhc, + int[] rcrowt, int[] rcrowb, int Nvc, int divsy, int dright, + pen pdef, real xd, real yd, int Nv) { + /* the amplitude of (u,v) as seen on a vectorscope, + * max 0.296 Vn for 100% saturation in W and V ears. + * cvbs: 0.7*( y +/- |u+jv| ) = -0.24 .. 0.93 V + * maxima: ebu 75/0 bars 0.70, bbc 100/25 0.88, 100/0 bars 0.93 + * burst: 0.150 Vcvbs, 21.4 IRE or 0.214 V normalized. + * luma: modulated for monochrome compatibility, 1990 version. + * choice: set amplitude of subcarrier equal to amplitude of colorburst. + */ + real cI=0.214; + + /* (u,v) for zero G-y, phase of -34.5 degrees */ + real wr=0.299, wb=0.114, wg=1-wr-wb; /* wg=0.587, y=wr*R+wg*G+wb*B */ + real wu=0.493, wv=0.877; /* u=wu*(B-y) v=wv*(R-y) */ + real colu=wu*wg/wb, colv=-wv*wg/wr; /* for w=(G-y)/0.696 == 0 */ + + /* ears: U==0 W==0 W==0 U==0 */ + real[] cyl={ 0.55, 0.5, 0.5, 0.45 }; + real[] cul={ 0, colu, -colu, 0 }; + real[] cvl={ -1, colv, -colv, 1 }; + + /* ears: V==0 W==0 W==0 V==0 */ + real[] cyr={ 0.60, 0.5, 0.5, 0.40 }; + real[] cur={ -1, colu, -colu, 1 }; + real[] cvr={ 0, colv, -colv, 0 }; + + real[] cy, cu, cv; + pair[] z; + path[] zz; + int lcol, ccol, cicol, rcol, i; + + if(dright>0) { + cy=cyr; cu=cur; cv=cvr; + } else { + cy=cyl; cu=cul; cv=cvl; + } + + lcol=Nhc+dright*coffa[5]; + ccol=Nhc+dright*coff[6]; + cicol=Nhc+dright*coffa[6]; + rcol=Nhc+dright*coffb[7]; + + int urow, trow, crow, brow, arow; + urow=rcrowb[divsy-5]; + trow=rcrowt[divsy-3]; + crow=Nvc; + brow=rcrowb[divsy+4]; + arow=rcrowt[divsy+6]; + + z[0]=tvps(ccol,urow, xd,yd,Nv); + z[1]=tvps(ccol,trow, xd,yd,Nv); + z[2]=tvps(cicol,trow, xd,yd,Nv); + z[3]=tvps(cicol,crow, xd,yd,Nv); + z[4]=tvps(rcol,crow, xd,yd,Nv); + z[5]=tvps(rcol,urow, xd,yd,Nv); + zz[0]=z[0]--z[1]--z[2]--z[3]--z[4]--z[5]--cycle; + + zz[1]=tvrect(lcol,urow, ccol,trow, xd,yd,Nv); + zz[2]=tvrect(lcol,brow, ccol,arow, xd,yd,Nv); + + z[0]=tvps(ccol,arow, xd,yd,Nv); + z[1]=tvps(ccol,brow, xd,yd,Nv); + z[2]=tvps(cicol,brow, xd,yd,Nv); + z[3]=tvps(cicol,crow, xd,yd,Nv); + z[4]=tvps(rcol,crow, xd,yd,Nv); + z[5]=tvps(rcol,arow, xd,yd,Nv); + zz[3]=z[0]--z[1]--z[2]--z[3]--z[4]--z[5]--cycle; + + for(i=0; i<4; ++i) { + real y, u, v, A, ph, By, Ry, Gy, R, G, B; + + y=cy[i]; + u=cu[i]; + v=cv[i]; + + A=hypot(u,v); + ph= (u!=0 || v!=0) ? atan2(v,u) : 0.0; + if(v>=0) { + if(ph<0) ph=ph+pi; + } else { + if(ph>0) ph=ph-pi; + } + if(A>0) { + u=u/A*cI; + v=v/A*cI; + } + + By=u/wu; + Ry=v/wv; + Gy=(-wr*Ry-wb*By)/wg; + //write(y,Gy,A,ph*180/pi); + + R=Ry+y; + G=Gy+y; + B=By+y; + if(verbose > 1) + write(y,round(R*255),round(G*255),round(B*255)); + + fill(zz[i], p=pdef+rgb(R,G,B)); + } + return; +} + +/****************************** NTSC bars *********************************** + * amplitude equals color burst smpte (pm: -V +U) + * y campl sat R G B + * left 0.5 0.21 70% -I? + * right 0.5 0.17 60% +Q? + */ +void ntscbars(int[] coff, int[] coffa, int[] coffb, int Nhc, + int[] rcrowt, int[] rcrowb, int Nvc, int divsy, int dright, + pen pdef, real xd, real yd, int Nv) { + /* The amplitude of (i,q) as seen on a vectorscope, + * max 0.292 Vn for 100% saturation in I==0 ears. + * burst: 0.143 Vcvbs, 20 IRE or 0.200 V normalized. + * pedestal: (yp,up,vp)=(p,0,0)+(1-p)*(y,u,v), p=0.075. + * choice: equal amplitude for colorburst and subcarrier. + */ + real campl=0.200/0.925; + + /* wg=0.587, y=wr*R+wg*G+wb*B */ + real wr=0.299, wb=0.114, wg=1-wr-wb; + /* iT : iq -> RyBy : rotation+scaling */ + real iT11=0.95, iT12=0.62, iT21=-1.11, iT22=1.71; + + /* bars -2 -1 0 1 2 */ + real[] cyl={ 0.50, 0.50, 0, 0.50, 0.50 }; + real[] cil={ 0, 0, 0, -1, 1 }; + real[] cql={ -1, 1, 0, 0, 0 }; + int[] offil={ 6, 7, 5, 7, 6 }; + + real cy, ci, cq; + int dri, dris, offi, lcol, rcol, i; + + if(dright>=0) { + dris=1; + } else { + dris=-1; + } + if(dright<-2 || dright>2) { + dri=2; + } else { + dri=2+dright; + } + + cy=cyl[dri]; ci=cil[dri]; cq=cql[dri]; + offi=offil[dri]; + lcol=Nhc+dris*coffa[offi]; + rcol=Nhc+dris*coffb[offi+1]; + + real A, By, Ry, Gy, R, G, B; + + A=hypot(ci,cq); + if(A>0) { + ci=ci/A*campl; + cq=cq/A*campl; + } + Ry=iT11*ci+iT12*cq; + By=iT21*ci+iT22*cq; + Gy=(-wr*Ry-wb*By)/wg; + //write(cy,Ry,Gy,By); + + R=Ry+cy; + G=Gy+cy; + B=By+cy; + if(verbose > 1) + write(cy,ci,cq,round(R*255),round(G*255),round(B*255)); + + for(i=-divsy; i<=divsy; ++i) { + path zz; + int brow, trow; + + if(i>-divsy) { + trow=rcrowb[divsy+i]; + } else { + trow=floor((rcrowb[divsy+i]+rcrowt[divsy+i+1])/2); + } + + if(divsy>i) { + brow=rcrowt[divsy+i+1]; + } else { + brow=floor((rcrowb[divsy+i]+rcrowt[divsy+i+1])/2); + } + + zz=tvrect(lcol,brow, rcol,trow, xd,yd,Nv); + fill(zz, p=pdef+rgb(R,G,B)); + } + + return; +} + + +/****************************** main ***********************************/ +/* Conversion to bitmap: + * EPSPNG='gs -dQUIET -dNOPAUSE -dBATCH -sDEVICE=png16m' + * asy -u bsys=2 -u colortv=1 -u os=1 -a Z tvgen + * $EPSPNG -r132x144 -g720x576 -sOutputFile=tvgen.png tvgen.eps + * + * asy -u bsys=2 -u colortv=1 -u os=1 tvgen + */ +int bsys=2, colortv=1, os=1; + +/* bsys: broadcast system + * bsys im aspect Nh + * 0 4/3 704 guaranteed analog broadcast itu-r bt.470 + * 1 4/3 720 new broadcast, most TV station logos and animations + * 2 15/11 720 total aperture analog 4/3, 1.37 film DVDs + * 3 20/11 720 total aperture analog 16/9, 1.85 film DVDs + * 4 4/3 768 bsys=0, square dot analog broadcast + * 5 4/3 768 bsys=1, square dot cable TV info channel + * 6 131/96 786 bsys=2, total square dot broadcast camera + * 7 16/9 720 new broadcast 16/9, SD from HD-1440 or itu-r bt.709 + * 8 4/3 704 525 analog broadcast itu-r bt.470 711*485 + * 9 4/3 720 525 new broadcast + * 10 15/11 720 525 total aperture analog broadcast + * 11 16/9 1920 1250, 1080 square dot at 12.5 frames/second + * 12 4/3 1600 1250, 1200 square dot at 12.5 frames/second + * + * colortv: + * set 0 for monochrome crosshatch, 1 for pal ears, 2 for ntsc bars + * + * os: horizontal oversampling, typical values for 13.5MHz: + * 2 4/3 704*576, 15/11 720*576 + * 4 4/3 720*480 + * 5 4/3 704*480, 15/11 720*480, 4/3 768*576 14.4MHz + * 8 4/3 720*576, 20/11 720*576 + * 12 704->768 rerastering + * 16 720->768 rerastering + */ +access settings; +usersetting(); + +if(bsys<0 || bsys>12 || colortv<0 || colortv>3 || os<=0 || os>16) { + write('Error: bad user input: bsys, colortv, os=\t', bsys, colortv, os); + abort('Bad option -u bsys=N ?'); +} + +int[] bNdot= + { 12, 16, 12, 16, 1, 1, 1, 64, 10, 8, 10, 1, 1 }; +int[] bDdot= + { 11, 15, 11, 11, 1, 1, 1, 45, 11, 9, 11, 1, 1 }; +int[] bNh= + { 704, 720, 720, 720, 768, 768, 786, 720, 704, 720, 720, 1920, 1600 }; +int[] bNv= + { 576, 576, 576, 576, 576, 576, 576, 576, 480, 480, 480, 1080, 1200 }; +real[] bfs= + { 13.5,13.5,13.5,13.5, 14.75,14.4,14.75,13.5, 13.5,13.5,13.5, 36, 30 }; +int[] bNsy= + { 42, 42, 42, 42, 42, 42, 42, 42, 34, 34, 34, 78, 90 }; +int[] bNsh= + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; + +/* active lines for a 625 line frame + * The number of active video lines decreased around 1997. + * old: 3 run in + 575 visible + 3 run out = 581 lines + * new: 6 teletext and WSS + 575 visible + * Hence the image center shifted down by 3 lines. Thus + * old TV + new testcard = bottom is cut off, + * new TV + old testcard = top is cut off. + * + * To generate the old testcard either use Nv=582 Nsh=0 or Nv=576 Nsh=3. + * + * aspect ratio + * rimage=xsize/ysize rimage=rdot*Nh/Nv + * Nh=704 dots + * Nv=576 lines + * rd=ri*Nv/Nh=4/3*9/11=12/11 + * + * Nv: 480=2^5*3*5 576=2^6*3^2 + * Nh: 704=2^6*11 720=2^4*3^2*5 + * + * horizontal line distance for pre 1997 test pattern + * top 8 lines, 13 squares of Ny=43 lines, bottom 9 lines + * top 12 lines, 13 squares of Ny=42 lines, bottom 18 lines + * pairs are from odd even field + * Interlace test: Ny must be odd for a cross-hatch without centerline. + * + * squares: ly=Nsy, lx=rd*Nsx, lx=ly ==> Nsx=Nsy/rd={ 39.4, 38.5 } + * x line width 230 ns -> 3 dots + * bottom 2.9us red -> 39.15 dots + * + * resolution DPI from image aspect ratio + * Rv=Nv/ly, ly=4in + * ri=Ni/Di, Ni={4,15,16} Di={3,11,9} + * lx=ri*ly + * + * Rh=Nh/lx=Di*(Nh/(Ni*ly)) + * ==> ri=4/Di => Nh=k*16 + * ri=15/Di => Nh=k*60 + * ri=16/Di => Nh=k*64 + * + * resolution DPI from dot aspect ratio, general algorithm, + * + * rd=Nd/Dd=ldx/ldy + * + * assume 1 dot = Nd x Dd square subdots at a resolution of k, in dpi, then + * + * ldx=Nd/k, ldy=Dd/k ==> Rh=k/Nd, Rv=k/Dd + * + * choosing k=m*Nd*Dd for integer Rh and Rv gives + * + * ldx=1/(m*Dd), ldy=1/(m*Nd), Rh=m*Dd, Rv=m*Nd + * + * and + * + * lx=Nh*ldx=Nh/(m*Dd), ly=Nv*ldy=Nv/(m*Nd) + * + * so choose m for the intended height Ly, in inch, as + * + * m=round(Nv/(Ly*Nd)) + * + * which limits Ly<=Nv/Nd since Rv>=Nd. + */ +//cm=72/2.540005; +real Ly, ly, lx, ysize, xsize, rimage, xd, yd, pwidth; +int Nd, Dd, m, Nh, Nv, Nshift, Na, Nsy; +real fs, Ttone; + +Nd=bNdot[bsys]; +Dd=bDdot[bsys]*os; +Nh=bNh[bsys]*os; +Nv=bNv[bsys]; + +Ly=4; // 4 inch vertical size +m=floor(0.5+Nv/(Ly*Nd)); +if(m<1) m=1; +ly=Nv/(m*Nd); +lx=Nh/(m*Dd); + +ysize=ly*1inch; +xsize=lx*1inch; +rimage=xsize/ysize; +if(verbose > 1) + write('#Nd Dd m ri:\t', Nd, Dd, m, rimage); +//size(xsize,ysize,Aspect); // should not have any effect + +Nsy=bNsy[bsys]; // grating size in lines 42,43, 34,35 +Nshift=bNsh[bsys]; // shift image up: pre 1997 =3, 2007 =0 +fs=1e6*bfs[bsys]*os; +Na=0; // add 1,0,-1 to height of hor center squares for even Na+Nsy + +Ttone=fs/250e3; // period of ft=250 kHz, fs/ft=54 +real[] ftones={0.8e6/fs, 1.8e6/fs, 2.8e6/fs, 3.8e6/fs, 4.8e6/fs}; + +xd=xsize/Nh; +yd=ysize/Nv; +pwidth=min(abs(xd),abs(yd)); + +pen pdefault=squarecap+linewidth(pwidth); +pen pblack=pdefault+gray(0.0); +pen pwhite=pdefault+gray(1.0); + +/**** calculate grating repeats and size in tv dots ****/ +// horizontal lines +int divsy, rdisty, Nvc, Nt, Nb; + +Nvc=floor(Nv/2)-Nshift; +divsy=floor(((Nv-Na-2)/Nsy-1)/2); // (Nv-Na-2)/2-Nsy/2 dots for Nsy lengths +rdisty=Na+Nsy*(1+2*divsy); +Nt=Nvc-ceil(rdisty/2); +Nb=Nv-Nt-rdisty; +if(verbose > 1) + write('#divsy t b: \t',divsy,Nt,Nb); + +/* Nsyc: center square height + * line pairing test: verify distance of center to top and bot + * distance is odd ==> top=even/odd, cent=odd/even, bot=even/odd + * + * Nsyc odd: not possible + * + * Nsyc even: + * Nsyc/2 odd --> OK + * Nsyc/2 even --> stagger the raster one line upwards + * + * rcrowt top dist of hor line + * rcrowc true center for color info, distance to top of image. + * rcrowb bot dist of hor line + * + * Nt=Nvc-(offu+divsy*Nsy); + * Nb=Nv-( Nvc-(offd-divsy*Nsy) ); + * ==> Nt+Nb=Nv-Nsyc-2*divsy*Nsy + */ +int Nsyc, offu, offd, Nyst=0, i; +int[] rcrowt, rcrowc, rcrowb; + +Nsyc=Nsy+Na; +offu=floor(Nsyc/2); +offd=offu-Nsyc; +if(Nsyc%2 != 0) { + Nyst=1; +} else if(Nsyc%4 == 0) { + Nyst=1; /* stagger */ +} +for(i=0; i<=divsy; ++i) { + int iu, id, ou, od, ru, rd; + + iu=divsy-i; + id=divsy+i+1; + + ou=offu+Nsy*i; + od=offd-Nsy*i; + if(verbose > 1) + write(ou,od); + rcrowc[iu]=Nvc-ou; + rcrowc[id]=Nvc-od; + + ru=Nvc-(ou+Nyst); + rd=Nvc-(od+Nyst); + + rcrowt[iu]=ru-1; + rcrowb[iu]=ru+1; + + rcrowt[id]=rd-1; + rcrowb[id]=rd+1; +} +Nt=floor((rcrowt[0]+rcrowb[0])/2); +Nb=Nv-Nt-Nsyc-2*Nsy*divsy; +if(verbose > 1) + write('#st t b: \t',Nyst,Nt,Nb); + +/* vertical lines + * (Nh-2*os)/2-Nsx/2 dots available for divisions of Nsx dots. + * At least 5 dots margin left and right ==> use -10*os + */ +real lsq, Nsx; +int divsx, Nhc, Nl; + +lsq=Nsy*yd; +Nsx=lsq/xd; +divsx=floor(((Nh-10*os)/Nsx-1)/2); +Nhc=round(Nh/2); +Nl=Nhc-round((1+2*divsx)*Nsx/2); +if(verbose > 1) + write('#Nsx divsx Nl:\t',Nsx,divsx,Nl); + +/**** draw gray background ****/ +{ + path zz; + //zz=tvrect(0,0, Nh,Nv, xd,yd,Nv); + /* keep white canvas for castellations */ + zz=tvrect(Nl,Nt, Nh-Nl,Nv-Nb, xd,yd,Nv); + fill(zz, p=pdefault+gray(0.5)); + //dot(zz); +} +/**** draw center circle ****/ +real cx, cy, crad; +pair ccenter; +path ccirc; +cx=Nh/2; +cy=Nv/2-Nshift; +crad=6*Nsy; +if(Nv%2 != 0) { + crad+=0.5; +} +ccenter=tvps(cx,cy, xd,yd,Nv); +ccirc=circle(ccenter, crad*yd); +if(colortv<=0) { + draw(ccirc, p=pwhite+linewidth(2*yd)); +} + +/****** draw 2*divsy+2 horizontal lines **********************************/ +real[] rcang, rcoff; +pair[] rcright, rcleft; +int i, iend=2*divsy+1; +for(i=0; i<=iend; ++i) { + real y, phi, x; + path zzh; + pair zd; + + zzh=tvrect(0,rcrowt[i], Nh,rcrowb[i], xd,yd,Nv); + fill(zzh, p=pwhite); + + y=cy-rcrowc[i]; + //write(roff); + if(abs(y)<crad) { + phi=asin(y/crad); + } else { + phi=pi/2; + } + rcang[i]=phi; + x=(crad*cos(phi))*yd/xd; + rcoff[i]=x; + zd=tvps(cx+x,cy-y, xd,yd,Nv); + rcright[i]=zd; + //dot(zd); + zd=tvps(cx-x,cy-y, xd,yd,Nv); + rcleft[i]=zd; +} + +/****** draw 2*divsx+2 vertical lines ***************************/ +int[] coff, coffa, coffb; +int poffa=0, ccenterwhite=divsx%2; +for(i=0; i<=divsx; ++i) { + real cdist=(1+2*i)*Nsx; + int off, offa, offb; + path zzv; + + off=round(cdist/2); + //write(cdist,off); + offa=off+os; + offb=off-os; + + coff[i]=off; + coffa[i]=offa; + coffb[i]=offb; + + //write(Nhc-offa); + zzv=tvrect(Nhc+offb,0, Nhc+offa,Nv, xd,yd,Nv); + fill(zzv, p=pwhite); + zzv=tvrect(Nhc-offa,0, Nhc-offb,Nv, xd,yd,Nv); + fill(zzv, p=pwhite); + + /** top castellations, must end with black **/ + if(i%2 == ccenterwhite) { + int j, jnum; + + if(poffa == 0) { + poffa=-offb; + jnum=1; + } else { + jnum=2; + } + + for(j=0; j<jnum; ++j) { + int lc, rc; + path zzc; + + if(j==0) { + lc=Nhc+poffa; + rc=Nhc+offb; + } else { + lc=Nhc-offb; + rc=Nhc-poffa; + } + + zzc=tvrect(lc,0, rc,Nt-1, xd,yd,Nv); + fill(zzc, p=pblack); + zzc=tvrect(lc,Nv-Nb+1, rc,Nv, xd,yd,Nv); + fill(zzc, p=pblack); + } + } + + poffa=offa; +} +//write(coff); + +/** left and right castellations **/ +/* The bottom right red rectangle tests for a non causal color FIR + * filter in the receiver. The last 2..4 dots then typically appear + * colorless, green, or cyan. + * + * This comes from the fact that the chroma subcarrier is of lower + * bandwidth than luma and thus continues after the last active sample. + * These trailing (y,u,v) samples result from a signal to zero + * transition and depend on the transmit and receive filters. Samples + * from VHS, system B/G/D/K, system I, or a DVD player output are + * different. Nevertheless, a sharpening filter uses this data and so + * adds false color to the last dots. + */ +int lc, rc; +iend=2*divsy+1; +lc=Nhc-coffa[divsx]; +rc=Nhc+coffa[divsx]; +for(i=1; i<=iend; ++i) { + pen pcast; + if(i == iend && colortv>0) { + pcast=pdefault+rgb(0.75,0.0,0); + } else { + pcast=pblack; + } + if(i%2 == 1) { + int tr, br; + path zzc; + + tr=rcrowb[i-1]; + br=rcrowt[i]; + zzc=tvrect( 0,tr, lc,br, xd,yd,Nv); + fill(zzc, p=pblack); + zzc=tvrect(rc,tr, Nh,br, xd,yd,Nv); + fill(zzc, p=pcast); + } +} + +/****** markers for 4/3 aspect ratio ******/ +if(rimage>4/3) + rimarkers(rimage, Nh, Nhc, os, Nvc, Nsy, pwhite, xd, yd, Nv); + +/****** line pairing center ******/ +centerline(coff, coffa, coffb, Nhc, divsx, os, rcrowc, Nvc, divsy, + ccenter, rcoff, rcright, rcleft, pdefault, xd, yd, Nv); + +if(colortv>0) { + /* topbw structure */ + topbw(coff, Nhc, os, rcrowc[divsy-5], rcrowc[divsy-4], rcrowc[divsy-3], + ccenter, rcleft[divsy-4], rcleft[divsy-3], rcright[divsy-4], + rcright[divsy-3], pdefault, xd, yd, Nv); + + /* 250 kHz */ + testtone(Ttone, rcrowc[divsy-3], rcrowc[divsy-2], + cx, cy, crad, pdefault, xd, yd, Nv); + + /* color bars */ + colorbars(coff, Nhc, rcrowc[divsy-2], rcrowc[divsy-1], rcrowc[divsy], + ccenter, rcleft[divsy-2], rcleft[divsy], rcright[divsy-2], + rcright[divsy], pdefault, xd, yd, Nv); + + /* test frequencies */ + testfreqs(ftones, coff, Nhc, rcrowc[divsy+1], rcrowc[divsy+2], + rcrowc[divsy+3], ccenter, rcleft[divsy+1], rcleft[divsy+3], + rcright[divsy+1],rcright[divsy+3], pdefault, xd, yd, Nv); + + /* gray bars */ + graybars(coff, Nhc, rcrowc[divsy+3], rcrowc[divsy+4], ccenter, + rcleft[divsy+3], rcleft[divsy+4], + rcright[divsy+3], rcright[divsy+4], pdefault, xd,yd,Nv); + + /* PAL ears */ + if(colortv==1) { + palears(coff,coffa,coffb, Nhc, rcrowt, rcrowb, Nvc, divsy, -1, + pdefault, xd, yd, Nv); + palears(coff,coffa,coffb, Nhc, rcrowt, rcrowb, Nvc, divsy, 1, + pdefault, xd, yd, Nv); + } else if(colortv==2) { + ntscbars(coff,coffa,coffb, Nhc, rcrowt, rcrowb, Nvc, divsy, -1, + pdefault, xd, yd, Nv); + ntscbars(coff,coffa,coffb, Nhc, rcrowt, rcrowb, Nvc, divsy, 1, + pdefault, xd, yd, Nv); + ntscbars(coff,coffa,coffb, Nhc, rcrowt, rcrowb, Nvc, divsy, -2, + pdefault, xd, yd, Nv); + ntscbars(coff,coffa,coffb, Nhc, rcrowt, rcrowb, Nvc, divsy, 2, + pdefault, xd, yd, Nv); + } + + /* bottom wh - black - wh */ + bottombw(round((coff[2]+coff[3])/2), Nhc, rcrowc[divsy+4], rcrowc[divsy+5], + ccenter, rcleft[divsy+4], rcleft[divsy+5], + rcright[divsy+4], rcright[divsy+5], pdefault, xd, yd, Nv); + + /* bottom yellow red circle */ + bottomcirc(coff[0], Nhc, rcrowc[divsy+5], cx, cy, crad, + ccenter, rcleft[divsy+5], rcright[divsy+5], pdefault, xd, yd, Nv); +} + +/********************** set id *********************/ +{ /* dpi */ + pair rpos=tvps(Nhc,round((rcrowc[divsy-4]+rcrowc[divsy-5])/2), xd,yd,Nv); + string iRhor, iRver, ires; + real Rh, Rv; + + Rh=Nh/xsize*inch; + Rv=Nv/ysize*inch; + iRhor=format("%.4gx", Rh); + iRver=format("%.4gdpi", Rv); + ires=insert(iRver,0, iRhor); + + /* size info */ + int rowbot=round((rcrowc[divsy+4]+rcrowc[divsy+5])/2); + pair tpos=tvps(Nhc,rowbot, xd,yd,Nv); + string ihor, iver, itot, iasp, ifm; + real asp, fm; + + ihor=format("%ix",Nh); + iver=format("%i ",Nv); + itot=insert(iver,0, ihor); + asp=xsize/ysize; + iasp=format("%.3g ",asp); + fm=fs/1e6; + ifm=format("%.4gMHz",fm); + itot=insert(iasp,0, itot); + itot=insert(ifm,0, itot); + + /* size of square */ + int rowNsy=round((rcrowc[divsy+5]+rcrowc[divsy+6])/2); + pair Npos=tvps(Nhc+round((coff[4]+coff[5])/2),rowNsy, xd,yd,Nv); + string iNsy=format("%i",Nsy); + + pen pbw; + if(colortv>0) { + pbw=pdefault+gray(1.0); + } else { + pbw=pdefault+gray(0.0); + } + label(ires, rpos, p=pbw); + label(itot, tpos, p=pbw); + label(iNsy, Npos, p=pbw); + if(verbose > 1) + write('#res:\t', ires, itot, iNsy); +} + diff --git a/Master/texmf-dist/doc/asymptote/examples/twistedtubes.asy b/Master/texmf-dist/doc/asymptote/examples/twistedtubes.asy new file mode 100644 index 00000000000..9121ad6444d --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/twistedtubes.asy @@ -0,0 +1,30 @@ +import graph3; +import palette; + +size(300,300,keepAspect=true); + +real w=0.4; + +real f(triple t) {return sin(t.x);} +triple f1(pair t) {return (cos(t.x)-2cos(w*t.y),sin(t.x)-2sin(w*t.y),t.y);} +triple f2(pair t) {return (cos(t.x)+2cos(w*t.y),sin(t.x)+2sin(w*t.y),t.y);} +triple f3(pair t) {return (cos(t.x)+2sin(w*t.y),sin(t.x)-2cos(w*t.y),t.y);} +triple f4(pair t) {return (cos(t.x)-2sin(w*t.y),sin(t.x)+2cos(w*t.y),t.y);} + +surface s1=surface(f1,(0,0),(2pi,10),8,8,Spline); +surface s2=surface(f2,(0,0),(2pi,10),8,8,Spline); +surface s3=surface(f3,(0,0),(2pi,10),8,8,Spline); +surface s4=surface(f4,(0,0),(2pi,10),8,8,Spline); + +pen[] Rainbow=Rainbow(); +s1.colors(palette(s1.map(f),Rainbow)); +s2.colors(palette(s2.map(f),Rainbow)); +s3.colors(palette(s3.map(f),Rainbow)); +s4.colors(palette(s4.map(f),Rainbow)); + +defaultrender.merge=true; + +draw(s1); +draw(s2); +draw(s3); +draw(s4); diff --git a/Master/texmf-dist/doc/asymptote/examples/unitcircle.asy b/Master/texmf-dist/doc/asymptote/examples/unitcircle.asy new file mode 100644 index 00000000000..582f5f3c1ff --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/unitcircle.asy @@ -0,0 +1,14 @@ +size(0,150); + +pair z0=0; +pair z1=1; +real theta=30; +pair z=dir(theta); + +draw(circle(z0,1)); +filldraw(z0--arc(z0,1,0,theta)--cycle,lightgrey); +dot(z0); +dot(Label,z1); +dot("$(x,y)=(\cos\theta,\sin\theta)$",z); +arrow("area $\frac{\theta}{2}$",dir(0.5*theta),2E); +draw("$\theta$",arc(z0,0.7,0,theta),LeftSide,Arrow,PenMargin); diff --git a/Master/texmf-dist/doc/asymptote/examples/unitcircle3.asy b/Master/texmf-dist/doc/asymptote/examples/unitcircle3.asy new file mode 100644 index 00000000000..be282011dca --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/unitcircle3.asy @@ -0,0 +1,9 @@ +import three; + +size(100); + +path3 g=(1,0,0)..(0,1,0)..(-1,0,0)..(0,-1,0)..cycle; +draw(g); +draw(O--Z,red+dashed,Arrow3); +draw(((-1,-1,0)--(1,-1,0)--(1,1,0)--(-1,1,0)--cycle)); +dot(g,red); diff --git a/Master/texmf-dist/doc/asymptote/examples/unitoctant.asy b/Master/texmf-dist/doc/asymptote/examples/unitoctant.asy new file mode 100644 index 00000000000..89f851f6a23 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/unitoctant.asy @@ -0,0 +1,35 @@ +import graph3; + +currentprojection=orthographic(5,4,2); + +size(0,150); +patch s=octant1; +draw(surface(s),green+opacity(0.5)); +draw(s.external(),blue); + +triple[][] P=s.P; + +for(int i=0; i < 4; ++i) + dot(P[i],red); + +axes3("$x$","$y$",Label("$z$",align=Z)); +triple P00=P[0][0]; +triple P10=P[1][0]; +triple P01=P[0][1]; +triple P02=P[0][2]; +triple P11=P[1][1]; +triple P12=P[1][2]; +triple Q11=XYplane(xypart(P11)); +triple Q12=XYplane(xypart(P12)); + +draw(P11--Q11,dashed); +draw(P12--Q12,dashed); +draw(O--Q12--Q11--(Q11.x,0,0)); +draw(Q12--(Q12.x,0,0)); + +label("$(1,0,0)$",P00,-2Y); +label("$(1,a,0)$",P10,-Z); +label("$(1,0,a)$",P01,-2Y); +label("$(a,0,1)$",P02,Z+X-Y); +label("$(1,a,a)$",P11,3X); +label("$(a,a^2,1)$",P12,7X+Y); diff --git a/Master/texmf-dist/doc/asymptote/examples/upint.asy b/Master/texmf-dist/doc/asymptote/examples/upint.asy new file mode 100644 index 00000000000..b488358ec6a --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/upint.asy @@ -0,0 +1,13 @@ +import graph; +import lowupint; + +size(100,0); + +real a=-0.8, b=1.2; +real c=-1.0/sqrt(3.0); + +partition(a,b,c,max); + +arrow("$f(x)$",F(0.5*(a+b)),NNE,red); +label("$\cal{U}$",(0.5*(a+b),f(0.5*(a+b))/2)); + diff --git a/Master/texmf-dist/doc/asymptote/examples/vectorfield.asy b/Master/texmf-dist/doc/asymptote/examples/vectorfield.asy new file mode 100644 index 00000000000..12de66e49c5 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/vectorfield.asy @@ -0,0 +1,9 @@ +import graph; +size(100); + +pair a=(0,0); +pair b=(2pi,2pi); + +path vector(pair z) {return (0,0)--(sin(z.x),cos(z.y));} + +add(vectorfield(vector,a,b)); diff --git a/Master/texmf-dist/doc/asymptote/examples/vectorfield3.asy b/Master/texmf-dist/doc/asymptote/examples/vectorfield3.asy new file mode 100644 index 00000000000..a7bdbdb36c9 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/vectorfield3.asy @@ -0,0 +1,26 @@ +import graph3; + +size(12cm,0); + +currentprojection=orthographic(1,-2,1); +currentlight=(1,-1,0.5); + +real f(pair z) {return abs(z)^2;} + +path3 gradient(pair z) { + static real dx=sqrtEpsilon, dy=dx; + return O--((f(z+dx)-f(z-dx))/2dx,(f(z+I*dy)-f(z-I*dy))/2dy,0); +} + +pair a=(-1,-1); +pair b=(1,1); + +triple F(pair z) {return (z.x,z.y,0);} + +add(vectorfield(gradient,F,a,b,red)); + +draw(surface(f,a,b,Spline),gray+opacity(0.5)); + +xaxis3(XY()*"$x$",OutTicks(XY()*Label)); +yaxis3(XY()*"$y$",InTicks(YX()*Label)); +zaxis3("$z$",OutTicks); diff --git a/Master/texmf-dist/doc/asymptote/examples/vectorfieldsphere.asy b/Master/texmf-dist/doc/asymptote/examples/vectorfieldsphere.asy new file mode 100644 index 00000000000..7f1e49057a5 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/vectorfieldsphere.asy @@ -0,0 +1,17 @@ +import graph3; + +size(12cm); + +currentprojection=orthographic(1,-2,1); +currentlight=(1,-1,0.5); + +triple f(pair z) {return expi(z.x,z.y);} + +path3 vector(pair z) { + triple v=f(z); + return O--(v.y,v.z,v.x); +} + +add(vectorfield(vector,f,(0,0),(pi,2pi),10,0.25,red,render(merge=true))); + +draw(unitsphere,gray+opacity(0.5),render(compression=0,merge=true)); diff --git a/Master/texmf-dist/doc/asymptote/examples/venn.asy b/Master/texmf-dist/doc/asymptote/examples/venn.asy new file mode 100644 index 00000000000..f56440ba0a4 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/venn.asy @@ -0,0 +1,37 @@ +size(0,150); + +pen colour1=red; +pen colour2=green; + +pair z0=(0,0); +pair z1=(-1,0); +pair z2=(1,0); +real r=1.5; +path c1=circle(z1,r); +path c2=circle(z2,r); +fill(c1,colour1); +fill(c2,colour2); + +picture intersection; +fill(intersection,c1,colour1+colour2); +clip(intersection,c2); + +add(intersection); + +draw(c1); +draw(c2); + +label("$A$",z1); +label("$B$",z2); + +pair z=(0,-2); +real m=3; +margin BigMargin=Margin(0,m*dot(unit(z1-z),unit(z0-z))); + +draw(Label("$A\cap B$",0),conj(z)--z0,Arrow,BigMargin); +draw(Label("$A\cup B$",0),z--z0,Arrow,BigMargin); +draw(z--z1,Arrow,Margin(0,m)); +draw(z--z2,Arrow,Margin(0,m)); + +shipout(bbox(0.25cm)); +currentpicture.uptodate=true; diff --git a/Master/texmf-dist/doc/asymptote/examples/venn3.asy b/Master/texmf-dist/doc/asymptote/examples/venn3.asy new file mode 100644 index 00000000000..6118fab6e9a --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/venn3.asy @@ -0,0 +1,50 @@ +size(0,150); + +pen colour1=red; +pen colour2=green; +pen colour3=blue; + +real r=sqrt(3); + +pair z0=(0,0); +pair z1=(-1,0); +pair z2=(1,0); +pair z3=(0,r); + +path c1=circle(z1,r); +path c2=circle(z2,r); +path c3=circle(z3,r); + +fill(c1,colour1); +fill(c2,colour2); +fill(c3,colour3); + +picture intersection12; +fill(intersection12,c1,colour1+colour2); +clip(intersection12,c2); + +picture intersection13; +fill(intersection13,c1,colour1+colour3); +clip(intersection13,c3); + +picture intersection23; +fill(intersection23,c2,colour2+colour3); +clip(intersection23,c3); + +picture intersection123; +fill(intersection123,c1,colour1+colour2+colour3); +clip(intersection123,c2); +clip(intersection123,c3); + +add(intersection12); +add(intersection13); +add(intersection23); +add(intersection123); + +draw(c1); +draw(c2); +draw(c3); + +label("$A$",z1); +label("$B$",z2); +label("$C$",z3); diff --git a/Master/texmf-dist/doc/asymptote/examples/vertexshading.asy b/Master/texmf-dist/doc/asymptote/examples/vertexshading.asy new file mode 100644 index 00000000000..ea97b98daf3 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/vertexshading.asy @@ -0,0 +1,9 @@ +import three; + +size(200); + +currentprojection=perspective(4,5,5); + +draw(surface(unitcircle3,new pen[] {red,green,blue,white})); +draw(surface(shift(Z)*unitsquare3, + new pen[] {red,green+opacity(0.5),blue,black})); diff --git a/Master/texmf-dist/doc/asymptote/examples/washer.asy b/Master/texmf-dist/doc/asymptote/examples/washer.asy new file mode 100644 index 00000000000..457ae69fb83 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/washer.asy @@ -0,0 +1,14 @@ +import three; +size(10cm); + +path3[] p=reverse(unitcircle3)^^scale3(0.5)*unitcircle3; +path[] g=reverse(unitcircle)^^scale(0.5)*unitcircle; +triple H=-0.4Z; + +render render=render(merge=true); +draw(surface(p,planar=true),render); +draw(surface(shift(H)*p,planar=true),render); +material m=material(lightgray,shininess=1.0); +for(path pp : g) + draw(extrude(pp,H),m); + diff --git a/Master/texmf-dist/doc/asymptote/examples/washermethod.asy b/Master/texmf-dist/doc/asymptote/examples/washermethod.asy new file mode 100644 index 00000000000..d86bf8cd4df --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/washermethod.asy @@ -0,0 +1,43 @@ +import graph3; +import solids; +size(0,150); +currentprojection=perspective(0,0,11,up=Y); + +pen color1=green+opacity(0.25); +pen color2=red; +real alpha=250; + +real f(real x) {return 2x^2-x^3;} +pair F(real x) {return (x,f(x));} +triple F3(real x) {return (x,f(x),0);} + +ngraph=12; + +real x1=0.7476; +real x2=1.7787; +real x3=1.8043; + +path[] p={graph(F,x1,x2,Spline), + graph(F,0.7,x1,Spline)--graph(F,x2,x3,Spline), + graph(F,0,0.7,Spline)--graph(F,x3,2,Spline)}; + +pen[] pn=new pen[] {color1,color2,color1}; + +render render=render(compression=0); + +for(int i=0; i < p.length; ++i) { + revolution a=revolution(path3(p[i]),Y,0,alpha); + draw(surface(a),pn[i],render); + + surface s=surface(p[i]--cycle); + draw(s,pn[i],render); + draw(rotate(alpha,Y)*s,pn[i],render); +} + +draw((4/3,0,0)--F3(4/3),dashed); +xtick("$\frac{4}{3}$",(4/3,0,0)); + +xaxis3(Label("$x$",1),Arrow3); +yaxis3(Label("$y$",1),ymax=1.25,dashed,Arrow3); +arrow("$y=2x^2-x^3$",F3(1.6),X+Y,0.75cm,red); +draw(arc(1.1Y,0.3,90,0,7.5,180),Arrow3); diff --git a/Master/texmf-dist/doc/asymptote/examples/wedge.asy b/Master/texmf-dist/doc/asymptote/examples/wedge.asy new file mode 100644 index 00000000000..41b4326cf42 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/wedge.asy @@ -0,0 +1,23 @@ +import graph3; +import solids; +size(0,150); +currentprojection=perspective(8,10,2); +currentlight=White; + +draw(circle(O,4,Z)); +draw(shift(-4Z)*scale(4,4,8)*unitcylinder,green+opacity(0.2)); + +triple F(real x){return (x,sqrt(16-x^2),sqrt((16-x^2)/3));} +path3 p=graph(F,0,4,operator ..); +path3 q=reverse(p)--rotate(180,(0,4,4/sqrt(3)))*p--cycle; + +render render=render(merge=true); +draw(surface(q--cycle),red,render); + +real t=2; +path3 triangle=(t,0,0)--(t,sqrt(16-t^2),0)--F(t)--cycle; +draw(surface(triangle),blue,render); + +xaxis3("$x$",Arrow3,PenMargin3(0,0.25)); +yaxis3("$y$",Arrow3,PenMargin3(0,0.25)); +zaxis3("$z$",dashed,Arrow3); diff --git a/Master/texmf-dist/doc/asymptote/examples/westnile.asy b/Master/texmf-dist/doc/asymptote/examples/westnile.asy new file mode 100644 index 00000000000..7f63047983f --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/westnile.asy @@ -0,0 +1,64 @@ +import graph; + +size(9cm,8cm,IgnoreAspect); +string data="westnile.csv"; + +file in=input(data).line().csv(); + +string[] columnlabel=in; + +real[][] A=in.dimension(0,0); +A=transpose(A); +real[] number=A[0], survival=A[1]; + +path g=graph(number,survival); +draw(g); + +scale(true); + +xaxis("Initial no.\ of mosquitoes per bird ($S_{M_0}/N_{B_0}$)", + Bottom,LeftTicks); +xaxis(Top); +yaxis("Susceptible bird survival",Left,RightTicks(trailingzero)); +yaxis(Right); + +real a=number[0]; +real b=number[number.length-1]; + +real S1=0.475; +path h1=(a,S1)--(b,S1); +real M1=interp(a,b,intersect(h1,g)[0]); + +real S2=0.9; +path h2=(a,S2)--(b,S2); +real M2=interp(a,b,intersect(h2,g)[0]); + +labelx("$M_1$",M1); +labelx("$M_2$",M2); + +draw((a,S2)--(M2,S2)--(M2,0),Dotted); +draw((a,S1)--(M1,S1)--(M1,0),dashed); + +pen p=fontsize(10pt); + +real y3=0.043; +path reduction=(M1,y3)--(M2,y3); +draw(reduction,Arrow,TrueMargin(0,0.5*(linewidth(Dotted)+linewidth()))); + +arrow(shift(-20,5)*Label(minipage("\flushleft{\begin{itemize}\item[1.] +Estimate proportion of birds surviving at end of season\end{itemize}}",100), + align=NNE), + (M1,S1),NNE,1cm,p,Arrow(NoFill)); + +arrow(shift(-24,5)*Label(minipage("\flushleft{\begin{itemize}\item[2.] +Read off initial mosquito abundance\end{itemize}}",80),align=NNE), + (M1,0),NE,2cm,p,Arrow(NoFill)); + +arrow(shift(20,0)*Label(minipage("\flushleft{\begin{itemize}\item[3.] +Determine desired bird survival for next season\end{itemize}}",90),align=SW), + (M2,S2),SW,arrowlength,p,Arrow(NoFill)); + +arrow(shift(8,-15)*Label(minipage("\flushleft{\begin{itemize}\item[4.] +Calculate required proportional reduction in mosquitoes\end{itemize}}",90), + align=NW), + point(reduction,0.5),NW,1.5cm,p,Arrow(NoFill)); diff --git a/Master/texmf-dist/doc/asymptote/examples/westnile.csv b/Master/texmf-dist/doc/asymptote/examples/westnile.csv new file mode 100644 index 00000000000..cfc8493ed22 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/westnile.csv @@ -0,0 +1,402 @@ +sm0,0.001(T14) +0.0,0.9973 +0.1,0.9973 +0.2,0.9972 +0.3,0.9972 +0.4,0.9971 +0.5,0.9971 +0.6,0.9970 +0.7,0.9970 +0.8,0.9969 +0.9,0.9968 +1.0,0.9968 +1.1,0.9967 +1.2,0.9966 +1.3,0.9966 +1.4,0.9965 +1.5,0.9964 +1.6,0.9963 +1.7,0.9963 +1.8,0.9962 +1.9,0.9961 +2.0,0.9960 +2.1,0.9959 +2.2,0.9958 +2.3,0.9957 +2.4,0.9957 +2.5,0.9956 +2.6,0.9955 +2.7,0.9954 +2.8,0.9952 +2.9,0.9951 +3.0,0.9950 +3.1,0.9949 +3.2,0.9948 +3.3,0.9947 +3.4,0.9945 +3.5,0.9944 +3.6,0.9943 +3.7,0.9941 +3.8,0.9940 +3.9,0.9939 +4.0,0.9937 +4.1,0.9936 +4.2,0.9934 +4.3,0.9932 +4.4,0.9931 +4.5,0.9929 +4.6,0.9927 +4.7,0.9926 +4.8,0.9924 +4.9,0.9922 +5.0,0.9920 +5.1,0.9918 +5.2,0.9916 +5.3,0.9914 +5.4,0.9912 +5.5,0.9909 +5.6,0.9907 +5.7,0.9905 +5.8,0.9902 +5.9,0.9900 +6.0,0.9897 +6.1,0.9895 +6.2,0.9892 +6.3,0.9889 +6.4,0.9887 +6.5,0.9884 +6.6,0.9881 +6.7,0.9878 +6.8,0.9875 +6.9,0.9872 +7.0,0.9868 +7.1,0.9865 +7.2,0.9861 +7.3,0.9858 +7.4,0.9854 +7.5,0.9851 +7.6,0.9847 +7.7,0.9843 +7.8,0.9839 +7.9,0.9835 +8.0,0.9831 +8.1,0.9826 +8.2,0.9822 +8.3,0.9818 +8.4,0.9813 +8.5,0.9808 +8.6,0.9803 +8.7,0.9798 +8.8,0.9793 +8.9,0.9788 +9.0,0.9783 +9.1,0.9777 +9.2,0.9772 +9.3,0.9766 +9.4,0.9760 +9.5,0.9754 +9.6,0.9748 +9.7,0.9742 +9.8,0.9735 +9.9,0.9729 +10.0,0.9722 +10.1,0.9715 +10.2,0.9708 +10.3,0.9701 +10.4,0.9694 +10.5,0.9686 +10.6,0.9679 +10.7,0.9671 +10.8,0.9663 +10.9,0.9654 +11.0,0.9646 +11.1,0.9637 +11.2,0.9629 +11.3,0.9620 +11.4,0.9611 +11.5,0.9601 +11.6,0.9592 +11.7,0.9582 +11.8,0.9572 +11.9,0.9562 +12.0,0.9551 +12.1,0.9541 +12.2,0.9530 +12.3,0.9519 +12.4,0.9507 +12.5,0.9496 +12.6,0.9484 +12.7,0.9472 +12.8,0.9460 +12.9,0.9447 +13.0,0.9434 +13.1,0.9421 +13.2,0.9408 +13.3,0.9394 +13.4,0.9380 +13.5,0.9366 +13.6,0.9352 +13.7,0.9337 +13.8,0.9322 +13.9,0.9307 +14.0,0.9291 +14.1,0.9275 +14.2,0.9259 +14.3,0.9243 +14.4,0.9226 +14.5,0.9209 +14.6,0.9191 +14.7,0.9174 +14.8,0.9156 +14.9,0.9137 +15.0,0.9118 +15.1,0.9099 +15.2,0.9080 +15.3,0.9060 +15.4,0.9041 +15.5,0.9020 +15.6,0.8999 +15.7,0.8978 +15.8,0.8956 +15.9,0.8934 +16.0,0.8912 +16.1,0.8889 +16.2,0.8866 +16.3,0.8843 +16.4,0.8819 +16.5,0.8795 +16.6,0.8770 +16.7,0.8745 +16.8,0.8720 +16.9,0.8694 +17.0,0.8668 +17.1,0.8641 +17.2,0.8614 +17.3,0.8587 +17.4,0.8559 +17.5,0.8531 +17.6,0.8502 +17.7,0.8473 +17.8,0.8444 +17.9,0.8414 +18.0,0.8383 +18.1,0.8353 +18.2,0.8323 +18.3,0.8291 +18.4,0.8259 +18.5,0.8227 +18.6,0.8194 +18.7,0.8160 +18.8,0.8127 +18.9,0.8092 +19.0,0.8058 +19.1,0.8022 +19.2,0.7987 +19.3,0.7951 +19.4,0.7914 +19.5,0.7878 +19.6,0.7840 +19.7,0.7803 +19.8,0.7764 +19.9,0.7726 +20.0,0.7687 +20.1,0.7647 +20.2,0.7607 +20.3,0.7567 +20.4,0.7526 +20.5,0.7485 +20.6,0.7443 +20.7,0.7401 +20.8,0.7359 +20.9,0.7316 +21.0,0.7272 +21.1,0.7229 +21.2,0.7185 +21.3,0.7140 +21.4,0.7096 +21.5,0.7050 +21.6,0.7005 +21.7,0.6959 +21.8,0.6912 +21.9,0.6866 +22.0,0.6819 +22.1,0.6771 +22.2,0.6723 +22.3,0.6675 +22.4,0.6627 +22.5,0.6578 +22.6,0.6530 +22.7,0.6480 +22.8,0.6430 +22.9,0.6380 +23.0,0.6330 +23.1,0.6280 +23.2,0.6229 +23.3,0.6178 +23.4,0.6126 +23.5,0.6075 +23.6,0.6023 +23.7,0.5971 +23.8,0.5918 +23.9,0.5866 +24.0,0.5813 +24.1,0.5760 +24.2,0.5706 +24.3,0.5653 +24.4,0.5600 +24.5,0.5547 +24.6,0.5493 +24.7,0.5440 +24.8,0.5385 +24.9,0.5332 +25.0,0.5278 +25.1,0.5224 +25.2,0.5170 +25.3,0.5115 +25.4,0.5061 +25.5,0.5007 +25.6,0.4952 +25.7,0.4898 +25.8,0.4844 +25.9,0.4789 +26.0,0.4735 +26.1,0.4681 +26.2,0.4627 +26.3,0.4572 +26.4,0.4518 +26.5,0.4464 +26.6,0.4410 +26.7,0.4356 +26.8,0.4303 +26.9,0.4249 +27.0,0.4194 +27.1,0.4143 +27.2,0.4089 +27.3,0.4036 +27.4,0.3983 +27.5,0.3931 +27.6,0.3878 +27.7,0.3826 +27.8,0.3774 +27.9,0.3724 +28.0,0.3672 +28.1,0.3621 +28.2,0.3571 +28.3,0.3520 +28.4,0.3470 +28.5,0.3420 +28.6,0.3370 +28.7,0.3320 +28.8,0.3271 +28.9,0.3223 +29.0,0.3174 +29.1,0.3126 +29.2,0.3078 +29.3,0.3031 +29.4,0.2983 +29.5,0.2936 +29.6,0.2890 +29.7,0.2845 +29.8,0.2801 +29.9,0.2756 +30.0,0.2711 +30.1,0.2667 +30.2,0.2623 +30.3,0.2580 +30.4,0.2537 +30.5,0.2495 +30.6,0.2453 +30.7,0.2411 +30.8,0.2370 +30.9,0.2329 +31.0,0.2289 +31.1,0.2250 +31.2,0.2210 +31.3,0.2171 +31.4,0.2133 +31.5,0.2095 +31.6,0.2057 +31.7,0.2019 +31.8,0.1983 +31.9,0.1947 +32.0,0.1912 +32.1,0.1876 +32.2,0.1842 +32.3,0.1807 +32.4,0.1773 +32.5,0.1740 +32.6,0.1707 +32.7,0.1674 +32.8,0.1642 +32.9,0.1611 +33.0,0.1580 +33.1,0.1549 +33.2,0.1520 +33.3,0.1490 +33.4,0.1461 +33.5,0.1432 +33.6,0.1404 +33.7,0.1376 +33.8,0.1348 +33.9,0.1321 +34.0,0.1294 +34.1,0.1268 +34.2,0.1242 +34.3,0.1217 +34.4,0.1193 +34.5,0.1168 +34.6,0.1144 +34.7,0.1120 +34.8,0.1097 +34.9,0.1074 +35.0,0.1052 +35.1,0.1029 +35.2,0.1008 +35.3,0.0987 +35.4,0.0966 +35.5,0.0946 +35.6,0.0925 +35.7,0.0905 +35.8,0.0886 +35.9,0.0867 +36.0,0.0848 +36.1,0.0830 +36.2,0.0812 +36.3,0.0794 +36.4,0.0777 +36.5,0.0760 +36.6,0.0743 +36.7,0.0727 +36.8,0.0711 +36.9,0.0696 +37.0,0.0680 +37.1,0.0665 +37.2,0.0651 +37.3,0.0636 +37.4,0.0622 +37.5,0.0608 +37.6,0.0595 +37.7,0.0581 +37.8,0.0568 +37.9,0.0555 +38.0,0.0543 +38.1,0.0531 +38.2,0.0519 +38.3,0.0507 +38.4,0.0495 +38.5,0.0484 +38.6,0.0473 +38.7,0.0462 +38.8,0.0452 +38.9,0.0441 +39.0,0.0431 +39.1,0.0421 +39.2,0.0412 +39.3,0.0402 +39.4,0.0393 +39.5,0.0384 +39.6,0.0375 +39.7,0.0366 +39.8,0.0358 +39.9,0.0350 +40.0,0.0342 diff --git a/Master/texmf-dist/doc/asymptote/examples/workcone.asy b/Master/texmf-dist/doc/asymptote/examples/workcone.asy new file mode 100644 index 00000000000..5d102d86214 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/workcone.asy @@ -0,0 +1,42 @@ +import solids; +size(0,150); +currentprojection=orthographic(0,-30,5); + +real r=4; +real h=10; +real s=8; +real x=r*s/h; + +real sr=5; +real xr=r*sr/h; + +real s1=sr-0.1; +real x1=r*s1/h; + +real s2=sr+0.2; +real x2=r*s2/h; + +render render=render(compression=0,merge=true); + +path3 p=(0,0,0)--(x,0,s); +revolution a=revolution(p,Z); +draw(surface(a,4),lightblue+opacity(0.5),render); + +path3 q=(x,0,s)--(r,0,h); +revolution b=revolution(q,Z); +draw(surface(b),white+opacity(0.5),render); + +draw((-r-1,0,0)--(r+1,0,0)); +draw((0,0,0)--(0,0,h+1),dashed); + +path3 w=(x1,0,s1)--(x2,0,s2)--(0,0,s2); +revolution b=revolution(w,Z); +draw(surface(b),blue+opacity(0.5),render); +draw(circle((0,0,s2),x2)); +draw(circle((0,0,s1),x1)); + +draw("$x$",(xr,0,0)--(xr,0,sr),red,Arrow3,PenMargin3); +draw("$r$",(0,0,sr)--(xr,0,sr),N,red); +draw((string) r,(0,0,h)--(r,0,h),N,red); +draw((string) h,(r,0,0)--(r,0,h),red,Arrow3,PenMargin3); +draw((string) s,(-x,0,0)--(-x,0,s),W,red,Arrow3,Bar3,PenMargin3); diff --git a/Master/texmf-dist/doc/asymptote/examples/worksheet.asy b/Master/texmf-dist/doc/asymptote/examples/worksheet.asy new file mode 100644 index 00000000000..9894e5802b8 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/worksheet.asy @@ -0,0 +1,49 @@ +import fontsize; + +defaultpen(Helvetica()); + +picture pic; +unitsize(pic,mm); + +pair z=(0,0); +real length=88; +real height=8; +pair step=height*S; + +label(pic,"Word Wall Spelling",z,Align); +z += step; +frame f; +label(f,"Name:"); +pair z0=(max(f).x,min(f).y); +draw(f,z0--z0+50mm); +add(pic,f,z,Align); +z += step; + +for(int i=1; i <= 15; ++i) { + draw(pic,z--z+length); + z += step; + draw(pic,z--z+length,dashed+gray); + z += step; + void label(int i) { + label(pic,string(i)+".",z,0.2NE,fontsize(0.8*1.5*2*height*mm)+gray); + } + if(i <= 10) label(i); + else if(i == 11) { + pair z0=z+length/2; + pen p=fontsize(20pt); + label(pic,"Challenge Word",z0+N*height,I*Align.y,p+basealign); + label(pic,"(optional)",z0,I*Align.y,p); + } + else if(i == 12) label(1); + else if(i == 13) label(2); + else if(i == 14) label(3); +} +draw(pic,z--z+length); + +add(pic.fit(),(0,0),W); +add(pic.fit(),(0,0),E); +newpage(); +add(pic.fit(),(0,0),W); +add(pic.fit(),(0,0),E); + + diff --git a/Master/texmf-dist/doc/asymptote/examples/worldmap.asy b/Master/texmf-dist/doc/asymptote/examples/worldmap.asy new file mode 100644 index 00000000000..59479fffbe2 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/worldmap.asy @@ -0,0 +1,87 @@ +settings.outformat="pdf";
+size(20cm);
+
+// The required data file is available here:
+// http://www.uni-graz.at/~schwaige/asymptote/worldmap.dat
+// This data was originally obtained from
+// http://www.ngdc.noaa.gov/mgg_coastline/mapit.jsp
+
+real findtheta(real phi, real epsilon=realEpsilon) {
+ // Determine for given phi the unique solution -pi/2 <= theta <= pi/2 off
+ // 2*theta+sin(2*theta)=pi*sin(phi)
+ // in the non-trivial cases by Newton iteration;
+ // theoretically the initial guess pi*sin(phi)/4 always works.
+ real nwtn(real x, real y) {return x-(2x+sin(2x)-y)/(2+2*cos(2x));};
+ real y=pi*sin(phi);
+ if(y == 0) return 0.0;
+ if(abs(y) == 1) return pi/2;
+ real startv=y/4;
+ real endv=nwtn(startv,y);
+ if(epsilon < 500*realEpsilon) epsilon=500*realEpsilon;
+ while(abs(endv-startv) > epsilon) {startv=endv; endv=nwtn(startv,y);};
+ return endv;
+}
+
+pair mollweide(real lambda, real phi, real lambda0=0){
+ // calculate the Mollweide projection centered at lambda0 for the point
+ // with coordinates(phi,lambda)
+ static real c1=2*sqrt(2)/pi;
+ static real c2=sqrt(2);
+ real theta=findtheta(phi);
+ return(c1*(lambda-lambda0)*cos(theta), c2*sin(theta));
+}
+
+guide gfrompairs(pair[] data){
+ guide gtmp;
+ for(int i=0; i < data.length; ++i) {
+ pair tmp=mollweide(radians(data[i].y),radians(data[i].x));
+ gtmp=gtmp--tmp;
+ }
+ return gtmp;
+}
+
+string datafile="worldmap.dat";
+
+file in=input(datafile,comment="/").line();
+// new commentchar since "#" is contained in the file
+pair[][] arrarrpair=new pair[][] ;
+int cnt=-1;
+bool newseg=false;
+while(true) {
+ if(eof(in)) break;
+ string str=in;
+ string[] spstr=split(str,"");
+
+ if(spstr[0] == "#") {++cnt; arrarrpair[cnt]=new pair[] ; newseg=true;}
+ if(spstr[0] != "#" && newseg) {
+ string[] spstr1=split(str,'\t'); // separator is TAB not SPACE
+ pair tmp=((real) spstr1[1],(real) spstr1[0]);
+ arrarrpair[cnt].push(tmp);
+ }
+}
+
+for(int i=0; i < arrarrpair.length; ++i)
+ draw(gfrompairs(arrarrpair[i]),1bp+black);
+
+// lines of longitude and latitude
+pair[] constlong(real lambda, int np=100) {
+ pair[] tmp;
+ for(int i=0; i <= np; ++i) tmp.push((-90+i*180/np,lambda));
+ return tmp;
+}
+
+pair[] constlat(real phi, int np=100) {
+ pair[] tmp;
+ for(int i=0; i <= 2*np; ++i) tmp.push((phi,-180+i*180/np));
+ return tmp;
+}
+
+for(int j=1; j <= 5; ++j) draw(gfrompairs(constlong(-180+j/6*360)),white);
+draw(gfrompairs(constlong(-180)),1.5bp+white);
+draw(gfrompairs(constlong(180)),1.5bp+white);
+for(int j=0; j <= 12; ++j) draw(gfrompairs(constlat(-90+j/6*180)),white);
+//draw(gfrompairs(constlong(10)),dotted);
+
+close(in);
+shipout(bbox(1mm,darkblue,Fill(lightblue)), view=true);
+
diff --git a/Master/texmf-dist/doc/asymptote/examples/xsin1x.asy b/Master/texmf-dist/doc/asymptote/examples/xsin1x.asy new file mode 100644 index 00000000000..cf394efb1a6 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/xsin1x.asy @@ -0,0 +1,24 @@ +import graph; +size(300,0); + +real f(real x) {return (x != 0.0) ? x * sin(1.0 / x) : 0.0;} +pair F(real x) {return (x,f(x));} + +xaxis("$x$",red); +yaxis(red); +draw(graph(f,-1.2/pi,1.2/pi,1000)); +label("$x\sin\frac{1}{x}$",F(1.1/pi),NW); + +picture pic; +size(pic,50,IgnoreAspect); +xaxis(pic,red); +yaxis(pic,red); +draw(pic,graph(pic,f,-0.1/pi,0.1/pi,1000)); + +add(new void(frame f, transform t) { + frame G=shift(point(f,N+0.85W))*align(bbox(pic,blue),10SE); + add(f,G); + draw(f,t*box(min(pic,user=true),max(pic,user=true)),blue); + draw(f,point(G,E)--t*point(pic,W),blue); + }); + diff --git a/Master/texmf-dist/doc/asymptote/examples/xstitch.asy b/Master/texmf-dist/doc/asymptote/examples/xstitch.asy new file mode 100644 index 00000000000..5f332881733 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/xstitch.asy @@ -0,0 +1,170 @@ +pair c=(0,0.8); + +int iters(pair z, int max=160) { + int n=0; + while(abs(z) < 2 && n < max) { + z=z*z+c; + ++n; + } + return n; +} + +int[] cutoffs={12,15,20,30,40,60,200}; +int key(pair z) { + int i=iters(z); + int j=0; + while(cutoffs[j] < i) + ++j; + return j; +} + + +int width=210; +int height=190; + +real zoom=2.5/200; + +int[][] values=new int[width][height]; +int[] histogram; for(int v=0; v < 10; ++v) histogram.push(0); +for(int i=0; i < width; ++i) { + real x=zoom*(i-width/2); + for(int j=0; j < height; ++j) { + real y=zoom*(j-height/2); + int v=key((x,y)); + values[i][j]=v; + ++histogram[v]; + } +} + +// Print out a histogram. +write("histogram: "); +write(histogram); + + +pen linepen(int i, int max) { + real w=i == -1 || i == max+1 ? 2.0 : + i % 10 == 0 || i == max ? 1.0 : + i % 5 == 0 ? 0.8 : + 0.25; + return linewidth(w); +} + +pen xpen(int i) { + return linepen(i,width)+(i == width/2 ? red : + i == 75 || i == width-75 ? dashed : + black); +} + +pen ypen(int i) { + return linepen(i,height)+(i == height/2 ? red : + i == 75 || i == height-75 ? dashed : + black); +} + +// The length of the side of a cross stitch cell. +real cell=2.3mm; +transform t=scale(cell); + + +picture tick; +draw(tick,(0,0)--(1,1)); + +picture ell; +draw(ell,(0,1)--(0,0)--(0.7,0)); + +picture cross; +draw(cross,(0,0)--(1,1)); +draw(cross,(1,0)--(0,1)); + +picture star; +draw(star,(0.15,0.15)--(0.85,0.85)); +draw(star,(0.85,0.15)--(0.15,0.85)); +draw(star,(.5,0)--(.5,1)); +draw(star,(0,.5)--(1,.5)); + +picture triangle; +draw(triangle,(0,0)--(2,0)--(1,1.5)--cycle); + +picture circle; +fill(circle,shift(1,1)*unitcircle); + +picture ocircle; +draw(ocircle,shift(1,1)*unitcircle); + +picture spare; +fill(spare,(0,0)--(1,1)--(0,1)--cycle); + +picture[] pics={tick,ell,cross,star,triangle,circle}; +pen[] colors={black,0.2purple,0.4purple,0.6purple,0.8purple,purple, + 0.8purple+0.2white}; + +frame[] icons; +icons.push(newframe); +for(picture pic : pics) { + // Scaling factor, so that we don't need weird line widths. + real X=1.0; + frame f=pic.fit(.8X*cell,.8X*cell,Aspect); + f=scale(1/X)*f; + + // Center the icon in the cell. + f=shift((cell/2,cell/2)-0.5(max(f)-min(f)))*f; + + icons.push(f); +} + +void drawSection(int xmin, int xmax, int ymin, int ymax) { + static int shipoutNumber=0; + + // Draw directly to a frame for speed reasons. + frame pic; + + for(int i=xmin; i <= xmax; ++i) { + draw(pic,t*((i,ymin)--(i,ymax)),xpen(i)); + if(i%10 == 0) { + label(pic,string(i),t*(i,ymin),align=S); + label(pic,string(i),t*(i,ymax),align=N); + } + } + for(int j=ymin; j <= ymax; ++j) { + draw(pic,t*((xmin,j)--(xmax,j)),ypen(j)); + if(j%10 == 0) { + label(pic,string(j),t*(xmin,j),align=W); + label(pic,string(j),t*(xmax,j),align=E); + } + } + + if(xmin < 0) + xmin=0; + if(xmax >= width) + xmax=width-1; + if(ymin < 0) + ymin=0; + if(ymax >= height) + ymax=height-1; + + int stitchCount=0; + path box=scale(cell) *((0,0)--(1,0)--(1,1)--(0,1)--cycle); + for(int i=xmin; i < xmax; ++i) + for(int j=ymin; j < ymax; ++j) { + int v=values[i][j]; + add(pic,icons[v],(i*cell,j*cell)); + //fill(pic,shift(i*cell,j*cell)*box,colors[v]); + if(v != 0) + ++stitchCount; + } + + write("stitch count: ",stitchCount); + + // shipout("xstitch"+string(shipoutNumber),pic); + shipout(pic); + ++shipoutNumber; +} + +//drawSection(-1,width+1,-1,height+1); + + +//drawSection(-1,80,height-80,height+1); +//drawSection(70,150,height-80,height+1); +drawSection(quotient(width,2)-40,quotient(width,2)+40,quotient(height,2)-40,quotient(height,2)+40); +//drawSection(width-150,width-70,-1,80); +//drawSection(width-80,width+1,-1,80); diff --git a/Master/texmf-dist/doc/asymptote/examples/xxsq01.asy b/Master/texmf-dist/doc/asymptote/examples/xxsq01.asy new file mode 100644 index 00000000000..23a38393a94 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/xxsq01.asy @@ -0,0 +1,30 @@ +import graph3; +import solids; +size(0,150); +currentprojection=perspective(0,0,10,up=Y); + +pen color=green; +real alpha=250; + +real f(real x) {return x^2;} +pair F(real x) {return (x,f(x));} +triple F3(real x) {return (x,f(x),0);} + +path p=graph(F,0,1,n=10,operator ..)--cycle; +path3 p3=path3(p); + +revolution a=revolution(p3,X,-alpha,0); +render render=render(compression=0,merge=true); +draw(surface(a),color,render); +surface s=surface(p); +draw(s,color,render); +draw(rotate(-alpha,X)*s,color,render); + +draw(p3,blue); + +xaxis3(Label("$x$",1),xmax=1.25,dashed,Arrow3); +yaxis3(Label("$y$",1),Arrow3); +dot(Label("$(1,1)$"),(1,1,0),X+Y); +arrow("$y=x$",(0.7,0.7,0),Y,0.75cm,red); +arrow("$y=x^2$",F3(0.7),X,0.75cm,red); +draw(arc(1.1X,0.3,90,90,3,-90),Arrow3); diff --git a/Master/texmf-dist/doc/asymptote/examples/xxsq01x-1.asy b/Master/texmf-dist/doc/asymptote/examples/xxsq01x-1.asy new file mode 100644 index 00000000000..6d645a49664 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/xxsq01x-1.asy @@ -0,0 +1,35 @@ +import graph3; +import solids; +size(300); +currentprojection=perspective(0,2,10,up=Y); +currentlight=Viewport; + +pen color=green; + +real f(real x) {return x^2;} +pair F(real x) {return (x,f(x));} +triple F3(real x) {return (x,f(x),0);} + +path p=graph(F,0,1,n=10,operator ..)--cycle; +path3 p3=path3(p); + +revolution a=revolution(-X,p3,Y,0,180); +render render=render(merge=true); +draw(surface(a),color); +surface s=surface(p); +draw(s,color); +transform3 t=shift(-2X)*rotate(180,Y); +draw(t*s,color); +draw(p3); +draw(t*p3); + +draw((-1,0,0)--(-1,1,0),dashed); +xaxis3(Label("$x$",1),Arrow3); +yaxis3(Label("$y$",1),Arrow3); +dot(Label("$(1,1)$"),(1,1,0)); +dot(Label("$(-1,1)$"),(-1,1,0),W); +arrow("$y=x^{2}$",F3(0.7),X,1cm,red); +arrow("$y=x$",(0.3,0.3,0),X,1.5cm,red); +draw(circle((-1,1,0),2,Y),dashed); +draw((-1,1,0)--(1,1,0),dashed); +draw(shift(-X)*arc(0.02Y,0.3,90,0,0,0,CW),Arrow3); diff --git a/Master/texmf-dist/doc/asymptote/examples/xxsq01y.asy b/Master/texmf-dist/doc/asymptote/examples/xxsq01y.asy new file mode 100644 index 00000000000..770f4fc22cf --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/xxsq01y.asy @@ -0,0 +1,34 @@ +import solids; +size(0,150); +currentprojection=perspective(0,0,10,up=Y); +pen color=green; +real alpha=240; + +real f(real x) {return x^2;} +pair F(real x) {return (x,f(x));} +triple F3(real x) {return (x,f(x),0);} + +path p=graph(F,0,1,n=10,operator ..)--cycle; +path3 p3=path3(p); + +render render=render(compression=0,merge=true); + +draw(surface(revolution(p3,Y,0,alpha)),color,render); + +surface s=surface(p); +draw(s,color,render); +draw(rotate(alpha,Y)*s,color,render); + +draw(p3,blue); + +xaxis3(Label("$x$",1),Arrow3); +yaxis3(Label("$y$",1),ymax=1.25,dashed,Arrow3); + +dot("$(1,1)$",(1,1,0),X); +arrow("$y=x^{2}$",F3(0.7),X,0.75cm,red); +arrow("$y=x$",(0.8,0.8,0),Y,1cm,red); + +real r=0.4; +draw((r,f(r),0)--(r,r,0),red); +draw("$r$",(0,(f(r)+r)*0.5,0)--(r,(f(r)+r)*0.5,0),N,red,Arrows3,PenMargins3); +draw(arc(1.1Y,0.3,90,0,7.5,180),Arrow3); diff --git a/Master/texmf-dist/doc/asymptote/examples/yingyang.asy b/Master/texmf-dist/doc/asymptote/examples/yingyang.asy new file mode 100644 index 00000000000..68b0d0eea74 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/yingyang.asy @@ -0,0 +1,7 @@ +size(0,25cm); +guide center=(0,1){W}..tension 0.8..(0,0){(1,-.5)}..tension 0.8..{W}(0,-1); + +draw((0,1)..(-1,0)..(0,-1)); +filldraw(center{E}..{N}(1,0)..{W}cycle); +unfill(circle((0,0.5),0.125)); +fill(circle((0,-0.5),0.125)); diff --git a/Master/texmf-dist/doc/bg5conv/bg5conv.pdf b/Master/texmf-dist/doc/bg5conv/bg5conv.pdf Binary files differnew file mode 100644 index 00000000000..9e50e47e7fc --- /dev/null +++ b/Master/texmf-dist/doc/bg5conv/bg5conv.pdf diff --git a/Master/texmf-dist/doc/bibtex8/00readme.txt b/Master/texmf-dist/doc/bibtex8/00readme.txt new file mode 100644 index 00000000000..6322e51fcd3 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex8/00readme.txt @@ -0,0 +1,903 @@ +****************************************************************************** +FILE: $RCSfile: 00readme.txt,v $ + $Revision: 3.71 $ + $Date: 1996/08/18 20:38:55 $ +****************************************************************************** + + +An 8-bit Implementation of BibTeX 0.99 with a Very Large Capacity +================================================================= + + +Contents +-------- + + 0. Abstract + + 1. Introduction + 1.1 8-bit Character Set Support + 1.2 Big and Customisable Capacity + + 2. Distribution Kits and Where to Find Them + 2.1 bt371dos.zip + 2.2 bt371os2.zip + 2.3 bt371src.zip + 2.4 bt371csf.zip + + 3. Running 8-bit BibTeX + 3.1 Command line options + 3.2 Finding Files + 3.3 Environment variables + + 4. The Codepage and Sort Order (CS) File + 4.1 CS file syntax + 4.2 Testing a CS file + 4.3 Sharing your CS file + + 5. Building 8-bit BibTeX from Source Code + 5.1 DOS + 5.2 OS/2 + 5.3 Unix + 5.4 VMS + + 6. Reporting Bugs and Requesting Improvements + 6.1 Contacting the authors + 6.2 Further enhancements + + 7. Frequently Asked Questions + + 8. Acknowledgements + + 9. BibTeX Use and Copying Conditions + + 10. Change Log + + + +0. Abstract +----------- + +This abstract is in a format suitable for inclusion in BBS description files +(file_id.diz): + + (v3.71) "big" BibTeX with full 8-bit support + + An enhanced, portable C version of BibTeX. + Enhanced by conversion to "big" (32-bit) + capacity, addition of run-time selectable + capacity and 8-bit support extensions. + National character set and sorting order + are controlled by an external configuration + file. Various examples are included. + Freeware / GNU Public Licence. + + Niel Kempson <kempson@snowyowl.co.uk> + Alejandro Aguilar-Sierra <asierra@servidor.unam.mx> + + + +1. Introduction +---------------- + +8-bit BibTeX is an enhanced, portable C version of BibTeX 0.99. It has been +enhanced in these areas: + + - conversion to "big" (32-bit) capacity + - capacity selectable at run time + - flexible support for non-English languages using 8-bit character sets + - well matched to LateX2e and its "inputenc" package + +Oren Patashnik, the creator of BibTeX, is working on a new BibTeX 1.0 that +will be a modern implementation supporting large capacities and non-English +languages (see TUGboat, pages 269--274, volume 15, number 3, September 1994). +He is content for this version to be released, but hopes that people will +eventually migrate to BibTeX 1.0 when it is released. Its release date is +uncertain at the moment. + + + 1.1 Big and Customisable Capacity + --------------------------------- + + The original 16-bit code has been rewritten to use 32-bit data types + wherever possible. The result is a very large potential capacity. To + increase flexibility and to avoid BibTeX allocating all available memory, + the capacity of some key arrays can be set on the command line. + + For convenience, several standard capacities have been predefined: + default, big and huge. The key capacities are set as follows: + + Parameter Standard --big --huge --wolfgang + ------------------------------------------------------------ + Hash_Prime 4,253 8,501 16,319 30,011 + Hash_Size 5,000 10,000 19,000 35,000 + Max_Cites 750 2,000 5,000 7,500 + Max_Ent_Ints 3,000 4,000 5,000 7,500 + Max_Ent_Strs 3,000 6,000 10,000 10,000 + Max_Fields 17,250 30,000 85,000 125,000 + Max_Strings 4,000 10,000 19,000 30,000 + Pool_Size 65,530 130,000 500,000 750,000 + Wiz_Fn_Space 3,000 6,000 10,000 10,000 + + If these parameter names mean nothing to you, don't worry, you've + probably never exceeded BibTeX's capacity. + + + 1.2 8-bit Character Set Support + ------------------------------- + + BibTeX now accepts 8-bit characters in its input files and writes 8-bit + characters to its output files. The character set is defined by an + external configuration text file - the codepage and sort order ("CS") + file. + + The sort order can be defined for the language and character set. For + example, in German, the control sequence \"o (o umlaut) should be sorted + as if it were the letter "o", but after ordinary "o", leading to this + order: + + Trofer, Tr\"ofer, Trufer + + However, in Swedish, \"o (o umlaut) is treated as the 29th letter of the + alphabet and these entries would be sorted as: + + Trofer, Trufer, Tr\"ofer + + The sorting order is defined by an external configuration text file - + the codepage and sort order ("CS") file. + + This version of BibTeX, coupled with LaTeX2e and its "inputenc" package + provide a robust means of handling 8-bit character sets. + + + +2. Distribution Kits and Where to Find Them +-------------------------------------------- + +8-bit BibTeX is distributed as a set of ZIP files created by the freely +available implementation of ZIP by the Info-ZIP project. The files have all +been compressed using the new "deflation" algorithm and can only be +compressed using the Info-ZIP implementation of UNZIP, or PKUNZIP v2.04 or +later. Ancient versions of PKUNZIP (e.g. v1.10) will not be able to unZIP +the files and will complain with a message like: "PKUNZIP: Warning! I don't +know how to handle: xxxxxxxx.xxx". + +The "official" version of 8-bit BibTeX will be available by anonymous FTP +from the Comprehensive TeX Archive Network (CTAN) sites: + + ftp.tex.ac.uk:/tex-archive/biblio/bibtex/8-bit + ftp.uni-stuttgart.de:/tex-archive/biblio/bibtex/8-bit + +There are four main ZIP files in the complete 8-bit BibTeX distribution: + + bt###dos.zip bt###os2.zip bt###src.zip bt###csf.zip + +where ### is the latest version, currently 371 (for v3.71). Their contents +and purpose are summarised below. + + + 2.1 bt371dos.zip + ---------------- + + The binary + documentation kit for MS-DOS users. It contains all you + need to run 8-bit BibTeX under MS-DOS, but no source code. The + executable program uses a 32-bit virtual memory extender called EMX to + run in 32-bit mode. emTeX is probably the most comprehensive and capable + implementation of TeX for DOS & OS/2 and it too uses EMX. + + The kit contains these files: + + 00readme.txt this file + COPYING GNU copyright notice + HISTORY summary of changes made so far + csfile.txt documentation for codepage and sort order + ("CS") files + msdos/bibtex.exe the 8-bit BibTeX program + + EMX uses the VCPI mechanism to run in 32-bit mode and will therefore not + run in a DOS session under MS Windows. It will run under native DOS and + in a DOS session under OS/2. The EMX extender (v0.9b) is bound into + bibtex.exe, but you can always obtain the latest version of EMX by + anaonymous FTP from: + + ftp.uni-stuttgart.de:/pub/systems/os2/emx-0.9b + ftp.leo.org:/pub/comp/os/os2/gnu/emx+gcc + + If you want to run this version of BibTeX in a DOS session under MS + Windows, you have two choices: + + - get and install the RSX extender. RSX is a DPMI-compliant DOS + extender which is more or less compatible with emx. It is compatible + with EMX, DPMI servers and DOS sessions under MS Windows. The + official site for the latest version of RSX is + + ftp.uni-bielefeld.de:/pub/systems/msdos/misc + + but you can also get it by anonymous FTP from the same CTAN sites as + BibTeX: + + ftp.tex.ac.uk:/tex-archive/systems/msdos/dpmigcc + ftp.uni-stuttgart.de:/tex-archive/systems/msdos + + The files to look for are dpmigcc5.zip and rsxwin3a.zip + + If you use the emTeX implementation of TeX and friends, it may be + more convenient to get the "emxrsx" package - it's a minimal version + of RSX to allow emTeX to run in DOS sessions under MS Windows. It is + available by anonymous FTP from CTAN sites in the emTeX directory: + + ftp.tex.ac.uk:/tex-archive/systems/msdos/emtex + ftp.uni-stuttgart.de:/tex-archive/systems/msdos/emtex + + On the other hand, if you're using emTeX under MS Windows, you've + probably solved the problem already :-) + + - get the djgpp GNU C compiler and DOS extender package and build + BibTeX from the source code. The master site for djgpp is + ftp.delorie.com. + + + 2.2 bt371os2.zip + ---------------- + + The binary + documentation kit for OS/2 2.x and 3.x users. It contains + all you need to run 8-bit BibTeX under OS/2, but no source code. The + executable program was developed using the EMX development system and has + its run-time library linked in - there is no need to install EMX just to + run BibTeX. If you already have EMX installed want a smaller executable, + you'll need to rebuild from sources. + + The kit contains these files: + + 00readme.txt this file + COPYING GNU copyright notice + HISTORY summary of changes made so far + csfile.txt documentation for codepage and sort order + ("CS") files + os2/bibtex.exe the 8-bit BibTeX program + + + 2.3 bt371src.zip + ---------------- + + The complete source code kit to build 8-bit BibTeX on all supported + systems. The source code is known to build easily under MS-DOS and OS/2 + if you have the GNU C Compiler installed. The source code is quite + portable and contains almost no system-specific items - it should very + easily port to Unix or VMS. If you decide to port 8-bit BibTeX to + another platform, please let me know so that I can include your efforts + in the master distribution. + + The source kit contains these files: + + 00readme.txt this file + COPYING GNU copyright notice + HISTORY summary of changes made so far + csfile.txt documentation for codepage and sort order + ("CS") files + + bibtex.h definition of global parameters and limits + datatype.h definition of custom data types + gblprocs.h forward declaration of all global functions + gblvars.h declaration of global variables + sysdep.h determine the compiler and environment + + bibtex.c main source including system dependent code + bibtex-1.c part 1 of the system independent functions + bibtex-2.c part 2 of the system independent functions + bibtex-3.c part 3 of the system independent functions + bibtex-4.c part 4 of the system independent functions + + utils.c nearly all of the enhancement code + utils.h + + getopt.c the GNU getopt package for command line parsing + getopt1.c + getopt.h + + dos-emx.mak makefile for EMX GNU C under MS-DOS + dos-dj.mak makefile for DJGPP GNU C under MS-DOS + os2.mak makefile for EMX GNU C under OS/2 + unix.mak makefile for Unix variants + + + 2.4 bt371csf.zip + ---------------- + + The character set and sorting order is now defined by an external + configuration text file - the codepage and sort order ("CS") file. A + number of example files have been included with the master distribution, + but I hope that others will be written by 8-bit BibTeX users in due + course. To avoid the need to reissue to the master ZIP files every time + a new CS file is created, CS files will also be available as a separate + kit. + + At the time of writing, the kit contains these CS files: + + File Name Character Set Sorting Order + ------------------------------------------------------------- + 88591lat.csf ISO 8859-1 Latin + 88591sca.csf ISO 8859-1 Scandinavean + ascii.csf US ASCII English + cp437lat.csf IBM codepage 437 Latin + cp850lat.csf IBM codepage 850 Latin + cp850sca.csf IBM codepage 850 Scandinavean + cp866rus.csf IBM codepage 866 Russian + + + +3. Running 8-bit BibTeX +------------------------ + +Running 8-bit BibTeX is superficially the same as running the original +BibTeX, but there are quite a number of command line options that may be +specified. + + + 3.1 Command line options + ------------------------ + + The command line syntax is: + + bibtex [options] aux-file + + where "aux-file" is the name of the TeX auxilliary output file to be + processed by BibTeX. The trailing ".aux" may be omitted. + + Valid options are: + + -? --help + + Display some brief help text and then exit. + + -7 --traditional + + Operate in the original 7-bit mode. A CS file is not read: + only 7-bit ASCII characters are supported and sorting is + strictly by ASCII code value. + + BibTeX will not allow you to specify --traditional with + either the --8bit or --csfile option. + + -8 --8bit + + Force 8-bit mode. A CS file is not read. All 8-bit + characters (code > 127) are treated as letters and sorting is + strictly by code page value. + + BibTeX will not allow you to specify --8bit with either the + --csfile or --traditional option. + + -c --csfile FILE + + Read FILE as the BibTeX codepage and sort definition (CS) + file. The CS file is used to define the 8-bit character set + used by BibTeX and the order in which those characters should + be sorted. + + BibTeX will not allow you to specify --csfile with either + the --8bit or --traditional option. + + -d --debug TYPE + + Report debugging information to the BibTeX log file and the + standard error device. The value TYPE controls the type of + debugging information reported. TYPE can be one or more of: + + all - all debugging categories + csf - CS file processing + io - file I/O + mem - memory allocation and capacity + misc - other debugging information + search - path searching and file location + + It is possible that your version of BibTeX has been compiled + with debugging support disabled. If this is the case, BibTeX + will issue a warning message when --debug is specified. + + -s --statistics + + Report internal statistics to the BibTeX log file. + + It is possible that your version of BibTeX has been compiled + with statistics support disabled. If this is the case, + BibTeX will issue a warning message when --statistics is + specified. + + -t --trace + + Report execution tracing to the BibTeX log file. + + It is possible that your version of BibTeX has been compiled + with tracing support disabled. If this is the case, BibTeX + will issue a warning message when --trace is specified. + + -v --version + + Report BibTeX's version and then exit. + + -B --big + + Set BibTeX's capacity to "big". The size of particular + parameters will be set as follows (the default sizes are + shown in brackets): + + Hash_Prime 8,501 (4,253) + Hash_Size 10,000 (5,000) + Max_Cites 2,000 (750) + Max_Ent_Ints 4,000 (3,000) + Max_Ent_Strs 6,000 (3,000) + Max_Fields 30,000 (17,250) + Max_Strings 10,000 (4,000) + Pool_Size 130,000 (65,530) + Wiz_Fn_Space 6,000 (3,000) + + -H --huge + + Set BibTeX's capacity to "huge". The size of particular + parameters will be set as follows (the default sizes are + shown in brackets): + + Hash_Prime 16,319 (4,253) + Hash_Size 19,000 (5,000) + Max_Cites 5,000 (750) + Max_Ent_Ints 5,000 (3,000) + Max_Ent_Strs 10,000 (3,000) + Max_Fields 85,000 (17,250) + Max_Strings 19,000 (4,000) + Pool_Size 500,000 (65,530) + Wiz_Fn_Space 10,000 (3,000) + + -W --wolfgang + + Set BibTeX's capacity to "really huge" - required for + Wolfgang's PhD thesis. The size of particular parameters + will be set as follows (the default sizes are shown in + brackets): + + Hash_Prime 30,011 (4,253) + Hash_Size 35,000 (5,000) + Max_Cites 7,500 (750) + Max_Ent_Ints 7,500 (3,000) + Max_Ent_Strs 10,000 (3,000) + Max_Fields 125,000 (17,250) + Max_Strings 30,000 (4,000) + Pool_Size 750,000 (65,530) + Wiz_Fn_Space 10,000 (3,000) + + -M --min_crossrefs ## + + Set min_crossrefs to ##. If an item is cross-referenced at + least ## times, it will be placed in the list of citations, + even if it is not explicitly \cited as a reference. The + default value is 2. + + --mcites ## + + Allow a maximum of ## distinct \cites in the .aux files. + This number must be less than the maximum number of strings + (settable with --mstrings). + + --mentints ## + + Allow a maximum of ## integer entries in the .bib databases. + + --mentstrs ## + + Allow a maximum of ## string entries in the .bib databases. + + --mfields ## + + Allow a maximum of ## fields in the .bib databases. + + --mpool ## + + Set the string pool to ## bytes. + + --mstrings ## + + Allow a maximum of ## unique strings. This number must be + less than the hash size and greater than the maximum number + of \cites (settable with --mcites). + + --mwizfuns ## + + Allow a maximum of ## wizard functions. + + + 3.2 Finding Files + ----------------- + + 8-bit BibTeX looks for input files in three different steps as summarised + below. As soon as 8-bit BibTeX finds a matching file, it stops looking + (i.e. only the first matching file is used). In order, the three steps + are: + + - look for the file in the current working directory. + + - if the appropriate environment variable has been set (e.g. BSTINPUT), + treat its value as a list of directories to be searched. Look for the + file in each of the directories in the list. + + - if the appropriate environment variable (e.g. BSTINPUT) has not been + set, use a predefined "fallback" path as a list of directories to be + searched. + + A search list consists of a number of directories separated by a delimiter + (semicolons for MS-DOS & OS/2, colons for Unix and commas for VMS). + + As distributed, the strategy adopted by 8-bit BibTeX for opening specific + file types is + + .aux files + + - look in current working directory only + + .bib (BibTeX database) files + + - look in current working directory + - search along path defined by environment variable BIBINPUT + - search along fallback path (empty by default) + + .bst (BibTeX style) files + + - look in current working directory + - search along path defined by environment variable BSTINPUT + - search along fallback path (empty by default) + + .csf (CS) files + + - look in current working directory + - search along path defined by environment variable CSFINPUT + - search along fallback path (empty by default) + + The name of the CS file is determined using a number of steps + + - use value of --csfile command line option, + - use value of the BIBTEX_CSFILE environment variable + - use fallback CS file name (empty by default) + + Output files + + All of BibTeX's output (.bbl, .blg) files are created in the + current working directory. + + + The environment variables and fallback paths used by 8-bit BibTeX are + defined in the Makefile and set at compile time, but you can determine + what your version of 8-bit BibTeX is using by starting it with the command + line + + bibtex --debug=search non-existent-file-name + + The debugging output (written to the standard error device) should look + something like: + + D-SCH: Search strategy for .aux files: + D-SCH: search path environment variable: <undefined> + D-SCH: fallback search path: <undefined> + D-SCH: Search strategy for .bib files: + D-SCH: search path environment variable: BIBINPUT + D-SCH: BIBINPUT value: e:\usr\c\bibtex + D-SCH: fallback search path: e:/usr/latex/bibtex;e:/emtex/bibtex/bib + D-SCH: Search strategy for .bst files: + D-SCH: search path environment variable: BSTINPUT + D-SCH: BSTINPUT value: <undefined> + D-SCH: fallback search path: e:/usr/latex/bibtex;e:/emtex/bibtex/bst + D-SCH: Search strategy for .csf files: + D-SCH: search path environment variable: CSFINPUT + D-SCH: CSFINPUT value: e:\usr\c\bibtex + D-SCH: fallback search path: e:/usr/latex/bibtex;e:/emtex/bibtex/csf + D-SCH: Default .csf file: + D-SCH: file name environment variable: BIBTEX_CSFILE + D-SCH: BIBTEX_CSFILE value: e:/emtex/texinput/cp437lat.csf + D-SCH: fallback file name: cp850lat.csf + + The current working directory will always be searched, even if the + environment variable and fallback paths have not been specified (e.g. as + for .aux files in the above example). + + If the default behaviour is not to your liking, you will need to rebuild + 8-bit BibTeX from its source code (see section 5). + + + 3.3 Environment variables + ------------------------- + + As supplied, 8-bit BibTeX uses a number of environment variables: + + BIBINPUT search path for database (.bib) files + BSTINPUT search path for style (.bst) files + CSFINPUT search path for CS (.csf) files + BIBTEX_CSFILE the default CS file + TMP directory for virtual memory files (DOS only) + + The name of the environment variables used may be changed (in the + Makefile) when BibTeX is built. See the appropriate Makefile for your + environment and remember that you can use the "--debug=search" command + line option to reveal the environment variables used by your version of + 8-bit BibTeX (see previous section). + + All environment variables used as a search list (BIBINPUT, BSTINPUT & + CSFINPUT) can be set to a number of separate directories, separated + by a delimiter (semicolons for MS-DOS & OS/2, colons for Unix and + commas for VMS). + + Examples for MS-DOS and OS/2 are: + + SET BIBINPUT=e:\data\tex\bibtex;c:\emtex\bibtex\bib + SET BSTINPUT=e:\data\tex\bibtex;c:\emtex\bibtex\bst + SET CSFINPUT=e:\data\tex\bibtex + SET BIBTEX_CSFILE=c:\data\tex\bibtex\cp850lat.csf + + Examples for Unix: + + setenv BIBINPUT /u/kempson/bibtex:/usr/local/lib/tex/bib-files + setenv BSTINPUT /u/kempson/bibtex:/usr/local/lib/tex/bst-files + setenv CSFINPUT /u/kempson/bibtex:/usr/local/lib/tex/csf-files + setenv BIBTEX_CSFILE /usr/local/lib/tex/csf-files/88591lat.csf + + Examples for VMS: + + define BIBINPUT "sys$login:,disk$tex:[bibtex.bib-files]" + define BSTINPUT "sys$login:,disk$tex:[bibtex.bst-files]" + define CSFINPUT "sys$login:,disk$tex:[bibtex.csf-files]" + define BIBTEX_CSFILE disk$tex:[bibtex.csf-files]88951lat.csf + + + +4. The Codepage and Sort Order (CS) File +----------------------------------------- + +The Codepage and Sort definition (CS) file is used to define the 8-bit +character set used by BibTeX and the order in which those characters should +be sorted. + +Please see the associated csfile.txt for details of CS file syntax and +guidelines for testing new CS files. NOTE: it contains many 8-bit characters +and may cause problems if you try to display or print it on 7-bit systems +(e.g. older versions of Unix). + + + +5. Building 8-bit BibTeX from Source Code +------------------------------------------ + +The 8-bit BibTeX source is fairly standard ANSI C with almost no system +specific code. It should therefore be relatively straightforward to build it +in a different environment if you have GNU C or an ANSI C compiler. + +A number of Makefiles have been provided to build 8-bit BibTeX from source +code: + + dos-emx.mak makefile for EMX GNU C under MS-DOS + dos-dj.mak makefile for DJGPP GNU C under MS-DOS + os2.mak makefile for EMX GNU C under OS/2 + unix.mak makefile for Unix variants + +Whichever Makefile you use, you need to check that the "local definitions" +are appropriate for your system. There are three small sections to +customise: + + BibTeX File Searching + + - specifies the names of environment variables and paths to be used when + searching for input files + + Utility Programs + + - specifies the names of programs to be used for simple functions + + Compiler/Linker + + - specifies compiler/linker command lines + +If your system is already supported it should not be necessary to modify any +part of the Makefile except these three sections. + +Brief notes for specific environments follow. + + + 5.1 DOS + ------- + + 8-bit BibTeX has been built and tested using the EMX and DJGPP + development environments. Both are based on GNU C with their own + custom 32-bit extenders. + + + 5.2 OS/2 + -------- + + The EMX development environment is supported. + + + 5.3 Unix + -------- + + Most variants of Unix supporting GNU C should be capable of building + and running 8-bit BibTeX. + + + 5.4 VMS + ------- + + The authors have not built or tested this version of 8-bit BibTeX on + VMS, but see no reason why it shouldn't compile and run successfully + if GNU C is installed on the system. (The only system-dependent code + in 8-bit BibTeX concerns file opening and provision has been made for + VMS file modes.) + + If you have GNU C installed, we recommend starting with a copy of the + unix.mak Makefile and customising it for VMS. If you successfully + get 8-bit BibTeX running under VMS, *please* let the authors know how + you did it. + + + +6. Reporting Bugs and Requesting Improvements +---------------------------------------------- + +Where possible, we will try to fix bugs and will consider requests for +improvements. If you are reporting a bug, please provide as much information +as possible (e.g. operating environment, 8-bit BibTeX version and source, +exact error message and the offending files if possible). + +The most common message is of the form "BibTeX doesn't work on XXXX". This +is generally of no help in debugging a problem so please provide as much +information as possible. + + + 6.1 Contacting the authors + -------------------------- + + The authors are + + Niel Kempson + Snowy Owl Systems Limited, Cheltenham, England + E-mail: kempson@snowyowl.co.uk + + and + + Alejandro Aguilar-Sierra + Centro de Ciencias de la Atm\'osfera, + Universidad Nacional Aut\'onoma de M\'exico, M\'exico + E-mail: asierra@servidor.unam.mx + + Niel Kempson did the original manual translation from WEB to C, + conversion to "big" (32-bit) capacity, addition of run-time selectable + capacity and part of the 8-bit support extensions. He intermittently + maintains the master version of the source code. + + Alejandro Aguilar-Sierra should take the credit for most of the 8-bit + function provided by this version of BibTeX. + + + 6.2 Further Enhancements + ------------------------ + + No program is perfect and this version of BibTeX is no exception to that + rule. Some known weaknesses are: + + - the 8-bit support is currently limited to single 8-bit characters. + TeX control sequences (e.g. \'{A}) are not interpreted and treated in + the same way as the equivalent 8-bit character. + + - it is not possible to redefine the lower 128 character codes. This + excludes support for character codes not built on ASCII (e.g. EBCDIC). + + Future enhancements will be considered, but it may be time to build a + "proper" system built from the ground up to handle 8-bit character + sets. BibTeX 1.0 promises to be this system. + + Other items that ought to be on the "to do" list: + + - path searching using Karl Berry's kpathsea package + - TeX format documentation + - Unix man pages + - OS/2 .inf format documentation + - native 32-bit support for MS Windows 95/NT + + + +7. Frequently Asked Questions +------------------------------ + +When I run the DOS version 8-bit BibTeX in a DOS window under MS Windows 3.x, +95 or NT, I get the message "DPMI not supported". + + 8-bit BibTeX has been built using the EMX development environment. It + uses the VCPI mechanism to run in 32-bit mode and will therefore not run + in a DOS session under MS Windows. + + If you want to run this version of 8-bit BibTeX in a DOS session under + MS Windows, you have two choices: + + - get and install the RSX extender + - rebuild from sources using a suitable compiler + + See section 2.1 for more information. + + +8-bit BibTeX doesn't find my .bib/.bst files. How can I find out where it +looks for them? + + See section 3.2 + + +There isn't a CS file for my character set / language sorting order + + Creating a new CS file should be relatively straightforward. If you'd + like to try, please contact the authors for assistance. If you don't + need assistance, *please* let us have a copy of your finished CS file so + we can include it in the distribution. + + + +8. Acknowledgement +------------------- + +The original BibTeX was written by Oren Patashnik using Donald Knuth's WEB +system. This format produces a PASCAL program for execution and a TeX +documented version of the source code. This program started as a (manual) +translation of the WEB source into C. + + + +9. BibTeX Use and Copying Conditions +------------------------------------- + +The programs currently being distributed that relate to 8-bit BibTeX are +*free*; this means that everyone may use them and redistribute them freely. +The 8-bit BibTeX-related programs are not in the public domain; they are +copyrighted and there are restrictions on their distribution, but these +restrictions are designed to permit everything that a good cooperating +citizen would want to do. What is not allowed is to try to prevent others +from further sharing any version of these programs that they might get from +you. + +Specifically, we want to make sure that you have the right to give away +copies of the programs that relate to 8-bit BibTeX, that you receive source +code or else can get it if you want it, that you can change these programs or +use pieces of them in new free programs, and that you know you can do these +things. + +To make sure that everyone has such rights, we have to forbid you to deprive +anyone else of these rights. For example, if you distribute copies of the +8-bit BibTeX related programs, you must give the recipients all the rights +that you have. You must make sure that they, too, receive or can get the +source code. And you must tell them their rights. + +Also, for our own protection, we must make certain that everyone finds out +that there is no warranty for the programs that relate to 8-bit BibTeX. If +these programs are modified by someone else and passed on, we want their +recipients to know that what they have is not what we distributed, so that +any problems introduced by others will not reflect on our reputation. + +The precise conditions of the licences for the programs currently being +distributed that relate to 8-bit BibTeX are found in the General Public +Licences that accompany them. + + + +10. Change Log +--------------- + +$Log: 00readme.txt,v $ +Revision 3.71 1996/08/18 20:38:55 kempson +Official release 3.71 (see HISTORY for details). + +Revision 3.70 1996/04/29 20:17:53 kempson +Final documentation & cosmetic changes for official release 3.70. + +Revision 1.2 1995/10/21 22:23:01 kempson +Updated for v3.60 beta. Added description of --wolfgang option. +Added some more information on running BibTeX in a Windows DOS session. +Changed the example of CSF debugging output to something that is correct. + +Revision 1.1 1995/09/24 20:50:00 kempson +Updated for the final beta test release. + +Revision 1.0 1995/09/24 20:42:30 kempson +Placed under RCS control + +******************************** END OF FILE ******************************* diff --git a/Master/texmf-dist/doc/bibtex8/HISTORY b/Master/texmf-dist/doc/bibtex8/HISTORY new file mode 100644 index 00000000000..f9c8619dcea --- /dev/null +++ b/Master/texmf-dist/doc/bibtex8/HISTORY @@ -0,0 +1,65 @@ +****************************************************************************** +FILE: $RCSfile: HISTORY,v $ + $Revision: 3.71 $ + $Date: 1996/08/18 20:42:32 $ +****************************************************************************** + + +8-Bit BibTeX CHANGE HISTORY +--------------------------- + +31-May-2005 Karl Berry + - Applied utils.c patch from Arne J\"orgensen for space character + sorting weight, sent to tex-live@tug.org 31 May 2005 15:52:07 +0200. + +v3.71 18-August-1996 Niel Kempson <snowyowl.co.uk> + + - Changed default environment variables used for consistency across OS + implementations and better compatibility with emTeX. Now uses + BIBINPUT, BSTINPUT & CSFINPUT as the default environment variables + for .bib, .bst and .csf files respectively. + + "Hard-coded" fallback search paths can now be specified for use if + the chosen environment variables are not defined. The environment + variables and the fallback paths are now defined in the Makefile + rather than in sysdep.h. + + Thanks to Lars Frellesen <frelle@math-tech.dk> for spotting the + inconsistency and his Makefile suggestions. + + - Fixed bug in handling of CSF \order section. Any alpha or numeric + character may now be specified in the sort order - previously only + alphas were allowed and BibTeX didn't correctly sort citations like + Knuth89, Knuth92 because the digits were ignored during sort + comparisons. Corrected example CS files to include digits in the + sort orders. Thanks to Andrei Grinkevitch <grin@bals.usr.pu.ru> for + spotting this one. + + - Included the first contributed CS file: for codepage 866 with a Russian + sorting order. Thanks again to Andrei Grinkevitch <grin@bals.usr.pu.ru>. + + - Added the missing 'd' to the sort section of 88591lat.csf. Thanks to + Tim Geisler <geisler@pms.informatik.uni-muenchen.de>. + + - Removed CS files from all but the bt371csf.zip distribution file. + + - Clarified 00readme.txt, specifically sections dealing with environment + variables and CS files. Moved 8-bit section describing CS files into + a separate csfile.txt because some people were having problems when + they tried to view the 8-bit 00readme.txt file on a 7-bit Unix + system. Thanks to Ken Smith <kgs@maths.uq.oz.au> for highlighting + this issue. + + - Reinstated the -W option (--wolfgang did work). Thanks to Thomas + Plagwitz <tplagiwt@ix.urz.uni-heidelberg.de> for spotting this. + + - Fixed str_lookup() to work with a hash size > 32767. + + - Created new HISTORY file. + + +v3.70 29-Apr-1996 Niel Kempson <snowyowl.co.uk> + + Final documentation & cosmetic changes for official release 3.70. + +******************************** END OF FILE ******************************* diff --git a/Master/texmf-dist/doc/bibtex8/csfile.txt b/Master/texmf-dist/doc/bibtex8/csfile.txt new file mode 100644 index 00000000000..9f112a466c3 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex8/csfile.txt @@ -0,0 +1,318 @@ +****************************************************************************** +FILE: $RCSfile: csfile.txt,v $ + $Revision: 3.71 $ + $Date: 1996/08/18 20:41:31 $ +****************************************************************************** + + +An 8-bit Implementation of BibTeX 0.99 with a Very Large Capacity +================================================================= + + +Contents +-------- + + 1. The Codepage and Sort Order (CS) File + 1.1 CS file syntax + 1.2 Testing a CS file + 1.3 Sharing your CS file + + 2. Change Log + + + +1. The Codepage and Sort Order (CS) File +----------------------------------------- + +The Codepage and Sort definition (CS) file is used to define the 8-bit +character set used by BibTeX and the order in which those characters should +be sorted. + +NOTE: this file contains many 8-bit characters and may cause problems + if you try to display or print it on 7-bit systems (e.g. older + versions of Unix). + + + 1.1 CS file syntax + ------------------ + + The codepage and sorting order (CS) file defines how BibTeX will treat an + 8-bit character set, specifically which characters are to be treated as + letters, the upper/lower case relationships between characters, and the + sorting order of characters. + + The CS file may contain a number of sections, each presented in the form + of a TeX macro: + + \section-name{ + <section definitions> + } + + Four sections are currently supported: \lowupcase, \lowercase, \uppercase + and \order. The syntax of the four supported sections is summarised + below. + + 8-bit characters may be entered naturally, but to avoid problems with + character set translation or corruption, they can also be entered using + the TeX-style portable notation for character codes, i.e. ^^XX, where XX + is the hexadecimal value ofthe character code. + + Reading of the sections ends when the first '}' character is reached, so + '}' can't be included in a section. You can, however, use ^^7d instead. + + The percent sign ('%') is used to introduce a trailing comment - it and + all remaining characters on a line are ignored. If you need to insert a + percent character, you can use ^^25 instead. + + + \lowupcase section + + The \lowupcase section of the CS file is used to define the lower + /upper and upper/lower case relationship of pairs of specified + characters. It is only used if the relationship is symmetrical - use + \lowercase or \upcase if it isn't. + + The syntax of the \lowupcase section is: + + \lowupcase{ + <LC-1> <UC-1> % Comment begins with a percent sign + <LC-2> <UC-2> + ... + <LC-N> <UC-N> + } + + Each <LC-n> <UC-n> pair of characters defines that the upper case + equivalent of <LC-n> is <UC-n> *and* the lower case equivalent of + <UC-n> is <LC-n>. + + You cannot redefine the lower or upper case equivalent of an ASCII + character (code < 128), so all instances of <LC-n> and <UC-n> (i.e. + both sides of the relationship) must have codes > 127. + + + \lowercase section + + The \lowercase section of the CS file is used to define the lower + case equivalent of specified characters. It should normally only be + used if the relationship isn't symmetrical - use \lowupcase if it is. + + The syntax of the \lowercase section is: + + \lowercase{ + <UC-1> <LC-1> % Comment begins with a percent sign + <UC-2> <LC-2> + ... + <UC-N> <LC-N> + } + + Each <LC-n> <UC-n> pair of characters defines that the lower case + equivalent of <UC-n> is <LC-n>. + + You cannot redefine the lower case equivalent of an ASCII character + (code < 128), so all instances of <UC-n> (i.e. the left hand side of + the relationship) must have codes > 127. + + + \uppercase section + + The \uppercase section of the CS file is used to define the upper + case equivalent of specified characters. It should normally only be + used if the relationship isn't symmetrical - use \lowupcase if it is. + + The syntax of the \uppercase section is: + + \uppercase{ + <LC-1> <UC-1> % Comment begins with a percent sign + <LC-2> <UC-2> + ... + <LC-N> <UC-N> + } + + Each <LC-n> <UC-n> pair of characters defines that the upper case + case equivalent of <LC-n> is <UC-n>. + + You cannot redefine the upper case equivalent of an ASCII character + (code < 128), so all instances of <LC-n> (i.e. the left hand side of + the relationship) must have codes > 127. + + + \order section + + The \order section of the CS file is used to define the order in + which characters are sorted. + + The syntax of the \order section is: + + \order{ + <char-1> % Comment begins with a percent sign + <char-2> <char-3> % whitespace between the chars + <char-4> - <char-5> % a hyphen between the chars + <char-4> _ <char-5> % an underscore between the chars + ... + <char-n> + } + + All characters on the same line are given the same sorting weight. + + The construct <char-1> <underscore> <char-2> is used to denote that + all characters in the range <char-1> to <char-2> should be given the + same sorting weight. For example, "A _ Z" would cause all ASCII + upper case alphabetical characters to have the same sorting weight + and would be equivalent to placing all 26 characters on the same + line. + + The construct <char-1> <hyphen> <char-2> is used to denote that all + characters in the range <char-1> to <char-2> should be given an + ascending set of sorting weights, starting with <char-1> and ending + with <char-2>. For example, "A - Z" would cause all upper case ASCII + alphabetical characters to be sorted in ascending order and would be + equivalent to placing 'A' on the first line, 'B' on the second, + through to 'Z' on the 26th line. + + The characters at the beginning of the order section are given a + lower sorting weight than characters occuring later. When sorting + alphabetically, characters with the lowest weight come first. + + All characters not in the \order section (including ASCII characters) + are given the same very high sorting weight to ensure that they come + last when sorting alphabetically. + + + 1.2 Testing a CS file + --------------------- + + If you create a CS, you'll want a straightforward way of testing that + BibTeX is interpreting it as you expect it to. The --debug=csf option + will report the results of parsing the CS file. Specifically, BibTeX + will report: + + o characters with codes > 127 that it has defined as type ALPHA + o characters with upper case equivalents + o characters with lower case equivalents + o characters in ascending sorting order + + An example of the output when processing the cp437lat.csf CS file is + shown below. This output will only make sense if you are using a + computer that supports the IBM codepage 437. + + D-CSF: c8read_csf: trying to open CS file `cp437lat.csf' ... + D-CSF: reading the \lowupcase section ... + D-CSF: finished reading the \lowupcase section. + D-CSF: reading the \uppercase section ... + D-CSF: finished reading the \uppercase section. + D-CSF: reading the \order section ... + D-CSF: finished reading the \order section. + + D-CSF: 8-bit ALPHA characters + D-CSF: ---------------------- + D-CSF: 80: € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž + D-CSF: 90: ‘ ’ “ ” • – — . ™ š . . . . . + D-CSF: a0: ¡ ¢ £ ¤ ¥ . . . . . . . . . . + D-CSF: b0: . . . . . . . . . . . . . . . . + D-CSF: c0: . . . . . . . . . . . . . . . . + D-CSF: d0: . . . . . . . . . . . . . . . . + D-CSF: e0: . á . . . . . . . . . . . . . . + D-CSF: f0: . . . . . . . . . . . . . . . . + + D-CSF: Characters with upper case equivalents + D-CSF: -------------------------------------- + D-CSF: a [61] <<< A [41] b [62] <<< B [42] c [63] <<< C [43] + D-CSF: d [64] <<< D [44] e [65] <<< E [45] f [66] <<< F [46] + D-CSF: g [67] <<< G [47] h [68] <<< H [48] i [69] <<< I [49] + D-CSF: j [6a] <<< J [4a] k [6b] <<< K [4b] l [6c] <<< L [4c] + D-CSF: m [6d] <<< M [4d] n [6e] <<< N [4e] o [6f] <<< O [4f] + D-CSF: p [70] <<< P [50] q [71] <<< Q [51] r [72] <<< R [52] + D-CSF: s [73] <<< S [53] t [74] <<< T [54] u [75] <<< U [55] + D-CSF: v [76] <<< V [56] w [77] <<< W [57] x [78] <<< X [58] + D-CSF: y [79] <<< Y [59] z [7a] <<< Z [5a] [81] <<< š [9a] + D-CSF: ‚ [82] <<< [90] ƒ [83] <<< A [41] „ [84] <<< Ž [8e] + D-CSF: … [85] <<< A [41] † [86] <<< [8f] ‡ [87] <<< € [80] + D-CSF: ˆ [88] <<< E [45] ‰ [89] <<< E [45] Š [8a] <<< E [45] + D-CSF: ‹ [8b] <<< I [49] Œ [8c] <<< I [49] [8d] <<< I [49] + D-CSF: ‘ [91] <<< ’ [92] “ [93] <<< O [4f] ” [94] <<< ™ [99] + D-CSF: • [95] <<< O [4f] – [96] <<< U [55] — [97] <<< U [55] + D-CSF: [a0] <<< A [41] ¡ [a1] <<< I [49] ¢ [a2] <<< O [4f] + D-CSF: £ [a3] <<< U [55] ¤ [a4] <<< ¥ [a5] + + D-CSF: Characters with lower case equivalents + D-CSF: -------------------------------------- + D-CSF: A [41] >>> a [61] B [42] >>> b [62] C [43] >>> c [63] + D-CSF: D [44] >>> d [64] E [45] >>> e [65] F [46] >>> f [66] + D-CSF: G [47] >>> g [67] H [48] >>> h [68] I [49] >>> i [69] + D-CSF: J [4a] >>> j [6a] K [4b] >>> k [6b] L [4c] >>> l [6c] + D-CSF: M [4d] >>> m [6d] N [4e] >>> n [6e] O [4f] >>> o [6f] + D-CSF: P [50] >>> p [70] Q [51] >>> q [71] R [52] >>> r [72] + D-CSF: S [53] >>> s [73] T [54] >>> t [74] U [55] >>> u [75] + D-CSF: V [56] >>> v [76] W [57] >>> w [77] X [58] >>> x [78] + D-CSF: Y [59] >>> y [79] Z [5a] >>> z [7a] € [80] >>> ‡ [87] + D-CSF: Ž [8e] >>> „ [84] [8f] >>> † [86] [90] >>> ‚ [82] + D-CSF: ’ [92] >>> ‘ [91] ™ [99] >>> ” [94] š [9a] >>> [81] + D-CSF: ¥ [a5] >>> ¤ [a4] + + D-CSF: Characters in sorting order + D-CSF: --------------------------- + D-CSF: 00: 0 [30] + D-CSF: 01: 1 [31] + D-CSF: 02: 2 [32] + D-CSF: 03: 3 [33] + D-CSF: 04: 4 [34] + D-CSF: 05: 5 [35] + D-CSF: 06: 6 [36] + D-CSF: 07: 7 [37] + D-CSF: 08: 8 [38] + D-CSF: 09: 9 [39] + D-CSF: 0a: A [41] a [61] ƒ [83] „ [84] … [85] † [86] Ž [8e] [8f] [a0] + D-CSF: 0b: ‘ [91] ’ [92] + D-CSF: 0c: B [42] b [62] + D-CSF: 0d: C [43] c [63] € [80] ‡ [87] + D-CSF: 0e: D [44] d [64] + D-CSF: 0f: E [45] e [65] ‚ [82] ˆ [88] ‰ [89] Š [8a] [90] + D-CSF: 10: F [46] f [66] + D-CSF: 11: G [47] g [67] + D-CSF: 12: H [48] h [68] + D-CSF: 13: I [49] i [69] ‹ [8b] Œ [8c] [8d] ¡ [a1] + D-CSF: 14: J [4a] j [6a] + D-CSF: 15: K [4b] k [6b] + D-CSF: 16: L [4c] l [6c] + D-CSF: 17: M [4d] m [6d] + D-CSF: 18: N [4e] n [6e] + D-CSF: 19: ¤ [a4] ¥ [a5] + D-CSF: 1a: O [4f] o [6f] “ [93] ” [94] • [95] ™ [99] ¢ [a2] + D-CSF: 1b: P [50] p [70] + D-CSF: 1c: Q [51] q [71] + D-CSF: 1d: R [52] r [72] + D-CSF: 1e: S [53] s [73] + D-CSF: 1f: á [e1] + D-CSF: 20: T [54] t [74] + D-CSF: 21: U [55] u [75] [81] – [96] — [97] š [9a] £ [a3] + D-CSF: 22: V [56] v [76] + D-CSF: 23: W [57] w [77] + D-CSF: 24: X [58] x [78] + D-CSF: 25: Y [59] y [79] + D-CSF: 26: Z [5a] z [7a] + D-CSF: (All other characters are sorted equally after any of the above.) + + + 1.3 Sharing your CS file + ------------------------ + + Although we have provided a limited number of CS files, we hope that + other will soon produce different examples for other character sets and + national sorting orders. We will also be happy to accept corrections to + the example files supplied. + + If you'd like to contribute a CS file, please send it to one of the + authors or upload it to one of the CTAN FTP archives. If you e-mail a + copy please ZIP and encode (UU/MIME) it so that we can be confident that + the file has not become corrupted in transit. + + + +2. Change Log +-------------- + +$Log: csfile.txt,v $ +# Revision 3.71 1996/08/18 20:41:31 kempson +# Placed under RCS control. +# +******************************** END OF FILE ******************************* diff --git a/Master/texmf-dist/doc/bibtex8/file_id.diz b/Master/texmf-dist/doc/bibtex8/file_id.diz new file mode 100644 index 00000000000..b2379e717fc --- /dev/null +++ b/Master/texmf-dist/doc/bibtex8/file_id.diz @@ -0,0 +1,13 @@ +(v3.71) "big" BibTeX with full 8-bit support + +An enhanced, portable C version of BibTeX. +Enhanced by conversion to "big" (32-bit) +capacity, addition of run-time selectable +capacity and 8-bit support extensions. +National character set and sorting order +are controlled by an external configuration +file. Various examples are included. +Freeware / GNU Public Licence. + +Niel Kempson <kempson@snowyowl.co.uk> +Alejandro Aguilar-Sierra <asierra@servidor.unam.mx> diff --git a/Master/texmf-dist/doc/bibtexu/00readme.txt b/Master/texmf-dist/doc/bibtexu/00readme.txt new file mode 100644 index 00000000000..6322e51fcd3 --- /dev/null +++ b/Master/texmf-dist/doc/bibtexu/00readme.txt @@ -0,0 +1,903 @@ +****************************************************************************** +FILE: $RCSfile: 00readme.txt,v $ + $Revision: 3.71 $ + $Date: 1996/08/18 20:38:55 $ +****************************************************************************** + + +An 8-bit Implementation of BibTeX 0.99 with a Very Large Capacity +================================================================= + + +Contents +-------- + + 0. Abstract + + 1. Introduction + 1.1 8-bit Character Set Support + 1.2 Big and Customisable Capacity + + 2. Distribution Kits and Where to Find Them + 2.1 bt371dos.zip + 2.2 bt371os2.zip + 2.3 bt371src.zip + 2.4 bt371csf.zip + + 3. Running 8-bit BibTeX + 3.1 Command line options + 3.2 Finding Files + 3.3 Environment variables + + 4. The Codepage and Sort Order (CS) File + 4.1 CS file syntax + 4.2 Testing a CS file + 4.3 Sharing your CS file + + 5. Building 8-bit BibTeX from Source Code + 5.1 DOS + 5.2 OS/2 + 5.3 Unix + 5.4 VMS + + 6. Reporting Bugs and Requesting Improvements + 6.1 Contacting the authors + 6.2 Further enhancements + + 7. Frequently Asked Questions + + 8. Acknowledgements + + 9. BibTeX Use and Copying Conditions + + 10. Change Log + + + +0. Abstract +----------- + +This abstract is in a format suitable for inclusion in BBS description files +(file_id.diz): + + (v3.71) "big" BibTeX with full 8-bit support + + An enhanced, portable C version of BibTeX. + Enhanced by conversion to "big" (32-bit) + capacity, addition of run-time selectable + capacity and 8-bit support extensions. + National character set and sorting order + are controlled by an external configuration + file. Various examples are included. + Freeware / GNU Public Licence. + + Niel Kempson <kempson@snowyowl.co.uk> + Alejandro Aguilar-Sierra <asierra@servidor.unam.mx> + + + +1. Introduction +---------------- + +8-bit BibTeX is an enhanced, portable C version of BibTeX 0.99. It has been +enhanced in these areas: + + - conversion to "big" (32-bit) capacity + - capacity selectable at run time + - flexible support for non-English languages using 8-bit character sets + - well matched to LateX2e and its "inputenc" package + +Oren Patashnik, the creator of BibTeX, is working on a new BibTeX 1.0 that +will be a modern implementation supporting large capacities and non-English +languages (see TUGboat, pages 269--274, volume 15, number 3, September 1994). +He is content for this version to be released, but hopes that people will +eventually migrate to BibTeX 1.0 when it is released. Its release date is +uncertain at the moment. + + + 1.1 Big and Customisable Capacity + --------------------------------- + + The original 16-bit code has been rewritten to use 32-bit data types + wherever possible. The result is a very large potential capacity. To + increase flexibility and to avoid BibTeX allocating all available memory, + the capacity of some key arrays can be set on the command line. + + For convenience, several standard capacities have been predefined: + default, big and huge. The key capacities are set as follows: + + Parameter Standard --big --huge --wolfgang + ------------------------------------------------------------ + Hash_Prime 4,253 8,501 16,319 30,011 + Hash_Size 5,000 10,000 19,000 35,000 + Max_Cites 750 2,000 5,000 7,500 + Max_Ent_Ints 3,000 4,000 5,000 7,500 + Max_Ent_Strs 3,000 6,000 10,000 10,000 + Max_Fields 17,250 30,000 85,000 125,000 + Max_Strings 4,000 10,000 19,000 30,000 + Pool_Size 65,530 130,000 500,000 750,000 + Wiz_Fn_Space 3,000 6,000 10,000 10,000 + + If these parameter names mean nothing to you, don't worry, you've + probably never exceeded BibTeX's capacity. + + + 1.2 8-bit Character Set Support + ------------------------------- + + BibTeX now accepts 8-bit characters in its input files and writes 8-bit + characters to its output files. The character set is defined by an + external configuration text file - the codepage and sort order ("CS") + file. + + The sort order can be defined for the language and character set. For + example, in German, the control sequence \"o (o umlaut) should be sorted + as if it were the letter "o", but after ordinary "o", leading to this + order: + + Trofer, Tr\"ofer, Trufer + + However, in Swedish, \"o (o umlaut) is treated as the 29th letter of the + alphabet and these entries would be sorted as: + + Trofer, Trufer, Tr\"ofer + + The sorting order is defined by an external configuration text file - + the codepage and sort order ("CS") file. + + This version of BibTeX, coupled with LaTeX2e and its "inputenc" package + provide a robust means of handling 8-bit character sets. + + + +2. Distribution Kits and Where to Find Them +-------------------------------------------- + +8-bit BibTeX is distributed as a set of ZIP files created by the freely +available implementation of ZIP by the Info-ZIP project. The files have all +been compressed using the new "deflation" algorithm and can only be +compressed using the Info-ZIP implementation of UNZIP, or PKUNZIP v2.04 or +later. Ancient versions of PKUNZIP (e.g. v1.10) will not be able to unZIP +the files and will complain with a message like: "PKUNZIP: Warning! I don't +know how to handle: xxxxxxxx.xxx". + +The "official" version of 8-bit BibTeX will be available by anonymous FTP +from the Comprehensive TeX Archive Network (CTAN) sites: + + ftp.tex.ac.uk:/tex-archive/biblio/bibtex/8-bit + ftp.uni-stuttgart.de:/tex-archive/biblio/bibtex/8-bit + +There are four main ZIP files in the complete 8-bit BibTeX distribution: + + bt###dos.zip bt###os2.zip bt###src.zip bt###csf.zip + +where ### is the latest version, currently 371 (for v3.71). Their contents +and purpose are summarised below. + + + 2.1 bt371dos.zip + ---------------- + + The binary + documentation kit for MS-DOS users. It contains all you + need to run 8-bit BibTeX under MS-DOS, but no source code. The + executable program uses a 32-bit virtual memory extender called EMX to + run in 32-bit mode. emTeX is probably the most comprehensive and capable + implementation of TeX for DOS & OS/2 and it too uses EMX. + + The kit contains these files: + + 00readme.txt this file + COPYING GNU copyright notice + HISTORY summary of changes made so far + csfile.txt documentation for codepage and sort order + ("CS") files + msdos/bibtex.exe the 8-bit BibTeX program + + EMX uses the VCPI mechanism to run in 32-bit mode and will therefore not + run in a DOS session under MS Windows. It will run under native DOS and + in a DOS session under OS/2. The EMX extender (v0.9b) is bound into + bibtex.exe, but you can always obtain the latest version of EMX by + anaonymous FTP from: + + ftp.uni-stuttgart.de:/pub/systems/os2/emx-0.9b + ftp.leo.org:/pub/comp/os/os2/gnu/emx+gcc + + If you want to run this version of BibTeX in a DOS session under MS + Windows, you have two choices: + + - get and install the RSX extender. RSX is a DPMI-compliant DOS + extender which is more or less compatible with emx. It is compatible + with EMX, DPMI servers and DOS sessions under MS Windows. The + official site for the latest version of RSX is + + ftp.uni-bielefeld.de:/pub/systems/msdos/misc + + but you can also get it by anonymous FTP from the same CTAN sites as + BibTeX: + + ftp.tex.ac.uk:/tex-archive/systems/msdos/dpmigcc + ftp.uni-stuttgart.de:/tex-archive/systems/msdos + + The files to look for are dpmigcc5.zip and rsxwin3a.zip + + If you use the emTeX implementation of TeX and friends, it may be + more convenient to get the "emxrsx" package - it's a minimal version + of RSX to allow emTeX to run in DOS sessions under MS Windows. It is + available by anonymous FTP from CTAN sites in the emTeX directory: + + ftp.tex.ac.uk:/tex-archive/systems/msdos/emtex + ftp.uni-stuttgart.de:/tex-archive/systems/msdos/emtex + + On the other hand, if you're using emTeX under MS Windows, you've + probably solved the problem already :-) + + - get the djgpp GNU C compiler and DOS extender package and build + BibTeX from the source code. The master site for djgpp is + ftp.delorie.com. + + + 2.2 bt371os2.zip + ---------------- + + The binary + documentation kit for OS/2 2.x and 3.x users. It contains + all you need to run 8-bit BibTeX under OS/2, but no source code. The + executable program was developed using the EMX development system and has + its run-time library linked in - there is no need to install EMX just to + run BibTeX. If you already have EMX installed want a smaller executable, + you'll need to rebuild from sources. + + The kit contains these files: + + 00readme.txt this file + COPYING GNU copyright notice + HISTORY summary of changes made so far + csfile.txt documentation for codepage and sort order + ("CS") files + os2/bibtex.exe the 8-bit BibTeX program + + + 2.3 bt371src.zip + ---------------- + + The complete source code kit to build 8-bit BibTeX on all supported + systems. The source code is known to build easily under MS-DOS and OS/2 + if you have the GNU C Compiler installed. The source code is quite + portable and contains almost no system-specific items - it should very + easily port to Unix or VMS. If you decide to port 8-bit BibTeX to + another platform, please let me know so that I can include your efforts + in the master distribution. + + The source kit contains these files: + + 00readme.txt this file + COPYING GNU copyright notice + HISTORY summary of changes made so far + csfile.txt documentation for codepage and sort order + ("CS") files + + bibtex.h definition of global parameters and limits + datatype.h definition of custom data types + gblprocs.h forward declaration of all global functions + gblvars.h declaration of global variables + sysdep.h determine the compiler and environment + + bibtex.c main source including system dependent code + bibtex-1.c part 1 of the system independent functions + bibtex-2.c part 2 of the system independent functions + bibtex-3.c part 3 of the system independent functions + bibtex-4.c part 4 of the system independent functions + + utils.c nearly all of the enhancement code + utils.h + + getopt.c the GNU getopt package for command line parsing + getopt1.c + getopt.h + + dos-emx.mak makefile for EMX GNU C under MS-DOS + dos-dj.mak makefile for DJGPP GNU C under MS-DOS + os2.mak makefile for EMX GNU C under OS/2 + unix.mak makefile for Unix variants + + + 2.4 bt371csf.zip + ---------------- + + The character set and sorting order is now defined by an external + configuration text file - the codepage and sort order ("CS") file. A + number of example files have been included with the master distribution, + but I hope that others will be written by 8-bit BibTeX users in due + course. To avoid the need to reissue to the master ZIP files every time + a new CS file is created, CS files will also be available as a separate + kit. + + At the time of writing, the kit contains these CS files: + + File Name Character Set Sorting Order + ------------------------------------------------------------- + 88591lat.csf ISO 8859-1 Latin + 88591sca.csf ISO 8859-1 Scandinavean + ascii.csf US ASCII English + cp437lat.csf IBM codepage 437 Latin + cp850lat.csf IBM codepage 850 Latin + cp850sca.csf IBM codepage 850 Scandinavean + cp866rus.csf IBM codepage 866 Russian + + + +3. Running 8-bit BibTeX +------------------------ + +Running 8-bit BibTeX is superficially the same as running the original +BibTeX, but there are quite a number of command line options that may be +specified. + + + 3.1 Command line options + ------------------------ + + The command line syntax is: + + bibtex [options] aux-file + + where "aux-file" is the name of the TeX auxilliary output file to be + processed by BibTeX. The trailing ".aux" may be omitted. + + Valid options are: + + -? --help + + Display some brief help text and then exit. + + -7 --traditional + + Operate in the original 7-bit mode. A CS file is not read: + only 7-bit ASCII characters are supported and sorting is + strictly by ASCII code value. + + BibTeX will not allow you to specify --traditional with + either the --8bit or --csfile option. + + -8 --8bit + + Force 8-bit mode. A CS file is not read. All 8-bit + characters (code > 127) are treated as letters and sorting is + strictly by code page value. + + BibTeX will not allow you to specify --8bit with either the + --csfile or --traditional option. + + -c --csfile FILE + + Read FILE as the BibTeX codepage and sort definition (CS) + file. The CS file is used to define the 8-bit character set + used by BibTeX and the order in which those characters should + be sorted. + + BibTeX will not allow you to specify --csfile with either + the --8bit or --traditional option. + + -d --debug TYPE + + Report debugging information to the BibTeX log file and the + standard error device. The value TYPE controls the type of + debugging information reported. TYPE can be one or more of: + + all - all debugging categories + csf - CS file processing + io - file I/O + mem - memory allocation and capacity + misc - other debugging information + search - path searching and file location + + It is possible that your version of BibTeX has been compiled + with debugging support disabled. If this is the case, BibTeX + will issue a warning message when --debug is specified. + + -s --statistics + + Report internal statistics to the BibTeX log file. + + It is possible that your version of BibTeX has been compiled + with statistics support disabled. If this is the case, + BibTeX will issue a warning message when --statistics is + specified. + + -t --trace + + Report execution tracing to the BibTeX log file. + + It is possible that your version of BibTeX has been compiled + with tracing support disabled. If this is the case, BibTeX + will issue a warning message when --trace is specified. + + -v --version + + Report BibTeX's version and then exit. + + -B --big + + Set BibTeX's capacity to "big". The size of particular + parameters will be set as follows (the default sizes are + shown in brackets): + + Hash_Prime 8,501 (4,253) + Hash_Size 10,000 (5,000) + Max_Cites 2,000 (750) + Max_Ent_Ints 4,000 (3,000) + Max_Ent_Strs 6,000 (3,000) + Max_Fields 30,000 (17,250) + Max_Strings 10,000 (4,000) + Pool_Size 130,000 (65,530) + Wiz_Fn_Space 6,000 (3,000) + + -H --huge + + Set BibTeX's capacity to "huge". The size of particular + parameters will be set as follows (the default sizes are + shown in brackets): + + Hash_Prime 16,319 (4,253) + Hash_Size 19,000 (5,000) + Max_Cites 5,000 (750) + Max_Ent_Ints 5,000 (3,000) + Max_Ent_Strs 10,000 (3,000) + Max_Fields 85,000 (17,250) + Max_Strings 19,000 (4,000) + Pool_Size 500,000 (65,530) + Wiz_Fn_Space 10,000 (3,000) + + -W --wolfgang + + Set BibTeX's capacity to "really huge" - required for + Wolfgang's PhD thesis. The size of particular parameters + will be set as follows (the default sizes are shown in + brackets): + + Hash_Prime 30,011 (4,253) + Hash_Size 35,000 (5,000) + Max_Cites 7,500 (750) + Max_Ent_Ints 7,500 (3,000) + Max_Ent_Strs 10,000 (3,000) + Max_Fields 125,000 (17,250) + Max_Strings 30,000 (4,000) + Pool_Size 750,000 (65,530) + Wiz_Fn_Space 10,000 (3,000) + + -M --min_crossrefs ## + + Set min_crossrefs to ##. If an item is cross-referenced at + least ## times, it will be placed in the list of citations, + even if it is not explicitly \cited as a reference. The + default value is 2. + + --mcites ## + + Allow a maximum of ## distinct \cites in the .aux files. + This number must be less than the maximum number of strings + (settable with --mstrings). + + --mentints ## + + Allow a maximum of ## integer entries in the .bib databases. + + --mentstrs ## + + Allow a maximum of ## string entries in the .bib databases. + + --mfields ## + + Allow a maximum of ## fields in the .bib databases. + + --mpool ## + + Set the string pool to ## bytes. + + --mstrings ## + + Allow a maximum of ## unique strings. This number must be + less than the hash size and greater than the maximum number + of \cites (settable with --mcites). + + --mwizfuns ## + + Allow a maximum of ## wizard functions. + + + 3.2 Finding Files + ----------------- + + 8-bit BibTeX looks for input files in three different steps as summarised + below. As soon as 8-bit BibTeX finds a matching file, it stops looking + (i.e. only the first matching file is used). In order, the three steps + are: + + - look for the file in the current working directory. + + - if the appropriate environment variable has been set (e.g. BSTINPUT), + treat its value as a list of directories to be searched. Look for the + file in each of the directories in the list. + + - if the appropriate environment variable (e.g. BSTINPUT) has not been + set, use a predefined "fallback" path as a list of directories to be + searched. + + A search list consists of a number of directories separated by a delimiter + (semicolons for MS-DOS & OS/2, colons for Unix and commas for VMS). + + As distributed, the strategy adopted by 8-bit BibTeX for opening specific + file types is + + .aux files + + - look in current working directory only + + .bib (BibTeX database) files + + - look in current working directory + - search along path defined by environment variable BIBINPUT + - search along fallback path (empty by default) + + .bst (BibTeX style) files + + - look in current working directory + - search along path defined by environment variable BSTINPUT + - search along fallback path (empty by default) + + .csf (CS) files + + - look in current working directory + - search along path defined by environment variable CSFINPUT + - search along fallback path (empty by default) + + The name of the CS file is determined using a number of steps + + - use value of --csfile command line option, + - use value of the BIBTEX_CSFILE environment variable + - use fallback CS file name (empty by default) + + Output files + + All of BibTeX's output (.bbl, .blg) files are created in the + current working directory. + + + The environment variables and fallback paths used by 8-bit BibTeX are + defined in the Makefile and set at compile time, but you can determine + what your version of 8-bit BibTeX is using by starting it with the command + line + + bibtex --debug=search non-existent-file-name + + The debugging output (written to the standard error device) should look + something like: + + D-SCH: Search strategy for .aux files: + D-SCH: search path environment variable: <undefined> + D-SCH: fallback search path: <undefined> + D-SCH: Search strategy for .bib files: + D-SCH: search path environment variable: BIBINPUT + D-SCH: BIBINPUT value: e:\usr\c\bibtex + D-SCH: fallback search path: e:/usr/latex/bibtex;e:/emtex/bibtex/bib + D-SCH: Search strategy for .bst files: + D-SCH: search path environment variable: BSTINPUT + D-SCH: BSTINPUT value: <undefined> + D-SCH: fallback search path: e:/usr/latex/bibtex;e:/emtex/bibtex/bst + D-SCH: Search strategy for .csf files: + D-SCH: search path environment variable: CSFINPUT + D-SCH: CSFINPUT value: e:\usr\c\bibtex + D-SCH: fallback search path: e:/usr/latex/bibtex;e:/emtex/bibtex/csf + D-SCH: Default .csf file: + D-SCH: file name environment variable: BIBTEX_CSFILE + D-SCH: BIBTEX_CSFILE value: e:/emtex/texinput/cp437lat.csf + D-SCH: fallback file name: cp850lat.csf + + The current working directory will always be searched, even if the + environment variable and fallback paths have not been specified (e.g. as + for .aux files in the above example). + + If the default behaviour is not to your liking, you will need to rebuild + 8-bit BibTeX from its source code (see section 5). + + + 3.3 Environment variables + ------------------------- + + As supplied, 8-bit BibTeX uses a number of environment variables: + + BIBINPUT search path for database (.bib) files + BSTINPUT search path for style (.bst) files + CSFINPUT search path for CS (.csf) files + BIBTEX_CSFILE the default CS file + TMP directory for virtual memory files (DOS only) + + The name of the environment variables used may be changed (in the + Makefile) when BibTeX is built. See the appropriate Makefile for your + environment and remember that you can use the "--debug=search" command + line option to reveal the environment variables used by your version of + 8-bit BibTeX (see previous section). + + All environment variables used as a search list (BIBINPUT, BSTINPUT & + CSFINPUT) can be set to a number of separate directories, separated + by a delimiter (semicolons for MS-DOS & OS/2, colons for Unix and + commas for VMS). + + Examples for MS-DOS and OS/2 are: + + SET BIBINPUT=e:\data\tex\bibtex;c:\emtex\bibtex\bib + SET BSTINPUT=e:\data\tex\bibtex;c:\emtex\bibtex\bst + SET CSFINPUT=e:\data\tex\bibtex + SET BIBTEX_CSFILE=c:\data\tex\bibtex\cp850lat.csf + + Examples for Unix: + + setenv BIBINPUT /u/kempson/bibtex:/usr/local/lib/tex/bib-files + setenv BSTINPUT /u/kempson/bibtex:/usr/local/lib/tex/bst-files + setenv CSFINPUT /u/kempson/bibtex:/usr/local/lib/tex/csf-files + setenv BIBTEX_CSFILE /usr/local/lib/tex/csf-files/88591lat.csf + + Examples for VMS: + + define BIBINPUT "sys$login:,disk$tex:[bibtex.bib-files]" + define BSTINPUT "sys$login:,disk$tex:[bibtex.bst-files]" + define CSFINPUT "sys$login:,disk$tex:[bibtex.csf-files]" + define BIBTEX_CSFILE disk$tex:[bibtex.csf-files]88951lat.csf + + + +4. The Codepage and Sort Order (CS) File +----------------------------------------- + +The Codepage and Sort definition (CS) file is used to define the 8-bit +character set used by BibTeX and the order in which those characters should +be sorted. + +Please see the associated csfile.txt for details of CS file syntax and +guidelines for testing new CS files. NOTE: it contains many 8-bit characters +and may cause problems if you try to display or print it on 7-bit systems +(e.g. older versions of Unix). + + + +5. Building 8-bit BibTeX from Source Code +------------------------------------------ + +The 8-bit BibTeX source is fairly standard ANSI C with almost no system +specific code. It should therefore be relatively straightforward to build it +in a different environment if you have GNU C or an ANSI C compiler. + +A number of Makefiles have been provided to build 8-bit BibTeX from source +code: + + dos-emx.mak makefile for EMX GNU C under MS-DOS + dos-dj.mak makefile for DJGPP GNU C under MS-DOS + os2.mak makefile for EMX GNU C under OS/2 + unix.mak makefile for Unix variants + +Whichever Makefile you use, you need to check that the "local definitions" +are appropriate for your system. There are three small sections to +customise: + + BibTeX File Searching + + - specifies the names of environment variables and paths to be used when + searching for input files + + Utility Programs + + - specifies the names of programs to be used for simple functions + + Compiler/Linker + + - specifies compiler/linker command lines + +If your system is already supported it should not be necessary to modify any +part of the Makefile except these three sections. + +Brief notes for specific environments follow. + + + 5.1 DOS + ------- + + 8-bit BibTeX has been built and tested using the EMX and DJGPP + development environments. Both are based on GNU C with their own + custom 32-bit extenders. + + + 5.2 OS/2 + -------- + + The EMX development environment is supported. + + + 5.3 Unix + -------- + + Most variants of Unix supporting GNU C should be capable of building + and running 8-bit BibTeX. + + + 5.4 VMS + ------- + + The authors have not built or tested this version of 8-bit BibTeX on + VMS, but see no reason why it shouldn't compile and run successfully + if GNU C is installed on the system. (The only system-dependent code + in 8-bit BibTeX concerns file opening and provision has been made for + VMS file modes.) + + If you have GNU C installed, we recommend starting with a copy of the + unix.mak Makefile and customising it for VMS. If you successfully + get 8-bit BibTeX running under VMS, *please* let the authors know how + you did it. + + + +6. Reporting Bugs and Requesting Improvements +---------------------------------------------- + +Where possible, we will try to fix bugs and will consider requests for +improvements. If you are reporting a bug, please provide as much information +as possible (e.g. operating environment, 8-bit BibTeX version and source, +exact error message and the offending files if possible). + +The most common message is of the form "BibTeX doesn't work on XXXX". This +is generally of no help in debugging a problem so please provide as much +information as possible. + + + 6.1 Contacting the authors + -------------------------- + + The authors are + + Niel Kempson + Snowy Owl Systems Limited, Cheltenham, England + E-mail: kempson@snowyowl.co.uk + + and + + Alejandro Aguilar-Sierra + Centro de Ciencias de la Atm\'osfera, + Universidad Nacional Aut\'onoma de M\'exico, M\'exico + E-mail: asierra@servidor.unam.mx + + Niel Kempson did the original manual translation from WEB to C, + conversion to "big" (32-bit) capacity, addition of run-time selectable + capacity and part of the 8-bit support extensions. He intermittently + maintains the master version of the source code. + + Alejandro Aguilar-Sierra should take the credit for most of the 8-bit + function provided by this version of BibTeX. + + + 6.2 Further Enhancements + ------------------------ + + No program is perfect and this version of BibTeX is no exception to that + rule. Some known weaknesses are: + + - the 8-bit support is currently limited to single 8-bit characters. + TeX control sequences (e.g. \'{A}) are not interpreted and treated in + the same way as the equivalent 8-bit character. + + - it is not possible to redefine the lower 128 character codes. This + excludes support for character codes not built on ASCII (e.g. EBCDIC). + + Future enhancements will be considered, but it may be time to build a + "proper" system built from the ground up to handle 8-bit character + sets. BibTeX 1.0 promises to be this system. + + Other items that ought to be on the "to do" list: + + - path searching using Karl Berry's kpathsea package + - TeX format documentation + - Unix man pages + - OS/2 .inf format documentation + - native 32-bit support for MS Windows 95/NT + + + +7. Frequently Asked Questions +------------------------------ + +When I run the DOS version 8-bit BibTeX in a DOS window under MS Windows 3.x, +95 or NT, I get the message "DPMI not supported". + + 8-bit BibTeX has been built using the EMX development environment. It + uses the VCPI mechanism to run in 32-bit mode and will therefore not run + in a DOS session under MS Windows. + + If you want to run this version of 8-bit BibTeX in a DOS session under + MS Windows, you have two choices: + + - get and install the RSX extender + - rebuild from sources using a suitable compiler + + See section 2.1 for more information. + + +8-bit BibTeX doesn't find my .bib/.bst files. How can I find out where it +looks for them? + + See section 3.2 + + +There isn't a CS file for my character set / language sorting order + + Creating a new CS file should be relatively straightforward. If you'd + like to try, please contact the authors for assistance. If you don't + need assistance, *please* let us have a copy of your finished CS file so + we can include it in the distribution. + + + +8. Acknowledgement +------------------- + +The original BibTeX was written by Oren Patashnik using Donald Knuth's WEB +system. This format produces a PASCAL program for execution and a TeX +documented version of the source code. This program started as a (manual) +translation of the WEB source into C. + + + +9. BibTeX Use and Copying Conditions +------------------------------------- + +The programs currently being distributed that relate to 8-bit BibTeX are +*free*; this means that everyone may use them and redistribute them freely. +The 8-bit BibTeX-related programs are not in the public domain; they are +copyrighted and there are restrictions on their distribution, but these +restrictions are designed to permit everything that a good cooperating +citizen would want to do. What is not allowed is to try to prevent others +from further sharing any version of these programs that they might get from +you. + +Specifically, we want to make sure that you have the right to give away +copies of the programs that relate to 8-bit BibTeX, that you receive source +code or else can get it if you want it, that you can change these programs or +use pieces of them in new free programs, and that you know you can do these +things. + +To make sure that everyone has such rights, we have to forbid you to deprive +anyone else of these rights. For example, if you distribute copies of the +8-bit BibTeX related programs, you must give the recipients all the rights +that you have. You must make sure that they, too, receive or can get the +source code. And you must tell them their rights. + +Also, for our own protection, we must make certain that everyone finds out +that there is no warranty for the programs that relate to 8-bit BibTeX. If +these programs are modified by someone else and passed on, we want their +recipients to know that what they have is not what we distributed, so that +any problems introduced by others will not reflect on our reputation. + +The precise conditions of the licences for the programs currently being +distributed that relate to 8-bit BibTeX are found in the General Public +Licences that accompany them. + + + +10. Change Log +--------------- + +$Log: 00readme.txt,v $ +Revision 3.71 1996/08/18 20:38:55 kempson +Official release 3.71 (see HISTORY for details). + +Revision 3.70 1996/04/29 20:17:53 kempson +Final documentation & cosmetic changes for official release 3.70. + +Revision 1.2 1995/10/21 22:23:01 kempson +Updated for v3.60 beta. Added description of --wolfgang option. +Added some more information on running BibTeX in a Windows DOS session. +Changed the example of CSF debugging output to something that is correct. + +Revision 1.1 1995/09/24 20:50:00 kempson +Updated for the final beta test release. + +Revision 1.0 1995/09/24 20:42:30 kempson +Placed under RCS control + +******************************** END OF FILE ******************************* diff --git a/Master/texmf-dist/doc/bibtexu/HISTORY b/Master/texmf-dist/doc/bibtexu/HISTORY new file mode 100644 index 00000000000..f9c8619dcea --- /dev/null +++ b/Master/texmf-dist/doc/bibtexu/HISTORY @@ -0,0 +1,65 @@ +****************************************************************************** +FILE: $RCSfile: HISTORY,v $ + $Revision: 3.71 $ + $Date: 1996/08/18 20:42:32 $ +****************************************************************************** + + +8-Bit BibTeX CHANGE HISTORY +--------------------------- + +31-May-2005 Karl Berry + - Applied utils.c patch from Arne J\"orgensen for space character + sorting weight, sent to tex-live@tug.org 31 May 2005 15:52:07 +0200. + +v3.71 18-August-1996 Niel Kempson <snowyowl.co.uk> + + - Changed default environment variables used for consistency across OS + implementations and better compatibility with emTeX. Now uses + BIBINPUT, BSTINPUT & CSFINPUT as the default environment variables + for .bib, .bst and .csf files respectively. + + "Hard-coded" fallback search paths can now be specified for use if + the chosen environment variables are not defined. The environment + variables and the fallback paths are now defined in the Makefile + rather than in sysdep.h. + + Thanks to Lars Frellesen <frelle@math-tech.dk> for spotting the + inconsistency and his Makefile suggestions. + + - Fixed bug in handling of CSF \order section. Any alpha or numeric + character may now be specified in the sort order - previously only + alphas were allowed and BibTeX didn't correctly sort citations like + Knuth89, Knuth92 because the digits were ignored during sort + comparisons. Corrected example CS files to include digits in the + sort orders. Thanks to Andrei Grinkevitch <grin@bals.usr.pu.ru> for + spotting this one. + + - Included the first contributed CS file: for codepage 866 with a Russian + sorting order. Thanks again to Andrei Grinkevitch <grin@bals.usr.pu.ru>. + + - Added the missing 'd' to the sort section of 88591lat.csf. Thanks to + Tim Geisler <geisler@pms.informatik.uni-muenchen.de>. + + - Removed CS files from all but the bt371csf.zip distribution file. + + - Clarified 00readme.txt, specifically sections dealing with environment + variables and CS files. Moved 8-bit section describing CS files into + a separate csfile.txt because some people were having problems when + they tried to view the 8-bit 00readme.txt file on a 7-bit Unix + system. Thanks to Ken Smith <kgs@maths.uq.oz.au> for highlighting + this issue. + + - Reinstated the -W option (--wolfgang did work). Thanks to Thomas + Plagwitz <tplagiwt@ix.urz.uni-heidelberg.de> for spotting this. + + - Fixed str_lookup() to work with a hash size > 32767. + + - Created new HISTORY file. + + +v3.70 29-Apr-1996 Niel Kempson <snowyowl.co.uk> + + Final documentation & cosmetic changes for official release 3.70. + +******************************** END OF FILE ******************************* diff --git a/Master/texmf-dist/doc/bibtexu/csfile.txt b/Master/texmf-dist/doc/bibtexu/csfile.txt new file mode 100644 index 00000000000..9f112a466c3 --- /dev/null +++ b/Master/texmf-dist/doc/bibtexu/csfile.txt @@ -0,0 +1,318 @@ +****************************************************************************** +FILE: $RCSfile: csfile.txt,v $ + $Revision: 3.71 $ + $Date: 1996/08/18 20:41:31 $ +****************************************************************************** + + +An 8-bit Implementation of BibTeX 0.99 with a Very Large Capacity +================================================================= + + +Contents +-------- + + 1. The Codepage and Sort Order (CS) File + 1.1 CS file syntax + 1.2 Testing a CS file + 1.3 Sharing your CS file + + 2. Change Log + + + +1. The Codepage and Sort Order (CS) File +----------------------------------------- + +The Codepage and Sort definition (CS) file is used to define the 8-bit +character set used by BibTeX and the order in which those characters should +be sorted. + +NOTE: this file contains many 8-bit characters and may cause problems + if you try to display or print it on 7-bit systems (e.g. older + versions of Unix). + + + 1.1 CS file syntax + ------------------ + + The codepage and sorting order (CS) file defines how BibTeX will treat an + 8-bit character set, specifically which characters are to be treated as + letters, the upper/lower case relationships between characters, and the + sorting order of characters. + + The CS file may contain a number of sections, each presented in the form + of a TeX macro: + + \section-name{ + <section definitions> + } + + Four sections are currently supported: \lowupcase, \lowercase, \uppercase + and \order. The syntax of the four supported sections is summarised + below. + + 8-bit characters may be entered naturally, but to avoid problems with + character set translation or corruption, they can also be entered using + the TeX-style portable notation for character codes, i.e. ^^XX, where XX + is the hexadecimal value ofthe character code. + + Reading of the sections ends when the first '}' character is reached, so + '}' can't be included in a section. You can, however, use ^^7d instead. + + The percent sign ('%') is used to introduce a trailing comment - it and + all remaining characters on a line are ignored. If you need to insert a + percent character, you can use ^^25 instead. + + + \lowupcase section + + The \lowupcase section of the CS file is used to define the lower + /upper and upper/lower case relationship of pairs of specified + characters. It is only used if the relationship is symmetrical - use + \lowercase or \upcase if it isn't. + + The syntax of the \lowupcase section is: + + \lowupcase{ + <LC-1> <UC-1> % Comment begins with a percent sign + <LC-2> <UC-2> + ... + <LC-N> <UC-N> + } + + Each <LC-n> <UC-n> pair of characters defines that the upper case + equivalent of <LC-n> is <UC-n> *and* the lower case equivalent of + <UC-n> is <LC-n>. + + You cannot redefine the lower or upper case equivalent of an ASCII + character (code < 128), so all instances of <LC-n> and <UC-n> (i.e. + both sides of the relationship) must have codes > 127. + + + \lowercase section + + The \lowercase section of the CS file is used to define the lower + case equivalent of specified characters. It should normally only be + used if the relationship isn't symmetrical - use \lowupcase if it is. + + The syntax of the \lowercase section is: + + \lowercase{ + <UC-1> <LC-1> % Comment begins with a percent sign + <UC-2> <LC-2> + ... + <UC-N> <LC-N> + } + + Each <LC-n> <UC-n> pair of characters defines that the lower case + equivalent of <UC-n> is <LC-n>. + + You cannot redefine the lower case equivalent of an ASCII character + (code < 128), so all instances of <UC-n> (i.e. the left hand side of + the relationship) must have codes > 127. + + + \uppercase section + + The \uppercase section of the CS file is used to define the upper + case equivalent of specified characters. It should normally only be + used if the relationship isn't symmetrical - use \lowupcase if it is. + + The syntax of the \uppercase section is: + + \uppercase{ + <LC-1> <UC-1> % Comment begins with a percent sign + <LC-2> <UC-2> + ... + <LC-N> <UC-N> + } + + Each <LC-n> <UC-n> pair of characters defines that the upper case + case equivalent of <LC-n> is <UC-n>. + + You cannot redefine the upper case equivalent of an ASCII character + (code < 128), so all instances of <LC-n> (i.e. the left hand side of + the relationship) must have codes > 127. + + + \order section + + The \order section of the CS file is used to define the order in + which characters are sorted. + + The syntax of the \order section is: + + \order{ + <char-1> % Comment begins with a percent sign + <char-2> <char-3> % whitespace between the chars + <char-4> - <char-5> % a hyphen between the chars + <char-4> _ <char-5> % an underscore between the chars + ... + <char-n> + } + + All characters on the same line are given the same sorting weight. + + The construct <char-1> <underscore> <char-2> is used to denote that + all characters in the range <char-1> to <char-2> should be given the + same sorting weight. For example, "A _ Z" would cause all ASCII + upper case alphabetical characters to have the same sorting weight + and would be equivalent to placing all 26 characters on the same + line. + + The construct <char-1> <hyphen> <char-2> is used to denote that all + characters in the range <char-1> to <char-2> should be given an + ascending set of sorting weights, starting with <char-1> and ending + with <char-2>. For example, "A - Z" would cause all upper case ASCII + alphabetical characters to be sorted in ascending order and would be + equivalent to placing 'A' on the first line, 'B' on the second, + through to 'Z' on the 26th line. + + The characters at the beginning of the order section are given a + lower sorting weight than characters occuring later. When sorting + alphabetically, characters with the lowest weight come first. + + All characters not in the \order section (including ASCII characters) + are given the same very high sorting weight to ensure that they come + last when sorting alphabetically. + + + 1.2 Testing a CS file + --------------------- + + If you create a CS, you'll want a straightforward way of testing that + BibTeX is interpreting it as you expect it to. The --debug=csf option + will report the results of parsing the CS file. Specifically, BibTeX + will report: + + o characters with codes > 127 that it has defined as type ALPHA + o characters with upper case equivalents + o characters with lower case equivalents + o characters in ascending sorting order + + An example of the output when processing the cp437lat.csf CS file is + shown below. This output will only make sense if you are using a + computer that supports the IBM codepage 437. + + D-CSF: c8read_csf: trying to open CS file `cp437lat.csf' ... + D-CSF: reading the \lowupcase section ... + D-CSF: finished reading the \lowupcase section. + D-CSF: reading the \uppercase section ... + D-CSF: finished reading the \uppercase section. + D-CSF: reading the \order section ... + D-CSF: finished reading the \order section. + + D-CSF: 8-bit ALPHA characters + D-CSF: ---------------------- + D-CSF: 80: € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž + D-CSF: 90: ‘ ’ “ ” • – — . ™ š . . . . . + D-CSF: a0: ¡ ¢ £ ¤ ¥ . . . . . . . . . . + D-CSF: b0: . . . . . . . . . . . . . . . . + D-CSF: c0: . . . . . . . . . . . . . . . . + D-CSF: d0: . . . . . . . . . . . . . . . . + D-CSF: e0: . á . . . . . . . . . . . . . . + D-CSF: f0: . . . . . . . . . . . . . . . . + + D-CSF: Characters with upper case equivalents + D-CSF: -------------------------------------- + D-CSF: a [61] <<< A [41] b [62] <<< B [42] c [63] <<< C [43] + D-CSF: d [64] <<< D [44] e [65] <<< E [45] f [66] <<< F [46] + D-CSF: g [67] <<< G [47] h [68] <<< H [48] i [69] <<< I [49] + D-CSF: j [6a] <<< J [4a] k [6b] <<< K [4b] l [6c] <<< L [4c] + D-CSF: m [6d] <<< M [4d] n [6e] <<< N [4e] o [6f] <<< O [4f] + D-CSF: p [70] <<< P [50] q [71] <<< Q [51] r [72] <<< R [52] + D-CSF: s [73] <<< S [53] t [74] <<< T [54] u [75] <<< U [55] + D-CSF: v [76] <<< V [56] w [77] <<< W [57] x [78] <<< X [58] + D-CSF: y [79] <<< Y [59] z [7a] <<< Z [5a] [81] <<< š [9a] + D-CSF: ‚ [82] <<< [90] ƒ [83] <<< A [41] „ [84] <<< Ž [8e] + D-CSF: … [85] <<< A [41] † [86] <<< [8f] ‡ [87] <<< € [80] + D-CSF: ˆ [88] <<< E [45] ‰ [89] <<< E [45] Š [8a] <<< E [45] + D-CSF: ‹ [8b] <<< I [49] Œ [8c] <<< I [49] [8d] <<< I [49] + D-CSF: ‘ [91] <<< ’ [92] “ [93] <<< O [4f] ” [94] <<< ™ [99] + D-CSF: • [95] <<< O [4f] – [96] <<< U [55] — [97] <<< U [55] + D-CSF: [a0] <<< A [41] ¡ [a1] <<< I [49] ¢ [a2] <<< O [4f] + D-CSF: £ [a3] <<< U [55] ¤ [a4] <<< ¥ [a5] + + D-CSF: Characters with lower case equivalents + D-CSF: -------------------------------------- + D-CSF: A [41] >>> a [61] B [42] >>> b [62] C [43] >>> c [63] + D-CSF: D [44] >>> d [64] E [45] >>> e [65] F [46] >>> f [66] + D-CSF: G [47] >>> g [67] H [48] >>> h [68] I [49] >>> i [69] + D-CSF: J [4a] >>> j [6a] K [4b] >>> k [6b] L [4c] >>> l [6c] + D-CSF: M [4d] >>> m [6d] N [4e] >>> n [6e] O [4f] >>> o [6f] + D-CSF: P [50] >>> p [70] Q [51] >>> q [71] R [52] >>> r [72] + D-CSF: S [53] >>> s [73] T [54] >>> t [74] U [55] >>> u [75] + D-CSF: V [56] >>> v [76] W [57] >>> w [77] X [58] >>> x [78] + D-CSF: Y [59] >>> y [79] Z [5a] >>> z [7a] € [80] >>> ‡ [87] + D-CSF: Ž [8e] >>> „ [84] [8f] >>> † [86] [90] >>> ‚ [82] + D-CSF: ’ [92] >>> ‘ [91] ™ [99] >>> ” [94] š [9a] >>> [81] + D-CSF: ¥ [a5] >>> ¤ [a4] + + D-CSF: Characters in sorting order + D-CSF: --------------------------- + D-CSF: 00: 0 [30] + D-CSF: 01: 1 [31] + D-CSF: 02: 2 [32] + D-CSF: 03: 3 [33] + D-CSF: 04: 4 [34] + D-CSF: 05: 5 [35] + D-CSF: 06: 6 [36] + D-CSF: 07: 7 [37] + D-CSF: 08: 8 [38] + D-CSF: 09: 9 [39] + D-CSF: 0a: A [41] a [61] ƒ [83] „ [84] … [85] † [86] Ž [8e] [8f] [a0] + D-CSF: 0b: ‘ [91] ’ [92] + D-CSF: 0c: B [42] b [62] + D-CSF: 0d: C [43] c [63] € [80] ‡ [87] + D-CSF: 0e: D [44] d [64] + D-CSF: 0f: E [45] e [65] ‚ [82] ˆ [88] ‰ [89] Š [8a] [90] + D-CSF: 10: F [46] f [66] + D-CSF: 11: G [47] g [67] + D-CSF: 12: H [48] h [68] + D-CSF: 13: I [49] i [69] ‹ [8b] Œ [8c] [8d] ¡ [a1] + D-CSF: 14: J [4a] j [6a] + D-CSF: 15: K [4b] k [6b] + D-CSF: 16: L [4c] l [6c] + D-CSF: 17: M [4d] m [6d] + D-CSF: 18: N [4e] n [6e] + D-CSF: 19: ¤ [a4] ¥ [a5] + D-CSF: 1a: O [4f] o [6f] “ [93] ” [94] • [95] ™ [99] ¢ [a2] + D-CSF: 1b: P [50] p [70] + D-CSF: 1c: Q [51] q [71] + D-CSF: 1d: R [52] r [72] + D-CSF: 1e: S [53] s [73] + D-CSF: 1f: á [e1] + D-CSF: 20: T [54] t [74] + D-CSF: 21: U [55] u [75] [81] – [96] — [97] š [9a] £ [a3] + D-CSF: 22: V [56] v [76] + D-CSF: 23: W [57] w [77] + D-CSF: 24: X [58] x [78] + D-CSF: 25: Y [59] y [79] + D-CSF: 26: Z [5a] z [7a] + D-CSF: (All other characters are sorted equally after any of the above.) + + + 1.3 Sharing your CS file + ------------------------ + + Although we have provided a limited number of CS files, we hope that + other will soon produce different examples for other character sets and + national sorting orders. We will also be happy to accept corrections to + the example files supplied. + + If you'd like to contribute a CS file, please send it to one of the + authors or upload it to one of the CTAN FTP archives. If you e-mail a + copy please ZIP and encode (UU/MIME) it so that we can be confident that + the file has not become corrupted in transit. + + + +2. Change Log +-------------- + +$Log: csfile.txt,v $ +# Revision 3.71 1996/08/18 20:41:31 kempson +# Placed under RCS control. +# +******************************** END OF FILE ******************************* diff --git a/Master/texmf-dist/doc/bibtexu/file_id.diz b/Master/texmf-dist/doc/bibtexu/file_id.diz new file mode 100644 index 00000000000..b2379e717fc --- /dev/null +++ b/Master/texmf-dist/doc/bibtexu/file_id.diz @@ -0,0 +1,13 @@ +(v3.71) "big" BibTeX with full 8-bit support + +An enhanced, portable C version of BibTeX. +Enhanced by conversion to "big" (32-bit) +capacity, addition of run-time selectable +capacity and 8-bit support extensions. +National character set and sorting order +are controlled by an external configuration +file. Various examples are included. +Freeware / GNU Public Licence. + +Niel Kempson <kempson@snowyowl.co.uk> +Alejandro Aguilar-Sierra <asierra@servidor.unam.mx> diff --git a/Master/texmf-dist/doc/cef5conv/cef5conv.pdf b/Master/texmf-dist/doc/cef5conv/cef5conv.pdf Binary files differnew file mode 100644 index 00000000000..f39953cde50 --- /dev/null +++ b/Master/texmf-dist/doc/cef5conv/cef5conv.pdf diff --git a/Master/texmf-dist/doc/cefconv/cefconv.pdf b/Master/texmf-dist/doc/cefconv/cefconv.pdf Binary files differnew file mode 100644 index 00000000000..5f415b64917 --- /dev/null +++ b/Master/texmf-dist/doc/cefconv/cefconv.pdf diff --git a/Master/texmf-dist/doc/cefsconv/cefsconv.pdf b/Master/texmf-dist/doc/cefsconv/cefsconv.pdf Binary files differnew file mode 100644 index 00000000000..92bf31f91ec --- /dev/null +++ b/Master/texmf-dist/doc/cefsconv/cefsconv.pdf diff --git a/Master/texmf-dist/doc/chktex/ChkTeX.pdf b/Master/texmf-dist/doc/chktex/ChkTeX.pdf Binary files differnew file mode 100644 index 00000000000..9bc5f24e639 --- /dev/null +++ b/Master/texmf-dist/doc/chktex/ChkTeX.pdf diff --git a/Master/texmf-dist/doc/dvipdfm/Makefile b/Master/texmf-dist/doc/dvipdfm/Makefile new file mode 100644 index 00000000000..d28b2443088 --- /dev/null +++ b/Master/texmf-dist/doc/dvipdfm/Makefile @@ -0,0 +1,2 @@ +clean: + rm -f *.dvi *.log sample.pdf *~ diff --git a/Master/texmf-dist/doc/dvipdfm/dvipdfm.pdf b/Master/texmf-dist/doc/dvipdfm/dvipdfm.pdf new file mode 100644 index 00000000000..637c3a9faad --- /dev/null +++ b/Master/texmf-dist/doc/dvipdfm/dvipdfm.pdf @@ -0,0 +1,3222 @@ +%PDF-1.2 +7 0 obj +<< +/Type/Encoding +/Differences[0/Gamma/Delta/Theta/Lambda/Xi/Pi/Sigma/Upsilon/Phi/Psi/Omega/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/acute/caron/breve/macron/ring/cedilla/germandbls/ae/oe/oslash/AE/OE/Oslash/suppress/exclam/quotedblright/numbersign/sterling/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/exclamdown/equal/questiondown/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/quotedblleft/bracketright/circumflex/dotaccent/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/endash/emdash/hungarumlaut/tilde/dieresis/suppress +160/space/Gamma/Delta/Theta/Lambda/Xi/Pi/Sigma/Upsilon/Phi/Psi 173/Omega/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/acute/caron/breve/macron/ring/cedilla/germandbls/ae/oe/oslash/AE/OE/Oslash/suppress/dieresis] +>> +endobj +10 0 obj +<< +/Encoding 7 0 R +/Type/Font +/Subtype/Type1 +/Name/F1 +/FontDescriptor 9 0 R +/BaseFont/TJRFPB+CMTI12 +/FirstChar 33 +/LastChar 196 +/Widths[300 500 800 755.2 800 750 300 400 400 500 750 300 350 300 500 500 500 500 +500 500 500 500 500 500 500 300 300 300 750 500 500 750 726.9 688.4 700 738.4 663.4 +638.4 756.7 726.9 376.9 513.4 751.9 613.4 876.9 726.9 750 663.4 750 713.4 550 700 +726.9 726.9 976.9 726.9 726.9 600 300 500 300 500 300 300 500 450 450 500 450 300 +450 500 300 300 450 250 800 550 500 500 450 412.5 400 325 525 450 650 450 475 400 +500 1000 500 500 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 613.4 800 750 676.9 650 726.9 700 750 700 750 0 0 700 600 550 575 862.5 875 +300 325 500 500 500 500 500 814.8 450 525 700 700 500 863.4 963.4 750 250 500] +>> +endobj +11 0 obj +<< +/Type/Encoding +/Differences[0/Gamma/Delta/Theta/Lambda/Xi/Pi/Sigma/Upsilon/Phi/Psi/Omega/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/acute/caron/breve/macron/ring/cedilla/germandbls/ae/oe/oslash/AE/OE/Oslash/suppress/exclam/quotedblright/numbersign/dollar/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/exclamdown/equal/questiondown/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/quotedblleft/bracketright/circumflex/dotaccent/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/endash/emdash/hungarumlaut/tilde/dieresis/suppress +160/space/Gamma/Delta/Theta/Lambda/Xi/Pi/Sigma/Upsilon/Phi/Psi 173/Omega/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/acute/caron/breve/macron/ring/cedilla/germandbls/ae/oe/oslash/AE/OE/Oslash/suppress/dieresis] +>> +endobj +14 0 obj +<< +/Encoding 11 0 R +/Type/Font +/Subtype/Type1 +/Name/F2 +/FontDescriptor 13 0 R +/BaseFont/GSVMPS+CMSS12 +/FirstChar 33 +/LastChar 196 +/Widths[311.3 489.6 816 489.6 816 740.7 272 380.8 380.8 489.6 761.6 272 326.4 272 +489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 272 272 311.3 761.6 +462.4 462.4 652.8 647 649.9 625.6 704.3 583.3 556.1 652.8 686.3 266.2 459.5 674.2 +528.9 849.5 686.3 722.2 622.7 722.2 630.2 544 667.8 666.7 647 919 647 647 598.4 283 +489.6 283 489.6 272 272 468.7 502.3 435.2 502.3 435.2 299.2 489.6 502.3 230.3 257.5 +475.1 230.3 774.3 502.3 489.6 502.3 502.3 332.8 375.3 353.6 502.3 447.9 665.5 447.9 +447.9 424.8 489.6 979.2 489.6 489.6 489.6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 528.9 816 761.6 592.6 652.8 686.3 707.2 761.6 707.2 761.6 +0 0 707.2 571.2 523.1 523.1 795.1 795.1 230.3 257.5 489.6 489.6 489.6 489.6 489.6 +647 435.2 468.7 707.2 761.6 489.6 840.3 949.1 761.6 230.3 489.6] +>> +endobj +19 0 obj +<< +/Encoding 11 0 R +/Type/Font +/Subtype/Type1 +/Name/F3 +/FontDescriptor 18 0 R +/BaseFont/VTSUCW+CMR10 +/FirstChar 33 +/LastChar 196 +/Widths[277.8 500 833.3 500 833.3 777.8 277.8 388.9 388.9 500 777.8 277.8 333.3 277.8 +500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 277.8 777.8 472.2 472.2 777.8 +750 708.3 722.2 763.9 680.6 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 +680.6 777.8 736.1 555.6 722.2 750 750 1027.8 750 750 611.1 277.8 500 277.8 500 277.8 +277.8 500 555.6 444.4 555.6 444.4 305.6 500 555.6 277.8 305.6 527.8 277.8 833.3 555.6 +500 555.6 527.8 391.7 394.4 388.9 555.6 527.8 722.2 527.8 527.8 444.4 500 1000 500 +500 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 625 833.3 +777.8 694.4 666.7 750 722.2 777.8 722.2 777.8 0 0 722.2 583.3 555.6 555.6 833.3 833.3 +277.8 305.6 500 500 500 500 500 750 444.4 500 722.2 777.8 500 902.8 1013.9 777.8 +277.8 500] +>> +endobj +20 0 obj +<< +/Type/Encoding +/Differences[0/minus/periodcentered/multiply/asteriskmath/divide/diamondmath/plusminus/minusplus/circleplus/circleminus/circlemultiply/circledivide/circledot/circlecopyrt/openbullet/bullet/equivasymptotic/equivalence/reflexsubset/reflexsuperset/lessequal/greaterequal/precedesequal/followsequal/similar/approxequal/propersubset/propersuperset/lessmuch/greatermuch/precedes/follows/arrowleft/arrowright/arrowup/arrowdown/arrowboth/arrownortheast/arrowsoutheast/similarequal/arrowdblleft/arrowdblright/arrowdblup/arrowdbldown/arrowdblboth/arrownorthwest/arrowsouthwest/proportional/prime/infinity/element/owner/triangle/triangleinv/negationslash/mapsto/universal/existential/logicalnot/emptyset/Rfractur/Ifractur/latticetop/perpendicular/aleph/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/union/intersection/unionmulti/logicaland/logicalor/turnstileleft/turnstileright/floorleft/floorright/ceilingleft/ceilingright/braceleft/braceright/angbracketleft/angbracketright/bar/bardbl/arrowbothv/arrowdblbothv/backslash/wreathproduct/radical/coproduct/nabla/integral/unionsq/intersectionsq/subsetsqequal/supersetsqequal/section/dagger/daggerdbl/paragraph/club/diamond/heart/spade/arrowleft +161/minus/periodcentered/multiply/asteriskmath/divide/diamondmath/plusminus/minusplus/circleplus/circleminus +173/circlemultiply/circledivide/circledot/circlecopyrt/openbullet/bullet/equivasymptotic/equivalence/reflexsubset/reflexsuperset/lessequal/greaterequal/precedesequal/followsequal/similar/approxequal/propersubset/propersuperset/lessmuch/greatermuch/precedes/follows/arrowleft/spade] +>> +endobj +23 0 obj +<< +/Encoding 20 0 R +/Type/Font +/Subtype/Type1 +/Name/F4 +/FontDescriptor 22 0 R +/BaseFont/SBFALC+CMSY10 +/FirstChar 33 +/LastChar 196 +/Widths[1000 500 500 1000 1000 1000 777.8 1000 1000 611.1 611.1 1000 1000 1000 777.8 +275 1000 666.7 666.7 888.9 888.9 0 0 555.6 555.6 666.7 500 722.2 722.2 777.8 777.8 +611.1 798.5 656.8 526.5 771.4 527.8 718.7 594.9 844.5 544.5 677.8 762 689.7 1200.9 +820.5 796.1 695.6 816.7 847.5 605.6 544.6 625.8 612.8 987.8 713.3 668.3 724.7 666.7 +666.7 666.7 666.7 666.7 611.1 611.1 444.4 444.4 444.4 444.4 500 500 388.9 388.9 277.8 +500 500 611.1 500 277.8 833.3 750 833.3 416.7 666.7 666.7 777.8 777.8 444.4 444.4 +444.4 611.1 777.8 777.8 777.8 777.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 777.8 277.8 777.8 500 777.8 500 777.8 777.8 777.8 777.8 0 0 777.8 +777.8 777.8 1000 500 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 +777.8 777.8 1000 1000 777.8 777.8 1000 777.8] +>> +endobj +26 0 obj +<< +/Encoding 7 0 R +/Type/Font +/Subtype/Type1 +/Name/F5 +/FontDescriptor 25 0 R +/BaseFont/CHDOEY+CMTI10 +/FirstChar 33 +/LastChar 196 +/Widths[306.7 514.4 817.8 769.1 817.8 766.7 306.7 408.9 408.9 511.1 766.7 306.7 357.8 +306.7 511.1 511.1 511.1 511.1 511.1 511.1 511.1 511.1 511.1 511.1 511.1 306.7 306.7 +306.7 766.7 511.1 511.1 766.7 743.3 703.9 715.6 755 678.3 652.8 773.6 743.3 385.6 +525 768.9 627.2 896.7 743.3 766.7 678.3 766.7 729.4 562.2 715.6 743.3 743.3 998.9 +743.3 743.3 613.3 306.7 514.4 306.7 511.1 306.7 306.7 511.1 460 460 511.1 460 306.7 +460 511.1 306.7 306.7 460 255.6 817.8 562.2 511.1 511.1 460 421.7 408.9 332.2 536.7 +460 664.4 463.9 485.6 408.9 511.1 1022.2 511.1 511.1 511.1 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 627.2 817.8 766.7 692.2 664.4 743.3 715.6 +766.7 715.6 766.7 0 0 715.6 613.3 562.2 587.8 881.7 894.4 306.7 332.2 511.1 511.1 +511.1 511.1 511.1 831.3 460 536.7 715.6 715.6 511.1 882.8 985 766.7 255.6 511.1] +>> +endobj +27 0 obj +<< +/Rect[207.95 589.1 265.71 598.25] +/Type/Annot +/Subtype/Link +/Border[0 0 0] +/A<< +/S/GoTo +/D(Annotate) +>> +>> +endobj +28 0 obj +<< +/Type/Encoding +/Differences[0/Gamma/Delta/Theta/Lambda/Xi/Pi/Sigma/Upsilon/Phi/Psi/Omega/arrowup/arrowdown/quotesingle/exclamdown/questiondown/dotlessi/dotlessj/grave/acute/caron/breve/macron/ring/cedilla/germandbls/ae/oe/oslash/AE/OE/Oslash/visiblespace/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde/dieresis/visiblespace +160/space/Gamma/Delta/Theta/Lambda/Xi/Pi/Sigma/Upsilon/Phi/Psi 173/Omega/arrowup/arrowdown/quotesingle/exclamdown/questiondown/dotlessi/dotlessj/grave/acute/caron/breve/macron/ring/cedilla/germandbls/ae/oe/oslash/AE/OE/Oslash/visiblespace/dieresis] +>> +endobj +31 0 obj +<< +/Encoding 28 0 R +/Type/Font +/Subtype/Type1 +/Name/F6 +/FontDescriptor 30 0 R +/BaseFont/WJMNVI+CMTT10 +/FirstChar 33 +/LastChar 196 +/Widths[525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 +525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 +525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 +525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 +525 525 525 525 525 525 525 525 525 525 525 525 525 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 525 525 525 525 525 525 525 525 525 525 0 0 525 +525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 +525 525] +>> +endobj +32 0 obj +<< +/Rect[302.1 536.74 349.16 546.2] +/Type/Annot +/Subtype/Link +/Border[0 0 0] +/A<< +/S/GoTo +/D(postscript) +>> +>> +endobj +33 0 obj +<< +/Rect[186.04 521.53 237.4 533.1] +/Type/Annot +/Subtype/Link +/Border[0 0 0] +/A<< +/S/GoTo +/D(postscript) +>> +>> +endobj +34 0 obj +<< +/Rect[452.64 471.29 483.18 480.86] +/Type/Annot +/Subtype/Link +/Border[0 0 0] +/A<< +/S/GoTo +/D(textxform) +>> +>> +endobj +35 0 obj +<< +/Rect[150.64 458.2 208.42 467.77] +/Type/Annot +/Subtype/Link +/Border[0 0 0] +/A<< +/S/GoTo +/D(textxform) +>> +>> +endobj +36 0 obj +<< +/Rect[319.82 442.98 361.87 454.68] +/Type/Annot +/Subtype/Link +/Border[0 0 0] +/A<< +/S/GoTo +/D(pdfimage) +>> +>> +endobj +37 0 obj +<< +/Rect[237.34 392.74 268.31 402.2] +/Type/Annot +/Subtype/Link +/Border[0 0 0] +/A<< +/S/GoTo +/D(jpegimage) +>> +>> +endobj +38 0 obj +<< +/Rect[319.47 161.29 332.98 174.2] +/Type/Annot +/Subtype/Link +/Border[0 0 0] +/A<< +/S/GoTo +/D(pdfmanual) +>> +>> +endobj +40 0 obj +<< +/Filter[/FlateDecode] +/Length 2580 +>> +stream +xÚYKsã6¾ï¯`íe ªˆ! +=eŸÆ‘;qÇËÝÌ(Ñ=lmÿ0ÜÍàäFJÑÚía`^Š•|ÝÚ95™a€Iø¦mWG»0Éhmy0½“2½H*'àr2K㤠mÛvÞÒ²/Y$Iž:™v'ê¶jö+Ò•)¥Ø<p¸.èa”.n;`¿"aiàc½ºwŽ³ +ŽnPÆROûÉÙ¾y#ÐZ¸`ETUâªê»¥õÜw]Ã…5
¹§sß)Ä,‰¶_»ÛgÁ:_êõnŸËœ +^c,&ËÙXLVŠ»»ÁémOŠý'÷‚“r2“bà+Cƒ¨j°ŸÐº¯6\²¡åÇñnÙ'U +>©É'͉O¦Ethû•§Þ‰F;#¯Q +¢Î~»lmþ¨S=Š
=–?¹|ã¸N¥ÉI`µ÷›©M㪯vïZLJðîx§ˆwuâë"T*Mgm‡M$AÁ¬JÑBè9„"CñŽF`b2oÄö7h $~} +Xúth8Jƒ‚mwÜa¹ñp„˜cÓÕd®ã&V|½ÅÀ¨ û»ÁŠ}}_·á%'¹V@¬3±p@‹”0žÜ|‚غî‘ö¤ +`ÆCË&Ëø
|x¿þRžúk³È,ðå@|Ç9†gvF=ç®Ó¨Èœ,K“°ÿ¡ +Ù±·»ž$':8-ôÇ•öE/Ï'‘õÿÜW=4²÷$¤áŒX:ÊØ%*!2Â&þ©xäø%~ÀðÉ#Êæ…¼#öa†L”x3Š²Ç&)š§KŽr ãö'T‡,ãŠ(]y·ä¤$\Þ¾ö.äéknšdaø(ù÷-ê{ÛØ6h’eL3a‘i²ßxhxólHLûÃLwɘdfÎ7b…@Ƨ\(öŽC@Í6<1d&Ö™ +8ÅŠŸ™´°U–hD€DØ;åéðýŒ(xx´jlx±Ä–SöÔ3.Õô¹rAÀ
îWù¾kë +ër\›} ®°ƒ¡ +J…M2 +¸Ð×Wõ€gÇQC·
ã/ؤîÂã7â·§"Ÿ&1iV»êùÙQ?<ia»Å‡ÎD„öÜT·ôèÅѱŒ.wöð$sàHiÐîês½Ã¿+Î,@gñ¨@êÂ(ñ!,n‡®c`8`Aë¨W,oF)éb¥ÎñÉ~úÜl·ÀólÏØDÓ4 ™–xa(,í€úÂâáÒ¨F óq¤7D<zo—tv]Šësáæw3àh”~ÃÑò,eÁµ0¸@Å!¨¯ÂÈ—WÁ‰Tj(+ +endstream +endobj +42 0 obj +[27 0 R 32 0 R 33 0 R 34 0 R 35 0 R 36 0 R 37 0 R 38 0 R] +endobj +43 0 obj +<< +/F1 10 0 R +/F2 14 0 R +/F3 19 0 R +/F4 23 0 R +/F5 26 0 R +/F6 31 0 R +>> +endobj +6 0 obj +<< +/ProcSet[/PDF/Text/ImageC] +/Font 43 0 R +>> +endobj +46 0 obj +<< +/Rect[281.31 719.18 294.83 732.09] +/Type/Annot +/Subtype/Link +/Border[0 0 0] +/A<< +/S/GoTo +/D(pdfprimer) +>> +>> +endobj +47 0 obj +<< +/Rect[430.03 706.09 443.55 719] +/Type/Annot +/Subtype/Link +/Border[0 0 0] +/A<< +/S/GoTo +/D(acrotex) +>> +>> +endobj +16 0 obj +<< +/Title(1. Introduction) +/Dest[5 0 R/FitH 667.91] +/Parent 15 0 R +/Next 48 0 R +>> +endobj +49 0 obj +<< +/Rect[128.82 179.88 166.27 189.46] +/Type/Annot +/Subtype/Link +/Border[0 0 0] +/A<< +/S/GoTo +/D(commandline) +>> +>> +endobj +50 0 obj +<< +/Filter[/FlateDecode] +/Length 2872 +>> +stream +xÚ•YIsÛȾçW°r1Tea€îÆ–›3²g&‰k¬¤¦j4l‘ˆ°0 +*Œ
ôžf“01›yîgþvê¹únœ†c5ÑÖkUda±¹Žã°Hh;³LË2Dz”Y¦Up´eÝ5ϼˑ¤MpSSÝ4v¸»âµzävÚ[Þñ®úÛ«\ög^Ù÷åÞ¡ÜÙßÉu²0Úf9s]¿ÌuóPû›Ca@ìÙÅ&4¼ðýqðÉy0Á+Ú·@bñ3Ta‚§zkñýªÐAYUö0Ù-Z;íYÓd¹Ž-ë×dyD<ÆÎJ²FN}ú–gY¶ªˆB£. W¯„‹_ §ýëŽ#3óZÇ ™È"ßw۞ľAñ,•ûU¾œ…Èk¤‰øL~BÛéÇés5Ôù½û‡A^¬%øÉ=~òŒÔ|÷!-W¥&Ôé&"’¶_êÃÈ;´·ß9ûHUÜîåš=êãó®J;4u÷è”Åìƒ-§ã`ñ¡y”~Ÿ$´q$ +aZ(¤¾SgØ$fâ05$…ä‚‘ÂÉó€íˆ¶ªZNÞg@º™l9u[Oõ$ÄKö +dØgEdBñ™üЖÃãÈÛÈð³½H>.ò°È™)[6ª´/<}.0ý’Àâ(A¦~C`É"0c’à¯w*M®Lïø¾[L§W&p³ÞÆ7‚`$"‚(ÓüÛ†€ÄÓ{’$ø&ža2B´Íd‡®tÜÅ1i¨c_sœ%gdÉ +óta1¿‚Áð 38u†™Vè©XCSa¸ÅÔ¼îÜzmóÀ}Vý,(·[wé©}$ð‚,Ø6lý $ù&˜,Ì/!òžó•#ƒ‹ìAô‰ +O„yÃ#ŽRÀþiÏó>äé7ñN<v'¼zË'•#¯¶±%Ã’ö` n½é»²‘ù(€92`KAU6ÍòJ]¬ÕÞ‡j‚
˜ûq +ÞQð‚«$ßQ¢ä} +ð0Þ$EÐõwœ{ÇãJÜûå +4¤¬›ò¾±òÙØóÞÜìK¼ñ¬íÞLüí‘E ËõD´ÄnûÓÐOö”?‘/7æO{Ái$cç(¬ÈXƒ°í¸µ_íPÕ£åi2´;;É6iÙN ãùI!ÔaË¡ t>ró„Ìà«€Ã3»Jïx±DUL¨÷ Û}=ži¯k…8{°¦Žó’klh¶-E³X‰ *@¯-;Ï€¼Âˆ¨Ý¡S±w`?›³[Jý0–œ_Ü@4fÚž‹‡JÊ,&ƒsl!¬gŒ$”Q.CŽG!Œ8TÁN…¸¯.)ÈÄÃÈÕÃÒäÎðí7|©…†(
þ3‹w‘öoG0xEXŸ
PGÖ…ö+?¾~/v‚¡* ‰óuëà—樖oå¤3N£mñÑK´Í>ºP^¼-þæôÞ»0þ©ž1TÈÑe°hiÈЈÍZÈÓ°ƒŽ›˜šêÖRâ#fS3*d¤QqŒVE©&l +s¾A{Ø×M?öЀwA#Òs„ž~Ež´œ–’â¡C¿Ê¶eâa¢)»Ý2Q¹àÏÞ ãÁ”E?²P©9‰ËcVÙœü-6”ÕRokG +»éa¸ópçbqé.´¢ ϼk¬ÛC#Gµ<¨%‹¯I{p†¡?Ú‹×b$Ù®?׎û¡ì*ܳççGI@"‡vö>²`ä_EŒIƒÏ`æMIñ&î8K#‰»#f5l©z|F²8òïÆç„ +ž@ò¤à=q I#·%7ÌfC”{lÆ w|¦ã™n€XÇf³Ðvΰ5Ë1 +À`‹3i‚¾—‚ZæfŽ¹0EÌMWÌ…QUÊûºÐ¤X4AßÀé½.ëI™Ø6õ£›ô,YçD'KCµJtî¼Wd®VàÛH˜–'\Z\[&Ehéî”îÎqñ³ËÇ›ùxž&Þdf¹}O sà¬w¸>&ý#²&ÖÁ÷€£bJ&¸7sJ<u&éQáœ5îð=é9a¶,aÝàÎȸaYŒz¾ÖQJHÅl±S/ª)eìŽt¤.ÞÅE' +h"Ïüñ”û’´ë‘G§WaØó#ËÅ +³‰Ïœœ™CÇuÛ“s=æàÝ3tØd ³X%º„„.ó˜\Š¨BµJ!Øh) +°Ék€
¾ì¡)++ä}B#žUë-ß4¼”ÉÃxm7( ¢ì$IÅPÆ;Ú¯]K¸Äü×®'&ŒÌ7åy!„.^¡XsÙì¬Î±ÐyRIg[]dé³cýÿO˜Ž U»²1(³'A'>ÃôØ?L¸ü„Ì“4$q‘÷®îd:]yF2šl†©¥óAàBmÙŽg±6KŒ,>ƒÇw`ã±á¤Çd¹¸þl$Žðž$>¯Jã6 +èéK¿ã,# LBØ]Sªð”Hä³lëy‚Ý渵ç`³°Le\{ÅV "yEÙ>8ÿW +QZQ9 +×¹ôtÄÊ÷.Þæ¡ø¢™ +˘.õ€c–Ì\)'˜-ØŸŸ9/ô†i±¸~Ð#²ÈÅ'à_!PAÏzJH‚ÞC¸B‹T'Èbä+ÕR`j¡ N[h‚T)BG쯊öL(LÏ„ú(!Yôo–A.¤ÚýàÒ7jFŽÈO±.\ý…rùOm5óÿ¹ª6€Úxÿ®&1¨-Š¢ " ¾ïÛ–X™žXþ?_üîuêùNÿ½§³0-ÄLj-)jüâŸ}yŽèÚ +endstream +endobj +51 0 obj +[46 0 R 47 0 R 49 0 R] +endobj +52 0 obj +<< +/F3 19 0 R +/F6 31 0 R +/F2 14 0 R +>> +endobj +45 0 obj +<< +/ProcSet[/PDF/Text/ImageC] +/Font 52 0 R +>> +endobj +48 0 obj +<< +/Title(2. Command Line Options) +/Dest[44 0 R/FitH 221.92] +/Parent 15 0 R +/Prev 16 0 R +/Next 55 0 R +>> +endobj +57 0 obj +<< +/Rect[422.81 463.57 505 473.14] +/Type/Annot +/Subtype/Link +/Border[0 0 0] +/A<< +/S/GoTo +/D(pdfmanual) +>> +>> +endobj +58 0 obj +<< +/Rect[322.33 345.65 359.79 355.23] +/Type/Annot +/Subtype/Link +/Border[0 0 0] +/A<< +/S/GoTo +/D(drivervariables) +>> +>> +endobj +56 0 obj +<< +/Title(3.1 PDF Object Syntax and Variable Expansion) +/Dest[53 0 R/FitH 546.58] +/Parent 55 0 R +/Next 59 0 R +>> +endobj +60 0 obj +<< +/Filter[/FlateDecode] +/Length 2664 +>> +stream +xÚ¥YK“㶾çW¨öD%+˜Äƒ }Ê&»ëJ*»²S‰«<>p$h†±H*$µ³²+ÿÝý +ÎôQá&—®«e:z +½ʪV¯LéŸ +ÏAwfˆo¢âÃŒ*GÚ±iY?Ij…’SýܲB6ÑðF +“|†c
§>pP€~ë²~ä˜ck’V®<i@€–‡{²'p»}ïZtG¥¢²ãwåcÝ´îീA”Nµð€ ’á ÔR/˜eÁ´I¢¿¹â@üàÛî\ì]ÇŸÿÄCëetvÚã6Î𛵧È\[~¾¯h‡“MTV•;”q§+)3g=òØœN
+úLRoHǯL !Y,Y2™Pæ—]AåȼÄ;ŠŸä(~çxcÿ¢Ã™gɇ†¼x©¼§¦0°på·ï˦&•©Hý”ŠÿÏYžËÄ õÏèoÞ¾çÁ×ÿ†#y<"¸
°žFÿD'+Ù¶,NŽaüݧsQwÀéo€p©€O†ð±oË8jj„L™Dî&Øñ5Z²Wâ‹îʪBÎð‹K‡JÃ7å4 ih7$“F(RÇŒ"T.Q°_®ü0Ï‘Á_‰×‚Œ`M–z&3 +ïsiôL„ØËa“%ãW÷`ú}B#’ä9.fµÀâA-L§ðòÇÁ(ôÁs\°{L<
„¿l§>Òa0Õ)ÍtYêÂ7ÁéD´×¬3Éc™X†rN¡7ω~è#&ßT@0"OÂiófFkàVèœ[t„‰ˆ³ª\±dý—)EûPöE{ejà
|Q#ôLtD®c"
¹%Uãë•ÓÐ¥ +5r.<ÉXŠ<ûL®ªÂWmÈÂÌšëÊn W‰Î¾²èuqW0–d2˜†ÊÙ©I +¬4VʶœTßð+ÈÄíîà0eÔüuÂfµ¾ E³â±}àòRy»0Ÿ‚Jܨ¹ýFUX‘”£dwè|$S„‰i
…Í|ˆ [›Oç¼8÷ÉK±Æá•ÅSƒƒ2L†V%χEGWô—Ö…SÎ'_0gñ®c–¡ú,g8º:¤™ÿ.•cÇë;½+7«”è!À¸xRàŒ¾…ƒ;*TºEûC‡® +¦ŠÞ‡CÙ{¬ªÜ×f8X© +hÈn‡E\uESùðUVØlZ;Ñ2®Ë¨<ÆÁd'-åP©£ËùrPΛg¾f¯'À³Ú-™•L˃}%)ß@7]•QÛS +O%^ešC߶/‘`£sñè0÷dpä…}×!¹ótäi~“l¹I +.®Òx1?_8y%‡‘¬uèØÔµq>1*LÊ£Ätö9¥h9•õoÌœRæBC© +ý8¢Wª£¿ûÜ8**6Ë‚ciˆƒIKï:ÐCœÊ=¡cj¢¯©#fÇ‹¿Êy+ZK.=ÉE|ÆWØÑBp6—ú@Áó€s¸è¡-èZçr›QA.±n`¨£ïV=GÄo_‹þËP~ÔÐó@¹‡ý”âÃ|h¿¢dÎÁe ¯|Ä»ŠþÆ}˜ +9æ{¨ +j§ì]Å£±c‰8÷þþ÷¯|Ø¢{Ì:‹åm«ÂŠ¥æ§?êßá +sj©ÆºœúòÒ‹ð_iè=ã/‹$_½…½©˜_ùC€µÐyû»þÊ£æçß™\-Jrˆbþ®Ã†PcoáM®ñ?Š_½87³;[_@{àÜAÕñÍ<6t‰ÿÔ´=Ç<\0²â¯ûî9\afÅgÑ>òõžÿ@COêNeURÏ„W5C]£a秲÷78tÁJA +pžÐZùÓéÊ›xÄÎÇìp +NÚ†¢ ž½î¥["ü¤ö¾ì]"¸ÃªÝœdd«½LV‡q,ò‡ÿâ˜ÿâÿ/}Ð1^Ÿ°œ21u•Úš)Ç´êǼpâ +¯=þo +endstream +endobj +61 0 obj +[57 0 R 58 0 R] +endobj +62 0 obj +<< +/F5 26 0 R +/F6 31 0 R +/F2 14 0 R +/F3 19 0 R +>> +endobj +54 0 obj +<< +/ProcSet[/PDF/Text/ImageC] +/Font 62 0 R +>> +endobj +65 0 obj +[63 0 R/FitH 733.82] +endobj +66 0 obj +<< +/Rect[363.76 575.6 433.24 587.17] +/Type/Annot +/Subtype/Link +/Border[0 0 0] +/A<< +/S/GoTo +/D(fontmap) +>> +>> +endobj +67 0 obj +<< +/Rect[449.97 339.47 473.82 349.05] +/Type/Annot +/Subtype/Link +/Border[0 0 0] +/A<< +/S/GoTo +/D(thumbnails) +>> +>> +endobj +68 0 obj +<< +/Filter[/FlateDecode] +/Length 2255 +>> +stream +xÚ¥XK㸾çWè(#._©ãLzf±A‚,v‹ +6ø«Á3™{<6Ï4m?œ¹F÷µóøÀ´öðŒï@8·±HX¯ô|E݉„§–V‹²ºq“û~þôöE¦Æ‡<8mz.¦kd‚I»¥„5V +2¼RmÛMäÙ²€w¦ú58ºF·u±0ËÉÇ1\r¸çãÏÅg"¸Se¼Òã@ŶhÜææLë GjAœ7Þ‚ñîÌN3
qf;]¬xšŽdf˜ÌÑÍ´ñB?í¬Â3 +‹??|"]— ‚Å[A%¬=GçVMÉÁ±Ù…šý=5{ĸè ýR6h+Ô-ˆ<h.ÅYsñÁ¯¶ìf3Æg•Å˜-ê +ØGæŽiOÉ]”‚Fƒ»6/lf ,àð
9¦æ/½Û‚ZdkbªÝÂè:2&ô·„d¸uVaü“*¬vO;:€áz{Ʋ7ì.ôeŽŽŸw&üÕ
×DŽES¡î‰ +˜ÏAÃYA/é'cx¿ô¼€™ß}© +<zíDS*AIô6~ü£_NYª£eí_á‹KEỀ܌¾U+½#‚¤„›ù„«<d>/Ñ‚†ErD´w¡JiÜôÜy½÷o)Mê{iëïþXƒ2åê|£ AiônÏ,ÄÂ"-uZPQ§1é`ž•²¡+ZÈ8TâÁœJ<ÖN£ê„$® +§( P¸îC ÔwÅ„‚öhƒ
þë¿;vdú¼ì(Bu™¤À#ðÔ±àP³¼ƒ_É·"eVœi*52þ ‹b“…ø4ä’aœhBJA µôð:ÒˆõòÒWú¹¦Ÿ°°ÃÔôû%¾iRªÙu¹œèŒ{ƒüSl1â\?Ù!Yñ<®PgŽ¤Ôn=ÖHŸ&븞۾cÕ¶s pA(׊SD‹9h%õnvÕ»!É+îÑ»x±.Æi® +Ža
¡ÃgA +pãèñCí^\½5«mO˜ +ão¤†e¿°¸ ÄÕ³½Zb[Ùò‚– +J',›4hËio-qšcW¤Müµ¦[¿Pµûª,è*—Û°a¥“Yü~}µ•ÍUÿYYŒ½EÙpEy ͉1¯Ú€¥¯º[ÈZòÕË=¾øà<ˆBOݸ-
3Ž7Óôþû¦C{Snâ”pˆùPÀ&…vÓ¤/ѨN‚¿¿VxiŒ# ã¾.(ïzŸìËvh¾W¼ºøÃk +endstream +endobj +69 0 obj +[66 0 R 67 0 R] +endobj +70 0 obj +<< +/F2 14 0 R +/F6 31 0 R +/F5 26 0 R +/F3 19 0 R +>> +endobj +64 0 obj +<< +/ProcSet[/PDF/Text/ImageC] +/Font 70 0 R +>> +endobj +73 0 obj +[71 0 R/FitH 733.82] +endobj +59 0 obj +<< +/Title(3.2 Dimensions and transformations) +/Dest[53 0 R/FitH 247.14] +/Parent 55 0 R +/Prev 56 0 R +>> +endobj +55 0 obj +<< +/Title(3. General Concepts and Syntax for TeX Specials) +/Dest[53 0 R/FitH 653.14] +/Parent 15 0 R +/Prev 48 0 R +/First 56 0 R +/Last 59 0 R +/Count -2 +/Next 74 0 R +>> +endobj +75 0 obj +[71 0 R/FitH 180.29] +endobj +76 0 obj +<< +/Filter[/FlateDecode] +/Length 2005 +>> +stream +xÚkë4ö;¿"º_6•n=±ç‚e¸À +¡«KµZ‰ò!“zÚhÛ¤rÒ™Ëç;MšÌƒ…/±}ü8ïW‚ˆEQ°
ìð
‹ñ“EÙ^C>}üsuóAœ³\«{˜$L©`©2–&Áêö—pµÈxXÜíõb)… +Åï?Vm‡ó4lîqL©´!ØF¯…Jk½¡‡b_Sáíâ×Õ¿‚oWÁ˜J¤@9Ë$ KYšË4c‰´øÿ½H“° Ë<Nyx«ÛÒTÇ®jêË“ò¤"zÕ²:‚|BqÄÁcÆLÅÁ2“,UÁ!J°Túõ>øy†º¤§Î]Î%ËH:_•EWì›-ÒqóAöÁ„ +"{æk…”¡Ñ÷ÚèºDAÊ8ìw;M“
+ynWŸÉ÷tÙõe¶Oðƒ•gñ×À£¬ÄÓ2æQX‚¡@ïÖâ‰ÜFM;Öz +š¸BÞÒVòj¦’W®’Ÿ˜ã>W®×íü¬þºÆI°or
‰©Ð”=XGj‰\h:йϞ²ÇªÛÑ•ØkLŽÊ¯_ئ€xm\?·^O +JÁzÌ›ûÏ'Na_MûïØuîY¦+¸%Oðϲ•É¹8÷úói~µ
"LÆ¢øßb© ÆYÜ0ó„ÆN8
_|Aãͪê0Uâ|
i¦3͆,Z«¡0löæV·î±_FoF4|r/¨ºïi*dL“_iøòKohcÓ€{>•q‹L¹“Ÿý»Œ$Å +endstream +endobj +77 0 obj +<< +/F2 14 0 R +/F5 26 0 R +/F6 31 0 R +/F3 19 0 R +>> +endobj +72 0 obj +<< +/ProcSet[/PDF/Text/ImageC] +/Font 77 0 R +>> +endobj +81 0 obj +<< +/Type/Annot +/Subtype/Text +/Contents(This is a /Text Annotation that looks like a sticky note.) +/Rect[28.16 703.93 266.68 745.21] +>> +endobj +80 0 obj +<< +/Title(4.1 Annotate) +/Dest[78 0 R/FitH 733.82] +/Parent 74 0 R +/Next 82 0 R +>> +endobj +82 0 obj +<< +/Title(4.2 Begin Annotation) +/Dest[78 0 R/FitH 453.76] +/Parent 74 0 R +/Prev 80 0 R +/Next 83 0 R +>> +endobj +83 0 obj +<< +/Title(4.3 End Annotation) +/Dest[78 0 R/FitH 266.83] +/Parent 74 0 R +/Prev 82 0 R +/Next 84 0 R +>> +endobj +85 0 obj +<< +/Filter[/FlateDecode] +/Length 2258 +>> +stream +xÚX[oãÆ~ï¯à#Z³äÌpH.‚ I×4š¢v +ú|ÇŸHhüÉ¢ }\®üó»àÛ»weÇ"O‚»M ¤ÈÒ`¥µÈdp÷áçP‹øj¥¤ ¿©ë¦/z{õËÝ÷ÁÍ]0¿ +Ù$A.r3á’+ârûR÷Åç÷xöÝG3Ði)dDDRLø¿û¨FšDĉ£ùyÉ@Š4u{á½QˆDHéöêbÂW*¡ýþ/˳FD^®²ÚÛº«šúD0= +ÿç%PhdÜæ?>|•¦ƒg¸Z‹$ý$"WÁæ©0±Ÿï‚[Pç¸8(±¬Ö=ÈQ´/Än%#-R¬b#²œ(>ØnÝV¤z¿×(¡¼¸w[{¢ÉHùeS(Gr.(4ùäü‰¾óñ‚¦]žŽ¥PÉx|y8N„ñÂß_Cê,\7û}Q—<)í½LÒÚv8Í/»—€>ÄÕJçxñŠ•ç¨<ö|tG ,d–†EkyÐ_É4|9Tëb·{á¥cgKmà)4€Ó¶»†qž†[>“4´í®ªŸxÇ ùÞSù“ÏUùhûT™†–E^ÛÛvéZÑLèsž‰H;eUðm4)D›$lÈ9ŠÏŠÝa; æqoÛjÍ´Uii¯P§ €ãPž8y>¥^õrpg°8kD*ÑÍÓL˜lXð~>YÍåGŸy`&5{<‚åût•€»ªÄ©ÄUk¡f†ž°_©T…ŵLCfÒVÅÃÎâŠíçCAáöI඿mN\7Çu.©KY(Åè„Btè9Yh׬ÿüEe`–ž·÷ŤãïIy‡ÝR¥@[óJÓoÙ0[(‘ÄS= ŠV:6a\’$ü·]÷¨ÓLßðNk7dÿÉR¿Ñ,¸L®Ãkëº3û¦µK…H +ýÅÜš íÕ2‚¿–y¢e‘)~‘!ÒÖþçXµ¶ôÁï¶X£Ê¶8K!oÀ•]ï2E³ašãžÐõíËóèµiËkgfk«ÇíI¢S±P>^/!3·qßoOü²½¯T"Ï%Kˆ¯ÒÎp™äÚM³Û5øz‘×Í¥(¯'¯OÐú,RŠÃ¡m=*'ÏÃûí5b駰EaÑñק?žÝѱ‹ÁEøFäC«‰Ht0¬ý„Τչ1Í/iOEc4íñ¹Ç®gÁ‡8Aaê¦þ¯m'oí·Õ$XT.¤™ª¢?'NE_vªójÞ€^3£:óœ8›„}œûç`ÑQxƒÎž’³ÇÞ`<¦üßÂ㼿ÈΔŒ¼Ç¤‰'3r8ÖUÍ +Ë%*j¢¯î¸ÆÓtµF§XÚ²²wÑÉâb(!æµ”4”·úòI’üŒæS“‰ÖûK,¨*gámU¯IÛ :Bç†P-°† uÀ+ŸQEÍqWòtpib·$tUÖr¢]¯bíFJ-Œ¦ˆI棂aí§kæWœ`ºXèüu+aÆÊCVT àþ™ÑÒJùðU”o/Ã854?ñšÒÀq¥¤”v¹‚¨¡ÀˆeÉ +x9†3M†‡—§«N ecƒB²ìk“³¯š·èù[Ç3‡!ÃÉôRðóÃÙ¾áV6m
•™´†Š‹D.ˆÞñBáÖ[[<Qg°çð‚•‡ËÑ +JH‘#ͱ.(c :Re󴧊cßìaÎå$S¡8¾Û¡êR[ûïÈ çØAP¡‘™Kî<´
ã_GI0àÁ€–É;û‰Zì!‘Ú[ëZæû¡§uDõäŒÎ€ô¶»¿B]Ê<üW
ùè—ÖŸ½íü¿ +s¼Œ¦!j¬‡“gã|x¶žVbÜ¡¼‰ƒÉªæ懊3nqÿƒ$Ü}éXqGG«;€È- +endstream +endobj +86 0 obj +[81 0 R] +endobj +87 0 obj +<< +/F2 14 0 R +/F5 26 0 R +/F6 31 0 R +/F3 19 0 R +>> +endobj +79 0 obj +<< +/ProcSet[/PDF/Text/ImageC] +/Font 87 0 R +>> +endobj +84 0 obj +<< +/Title(4.4 Link) +/Dest[78 0 R/FitH 193.91] +/Parent 74 0 R +/Prev 83 0 R +/Next 90 0 R +>> +endobj +90 0 obj +<< +/Title(4.5 Nolink) +/Dest[88 0 R/FitH 689.67] +/Parent 74 0 R +/Prev 84 0 R +/Next 91 0 R +>> +endobj +91 0 obj +<< +/Title(4.6 Dest) +/Dest[88 0 R/FitH 542.67] +/Parent 74 0 R +/Prev 90 0 R +/Next 92 0 R +>> +endobj +92 0 obj +<< +/Title(4.7 Docinfo) +/Dest[88 0 R/FitH 385.65] +/Parent 74 0 R +/Prev 91 0 R +/Next 93 0 R +>> +endobj +94 0 obj +<< +/Filter[/FlateDecode] +/Length 1734 +>> +stream +xÚÍXmoÛ6þ¾_¡o“˜–HJ”‚¢X×.{í0¬6 éŦ-²äIòÒ`ØßÔ«Ó¦h0ì‹ù~º»çøÜÑ^À‚À»öLó÷õzuy)Kco½óg‰ò–á_½õ_éfSç‡6¯ÊóÅ»õ«ÑmŽ©˜}ëMËq·Ì»\äåíô8—ýñMµßgåv±2ñó²iëã¦mp˜ú-ˆ6#Äô®jÝæå5²âºªóöfo÷WÔÖº9îVÞ2&ChC–F拹/„_K®|]gh$ÎI?Ûµº¦åljV0gUY²KHOìbF‹oÖäô€IüI¯¾žÎüJˆpÏjÚA’D,äF¦d¨Æcÿçîó謽Îg*õ–iê`jÞ£¿¡Ç¡QLFŸ
øa/EŒóúI<B†„>t,ú‰¢óCôaÑ ÓͱYZìÁªx„½E¿(à +ýBÏ<ÛmÕ¥A ÷¾E{ƒÐ¿X$ܯjZÖï³ý¡Ðg0JSÿîF[%2j$±1g®êêv¡IA~;B1"§ãi9
Ðè3Â+æ,Vdzl”¥Ã<ôot¶5÷’sŸâ:»Ê YµÝJ©Óû™F$ÄJãÆU…ím í>…¦¡Ù\úWÇv"¸¬ìÌ!«[Ú?0ÃκWB8½î"AH »ƒ gˆm¯3Œ®( Ûx·À®q¬<AKa Û>BL‰Ý€Þ› +H™T¡ki×ïò¢ =Ƚªp•5MXß@|c€åQÊx2t¹;ä‡DrŠJâǘ&ÓÚ~ĶÀ‘:0^f 1 …Å=tÆbGotÓdõ=
ï€~¨g
’~Ó‚Y½¥éŸ²õ"¾þÝ2’H˜ˆ‡Žè"3Ž‰lè˜ÈN\dè®›3êSTB®Úg¨‰àÄXSØŒ…Ó gcwu°¶A97YyŸ"_qð9Ä%¬˜d“öát5«B¸HYD"ÞÜ—möþ|Š+Ô)ÜÁ¾µÂGÌ(w¸þòê¢ÿ¶ôî¼ +•Ðg@Ó=L–Èn¢ðÞ€^£Y§M[SúÏÅ*¸féP¬R,‹ÌZ±{–¡ŒX ž*Œ«™“NŸ‰!j·ú’Gªì®ýl¯»
M›—.[J¡úÏGƒ»'ADP 5ÄÀM{&¸ÙŽ«†“i:D`jɀ€P+EpDÃt‚v¨Ô¨b:C3 Ð8ê+WwBglf™Š<І}ýM„ÁQí:6Æe0Mi<8)|ž8ÐÿºØ6ĵ&Ç ÷—@Dæ„M¶r¦=¶È´
Rh +ceËÎ0 +& Ê%¢Ün;+4€GFRR㈔26%7;(ûÉtô#9K{û|hJ8/‡."ÅHq[ØQäÿ¡7–)/}“Hïù&+ +˘™+ùëšà»\Ìì†7ñª‰ÎOä¬yÈ”"ð.›ƒÞ@®ÿû°Ýƒ.PK˜û½”)ò¦v]K_.hå-5_!&¦4ÃÕEÞ~gWîUCÝwÿ|>S,¸RËÔÊ25U›¼„$ôxÆ ·°>†°«NüH”ñãCœ-b¼âæCd!²'wcGƒIÒf›o0.0
Úç`Ìâèéø5OÙÔKFýì±Ñ·5—;q•'pË-F¡¾7Ó¡åWXÀ¾Æ>R6¹!‡--$i•5È]Åó’KÁ1¼‘K,ÙÛ/›©e*`‘ãÓÕ÷'ì—Ggz¯(„DKÿ…©ÕÈ*å*i„e<žgd5°}@¥|°)Ž[«v§'q¢4€ÞCÆ_½8¶7ð¦™Vù³YÉÉùj·'^S!ê1§Ô÷wU½mf1¡Xð¡Ï»R}õæxe8lz>ÄǼ;ßUŽÓàŒ˜t_Y½„‡s;÷ÃPÒŒû–î¬ùë䱈Ïíøa´7ÄÐ׳g–Ü,@–_gõ-õ_0jË7·HÔ¡€„ÂGøBFþ¥MÎxêUe¢»uÌúüùÐep¼D—ɘ.ÿÊõÝ'Ðe‰Î&‹Çñ¥“ÿÉ|‰_Š†„i'&Œ9P迤ÌÞ¬ÿ/eJþ8Ê”ù2k³¢š•©PÃÑC¬©BËšøÁÞ0ÖÄ΀5¥Œ‰5%<qSÇš8pKàKl¸zs(/_ü[ÍŸæ +endstream +endobj +95 0 obj +<< +/F5 26 0 R +/F3 19 0 R +/F6 31 0 R +/F2 14 0 R +>> +endobj +89 0 obj +<< +/ProcSet[/PDF/Text/ImageC] +/Font 95 0 R +>> +endobj +93 0 obj +<< +/Title(4.8 Docview) +/Dest[88 0 R/FitH 232.45] +/Parent 74 0 R +/Prev 92 0 R +/Next 98 0 R +>> +endobj +98 0 obj +<< +/Title(4.9 Object) +/Dest[96 0 R/FitH 648.11] +/Parent 74 0 R +/Prev 93 0 R +/Next 99 0 R +>> +endobj +99 0 obj +<< +/Title(4.10 Out) +/Dest[96 0 R/FitH 467.26] +/Parent 74 0 R +/Prev 98 0 R +/Next 100 0 R +>> +endobj +101 0 obj +<< +/Filter[/FlateDecode] +/Length 1836 +>> +stream +xÚXmœ6þÞ_ú‰U»>𘨊’*M›Ji£d[©Êå·ë»£aw—mÕÿÞ
,ì]¯J¾,ØØcÏ3/ÏÌ‹¢à*°ƒï7g/E±, 6—àL§ÁZÂC›ïÃ+®CsèV6?Ÿ½L†…<f™ +"»æìM~e^×;C‹Fi2eQâ};—°Xx¿½}5ßË#–ñöúog¿6¦z¾í‹ºš‹P)S‰^ÄóçóqÆ"ÿ9¯vóÍðYÆ~÷ï…¹3í›Ö\šÖT[ÓÍ…er¼.[¥Rá;cVk!Ò°¿¶/:|óâ%îÖ<Ó(|[„qÏ[/WŠðu^xÞä%ŽyxY·ôaW¯Ö`íÍÞØ}nQ±ßêKzÂy“¦M¬iÔÒNç»]ûH¼Äe).c¤–ÔŠàŽ)ã±½ãŸò}Sš''3®Áš©]w~Þ5f[äåßÍîòÉj¸„{ooC¨ð»ïè9:
ëÌæúfÑÑøéSzþcAûaCî1‰?: +Ú«ùÌ[òu8`g¹`ÝN²”X~½øÓlû#ÙG£æCÈ€¢(äÝ¡êóO$`Ϝԃø£à“,ñ+Þ?›ÃGLyŸ«òý"Ø@é½ìÃ|sÂ"/Ù;šÕKwAœÆŒ'¤Bʃ=LH&âa¢ÞÎG³NSDi¥âÐ!Ÿb&åÔ-^˜nÛ
úÓ“ù…Á„¿ÔæÚœÈ0 +—ÅŽ†Vg¥¤³ò:K‘θ¿ÉïQ-N!«‡<7aÒ[zŸOnqaó™¡£o:³£“úÚgJ°ßQ¦lÚùê¶À´ÁÑf>UXT»¢E²³í˜Pñc_ÓtXàÌDMš¸+àcEËjÈ¡íb]‡x@Bz5ì(KZ?hÓæSÞe,£Ø:Üñ×áᄣƜ‡â{>wm-÷ º”º°rƴσØýXpál +¢'~LÖ#`Ü•®¾íÍÕ“Q¸AÒ84Å6/ËÃÂÒYÄb5‰ÙÓÞÇSvä|¨^E&Ò¹úKÛæ¼ +\‘×Àu…¥ü¼=¬`ÖbŸöðqp"Ü1¯9ù¬0û¦Ÿ¬¡CÒãCøô»«¿ÎÝ [/¥§$sGÕõí
µ´ïî +Bª~ëû¼ýø5ÌÓ,t•°`RªÏ¨ìÆ—EÍìRÉÆ/¸—Ö8hêõ,ÍYä_€:‘“D‡âˆ2 $L¤½¹"*ÑÀIM¥9]¢¨®ÅkÈ©²Ô/HŽ'Úú½¤¡ï¥ðßÅ©rŠ.>÷Iñª¨*<Ëî@º¡·Ñסõ™ª=:ÐÂá¹N˜J0k¼ð&2KÑnÂ9ü8›!_,þ¨‰ÔXLºêÀ6>]Oj@º¥6§ðìI<eRm‘5,•wH$ÖàÉØýÌü[¾³Û}iNTé|ÚZi¦°EÁ<‘$c}y1»·I¯ÛAtìQ + €éæ³+I…<&|%S%ùo^Ú™ÿQR*ű÷~dIÙL˜ +“jlžvdÃîÄšRŽ‚¾±W’Œ¼ÆfOÚiínþÕ¿Æhc +endstream +endobj +102 0 obj +<< +/F3 19 0 R +/F6 31 0 R +/F5 26 0 R +/F2 14 0 R +>> +endobj +97 0 obj +<< +/ProcSet[/PDF/Text/ImageC] +/Font 102 0 R +>> +endobj +100 0 obj +<< +/Title(4.11 Pagesize) +/Dest[96 0 R/FitH 199.85] +/Parent 74 0 R +/Prev 99 0 R +/Next 105 0 R +>> +endobj +105 0 obj +<< +/Title(4.12 Put) +/Dest[103 0 R/FitH 618.12] +/Parent 74 0 R +/Prev 100 0 R +/Next 106 0 R +>> +endobj +107 0 obj +<< +/Filter[/FlateDecode] +/Length 1987 +>> +stream +xÚµXI“ÛD¾ó+tCSà©7I)ŠšPI¨@(ⓃFÖØJdÉhÉÌ@ñßyKk±å™ +…ŠÿÉnB©s»£Çvƒ}1åÕäë«nW´T¿NˆD`gç +´¼U#O¸jò¶î›l©“‘“ÖPoˆZSŒb3+y±†€5{.Zé[ +ŒÜíòŠÇ·3D^dç÷óf÷wœ:iiÓ¤ÄM.b5׎î¡DDr¹i¹âåYMDN]% Õ:têb‹ÕÅÖÕÂiHo¢§Ô5B…3uñ¬”ÚL@ÁêF6òßÔMÎgu»ÔJ·wP:w#qfïÌ¥Î
s0‡:¨øˆw¥›
ù?L¸v×ü&ƒ™ßx¸ão]eÈ)PåçeÉcåèø0ö¹@ÅÏÆÓ…Y ª 21AUJ‹`êúSçƒÑH=ÊìD˜Á½)zŽôw–‚eƒ¥Œ#0°9Ag ù!V“Ãk‘žÄ>¡“ç +ËŠ¢…QO倚¨ë‚Ô¬’OþÌæúº= +æ8Dvì9Nƒ3;7çøŒ%½[¤&p`çùó9ôm8rêiIã÷\Ÿ+"v¼ŒÝ¹º?œ}}Á™1½ä ÷¶u-þ¸'Eêæé2ãlå¾MWd%C”òŸ0Àm™a>•Ñ :ÆÇV™gî]}âðe,ìî `Ko›ºrû·ç^6h„¦°`|_âÝN—¼¤M5©ïŠ(!/]aX<Õ^â³1öw¸ËÂR§fß:†då¬ßŽ¨4ËbÈ«Ÿ‚-;UbwFYW[ç +ÆâjÍâúi6/òæE~vô!m`Ð<Ž¨µ¥œ{ƒËª?þÞM¾ÁJEçÎb‘?Š +í«§ÿF*&SXb`æ1Õ¥lÃa7?8‡àúT¤´ñ³·ç.¦ž@‹þŽ8ãóPOÌÎÚ€™ +® MðïÏ/žaõ]Š³qI ÔÑÿýáP|™$ÿ.eƯÝ_zø«ÀyŽ\Ðb"EÚݵ¼äÝâ ‰Ë>·Å¾ ˜zw +ra=p¶Ë×Õm½p° +;æÉd# +L3`ÅH
™>@JGf~,0ò*>w²2ø¦trë¬8s´D²|Á8×Hð¿ë3”h…8݇þ‡ \ZTYÙã?T¨&rª(—ë¢+4ÿ‘ÓÏÔ‰¡\>ï»Ýpjö>B˜è9ö~@Ђ¸9Nù#‡HYáxè9–Fý‘çbgOèD$ÁÍ]St½,ÂdblÐnû›À +endstream +endobj +108 0 obj +<< +/F5 26 0 R +/F3 19 0 R +/F6 31 0 R +/F2 14 0 R +>> +endobj +104 0 obj +<< +/ProcSet[/PDF/Text/ImageC] +/Font 108 0 R +>> +endobj +106 0 obj +<< +/Title(4.13 Thread) +/Dest[103 0 R/FitH 367.33] +/Parent 74 0 R +/Prev 105 0 R +/Next 111 0 R +>> +endobj +111 0 obj +<< +/Title(4.14 Close) +/Dest[109 0 R/FitH 733.82] +/Parent 74 0 R +/Prev 106 0 R +>> +endobj +74 0 obj +<< +/Title(4. Document Construction Commands) +/Dest[71 0 R/FitH 283.9] +/Parent 15 0 R +/Prev 55 0 R +/First 80 0 R +/Last 111 0 R +/Count -14 +/Next 112 0 R +>> +endobj +113 0 obj +<< +/Title(5.1 Beginxobj) +/Dest[109 0 R/FitH 533.64] +/Parent 112 0 R +/Next 114 0 R +>> +endobj +115 0 obj +<< +/Filter[/FlateDecode] +/Length 1946 +>> +stream +xÚXK“Û6¾÷WèVy3I‰RNmšl'=$ƇÌ4=hmzŒ-¹’¼_<H½ìMÜi.k +$Aø +š»¹äÏ߂׫—72ˆc‘'Áj()2,µ™Voþ +µˆõb©dþº¯[»ø{õ{ðvLB%I‹<éHµ0št||ªºâñî}y“öë´2"Z²öÊ_Þ¨~Ì…NÝ‚Ÿyr8Å“¸¹ª8°aK“‹$XÆFÈ”fÞØvݔǮ¬«Wsí©Ê¿ÚÙ¹u2©üšu*iì<4egÛø-;ÐE4kƒÃ<üãÍ
ËêÛÅ2IÂ/vÝñ̺±EÇ˲ð¡ìvs;â<©o¿œ9)±wDW&?”ÒxÉ%Æ—=B–(“†ŸeböV€9Æ„ïkšp{j`o3·!OEäÏ8žº¹ 1ÄÉO¯ëá¨6-ë;iÂ'>®.³ÐòŒ}´ë]œÎ å¥ÛJžJÉSddJAšOñ5ã8¡¸3ŠÁ +<7Ãs¥V`Rµ +{«¤Öac·¶±ÕíÂïS[Vw<<`œJ‘›'‘IDæÝRV‹¯ + µßóhp¿ò»Ý’Î"éåA·¹/›íáÿ0ðKøjís +(má÷–|fÞ®n¨.à@$ µx°)ÛãÞe¿qgúŒ àŒ3‚°¿ïÊ㣪pï¢@·,ëvM}ºÛÕ§ÎÓb})dËB¹ò¶5ÝÖ +j¤¡Ét¶)úÄBlNk;–º¢K“”¨¶rëÏ]ŠU\fWø4ò‹Ð
g|ADž4ÙjsITîT÷ëHr· wHè +º9ÅÙÈ#`ñ‰7Z\³„X½ÈeA~Εd¬0ûG%_¾Àå*´%ñ? +endstream +endobj +116 0 obj +<< +/F2 14 0 R +/F5 26 0 R +/F6 31 0 R +/F3 19 0 R +>> +endobj +110 0 obj +<< +/ProcSet[/PDF/Text/ImageC] +/Font 116 0 R +>> +endobj +114 0 obj +<< +/Title(5.2 Endxobj) +/Dest[109 0 R/FitH 286.84] +/Parent 112 0 R +/Prev 113 0 R +/Next 119 0 R +>> +endobj +119 0 obj +<< +/Title(5.3 Usexobj) +/Dest[117 0 R/FitH 733.82] +/Parent 112 0 R +/Prev 114 0 R +>> +endobj +112 0 obj +<< +/Title(5. Form XObjects) +/Dest[109 0 R/FitH 611.76] +/Parent 15 0 R +/Prev 74 0 R +/First 113 0 R +/Last 119 0 R +/Count -3 +/Next 120 0 R +>> +endobj +121 0 obj +<< +/Title(6.1 BeginTransform) +/Dest[117 0 R/FitH 509.65] +/Parent 120 0 R +/Next 122 0 R +>> +endobj +123 0 obj +<< +/Filter[/FlateDecode] +/Length 1429 +>> +stream +xÚµWI¯Ü6¾÷WøVšQ,ɲåœÒ4ÐKf +hzðŒ5ï9õVË“ÌCÿ^R”—ñ¼$Mz±R$Åå£D,Š‚›À
¯hˆXŒýÍzç÷WÁ³Ýã—"àœe*Ø)˜Nƒm3-‚Ýó?CÅäf+Eþa͹ݿÛüµû5x±.5¡d,KBÅ´“ñú®òó<úøe2±Å‚‰,ˆËi–þø¥œ%ÁDx–§DœÕ¤,UžÖäµq–mµ£nyʲԑž{èËn(ÛæÉZ|"™-ØÝšµ"bRÕ@{–·aÛ¯EpŲéŽ÷ ã“€
º:m]çM¥íª|#ÒðÎy +•W˜ª¤ +íioÍ?'Ó`
ž +Z¬¦îM—%å脳)v®(|}: þ[¢%%Kî ”‡XfìJc¬oÚ1Åö|fôþé +endstream +endobj +124 0 obj +<< +/F2 14 0 R +/F5 26 0 R +/F6 31 0 R +/F3 19 0 R +>> +endobj +118 0 obj +<< +/ProcSet[/PDF/Text/ImageC] +/Font 124 0 R +>> +endobj +122 0 obj +<< +/Title(6.2 BeginTransform) +/Dest[117 0 R/FitH 347.69] +/Parent 120 0 R +/Prev 121 0 R +>> +endobj +120 0 obj +<< +/Title(6. Text Transformation Commands) +/Dest[117 0 R/FitH 589.31] +/Parent 15 0 R +/Prev 112 0 R +/First 121 0 R +/Last 122 0 R +/Count -2 +/Next 127 0 R +>> +endobj +128 0 obj +<< +/Title(7.1 Setcolor) +/Dest[125 0 R/FitH 682.52] +/Parent 127 0 R +/Next 129 0 R +>> +endobj +129 0 obj +<< +/Title(7.2 Begincolor) +/Dest[125 0 R/FitH 504.04] +/Parent 127 0 R +/Prev 128 0 R +/Next 130 0 R +>> +endobj +130 0 obj +<< +/Title(7.3 Endcolor) +/Dest[125 0 R/FitH 325.57] +/Parent 127 0 R +/Prev 129 0 R +/Next 131 0 R +>> +endobj +132 0 obj +<< +/Filter[/FlateDecode] +/Length 1494 +>> +stream +xÚ½XK“Û6¾÷Wè(ÏÔŒø””žšç´f:É^:IZ›öª±eW$;þ÷E=l';›M/& ƒÀGÄ)JX’DÛÈ
/iH˜ÂŸ,‰êí\òúeôäêÑqŤŠ®6‘,K£¥R,ÑÕ³·qÊK%uüô°;,D׋¥–û}Q›Åû«_£çWÑÔ1•QÎrƒ6µ`i-
Çm^ÝX°"e¼ê¸UYÑØÞ”N¢âÆ®ÚòàÅk[ìhö©loHv—ÇnWZ‡MoÄ’Ê +€×$kÚb…gøÀ&°ï!Îr=ŠPΙ1>Bœbòƶ«¥‹qÑ!.ÞÓ\9Son«¶øü7?za‚¢LäQâTrR“Î`LiƵ×ùãÙ‹Á¿Š>Áã…Ø£§±‡µb©‚]ô ¤Ð«n½ÐIl½?5€—¨Kþþšƒž^Â"ÁŒ‰f)Ÿƒ¤ÌÏ¡ãº^h·Îè’§C£ay攞ÙfU—GLÇ!d²#æà,Ì"aBŸ
ó`B”K¯ó.ž[,Ëzg·KÅT™þßa;æØ°¾Â£Lïz)ÇyhÑ5¶¡YÙº‰ˆ‹zÛím…)Ù¢$‰Ûý$Ý–1Ìr&
FÜe:xYÛMÑí@OÓß#aÒxCoº¶«- ÷Eý¡¬¶´8aL!mŠöP7XB„¤kïLuu@ÍlãÕGQm»be×$ug$/¸í–t®É‰ƒŸŒ×¶Kûq!²Ø®é¼‡jw‹3 »à®Þúø¨é®ûw×cš?©™¾Kb(¯ãŸŠ«œ™¯vàeþ0Äp\ài +œÆV6–v„¥zÂ’†`iKÏ KŸ!,Ã' +úìâòŽÐ/VöP„uý¿–â)6DX’ëyµ¾])™²äÎ/z–œœÕ’”¬ls~Öᤳ;T´û÷{éGª/½ñd:ìÿZÑÐÃÑ…,ª-–k¸Z†“ámzÍþ¦X´ñÿ}Ñö×AäfüÞ“áÇŽIF‡ÆìPM>'À«3vo³
“¯Ð ªø—–äµÝ»Tùˆ?Žd¤v_*ÞÔ‡ýY›Æ±øž·Ê®ìÊhMò=Þö>7Fcï•Þ¹ÁÛž½0ÒáRw'
¾‘ƒ'÷î
ݨk}w¤Ðwø4Âsˆ— ü‘ÍÁÒ +s +endstream +endobj +133 0 obj +<< +/F2 14 0 R +/F3 19 0 R +/F5 26 0 R +/F6 31 0 R +/F4 23 0 R +>> +endobj +126 0 obj +<< +/ProcSet[/PDF/Text/ImageC] +/Font 133 0 R +>> +endobj +131 0 obj +<< +/Title(7.4 Bgcolor) +/Dest[125 0 R/FitH 199.45] +/Parent 127 0 R +/Prev 130 0 R +>> +endobj +127 0 obj +<< +/Title(7. Color Commands) +/Dest[125 0 R/FitH 733.82] +/Parent 15 0 R +/Prev 120 0 R +/First 128 0 R +/Last 131 0 R +/Count -4 +/Next 136 0 R +>> +endobj +137 0 obj +<< +/Title(8.1 Epdf) +/Dest[134 0 R/FitH 551.4] +/Parent 136 0 R +/Next 138 0 R +>> +endobj +139 0 obj +<< +/Filter[/FlateDecode] +/Length 2106 +>> +stream +xÚÝXKs¤F¾ï¯ öDoHe¨* +˜“×;°ã [áp„4t‹:€–Fá˜ÿî|T
-Y¶÷²{é*²²ùú2³½@·óhxç}wõÍÛÈKEj¼«§¤HbïRà ¼«××þë²Ï»ê0Tmójóñê‡oÞª‘Ù(¡R/ ¾«»’—͸,<„—owy[·Ýò[–y€Iâößæ˽a*”±Ëîäio(Ed¦ËW›#aÜÓo6›Ke?o÷û¬)ð#õ}ÙÃ,ü$#Òý&Šü¬>–ÌÞn™\
–1ëvÇ}ÙldìxŸwÆ‘HC‘Ft×Ðn.¥‰ý¾p’ðé8)Êmv¬-••EÓ›Œœ‡lgg·Y¾‘Æÿ¼ëÚcSˆ
Ø-$KÐjÅO)»CWZïÞ¶‹Ç‡ûð`þä +Å”ÕC ý>Û—LÊz¦Ðq2¬½ Õ¨kˆrW5g!Š„ +-—µŠ£4‹C×(mìæ»+{wÓ–@Üo$˜¦¦¡,xå®ìÊé´®´Æ‰ÀùÒ•¤JÁ‘<>àužôÈ„Á.ììèô_r\eEÁe ÷ûª=ö3æØ‹·.+c +BT¿AßÇG½ù’íuùjåà0‘À˜Š0e7¾ée^eõo›ËHÂíÅöÎ"b‡ÆkB‚“á#_I7o®¡ñ' ¼n·¤üÄÐ!½P¥gØFRÄ1=)!Gþ÷{rYºú·?¹çŒfN¡L*L4¢8yì|¤ç/0=ŒèÑ•¥ôeÎä¢Ìj&?TÃÓÊ=ã ?)ªfÇ».;ÜUyÏ\6„Z^{ÄöØá—ñ?¼~kÉZbô£¢¥có
P
Ú¹2¸8FEWÝãgÙ±_ôÇÃÎ +ì‹Êe=½_Oïÿ´< +ÂPµC,I¤XY‘àûWDŽÊ <ù¸Gu€Ed°Â‚βf×ÄÎLœ¸Zt®?`‡0‘uK”`;Öž1"¶Ê3ôàºÜRVŽÀ’]C¨óÌÒl%‹Ç®su%óº%ÔËmµ‚<TfM›ÙØæ•+wPK‰(_«¸—A´y.òÍ´~È:àÜ£÷Ù† Ÿã!Xo3¼'ÔX48ãJ)]¹…‚£É-ƒMP0k'{15MyAØŽ">C|=Hmã¿å¥l-&ļ:N³š;Ú•ZüEù¦®Êâ‚ÅT(Ÿ>©[IÓ:>}7ªÕ®“IøÑçYMõ—æü‰#ÆÞÀËÃ]f÷ïD›‚tÿ^I&8› 3|2ã ¡óNî)ƒâÓ·vlìÛµ*€`®Å
°´ç,ÉÛÛŽË–9¦A'ƒIä3žºç\¬vO›¿œÝ å&ÏìvkOîŽÇÝ`Uy®Q}¹¤×µÐ'¬Ṉ̃mkŒÿØÆÁZºå9ÖË4PusÜ#—õ‹ŽºrVýL‰&¤¼½2T4(—‚ˆßfù@Í,ðñ«/à+kvuÉÓªaÆ¢ÜueÙS–úßAt|Ò_¨_ž–cÄ;æÆ4µLédµ'ÃÌÍQsD[½åYc[BE[<ºXµ%`Ï2Ö-«ÈQ°y-ëJ×ØØz³nw¨µ¶Ø”Q¤Œõ*eU×¾oèC ¹H›\’ô@‰Æì„Ä9>I¦¨Sþž2–žíä„l¹ã©pZÕjÇÖûd’øXtn;"’¡îuÞµ’äLŸ +ÖpüK{ûitŒ
„c“;§›â=—íЇmǤ>óŒ@O5ÐS%¨çU_x&‘åŸéc$‹îûB*¿¨K´ÈÁ ˆl7øP˜÷qªEP5ì\kæj´xÁ|7~^uù±Üq³ùú÷
8Rsã!¹ñàŽòåM‡†f_Ç/m:*wú¢ k„ëo×–‘|¡a?²¯œë-Ìö±0OµFéËóäµæÉÖ"Ñ@¤SC«`G‚-tçT§úyka„ÜÿNk!CLàÏð= —Í…6ɺ¹@"âŽ|M‡ì35è´ûÛ®Ýã,å<E'qgÁ€R'÷Pv¤*×æ™n.¡ žuœ +læÂ@aŠ±ßVás¢z®³0ø‡Ãx;Òôß—g‚ÂKÈÙµOÇ~à…ºbm¬` bl¿ÏöxÁ¡öî_6‰t«ªÔéo°øzDD…¬·nkêŸ&ÍîÇèì:œ)áÃþeü䂉T5 +endstream +endobj +140 0 obj +<< +/F5 26 0 R +/F3 19 0 R +/F6 31 0 R +/F2 14 0 R +/F4 23 0 R +>> +endobj +135 0 obj +<< +/ProcSet[/PDF/Text/ImageC] +/Font 140 0 R +>> +endobj +138 0 obj +<< +/Title(8.2 Image) +/Dest[134 0 R/FitH 310.7] +/Parent 136 0 R +/Prev 137 0 R +>> +endobj +136 0 obj +<< +/Title(8. Image Commands) +/Dest[134 0 R/FitH 615.59] +/Parent 15 0 R +/Prev 127 0 R +/First 137 0 R +/Last 138 0 R +/Count -2 +/Next 143 0 R +>> +endobj +144 0 obj +<< +/Title(9.1 Bop) +/Dest[141 0 R/FitH 665.32] +/Parent 143 0 R +/Next 145 0 R +>> +endobj +145 0 obj +<< +/Title(9.2 Content) +/Dest[141 0 R/FitH 438.86] +/Parent 143 0 R +/Prev 144 0 R +/Next 146 0 R +>> +endobj +147 0 obj +<< +/Filter[/FlateDecode] +/Length 1356 +>> +stream +xÚWKoã6¾÷WèVXs%¾$íq7 @í6EMŠÅØBmI+)ͦEÿ{g8¤LÛq‘ ¹˜g83üæé$åiš¬·\Ó’r…?Ešëã“/×ÉÇ›÷W"É—*¹¹O¤àEž,•â…Hn.~c%_,•ÔìKµ9{\,¥0ì3¥¯dØðGÓ®ñ@³OÝnWµõ¸øýæ‡äò&9´ +5ʤä¥A…Zð¼L–FòB;…7+TÆVA +|IÖ´¸ +6mš‘v£]MMçk[mi÷ØLÚÙÚu†Ùºv桨!<µ|¾¸"îõPõ›få…w=¬³C5u=d™Í–Œ—d*Ø<S¯–’=¡ÔîaÀ/Ar¥T¬2V;Û¢=?€åeî!•³{²4çÒxÿdä…`òY¼õŒw JžÓ+~~j§êÛ¼üþÊÌŒJpQ&©c¹#Ù±œ,ÐÆiXè”Ù…ÎXµ#¤L†w°T:¦;®†¦GyEû +ؾůŒõ¤`ÈxŒ™†·t»®†zkGŸñ£+ßë ƒdÜØÁÒ¶™hÛ(h*›¤š…%€€WŠPr_â—¤qÖ\~«výÖždŒ†Ì6QÆ€ +² N‰ªYÛùƒªþ³m
¯ÐÀöËh‰N†81dlA€†;<“ûÑõļ0,>QÀñ
FCNõºJ.)Û._5*¥ÝŸó™Ý6JûÊùPN€Ð<WogyèßöÙùpN²Ñ6Q^éÒå,û¼ÒÅ>¯€àòÖ}^C4:“çÝxºm='®sãôcÆeÆ<ÊŒ„¥á©~ñDh^8ÎãêÁD˜ÿò2jÚ8¡p3€Ú¥±¯/9/³ƒèw/ÑH(üHhâ‘Pèh$„?cðÌ#!ìýÜH˜nt<ꃑPÿ×Hmà™‘Ð©sÁ@´„úWë"hÆÊ_?&Y®é1xšR$S>‡¿ûKšûš +endstream +endobj +148 0 obj +<< +/F2 14 0 R +/F3 19 0 R +/F5 26 0 R +/F6 31 0 R +>> +endobj +142 0 obj +<< +/ProcSet[/PDF/Text/ImageC] +/Font 148 0 R +>> +endobj +151 0 obj +[149 0 R/FitH 733.82] +endobj +146 0 obj +<< +/Title(9.3 Eop) +/Dest[141 0 R/FitH 319.65] +/Parent 143 0 R +/Prev 145 0 R +>> +endobj +143 0 obj +<< +/Title(9. Raw Page Marking Commands) +/Dest[141 0 R/FitH 733.82] +/Parent 15 0 R +/Prev 136 0 R +/First 144 0 R +/Last 146 0 R +/Count -3 +/Next 152 0 R +>> +endobj +153 0 obj +[149 0 R/FitH 558.74] +endobj +155 0 obj +<< +/Rect[385.57 494.36 423.79 503.94] +/Type/Annot +/Subtype/Link +/Border[0 0 0] +/A<< +/S/GoTo +/D(rotatedtable) +>> +>> +endobj +156 0 obj +[149 0 R/FitH 399.77] +endobj +154 0 obj +<< +/Title(10.1 Text Transformation) +/Dest[149 0 R/FitH 525.42] +/Parent 152 0 R +/Next 157 0 R +>> +endobj +158 0 obj +<< +/Rect[198.1 333.28 240.84 344.85] +/Type/Annot +/Subtype/Link +/Border[0 0 0] +/A<< +/S/GoTo +/D(jpegimage) +>> +>> +endobj +159 0 obj +<< +/Rect[107 320.18 148.82 331.76] +/Type/Annot +/Subtype/Link +/Border[0 0 0] +/A<< +/S/GoTo +/D(rotatedimage) +>> +>> +endobj +162 0 obj +<< +/Encoding 20 0 R +/Type/Font +/Subtype/Type1 +/Name/F7 +/FontDescriptor 161 0 R +/BaseFont/WGNYSA+CMSY7 +/FirstChar 33 +/LastChar 196 +/Widths[1138.9 585.3 585.3 1138.9 1138.9 1138.9 892.9 1138.9 1138.9 708.3 708.3 1138.9 +1138.9 1138.9 892.9 329.4 1138.9 769.8 769.8 1015.9 1015.9 0 0 646.8 646.8 769.8 +585.3 831.4 831.4 892.9 892.9 708.3 917.6 753.4 620.2 889.5 616.1 818.4 688.5 978.6 +646.5 782.1 871.7 791.7 1342.7 935.6 905.8 809.2 935.9 981 702.2 647.8 717.8 719.9 +1135.1 818.9 764.4 823.1 769.8 769.8 769.8 769.8 769.8 708.3 708.3 523.8 523.8 523.8 +523.8 585.3 585.3 462.3 462.3 339.3 585.3 585.3 708.3 585.3 339.3 938.5 859.1 954.4 +493.6 769.8 769.8 892.9 892.9 523.8 523.8 523.8 708.3 892.9 892.9 892.9 892.9 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 892.9 339.3 892.9 585.3 +892.9 585.3 892.9 892.9 892.9 892.9 0 0 892.9 892.9 892.9 1138.9 585.3 585.3 892.9 +892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 1138.9 1138.9 892.9 +892.9 1138.9 892.9] +>> +endobj +163 0 obj +<< +/Rect[195.48 188.38 237.36 199.96] +/Type/Annot +/Subtype/Link +/Border[0 0 0] +/A<< +/S/GoTo +/D(pdfimage) +>> +>> +endobj +164 0 obj +<< +/Filter[/FlateDecode] +/Length 2384 +>> +stream +xÚ½YKoãȾçWÐ@Äa¿Øä!‡Lv<ÈìÎê Î)«³”¨%©±'ÈO=º)R²K6rûY]U]¯ZQš¤iôÑç3ÒDãOžFÝÃéÈ—ÏÑÇå‡[ ‘&Z®#“y´°ibe´üîïñò&qyßÔ7%³XýûÓS¹Ý‡n»æo×åPWرñP?
<Ü×¹ü©ÝîCÝqï‡öf!ó¸ª;?ý¥Ý–»›,¿>-£¹,¿"Ç¢¾Æ*L†F˜Xh“ؘWøYm_-¿ŠŠ¤ÈP|‘ê$Ò"ÍÁ +E¡Ÿg‰H +lÔõ,äPŽ?¢t%[ýÕl<lÖåêDܸú+.£zBÉÌi÷ÀÆóõÆ€v®=ô<wwwnMbS¹‡ËÔEáë“›…IÓX™SãÊd"ßñ[o·íJ‘ªO¼™kKØʉ&^·MCòÈLÂPãv~’ܪÈBE#A~êT-/̼AàخQ`—ß»ÙíÒ#ÑsÑ1 åùDtS¨ :‰¡CÑQá"=Õ¸ƒÎ¦ºÞï•~æDp' +œŽ(õ%aSb‘~"¾?<J +Îvï;N×\¯Ã|½¨Æg‹òDlsÜæ×37‰WP﫳°)S´ô™‡*)ÙúGýK;¸=¼ïkØ:¦",ÖFºUx˜êê_®ã·(Õ!s †F²A(û'Ä@ð¯S@µ¡¨ž)¡®ê +endstream +endobj +165 0 obj +[155 0 R 158 0 R 159 0 R 163 0 R] +endobj +166 0 obj +<< +/F2 14 0 R +/F3 19 0 R +/F6 31 0 R +/F7 162 0 R +>> +endobj +150 0 obj +<< +/ProcSet[/PDF/Text/ImageC] +/Font 166 0 R +>> +endobj +169 0 obj +[167 0 R/FitH 733.82] +endobj +170 0 obj +<< +/Width 150 +/Height 205 +/BitsPerComponent 8 +/ColorSpace/DeviceRGB +/Filter/DCTDecode +/Name/Im1 +/Type/XObject +/Subtype/Image +/Length 5779 +>> +stream +ÿØÿà + +ÿ +û!³xõ’å—~³‡ÚFã%Ã/Ÿõ(}¥† ˆÙ·µ½it´ßEG N͵ã¾K½¼nËÿ +·Rrcs^džž®´wÕ2OPÀ5 Ñ'èA^ø\¦H5¥ÃÜ›qJ„!®± ðžÈÍ“¬@ +ö-!¦X…ÉWFÆñiéòý^C_aß#ûª‚H†—½û™²±»GH5âïâ)9|C–¦t´-q<^9Lÿ +³f†²£‘?ÄTVhÀÒÊ]³ÝüÇí)3c¦’Ê~nopA§ææ÷É| …öEðÿ +ÄÁu,„ÆDpcuùÏÚ§U¯.çÝi'£u€ãÁWrU¹±M#™wßu ñåDÕö?ŽÙ§ü§¾C‚—@a¸ v©Î" }‡ÕØvü7g”2Î%©oNâG#ÃÔGÌ‹žóœ8!.d©}‰-cI\̶‘ÚÄÙíŒÀñpç‹”Õ`8•;]¦©èfÃjâ'Žœ>E'¢ÄTе÷"àê4¿Ø²O£Û:˜%G¦IpN‘Õ
-v€©K±6UN7ž¨ò´0šÊi\ç›ZÖº.YÚeV9Š1”8pèÞë +„ŒÛ÷¤Æ¿wüDk/@Â{tZ‡ÂÞýßñ¬ÃDæ†k®‰ØÕÄ«ô÷†/ %1ÁÈ”®°”FâHÕZˆ±]$,5p{ž‘»Ã¬_‡ËÁ8æíŠünà8¥#jžÞ–¦Ž¡×-ip¹oΑRç4óCkÙZ¹O’“7Wâó¸>:Êv:™Á׳N¤}‹&R‹Móc Æ{ <ím"!Œ1f€Ê¬ÎØ.7SUV:©ñÐGº*zgîÈ÷nŸ)Î<Eùoù3DXmkT9QÖQÓº*Y¹Á`œœ.4#;ƒôÊÂñâ-§s¥uYp +þb潬 +ˆù±ý4„zœæ0%·±`<×2WÙéxóÕ
X5'æŒ9‘ˆš@hkˆo8¨r¨˜ÆõR7¸Ô«S¦¤’ŽÏÜÕºv¨>+UH+7AÝ,’”—GCÜ›IÐï³¹0ÛËQ¸»‹G_"¥.¦ˆT ÜÐ^rQ<§ˆQ’CŸ¹»¨‚‘²²LN¡°Ó’{Sf|Ò{öÈfÓf’«‚‘€ô³}¿´O?™A礑†í²™fzÆÕæM›Ã£¥©e;.x޺ô¦9„aÄÈ»8UAg–¿èû* Òæ÷Mò
†ª6—h›e§n„XêœfDz¬8)–ÎxS÷Ÿâ*1‰E`áaÅJ6v,`§øŠ¦Wø–¦“Ê~nopA§ææ÷;y6ÙF2è}ük)oñe«6ùïM‘÷ñ¬¦Áw¿R¬[œªôkõ78¢‡GIdllåÄ€KÍÐ2ðáé4;FŽÐl„›%¸–-E†@$«”4¸y1Ž'äVgƒö8qœ©]4tmÏ
C¸X‘ß:ËUsÔOÓTO$²«‰·Éدßìr„áµØŽtuWéK‰kÛÇN³¢^Nѧ]“lqø–VÌ“æ,&1<5€J‰¿ù„6FNçNQæ|#0a¢¯¨aÑñŸ%Ì<ÇWq×ÂKÛ%œCNƒ‰íʵ̹nxå~'Li«@òÛ!³³ŽëX³`r£³ŠZ®É½m%UU3ÛEPçFY}ÑÇäUd¥Í´ø½ lÒo
æY=e¢UaÕ‚—ñɧ•»`Ö¦uX¦‰Mds±ÂG +Ân:ÙáMï˜ÿ +‚yÙ;ƒaàV‹”ÖÁp.…tY d ++Ê7?" ‡šëWPPÁ*8î%qÇRéê\¶š($ëx.žk»§A½df0–ö’¤‹<À=H4t+Ü´k"pÓAǘ\äPÛk¡aÔJvy°j4W–Å<LJ÷¿ï©@/È+³bâØ-{þñÊ“ð¬ü5&Sós{‚e?77¸ ”(ŠxSûÄf?Ý +ÂnÐôoh9[ΙB·,â“UCGYÑô¦s[ Ü‘²,Ž—YË<ì)`¬.£Ä±éøYâ?da2IQxÉ$g¹VL»;ÂØòF!ò½žÊ/èûøzÿ +endstream +endobj +171 0 obj +[167 0 R/FitH 494.31] +endobj +172 0 obj +<< +/Width 150 +/Height 205 +/BitsPerComponent 8 +/ColorSpace/DeviceRGB +/Filter/DCTDecode +/Name/Im2 +/Type/XObject +/Subtype/Image +/Length 5779 +>> +stream +ÿØÿà + +ÿ +û!³xõ’å—~³‡ÚFã%Ã/Ÿõ(}¥† ˆÙ·µ½it´ßEG N͵ã¾K½¼nËÿ +·Rrcs^džž®´wÕ2OPÀ5 Ñ'èA^ø\¦H5¥ÃÜ›qJ„!®± ðžÈÍ“¬@ +ö-!¦X…ÉWFÆñiéòý^C_aß#ûª‚H†—½û™²±»GH5âïâ)9|C–¦t´-q<^9Lÿ +³f†²£‘?ÄTVhÀÒÊ]³ÝüÇí)3c¦’Ê~nopA§ææ÷É| …öEðÿ +ÄÁu,„ÆDpcuùÏÚ§U¯.çÝi'£u€ãÁWrU¹±M#™wßu ñåDÕö?ŽÙ§ü§¾C‚—@a¸ v©Î" }‡ÕØvü7g”2Î%©oNâG#ÃÔGÌ‹žóœ8!.d©}‰-cI\̶‘ÚÄÙíŒÀñpç‹”Õ`8•;]¦©èfÃjâ'Žœ>E'¢ÄTе÷"àê4¿Ø²O£Û:˜%G¦IpN‘Õ
-v€©K±6UN7ž¨ò´0šÊi\ç›ZÖº.YÚeV9Š1”8pèÞë +„ŒÛ÷¤Æ¿wüDk/@Â{tZ‡ÂÞýßñ¬ÃDæ†k®‰ØÕÄ«ô÷†/ %1ÁÈ”®°”FâHÕZˆ±]$,5p{ž‘»Ã¬_‡ËÁ8æíŠünà8¥#jžÞ–¦Ž¡×-ip¹oΑRç4óCkÙZ¹O’“7Wâó¸>:Êv:™Á׳N¤}‹&R‹Móc Æ{ <ím"!Œ1f€Ê¬ÎØ.7SUV:©ñÐGº*zgîÈ÷nŸ)Î<Eùoù3DXmkT9QÖQÓº*Y¹Á`œœ.4#;ƒôÊÂñâ-§s¥uYp +þb潬 +ˆù±ý4„zœæ0%·±`<×2WÙéxóÕ
X5'æŒ9‘ˆš@hkˆo8¨r¨˜ÆõR7¸Ô«S¦¤’ŽÏÜÕºv¨>+UH+7AÝ,’”—GCÜ›IÐï³¹0ÛËQ¸»‹G_"¥.¦ˆT ÜÐ^rQ<§ˆQ’CŸ¹»¨‚‘²²LN¡°Ó’{Sf|Ò{öÈfÓf’«‚‘€ô³}¿´O?™A礑†í²™fzÆÕæM›Ã£¥©e;.x޺ô¦9„aÄÈ»8UAg–¿èû* Òæ÷Mò
†ª6—h›e§n„XêœfDz¬8)–ÎxS÷Ÿâ*1‰E`áaÅJ6v,`§øŠ¦Wø–¦“Ê~nopA§ææ÷;y6ÙF2è}ük)oñe«6ùïM‘÷ñ¬¦Áw¿R¬[œªôkõ78¢‡GIdllåÄ€KÍÐ2ðáé4;FŽÐl„›%¸–-E†@$«”4¸y1Ž'äVgƒö8qœ©]4tmÏ
C¸X‘ß:ËUsÔOÓTO$²«‰·Éدßìr„áµØŽtuWéK‰kÛÇN³¢^Nѧ]“lqø–VÌ“æ,&1<5€J‰¿ù„6FNçNQæ|#0a¢¯¨aÑñŸ%Ì<ÇWq×ÂKÛ%œCNƒ‰íʵ̹nxå~'Li«@òÛ!³³ŽëX³`r£³ŠZ®É½m%UU3ÛEPçFY}ÑÇäUd¥Í´ø½ lÒo
æY=e¢UaÕ‚—ñɧ•»`Ö¦uX¦‰Mds±ÂG +Ân:ÙáMï˜ÿ +‚yÙ;ƒaàV‹”ÖÁp.…tY d ++Ê7?" ‡šëWPPÁ*8î%qÇRéê\¶š($ëx.žk»§A½df0–ö’¤‹<À=H4t+Ü´k"pÓAǘ\äPÛk¡aÔJvy°j4W–Å<LJ÷¿ï©@/È+³bâØ-{þñÊ“ð¬ü5&Sós{‚e?77¸ ”(ŠxSûÄf?Ý +ÂnÐôoh9[ΙB·,â“UCGYÑô¦s[ Ü‘²,Ž—YË<ì)`¬.£Ä±éøYâ?da2IQxÉ$g¹VL»;ÂØòF!ò½žÊ/èûøzÿ +endstream +endobj +173 0 obj +[167 0 R/FitH 317.87] +endobj +157 0 obj +<< +/Title(10.2 Image Inclusion) +/Dest[149 0 R/FitH 366.45] +/Parent 152 0 R +/Prev 154 0 R +>> +endobj +152 0 obj +<< +/Title(10. Graphics Examples) +/Dest[149 0 R/FitH 608.97] +/Parent 15 0 R +/Prev 143 0 R +/First 154 0 R +/Last 157 0 R +/Count -2 +/Next 174 0 R +>> +endobj +175 0 obj +<< +/Filter[/FlateDecode] +/Length 835 +>> +stream +xÚ•UKÛ6¾÷Wð(—o‰ÇÉn’SšúÖíA+˶ +¡Ùú”¥‹jWbß4 ú•™u\CH¤õFRßß]OP¬¸u—¸¶ÙTW—æ@A8ÙWŠÜ¦úäÃ\Íê0ÔQ¨ÍŒE,nnæL +endstream +endobj +176 0 obj +<< +/F2 14 0 R +/F7 162 0 R +/F3 19 0 R +/F6 31 0 R +>> +endobj +177 0 obj +<< +/Im1 170 0 R +/Im2 172 0 R +>> +endobj +168 0 obj +<< +/ProcSet[/PDF/Text/ImageC] +/Font 176 0 R +/XObject 177 0 R +>> +endobj +180 0 obj +[178 0 R/FitH 733.82] +endobj +181 0 obj +<< +/Length 3911 +/Name/Im3 +/Type/XObject +/Subtype/Form +/BBox[0 0 174 197] +/FormType 1 +/Matrix[1 0 0 1 0 0] +/Resources<< +/ProcSet[/PDF/Text] +/Font<< +/R6 182 0 R +>> +>> +>> +stream +0.1 0 0 0.1 0 0 cm +q +1 i +13.5 w +1330 1240 m +1330 1060 l +S +9 w +1330 1195 m +1420 1240 l +S +Q +q +W +0 0 m +0 1970 l +1740 1970 l +1740 0 l +h +1396 1080.1 m +1408.9 1066.3 l +1390 1068.1 l +1432.6 1047.1 l +1438.6 1059.1 l +h +n +1 i +9 w +1330 1105 m +1423.6 1059.1 l +S +Q +q +1 i +1396 1080.1 m +1408.9 1066.3 l +1390 1068.1 l +1393 1074.1 l +1396 1080.1 l +f* +9 w +1396 1080.1 m +1408.9 1066.3 l +1390 1068.1 l +1393 1074.1 l +1396 1080.1 l +h +S +13.5 w +790 992.5 m +790 812.5 l +S +9 w +790 947.5 m +880 992.5 l +S +Q +q +W +0 0 m +0 1970 l +1740 1970 l +1740 0 l +h +856 832.6 m +868.9 818.8 l +850 820.6 l +892.6 799.6 l +898.6 811.6 l +h +n +1 i +9 w +790 857.5 m +883.6 811.6 l +S +Q +q +1 i +856 832.6 m +868.9 818.8 l +850 820.6 l +853 826.6 l +856 832.6 l +f* +9 w +856 832.6 m +868.9 818.8 l +850 820.6 l +853 826.6 l +856 832.6 l +h +S +4.5 w +69.9995 902.5 m +69.9995 890.074 59.926 880 47.4998 880 c +35.0735 880 25 890.074 25 902.5 c +25 914.926 35.0735 925 47.4998 925 c +59.926 925 69.9995 914.926 69.9995 902.5 c +h +S +1735 880 m +1735 867.574 1724.93 857.5 1712.5 857.5 c +1700.07 857.5 1690 867.574 1690 880 c +1690 892.426 1700.07 902.5 1712.5 902.5 c +1724.93 902.5 1735 892.426 1735 880 c +h +S +880 1285 m +880 992.5 l +S +9 w +880 1465 m +914.8 1451.5 l +842.2 1414 l +915.4 1376.2 l +841.6 1339.6 l +914.8 1302.4 l +879.4 1286.2 l +S +Q +q +W +0 0 m +0 1970 l +1740 1970 l +1740 0 l +h +322 1767.4 m +340 1853.8 l +358 1767.4 l +358 1879 l +322 1879 l +h +n +1 i +4.5 w +340 1465 m +340 1870 l +S +Q +q +1 i +322 1767.4 m +340 1853.8 l +358 1767.4 l +340 1781.8 l +322 1767.4 l +f* +4.5 w +322 1767.4 m +340 1853.8 l +358 1767.4 l +340 1781.8 l +322 1767.4 l +h +S +9 w +340.6 1463.8 m +375.4 1450.3 l +302.8 1412.8 l +376 1375 l +302.2 1338.4 l +375.4 1301.2 l +340 1285 l +S +Q +q +W +0 0 m +0 1970 l +1740 1970 l +1740 0 l +h +862 1767.4 m +880 1853.8 l +898 1767.4 l +898 1879 l +862 1879 l +h +n +1 i +4.5 w +880 1465 m +880 1870 l +S +Q +q +1 i +862 1767.4 m +880 1853.8 l +898 1767.4 l +880 1781.8 l +862 1767.4 l +f* +4.5 w +862 1767.4 m +880 1853.8 l +898 1767.4 l +880 1781.8 l +862 1767.4 l +h +S +880 1150 m +1330 1150 l +S +340 1285 m +340 610 l +S +1420 1060 m +1420 610 l +S +880 812.5 m +880 610 l +S +9 w +880 610 m +914.8 596.5 l +842.2 559 l +915.4 521.2 l +841.6 484.6 l +914.8 447.4 l +879.4 431.2 l +S +Q +q +W +0 0 m +0 1970 l +1740 1970 l +1740 0 l +h +898 262.6 m +880 176.2 l +862 262.6 l +862 151 l +898 151 l +h +n +1 i +4.5 w +880 430 m +880 160 l +S +Q +q +1 i +898 262.6 m +880 176.2 l +862 262.6 l +880 248.2 l +898 262.6 l +f* +4.5 w +898 262.6 m +880 176.2 l +862 262.6 l +880 248.2 l +898 262.6 l +h +S +9 w +340.3 608.2 m +375.1 594.7 l +302.5 557.2 l +375.7 519.4 l +301.9 482.8 l +375.1 445.6 l +339.7 429.4 l +S +Q +q +W +0 0 m +0 1970 l +1740 1970 l +1740 0 l +h +358 262.6 m +340 176.2 l +322 262.6 l +322 151 l +358 151 l +h +n +1 i +4.5 w +340 430 m +340 160 l +S +Q +q +1 i +358 262.6 m +340 176.2 l +322 262.6 l +340 248.2 l +358 262.6 l +f* +4.5 w +358 262.6 m +340 176.2 l +322 262.6 l +340 248.2 l +358 262.6 l +h +S +69.9998 902.5 m +790 902.5 l +S +9 w +1420 610 m +1454.8 596.5 l +1382.2 559 l +1455.4 521.2 l +1381.6 484.6 l +1454.8 447.4 l +1419.4 431.2 l +S +Q +q +W +0 0 m +0 1970 l +1740 1970 l +1740 0 l +h +1438 262.6 m +1420 176.2 l +1402 262.6 l +1402 151 l +1438 151 l +h +n +1 i +4.5 w +1420 430 m +1420 160 l +S +Q +q +1 i +1438 262.6 m +1420 176.2 l +1402 262.6 l +1420 248.2 l +1438 262.6 l +f* +4.5 w +1438 262.6 m +1420 176.2 l +1402 262.6 l +1420 248.2 l +1438 262.6 l +h +S +1420 880 m +1690 880 l +S +Q +q +W +0 0 m +0 1970 l +1740 1970 l +1740 0 l +h +1402 1767.4 m +1420 1853.8 l +1438 1767.4 l +1438 1879 l +1402 1879 l +h +n +1 i +4.5 w +1420 1240 m +1420 1870 l +S +Q +q +1 i +1402 1767.4 m +1420 1853.8 l +1438 1767.4 l +1420 1781.8 l +1402 1767.4 l +f* +4.5 w +1402 1767.4 m +1420 1853.8 l +1438 1767.4 l +1420 1781.8 l +1402 1767.4 l +h +S +q 10 0 0 10 0 0 cm BT +/R6 10.8 Tf +1 0 0 1 0.249975 99.25 Tm(v)Tj +12.15 42.75 Td(R)Tj +56.25 0 Td(R)Tj +-48.15 -4.5 Td(a)Tj +-15.75 -42.75 Td(i)Tj +69.75 94.5 Td(12 V)Tj +4.5 -189 Td(-12 V)Tj +83.25 99 Td(v)Tj +-93.6 -51.75 Td(R)Tj +-56.25 0 Td(R)Tj +108 0 Td(R)Tj +-99.9 -6.75 Td(b)Tj +108 0 Td(x)Tj +38.25 54 Td(o)Tj +-90 42.75 Td(c)Tj +0 -96.75 Td(e)Tj +ET Q +Q +endstream +endobj +182 0 obj +<< +/Type/Font +/Name/R6 +/Subtype/Type1 +/BaseFont/Times-Roman +>> +endobj +183 0 obj +[178 0 R/FitH 357.81] +endobj +174 0 obj +<< +/Title(11. Thumbnails) +/Dest[167 0 R/FitH 276.38] +/Parent 15 0 R +/Prev 152 0 R +/Next 184 0 R +>> +endobj +185 0 obj +<< +/Rect[282.39 228.04 319.85 237.62] +/Type/Annot +/Subtype/Link +/Border[0 0 0] +/A<< +/S/GoTo +/D(options) +>> +>> +endobj +186 0 obj +<< +/Filter[/FlateDecode] +/Length 1386 +>> +stream +xÚ]oÛ6ð}¿B2P³IQÒã†$ÅèZ?Xö KŒÍA)'Í°¿;e˲³ÂÓñ¾y_Ž–$Ñ.òLJèo +xÿ NÄà¢D÷‘¬y6‡æ©#’³< +‘õ +1w¼Ñ-}¤4“÷†õÄ÷ BÂ4jì¼”bm; Ù‹Ÿ/7isÄJBòík@ËË)q18pú4A|=`[õ|xPÛm›‹œ0C‡]oþñO)fvà>s*¸ÊŒéÏ!K¦Æ“‡.tñ]U,aסG€³8ðI|«ÓDœgLä¼Ó–ëZVÐ +EòeÚ>A¢¯HN) +endstream +endobj +187 0 obj +[185 0 R] +endobj +188 0 obj +<< +/F2 14 0 R +/F3 19 0 R +/F6 31 0 R +>> +endobj +189 0 obj +<< +/Im3 181 0 R +>> +endobj +179 0 obj +<< +/ProcSet[/PDF/Text/ImageC] +/Font 188 0 R +/XObject 189 0 R +>> +endobj +192 0 obj +[190 0 R/FitH 733.82] +endobj +193 0 obj +<< +/Rect[452.21 342.96 489.67 352.54] +/Type/Annot +/Subtype/Link +/Border[0 0 0] +/A<< +/S/GoTo +/D(options) +>> +>> +endobj +184 0 obj +<< +/Title(12. Font Mapping) +/Dest[178 0 R/FitH 315.46] +/Parent 15 0 R +/Prev 174 0 R +/Next 194 0 R +>> +endobj +195 0 obj +[190 0 R/FitH 289.5] +endobj +194 0 obj +<< +/Title(13. Configuration file) +/Dest[190 0 R/FitH 313.92] +/Parent 15 0 R +/Prev 184 0 R +/Next 196 0 R +>> +endobj +197 0 obj +<< +/Filter[/FlateDecode] +/Length 2316 +>> +stream +xÚYKÜ6¾ï¯ÐQ
¤Q¤^ÇMlÉ%†ÝØÙ[Íî¬GCRg<A~üV±ŠzõÄö{™¦Šd±ž_9A$¢(¸îçú‰„Æ?yô—-åÃ/ÁO‡ßÅ”¢H‚Ã9H´ÐI°Or‘¥ÁáÍ¿ÃÃ.—¡9Öv·Wqê¿Þíâ,ìÚ‘¾»ÛXuí@½-»K[ýiOø…G\ú²ûÏá·ß¥A!Š¹*
"ÇþôGu;Z³CG"á%UKÜÇ+ËpæÓ³°17"=ÅI"—àí!X[5L¦Ó³Xdy°ÏAíØÿî4Øí¥T:ßØ¡ì+"MÜr4WCgÅåZZÏX-GÞ žÕ*ÍÌŸuðñ¹f«ðÞ"iìäÚ÷d”Yô$IÁFù°Kdhþ:Rdi¶
ŽÆŽ~m]5UkF^PâFXԻߚ¶—WßQhÊÑöƒ ƒÕtp,µÈ½Ç× +ÝÇàû½³Ñžç÷ì=XD&‹<4ãh›Û8Ð +Eø삨ÿŒ_YhúîÞžhæx¿ðÚª%Ê?˾;š‘ˆ½5'ÛÓÄx* +-¬m@«\‘r
a¸‡Ó,}Œ}u¹ØC”æ\ˆºõ%ŽÁd¤Åt†[izæ`ÛµÈÃ1Q(郥íGãB¼¹õÝP¹d»}ªòð_í¹ëÇ;º¦~Ù›€›Tá0šödzÌ!PøàXË" ÄR,$±ëȉHT0Ñ>Í’U-X‘|Å"ÊH2Êè¶ëSÑ{¥Tx,
„üp+î&÷ˆ{ðºÊ)Ví6Ve"R«í½9ºp¿à··_FÛ:ˆÈ}RçSRçáµë«?áË@p®úå”J‡Í½«[ýºmö‚ ï¿5áÂsu¯N
j/ÝÒaEó^ð¹0:¢ER5O
7äiQô²B„ažh’”‚éþ!]d’Š"^§øÛÿ‚ÅÏ÷šÆ8(‹m9™x÷Âa¶7#)
¾ií3
@pŒ×q OÈJŨ¾myÄë—j˜÷OÛ¾ÇÃÿâÖµqØã=£ãÂÃQŒZ;ȳù«–h`œ\°ßÂQå¥ÀdÊ4›Yˈ++N p¯Wqà ULNÀÁñ^Õ',eˆ8€Z;,?.Û•\ÞíF†öùù
óçkE +r0¤çÔ«ØmG¿«Ó•ãGÜi–*‘BÙˆ•ˆrŽ74®¤’Ø(…Ì܇Oô9€¿Ö°@n}]µ–èdÉŒýÆ è
+ªB$ ¨œNæ"¬Î,—-í0˜þ…u…ÎaSP‘K’„uçŠYéê¹JÒд4±UHÔ=íâ¨$Óué@,¯ÍÿÇŽÕ‚éÑoÈ~0:cY†Á/ëòëôè˜[«'"V‹fpx°zŠ±5%»Öš5QˆâUÏyáƒÒfŠwœªadjhl…ù÷pl.¤—kôç½wmË0~t="Òä"Ôñ‹E ç¢h-oïÎ^lË~.bl…—ÝË\üuþxžÎgøyÚ=¨%säCBw*Ih}³•JÀŽ;g^x :IbèçàŠËÍ÷QH’´ðeÿB¤…%6ŒŸÂ÷ï~Z’1(ÉJŠ,^Z€«Bq;}ƒ†ap¨ŽŸ#Í0ÜÂE½¨¾‚ñÖw—Þ4.lðÑ[žàøÜLþz&ò´q›"ó– ¦:¾{;°…¸˜ m‚4S¯Ý|f'-.>.‡ +^täj¯X-þ¾×@ˆå’AäàmÍ]/ +Pbì\5ŽÝyuëI(Vì'¦BücAq~ÁÔ¹Ón¾\A¼ë2OÏ|ѬÀˆ§
USÕ¦gléf”Ú*‡õ ûj{_Ìp;Ÿ¡7VÞˆBj ¼çYøvÎKXÆ1A\†jpo$°eÒVÏUŠ´E—Ç4 +½|'s7 +cÓ.?úô¬ÓtŸ2ühíæ…»üFr<çž°{>ÆÑ;à +
yü~kz»:éúêxgV@øÅ47¸1þÐ%,¡‹öýN[Öw®q ú{4ðò–„ÆþvJþ×CÕ˜‹¾yâ()ôr ܽ"‚H™óÆü_}| +endstream +endobj +198 0 obj +[193 0 R] +endobj +199 0 obj +<< +/F2 14 0 R +/F6 31 0 R +/F5 26 0 R +/F3 19 0 R +>> +endobj +191 0 obj +<< +/ProcSet[/PDF/Text/ImageC] +/Font 199 0 R +>> +endobj +202 0 obj +[200 0 R/FitH 733.82] +endobj +203 0 obj +[200 0 R/FitH 561.71] +endobj +204 0 obj +<< +/Rect[443.87 334.61 481.22 344.18] +/Type/Annot +/Subtype/Link +/Border[0 0 0] +/A<< +/S/GoTo +/D(expansion) +>> +>> +endobj +196 0 obj +<< +/Title(14. Including PostScript graphics images) +/Dest[190 0 R/FitH 178.11] +/Parent 15 0 R +/Prev 194 0 R +/Next 205 0 R +>> +endobj +206 0 obj +<< +/Filter[/FlateDecode] +/Length 2417 +>> +stream +xÚ•XKã6¾ï¯ m®D‘zrH¦{³Ø ƒLc`{j[¶‰H–#ÉÓÓ‹üøõ°»w6‰¤¨b«ê«G©( +ö½Þó+RytûË•_Þ?ÞÿýâX6¸ß…UQ¬m®²4¸¿ýWx¿Êã°|¬«Õ:Ñ6´Þ}=•ÇÞµÇW²ð´ZóêvíJ§a×T[ÞéŽøNÃáPñÆõ-/ôCçŽ{µú÷ý?‚»û`É2²cƒB)r“*˃uwÀÍçU–†e瘡¢°Qx[õ›Îàh"™£€6bª$÷bå¼<¤*ʃ&Hl¦¬ŸÖÁ§˜KGæ²L¸ª"SYBÌ}ç9ÿ:WqÑG¸¶•…›<n+|ã%Ù,ZyÓ%Ù<ÜëÕ¾×<…¢°¼«ÝñªìλŸxåAÛ¬L3ñÙ莛úŒ'Gp219ɱ&.×±Q…a9Ú¿$‡.,©Q6fràt’wËF¶¡Dô¿ÿïãí;x‰ˆªPD*ÿ±¯ŽU·&GÀ|ì-¤„/!EˆA³©È Vk“dá=]clÂMÛ4 Ojw”å
úÜ8Kàp²sœXï°‰nitMã’_£R`üä@xdvÍŒÌ8fm&Z®%ILØŸO§Ú‘'%x2üÌãíÇ·Ý5êuM&kòñ¯Yd!òxM&pÑtíe_!ox‘,Ñë
·³%âv/4}-þìz^a
‚û_+n4Q`E]jÏ$JÂ7«ÍdÈÙŒ+“ó)Æû‡!oªytb'‚±>ßĬ#=f´ÄÎØ#®µÕb«,¥DÛÐ6N°`â<$3Â¥ò(ZÃÉЕ®F©i&æ£êëP–2Á®jZüëËJçaµ!òÇûÀj•?:N•Ž‰¡Û™%À÷Ôq۪Ƕ#ÐÝÀ{vmÇW×`Ú]90’ãÒø@À.Á¶L +…½pö$ÊU¤ÅmŽ ê/}áZ›ùg²?¢ Ï—è‚°â±aíîÒM1ªF3I ypCϲÎ'Lòhb¬ +?7îè?¹’ -¤í +ißâøóžl;÷eEI!àÁ:ÓñXáÏs 0”&:÷È‚ƒ.ÅüfÅipîGX9ˆTtãô%©ÌRð«?¾<ªÐLŽIH‹‰ñ¼'¬U„‘¦‘"£c~ „®4:NÏ®½=]âGWýqv$s¨h|O Œ[ +RÄ*Ó¯ËA…Ä¥ÅX#ÁˆYãs|’_ò§·ëž²»g.’Si`Æ¿Ne7r,‘å²¼‰£”¢ñ$òk“ªygâðW‡y6 <vkÏÐ
·%ªE_ÃH’ƒ©Áá›ðQ6m©ù p¸eªnÖ‡ð
‡HeÒ‡X¬Pÿ%H0mƒBI™Äw]’±ë’„öµfId_¿’ÀQøn•k´12• 7Oéíײ9ÕÕàZ;PÌðóFÒï£|jÜþàó +LÈR.½‡ñD[eroyk·ùfƒFa!ƒàV +KŒ}š8Ž°1c@±Q4ã\§˜ºb§î"Ž*Ü•¨œ‘jß3½õòîoï>x{÷=XÍSç°`çåŸ)/|çêêûïZY”׆߀JÛ…þ¿ÎšÁ¸ƒ6©Uš2Y¢,ë +§T†·èR˜há- +¶†Ç/OÍéT[øSa4&(Å”Þaci–Þñ¹0ì*7ÈÜÁIí´õ}( ÆË‚ÿဠÉJp¥®©~ò}‚ë¬äá¡ÀÆÊn‹uw¤g(Ž!ÌD×ëÓÏÂÙOc5Ž{ëj_nd<å0S.œp>
ƒ)Ÿ† ÖØ8ÝTŒ¯¼QîÒÊ“¨À.bô-œò↳œ^±ÄX•.à½n <ßRZ¯TЈ½øÚ•®«eÑ_‘Ì$Zó
áŠ8jOˆ‘Œˆ!h(øp!•ÎÊÌ7ó;°ôY~Gmâ®]‹dàøéÅñ2q×ÜÎt>Ë€áõû|EùøDôâÅ8Rö‰ÍlÚšqÁm¬’lÔÁ€›tü½k`à±ýzI|kìNÝ03ÒSX\UÉċ仜nÓ_Uå:ËTžÏo©)7]‹šÒ̮ŦO&•&mã쟥¯ç +endstream +endobj +207 0 obj +[204 0 R] +endobj +208 0 obj +<< +/F2 14 0 R +/F5 26 0 R +/F6 31 0 R +/F3 19 0 R +>> +endobj +201 0 obj +<< +/ProcSet[/PDF/Text/ImageC] +/Font 208 0 R +>> +endobj +205 0 obj +<< +/Title(15. Compatibility with other DVI drivers) +/Dest[200 0 R/FitH 264.23] +/Parent 15 0 R +/Prev 196 0 R +/Next 211 0 R +>> +endobj +212 0 obj +<< +/Filter[/FlateDecode] +/Length 1776 +>> +stream +xÚµXKsÛ6¾÷Whr¢¦B‚ +àr +mYDXEVg4Ú‰N¡‚àÂûàÖ¯ì¹û³ÇF¡œ’ˆëì^)ž¸™^RÑ·¾AŸRzÙ—W¤×zm +/w7"RŽ2f“«%õ>ø£ý‰Ù)¿Q3Â'`¡°FâLGhÅ"ª¬Bo +¥÷!¡ªh\z‹Ö#PhŠå2>®V«ž½î'v?¡/˜"EOVʧÔÊØ% (È\k^ÃY@&»²Dɤ˜´´Ot´i h¶‚6¥p¼Pâa‘óCÆ›ü|ópÈŒÉ6Cw’‰¦ë±a‚ŒÊˆhÀ¼HVEØIz/i™BTymC×'â~¦rz†}²ËF²IŸ¼hl=–NuÊ´õ Ȕ뼪M¾:RqÂ]^ßЈ<³×’á¬Á9P‚áSHŸ0Fé cÖ8¤3ÞõW›s¹^‘ÔY…)HI¯©i¶Êâb¹¡”od$Ťú$|Ðï¡‹,übf+r„/$H¾y% *žÌr¼ÝÒ +"ï݆®x°5ýHGï¦6£5-Û†¾mAENïçWo.Ƶoþ+PÁW}Ϧ^øR›æ7= +âcOLÄ[Kn¯+îéq—Q¶¼T³ãpßsÜÐb=‚¿>á_: ¨4À€4²œÏkA>j곉Ú,„ +¿©ÉÈO¡;“ iV˜l,&÷O™àd1
£G‹Œ†~Ð!!T÷DéJv—Éã
šTùÊ)h»bó™U9ŽéÉÜf`4€ +êˆù½Ì:Ö$à,lJûý°=c²öŸŒÑ?!QçìaÿÄÙ™P7NÛ°I¶`AN1‘Œ«^Ù–Pv¥{hagIÄî Š|•¼f®ž·h…Ö®íÒ–XŸ²ýyOöÞ'cC-¹÷ÒAý “rø~tNeßÿ#SH‰/ÎÖÙö±ÿr÷?¼Ö˦@¦åvŸÿI%Rœþiè„íëG% +ŠgŒ¯
aŸïšÕþß®à +endstream +endobj +213 0 obj +<< +/F6 31 0 R +/F3 19 0 R +/F4 23 0 R +/F2 14 0 R +>> +endobj +210 0 obj +<< +/ProcSet[/PDF/Text/ImageC] +/Font 213 0 R +>> +endobj +211 0 obj +<< +/Title(16. LaTeX Support and Ebb) +/Dest[209 0 R/FitH 468.85] +/Parent 15 0 R +/Prev 205 0 R +/Next 216 0 R +>> +endobj +217 0 obj +[214 0 R/FitH 706.55] +endobj +218 0 obj +[214 0 R/FitH 668.12] +endobj +219 0 obj +[214 0 R/FitH 616.61] +endobj +220 0 obj +<< +/Filter[/FlateDecode] +/Length 709 +>> +stream +xÚmTMsÚ0½÷Wø(ÏÄBß²r#¥É¤ÓvpÛÌdr0F`&ÆfŒ(Mùí]Y&ÀÅ+ï®Þî¾')"˜huæ.‚…ÿ¤$j—=“»è&ܲˆ +ÌE”-"Îpª£Dœ²(="ªqœ.ÑÄ.lkëÂnã§ìkô%‹N‹y lT‡£13Q¢)Ö´Ãy¤O‡}>S¾eJ†õIæ¸i]>«lœp!Ѩ‰%AÅnmk<·±V¨i×yÿ?ñ ¾¹XR
vƇúž×»¼òu{£Æ`¦"ÒU»‚LÆѯ8eȶÛUSƒƒD1ëCÃy3‹–v Œ éËÖÙõ6üÜ×I7VÒƒ&”b#;ä¢i7°OC¯¹³sÆ9‚<å…Ƈb)Q¾ªúi!ÚÍÖ•½cÑTUÈ~U/ƒëçäÛuI½ÄÃŒö#•Îm®ƒý~sèÝâ¢YŸq@–i¿‡¸`hŒcʃhìH´ƒR”(o}<+›uL(\ÛößU(ó.®f~ªü¶3Ÿ)Ñx7«VÛ²Hq£¹2D†ÖÀ9|s7nÏš—ù. ß:Ý´ +í«y¡ˆ
‹Kª’Щ:VõHÜÕ¢hêÚ-žÛÁ«;—Ùp,ô©ÌŒ¤Øè s¸ãü’Ì’Þ€Ð!
ç/I¿žº¦}ñÿgš+Ž ïKšÅZ#ûð±EžbEßµôØ™'E…†EÛüÍ|8o}h“/û•gÚÛªéd(üeO²·î€w‰d8Ï+qjÏ1¼2%ÞåÏ-Plç»Áë|³õ“rhÍÙ¿¸t볆I‚͇Ëe$¦pòS˜…ËÅhOú§ÿ& n0 +endstream +endobj +221 0 obj +<< +/F2 14 0 R +/F3 19 0 R +/F5 26 0 R +/F6 31 0 R +>> +endobj +215 0 obj +<< +/ProcSet[/PDF/Text/ImageC] +/Font 221 0 R +>> +endobj +9 0 obj +<< +/Type/FontDescriptor +/CapHeight 850 +/Ascent 850 +/Descent -200 +/FontBBox[-36 -251 1103 750] +/FontName/TJRFPB+CMTI12 +/ItalicAngle -14.04 +/StemV 63 +/FontFile 8 0 R +/Flags 68 +>> +endobj +8 0 obj +<< +/Filter[/FlateDecode] +/Length1 723 +/Length2 4161 +/Length3 533 +/Length 4720 +>> +stream +xÚí•gTSk›†‘‚ÒDPJè¤$€t¤÷Ò[$BI $$€4)ÒD¤)ÒDŠ€ô&½(MiÒ¤IïÄáœó}ó9ßü™5ÿfÍ~ÿìç~î}¿×ûì½ÖæbÓ7P€"ŸÀT‘´ + +0üãO€!̆ò‚AÉÉA +C!þn5…ý§ƒÂ1nïj !®p{„£+ +ŽX + +ƒ®×ëŸwÖÛMa„ÂŽ +Ö<?^M–éŒyIã¨ÆÂN%‰·Öá…Ž5yµ[dtÇ6$âå¡÷ùh‹ÞÜ|8ä—ßX
ÔUg^™aEñ}dl`Å£à+dã—aþ3>é 1†[Ö¥éVãñÒóÛÛïíöd,¼¨f¨Kó5]¨|o*eå„GE·Ç‚OàõA»Üß8£2¡é<Ì=
ô&`ስ…ýý:ýðç£ÌíˆÇ&N“¦Q"!ø§ŸÌƒ¤oz¬ôOÚ0~¢Ø +yÍe¾„Á®ÐäMê,¶UuuÜs~T´ +_8@P!ÔCCW£óâÛªa< +”£ $éØÄ™>~Ah8Ë×í¹§€“›ªÄ¿SúB€˜oCæcfùÿ®Z`ÊÓt|ö¤ŠN ðàó×@%˜Å[utÄØF#o$òámý+>§húU’;CÊ7G|k^ö÷¤} +ä-þp”púQaÉ2ÝüUàÇDûí]UN®b½(àÔ¬†0þ…ˆ%ÇéŽT-/ÆZÜhýÅ®¦áËTݯ®M{’7Opî\¹eÃyÙEcµ+a—é%)“.¿ †p”sÍÑOõˆ»•bœñ<iÌ=Ó@·ù +RLˆË¿-Åï+«f,ÔDcO°x—a¥®›zî¤lã)#Yt&Ÿa±iˆn¹ÿý«XÇï?‡'ž†®“elpxníi¼ó~œ”Éý^Á +Ø67ÄoKŒ›“•EùŒVQÀ€s’“ŠÇ÷Œ¶üéMeV +KÌn´Ýmäå^‹_^è]¬÷\æ®™ÿnæÿ¾¦cDJìE©kÑʱÐ~f[Ç8áþ¦ÐWÅ×ôwGDx—pRúû¦àº‚€ÖNrtFó<,ÝAé›÷ž-EU¢AJû•_SæyÛÛdzå¥÷{ZrGúAÚ +êâQge™Í¶æÅë¾³©7lDµ/¥/bµ?[èž° ÇF|QskÞyìªðÁ™C +kB‡AJ;@© +_ya%¸©½¶žs¨’ä+—cÝ{ã¾=ìËQ¶6Ѻ(lâë^œì…°”4“÷ä‡^â󾻕yW1:˜‚ŸÙlúù.A&;¥^2ÄJæVÒÓ¯}*èÂÉßÔ€p)G©¾Iâÿ<4²yArªÉâÌÔ†Ëéa§H'X{v†™,ϳ•ðÎp¨ªG‘«ìLíA4»Ïkj×s²î ¬Ô¿‡¼UsaµtÓ*~“Ød]ä²L1›õ䊬¿™Û‡à”ÎíA“õ·®i¡mûn‹2?>Û1Ï':©%îÑ'³üœ«¹©X†¶ˆÁéÜFg&gû}<fØs/ŸÏ›ø”udÒ—$=íAWpkãŃ]—ÝU3ÞøñɤŠtÇöŸõ,RÛ5ð¯W^jÊ;<ü+Œ1êò÷ªyY~ƒÈ:E/;ïm§+7Ӽ魯ª½éû©‚¾4+ˆ†¯ð±Cƒ‰ü$Ë6;ö騊Øcý!ßmŽŒ”&“fða¯2!H..cVÜZð“{^e*ÑL?eòx5Ôg’”'ƒEKVøfNt >´ãäíEèó0èÐ5—;]Ê„à…~¯ê2Ý0}“Õî`ë×0bZ%¹¼D›UºÚâ³)|e¼×þ]- AlöŠ'j »¸ ÔO‰9´ëPi.Û0áy±ll73¡ï ñhãwPÞ‡'ÕêÒÊsÁM2Y9¥–ãMfÙÍ‚ Ïüå}ü¬2H¾á²Ò60¿Èìùsžpc¹^ÙV³á`(Á ãA\LØiÝåéGˆiëZÊéÅÔy×àP·ÞÇâµÒã‹åû<‹XŸO1e¼}ÉVéc7e5AÏ‚×ÃK³5š¢ë³*y¢…i +¢j
JÈ´¤ËMÓew†pu÷1ÍÕö9 öËOµð—›½¬_ÒÞ횃$C3–H Ù)2U|ä;W3‘š“•å†Ð9u¼D»2,e¹#—ã[Óbkö\º
Ã…ædá³vsðü¶°3œ+€O3ž±øgŠ÷ +K×3Ù Å«œµ¸Kÿ‚d]
ò—¤åê +ŒøE•¼µ9ûï +©›ã<µP}'Hð†—þÆví™á’×›³ØEm"Èz>:¬`‹VK‡ìµG˜{ØÒIÅNòÒ[ÊÚd÷ò»ŒG%emÎtJÓšEš9É— +v/ÇùÞ¡j–ˆx6hLš¹å§E¾Ô½d‹—ÚR\c¥öpª•µ’f…ô¡ÂGÞS¶$ƒšg†#Qì" +ˆ§³ -t†D5ÿ.Ýl‡:-ÎFÞaª‚êêõT0j«ÚWZݨ’þæñ‹AÏü,@ù£ÚTÇ/9 BM¨òF†˜"¨æSêÆ}çÙ÷]ÿÁRØ¡°!ƨAbµU7„¸s>ßç rDŸQ»Á;æ%Á|æ}žïçdª’õîyJ€Ø.,]ÒCêùiÊIç¦Zö—>´¹Xdû`!/éÐÑ&4Ú‹–fº
m%a!¼¯%™8_ÌNÝ«Qô¼;Ïéñþ½§—«CÁ:«Àé)B/FlêœÿÒô”zOTÀ×–†Íí®À]ݵèåúÆÅàs–O‰(Ã]õr3qº3n‡ãäòAV%ß°^Á¦3«}²+vNÈðUˆÙ²3Ú¤Á¤~˺Š5ãÃ*‰ORz¦ßŽ/¾÷ï#ª!ªy™d™·YŸd|œ®ÚíIªÍ +<!Ï:ÀvÞn…œ)–a~¬Mâ¾~?è8IÄr¶mù}Ýú©¡¾!°Fÿh=²_p%•·ËͧùÁkÂv%ëÁ¹¼°„0Íx;S™NE¥òÔúnl ;VÔŒ)RΡ^©éȘÛRè×þ³þóQZ!ªu_a ÏÊ–â‚ž€Ë“]¦³ÐÒüyLþÇ,
ô°y?%'èO+ɤmÆUoŽïJX-qЈ±¸å;zÕNž®7¾ëŠ³Úˆ®™ùé¾p¡špVYEt,SêÆ¿»Ê?¨É +
Ï(âðqæÔçÛ\áPOu†AÚ-5«¢-#‚ Ö5ÉÏ_UøÚg4ææ6ý0fDì¯ã}$¾ª~̳x:4 sÆ¥-$há¨ê6n£†‡nƒ˜gRoΫÒÊ¥°=zäŸßliª@f©¬—ÙdÔ“…OÅÍä£_uÔ¸å„w¥y–Ÿ{ú(èÐzTQ_›Ìòæi5 +sŘ:Ž®uµüì€K;}vlJcý’”ßâíãÏKÌ“}N,e8_ˆ–ÚNŠ€Cõ˜•¢jÅ\æ»ú·ý€T|
ÝÇ~?ïî}éŠ/œ+“H•LGÞø~›@× Ù€°f›hF—>}çì-Ð ^øy‘ÿÀÿ‰ +endstream +endobj +13 0 obj +<< +/Type/FontDescriptor +/CapHeight 850 +/Ascent 850 +/Descent -200 +/FontBBox[-62 -251 978 758] +/FontName/GSVMPS+CMSS12 +/ItalicAngle 0 +/StemV 76 +/FontFile 12 0 R +/Flags 4 +>> +endobj +12 0 obj +<< +/Filter[/FlateDecode] +/Length1 717 +/Length2 7496 +/Length3 533 +/Length 8053 +>> +stream +xÚí”UXấq.ÁCA´±F‚»[p‡n ±†ÆÝ=¸Cð„àîNp—àA‚Îdï}Ιgö™›yænž©º©o}«ÖÿÖWU?š&›8f‘9¸°Ù‚ +‹¨ŸÎ€Ž;õàn{ùY/
”×[Ðn\)’diÓð*"§§öM~EÓç¡TðÇJ»¥Ä²]™D²[ÍD£?lþçN.«¿m*è×*ò§v¿>;Í› +™é3p`AîßDŒžåô`LâãÜ/©|ÑðÍ©OEÃn·Ç.xæzÔ@Á÷Mûj¹CÚòÑ¿jjNMܻϣ8 #ÕíÅ”™,+<…¦„\ø~½W"‘›»¹w†FH%.ñsZôD)|ôC™¹µÄlN[Ãþ™8‚±E—å
û=#Ž8L”®š ½Ä1äWÍgLXå¦t¶Y™ ÛìÓ
sðåkŸó†Bô⃶¤+Øc¶à,ªÄ8
l¯¹¶qƾwIxö —„¢Ê;ωØЊØZÞüÌÓzŸ'TÞÉÑ1uy0pï6ÜåÓ•íåÑc6²XœL
´^nÒñýNB¾6ù·óåRmp¡œ˜o%ìÓO8åt8ä][mö +žÂƒO{Hòogù’“Ç›eâ ý¹3èDÿýñ»ÍêVn씾}ùùtJ¡½ +^ò9§íå¥2ò€è;Yíe%jZ–a~L”1Ýä®ãs9öPm7 —C«{D)Õ–Ü|'Í$yÔœCØ(Ü7½yeÓ~z¶µ%$"@¹)õ*™i±G>™uÔAøɵìj*%&’¥¦·eÑ¡Òø¤¡îšíÞÍóX¦>@¸pÞ¬ y2׈#¹šê’W +Ô÷k®Üá.Ž\ª$±B+õÂúÿ;?NNÖWzG¥_]_×·9¥‰ß©ª +š°°EbèÄ‘‹ªZks5â â÷¯¸ÿtDHêÞn +ÿ`j¾ šuµ!é¯#r‰Ò¸àÀÇXð©¤cG|<PƒYõ–hùMš¸i†c<ˆr,‡ô¤kP´ª5ñ‘‚V¸&GA”“ÐŠdë38Z.J`/(Dx„É +k´<'ü.¹5ùttsŽ§.ÕD¾õ_7áB³Çzr; ðˆ~†d•‡í)Ú`ª„“9ÿnp ¥(N-å¾ç¡ý~@“w!þpõ£á}U¢L~“¡´ŸÅ¾¾j#5‡p¤‘ â#™ßÑg]):¹á$$pÈ»|#¢wÿ÷èåú˜ÀÚ…OÞ+è!'=6¹Ï¹ï¡*2M‰ÒÂo0w Œ?´3b†Ë«ÛJµ9òÞiÙÒÑ–u%¶õ>6ðóe¦ùJºÜ¿©C=p:T&Á¨™¢¡hU{…b +Fs¦ACKâ#ä€Ø ˜]›!š?‰¿½u$iˆA—Ô¢Å-0pŒ/EÎô”¬ ¦èFÑÄ<A+Ô1‘0y! IF%µ°äS}a&ظÐ./\\¬¤Æ!$â£ü¼Ä‚J×ÑëøÔ5çÊdômiê5´#ÎxiãžÈæºl‹ýfïV®¦&Ř™swèøìŸü´//+]ì:ãó)E7èÿ-Ù +lñn¶ùæW¦»ÕuM_ˆ‚IƒQÿÁÄÐA8ùg³q`¢idÜ'è›Óm_ó¦ó]ÀÞ½(|üò&®ÿ°¤JqÆûŸr߈G4Ç+hkM1{·T"àž«u†Ò’™R¹ÃðîOä‘ñµpø<x8m‚lÀŸùõžÓ®‡PKšvë¬UÒ ÍÂüÁ±Ý}¹öµÙÏ“A[Óo?ôìM3ZUi¿èµv'p¡ñqŠûy-¢ Жœ6ëö€Éª¡h\nÑ¡ÚãtaÆÞ6–môjŠ„àKÓjÅU”D#õÙgfÖI}V×D5þñ.ÆzœªŸ©jgUNãn¶Ä³L¿ÖpR%•ú/2BzlÉöÔ~6&-ò…PšâxM‰$²«W݃&Ïrs4œö×—d¸ßæ‡Jeñ¶dt¸Xýæ}ãêv¨N…Ö'Ÿóc÷Rm‰-RvqËyÆð~iŠ«‰šÝ,²G8¥W¨H—^ý‡$¾Ù”©wBŸª²„ϲ’óíÊÛ2Yp?ÈñWf\fJ¾…rQ¯´úCŒƒ8{vÚåèZ¼nk¯öË7»Å¬r>H5¦iK6öQ„³¥„ËQ…[S/xÆžCŽö x«Q«žB˜ÿ%àuÌ.™‰ùu±+a$,¸ôîfàå‹ÉV)e;/¢ïG‘0„¯F#hM\¥ÌºB6~É›;{kBn¼Ã
íçIóå Þa´síªÏ ßâW*v¢¹y´JØé"£ÍÊö$?üJAwÏ‹à·b!aˇe¤ÙÉ™Sâw'~¤ª¤\ÄãªùéÿxÓVèZV (*Ju÷ª}ÝâCa¸Ó÷‡ŒyœÁì]7’³µùâ\Ö䪳ž-ðqgã,‡uþœíŸ':4nygûümÔ¼|Xêú ±NâÓ„· Žî½&ÆeÑxsf© oPÞz +Oc=:hà äëßäÞp™$@¦:ÃÒvÉQÕíMùmh«žc,¯h$SŒ>ÇÐÂ2ã‹mc’¥[ZûX¨F×(>þ:Õßðí”5lúu#)¹=—õ@•åÐP?rr7kÞZÝɸ]¯ÏªB†‹ F—|Ö›W¿ÈäC!óü'AôËâµ +?ˆþäü‡K‘ÆéVwI„Ù3BìsÅLî¼ýܪlÀãÿʾ¼“tx ‡/’ÌP}`‚‘šD@á·ò“r¢–Z4¯÷wÞôèÏŽÕz´öX¾SÍýJÚST±ß±gyÛ,|«TK—²cCpì¾½¢Æ³¥á‹ˆn-wG×PÜ®¤„Z4
+úÛP.0Ž‰j•óp3½´ðiÅ‘q8˜B,Tº¬{ƒô|.tÖEbèÓ
:¾Moµ·©ªaf^ä&ÙM«n{ +>‚ÕÅr¢_¼
•'S")Œ#]ôñ¼n1ÅÐRu¾¿~KC˜ú~»X»qÐD´Ç&ó#iM9‘ùÙWéX¸MÍ'é7tÕ™äuþ«×$ÙÍÏ™Ž.ÒÜ›aõre¡¡<[Xã˜àĵå@BŲ_ŽXý¹øãîoy¾Ða£’htöz¼ÝÉÊ)xb©|nF§¼?óe|ª÷L&u¿®}Ú˜ãÔ_-=ƒxÞb»'ÛQêah:¶ËJ=œ2Þ@oSõ”TÁšª!ääZ¢ˆ±¼\‡Wè¶Är?`“¥ºr“(™vï…z³s|ÂiÅWeJ½6¸]Šºê綔Ví!ÚÕÚ“mcËÖß©œÉÜ©Õ[î排ëÒ[2–?¾¥ó· +7z3r´W`FÉwɨNW W—€D6_¦2s¶dy¦ò°t„<sÅÁ—*2’X‡)û;^7)z<Íâ_Gûèɨ›AžB‘“õ‡c#çq±é’qS¨üg®©Ü+®'¨ +¨‹%’5:ƒ ¢(ˤkqS ’<Œšz[e7± +â¿k„¤rîÌOî’>yv\6¨¬¦ŸÆ`á+ÕÑÐöMfô©²29²L÷òn;üêZC—3hR³nÎ5œrí¥6?¡ßp‡oÏÑÞY|[Ì.Û–nóvW¯6gãºnÏHê@t®ò]èÜ|wOxF×O7¼K8 ¿U(Ñ#ñ¿q÷yAåÈÁ³%‡èôR‘ÑÚNœ:XÞDowgà5Îïn½)ænºga7Û™Ìéúà+HÀ%dI#(¯Î‘Tº~Ÿ/güh¿ñ@/›zµ¡VÞôLþ›‰šdMC^µÝs^&ZÃÌã|Z‡:rlYgÒ +{pæêq .ŒC³f:?Ä8O¾ÎtšÀ™˜ŽÎuh›*7î[W'!Nï$—ýÎëºÜabë„{¦žGYY§©wx˜>08ùù‹Ó’%üO§€v¨:ûÊØÿ¥2ïÞ+<Ì4Îâýäwù¥¯UëW{¡¯rª1ÆA×”;ç'Êä„û=‰“q«D‘š´DUßÇv?é—Ã@F”¼Ë™fsH®c†ì³Ò븵|¢ 5],P-Gž$]"ï u!ÀË·Ò"S +y°:‡ +™x¸…¤N`$w±ô=9fµ¶’¦=ŠôY‰ßˆhžF,ɾ©lD쨚++p´ÖÕyU’ù÷£®Ì7ý´¡ßº¨ÔR>e}z;Ðó¢<CŠõ9TÈÊ‚—úF[û["æ ý?çKÞbvæ%[Ðå×~:LÁÊÇ™åwÌ:Þ Ôÿ0ndÔ^Æ©0¸iúœþÚFý +{‰ø Ž^عSûø~sƒª[_äÚÏ>ɉ§9ÚyÃœÏézíÓn4º²kb…^pt2¦|Î>è +²ýoaL«[šÍ¥mŸsž8ílMðÙŠý]k®g5›Í€à* +¸±jnHáç#ί#•MEn.ø†|!êPëYÇ_²/§Rwñ¸êŽÙK×`tè}Éø^.nœ„<$|²F–¼!›Ÿ¨V}QeÅ}û„oo¬&!}yb‚”ŠÙšfÄhÊ¢úªÊP7‘à\‘öGm£‡é#ŽuËÞc`waä°ï‚GøñO˜Ò÷˜ßã¯Þ‡8ø¬i‚_Îí0ìÚŽ»›ìãO¢Ä;íTÒÏê.¯ #[Y å/‚<-ª)6/HüÐIÆ&%«Œ_g^°¯PróµðÓ æjó=Ñ’Ÿžªõ:âlDU1ö.ÞPþ„Oï·ì]÷[`8ˆžHõcÇÃ^æJ6u$ë’·4ÛʬU;é\»-Ž +ï5É'{&ðv‡™;}½*Z.âÁf^œËÔd;lY‘c)%  +3 +Ôçß|´—0ÊhQ´ÏJU£ ±g³^¾|Øuo¿x¢N4º7Ÿ Ã5L‘©†ªQ5TúSV_ Q–¤•˜è©ÙÇúŽ/[_˶öl¥_ãÆý¶?-kp%ÊX‘ŽÅ¤´–PnbS<º1ï±mp4¡{F•Ó®Ò³«|È甩®¼úðu†”háùÀŸ³#ö÷3z‰ì|“@<výãË>ÄBš„,èåùû—áìFãéaY8¶3à¬Ub5|ò.8cpÝ‘–¯ð–hCæóšÙìH´(6öݲÂCË#ß-uZ’ø¬]\qL “*½\g@–®®¥½°56B½t´Ÿ‰‘ˆçc
XŠ¶pNã íWìø× Ü…‹Ÿ§y)ÃGE“j£©uN±…k¢xò¬ÉĈ>¿hÓ&vÜÚð¼D”[È?Ãpnë›ó½+ŽšG©%ØL¿Ü.öÅk=fò}f#üD9YÛÛràFSæœú¢#í¶©%0.ø^Ùk\ãº`é;«TV ×áü’•ž¥·0>s+-3’ûguª=ÓãI:OôA¿™Cé„5Ö æØ#&—ªeøf¸¹ ¦“¡uJAµ.¼(ЪSG¸” 2ø—pZßm]ªÓÅ•¦AUóìŒ:;+õéZ5ZÝ@dúd^;ìÇW^U¨Y9‹[“¹K®õ݇ Ï®#:pö+÷±*ÆY¿£Åku¿|çW•Êýd(/S'ŸUªz?ò"X ®]`ÛkÖãðÂ*À&ÌwVÖmq×2lúD,ZÎB¤tKº%YëÓÇ6"‹øIž
‰ä5jÜ÷Gb¢I-¡»d‡$ì¤Á
ìéHÓ]b†&Þñ•}g|1÷{ä(hŽ&¦¼ BæÔW +*¨ˆËÚ±W8h¼&”˜³243M7ℬ¿bZR¥ÓÞ8®'
!pÎqlÙižŠá8ÚRëbʬX>àüF[7…ëåŽaU°mÎ{·ˆtòIeõáøuf·tã#ÿØc¸&3´M¼Î9Ê1†ñkÛXþ\°â•#ïx÷ ‰mlEÛQpÉ/Ç_Y8{eõÄWû+Ø]¢æ*¼{æC3³F)èž»vY!ÇHb·´);‹|}R@b¶|£ïûI#E1%ÉsO>}øÊ+yÄa®‹&Ö€àÁjï(ØÊt’ñ{vøÛ?ò•õ…‚yb̉ï?j ]My±î\åíÓËx©o!Bĺ‰õE¦ÙjÏ—˜Ðo¶ËÛ–ó’ºdƒ—Ïo…&-‘-ÏR¤aÚs²‘Ækò’›ÖHÔ¯§}„‹ñÐ7Öj72Ps(Tº’vÇ¿Ï„]íÌKÌ°vÅÅÛL#lóJ_Y–±_ ‡GÞrâHp:‹CÍ@5’üÏïs%Hy™ÒjͤÁ\ثág½Ö$¾ƒ
+ÃHúJ–* åuWê^ÕϦG»¤wdz«¯ÚlNúk>k¢ÖoBØ=eô*:Õ<YX»þ^_LÈl}H*¡X>C~EÍ6ÚGaïè¾ÎÇô[ª`:âï„Íëç@V•÷šIN+=¤Š)H¹89¦û#ºæ\BUúäÙ«PõÈNk½ïd½„*.6ÚXÓøSu{0ý2d&„UE6V=pt_zúFxù +‰£©Â8åsØ{GÅFŽ¼q6Þ¾mÐÜ9ÈŒòãOúõ>e.¦É$ôÁ×UÿDFÇG)—ÕbòtLÉè'##éÒÙèø±?Ó¼^¸O?:#AV–î*+êÏ”ÁBúÀ¬hkjš@]€¾™ +ƒ¦Ó¨¢ŽóÿòÀúÿÿOXØAÌà.0{3¸-Öÿ +endstream +endobj +18 0 obj +<< +/Type/FontDescriptor +/CapHeight 850 +/Ascent 850 +/Descent -200 +/FontBBox[-251 -250 1009 969] +/FontName/VTSUCW+CMR10 +/ItalicAngle 0 +/StemV 69 +/FontFile 17 0 R +/Flags 4 +>> +endobj +17 0 obj +<< +/Filter[/FlateDecode] +/Length1 720 +/Length2 15681 +/Length3 533 +/Length 16239 +>> +stream +xÚí·c/ÏÚ-ØîÞÍÝÖnÛ¶mÛüµmí¶mÛ¶mÛ¶mãþÏ9óÞ‰yï|¹q¿MLUEE>ϳr媕™$òJ4ƶ† +Rrÿ…Ï’P?n¶o+žõè£Ö”=¯Z²§¾&Kh/’O¤&½Ó‡ÊŸIIvÿ´É˜…¿Üçë]ãñ·ª0ü²/ˆÌµkiÌŸY0²úøˆm3ªý|I1ÜštÝð¯êñÔœB2e>ëÉC[äˆQåWøqÛbJjŒR Æûš§„7&ÖP72~Beݤ-_ØSA×D`` œ-€!D¼¼
ûæÍ º˜AöM¶?¹tÿ†GÑiÝ~[oñÏ:ÆíÈUIêclî§SŘSQ܃pzÁ›lG¯j£Ü½J˜²ø(”œJÑ"\ËøÍøtFÑÐz6Ù‚r$¼õF2h¶oGuJ:Òî .t¡ªÅÁ#M…x‰¤ëZú(š?źUt‹ +äa
FÁj4D÷FKgëú\¥X¨Ê¯eù#Ê gdæIËŽ©Ù&¤'Ü$<c¤µžCÔÆô²î–½ªY…ÑWðŒö#èø7gn½þÈT¾g*w/”óÕQ|'w‘µ5wÆ5£ªc¥ê4Yâë_›ÇÏhCù_Ó®/ìA¬²0‡ò#À˜Ô +…§ yÓ–Ë2œ£õWQÄž3
ñÚXŸVXÈð— {æ;?$…}çïoø«Võ.¿M‚ú²zÇ,š½…ër£vINó/ðGüùù‹»ZQ[©ÖÔ”ßä™<¨tÕ²~TóWh³›Çd„(s%DtwmMLyŽYK\¤È ®¤´IÚ¾€ûk€äKá2Ÿ:x$<`xÜÃÙ`X¨|°M2,ð;¶?;Ëyvß"_jm›óž/k(ä
R*@¹h +Õ&±E÷x8“ø¸˜™pQŒt·e£ð*¯FQš§Kǹ@H@Ò˜4Œ¤?Óóýí›\"ΗzÖ
õIìÒF›S¤cà„Yº;´YO>LO$(rªw›m95âÌ*ûq¹xi¶õöÃû^^[wJ +ˆŠEò¾ƒfä]•è‡bB#°rõ0‚²4Ä»Á“”hA(j£M·Â ]ÅyHSö4•1¤F”c®7<»ÉMzuYò{|…07ÔGx Üi»Ù™t?wßsr·wŒ\ïÐøìKãÉ› +¹ÇqR¦'€Îƒbí°º:„ójßrqÄ ‹Å€4§|øK€÷óF€uŸ&Seý[3~É]ú¾\Ñ’@h¦(0¿)å9•tÞqÂR5£òM'WJ¤‹<=ªká*¼ì4ƒ,ô¡ÖKÅsD¨èëæ”Öo›A0¢÷j¯3KÕ˜¿óRPŸBû|jIjv_Ï2kõ}O„kÒÝu︲†= +±ûjÙõaé:ŠÆë¬Nn¦f ŒÀ–t“œìÁ@]À¦^.bÅÀ¦ã;ÁÍ>”xÒFY/F<;]%÷•_?<€¶êì'øÒ‡Qf¬‰yY—þþÛ:ae#.Ya—¾Ôÿ~§PmòÎUA‰rÞˆ¬˜;¯òÓâ’´˜lÕÜ©‘ô1ìÇ°ˆ3ø,|ÅXy‘jÏB_ÿ7G{‡Q`Цâåu‹ˆj‘Éáó¦Ë©¥þòW„@Ý"€Œ ‘‹ênUé=‚ê:_»bøWêŒ{c:ŸÔAj^òØ…õýÄQºFPø>èŸô•¶Ó³ãm‘ÍqE<Îr:OÞ!ÈцšŒ6Óè:ÄÞ?Yƒ_ÌC;–¶ÒΗ©Ê&ƒOà>(Îc¸:Å=Îâlë o§fp+6ƒ"p×X*Ç÷&2â; ƒøÈ dcâ9㘮dž¨
m(̲–ä +™ÚìHY?V½tüïÝÐBä³ôUG<‚´S +£0¶mö½¼˜Îª½W@îðéÙº‹Àu\øE¯, FÔUÊÈ¡¤ÕÑÂÛ‚¶K¦\¼Ü ãNøwC'9ÅãD@A¶á±iº“dQÚTc¸þ(Q<}vŸ‘•Ñ§ÏÓþ~cΰª:ÉËHÔç×Þn͸3ð¤¦ðx2LT'ÒÃŽLzꦹh)š‡A<3ÑŸÎÖžK,W~¤úm;êå^;ÑIœ&¿P2 ´·â™Ë0Ê?úÈIûé”y M·eè•ëäÌa4”’(aR=fû%~þUŸÞ—@³T‹¸X•ºávÀÜM1… +¹×ÎÞ!¼Dž+·ç–„ÞúæÐP’ñ<"×µÀÿ«TZ¦vÖEV3Ñ•ÏE“êRº:3I‘»D°ë2²„¢eÏfE Ÿ‘tŽ:ùéà„‡² +Úºèé8@‚ýæO!vI)™ÓÁøÙ]lV7Áu4/Y«´PCξXë^»q±5£’Z¾(«Vò¦ÙÔÊ¡LÚª•1 î“ÍšV H¼ÞÃK¸Ù\†s,³ãÉDóÄqß
;ÁQDj$±NˆÖŠS½£uâ†Y‡ÁmtÇ’´ÇG\S›kÁz£–ùˆµbÓ„ñ‚Ÿýs|W„7¨¡{u`Ñš2½v>ö¬õÌx0n úPKƒV¶Ÿ¹1¹2¬³ý©äx·:Å÷<•Ê4®‚ƒ”iPHâiÑï‡n +âd“JUŸý/ô{oðªÕ2(æ¾_¬]A±|]('üI˜¶,¨…i‹#$Mž’(Z9lÕ©“ o‡o¬ÑË)`yÖåhÜ¥d‚OV¸Ö"3®(7" öACÐEŽÇ.¬˜ŽHÄdÄÜ-oÁªÚ(Ižš«±èx/¾óÜ„(pX“×ÜjÙ}ž]씃«pX2@M¦Îûðth¶Ãã @+eÛ²PÈXð¿4¬á~O†€Nlq}Þ‘TÊ'}|Wq‡ßQ“«
"êËíxüD,ÆÖ.V]ÒNñ§eà +¬ô¬ÅPkËcoq´yVRó6ÿç^6‰Òr(>ÆÔmüΡóh!CÔç«Y!9¬|‘zoTâªÙg°ñg®äëÆÖŽ‹D.Š”IÍ·Jêå}ÀæKh¶r
hˆI020êY&•þ\ßo
rb£¸nÑš¶•©k"V1@B¡qçx‡ +xJTWMÅ?¡ß6§®Éúvˆ8¯ i8ºí/eQ +GÁ·îâjH£œb¨‚KQâ5/¹,DæÆ2Nî¥òŠþ^Æݵ:t&žnZ† +>ýÉÁ%>VYü¡˜Ç©Ræ3Õ†®“][}¤ÁGéž'Y‚܉•õ“X¢lo—’Çlž_¡«F×{ÈH궆´öÇ.ÞB™-™äd¨‹š½^‹ìNÕñÚ“~è¢þѲOÄ×¢G^¿b€î‘‘“˜ø\„˜nDÍmö‰Â_Û.a£LšLlÅdåÖzËɬ;cýcª°Z‹«n0Ìq-©œ#cm4]KbÛÅ$’FÃfUù*}†éH<|ˆî¢¾‘ŸŒXrsÛ†ÐaN`^Å”õEƒ§¼ýÊËgta¤£–`u%õŒÖÉ#_ùK3Êí·ÚG]Ø%æY”—ßÏ
*¬UÀ·âŽÖX
aù¥ÅÙ¤wN«ìg6ó±Ö¬LŒ!j<¿÷z?GíìQ·=£g]É
×7©uգƆ8–’+û“¡œÃ<ôScqkTGýdØiY@¿ À¬‚ÎÜÏÐíS•þ¤úZ<`v@™Š
]&ÙA4¹¹'º0ué÷·?N½m˜
ë—íÐ(”.2Š™;Y÷Z!z¡,Û¿ÑCæÂeevx¼€þA@¤ð¶O
«tuˆÈzw_À<Š“y„î:¢~c1œ.jyžO1–ÊPùð™íÆ X…4½"å×ï–OL'€
ýEËH‘»@±(Ê/óS…úLà
%d-ŠYÕNâ™ãeo¶‘¶}jýHyœ™d±—i0ó»Õ‚5,SBNe²m2øFä'·?”Ö‰¼Í†m™f÷OãµUoä«QÌD8IžÈ=‡›á–9J·K^Ï£U鹬±w´œô3 6ëä,=ðíÛ-¡ "$¨Æ’ðiÅSÈ®EZY£ÎÑ¡ÙÞ5 omXFQž¸îºÓ/[§ð^ÔE Ž©ŠiÚÛB/#¦,œ‡ÈsÕxqyßpéól&Ò™}ð\[Ñ™wîfߌfº`R?Kªßo:òqÆÕ!ñUÅê¬ö£–©@^ÚFa×ÆŸb*õ—X»#_~G +j“ª-¬ õg~*97¤ÛÄôW'5oüd±ã¼`|W"7ILmuoœQŠbÚhiàö={ ²Åvk@0zœoK%Æs\Ë\£àÈ5·bb
%ÚóÏáðvç¼€ú£^p1šëÁÐÃb¨¿[çX4y¨ÉÌ/ôÖ³n1yµ› +K."÷M¸÷RñgrÏd®–$ï¤w±‚6tÔ‡üðd¤dþJˆÌøÓ7©Œ±Ll—á[5„ôüxbhkJ›wmÑÃW+ë‘fwaÿ›½.Ý<üÁÓ2Æi[ý@‘v”{89Mëù²²ö$‚֤יf<ÿ•úlüs䌫d¿šÓþþ”Oû‡|v:àoÆ5 0ù}ÊÕîAíJäfÈçŠM³W®‘‡Ò¿ð2ÈËÀ²Ééþ>Q +&óGèÙ¾?ô1 ã{2”éW@Gµêž³¾\¹§Ÿ‰X6>QÌd‹øj +¡*Q ±µ—" Ћ/Õ,‘£þRÔxî} +³îúÆô&!§`ØåênUH@Ä]Oþm\3õè’Ð!Øå”d
¼X™`kmüÈCJY§Õ—÷XrÊ!¸d\’g§6¤Uw¿Ì×@D¼ÄÀGÓZšBÌñ7œT$w†Eí@}=¹2?ej¨ê“W)ôú óÛòeŠs?ìš1AÍ• +øÓï@_œ”p‡¼o¹°9òÀ¥Ê§Ngï÷_&~¥ûáøÝ$ÙñÖ /³»É‹Ú¼|lèoStã§âÒL?!Jä@úšÉšŒµ
ˆòñ´=áÈü|Bd›ðù¼\R|„i[=m~±¬SiÓpß\nwm«åÀñ +»WL šb\PyøÉ‹ÐÛÙ|l¿sNçêNw¨Ê°À;•ô9bŽòæðâó¹†,^wß<©@Ây튽_#Áçz0Žðøq
$è¾;ˬÁOÅÕæ`Š<úïÎc÷„Ì= s¸çèsþH?x«xf;"Äh¡ÞßÉgóÿÑí;Ç… Ã.°®ÝlJ?»OûL_}f,F„$WýÕà”Nƒb¶’zÒ²qï%Ñè7Â)HÇÎ#:ë1…6
ªuø¤Éa§Ç[m¬©ðe Ÿïî;UçmÚ«vÈx·£?'ƒdEüb…¡”æÈ&i}½r²òÙ!Ð+Ad/ía/K +õ5_䤛À²w£ÞT°¾½øM*5=ÖvÐ,“_ZÐâ43ÏéI°óRÇ6i æ`Ô™ÁÝœjÃ,Ë6qœÁ´!IÏêù‘4zƒq`sYêiÖ?äõ²Ø_=9'GcE¶ÿ‹½4…R^\Ø…JkÔÖäå`x)–ËoÕ—e溸¶´T¯WóŸ4oi< û‹NØòÃ_ÊkFu¸Ä8Šk³-ˆ\ÿžq·@ðBy_Räß,ða_Gû†Nh„!D¼Ö«BA‡þdeÞfd^NStO|ï•ÍL¤¸¾áN¼ßyÊZZ£o +7 ìçEr»N^k¼åúÚùæwj%›?ô§I]©ìä'ný{yD€½#õKh%såÙj<Šó3oÇ.ÐiÈ—Z>'¶Ä¸2Ž75‹ëj4C€ÙbÅÜ_Ü«ÀøüøNú…‚±ðªG*µØ§çnDßAmÕ9ùñæL’³´… ë UW+G+vÖì
,¨5U™Ø×`ØíüX“'.Z‹‡„ÖhùÒ°¬wu @ðC1o{~ÛqsPÓ’~0ù±¼Št3æßGé§\
Ú6ÉGÚ~¿N‡éW¥œI°öv=`±y‰®¥$Iß}¤€4NÄLVôí¨(Á[õcHêµ º'Gµ×ɤ;žØ?zR‘¼K€ŒM°ýà4Þx€/yK¬D_B=¨ÀD}“²N©‹›Ô™W>Þ}þPž‹Çr®ª(W(gÞŠ6ŠÜ¢s/îÁ}°:'è°d»•%,²”¨Züiº +N‹š“¼ÖxGËË &"Iƶu—\Ì>ö?Û˯›,ûN;Ý›\z½ªÄ÷Á›vh”·×&•®q0î²S§3|÷ÐeT®ˆ‚ +èV{)IŽ|šlûÀ *MÅ<¹?‘#´û8`Í_{µxùçkL™W”(€WXlö&´Bdü×e4ÀŽÿNHÝy6wÁª»ž]Ù{¹/`Ä¢²àÕ›Ûž¸Q^½Ô1JŸª…ª7ÔD’o\ƒ‰P¨Ê®«q@!ã(-#2Øãl§è΀ðK´NÙ”<" +&Ëâñ^œà‘\}EŽÞÏÉ#ßøvÙú™ŒÄ&'VÔŸµ{f +¨ÓLmÂ|qG…í†T%~et¸¯¥2®ªþÙ}–šiÉ7]À™Ó”œJŒW©ÌULüE/[ù>SÌo,HnFâ(‡ß·-ôZª AŒ 4:Ö–ºçªF3d +ªz)š¿$6g€È;ÐË8`Š fï´üx‘ òúL¿;&Ša¥×#U{tÂçšñp/ZJã[fÜÁè¡Z/ÿ*~Äçñ¦RÏ{”(M9H¾+iï˜Ø-qspû<agM€æJDy•²AfMº_©Y5x©â"•Ã2Î{ÙäH^¨Õïl.?´5ißân… ~–Š_pÓ;y¶-º¿øÜ”ÈàÍÓqócH®ÆPëp2mÓ\mYG6Ó +é§Q‘iÓ÷¢‚r•Ó!M¯»p‚ÍDÃüã¯#«˜ öÆÞP!Ë!RØ6 !&§gâ<¿‘xh
´P“Þq¨‡Þ){±YR(BÜœc!ÃØQ¾Ç©é§JuâL$]pèËé(ÁëÚ³ë"¦#—å]ÂjöhKÒ¢ðª~5Nß«òËŽSTp\Š€F,—ùS5/Ymi.¿qxÓûh +¿m¯O²Q%ġ“ºÝºÒ8¥Ò証Œ ¹Ü ¤àïã®wqHƒû¤¤xí¸!)q3}C”ò‡øÇ°èÉ’ +²m{Å‘ôþä&C·Ç}M%ùñÚ´‚Íp¿1_IZôZß Èìš6·pDæ´Ôž[PÞüsv°û‚õìÎYþbî×"Þý·š´mJ…"Ý“ªõW½QZ΄e*ú*õßHâ
_‹]°þ4÷+‘n,"˜ôDfËM¢ .AݸۓÆH…¦r\5¥ +hç³6é.øèøNêÝ M‹ÿ²kûøÃF
´D(àã½V¶¬“_ªÔȘ9íuÝP´hå°µ$T¥ðUMZð9=M ¤&rK$ÀŸõŒS›ù‘ÛøѤTæ馗ш›¹òBv8û…DÌ<!ñE6f´ç +ꈖA÷tT‡²ªjè¾2L–ëY™½ù(çJ±ŸSÜ(`#ù…"‚~g®K¿4¯á„Æ!Ý*Ðù¹£¾¥›$ +‰òÞ¾TÔÊõS Ã’ª‰ë&uOÃ×WFÓ´MùPÿê%XuÍù=ÁÙ¦DZŠÇ˜hßxá9ß²fm(sèBÅ2‡È Ô‡o^óàðùèõÿÔÁìÙ¾åSr¦oåÞÀ]÷êÙo•ŽB—
äÅö½¨ÑÇO'Y][@ÓèÙÆþ&̾†qrwÿô× F‡ƒm.ÃöSê~I"@·ÂÄIáî…Bè"ÄØË;b‡Ñiü BÆ8wè©M¼tE§ eV·ë~‘~©8I6b›€Ò§AÖ•z|Oë:xžÄŠ™i•¥é·o 'öÊ´*O\9ÆW2‘mòsEèR.¬~à+œy™YD‘¼–LÅxÇ#Úr1“ôq0A!Ã[ô4¶s,.÷žgxþõÀ"f}D ÔÕñˆ"^o„!†„Lj€nh8„—#–Z¡ùÙøjXnËŽûŒƒ¨rYø\dþ’³°yž"“àÌ0Ød'#-åÀ6Æš'!>Wq5<§ŒRç2€xÊdðö,¥^B|â„šñEŸ+Ø
e(KS¯ É¢‘IÔÀJ-pŸþðœeÛùaúm«;Éøj©3wÃ9V%g«Î0o‚=øVÆ/µuL4>)l¾{ÖÚ¹%üÆcs™³sÝÉæÄ} 7¶Ê³}GâÏàõçÏk¨,8 §äƒ +8?äÅçns|îÔ8Õb +ëÊö(Í—Å
º»öèÛMÓ1ç]ʪ.§¯uÓÝúù‹“˜[ôúU +KÓW¸·k`ª»R„9èÏÐý¦¥%d›ëà“ž2Oq-;ìkæ]:¯&YÇ™ +[³¹¯{Ô—4aÚRozfHÚßgçÖdˆBÍ–œKùEœæS³Ìî«Ç÷7íŸ +v©{~dÖMµªñF#‰gîx-¦ºýt;•â³Rë°²è¥.š&<š%œÔJ—tß”û `|ÿ$//øp!¡VÎ{ï¬Gb½|=¨>ìn×ÖïÛ¥d¿tlåÙ‰»‰ØÍŠnǸuÊq5ê"eí˜à-`ØNBE'!=±bKÕòйŠ6¾ÇQcÔ±ö{áÔè\õ²OÇFµLˆ[|qïZ:.¥ušÚ‹©5«¸¦6d!œµ³rõ‘8Øüâ]˜sñÃD(i +hŽàØw—¾*.Y×L®³‰ÉÌ1ù]•VfÃÁa>¦Éåç0ÓâÛÖ÷:cIº!ú*™½ÌUž¢žqrÈ»Stñk²Í MåÚcíqñë´?ÿ$-Ïd%-;â*ïwäã¶á4±kfûûÊqz›ŽØï2•_‘ÔûµXy}Åàä–fŽ$v[È +[›˜P³Ä˪¥Ñ$ȳ¼Ï™eîæmª|ÍÈ"x;°IåϯD3á ˜Ýnʦeï”pÎÍ +óS]4Ð\û,õÌS$3£ù4âi·QÒÅ|gSLc›quóÀuT–u½Ó=f´– +ëå‡RÚjÓYøªjRb¶hÕ6ßýøZ×î_ÒA kÇYA¦/ÖîªÝP•t–Ø/Ã_ú4ãCrŽœ]`ö?þäü~0#ùÖ
jŠÉ%2ÓyA]*¦‰+ÙÆ?¹ƒtÌjÓÏ„à—¡ph\5ë—7æô§·¹$Y§á$ -Z'mö8±ëŠV¯›W\<Mß^@”ÿS<Y»©OíìŒñ„€ ý^OWšj|kiî°@~ýȹ«ÉÁ1„k)¦±%͉;ʦ×"Ð|VßÀKƒ¡6“Œ +/ +¦ +’’îX‰÷2çj2Aaº\éZû,6^ÈáRbÆAà‡ˆ]N
wtþÃÏLý‡!dzƒ(¨-¹Ø-æ'Þj\YæÆ·m5ÛQ¯u¿‰Õ´ºñXøoÎnÎôÌ +®Àîx=¬7Tìa÷Bz]Ò +ú(þFlÓ’KÒi®¦PdøpéïÞXƺ0¤dn¦,‡+D…ÛµW¥|ãâ>q‰îÚ^dM/£-ê+"Ï‘ËÉk$¸}•kügg8Ó{SA“…¦Ê1™ö9>Óû(WŸHC}ƒRxôqâ‡"’ª#ÑÊ‹þØÀlÊ…ÄûA¦_ÈmÓÊYº:µ+©›,E;n¯¢;üLòzAIövâïÔ"$ùÝŽðÿlÁX¼ÜW+dÅ^^îyÓ?alüÔM¥ñ ”ŠÊë&5éºf_Eˆ÷ø%¢`£˜·i”øj!xL-`¿žÂó̲ý6¢½æ§Ý˜ùö›Èn%ž÷yÍÉÅ=±ˆTj õ}šù¡O§>±¤SBw>q²µåúîR×Æ‹.`´JÈ‘‡Ÿˆ7—³j=ªÌô,ºÆ
*çw-¼IÔ®b}6{Ä»dgS…¯öÒDUÒåjvmu ‘Œ¶üƒæÙQÃ7#Œ4Ûq»i_È@;`•˜ênÙ‚ ¤/FÒV)ßÉœ$=‹ª’,è\ŽHV0¢¶Åø4 €"»ÀqP£#&pƒ©)q.Uh«”gæw{HŽ%ãB®P«ª©ˆNzPÅãX§àY –WœHÎó6’¿jæD›ÍÍæÙÇ +Ö?}ôšðõqLp~KÄR2Û‚¦c‘'‰Ýû§È©•aoú`8EÃz›–Ô°Èò©•é7!-=`^Ü`öê¯Óó¾ñ±ZÚ¡I¤¤—9"ªÿäÂ&±;LJ¦v!«ˆ?…Ìo#or¢–åÌ8õ»ÐÜG±§»k Ü£ÊbC
¸%B*åè¶ØÜCI†~éEÙO –¬`î ŸiVÜ”™ÞÛ戟pŽgoÑŒ%„V)¬fT/˜:¶^ÆÌ0þ.a6®éý蟵ÁŽÅõ +×!ÞÀ$UoLïí7?RJË_1vVQèynæNHŸ˜dP'Gú}Æ3›N%ÌsŽ…å¸6gÕB—Ï +-m{fê€dOù"Â*>ôð7¨bÍô©·ùwSª2 †„Be»ÿ½›‹/¦Iæ /Æ—ÈoA¡ÍGª›îsš™Ìþ½âû&9»’”Ò4¼”¬~úgíÎÎxx“„R{·¼py†nŽˆ¶%tHhÎ1ã,h+ÉÐÆgƒsðta•¹¼;ÙÈ•M›OëS?¯’½3Þj®€C¹— rËÃÏ×±Íoóº·üÏMKù¨¯@øËÊÃ/DA¶33ë÷0í@9ÐY£•lžäôÄH †¬möQ4“b¥ï4<u—:ð+Ì.ÍÄ›Ž?œro†Ìy)|+f=®ˆ„ù‹“óþOZš`Ñ 3È@FEú¨I*–ëùåß’òq¹^Ä«æ¿bRqHC'ȃ(ËqÑ\a}¢61Å÷ˆúKäßó„Þº‰‘¢¢Ì–€˜‹s£;êɨÀ6DØEFŒ¤Ãèç¨"k/·ÀçüÒ‹:èf‹
·á×Ã3¨ØöÔ\úö½áPoþXäÿÎ¥†"T“™ZVÇ +ªÆŬê=Ù?O~6”ùý’«³a@ˆ +ÞŸ«twYeó©\6Ø&(&èx3 +ÝFº‹1ËxÙj³™ž‰^">—ÍÁ¿†UÎ/k)=\{WaÂ
ÖM²6;BoÍQ‡ÏýÆoÁjËýÛûÜ›IdæR°ÚHžêšØTè_ÈÛs¥œð2…Q [””ô—KeŽ-'òÊÄM7+4b¹vú>CY.Yf¶¿H×].º}¾ey~ÜÎÇ|6TeŠ^ñ„ôœ}:Kà©ÌÀ}ëû‹p±c<ÿž…•ÂeFÕÖ\Ô¤vìùü$æô<ÇW®ëÉ&.ÆÒpë¤k¸ÈoOh¹tÊ× "µ¦ý¤*—×/úbð*5r˜QK_Æ\Æ`¥‡k{‡wÄà +ÏŽÍm+±€é±`síAÛUăӧ€–ýKÛBugT¥..Ïþw?:i”»c´;Û6½‰ŒÂ€¸#Ù¾ä€b¡‡Ç,¾Ÿú爇X +ÙcÛNÎD'Ô˜'JH”Ùý$µLÎV-ÅŠÈÈ)@ÒW&$“¬ëxÌeòú¦¯2†Ø¨œpÿí,ä~¯ÈóâÇAû¸YéÔóbùµÃ<]5jª lQ6ìL[ Çz¨nÂȶ|RÒ2g0BuñpþÂ÷Û´„Úì3ô<$à€ø±¥Bïn~n`¥Ùí×LÈàOŽ0é>‘[á‰ürp.îÄ¡PÕ·b&^û +ˆ5«SÆ@ÿ8AæßÞ +-æh»</•ujì„rò-•ùoú§<¢45ñq"ÄÅ¿î4c&ÿXj}¶I˜…iE
«å,´¤1EêèÈJGŸc„±3™Qä«·úñß—§-ŒxjÆرo'žó +èî:åÝ¿&ép«4þ¹p2i`·+$wêèQÂÔ IêZÎäãûËiü¢Û{™èëGû.^ý÷µ»oÓLaË¥›•2ø@“ØÚE{sɬšOIaµvnE^ó% +W—‚*Vÿï-|Ú¾@£aëêŸs\*Üïqùb%ÑâŸGC’õ}±Ç@eë·Q\‹¾ÈUÅ1XJŠË]R‰–”c<»ŸÕw¥•xI +’›¬ØÇá}ÂJ…Þ¾ºƒ^Þ¿üéÕRÆÎË""xcí[>üJ•ml÷m»7…ÖÖu3^¾
¹z·"G,òœ7ƒ—²U¦Ëµ|ü^çÓ¦ã¦æJ9¾ø4ÊJÏË–=ß"C‹C$- ” +yµ,ÇòO©ŠbkG§f„@·ƒ™´CQpÞoÃq~1é‘/Jþ¡+Y°âÔÀ¦eƒ'šžS
üf Šö¼'{ÆÍïŽÓ¯x€ÿgÿÛ½ŸZ{wðA™ÇÙQ¡YDG@’òL;¤¤‚ž_Þ£WOGAjÁ‡TÍ
`êcŸ”–ÏfÀNgk6øMQtž|†O¶½³ãšúZD—£¾üÕÎöI¥ +endstream +endobj +22 0 obj +<< +/Type/FontDescriptor +/CapHeight 850 +/Ascent 850 +/Descent -200 +/FontBBox[-29 -960 1116 775] +/FontName/SBFALC+CMSY10 +/ItalicAngle -14.035 +/StemV 85 +/FontFile 21 0 R +/Flags 68 +>> +endobj +21 0 obj +<< +/Filter[/FlateDecode] +/Length1 724 +/Length2 664 +/Length3 533 +/Length 1180 +>> +stream +xÚSUÖuLÉOJuËÏ+Ñ5Ô3´Rpö
Ž44P0Ô3àRUu.JM,ÉÌÏsI,IµR0´´4Tp,MW04U00·22°25çâRUpÎ/¨,ÊLÏ(QÐpÖ©2WpÌM-ÊLNÌSðM,ÉHÍ’œ˜£œŸœ™ZR©§ à˜“£ÒR¬”ZœZT–š¢ÇÅeh¨’™\¢”šž™Ç¥r”g^Z¾‚9D8¥´ +@W¦äçåT*¤¤¦qéûåmKº…dgaqºán¥99~‰¹ ãÁ…!Ÿ˜›™S U‘Ÿ[PZ’Z¤à›Ÿ’Z”‡®4<â8ßÔ”ÌÒ\tYÏ’ÄœÌdǼôœT]C=cSˆDf±[fEjJ@fIr†BZbNq*X<5/Ý)Àà;D?ØÉÍÑÇYµÙ€Ä̼’Ê‚T„r0ßÁSQf…B´ž!P!ÂX±h¶¹æ%ç§dæ¥+—$æ¥$¥À0]åä”_Qkd© kiLj††f +æ榵¨ +Có2KS=]L
,Œ ®L.-*JÍ+' aü´L`(¥¦V¤&sÍž#šÉ¯#«ý5áË«Já»Nœ»¹a–zÔ&CI¿óM“ƒX›òý¦Çž;w\[çóÂŽ™gîÉß4½0·Ñš3çØ›ûþÊ;—ñn‘ŸY¶ÆØ(ù$Ç÷g÷ú´0½eXœWÒžìË1ÿJÔ—Å]aKu¬¹×ÿz]XýáÞüßU- ûÝ£Ò%6· t½ 6µ¨,˜Õ`Ñï÷ÇN|+ªèKgÞ÷dªq;÷)yA«æW§ïpºq3ÇÉz¡ºí]£ÏK½&j¹ØŸuù~xÙ?Ë°
«ä*¼Öûó wOÙ¹\v»Âwv%ß|ùáðþ3Ù:Y³Y}î|vÿ¿ß¿Ã÷X¯©çd?/°yÊa^¯:ïËÛæ-³w^fyŽás˜Òì”ò“íß[ïàÓžûù÷Ðô¿|‹g—ë÷¦û…•š;ºûãùÄà¢} +[Š¾¯ŠØ×£˜»÷~㮶m7{–õ?Òéúhr=<ÿÉ©¨ªŸqKÏøÝ®<°:Ïÿw}Ô¼žè8ÛØwÆÿµ·Ã›îK3¤?'”lóqf0ýlãÃÅÄžóåÈ7ù“ §®zf$æ~ðp!ØolVúüÄ¡óþ<M‹[þ4ÐaÆ5åàšCëÓ®ÍsÍôטVí|w?£ðåäoæ²7,¼qpÑ—µ“T¿ª•©ø_9¡ÞÏ|œmϤJñkgú;]œ|íŸÆªÛg…¸Ør‡a{¢‰{€ë#6Á·/öø&å2gî“Èpº®$ÿw©iýl…óW¿Îµ9Ÿúaâü¹¦Ïýª³Ÿ¾ûå;]u£ÄÒOœ×–—>Þ^µfÁ«…¿JN(tLº$"«óñÔ²“Øv/»À‘í´sק¯ý²üö5W¹žö7›.âÙœõeÖ¥ ŽcçÔ"…EE23Cd>ìT`_Ñá8}謹ý¶sz<%·ÆP¸F
$ç¤&•äç&esq +endstream +endobj +25 0 obj +<< +/Type/FontDescriptor +/CapHeight 850 +/Ascent 850 +/Descent -200 +/FontBBox[-163 -250 1146 969] +/FontName/CHDOEY+CMTI10 +/ItalicAngle -14.04 +/StemV 68 +/FontFile 24 0 R +/Flags 68 +>> +endobj +24 0 obj +<< +/Filter[/FlateDecode] +/Length1 728 +/Length2 13045 +/Length3 533 +/Length 13607 +>> +stream +xÚí²S”&_·æ›¶Ui»Ò¶ß´m¿iÛ¶mÛ¨´JÛFUÚVÿ÷·÷îýußœqîÎ8q±æ3Ÿ˜ëO, +EzaS{c ¸½=33±¨œª313“…¨ÐÈÅÒÞNÌÈÈCÌÌÍÍB,4þgñÏÃÃÎÁÃÌGA,jïàédináBL-Jó.Nba[ “¥‰‘±œ‘‹ÐöŸ!&F6Ä*ö&–@ObbabåÿxÅ™Xètrš2ÀÁ13›Zš¸Í-íàÿKÊÎÌž˜ó?eSW‡ÿn¹œÿá"¦þ)
ñ?œ¦öv6žÄ¦@38FyûöþCóÿìÿÂõïÃÅ]mlälÿcü¿Âú?úF¶–6žÿå°·upu:ËÙ›ìþݪüO89 ©¥«í¿w¥\Œl,M„íÌm€ÄôÌlLlÿ©[:‹[z +”#fgbbâbáú—jâêä´sù×øç“ÿ»6³ü'% Ðh ¢$G}A½Å„ePMI´ø½ +ÿÊðÄ.O…§|’XÙ‹¾•Ë˜_ªøMH_±ú*ÆÐõØz •^ãúhÅû`¸({d€ÅŽ’> qÇ)ûPƒÉuŽ#‰Žº pØë}VRìŒ-Éü¥µ²>à Žjmœã]ô:#0YôÀ;`\Zàþ:¨„ösfè¡MGÏd¯;NoBYÃÍ6®Ä¼6§óÁûÙÓ5`êÒ"¤©,Þa‚Ha7àä2‘ûÏCÀ[½Sm¶¨p¸3ünÝ—lßñØåïzò$ˆO&Ôdm>ª^ñhßjËÂØ®VVíöíÏQè4|0M*“7¨\QuÞBw°LÀ¬ÈGcÎsŒÒ.ÒðšŒè@5×_à5G˜Á7L~wƒC§dò³$ýX`Ö?«Ÿ2’oÌo{׷ܽ¹ÒÃ-mÕÙO['Ãþ,ÊÓð h2ßîኣ¿º‹ùB‹¿u]躄j!d‰KnI˽ RtÞ,ÍH"gä`RLÎÖŸ.
[„1–—ôÓ{©JÝØ1å³CLï +v±7Bõ[ðâM!eàBŒ‰À´¡Ýæí/;"JøéM‡¨,¶Q¬óUqÿžDõw9gîÛËɸü¤‡“ÏÖù é+Xf>c÷«nËÏÊÿ†Î%þ“æ œŸ´Ç;ùuq¯&g†™öt—‡öb^›1ÑÿË+Ú.¾”I‚pÝ»Ô4P3øÝ(‘æöÀêûdK9æÐïÝ./Û°W;§ °:öÊȘ‰™^…ÌÞ!^*–Xd¹wû.ÙHˆtÙô¿G ò˜`é²å[ɨ ºåoÍaˆa¶À^Лk”¸™êt4‰?‚ÄÅh¹Çéƒw*äQTnÔbÏb^ q¯‡Ý?ä¾…MI8ætÀÀ£ëH6Mu1=îœTùùÄÛŒÖfšó¡rÌÄv‘mÏéZâFzl\Žiõî~±8¹Öä…—^¬ëq!¼y¦©£"'ÆiüC úI¢sœð:K¾Q‰Œ\?Ybs§Î2(IÔ·F*©¼ÓåH+â<VÔņUÿMd(pá0Ý\,€/[è"“‚ðÇã@<9„f//äq™š”ŠÁÒë§üèœy¼Ôr5ºŠ¶¸·Â¯–ÌvsÊdí[F0úZ•LLÂtY0ÿŸyT¯q%!–û÷ª§¯l)[«Ÿã}mBvU¢â°_‘ßüífìAíɉ?}|Ô]ùɶ¯uy®2iž%àz¶2/>†eSÔ•A³£>¾m2zÆý¬<A^Î@ˆ?Çj»Ó¿35¢2Y6½³<XH©Õ +JÃœc_Ùý¿0Û“°{N…¶ÜChc7ÓÙ9ªÝ¤ë¾æÈÊoŠa‘›bÖ–qÿ”©€ÌîE³»Œ’LâæÇm¾È4°g>=9:.ÆVšClü +¿¡¨XFÀ¡5sÜÍó¼ž?¥Cj9±*\,¨'òÈͧ`µoøîíÞ»8Àmf9íUæ¹æN`ŸYÄí´ôVT Ýé_´wÉQD3² >Z¸ØÓƪáª4S6Ûêò_.VcxÂmœ$¦2—®ÖrÙò–Ûõ T£é¸Øå.”\SKA„3¬Z{.™Ä‹Á +ø·Áeký#BœèXÆÞt7QPÅÍ‘oôf`¿Á£ðÅòã*²"2Õùn¶Ù/ +©ŸqD
d<¬çˆC˜ÂæÏiª“%—8*n
ðéà~Þ¦TÍ}/d…V׆!PR@ +žm8aJåWH +o”JS¢™b.M3;oÅtþ=boƒTò$i.Tª… Ž2Ø{×Çj~©Ü”=á †ð÷ -u¶_i€u³Ÿ¡äᬺ# ½v>̇O¿Úßam^¥ÑDÓ(ænw¸Àþ æˆ[qûÔ›°UÁÕlB-ÙëGä:'÷š6¢{—:áÑgžŽÕ€p–p«q],‘#EK{6‡Œq?‘·1÷»š°3…ËäGó•Dóá%Æ2YÇOðeRkVü¦Šã«5ÖÏßÖ°a‰’•É‚]ÜÞ`nFj]Dy›˜§„<¼Ìà ´-ÃmwŽŠî´ùš<sŸCÉnš€žVÝÏÀ¦4 Wf¨ÀÁÓÝò²ï„ªX‹¹¶Š…fò—ÖiI°‡;f{?*2Ù·Ö~7n7œµ+Ä}ˆ}ÀÙqSµ3’#Ó‹—7†G/ù×û‘„*ÏüL-8¬{h‰6APžfò"CÿŸ„ð5€(±l”`ndÁã,xÖúiY©ïÄŽfÉ’zM«oäæ}E.>1Ò@Jshþ‚Ò˜óðæ—o‰QèÛƒéC'hwO-ÆV&’IåßM&°C´µ˜oIû"}ƒ±ù‘y’†_÷Ì©Qgeè +"
;çA„ží!¤:Õ¾EÔ à¸gÚç²õƒ†ë•€Á–õÈU«º6uE7¬„8Ã
ŠÈ–ÈI +Äž%Çsçñ¤Ûw[ïÕ{ÚSc¿ Nü#”ËkÖõù.Z‡¾€¬2,öøØ“T™“kWâéãç.¯ÒqDã*çµ.¾
“ë/ôŸ×‚z|åÁÄõ2ÔBš¢í‹ØV…‹~Øž¸ý#XeIi[à;|zŸ¿‡¨¯á}KOàhINꀻ¬/®byd†Yq/¶ÅMlBí:®Árâ›ß…ê(np`æp¦Kã1äl‰&\ËÄ9|ÎÞW\x…ë„ +¶àë–ô<OH>FiÛ(8 »@ÏTnäÌë¥Å|†þÀ…¯&'·Ô-«ÚlïíqÐ-5p~t #¥ü³¯]ÍÁ„Iñ–@³ï;§2ƒ +T»¯wS\»À˜ÎãP8k«º'ú&ÿ9“*Úê0±)ꊋÂÊ——{÷ę̂µ/ú»›*a#KƤA,D×_6ÜxºÍ\rd1yÿª=Ö•¡;ô7ö×4§¶a1SczÎlo+Q‚e@ðŠ÷°u6I€ÓónÀY?’üšò ¿ã<µHM6ŽCb¯qB—¿j*ßa^ÀdZT…{G !©.óRb¢§xàù¸Y‚±œ0‘‡PÞO skrÀëÖ?·6RñÂåÙ)xiÃÁUÑöN¤Ð*5ýníŠtè/„«?¢°¿(Î9…RmS_EJùk8¯¯aýÇÓàfæ1Ù7n´ÑNÖ½y¡ËuxC[^Æûa^ï]nËØ;Å;þ¸öÀ–äè͘fØÝVmx¸d‰ìê»](È;´Nê?å„_*”˜»!eà)?_…8°™C_ŽÜ÷ÉÁ{€Žö¼{ljy¦”ðäBpò“ø<(íâ,Ÿ\eðKr¤ÎN•Bμ-åU“Ç™ÍÄ˚ɷs
âTfà0!ÝÖ,Ö<êÓEžÐngŠã‡1I½7#R +Gvíºvõ®J6©“Ö'²žØ¶‹ÌGðÚá7âŸÄ/#›8¤ ¥ž”ŽÍÖé·DõšÓ¼Ñ=N¾½XÕËŠ„©ÕóN†S%V’hˆžêLyúå°Àšb×ãûÐw®¨oeûAïz’ˆ5+ pÐJ%*ñÓ¶ÿ²(Ç· 5iÃïÇ<ߣ•4V’é±ð#ùÆdñÄ«ò6å£ KE㸘5µl(TÃö§«]È°’ƒiwÕŽ¦—Ž¯8 +|Ö"Ÿ¡”Çò†E LJßÕW$¿†±ëÅü¤E”*³Îš)òÓÑÒèdø]‚(„—PÅW¯ÞøtXU´ÿG¯ +ø!ñš½8°ÎCŠÂ㥺¢¨M2ëÞ·5ž$,Ñ`P³£¤œfV7ß;ÃWb½óÇü“2ÌòܵD G%J‘Ò5Ö§ÆëW)6uŸtƒ½€äÛÀѸŠî™Swµ/¡³Û³Ìn3'L–:³yh›\âWĦ‘ºqué‚k +^-øÓ$¦–Û}ñ¸è«½3R¶³é¹ÙÀLƒ"Šºe*{*1ûRbÊCq(ÈÑ]•ï¦eq¬ÃݺˆÑò܈ÇCðR†…ç½ú°‘rÍ' +Ë2æNÁ¯JYêž<“BÏÒÜxd[y–r©{{˜¦3L¬„‰˜·%e‡“éÆwoÁÅëÜÒ`n +qR€ðìþ„ûÌ +‚ˆí#æã}‰ãeºxÿy1í–ùÃcm÷¬¾)iG’îÛ7¯ç¤£$Gù–Å®åƒÿ°_lƆœ£w?•r#¢Ž0¾šBYp“£Ñku\ñWwwÐoÄ°‹ÎßPq2±P óèœe9#Èûå‡ wOOý;ªKöš°2„3¸ª5ǤzLÇ¥/Œëo¥ÉÔQ•¼Ð²:çó8¼§hz6¬ñiðü`rÚÇgO+¾Eø’Ós×2Â[Õ
+߆g ඡŪûs/q䢧¾cK™°Q‹ E‰ÌÛÉ“Ç¡VþœH‚CQãۯϨMþ½[º/J·éÂmµúÊjð;»níéŠídCÂÑKߨí]´m’œŠÒL†[˜‘åÔËáísñÌ`¬v£³ÚróÑ‘ +>
FÙ¦Ê`»Ü÷÷mX(ï‹r:øV›îjÒ?ñé‚^ožºgŒû{Ü*?³Ü ¿}ìª8yo¦Ôº½&?°È4†˜{º¶Íøº|8uØ8n=~ŠñðUÂH%\‡DvI¡ :þ.S %ä°gŸùÞ¤¬`M|¶>ö4D>MAÅqùy‡µˆ
E-B¢»¡9‘)ówg¿‰ÿCY#gÕ!ño™ë¶‡ô`µg)
ˆS+*T¾1¬MH8Ͷhº¹¤Ô:…ý¯,»c
F¹%Ó–1Úã‹Dó.›ÍgA¯Ýä®Gi«Ç;–yæûL¹b_׺7²SÖm•û$ù`§Ê£_-ëQ—Nù€Ú–"7ÔŸÙUxqo«cœvà/¯¬JS_ṇ“85ÃÐ+¼iûQ>8_
)-η¯˜–©•ò‘ÑcÍ=©&,bƒn½«M¼&˜®I®<K*C/‚¡R˜'ҡ㬔!ÁhÍÞ°Ð~¹Ò˜aæ¾þöïLfy+mø=³ñÏÑÕ?H=“?ÿÔÆš;à ¿ÄáÃ’C-ÕëK2¾+Î\†Ðs”ñ›×ÒeN^¨'Å$BB§9¡‚z¾NkGü†p³K¶.ÕãÔï>Ÿ–Sû»
j*ƒ§à¬®˜XŽÁ®8¢¹«e‹ì`=»8p‚!¢×:Ž§Þ(YÝ÷<†6÷Bç¤ÔF¡d`n
9¿^
ê{Ò
nôEq²}¿©ËD¢=ˆ'&…JbOŽ3°úϪI°þ·sF–÷[v-øà-ö¶õç5é/zëý:ÕýÕNßê‚¥.ã¨JMRÕà$·Â{ô£#ÜmR¬Ú*r c$è›`Y‹ìuà¼$kÓ$ƒ¦ú¹–ŽYYÓ}í{ÁL¯vö#“Ž3µK3Ϊ«–¶‘´(è?Ýå ’oxÿ—6€±ÁúG®$MÄG2Ïl«Õ„òáÑ^9,§»†ŒñŠÖ'"ç+”€¢=ŽMÁ‰¬ÇV%‡Ê{”¢ªs'Q +‘2¿ùÃØŸ £¶Ÿ‚f8ÓV~ïQc_ø?¡øgj(šƒ±a«ù´÷”7´Ñ«> +òÃȼX¨UšýÊvµ2éA†S¹y UšÚeGæJ oèPêW¼÷‚ÛJÈò’ÙÙ·å÷=:Há[š†OAO® ¹ËÇÐ+ô}È`Í|<$)Üôõ#çDðŒ£àRõ– p´œbjMŸ1_$VÞ¤ +R5OÅVمÆsrÝcŸÞd‡GÐIšOÍl +™&.1aÓõsÐSy7Þj&ßž‘îdYFwv.èøïñ<p¿Üó”ÜÐ’Ö|ï7îÑ;€œü7+æ«!g{ oýÓdúr¼ÉÞ§|GK·}0Î +Øx££FUSY+ò³Ã1èo=´ŒñŸöqûðuêå#ƒ!êó%Xý΃+ç¿zð–¬+ÿ@¬<íK~½õ8±pˆ?Ò…eš +ï<Aï²½.uB1Ž»Å¿š‹,¤|6í02ÕŒRòôî6: ¤u¨ÙñhG‚õa,Þ‡@sï=*¯ì†…,
ëlZ¾èÛdŽËÚì>Á þŒdèÈXûY¥‚J ¦©AT›+Ôý·…ÈÄ@Ëã×j÷À»>ÓïL„Ž!]ŒDšávŒÂMÅ>¨ÖÂ\¦ÿ 1ž‡µQ<ׄ1Ѫ±ÇJ£¥aaËÜ^pqP©côûrKhô¹Ø¥GNmÁKá|ÔRW𱘉éÏžÂȹªöfõ+MñÊsâøxHºÈÙEF5šƒò[è9S¤~ÿl£Ð+H; úoYÐÖÊëêå’ÂúCrùŒx`\x+rVáÜ+c¥®÷=‘5ðÒ°$BÈÊ~>-›ÏÅœ9.d´ái¾ø¦½DX¼Ù`÷@ð|v®Åg#ôÖÓð ŒÔ@lþ3V›ÀÇ +cY&þí¨‘
ËF\_ˆ˜õ{2©¸F‰ét"׌ã#¹‰`@£SОp[J °À¥™‹@¢ñíW9î)„Æ´ôv*}š®ÍÌÃK1 +x3Î㯄ŸN?!±º=’ñ+€™ðÆ&„ä¦Ë“²s,.»µñTµ¯i´ïÃ@Ññ"‡ÝÖ”ûÁ8e55Q9Gñå åQBl¤R.-âK¼(;U†¸Ú!VÉ*ö®™Ü($fzŠŒ•´îÌÙ¶±‚Ç[6n½,´Dƒ +ÃUþ_bÉ]yk¬WU`3’Œ[ª~¹íCyýqt?<ÆfÈí¹º_ün¦K'M€–?CÐ!$Å{d²E)$º`ª;‰çšØ/ +Å2Aj…«oÄULÖØ°üjˆ²yõ_=’‘œ ‘IæÕÝÅ ¾€bÁ¿Û92dš—Øyžýu6YÔ*ûAwc~éÆÄ#\ÁßÂŒ¨_þ8Íevô„•¨rÙu€üõ+á•ië©!ߌxêms½#YRÅ%þÈáíÔXRçxW`±xêñù© +v“ÖÂKŸƒ=¾ëI@—~{G¢×¡=°Ž8©¼ŸšÇùš§šé“5žԦ.YÒäÍê7;¢ê‰¼3~^ͯƞüÝžzþ߸7HQ”S Q-•€Äîa ¾ä%ŠnÚÁs!®ã0ÈPW¥Ÿ<gòºŸÃÏÞ ÔÓŠú>ržOI*Duú,ý“dr +—$ =öþ¹H6^ìâ¸r×zMAÆÿ¼¦ +é†-›Øüj³¡”Wz×Ö6-(v„ èw¯ Ó©ÍŠ9´õ”×3^FY¶¯QYGq²Û¢X˜
ç€ÌJÌ +ûŠ"+)fÇRï\CÕÈ/ÞyÏwêUÿ–J€®Š¿: +å‹LH¨UÇKG?2™-øw5yíÄ{T MHã4 â¹ï–=—ˆÀlÓd_5“9M{’ì2˜ã™˜ …_¶¥”=Š¨I½¿±<ŠÉοó²êÞxËo1I$n~é +ŠÁ¦@5w48ʯžˆ¤3dµ·^´•^¼‹(õ! ÜöÞݺܹB^Öê§B|Iôã7jåç"l$`UÛ"Ncü;<_~¸ÀØ@…l¾°òå÷!Þé~Òw®S˼j0KáÑšegtj»… æ UóÚLƒ·½qﻢ´VÑÄdbÌÁ0)×N‹î8”M’\‹7.zZfTz’E~ýÁsñ(äÍ•P^Ä$vc¦?S’HAa"Z=b‚q¦ß¥íP{›çvç¿'Á®úJE«†oæ@@øŠµëéØ?„Byah¨ó™„‚ë×ùkå2½Jýh«kÄÚ²ÈTH{„ª—:zåy#|ü8dk±%!ÇúuׯŒd‰”iØ›“©gÚ‚&åtÌŽCåéªçŠòí~oÁ»®êÞð·<mT`Ò8b«»¼,G¸ün†üâQ-à¹F×æõÑóC H6I˨m|ØÏg”=ÓºáyWŸQ‡??3aîä\Ž¸±ž-Ë"þ ›ò÷áCü´ÌúóH +¿ ¦%¬õY¸„‚{lµµ[R,Þá]Ùôžø/jÆ47i*¥6ËR·T@R™Å’9±.îLàmolV÷ŽX€7X¨?Økvƒþ²4}ÌM(Ì +^wHSZ超õõ=რ+Ÿ·Ež0´â7…jˆM|v¡š^9‘ë1(é=® +ØúòÙY|»0‰bû Õ³G\S’Xq¥t>!Sý~i}õZ]~ùé½±íÑ2 +eÑQĸX÷~þD• n¦D,JlùsËùrÀ*©¼
]=Ð3Cïמ±Î–+Õ0Æ^äúÁô¬B“‡€(jŽ£Ús“ìÄú‡]&Ýɧc?`TéêX¹¨ÎÛðßpáfWÀŒ½’ßrPuðREÓhVE™ãá…‡/‹-+gÁÐAoÊd=ÑòiÔyv(Ìï£Å™éÜðuŒuÓóíãr.´*^BŸ(ž¡~ÝA%0)ÈÛ“YCլͽ~-[…èö
°Ë+5Š6¡»)‘ÒžVÓEÐkT9¾ÔG¾Æ"DÓ=Ñe¬Ë¡ßù™ª<&tS^gIùaÙ$cjä1nŽá˜ˆ®ŒÐUxP-ÔÛêê³fÙÝ¥w<H/¿h+®)KÖ"ChÎß«0c¢Òj`¥Ù_-¨ŒÔòš¡Ü4BƽÊw:$íú'2pàz¼X¨ôŒ@»6AÎpW¾§[Ú4 ÿÙå¥Â{S|ä‰E ÕÀ4·aà ¦Dê¡$’˜„þ¶ß™|| +´ƒ[Xº¯b“$Œ~† ¥„óê>σ–Šª…„ó +ùl˜Þ•g +‚ü[&~‰¾¯N3úÝÀnÀ'uäl“;v@d²ïÑWPÈT/Ð9Î2ˆ/ÉG¼âô>81C÷+ÔÙUÏ<øDøÀÏCKÞ +S€ËÎB Äk¾÷-ÁîùzÔ
ƒ¯ÏƒïýS¿ã¦‹0°×6‘ýM£3$‘+ûûëÌ +xœÔX]†ËâíB·Þâd/hÐ4ÇÝ´¦ñ‡ï0ßyÏ{CwÛÈAj`™6 iOGu.¯;xÑÔ
•€>ŽûÚ@ã„Š €I¡
¿äÇô +>yƒŽÔé<*ª!³Š`I±wˆñŽ‹z^++yõÅ–"ÑNtV#ö¥§æÝÄÖ‹ŸlžÆî¿ Ô·³óOºŽ;öŸFÒx8âüDR +Ò/›÷ìDfj¨÷Îhõ=œ¬Ÿœéìñátkf‚ƒ\VˆÛÑê¨ëÕ·ñª ÷JÝ!ªâÌíúŠÔÇ÷Nê{ o\ý‚# #âùØ’Òùa
åjc; XÙObË?ƒô0ƒ æ«åÎÁâ)ßZ'¡ï(^·eÌž$©Œà¬•æµucxé%VTIz×ySqiÝÙÏôG’†Þñé+?Ð[ëÂœ£O'§þ^=ÔÌz9Ðqf=ñ€Èƒ¼ +¹åSõÛÇÒå +°³OŸšéÆ‹}6¢§ÕaУíìPOèfùy9&µ?î‘ÙlÁ4 é€Z0 ìY3þ•[å=„mr%ü+Cï¨sÝ>2:"j»¨÷™›
ãO;!<¢È»ÂÛvcI„ð§üP–a¡'p5ÚÆÎ9 ÞiOÝâEÌ‘.oÏ٤ώñ†·ÞΎ鞈Dø8j£ƒ»_ÁÆd)¼$½Õ·!‚J™‡KÕ2B^hã®`¢Íì?œè}Ká$¹#‹ý-‰Oèõµô¿\íÅ;~hBè|Añ0«$¹/J!‹!Fê5{u •{%+<UýÍ}j +¿Š˜ +VŠ›œåuaÚ‚%ed6·‘·8¨ÕÁÛIŽ«ï2|c&ÆlîÇPsîy’ÍtŸ³½=!q¼YÂÛ¢{‡ÑŸÖšŠ0há <VH5|Wkû“çkØê‚ÙÞ3u{ßE'ã|ÄòÎQ©5…¢#À<LêQ·±¦‰Q’wÑ}S\Ô%Z««‹Eúþdô]#ù…Ô•«B;²H®\'âGòHä&ËïÔu9‹ó™‹Þþ•§Î/hP¨y–Ç®5ÔÀ½ÙΨ|Dê“×,fdöã]Ã}I:{ûx«Úó<ª"u“E02†Ñþ¨`1à™?Ñã—'¸{Ü,Ìûu×t|åDP9¦m,ÚèÌ;Ñádœ\“¦â½‘*þsmK&)¦d”®Z»m +ºÁõeùöòfûªõŒö©]íÃðً샻WSÃçùŸ2Œ5 m|Kt
Y>Üœ?>UiYxYЃ7s©·ƒèj +ÈU"R^ìØ`Z[•Í†ç¨i¿´éAsÈøqjsêõ2Í)Pð<³ÛÞ¹ê«>j3™ÇF=¨Ê¬&KãøÌܼ'Pƹ»ÓÈΕ¸ï€¨v"~ï{o¢–èX!ˆ/îÇL©y£»Ÿóëþˇ +Èз”àžÄ–<D(gÎá6v=)„Ô‚TÑpuª—äçñhÐŒsÎKp–Ång1nç[W‹¢03p•çèM8x§ã[QÔQyø‡¦¨íjß”©ò帵âÇ’¿(þ4Þ"xˆ®ð×I”s²€KKÉÀ‘<]O§C*e¤›es?üÒæXNY>g!4”³¿a¯ðËÕK_£ã¡™öj§cy9ˆöu¿ ¡±Mþ¬ç¿‡qŽE;ºå<´*9{’4K«¥¿Òhi9QÏJK?þõàÁVöÿŽ[št¡´|ïME`=ê[úD n +œ#oP+G+ ñ`ì` +Ò!éÇP•”7V/ rãÇU}dÃYnÒ}dw†´ÜÔPb?“²¿+ó~çäg·U©Iæä¸ý”2TÒÛpJ©A•qí‹X™ÁÛC2ìÑ&Óa«2ÿËq¦ÿ—Üÿ?àÿLl€FN.ö¶FNÖppÿ„oÙ +endstream +endobj +30 0 obj +<< +/Type/FontDescriptor +/CapHeight 850 +/Ascent 850 +/Descent -200 +/FontBBox[-4 -235 731 800] +/FontName/WJMNVI+CMTT10 +/ItalicAngle 0 +/StemV 69 +/FontFile 29 0 R +/Flags 4 +>> +endobj +29 0 obj +<< +/Filter[/FlateDecode] +/Length1 719 +/Length2 12945 +/Length3 533 +/Length 13501 +>> +stream +xÚí·S”&ßÖYé7mÛÎJ£Òªä›¶mÛ¶mÛ¶•ª´íþïýïô8ûœ›}×£cÅÅšs>ñ¬_ÌX#b9±¢2½°±!PÂÖƉž™™ *§¢ÂÌ`f`b#'u +n6[Ây‘°£5ëÜW½OùJsѤOÅ.zóImtO$yܨÁÉ?£²Õݯ§³}dÃËëPÛgÛÔ“cù´{^4¼‰ÔB³Xä•>¨ÂZÈ0W…Ûã–îKk”ÒDH'ú[¦Å¬7'×173¿Ã‚äÝd-Ÿ¹ÒÀ×Åáˆ-@¡$èÔø•.®+¦¡SYn騙ˤ;ÓÙø‹‡ä !ÆÃSˆ…yù0Õ«¹”“sdó”!‚T–˥üã†úøýFˆ’|"ÌeØèÓN’?\ƒ‘ï_žRò¨¹Ð(tß%<—½¨äYãóÒ w`Ws<¯ýOúðn$80>|´"çó¾£ÐQû=ÂC –\A˜ß.½7Ý:l¤^ô ác³UÓ0·a•ƒ”˜²Œ+qòÙ¯Êôš ªª_²¿x`æ +~Åèön^d×åg`~êÂÞ²•±ìS
4ìkdÔ8Ðq\zPê×™^±-Oð>E·’È%ZN\ý–.hF<Ñ‹«±ˆ!3¶=óÇI2àúÄ%ÞNøÊyØÓr€ ÎfaÏ”í>Êèã¡Hã6²Ü gàÅ£bÎbÁÇóæã‘/sî6?²E[Ñ’8CȽ#ÿX´ÀÀg'&0³¤±8K•áƒÌšÃK³ +ˆWøk¿Mì
4I…ÀG†„Öö|vkK«à:(É/þq¦¹?µ×e~ÃZ”)¸aÜ «)€à;JoN8{ˆvJOº¶Ðì9ž]׺¶Úã@§¾1Vkiët¯%á7Ñò®ïîk›þì2úñiÊx%>ãÕ†àîÙã°|Ýf~1fzlš¯ÄhÙÉáòk¯ýb®7O|úýΙWFz£ÂE*”縅wXÆæ›ÍdV"ª³F‰Xï—ñj"K—–™‹Ê’$ÕB%¼!w…:nÙH͈´¹N÷äT±R…«÷jò=èV¢/¹s ÉlþýÔÝ6p÷äÆò’˜Á"ÆP¬€>.%g¤X"#âOQ>`Žû¥üdÔ† ø©l•¡»uŽÝEÖÎså°=¯ywRò*(âgwÎ1£ÅUÊ°Ü´†Û´qÓ-2vÔe®Fò‡æb DÞZöËAY¶Ø0þ[1oº]2#]Є%¼e[Š,}[Äå%Ñ.!b$x¿–ÒWùpfPÎJ&jùî$
Ä +ÓB*ûÕ}¼ù¬b¸ÐÒ¹•ßSHb…C¿àÚÎ8Š³\ùÕ¶f…ÂfŒRù|0®'±oªuðdz\® +¥¬ŸDÙð”Ïù_ò^Í<AHGy@¦þd"1RþY-Xõ,Qe¸»u²”†T9‰±§(o¾Ågú(¼Dëå¸øM&Ô”fYO}5pÄzož«ëžœÉœÔo”ižŠÍÕcÄ9Àµî‘×Є}b±3&Bå
F§kœ\A¯aŸü/ÝC”;£¶©DØBE¬¡‡„kŽ±Qú+a’ˆˆÑQ?c.¿0Q‘˜”a¹›à½”õ›Æ-aÞ˜(Ðj‰NcªPxe¿¸†éíÇNšDu©¾¬{&VyªûÇd>Š˜|ר?Ö‰zScÜ’Iº +!!Qø
îØW±¹ëé8Åœ/£„Sò!Í0ÑQù+>µföo‚™be¹mǾ|•÷•·Á¦Ï8”Õ]Î|Ôn°¥SäµF}‚ÅÓ/r#9»,ªœ_Ò&»ƒ|ƈÜæÝ9“ÙH'ÒÞž‰åÞÃ$ù–æÀÖåUw8&06ÂI¿4eûb¬L.t^ô‚óýuÑ]ºoÞTz– +ÜDZgD«16nÇ÷öTú S¸á‰á¹æc?įI‰3Ô5q]y“ΑuEÞoÇæœ!x?ÃãòÚà÷CVKÞ^rχª1hð΂ÎßBý}HH°ZædF¶›…©ä±„@¨® +œÉdÌëX@ªÓ=çwzÐgÝx÷ÐÜÈ@¬›îå`ß8œ²úXÓ=€Ô‰.»ñ•¬7(ðwdî‹JJ.»ËV,Úü_ð×/"¬Í¥Wäê/rÎ +àþ^q°â›Ë[šM–'AÞD=ÛvîÙCô ’Aû/X/IÕËçtHx·¹¿T#^äŽZCÀ_0v\~~ +£9i®¨§ÕÙϳT!ÿÀÛG5”O}µ‚#ùÛ€ã—
Rþã^T'*t\@¨ÙRÓ™^+¢'Ðb3÷¶àŒC[nàGýæèÁu*ïÜ
Ìr¾ß…ÎÌÓê'Ò€æ·|øÈÚî‘` +šWD¸Ï×3Ù%(ÕÀÌESYQs‘Ÿ¦Mm"IÌ$U×T“Ù/‰^Üφ <ÝO)°c±@C+Æó¦c+·†j‹Nz¤šŸïË +ô©WzUaëk£q+/=m%9`™ˆ“/ÒQ2Ë›¸óí(åYÕ÷2ìÌћ֜U;æÈŸa®êË7»›ÅËŸ3cÄÁ±Ò
í1•ví½‘‚bϱ?x³«åG³6Q@‡E MÕ—ï¼<â|¸‹ÓÀR>z‚z*„g±þàMµûmNÊß™í§f°ï£Q€YÎgV…שÕàXhóÉv¶ˆêòL·3üË3˜oá>çÀ%Êî¿Øç¾AfQS¶ +ì†ü!!@uÔ-'aÕ,€œL†ó¦õnB>ð^Ë7ýZsë/dò‹¶uü¡úJõšЌ¦£‘1—Ø@l8BM>Q›ez#§Þ~–>£<š×øÒ]›ñÚdÈÿóëY3 ¾é8«6ûUV峌6ß°õFdu:‰7ºIVPØ÷~©–•Ú‹FY@çVb1™S»:©<?°™=Ô§ÐkV\ípÛ„u‘°õŽ\2‹™.O²{šœõõÏ™ì9u^Äâí„/O›û"KEáu¾PõxõŸdn^Cãðnˆ9sA+©eºúÈÏ^ƒ»nÎ.†Œ9ÉÒf‘_[g›Êܨ¢ÆC êPúm¥Aø„Þt¢aÞ
ÏH¹¸O8êcÛ~wéá˜ZÔÕí +3Ó#Šò¦µîf”â +2³a” æ²wò0£.Ÿxu<€‹ò/P¥`½I^~¢œûÃÚW¨Y[gìâqk¶ºæý‡P“ØP[PÝYG:àmµJgáí«Ý2² +ƒ 4öÌ3Î$O6I©I0Ïzw¼ég§üU–ÉÊk®žÛÑˤË'‰ªôfüYžJi¶[ïûëtð¾=W/ô»y)wñùxÕ~Wà€è=ìzšãU¹Æ&ã!ØKÂ<° R$(Þs,{›KF=0Ö¥Ÿ"'®@Äû<gü©Áíí¥K6¡c H+M›ÑW/Î/–H‰C»JîŸgzìhHeµÔEéç[Ò궿ÂÊð),|Ÿ£éè—ɼG|ªáB|¸ëù|•Þ#ö
Uýsy5w±ÎM×›Åæ™eŵ=õÖ²û®Ñ£r]ÂJ2]Ld +6KH[7A*¸—²ò‡òÆ”0žü:œYûµÂ¤c>ÜXà)ó{b¯ïŠ¤“j3¨ã!ÇSLaÐÏw! Ôbîk—ñ« Õ•¡ZžŒõÁƒS3¥‡ò©²CÆ.2ÃÜ–o
| +ð×â\`LPáNNj4Êp®æï”ë0ÿŸV<L>‘gß[>¾7:d’IŒCt¶IßRÚÈd‹‘¢OÖÉè"SWØþöAE»Ôà +ˆ†„RM@Âò˲”íÈn.7I£{¦(¼Yɜʅyr¨¯B3¨Ç½™Ç„p¡ëË3-[º²f—|a7EÞÄ>Í~éR”a_Ùp`(S<b14Î98<D‘J,{±‘!æ'ûe +Ù[LéÊ2bpGALùW¬—Óø¼+AßÉ}g%^å(z/Ê—9ßÕå>tjæ‹!â{ýH6|}æ`§ cZêÌå~îž÷ÇÁÒWDý8”E{PÌ]Ûö¾á"þ¡à¾nF|¸=&*&ÍI;Z(ÝƈÎoÿp+—Öü‘ð¹,hÍž¶›(3£ÖTêum™µ‹ß3ƒúòwÊAlç+蹎i8Íêr¶-$¡žÏªŠí{<Iõ̪8W²î&Œvr}ù‡
]쟣‡YZÚå®ÞŸdÑéÍÃ¥Š+BqïÔAÚ“fRPÇÚ<Ùïøåä¶ZE‹ƒÜiÇB;ÖÕÕ3ëÖ…ý³¥HFâ`Ÿ‘´}¦í´9ègW ûÑ^ò9íÀX¨íˆBàU·V\Fb?"Dã87ïêî28—3<2g +5PÌñZ§³\ÿ3^íô>F1=¦7¦Åƒpj#²ö•´I–yÉU¼”ïasð}ŽH*äò0%Áv£oOµÓ©*>¶L™,؈mק©Ž5'¶÷ÆâêÿÑÍÑ÷u†¨:ð>µ_`ȘP@@d5Ö€½Ã¬ð“
>™R¹2¤”Z_×ížv¢n'5NäŸàAJW —oãrî¤Ó'l¢vl“¹[:ÐÅÅh%Þ¦\.óY?ôE?Çß[%(ã,ÞÞA +ýÜ»ÛþMðÖ^¼ {Ó§(fº¦rYi×eÚ ©GMd{Ôû·'W³à8)z-µ³Ià·¹yb]ˆöBw‘—_&c¬@@sSƒÂ@þçC/éÊ^ÓLÇ<Æ7EU‰ü‰°¤—ýFõG9M 6¬‘‘z×ʘœ™KMÍÖä%Ô-MlÀžÙlJB5ŠN;}âêA5õÊ—.4#“89E%MÛ_zþÊ}ež¿ØkË1í/ýZ×dÁ¯¿ø›0n±¹Gç¬Þ*û)†Zl¤íœ¾þíx æF
³h…?%9g!.îŒ1,ê{nóN{xÔº§ÁäaëÜI‡0rçÊ·‰‡‡¼=6ä÷¶¸BXW“-¹xÚÏ•ì‹Ï´³0ÒÉN>¿å<t™“iªéDË"Y¥ULØü¬ªÖúB:³·ù|èÁšs]¨Žê¥à4.§Ë¨YœìXo|•Ç_ +_ùÁ{Hr±ïôí|IóÏ,%Î(Dp•‰'=+;7q'yP¶§Ð§'ž•ŠgÛ¿ÌO-Á$Ìì¶Ñ1˜Š}~seÄm¿Ð41»B'áÑϘ“õÄiÍÕúXRf5°9¸±~eÒÄ=ô»s9M†bÁx_’Ȳ&zNSµÅ%½ø¨*¡ÓñE«‹µÀóíãv”ÞdÌoWHÉÏA(õ¡–[ÁJ®!l(í!é6ë&½(B›ï?È_þFh«yN •ŽyMï‡`|º¥,‹ŽÃk"ƒ\â:Ç*Ò&`ê)[UÚ‚Æ8ŸgTÍVÏ÷—É£¶
+D¾Šv† +›ÿA-ƃí¡D‡+qø…a'c´˜.ã¦ù>y-*‚]°#Ë1kI‡U +§a¨ùhˆ\`ÌCátïŒZÙ=r¶tÝø¨^LÒn„óëñ9›wö“o¾9¢•vº¯hÛ,xŒg#¤!ʤ§1ŠËT ðºFºàý~Ž` +v®‡bOÉ€îdEGµÇ¬pÄ‘k™Ð§'.C4d6O(ìÑiÞ¥†Â̦BEé˽üÝO§H\ªâ¯œÜ°B‹°Œ½YêšåøS@sÄ5"O®!¹?†m]Lœ0*²Ô*Â|[#ÜÙ&ª…íÅ4ä6ù‹m/1ï¦à%:ªÏv/š1ãâ)-L±#¼oÀE?Žp=ï§ï°Ÿ…bh§ÓŠ"ˆ³$¢ +¹P—É%Å”3çy"8¯›!9¬@º«ns%§q€ ž•4ôWóŸßí„ÂB»*>úƺóȹ®Ôd`6ÉY·ãµö,Šì›øûîffŒ¨ãÃ:³–BhÐwHŸ’+àüÑœù»ÝAD˜"V.© pªýn`[6³á\z9JØõ²ÚX‰ÕÜ¿ ×SÜ…ÅŸÌüw¸ú#¨mQÖ—Fž´¬gš¼±myA•Õ<tdÍÒ-Œ¥e‡¥ó£(œí9JP‚ÍÍüN*’ÔZõÖi8ãN?{&¼S§'˜©S¬S¼ìò¶²7z«€È>KÛÁN¤gmz ëAþ’¿)ãŠ7=1-%É>G¿;Ⱦƒ¡Žo{†]oyýþ>)@žŽÃ#”@Ñ$ÕšñX gå@O7gB(øF”Šü5×öZ›>Þ0}¤UêØÔ{Ž(Ïb]x¹ÈtÞ+¹ÞÉ× +±™ä—‡É³á0žµùp{
9£âS½#i?.³ð»ZˆÎa‰!HÊ„E™3Š³Ywsitz#î‰{§2
Ì}(ƒE鯃¾œ˜Á†U×rr£;èÞJŽÓógoh¼Ä>ÛJƒø¸½(¤—q¿ÐÝ?Ç_ÌÈ*Ô&P +P¼!Ö*×"ü1½œ;¬#wᦧ
’ãtMa‚íáÙ"ƃYèë³N×dl¬m:-šñ°öìSÃÉl÷ªk.ÓÆ÷žuQá”àºg3’lüó(Â
3¤¢Ü´lÚ;m·¸jºdõ*îWãöÎ-ݪ}wŽWklaÅå„+žO€3øùDùä‚-´o?¥á"© d§¬néÕ$I&
ýøŸÆøÎ8{a»ßJÓyˆu‰q¬o÷qfáå\””{aÁ§mýø(I‰‚Ÿ´ØôÑGÐä Z—×rœI¯kÞbÔõåkkËõŸÐûر¼Ë¥hɂPt[,««xá|ì¸û ×ȯ9™t¦fæÅ~:ÓY<·javž3«ò8ž)…¾ßtX}N·xl‚¤Y©°@fÒžu£3éØ3%¡)S*{[Gõ;´œ¨naÒÒµrs ûÃE`|p †”ß5ËàF†šôÖTÛ9 D{Ë1ó£l¸’ÓŽ?ææÿUxÏw÷Æ2Íeܩ蘚eéÝ +̘eP”˜éNöìÐ…?fÈü¦K-ÛµÚM‡x5öeË(êac•)Ï£0b¬Åp¡Ó.œÒ>/G|f¢øàÁ!gÁ <»ÃßØ}ÔæÏOÄnÝG3H+lYÄ=F¯–‘óp?ý¦—ˆWºÜÏT";ÑNy‰ëªÝ¶Ú +©¿`ð+›ØæF?ñ|áÇ!¼<ýZ²ËNÚæ5I$yn„ÓW¡ÞuèÅQÌq@µèäÿ$,
„™¹ÍIŽ\JaÇ8…“D`tã~Ïkí;¢õu‘°£äb +"@ÍS—úì™ù&ÊÏ…àvË̹ò¿Mlú.·|ÃðÚ)j‘IE^Ký½ÛNÉ^¨n‚ßbk€‘=Ížjv„xéÃQ—^¦Œµ`³R_¡ƒ³ó¿ˆÛø^½î2r|¼Ø(ª®d¥5ÎÇa T h Š Ã4H^?Ée]}w7AdC_¬cùÒ±-qKü™ÈÇ°[:šóC¯§Ö¹o÷¸é¬W\¬þY8Xݦ—"¥Ã™…Ž®öq*^À*/•á +“éJgÚgF_œU¬%ÖsÑ.D:“‚ +á]BídŒª`ÌÐ%Ž¢E¾Y_/œÀ{íD_ µ:‘÷C¹$ût¿W0‰ÇË\ë‹þ;ÎT0²d%lö´Èœ¡"€JgÇu?íéwn()×>rÊ[1·/$mæús±µÎ‰Uô:ia(Hé+Ù…·:æ§ê™Ír¡ïÜ%Ó|G×o˜á¡S… 'a‰G£rÈx‹2çQú=Õ–æ£äüð»lFh‘ —l8Ð.”uœ5·STc7öHý{ëfQ©¬ÖÁ4‰•Ó¤N9¼¼Âò¸! +3CV +²Ð9³—%dνdõ<·…øi¯ÌÒXk‰â(ð»t>ÝJ‘üº<ÉX£zå%•Emº»ÔF<Ç ½´qfÉ$\MøƒäZ&PÐÏ•ÙžéÌùÐäŽaXYäáwè¾â¿œ‹®Ç9;÷õ•“qŒž)X0^D$Lq<â0 FïûFråªõ™ ~µ9DÓú?†¢ne‰c,!À =Y«dZç
â3Ø‚8Ç)xn€o×ÌmëE=uËÏUsbÈݨMeýÌQC ÈBbÖý±£…ôoY¾áÀ¾ûœkˆ'ɇµÖ½ÓùÓ$ +»—ëéUhŠ²;Žæò„ýd³"‚à_¤”—¸;²òDú¡›¿¾ú%åî>AM'MOºÚ”'gå̇ÎiÍ«ß³Ó¯þœÃ{gCq™e]ÇC`à/ÿõ0ì2C·´4[\4Ò@&jDßÒ´ÐÐk\ ALò0m¢4Ò”’Ìâ_ ³|öCþ5qõ7<3ØΧlòÙ¹#“Ô_©è¦T—Eþû… $XHo4°ÝæWoËœKý¼9l#fFŒºˆQø–ò¶Š:XXÍU»4
‚+*)rŽÿ[· ºð½@2×Oò\C¤é%ý9”ûE>¼cžšÐ(ý€¶ª(Óÿê¨4æQ„}]ØãGª9̬f/#YC¿hC»d´º´J±çÎFµfõéP-¹¯¢¶{&ú39>Kw·ýçÕÙI÷¡cüÒ¸ ¿³éP¡K§LqX6bN»¦{@®¯¸‰è¥HsCÝNÊOéÏ6ï¥'™LÔÏ?^áéh'n7fi/LД-Å¢Ù£*,÷øWÒ´>LKÙե졳Mš¢¡ãúòÙ¾‹¨qbŒGb¾—¼P +Á¦u{O[26‡”¦GRíÇZt¶qO.ܺE›&’dñ™gp+~®|£ ‡e$6,”Åälx*ª è×™}Pÿí—n;i:ð! +o@JQ· œ=Þ†U˜¢) b52¾T1T%‹³òð¹åÎOŠ%¹ +À†€R4ý´±ôˆ½Ë€T&önE€c;Õ!QH÷¬ˆ*‰*àã¥c2èy‰’äJòs˜š¼†ˆ~wO‡Å–T*tî‡Ö*JËvN¨Á)™ž3=êÁðt•>È’v£§¨LÜ%R,âü%‰j¦Œá/P ˆX`x)Ô}¾$ZÆÆ» +ÛtydI¢ôY™?9ýè´ F0 +WwŸdSILNßiüÙ-ÇAy÷S\¼‘¨šìÒ<Û ÈŸ5X üs8’HÁ\_P.uýÆË“Š¨•³¦1´QÈaï‚£;gù)MñÖ0£ì‚”*ÌÝO™p˜JÎ-Qô•H Có4Â^çÇ[<üYˆ§¦>ž˜vøòÁ+]§žØ–}‡™vÜp„žM k«“Hœêwc,loCußi¥.Æýól6P‘+ã–EÍÇã3ÃuŸZfZgñ+·Á–-ë)I*#(a¤\©*e§ˆ¥ +äV¥$1Œ?)ÖÎÄpc*ê#îáGÏ43ÃXBÖÖuaiWî-ø»"·+~ÊûÊM»ìîôÝ-?²Ç¤¬º¹…»…ïGuqv²ª¡Úã=W» zôM,5+gò3èÉ!F#hAïÑë3«u¦_—=ÆU‘PÒ·rm +ÿ¯[„XÏt³[Û1›7–¨„©pûDüT††F”CÀ +ëá»ùËzý:ý‡ËWÙU-Ì›bAÌa×aʾâKPYwãYI,ØŒDx¾ZÔå_<âÍ; ÑYî5 PD˼?“vÓÎ=¯¦OHRÞ?LÜÛgwÒUa»årC«y8Ž«ž#±#bµ¨)ƒsÞRÒ\¹qŽŽI2ãBQ:æ +ÔepW -6¶½QÖ´ŸI%†7ª+NË°_ß‚˜ë|«âŽÄ©×
Dpï +Ö"ìß5{-(dÏà¾+ÖÁÖîÙCœ”ÉÕT¯‚–TðqP÷áE¡J ä¦é)žß‘ZMõ¹Tvã¸Ëodz˜€iBÌöy2\V2¬ +ö#d.ÑÀLäLÖs‚UŸ}a»'9cM'f=îÊñ9Ü·”c2èóIüN?7u\bˆÅCh~ù4äv؃Ȼ%®#‡
O¤h9Á)ÜRî•,’15šM l3¸_Äbf×Xáë¤<Ó1ãL—_ËRHúX+¤\»aò§Ù[Xc,}=ébzŒx™Nó'.â)Êfë9vYZÖ÷r#PÞªHçÞZâÙ²Y/[v#Ï:ÄïxΣâ[tç½ÞK³”$U#wt³tÈ1ÆSßy'βБö#ÁBbO´w
oORýÖf
ÍÑ)éBLëCE¯í‹å)epˆhnCÚ´v]É|îÖÏ@ÅþXé + +€ô0¶ÙY’Gþ +ïõ¤…6øë•&y›qå„'B•Êó‚Ù¿±o°§©}Ö[»<÷ñc‹³ôKòþÕõÙ’²OÌp:×0ÕÂ7š_À=dŒ¤cfßGž¶Á8Œcþ¹¯4éûf»v°öTÈïR|ÑųªåoòSç +*µ¡wÌy…ΛŸå +Ö T$žôžôÚ¬Àâ1¨¹Së¤I^Ê`ÓýŒÀžå#Ž1¯’V%Sµ´ùRy¯$Á{wé†6ì_ÃnÐ{þÃëYÄ7ê“rùdšž¸i&"mܼÃoÁŽi~TJs9vüYÐ^÷H3.ãª÷8RZiDy´n|„q>]‘Ù‘Ü£ì¹-ïùá†-êÝíQÚŒ~\kêÏKä×ßçuµtòq—ªSÌ\QÅÝ^$ëÈo>=f?~®îfØÓwF¢ƒmœ„±<(¼pس/WÛkC"¨1a`iYkv[¹ÈÌ¢‘H%5`úyÀýÿÿŸ00²88ÙZ8XÂÁý_J€| +endstream +endobj +161 0 obj +<< +/Type/FontDescriptor +/CapHeight 850 +/Ascent 850 +/Descent -200 +/FontBBox[-15 -951 1252 782] +/FontName/WGNYSA+CMSY7 +/ItalicAngle -14.035 +/StemV 93 +/FontFile 160 0 R +/Flags 68 +>> +endobj +160 0 obj +<< +/Filter[/FlateDecode] +/Length1 721 +/Length2 640 +/Length3 533 +/Length 1152 +>> +stream +xÚSUÖuLÉOJuËÏ+Ñ5Ô3´Rpö
Ž4W0Ô3àRUu.JM,ÉÌÏsI,IµR0´´4Tp,MW04U00·22´25ââRUpÎ/¨,ÊLÏ(QÐpÖ©2WpÌM-ÊLNÌSðM,ÉHÍ’œ˜£œŸœ™ZR©§ à˜“£ÒR¬”ZœZT–š¢ÇÅeh¨’™\¢”šž™Ç¥r“g^Z¾‚9D8¥´ +@W¦äçåT*¤¤¦qéûåmKº…dgaqºán¥99~‰¹ ãAá„!˜›™S UŸ[PZ’Z¤à›Ÿ’Z”‡®4<â6ßÔ”ÌÒ\tYÏ’ÄœÌdǼôœT]C=cSˆDf±[fEjJ@fIr†BZbNq*X<5/Ý)ÀÐ;D?ÜÝ/2ØQ±É€Ä̼’Ê‚T„j0ßÁRQf…B´ž!P!ÂX±h–¹æ%ç§dæ¥+—$æ¥$¥À0åä”_QLCº–¦† +†F¦F +æFµ¨ +Có2KS=]L
,ÍÁ¢É¥EE©y%àÄ +endstream +endobj +1 0 obj +<< +/Creator( TeX output 2004.10.26:2215) +/Title(Dvipdfm User's Manual) +/Author(Mark A. Wicks) +/Producer(dvipdfm , Copyright \251 1998, by Mark A. Wicks) +/CreationDate(D:20041026221521+01'00') +>> +endobj +5 0 obj +<< +/Type/Page +/Resources 6 0 R +/Contents[39 0 R 4 0 R 40 0 R 41 0 R] +/Annots 42 0 R +/Parent 222 0 R +>> +endobj +44 0 obj +<< +/Type/Page +/Resources 45 0 R +/Contents[39 0 R 4 0 R 50 0 R 41 0 R] +/Annots 51 0 R +/Parent 222 0 R +>> +endobj +53 0 obj +<< +/Type/Page +/Resources 54 0 R +/Contents[39 0 R 4 0 R 60 0 R 41 0 R] +/Annots 61 0 R +/Parent 222 0 R +>> +endobj +63 0 obj +<< +/Type/Page +/Resources 64 0 R +/Contents[39 0 R 4 0 R 68 0 R 41 0 R] +/Annots 69 0 R +/Parent 223 0 R +>> +endobj +71 0 obj +<< +/Type/Page +/Resources 72 0 R +/Contents[39 0 R 4 0 R 76 0 R 41 0 R] +/Parent 223 0 R +>> +endobj +223 0 obj +<< +/Type/Pages +/Count 2 +/Kids[63 0 R 71 0 R] +/Parent 222 0 R +>> +endobj +222 0 obj +<< +/Type/Pages +/Count 5 +/Kids[5 0 R 44 0 R 53 0 R 223 0 R] +/Parent 3 0 R +>> +endobj +78 0 obj +<< +/Type/Page +/Resources 79 0 R +/Contents[39 0 R 4 0 R 85 0 R 41 0 R] +/Annots 86 0 R +/Parent 224 0 R +>> +endobj +88 0 obj +<< +/Type/Page +/Resources 89 0 R +/Contents[39 0 R 4 0 R 94 0 R 41 0 R] +/Parent 224 0 R +>> +endobj +96 0 obj +<< +/Type/Page +/Resources 97 0 R +/Contents[39 0 R 4 0 R 101 0 R 41 0 R] +/Parent 224 0 R +>> +endobj +103 0 obj +<< +/Type/Page +/Resources 104 0 R +/Contents[39 0 R 4 0 R 107 0 R 41 0 R] +/Parent 225 0 R +>> +endobj +109 0 obj +<< +/Type/Page +/Resources 110 0 R +/Contents[39 0 R 4 0 R 115 0 R 41 0 R] +/Parent 225 0 R +>> +endobj +225 0 obj +<< +/Type/Pages +/Count 2 +/Kids[103 0 R 109 0 R] +/Parent 224 0 R +>> +endobj +224 0 obj +<< +/Type/Pages +/Count 5 +/Kids[78 0 R 88 0 R 96 0 R 225 0 R] +/Parent 3 0 R +>> +endobj +117 0 obj +<< +/Type/Page +/Resources 118 0 R +/Contents[39 0 R 4 0 R 123 0 R 41 0 R] +/Parent 226 0 R +>> +endobj +125 0 obj +<< +/Type/Page +/Resources 126 0 R +/Contents[39 0 R 4 0 R 132 0 R 41 0 R] +/Parent 226 0 R +>> +endobj +134 0 obj +<< +/Type/Page +/Resources 135 0 R +/Contents[39 0 R 4 0 R 139 0 R 41 0 R] +/Parent 226 0 R +>> +endobj +141 0 obj +<< +/Type/Page +/Resources 142 0 R +/Contents[39 0 R 4 0 R 147 0 R 41 0 R] +/Parent 227 0 R +>> +endobj +149 0 obj +<< +/Type/Page +/Resources 150 0 R +/Contents[39 0 R 4 0 R 164 0 R 41 0 R] +/Annots 165 0 R +/Parent 227 0 R +>> +endobj +227 0 obj +<< +/Type/Pages +/Count 2 +/Kids[141 0 R 149 0 R] +/Parent 226 0 R +>> +endobj +226 0 obj +<< +/Type/Pages +/Count 5 +/Kids[117 0 R 125 0 R 134 0 R 227 0 R] +/Parent 3 0 R +>> +endobj +167 0 obj +<< +/Type/Page +/Resources 168 0 R +/Contents[39 0 R 4 0 R 175 0 R 41 0 R] +/Parent 228 0 R +>> +endobj +178 0 obj +<< +/Type/Page +/Resources 179 0 R +/Contents[39 0 R 4 0 R 186 0 R 41 0 R] +/Annots 187 0 R +/Parent 229 0 R +>> +endobj +190 0 obj +<< +/Type/Page +/Resources 191 0 R +/Contents[39 0 R 4 0 R 197 0 R 41 0 R] +/Annots 198 0 R +/Parent 229 0 R +>> +endobj +229 0 obj +<< +/Type/Pages +/Count 2 +/Kids[178 0 R 190 0 R] +/Parent 228 0 R +>> +endobj +200 0 obj +<< +/Type/Page +/Resources 201 0 R +/Contents[39 0 R 4 0 R 206 0 R 41 0 R] +/Annots 207 0 R +/Parent 228 0 R +>> +endobj +209 0 obj +<< +/Type/Page +/Resources 210 0 R +/Contents[39 0 R 4 0 R 212 0 R 41 0 R] +/Parent 230 0 R +>> +endobj +214 0 obj +<< +/Type/Page +/Resources 215 0 R +/Contents[39 0 R 4 0 R 220 0 R 41 0 R] +/Parent 230 0 R +>> +endobj +230 0 obj +<< +/Type/Pages +/Count 2 +/Kids[209 0 R 214 0 R] +/Parent 228 0 R +>> +endobj +228 0 obj +<< +/Type/Pages +/Count 6 +/Kids[167 0 R 229 0 R 200 0 R 230 0 R] +/Parent 3 0 R +>> +endobj +3 0 obj +<< +/Type/Pages +/Count 21 +/Kids[222 0 R 224 0 R 226 0 R 228 0 R] +/MediaBox[0 0 595 842] +>> +endobj +39 0 obj +<< +/Length 115 +>> +stream + q 0 w 0.8 0.5 0 RG 54 740 m 504 740 l 504 740.25 l 54 740.25 l b 36 760 m 504 760 l 504 760.25 l 36 760.25 l b Q +endstream +endobj +41 0 obj +<< +/Length 1 +>> +stream + +endstream +endobj +4 0 obj +<< +/Length 31 +>> +stream +1.0953 0 0 1.0953 72 769.82 cm +endstream +endobj +216 0 obj +<< +/Title(17. References) +/Dest[214 0 R/FitH 733.82] +/Parent 15 0 R +/Prev 211 0 R +>> +endobj +15 0 obj +<< +/First 16 0 R +/Last 216 0 R +/Count 17 +>> +endobj +231 0 obj +<< +/Limits[(Annotate)(configuration)] +/Names[(Annotate) 75 0 R(acrotex) 219 0 R(commandline) 65 0 R(configuration) 195 0 R] +>> +endobj +232 0 obj +<< +/Limits[(drivervariables)(drivervariables)] +/Names[(drivervariables) 73 0 R] +>> +endobj +233 0 obj +<< +/Limits[(expansion)(expansion)] +/Names[(expansion) 202 0 R] +>> +endobj +234 0 obj +<< +/Limits[(fontmap)(fontmap)] +/Names[(fontmap) 183 0 R] +>> +endobj +235 0 obj +<< +/Limits[(imageinclude)(jpegimage)] +/Names[(imageinclude) 156 0 R(jpegimage) 169 0 R] +>> +endobj +236 0 obj +<< +/Limits[(drivervariables)(jpegimage)] +/Kids[232 0 R 233 0 R 234 0 R 235 0 R] +>> +endobj +237 0 obj +<< +/Limits[(options)(pdfprimer)] +/Names[(options) 192 0 R(pdfimage) 180 0 R(pdfmanual) 217 0 R(pdfprimer) 218 0 R] +>> +endobj +238 0 obj +<< +/Limits[(postscript)(postscript)] +/Names[(postscript) 203 0 R] +>> +endobj +239 0 obj +<< +/Limits[(rotatedimage)(rotatedimage)] +/Names[(rotatedimage) 171 0 R] +>> +endobj +240 0 obj +<< +/Limits[(rotatedtable)(rotatedtable)] +/Names[(rotatedtable) 151 0 R] +>> +endobj +241 0 obj +<< +/Limits[(textxform)(thumbnails)] +/Names[(textxform) 153 0 R(thumbnails) 173 0 R] +>> +endobj +242 0 obj +<< +/Limits[(postscript)(thumbnails)] +/Kids[238 0 R 239 0 R 240 0 R 241 0 R] +>> +endobj +243 0 obj +<< +/Limits[(Annotate)(thumbnails)] +/Kids[231 0 R 236 0 R 237 0 R 242 0 R] +>> +endobj +244 0 obj +null +endobj +245 0 obj +<< +/Dests 243 0 R +>> +endobj +2 0 obj +<< +/Type/Catalog +/PageMode/UseOutlines +/Pages 3 0 R +/Outlines 15 0 R +/Threads 244 0 R +/Names 245 0 R +>> +endobj +xref +0 246 +0000000000 65535 f +0000142014 00000 n +0000147334 00000 n +0000145400 00000 n +0000145721 00000 n +0000142224 00000 n +0000013603 00000 n +0000000009 00000 n +0000081613 00000 n +0000081421 00000 n +0000000915 00000 n +0000001716 00000 n +0000086633 00000 n +0000086446 00000 n +0000002621 00000 n +0000145903 00000 n +0000013915 00000 n +0000094988 00000 n +0000094800 00000 n +0000003585 00000 n +0000004503 00000 n +0000111538 00000 n +0000111343 00000 n +0000006119 00000 n +0000113026 00000 n +0000112831 00000 n +0000007070 00000 n +0000008050 00000 n +0000008176 00000 n +0000126935 00000 n +0000126749 00000 n +0000009153 00000 n +0000009897 00000 n +0000010024 00000 n +0000010151 00000 n +0000010279 00000 n +0000010406 00000 n +0000010533 00000 n +0000010660 00000 n +0000145505 00000 n +0000010787 00000 n +0000145671 00000 n +0000013441 00000 n +0000013515 00000 n +0000142342 00000 n +0000017184 00000 n +0000013664 00000 n +0000013792 00000 n +0000017246 00000 n +0000014014 00000 n +0000014144 00000 n +0000017090 00000 n +0000017129 00000 n +0000142462 00000 n +0000020591 00000 n +0000023589 00000 n +0000017626 00000 n +0000017367 00000 n +0000017492 00000 n +0000023470 00000 n +0000017755 00000 n +0000020493 00000 n +0000020525 00000 n +0000142582 00000 n +0000023371 00000 n +0000020653 00000 n +0000020690 00000 n +0000020815 00000 n +0000020944 00000 n +0000023273 00000 n +0000023305 00000 n +0000142702 00000 n +0000025953 00000 n +0000023433 00000 n +0000036339 00000 n +0000023771 00000 n +0000023808 00000 n +0000025887 00000 n +0000142981 00000 n +0000028920 00000 n +0000026166 00000 n +0000026015 00000 n +0000026263 00000 n +0000026381 00000 n +0000028982 00000 n +0000026497 00000 n +0000028829 00000 n +0000028854 00000 n +0000143101 00000 n +0000031285 00000 n +0000029088 00000 n +0000029196 00000 n +0000029302 00000 n +0000031347 00000 n +0000029411 00000 n +0000031219 00000 n +0000143206 00000 n +0000033649 00000 n +0000031456 00000 n +0000031564 00000 n +0000033712 00000 n +0000031671 00000 n +0000033582 00000 n +0000143312 00000 n +0000036064 00000 n +0000033825 00000 n +0000036128 00000 n +0000033935 00000 n +0000035997 00000 n +0000143420 00000 n +0000038699 00000 n +0000036241 00000 n +0000038977 00000 n +0000036509 00000 n +0000038763 00000 n +0000036611 00000 n +0000038632 00000 n +0000143705 00000 n +0000040811 00000 n +0000038877 00000 n +0000040982 00000 n +0000039133 00000 n +0000040875 00000 n +0000039240 00000 n +0000040744 00000 n +0000143813 00000 n +0000043134 00000 n +0000043298 00000 n +0000041154 00000 n +0000041255 00000 n +0000041372 00000 n +0000043198 00000 n +0000041487 00000 n +0000043056 00000 n +0000143921 00000 n +0000045811 00000 n +0000045972 00000 n +0000043456 00000 n +0000045875 00000 n +0000043552 00000 n +0000045733 00000 n +0000144029 00000 n +0000047838 00000 n +0000048037 00000 n +0000046130 00000 n +0000046226 00000 n +0000047941 00000 n +0000046340 00000 n +0000047771 00000 n +0000144137 00000 n +0000052503 00000 n +0000047902 00000 n +0000064701 00000 n +0000048206 00000 n +0000048416 00000 n +0000048245 00000 n +0000048377 00000 n +0000064592 00000 n +0000048529 00000 n +0000048657 00000 n +0000140748 00000 n +0000140552 00000 n +0000048786 00000 n +0000049797 00000 n +0000049925 00000 n +0000052384 00000 n +0000052435 00000 n +0000144441 00000 n +0000065889 00000 n +0000052567 00000 n +0000052606 00000 n +0000058560 00000 n +0000058599 00000 n +0000064553 00000 n +0000070241 00000 n +0000064863 00000 n +0000065772 00000 n +0000065840 00000 n +0000144549 00000 n +0000072064 00000 n +0000065970 00000 n +0000066009 00000 n +0000070122 00000 n +0000070202 00000 n +0000072311 00000 n +0000070357 00000 n +0000070484 00000 n +0000071945 00000 n +0000071972 00000 n +0000072028 00000 n +0000144673 00000 n +0000075076 00000 n +0000072145 00000 n +0000072184 00000 n +0000072467 00000 n +0000072429 00000 n +0000075347 00000 n +0000072591 00000 n +0000074982 00000 n +0000075009 00000 n +0000144880 00000 n +0000078075 00000 n +0000075140 00000 n +0000075179 00000 n +0000075218 00000 n +0000078139 00000 n +0000075489 00000 n +0000077981 00000 n +0000078008 00000 n +0000145004 00000 n +0000080199 00000 n +0000080263 00000 n +0000078281 00000 n +0000080132 00000 n +0000145112 00000 n +0000081357 00000 n +0000145801 00000 n +0000080390 00000 n +0000080429 00000 n +0000080468 00000 n +0000080507 00000 n +0000081290 00000 n +0000142888 00000 n +0000142807 00000 n +0000143611 00000 n +0000143528 00000 n +0000144344 00000 n +0000144261 00000 n +0000145303 00000 n +0000144797 00000 n +0000145220 00000 n +0000145963 00000 n +0000146107 00000 n +0000146207 00000 n +0000146290 00000 n +0000146367 00000 n +0000146475 00000 n +0000146575 00000 n +0000146710 00000 n +0000146796 00000 n +0000146888 00000 n +0000146980 00000 n +0000147084 00000 n +0000147180 00000 n +0000147274 00000 n +0000147296 00000 n +trailer +<< +/Size 246 +/Root 2 0 R +/Info 1 0 R +>> +startxref +147453 +%%EOF diff --git a/Master/texmf-dist/doc/dvipdfm/dvipdfm.tex b/Master/texmf-dist/doc/dvipdfm/dvipdfm.tex new file mode 100644 index 00000000000..8ebfc3011a7 --- /dev/null +++ b/Master/texmf-dist/doc/dvipdfm/dvipdfm.tex @@ -0,0 +1,1304 @@ +% $Header$ +% \special{ pdf: pagesize width 8.5truein height 11.0truein} +\special{ pdf: docview <</PageMode /UseOutlines>>}% +\catcode`\ =11\def\space{ }\catcode`\ =10 +% Page layout +\tolerance=2000 +\magnification\magstephalf +\advance\hoffset by 0.5truein +\advance\voffset by 0.5truein +\advance\hsize by -1.0truein +\advance\vsize by -1.0truein +\def\makefootline{\baselineskip=40pt\line{\the\footline}} +% +% Some helpful symbols +\def\rtm{{\font\r=cmss10 at 4pt +\font\c=cmsy5 +\setbox0\hbox{\c\char13}\skip0\wd0\box0\setbox0\hbox{\r R}\advance\skip0 by +\wd0\kern-0.5\skip0\box0}} +\def\tm{{\font\r=cmss10 at 4pt \hbox{\r TM}}}% +% +% Verbatim mode borrowed from manmac macros +% +\outer\def\begindisplay{\obeylines\startdisplay} +{\obeylines\gdef\startdisplay#1 + {\catcode`\^^M=5$$#1\halign\bgroup\indent##\hfil&&\qquad##\hfil\cr}} +\outer\def\enddisplay{\crcr\egroup$$} +\chardef\other=12 +\def\ttverbatim{\begingroup \catcode`\\=\other \catcode`\{=\other + \catcode`\}=\other \catcode`\$=\other \catcode `\&=\other + \catcode`\#=\other \catcode`\%=\other \catcode `\~=\other + \catcode`\_=\other \catcode`\^=\other + \obeyspaces \obeylines \tt} +{\obeyspaces\gdef {\ }} +\outer\def\begintt{$$\let\par=\endgraf\ttverbatim \parskip=0pt + \catcode`\|=0 \rightskip=-5pc \ttfinish} +{\catcode`\|=0 |catcode`|\=\other + |obeylines % end of line is now active + |gdef|ttfinish#1^^M#2\endtt{#1|vbox{#2}|endgroup$$}} +\catcode`\|=\active +{\obeylines\gdef|{\ttverbatim\spaceskip=\ttglue\let^^M=\ \let|=\endgroup}} +\newskip\ttglue +\ttglue=0.5em plus 0.25em minus 0.15em +% +% +% Some color definitions +% +\def\begincolor#1{\special{pdf:bc #1}}% +\def\endcolor{\special{pdf:ec}}% +\def\colored#1#2{% + \begincolor{#1}#2\endcolor} +\def\red{[0.8 0.5 0]}% +\def\green{[0 1 0]}% +\def\blue{[0 0.4 0.8]}% +\def\yellow{[0.8 0.9 0.1]}% +\def\linkcolor{[0.5 0.0 0.7]}% +% +% Small help for images +\def\reserve#1#2#3{\setbox0\hbox{}\wd0=#1 + \ht0=#2\special{#3}\box0} +\def\nreserve#1#2#3{\setbox0\hbox{}\wd0=#1 + \ht0=#2{#3}\box0} +% +% Some font definitions +% +\font\maintitlefont=cmti12 at 20.74pt +\font\headingfont=cmss12 at 14.4pt +\font\subheadingfont=cmss12 at 12pt +% +% +% Miscellaneous token lists +% +\newtoks\title\newtoks\author\newtoks\version +\newtoks\date +% +% Bibliography counters +\newcount\biblioitems\biblioitems=0 +\def\bibitem{\medskip\advance\biblioitems by 1\item{[\the\biblioitems]}} +% +% Counters for section levels +% +\newcount\sectioncount\newcount\ssectioncount\newcount\sssectioncount +\sectioncount0\ssectioncount0\sssectioncount0 +% +\newskip\indentlevel\indentlevel=\parindent +\newskip\secskip\secskip=24pt plus 1pt minus 2pt +\newskip\subsecskip\subsecskip=16pt plus 1pt minus 2pt +\def\beginlist{\par\nobreak\advance\leftskip by \indentlevel\advance\rightskip by +\indentlevel\medskip\nobreak} +\def\endlist{\par\advance\leftskip by -\indentlevel\advance\rightskip by +-\indentlevel\medskip} +% +% +\def\settitle{% + {\maintitlefont\colored{\blue}{\the\title}}% + \special {pdf: docinfo << /Title (\expandafter\the\title) >>}} +% +\def\setauthor{% + {\headingfont\colored{\blue}{\the\author}}% + \special {pdf: docinfo << /Author (\the\author) >>}}% +% +\def\setversion{% + {\subheadingfont{\the\version}}% +}% +\def\setdate{% + {\subheadingfont{\the\date}}% +}% +\def\setlink#1{\colored{\linkcolor}{#1}}% +% +\def\setheading#1{% + {\headingfont\colored{\blue}{#1}}\raise\baselineskip + \hbox{\special{pdf: outline 1 << /Title (#1) /Dest [ +@thispage /FitH @ypos ] >> }}}% +% +\def\setsubheading#1{% + {\subheadingfont\colored{\blue}{#1}}\raise\baselineskip + \hbox{\special{pdf: outline 2 << /Title (#1) /Dest [ +@thispage /FitH @ypos ] >> }}}% +% +% \def\link#1#2{\setbox0\hbox{\setlink{#1}}% +% \leavevmode\special{pdf: ann width \the\wd0\space height \the\ht0\space depth \the\dp0 +% << /Type /Annot /Subtype /Link /Border [ 0 0 0 ] /A << /S /GoTo +% /D (#2) >> >>}\box0\relax}% +\def\link#1#2{% + \leavevmode\special{pdf: bann + << /Type /Annot /Subtype /Link /Border [ 0 0 0 ] /A << /S /GoTo /D (#2) +>> +>>}\setlink{#1}\special{pdf: eann}\relax} +% +\def\dest#1{\hbox{\raise14pt\hbox{\special{pdf:dest (#1) [ @thispage /FitH +@ypos ]}}}}% +% +\def\maketitle{\noindent\settitle\hfill\setauthor\par + \hrule height 1.0pt\medskip + \noindent\setversion\hfill\setdate\vskip0.3in}% +% +\def\section#1{\advance\sectioncount by 1\ssectioncount0 +\vskip-\lastskip\vskip\secskip\goodbreak +\noindent\setheading{\the\sectioncount. #1}\medskip\nobreak}% +\def\subsection#1{\vskip-\lastskip\advance\ssectioncount by 1% +\vskip\subsecskip\noindent +\setsubheading{\the\sectioncount.\the\ssectioncount\ + #1}\par\nobreak\smallskip}% +% +\def\display#1{\medskip\line{\quad #1\hfil}\medskip} +\def\example{\medskip\noindent{\it Example:\quad}\nobreak} +\def\note{\medskip\noindent{\it Note:\quad\nobreak}} +\def\syntax{\medskip\noindent{\it Syntax:\quad}\nobreak} +\def\description{\medskip\noindent{\it Description:\quad}\nobreak} +% +\def\newpage{\vfill\eject} +% +\def\dvipdfm{{\tt dvipdfm}}% +% +\title{Dvipdfm User's Manual} +\author{Mark A. Wicks} +\version{Version 0.12.4b} +\date{September 19, 1999} +\maketitle +\section{Introduction} +This package is a DVI (\TeX) to PDF conversion utility, +having the following features: + +\beginlist +\item{$\bullet$} {\it Support for outline entries (also called bookmarks), named destinations, +and \link{annotations}{Annotate} (including hyperlinks, forms and widgets).} Nearly +every Acrobat Distiller pdfmark is approximated. + +\item{$\bullet$} {\it Support for ``standard'' DVI specials such +as Hyper\TeX\ (HTML), TPIC, color specials, |PSfile|, and other PostScript specials.} + +\item{$\bullet$} {\it Native support for inclusion of +\link{MetaPost}{postscript} output and +inclusion of arbitrary \link{PostScript}{postscript} files with help from an external program.} + +\item{$\bullet$} {\it Support for thumbnails with a little help from GhostScript to +generate the thumbnails.} + +\item{$\bullet$} {\it Support for arbitrary, nested linear transformations +of typeset material.} Any material on the page, including +\TeX\ text, may be \link{scaled and rotated}{textxform}. + +\item{$\bullet$} {\it Ability to include the first page of a \link{PDF file}{pdfimage} as +an encapsulated object along with its embedded resources such as fonts.} +Included PDF images may be cropped by supplying a bounding box. +Note: Currently, this doesn't work if the contents stream +has multiple segments. + +\item{$\bullet$} {\it Ability to include \link{JPEG}{jpegimage} and +PNG bitmapped images as encapsulated objects.} + +\item{$\bullet$} {\it An internal color stack.} A color stack allows you to change the current color, pushing the +current color onto a stack. At any time, the original color +can be popped from the stack. This is useful, for example, in +headlines, that may have a different color from the current text. +The headline macro can restore the current color without knowing +what it is. + +\item{$\bullet$} {\it Support for partial font embedding and Flate compression +to reduce file size} + +\item{$\bullet$} {\it Support for font reencoding to work around encodings +that aren't fully supported by the Acrobat suite of products.} + +\item{$\bullet$} {\it Balanced page and destination trees.} Balancing +these trees improves reader access speed +on very large documents. + +\endlist + +The electronic version of the document exercises +some of the hypertext features and serves as +a sample input file for |dvipdfm|. +It assumes the reader has some familiarity with the basic features +of the Portable Document Format. The PDF specification +is distributed by Adobe Systems\link{[1]}{pdfmanual}. +An excellent source for information about PDF documents +in general is \link{[2]}{pdfprimer}. Information about +using \TeX\ to construct PDF documents (mainly using Distiller) is the +AcroTeX home page\link{[3]}{acrotex}. + +Currently, the widely accepted method to generate PDF file from \TeX\ +is to use Adobe's Acrobat Distiller on a PostScript +file produced by {\tt dvips}. +The hyperlink features are accessed by using \TeX\ |special| primitives +to embed pdfmarks in the PostScript produced by |dvips|. +H\`an Th\'e Th\`an's PDF\TeX\ project is an alternative method +of generating PDF from \TeX\ source. +Although quite good and fairly mature, the PDF\TeX\ project +modified \TeX\ itself to add primitives that support the PDF features. +I prefer to work with \TeX\ unmodified, as released by Donald Knuth +(call me a purist). +There is an existing DVI to PDF driver called +|dvipdf| written by Sergey Lesenko. At present, it's not widely +available, so I haven't used it. I wrote |dvipdfm| +mainly as an exercise to get at the features +of PDF I was trying to use. This |dvipdfm| project demonstrates that many features +of PDF can be accessed by using a DVI driver. +The PDF features are activated in the driver via +\TeX\ |special| primitives. + +Even though Distiller is the best method of generating PDF (and +probably will remain so for some time) I have several reasons for +seeking alternatives to Distiller. +First, Distiller isn't available for my principle operating +system---Linux. + +My second objection is philosophical. +\TeX\ is a programming language. +A DVI file is a page description consisting of very +simple program instructions that have no branching or +decision instructions. +Similarly PostScript is a complete programming language, +while PDF is a page description language consisting +of simple program instructions +without any branching or decision capabilities. +\TeX\ is like PostScript (without the graphics) +while DVI is like PDF (without the graphics or the hyperlinks). +Creating PDF from DVI using Distiller requires converting a page description to a program, +and converting that program back to a page description. +To continue this analogy, +Pdfmarks are PostScript ``escapes'' and are meant for the Distiller. +\TeX\ |\special| primitives are \TeX\ ``escapes'' and are meant for the DVI driver. +It seems natural to go directly from DVI to PDF, where \TeX\ replaces +PostScript, the DVI driver replaces Distiller, +and \TeX\ |\special| primitives replace the pdfmarks. + +Unfortunately, until graphics software +begins to produce PDF content streams or encapsulated +PDF objects, PostScript will remain the easiest +way to include graphics in \TeX\ documents. +I would hope that in the future, graphics programs +will begin to produce PDF content streams or PDF objects that +may be included using a DVI to PDF translator. Either +of these may be easily embedded using \dvipdfm\ or a similar driver. + +\section{Command Line Options} +\link{Table~1}{commandline} lists the options +that are available on the command line. +\par\noindent +Note: Several flags may be specified at once: +\example +\begintt +dvipdfm -ecz 9 test.dvi +\endtt + +\topinsert +{\dest{commandline}} +\centerline{\colored{\blue}{\subheadingfont Table~1---Command line options +recognized by |dvipdfm|}} +\bigskip\nobreak +\centerline{\vbox{\halign{{\tt #}\hskip +1em\strut&\vtop{\leftskip0pt\rightskip0pt\hsize=3.5in\noindent #}\cr +\omit\hfil\it Option\hfil&\omit\hfil \it Description \hfil\cr +\noalign{\smallskip\begincolor\red\hrule\endcolor\smallskip} +-c&{\it Disable color specials} Specifying this option +forces all color commands to be ignored. This is useful for printing a color document +on a black and white printer.\cr +\noalign{\smallskip} +-e&{\it Disable partial font embedding.} This may be useful +for forms which need complete fonts, or if you run accross a PFB +file that \dvipdfm\ cannot correctly parse.\cr +\noalign{\smallskip} +-f&{\it Set font map file name}. See +the \link{Font Mapping}{fontmap} section for additional information.\cr +\noalign{\smallskip} +-m {\it number}&{\it Specify an additional magnification for +the document}.\cr +\noalign{\smallskip} +-o {\it filename}&{\it Set the output PDF file name}.\cr +\noalign{\smallskip} +-p {\it papersize}&{\it Specify the output papersize.} +Valid paper sizes are |letter|, |legal|, |ledger|, |tabloid|, +|a4|, or |a3|. The default is |letter|. Arbitrary paper +sizes can be specified via \TeX\ special commands, +which is the recommended method.\cr +\noalign{\smallskip} +-l&{\it Landscape the document.} This is only +meaningful for paper sizes specified on the command line.\cr +\noalign{\smallskip} +-s {\it page\_ranges}&{\it Select a subset of pages from the DVI file.} +The {\it page\_ranges} specifier is a set of comma-separated page +ranges---e.g., |dvipdfm -s 10-12,10-20|. If the first +page in a range is empty (e.g., |dvipdfm -s -10|), it represents +the beginning of the document. If +the last page in a range is empty (e.g., |dvipdfm -s 10-|), it selects the end of the document.\cr +\noalign{\smallskip} +-t&{\it Embed thumbnail images.} The thumbnails must be generated by a +separate program. Details are discussed \link{later}{thumbnails} in this document\cr +\noalign{\smallskip} +-d&{\it Delete thumbnail images after embedding.}\cr +\noalign{\smallskip} +-x {\it number}&{\it Specify the horizontal offset +for the document.} The default is 1.0in.\cr +\noalign{\smallskip} +-y {\it number}&{\it Specify the vertical offset +for the document.} The default is 1.0in.\cr +\noalign{\smallskip} +-z {\it number}&{\it Specify the compression level.} +Valid compression levels range from 0 to 9, with 0 indicating +no compression. A compression level of 9 is the default.\cr +\noalign{\smallskip} +-v&{\it Be verbose.} Among other things, dvipdfm +will display complete file names as various files are opened.\cr +\noalign{\smallskip} +-vv&{\it Be more verbose.}\cr}}} +\endinsert + +\section{General Concepts and Syntax for TeX Specials} +Each \TeX\ |\special| +represents a separate command to the \dvipdfm\ +driver. Each |special| must begin with ``|pdf:|'' +to identify that ||special|| as a command for the \dvipdfm\ driver. +A |\special| beginning with any other characters is ignored +by the driver. Leading spaces are ignored. The characters ``|pdf:|'' +are immediately followed by a \dvipdfm\ command. These commands +are documented in \hbox{Sections~3--6}. + +\subsection{PDF Object Syntax and Variable Expansion} +With one exception, the syntax used for PDF objects +within each |\special| specials follows +the PDF specification. +The one exception is variable expansion. +In the syntax specifications that follow, {\it PDF\_Object} +means that an arbitary PDF object is expected. Similarly +{\it PDF\_Array} indicates that a PDF array is expected, {\it PDF\_Dict} +inciates that a PDF dictionary is expected, etc. +See the \link{reference manual}{pdfmanual}\ +for a complete list of PDF object types. + +The single extension implemented in this driver +allows a symbol name of the +form |@|{\it name} whereever any PDF object is expected. +The {\it name} may contain any characters allowed +in a PDF name. +A user-defined symbol beginning with |@| expands to an indirect +reference to the user-defined PDF object. This feature replaces +the |{|{\it name}|}| syntax used with pdfmarks. +In addition to the user-defined names, some names +are defined by the driver. +The driver defined variables are for +referencing objects such as the current page, future pages, +or the current location on the current page. +The driver defined variables appear in \link{Table~2}{drivervariables}. +\topinsert +{\dest{drivervariables}} +\centerline{\colored{\blue}{\subheadingfont Table~2---List of driver +defined variables}} +\bigskip\nobreak +\centerline{\vbox{\halign{{\tt #}\hskip +1em&\vtop{\leftskip0pt\rightskip0pt\hsize=3.0in\noindent #}\cr +\omit\hfil\it Variable\hfil&\omit\hfil \it Description \hfil\cr +\noalign{\smallskip\begincolor\red\hrule\endcolor\smallskip} +@catalog&A reference to the document's catalog.\cr +\noalign{\smallskip} +@names&A reference to the document's /Names dictionary.\cr +\noalign{\smallskip} +@pages&A reference to the root of the document's /Pages tree.\cr +\noalign{\smallskip} +@resources&A reference to the current page resource dictionary.\cr +\noalign{\smallskip} +@thispage&A reference to the current page.\cr +\noalign{\smallskip} +@page{\it n}&A reference to page {\it n}.\cr +\noalign{\smallskip} +@nextpage&A reference to the page following |@thispage|.\cr +\noalign{\smallskip} +@prevpage&A reference to the page preceding |@thispage|.\cr +\noalign{\smallskip} +@ypos&A {\it number} representing the current vertical position in units of PDF points.\cr +\noalign{\smallskip} +@xpos&A {\it number} representing the current horizontal position in units of PDF points.\cr +}}} +\endinsert + +In the syntax specifications that follow, several +standard conventions are followed. Terminal +characters that appear in the command +are typeset in the |\tt| font, e.g., |object|. +Nonterminal symbols are typeset in italics. +Optional parameters are surrounded by brackets, e.g., +[{\it optional\_argument}]. An item followed +by~``{*}'' represents an item that may appear +zero or more times. An item followed by~``{+}'' +represents a required item that may appear multiple times. + +\subsection{Dimensions and transformations} +Interaction with the |dvipdfm| driver consists +of short commands with a few arguments delimited by white space. +Typically the arguments are PDF objects. +Two exceptions are dimension specifications and transformations. + +In the \TeX\ style, a dimension specification consists of one of the keywords +|width|, |height|, or |depth| followed by a dimension +consisting of a numerical value, followed by a unit for the dimension. The +unit will typically be |pt| (which represents a \TeX\ point, not a +PDf point) but |mm|, |cm| and |in| are also allowed. +If the document is magnified, the ``true'' dimensions |truept|, +|truemm|, |truecm|, and |truein| may be used. The notation +{\it dimension\/} in a syntax description means a dimension is expected. + +A transformation consists of one of the keywords |scale|, |xscale|, +|yscale|, or |rotate| followed by a numerical value. In the +case of |rotate| the value is the rotation angle in degrees. +The notation +{\it transformation} means a transformation is expected. +In the case of included images originating from +PDF/PostScript files, a clipping or bounding box may be specified +as part of the ``transformation.'' The bounding +box specification consists of the keyword |bbox| +followed by four numerical values, which are +the standard PostScript |llx|, |lly|, |urx|, and |ury| +coordinates of the bounding box. + +\section{Document Construction Commands} +All commands are executed via \TeX\ |\special| primitives +prefixed with the characters ``|pdf:|''. +\example +\begintt +\special{ pdf: out 1 << /Title (Introduction) + /Dest [ 1 0 R /FitH 234 ] >> +\endtt + +\dest{Annotate} +\subsection{Annotate} +\hbox to 0pt{\hskip-1.0in\special{pdf: ann width 3.0in height 36pt << /Type /Annot /Subtype /Text +/Contents (This is a /Text Annotation that looks like a sticky note.) >>}\hss} +\syntax +{\tt annotate} [{\tt @}{\it name}] {\it dimension}+ {\it PDF\_dictionary} +\description +The |annotate| (|annot| or |ann|) command defines an annotation. +Annotations are typically used for +notes, hyperlinks, forms, or widgets. +The parameter {\it name} is an optional alphanumeric identifier +and {\it PDF\_dictionary} is a valid PDF dictionary after variable expansion. +If {\tt @}{\it name} is specified, it may be used in +other PDF objects to refer to this annotation. +One or more {\it dimension} parameters are required +and each consists of the keyword +{\tt height}, {\tt width}, or {\tt depth} followed +by an appropriate length, specified as per \TeX\null. +The |width| must be nonzero and either the |height| or |depth| +must be nonzero. +Each length is a number followed by a unit, such as {\tt pt}, +{\tt in}, or {\tt cm}. Since these values +would typically be entered by \TeX, a {\tt pt} +is a \TeX\ point, not a PDF point. + +\example The annotation in this subsection +was typeset with +\begintt +\special{pdf: ann width 3.0in height 36pt + << /Type /Annot /Subtype /Text + /Contents (This is a /Text Annotation + that looks like a sticky note.) >>} +\endtt + +\subsection{Begin Annotation} +\syntax +{\tt beginann} {\it PDF\_dictionary} +\description +The |beginann| (|bann| or |bannot|) command begins a breakable annotation. +Dvipdfm tries to determine the boundaries of the annotation automatically. +Such an annotation may be broken over several lines (or even several pages). +Unlike |annot|, the annotation may be not be referred to by name later, +since there may be more than once instances of the annotation. +The |beginann| command needs not dimension because |dvipdfm| +computes the correct bounding box on the fly. + +Note: Link breaking is easily fooled at page breaks. If you have problems +with the header or footer wanting to become part of the link, you can +insert a |nolink| command at the beginning of the footer and a |link| +command at the end of the footer. + +\subsection{End Annotation} +\syntax +{\tt endann} +\description +The |endann| (|eann| or |eannot|) terminates a breakable annotation. + +\subsection{Link} +{\tt link} +\description +The |link| command instructs the link breaking algorithm to resume its +operation after a |nolink| command. + +\subsection{Nolink} +{\tt nolink} +\description +The |nolink| command instructs the link breaking algorithm to suspend +it operation. This is only required if there is material inserted +on the page in the {\it middle} of a link. For example, when a link +is broken at the end of a page, the header and footer are inserted +in the middle of the link, but are not part of the link. Material +that is inserted between a |nolink| and |link| will not become +part of the link. The |nolink| and |link| escapes are not necessary +with the standard LaTeX header and footer lines, but may become necessary +if these are changed. + +\subsection{Dest} +\syntax +{\tt dest} {\it PDF\_String} {\it PDF\_Dest} +\description +The |dest| command defines a named destination. +The {\it PDF\_String} is a PDF string naming +the destination. This string may be used in the destination +fields of annotations and outline entries to refer to +this destination. {\it PDF\_Dest} is a PDF +destination object (typically an array). +\example +\begintt +\special{pdf: dest (listofreferences) [ @thispage /FitH @ypos ]} +\endtt + +\subsection{Docinfo} +\syntax +{\tt docinfo} {\it PDF\_dictionary} +\description +The |docinfo| command adds the keys in the specified dictionary to the +document's |/Info| dictionary. All keys are optional, but may include +the keys |/Author|, |/Title|, |/Keywords|, |/Subject|, +and |/Creator|. +\example +\begintt +\special{pdf: docinfo << /Author (Mark A. Wicks) + /Title (This Document) >>} +\endtt + +\subsection{Docview} +\syntax +{\tt docview} {\it PDF\_dictionary} +\description +The |docview| command adds the keys in the specified dictionary to the +document's |/Catalog| dictionary. All keys are optional, but may include +the keys |/PageMode|, +|/URI|, |/OpenAction|, |/AA| +and |/ViewerPreferences|. See the PDF Reference Manual +for documentation of these keys and additional keys. +\example +\begintt +\special{pdf: docview << /PageMode /UseThumbs >> } +\endtt + + +\subsection{Object} +\syntax +{\tt object} [@{\it name}] {\it PDF\_Object} +\description +The |object| (also |obj|) command creates a +PDF object. The parameter {\it PDF\_Object} is any valid PDF object. The +parameter {\it name} may be used to provide an indirect reference +to this object within other +objects. It will be expanded anywhere within +a {\tt special} where a PDF object is +expected. Typically {\it object} is an array +or dictionary. It may be an empty array or +dictionary that can be constructed dynamically via +the {\tt put} command. +\example +\begintt +\special{pdf: object @mydict << /Firstpage @thispage >>} +\endtt + +\subsection{Out} +\syntax +{\tt out} {\it number} {\it PDF\_dictionary} + +\description +The |out| (also |outline|) command adds an outline (also called a ``bookmark'') entry +to the document. +The parameter {\it level\/} is an integer representing the +level of the outline entry (beginning with 1) and +{\it PDF\_dictionary\/} must contain +the two keys {\tt /Title} and either {\tt /Dest} or {\tt /A}. +It may also contain the {\tt /AA} key. These keys are documented +in the PDF Reference Manual. +\example +\begintt +out 1 << /Title (Section 1) /Dest [ @thispage /FitH @ypos ] >> +\endtt +which may be followed by +\begintt +out 2 << /Title (Section 1.1) /Dest [ @thispage /FitH @ypos ] >> +\endtt +\note +You may not skip levels. A level~2 outline entry +must follow a level~1 outline +entry. A level~3 outline entry must follow a level~2 outline +and cannot immediately follow a level 1 outline entry. + +\subsection{Pagesize} +\syntax +{\tt pagesize} {\it dimension}+ +\description +The |pagesize| command specifies the document's physical +paper size. The |pagesize| command must be specified on +the first page and must precede the first annotation +or background color specification on the page. +In other words, it should occur as close to the +beginning of the document as possible. +\example +\begintt +pagesize width 11.0truein height 8.5truein +\endtt + +\subsection{Put} +\syntax +\beginlist +{\tt put} @{\it name} {\it PDF\_Object}+ +\endlist +or +\beginlist +{\tt put} @{\it name} {\it PDF\_Dictionary} +\endlist +\description +The |put| command modifies an existing PDF object created with |obj|, +or one of the following internally defined objects: |@catalog|, +|@names|, |@pages|, |@thispage|, or |@resources|. +The first form is used when @{\it name} is an array. The second +form is used when @{\tt name} is a dictionary. More than +one object may be added to an array at once. +All keys in {\it PDF\_Dictionary} +are added to the dictionary represented by @{\it name}. +\example +\begintt +\special{pdf: put @mydict << /Nextpage @thispage >>} +\endtt + +\subsection{Thread} +\syntax +{\tt thread} {\tt @}{\it name} {\it dimension}+ [ {\it PDF\_dictionary} ] + +\description +The |thread| (or |art|) command adds a bead to an article. +An article is a collection of boxed regions in the document that should be +read consecutively. +Each bead using the same {\it name} belongs to the same article. +The {\it name} parameter is required. The {\it dimension} parameter +defined the rectangular area belonging to the bead in +the same manner as for |annot|. +The optional PDF dictionary +should supplied on one of the beads. Its keys are +similar to the |/Info| dictionary accessed via the |docinfo| command +and would typically include the |/Title| and |/Author| keys. +Keys in the dictionary may be overwritten by subsequent {\tt thread} commands. +\example +\begintt +\special {pdf: thread @somearticle << /Title (Some title) + /Author (Me) >>} +\endtt + +\subsection{Close} +\syntax +{\tt close} @{\it name} +\description +The |close| writes the named PDF object created with |obj| to the PDF file. +No further |put| commands may be executed for this object. +The object may continue to be referenced using @{\it name} +indefinitely. If the object is never closed, it will +be closed when |dvipdfm| finishes processing the document. + +\section{Form XObjects} +The PDF specification allows an object to be stored once +and displayed at multiple locations throughout the document. +The following commands give access to this facility. + +\subsection{Beginxobj} +\syntax +{\tt beginxobj} @{\it name} {\it dimension}+ +\description +The |beginxobj| (or |bxobj|) command begins the definition of +a Form XObject. All material typeset between the +|beginxobj| and |endxobj| commands will be captured +into the XObject. The material can be displayed later +at an arbitrary location with the |usexobj| command. +The {\it name} may be used to refer to the object later, +either via the |usexobj| command or as an indirect +reference to the XObject if {\it name} is +used within the context of a {\it PDF\_Object}.. +The required {\it dimension} identifies the extent +(i.e., bounding box) of the area to be captured. +It is specified in the same way as for |annot|. + +The material will not display during the object definition. +In other words, if you are typsetting with \TeX\ you +should place the XObject in a box of dimension 0 so +you don't leave a white space hole where the object was +defined. +\example +\begintt +bxobj @myform width 2.0in height 24pt +\endtt + +\subsection{Endxobj} +\syntax +{\tt endxobj} +\description +The |endxobj| (or |exobj|) command ends the previous +|beginxobj| definition. Note that XObject definitions +may not be nested. XObjects can be {\it used} within +other XObjects, however. +\example +\begintt +exobj +\endtt + +\subsection{Usexobj} +\syntax +{\tt usexobj} @{\it name} +\description +The |usexobj| (or |uxobj|) command displays the +form XObject previously defined and +associated with {\it name}. +\example +\begintt +uxobj @myform +\endtt + +\section{Text Transformation Commands} +The commands in this section deal with transformation +of arbitrary material, which may include +material typeset by \TeX. These +may also be used on included graphics images +if the commands in Section~8 won't do the job. + +\subsection{BeginTransform} +\syntax +{\tt begintransform} {\it transformation}+ + +\description +The |begintransform| (|btrans| or |bt|) applies +the specified transformation to all subsequent text. +The scaling is applied first, followed by the rotation. +The reference point of a box following +the |\special| remains fixed. Such transformations +may be nested to perform rotations within rotated text, for exmaple. + +\example +\begintt +\special{pdf: bt rotate 90 xscale 2.0 } +\endtt + +\subsection{BeginTransform} +\syntax +{\tt endtransform} +\description +The |endtransform| (|etrans| or |et|) concludes +the action of the immediately preceding |begintransform| +command. All transformations must be closed +on the same page. The driver will close +any pending unclosed transformations at the +end of the page and issue a warning message. +All material to be transformed +should probably be enclosed in a single box +to prevent any break. +\example +\begintt +\special{pdf: et} +\endtt + + +\section{Color Commands} +The commands in this section deal with manipulation of the color +stack. + +\subsection{Setcolor} +\syntax +{\tt setcolor} {\it PDF\_Number$\vert$\it PDF\_Array} +\description +The |setcolor| (|scolor| or |sc|) command uses its +argument to set the default color for future marking operators. +The current color is replaced and may be retrieved +only by a subsequent |setcolor| command. The argument +may be a single number, which is interpreted as a grayscale +value; a three element array, which is interpreted as an RGB +color space coordinate; or a four element array, which +is interpreted as a CMYK color space coordinate. +\example +\begintt +\special{ pdf: sc [ 1 0 0 ] } +\endtt + +\subsection{Begincolor} +\syntax +{\tt begincolor} {\it PDF\_Number$\vert$\it PDF\_Array} +\description +The |begincolor| (|bcolor| or |bc|) command uses its +argument to set the default color for future marking operators. +The current color is pushed on the color stack. The argument +may be a single number, which is interpreted as a grayscale +value; a three element array, which is interpreted as an RGB +color space coordinate; or a four element array, which +is interpreted as a CMYK color space coordinate. +\example +\begintt +\special{ pdf: bc [ 1 0 0 ] } +\endtt + +\subsection{Endcolor} +\syntax +{\tt endcolor} +\description +The |endcolor| (|ecolor| or |ec|) +changes the default color to +match the color on the top +of the stack. It removes +the color from the stack. +\example +\begintt +\special{ pdf: ec } +\endtt + +\subsection{Bgcolor} +\syntax +{\tt bgcolor} {\it PDF\_Number$\vert$\it PDF\_Array} +\description +The |bgcolor| (|bbc| or |bgc|) command uses the value +of its argument to set the default color for the page +background. The interpretation +fo the argument is the same as for the |begincolor| command. +The stack is not involved here. There is no way +to go back to the previous background color. +\example +\begintt +\special{ pdf: bc [ 1 0 0 ] } +\endtt + +\section{Image Commands} +The commands in this section deal with embedding +graphics into your PDF document. The present +driver supports PDF, PNG, and JPEG graphics inclusion. + +\subsection{Epdf} +\syntax +{\tt epdf} [|@|{\it name}] [{\it dimension}$\vert${\it transformation}]* {\it PDF\_String} + +\description +The {\tt epdf} command ``encapsulates'' the first page of a PDF +file named by {\it PDF\_String} +into a PDF XObject. The resulting XObject is drawn +with the lower left corner at the current location of the page. +The optional @{\it name} parameter may be used +to reference this object within other objects. If a +{\it dimension} is supplied, the object will be scaled to fit +that dimension. A {\it transformation} consists of one of the keywords +|scale|, |xscale|, |yscale|, or |rotate| +followed by a number representing +the scaling factor or rotation angle in degrees. Both {\it transformation} and {\it dimension} +parameters can be supplied as long as they are not logically +inconsistent. + +Note: The object is stored as an XObject and can be redisplayed later by using the +|usexobj| function and specifying {\it name}. + +\example +\begintt +\special{pdf:epdf yscale 0.50 width 4.0in + rotate 45 (circuit.pdf)} +\endtt + +\subsection{Image} +\syntax +{\tt image} [@{\it name}] [{\it dimension} $\vert$ {\it transformation}]* {\it PDF\_String} + +\description +The {\tt image} command ``encapsulates'' an image +taken from the file named by {\it PDF\_String}. +This command functions just like |epdf|. Value +image types may be PDF, JPEG, or PNG images. +This special will eventually replace the |epdf| special. + +Note: The object is stored as an XObject and can be redisplayed later by using the +|usexobj| function and specifying {\it name}. + +\section{Raw Page Marking Commands} +The commands in this section deal with embedding +raw PDF graphics operators into your PDF document. + +\subsection{Bop} +\syntax +{\tt bop} {\it stream} +\description +The |bop| command specifies a marking +stream to be generated at the top of each page. +The parameter {\it stream} is any sequence +of marking operators and is added to the page's content stream. +The stream is applied {\it to all pages} regardless +of where it appears in the document. +\example The two horizontal lines appearing +at the top of each page in this document +were set with +\begintt +\special {pdf: bop q 0 w 0.8 0.5 0 RG + 54 740 m 504 740 l 504 740.25 l 54 740.25 l b + 36 760 m 504 760 l 504 760.25 l 36 760.25 l b Q } +\endtt +\special {pdf: bop q 0 w 0.8 0.5 0 RG + 54 740 m 504 740 l 504 740.25 l 54 740.25 l b + 36 760 m 504 760 l 504 760.25 l 36 760.25 l b Q } + +\subsection{Content} +\syntax +{\tt content} {\it stream} +\description +The |content| command specifies a marking +stream to be added to the current page at +the current location. While it +is possible to change the color +state, etc., with this command, it is +not advised. Use the color management +commands to change colors. + + +\subsection{Eop} +\syntax +\beginlist +{\tt eop} {\it stream} +\endlist +\description +The {\tt eop} specifies a marking stream to be generated at the end +of each page. The parameter {\it stream} is any sequence +of marking operators and is added to the page's content stream. +The stream is applied {\it to all pages} regardless +of where it appears in the document. + +\section{Graphics Examples} + +The examples in this section illustrate some of the transformation +and image inclusion capabilities of \dvipdfm. + +\dest{textxform} +\subsection{Text Transformation} +Tables with slanted entries are possible as shown +in \link{Table~3}{rotatedtable}. This table was achieved using +various ``|bt rotate 35|'' commands. + +The following line of text was done with nested +combinations of ``|bt rotate 10|'' and ``|bt rotate -10|''. + +\def\up#1{\special{pdf:bt rotate 10}\hbox{#1}} +\def\down#1{\special{pdf:bt rotate -10}\hbox{#1}} +You \down{can} nest \down{the} \up{text} +trans\up{form}ation \up{capa}\down{bili}ties \down{to} +achieve \down{effects} \down{like} +{this}. +\special{pdf:et}\special{pdf:et}\special{pdf:et}\special{pdf:et} +\special{pdf:et}\special{pdf:et}\special{pdf:et}\special{pdf:et} +\special{pdf:et} +\vskip 0.5in + + +\def\rvr{\colored{\red}{\vrule}}\def\entry#1{\special{pdf:bt rotate 35}% +{\vbox to 0pt{\vss\hbox{\quad\colored{\blue}{#1}\quad}\vskip 1pt\colored{\red}{\hrule}}\special{pdf:et}}} +\topinsert +\dest{rotatedtable} +\bigskip +\centerline{\colored{\blue}{\subheadingfont Table 3---Example of rotated +text set in Computer Modern Roman}} +\bigskip +\centerline{\vbox to 0.45in{\vss\offinterlineskip\halign{#&#&#&#&#&#\cr +\entry{1994}& +\entry{1995}& +\entry{1996}& +\entry{1997}& +\entry{1998}& +\entry{1999}\cr +\noalign{\colored{\red}{\hrule}} +\strut\rvr&\rvr&\rvr&\rvr&\rvr&\rvr\crcr}}} +\bigskip +\endinsert + +\dest{imageinclude} +\subsection{Image Inclusion} + +The image in \link{Figure~1}{jpegimage} was included from a JPEG file. +The image shown in \link{Figure~2}{rotatedimage} comes from the same file, +but is loaded at a 50\% scale and a 45$^\circ$ rotation. + +\topinsert +\dest{jpegimage} +\bigskip +\centerline{\reserve{1.50in}{2.05in}{pdf: image (mwicks.jpeg)}} +\medskip +\centerline{\subheadingfont +\begincolor{\blue}Figure~1---A JPEG image of the author.\endcolor} +\bigskip +\endinsert + +\topinsert +\dest{rotatedimage} +\bigskip +\centerline{\reserve{0.75in}{1.25in}{pdf: image rotate 45 scale 0.50 (mwicks.jpeg)}} +\medskip +\centerline{\subheadingfont +\begincolor{\blue}Figure~2---Image of the author scaled by 0.5 and rotated +by 45$^\circ$.% +\endcolor} +\bigskip +\endinsert + +By default, JPEG files are included +at a resolution of 100dpi so if you know the pixel size +of the image, you know how much space to reserve. +Any \TeX\ magnification is applied to the image +in addition to any scaling defined in the |\special|. +For example, this document sets |\magnification=\magstephalf|, +so the images are actually scaled by 1.095. The first +image in this section has a printed width of 1.643in +even though 1.50in was specified in the |\special|. + +Several command line utilities exist that read +the pixel dimensions of a JPEG file. For PDF files, +you can |grep| on |/MediaBox| to get an indication +of the image size. The |/MediaBox| dimensions are +in PDF points. + +The image in \link{Figure~3}{pdfimage} was produced by embedding a PDF file +using |epdf|. + +\topinsert +\dest{pdfimage} +\centerline{\reserve{2.41in}{2.6in}{pdf: epdf width 2.41in (transistor.pdf)}} +\medskip\centerline{\subheadingfont +\begincolor{\blue}Figure~3---An embedded PDF object. +\endcolor} +\endinsert +Notice that any resources required for the object +are also embedded. In this case, the Times Roman font +resource was embedded along with the content stream. + +\dest{thumbnails}\section{Thumbnails} +Thumbnails can be inserted automatically by |dvipdfm| +using the |-t| command line option. However, |dvipdfm| +is unable to generate the thumbnails by itself. This +must be done by some other program such as GhostScript. +The typical two-pass process to include thumbnails would be +\item{1.} +Run |dvipdfm| without the |-t| option (probably +using command line options optimized for speed and not space) +\item{2.} +Run GhostScript to generate the thumbnail images of +each page. +\item{3.} +Run |dvipdfm| with the |-t| or |-dt| option. + +The |dvipdfm| distribution includes a sample +shell script called |dvipdft| which is a wrapper +for |dvipdfm| that generates thumbnails. + +|Dvipdfm| searches for the thumbnail images +in the directory specified by the TMP or TEMP +environment variables, or in the current directory. +The thumbnails must have the same base name as the PDF output +file with an extension indicating the number of the page. +For example, to create a thumbnailed document named |foo.pdf| +you would need to generate thumbnail images in files named +|foo.1|, |foo.2|, etc. + +\dest{fontmap}\section{Font Mapping} +\TeX\ font names can be +mapped into arbitrary physical (PostScript) font names via +the map file named |t1fonts.map|. The file is +similar to the |psfonts.map| file used by |dvips| +and other drivers. Each line in the +file consists of one to three fields delimited +by white space, followed by options that apply to that font. +The complete list of recognized options +appears in \link{Table~4}{options}. + +Sample map file lines are\nobreak +\begintt +cmr10 ot1 -r +ptmro8r 8r Times-Roman -s 0.167 +pncbo8r 8r pncb8a -s 0.167 +\endtt + +The first field of each line +is the \TeX\ font name. The second +field, which is optional, is the encoding name (|.enc| will +be appended to this name, if necessary +to locate an encoding file). The +encoding files have the same format +as those used for |dvips|. +The third optional field is {\it either} the PostScript font +name (if one of the standard PostScript fonts) {\it or} +the file name of a Type~1 binary font file (PFB file). +The {}.pfb extension is assumed by the program. +three fields. If the encoding field is unspecified, +|dvipdfm| used the default encoding supplied with +the Type~1 font. If the name field is unspecified, +|dvipdfm| looks for a Type~1 binary font file +having the same name as the \TeX\ font name. +If there is {\it no} line in the map file, +the behavior is as if a line was specified +without the second or third field. +The keywords |default| or |none| are +recognized in the encoding field so that +a third field may be specified while still +having default behavior in the second field. + +Currently, three options may be specified for each font +as shown in \link{Table~4}{options}. +\topinsert +{\dest{options}} +\centerline{\colored{\blue}{\subheadingfont Table~4---Font options +recognized by |dvipdfm| in the font map file}} +\bigskip\nobreak +\centerline{\vbox{\halign{{\tt #}\hskip +1em\strut&\vtop{\leftskip0pt\rightskip0pt\hsize=3.5in\noindent #}\cr +\omit\hfil\it Option\hfil&\omit\hfil \it Description \hfil\cr +\noalign{\smallskip\begincolor\red\hrule\endcolor\smallskip} +-r&{\it Remap the font to eliminate control characters.} This +option attempts to work around bugs in Acrobat reader that seem +to be triggered by characters that are encoded in certain positions. +Unfortunately, standard \TeX encodings normally use these positions.\cr +\noalign{\smallskip} +-e {\it number}&{\it Extend the font horizontally, multiplying the natural +width of the font by the specified number.} This is useful +for generating new fonts by widening existing fonts.\cr +\noalign{\smallskip} +-s {\it number}&{\it Slant the font using the specified number}. +This option is useful for building a slanted fonts from a font +for which there is no slanted font.\cr}}} +\endinsert + +\section{Configuration file} +{\dest{configuration}}Dvipdfm reads default command line options, such +as paper size, from a configuration +file contained in the |dvipdfm| directory of the TeX tree. +The format of this file is similar to the |dvips| file configuration +file format. Each line consists of a single command line switch +followed by any arguments. See the configuration file supplied +with the |dvipdfm| distribution for examples. + +\section{Including PostScript graphics images} +{\dest{postscript}}Dvipdfm provides support for illustrations +contained in external PostScript files. +It recognizes two distinct kinds of PostScript files---those +created by MetaPost and everything else. + +MetaPost +files output only a subset of PostScript and +are interpreted {\it natively} by |dvipdfm| +with its own internal minimal PostScript interpreter. +Also, MetaPost output files contain \TeX\ font information in their header +comments, so that they can be easily integrated with \TeX\ by DVI +drivers. Dvipdfm recognizes this font information and uses the \TeX\ +fonts defined in the MetaPost header. + + +All other PostScript files require an external +program to convert the image to PDF format before +|dvipdfm| can include the image. +The freely available GhostScript is capabable of performing this conversion +for most images. + +The user must specify the command line required +to invoke an external program to perform this conversion. +The command line required to invoke the conversion +program is specified using the |-D| command +line (or configuration file) option. The string passed to the |-D| command +line option is a C-style string that is parsed by |dvipdfm|. Within the string, +expansions are performed as described in \link{Table~5}{expansion}. +For example, to use GhostScript, one might use the +command line + +\bigskip + +{\tt -D "cat \%i \vrule\ gs -q -sDEVICE=pdfwrite -sOutputFile=\%o - -c quit" } + + +\topinsert +{\dest{expansion}} +\centerline{\colored{\blue}{\subheadingfont Table~5---Expansions +performed in the -D string.}} +\bigskip\nobreak +\centerline{\vbox{\halign{{\hfil\tt #\hfil}\hskip +1em\strut&\vtop{\leftskip0pt\rightskip0pt\hsize=3.5in\noindent #}\cr +\omit\hfil\it Variable\hfil&\omit\hfil \it Description \hfil\cr +\noalign{\smallskip\begincolor\red\hrule\endcolor\smallskip} +\%i&{\it Expanded to the full path of the EPS file to be included}\cr +\noalign{\smallskip} +\%o&{\it Expanded to the full path name of the PDF file to be +generated}. The command line must be able to create a file +with the name supplied by dvipdfm.\cr +\noalign{\smallskip} +\%b&{\it Expanded to the ``basename'' of the EPS file that is being included.} +The ``basename'' is the full path of the EPS file with the +last ``.'' and any trailing name extension removed.\cr +}}} +\endinsert + +\section{Compatibility with other DVI drivers} +Compatibility with other DVI drivers is achieved +by support for the following ``standard'' special calls. +Many legacy DVI files can be processed by |dvipdfm|, +so long as they use fairly standard special commands. +For example, |dvipdfm| can process DVI files generated +that use the +|\color|, |\rotatebox|, and |\includegraphics| macros +from the standard La\TeX\ Graphics bundle even if |dvips| was the target DVI driver, +e.g., + +\begintt +\usepackage[dvips]{graphics} +\usepackage[dvips]{color} +\endtt + +Specifically, |dvipdfm| understands the following standard special commands: + +\beginlist +\item{$\bullet$} The TPIC specials. + +\item{$\bullet$} The HyperTeX (HTML) hyperlink specials. + +\item{$\bullet$} The ``color'' specials supported by |dvips| and +other drivers. + +\item{$\bullet$} The ``PSfile'' and ``plotfile'' specials for PS/EPS file inclusion +supported by |dvips| and other drivers. Dvipdfm uses a user-specified +external program to convert the PostScript file to PDF format +before including it. + +\item{$\bullet$} The raw PostScript ``ps:'' special supported by |dvips| and +other drivers. Only a few PostScript operators are supported; +|dvipdfm| does not include a complete PostScript interpreter. +Complex PostScript code, such as that embedded by the PSTricks +package, is not supported. +\endlist + +\section{LaTeX Support and Ebb} +Support for the La\TeX\ graphics bundle and |hyperref| +are available. A driver file named |dvipdfm.def| +is distributed with the standard La\TeX +graphics bundle. The latest version +of the |dvipdfm.def| file is supplied +with the |dvipdfm| distribution. +The file required for |hyperref| +support is called |hdvipdfm.def|. + +To facilitate La\TeX\ support, I distribute a companion program +called |ebb|, which extracts bounding boxes from graphics files. If +you want to include JPEG, PNG, or PDF files in your document, you can run +|ebb| on the JPEG, PNG, or PDF file to create the |.bb| files. +The bounding box file will be similarly named with an extension of |.bb|. +For DOS 8+3 compatibility, an original file name extension +of |.jpg|, |.png|, or |.pdf| is removed before creating the name of +the |.bb| file. An extension of |.jpeg| is also recognized and similarly removed. + +\newpage +\section{References} +\tolerance=1000\hbadness=1000 +\bibitem\dest{pdfmanual}{\it Portable Document +Format Reference Manual}, Version 1.2, Adobe Systems Incorporated, 1996. +Available at the following URL: {\tt http://www.adobe.com}. + +\bibitem\dest{pdfprimer}Thomas Merz, +{\it Web Publishing with Acrobat/PDF}, +Springer-Verlag, 1997, ISBN 3-540-63762-1. Chapter~6 of this book is available +at the URL: |http://http://www.ifconnection.de/~tm|. + +\bibitem\dest{acrotex}D. P. Story, {\it AcroTeX}, The AcroTeX home page +is located at the URL: |http://www.math.uakron.edu/~dpstory/acrotex.html|. + +\bye diff --git a/Master/texmf-dist/doc/dvipdfm/mwicks.bb b/Master/texmf-dist/doc/dvipdfm/mwicks.bb new file mode 100644 index 00000000000..b02ebbd4b84 --- /dev/null +++ b/Master/texmf-dist/doc/dvipdfm/mwicks.bb @@ -0,0 +1,5 @@ +%%Title: ./mwicks.jpeg +%%Creator: ebb Version 0.5.2 +%%BoundingBox: 0 0 108 148 +%%CreationDate: Thu Oct 19 15:55:34 2000 + diff --git a/Master/texmf-dist/doc/dvipdfm/mwicks.jpeg b/Master/texmf-dist/doc/dvipdfm/mwicks.jpeg Binary files differnew file mode 100644 index 00000000000..5312aab5fc4 --- /dev/null +++ b/Master/texmf-dist/doc/dvipdfm/mwicks.jpeg diff --git a/Master/texmf-dist/doc/dvipdfm/sample.tex b/Master/texmf-dist/doc/dvipdfm/sample.tex new file mode 100644 index 00000000000..0e955616b4c --- /dev/null +++ b/Master/texmf-dist/doc/dvipdfm/sample.tex @@ -0,0 +1,87 @@ +\documentclass{article} +\usepackage[dvipdfm]{graphicx} +\usepackage[dvipdfm]{color} +\usepackage[dvipdfm]{hyperref} +\title{\color{blue}Latex Support Test File} +\author{\color{green}Mark A. Wicks} +\begin{document} +\maketitle +\section{Introduction} +This document is primarily intended +to demonstrate the functionality +of some \LaTeX packages that require +driver support for their functionality. +It is quick-and-dirty. +It is not intended to be pretty, and +does not demonstrate good ways to use these packages +(In fact, it demonstrates some bad ways to use these packages). + +\section{Driver Files} +This distribution of {\tt dvipdfm} includes +the {\tt .def} files required to support +the \textcolor{green}{color}, +\rotatebox{30}{\textcolor{red}{graphics}}, and hyperref \LaTeX\space +packages. Once these .def files +are installed where these packages +can find them. You also may need +to modify {\tt color.sty}, {\tt graphics.sty}, +and {\tt hyperref.sty} so that they +recognize {\tt dvipdfm} as a driver. +Once these {\tt .def} files are installed, +you should be able to use {\tt dvipdfm} +with \LaTeX for many applications. + +After running \LaTeX on this +document, {\tt hyperref} +should produce a hyperlinked +document, complete with an outline. + +\newpage +\section{Graphics Support} +Currently, JPEG and PDF image +inclusion are supported. + +\subsection{JPEG Image Inclusion} +Figure~\ref{fig:author} +shows a photograph of the author +that was obtained from a JPEG file. +A small file with the extension of {\tt .bb} +supplies the bounding box to the \LaTeX\space +Graphics package. For PDF and JPEG files, +this bounding box can easily be created by running +the {\tt ebb} utility included with this +distribution of {\tt dvipdfm}. + +\begin{figure} + \begin{center} + \includegraphics{mwicks.jpeg} + \end{center} + + \caption{A photograph of the author.} + \label{fig:author} +\end{figure} + +\subsection{PDF Image Inclusion} +Figure~\ref{fig:circuit} shows +an electronics circuit, +drawn with XFig, distilled, +and then included as PDF file. +\begin{figure} + \begin{center} + \includegraphics{transistor.pdf} + \end{center} + + \caption{A simple two-stage transistor circuit.} + \label{fig:circuit} +\end{figure} + +\begin{figure} + \begin{center} + \includegraphics[width=3.0in]{something.pdf} + \end{center} + + \caption{A second included figure} + \label{fig:something} +\end{figure} + +\end{document} diff --git a/Master/texmf-dist/doc/dvipdfm/something.bb b/Master/texmf-dist/doc/dvipdfm/something.bb new file mode 100644 index 00000000000..139fc08f188 --- /dev/null +++ b/Master/texmf-dist/doc/dvipdfm/something.bb @@ -0,0 +1,5 @@ +%%Title: something.pdf +%%Creator: ebb Version 0.1 +%%BoundingBox: 0 0 174 197 +%%CreationDate: Mon Dec 7 13:13:01 1998 + diff --git a/Master/texmf-dist/doc/dvipdfm/something.eps b/Master/texmf-dist/doc/dvipdfm/something.eps new file mode 100644 index 00000000000..3c98b4c73a0 --- /dev/null +++ b/Master/texmf-dist/doc/dvipdfm/something.eps @@ -0,0 +1,172 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: something.eps +%%Creator: fig2dev Version 3.2 Patchlevel 0-beta3 +%%CreationDate: Thu Nov 26 11:07:57 1998 +%%For: mwicks@betelgeuse (Mark A. Wicks) +%%Orientation: Portrait +%%BoundingBox: 0 0 565 525 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%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 +-26.0 564.0 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 +/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def +/$F2psEnd {$F2psEnteredState restore end} def +%%EndProlog + +$F2psBegin +10 setmiterlimit +n -1000 10387 m -1000 -1000 l 10837 -1000 l 10837 10387 l cp clip + 0.06000 0.06000 sc +% Polyline +7.500 slw +n 2400 1875 m 1134 3732 l 2109 5757 l 4350 5925 l 5616 4068 l 4641 2043 l + cp gs col0 s gr +% Polyline +n 450 675 m 9825 675 l 9825 9375 l 450 9375 l cp gs col0 s gr +% Polyline +n 7125 1650 m 7124 1651 l 7121 1652 l 7115 1655 l 7106 1659 l 7094 1665 l + 7077 1673 l 7056 1684 l 7029 1697 l 6998 1713 l 6961 1731 l + 6920 1752 l 6874 1775 l 6824 1801 l 6769 1830 l 6711 1860 l + 6650 1893 l 6587 1927 l 6522 1963 l 6455 2000 l 6389 2038 l + 6322 2076 l 6257 2116 l 6193 2155 l 6130 2195 l 6071 2235 l + 6014 2274 l 5961 2314 l 5911 2353 l 5866 2392 l 5824 2430 l + 5788 2468 l 5756 2506 l 5729 2543 l 5707 2581 l 5690 2618 l + 5679 2655 l 5673 2693 l 5672 2731 l 5676 2770 l 5685 2809 l + 5700 2850 l 5713 2879 l 5729 2909 l 5747 2939 l 5768 2970 l + 5792 3001 l 5819 3034 l 5849 3066 l 5881 3100 l 5917 3134 l + 5956 3169 l 5998 3204 l 6042 3240 l 6090 3277 l 6140 3314 l + 6193 3352 l 6248 3390 l 6306 3429 l 6367 3468 l 6429 3508 l + 6494 3548 l 6560 3588 l 6628 3629 l 6697 3670 l 6768 3712 l + 6840 3754 l 6913 3795 l 6986 3838 l 7061 3880 l 7135 3922 l + 7209 3964 l 7284 4007 l 7358 4049 l 7431 4091 l 7504 4134 l + 7576 4176 l 7646 4218 l 7715 4259 l 7783 4301 l 7848 4342 l + 7912 4383 l 7974 4423 l 8033 4463 l 8089 4503 l 8143 4542 l + 8194 4581 l 8242 4619 l 8287 4657 l 8329 4695 l 8367 4731 l + 8402 4768 l 8433 4803 l 8461 4839 l 8485 4873 l 8505 4907 l + 8522 4941 l 8534 4974 l 8544 5006 l 8549 5038 l 8551 5069 l + 8550 5100 l 8545 5131 l 8536 5162 l 8524 5193 l 8508 5223 l + 8489 5253 l 8466 5282 l 8439 5311 l 8409 5339 l 8376 5367 l + 8340 5395 l 8300 5423 l 8257 5450 l 8212 5477 l 8163 5504 l + 8112 5530 l 8058 5556 l 8002 5582 l 7944 5608 l 7883 5633 l + 7821 5659 l 7756 5684 l 7690 5709 l 7623 5733 l 7554 5758 l + 7484 5783 l 7412 5807 l 7340 5831 l 7267 5855 l 7194 5879 l + 7120 5903 l 7046 5927 l 6972 5951 l 6898 5974 l 6824 5998 l + 6751 6021 l 6677 6045 l 6605 6068 l 6533 6091 l 6462 6114 l + 6392 6137 l 6322 6160 l 6254 6183 l 6187 6205 l 6121 6228 l + 6057 6250 l 5993 6273 l 5931 6295 l 5870 6317 l 5811 6339 l + 5752 6360 l 5695 6382 l 5640 6403 l 5585 6424 l 5531 6445 l + 5479 6465 l 5427 6486 l 5376 6505 l 5325 6525 l 5269 6546 l + 5213 6567 l 5157 6588 l 5101 6608 l 5045 6627 l 4988 6646 l + 4931 6665 l 4873 6683 l 4815 6701 l 4756 6718 l 4695 6735 l + 4635 6751 l 4573 6767 l 4511 6782 l 4448 6798 l 4384 6813 l + 4319 6827 l 4254 6841 l 4189 6855 l 4123 6869 l 4057 6882 l + 3991 6896 l 3925 6909 l 3859 6922 l 3793 6935 l 3728 6948 l + 3663 6961 l 3599 6974 l 3536 6987 l 3473 7000 l 3412 7013 l + 3353 7026 l 3295 7040 l 3239 7053 l 3184 7067 l 3132 7081 l + 3082 7096 l 3034 7110 l 2989 7125 l 2947 7140 l 2907 7156 l + 2871 7172 l 2838 7188 l 2808 7205 l 2781 7222 l 2758 7239 l + 2739 7257 l 2723 7275 l 2712 7293 l 2704 7312 l 2700 7331 l + 2700 7350 l 2704 7369 l 2712 7388 l 2723 7408 l 2738 7427 l + 2757 7448 l 2780 7468 l 2806 7489 l 2836 7511 l 2869 7533 l + 2906 7555 l 2946 7578 l 2989 7601 l 3035 7624 l 3083 7648 l + 3135 7672 l 3189 7697 l 3245 7722 l 3303 7747 l 3364 7772 l + 3426 7798 l 3490 7824 l 3556 7850 l 3623 7876 l 3691 7903 l + 3760 7929 l 3830 7955 l 3900 7982 l 3971 8008 l 4042 8034 l + 4113 8060 l 4184 8086 l 4254 8112 l 4325 8137 l 4394 8162 l + 4464 8187 l 4532 8211 l 4599 8235 l 4665 8259 l 4730 8282 l + 4794 8304 l 4857 8326 l 4918 8348 l 4978 8368 l 5037 8388 l + 5094 8408 l 5149 8426 l 5203 8444 l 5256 8462 l 5308 8478 l + 5358 8494 l 5407 8509 l 5456 8524 l 5503 8537 l 5550 8550 l + 5604 8564 l 5658 8577 l 5711 8590 l 5764 8601 l 5817 8612 l + 5870 8621 l 5922 8630 l 5974 8638 l 6026 8646 l 6078 8652 l + 6130 8659 l 6182 8664 l 6234 8669 l 6286 8673 l 6338 8677 l + 6390 8681 l 6441 8684 l 6493 8686 l 6545 8689 l 6596 8691 l + 6648 8692 l 6699 8694 l 6750 8695 l 6801 8696 l 6851 8697 l + 6901 8698 l 6951 8699 l 7000 8700 l 7048 8700 l 7096 8701 l + 7143 8701 l 7190 8702 l 7235 8702 l 7280 8703 l 7324 8703 l + 7366 8703 l 7408 8704 l 7449 8704 l 7488 8704 l 7526 8704 l + 7563 8704 l 7598 8704 l 7632 8703 l 7665 8702 l 7696 8701 l + 7725 8700 l 7777 8696 l 7823 8690 l 7864 8683 l 7901 8673 l + 7935 8661 l 7965 8648 l 7992 8632 l 8017 8614 l 8039 8595 l + 8060 8575 l 8079 8554 l 8096 8532 l 8112 8511 l 8125 8490 l + 8137 8471 l 8148 8454 l 8156 8438 l 8163 8426 l 8168 8416 l + 8171 8408 l 8173 8404 l 8174 8401 l 8175 8400 l gs col0 s gr +/Times-Roman ff 180.00 scf sf +2175 3375 m +gs 1 -1 sc (Here is some text.) col0 sh gr +$F2psEnd +rs diff --git a/Master/texmf-dist/doc/dvipdfm/something.fig b/Master/texmf-dist/doc/dvipdfm/something.fig new file mode 100644 index 00000000000..71c1aa2d46b --- /dev/null +++ b/Master/texmf-dist/doc/dvipdfm/something.fig @@ -0,0 +1,19 @@ +#FIG 3.2 +Landscape +Center +Inches +Letter +100.00 +Single +-2 +1200 2 +2 3 0 1 0 7 0 0 -1 0.000 0 0 0 0 0 7 + 2400 1875 1134 3732 2109 5757 4350 5925 5616 4068 4641 2043 + 2400 1875 +2 2 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 5 + 450 675 9825 675 9825 9375 450 9375 450 675 +3 2 0 1 0 7 0 0 -1 0.000 0 0 0 8 + 7125 1650 5700 2850 8550 5100 5325 6525 2700 7350 5550 8550 + 7725 8700 8175 8400 + 0.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 0.000 +4 0 0 0 0 0 12 0.0000 4 135 1395 2175 3375 Here is some text.\001 diff --git a/Master/texmf-dist/doc/dvipdfm/something.pdf b/Master/texmf-dist/doc/dvipdfm/something.pdf new file mode 100644 index 00000000000..79e7b1ba4ce --- /dev/null +++ b/Master/texmf-dist/doc/dvipdfm/something.pdf @@ -0,0 +1,159 @@ +%PDF-1.1 +%ÐÓÔÌ +1 0 obj +<< +/Type /Catalog +/Pages 3 0 R +/Outlines 2 0 R +>> +endobj +2 0 obj +<< +/Type /Outlines +/Count 0 +>> +endobj +3 0 obj +<< +/Type /Pages +/MediaBox [ 0 0 565 525 ] +/Count 1 +/Kids [ 5 0 R ] +>> +endobj +4 0 obj +[ /PDF /Text /ImageC ] +endobj +5 0 obj +<< +/Type /Page +/Parent 3 0 R +/Resources << /Font << /F1 7 0 R >> /ProcSet 4 0 R >> +/Contents 6 0 R +>> +endobj +6 0 obj +<< +/Length 10 0 R +>> +stream +q +Q q 612 792 m 0 792 l 0 0 l 612 0 l h W n +0.00 g 0.00 G +0.45 w +118 451.5 m 42.04 340.08 l 100.54 218.58 l 235 208.5 l 310.96 319.92 l 252.46 441.42 l h S +1.0 523.5 m 563.5 523.5 l 563.5 1.5 l 1.0 1.5 l h S +401.5 465 m 401.44 464.94 l 401.26 464.88 l 400.9 464.7 l 400.36 464.46 l 399.64 464.1 l 398.62 463.62 l 397.36 462.96 l 395.74 462.18 l 393.88 461.22 l 391.66 460.14 l +389.2 458.88 l 386.44 457.5 l 383.44 455.94 l 380.14 454.2 l 376.66 452.4 l 373 450.42 l 369.22 448.38 l 365.32 446.22 l 361.3 444 l 357.34 441.72 l 353.32 439.44 l 349.42 437.04 l +345.58 434.7 l 341.8 432.3 l 338.26 429.9 l 334.84 427.56 l 331.66 425.16 l 328.66 422.82 l 325.96 420.48 l 323.44 418.2 l 321.28 415.92 l 319.36 413.64 l 317.74 411.42 l 316.42 409.14 l +315.4 406.92 l 314.74 404.7 l 314.38 402.42 l 314.32 400.14 l 314.56 397.8 l 315.1 395.46 l 316 393 l 316.78 391.26 l 317.74 389.46 l 318.82 387.66 l 320.08 385.8 l 321.52 383.94 l +323.14 381.96 l 324.94 380.04 l 326.86 378 l 329.02 375.96 l 331.36 373.86 l 333.88 371.76 l 336.52 369.6 l 339.4 367.38 l 342.4 365.16 l 345.58 362.88 l 348.88 360.6 l 352.36 358.26 l +356.02 355.92 l 359.74 353.52 l 363.64 351.12 l 367.6 348.72 l 371.68 346.26 l 375.82 343.8 l 380.08 341.28 l 384.4 338.76 l 388.78 336.3 l 393.16 333.72 l 397.66 331.2 l 402.1 328.68 l +406.54 326.16 l 411.04 323.58 l 415.48 321.06 l 419.86 318.54 l 424.24 315.96 l 428.56 313.44 l 432.76 310.92 l 436.9 308.46 l 440.98 305.94 l 444.88 303.48 l 448.72 301.02 l 452.44 298.62 l +455.98 296.22 l 459.34 293.82 l 462.58 291.48 l 465.64 289.14 l 468.52 286.86 l 471.22 284.58 l 473.74 282.3 l 476.02 280.14 l 478.12 277.92 l 479.98 275.82 l 481.66 273.66 l 483.1 271.62 l +484.3 269.58 l 485.32 267.54 l 486.04 265.56 l 486.64 263.64 l 486.94 261.72 l 487.06 259.86 l 487 258 l 486.7 256.14 l 486.16 254.28 l 485.44 252.42 l 484.48 250.62 l 483.34 248.82 l +481.96 247.08 l 480.34 245.34 l 478.54 243.66 l 476.56 241.98 l 474.4 240.3 l 472 238.62 l 469.42 237 l 466.72 235.38 l 463.78 233.76 l 460.72 232.2 l 457.48 230.64 l 454.12 229.08 l +450.64 227.52 l 446.98 226.02 l 443.26 224.46 l 439.36 222.96 l 435.4 221.46 l 431.38 220.02 l 427.24 218.52 l 423.04 217.02 l 418.72 215.58 l 414.4 214.14 l 410.02 212.7 l 405.64 211.26 l +401.2 209.82 l 396.76 208.38 l 392.32 206.94 l 387.88 205.56 l 383.44 204.12 l 379.06 202.74 l 374.62 201.3 l 370.3 199.92 l 365.98 198.54 l 361.72 197.16 l 357.52 195.78 l 353.32 194.4 l +349.24 193.02 l 345.22 191.7 l 341.26 190.32 l 337.42 189 l 333.58 187.62 l 329.86 186.3 l 326.2 184.98 l 322.66 183.66 l 319.12 182.4 l 315.7 181.08 l 312.4 179.82 l 309.1 178.56 l +305.86 177.3 l 302.74 176.1 l 299.62 174.84 l 296.56 173.7 l 293.5 172.5 l 290.14 171.24 l 286.78 169.98 l 283.42 168.72 l 280.06 167.52 l 276.7 166.38 l 273.28 165.24 l 269.86 164.1 l +266.38 163.02 l 262.9 161.94 l 259.36 160.92 l 255.7 159.9 l 252.1 158.94 l 248.38 157.98 l 244.66 157.08 l 240.88 156.12 l 237.04 155.22 l 233.14 154.38 l 229.24 153.54 l 225.34 152.7 l +221.38 151.86 l 217.42 151.08 l 213.46 150.24 l 209.5 149.46 l 205.54 148.68 l 201.58 147.9 l 197.68 147.12 l 193.78 146.34 l 189.94 145.56 l 186.16 144.78 l 182.38 144 l 178.72 143.22 l +175.18 142.44 l 171.7 141.6 l 168.34 140.82 l 165.04 139.98 l 161.92 139.14 l 158.92 138.24 l 156.04 137.4 l 153.34 136.5 l 150.82 135.6 l 148.42 134.64 l 146.26 133.68 l 144.28 132.72 l +142.48 131.7 l 140.86 130.68 l 139.48 129.66 l 138.34 128.58 l 137.38 127.5 l 136.72 126.42 l 136.24 125.28 l 136 124.14 l 136 123 l 136.24 121.86 l 136.72 120.72 l 137.38 119.52 l +138.28 118.38 l 139.42 117.12 l 140.8 115.92 l 142.36 114.66 l 144.16 113.34 l 146.14 112.02 l 148.36 110.7 l 150.76 109.32 l 153.34 107.94 l 156.1 106.56 l 158.98 105.12 l 162.1 103.68 l +165.34 102.18 l 168.7 100.68 l 172.18 99.18 l 175.84 97.68 l 179.56 96.12 l 183.4 94.56 l 187.36 93 l 191.38 91.44 l 195.46 89.82 l 199.6 88.26 l 203.8 86.7 l 208 85.08 l +212.26 83.52 l 216.52 81.96 l 220.78 80.4 l 225.04 78.84 l 229.24 77.28 l 233.5 75.78 l 237.64 74.28 l 241.84 72.78 l 245.92 71.34 l 249.94 69.9 l 253.9 68.46 l 257.8 67.08 l +261.64 65.76 l 265.42 64.44 l 269.08 63.12 l 272.68 61.92 l 276.22 60.72 l 279.64 59.52 l 282.94 58.44 l 286.18 57.36 l 289.36 56.28 l 292.48 55.32 l 295.48 54.36 l 298.42 53.46 l +301.36 52.56 l 304.18 51.78 l 307 51 l 310.24 50.16 l 313.48 49.38 l 316.66 48.6 l 319.84 47.94 l 323.02 47.28 l 326.2 46.74 l 329.32 46.2 l 332.44 45.72 l 335.56 45.24 l +338.68 44.88 l 341.8 44.46 l 344.92 44.16 l 348.04 43.86 l 351.16 43.62 l 354.28 43.38 l 357.4 43.14 l 360.46 42.96 l 363.58 42.84 l 366.7 42.66 l 369.76 42.54 l 372.88 42.48 l +375.94 42.36 l 379 42.3 l 382.06 42.24 l 385.06 42.18 l 388.06 42.12 l 391.06 42.06 l 394 42 l 396.88 42 l 399.76 41.94 l 402.58 41.94 l 405.4 41.88 l 408.1 41.88 l +410.8 41.82 l 413.44 41.82 l 415.96 41.82 l 418.48 41.76 l 420.94 41.76 l 423.28 41.76 l 425.56 41.76 l 427.78 41.76 l 429.88 41.76 l 431.92 41.82 l 433.9 41.88 l 435.76 41.94 l +437.5 42 l 440.62 42.24 l 443.38 42.6 l 445.84 43.02 l 448.06 43.62 l 450.1 44.34 l 451.9 45.12 l 453.52 46.08 l 455.02 47.16 l 456.34 48.3 l 457.6 49.5 l 458.74 50.76 l +459.76 52.08 l 460.72 53.34 l 461.5 54.6 l 462.22 55.74 l 462.88 56.76 l 463.36 57.72 l 463.78 58.44 l 464.08 59.04 l 464.26 59.52 l 464.38 59.76 l 464.44 59.94 l 464.5 60 l S +BT +/F1 1 Tf +10.80 0 0 10.80 0 0 Tm +401.500000 465 m 401.44 464.94 l 401.26 464.88 l 400.9 464.7 l 400.36 464.46 l 399.64 464.1 l 398.62 463.62 l 397.36 462.96 l 395.74 462.18 l 393.88 461.22 l 391.66 460.14 l +389.2 458.88 l 386.44 457.5 l 383.44 455.94 l 380.14 454.2 l 376.66 452.4 l 373 450.42 l 369.22 448.38 l 365.32 446.22 l 361.3 444 l 357.34 441.72 l 353.32 439.44 l 349.42 437.04 l +345.58 434.7 l 341.8 432.3 l 338.26 429.9 l 334.84 427.56 l 331.66 425.16 l 328.66 422.82 l 325.96 420.48 l 323.44 418.2 l 321.28 415.92 l 319.36 413.64 l 317.74 411.42 l 316.42 409.14 l +315.4 406.92 l 314.74 404.7 l 314.38 402.42 l 314.32 400.14 l 314.56 397.8 l 315.1 395.46 l 316 393 l 316.78 391.26 l 317.74 389.46 l 318.82 387.66 l 320.08 385.8 l 321.52 383.94 l +323.14 381.96 l 324.94 380.04 l 326.86 378 l 329.02 375.96 l 331.36 373.86 l 333.88 371.76 l 336.52 369.6 l 339.4 367.38 l 342.4 365.16 l 345.58 362.88 l 348.88 360.6 l 352.36 358.26 l +356.02 355.92 l 359.74 353.52 l 363.64 351.12 l 367.6 348.72 l 371.68 346.26 l 375.82 343.8 l 380.08 341.28 l 384.4 338.76 l 388.78 336.3 l 393.16 333.72 l 397.66 331.2 l 402.1 328.68 l +406.54 326.16 l 411.04 323.58 l 415.48 321.06 l 419.86 318.54 l 424.24 315.96 l 428.56 313.44 l 432.76 310.92 l 436.9 308.46 l 440.98 305.94 l 444.88 303.48 l 448.72 301.02 l 452.44 298.62 l +455.98 296.22 l 459.34 293.82 l 462.58 291.48 l 465.64 289.14 l 468.52 286.86 l 471.22 284.58 l 473.74 282.3 l 476.02 280.14 l 478.12 277.92 l 479.98 275.82 l 481.66 273.66 l 483.1 271.62 l +484.3 269.58 l 485.32 267.54 l 486.04 265.56 l 486.64 263.64 l 486.94 261.72 l 487.06 259.86 l 487 258 l 486.7 256.14 l 486.16 254.28 l 485.44 252.42 l 484.48 250.62 l 483.34 248.82 l +481.96 247.08 l 480.34 245.34 l 478.54 243.66 l 476.56 241.98 l 474.4 240.3 l 472 238.62 l 469.42 237 l 466.72 235.38 l 463.78 233.76 l 460.72 232.2 l 457.48 230.64 l 454.12 229.08 l +450.64 227.52 l 446.98 226.02 l 443.26 224.46 l 439.36 222.96 l 435.4 221.46 l 431.38 220.02 l 427.24 218.52 l 423.04 217.02 l 418.72 215.58 l 414.4 214.14 l 410.02 212.7 l 405.64 211.26 l +401.2 209.82 l 396.76 208.38 l 392.32 206.94 l 387.88 205.56 l 383.44 204.12 l 379.06 202.74 l 374.62 201.3 l 370.3 199.92 l 365.98 198.54 l 361.72 197.16 l 357.52 195.78 l 353.32 194.4 l +349.24 193.02 l 345.22 191.7 l 341.26 190.32 l 337.42 189 l 333.58 187.62 l 329.86 186.3 l 326.2 184.98 l 322.66 183.66 l 319.12 182.4 l 315.7 181.08 l 312.4 179.82 l 309.1 178.56 l +305.86 177.3 l 302.74 176.1 l 299.62 174.84 l 296.56 173.7 l 293.5 172.5 l 290.14 171.24 l 286.78 169.98 l 283.42 168.72 l 280.06 167.52 l 276.7 166.38 l 273.28 165.24 l 269.86 164.1 l +266.38 163.02 l 262.9 161.94 l 259.36 160.92 l 255.7 159.9 l 252.1 158.94 l 248.38 157.98 l 244.66 157.08 l 240.88 156.12 l 237.04 155.22 l 233.14 154.38 l 229.24 153.54 l 225.34 152.7 l +221.38 151.86 l 217.42 151.08 l 213.46 150.24 l 209.5 149.46 l 205.54 148.68 l 201.58 147.9 l 197.68 147.12 l 193.78 146.34 l 189.94 145.56 l 186.16 144.78 l 182.38 144 l 178.72 143.22 l +175.18 142.44 l 171.7 141.6 l 168.34 140.82 l 165.04 139.98 l 161.92 139.14 l 158.92 138.24 l 156.04 137.4 l 153.34 136.5 l 150.82 135.6 l 148.42 134.64 l 146.26 133.68 l 144.28 132.72 l +142.48 131.7 l 140.86 130.68 l 139.48 129.66 l 138.34 128.58 l 137.38 127.5 l 136.72 126.42 l 136.24 125.28 l 136 124.14 l 136 123 l 136.24 121.86 l 136.72 120.72 l 137.38 119.52 l +138.28 118.38 l 139.42 117.12 l 140.8 115.92 l 142.36 114.66 l 144.16 113.34 l 146.14 112.02 l 148.36 110.7 l 150.76 109.32 l 153.34 107.94 l 156.1 106.56 l 158.98 105.12 l 162.1 103.68 l +165.34 102.18 l 168.7 100.68 l 172.18 99.18 l 175.84 97.68 l 179.56 96.12 l 183.4 94.56 l 187.36 93 l 191.38 91.44 l 195.46 89.82 l 199.6 88.26 l 203.8 86.7 l 208 85.08 l +212.26 83.52 l 216.52 81.96 l 220.78 80.4 l 225.04 78.84 l 229.24 77.28 l 233.5 75.78 l 237.64 74.28 l 241.84 72.78 l 245.92 71.34 l 249.94 69.9 l 253.9 68.46 l 257.8 67.08 l +261.64 65.76 l 265.42 64.44 l 269.08 63.12 l 272.68 61.92 l 276.22 60.72 l 279.64 59.52 l 282.94 58.44 l 286.18 57.36 l 289.36 56.28 l 292.48 55.32 l 295.48 54.36 l 298.42 53.46 l +301.36 52.56 l 304.18 51.78 l 307 51 l 310.24 50.16 l 313.48 49.38 l 316.66 48.6 l 319.84 47.94 l 323.02 47.28 l 326.2 46.74 l 329.32 46.2 l 332.44 45.72 l 335.56 45.24 l +338.68 44.88 l 341.8 44.46 l 344.92 44.16 l 348.04 43.86 l 351.16 43.62 l 354.28 43.38 l 357.4 43.14 l 360.46 42.96 l 363.58 42.84 l 366.7 42.66 l 369.76 42.54 l 372.88 42.48 l +375.94 42.36 l 379 42.3 l 382.06 42.24 l 385.06 42.18 l 388.06 42.12 l 391.06 42.06 l 394 42 l 396.88 42 l 399.76 41.94 l 402.58 41.94 l 405.4 41.88 l 408.1 41.88 l +410.8 41.82 l 413.44 41.82 l 415.96 41.82 l 418.48 41.76 l 420.94 41.76 l 423.28 41.76 l 425.56 41.76 l 427.78 41.76 l 429.88 41.76 l 431.92 41.82 l 433.9 41.88 l 435.76 41.94 l +437.5 42 l 440.62 42.24 l 443.38 42.6 l 445.84 43.02 l 448.06 43.62 l 450.1 44.34 l 451.9 45.12 l 453.52 46.08 l 455.02 47.16 l 456.34 48.3 l 457.6 49.5 l 458.74 50.76 l +459.76 52.08 l 460.72 53.34 l 461.5 54.6 l 462.22 55.74 l 462.88 56.76 l 463.36 57.72 l 463.78 58.44 l 464.08 59.04 l 464.26 59.52 l 464.38 59.76 l 464.44 59.94 l 464.5 60 l +9.676 33.472 Td (Here is some text.) Tj +ET +Q + +endstream +endobj +7 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F1 +/BaseFont /Times-Roman +/Encoding 8 0 R +/FirstChar 0 +/LastChar 255 +>> +endobj +8 0 obj +<< +/Type /Encoding +/BaseEncoding /MacRomanEncoding +/Differences [ 39 /quoteright 96 /quoteleft 128 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /exclamdown 164 /fraction /yen /florin /section /currency /quotesingle /quotedblleft /guillemotleft /guilsinglleft /guilsinglright /fi /fl 177 /endash /dagger /daggerdbl /periodcentered /.notdef /paragraph /bullet /quotesinglbase /quotedblbase /quotedblright /guillemotright /ellipsis /perthousand /.notdef /questiondown /.notdef /grave /acute /circumflex /tilde /macron /breve /dotaccent /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek /caron /emdash /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef 216 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /AE /.notdef /ordfeminine /.notdef /.notdef /.notdef /.notdef /Lslash /Oslash /OE /ordmasculine /.notdef /.notdef /.notdef /.notdef 241 /ae /.notdef /.notdef /.notdef 246 /.notdef /.notdef /lslash /oslash /oe /germandbls /.notdef /.notdef /.notdef /.notdef ] +>> +endobj +9 0 obj +<< +/CreationDate (Thu Nov 26 11:10:23 1998) +/Producer (PStill 1.10l by Frank M. Siegert frank@this.net) +>> +endobj +10 0 obj +10440 +endobj +xref +0 11 +0000000000 65535 f +0000000015 00000 n +0000000080 00000 n +0000000126 00000 n +0000000211 00000 n +0000000250 00000 n +0000000367 00000 n +0000010860 00000 n +0000010985 00000 n +0000012266 00000 n +0000012388 00000 n +trailer +<< +/Size 11 +/Root 1 0 R +/Info 9 0 R +>> +startxref +12410 +%%EOF diff --git a/Master/texmf-dist/doc/dvipdfm/transistor.bb b/Master/texmf-dist/doc/dvipdfm/transistor.bb new file mode 100644 index 00000000000..432d4debfeb --- /dev/null +++ b/Master/texmf-dist/doc/dvipdfm/transistor.bb @@ -0,0 +1,5 @@ +%%Title: ./transistor.pdf +%%Creator: ebb Version 0.5.2 +%%BoundingBox: 0 0 174 197 +%%CreationDate: Thu Oct 19 15:55:18 2000 + diff --git a/Master/texmf-dist/doc/dvipdfm/transistor.eps b/Master/texmf-dist/doc/dvipdfm/transistor.eps new file mode 100644 index 00000000000..0398ac9e286 --- /dev/null +++ b/Master/texmf-dist/doc/dvipdfm/transistor.eps @@ -0,0 +1,316 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: transistor.eps +%%Creator: fig2dev Version 3.2 Patchlevel 0-beta3 +%%CreationDate: Thu Nov 19 14:25:40 1998 +%%For: mwicks@odo.kettering.edu (Mark A. Wicks,2-943,(810) 762-7992,(810) 655-4682,) +%%Orientation: Portrait +%%BoundingBox: 0 0 174 197 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%Magnification: 0.5000 +%%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 +-56.0 205.0 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 +/reencdict 12 dict def /ReEncode { reencdict begin +/newcodesandnames exch def /newfontname exch def /basefontname exch def +/basefontdict basefontname findfont def /newfont basefontdict maxlength dict def +basefontdict { exch dup /FID ne { dup /Encoding eq +{ exch dup length array copy newfont 3 1 roll put } +{ exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall +newfont /FontName newfontname put newcodesandnames aload pop +128 1 255 { newfont /Encoding get exch /.notdef put } for +newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put } repeat +newfontname newfont definefont pop end } def +/isovec [ +8#200 /grave 8#201 /acute 8#202 /circumflex 8#203 /tilde +8#204 /macron 8#205 /breve 8#206 /dotaccent 8#207 /dieresis +8#210 /ring 8#211 /cedilla 8#212 /hungarumlaut 8#213 /ogonek 8#214 /caron +8#220 /dotlessi 8#230 /oe 8#231 /OE +8#240 /space 8#241 /exclamdown 8#242 /cent 8#243 /sterling +8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section 8#250 /dieresis +8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft 8#254 /logicalnot +8#255 /endash 8#256 /registered 8#257 /macron 8#260 /degree 8#261 /plusminus +8#262 /twosuperior 8#263 /threesuperior 8#264 /acute 8#265 /mu 8#266 /paragraph +8#267 /periodcentered 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine +8#273 /guillemotright 8#274 /onequarter 8#275 /onehalf +8#276 /threequarters 8#277 /questiondown 8#300 /Agrave 8#301 /Aacute +8#302 /Acircumflex 8#303 /Atilde 8#304 /Adieresis 8#305 /Aring +8#306 /AE 8#307 /Ccedilla 8#310 /Egrave 8#311 /Eacute +8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute +8#316 /Icircumflex 8#317 /Idieresis 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve +8#323 /Oacute 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply +8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex +8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls 8#340 /agrave +8#341 /aacute 8#342 /acircumflex 8#343 /atilde 8#344 /adieresis 8#345 /aring +8#346 /ae 8#347 /ccedilla 8#350 /egrave 8#351 /eacute +8#352 /ecircumflex 8#353 /edieresis 8#354 /igrave 8#355 /iacute +8#356 /icircumflex 8#357 /idieresis 8#360 /eth 8#361 /ntilde 8#362 /ograve +8#363 /oacute 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide +8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex +8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis] def +/Times-Roman /Times-Roman-iso isovec ReEncode + /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 +%%EndProlog + +$F2psBegin +10 setmiterlimit +n -1000 7825 m -1000 -1000 l 8665 -1000 l 8665 7825 l cp clip + 0.03000 0.03000 sc +% Polyline +45.000 slw +n 6300 2700 m 6300 3300 l gs col-1 s gr +% Polyline +30.000 slw +n 6300 2850 m 6600 2700 l gs col-1 s gr +% Polyline +gs clippath +6520 3233 m 6563 3279 l 6500 3273 l 6642 3343 l 6662 3303 l cp +clip +n 6300 3150 m 6612 3303 l gs col-1 s gr gr + +% arrowhead +n 6520 3233 m 6563 3279 l 6500 3273 l 6510 3253 l 6520 3233 l cp gs 0.00 setgray ef gr col-1 s +% Polyline +45.000 slw +n 4500 3525 m 4500 4125 l gs col-1 s gr +% Polyline +30.000 slw +n 4500 3675 m 4800 3525 l gs col-1 s gr +% Polyline +gs clippath +4720 4058 m 4763 4104 l 4700 4098 l 4842 4168 l 4862 4128 l cp +clip +n 4500 3975 m 4812 4128 l gs col-1 s gr gr + +% arrowhead +n 4720 4058 m 4763 4104 l 4700 4098 l 4710 4078 l 4720 4058 l cp gs 0.00 setgray ef gr col-1 s +15.000 slw +% Ellipse +n 2025 3825 75 75 0 360 DrawEllipse gs col0 s gr + +% Ellipse +n 7575 3900 75 75 0 360 DrawEllipse gs col0 s gr + +% Polyline +n 4800 2550 m 4800 3525 l gs col-1 s gr +% Polyline +30.000 slw +n 4800 1950 m 4916 1995 l 4674 2120 l 4918 2246 l 4672 2368 l 4916 2492 l + 4798 2546 l gs col-1 s gr +% Polyline +15.000 slw +gs clippath +2940 942 m 3000 654 l 3060 942 l 3060 570 l 2940 570 l cp +clip +n 3000 1950 m 3000 600 l gs col0 s gr gr + +% arrowhead +n 2940 942 m 3000 654 l 3060 942 l 3000 894 l 2940 942 l cp gs 0.00 setgray ef gr col0 s +% Polyline +30.000 slw +n 3002 1954 m 3118 1999 l 2876 2124 l 3120 2250 l 2874 2372 l 3118 2496 l + 3000 2550 l gs col-1 s gr +% Polyline +15.000 slw +gs clippath +4740 942 m 4800 654 l 4860 942 l 4860 570 l 4740 570 l cp +clip +n 4800 1950 m 4800 600 l gs col-1 s gr gr + +% arrowhead +n 4740 942 m 4800 654 l 4860 942 l 4800 894 l 4740 942 l cp gs 0.00 setgray ef gr col-1 s +% Polyline +n 4800 3000 m 6300 3000 l gs col0 s gr +% Polyline +n 3000 2550 m 3000 4800 l gs col-1 s gr +% Polyline +n 6600 3300 m 6600 4800 l gs col0 s gr +% Polyline +n 4800 4125 m 4800 4800 l gs col0 s gr +% Polyline +30.000 slw +n 4800 4800 m 4916 4845 l 4674 4970 l 4918 5096 l 4672 5218 l 4916 5342 l + 4798 5396 l gs col-1 s gr +% Polyline +15.000 slw +gs clippath +4860 5958 m 4800 6246 l 4740 5958 l 4740 6330 l 4860 6330 l cp +clip +n 4800 5400 m 4800 6300 l gs col0 s gr gr + +% arrowhead +n 4860 5958 m 4800 6246 l 4740 5958 l 4800 6006 l 4860 5958 l cp gs 0.00 setgray ef gr col0 s +% Polyline +30.000 slw +n 3001 4806 m 3117 4851 l 2875 4976 l 3119 5102 l 2873 5224 l 3117 5348 l + 2999 5402 l gs col-1 s gr +% Polyline +15.000 slw +gs clippath +3060 5958 m 3000 6246 l 2940 5958 l 2940 6330 l 3060 6330 l cp +clip +n 3000 5400 m 3000 6300 l gs col0 s gr gr + +% arrowhead +n 3060 5958 m 3000 6246 l 2940 5958 l 3000 6006 l 3060 5958 l cp gs 0.00 setgray ef gr col0 s +% Polyline +n 2100 3825 m 4500 3825 l gs col-1 s gr +% Polyline +30.000 slw +n 6600 4800 m 6716 4845 l 6474 4970 l 6718 5096 l 6472 5218 l 6716 5342 l + 6598 5396 l gs col-1 s gr +% Polyline +15.000 slw +gs clippath +6660 5958 m 6600 6246 l 6540 5958 l 6540 6330 l 6660 6330 l cp +clip +n 6600 5400 m 6600 6300 l gs col0 s gr gr + +% arrowhead +n 6660 5958 m 6600 6246 l 6540 5958 l 6600 6006 l 6660 5958 l cp gs 0.00 setgray ef gr col0 s +% Polyline +n 6600 3900 m 7500 3900 l gs col0 s gr +% Polyline +gs clippath +6540 942 m 6600 654 l 6660 942 l 6660 570 l 6540 570 l cp +clip +n 6600 2700 m 6600 600 l gs col0 s gr gr + +% arrowhead +n 6540 942 m 6600 654 l 6660 942 l 6600 894 l 6540 942 l cp gs 0.00 setgray ef gr col0 s +/Times-Roman-iso ff 360.00 scf sf +1875 3525 m +gs 1 -1 sc (v) col0 sh gr +/Times-Roman-iso ff 360.00 scf sf +2280 2100 m +gs 1 -1 sc (R) col0 sh gr +/Times-Roman-iso ff 360.00 scf sf +4155 2100 m +gs 1 -1 sc (R) col0 sh gr +/Times-Roman-iso ff 360.00 scf sf +2550 2250 m +gs 1 -1 sc (a) col0 sh gr +/Times-Roman-iso ff 360.00 scf sf +2025 3675 m +gs 1 -1 sc (i) col0 sh gr +/Times-Roman-iso ff 360.00 scf sf +4350 525 m +gs 1 -1 sc (12 V) col0 sh gr +/Times-Roman-iso ff 360.00 scf sf +4500 6825 m +gs 1 -1 sc (-12 V) col0 sh gr +/Times-Roman-iso ff 360.00 scf sf +7275 3525 m +gs 1 -1 sc (v) col0 sh gr +/Times-Roman-iso ff 360.00 scf sf +4155 5250 m +gs 1 -1 sc (R) col0 sh gr +/Times-Roman-iso ff 360.00 scf sf +2280 5250 m +gs 1 -1 sc (R) col0 sh gr +/Times-Roman-iso ff 360.00 scf sf +5880 5250 m +gs 1 -1 sc (R) col0 sh gr +/Times-Roman-iso ff 360.00 scf sf +2550 5475 m +gs 1 -1 sc (b) col0 sh gr +/Times-Roman-iso ff 360.00 scf sf +6150 5475 m +gs 1 -1 sc (x) col0 sh gr +/Times-Roman-iso ff 360.00 scf sf +7425 3675 m +gs 1 -1 sc (o) col0 sh gr +/Times-Roman-iso ff 360.00 scf sf +4425 2250 m +gs 1 -1 sc (c) col0 sh gr +/Times-Roman-iso ff 360.00 scf sf +4425 5475 m +gs 1 -1 sc (e) col0 sh gr +$F2psEnd +rs diff --git a/Master/texmf-dist/doc/dvipdfm/transistor.fig b/Master/texmf-dist/doc/dvipdfm/transistor.fig new file mode 100644 index 00000000000..6a11da3d022 --- /dev/null +++ b/Master/texmf-dist/doc/dvipdfm/transistor.fig @@ -0,0 +1,94 @@ +#FIG 3.2 +Portrait +Center +Inches +Letter +50.00 +Single +-2 +1200 2 +6 1875 225 7725 6825 +6 6225 2625 6675 3375 +2 1 0 4 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6300 2700 6300 3300 +2 1 0 3 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6300 2850 6600 2700 +2 1 0 3 -1 7 0 0 -1 0.000 0 0 -1 1 0 2 + 1 1 3.00 45.00 60.00 + 6300 3150 6612 3303 +-6 +6 4425 3450 4875 4200 +2 1 0 4 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4500 3525 4500 4125 +2 1 0 3 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4500 3675 4800 3525 +2 1 0 3 -1 7 0 0 -1 0.000 0 0 -1 1 0 2 + 1 1 3.00 45.00 60.00 + 4500 3975 4812 4128 +-6 +1 4 0 2 0 0 0 0 -1 0.000 1 0.0000 2025 3825 75 75 1950 3825 2100 3825 +1 4 0 2 0 0 0 0 -1 0.000 1 0.0000 7575 3900 75 75 7500 3900 7650 3900 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4800 2550 4800 3525 +2 1 0 3 -1 7 0 0 -1 0.000 0 0 -1 0 0 7 + 4800 1950 4916 1995 4674 2120 4918 2246 4672 2368 4916 2492 + 4798 2546 +2 1 0 2 0 7 0 0 -1 6.000 0 0 -1 1 0 2 + 2 1 2.00 120.00 240.00 + 3000 1950 3000 600 +2 1 0 3 -1 7 0 0 -1 0.000 0 0 -1 0 0 7 + 3002 1954 3118 1999 2876 2124 3120 2250 2874 2372 3118 2496 + 3000 2550 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 1 0 2 + 2 1 2.00 120.00 240.00 + 4800 1950 4800 600 +2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4800 3000 6300 3000 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 3000 2550 3000 4800 +2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2 + 6600 3300 6600 4800 +2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4800 4125 4800 4800 +2 1 0 3 -1 7 0 0 -1 0.000 0 0 -1 0 0 7 + 4800 4800 4916 4845 4674 4970 4918 5096 4672 5218 4916 5342 + 4798 5396 +2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 1 0 2 + 2 1 2.00 120.00 240.00 + 4800 5400 4800 6300 +2 1 0 3 -1 7 0 0 -1 0.000 0 0 -1 0 0 7 + 3001 4806 3117 4851 2875 4976 3119 5102 2873 5224 3117 5348 + 2999 5402 +2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 1 0 2 + 2 1 2.00 120.00 240.00 + 3000 5400 3000 6300 +2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2100 3825 4500 3825 +2 1 0 3 -1 7 0 0 -1 0.000 0 0 -1 0 0 7 + 6600 4800 6716 4845 6474 4970 6718 5096 6472 5218 6716 5342 + 6598 5396 +2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 1 0 2 + 2 1 2.00 120.00 240.00 + 6600 5400 6600 6300 +2 1 0 2 0 7 0 0 -1 6.000 0 0 -1 0 0 2 + 6600 3900 7500 3900 +2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 1 0 2 + 2 1 2.00 120.00 240.00 + 6600 2700 6600 600 +4 0 0 0 0 0 24 0.0000 4 180 165 1875 3525 v\001 +4 0 0 0 0 0 24 0.0000 4 255 240 2280 2100 R\001 +4 0 0 0 0 0 24 0.0000 4 255 240 4155 2100 R\001 +4 0 0 0 0 0 24 0.0000 4 180 165 2550 2250 a\001 +4 0 0 0 0 0 24 0.0000 4 255 90 2025 3675 i\001 +4 0 0 0 0 0 24 0.0000 4 255 705 4350 525 12 V\001 +4 0 0 0 0 0 24 0.0000 4 255 915 4500 6825 -12 V\001 +4 0 0 0 0 0 24 0.0000 4 180 165 7275 3525 v\001 +4 0 0 0 0 0 24 0.0000 4 255 240 4155 5250 R\001 +4 0 0 0 0 0 24 0.0000 4 255 240 2280 5250 R\001 +4 0 0 0 0 0 24 0.0000 4 255 240 5880 5250 R\001 +4 0 0 0 0 0 24 0.0000 4 255 180 2550 5475 b\001 +4 0 0 0 0 0 24 0.0000 4 180 195 6150 5475 x\001 +4 0 0 0 0 0 24 0.0000 4 180 180 7425 3675 o\001 +4 0 0 0 0 0 24 0.0000 4 180 165 4425 2250 c\001 +4 0 0 0 0 0 24 0.0000 4 180 165 4425 5475 e\001 +-6 diff --git a/Master/texmf-dist/doc/dvipdfm/transistor.pdf b/Master/texmf-dist/doc/dvipdfm/transistor.pdf new file mode 100644 index 00000000000..c155b964637 --- /dev/null +++ b/Master/texmf-dist/doc/dvipdfm/transistor.pdf @@ -0,0 +1,473 @@ +%PDF-1.2 +%Çì¢ +4 0 obj +<</Length 5 0 R>> +stream +0.1 0 0 0.1 0 0 cm +q +1 i +13.5 w +1330 1240 m +1330 1060 l +S +9 w +1330 1195 m +1420 1240 l +S +Q +q +W +0 0 m +0 1970 l +1740 1970 l +1740 0 l +h +1396 1080.1 m +1408.9 1066.3 l +1390 1068.1 l +1432.6 1047.1 l +1438.6 1059.1 l +h +n +1 i +9 w +1330 1105 m +1423.6 1059.1 l +S +Q +q +1 i +1396 1080.1 m +1408.9 1066.3 l +1390 1068.1 l +1393 1074.1 l +1396 1080.1 l +f* +9 w +1396 1080.1 m +1408.9 1066.3 l +1390 1068.1 l +1393 1074.1 l +1396 1080.1 l +h +S +13.5 w +790 992.5 m +790 812.5 l +S +9 w +790 947.5 m +880 992.5 l +S +Q +q +W +0 0 m +0 1970 l +1740 1970 l +1740 0 l +h +856 832.6 m +868.9 818.8 l +850 820.6 l +892.6 799.6 l +898.6 811.6 l +h +n +1 i +9 w +790 857.5 m +883.6 811.6 l +S +Q +q +1 i +856 832.6 m +868.9 818.8 l +850 820.6 l +853 826.6 l +856 832.6 l +f* +9 w +856 832.6 m +868.9 818.8 l +850 820.6 l +853 826.6 l +856 832.6 l +h +S +4.5 w +69.9995 902.5 m +69.9995 890.074 59.926 880 47.4998 880 c +35.0735 880 25 890.074 25 902.5 c +25 914.926 35.0735 925 47.4998 925 c +59.926 925 69.9995 914.926 69.9995 902.5 c +h +S +1735 880 m +1735 867.574 1724.93 857.5 1712.5 857.5 c +1700.07 857.5 1690 867.574 1690 880 c +1690 892.426 1700.07 902.5 1712.5 902.5 c +1724.93 902.5 1735 892.426 1735 880 c +h +S +880 1285 m +880 992.5 l +S +9 w +880 1465 m +914.8 1451.5 l +842.2 1414 l +915.4 1376.2 l +841.6 1339.6 l +914.8 1302.4 l +879.4 1286.2 l +S +Q +q +W +0 0 m +0 1970 l +1740 1970 l +1740 0 l +h +322 1767.4 m +340 1853.8 l +358 1767.4 l +358 1879 l +322 1879 l +h +n +1 i +4.5 w +340 1465 m +340 1870 l +S +Q +q +1 i +322 1767.4 m +340 1853.8 l +358 1767.4 l +340 1781.8 l +322 1767.4 l +f* +4.5 w +322 1767.4 m +340 1853.8 l +358 1767.4 l +340 1781.8 l +322 1767.4 l +h +S +9 w +340.6 1463.8 m +375.4 1450.3 l +302.8 1412.8 l +376 1375 l +302.2 1338.4 l +375.4 1301.2 l +340 1285 l +S +Q +q +W +0 0 m +0 1970 l +1740 1970 l +1740 0 l +h +862 1767.4 m +880 1853.8 l +898 1767.4 l +898 1879 l +862 1879 l +h +n +1 i +4.5 w +880 1465 m +880 1870 l +S +Q +q +1 i +862 1767.4 m +880 1853.8 l +898 1767.4 l +880 1781.8 l +862 1767.4 l +f* +4.5 w +862 1767.4 m +880 1853.8 l +898 1767.4 l +880 1781.8 l +862 1767.4 l +h +S +880 1150 m +1330 1150 l +S +340 1285 m +340 610 l +S +1420 1060 m +1420 610 l +S +880 812.5 m +880 610 l +S +9 w +880 610 m +914.8 596.5 l +842.2 559 l +915.4 521.2 l +841.6 484.6 l +914.8 447.4 l +879.4 431.2 l +S +Q +q +W +0 0 m +0 1970 l +1740 1970 l +1740 0 l +h +898 262.6 m +880 176.2 l +862 262.6 l +862 151 l +898 151 l +h +n +1 i +4.5 w +880 430 m +880 160 l +S +Q +q +1 i +898 262.6 m +880 176.2 l +862 262.6 l +880 248.2 l +898 262.6 l +f* +4.5 w +898 262.6 m +880 176.2 l +862 262.6 l +880 248.2 l +898 262.6 l +h +S +9 w +340.3 608.2 m +375.1 594.7 l +302.5 557.2 l +375.7 519.4 l +301.9 482.8 l +375.1 445.6 l +339.7 429.4 l +S +Q +q +W +0 0 m +0 1970 l +1740 1970 l +1740 0 l +h +358 262.6 m +340 176.2 l +322 262.6 l +322 151 l +358 151 l +h +n +1 i +4.5 w +340 430 m +340 160 l +S +Q +q +1 i +358 262.6 m +340 176.2 l +322 262.6 l +340 248.2 l +358 262.6 l +f* +4.5 w +358 262.6 m +340 176.2 l +322 262.6 l +340 248.2 l +358 262.6 l +h +S +69.9998 902.5 m +790 902.5 l +S +9 w +1420 610 m +1454.8 596.5 l +1382.2 559 l +1455.4 521.2 l +1381.6 484.6 l +1454.8 447.4 l +1419.4 431.2 l +S +Q +q +W +0 0 m +0 1970 l +1740 1970 l +1740 0 l +h +1438 262.6 m +1420 176.2 l +1402 262.6 l +1402 151 l +1438 151 l +h +n +1 i +4.5 w +1420 430 m +1420 160 l +S +Q +q +1 i +1438 262.6 m +1420 176.2 l +1402 262.6 l +1420 248.2 l +1438 262.6 l +f* +4.5 w +1438 262.6 m +1420 176.2 l +1402 262.6 l +1420 248.2 l +1438 262.6 l +h +S +1420 880 m +1690 880 l +S +Q +q +W +0 0 m +0 1970 l +1740 1970 l +1740 0 l +h +1402 1767.4 m +1420 1853.8 l +1438 1767.4 l +1438 1879 l +1402 1879 l +h +n +1 i +4.5 w +1420 1240 m +1420 1870 l +S +Q +q +1 i +1402 1767.4 m +1420 1853.8 l +1438 1767.4 l +1420 1781.8 l +1402 1767.4 l +f* +4.5 w +1402 1767.4 m +1420 1853.8 l +1438 1767.4 l +1420 1781.8 l +1402 1767.4 l +h +S +q 10 0 0 10 0 0 cm BT +/R6 10.8 Tf +1 0 0 1 0.249975 99.25 Tm(v)Tj +12.15 42.75 Td(R)Tj +56.25 0 Td(R)Tj +-48.15 -4.5 Td(a)Tj +-15.75 -42.75 Td(i)Tj +69.75 94.5 Td(12 V)Tj +4.5 -189 Td(-12 V)Tj +83.25 99 Td(v)Tj +-93.6 -51.75 Td(R)Tj +-56.25 0 Td(R)Tj +108 0 Td(R)Tj +-99.9 -6.75 Td(b)Tj +108 0 Td(x)Tj +38.25 54 Td(o)Tj +-90 42.75 Td(c)Tj +0 -96.75 Td(e)Tj +ET Q +Q +endstream +endobj +5 0 obj +3911 +endobj +3 0 obj +<< +/Type /Page +/MediaBox [0 0 174 197] +/Parent 2 0 R +/Resources << /ProcSet [/PDF /Text] +/Font << +/R6 6 0 R +>> +>> +/Contents 4 0 R +>> +endobj +6 0 obj +<</Type/Font/Name/R6/Subtype/Type1/BaseFont/Times-Roman>> +endobj +2 0 obj +<< /Type /Pages /Kids [ +3 0 R +] /Count 1 +>> +endobj +1 0 obj +<< /Type /Catalog /Pages 2 0 R +>> +endobj +7 0 obj +<< /CreationDate (D:19990919130433) +/Producer (Aladdin Ghostscript 5.50) +>> +endobj +xref +0 8 +0000000000 65535 f +0000004276 00000 n +0000004217 00000 n +0000003996 00000 n +0000000015 00000 n +0000003976 00000 n +0000004144 00000 n +0000004325 00000 n +trailer +<< /Size 8 /Root 1 0 R /Info 7 0 R +>> +startxref +4416 +%%EOF diff --git a/Master/texmf-dist/doc/dvipdfmx/dvipdfmx-special.pdf b/Master/texmf-dist/doc/dvipdfmx/dvipdfmx-special.pdf Binary files differnew file mode 100644 index 00000000000..5b64978c1a5 --- /dev/null +++ b/Master/texmf-dist/doc/dvipdfmx/dvipdfmx-special.pdf diff --git a/Master/texmf-dist/doc/dvipdfmx/dvipdfmx-special.tex b/Master/texmf-dist/doc/dvipdfmx/dvipdfmx-special.tex new file mode 100644 index 00000000000..64dbf22bd60 --- /dev/null +++ b/Master/texmf-dist/doc/dvipdfmx/dvipdfmx-special.tex @@ -0,0 +1,608 @@ +%% tb94cho.ltx +%% Copyright 2010 Jin-Hwan CHO +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this work is Jin-Hwan CHO. + +\documentclass[final]{ltugboat} + +\usepackage{graphicx} +\usepackage{url} +%\usepackage{picins} +\usepackage{microtype} + +\def\CFF{\acro{CFF}} +\def\CID{\acro{CID}} +\def\CJK{\acro{CJK}} +\def\DTL{\acro{DTL}} +\def\DVIasm{\acro{DVI}asm} +\def\DVItype{\acro{DVI}type} +\def\DPS{\acro{DVIPS}} +\def\DPM{\acro{DVI\-PDFM}} +\def\DPMx{\acro{DVI\-PDFM}($x$)} +\let\DPX\DVIPDFMx +\def\pdfmark{pdfmark} +\def\GS{Ghostscript} +\def\EPS{\acro{EPS}} +\def\pdfTeX{pdf\/\TeX} +\def\LuaTeX{Lua\TeX} +\def\pTeX{p\kern-0.05em\TeX} +\def\XObject{\acro{XO}bject} +\def\fafter{1.5pt} + +\let\note=\footnote +\def\ctanloc#1{\url{http://mirror.ctan.org/#1}} +\setlength{\fboxsep}{1.5pt} + +%\divide\abovecaptionskip by 2 + +% don't go to a float page so soon: +%\renewcommand{\dbltopfraction}{.99} +%\renewcommand{\dblfloatpagefraction}{.8} + +\title{\DVI\ specials for \PDF\ generation} +\author{Jin-Hwan Cho} +\address{Department of Mathematics \\ The University of Suwon \\ Republic of Korea} +\netaddress{chofchof (at) ktug dot or dot kr} + +\begin{document} +\sectitle{Software \& Tools} +\maketitle + +\begin{abstract}% +\acro{DVIPDFM}($x$) manages various \PDF\ effects by means of \DVI\ specials. +Appropriate documentation of \DVI\ specials, however, is not easy to find, and exact functionality is not simple to catch without reading the source code of \DVI\ drivers. +This paper deals with the \DVI\ specials defined in \acro{DVIPDFM}($x$) that are mainly used for \PDF\ generation. +We discuss the features of those specials with some examples, many of which are not documented elsewhere. +\end{abstract} + +\section{Introduction} + +\DVI, the output file format of D.~E.~Knuth's \TeX, is not widely used at present compared with \PDF, the output format of \pdfTeX. +It is rather old\note{\DVI\ was designed by David R.~Fuchs in 1979.} and obsolete, but it has powerful aspects nonetheless: \emph{simplicity} and \emph{compactness}. + +These aspects make it possible to manipulate \DVI\ files in an easy and fast way. +Many \DVI\ utilities were developed to convert the \DVI\ format to other file formats including \PS\ and \PDF. +It is also possible to edit \DVI\ files directly by the use of \DVIasm~\cite{Cho07,Cho08,DVIasm}. + +Twenty years ago, at the time \PS\ dominated the printing world, nobody expected a new format would replace \PS. +\PDF\ is not eternal either. +In future, when a new format surpassing \PDF\ appears, \DVI\ will be the first format in the \TeX\ world that can be converted to the new format. +Notice that \LuaTeX, considered to be the next generation of \pdfTeX, still supports the \DVI\ format. + +There are two popular ways to convert \DVI\ to \PDF. +The first one is a two-way conversion, from \DVI\ to \PS\ with \DPS, and then from \PS\ to \PDF\ with a distiller. +Adobe Acrobat Distiller is the oldest commercial program, and \GS\ is the most popular distiller in the \TeX\ world. \MacOSX\ also has its own distiller. + +Adobe designed the \pdfmark\ operator~\cite{pdfmark} for its distiller to support \PDF\ features that are not expressible using the standard \PS\ operators. +The \pdfmark\ operator is given in the \TeX\ source by means of a \DVI\ special command. +Note that it is not \DPS\ but a distiller that processes the \pdfmark\ operator. + +Mark A.~Wicks' \DPM~\cite{DVIPDFM} introduced the other way of converting \DVI\ directly to \PDF. +He also designed new \DVI\ specials based on the \pdfmark\ operator to support various \PDF\ features. +The new specials, however, lacked some functionality in practical use so that not many \PDF\ features could be obtained compared with \pdfTeX. + +One of the main goal of \DPX, an extension of \DPM\ that grew out of the \CJK\note{Chinese, Japanese, and Korean.} support, was to provide as many \PDF\ features as \pdfTeX~\cite{Cho03}. +\DPX\ extended the functionality of some special commands of \DPM, and designed new special commands having a similar functionality of \pdfTeX's own primitives. +Furthermore, \DPX\ has several powerful features not available in \DPM. + \begin{itemize} + \item Support 16-bit character sets (\CJK\ encodings and Unicode) with \CID-keyed font technology. + \item Support various font formats including OpenType, TrueType, etc. + \item Use \CFF\ font format for embedded Type1 \PS\ fonts so that the size of the \PDF\ output is quite small compared with \pdfTeX's output. + \item Support extended \TeX\ engines, e.g., Omega, Japanese \pTeX, \XeTeX\ (via \acro{XDVIPDFMX}).\note{Upcoming version of \DPX\ will support the \DVI\ output generated by \LuaTeX.} + \end{itemize} + +The \acro{TODO} list of \DPX\ had contained one outstanding item for a long time: supporting Till Tantau's beamer package~\cite{beamer}, that is widely used for \PDF\ presentation. +In fact, this package does not handle \DVI\ specials in a direct way. +Instead, the graphics part comes from the same author's \PGF\ package~\cite{PGF}, and the other \PDF\ effects come from the hyperref package~\cite{hyperref}. + +\DPX\ has supported full functionality of the \PGF\ package since June 2008.\note{The \DPX\ driver that works with the \PGF\ package included in \TeX\ Live 2008 can be downloaded from \url{http://project.ktug.or.kr/dvipdfmx/contrib/generic/}.} +Nonetheless, the navigation buttons usually shown in the lower right corner of the presentation still did not work, although they were displayed correctly. +The source code\note{\raggedright \ctanloc{macros/latex/contrib/beamer/base/beamerbasenavigation.sty}} implementing the buttons was + +\begin{verbatim}[\small] +\def\beamer@linkspace#1{\vbox to7.5pt{}\kern#1} +\end{verbatim} + +The code above generates an \emph{empty} box that will be surrounded by the two special commands, `\texttt{pdf:bann}' (before) and `\texttt{pdf:eann}' (after). +Unfortunately, neither \DPM\ nor \DPX\ construct any annotation in the case of an empty box. +Another special command `\texttt{pdf:ann}' must be used instead for this purpose. +That was the exact reason why the navigation buttons did not work. + +Why did the author of the beamer package make such a mistake? +As a matter of fact, it was not his fault because no statement could be found about that functionality in the manual of \DPM~\cite{DVIPDFM}. +This unhappy story led to this paper. + +The author gave a presentation~\cite{Cho05} at \tug\ 2005, in which the different behaviors of \DVI\ specials of \DPS, \DPM, and \DPX\ were discussed. +\DVI\ specials for \PDF\ generation, however, were not fully discussed at that time. +The main objective of this paper is to bridge this gap. + +We will discuss in the following sections the features of \DVI\ specials defined in \DPM\ for \PDF\ generation, and the extended features given by \DPX. +The author hopes this paper would be useful for package writers who are finding appropriate information on \DVI\ specials. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Named PDF objects} + +There are two kinds of named objects, built-in and user-defined \PDF\ objects. + +\subsection{Built-in named objects} + +Built-in objects defined in \DPMx{} are listed in Table~\ref{Table1}. We refer to~\cite[p.~12]{pdfmark} and~\cite[p.~5]{DVIPDFM} for \pdfmark\ and \DPM\ built-in objects, respectively. +Notice that it is not allowed to modify the contents of the last five built-in objects in Table~\ref{Table1}. + +\begin{table}[h] +\begin{tabular}{|l|p{1.95in}|} \hline +\texttt{@catalog} & catalog dictionary~\cite[p.~139]{PDFReference} \\ +\texttt{@docinfo} & (\DPX\ only) document\newline information dictionary \cite[p.~844]{PDFReference} \\ +\texttt{@names} & name dictionary~\cite[p.~150]{PDFReference} \\ +\texttt{@pages} & root page tree node \cite[p.~143]{PDFReference} \\ +\texttt{@resources} & resource dictionary of current\newline page \cite[p.~154]{PDFReference} \\ +\texttt{@thispage} & current page object \cite[p.~145]{PDFReference} \\\hline +\texttt{@prevpage} & reference only \\ +\texttt{@nextpage} & reference only \\ +\texttt{@page$n$} & reference only \\ +\texttt{@xpos} & reference only \\ +\texttt{@ypos} & reference only \\ +\hline +\end{tabular} +\caption{Built-in objects defined in \DPMx{}} +\label{Table1} +\end{table} + + +\subsection{User-defined named objects} + +Two special commands are provided by \DPMx{} for user-defined objects. +One is to define a named object, and the other is to add content to the previously defined object. + +\begin{itemize} +\item\fbox{\ttfamily pdf:obj @name PDFobject} \ creates a named object that can be referenced later by `\texttt{@name}'. +\end{itemize} + +\noindent +All possible object types for `\texttt{PDFobject}' are listed in Table~\ref{Table2}. +In the case of indirect objects, the object number must be given explicitly, so that this feature is rarely used, especially to specify the objects in a different \PDF\ file. + +\begin{table}[h] +\begin{tabular}{|l|p{2.1in}|} \hline +boolean & \texttt{true}, \texttt{false} \\ +numeric & \texttt{123}, \texttt{34.5}, \texttt{-.002} \\ +string & \texttt{(This is a string)}, \texttt{<901FA3>} \\ +name & \texttt{/Name1}, \texttt{/.notdef} \\ +array & \texttt{[3.14 false (Ralph) /Name1]} \\ +dictionary & \texttt{<</Key1 (Value) /Key2 3.14>>} \\ +null & \texttt{null} \\\hline +indirect & \texttt{12 0 R} \\ +stream & \texttt{stream ... endstream} \\ +\hline +\end{tabular} +\caption{\PDF\ object types~\cite[p.~51]{PDFReference}} +\label{Table2} +\end{table} + +It is not simple to construct a stream object with the special command `\texttt{pdf:obj}' because +the length of the stream object must be specified explicitly, which is quite bothersome. +Imagine that you are trying to construct a stream object whose source comes from a file. +Is it possible with this special command? +Moreover, any stream object requires the keyword `\texttt{stream}' followed by an end-of-line marker.\note{% +An end-of-line marker consists of either a carriage return (\texttt{0x0d}) and a line feed (\texttt{0x0a}) or just a line feed, and not by a carriage return alone~\cite[pp.~60--61]{PDFReference}.} + +\DPX, therefore, provides new special commands for stream objects. + +\begin{itemize} +\item\fbox{\ttfamily pdf:stream @name (string) <<dict>>} \\[\fafter] +constructs a stream object the source of which comes from the string object `\texttt{(string)}'. +The stream dictionary `\texttt{<<dict>>}' is optional, and the dictionary entry `\texttt{/Length}' is created automatically. +\end{itemize} + +\noindent +The following two special commands, for instance, construct the same stream object. +The stream data of the second object is represented in the \ASCII\ base-85 encoding.~\cite[p.~70]{PDFReference} + +\begin{verbatim}[\small] +\special{pdf:stream @name (xxxxxxxx)} +\special{pdf:stream @name (G^+IXG^+IX) + <</Filter/ASCII85Decode>>} +\end{verbatim} + +\begin{itemize} +\item\fbox{\ttfamily pdf:fstream @name (filename) <<dict>>} \\[\fafter] +constructs a stream object in the same way as `\texttt{pdf:stream}', but the source of stream data comes from a file `\texttt{filename}'. +\end{itemize} + +\noindent +The following example shows how to include a source \TeX\ file inside the output \PDF\ file. (See~\cite[p.~637]{PDFReference} for more details on the file attachment annotation.) + +\begin{verbatim}[\small] +\special{pdf:fstream @myfile (mytest.tex)} +\special{pdf:ann bbox 0 0 10 10 << + /Subtype /FileAttachment /FS << + /Type /Filespec /F (mytest.tex) + /EF << /F @myfile >> >> + /Name /PushPin >>} +\end{verbatim} + + +\subsection{Adding content to named objects} + +We describe the special command for adding content to named objects. The type of the named object must be either array or dictionary. + +\begin{itemize} +\item\fbox{\ttfamily pdf:put @arrayobj object$_1$ $\ldots$ object$_n$} \\[\fafter] +appends the $n$ objects at the end of the array object `\texttt{@arrayobj}'. +\item\fbox{\ttfamily pdf:put @dictobj <<dict>>} \ merges the dictionary object `\texttt{<<dict>>}' into `\texttt{@dictobj}'. If both the dictionaries have a common key, the old value in `\texttt{@dictobj}' will be replaced by the new value in `\texttt{<<dict>>}'. +\end{itemize} + +\noindent +In the following example, the value of the key `\texttt{/X}' in the dictionary object `\texttt{@name}' is `\texttt{@Moon2}'. +(See~\cite[p.~15]{pdfmark} for corresponding \pdfmark\ operators.) + +\begin{verbatim}[\small] +\special{pdf:put @Moon1 + [ (Earth to Moon) 238855 /mies ]} +\special{pdf:obj @Moon2 []} +\special{pdf:put @Moon2 (Moon to Earth)} +\special{pdf:put @Moon2 238855} +\special{pdf:put @Moon2 /miles} +\special{pdf:obj @name <<>>} +\special{pdf:put @name << /X @Moon1 >>} +\special{pdf:put @name << /X @Moon2 >>} +\end{verbatim} + +Note that \DPM\ does not allow adding content to a stream dictionary object, but \DPX\ does. + +\begin{itemize} +\item\fbox{\ttfamily pdf:put @streamobj <<dict>>} \ \ merges the dictionary object `\texttt{<<dict>>}' into the stream dictionary of `\texttt{@streamobj}'. The dictionary entries, `\texttt{/Length}' and `\texttt{/Filter}', in the object `\texttt{<<dict>>}' will be ignored. +\end{itemize} + +Finally, \DPMx{} provides the special command +\fbox{\ttfamily pdf:close @name} to prevent further modifying the content of `\texttt{@name}'. After closing the named object, it can only be referenced. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Annotations} + +An annotation is considered as an object with a location on a page. +The type of the object is given by the value of the key `\texttt{/Subtype}', for instance, `\texttt{/Text}', `\texttt{/Link}', `\texttt{/Sound}', `\texttt{/Movie}', etc. +(See~\cite[p.~615]{PDFReference} for the list of all annotation types.) +The location is given by an array object associated to the key `\texttt{/Rect}'. +\DPMx{} provides the following special command for annotations. + +\begin{itemize} +\item\fbox{\hbadness=10000 +\parbox{.43\textwidth}{\ttfamily pdf:ann @name width [length] height [length] depth [length] <<dict>>}} +\par\vspace{\fafter}\noindent +The annotation dictionary is given by `\texttt{<<dict>>}' and the location relative to the current position is given by the three dimension parameters, `\texttt{width}', `\texttt{height}', and `\texttt{depth}'. +\end{itemize} + +\noindent +It is not possible to specify the location in an absolute way. +Any value of the key `\texttt{/Rect}' in the annotation dictionary `\texttt{<<dict>>}' will be ignored if found. +It is not allowed to modify the annotation dictionary with `\texttt{pdf:put}' command, so `\texttt{@name}' must be used as a reference. + +Note that \DPX\ allows the `\texttt{bp}' unit in the dimension parameters, but \DPM\ does not. +Moreover, \DPX\ supports the following form. + +\begin{itemize} +\item\fbox{\hbadness=10000 +\parbox{.425\textwidth}{\ttfamily pdf:ann @name bbox [ulx] [uly] [lrx] [lry] <<dict>>}} +\par\vspace{\fafter}\noindent +The relative location is given by the bounding box consisting of four numbers in `\texttt{bp}' units. +\end{itemize} + +\noindent +The following example shows a movie annotation that enables us to run the movie file `\texttt{mymovie.avi}' inside a \PDF\ viewer program. + +\begin{verbatim} +\special{pdf:ann bbox 0 0 360 180 << + /Subtype /Movie /Border [1 0 0] + /T (My Movie) /Movie << + /F (mymovie.avi) /Aspect [720 360] + /Poster true >> + /A << /ShowControls false >> >>} +\end{verbatim} + +\DPMx{} provides other special commands for \emph{breakable} annotations, e.g., an annotation broken over several lines or several pages. + +\begin{itemize} +\item\fbox{\ttfamily pdf:bann <<dict>>} \ begins a breakable annotation. +Object name is not allowed for this command. +\item\fbox{\ttfamily pdf:eann} \ terminates the previous breakable annotation. +\end{itemize} + +\noindent +These specials are mainly used for `\texttt{/Link}' annotation as the following example shows. + +\begin{verbatim}[\small] +\special{pdf:bann << /Subtype /Link + /BS << /Type /Border /W 0.5 /S /S >> + /A << /S /URI + /URI (http://www.tug.org) >> >>}% +http://www.tug.org% +\special{pdf:eann} +\end{verbatim} + +\noindent +\emph{Warning:} No annotation will be constructed if the content between `\texttt{pdf:bann}' and `\texttt{pdf:eann}' is an empty box. For example: + +\begin{verbatim}[\small] +\special{pdf:bann << /Subtype /Link ... >>} +\vbox to 7.5pt{}\kern 10pt +\sepcial{pdf:eann} +\end{verbatim} + +Annotations constructed by \DPMx{} may happen to be slightly bigger than the expected size. This occurs when the annotation grow size is positive; this value is specified in the configuration file. To avoid this effect, either modify the configuration file or give `\texttt{-g 0}' on the command line when running \DPMx{}. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Outlines (or bookmarks)} + +The document outline consists of a tree-structured hierarchy of outline items (sometimes called bookmarks) for which \DPMx{} provides the following special command. + +\begin{itemize} +\item\fbox{\ttfamily pdf:out $n$ <<dict>>} \ adds an outline item to the document. The integer parameter $n$ represents the level of the outline entry (beginning with 1), and `\texttt{<<dict>>}' represents the outline item dictionary~\cite[p.~585]{PDFReference}. +\end{itemize} + +Note that all the outline items generated by \DPM\ are closed.\note{The sign of the value of the key `\texttt{/Count}' in the outline item dictionary determines whether the item is open or closed.~\cite[p.~586]{PDFReference}} +The `\texttt{bookmarksopen=true}' option of the hyperref package does not work if the \PDF\ output is generated by \DPM. + +\begin{verbatim}[\small] +\usepackage[ + dvipdfm,bookmarks=true,bookmarksopen=true +]{hyperref} +\end{verbatim} + +\DPX\ provides two solutions for this problem. +The first one is to specify the option `\texttt{-O $n$}' when running \DPX. +Up to level $n$, the outline entries will be open. The second, and complete, solution is to use this extended special command: + +\begin{itemize} +\item\fbox{\ttfamily pdf:out [-] $n$ <<dict>>} \ The symbol `\texttt{[-]}' indicates that the outline item will be closed. On the other hand, `\texttt{[]}' without the minus sign indicates that the outline item will be open. +\end{itemize} + +The hyperref package provides a new option `\texttt{dvipdfmx-outline-open}' that uses the extended command above. This option enables us to control the open level given by `\texttt{bookmarksopenlevel}'. + +\begin{verbatim}[\small] +\usepackage[% + dvipdfmx,bookmarks=true, + bookmarksopen=true, + bookmarksopenlevel=1, + dvipdfmx-outline-open +]{hyperref} +\end{verbatim} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{External objects (or XObjects)} + +\DPMx{} supports two types of \emph{external objects},\note{% +``A graphics object whose contents are defined by a self-contained content stream, separate from the content stream in which it is used.''~\cite[p.~332]{PDFReference} +} an image \XObject{} and a form \XObject. + +\begin{itemize} +\item\fbox{\hbadness=10000 +\parbox{.42\textwidth}{\ttfamily pdf:image @name width [length] height [length] depth [length] (imagefile)}} +\par\vspace{\fafter}\noindent +defines an image \XObject\ the source of which comes from the file `\texttt{imagefile}'. See~\cite[p.~216]{Cho07} for complete syntax provided by \DPX. +\item\fbox{\hbadness=10000 +\parbox{.42\textwidth}{\ttfamily pdf:bxobj @name width [length] height [length] depth [length]}} +\par\vspace{\fafter}\noindent +begins the definition of a form \XObject. +As with the command `\texttt{pdf:add}', \DPX\ allows bounding box `\texttt{bbox [ulx] [uly] [lrx] [lry]}' for dimension parameters. +\item\fbox{\ttfamily pdf:exobj} \ ends the previous form \XObject\ definition. +\item\fbox{\ttfamily pdf:uxobj @name} \ displays the image \XObject\ or the form \XObject\ previously defined and associated with `\texttt{@name}'. +\DPM$x$ allows dimension parameters (same as `\texttt{pdf:image}') after `\texttt{@name}'. +\end{itemize} + +\noindent +Typical examples showing how to use image \XObject{}s and form \XObject{}s can be found in~\cite[pp.~15--16]{Cho05}. + +\begin{figure}[h] +\centering\includegraphics{transparencygroup.pdf} +\caption{Two form \XObject{}s with opacity 0.5; the right one is a group \XObject.} +\label{Figure1} +\end{figure} + +\DPX\ extended the command `\texttt{pdf:eann}' to support a group \XObject.\note{``A special type of form \XObject\ that can be used to group graphical elements together as a unit for various purposes.'' \cite[p.~360]{PDFReference}} +Figure~\ref{Figure1} shows the difference between a normal \XObject\ and a group \XObject. + +\begin{itemize} +\item\fbox{\ttfamily pdf:exobj <<dict>>} \ merges the dictionary object `\texttt{<<dict>>}' into the type1 form dictionary~\cite[p.~358]{PDFReference} of the previous form \XObject\ and then close the \XObject. +\end{itemize} + +\noindent +The following code draws the right image in Figure~\ref{Figure1}. + +\begin{verbatim}[\small] +\special{pdf:bxobj @group bbox 0 0 50 50} +\special{pdf:code + 15 w 0 0 m 50 50 l S 50 0 m 0 50 l S} +\special{pdf:exobj << /Group + << /S /Transparency >> >>} +\special{pdf:obj @extgstate + << /CA0.5 <</CA 0.5>> /ca0.5 <</ca 0.5>> >>} +\special{pdf:put @resources + << /ExtGState @extgstate >>} +\special{pdf:code /CA0.5 gs /ca0.5 gs} +\special{pdf:uxobj @group} +\end{verbatim} + +\noindent We get the left image if \verb+\special{pdf:exobj}+ is used instead of the 4th and the 5th line. + + +\section{Raw PDF Operators} + +This final section deals with writing raw \PDF\ operators in the output. +\DPM\ provides a special command for this feature. + +\begin{itemize} +\item\fbox{\ttfamily pdf:content Operators} \vadjust{\vskip2pt} adds the list of operators ``\texttt{Operators}'' to the current page at the current location. +The operator `\texttt{q}', saving the current graphics state, followed by a transformation matrix moving to the current location will be attached to the beginning of the list, and the operator `\texttt{Q}' restoring the saved graphics state at the end of the list. +\end{itemize} + +For instance, the special command + +\begin{verbatim} +\special{pdf:content 10 w 0 0 m 50 50 l S} +\end{verbatim} + +\noindent +inserts the following list of operators in the output. + +\smallskip\noindent +{\fontsize{9pt}{11pt}\selectfont +%\begin{verbatim} +\ttfamily\ldots\,% +\fbox{\strut q}\,\fbox{\strut 1 0 0 1 $x$ $y$ cm}\,% +10 w 0 0 m 50 50 l S +\fbox{\strut Q}\,% +\ldots +%\end{verbatim} +} + +We sometimes need to insert \PDF\ operators without additional graphics state operators. +The author of the \PGF\ package devised a trick: + +{\hfuzz=5pt +\begin{verbatim} +\special{pdf:content Q ... Operators ... q} +\end{verbatim} +} + +\noindent +The first operator `\texttt{Q}' and the last operator `\texttt{q}' nullify the effects of graphics state operators that are attached. + +\DPX\ provides a new special command instead of the trick above. + +\begin{itemize} +\item\fbox{\ttfamily pdf:literal direct Operators}\note{% +The idea of `\texttt{pdf:literal direct}' came from the primitive `\cs{pdfliteral direct}' of \pdfTeX.} \ or simply\\[\fafter] +\fbox{\ttfamily pdf:code Operators} \ plays the same role as\\[\fafter] +`\texttt{pdf:content}, but no graphics state operator and no +transformation matrix will be added. +\end{itemize} + +\begin{figure}[h] +\centering\includegraphics{bcontent.pdf} +\caption{The location of `23' in the left image varies according to the location of 1 in the current page.} +\label{Figure2} +\end{figure} + +Consider the following code, labelled Listing~\ref{Code1}. Which image in Figure~\ref{Figure2} does this code generate? + +\renewcommand{\tablename}{Listing} +\setcounter{table}{0} +\begin{table}[h] +%{ +\hfuzz=5pt +\fontsize{9pt}{11pt}\selectfont +\begin{verbatim} +\def\bpic{\special{pdf:content q}} +\def\epic{\special{pdf:content Q}} +\def\myop#1{\special{pdf:content Q #1 q}} +1\bpic2\myop{.5 G 10 w 0 0 m 100 100 l S}3\epic4 +\end{verbatim} +%} +\caption{Which image in Figure~\ref{Figure2} is the result of this code, produced by \DPM($x$)?} +\label{Code1} +\end{table} + +The macro \cs{bpic} in Listing~\ref{Code1} nullifies the effect of the operator `\texttt{Q}' that will be attached after `\texttt{q}', and the macro \cs{epic} nullifies the effect of the list `\texttt{q 1 0 0 1 $x$ $y$ cm}' that will be attached before `\texttt{Q}'. + +Most people may choose the right-hand image in Figure~\ref{Figure2} as the result of Listing~\ref{Code1}, if they remember the fact that special commands are considered nothing by \TeX. However, the answer is the left-hand image. +The reason is that the transformation matrix in the macro \cs{bpic} still has an effect on the characters `2' and `3'. The effect will be nullified by the macro \cs{epic}. + +To produce the right-hand image, \DPX\ provides the following new special commands. + +\begin{itemize} +\item\fbox{\ttfamily pdf:bcontent} \ starts a block that works in the same way as `\texttt{pdf:content}' except that all text between this command and `\texttt{pdf:econtent}' will be placed in the right position. +\item\fbox{\ttfamily pdf:econtent} \ ends the current block. +\end{itemize} + +\noindent +Moreover, `\texttt{pdf:bcontent}' and `\texttt{pdf:econtent}' can be nested. + +Finally, we can get the right-hand image in Figure~\ref{Figure2} as the result of Listing~\ref{Code2} following, produced by \DPX. + +\begin{table}[h] +%{ +\hfuzz=5pt +\fontsize{9pt}{11pt}\selectfont +\begin{verbatim} +\def\bpic{\special{pdf:bcontent}} +\def\epic{\special{pdf:econtent}} +\def\myop#1{\special{pdf:code #1}} +1\bpic2\myop{.5 G 10 w 0 0 m 100 100 l S}3\epic4 +\end{verbatim} +%} +\caption{The right-hand image in Figure~\ref{Figure2} is the result of this example produced by \DPX.} +\label{Code2} +\end{table} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\SetBibJustification\raggedright +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{thebibliography}{99} + +\bibitem{PDFReference} Adobe Systems, Inc., \emph{\PDF\ Reference}, \nth{6} edition (Version 1.7, November 2006). + \url{http://www.adobe.com/devnet/acrobat/pdfs/pdf_reference_1-7.pdf}. + +\bibitem{pdfmark} Adobe Systems, Inc., \emph{\pdfmark\ Reference} +(Version 8.0, November 2006). + \url{http://www.adobe.com/devnet/acrobat/pdfs/pdfmark_reference.pdf}. + +\bibitem{Cho03} +Jin-Hwan Cho, \emph{\DPX, an extension of \DPM}, + \tug\ 2003. Hawaii, United States. + \url{http://project.ktug.or.kr/dvipdfmx/doc/tug2003.pdf}. + +\bibitem{Cho05} +Jin-Hwan Cho, \emph{Practical Use of Special Commands in \DPX}, + \tug\ 2005, International Typesetting Conference. Wuhan, China. + \url{http://project.ktug.or.kr/dvipdfmx/doc/tug2005.pdf}. + +\bibitem{Cho07} +Jin-Hwan Cho, \emph{Hacking \DVI\ files: Birth of \DVIasm}, The Prac\TeX\ Journal (2007), no.~1, and TUGboat 28:2, 2007, 210--217. + \url{http://tug.org/TUGboat/Articles/tb28-2/tb89cho.pdf}. + +\bibitem{Cho08} +Jin-Hwan Cho, \emph{Handling Two-Byte Characters with \DVIasm}, The Asian Journal of \TeX\ \textbf{2} (2008), no.~1, 63--68. + \url{http://ajt.ktug.kr/assets/2008/5/1/0201cho.pdf}. + +\bibitem{DVIasm} +Jin-Hwan Cho, \emph{The \DVIasm\ Python script}. + \ctanloc{dviware/dviasm/}. + +\bibitem{hyperref} +Heiko Oberdiek, \emph{The hyperref package} (Version 6.78f, August 2008). + \ctanloc{macros/latex/contrib/hyperref/} + +\bibitem{beamer} +Till Tantau, \emph{The beamer package} (Version 3.07, March 2007). + \ctanloc{macros/latex/contrib/beamer/}. + +\newpage +\bibitem{PGF} +Till Tantau, \emph{\PGF, A Portable Graphics Format for \TeX} (Version 2.00, February 2008). + \ctanloc{graphics/pgf/}. + +\bibitem{DVIPDFM} Mark A. Wicks, \emph{\DPM\ User's Manual} +(Version 0.12.4, September 1999). + \url{http://gaspra.kettering.edu/dvipdfm/dvipdfm-0.12.4.pdf}. + +\end{thebibliography} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\medskip +\makesignature +\end{document} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/doc/dvipng/dvipng.html b/Master/texmf-dist/doc/dvipng/dvipng.html new file mode 100644 index 00000000000..bcbc45d8bc7 --- /dev/null +++ b/Master/texmf-dist/doc/dvipng/dvipng.html @@ -0,0 +1,1284 @@ +<html lang="en"> +<head> +<title>A DVI-to-PNG translator</title> +<meta http-equiv="Content-Type" content="text/html"> +<meta name="description" content="A DVI-to-PNG translator"> +<meta name="generator" content="makeinfo 4.13"> +<link title="Top" rel="top" href="#Top"> +<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> +<meta http-equiv="Content-Style-Type" content="text/css"> +<style type="text/css"><!-- + pre.display { font-family:inherit } + pre.format { font-family:inherit } + pre.smalldisplay { font-family:inherit; font-size:smaller } + pre.smallformat { font-family:inherit; font-size:smaller } + pre.smallexample { font-size:smaller } + pre.smalllisp { font-size:smaller } + span.sc { font-variant:small-caps } + span.roman { font-family:serif; font-weight:normal; } + span.sansserif { font-family:sans-serif; font-weight:normal; } +--></style> +</head> +<body> +<h1 class="settitle">A DVI-to-PNG translator</h1> +<div class="contents"> +<h2>Table of Contents</h2> +<ul> +<li><a name="toc_Top" href="#Top">dvipng</a> +<li><a name="toc_Introduction" href="#Introduction">1 Introduction</a> +<li><a name="toc_Installation" href="#Installation">2 Installation</a> +<ul> +<li><a href="#Prerequisites">2.1 Prerequisites</a> +<li><a href="#Configure">2.2 Configure</a> +<li><a href="#Build_002finstall">2.3 Build/install</a> +<li><a href="#Installation-outside-the-texmf-tree">2.4 Installation outside the texmf tree</a> +<li><a href="#Advice-for-non_002dprivileged-users">2.5 Installation for non-privileged users</a> +</li></ul> +<li><a name="toc_Basic-usage" href="#Basic-usage">3 Basic usage of dvipng</a> +<li><a name="toc_Command_002dline-options" href="#Command_002dline-options">4 Command-line options</a> +<ul> +<li><a href="#Option-summary">4.1 Option summary</a> +<li><a href="#Option-details">4.2 Option details</a> +</li></ul> +<li><a name="toc_Graphics" href="#Graphics">5 Graphics</a> +<ul> +<li><a href="#Encapsulated-PostScript">5.1 Encapsulated PostScript</a> +<li><a href="#Bitmapped-graphics">5.2 Bitmapped graphics</a> +<li><a href="#Raw-PostScript">5.3 Raw PostScript</a> +</li></ul> +<li><a name="toc_Color" href="#Color">6 Color</a> +<ul> +<li><a href="#Color-specifications">6.1 Color specifications</a> +<li><a href="#Color-specials">6.2 Color specials</a> +</li></ul> +<li><a name="toc_Diagnosing-problems" href="#Diagnosing-problems">7 Diagnosing problems</a> +<ul> +<li><a href="#Contact-information">7.1 Contact information</a> +<li><a href="#Debug-options">7.2 Debug options</a> +</li></ul> +<li><a name="toc_Credits" href="#Credits">8 Credits</a> +<li><a name="toc_Copying" href="#Copying">9 Copying</a> +<li><a name="toc_Index" href="#Index">Index</a> +</li></ul> +</div> + + + +<div class="node"> +<a name="Top"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Introduction">Introduction</a>, +Up: <a rel="up" accesskey="u" href="#dir">(dir)</a> + +</div> + +<h2 class="unnumbered">dvipng</h2> + +<p>This manual documents dvipng, a program to translate a DVI (DeVice +Independent) file into PNG (Portable Network Graphics). + + <p>This file documents dvipng version 1.14 + + <p>Corrections or perhaps rewrites of sections are <em>very welcome</em>. + + <p>Jan-Åke Larsson + +<ul class="menu"> +<li><a accesskey="1" href="#Introduction">Introduction</a>: Introduction +<li><a accesskey="2" href="#Installation">Installation</a>: How to compile and install dvipng +<li><a accesskey="3" href="#Basic-usage">Basic usage</a>: First things first +<li><a accesskey="4" href="#Command_002dline-options">Command-line options</a>: Advanced usage +<li><a accesskey="5" href="#Graphics">Graphics</a>: Including PostScript and/or bitmaps +<li><a accesskey="6" href="#Color">Color</a>: Using color with dvipng +<li><a accesskey="7" href="#Diagnosing-problems">Diagnosing problems</a>: Problems? +<li><a accesskey="8" href="#Credits">Credits</a>: People who have contributed +<li><a accesskey="9" href="#Copying">Copying</a>: GNU Lesser General Public License +<li><a href="#Index">Index</a>: General index +</ul> + +<div class="node"> +<a name="Introduction"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Installation">Installation</a>, +Previous: <a rel="previous" accesskey="p" href="#Top">Top</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">1 Introduction</h2> + +<!-- man begin DESCRIPTION --> +<!-- readme.texi --> +<!-- Part of the dvipng distribution --> +<!-- --> +<p>This program makes PNG and/or GIF graphics from DVI files as obtained +from TeX and its relatives. + + <p>If GIF support is enabled, GIF output is chosen by using the +‘<samp><span class="samp">dvigif</span></samp>’ binary or with the ‘<samp><span class="samp">--gif</span></samp>’ option. + + <p>It is intended to produce anti-aliased screen-resolution images as fast +as is possible. The target audience is people who need to generate and +regenerate many images again and again. The primary target is the +preview-latex (X)Emacs package, a package to preview formulas from +within (X)Emacs. Yes, you get to see your formulas in the (X)Emacs +buffer, see <a href="http://www.gnu.org/software/auctex/preview-latex.html">http://www.gnu.org/software/auctex/preview-latex.html</a>. + + <p>Another example is WeBWorK, an internet-based method for delivering +homework problems to students over the internet, giving students +instant feedback as to whether or not their answers are correct, see +<a href="http://webwork.math.rochester.edu">http://webwork.math.rochester.edu</a>. + + <p>A more recent addition to the dvipng-using applications out there is +MediaWiki, the software behind Wikipedia and many other wikis out +there. Dvipng is used to render mathematical formulae from version +1.8.0 of MediaWiki, see <a href="http://www.mediawiki.org">http://www.mediawiki.org</a>. + + <p>Other applications may also benefit, like web applications as latex2html +and WYSIWYG editors like LyX. + + <p>The benefits of ‘<samp><span class="samp">dvipng</span></samp>’/‘<samp><span class="samp">dvigif</span></samp>’ include + + <ul> +<li>Speed. It is a very fast bitmap-rendering code for DVI files, which +makes it suitable for generating large amounts of images on-the-fly, +as needed in preview-latex, WeBWorK and others. + + <li>It does not read the postamble, so it can be started before TeX +finishes. There is a ‘<samp><span class="samp">--follow</span></samp>’ switch that makes dvipng wait at +end-of-file for further output, unless it finds the POST marker that +indicates the end of the DVI. + + <li>Interactive query of options. dvipng can read options interactively +through stdin, and all options are usable. It is even possible to change +the input file through this interface. + + <li>Supports PK, VF, PostScript Type1, and TrueType fonts, subfonts (i.e., +as used in CJK-LaTeX), color specials, and inclusion of PostScript, +PNG, JPEG or GIF images. + + <li>and more... + + </ul> + +<!-- man end --> +<div class="node"> +<a name="Installation"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Basic-usage">Basic usage</a>, +Previous: <a rel="previous" accesskey="p" href="#Introduction">Introduction</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">2 Installation</h2> + +<p><a name="index-configuration_002c-of-dvipng-1"></a><a name="index-compilation-2"></a><a name="index-installation_002c-of-dvipng-3"></a> + +<!-- install.texi --> +<!-- Part of the dvipng distribution --> +<!-- --> + <p>Installing dvipng should be simple: merely <code>./configure</code>, +<code>make</code>, and <code>make install</code>. + +<ul class="menu"> +<li><a accesskey="1" href="#Prerequisites">Prerequisites</a> +<li><a accesskey="2" href="#Configure">Configure</a> +<li><a accesskey="3" href="#Build_002finstall">Build/install</a> +<li><a accesskey="4" href="#Installation-outside-the-texmf-tree">Installation outside the texmf tree</a> +<li><a accesskey="5" href="#Advice-for-non_002dprivileged-users">Advice for non-privileged users</a> +</ul> + +<div class="node"> +<a name="Prerequisites"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Configure">Configure</a>, +Up: <a rel="up" accesskey="u" href="#Installation">Installation</a> + +</div> + +<h3 class="section">2.1 Prerequisites</h3> + + <ul> +<li>The GD Graphics Draw library, libgd + + <p>The drawing library ‘<samp><span class="samp">libgd</span></samp>’ is necessary, and is downloadable at +<a href="http://www.boutell.com/gd">http://www.boutell.com/gd</a>, and there are binary packages for +most operating systems from their respective distributors. In any +case, the latest version of the library installs using ‘<samp><span class="samp">autoconf</span></samp>’ +so it should not be difficult for you to install it from source, and +then proceed with installing dvipng. + + <li>The path-searching library kpathsea + + <p>Kpathsea is most likely included in your LaTeX installation, but it +may happen that ./configure does not find it; see below. If you do not +have it, download it from <a href="http://www.ctan.org">http://www.ctan.org</a> and compile it. +I have no experience with this, so I cannot help much here. + + <li>The font-rendering library FreeType 2 + + <p>While not strictly necessary, a recent FreeType 2 is recommended since +dvipng currently will produce better-quality images when this library is +available. To take advantage of this, you should have at least FreeType +2.1.9. + + <p>FreeType 2 will enable direct support for PostScript and TrueType fonts, +so that dvipng will not need to generate bitmapped variants on disk of +the TeX fonts since modern TeX distributions include PostScript +versions of them. Then, you can render images at different (and unusual) +resolutions without cluttering the disk with lots of bitmapped fonts. + + <p>Finally, it will enable subfont support in dvipng. That is, if you want +to render CJK-LaTeX characters, you must have FreeType 2 installed. + + <li>The font-rendering library T1lib + + <p>An alternative to FreeType 2 is T1lib, but this will enable only +PostScript fonts in dvipng and will not include subfont support. Also +here, you can render images at different (and unusual) resolutions +without cluttering the disk with lots of bitmapped fonts. If both +FreeType 2 and T1lib are present, FreeType will be internally +preferred by dvipng but T1lib can be chosen at runtime. + + <li>libpng and libz + + <p>To be able to compress and write PNG files to disk, dvipng (or really +libgd) uses libpng which in turn uses libz. These should be available on +any modern system, if not, download them and install them. + + <li>The <code>texinfo</code> package + + <p>This is needed for building the documentation. +</ul> + +<div class="node"> +<a name="Configure"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Build_002finstall">Build/install</a>, +Previous: <a rel="previous" accesskey="p" href="#Prerequisites">Prerequisites</a>, +Up: <a rel="up" accesskey="u" href="#Installation">Installation</a> + +</div> + +<h3 class="section">2.2 Configure</h3> + +<p>The first step is to configure the source code, telling it where +various files will be. To do so, run + +<pre class="example"> ./configure <var>options</var> +</pre> + <p>(Note: if you have fetched dvipng from CVS rather than a regular +release, you will have to first generate <samp><span class="file">./configure</span></samp> by running +<code>autoconf</code> 2.53 or later.) + + <p>On many machines, you will not need to specify any options, but if +<code>configure</code> cannot determine something on its own, you'll need to +help it out. For a list of the options type + +<pre class="example"> ./configure --help +</pre> + <p>On some machines, the libraries will be installed in directories that +are not in the linker's search path. This will generate an error when +running <samp><span class="file">./configure</span></samp>, indicating that it cannot find libgd or +libkpathsea (most likely). You then need to specify the path to the +respective library's object files. They are typically called e.g., +<samp><span class="file">libgd.a</span></samp> or <samp><span class="file">libgd.so</span></samp>. If they are located in e.g., +<samp><span class="file">/sw/local/lib</span></samp>, do + +<pre class="example"> ./configure LDFLAGS=-L/sw/local/lib +</pre> + <p>If the library is available as a shared object file (<samp><span class="file">.so</span></samp>), the +runtime linker may also need to be told where to find the library, +then use + +<pre class="example"> ./configure LDFLAGS='-L/sw/local/lib -R/sw/local/lib' +</pre> + <p>When either of these is necessary, it is likely that the C header +files are also installed in directories that are not in the C +preprocessor's search path. This will also generate an error when +running <samp><span class="file">./configure</span></samp>, indicating that it cannot find e.g., +<samp><span class="file">gd.h</span></samp> or <samp><span class="file">kpathsea.h</span></samp> (most likely). You then need to +specify the path to the respective library's C header files. If they +are located in e.g., <samp><span class="file">/sw/local/include</span></samp>, do + +<pre class="example"> ./configure CPPFLAGS=-I/sw/local/include +</pre> + <p>On my SUN Solaris workstation, I had to combine this into + +<pre class="example"> ./configure CPPFLAGS='-I/sw/local/include -I/sw/tex/teTeX/1.0/include'\ + LDFLAGS='-L/sw/local/lib -R/sw/local/lib -L/sw/tex/teTeX/1.0/lib/' +</pre> + <p class="noindent">where the backslash denotes a continuation of the line. + +<div class="node"> +<a name="Build%2finstall"></a> +<a name="Build_002finstall"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Installation-outside-the-texmf-tree">Installation outside the texmf tree</a>, +Previous: <a rel="previous" accesskey="p" href="#Configure">Configure</a>, +Up: <a rel="up" accesskey="u" href="#Installation">Installation</a> + +</div> + +<h3 class="section">2.3 Build/install</h3> + +<p>Once <samp><span class="file">configure</span></samp> has been run, simply enter + +<pre class="example"> make +</pre> + <p class="noindent">at the prompt to compile the C code, and build the documentation files. +To install the files into the locations chosen earlier, type + +<pre class="example"> make install +</pre> + <p class="noindent">You may need special privileges to install, e.g., if you are installing +into system directories. + +<div class="node"> +<a name="Installation-outside-the-texmf-tree"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Advice-for-non_002dprivileged-users">Advice for non-privileged users</a>, +Previous: <a rel="previous" accesskey="p" href="#Build_002finstall">Build/install</a>, +Up: <a rel="up" accesskey="u" href="#Installation">Installation</a> + +</div> + +<h3 class="section">2.4 Installation outside the texmf tree</h3> + +<p>In some cases, a dvipng binary installed outside the texmf tree will +not be able to find virtual fonts, or the PostScript font maps +(normally used by dvips). This may be because <em>only</em> +$SELFAUTOLOC, $SELFAUTODIR, and $SELFAUTOPARENT are used in the texmf +tree configuration file ‘<samp><span class="samp">texmf.cnf</span></samp>’. If so, give the switch +‘<samp><span class="samp">--enable-selfauto-set</span></samp>’ to ‘<samp><span class="samp">./configure</span></samp>’. This will make +dvipng adjust these three internally so that kpathsea thinks that +dvipng <em>is</em> installed in the texmf tree. + +<div class="node"> +<a name="Advice-for-non-privileged-users"></a> +<a name="Advice-for-non_002dprivileged-users"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Installation-outside-the-texmf-tree">Installation outside the texmf tree</a>, +Up: <a rel="up" accesskey="u" href="#Installation">Installation</a> + +</div> + +<h3 class="section">2.5 Installation for non-privileged users</h3> + +<p>Often people without system administration privileges want to install +software for their private use. In that case you need to specify more +options to the <samp><span class="file">configure</span></samp> script, usually this is done by using +the ‘<samp><span class="samp">--prefix</span></samp>’ option to the <samp><span class="file">configure</span></samp> script, and let it +point to the personal home directory. In that way, resulting binaries +will be installed under the <samp><span class="file">bin</span></samp> subdirectory of your home +directory, manual pages under <samp><span class="file">man</span></samp> and so on. That way, it is +reasonably easy to maintain a bunch of additional packages, since the +prefix argument is supported by most <samp><span class="file">configure</span></samp> scripts. + + <p>You'll have to add something like <samp><span class="file">/home/myself/bin</span></samp> to your +<code>PATH</code> shell variable, if it isn't there already, and similarly +set the <code>INFOPATH</code> and <code>MANPATH</code> variables to be able to +access the documentation. + +<div class="node"> +<a name="Basic-usage"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Command_002dline-options">Command-line options</a>, +Previous: <a rel="previous" accesskey="p" href="#Installation">Installation</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">3 Basic usage of dvipng</h2> + +<p><a name="index-invoking-dvipng-4"></a> +To use dvipng at its simplest, simply type + +<pre class="example"> dvipng foo +</pre> + <p class="noindent">where <samp><span class="file">foo.dvi</span></samp> is the output of TeX that you want to convert to +PNG format. If there are four pages in <samp><span class="file">foo.dvi</span></samp>, those pages will +be output as <samp><span class="file">foo1.png</span></samp>, <samp><span class="file">foo2.png</span></samp>, <samp><span class="file">foo3.png</span></samp>, and +<samp><span class="file">foo4.png</span></samp>, respectively. + + <p>If you have enabled the PostScript font support (via FreeType or T1lib), +fonts will be rendered as they are needed. Otherwise, dvipng will use +bitmapped (PK) fonts, and if you use PK fonts that have not been used on +your system before, they may be automatically generated; this process +can take a few minutes, so progress reports appear by default. The next +time the same font is used, it will have been saved on disk, so +rendering will go much faster. (If dvipng tries to endlessly generate +the same fonts over and over again, something is wrong. See <a href="kpathsea.html#Unable-to-generate-fonts">Unable to generate fonts</a>.) + + <p>Many options are available (see the next section). For a brief summary +of available options, just type + +<pre class="example"> dvipng --help +</pre> + <div class="node"> +<a name="Command-line-options"></a> +<a name="Command_002dline-options"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Graphics">Graphics</a>, +Previous: <a rel="previous" accesskey="p" href="#Basic-usage">Basic usage</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">4 Command-line options</h2> + +<p><a name="index-command_002dline-options-5"></a><a name="index-options_002c-dvipng-6"></a> +dvipng has a plethora of command line options. Reading through this +section will give a good idea of the capabilities of the driver. + +<ul class="menu"> +<li><a accesskey="1" href="#Option-summary">Option summary</a>: Quick listing, from dvipng --help. +<li><a accesskey="2" href="#Option-details">Option details</a>: More information about each option. +</ul> + +<div class="node"> +<a name="Option-summary"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Option-details">Option details</a>, +Up: <a rel="up" accesskey="u" href="#Command_002dline-options">Command-line options</a> + +</div> + +<h3 class="section">4.1 Option summary</h3> + +<p><a name="index-options_002c-summary-7"></a>Here is a handy summary of the options; it is printed out when you run +dvipng with no arguments or with the standard ‘<samp><span class="samp">--help</span></samp>’ option. + +<pre class="example"> This is ./dvipng 1.14 Copyright 2002-2010 Jan-Ake Larsson + + Usage: ./dvipng [OPTION]... FILENAME[.dvi] + Options are chosen to be similar to dvips' options where possible: + -d # Debug (# is the debug bitmap, 1 if not given) + -D # Output resolution + -l # Last page to be output + -o f Output file, '%d' is pagenumber + -O c Image offset + -p # First page to be output + -pp #,#.. Page list to be output + -q* Quiet operation + -T c Image size (also accepts '-T bbox' and '-T tight') + -v* Verbose operation + - Interactive query of options + + These do not correspond to dvips options: + -bd # Transparent border width in dots + -bd s Transparent border fallback color (TeX-style color) + -bg s Background color (TeX-style color or 'Transparent') + --depth* Output the image depth on stdout + --dvinum* Use TeX page numbers in output filenames + -fg s Foreground color (TeX-style color) + --follow* Wait for data at end-of-file + --freetype* FreeType font rendering (preferred, default on) + --gamma # Control color interpolation + --gif Output GIF images (dvigif default) + --height* Output the image height on stdout + --nogs* Don't use ghostscript for PostScript specials + --nogssafer* Don't use -dSAFER in ghostscript calls + --norawps* Don't convert raw PostScript specials + --palette* Force palette output + --picky When a warning occurs, don't output image + --png Output PNG images (dvipng default) + --strict When a warning occurs, exit + --t1lib* T1lib font rendering (default on) + --truecolor* Truecolor output + -Q # Quality (T1lib and PK subsampling) + --width* Output the image width on stdout + -z # PNG compression level + + # = number f = file s = string * = suffix, '0' to turn off + c = comma-separated dimension pair (e.g., 3.2in,-32.1cm) + +</pre> + <div class="node"> +<a name="Option-details"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Option-summary">Option summary</a>, +Up: <a rel="up" accesskey="u" href="#Command_002dline-options">Command-line options</a> + +</div> + +<h3 class="section">4.2 Option details</h3> + +<p><a name="index-option_002c-details-of-8"></a><!-- man begin OPTIONS --> + + <p>Many of the parameterless options listed here can be turned off by +suffixing the option with a zero (‘<samp><span class="samp">0</span></samp>’); for instance, to turn off +page reversal, use ‘<samp><span class="samp">-r0</span></samp>’. Such options are marked with a trailing +‘<samp><span class="samp">*</span></samp>’. + + <dl> +<dt>‘<samp><span class="samp">-</span></samp>’<dd><a name="index-options_002c-reading-from-standard-input-9"></a><a name="index-standard-input_002c-reading-options-from-10"></a>Read additional options from standard input after processing the command +line. + + <br><dt>‘<samp><span class="samp">--help</span></samp>’<dd>Print a usage message and exit. + + <br><dt>‘<samp><span class="samp">--version</span></samp>’<dd>Print the version number and exit. + + <br><dt>‘<samp><span class="samp">-bd </span><var>num</var></samp>’<br><dt>‘<samp><span class="samp">-bd </span><var>color_spec</var></samp>’<br><dt>‘<samp><span class="samp">-bd '</span><var>num</var> <var>color_spec</var><span class="samp">'</span></samp>’<dd><a name="index-transparent-border-width-11"></a><a name="index-transparent-border-fallback-color-12"></a>Set the pixel width of the transparent border (default 0). Using this +option will make the image edges transparent, but it only affects pixels +with the background color. Giving a <var>color_spec</var> will set the +fallback color, to be used in viewers that cannot handle transparency +(the default is the background color). The color spec should be in +TeX color \special syntax, e.g., 'rgb 1.0 0.0 0.0'. Setting the +fallback color makes the default border width 1 px. See <a href="#Color">Color</a>. + + <br><dt>‘<samp><span class="samp">--bdpi </span><var>num</var></samp>’<dd><a name="index-base-resolution_002c-setting-13"></a>This option only has an effect when using bitmapped (PK) fonts. The +option sets the base (Metafont) resolution, both horizontal and +vertical, to <var>num</var> dpi (dots per inch). This option is necessary +when manually selecting Metafont mode with the –mode option (see +below). + + <br><dt>‘<samp><span class="samp">-bg </span><var>color_spec</var></samp>’<dd><a name="index-background-color-_0028option_0029-14"></a>Choose background color for the images. This option will be ignored if +there is a background color \special in the DVI. The color spec should +be in TeX color \special syntax, e.g., 'rgb 1.0 0.0 0.0'. You can +also specify 'Transparent' or 'transparent' which will give you a +transparent background with the normal background as a fallback color. A +capitalized 'Transparent' will give a full-alpha transparency, while an +all-lowercase 'transparent' will give a simple fully transparent +background with non-transparent antialiased pixels. The latter would be +suitable for viewers who cannot cope with a true alpha channel. GIF +images do not support full alpha transparency, so in case of GIF output, +both variants will use the latter behaviour. See <a href="#Color">Color</a>. + + <br><dt>‘<samp><span class="samp">-d </span><var>num</var></samp>’<dd><a name="index-debugging-15"></a>Set the debug flags, showing what dvipng (thinks it) is doing. This will +work unless dvipng has been compiled without the <code>DEBUG</code> option +(not recommended). Set the flags as you need them, use ‘<samp><span class="samp">-d -1</span></samp>’ as +the first option for maximum output. See <a href="#Debug-options">Debug options</a>. + + <br><dt>‘<samp><span class="samp">-D </span><var>num</var></samp>’<dd><a name="index-output-resolution_002c-setting-16"></a>Set the output resolution, both horizontal and vertical, to <var>num</var> +dpi (dots per inch). + + <p>One may want to adjust this to fit a certain text font size (e.g., on +a web page), and for a text font height of <var>font_px</var> pixels (in +Mozilla) the correct formula is + <pre class="example"> <var>dpi</var> = <var>font_px</var> * 72.27 / 10 [px * TeXpt/in / TeXpt] +</pre> + <p>The last division by ten is due to the standard font height 10pt in +your document, if you use 12pt, divide by 12. Unfortunately, some +proprietary browsers have font height in pt (points), not pixels. You +have to rescale that to pixels, using the screen resolution (default +is usually 96 dpi) which means the formula is + <pre class="example"> <var>font_px</var> = <var>font_pt</var> * 96 / 72 [pt * px/in / (pt/in)] +</pre> + <p>On some high-res screens, the value is instead 120 dpi. Good luck! + + <br><dt>‘<samp><span class="samp">--depth*</span></samp>’<dd><a name="index-baseline-reporting-17"></a><a name="index-depth-reporting-18"></a>Report the depth of the image. This only works reliably when the +LaTeX style <samp><span class="file">preview.sty</span></samp> from preview-latex is used with +the ‘<samp><span class="samp">active</span></samp>’ option. It reports the number of pixels from the +bottom of the image to the baseline of the image. This can be used for +vertical positioning of the image in, e.g., web documents, where one +would use (Cascading StyleSheets 1) + <pre class="example"> <IMG SRC="<var>filename.png</var>" STYLE="vertical-align: -<var>depth</var>px"> +</pre> + <p>The depth is a negative offset in this case, so the minus sign is +necessary, and the unit is pixels (px). + + <br><dt>‘<samp><span class="samp">--dvinum*</span></samp>’<dd>Set this option to make the output page number be the TeX page +numbers rather than the physical page number. See the ‘<samp><span class="samp">-o</span></samp>’ switch. + + <br><dt>‘<samp><span class="samp">-fg </span><var>color_spec</var></samp>’<dd><a name="index-foreground-color-_0028option_0029-19"></a>Choose foreground color for the images. This option will be ignored if +there is a foreground color \special in the DVI. The color spec should +be in TeX color \special syntax, e.g., 'rgb 1.0 0.0 0.0'. +See <a href="#Color">Color</a>. + + <br><dt>‘<samp><span class="samp">--follow*</span></samp>’<dd><a name="index-follow-mode-20"></a>Wait for data at end-of-file. One of the benefits of dvipng is that it +does not read the postamble, so it can be started before TeX +finishes. This switch makes dvipng wait at end-of-file for further +output, unless it finds the POST marker that indicates the end of the +DVI. This is similar to ‘<samp><span class="samp">tail -f</span></samp>’ but for DVI-to-PNG conversion. + + <br><dt>‘<samp><span class="samp">--freetype*</span></samp>’<dd><a name="index-FreeType-font-rendering-21"></a>Enable/disable FreeType font rendering (default on). This option is +available if the FreeType2 font library was present at compilation time. +If this is the case, dvipng will have direct support for PostScript +Type1 and TrueType fonts internally, rather than using ‘<samp><span class="samp">gsftopk</span></samp>’ +for rendering the fonts. If you have PostScript versions of Computer +Modern installed, there will be no need to generate bitmapped (PK) +variants on disk of these. Then, you can render images at different (and +unusual) resolutions without cluttering the disk with lots of bitmapped +fonts. Note that if you have both FreeType and T1lib on your system, +FreeType will be preferred by dvipng. If you for some reason would want +to use T1lib rendering, use this option. + + <br><dt>‘<samp><span class="samp">--gamma </span><var>num</var></samp>’<dd><a name="index-gamma-22"></a><a name="index-dark-fonts-23"></a><a name="index-light-fonts-24"></a><a name="index-fuzzy-images-25"></a>Control the interpolation of colors in the greyscale anti-aliasing +color palette. Default value is 1.0. For 0 < <var>num</var> < 1, the +fonts will be lighter (more like the background), and for <var>num</var> > +1, the fonts will be darker (more like the foreground). + + <br><dt>‘<samp><span class="samp">--gif*</span></samp>’<dd><a name="index-GIF-image-format-26"></a>The images are output in the GIF format, if GIF support is enabled. +This is the default for the ‘<samp><span class="samp">dvigif</span></samp>’ binary, which only will be +available when GIF support is enabled. GIF images are palette images +(see the ‘<samp><span class="samp">--palette</span></samp>’ option) and does not support true alpha +channels (see the ‘<samp><span class="samp">--bg</span></samp>’ option). See also the ‘<samp><span class="samp">--png</span></samp>’ +option. + + <br><dt>‘<samp><span class="samp">--height*</span></samp>’<dd><a name="index-baseline-reporting-27"></a><a name="index-height-reporting-28"></a>Report the height of the image. This only works reliably when the +LaTeX style <samp><span class="file">preview.sty</span></samp> from preview-latex is used with +the ‘<samp><span class="samp">active</span></samp>’ option. It reports the number of pixels from the top +of the image to the baseline of the image. The total height of the +image is obtained as the sum of the values reported from +‘<samp><span class="samp">--height</span></samp>’ and ‘<samp><span class="samp">--depth</span></samp>’. + + <br><dt>‘<samp><span class="samp">-l [=]</span><var>num</var></samp>’<dd><a name="index-last-page-printed-29"></a><a name="index-page_002c-last-printed-30"></a><a name="index-physical-page-number_002c-and-_0040samp_007b_002dl_007d-31"></a><a name="index-absolute-page-number_002c-and-_0040samp_007b_002dl_007d-32"></a>The last page printed will be the first one numbered <var>num</var>. Default +is the last page in the document. If <var>num</var> is prefixed by an equals +sign, then it (and the argument to the ‘<samp><span class="samp">-p</span></samp>’ option, if specified) +is treated as a physical (absolute) page number, rather than a value to +compare with the TeX ‘<samp><span class="samp">\count0</span></samp>’ values stored in the DVI file. +Thus, using ‘<samp><span class="samp">-l =9</span></samp>’ will end with the ninth page of the document, +no matter what the pages are actually numbered. + + <br><dt>‘<samp><span class="samp">--mode </span><var>mode</var></samp>’<dd><a name="index-mode-name_002c-specifying-33"></a><a name="index-Metafont-mode_002c-specifying-34"></a>This option only has an effect when using bitmapped (PK) fonts. Use +<var>mode</var> as the Metafont device name for the PK fonts (both for path +searching and font generation). This needs to be augmented with the base +device resolution, given with the ‘<samp><span class="samp">--bdpi</span></samp>’ option. See the file +<a href="ftp://ftp.tug.org/tex/modes.mf">ftp://ftp.tug.org/tex/modes.mf</a> for a list of resolutions and mode +names for most devices. See <a href="kpathsea.html#Unable-to-generate-fonts">Unable to generate fonts</a>. + + <br><dt>‘<samp><span class="samp">-M*</span></samp>’<dd><a name="index-font-generation_002c-avoiding-35"></a><a name="index-mktexpk_0040r_007b_002c-avoiding_007d-36"></a><!-- this description repeated in kpathsea.texi --> +This option only has an effect when using bitmapped (PK) fonts. It turns +off automatic PK font generation (<samp><span class="file">mktexpk</span></samp>). + + <br><dt>‘<samp><span class="samp">--nogs*</span></samp>’<dd><a name="index-GhostScript_002c-turning-off-37"></a>This switch prohibits the internal call to GhostScript for displaying +PostScript specials. ‘<samp><span class="samp">--nogs0</span></samp>’ turns the call back on. + + <br><dt>‘<samp><span class="samp">--nogssafer*</span></samp>’<dd><a name="index-GhostScript-and-_002ddSAFER-38"></a><a name="index-g_t_002ddSAFER-39"></a>Normally, if GhostScript is used to render PostScript specials, the +GhostScript interpreter is run with the option ‘<samp><span class="samp">-dSAFER</span></samp>’. The +‘<samp><span class="samp">--nogssafer</span></samp>’ option runs GhostScript without ‘<samp><span class="samp">-dSAFER</span></samp>’. The +‘<samp><span class="samp">-dSAFER</span></samp>’ option in Ghostscript disables PostScript operators such +as deletefile, to prevent possibly malicious PostScript programs from +having any effect. + + <br><dt>‘<samp><span class="samp">--norawps*</span></samp>’<dd><a name="index-PostScript_002c-turning-off-raw-PostScript-specials-40"></a>Some packages generate raw PostScript specials, even non-rendering such +specials. This switch turns off the internal call to GhostScript +intended to display these raw PostScript specials. ‘<samp><span class="samp">--norawps0</span></samp>’ +turns the call back on. + + <br><dt>‘<samp><span class="samp">-o </span><var>name</var></samp>’<dd><a name="index-output_002c-redirecting-41"></a><a name="index-standard-output_002c-output-to-42"></a>Send output to the file <var>name</var>. A single occurrence of ‘<samp><span class="samp">%d</span></samp>’ or +‘<samp><span class="samp">%01d</span></samp>’, <small class="dots">...</small>, ‘<samp><span class="samp">%09d</span></samp>’ will be exchanged for the physical +page number (this can be changed, see the ‘<samp><span class="samp">--dvinum</span></samp>’ switch). The +default output filename is ‘<samp><var>file</var><span class="samp">%d.png</span></samp>’ where the input DVI +file was ‘<samp><var>file</var><span class="samp">.dvi</span></samp>’. + + <br><dt>‘<samp><span class="samp">-O </span><var>x-offset</var><span class="samp">,</span><var>y-offset</var></samp>’<dd><a name="index-offset-pages-43"></a>Move the origin by <var>x-offset</var>,<var>y-offset</var>, a comma-separated +pair of dimensions such as ‘<samp><span class="samp">.1in,-.3cm</span></samp>’. +<!-- (@pxref{papersize special}). --> +The origin of the page is shifted from the default position +(of one inch down, one inch to the right from the upper left corner of +the paper) by this amount. + + <br><dt>‘<samp><span class="samp">-p [=]</span><var>num</var></samp>’<dd><a name="index-first-page-printed-44"></a><a name="index-page_002c-first-printed-45"></a><a name="index-physical-page-number_002c-and-_0040samp_007b_002dp_007d-46"></a><a name="index-absolute-page-number_002c-and-_0040samp_007b_002dp_007d-47"></a>The first page printed will be the first one numbered <var>num</var>. Default +is the first page in the document. If <var>num</var> is prefixed by an +equals sign, then it (and the argument to the ‘<samp><span class="samp">-l</span></samp>’ option, if +specified) is treated as a physical (absolute) page number, rather than +a value to compare with the TeX ‘<samp><span class="samp">\count0</span></samp>’ values stored in the +DVI file. Thus, using ‘<samp><span class="samp">-p =3</span></samp>’ will start with the third page of +the document, no matter what the pages are actually numbered. + + <br><dt>‘<samp><span class="samp">--palette*</span></samp>’<dd><a name="index-forcing-palette-output-48"></a>When an external image is included, ‘<samp><span class="samp">dvipng</span></samp>’ will automatically +switch to truecolor mode, to avoid unnecessary delay and quality +reduction, and enable the EPS translator to draw on a transparent +background and outside of the boundingbox. This switch will force +palette (256-color) output and make ‘<samp><span class="samp">dvipng</span></samp>’ revert to opaque +clipped image inclusion. This will also override the ‘<samp><span class="samp">--truecolor</span></samp>’ +switch if present. + + <br><dt>‘<samp><span class="samp">--picky*</span></samp>’<dd><a name="index-no-erroneous-images-49"></a>No images are output when a warning occurs. Normally, dvipng will +output an image in spite of a warning, but there may be something +missing in this image. One reason to use this option would be if you +have a more complete but slower fallback converter. Mainly, this is +useful for failed figure inclusion and unknown \special occurrences, +but warnings will also occur for missing or unknown color specs and +missing PK fonts. + + <br><dt>‘<samp><span class="samp">--png*</span></samp>’<dd><a name="index-PNG-image-format-50"></a>The images are output in the PNG format. This is the default for the +‘<samp><span class="samp">dvipng</span></samp>’ binary. See also the ‘<samp><span class="samp">--gif</span></samp>’ option. + + <br><dt>‘<samp><span class="samp">-pp </span><var>firstpage</var><span class="samp">-</span><var>lastpage</var></samp>’<dd><a name="index-page-range-51"></a>Print pages <var>firstpage</var> through <var>lastpage</var>; but not quite +equivalent to ‘<samp><span class="samp">-p </span><var>firstpage</var><span class="samp"> -l </span><var>lastpage</var></samp>’. For example, +when rendering a book, there may be several instances of a page in the +DVI file (one in <code>\frontmatter</code>, one in <code>\mainmatter</code>, and one +in <code>\backmatter</code>). In case of several pages matching, ‘<samp><span class="samp">-pp +</span><var>firstpage</var><span class="samp">-</span><var>lastpage</var></samp>’ will render <em>all</em> pages that +matches the specified range, while ‘<samp><span class="samp">-p </span><var>firstpage</var><span class="samp"> -l +</span><var>lastpage</var></samp>’ will render the pages from the <em>first</em> occurrence +of <var>firstpage</var> to the <em>first</em> occurrence of <var>lastpage</var>. +This is the (undocumented) behaviour of dvips. In dvipng you can give +both kinds of options, in which case you get all pages that matches the +range in ‘<samp><span class="samp">-pp</span></samp>’ between the pages from ‘<samp><span class="samp">-p</span></samp>’ to ‘<samp><span class="samp">-l</span></samp>’. Also +multiple ‘<samp><span class="samp">-pp</span></samp>’ options accumulate, unlike ‘<samp><span class="samp">-p</span></samp>’ and ‘<samp><span class="samp">-l</span></samp>’. +The ‘<samp><span class="samp">-</span></samp>’ separator can also be ‘<samp><span class="samp">:</span></samp>’. Note that ‘<samp><span class="samp">-pp -1</span></samp>’ +will be interpreted as "all pages up to and including 1", if you want a +page numbered -1 (only the table of contents, say) put ‘<samp><span class="samp">-pp -1--1</span></samp>’, +or more readable, ‘<samp><span class="samp">-pp -1:-1</span></samp>’. + + <br><dt>‘<samp><span class="samp">-q*</span></samp>’<dd><a name="index-quiet-operation-52"></a><a name="index-silent-operation-53"></a><a name="index-warnings_002c-suppressing-54"></a>Run quietly. Don't chatter about pages converted, etc. to standard +output; report no warnings (only errors) to standard error. + + <br><dt>‘<samp><span class="samp">-Q </span><var>num</var></samp>’<dd><a name="index-antialiasing-levels_0040r_007b_002c-number-of_007d-55"></a><a name="index-quality-56"></a>Set the quality to <var>num</var>. That is, choose the number of antialiasing +levels for bitmapped fonts (PK) and fonts rendered using T1lib, to be +<var>num</var>*<var>num</var>+1. The default value is 4 which gives 17 levels of +antialiasing for antialiased fonts from these two. If FreeType is +available, its rendering is unaffected by this option. + + <br><dt>‘<samp><span class="samp">-r*</span></samp>’<dd><a name="index-reverse-pagination-57"></a>Toggle output of pages in reverse/forward order. By default, the first +page in the DVI is output first. + + <br><dt>‘<samp><span class="samp">--strict*</span></samp>’<dd><a name="index-exit-on-erroneous-images-58"></a>The program exits when a warning occurs. Normally, dvipng will output +an image in spite of a warning, but there may be something missing in +this image. One reason to use this option would be if you have a more +complete but slower fallback converter. See the ‘<samp><span class="samp">--picky</span></samp>’ option +above for a list of when warnings occur. + + <br><dt>‘<samp><span class="samp">-T </span><var>image_size</var></samp>’<dd>Set the image size to <var>image_size</var> which can be either of +‘<samp><span class="samp">bbox</span></samp>’, ‘<samp><span class="samp">tight</span></samp>’, or a comma-separated pair of dimensions +<var>hsize</var>,<var>vsize</var> such as ‘<samp><span class="samp">.1in,.3cm</span></samp>’. The default is +‘<samp><span class="samp">bbox</span></samp>’ which produces a PNG that includes all ink put on the page +and in addition the DVI origin, located 1in from the top and 1in from +the left edge of the paper. This usually gives whitespace above and to +the left in the produced image. The value ‘<samp><span class="samp">tight</span></samp>’ will make dvipng +only include all ink put on the page, producing neat images. +<!-- (@pxref{papersize special}). --> +<!-- This option overrides any papersize special in the DVI file. --> + + <br><dt>‘<samp><span class="samp">--t1lib*</span></samp>’<dd><a name="index-T1lib-font-rendering-59"></a>Enable T1lib font rendering (default on). This option is available if +the T1lib font library was present at compilation time. If this is the +case, dvipng will have direct support for PostScript Type1 fonts +internally, rather than using ‘<samp><span class="samp">gsftopk</span></samp>’ for rendering the fonts. If +you have PostScript versions of Computer Modern installed, there will be +no need to generate bitmapped variants on disk of these. Then, you can +render images at different (and unusual) resolutions without cluttering +the disk with lots of bitmapped fonts. Note that if you have both +FreeType and T1lib on your system, FreeType will be preferred by dvipng, +and if you for some reason rather want to use T1lib, give the option +‘<samp><span class="samp">--freetype0</span></samp>’ (see above). + + <br><dt>‘<samp><span class="samp">--truecolor*</span></samp>’<dd><a name="index-truecolor-output-60"></a>This will make ‘<samp><span class="samp">dvipng</span></samp>’ generate truecolor output. Note that +truecolor output is automatic if you include an external image in your +DVI, e.g., via a PostScript special (i.e., the ‘<samp><span class="samp">graphics</span></samp>’ or +‘<samp><span class="samp">graphicx</span></samp>’ package). This switch is overridden by the +‘<samp><span class="samp">--palette</span></samp>’ switch. + + <br><dt>‘<samp><span class="samp">-v*</span></samp>’<dd>Enable verbose operation. This will currently indicate what fonts is +used, in addition to the usual output. + + <br><dt>‘<samp><span class="samp">--width*</span></samp>’<dd><a name="index-width-reporting-61"></a>Report the width of the image. See also ‘<samp><span class="samp">--height</span></samp>’ and +‘<samp><span class="samp">--depth</span></samp>’. + + <br><dt>‘<samp><span class="samp">-x </span><var>num</var></samp>’<dd><a name="index-magnification_002c-overriding-DVI-62"></a>This option is deprecated; it should not be used. It is much better to +select the output resolution directly with the ‘<samp><span class="samp">-D</span></samp>’ option. This +option sets the magnification ratio to <var>num</var>/1000 and +overrides the magnification specified in the DVI file. Must be between +10 and 100000. It is recommended that you use standard magstep values +(1095, 1200, 1440, 1728, 2074, 2488, 2986, and so on) to help reduce the +total number of PK files generated. <var>num</var> may be a real number, not +an integer, for increased precision. + + <br><dt>‘<samp><span class="samp">-z </span><var>num</var></samp>’<dd><a name="index-compression-63"></a>Set the PNG compression level to <var>num</var>. This option is enabled if +your ‘<samp><span class="samp">libgd</span></samp>’ is new enough. The default compression level is 1, +which selects maximum speed at the price of slightly larger PNGs. For an +older ‘<samp><span class="samp">libgd</span></samp>’, the hard-soldered value 5 is used. The include file +‘<samp><span class="samp">png.h</span></samp>’ says +<blockquote> +Currently, valid values range from 0 - 9, corresponding directly to the +zlib compression levels 0 - 9 (0 - no compression, 9 - "maximal" +compression). Note that tests have shown that zlib compression levels +3-6 usually perform as well as level 9 for PNG images, and do +considerably fewer calculations. In the future, these values may not +correspond directly to the zlib compression levels. +</blockquote> + </dl> + <!-- man end --> + +<div class="node"> +<a name="Graphics"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Color">Color</a>, +Previous: <a rel="previous" accesskey="p" href="#Command_002dline-options">Command-line options</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">5 Graphics</h2> + +<p>‘<samp><span class="samp">dvipng</span></samp>’ attempts to handle graphics as included by the +‘<samp><span class="samp">graphicx</span></samp>’ and ‘<samp><span class="samp">graphics</span></samp>’ packages, without the need of +specifying a driver to these packages. This means that it recognizes +the encapsulated postscript inclusion meant for ‘<samp><span class="samp">dvips</span></samp>’, but is +also able (from version 1.8) to include bitmapped graphics. It also +tries to handle some of the raw PostScript that is output from various +packages. Some of the possibilities and problems are mentioned below. + +<ul class="menu"> +<li><a accesskey="1" href="#Encapsulated-PostScript">Encapsulated PostScript</a>: An internal call to GhostScript +<li><a accesskey="2" href="#Bitmapped-graphics">Bitmapped graphics</a>: PNG, JPEG and GIF +<li><a accesskey="3" href="#Raw-PostScript">Raw PostScript</a>: Ignore or give to GhostScript +</ul> + +<div class="node"> +<a name="Encapsulated-PostScript"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Bitmapped-graphics">Bitmapped graphics</a>, +Up: <a rel="up" accesskey="u" href="#Graphics">Graphics</a> + +</div> + +<h3 class="section">5.1 Encapsulated PostScript</h3> + +<p>When an EPS file is included, a call to GhostScript is performed to +produce a bitmapped image that can be included. The default is to +produce an image with transparent background, at the same size as the +DVI page currently being converted to PNG, and include that as +foreground on the PNG. Of course, if the image is to be cropped, that +is done. The included image will be a truecolor image, so for maximum +performance the output PNG will be in truecolor mode as well. + + <p>This conversion needs the ‘<samp><span class="samp">pngalpha</span></samp>’ output device to be present +in your copy of GhostScript. If that device is not present, or you use +the ‘<samp><span class="samp">--palette</span></samp>’ switch or request GIF output, the fallback is to +use the ‘<samp><span class="samp">png16m</span></samp>’ device to produce a cropped opaque image for +inclusion. Other relevant switches are ‘<samp><span class="samp">--noghostscript</span></samp>’ and +‘<samp><span class="samp">--nogssafer</span></samp>’. See <a href="#Option-details">Option details</a>. + + <p><a name="index-PostScript-inclusion-problems-64"></a>The most common problem with including graphics is an incorrect +bounding box. Complain to whoever wrote the software that generated +the file if the bounding box is indeed incorrect. An adjusted +boundingbox can be specified in the ‘<samp><span class="samp">\includegraphics</span></samp>’ call, as +in this example (using ‘<samp><span class="samp">graphicx</span></samp>’): + +<pre class="example"> \includegraphics[bb=10 20 100 200]{imagename.eps} +</pre> + <div class="node"> +<a name="Bitmapped-graphics"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Raw-PostScript">Raw PostScript</a>, +Previous: <a rel="previous" accesskey="p" href="#Encapsulated-PostScript">Encapsulated PostScript</a>, +Up: <a rel="up" accesskey="u" href="#Graphics">Graphics</a> + +</div> + +<h3 class="section">5.2 Bitmapped graphics</h3> + +<p>dvipng can include PNG, JPEG and GIF graphics. When including such +images via ‘<samp><span class="samp">\includegraphics</span></samp>’ you need to specify the bounding +box since TeX itself cannot read them from the files in question. +The bounding box size should be given as ‘<samp><span class="samp">0 0 w h</span></samp>’ in pixels, +e.g., if the file ‘<samp><span class="samp">imagename.png</span></samp>’ is 300x400 pixels, the +inclusion would read + +<pre class="example"> \includegraphics[bb=0 0 300 400]{imagename.png} +</pre> + <p>The default size is the image size in bp (“big points” in TeX +nomenclature or PostScript points as other people have it, 72 per inch). +That is, default resolution will be 72 dpi for included bitmaps, which +is the default size in the few other bitmap-capable drivers that are +known to me (dvipdfm and PDFLaTeX). + + <p>If you want 100 dpi you need to specify the width accordingly. You +just divide your image width by 100: a 135 pixel wide image at 100 dpi +will take up 1.35 inches. If you want 200 dpi you divide by 200, and +so on. Simple, eh? The example above at 200 dpi would be 1.5 inches +wide: + +<pre class="example"> \includegraphics[bb=0 0 300 400,witdh=1.5in]{imagename.png} +</pre> + <div class="node"> +<a name="Raw-PostScript"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Bitmapped-graphics">Bitmapped graphics</a>, +Up: <a rel="up" accesskey="u" href="#Graphics">Graphics</a> + +</div> + +<h3 class="section">5.3 Raw PostScript</h3> + +<p>dvipng attempts to handle raw PostScript. Rendering raw PostScript +specials is done on top of the page by including a transparent image +generated by the ‘<samp><span class="samp">pngalpha</span></samp>’ device in GhostScript (automatically +selecting ‘<samp><span class="samp">truecolor</span></samp>’ mode in dvipng). + + <p>Included PostScript headers are respected, and if the header +‘<samp><span class="samp">tex.pro</span></samp>’ is included, dvipng also throws in ‘<samp><span class="samp">color.pro</span></samp>’ and +‘<samp><span class="samp">special.pro</span></samp>’. The package ‘<samp><span class="samp">xcolor</span></samp>’ includes its own headers +with color names, and this is not only kept as a PostScript header, but +is also read and interpreted by dvipng itself. An attempt is also made +to respect the PGF header. The non-rendering specials from +‘<samp><span class="samp">hyperref</span></samp>’ are handled via some heuristics and do not give an +error. + + <p>Really rendering and moving things with raw PostScript specials is more +troublesome. The \rotatebox macro serves as a good example. The dvips +driver of the graphicx package surrounds DVI glyphs with PostScript code +so that after conversion by dvips, the glyphs (now themselves in +PostScript) will be rotated in the desired way. dvipng does not handle +this, at present. An attempt has been made to handle the rendering +specials output by PGF (tikz), and also PSTricks. Some things work, but +others do not. This is especially clear when mixing PostScript and DVI +rendering commands such as glyphs. dvipng cannot at present detect if +PostScript code moves ‘<samp><span class="samp">currentpoint</span></samp>’ or rotates the frame since +GhostScript does not return such information. A recommendation would be +to produce images from these packages as EPS files and include them into +your document in the standard manner. + + <p>Another way to handle this would be to use a slower fallback (with dvips +and gs, for example). If you want to disable raw PostScript handling in +dvipng, use the switch ‘<samp><span class="samp">--norawps</span></samp>’. This switch turns off the +internal call to GhostScript intended to display these raw PostScript +specials. Further, when dvipng encounters raw PostScript and the gs call +is turned off, it gives a warning. It is now possible to use the switch +‘<samp><span class="samp">--picky</span></samp>’ to disable page rendering of pages with warnings, and use +the slower fallback for these pages. + +<div class="node"> +<a name="Color"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Diagnosing-problems">Diagnosing problems</a>, +Previous: <a rel="previous" accesskey="p" href="#Graphics">Graphics</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">6 Color</h2> + +<p>To support color, dvipng recognizes a certain set of specials as +generated by the ‘<samp><span class="samp">color</span></samp>’ and ‘<samp><span class="samp">xcolor</span></samp>’ style files. These +specials start with the keyword ‘<samp><span class="samp">color</span></samp>’ or the keyword +‘<samp><span class="samp">background</span></samp>’, followed by a color specification. + +<ul class="menu"> +<li><a accesskey="1" href="#Color-specifications">Color specifications</a> +<li><a accesskey="2" href="#Color-specials">Color specials</a> +</ul> + +<div class="node"> +<a name="Color-specifications"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Color-specials">Color specials</a>, +Up: <a rel="up" accesskey="u" href="#Color">Color</a> + +</div> + +<h3 class="section">6.1 Color specifications</h3> + +<p><a name="index-color-specifications-65"></a> +The color specification supported by dvipng is by-value or by-name. The +by-value spec starts with the name of a color model (one of ‘<samp><span class="samp">rgb</span></samp>’, +‘<samp><span class="samp">hsb</span></samp>’, ‘<samp><span class="samp">cmy</span></samp>’, ‘<samp><span class="samp">cmyk</span></samp>’, or ‘<samp><span class="samp">gray</span></samp>’) followed by the +appropriate number of parameters. Thus, the color specification +‘<samp><span class="samp">rgb 0.3 0.4 0.5</span></samp>’ would correspond to the color that is ‘<samp><span class="samp">0.3 +0.4 0.5</span></samp>’ in its red, blue and green values. The color model used +internally in dvipng is ‘<samp><span class="samp">RGB</span></samp>’ (discretized to 256 levels), for +details on the formulas used in conversion, see the ‘<samp><span class="samp">xcolor</span></samp>’ +documentation. + + <p>By-name color specifications are single (case-dependent) words and are +compared with color names defined in ‘<samp><span class="samp">dvipsnam.def</span></samp>’ (from the +‘<samp><span class="samp">graphics</span></samp>’ bundle), ‘<samp><span class="samp">svgnam.def</span></samp>’ and ‘<samp><span class="samp">xcolor.sty</span></samp>’ (from +the ‘<samp><span class="samp">xcolor</span></samp>’ bundle). See the ‘<samp><span class="samp">xcolor</span></samp>’ documentation for a +list of names and the corresponding colors. + + <p>On the command-line, the name ‘<samp><span class="samp">Transparent</span></samp>’ can also be used as +an argument to ‘<samp><span class="samp">--bg</span></samp>’ to choose transparent background. +See <a href="#Option-details">Option details</a>. + +<div class="node"> +<a name="Color-specials"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Color-specifications">Color specifications</a>, +Up: <a rel="up" accesskey="u" href="#Color">Color</a> + +</div> + +<h3 class="section">6.2 Color specials</h3> + +<p>We will describe ‘<samp><span class="samp">background</span></samp>’ first, since it is the simplest. The +‘<samp><span class="samp">background</span></samp>’ keyword must be followed by a color specification. +That color specification is used as a fill color for the background. The +last ‘<samp><span class="samp">background</span></samp>’ special on a page is the one that gets used, and +is used for the whole of the page image. (This is possible because the +prescan phase of dvipng notices all of the color specials so that the +appropriate information can be written out during the second phase.) + + <p>The ‘<samp><span class="samp">color</span></samp>’ special itself has three forms. The first is just +‘<samp><span class="samp">color</span></samp>’ followed by a color specification. In this case, the +current global color is set to that color; the color stack must be empty +when such a command is executed. + + <p>The second form is ‘<samp><span class="samp">color push</span></samp>’ followed by a color specification. +This saves the current color on the color stack and sets the color to be +that given by the color specification. This is the most common way to +set a color. + + <p>The final form of the ‘<samp><span class="samp">color</span></samp>’ special is just ‘<samp><span class="samp">color pop</span></samp>’, +with no color specification; this says to pop the color last pushed on +the color stack from the color stack and set the current color to be +that color. + + <p>dvipng correctly handles these color specials across pages, even when +the pages are rendered repeatedly or in reverse order. + +<div class="node"> +<a name="Diagnosing-problems"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Credits">Credits</a>, +Previous: <a rel="previous" accesskey="p" href="#Color">Color</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">7 Diagnosing problems</h2> + +<p><a name="index-problems-66"></a><a name="index-trouble-67"></a><a name="index-debugging-68"></a> +You've gone through all the trouble of installing dvipng, carefully read +all the instructions in this manual, and still can't get something to +work. The following sections provide some helpful hints if you find +yourself in such a situation. + +<ul class="menu"> +<li><a accesskey="1" href="#Contact-information">Contact information</a>: Who to ask. +<li><a accesskey="2" href="#Debug-options">Debug options</a>: Getting diagnostics. +</ul> + +<div class="node"> +<a name="Contact-information"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Debug-options">Debug options</a>, +Up: <a rel="up" accesskey="u" href="#Diagnosing-problems">Diagnosing problems</a> + +</div> + +<h3 class="section">7.1 Contact information</h3> + +<p>Bug reports should be sent to +<a href="mailto:dvipng@nongnu.org">dvipng@nongnu.org</a>. + + <p>Questions, suggestions for new features, pleas for help, and/or praise +should go to <a href="mailto:dvipng@nongnu.org">dvipng@nongnu.org</a>. For more information on this +mailing list, send a message with just the word `help' as subject or +body to <a href="mailto:dvipng-request@nongnu.org">dvipng-request@nongnu.org</a> or look at +<a href="http://lists.nongnu.org/mailman/listinfo/dvipng">http://lists.nongnu.org/mailman/listinfo/dvipng</a>. + + <p>Offers to support further development will be appreciated. For developer +access, ask on <a href="mailto:dvipng@nongnu.org">dvipng@nongnu.org</a>. + + <p>For details on the TeX path-searching library, and <code>mktexpk</code> +problems, see <a href="kpathsea.html#Common-problems">Common problems</a>. + +<div class="node"> +<a name="Debug-options"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Contact-information">Contact information</a>, +Up: <a rel="up" accesskey="u" href="#Diagnosing-problems">Diagnosing problems</a> + +</div> + +<h3 class="section">7.2 Debug options</h3> + +<p>The ‘<samp><span class="samp">-d</span></samp>’ flag to dvipng helps in tracking down certain errors. The +parameter to this flag is an integer that tells what errors are +currently being tracked. To track a certain class of debug messages, +simply provide the appropriate number given below; if you wish to track +multiple classes, sum the numbers of the classes you wish to track. To +track all classes, you can use <code>-1</code>. + + <p>Some of these debugging options are actually provided by Kpathsea +(see <a href="kpathsea.html#Debugging">Debugging</a>). + + <p>The classes are: + <dl> +<dt>1<dd>Normal dvi op-codes +<br><dt>2<dd>Virtual fonts +<br><dt>4<dd>PK fonts +<br><dt>8<dd>TFM files +<br><dt>16<dd>Glyph rendering +<br><dt>32<dd>FreeType calls +<br><dt>64<dd>Encoding loads +<br><dt>128<dd>Color specials +<br><dt>256<dd>GhostScript specials +<br><dt>512<dd>T1lib calls +<br><dt>1024<dd>Kpathsea <code>stat</code> calls +<br><dt>2048<dd>Kpathsea hash table lookups +<br><dt>4096<dd>Kpathsea path element expansion +<br><dt>8192<dd>Kpathsea path searches + + </dl> + +<div class="node"> +<a name="Credits"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Copying">Copying</a>, +Previous: <a rel="previous" accesskey="p" href="#Diagnosing-problems">Diagnosing problems</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">8 Credits</h2> + +<p>A number of persons have contributed, if I forget to mention someone, +I apologize. First and foremost we have David Kastrup whose +preview-latex project provided the incentive to write this program. +There is also a number of people who have contributed by reporting +bugs and suggesting improvements as the thing has evolved. These +include but is perhaps not limited to (in semi-random order): Thomas +Esser (teTeX), Christian Schenk (MIKTeX), Brian R Furry (debian +package), Angus Leeming (LyX), Thomas Boutell (libgd), John Jones +(first user report), Uwe Kern (xcolor), Karl Berry and Peter +Breitenlohner (TeX Live), David Harvey (hinting in Freetype), Neal +Harmon, Alan Shutko, Reiner Stieb, Nick Alcock, Adam Buchbinder, Svend +Tollak Munkejord, James Longstreet, Bernhard Simon, Bob McElrath, +Georg Schwarz, Jason Farmer, Brian V. Smith, Samuel Hathaway, Thomas +R. Shemanske, Stephen Gibson, Christian Ridderström, Ezra Peisach, +William H Wheeler, Thomas Klausner, Harald Koenig, Adrian Bunk, Kevin +Smith, Jason Riedy, Wolfram Krause, Reinhard Kotucha, Takeshi Abe, and +Waldeck Schutzer. + + <p>Use of the <code>gd</code> library requires inclusion of the following +copyright notice, which applies to the <code>gd</code> library: + + <blockquote> +Portions copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 by Cold Spring Harbor Laboratory. Funded under Grant P41-RR02188 by the National Institutes of Health. + + <p>Portions copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 by Boutell.Com, Inc. + + <p>Portions relating to GD2 format copyright 1999, 2000, 2001, 2002, 2003, 2004 Philip Warner. + + <p>Portions relating to PNG copyright 1999, 2000, 2001, 2002, 2003, 2004 Greg Roelofs. + + <p>Portions relating to gdttf.c copyright 1999, 2000, 2001, 2002, 2003, 2004 John Ellson (ellson@graphviz.org). + + <p>Portions relating to gdft.c copyright 2001, 2002, 2003, 2004 John Ellson (ellson@graphviz.org). + + <p>Portions relating to JPEG and to color quantization copyright 2000, 2001, 2002, 2003, 2004, Doug Becker and copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Thomas G. Lane. This software is based in part on the work of the Independent JPEG Group. See the file README-JPEG.TXT for more information. + + <p>Portions relating to GIF compression copyright 1989 by Jef Poskanzer and David Rowley, with modifications for thread safety by Thomas Boutell. + + <p>Portions relating to GIF decompression copyright 1990, 1991, 1993 by David Koblas, with modifications for thread safety by Thomas Boutell. + + <p>Portions relating to WBMP copyright 2000, 2001, 2002, 2003, 2004 Maurice Szmurlo and Johan Van den Brande. + + <p>Portions relating to GIF animations copyright 2004 Jaakko Hyvädtti (jaakko.hyvatti@iki.fi) + + <p>Permission has been granted to copy, distribute and modify gd in any context without fee, including a commercial application, provided that this notice is present in user-accessible supporting documentation. + + <p>This does not affect your ownership of the derived work itself, and the intent is to assure proper credit for the authors of gd, not to interfere with your productive use of gd. If you have questions, ask. "Derived works" includes all programs that utilize the library. Credit must be given in user-accessible documentation. + + <p>This software is provided "AS IS." The copyright holders disclaim all warranties, either express or implied, including but not limited to implied warranties of merchantability and fitness for a particular purpose, with respect to this code and accompanying documentation. + + <p>Although their code does not appear in the current release, the authors also wish to thank Hutchison Avenue Software Corporation for their prior contributions. +</blockquote> + +<div class="node"> +<a name="Copying"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Index">Index</a>, +Previous: <a rel="previous" accesskey="p" href="#Credits">Credits</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">9 Copying</h2> + +<p>This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + + <p>This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + + <p>You should have received a copy of the GNU Lesser General Public +License along with this program. If not, see +<http://www.gnu.org/licenses/>. + + <pre class="sp"> + + +</pre> +Copyright © 2002-2010 Jan-Åke Larsson + +<div class="node"> +<a name="Index"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Copying">Copying</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="unnumbered">Index</h2> + +<ul class="index-cp" compact> +<li><a href="#index-g_t_002ddSAFER-39">-dSAFER</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-absolute-page-number_002c-and-_0040samp_007b_002dl_007d-32">absolute page number, and ‘<samp><span class="samp">-l</span></samp>’</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-absolute-page-number_002c-and-_0040samp_007b_002dp_007d-47">absolute page number, and ‘<samp><span class="samp">-p</span></samp>’</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-antialiasing-levels_0040r_007b_002c-number-of_007d-55">antialiasing levels<span class="roman">, number of</span></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-background-color-_0028option_0029-14">background color (option)</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-base-resolution_002c-setting-13">base resolution, setting</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-baseline-reporting-17">baseline reporting</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-color-specifications-65">color specifications</a>: <a href="#Color-specifications">Color specifications</a></li> +<li><a href="#index-command_002dline-options-5">command-line options</a>: <a href="#Command_002dline-options">Command-line options</a></li> +<li><a href="#index-compilation-2">compilation</a>: <a href="#Installation">Installation</a></li> +<li><a href="#index-compression-63">compression</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-configuration_002c-of-dvipng-1">configuration, of dvipng</a>: <a href="#Installation">Installation</a></li> +<li><a href="#index-dark-fonts-23">dark fonts</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-debugging-68">debugging</a>: <a href="#Diagnosing-problems">Diagnosing problems</a></li> +<li><a href="#index-debugging-15">debugging</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-depth-reporting-18">depth reporting</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-exit-on-erroneous-images-58">exit on erroneous images</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-first-page-printed-44">first page printed</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-follow-mode-20">follow mode</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-font-generation_002c-avoiding-35">font generation, avoiding</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-forcing-palette-output-48">forcing palette output</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-foreground-color-_0028option_0029-19">foreground color (option)</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-FreeType-font-rendering-21">FreeType font rendering</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-fuzzy-images-25">fuzzy images</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-gamma-22">gamma</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-GhostScript-and-_002ddSAFER-38">GhostScript and -dSAFER</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-GhostScript_002c-turning-off-37">GhostScript, turning off</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-GIF-image-format-26">GIF image format</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-height-reporting-28">height reporting</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-installation_002c-of-dvipng-3">installation, of dvipng</a>: <a href="#Installation">Installation</a></li> +<li><a href="#index-invoking-dvipng-4">invoking dvipng</a>: <a href="#Basic-usage">Basic usage</a></li> +<li><a href="#index-last-page-printed-29">last page printed</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-light-fonts-24">light fonts</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-magnification_002c-overriding-DVI-62">magnification, overriding DVI</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-Metafont-mode_002c-specifying-34">Metafont mode, specifying</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-mktexpk_0040r_007b_002c-avoiding_007d-36"><code>mktexpk</code><span class="roman">, avoiding</span></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-mode-name_002c-specifying-33">mode name, specifying</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-no-erroneous-images-49">no erroneous images</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-offset-pages-43">offset pages</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-option_002c-details-of-8">option, details of</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-options_002c-dvipng-6">options, dvipng</a>: <a href="#Command_002dline-options">Command-line options</a></li> +<li><a href="#index-options_002c-reading-from-standard-input-9">options, reading from standard input</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-options_002c-summary-7">options, summary</a>: <a href="#Option-summary">Option summary</a></li> +<li><a href="#index-output-resolution_002c-setting-16">output resolution, setting</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-output_002c-redirecting-41">output, redirecting</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-page-range-51">page range</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-page_002c-first-printed-45">page, first printed</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-page_002c-last-printed-30">page, last printed</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-physical-page-number_002c-and-_0040samp_007b_002dl_007d-31">physical page number, and ‘<samp><span class="samp">-l</span></samp>’</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-physical-page-number_002c-and-_0040samp_007b_002dp_007d-46">physical page number, and ‘<samp><span class="samp">-p</span></samp>’</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-PNG-image-format-50">PNG image format</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-PostScript-inclusion-problems-64">PostScript inclusion problems</a>: <a href="#Encapsulated-PostScript">Encapsulated PostScript</a></li> +<li><a href="#index-PostScript_002c-turning-off-raw-PostScript-specials-40">PostScript, turning off raw PostScript specials</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-problems-66">problems</a>: <a href="#Diagnosing-problems">Diagnosing problems</a></li> +<li><a href="#index-quality-56">quality</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-quiet-operation-52">quiet operation</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-reverse-pagination-57">reverse pagination</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-silent-operation-53">silent operation</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-standard-input_002c-reading-options-from-10">standard input, reading options from</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-standard-output_002c-output-to-42">standard output, output to</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-T1lib-font-rendering-59">T1lib font rendering</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-transparent-border-fallback-color-12">transparent border fallback color</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-transparent-border-width-11">transparent border width</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-trouble-67">trouble</a>: <a href="#Diagnosing-problems">Diagnosing problems</a></li> +<li><a href="#index-truecolor-output-60">truecolor output</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-warnings_002c-suppressing-54">warnings, suppressing</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-width-reporting-61">width reporting</a>: <a href="#Option-details">Option details</a></li> + </ul></body></html> + diff --git a/Master/texmf-dist/doc/dvipng/dvipng.pdf b/Master/texmf-dist/doc/dvipng/dvipng.pdf Binary files differnew file mode 100644 index 00000000000..ed294dd31cc --- /dev/null +++ b/Master/texmf-dist/doc/dvipng/dvipng.pdf diff --git a/Master/texmf-dist/doc/dvips/dvips.html b/Master/texmf-dist/doc/dvips/dvips.html new file mode 100644 index 00000000000..61a451603f1 --- /dev/null +++ b/Master/texmf-dist/doc/dvips/dvips.html @@ -0,0 +1,4936 @@ +<html lang="en"> +<head> +<title>Dvips: A DVI-to-PostScript translator</title> +<meta http-equiv="Content-Type" content="text/html"> +<meta name="description" content="Dvips: A DVI-to-PostScript translator"> +<meta name="generator" content="makeinfo 4.13"> +<link title="Top" rel="top" href="#Top"> +<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> +<!-- +This manual documents Dvips version 5.992 +(May 2012), a program to translate a DVI file into +PostScript. You may freely use, modify and/or distribute this file.--> +<meta http-equiv="Content-Style-Type" content="text/css"> +<style type="text/css"><!-- + pre.display { font-family:inherit } + pre.format { font-family:inherit } + pre.smalldisplay { font-family:inherit; font-size:smaller } + pre.smallformat { font-family:inherit; font-size:smaller } + pre.smallexample { font-size:smaller } + pre.smalllisp { font-size:smaller } + span.sc { font-variant:small-caps } + span.roman { font-family:serif; font-weight:normal; } + span.sansserif { font-family:sans-serif; font-weight:normal; } +--></style> +</head> +<body> +<h1 class="settitle">Dvips: A DVI-to-PostScript translator</h1> + <div class="shortcontents"> +<h2>Short Contents</h2> +<ul> +<li><a href="#toc_Top">Dvips</a></li> +<li><a href="#toc_Why-Dvips">1 Why use Dvips?</a></li> +<li><a href="#toc_Installation">2 Installation</a></li> +<li><a href="#toc_Invoking-Dvips">3 Invoking Dvips</a></li> +<li><a href="#toc_Paper-size-and-landscape">4 Paper size and landscape orientation</a></li> +<li><a href="#toc_Interaction-with-PostScript">5 Interaction with PostScript</a></li> +<li><a href="#toc_PostScript-fonts">6 PostScript fonts</a></li> +<li><a href="#toc_Color">7 Color</a></li> +<li><a href="#toc_Index">Index</a></li> +</ul> +</div> + + + + <div class="contents"> +<h2>Table of Contents</h2> +<ul> +<li><a name="toc_Top" href="#Top">Dvips</a> +<li><a name="toc_Why-Dvips" href="#Why-Dvips">1 Why use Dvips?</a> +<li><a name="toc_Installation" href="#Installation">2 Installation</a> +<ul> +<li><a href="#config_002eps-installation">2.1 <samp><span class="file">config.ps</span></samp> installation</a> +<li><a href="#PostScript-font-installation">2.2 PostScript font installation</a> +<li><a href="#Ghostscript-installation">2.3 Ghostscript installation</a> +<li><a href="#Diagnosing-problems">2.4 Diagnosing problems</a> +<ul> +<li><a href="#Debug-options">2.4.1 Debug options</a> +<li><a href="#No-output">2.4.2 No output at all</a> +<li><a href="#Small-or-inverted">2.4.3 Output too small or inverted</a> +<li><a href="#Printer-errors">2.4.4 Error messages from printer</a> +<li><a href="#Long-documents-fail">2.4.5 Long documents fail to print</a> +<li><a href="#Including-graphics-fails">2.4.6 Including graphics fails</a> +</li></ul> +</li></ul> +<li><a name="toc_Invoking-Dvips" href="#Invoking-Dvips">3 Invoking Dvips</a> +<ul> +<li><a href="#Basic-usage">3.1 Basic usage of Dvips</a> +<li><a href="#Command_002dline-options">3.2 Command-line options</a> +<ul> +<li><a href="#Option-summary">3.2.1 Option summary</a> +<li><a href="#Option-details">3.2.2 Option details</a> +</li></ul> +<li><a href="#Environment-variables">3.3 Environment variables</a> +<li><a href="#Config-files">3.4 Dvips configuration files</a> +<ul> +<li><a href="#Configuration-file-searching">3.4.1 Configuration file searching</a> +<li><a href="#Configuration-file-commands">3.4.2 Configuration file commands</a> +</li></ul> +</li></ul> +<li><a name="toc_Paper-size-and-landscape" href="#Paper-size-and-landscape">4 Paper size and landscape orientation</a> +<ul> +<li><a href="#papersize-special">4.1 ‘<samp><span class="samp">papersize</span></samp>’ special</a> +<li><a href="#Config-file-paper-sizes">4.2 Configuration file paper size command</a> +<li><a href="#Paper-trays">4.3 Paper trays</a> +</li></ul> +<li><a name="toc_Interaction-with-PostScript" href="#Interaction-with-PostScript">5 Interaction with PostScript</a> +<ul> +<li><a href="#PostScript-figures">5.1 PostScript figures</a> +<ul> +<li><a href="#Bounding-box">5.1.1 The bounding box comment</a> +<li><a href="#_005cincludegraphics">5.1.2 The \includegraphics macro for LaTeX</a> +<li><a href="#EPSF-macros">5.1.3 Using the EPSF macros</a> +<ul> +<li><a href="#EPSF-scaling">5.1.3.1 EPSF scaling</a> +<li><a href="#EPSF-clipping">5.1.3.2 EPSF clipping</a> +</li></ul> +<li><a href="#psfile-special">5.1.4 ‘<samp><span class="samp">psfile</span></samp>’ special</a> +<li><a href="#Dynamic-creation-of-graphics">5.1.5 Dynamic creation of PostScript graphics files</a> +<li><a href="#Fonts-in-figures">5.1.6 Fonts in figures</a> +</li></ul> +<li><a href="#Header-files">5.2 PostScript header files</a> +<ul> +<li><a href="#Including-headers-from-TeX">5.2.1 Including headers from TeX</a> +<li><a href="#Including-headers-from-the-command-line">5.2.2 Including headers from the command line</a> +<li><a href="#Headers-and-memory-usage">5.2.3 Headers and memory usage</a> +</li></ul> +<li><a href="#Literal-PS">5.3 Literal PostScript</a> +<ul> +<li><a href="#_0022-special">5.3.1 <code>"</code> special: Literal PostScript</a> +<li><a href="#ps-special">5.3.2 ‘<samp><span class="samp">ps</span></samp>’ special</a> +<li><a href="#Literal-headers">5.3.3 Literal headers: ‘<samp><span class="samp">!</span></samp>’ <code>\special</code></a> +<li><a href="#PostScript-hooks">5.3.4 PostScript hooks</a> +<li><a href="#Literal-examples">5.3.5 Literal examples</a> +</li></ul> +<li><a href="#Hypertext">5.4 HyperTeXt</a> +<ul> +<li><a href="#Hypertext-caveats">5.4.1 Hypertext caveats</a> +<li><a href="#Hypertext-specials">5.4.2 Hypertext specials</a> +</li></ul> +</li></ul> +<li><a name="toc_PostScript-fonts" href="#PostScript-fonts">6 PostScript fonts</a> +<ul> +<li><a href="#Font-concepts">6.1 Font concepts</a> +<ul> +<li><a href="#Metric-files">6.1.1 Metric files</a> +<li><a href="#Glyph-files">6.1.2 Glyph files</a> +<li><a href="#Virtual-fonts">6.1.3 Virtual fonts</a> +<li><a href="#Encodings">6.1.4 Encodings</a> +<li><a href="#PostScript-typesetting">6.1.5 How PostScript typesets a character</a> +</li></ul> +<li><a href="#Making-a-font-available">6.2 Making a PostScript font available</a> +<li><a href="#Invoking-afm2tfm">6.3 Invoking Afm2tfm</a> +<ul> +<li><a href="#Changing-font-encodings">6.3.1 Changing font encodings</a> +<ul> +<li><a href="#Changing-TeX-encodings">6.3.1.1 ‘<samp><span class="samp">-t</span></samp>’: Changing TeX encodings</a> +<li><a href="#Changing-PostScript-encodings">6.3.1.2 ‘<samp><span class="samp">-p</span></samp>’: Changing PostScript encodings</a> +<li><a href="#Changing-both-encodings">6.3.1.3 ‘<samp><span class="samp">-T</span></samp>’: Changing both TeX and PostScript encodings</a> +<li><a href="#Reencoding-with-Afm2tfm">6.3.1.4 Reencoding with Afm2tfm</a> +<li><a href="#Encoding-file-format">6.3.1.5 Encoding file format</a> +</li></ul> +<li><a href="#Special-font-effects">6.3.2 Special font effects</a> +<li><a href="#Afm2tfm-options">6.3.3 Afm2tfm options</a> +</li></ul> +<li><a href="#psfonts_002emap">6.4 <samp><span class="file">psfonts.map</span></samp>: PostScript font catalog</a> +</li></ul> +<li><a name="toc_Color" href="#Color">7 Color</a> +<ul> +<li><a href="#Color-macro-files">7.1 Color macro files</a> +<li><a href="#User_002ddefinable-colors">7.2 User-definable colors</a> +<li><a href="#Color-subtleties">7.3 Color subtleties</a> +<li><a href="#Ted-Turner">7.4 Printing in black/white after colorizing</a> +<li><a href="#Color-device-configuration">7.5 Color device configuration</a> +<li><a href="#Color-support-details">7.6 Color support details</a> +<ul> +<li><a href="#Color-specifications">7.6.1 Color specifications</a> +<li><a href="#Color-specials">7.6.2 Color specials</a> +</li></ul> +</li></ul> +<li><a name="toc_Index" href="#Index">Index</a> +</li></ul> +</div> + +<div class="node"> +<a name="Top"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Why-Dvips">Why Dvips</a>, +Up: <a rel="up" accesskey="u" href="#dir">(dir)</a> + +</div> + +<h2 class="unnumbered">Dvips</h2> + +<p>This manual documents Dvips version 5.992 +(May 2012), a program to translate a DVI file into +PostScript. You may freely use, modify and/or distribute this file. + +<ul class="menu"> +<li><a accesskey="1" href="#Why-Dvips">Why Dvips</a>: Why use Dvips? +<li><a accesskey="2" href="#Installation">Installation</a>: How to compile and install Dvips. +<li><a accesskey="3" href="#Invoking-Dvips">Invoking Dvips</a>: Command-line options, configuration files, etc. +<li><a accesskey="4" href="#Paper-size-and-landscape">Paper size and landscape</a>: Changing the paper dimensions. +<li><a accesskey="5" href="#Interaction-with-PostScript">Interaction with PostScript</a>: TeX meets Dvips meets PostScript. +<li><a accesskey="6" href="#PostScript-fonts">PostScript fonts</a>: Installing and using PostScript fonts. +<li><a accesskey="7" href="#Color">Color</a>: Using color with Dvips. +<li><a accesskey="8" href="#Index">Index</a>: General index. +</ul> + +<div class="node"> +<a name="Why-Dvips"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Installation">Installation</a>, +Previous: <a rel="previous" accesskey="p" href="#Top">Top</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">1 Why use Dvips?</h2> + +<p>The Dvips program has a number of features that set it apart from +other PostScript drivers for TeX. This rather long section describes +the advantages of using Dvips, and may be skipped if you are just +interested in learning how to use the program. See <a href="#Installation">Installation</a>, for +details of compilation and installation. + + <p>The Dvips driver generates excellent, standard PostScript, that +can be included in other documents as figures or printed through a +variety of spoolers. The generated PostScript requires very little +printer memory, so very complex documents with a lot of fonts can easily +be printed even on PostScript printers without much memory, such as the +original Apple LaserWriter. The PostScript output is also compact, +requiring less disk space to store and making it feasible as a transfer +format. + + <p>Even those documents that are too complex to print in their entirety on +a particular printer can be printed, since Dvips will +automatically split such documents into pieces, reclaiming the printer +memory between each piece. + + <p>The Dvips program supports graphics in a natural way, allowing +PostScript graphics to be included and automatically scaled and +positioned in a variety of ways. + + <p>Printers with any resolution are supported, even if they have different +resolutions in the horizontal and vertical directions. High resolution +output is supported for typesetters, including an option that compresses +the bitmap fonts so that typesetter virtual memory is not exhausted. +This option also significantly reduces the size of the PostScript file +and decoding in the printer is very fast. + + <p>Missing fonts can be automatically generated if Metafont exists on +the system, or fonts can be converted from GF to PK format +on demand. If a font cannot be generated, a scaled version of the same +font at a different size can be used instead, although Dvips will +complain loudly about the poor aesthetics of the resulting output. + + <p>Users will appreciate features such as collated copies and support for +<samp><span class="file">tpic</span></samp>, <samp><span class="file">psfig</span></samp>, <samp><span class="file">emtex</span></samp>, and <samp><span class="file">METAPOST</span></samp>; system +administrators will love the support for multiple printers, each with +their own configuration file, and the ability to pipe the output +directly to a program such as <samp><span class="file">lpr</span></samp>. Support for MS-DOS, OS/2, and +VMS in addition to Unix is provided in the standard distribution, and +porting to other systems is easy. + + <p>One of the most important features is the support of virtual fonts, +which add an entirely new level of flexibility to TeX. Virtual fonts +are used to give Dvips its excellent PostScript font support, handling +all the font remapping in a natural, portable, elegant, and extensible +way. Dvips even comes with its own Afm2tfm program that creates +the necessary virtual fonts and TeX font metric files automatically +from the Adobe font metric files. + + <p>Source is provided and freely distributable, so adding a site-specific feature +is possible. Adding such features is made easier by the highly modular +structure of the program. + + <p>There is really no reason to use another driver, and the more people use +Dvips, the less time will be spent fighting with PostScript and the +more time will be available to create beautiful documents. +So if you don't use Dvips on your system, get it today. + + <p><a name="index-Rokicki_002c-Tomas-1"></a>Tom Rokicki wrote and maintains the original Dvips program. + +<!-- INSTALLONLY --> +<div class="node"> +<a name="Installation"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Invoking-Dvips">Invoking Dvips</a>, +Previous: <a rel="previous" accesskey="p" href="#Why-Dvips">Why Dvips</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">2 Installation</h2> + +<p><a name="index-configuration_002c-of-Dvips-2"></a><a name="index-compilation-3"></a><a name="index-installation_002c-of-Dvips-4"></a> +<!-- ifset version --> +<!-- (A copy of this chapter is in the distribution file @file{dvipsk/INSTALL}.) --> +<!-- end ifset --> + + <p>Installing Dvips is mostly the same as installing any Kpathsea-using +program. Therefore, for the basic steps involved, +see <a href="kpathsea.html#Installation">Installation</a>. + + <p>For solutions to common installation problems and information on how to +report a bug, see the file <samp><span class="file">kpathsea/BUGS</span></samp> (see <a href="kpathsea.html#Bugs">Bugs</a>). For solutions to Dvips-specific problems, +see <a href="#Debug-options">Debug options</a>. Also see the Dvips home page at +<a href="http://www.radicaleye.com/dvips">http://www.radicaleye.com/dvips</a>. + + <p>Dvips does require some additional installation, detailed in the +sections below. Also, to configure color devices, see <a href="#Color-device-configuration">Color device configuration</a>. + +<ul class="menu"> +<li><a accesskey="1" href="#config_002eps-installation">config.ps installation</a>: Printer and site Dvips configuration. +<li><a accesskey="2" href="#PostScript-font-installation">PostScript font installation</a>: Many PostScript fonts are freely available. +<li><a accesskey="3" href="#Ghostscript-installation">Ghostscript installation</a>: A free PostScript interpreter. +<li><a accesskey="4" href="#Diagnosing-problems">Diagnosing problems</a>: Some common runtime difficulties. +</ul> + +<div class="node"> +<a name="config.ps-installation"></a> +<a name="config_002eps-installation"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#PostScript-font-installation">PostScript font installation</a>, +Up: <a rel="up" accesskey="u" href="#Installation">Installation</a> + +</div> + +<h3 class="section">2.1 <samp><span class="file">config.ps</span></samp> installation</h3> + +<p><a name="index-config_002eps-_0040r_007binstallation_007d-5"></a><a name="index-installation-of-_0040file_007bconfig_002eps_007d-6"></a><a name="index-printer-configuration-7"></a><a name="index-paper-size_002c-default-8"></a><a name="index-configuration-files_002c-creating-9"></a> +Dvips has its own configuration files: a file <samp><span class="file">config.ps</span></samp> for +sitewide defaults, and a file <samp><span class="file">config.</span><var>printer</var></samp> for each +printer (output device). Since these are site-specific, <code>make +install</code> does not create them; you must create them yourself. + + <p>(These Dvips configuration files are independent of the Kpathsea +configuration file <samp><span class="file">texmf.cnf</span></samp> (see <a href="kpathsea.html#Config-files">Config files</a>). + + <p><a name="index-config_002eproto-10"></a><a name="index-prototype-printer-configuration-file-11"></a><a name="index-printer-configuration-file_002c-prototype-12"></a><a name="index-configuration-files_002c-prototype-13"></a>Dvips configuration files contents and searching are described fully in +<a href="#Config-files">Config files</a>. The simplest way to create a new configuration file +is to copy and modify the file <samp><span class="file">dvipsk/contrib/config.proto</span></samp>, +seasoning with options to your taste from <a href="#Config-files">Config files</a>. Here is +<samp><span class="file">config.proto</span></samp> +for your reading pleasure: +<pre class="example"> % Prototype Dvips configuration file. (Public domain.) + + % How to print, maybe with lp instead lpr, etc. + o |lpr + + % Default resolution of this device, in dots per inch. + D 600 + + % Metafont mode. (This is completely different from the -M command-line + % option, which controls whether MakeTeXPK is invoked.) Get + % <a href="ftp://ftp.tug.org/tex/modes.mf">ftp://ftp.tug.org/tex/modes.mf</a> for a list of mode names. This mode + % and the D number above must agree, or MakeTeXPK will get confused. + M ljfour + + % Memory available. Download the three-line PostScript file: + % %! Hey, we're PostScript + % /Times-Roman findfont 30 scalefont setfont 144 432 moveto + % vmstatus exch sub 40 string cvs show pop showpage + % to determine this number. (It will be the only thing printed.) + m 3500000 + + % Correct printer offset. You can use testpage.tex from the LaTeX + % distribution to find these numbers. Print testpage.dvi more than once. + O 0pt,0pt + + % Partially download Type 1 fonts by default. Only reason not to do + % this is if you encounter bugs. (Please report them to + % <a href="mailto:tex-k@tug.org">tex-k@tug.org</a> if you do.) + j + + % Also look for fonts at these resolutions. + R 300 600 + + % With a high resolution and a RISC cpu, better to compress the bitmaps. + Z + + % Uncomment these if you have and want to use PostScript versions of the + % fonts. + %p +cmfonts.map + %p +lafonts.map + %p +cyrfonts.map + %p +eufonts.map + + % To include another configuration file here. + %c FILENAME + + % You will also want definitions for alternative paper sizes -- A4, + % legal, and such. Examples in <samp><span class="file">contrib/papersize.level2</span></samp> and + % <samp><span class="file">contrib/papersize.simple</span></samp>. +</pre> + <div class="node"> +<a name="PostScript-font-installation"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Ghostscript-installation">Ghostscript installation</a>, +Previous: <a rel="previous" accesskey="p" href="#config_002eps-installation">config.ps installation</a>, +Up: <a rel="up" accesskey="u" href="#Installation">Installation</a> + +</div> + +<h3 class="section">2.2 PostScript font installation</h3> + +<p><a name="index-installation-of-PostScript-fonts-14"></a><a name="index-fonts_002c-installation-of-PostScript-15"></a><a name="index-PostScript-fonts_002c-installing-16"></a> +To use PostScript fonts with TeX and Dvips, you need both metric +files (<samp><span class="file">.tfm</span></samp> and <samp><span class="file">.vf</span></samp>) and the outlines (<samp><span class="file">.pfa</span></samp> or +<samp><span class="file">.pfb</span></samp>). See <a href="#Font-concepts">Font concepts</a>. + + <p><a name="index-Adobe-fonts-17"></a><a name="index-Bigelow-_0026-Holmes-fonts-18"></a><a name="index-Lucida_002c-installing-19"></a><a name="index-Monotype-fonts-20"></a><a name="index-Softkey-fonts-21"></a>To support the basic PostScript font set, the recommended (and +simplest) approach is to install the files at +<a href="http://www.ctan.org/tex-archive/fonts/psfonts/lw35nfsx.zip">http://www.ctan.org/tex-archive/fonts/psfonts/lw35nfsx.zip</a>. +This archive contains metrics, outlines, and bitmaps (for previewing) +for the 35 de facto standard fonts donated by URW and the additional +high-quality freely available PostScript fonts donated by Adobe, +Bitstream, and URW, including geometrically-created variants such as +oblique and small caps. + + <p><a name="index-Adobe-fonts_002c-installing-22"></a><a name="index-Bitstream-fonts_002c-installing-23"></a><a name="index-Monotype-fonts_002c-installing-24"></a><a name="index-Softkey-fonts_002c-installing-25"></a><a name="index-Y_0026Y-fonts_002c-installing-26"></a><samp><var>CTAN:</var><span class="file">/fonts/psfonts</span></samp> contains support for many additional +fonts for which you must buy outlines (Adobe, Bigelow & Holmes, +Monotype, Softkey, Y&Y). (For CTAN info, see <a href="kpathsea.html#unixtex_002eftp">unixtex.ftp</a>; a copy is in the top-level file <samp><span class="file">INSTALL</span></samp>.) + + <p><a name="index-fonts_002c-system-PostScript-27"></a><a name="index-PostScript-fonts_002c-on-your-system-28"></a><a name="index-psfonts_002emap-29"></a>If you have additional PostScript fonts, you can make them available to +Dvips by (1) giving them with appropriate filenames; and (2) running +Afm2tfm (see <a href="#Making-a-font-available">Making a font available</a>) to make TFM and VF metrics for +TeX and Dvips to use. Also add them to <samp><span class="file">psfonts.map</span></samp> if +necessary (see <a href="#psfonts_002emap">psfonts.map</a>); it contains everything contained in +<samp><span class="file">lw35nfsx.zip</span></samp> and most fonts that come with Unix systems. + + <p>Following are locations for vendor-supplied fonts. Please mail +<a href="mailto:tex-k@tug.org">tex-k@tug.org</a> if you find fonts elsewhere on your system. + + <dl> +<dt>DEC Ultrix<dd><tt>/usr/lib/DPS/outline/decwin</tt> + + <br><dt>DEC Digital Unix<dd><tt>/usr/lib/X11/fonts/Type1Adobe</tt> + + <br><dt>HP HP-UX 9, 10<dd><tt>/usr/lib/X11/fonts/type1.st/typefaces</tt> + + <br><dt>IBM AIX<dd><tt>/usr/lpp/DPS/fonts/outlines</tt><br> +<tt>/usr/lpp/X11/lib/X11/fonts/Type1</tt><br> +<tt>/usr/lpp/X11/lib/X11/fonts/Type1/DPS</tt> + + <br><dt>NeXT<dd><tt>/NextLibrary/Fonts/outline</tt> + + <br><dt>SGI IRIX<dd><tt>/usr/lib/DPS/outline/base</tt> +<tt>/usr/lib/X11/fonts/Type1</tt> + + <br><dt>Sun SunOS 4.x<dd>(NeWSprint only)<br> +<tt>newsprint_2.5/SUNWsteNP/reloc/$BASEDIR/</tt><br> +<tt> NeWSprint/small_openwin/lib/fonts</tt><br> +<tt>/usr/openwin/lib/X11/fonts/Type1/outline</tt> + + <br><dt>Sun Solaris 2<dd><tt>/usr/openwin/lib/X11/fonts/Type1/outline</tt> + + <br><dt>VMS<dd><tt>SYS$COMMON:[SYSFONT.XDPS.OUTLINE]</tt> +</dl> + +<p class="noindent">The NeXT system supplies more fonts than any others, but +there's a lot of overlap. + + <p><a name="index-HP-printers-and-Type-1-fonts-30"></a>Finally, if you have an Hewlett-Packard printer, you should be able to +get Type 1 font files for the standard 35 fonts from HP, if the freely +available URW Type 1's do not satisfy for whatever reason. The phone +number for HP Printer Drivers is (in the United States) 303-339-7009. +The driver set to ask for is Adobe Type Manager 2.51, and the disk set +number is ‘<samp><span class="samp">MP210en3</span></samp>’. Mentioning anything other than Microsoft +Windows when you ask for the driver set will likely lead to great +confusion on the other end. + +<div class="node"> +<a name="Ghostscript-installation"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Diagnosing-problems">Diagnosing problems</a>, +Previous: <a rel="previous" accesskey="p" href="#PostScript-font-installation">PostScript font installation</a>, +Up: <a rel="up" accesskey="u" href="#Installation">Installation</a> + +</div> + +<h3 class="section">2.3 Ghostscript installation</h3> + +<p><a name="index-Ghostscript-installation-31"></a><a name="index-gs-_0040r_007binstallation_007d-32"></a> +<a name="index-Deutsch_002c-Peter-33"></a><a name="index-Epson-printers-34"></a><a name="index-previewing-Dvips-output-35"></a><a name="index-PostScript-previewers-36"></a><a name="index-PDF-files_002c-making-37"></a><a name="index-Aladdin-Ghostscript-38"></a>Ghostscript is a PostScript interpreter freely available to end-users, +written by Peter Deutsch. It can read the PostScript produced by Dvips +and render it on your monitor, or for another device (e.g., an Epson +printer) that does not support PostScript, or in PDF format. The latest +version is available via <a href="http://www.cs.wisc.edu/~ghost/index.html">http://www.cs.wisc.edu/~ghost/index.html</a> +and <a href="ftp://ftp.cs.wisc.edu/pub/ghost/aladdin/">ftp://ftp.cs.wisc.edu/pub/ghost/aladdin/</a>. + + <p><a name="index-GNU-Ghostscript-39"></a>A somewhat older version of Ghostscript is available under the GNU +General Public License, free to everyone. You can get that from +<a href="ftp://prep.ai.mit.edu/pub/gnu/">ftp://prep.ai.mit.edu/pub/gnu/</a>. + + <p><a name="index-Theisen_002c-Tim-40"></a><a name="index-ghostview-41"></a><a name="index-Ghostview_002c-and-no-_0040samp_007bN_007d-42"></a><a name="index-EPS_002c-and-Ghostview-43"></a><a name="index-standard-PostScript_002c-required-by-Ghostview-44"></a><a name="index-g_t_0025_0025Page_0040r_007b_002c-required-by-Ghostview_007d-45"></a>The program Ghostview, written by Tim Theisen, provides typical +previewing capabilities (next page/previous page, magnification, etc.). +It requires Ghostscript to run, and files in structured Postscript, +specifically with ‘<samp><span class="samp">%%Page</span></samp>’ comments (no ‘<samp><span class="samp">N</span></samp>’ in +<samp><span class="file">config.ps</span></samp>). You can get Ghostview from the same places as +Ghostscript. + +<div class="node"> +<a name="Diagnosing-problems"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Ghostscript-installation">Ghostscript installation</a>, +Up: <a rel="up" accesskey="u" href="#Installation">Installation</a> + +</div> + +<h3 class="section">2.4 Diagnosing problems</h3> + +<p><a name="index-problems-46"></a><a name="index-trouble-47"></a><a name="index-debugging-48"></a> +You've gone through all the trouble of installing Dvips, carefully read +all the instructions in this manual, and still can't get something to +work. The following sections provide some helpful hints if you find +yourself in such a situation. + + <p>For details on effective bug reporting, common installation problems, +and <code>mktexpk</code> problems, see <a href="kpathsea.html#Bugs">Bugs</a>. + + <p>A good first debugging operation is to set the environment variable +<samp><span class="env">DVIPSDEBUG</span></samp>, which will display any configuration and map files +read by Dvips. This way you can be sure it's finding the files and +settings you expect. + +<ul class="menu"> +<li><a accesskey="1" href="#Debug-options">Debug options</a>: Getting diagnostics. +<li><a accesskey="2" href="#No-output">No output</a>: No output at all. +<li><a accesskey="3" href="#Small-or-inverted">Small or inverted</a>: Output too small or inverted. +<li><a accesskey="4" href="#Printer-errors">Printer errors</a>: The printer sends back errors. +<li><a accesskey="5" href="#Long-documents-fail">Long documents fail</a>: Long documents fail to print. +<li><a accesskey="6" href="#Including-graphics-fails">Including graphics fails</a>: Figures don't work. +</ul> + +<div class="node"> +<a name="Debug-options"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#No-output">No output</a>, +Up: <a rel="up" accesskey="u" href="#Diagnosing-problems">Diagnosing problems</a> + +</div> + +<h4 class="subsection">2.4.1 Debug options</h4> + +<p><a name="index-debugging-options-49"></a><a name="index-options_002c-debugging-50"></a> +The ‘<samp><span class="samp">-d</span></samp>’ flag to Dvips helps in tracking down certain errors. +The parameter to this flag is an integer that tells what errors are +currently being tracked. To track a certain class of debug messages, +specify the appropriate number given below; if you wish to track +multiple classes, sum the numbers of the classes you wish to track. +To track all classes, you can use <code>-1</code>. + + <p>You can also set the environment variable <samp><span class="env">KPATHSEA_DEBUG</span></samp> instead +of using ‘<samp><span class="samp">-d</span></samp>’. Some of these debugging options are actually +provided by Kpathsea (see <a href="kpathsea.html#Debugging">Debugging</a>). + + <p>The classes are: + + <dl> +<dt>1<dd>specials +<br><dt>2<dd>paths +<br><dt>4<dd>fonts +<br><dt>8<dd>pages +<br><dt>16<dd>headers +<br><dt>32<dd>font compression +<br><dt>64<dd>files +<br><dt>128<dd>(omitted) +<br><dt>256<dd>config files +<br><dt>512<dd>Kpathsea <code>stat</code> calls +<br><dt>1024<dd>Kpathsea hash table lookups +<br><dt>2048<dd>Kpathsea path element expansion +<br><dt>4096<dd>Kpathsea path searches +</dl> + +<div class="node"> +<a name="No-output"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Small-or-inverted">Small or inverted</a>, +Previous: <a rel="previous" accesskey="p" href="#Debug-options">Debug options</a>, +Up: <a rel="up" accesskey="u" href="#Diagnosing-problems">Diagnosing problems</a> + +</div> + +<h4 class="subsection">2.4.2 No output at all</h4> + +<p><a name="index-output_002c-none-51"></a><a name="index-no-output-at-all-52"></a><a name="index-failure_002c-to-print-at-all-53"></a> +If you are not getting any output at all, even from the simplest +one-character file (for instance, ‘<samp><span class="samp">\ \bye</span></samp>’), then something is very +wrong. Practically any file sent to a PostScript laser printer should +generate some output, at the very least a page detailing what error +occurred, if any. Talk to your system administrator about downloading a +PostScript error handler. (Adobe distributes a good one called +‘<samp><span class="samp">ehandler.ps</span></samp>’.) +<a name="index-ehandler_002eps-54"></a> +<a name="index-PowerPage-PostScript-implementation-55"></a><a name="index-Shinko-CHC_002dS446i-printer-56"></a><a name="index-Mitsubishi-Shinko-CHC_002dS446i-printer-57"></a>It is possible, especially if you are using non-Adobe PostScript, that +your PostScript interpreter is broken. Even then it should generate an +error message. Dvips tries to work around as many bugs as possible in +common non-Adobe PostScript interpreters, but doubtless it misses a few. +PowerPage Revision 1, Interpreter Version 20001.001, on a Mitsubishi +Shinko CHC-S446i color thermal dye sublimation printer is known to be +unable to print with any but builtin fonts. + + <p>If Dvips gives any strange error messages, or compilation on your +machine generated a lot of warnings, perhaps the Dvips program itself is +broken. Try using the debug options to determine where the error +occurred (see <a href="#Debug-options">Debug options</a>). + + <p>It is possible your spooler is broken and is misinterpreting the +structured comments. Try the ‘<samp><span class="samp">-N</span></samp>’ flag to turn off structured +comments and see what happens. + +<div class="node"> +<a name="Small-or-inverted"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Printer-errors">Printer errors</a>, +Previous: <a rel="previous" accesskey="p" href="#No-output">No output</a>, +Up: <a rel="up" accesskey="u" href="#Diagnosing-problems">Diagnosing problems</a> + +</div> + +<h4 class="subsection">2.4.3 Output too small or inverted</h4> + +<p><a name="index-output_002c-too-small-58"></a><a name="index-output_002c-inverted-59"></a><a name="index-inverted-output-60"></a><a name="index-too_002dsmall-output-61"></a> +<a name="index-save_002frestore_002c-and-inverted-output-62"></a>If some documents come out inverted or too small, probably your spooler +is not supplying an end of job indicator at the end of each file. (This +commonly happens on small machines that don't have spoolers.) You can +force Dvips to do this with the ‘<samp><span class="samp">-F</span></samp>’ flag (or ‘<samp><span class="samp">F</span></samp>’ config file +option), but this generates files with a terminating binary character +(control-D). You can also try using the ‘<samp><span class="samp">-s</span></samp>’ flag (or ‘<samp><span class="samp">s</span></samp>’ +config file option) to enclose the entire job in a save/restore pair. +See <a href="#Command_002dline-options">Command-line options</a>, and <a href="#Config-files">Config files</a>. + +<div class="node"> +<a name="Printer-errors"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Long-documents-fail">Long documents fail</a>, +Previous: <a rel="previous" accesskey="p" href="#Small-or-inverted">Small or inverted</a>, +Up: <a rel="up" accesskey="u" href="#Diagnosing-problems">Diagnosing problems</a> + +</div> + +<h4 class="subsection">2.4.4 Error messages from printer</h4> + +<p><a name="index-printer-errors-63"></a><a name="index-error-messages-from-printer-64"></a><a name="index-failure_002c-and-printer-errors-65"></a> +<a name="index-g_t_0040t_007bbop-undefined_007d-error-66"></a>If your printer returns error messages, the error message gives very +good information on what might be going wrong. One of the most common +error messages is ‘<samp><span class="samp">bop undefined</span></samp>’. This is caused by old versions +of Transcript and other spoolers that do not properly parse the setup +section of the PostScript. To fix this, turn off structured comments +with the ‘<samp><span class="samp">-N</span></samp>’ option, but it'd be best to get your spooling +software updated. + + <p><a name="index-VM-exhausted-67"></a><a name="index-printer-memory-exhausted-68"></a><a name="index-memory-of-printer-exhausted-69"></a>Another error message is ‘<samp><span class="samp">VM exhausted</span></samp>’. Some printers indicate +this error by locking up, others quietly reset. This is caused by Dvips +thinking that the printer has more memory than it actually does, and +then printing a complicated document. To fix this, try lowering the +‘<samp><span class="samp">m</span></samp>’ parameter in the configuration file; use the debug option to +make sure you adjust the correct file. + + <p>Other errors may indicate you are trying to include graphics that don't +nest properly in other PostScript documents, among other things. Try +the PostScript file on a QMS PS-810 or other Adobe PostScript printer if +you have one, or Ghostscript (see <a href="#Ghostscript-installation">Ghostscript installation</a>); it +might be a problem with the printer itself. + +<div class="node"> +<a name="Long-documents-fail"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Including-graphics-fails">Including graphics fails</a>, +Previous: <a rel="previous" accesskey="p" href="#Printer-errors">Printer errors</a>, +Up: <a rel="up" accesskey="u" href="#Diagnosing-problems">Diagnosing problems</a> + +</div> + +<h4 class="subsection">2.4.5 Long documents fail to print</h4> + +<p><a name="index-long-documents-not-printing-70"></a><a name="index-failure_002c-of-long-documents-71"></a> +This is usually caused by incorrectly specifying the amount of memory +the printer has in the configuration file; see the previous section. + +<div class="node"> +<a name="Including-graphics-fails"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Long-documents-fail">Long documents fail</a>, +Up: <a rel="up" accesskey="u" href="#Diagnosing-problems">Diagnosing problems</a> + +</div> + +<h4 class="subsection">2.4.6 Including graphics fails</h4> + +<p><a name="index-including-graphics-fails-72"></a><a name="index-graphics-inclusion-fails-73"></a><a name="index-failure_002c-to-include-graphics-74"></a> +The most common problem with including graphics is an incorrect bounding +box (see <a href="#Bounding-box">Bounding box</a>). Complain to whoever wrote the software that +generated the file if the bounding box is indeed incorrect. + + <p><a name="index-Illustrator_002c-workaround-for-75"></a>Another possible problem is that the figure you are trying to include +does not nest properly; there are certain rules PostScript applications +must follow when generating files to be included. The Dvips program +includes work-arounds for such errors in Adobe Illustrator and other +programs, but there are certainly applications that haven't been tested. + + <p>One possible thing to try is the ‘<samp><span class="samp">-K</span></samp>’ flag which strips the comments +from an included figure. This might be necessary if the PostScript +spooling software does not read the structured comments correctly. Use +of this flag will break graphics from some applications, though, since +some applications read the PostScript file from the input stream, +looking for a particular comment. + + <p><a name="index-binary-files_002c-not-supported-76"></a>Any application which generates graphics output containing raw binary +(not ASCII hex) will probably fail with Dvips. + +<div class="node"> +<a name="Invoking-Dvips"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Paper-size-and-landscape">Paper size and landscape</a>, +Previous: <a rel="previous" accesskey="p" href="#Installation">Installation</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">3 Invoking Dvips</h2> + +<p><a name="index-command_002dline-options-77"></a><a name="index-options_002c-Dvips-78"></a><a name="index-invoking-Dvips-79"></a> +Dvips reads a DVI file as output by (for example) TeX, and converts +it to PostScript, taking care of builtin or downloaded PostScript fonts, +font reencoding, color, etc. These features are described in other +chapters in this document. + + <p>There many ways to control Dvips' behavior: configuration files, +environment variables, and command-line options. + +<ul class="menu"> +<li><a accesskey="1" href="#Basic-usage">Basic usage</a> +<li><a accesskey="2" href="#Command_002dline-options">Command-line options</a> +<li><a accesskey="3" href="#Environment-variables">Environment variables</a> +<li><a accesskey="4" href="#Config-files">Config files</a> +</ul> + +<div class="node"> +<a name="Basic-usage"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Command_002dline-options">Command-line options</a>, +Up: <a rel="up" accesskey="u" href="#Invoking-Dvips">Invoking Dvips</a> + +</div> + +<h3 class="section">3.1 Basic usage of Dvips</h3> + +<p><a name="index-usage_002c-basic-80"></a> +To use Dvips at its simplest, simply type + +<pre class="example"> dvips foo +</pre> + <p class="noindent">where <samp><span class="file">foo.dvi</span></samp> is the output of TeX that you want to print. +The default output is to a corresponding file <samp><span class="file">foo.ps</span></samp>; Dvips may +also have been locally configured to output directly to a printer by +default. + + <p>If you use fonts that have not been used on your system before, they may +be automatically generated; this process can take a few minutes, so +progress reports appear by default. The next time that document is +printed, these fonts will have been saved in the proper directories, so +printing will go much faster. (If Dvips tries to endlessly generate the +same fonts over and over again, it hasn't been installed properly. +See <a href="kpathsea.html#Unable-to-generate-fonts">Unable to generate fonts</a>.) + + <p>Many options are available (see the next section). For a brief summary +of available options, just type + +<pre class="example"> dvips --help +</pre> + <div class="node"> +<a name="Command-line-options"></a> +<a name="Command_002dline-options"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Environment-variables">Environment variables</a>, +Previous: <a rel="previous" accesskey="p" href="#Basic-usage">Basic usage</a>, +Up: <a rel="up" accesskey="u" href="#Invoking-Dvips">Invoking Dvips</a> + +</div> + +<h3 class="section">3.2 Command-line options</h3> + +<p>Dvips has a plethora of command line options. Reading through this +section will give a good idea of the capabilities of the driver. + +<ul class="menu"> +<li><a accesskey="1" href="#Option-summary">Option summary</a>: Quick listing, from Dvips --help. +<li><a accesskey="2" href="#Option-details">Option details</a>: More information about each option. +</ul> + +<div class="node"> +<a name="Option-summary"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Option-details">Option details</a>, +Up: <a rel="up" accesskey="u" href="#Command_002dline-options">Command-line options</a> + +</div> + +<h4 class="subsection">3.2.1 Option summary</h4> + +<p><a name="index-options_002c-summary-81"></a>Here is a handy summary of the options; it is printed out when you run +Dvips with no arguments or with the standard ‘<samp><span class="samp">--help</span></samp>’ option. +<a name="index-g_t_002d_002dhelp-82"></a> +<pre class="verbatim">Usage: dvips [OPTION]... FILENAME[.dvi] +Convert DVI input files to PostScript. +See http://tug.org/dvips/ for the full manual and other information. + +Options: +-a* Conserve memory, not time -A Print only odd (TeX) pages +-b # Page copies, for posters e.g. -B Print only even (TeX) pages +-c # Uncollated copies -C # Collated copies +-d # Debugging -D # Resolution +-e # Maxdrift value -E* Try to create EPSF +-f* Run as filter -F* Send control-D at end + -G* Shift low chars to higher pos. +-h f Add header file +-i* Separate file per section +-j* Download fonts partially +-k* Print crop marks -K* Pull comments from inclusions +-l # Last page +-m* Manual feed -M* Don't make fonts +-mode s Metafont device name +-n # Maximum number of pages -N* No structured comments +-noomega Disable Omega extensions +-noptex Disable pTeX extensions +-o f Output file -O c Set/change paper offset +-p # First page -P s Load config.$s +-pp l Print only pages listed +-q* Run quietly +-r* Reverse order of pages -R* Run securely +-s* Enclose output in save/restore -S # Max section size in pages +-t s Paper format -T c Specify desired page size +-u s PS mapfile -U* Disable string param trick +-v Print version number and quit -V* Send downloadable PS fonts as PK +-x # Override dvi magnification -X # Horizontal resolution +-y # Multiply by dvi magnification -Y # Vertical resolution +-z* Hyper PS -Z* Compress bitmap fonts + # = number f = file s = string * = suffix, `0' to turn off + c = comma-separated dimension pair (e.g., 3.2in,-32.1cm) + l = comma-separated list of page ranges (e.g., 1-4,7-9) + +Email bug reports to tex-k@mail.tug.org. +</pre> + +<div class="node"> +<a name="Option-details"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Option-summary">Option summary</a>, +Up: <a rel="up" accesskey="u" href="#Command_002dline-options">Command-line options</a> + +</div> + +<h4 class="subsection">3.2.2 Option details</h4> + +<p><a name="index-option_002c-details-of-83"></a> +Many of the parameterless options listed here can be turned off by +suffixing the option with a zero (‘<samp><span class="samp">0</span></samp>’); for instance, to turn off +page reversal, use ‘<samp><span class="samp">-r0</span></samp>’. Such options are marked with a trailing +‘<samp><span class="samp">*</span></samp>’. + + <dl> +<dt>‘<samp><span class="samp">-</span></samp>’<dd><a name="index-g_t_002d-84"></a><a name="index-options_002c-reading-from-standard-input-85"></a><a name="index-standard-input_002c-reading-options-from-86"></a>Read additional options from standard input after processing the command +line. + + <br><dt>‘<samp><span class="samp">--help</span></samp>’<dd><a name="index-g_t_002d_002dhelp-87"></a>Print a usage message and exit. + + <br><dt>‘<samp><span class="samp">--version</span></samp>’<dd><a name="index-g_t_002d_002dversion-88"></a>Print the version number and exit. + + <br><dt>‘<samp><span class="samp">-a*</span></samp>’<dd><a name="index-g_t_002da-89"></a><a name="index-memory_002c-conserving-90"></a>Conserve memory by making three passes over the DVI file instead +of two and only loading those characters actually used. Generally only +useful on machines with a very limited amount of memory, like some PCs. + + <br><dt>‘<samp><span class="samp">-A</span></samp>’<dd><a name="index-g_t_002dA-91"></a><a name="index-odd-pages-only-92"></a>Print only the odd pages. This option uses TeX +page numbers, not physical page numbers. + + <br><dt>‘<samp><span class="samp">-b </span><var>num</var></samp>’<dd><a name="index-g_t_002db-_0040var_007bnum_007d-93"></a><a name="index-g_t_002f_0023copies-94"></a><a name="index-copies_002c-duplicated-page-bodies-95"></a><a name="index-color-separations-96"></a>Generate <var>num</var> copies of each page, but duplicating the page body +rather than using the ‘<samp><span class="samp">/#copies</span></samp>’ PostScript variable. This can +be useful in conjunction with a header file setting ‘<samp><span class="samp">bop-hook</span></samp>’ to +do color separations or other neat tricks. + + <br><dt>‘<samp><span class="samp">-B</span></samp>’<dd><a name="index-g_t_002dB-97"></a><a name="index-even-pages-only-98"></a><a name="index-double_002dsided-printing-99"></a>Print only the even pages. This option uses TeX page numbers, not +physical page numbers. + + <br><dt>‘<samp><span class="samp">-c </span><var>num</var></samp>’<dd><a name="index-g_t_002dc-_0040var_007bnum_007d-100"></a><a name="index-g_t_002f_0023copies-101"></a><a name="index-copies_002c-uncollated-102"></a><a name="index-uncollated-copies-103"></a>Generate <var>num</var> consecutive copies of every page, i.e., the output is +uncollated. This merely sets the builtin PostScript variable +‘<samp><span class="samp">/#copies</span></samp>’. + + <br><dt>‘<samp><span class="samp">-C </span><var>num</var></samp>’<dd><a name="index-g_t_002dC-_0040var_007bnum_007d-104"></a><a name="index-copies_002c-collated-105"></a><a name="index-collated-copies-106"></a>Generate <var>num</var> copies, but collated (by replicating the data in the +PostScript file). Slower than the ‘<samp><span class="samp">-c</span></samp>’ option, but easier on the +hands, and faster than resubmitting the same PostScript file multiple +times. + + <br><dt>‘<samp><span class="samp">-d </span><var>num</var></samp>’<dd><a name="index-g_t_002dd-_0040var_007bnum_007d-107"></a><a name="index-debugging-108"></a>Set the debug flags, showing what Dvips (thinks it) is doing. This will +work unless Dvips has been compiled without the ‘<samp><span class="samp">DEBUG</span></samp>’ option (not +recommended). See <a href="#Debug-options">Debug options</a>, for the possible values of +<var>num</var>. Use ‘<samp><span class="samp">-d -1</span></samp>’ as the first option for maximum output. + + <br><dt>‘<samp><span class="samp">-D </span><var>num</var></samp>’<dd><a name="index-g_t_002dD-_0040var_007bnum_007d-109"></a><a name="index-resolution_002c-setting-110"></a>Set both the horizontal and vertical resolution to <var>num</var>, given in +dpi (dots per inch). This affects the choice of bitmap fonts that are +loaded and also the positioning of letters in resident PostScript +fonts. Must be between 10 and 10000. This affects both the horizontal +and vertical resolution. If a high resolution (something greater than +400 dpi, say) is selected, the ‘<samp><span class="samp">-Z</span></samp>’ flag should probably also be +used. If you are using fonts made with Metafont, such as Computer +Modern, <samp><span class="file">mktexpk</span></samp> needs to know about the value for <var>num</var> +that you use or Metafont will fail. See the file +<a href="ftp://ftp.tug.org/tex/modes.mf">ftp://ftp.tug.org/tex/modes.mf</a> for a list of resolutions and mode +names for most devices. + + <br><dt>‘<samp><span class="samp">-e </span><var>num</var></samp>’<dd><a name="index-g_t_002de-_0040var_007bnum_007d-111"></a><a name="index-maxdrift-112"></a><a name="index-accuracy-in-positioning-113"></a><a name="index-positioning-accuracy-114"></a>Maximum drift in pixels of each character from its `true' +resolution-independent position on the page. The default value of this +parameter is resolution dependent (it is the number of entries in the +list [100, 200, 300, 400, 500, 600, 800, 1000, 1200, 1600, 2000, 2400, +2800, 3200, <small class="dots">...</small>] that are less than or equal to the resolution in +dots per inch). Allowing individual characters to `drift' from their +correctly rounded positions by a few pixels, while regaining the true +position at the beginning of each new word, improves the spacing of +letters in words. + + <br><dt>‘<samp><span class="samp">-E*</span></samp>’<dd><a name="index-g_t_002dE-115"></a><a name="index-EPSF_002c-generating-116"></a><a name="index-tight-bounding-box_002c-finding-117"></a><a name="index-bounding-box_002c-finding-tight-118"></a>Generate an EPSF file with a tight bounding box. This only looks at +marks made by characters and rules, not by any included graphics. In +addition, it gets the glyph metrics from the TFM file, so characters +that print outside their enclosing TFM box may confuse it. In addition, +the bounding box might be a bit too loose if the character glyph has +significant left or right side bearings. Nonetheless, this option works +well enough for creating small EPSF files for equations or tables or the +like. (Of course, Dvips output, especially when using bitmap fonts, is +resolution-dependent and thus does not make very good EPSF files, +especially if the images are to be scaled; use these EPSF files with +care.) For multiple page input files, also specify ‘<samp><span class="samp">-i</span></samp>’ to get +each page as a separate EPSF file; otherwise, all the pages are overlaid +in the single output file. + + <br><dt>‘<samp><span class="samp">-f*</span></samp>’<dd><a name="index-g_t_002df-119"></a><a name="index-filter_002c-running-as-a-120"></a><a name="index-standard-I_002fO-121"></a><a name="index-pipes_002c-not-readable-122"></a><a name="index-PRINTER_0040r_007b_002c-avoided-with-_0040samp_007b_002df_007d_007d-123"></a>Run as a filter. Read the DVI file from standard input and write the +PostScript to standard output. The standard input must be seekable, so +it cannot be a pipe. If your input must be a pipe, write a shell script +that copies the pipe output to a temporary file and then points Dvips at +this file. This option also disables the automatic reading of the +<code>PRINTER</code> environment variable; use ‘<samp><span class="samp">-P$PRINTER</span></samp>’ after the +‘<samp><span class="samp">-f</span></samp>’ to read it anyway. It also turns off the automatic sending of +control-D if it was turned on with the ‘<samp><span class="samp">-F</span></samp>’ option or in the +configuration file; use ‘<samp><span class="samp">-F</span></samp>’ after the ‘<samp><span class="samp">-f</span></samp>’ to send it anyway. + + <br><dt>‘<samp><span class="samp">-F*</span></samp>’<dd><a name="index-g_t_002dF-124"></a><a name="index-EOF-125"></a><a name="index-control_002dD-126"></a><a name="index-printer_002c-driving-directly-127"></a><a name="index-spooler_002c-lacking-128"></a>Write control-D (ASCII code 4) as the very last character of the +PostScript file. This is useful when Dvips is driving the printer +directly instead of working through a spooler, as is common on personal +systems. On systems shared by more than one person, this is not +recommended. + + <br><dt>‘<samp><span class="samp">-G*</span></samp>’<dd><a name="index-g_t_002dG-129"></a><a name="index-low-characters_002c-shifting-130"></a><a name="index-non_002dprinting-characters_002c-shifting-131"></a>Shift non-printing characters (ASCII 0-32, 127) to higher-numbered positions. +This was useful to work around bugs in old versions of Adobe's PDF +reader. It's more likely to cause problems nowadays. + + <br><dt>‘<samp><span class="samp">-h </span><var>name</var></samp>’<dd><a name="index-g_t_002dh-_0040var_007bname_007d-132"></a><a name="index-header-file_002c-downloading-133"></a><a name="index-userdict_0040r_007b_002c-used-for-header-files_007d-134"></a>Prepend <var>name</var> as an additional header file, or, if <var>name</var> is +‘<samp><span class="samp">-</span></samp>’, suppress all header files. Any definitions in the header file +get added to the PostScript ‘<samp><span class="samp">userdict</span></samp>’. + + <br><dt>‘<samp><span class="samp">-i*</span></samp>’<dd><a name="index-g_t_002di-135"></a><a name="index-sections-output_002c-in-separate-files-136"></a><a name="index-multiple-output-files-137"></a><a name="index-output-files_002c-multiple-138"></a>Make each section be a separate file; a <dfn>section</dfn> is a part of the +document processed independently, most often created to avoid memory +overflow. The filenames are created replacing the suffix of the +supplied output file name by a three-digit sequence number. This option +is most often used in conjunction with the ‘<samp><span class="samp">-S</span></samp>’ option which sets +the maximum section length in pages; if ‘<samp><span class="samp">-i</span></samp>’ is specified and +‘<samp><span class="samp">-S</span></samp>’ is not, each page is output as a separate file. For instance, +some phototypesetters cannot print more than ten or so consecutive pages +before running out of steam; these options can be used to automatically +split a book into ten-page sections, each to its own file. + + <br><dt>‘<samp><span class="samp">-j*</span></samp>’<dd><a name="index-g_t_002dj-_0040r_007bfor-partial-font-downloading_007d-139"></a>Download only needed characters from Type 1 fonts. This is the +default in the current release. Some debugging flags trace this operation +(see <a href="#Debug-options">Debug options</a>). You can also control partial downloading on a +per-font basis (see <a href="#psfonts_002emap">psfonts.map</a>). + + <br><dt>‘<samp><span class="samp">-k*</span></samp>’<dd><a name="index-g_t_002dk-_0040r_007bfor-cropmarks_007d-140"></a><a name="index-cropmarks-141"></a><a name="index-crop_002epro-142"></a>Print crop marks. This option increases the paper size (which should be +specified, either with a paper size special or with the ‘<samp><span class="samp">-T</span></samp>’ +option) by a half inch in each dimension. It translates each page by a +quarter inch and draws cross-style crop marks. It is mostly useful with +typesetters that can set the page size automatically. This works by +downloading <samp><span class="file">crop.pro</span></samp>. + + <br><dt>‘<samp><span class="samp">-K*</span></samp>’<dd><a name="index-g_t_002dK-143"></a><a name="index-comments_002c-removing-included-144"></a><a name="index-g_t_0025_0025Page_0040r_007b_002c-removing_007d-145"></a>Remove comments in included PostScript graphics, font files, and +headers; only necessary to get around bugs in spoolers or PostScript +post-processing programs. Specifically, the ‘<samp><span class="samp">%%Page</span></samp>’ +comments, when left in, often cause difficulties. Use of this flag can +cause other graphics to fail, however, since the PostScript header +macros from some software packages read portion the input stream line by +line, searching for a particular comment. + + <br><dt>‘<samp><span class="samp">-l [=]</span><var>num</var></samp>’<dd><a name="index-g_t_002dl-_005b_003d_005d_0040var_007bnum_007d-146"></a><a name="index-last-page-printed-147"></a><a name="index-page_002c-last-printed-148"></a><a name="index-physical-page-number_002c-and-_0040samp_007b_002dl_007d-149"></a><a name="index-absolute-page-number_002c-and-_0040samp_007b_002dl_007d-150"></a>The last page printed will be the first one numbered <var>num</var>. Default +is the last page in the document. If <var>num</var> is prefixed by an equals +sign, then it (and the argument to the ‘<samp><span class="samp">-p</span></samp>’ option, if specified) +is treated as a physical (absolute) page number, rather than a value to +compare with the TeX ‘<samp><span class="samp">\count0</span></samp>’ values stored in the DVI file. +Thus, using ‘<samp><span class="samp">-l =9</span></samp>’ will end with the ninth page of the document, +no matter what the pages are actually numbered. + + <br><dt>‘<samp><span class="samp">-m*</span></samp>’<dd><a name="index-g_t_002dm-151"></a><a name="index-manual-feed-152"></a>Specify manual feed, if supported by the output device. + + <br><dt>‘<samp><span class="samp">-mode </span><var>mode</var></samp>’<dd><a name="index-g_t_002dmode-_0040var_007bmode_007d-153"></a><a name="index-g_t_002dmode-154"></a><a name="index-mode-name_002c-specifying-155"></a><a name="index-Metafont-mode_002c-specifying-156"></a>Use <var>mode</var> as the Metafont device name for path searching and font +generation. This overrides any value from configuration files. With +the default paths, explicitly specifying the mode also makes the program +assume the fonts are in a subdirectory named <var>mode</var>. +See <a href="kpathsea.html#TeX-directory-structure">TeX directory structure</a>. If Metafont does not understand the <var>mode</var> name, see +<a href="kpathsea.html#Unable-to-generate-fonts">Unable to generate fonts</a>. + + <br><dt>‘<samp><span class="samp">-M*</span></samp>’<dd><a name="index-g_t_002dM-157"></a><a name="index-font-generation_002c-avoiding-158"></a><a name="index-mktexpk_0040r_007b_002c-avoiding_007d-159"></a><a name="index-missfont_002elog-160"></a><!-- this description repeated in kpathsea.texi --> +Turns off automatic font generation (<samp><span class="file">mktexpk</span></samp>). If +<code>mktexpk</code>, the invocation is appended to a file +<samp><span class="file">missfont.log</span></samp> (by default) in the current directory. You can then +execute the log file to create the missing files after fixing the +problem. +<a name="index-TEXMFOUTPUT-161"></a><a name="index-MISSFONT_005fLOG-162"></a>If the current directory is not writable and the environment variable or +configuration file value ‘<samp><span class="samp">TEXMFOUTPUT</span></samp>’ is set, its value is used. +Otherwise, nothing is written. The name ‘<samp><span class="samp">missfont.log</span></samp>’ is +overridden by the ‘<samp><span class="samp">MISSFONT_LOG</span></samp>’ environment variable or +configuration file value. + + <br><dt>‘<samp><span class="samp">-n </span><var>num</var></samp>’<dd><a name="index-g_t_002dn-_0040var_007bnum_007d-163"></a><a name="index-maximum-pages-printed-164"></a><a name="index-pages_002c-maximum-printed-165"></a>Print at most <var>num</var> pages. Default is 100000. + + <br><dt>‘<samp><span class="samp">-N*</span></samp>’<dd><a name="index-g_t_002dN-166"></a><a name="index-structured-comments-167"></a><a name="index-TranScript-168"></a><a name="index-g_t_0025_0025Page_0040r_007b_002c-not-generating_007d-169"></a>Turns off generation of structured comments such as ‘<samp><span class="samp">%%Page</span></samp>’; this +may be necessary on some systems that try to interpret PostScript +comments in weird ways, or on some PostScript printers. Old versions of +TranScript in particular cannot handle modern Encapsulated PostScript. +Beware: This also disables page movement, etc., in PostScript viewers +such as Ghostview. + + <br><dt>‘<samp><span class="samp">-noomega</span></samp>’<dd><a name="index-g_t_002dnoomega-170"></a><a name="index-Omega-extensions-171"></a><a name="index-p_0040TeX_007b_007d-extensions-172"></a>Disable the use of Omega extensions when interpreting DVI +files. By default, the additional opcodes ‘<samp><span class="samp">129</span></samp>’ and ‘<samp><span class="samp">134</span></samp>’ +are recognized by Dvips as Omega or pTeX extensions and interpreted as +requests to set 2-byte characters. + + <br><dt>‘<samp><span class="samp">-noptex</span></samp>’<dd><a name="index-g_t_002dnoptex-173"></a><a name="index-p_0040TeX_007b_007d-extensions-174"></a>Disable the use of pTeX extensions when interpreting DVI files. By +default, the additional opcodes ‘<samp><span class="samp">130</span></samp>’ and ‘<samp><span class="samp">135</span></samp>’ are +recognized by Dvips as Omega extensions and interpreted as requests to +set 3-byte characters, and ‘<samp><span class="samp">255</span></samp>’ as request to change the +typesetting direction. + + <p>The only drawback is that the virtual font array will (at least +temporarily) require 65536 or more positions instead of the default +256 positions, i.e., the memory requirements of Dvips will be somewhat +larger. If you find this unacceptable or encounter another problem +with the Omega or pTeX extensions, you can switch off the pTeX +extension by using ‘<samp><span class="samp">-noptex</span></samp>’, or both by using ‘<samp><span class="samp">-noomega</span></samp>’ +(but please do send a bug report if you find such problems, +see <a href="kpathsea.html#Bugs">Bugs</a>). + + <br><dt>‘<samp><span class="samp">-o </span><var>name</var></samp>’<dd><a name="index-g_t_002do-_0040var_007bname_007d-175"></a><a name="index-output_002c-redirecting-176"></a><a name="index-standard-output_002c-output-to-177"></a>Send output to the file <var>name</var>. If ‘<samp><span class="samp">-o</span></samp>’ is specified without +<var>name</var> (i.e., it is the last thing on the command line), the +default is ‘<samp><var>file</var><span class="samp">.ps</span></samp>’ where the input DVI file was +‘<samp><var>file</var><span class="samp">.dvi</span></samp>’. If ‘<samp><span class="samp">-o</span></samp>’ isn't given at all, the +configuration file default is used. + + <p><a name="index-popen-_0040r_007bfor-output_007d-178"></a><a name="index-g_t_002d-_0040r_007bas-output-filename_007d-179"></a><a name="index-g_t_0021-_0040r_007bstarting-output-filename_007d-180"></a><a name="index-g_t_007c-_0040r_007bstarting-output-filename_007d-181"></a><a name="index-lpr-spooler_002c-MS_002dDOS-emulation-182"></a><a name="index-spooling-to-lpr-on-MS_002dDOS-183"></a>If <var>name</var> is ‘<samp><span class="samp">-</span></samp>’, output goes to standard output. If the first +character of <var>name</var> is ‘<samp><span class="samp">!</span></samp>’ or ‘<samp><span class="samp">|</span></samp>’, then the remainder will +be used as an argument to <code>popen</code>; thus, specifying ‘<samp><span class="samp">|lpr</span></samp>’ as +the output file will automatically queue the file for printing as +usual. (The MS-DOS version will print to the local printer device +<samp><span class="file">PRN</span></samp> when <var>name</var> is ‘<samp><span class="samp">|lpr</span></samp>’ and a program by that name +cannot be found.) + + <p>‘<samp><span class="samp">-o</span></samp>’ disables the automatic reading of the <code>PRINTER</code> +environment variable, and turns off the automatic sending of control-D. +See the ‘<samp><span class="samp">-f</span></samp>’ option for how to override this. + + <br><dt>‘<samp><span class="samp">-O </span><var>x-offset</var><span class="samp">,</span><var>y-offset</var></samp>’<dd><a name="index-g_t_002dO-_0040var_007bx_002doffset_007d_002c_0040var_007by_002doffset_007d-184"></a><a name="index-offset-pages-185"></a><a name="index-printer-offset-186"></a>Move the origin by <var>x-offset</var>,<var>y-offset</var>, a comma-separated +pair of dimensions such as ‘<samp><span class="samp">.1in,-.3cm</span></samp>’ (see <a href="#papersize-special">papersize special</a>). The origin of the page is shifted from the default position +(of one inch down, one inch to the right from the upper left corner of +the paper) by this amount. This is usually best specified in the +printer-specific configuration file. + + <p><a name="index-testpage_002etex-187"></a>This is useful for a printer that consistently offsets output pages by a +certain amount. You can use the file <samp><span class="file">testpage.tex</span></samp> to determine +the correct value for your printer. Be sure to do several runs with the +same <code>O</code> value—some printers vary widely from run to run. + + <p><a name="index-bop_002dhook_0040r_007b_002c-and-offset-pages_007d-188"></a>If your printer offsets every other page consistently, instead of every +page, your best recourse is to use ‘<samp><span class="samp">bop-hook</span></samp>’ (see <a href="#PostScript-hooks">PostScript hooks</a>). + + <br><dt>‘<samp><span class="samp">-p [=]</span><var>num</var></samp>’<dd><a name="index-g_t_002dp-_005b_003d_005d_0040var_007bnum_007d-189"></a><a name="index-first-page-printed-190"></a><a name="index-page_002c-first-printed-191"></a><a name="index-physical-page-number_002c-and-_0040samp_007b_002dp_007d-192"></a><a name="index-absolute-page-number_002c-and-_0040samp_007b_002dp_007d-193"></a>The first page printed will be the first one numbered <var>num</var>. Default +is the first page in the document. If <var>num</var> is prefixed by an +equals sign, then it (and the argument to the ‘<samp><span class="samp">-l</span></samp>’ option, if +specified) is treated as a physical (absolute) page number, rather than +a value to compare with the TeX ‘<samp><span class="samp">\count0</span></samp>’ values stored in the +DVI file. Thus, using ‘<samp><span class="samp">-p =3</span></samp>’ will start with the third page of +the document, no matter what the pages are actually numbered. + + <br><dt>‘<samp><span class="samp">-pp </span><var>first</var><span class="samp">-</span><var>last</var></samp>’<dd><a name="index-g_t_002dpp-_0040var_007bfirst_007d_002d_0040var_007blast_007d-194"></a><a name="index-page-range-195"></a><a name="index-g_t_002dpp-_0040var_007brange_007d-196"></a>Print pages <var>first</var> through <var>last</var>; equivalent to ‘<samp><span class="samp">-p +</span><var>first</var><span class="samp"> -l </span><var>last</var></samp>’, except that multiple ‘<samp><span class="samp">-pp</span></samp>’ options +accumulate, unlike ‘<samp><span class="samp">-p</span></samp>’ and ‘<samp><span class="samp">-l</span></samp>’. The ‘<samp><span class="samp">-</span></samp>’ separator can +also be ‘<samp><span class="samp">:</span></samp>’. + + <br><dt>‘<samp><span class="samp">-P </span><var>printer</var></samp>’<dd><a name="index-g_t_002dP-_0040var_007bprinter_007d-197"></a><a name="index-config_002eps-198"></a>Read the configuration file <samp><span class="file">config.</span><var>printer</var></samp> +(<samp><var>printer</var><span class="file">.cfg</span></samp> on MS-DOS), which can set the output name +(most likely ‘<samp><span class="samp">o |lpr -P</span><var>printer</var></samp>’), resolution, Metafont mode, +and perhaps font paths and other printer-specific defaults. It works +best to put sitewide defaults in the one master ‘<samp><span class="samp">config.ps</span></samp>’ file +and only things that vary printer to printer in the +‘<samp><span class="samp">config.</span><var>printer</var></samp>’ files; ‘<samp><span class="samp">config.ps</span></samp>’ is read before +‘<samp><span class="samp">config.</span><var>printer</var></samp>’. + + <p>A configuration file for creating Adobe PDF files is provided in +‘<samp><span class="samp">config.pdf</span></samp>’ and can be loaded with ‘<samp><span class="samp">-Ppdf</span></samp>’, it will try to +include Type1 outline fonts into the PostScript file +(see <a href="#Hypertext-caveats">Hypertext caveats</a>). + + <p>If no ‘<samp><span class="samp">-P</span></samp>’ or ‘<samp><span class="samp">-o</span></samp>’ is given, the environment variable +<code>PRINTER</code> is checked. If that variable exists, and a corresponding +<samp><span class="file">config.</span><var>printer</var></samp> (<samp><var>printer</var><span class="file">.cfg</span></samp> on MS-DOS) file +exists, it is read. +See <a href="#Configuration-file-searching">Configuration file searching</a>. + + <br><dt>‘<samp><span class="samp">-q*</span></samp>’<dd><a name="index-g_t_002dq-199"></a><a name="index-quiet-operation-200"></a><a name="index-silent-operation-201"></a><a name="index-warnings_002c-suppressing-202"></a>Run quietly. Don't chatter about pages converted, etc. to standard +output; report no warnings (only errors) to standard error. + + <br><dt>‘<samp><span class="samp">-r*</span></samp>’<dd><a name="index-g_t_002dr-203"></a><a name="index-reverse-pagination-204"></a>Output pages in reverse order. By default, page 1 is output first. + + <br><dt>‘<samp><span class="samp">-R</span></samp>’<dd><a name="index-g_t_002dR-205"></a><a name="index-security-206"></a><a name="index-shell-command-execution_002c-disabling-207"></a><a name="index-absolute-filenames_002c-disabling-208"></a><a name="index-g_t_0040file_007b_002e_002e_007d_002drelative-filenames-209"></a>Run securely. ‘<samp><span class="samp">-R2</span></samp>’ disables both shell command execution in +<code>\special</code> (via ‘<samp><span class="samp">`</span></samp>’, see <a href="#Dynamic-creation-of-graphics">Dynamic creation of graphics</a>) +and config files (via the ‘<samp><span class="samp">E</span></samp>’ option, see <a href="#Configuration-file-commands">Configuration file commands</a>) and opening of any absolute or <samp><span class="file">..</span></samp>-relative +filenames. ‘<samp><span class="samp">-R1</span></samp>’, the default, forbids shell escapes but allows +absolute filenames. ‘<samp><span class="samp">-R0</span></samp>’ allows both. + + <br><dt>‘<samp><span class="samp">-s*</span></samp>’<dd><a name="index-g_t_002ds-210"></a><a name="index-save_002frestore_002c-generating-global-211"></a>Enclose the output in a global save/restore pair. This causes the file +to not be truly conformant, and is thus not recommended, but is useful +if you are driving a deficient printer directly and thus don't care too +much about the portability of the output to other environments. + + <br><dt>‘<samp><span class="samp">-S </span><var>num</var></samp>’<dd><a name="index-g_t_002dS-_0040var_007bnum_007d-212"></a>Set the maximum number of pages in each `section'. This option is most +commonly used with the ‘<samp><span class="samp">-i</span></samp>’ option; see its description above for +more information. + + <br><dt>‘<samp><span class="samp">-t </span><var>papertype</var></samp>’<dd><a name="index-g_t_002dt-_0040var_007bpapertype_007d-213"></a><a name="index-paper-type-214"></a><a name="index-media-215"></a><a name="index-letter-papertype-216"></a><a name="index-legal-papertype-217"></a><a name="index-ledger-papertype-218"></a><a name="index-a4-papertype-219"></a><a name="index-a3-papertype-220"></a><a name="index-landscape-papertype-221"></a><a name="index-papersize-special_002c-and-no-_0040samp_007b_002dt_007d-222"></a>Set the paper type to <var>papertype</var>, usually defined in one of the +configuration files, along with the appropriate PostScript code to +select it (see <a href="#Config-file-paper-sizes">Config file paper sizes</a>). + <ul> +<li>You can also specify a <var>papertype</var> of ‘<samp><span class="samp">landscape</span></samp>’, +which rotates a document by 90 degrees. +<li>To rotate a document whose paper type is not the default, you +can use the ‘<samp><span class="samp">-t</span></samp>’ option twice, once for the paper type, and once +for ‘<samp><span class="samp">landscape</span></samp>’. +<li>In general, you should not use any ‘<samp><span class="samp">-t</span></samp>’ option when +using a ‘<samp><span class="samp">papersize</span></samp>’ special, which some LaTeX packages (e.g., +‘<samp><span class="samp">hyperref</span></samp>’) insert. +<li>One exception is when using a nonstandard paper size that is not +already defined in <samp><span class="file">config.ps</span></samp>; in this case, you need to specify +‘<samp><span class="samp">-t unknown</span></samp>’. +<li>Another exception is when producing multi-page files for further +processing; use ‘<samp><span class="samp">-t nopaper</span></samp>’ to omit any paper size +information in the output. (If you just have a single page document, +you can use ‘<samp><span class="samp">-E</span></samp>’ to get pure EPSF output.) +</ul> + + <br><dt>‘<samp><span class="samp">-T </span><var>hsize</var><span class="samp">,</span><var>vsize</var></samp>’<dd><a name="index-g_t_002dT-_0040var_007bhsize_007d_002c_0040var_007bvsize_007d-223"></a>Set the paper size to (<var>hsize</var>,<var>vsize</var>), a comma-separated +pair of dimensions such as ‘<samp><span class="samp">.1in,-.3cm</span></samp>’ (see <a href="#papersize-special">papersize special</a>). It overrides any paper size special in the DVI file. Be +careful, as the paper size will stick to a predefined size if there is +one close enough. To disable this behavior, use ‘<samp><span class="samp">-tunknown</span></samp>’. + + <br><dt>‘<samp><span class="samp">-u </span><var>psmapfile</var></samp>’<dd><a name="index-g_t_002du-_0040var_007bpsmapfile_007d-224"></a><a name="index-PostScript-font-alias-file-225"></a><a name="index-resident-fonts_002c-different-in-different-printers-226"></a>Set <var>psmapfile</var> to be the file that dvips uses for looking up +PostScript font aliases. If <var>psmapfile</var> begins with a ‘<samp><span class="samp">+</span></samp>’ +character, then the rest of the name is used as the name of the map file, +and the map file is appended to the list of map files (instead of replacing +the list). In either case, if the name has no extension, then ‘<samp><span class="samp">.map</span></samp>’ +is added at the end. + + <br><dt>‘<samp><span class="samp">-U*</span></samp>’<dd><a name="index-g_t_002dU-227"></a><a name="index-Xerox-4045-228"></a>Disable a PostScript virtual memory-saving optimization that stores the +character metric information in the same string that is used to store +the bitmap information. This is only necessary when driving the Xerox +4045 PostScript interpreter, which has a bug that puts garbage on the +bottom of each character. Not recommended unless you must drive this +printer. + + <br><dt>‘<samp><span class="samp">-v</span></samp>’<dd><a name="index-g_t_002dv-229"></a>Print the dvips version number and exit. + + <br><dt>‘<samp><span class="samp">-V*</span></samp>’<dd><a name="index-g_t_002dV-230"></a>Download non-resident PostScript fonts as bitmaps. This requires use +<a name="index-mtpk-231"></a><a name="index-gsftopk-232"></a><a name="index-pstopk-233"></a>of <code>mtpk</code> or <code>gsftopk</code> or <code>pstopk</code> or some combination +thereof to generate the required bitmap fonts; these programs are +supplied with Dvips. The bitmap must be put into <samp><span class="file">psfonts.map</span></samp> as +the downloadable file for that font. This is useful only for those +fonts for which you do not have real outlines, being downloaded to +printers that have no resident fonts, i.e., very rarely. + + <br><dt>‘<samp><span class="samp">-x </span><var>num</var></samp>’<dd><a name="index-g_t_002dx-_0040var_007bnum_007d-234"></a><a name="index-magnification_002c-overriding-DVI-235"></a>Set the magnification ratio to <var>num</var>/1000. Overrides +the magnification specified in the DVI file. Must be between 10 and +100000. It is recommended that you use standard magstep values (1095, +1200, 1440, 1728, 2074, 2488, 2986, and so on) to help reduce the total +number of PK files generated. <var>num</var> may be a real number, not an +integer, for increased precision. + + <br><dt>‘<samp><span class="samp">-X </span><var>num</var></samp>’<dd><a name="index-g_t_002dX-_0040var_007bnum_007d-236"></a><a name="index-resolution-237"></a>Set the horizontal resolution in dots per inch to <var>num</var>. + + <br><dt>‘<samp><span class="samp">-y </span><var>num</var></samp>’<dd><a name="index-magnification_002c-vertical-238"></a>Set the magnification ratio to <var>num</var>/1000 times the +magnification specified in the DVI file. See +‘<samp><span class="samp">-x</span></samp>’ above. + + <br><dt>‘<samp><span class="samp">-Y </span><var>num</var></samp>’<dd><a name="index-g_t_002dY-_0040var_007bnum_007d-239"></a>Set the vertical resolution in dots per inch to <var>num.</var> +<a name="index-resolution-240"></a> +<br><dt>‘<samp><span class="samp">-z*</span></samp>’<dd><a name="index-g_t_002dz-_0040r_007bfor-recognizing-hyperdvi_007d-241"></a><a name="index-hyperdvi-extensions_002c-enabling-242"></a><a name="index-distillation_002c-and-_0040samp_007b_002dz_007d-243"></a><a name="index-PDF-files_002c-option-for-244"></a><a name="index-html-_0040r_007bspecials_002c-and-_0040samp_007b_002dz_007d_007d-245"></a>Pass ‘<samp><span class="samp">html</span></samp>’ hyperdvi specials through to the output for eventual +distillation into PDF. This is not enabled by default to avoid +including the header files unnecessarily, and use of temporary files in +creating the output. See <a href="#Hypertext">Hypertext</a>. + + <br><dt>‘<samp><span class="samp">-Z*</span></samp>’<dd><a name="index-g_t_002dZ-_0040r_007bfor-compressing-bitmap-fonts_007d-246"></a><a name="index-compressing-bitmap-fonts-247"></a>Compress bitmap fonts in the output file, thereby reducing the size of +what gets downloaded. Especially useful at high resolutions or when +very large fonts are used. May slow down printing, especially on early +68000-based PostScript printers. Generally recommend today, and can be +enabled in the configuration file (see <a href="#Configuration-file-commands">Configuration file commands</a>). + + </dl> + +<div class="node"> +<a name="Environment-variables"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Config-files">Config files</a>, +Previous: <a rel="previous" accesskey="p" href="#Command_002dline-options">Command-line options</a>, +Up: <a rel="up" accesskey="u" href="#Invoking-Dvips">Invoking Dvips</a> + +</div> + +<h3 class="section">3.3 Environment variables</h3> + +<p><a name="index-environment-variables-248"></a> +Dvips looks for many environment variables, to define search paths and +other things. The path variables are read as needed, after all +configuration files are read, so they override values in the +configuration files. (Except for <code>TEXCONFIG</code>, which defines where +the configuration files themselves are found.) + + <p>See <a href="kpathsea.html#Path-specifications">Path specifications</a>, for details of +interpretation of path and other environment variables common to all +Kpathsea-using programs. Only the environment variables specific to +Dvips are mentioned here. + + <dl> +<dt><code>DVIPSDEBUG</code><a name="index-DVIPSDEBUG-249"></a><dd><a name="index-KPATHSEA_005fDEBUG-250"></a>Write the absolute path names of any configuration or map files to +standard output, for debugging. This isn't done by default because +these files are read even before the banner is printed. For +voluminous additional debugging, set the environment variable +<samp><span class="env">KPATHSEA_DEBUG</span></samp> to ‘<samp><span class="samp">-1</span></samp>’ +(see <a href="kpathsea.html#Debugging">Debugging</a>). (If <samp><span class="env">KPATHSEA_DEBUG</span></samp> is +set to any value, it automatically turns on <samp><span class="env">DVIPSDEBUG</span></samp>.) + + <br><dt><code>DVIPSFONTS</code><a name="index-DVIPSFONTS-251"></a><dd>Default path to search for all fonts. Overrides all the font path +config file options and other environment variables (see <a href="kpathsea.html#Supported-file-formats">Supported file formats</a>). + + <br><dt><code>DVIPSHEADERS</code><a name="index-DVIPSHEADERS-252"></a><dd>Default path to search for PostScript header files. Overrides the ‘<samp><span class="samp">H</span></samp>’ +config file option (see <a href="#Configuration-file-commands">Configuration file commands</a>). + + <br><dt><code>DVIPSMAKEPK</code><a name="index-DVIPSMAKEPK-253"></a><dd><a name="index-mktexpk_0040r_007b_002c-changing-name_007d-254"></a>Overrides ‘<samp><span class="samp">mktexpk</span></samp>’ as the name of the program to invoke to +create missing PK fonts. You can change the arguments passed to the +<code>mktexpk</code> program with the <code>MAKETEXPK</code> environment +variable; see <a href="kpathsea.html#MakeTeX-script-arguments">MakeTeX script arguments</a>. + + <br><dt><code>DVIPSRC</code><a name="index-DVIPSRC-255"></a><dd>Specifies the name of the startup file (see <a href="#Configuration-file-searching">Configuration file searching</a>) which is read after <samp><span class="file">config.ps</span></samp> but before any +printer-specific configuration files. + + <br><dt><code>DVIPSSIZES</code><a name="index-DVIPSSIZES-256"></a><dd><a name="index-last_002dresort-font-scaling_002c-with-_0040code_007bDVIPSSIZES_007d-257"></a>Last-resort sizes for scaling of unfound fonts. Overrides the ‘<samp><span class="samp">R</span></samp>’ +definition in config files (see <a href="#Configuration-file-commands">Configuration file commands</a>). + + <br><dt><code>PRINTER</code><a name="index-PRINTER-258"></a><dd>Determine the default printer configuration file. (Dvips itself does +not use <code>PRINTER</code> to determine the output destination in any way.) + + <br><dt><code>TEXCONFIG</code><a name="index-TEXCONFIG-259"></a><dd><a name="index-configuration-file-path-260"></a>Path to search for Dvips' <samp><span class="file">config.</span><var>printer</var></samp> configuration +files, including the base <samp><span class="file">config.ps</span></samp>. Using this single +environment variable, you can override everything else. (The +printer-specific configuration files are called <samp><var>printer</var><span class="file">.cfg</span></samp> +on MS-DOS, but <samp><span class="file">config.ps</span></samp> is called by that name on all +platforms.) + + <br><dt><code>TEXPICTS</code><a name="index-TEXPICTS-261"></a><dd>Path to search for included graphics files. Overrides the ‘<samp><span class="samp">S</span></samp>’ +config file option (see <a href="#Configuration-file-commands">Configuration file commands</a>). If not set, +<code>TEXINPUTS</code> is looked for. See <a href="kpathsea.html#Supported-file-formats">Supported file formats</a>. + + </dl> + +<div class="node"> +<a name="Config-files"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Environment-variables">Environment variables</a>, +Up: <a rel="up" accesskey="u" href="#Invoking-Dvips">Invoking Dvips</a> + +</div> + +<h3 class="section">3.4 Dvips configuration files</h3> + +<p><a name="index-configuration-files-262"></a> +This section describes in detail the Dvips-specific <samp><span class="file">config.*</span></samp> +device configuration files (called <samp><span class="file">*.cfg</span></samp> on MS-DOS), which +override the <samp><span class="file">texmf.cnf</span></samp> +configuration files generic to Kpathsea which Dvips also reads +(see <a href="kpathsea.html#Config-files">Config files</a>). + + <p>For information about installing these files, including a prototype file +you can copy, see <a href="#config_002eps-installation">config.ps installation</a>. + +<ul class="menu"> +<li><a accesskey="1" href="#Configuration-file-searching">Configuration file searching</a>: Where config.* files are searched for. +<li><a accesskey="2" href="#Configuration-file-commands">Configuration file commands</a>: What can go in a config.* file. +</ul> + +<div class="node"> +<a name="Configuration-file-searching"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Configuration-file-commands">Configuration file commands</a>, +Up: <a rel="up" accesskey="u" href="#Config-files">Config files</a> + +</div> + +<h4 class="subsection">3.4.1 Configuration file searching</h4> + +<p><a name="index-configuration-file-searching-263"></a><a name="index-searching-config-files_002c-order-of-264"></a> +The Dvips program loads many different configuration files, so that +parameters can be set globally across the system, on a per-device basis, +or individually by each user. + + <ol type=1 start=1> +<li><a name="index-config_002eps_0040r_007b_002c-searched-for_007d-265"></a>Dvips first reads (if it exists) <samp><span class="file">config.ps</span></samp>; it is searched for +along the path for Dvips configuration files, as described in +<a href="kpathsea.html#Supported-file-formats">Supported file formats</a>. + + <li><a name="index-g_t_002edvipsrc_0040r_007b_002c-searched-for_007d-266"></a>A user-specific startup file is loaded, so individual users can override +any options set in the global file. The environment variable +<code>DVIPSRC</code>, if defined, is used as the specification of the startup +file. If this variable is undefined, Dvips uses a platform-specific +default name. On Unix Dvips looks for the default startup file under +the name <samp><span class="file">$HOME/.dvipsrc</span></samp>, which is in the user's home directory. +On MS-DOS and MS-Windows, where users generally don't have their private +directories, the startup file is called <samp><span class="file">dvips.ini</span></samp> and it is +searched for along the path for Dvips configuration files (as described +in <a href="kpathsea.html#Supported-file-formats">Supported file formats</a>.); users are +expected to set this path as they see fit for their taste. + + <li><a name="index-g_t_002dP_0040var_007bprinter_007d_0040r_007b_002c-and-config-file-searching_007d-267"></a>The command line is read and parsed: if the ‘<samp><span class="samp">-P</span><var>device</var></samp>’ option +is encountered, at that point <samp><span class="file">config.</span><var>device</var></samp> is loaded. +Thus, the printer configuration file can override anything in the +site-wide or user configuration file, and it can also override options +in the command line up to the point that the ‘<samp><span class="samp">-P</span></samp>’ option was +encountered. (On MS-DOS, the printer configuration files are called +<samp><var>device</var><span class="file">.cfg</span></samp>, since DOS doesn't allow more than 3 characters +after the dot in filenames.) + + <li><a name="index-PRINTER_0040r_007b_002c-and-config-file-searching_007d-268"></a>If no ‘<samp><span class="samp">-P</span></samp>’ option was specified, and also the ‘<samp><span class="samp">-o</span></samp>’ and +‘<samp><span class="samp">-f</span></samp>’ command line options were not used, Dvips checks the +environment variable <code>PRINTER</code>. If it exists, then +<samp><span class="file">config.</span><var>$PRINTER</var></samp> (<samp><var>$PRINTER</var><span class="file">.cfg</span></samp> on MS-DOS) is +loaded (if it exists). + + </ol> + + <p>Because the <samp><span class="file">.dvipsrc</span></samp> file is read before the printer-specific +configuration files, individual users cannot override settings in the +latter. On the other hand, the <code>TEXCONFIG</code> path usually includes +the current directory, and can in any case be set to anything, so the +users can always define their own printer-specific configuration files +to be found before the system's. + + <p>A few command-line options are treated specially, in that they are not +overridden by configuration files: + + <dl> +<dt>‘<samp><span class="samp">-D</span></samp>’<dd>As well as setting the resolution, this unsets the mode, if the mode was +previously set from a configuration file. If <samp><span class="file">config.$PRINTER</span></samp> is +read, however, any ‘<samp><span class="samp">D</span></samp>’ or ‘<samp><span class="samp">M</span></samp>’ lines from there will take +effect. + + <br><dt>‘<samp><span class="samp">-mode</span></samp>’<dd>This overrides any mode setting (‘<samp><span class="samp">M</span></samp>’ line) in configuration files. +‘<samp><span class="samp">-mode</span></samp>’ does not affect the resolution. + + <br><dt>‘<samp><span class="samp">-o</span></samp>’<dd>This overrides any output setting (‘<samp><span class="samp">o</span></samp>’ line) in configuration files. + + </dl> + + <p>The purpose of these special cases is to (1) minimize the chance of +having a mismatched mode and resolution (which ‘<samp><span class="samp">mktexpk</span></samp>’ cannot +resolve), and (2) let command-line options override config files where +possible. + +<div class="node"> +<a name="Configuration-file-commands"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Configuration-file-searching">Configuration file searching</a>, +Up: <a rel="up" accesskey="u" href="#Config-files">Config files</a> + +</div> + +<h4 class="subsection">3.4.2 Configuration file commands</h4> + +<p><a name="index-configuration-file-options-269"></a><a name="index-Dvips-configuration-file-options-270"></a> +Most of the configuration file commands are similar to corresponding +command line options, but there are a few exceptions. When they are the +same, we omit the description here. + + <p>As with command line options, many may be turned off by suffixing the +letter with a zero (‘<samp><span class="samp">0</span></samp>’). + + <p><a name="index-comments_002c-in-configuration-files-271"></a><a name="index-continuation-lines_002c-not-supported-272"></a>Within a configuration file, empty lines, and lines starting with a +space, asterisk, equal sign, percent sign, or pound sign are ignored. +There is no provision for continuation lines. + + <dl> +<dt>‘<samp><span class="samp">@ </span><var>name hsize vsize</var></samp>’<dd><a name="index-g_t_0040_0040-_0040r_007bpaper-size-config-command_007d-273"></a>Define paper sizes. See <a href="#Config-file-paper-sizes">Config file paper sizes</a>. + + <br><dt>‘<samp><span class="samp">a*</span></samp>’<dd><a name="index-a-_0040r_007bconfig-command-_0028memory-conservation_0029_007d-274"></a>Memory conservation. Same as ‘<samp><span class="samp">-a</span></samp>’, see <a href="#Option-details">Option details</a>. + + <br><dt>‘<samp><span class="samp">b </span><var>#copies</var></samp>’<dd><a name="index-b-_0040r_007bconfig-command-_0028_0023copies_0029_007d-275"></a>Multiple copies. Same as ‘<samp><span class="samp">-b</span></samp>’, see <a href="#Option-details">Option details</a>. + + <br><dt>‘<samp><span class="samp">c </span><var>filename</var></samp>’<dd><a name="index-c-_0040r_007binclude-additional-config-file_007d-276"></a>Include <var>filename</var> as an additional configuration file, read +immediately. + + <br><dt>‘<samp><span class="samp">D </span><var>dpi</var></samp>’<dd><a name="index-D-_0040r_007bconfig-command-_0028dpi_0029_007d-277"></a>Output resolution. Same as ‘<samp><span class="samp">-D</span></samp>’, see <a href="#Option-details">Option details</a>. + + <br><dt>‘<samp><span class="samp">e </span><var>num</var></samp>’<dd><a name="index-e-_0040r_007bconfig-command-_0028maxdrift_0029_007d-278"></a>Max drift. Same as ‘<samp><span class="samp">-e</span></samp>’, see <a href="#Option-details">Option details</a>. + + <br><dt>‘<samp><span class="samp">E </span><var>command</var></samp>’<dd><a name="index-E-_0040r_007bconfig-command-_0028shell-escape_0029_007d-279"></a><a name="index-system-_0040r_007bin-config-file_007d-280"></a><a name="index-datestamp_002c-in-output-281"></a><a name="index-shell-escape_002c-in-config-file-282"></a>Executes the command listed with <code>system</code>(3); can be used to get +the current date into a header file for inclusion, for instance. +Possibly dangerous; this may be disabled, in which case a warning will +be printed if the option is used (and warnings are not suppressed). + + <br><dt>‘<samp><span class="samp">f*</span></samp>’<dt>‘<samp><span class="samp">F</span></samp>’<dd><a name="index-f-_0040r_007bconfig-command-_0028filter_0029_007d-283"></a><a name="index-F-_0040r_007bconfig-command-_0028filter_0029_007d-284"></a>Run as a filter. Same as ‘<samp><span class="samp">-f</span></samp>’, see <a href="#Option-details">Option details</a>. + + <br><dt>‘<samp><span class="samp">G*</span></samp>’<dd><a name="index-G-_0040r_007bcharacter-shifting-config-command_007d-285"></a>Shift low-numbered characters; obsolete. Same as ‘<samp><span class="samp">-G</span></samp>’, +see <a href="#Option-details">Option details</a>. + + <br><dt>‘<samp><span class="samp">h </span><var>header</var></samp>’<dd><a name="index-h-_0040r_007bheader-downloading-config-command_007d-286"></a>Prepend <var>header</var> to output. Same as ‘<samp><span class="samp">h-</span></samp>’, see <a href="#Option-details">Option details</a>. + + <br><dt>‘<samp><span class="samp">H </span><var>path</var></samp>’<dd><a name="index-H-_0040r_007bheader-path-config-command_007d-287"></a><a name="index-header-path_002c-defining-288"></a><a name="index-DVIPSHEADERS_0040r_007b_002c-overrides_007d-H-289"></a>Use <var>path</var> to search for PostScript header files. The environment +variable <code>DVIPSHEADERS</code> overrides this. + + <br><dt>‘<samp><span class="samp">i </span><var>n</var></samp>’<dd><a name="index-i-_0040r_007bconfig-command-_0028pages_002fsection_0029_007d-290"></a>Make multiple output files. Same as ‘<samp><span class="samp">-i -S </span><var>n</var></samp>’, see <a href="#Option-details">Option details</a>. + + <br><dt>‘<samp><span class="samp">j*</span></samp>’<dd><a name="index-j-_0040r_007bconfig-command-_0028partial-font-downloading_0029_007d-291"></a>Partially download Type 1 fonts. Same as ‘<samp><span class="samp">-j</span></samp>’, see <a href="#Option-details">Option details</a>. + + <br><dt>‘<samp><span class="samp">K*</span></samp>’<dd><a name="index-K-_0040r_007bconfig-command-_0028comment_002dremoval_0029_007d-292"></a>Remove comments from included PostScript files. Same as ‘<samp><span class="samp">-K</span></samp>’, +see <a href="#Option-details">Option details</a>. + + <br><dt>‘<samp><span class="samp">m </span><var>num</var></samp>’<dd><a name="index-m-_0040r_007bconfig-command-_0028available-memory_0029_007d-293"></a><a name="index-memory-available-294"></a><a name="index-printer-memory-295"></a>Declare <var>num</var> as the memory available for fonts and strings in the +printer. Default is 180000. This value must be accurate if memory +conservation and document splitting is to work correctly. To determine +this value, send the following file to the printer: + + <pre class="example"> %! Hey, we're PostScript + /Times-Roman findfont 30 scalefont setfont 144 432 moveto + vmstatus exch sub 40 string cvs show pop showpage +</pre> + <p class="noindent">The number printed by this file is the total memory free; it is usually +best to tell Dvips that the printer has slightly less memory, because +many programs download permanent macros that can reduce the memory in +the printer. Some systems or printers can dynamically increase the +memory available to a PostScript interpreter, in which case this file +might return a ridiculously low number; for example, the NeXT computer +and Ghostscript. In these cases, a value of one million works fine. + + <br><dt>‘<samp><span class="samp">M </span><var>mode</var></samp>’<dd><a name="index-M-_0040r_007bconfig-command-_0028mf-mode_0029_007d-296"></a>Metafont mode. Same as ‘<samp><span class="samp">-mode</span></samp>’, see <a href="#Option-details">Option details</a>. + + <br><dt>‘<samp><span class="samp">N*</span></samp>’<dd><a name="index-N-_0040r_007bEPS_002ddisabling-config-command_007d-297"></a>Disable structured comments. Beware: This also turns off displaying +page numbers or changing to specific pagenumbers in PostScript viewers. +Same as ‘<samp><span class="samp">-N</span></samp>’, see <a href="#Option-details">Option details</a>. + + <br><dt>‘<samp><span class="samp">o </span><var>name</var></samp>’<dd><a name="index-o-_0040r_007bconfig-command-_0028output-file_0029_007d-298"></a><a name="index-output-file_002c-setting-299"></a>Send output to <var>name</var>. Same as ‘<samp><span class="samp">-o</span></samp>’, see <a href="#Option-details">Option details</a>. +In the file <samp><span class="file">config.foo</span></samp>, a setting like this is probably +appropriate: + <pre class="example"> o |lpr -Pfoo +</pre> + <p>The MS-DOS version will emulate spooling to <code>lpr</code> by printing to +the local printer device <samp><span class="file">PRN</span></samp> if it doesn't find an executable +program by that name in the current directory or along the <code>PATH</code>. + + <br><dt>‘<samp><span class="samp">O </span><var>xoff</var><span class="samp">,</span><var>yoff</var></samp>’<dd><a name="index-O-_0040r_007bconfig-command-_0028offset_0029_007d-300"></a>Origin offset. Same as ‘<samp><span class="samp">-O</span></samp>’, see <a href="#Option-details">Option details</a>. + + <br><dt>‘<samp><span class="samp">p [+]</span><var>name</var></samp>’<dd><a name="index-p-_0040r_007bconfig-command-_0028font-aliases_0029_007d-301"></a><a name="index-PostScript-font-alias-file-302"></a><a name="index-resident-fonts_002c-different-in-different-printers-303"></a><a name="index-g_t_002b_0040var_007bpsmapfile_007d-304"></a>Examine <var>name</var> for PostScript font aliases. Default is +<samp><span class="file">psfonts.map</span></samp>. This option allows you to specify different resident +fonts that different printers may have. If <var>name</var> starts with a +‘<samp><span class="samp">+</span></samp>’ character, then the rest of the name (after any leading spaces) +is used as an additional map file; thus, it is possible to have local +map files pointed to by local configuration files that append to the +global map file. This can be used for font families. + + <br><dt>‘<samp><span class="samp">P </span><var>path</var></samp>’<dd><a name="index-P-_0040r_007bconfig-command-_0028PK-path_0029_007d-305"></a><a name="index-PKFONTS_0040r_007b_002c-overrides_007d-P-306"></a><a name="index-TEXPKS_0040r_007b_002c-overrides_007d-P-307"></a><a name="index-GLYPHFONTS_0040r_007b_002c-overrides_007d-P-308"></a><a name="index-TEXFONTS_0040r_007b_002c-overrides_007d-P-309"></a>Use <var>path</var> to search for bitmap PK font files is <var>path</var>. The +<code>PKFONTS</code>, <code>TEXPKS</code>, <code>GLYPHFONTS</code>, and <code>TEXFONTS</code> +environment variables override this. See <a href="kpathsea.html#Supported-file-formats">Supported file formats</a>. + + <br><dt>‘<samp><span class="samp">q*</span></samp>’<dt>‘<samp><span class="samp">Q</span></samp>’<dd><a name="index-q-_0040r_007bconfig-command-_0028quiet_0029_007d-310"></a><a name="index-Q-_0040r_007bconfig-command-_0028quiet_0029_007d-311"></a>Run quietly. Same as ‘<samp><span class="samp">-q</span></samp>’, see <a href="#Option-details">Option details</a>. + + <br><dt>‘<samp><span class="samp">r*</span></samp>’<dd><a name="index-r-_0040r_007bconfig-command-_0028page-reversal_0029_007d-312"></a>Page reversal. Same as ‘<samp><span class="samp">-r</span></samp>’, see <a href="#Option-details">Option details</a>. + + <br><dt>‘<samp><span class="samp">R </span><var>num1 num2 <small class="dots">...</small></var></samp>’<dd><a name="index-R-_0040r_007bfallback-resolution-config-command_007d-313"></a><a name="index-fallback-resolutions-314"></a><a name="index-default-resolutions-315"></a><a name="index-last_002dresort-scaling_002c-with-_0040code_007bR_007d-316"></a>Define the list of default resolutions for PK fonts. If a font size +actually used in a document is not available and cannot be created, +Dvips will scale the font found at the closest of these resolutions to +the requested size, using PostScript scaling. The resulting output may +be ugly, and thus a warning is issued. To turn this last-resort scaling +off, use a line with just the ‘<samp><span class="samp">R</span></samp>’ and no numbers. + + <p>The given numbers must be sorted in increasing order; any number smaller +than the preceding one is ignored. This is because it is better to +scale a font up than down; scaling down can obliterate small features in +the character shape. + + <p><a name="index-DVIPSSIZES_0040r_007b_002c-overrides_007d-R-317"></a><a name="index-TEXSIZES_0040r_007b_002c-overrides_007d-R-318"></a>The environment and config file values ‘<samp><span class="samp">DVIPSSIZES</span></samp>’ or +‘<samp><span class="samp">TEXSIZES</span></samp>’ override this configuration file setting. + + <p><a name="index-default_005ftexsizes-_0040r_007bMake-variable_007d-319"></a>If no ‘<samp><span class="samp">R</span></samp>’ settings or environment variables are specified, a list +compiled in during installation is used. This default list is defined by +the Makefile variable ‘<samp><span class="samp">default_texsizes</span></samp>’, defined in the file +<samp><span class="file">make/paths.make</span></samp>. + + <br><dt>‘<samp><span class="samp">s*</span></samp>’<dd><a name="index-s-_0040r_007bconfig-command-_0028save_002frestore_0029_007d-320"></a>Output global save/restore. Same as ‘<samp><span class="samp">-s</span></samp>’, see <a href="#Option-details">Option details</a>. + + <br><dt>‘<samp><span class="samp">S </span><var>path</var></samp>’<dd><a name="index-S-_0040r_007bconfig-command-_0028pict-path_0029_007d-321"></a><a name="index-TEXPICTS_0040r_007b_002c-overrides_007d-S-322"></a><a name="index-TEXINPUTS_0040r_007b_002c-overrides_007d-S-323"></a>Use <var>path</var> to search for special illustrations (Encapsulated +PostScript files or psfiles). The <code>TEXPICTS</code> and then +<code>TEXINPUTS</code> environment variables override this. + + <br><dt>‘<samp><span class="samp">T </span><var>path</var></samp>’<dd><a name="index-T-_0040r_007bconfig-command-_0028TFM-path_0029_007d-324"></a><a name="index-TFMFONTS_0040r_007b_002c-overrides_007d-T-325"></a><a name="index-TEXFONTS_0040r_007b_002c-overrides_007d-T-326"></a>Use <var>path</var> to search for TFM files. The <code>TFMFONTS</code> and then +<code>TEXFONTS</code> environment variables overrides this. This path is used +for resident fonts and fonts that can't otherwise be found. + + <br><dt>‘<samp><span class="samp">U*</span></samp>’<dd><a name="index-U-_0040r_007bconfig-command-_0028Xerox-4045_0029_007d-327"></a>Work around bug in Xerox 4045 printer. Same as ‘<samp><span class="samp">-U</span></samp>’, see <a href="#Option-details">Option details</a>. + + <br><dt>‘<samp><span class="samp">V </span><var>path</var></samp>’<dd><a name="index-V-_0040r_007bconfig-command-_0028vf-path_0029_007d-328"></a><a name="index-virtual-font-path-329"></a><a name="index-device-dependency_002c-and-virtual-fonts-330"></a>Use <var>path</var> to search for virtual font files. This may be +device-dependent if you use virtual fonts to simulate actual fonts on +different devices. + + <br><dt>‘<samp><span class="samp">W [</span><var>string</var><span class="roman">]</span></samp>’<dd><a name="index-W-_0040r_007bconfig-command-_0028warning_0029_007d-331"></a><a name="index-warning-messages_002c-defining-332"></a>If <var>string</var> is supplied, write it to standard error after reading +all the configuration files; with no <var>string</var>, cancel any previous +‘<samp><span class="samp">W</span></samp>’ message. This is useful in the default configuration file to +remind users to specify a printer, for instance, or to notify users +about special characteristics of a particular printer. + + <br><dt>‘<samp><span class="samp">X </span><var>num</var></samp>’<dd><a name="index-X-_0040r_007bconfig-command-_0028horizontal-resolution_0029_007d-333"></a>Horizontal resolution. Same as ‘<samp><span class="samp">-X</span></samp>’ (see <a href="#Option-details">Option details</a>). + + <br><dt>‘<samp><span class="samp">Y </span><var>num</var></samp>’<dd><a name="index-Y-_0040r_007bconfig-command-_0028vertical-resolution_0029_007d-334"></a>Vertical resolution. Same as ‘<samp><span class="samp">-Y</span></samp>’ (see <a href="#Option-details">Option details</a>). + + <br><dt>‘<samp><span class="samp">Z*</span></samp>’<dd><a name="index-Z-_0040r_007bconfig-command-_0028compression_0029_007d-335"></a>Compress bitmap fonts. Same as ‘<samp><span class="samp">-Z</span></samp>’ (see <a href="#Option-details">Option details</a>). + + <br><dt>‘<samp><span class="samp">z*</span></samp>’<dd><a name="index-z-_0040r_007bconfig-command-_0028secure-mode_0029_007d-336"></a>Disables execution of system commands, like ‘<samp><span class="samp">-R</span></samp>’ +(see <a href="#Option-details">Option details</a>). If ‘<samp><span class="samp">-R</span></samp>’ is specified +on the command line, that takes precedence. + + </dl> + +<div class="node"> +<a name="Paper-size-and-landscape"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Interaction-with-PostScript">Interaction with PostScript</a>, +Previous: <a rel="previous" accesskey="p" href="#Invoking-Dvips">Invoking Dvips</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">4 Paper size and landscape orientation</h2> + +<p><a name="index-paper-size_002c-general-337"></a> +Most TeX documents at a particular site are designed to use the +local standard paper size (letter size in the United States, A4 in +Europe). The Dvips program can be customized either sitewide or for a +particular printer. + + <p><a name="index-landscape-orientation_002c-defined-338"></a><a name="index-portrait-orientation_002c-defined-339"></a>But many documents are designed for other paper sizes. For instance, +you may want to design a document that has the long edge of the paper +horizontal. This can be useful when typesetting booklets, brochures, +complex tables, or many other documents. This type of paper orientation +is called <dfn>landscape</dfn> orientation (the default orientation is +<dfn>portrait</dfn>). Alternatively, a document might be designed for ledger +or A3 paper. + + <p>Since the intended paper size in these cases is a document design +decision, not a printing decision, such information should be given in +the TeX file and not on the Dvips command line. For this reason, +Dvips supports a ‘<samp><span class="samp">papersize</span></samp>’ special. It is hoped that this +special will become standard over time for TeX previewers and other +printer drivers. + + <p>Some LaTeX packages, e.g., ‘<samp><span class="samp">hyperref.sty</span></samp>’, write a +‘<samp><span class="samp">papersize</span></samp>’ special into the DVI file. In this case, you need +not and should not attempt to override it manually. + +<ul class="menu"> +<li><a accesskey="1" href="#papersize-special">papersize special</a>: Specifying the paper size in TeX. +<li><a accesskey="2" href="#Config-file-paper-sizes">Config file paper sizes</a>: Specifying printer- and site-specific sizes. +<li><a accesskey="3" href="#Paper-trays">Paper trays</a>: Changing paper trays automatically. +</ul> + +<div class="node"> +<a name="papersize-special"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Config-file-paper-sizes">Config file paper sizes</a>, +Up: <a rel="up" accesskey="u" href="#Paper-size-and-landscape">Paper size and landscape</a> + +</div> + +<h3 class="section">4.1 ‘<samp><span class="samp">papersize</span></samp>’ special</h3> + +<p><a name="index-papersize-_0040r_007bspecial_007d-340"></a> +The format of the ‘<samp><span class="samp">papersize</span></samp>’ special is + +<pre class="example"> \special{papersize=<var>width</var>,<var>height</var>} +</pre> + <p class="noindent"><var>width</var> is the horizontal size of the page, and <var>height</var> is the +vertical size. The dimensions supported are the same as for TeX; +namely, in (inches), cm (centimeters), mm (millimeters), pt (points), sp +(scaled points), bp (big points, the same as the default PostScript +unit), pc (picas), dd (didot points), and cc (ciceros). + + <p><a name="index-landscape_0040r_007b_002c-as-_0040code_007b_005cspecial_007d_007d-341"></a>For a US letter size landscape document, the <code>papersize</code> would be: +<pre class="example"> \special{papersize=11in,8.5in} +</pre> + <p class="noindent">An alternate specification of <code>landscape</code>: +<pre class="example"> \special{landscape} +</pre> + <p class="noindent">This is supported for backward compatibility, but it is hoped that +reventually the <code>papersize</code> comment will dominate. + + <p>Of course, such a <code>\special</code> only informs Dvips of the desired +paper size; you must also adjust <code>\hsize</code> and <code>\vsize</code> in your +TeX document typeset to those dimensions. + + <p><a name="index-unknown_0040r_007b_002c-paper-format-for-_0040samp_007b_002dt_007d_007d-342"></a>When using the <code>papersize</code> special, you generally should not also +specify <code>-t</code> on the command line (see <a href="#Option-details">Option details</a>). The +exception is when using a nonstandard paper size that isn't +predefined; in this case, use <code>-t unknown</code>. + + <p>The <code>papersize</code> special must occur somewhere on the first page of +the document. Some packages, notably ‘<samp><span class="samp">hyperref</span></samp>’, insert this special. + +<div class="node"> +<a name="Config-file-paper-sizes"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Paper-trays">Paper trays</a>, +Previous: <a rel="previous" accesskey="p" href="#papersize-special">papersize special</a>, +Up: <a rel="up" accesskey="u" href="#Paper-size-and-landscape">Paper size and landscape</a> + +</div> + +<h3 class="section">4.2 Configuration file paper size command</h3> + +<p><a name="index-paper-size-configuration-file-command-343"></a><a name="index-configuration-file-paper-size-command-344"></a> +The ‘<samp><span class="samp">@</span></samp>’ command in a configuration file sets the paper size +defaults and options. The first ‘<samp><span class="samp">@</span></samp>’ command defines the default +paper size. It has three possible parameters: + +<pre class="example"> @ <span class="roman">[</span><var>name</var> <span class="roman">[</span><var>hsize</var> <var>vsize</var><span class="roman">]]</span> +</pre> + <p>If ‘<samp><span class="samp">@</span></samp>’ is specified on a line by itself, with no parameters, it +instructs Dvips to discard all previous paper size information (possibly +from another configuration file). + + <p>If three parameters are given, with the first parameter being a name and +the second and third being a dimension (as in ‘<samp><span class="samp">8.5in</span></samp>’ or +‘<samp><span class="samp">3.2cc</span></samp>’, just like in the ‘<samp><span class="samp">papersize</span></samp>’ special), then the +option is interpreted as starting a new paper size description, where +<var>name</var> is the name and <var>hsize</var> and <var>vsize</var> define the +horizontal and vertical size of the sheet of paper, respectively. For +example: + +<pre class="example"> @ letterSize 8.5in 11in +</pre> + <p>If both <var>hsize</var> and <var>vsize</var> are zero (you must still specify +units!) then any page size will match. If the ‘<samp><span class="samp">@</span></samp>’ character is +immediately followed by a ‘<samp><span class="samp">+</span></samp>’ sign, then the remainder of the line +(after skipping any leading blanks) is treated as PostScript code to +send to the printer, presumably to select that particular paper size: + +<pre class="example"> @ letter 8.5in 11in + @+ %%BeginPaperSize: Letter + @+ letter + @+ %%EndPaperSize +</pre> + <p>After all that, if the first character of the line is an exclamation +point, then the line is put in the initial comments section of the final +output file; else, it is put in the setup section of the output file. +For example: + +<pre class="example"> @ legal 8.5in 14in + @+ ! %%DocumentPaperSizes: Legal + @+ %%BeginPaperSize: Legal + @+ legal + @+ %%EndPaperSize +</pre> + <p>When Dvips has a paper format name given on the command line, it looks +for a match by the <var>name</var>; when it has a ‘<samp><span class="samp">papersize</span></samp>’ special, +it looks for a match by dimensions. The best match found (from the +paper size information in the configuration file) is used. The +dimensions must match within 5bp. + + <p>If nothing matches, a warning is printed and the first paper size with +zero dimensions is used; this should be the <code>unknown</code> paper size +definition mentioned below, resulting in the actual dimensions being +used. + + <p>Landscape mode for all paper sizes is automatically supported. + + <p>If your printer has a command to set a special paper size, then give +dimensions of ‘<samp><span class="samp">0in 0in</span></samp>’; the PostScript code that sets the paper +size can refer to the dimensions the user requested as ‘<samp><span class="samp">hsize</span></samp>’ +and ‘<samp><span class="samp">vsize</span></samp>’; these will be macros defined in the PostScript that +return the requested size in default PostScript units. Also, some +printers want ‘<samp><span class="samp">BeginPaperSize</span></samp>’ comments and paper size setting +commands; others (such as the NeXT) want ‘<samp><span class="samp">PaperSize</span></samp>’ comments and +they will handle setting the paper size. So paper size entries should +typically specify both. + + <p><a name="index-unknown_0040r_007b_002c-paper-format-for-_0040samp_007b_002dt_007d_007d-345"></a>When using a paper size that is not already defined in +<samp><span class="file">config.ps</span></samp>, you probably want to say ‘<samp><span class="samp">-t unknown</span></samp>’ on +the command line; the <code>unknown</code> paper size definition in +<samp><span class="file">config.ps</span></samp> has the requisite PostScript incantation to set the +PostScript page size, as just described. + + <p><a name="index-nopaper_0040r_007b_002c-paper-format-for-_0040samp_007b_002dt_007d_007d-346"></a>If you want no paper size information in the output at all, use +‘<samp><span class="samp">-t nopaper</span></samp>’. This is useful with multi-page output that +will be processed further. If you just have a single page document, +you can use ‘<samp><span class="samp">-E</span></samp>’ to get pure EPSF output. + + <p><a name="index-mkdvipspapers-347"></a>The Perl 5 script <samp><span class="file">contrib/configs/mkdvipspapers</span></samp> in the +distribution directory may help in determining appropriate paper size +definitions. + + <p><a name="index-config_002eps-_0040r_007bpaper-sizes_007d-348"></a><a name="index-letter-_0040r_007bpaper-size_007d-349"></a><a name="index-a4-_0040r_007bpaper-size_007d-350"></a>Notwithstanding the above, the default <code>letter</code> and <code>a4</code> +paper size definitions in <samp><span class="file">config.ps</span></samp> execute the +<code>setpagedevice</code> operator if it exists (it was defined in +PostScript Level 2), or the ‘<samp><span class="samp">letter</span></samp>’ or ‘<samp><span class="samp">a4</span></samp>’ operator +if they exist (they are nonstandard and thus perhaps cause failures on +certain (unknown) printers). Not executing any page size definition +at all confuses PostScript conversion programs such as +<samp><span class="command">ps2pdf</span></samp>, so we want to execute one if we can. + + <p><a name="index-letterSize-_0040r_007bpaper-size_007d-351"></a><a name="index-A4size-_0040r_007bpaper-size_007d-352"></a>The <code>letterSize</code> and <code>A4Size</code> paper size definitions are now +synonyms for <code>letter</code> and <code>a4</code>. + +<div class="node"> +<a name="Paper-trays"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Config-file-paper-sizes">Config file paper sizes</a>, +Up: <a rel="up" accesskey="u" href="#Paper-size-and-landscape">Paper size and landscape</a> + +</div> + +<h3 class="section">4.3 Paper trays</h3> + +<p><a name="index-paper-trays-353"></a><a name="index-dual-paper-trays-354"></a><a name="index-multiple-paper-trays-355"></a><a name="index-HP4Si-printer-and-paper-trays-356"></a> +<a name="index-bop_002dhook-357"></a>Some printers, such as the Hewlett-Packard HP4si, have multiple paper +trays. You can set up Dvips to take advantage of this using the +<code>bop-hook</code> PostScript variable (see <a href="#PostScript-hooks">PostScript hooks</a>). + + <p><a name="index-letterhead-tray-358"></a>For example, suppose you have an alternate tray stocked with letterhead +paper; the usual tray has the usual paper. You have a document where +you want the first page printed on letterhead, and the remaining pages +on the usual paper. You can create a header file, say +<samp><span class="file">firstletterhead.PS</span></samp>, with the following (PostScript) code +(<code>bop-hook</code> is passed the current physical page number, which +starts at zero): + +<pre class="example"> /bop-hook { dup 0 eq { <var>alternatetray</var> } { <var>normaltray</var> } ifelse } def +</pre> + <p class="noindent">where <var>alternatetray</var> and <var>normaltray</var> are the appropriate +commands to select the paper trays. On the 4SI, <var>alternatetray</var> is +‘<samp><span class="samp">statusdict begin 1 setpapertray end</span></samp>’ and <var>normaltray</var> is +‘<samp><span class="samp">statusdict begin 0 setpapertray end</span></samp>’. + + <p>Then, include the file with either + <ul> +<li>the ‘<samp><span class="samp">-h</span></samp>’ command-line option (see <a href="#Option-details">Option details</a>); or + + <li>the ‘<samp><span class="samp">h</span></samp>’ config file option (see <a href="#Configuration-file-commands">Configuration file commands</a>); or + + <li>‘<samp><span class="samp">\special{header=</span><var>file</var><span class="samp">}</span></samp>’ in your TeX document +(see <a href="#Including-headers-from-TeX">Including headers from TeX</a>). + + </ul> + +<div class="node"> +<a name="Interaction-with-PostScript"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#PostScript-fonts">PostScript fonts</a>, +Previous: <a rel="previous" accesskey="p" href="#Paper-size-and-landscape">Paper size and landscape</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">5 Interaction with PostScript</h2> + +<p><a name="index-interaction-with-PostScript-359"></a><a name="index-PostScript-interaction-360"></a> +Dvips supports inclusion of PostScript figure files (e.g., Encapsulated +PostScript), downloading other header files (e.g., fonts), including +literal PostScript code, and hypertext. + +<ul class="menu"> +<li><a accesskey="1" href="#PostScript-figures">PostScript figures</a>: Including an Encapsulated PostScript figure. +<li><a accesskey="2" href="#Header-files">Header files</a>: Downloading extra definitions. +<li><a accesskey="3" href="#Literal-PS">Literal PS</a>: Writing literal PostScript code. +<li><a accesskey="4" href="#Hypertext">Hypertext</a>: Producing HyperPostScript to make PDF. +</ul> + +<div class="node"> +<a name="PostScript-figures"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Header-files">Header files</a>, +Up: <a rel="up" accesskey="u" href="#Interaction-with-PostScript">Interaction with PostScript</a> + +</div> + +<h3 class="section">5.1 PostScript figures</h3> + +<p>Scaling and including PostScript graphics is a breeze—if the PostScript +file is correctly formed. Even if it is not, however, the file can usually +be accommodated with just a little more work. + +<ul class="menu"> +<li><a accesskey="1" href="#Bounding-box">Bounding box</a>: The %%BoundingBox EPS comment. +<li><a accesskey="2" href="#g_t_005cincludegraphics">\includegraphics</a>: The LaTeX \includegraphics macro. +<li><a accesskey="3" href="#EPSF-macros">EPSF macros</a>: Including the file in TeX. +<li><a accesskey="4" href="#psfile-special">psfile special</a>: The basic special. +<li><a accesskey="5" href="#Dynamic-creation-of-graphics">Dynamic creation of graphics</a>: Handling compressed or generated figures. +<li><a accesskey="6" href="#Fonts-in-figures">Fonts in figures</a>: The %*Font comment. +</ul> + +<div class="node"> +<a name="Bounding-box"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#g_t_005cincludegraphics">\includegraphics</a>, +Up: <a rel="up" accesskey="u" href="#PostScript-figures">PostScript figures</a> + +</div> + +<h4 class="subsection">5.1.1 The bounding box comment</h4> + +<p><a name="index-bounding-box_002c-comment-for-361"></a> +The most important feature of a good PostScript file from the standpoint +of including it in another document is an accurate bounding box comment. +Every well-formed PostScript file has a comment describing where on the +page the graphic is located, and how big that graphic is. + + <p><a name="index-big-points-362"></a><a name="index-PostScript-units-363"></a><a name="index-bounding-box_002c-defined-364"></a>This information is given as the lower left and upper right corners of +the box just enclosing the graphic, and is thus referred to as the +<dfn>bounding box</dfn>. These coordinates are given in the default +PostScript units (there are precisely 72 PostScript units to the inch, +like TeX big points) with respect to the lower left corner of the +sheet of paper. + + <p><a name="index-g_t_0025_0025BoundingBox-365"></a>To see if a PostScript file has a bounding box comment, just look at the +first few lines of the file. PostScript files are standard ASCII, so +you can use any text editor to do this. If within the first few dozen +lines there is a line like + +<pre class="example"> %%BoundingBox: 25 50 400 300 +</pre> + <p class="noindent">(with any reasonable numbers), chances are very good that the file is +Encapsulated PostScript and will work easily with Dvips. If the file +contains instead a line like + + <p><a name="index-atend_0040r_007b_002c-bounding-box-specification_007d-366"></a><a name="index-g_t_0028atend_0029_0040r_007b_002c-bounding-box-specification_007d-367"></a> +<pre class="example"> %%BoundingBox: (atend) +</pre> + <p class="noindent">the file is still probably Encapsulated PostScript, but the bounding box +is given at the end of the file. Dvips needs it at the beginning. You +can move it with that same text editor, or a simple script. (The +bounding box is given in this way when the program that generated the +PostScript couldn't know the size in advance, or was too lazy to compute +it.) + + <p><a name="index-bbfig-368"></a><a name="index-bounding-box_002c-determining-369"></a>If the document lacks a ‘<samp><span class="samp">%%BoundingBox:</span></samp>’ altogether, you can +determine one in a couple of ways. One is to use the ‘<samp><span class="samp">bbfig</span></samp>’ +program distributed with Dvips in the <samp><span class="file">contrib</span></samp> directory. This can +usually find the correct bounding box automatically; it works best with +Ghostscript. + + <p><a name="index-g_t612-792-_0040r_007bbounding-box-size_007d-370"></a>If the comment looks like this: +<pre class="example"> %%BoundingBox: 0 0 612 792 +</pre> + <p class="noindent">the graphic claims to take up an entire sheet of paper. This is +usually a symptom of a bug in the program that generated it. + + <p>The other is to do it yourself: print the file. Now, take a ruler, and +make the following measurements (in PostScript units, so measure in +inches and multiply by 72): From the left edge of the paper to the +leftmost mark on the paper is <var>llx</var>, the first number. From the +bottom edge of the paper to the bottommost mark on the paper is +<var>lly</var>, the second number. From the left edge of the paper to the +rightmost mark on the paper is <var>urx</var>, the third number. The fourth +and final number, <var>ury</var>, is the distance from the bottom of the page +to the uppermost mark on the paper. + + <p>Once you have the numbers, add a comment of the following form as the +second line of the document. (The first line should already be a line +starting with the two characters ‘<samp><span class="samp">%!</span></samp>’; if it is not, the file +probably isn't PostScript.) + +<pre class="example"> %%BoundingBox: <var>llx</var> <var>lly</var> <var>urx</var> <var>ury</var> +</pre> + <p class="noindent">Or, if you don't want to modify the file, you can simply write these +numbers down in a convenient place and give them in your TeX document +when you import the graphic, as described in the next section. + + <p>If the document does not have such a bounding box, or if the bounding +box is given at the end of the document, or the bounding box is wrong, +please complain to the authors of the software package that generated +the file. + +<div class="node"> +<a name="%5cincludegraphics"></a> +<a name="g_t_005cincludegraphics"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#EPSF-macros">EPSF macros</a>, +Previous: <a rel="previous" accesskey="p" href="#Bounding-box">Bounding box</a>, +Up: <a rel="up" accesskey="u" href="#PostScript-figures">PostScript figures</a> + +</div> + +<h4 class="subsection">5.1.2 The \includegraphics macro for LaTeX</h4> + +<p><a name="index-g_t_005cincludegraphics-_0040LaTeX_007b_007d-macro-371"></a><a name="index-macros-for-epsf-inclusion-372"></a> +Once the figure file has a bounding box comment (see the previous +section) you are ready to import the graphic into a LaTeX +document. For LaTeX 2e, you can use the epsf, graphics or graphicx +packages, but the last is recommended—it has the most flexible +syntax, and is briefly described here. Further information can be +found in <samp><span class="file">grfguide</span></samp> or <samp><span class="file">epslatex</span></samp>, which should be included +in your LaTeX distribution in DVI, PDF, or other formats. (If you +are still using LaTeX 2.09, use epsf.sty). + + <p>Just put the following command into your preamble: + +<pre class="example"> \usepackage[dvips]{graphicx} +</pre> + <p>Depending on your system, a suitable driver setup may already be +present, so that LaTeX automatically produces DVI files suitable for +Dvips. In this case you can leave out the ‘<samp><span class="samp">[dvips]</span></samp>’ parameter. + + <p>Now, at the point you want to include a file <samp><span class="file">foo.eps</span></samp>, enter a +line such as: + +<pre class="example"> \includegraphics{foo.eps} +</pre> + <p>However, it is usually best to omit the file extension and only use + +<pre class="example"> \includegraphics{foo} +</pre> + <p class="noindent">because then you can process the same LaTeX file with +different TeX engines or DVI converters if you also provide +suitable graphics files for them, e.g., <samp><span class="file">foo.pdf</span></samp> or +<samp><span class="file">foo.png</span></samp>. + + <p><a name="index-bounding-box_002c-supplying-to-_0040TeX_007b_007d-373"></a>The \includegraphics command has many options, specified in +‘<samp><span class="samp">key=value</span></samp>’ syntax, to allow you to resize, rotate or trim the +included graphic—see <samp><span class="file">grfguide</span></samp> or <samp><span class="file">epslatex</span></samp>. If your +file does not have a bounding box comment, you can supply the numbers +as determined in the previous section, in the same order they would +have been in a normal bounding box comment: + +<pre class="example"> \includegraphics[bb=100 100 500 500]{foo.ps} +</pre> + <p class="noindent">Now, save your changes and run LaTeX and Dvips; the output should +have your graphic positioned at precisely the point you indicated, +occupying the proper amount of space. + + <p>PostScript graphics have their origin in the lower left +corner. Therefore, in TeX, a graphic will occupy a box that extends +far above the line where it is put in, but has depth zero below it. +Combining ‘<samp><span class="samp">\includegraphics</span></samp>’ with ‘<samp><span class="samp">\parbox</span></samp>’ commands or +minipages can sometimes be confusing when this is not taken into +account. + +<div class="node"> +<a name="EPSF-macros"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#psfile-special">psfile special</a>, +Previous: <a rel="previous" accesskey="p" href="#g_t_005cincludegraphics">\includegraphics</a>, +Up: <a rel="up" accesskey="u" href="#PostScript-figures">PostScript figures</a> + +</div> + +<h4 class="subsection">5.1.3 Using the EPSF macros</h4> + +<p><a name="index-EPSF-macros-374"></a><a name="index-macros-for-epsf-inclusion-375"></a> +If you are using LaTeX 2e, use the ‘<samp><span class="samp">graphics</span></samp>’ or ‘<samp><span class="samp">graphicx</span></samp>’ +package. See <a href="#g_t_005cincludegraphics">\includegraphics</a>. + + <p>If you are using plain TeX or LaTeX 2.09, you need <samp><span class="file">epsf.tex</span></samp> +(for plain TeX) and <samp><span class="file">epsf.sty</span></samp> (for LaTeX). For plain +TeX, add a line like this near the top of your input file: + + <p><a name="index-epsf_002etex-376"></a> +<pre class="example"> \input epsf +</pre> + <p class="noindent"><a name="index-epsf_002esty-377"></a>If you are using LaTeX 2.09, add the ‘<samp><span class="samp">epsf</span></samp>’ style option, as in: + +<pre class="example"> \documentstyle[12pt,epsf]{article} +</pre> + <p class="noindent">In any case, the above only needs to be done once, no matter how many +figures you plan to include. + + <p>Now, at the point you want to include a file, enter a line such as: + +<pre class="example"> \epsffile{foo.eps} +</pre> + <p><a name="index-g_t_005cleavevmode-378"></a><a name="index-bounding-box_002c-supplying-to-_0040TeX_007b_007d-379"></a>If you are using LaTeX, you may need to add <code>\leavevmode</code> +immediately before the <code>\epsffile</code> command to get certain +environments to work correctly. If your file does not have a bounding +box comment, you can supply the numbers as determined in the previous +section, in the same order they would have been in a normal bounding box +comment: + +<pre class="example"> \epsffile[100 100 500 500]{foo.ps} +</pre> + <p class="noindent">Now, save your changes and run TeX and Dvips; the output should have +your graphic positioned at precisely the point you indicated, occupying +the proper amount of space. + + <p><a name="index-g_t_005cepsffile-_0040r_007bmacro_007d-380"></a><a name="index-figures_002c-natural-size-381"></a>The <code>\epsffile</code> macro typesets the figure as a TeX <code>\vbox</code> +at the point of the page that the command is executed. By default, the +graphic will have its `natural' width (namely, the width of its bounding +box). The TeX box will have depth zero and its natural height. By +default, the graphic will be scaled by any DVI magnification in effect, +just as is everything else in your document. See the next section for +more information on scaling. + + <p><a name="index-g_t_005cepsfverbosetrue-382"></a><a name="index-verbose-EPSF-processing-383"></a>If you want TeX to report the size of the figure as a message on your +terminal when it processes each figure, give the command: + +<pre class="example"> \epsfverbosetrue +</pre> + <ul class="menu"> +<li><a accesskey="1" href="#EPSF-scaling">EPSF scaling</a> +<li><a accesskey="2" href="#EPSF-clipping">EPSF clipping</a> +</ul> + +<div class="node"> +<a name="EPSF-scaling"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#EPSF-clipping">EPSF clipping</a>, +Up: <a rel="up" accesskey="u" href="#EPSF-macros">EPSF macros</a> + +</div> + +<h5 class="subsubsection">5.1.3.1 EPSF scaling</h5> + +<p><a name="index-scaling-of-figures-384"></a><a name="index-figures_002c-scaling-385"></a> +Usually, you will want to scale an EPSF figure to some size appropriate +for your document, since its natural size is determined by the creator +of the EPS file. + + <p>The best way to do this is to assign the desired size to the TeX +<code>\epsfxsize</code> or <code>\epsfysize</code> variables, whichever is more +convenient for you. That is, put + + <p><a name="index-g_t_005cepsfxsize-386"></a> +<pre class="example"> \epsfxsize=<var>dimen</var> +</pre> + <p class="noindent">right before the call to <code>\epsffile</code>. Then the width of the TeX +box will be <var>dimen</var> and its height will be scaled proportionately. +Similarly, you can set the vertical size with + + <p><a name="index-g_t_005cepsfysize-387"></a> +<pre class="example"> \epsfysize=<var>dimen</var> +</pre> + <p class="noindent">in which case the height will be set and the width scaled +proportionally. + + <p>If you set both, both will be honored, but the aspect ratio of the +included graphic may necessarily be distorted, i.e., its contents +stretched in one direction or the other. + + <p><a name="index-g_t_005cepsfsize-388"></a>You can resize graphics in a more general way by redefining the +<code>\epsfsize</code> macro. <code>\epsffile</code> calls this with two +parameters: the natural horizontal and vertical sizes of the PostScript +graphic. <code>\epsfsize</code> must expand to the desired horizontal size, +that is, the width of the <code>\vbox</code>. Schematically: + +<pre class="example"> \def\epsfsize#1#2{<var>body</var>} +</pre> + <p>Some useful definitions of <var>body</var>: + + <dl> +<dt>‘<samp><span class="samp">\epsfxsize</span></samp>’<dd>This definition (the default) enables the default features listed above, +by setting <code>\epsfxsize</code> to the same value it had before the macro +was called. + + <br><dt>‘<samp><span class="samp">#1</span></samp>’<dd>Force the natural size by returning the first parameter (the original +width). + + <br><dt>‘<samp><span class="samp">0pt</span></samp>’<dd>A special case, equivalent to ‘<samp><span class="samp">#1</span></samp>’. + + <br><dt>‘<samp><span class="samp">0.5#1</span></samp>’<dd>Scale to half the natural size. + + <br><dt>‘<samp><span class="samp">\hsize</span></samp>’<dd>Scale to the current <code>\hsize</code>. (In LaTeX, use <code>\textwidth</code> +instead of <code>\hsize</code>.) + + <br><dt>‘<samp><span class="samp">\ifnum#1>\hsize\hsize\else#1\fi</span></samp>’<dd>If the natural width is greater than the current <code>\hsize</code>, scale to +<code>\hsize</code>, otherwise use the natural width. + + </dl> + + <p><a name="index-DVI-magnification-389"></a><a name="index-magnification_002c-DVI-390"></a><a name="index-g_t_005cmagnification-391"></a>For compatibility with other PostScript drivers, it is possible to turn +off the default scaling of included figures by the DVI magnification +with the following TeX command: + + <p><a name="index-g_t_002fmagscale-392"></a> +<pre class="example"> \special{! /magscale false def} +</pre> + <p class="noindent">Use of this command is not recommended because it will make the +<code>\epsffile</code> graphics the “wrong” size if global magnification is +being used, and it will cause any PostScript graphics to appear +improperly scaled and out of position if a DVI to DVI program is used to +scale or otherwise modify the document. + + <p><a name="index-bop_002dhook-393"></a>DVI magnification is not applied to any output from code you write in +‘<samp><span class="samp">bop-hook</span></samp>’ or its ilk (see <a href="#PostScript-hooks">PostScript hooks</a>), + +<div class="node"> +<a name="EPSF-clipping"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#EPSF-scaling">EPSF scaling</a>, +Up: <a rel="up" accesskey="u" href="#EPSF-macros">EPSF macros</a> + +</div> + +<h5 class="subsubsection">5.1.3.2 EPSF clipping</h5> + +<p><a name="index-clipping-of-EPSF-394"></a><a name="index-bounding-box_002c-inaccurate-395"></a><a name="index-text-in-figures_002c-chopped-off-396"></a><a name="index-lines-in-figures_002c-wrong-width-397"></a> +By default, clipping is disabled for included EPSF images. This is +because clipping to the bounding box dimensions often cuts off a +small portion of the figure, due to slightly inaccurate bounding +box arguments. The problem might be subtle; lines around the boundary +of the image might be half their intended width, or the tops or +bottoms of some text annotations might be sliced off. If you want to +turn clipping on, just use the command + +<pre class="example"> \epsfclipon +</pre> + <p class="noindent">and to turn clipping back off, use + +<pre class="example"> \epsfclipoff +</pre> + <div class="node"> +<a name="psfile-special"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Dynamic-creation-of-graphics">Dynamic creation of graphics</a>, +Previous: <a rel="previous" accesskey="p" href="#EPSF-macros">EPSF macros</a>, +Up: <a rel="up" accesskey="u" href="#PostScript-figures">PostScript figures</a> + +</div> + +<h4 class="subsection">5.1.4 ‘<samp><span class="samp">psfile</span></samp>’ special</h4> + +<p><a name="index-psfile-_0040r_007bspecial_007d-398"></a> +The basic special for file inclusion is as follows: + +<pre class="example"> \special{psfile=<var>filename</var>.ps <span class="roman">[</span><var>key</var>=<var>value</var><span class="roman">]</span> ... } +</pre> + <p class="noindent">This downloads the PostScript file <samp><var>filename</var><span class="file">.ps</span></samp> such that +the current point will be the origin of the PostScript coordinate +system. The optional <var>key</var><tt>=</tt><var>value</var> assignments allow you to +specify transformations on the PostScript. + + <p>The possible <var>key</var>s are: + + <dl> +<dt>‘<samp><span class="samp">hoffset</span></samp>’<dd><a name="index-hoffset-_0040r_007b_0028_0040samp_007bpsfile_007d-special-option_0029_007d-399"></a>The horizontal offset (default 0). + + <br><dt>‘<samp><span class="samp">voffset</span></samp>’<dd><a name="index-voffset-_0040r_007b_0028_0040samp_007bpsfile_007d-special-option_0029_007d-400"></a>The vertical offset (default 0). + + <br><dt>‘<samp><span class="samp">hsize</span></samp>’<dd><a name="index-hsize-_0040r_007b_0028_0040samp_007bpsfile_007d-special-option_0029_007d-401"></a>The horizontal clipping size (default 612). + + <br><dt>‘<samp><span class="samp">vsize</span></samp>’<dd><a name="index-vsize-_0040r_007b_0028_0040samp_007bpsfile_007d-special-option_0029_007d-402"></a>The vertical clipping size (default 792). + + <br><dt>‘<samp><span class="samp">hscale</span></samp>’<dd><a name="index-hscale-_0040r_007b_0028_0040samp_007bpsfile_007d-special-option_0029_007d-403"></a>The horizontal scaling factor, as a percentage (default 100). + + <br><dt>‘<samp><span class="samp">vscale</span></samp>’<dd><a name="index-vscale-_0040r_007b_0028_0040samp_007bpsfile_007d-special-option_0029_007d-404"></a>The vertical scaling factor, as a percentage (default 100). + + <br><dt>‘<samp><span class="samp">angle</span></samp>’<dd><a name="index-angle-_0040r_007b_0028_0040samp_007bpsfile_007d-special-option_0029_007d-405"></a>The rotation, in degrees (default 0). + + <br><dt>‘<samp><span class="samp">clip</span></samp>’<dd><a name="index-clip-_0040r_007b_0028_0040samp_007bpsfile_007d-special-option_0029_007d-406"></a>Enable clipping to the bounding box (default disabled). + + <br><dt>‘<samp><span class="samp">llx, lly, urx, ury</span></samp>’<dd><a name="index-llx-_0040r_007b_0028_0040samp_007bpsfile_007d-special-option_0029_007d-407"></a><a name="index-lly-_0040r_007b_0028_0040samp_007bpsfile_007d-special-option_0029_007d-408"></a><a name="index-urx-_0040r_007b_0028_0040samp_007bpsfile_007d-special-option_0029_007d-409"></a><a name="index-ury-_0040r_007b_0028_0040samp_007bpsfile_007d-special-option_0029_007d-410"></a>Bounding box of the included image, just as in a <code>%%BoundingBox</code> +comment. Values are in big points, and may be fractional. + + <br><dt>‘<samp><span class="samp">rhi, rwi</span></samp>’<dd><a name="index-rhi-_0040r_007b_0028_0040samp_007bpsfile_007d-special-option_0029_007d-411"></a><a name="index-rwi-_0040r_007b_0028_0040samp_007bpsfile_007d-special-option_0029_007d-412"></a>Desired width and height of the resulting figure in the output, in +tenths of big points (720 to the inch); may be fractional. + + <p>If both <code>rwi</code> and <code>rhi</code> are nonzero, the picture is scaled, +possibly losing aspect ratio. If only one of <code>rwi</code> and +<code>rhi</code> is nonzero, the picture is scaled, preserving aspect ratio. + + </dl> + + <p>The offsets and sizes are given in PostScript units (big points). +Thus, for example: + +<pre class="example"> \special{psfile=foo.ps hoffset=72 hscale=90 vscale=90} +</pre> + <p class="noindent">will shift the graphics produced by file <samp><span class="file">foo.ps</span></samp> right by one inch +and will draw it at 0.9 times normal size. Offsets are given relative +to the point of the special command, and are unaffected by scaling or +rotation. Rotation is counterclockwise about the origin. The order of +operations is to rotate the figure, scale it, then offset it. + + <p>For compatibility with older PostScript drivers, it is possible to change +the units that ‘<samp><span class="samp">hscale</span></samp>’ and ‘<samp><span class="samp">vscale</span></samp>’ are given in. This can be +done by redefining ‘<samp><span class="samp">@scaleunit</span></samp>’ +<a name="index-scaleunit-413"></a>in ‘<samp><span class="samp">SDict</span></samp>’ +<a name="index-SDict-414"></a>by a TeX command such as + +<pre class="example"> \special{! /@scaleunit 1 def} +</pre> + <p class="noindent">The ‘<samp><span class="samp">@scaleunit</span></samp>’ variable, which is by default 100, is what +‘<samp><span class="samp">hscale</span></samp>’ and ‘<samp><span class="samp">vscale</span></samp>’ are divided by to yield an absolute +scale factor. + +<div class="node"> +<a name="Dynamic-creation-of-graphics"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Fonts-in-figures">Fonts in figures</a>, +Previous: <a rel="previous" accesskey="p" href="#psfile-special">psfile special</a>, +Up: <a rel="up" accesskey="u" href="#PostScript-figures">PostScript figures</a> + +</div> + +<h4 class="subsection">5.1.5 Dynamic creation of PostScript graphics files</h4> + +<p><a name="index-dynamic-creation-of-graphics-415"></a><a name="index-compressed-PostScript-416"></a><a name="index-uncompressing-PostScript-417"></a> +PostScript is an excellent page description language—but it does tend +to be rather verbose. Compressing PostScript graphics files can reduce +them by factor of five or more. For this reason, if the name of an +included PostScript file ends with <samp><span class="file">.Z</span></samp> or <samp><span class="file">.gz</span></samp>, Dvips +automatically runs ‘<samp><span class="samp">gzip -d</span></samp>’. For example: + +<pre class="example"> \epsffile[72 72 540 720]{foo.ps.gz} +</pre> + <p class="noindent">Since the results of such a command are not accessible to TeX, if you +use this facility with the <samp><span class="file">epsf</span></samp> macros, you need to supply the +bounding box parameter yourself, as shown. + + <p>More generally, if the filename parameter to one of the graphics +inclusion techniques starts with a left quote (‘<samp><span class="samp">`</span></samp>’), the parameter +is instead interpreted as a command to execute that will send the actual +file to standard output. For example: + +<pre class="example"> \special{psfile="`gnuplot foo"} +</pre> + <p class="noindent"><a name="index-gnuplot-418"></a>to include the file <samp><span class="file">foo</span></samp>. Of course, the command to be executed +can be anything, including using a file conversion utility such as +<samp><span class="file">tek2ps</span></samp> or whatever is appropriate. This feature can be disabled +with the ‘<samp><span class="samp">-R</span></samp>’ command-line option or ‘<samp><span class="samp">R</span></samp>’ configuration option. + +<div class="node"> +<a name="Fonts-in-figures"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Dynamic-creation-of-graphics">Dynamic creation of graphics</a>, +Up: <a rel="up" accesskey="u" href="#PostScript-figures">PostScript figures</a> + +</div> + +<h4 class="subsection">5.1.6 Fonts in figures</h4> + +<p><a name="index-figures-and-fonts-419"></a><a name="index-fonts_002c-in-PostScript-figures-420"></a><a name="index-g_t_0025_002aFont-421"></a> +You can use any font available to TeX and Dvips within a graphics +file by putting a <code>%*Font:</code> line in the leading commentary of the +file. Schematically, this looks like: + +<pre class="example"> %*Font: <var>tfmname</var> <var>scaledbp</var> <var>designbp</var> <var>hex-start</var>:<var>hex-bitstring</var> +</pre> + <p>Here is the meaning of each of these elements: + + <dl> +<dt><var>tfmname</var><dd>The TeX TFM filename, e.g., <samp><span class="file">cmr10</span></samp>. You can give the same +<var>tfmname</var> on more than one ‘<samp><span class="samp">%*Font</span></samp>’ line; this is useful when +the number of characters from the font used needs a longer +<var>hex-bitstring</var> (see item below) than conveniently fits on one line. + + <br><dt><var>scaledbp</var><dd>The size at which you are using the font, in PostScript points (TeX +big points). 72<span class="dmn">bp</span> = 72.27<span class="dmn">pt</span> = 1<span class="dmn">in</span>. + + <br><dt><var>designbp</var><dd>The designsize of the font, again in PostScript points. This should +match the value in the TFM file <var>tfmname</var>. Thus, for <samp><span class="file">cmr10</span></samp>, +it should be ‘<samp><span class="samp">9.96265</span></samp>’. + + <br><dt><var>hex-start</var><dd>The character code of the first character used from the font, specified +as two ASCII hexadecimal characters, e.g., ‘<samp><span class="samp">4b</span></samp>’ or ‘<samp><span class="samp">4B</span></samp>’ for +‘<samp><span class="samp">K</span></samp>’. + + <br><dt><var>hex-bitstring</var><dd>An arbitrary number of ASCII hexadecimal digits specifying which +characters following (and including) <var>hex-start</var> are used. This is +treated as a bitmap. For example, if your figure used the single letter +‘<samp><span class="samp">K</span></samp>’, you would use ‘<samp><span class="samp">4b:8</span></samp>’ for <var>hex-start</var> and +<var>hex-bitstring</var>. If it used ‘<samp><span class="samp">KLMNP</span></samp>’, you would use +‘<samp><span class="samp">4b:f4</span></samp>’. + + </dl> + + <p>MetaPost's output figures contain lines like this for bitmap fonts used +in a MetaPost label (see <a href="web2c.html#MetaPost">MetaPost</a>). + +<div class="node"> +<a name="Header-files"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Literal-PS">Literal PS</a>, +Previous: <a rel="previous" accesskey="p" href="#PostScript-figures">PostScript figures</a>, +Up: <a rel="up" accesskey="u" href="#Interaction-with-PostScript">Interaction with PostScript</a> + +</div> + +<h3 class="section">5.2 PostScript header files</h3> + +<p><a name="index-header-files_002c-defined-422"></a><a name="index-PostScript-header-files-423"></a> +<dfn>Header files</dfn> are bits of PostScript included in the output file; +generally they provide support for special features, rather than +producing any printed output themselves. You can explicitly request +downloading header files if necessary for some figure, or to achieve +some special effect. + + <p><a name="index-psheaderdir-424"></a><a name="index-g_t_002epro-_0040r_007bprologue-files_007d-425"></a><a name="index-g_t_002elpro-_0040r_007blong-prologue-files_007d-426"></a>Dvips includes some headers on its own initiative, to implement features +such as PostScript font reencoding, bitmap font downloading, handling of +<code>\special</code>'s, and so on. These standard headers are the +<samp><span class="file">.pro</span></samp> files (for “prologue”) in the installation directory +‘<samp><span class="samp">$(psheaderdir)</span></samp>’; they are created from the <samp><span class="file">.lpro</span></samp> (“long +prologue”) files in the distribution by stripping +comments, squeezing blank lines, etc., for maximum efficiency. If you +want to peruse one of the standard header files, read the <samp><span class="file">.lpro</span></samp> +version. + + <p><a name="index-userdict_0040r_007b_002c-and-dictionary-files_007d-427"></a><a name="index-dictionary_002c-_0040code_007buserdict_007d-428"></a>The PostScript dictionary stack will be at the ‘<samp><span class="samp">userdict</span></samp>’ level +when header files are included. + +<ul class="menu"> +<li><a accesskey="1" href="#Including-headers-from-TeX">Including headers from TeX</a> +<li><a accesskey="2" href="#Including-headers-from-the-command-line">Including headers from the command line</a> +<li><a accesskey="3" href="#Headers-and-memory-usage">Headers and memory usage</a> +</ul> + +<div class="node"> +<a name="Including-headers-from-TeX"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Including-headers-from-the-command-line">Including headers from the command line</a>, +Up: <a rel="up" accesskey="u" href="#Header-files">Header files</a> + +</div> + +<h4 class="subsection">5.2.1 Including headers from TeX</h4> + +<p><a name="index-including-headers-in-_0040TeX_007b_007d-429"></a><a name="index-header_003d_0040var_007bfile_007d-_005cspecial-430"></a><a name="index-g_t_0040TeX_007b_007d_002c-including-headers-in-431"></a> +<a name="index-headers_002c-including-in-_0040TeX_007b_007d-432"></a>In order to get a particular graphic file to work, a certain font or +header file might need to be sent first. The Dvips program provides +support for this with the ‘<samp><span class="samp">header</span></samp>’ <code>\special</code>. For instance, +to ensure that <samp><span class="file">foo.ps</span></samp> gets downloaded: + +<pre class="example"> \special{header=foo.ps} +</pre> + <p><a name="index-fonts_002c-as-header-files-433"></a>As another example, if you have some PostScript code that uses a +PostScript font not built into your printer, you must download it to the +printer. If the font isn't used elsewhere in the document, Dvips can't +know you've used it, so you must include it in the same way, as in: + +<pre class="example"> \special{header=putr.pfa} +</pre> + <p class="noindent">to include the font definition file for Adobe Utopia Roman. + + <p>The <code>header</code> also special allows for specifying some additional +code that should be inserted into the PostScript document before and after +the file itself, as follows: + +<pre class="example"> \special{header={foo.ps} pre={pre code} post={post code}} +</pre> + <p><a name="index-before-header_002c-inserting-code-434"></a><a name="index-after-header_002c-inserting-code-435"></a><a name="index-pre-_0040r_007bcode-before-headers_007d-436"></a><a name="index-post-_0040r_007bcode-after-headers_007d-437"></a>This will insert <code>pre code</code> just before <samp><span class="file">foo.ps</span></samp> and +<code>post code</code> just after. It is required to use the (balanced) +braces in <em>all</em> of the arguments, including the <code>header</code>, +when using this extended syntax. + + <p>This allows, for instance, dynamic headers, where some of the content +depends on settings from the user in (La)TeX. Another application +is the inclusion of graphics inside the PostScript header, so that +they can be reused throughout the document, as with logs. That avoids +including the same graphic several times. This is implemented in the +<samp><span class="file">graphics/graphicx-psmin</span></samp> package. + + <p>This extended syntax has one additional feature. When Dvips finds the +extended syntax, it will also look in the installed <samp><span class="file">tex/</span></samp> +tree(s) for the header file (<samp><span class="file">foo.ps</span></samp> in our example), and not +only in the current directory and dvips tree as the original syntax +does. This is because common graphics may well come with packages +which are installed in the <samp><span class="file">tex/</span></samp> tree. + +<div class="node"> +<a name="Including-headers-from-the-command-line"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Headers-and-memory-usage">Headers and memory usage</a>, +Previous: <a rel="previous" accesskey="p" href="#Including-headers-from-TeX">Including headers from TeX</a>, +Up: <a rel="up" accesskey="u" href="#Header-files">Header files</a> + +</div> + +<h4 class="subsection">5.2.2 Including headers from the command line</h4> + +<p><a name="index-including-headers-from-the-command-line-438"></a><a name="index-command-line_002c-including-headers-from-439"></a><a name="index-headers_002c-including-from-the-command-line-440"></a> +You can include headers when you run Dvips, as well as from your +document (see the previous section). To do this, run Dvips with the +option ‘<samp><span class="samp">-P </span><var>header</var></samp>’; this will read the file +<samp><span class="file">config.</span><var>header</var></samp>, which in turn can specify a header file to +be downloaded with the ‘<samp><span class="samp">h</span></samp>’ option. See <a href="#Configuration-file-commands">Configuration file commands</a>. These files are called <samp><var>header</var><span class="file">.cfg</span></samp> on MS-DOS. + + <p><a name="index-duplex-printers-441"></a><a name="index-simplex-mode-on-duplex-printers-442"></a><a name="index-screen-frequencies_002c-setting-443"></a>You can arrange for the same file to serve as a ‘<samp><span class="samp">-P</span></samp>’ config file +and the downloadable header file, by starting the lines of PostScript +code with a space, leaving only the ‘<samp><span class="samp">h</span></samp>’ line and any comments +starting in the first column. As an example, see +<samp><span class="file">contrib/volker/config.*</span></samp> (<samp><span class="file">contrib/volker/*.cfg</span></samp> on MS-DOS). +(These files also perform useful functions: controlling duplex/simplex +mode on duplex printers, and setting various screen frequencies; +<samp><span class="file">contrib/volker/README</span></samp> explains further.) + +<div class="node"> +<a name="Headers-and-memory-usage"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Including-headers-from-the-command-line">Including headers from the command line</a>, +Up: <a rel="up" accesskey="u" href="#Header-files">Header files</a> + +</div> + +<h4 class="subsection">5.2.3 Headers and memory usage</h4> + +<p><a name="index-headers-and-memory-usage-444"></a><a name="index-memory-usage_002c-and-headers-445"></a> +<a name="index-sections-of-output-file_002c-and-memory-446"></a><a name="index-output-file_002c-sectioning-of-447"></a>Dvips tries to avoid overflowing the printer's memory by splitting the +output files into “sections” (see the ‘<samp><span class="samp">-i</span></samp>’ option in <a href="#Option-details">Option details</a>). Therefore, for all header files, Dvips debits the printer VM +budget by some value. If the header file has, in its leading +commentary a line of the form + + <p><a name="index-VMusage-448"></a><a name="index-g_t_0025_0025VMusage-449"></a> +<pre class="example"> %%VMusage: <var>min</var> <var>max</var> +</pre> + <p class="noindent">then <var>max</var> is used. If there is no <code>%%VMusage</code> line, then +the size (in bytes) of the header file is used as an approximation. + + <p>Illustrations (figure files) are also checked for <code>%%VMusage</code> line. + +<div class="node"> +<a name="Literal-PS"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Hypertext">Hypertext</a>, +Previous: <a rel="previous" accesskey="p" href="#Header-files">Header files</a>, +Up: <a rel="up" accesskey="u" href="#Interaction-with-PostScript">Interaction with PostScript</a> + +</div> + +<h3 class="section">5.3 Literal PostScript</h3> + +<p><a name="index-literal-PostScript_002c-using-450"></a><a name="index-PostScript-code_002c-literal-451"></a> +You can include literal PostScript code in your document in several ways. + +<ul class="menu"> +<li><a accesskey="1" href="#g_t_0022-special">" special</a>: To include inline PostScript code. +<li><a accesskey="2" href="#ps-special">ps special</a>: Inline PostScript without save/restore. +<li><a accesskey="3" href="#PostScript-hooks">PostScript hooks</a>: Specifying code to run in the PS interpreter. +<li><a accesskey="4" href="#Literal-headers">Literal headers</a>: Literal PostScript for the whole document. +<li><a accesskey="5" href="#Literal-examples">Literal examples</a>: Neat example. +</ul> + +<div class="node"> +<a name="%22-special"></a> +<a name="g_t_0022-special"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#ps-special">ps special</a>, +Up: <a rel="up" accesskey="u" href="#Literal-PS">Literal PS</a> + +</div> + +<h4 class="subsection">5.3.1 <code>"</code> special: Literal PostScript</h4> + +<p><a name="index-g_t_0022-_0040r_007bspecial-_0028literal-PostScript_0029_007d-452"></a> +For simple graphics, or just for experimentation, literal PostScript +code can be included. Simply use a <code>\special</code> beginning with a +double quote character ‘<samp><span class="samp">"</span></samp>’; there is no matching closing ‘<samp><span class="samp">"</span></samp>’. + + <p>For instance, the following (simple) graphic: + +<p class="noindent">was created by typing: + +<pre class="example"> \vbox to 100bp{\vss % a bp is the same as a PostScript unit + \special{" newpath 0 0 moveto 100 100 lineto 394 0 lineto + closepath gsave 0.8 setgray fill grestore stroke}} +</pre> + <p>You are responsible for leaving space for such literal graphics, as with +the <code>\vbox</code> above. + +<div class="node"> +<a name="ps-special"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#PostScript-hooks">PostScript hooks</a>, +Previous: <a rel="previous" accesskey="p" href="#g_t_0022-special">" special</a>, +Up: <a rel="up" accesskey="u" href="#Literal-PS">Literal PS</a> + +</div> + +<h4 class="subsection">5.3.2 ‘<samp><span class="samp">ps</span></samp>’ special</h4> + +<p><a name="index-ps-_0040r_007bspecial_007d-453"></a> +<a name="index-save_002frestore_002c-and-specials-454"></a>Generally, Dvips encloses specials in a PostScript save/restore pair, +guaranteeing that the special will have no effect on the rest of the +document. The ‘<samp><span class="samp">ps</span></samp>’ special, however, allows you to insert literal +PostScript instructions without this protective shield; you should +understand what you're doing (and you shouldn't change the PostScript +graphics state unless you are willing to take the consequences). This +command can take many forms because it has had a torturous history; any +of the following will work: + +<pre class="example"> \special{ps:<var>text</var>} + \special{ps::<var>text</var>} + \special{ps::[begin]<var>text</var>} + \special{ps::[end]<var>text</var>} + \special{ps::[nobreak]<var>text</var>} +</pre> + <p class="noindent">(with longer forms taking precedence over shorter forms, when they are +present). ‘<samp><span class="samp">ps::</span></samp>’ and ‘<samp><span class="samp">ps::[end]</span></samp>’ do no positioning, so they +can be used to continue PostScript literals started with ‘<samp><span class="samp">ps:</span></samp>’ or +‘<samp><span class="samp">ps::[begin]</span></samp>’. + + <p>Literal PostScript instructions after ‘<samp><span class="samp">ps::[nobreak]</span></samp>’ are +<em>not</em> broken into lines. This feature may be used to include +PostScript comments, for example. + + <p><a name="index-plotfile_0040r_007b_002c-_0040samp_007bps_007d-subspecial_007d-455"></a>In addition, the variant + +<pre class="example"> \special{ps: plotfile <var>filename</var>} +</pre> + <p class="noindent"><a name="index-rotate_002etex-456"></a>inserts the contents of <var>filename</var> verbatim into the output (except +for omitting lines that begin with %). An example of the proper use of +literal specials can be found in the file <samp><span class="file">rotate.tex</span></samp>, which makes +it easy to typeset text turned in multiples of 90 degrees. + +<div class="node"> +<a name="Literal-headers"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Literal-examples">Literal examples</a>, +Previous: <a rel="previous" accesskey="p" href="#PostScript-hooks">PostScript hooks</a>, +Up: <a rel="up" accesskey="u" href="#Literal-PS">Literal PS</a> + +</div> + +<h4 class="subsection">5.3.3 Literal headers: ‘<samp><span class="samp">!</span></samp>’ <code>\special</code></h4> + +<p><a name="index-literal-headers-457"></a><a name="index-SDict-_0040r_007bdictionary_007d-458"></a> +<a name="index-g_t_0021-_0040r_007bspecial-_0028literal-PS-header_0029_007d-459"></a><a name="index-dictionary_002c-_0040code_007bSDict_007d-460"></a>You can download literal PostScript header code in your TeX document, +for use with (for example) literal graphics code that you include later. +The text of a <code>\special</code> beginning with an ‘<samp><span class="samp">!</span></samp>’ is copied into +the output file. A dictionary <code>SDict</code> will be current when this +code is executed; Dvips arranges for <code>SDict</code> to be first on the +dictionary stack when any PostScript graphic is included, whether +literally (the ‘<samp><span class="samp">"</span></samp>’ special) or through macros (e.g., +<samp><span class="file">epsf.tex</span></samp>). + + <p>For example: + +<pre class="example"> \special{! /reset { 0 0 moveto} def} +</pre> + <div class="node"> +<a name="PostScript-hooks"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Literal-headers">Literal headers</a>, +Previous: <a rel="previous" accesskey="p" href="#ps-special">ps special</a>, +Up: <a rel="up" accesskey="u" href="#Literal-PS">Literal PS</a> + +</div> + +<h4 class="subsection">5.3.4 PostScript hooks</h4> + +<p><a name="index-PostScript-hooks-461"></a> +Besides including literal PostScript at a particular place in your +document (as described in the previous section), you can also arrange to +execute arbitrary PostScript code at particular times while the +PostScript is printing. + + <p><a name="index-bop_002dhook-462"></a><a name="index-eop_002dhook-463"></a><a name="index-start_002dhook-464"></a><a name="index-end_002dhook-465"></a>If any of the PostScript names <code>bop-hook</code>, <code>eop-hook</code>, +<code>start-hook</code>, or <code>end-hook</code> are defined in <code>userdict</code>, +they will be executed at the beginning of a page, end of a page, start +of the document, and end of a document, respectively. + + <p><a name="index-draft-copies-466"></a><a name="index-dated-output-467"></a>When these macros are executed, the default PostScript coordinate system +and origin is in effect. Such macros can be defined in headers added by +the ‘<samp><span class="samp">-h</span></samp>’ option or the ‘<samp><span class="samp">header=</span></samp>’ special, and might be useful +for writing, for instance, `DRAFT' across the entire page, or, with the +aid of a shell script, dating the document. These macros are executed +outside of the save/restore context of the individual pages, so it is +possible for them to accumulate information, but if a document must be +divided into sections because of memory constraints, such added +information will be lost across section breaks. + + <p><a name="index-physical-page-number_002c-and-_0040code_007bbop_002dhook_007d-468"></a>The single argument to <code>bop-hook</code> is the physical page number; the +first page gets zero, the second one, etc. <code>bop-hook</code> must leave +this number on the stack. None of the other hooks are passed arguments. + + <p>As an example of what can be done, the following special will write +a light grey `DRAFT' across each page in the document: + +<pre class="example"> \special{!userdict begin /bop-hook{gsave 200 30 translate + 65 rotate /Times-Roman findfont 216 scalefont setfont + 0 0 moveto 0.7 setgray (DRAFT) show grestore}def end} +</pre> + <p><a name="index-g_t_0025_0025Page_0040r_007b_002c-and-multi_002dpage-information_007d-469"></a>Using <code>bop-hook</code> or <code>eop-hook</code> to preserve information across +pages breaks compliance with the Adobe document structuring conventions, +so if you use any such tricks, you may also want to use the ‘<samp><span class="samp">-N</span></samp>’ +option to turn off structured comments (such as ‘<samp><span class="samp">%%Page</span></samp>’). +Otherwise, programs that read your file will assume its pages are +independent. + +<div class="node"> +<a name="Literal-examples"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Literal-headers">Literal headers</a>, +Up: <a rel="up" accesskey="u" href="#Literal-PS">Literal PS</a> + +</div> + +<h4 class="subsection">5.3.5 Literal examples</h4> + +<p><a name="index-literal-PostScript_002c-examples-470"></a><a name="index-examples-of-literal-PostScript-471"></a> +To finish off this section, the following examples of literal PostScript +are presented without explanation: + +<pre class="example"> \def\rotninety{\special{ps:currentpoint currentpoint translate 90 + rotate neg exch neg exch translate}}\font\huge=cmbx10 at 14.4truept + \setbox0=\hbox to0pt{\huge A\hss}\vskip16truept\centerline{\copy0 + \special{ps:gsave}\rotninety\copy0\rotninety\copy0\rotninety + \box0\special{ps:grestore}}\vskip16truept +</pre> + <pre class="example"> \vbox to 2truein{\special{ps:gsave 0.3 setgray}\hrule height 2in + width\hsize\vskip-2in\special{ps:grestore}\font\big=cminch\big + \vss\special{ps:gsave 1 setgray}\vbox to 0pt{\vskip2pt + \line{\hss\hskip4pt NEAT\hss}\vss}\special{ps:0 setgray}% + \hbox{\raise2pt\line{\hss NEAT\hss}\special{ps:grestore}}\vss} +</pre> + <p><a name="index-g_t_005crotninety-472"></a><a name="index-gsave_0040r_007b_002f_007dgrestore_0040r_007b_002c-and-literal-PS_007d-473"></a><a name="index-save_0040r_007b_002f_007drestore_0040r_007b_002c-and-literal-PS_007d-474"></a>Some caveats are in order, however. Make sure that each <code>gsave</code> is +matched with a <code>grestore</code> on the same page. Do not use <code>save</code> +and <code>restore</code>; they can interact with the PostScript generated by +Dvips if care is not taken. Try to understand what the above macros are +doing before writing your own. The <code>\rotninety</code> macro especially +has a useful trick that appears again and again. + +<div class="node"> +<a name="Hypertext"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Literal-PS">Literal PS</a>, +Up: <a rel="up" accesskey="u" href="#Interaction-with-PostScript">Interaction with PostScript</a> + +</div> + +<h3 class="section">5.4 HyperTeXt</h3> + +<p><a name="index-hypertext-support-475"></a> +<a name="index-g_t_002dz-476"></a><a name="index-html-_0040r_007bspecials_007d-477"></a><a name="index-pdfmark-478"></a>Dvips has support for producing hypertext PostScript documents. If you +specify the ‘<samp><span class="samp">-z</span></samp>’ option, the <samp><span class="file">html:</span></samp> specials described below +will be converted into ‘<samp><span class="samp">pdfmark</span></samp>’ PostScript operators to specify +links. Without ‘<samp><span class="samp">-z</span></samp>’, <samp><span class="file">html:</span></samp> specials are ignored. + + <p><a name="index-distiller_002c-for-PDF-files-479"></a><a name="index-PDF-files_002c-making-480"></a>The resulting PostScript can then be processed by a distiller program to +make a PDF file. (It can still be handled by ordinary PostScript +interpreters as well.) Various versions of both PC and Unix distillers +are supported; Ghostscript includes limited distiller support +(see <a href="#Ghostscript-installation">Ghostscript installation</a>). + + <p>Macros you can use in your TeX document to insert the specials in the +first place are available from <samp><var>CTAN:</var><span class="file">/support/hypertex</span></samp>. For +CTAN info, see <a href="kpathsea.html#unixtex_002eftp">unixtex.ftp</a>. + + <p><a name="index-g_t_0040code_007bhttp_003a_002f_002fwww_002ewin_002etue_002enl_002f_007edickie_002fidvi_007d-481"></a><a name="index-g_t_0040code_007bhttp_003a_002f_002fxxx_002elanl_002egov_002fhypertex_007d-482"></a><a name="index-Doyle_002c-Mark-483"></a><a name="index-Bhattacharya_002c-Tanmoy-484"></a><a name="index-Java-DVI-reader-485"></a><a name="index-idvi-_0040r_007bJava-DVI-reader_007d-486"></a><a name="index-dvihps_0040r_007b_002c-hyperdvi-to-PostScript_007d-487"></a>This hypertext support (and original form of the documentation) was +written by Mark Doyle and Tanmoy Bhattacharya as the ‘<samp><span class="samp">dvihps</span></samp>’ +program. You can retrieve their software and additional documentation +via the CTAN reference above. You may also be interested in the Java +previewer IDVI, available at <a href="http://www.win.tue.nl/~dickie/idvi">http://www.win.tue.nl/~dickie/idvi</a>, +and/or in <a href="http://www.emrg.com/texpdf.html">http://www.emrg.com/texpdf.html</a>, which describes +the process of making PDF files from TeX files in more detail. + + <p>Mail archives for the original project are at +<a href="http://math.albany.edu:8800/hm/ht/">http://math.albany.edu:8800/hm/ht/</a>. + +<ul class="menu"> +<li><a accesskey="1" href="#Hypertext-caveats">Hypertext caveats</a>: Font quality, missing character psi. +<li><a accesskey="2" href="#Hypertext-specials">Hypertext specials</a>: The details on the specials. +</ul> + +<div class="node"> +<a name="Hypertext-caveats"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Hypertext-specials">Hypertext specials</a>, +Up: <a rel="up" accesskey="u" href="#Hypertext">Hypertext</a> + +</div> + +<h4 class="subsection">5.4.1 Hypertext caveats</h4> + +<p><a name="index-hypertext-caveats-488"></a> +<a name="index-Computer-Modern-in-PostScript-489"></a><a name="index-hypertext-and-bitmap-fonts-490"></a><a name="index-hypertext-caveats-491"></a><a name="index-embedding-Type-1-fonts-492"></a><a name="index-PDF-files_002c-font-quality-493"></a>If you intend to go all the way to PDF, you may want to use the standard +35 PostScript fonts exclusively, since other fonts are embedded as +bitmaps by default. The Adobe PDF readers are extremely slow when +dealing with bitmap fonts and the results look terrible on the screen. +Printouts will probably look fine, but may not take full advantage of a +high-resolution printer. Alternatively, you can have your fonts +embedded as Type 1 scalable outlines. The resulting PostScript files +may be larger, but can be effectively rasterized at any resolution. +They can also be converted to PDF files that can be used effectively at +any screen or printer resolution. + + <p>To get the TeX fonts embedded in the PostScript file as Type 1 fonts, +add ‘<samp><span class="samp">-Ppdf</span></samp>’ to the dvips command line switches. The printout +for a run should look something like this: + +<pre class="smallexample"> dvips report -Ppdf -o report.ps + This is dvips(k) 5.86 Copyright 1999 Radical Eye Software (www.radicaleye.com) + ' TeX output 2001.06.15:0837' -> report.ps + <tex.pro><alt-rule.pro><texc.pro><texps.pro><special.pro>. + <cmbx9.pfb><cmsy6.pfb><cmsy7.pfb><cmr5.pfb><cmex10.pfb><cmr9.pfb> + <cmmi7.pfb><cmsy10.pfb><cmmib10.pfb><cmmi10.pfb><cmti10.pfb> + <cmr7.pfb><cmbx10.pfb><cmr10.pfb><cmti9.pfb><cmr12.pfb><cmbx12.pfb> + [1] [2<mean1.ps>] [3<bounce1-00.ps>] [4] +</pre> + <p>An entry like "<cmr10.pfb>" indicates success: dvips found the Computer +Modern Roman 10 point font in a PostScript Font Binary file, translated +it to an ASCII encoding, and embedded it. You can confirm this by +examining the PostScript output file, looking for the section starting +<code>%%BeginFont: CMR10</code> followed by an entry <code>/FontType 1 def</code>. + + <p>The ‘<samp><span class="samp">-Ppdf</span></samp>’ option requires that the relevant outline +(<samp><span class="file">.pfa</span></samp> or <samp><span class="file">.pfb</span></samp>) files be installed (see <a href="#Font-concepts">Font concepts</a>). For example, the <samp><span class="file">cmr10</span></samp> file might be in +<samp><span class="file">/usr/share/texmf/fonts/type1/bluesky/cm/cmr10.pfb</span></samp>. Your TeX +distribution may make those fonts available in a separate optional +package (e.g., <code>tetex-extra</code> in Debian). Failing that, +commercial versions of the Computer Modern fonts are available from +Blue Sky; public domain versions - in particular, the lm fonts, and +the cm-super fonts, are available from CTAN sites (for CTAN info, +see <a href="kpathsea.html#unixtex_002eftp">unixtex.ftp</a>). + + <p>You can convert a PostScript file to PDF using <code>distill</code>, which +comes with Adobe Acrobat, or <code>ps2pdf</code>, which comes with +Ghostscript. The <code>ps2pdf</code> that comes with <code>Ghostscript</code> +version 6.0 or earlier will not embed Type 1 fonts. Current +recommendations are GNU Ghostscript 6.51 or Aladdin Ghostscript 7.0. +You can check the fonts in a PDF file with Acrobat Reader by selecting +the menu entries ‘<samp><span class="samp">File|Document Info|Fonts</span></samp>’. + + <p><a name="index-psi-character-missing-494"></a><a name="index-trailing-spaces_002c-dropped-495"></a><a name="index-spaces_002c-dropped-trailing-496"></a>Also, the Adobe distillers prior to 2.1 drop trailing space characters +(character code 32) from strings. Unfortunately, the PostScript fonts +use this character code for characters other than space (notably the +Greek letter psi in the <code>Symbol</code> font), and so these characters are +dropped. This bug is fixed in version 2.1. + + <p>If you can't upgrade, One workaround is to change all the trailing +blanks in strings to a character code that isn't in the font. This works +because the default behavior is to substitute a blank for a missing +character, i.e., the distiller is fooled into substituting the right +character. For instance, with the Blue Sky fonts, you can globally +replace ‘<samp><span class="samp"> )</span></samp>’ with ‘<samp><span class="samp">\200)</span></samp>’ (with <code>sed</code>, for example) and +get the desired result. With the public domain fonts, you will probably +have to use a character code in the range 128 to 191 since these fonts +duplicate the first 32 characters starting at 192 to avoid MS-DOS +problems. + + <p>For more information on the use of TeX to produce PDF files, see the +article “Creating quality Adobe PDF files from TeX with DVIPS” by +Kendall Whitehouse of Adobe. Adobe seems not to offer the article any +more, but copies are available elsewhere: +<pre class="display"> <a href="http://www.math.hawaii.edu/~ralph/MathOnWeb/TeXPDF.html">http://www.math.hawaii.edu/~ralph/MathOnWeb/TeXPDF.html</a> + <a href="http://www.utdallas.edu/~cantrell/online/543e.html">http://www.utdallas.edu/~cantrell/online/543e.html</a> +</pre> + <p>You may also want to check “Notes on converting (La)TeX documents +to robust PDF using Rokicki's dvips and Acrobat Distiller” by Timothy +P. Van Zandt:<br> +<a href="http://www.emrg.com/texpdf.htmlhttp://zandtwerk.insead.fr/tex2pdf.html">http://www.emrg.com/texpdf.htmlhttp://zandtwerk.insead.fr/tex2pdf.html</a>. + +<div class="node"> +<a name="Hypertext-specials"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Hypertext-caveats">Hypertext caveats</a>, +Up: <a rel="up" accesskey="u" href="#Hypertext">Hypertext</a> + +</div> + +<h4 class="subsection">5.4.2 Hypertext specials</h4> + +<p><a name="index-hypertext-specials-497"></a><a name="index-specials_002c-hypertext-498"></a> +<a name="index-Smith_002c-Arthur-499"></a>Current support for the World Wide Web in the TeX system does not +involve modifying TeX itself. We need only define some specials; +Arthur Smith (<a href="mailto:apsmith@aps.org">apsmith@aps.org</a>), Tanmoy Bhattacharya, and Paul +Ginsparg originally proposed and implemented the following: +<pre class="example"> html:<a href="<var>xurl</var>"> + html:<a name="<var>name</var>"> + html:</a> + html:<img src="<var>xurl</var>"> + html:<base href="<var>xurl</var>"> +</pre> + <p>Like all TeX <code>\special</code>'s, these produce no visible output, and +are uninterpreted by TeX itself. They are instructions to DVI +processors only. + + <p><a name="index-uniform-resource-locator-500"></a><a name="index-extended-URL-501"></a><a name="index-URL_002c-extended-for-_0040TeX_007b_007d-502"></a><a name="index-Murphy_002c-Tim-503"></a>Here, <var>xurl</var> is a standard WWW uniform resource locator (URL), +possibly extended with a ‘<samp><span class="samp">#</span><var>type</var><span class="samp">.</span><var>string</var></samp>’ construct, +where <var>type</var> is ‘<samp><span class="samp">page</span></samp>’, ‘<samp><span class="samp">section</span></samp>’, ‘<samp><span class="samp">equation</span></samp>’, +‘<samp><span class="samp">reference</span></samp>’ (for bibliographic references), ‘<samp><span class="samp">figure</span></samp>’, +‘<samp><span class="samp">table</span></samp>’, etc. For example, +<pre class="smallexample"> \special{html:<a href="http://www.maths.tcd.ie/~tim/ch1.dvi#equation.1.1">} +</pre> + <p class="noindent">is a link to equation (1.1) in an example document by Tim Murphy. + + <p><a name="index-URL_002c-definition-504"></a>See the URL <a href="http://www.w3.org/hypertext/WWW/Addressing/Addressing.html">http://www.w3.org/hypertext/WWW/Addressing/Addressing.html</a> +for a precise description of base URL's. + + <p>Descriptions of the <code>\special</code>'s: + <dl> +<dt>‘<samp><span class="samp">href</span></samp>’<a name="index-href-505"></a><dd><a name="index-links_002c-hypertext-506"></a>Creates links in your TeX document. For example: + <pre class="example"> \special{html:<a href="http://www.tug.org/">}\TeX\ Users + Group\special{html:</a>} +</pre> + <p class="noindent">The user will be able to click on the text `TeX Users +Group' while running Xdvi and get to the TUG home page. (By the way, +this is for illustration. In practice, you most likely want to use +macros to insert the <code>\special</code> commands; reference above.) + + <br><dt>‘<samp><span class="samp">name</span></samp>’<a name="index-name-507"></a><dd><a name="index-Anderson_002c-Laurie-508"></a>Defines URL targets in your TeX documents, so links can be +resolved. For example: + <pre class="example"> \special{html:<a name="paradise">}Paradise\special{html:</a>} + is exactly where you are right now. +</pre> + <p>This will resolve an ‘<samp><span class="samp">href="#paradise"</span></samp>’. You'll also have to +change the catcode of ‘<samp><span class="samp">#</span></samp>’, etc. It's usually easiest to use +existing macro packages which take care of all the details, such as +<samp><span class="file">hyperref</span></samp> for LaTeX. The <a href="http://arxiv.org/hypertex/">HyperTeX FAQ</a> has more information. + + <br><dt>‘<samp><span class="samp">img</span></samp>’<a name="index-img-509"></a><dd><a name="index-mailcap-_0040r_007band-hypertext_007d-510"></a>Links to an arbitrary external file. Interactively, a viewer is spawned +to read the file according to the file extension and your <samp><span class="file">mailcap</span></samp> +file (see the Xdvi documentation). + + <br><dt>‘<samp><span class="samp">base</span></samp>’<a name="index-base-511"></a><dd>Defines a base URL that is prepended to all the <code>name</code> targets. +Typically unnecessary, as the name of the DVI file being read is used by +default. +</dl> + + <p>The ‘<samp><span class="samp">img</span></samp>’ and ‘<samp><span class="samp">base</span></samp>’ tags are not yet implemented in Dvips or +the NeXTSTEP DVI viewer. + +<div class="node"> +<a name="PostScript-fonts"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Color">Color</a>, +Previous: <a rel="previous" accesskey="p" href="#Interaction-with-PostScript">Interaction with PostScript</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">6 PostScript fonts</h2> + +<p><a name="index-PostScript-fonts-512"></a> +Dvips supports the use of PostScript fonts in TeX documents. To use +a PostScript font conveniently, you need to prepare a corresponding +virtual font; the program Afm2tfm, supplied with Dvips, helps +with that. + + <p>All the necessary support for the standard 35 PostScript fonts +(‘<samp><span class="samp">AvantGarde-Book</span></samp>’ through ‘<samp><span class="samp">ZapfDingbats</span></samp>’), plus other freely +or commonly available PostScript fonts is available along with Dvips. +To use these fonts, you need do nothing beyond what is mentioned in the +installation procedure (see <a href="#Installation">Installation</a>). This chapter is +therefore relevant only if you are installing new PostScript fonts not +supplied with Dvips. (Or if you're curious.) + +<ul class="menu"> +<li><a accesskey="1" href="#Font-concepts">Font concepts</a>: Metrics, glyphs, virtual fonts, and encodings. +<li><a accesskey="2" href="#Making-a-font-available">Making a font available</a>: Installing and using a PostScript font. +<li><a accesskey="3" href="#Invoking-afm2tfm">Invoking afm2tfm</a>: Creating TFM and AFM files for a virtual font. +<li><a accesskey="4" href="#psfonts_002emap">psfonts.map</a>: Defining available PostScript fonts. +</ul> + +<div class="node"> +<a name="Font-concepts"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Making-a-font-available">Making a font available</a>, +Up: <a rel="up" accesskey="u" href="#PostScript-fonts">PostScript fonts</a> + +</div> + +<h3 class="section">6.1 Font concepts</h3> + +<p><a name="index-font-concepts-513"></a> +The information needed to typeset using a particular font is contained +in two files: a <dfn>metric file</dfn> that contains shape-independent +information and a <dfn>glyph file</dfn> that contains the actual shapes of +the font's characters. A <dfn>virtual font</dfn> is an optional additional +file that can specify special ways to construct the characters. TeX +itself (or LaTeX) look only at the metric file, but DVI drivers such +as Dvips look at all three of these files. + + <p>An <dfn>encoding file</dfn> defines the correspondence between the code +numbers of the characters in a font and their descriptive names. Two +encoding files used together can describe a reencoding that rearranges, +i.e., renumbers, the characters of a font. + +<ul class="menu"> +<li><a accesskey="1" href="#Metric-files">Metric files</a>: Shape-independent font information. +<li><a accesskey="2" href="#Glyph-files">Glyph files</a>: Character shapes. +<li><a accesskey="3" href="#Virtual-fonts">Virtual fonts</a>: Constructing one font from others. +<li><a accesskey="4" href="#Encodings">Encodings</a>: Character codes and character names. +<li><a accesskey="5" href="#PostScript-typesetting">PostScript typesetting</a>: How PostScript typesets a character. +</ul> + +<div class="node"> +<a name="Metric-files"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Glyph-files">Glyph files</a>, +Up: <a rel="up" accesskey="u" href="#Font-concepts">Font concepts</a> + +</div> + +<h4 class="subsection">6.1.1 Metric files</h4> + +<p><a name="index-metric-files-514"></a> +A <dfn>metric file</dfn> describes properties of the font that are +independent of what the characters actually look like. Aside from +general information about the font itself, a metric file has two kinds +of information: information about individual characters, organized by +character code, and information about sequences of characters. + + <p>The per-character information specifies the width, height, depth, and +italic correction of each character in the font. Any might be zero. + + <p><a name="index-kerning_002c-defined-515"></a><a name="index-ligature_002c-defined-516"></a>In addition to information on individual characters, the metric file +specifies <dfn>kerning</dfn>, i.e., adding or removing space between +particular character pairs. It further specifies <dfn>ligature</dfn> +information: when a sequence of input characters should be typeset as a +single (presumably different) “ligature” character. For example, it's +traditional for the input ‘<samp><span class="samp">fi</span></samp>’ to be typeset as `fi', not as +`<span class="roman">f</span><span class="roman">i</span>' (with the dot of the `i' colliding with `f'). (In English, +the only common ligatures are fi, fl, ff, ffi, and ffl.) + + <p>Different typesetting systems use different metric file formats: + + <ul> +<li><a name="index-afm-files-517"></a><a name="index-g_t_002eafm-_0040r_007bAdobe-metric-files_007d-518"></a>Each Postscript font has an <dfn>Adobe font metrics</dfn> (‘<samp><span class="samp">.afm</span></samp>’) +file. These files are plain text, so you can inspect them easily. You +can get AFM files for Adobe's fonts from +<a href="ftp://ftp.adobe.com/pub/adobe/Fonts/AFMs">ftp://ftp.adobe.com/pub/adobe/Fonts/AFMs</a>. + + <li><a name="index-tfm-files-519"></a><a name="index-g_t_002etfm-_0040r_007b_0040TeX_007b_007d-font-metric-files_007d-520"></a>TeX uses <dfn>TeX font metrics</dfn> (‘<samp><span class="samp">.tfm</span></samp>’) files. When you say +‘<samp><span class="samp">\font = </span><var>font</var></samp>’ in your TeX document, TeX reads a file +named ‘<samp><var>font</var><span class="samp">.tfm</span></samp>’. (Well, except for the <samp><span class="file">texfonts.map</span></samp> +feature; see <a href="kpathsea.html#Fontmap">Fontmap</a>). TeX can then +calculate the space occupied by characters from the font when +typesetting. In addition, the DVI drivers you use to print or view the +DVI file produced by TeX may need to look at the TFM file. + + <p><a name="index-property-list-files-521"></a><a name="index-tftopl-522"></a><a name="index-pltotf-523"></a><a name="index-g_t_002epl-_0040r_007bproperty-list-files_007d-524"></a>TFM files are binary (and hence are typically much smaller than AFM +files). You can use the <code>tftopl</code> program (see <a href="web2c.html#tftopl-invocation">tftopl invocation</a>) that comes with TeX to transform a TFM +file into a human-readable “property list” (‘<samp><span class="samp">.pl</span></samp>’) file. You can +also edit a PL file and transform it back to a TeX-readable TFM with +the companion program <code>pltotf</code> (see <a href="web2c.html#pltotf-invocation">pltotf invocation</a>). Editing metrics by hand is not something you're likely to want +to do often, but the capability is there. + + <li><a name="index-pfm-files-525"></a><a name="index-g_t_002epfm-_0040r_007bprinter-font-metric-files_007d-526"></a>ATM and other typesetting systems use <dfn>printer font metric</dfn> +(‘<samp><span class="samp">.pfm</span></samp>’) files. These are binary files. They are irrelevant in the +TeX world, and not freely available, so we will not discuss them +further. + + </ul> + + <p>The Afm2tfm program distributed with Dvips converts an AFM file +to a TFM file and performs other useful transformations as well. +See <a href="#Invoking-afm2tfm">Invoking afm2tfm</a>. + +<div class="node"> +<a name="Glyph-files"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Virtual-fonts">Virtual fonts</a>, +Previous: <a rel="previous" accesskey="p" href="#Metric-files">Metric files</a>, +Up: <a rel="up" accesskey="u" href="#Font-concepts">Font concepts</a> + +</div> + +<h4 class="subsection">6.1.2 Glyph files</h4> + +<p><a name="index-glyph-files-527"></a> +Although a metric file (see the previous section) contains information +about the spatial and other properties of the character at position 75, +say, it contains nothing about what the character at position 75 +actually looks like. The glyphs—the actual shapes of the letterforms +in a font—are defined by other files, which we call glyph files. +TeX itself only reads the TFM file for a font; it does not need to +know character shapes. + + <p>A <dfn>glyph file</dfn> is a file that defines the shapes of the characters +in a font. The shapes can be defined either by outlines or by bitmaps. + + <p><a name="index-outline-fonts-528"></a><a name="index-arcs-529"></a><a name="index-splines-530"></a>PostScript fonts are defined as <dfn>outline fonts</dfn>: Each character in +the font is defined by giving the mathematical curves (lines, arcs, and +splines) that define its contours. Different sizes of a character are +generated by linearly scaling a single shape. For example, a 10-point +`A' is simply half the size of a 20-point `A'. Nowadays, outline fonts +usually also contain <dfn>hints</dfn>—additional information to improve the +appearance of the font at small sizes or low resolutions. + + <p><a name="index-Type-1-fonts-531"></a><a name="index-pfa-files-532"></a><a name="index-pfb-files-533"></a><a name="index-g_t_002epfa-_0040r_007bprinter-font-ascii-files_007d-534"></a><a name="index-g_t_002epfb-_0040r_007bprinter-font-binary-files_007d-535"></a>Although various kinds of PostScript outline fonts exist, by far the +most common, and the only one we will consider, is called <dfn>Type 1</dfn>. +The glyph files for Postscript Type 1 fonts typically have names ending +in ‘<samp><span class="samp">.pfa</span></samp>’ (“printer font ASCII”) or ‘<samp><span class="samp">.pfb</span></samp>’ (“printer font +binary”). + + <p><a name="index-bitmap-fonts-536"></a><a name="index-g_t_002emf-_0040r_007bMetafont-source-files_007d-537"></a><a name="index-Metafont-source-files-538"></a>In contrast, glyph files for Computer Modern and the other standard +TeX fonts are <dfn>bitmap fonts</dfn>, generated from Metafont +(‘<samp><span class="samp">.mf</span></samp>’) descriptions. The Metafont program distributed with TeX +generates bitmaps from these descriptions. + + <p><a name="index-pk-files-539"></a><a name="index-g_t_002e_0040var_007bnnn_007dpk-_0040r_007bpacked-font-bitmaps_007d-540"></a>The glyph files for TeX bitmap fonts are usually stored in +<dfn>packed font</dfn> (PK) files. The names of these files end in +‘<samp><span class="samp">.</span><var>nnn</var><span class="samp">pk</span></samp>’, where <var>nnn</var> is the resolution of the font in +dots per inch. For example, <samp><span class="file">cmr10.600pk</span></samp> contains the bitmaps for +the ‘<samp><span class="samp">cmr10</span></samp>’ font at a resolution of 600<span class="dmn">dpi</span>. (On DOS +filesystems, it's more likely <samp><span class="file">dpi600\cmr10.pk</span></samp>.) + + <p><a name="index-gf-files-541"></a><a name="index-gftopk-542"></a>Metafont actually outputs <dfn>generic font</dfn> (GF) files, e.g., +<samp><span class="file">cmr10.600gf</span></samp>, but the GF files are usually converted immediately +to PK format (using the <code>gftopk</code> utility that comes with TeX) +since PK files are smaller and contain the same information. (The GF +format is a historical artifact.) + +<div class="node"> +<a name="Virtual-fonts"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Encodings">Encodings</a>, +Previous: <a rel="previous" accesskey="p" href="#Glyph-files">Glyph files</a>, +Up: <a rel="up" accesskey="u" href="#Font-concepts">Font concepts</a> + +</div> + +<h4 class="subsection">6.1.3 Virtual fonts</h4> + +<p><a name="index-virtual-fonts-543"></a> +A <dfn>virtual font</dfn> is constructed by extracting characters from one or +more existing fonts and rearranging them, or synthesizing new characters +in various ways. The explanation in this manual is intended to suffice +for understanding enough about virtual fonts to use them with Dvips. It +isn't a reference manual on virtual fonts. For more information: The +primary document on virtual fonts is Donald E. Knuth, <cite>TUGboat</cite> +11(1), Apr. 1990, pp. 13–23, “Virtual Fonts: More Fun for Grand +Wizards” (<samp><var>CTAN:</var><span class="file">/info/virtual-fonts.knuth</span></samp>; for CTAN info, +see <a href="kpathsea.html#unixtex_002eftp">unixtex.ftp</a>). (Don't be intimidated by +the subtitle.) + + <p><a name="index-vf-files-544"></a><a name="index-vpl-files-545"></a>A virtual font (‘<samp><span class="samp">.vf</span></samp>’) file specifies, for each character in the +virtual font, a recipe for typesetting that character. A VF file, like +a TFM file, is in a compressed binary format. The <code>vftovp</code> and +<code>vptovf</code> programs convert a VF file to a human-readable VPL +(virtual property list) format and back again. See <a href="web2c.html#vftovp-invocation">vftovp invocation</a>, and <a href="web2c.html#vptovf-invocation">vptovf invocation</a>. + + <p><a name="index-base-fonts-546"></a>In the case of a PostScript font <var>f</var> being used in a straightforward +way, the recipe says: character <var>i</var> in the VF font is character +<var>j</var> in font <var>f</var>. The font <var>f</var> is called a <dfn>base font</dfn>. +For example, the VF file could remap the characters of the PostScript +font to the positions where TeX expects to find them. +See <a href="#Encodings">Encodings</a>. + + <p>Since TeX reads only TFM files, not VF's, each VF must have a +corresponding TFM for use with TeX. This corresponding TFM is +created when you run <code>vptovf</code>. + + <p><a name="index-expansion_002c-of-virtual-fonts-547"></a><a name="index-virtual-font-expansion-548"></a>You can <dfn>expand</dfn> virtual fonts into their base fonts with DVIcopy +(see <a href="web2c.html#dvicopy-invocation">dvicopy invocation</a>). This is useful if you are +using a DVI translator that doesn't understand vf's itself. + +<div class="node"> +<a name="Encodings"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#PostScript-typesetting">PostScript typesetting</a>, +Previous: <a rel="previous" accesskey="p" href="#Virtual-fonts">Virtual fonts</a>, +Up: <a rel="up" accesskey="u" href="#Font-concepts">Font concepts</a> + +</div> + +<h4 class="subsection">6.1.4 Encodings</h4> + +<p><a name="index-encodings-549"></a> +Every font, whatever its type, has an <dfn>encoding</dfn>, that specifies the +correspondence between “logical” characters and character codes. For +example, the ASCII encoding specifies that the character numbered 65 +(decimal) is an uppercase `A'. The encoding does not specify what the +character at that position looks like; there are lots of ways to draw an +`A', and a glyph file (see <a href="#Glyph-files">Glyph files</a>) tells how. Nor does it +specify how much space that character occupies; that information is in a +metric file (see <a href="#Metric-files">Metric files</a>). + + <p><a name="index-Computer-Modern_002c-encoding-of-550"></a>TeX implicitly assumes a particular encoding for the fonts you use +with it. For example, the plain TeX macro <code>\'</code>, which typesets +an acute accent over the following letter, assumes the acute accent is +at position 19 (decimal). This happens to be true of standard TeX +fonts such as Computer Modern, as you might expect, but it is not true +of normal PostScript fonts. + + <p>It's possible but painful to change all the macros that assume +particular character positions. A better solution is to create a new +font with the information for the acute accent at position 19, where +TeX expects it to be. See <a href="#Making-a-font-available">Making a font available</a>. + + <p><a name="index-PostScript-encoding-551"></a><a name="index-encoding-files-552"></a><a name="index-encoding-vectors_002c-defined-553"></a> +PostScript represents encodings as a sequence of 256 character names +called an <dfn>encoding vector</dfn>. An <dfn>encoding file</dfn> (‘<samp><span class="samp">.enc</span></samp>’) +gives such a vector, together with ligature and kerning information +(with which we are not concerned at the moment). These encoding files +are used by the Afm2tfm program. Encoding files are also downloaded to +the PostScript interpreter in your printer if you use one of them in +place of the default encoding vector for a particular PostScript font. + + <p><a name="index-dvips_002eenc-554"></a><a name="index-g_t8r_002eenc-555"></a><a name="index-texmext_002eenc-556"></a><a name="index-texmital_002eenc-557"></a><a name="index-texmsym_002eenc-558"></a><a name="index-reencode_002f_002a_002eenc-559"></a>Examples of encodings: the <samp><span class="file">dvips.enc</span></samp> encoding file that comes +with the Fontname distribution (<a href="http://tug.org/fontname">http://tug.org/fontname</a>) is a +good (but not perfect) approximation to the TeX encoding for +TeX's Computer Modern text fonts. This is the encoding of the +fonts that originated with Dvips, such as <samp><span class="file">ptmr.tfm</span></samp>. The +distribution includes many other encoding files; for example, +<samp><span class="file">8r.enc</span></samp>, which is the base font for the current PostScript font +distribution, and three corresponding to the TeX mathematics fonts: +<samp><span class="file">texmext.enc</span></samp> for math extensions, <samp><span class="file">texmital.enc</span></samp> for math +italics, and <samp><span class="file">texmsym.enc</span></samp> for math symbols. + +<div class="node"> +<a name="PostScript-typesetting"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Encodings">Encodings</a>, +Up: <a rel="up" accesskey="u" href="#Font-concepts">Font concepts</a> + +</div> + +<h4 class="subsection">6.1.5 How PostScript typesets a character</h4> + +<p><a name="index-typesetting-in-PostScript-560"></a><a name="index-character-lookup-procedure-in-PostScript-561"></a> +The output of Dvips is a program in the PostScript language that +instructs your (presumably PostScript-capable) printer how to typeset +your document by transforming it into toner on paper. Your printer, in +turn, contains a PostScript interpreter that carries out the +instructions in this typesetting program. + + <p>The program must include the definition of any PostScript fonts that you +use in your document. Fonts built into your printer (probably the +standard 35: ‘<samp><span class="samp">Times-Roman</span></samp>’, ‘<samp><span class="samp">ZapfDingbats</span></samp>’, <small class="dots">...</small>) are +defined within the interpreter itself. Other fonts must be downloaded +as pfa or pfb files (see <a href="#Glyph-files">Glyph files</a>) from your host (the computer +on which you're running Dvips). + + <p>You may be wondering exactly how a PostScript interpreter figures out +what character to typeset, with this mass of metrics, glyphs, encodings, +and other information. (If you're not wondering, skip this section +<small class="dots">...</small>) + + <p><a name="index-show-_0040r_007bPostScript-operator_007d-562"></a>The basic PostScript operator for imaging characters is +<code>show</code>. Suppose you've asked TeX to typeset an `S'. This will +eventually wind up in the Dvips output as the equivalent of this +PostScript operation: + +<pre class="example"> (S) show +</pre> + <p class="noindent">Here is how PostScript typesets the `S': + + <ol type=1 start=1> +<li><a name="index-ASCII-character-codes_002c-used-by-PostScript-563"></a>PostScript interpreters use ASCII; therefore `S' is represented as the +integer 83. (Any of the 256 possible characters representable in a +standard 8-bit byte can be typeset.) + + <li><a name="index-current-font_002c-in-PostScript-564"></a><a name="index-dictionary_002c-PostScript-language-565"></a>A PostScript <dfn>dictionary</dfn> is a mapping of names to arbitrary values. +A font, to the interpreter, is a dictionary which contains entries for +certain names. (If these entries are missing, the interpreter refuses +to do anything with that font.) + + <p>PostScript has a notion of “the current font”—whatever font is +currently being typeset in. + + <li><a name="index-encoding-vectors_002c-in-Type-1-fonts-566"></a><a name="index-Encoding-_0040r_007bType-1-dictionary_007d-567"></a>One of the mandatory entries in a font dictionary is ‘<samp><span class="samp">Encoding</span></samp>’, +which defines the encoding vector (see <a href="#Encodings">Encodings</a>) for that font. +This vector of 256 names maps each possible input character to a name. + + <li>The interpreter retrieves the entry at position 83 of the encoding +vector. This value is a PostScript name: <code>/S</code>. + + <li><a name="index-CharStrings-_0040r_007bType-1-dictionary_007d-568"></a><a name="index-dictionary_002c-_0040code_007bCharStrings_007d-569"></a>For Type 1 fonts (we're not going to discuss anything else), the +interpreter now looks up <code>/S</code> as a key in a dictionary named +<code>CharStrings</code>, another mandatory entry in a font dictionary. + + <li><a name="index-hints-570"></a><a name="index-character-definitions-in-PostScript-571"></a>The value of <code>S</code> in <code>CharStrings</code> is the equivalent of a +series of standard PostScript commands like ‘<samp><span class="samp">curveto</span></samp>’, +‘<samp><span class="samp">lineto</span></samp>’, ‘<samp><span class="samp">fill</span></samp>’, and so on. These commands are executed to +draw the character. There can also be <dfn>hint information</dfn> that helps +adapt the character to low-resolution rasters. (See <a href="#Glyph-files">Glyph files</a>.) +The commands are actually represented in a more compact way than +standard PostScript source; see the Type 1 book for details. + + </ol> + + <p>This method for typesetting characters is used in both Level 1 and Level +2 PostScript. See the PostScript reference manuals for more +information. + +<div class="node"> +<a name="Making-a-font-available"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Invoking-afm2tfm">Invoking afm2tfm</a>, +Previous: <a rel="previous" accesskey="p" href="#Font-concepts">Font concepts</a>, +Up: <a rel="up" accesskey="u" href="#PostScript-fonts">PostScript fonts</a> + +</div> + +<h3 class="section">6.2 Making a PostScript font available</h3> + +<p><a name="index-installing-fonts-572"></a><a name="index-fonts_002c-installing-573"></a> +To make a PostScript font available in a TeX document, you need to +install the font on your system and then define it within the document. +Once you have installed the font, of course, it is available for any +document thereafter and you don't need to reinstall it. You must have +an AFM file for any font you install. Unless the font is built into your +printer, you must also have a PFA or PFB file. + + <p>In the following examples, we use the font ‘<samp><span class="samp">Times-Roman</span></samp>’ to +illustrate the process. But you should use the prebuilt fonts for Times +and the other standard fonts, rather than rebuilding them. The prebuilt +fonts are made using a more complicated process than that described +here, to make them work as well as possible with TeX. So following +the steps in this manual will not generate files identical to the +distributed ones. See <a href="#PostScript-font-installation">PostScript font installation</a>, for pointers to +the prebuilt fonts. + + <p>Installation of a PostScript font proceeds in three steps. See <a href="#Font-concepts">Font concepts</a>, for descriptions of the various files involved. + + <ol type=1 start=1> +<li>Run <code>afm2tfm</code> to create a TFM file for the original font, +and the VPL form of the virtual font: + <pre class="example"> afm2tfm Times-Roman -v ptmr rptmr +</pre> + <li>Run <code>vptovf</code> to generate a VF and TFM file for the virtual font +from the VPL file: + <pre class="example"> vptovf ptmr.vpl ptmr.vf ptmr.tfm +</pre> + <li>Insert an entry for the font in <samp><span class="file">psfonts.map</span></samp> (see <a href="#psfonts_002emap">psfonts.map</a>): + <pre class="example"> rptmr Times-Roman <ptmr8a.pfa +</pre> + <li>Install the files in the standard locations, as in: + <pre class="example"> cp ptmr.vf <var>fontdir</var>/vf/... + cp *ptmr.tfm <var>fontdir</var>/tfm/... + cp ptmr.afm <var>fontdir</var>/afm/... + cp ptmr.pf? <var>fontdir</var>/type1/... +</pre> + </ol> + + <p>The simplest invocation of Afm2tfm to make virtual fonts goes something +like this: + + <p><a name="index-afm2tfm-574"></a> +<pre class="example"> afm2tfm Times-Roman -v ptmr rptmr +</pre> + <p class="noindent">This reads the file <samp><span class="file">Times-Roman.afm</span></samp>, and produces two files as +output, namely the virtual property list'file <samp><span class="file">ptmr.vpl</span></samp>, and the +“raw” font metric file <samp><span class="file">rptmr.tfm</span></samp>. To use the font in TeX, +you first run + + <p><a name="index-vptovf-575"></a> +<pre class="example"> vptovf ptmr.vpl ptmr.vf ptmr.tfm +</pre> + <p class="noindent">You should then install the virtual font file <samp><span class="file">ptmr.vf</span></samp> where Dvips +will see it and install <samp><span class="file">ptmr.tfm</span></samp> and <samp><span class="file">rptmr.tfm</span></samp> where +TeX and Dvips will see them. + + <p>Using these raw fonts is not recommended; there are no raw fonts in the +prebuilt PostScript fonts distributed along with Dvips. But +nevertheless, that's how Afm2tfm presently operates, so that's what we +document here. The ‘<samp><span class="samp">r</span></samp>’ prefix convention is likewise historical +accident. + + <p>You can also make more complex virtual fonts by editing <samp><span class="file">ptmr.vpl</span></samp> +before running ‘<samp><span class="samp">vptovf</span></samp>’; such editing might add the uppercase Greek +characters in the standard TeX positions, for instance. (This has +already been done for the prebuilt fonts.) + + <p>Once the files have been installed, you're all set. You can now do +things like this in TeX: +<pre class="example"> \font\myfont = ptmr at 12pt + \myfont Hello, I am being typeset in 12-point Times-Roman. +</pre> + <p>Thus, we have two fonts, one actual (‘<samp><span class="samp">rptmr</span></samp>’, which is analogous to +the font in the printer) and one virtual (‘<samp><span class="samp">ptmr</span></samp>’, which has been +remapped to the standard TeX encoding (almost)), and has typesetting +know-how added. You could also say + +<pre class="example"> \font\raw = rptmr at 10pt +</pre> + <p class="noindent">and typeset directly with that, but then you would have no ligatures or +kerning, and you would have to use Adobe character positions for special +letters like +The virtual font ‘<samp><span class="samp">ptmr</span></samp>’ not only has ligatures and kerning, and +most of the standard accent conventions of TeX, it also has a few +additional features not present in the Computer Modern fonts. For +example, it includes all the Adobe characters (such as the Polish ogonek +and the French guillemots). The only things you lose from ordinary +TeX text fonts are the dotless `j' (which can be hacked into the VPL +file with literal PostScript specials if you have the patience) and +uppercase Greek letters (which just don't exist unless you buy them +separately). See <a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a>. + + <p>As a final step you need to record information about both the virtual +font and the original font (if you ever might want to use it) in the +<samp><span class="file">psfonts.map</span></samp> file (see <a href="#psfonts_002emap">psfonts.map</a>). For our example, you'd +insert the following into <samp><span class="file">psfonts.map</span></samp>: +<pre class="example"> rptmr Times-Roman <ptmr8a.pfa +</pre> + <p class="noindent">Of course, <code>Times-Roman</code> is already built in to most every +printer, so there's no need to download any Type 1 file for it. But if +you are actually following these instructions for new fonts, most likely +they are not built in to the printer. + + <p><a name="index-memory_002c-used-by-PostScript-fonts-576"></a><a name="index-efficiency_002c-and-fonts-577"></a>These PostScript fonts can be scaled to any size. Go wild! Using +PostScript fonts, however, does use up a great deal of the printer's +memory and it does take time. You may find downloading bitmap fonts +(possibly compressed, with the ‘<samp><span class="samp">Z</span></samp>’ option) to be faster than using +the built-in PostScript fonts. + +<div class="node"> +<a name="Invoking-afm2tfm"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#psfonts_002emap">psfonts.map</a>, +Previous: <a rel="previous" accesskey="p" href="#Making-a-font-available">Making a font available</a>, +Up: <a rel="up" accesskey="u" href="#PostScript-fonts">PostScript fonts</a> + +</div> + +<h3 class="section">6.3 Invoking Afm2tfm</h3> + +<p><a name="index-afm2tfm-578"></a> +The Afm2tfm program converts an AFM file for a PostScript font to a TFM +file and a VPL file for a corresponding virtual font (or, in its +simplest form, to a TFM file for the PostScript font itself). The +results of the conversion are affected by the command-line options and +especially by the reencodings you can specify with those options. You +can also obtain special effects such as an oblique font. + + <p><a name="index-fontinst-579"></a><a name="index-virtual-fonts_002c-creating-580"></a><a name="index-Jeffrey_002c-Alan-581"></a>An alternative to Afm2tfm for creating virtual fonts is Alan Jeffrey's +<code>fontinst</code> program, available from +<samp><var>CTAN:</var><span class="file">fonts/utilities/fontinst</span></samp> (for CTAN info, +see <a href="kpathsea.html#unixtex_002eftp">unixtex.ftp</a>). + +<ul class="menu"> +<li><a accesskey="1" href="#Changing-font-encodings">Changing font encodings</a>: Reencoding with -t, -p, -T. +<li><a accesskey="2" href="#Special-font-effects">Special font effects</a>: Oblique fonts, small caps, and such. +<li><a accesskey="3" href="#Afm2tfm-options">Afm2tfm options</a>: afm2tfm command-line options. +</ul> + +<div class="node"> +<a name="Changing-font-encodings"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Special-font-effects">Special font effects</a>, +Up: <a rel="up" accesskey="u" href="#Invoking-afm2tfm">Invoking afm2tfm</a> + +</div> + +<h4 class="subsection">6.3.1 Changing font encodings</h4> + +<p><a name="index-encoding-changes-582"></a><a name="index-fonts_002c-changing-encoding-of-583"></a> +Afm2tfm allows you to specify a different encoding for a PostScript font +(for a general introduction to encodings, see <a href="#Encodings">Encodings</a>). The +‘<samp><span class="samp">-t</span></samp>’ option changes the TeX encoding, ‘<samp><span class="samp">-p</span></samp>’ changes the +PostScript encoding, and ‘<samp><span class="samp">-T</span></samp>’ changes both simultaneously, as +detailed in the sections below. + +<ul class="menu"> +<li><a accesskey="1" href="#Changing-TeX-encodings">Changing TeX encodings</a>: Where TeX finds a character. +<li><a accesskey="2" href="#Changing-PostScript-encodings">Changing PostScript encodings</a>: Where PostScript finds a character. +<li><a accesskey="3" href="#Changing-both-encodings">Changing both encodings</a>: One and the same, simultaneously. +<li><a accesskey="4" href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a>: Problems with the default encoding. +<li><a accesskey="5" href="#Encoding-file-format">Encoding file format</a>: Syntax of an encoding file. +</ul> + +<div class="node"> +<a name="Changing-TeX-encodings"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Changing-PostScript-encodings">Changing PostScript encodings</a>, +Up: <a rel="up" accesskey="u" href="#Changing-font-encodings">Changing font encodings</a> + +</div> + +<h5 class="subsubsection">6.3.1.1 ‘<samp><span class="samp">-t</span></samp>’: Changing TeX encodings</h5> + +<p><a name="index-changing-_0040TeX_007b_007d-encodings-584"></a><a name="index-g_t_0040TeX_007b_007d-encoding_002c-changing-585"></a> +<a name="index-g_t_002dt-_0040var_007btex_002denc_007d-586"></a>To build a virtual font with Afm2tfm, you specify the ‘<samp><span class="samp">-v</span></samp>’ or +‘<samp><span class="samp">-V</span></samp>’ option. You can then specify an encoding for that virtual font +with ‘<samp><span class="samp">-t </span><var>tex-enc</var></samp>’. (‘<samp><span class="samp">-t</span></samp>’ is ignored if neither +‘<samp><span class="samp">-v</span></samp>’ nor ‘<samp><span class="samp">-V</span></samp>’ is present.) Any ligature and kerning +information you specify in <var>tex-enc</var> will be used in the VPL, in +addition to the ligature and kerning information from the AFM file. + + <p>If the AFM file has no entry for a character specified in <var>tex-enc</var>, +that character will be omitted from the output VPL. + + <p><a name="index-texmsym_002eenc-587"></a>The ‘<samp><span class="samp">-t</span></samp>’ option is likely to be needed when you have a PostScript +font corresponding to a TeX font other than a normal text font such +as Computer Modern. For instance, if you have a PostScript font that +contains math symbols, you'd probably want to use the encoding in the +<samp><span class="file">texmsym.enc</span></samp> file supplied with Dvips. (For a start; to actually +get usable math fonts, you have to define much more than just an +encoding.) + +<div class="node"> +<a name="Changing-PostScript-encodings"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Changing-both-encodings">Changing both encodings</a>, +Previous: <a rel="previous" accesskey="p" href="#Changing-TeX-encodings">Changing TeX encodings</a>, +Up: <a rel="up" accesskey="u" href="#Changing-font-encodings">Changing font encodings</a> + +</div> + +<h5 class="subsubsection">6.3.1.2 ‘<samp><span class="samp">-p</span></samp>’: Changing PostScript encodings</h5> + +<p><a name="index-changing-PostScript-encodings-588"></a><a name="index-PostScript-encoding_002c-changing-589"></a><a name="index-g_t_002dp-_0040var_007bps_002denc_007d-590"></a> +By default, Afm2tfm uses the encoding it finds in the AFM file. You can +specify a different PostScript encoding with ‘<samp><span class="samp">-p </span><var>ps-enc</var></samp>’. +This makes the raw TFM file (the one output by Afm2tfm) have the +encoding specified in the encoding file <var>ps-enc</var>. Any ligature or +kern information specified in <var>ps-enc</var> is ignored by Afm2tfm, since +ligkern info is always omitted from the raw TFM. + + <p>If you use this option, you must also arrange to download <var>ps-enc</var> +as part of any document that uses this font. You do this by adding a +line like the following one to <samp><span class="file">psfonts.map</span></samp> (see <a href="#psfonts_002emap">psfonts.map</a>): +<pre class="example"> zpopr Optima "MyEncoding ReEncodeFont" <myenc.enc +</pre> + <p><a name="index-trademark-_0040r_007bcharacter_002c-accessing_007d-591"></a><a name="index-registered-_0040r_007bcharacter_002c-accessing_007d-592"></a><a name="index-extra-characters_002c-accessing-593"></a>Using ‘<samp><span class="samp">-p</span></samp>’ is the only way to access characters in a PostScript +font that are neither encoded in the AFM file nor constructed from other +characters. For instance, Adobe's ‘<samp><span class="samp">Times-Roman</span></samp>’ font contains the +extra characters ‘<samp><span class="samp">trademark</span></samp>’ and ‘<samp><span class="samp">registered</span></samp>’ (among others); +these can only be accessed through such a PostScript reencoding. + + <p><a name="index-g_t8r-_0040r_007bencoding_002c-and-extra-characters_007d-594"></a>The `8r' base encoding used for the current PostScript font +distribution does do this reencoding, for precisely this reason. + +<div class="node"> +<a name="Changing-both-encodings"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a>, +Previous: <a rel="previous" accesskey="p" href="#Changing-PostScript-encodings">Changing PostScript encodings</a>, +Up: <a rel="up" accesskey="u" href="#Changing-font-encodings">Changing font encodings</a> + +</div> + +<h5 class="subsubsection">6.3.1.3 ‘<samp><span class="samp">-T</span></samp>’: Changing both TeX and PostScript encodings</h5> + +<p><a name="index-g_t_002dT-_0040var_007benc_002dfile_007d-595"></a> +The option ‘<samp><span class="samp">-T </span><var>enc-file</var></samp>’ is equivalent to ‘<samp><span class="samp">-p +</span><var>enc-file</var><span class="samp"> -t </span><var>enc-file</var></samp>’. If you make regular use of a private +non-standard reencoding ‘<samp><span class="samp">-T</span></samp>’ is usually a better idea than the +individual options, to avoid unexpected inconsistencies in mapping +otherwise. An example of when you might use this option is a dingbats +font: when you have a TeX encoding that is designed to be used with a +particular PostScript font. + +<div class="node"> +<a name="Reencoding-with-Afm2tfm"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Encoding-file-format">Encoding file format</a>, +Previous: <a rel="previous" accesskey="p" href="#Changing-both-encodings">Changing both encodings</a>, +Up: <a rel="up" accesskey="u" href="#Changing-font-encodings">Changing font encodings</a> + +</div> + +<h5 class="subsubsection">6.3.1.4 Reencoding with Afm2tfm</h5> + +<p><a name="index-reencoding-596"></a><a name="index-remapping-597"></a> +The Afm2tfm program creates the TFM and VF files for the virtual font +corresponding to a PostScript font by <dfn>reencoding</dfn> the PostScript +font. Afm2tfm generates these files from two encodings: one for TeX +and one for PostScript. The TeX encoding is used to map character +numbers to character names while the PostScript encoding is used to map +each character name to a possibly different number. In combination, you +can get access to any character of a PostScript font at any position for +TeX typesetting. + + <p>In the default case, when you specify none of the <code>-t</code>, <code>-p</code>, +or <code>-T</code> options, Afm2tfm uses a default TeX encoding (which +mostly corresponds to the Computer Modern text fonts) and the PostScript +encoding found in the AFM file being read. The reencoding is also +sometimes called a <dfn>remapping</dfn>. + + <p>For example, the default encodings reencode the acute accent in two +steps: first the default TeX encoding maps the number 19 to the +character name ‘<samp><span class="samp">acute</span></samp>’; then the default PostScript encoding, as +found in the AFM file for an ordinary PostScript font, maps the +character name ‘<samp><span class="samp">acute</span></samp>’ to the number 194. (The PostScript encoding +works in reverse, by looking in the encoding vector for the name and +then yielding the corresponding number.) The combined mapping of 19 to +194 shows up explicitly in the VF file and also implicitly in the fact +that the properties of PostScript character 194 appear in position 19 of +the TFM file for the virtual font. + + <p><a name="index-accents_002c-in-wrong-position-598"></a><a name="index-Hungarian-umlaut-599"></a><a name="index-dot-accent-600"></a><a name="index-Scandinavian-A-ring-601"></a><a name="index-A-ring_002c-Scandinavian-letter-602"></a>The default encoding of the distributed fonts (e.g., <samp><span class="file">ptmr.tfm</span></samp>) +mostly follows plain TeX conventions for accents. The exceptions: +the Hungarian umlaut (which is at position <code>0x7D</code> in ‘<samp><span class="samp">cmr10</span></samp>’, +but position <code>0xCD</code> in ‘<samp><span class="samp">ptmr</span></samp>’); the dot accent (at positions +<code>0x5F</code> and <code>0xC7</code>, respectively); and the Scandinavian A ring +<code>\AA</code>, whose definition needs different tweaking. In order to use +these accents with PostScript fonts or in math mode when +<code>\textfont0</code> is a PostScript font, you will need to use the +following definitions. These definitions will not work with the +Computer Modern fonts for the relevant accents. They are already part +of the distributed <samp><span class="file">psfonts.sty</span></samp> for use with LaTeX. + + <p><a name="index-g_t_005cH-603"></a><a name="index-g_t_005c_002e-604"></a><a name="index-g_t_005cdot-605"></a><a name="index-g_t_005cAA-606"></a> +<pre class="example"> \def\H#1{{\accent"CD #1}} + \def\.#1{{\accent"C7 #1}} + \def\dot{\mathaccent"70C7 } + \newdimen\aadimen + \def\AA{\leavevmode\setbox0\hbox{h}\aadimen\ht0 + \advance\aadimen-1ex\setbox0\hbox{A}\rlap{\raise.67\aadimen + \hbox to \wd0{\hss\char'27\hss}}A} +</pre> + <p><a name="index-CODINGSCHEME-607"></a>As a kind of summary, here are the ‘<samp><span class="samp">CODINGSCHEME</span></samp>’s that result from +the various possible choices for reencoding. + + <dl> +<dt>default encoding<dd> + <pre class="example"> (CODINGSCHEME TeX text + AdobeStandardEncoding) +</pre> + <br><dt>‘<samp><span class="samp">-p dc.enc</span></samp>’<dd> + <pre class="example"> (CODINGSCHEME TeX text + DCEncoding) +</pre> + <br><dt>‘<samp><span class="samp">-t dc.enc</span></samp>’<dd> + <pre class="example"> (CODINGSCHEME DCEncoding + AdobeStandardEncoding) +</pre> + <br><dt>‘<samp><span class="samp">-T dc.enc</span></samp>’<dd> + <pre class="example"> (CODINGSCHEME DCEncoding + DCEncoding) +</pre> + </dl> + +<p class="noindent">The ‘<samp><span class="samp">CODINGSCHEME</span></samp>’ line appears in the VPL file but is +ignored by Dvips. + +<div class="node"> +<a name="Encoding-file-format"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a>, +Up: <a rel="up" accesskey="u" href="#Changing-font-encodings">Changing font encodings</a> + +</div> + +<h5 class="subsubsection">6.3.1.5 Encoding file format</h5> + +<p><a name="index-encoding-file-format-608"></a> +Afm2tfm's encoding files have the same format as an encoding vector in a +PostScript font. Here is a skeletal example: + +<pre class="example"> % <span class="roman">Comments are ignored, unless the first word after the percent sign</span> + % <span class="roman">is ‘</span><samp><span class="samp">LIGKERN</span></samp><span class="roman">’; see below.</span> + /MyEncoding [ % <span class="roman">exactly 256 entries follow, each with a leading ‘</span><samp><span class="samp">/</span></samp><span class="roman">’</span> + /Alpha /Beta /Gamma /Delta ... + /A /B ... /Z + ... /.notdef /xfooaccent /yfooaccent /zfooaccent + ] def +</pre> + <p>These encoding files are downloaded as part of changing the encoding at +the PostScript level (see the previous section). + + <p><a name="index-comments_002c-in-encoding-files-609"></a>Comments, which start with a percent sign and continue until the end +of the line, are ignored unless they start with ‘<samp><span class="samp">LIGKERN</span></samp>’ (see below). + + <p>The first non-comment word of the file must start with a forward slash +‘<samp><span class="samp">/</span></samp>’ (i.e., a PostScript literal name) and defines the name of the +encoding. The next word must be an left bracket ‘<samp><span class="samp">[</span></samp>’. Following +that must be precisely 256 character names; use ‘<samp><span class="samp">/.notdef</span></samp>’ for any +that you want to leave undefined. Then there must be a matching right +bracket <code>]</code>. A final ‘<samp><span class="samp">def</span></samp>’ token is optional. All names are +case-sensitive. + + <p>Any ligature or kern information is given as a comment. If the first +word after the ‘<samp><span class="samp">%</span></samp>’ is ‘<samp><span class="samp">LIGKERN</span></samp>’, then the entire rest of the +line is parsed for ligature and kern information. This ligature and +kern information is given in groups of words: each group is terminated +by a space and a semicolon and (unless the semicolon is at the end of a +line) another space. + + <p><a name="index-LIGKERN-_0040r_007bencoding-file-command_007d-610"></a>In these <code>LIGKERN</code> statements, three types of information may be +specified. These three types are ligature pairs, kerns to ignore, and +the character value of this font's boundary character. + + <p><a name="index-boundary-character-611"></a>Throughout a <code>LIGKERN</code> statement, the boundary character is +specified as ‘<samp><span class="samp">||</span></samp>’. To set the font's boundary character value for +TeX: + +<pre class="example"> % LIGKERN || = 39 ; +</pre> + <p>To indicate a kern to remove, give the names of the two characters +(without the leading slash) separated by ‘<samp><span class="samp">{}</span></samp>’, as in ‘<samp><span class="samp">one +{} one ;</span></samp>’. This is intended to be reminiscent of the way you might +use ‘<samp><span class="samp">{}</span></samp>’ in a TeX file to turn off ligatures or kerns at a +particular location. Either or both of the character names can be given +as ‘<samp><span class="samp">*</span></samp>’, which is a wild card matching any character; thus, all +kerns can be removed with ‘<samp><span class="samp">* {} * ;</span></samp>’. + + <p><a name="index-ligature-operations-612"></a><a name="index-Metafont-ligature-operations-613"></a>To specify a ligature, specify the names of the pair of characters, +followed by the ligature operation (as in Metafont), followed by the +replacing character name. Either (but not both) of the first two +characters can be ‘<samp><span class="samp">||</span></samp>’ to indicate a word boundary. + + <p><a name="index-g_t_003d_003a-_0040r_007bligature-operation_007d-614"></a>The most common operation is ‘<samp><span class="samp">=:</span></samp>’ meaning that both characters are +removed and replaced by the third character, but by adding the ‘<samp><span class="samp">|</span></samp>’ +character on either side of the ‘<samp><span class="samp">=:</span></samp>’, you can retain either or both +of the two leading characters. In addition, by suffixing the ligature +operation with one or two ‘<samp><span class="samp">></span></samp>’ signs, you can make the ligature +scanning operation skip that many resulting characters before +proceeding. This works just like in Metafont. For example, the `fi' +ligature is specified with ‘<samp><span class="samp">f i =: fi ;</span></samp>’<!-- /@w -->. A more convoluted +ligature is ‘<samp><span class="samp">one one |=:|>> exclam ;</span></samp>’ which separates a pair of +adjacent <code>1</code>'s with an exclamation point, and then skips over two +of the resulting characters before continuing searching for ligatures +and kerns. You cannot give more <tt>></tt>'s than <tt>|</tt>'s in an ligature +operation, so there are a total of eight possibilities: + +<pre class="example"> =: |=: |=:> =:| =:|> |=:| |=:|> |=:|>> +</pre> + <p>The default set of ligatures and kerns built in to Afm2tfm is: + +<pre class="example"> % LIGKERN question quoteleft =: questiondown ; + % LIGKERN exclam quoteleft =: exclamdown ; + % LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ; + % LIGKERN quoteleft quoteleft =: quotedblleft ; + % LIGKERN quoteright quoteright =: quotedblright ; + % LIGKERN space {} * ; * {} space ; 0 {} * ; * {} 0 ; + % LIGKERN 1 {} * ; * {} 1 ; 2 {} * ; * {} 2 ; 3 {} * ; * {} 3 ; + % LIGKERN 4 {} * ; * {} 4 ; 5 {} * ; * {} 5 ; 6 {} * ; * {} 6 ; + % LIGKERN 7 {} * ; * {} 7 ; 8 {} * ; * {} 8 ; 9 {} * ; * {} 9 ; +</pre> + <div class="node"> +<a name="Special-font-effects"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Afm2tfm-options">Afm2tfm options</a>, +Previous: <a rel="previous" accesskey="p" href="#Changing-font-encodings">Changing font encodings</a>, +Up: <a rel="up" accesskey="u" href="#Invoking-afm2tfm">Invoking afm2tfm</a> + +</div> + +<h4 class="subsection">6.3.2 Special font effects</h4> + +<p><a name="index-oblique-fonts-615"></a><a name="index-slanted-fonts-616"></a><a name="index-fonts_002c-slanted-617"></a>Besides the reencodings described in the previous section, Afm2tfm can +do other manipulations. (Again, it's best to use the prebuilt fonts +rather than attempting to remake them.) + + <p>‘<samp><span class="samp">-s </span><var>slant</var></samp>’ makes an obliqued variant, as in: + +<pre class="example"> afm2tfm Times-Roman -s .167 -v ptmro rptmro +</pre> + <p class="noindent">This creates <samp><span class="file">ptmro.vpl</span></samp> and <samp><span class="file">rptmro.tfm</span></samp>. To use this font, +put the line + + <p><a name="index-SlantFont-618"></a> +<pre class="example"> rptmro Times-Roman ".167 SlantFont" +</pre> + <p class="noindent"><a name="index-psfonts_002emap-619"></a>into <samp><span class="file">psfonts.map</span></samp>. Then ‘<samp><span class="samp">rptmro</span></samp>’ (our name for the obliqued +Times) will act as if it were a resident font, although it is actually +constructed from Times-Roman via the PostScript routine <code>SlantFont</code> +(which will slant everything 1/6 to the right, in this case). + + <p><a name="index-expanded-fonts-620"></a><a name="index-fonts_002c-expanded-621"></a>Similarly, you can get an expanded font with + +<pre class="example"> afm2tfm Times-Roman -e 1.2 -v ptmrre rptmrre +</pre> + <p class="noindent">and by recording the pseudo-resident font +<a name="index-ExtendFont-622"></a> +<pre class="example"> rptmrre Times-Roman "1.2 ExtendFont" +</pre> + <p class="noindent">in <samp><span class="file">psfonts.map</span></samp>. + + <p>You can also create a small caps font with a command such as +<a name="index-small-caps-fonts-623"></a><a name="index-fonts_002c-small-caps-624"></a> +<pre class="example"> afm2tfm Times-Roman -V ptmrc rptmrc +</pre> + <p class="noindent">This will generate a set of pseudo-small caps mapped into the usual +lowercase positions and scaled down to 0.8 of the normal cap +dimensions. You can also specify the scaling as something other than +the default 0.8: + +<pre class="example"> afm2tfm Times-Roman -c 0.7 -V ptmrc rptmrc +</pre> + <p>It is unfortunately not possible to increase the width of the small caps +independently of the rest of the font. If you want a really +professional looking set of small caps, you need to acquire a small caps +font. + + <p><a name="index-PaintType-625"></a><a name="index-outline-fonts-626"></a><a name="index-fonts_002c-outlined-627"></a>To change the <code>PaintType</code> in a font from filled (0) to outlined +(2), you can add <code>"/PaintType 2 store"</code> to <samp><span class="file">psfonts.map</span></samp>, as +in the following: + +<pre class="example"> rphvrl Helvetica "/PaintType 2 store" +</pre> + <p>Afm2tfm writes to standard output the line you need to add to +<samp><span class="file">psfonts.map</span></samp> to use that font, assuming the font is resident in +the printer; if the font is not resident, you must add the +‘<samp><span class="samp"><</span><var>filename</var></samp>’ command to download the font. Each identical +line only needs to be specified once in the ‘<samp><span class="samp">psfonts.map</span></samp>’ file, +even though many different fonts (small caps variants, or ones with +different output encodings) may be based on it. + +<div class="node"> +<a name="Afm2tfm-options"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Special-font-effects">Special font effects</a>, +Up: <a rel="up" accesskey="u" href="#Invoking-afm2tfm">Invoking afm2tfm</a> + +</div> + +<h4 class="subsection">6.3.3 Afm2tfm options</h4> + +<p><a name="index-options_002c-to-Afm2tfm-628"></a><a name="index-afm2tfm-options-629"></a> +Synopsis: +<pre class="example"> afm2tfm [<var>option</var>]... <var>afmfile</var>[.afm] [<var>tfmfile</var>[.tfm]] +</pre> + <p>Afm2tfm reads <var>afmfile</var> and writes a corresponding (but raw) TFM +file. If <var>tfmfile</var> is not supplied, the base name of the AFM file is +extended with ‘<samp><span class="samp">.tfm</span></samp>’ to get the output filename. + + <p>The simplest example: + +<pre class="example"> afm2tfm Times-Roman rptmr +</pre> + <p><a name="index-accents_002c-wrong-630"></a>The TFM file thus created is <dfn>raw</dfn> because it omits ligature and +kern information, and does no character remapping; it simply contains +the character information in the AFM file in TFM form, which is the form +that TeX understands. The characters have the same code in the TFM +file as in the AFM file. For text fonts, this means printable ASCII +characters will work ok, but little else, because standard PostScript +fonts have a different encoding scheme than the one that plain TeX +expects (see <a href="#Encodings">Encodings</a>). Although both schemes agree for the +printable ASCII characters, other characters such as ligatures and +accents vary. Thus, in practice, it's almost always desirable to create +a virtual font as well with the ‘<samp><span class="samp">-v</span></samp>’ or ‘<samp><span class="samp">-V</span></samp>’ option. +See <a href="#Making-a-font-available">Making a font available</a>. + + <p>The command line options to Afm2tfm: + + <dl> +<dt>‘<samp><span class="samp">-c </span><var>ratio</var></samp>’<dd><a name="index-g_t_002dc-_0040var_007bratio_007d-631"></a><a name="index-scaling-small-caps-632"></a>See ‘<samp><span class="samp">-V</span></samp>’; overrides the default ratio of 0.8 for the +scaling of small caps. + + <br><dt>‘<samp><span class="samp">-e </span><var>ratio</var></samp>’<dd><a name="index-g_t_002de-_0040var_007bratio_007d-633"></a><a name="index-expanded-fonts-634"></a><a name="index-condensed-fonts-635"></a>Stretch characters horizontally by <var>ratio</var>; if less than 1.0, you +get a condensed font. + + <br><dt>‘<samp><span class="samp">-O</span></samp>’<dd><a name="index-g_t_002dO-636"></a><a name="index-octal-character-codes-637"></a>Output all character codes in the ‘<samp><span class="samp">vpl</span></samp>’ file as octal numbers, not +names; this is useful for symbol or other special-purpose fonts where +character names such as ‘<samp><span class="samp">A</span></samp>’ have no meaning. + + <br><dt>‘<samp><span class="samp">-p </span><var>ps-enc</var></samp>’<dd><a name="index-g_t_002dp-_0040var_007bps_002denc_007d-638"></a>Use <var>ps-enc</var> for the destination (PostScript) encoding of the font; +<var>ps-enc</var> must be mentioned as a header file for the font in +‘<samp><span class="samp">psfonts.map</span></samp>’. +See <a href="#Changing-PostScript-encodings">Changing PostScript encodings</a>. + + <br><dt>‘<samp><span class="samp">-s </span><var>slant</var></samp>’<dd><a name="index-g_t_002ds-_0040var_007bslant_007d-639"></a><a name="index-slanted-fonts_002c-making-640"></a>Slant characters to the right by <var>slant</var>. If <var>slant</var> is +negative, the letters slope to the left (or they might be upright if you +start with an italic font). + + <br><dt>‘<samp><span class="samp">-t </span><var>tex-enc</var></samp>’<dd><a name="index-g_t_002dt-_0040var_007btex_002denc_007d-641"></a>Use <var>tex-enc</var> for the target (TeX) encoding of the font. +Ligature and kern information may also be specified in <var>file</var>. +<var>file</var> is not mentioned in <samp><span class="file">psfonts.map</span></samp>. + + <br><dt>‘<samp><span class="samp">-T </span><var>ps-tex-enc</var></samp>’<dd><a name="index-g_t_002dT-_0040var_007bps_002dtex_002denc_007d-642"></a>Use <var>ps-tex-enc</var> for both the PostScript and target TeX encodings +of the font. Equivalent to ‘<samp><span class="samp">-p </span><var>file</var><span class="samp"> -t </span><var>file</var></samp>’. + + <br><dt>‘<samp><span class="samp">-u</span></samp>’<dd><a name="index-g_t_002du-643"></a>Use only those characters specified in the TeX encoding, and no +others. By default, Afm2tfm tries to include all characters in the +input font, even those not present in the TeX encoding (it puts them +into otherwise-unused positions, arbitrarily). + + <br><dt>‘<samp><span class="samp">-v </span><var>vpl-file</var></samp>’<dd><a name="index-g_t_002dv-_0040var_007bvpl_002dfile_007d-644"></a>Output a VPL (virtual property list) file, as well as a TFM file. + + <br><dt>‘<samp><span class="samp">-V </span><var>vpl-file</var></samp>’<dd><a name="index-g_t_002dV-_0040var_007bvpl_002dfile_007d-645"></a>Same as ‘<samp><span class="samp">-v</span></samp>’, but the virtual font generated is a pseudo small caps +font obtained by scaling uppercase letters by 0.8 to typeset +lowercase. This font handles accented letters and retains proper +kerning. +</dl> + +<div class="node"> +<a name="psfonts.map"></a> +<a name="psfonts_002emap"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Invoking-afm2tfm">Invoking afm2tfm</a>, +Up: <a rel="up" accesskey="u" href="#PostScript-fonts">PostScript fonts</a> + +</div> + +<h3 class="section">6.4 <samp><span class="file">psfonts.map</span></samp>: PostScript font catalog</h3> + +<p><a name="index-psfonts_002emap-646"></a><a name="index-non_002dresident-fonts-647"></a><a name="index-downloading-PostScript-fonts-648"></a><a name="index-fonts_002c-downloading-649"></a> +The <samp><span class="file">psfonts.map</span></samp> file associates a PostScript font with related +files and constructs. Each line has the format: + +<pre class="example"> <var>filename</var> <var>PostScript-name</var> <var>options</var> +</pre> + <p><a name="index-g_t_003c-_0040r_007bfont-downloading_007d-650"></a>For example, the line +<pre class="example"> rpstrn StoneInformal <StoneInformal.pfb +</pre> + <p class="noindent">causes Dvips to download <samp><span class="file">StoneInformal.pfb</span></samp> (just as if it were +a header file, see <a href="#Header-files">Header files</a>) if the DVI file (or a virtual +font, see <a href="#Virtual-fonts">Virtual fonts</a>) references the TFM file ‘<samp><span class="samp">rpstrn</span></samp>’. +The PostScript <code>/FontName</code> of the font defined inside the ‘<samp><span class="samp">pfb</span></samp>’ +file should be <code>StoneInformal</code>. + + <p><a name="index-transforming-downloaded-fonts-651"></a><a name="index-expanded-fonts-652"></a><a name="index-wide-fonts-653"></a><a name="index-narrow-fonts-654"></a>You can generate transformed fonts with a line like this: +<pre class="example"> rpstrc StoneInformal <StoneInformal.pfb ".8 ExtendFont" +</pre> + <p class="noindent">See <a href="#Special-font-effects">Special font effects</a>, for a +complete list of font effects. + + <p><a name="index-reencoding-PostScript-fonts-655"></a>You can change the encoding of the Type 1 font at the PostScript +level with a ‘<samp><span class="samp">ReEncodeFont</span></samp>’ instruction, plus the name of the +encoding file. This allows you access to characters that may be present +in the Type 1 font file, but not encoded by default—most of the +preaccented characters, for example. An example: +<pre class="smallexample"> pstrn8r StoneInformal "TeXBase1Encoding ReEncodeFont" <8r.enc <pstrn8a.pfb +</pre> + <p><a name="index-g_t8r-font-encoding-656"></a><a name="index-base-encoding_002c-recommended-657"></a>The ‘<samp><span class="samp">8r</span></samp>’ encoding mentioned here has been designed to serve as a +base for all downloadable fonts; it allows access to all the characters +commonly present in a Type 1 font. For more details, see the +<samp><span class="file">8r.enc</span></samp> source file that comes with (and is installed with) Dvips. + + <p><a name="index-g_t_003c_005b-_0040r_007bencoding-vector-downloading_007d-658"></a>You may notice that the same syntax is used for downloading encoding +vectors and Type 1 font files. To make your intentions clear, you can +also use ‘<samp><span class="samp"><[</span></samp>’ to explicitly indicate you are downloading an +encoding vector, as in: +<pre class="smallexample"> pstrn8r StoneInformal "TeXBase1Encoding ReEncodeFont" <[8r.enc <pstrn8a.pfb +</pre> + <p><a name="index-g_t_002eenc-_0040r_007bextension-for-encoding-vectors_007d-659"></a>If the filename of your encoding vector does not end in ‘<samp><span class="samp">.enc</span></samp>’, and +you are using partial font downloading, you must use the ‘<samp><span class="samp"><[</span></samp>’ +syntax, or Dvips will not download the font properly. + + <p><a name="index-g_t_002epfa-_0040r_007bextension-required-for-partial-downloading_007d-660"></a><a name="index-g_t_002epfb-_0040r_007bextension-required-for-partial-downloading_007d-661"></a>Similarly, the name of the Type 1 font file itself must have extension +<samp><span class="file">.pfa</span></samp> or <samp><span class="file">.pfb</span></samp> for partial downloading to work properly. + + <p><a name="index-pfb-files_002c-automatically-unpacked-662"></a>When using PFB files, Dvips is smart enough to unpack the binary PFB +format into printable ASCII so there is no need to perform this +conversion yourself. In addition, Dvips scans the font to determine its +memory usage, just as it does for other header files (see <a href="#Header-files">Header files</a>). + + <p><a name="index-partial-font-downloading-663"></a><a name="index-downloading-fonts-partially-664"></a>If the ‘<samp><span class="samp">j</span></samp>’ config file or command-line option is enabled (as it +is by default), <samp><span class="file">StoneInformal.pfb</span></samp> will be <dfn>partially +downloaded</dfn>—only those characters your document actually uses will +be extracted and downloaded, and the remainder discarded. +See <a href="#Option-details">Option details</a>. + + <p><a name="index-whole-font-downloading-665"></a><a name="index-multiple-master-fonts-666"></a><a name="index-Minion-typeface-family-667"></a><a name="index-g_t_003c_003c-_0040r_007bwhole-font-downloading_007d-668"></a>Adobe Multiple Master fonts, such as Minion, cannot be partially +downloaded. To partially download in general, but avoid partial +downloading for individual fonts, use ‘<samp><span class="samp"><<</span></samp>’ instead ‘<samp><span class="samp"><</span></samp>’: +<pre class="example"> pmnr8r Minion <<Minion.pfb +</pre> + <p>Here is a brief summary of how <samp><span class="file">psfonts.map</span></samp> is read: + + <ol type=1 start=1> +<li>If a line is empty or begins with a space, percent, asterisk, +semicolon, or hash mark, it is ignored. + + <li>Otherwise, the line is separated into words, where words are +separated by spaces or tabs, except that if a word begins with a double +quote, it extends until the next double quote or the end of the line. + + <li>If a word starts with ‘<samp><span class="samp"><<</span></samp>’, it is taken as a font file to be +wholly downloaded. Use this to avoid partial downloading, as described +above. + + <li>If a word starts with ‘<samp><span class="samp"><[</span></samp>’, it is taken as an encoding file +to be downloaded. Use this if the name of the encoding file does end in +‘<samp><span class="samp">.enc</span></samp>’, also as described above. + + <li>If a word starts with a ‘<samp><span class="samp"><</span></samp>’ character, it is +treated as a header file that needs to be downloaded. If the name ends +in ‘<samp><span class="samp">.pfa</span></samp>’ or ‘<samp><span class="samp">.pfb</span></samp>’, it is taken as Type 1 font file that will +be partially downloaded if the ‘<samp><span class="samp">j</span></samp>’ option is in effect. There can +be more than one such header for a given font. If a ‘<samp><span class="samp"><</span></samp>’ is a word +by itself, the next word is taken as the name of the header file. + + <li>If a word starts with a ‘<samp><span class="samp">"</span></samp>’ character, it is taken as PostScript +code used in generating that font, and is inserted into the output +verbatim at the appropriate point. (And the double quotes beginning and +ending the word are removed.) + + <li>Otherwise the word is a name. The first such name is the TFM +file, that either a DVI file or a virtual font file can refer to. If +there is a second name, it is used as the PostScript name and should +match what is defined in the downloaded file; if there is only one +name, it is used for both the TeX name and the PostScript name. + + </ol> + +<div class="node"> +<a name="Color"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Index">Index</a>, +Previous: <a rel="previous" accesskey="p" href="#PostScript-fonts">PostScript fonts</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">7 Color</h2> + +<p><a name="index-color-669"></a> +<a name="index-Hafner_002c-Jim-670"></a>Dvips supports one-pass multi-color printing of TeX documents on any +color PostScript device. Initially added by Jim Hafner, IBM Research, +<a href="mailto:hafner@almaden.ibm.com">hafner@almaden.ibm.com</a>, the color support has gone through many +changes by Tomas Rokicki. Besides the source code support itself, there +are additional TeX macro files: ‘<samp><span class="samp">colordvi.tex</span></samp>’ and +‘<samp><span class="samp">blackdvi.tex</span></samp>’, and corresponding ‘<samp><span class="samp">.sty</span></samp>’ versions for use with +LaTeX. + + <p>In this section we describe the use of color from the document +preparer's point of view and then add some instructions on installation +for the TeX administrator. + +<ul class="menu"> +<li><a accesskey="1" href="#Color-macro-files">Color macro files</a>: TeX macro definitions. +<li><a accesskey="2" href="#User_002ddefinable-colors">User-definable colors</a>: Adding your own colors. +<li><a accesskey="3" href="#Color-subtleties">Color subtleties</a>: Subtleties in using color. +<li><a accesskey="4" href="#Ted-Turner">Ted Turner</a>: Printing in black/white after colorizing. +<li><a accesskey="5" href="#Color-device-configuration">Color device configuration</a>: Configuring Dvips for color devices. +<li><a accesskey="6" href="#Color-support-details">Color support details</a>: Color support details +</ul> + +<div class="node"> +<a name="Color-macro-files"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#User_002ddefinable-colors">User-definable colors</a>, +Up: <a rel="up" accesskey="u" href="#Color">Color</a> + +</div> + +<h3 class="section">7.1 Color macro files</h3> + +<p><a name="index-macros-for-color-671"></a><a name="index-color-macros-672"></a> +All the color macro commands are defined in ‘<samp><span class="samp">colordvi.tex</span></samp>’ (or +‘<samp><span class="samp">colordvi.sty</span></samp>’). To access these macros simply add to the top of +your plain TeX file the command: +<pre class="example"> \input colordvi +</pre> + <p class="noindent">For (the obsolete) LaTeX 2.09, add the ‘<samp><span class="samp">colordvi</span></samp>’ style option as in: +<pre class="example"> \documentstyle[12pt,colordvi]{article} +</pre> + <p class="noindent">For LaTeX 2e, these examples are not applicable. Instead, please see +the documentation for the graphics package, available from +<samp><var>CTAN</var><span class="file">:doc/latex/graphics/</span></samp>. See also +<samp><var>CTAN</var><span class="file">:doc/epslatex.ps</span></samp>. + + <p><a name="index-Crayola-crayon-box-673"></a><a name="index-Pantone-colors-674"></a><a name="index-color-names_002c-mixed-case-675"></a>These macros provide two basic kinds of color macros: ones for local +color changes (a few words, a single symbol) and one for global color +changes (the whole document). All the color names use a mixed case +scheme to avoid conflicts with other macros. There are 68 predefined +colors, with names taken primarily from the Crayola crayon box of 64 +colors, and one pair of macros for the user to set his own color pattern +(see <a href="#User_002ddefinable-colors">User-definable colors</a>). You can browse the file +‘<samp><span class="samp">colordvi.tex</span></samp>’ for a list of the predefined colors. The comments +in this file also show a rough correspondence between the crayon names +and Pantones. + + <p>A local color command has the form + +<pre class="example"> \<var>ColorName</var>{this is the color <var>ColorName</var>} +</pre> + <p><a name="index-g_t_005c_0040var_007bColorName_007d-676"></a>where <var>ColorName</var> is the name of a predefined color, e.g., +‘<samp><span class="samp">Blue</span></samp>’. As shown, these macros take one argument, the text to +print in the specified color. This can be used for nested color changes +since it restores the original color state when it completes. For +example: + +<pre class="example"> This text is normal but here we are \Red{switching to red, + \Blue{nesting blue}, recovering the red} and back to original. +</pre> + <p class="noindent"><a name="index-color-nesting-level-677"></a>The color nesting level has no hard limit, but it is not advisable to +nest too deeply lest you and the reader lose track of the color history. + + <p>The global color command has the form + +<pre class="example"> \text<var>ColorName</var> +</pre> + <p class="noindent"><a name="index-g_t_005ctext_0040var_007bColorName_007d-678"></a>These macros take no arguments and changes the default color from that +point on to <var>ColorName</var>. This of course can be overridden globally +by another such command or locally by local color commands. For example, +expanding on the example above, we might have + +<pre class="example"> \textGreen + This text is green but here we are \Red{switching to red, + \Blue{nesting blue}, recovering the red} and back to + original green. + \textCyan + The text from here on will be cyan until + \Yellow{locally changed to yellow}. Now we are back to cyan. +</pre> + <p>The color commands will even work in math mode and across math mode +boundaries. This means that if you have a color before going into math +mode, the mathematics will be set in that color as well. In alignment +environments like <code>\halign</code>, ‘<samp><span class="samp">tabular</span></samp>’ or ‘<samp><span class="samp">eqnarray</span></samp>’, +local color commands cannot extend beyond the alignment characters. + + <p>Because local color commands respect only some environment and +delimiter changes besides their own, care must be taken in setting +their scope. It is best not to have them stretch too far. + + <p>At the present time there are no macros for color environments in LaTeX +which might have a larger range. This is primarily to keep the TeX +and LaTeX use compatible. + +<div class="node"> +<a name="User-definable-colors"></a> +<a name="User_002ddefinable-colors"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Color-subtleties">Color subtleties</a>, +Previous: <a rel="previous" accesskey="p" href="#Color-macro-files">Color macro files</a>, +Up: <a rel="up" accesskey="u" href="#Color">Color</a> + +</div> + +<h3 class="section">7.2 User-definable colors</h3> + +<p><a name="index-user_002ddefinable-colors-679"></a><a name="index-colors_002c-user_002ddefinable-680"></a> +There are two ways for the user to specify colors not already defined. +For local changes, there is the command <code>\Color</code> which takes two +arguments. The first argument is four numbers between zero and one and +specifies the intensity of cyan, magenta, yellow and black (CMYK) in +that order. The second argument is the text that should appear in the +given color. For example, suppose you want the words “this color is +pretty” to appear in a color which is 50% cyan, 85% magenta, 40% yellow +and 20% black. You would use the command + +<pre class="example"> \Color{.5 .85 .4 .2}{this color is pretty} +</pre> + <p>For global color changes, there is a command <code>\textColor</code> which +takes one argument, the CMYK quadruple of relative color intensities. +For example, if you want the default color to be as above, then the +command + +<pre class="example"> \textColor{.5 .85 .4 .2} + The text from now on will be this pretty color +</pre> + <p class="noindent">will do the trick. + + <p>Making a global color change in the midst of nested local colors is +highly discouraged. Consequently, Dvips will give you warning message +and do its best to recover by discarding the current color history. + +<div class="node"> +<a name="Color-subtleties"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Ted-Turner">Ted Turner</a>, +Previous: <a rel="previous" accesskey="p" href="#User_002ddefinable-colors">User-definable colors</a>, +Up: <a rel="up" accesskey="u" href="#Color">Color</a> + +</div> + +<h3 class="section">7.3 Color subtleties</h3> + +<p><a name="index-color-subtleties-681"></a> +Color macros are defined via <code>\special</code> keywords. As such, they +are put in the ‘<samp><span class="samp">.dvi</span></samp>’ file only as explicit message strings to the +driver. The (unpleasant) result is that certain unprotected regions of +the text can have unwanted color side effects. For example, if a color +region is split by TeX across a page boundary, then the footers of +the current page (e.g., the page number) and the headers of the next +page can inherit that color. To avoid this effect globally, users +should make sure that these special regions of the text are defined with +their own local color commands. For example, to protect the +header and footer in plain TeX, use + +<pre class="example"> \headline{\Black{My Header}} + \footline{\Black{\hss\tenrm\folio\hss}} +</pre> + <p>This warning also applies to figures and other insertions, so be careful! + + <p>Of course, in LaTeX, this is much more difficult to do because of the +complexity of the macros that control these regions. This is +unfortunate but inevitable, because TeX and LaTeX were +not written with color in mind. + + <p>Even when writing your own macros, much care must be taken. The macros +that `colorize' a portion of the text work prefix the text work by +outputting one <code>\special</code> command to turn the color on before the +text, and outputting another <code>\special</code> command afterwards to +restore the original color. It is often useful to ensure that TeX is +in horizontal mode before the first special command is issued; this can +be done by prefixing the color command with <code>\leavevmode</code>. + +<div class="node"> +<a name="Ted-Turner"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Color-device-configuration">Color device configuration</a>, +Previous: <a rel="previous" accesskey="p" href="#Color-subtleties">Color subtleties</a>, +Up: <a rel="up" accesskey="u" href="#Color">Color</a> + +</div> + +<h3 class="section">7.4 Printing in black/white after colorizing</h3> + +<p>If you have a TeX or LaTeX document written with color macros and +you want to print it in black and white there are two options. On all +(good) PostScript devices, printing a color file will print in +corresponding gray levels. This is useful to get a rough idea of the +colors without using expensive color printing devices. The second +option is to replace the call to input <samp><span class="file">colordvi.tex</span></samp> with +‘<samp><span class="samp">blackdvi.tex</span></samp>’ (and similarly for the ‘<samp><span class="samp">.sty</span></samp>’ files). So in +the above example, replacing the word ‘<samp><span class="samp">colordvi</span></samp>’ with +‘<samp><span class="samp">blackdvi</span></samp>’ suffices. <samp><span class="file">blackdvi.tex</span></samp> defines the color macros +as no-ops, and so will produce normal black/white printing. By this +simple mechanism, the user can switch to all black/white printing +without having to ferret out the color commands. Also, some device +drivers, particularly non-PostScript ones like screen previewers, will +simply ignore the color commands and so print in black/white. +Hopefully, in the future screen previewers for color displays will be +compatible with some form of color support. + +<div class="node"> +<a name="Color-device-configuration"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Color-support-details">Color support details</a>, +Previous: <a rel="previous" accesskey="p" href="#Ted-Turner">Ted Turner</a>, +Up: <a rel="up" accesskey="u" href="#Color">Color</a> + +</div> + +<h3 class="section">7.5 Color device configuration</h3> + +<p><a name="index-color-configuration-682"></a><a name="index-configuration_002c-of-color-devices-683"></a> +To configure Dvips for a particular color device you need to fine tune +the color parameters to match your device's color rendition. To do this, +you will need a Pantone chart for your device. The header file +‘<samp><span class="samp">color.lpro</span></samp>’ shows a (rough) correspondence between the Crayola +crayon names and the Pantone numbers and also defines default CMYK +values for each of the colors. Note that these colors must be defined +in CMYK terms and not RGB, as Dvips outputs PostScript color commands in +CMYK. This header file also defines (if they are not known to the +interpreter) the PostScript commands ‘<samp><span class="samp">setcmykcolor</span></samp>’ and +‘<samp><span class="samp">currentcmykcolor</span></samp>’ in terms of a RGB equivalent so if your device +only understands RGB, there should be no problem. + + <p><a name="index-Phaser-printer_002c-used-for-color-calibration-684"></a><a name="index-Tektronix-Phaser-printer_002c-used-for-color-calibration-685"></a>The parameters set in this file were determined by comparing the Pantone +chart of a Tektronix Phaser printer with the actual Crayola Crayons. +Because these were defined for a particular device, the actual color +rendition on your device may be very different. There are two ways to +adjust this. One is to use the PAntone chart for your device to rewrite +‘<samp><span class="samp">color.lpro</span></samp>’ prior to compilation and installation. A better +alternative, which supports multiple devices, is to add a header file +option in the configuration file (see <a href="#Configuration-file-commands">Configuration file commands</a>) +for each device that defines, in ‘<samp><span class="samp">userdict</span></samp>’, the color parameters +for those colors that need redefining. + + <p>For example, if you need to change the parameters defining +‘<samp><span class="samp">Goldenrod</span></samp>’ (approximately Pantone 109 on the Phaser) for your +device ‘<samp><span class="samp">mycolordev</span></samp>’, do the following. In the Pantone chart for +your device, find the CMYK values for Pantone 109. Let's say they are +‘<samp><span class="samp">{\ 0 0.10 0.75 0.03 }</span></samp>’. Then create a header file named +‘<samp><span class="samp">mycolordev.pro</span></samp>’ with the commands + +<pre class="example"> userdict begin + /Goldenrod { 0 0.10 0.75 0.03 setcmykcolor} bind def +</pre> + <p class="noindent">Finally, in ‘<samp><span class="samp">config.mycolordev</span></samp>’ add the line + +<pre class="example"> h mycolordev.pro +</pre> + <p class="noindent">This will then define ‘<samp><span class="samp">Goldenrod</span></samp>’ in your device's CMYK values in +<samp><span class="file">userdict</span></samp> which is checked before defining it in <samp><span class="file">TeXdict</span></samp> by +<samp><span class="file">color.pro</span></samp>. (On MS-DOS, you will have to call this file +<samp><span class="file">mycolordev.cfg</span></samp>.) + + <p>This mechanism, together with additions to <samp><span class="file">colordvi.tex</span></samp> and +<samp><span class="file">blackdvi.tex</span></samp> (and the ‘<samp><span class="samp">.sty</span></samp>’ files), can also be used to +predefine other colors for your users. + +<div class="node"> +<a name="Color-support-details"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Color-device-configuration">Color device configuration</a>, +Up: <a rel="up" accesskey="u" href="#Color">Color</a> + +</div> + +<h3 class="section">7.6 Color support details</h3> + +<p>To support color, Dvips recognizes a certain set of specials. These +specials start with the keyword ‘<samp><span class="samp">color</span></samp>’ or the keyword +‘<samp><span class="samp">background</span></samp>’, followed by a color specification. + +<ul class="menu"> +<li><a accesskey="1" href="#Color-specifications">Color specifications</a> +<li><a accesskey="2" href="#Color-specials">Color specials</a> +</ul> + +<div class="node"> +<a name="Color-specifications"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Color-specials">Color specials</a>, +Up: <a rel="up" accesskey="u" href="#Color-support-details">Color support details</a> + +</div> + +<h4 class="subsection">7.6.1 Color specifications</h4> + +<p><a name="index-color-specifications-686"></a> +What is a color specification? One of three things. First, it might be +a PostScript procedure as defined in a PostScript header file. The +<samp><span class="file">color.pro</span></samp> file defines 64 of these, including ‘<samp><span class="samp">Maroon</span></samp>’. +This PostScript procedure must set the current color to be some value; +in this case, ‘<samp><span class="samp">Maroon</span></samp>’ is defined as ‘<samp><span class="samp">0 0.87 0.68 0.32 +setcmykcolor</span></samp>’. + + <p>The second possibility is the name of a color model (initially, one of +‘<samp><span class="samp">rgb</span></samp>’, ‘<samp><span class="samp">hsb</span></samp>’, ‘<samp><span class="samp">cmyk</span></samp>’, or ‘<samp><span class="samp">gray</span></samp>’) followed by the +appropriate number of parameters. When Dvips encounters such a macro, +it sends out the parameters first, followed by the string created by +prefixing ‘<samp><span class="samp">TeXcolor</span></samp>’ to the color model. Thus, the color +specification ‘<samp><span class="samp">rgb 0.3 0.4 0.5</span></samp>’ would generate the PostScript code +‘<samp><span class="samp">0.3 0.4 0.5 TeXrgbcolor</span></samp>’. Note that the case of zero arguments is +disallowed, as that is handled by the single keyword case +(‘<samp><span class="samp">Maroon</span></samp>’) above, where no changes to the name are made before it +is sent to the PostScript file. + + <p>The third and final type of color specification is a double quote +followed by any sequence of PostScript. The double quote is stripped +from the output. For instance, the color specification +‘<samp><span class="samp">"AggiePattern setpattern</span></samp>’ will set the `color' to the Aggie logo +pattern (assuming such exists.) + +<div class="node"> +<a name="Color-specials"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Color-specifications">Color specifications</a>, +Up: <a rel="up" accesskey="u" href="#Color-support-details">Color support details</a> + +</div> + +<h4 class="subsection">7.6.2 Color specials</h4> + +<p>We will describe ‘<samp><span class="samp">background</span></samp>’ first, since it is the simplest. The +‘<samp><span class="samp">background</span></samp>’ keyword must be followed by a color specification. +That color specification is used as a fill color for the background. +The last ‘<samp><span class="samp">background</span></samp>’ special on a page is the one that gets +issued, and it gets issued at the very beginning of the page, before any +text or specials are sent. (This is possible because the prescan phase +of Dvips notices all of the color specials so that the appropriate +information can be written out during the second phase.) + + <p>The ‘<samp><span class="samp">color</span></samp>’ special itself has three forms. +The first is just ‘<samp><span class="samp">color</span></samp>’ followed by a color specification. In +this case, the current global color is set to that color; the color stack +must be empty when such a command is executed. + + <p>The second form is ‘<samp><span class="samp">color push</span></samp>’ followed by a color specification. +This saves the current color on the color stack and sets the color to be +that given by the color specification. This is the most common way to +set a color. + + <p>The final version of the ‘<samp><span class="samp">color</span></samp>’ special is just ‘<samp><span class="samp">color pop</span></samp>’, +with no color specification; this says to pop the color last pushed on +the color stack from the color stack and set the current color to be +that color. + + <p>Dvips correctly handles these color specials across pages, even when the +pages are repeated or reversed. + + <p>These color specials can be used for things such as patterns or screens +as well as simple colors. However, note that in the PostScript, only +one color specification can be active at a time. For instance, at the +beginning of a page, only the bottommost entry on the color stack is +sent; also, when a color is popped, all that is done is that the color +specification from the previous stack entry is sent. No ‘<samp><span class="samp">gsave</span></samp>’ or +‘<samp><span class="samp">grestore</span></samp>’ is used. This means that you cannot easily mix usage of +the ‘<samp><span class="samp">color</span></samp>’ specials for screens and colors, just one or the other. +This may be addressed in the future by adding support for different +categories of color-like state. + +<div class="node"> +<a name="Index"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Color">Color</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="unnumbered">Index</h2> + +<ul class="index-cp" compact> +<li><a href="#index-g_t_0021-_0040r_007bspecial-_0028literal-PS-header_0029_007d-459"><code>! </code><span class="roman">special (literal PS header)</span></a>: <a href="#Literal-headers">Literal headers</a></li> +<li><a href="#index-g_t_0021-_0040r_007bstarting-output-filename_007d-180"><code>! </code><span class="roman">starting output filename</span></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_0022-_0040r_007bspecial-_0028literal-PostScript_0029_007d-452"><code>" </code><span class="roman">special (literal PostScript)</span></a>: <a href="#g_t_0022-special">" special</a></li> +<li><a href="#index-g_t_0025_0025BoundingBox-365"><code>%%BoundingBox</code></a>: <a href="#Bounding-box">Bounding box</a></li> +<li><a href="#index-g_t_0025_0025Page_0040r_007b_002c-and-multi_002dpage-information_007d-469"><code>%%Page</code><span class="roman">, and multi-page information</span></a>: <a href="#PostScript-hooks">PostScript hooks</a></li> +<li><a href="#index-g_t_0025_0025Page_0040r_007b_002c-not-generating_007d-169"><code>%%Page</code><span class="roman">, not generating</span></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_0025_0025Page_0040r_007b_002c-removing_007d-145"><code>%%Page</code><span class="roman">, removing</span></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_0025_0025Page_0040r_007b_002c-required-by-Ghostview_007d-45"><code>%%Page</code><span class="roman">, required by Ghostview</span></a>: <a href="#Ghostscript-installation">Ghostscript installation</a></li> +<li><a href="#index-g_t_0025_0025VMusage-449"><code>%%VMusage</code></a>: <a href="#Headers-and-memory-usage">Headers and memory usage</a></li> +<li><a href="#index-g_t_0025_002aFont-421"><code>%*Font</code></a>: <a href="#Fonts-in-figures">Fonts in figures</a></li> +<li><a href="#index-g_t_0028atend_0029_0040r_007b_002c-bounding-box-specification_007d-367"><code>(atend)</code><span class="roman">, bounding box specification</span></a>: <a href="#Bounding-box">Bounding box</a></li> +<li><a href="#index-g_t_002b_0040var_007bpsmapfile_007d-304"><code>+</code><var>psmapfile</var></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-g_t_002d-84"><code>-</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002d-_0040r_007bas-output-filename_007d-179"><code>- </code><span class="roman">as output filename</span></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002d_002dhelp-87"><code>--help</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002d_002dhelp-82"><code>--help</code></a>: <a href="#Option-summary">Option summary</a></li> +<li><a href="#index-g_t_002d_002dversion-88"><code>--version</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dA-91"><code>-A</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002da-89"><code>-a</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dB-97"><code>-B</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002db-_0040var_007bnum_007d-93"><code>-b </code><var>num</var></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dC-_0040var_007bnum_007d-104"><code>-C </code><var>num</var></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dc-_0040var_007bnum_007d-100"><code>-c </code><var>num</var></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dc-_0040var_007bratio_007d-631"><code>-c </code><var>ratio</var></a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li> +<li><a href="#index-g_t_002dD-_0040var_007bnum_007d-109"><code>-D </code><var>num</var></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dd-_0040var_007bnum_007d-107"><code>-d </code><var>num</var></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dE-115"><code>-E</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002de-_0040var_007bnum_007d-111"><code>-e </code><var>num</var></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002de-_0040var_007bratio_007d-633"><code>-e </code><var>ratio</var></a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li> +<li><a href="#index-g_t_002dF-124"><code>-F</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002df-119"><code>-f</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dG-129"><code>-G</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dh-_0040var_007bname_007d-132"><code>-h </code><var>name</var></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002di-135"><code>-i</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dj-_0040r_007bfor-partial-font-downloading_007d-139"><code>-j </code><span class="roman">for partial font downloading</span></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dK-143"><code>-K</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dk-_0040r_007bfor-cropmarks_007d-140"><code>-k </code><span class="roman">for cropmarks</span></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dl-_005b_003d_005d_0040var_007bnum_007d-146"><code>-l [=]</code><var>num</var></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dM-157"><code>-M</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dm-151"><code>-m</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dmode-154"><code>-mode</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dmode-_0040var_007bmode_007d-153"><code>-mode </code><var>mode</var></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dN-166"><code>-N</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dn-_0040var_007bnum_007d-163"><code>-n </code><var>num</var></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dnoomega-170"><code>-noomega</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dnoptex-173"><code>-noptex</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dO-636"><code>-O</code></a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li> +<li><a href="#index-g_t_002do-_0040var_007bname_007d-175"><code>-o </code><var>name</var></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dO-_0040var_007bx_002doffset_007d_002c_0040var_007by_002doffset_007d-184"><code>-O </code><var>x-offset</var><code>,</code><var>y-offset</var></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dp-_005b_003d_005d_0040var_007bnum_007d-189"><code>-p [=]</code><var>num</var></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dP-_0040var_007bprinter_007d-197"><code>-P </code><var>printer</var></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dp-_0040var_007bps_002denc_007d-638"><code>-p </code><var>ps-enc</var></a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li> +<li><a href="#index-g_t_002dp-_0040var_007bps_002denc_007d-590"><code>-p </code><var>ps-enc</var></a>: <a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></li> +<li><a href="#index-g_t_002dpp-_0040var_007bfirst_007d_002d_0040var_007blast_007d-194"><code>-pp </code><var>first</var><code>-</code><var>last</var></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dpp-_0040var_007brange_007d-196"><code>-pp </code><var>range</var></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dP_0040var_007bprinter_007d_0040r_007b_002c-and-config-file-searching_007d-267"><code>-P</code><var>printer</var><span class="roman">, and config file searching</span></a>: <a href="#Configuration-file-searching">Configuration file searching</a></li> +<li><a href="#index-g_t_002dq-199"><code>-q</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dR-205"><code>-R</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dr-203"><code>-r</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002ds-210"><code>-s</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dS-_0040var_007bnum_007d-212"><code>-S </code><var>num</var></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002ds-_0040var_007bslant_007d-639"><code>-s </code><var>slant</var></a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li> +<li><a href="#index-g_t_002dT-_0040var_007benc_002dfile_007d-595"><code>-T </code><var>enc-file</var></a>: <a href="#Changing-both-encodings">Changing both encodings</a></li> +<li><a href="#index-g_t_002dT-_0040var_007bhsize_007d_002c_0040var_007bvsize_007d-223"><code>-T </code><var>hsize</var><code>,</code><var>vsize</var></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dt-_0040var_007bpapertype_007d-213"><code>-t </code><var>papertype</var></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dT-_0040var_007bps_002dtex_002denc_007d-642"><code>-T </code><var>ps-tex-enc</var></a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li> +<li><a href="#index-g_t_002dt-_0040var_007btex_002denc_007d-641"><code>-t </code><var>tex-enc</var></a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li> +<li><a href="#index-g_t_002dt-_0040var_007btex_002denc_007d-586"><code>-t </code><var>tex-enc</var></a>: <a href="#Changing-TeX-encodings">Changing TeX encodings</a></li> +<li><a href="#index-g_t_002du-643"><code>-u</code></a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li> +<li><a href="#index-g_t_002dU-227"><code>-U</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002du-_0040var_007bpsmapfile_007d-224"><code>-u </code><var>psmapfile</var></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dV-230"><code>-V</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dv-229"><code>-v</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dV-_0040var_007bvpl_002dfile_007d-645"><code>-V </code><var>vpl-file</var></a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li> +<li><a href="#index-g_t_002dv-_0040var_007bvpl_002dfile_007d-644"><code>-v </code><var>vpl-file</var></a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li> +<li><a href="#index-g_t_002dX-_0040var_007bnum_007d-236"><code>-X </code><var>num</var></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dx-_0040var_007bnum_007d-234"><code>-x </code><var>num</var></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dY-_0040var_007bnum_007d-239"><code>-Y </code><var>num</var></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dz-476"><code>-z</code></a>: <a href="#Hypertext">Hypertext</a></li> +<li><a href="#index-g_t_002dZ-_0040r_007bfor-compressing-bitmap-fonts_007d-246"><code>-Z </code><span class="roman">for compressing bitmap fonts</span></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002dz-_0040r_007bfor-recognizing-hyperdvi_007d-241"><code>-z </code><span class="roman">for recognizing hyperdvi</span></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_0040file_007b_002e_002e_007d_002drelative-filenames-209"><samp><span class="file">..</span></samp>-relative filenames</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002eafm-_0040r_007bAdobe-metric-files_007d-518"><code>.afm </code><span class="roman">Adobe metric files</span></a>: <a href="#Metric-files">Metric files</a></li> +<li><a href="#index-g_t_002edvipsrc_0040r_007b_002c-searched-for_007d-266"><code>.dvipsrc</code><span class="roman">, searched for</span></a>: <a href="#Configuration-file-searching">Configuration file searching</a></li> +<li><a href="#index-g_t_002eenc-_0040r_007bextension-for-encoding-vectors_007d-659"><code>.enc </code><span class="roman">extension for encoding vectors</span></a>: <a href="#psfonts_002emap">psfonts.map</a></li> +<li><a href="#index-g_t_002elpro-_0040r_007blong-prologue-files_007d-426"><code>.lpro </code><span class="roman">long prologue files</span></a>: <a href="#Header-files">Header files</a></li> +<li><a href="#index-g_t_002emf-_0040r_007bMetafont-source-files_007d-537"><code>.mf </code><span class="roman">Metafont source files</span></a>: <a href="#Glyph-files">Glyph files</a></li> +<li><a href="#index-g_t_002e_0040var_007bnnn_007dpk-_0040r_007bpacked-font-bitmaps_007d-540"><code>.</code><var>nnn</var><code>pk </code><span class="roman">packed font bitmaps</span></a>: <a href="#Glyph-files">Glyph files</a></li> +<li><a href="#index-g_t_002epfa-_0040r_007bextension-required-for-partial-downloading_007d-660"><code>.pfa </code><span class="roman">extension required for partial downloading</span></a>: <a href="#psfonts_002emap">psfonts.map</a></li> +<li><a href="#index-g_t_002epfa-_0040r_007bprinter-font-ascii-files_007d-534"><code>.pfa </code><span class="roman">printer font ascii files</span></a>: <a href="#Glyph-files">Glyph files</a></li> +<li><a href="#index-g_t_002epfb-_0040r_007bextension-required-for-partial-downloading_007d-661"><code>.pfb </code><span class="roman">extension required for partial downloading</span></a>: <a href="#psfonts_002emap">psfonts.map</a></li> +<li><a href="#index-g_t_002epfb-_0040r_007bprinter-font-binary-files_007d-535"><code>.pfb </code><span class="roman">printer font binary files</span></a>: <a href="#Glyph-files">Glyph files</a></li> +<li><a href="#index-g_t_002epfm-_0040r_007bprinter-font-metric-files_007d-526"><code>.pfm </code><span class="roman">printer font metric files</span></a>: <a href="#Metric-files">Metric files</a></li> +<li><a href="#index-g_t_002epl-_0040r_007bproperty-list-files_007d-524"><code>.pl </code><span class="roman">property list files</span></a>: <a href="#Metric-files">Metric files</a></li> +<li><a href="#index-g_t_002epro-_0040r_007bprologue-files_007d-425"><code>.pro </code><span class="roman">prologue files</span></a>: <a href="#Header-files">Header files</a></li> +<li><a href="#index-g_t_002etfm-_0040r_007b_0040TeX_007b_007d-font-metric-files_007d-520"><code>.tfm </code><span class="roman">TeX font metric files</span></a>: <a href="#Metric-files">Metric files</a></li> +<li><a href="#index-g_t_002f_0023copies-94"><code>/#copies</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_002fmagscale-392"><code>/magscale</code></a>: <a href="#EPSF-scaling">EPSF scaling</a></li> +<li><a href="#index-g_t612-792-_0040r_007bbounding-box-size_007d-370"><code>612 792 </code><span class="roman">bounding box size</span></a>: <a href="#Bounding-box">Bounding box</a></li> +<li><a href="#index-g_t8r-_0040r_007bencoding_002c-and-extra-characters_007d-594"><code>8r </code><span class="roman">encoding, and extra characters</span></a>: <a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></li> +<li><a href="#index-g_t8r-font-encoding-656">8r font encoding</a>: <a href="#psfonts_002emap">psfonts.map</a></li> +<li><a href="#index-g_t8r_002eenc-555"><code>8r.enc</code></a>: <a href="#Encodings">Encodings</a></li> +<li><a href="#index-g_t_003c-_0040r_007bfont-downloading_007d-650"><code>< </code><span class="roman">font downloading</span></a>: <a href="#psfonts_002emap">psfonts.map</a></li> +<li><a href="#index-g_t_003c_003c-_0040r_007bwhole-font-downloading_007d-668"><code><< </code><span class="roman">whole font downloading</span></a>: <a href="#psfonts_002emap">psfonts.map</a></li> +<li><a href="#index-g_t_003c_005b-_0040r_007bencoding-vector-downloading_007d-658"><code><[ </code><span class="roman">encoding vector downloading</span></a>: <a href="#psfonts_002emap">psfonts.map</a></li> +<li><a href="#index-g_t_003d_003a-_0040r_007bligature-operation_007d-614"><code>=: </code><span class="roman">ligature operation</span></a>: <a href="#Encoding-file-format">Encoding file format</a></li> +<li><a href="#index-g_t_0040_0040-_0040r_007bpaper-size-config-command_007d-273"><code>@ </code><span class="roman">paper size config command</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-g_t_005c_002e-604"><code>\.</code></a>: <a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></li> +<li><a href="#index-g_t_005cAA-606"><code>\AA</code></a>: <a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></li> +<li><a href="#index-g_t_005c_0040var_007bColorName_007d-676"><code>\</code><var>ColorName</var></a>: <a href="#Color-macro-files">Color macro files</a></li> +<li><a href="#index-g_t_005cdot-605"><code>\dot</code></a>: <a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></li> +<li><a href="#index-g_t_005cepsffile-_0040r_007bmacro_007d-380"><code>\epsffile </code><span class="roman">macro</span></a>: <a href="#EPSF-macros">EPSF macros</a></li> +<li><a href="#index-g_t_005cepsfsize-388"><code>\epsfsize</code></a>: <a href="#EPSF-scaling">EPSF scaling</a></li> +<li><a href="#index-g_t_005cepsfverbosetrue-382"><code>\epsfverbosetrue</code></a>: <a href="#EPSF-macros">EPSF macros</a></li> +<li><a href="#index-g_t_005cepsfxsize-386"><code>\epsfxsize</code></a>: <a href="#EPSF-scaling">EPSF scaling</a></li> +<li><a href="#index-g_t_005cepsfysize-387"><code>\epsfysize</code></a>: <a href="#EPSF-scaling">EPSF scaling</a></li> +<li><a href="#index-g_t_005cH-603"><code>\H</code></a>: <a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></li> +<li><a href="#index-g_t_005cincludegraphics-_0040LaTeX_007b_007d-macro-371">\includegraphics LaTeX macro</a>: <a href="#g_t_005cincludegraphics">\includegraphics</a></li> +<li><a href="#index-g_t_005cleavevmode-378"><code>\leavevmode</code></a>: <a href="#EPSF-macros">EPSF macros</a></li> +<li><a href="#index-g_t_005cmagnification-391"><code>\magnification</code></a>: <a href="#EPSF-scaling">EPSF scaling</a></li> +<li><a href="#index-g_t_005crotninety-472"><code>\rotninety</code></a>: <a href="#Literal-examples">Literal examples</a></li> +<li><a href="#index-g_t_005ctext_0040var_007bColorName_007d-678"><code>\text</code><var>ColorName</var></a>: <a href="#Color-macro-files">Color macro files</a></li> +<li><a href="#index-a-_0040r_007bconfig-command-_0028memory-conservation_0029_007d-274"><code>a </code><span class="roman">config command (memory conservation)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-A-ring_002c-Scandinavian-letter-602">A ring, Scandinavian letter</a>: <a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></li> +<li><a href="#index-a3-papertype-220">a3 papertype</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-a4-_0040r_007bpaper-size_007d-350"><code>a4 </code><span class="roman">paper size</span></a>: <a href="#Config-file-paper-sizes">Config file paper sizes</a></li> +<li><a href="#index-a4-papertype-219">a4 papertype</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-A4size-_0040r_007bpaper-size_007d-352"><code>A4size </code><span class="roman">paper size</span></a>: <a href="#Config-file-paper-sizes">Config file paper sizes</a></li> +<li><a href="#index-absolute-filenames_002c-disabling-208">absolute filenames, disabling</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-absolute-page-number_002c-and-_0040samp_007b_002dl_007d-150">absolute page number, and ‘<samp><span class="samp">-l</span></samp>’</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-absolute-page-number_002c-and-_0040samp_007b_002dp_007d-193">absolute page number, and ‘<samp><span class="samp">-p</span></samp>’</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-accents_002c-in-wrong-position-598">accents, in wrong position</a>: <a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></li> +<li><a href="#index-accents_002c-wrong-630">accents, wrong</a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li> +<li><a href="#index-accuracy-in-positioning-113">accuracy in positioning</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-Adobe-fonts-17">Adobe fonts</a>: <a href="#PostScript-font-installation">PostScript font installation</a></li> +<li><a href="#index-Adobe-fonts_002c-installing-22">Adobe fonts, installing</a>: <a href="#PostScript-font-installation">PostScript font installation</a></li> +<li><a href="#index-afm-files-517">afm files</a>: <a href="#Metric-files">Metric files</a></li> +<li><a href="#index-afm2tfm-578"><code>afm2tfm</code></a>: <a href="#Invoking-afm2tfm">Invoking afm2tfm</a></li> +<li><a href="#index-afm2tfm-574"><code>afm2tfm</code></a>: <a href="#Making-a-font-available">Making a font available</a></li> +<li><a href="#index-afm2tfm-options-629">afm2tfm options</a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li> +<li><a href="#index-after-header_002c-inserting-code-435">after header, inserting code</a>: <a href="#Including-headers-from-TeX">Including headers from TeX</a></li> +<li><a href="#index-Aladdin-Ghostscript-38">Aladdin Ghostscript</a>: <a href="#Ghostscript-installation">Ghostscript installation</a></li> +<li><a href="#index-Anderson_002c-Laurie-508">Anderson, Laurie</a>: <a href="#Hypertext-specials">Hypertext specials</a></li> +<li><a href="#index-angle-_0040r_007b_0028_0040samp_007bpsfile_007d-special-option_0029_007d-405"><code>angle </code><span class="roman">(‘</span><samp><span class="samp">psfile</span></samp><span class="roman">’ special option)</span></a>: <a href="#psfile-special">psfile special</a></li> +<li><a href="#index-arcs-529">arcs</a>: <a href="#Glyph-files">Glyph files</a></li> +<li><a href="#index-ASCII-character-codes_002c-used-by-PostScript-563">ASCII character codes, used by PostScript</a>: <a href="#PostScript-typesetting">PostScript typesetting</a></li> +<li><a href="#index-atend_0040r_007b_002c-bounding-box-specification_007d-366"><code>atend</code><span class="roman">, bounding box specification</span></a>: <a href="#Bounding-box">Bounding box</a></li> +<li><a href="#index-b-_0040r_007bconfig-command-_0028_0023copies_0029_007d-275"><code>b </code><span class="roman">config command (#copies)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-base-511"><code>base</code></a>: <a href="#Hypertext-specials">Hypertext specials</a></li> +<li><a href="#index-base-encoding_002c-recommended-657">base encoding, recommended</a>: <a href="#psfonts_002emap">psfonts.map</a></li> +<li><a href="#index-base-fonts-546">base fonts</a>: <a href="#Virtual-fonts">Virtual fonts</a></li> +<li><a href="#index-bbfig-368"><code>bbfig</code></a>: <a href="#Bounding-box">Bounding box</a></li> +<li><a href="#index-before-header_002c-inserting-code-434">before header, inserting code</a>: <a href="#Including-headers-from-TeX">Including headers from TeX</a></li> +<li><a href="#index-Bhattacharya_002c-Tanmoy-484">Bhattacharya, Tanmoy</a>: <a href="#Hypertext">Hypertext</a></li> +<li><a href="#index-big-points-362">big points</a>: <a href="#Bounding-box">Bounding box</a></li> +<li><a href="#index-Bigelow-_0026-Holmes-fonts-18">Bigelow & Holmes fonts</a>: <a href="#PostScript-font-installation">PostScript font installation</a></li> +<li><a href="#index-binary-files_002c-not-supported-76">binary files, not supported</a>: <a href="#Including-graphics-fails">Including graphics fails</a></li> +<li><a href="#index-bitmap-fonts-536">bitmap fonts</a>: <a href="#Glyph-files">Glyph files</a></li> +<li><a href="#index-Bitstream-fonts_002c-installing-23">Bitstream fonts, installing</a>: <a href="#PostScript-font-installation">PostScript font installation</a></li> +<li><a href="#index-g_t_0040t_007bbop-undefined_007d-error-66"><tt>bop undefined</tt> error</a>: <a href="#Printer-errors">Printer errors</a></li> +<li><a href="#index-bop_002dhook-462"><code>bop-hook</code></a>: <a href="#PostScript-hooks">PostScript hooks</a></li> +<li><a href="#index-bop_002dhook-393"><code>bop-hook</code></a>: <a href="#EPSF-scaling">EPSF scaling</a></li> +<li><a href="#index-bop_002dhook-357"><code>bop-hook</code></a>: <a href="#Paper-trays">Paper trays</a></li> +<li><a href="#index-bop_002dhook_0040r_007b_002c-and-offset-pages_007d-188"><code>bop-hook</code><span class="roman">, and offset pages</span></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-boundary-character-611">boundary character</a>: <a href="#Encoding-file-format">Encoding file format</a></li> +<li><a href="#index-bounding-box_002c-comment-for-361">bounding box, comment for</a>: <a href="#Bounding-box">Bounding box</a></li> +<li><a href="#index-bounding-box_002c-defined-364">bounding box, defined</a>: <a href="#Bounding-box">Bounding box</a></li> +<li><a href="#index-bounding-box_002c-determining-369">bounding box, determining</a>: <a href="#Bounding-box">Bounding box</a></li> +<li><a href="#index-bounding-box_002c-finding-tight-118">bounding box, finding tight</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-bounding-box_002c-inaccurate-395">bounding box, inaccurate</a>: <a href="#EPSF-clipping">EPSF clipping</a></li> +<li><a href="#index-bounding-box_002c-supplying-to-_0040TeX_007b_007d-379">bounding box, supplying to TeX</a>: <a href="#EPSF-macros">EPSF macros</a></li> +<li><a href="#index-bounding-box_002c-supplying-to-_0040TeX_007b_007d-373">bounding box, supplying to TeX</a>: <a href="#g_t_005cincludegraphics">\includegraphics</a></li> +<li><a href="#index-c-_0040r_007binclude-additional-config-file_007d-276"><code>c </code><span class="roman">include additional config file</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-changing-PostScript-encodings-588">changing PostScript encodings</a>: <a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></li> +<li><a href="#index-changing-_0040TeX_007b_007d-encodings-584">changing TeX encodings</a>: <a href="#Changing-TeX-encodings">Changing TeX encodings</a></li> +<li><a href="#index-character-definitions-in-PostScript-571">character definitions in PostScript</a>: <a href="#PostScript-typesetting">PostScript typesetting</a></li> +<li><a href="#index-character-lookup-procedure-in-PostScript-561">character lookup procedure in PostScript</a>: <a href="#PostScript-typesetting">PostScript typesetting</a></li> +<li><a href="#index-CharStrings-_0040r_007bType-1-dictionary_007d-568"><code>CharStrings </code><span class="roman">Type 1 dictionary</span></a>: <a href="#PostScript-typesetting">PostScript typesetting</a></li> +<li><a href="#index-clip-_0040r_007b_0028_0040samp_007bpsfile_007d-special-option_0029_007d-406"><code>clip </code><span class="roman">(‘</span><samp><span class="samp">psfile</span></samp><span class="roman">’ special option)</span></a>: <a href="#psfile-special">psfile special</a></li> +<li><a href="#index-clipping-of-EPSF-394">clipping of EPSF</a>: <a href="#EPSF-clipping">EPSF clipping</a></li> +<li><a href="#index-CODINGSCHEME-607"><code>CODINGSCHEME</code></a>: <a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></li> +<li><a href="#index-collated-copies-106">collated copies</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-color-669">color</a>: <a href="#Color">Color</a></li> +<li><a href="#index-color-configuration-682">color configuration</a>: <a href="#Color-device-configuration">Color device configuration</a></li> +<li><a href="#index-color-macros-672">color macros</a>: <a href="#Color-macro-files">Color macro files</a></li> +<li><a href="#index-color-names_002c-mixed-case-675">color names, mixed case</a>: <a href="#Color-macro-files">Color macro files</a></li> +<li><a href="#index-color-nesting-level-677">color nesting level</a>: <a href="#Color-macro-files">Color macro files</a></li> +<li><a href="#index-color-separations-96">color separations</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-color-specifications-686">color specifications</a>: <a href="#Color-specifications">Color specifications</a></li> +<li><a href="#index-color-subtleties-681">color subtleties</a>: <a href="#Color-subtleties">Color subtleties</a></li> +<li><a href="#index-colors_002c-user_002ddefinable-680">colors, user-definable</a>: <a href="#User_002ddefinable-colors">User-definable colors</a></li> +<li><a href="#index-command-line_002c-including-headers-from-439">command line, including headers from</a>: <a href="#Including-headers-from-the-command-line">Including headers from the command line</a></li> +<li><a href="#index-command_002dline-options-77">command-line options</a>: <a href="#Invoking-Dvips">Invoking Dvips</a></li> +<li><a href="#index-comments_002c-in-configuration-files-271">comments, in configuration files</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-comments_002c-in-encoding-files-609">comments, in encoding files</a>: <a href="#Encoding-file-format">Encoding file format</a></li> +<li><a href="#index-comments_002c-removing-included-144">comments, removing included</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-compilation-3">compilation</a>: <a href="#Installation">Installation</a></li> +<li><a href="#index-compressed-PostScript-416">compressed PostScript</a>: <a href="#Dynamic-creation-of-graphics">Dynamic creation of graphics</a></li> +<li><a href="#index-compressing-bitmap-fonts-247">compressing bitmap fonts</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-Computer-Modern-in-PostScript-489">Computer Modern in PostScript</a>: <a href="#Hypertext-caveats">Hypertext caveats</a></li> +<li><a href="#index-Computer-Modern_002c-encoding-of-550">Computer Modern, encoding of</a>: <a href="#Encodings">Encodings</a></li> +<li><a href="#index-condensed-fonts-635">condensed fonts</a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li> +<li><a href="#index-config_002eproto-10"><code>config.proto</code></a>: <a href="#config_002eps-installation">config.ps installation</a></li> +<li><a href="#index-config_002eps-198"><code>config.ps</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-config_002eps-_0040r_007binstallation_007d-5"><code>config.ps </code><span class="roman">installation</span></a>: <a href="#config_002eps-installation">config.ps installation</a></li> +<li><a href="#index-config_002eps-_0040r_007bpaper-sizes_007d-348"><code>config.ps </code><span class="roman">paper sizes</span></a>: <a href="#Config-file-paper-sizes">Config file paper sizes</a></li> +<li><a href="#index-config_002eps_0040r_007b_002c-searched-for_007d-265"><code>config.ps</code><span class="roman">, searched for</span></a>: <a href="#Configuration-file-searching">Configuration file searching</a></li> +<li><a href="#index-configuration-file-options-269">configuration file options</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-configuration-file-paper-size-command-344">configuration file paper size command</a>: <a href="#Config-file-paper-sizes">Config file paper sizes</a></li> +<li><a href="#index-configuration-file-path-260">configuration file path</a>: <a href="#Environment-variables">Environment variables</a></li> +<li><a href="#index-configuration-file-searching-263">configuration file searching</a>: <a href="#Configuration-file-searching">Configuration file searching</a></li> +<li><a href="#index-configuration-files-262">configuration files</a>: <a href="#Config-files">Config files</a></li> +<li><a href="#index-configuration-files_002c-creating-9">configuration files, creating</a>: <a href="#config_002eps-installation">config.ps installation</a></li> +<li><a href="#index-configuration-files_002c-prototype-13">configuration files, prototype</a>: <a href="#config_002eps-installation">config.ps installation</a></li> +<li><a href="#index-configuration_002c-of-color-devices-683">configuration, of color devices</a>: <a href="#Color-device-configuration">Color device configuration</a></li> +<li><a href="#index-configuration_002c-of-Dvips-2">configuration, of Dvips</a>: <a href="#Installation">Installation</a></li> +<li><a href="#index-continuation-lines_002c-not-supported-272">continuation lines, not supported</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-control_002dD-126">control-D</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-copies_002c-collated-105">copies, collated</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-copies_002c-duplicated-page-bodies-95">copies, duplicated page bodies</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-copies_002c-uncollated-102">copies, uncollated</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-Crayola-crayon-box-673">Crayola crayon box</a>: <a href="#Color-macro-files">Color macro files</a></li> +<li><a href="#index-crop_002epro-142"><code>crop.pro</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-cropmarks-141">cropmarks</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-current-font_002c-in-PostScript-564">current font, in PostScript</a>: <a href="#PostScript-typesetting">PostScript typesetting</a></li> +<li><a href="#index-D-_0040r_007bconfig-command-_0028dpi_0029_007d-277"><code>D </code><span class="roman">config command (dpi)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-dated-output-467">dated output</a>: <a href="#PostScript-hooks">PostScript hooks</a></li> +<li><a href="#index-datestamp_002c-in-output-281">datestamp, in output</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-debugging-108">debugging</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-debugging-48">debugging</a>: <a href="#Diagnosing-problems">Diagnosing problems</a></li> +<li><a href="#index-debugging-options-49">debugging options</a>: <a href="#Debug-options">Debug options</a></li> +<li><a href="#index-default-resolutions-315">default resolutions</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-default_005ftexsizes-_0040r_007bMake-variable_007d-319"><code>default_texsizes </code><span class="roman">Make variable</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-Deutsch_002c-Peter-33">Deutsch, Peter</a>: <a href="#Ghostscript-installation">Ghostscript installation</a></li> +<li><a href="#index-device-dependency_002c-and-virtual-fonts-330">device dependency, and virtual fonts</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-dictionary_002c-_0040code_007bCharStrings_007d-569">dictionary, <code>CharStrings</code></a>: <a href="#PostScript-typesetting">PostScript typesetting</a></li> +<li><a href="#index-dictionary_002c-PostScript-language-565">dictionary, PostScript language</a>: <a href="#PostScript-typesetting">PostScript typesetting</a></li> +<li><a href="#index-dictionary_002c-_0040code_007bSDict_007d-460">dictionary, <code>SDict</code></a>: <a href="#Literal-headers">Literal headers</a></li> +<li><a href="#index-dictionary_002c-_0040code_007buserdict_007d-428">dictionary, <code>userdict</code></a>: <a href="#Header-files">Header files</a></li> +<li><a href="#index-distillation_002c-and-_0040samp_007b_002dz_007d-243">distillation, and ‘<samp><span class="samp">-z</span></samp>’</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-distiller_002c-for-PDF-files-479">distiller, for PDF files</a>: <a href="#Hypertext">Hypertext</a></li> +<li><a href="#index-dot-accent-600">dot accent</a>: <a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></li> +<li><a href="#index-double_002dsided-printing-99">double-sided printing</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-downloading-fonts-partially-664">downloading fonts partially</a>: <a href="#psfonts_002emap">psfonts.map</a></li> +<li><a href="#index-downloading-PostScript-fonts-648">downloading PostScript fonts</a>: <a href="#psfonts_002emap">psfonts.map</a></li> +<li><a href="#index-Doyle_002c-Mark-483">Doyle, Mark</a>: <a href="#Hypertext">Hypertext</a></li> +<li><a href="#index-draft-copies-466">draft copies</a>: <a href="#PostScript-hooks">PostScript hooks</a></li> +<li><a href="#index-dual-paper-trays-354">dual paper trays</a>: <a href="#Paper-trays">Paper trays</a></li> +<li><a href="#index-duplex-printers-441">duplex printers</a>: <a href="#Including-headers-from-the-command-line">Including headers from the command line</a></li> +<li><a href="#index-DVI-magnification-389">DVI magnification</a>: <a href="#EPSF-scaling">EPSF scaling</a></li> +<li><a href="#index-dvihps_0040r_007b_002c-hyperdvi-to-PostScript_007d-487"><code>dvihps</code><span class="roman">, hyperdvi to PostScript</span></a>: <a href="#Hypertext">Hypertext</a></li> +<li><a href="#index-Dvips-configuration-file-options-270">Dvips configuration file options</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-dvips_002eenc-554"><code>dvips.enc</code></a>: <a href="#Encodings">Encodings</a></li> +<li><a href="#index-DVIPSDEBUG-249"><code>DVIPSDEBUG</code></a>: <a href="#Environment-variables">Environment variables</a></li> +<li><a href="#index-DVIPSFONTS-251"><code>DVIPSFONTS</code></a>: <a href="#Environment-variables">Environment variables</a></li> +<li><a href="#index-DVIPSHEADERS-252"><code>DVIPSHEADERS</code></a>: <a href="#Environment-variables">Environment variables</a></li> +<li><a href="#index-DVIPSHEADERS_0040r_007b_002c-overrides_007d-H-289"><code>DVIPSHEADERS</code><span class="roman">, overrides</span><code> H</code></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-DVIPSMAKEPK-253"><code>DVIPSMAKEPK</code></a>: <a href="#Environment-variables">Environment variables</a></li> +<li><a href="#index-DVIPSRC-255"><code>DVIPSRC</code></a>: <a href="#Environment-variables">Environment variables</a></li> +<li><a href="#index-DVIPSSIZES-256"><code>DVIPSSIZES</code></a>: <a href="#Environment-variables">Environment variables</a></li> +<li><a href="#index-DVIPSSIZES_0040r_007b_002c-overrides_007d-R-317"><code>DVIPSSIZES</code><span class="roman">, overrides</span><code> R</code></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-dynamic-creation-of-graphics-415">dynamic creation of graphics</a>: <a href="#Dynamic-creation-of-graphics">Dynamic creation of graphics</a></li> +<li><a href="#index-e-_0040r_007bconfig-command-_0028maxdrift_0029_007d-278"><code>e </code><span class="roman">config command (maxdrift)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-E-_0040r_007bconfig-command-_0028shell-escape_0029_007d-279"><code>E </code><span class="roman">config command (shell escape)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-efficiency_002c-and-fonts-577">efficiency, and fonts</a>: <a href="#Making-a-font-available">Making a font available</a></li> +<li><a href="#index-ehandler_002eps-54"><code>ehandler.ps</code></a>: <a href="#No-output">No output</a></li> +<li><a href="#index-embedding-Type-1-fonts-492">embedding Type 1 fonts</a>: <a href="#Hypertext-caveats">Hypertext caveats</a></li> +<li><a href="#index-encoding-changes-582">encoding changes</a>: <a href="#Changing-font-encodings">Changing font encodings</a></li> +<li><a href="#index-encoding-file-format-608">encoding file format</a>: <a href="#Encoding-file-format">Encoding file format</a></li> +<li><a href="#index-encoding-files-552">encoding files</a>: <a href="#Encodings">Encodings</a></li> +<li><a href="#index-Encoding-_0040r_007bType-1-dictionary_007d-567"><code>Encoding </code><span class="roman">Type 1 dictionary</span></a>: <a href="#PostScript-typesetting">PostScript typesetting</a></li> +<li><a href="#index-encoding-vectors_002c-defined-553">encoding vectors, defined</a>: <a href="#Encodings">Encodings</a></li> +<li><a href="#index-encoding-vectors_002c-in-Type-1-fonts-566">encoding vectors, in Type 1 fonts</a>: <a href="#PostScript-typesetting">PostScript typesetting</a></li> +<li><a href="#index-encodings-549">encodings</a>: <a href="#Encodings">Encodings</a></li> +<li><a href="#index-end_002dhook-465"><code>end-hook</code></a>: <a href="#PostScript-hooks">PostScript hooks</a></li> +<li><a href="#index-environment-variables-248">environment variables</a>: <a href="#Environment-variables">Environment variables</a></li> +<li><a href="#index-EOF-125">EOF</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-eop_002dhook-463"><code>eop-hook</code></a>: <a href="#PostScript-hooks">PostScript hooks</a></li> +<li><a href="#index-EPS_002c-and-Ghostview-43">EPS, and Ghostview</a>: <a href="#Ghostscript-installation">Ghostscript installation</a></li> +<li><a href="#index-EPSF-macros-374">EPSF macros</a>: <a href="#EPSF-macros">EPSF macros</a></li> +<li><a href="#index-EPSF_002c-generating-116">EPSF, generating</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-epsf_002esty-377"><code>epsf.sty</code></a>: <a href="#EPSF-macros">EPSF macros</a></li> +<li><a href="#index-epsf_002etex-376"><code>epsf.tex</code></a>: <a href="#EPSF-macros">EPSF macros</a></li> +<li><a href="#index-Epson-printers-34">Epson printers</a>: <a href="#Ghostscript-installation">Ghostscript installation</a></li> +<li><a href="#index-error-messages-from-printer-64">error messages from printer</a>: <a href="#Printer-errors">Printer errors</a></li> +<li><a href="#index-even-pages-only-98">even pages only</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-examples-of-literal-PostScript-471">examples of literal PostScript</a>: <a href="#Literal-examples">Literal examples</a></li> +<li><a href="#index-expanded-fonts-652">expanded fonts</a>: <a href="#psfonts_002emap">psfonts.map</a></li> +<li><a href="#index-expanded-fonts-634">expanded fonts</a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li> +<li><a href="#index-expanded-fonts-620">expanded fonts</a>: <a href="#Special-font-effects">Special font effects</a></li> +<li><a href="#index-expansion_002c-of-virtual-fonts-547">expansion, of virtual fonts</a>: <a href="#Virtual-fonts">Virtual fonts</a></li> +<li><a href="#index-extended-URL-501">extended URL</a>: <a href="#Hypertext-specials">Hypertext specials</a></li> +<li><a href="#index-ExtendFont-622"><code>ExtendFont</code></a>: <a href="#Special-font-effects">Special font effects</a></li> +<li><a href="#index-extra-characters_002c-accessing-593">extra characters, accessing</a>: <a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></li> +<li><a href="#index-F-_0040r_007bconfig-command-_0028filter_0029_007d-284"><code>F </code><span class="roman">config command (filter)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-f-_0040r_007bconfig-command-_0028filter_0029_007d-283"><code>f </code><span class="roman">config command (filter)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-failure_002c-and-printer-errors-65">failure, and printer errors</a>: <a href="#Printer-errors">Printer errors</a></li> +<li><a href="#index-failure_002c-of-long-documents-71">failure, of long documents</a>: <a href="#Long-documents-fail">Long documents fail</a></li> +<li><a href="#index-failure_002c-to-include-graphics-74">failure, to include graphics</a>: <a href="#Including-graphics-fails">Including graphics fails</a></li> +<li><a href="#index-failure_002c-to-print-at-all-53">failure, to print at all</a>: <a href="#No-output">No output</a></li> +<li><a href="#index-fallback-resolutions-314">fallback resolutions</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-figures-and-fonts-419">figures and fonts</a>: <a href="#Fonts-in-figures">Fonts in figures</a></li> +<li><a href="#index-figures_002c-natural-size-381">figures, natural size</a>: <a href="#EPSF-macros">EPSF macros</a></li> +<li><a href="#index-figures_002c-scaling-385">figures, scaling</a>: <a href="#EPSF-scaling">EPSF scaling</a></li> +<li><a href="#index-filter_002c-running-as-a-120">filter, running as a</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-first-page-printed-190">first page printed</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-font-concepts-513">font concepts</a>: <a href="#Font-concepts">Font concepts</a></li> +<li><a href="#index-font-generation_002c-avoiding-158">font generation, avoiding</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-fontinst-579"><code>fontinst</code></a>: <a href="#Invoking-afm2tfm">Invoking afm2tfm</a></li> +<li><a href="#index-fonts_002c-as-header-files-433">fonts, as header files</a>: <a href="#Including-headers-from-TeX">Including headers from TeX</a></li> +<li><a href="#index-fonts_002c-changing-encoding-of-583">fonts, changing encoding of</a>: <a href="#Changing-font-encodings">Changing font encodings</a></li> +<li><a href="#index-fonts_002c-downloading-649">fonts, downloading</a>: <a href="#psfonts_002emap">psfonts.map</a></li> +<li><a href="#index-fonts_002c-expanded-621">fonts, expanded</a>: <a href="#Special-font-effects">Special font effects</a></li> +<li><a href="#index-fonts_002c-in-PostScript-figures-420">fonts, in PostScript figures</a>: <a href="#Fonts-in-figures">Fonts in figures</a></li> +<li><a href="#index-fonts_002c-installation-of-PostScript-15">fonts, installation of PostScript</a>: <a href="#PostScript-font-installation">PostScript font installation</a></li> +<li><a href="#index-fonts_002c-installing-573">fonts, installing</a>: <a href="#Making-a-font-available">Making a font available</a></li> +<li><a href="#index-fonts_002c-outlined-627">fonts, outlined</a>: <a href="#Special-font-effects">Special font effects</a></li> +<li><a href="#index-fonts_002c-slanted-617">fonts, slanted</a>: <a href="#Special-font-effects">Special font effects</a></li> +<li><a href="#index-fonts_002c-small-caps-624">fonts, small caps</a>: <a href="#Special-font-effects">Special font effects</a></li> +<li><a href="#index-fonts_002c-system-PostScript-27">fonts, system PostScript</a>: <a href="#PostScript-font-installation">PostScript font installation</a></li> +<li><a href="#index-G-_0040r_007bcharacter-shifting-config-command_007d-285"><code>G </code><span class="roman">character shifting config command</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-gf-files-541">gf files</a>: <a href="#Glyph-files">Glyph files</a></li> +<li><a href="#index-gftopk-542"><code>gftopk</code></a>: <a href="#Glyph-files">Glyph files</a></li> +<li><a href="#index-Ghostscript-installation-31">Ghostscript installation</a>: <a href="#Ghostscript-installation">Ghostscript installation</a></li> +<li><a href="#index-ghostview-41"><code>ghostview</code></a>: <a href="#Ghostscript-installation">Ghostscript installation</a></li> +<li><a href="#index-Ghostview_002c-and-no-_0040samp_007bN_007d-42">Ghostview, and no ‘<samp><span class="samp">N</span></samp>’</a>: <a href="#Ghostscript-installation">Ghostscript installation</a></li> +<li><a href="#index-glyph-files-527">glyph files</a>: <a href="#Glyph-files">Glyph files</a></li> +<li><a href="#index-GLYPHFONTS_0040r_007b_002c-overrides_007d-P-308"><code>GLYPHFONTS</code><span class="roman">, overrides</span><code> P</code></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-GNU-Ghostscript-39">GNU Ghostscript</a>: <a href="#Ghostscript-installation">Ghostscript installation</a></li> +<li><a href="#index-gnuplot-418"><code>gnuplot</code></a>: <a href="#Dynamic-creation-of-graphics">Dynamic creation of graphics</a></li> +<li><a href="#index-graphics-inclusion-fails-73">graphics inclusion fails</a>: <a href="#Including-graphics-fails">Including graphics fails</a></li> +<li><a href="#index-gs-_0040r_007binstallation_007d-32"><code>gs </code><span class="roman">installation</span></a>: <a href="#Ghostscript-installation">Ghostscript installation</a></li> +<li><a href="#index-gsave_0040r_007b_002f_007dgrestore_0040r_007b_002c-and-literal-PS_007d-473"><code>gsave</code><span class="roman">/</span><code>grestore</code><span class="roman">, and literal PS</span></a>: <a href="#Literal-examples">Literal examples</a></li> +<li><a href="#index-gsftopk-232"><code>gsftopk</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-h-_0040r_007bheader-downloading-config-command_007d-286"><code>h </code><span class="roman">header downloading config command</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-H-_0040r_007bheader-path-config-command_007d-287"><code>H </code><span class="roman">header path config command</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-Hafner_002c-Jim-670">Hafner, Jim</a>: <a href="#Color">Color</a></li> +<li><a href="#index-header-file_002c-downloading-133">header file, downloading</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-header-files_002c-defined-422">header files, defined</a>: <a href="#Header-files">Header files</a></li> +<li><a href="#index-header-path_002c-defining-288">header path, defining</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-header_003d_0040var_007bfile_007d-_005cspecial-430"><code>header=</code><var>file</var><code> \special</code></a>: <a href="#Including-headers-from-TeX">Including headers from TeX</a></li> +<li><a href="#index-headers-and-memory-usage-444">headers and memory usage</a>: <a href="#Headers-and-memory-usage">Headers and memory usage</a></li> +<li><a href="#index-headers_002c-including-from-the-command-line-440">headers, including from the command line</a>: <a href="#Including-headers-from-the-command-line">Including headers from the command line</a></li> +<li><a href="#index-headers_002c-including-in-_0040TeX_007b_007d-432">headers, including in TeX</a>: <a href="#Including-headers-from-TeX">Including headers from TeX</a></li> +<li><a href="#index-hints-570">hints</a>: <a href="#PostScript-typesetting">PostScript typesetting</a></li> +<li><a href="#index-hoffset-_0040r_007b_0028_0040samp_007bpsfile_007d-special-option_0029_007d-399"><code>hoffset </code><span class="roman">(‘</span><samp><span class="samp">psfile</span></samp><span class="roman">’ special option)</span></a>: <a href="#psfile-special">psfile special</a></li> +<li><a href="#index-HP-printers-and-Type-1-fonts-30">HP printers and Type 1 fonts</a>: <a href="#PostScript-font-installation">PostScript font installation</a></li> +<li><a href="#index-HP4Si-printer-and-paper-trays-356">HP4Si printer and paper trays</a>: <a href="#Paper-trays">Paper trays</a></li> +<li><a href="#index-href-505"><code>href</code></a>: <a href="#Hypertext-specials">Hypertext specials</a></li> +<li><a href="#index-hscale-_0040r_007b_0028_0040samp_007bpsfile_007d-special-option_0029_007d-403"><code>hscale </code><span class="roman">(‘</span><samp><span class="samp">psfile</span></samp><span class="roman">’ special option)</span></a>: <a href="#psfile-special">psfile special</a></li> +<li><a href="#index-hsize-_0040r_007b_0028_0040samp_007bpsfile_007d-special-option_0029_007d-401"><code>hsize </code><span class="roman">(‘</span><samp><span class="samp">psfile</span></samp><span class="roman">’ special option)</span></a>: <a href="#psfile-special">psfile special</a></li> +<li><a href="#index-html-_0040r_007bspecials_007d-477"><code>html </code><span class="roman">specials</span></a>: <a href="#Hypertext">Hypertext</a></li> +<li><a href="#index-html-_0040r_007bspecials_002c-and-_0040samp_007b_002dz_007d_007d-245"><code>html </code><span class="roman">specials, and ‘</span><samp><span class="samp">-z</span></samp><span class="roman">’</span></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_0040code_007bhttp_003a_002f_002fwww_002ewin_002etue_002enl_002f_007edickie_002fidvi_007d-481"><code>http://www.win.tue.nl/~dickie/idvi</code></a>: <a href="#Hypertext">Hypertext</a></li> +<li><a href="#index-g_t_0040code_007bhttp_003a_002f_002fxxx_002elanl_002egov_002fhypertex_007d-482"><code>http://xxx.lanl.gov/hypertex</code></a>: <a href="#Hypertext">Hypertext</a></li> +<li><a href="#index-Hungarian-umlaut-599">Hungarian umlaut</a>: <a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></li> +<li><a href="#index-hyperdvi-extensions_002c-enabling-242">hyperdvi extensions, enabling</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-hypertext-and-bitmap-fonts-490">hypertext and bitmap fonts</a>: <a href="#Hypertext-caveats">Hypertext caveats</a></li> +<li><a href="#index-hypertext-caveats-488">hypertext caveats</a>: <a href="#Hypertext-caveats">Hypertext caveats</a></li> +<li><a href="#index-hypertext-specials-497">hypertext specials</a>: <a href="#Hypertext-specials">Hypertext specials</a></li> +<li><a href="#index-hypertext-support-475">hypertext support</a>: <a href="#Hypertext">Hypertext</a></li> +<li><a href="#index-i-_0040r_007bconfig-command-_0028pages_002fsection_0029_007d-290"><code>i </code><span class="roman">config command (pages/section)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-idvi-_0040r_007bJava-DVI-reader_007d-486"><code>idvi </code><span class="roman">Java DVI reader</span></a>: <a href="#Hypertext">Hypertext</a></li> +<li><a href="#index-Illustrator_002c-workaround-for-75">Illustrator, workaround for</a>: <a href="#Including-graphics-fails">Including graphics fails</a></li> +<li><a href="#index-img-509"><code>img</code></a>: <a href="#Hypertext-specials">Hypertext specials</a></li> +<li><a href="#index-including-graphics-fails-72">including graphics fails</a>: <a href="#Including-graphics-fails">Including graphics fails</a></li> +<li><a href="#index-including-headers-from-the-command-line-438">including headers from the command line</a>: <a href="#Including-headers-from-the-command-line">Including headers from the command line</a></li> +<li><a href="#index-including-headers-in-_0040TeX_007b_007d-429">including headers in TeX</a>: <a href="#Including-headers-from-TeX">Including headers from TeX</a></li> +<li><a href="#index-installation-of-_0040file_007bconfig_002eps_007d-6">installation of <samp><span class="file">config.ps</span></samp></a>: <a href="#config_002eps-installation">config.ps installation</a></li> +<li><a href="#index-installation-of-PostScript-fonts-14">installation of PostScript fonts</a>: <a href="#PostScript-font-installation">PostScript font installation</a></li> +<li><a href="#index-installation_002c-of-Dvips-4">installation, of Dvips</a>: <a href="#Installation">Installation</a></li> +<li><a href="#index-installing-fonts-572">installing fonts</a>: <a href="#Making-a-font-available">Making a font available</a></li> +<li><a href="#index-interaction-with-PostScript-359">interaction with PostScript</a>: <a href="#Interaction-with-PostScript">Interaction with PostScript</a></li> +<li><a href="#index-inverted-output-60">inverted output</a>: <a href="#Small-or-inverted">Small or inverted</a></li> +<li><a href="#index-invoking-Dvips-79">invoking Dvips</a>: <a href="#Invoking-Dvips">Invoking Dvips</a></li> +<li><a href="#index-j-_0040r_007bconfig-command-_0028partial-font-downloading_0029_007d-291"><code>j </code><span class="roman">config command (partial font downloading)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-Java-DVI-reader-485">Java DVI reader</a>: <a href="#Hypertext">Hypertext</a></li> +<li><a href="#index-Jeffrey_002c-Alan-581">Jeffrey, Alan</a>: <a href="#Invoking-afm2tfm">Invoking afm2tfm</a></li> +<li><a href="#index-K-_0040r_007bconfig-command-_0028comment_002dremoval_0029_007d-292"><code>K </code><span class="roman">config command (comment-removal)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-kerning_002c-defined-515">kerning, defined</a>: <a href="#Metric-files">Metric files</a></li> +<li><a href="#index-KPATHSEA_005fDEBUG-250"><code>KPATHSEA_DEBUG</code></a>: <a href="#Environment-variables">Environment variables</a></li> +<li><a href="#index-landscape-orientation_002c-defined-338">landscape orientation, defined</a>: <a href="#Paper-size-and-landscape">Paper size and landscape</a></li> +<li><a href="#index-landscape-papertype-221">landscape papertype</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-landscape_0040r_007b_002c-as-_0040code_007b_005cspecial_007d_007d-341"><code>landscape</code><span class="roman">, as </span><code>\special</code></a>: <a href="#papersize-special">papersize special</a></li> +<li><a href="#index-last-page-printed-147">last page printed</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-last_002dresort-font-scaling_002c-with-_0040code_007bDVIPSSIZES_007d-257">last-resort font scaling, with <code>DVIPSSIZES</code></a>: <a href="#Environment-variables">Environment variables</a></li> +<li><a href="#index-last_002dresort-scaling_002c-with-_0040code_007bR_007d-316">last-resort scaling, with <code>R</code></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-ledger-papertype-218">ledger papertype</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-legal-papertype-217">legal papertype</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-letter-_0040r_007bpaper-size_007d-349"><code>letter </code><span class="roman">paper size</span></a>: <a href="#Config-file-paper-sizes">Config file paper sizes</a></li> +<li><a href="#index-letter-papertype-216">letter papertype</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-letterhead-tray-358">letterhead tray</a>: <a href="#Paper-trays">Paper trays</a></li> +<li><a href="#index-letterSize-_0040r_007bpaper-size_007d-351"><code>letterSize </code><span class="roman">paper size</span></a>: <a href="#Config-file-paper-sizes">Config file paper sizes</a></li> +<li><a href="#index-ligature-operations-612">ligature operations</a>: <a href="#Encoding-file-format">Encoding file format</a></li> +<li><a href="#index-ligature_002c-defined-516">ligature, defined</a>: <a href="#Metric-files">Metric files</a></li> +<li><a href="#index-LIGKERN-_0040r_007bencoding-file-command_007d-610"><code>LIGKERN </code><span class="roman">encoding file command</span></a>: <a href="#Encoding-file-format">Encoding file format</a></li> +<li><a href="#index-lines-in-figures_002c-wrong-width-397">lines in figures, wrong width</a>: <a href="#EPSF-clipping">EPSF clipping</a></li> +<li><a href="#index-links_002c-hypertext-506">links, hypertext</a>: <a href="#Hypertext-specials">Hypertext specials</a></li> +<li><a href="#index-literal-headers-457">literal headers</a>: <a href="#Literal-headers">Literal headers</a></li> +<li><a href="#index-literal-PostScript_002c-examples-470">literal PostScript, examples</a>: <a href="#Literal-examples">Literal examples</a></li> +<li><a href="#index-literal-PostScript_002c-using-450">literal PostScript, using</a>: <a href="#Literal-PS">Literal PS</a></li> +<li><a href="#index-llx-_0040r_007b_0028_0040samp_007bpsfile_007d-special-option_0029_007d-407"><code>llx </code><span class="roman">(‘</span><samp><span class="samp">psfile</span></samp><span class="roman">’ special option)</span></a>: <a href="#psfile-special">psfile special</a></li> +<li><a href="#index-lly-_0040r_007b_0028_0040samp_007bpsfile_007d-special-option_0029_007d-408"><code>lly </code><span class="roman">(‘</span><samp><span class="samp">psfile</span></samp><span class="roman">’ special option)</span></a>: <a href="#psfile-special">psfile special</a></li> +<li><a href="#index-long-documents-not-printing-70">long documents not printing</a>: <a href="#Long-documents-fail">Long documents fail</a></li> +<li><a href="#index-low-characters_002c-shifting-130">low characters, shifting</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-lpr-spooler_002c-MS_002dDOS-emulation-182">lpr spooler, MS-DOS emulation</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-Lucida_002c-installing-19">Lucida, installing</a>: <a href="#PostScript-font-installation">PostScript font installation</a></li> +<li><a href="#index-m-_0040r_007bconfig-command-_0028available-memory_0029_007d-293"><code>m </code><span class="roman">config command (available memory)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-M-_0040r_007bconfig-command-_0028mf-mode_0029_007d-296"><code>M </code><span class="roman">config command (mf mode)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-macros-for-color-671">macros for color</a>: <a href="#Color-macro-files">Color macro files</a></li> +<li><a href="#index-macros-for-epsf-inclusion-375">macros for epsf inclusion</a>: <a href="#EPSF-macros">EPSF macros</a></li> +<li><a href="#index-macros-for-epsf-inclusion-372">macros for epsf inclusion</a>: <a href="#g_t_005cincludegraphics">\includegraphics</a></li> +<li><a href="#index-magnification_002c-DVI-390">magnification, DVI</a>: <a href="#EPSF-scaling">EPSF scaling</a></li> +<li><a href="#index-magnification_002c-overriding-DVI-235">magnification, overriding DVI</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-magnification_002c-vertical-238">magnification, vertical</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-mailcap-_0040r_007band-hypertext_007d-510"><code>mailcap </code><span class="roman">and hypertext</span></a>: <a href="#Hypertext-specials">Hypertext specials</a></li> +<li><a href="#index-manual-feed-152">manual feed</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-maxdrift-112">maxdrift</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-maximum-pages-printed-164">maximum pages printed</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-media-215">media</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-memory-available-294">memory available</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-memory-of-printer-exhausted-69">memory of printer exhausted</a>: <a href="#Printer-errors">Printer errors</a></li> +<li><a href="#index-memory-usage_002c-and-headers-445">memory usage, and headers</a>: <a href="#Headers-and-memory-usage">Headers and memory usage</a></li> +<li><a href="#index-memory_002c-conserving-90">memory, conserving</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-memory_002c-used-by-PostScript-fonts-576">memory, used by PostScript fonts</a>: <a href="#Making-a-font-available">Making a font available</a></li> +<li><a href="#index-Metafont-ligature-operations-613">Metafont ligature operations</a>: <a href="#Encoding-file-format">Encoding file format</a></li> +<li><a href="#index-Metafont-mode_002c-specifying-156">Metafont mode, specifying</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-Metafont-source-files-538">Metafont source files</a>: <a href="#Glyph-files">Glyph files</a></li> +<li><a href="#index-metric-files-514">metric files</a>: <a href="#Metric-files">Metric files</a></li> +<li><a href="#index-Minion-typeface-family-667">Minion typeface family</a>: <a href="#psfonts_002emap">psfonts.map</a></li> +<li><a href="#index-missfont_002elog-160"><code>missfont.log</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-MISSFONT_005fLOG-162"><code>MISSFONT_LOG</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-Mitsubishi-Shinko-CHC_002dS446i-printer-57">Mitsubishi Shinko CHC-S446i printer</a>: <a href="#No-output">No output</a></li> +<li><a href="#index-mkdvipspapers-347"><code>mkdvipspapers</code></a>: <a href="#Config-file-paper-sizes">Config file paper sizes</a></li> +<li><a href="#index-mktexpk_0040r_007b_002c-avoiding_007d-159"><code>mktexpk</code><span class="roman">, avoiding</span></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-mktexpk_0040r_007b_002c-changing-name_007d-254"><code>mktexpk</code><span class="roman">, changing name</span></a>: <a href="#Environment-variables">Environment variables</a></li> +<li><a href="#index-mode-name_002c-specifying-155">mode name, specifying</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-Monotype-fonts-20">Monotype fonts</a>: <a href="#PostScript-font-installation">PostScript font installation</a></li> +<li><a href="#index-Monotype-fonts_002c-installing-24">Monotype fonts, installing</a>: <a href="#PostScript-font-installation">PostScript font installation</a></li> +<li><a href="#index-mtpk-231"><code>mtpk</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-multiple-master-fonts-666">multiple master fonts</a>: <a href="#psfonts_002emap">psfonts.map</a></li> +<li><a href="#index-multiple-output-files-137">multiple output files</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-multiple-paper-trays-355">multiple paper trays</a>: <a href="#Paper-trays">Paper trays</a></li> +<li><a href="#index-Murphy_002c-Tim-503">Murphy, Tim</a>: <a href="#Hypertext-specials">Hypertext specials</a></li> +<li><a href="#index-N-_0040r_007bEPS_002ddisabling-config-command_007d-297"><code>N </code><span class="roman">EPS-disabling config command</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-name-507"><code>name</code></a>: <a href="#Hypertext-specials">Hypertext specials</a></li> +<li><a href="#index-narrow-fonts-654">narrow fonts</a>: <a href="#psfonts_002emap">psfonts.map</a></li> +<li><a href="#index-no-output-at-all-52">no output at all</a>: <a href="#No-output">No output</a></li> +<li><a href="#index-non_002dprinting-characters_002c-shifting-131">non-printing characters, shifting</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-non_002dresident-fonts-647">non-resident fonts</a>: <a href="#psfonts_002emap">psfonts.map</a></li> +<li><a href="#index-nopaper_0040r_007b_002c-paper-format-for-_0040samp_007b_002dt_007d_007d-346"><code>nopaper</code><span class="roman">, paper format for ‘</span><samp><span class="samp">-t</span></samp><span class="roman">’</span></a>: <a href="#Config-file-paper-sizes">Config file paper sizes</a></li> +<li><a href="#index-O-_0040r_007bconfig-command-_0028offset_0029_007d-300"><code>O </code><span class="roman">config command (offset)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-o-_0040r_007bconfig-command-_0028output-file_0029_007d-298"><code>o </code><span class="roman">config command (output file)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-oblique-fonts-615">oblique fonts</a>: <a href="#Special-font-effects">Special font effects</a></li> +<li><a href="#index-octal-character-codes-637">octal character codes</a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li> +<li><a href="#index-odd-pages-only-92">odd pages only</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-offset-pages-185">offset pages</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-Omega-extensions-171">Omega extensions</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-option_002c-details-of-83">option, details of</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-options_002c-debugging-50">options, debugging</a>: <a href="#Debug-options">Debug options</a></li> +<li><a href="#index-options_002c-Dvips-78">options, Dvips</a>: <a href="#Invoking-Dvips">Invoking Dvips</a></li> +<li><a href="#index-options_002c-reading-from-standard-input-85">options, reading from standard input</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-options_002c-summary-81">options, summary</a>: <a href="#Option-summary">Option summary</a></li> +<li><a href="#index-options_002c-to-Afm2tfm-628">options, to Afm2tfm</a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li> +<li><a href="#index-outline-fonts-626">outline fonts</a>: <a href="#Special-font-effects">Special font effects</a></li> +<li><a href="#index-outline-fonts-528">outline fonts</a>: <a href="#Glyph-files">Glyph files</a></li> +<li><a href="#index-output-file_002c-sectioning-of-447">output file, sectioning of</a>: <a href="#Headers-and-memory-usage">Headers and memory usage</a></li> +<li><a href="#index-output-file_002c-setting-299">output file, setting</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-output-files_002c-multiple-138">output files, multiple</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-output_002c-inverted-59">output, inverted</a>: <a href="#Small-or-inverted">Small or inverted</a></li> +<li><a href="#index-output_002c-none-51">output, none</a>: <a href="#No-output">No output</a></li> +<li><a href="#index-output_002c-redirecting-176">output, redirecting</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-output_002c-too-small-58">output, too small</a>: <a href="#Small-or-inverted">Small or inverted</a></li> +<li><a href="#index-p-_0040r_007bconfig-command-_0028font-aliases_0029_007d-301"><code>p </code><span class="roman">config command (font aliases)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-P-_0040r_007bconfig-command-_0028PK-path_0029_007d-305"><code>P </code><span class="roman">config command (PK path)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-page-range-195">page range</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-page_002c-first-printed-191">page, first printed</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-page_002c-last-printed-148">page, last printed</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-pages_002c-maximum-printed-165">pages, maximum printed</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-PaintType-625"><code>PaintType</code></a>: <a href="#Special-font-effects">Special font effects</a></li> +<li><a href="#index-Pantone-colors-674">Pantone colors</a>: <a href="#Color-macro-files">Color macro files</a></li> +<li><a href="#index-paper-size-configuration-file-command-343">paper size configuration file command</a>: <a href="#Config-file-paper-sizes">Config file paper sizes</a></li> +<li><a href="#index-paper-size_002c-default-8">paper size, default</a>: <a href="#config_002eps-installation">config.ps installation</a></li> +<li><a href="#index-paper-size_002c-general-337">paper size, general</a>: <a href="#Paper-size-and-landscape">Paper size and landscape</a></li> +<li><a href="#index-paper-trays-353">paper trays</a>: <a href="#Paper-trays">Paper trays</a></li> +<li><a href="#index-paper-type-214">paper type</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-papersize-_0040r_007bspecial_007d-340"><code>papersize </code><span class="roman">special</span></a>: <a href="#papersize-special">papersize special</a></li> +<li><a href="#index-papersize-special_002c-and-no-_0040samp_007b_002dt_007d-222">papersize special, and no ‘<samp><span class="samp">-t</span></samp>’</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-partial-font-downloading-663">partial font downloading</a>: <a href="#psfonts_002emap">psfonts.map</a></li> +<li><a href="#index-PDF-files_002c-font-quality-493">PDF files, font quality</a>: <a href="#Hypertext-caveats">Hypertext caveats</a></li> +<li><a href="#index-PDF-files_002c-making-480">PDF files, making</a>: <a href="#Hypertext">Hypertext</a></li> +<li><a href="#index-PDF-files_002c-making-37">PDF files, making</a>: <a href="#Ghostscript-installation">Ghostscript installation</a></li> +<li><a href="#index-PDF-files_002c-option-for-244">PDF files, option for</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-pdfmark-478"><code>pdfmark</code></a>: <a href="#Hypertext">Hypertext</a></li> +<li><a href="#index-pfa-files-532">pfa files</a>: <a href="#Glyph-files">Glyph files</a></li> +<li><a href="#index-pfb-files-533">pfb files</a>: <a href="#Glyph-files">Glyph files</a></li> +<li><a href="#index-pfb-files_002c-automatically-unpacked-662">pfb files, automatically unpacked</a>: <a href="#psfonts_002emap">psfonts.map</a></li> +<li><a href="#index-pfm-files-525">pfm files</a>: <a href="#Metric-files">Metric files</a></li> +<li><a href="#index-Phaser-printer_002c-used-for-color-calibration-684">Phaser printer, used for color calibration</a>: <a href="#Color-device-configuration">Color device configuration</a></li> +<li><a href="#index-physical-page-number_002c-and-_0040samp_007b_002dl_007d-149">physical page number, and ‘<samp><span class="samp">-l</span></samp>’</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-physical-page-number_002c-and-_0040samp_007b_002dp_007d-192">physical page number, and ‘<samp><span class="samp">-p</span></samp>’</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-physical-page-number_002c-and-_0040code_007bbop_002dhook_007d-468">physical page number, and <code>bop-hook</code></a>: <a href="#PostScript-hooks">PostScript hooks</a></li> +<li><a href="#index-pipes_002c-not-readable-122">pipes, not readable</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-pk-files-539">pk files</a>: <a href="#Glyph-files">Glyph files</a></li> +<li><a href="#index-PKFONTS_0040r_007b_002c-overrides_007d-P-306"><code>PKFONTS</code><span class="roman">, overrides</span><code> P</code></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-plotfile_0040r_007b_002c-_0040samp_007bps_007d-subspecial_007d-455"><code>plotfile</code><span class="roman">, ‘</span><samp><span class="samp">ps</span></samp><span class="roman">’ subspecial</span></a>: <a href="#ps-special">ps special</a></li> +<li><a href="#index-pltotf-523"><code>pltotf</code></a>: <a href="#Metric-files">Metric files</a></li> +<li><a href="#index-popen-_0040r_007bfor-output_007d-178"><code>popen </code><span class="roman">for output</span></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-portrait-orientation_002c-defined-339">portrait orientation, defined</a>: <a href="#Paper-size-and-landscape">Paper size and landscape</a></li> +<li><a href="#index-positioning-accuracy-114">positioning accuracy</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-post-_0040r_007bcode-after-headers_007d-437"><code>post </code><span class="roman">code after headers</span></a>: <a href="#Including-headers-from-TeX">Including headers from TeX</a></li> +<li><a href="#index-PostScript-code_002c-literal-451">PostScript code, literal</a>: <a href="#Literal-PS">Literal PS</a></li> +<li><a href="#index-PostScript-encoding-551">PostScript encoding</a>: <a href="#Encodings">Encodings</a></li> +<li><a href="#index-PostScript-encoding_002c-changing-589">PostScript encoding, changing</a>: <a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></li> +<li><a href="#index-PostScript-font-alias-file-302">PostScript font alias file</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-PostScript-font-alias-file-225">PostScript font alias file</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-PostScript-fonts-512">PostScript fonts</a>: <a href="#PostScript-fonts">PostScript fonts</a></li> +<li><a href="#index-PostScript-fonts_002c-installing-16">PostScript fonts, installing</a>: <a href="#PostScript-font-installation">PostScript font installation</a></li> +<li><a href="#index-PostScript-fonts_002c-on-your-system-28">PostScript fonts, on your system</a>: <a href="#PostScript-font-installation">PostScript font installation</a></li> +<li><a href="#index-PostScript-header-files-423">PostScript header files</a>: <a href="#Header-files">Header files</a></li> +<li><a href="#index-PostScript-hooks-461">PostScript hooks</a>: <a href="#PostScript-hooks">PostScript hooks</a></li> +<li><a href="#index-PostScript-interaction-360">PostScript interaction</a>: <a href="#Interaction-with-PostScript">Interaction with PostScript</a></li> +<li><a href="#index-PostScript-previewers-36">PostScript previewers</a>: <a href="#Ghostscript-installation">Ghostscript installation</a></li> +<li><a href="#index-PostScript-units-363">PostScript units</a>: <a href="#Bounding-box">Bounding box</a></li> +<li><a href="#index-PowerPage-PostScript-implementation-55">PowerPage PostScript implementation</a>: <a href="#No-output">No output</a></li> +<li><a href="#index-pre-_0040r_007bcode-before-headers_007d-436"><code>pre </code><span class="roman">code before headers</span></a>: <a href="#Including-headers-from-TeX">Including headers from TeX</a></li> +<li><a href="#index-previewing-Dvips-output-35">previewing Dvips output</a>: <a href="#Ghostscript-installation">Ghostscript installation</a></li> +<li><a href="#index-PRINTER-258"><code>PRINTER</code></a>: <a href="#Environment-variables">Environment variables</a></li> +<li><a href="#index-printer-configuration-7">printer configuration</a>: <a href="#config_002eps-installation">config.ps installation</a></li> +<li><a href="#index-printer-configuration-file_002c-prototype-12">printer configuration file, prototype</a>: <a href="#config_002eps-installation">config.ps installation</a></li> +<li><a href="#index-printer-errors-63">printer errors</a>: <a href="#Printer-errors">Printer errors</a></li> +<li><a href="#index-printer-memory-295">printer memory</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-printer-memory-exhausted-68">printer memory exhausted</a>: <a href="#Printer-errors">Printer errors</a></li> +<li><a href="#index-printer-offset-186">printer offset</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-PRINTER_0040r_007b_002c-and-config-file-searching_007d-268"><code>PRINTER</code><span class="roman">, and config file searching</span></a>: <a href="#Configuration-file-searching">Configuration file searching</a></li> +<li><a href="#index-PRINTER_0040r_007b_002c-avoided-with-_0040samp_007b_002df_007d_007d-123"><code>PRINTER</code><span class="roman">, avoided with ‘</span><samp><span class="samp">-f</span></samp><span class="roman">’</span></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-printer_002c-driving-directly-127">printer, driving directly</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-problems-46">problems</a>: <a href="#Diagnosing-problems">Diagnosing problems</a></li> +<li><a href="#index-property-list-files-521">property list files</a>: <a href="#Metric-files">Metric files</a></li> +<li><a href="#index-prototype-printer-configuration-file-11">prototype printer configuration file</a>: <a href="#config_002eps-installation">config.ps installation</a></li> +<li><a href="#index-ps-_0040r_007bspecial_007d-453"><code>ps </code><span class="roman">special</span></a>: <a href="#ps-special">ps special</a></li> +<li><a href="#index-psfile-_0040r_007bspecial_007d-398"><code>psfile </code><span class="roman">special</span></a>: <a href="#psfile-special">psfile special</a></li> +<li><a href="#index-psfonts_002emap-646"><code>psfonts.map</code></a>: <a href="#psfonts_002emap">psfonts.map</a></li> +<li><a href="#index-psfonts_002emap-619"><code>psfonts.map</code></a>: <a href="#Special-font-effects">Special font effects</a></li> +<li><a href="#index-psfonts_002emap-29"><code>psfonts.map</code></a>: <a href="#PostScript-font-installation">PostScript font installation</a></li> +<li><a href="#index-psheaderdir-424"><code>psheaderdir</code></a>: <a href="#Header-files">Header files</a></li> +<li><a href="#index-psi-character-missing-494">psi character missing</a>: <a href="#Hypertext-caveats">Hypertext caveats</a></li> +<li><a href="#index-pstopk-233"><code>pstopk</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-p_0040TeX_007b_007d-extensions-172">pTeX extensions</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-Q-_0040r_007bconfig-command-_0028quiet_0029_007d-311"><code>Q </code><span class="roman">config command (quiet)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-q-_0040r_007bconfig-command-_0028quiet_0029_007d-310"><code>q </code><span class="roman">config command (quiet)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-quiet-operation-200">quiet operation</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-r-_0040r_007bconfig-command-_0028page-reversal_0029_007d-312"><code>r </code><span class="roman">config command (page reversal)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-R-_0040r_007bfallback-resolution-config-command_007d-313"><code>R </code><span class="roman">fallback resolution config command</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-reencode_002f_002a_002eenc-559"><code>reencode/*.enc</code></a>: <a href="#Encodings">Encodings</a></li> +<li><a href="#index-reencoding-596">reencoding</a>: <a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></li> +<li><a href="#index-reencoding-PostScript-fonts-655">reencoding PostScript fonts</a>: <a href="#psfonts_002emap">psfonts.map</a></li> +<li><a href="#index-registered-_0040r_007bcharacter_002c-accessing_007d-592"><code>registered </code><span class="roman">character, accessing</span></a>: <a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></li> +<li><a href="#index-remapping-597">remapping</a>: <a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></li> +<li><a href="#index-resident-fonts_002c-different-in-different-printers-303">resident fonts, different in different printers</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-resident-fonts_002c-different-in-different-printers-226">resident fonts, different in different printers</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-resolution-237">resolution</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-resolution_002c-setting-110">resolution, setting</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-reverse-pagination-204">reverse pagination</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-rhi-_0040r_007b_0028_0040samp_007bpsfile_007d-special-option_0029_007d-411"><code>rhi </code><span class="roman">(‘</span><samp><span class="samp">psfile</span></samp><span class="roman">’ special option)</span></a>: <a href="#psfile-special">psfile special</a></li> +<li><a href="#index-Rokicki_002c-Tomas-1">Rokicki, Tomas</a>: <a href="#Why-Dvips">Why Dvips</a></li> +<li><a href="#index-rotate_002etex-456"><code>rotate.tex</code></a>: <a href="#ps-special">ps special</a></li> +<li><a href="#index-rwi-_0040r_007b_0028_0040samp_007bpsfile_007d-special-option_0029_007d-412"><code>rwi </code><span class="roman">(‘</span><samp><span class="samp">psfile</span></samp><span class="roman">’ special option)</span></a>: <a href="#psfile-special">psfile special</a></li> +<li><a href="#index-S-_0040r_007bconfig-command-_0028pict-path_0029_007d-321"><code>S </code><span class="roman">config command (pict path)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-s-_0040r_007bconfig-command-_0028save_002frestore_0029_007d-320"><code>s </code><span class="roman">config command (save/restore)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-save_002frestore_002c-and-inverted-output-62">save/restore, and inverted output</a>: <a href="#Small-or-inverted">Small or inverted</a></li> +<li><a href="#index-save_0040r_007b_002f_007drestore_0040r_007b_002c-and-literal-PS_007d-474"><code>save</code><span class="roman">/</span><code>restore</code><span class="roman">, and literal PS</span></a>: <a href="#Literal-examples">Literal examples</a></li> +<li><a href="#index-save_002frestore_002c-and-specials-454">save/restore, and specials</a>: <a href="#ps-special">ps special</a></li> +<li><a href="#index-save_002frestore_002c-generating-global-211">save/restore, generating global</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-scaleunit-413"><code>scaleunit</code></a>: <a href="#psfile-special">psfile special</a></li> +<li><a href="#index-scaling-of-figures-384">scaling of figures</a>: <a href="#EPSF-scaling">EPSF scaling</a></li> +<li><a href="#index-scaling-small-caps-632">scaling small caps</a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li> +<li><a href="#index-Scandinavian-A-ring-601">Scandinavian A ring</a>: <a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></li> +<li><a href="#index-screen-frequencies_002c-setting-443">screen frequencies, setting</a>: <a href="#Including-headers-from-the-command-line">Including headers from the command line</a></li> +<li><a href="#index-SDict-414"><code>SDict</code></a>: <a href="#psfile-special">psfile special</a></li> +<li><a href="#index-SDict-_0040r_007bdictionary_007d-458"><code>SDict </code><span class="roman">dictionary</span></a>: <a href="#Literal-headers">Literal headers</a></li> +<li><a href="#index-searching-config-files_002c-order-of-264">searching config files, order of</a>: <a href="#Configuration-file-searching">Configuration file searching</a></li> +<li><a href="#index-sections-of-output-file_002c-and-memory-446">sections of output file, and memory</a>: <a href="#Headers-and-memory-usage">Headers and memory usage</a></li> +<li><a href="#index-sections-output_002c-in-separate-files-136">sections output, in separate files</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-security-206">security</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-shell-command-execution_002c-disabling-207">shell command execution, disabling</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-shell-escape_002c-in-config-file-282">shell escape, in config file</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-Shinko-CHC_002dS446i-printer-56">Shinko CHC-S446i printer</a>: <a href="#No-output">No output</a></li> +<li><a href="#index-show-_0040r_007bPostScript-operator_007d-562"><code>show </code><span class="roman">PostScript operator</span></a>: <a href="#PostScript-typesetting">PostScript typesetting</a></li> +<li><a href="#index-silent-operation-201">silent operation</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-simplex-mode-on-duplex-printers-442">simplex mode on duplex printers</a>: <a href="#Including-headers-from-the-command-line">Including headers from the command line</a></li> +<li><a href="#index-slanted-fonts-616">slanted fonts</a>: <a href="#Special-font-effects">Special font effects</a></li> +<li><a href="#index-slanted-fonts_002c-making-640">slanted fonts, making</a>: <a href="#Afm2tfm-options">Afm2tfm options</a></li> +<li><a href="#index-SlantFont-618"><code>SlantFont</code></a>: <a href="#Special-font-effects">Special font effects</a></li> +<li><a href="#index-small-caps-fonts-623">small caps fonts</a>: <a href="#Special-font-effects">Special font effects</a></li> +<li><a href="#index-Smith_002c-Arthur-499">Smith, Arthur</a>: <a href="#Hypertext-specials">Hypertext specials</a></li> +<li><a href="#index-Softkey-fonts-21">Softkey fonts</a>: <a href="#PostScript-font-installation">PostScript font installation</a></li> +<li><a href="#index-Softkey-fonts_002c-installing-25">Softkey fonts, installing</a>: <a href="#PostScript-font-installation">PostScript font installation</a></li> +<li><a href="#index-spaces_002c-dropped-trailing-496">spaces, dropped trailing</a>: <a href="#Hypertext-caveats">Hypertext caveats</a></li> +<li><a href="#index-specials_002c-hypertext-498">specials, hypertext</a>: <a href="#Hypertext-specials">Hypertext specials</a></li> +<li><a href="#index-splines-530">splines</a>: <a href="#Glyph-files">Glyph files</a></li> +<li><a href="#index-spooler_002c-lacking-128">spooler, lacking</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-spooling-to-lpr-on-MS_002dDOS-183">spooling to lpr on MS-DOS</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-standard-I_002fO-121">standard I/O</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-standard-input_002c-reading-options-from-86">standard input, reading options from</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-standard-output_002c-output-to-177">standard output, output to</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-standard-PostScript_002c-required-by-Ghostview-44">standard PostScript, required by Ghostview</a>: <a href="#Ghostscript-installation">Ghostscript installation</a></li> +<li><a href="#index-start_002dhook-464"><code>start-hook</code></a>: <a href="#PostScript-hooks">PostScript hooks</a></li> +<li><a href="#index-structured-comments-167">structured comments</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-system-_0040r_007bin-config-file_007d-280"><code>system </code><span class="roman">in config file</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-T-_0040r_007bconfig-command-_0028TFM-path_0029_007d-324"><code>T </code><span class="roman">config command (TFM path)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-Tektronix-Phaser-printer_002c-used-for-color-calibration-685">Tektronix Phaser printer, used for color calibration</a>: <a href="#Color-device-configuration">Color device configuration</a></li> +<li><a href="#index-testpage_002etex-187"><code>testpage.tex</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-g_t_0040TeX_007b_007d-encoding_002c-changing-585">TeX encoding, changing</a>: <a href="#Changing-TeX-encodings">Changing TeX encodings</a></li> +<li><a href="#index-g_t_0040TeX_007b_007d_002c-including-headers-in-431">TeX, including headers in</a>: <a href="#Including-headers-from-TeX">Including headers from TeX</a></li> +<li><a href="#index-TEXCONFIG-259"><code>TEXCONFIG</code></a>: <a href="#Environment-variables">Environment variables</a></li> +<li><a href="#index-TEXFONTS_0040r_007b_002c-overrides_007d-P-309"><code>TEXFONTS</code><span class="roman">, overrides</span><code> P</code></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-TEXFONTS_0040r_007b_002c-overrides_007d-T-326"><code>TEXFONTS</code><span class="roman">, overrides</span><code> T</code></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-TEXINPUTS_0040r_007b_002c-overrides_007d-S-323"><code>TEXINPUTS</code><span class="roman">, overrides</span><code> S</code></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-texmext_002eenc-556"><code>texmext.enc</code></a>: <a href="#Encodings">Encodings</a></li> +<li><a href="#index-TEXMFOUTPUT-161"><code>TEXMFOUTPUT</code></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-texmital_002eenc-557"><code>texmital.enc</code></a>: <a href="#Encodings">Encodings</a></li> +<li><a href="#index-texmsym_002eenc-587"><code>texmsym.enc</code></a>: <a href="#Changing-TeX-encodings">Changing TeX encodings</a></li> +<li><a href="#index-texmsym_002eenc-558"><code>texmsym.enc</code></a>: <a href="#Encodings">Encodings</a></li> +<li><a href="#index-TEXPICTS-261"><code>TEXPICTS</code></a>: <a href="#Environment-variables">Environment variables</a></li> +<li><a href="#index-TEXPICTS_0040r_007b_002c-overrides_007d-S-322"><code>TEXPICTS</code><span class="roman">, overrides</span><code> S</code></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-TEXPKS_0040r_007b_002c-overrides_007d-P-307"><code>TEXPKS</code><span class="roman">, overrides</span><code> P</code></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-TEXSIZES_0040r_007b_002c-overrides_007d-R-318"><code>TEXSIZES</code><span class="roman">, overrides</span><code> R</code></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-text-in-figures_002c-chopped-off-396">text in figures, chopped off</a>: <a href="#EPSF-clipping">EPSF clipping</a></li> +<li><a href="#index-tfm-files-519">tfm files</a>: <a href="#Metric-files">Metric files</a></li> +<li><a href="#index-TFMFONTS_0040r_007b_002c-overrides_007d-T-325"><code>TFMFONTS</code><span class="roman">, overrides</span><code> T</code></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-tftopl-522"><code>tftopl</code></a>: <a href="#Metric-files">Metric files</a></li> +<li><a href="#index-Theisen_002c-Tim-40">Theisen, Tim</a>: <a href="#Ghostscript-installation">Ghostscript installation</a></li> +<li><a href="#index-tight-bounding-box_002c-finding-117">tight bounding box, finding</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-too_002dsmall-output-61">too-small output</a>: <a href="#Small-or-inverted">Small or inverted</a></li> +<li><a href="#index-trademark-_0040r_007bcharacter_002c-accessing_007d-591"><code>trademark </code><span class="roman">character, accessing</span></a>: <a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></li> +<li><a href="#index-trailing-spaces_002c-dropped-495">trailing spaces, dropped</a>: <a href="#Hypertext-caveats">Hypertext caveats</a></li> +<li><a href="#index-TranScript-168">TranScript</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-transforming-downloaded-fonts-651">transforming downloaded fonts</a>: <a href="#psfonts_002emap">psfonts.map</a></li> +<li><a href="#index-trouble-47">trouble</a>: <a href="#Diagnosing-problems">Diagnosing problems</a></li> +<li><a href="#index-Type-1-fonts-531">Type 1 fonts</a>: <a href="#Glyph-files">Glyph files</a></li> +<li><a href="#index-typesetting-in-PostScript-560">typesetting in PostScript</a>: <a href="#PostScript-typesetting">PostScript typesetting</a></li> +<li><a href="#index-U-_0040r_007bconfig-command-_0028Xerox-4045_0029_007d-327"><code>U </code><span class="roman">config command (Xerox 4045)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-uncollated-copies-103">uncollated copies</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-uncompressing-PostScript-417">uncompressing PostScript</a>: <a href="#Dynamic-creation-of-graphics">Dynamic creation of graphics</a></li> +<li><a href="#index-uniform-resource-locator-500">uniform resource locator</a>: <a href="#Hypertext-specials">Hypertext specials</a></li> +<li><a href="#index-unknown_0040r_007b_002c-paper-format-for-_0040samp_007b_002dt_007d_007d-345"><code>unknown</code><span class="roman">, paper format for ‘</span><samp><span class="samp">-t</span></samp><span class="roman">’</span></a>: <a href="#Config-file-paper-sizes">Config file paper sizes</a></li> +<li><a href="#index-unknown_0040r_007b_002c-paper-format-for-_0040samp_007b_002dt_007d_007d-342"><code>unknown</code><span class="roman">, paper format for ‘</span><samp><span class="samp">-t</span></samp><span class="roman">’</span></a>: <a href="#papersize-special">papersize special</a></li> +<li><a href="#index-URL_002c-definition-504">URL, definition</a>: <a href="#Hypertext-specials">Hypertext specials</a></li> +<li><a href="#index-URL_002c-extended-for-_0040TeX_007b_007d-502">URL, extended for TeX</a>: <a href="#Hypertext-specials">Hypertext specials</a></li> +<li><a href="#index-urx-_0040r_007b_0028_0040samp_007bpsfile_007d-special-option_0029_007d-409"><code>urx </code><span class="roman">(‘</span><samp><span class="samp">psfile</span></samp><span class="roman">’ special option)</span></a>: <a href="#psfile-special">psfile special</a></li> +<li><a href="#index-ury-_0040r_007b_0028_0040samp_007bpsfile_007d-special-option_0029_007d-410"><code>ury </code><span class="roman">(‘</span><samp><span class="samp">psfile</span></samp><span class="roman">’ special option)</span></a>: <a href="#psfile-special">psfile special</a></li> +<li><a href="#index-usage_002c-basic-80">usage, basic</a>: <a href="#Basic-usage">Basic usage</a></li> +<li><a href="#index-user_002ddefinable-colors-679">user-definable colors</a>: <a href="#User_002ddefinable-colors">User-definable colors</a></li> +<li><a href="#index-userdict_0040r_007b_002c-and-dictionary-files_007d-427"><code>userdict</code><span class="roman">, and dictionary files</span></a>: <a href="#Header-files">Header files</a></li> +<li><a href="#index-userdict_0040r_007b_002c-used-for-header-files_007d-134">userdict<span class="roman">, used for header files</span></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-V-_0040r_007bconfig-command-_0028vf-path_0029_007d-328"><code>V </code><span class="roman">config command (vf path)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-verbose-EPSF-processing-383">verbose EPSF processing</a>: <a href="#EPSF-macros">EPSF macros</a></li> +<li><a href="#index-vf-files-544">vf files</a>: <a href="#Virtual-fonts">Virtual fonts</a></li> +<li><a href="#index-virtual-font-expansion-548">virtual font expansion</a>: <a href="#Virtual-fonts">Virtual fonts</a></li> +<li><a href="#index-virtual-font-path-329">virtual font path</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-virtual-fonts-543">virtual fonts</a>: <a href="#Virtual-fonts">Virtual fonts</a></li> +<li><a href="#index-virtual-fonts_002c-creating-580">virtual fonts, creating</a>: <a href="#Invoking-afm2tfm">Invoking afm2tfm</a></li> +<li><a href="#index-VM-exhausted-67">VM exhausted</a>: <a href="#Printer-errors">Printer errors</a></li> +<li><a href="#index-VMusage-448"><code>VMusage</code></a>: <a href="#Headers-and-memory-usage">Headers and memory usage</a></li> +<li><a href="#index-voffset-_0040r_007b_0028_0040samp_007bpsfile_007d-special-option_0029_007d-400"><code>voffset </code><span class="roman">(‘</span><samp><span class="samp">psfile</span></samp><span class="roman">’ special option)</span></a>: <a href="#psfile-special">psfile special</a></li> +<li><a href="#index-vpl-files-545">vpl files</a>: <a href="#Virtual-fonts">Virtual fonts</a></li> +<li><a href="#index-vptovf-575"><code>vptovf</code></a>: <a href="#Making-a-font-available">Making a font available</a></li> +<li><a href="#index-vscale-_0040r_007b_0028_0040samp_007bpsfile_007d-special-option_0029_007d-404"><code>vscale </code><span class="roman">(‘</span><samp><span class="samp">psfile</span></samp><span class="roman">’ special option)</span></a>: <a href="#psfile-special">psfile special</a></li> +<li><a href="#index-vsize-_0040r_007b_0028_0040samp_007bpsfile_007d-special-option_0029_007d-402"><code>vsize </code><span class="roman">(‘</span><samp><span class="samp">psfile</span></samp><span class="roman">’ special option)</span></a>: <a href="#psfile-special">psfile special</a></li> +<li><a href="#index-W-_0040r_007bconfig-command-_0028warning_0029_007d-331"><code>W </code><span class="roman">config command (warning)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-warning-messages_002c-defining-332">warning messages, defining</a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-warnings_002c-suppressing-202">warnings, suppressing</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-whole-font-downloading-665">whole font downloading</a>: <a href="#psfonts_002emap">psfonts.map</a></li> +<li><a href="#index-wide-fonts-653">wide fonts</a>: <a href="#psfonts_002emap">psfonts.map</a></li> +<li><a href="#index-X-_0040r_007bconfig-command-_0028horizontal-resolution_0029_007d-333"><code>X </code><span class="roman">config command (horizontal resolution)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-Xerox-4045-228">Xerox 4045</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-Y-_0040r_007bconfig-command-_0028vertical-resolution_0029_007d-334"><code>Y </code><span class="roman">config command (vertical resolution)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-Y_0026Y-fonts_002c-installing-26">Y&Y fonts, installing</a>: <a href="#PostScript-font-installation">PostScript font installation</a></li> +<li><a href="#index-Z-_0040r_007bconfig-command-_0028compression_0029_007d-335"><code>Z </code><span class="roman">config command (compression)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-z-_0040r_007bconfig-command-_0028secure-mode_0029_007d-336"><code>z </code><span class="roman">config command (secure mode)</span></a>: <a href="#Configuration-file-commands">Configuration file commands</a></li> +<li><a href="#index-g_t_007c-_0040r_007bstarting-output-filename_007d-181"><code>| </code><span class="roman">starting output filename</span></a>: <a href="#Option-details">Option details</a></li> + </ul><!-- INSTALLONLY --> +</body></html> + diff --git a/Master/texmf-dist/doc/dvips/dvips.pdf b/Master/texmf-dist/doc/dvips/dvips.pdf Binary files differnew file mode 100644 index 00000000000..94b17e2aaf4 --- /dev/null +++ b/Master/texmf-dist/doc/dvips/dvips.pdf diff --git a/Master/texmf-dist/doc/extconv/extconv.pdf b/Master/texmf-dist/doc/extconv/extconv.pdf Binary files differnew file mode 100644 index 00000000000..0e0f4569928 --- /dev/null +++ b/Master/texmf-dist/doc/extconv/extconv.pdf diff --git a/Master/texmf-dist/doc/generic/elhyphen/README b/Master/texmf-dist/doc/generic/elhyphen/README new file mode 100644 index 00000000000..200825c7ff2 --- /dev/null +++ b/Master/texmf-dist/doc/generic/elhyphen/README @@ -0,0 +1,99 @@ +File name: readme.txt +Version: 4.0 +Author: Dimitrios Filippou +Date: Aug. 16, 2004 + +This file contains a brief description of the Greek hyphenation- +pattern files for TeX/LaTeX (and for Omega) prepared by Dimitrios +Filippou. + +The patterns were originally designed for the "greek" option of +"babel" and Dryllerakis' GreeKTeX package. However, this set can +be used to produce hyphenation patterns for typesetting Greek with +the "ibycus" option of "babel" (package "ibycus-babel") or with +Omega/lambda (package "antomega"). + +The hyphenation patterns for "ibycus" (for ancient Greek *only*) +can be produced by running a perl script on "grahyph.tex". The +perl script has been written by Peter Heslin (p.j.heslin@dur.ac.uk) +as part of his "ibycus-babel" package. + +The hyphenation patterns for Omega/lambda (files "ogr*.tex") can be +produced by running a perl script on "grahyph.tex", "grahyph.tex" +and "grahyph.tex". The perl script has been written by Apostolos +Syropoulos (apostolo@obelix.ee.duth.gr) as part of the "antomega" +package. THESE PATTERNS HAVE NOT BEEN TESTED. ANY FEEDBACK IS +WELCOME! + +This package supersedes all previous versions found in CTAN. A more +detailed description of how hyphenation of Greek works (in English) +is presented in the TUG2004 conference and is included in the +conference proceedings (to be published by Springer in the series +Lecture Notes in Computer Science). + +Possible caveats: + +1) You may not get proper hyphenation in paragraphs with mixed +Greek and non-Greek text. This is a known TeX problem. Using eTeX +(or the latest LaTeX releases which are based on eTeX) can resolve +this problem. -- Bug reported by Peter Heslin (p.j.heslin@dur.ac.uk) + +2) Initial accentuated vowels may not be hyphenated under Omega/ +lambda: e.g., under Omega/lambda, the word ">aet'oc" (eagle) may be +be hyphenated as ">ae-t'oc" instead of ">a-e-t'oc". To fix this +problem I must add an extra series of hyphenation patterns in the +original "gr?hyph.tex" and then convert them to "ogr?hyph.tex". But +this way I would mess my original "gr?hyph.tex" and I don't want to +do that. -- Bug reported by Alexej Krioukov (akrioukov@newmail.ru) + +Acknowledgements + +The author wishes to thank all those mentioned who have contributed +directly and indirectly to the creation of these pattern files: +C. Beccari, K. Dryllerakis, Y. Haralambous, P. Heslin, S. Konstandatos +A. Krioukov and A. Syropoulos. + + + +File Description +--------------------------------------------------------------------- + +ancient.pdf PDF file. Reproduced with permission from Eutypon, + no. 5, Oct. 2000, pp. 7-16. It describes the + hyphenation patterns for ancient Greek. [In Greek.] + +anc-test.pdf PDF file. It gives examples of hyphenated ancient + Greek texts. [Obviously in Greek.] + +compound.pdf PDF file. It lists all ancient Greek compound words + that need proper hyphenation patterns. [In Greek.] + +modern.pdf PDF file. Reproduced with permission from Eutypon, + no. 4, Apr. 2000, pp. 1-16. It describes the + hyphenation patterns for ancient Greek. [In Greek.] + +grahyph4.tex Hyphenation patterns for ancient Greek typeset with + the "polutonikogreek" option of "babel" or with + Dryllerakis GreeKTeX (can be used also for + "Katharevousa"). + +grmhyph4.tex Hyphenation patterns for monotonic (uni-accent) + modern Greek typeset with the "greek" option of + "babel" or with Dryllerakis GreeKTeX. + +grphyph4.tex Hyphenation patterns for polytonic (multi-accent) + modern Greek typeset with the "polutonikogreek" + option of "babel" or with Dryllerakis GreeKTeX. + +readme.txt This file. + +copyrite.txt The copyright file. -- Please, read before you pass + around this set of files. + +--------------------------------------------------------------------- + + + + + +
\ No newline at end of file diff --git a/Master/texmf-dist/doc/generic/elhyphen/anc-test.ltx b/Master/texmf-dist/doc/generic/elhyphen/anc-test.ltx new file mode 100644 index 00000000000..1e0fbda6e5d --- /dev/null +++ b/Master/texmf-dist/doc/generic/elhyphen/anc-test.ltx @@ -0,0 +1,748 @@ +% File: anc-test.tex +% +% This LaTeX file was written to test the hyphenation patterns of +% Ancient Greek. +% +% Author: Dimitrios Filippou +% Date: March 21, 2000 +% +% Copyright: None. +% +\documentclass[letterpaper,12pt]{article} +\usepackage[english,polutonikogreek]{babel} + +\begin{document} + +\lefthyphenmin=1 +\righthyphenmin=1 + +\noindent +\textbf{Ke'imeno 1o} + +\bigskip + +\def\mytext{% +<Hrod'otou <Alikarnhss'eoc <istor'ihc >ap'odexic <'hde, <wc m'hte t`a +gen'omena >ec >anjr'wpwn t~w| qr'onw| >ex'ithla g'enhtai, m'hte >'erga +meg'ala te ka`i jwmast'a, t`a m`en <'Ellhsi t`a d`e barb'aroisi +>apodeqj'enta, >akle~a g'enhtai, t'a te >'alla ka`i di'' <`hn a>it'ihn +>epol'emhsan >all'hloisi. +\par +Pers'ewn m'en nun o<i l'ogioi Fo'inikac a>it'iouc fas'i gen'esjai t~hc +diafor~hc. to'utouc g`ar >ap'o t~hc >Erujr~hc kaleom'enhc jal'asshc +>apikom'enouc >ep`i t'hnde t`hn j'alassan, ka`i o>ik'hsantac to~uton +t`on q~wron t`on ka`i n~un o>ik'eousi, a>ut'ika nautil'ih|si makr~h|si +>epij'esjai, >apagin'eontac d`e fort'ia A>ig'upti'a te ka`i >Ass'uria +t~h| te >'allh| >esapikn'eesjai ka`i d`h ka`i >ec >'Argoc. [2] t`o d`e +>'Argoc to~uton t`on qr'onon proe~iqe <'apasi t~wn >en t~h| n~un +<Ell'adi kaleom'enh| qwr~h|. >apikom'enouc d`e to'uc Fo'inikac >ec d`h +t`o >'Argoc to~uto diat'ijesjai t`on f'orton. [3] p'empth| d`e >`h +<'ekth| <hm'erh| >ap'' <~hc >ap'ikonto, >exempolhm'enwn sfi sqed'on +p'antwn, >elje~in >ep`i t`hn j'alassan guna~ikac >'allac te poll'ac ka`i +d`h ka`i to~u basil'eoc jugat'era; t`o d'e o<i o>'unoma e>~inai, kat`a +t>wut`o t`o ka`i <'Ellhn'ec l'egousi, >Io~un t`hn >In'aqou; [4] ta'utac +st'asac kat'a pr'umnhn t~hc ne`oc >wn'eesjai t~wn fort'iwn t~wn sfi >~hn +jum'oc m'alista; ka`i to`uc Fo'inikac diakeleusam'enouc <orm~hsai >ep'' +a>ut'ac. t`ac m`en d`h ple~unac t~wn gunaik~wn >apofuge~in, t`hn d`e +>Io~un s`un >'allh|si <arpasj~hnai >esbalom'enouc d`e >ec t`hn n'ea +o>'iqesjai >apopl'eontac >ep'' A>ig'uptou. +\par +o<'utw m`en >Io~un >ec A>'igupton >apik'esjai l'egousi P'ersai, o>uk +<wc <'Ellhn'ec, ka`i t~wn >adikhm'atwn pr~wton to~uto >'arxai. met`a d`e +ta~uta <Ell'hnwn tin'ac (o>u g`ar >'eqousi to>'unoma >aphg'hsasjai) +fas`i t~hc Foin'ikhc >ec T'uron prossq'ontac <arp'asai to~u basil'eoc +t`hn jugat'era E>ur'wphn. e>'ihsan d'' >'an o<~utoi Kr~htec. ta~uta m`en +d`h >'isa pr`oc >'isa sfi gen'esjai, met`a d`e ta~uta <'Ellhnac +a>it'iouc t~hc deut'erhc >adik'ihc gen'esjai; [2] katapl'wsantac g`ar +makr~h| nh'i >ec A>~ian te t`hn Kolq'ida ka`i >ep`i F~asin potam'on, +>enje~uten, diaprhxam'enouc ka`i t>'alla t~wn e<'ineken >ap'ikato, +<arp'asai to~u basil'eoc t`hn jugat'era Mhde'ihn. [3] p'emyant'a d`e +t`on K'olqwn basil'ea >ec t`hn <Ell'ada k'hruka a>it'eein te d'ikac t~hc +<arpag~hc ka`i >apait'eein t`hn jugat'era. to`uc d`e <upokr'inasjai <wc +o>ud`e >eke~inoi >Io~uc t~hc >Arge'ihc >'edos'an sfi d'ikac t~hc +<arpag~hc; o>ud`e >'wn a>uto`i d'wsein >eke'inoisi. +\par +deut'erh| d`e l'egousi gene~h| met`a ta~uta >Al'exandron t`on +Pri'amou, >akhko'ota ta~uta, >ejel~hsa'i o<i >ek t~hc <Ell'adoc di'' +<arpag~hc gen'esjai guna~ika, >epist'amenon p'antwc <'oti o>u d'wsei +d'ikac. o>ud`e g`ar >eke'inouc did'onai. [2] o<'utw d`h <arp'asantoc +a>uto~u <El'enhn, to~isi <'Ellhsi d'oxai pr~wt`on p'emyantac >agg'elouc +>apait'eein te <El'enhn ka`i d'ikac t~hc <arpag~hc a>it'eein. to`uc d'e, +pro"isqom'enwn ta~uta, prof'erein sfi Mhde'ihc t`hn <arpag'hn, <wc o>u +d'ontec a>uto`i d'ikac o>ud`e >ekd'ontec >apaite'ontwn boulo'iat'o sfi +par'' >'allwn d'ikac g'inesjai. +} + +\mytext + +\bigskip + +%\showhyphens{\mytext} +%\end{document} + +<H-ro-d'o-tou <A-li-kar-nhs-s'e-oc <i-sto-r'i-hc >a-p'o-de-xic <'h-de, +<wc m'h-te t`a ge-n'o-me-na >ec >an-jr'w-pwn t~w| qr'o-nw| >ex-'i-th-la +g'e-nh-tai, m'h-te >'er-ga me-g'a-la te ka`i jw-ma-st'a, t`a m`en +<'El-lh-si t`a d`e bar-b'a-roi-si >a-po-de-qj'en-ta, >a-kle-~a +g'e-nh-tai, t'a te >'al-la ka`i di'' <`hn a>i-t'i-hn >e-po-l'e-mh-san +>al-l'h-loi-si. + +Per-s'e-wn m'en nun o<i l'o-gi-oi Fo'i-ni-kac a>i-t'i-ouc fa-s'i +ge-n'e-sjai t~hc di-a-fo-r~hc. to'u-touc g`ar >a-p'o t~hc >E-ru-jr~hc +ka-le-o-m'e-nhc ja-l'as-shc >a-pi-ko-m'e-nouc >e-p`i t'hn-de t`hn +j'a-las-san, ka`i o>i-k'h-san-tac to~u-ton t`on q~w-ron t`on ka`i n~un +o>i-k'e-ou-si, a>u-t'i-ka nau-ti-l'i-h|-si ma-kr~h|-si >e-pi-j'e-sjai, +>a-pa-gi-n'e-on-tac d`e for-t'i-a A>i-g'u-pti-'a te ka`i >As-s'u-ri-a +t~h| te >'al-lh| >es-a-pi-kn'e-e-sjai ka`i d`h ka`i >ec >'Ar-goc. [2] +t`o d`e >'Ar-goc to~u-ton t`on qr'o-non pro-e~i-qe <'a-pa-si t~wn >en +t~h| n~un <El-l'a-di ka-le-o-m'e-nh| qw-r~h|. >a-pi-ko-m'e-nouc d`e +to'uc Fo'i-ni-kac >ec d`h t`o >'Ar-goc to~u-to di-a-t'i-je-sjai t`on +f'or-ton. [3] p'em-pth| d`e >`h <'e-kth| <h-m'e-rh| >ap'' <~hc +>a-p'i-kon-to, >ex-em-po-lh-m'e-nwn sfi sqe-d'on p'an-twn, >el-je~in +>e-p`i t`hn j'a-las-san gu-na~i-kac >'al-lac te pol-l'ac ka`i d`h ka`i +to~u ba-si-l'e-oc ju-ga-t'e-ra; t`o d'e o<i o>'u-no-ma e>~i-nai, ka-t`a +t>w-u-t`o t`o ka`i <'El-lh-n'ec l'e-gou-si, >I-o~un t`hn >I-n'a-qou; [4] +ta'u-tac st'a-sac ka-t'a pr'u-mnhn t~hc ne-`oc >w-n'e-e-sjai t~wn +for-t'i-wn t~wn sfi >~hn ju-m'oc m'a-li-sta; ka`i to`uc Fo'i-ni-kac +di-a-ke-leu-sa-m'e-nouc <or-m~h-sai >ep'' a>u-t'ac. t`ac m`en d`h +ple~u-nac t~wn gu-nai-k~wn >a-po-fu-ge~in, t`hn d`e >I-o~un s`un +>'al-lh|-si <ar-pa-sj~h-nai >es-ba-lo-m'e-nouc d`e >ec t`hn n'e-a +o>'i-qe-sjai >a-po-pl'e-on-tac >ep'' A>i-g'u-ptou. + +o<'u-tw m`en >I-o~un >ec A>'i-gu-pton >a-pi-k'e-sjai l'e-gou-si P'er-sai, +o>uk <wc <'El-lh-n'ec, ka`i t~wn >a-di-kh-m'a-twn pr~w-ton to~u-to +>'ar-xai. me-t`a d`e ta~u-ta <El-l'h-nwn ti-n'ac (o>u g`ar >'e-qou-si +to>'u-no-ma >a-ph-g'h-sa-sjai) fa-s`i t~hc Foi-n'i-khc >ec T'u-ron +pros-sq'on-tac <ar-p'a-sai to~u ba-si-l'e-oc t`hn ju-ga-t'e-ra +E>u-r'w-phn. e>'i-h-san d'' >'an o<~u-toi Kr~h-tec. ta~u-ta m`en d`h +>'i-sa pr`oc >'i-sa sfi ge-n'e-sjai, me-t`a d`e ta~u-ta <'El-lh-nac +a>i-t'i-ouc t~hc deu-t'e-rhc >a-di-k'i-hc ge-n'e-sjai; [2] +ka-ta-pl'w-san-tac g`ar ma-kr~h| nh-'i >ec A>~i-an te t`hn Kol-q'i-da +ka`i >e-p`i F~a-sin po-ta-m'on, >en-je~u-ten, di-a-prh-xa-m'e-nouc ka`i +t>'al-la t~wn e<'i-ne-ken >a-p'i-ka-to, <ar-p'a-sai to~u ba-si-l'e-oc +t`hn ju-ga-t'e-ra Mh-de'i-hn. [3] p'em-yan-t'a d`e t`on K'ol-qwn +ba-si-l'e-a >ec t`hn <El-l'a-da k'h-ru-ka a>i-t'e-ein te d'i-kac t~hc +<ar-pa-g~hc ka`i >a-pai-t'e-ein t`hn ju-ga-t'e-ra. to`uc d`e +<u-po-kr'i-na-sjai <wc o>u-d`e >e-ke~i-noi >I-o~uc t~hc >Ar-ge'i-hc +>'e-do-s'an sfi d'i-kac t~hc <ar-pa-g~hc; o>u-d`e >'wn a>u-to`i d'w-sein +>e-ke'i-noi-si. + +deu-t'e-rh| d`e l'e-gou-si ge-ne-~h| me-t`a ta~u-ta >A-l'e-xan-dron t`on +Pri-'a-mou, >a-kh-ko-'o-ta ta~u-ta, >e-je-l~h-sa'i o<i >ek t~hc +<El-l'a-doc di'' <ar-pa-g~hc ge-n'e-sjai gu-na~i-ka, >e-pi-st'a-me-non +p'an-twc <'o-ti o>u d'w-sei d'i-kac. o>u-d`e g`ar >e-ke'i-nouc +di-d'o-nai. [2] o<'u-tw d`h <ar-p'a-san-toc a>u-to~u <E-l'e-nhn, to~i-si +<'El-lh-si d'o-xai pr~w-t`on p'em-yan-tac >ag-g'e-louc >a-pai-t'e-ein te +<E-l'e-nhn ka`i d'i-kac t~hc <ar-pa-g~hc a>i-t'e-ein. to`uc d'e, +pro-"i-sqo-m'e-nwn ta~u-ta, pro-f'e-rein sfi Mh-de'i-hc t`hn +<ar-pa-g'hn, <wc o>u d'on-tec a>u-to`i d'i-kac o>u-d`e >ek-d'on-tec +>a-pai-te-'on-twn bou-lo'i-a-t'o sfi par'' >'al-lwn d'i-kac g'i-ne-sjai. + +\bigskip + +\rightline{<Hr'odotoc, \textit{<Istor~iai}, A$'$ (I--III)} + +\bigskip + +\noindent +\textbf{Ke'imeno 2o} + +\bigskip + +\def\mytext{>Ente~ujen >exela'unei stajmo`uc tre~ic paras'aggac penteka'ideka +par`a t`on E>ufr'athn potam'on, >'onta t`o e>~uroc tett'arwn +stad'iwn; ka`i p'olic a>ut'oji >w|ke~ito meg'alh ka`i e>uda'imwn +J'ayakoc >'onoma. >Enta~uja >'emeinen <hm'erac p'ente. Ka`i K~uroc +metapemy'amenoc to`uc strathgo`uc t~wn <Ell'hnwn >'elegen <'oti <h +<od`oc >'esoito pr`oc basil'ean m'egan e>ic Babul~wna; ka`i kele'uei +a>uto`uc l'egein ta~uta to~ic strati'wtaic ka`i >anape'ijein +<'epesjai. O<i d`e poi'hsantec >ekklhs'ian >ap'hggelon ta~uta; o<i +d`e strati~wtai >eqal'epainon to~ic strathgo~ic, ka`i >'efasan +a>uto`uc p'alai ta~ut'' e>id'otac kr'uptein, ka`i o>uk >'efasan +>i'enai, >e`an m'h tic a>uto~ic qr'hmata did~w|, <'wsper to~ic +prot'eroic met`a K'urou >anab~asi [par`a t`on pat'era to~u K'urou], +ka`i ta~uta o>uk >ep`i m'aqhn >i'ontwn, >all`a kalo~untoc to~u +patr`oc K~uron. Ta~uta o<i strathgo`i K'urw| >ap'hggelon. <O d'' +<up'esqeto >andr`i <ek'astw| d'wsein p'ente >argur'iou mn~ac, >ep`an +e>ic Babul~wna <'hkwsi, ka`i t`on misj`on >entel~h m'eqri >`an +katast'hsh| to`uc <'Ellhnac e>ic >Iwn'ian p'alin. T`o m`en d`h pol`u +to~u <Ellhniko~u o<'utwc >epe'isjh. +} + +\mytext + +\bigskip + +%\showhyphens{\mytext} +%\end{document} + +>En-te~u-jen >ex-e-la'u-nei sta-jmo`uc tre~ic pa-ra-s'ag-gac +pen-te-ka'i-de-ka pa-r`a t`on E>u-fr'a-thn po-ta-m'on, >'on-ta t`o +e>~u-roc tet-t'a-rwn sta-d'i-wn; ka`i p'o-lic a>u-t'o-ji >w|-ke~i-to +me-g'a-lh ka`i e>u-da'i-mwn J'a-ya-koc >'o-no-ma. >En-ta~u-ja +>'e-mei-nen <h-m'e-rac p'en-te. Ka`i K~u-roc me-ta-pem-y'a-me-noc to`uc +stra-th-go`uc t~wn <El-l'h-nwn >'e-le-gen <'o-ti <h <o-d`oc >'e-soi-to +pr`oc ba-si-l'e-an m'e-gan e>ic Ba-bu-l~w-na; ka`i ke-le'u-ei a>u-to`uc +l'e-gein ta~u-ta to~ic stra-ti-'w-taic ka`i >a-na-pe'i-jein <'e-pe-sjai. +O<i d`e poi-'h-san-tec >ek-klh-s'i-an >a-p'hg-ge-lon ta~u-ta; o<i d`e +stra-ti-~w-tai >e-qa-l'e-pai-non to~ic stra-th-go~ic, ka`i >'e-fa-san +a>u-to`uc p'a-lai ta~ut'' e>i-d'o-tac kr'u-ptein, ka`i o>uk >'e-fa-san +>i-'e-nai, >e-`an m'h tic a>u-to~ic qr'h-ma-ta di-d~w|, <'ws-per to~ic +pro-t'e-roic me-t`a K'u-rou >a-na-b~a-si [pa-r`a t`on pa-t'e-ra to~u +K'u-rou], ka`i ta~u-ta o>uk >e-p`i m'a-qhn >i-'on-twn, >al-l`a +ka-lo~un-toc to~u pa-tr`oc K~u-ron. Ta~u-ta o<i stra-th-go`i K'u-rw| +>a-p'hg-ge-lon. <O d'' <u-p'e-sqe-to >an-dr`i <e-k'a-stw| d'w-sein +p'en-te >ar-gu-r'i-ou mn~ac, >e-p`an e>ic Ba-bu-l~w-na <'h-kw-si, ka`i +t`on mi-sj`on >en-te-l~h m'e-qri >`an ka-ta-st'h-sh| to`uc <'El-lh-nac +e>ic >I-w-n'i-an p'a-lin. T`o m`en d`h po-l`u to~u <El-lh-ni-ko~u +o<'u-twc >e-pe'i-sjh. + +\bigskip + +\rightline{Xenof'wn, \textit{K'urou >anab'asewc $A'$} +(1.\textlatin{IV}.11--1.\textlatin{IV}.13)} + +\bigskip + +\noindent +\textbf{Ke'imeno 3o} + +\bigskip + +\def\mytext{% +Per`i m`en t~wn kathgorhm'enwn, >~w >'andrec dikasta'i, <ikan~wc <um`in +>apod'edeiktai; >ako~usai d`e ka`i per`i t~wn >'allwn <um~ac >axi~w, +<'in'' >ep'isthsje per`i o<'iou tin`oc >'ontoc >emo~u yhfie~isjai. >eg`w +g`ar >edokim'asjhn m`en >ep`i Jeop'ompou >'arqontoc, katast`ac d`e +qorhg`oc tragw|do~ic >an'hlwsa tri'akonta mn~ac ka`i tr'itw| mhn`i +Jarghl'ioic nik'hsac >andrik~w| qor~w| disqil'iac draqm'ac, >ep`i d`e +Glauk'ippou >'arqontoc e>ic purriqist`ac Panajhna'ioic to~ic meg'aloic +>oktakos'iac. >'eti d'' >andr'asi qorhg~wn e>ic Dion'usia >ep`i to~u +a>uto~u >'arqontoc >en'ikhsa, ka`i >an'hlwsa s`un t~h| to~u tr'ipodoc +>anaj'esei pentakisqil'iac draqm'ac, ka`i >ep`i Diokl'eouc +Panajhna'ioic to~ic mikro~ic kukl'iw| qor~w| triakos'iac. t`on d`e +metax`u qr'onon >etrihr'arqoun <ept`a >'ept`a >'eth, ka`i <`ex t'alanta +>an'hlwsa. ka`i tosa'utac dap'anac dapan'wmenoc ka`i kaj'' <hm'eran +<up`er <um~wn kindune'uwn ka`i >apodhm~wn, <'omwc e>isfor`ac t`hn m`en +tri'akonta mn~ac t`hn d`e tetrakisqil'iac draqm`ac e>isen'hnoqa. +>epeid`h d`e kat'epleusa >ep`i >Alex'iou >'arqontoc, e>uj`uc +>egumnasi'arqoun e>ic Prom'hjeia, ka`i >en'ikwn >anal'wsac d'wdeka +mn~ac. ka`i <'usteron kat'esthn qorhg`oc paidik~w| qor~w| ka`i >an'hlwsa +pl'eon >`h penteka'ideka mn~ac. >ep`i d`e E>ukle'idou >'arqontoc +kwmw|do~ic qwrhg`on Khfisod'wrw| >en'ikwn, ka`i >an'hlwsa s`un t~h| t~hc +skeu~hc >anaj'esei <ekka'ideka mn~ac, ka`i Panajhna'ioic to~ic mikro~ic +>eqor'hgoun purriqista~ic >agene'ioic, ka`i >an'hlwsa <ept`a mn~ac. +nen'ikhka d`e tri'hrei m`en <amill'wmenoc >ep`i Soun'iw|, >anal'wsac +penteka'ideka mn~ac; qwr`ic d`e >arqijewr'iac ka`i >Errhfor'iac ka`i >'alla +toia~uta, e>ic <`a >emo`i dedap'anhtai pl'eon >`h tri'akonta mna~i. ka`i +to'utwn <~wn kat'elexa, e>i >eboul'omhn kat`a t`a gegramm'ena >en t~w| +n'omw| lh|tourge~in, o>ud'' >`an t`o t'etarton m'eroc >an'hlwsa. t`on +d`e qr'onon <`on >etrihr'arqoun, <h na~uc >'arist'a moi >'eplei pant`oc +to~u stratop'edou. tekm'hrion d`e to'utou <um~in m'egiston >er~w. +pr~wton m`en g`ar >Alkibi'adhc, <`on >eg`w per`i pollo~u >`an +>epoihs'amhn m`h sumple~in moi, o>'ute f'iloc >`wn o>'ute suggen`hc +o>'ute ful'ethc >'eplei >ep`i t~hc >em~hc ne'wc. +} + +\mytext + +%\showhyphens{\mytext} +%\end{document} + +\bigskip + +Pe-r`i m`en t~wn ka-th-go-rh-m'e-nwn, >~w >'an-drec di-ka-sta'i, +<i-ka-n~wc <u-m`in >a-po-d'e-dei-ktai; >a-ko~u-sai d`e ka`i pe-r`i t~wn +>'al-lwn <u-m~ac >a-xi-~w, <'in'' >e-p'i-sth-sje pe-r`i o<'i-ou ti-n`oc +>'on-toc >e-mo~u yh-fi-e~i-sjai. >e-g`w g`ar >e-do-ki-m'a-sjhn m`en +>e-p`i Je-o-p'om-pou >'ar-qon-toc, ka-ta-st`ac d`e qo-rh-g`oc +tra-gw|-do~ic >a-n'h-lw-sa tri-'a-kon-ta mn~ac ka`i tr'i-tw| mh-n`i +Jar-gh-l'i-oic ni-k'h-sac >an-dri-k~w| qo-r~w| dis-qi-l'i-ac dra-qm'ac, +>e-p`i d`e Glau-k'ip-pou >'ar-qon-toc e>ic pur-ri-qi-st`ac +Pan-a-jh-na'i-oic to~ic me-g'a-loic >o-kta-ko-s'i-ac. >'e-ti d'' +>an-dr'a-si qo-rh-g~wn e>ic Di-o-n'u-si-a >e-p`i to~u a>u-to~u +>'ar-qon-toc >e-n'i-kh-sa, ka`i >a-n'h-lw-sa s`un t~h| to~u tr'i-po-doc +>a-na-j'e-sei pen-ta-kis-qi-l'i-ac dra-qm'ac, ka`i >e-p`i Di-o-kl'e-ouc +Pan-a-jh-na'i-oic to~ic mi-kro~ic ku-kl'i-w| qo-r~w| tri-a-ko-s'i-ac. +t`on d`e me-ta-x`u qr'o-non >e-tri-h-r'ar-qoun <e-pt`a >'e-pt`a >'e-th, +ka`i <`ex t'a-lan-ta >a-n'h-lw-sa. ka`i to-sa'u-tac da-p'a-nac +da-pa-n'w-me-noc ka`i kaj'' <h-m'e-ran <u-p`er <u-m~wn kin-du-ne'u-wn +ka`i >a-po-dh-m~wn, <'o-mwc e>is-fo-r`ac t`hn m`en tri-'a-kon-ta mn~ac +t`hn d`e te-tra-kis-qi-l'i-ac dra-qm`ac e>is-e-n'h-no-qa. >e-pei-d`h d`e +ka-t'e-pleu-sa >e-p`i >A-le-x'i-ou >'ar-qon-toc, e>u-j`uc +>e-gu-mna-si-'ar-qoun e>ic Pro-m'h-jei-a, ka`i >e-n'i-kwn >a-na-l'w-sac +d'w-de-ka mn~ac. ka`i <'u-ste-ron ka-t'e-sthn qo-rh-g`oc pai-di-k~w| +qo-r~w| ka`i >a-n'h-lw-sa pl'e-on >`h pen-te-ka'i-de-ka mn~ac. >e-p`i +d`e E>u-kle'i-dou >'ar-qon-toc kw-mw|-do~ic qw-rh-g`on Kh-fi-so-d'w-rw| +>e-n'i-kwn, ka`i >a-n'h-lw-sa s`un t~h| t~hc skeu-~hc >a-na-j'e-sei +<ek-ka'i-de-ka mn~ac, ka`i Pan-a-jh-na'i-oic to~ic mi-kro~ic +>e-qo-r'h-goun pur-ri-qi-sta~ic >a-ge-ne'i-oic, ka`i >a-n'h-lw-sa +<e-pt`a mn~ac. ne-n'i-kh-ka d`e tri-'h-rei m`en <a-mil-l'w-me-noc >e-p`i +Sou-n'i-w|, >a-na-l'w-sac pen-te-ka'i-de-ka mn~ac; qw-r`ic d`e +>ar-qi-je-w-r'i-ac ka`i >Er-rh-fo-r'i-ac ka`i >'al-la toi-a~u-ta, e>ic +<`a >e-mo`i de-da-p'a-nh-tai pl'e-on >`h tri-'a-kon-ta mna~i. ka`i +to'u-twn <~wn ka-t'e-le-xa, e>i >e-bou-l'o-mhn ka-t`a t`a ge-gram-m'e-na +>en t~w| n'o-mw| lh|-tour-ge~in, o>ud'' >`an t`o t'e-tar-ton m'e-roc +>a-n'h-lw-sa. t`on d`e qr'o-non <`on >e-tri-h-r'ar-qoun, <h na~uc +>'a-ri-st'a moi >'e-plei pan-t`oc to~u stra-to-p'e-dou. te-km'h-ri-on +d`e to'u-tou <u-m~in m'e-gi-ston >e-r~w. pr~w-ton m`en g`ar +>Al-ki-bi-'a-dhc, <`on >e-g`w pe-r`i pol-lo~u >`an >e-poi-h-s'a-mhn m`h +sum-ple~in moi, o>'u-te f'i-loc >`wn o>'u-te sug-ge-n`hc o>'u-te +fu-l'e-thc >'e-plei >e-p`i t~hc >e-m~hc ne-'wc. + +\bigskip + +\rightline{Lus'iac, \textit{>Apolog'ia dwrodok'iac >apar'ashmoc} (21.1--21.6)} + +\bigskip + +\noindent +\textbf{Ke'imeno 4o} + +\bigskip + +\def\mytext{>'Eti d`e pa~ic >`wn <omologe~itai for~ac mest`oc e>~inai, +ka`i t~h| m`en f'usei sunet'oc, t~h| d`e proair'esei megalopr'agmwn ka`i +politik'oc. >en g`ar ta~ic >an'esesi ka`i sqola~ic >ap`o majhm'atwn +gin'omenoc o>uk >'epaizen o>ud'' >erra|j'umei, kaj'aper o<i loipo`i +pa~idec, >all'' e<ur'isketo l'ogouc tin`ac melet~wn ka`i suntatt'omenoc +pr`oc <eaut'on. >~hsan d'' o<i l'ogoi kathgor'ia tin`oc >`h sunhgor'ia +t~wn pa'idwn. <'ojen e>i'wjei l'egein pr`oc <eaut`on <o did'askaloc <wc +((o>ud`en >'esh, pa~i, s`u mikr'on, >all`a m'ega p'antwc >agaj`on >`h +kak'on)). >epe`i ka`i t~wn paide'usewn t`ac m`en >hjopoio`uc >`h pr`oc +<hdon'hn tina ka`i q'arin >eleuj'erion spoudazom'enac >oknhr~wc ka`i +>aproj'umwc >exem'anjane, t~wn d`e e>ic s'unesin >`h pr'axin legom'enwn +d~hloc >~hn <uperor~wn par'' <hlik'ian, <wc t~h| f'usei piste'uwn. +\par {} +<'ojen <'usteron >en ta~ic >eleujer'ioic ka`i >aste'iaic legom'enac +diatriba~ic <up`o t~wn pepaide~usjai doko'untwn qleuaz'omenoc +>hnegk'azeto fortik'wteron >am'unesjai, l'egwn <'oti l'uran m`en +<arm'osasjai ka`i metaqeir'isasjai yalt'hrion o>uk >ep'istatai, p'olin +d`e mikr`an ka`i >'adoxon paralab`wn >'endoxon ka`i meg'alhn +>aperg'asasjai. ka'itoi Sths'imbrotoc >Anaxag'orou te diako~usai t`on +Jemistokl'ea fhs`i ka`i per`i M'elisson spoud'asai t`on fusik'on, o>uk +e>~u t~wn qr'onwn <apt'omenoc; Perikle~i g'ar, <`oc pol`u ne'wteroc >~hn +Jemistokl'eouc, M'elissoc m`en >antestrat'hgei poliorko~unti Sam'iouc, +>Anaxag'orac d`e sundi'etribe. +\par {} +m~allon o>~un >'an tic pros'eqoi to~ic Mnhsif'ilou t`on Jemistokl'ea +to~u Frear'iou zhlwt`hn gen'esjai l'egousin, o>'ute <r'htoroc >'ontoc +o>'ute t~wn fusik~wn klhj'entwn filos'ofwn, >all`a t`hn t'ote +kaloum'enhn sof'ian, o>~usa d`e dein'othta politik`hn ka`i drast'hrion +s'unesin, >epit'hdeuma pepoihm'enou ka`i dias'wzontoc <'wsper a<'iresin +>ek diadoq~hc >ap`o S'olwnoc; <`hn o<i met`a ta~uta dikanika~ic +m'ixantec t'eqnaic ka`i metagag'ontec >ap`o t~wn pr'axewn t`hn >'askhsin +>ep`i to`uc l'ogouc, sofista`i proshgore'ujhsan. to'utw| m`en o>~un +>'hdh politeu'omenoc >eplhs'iazen. +\par {} +>en d`e ta~ic pr'wtaic t~hc ne'othtoc <orma~ic >an'wmaloc >~hn ka`i +>ast'ajmhtoc, <'ate t~h| f'usei kaj'' a<ut`hn qr'wmenoc >'aneu l'ogou +ka`i paide'iac >ep'' >amf'otera meg'alac poioum'enh metabol`ac t~wn +>epithdeum'atwn ka`i poll'akic >existam'enh| pr`oc t`o qe~iron, <wc +<'usteron a>ut`oc <wmol'ogei, ka`i to`uc traqut'atouc p'wlouc >ar'istouc +<'ippouc g'ignesjai f'askwn, <'otan <~hc pros'hkei t'uqwsi paide'iac +ka`i katart'usewc. <`a d`e to'utwn >exart~wsin >'enioi dihg'hmata +pl'attontec, >apok'hruxin m`en <up`o to~u patr`oc a>uto~u, j'anaton d`e +t~hc mhtr`oc <eko'usion >ep`i t~h| to~u paid`oc >atim'ia| peril'upou +genom'enhc, doke~i kateye~usjai; ka`i to>unant'ion e>is`in o<i +l'egontec, <'oti to~u t`a koin`a pr'attein >apotr'epwn a>ut`on <o pat`hr +>epede'iknue pr`oc t~h| jal'atth| t`ac palai`ac tri'hreic >errim'enac +ka`i parorwm'enac, <wc d`h ka`i pr`oc to`uc dhmagwgo'uc, <'otan +>'aqrhstoi fa'inwntai, t~wn poll~wn <omo'iwc >eq'ontwn. } + +\mytext + +\bigskip + +%\showhyphens{\mytext} +%\end{document} + +>'E-ti d`e pa~ic >`wn <o-mo-lo-ge~i-tai fo-r~ac me-st`oc e>~i-nai, ka`i +t~h| m`en f'u-sei sun-e-t'oc, t~h| d`e pro-ai-r'e-sei me-ga-lo-pr'a-gmwn +ka`i po-li-ti-k'oc. >en g`ar ta~ic >a-n'e-se-si ka`i sqo-la~ic >a-p`o +ma-jh-m'a-twn gi-n'o-me-noc o>uk >'e-pai-zen o>ud'' >er-ra|-j'u-mei, +ka-j'a-per o<i loi-po`i pa~i-dec, >all'' e<u-r'i-ske-to l'o-gouc ti-n`ac +me-le-t~wn ka`i sun-tat-t'o-me-noc pr`oc <e-au-t'on. >~h-san d'' o<i +l'o-goi ka-th-go-r'i-a ti-n`oc >`h sun-h-go-r'i-a t~wn pa'i-dwn. <'o-jen +e>i-'w-jei l'e-gein pr`oc <e-au-t`on <o di-d'a-ska-loc <wc ((o>u-d`en +>'e-sh, pa~i, s`u mi-kr'on, >al-l`a m'e-ga p'an-twc >a-ga-j`on >`h +ka-k'on)). >e-pe`i ka`i t~wn pai-de'u-se-wn t`ac m`en >h-jo-poi-o`uc >`h +pr`oc <h-do-n'hn ti-na ka`i q'a-rin >e-leu-j'e-ri-on spou-da-zo-m'e-nac +>o-knh-r~wc ka`i >a-pro-j'u-mwc >ex-e-m'an-ja-ne, t~wn d`e e>ic +s'un-e-sin >`h pr'a-xin le-go-m'e-nwn d~h-loc >~hn <u-per-o-r~wn par'' +<h-li-k'i-an, <wc t~h| f'u-sei pi-ste'u-wn. + + +<'o-jen <'u-ste-ron >en ta~ic >e-leu-je-r'i-oic ka`i >a-ste'i-aic +le-go-m'e-nac di-a-tri-ba~ic <u-p`o t~wn pe-pai-de~u-sjai do-ko'un-twn +qleu-a-z'o-me-noc >h-neg-k'a-ze-to for-ti-k'w-te-ron >a-m'u-ne-sjai, +l'e-gwn <'o-ti l'u-ran m`en <ar-m'o-sa-sjai ka`i me-ta-qei-r'i-sa-sjai +yal-t'h-ri-on o>uk >e-p'i-sta-tai, p'o-lin d`e mi-kr`an ka`i >'a-do-xon +pa-ra-la-b`wn >'en-do-xon ka`i me-g'a-lhn >a-per-g'a-sa-sjai. ka'i-toi +Sth-s'im-bro-toc >A-na-xa-g'o-rou te di-a-ko~u-sai t`on Je-mi-sto-kl'e-a +fh-s`i ka`i pe-r`i M'e-lis-son spou-d'a-sai t`on fu-si-k'on, o>uk e>~u +t~wn qr'o-nwn <a-pt'o-me-noc; Pe-ri-kle~i g'ar, <`oc po-l`u ne-'w-te-roc +>~hn Je-mi-sto-kl'e-ouc, M'e-lis-soc m`en >an-te-stra-t'h-gei +po-li-or-ko~un-ti Sa-m'i-ouc, >A-na-xa-g'o-rac d`e sun-di-'e-tri-be. + +m~al-lon o>~un >'an tic pros-'e-qoi to~ic Mnh-si-f'i-lou t`on +Je-mi-sto-kl'e-a to~u Fre-a-r'i-ou zh-lw-t`hn ge-n'e-sjai l'e-gou-sin, +o>'u-te <r'h-to-roc >'on-toc o>'u-te t~wn fu-si-k~wn klh-j'en-twn +fi-lo-s'o-fwn, >al-l`a t`hn t'o-te ka-lou-m'e-nhn so-f'i-an, o>~u-sa d`e +dei-n'o-th-ta po-li-ti-k`hn ka`i dra-st'h-ri-on s'un-e-sin, +>e-pi-t'h-deu-ma pe-poi-h-m'e-nou ka`i di-a-s'w-zon-toc <'ws-per +a<'i-re-sin >ek di-a-do-q~hc >a-p`o S'o-lw-noc; <`hn o<i me-t`a ta~u-ta +di-ka-ni-ka~ic m'i-xan-tec t'e-qnaic ka`i me-ta-ga-g'on-tec >a-p`o t~wn +pr'a-xe-wn t`hn >'a-skh-sin >e-p`i to`uc l'o-gouc, so-fi-sta`i +pros-h-go-re'u-jh-san. to'u-tw| m`en o>~un >'h-dh po-li-teu-'o-me-noc +>e-plh-s'i-a-zen. + +>en d`e ta~ic pr'w-taic t~hc ne-'o-th-toc <or-ma~ic >an-'w-ma-loc >~hn +ka`i >a-st'a-jmh-toc, <'a-te t~h| f'u-sei kaj'' a<u-t`hn qr'w-me-noc +>'a-neu l'o-gou ka`i pai-de'i-ac >ep'' >am-f'o-te-ra me-g'a-lac +poi-ou-m'e-nh me-ta-bo-l`ac t~wn >e-pi-th-deu-m'a-twn ka`i pol-l'a-kic +>ex-i-sta-m'e-nh| pr`oc t`o qe~i-ron, <wc <'u-ste-ron a>u-t`oc +<w-mo-l'o-gei, ka`i to`uc tra-qu-t'a-touc p'w-louc >a-r'i-stouc +<'ip-pouc g'i-gne-sjai f'a-skwn, <'o-tan <~hc pros-'h-kei t'u-qw-si +pai-de'i-ac ka`i ka-tar-t'u-se-wc. <`a d`e to'u-twn >ex-ar-t~w-sin +>'e-ni-oi di-h-g'h-ma-ta pl'at-ton-tec, >a-po-k'h-ru-xin m`en <u-p`o +to~u pa-tr`oc a>u-to~u, j'a-na-ton d`e t~hc mh-tr`oc <e-ko'u-si-on +>e-p`i t~h| to~u pai-d`oc >a-ti-m'i-a| pe-ri-l'u-pou ge-no-m'e-nhc, +do-ke~i ka-te-ye~u-sjai; ka`i to>u-nan-t'i-on e>i-s`in o<i l'e-gon-tec, +<'o-ti to~u t`a koi-n`a pr'at-tein >a-po-tr'e-pwn a>u-t`on <o pa-t`hr +>e-pe-de'i-knu-e pr`oc t~h| ja-l'at-th| t`ac pa-lai-`ac tri-'h-reic +>er-ri-m'e-nac ka`i pa-ro-rw-m'e-nac, <wc d`h ka`i pr`oc to`uc +dh-ma-gw-go'uc, <'o-tan >'a-qrh-stoi fa'i-nwn-tai, t~wn pol-l~wn +<o-mo'i-wc >e-q'on-twn. + +\bigskip + +\rightline{Plo'utarqoc, \textit{B'ioi} (Jemistokl~hc, II.1--II.5)} + +\bigskip + +\noindent +\textbf{Ke'imeno 5o} + +\bigskip + +\def\mytext{% +e>irhk'osi d'' <hm~in per`i t~hc >Ibhr'iac ka`i t~wn Keltik~wn >ejn~wn +ka`i t~wn >Italik~wn s`un ta~ic plhs'ion n'hsoic >efex~hc >`an e>'ih +l'egein t`a leip'omena t~hc E>ur'wphc m'erh, dielo~usi t`on +>endeq'omenon tr'opon. le'ipetai d`e t`a pr`oc <'ew m`en t`a p'eran to~u +<R'hnou m'eqri to~u Tan'aidoc ka`i to~u st'omatoc t~hc Mai'wtidoc +l'imnhc, ka`i <'osa metax`u to~u >Adr'iou ka`i t~wn >arister~wn t~hc +Pontik~hc jal'atthc mer~wn >apolamb'anei pr`oc n'oton m'eqri t~hc +<Ell'adoc ka`i t~hc Propont'idoc <o >'Istroc; diaire~i g`ar o<~utoc +<'apasan <wc >eggut'atw d'iqa t`hn leqje~isan g~hn, m'egistoc t~wn kat`a +t`hn E>ur'wphn potam~wn, <r'ewn pr`oc n'oton kat'' >arq'ac, e>~it'' +>epistr'efwn e>uj`uc >ap`o t~hc d'usewc >ep`i t`hn >anatol`hn ka`i t`on +P'onton. >'arqetai m`en o>~un >ap`o t~wn Germanik~wn >'akrwn t~wn +<esper'iwn, plhs'ion d`e ka`i to~u muqo~u to~u >Adriatiko~u, di'eqwn +a>uto~u per`i qil'iouc stad'iouc; teleut~a| d'' e>ic t`on P'onton o>u +pol`u >'apwjen t~wn to~u T'ura ka`i to~u Borusj'enouc >ekbol~wn, +>ekkl'inwn pwc pr`oc >'arktouc. pros'arktia m`en o>~un >esti t~w| +>'Istrw| t`a p'eran to~u <R'hnou ka`i t~hc Keltik~hc; ta~uta d'' >est`i +t'a te Galatik`a >'ejnh ka`i t`a Germanik`a m'eqri Bastarn~wn ka`i +Tureget~wn ka`i to~u Borusj'enouc, ka`i <'osa metax`u to'utou ka`i +Tan'aidoc ka`i to~u st'omatoc t~hc Mai'wtidoc e>'ic te t`hn mes'ogaian +>anate'inei m'eqri to~u >wkeano~u ka`i t~h| Pontik~h| kl'uzetai +jal'atth|; meshmbrin`a d`e t'a te >Illurik`a ka`i t`a Jr'a|kia ka`i +<'osa to'utoic >anam'emiktai t~wn Keltik~wn >'h tinwn >'allwn, m'eqri +t~hc <Ell'adoc. l'egwmen d`e pr~wton per`i t~wn >ekt`oc to~u >'Istrou; +pol`u g`ar <aploust'era t~wn >ep`i j'atera mer~wn >estin. +\par {} +e>uj`uc to'inun t`a p'eran to~u <R'hnou met`a to`uc Kelto`uc pr`oc t`hn +<'ew keklim'ena Germano`i n'emontai, mikr`on >exall'atontec to~u +Keltiko~u f'ulou t~w| te pleonasm~w| t~hc >agri'othtoc ka`i to~u +meg'ejouc ka`i t~hc xanj'othtoc, t>~alla d`e parapl'hsioi ka`i morfa~ic +ka`i >'hjesi ka`i b'ioic >'ontec, o<'iouc e>ir'hkamen to`uc Kelto'uc. +di`o d`h ka'i moi doko~usi <Rwma~ioi to~uto a>uto~ic j'esjai to>'unoma +<wc >`an gnhs'iouc Gal'atac fr'azein boul'omenoi; gn'hsioi g`ar o<i +Germano`i kat`a t`hn <Rwma'iwn di'alekton. +\par {} +>'esti d`e t`a m`en pr~wta m'erh t~hc q'wrac ta'uthc t`a pr`oc t~w| +<R'hnw| m'eqri t~wn >ekbol~wn >ap`o t~hc phg~hc >arxam'enoic; sqed`on +d'e ti ka`i to~ut'' >'esti t`o <esp'erion t~hc q'wrac pl'atoc, <h +potam'ia p~asa. ta'uthc d`e t`a m`en e>ic t`hn Keltik`hn met'hgagon +<Rwma~ioi, t`a d'' >'efjh metast'anta e>ic t`hn >en b'ajei q'wran, +kaj'aper Marso'i; loipo`i d'' e>is`in >ol'igoi ka`i t~wn Soug'ambrwn +m'eroc. met`a d`e to`uc parapotam'iouc t>~all'a >estin >'ejnh t`a +metax`u to~u <R'hnou ka`i to~u >'Albioc potamo~u, <`oc par'allhl'oc pwc +>eke'inw| <re~i pr`oc t`on >wkean'on, o>uk >el'attw q'wran diexi`wn +>'hper >eke~inoc. e>is`i d`e metax`u ka`i >'alloi potamo`i plwto`i <~wn +>en t~w| >Amas'ia| Dro~usoc Broukt'erouc katenaum'aqhse, <r'eontec +<wsa'utwc >ap`o n'otou pr`oc borr~an ka`i t`on >wkean'on. >ex~hrtai g`ar +<h q'wra pr`oc n'oton ka`i suneq~h| ta~ic >'Alpesi poie~i <r'aqin tin`a +pr`oc <'ew tetam'enhn, <wc >`an m'eroc o>~usan t~wn >'Alpewn; ka`i d`h +ka`i >apef'anht'o tinec o<'utwc di'a te t`hn leqje~isan j'esin ka`i di`a +t`on t`hn a>ut`hn <'ulhn >ekf'erein; o>u m`hn >ep`i toso~ut'o ge <'uyoc +>an'isqei t`a ta'uth| >'orh. >enta~uja d'' >est`in <o <Erk'unioc drum`oc +ka`i t`a t~wn Sohb~wn >'ejnh, t`a m`en o>iko~unta >ent`oc to~u drumo~u, +>en o<~ic >esti ka`i t`o Bou'iaimon t`o to~u +Marob'odou bas'ileion, e>ic <`on >eke~inoc t'opon >'allouc te +metan'esthse ple'iouc ka`i d`h ka`i to`uc <omoejne~ic <eaut~w| +Markomm'anouc. >ep'esth g`ar to~ic pr'agmasin o<~utoc >ex >idi'wtou +met`a t`hn >ek <R'wmhc >ep'anodon; n'eoc g`ar >~hn >enj'ade ka`i +e>uergete~ito <up`o to~u Sebasto~u, >epanelj`wn d`e >edun'asteue ka`i +katekt'hsato pr`oc o<~ic e>~ipon Loug'iouc te, m'ega >'ejnoc, ka`i +Zo'umouc ka`i Go'utwnac ka`i Moug'ilwnac ka`i Sib'inouc ka`i t~wn +Sohb~wn a>ut~wn m'ega >'ejnoc, S'emnwnac. pl`hn t'a ge t~wn Sohb~wn, <wc +>'efhn, >'ejnh t`a m`en >ent`oc o>ike~i, t`a d`e >ekt`oc to~u drumo~u, +<'omora to~ic G'etaic. m'egiston m`en o>~un t`o t~wn Sohb~wn >'ejnoc; +di'hkei g`ar >ap`o to~u <R'hnou m'eqri to~u >'Albioc; m'eroc d'e ti +a>ut~wn ka`i p'eran to~u >'Albioc n'emetai, kaj'aper <Erm'ondoroi ka`i +Lagkob'ardoi; nun`i d`e ka`i tel'ewc e>ic t`hn pera'ian o<~utoi ge +>ekpept'wkasi fe'ugontec. koin`on d'' >est`in <'apasi to~ic ta'uth| t`o +per`i t`ac metanast'aseic e>umar`ec di`a t`hn lit'othta to~u b'iou ka`i +di`a t`o m`h gewrge~in mhd`e jhsaur'izein, >all'' >en kalub'ioic +o>ike~in >ef'hmeron >'eqousi paraskeu'hn; trof`h d'' >ap`o jremm'atwn <h +ple'isth kaj'aper to~ic nom'asin, <'wst'' >eke'inouc mimo'umenoi t`a +o>ike~ia ta~ic <armam'axaic >ep'arantec <'oph| >`an d'oxh| tr'epontai +met`a t~wn boskhm'atwn. >'alla d'' >ende'ester'a >estin >'ejnh +Germanik`a Qhro~usko'i te ka`i Q'attoi ka`i Gamabrio'uioi ka`i +Qattou'arioi; pr`oc d`e t~w| >wkean~w| So'ugambro'i te ka`i Qa~uboi ka`i +Bro'ukteroi ka`i K'imbroi Ka~ukoi te ka`i Kao~ulkoi ka`i Kamyiano`i ka`i +>'alloi ple'iouc. >ep`i ta>ut`a d`e t~w| >Amas'ia| f'erontai B'isourg'ic +te ka`i Loup'iac potam'oc, di'eqwn <R'hnou per`i <exakos'iouc stad'iouc, +<r'ewn di`a Broukt'erwn t~wn >elatt'onwn. >'esti d`e ka`i S'alac +potam'oc, o<~u metax`u ka`i to~u <R'hnou polem~wn ka`i katorj~wn +Dro~usoc >etele'uthsen <o Germanik'oc. >eqeir'wsato d'' o>u m'onon t~wn +>ejn~wn t`a ple~ista, >all`a ka`i t`ac >en t~w| par'aplw| n'hsouc, <~wn +>esti ka`i <h Burqan'ic, <`hn >ek poliork'iac e<~ile. +\par +gn'wrima d`e ta~uta kat'esth t`a >'ejnh polemo~unta pr`oc <Rwma'iouc, +e>~it'' >endid'onta ka`i p'alin >afist'amena >`h ka`i katale'iponta t`a +katoik'iac; k>`an ple'iw d`e gn'wrima <up~hrxen, e>i >ep'etrepe to~ic +strathgo~ic <o Sebast`oc diaba'inein t`on >'Albin metio~usi to`uc +>eke~ise >apanistam'enouc. nun`i d'' e>upor'wteron <up'elabe strathge~in +t`on >en qers`i p'olemon, e>i t~wn >'exw to~u >'Albioc kaj'' <hsuq'ian +>'ontwn >ap'eqoito ka`i m`h parox'unoi pr`oc t`hn koinwn'ian t~hc +>'eqjrac. >'hrxanto d`e to~u pol'emou So'ugambroi plhs'ion o>iko~untec +to~u <R'hnou, M'elwna >'eqontec <hgem'ona; k>ake~ijen >'hdh died'eqonto +>'allot'' >'alloi dunaste'uontec ka`i katalu'omenoi, p'alin d'' +>afist'amenoi, prodid'ontec ka`i t`a <'omhra ka`i t`ac p'isteic. pr`oc +o<`uc <h m`en >apist'ia m'ega >'ofeloc, o<i d`e pisteuj'entec t`a +m'egista kat'eblayan, kaj'aper o<i Qhro~uskoi ka`i o<i to'utoic +<up'hkooi, par'' o<~ic tr'ia t'agmata <Rwma'iwn met`a to~u strathgo~u +>Ou'arou Kouintill'iou paraspondhj'enta >ap'wleto >ex >en'edrac. +>'etisan d`e d'ikac >'apantec ka`i par'esqon t~w| newt'erw| Germanik~w| +lampr'otaton jr'iambon, >en <~w| >ejriambe'uh t~wn >epifanest'atwn +>andr~wn s'wmata ka`i gunaik~wn, Segimo~unt'oc te Seg'estou u<i'oc, +Qhro'uskwn <hgem'wn, ka`i >adelf`h a>uto~u, gun`h d'' >Armen'iou to~u +polemarq'hsantoc >en to~ic Qhro'uskoic >en t~h| pr`oc >Ou~aron +Kouint'illion paraspond'hsei ka`i n~un >'eti sun'eqontoc t`on p'olemon, +>'onoma Jousn'elda, ka`i u<i`oc triet`hc Joum'elikoc; >'eti d`e +Ses'ijakoc, Segim'hrou u<i`oc t~wn Qhro'uskwn <hgem'onoc, ka`i gun`h +to'utou <Ram'ic, O>ukrom'hrou jugat`hr <hgem'onoc Q'attwn, ka`i +Deud'orix, Bait'origoc to~u M'elwnoc >adelfo~u u<i'oc, So'ugmabroc. +Seg'esthc d`e <o penjer`oc to~u >Armen'iou ka`i >ex >arq~hc di'esth +pr`oc t`hn gn'wmhn a>uto~u ka`i lab`wn kair`on h>utom'olhse ka`i t~w| +jri'ambw| par~hn t~wn filt'atwn, >en tim~h| >ag'omenoc. >ep'ompeuse d`e +ka`i L'ibhc t~wn Q'attwn <iere'uc, ka`i >'alla d`e s'wmata >epompe'ujh +>ek t~wn peporjhm'enwn >ejn~wn, Kao'ulkwn Kamyan~wn Broukt'erwn +O>us'ipwn Qhro'uskwn Q'attwn Qattouar'iwn Land~wn Toubatt'iwn. di'eqei +d`e to~u >'Albioc <o <R~hnoc per`i trisqil'iouc stad'iouc, e>'i tic +e>ujuporo'usac >'eqoi t`ac <odo'uc; nun`i d`e di`a skoli~ac ka`i +<el'wdouc ka`i drum~wn kuklopore~in >an'agkh. +\par {} +<o d`e <Erk'unioc drum`oc pukn'oteroc t'e >esti ka`i megal'odendroc >en +qwr'ioic >erumno~ic k'uklon perilamb'anwn m'egan, >en m'esw| d`e +<'idrutai q'wra kal~wc o>ike~isjai dunam'enh, per`i <~hc e>ir'hkamen. +>'esti d`e plhs'ion a>ut~hc <h te to~u >'Istrou phg`h ka`i <h to~u +<R'hnou ka`i <h metax`u >amfo~in l'imnh ka`i t`a <'elh t`a >ek to~u +<R'hnou diaqe'omena. >'esti d'' <h l'imnh t`hn m`en per'imetron stad'iwn +plei'onwn >`h pentakos'iwn, d'iarma d`e >egg`uc diakos'iwn. >'eqei d`e +ka`i n~hson, <~h| >eqr'hsanto <ormhthr'iw| Tib'erioc naumaq~wn pr`oc +>Ouindoliko'uc. notiwt'era d'' >est`i t~wn to~u >'Istrou phg~wn ka`i +a<'uth, <'wst'' >an'agkh t~w| t~hc Keltik~hc >ep`i t`on <Erk'union +drum`on >i'onti pr~wton m`en diaper~asai t`hn l'imnhn, >'epeita t`on +>'Istron, e>~it'' >'hdh di'' e>upetest'erwn qwr'iwn >ep`i t`on drum`on +t`ac prob'aseic poie~isjai di'' >oroped'iwn. <hmer'hsion d'' >ap`o t~hc +l'imnhc proelj`wn Tib'erioc e>~ide t`ac to~u >'Istrou phg'ac. +pros'aptontai d`e t~hc l'imnhc >ep'' >ol'igon m`en o<i <Raito'i, t`o d`e +pl'eon <Elou'httioi ka`i >Ouindoliko'i, o>iko~usin >orop'edia. <Raito`i +d`e ka`i Nwriko`i m'eqri t~wn >Alpe'iwn <uperbol~wn >an'isqousi ka`i +p`roc t`hn >Ital'ian perine'uousin, o<i m`en >Inso'ubroic sun'aptontec +o<i d`e K'arnoic ka`i to~ic per`i t`hn >Akulh'ian qwr'ioic. >'esti d`e +ka`i >'allh <'ulh meg'alh Gabr~hta >ep`i t'ade t~wn Sohb~wn, >ep'ekeina +d'' <o <Erk'unioc drum'oc; >'eqetai d`e k>ake~inoc <up'' a>ut~wn.} + +\mytext + +\bigskip + +%\showhyphens{\mytext} +%\end{document} + +e>i-rh-k'o-si d'' <h-m~in pe-r`i t~hc >I-bh-r'i-ac ka`i t~wn Kel-ti-k~wn +>e-jn~wn ka`i t~wn >I-ta-li-k~wn s`un ta~ic plh-s'i-on n'h-soic +>e-fe-x~hc >`an e>'i-h l'e-gein t`a lei-p'o-me-na t~hc E>u-r'w-phc +m'e-rh, di-e-lo~u-si t`on >en-de-q'o-me-non tr'o-pon. le'i-pe-tai d`e +t`a pr`oc <'e-w m`en t`a p'e-ran to~u <R'h-nou m'e-qri to~u Ta-n'a-i-doc +ka`i to~u st'o-ma-toc t~hc Mai-'w-ti-doc l'i-mnhc, ka`i <'o-sa me-ta-x`u +to~u >A-dr'i-ou ka`i t~wn >a-ri-ste-r~wn t~hc Pon-ti-k~hc ja-l'at-thc +me-r~wn >a-po-lam-b'a-nei pr`oc n'o-ton m'e-qri t~hc <El-l'a-doc ka`i +t~hc Pro-pon-t'i-doc <o >'I-stroc; di-ai-re~i g`ar o<~u-toc <'a-pa-san +<wc >eg-gu-t'a-tw d'i-qa t`hn le-qje~i-san g~hn, m'e-gi-stoc t~wn ka-t`a +t`hn E>u-r'w-phn po-ta-m~wn, <r'e-wn pr`oc n'o-ton kat'' >ar-q'ac, +e>~it'' >e-pi-str'e-fwn e>u-j`uc >a-p`o t~hc d'u-se-wc >e-p`i t`hn +>a-na-to-l`hn ka`i t`on P'on-ton. >'ar-qe-tai m`en o>~un >a-p`o t~wn +Ger-ma-ni-k~wn >'a-krwn t~wn <e-spe-r'i-wn, plh-s'i-on d`e ka`i to~u +mu-qo~u to~u >A-dri-a-ti-ko~u, di-'e-qwn a>u-to~u pe-r`i qi-l'i-ouc +sta-d'i-ouc; te-leu-t~a| d'' e>ic t`on P'on-ton o>u po-l`u >'a-pw-jen +t~wn to~u T'u-ra ka`i to~u Bo-ru-sj'e-nouc >ek-bo-l~wn, >ek-kl'i-nwn pwc +pr`oc >'ar-ktouc. pros-'ar-kti-a m`en o>~un >e-sti t~w| >'I-strw| t`a +p'e-ran to~u <R'h-nou ka`i t~hc Kel-ti-k~hc; ta~u-ta d'' >e-st`i t'a te +Ga-la-ti-k`a >'e-jnh ka`i t`a Ger-ma-ni-k`a m'e-qri Ba-star-n~wn ka`i +Tu-re-ge-t~wn ka`i to~u Bo-ru-sj'e-nouc, ka`i <'o-sa me-ta-x`u to'u-tou +ka`i Ta-n'a-i-doc ka`i to~u st'o-ma-toc t~hc Mai-'w-ti-doc e>'ic te t`hn +me-s'o-gai-an >a-na-te'i-nei m'e-qri to~u >w-ke-a-no~u ka`i t~h| +Pon-ti-k~h| kl'u-ze-tai ja-l'at-th|; me-shm-bri-n`a d`e t'a te +>Il-lu-ri-k`a ka`i t`a Jr'a|-ki-a ka`i <'o-sa to'u-toic +>a-na-m'e-mi-ktai t~wn Kel-ti-k~wn >'h ti-nwn >'al-lwn, m'e-qri t~hc +<El-l'a-doc. l'e-gw-men d`e pr~w-ton pe-r`i t~wn >e-kt`oc to~u +>'I-strou; po-l`u g`ar <a-plou-st'e-ra t~wn >e-p`i j'a-te-ra me-r~wn +>e-stin. + +e>u-j`uc to'i-nun t`a p'e-ran to~u <R'h-nou me-t`a to`uc Kel-to`uc pr`oc +t`hn <'e-w ke-kli-m'e-na Ger-ma-no`i n'e-mon-tai, mi-kr`on +>ex-al-l'a-ton-tec to~u Kel-ti-ko~u f'u-lou t~w| te ple-o-na-sm~w| t~hc +>a-gri-'o-th-toc ka`i to~u me-g'e-jouc ka`i t~hc xan-j'o-th-toc, +t>~al-la d`e pa-ra-pl'h-si-oi ka`i mor-fa~ic ka`i >'h-je-si ka`i b'i-oic +>'on-tec, o<'i-ouc e>i-r'h-ka-men to`uc Kel-to'uc. di-`o d`h ka'i moi +do-ko~u-si <Rw-ma~i-oi to~u-to a>u-to~ic j'e-sjai to>'u-no-ma <wc >`an +gnh-s'i-ouc Ga-l'a-tac fr'a-zein bou-l'o-me-noi; gn'h-si-oi g`ar o<i +Ger-ma-no`i ka-t`a t`hn <Rw-ma'i-wn di-'a-le-kton. + +>'e-sti d`e t`a m`en pr~w-ta m'e-rh t~hc q'w-rac ta'u-thc t`a pr`oc t~w| +<R'h-nw| m'e-qri t~wn >ek-bo-l~wn >a-p`o t~hc ph-g~hc >ar-xa-m'e-noic; +sqe-d`on d'e ti ka`i to~ut'' >'e-sti t`o <e-sp'e-ri-on t~hc q'w-rac +pl'a-toc, <h po-ta-m'i-a p~a-sa. ta'u-thc d`e t`a m`en e>ic t`hn +Kel-ti-k`hn me-t'h-ga-gon <Rw-ma~i-oi, t`a d'' >'e-fjh me-ta-st'an-ta +e>ic t`hn >en b'a-jei q'w-ran, ka-j'a-per Mar-so'i; loi-po`i d'' +e>i-s`in >o-l'i-goi ka`i t~wn Sou-g'am-brwn m'e-roc. me-t`a d`e to`uc +pa-ra-po-ta-m'i-ouc t>~al-l'a >e-stin >'e-jnh t`a me-ta-x`u to~u +<R'h-nou ka`i to~u >'Al-bi-oc po-ta-mo~u, <`oc pa-r'al-lh-l'oc pwc +>e-ke'i-nw| <re~i pr`oc t`on >w-ke-a-n'on, o>uk >e-l'at-tw q'w-ran +di-ex-i-`wn >'h-per >e-ke~i-noc. e>i-s`i d`e me-ta-x`u ka`i >'al-loi +po-ta-mo`i plw-to`i <~wn >en t~w| >A-ma-s'i-a| Dro~u-soc Brou-kt'e-rouc +ka-te-nau-m'a-qh-se, <r'e-on-tec <ws-a'u-twc >a-p`o n'o-tou pr`oc +bor-r~an ka`i t`on >w-ke-a-n'on. >ex-~hr-tai g`ar <h q'w-ra pr`oc +n'o-ton ka`i sun-e-q~h| ta~ic >'Al-pe-si poi-e~i <r'a-qin ti-n`a pr`oc +<'e-w te-ta-m'e-nhn, <wc >`an m'e-roc o>~u-san t~wn >'Al-pe-wn; ka`i d`h +ka`i >a-pe-f'a-nh-t'o ti-nec o<'u-twc di-'a te t`hn le-qje~i-san j'e-sin +ka`i di-`a t`on t`hn a>u-t`hn <'u-lhn >ek-f'e-rein; o>u m`hn >e-p`i +to-so~u-t'o ge <'u-yoc >a-n'i-sqei t`a ta'u-th| >'o-rh. >en-ta~u-ja d'' +>e-st`in <o <Er-k'u-ni-oc dru-m`oc ka`i t`a t~wn So-h-b~wn >'e-jnh, t`a +m`en o>i-ko~un-ta >en-t`oc to~u dru-mo~u, >en o<~ic >e-sti ka`i t`o +Bo-u'i-ai-mon t`o to~u Ma-ro-b'o-dou ba-s'i-lei-on, e>ic <`on +>e-ke~i-noc t'o-pon >'al-louc te me-ta-n'e-sth-se ple'i-ouc ka`i d`h +ka`i to`uc <o-mo-e-jne~ic <e-au-t~w| Mar-kom-m'a-nouc. >e-p'e-sth g`ar +to~ic pr'a-gma-sin o<~u-toc >ex >i-di-'w-tou me-t`a t`hn >ek <R'w-mhc +>e-p'a-no-don; n'e-oc g`ar >~hn >en-j'a-de ka`i e>u-er-ge-te~i-to <u-p`o +to~u Se-ba-sto~u, >e-pa-nel-j`wn d`e >e-du-n'a-steu-e ka`i +ka-te-kt'h-sa-to pr`oc o<~ic e>~i-pon Lou-g'i-ouc te, m'e-ga >'e-jnoc, +ka`i Zo'u-mouc ka`i Go'u-tw-nac ka`i Mou-g'i-lw-nac ka`i Si-b'i-nouc +ka`i t~wn So-h-b~wn a>u-t~wn m'e-ga >'e-jnoc, S'e-mnw-nac. pl`hn t'a ge +t~wn So-h-b~wn, <wc >'e-fhn, >'e-jnh t`a m`en >en-t`oc o>i-ke~i, t`a d`e +>e-kt`oc to~u dru-mo~u, <'o-mo-ra to~ic G'e-taic. m'e-gi-ston m`en o>~un +t`o t~wn So-h-b~wn >'e-jnoc; di-'h-kei g`ar >a-p`o to~u <R'h-nou m'e-qri +to~u >'Al-bi-oc; m'e-roc d'e ti a>u-t~wn ka`i p'e-ran to~u >'Al-bi-oc +n'e-me-tai, ka-j'a-per <Er-m'on-do-roi ka`i Lag-ko-b'ar-doi; nu-n`i d`e +ka`i te-l'e-wc e>ic t`hn pe-ra'i-an o<~u-toi ge >ek-pe-pt'w-ka-si +fe'u-gon-tec. koi-n`on d'' >e-st`in <'a-pa-si to~ic ta'u-th| t`o pe-r`i +t`ac me-ta-na-st'a-seic e>u-ma-r`ec di-`a t`hn li-t'o-th-ta to~u b'i-ou +ka`i di-`a t`o m`h ge-wr-ge~in mh-d`e jh-sau-r'i-zein, >all'' >en +ka-lu-b'i-oic o>i-ke~in >e-f'h-me-ron >'e-qou-si pa-ra-skeu-'hn; tro-f`h +d'' >a-p`o jrem-m'a-twn <h ple'i-sth ka-j'a-per to~ic no-m'a-sin, +<'wst'' >e-ke'i-nouc mi-mo'u-me-noi t`a o>i-ke~i-a ta~ic <ar-ma-m'a-xaic +>e-p'a-ran-tec <'o-ph| >`an d'o-xh| tr'e-pon-tai me-t`a t~wn +bo-skh-m'a-twn. >'al-la d'' >en-de-'e-ste-r'a >e-stin >'e-jnh +Ger-ma-ni-k`a Qh-ro~u-sko'i te ka`i Q'at-toi ka`i Ga-ma-bri-o'u-i-oi +ka`i Qat-tou-'a-ri-oi; pr`oc d`e t~w| >w-ke-a-n~w| So'u-gam-bro'i te +ka`i Qa~u-boi ka`i Bro'u-kte-roi ka`i K'im-broi Ka~u-koi te ka`i +Ka-o~ul-koi ka`i Kam-yi-a-no`i ka`i >'al-loi ple'i-ouc. >e-p`i ta>u-t`a +d`e t~w| >A-ma-s'i-a| f'e-ron-tai B'i-sour-g'ic te ka`i Lou-p'i-ac +po-ta-m'oc, di-'e-qwn <R'h-nou pe-r`i <e-xa-ko-s'i-ouc sta-d'i-ouc, +<r'e-wn di-`a Brou-kt'e-rwn t~wn >e-lat-t'o-nwn. >'e-sti d`e ka`i +S'a-lac po-ta-m'oc, o<~u me-ta-x`u ka`i to~u <R'h-nou po-le-m~wn ka`i +ka-tor-j~wn Dro~u-soc >e-te-le'u-th-sen <o Ger-ma-ni-k'oc. +>e-qei-r'w-sa-to d'' o>u m'o-non t~wn >e-jn~wn t`a ple~i-sta, >al-l`a +ka`i t`ac >en t~w| pa-r'a-plw| n'h-souc, <~wn >e-sti ka`i <h +Bur-qa-n'ic, <`hn >ek po-li-or-k'i-ac e<~i-le. + +gn'w-ri-ma d`e ta~u-ta ka-t'e-sth t`a >'e-jnh po-le-mo~un-ta pr`oc +<Rw-ma'i-ouc, e>~it'' >en-di-d'on-ta ka`i p'a-lin >a-fi-st'a-me-na >`h +ka`i ka-ta-le'i-pon-ta t`a ka-toi-k'i-ac; k>`an ple'i-w d`e gn'w-ri-ma +<u-p~hr-xen, e>i >e-p'e-tre-pe to~ic stra-th-go~ic <o Se-ba-st`oc +di-a-ba'i-nein t`on >'Al-bin me-ti-o~u-si to`uc >e-ke~i-se +>a-pa-ni-sta-m'e-nouc. nu-n`i d'' e>u-po-r'w-te-ron <u-p'e-la-be +stra-th-ge~in t`on >en qer-s`i p'o-le-mon, e>i t~wn >'e-xw to~u +>'Al-bi-oc kaj'' <h-su-q'i-an >'on-twn >a-p'e-qoi-to ka`i m`h +pa-ro-x'u-noi pr`oc t`hn koi-nw-n'i-an t~hc >'e-qjrac. >'hr-xan-to d`e +to~u po-l'e-mou So'u-gam-broi plh-s'i-on o>i-ko~un-tec to~u <R'h-nou, +M'e-lw-na >'e-qon-tec <h-ge-m'o-na; k>a-ke~i-jen >'h-dh di-e-d'e-qon-to +>'al-lot'' >'al-loi du-na-ste'u-on-tec ka`i ka-ta-lu-'o-me-noi, p'a-lin +d'' >a-fi-st'a-me-noi, pro-di-d'on-tec ka`i t`a <'o-mh-ra ka`i t`ac +p'i-steic. pr`oc o<`uc <h m`en >a-pi-st'i-a m'e-ga >'o-fe-loc, o<i d`e +pi-steu-j'en-tec t`a m'e-gi-sta ka-t'e-bla-yan, ka-j'a-per o<i +Qh-ro~u-skoi ka`i o<i to'u-toic <u-p'h-ko-oi, par'' o<~ic tr'i-a +t'a-gma-ta <Rw-ma'i-wn me-t`a to~u stra-th-go~u >O-u-'a-rou +Kou-in-til-l'i-ou pa-ra-spon-dh-j'en-ta >a-p'w-le-to >ex >en-'e-drac. +>'e-ti-san d`e d'i-kac >'a-pan-tec ka`i pa-r'e-sqon t~w| ne-w-t'e-rw| +Ger-ma-ni-k~w| lam-pr'o-ta-ton jr'i-am-bon, >en <~w| >e-jri-am-be'u-h +t~wn >e-pi-fa-ne-st'a-twn >an-dr~wn s'w-ma-ta ka`i gu-nai-k~wn, +Se-gi-mo~un-t'oc te Se-g'e-stou u<i-'oc, Qh-ro'u-skwn <h-ge-m'wn, ka`i +>a-del-f`h a>u-to~u, gu-n`h d'' >Ar-me-n'i-ou to~u po-le-mar-q'h-san-toc +>en to~ic Qh-ro'u-skoic >en t~h| pr`oc >O-u-~a-ron Kou-in-t'il-li-on +pa-ra-spon-d'h-sei ka`i n~un >'e-ti sun-'e-qon-toc t`on p'o-le-mon, +>'o-no-ma Jous-n'el-da, ka`i u<i-`oc tri-e-t`hc Jou-m'e-li-koc; >'e-ti +d`e Se-s'i-ja-koc, Se-gi-m'h-rou u<i-`oc t~wn Qh-ro'u-skwn +<h-ge-m'o-noc, ka`i gu-n`h to'u-tou <Ra-m'ic, O>u-kro-m'h-rou ju-ga-t`hr +<h-ge-m'o-noc Q'at-twn, ka`i Deu-d'o-rix, Bai-t'o-ri-goc to~u M'e-lw-noc +>a-del-fo~u u<i-'oc, So'u-gma-broc. Se-g'e-sthc d`e <o pen-je-r`oc to~u +>Ar-me-n'i-ou ka`i >ex >ar-q~hc di-'e-sth pr`oc t`hn gn'w-mhn a>u-to~u +ka`i la-b`wn kai-r`on h>u-to-m'o-lh-se ka`i t~w| jri-'am-bw| pa-r~hn +t~wn fil-t'a-twn, >en ti-m~h| >a-g'o-me-noc. >e-p'om-peu-se d`e ka`i +L'i-bhc t~wn Q'at-twn <i-e-re'uc, ka`i >'al-la d`e s'w-ma-ta +>e-pom-pe'u-jh >ek t~wn pe-por-jh-m'e-nwn >e-jn~wn, Ka-o'ul-kwn +Kam-ya-n~wn Brou-kt'e-rwn O>u-s'i-pwn Qh-ro'u-skwn Q'at-twn +Qat-tou-a-r'i-wn Lan-d~wn Tou-bat-t'i-wn. di-'e-qei d`e to~u >'Al-bi-oc +<o <R~h-noc pe-r`i tris-qi-l'i-ouc sta-d'i-ouc, e>'i tic +e>u-ju-po-ro'u-sac >'e-qoi t`ac <o-do'uc; nu-n`i d`e di-`a sko-li-~ac +ka`i <e-l'w-douc ka`i dru-m~wn ku-klo-po-re~in >a-n'ag-kh. + +<o d`e <Er-k'u-ni-oc dru-m`oc pu-kn'o-te-roc t'e >e-sti ka`i +me-ga-l'o-den-droc >en qw-r'i-oic >e-ru-mno~ic k'u-klon +pe-ri-lam-b'a-nwn m'e-gan, >en m'e-sw| d`e <'i-dru-tai q'w-ra ka-l~wc +o>i-ke~i-sjai du-na-m'e-nh, pe-r`i <~hc e>i-r'h-ka-men. >'e-sti d`e +plh-s'i-on a>u-t~hc <h te to~u >'I-strou ph-g`h ka`i <h to~u <R'h-nou +ka`i <h me-ta-x`u >am-fo~in l'i-mnh ka`i t`a <'e-lh t`a >ek to~u +<R'h-nou di-a-qe-'o-me-na. >'e-sti d'' <h l'i-mnh t`hn m`en +pe-r'i-me-tron sta-d'i-wn plei-'o-nwn >`h pen-ta-ko-s'i-wn, d'i-ar-ma +d`e >eg-g`uc di-a-ko-s'i-wn. >'e-qei d`e ka`i n~h-son, <~h| +>e-qr'h-san-to <or-mh-th-r'i-w| Ti-b'e-ri-oc nau-ma-q~wn pr`oc +>O-uin-do-li-ko'uc. no-ti-w-t'e-ra d'' >e-st`i t~wn to~u >'I-strou +ph-g~wn ka`i a<'u-th, <'wst'' >a-n'ag-kh t~w| t~hc Kel-ti-k~hc >e-p`i +t`on <Er-k'u-ni-on dru-m`on >i-'on-ti pr~w-ton m`en di-a-pe-r~a-sai t`hn +l'i-mnhn, >'e-pei-ta t`on >'I-stron, e>~it'' >'h-dh di'' +e>u-pe-te-st'e-rwn qw-r'i-wn >e-p`i t`on dru-m`on t`ac pro-b'a-seic +poi-e~i-sjai di'' >o-ro-pe-d'i-wn. <h-me-r'h-si-on d'' >a-p`o t~hc +l'i-mnhc pro-el-j`wn Ti-b'e-ri-oc e>~i-de t`ac to~u >'I-strou ph-g'ac. +pros-'a-pton-tai d`e t~hc l'i-mnhc >ep'' >o-l'i-gon m`en o<i <Rai-to'i, +t`o d`e pl'e-on <E-lou-'ht-ti-oi ka`i >O-uin-do-li-ko'i, o>i-ko~u-sin +>o-ro-p'e-di-a. <Rai-to`i d`e ka`i Nw-ri-ko`i m'e-qri t~wn >Al-pe'i-wn +<u-per-bo-l~wn >a-n'i-sqou-si ka`i p`roc t`hn >I-ta-l'i-an +pe-ri-ne'u-ou-sin, o<i m`en >In-so'u-broic sun-'a-pton-tec o<i d`e +K'ar-noic ka`i to~ic pe-r`i t`hn >A-ku-lh-'i-an qw-r'i-oic. >'e-sti d`e +ka`i >'al-lh <'u-lh me-g'a-lh Ga-br~h-ta >e-p`i t'a-de t~wn So-h-b~wn, +>e-p'e-kei-na d'' <o <Er-k'u-ni-oc dru-m'oc; >'e-qe-tai d`e k>a-ke~i-noc +<up'' a>u-t~wn. + +\bigskip + +\rightline{Str'abwn, \textit{Gewgraf'ia} (7.1.1--7.1.5)} + +\end{document} diff --git a/Master/texmf-dist/doc/generic/elhyphen/anc-test.pdf b/Master/texmf-dist/doc/generic/elhyphen/anc-test.pdf Binary files differnew file mode 100644 index 00000000000..c8bf6dec563 --- /dev/null +++ b/Master/texmf-dist/doc/generic/elhyphen/anc-test.pdf diff --git a/Master/texmf-dist/doc/generic/elhyphen/ancient.pdf b/Master/texmf-dist/doc/generic/elhyphen/ancient.pdf Binary files differnew file mode 100644 index 00000000000..01ee0179519 --- /dev/null +++ b/Master/texmf-dist/doc/generic/elhyphen/ancient.pdf diff --git a/Master/texmf-dist/doc/generic/elhyphen/compound.ltx b/Master/texmf-dist/doc/generic/elhyphen/compound.ltx new file mode 100644 index 00000000000..69adebdef25 --- /dev/null +++ b/Master/texmf-dist/doc/generic/elhyphen/compound.ltx @@ -0,0 +1,1554 @@ +%%%% compound words / hyphenated according to DF +%%%% +%%%% check for ??? for problematic words! +% +a)die'2c1 % a)die'c-odos +a)die2c1 +a)du2s1'w % a)dus-w'phtos +a)du2s1w +a(lo'2s1 % a(lo's-anjoc +<alo2s1 +>ampal'i2n1 % >ampal'in-orroc +>ampali2n1 +>amf'i2s1b % >amf'is-baina +>amfi2s1b +% >hmfe2s1b % (>a'or. to~u >amfisbht~w) ??? +% >hmfi2s1b +>amf'i2s1w % >amf'is-wpoc +>amfi2s1'w +>a2n1ag'hc. % >an-ag'hc +>a2n1ag`hc. +>a2n1ag'hs. +>a2n1ag`hs. +>a2n1ago +>a2n1age~i. +>a2n1ag~h. +>a2n1ag'ec. +>a2n1ag`ec. +>a2n1ag'es. +>a2n1ag`es. +>a2n1age~ic. +>a2n1age~is. +>a2n1ag~wn. +>a2n1ag'esi +>a2n1ag~h +>a2n1'agku % >an-'agkuloc +>a2n1agk'u +>'a2n1agn % >'anagnoc +>a2n1'agn +>a2n1agn % >an-agne'ia + >a3n2agn'a % >ana-gn'amptw + >a3n2agnw % >ana-gnwr'izw + >a3n2'agnw % >an'a-gnwsic + >a3n2agn'w +>a2n1agr'i % >an-agr'ia +>a2n1agr~i % >an-agr~iai +>a2n1agri % >an-agri~wn +>a2n1'agwg % >an-'agwgoc +>a2n1ag'wg + >a3n2ag'wgi % >ana-g'wgioc + >a3n2agwg'i + >a4n3agwg'ia % >an-agwg'ia +>a2n1'adel % >an-'adelfoc +>a2n1ad'el +>a2n1'aelp % >an-'aelptoc +>a2n1a'elp +>'a2n1ajl % >'an-ajloc +>a2n1'ajl +>a2n1a'id % >an-a'ideia +>a2n1aid % >an-aid'hc +>'a2n1aim % >'an-aimoc +>a2n1a'im +>a2n1aim % >an-aim'ia +>a2n1a'isj % >an-a'isjhtoc +>a2n1aisj +>a2n1aisi % >an-aisim'ow +>a2n1ais'i +>a2n1a'isq % >an-a'isquntoc +>a2n1aisq +>a2n1a'it % >an-a'itioc +>a2n1ait +>a2n1'akan % >an-'akanjoc +>a2n1ak'an +>a2n1ak'olo % >an-ak'oloujoc +>a2n1akolo +>a2n1alg % >an-alg'hc +>a2n1ald % >an-ald'hc + >a3n2alda % >anal-da'inw + >a3n2ald'hsk % >anal-d'hskw +>a2n1'aleip % >an-'aleiptoc +>a2n1ale'ip +>a2n1aleif % >an-aleif'ih +>a2n1'aleif % >an-'aleifoc +>a2n1ale'if +>a2n1al'hj % >an-al'hjhc +>a2n1alhj +>a2n1'alj % >an-'aljhtoc +>a2n1alj +>a2n1'alip % >an-'alipoc +>a2n1al'ip +>a2n1'alist % >an-'alistoc +>a2n1al'ist +>a2n1alk % >an-alk'hc +>'a2n1alk % >an-'alkic +>a2n1'alk +>a2n1'all % >an-'allaktoc +>a2n1all + >a3n2'allo % an'al-lomai + >a3n2'alle +>'a2n1alm % >'an-almoc +>a2n1'alm % >an-'almuroc +>a2n1alm +>'a2n1alo % >'an-aloc +>a2n1'alou +>a2n1'alw|. +>'a2n1ale. +>a2n1'aloi +>a2n1'alwn. +>'a2n1alt % >'an-altoc +>a2n1'alt +>a2n1am'ax % >an-am'axeutoc +>a2n1amax +>a2n1am'art % >an-am'arthtoc +>a2n1amart +>a2n1am'elg % >an-am'elghtoc +>a2n1amelg +>a2n1amp % >an-amp'eqonoc +>a2n1'amp % >an-'ampux +>a2n1amf % >an-amf'hristoc +>anamfi2s1 % >an-amfis-b'hthtoc +>a2n1an'agk % >an-an'agkastoc +>a2n1anagk +>'a2n1and % >'an-androc +>a2n1'and +>a2n1anj % >an-anj'hc + >a3n2anj'e % >anan-j'ew + >a4n3anj'ec. % >an-anj'ec + >a4n3anj`ec. + >a4n3anj'es. + >a4n3anj`es. + >a4n3anj'esi +>a2n1'anio % >an-'anioc +>a2n1an'io +>a2n1an'iw +>a2n1antag % >an-antag'wnistoc +>a2n1antap % >an-antap'odotoc +>a2n1ant'i % >an-ant'ijetoc +>a2n1anti +>ana2x1ag % >Anax-ag'orac +>an'a2x1an % >An'ax-androc +>ana2x1'an +>ana2x1an % >Anax-andr'idhc +>an'a2x1ar % >An'ax-arqoc +>ana2x1'ar +>an'a2x1ip % >An'ax-ippoc +>ana2x1'ip +>a2n1axi'ol % >an-axi'ologoc +>a2n1axiol +>a2n1axi'op % >an-axi'opistoc +>a2n1axiop +>a2n1'axio % >an-'axioc +>a2n1ax'io +>a2n1ax'iw +>a2n1ax'ia +>a2n1ax~ia +>a2n1ap'alla % >an-ap'allaktoc +>a2n1apall'a +>a2n1ap'art % >an-ap'artistoc +>a2n1apart +>a2n1apa'ud % >an-apa'udhtoc +>a2n1apaud +>a2n1ap'ob % >an-ap'oblhtoc +>a2n1apob +>a2n1ap'og % >an-ap'ografoc +>a2n1apog +>a2n1apod'h % >an-apod'hmhtoc +>a2n1apodh +>a2n1ap'odo % >an-ap'odotoc +>a2n1apod'o +>a2n1ap'odr % >an-ap'odrastoc +>a2n1apodr +>a2n1ap'olau % >an-ap'olaustoc +>a2n1apola'u +>a2n1apol'o % >an-apol'oghtoc +>a2n1apolo +>a2n1ap'olu % >an-ap'olutoc +>a2n1apol'u +>a2n1ap'on % >an-ap'oniptoc +>a2n1apon +>a2n1ap'op % >an-ap'oplutoc +>a2n1apop +>a2n1ap'os % >an-ap'ostratoc +>a2n1apos +>a2n1ap'ote % >an-ap'oteuktoc +>a2n1apote +>a2n1ap'otm % >an-ap'otmhtoc +>a2n1apotm +>a2n1ap'otr % >an-ap'otriptoc +>a2n1ar'a % >an-ar'aomai +>a2n1ara +>a2n1'ar % >an-'arbuloc +>a2n1ar +>'a2n1ar % >'an-arktoc + >a3n2ar'it % >ana-r'ithc + >a3n2ar~it % >ana-r~itai + >a3n2arit % >ana-rit~wn + >a3n2arp % >anar-p'azw + >a3n2'arr % >an'ar-riyic + >a3n2arr + >a4n3arrag % >an-arrag'hc + >a3n2art % >anar-t'aw + >a3n2ar'ut % >ana-r'utw +>a2n1'askh % >an-'askhtoc +>a2n1ask'h +>'a2n1aspi % >'an-aspic +>a2n1asp'i +>a2n1'assat % >an-'assatoc +>a2n1ass'at +>a2n1'astei % >an-'asteioc +>a2n1aste'i + >a3n2aste'ib % >ana-ste'ibw + >a3n2'asteir % >an'a-steiroc + >a3n2aste'ir + >a3n2'asteiq % >an'a-steiqoc + >a3n2aste'iq +>a2n1ate`i. % >an-ate'i +>a2n1ate'i. +>a2n1at`i. % >an-at'i +>a2n1at'i. +>'a2n1atoc. % >'an-atoc +>'a2n1atos. +>a2n1'atou. +>a2n1'atw +>'a2n1aton. +>'a2n1ate +>'a2n1atoi. +>a2n1'atoic. +>a2n1'atois. +>a2n1'att % >an-'attikoc +>a2n1att +>a2n1a'ug % >an-a'ughtoc +>a2n1aug +>a2n1a'ud % >an-a'udhtoc +>a2n1aud + >a3n2aud'i % >a-naud'ia + >a3n2audi +>'a2n1aud % >'an-audoc +>'a2n1aul % >'an-auloc +>a2n1a'ul +>a2n1a'ux % >an-a'uxhtoc +>a2n1aux +>a2n1a'uq % >an-a'uqhn +>a2n1auq +>a2n1afa'ir % >an-afa'iretoc +>a2n1afair +>a2n1af'h % >an-af'hc +>a2n1af`h +>a2n1afo~u +>a2n1af~h +>a2n1afe~i +>a2n1afo~i +>a2n1ef~wn. +>a2n1af'e +>a2n1af`e + >a3n2af~hn % >ana-f~hnai +>a2n1afr'od % >an-afr'oditoc +>a2n1afrod +>'a2n1afr % >'an-afroc +>a2n1'afr +>a2n1aq'ur % >an-aq'urwtoc +>a2n1aqur +>andr'o2s1a % >andr'os-aimon +>andro2s1a +>a2n1'egg % >an-'eggraptoc +>a2n1egg +>a2n1'egert % >an-'egertoc +>a2n1egert +>a2n1egk % >an-egk'efaloc +>a2n1'egk % >an-'egklhtoc +>a2n1egq % >an-egqe'irhtoc +>a2n1ed'a % >an-ed'afistoc +>a2n1eda +>a2n1'edes % >an-'edestoc +>a2n1edes +>a2n1'edras % >an-'edrastoc +>a2n1edr'as +>a2n1e'er % >an-e'ergw +>a2n1eer +>a2n1ej'el % >an-ej'elhtoc +>a2n1ejel +>a2n1'eji % >an-'ejistoc +>a2n1ej'i +>a2n1e'ide % >an-e'ideoc +>a2n1eid'e +>a2n1e'idw % >an-e'idwloc +>a2n1eid'w +>a2n1e'ika % >an-e'ikastoc +>a2n1eik'a +>a2n1eik'o % >an-eik'onistoc +>a2n1eiko +>a2n1eile'i % >an-eile'ijuia +>a2n1eilei +>a2n1e'ima % >an-e'imartai +>a2n1e'i2s1ak % >an-e'isaktoc +>a2n1ei2s1'ak +>a2n1e'i2s1o % >an-e'isodoc +>a2n1ei2s1'o +>a2n1ei2s1for % >an-eisfor'ia +>a2n1e'i2s1for % >an-e'isforoc +>a2n1ei2s1f'or +>a2n1'ek % >an-'ekbatoc, k.a.<'o. +>a2n1ek + >a3n2'eka % >an'e-kajen + >a3n2ek'ac. % >ane-k'ac + >a3n2ek`ac. + >a3n2ek'as. + >a3n2ek`as. + >a3n2ekt % >ane-kt'oc + >a4n3e2k1tit % >an-'ek-titoc + >a4n3e2k1t'it +>ane2k1lip % >an-ek-lip'hc +>ane2k1l'o % >an-ek-l'ogistoc +>ane2k1lo +>a2n1'elai % >an-'elaioc +>a2n1elai +>a2n1el'at % >an-el'atwtoc +>a2n1elat +>a2n1'elegk % >an-'elegktoc +>a2n1el'egk +>a2n1elegx % >an-elegx'ia +>a2n1el'eh % >an-el'ehtoc +>a2n1ele'h +>a2n1'eleo % >an-'eleoc +>a2n1el'eo +>a2n1el'ew +>a2n1'elee +>a2n1elk'h % >an-elk'hc +>a2n1elk`h +>a2n1elko +>a2n1elk~h +>a2n1elk'ec. +>a2n1elk`ec. +>a2n1elk'es. +>a2n1elk`es. +>a2n1elke +>a2n1elk~w +>a2n1elk'es +>'a2n1elkt % >'an-elktoc +>a2n1'elkt +>a2n1'elkw % >an-'elkwtoc +>a2n1elk'w +>a2n1'ell % >an-'ellhn +>a2n1'elpi % >an-'elpistoc +>a2n1elp'i +>a2n1'elutr +>a2n1el'utr +>a2n1'emb % >an-'embatoc +>a2n1emb +>a2n1'emet % >an-'emetoc +>a2n1em'et +>a2n1'emp % >an-'emplhktoc +>a2n1emp +>a2n1'emf % >an-'emfatoc +>a2n1emf +>a2n1'en % >an-'endotoc +>a2n1en + >a3n2'enei % >an'e-neika + >a3n2en'h % >ane-n'hnwje + >a3n2'entec. % >an'en-tec + >a3n2'entes. +>a2n1e2x1 % >an-ex-omol'oghtoc k.a.<'o. + >a3n2e3x2'ika % >anex'i-kakoc + >a3n2e3x2ik'a +>a2n1'eor % >an-'eortoc +>a2n1e'or +>a2n1ep % >an-ep'aggeltoc, k.lp. + >a3n2epn % >ane-pne'usaton + >a3n2ept % >ane-pt'amhn +>a2n1erast % >an-erast'ia +>a2n1'erast % >an-'erastoc +>a2n1er'ast +>a2n1erg % >an-erg'hc +>'a2n1erg % >'an-ergoc +>a2n1'erg +>a2n1'ereik % >an-'ereiktoc +>a2n1ere'ik +>a2n1'ereis % >an-'ereistoc +>a2n1ere'is +>a2n1ere'unht % >an-ere'unhtoc +>a2n1ereun'ht +>a2n1er'i % >an-er'ijeutoc +>a2n1eri +>a2n1erujr'iast % >an-erujr'iastoc +>a2n1erujri'ast +>a2n1'esti % >an-'estioc +>a2n1est'i +>a2n1'etai % >an-'etairoc +>a2n1eta'i +>a2n1'etoi % >an-'etoimoc +>a2n1eto'i +>a2n1etu % >an-etumol'oghtoc +>a2n1'etu % >an-'etumoc +>a2n1et'u +>a2n1e'uj % >an-e'ujetoc +>a2n1euj +>'a2n1euk % >'an-euktoc +>a2n1e'uk +>a2n1eul % >an-eulab'hc +>a2n1e'uret % >an-e'uretoc +>a2n1eur'et +>a2n1euf'htht % >an-euf'hmhtoc +>a2n1eufhm'ht + >a2n1e'uq % >an-e'uqomai (some tenses may be wrong ???) + >a2n1euq + >a2n1e'ux % >an-e'uxato + >a2n1eu + >a2n1hux % >an-hux'amhn + >a2n1h~ug % >an-h~ugmai + >a2n1hug + >a2n1eukt % >an-eukt'oc +>a2n1'ef % >an-'efaptoc k.lp. +>a2n1ef + >a3n2ef'al % >ane-f'allomai + >a3n2'efel % >a-n'efeloc + >a3n2ef'el +>a2n1eq'e % >an-eq'egguoc +>a2n1eqe +>a2n1'eya % >an-'eyanoc +>a2n1ey'a +>a2n1hgem % >an-hgem'oneutoc +>a2n1'hd % >an-'hdonoc +>a2n1hd +>a2n1'hkes % >an-'hkestoc +>a2n1hk'es +>a2n1'hkoust % >an-'hkoustoc +>a2n1hko'ust +>a2n1hko~ust % >an-hko~ustoic +>a2n1hl'ak % >an-hl'akatoc +>a2n1hlak +>a2n1'hlatoc. % >an-'hlatoc +>a2n1'hlatos. +>a2n1hl'atou +>a2n1hl'atw +>a2n1'hlaton. +>a2n1'hlate. +>a2n1hl'atoi +>a2n1'hlatoi +>a2n1'hlata +>a2n1hleg % >an-hleg'hc +>a2n1hle'h % >an-hle'hc +>a2n1hle`h +>a2n1hleo +>a2n1hlee +>a2n1hle~w +>a2n1hle'e +>a2n1hle`e +>a2n1hle~h +>a2n1hl'eh % >an-hl'ehtoc +>a2n1'hleip % >an-'hleiptoc +>a2n1hle'ip +>a2n1hl'h % >an-hl'hc +>a2n1hl`h +>a2n1hlo~u +>a2n1hle~i +>a2n1hl~h +>a2n1hl'e +>a2n1hl`e +>a2n1hlo~i +>a2n1hl~w +>a2n1'hlik % >an-'hlikoc +>a2n1hl'ik +>a2n1'hlio % >an-'hlioc +>a2n1hl'io +>a2n1hl'iw +>a2n1'hlia +>a2n1'hlip % >an-'hlipoc +>a2n1hl'ip +>a2n1hlif % >an-hlif'hc +>a2n1'hm % >an-'hmelktoc +>a2n1hm +>a2n1'hnu % >an-'hnustoc +>a2n1hn'u +>a2n1'hrei % >an-'hreiktoc +>a2n1hre'i +>a2n1hr'em % >an-hr'emhtoc +>a2n1hrem +>a2n1href % >an-href'hc +>a2n1'hri % >an-'hrijmoc +>a2n1hr'i +>a2n1'hrot % >an-'hrotoc +>a2n1hr'ot +>a2n1'hss % >an-'hsshtoc +>a2n1hss +>a2n1'htt % >an-'htthtoc +>a2n1htt +>a2n1'hfa % >an-'hfaistoc +>a2n1hfa +>a2n1'iat % >an-'iatoc +>a2n1i'at +>a2n1'idio % >an-'idioc +>a2n1id'io +>a2n1id'iw +>a2n1'idia +>a2n1idit % >an-idit'i +>'a2n1idroc % >'an-idroc +>a2n1'idrou +>a2n1'idrw +>'a2n1idron +>'a2n1idre +>a2n1'idroi +>'a2n1idroi +>a2n1'idrut % >an-'idrutoc +>a2n1idr'ut +>a2n1idrwt % >an-idrwt'i +>a2n1idr'wt % >an-idr'wtou (gen. to~u >an-'idrwtoc) +>a2n1'ier % >an-'ieroc +>a2n1i'er +>a2n1ier'at % >an-ier'atou + >a3n2i'erw % >ani-'erwsic +>a2n1'ik % >an-'ikanoc +>a2n1ik +>'a2n1ik % >'an-ikmoc + >a3n2'ikh % >a-n'ikhtoc + >a3n2ik'h +>a2n1'il % >an-'ilastoc +>a2n1il +>a2n1'imast % >an-'imastoc +>a2n1im'ast +>a2n1'iou % >an-'iouloc +>a2n1io'u +>'a2n1ipp % >'an-ippoc +>a2n1'ipp +>a2n1is % >an-is'azw +>'a2n1is % >'an-isoc +>a2n1'is + >a3n2is~at % >a-nis~aton + >a3n2is'at + >a3n2'ist % >a-n'isthmi + >a3n2ist + >a4n3istorh % >an-istorhs'ia + >a4n3ist'orh % >an-ist'orhtoc + >a4n3istor'h + >a3n2'isq % >an'i-sqw + >a4n3'isqu % >an-'isquroc +>'a2n1iq % >'an-iqjuc +>a2n1'iq +>a2n1iqne'ut % >an-iqne'utou +>a2n1'iy % >an-'iyaloc +>a2n1iy +>a2n1'ode % >an-'odeutoc +>a2n1od'e +>'a2n1oz % >'an-ozoc +>a2n1'oz +>a2n1oike % >an-oike'iou +>a2n1oikon % >an-oikon'omhtoc +>'a2n1oik % >'an-oikoc +>a2n1o'ik +>a2n1oikt'i % >an-oikt'irmwn +>'a2n1oikt % >'an-oiktoc +>a2n1o'ikt +>a2n1o'imwk % >an-o'imwktoc +>a2n1oim'wk +>a2n1oimwk % >an-oimwkt'i +>a2n1oin % >an-oin'ia +>'a2n1oin % >'an-oinoc +>a2n1o'in +>'a2n1oistr % >'an-oistroc +>a2n1o'istr +>a2n1'ol % >an-'olbioc +>a2n1ol +>'a2n1ol % >'an-olboc + >a3n2olk % >anol-k'h + >a3n2olo % >ano-lol'uzw +>a2n1ombr'i % >an-ombr'ia +>a2n1ombr~i +>'a2n1ombro % >'an-ombroc +>a2n1'ombro +>a2n1'ombrw +>'a2n1ombra +>a2n1om'hl % >an-om'hlikoc +>a2n1omhl +>a2n1om'il % >an-om'ilhtoc +>a2n1omil +>a2n1'omiq % >an-'omiqloc +>a2n1omiq +>a2n1'omo % >an-'omoioc +>a2n1om'o +>a2n1omo % >an-omoz'hlou (gen. to~u >an-om'ozhloc) + >a3n2omoj % >a-nomo-j'ethtoc + >a3n2'omou. % >a-n'omou (gen. to~u >'a-nomoc) + >a3n2'omw|. + >a3n2'omw. + >a2n2'omoin. + >a3n2'omwn. + >a3n2'omoic. + >a3n2'omois. + >a3n2'omouc. + >a3n2'omous. +>a2n1'on % >an-'onhtoc +>a2n1on +>'a2n1op % >'an-oploc +>a2n1'op +>a2n1'or % >an-'organoc +>a2n1or +>'a2n1or % >'an-orgoc + >a3n2org'az % >anor-g'azw + >'a3n2orj % >'anor-joc + >a3n2'orj + >a3n2orm'a % >anor-m'aomai + >a3n2ort % >anor-tal'izw + >a3n2or'u % >ano-r'ussw +>a2n1'osi % >an-'osioc +>a2n1os'i +>a2n1osi % >an-osi'othc +>'a2n1osm % >'an-osmoc +>a2n1'osm +>a2n1'osfr % >an-'osfrantoc +>a2n1osfr +>a2n1o'ua % >an-o'uatoc +>a2n1ou'a +>a2n1o'usi % >an-o'usioc +>a2n1ous'i +>a2n1o'ut % >an-o'utatoc +>a2n1out +>a2n1ofj % >an-ofjalm'iatoc +>a2n1'oqeut % >an-'oqeutoc +>a2n1oqe'ut +>'a2n1oql % >'an-oqloc +>a2n1'oql +>a2n1oy % >an-oy'ia +>'a2n1oy % >'an-oyoc +>a2n1'oy +>anta2n1is % >antan-is'ow +>anta2n1'is % >antan-'iswsa +>antei2s1 % >anteis-'agw +>ante2k1 % >antek-t'assw +>ante2n1 % >anten-'edra +>ante2x1 % >antex-'agw +>antidu2s1 % >antidus-qera'inw +>antipare2k1 % >antiparek-te'inw +>antipare2x1 % >antiparex-'agw +>antipro2s1 % >antipros-agore'uw + >antipros3k2u % >antipro-skun'ew +>antis'u2n1 % >antis'un-axic +>antisu2n1 +>a2n1'u % >an-'ubristoc +>a2n1u + >a3n2um % >a-numf'hc + >a3n2'us % >a-n'useie (>an'uw) + >a3n2us % >a-nust'oc +>a2n1up'e2r1 % >an-up'er-batoc +>a2n1upe2r1 +>a2n1'wd % >an-'wdhc +>a2n1~wd +>'a2n1w|d % >'an-w|doc +>a2n1'w|d +>a2n1'wi % >an-'wistoc +>a2n1w'i +>a2n1'wl % >an-'wlejroc +>a2n1wl +>a2n1'wm % >an-'wmaloc +>a2n1wm +>a2n1'wn % >an-'wnumoc +>a2n1wn +>a2n1wr % >an-wr'ia +>'a2n1wr % >'an-wroc +>a2n1'wr +>'a2n1wto % >'an-wtoc +>a2n1'wto +>a2n1wf'el % >an-wf'eleia +>a2n1wfel % >an-wfel'hc +>a2n1'wqu % >an-'wquroc +>a2n1wq'u +>apa2n1ai % >apan-aisqunta'iw +>ap'a2n1ou % >ap'an-ourgoc +>apa2no'ur +<apa2x1 % <apax-'apac +>ape2k1l % >apek-lanj'anomai +<ape2r1 % <aper-e'i +>aposu2n1 % >aposun-'agwgoc +>apr'o2s1b % >apr'os-batoc +>apr'o2s1 % >apr'os-batoc +>apro2s1 + >apr'o3s2ke % >apr'o-skeptoc + >apro3sk2'e + >apr'o3s2ko % >apr'o-skopoc != >apr'os-koptoc ??? + >apro3s2k'o + >apro3s2t % >apro-stas'iou +<arpa2x1 % >arpax-'andra (<h) +>arre2n1w % >arren-wp'oc +>arqisu2n1 % >arqisun-agwg'oc +>aste2r1w % >aster-wp'oc +>as'u2n1 % >as'un-etoc +>asu2n1 +>ax'u2n1 % >ax'un-etoc +>axu2n1 +a>ut'e2k1m % a>ut'ek-magma +a>ute2k1m +a>ute2x1 % a>utex-o'usioc +>aw2s1f % >aws-f'oroc +.gera2s1f % geras-f'oroc +.da2s1p % das-pl'hc +.diamfi2s1b % diamfis-bht'ew +.di'e2k1ro % di'ek-rooc +.die2k1r'o +.di'e2x1 % di'ex-eimi +.die2x1 % diex-ela'unw +.dika2s1p % dikas-p'oloc +.di'o2s1k % Di'os-kouroc dios-k'uamoc +.dio2s1k +.di'o2s1p % di'os-polic +.dio2s1p +.d'i2s1a % d'is-aboc +.di2s1'a +.d'i2s1h % d'is-hboc +.di2s1'h +.d'i2s1e % d'is-eunoc +.di2s1e +.di2s1j % dis-jan'hc +.d'u2s1 % d'us-agnoc, k.lp. +.du2s1 +% + d'u3s2w. % d'uw, d'usw k.lp. + d'u3s2eic. + d'u3s2eis. + d'u3s2ei. + .d'u3s2et + d'u3s2omen. + d'u3s2ousin. + % + d'u3s2oimi. + d'u3s2oic. + d'u3s2ois. + d'u3s2oi. + d'u3s2oiton. + du3s2o'ithn. + d'u3s2oimen. + d'u3s2oite. + d'u3s2oien. + % + d'u3s2ein. + d'u3s2wn. d'u3s2on du3s2'on + d'u3s2ous du3s2o'us + % + d'u3s2h| + d'u3s2hton. + d'u3s2wmen. + d'u3s2wsi. + % + d'u3s2aimi. + d'u3s2aic. d'u3s2eiac. + d'u3s2ais. d'u3s2eias. + d'u3s2ai. d'u3s2eie. + d'u3s2aiton. + du3s2a'ithn. + d'u3s2aimen. + d'u3s2aite. + d'u3s2aien d'u3s2eian. + % + d'u3s2on. + du3s2'atw. + d'u3s2aton. + du3s2'atwn. + d'u3s2ate. + du3s2'antwn. + % + d'u3s2ac. d'u3s2an. d'u3s2ant du3s2'ant + d'u3s2as du3s2'as + % + d'u3s2omai. + .d'u3s2es + du3s2'omeja. + d'u3s2ontai. + % + du3s2o'imhn. + d'u3s2oio. + d'u3s2oito. + d'u3s2oisjon. + du3s2o'isjhn. + du3s2o'imeja. + d'u3s2oisje. + d'u3s2ointo. + % + d'u3s2esjai. + .du3s2'omen % dus'omenoc -h -on + .du3s2om'en + % + d'u3s2wmai. + d'u3s2htai. + d'u3s2'wmeja + d'u3s2hsje. + % + du3s2a'imhn. + d'u3s2aio. + d'u3s2aito. + d'u3s2aisjon. + du3s2a'isjhn. + du3s2a'imeja. + d'u3s2aisjai. + d'u3s2ainto. + % + du3s2'asjw. + d'u3s2asjon. + du3s2'asjwn. + d'u3s2asje. + % + d'u3s2asjai. + du3s2'amen % du-s'amenoc -h -on + dus3s2am'en + % + d'u3s2ato. % d'u-sato = >ed'usato + d'u3s2eto. % d'u-seto = >ed'usato + d'u3s2anto. % d'u-santo = >ed'usanto + d'u3s2eo. % d'u-seo = d~usai ??? (prost. m'esou >aor'istou) + % + % +.duse'i2s1b % duse'is-boloc +.dusei2s1b +.dus'e2k1 % dus'ek-lutoc +.duse2k1 +.dus'e2x1 % dus'ex-aptoc +.duse2x1 + .du3s2ij % du-sij'alassoc + d'u3s2ic. % d'u-sic + d'u3s2is. + d'u3s2ew + d'u3s2in. + d'u3s2i. + du3s2'eoin. + d'u3s2esi. + d'u3s2esin. + .d'u3s2ke % d'u-ske + .du3s2m'h. % du-sm'h + .du3s2m`h. + .du3s2m~hc. + .du3s2m~hs. + .du3s2m~h| + .du3s2m~h. + .du3s2m~a + .du3s2ma + .du3s2m~w +.dusx'u2n1 % dusx'un-etoc +.dusxu2n1 + .d'u3s2tan % d'u-stanoc + .du3s2t'an + .du3s2thn % d'u-sthnoc + .du3s2t'hn +>edu2s1t % >edus-t'uqoun +e>i2n1'od % e>in-'odioc +e>i2n1od +e>i2s1 % e>is-agwg'h, k.lp. +e>'i2s1 + e>i3s2'i. % e>i-s'i(n) <-- e>im'i + e>i3s2`i. + e>i3s2i. + e>i3s2'in. + e>i3s2`in. + e>i3s2in. + e>'i3s2om % e>'i-somai <-- o<~ida + e>'i3s2h|. e>'isei. + e>'i3s2etai. + e>'i3s2esjon. + e>i3s2'om % e>i-s'omeja + e>'i3s2esje. + e>'i3s2ontai +% + e>i3s2o'imhn + e>'i3s2oio + e>'i3s2oito + e>'i3s2oisjon + e>i3s2o'isjhn + e>i3s2o'imeja + e>'i3s2oisje + e>'i3s2ointo +% + e>'i3s2esjai + e>i3s2'omen % e>is'omenoc -h -on + e>i3s2om'en +% + e>'i3s2'amhn. + e>'i3s2w + e>'i3s2ato + e>'i3s2asjon + e>i3s2'asjhn + e>i3s2'ameja + e>'i3s2asje + e>'i3s2anto +% + e>'i3s2wmai + e>'i3s2hsjon + e>i3s2'wmeja + e>'i3s2hsje + e>'i3s2wntai +% + e>i3s2a'imhn + e>'i3s2aio + e>'i3s2aito + e>'i3s2aisjon + e>'i3s2a'isjhn + e>i3s2a'imeja + e>'i3s2aisje + e>'i3s2ainto +% + e>i3s2'asjw + e>i3s2'asjwn + e>'i3s2ajse +% + e>'i3s2asjai + e>i3s2'amen % e>is'amenoc -h -on + e>i3s2am'en +% +>e2k1l % >ek-lagq'anw, k.lp. + >e3k2l'hjh % >e-kl'hjhn <- kal'ew + >e3k2l'az % >e-kl'azomen <- kl'azw, >'e-klazon (???) + >e3k2l'ag % >e-kl'azomen <- kl'azw, >'e-klagon + >e3k2l'ao % >e-kl'aomen <- kl'aw, >'e-klaon (???) + >e3k2l'as % >e-kl'asomen <- kl'aw, >'e-klasa + >e3k2la'i % >e-kla'iomen <- kla'iw, >'e-klai(g)on (???) + >e3k2la'u % >e-kla'usamen <- kla'iw, >'e-klausa + >e3k2le'i % >e-kle'isamen <- kle'iw, >'e-kleisa + >e4k3le'ip % >ek-le'ipomen + >e4k3le'iy % >ek-le'iyic + >e3k2l'h| % >e-kl'h|samen <- kle'iw, >'e-klh|sa + >e3k2kl'ep % >e-kl'eptomen <- kl'eptw, >'e-klapon (???) + >e3k2kl'ey % >e-kl'eyamen <- kl'eptw, >'e-kleya + >e3k2l'ap % >e-kl'aphn <- kl'eptw + >e3k2lap % >e-klap'omeja <- kl'eptw, >ek-l'aphn + >e4k3l'apt % >ek-l'aptw + >e4k3lapt + >e3k2l'ef % >e-kl'efjhn <- kl'eptw + >e3k2lef % >e-klefh'hthn <- kl'eptw, >e-kl'efjhn + >e3k2l'hr % >e-kl'hroun <- klhr'ow + >e3k2lhr % >e-klhro~uton <- klhr'ow, >e-kl'hroun + >e3k2l'in % >e-kl'inamen <- kl'inw, >'e-klina + >e3k2lin % >e-klin'aton <- kl'inw, >'e-klina + >e3k2l'u % >e-kl'uomen <- kl'uw, >'e-kluon + >e4k3l'usew % >ek-lusic + >e4k3l'usei + >e4k3l'useoi + >e4k3l'usesi + >e3k2l'om % >e-kl'omhn <- k'elomai (>'alla pr'ospwpa???) + >e3k2kl'ws % >e-kl'wsamen <- kl'wjw (???) +>'e2k1lei % >'ek-leiyic + >'e3k2leis % >'ek-leisa <- kle'iw +>'e2k1lus % >'ek-lusic +>e2k1m +>'e2k1m +>e2k1n +>'e2k1n + >'e3k2nai % >'e-knaisa <- kna'iw + >e3k2na'i % >e-kna'isamen <- kna'iw + >'e3k2nhs % >'e-knhsa <- kn'aw + >e3k2n'hs % >e-kn'hsamen <- kn'aw + >e3k2nu % >e-knuz~hto +>e2k1r +>'e2k1r + >e3k2r'ad % >ekr'adainon <- krada'inw (???) + >e3k2rad + >'e3k2raz % >'e-krazon <- kr'azw (???) + >e3k2r'az + >'e3k2rag % >'e-kragon <- kr'azw + >e3k2r'ag + >e3k2r'at % >e-kr'atoun <- krat'ew (???) + >e3k2rat + >e3k2ra'ug % >e-kra'ugason <- kraug'azw + >e3k2raug + >'e3k2rai % >'e-krainon <- kra'inw (???) + >e3k2ra'i + >'e3k2ran % >'e-krana, >e-kr'anjhn <- kra'inw + >e3k2r'an + >e3k2r'hh % >e-kr'hhna, >e-kr'aanjen - >e-kra'anjhmen (???) <- kra'inw + >e3k2r'aa + >e3k2ra'a + >e3k2r'aj % >e-kr'ajhn + >e3k2raj + >'e3k2rek % >'e-krekon <- kr'ekw (???) + >e3k2r'ek + >'e3k2rex % >'e-krexa <- kr'ekw (???) + >e3k2r'ex + >e3k2r'em % >e-kr'emw, >e-krem'asjhn <- krem~w + >e3k2rem + >e3k2r'hm % >e-kr'hmnizon <- krhmn'izw + >e3k2rhm + >'e3k2rin % >'e-krina, >e-kr'ijhn <- kr'inw + >e3k2r'in + >e3k2r'ij + >e3k2r'ot % >e-kr'othsa <- krot'ew + >e3k2rot + >'e3k2rou % >'ekrouon, >'e-krousa <- kro'uw + >e3k2ro'u + >'e3k2rup % >'e-krupton (???), >'e-kruya, + >e3k2r'up % >e-kr'ubhn (???), >e-kr'ufjhn <- kr'uptw + >'e3k2ruy + >e3k2r'uy + >e3k2r'ub + >e3k2r'uf + >e3k2rus % >e-krust'allisa <- krustall'izw + >'e3k2rwz % >'e-krwzon <- kr'wzw + >e3k2r'wz + >'e3k2rwx % >'e-krwxa <- kr'wzw + >e3k2r'wx +>e2k1taj % >ek-taje'ic +>'e2k1tame. % >'ek-tame +>e2k1t'amn % >ek-t'amnw +>e2k1tan % >ek-tan'uw +>e2k1tar % >ek-tar'assw +>e2k1t'as % >ek-t'assw +>e2k1te +>e2k1t'e + >e3k2te'in % >e-kte'inamen <- kte'inw, >'ekteinon +>e2k1t'hk % >ek-t'hkw +>e2k1ti +>'e2k1ti +>e2k1t'i + >'e3k2tiz % >'e-ktizon, >e-kt'izomen <- kt'izw + >e3k2t'iz + >'e3k2tisa % >'e-ktisa, >e-kt'isamen <- kt'izw + >e3k2t'isa +>e2k1t'o +>e2k1to +>'e2k1to + >e3k2t'oc. % >e-kt'oc + >e3k2t`oc. + >e3k2t'os. + >e3k2t`os. +>e2kt1tr +>'e2k1tupo % >'ek-tupon (o>us./>epij.) != >e-kt'upoun <- ktup'ew +>e2k1t'upou. +>e2k1t'upw|. +>'e2k1tupe. +>e2k1t'upw. +>e2kt'upoi. +>e2k1t'upwn. +>e2k1t'upoic. +>e2k1t'upois. +>e2k1t'upouc. +>e2k1t'upous. +>'e2k1tupa. +>e2k1tu +<ell'h2s1p % <Ell'hs-pontoc +<ellh2s1p +>e2n1 +>'e2n1 + >e3n2'akic % >e-n'akic + >e3n2akis % >e-nakisq'ilioi + >e3n2ak'os % >e-nak'osioi + >e3n2akos + >'e3n2ara. % >'e-nara + >e3n2'arwn. + >e3n2'aroic. + >e3n2'arois. + >e3n2arhf % >e-narhf'oroc + >e4n3arar % >en-arar'iskw + >e3n2'aree % >e-n'areec + >e3n2ar'ew + >e3n2ar'ea % >e-nar'eac + >e3n2are'a + >e3n2'arie % >e-n'ariec + >e3n2ar'iw + >e3n2ar'ia % >e-nar'iac + >e3n2ari'a + >'e3n2ass % >'e-nassa <- na'iw + >e3n2'ass + >e3n2'asj + >e3n2asj + >'e3n2at % >'e-natoc + >e3n2'at +>endu2s1t % >endus-tuq'ew + >e3n2'egk % >e-n'egkai + >e3n2egk % >e-negke~in + >'e3n2eik % >'e-neika + >e3n2e~ik % >e-ne~ikai + >e3n2eik % >e-neik'emen + >e3n2e'ik % >e-ne'ikeon + >'e3n2eim % >e-neima, >e-ne'imamen + >e3n2e'im + >e3n2em'ess % >e-nem'essa + >e3n2em'hj % >e-nem'hjhn + >e3n2en'h % >e-nen'hkonta + >e3n2e'o % >e-ne'oc -'a -'on + >e3n2e`o + >e3n2eo + >e3n2e~w + >e3n2e'a + >e3n2e`a + >e3n2e~a + >e3n2'epei + >'e3n2erje % >'e-nerje + >'e3n2eus % >'e-neusa + >e3n2e'us % >e-ne'usomai + >e3n2'eqj % >e-n'eqjhti + >e3n2eqj + >'e3n2hs % >'e-nhsa <- na'iw + >e3n2'hs + >e3n2h'h % >e-nh'hc, -'ec + >e3n2h`h + >'e3n2hn. % >'e-nhn + >e3n2he'i % >e-nhe'ih + >e3n2ho + >e3n2h~w + >e3nh'e + >e3n2'hno % >e-n'hnoje + >e3n2'i + >e3n2i + >'e3n2i + >e4n3ia'u % >en-ia'uw + >e5n4ia'us % >e-nia'usioc + >e5n4iaus + >e4n3idr % >en-idr'ow + >e4n3'idr % >en-'idrwsa + >e4n3'iz % >en-'izw + >e4n3'ih % >en-'ihmi, >en-'ieton, k.lp. + >e4n3i'eton. + >e4n3'iemen. + >e4n3'iw. + >e4n3ipp % >en-ippe'uw + >e4n3'ipp % >en-'ippeusa + >e4n3'ipt % >en-'iptw, >en-'iyw + >e4n3'iy + >e4n3'iss % >en-'issw + >e4n3'ist % >en-'isthmi, >en-ist~h|c, k.lp. + >e4n3ist + >e4n3isq % >en-isq'uw + >e4n3'isq % >en-'isqw + >'e3n2oc. % >'e-noc = >'e-nhc (>'allec pt'wseic???) + >'e3n2os. + >'e3n2ou. + >'e3n2on. + >'e3n2w + >'e3n2oi. + >'e3n2oic. + >'e3n2ois. + >'e3n2hc. + >'e3n2hs. + >'e3n2h|. + >'e3n2h. + >'e3n2osi % >'e-nosic + >e3n2'ose + >e3n2u'al % >e-nu'alioc + >e3n2ual + >'e3n2ux % >'e-nuxa + >e3n2ux % >e-nux'athn + >e3n2'ux % >e-n'uxamen + >e3n2'us % >e-n'ustaxa, >e-nust'axamen + >e3n2us + >e3n2u'w % >e-nu'w + >e3n2u`w + >e3n2u'oo + >e3n2uo~uc +>e2x1 +>'e2x1 + >e3x2'hr % >e-x'hrammai + >e3x2hr % >e-xhr'anjhn + >e3x2u2n1 % >exun-~hka + >e3x2ur % >e-xur'amhn + >e3x2'ur % >e-x'urhmai + >'e3x2us % >'e-xusmai + >'e3x2w. +<e2x1'hretm % <ex-'hretmoc +<e2x1hr'etm +>epe'i2s1 % >epe'is-aktoc, k.lp. +>epei2s1 + >epe'i3s2aton. % >'epe'i-saton <- pe'ijw, >'epeisa + >epei3s2'athn. + >epe'i3s2amen. + >epe'i3s2ate + >epei3s2'amhn. + >epe'i3s2w. + >epe'i3s2ato + >epe'i3s2asjon. + >epe'i3s2'ameja. + >epe'i3s2asje. + >epe'i3s2anto. + >epe'i3s2j % >epe'i-sjhn, >epeisj'hthn <- pe'ijw + >epei3s2j +>epe2k1te'i % >epek-te'inw +>ep'e2k1tei +>epe2k1tr % >epek-tr'eqw +>ep'e2k1tr +>epe2x1 +>epe2s1b % >epes-b'oloc +>epipr'o2s1j % >epipr'os-jetoc +>epipro2s1j +>episu2n1 % >episun-agwg'h +>e2s1 + >e3s2'aw % >e-s'awjen + >e3s2hm % >e-shm'hnanto + >e3s2j % >e-sj'ew + >e4s3j'es % >es-j'esjai + >e3s2ig % >e-s'igajhn + >e3s2k + >e4s3k'a % >es-k'atjeto + >e4s3ka % >es-kataba'inw +% + >e3s2m`en. >e3s2m'en. % e>im'i, >esm'en, >est'i, k.lp. + >e3s2t + >e3s2'omeja + >e3s2o'imhn + >e3s2'om % >e-s'omenoc, -h, -on + >e3s2om + >e3s2o~u % >e-so~umai (dwr./ >'alla pr'oswpa???) +% + >e3s2u % >e-s'urhn <- s'uromai + >e3s2'u + >es'u2n1 % >es'un-hka + >esu2n1 + >e3s2q + >e4s3q'e % >es-q'ew + >e3s2'w + >e3s2w +>'e2s1op % >'es-optroc +e>ue2x1 % >euex-'alepiptoc + e>ue3x2'i % >eue-x'ia + e>ue3x2i +e>upr'o2s1 % e>upr'os-dektoc +e>upro2s1 +e>us'u2n1 % e>us'un-etoc +e>usu2n1 +e>ux'u2n1 % e>ux'un-etoc +e>uxu2n1 +>ew2s1f % >ews-f'oroc +>'h2n1oy. % >'hn-oy +>'h2n1op +>h2n1'op +.jeoi2s1eqjr % jeois-eqjr'ia +.jh2r1agr % jhr-agr'ethc +.juo2s1k % juos-k'ooc +.kajupe2r1 % kajuper-akont'izw +.kalw2s1or % kalws-or'izw kalws-'orisa +.kalw2s1'or +.ka2n1e'ic. % kan-e'ic +.ka2n1e`ic. +.ka2n1e'is. +.ka2n1e`is. +.ka2n1en +.ka2n1'en +.katadu2s1wp % katadus-wp'ew +.katedu2s1'wp % katedus-'wpesa +.katei2s1 % kateis-'agw +.kate2n1a'i % katen-a'iromai +.kate2n1'h % katen-'hraro +.kate2x1a2n1'i % katex-an-'isthmi +.kate2x1a2n1'es % katex-an-'esthn +.kera2s1f % keras-f'oroc +.kr'a2s1p % kr'as-pedon +.kra2s1p +.kun'o2s1a % Kun'os-argec +.kun'o2s1b % kun'os-batoc +.kuno2s1b +.kun'o2s1o % kun'os-oura +.kuno2s1o +.kuno2s1f % Kunos-fan'h (<h <Ek'ath, je`a t~hc Sel'hnhc) +.mela2n1aig % melan-aig'ic +.mela2n1aug % melan-aug'hc +.mela2n1e'im % melan-e'imwn +.mela2n1e~im % melan-e~imon +.mel'a2n1ipp % mel'an-ippoc +.mela2n1'ipp +.mela2n1'omm % melan-'ommatoc +.mela2n1omm +.mel'a2n1oss % mel'an-ossoc +.mela2n1'oss +.mel'a2n1ost % mel'an-ostoc +.mela2n1'ost +.mel'a2n1our % mel'an-ouroc +.mela2n1o'ur +.mela2n1our % melan-our'ic +.mel'a2n1u % mel'an-udroc +.mela2n1'u +.mete2x1a % metex-an'istamai +.mete2x1'e % metex-'eteroi +.mete2x1e +.mogi2s1 % mogis-ayed'afa +.mogo2s1t % mogos-t'okoc +.mu2s1p % mus-pol'ew +.mu2s1ep % mus-ep'olesa +.ne'w2s1oik % ne'ws-oikoc +.new2s1o'ik +.nou2n1e % noun-eq'hc +.xu2n1ag % xun-age'irato = sun-age'irato <- sunage'irw +.xu2n1e +.xu2n1'e +.x'u2n1e + .xu3n2e'w % xu-ne'wn + .xu3n2e~w +.xu2n1~hk % xun-~hka <- xun-'ihmi +.x'u2n1i % x'un-ie <- xun-'ihmi +.xu2n1'i % xun-'iei <- xun-'ihmi +o<io2n1e'i. % o<ion-e'i +o<io2n1e`i. +o<i'o2s1 % o<i'os-per o<i'os-te +o>i2s1p'wt % o>is-p'wth +o>i2s1pwt +<olo2n1'en. +<olo2n1`en. +<opw2s1 % <'opws-o~un +<'o2s1ge. % <'os-ge +<oso2n1~wn. % <oson-~wn +<'o2s1per. % <'os-per +<'o2s1tic % <'os-tic + o<~i2s1tisi % o<~is-tisi(n) + o<'u2s1tinac % o<'us-tinac + <~h2s1tinoc % <~hs-tinoc + a<~i2s1tisi % a<~is-tisi(n) + <'a2s1tinac % <'as-tinac + <o2s1ti2s1o~un. % <os-tis-o~un + <hti2s1o~un. % <htis-o~un + <opoiou2s1tina2s1oun. % <opoious-tinas-o~un +o>uden'o2s1w % o>uden'os-wroc +o>udeno2s1'w +.pali2n1 % palin-'agretoc +.pal'i2n1 % pal'in-orsoc +.pa2n1 +.p'a2n1 + .pa3n2'oc. % pa-n'oc <- P'an (je'oc) + .pa3n2`oc. + .pa3n2'os. + .pa3n2`os. + .pa3n2'i. + .pa3n2`i. + .p'ana. + .pa3n2~wn. + .pa3n2ik % pa-nik'oc + .pa3n2'isd % pa-n'isdomai + .pa3n2isd % pa-nisd'omhn + .pa3n2o~u. % pa-no~u, k.lp. (pan'oc = fan'oc) + .pa3n2~w|. + .pa3n2'o. + .pa3n2`o. + .pa3n2'on. + .pa3n2`on. + .pa3n2'e. + .pa3n2`e. + .pa3n2o'i. + .pa3n2o`i. + .pa3n2o~ic. + .pa3n2o~is. + .pa3n2o'uc. + .pa3n2o`uc. + .pa3n2o'us. + .pa3n2o`us. +.para2n1'isq % paran-'isqw +.pare'i2s1 % pare'is-aktoc +.parei2s1 +.pare2k1l % parek-l'egw +.pare2k1tr % parek-tr'epw +.pare2n1e~i % paren-e~idon +.pare2n1o % paren-oql'ew +.pare2x1 +.par'e2x1 + par'e3x2w. % par'e-xw, par'e-xomai <- par'eqw + par'e3x2eic. + par'e3x2eis. + par'e3x2ei. + par'e3x2eton. + pare3x2'ethn. + par'e3x2omen. + par'e3x2ete. + par'e3x2ousi. + % + par'e3x2omai + par'e3x2h| + par'e3x2etai. + par'e3x2esjon. + pare3x2'omeja. + par'e3x2esje. + par'e3x2ontai. +.pleo2n1'e % pleon-'ekthma +.pleo2n1e +.proei2s1 % proeis-'agw +.proe2k1 % proek-l'egw +.proe2n1 % proen-'arqomai +.proe2x1 % proex-agg'elw +.pro'e2x1 % pro'ex-eimi +.pro2s1 + .pro3s2'ab % pro-s'abbatoc + .pro3s2ab +.prosei2s1 % proseis-pr'assw, k.lp. + .pro3s2e'i % pro-se'iw, pro-s'eseisa, pro-sese'isjhn + .pro3s2'esei + .pro3s2ese'i +.prose2n1 % prosen-equr'azw +.prose2x1 % prosex-air'eomai + .pr'o3s2ji % pr'o-sjioc + .pro3s2j'i + .pro4s3jig % pro-sjigg'aw + .pr'o3s2kop % pr'o-skopoc != pros-k'optw + .pro3s2k'op + .pro3s2tas % pro-stas'ia + .pro3s2t'at % pro-st'athc + .pro3s2tat % pro-state'uw + .pro3s2tau % pro-staur'ow + .pro3s2te'i % pro-ste'iqw + .pro3s2ten % pro-sten'azw + .pro3s2t'en % pro-st'enw + .pro3s2tern % pro-stern'idio + .pr'o3s2tern % pr'o-sternon + .pro3s2t'ern + .pro3s2t'hs % pro-st'hsac + .pro3s2t'om % pro-st'omion + .pro3s2tom + .pr'o3s2tw| % pr'o-stw|on + .pro3s2t'w| + .pro3s2ug % pro-sugg'ignomai + .pro3s2um % pro-summ'isgw + .pro3s2u2n1 % pro-sun-oik'ew + .pr'o3s2fagm % pr'o-sfagma + .pro3s2f'agm + .pro3s2f'az % pro-sf'azw + .pro3s2f'att % pro-sf'attw + .pr'o3s2qhm % pr'o-sqhma + .pro3s2q'hm + .pr'o3s2w. + .pr'o3s2wjen. + .pro3s2'wt % pro-s'wtatoc + .pro3s2wt +.pro"upe2x1 % pro"upex-orm'aw +.pu2r1'ag % pur-'agra +.pu2r1ag +.pu2r1a'ij % pur-a'ijw +.pu2r1aij % pur-aij'onwn (gen. plhj. to~u pur-a'ijwn) +.pu2r1~hj % pur-~hjon (pur-a'ijw) +.pu2r1hj % pur-hj'ethn??? (pur-a'ijw) +.pu2r1'hj % pur-'hjomen??? (pur-a'ijw) +.pu2r1ak % pur-akt'ew +.p'u2r1au % p'ur-auloc +.pu2r1a'u +.pu2r1au % pur-aug'hc +.pu2r1'hnem % pur-'hnemoc +.pu2r1hn'em +.pu2r1wp % pur-wp'oc +.sela2s1f'o % selas-f'oroc +.sela2s1fo +.sumparei2s1 % sumpareis-'erqomai +.su2n1 +.s'u2n1 % s'un-auloc, k.>'a.<'o. +.sundi'e2x1 % sundi'ex-eimi +.sundie2x1 % sundiex-i'enai +.sundu2s1 % sundus-tuq'ew +.sune2x1 % sunex-'agw +.tessare2s1k % tessares-ka'ideka +.trei2s1k % treic-ka'ideka +.tri2s1 + .tri3s2m'o % tri-sm'oc + .tri3s2mo + .tri3s2m~w + .tri3s2p % tri-sp'ijamoc + .tr'i3s2t % tr'i-stegoc + .tri3s2t + .tri3s2'w % tri-s'wmatoc + .tri3s2w +<uo2s1k % <uos-k'uamoc +<upe'i2s1 +<upei2s1 + <upe'i3s2ac % <upe'i-sac = <ufe'i-sac <- <uf'ihmi + <upe'i3s2as + <upe'i3s2an + <upei3s2'an + <upei3s2'as +<upe2k1lam % <upek-lamb'anw +<upe2k1l'hy % <upek-l'hyomai +<upe2k1t % <upek-tan'uw <upek-t'ijhmi <upek-tr'epw +<upe2n1 +<upe2x1 +<upe2r1 +<up'e2r1 + <up'e3r2a. % <up'e-ra + <up'e3r2hc. + <up'e3r2hs. + <up'e3r2a|. + <up'e3r2an. + <up'e3r2ai. + <upe3r2~wn. + <up'e3r2aic. + <up'e3r2ais. + <up'e3r2ac. + <up'e3r2as. + <upe3r2ej % <upe-rej'izw <upe-r'ejison + <upe3r2'ej + <upe3r2e'i % <upe-re'idw <upe-re'ipw + <up'e3r2uj % <up'e-rujroc + <upe3r2r'uj + <upe3r2ruj % <upe-rujr'ew +<upere2k1te % <uperek-te'inw +<upere2k1t'i % <uperek-t'inw + <upe3r2'ept % <upe-r'eptw, <upe-r'eyw + <upe3r2ept + <upe3r2'ey + <upe3r2ey + <upe3r2'ew % <upe-r'ew (-~w) <- <upe~ipon + <upe3r2~w + <upe3r2'ee + <upe3r2e~ic. + <upe3r2e~is. + <upe3r2e~i. + <upe3r2'eo + <upe3r2o~u + <upe3r2e~it + <upe3r2'w % <upe-r'w|a + <upe3r2w % <upe-rw'ew +<'u2s1tr % <'us-trix +<u2s1tr % <us-triq'ic +.fae2s1f % faes-f'oroc +.fw2s1f % fws-f'oroc +.qari2s1andr % qar'is-androc +.qari2s1'andr +.qei2r1'ag % qeir-'agra +.qei2r1ag % qeir-agwg'oc +.qei2r1ap % qeir-apt'azw +.qei2r1ay % qeir-ay'ia +.qei2r1ou % qeir-ourg'oc +.qei2r1~wn % qeir-~wnax +.qei2r1'an +.qei2r1an +.qh2n1nal % qhn-al'wphx +<w2s1a2n1e'i. % <ws-an-e'i +<w2s1a2n1e`i. +<w2s1a'utwc. % <ws-a'utwc +<w2s1a'utws. +<w2s1e'i. % <ws-e'i +<w2s1e`i. +<'w2s1per. % <'ws-per +<w2s1pe2r1e'i. % <ws-per-e'i +<w2s1pe2r1e`i. +<'w2s1te % <'ws-te +%%%% +%%%% +i2s1q'ilioi. % dis-q'ilioi, k.>'a.<'o. +i2s1qil'iwn. +i2s1qil'ioic. +i2s1qil'iois. +i2s1qil'iouc. +i2s1qil'ious. +i2s1q'iliai. +i2s1qil'iaic. +i2s1qil'iais. +i2s1qil'iac. +i2s1qil'ias. +i2s1q'ilia. +% +i2s1m'urioi. % dis-m'urioi, k.>'a.<'o. +i2s1mur'iwn. +i2s1mur'ioic. +i2s1mur'iois. +i2s1mur'iouc. +i2s1mur'ious. +i2s1m'uriai. +i2s1mur'iaic. +i2s1mur'iais. +i2s1mur'iac. +i2s1mur'ias. +i2s1m'uria. +% +i2s1qiliost % dis-qiliost'oc, k.>'a.<'o. +% +i2s1muriost % dis-muriost'oc, k.>'a.<'o. +% +i2s1qili'akic. % dis-qili'akic, k.>'a.<'o. +i2s1qili'akis. +% +i2s1muri'akic. % dis-muri'akic, k.>'a.<'o. +i2s1muri'akis. +} % end patterns +\endgroup +\endinput diff --git a/Master/texmf-dist/doc/generic/elhyphen/compound.pdf b/Master/texmf-dist/doc/generic/elhyphen/compound.pdf Binary files differnew file mode 100644 index 00000000000..bbbaf63831f --- /dev/null +++ b/Master/texmf-dist/doc/generic/elhyphen/compound.pdf diff --git a/Master/texmf-dist/doc/generic/elhyphen/copyrite.txt b/Master/texmf-dist/doc/generic/elhyphen/copyrite.txt new file mode 100644 index 00000000000..92563f71032 --- /dev/null +++ b/Master/texmf-dist/doc/generic/elhyphen/copyrite.txt @@ -0,0 +1,48 @@ +File name: copyrite.txt +Author: Dimitrios Filippou +Date: Aug. 16, 2004 + +1. This file contains the copyright statement of the Greek +hyphenation-pattern files for TeX/LaTeX prepared by Dimitrios +Filippou. + +2. The files listed below are copyrighted by the author. + +(c) D. Filippou, 2000-2004: + +anc-test.ltx +anc-test.pdf +compound.ltx +compound.pdf +grahyph4.tex +grmhyph4.tex +grphyph4.tex +readme.txt +copyrite.txt + +These files can be distributed freely for any purpose, +provided that their content and their names remain intact +(LaTeX Project Public Licence). + +3. Two other documentation files included in this package +have been reproduced from the GTF newsletter "Eutypon" +(ISSN 1108-4170): + +ancient.pdf -- from Eutypon, no 5, Oct. 2000, pp. 7-16. +modern.pdf -- from Eutypon, no 4, Apr. 2000, pp. 1-16. + +Eutypon permits the free distribution of these two last files +provided that their origin is acknowledged (just leave them +intact). + +4. For a short description of these files, please read the +file readme.txt. + +5. For any other clarification, you may contact the author at: + +Dimitrios Filippou +Kato Gatzea +GR-385 00 Volos +Greece + +E-mail: dfilipp _at_ hotmail _dot_ com
\ No newline at end of file diff --git a/Master/texmf-dist/doc/generic/elhyphen/modern.pdf b/Master/texmf-dist/doc/generic/elhyphen/modern.pdf Binary files differnew file mode 100644 index 00000000000..8b211673e84 --- /dev/null +++ b/Master/texmf-dist/doc/generic/elhyphen/modern.pdf diff --git a/Master/texmf-dist/doc/generic/huhyphen/huhyphn.pdf b/Master/texmf-dist/doc/generic/huhyphen/huhyphn.pdf Binary files differnew file mode 100644 index 00000000000..fea845b5601 --- /dev/null +++ b/Master/texmf-dist/doc/generic/huhyphen/huhyphn.pdf diff --git a/Master/texmf-dist/doc/generic/huhyphen/hyph_hu.dic b/Master/texmf-dist/doc/generic/huhyphen/hyph_hu.dic new file mode 100644 index 00000000000..d8f52398438 --- /dev/null +++ b/Master/texmf-dist/doc/generic/huhyphen/hyph_hu.dic @@ -0,0 +1,17873 @@ +ISO8859-2 +% Huhyphn - hungarian hyphenation patterns v20031107 +% +% Copyright (C) 2003, NAGY Bence <huhyphn@tipogral.hu> +% This file can be distributed under the terms of the +% GNU General Public License version 2. +.a2 +.adás1s2 +.a1dá +.2a1e1 +.agyon1 +.ag2y +.a1gyo +.al1eg +.a1le +.al1e2m +.al1e2s +.al1ér +.a1lé +.al1is +.a1li +.al1os +.a1lo +.arc1c +.ar2c3ho +.arc2h +.at1mo1 +.2a1z1a2 +.az1ám +.a1zá +.2a1ze2 +.á2 +.á1l1a2 +.á1l1e +.á1l1é2 +.á1l1i +.ál1ok +.á1lo +.á1re2 +.ár1em +.ár2nyo +.árn2y +.á1ro2 +.ár1os +.ár1s2 +.át1ad. +.á1ta +.át1a1da +.á1t1á2 +.á1t1e2 +.á1t1é2 +.á1t1i2 +.á1to2 +.át1ol +.át1or +.át1os +.á1t1ö2 +.b2 +.ba2l1e2g +.1ba +.ba1le +.ba1ts +.bá1th +.1bá +.be2c1sé +.1be +.bec2s +.be1i2 +.be1k2 +.bi2o +.1bi +.bo2rit +.1bo +.bo1ri +.bu2s1zá +.1bu +.bus2z +.c2 +.c1le2 +.c2s2 +.csõda2rab. +.1c1sõ +.csõ1da +.csõda1ra +.d2 +.da2i +.1da +.di1kr +.1di +.e2 +.e1b1u2 +.e1gy1a +.eg2y +.egy1ü2l +.e1gyü +.el1a2d +.e1la +.el1a2k +.el1an +.ela2s +.el1ass +.el1a1s1zo +.elas2z +.e1lá2 +.el1ál +.el1á2s +.el1áz +.el1e2gyek +.e1le +.eleg2y +.ele1gye +.el1ejt +.el1emel +.ele1me +.el1eng +.el1e2p +.el1e2r +.el1e2se +.el1e2sés +.ele1sé +.el1e2si +.el1esn +.el1es3s +.el1est2 +.el1esv +.el1es2z +.el1ék1t2 +.e1lé +.el1é1le +.elé2n +.el1é1ne +.el1ér. +.el1é2re +.el1ért +.el1érv +.el1id +.e1li +.el1in +.el1ir +.eli2s +.el1iss +.el1is2z +.el1it1ta +.el1ít +.e1lí +.elo2k +.e1lo +.el1o1ká +.el1o2s +.e1lö2 +.el1ö1li +.el1ö1lõ +.el1ölt. +.elõ1i2 +.e1lõ +.el1t2 +.e1l1u2 +.e1lü2 +.el1ül. +.el1ü1li +.el1ült +.el1ülv +.es1er +.e1se +.et2h +.ex1el +.e1xe +.ez1e2l +.e1ze +.é2 +.égés1s2 +.é1gé +.é1g1o +.é1k1a2 +.é1k1i +.é1n1á +.én1el +.é1ne +.é1pe2 +.ép1es +.ér2c1si +.érc2s +.ér1el +.é1re +.é1t1é +.f2 +.fa2jeg +.1fa +.f2a1je +.fe2len +.1fe +.fe1le +.fe2lev +.fe2lék +.fe1lé +.fe2lül. +.fe1lü +.fé2lér +.1fé +.fé1lé +.fé2lév +.fé2má +.fö2lül. +.1fö +.fö1lü +.g2 +.ga2z1em +.1ga +.g2a1ze +.gé2ná2 +.1gé +.gi1g2 +.1gi +.h2 +.ha2d1e2 +.1ha +.ha1le2 +.ha2lev +.ha2l1és +.ha1lé +.há2li +.1há +.hánc2s1 +.há2tu2s +.há1tu +.he2i +.1he +.horo1s +.1ho +.ho1ro +.i2 +.in2d3z +.io2ná +.i1o +.í2 +.íráskés2z1 +.í1rá +.írás1k2 +.írás1ké +.j2 +.jazz1 +.1ja +.je2gy1á2 +.1je +.jeg2y +.k2 +.ka2ring +.1ka +.ka1ri +.kés1s2 +.1ké +.ké2t1a2 +.ké2tá +.ki1á2 +.1ki +.ki1é2 +.ki1g2 +.kr2 +.l2 +.la2pa +.1la +.le2g1 +.1le +.le3g2esle2g1 +.le1ge +.1leges1le +.le3g2esle3g2esle2g1 +.legesle1ge +.legesleges1le +.legé2nyem +.le3gén +.le1gé +.leg2én2y +.legé1nye +.le3g2y +.le2ná +.le1t2r +.lé2ta1 +.1lé +.li2o1 +.1li +.lisz1t1á +.lis2z +.lókés2z1 +.1ló +.l2ókés +.ló1ké +.ló1s2 +.l2õ1e2 +.1lõ +.1ly1o +.l2y +.m2 +.ma1lo2 +.1ma +.má2r1is +.1má +.má1ri +.me2g1á +.1me +.me2g1e2s +.me1ge +.me2g1é2 +.me2gis +.me1gi2 +.me2gõ2 +.me2i +.mé2s1zi +.1mé +.més2z +.mu2e +.1mu +.n2 +.na2gya +.1na +.nag2y +.na2gyá +.n2a2p1e +.na1t +.nerc1 +.1ne +.ne2um +.ne1u +.né2pí +.1né +.ny2l +.n2y +.o2 +.ok1a2d +.o1ka +.ok1ir +.o1ki +.ó2 +.ó1é2 +.óf2 +.ö2 +.ö1n1á +.ön1k2 +.ön3n +.ös1s1z1á +.ös2s2z +.ö1te2 +.öt1el +.ö2zö2n1ö +.ö1zö +.õ2 +.õr1an +.õ1ra +.õ1s1a2 +.õs1e2r +.õ1se +.õ1s1í2 +.õz3s +.p2 +.pa2i +.1pa +.pais1 +.pe2r1a2 +.1pe +.pé2k1 +.1pé +.ph2 +.pier2 +.1pi +.pi1e +.po2re +.1po +.q2 +.r2 +.ra2bi2g +.1ra +.ra1bi +.rát2 +.1rá +.re2ár +.1re +.re1á +.ren2d1õ2 +.ru2ma +.1ru +.s2 +.sa2li +.1sa +.sc2 +.sk2 +.so2ki +.1so +.so1n2y +.so2rál +.so1rá +.sp2 +.st2 +.s1to2 +.su2r +.1su +.s2z2 +.sza2kér +.1s1za +.sza1ké +.sze2s1zá +.1s1ze +.szes2z +.szé2t +.1s1zé +.szk2 +.szódás1 +.1s1zó +.szó1dá +.szt2 +.t2 +.ta2ni +.1ta +.ta2nos +.ta1no +.t2a2ur +.ta1u +.tá2v1i2rato1zá +.1tá +.tá1vi +.távi1ra +.távira1to +.te2j1á2 +.1te +.té2nyi +.1té +.t2én2y +.té2rá2 +.t2o2ké +.1to +.tö2k1élv +.1tö +.tö1ké +.tölcséres1 +.tölc2s +.töl1c1sé +.tölcsé1re +.tû2z3s +.1tû +.u2 +.utas1s +.u1ta +.ú2 +.ú1r1a +.úr1ist +.ú1ri +.ú1t1a2 +.ú1t1e +.ü2 +.ük1 +.û2 +.û1r1i +.v2 +.va2d1al +.1va +.va1da +.va2gyi +.vag2y +.vasas1s +.va1sa +.va2sol +.va1so +.vé2g1o +.1vé +.w2 +.x2 +.y2 +.z2 +.ze2i +.1ze +.z2s2 +2a. +2a1a +aa2d +aa2j +aa2k +aa2l +a2am +aa2n +aa2p +aa2u +aa2v +aa2z +2a1á +aá2b +aá2gak +aá1ga +aá2g2y +a2ál. +a2áln +aá2p +aá2r +aá2s +aá2t1 +aá1ta2 +aba2de +a1ba +2aban +2abar +2abáj +a1bá +2abáz +2abes +a1be +2abir +a1bi +2abiz +2abom +a1bo +abos3s +2a1bõ +2a1bú +a2b1ü +a2c2e. +a1ce +ace2l +ac1e1le +acé2l1e2 +a1cé +a2c1ép +ac1é1re +a2c1há +ac2h +ac3hoz +a1c1ho +2a1cí +a2c3ság +ac2s +a1c1sá +a2c3sü +ac3s2z +ada2le +a1da +ada2li +ada2l1ú +a2dap +ad1apr +ad2a2t1e2 +a2d1á2g +a1dá +a2dá1sú +ad2del +ad1de +a2d1e2g +a1de +ade2i +1a2dek +ad1e2le +ad1e1lõ +ad1elv +ade2n +ad1e1ne +ade2s +ad1e1sé +adet2 +ad1e2v +adé2ke +a1dé +a2d1ép +a2d1é2v +ad1i1de +a1di +adi2o1g2 +adi1o +a2d1íz +a1dí +a2d1or1zá +a1do +1a2dód +a1dó +ad1ö2l +a1dö +ad2rót +ad1ró +adu2r +a1du +ad1u1ra +2a1dú +2a1e +ae2b +ae2c +ae2dé +aegés2z1 +ae1gé +a2e1i +ae2k +ae2l1a2 +ae2le +ae2l1o +ae2lõ +ae2me +ae2p +ae2re +aero1s +ae1ro +aeros2z2 +ae2rõ +ae2se +ae2sé +ae2si +ae2sõ +ae2v +ae2z +2a1é +aé2g +aé2h +aé2k +aé2l +aé2n +aé2p +aé2r +aé2v +2afajn +a1fa +2a1fe +afe2li +2afés +a1fé +2a1fi +2a1fõ +af2re +2a1fü +a2g1a2j +a1ga +ag1an2y +ag1arc +agán1n +a1gá +agá2nyé +agán2y +a2gár. +ag1á1t1a +ag1e1dé +a1ge +a2g1eg +ag1elm +ag1elt +ag1elv +a2gem +ag1emb +a2g1ev +a2g1é2g +a1gé +a2g1é2l +ag1é2pí +1agg. +ag3gye +ag2g2y +a1g2hó +agi2g +a1gi +ag1i1gé +a2g1i2p +a2g1ír +a1gí +ag1li2 +ago2na +a1go +ag2on +2agor +a2g1ors +a2g1ó1rá +a1gó +a2g1öt +a1gö +a1g2raf +ag1ra +a2gut +a1gu +ag1u1ta +ag1u2tá +a2g1út +a1gú +a2g1ü2 +a2gyad +ag2y +a1gya +agy1a2dó +a2gyag +ag2y1ag2y +agy1a1la +agy1alk +agy1an2y +a2gyál +a1gyá +agy1á1ri +a2gyát +agy1el +a1gye +a2gy1em +a2gy1en +a2gyep +agy1e1rõ +a2gy1es +a2gy1ez +a2gyér +a1gyé +agy1é1re +a2gyét +a2gyic +a1gyi +a2gyim +a2gy1ip +a2gyir +agy1is. +a2gy1ist +a2gyo1ko +a1gyo +a2gyokt +agyo2r +agy1o1ro +2ahar +a1ha +2a1he +1ahh +2a1hi +2a1hí +aho2l1i +a1ho +2a1hu +a1i +a2i2a. +ai1a +ai2bo +2ai2de +ai2dõ +ai2e +2aig2 +ai2gazí1tó +ai1ga +aiga1zí +ai2gé +a2ign +ai2j +ai2k1as +ai1ka +ai2k1e2 +ai2m2a. +ai1ma +2ai2má +ai2nal +ai1na +ai2nas +2aing +2aint +ai2o +2ai2p +ai2ram +ai1ra +ai2rá +ai2rod +ai1ro +ai2zo +2a1í2 +a2j1al +a1ja +aja2n +aj1a1na +2a1je +a2j1e2d +a2j1e1gé +a2j1elm +aj1e2lõ +a2j1em +a2j1er +a2jég +a1jé +a2j1ék +a2j1ir +a1ji +1ajkú1a +aj1kú +a2j1o1la +a1jo +aj1old +aj1ü2l +a1jü +aj2ze +aj2zí +aj2z1sí +ajz2s +a2k1akn +a1ka +a2k1alk +ak1ann +2akap +ak2a2s1ü +2akav +akás1s2 +a1ká +2a1ke +a2k1eg +ak1els +ak1emb +a2k1e2rõ +aké2k +a1ké +a2k1é1ke +2akép +ak1é2pí +2akérd +a2k1é2ret +aké1re +ak1értel +akér1te +a2k1ér1tõ +2akés +a1k2hó +akh2 +aki1á2 +a1ki +2akin +a2k1i2p +ak1i1ro +ak1is. +aki2s1a +a2k1is1k2 +a2k1ism +ak1izm +2a1kí +ak2kór +ak1kó +ak2le1i +ak1le +ak2lés +ak1lé +ak2lin +ak1li +a2k1o2l2y +a1ko +a2k1orv +2a1kö +a2k1örv +ak1õr. +a1kõ +2ak1ré +2ak1ri +ak2rit +a1k2ru +a2k1u2g +a1ku +2akut +2a1kú +a2k1útr +2a1kü +ak1ü1lé +a2k1ü2v +2akv +al1abl2 +a1la +alag1g +ala2gol +ala1go +al2a2j1e2 +1a2l2a1kí +1a2lakok +ala1ko +1a2l2a1kú +a2lan2y +al2a2nye2 +ala2p1a2 +ala2pá2r +ala1pá +1a2la1pi +1a2la1pí +alap1p +a2láf +a1lá +al1ág. +al1á2ga +al1ág1g2 +al1á2gi +al1ág1k2 +al1á2go +1a2lá1í2 +2alán +a2láp +a2l2e. +a1le +al1eln +al1elt +al1eml +al1en2y +al1e2rõ +al1esp2 +a2l1est2 +ale2s2z +al1ez +a2léb +a1lé +a2l1é2ne +a2l1érz +a2l1é2te +1al1fö +alg2 +al1gr +al1i1do +a1li +a2l1ikr +alió2ra +ali1ó +a2l1i1rá +al1is1k2 +al1isp2 +al1itt +a2l1í2rá +a1lí +1aljb +1al1ji2 +1aljn +1aljz +al2l1aj +al1la +1almád +al1má +1almák +almás1s2 +2alogizm +a1lo +alo1gi +aloi2do +alo1i +2alok +al1o1la +alo2mit +alo1mi2 +alo2m1o2k +alo1mo +2alor +alos1s +a2l1oszt +alos2z +2aló3g2i1á +a1ló +al2óg +aló1gi +2aló1gu +alókés2z1 +al2ókés +aló1ké +a2l1ön +a1lö +a2l1ös +al2t1el +al1te +al1úr. +a1lú +al1ú1ri +al1útr +a2l1ü2 +1al1vó +a2lyál +al2y +a1lyá +a2ly1e +am1a2dó +a1ma +2amag +am1akk +am1app +a2m1arc +am1arr +ama2ter +am2a1te +ama2tin +ama1ti +2a1má +a2m1árj +am2b1eg +am1be +am2b1õ +a2m2e. +a1me +ame2g1á +a2m1e1lá +a2m1e2l1o +am1els +am1elt +a2m1erd +1a2me1ri +a2m1e2rõ +a2m1érd +a1mé +am1fr +a2mim +a1mi +a2m1i2rá +ami1se2 +amis3s +am1ír +a1mí +2amod +a1mo +amos3s +a2m1ó2r +a1mó +a2m1ö2 +a2mõ +am1õr +am1õs +am1p2h +2amun +a1mu +2amut +a2m1ü2 +2a1mû +a2nah +a1na +an1akk +an1alj +an1an2y +ana2s1ze +anas2z +a2n1az +anás1s2 +a1ná +an2c2e. +an1ce +ancs1es +anc2s +an1c1se +an2c1sõ +an2dolv +an1do +an1eb +a1ne +a2ner +a2nes +ane1t1o +ane2u +a2n1e2z +2a1né +ané2v +an1évb +an1é1ve +an1évn +an2gad +an1ga +an2g1em +an1ge +an2gí +an2g1or +an1go +an2g1os2z +an2g1ös +an1gö +1anim +a1ni +an2k1a2k +an1ka +ank1a1la +an2ka1u +an2k1el +an1ke +an2k1ék. +an1ké +ank1os2z +an1ko +an2k1u2 +an2kü +ano1g2 +a1no +an1old +an1onn +an1ott +an1ó1rá +a1nó +2a1nö +an1ö2t +ansz1ál +ans2z +an1s1zá +an2s1z1u2 +an2ta1u +an1ta +a2nü +any1a1la +an2y +a1nya +1a2nyád +a1nyá +a2nyám. +a2ny1á2rak +anyá1ra +2a1nye +a2ny1ed +a2ny1em +a2ny1e1sõ +a1nyé2 +any1éh +any1ék +any1ér +a2nyif +a1nyi +a2nyig +any1i2gaz1 +a2ny1i1ga +a2nyim +2a1nyo +a2nyor +a2ny1os2z +any1ó2r +a1nyó +a2nyö +a2nyõ +an1zo2 +2a1o +ao2la +a2o1lo +ao2ro +2a1ó +a2ób +a2óc +a2óf +aó2l +aó2ra +aó2rá +aó2ri +2a1ö2 +2a1õ2 +apa2c1s1i +a1pa +apac2s +ap1a2da +1a2pa1i +1a2pa1ké +ap1a2la +ap1alk +apa2tér +ap2a1té +1a2pád +a1pá +1a2pá1é +a2p1ág +1a2pá1i +a2páll +a2p1á1ru +a2pá2t1a +2a1pe +a2p1e2g +ape2i +ape2l +ap1e1le +ap1elg +ap1elj +ap1e1lõ +ap1elv +a2p1em +ape2n +a2p1e1ne +ap1en2y +ape2s +ap1e1se +ap1f2 +a2p1i1de +a1pi +api2g +a2p1i1ge +a2p1i2rá +a2p1ist +a2p1ín +a1pí +2apl +a2p1o1la +a1po +a2p1o2pe +apos3s +ap1ös +a1pö +ap1öt +ap2rém +ap1ré +a1p2rés +1ap1rí +ap1szt2 +aps2z +ap1t2 +ap1udv +a1pu +ap1u1tá +ar1ajt +a1ra +ar2a2nye2 +aran2y +ar1a1rá +a2r1ág. +a1rá +a2r1á2ga +ará2gáb +ará1gá +ará2gán +ará2gár +ará2gát +ará2gáv +a2r1ág1b2 +a2r1ág3g2 +a2r1á1gi +a2r1á2go +a2r1ágr +a2r1ág1t2 +ar1á2guk +ará1gu +a2r1á2gun +a2r1á2g2y +a2r1áll +ará2nyé +arán2y +ar2car +ar1ca +ar2ced +ar1ce +ar2ces +ar2cö +arc3sor +arc2s +ar1c1so +1ar1cú +ar2dél +ar1dé +2a1re +ar1e2d2z +are2l +ar1elh +a2r1e1lo +a2r1e2m +aren2d1õ +a2r1er +a2r1e2v +ar1é2ne +a1ré +a2r1é2r +aré2z1 +ar1gh +argon1n +ar1go +arg2on +a2r1i2d +a1ri +a2r1i1ga +a2r1ing1b2 +a2r1in1ge +a2rizm2a. +ariz1ma +a2rizmán +ariz1má +a2ri1zo +ar1k1he +arkh2 +ar2k1õ2 +ar2k1u2s +ar1ku +2a1ro +arog2r +aro2mis +aro1mi +a2r1or +2a1ró +a2r1ó2rá +a2r1ö2l +a1rö +a2r1õ2 +ar1s2h +ar1t1há +art2o1g2rá +ar1to +art1old +ar2t1õ2r +ar1tõ +ar1t2y +2a1ru +a2r1ü +a2r1û2 +ar2v1ér +ar1vé +a1ry +a2s1a2g +a1sa +2asaj +a2s1a2kar +asa1ka +2asal +a2s1alk +a2s1alm +asa2n +a2s1ant +a2s1an2y +a2s1apr +a2s1ál +a1sá +a2s1á1ru +2asáv +2a1se +as1e2d +as1e2k +as1ell +as1emb +as1e2s +as1ez +as1é1he +a1sé +as1ék. +a2s1é2l +a2s1étv +a2s1é2v +asi2d +a1si +as1i1de +a2s1i2p +a2s1is1k2 +a2s1i1zo +2asík +a1sí +as1old +a1so +2asor +as1ord +a2s1os2z +a2s1ó1rá +a1só +as1ö2k +a1sö +as1ön +a2s1ös +2asp +as1sy +as3szab +as2s2z +as1s1za +astil2 +as1ti +2as1tí +a2s1urn +a1su +a2s1u2t +a2s1ú2t +a1sú +2a1sü +as1ün +a2s1ür +a2s1üs +a2s1ü2v +2a1sû +a2sz1ad +as2z +a1s1za +asz1ág. +a1s1zá +a2szárad +aszá1ra +2aszeg +a1s1ze +2aszek +asz1e2lõ +a2sz1év +a1s1zé +a2szid +a1s1zi +2asz1kó +asz2kóp +a2sz1ors +a1s1zo +asz1ön +a1s1zö +asz2t1és +asz1té +asz2t1ív +asz1tí +2a1s1zü +1asz1z +at1abl2 +a1ta +2atak +2atan +2atar +a2ta2rán +ata1rá +a2t1arc +ata2tom +ata1to +a2t1ág +a1tá +2atál +atá2nal +atá1na +2atár +a2t1á2ram +atá1ra +a2t1átl +a2t1átv +atá2v1i2 +atá2v1í2 +2a1te +a2t1ef +at1e2gé +at1e2gye +ateg2y +ate2led +ate1le +at1e2lem +at1elh +at1elm +at1elv +at1elz +at1emb +at1eml +at1e1po +at1e2tet +ate1te +at1e2ve +a2t1e2z +2a1té +at1é1he +a2t1é2le +a2t1ép +a2t1érz +a2t1év. +2at1f2 +at2hé +at2hón +at1hó +atig2 +a1ti +a2t1i1ga +at1i2gé +a2t1inf +ati2nó +at1i1ro +a2t1is1k2 +2atn +a2t1ob +a1to +ato1g2 +at2o2me2 +at1opt +2ator +at1ors2z +ator1s2 +a2t1orv +atos3s +atos2z2 +ato1szf2 +2a1tó +a2t1ó2rá +ató2ri1á +ató1ri +ató1s2z +2a1tö +a2t1ös +at1ö2ve +a2t1ö2vö +at2sán +at1sá +at1tó2 +at2tór +at1t1re +at1t1ré +2a1tu +a2t1uj +1atyj +at2y +a1tyl +2atz +a1u +a2u2de +au2ga +a2ug2h +au2go +au1k2r +a2u1l2y +2aur +a2us. +au2tal +au1ta +a2ut2ó. +au1tó +au2z2s +a1ú +aú2r1 +aú2s +2a1ü2 +a1û2 +av1anh +a1va +avara2n +ava1ra +ava2s1as +ava1sa +ava2s1ze +avas2z +2a1vá +2a1vi +avi2c1se +avic2s +avíz1 +a1ví +2ay +a1ya +a1yá +a1ye +2a1za +aza2teg +az2a1te +aza1ú2 +a2z1áll +a1zá +az1ált +azás1s2 +az2du +2a1ze +az1e2le +az1elj +az1e1lõ +aze2o +az1év +a1zé +az1i2d +a1zi +azo2n1á +a1zo +2a1zó +az1ó1ta +az1p2 +a2z3ság +az2s +a1z1sá +az3st2 +a2z1sú +a2z3sü +a2z1ut +a1zu +a2z1új +a1zú +2á. +á1a2 +á1á2 +áb1áll +á1bá +áb2b1a2d +áb1ba +áb2b1é2 +áb2bis +áb1bi +áb2bol +áb1bo +áb2bos +áb2b1ot +áb2bö2 +áb2bú +ábe2l1a +á1be +ábe2lér +ábe1lé +á2b1e1lõ +á2b1e2m +á2b1e2n +á2b1ér +á1bé +á2b1ikr +á1bi +á2b1in +á2b1ir +2ábiz +áb1izm +áb1izz +2á1bí +1áb1rá +ábr2 +2á1bu +ábu2t +áb1u1tá +áca1k2 +á1ca +ác1al +ácá2ná +á1cá +á2c1e +á1c3ho +ác2h +ácin2ti +á1ci +áci2ós2z +áci1ó +á2cs1aj +ác2s +á1c1sa +á2csas +á2c3ság +á1c1sá +á2cs1e2l +á1c1se +á2csil +á1c1si +á1c1sü2 +ács1ül +ád1alk +á1da +áda2n +ád1an2y +á2d1a1pá +á2d1ál +á1dá +á2d1e2l +á1de +á2d1e2m +áde2ros +áde1ro +á2d1es +á2d1in +á1di +ád1i1ra +ád2o2ge2 +á1do +á2d1os2z +á1dö2 +á1d2rót +ád1ró +ád1s1za2 +áds2z +á2d1ur +á1du +á1dy +á1e2 +á1é +áé2he +áé2ke +áé2l +áé2ne +áé2p +áé2re +áé2ri +áé2r2õ. +áé1rõ +áf1elm +á1fe +áf1üz +á1fü +á2g1a2d +á1ga +ág1a1la +á2g1a2r +1á2gaz +á2g1ág +á1gá +á2g1álv +á2g1á2ru +á2g1árv +ágá2sé2 +ág1e2d +á1ge +á2g1e2g +á2g1e2l +á2g1e2s +á2g1é2g +á1gé +á2g1é2l +ág1é2ne +á2g1ép +á2g1érd +á2g1ér1te +á2g1ér1té +ágg2 +ág1gr +á2g1id +á1gi +á2g1if +á2g1i1ga +á2gi2gén +ági1gé +á2g1ill +á2g1ing +á2g1i2p +á2g1i1ro +ág1ír +á1gí +á2g1o1la +á1go +á2g1old +á2g1olv +ágos3s +ág1óc +á1gó +á2g1ö2 +ágs2z2 +ágs2 +á2g1u2r +á1gu +á2g1u2t +á2g1ü2 +á2g1û2 +á2gyac +ág2y +á1gya +á2gyál +á1gyá +á2gy1e2 +2á1ha +2á1há +2á1he +áh1ors +á1ho +á1i +ái2do +ái2g +ái2j +2áil +ái2má +ái2rá +ái2s +á1í2 +á2jí +áj2kõ +áj2lá +á2j1or +á1jo +á2jõ +áj2teg +áj1te +áj2tel +áj2ti +á2jul +á1ju +á2jü +ák1abr2 +á1ka +á2k1al +á2k1as +á2k1ál +á1ká +á2k1e2l +á1ke +ák1em +á2k1é2l +á1ké +ák1é2ve +ák1in +á1ki +ák1k2 +á2k1o1li +á1ko +á2k1oll +á2k1ott +2á1kö +ák1s +á2k1ut +á1ku +ál1abl2 +á1la +ála2m +ála2n +á2l1a1na +á2l1ang +ál1an2y +ála2szel +álas2z +ála1s1ze +ál2a2s1zü +ál1áll +á1lá +ál1árf +1ál1dá +1áldj +1ál1do +ál1d2r +1ál1du +1áldv +ále2l +á1le +á2l1e1mu +á2l1e2r +ál1ér. +á1lé +álé2t +ál1é1te +á2l1id +á1li +ális3s +á2l1í2 +ál1k2 +ál2liz +ál1li +ál1ob +á1lo +á2l1o2kok +álo1ko +á2l1ol +1á2l2omb +ál2o2me +álo2mit +álo1mi2 +á2l1op +á2l1or +ál1os2z +2á1lö +ál1öl +ál1ös +ál1öz +ál1p2 +áls2 +ál1st2 +ál2t1e2g +ál1te +ál2tiv +ál1ti +á2l1ug +á1lu +ál1u2s +ál1u2t +ál1út +á1lú +á2lü +á1l1û +á2lyal +ál2y +á1lya +á2lyál +á1lyá +á2ly1e +á2lyi1ga +á1lyi +á2lyis +á2ly1ó2 +á2lyö +á2lyü +á2m1ac +á1ma +á2m1akt +á2m1a2l +áma2n +ám1an2y +ám1a1pa +ám1a2rá +ám1at2y +ám1ár. +á1má +ám1bl2 +áme2g +á1me +ám1elm +á2m1e2m +á2m1es +ámés2z1 +á1mé +ám1f2 +á2m1id +á1mi +ám1il +á2m1ip +á2m1i2r +ámi2s +ám1ism +ám1is2z +á2m1ír +á1mí +ám1ív +á2m1ob +á1mo +á2m1op +ámo2rál +ámo1rá +á2m1oszl +ámos2z +á2m1ö +á2m1õ2 +ám1p2 +ám1s +ámu2n +á1mu +ám1ur +á2m1ü2 +á2m1û2z +á1mû +ána2d +á1na +án1a1da +ána1i2 +án1ajt +á2n1akc +á2n1a2la +án1alk +á2n1a2pa +á2n1a1pá +án1ass +án1aut +ána1u +á2n1áll +á1ná +án1á1ru +án2c1ed +án1ce +án2c1es +án2c3h +án2c1is +án1ci +án2cor +án1co +án2c1ö +án2cü +á2n1e2d +á1ne +án1e2g +ánegyez1 +áneg2y +áne1gye +án1e2l +án1em +án1en +án1e2t +á2n1é2g +á1né +á2n1é2l +án1é2ne +á2n1é1pü +án1é1rõ +án1f2 +án2g1a2r +án1ga +án2gel +án1ge +án2g1e2s +án2g1és +án1gé +án2g1os2z +án1go +án2gö +á2n1i2d +á1ni +á2n1im +án1int +á2n1ip +á2n1ir +án1is2z +án2iz2s1 +á2n1izz +án2k1es +án1ke +án1k2l +á2n1o1ki +á1no +á2n1or +á2n1os2z +á2n1ot +ánó2r +á1nó +á2n1ö +án1szf2 +áns2z +án1sz2l +án1szp +án2tir +án1ti +án2t1iz +án2tór +án1tó +á2n1uj +á1nu +á2n1u2t +á1nú2 +án1út +á2n1ü +á2ny1a2dó +án2y +á1nya +ány1a2la +ánya2n +án2y1an2y +á2nyap +ány1ass +á2ny1ál +á1nyá +á2ny1ár. +á2ny1á2rak +ányá1ra +á1nye2 +á2nyeg +á2ny1el +ány1er +á2nyé2g +á1nyé +á2nyél +á2nyérz +ány1í2r +á1nyí +á2ny1o1la +á1nyo +á2ny1os2z +á2ny1ö +á2nyõ +á2ny1us +á1nyu +á2nyü +án2z1ag +án1za +án2z2s +á1o +áo2s1ze +áos2z +á1ó +á1ö +á1õ2 +áp1a2n +á1pa +á1pe2 +áp1eg +á2p1ér +á1pé +áp1int +á1pi +á2po1ló +á1po +ápo1ra2 +ápo2rad +ár1abl2 +á1ra +ár1abr2 +2árag +á2r1agg +ára2j +ár1a1já +ár1ajt +á2r1a2la +ár1a1lá +ár1alj +á2r1alk +ára2m1el +ára1me +1á2ram1k2 +1á2ra1mú +ár1a2p +á2r1a2r +á2r1á2g +á1rá +ár1ár. +á2r1á1ro +ár1árt +árás3s2 +ár1á2t1e2 +á2r1át1k2 +ár1b2 +1árboc +ár1bo +árd1el +ár1de +ár2d1ó2 +á2r1e2g +á1re +á2r1e2l +ár1eng +á2r1er +ár1e1sé +á2r1e2z +á2r1é2g +á1ré +á2r1éj +á2r1é2n +á2r1ép +á2r1é2tû +ár2gye +árg2y +ár2gyor +ár1gyo +ár1i1de +á1ri +ári2g +á2r1i1ga +ár1inc +ár1ind +ár1ing +ár1int +á2r1i2o +á2r1ir +ár1isp2 +ár1i2ta +ár1i1zo +ár1ír +á1rí +árká2s +ár1ká +árkás2z1 +ár1kh2 +1árkok +ár1ko +ármas1s +ár1ma +árnás1 +ár1ná +áro2koz +á1ro +áro1ko +ár1oll +áro2mér +áro1mé +áro2m1os +áro1mo +á2r1or +áros3s +á2rostr +á1rö2 +ár1öl +ár1ös +ár1öv +ár1öz +á2r1õ2 +ár1p2 +1árp2a. +ár1pa +árs3s +ár1st2r +árt1akt +ár1ta +árt1áll +ár1tá +árt1árn +árt1á1ru +ár2teg +ár1te +ár2ti2g +ár1ti +ár2t1okt +ár1to +ár2t1ön +ár1tö +ár1t1ro +1á2r2u. +á1ru +á2rud +á2ru1é +1á2r2uf +1á2ru1i +1áruj +á2ru1ke +1á2ru1ké +á2rum +1á2rup +á2rur +á2rut +ár1u1ta +1á2ru1ü2 +1áruv +ár1úr +á1rú +árú2t +ár1ú1ti +á2rü +1ár1vu +á1ry +á2s1abl2 +á1sa +á2sad +ás1a2dó +á2s1a2j +á2s1akt +ás1a2la +ás1alk +á2s1alm +ás1a2lo +ása2n +á2s1a1na +á2s1an2y +á2s1as +á2s1a2u +á2s1a2v +á2s1a2z +á2sábr2 +á1sá +á2s1ál +á2s1á1ru +á2sást +á2s1átl +á2s1átv +ás1e2d +á1se +á2s1e2l +ás1em +á2s1en +á2s1e2s +ás1ex +ás1ez +á2s1é2l +á1sé +á2s1ép +ás1é1re +á2s1ér1te +á2s1ér1té +á2s1és +á2s1é1ve +á2s1id +á1si +á2s1if +ási2g +á2s1i1ga +á2s1inf +ás1int +á2s1i2p +ás1i2rá +á2s1is +á2s1ín +á1sí +á2s1í2r +á2s1ív +ás1k2 +á2s1ok1ta +á1so +á2s1or +á2s1os2z +1á2s2ó. +á1só +1á2sój +1á2sók +1á2són +á2sór +á2s1ó1rá +1á2sót +á2s1ö +á2s1õ +ás1p2 +áspis1 +ás1pi +áss2 +ás1st2 +á1ssy +ás3s1ze +ás2s2z +ás3s1zé +ás3s1zi +ás3szor +ás1s1zo +ás3s1zö +ás3szt2 +ás3s1zü +ás1t1ra +á2s1uj +á1su +ásu2t +ás1u1ta +á2s1u1tá +á2s1u2z +á2s1üg +á1sü +ás1ür +á2s1üs +á2s1ü2v +á2sz1aj +ás2z +á1s1za +á2sz1ap +á2szas +ás3zav +2á1s1zá +á2szág +ász1eb +á1s1ze +ász1el +ász1em +ász1ep +ász1es +ász1e2t +á1s1zé2 +á2sz1éj +á2sz1én +ász1év +á1s1zi2 +á2szid +á2sz1in +á2sz1ir +á2sz1is +á2sz1ors +á1s1zo +ás2z1os2z +ász1ös +á1s1zö +ászt2 +ász1tr +á2szur +á1s1zu +á2s2zut +ás2z1út +á1s1zú +ász1ün +á1s1zü +á2s2züz +át1a1do +á1ta +át1adt +át1alm +át1a2lu +át1a2u +á2t1ál +á1tá +át1ej +á1te +át1e2m +át1é2g +á1té +áté2ke +á2t1é2l +át1é2p +át1f2 +1át1fú +1át1hi +áti2ag +á1ti +áti1a +át1id +áti2g +át1in +á2t1i2r +á2t1izm +á2t1i1zo +át1í2r +á1tí +át1í2v +1át1lé +1át1ne +át1öb +á1tö +á2t1öm +át1ön +át1ö2v +át1ö2z +á2t1õ2 +át1t2 +át1ug +á1tu +á2t1uj +1á2t1u2t +á2t1ú2s +á1tú +á1tü2 +á2t1ül +át1üt +át1üz +1át1vo +á1u2 +á1ú +á1ü2 +á1û +áv1el +á1ve +áv1érz +á1vé +á2v1i2rá +á1vi +á2v1iz +á2v1okt +á1vo +á2v1ús +á1vú +áz1abl2 +á1za +á2z1aj +áz1alk +á2z1ann +áz2a2t1e2 +áza2tí +á2z1at2y +á2z1a2v +á2z1á2l +á1zá +ázás1s2 +á2z1e1a2 +á1ze +á2z1eg +áz1e2r +á2z1es +áze2z +á2z1e1ze +á2z1ez1ré +á2z1é2p +á1zé +áz1é1ve +ázhoz1 +áz1ho +á2z1i1gá +á1zi +á2z1ing +á2zins +ázi2s1em +ázi1se +ázis3s +á2z1izm +áz1i1zo +áz1k2 +2ázol +á1zo +á2z1o2r +2ázos +á2z1os2z +á2z1ö +á2z1õ +á2zs1aj +áz2s +á1z1sa +ázs1ár. +á1z1sá +ázs1á2rá +ázs1árh +á2z1s1e2 +á2z1sé +ázs1é2n +á2zsi1á +á1z1si +á2zs1ig +á2z3sor +á1z1so +áz3s1pa +ázsp2 +áz3sug +á1z1su +á2z1sü +ázs1ü2v +á2z3sû +2á1zú +á2z1ü2 +á1zy +1ba +b2a1á2 +1ba1ba1 +ba2b1o2l +ba1bo +ba2d1ár +ba1dá +ba2del +ba1de +ba2der +ba2de2s +ba2d1i2 +ba2dot +ba1do +ba2dun +ba1du +b2a1dú2 +ba2d1ús +b2a1e2 +ba1go2 +2bajg +ba2k1as +ba1ka +ba2k1ál +ba1ká +b2a2k1in +ba1ki +ba1k1rá +ba2l1a2d +ba1la +ba2l1e2s +ba1le +ba2l1í2 +ba2l1ol +ba1lo +2bals +ban2c2h +ban1ka2 +ban2kad +ban2kal +ban2kép +ban1ké +ban2kin +ban1ki +bart2 +bar1th +ba2seb +b2a1se +b2a1sp +ba2u1e +ba1u +bau2t +1bá +bá2bál +bá1bá +bá2c1sü2 +bác2s +b1á2gú +bá2gyu +bág2y +bákos1 +bá1ko +bá2la2n +bá1la +2bálm +bá2ne +2b1á2p +bá2r1as +bá1ra +2b1á2ru +bá2s1é +bá2s1zö +bás2z +bá2t1a2 +2b1át1d2 +2b1átm +bb1adh +b1ba +bb1adj +bb1a1du +bb1adv +b2b1alk +b2b1als +bb1ar +b2b1ál +b1bá +b2b1e2g +b1be +bb1e1la +b2b1e2le +bbe2m +b2b1e1me +b2b1e1sé +bbes1s +b2b1é2v +b1bé +bb1is. +b1bi +b2b1í2r +b1bí +bb1old +b1bo +bb1olt +bb1olv +bb1os2z +b1bó2 +bb1ór +b1bö2 +b2b1öl +bb1ör +bb1ös +bb1s2 +b2b1u2t +b1bu +1be +be1a2 +beat1 +beá2r +be1á +beá2z +be2c1s1á +bec2s +be1f +be1gr +bei2d +be1i +bei2g +bei2s +be1k2v +be2lad +be1la +be2lár +be1lá +bel1ér. +be1lé +be2lór +be1ló +be2lõ1a +be1lõ +be2n1á +ben2ná +ben2tét +ben1té +be1o2 +be1p2 +bera2n +be1ra +be2rap +be2r1a2r +be2ras +be2r1ár +be1rá +be2r1e2g +be1re +be2r1e2lõ +be2r1eml +ber1e2pé +be2r1ev +be2rid +be1ri +be2r1ist +2b1e2rõ +ber1s2 +be1s1ka +bes1k2 +be1s2l +besp2 +be1spr +be1sr +be1s1to +be1u2 +1bé +bé2d1o +bé2du +bé2let +bé1le +bé2lo +b1é2lõ +bé2lú +bé2lyi +bél2y +2b1é2p +bé2ra2n +bé1ra +bé2rá +bé2r1em +bé1re +bé2r1os +bé1ro +2b1ér1te +2b1ér1té +bé2ru +bé2rú +bé2vi +1bi +bi2ed +bi1e +bi1f2r +2b1i2gáb +bi1gá +2b1i2gáj +bi2k1em +bi1ke +bi2ké2l +bi1ké +bi1k2ro +bil1ant +bi1la +bi2l1ip +bi1li +2bi1me +2b1ind +bio1g2 +bi1o +bi2ok +bi2ol +bi2om +bi2or +bi2os +2b1i2rá +bi1sc +bi1sh +bi2t1á2r +bi1tá +bi2tip +bi1ti +bi2tü +2b1i2vad +bi1va +1bí +2b1ív +b1k2 +bl2 +b1la1b1la +b1la +blabl2 +bl2a2k1e2 +bla1pr +ble2t1ér +b1le +ble1té +ble2ti +b1lj +1b2lok +b1lo +b1lu2 +blue2s1 +blu1e +b2lú +b1l2y +bme1g1á +b1me +1bo +boc1c +b2o2ce +bo2c3h +b2o2g1e +bok2s1z1á +boks2z +2b1ol1da +bolo1g2 +bo1lo +bo2r1ad +bo1ra +bo2ral +bo2r1e2c +bo1re +bo2rén +bo1ré +bo2r1is +bo1ri +bor1itt +bo2r1iv +bo2se2 +bos3z2s2 +bos2z +b2o2t1e +bo2ul +bo1u +bo2zé +1bó +bó2rá +1bö +bö2n1 +2b1öv +1bõ +bõ2r1a +bõ2rá +bõ2reg +bõ1re +bõ2rel +bõ2rin +bõ1ri +bõ2r1o +bõ2ru +bõ2r1ü2l +bõ1rü +b1p2 +br2 +1b2rig +b1ri +bsé2ge2l +b1sé +bsé1ge +bsz1t2 +bs2z +b1t2 +1bu +2b1ujj +buk2je +bu2n1á +bu2sz1ál +bus2z +bu1s1zá +bu2tó +1bú +bú2s2z +búzás1 +bú1zá +1bü +2b1üz +1bû +bû2v1e +bvá2nyé +b1vá +bván2y +bve2g +b1ve +bveg2y1 +1by +by2t +1ca +2c1a2la +2c1alk +cam1b +ca2n2y +ca2rán +ca1rá +ca1tá2 +ca2tem +c2a1te +2c1atl +caus2 +ca1u +1cá +2c1á2g +cá2l +2c1áll +cá2po +2c1árk +2c1á2sá +c2c1e2v +c1ce +c2c2h +c2c1í2 +c2c2s +c3csap +c1c1sa +c3c1si +c3c1sí +cc3sor +c1c1so +ccs1ön +c1c1sö +c3c1sú +cda2lé +c1da +1ce +ce2dén +ce1dé +2c1e2d2z +ceg1ér +ce1gé +2c1e2g2y +ce2lem +ce1le +ce2lõk +ce1lõ +ce1o2 +ce1ph +2c1e2rõ +2c1eszt +ces2z +2cetb2 +2ceton +ce1to +2c1e2zer +ce1ze +2c1ezr +1cé +cé2ga +cé2gel +cé1ge +cé2g1o +cé2lab +cé1la +cé2l1ar +cé2l1á2 +cé1le2 +cé2leg +cé2lek +cé2lem +cé2l1er +cé2lip +cé1li +cé2lir +cé2liz +cé2lö2 +cé2lõ +cé2pí +cé2ret +cé1re +2c1é2ri +cés3s2 +c1év. +2c1é2ven +cé1ve +2c1é2ves +2c1é2vi +c2h +1c1ha +ch2a2e +1c1há +c3ház +1c1he +2ch2e. +chel2 +chet2t +1c1hé +1c1hi +1c1hí +1c1ho +1c1hó +1c1hö +1c1hõ +ch2ro +2c1hu +2c3hú +1c1hü +1c1hû +1ci +ci2ac +ci1a +ci2af +ci2a1g2 +ci2a1ku +ci2am +ci2a1p2 +ci2ar +ci2av +ci2az +2c1i2dõ +ci1g2r +2ci1i +2cing +ci2o1g2 +ci1o +ci2ol +ci2ó1a +ci1ó +ci2óc +ci2ó1fe +ció1f2 +ci2ó1fé +ciókés2z1 +ci2ókés +ció1ké +ci2ól +ci2ó1rá +ci2ó1ta +2c1ispán. +cisp2 +cis1pá +ci2s1zi +cis2z +ci1to1 +2c1iz1ma +2c1iz1mo +ci2zom +ci1zo +1cí +cí2ma +cí2mi +2c1í2rá +2cív +cí2ve +cí2z2s +cké2t1 +c1ké +c2k1í +c2k1o2pe +c1ko +ck2ré +ck2ri +1c2ky +1co +co2lig +co1li +com2biz +c2omb +com1bi +c2o2o +2co1ri +2c1ország. +cors2z +cor1s1zá +2c1os2z +co2u +1có +1cö +c1ö2le +c1öln +cö2t +c1ötb2 +c1ö1t1e +c1ö1té +c1ö1tö +1cõ +c1p2 +c2s +1c1sa +cs1abl2 +2cs1a2d +cs1ass +csa2s2z +3csat +1c1sá +2cság +c3ság. +cs1á1gú +2c1s1á1sá +2cs1á2só +2cs1á2tí +1c1se +2cselc +2c2s1e2võ +1c1sé +2c3ség +1c1si +2cs1i1ta +1c1sí +c2s1í2v +cs1k2 +1c1so +2cs1o2laj +cso1la +3cson +3csop +2cs1orr +c3sorv +1c1só +1c1sö +2cs1ön1te +1c1sõ +cs1p2 +cs3s +cs1t2 +c3s2tí +1c1su +1c1sú +1c1sü +cs1üll +cs1ü2té +c3süv +2c2s1ü2z +1c1sû +c3s1za +cs2z +c3száz. +c1s1zá +c3szem +c1s1ze +c3szes +c3s1zí +c3s1zo +c3s1zö +c3s1zõ +cs3z2s2 +ct2 +c1tr +1cu +2c1utc +1cú +1cü +2c1üg +c1ünn +2c1ü2r +2c1ü2v +1cû +1cy +c2z +1c1za +1c1zá +1c1ze +2c3zen +cze2ö2 +1c1zé +1c1zi +1c1zí +1c1zo +1c1zó +1c1zö +1c1zõ +c3z2s +1c1zu +1c1zú +1c1zü +1c1zû +1czy +1da +d2a1á2 +2d1abl2 +2d1add +2d1a2dó +d2a1e2 +da1g2ro +da2hán +da1há +d2ai2g2 +da1i +da2lab +da1la +da2l1aj +da2lat +da2lág +da1lá +da2l1e2l +da1le +da2l1im +da1li +dal1l +d2a2l1or +da1lo +da2l1ó2r +da1ló +da2m2a. +da1ma +da2maz +da2mel +da1me +2d1ann +da2nyá +dan2y +d2a1ó2 +2d1a2p2a. +da1pa +2d1a2pa1i +2dapak +da2pák +da1pá +da2pát +da1p2f2 +d2a1p2l +da2pó +dar2c3h +dar2c1so +darc2s +da2re2l +d2a1re +da2r1é +da1s1pe +d2asp +dast2 +da1str +2d1aszt +das2z +da2t1ag +da1ta +dat1a1la +dat1alk +dat1áll +d2atál +da1tá +2datc +da2t1eg +d2a1te +da2t1em +da2téh +d2a1té +da2t1és +da2t1in +da1ti +da2top +da1to +da2tút +da1tú +2d1a2t2y +da2z1á +da2zé +1dá +dáb2 +2dá2g +2d1ál1lá +dá2n1iz +dá1ni +dá1ra2 +d2á2r1ag +dá2ral +dá2ras +dá2r1e2 +dá2rij +dá1ri +dá2rit +2d1á2ru +dá2sal +dá1sa +dá2se +dást2 +dá2sü +dá2sz1al +dás2z +dá1s1za +dá2sz1ál +d2á1s1zá +dá2szár +dá2s1z1e +dá2s1z1ö +d1átm +dá2z1ak +dá1za +dá2z2s +dá1z3sá +dd1elh +d1de +d2d1i2d +d1di +d2d1o2d +d1do +d2d2z +1de +de2a1s +de1a +de2at +2d1eff +de1f2r +de2g1al +de1ga +de2g1ál +de1gá +de2g1el +de1ge +de2g1em +deg3g +de2gin +de1gi +de2g1o +de2g1ö2 +de2gõ +2deg2y +de2gye +de2gyi +de2is2z +de1i +de2k1a2r +de1ka +de2k1e2g +de1ke +de2k1ell +dek1érv +de1ké +2de1kö +de2köz +dele2já +de1le +dele2meg +dele1me +2d1e2lemz +del2lal +del1la +del1lé2 +del2l1én +de2lõ1a +de1lõ +d1elz +de2m1é2rem +de1mé +demé1re +de2m1érm +de2mú +de2n1e2g +de1ne +de2n1e1se +de2nol +de1no +de2of +de1o +de2ok +de2ol +de2om +de2or +de2os +de2ot +de1p1ra +de1p2re +de2r1áz +de1rá +der1os2z +de1ro +de2rö +2d1e2rõ +de2r1u2 +de2s1a2 +de2sá +de2s1ér +de1sé +de2su +de2s1ú2 +2d1e2s1zû +des2z +det1é2ré +de1té +2de1za +de2zér +de1zé +de1zi2 +de2zid +de2zil +de2zin +de2zor +de1zo +1dé +dé2da +dé2d1õ +dé2du +dé2d1ü +d2é1f2 +dé2gá +dég3g +dé2go +dé2hes +dé1he +2d1éhs2 +2d1éjs +dé2k1a2n +dé1ka +dé2l1a2 +dé2l1e2l +dé1le +dé2l1es +dé2lir +dé1li +dé2lo +dé2lu +dé2lyá +dél2y +2d1é2pí +dé2raj +dé1ra +dé2ra2r +2d1ér1té +2dér1tõ +dé2sa2 +dé2s1el +dé1se +dé2s1o +dé2sö +dé2s1za +dés2z +dé2ti +dét1is +dé2tu +2d1év. +2d1é2ve1i +dé1ve +2d1é2vek +2d1é2ven +2d1é2ves +2d1é2vet +2dévér +dé1vé +2d1é2vi +d1f2 +dg2 +dgá2z +d1gá +d1gr +1di +di2ac +di1a +dia2dó +di2a1fo +di2ah +di2ain +d2ia1i +di2aj +di2am +di2a1p2 +dia1szk +dias2z +di2at +di2av +2d1i2dõ +die2s +di1e +di1fl +digaz1 +di1ga +di2gén +di1gé +di2gér +2d1i2gét +di1k2ro +di2k1u2ta +di1ku +2d1ind +di2ol +di1o +di2ó1a +di1ó +di2óc +di2ó1fe +dió1f2 +di2ós2z +2d1i2rod +di1ro +2d1irt +2d1is1te +2d1i2zü +1dí +dí2j1al +dí1ja +dí2ji2 +2d1ín. +2d1í2rá +d1írn +dí2ró +2díz +dí2zi +d2j1i +dk2 +dkés2z1 +d1ké +d1kr +dlás1s2 +d1lá +dlõ1k2 +d1lõ +dme2g1é +d1me +1do +2d1o2dú +d2o1e2 +d2o1ge2 +do2k1ú +do2laj +do1la +2d1oml +do2n1e +do2név +do1né +d2o1p2h2 +do2re +do2r1é2 +do2rip +do1ri +do2ris +do1sz2k +dos2z +2doszt +1dó +dó1a2 +dóel1 +d2ó1e2 +dó1p2 +dó2sem +d2ó1se +2dósl +dó2só2 +2d1ó2vó +1dö +dö1ke2 +dö2k1er +dö2kí +dö2le +2d1ö2v +1dõ +dõ1a2 +dõ1d2r +dõe2r +d2õ1e +dõ1é2 +dõi2rá +dõ1i +2dõ1ra +2d1õrb +2d1õrez +dõ1re +2d1õrf +2d1õrh +2d1õ2rig +dõ1ri +2d1õ2ril +2d1õrj +2d1õrk +2d1õrm +2dõ1rö +dõ2rök +dõ2rön +2d1õ2r1õr +dõ1rõ +2d1õrr +2d1õr1s +2d1õrt2 +2d1õrv +dõ1s1ká +dõsk2 +dõ1s2p2 +dõ2tál +dõ1tá +dõ1tr +dõ1u2 +d1p2 +1d2rám +d1rá +dri2t1 +d1ri +drog2r +d1ro +drop2 +1d2ruk +d1ru +dsé2gi +d1sé +d1s2p +d1s2t2 +dsuhanc1 +d1su +dsu1ha +d2tarc +d1ta +1du +d2u2c3h +du2gal +du1ga +du2g1ár +du1gá +2d1u2no +2d1unt +du2se +dus3s +du2ta +du2tá +1dú +dú2c2s +dú2to +1dü +2d1ü2g +2d1ü2z +1dû +2d1û2z +dv1or +d1vo +dy1a +1dyk +d2z +1d1za +1d1zá +d3zár +1d1ze +1d1zé +1d1zi +1d1zí +1d1zo +1d1zó +1d1zö +2d3zöld. +1d1zõ +2dzõj +2dzõs +1d1z1sa +dz2s +1d1z1sá +1d1z1se +1d1z1sé +1d1z1si +1d1z1sí +1d1z1so +1d1z1só +1d1z1sö +1d1z1sõ +1d1z1su +1d1z1sú +1d1z1sü +1d1z1sû +1d1zu +1d1zú +1d1zü +1d1zû +2e. +e1a +e2ac +ea2da +ea2dá +e2a1di +ea2do +ea2dó +ea2du +e2a1ga +e2ah +eai2v +ea1i +ea2j +e2a1ki +e2a1ko +ea2la +ea2lá +e2a1le +ea2p +e2ar. +ea2ra +eas3s +east2 +e2at. +e2at1k2 +e2atl +e2a1to +e2a1u +ea2z +e1á +eá2bé +eá2c2s +eá2f +eá2g +eá2ke +eá2lár +eá1lá +e2á1le +eá2l1é +eá1lu2 +e2á1mu +eá2nyal +eán2y +eá1nya +eá2nya2n +eá2nyas +eá2nye2 +eá2sa +eá2se +eá2so +e2á1te +e2á1té +e2á1tö +eb1a2d +e1ba +e2b1ajk +eb1atl +1e2béd +e1bé +eb1ing +e1bi +e1b2lo +ebl2 +eb1ó2r +e1bó +ec1á2r +e1cá +2ecen1to +e1ce +ece2ti +ecés1 +e1cé +ec3hez +ec2h +e1c1he +ecs1ért +ec2s +e1c1sé +edeles1 +e1de +ede1le +ede2ri +edé2lyo +e1dé +edél2y +1e2d2én2y +edés3s2 +2e1di +edi2g +e2d1i1ga +edi2ó +ed1i1ro +ed1ír +e1dí +e2d1íz +ed1orv +e1do +e1d2ró +edu2r +e1du +e1dy +e1e +ee2b +ee2c +e2e2d1 +ee2g +ee2l +ee1l1i +ee1l1o +ee2m +e2e1ne +ee2r +ee2se +ee2sé +ee2si +ee2s2õ. +ee1sõ +ee2sõn +ee2sü +ee2s2z +ee2tet +ee1te +e2e1th +ee2v +e1é2 +e2ga1bá +e1ga +e2g1abr2 +e2g1a2d +e2g1a2g +e2g1a2j +e2g1a2k +ega2lac +ega1la +ega2lak +e2g1a2lá +e2g1alt +e2g1a1lu +e2g1alv +eg1ann +eg1an2y +e2g1a2pa +e2g1apr +e2g1a2r +e2g1a2s +e3g2at +e2g1a1u +e2g1a2v +e3gaz +eg1á2c2s +e1gá +e2g1ág +eg1áld +eg1álm +e2g1á2r +e2g1á2s +eg1á1ta +e2g1át1k2 +eg1átl +eg1á2zi2 +eg1ázt +e2g1e2g +e1ge +e2g1eh +e2g1ej +ege2lem +ege1le +ege2léb +ege1lé +e2g1ell +e3g2elõ1i +ege1lõ +e2g1els +eg1e1mé +e3g2end +e2gerd +e2g1esh +eg1es2s2z +e2g1e2s1ze +eges2z +e2g1e2tet. +ege1te +e2g1é2g +e1gé +egé2k +eg1é1ke +e2g1é2le +eg1é2lü +egé2nyel +eg2én2y +egé1nye +e2g1é2pí +eg1é1pü +e2gér. +e2g1érd +egé2ret +egé1re +e2g1érj +1e2gész2s2 +egés2z +eg3gya +eg2g2y +eg3gyás +eg1gyá +eg3gyen +eg1gye +eg3gyo +eg3gyú +e2g1if +e1gi +egi2g +e2g1i1ga +e2g1i1ge +e2g1i1gé +eg1i1ha +e2g1ij +eg1ill +e2g1ing +e2g1i1no +egi2p +eg1i1ra +e2gi2ro +e2g1ist +eg1i1s1zi +egis2z +eg1i1s1zo +e2g1i1ta +e2g1itt2a. +egit1ta +e2g1it1tá +egius1 +egi1u +eg1i1vá +e2g1iz1g2 +eg1izm +eg1ír +e1gí +eg1o2d +e1go +eg1o2k +eg1o1la +e3gom +eg1op +e3g2o1ro +e2g1os +e2g1ó1rá +e1gó +e2góv +e2g1öb +e1gö +eg1ök +eg1öz +e1g2ráf +eg1rá +e2g1u2g +e1gu +eg1un +eg1u2ra +eg1u2t +eg1u2z +e2g1ú2 +e2gü2g +e1gü +eg1ü2li +e2g1ür +e2g1üz +egy1a2d +eg2y +e1gya +egya2r +egy1as +egy1a2t +egy1az +egy1ál +e1gyá +egy1á1ra +egy1ell +e1gye +1e2gyenl +egyes1s +egy1eszt +egyes2z +egyköz1 +egy1k2 +egy1kö +e1gyo2 +egy1ol +egy1om +egy1ór +e1gyó +egy1öl +e1gyö +egy1ös +e2gy1õr +e1gyõ +e2gyür +e1gyü +1e2gyü2t +ehé2ra +e1hé +ehé2z1 +1ehh +e2h1ors +e1ho +eh1s2 +e1i +e2i1a +e2i1á +e2i1bu +e2ic +e2i1dá +ei1do1 +ei2dõ +e2ier +ei1e +e2if +ei2gá +ei2gé +ei2g2y +ei2ha +ei2j +e2i1ma +ei2má +e2i1ni +e2in1r +eins2 +ei2on +ei1o +ei2pa +ei2ram +ei1ra +ei2rat +ei2rod +ei1ro +e2i1ró +ei2ta +e2i1to +e2i1tu +ei2vó +e1í2 +ej1a2d +e1ja +ej1al +ej1ál +e1já +ejes1s +e1je +ejé2k +e1jé +e2j1ék. +e2j1é1ke +e2j1in +e1ji +ej1kr +ej1ol +e1jo +e2j1o2p +ej1os +ej1ta2 +ej2tak +ej2tal +ej2t1an +ej2ta1u +ej2tál +ej1tá +ej2tár +ej2tát +ej2tos +ej1to +e2j1ú2 +ek1a2dó +e1ka +e2k1aj +e2k1alj +ek1áll +e1ká +ek1ár. +e2k1e2lõt +e1ke +eke1lõ +ek1é2le +e1ké +ek1é2pí +e2k1éss2 +e2k1é2te +eki1e2 +e1ki +ek1ist +e2kod +e1ko +ek1orv +ekö2l +e1kö +ek1ö1lé +ek1ö1lõ +ek1õr +e1kõ +ek2rit +ek1ri +ek2tal +ek1ta +ek1út +e1kú +e2k1üt +e1kü +ek2vit +ek1vi +el1ad. +e1la +el1a2da +el1a2dá +el1add +el1adh +el1adj +el1adn +el1a2dó +el1adt +el1adv +el1agg +el1a2g2y +ela2j +el1a1já +el1akc +e2l1a2l +ela2m +el1a1me +el1ann +el1a2n2y +el1a2pa +el1apr +el1a1s1zá +elas2z +e2l1a2u +el1a2v +el1ác2s +e1lá +e2l1á2g +el1áj +el1áll +el1álm +el1á2m +el1á2p +el1ár. +el1á1ra +el1ár1b2 +el1árn +el1á2ro +1e2l1á2ru +el1árv +elá2s +el1ás. +el1á1sa +el1ásn +el1á1so +el1ást +el1ásv +el1á1ta +el1át1k2 +el1átr +el1á1zi +el1á1zo +el1ázv +eld2 +el1dr +el1ebl2 +e1le +ele2gal +ele1ga +e2leges +ele1ge +el1e2gyen +eleg2y +ele1gye +el1egz +e2l1e2lev +ele1le +e2l1ell +e2l1elm +el1ember +elem1be +e2lem2e. +ele1me +1e2leme1i +1e2lemek +ele2m1ell +1e2lemez +ele2m1ér1té +ele1mé +e2l1e2més +1e2lem2i. +ele1mi +1e2le1mû +1e2lem1zé +1e2lem1zõ +ele2res +ele1re +el1erj +el1erk +el1ern +e2l1e2rõ +ele2s1a +ele2sem +ele1se +el1esh +ele2sik. +ele1si +eles3s +e1le2te1le +ele1te +el1é2ges +e1lé +elé1ge +el1é2get +elé1ka2 +el1é2kel +elé1ke +el1él. +elé2lek +elé1le +e1l1é2lé +el1élh +el1élj +el1éln +el1élt +el1élv +el1érc +elé2rem +elé1re +elé2ren +e2l1é2rez +1e2l1é1ré +e2l1érh +el1é2ri +e2l1érj +e2l1érk +e2l1érn +el1érs2 +e2l1é1rü +el1f2 +el1i1ga +e1li +e2l1i1ge +2elik +el1ikr +e2l1ill +el1i1na +e2l1ing +elin1n +eli1o1 +eli2os +el1i1vá +1e2lix +el1izm +e2l1ín +e1lí +el1ír. +el1í1ra +e2l1í2rá +e2l1í2v +2elj. +el1k2 +ell1alk +el1la +1ellátá2sü +el1lá +ellá1tá +1ellens +el1le +ellu2s +el1lu +1elmél +el1mé +2el1né +e2l1o2l +e1lo +el1oml +el1orc +el1ord +elo2s +el1o1so +el1oss +el1ox +el1ó2ri +e1ló +el1ö2m +e1lö +el1ön +e2l1ö2r +el1ö2z +1e2lõad +e1lõ +elõ1a +2elõ1bé +1e2lõd. +2elõin +elõ1i +2elõit +2elõkh2 +2elõkk +2elõ1kö +2elõkr +2elõ1ne +1e2lõ1õ2 +2elõr +2elõt. +2elõter +elõ1te +e2lõtet +1e2lõvés +elõ1vé +el1p2h +el1p2l +el1p1ra +el1st2 +2eltek +el1te +2eltes +2eltet. +2el1te1te +2elte1té +2elte1ti +2eltetn +el2töv +el1tö +el1u2r +e1lu +el1u2s +el1u2t +el1ús +e1lú +e2l1üd +e1lü +el1üs +e2l1üt +el2val +el1va +el2v1at +el2v1ó2 +e2ly1a2 +el2y +e2ly1á2 +e2lye2l +e1lye +elyes1s +e2ly1o +e2lyö +ely2tál +ely1tá +e2m1ab +e1ma +em1a2da +em1a2dó +em1adt +ema2j +e2m1a1ja +em1ajk +ema1k +em1a2n2y +em1arc +e2m1ass +em1atl +e2m1av +e2m1áb +e1má +em1ár. +e2m1árn +e2m1átl +1emberr +em1be +1em1bó +eme2c +e1me +emec3h +1e2meled +eme1le +1e2melen +1e2mel1k2 +e2m1elm +e2m1e2l1o +em1e2res +eme1re +e2m1e2rõ +em1ers +e2m1é2j +e1mé +emé2le1te +emé1le +1e2méss2 +e2mid +e1mi +e2m1im +e2m1ip +e2mi1rá +e2mír +e1mí +2e1mo +em1old +e2m1orv +em1ó2ra +e1mó +em1ös +e1mö +em1ph +em1s +1e2m2u. +e1mu +em1ur +e2m1üg +e1mü +e2m1ü2r +e2m1ûz +e1mû +e2n1a2j +e1na +e2n1ak +e2n1a2n +en1ar +en1as +e2n1a2u +e2n1áb +e1ná +en1áll +e2n1ár. +e2n1á1ra +en1á2ro +en1ázt +en2c3h +enci2ah +en1ci +enci1a +enc3s1ze +enc2s +encs2z +en2d1ell +en1de +en2d1za +end2z +en1elm +e1ne +e2n1e1mé +ene1p2 +2ene1rá +1e2nerg +ene2t1o +e2n1e1ze +e2n1é2ra +e1né +engés3s2 +en1gé +eng1g +2e1ni +eni2g +e2n1i1gé +e2n1ip +en1i1ra +e2n1ism +e2n1ív +e1ní +enké2t +en1ké +en1k2r +en2nül +en1nü2 +en1old +e1no +en1ó2r +e1nó +en1ö2l +e1nö +e2n1ö2t +ensas3 +en1sa +en2sel +en1se +en1s1te2 +ent1a2n2y +en1ta +entes1s +en1te +en2tev +ent1ért +en1té +en1uc +e1nu +e2n1ud +enu2t +e2n1ú +2enw +e2ny1ag +en2y +e1nya +en3ya2n +eny1as +e2nya1u +enyeres1 +e1nye +enye1re +e2ny1ó2 +e2ny1us +e1nyu +en2zed +en1ze +e1o +e2oc +eo2da +e2o1di +e2o1g2rá +e2oh +e2o1ka +e2o1k2l +e2o1ko +eo1k2r +eo2l2y +e2o1mé +eo1na2 +eo2n1ar +e2o1ná +eont2 +eon1tr +eo1p2 +eo2pe +e2or3g2i2á +eor1gi +e2os. +eo2so +eosz2f2 +eos2z +e2ov +e2oz +e1ó +e2óf +e2óm +e1ö +eö2l +eö2m +eö2v +eö2z +e1õ2 +epa2d +e1pa +ep1a1do +ep1a1ka +ep1a2la +ep1as2z +e2p1ág +e1pá +e2p1e1lo +e1pe +e2perf +ep2ha +ep2ho +ep2lan +ep1la +ep2las2 +e2pos +e1po +ep2rav +ep1ra +ep2ri1o +ep1ri +ep2tol +ep1to +er1abl2 +e1ra +er1a2da +e2r1adm +er1ajk +er1akc +e2r1akk +e2r1a2la +e2r1alk +er1a1na +er1ann +er1a2pa +er1a1pá +era2r +e1r1a1ra +er1ass +erato1s +era1to +e2r1a2u +e2r1a2v +e2ra2z +er1a1zo +e2r1á2g2y +e1rá +e2ráld +e2r1áll +er1ár. +e2rá2rak +erá1ra +er1ár1b2 +e2r1árf +er1árk +er1árn +er1á2ro +er1árr +er1árt +e2r1á2ru +er1á1ta +er2cé2l +er1cé +er2c3h +1er1dõ +1e2redm +e1re +ere2gá +1e2re1jü +ere2kar +ere1ka +erekes3s +ere1ke +ere2ko +e2r1e1la +e2r1ell +e2r1e1lo +e2re1mu +ere2tel +ere1te +ere2vel +ere1ve +e2r1e2x1 +erés3s1ze +e1ré +eréss2 +erés2s2z +e2r1év. +eré2zé +er1gl +er1i1de +e1ri +e2r1i1ga +e2r1ind +e2r1inj +e2r1ism +e2r1i2s1za +eris2z +eri1szk +er1i1zo +e2r1izz +e2r1íj +e1rí +e2r1íz +er1kr +1er1nyõ +ern2y +ero1g2r +e1ro +ero1t2r +er1o2xi +e2r1ó2r +e1ró +e2r1ö2k +e1rö +e2r1ö2l +er1ön +er1ös +e2r1ö2t +er1ö2z +1e2rõ1mû +e1rõ +1e2rõsít2õ. +erõ1sí +erõsí1tõ +1e2rõsítõr +1e2rõszakol. +erõs2z +erõ1s1za +erõsza1ko +er1pl +erro1k2 +er1ro +er2s1a2d +er1sa +er2san +er2sar +er2s1ol +er1so +er2s1ö +er1st2r +er2sú +er2t1an2y +er1ta +erta2r +ert1a1ra +2er1te +ertés3s2 +er1té +e2r1ur +e1ru +e2r1ü2g +e1rü +er2vos +er1vo +e2s1ac +e1sa +es1a2n +esa2p +e2s1as +es1áb +e1sá +es1á2g +e2s1ál +es2co +e2s1ekkén +e1se +esek1ké +e2s1elm +e2s1emb +1e2se1mé +e2s1i1na +e1si +e2s1i2pa +es1i1ta +es1í2rá +e1sí +es1k2 +es2kat +es1ka +1es1kü +e1s2lat +es1la +es2már +es1má +es1ol +e1so +e2s1os +e2sõc +e1sõ +e2s2õ1e2 +es3s1zö +es2s2z +esta2l +es1ta +est1a1la +es2t1áll +es1tá +es2t1á2p +es2tim +es1ti +es2tí +es2top +es1to +es2tõ2r +es1tõ +es1t1rá +e1s2tu +es2tú +es1ú2s +e1sú +es1út +es1ü2ve +e1sü +e1sy +e2s3zac +es2z +e1s1za +e2sz1ad +esza2ké +e2szár1p2 +e1s1zá +e2s2zev +e1s1ze +e2s2zég +e1s1zé +esz1é2les +eszé1le +esz1iz +e1s1zi +e1sz2kó +es3z1se +esz2s2 +esz1ta2 +esz2t1al +esz2t1an +esz2tár +esz1tá +esz2t1ö +e2t1a2d +e1ta +eta1g2r +e2t1aj +et1akt +et1a2la +et1alk +e2t1ant +eta2nya +etan2y +eta2nyá +et1a2rá +etas2 +et1ass +e2t1ág. +e1tá +et1á2ga +e2t1ágn +et1áll +etá2ru +e2t1á2t1a +et1átl +ete1á2 +e1te +ete2l1eg +ete1le +ete2ná +e2t1e1ne +ete2s1zá +etes2z +eté2ká +e1té +eté2kel +eté1ke +eté2ko +e2t1ér1té +e2t1érz +etés3s2 +e1té2t1é +e2t1év. +e2t1é2vet +eté1ve +e2t1é2véb +eté1vé +e2t1é2vét +e2t1évh +e2t1i2d +e1ti +eti2g +e2t1i1ga +e2t1i1gé +e2t1ill +e2tim +et1inf +e2t1i1ri +e2t1i1ro +et1í1rá +e1tí +et1í2v +et1okm +e1to +et1okt +eto2na +e2t1ös +e1tö +et1õr. +e1tõ +et1õ2ri +et1õrn +et1õ2rö +et1õrs +e1t2raf +et1ra +et2sz1ék +ets2z +et1s1zé +et2te1lõ +et1te +e2t1ug +e1tu +e2t1u2n +et1u2r +e2t1u2t +et1új +e1tú +e2t1út +e2t1üd +e1tü +e2t1üld +e2t1üt +e1t3ya +et2y +e2ty1o +2etz +e1t2ze +e1u +eu2ga +eu2go +e2u1me +eu1mi2 +eu2miv +e2uras +eu1ra +e2u1rá +eu2r1á2z +e1ú2 +e1ü2 +e1û +evé1le2 +e1vé +evé2l1el +e2x1i1o +e1xi +e2x1í2 +1ex1pe +1ex1po +e1ye +ez1a2d +e1za +e2z1ak +1e2z1a2l +e2z1az +ez1ál +e1zá +e2z1eg2y +e1ze +e2zer. +eze2ra +eze2r2e. +eze1re +eze2re2g +eze2r1o +eze2ta +eze2t1el +eze1te +ezé2rem +e1zé +ezé1re +ez1i1dá +e1zi +ez1ill +ez1inf +ez1int +e2z1i2p +ez1ir +ezo1k2 +e1zo +e2z1org +ez1ó2t +e1zó +ez1ön +e1zö +ezõkés2z1 +e1zõ +ezõ1ké +1ezred +ez1re +1ezre2i. +ezre1i +1ezreir +1ezreit +1ezreiv +1ezrek +1ezrel +1ezres +1ezret +e2z3sé +ez2s +e2z3sor +e1z1so +e2z1ut +e1zu +e2z1út +e1zú +1e2züs +e1zü +2é. +é1a2 +é1á2 +éb2bá +é2b1ir +é1bi +é2c1a +é1c2h +é2c3so +éc2s +éc3s2z +é2d1ab +é1da +é2d1a2c +éd1ad +é2d1ak +éd1a2la +é2d1a2n +éd1a2p +é2d1as +é2d1á2g +é1dá +é2d1e2g +é1de +éde2le1me +éde1le +é2d1els +é2d1eml +é2derb +é2derek +éde1re +é2de1ré +é2dern +é2derr +é2dert +é2de1sí +édes3s +é2d1él +é1dé +é2d1ér1tõ +éd1érv +édi2a1s +é1di +édi1a +édias2z2 +é2d1i2g +é2d1in +é2d1ír +é1dí +éd1na2 +é2d1or +é1do +éd1ut +é1du +é1d3za +éd2z +é1d3zá +é1e2 +ées2z1 +é1é +2éf +é2g1ab +é1ga +éga2d +ég1a2g +é2g1aj +é2g1a2k +ég1a2l +ég1a2z +ég1á2g +é1gá +ég1ál +é2g1á1ra +é2g1elb +é1ge +ége2lem +ége1le +é2g1elg +é2g1ell +é2g1elm +é2g1e2lõ +égelõ1i2 +é2g1els +ége2n +é2g1en2y +ége2r1ü +1é2gesd +1é2ge1ti +1é2getn +é2g1é2g +é1gé +é2g1é2l +é2g1ép +é2g1é1ri +é2g1ér1te +é2g1ér1té +é2g1érv +é2g1id +é1gi +égi2g +égi1g1a +égi1gé2 +ég1ill +é2g1ing +ég1int +ég1ír +é1gí +ég1o2l +é1go +ég1ot +ég1ó2r +é1gó +é2g1ö +1é2gõ +ég1u2t +é1gu +é2g1ú2 +é2g1ü2g +é1gü +é2g1ür +é2gy1eg +ég2y +é1gye +é2gye1le +é2gy1em +é2gy1es2z +é2gye1ze +é2gy1ér +é1gyé +é2gy1év +é2gy1o +é2gy1ó2 +é2gy1ö2 +égyszáz1 +égys2 +égys2z +égy1s1zá +égyszín1 +égy1s1zí +é2gyu +é1gyü2 +é2gy1ül +é2he1ze +é1he +é2he1zi +é2hezt +éh1ín +é1hí +é1i +éi2ro +é1í2 +éj1a2d +é1ja +éj1e2g +é1je +é2ji +éj1it +é2k1ab +é1ka +é2k1a1cé +é2k1a2d +é2k1a2g2 +é2k1a2j +ék1a2la +ék1alj +ék1alk +ék1a1na +éka2nya +ékan2y +é2k1a2r +ék1á2f +é1ká +é2k1ál +é2k1ár1b2 +é2k1á2ru +é2k1á1ta +é2k1elm +é1ke +é2k1e1lo +é2k1e2mel +éke1me +ék1eng +éke2nya +éken2y +ékes3s +é2k1é2g +é1ké +éké2p +ék1é2pí +ék1é1pü +ék1ér. +é2k1é2rem +éké1re +ék1érl +é2k1ér1te +é2k1ér1té +é2k1érz +é2k1i2d +é1ki +ék1ing +ék1int +é2k1i2p +éki2r +ék1i1ra +é2k1ism +ék1ír +é1kí +é2k1í2z +ék1k2 +é2k1or +é1ko +é2k1os2z +é2k1ös +é1kö +é2k1õ2 +ék1t2 +é2k1ud +é1ku +é2k1u2t +ék1út +é1kú +é2k1ünn +é1kü +é2k1ür +é2k1ü2z +él1abl2 +é1la +él1akn +é2l1a2l +é2l1a2u +él1áj +é1lá +él1á2l +é2l1árk +é2lát1f2 +éld2 +él1dr +é2le1bé +é1le +él1e2g2y +éle2k1a +éle2ker +éle1ke +éle2kö +é2l1emb +é2le1me +é2l1emp +é2l1enn +éle2sa +éle2s2z +éle2ta +éle2t1á2 +éle2t1e2l +éle1te +élet1érd +éle1té +éle2t1é2v2e. +életé1ve +éle2t1ö2 +é2l1é2d +é1lé +é2l1é2l +él1é2ret +élé1re +él1é2vet +élé1ve +é2l1é2vi +él1f2 +é2l1i2d +é1li +é2l1i1ga +él1i2gaz1 +éli2gá +é2l1i2m +é2l1in +él1i2pa +él1i1rá +é2l1í2 +él1k2 +é2l1o2l +é1lo +él1op +é2l1o2r +él1ó2r +é1ló +é1lö2 +él1ök +él1öl +él1ön +él2õ1e2 +é1lõ +élõkés2z1 +élõ1ké +él1õz +él1p2 +éls2 +él1st2 +él2t1e2v +él1te +él1t2r +él1ug +é1lu +él1uj +él1u2t +él1út +é1lú +é2l1üt +é1lü +ély1á2l +él2y +é1lyá +ély1eg2y +é1lye +élye2n1 +é2lyil +é1lyi +é2ly1in +é2lyü2t +é1lyü +é2ma1le +é1ma +ém1ass +ém1a1to +é2m1á2l +é1má +ém1á2ru +ém1e1dé +é1me +ém1e2le +é2m1elh +ém1e1lõ +é2mesem +éme1se +é2m1es2z +éme2ta +éme2tel +éme1te +émé2l +é1mé +ém1ét1k2 +é2m1ip +é1mi +é2m1ir +ém1ol +é1mo +é2m1ó2 +é2m1ö2 +ém1p2 +ém1u2r +é1mu +én1ant +é1na +éna1p2 +én1ass +é2n1a2to +é2n1áll +é1ná +én1átv +én1eg2y +é1ne +é2nekel. +éne1ke +1é2nekes +1é2nekl +én1elj +én1e1lõ +én1elt +é2nem +én1emb +é2n1é2g +é1né +éné2m1 +én1f2 +én1int +é1ni +é2n1i2o +é2n1ip +én1i1ta +é2n1i2z +énkupac1 +én1ku +énk2u1pa +énmo2n1 +én1mo +2énn +én1ö1ve +é1nö +én2s1as +én1sa +én1s2p +én2su +én2sú +én1t2r +én1u2t +é1nu +2én2y +é2ny1a2 +é2ny1á2 +é2ny1ell +é1nye +ény1elv +é2ny1e2r +é2nyev +é2nyél +é1nyé +é2nyér1té +é2ny1érv +é2nyérz +é2nyis +é1nyi +é2ny1it +é2ny1í2r +é1nyí +é2ny1o2 +é2ny1ó2 +é2ny1ö2 +é2nyu +én2z1a2 +én2z1á2 +én2zéh +én1zé +én2z1i2 +én2z1o +én2zö +én2z1se +énz2s +énz3s2z2 +én2z1u2 +é1o2 +é1ó +é1ö +é1õ +ép1a2d +é1pa +ép1a2g +ép1a2l +ép1a2n +épa2r +épar2t +ép1ág +é1pá +ép1ál +ép1ám +ép1áp +é2p1á2r +ép1e2gé +é1pe +ép1eg2y +é2pe2lem +épe1le +é2p1ell +é2p1ep +ép1ern +épes3s +é2p1e1ti +é2p1é2l +é1pé +é2p1ép +épés1s2 +épi2a +é1pi +é2p1i2p +ép1i1ra +ép1i1ro +é2p1irt +é2p1is1k2 +é2p1iz +é2p1ír +é1pí +é1po2 +ép1ok +ép1ol +ép2pak +ép1pa +ép2p1an +ép2pek +ép1pe +ép1po2 +ép2po2d +ép2p1ol +ép1pr +é1p2ró +ép1t2 +ép1uj +é1pu +ép1u2n +ép1u2r +ép1u2t +é2p1ú +1é2pü1le +é1pü +ér1abr2 +é1ra +é2r1a2d +ér1a1já +ér1a1ká +éra1kl +ér1akn +é2r1a2l +éra2n +ér1an2y +éra2r +é1r1a1ra +ér1arc +é2r1as +é2r1a2t +é2r1a2u +ér1á2g +é1rá +ér1ál +é2r1ár. +é2rá2rak +érá1ra +é2r1á1ru +ér1áz +ér2ca +ér2cá +1ércb +érc3c +ér2ced +ér1ce +1ér2c3h +ér2c1o +ér2c1ö +ér2c2z +ér2d2z +ére2b +é1re +é2r1eb. +é2r1e1be +é2r1e2dé +ére2ga +ére2g1á +éreg1g +é2r1e2g2y +ér1el1k2 +é2r1ell +ér1e2lõ +é2r1els +ér1en2y +é2r1e2re +é2r1e2sõ +éres3s +ére2ta +ére2tel +ére1te +é2r1e2v +é2rezh +é2rezv +ér1é2kek +é1ré +éré1ke +ér1é2kel +é2r1é2l +é2réne1ke +éré1ne +éri2as +é1ri +éri1a +é2r1i2d +éri2g +ér1i1ga +ér1i1ge +ér1ill +é2r1is1k2 +é2r1ist +ér1i2s2z +é2r1itt +é2r1iz +é2r1ív +é1rí +ér1old +é1ro +ér1olv +ér1ont +é2r1or +é2r1ö2 +é2rõ1se +é1rõ +ér1p2 +érs2 +ér1sk2 +ér1st +1értelm +ér1te +1értõc +ér1tõ +1értõj +1értõr +1értõv +ér1t1ra +ér1u2r +é1ru +ér1u2t +ér1u2z +ér1úr +é1rú +ér1út +ér1üld +é1rü +é2r1ü2t +érva2d +ér1va +érv2én3n +ér1vé +1érvv +1érze1té +ér1ze +1érzéke1nye +ér1zé +érzé1ke +érzéken2y +1érzéke1nyí +1érzékenyül. +érzéke1nyü +1érzékenyü1lé +1érzékenyülh +1érzékenyül1te +1érzékenyülts +1érzékenyülv +é1sa2 +és1ad +és1al +é2s1an +és1ál +é1sá +é2s1á2t +é2s1eg +é1se +é2s1e1lá +és1e2le +és1ell +é2s1elm +é2s1e1lo +é2s1e2mel +ése1me +é2s1es2z +é2s1e1ti +é2s1ev +é2s1él +é1sé +é2s1ér1té +é2s1é2v2e. +ésé1ve +é2s1id +é1si +é2s1in +é2s1i2r +é2s1i2v +é2s1í2v +é1sí +és1k2 +és1ol +é1so +és1os +é2s1ó +é2s1öl +é1sö +é2s1ös +és1p2 +éss2 +és1st2 +és3s1za +és2s2z +és3s1zá +és3s1zi +és3s1zö +és3s1zú +és1t2r +é2s1ú +é2s1üg +é1sü +é2s1ü2t +é1sy +ész1a2d +és2z +é1s1za +ész1a2g +ész1a2l +ész1a2n +ész1a2r +és3zav +ész1á2l +é1s1zá +é2s2z1eg2y +é1s1ze +ész1ell +é2s2z1es2z +é2szex +é2szez +é2sz1é2l +é1s1zé +ész1é1te2 +é2szid +é1s1zi +é2szim +é2sz1ir +észi2s +ész1k2 +é2sz1o2k +é1s1zo +é2sz1ol +é2sz1ot +ész1ös +é1s1zö +ész2t1o +é2s3zu +é2s1zú +é2s2z1üg +é1s1zü +é2s2z1üz +é2t1a2d +é1ta +ét1ajt +ét1a2ka +ét1akk +ét1akn +ét1a2la +ét1ann +ét1apr +ét1arg +état2 +ét1a2to +éta1u2 +é2t1ág +é1tá +ét1áll +ét1ár1b2 +éte2rá +é1te +éte2reg +éte1re +éte2rel +é2t1e1sé +é2t1esh +é2t1e2si2 +éte2szem +étes2z +éte1s1ze +ét1e2ve +é2t1ezr +é2t1é2g +é1té +été2k +é2t1él +é2t1érd +é2t1ér1te +é2t1ér1té +ét1f2 +é2t1ic +é1ti +é2t1id +éti2g +ét1i1gé +é2t1i2r +ét1ist +é2t1i2v +é2t1ív +é1tí +é2t1o2l +é1to +é2t1o2p +éto2r1i +é2t1ó2r +é1tó +ét1ök +é1tö +ét1ö2l +ét1öm +ét1ön +ét1ös +ét1ö2t +ét1ö2z +é2t1õr +é1tõ +étrás1 +ét1rá +é1t2ró +ét1s2z +ét1ug +é1tu +ét1uj +ét1üt +é1tü +ét1û2z +é1tû +étve2g +ét1ve +é1u +é1ú +é1ü2 +é1û +é2vad +é1va +év1a1dá +év1a1dó +é2va1lá +é2v1a2z +é2ve1lõ +é1ve +1é2vent +év1es1té +1é2v1ez +1é2vé1rõ +é1vé +é2v1ér1té +é2vu +é2v1ú2 +1évz +éz1ab +é1za +éz1a2d +éz1ak +é2z1at +é2z1ág +é1zá +é2z1ál +éz1á2p +éz1d2r +éze2d +é1ze +éze2m +éz1e1me +éze2n +éze2t1el +éze1te +é2z1ev +é2z1é2d +é1zé +é2z1érc +éz1ill +é1zi +éz1ing +ézi2ók +ézi1ó +é2z1i2r +ézi2se2l +ézi1se +é2z1í2 +éz1k2 +éz1or +é1zo +éz1os +é2z1ö +éz3ser +éz2s +é1z1se +é1z3sé +éz3sis +é1z1si +é2z3so +é1z3sö +ézus1s +é1zu +é1zü2 +é2z1üg +é2z1üs +é2z1üt +ézve2g +éz1ve +1fa +f2a1á2 +f2a1e2 +fa2gyé +fag2y +fa2j1ö +fa2jü +fala2n +fa1la +fa2l1an2y +fa2l1ár. +fa1lá +fa2l1e2g +fa1le +fa2l1e2l +fa2lí +f2a1o2 +f2a1ó2 +f2a1ru2 +fa2r1us +fas2 +fa1sk2 +fa1st2 +fa1t2r +fa2us +fa1u +fa1zé2 +1fá +fás3s2 +fá2sü +fá2t1é +fázás1 +fá1zá +1fe +fe2gy1i +feg2y +fe2j1a +fe2já +fe2jo +fe2l1a2 +fe2l1á2 +fe2l1e2g +fe1le +fe2l1e2mel +fele1me +fel1e1mé +fe2l1eml +fel1eng +fe2l1e1re +fe2l1es1k2 +fe2l1es2z +fe2l1e2tet +fele1te +fel1e1ve +fe2l1é2g +fe1lé +fel1é1ke +fel1éks +fe2l1él +fe2l1ép +fe2l1ér. +fe2l1ért +fe2l1érz +fe2l1id +fe1li +fe2lij +fe2l1i2s +feli2t +fe2l1i1ta +fe2l1iz +fe2l1í2 +fe2l1o2 +fe2l1ö2 +fel1p2 +felsõrés2z1 +fel1sõ +felsõ1ré +fel1t2 +fe2lu +fe2lú +fen2ná +fen2tí +1fé +fé2ká +fé1ko2 +fé2kú +fé2l1a +fé2l1á +fé2leg +fé1le +féle2m +fé2l1e1me +fé2l1e2s2z +fé2l1ez +fé2lir +fé1li +fé2l1is +fé2l1o +fé2ló +fé2lö2 +fé2lu +fé2lú +fé1ma2 +fé2mat +fé2med +fé1me +fé2mel +fé2mét +fé1mé +fé2ny1e2l +f2én2y +fé1nye +fé2ny1i +fé2nyí +2fé1rá +1f2fy +1fi +fi2ah +fi1a +fia2la +fi2a1p2 +fi2as2z +fi2av +fi1e2 +fi2l1el +fi1le +fi1na2 +fi2n1ag +fi2nid +fi1ni +fint2 +fi2n1u2 +fió2ki +fi1ó +fi1sc +fist2 +f2i2t1é2 +fi2tor +fi1to +1fí +f1k2 +f1ki2 +fkis1 +f2ló +f2lú +f1me2 +1fo +fog1g +fo2g1or +fo1go +fo2g1os +fo2n1a1u +fo1na +fo2nát +fo1ná +fond2 +fon1dr +fo2ne2l +fo1ne +fo2n1in +fo1ni +f2o2nü +fo2r1il +fo1ri +foto1s +fo1to +1fó +1fö +fö1le2 +fö2leg +fö2l1el +fö2len +fö2l1es1k2 +fö2l1et +fö2lé2k +fö1lé +fö2lí +1fõ +f2õ1e2 +fõ1é2 +fõ1i2 +fõ2r1ü2 +fõ1tr +fõ1u2 +fõ1ú2 +fra1s +f1ra +f2ric +f1ri +1f2rö +fs2 +f1st +ft1aj +f1ta +ft1ak +1fu +fus3s2z +fu2sz1ol +fus2z +fu1s1zo +1fú +1fü +fü2lo +fül1t2 +fü2mi +f1ü2té +f1ü2tõ +1fû +1fy +1ga +g2a2a +g1a2bál +ga1bá +2g1abl2 +2gabr2 +2g1a2cé +ga2de +g2a1e2 +ga2gi +ga2kad +ga1ka +2g1a2lap +ga1la +2g1a2lám +ga1lá +g1alb +g2a1li +2g1alk +3g2all +2g1als +ga2lul +ga1lu +gan2c1se +ganc2s +gan1d2 +2gank +2g1a2nya +gan2y +ga2nyá +ga2nyó +g2a1ó2 +ga2p2a. +ga1pa +2g1apj +ga2pol +ga1po +2g1a2pó +2g1app +g2a2se +ga2sé +ga2s1i +ga2su +ga2szág +gas2z +ga1s1zá +g2at +g2ata2r +ga1ta +gat1a1rá +ga2t1e1u +g2a1te +ga2tim +ga1ti +ga2ut +ga1u +ga2vat +ga1va +2gaz1g2 +2gazít. +ga1zí +2gazí1ta +2gazí1tá +2gazítók +gazí1tó +2gazítón +2gaz2s +1gá +2g1á2bé +2gábr2 +3g2á1ci +gá2dá +2g1á2f +gá2g2y +g1á2hí +3g2á1li +g1állh +g1ál1lí +g1álls2 +g1ál1lu +2g1állv +2g1á2mí +gá1na2 +gá2na2d +gá2nal +gá2nap +gá2na1u +gá2n1e2 +gá2nén +gá1né +gá2n1ér +gá2nin +gá1ni +gá2n1ó +gá2nú2 +gá2nye2 +gán2y +gá2ny1út. +gá1nyú +2g1á2p +2g1á2rad +gá1ra +g1á2rak +gá2ral +g1á2ram +gá2r1as +gá2r1ál +gá1rá +gá2rár +gá2r1e +gá2riz +gá1ri +gá2rö2 +gá2ru +gá2r1ú2t +gá1rú +gá2sa2n +gá1sa +gá2s1e2 +gá1sé2 +gá1si2 +gá2sir +gá2s1ze +gás2z +gá2s1zé2 +gá2s3zö +gá2ta2l +gá1ta +gá2té +2gát1k2 +3g2át1ló +3g2á1to +gá2t1os +2gátr +3g2á1tu +2g1á2tü2 +2g1átv +gá2z1ad +gá1za +gá2z1al +gá2z1a2t +gá2z1e2 +gá1zi2 +gá2z1ip +gá2z1ó2r +gá1zó +gáz2s2 +gá2z3sé +gá2z1su +2g1á2zu +g1b2 +g1d2r +1ge +ge1a2 +geá2r +ge1á +2ge1bé +ge2cet +ge1ce +2g1e2dén +ge1dé +2g1e2d2z +2g1eff +ge2gé +gegés2z1 +ge2gye +geg2y +ge2he +g2ek. +3g2el. +2g1e2l1a2 +ge2leg +ge1le +ge2lej +gel1eng +ge2lev +ge2lég +ge1lé +3g2elés +2g1el1há +3g2el1he +3g2el2i. +ge1li +3g2elik +ge2l1ism +ge2l1í2 +3g2elj. +2g1el1já +3g2el1ne +3g2el1né +3g2el1ni +g1eln2y +2g1e2l1o +ge2lö +3g2el2õ. +ge1lõ +ge2lõbb +3g2elõ1bé +3g2elõh +3g2elõj +3g2elõk. +3g2elõket +gelõ1ke +3g2elõkh2 +3g2elõkk +3g2elõ1kö +3g2elõkr +ge2lõl +3g2elõm +3g2elõn. +3g2elõ1ne +ge2lõ1re +g2elõr +3gelõ1rõ +ge2lõs +3g2elõt. +2g1elõ1te +3g2elõv +ge2lõz +2g1elp +g1el1sõ +3g2elt. +3g2eltek +gel1te +3g2eltes +3g2eltet. +3g2el1te1te +3g2elte1té +3g2elte1ti +3g2eltetn +2g1eltér +gel1té +2g1el1to +ge2lu +ge2lül +ge1lü +2g1el1vá +2g1elvez +gel1ve +2g1el1vo +2g1elz +3g2em. +2g1ember +gem1be +2g1e2mel +ge1me +ge2més +ge1mé +2g1eml +ge2na +genci2as +gen1ci +genci1a +g2end +3g2ene1rá +ge1ne +2g1en1ge +ge2n1is +g2e1ni +2g1ennék +gen1né +2g1enn2i. +gen1ni +2g1enni1e +2g1enyh +gen2y +2g1enyv +ge2of +ge1o +ge2o1g2 +ge2o1ló +ge2om +ge2o1s +ge2ral +ge1ra +ge2r1a2n +ge2r1ág +ge1rá +ge2r1á2r +g1e2rej +ge1re +ge2r1ek1ké +ge2riz +ge1ri +ge2r1os +ge1ro +ge2rö +2g1e2rõ +ge2rû +3g2es. +ge1sc +ge2sem +ge1se +ge2sett +2g1e2sés +ge1sé +2g1e2sik +ge1si +2g1es1kü +ges1k2 +2g1e2sõ +ge2sú +2ge1s1ze +ges2z +ge2s1zé +ge2szik +ge1s1zi +2g1eszl +2g1eszm +2g1eszn +2g1e2s1zü +ge2s1zû +g2et. +ge2ter +ge1te +2g1e2te1te +2g1e2tetn +2g1e2tett2e. +getet1te +ge2t1or +ge1to +ge2ur +ge1u +2g1e2ve +2g1e2vé +2g1e2võ +1gé +gé2ber +gé1be +2g1ébr2 +gé2da +gé2d1e2l +gé1de +gé2d1es2z +gé2dé +gé2dí +gé2d1o +gé2gü +gé2hes +gé1he +gé2led +gé1le +gé2let +gé2lén +gé1lé +gé2l2i. +gé1li +2g1éls2 +gé2lya +gél2y +gé2lyá +gé2lyeg +gé1lye +gé1na2 +gé2nat +gé1ná2 +gé2n1ár +gé2nát +gé2n1el +gé1ne +gé2nit +gé1ni +gé2nyemb +g2én2y +gé1nye +gé2nye1me +gé2nyir +gé1nyi +gé2p1a +gé2pá +3g2é1pe +gé2peg +gé2pir +gé1pi +gé2pí +gé2po2 +gé2pül +gé1pü +gé2r1á +2gérd +g1é2red +gé1re +gé2reg +2gérh +g1é2rin +gé1ri +2gérj +2gérk +2gérl +g1ér1le +2gérs2 +2gér1te +2gér1té +g1érth +g1ér1ti +g1értj +g1érts +g1ért1t2 +g1értv +gé2ru +gé2rú +2gérv +2g1érz +gé2sá +gé2sel +gé1se +gé2so +gé2s1za +gés2z +2gész2s2 +2g1é2te +2g1év. +g1f2 +gfe2li +g1fe +g1g2ra +g2g2y +g3gyár +g1gyá +g3gyér +g1gyé +g3gyi +g3gyó +g3gyö +g3gyõ +g3gyu +ggy1ült +g1gyü +g3gyû +1g2hék +g1hé +1ghy +1gi +gi2a1bo +gi1a +gi2ac +gi2ad +gi2af +gi2ag +gi2ah +gi2a1ko +gi2am +gi2a1p2 +gi2ar +gi2a1s1ze +gias2z +gi2a1s1zi +gi2a1s1zo +gi2a1ta +gi2av +3g2i1á +3g2i1dá +2g1i2de +2g1i2dé +gi2dõ +gie2r +gi1e +gi1fl +2g1igaz +gi1ga +gig1ár +gi1gá +gi2g1e2s +gi1ge +gig1él +gi1gé +gi2gén +gig3g +1g2i2gi +gi2g1o +gi2gö +gi2g1u +2g1i2g2y +2g1ihl +gi1i2 +2g1ikr +2g1i2má +2g1i2mi +2g1imp +2g1ind +2g1inf +2g1inn +2gi1no +2gint. +2g1in1te +2g1in1té +2g1in1ti +2g1in1tõ +2g1inv +3g2i1o +gi2or +2g1i2rá +2gi1ro +gi2rod +giro1s +2g1irt +g1isc +2g1is1k2 +2g1ism +2g1iss +2g1is1te +3g2i1ti +2g1ittam +git1ta +2g1ittasodh +gitta1so +2g1ittaso1di +2g1ittasodn +2g1itta1su +gius3s +gi1u +gi2vó +2giz1g2 +2g1i2zo +2g1izz +1gí +2g1íg +2g1íj +2g1í2n +gí2ra +gí2rá +gí2ro +gí2ró +2g1í2z +g1k2 +gki2s1a +g1ki +g2li1o +g1li +gló1a2 +g1ló +gme2g1á +g1me +1g2nac +g1na +1g2náb +g1ná +g2n1e2l +g1ne +gnes3s +gn1ing +g1ni +1g2no1re +g1no +1go +g2o2e +go1g2r +go1i2 +go1ka2 +gok1ad +2g1o2ká +2g1o2laj +go1la +g1olc +2g1ol1da +go2lin +go1li +go2lór +go1ló +2g1olvas +gol1va +2g1o2lyo +gol2y +go2m1as +go1ma +2g1oml +g2on +3go1ná +gonc3s +go2nye +gon2y +go2pe +g2o1ro +gosz2kó +gos2z +go1t2h +1gó +3g2ó. +gó2ce +gó2c2h +2gó1rá +gó2rák +gó2rát +gós3s +g2ó2tí +g1óv. +g1ó2vo +g1ó2vó +1gö +2göb +2g1ö2le +g1ö2li +g1öls +3g2ömb +g1öml +3g2öng +g1önt +3g2örb +gör2c1so +g2örc +görc2s +3g2ör1dí +3g2ör1dü +g1ö2re +3g2örg +3g2örn +g1ö2rü +gö2s1é2 +2g1ös2s2z +2g1ö2v +1gõ +1gõ2g1õ +2g1õ2ri +2g1õrj +2g1õrl +2g1õ2rö +2g1õ2rü +2g1õrz +gõ2s1ü2 +g1õ1s1zí +gõs2z +g1õ1s1zü +gõ1ü2 +gõ2z1e2k +gõ1ze +gõ2zel +gõ2z1su +gõz2s +g1p2 +1g2ra1fá +g1ra +1g2rafik +gr2a1fi +g2ra1p +1g2ráf. +g1rá +grá2fe +1g2ráfi1a +grá1fi +1g2ráfiá1i +gráfi1á +1g2ráfián +1g2ráfiát +1g2rá1fu +grá2l1e2 +grá2rip +grá1ri +grás1s2 +g2ríz +g1rí +g2róf +g1ró +gs2 +g1sk2 +g1sp2 +g1st2 +gszáz1 +gs2z +g1s1zá +gszt2 +g1t2 +gtá2v1i2 +g1tá +gtíz1 +g1tí +1gu +3g2ub +2gu2g +3g2ugg +gu2il +gu1i +gu2in +2g1uj +gu2na +gu2no +3g2u1rí +3g2u1ru +gu2sab +gu1sa +gu2s1í2 +gu2sol +gu1so +gus3s +gu2tak +gu1ta +gu2tam +gu2tat +gu2to +2g1u2tó +1gú +g1úg +2g1ú2j +gú2nyi2 +gún2y +gú2te +gú2té +g1úth +g1ú2ti +g1útj +g1útn +g1ú2to +g1útr +g1útt +1gü +2g1üd +2güg +2g1üld +gü2lik +gü1li +2g1ünn +2gür +gü2re +gü2rü +2g1üs +2g1ü2t +2g1ü2v +2güz +gü2ze +1gû +2g1ûr. +2g1û2z +gví2z1 +g1ví +g1w +g2y +1gya +gy1a1cé +gy1a2dá +gy1adm +2gy1a2j +gya2lap +gya1la +gyan1ab +gya1na +gy1ann +gy1a2nya +gyan2y +2gy1a1pa +2gy1a2pi +2gy1a2pó +2gy1a2pu +gy2a2r1ó2 +2gy1a2t2y +2gya1zo +1gyá +2gy1ábr2 +2gy1á2g +gy1áll +gy1álm +gy1á2lo +gyá2ma2 +gyá2ri1a +gyá1ri +2gyá1ru +2gy1á2t1a +gy1átl +1gye +3gyec +2gyedün +gye1dü +2gy1e2l1a2 +2gy1e2lemz +gye1le +2gy1e2lõg +gye1lõ +2gy1el1tá +gy1e2mel +gye1me +gy1eml +2gyerd +gye2rõs +gye1rõ +gye2seg +gye1se +2gy1ev +2gy1ezres +gyez1re +1gyé +gy1é1le +2gyép +gy1érd +gy1ér1te +gy1ér1té +gy1érz +1gyi +2gy1i2dõ +gy1i1ga +2gy1i2gé +2gy1ind +2gy1ing +gy1i2ra +gy1i1rá +2gy1i1ro +2gyist +gy1i1ta +2gy1i2vó +1gyí +2gy1í2r +2gy1í2v +gy1k2 +1gyo +2gy1old +2gy1olvad +gyol1va +2gy1olvas +2gy1o2pe +1gyó +gy1ó1rá +gy1ó1ri +1gyö +2gy1önt +1gyõ +2gyõr +3gyõz +gy1pr +gys2 +gy1st2 +1gyu +2gy1ud +gy1ug +2gyuj +2gy1u2ra +2gy1u2rá +1gyú +2gyút +1gyü +2gyü2t +2gy1üz +1gyû +3gyûr +gz2a2te +g1za +1ha +ha2b1ol +ha1bo +ha2d1ál +ha1dá +ha2d1os +ha1do +ha2du2r +ha1du +h2a2d1ú +ha2is +ha1i +h2a2je +2h1akl +ha2kol +ha1ko +ha1k2r +ha2l1áp +ha1lá +ha2leb +ha1le +ha2l1e2l +ha2len +ha2l1es +hal1e1võ +ha2lét +ha1lé +ha2l1iv +ha1li +ha2lí +ha2lol +ha1lo +ha2l1õ +ham1b +ha2m1os2z +ha1mo +han2c2h +han2c3s +han2g1e2 +han2gut +han1gu +2ha1ni +ha2nyá +han2y +h2a1ó2 +ha1p2r +ha2rál +ha1rá +harán2 +harc1c +har2ce +har2c3h +har2c1so +harc2s +harc3s2z +ha2r1ist +ha1ri +hart2 +ha1si2 +ha2sim +ha2sol +ha1so +h2a2s1û2 +ha2t1em +h2a1te +ha2tev +ha2t1é2v +h2a1té +ha2t1old +ha1to +ha2t1ök +h2a1tö +1há +2h1ács. +hác2s +2h1á2c1si +2há1ji +2hájn +2há1jo +2hájt +há2lyú +hál2y +há2m1i +há2nyin +hán2y +há1nyi +há2ral +há1ra +háro2ma +há1ro +há2sá +há2t1e2 +há2t1ol +há1to +há2t1or +hátu2s +há1tu +hát1us2z +há2zab +há1za +há2z1a2dó +há2z1e2 +ház3s2z2 +ház2s +1hä +1he +he2ad +he1a +3heg +he2gy1a +heg2y +he2gyo2 +he2gyó +2he2id +he1i +he2i1o +2he1la +2he1nó +he2od +he1o +he2ol +he2rát +he1rá +2he1u +he2za +he2zá +2hezn +1hé +hé2m1 +hé2nan +hé1na +hé2n1is +hé1ni +hé1p2 +hé2rab +hé1ra +hé2ra2r +hé2r1eg +hé1re +hé2r1ep +hé2tal +hé1ta +hé2tá +hé1te2 +hé2t1es +hé2t1ez +hé2t1é2 +hé2tó +hé2z1á +hé2z1e2 +hé2z1o2 +hé2z2s +1hi +2hi1a +hi2af +hi2am +hi2as +2hi1la +2hi1o +hi2re +hi1sc +hi2se +hi2t1á +hi2t1elv +hi1te +hi2t1o +hi2tú +1hí +3híd +hí2de2 +hí2dí +hí2ga +hí2mi +hí2r1a2 +hí2r1o +hí2rö +h1k2 +h2m1é +h2mi +hno1g +h1no +1ho +2hob +ho2gy1i +h2og2y +ho1la2 +ho2la1d +ho2l1át +ho1lá +hol2d1al +hol1da +h2o2le +ho2l1iv +ho1li +ho2n1al +ho1na +ho2nav +ho2n1ál +ho1ná +ho2nis +ho1ni +h2o2nü +h2o2o +2ho1ry +2hosb2 +2ho1si +2hos2z +ho1szk +2how +1hó +hó1a2 +hó2c3sa +hóc2s +hó2d2z +hó1kr +2hón1r +1hö +hö1kö1 +1hõ +h2õ1e2 +hõ2s1er +hõ1se +hõs3s +h1p2 +h2ri +h2rü +hs2 +h1sc +hsz2l +hs2z +h1t2r +1hu +hu2i +hu2me +2hu1si +huszon1 +hus2z +hu1s1zo +3hú +hú2re +hú2r1é +hú2se +hús3s1zé +hús2s2z +h2ú2s1z1e +hús2z +hú2s1zé +hú2s1z1ó2 +hú2s1zö +1hü +1hû +hyá1 +2i. +i1a +ia2ce2l +ia1ce +ia2cér +ia1cé +ia2c3h +ia2dós +ia1dó +i2a1e2 +i2a1fa +ia2gi +i2a1há +2ia1i +ia2kad +ia1ka +ia2kar +ia2kas +ia2kol +ia1ko +i2a1k2ré +i2a1k1ri +i2a1kv +i2a1le +i2a1lé +ia2lu +i2a1me +ia2mur +ia1mu +ia2nya +ian2y +i2a1ó2 +ia1p2 +i2a1sé +i2a1s2p +i2a1s1zá +ias2z +ia2szor +ia1s1zo +ia2s1zö +ia2t2y +ia1u2 +i1á +2iáb +iá2g +2iák +iá2kab +iá1ka +iá2kév +iá1ké +iá1la2 +iá2l1al +iá2l1e2 +iá2l1in +iá1li +iá1na2 +iá2n1an +iá2nyi +ián2y +iá2p +iá2ro +iá2ru +iá2só +iás3s2 +iá2sü +iba1i2 +i1ba +ibi2o +i1bi +2ibn +ibu2c3 +i1bu +1ic1cé +i1chy +ic2h +idá2s1zo +i1dá +idás2z +1id1do +1i2dej +i1de +ide1k2v +2idel +i2d1é2l +i1dé +i2d2én2y +2idés +1i2déz +id2ge +idg2 +idi2a1s +i1di +idi1a +i2d1id +i2d1i2ta +i2do1má +i1do +i2do1mo +2i1dó +1i2d2õ. +i1dõ +i2dõv +2id1p2 +id1ro1 +idros2z2 +i1d3ze +id2z +i1e +i2ec +ie2dé +2ieg +ie2gé +ie2g2y +ie2le +ie2léb +ie1lé +ie2lõb +ie1lõ +ie2p +ie2rej +ie1re +ie2rez +ie2r2õ. +ie1rõ +ie2rõszakoln +ierõs2z +ierõ1s1za +ierõsza1ko +ie2rõv +ier1s +ie2set +ie1se +ie2sé +ie2si +ie2sõ +ie2s2z +i2etz1 +ie2ur +ie1u +ie2v +i1é +ié2de1re +ié1de +ié2g +ié2ke +ié2kí +ié2l +ié2pí +ié2pü +ifi1b +i1fi +if2lo +2i1fö +if2re +if2ri +if2ta +ig1a2lu +i1ga +iga1p2 +1i2gaz1g2 +ig1áll +i1gá +ig1álm +igá2nya +igán2y +ig1á2t1e2 +ig1e2le +i1ge +ig1ell +i2ges +ig1e2se +ig1e1si +ige2t1o +i2g1ev +i2g1ég +i1gé +ig1élv +1i2g2én2y +ig1ér. +ig1é2rõ +ig1ért +ig2gas +ig1ga +2i1gi +ig1im +ig1ir +ig1os +i1go +ig2raf +ig1ra +ig1ro1 +ig1s2 +i2g1u2g +i1gu +i2g1ü2 +iha2d +i1ha +ih2a2re +1ihl +i1i +2i2i. +ii2d +ii2g +i2i1i +ii2m +ii2p +ii2s +i1í2 +1i2jed +i1je +1i2jes +ika1pr +i1ka +iké2l +i1ké +ik1é1le +iki2s1 +i1ki +ik2kár +ik1ká +ik2kí +ik2lor +ik1lo +ikro1s +ik1ro +i1k2ru +il1ald +i1la +i2l1alk +il1a2n2y +il1ell +i1le +1il1lú +il2maj +il1ma +il2m1a2k +il2m1am +il2man +il2má +il2mel +il1me +il2m1es2z +il2mi +ilo1g2 +i1lo +ilu1mi2 +i1lu +ilumin1 +i2lü +1i2mád +i1má +ime2g1á +i1me +imi2tár +i1mi +imi1tá +2im1ka +im1k2 +2iml +2imog +i1mo +2ims +im1s2z +2imz +i2n1aj +i1na +in1akt +in2c1ez +in1ce +in2c1él +in1cé +in2c1ö +in2d1ab +in1da +in2d1ah +in2d1am +in2d1at +inde2m +in1de +in2d1e1me +ind1err +in2d1e2s +in2d1ett +in2d1e2z +in2dét +in1dé +in2din +in1di +1in1dí +in2d1ö2 +ine1ke2 +i1ne +ine2kel +i2n1el +2inen +2iner +ine2ta +1infl +1infr +1ingad +in1ga +1ingec +in1ge +in1g2rá +in1i1do +i1ni +in2kaj +in1ka +in2kál +in1ká +in1old +i1no +ino2má +in1ó2ra +i1nó +in1ö2l +i1nö +in1ös +in1sh +in1s2k2 +1insp +int1ét1k2 +in1té +in2t1in +in1ti +in1t1ré +in2t1ú2 +i1nú2 +in1út +i1o +i2o1e2 +i2of +i2o1g2rá +io2ik +io1i +i2o1ka +io2ká +io1kh2 +io2laj +io1la +i2o1ló +iono1s2z2 +io1no +ion1s2 +io1n2y +iop2 +io2pe +i2o1ps +io2so +io1sz2f2 +ios2z +io1t2 +i2ov +io2xidd +io1xi +i1ó +i2ó1di +ió1f2 +i2ó1g2 +i2ó1ha +ió2kár +ió1ká +ió2kir +ió1ki +iókos1 +ió1ko +i2ó1lá +i2ó1lo +ió2rák +ió1rá +i2ó1ri +i2ó1sá +i2ó1s1pe +iós1p2 +i1ö2 +i1õ +iõ2r +1i2par. +i1pa +ipa2rág +ipa1rá +ip2a2r1e +i2pa1ri +ipa2ris +i2p2a1ro +ipe2rak +i1pe +ipe1ra +i1p2h +ip2lak +ip1la +i1ple1xe +ip1le +i1p2lé +2i1po +ip1pa2 +ip2p1ad +ippo1l +ip1po +ip2ri +ip2rop +ip1ro +ip2s1z1a +ips2z +ip2s1zá +ip2s1zö +i1qu2 +1i2ra1ti +i1ra +1i2ratoz. +ira1to +1i2rato1zi +irá2g1ál +i1rá +irá1gá +irá2nyá2ra +irán2y +irá1nyá +irá2nye2 +2ires +i1re +i2rew +irgonc1 +ir1go +irg2on +2irob +i1ro +iros3s +ir2s1a +ir2s1á2 +1ir1tó +ir2tü +is1abl2 +i1sa +i2s1a2d +i2s1a2g +is1a2la +is1alk +isa2n +is1ang +is1ant +is1an2y +isa2p +i2s1a1pa +i2s1a1pá +i2s1ar. +i2s1a2ra +i2sas2z +is1a1tá +is1atl +i2s1a2u +i2s1áll +i1sá +i2s1á1ru +i2s1á2t1a2 +i2s1á2z +i2s1e1ge +i1se +i2s1e2g2y +i2s1elm +i2s1e1lo +i2s1eml +ise2n +i2s1enc +is1e1ne +i2serd +is1e1sé +is1est +i2s1ev +i2s1ép +i1sé +i2s1é1ri +i2s1i2n +i1si +isi2p +i2s1i1pa +i2s1i2r +i2s1is1k2 +is1ist +i2s1í2v +i1sí +is1k2 +1iskolát +is1ko +isko1lá +i1s2lis +is1li +1ismer. +is1me +1isme1re +1isme1ré +1ismerh +1isme1ri +1ismerj +1ismern +1isme1rõ +1ismert +1ismer1ve +1ismervény. +ismer1vé +ismerv2én2y +1ismervé1nye +1ismervényt +i1s2min +is1mi +2i1so +i2s1ob +i2s1ol +is1ord +i2s1öc +i1sö +i2s1ör +i2s1ös +i2s1õ +isp2 +1ispán. +is1pá +i1s2pe +i1s2por +is1po +is1pr +is1sr +is1st2 +issz2o2ba +is2s2z +is1s1zo +is3szob +is3s1zó +is3s1zö +is3s1zú +1isten. +is1te +1iste1ne +1istenhit +isten1hi +1isten1né +isten3n +1istenn2õ. +isten1nõ +1istennõk +1istv +i2s1úr. +i1sú +is1üg +i1sü +i2s1üs +1i2szák +is2z +i1s1zá +i1sz2f2 +isz1il +i1s1zi +isz2kóp +isz1kó +isz1ön +i1s1zö +is3z1sa +isz2s2 +isz2tár. +isz1tá +i2t1a1dó +i1ta +ita1i2 +itakés2z1 +it2akés +ita1ké +1ital. +1italt +it1ant +ita2tat +ita1ta +it1á2ras +i1tá +itá1ra +ite2la2 +i1te +2iter +2i1té +i2t1é2l +it2há +i2t1i2g +i1ti +itigaz1 +iti1ga +it1i1pa +itköz1 +it1k2 +it1kö +ito1g2r +i1to +ito2ká +1ittam +it1ta +1ittasodh +itta1so +1ittaso1di +1ittasodn +1itta1su +it2teg +it1te +it2tot +it1to +it1ug +i1tu +it1u1ta +i1u +iu2g +iu2mad +iu1ma +iu2m1a2t +iu2mál +iu1má +iu2me +iu2mi1o +iu1mi +iu2mí +iu2n +iu2r +iu2ta +iu2tán. +iu1tá +iu2tó +iu2z +i1ú +i2úg +i2ú1te +i1ü2 +i1û2 +iva2tin +i1va +iva1ti +1i2vás. +i1vá +1i2vot +i1vo +i2x1e2g +i1xe +ix1in +i1xi +ix1p2 +i2z1áll +i1zá +ize1ne2 +i1ze +ize2n1é +izen1n +ize2s1á2 +1i2zél +i1zé +1iz1mú +1i2zom. +i1zo +2iz2s +i2z1út +i1zú +1i2zül +i1zü +1iz1zí +1iz1zó +2í. +í1a +í1á +í2d1a2 +í1de2 +íd1el +í2d1é2 +íd1ív +í1dí +í2d1os +í1do +í1e +í1é +íg1a2g +í1ga +í2g1e2 +í2gé +í2g1o2 +í2g1ö +í1gyá2 +íg2y +ígyás2z1 +í1i +í1í +í2j1ác +í1já +íjá2t +í2j1á1ta +í1ji2 +íj1ig +íj1in +í2j1os +í1jo +í2j1ö2 +í2jü +ík1a2l +í1ka +ík1es +í1ke +í2k1i2 +ík1ké2 +í2k1ü2 +ílás1s2 +í1lá +íl1e2g +í1le +í2l1i2r +í1li +íl1ta2 +íl2tag +íl2t1e2 +ím1a2d +í1ma +ím1fe2 +ím1i2r +í1mi +ím1i2v +í2m1í2 +í2m1o2 +ímok1 +í2n1a2r +í1na +í2n1a2u +í2n1az +ín1árn +í1ná +í2n1e2le +í1ne +í2n1elm +í2n1észl +í1né +ínés2z +íni1k2 +í1ni +í2n1il +ín3n +ín1ol +í1no +í2n1or +í2n1ö +ín1s2 +ín1u2t +í1nu +ín1üt +í1nü +í1o +í1ó +í1ö +í1õ +í2r1a2d +í1ra +í2r1alk +í2r1ar +í2r1á2g +í1rá +ír1áll +ír1ár. +í2r1á2ru +írás3s2 +1í2rász. +írás2z +1í2rászat. +írá1s1za +1írdáb2 +ír1dá +í2r1eg +í1re +í2r1er +í2r1é2l +í1ré +ír1fe2 +ír1g2 +írin2 +í1ri +íri2o +í2r1i2p +í2r1ir +í2r1í +ír1k2 +ír1old +í1ro +ír1oll +ír1or +ír1ös +í1rö +írs2 +ír1sp2 +ír1t2r +írus3s +í1ru +í2r1ú +í2r1üg +í1rü +í2s1z1a +ís2z +í2s1z1á +í2szeb +í1s1ze +í2sz1e2g +í2szeln +í2sze1lõ +í2szelv +í2sz1e2m +í2s1z1o2 +í2s1z1ö +í2s1z1õ +ísz3s2 +ísz1tr +í1s1zü2 +í2sz1ül +í2sz1ün +í1u +í1ú +í1ü +í1û +íva2l +í1va +ív1a1la +í2varc +í2v1árf +í1vá +ív1eg +í1ve +íve2lem +íve1le +ív1el1té +íve2n +í2v1e2re +í2v1in +í1vi +ívi2z +ív1i1zo +ív1ol +í1vo +í2v1ö +í2v1üg +í1vü +íz1a2g +í1za +íz1a2k +íz1a2l +íz1ág +í1zá +íz1ál +íz1á2r +íz1á2t1 +í2z1ef +í1ze +í2z1eg +í2ze2i. +íze1i +íz1ell +íz1eln +íz1elv +í2z1e2m +íze2r +íz1e1re +í2z1es2z +íze2z +í2z1e1ze +í2z1ezre1i +ízez1re +í2z1é2p +í1zé +í2z1ér. +í2z1ill +í1zi +ízi1sp2 +í2z1i2s1zo +ízis2z +í2zivás +ízi1vá +í2zí +í1zo2 +íz1os +íz1ó2r +í1zó +í2z1ö2 +íz1p2 +í1z3sa +íz2s +í1z3sá +í1z3su +í1z3sú +íz3s2z2 +í2zü +í2z1ü2g +1í2zû +1ja +ja2dag +ja1da +ja2k1ev +j2a1ke +ja2kiz +ja1ki +j2a2k1í +ja2lap +ja1la +jan2s +j1a2n2y +j2a1o2 +jas1as +ja1sa +1já +2j1á2bé +2j1á2ga +2j1ágg2 +2j1áll +2jánd +2jánl +2j1á2p +2j1á2rak +já1ra +j1á2ras2z +2j1árr +j1árus +já1ru +já2sal +já1sa +já2se +jás3s2 +já2t1ér +já1té +2j1át1ne2 +já2t1os2z +já1to +jdo1na2 +j1do +jdonat1 +j1d2r +1je +2je1gé +je2gés +jegés2z1 +je1gyá2 +jeg2y +je2gy1el +je1gye +je2gy1in +je1gyi +je2gyo2 +je2l1a2 +je1lá2 +je2l1át +je2l1e1le +je1le +je2ler +je2l1e2si +je2l1int +je1li +je2l1í2 +2j1el1lá +je2l1o +je2lu +je2mu +je2n1á +je2no +je2ró +je2sa +je2s1á +je2sem +je1se +je2s1es +je2su +je2süv +je1sü +je2tál +je1tá +je2t1el +je1te +je2t1o2 +je2tu +je1u2 +2j1ex +1jé +jé2ga +jé2g1á2 +jé1ge2 +jé2g1eg +jég3g +jé2gi +jé2g1o +jéne2s +jé1ne +jé2n1i +2j1é2p +jé2reg +jé1re +2j1érz +jfeles1 +j1fe +jfe1le +jfölös1 +j1fö +jfö1lö +j1g2r +1ji +j1il +2j1i2p +2j1ism +2j1i2ta +2j1i2v +2j1i2z +1jí +jítókés2z1 +jí1tó +jít2ókés +jító1ké +j1í2z +j2jí +jjob2 +j1jo +j1k2l +jk1õr +j1kõ +jk2ré +jlás1s2 +j1lá +jl1át +jna1l1u +j1na +1jo +jo2g1ak +jo1ga +jo2gal +jo2g1ál +j2o1gá +j2o2g1e +jog3g +jo2gin +jo1gi +jo2g1or +jo1go +jo2laj +jo1la +jo1ma2 +jo2mag +jo2m1an +j2o2m1e2 +jo2n1i +2jo2p +jo1ro2 +jo2se2 +1jó +jó1a2 +j2ó1á2 +jóle2s +j2ó1le +jó2l1e1sõ +jó2l1i +jó2lö +2j1ó2rár +jó1rá +j2ó2s1e2 +jós3s +jó2tál +jó1tá +1jö +j1önt +1jõ +j1õr +2j1õ2sö +j1p2 +jra1s +j1ra +j1s2p +jsza2ké +js2z +j1s1za +jt1akn +j1ta +jt1akt +jt1alk +jt1aut +jta1u +jt1áll +j1tá +j2t1á2ru +jt1á2t1a2 +j2t1e2g2y +j1te +j2tele1me +jte1le +jt1elt +j2t1é2le +j1té +j2t1ér +j2t1id +j1ti +j2t1i2r +j2t1i2z +jt1os2z +j1to +j1t2rá +j1tu2 +1ju +ju1go1 +ju2hak +ju1ha +1jú +1jü +j1üg +jü2l +2j1ü2r +j1ü2té +j1ü2tõ +2j1ü2v +2j1ü2z +1jû +j2z1a2k +j1za +j2z1a2n2y +j2z1as +jz1es +j1ze +j2z1is +j1zi +jz1k2 +jz3sín +jz2s +j1z1sí +j2z3sor +j1z1so +jz3s2z2 +1ka +2k1abl2 +2ka1cé +ka2c2h +ka2dom +ka1do +2kadók +ka1dó +k2a1e2 +kag2 +ka1gr +ka2i1á +ka1i +kakas3s +ka1ka +2k1alg2 +kanális1 +ka1ná +kaná1li +2kang +2k1a2nyag +kan2y +ka1nya +ka2óv +k2a1ó +2k1a2pád +ka1pá +ka1p1ré +2k1a2ras +ka1ra +2k1ar1cú +ka2rén +ka1ré +ka2rig +ka1ri +kar1ing. +ka2rö +ka2sem +k2a1se +ka1sé2 +ka2séh +k2a2sor +ka1so +ka1só2 +ka2s1ór +kasü2l +k2a1sü +ka2tab +ka1ta +ka2u1to +ka1u +ka2vat +ka1va +ka1zá2 +1ká +ká2csin +kác2s +ká1c1si +ká2c3sor +ká1c1so +2k1á2g +ká2l1e +2k1állam. +kál1la +2k1államr +ká2nye2 +kán2y +k1á2rad +ká1ra +ká2rak +k1á2ram +ká2r1e2 +ká2r1ér +ká1ré +ká2r1o1ko +ká1ro +ká2s1e +ká1si2 +ká2sir +2k1á2só +ká2sü +ká1s1za2 +kás2z +kász1al +kát1ad +ká1ta +ká2tal +2k1át1t2 +2k1átv +k1b +1ke +kea2k +ke1a +ke1á2 +ke1e2 +kegés2z1 +ke1gé +ke2gya +keg2y +ke2gyu +ke2gy1ú +2k1e2k2e. +ke1ke +2k1elekt +ke1le +2k1e2lemz +2keley +2k1el1f2 +ke2l1o2s +ke1lo +2k1e2lõ1a +ke1lõ +k1e2lõ1á2 +2k1e2lõl +2k1eltér +kel1té +2k1ember +kem1be +ke2més +ke1mé +kenés3s2 +ke1né +ken2tér +ken1té +ke1nü2 +ke2n1ül +ke1ó2 +ke1p2r +ke2rab +ke1ra +ke2r1a2r +ke2rál +ke1rá +ke2r1ár +2k1er1dõ +2k1e2rej +ke1re +kerekes1 +kere1ke +ke2rõs +ke1rõ +ker1s +ke2s1eg +ke1se +2k1esem +2k1e2sõ +ke2s1zi +kes2z +ke2s3zöl +ke1s1zö +ke2tok +ke1to +ke1u2 +ke2vez +ke1ve +kevés3s2 +ke1vé +1ké +2ké2g +ké2ja +ké2j1u +ké1ka2 +ké2k1á +ké2k1e2r +ké1ke +ké2kin +ké1ki +ké2lya +kél2y +ké2ly1ü2 +ké2nyú +k2én2y +ké2pa +ké2p1á +ké2p1e1le +ké1pe +ké2per +ké2pid +ké1pi +ké2pí +ké2po2 +2k1érm +ké2r1o +2k1érté1ke +kér1té +ké2ru +ké2rú +2k1érze1té +kér1ze +ké2sá +ké2so +ké2s1z1a2 +kés2z +ké2s1zá +ké2szét +ké1s1zé +ké2s3zö +ké2tan +ké1ta +ké2tál +ké1tá +ké2t1e1le +ké1te +ké2t1em +ké2t1es2z +ké2tev +ké2t1é2 +ké2tis +ké1ti +ké2tí +ké2t1os +ké1to +ké2tö +ké2tu +ké2t1ü2 +2k1év. +2k1évb +2k1é2ve1i +ké1ve +ké2ves +2k1é2vi +2k1évn +ké2za +ké2zá +ké2z1e2l +ké1ze +ké2ze2m +kf2 +k1fl +kh2 +k2ha1i +k1ha +k2há1ja +k1há +1k2hed +k1he +khe2i +k2hil +k1hi +1k2hos +k1ho +k2hó +1khr +1k2hü +1ki +kia2d +ki1a +kia2g +kia2j +kia2l +kia2n +kia2p2 +kia2s +kiá2z +ki1á +kib2 +ki1br2 +2ki1de +kideg1 +kie2l +ki1e +kie2m +kie2re +kié2h +ki1é +kié2r +2k1ifj +ki1fr +2ki1ga +kigaz1 +2k1i2gé +ki1i2 +ki1k2rá +ki1k2ri +kin2c1sá +kinc2s +2k1ind +2k1inf +2k1ink +kin2tét +kin1té +2k1inv +kio2k +ki1o +kio2m +kió2v +ki1ó +ki1p1la +ki1p1le +ki1p2r +ki2rat +ki1ra +ki2rod +ki1ro +ki2sab +ki1sa +ki2s1aj1tó +ki2sal +ki2sa2n +ki2s1as2z +ki2sat +ki2s1emb +ki1se +ki2se2n +ki2s1es +ki2s1é2r +ki1sé +ki2sis +ki1si +2kis1k2 +2kism +ki2s1ok +k2i1so +kiso2r +ki2s1o1ro +kis1p2 +kis3s2z +ki1t2r +ki1u2 +ki1ú2 +1kí +2k1í2rá +2k1í2ró +2k1í2ve +2kí2z +kjelenés1 +k1je +kje1le +kjele1né +kj1els +k2k1ál +k1ká +kk1á1ru +k2k1e2g +k1ke +k2k1in +k1ki +kk1ír +k1kí +kk1ó2ra2 +k1kó +k1k2ri +klá2má +k1lá +klá2mos +klá1mo +kle2tin +k1le +kle1ti +1k2lí +k2lub +k1lu +klu2bé +klus3s +kmá2nyú +k1má +kmán2y +kme2g +k1me +1ko +ko1g2r +2k1o2koz +ko1ko +2k1ok1ta +ko2l1ajt +ko1la +2k1ol1da +ko2lim +ko1li +ko2naj +ko1na +ko2n1al +ko2n1ál +ko1ná +ko2nor +ko1no +ko2nyé +kon2y +k2o1o2 +2ko1pe +ko1p1ro +k2opr +ko2r1ad +ko1ra +ko2r1átl +ko1rá +ko2rel +ko1re +ko2r1e2s +ko2r1il +ko1ri +ko2r1os2z +ko1ro +kor1s2 +kos3s +2koszl +kos2z +2k1o1u +2k1o2x +1kó +kó2d1é +k2ó1fr +kó1ku2 +2kóp. +2kópb +2kóph +2kópj +2kópk +2kó1po +2kópp +2kóps +2kó1pu +kó1ra2 +kó2r1an +kó2re2s +k2ó1re +1kö +kö2b1öl +kö1bö +kö2d2z +2k1öng +2k1öv. +kö2zí +1kõ +k2õ1e2 +kõ1é2 +kõk2 +kõ1kr +kõ1u2 +k1p2 +kpá2ra +k1pá +k2rip +k1ri +1kripc +krosz2k +k1ro +kros2z +1k2ró1má +k1ró +krös3s +k1rö +k1s2h +k1s2k2 +k1s2p +k1s2t2 +k1sz2f2 +ks2z +kszt2 +kt1alk +k1ta +kta1p2 +kte2rá +k1te +k2t1i2r +k1ti +kto1g2 +k1to +kto1s +ktos2z2 +k1t1ré +ktro1g +kt1ro +ktro1s2 +1ku +2k1udv +2ku2g +2kuj +kul2c1si +kulc2s +kun2d1é +ku1p2r +ku2se +2k1u2taz +ku1ta +2k1u2tá +ku2z2s +1kú +2k1úg +2k1új +kú2tá +kú2t1o +2kútr +1kü +2k1ü2dü +2k1ü2g +kü2la +kü2lo +kü2tö +kü2tõ +kü2tü +kü2z +2k1üzl +1kû +1k2vad +k1va +k2van +kvés3s2 +k1vé +1ky +ky1ü +1la +la2ar +l2a1a +l2a1á2 +lab2l2a. +labl2 +lab1la +la2c3há +lac2h +2l1a2dag +la1da +l1adl +2l1adm +la2dod +la1do +la2dog +la2dom +la2d2ó1e2 +la1dó +la2dó1i +la2dój +la2dól +la2dór +la2dóv +la1dy +l2a1e2 +laga2l +la1ga +1lag1a1la +la2gan +la2g1ál +la1gá +la2g1ár. +la2gá2ra +la2gép +la1gé +la2g1ér +lag3g2y +l2a2gor +la1go +la2g1os2z +l2ai2g2 +la1i +la2i2re +la2j1ad +la1ja +la2j1ág +la1já +la2j1ár. +la2j1el +l2a1je +la2jol +la1jo +la2jü +la2kad +la1ka +la2k1a2n +la2kel +l2a1ke +la2k1es +la2kér1te +la1ké +2l2a1kí +la2k1os2z +la1ko +2l1alg2 +la2mad +la1ma +la2m1al +la2map +la2n1á2r +la1ná +la2n1ér +l2a1né +l2a1nye2 +lan2y +lany1er +lany1es +la2nyé2 +la2ny1í2r +la1nyí +la2nyó +l2a1ó2 +la2p1at +la1pa +la2p1áll +la1pá +lapá2r +lap1ár. +lap1á1ro +la2p1á2t1a +la2p1e2l +l2a1pe +la2p1e2s +la2p1ér +la1pé +la2p1in +la1pi +la2p1ir +la2p1ír +la1pí +2l1a2pó +la2pö +2lapv +la2rán +la1rá +2l1arc +l2a1ro1 +la2s1as +la1sa +las3s1ze +las2s2z +la2su +la2sz1ar +las2z +la1s1za +las2zkés2z1 +lasz1ké +lasz1ó1ra +la1s1zó +1la2t1a2la +la1ta +lat1a1rá +l2atar +lata2t +lat1a1to +la2t1ár1b2 +l2atár +la1tá +la2t1e2g +l2a1te +lat1e1le +la2t1ell +la2tem +la2tep +la2t1ék +l2a1té +la2ting +la1ti +la2t1os2z2 +la1to +la2t1ó1ri +l2a1tó +la2t1ö2v +l2a1tö +2lat1ti +la2vu +2lazm +la2zon +la1zo +1lá +l2á2b1iz +lá1bi +2l1áb1rá +lábr2 +lá2bu2t +l2á1bu +lá2d1al +lá1da +lá2da2n +lá2dor +lá1do +lá2d1ö2 +lá2gal +lá1ga +lág1g2 +lá2g1ó2 +lág1s2 +lá2hor +lá1ho +2lá1í2 +2l1ál1dá +2l1ál1do +lá2l1e2 +2l1ál1lo +l2á2lö +lá2ma2n +lá1ma +lá2m1e2g +lá1me +lá2m1el +lá2mí +lá2molv +lá1mo +lám1os2z +lá2mu +lá1na2 +lá2nal +lá2n1an +lá2nas +lá1ná2 +lá2nár +lánc1c +lá2nyol +lán2y +lá1nyo +lá2pol +lá1po +lár1akt +lá1ra +lá2ral +lá2rat +2lá1re +lá2rö2 +2l1á2ru +l1á2rú +lá2sal +lá1sa +lá2s1e +lá2s1ó2 +lá2su2t +lá1su +lá2s1ze +lás2z +lát1al +lá1ta +2lá1té +2lá1vi +lá2z1e +lb2á2s1zá +l1bá +lbás2z +l1b2l2 +lc1e2v +l1ce +lc1e2z +lc1é2v +l1cé +l2c3h +l2c1ív +l1cí +l2c1ó2 +l2cs1á2g +lc2s +l1c1sá +l2cs1ál +l2c2sá1ta +l2csél +l1c1sé +lcs1ing +l1c1si +lcsó2r +l1c1só +lc3s2z +ld1abr2 +l1da +ld1a2n2y +lda1p +ld2a2tál +lda1tá +ld1áll +l1dá +l2d1eg2y +l1de +l2demel +lde1me +l2d1ep +ldes1s +lde2tér +lde1té +l2d1i1gé +l1di +l2d1i2p +l2d1ín +l1dí +ldo2gas +l1do +ldo1ga +l2d1old +ld1os2z +l2d1ó2r +l1dó +l2d1öl +l1dö +ldt2 +ld1tr +l2d1ut +l1du +l2d1út +l1dú +l1d3zá +ld2z +1le +le2ab +le1a +lea2k +lea2v +leá2p +le1á +leá2zi +2l1edd. +l1ed1di +lee2s +le1e +le1fr +le3g2a1li +le1ga +le2g1áll +le1gá +le3gáz +le3g2e. +le1ge +le3g2ek. +le3gelõt +lege1lõ +lege2r +le3get +legé2d +le1gé +le3gén +leg3g +le2gi2g +le1gi +le3gö1rö +le1gö +le1gõ2 +le2gu +le3gya +leg2y +le3gyá +l1e2gy2e. +le1gye +l1e2gyed1ne +l1egye1dü +le3gyé +le3gyi +2l1egyl +le3gyö +lei2g +le1i +lei2s +2le1ji +le2kad +le1ka +leka2t +le2kál +le1ká +le2k1á2r +le2k1e2l +le1ke +le2k1e2m +lek1e2rõ +le2k1id +le1ki +le2kõ +le1k1ri +2lektr +le1k1vi +2l1e2lemz +1le1le +2lelev +le2liz +le1li +2l1elz +le2m1a2d +le1ma +2leman. +2lemanj +2lemank +leme2c1 +le1me +2l1e2mel. +2l1e2me1lé +2l1e2melh +2l1e2me1li +2l1e2melj +2l1e2mel1k2 +le2mell +2l1e2meln +2l1e2me1lõ +le2melt +2l1e2me1lü +2l1e2melv +1le2m1é1le +le1mé +2lemés +le2m1i1rá +le1mi +le2m1itt +l1emleg +lem1le +le2mol +l2e1mo +le2m1os2z +le2m1ó2r +le1mó +le2mö +2le1mu +le2nál +le1ná +le2náz +le2n1e2g +le1ne +le2n1el +le2ner +lenés3s2 +le1né +le2nir +l2e1ni +le2n1o2 +len1t1ra +2len1t2rü +l1e2nyész. +len2y +le1nyé +lenyés2z +l1e2nyé1s1ze +l1e2nyé1s1zé +l1e2nyé1s1zi +l1e2nyész1ne +l1e2nyé1s1zõ +le2o1g2 +le1o +leo2k +le2o1ló +leó2v +le1ó +le1p1la +le1p2lo +le1p2ré +le1p1ri +2l1erd +le2reg +le1re +le2r2õ. +le1rõ +le2rõb +le2rõk +le2rõn +le2rõr +2l1e2rõszakol. +lerõs2z +lerõ1s1za +lerõsza1ko +le2rõv +ler1s2 +le2s1es +le1se +l1e2sé1se +le1sé +l1e2sé1sé +l1e2sé1sü +2l1es1kü +les1k2 +le1s1má +lesp2 +le1spr +lest2 +le1s1to +le1str +le2szik +les2z +le1s1zi +2l1eszm +2le1s1zû +let1e2lem +le1te +lete1le +le2t1ell +letes1s +le2t1í2 +le2t1ó2 +let2tas +let1ta +2let2y +leu2tá +le1u +l1e2vez. +le1ve +l1e2vezt +2lexer +le1xe +l1exp +le2zer +le1ze +2l1ezr +1lé +2l1ébr2 +lé2c3h +lé2gem +lé1ge +l1é2gés +lé1gé +2lé1gí +lé2g1o +2lég1t2 +lé2gu +lé2gyi +lég2y +lé2kal +lé1ka +lé2k1an2y +lé2k1eg +lé1ke +lé2ke1sí +lék1est +lé2ké2p +lé1ké +lé2k1i2r +lé1ki +lé2kú +l1éld2 +lé2led +lé1le +lé2les +lé2lén +lé1lé +2l1é2pí +2l1é2pül +lé1pü +l1érd +2l1é2red +lé1re +lé2r1el +lé2rés +lé1ré +lé2rik +lé1ri +lé2rin +lé2rit +lé2r1os2z +lé1ro +2l1é2r2õ. +lé1rõ +l1é2rõk +2l1ér1té +2l1ér1tü +lé2rün +lé1rü +l1ér1ve +2lérz +lé2sel +lé1se +lés3s2 +2l1észh +lés2z +lé1ta1 +lé2tál +lé1tá +lé2te2l +lé1te +lét1e1le +1lét1e1lé +lét1e1lü +lé2ti2g +lé1ti +lé2tö +2l1év. +2l1évb +2l1é2ven +lé1ve +2l1é2ves +2l1é2v1ez +2l1é2véb +lé1vé +2lé1vi +2l1évs +l1é2vü +lfi2t1 +l1fi +lga1p2 +l1ga +l1g2ra +lgy1as +lg2y +l1gya +l2gyelõv +l1gye +lgye1lõ +l2gyis +l1gyi +l2gy1ol +l1gyo +l2gy1ú2s +l1gyú +1li +lia2d +li1a +li2af +li2a1p2 +li2at +li2deg +li1de +2l1i2di +li2dom +li1do +2l1i2dõ +li2e1u +li1e +l1i2gaz +li1ga +li2g2e. +li1ge +2l1i2gé +li1g2ra +2likk +li1k2l +2lill +li2nal +li1na +2l1in1dí +2l1in1du +2l1inf +lin2ko +li2nö +2l1in1té +li2o1g2 +li1o +li2põ +li1p1ro +2l1i2ram +li1ra +2l1i2rat +li2rán +li1rá +l1irt +2l1is1ko +lis1k2 +2lism +l1is1mé +li1s1po +lisp2 +l1is1te +li2s1ü2 +li2s1zö +lis2z +lis3z2s2 +li2t1el +li1te +li2t1old +li1to +li2vad +li1va +li2vás +li1vá +2l1iz1g2 +2l1iz1mo +2l1i2zo +1lí +l1íg +2l1í2n2y +línyenc1 +lí1nye +lí2ran +lí1ra +2lí1rá +l1írh +l1írj +l1írn +l1í2ró +l1írt +l1írv +lí2tél +lí1té +lítés3s2 +2l1ív. +l1í2vá +2l1ívs +lízis1s +lí1zi +l1ji2 +l2j1ir +lka2tel +l1ka +lk2a1te +lke2ma +l1ke +lki1s1a +l1ki +lkó2c3 +l1kó +l1k2v +lla2ga2l +l1la +lla1ga +lla2m1el +lla1me +lla2nyá +llan2y +ll2a2ny1e2 +lla2tal +lla1ta +lla2ta2t +lla2tel +ll2a1te +lla2tet +ll2a2tor +lla1to +l2l1a1zo +l2l1áll +l1lá +l2l1á2p +llá2rak +llá1ra +llás3s2 +l2l1ed2z +l1le +l2l1elm +lle2ma +lle2m1á +l2l2e1mo +llen1n +llé2ká +l1lé +llé2k1ol +llé1ko +l2l1í2rá +l1lí +ll1k2 +l2l1ös +l1lö +ll1p2 +lls2 +ll1st2 +l2l1üt +l1lü +l2l2y +l3lyu +lm1a1já +l1ma +lm1a2n2y +l2m1arc +lmá2nyé +l1má +lmán2y +lm1elm +l1me +lm1e2lõ +lm1fe2 +l2m1o2p +l1mo +lm1s2 +lms2z2 +lná2ros +l1ná +lná1ro +lne2o +l1ne +lni1a2 +l1ni +1lo +2lo1bá +lo1dr +loé2d +l2o1é +lo2g1a2d +lo1ga +lo2gál +l2o1gá +l2o1g2rá +lo2g1ú +l2o2k1e2 +lo2kos +lo1ko +lo2laj +lo1la +lo2map +lo1ma +lo2m1ál +lo1má +lom1á2ro +lo2mec +l2o1me +lo1mi2 +lo2mid +lo2min +lom1itt +lo2mí +l2o2m1o2r +lo1mo +lo2m1ó2 +lo1na2 +lo2nag +lo2naj +lon2c1i +lo2ne +lo2pe +l1org +l1o2roz +lo1ro +2l1ors +2l1orv +l1orz +lo1sz2k +los2z +2l1oszl +lo1t2h +lo2u2 +lo2xá +lo2xi +lo1y +1ló +lói2d +ló1i +2l1ónn +ló1p2 +2l1ó2rab +ló1ra +2lórm +ló1t2h +ló1t2r +ló2ze +1lö +lö2kel +lö1ke +lö2k1o +lö2m +lö2n1á +lö2n1é2 +lön3n +lö2nó +lö2pé +2lö2r +lö2sü +l1ötl +1lõ +2lõb1bi +2lõbbr2 +2lõd. +2lõhív +lõ1hí +lõi2d +lõ1i +lõ1í2 +2lõkel +lõ1ke +2lõnn +2lõny. +lõn2y +2lõ1nyé +2lõnyh +2lõ1nyö +2lõnyr +2lõnyt +2lõ1nyü +2l1õrl +2l1õ2rö +2l1õ2rü +lõ2s1ég3g +lõ1sé +lõs3s +lõ1szt2 +lõs2z +2lõté2t1 +lõ1té +2lõtol +lõ1to +lõ1u2 +2lõvés +lõ1vé +2lõvét +l2p1a2láv +l1pa +lpa1lá +lpen1 +l1pe +lp2h +l1p1he +lp2lá +lpo2ka +l1po +lpo2n +lpo1n1á +lp2rak +lp1ra +l1p2re +l1p2ri +l1p2ro +l1p2ró +lre1á2 +l1re +lsá2r +l1sá +l1s2k2 +l1s2l +l1s2m +lsõ1ü2 +l1sõ +l1s2p +l1s2r +lst2 +ls2ta +ls2ti +lsus3s +l1su +lsza2ké +ls2z +l1s1za +l1sz2f2 +l1sz2l +lta2d +l1ta +lt1a1da +lt1a2g2y +lt1ajt +lta2l1e2 +lta2l1é +l2tarc +l2t1a2u +l2t1ág. +l1tá +lt1á2ga +lt1á1po +l2t1árf +lt1á1ta +ltá2v1i2 +ltés1s2 +l1té +lt1i1va +l1ti +lt1í2v +l1tí +ltornác1 +l1to +ltor1ná +lt1ö2vi +l1tö +lt1õr. +l1tõ +l1t2ri +l2t1u2t +l1tu +1lu +l2u2de +2ludj +2ludn +2ludt +2ludv +l1u2go +l1ugr +lu2le +2lu1li +2lulr +lu2m1é +2lu1mí +lu2rak +lu1ra +2l1u2ru +lu2se +lu2s1za +lus2z +lu1t2h +1lú +lú2d1a +lú2gá +2l1ú2j +2l1ú2s2z +lú2té +2l1úth +lú2ti +2l1útj +lú2to +1lü +2lüd +2l1ü2g +l1ül1dö +lü2l1em +lü1le +lü2l1é +2l1ül1he +2l1ül1jö +2l1ül1ne +2l1ül1ni +2l1ü2lõ +2l1ült. +2l1ültem +lül1te +2l1ültet. +2l1ültett +l1ül1té +1lü2lü +2l1ü2r +lü2té +lü2ti +lü2tö +lü2tõ +lü2tü +2l1ü2v +2l1ü2z +1lû +l1û2z +lv1alk +l1va +lvás3s2 +l1vá +l2v1e2le +l1ve +l2v1elõt +lve1lõ +l2v1els +l2v1ember +lvem1be +l2v1é1p2 +l1vé +l2v1ér1zé +l2v1észl +lvés2z +l2v1is1k2 +l1vi +lvkés2z1 +lv1k2 +lv1ké +l2v1ok +l1vo +l2v1os +l2v1öl +l1vö +l2v1õ +l2v1ú +l2y +1lya +lya2gya +lyag2y +ly1akc +ly1a2la +ly1alk +lya2m1é +lyan3n +ly1a2rá +ly1arc +2ly1ass +ly1aut +lya1u +2lya2z +ly1a1zo +1lyá +ly1áll +ly1árn +ly1á2ro +2ly1á1ru +1lye +2ly1e2c +lye2gi +lye2l +ly1elm +2ly1elv +lye1nü2 +ly1e2r +1lyé +2ly1é2g +2ly1ép +2ly1érd +2ly1ér1te +2ly1ér1té +2ly1érv +2ly1érz +1lyi +2ly1id +2ly1i2gé +ly1ill +2ly1im +ly1int +2ly1i1rá +2ly1i1ro +2ly1ism +2ly1i2s2z +1lyí +1lyo +2ly1o2dú +2ly1o2koz +lyo1ko +2ly1or +1lyó +1lyö +ly1ös +2ly1õ2 +lyt1áll +ly1tá +1lyu +2ly1ud +2ly1uj +2ly1ur +1lyú +ly1úr. +2ly1út +1lyü +ly1ü2v +2ly1üz +1lyû +lzus1s +l1zu +1ma +2m1abl2 +2m1a2cé +ma2dé +madi2a +ma1di +mad1os2z +ma1do +ma2dóm +ma1dó +ma2es +m2a1e +ma2g1al +ma1ga +magas1s +ma2g1en +ma1ge +m2a2gor +ma1go +ma2gö +ma2gyú +mag2y +ma2i2o +ma1i +2ma1ja +2m1ajt +2m1akc +2ma1kó +ma2kón +ma2kós +mak1ro1 +2m1a2lak +ma1la +ma2lap +2m1alk +mal1t +ma2lu +2malv +ma2nat +ma1na +m2a1ó2 +ma2pas +ma1pa +2m1apj +ma1p2r +ma2s1i2k +ma1si +mast2 +ma1str +ma2s1zö +mas2z +mat1á2ru +m2atár +ma1tá +ma2t1e2l +m2a1te +ma2tig2 +ma1ti +mat1int +ma2t1ir +2ma1tõ +ma2va +m2a2z1e +1má +2m1ábr2 +2m1ág. +2m1á2ga +2m1á2gú +2m1á2g2y +má2j1o2 +má1la2 +má2l1al +má2lál +má1lá +má2l1e +má2l1ér +má1lé +m1ál1lí +má2lu +má2m1as +má1ma +má2mu +má2ne +má2nin +má1ni +má2nyal +mán2y +má1nya +má2nyaz +má2nye2 +má1nyi2 +má2ny1ir +má2nyí +má2ny1út +má1nyú +m1á2p +2m1á2rad +má1ra +m1á2rak +má2ru +2m1á2rú +má2se +má2sir +má1si +más3z2s2 +más2z +2m1á2t1a2 +2m1átm +2m1átv +mbak2 +m1ba +mb1á2g2y +m1bá +m2b1e2p2 +m1be +mbe2r1a +mbe2rep +mbe1re +mbe2r1és +mbe1ré +m2b1ing +m1bi +mb2lo +mbl2 +mb1ús +m1bú +m1d2 +mda1p2 +m1da +1me +meá2r +me1á +2m1e2bé +me2cet +me1ce +me2dén +me1dé +me2g1a1la +me1ga +me2gan +me2gác +me1gá +me2gát +me2g1á2z +me2g1ec +me1ge +me2g1el +me2g1em +me2g1e2r +meg1es1k2 +meg1esn +me2g1et1te +me2g1et1té +me2g1et1tü +me2g1éd +me1gé +me2g1é2l +me2gép +me1gi2 +me2gih +me2gil +me2g1ir +me2giv +me2giz +me2g1í2 +me2g1o2 +me2g1ó2 +me2g1ö2 +me1gõ2 +meg1s2 +me2g1u2 +me2g1ü2l +me1gü +2m1egys2 +meg2y +me2k1ar +me1ka +me2k1á2 +me2kél +me1ké +me2k1és +me2k1id +me1ki +me2k1ir +me2kis +me2kí +mek1k2 +me2kor +me1ko +me2k1os +me2k1ot +me2kö2l +me1kö +2meled +me1le +2melet +2mel1k2 +mel2l1é2rü +mel1lé +mel2l1u +2m1el1mé +2m1el1nö +me2lõ1a +me1lõ +m1e2lõ1á2 +mel2õ1e2 +2m1elr +m1elter +mel1te +2m1emel +me1me +men2tan +men1ta +me2nya +men2y +me2o1p2 +me1o +2m1e2p +2m1e2rej +me1re +2m1er1nyõ +mern2y +me2rõm +me1rõ +me2rõv +2m1e2rû +me2s1er +me1se +me2s1o2 +me2su +me2s1ú +2m1eszm +mes2z +met1ell +me1te +me2t1or +me1to +me2t1ó2r +me1tó +me2tú +me2võ +me2zár +me1zá +me2zin +me1zi +me2zor +me1zo +me2zö +me2z2s +1mé +2m1ébr2 +mé2g +mé1g1a +mé1g1i +mé2k1á2 +méke2l +mé1ke +mék1ell +mék1e1lõ +mé2kin +mé1ki +2m1élm +mé2ly1a +mél2y +mé2lyá +mé2lyig +mé1lyi +mé2ny1el +m2én2y +mé1nye +mé2nyir +mé1nyi +2m1é2p +mér2v1a +2m1érz +mé2sá +mé2s1er +mé1se +mé2s1zé +més2z +mé2s1zo +mé2tap +mé1ta +mé2t1em +mé1te +mé2té +2m1év. +mé2ven +mé1ve +mé2ves +2m1é2vi +2m1é2vü +mé2zil +mé1zi +mé2z1o +mé2z2s +mf2rá +mg2 +m1gr +mgubanc1 +m1gu +m3g2ub +mgu1ba +1mi +mi2ac +mi1a +mia2d +mi2aj +mia2l +mi2a1p2 +mia2r +mi2de1á +mi1de +mi2deg +m1i2dé +2mi1dõ +mie2lõt +mi1e +mie1lõ +2m1i2ga +migaz1 +2m1i2ge +2m1i2gé +2m1i2má +m1imp +min2ce +min2c2h +min2da +min2der +min1de +mi2ol +mi1o +mi2o1no +mi2on1r +mió2t +mi1ó +2m1i2pa +2m1i2ro +2mirt +mis1e1me +mi1se +mi1ta2 +mit1ár. +mi1tá +mi2tu +mi2zom +mi1zo +1mí +m1í2rá +mí2ró +m2j1ol +m1jo +m1k2 +mla2u +m1la +mlás1s2 +m1lá +mlé2k1a2 +m1lé +mlé2kes +mlé1ke +mma2gá +m1ma +mme2g +m1me +1mo +m2o1g2rá +mo2ir +mo1i +mo1ki2 +mo2kó +2m1ok1tá +mo2k1ú +mo2laj +mo1la +2m1olvas +mol1va +mo2lyi +mol2y +mo2n2e. +mo1ne +mo2n2é. +mo1né +m2o2nü +mo2o2r +m2o1o +m2o1p2l +mo2ren +mo1re +mo2rég +mo1ré +mo2rid +mo1ri +2m1o2ri1e +mország1 +mors2z +mor1s1zá +mo2sar +mo1sa +mo2se2 +most2 +mosz2fé +mos2z +moszf2 +mo2szim +mo1s1zi +2moszl +mosz1th +2m1o2x +1mó +2m1ó2rá +mó1th +1mö +2m1öld +2m1önt +2m1öv +1mõ +m2õ1e2 +mõ2rá +mp2he +mp2hi +mpor2t1á2r +m1po +mpor1tá +m1p2res1s1zi +mp1re +mpres2s2z +m1p2ró +m1q +mst2 +m1str +msza2ké +ms2z +m1s1za +msz2c +m1sz2f2 +mszt2 +mte2o +m1te +mtes2s +m1t2r +1mu +2mu1le +mu2se +mus3s +mu2t1a2g +mu1ta +mu2tár +mu1tá +1mú +mú2g +múg2y1 +2m1új +mú2t +m1úth +2m1ú1to +1mü +2müg +mü2g2y +mü2ka +2m1ünn +2mü2r +2m1üs +2m1ü2v +mü2z +1mû +mû1i2 +mûk2 +mû1kr +mû1st +2mûz +mû2zé +mû2zi +mû2zö +mû2zõ +mvas3s +m1va +mze2t1á +m1ze +mze2tel +mze1te +mze2tõ +1na +n1ab1bó2 +2n1abl2 +2n1a2cé +2n1a2dó +na1d1ró +n1adt +nae2g +n2a1e +na2ge +2n1a2gi +nagy1ap +nag2y +na1gya +nagy1as +na2gyer +na1gye +na2gyo2r +na1gyo +na2gyó +na2gy1ú +n2a2ig2 +na1i +nai2s +2n1a2kad. +na1ka +2n1a2ka1dá +2n1a2kadh +2n1a2kadnak +nakad1na +2n1a2ka1do +2n1aka1dó +2n1a2kadt +naki2á2 +na1ki +na2kõr +na1kõ +n2a1kü2 +2n1a2lap +na1la +na2lid +na1li +2na1lí +n1alj. +2n1ann +na2nya +nan2y +n2a1o2 +n2a1ó2 +na2pák +na1pá +na2p1áll +na2p1e2l +n2a1pe +na2pe2n +na2p1er +na2p1ó2r +na1pó +na1pu2 +na2pud +na2put +na2tab +na1ta +na2tel +n2a1te +na2t1ér +n2a1té +na2t1os2z2 +na1to +2n1a2t2y +na2uk +na1u +na2us +na2u1to +na2zé +na2zo +1ná +ná2c2h +ná2c1se +nác2s +ná2c1sü2 +ná2d1e2 +2n1á2g +ná2lab +ná1la +2n1álar +ná1le2 +n1ál1lá +2n1ál1lo +ná2mí +ná2na2d +ná1na +nán2c1 +n1á2ram +ná1ra +ná2r1e2 +2n1á2ru1i +ná1ru +ná2rú +2n1árv +ná2sü +ná2szat +nás2z +ná1s1za +ná2s1ze +ná2s3zö +ná2s1zú +ná2s1zü +ná2tal +ná1ta +n1át1f2 +ná2tí +2n1átl +2n1átm +nba2l1 +n1ba +n1b2l2 +n2c1a2g +n1ca +n2c1ann +nc1as2z +n2c1á2ro +n1cá +n2cá1ru +nc3c1sö +nc2c2s +n2c1ép +n1cé +n2c3ha +nc2h +n2c3há +nc3het +n1c1he +n2c3hé +nc3hoz +n1c1ho +n2c3hu +nci2alis +n1ci +nci1a +ncia1li +n2c1ing +nc1i2r +nc1ork +n1co +n2c1ó2 +n2csab +nc2s +n1c1sa +n2c2sá1ru +n1c1sá +ncs1árv +n2cs1elc +n1c1se +n2csér1te +n1c1sé +n2cs1íz +n1c1sí +n2c2sos2z +n1c1so +ncs1õr +n1c1sõ +n2csur +n1c1su +nd1arr +n1da +nda2tal +nda1ta +nda2tel +nd2a1te +n2d1a2z +n2d1eb +n1de +n2d1edd +n2d1eg2y +n2deh +n2d1e1kö +nde2ná +nde2n1ev +nde1ne +n2d1é2l +n1dé +n2d1ész. +ndés2z +nd1é2ti +nd1ink +n1di +nd1me2 +n2dõ1rá +n1dõ +n2d1õrn +n2d1õ2ro +n2d1õ1rö +n1d2ram +nd1ra +n1dy +nd3zav +nd2z +n1d1za +n2d3zó +1ne +nea2k +ne1a +ne2áp +ne1á +2n1egy. +neg2y +n1egyf +n1e2gyi +n1egy1k2 +2n1egyn +n1egys2 +ne2k1eg +ne1ke +ne2k1ó2 +ne1k1ri +n1el1k2 +2n1e2lõ1a +ne1lõ +ne2lõk +ne2lõt +2n1elv +ne2má +2n1ember +nem1be +ne2m1eg +ne1me +nemes1s +ne2més +ne1mé +ne2m1id +ne1mi +nem1iss +n1eng +n1enn +ne2of +ne1o +ne2o1li +ne2o1lo +ne2o1ló +ne2or +ne2os +ne2ot +neó2r +ne1ó +n1erd +2n1e2red +ne1re +2n1e2rõ +ne2sá +ne2sem +ne1se +ne2setr +ne2so +2n1e2sõ +ne1sü2 +ne2süv +nes3z2s2 +nes2z +2n1e2s1zû +ne2t1eg +ne1te +ne2tír +ne1tí +ne2tok +ne1to +ne2tol +ne2t1öl +ne1tö +ne2vés. +ne1vé +2n1e2võ +ne2zer +ne1ze +2n1e2züs +ne1zü +1né +2n1ég. +2né1ge +né2get +2n1é2gõ +né2gyá +nég2y +né2lû +né2p1a2 +né2pá +né2peg +né1pe +né2p1e2l +2n1é2pít1k2 +né1pí +né2p1o2 +né2pu +2n1érc +2n1érd +né2ren +né1re +2n1é2ré +2n1érh +2n1érm +né2r2õ. +né1rõ +2n1ér1te +2n1ér1té +2n1érv +2n1érz +né2s1zá +nés2z +né2szeg +né1s1ze +2n1ét1k2 +né1va2 +néve2l +né1ve +né2v1e1lõ +né2ves +né2vü +2n1évz +nfe2li +n1fe +nfüs2 +n1fü +nfüst1 +nfüs1tö2 +ng1a2dá +n1ga +ng1a2dó +n2g1a2la +n2g1alj +n2g1ág +n1gá +n2g1árn +ngás1s2 +n2g1e2g +n1ge +ng1elm +nge2rá +n2g1ér1té +n1gé +n2g1id +n1gi +ngi2g +ng1i1ga +ng1i1gé +n2g1ing +n2g1int +ng1ír +n1gí +ngo1szk +n1go +ngos2z +n2g1ön +n1gö +ng1ö2z +n2g1u2g +n1gu +n2g1üz +n1gü +n2g1û +n2gy1em +ng2y +n1gye +n2gyél +n1gyé +n2gyis +n1gyi +n2gyí +nhá2zig +n1há +nhá1zi +nhe2i +n1he +nhé2t1 +n1hé +1ni +ni2ad +ni1a +ni2ah +ni2am +2n1i2de +ni2dom +ni1do +2n1i2dõ +nie2l +ni1e +ni1f2 +2n1i2ga +2n1i2gá +2ni1gé +2n1i2l2y +2n1imp +2n1ind +2n1inj +2n1in1té +ni2pa +ni1p2r +ni2rat +ni1ra +2n1i2rá +2n1irg +2n1i2ro +2n1is1k2 +ni2s1ü2 +ni2s1za +nis2z +ni2tal +ni1ta +1ní +2n1íg +ní2ra +2n1í2rá +2n1í2ró +2n1í2tél +ní1té +nka1b +n1ka +nk1adós +nka1dó +nk1a1já +n2k1alk +nk1a2ut +nka1u +nk1áll +n1ká +nkás3s2 +n2ká1tu +nkci2ós2z +nk1ci +nkci1ó +n2k1ell +n1ke +nké2pel +n1ké +nké1pe +nki2g +n1ki +n2k1i1ga +n2k1ing +nk1in1té +nki2s1a +nk1k2 +nk1old +n1ko +n2k1ö2lé +n1kö +nk2rit +nk1ri +nkron1n +nk1ro +nk1uz +n1ku +nk1ü2z +n1kü +nlac1 +n1la +nla2kos +nla1ko +nlo2n1 +n1lo +nme2g1 +n1me +nmono2x +n1mo +nmo1no +nn1áll +n1ná +n2n1é1ge +n1né +n2n1or +n1no +n2n1ug +n1nu +n2n1ú +n1nü2 +nn1ü1lõ +n2n2y +n3nya1lá +n1nya +nny1a2n +nny1ár +n1nyá +nny1á2z +n3nyil +n1nyi +n3nyol +n1nyo +nny1öz +n1nyö +n3nyu +n3nyú +1no +no1c2h +n1off +2nogn +n2o1g2rá +2nog1t2 +no2kar +no1ka +no2kas +n2o1ke2 +no2ker +no2k1ir +no1ki +no2kö +no1k1ro +2n1ok1ta +no2k1ú +2n1o2la +2n1o2l2y +no2mér +no1mé +no2mol +no1mo +nom1p +non2c3 +no2n1in +no1ni +n2o2o +2n1o2pe +n2o1p2h2 +no1p2la +n2opl +n1ord +2no1re +n1org +no1sz1kó +nos2z +2n1oszl +nosz3s2 +1nó +nó2dá2r +nó1dá +nó2rák +nó1rá +n1ó2rán +nó2rí +nós2z2 +n2ó2s3zen +nó1s1ze +1nö +nö2l +2n1ö2r +n1ös2s2z +nö2t1e +nö2ti +1nõ +n2õ1e2 +nõ2ir +nõ1i +2n1õr. +2n1õ2ré +2n1õ2ri +2n1õrk +2n1õrn +2n1õ2rö +2n1õrs +2n1õrt2 +2n1õrz +n1p2 +n1r +n2s1akk +n1sa +n2s1a2l +ns1e2le +n1se +ns1elt +n2s1ív +n1sí +ns3s +n1s2tab +ns1ta +ns1te2 +ns2te1i +n1stein. +n1stei1ne +ns1ur +n1su +ns1úr +n1sú +n1sy +nsza2ké +ns2z +n1s1za +nszeng1 +n1s1ze +nsz2fé +nszf2 +n2t1akk +n1ta +ntan2t1 +ntap2 +n2t1a2rá +n2t1ark +nt1aut +nta1u +n2t1a1zo +n2táld +n1tá +n2t1áll +n2t1árf +n2t1á1ru +nt1átl +nt1e2dé +n1te +n2t1eg2y +n2t1e1la2 +nt1elr +nte2m +n2t1emb +n2t1e1me +nte2r1a +nte2s2z +nt1e1s1ze +nt1e1va +nté2ké +n1té +n2t1é2le +n2t1ér1té +nt1érz +ntés1s2 +nt1ét1ke +ntét1k2 +n1t2hu +nti1k2l +n1ti +nti1p2 +nt1i1rá +nt1i1zo +nt1í1rá +n1tí +nt1írt +n2t1íz +nto1g2 +n1to +nt1o2l2y +nt1ó2ri +n1tó +n2t1ö2v +n1tö +n2t1ug +n1tu +ntus3s +n2t1ü2s +n1tü +n2t1üt +n1tya2 +nt2y +n2ty1al +1nu +2nud +2nug +nu2go +nu2s1ol +nu1so +2n1u2tó +1nú +2n1úg +2n1ú1té +1nü +2n1ü2g +2n1üld +n1üss +2n1ü2te +nü2ti +nü2tö +n1ü2tõ +2n1ü2z +1nû +nvers1 +n1ve +n2y +1nya +2ny1abl2 +2nya1dó +2nya1ga +2nya1gá +2nyag1b2 +2nyagh +2nyagn +nya2gos +nya1go +2nyagr +2nyag2y +nya2k1é2k +nya1ké +nya2ké2r +nya2lap +nya1la +2ny1alm +2ny1ant +nya2nyá +nyan2y +ny1a1pa +2ny1arc +ny1aut +nya1u +1nyá +2ny1á2g +ny1á2lo +2nyámh +2nyámn +2nyáp +2ny1á2rat +nyá1ra +2ny1ár1p2 +2nyá1ru +2ny1á2só +2ny1á2t1a +1nye +2ny1e2g2y +2ny1elc +n2y1eln2y +ny1e2l1o +ny1elõh +nye1lõ +2ny1elõn +nyel2vá +2nye2mel +nye1me +2ny1e1ne +nyereg1 +nye1re +2nye1sõ +1nyé +2ny1éhes +nyé1he +ny1é1le +2ny1ép +2nyész2õ1e +nyés2z +nyé1s1zõ +2ny1év. +2ny1évb +2ny1é2vek +nyé1ve +2ny1é2vet +2ny1évn +2ny1évr +2ny1évv +1nyi +2nyid +2ny1i1ga +2ny1ill +2ny1i2má +2ny1ind +2ny1inf +2ny1int +2ny1i2p +2ny1irt +2ny1is1k2 +2ny1ism +2ny1ist +2ny1iz +1nyí +2ny1í2v +ny1k2 +nylo2n1 +ny1lo +1nyo +2ny1o2koz +nyo1ko +3nyom +ny1op +ny1ors +2ny1ott +1nyó +1nyö +ny1öl +1nyõ +ny1p2 +nys2 +3nys. +1nyst. +nyst2 +1nyu +ny1ud +2ny1uj +2ny1u1no +nyu2n +2nyus +2ny1u2t +1nyú +2ny1újs +ny1úr. +ny1ú2s2z +2ny1útj +2ny1útt +1nyü +2ny1üg +2ny1üld +ny1ür +2ny1ü2t +1nyû +2nyûr +ny1ûr. +2nyûz +ny1û2zé +ny2van +ny1va +n2z1ak +n1za +n2z1a2n2y +n2z1a2p +nz1á2ru +n1zá +nz1e2dé +n1ze +n2z1eg +n2z1el1f2 +n2z1ell +n2z1e2lõ +n2z1ember +nzem1be +n2z1e2més +nze1mé +nze2s +n2z1eszk +nzes2z +nz1é1he +n1zé +nz1é1re +n2z1érm +n2z1é1rõ +n2z1i2p +n1zi +nz1k2 +n2z1ön +n1zö +nz1ös +nz1p2 +n2z3ság +nz2s +n1z1sá +nz3sár +nz3seg +n1z1se +n2z3só +n2z1ü2g +n1zü +n2z1üz +nz3z +2o. +2o1a +oa2cé +oa2n +oa1n1e +o1á +2o1ba +oba1i2 +obás3s2 +o1bá +ob2bol +ob1bo +ob2bö2 +2o1bi +obi2lan +obi1la +obi2o +2o1bo +obo2ra +o2b1ü2 +2o1ca +2o1ce +oc1e2m +2o1cé +oc2k1é2 +2o1cö +o2c1sí +oc2s +o2c1sú +oc3s2z +o2c3z +oda1p +o1da +1o2dáz. +o1dá +1o2dázh +1o2dázn +1o2dá1zó +1o2dázt +1o2dáz1zu +2o1de +2o1dé +od1é1ve +o2d1í2 +1o2dú +2o1e +o2e1i +oe2l +oe2m +o2er +o2es +oe1t2 +oe2v +2o1é +oé2de1re +oé1de +o2ég +oé2l +2o1fa +2o1fe +2o1fé +o1fl +2o1fo +2o1fó +o1f2ri +og1a2la +o1ga +o2g1alt +o2g1ap +og1as2s2z +o2g1as2z +og2a2t1e2 +og2at +2o1gá +o2g1át1k2 +o2g1átr +2o1ge +o2g1e2d +og1e2g +o2g1e2l +o2g1em +oge2o +og1e1re +oge2s +o2g1ez +o2g1él +o1gé +o2g1érv +o2g1id +o1gi +o2g1i2g +og1int +o2g1i2p +og1ir +o1g2lic +og1li +og2lób +og1ló +o1g2na1i +og1na +2o1gó +o2g1ö +2o1g2raf +og1ra +2og1rá +o2g1u2t +o1gu +o2g1ü2 +2og2y +ohó2c2s +o1hó +o1i +o2ib +o2ih +o2in1te +oi2o +2oiz +oi2zo +o1í +2o1já +2o1je +ok1a1já +o1ka +o2k1a2la +ok1alj +ok1a2ra +ok1arc +ok1ass +o2k1a2to +okás1s2 +o1ká +2o1ke +oke2d +ok1e1dé +ok1e2g +o2k1e2m +ok1e1re +ok1e1rõ +o2k1es +ok1e2v +ok1ez +2o1ké +ok1é2ne +o2k1ér. +o2k1érc +o2k1ér1te +o2k1é1ve +ok2hi +okh2 +o2k1i2d +o1ki +ok1i2rá +ok1ist +ok1izm +o2kí +ok1ív +o2k1í2z +ok2lim +ok1li +ok2lor +ok1lo +okon1n +o1ko +o2k1os2z +ok1ó2r +o1kó +o2k1öb +o1kö +o2k1ö2l +okö2r +ok2ris +ok1ri +ok2rom +ok1ro +2o1ku +o2k1u2s +o2k1ü2 +ola1d +o1la +ol1a1da +1olajf +o2lajt +ola1s1zó2 +olas2z +ola2szór +2olat +ola2tol +ola1to +ol1áll +o1lá +olás1s2 +ol2c1e +ol2cé +ol2csin +olc2s +ol1c1si +ol2c3sor +ol1c1so +ol2da1p +ol1da +ol2dál +ol1dá +ol2d1is +ol1di +ol2d1ud +ol1du +ol2d1ü +2o1le +o2l1e2l +o2l1é2r +o1lé +ol2f1ö +ol2fü +o2l1il +o1li +ol1ind +2olit +ol1ki2 +ol2l1õ +ol1ó2rá +o1ló +ol1p2 +ol2taj +ol1ta +ol2tág +ol1tá +ol1te2 +ol2t1el +ol2t1em +ol2t1ér +ol1té +ol2tí +ol2tõr +ol1tõ +ol2t1ü +o2l1ug +o1lu +1olvad +ol1va +1olvas +oly1ag2y +ol2y +o1lya +o2lyaj +o2lyál +o1lyá +o2ly1ü2 +o2m1a2dó +o1ma +o2m1adt +om1ag2y +o2m1a2j +o2m1akn +o2m1a1kó +o2m1a2l +o2m1a1na +o2m1ann +om1app +o2m1ar +om1atom +oma1to +o2m1ár1b2 +o1má +o2m1á2ru +omás3s2 +2omb +om2bág +om1bá +om2ber +om1be +2o1me +om1e1ce +o2m1e1dé +o2meg +om1eg2y +ome2l +o2m1e1le +o2m1ell +o2m1elm +o2m1elt +o2m1e2m +om1e1ne +ome2o1 +omeos2z2 +o2m1e2rõ +o2m1e2v +o2m1e2z +2oméd +o1mé +om1érc +o2m1ér1te +om1é1ve +om1i1de +o1mi +o2m1il +om1ind +o2m1ip +o2m1i2r +o2m1ism +om1i1zo +om1ír +o1mí +om1í2v +omog2 +o1mo +o2m1o1la +o2m1old +o2m1op +2omor +o2m1ö2 +o2m1õ2 +om1p2lo +om1p2re +oms2 +om1st2 +o2m1ud +o1mu +o2m1uj +o2m1ü2 +2o1mû +o2m1ûz +on1a1gá +o1na +on1ajt +ona2le +on1a2va +o2n1átr +o1ná +on1átv +on2cas +on1ca +on2c1é2 +onc3s2z +onc2s +on2d1ó2r +on1dó +o2n1e2g +o1ne +o2nek +one2l +on1e1le +on1e1lõ +one2r +on1ern +o2n1ég +o1né +on1é1he +o2n1é2l +on1é1ne +o2n1é2p +on1év. +on1é1ve +ong1as2z +on1ga +oni2g +o1ni +o2n1i1gé +o2n1ip +on1ism +on1izz +onkás1 +on1ká +on3nye +on2n2y +on3nyo +o2n1old +o1no +on1opt +ono2s1zi +onos2z +o2n1ö2 +o2n1õ +on2t1aj +on1ta +ont1á2ron +on1tá +ontá1ro +on2tát +on2ted +on1te +on2t1ér +on1té +on2t1ös +on1tö +on1t2ri +o2n1ud +o1nu +o2n1ug +o2n1ut +o1nú2 +o2núj +on1ús +2o1nü +on1ü2l +on1üt +on1ü2v +on2y1an2y +on2y +o1nya +o2ny1ál +o1nyá +ony1em +o1nye +o2nyer +ony1es +ony1é2g +o1nyé +o2ny1ir +o1nyi +o2ny1it +o2ny1ó2 +o2nyö +o2ny1õ2 +2onysio1sá +onys2 +ony1si +onysi1o +on2zed +on1ze +on2z1e2s +on1zé2 +on2zér +on2z1sá +onz2s +2o1o +o2ob +o2of +o2og +o2ol +oo2r +o2ot +oo2x +o2ó +o1ö2 +o1õ +2o1pa +op1e2g +o1pe +2oph2 +op2his +op1hi +2opl +op2le +2o1po +2opr +op2rod +op1ro +2ops +opsz2t2 +ops2z +2o1pü1 +or1abl2 +o1ra +or1a1la +or1alj +or1alm +ora2n +o2r1a1na +o2r1ant +or1an2y +ora1p +or1arc +or1atl +o2r1á2g +o1rá +o2r1á2rak +orá1ra +o2r1á1ru +or2c1sõ +orc2s +or2dö +or2dú +o2r1e2d +o1re +or1elm +or1eln +o2r1e1lo +or1e2lõ +or1els +o2r1e2m +o2r1eng +or1en2y +o2r1e2r +ore2s +or1e1sõ +or1é2gé +o1ré +o2r1é2l +or1é2ne +o2r1ép +2orgi1a +or1gi +org2i2a1i +2or3g2i1á +or1i2de +o1ri +1o2ri1e +o2ri1ga +o2r1ing +or1i2pa +o2r1is. +or1isp2 +or1iss +or1is1te +ori2s2z +o2r1ír +o1rí +o2ríz +or1kr +or2n2e. +or1ne +o2r1or +o1ro +or1ó2r +o1ró +o2r1ö +or1pl +or1pr +or2r1e2v +or1re +or1se2 +or2sel +or2ses +or2se2t +or1sé2 +or2s1ég +or2s1ér +or2sét +or2sis +or1si +ors3s +1ország. +ors2z +or1s1zá +or2t1a2d +or1ta +or2tá1ru +or1tá +or2teg +or1te +ort1elm +or2t1em +ort1es2z +ort1ért +or1té +ort1ing +or1ti +or2t1os2z +or1to +or2t1ös +or1tö +o2r1ud +o1ru +o2r1ug +or1u2r +o2r1u2t +o2r1ü +o1ry +orz1z +o2s1ac +o1sa +o2s1a2la +o2s1alk +osa2t +o2s1at2y +o2s1áf +o1sá +o2s1áll +o1se2 +os1ed +os1eg +os1el +os1emb +os1en +os1er +os1es2z +o2s1ép +o1sé +o2s1id +o1si +os1i1na +os1int +o2sir +o2s1í2r +o1sí +os1k2 +os1ki2 +os1me2 +os1p2 +ossz1es +os2s2z +os1s1ze +os3szék +os1s1zé +os3s1zö +os3s1zõ +os2t1an2y +os1ta +os1t1he +1ost1ro +1os1tya +ost2y +o2s1uj +o1su +o2s1ut +o2s1úr. +o1sú +os1út +o2s1ü2 +o2sz1alk +os2z +o1s1za +o2sz1e2l +o1s1ze +o1sz2fe +oszf2 +2o1szkl +2o1sz2kóp. +osz1kó +2o1sz2kópk +2o1sz2kó1po +2o1sz2kópp +o2sz1ors +o1s1zo +osz1ó2r +o1s1zó +o2s3zö +o2s3zõ +o2s2zut +o1s1zu +o2s1zû +ota1g +o1ta +o2t1a2u +o2t1ág +o1tá +ot1á2rak +otá1ra +2o1te +o2t1e2g +2oté1ka +o1té +o2t1ér1té +o1t2he +ot2hi +2o1tí +oto1g2 +o1to +oto1p +otosz2f2 +otos2z +otot2 +otókés2z1 +o1tó +ot2ókés +otó1ké +ot2ó2pa +o2t1ó2sá +2ot1ro +ot2tar +ot1ta +ot2té2g +ot1té +o2t1ü2 +o1u +o2uc +o2un +o2ur +o2us +o2ut +ouv2 +o1ú +o1ü +o1û +ovas3s +o1va +owat2 +o1wa +o2wi +1o2xi1do +o1xi +o1ya +o1ye +oy1s2 +oza2g1 +o1za +oza2tí +ozatkés2z1 +ozat1k2 +ozat1ké +oza2t1ol +oza1to +ozás3s2 +o1zá +oz1é2p +o1zé +o2z1il +o1zi +ozi1s2z2 +oz3s2z2 +oz2s +2ó. +ó1a +óa2c +2óa2d +óa2g +óa2j +2óak +2óa2l +2óa2m +óa2n +2óa2r +2óa2u +óa2v +2óa2z +2ó1á +óá2c +óá2gak +óá1ga +óá2l +óá2p +óá2r +óá2t1 +2óbar +ó1ba +óba1s2 +2óbec +ó1be +2óbe1f +2óbem +2óbes +2ó1bé +2óbil +ó1bi +2óbi1o +2óbir +2óbit +óbo2rá +ó1bo +ó2c1an +ó1ca +óc3c +ó1c3ho +óc2h +2ó1ci +2ó1cí +ó2c3ság +óc2s +ó1c1sá +ó2csár +óc3sip +ó1c1si +óc3s2z +2ódar +ó1da +ó2d1ál +ó1dá +ódá2r +ód1á1ra2 +ódás1s2 +2ó1de +ó2d1id +ó1di +ód1is1k2 +2ó1dí +ó2d1ír +ód1öl +ó1dö +ód2res +ód1re +ód2rót +ód1ró +ó1dy +ód3z2s +ód2z +2ó1e2 +óe1l1a2 +ó1é +óé2g +óé2l +óé2ne +óé2p +óé2ré +óé2ri +óé2rõ +2óér1té +2óérz +óé2te +óé2ve +2óf2a. +ó1fa +2óf2a1e2 +2ó1fá +2ó1fi +2ó1fo +2ófr +óf2ri +ófus1s +ó1fu +2ó1fü +2óg +ógi2as +ó1gi +ógi1a +ógo2r1as +ó1go +ógo1ra +ógy1a2n +óg2y +ó1gya +ógy1el +ó1gye +ógy1es +ógy1ér +ó1gyé +ógy1in +ó1gyi +ó2gyü +2ó1há +2ó1hé +2ó1hi +2ó1hí +2óhor +ó1ho +2ó1hõ +2ó1hu +ó1i +2ói2de +2ói2dõ +ói2g +2ói1gé +ói2má +2óing +2óint +2ói2p +ói2rat +ói1ra +2ói2rá +ói2ro +2ói2s +ói2ta +ói2z +2ó1í2 +2ójá1té +ó1já +2ó1je +2ókap +ó1ka +2ók2a1te +ók1áll +ó1ká +ók1á1ru +ó2k1eg +ó1ke +2ókel +2óker +2ókez +2ók2én2y +ó1ké +2óké1pe +2óképl +2óképn +2ókép1t2 +2óképz +2óké1ré +2óké1rõ +2ókés +ó1k2hi +ókh2 +2óki1e +ó1ki +2óki1ne +ók1int +2ókin2y +ók1i1ro +2ókomm +ó1ko +2ók2o1o2 +2ó1kö +ó1kraj +ók1ra +ó1k2ré +ók2ri +ó1k2ro +ó2kum +ó1ku +2ókut +2ókül +ó1kü +2óküs +ó2k1ü2z +ól1aj +ó1la +ó2l1a2r +ólás3s2 +ó1lá +1ólb +2ó1le +ó2l1e2se +ó2l1e2si +ó2l1ér +ó1lé +óli2ó1é +ó1li +óli1ó +ól2o2m1e +ó1lo +ólo2mé +ól1öl +ó1lö +ólu2mi +ó1lu +2ómag +ó1ma +2ó1me +ómen1k2 +2ómé1re +ó1mé +2ómé1ré +2ómérn +2ómét +2ó1mi +2ómor +ó1mo +2ómoz +2ó1mó +2ó1mû +2ónag +ó1na +óna2ké +ón2a2kü2 +ó2n1al +ó2n1áll +ó1ná +ón1e2d +ó1ne +2ó1né +ón1o2x +ó1no +2ó1nö +ón1ön +ón1öt +ónus3s +ó1nu +ó2n1ut +ó2n1ü2 +2ónyil +ón2y +ó1nyi +2ó1o2 +ó1ó2 +2ó1ö2 +ó1õ +2ó1pa +óp1a2rá +2ó1pá +ó1p2l +ó1p2ré +ó1p2ro +ó1p2ró +ó2r2a1a +ó1ra +1ó2rab +1ó2ral +2órád +ó1rá +1ó2rá1é +órá2g +ó2r1ág2y +1ó2ráh +1ó2rár +1ó2ráv +2ó1re +ó2r1e2g +ó2r1e2l +óre2s +ór1e1se +ó2r1e2ti +ó2r1é2l +ó1ré +ó2r1i2o +ó1ri +ó2r1ism +ór1ír +ó1rí +2ó1ro +ó2r1o2ki +ó2r1o2ko +2ó1rö +ó2s1as +ó1sa +ó2s1ál +ó1sá +2ó1se +ó2s1e2g +ós1emb +ó2s1id +ó1si +ó2s1i2n +ó2s1is1k2 +ós1k2 +óskés2z1 +ós1ké +2ósor +ó1so +ó2s1os +ó1só2 +ós1ór +ós1p2 +2ós1pe +ós2pek +ós2por +ós1po +óst2 +ó1s2tí +2ó1str +2ó1su +ó2s1ur +ó2s1úr +ó1sú +ósü2l +ó1sü +2ó1sû +2ó1s1za +ós2z +ó2s3zac +2ó1s1zá +2ószel +ó1s1ze +2ószem +2ószen +2ó1s1zé +2ó1s1zi +2ó1s1zí +ósz2láv. +ósz1lá +2ószol +ó1s1zo +2ó1s1zó +ósz2ó1za2 +2ó1s1zö +ós3z2s2 +ósz1th +ószt2r +ó1sz2v +ót1a2d +ó1ta +2ótag +2ótar +ót1áll +ó1tá +2ótár +2ótáv +ótá2v1i2 +ótá2v1í2 +2ótec +ó1te +ót1e2g +ót1ej +2ótel +2óten +2óter +2ótén +ó1té +ót1il +ó1ti +ót1ing +2ó1tí +ót1í2v +ótme2g1 +ót1me +ót1orr +ó1to +ó2t1or1s2 +2ótov +2ó1tö +ót2ré +óttûz1 +ót1tû +2ó1tu +ót1u2t +2ó1tü +ó1u2 +ó1ú2 +2ó1ü2 +ó1û +ó2vat +ó1va +2óvál +ó1vá +2ó1ve +2ó1vé +1óvh +2ó1vi +óv1in +1óvj +1óvn +1ó2vod +ó1vo +1óv1t2 +2ó1za +óza1s +óz2a2tak +óza1ta +óza2t1al +óz2a2t1e +óz1e2m +ó1ze +ó2z1é2 +ózi2a +ó1zi +ó2z1i2n +ó2z1u2r +ó1zu +ó2z1ú2 +óz3z2s2 +2ö. +ö1a +ö1á +ö2b1á2 +öb2b1a2 +öb2bá +öb2b1ez +öb1be +öb2b1is +öb1bi +öb2b1o +öb2bó2 +ö2b1eg +ö1be +ö2b1e2l +ö2b1e2n +ö2b1ért +ö1bé +öb1me2 +ö2c1sé +öc2s +ö2d1a2 +ö2d1é2v +ö1dé +öd1fé2 +öd1f2 +ö2d1is +ö1di +ö2d1í +ö2d1o +ö2d1ó2 +öd3z2s +öd2z +ö1d3zu +ö1e +ö1é +ö2g1a2 +ö2g1el1f2 +ö1ge +ö2g1es2z +ö2g1ev +ögés3s2 +ö1gé +ög3g +ö2g1id +ö1gi +ö2g1im +ö2g1in +ö2g1o +ö2g1u2 +ö1i +ö1í +ö2k1a2 +ö2k1á +ök1elh +ö1ke +ö2k1e2m +ö2k1ér1té +ö1ké +ökés3s2 +ök1és2z +ö1ki2 +ö2k1id +ö2k1if +ö2k1im +ök1ív +ö1kí +ö2k1í2z +ök1ma2 +ö2ko +ökös3s +ö1kö +1ök1rö +ök1s1za2 +öks2z +ökü2l +ö1kü +ö2k1ü1lé +ö2l1a2 +ö2l1á +öl2c1sá +ölc2s +öl2c1s1í +öl2c1so +öl2dab +öl1da +öl2d1a2l +öl2dan +öl2d1as +öl2d1á2 +öl2d1éh +öl1dé +öld1ing +öl1di +öl2d1is +öl2dos +öl1do +öl2d2z +öl1e2b +ö1le +öl1eg2y +ö2lel +ö2le2m +öl1e1me +öl1e1mé +öl1eml +öl1eng +ö2l1e2r +ö2l1es2z +ö2l1e2v +ö2l1é2g +ö1lé +ölé2k +öl1é1ke +ö2l1é2l +ölé2nyeg +öl2én2y +ölé1nye +ö2l1é2p +ö2l1ér. +ö2l1é2rek +ölé1re +ö2l1érh +ö2l1érj +ö2l1érn +ö2lé1rõ +ö2l1ért +öl1f2 +öl2gya +ölg2y +öl2gyá +ö2l1id +ö1li +ö2l1ij +ö2l1il +ö2l1i2r +ö2l1is +ö2l1iz +öl1í2r +ö1lí +ö2l1o2 +ö2l1öl +ö1lö +ölös3s +ö2l1ö2v +öl1p2 +ö2l1u2 +ö2lú +ö2l1ült +ö1lü +ö2l1üt +1ölyv +öl2y +ö2m1a2 +ö2m1á2 +2ömb +öm2b1a2 +öm2b1á +öm1bé2 +öm2bú +ö2m1eb +ö1me +öme2g1a +ömeg1g +ö2m1el +ö2m1él +ö1mé +ö2m1it +ö1mi +ö2m1o2 +öm1p2 +ömpin2 +öm1pi +ö2m1u +ö2n1a2 +ön1ám +ö1ná +ön1á2p +ön1át +2önc +ön2ci +ön1e2g +ö1ne +ö2n1e2l +ö2n1em +ön1e2r +ön1es +ön1e2v +ö2n1é2l +ö1né +ön1é2p +ön1és2z +ö2név +ön1év. +ön2gyá +öng2y +ö1ni2 +ön1ig +ön1im +ön1in +ön1ir +ön1is +ö2n1ír +ö1ní +önké2r1e +ön1ké +ön2n1a2 +ön2n1á +ön1or +ö1no +ön1os +ön1ó2r +ö1nó +ön1õ2r +ö1nõ +öntös3s +ön1tö +ö2n1u2 +ö2n1ú +ön1üt +ö1nü +ö2ny1a2 +ön2y +ö2ny1o +öny2v1a2 +öny2vár +öny1vá +önyves1 +öny1ve +öny2v1ég +öny1vé +ö1o +ö1ó +ö1ö +ö1õ +öp1ép +ö1pé +ö1pi2 +öp1ir +ö2r1a2 +ö2r1á2 +2örb +2örc +2ör1dí +2ör1dü +1ö2reg +ö1re +öre2ga +öre2gu +ö2r1el +ö2r1er +ö2rég +ö1ré +ö2r1é2l +ö2r1é2ri +örés1s2 +örfö2l +ör1fö +ör2f1ö1lé +2örg +öri2g +ö1ri +ö2r1i1ga +ö2r1in +ör1i2p +ö2r1ir +ö2r1is +ör1i2v +ö2r1ír +ö1rí +ö2r1ív +2örn +ör2ny1a2 +örn2y +ö2r1o +2örög +ö1rö +örös3s +örös2z2 +ör2t1a2l +ör1ta +ör2t1í2 +ö2r1u2 +ö2r1ú2 +1örv. +ör2z1s1a +örz2s +ör2z1s1á +ö2s1a2 +ö2s1á2 +ö2s1el +ö1se +ö2s1em +öses3s +ö2s1ez +ö1si2 +ö2s1in +ö2s1iz +ös1k2 +ö2s1o2 +ö2s1ó2 +ös1õr +ö1sõ +össz1ál +ös2s2z +ös1s1zá +ös3s1zí +ö2s1üg +ö1sü +ös1ü2v +öszt1an +ös2z +ösz1ta +ösz2t1el +ösz1te +ö1t1a +ö1t1á2 +öt1e2m +ö1te +öte2z +öt1e1ze +öt1ér +ö1té +öt1é2v +1ötf +2öth +1öt1k2 +1ötm +ö1t1ó2 +ö2tön +ö1tö +ö2tös +öt2t1á2 +ö1t1u +ö1tü2 +öt1ül +ötve2g +öt1ve +ötvé2nyé +öt1vé +ötv2én2y +ö1u +ö1ú +ö1ü +ö1û +1öv. +öveg1g +ö1ve +övis1s +ö1vi +1övn +1övv +ö2z1a2 +ö2z1á2 +ö2z1eb +ö1ze +ö2z1egés +öze1gé +ö2zel1lá +ö2z1em +ö2z1er +ö2z1e2s +ö2z1e2v +ö2z1é2lel +ö1zé +özé1le +ö2z1é2let. +özé2pem +özé1pe +ö2z1é2pí +ö2z1érd +ö2z1ét1k2 +ö2z1i2g +ö1zi +ö2z1int +ö2z1i2r +öz1ír +ö1zí +öz1me2 +ö2z1o2 +özok1 +ö2z1ó2 +öz1p2 +ö2z3s +ö2z1u2 +ö2z1ú2 +ö2z1ü2g +ö1zü +ö2z1ü2z +ö1zy +2õ. +õ1a +õa2c +õa2dan +õa1da +õa2da1ti +õa2dá +õa2dok +õa1do +õa2dot +õa2dó +õadókés2z1 +õad2ókés +õadó1ké +õa2g +õa2j +õa2k +õa2l +õa2n +õa2p +õa2r +õa2t +õa2u +õa2z +õ1á2 +õát1 +õba2l1 +õ1ba +õb2bis +õb1bi +õb2bu +õ1b2l2 +õ1b2r2 +õ2d1el +õ1de +õdés3s2 +õ1dé +õ2d1in +õ1di +õd2ró +2õ1e +õe2c +õe2d +õe2g +õe2le +õe1l1o +õe2lõt1te +õe1lõ +õe2n +õe2p +õe2re +õe2rõb +õe1rõ +õe2rõ1i +õe2rõk +õe2rõ1ne +õe2rõnk. +õe2rõr +õe2rõs +õe2rõt +õe2rõv +õe2s +õ1é +õé2g +õé2l +õé2p +õé2ri +õé2te +õ1f2r +õga2z1 +õ1ga +õge2o +õ1ge +õ1i +õi2de1a +õi1de +õi2de1á +õi2deg +õi2dé +õi2dõ +õi2g +õi2ma +õi2má +õi2na +õi2p +õi2ra +õi2ro +õ2is2z +õi2ta +õi2va +õi2z +õ1í +õí2r +õí2v +õjob2 +õ1jo +õ1k2ré +õ1o2 +õ1ó2 +õ1ö2 +õ1õ2 +õ1p2 +õpo2ra +õ1po +õr1al +õ1ra +õr1at +1õ2r1a2u +1õ2r1ál +õ1rá +õr1á2p2 +õr1ár +õr1át +õr1e2ge +õ1re +õr1e2gé +õrei2g +õre1i +õr1elv +õren1dõ2 +õ2r1é2l +õ1ré +õr1i1ga +õ1ri +1õ2ril +õr1ing +õ2r1i2p +õ2r1ir +õ2r1o2l +õ1ro +õron2g +1õ2r1or +õr1os2z +1õ2r1ö2r +õ1rö +õrös1s +õ2r1öv +1õ2r1õr +õ1rõ +õr1p2 +1õr1se +õrt2 +1õr1ti +1õr1tr +õr1u2t +õ1ru +õ2rül +õ1rü +õ2s1ad +õ1sa +õs1a2g +õ2s1ak +õ2s1a2l +õs1a2n +õs1a1rá +õsa2v +õ2s1ál +õ1sá +õs1eg2y +õ1se +õs1e2l +õ2s1em +õ2s1ep +õs1erd +õse2s +õ1s1e1se +õ2sib +õ1si +õ2s1id +õs1iz +õs2kál +õsk2 +õs1ká +õs1okt +õ1so +õs1p2 +õs2pe +õs2s2z2 +õs3szl +õs3s1zü +õst2 +õ1str +õ2s1ür +õ1sü +õsz1e2lõ +õs2z +õ1s1ze +õszt2 +õt1áll +õ1tá +õt2ra +õt2ri +õt2t1o +õ1u +õu2r +õ1ú +õú2r +õú2s +õ1ü +õü2g +õü2r +õü2t +õü2v +õü2z +õ1û +õz1a2g +õ1za +õz1e1lo +õ1ze +õ2z1er +õz3sug +õz2s +õ1z1su +õ2z3sü +õz3s2z2 +õ1zü2 +õ2z1üz +1pa +p2a1á2 +pa2ce +pa2c2h +pa2dag +pa1da +pa2de +p2a1e2 +pa1g2n +pa2kad +pa1ka +pa2lap +pa1la +2p1alj +pa2m1as +pa1ma +pa2mur +pa1mu +pa2nal +pa1na +p1a2nya +pan2y +pa2p1il +pa1pi +par1á1gá +pa1rá +2parb +pa2r1e2l +p2a1re +par1is1k2 +pa1ri +pa2r1ok +p2a1ro +2parr +par2t1a2l +par1ta +par2tol +par1to +pa2t1eg +p2a1te +pat1ért +p2a1té +pa2ul. +pa1u +pa2x +2p1a1xi +1pá +pá2c1sü2 +pác2s +pá2ga +pá2g2y +p1ál1lí +p1ál1ló +pá2mí +2pámn +pá2mu +pá1na2 +pá2n1am +pá2n1e +pá2ny1át +pán2y +pá1nyá +pá2po +2páram +pá1ra +pá2r1a1to +pá2r1e2 +pár2tak +pár1ta +pár2tál +pár1tá +pár2tár +pár2t1e +pár2tér +pár1té +pá2rus +pá1ru +pá2sir +pá1si +pá2t1a +2p1átm +pá2t1uk +pá1tu +pba2l1 +p1ba +pci2ókér +p1ci +pci1ó +pció1ké +pd2 +p1dr +1pe +pe1a2 +2pe1ci +pe2dén +pe1dé +pegés2z1 +pe1gé +pe2is +pe1i +p1elemz +pe1le +2p1el1k2 +2p1elm +2pe1lo +pe2l1o2s +2p1e2lõ1á2 +pe1lõ +2p1eltér +pel1té +2p1ember +pem1be +2p1e2mel +pe1me +pe2mó +2pe1ne +pen3n2y +pe2no +pe2nya +pen2y +pe2po +per1akt +pe1ra +pe2r1él +pe1ré +pe2rid +pe1ri +per1int +pe2r1os +pe1ro +pe2rox +pe2ró +pe2rö +2p1e2rõ +pe2rú +pe2sú +pe2s1z1á +pes2z +pe2s1zu +pe2s1z1ü2 +2p1e2v +1pé +2p1é2g +2p1é2je +pé1ki2 +pé2kü +2p1é2lé +2p1élm +2p1élr +2p1é2ne1ke +pé1ne +2p1é2pí +pé2pü +2p1érd +2p1érv +2p1érz +pé2s1e2l +pé1se +pé2s1z1á2 +pés2z +pé2s1zü +2p1év. +2p1évv +pfe2li +p1fe +p1f2ri +p1f2ro +p2hem +p1he +p2hi1á +p1hi +1p2hi1la +p2hi1u +1p2hok +p1ho +1p2hó +1pi +pi2ad +pi1a +2picl +pi2den +pi1de +pi2de1o +2p1i2dõ +p2i2eg +pi1e +pier2r2e. +pier1re +2p1i2ga +pigaz1 +2pi1ge +2p1i2gé +2p1i2l2y +2p1i2má +pin2g1a +ping1ár +pin1gá +pi2óh +pi1ó +pi2ós +pi2rat +pi1ra +pi2rod +pi1ro +2p1ism +pi1t2h +2pizz +1pí +2p1íg +pí2r1a2 +pí2rá +pí2rol +pí1ro +2p1í2ró +p1í2tél +pí1té +pki2s1 +p1ki +plas2 +p1la +1play. +pl2ay +ple2i2s +p1le +ple1i +p2lö +plüs2 +p1lü +plüss1 +pno1g2 +p1no +1po +po2csiz +poc2s +po1c1si +po1g1ra +p2o1g2rá +2p1okm +po2laj +po1la +pol2c3s +2p1old +2p1oml +pon2gas +pon1ga +pon2t1e +2ponz +2po2pe +po2p1é2 +p2o1pl +p2op1s +por1a1dó +po1ra +po2re2s +po1re +por1s +por2t1el +por1te +por2tes +por2tér +por1té +por2tin +por1ti +por2tü +po2se2 +po2s1é +po1szf2 +pos2z +2p1oszl +po2t1el +p2o1te +1pó +pó1ka2 +pó2k1ag2 +pó2rák +pó1rá +pó2rán +pó2rát +pós3s +pó2t1a2 +pó2tá +pó2t1e2 +pó2t1é2 +pó2ti +pó2tor +pó1to +p2ó2tu +p2ó2t1ü2 +1pö +1põ +põ1kr +2p1õr. +pp1akk +p1pa +pp1ekk +p1pe +pp1ko2 +ppo2d +p1po +pp1o1da +pp2ró +p2pú +p2rec +p1re +prek2 +pre1kl +pre1p2 +1p2resszionis +pres2s2z +pres1s1zi +presszi1o +presszio1ni +1p2res1s1zí +1p2rédál. +p1ré +pré1dá +1p2rédá1lá +1p2riv +p1ri +1p2r2o1ce +p1ro +1p2rog +p2roj +pro1k2h2 +pru2s1á +p1ru +prus3s +p1sc +p1s2k2 +p2s1ork +p1so +p1s2p +p1st2 +1p2szic +ps2z +p1s1zi +psz1ön +p1s1zö +pszt2 +p2t1i2o +p1ti +pto1g2 +p1to +pt1olv +1pu +pu2s1a2n +pu1sa +pu2se +1pú +p1úg +pú2t +1pü +2p1ü2g +pügyés2z1 +püg2y +pü1gyé +2p1üld +2pü1le +2p1ünn +püt2 +pü1th +2p1ü2z +1pû +1py +1qa +1qá +1qe +1qé +1qi +1qí +1qo +1qó +1qö +1qõ +1qu +qu2i +1qú +1qü +1qû +q2v +1ra +ra2b1ár +ra1bá +rabi2g +ra1bi +rab1i1ga +rab1i1gá +r1a2dag +ra1da +2radm +rae2g +r2a1e +ra2et +raé2de1re +r2a1é +raé1de +2rafik +r2a1fi +ra1f2r +r2ai2g2 +ra1i +2rajc +2r1a2kar +ra1ka +ra2kác +ra1ká +ra1k1lé +ra1k2ro +ra2lak +ra1la +ra2l1eg +ra1le +2ralk +ral2lá +2r1als +ra2mad +ra1ma +ra2mir +ra1mi +ra2mí +ra2nal +ra1na +ran2ga +ran2ge +ran2s1zá +rans2z +ra2nyal +ran2y +ra1nya +ra2nyál +ra1nyá +r2a1nye2 +rany1er +ra2nyé2 +ra2nyó +2ran1za +2ranzi1ti +ran1zi +r2a1o2 +ra2pák +ra1pá +2rapp +ra1p2r +ra2rán +ra1rá +rast2 +ra1s1ta +rasztá2r +ras2z +rasz1tá +rasz2t1á1ro +2r1a2tád +ra1tá +2ratc +ra1t1hó +ra2tir +ra1ti +2rat1ké +rat1k2 +2rat1ki +2ratokn +ra1to +ra2to1mo +2ratoz. +2rato1zi +2rat1s2t2 +ra2tür +ra1tü +ra2ub +ra1u +ra2us +2ra1ví +r2a1za2 +raz1an2y +ra2zel +r2a1ze +1rá +2r1ábr2 +rá2ca +2ráfi1a +rá1fi +2ráfiá1i +ráfi1á +2ráfián +2ráfiát +2ráfj +2ráfp +2rá1fu +2rá2fü +rá2ge +rá2gén +rá1gé +rág3g2 +rá2g2i. +rá1gi +rá2gil +2rágun +rá1gu +2rág2y +rá2l1a2l +rá1la +2r1állan +rál1la +2r1ál1lo +rá2lyú +rál2y +rá2nér +rá1né +ránt1ak +rán1ta +ránt1a2l +ránt1á2r +rán1tá +rán2t1e +2rá1nyí +rán2y +rá2nyol +rá1nyo +2rá1nyú +rá1p2 +rá2rad +rá1ra +2rárak +r1á2ram +rá2r1ál +1rá1rá +rá2rár +r1árboc1 +rár1b2 +rár1bo +rá2r1é +rá2rin +rá1ri +rá2rok +rá1ro +rá2rol +2rá1ru +rá2rul +rá2rus +2r1á2rú +rá2sir +rá1si +rá2s1ol +rá1so +2rá1só +rá2s1ó2r +rát1ad +rá1ta +rát1á2r +rá1tá +2r1át1lé +2r1átm +rá1t1ro +2r1átv +rá2zsár +ráz2s +rá1z1sá +rba2ná +r1ba +r1b2la +rbl2 +r1b2r2 +rc1ab +r1ca +r2c1al +rc1a2m +rc1a1rá +r2c1á2l +r1cá +r2c1áp +rc1e1dé +r1ce +r2c1e1le +r2c1e1lõ +rc1es2z +rcé2l +r1cé +r2c1él. +r2c1é1le2 +r2c1é1lé +r2c1éll +rc1élt +rcés3 +rc3hel2 +rc2h +r1c1he +r2c1i2d +r1ci +r2c1ing +r2c1i1zo +rckés2z1 +rc1ké +rc1kr +rc1or +r1co +r2c1ó2 +rc1ön +r1cö +rc1ös +rc3sõt +rc2s +r1c1sõ +r1c3za +rc2z +r2d1á2g +r1dá +rde2kér +r1de +rde1ké +rd1él. +r1dé +rd1é2le +rd1élr +r2d1id +r1di +r2d1i2nak +rdi1na +r2d1íz +r1dí +r2d1or +r1do +rd1ös +r1dö +r1d2rá +rdu2s1 +r1du +rd1út +r1dú +r1dy +r1d3zo +rd2z +1re +re2á1já +re1á +re2ák +reá2l1u2 +re2áv +2r1ebh +re2cá +re2c2h +redenc1 +re1de +re2dir +r2e1di +re2dí +re2dor +re1do +ree2s +re1e +re2et +re2g1a2l +re1ga +re2gap +r1e2góv +re1gó +2r1egy. +reg2y +re2gyez1 +re1gye +2r1e2gyé +2r1egys2 +re2inh +re1i +rei2rá +2re1jü +rek1arc +re1ka +re2k1as2z +re2k1emb +re1ke +re2kid +re1ki +re2k1ot +re1ko +re2lad +re1la +2r1e2lem2i. +re1le +rele1mi +2r1e2lemz +2r1elmél +rel1mé +2r1el1nö +2re1lo +re2l1o2s +re2lõ1i +re1lõ +2r1elr +2r1el1to +2r1elv. +2r1el1vá +2r1elvek +rel1ve +2r1elvet +2r1elvév +rel1vé +2r1elv1k2 +2r1elvn +r1elz +re2ma2j +re1ma +2r1ember +rem1be +re2mel +re1me +re2m1õ +2r1en1ti +re2of +re1o +re2o1g2 +re2ok +re2o1p2 +re2ot +re2ók +re1ó +re2ól +re2ós +re2ót +re2óv +re2pa2d +re1pa +re2pak +re2pal +re2pas +re1p1la +re2p1os +re1po +re1p2res +rep1re +2r1erd +re2res +re1re +2r1e2rõ +2r1ers +re2sa +re2sá +2r1es1kü +res1k2 +2resszionis +res2s2z +res1s1zi +resszi1o +resszio1ni +2r1eszm +res2z +re2t1an2y +re1ta +ret1ell +re1te +ret1e1lo +reu2t +re1u +rev1e2le +re1ve +re2vés +re1vé +2r1e2võ +re2x1 +2r1ezr +1ré +2rédál. +ré1dá +2rédá1lá +2r1é2de +2r2éf +ré2gá +ré2g1ó2 +2r1é2hes +ré1he +ré2kal +ré1ka +ré2kel +ré1ke +rék1e1lõ +r1é2kes +ré2les +ré1le +2r1é2let +2r1élm +2rél2y +ré2mo +ré2mu +ré2p1ed +ré1pe +2r1é2pí +ré2pü +2r1ér. +r1érd +2r1é2ret +ré1re +2ré1ri +2r1ér1té +2r1érz +ré2s1za +rés2z +ré2s1zá +ré2sz1er +ré1s1ze +ré2s1zo +ré2s1z1ö +ré2tal +ré1ta +ré2tí +2r1ét1k2 +ré2tö +2réven +ré1ve +2r1é2ves +ré2z1a +ré2z1e2 +ré2zin +ré1zi +ré2z1o +ré2z1si +réz2s +réz3s2z2 +rfi1s +r1fi +r1f2l +r2f1öln +r1fö +r1f2r +rgás1s2 +r1gá +rgés3s2 +r1gé +rg2ha +rg2la +r1g2r +r2gy1as2z +rg2y +r1gya +r2gyál +r1gyá +rgy1e2s +r1gye +r2gyis +r1gyi +1ri +ri2ac +ri1a +ri2af +ri2ag +ri2ah +ri2aj +ri2a1la +ri2a1mé +ri2a1p2 +2ri1bü +ri2de1á +ri1de +ri2de1i +ri2de1o +2ridg2 +2r1i2dõ +ri2ed +ri1e +rie2m +riet2te +r1i2gaz +ri1ga +2r1i2gé +ri1k1lo +ri1k2ló +ri2lal +ri1la +ri1l2y +2r1i2nas +ri1na +rinc3c +rin2c3s +2r1inf +2ring1b2 +2r1integ +rin1te +rin1t1ho +riog2 +ri1o +rio1k2 +ri2om +ri2ós2z +ri1ó +2r1i2ra +ri2rá +1r1i2ri +2r1i2ro +ri2rón +ri1ró +2r1irt +2r1iskolát +ris1k2 +ris1ko +risko1lá +ri2sor +r2i1so +2r1isten. +ris1te +2r1iste1ne +2r1isten1né +risten3n +2r1istenn2õ. +risten1nõ +2r1istennõk +2ri1s1za +ris2z +2r1i2tal +ri1ta +ri2vás +ri1vá +2r1i2vó +ri2x1el +ri1xe +ri2xi +2r1iz1mo +r1i2zom +ri1zo +2rizz +1rí +2ríj +rí2ja +rí2rá +rí2ró +rí2ve +rí2vé +rí2vü +r2j1er +r1je +r2j1u2r +r1ju +r2k1ang +r1ka +rkas3s +rká2n1e2 +r1ká +rkes2 +r1ke +r1k2hé +rkh2 +r1k2hi +rki2g +r1ki +r2k1i1ga +r2k1ill +rki2s1 +r1k2la +rk2rá +rk2re +rk2ré +r1k2ri +r2k1út +r1kú +rle2g1a +r1le +rle2g1á +r2m1a1kó +r1ma +rma2tal +rma1ta +rm2a2tár +rma1tá +r2m1áll +r1má +rmá2nyi2 +rmán2y +rme2g1á +r1me +rmé2ke2l +r1mé +rmé1ke +r2m1ors +r1mo +rmo1sz2t +rmos2z +rm1s2 +rna1t2 +r1na +rn1di2 +rne2mis +r1ne +rne1mi +rne2tel +rne1te +rne1t1o +r2n1ip +r1ni +rno1g2 +r1no +r2n1ó2d +r1nó +rnó1s +rn1s2 +r2nyaj +rn2y +r1nya +r2nyalak +rnya1la +rny1old +r1nyo +r2nyús +r1nyú +1ro +ro1á2 +2robl2 +2r1o2dú +2r2o1fe +ro2g1ad +ro1ga +ro2gár +r2o1gá +ro1gráf +r2og1rá +ro2k1as +ro1ka +rok1ás +ro1ká +r2o1ke2 +ro2ke2d +ro2ker +ro2kiz +ro1ki +ro1k1li +ro1k1ri +2r1o2laj +ro1la +2r1ol1da +2r1ol1tó +ro2m1ál +ro1má +1ro2m1á2ro +2rom1bi +r2omb +ro2me2l +r2o1me +ro2m1es +rom1ért +ro1mé +ro2mév +rom1ist +ro1mi +ro2m1iz +ro2mí +r2o2m1or +ro1mo +ro2m1ó2r +ro1mó +ro2nop +ro1no +ro2nú2 +r2o2nü +ro2nyu +ron2y +ron2zá +r2o1p2r +2r1org +2r1o2ro +ro2ru +2r1orv +ro2sar +ro1sa +ro2se2 +ro2sin +ro1si +ros3s1zá +ros2s2z +rosz2fé +ros2z +roszf2 +roszlán1n +rosz1lá +ro2s1zó +1ró +ró1a2 +ró2dis +ró1di +ró2dö +r2ó1me2 +rómeg1 +ró2mez +2róms +róp2 +ró1pr +ró2ráj +ró1rá +ró2rák +ró2rán +ró2rát +ró2ri +ró2t1ak +ró1ta +ró2tin +ró1ti +róz1z +1rö +2r1ö2b +rö2k1é2l +rö1ké +rö2k1érv +2rö1kí +2rökl +rö2k1o +rö2le +2röm2e. +rö1me +2rö1mé +2röm1ne +rö2pi2 +2r1ö2r +rö2sõ +rö2sü +rö2ve +1rõ +2rõdb +2rõ1dí +2rõdr +r2õ1e2 +rõ1g2 +rõi2rá +rõ1i +2rõlk +2rõlt +2rõn1ke +2rõnk1k2 +2r1õrn +rõ2s1á2 +rõ2si +2rõsít2õ. +rõ1sí +rõsí1tõ +2rõsítõr +2rõszakol. +rõs2z +rõ1s1za +rõsza1ko +2rõszako1lá +2rõszakolj +2rõszakolt +2rõtl +r1p2h +rp2la +rp2le +rpo2i +r1po +rp2ré +r1p2rí +r1p2ro +r1p2ró +r1qu2 +r2r1ár1b2 +r1rá +rrás1s2 +r2r1ir +r1ri +rri2ta +r2r1oll +r1ro +rró1d2 +r1ró +rr1p2 +rr1sp2 +r2rü +r2s1ac +r1sa +rsa2il2 +rsa1i +r2s1a2la +r2s1a1lu +rs1a2n2y +rs1a1ra +r2s1á1ru +r1sá +rs1e1le +r1se +rs1es2z +rse2t +rs1e1te +r2s1ép +r1sé +rs1é1te +r2s1étt +r2s1i2d +r1si +r2s1i1ga +r2s1in +r2s1i2o +r2s1i2r +rs1ist +r2s1í2r +r1sí +r1s1mi +r2s1olv +r1so +r2s1ors +rsp2 +rs1st2 +rs3s1za +rs2s2z +rs3s1zá +rs3s1zí +rs3s1zö +rs2tab +rs1ta +rste2i +rs1te +r1s2to +rst2r +r1st1ru +r2s1ur +r1su +r2s1u2t +r2s1ú2s +r1sú +r2s1üld +r1sü +rsza2ké +rs2z +r1s1za +rszáraz1 +r1s1zá +rszá1ra +r1sz2f2 +r1sz2k +r1szn +r1sz2tá +r1szt2r +rta1g2 +r1ta +r2t1aj +r2t1als +rta2me +r2t1app +r2t1a2u +r2t1a2z +r2t1ág. +r1tá +r2t1á2ga +r2t1ágr +rtá2l2ó. +rtá1ló +rtá2ly1át +rtál2y +rtá1lyá +rtá2rul +rtá1ru +r2t1átl +rte1á2 +r1te +rt1e2g2y +rt1eml +r2t1ent +rtes1s +r2t1é2le +r1té +r2t1érd +rt1ér1te +r2t1érz +rt2hág +rt1há +r1t2hen +rt1he +r2t1i2d +r1ti +rti2g +rt1i1ga +r2t1ill +r2t1inf +r2t1i1ro +r2t1is1k2 +rtme2g1 +rt1me +r2t1o1li +r1to +r2t1oml +rton1n +r2t1org +r2t1orv +rt2ran +rt1ra +rt2rom +rt1ro +rt1t2 +r2t1u2t +r1tu +r2t1új +r1tú +r2tüd +r1tü +rt1ünn +rt1ür +r2t1üt +rty2v +rt2y +1ru +ru1a2 +r1ubb +r1udv +ru1e2 +r2ug3g +rugós1 +ru1gó +2r1ugr +2ruk1tú +1ru2ru +ru2se +ru2sin +ru1si +2ru1sí +ru2su +ru2s1zu +rus2z +ru2tak +ru1ta +ru2tat +ru2t2ó. +ru1tó +ru2tu +2ru1ü2 +1rú +rú2d1a2 +rú2du +rú2ri +2r1útj +2r1ú2to +2r1útr +1rü +rü2lér +rü1lé +rü2l1öl +rü1lö +rü2l1ön +2r1ünn +2r1ü2r +2rü2t +2r1ü2v +2r1ü2z +1rû +r1ûrt +rvas3s +r1va +r2v1e2lõ1i2 +r1ve +rve1lõ +rve2ra2 +r2v1ér1te +r1vé +r2v1ip +r1vi +r2v1or +r1vo +rv1os2z +ry1é2 +r2z1a2la +r1za +rza2t1al +rza1ta +r2z1á1ra +r1zá +rze2tel +r1ze +rze1te +rzs1a2n +rz2s +r1z1sa +r2z3ság +r1z1sá +r2z1sõ +rz3s2z2 +1sa +2s1abr2 +sa2cé +sa2dó1i +sa1dó +sa2dój +sa2dók +sa2dór +3sajd +2s1aj1ta +2sajtón +saj1tó +sa2kan +sa1ka +2sakar +s1akc +sa2k1el +s2a1ke +sa2kis +sa1ki +s2a2k1í +2salf +2s1al1ji2 +2salm +2sa1lu +sa2m1il +sa1mi +sa2mí +s2a1o2 +2sa1pa +2sa1pá +2sapr +sa1p1ré +sa2ran +sa1ra +2s1a2ri +3sas. +s2a2s1or +sa1so +sas3s1ze +sas2s2z +2s1as1s1zo +sa2su +2s1a2tom +sa1to +2sat2y +sa2uc +sa1u +sa2un +sava1r1a +sa1va +sa2v1ál +s2a1vá +1sá +sá1be2 +sá2b1er +sá2fo +sá2gal +sá1ga +sá2g1ál +sá1gá +3ság1b2 +3ságd +3sá2ge +3sá1gé +3ság1f2 +3ságg2 +3ságh +3sá1gi +sá2gí +3ság1k2 +3ságm +3sá1go +sá2g1os2z +3ság1p2 +3ságr +3ságs2 +3sá1gu +3sá2g1ü2 +2s1á2g2y +2s1áld +2sáll +3sám1f2 +sán1t2 +s2á2r1a2g +sá1ra +2s1á2ra2i. +sára1i +s1á2rak +sá2r1al +2s1á2ram +sá2r1ál +sá1rá +s1ár1bo +sár1b2 +sá2r1e +2s1árfor +sár1fo +2sá1ru +s1á2ruk +sá2rul +s1á2rus +2s1á2rú +sá2sás +sá1sá +sáskés2z1 +sás1k2 +sás1ké +s1á2só +2sá1ta +s1átad +s1át1f2 +2sáth +2s1á2ti +s1á2tí +2sátl +2s1átm +2s1á2tü2 +2sátv +sá2ve +sá2v1i2 +sb2 +s1bl2 +s1br2 +scar2 +s1ca +s2c2h +1s1c1he +1s1c1hé +sda2d1 +s1da +s1d2r +s1dy +1se +se1a2 +se2bat +se1ba +se2b1o +se2bó +se2c1s1a +sec2s +2s1e2dén +se1dé +2s1e2d2z +se2ger +se1ge +2s1e2gér +se1gé +segés2z1 +se2gyed +seg2y +se1gye +2s1egz +se2her +se1he +se2il2 +se1i +se1k1ra +2se1lá +se2lál +2s1el1nö +2se1lo +se2l1o2s +2s1e2lõ1a +se1lõ +2s1e2lõl +2s1el1to +2s1e2lu +2semel +se1me +2se1mé +2senc +sen2d1õ2r +sen1dõ +se2nyer +sen2y +se1nye +se2nyir +se1nyi +se2nyú +se2ö +2s1e2pi +2s1e2po +se2rej +se1re +2s1e2rõ +se2sá +s1esem +se1se +se2sés +se1sé +ses2ti +s1esz1kö +ses2z +se2s1zû +se2tik +se1ti +2se1to +se2tok +se2t1ol +2s1e2vés +se1vé +se2vo +2s1e2võ +1sé +sé2g1a +sé2g1á2 +sé2g1eg +sé1ge +sége2l +sé2g1e1le +ség1e1li +sé2gés +sé1gé +ség1és2z +ség3g +sé2gi1gé2 +ségi2g +sé1gi +sé2g1í2 +sé2g1o2 +ség1s2 +2s1éh. +2s1éhs2 +s1élm +2sél2y +sé2lyeg +sé1lye +sé2mas +sé1ma +sé2mu +s1é2pí +sé2pü +2s1érc +sé2rin +sé1ri +s1értel +sér1te +2s1érz +2s1ét1k2 +2sétt +2sétv +2sév2e. +sé1ve +sé2ve1i +s1f2 +s1g2 +sha2k +s1ha +s2h2i. +s1hi +s2hin +1si +si2bá +si2dé +s1i2dõ +sie2l +si1e +si2em +2s1ifj +2si1ga +s1i2gaz +si2g2e. +si1ge +2s1i2gé +si1gl +sig2ni +s1i2nas +si1na +2sinf +si2ó1já +si1ó +2si1pa +si2rod +si1ro +3sisak +si1sa +2sis1k2 +2s1isp2 +sis3s +si2s1ü2 +si2tal +si1ta +si2tá +si1ú2 +s1iz1mo +2si1zo +si2zol +si2zom +1sí +sí2ka +sí2ke +sí2nü +sí2r1e2 +sító1b +sí1tó +2sív +s1í2zes +sí1ze +s1í2zü +sk2 +skás3s2 +s1ká +1s2kic +s1ki +ski2s1a +s1kl +skö1zé2 +s1kö +skö2z1él +s1kv +1s2lag +s1la +sl2a2te +1s2lav +sle2t1á2 +s1le +sme2g1á +s1me +smerés1s2 +sme1ré +1so +2sob +s2o2d1e +s2o1dé2 +so2dév +so2d1os +so1do +2s1o2dú +3sof +so2kaj +so1ka +so2kar +s2o2ke +so2kir +so1ki +2s1ok1ke +2s1o2kos +so1ko +so2kó +2sok1ta +s1o2laj +so1la +s1ol1dó +s1ol1tó +so2n1al +so1na +so2n1e +so2n1é +son2t1ár +son1tá +son2t1e +so2nye +son2y +sor1áll +so1rá +so2r1e2 +2s1or1rú +3sort +2sos2z +s1oszt +2s1otth +2s1o2x +1só +só2kál +só1ká +2s1ó2lo2 +2só1rá +só2rán +sós3s +1sö +2s1öbl2 +2söc +s1ö2ko +s1ön1te +2s1öntv +sö2r1i2 +2sös +s1ösv +1sõ +s2õ1e2 +sõ1é2 +s1õrm +s1õrn +sõ2sok +sõ1so +1sparh +s1pa +1s2páj +s1pá +spiros1 +s1pi +spi1ro +spis3s +sp2l +spor2te +s1po +spor2tö +1s2pór +s1pó +3sp1ra +s1p1ro +s1p2s +sra1u2 +s1ra +sren2d1õ +s1re +sré2z1 +s1ré +1s2róf +s1ró +s1s2k2 +ss2rá +ss3s +sst2 +s1s2ta +ss2tí +s2s2z +sszat2 +s1s1za +ssz1á2ru +s1s1zá +s3sze1le +s1s1ze +s3szél +s1s1zé +s3szép +ssz1ér. +ssz1ing +s1s1zi +s3szom +s1s1zo +s3szó1ko +s1s1zó +s3szól +ssz1ös +s1s1zö +s3s2zöv +ssz3s2 +sszt2 +s3sztr +s3s1zû +1s2ta1fí +s1ta +s2t1alj +s2t1alk +1s2tansan +stan1sa +s2t1a2rá +1s2tájg +s1tá +s2t1eb +s1te +1steinig +ste1i +ste2i1ni +1steinj +1ste2in1r +1steint +ste2ná +ste2ra +ste2u +sté2ká +s1té +s2t1é2li +s2t1érc +s2t1érm +s2t1érz +s2t1i2r +s1ti +1s2tíl +s1tí +st1íz +sto1g2 +s1to +sto2ris +sto1ri +stõ2r +s1tõ +st1õr. +st1õrc +st1õ1re +st1õ1rö +st1õrs +s1trag +st1ra +st2rap +st2róf +st1ró +1st2ruk1tú +st1ru +st1új +s1tú +s2t1ür +s1tü +1su +2s1ugr +2s1ujj +s1u2ra +s1u2rá +2surn +su2tal +su1ta +sutas1s +2su1tá +su2tó +2suz +1sú +sú2c1se2 +súc2s +s1újd +2s1ú2jí +s1újs +2súr. +sú2r1as +sú1ra +s1úrb +sú2t1á +sú2té +sú2ti +sú2tü +1sü +2süd +2s1ü2g2y +2süld +sü2nõ +sü2re +sü2rü +2süs +sü2s2z +3sü1tõ +2s1ü2z +1sû +sûs1 +1s2vin +s1vi +s2z +1s1za +2szac +sza2dá +sz1a2dó +3sza1ká +3szakm +3szaks +2sz1alj +2szalk +sz1ass +sza1t1ro +1s1zá +3szám +szá2m1e +szá2m1ér +szá1mé +s3záp +3szárn +3szá1rú +3szá1za +3százn +3szá2z1ö +szd2 +sz1dr +1s1ze +2sz1e2d2z +3szekr +2sz1e2lemz +sze1le +2sz1elm +3szemc +3sze1mü +3szem2û. +sze1mû +3szend +3szepl +sze2rej +sze1re +3szerk +3szer1s +3szerv +3szerz +2szesem +sze1se +sze1t1ro +sz1ezr +1s1zé +3szé1ké +szé2nö +sz1érc +2sz1érd +2sz1é1ré +sz1ér1tá +2s2z1ér1té +sz1érv +szé1te2 +1sz2fé1rá +szf2 +sz1fé +1s1zi +2szic +2sz1i1ga +sz1i1gé +3szi1go +3szimb +2szi1ra +2szis1k2 +2s2z1ism +sz1i1s1za +szis2z +1s1zí +3szí1vû +1sz2kóp. +sz1kó +1sz2kópk +1sz2kó1po +1sz2kópp +1s1zo +3szob +3szof +szo2l1ál +szo1lá +3s2zorg +2szors +2szorv +1s1zó +1s1zö +3szö1ge +3szög1k2 +2sz1övv +s2zöv +1s1zõ +3szõl +sz2s2 +sz3sap +s1z1sa +sz3sas +s3zsák +s1z1sá +sz3sár +sz3sát +sz3seg +s1z1se +sz3sel +s3zsem +sz3ser +s1z3sé +sz3sik +s1z1si +s2z3sir +s1z3so +s1z3só +s3z1sö +sz3sp2 +sz3st2 +s1z3sú +s1z3sü +s2z3s2z2 +sz2t1ap +sz1ta +sz2t1á2rak +sz1tá +sztá1ra +sz2tá1ro +1sztárr +sz2tá1to +1sz2torit +sz1to +szto1ri +1szt2ráj +szt1rá +1s1zu +2szu2b +2sz1u2tó +s2zut +2s3zuz +1s1zú +2sz1úth +s2zút +2sz1ú2to +2sz1úts +1s1zü +2s2züg +3szür +2s2züt +1s1zû +2szû1e +2szûs +sz1z +sz2zo +sz3z2s2 +1ta +2t1abr2 +2t1a2cé +t1a2dan +ta1da +ta2da1tá +ta2da1ti +ta2da1to +2t1a2dá +t1adh +t1adj +t1adl +t1adn +ta2dod +ta1do +ta2dog +ta2dok +ta2dom +ta2dot +2ta1dó +t1a2d2ó. +t1a2dó1ja +t1adv +t2a1e2 +2ta1fí +ta1fr +ta2g1av +ta1ga +ta2g1ál +ta1gá +tag1g +t2ai2g2 +ta1i +ta2i1ga +ta2i2re +ta2kad +ta1ka +2t1akc +2t1ak1tí +ta2l1adn +ta1la +ta2lak1b +2t1a2l2a1kí +t1a2la1ku +2t1a2lan2y +ta2la1pú +ta2l1as +ta2l1áll +ta1lá +talás1s2 +ta2l1em +ta1le +ta2l1e2s +talé2k1e2 +ta1lé +ta2l1ur +ta1lu +ta1lú2 +ta2lúr +ta2l1út +ta2mid +ta1mi +ta2nan +ta1na +ta2n1é2v +t2a1né +2t1an2n2y +tan1os2z +ta1no +ta2n1ó2r +ta1nó +2tansan +tan1sa +ta2nyag +tan2y +ta1nya +t2a1o2 +ta2p2a. +ta1pa +ta2pán +ta1pá +ta1ph +2tapp +ta1p1ré +2taran +ta1ra +2tarán +ta1rá +ta2s1á2r +ta1sá +ta2sel +t2a1se +ta2sem +t2a1s2p +2tas2s2z +tas3s1zá +1ta1s1ta +tat1a1to +ta1ta +2tati1ká +ta1ti +2t1a2t2y +ta2u1tó +ta1u +2ta1zo +ta2zon +1tá +2t1ábr2 +2tá1di +2tág. +tá2g2a. +tá1ga +tá2g2at +2t1á2gá +2t1ág1b2 +tá2ge +2t1ágg2 +2tágn +2t1á2go +2tágr +t1á2gun +tá1gu +tá2gú +2t1á2g2y +tá1je2 +tá2j1eg +2tájg +tá2lé2t +tá1lé +2t1áll. +2t1állj +2t1álln +2t1ál1lo +2t1állt +tá2lyéb +tál2y +tá1lyé +tá2lyér +tá2mí +tá2m1os +tá1mo +tán1alm +tá1na +tánc1c +tá2ne +2tánv +tá2nyú +tán2y +2tánz +tá2pa +tá2pe2 +tá2pin +tá1pi +tá2rab +tá1ra +tá2ra2j +tá2r1ál +tá1rá +tá2r1e2 +tá2r1ér +tá1ré +tá2rid +tá1ri +tá2rin +tá2rí +tá2r1os2z +tá1ro +2t1á2r2u. +tá1ru +tá2ruh +tá2r1ur +2t1á2rus +tá2rú2t +tá1rú +tá2s1ár. +tá1sá +tá2s1e +tá2sin +tá1si +tá2só +tá2s1ó2r +tás3s2 +tást2 +tás1tr +tá2sü +tá2s1za +tás2z +2t1át1ad +tá1ta +2t1átm +2t1áts +2t1át1t2 +2t1á2tü2 +tá1va2 +tá2v1ad +tá2vér +tá1vé +tá2z1sa +táz2s +tb2 +t1bl2 +tbor2dó +t1bo +t1br2 +tca1f2 +t1ca +t1d2 +1te +te2ad +te1a +te2a1i +te2a1ka +te2as +te2av +2t1e2d2z +te2g1á +tegés2z1 +te1gé +2t1egys2 +teg2y +te1já2 +te2j1ell +te1je +te2jo +te2j1u2 +te2k1ó2 +te2kú +te2kür +te1kü +te1la2 +te2l1ad +2t1e2lál +te1lá +te2lár +te2lát +2t1el1ha +2t1el1há +2t1elhel +tel1he +2t1e2lix +te1li +2te2l1o2s +te1lo +2t1el1tá +2t1elv. +2t1el1vi +2t1el1vû +te2m1ál +te1má +t1embl2 +2t1e2mel +te1me +te2més +te1mé +te2m1os +t2e1mo +te2n1a2 +2t1endr +te2nel +te1ne +te2ner +ten3n +te2n1u +t1enyv +ten2y +te2o1ló +te1o +te2rad +te1ra +te2ran +te2r1a2r +te2r1ár +te1rá +2t1er1dõ +ter1eg2y +te1re +2t1e2rej +te2r1est +te2ror +te1ro +te2rö +2t1e2rõ +te2rut +te1ru +te2s1a +2t1e2se1mé +te1se +2t1esél +te1sé +t1e2sés +te1si2 +te2sin +t1es1ni +2t1e2sõ +tes2ta2l +tes1ta +te2süv +te1sü +tesz1ál +tes2z +te1s1zá +2t1eszm +tes3z2s2 +2t1e2s1zû +teto1s +te1to +te2t1ot +te2t1öl +te1tö +te1t2ro +teu2tá +te1u +2t1e2zer +te1ze +2tezr +1té +2t1ébr2 +2tég. +té2hes +té1he +t1éhs2 +té2kal +té1ka +té2k1a2n +té2k1as +té2k1a1u +té2k1eg +té1ke +té2k1ell +té2ké2p +té1ké +té2k1i2r +té1ki +té2k1í2 +té2kö +té2lá +té2l1e2r +té1le +té2l1os +té1lo +2téls2 +té2lu +2té1lü +té2lû +té2lyem +tél2y +té1lye +té2nin +té1ni +té2ny1el +t2én2y +té1nye +2t1é2pí +té2ra2n +té1ra +té1rá2 +té2r1ár +2térdek +tér1de +té2r1e2l +té1re +té2rem +tér1emb +té2r1és2z +té1ré +té2r1in +té1ri +té2ris +2térm +2t1érték +tér1té +té2sa2 +té2s1á +té2sel +té1se +té2s1o +té2szes +tés2z +té1s1ze +tés3z1sí +tész2s2 +té2tar +té1ta +té2tál +té1tá +2tév. +2t1évb +2t1é2ve1i +té1ve +té2ven +2tévet +2tévéb +té1vé +2tévét +2tévh +2t1é2vi +2t1évr +2t1é2vü +té2z2s +t1f2l +tg2 +tgár2 +t1gá +t1gn +t1gr +tha2d1é +t1ha +t2ha1i +t2hak +tha2l1ás +tha1lá +tha2me +1t2ha1u +1t2he2id +t1he +the1i +1t2he1u +1t2hod +t1ho +1t2hos. +1t2hosb2 +1t2ho1si +t2hov +1thy +1ti +tia2t +ti1a +2t1i2dé +2t1i2do +2t1i2dõ +tien2 +ti1e +tie2r +2t1ifj +ti1f2r +2t1i2ge +2t1ign +ti1g2ra +ti1g1rá +ti1kh2 +ti1k2le +ti1k2ló +ti1k2ri +ti2lan +ti1la +ti2l1i2p +ti1li +t1illat +til1la +2t1imr +2t1ind +ti2n2e. +ti1ne +ti2n1es +tin2gi +tin2g1o +ti2nö +ti2nú2 +ti2par +ti1pa +2t1i2rán +ti1rá +ti2rén +ti1ré +ti2rig +ti1ri +ti2rod +ti1ro +ti1sl +2t1ism +tis3s +ti1str +2t1istv +ti2sü +2t1i2vó +tize2n1 +ti1ze +ti2zom +ti1zo +2t1i2zü +1tí +2t1íg +2t1í2j +t1í2rás +tí1rá +2t1í2ró +tí2vel +tí1ve +tív1e1le +tí2v1ér +tí1vé +tí2vû +tí2za +tí2zó +t1k2 +tká2nya +t1ká +tkán2y +tla2c3 +t1la +tla2g1e +tlag1g +tlas1s +tme2g1é +t1me +tna2k +t1na +tno1g2 +t1no +1to +2t1obj +t2o1dé2 +to2dév +to2k1ad +to1ka +to2k1ö +2t1o2laj +to1la +to2lim +to1li +2t1olvas +tol1va +to2lyag +tol2y +to1lya +t2o1me2 +to2me2l +to2men +2toml +t1om1lá +to2mó +2to1mú +to2nalm +to1na +to2ne2l +to1ne +t2o2nü +to2nye +ton2y +t2o1p2h2 +to2rab +to1ra +to2ral +to2r1as +to2r1e2l +to1re +2t1o2ri1e +to1ri +to2r1is1k2 +toros1s +to1ro +to2ró +tor1s2 +to1si2 +to2sin +to2s1ze +tos2z +tosz2kó +2t1oszl +to1t1ra +2t1o1u +to1y +1tó +2tódok +tó1do +2t1ó2év. +tó1é +2t1ó2ra1i +tó1ra +tó2rás +tó1rá +t2ó2s1e2 +t2ó1s1pe +tós1p2 +tó1s1po +tós3s +tó1t2r +2t1ó2vod +tó1vo +1tö +2tödn +2tö1dü +tö2kör +tö1kö +t1öltöz +töl1tö +tö2n1í2 +tö2nõ +2t1ön1tu +tö2s1i2 +t1ötr +2t1öv. +2t1övn +2tö1vö +1tõ +tõ1dz2n +tõd2z +t2õ1e2 +tõi2rá +tõ1i +2tõrb +2t1õrl +2t1õ2rü +2t1õrz +tõ1s1té +tõst2 +tõ1u2 +tõ1ü2 +t1p2 +tpen1 +t1pe +1t2ra1fá +t1ra +1t2ranzi1ti +tran1zi +tra1ps +tras2 +t2rá1dá +t1rá +trás1s2 +1t2r2éf +t1ré +1t2ril +t1ri +tr2o1a2 +t1ro +tron3n +tros2z2 +tro1szk +tró2z2s +t1ró +1t2rup +t1ru +1t2rü +t1ry +tsa2va +t1sa +1t2s2é. +t1sé +t1s2k2 +t1s2p2 +t1s2t2 +1t2sub +t1su +1tsy +tsza2ké +ts2z +t1s1za +tsz2a2te +tszá2ze +t1s1zá +t1sz2f2 +t1sz2t +tt1aszt +t1ta +ttas2z +t2t1a2u +t2t1áll +t1tá +tt1eg2y +t1te +t2t1elm +tt1eml +tté2g +t1té +tt1é1ge +tté2l +tté2res +tté1re +t2t1id +t1ti +t2t1is1k2 +t2t1or1s2 +t1to +tt1ott +tt1ó1ra +t1tó +ttõ2sa +t1tõ +tt2rén +tt1ré +ttû2z3s +t1tû +t2t2y +1tu +tu2go +tu2mál +tu1má +tu2min +tu1mi +tu2se +tu2s1ze +tus2z +tu2s1z1é2 +tu2s1zi +2t1u2tak +tu1ta +tu2tas +2t1utc +tu2u +1tú +2t1úg +2t1újd +2t1újs +tú2la2n +t2úl +tú1la +tú2lat +tú2l1á2 +tú2l1é2 +tú2ló +tú2lö +tú2r1e +tú2r1é +t2ú2s1ze +tús2z +tú2to +1tü +2t1ü2g +tü2len +tü1le +tü2l1e2s +tü2lér +tü1lé +tü2lo +tü2lü +tü2te +tü2té +tü2tö +tü2tõ +2t1ü2v +2t1üzl +1tû +tû2za2 +tû2zõr +tû1zõ +tû2z2s +tva1k2 +t1va +tva2ra +tváro2s1u +t1vá +tvá1ro +tve2ne2g +t1ve +tve1ne +tve2ra2 +t1wa2 +t2y +1tya +tya1u2 +1tyá +tyás3s2 +1tye +1tyé +1tyi +1tyí +1tyo +1tyó +1työ +1tyõ +1tyu +1tyú +1tyü +1tyû +ty2vá +tz3sc +tz2s +2u. +u1a +u2ad +u2a2e +ua1yi +u2ay +u1á +uá2ru +uba2l +u1ba +u2b1a1la +ub1é1le +u1bé +ub1ord +u1bo +uca2t1á2 +u1ca +2uc2h +u2c3ság +uc2s +u1c1sá +u2cs1ál +uda2tal +u1da +uda1ta +ud2a2tál +uda1tá +ud2a2te +udás3s2 +u1dá +2u1de +udi2o +u1di +2udiz +2udoc +u1do +2udod +2ud2o1é +2udok +2udot +u1dy +u1e +ue2g +ue1l1o +ue2s +ue1s3ze +ues2z +ue2v +u1é +ué2p +2uf +ug1alj +u1ga +ug1ág +u1gá +ugá2rá +2u1ge +ug1el +u2g2é. +u1gé +2ugg +2ugh +u2g1ir +u1gi +u2g1iv +ug1ír +u1gí +ugosz2l +u1go +ugos2z +ug1ut +u1gu +u2g1ü +u1gya2 +ug2y +uh1a1ko +u1ha +u2h1ál +u1há +uhás1s2 +u1i +u1í +uk2kór +uk1kó +uk1üt +u1kü +ula2tin +u1la +ula1ti +u2l1áll +u1lá +ulás3s2 +ul2c1s1e2 +ulc2s +ul2c1s1ó +ul1ex +u1le +u2l1ér +u1lé +ulit2 +u1li +uli1tz +u2l1í2 +2ulk +ul2l1os +ul1lo +2u1lo +ul2t1ü2 +u2l1ü2 +2ul2y +um1a2da +u1ma +u2m1a2l +um1áll +u1má +um1e2d +u1me +ume2g1 +u2m1e2l +um1ev +u2m1ér1té +u1mé +umik2 +u1mi +umi1kr +um1ing +um1i2on +umi1o +um1i1vá +um1ív +u1mí +u2m1ol +u1mo +u2m1os2z +u2m1õ2 +umplis1 +ump1li +um1pr +u2nal +u1na +u2n1ar +2u1ne +un1g2l +1unj +u1o +u1ó +uó2l +u1ö +u1õ2 +2u1pa +upe2r1e2 +u1pe +upe2rin +upe1ri +up1la1 +u1p2ró +u2rad +u1ra +2uralgi1a +uralg2 +ural1gi +2uralgik +u2ra1lo +1u2ram +ura2m1i +2uran +ure2u +u1re +2uré1ká +u1ré +ur2f1e +2u1rí +2urob +u1ro +uro2ka +2urol +2uróp2 +u1ró +u1ry +us1abl2 +u1sa +u2s1a2d +u2s1a2l +u2s1ar +u2s1as +u2s1a2u +u2s1a2z +u2s1á1ru +u1sá +us1eb +u1se +us1e2g +us1e2l +us1ez +u2s1ék +u1sé +us1ép +u2s1id +u1si +us1int +u2s1i2r +u2s1is +u2s1i1zo +us1k2 +us1old +u1so +us1ó2r +u1só +u2s1ö2 +us1p2 +2uss. +2us1sé +2ussh +2ussn +2ussr +2usst2 +us1sy +us3szem +us2s2z +us1s1ze +us3s1zí +u2s1u2t +u1su +u2s1ü2 +us3zav +us2z +u1s1za +u2sz1ág +u1s1zá +u2sz1el +u1s1ze +u2s1z1ö +usz3s2 +u2t1a2n2y +u1ta +1u2taz +után1n +u1tá +1u2tánz +u2t1e2l1 +u1te +u1t2he +u1t2hi +ut2hu +u2t1i2p +u1ti +utó1s2z +u1tó +2u1tü1 +u1u +uu2m1á +uu2miz +uu1mi +u1ú +u1ü2 +u1û +2ux. +u1y +2uzal +u1za +uze1o2 +u1ze +2u1zó +uzz2 +2ú. +ú1a +úa2l +úa2n +ú1á2 +2úbar +ú1ba +ú1b2r2 +ú2cs1as +úc2s +ú1c1sa +ú2csár1b2 +ú1c1sá +ú1c1se2 +úcs1em +úcs1en +úcs1er +úcs1es +ú2c1s1é2 +ú2csid +ú1c1si +ú2c1sí +úda2n +ú1da +ú2d1ez +ú1de +úd1ug +ú1du +ú1e2 +ú1é +úg1ál +ú1gá +úgás1s2 +ú2gya2 +úg2y +úgy1ag +úgy1ah +úgy1is +ú1gyi +úhús3 +ú3hú +ú1i +úi2d +2úis +ú1í +új1ang +ú1ja +új1es +ú1je +új1ez +ú1j1é2 +1újf +1ú2jí +új1k2 +1újr +új1ud +ú1ju +ú2k1al +ú1ka +ú2k1a2n +ú2k1e2s +ú1ke +2úko1ro +ú1ko +2ú1kó +úk1ól +ú2k1ü2 +2úl +ú2l1ad. +ú1la +ú2l1a1da +ú2l1a2dá +ú2l1a2dó +ú2l1aj +úla2n +úl1ál +ú1lá +úl1d2 +ú2l1e2d +ú1le +ú2l1eg +ú2l1e2m +ú2l1e1rõ +ú2l1e2s +ú2l1ex +úl1é2d +ú1lé +úl1ég +úl1é2r +ú2l1in +ú1li +ú2l1is +ú2l1iz +ú2l1í2 +ú2l1ol +ú1lo +úl1ó2r +ú1ló +úl1öl +ú1lö +úl1ö2m +úl2tag +úl1ta +ú2lyar +úl2y +ú1lya +ú2ly1e2 +ú2lyér +ú1lyé +2úm +ú1nyi2 +ún2y +úny1ir +ú2ny1ö2 +ú1o +ú1ó +ú1ö +ú1õ2 +úpos3s +ú1po +ú2r1an +ú1ra +ú2r1att +ú2r1a2u +ú2r1áll +ú1rá +ú2r1á2ri +úr1e2g +ú1re +úr1e2l +úr1es +1ú2r2é. +ú1ré +úr1ék +úr1é2l +ú2rig +ú1ri +ú2rin +úr1int +ú2r1ot +ú1ro +ú2r1ö +úrs2 +úr1sm +2ú1ru +ú1sa2 +ú2s1ad +ús1e2l1 +ú1se +úse1le2 +ús1e2v +ús1ex +ú1sé2 +ú2s1ét +ú2s1il +ú1si +ú2s1i2p +ú2s1old +ú1so +ú2s1õ +ús3s1ze +ús2s2z +ús3s1zí +2ú1s1ze +ús2z +úsz1ej +úsz1es +ús2z1ev +úsz1ez +úsz1év +ú1s1zé +úsz1öl +ú1s1zö +út1a2d +ú1ta +út1á2g +ú1tá +út1á2s +út1át +1út1d2 +út1ef +ú1te +út1e2g +út1ép +ú1té +út1ér +úti1e2 +ú1ti +úti1p +út1i1rá +út1old +ú1to +1úto2n1 +ú1t1õ +2ú1u2 +ú1ú +ú1ü2 +ú1û +úz3s2z2 +úz2s +2ü. +ü1a +ü1á +ü2dí +ü2d1íz +1ü2dü +üd2v1i2 +üd2vo +ü1e2 +ü1é +ü2g1el +ü1ge +ügy1in +üg2y +ü1gyi +ü1gy1o +ü2gy1õ2 +ü2h1a +ü1i +ü1í +ük1ac +ü1ka +üka2n +üka2p +ü1k2hé +ükh2 +ü1k2hi +ük2ker +ük1ke +ü1k1u2 +ü2l1a2d +ü1la +ü2l1ag +ül1a2l +ü2l1á2 +ül1eng +ü1le +1ü2lep +ül1esh +ül1e2sõ +üle2t1a +üle2tá +üle2teg +üle1te +üle2t1e2l +ü2l1ég +ü1lé +ü2l1ép +ül1ér. +ü2l1érz +ü2l1í2 +ül1ol +ü1lo +ül1or +ül1ölt +ü1lö +ü2l1ö2v +ül2õ1e2 +ü1lõ +ülõi2r +ülõ1i +ül2ta2d +ül1ta +ül1tá2 +ül2táp +ül2t1ár +ül2tát +1ültes +ül1te +ü2l1u2 +ü2l1ú2 +ü2l1ü2l +ü1lü +ül1üt +üm1il +ü1mi +ün1id +ü1ni +ün1k1ri +ü2n1ó2 +ü1o +ü1ó +ü1ö +ü1õ +ü1p2h +1ü2reg +ü1re +üreg1g +1ü2rí +ür2ja +ür1ke1 +ü2röm +ü1rö +üss1eg +üs1se +üs2t1a +üs2t1á +üs2t1e2 +üs1té2 +üs2t1é1re +üs2t1il +üs1ti +üs2t1í2 +üs2t1o +üs2t1ó2 +ü2teg +ü1te +ütés3s2 +ü1té +üt2t1á +üt2tem +üt1te +üt2t1é2 +ü1u +ü1ú +ü1ü +ü1û +üveg1g +ü1ve +üze2ma +ü1ze +üz2e2mo +1ü2ze1ne +2û. +û1a2 +û1á2 +û2c1s1á +ûc2s +ûcs1ip +û1c1si +û2d1e +û1e +ûe2g +ûe2p +ûe2v +û1é +ûé2l +ûé2p +ûf2a2je +û1fa +û1i +ûi2p +û1í2 +ûka2g2 +û1ka +û1k2ro +ûlõ1ú2 +û1lõ +û2n1el +û1ne +û2n1e2s +ûn3n +û1o2 +û1ó +û1ö +û1õ +û1ra2 +ûr1an +ûr1at +ûr1ál +û1rá +ûr1es +û1re +ûr1i2p +û1ri +û2r1ol +û1ro +ûr1öl +û1rö +ûr1p2 +û2r1u2 +ûr1üg +û1rü +û1s2ká +ûsk2 +ûs3s +ûs2to +û2s1u +û1t2r +û1u2 +û1ú +û1ü2 +û1û +ûve2r +û1ve +ûves1s +û1za2 +ûz1ak +ûz1an +û2z1á +û2z1el +û1ze +û2z1e2r +û2z1e2s +û2z1ev +ûz1érm +û1zé +û2z1im +û1zi +û2z1is +û2z1o2 +û2z1ör +û1zö +û2z1ö2v +ûz1õr. +û1zõ +û2z1õrs +û2z1õrz +ûz1p2 +û1z3su +ûz2s +1va +v2a1a2 +va2d1ál +va1dá +va2d1ár +va2d1e2 +va1di2 +va2did +va2d1ol +va1do +v1a2dón +va1dó +va2dö +va2d1õ +va2d3z +va2ge +va1ja2 +va2j1ad +v2a2j1e +va2jö +va2k1e2s +v2a1ke +va2n1eg +va1ne +va2n1es +va2né2v +v2a1né +2vang +van3n +va2nol +va1no +va2n1ó2 +v2a2nö +v2a1o2 +va2r1al +va1ra +va2ran2y +va2rar +va2r1ir +va1ri +2va1rú +v2a2s1aj +va1sa +v2a2s1e2 +va2sék +va1sé +va2si2d +va1si +va2s1in +va2sö +vas3s1ze +vas2s2z +vas3s1zé +vast2 +vas1tr +v2a2s1ü +vasz3s2 +vas2z +v2a2t1á2r +va1tá +v2a2t1é +vat1int +va1ti +vatt2 +1vá +váb2bal +váb1ba +váb2be +vá2c1si +vác2s +vá2c1sü2 +vá2dal +vá1da +vá1di2 +vá2dir +v1állap +vál1la +v1állás +vál1lá +2vál1lo +2vállv +vá2ma +vá2m1á +vá2m1e +vá2mi +vá2m1u2 +vá2n1a2r +vá1na +vá2n1ár +vá1ná +vá2ne +vá2nis +vá1ni +vá2nú2 +vá2ny1as +ván2y +vá1nya +vá2ny1e2 +vány1ér +vá1nyé +vá2ral +vá1ra +vá2re +2várf +vá2ris +vá1ri +vá2r1oml +vá1ro +vá2rö2 +várs2 +vár1sp2 +vá2ruh +vá1ru +vá2rus +vá2r1ú2 +vá2s1zi2 +vás2z +v1átm +vá2t1or1s2 +vá1to +2v1á2tü2 +vá2zal +vá1za +vá2z1e2 +vá2ziz +vá1zi +váz3s2z2 +váz2s +vd2 +v1dr +1ve +ve2g1a2 +ve2g1á +ve2g1e1le +ve1ge +veg1ért +ve1gé +ve2g1i +ve2gí +ve2g1ö +ve2gya +veg2y +ve2gy1e2lem +ve1gye +vegye1le +ve2gyemb +ve2gyér +ve1gyé +ve2gyip +ve1gyi +ve2il +ve1i +2v1elég +ve1lé +2v1el1há +2v1elm +ve2l1o +2v1el1vá +2v1e2mel +ve1me +2v1eml +vene2g +ve1ne +ve2n1eg2y +ve2n1emb +ve2n1es2z +ve2n1e2v +ve2n1év +ve1né +ven3n +ve2nó +ve2nö +ve1p2 +ve1ra2 +ve2r1á +ve2r1eng +ve1re +ve2r1es2z +ve2r1ip +ve1ri +ve2r1ol +ve1ro +ve2ror +ve2ró +2v1e2rõsít2õ. +ve1rõ +verõ1sí +verõsí1tõ +2v1e2rõsítõr +vers3s +ver2s3ze +vers2z +ve2sa +ve2ser +ve1se +ve2sú +ve2süv +ve1sü +2v1eszm +ves2z +ve2s3zö +ve2t1a2 +ve2tár +ve1tá +1vé +vé2der +vé1de +vé2do +vé2d2z +vé2ga +vé2gá +vé2g1eg +vé1ge +vé2g1e1le +vé2g1er +vé2ge1té +végi2g1 +vé1gi +vé2gin +vé2g1í2 +vé2gó +vé2la +vé2l1á2 +vé2l1e2r +vé1le +vé2l1o +vé2lu +vé2nas +vé1na +vé2ny1e2l +v2én2y +vé1nye +vé1p2 +vé2pí +vé2r1á2 +vé2rel +vé1re +vé2ron +vé1ro +2vér1té +vé2rú +vé2rül +vé1rü +vé2s1z1á2 +vés2z +vé2szeg +vé1s1ze +vé2s1z1o +vé2tí +2v1év. +v1f2 +v1gé2 +vhez1 +v1he +1vi +2vick +vi2c1s1a +vic2s +vi2c1sö +2v1i2dõ +vi2d2z +2v1inh +vin2t1es +vin1te +vi2pa +2v1i2rat. +vi1ra +2v1i2ra1ta +2v1i2ra1tá +2v1i2rath +2v1i2ra1ti +2v1irat1k2 +2v1i2ratok +vira1to +2v1i2ratot +2v1i2ratoz. +2v1i2rato1zi +2v1i2rats +2v1i2ratv +2v1ism +vis1s1z1e2 +vis2s2z +2v1iz1g2 +1ví +2v1í2rás. +ví1rá +2v1í2rász. +vírás2z +2v1í2rászat. +vírá1s1za +2v1ír1da +2v1írdáb2 +vír1dá +2v1í2ró +ví2z1a2 +ví2zá +ví1ze2 +ví2z1el +ví2ze2r +ví2z1es +ví2z1o2 +ví2zó +ví2z2s +2v1í2zû +v1k2 +1vo +vo2lál +vo1lá +v2o2l1e2 +vo2r1a +vo2se2 +vos3s +1vó +vó1é2 +v1ó2rá +vó1s2p2 +v2ó2s3zen +vós2z +vó1s1ze +vó1ví2 +1vö +vöt2 +1võ +võ1u2 +v1p2 +vso2rol +v1so +vso1ro +vsza2ké +vs2z +v1s1za +v1t2 +1vu +2v1u2t +1vú +vú2s2z +1vü +2vüg +vü2g2y +vü2les +vü1le +v1ünn +2v1ü2t +2v1üz +1vû +1vy +1wa +w2a2e +wa2i +wa2le +wa1sh +wat2t1á2 +1wá +1we +we2b1o +we2i +we2ö +we1s1ze1 +wes2z +1wé +w2h +w1hi2 +1wi +wi2c +wi2e +wi2r +1wí +1wo2 +1wó +1wö +1wõ +1wu +1wú +1wü +1wû +1xa +2x1a2l +x1ar +1xá +x1b2 +1xe +2xe2g +1xé +1xi +2xidj +2xi1do +2xidt +2xi1o +xi2ol +xi2on +1xí +x1ív +1xo +xo2d +xo2g +1xó +1xö +1xõ +xpor2t1á2r +x1po +xpor1tá +1xu +xu1sá2 +xu2s1é +xus3s +1xú +2x1ü2 +1xû +x2x +y2a1á2 +y1abl2 +ya2cél +ya1cé +y1a2dag +ya1da +y1a2dón +ya1dó +y2a1e2 +ya2gar +ya1ga +ya2g1ál +ya1gá +ya2gá2r +ya2g1ár. +ya2ged +ya1ge +ya2g1el +ya2g1en +yag3g +ya2gi2g +ya1gi +y2a2gor +ya1go +yag1os2z +y1agy. +yag2y +ya2gyak +ya1gya +y1agy1k2 +y1a2gyú +y1ajt +ya2ka1la +ya1ka +yaké2r +ya1ké +yak1é1re +ya2kiz +ya1ki +y1a2lak. +ya1la +ya2l1ék. +ya1lé +y1alm +ya2m1al +ya1ma +ya2m1ár. +y2a1má +ya2m1ár1b2 +ya2m1árh +ya2m1árn +ya2mel +ya1me +ya2m1is +ya1mi +yan1ar +ya1na +yan1at +ya2n1e +ya2n1i +yan1o2d +ya1no +ya2nõ +yan1õk +yan1õt +ya2nyá1é +yan2y +ya1nyá +ya2nyá1i +ya2nyák +ya2nyám +ya2nyán +ya2nyát +y1anyj +y1a2nyó +ya2p2a. +ya1pa +ya2pas +y1a2páb +ya1pá +y1a2pák +y1a2pám +y1a2pán +y1a2pár +y1a2pás +y1a2pát +y1a2páv +y1a2pi +yapo2tá +ya1po +y1a2pó +y1app +ya1p2r +y1a2pu +y1a2rán2y +ya1rá +y1arcn +y1ar1co +y1arcr +1yard. +1yardn +ya2r1e2l +y2a1re +y1ar1gu +ya2s1ol +ya1so +y1atád +ya1tá +yat2te +y1a2t2y +ya2u1tó +ya1u +y1a2zon +ya1zo +y1ábr2 +yá2du +y1á2g +y1álar +yá1la +yálas3 +y1áld +yá1ma2 +yá2ma2n +yá2map +yá2m1as +yá2mí +yá2m1os +yá1mo +yá2mu +y1á2po +yá2rad +yá1ra +y1á2ram +y1ár1bo +yár1b2 +yá2r1e +yá2r1i2p +yá1ri +yá2rö2 +y1ár1p2 +y1á2rud +yá1ru +y1á2ruh +yá2rul +y1á2rus +yá2r1ut +yá2sar +yá1sa +yá1si2 +yá2sir +y1á2só +yá2s1ze +yás2z +yás3zen +yá2s1zé2 +yá2szor +yá1s1zo +yá2s1zü +y1á2t1a +y1á2t1e2 +y1áth +y1át1k2 +y1átn +y1át1ne2 +y1áts +y1á2tü2 +y1b2 +ybe1e2 +y1be +ybor2d +y1bo +y1d2r +ye2d1a +ye2dá +ye2d1ó2 +ye2d1u +ye2g1a2 +ye2gá +ye2g1el +ye1ge +yegés2z1 +ye1gé +yeg1g +y1egy. +yeg2y +ye2gyen +ye1gye +ye2gyes +y1egyl +y1e2l1a2 +y1elc +y1e2lemz +ye1le +yeletes1 +yele1te +y1el1ha +ye2l1o +y1e2lõg +ye1lõ +y1elr +y1el1tá +ye2man +ye1ma +ye2mas +ye2mat +y1ember +yem1be +ye2mel +ye1me +ye2m1er +ye2m1es +ye2na +ye2n1á2 +ye2ner +ye1ne +yenes1s +ye2n1é2l +ye1né +y2e2ni +ye2n1o +y1e2po +yereg1g +ye1re +y1e2rej +y1e2rõr +ye1rõ +ye2rõv +yers1s +ye1sa2 +ye2s1al +ye2s1á +yes1eg2y +ye1se +ye1si2 +ye2s1í2r +ye1sí +ye2sú +y1eszm +yes2z +ye2s3zö +yes3z2s2 +yesz2t1ék +yesz1té +ye2s1zû +ye2t1ér +ye1té +y1e2ve +y1e2vé +y1e2võ +y1e2zer +ye1ze +yezernyolc1 +yezern2y +yezer1nyo +y1é2ber +yé1be +yé2g +y1ég1b2 +y1é1ge +y1éhes +yé1he +yé2let +yé1le +y1élm +yé2pí +y1é2pü +yé2rak +yé1ra +yér1á1ra +yé1rá +y1ér1de +yé2r1el +yé1re +yé2ri +yé2rol +yé1ro +y1érték +yér1té +y1ér1ze +y1ér1zé +yé2s1za +yés2z +yé2s1zá +y1ét1k2 +y1é2tû +y1év. +y1évb +y1é2vek +yé1ve +yé2ven +y1é2ves +y1é2vet +y1é2vi +y1évn +y1évr +y1évv +y1f2l +y1f2r +yha2d +y1ha +y2h1a1dó +y1icc +y1i2de +y1i2do +y1i2dõ +y1ifj +y1i2gaz +yi1ga +yi1k2ri +y1i2má +y1imp +yi2nas +yi1na +y1ind +y1inf +y1in1ge +y1i2par +yi1pa +yi2ram +yi1ra +y1i2rat. +y1i2rán +yi1rá +y1i2rás +y1i2rod +yi1ro +y1irt +y1ish +y1is1k2 +y1ism +y1isn +yi2tal +yi1ta +y1i2vó +yí2le +yí2ró1é +yí1ró +yí2ró1i +yí2rón +yí2rór +yí2rót +y1í2v +yki2s1a +y1ki +y1k2l +ykö1zé2 +y1kö +ykö2z1él +y2k1uj +y1ku +yme2g +y1me +yme1g1á +yo2gi +yo1ki2 +y1o2k1ir +y1o2kos +yo1ko +y1o2koz +y1ok1tá +yo2laj +yo1la +y1ol1dá +y2o2m1e +yo2m1ol +yo1mo +yo2n1e +yo1né2 +yo2néh +yo2nis +yo1ni +yo2niz +yo2n1í +yon3n +yon1s +y2o2nü +y1o2pe +y1orm +y1orom +yo1ro +y1or1rú +yo2se2 +yos3s +yo2sú +y1oszt +yos2z +yó2gya +y2óg +yóg2y +yó2gy1e2 +yó2gyé +yó2gyi +y1ó2lo +yó2ra1i +yó1ra +yó2ráj +yó1rá +yó2rák +yó2rán +yó2rás +yó2rát +yó2ri1á +yó1ri +yós3s +yó2s1ü +y1öb +yö2kés +yö1ké +y1önt +yö2r1i +y1ö2töd +yö1tö +y1ötv +yö2zön +yö1zö +y2õ1e2 +y1õrl +y1õrr +y1õrs +y1õrz +ypen3 +y1pe +yp2re +yp2ré +yp2ro +yp2ró +y1p2s +yren2d1õ +y1re +ysé2ge2l +y1sé +ysé1ge +y1s2k2 +y1s2p +yst2 +y1s1tí +y1str +y1sz2l +ys2z +y1sz2r +y1sz2t +y2t1ac +y1ta +y1t2h +y1t2r +yu2g1á +y2u2ge +y1ugr +yu2g2y +y1ujj +yu2l1e +yu2n +y1u1no +y1u2ra +y1u2rá +yu2sé +y1u2s1zo +yus2z +y1utc +y1újs +y2ú2kó +yúl1l +y2úl +yú1p2 +y1ú2ri +yú2s1zá +yús2z +y1útj +y1ú2to2n1 +yú1to +y1út1ró +y1útt +y1üd +y1ü2g2y +y1üld +yü2t +y1ü1te +y1ü1té +yü2ze +yü2zé +y1üzl +y1û2zõ +yva1i2 +y1va +yva2j +yv1a1já +yv1ank +yv1a2ra +y2v1ál1lo +y1vá +y2v1állv +yv1á2rak +yvá1ra +y2v1á1ru +yve2g +y1ve +yveg2y1 +y2v1ér1té +y1vé +y2v1in +y1vi +y2v1í2r +y1ví +y2vu +y2v1ú +y2v1üg +y1vü +yze2t1a2 +y1ze +yze2te1le +yze1te +yze2t1o +1za +2z1a2cé +z1a2dag +za1da +za2d1ár +za1dá +za1de2 +za2del +za2dí +z1a2dog +za1do +za2dóh +za1dó +za2dó1i +za2dót +z2a1e2 +za2g1e +z2ai2g2 +za1i +za2ja2n +za1ja +za2j1árt +za1já +z1a2ka1ra +za1ka +z1a2k2a1ró +z2a2k1av +za2kem +z2a1ke +za2k1i2r +za1ki +za2k1ír +z2a1kí +za2k1os2z +za1ko +zalé2ké +za1lé +2za1nya +zan2y +z2a1o2 +z1a2p2ó. +za1pó +z1a2pók +z1a2ráb +za1rá +za2rán2y +2zarc +za2sem +z2a1se +za1s2l +zat1akt +z2atak +za1ta +z2a2t1a2n +z2ata2r +zat1a1rá +za2tem +z2a1te +za2t1in +za1ti +za2t1ív +za1tí +2zat2y +z1a2tya +za2tyá +zau2t +za1u +z1az. +z1azh +za2zo +1zá +z1ábr2 +zá1é2 +zá2g1al +zá1ga +zá2g2at +zá2g1ál +zá1gá +zá2ge +zág1g2 +zá2g1ú +2z1á2g2y +zá2k1in +zá1ki +zá1le2 +zá2l1eg +zá2l1em +zá2lér +zá1lé +2záll +zá2los +zá1lo +zál1t2r +zá2m1a2d +zá1ma +zá2map +zá2mar +zá2mi2s +zá1mi +zá2nú2 +z1á2ra1da +zá1ra +z1á2ram +zá2r1is +zá1ri +zá2r1os2z +zá1ro +zá2r1ó2ra +zá1ró +zá2rö2 +zár1s2 +zá2sin +zá1si +záskés2z1 +zás1k2 +zás1ké +2z1á2só +záte2r +zá1te +z1átv +zá1zé2 +zá2zév +z2á2z1ol +zá1zo +záz3s2z2 +záz2s +z1b2 +zbe1e2 +z1be +zdas2 +z1da +z2d1ass +zd2ró +zd1ur +z1du +1ze +2ze1a2 +zeá2z +ze1á +2z1eb. +ze2be1i +ze1be +ze2bek +z1e2d2z +ze1e2 +zegés2z1 +ze1gé +ze2gol +ze1go +2zeg2y +ze2gyes +ze1gye +z1egyn +z1egys2 +zei2g +ze1i +zei2s +ze2k1e2g +ze1ke +ze2kép +ze1ké +ze2lál +ze1lá +z1elej +ze1le +ze2l1eml +z1e2lemz +z1el1há +2zellen +zel1le +z1el1nö +ze2l1o2s +ze1lo +ze2lõg +ze1lõ +z1el1vo +ze2mad +ze1ma +ze2már +ze1má +zeme2i1ké +ze1me +zeme1i +ze2m1ell +2zemés +ze1mé +ze2m1id +ze1mi +ze2m1iz +zenci2a +zen1ci +zene2tel +ze1ne +zene1te +zen2tan +zen1ta +zen2t1est +zen1te +zen2tí +zeo2m +ze1o +ze1ö2 +ze2per +ze1pe +ze1ph +ze1p2r +ze2rad +ze1ra +ze2raj +ze2ran +ze2r1a2r +ze2r1as +zer1á1ra +ze1rá +ze2re1dõ +ze1re +zere2g +zer1egg +ze2r1eg2y +zer1ejt +2z1e2re1jü +ze2r1él +ze1ré +ze2r1ill +ze1ri +ze2r1ip +ze2ris +2zerj +ze2ror +ze1ro +2z1e2rõ +zer1s +ze2r1u2 +ze2set +ze1se +ze2sit +ze1si +ze2sõ +2z1es1té +zes1ut +ze1su +ze2süv +ze1sü +zesz1ár. +zes2z +ze1s1zá +ze2szé1le +ze1s1zé +ze2szip +ze1s1zi +2zeszk +zes3z2s2 +ze2t1an2y +ze1ta +ze2tál +ze1tá +ze2tát +ze2t1ell +ze1te +ze2telm +ze2tér1te +ze1té +ze2tí +zet1me2 +zetmeg1 +ze2tok +ze1to +ze2t1ó2r +ze1tó +ze2t2y +z1e2ur +ze1u +2zev +ze2vez +ze1ve +z1e2vol +ze1vo +ze2võ +ze2zer +ze1ze +2z1ezr2e. +zez1re +2z1ezred +2z1ezre2i. +zezre1i +2z1ezreir +2z1ezreit +2z1ezreiv +2z1ezrek +2z1ezrel +2z1ezres +2z1ezret +1zé +zé2dal +zé1da +zé2d1elem +zé1de +zéde1le +zé2d1és +zé1dé +zé2d2z +2zég +z1é2ge +zé2hes +zé1he +2z1éhs2 +z1éjs +zé2kin +zé1ki +zé2lak +zé1la +zé2l1á2 +2zé2lel +zé1le +zél1elt +zé2le1ne +zé2l1e2r +2zélet. +2z1é2letb2 +2z1é2le1te +2z1é2le1té +2z1é2le1ti +2z1é2letr +zé2lir +zé1li +zé2lo +zé2lu +zéndi1o2 +zén1di +zé1ne2 +zé2neg +zé2n1el +zé2n1is +zé1ni +zé2nu +zé2p1a2 +zé2pá +zép1emb +zé1pe +zé2p1ér +zé1pé +zé2pir +zé1pi +zé2pis +2zé1pí +zé2p1o2 +zé2pu +2zépül +zé1pü +zé2r1á2 +zé2reg +zé1re +zér1emb +zé2rés +zé1ré +zé2ri2g +zé1ri +zé2r1o +zé2rõt +zé1rõ +2z1ér1té +2z1érth +2z1érz +zé2sa2 +zé2sel +zé1se +zé2sí +zés3s2 +zé2tap +zé1ta +zé2t1á2 +zé2te2l +zé1te +zét1e1le +zét1e1se +zét1esn +zét1est +zé2ti +2zét1k2 +zé2t1o +zé2tö +zé2tu +zé2tú +zé2t1ü +zé2tû +z1év. +zé2vek +zé1ve +2z1é2ven +2z1é2ves +2z1é2vi +2z1évn +zf2 +zfe2l1em +z1fe +zfe1le +zfe2li +z2fé1ri +z1fé +z1fr +z1g2 +zgás3s2 +z1gá +zgá2s2z +zgés3s2 +z1gé +zgó1s2 +z1gó +zhad1 +z1ha +zharminc1 +zhar1mi +1zi +zi2ac +zi1a +2zicc +zi1c2h +z1i2dé +z1i2dõ +zie2l +zi1e +zie2m +zigaz1 +zi1ga +2z1i2gaz1g2 +zi2gáz +zi1gá +2z1i2gén +zi1gé +zi1g2r +zikus1s +zi1ku +z1im1ma +zi2n1á2r +zi1ná +z1in1du +zi2nol +zi1no +zi2nór +zi1nó +zin2t1el +zin1te +zin2ter +zin2to +zi2ol +zi1o +zi2óc +zi1ó +zi2óp +z1i2par +zi1pa +zi1p2l +zi1p2r +z1i2rat +zi1ra +2z1i2rá +zi2rod +zi1ro +zi2sal +zi1sa +zi2seg +zi1se +zise2l +zis1e1le +z1is1ko +zis1k2 +2z1ism +zi2sor +z2i1so +1zis3s1zi +zis2s2z +2z1is1te +zi2tut +zi1tu +zi1ú2 +2z1i2vó +2zizm +zi2zom +zi1zo +2zizz +1zí +zí2n1ál +zí1ná +zí2nár +zí2n1o +zí2nu +z1í2ró +zítés3s2 +zí1té +zí2va2l +zí1va +zí2vi2z +zí1vi +2z1í2z +z1kh2 +zki1á2 +z1ki +zki1e2 +z2k1ing +zk2le +z1k2lin +zk1li +z1k2lu +zkon2tár +z1ko +zkon1tá +z2ko1pi +z2kópi1á +z1kó +zkó1pi +z2kópr +z1k2ra +z1k2ru +z1k2val +zk1va +zle2ta +z1le +zle2tá +zle2t1emb +zle1te +zle2ter +zle2t1o +z2log +z1lo +zme2g1á +z1me +z2nob +z1no +1zo +zo1ki2 +zok1ir +zo2koz +zo1ko +2z1o2laj +zo1la +2z1oll +zo2mag +zo1ma +2zomh +2zomv +2zomz +zo2naj +zo1na +zo2n1áll +zo1ná +zo2ne2r +zo1ne +zo1né2 +zo2név +zon2tel +zon1te +zon2tol +zon1to +zo2nyan +zon2y +zo1nya +zo2nye +zo1p1hi +z2oph2 +zo2ra2n +zo1ra +zo2rar +zo2r1as +2zorg +z1or1ke +z1orr. +z1or1rú +z1or1vo +2z1o2x +1zó +z2ó1á2 +zó1d1re +zó1p2 +z1ó2ra1i +zó1ra +z1ó2ras +zó2t2a. +zó1ta +zó2t1ért +zó1té +zó1t2h +zó1t2r +zózat1át +z2ó1za +zóza1tá +1zö +zög1ért +zö1gé +zö2g1öl +zö1gö +3zöl1de +zöl2din +zöl1di +z1ö2lel +zö1le +zö2les +2zö1ne +2zö1nö +2z1ötv +2zöv +2z1ö2z +1zõ +zõ1dr +zõe2r +z2õ1e +zõren2 +zõ1re +zõrend1 +zõ2ro +2zõrs +2zõrz +zõ1u2 +zpen3 +z1pe +z1p2l +z1p2ro +z1p2ró +zre2d3z +z1re +zren2d1õ +z2s +1z1sa +2zsaj +zs1a2la +2zs1a1mu +z3sapk +1z1sá +2zság +z3ság. +z3sá1ga +z3sá1gá +z3ság1t2 +zsá2rá +1z1se +z3sej +1z1sé +2z3ség +2zs1ép +zs1érv +1z1si +2zsir +zs1i1ro +2zs1i1ta +1z1sí +z3sík +2z3síp +1z1so +2zsor +zs1orv +1z1só +1z1sö +1z1sõ +zsp2 +zs3s +zst2 +z3s2tí +1z1su +1z1sú +z3s2úl +1z1sü +zs1üg +zs1ü2té +1z1sû +zs2z2 +z3s1za +z3s1zá +z3szeg +z1s1ze +z3szek +z3szem +zs3zen +z3sze1re +z3s1zé +z3s1zí +z3s1zo +z3s1zó +z3s1zõ +zszt2 +z3s1zu +z3s1zü +z3s1zû +z2t1a2dó +z1ta +zt1a1pá +z2t1arc +z2t1as2s2z +z2táld +z1tá +zt1á2ram +ztá1ra +z2tátj +z2tá1tu +ztá2v1i2 +z2t1e1lo +z1te +z2t1emb +z2tep +z2tered +zte1re +z2tesem +zte1se +z2t1é2g +z1té +z2t1é2le +z2t1ér1té +zt2hen +zt1he +zti1a2 +z1ti +z2t1id +zti2g +z2t1i1gé +z2t1i2p +z2t1i1rá +z2t1i1ré +z2t1í2r +z1tí +zto1g2 +z1to +zto2n1 +zto2ris +zto1ri +z2torit +zto1szk +ztos2z +ztó1dr +z1tó +zt2ráj +zt1rá +z1t2ré +z2túj +z1tú +z2t1út +ztül1l +z1tü +z2t1üt +1zu +zu2b1a +3zubb +zu2b1i +zu1c2 +zu2g1ár +zu1gá +zu2gí +z1ugr +zu2gu +2z1uj +zu1le2 +zu2l1e1si +z1urn +zu2só +2zut +z1u2ta +z1u2tá +z1u2tó +3zuz +1zú +2zúj +z1ú2jo +z1újs +2zút +z1úth +z1útj +z1ú2to +z1úts +3zúz +1zü +2z1üd +2züg +zü2ni +zürkés1 +zür1ké +2züs +2züt +z1ü2té +z1ü2tõ +z1ü2v +2züz +zü2zem +zü1ze +z1üzl +1zû +zû2c1si +zûc2s +zû2k1a +zû2za2 +zû2zér +zû1zé +z1û2zõ +z2z1áll +z1zá +z2z2s2 +z3z1sí +zz3st2 + diff --git a/Master/texmf-dist/doc/generic/huhyphen/searchforerrors.rb b/Master/texmf-dist/doc/generic/huhyphen/searchforerrors.rb new file mode 100644 index 00000000000..8bc92efc207 --- /dev/null +++ b/Master/texmf-dist/doc/generic/huhyphen/searchforerrors.rb @@ -0,0 +1,105 @@ +#!/usr/bin/env ruby +# Copyright (C) 2003, NAGY Bence <huhyphn@tipogral.hu> +# This program can be distributed under the terms of the +# GNU General Public License version 2. + +$programname='Searchforerrors' +$programversion='v20031102' + +class Searchforerrors + def initialize + print "Minták betöltése...\n" + @patterns=[] + patterns=0 + IO.foreach("huhyphn.tex"){|aline| + unless aline=~/[\\%{}]/ + aline=aline.gsub('®','õ').gsub('¶','û') + letter=false + hyphenated,value='','' + aline.chop.length.times{|i| + if aline[i,1]=~/\d/ + value<<aline[i,1] + letter=false + else + value<<'0' if letter + hyphenated<<aline[i,1] + letter=true + end + } + value<<'0' if letter + @patterns[hyphenated.length]={} unless @patterns[hyphenated.length] + @patterns[hyphenated.length][hyphenated]=value + patterns+=1 + else + puts $1 if aline=~/\\message\{(.*)\}/ + end + } if File.exist?("huhyphn.tex") + @patterns.length.times{|i| + @patterns[i]={} unless @patterns[i] + } + print patterns," minta betöltve.\n" + end + def getpattern(hyphenated,value) + pattern='' + pattern=value.slice!(0,1) if value.length>hyphenated.length + hyphenated.length.times{|i| + pattern<<hyphenated[i] + pattern<<value[i] if value[i] + } + pattern.delete('0') + end + def hyphenword(word) + if word.length>1 + hyphenated='.'+word+'.' + value='0'*hyphenated.length + hyphenated.tr!('A-ZÁÄÉÍÓÖÕÚÜÛ','a-záäéíóöõúüû') + pattern='' + 1.upto(hyphenated.length){|i| + 0.upto(hyphenated.length-i){|j| + if @patterns[i] and pattern=@patterns[i][hyphenated[j,i]] + pattern.length.times{|k| + value[j+i-pattern.length+k]=pattern[k] if value[j+i-pattern.length+k]<pattern[k] + } + end + } + } + hyphenated='' + 0.upto(word.length-2){|i| + hyphenated<<word[i,1] + hyphenated<<'-' if value[i+1,1]=~/[13579]/ + } + hyphenated<<word[-1,1] + else + hyphenated=word + end + hyphenated.tr('A-ZÁÄÉÍÓÖÕÚÜÛ','a-záäéíóöõúüû') + end +end + +print "#{$programname} #{$programversion}\n" +filename=ARGV.shift +if filename and File.exist?(filename) + searchforerrors=Searchforerrors.new + words=[] + IO.foreach(filename){|aline| + aline.strip.split(/[{}.,;:!?\s]+/).each{|aword| + if aword=~/\A[A-Za-zÁÁÉÍÓÖÕÚÜÛáäéíóöõúüû]+\Z/ + word=searchforerrors.hyphenword(aword) + if (word=~/-([bcdfghjklmnpqrstvwxyz]|cs|dz|dzs|gy|ly|ny|sz|ty|zs)-/ or + word=~/[bcdfghjklmnpqrstvwxyz]-[aeiouáäéíóöõúüû]-[bcdfghjklmnpqrstvwxyz]/ or + word=~/[bcdfghjklmnpqrstvwxyz](ccs|ddz|ddzs|ggy|lly|nny|ssz|tty|zzs)/ or + word=~/(ccs|ddz|ddzs|ggy|lly|nny|ssz|tty|zzs)[bcdfghjklmnpqrstvwxyz]/ or + word=~/[aáoóuú](ccs|ddz|ddzs|ggy|lly|nny|ssz|tty|zzs)[eéöõüû]/ or + word=~/[eéöõüû](ccs|ddz|ddzs|ggy|lly|nny|ssz|tty|zzs)[aáoóuú]/) or + word=~/(csz|zsz|szs)/ or + word=~/[bcdfghjklmnpqrstvwxyz]{1,2}[aeiouáäéíóöõúüû]([bcdfghjklmnpqrstvwxyz]{1,2})[aeiouáäéíóöõúüû]/ and + not words.include?(word) + print word,"\n" + words<<word + end + end + } + } +else + print 'Nincs fájlnév megadva vagy a fájl nem létezik!',"\n" +end diff --git a/Master/texmf-dist/doc/generic/huhyphen/testhyphenation.rb b/Master/texmf-dist/doc/generic/huhyphen/testhyphenation.rb new file mode 100644 index 00000000000..287484fe4c6 --- /dev/null +++ b/Master/texmf-dist/doc/generic/huhyphen/testhyphenation.rb @@ -0,0 +1,86 @@ +#!/usr/bin/env ruby +# Copyright (C) 2003, NAGY Bence <huhyphn@tipogral.hu> +# This program can be distributed under the terms of the +# GNU General Public License version 2. + +$programname='Testhyphenation' +$programversion='v20031102' + +class Testhyphenation + def initialize + print "Minták betöltése...\n" + @patterns=[] + patterns=0 + IO.foreach("huhyphn.tex"){|aline| + unless aline=~/[\\%{}]/ + aline=aline.gsub('®','õ').gsub('¶','û') + letter=false + key,value='','' + aline.chop.length.times{|i| + if aline[i,1]=~/\d/ + value<<aline[i,1] + letter=false + else + value<<'0' if letter + key<<aline[i,1] + letter=true + end + } + value<<'0' if letter + @patterns[key.length]={} unless @patterns[key.length] + @patterns[key.length][key]=value + patterns+=1 + else + puts $1 if aline=~/\\message\{(.*)\}/ + end + } if File.exist?("huhyphn.tex") + @patterns.length.times{|i| + @patterns[i]={} unless @patterns[i] + } + print patterns," minta betöltve.\n\n" + end + def getpattern(key,value) + pattern='' + pattern=value.slice!(0,1) if value.length>key.length + key.length.times{|i| + pattern<<key[i] + pattern<<value[i] if value[i] + } + pattern.delete('0') + end + def hyphenword(word) + if word.length>1 + key='.'+word+'.' + value='0'*key.length + key.tr!('A-ZÁÄÉÍÓÖÕÚÜÛ','a-záäéíóöõúüû') + pattern='' + 1.upto(key.length){|i| + 0.upto(key.length-i){|j| + if @patterns[i] and pattern=@patterns[i][key[j,i]] + print "\t",getpattern(key[j,i].dup,pattern.dup),"\n" + pattern.length.times{|k| + value[j+i-pattern.length+k]=pattern[k] if value[j+i-pattern.length+k]<pattern[k] + } + end + } + } + hyphenated='' + 0.upto(word.length-2){|i| + hyphenated<<word[i,1] + hyphenated<<'-' if value[i+1,1]=~/[13579]/ + } + hyphenated<<word[-1,1] + else + hyphenated=word + end + print "#{word} -> #{hyphenated}\n\n" + hyphenated + end +end + +print "#{$programname} #{$programversion}\n" +testhyphenation=Testhyphenation.new +while gets + break if $_=="\n" + testhyphenation.hyphenword($_.strip) +end diff --git a/Master/texmf-dist/doc/gzip/gzip.html b/Master/texmf-dist/doc/gzip/gzip.html new file mode 100644 index 00000000000..1751211b85e --- /dev/null +++ b/Master/texmf-dist/doc/gzip/gzip.html @@ -0,0 +1,802 @@ +<html lang="en"> +<head> +<title>Gzip User's Manual</title> +<meta http-equiv="Content-Type" content="text/html"> +<meta name="description" content="Gzip User's Manual"> +<meta name="generator" content="makeinfo 4.7"> +<link title="Top" rel="top" href="#Top"> +<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> +<meta http-equiv="Content-Style-Type" content="text/css"> +<style type="text/css"><!-- + pre.display { font-family:inherit } + pre.format { font-family:inherit } + pre.smalldisplay { font-family:inherit; font-size:smaller } + pre.smallformat { font-family:inherit; font-size:smaller } + pre.smallexample { font-size:smaller } + pre.smalllisp { font-size:smaller } + span.sc { font-variant:small-caps } + span.roman { font-family: serif; font-weight: normal; } +--></style> +</head> +<body> +<h1 class="settitle">Gzip User's Manual</h1> +<div class="node"> +<p><hr> +<a name="Top"></a>Up: <a rel="up" accesskey="u" href="#dir">(dir)</a> +<br> +</div> + +<ul class="menu"> +<li><a accesskey="1" href="#Copying">Copying</a>: How you can copy and share <code>gzip</code>. +<li><a accesskey="2" href="#Overview">Overview</a>: Preliminary information. +<li><a accesskey="3" href="#Sample">Sample</a>: Sample output from <code>gzip</code>. +<li><a accesskey="4" href="#Invoking-gzip">Invoking gzip</a>: How to run <code>gzip</code>. +<li><a accesskey="5" href="#Advanced-usage">Advanced usage</a>: Concatenated files. +<li><a accesskey="6" href="#Environment">Environment</a>: The <code>GZIP</code> environment variable +<li><a accesskey="7" href="#Tapes">Tapes</a>: Using <code>gzip</code> on tapes. +<li><a accesskey="8" href="#Problems">Problems</a>: Reporting bugs. +<li><a accesskey="9" href="#Concept-Index">Concept Index</a>: Index of concepts. +</ul> + +<div class="node"> +<p><hr> +<a name="Copying"></a>Next: <a rel="next" accesskey="n" href="#Overview">Overview</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> +<br> +</div> + +<h2 class="unnumbered">GNU GENERAL PUBLIC LICENSE</h2> + +<div align="center">Version 2, June 1991</div> + +<pre class="display"> Copyright © 1989, 1991 Free Software Foundation, Inc. + 675 Mass Ave, Cambridge, MA 02139, USA + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. +</pre> + <h3 class="unnumberedsec">Preamble</h3> + +<p>The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software—to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + <p>When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + <p>To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + <p>For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + <p>We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + <p>Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + <p>Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + <p>The precise terms and conditions for copying, distribution and +modification follow. + + <ol type=1 start=1> +<li>This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The “Program”, below, +refers to any such program or work, and a “work based on the Program” +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term “modification”.) Each licensee is addressed as “you”. + + <p>Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + <li>You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + + <p>You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + <li>You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + <ol type=a start=1> +<li>You must cause the modified files to carry prominent notices +stating that you changed the files and the date of any change. + + <li>You must cause any work that you distribute or publish, that in +whole or in part contains or is derived from the Program or any +part thereof, to be licensed as a whole at no charge to all third +parties under the terms of this License. + + <li>If the modified program normally reads commands interactively +when run, you must cause it, when started running for such +interactive use in the most ordinary way, to print or display an +announcement including an appropriate copyright notice and a +notice that there is no warranty (or else, saying that you provide +a warranty) and that users may redistribute the program under +these conditions, and telling the user how to view a copy of this +License. (Exception: if the Program itself is interactive but +does not normally print such an announcement, your work based on +the Program is not required to print an announcement.) + </ol> + + <p>These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + + <p>Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + + <p>In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + <li>You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + <ol type=a start=1> +<li>Accompany it with the complete corresponding machine-readable +source code, which must be distributed under the terms of Sections +1 and 2 above on a medium customarily used for software interchange; or, + + <li>Accompany it with a written offer, valid for at least three +years, to give any third party, for a charge no more than your +cost of physically performing source distribution, a complete +machine-readable copy of the corresponding source code, to be +distributed under the terms of Sections 1 and 2 above on a medium +customarily used for software interchange; or, + + <li>Accompany it with the information you received as to the offer +to distribute corresponding source code. (This alternative is +allowed only for noncommercial distribution and only if you +received the program in object code or executable form with such +an offer, in accord with Subsection b above.) + </ol> + + <p>The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + + <p>If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + <li>You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + <li>You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + <li>Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + <li>If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + + <p>If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + + <p>It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + + <p>This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + <li>If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + <li>The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + <p>Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and “any +later version”, you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + <li>If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + <li>BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + <li>IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + </ol> + +<h3 class="unnumberedsec">How to Apply These Terms to Your New Programs</h3> + +<p>If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + <p>To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the “copyright” line and a pointer to where the full notice is found. + +<pre class="smallexample"> <var>one line to give the program's name and an idea of what it does.</var> + Copyright (C) 19<var>yy</var> <var>name of author</var> + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +</pre> + <p>Also add information on how to contact you by electronic and paper mail. + + <p>If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + +<pre class="smallexample"> Gnomovision version 69, Copyright (C) 19<var>yy</var> <var>name of author</var> + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details + type `show w'. This is free software, and you are welcome + to redistribute it under certain conditions; type `show c' + for details. +</pre> + <p>The hypothetical commands <span class="samp">show w</span> and <span class="samp">show c</span> should show +the appropriate parts of the General Public License. Of course, the +commands you use may be called something other than <span class="samp">show w</span> and +<span class="samp">show c</span>; they could even be mouse-clicks or menu items—whatever +suits your program. + + <p>You should also get your employer (if you work as a programmer) or your +school, if any, to sign a “copyright disclaimer” for the program, if +necessary. Here is a sample; alter the names: + +<pre class="example"> Yoyodyne, Inc., hereby disclaims all copyright + interest in the program `Gnomovision' + (which makes passes at compilers) written + by James Hacker. + + <var>signature of Ty Coon</var>, 1 April 1989 + Ty Coon, President of Vice +</pre> + <p>This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. + +<div class="node"> +<p><hr> +<a name="Overview"></a>Next: <a rel="next" accesskey="n" href="#Sample">Sample</a>, +Previous: <a rel="previous" accesskey="p" href="#Copying">Copying</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> +<br> +</div> + +<h2 class="chapter">1 Overview</h2> + +<p><a name="index-overview-1"></a> +<code>gzip</code> reduces the size of the named files using Lempel-Ziv coding +(LZ77). Whenever possible, each file is replaced by one with the +extension <span class="samp">.gz</span>, while keeping the same ownership modes, access and +modification times. (The default extension is <span class="samp">-gz</span> for VMS, +<span class="samp">z</span> for MSDOS, OS/2 FAT and Atari.) If no files are specified or +if a file name is "-", the standard input is compressed to the standard +output. <code>gzip</code> will only attempt to compress regular files. In +particular, it will ignore symbolic links. + + <p>If the new file name is too long for its file system, <code>gzip</code> +truncates it. <code>gzip</code> attempts to truncate only the parts of the +file name longer than 3 characters. (A part is delimited by dots.) If +the name consists of small parts only, the longest parts are truncated. +For example, if file names are limited to 14 characters, gzip.msdos.exe +is compressed to gzi.msd.exe.gz. Names are not truncated on systems +which do not have a limit on file name length. + + <p>By default, <code>gzip</code> keeps the original file name and timestamp in +the compressed file. These are used when decompressing the file with the +<span class="samp">-N</span> option. This is useful when the compressed file name was +truncated or when the time stamp was not preserved after a file +transfer. + + <p>Compressed files can be restored to their original form using <span class="samp">gzip -d</span> +or <code>gunzip</code> or <code>zcat</code>. If the original name saved in the +compressed file is not suitable for its file system, a new name is +constructed from the original one to make it legal. + + <p><code>gunzip</code> takes a list of files on its command line and replaces +each file whose name ends with <span class="samp">.gz</span>, <span class="samp">.z</span>, <span class="samp">.Z</span>, +<span class="samp">-gz</span>, <span class="samp">-z</span> or <span class="samp">_z</span> and which begins with the correct +magic number with an uncompressed file without the original extension. +<code>gunzip</code> also recognizes the special extensions <span class="samp">.tgz</span> and +<span class="samp">.taz</span> as shorthands for <span class="samp">.tar.gz</span> and <span class="samp">.tar.Z</span> +respectively. When compressing, <code>gzip</code> uses the <span class="samp">.tgz</span> +extension if necessary instead of truncating a file with a <span class="samp">.tar</span> +extension. + + <p><code>gunzip</code> can currently decompress files created by <code>gzip</code>, +<code>zip</code>, <code>compress</code> or <code>pack</code>. The detection of the input +format is automatic. When using the first two formats, <code>gunzip</code> +checks a 32 bit CRC (cyclic redundancy check). For <code>pack</code>, +<code>gunzip</code> checks the uncompressed length. The <code>compress</code> format +was not designed to allow consistency checks. However <code>gunzip</code> is +sometimes able to detect a bad <span class="samp">.Z</span> file. If you get an error when +uncompressing a <span class="samp">.Z</span> file, do not assume that the <span class="samp">.Z</span> file is +correct simply because the standard <code>uncompress</code> does not complain. +This generally means that the standard <code>uncompress</code> does not check +its input, and happily generates garbage output. The SCO <span class="samp">compress +-H</span> format (<code>lzh</code> compression method) does not include a CRC but +also allows some consistency checks. + + <p>Files created by <code>zip</code> can be uncompressed by <code>gzip</code> only if +they have a single member compressed with the 'deflation' method. This +feature is only intended to help conversion of <code>tar.zip</code> files to +the <code>tar.gz</code> format. To extract <code>zip</code> files with several +members, use <code>unzip</code> instead of <code>gunzip</code>. + + <p><code>zcat</code> is identical to <span class="samp">gunzip -c</span>. <code>zcat</code> +uncompresses either a list of files on the command line or its standard +input and writes the uncompressed data on standard output. <code>zcat</code> +will uncompress files that have the correct magic number whether they +have a <span class="samp">.gz</span> suffix or not. + + <p><code>gzip</code> uses the Lempel-Ziv algorithm used in <code>zip</code> and PKZIP. +The amount of compression obtained depends on the size of the input and +the distribution of common substrings. Typically, text such as source +code or English is reduced by 60-70%. Compression is generally much +better than that achieved by LZW (as used in <code>compress</code>), Huffman +coding (as used in <code>pack</code>), or adaptive Huffman coding +(<code>compact</code>). + + <p>Compression is always performed, even if the compressed file is slightly +larger than the original. The worst case expansion is a few bytes for +the <code>gzip</code> file header, plus 5 bytes every 32K block, or an expansion +ratio of 0.015% for large files. Note that the actual number of used +disk blocks almost never increases. <code>gzip</code> preserves the mode, +ownership and timestamps of files when compressing or decompressing. + +<div class="node"> +<p><hr> +<a name="Sample"></a>Next: <a rel="next" accesskey="n" href="#Invoking-gzip">Invoking gzip</a>, +Previous: <a rel="previous" accesskey="p" href="#Overview">Overview</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> +<br> +</div> + +<h2 class="chapter">2 Sample Output</h2> + +<p><a name="index-sample-2"></a> +Here are some realistic examples of running <code>gzip</code>. + + <p>This is the output of the command <span class="samp">gzip -h</span>: + +<pre class="example"> gzip 1.2.4 (18 Aug 93) + usage: gzip [-cdfhlLnNrtvV19] [-S suffix] [file ...] + -c --stdout write on standard output, keep original files unchanged + -d --decompress decompress + -f --force force overwrite of output file and compress links + -h --help give this help + -l --list list compressed file contents + -L --license display software license + -n --no-name do not save or restore the original name and time stamp + -N --name save or restore the original name and time stamp + -q --quiet suppress all warnings + -r --recursive operate recursively on directories + -S .suf --suffix .suf use suffix .suf on compressed files + -t --test test compressed file integrity + -v --verbose verbose mode + -V --version display version number + -1 --fast compress faster + -9 --best compress better + file... files to (de)compress. If none given, use standard input. +</pre> + <p>This is the output of the command <span class="samp">gzip -v texinfo.tex</span>: + +<pre class="example"> texinfo.tex: 71.6% -- replaced with texinfo.tex.gz +</pre> + <p>The following command will find all <code>gzip</code> files in the current +directory and subdirectories, and extract them in place without +destroying the original: + +<pre class="example"> find . -name '*.gz' -print | sed 's/^\(.*\)[.]gz$/gunzip < "&" > "\1"/' | sh +</pre> + <div class="node"> +<p><hr> +<a name="Invoking-gzip"></a>Next: <a rel="next" accesskey="n" href="#Advanced-usage">Advanced usage</a>, +Previous: <a rel="previous" accesskey="p" href="#Sample">Sample</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> +<br> +</div> + +<h2 class="chapter">3 Invoking <code>gzip</code></h2> + +<p><a name="index-invoking-3"></a><a name="index-options-4"></a> +The format for running the <code>gzip</code> program is: + +<pre class="example"> gzip <var>option</var> ... +</pre> + <p><code>gzip</code> supports the following options: + + <dl> +<dt><span class="samp">--stdout</span><dt><span class="samp">--to-stdout</span><dt><span class="samp">-c</span><dd>Write output on standard output; keep original files unchanged. +If there are several input files, the output consists of a sequence of +independently compressed members. To obtain better compression, +concatenate all input files before compressing them. + + <br><dt><span class="samp">--decompress</span><dt><span class="samp">--uncompress</span><dt><span class="samp">-d</span><dd>Decompress. + + <br><dt><span class="samp">--force</span><dt><span class="samp">-f</span><dd>Force compression or decompression even if the file has multiple links +or the corresponding file already exists, or if the compressed data +is read from or written to a terminal. If the input data is not in +a format recognized by <code>gzip</code>, and if the option <span class="samp">--stdout</span> is also +given, copy the input data without change to the standard output: let +<code>zcat</code> behave as <code>cat</code>. If <span class="samp">-f</span> is not given, and +when not running in the background, <code>gzip</code> prompts to verify +whether an existing file should be overwritten. + + <br><dt><span class="samp">--help</span><dt><span class="samp">-h</span><dd>Print an informative help message describing the options then quit. + + <br><dt><span class="samp">--list</span><dt><span class="samp">-l</span><dd>For each compressed file, list the following fields: + + <pre class="example"> compressed size: size of the compressed file + uncompressed size: size of the uncompressed file + ratio: compression ratio (0.0% if unknown) + uncompressed_name: name of the uncompressed file + </pre> + <p>The uncompressed size is given as <span class="samp">-1</span> for files not in <code>gzip</code> +format, such as compressed <span class="samp">.Z</span> files. To get the uncompressed size for +such a file, you can use: + + <pre class="example"> zcat file.Z | wc -c + </pre> + <p>In combination with the <span class="samp">--verbose</span> option, the following fields are also +displayed: + + <pre class="example"> method: compression method (deflate,compress,lzh,pack) + crc: the 32-bit CRC of the uncompressed data + date & time: time stamp for the uncompressed file + </pre> + <p>The crc is given as ffffffff for a file not in gzip format. + + <p>With <span class="samp">--verbose</span>, the size totals and compression ratio for all files +is also displayed, unless some sizes are unknown. With <span class="samp">--quiet</span>, +the title and totals lines are not displayed. + + <br><dt><span class="samp">--license</span><dt><span class="samp">-L</span><dd>Display the <code>gzip</code> license then quit. + + <br><dt><span class="samp">--no-name</span><dt><span class="samp">-n</span><dd>When compressing, do not save the original file name and time stamp by +default. (The original name is always saved if the name had to be +truncated.) When decompressing, do not restore the original file name +if present (remove only the <code>gzip</code> +suffix from the compressed file name) and do not restore the original +time stamp if present (copy it from the compressed file). This option +is the default when decompressing. + + <br><dt><span class="samp">--name</span><dt><span class="samp">-N</span><dd>When compressing, always save the original file name and time stamp; this +is the default. When decompressing, restore the original file name and +time stamp if present. This option is useful on systems which have +a limit on file name length or when the time stamp has been lost after +a file transfer. + + <br><dt><span class="samp">--quiet</span><dt><span class="samp">-q</span><dd>Suppress all warning messages. + + <br><dt><span class="samp">--recursive</span><dt><span class="samp">-r</span><dd>Travel the directory structure recursively. If any of the file names +specified on the command line are directories, <code>gzip</code> will descend +into the directory and compress all the files it finds there (or +decompress them in the case of <code>gunzip</code>). + + <br><dt><span class="samp">--suffix </span><var>suf</var><dt><span class="samp">-S </span><var>suf</var><dd>Use suffix <var>suf</var> instead of <span class="samp">.gz</span>. Any suffix can be +given, but suffixes other than <span class="samp">.z</span> and <span class="samp">.gz</span> should be +avoided to avoid confusion when files are transferred to other systems. +A null suffix forces gunzip to try decompression on all given files +regardless of suffix, as in: + + <pre class="example"> gunzip -S "" * (*.* for MSDOS) + </pre> + <p>Previous versions of gzip used the <span class="samp">.z</span> suffix. This was changed to +avoid a conflict with <code>pack</code>. + + <br><dt><span class="samp">--test</span><dt><span class="samp">-t</span><dd>Test. Check the compressed file integrity. + + <br><dt><span class="samp">--verbose</span><dt><span class="samp">-v</span><dd>Verbose. Display the name and percentage reduction for each file compressed. + + <br><dt><span class="samp">--version</span><dt><span class="samp">-V</span><dd>Version. Display the version number and compilation options, then quit. + + <br><dt><span class="samp">--fast</span><dt><span class="samp">--best</span><dt><span class="samp">-</span><var>n</var><dd>Regulate the speed of compression using the specified digit <var>n</var>, +where <span class="samp">-1</span> or <span class="samp">--fast</span> indicates the fastest compression +method (less compression) and <span class="samp">--best</span> or <span class="samp">-9</span> indicates the +slowest compression method (optimal compression). The default +compression level is <span class="samp">-6</span> (that is, biased towards high compression at +expense of speed). +</dl> + +<div class="node"> +<p><hr> +<a name="Advanced-usage"></a>Next: <a rel="next" accesskey="n" href="#Environment">Environment</a>, +Previous: <a rel="previous" accesskey="p" href="#Invoking-gzip">Invoking gzip</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> +<br> +</div> + +<h2 class="chapter">4 Advanced usage</h2> + +<p><a name="index-concatenated-files-5"></a> +Multiple compressed files can be concatenated. In this case, +<code>gunzip</code> will extract all members at once. If one member is +damaged, other members might still be recovered after removal of the +damaged member. Better compression can be usually obtained if all +members are decompressed and then recompressed in a single step. + + <p>This is an example of concatenating <code>gzip</code> files: + +<pre class="example"> gzip -c file1 > foo.gz + gzip -c file2 >> foo.gz +</pre> + <p>Then + +<pre class="example"> gunzip -c foo +</pre> + <p>is equivalent to + +<pre class="example"> cat file1 file2 +</pre> + <p>In case of damage to one member of a <span class="samp">.gz</span> file, other members can +still be recovered (if the damaged member is removed). However, +you can get better compression by compressing all members at once: + +<pre class="example"> cat file1 file2 | gzip > foo.gz +</pre> + <p>compresses better than + +<pre class="example"> gzip -c file1 file2 > foo.gz +</pre> + <p>If you want to recompress concatenated files to get better compression, do: + +<pre class="example"> zcat old.gz | gzip > new.gz +</pre> + <p>If a compressed file consists of several members, the uncompressed +size and CRC reported by the <span class="samp">--list</span> option applies to the last member +only. If you need the uncompressed size for all members, you can use: + +<pre class="example"> zcat file.gz | wc -c +</pre> + <p>If you wish to create a single archive file with multiple members so +that members can later be extracted independently, use an archiver such +as <code>tar</code> or <code>zip</code>. GNU <code>tar</code> supports the <span class="samp">-z</span> +option to invoke <code>gzip</code> transparently. <code>gzip</code> is designed as a +complement to <code>tar</code>, not as a replacement. + +<div class="node"> +<p><hr> +<a name="Environment"></a>Next: <a rel="next" accesskey="n" href="#Tapes">Tapes</a>, +Previous: <a rel="previous" accesskey="p" href="#Advanced-usage">Advanced usage</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> +<br> +</div> + +<h2 class="chapter">5 Environment</h2> + +<p><a name="index-Environment-6"></a> +The environment variable <code>GZIP</code> can hold a set of default options for +<code>gzip</code>. These options are interpreted first and can be overwritten by +explicit command line parameters. For example: + +<pre class="example"> for sh: GZIP="-8v --name"; export GZIP + for csh: setenv GZIP "-8v --name" + for MSDOS: set GZIP=-8v --name +</pre> + <p>On Vax/VMS, the name of the environment variable is <code>GZIP_OPT</code>, to +avoid a conflict with the symbol set for invocation of the program. + +<div class="node"> +<p><hr> +<a name="Tapes"></a>Next: <a rel="next" accesskey="n" href="#Problems">Problems</a>, +Previous: <a rel="previous" accesskey="p" href="#Environment">Environment</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> +<br> +</div> + +<h2 class="chapter">6 Using <code>gzip</code> on tapes</h2> + +<p><a name="index-tapes-7"></a> +When writing compressed data to a tape, it is generally necessary to pad +the output with zeroes up to a block boundary. When the data is read and +the whole block is passed to <code>gunzip</code> for decompression, +<code>gunzip</code> detects that there is extra trailing garbage after the +compressed data and emits a warning by default. You have to use the +<span class="samp">--quiet</span> option to suppress the warning. This option can be set in the +<code>GZIP</code> environment variable, as in: + +<pre class="example"> for sh: GZIP="-q" tar -xfz --block-compress /dev/rst0 + for csh: (setenv GZIP "-q"; tar -xfz --block-compress /dev/rst0) +</pre> + <p>In the above example, <code>gzip</code> is invoked implicitly by the <span class="samp">-z</span> +option of GNU <code>tar</code>. Make sure that the same block size (<span class="samp">-b</span> +option of <code>tar</code>) is used for reading and writing compressed data on +tapes. (This example assumes you are using the GNU version of +<code>tar</code>.) + +<div class="node"> +<p><hr> +<a name="Problems"></a>Next: <a rel="next" accesskey="n" href="#Concept-Index">Concept Index</a>, +Previous: <a rel="previous" accesskey="p" href="#Tapes">Tapes</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> +<br> +</div> + +<h2 class="chapter">7 Reporting Bugs</h2> + +<p><a name="index-bugs-8"></a> +If you find a bug in <code>gzip</code>, please send electronic mail to +<span class="samp">bug-gzip@gnu.org</span><!-- /@w -->. Include the version number, +which you can find by running <span class="samp">gzip -V</span><!-- /@w -->. Also include in your +message the hardware and operating system, the compiler used to compile +<code>gzip</code>, +a description of the bug behavior, and the input to <code>gzip</code> that triggered +the bug. + +<div class="node"> +<p><hr> +<a name="Concept-Index"></a>Previous: <a rel="previous" accesskey="p" href="#Problems">Problems</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> +<br> +</div> + +<h2 class="unnumbered">Concept Index</h2> + +<ul class="index-cp" compact> +<li><a href="#index-bugs-8">bugs</a>: <a href="#Problems">Problems</a></li> +<li><a href="#index-concatenated-files-5">concatenated files</a>: <a href="#Advanced-usage">Advanced usage</a></li> +<li><a href="#index-Environment-6">Environment</a>: <a href="#Environment">Environment</a></li> +<li><a href="#index-invoking-3">invoking</a>: <a href="#Invoking-gzip">Invoking gzip</a></li> +<li><a href="#index-options-4">options</a>: <a href="#Invoking-gzip">Invoking gzip</a></li> +<li><a href="#index-overview-1">overview</a>: <a href="#Overview">Overview</a></li> +<li><a href="#index-sample-2">sample</a>: <a href="#Sample">Sample</a></li> +<li><a href="#index-tapes-7">tapes</a>: <a href="#Tapes">Tapes</a></li> +</ul> +<div class="contents"> +<h2>Table of Contents</h2> +<ul> +<li><a name="toc_Copying" href="#Copying">GNU GENERAL PUBLIC LICENSE</a> +<ul> +<li><a href="#Copying">Preamble</a> +<li><a href="#Copying">How to Apply These Terms to Your New Programs</a> +</li></ul> +<li><a name="toc_Overview" href="#Overview">1 Overview</a> +<li><a name="toc_Sample" href="#Sample">2 Sample Output</a> +<li><a name="toc_Invoking-gzip" href="#Invoking-gzip">3 Invoking <code>gzip</code></a> +<li><a name="toc_Advanced-usage" href="#Advanced-usage">4 Advanced usage</a> +<li><a name="toc_Environment" href="#Environment">5 Environment</a> +<li><a name="toc_Tapes" href="#Tapes">6 Using <code>gzip</code> on tapes</a> +<li><a name="toc_Problems" href="#Problems">7 Reporting Bugs</a> +<li><a name="toc_Concept-Index" href="#Concept-Index">Concept Index</a> +</li></ul> +</div> + +</body></html> + diff --git a/Master/texmf-dist/doc/gzip/gzip.pdf b/Master/texmf-dist/doc/gzip/gzip.pdf Binary files differnew file mode 100644 index 00000000000..bf19bbd312f --- /dev/null +++ b/Master/texmf-dist/doc/gzip/gzip.pdf diff --git a/Master/texmf-dist/doc/hbf2gf/hbf2gf.pdf b/Master/texmf-dist/doc/hbf2gf/hbf2gf.pdf Binary files differnew file mode 100644 index 00000000000..16776ba4881 --- /dev/null +++ b/Master/texmf-dist/doc/hbf2gf/hbf2gf.pdf diff --git a/Master/texmf-dist/doc/info/asy-faq.info b/Master/texmf-dist/doc/info/asy-faq.info new file mode 100644 index 00000000000..ce35b88fc2b --- /dev/null +++ b/Master/texmf-dist/doc/info/asy-faq.info @@ -0,0 +1,1671 @@ +Info file: asy-faq.info, -*-Text-*- +produced by bfnnconv.pl from the Bizarre Format With No Name. + +INFO-DIR-SECTION Languages +START-INFO-DIR-ENTRY +* asymptote FAQ: (asy-faq). Asymptote Frequently Asked Questions. +END-INFO-DIR-ENTRY + + +File: asy-faq.info, Node: Top, Next: Question 1.1, Up: (dir) + + ASYMPTOTE FREQUENTLY ASKED QUESTIONS + 30 May 2012 + +This is the list of Frequently Asked Questions about Asymptote (asy). + +Index + +* Menu: +* Section 1:: About Asymptote +* Section 2:: Questions about installation and setup +* Section 3:: Questions about paths +* Section 4:: Questions about labels +* Section 5:: Questions about arrows +* Section 6:: Questions about 2D graphs +* Section 7:: Questions about programming +* Section 8:: Questions about differences between Asymptote and + MetaPost +* Section 9:: Questions about output + +Section 1, About Asymptote +* Question 1.1:: What is Asymptote? +* Question 1.2:: How do I obtain Asymptote? +* Question 1.3:: Where can I ask questions about Asymptote? +* Question 1.4:: Why was the name Asymptote chosen? +* Question 1.5:: In the internal Asymptote source code, what does the + name camp refer to? + +Section 2, Questions about installation and setup +* Question 2.1:: Is it possible to install Asymptote on Mac OS X? +* Question 2.2:: Why do I get the error Bad CPU type in executable on + installing Asymptote from the MAC OS binary? +* Question 2.3:: What do I do if I get the error: Error: pdfetex (file + pdftex.cfg): cannot open config file...texinfo.tex + appears to be broken? +* Question 2.4:: What do I do if I get the error: ! Undefined control + sequence. l.6 @copying? +* Question 2.5:: Is it possible to integrate Asymptote into LaTeX? +* Question 2.6:: Is it possible to integrate Asymptote into latex or + pdflatex? +* Question 2.7:: Do I need the tkinter package to install an Asymptote + rpm binary? +* Question 2.8:: What does the path %USERPROFILE%\.asy\config.asy mean? +* Question 2.9:: Why do I get the error "string not terminated" when I + try to set settings.dir="C:\asymptote\";? +* Question 2.10:: How do I change environment variables in Microsoft + Windows, for example, in order to change the default + PostScript viewer? +* Question 2.11:: Under Microsoft Windows XP, why do I get an error like + "Invalid Parameter - 432x432"? +* Question 2.12:: Why does Asymptote freeze upon trying to draw a label + with my MikTex installation under Microsoft Windows? + +Section 3, Questions about paths +* Question 3.1:: Why do I get a syntax error message when I specify an + integer value for the path tension? +* Question 3.2:: Shouldn't dots always be the same size? + +Section 4, Questions about labels +* Question 4.1:: How do I get Greek letters like omega to show up in my + labels? +* Question 4.2:: Can Asymptote use matrices as labels? +* Question 4.3:: How do I tell Asymptote to load a particular LaTeX + package, like mathptmx? +* Question 4.4:: How can I use international fonts in Asymptote labels? +* Question 4.5:: How can I use Fourier fonts? +* Question 4.6:: Is there any way to change the default appearance of + the decimal separator, using a comma instead of a dot? +* Question 4.7:: How can I get a rotated label with the filled box + rotated as well so that it fits the text? +* Question 4.8:: How can I rotate labels in a 3D figure? +* Question 4.9:: How can I draw some squares and circles of a fixed + size and put a label in the middle of them? +* Question 4.10:: The binary operator * can be used to scale the color + of a pen by a real number. Does this scaling factor + have to be less than 1? +* Question 4.11:: Why is the space after the comma decimal separator in + my locale so large? +* Question 4.12:: How can I prevent + texpreamble("\usepackage[pdftex]{hyperref}") from + changing the page size? + +Section 5, Questions about arrows +* Question 5.1:: How do I draw two arrows at arbitrary positions along + a path? +* Question 5.2:: How do I reverse the direction of an arrowhead? +* Question 5.3:: How do I change the size of all arrows? +* Question 5.4:: Can I create other arrowhead styles? + +Section 6, Questions about 2D graphs +* Question 6.1:: How can I draw x axis ticks on the right side, with + the tick labels on the left side (relative to the axis + path)? +* Question 6.2:: How can I reposition the x axis label to + three-quarters along the axis length? +* Question 6.3:: How can I move the x axis label down 10bp? +* Question 6.4:: Can I use different pens for the axis, the axis label, + and the tick labels? +* Question 6.5:: How can I change the font type of the axes label? +* Question 6.6:: How can I change the font type of the tick labels on + an axis? +* Question 6.7:: How can I prevent axes tick labels from rendering on + top of each other? +* Question 6.8:: How do I make the plot region of a graph, ignoring + labels and legends, have a fixed size? +* Question 6.9:: How can I plot a function f(x) within [0,1]x[0,2] + without explicitly calculating the x values for which + f(x) hits the boundary? +* Question 6.10:: Is it possible to define customized palettes? +* Question 6.11:: Is there an easy way to graph factorial functions + nicely? +* Question 6.12:: How do I indicate that a certain length should be + exactly the size I prescribe with no rescaling, within + a picture which has its own size? +* Question 6.13:: How can I make the y axis display base-2 logarithmic + values? +* Question 6.14:: How can I align the x axes of two graphs on the same + figure? +* Question 6.15:: How can I change the direction of the y-axis, such + that negatives values are on the upper y-axis? +* Question 6.16:: How can I fill a path with a function that defines the + color of each location? +* Question 6.17:: Is there a way to draw a function that is not + explicitly given, such as (y - 2)^2 = x - 1 ? +* Question 6.18:: Is it possible to reverse or stretch an axis? +* Question 6.19:: Why can't I use the UnFill option to draw graphs with + empty markers? +* Question 6.20:: How can I force several images to use the same palette + range (e.g. the entire 0-255 grayscale range)? + +Section 7, Questions about programming +* Question 7.1:: Is Asymptote an interpreter or a compiler? +* Question 7.2:: What is the difference between a frame and a picture? +* Question 7.3:: What is the difference between a path and a guide? +* Question 7.4:: What is a convenient way to declare and initialize an + array of pictures? +* Question 7.5:: Is there a way to define functions that act on arrays + in general (i.e. work for arrays of any type)? +* Question 7.6:: Is there any way to declare structures ahead of their + definition, e.g. where struct A performs some + operation on struct B, but B contains an A member? +* Question 7.7:: Where are static variables in for loops allocated? +* Question 7.8:: Is there a debugger for asy? +* Question 7.9:: Do you accept patches for Asymptote? + +Section 8, Questions about differences between Asymptote and + MetaPost +* Question 8.1:: What is the equivalent of the MetaPost c[a,b] + interpolation operator? +* Question 8.2:: How does picture scaling differ in Asymptote and + MetaPost? +* Question 8.3:: How can I avoid automatic scaling of a picture? +* Question 8.4:: What is the equivalent of MetaPost ... command? +* Question 8.5:: What is the equivalent of the MetaPost pickup command? +* Question 8.6:: What is the equivalent of the MetaPost whatever + command? +* Question 8.7:: What is the equivalent for the MetaPost command for + lray - horiz*v - verti*u = whatever*(LightSource - R), + a system of three linear equations for three unknowns: + horiz, verti, whatever? +* Question 8.8:: In MetaPost, it is possible to have a drawing remain + the same size in different pictures by defining a unit + u and explicitly multiply all the coordinates by u. Is + there a better way to do this in Asymptote? +* Question 8.9:: In MetaPost, one could produce tiling pictures by + generating a picture, and then clipping the picture to + a rectangle of fixed dimensions around the center of + the picture. How is that done in Asymptote? + +Section 9, Questions about output +* Question 9.1:: How can I disable automatic invocation of the PS + viewer after an asy file is done processing? +* Question 9.2:: How do I output jpeg images? +* Question 9.3:: Can I embed bitmaps (photos) into my drawings and + position and scale them? +* Question 9.4:: Does Asymptote support direct PDF output? +* Question 9.5:: How to I produce large pictures of high quality in + raster format (e.g. png, giff etc). +* Question 9.6:: Is it possible to produce multi-page documents with + asymptote? + + + +File: asy-faq.info, Node: Section 1, Next: Section 2, Previous: Top, Up: Top + +About Asymptote + +* Menu: +* Question 1.1:: What is Asymptote? +* Question 1.2:: How do I obtain Asymptote? +* Question 1.3:: Where can I ask questions about Asymptote? +* Question 1.4:: Why was the name Asymptote chosen? +* Question 1.5:: In the internal Asymptote source code, what does the + name camp refer to? + + + +File: asy-faq.info, Node: Question 1.1, Next: Question 1.2, Previous: Top, Up: Section 1 + +Question 1.1. What is Asymptote? + +Asymptote is a vector graphics language designed for technical graphics, +inspired by MetaPost but with IEEE floating-point numerics, native +three-dimensional graphics, Grayscale/RGB/CMYK colourspaces, and a +C++-like syntax. Unlike MetaPost, it natively supports multiple-segment +paths (and hence regions other than simply connected ones), tiling +patterns, Gouraud shading, tensor patch shading, and PostScript images. + + +File: asy-faq.info, Node: Question 1.2, Next: Question 1.3, Previous: Question 1.1, Up: Section 1 + +Question 1.2. How do I obtain Asymptote? + +Binary releases are available for Linux, MacOS X, and Microsoft Windows +platforms, in addition to full source code, from the website +http://asymptote.sourceforge.net/. Many Linux distributions (such as +RedHat and Debian) now include an Asymptote package (check your +distribution's documentation for further information about this). + + +File: asy-faq.info, Node: Question 1.3, Next: Question 1.4, Previous: Question 1.2, Up: Section 1 + +Question 1.3. Where can I ask questions about Asymptote? + +If you have a question, please try to find an answer in this FAQ, in the +extensive Asymptote documentation at +http://asymptote.sourceforge.net/doc/, or search the forum: +http://sourceforge.net/forum/forum.php?forum_id=409349. + + +File: asy-faq.info, Node: Question 1.4, Next: Question 1.5, Previous: Question 1.3, Up: Section 1 + +Question 1.4. Why was the name Asymptote chosen? + +Well, it isn't the perfect graphics package, but we do think it is getting +there asymptotically... + + +File: asy-faq.info, Node: Question 1.5, Next: Question 2.1, Previous: Question 1.4, Up: Section 1 + +Question 1.5. In the internal Asymptote source code, what does the name camp refer to? + +That was our original tentative name for this project, which stood for +"C's Answer to MetaPost" (the language that inspired Asymptote). However, +we eventually decided that the name Asymptote better emphasizes the +mathematical and graphical nature of this language. + + +File: asy-faq.info, Node: Section 2, Next: Section 3, Previous: Section 1, Up: Top + +Questions about installation and setup + +* Menu: +* Question 2.1:: Is it possible to install Asymptote on Mac OS X? +* Question 2.2:: Why do I get the error Bad CPU type in executable on + installing Asymptote from the MAC OS binary? +* Question 2.3:: What do I do if I get the error: Error: pdfetex (file + pdftex.cfg): cannot open config file...texinfo.tex + appears to be broken? +* Question 2.4:: What do I do if I get the error: ! Undefined control + sequence. l.6 @copying? +* Question 2.5:: Is it possible to integrate Asymptote into LaTeX? +* Question 2.6:: Is it possible to integrate Asymptote into latex or + pdflatex? +* Question 2.7:: Do I need the tkinter package to install an Asymptote + rpm binary? +* Question 2.8:: What does the path %USERPROFILE%\.asy\config.asy mean? +* Question 2.9:: Why do I get the error "string not terminated" when I + try to set settings.dir="C:\asymptote\";? +* Question 2.10:: How do I change environment variables in Microsoft + Windows, for example, in order to change the default + PostScript viewer? +* Question 2.11:: Under Microsoft Windows XP, why do I get an error like + "Invalid Parameter - 432x432"? +* Question 2.12:: Why does Asymptote freeze upon trying to draw a label + with my MikTex installation under Microsoft Windows? + + + +File: asy-faq.info, Node: Question 2.1, Next: Question 2.2, Previous: Question 1.5, Up: Section 2 + +Question 2.1. Is it possible to install Asymptote on Mac OS X? + +It is easy to compile Asymptote directly from the source code at +http://sourceforge.net/project/showfiles.php?group_id=120000 We recommend +first upgrading to the latest GNU readline library, unless you don't care +about interactive readline support (in which case configure will +automatically detect and disable obsolete versions of the readline +library). Marius Schamschula also maintains a binary package for various +MacOS X platforms +http://www.hmug.org/pub/MacOS_X/X/Applications/Publishing/asymptote. + + +File: asy-faq.info, Node: Question 2.2, Next: Question 2.3, Previous: Question 2.1, Up: Section 2 + +Question 2.2. Why do I get the error Bad CPU type in executable on installing Asymptote from the MAC OS binary? + +This means either that you have a binary distribution for another MAC +architecture, or (according to Marius Schamschula) that you may have a +missing library. The simplest solution is to compile Asymptote directly +from the official source: +http://sourceforge.net/project/showfiles.php?group_id=120000. + + +File: asy-faq.info, Node: Question 2.3, Next: Question 2.4, Previous: Question 2.2, Up: Section 2 + +Question 2.3. What do I do if I get the error: Error: pdfetex (file pdftex.cfg): cannot open config file...texinfo.tex appears to be broken? + +Simply put http://asymptote.sourceforge.net/asymptote.pdf in the directory +doc and repeat the command make all. Or, if you don't want to build a +local copy of the documentation, simply proceed with make install-asy. + + +File: asy-faq.info, Node: Question 2.4, Next: Question 2.5, Previous: Question 2.3, Up: Section 2 + +Question 2.4. What do I do if I get the error: ! Undefined control sequence. l.6 @copying? + +Either upgrade your texinfo package or follow one of the easy work arounds +in *Note Question 2.3:: `What do I do if I get the error: Error: pdfetex +(file pdftex.cfg): cannot open config file...texinfo.tex appears to be +broken?'. + + +File: asy-faq.info, Node: Question 2.5, Next: Question 2.6, Previous: Question 2.4, Up: Section 2 + +Question 2.5. Is it possible to integrate Asymptote into LaTeX? + +Yes, see the example latexusage.tex. Dario Teixeira has also written a +detailed guide on the topic. You can download it from +http://dario.dse.nl/projects/asylatex/. + +Philippe Ivaldi has contributed an Asymptote mode for Emacs users +http://asymptote.sourceforge.net/doc/Editing-modes.html, which includes a +lasy-mode that allows one to compile and view the output of one +\begin{asy}...\end{asy} section at a time. + + +File: asy-faq.info, Node: Question 2.6, Next: Question 2.7, Previous: Question 2.5, Up: Section 2 + +Question 2.6. Is it possible to integrate Asymptote into latex or pdflatex? + +Yes, as of version 1.14, Asymptote supports latex and pdflatex (both in +EPS/PDF and inline mode), as illustrated by the example latexusage.tex: + +pdflatex latexusage +asy latexusage +pdflatex latexusage + +File: asy-faq.info, Node: Question 2.7, Next: Question 2.8, Previous: Question 2.6, Up: Section 2 + +Question 2.7. Do I need the tkinter package to install an Asymptote rpm binary? + +No, you don't need tkinter unless you want to try out the GUI xasy. Try + +rpm -Uvh --nodeps asymptote-x.xx-1.i386.rpm +where x.xx represents the version number. + + +File: asy-faq.info, Node: Question 2.8, Next: Question 2.9, Previous: Question 2.7, Up: Section 2 + +Question 2.8. What does the path %USERPROFILE%\.asy\config.asy mean? + +That is the way that Microsoft Windows refers to the user profile +directory. There's nothing really to understand here, just put your +configuration commands in the file config.asy in a new folder +%USERPROFILE%\.asy. + + +File: asy-faq.info, Node: Question 2.9, Next: Question 2.10, Previous: Question 2.8, Up: Section 2 + +Question 2.9. Why do I get the error "string not terminated" when I try to set settings.dir="C:\asymptote\";? + +The backslash is an escape character here, so \" is interpreted as a +verbatim quotation mark, leaving the string without a terminating +quotation mark. Fortunately, this is the only escaped character in +double-quoted strings. A final backslash isn't needed here anyway, but +should you really want one somewhere, you can say: +settings.dir="C:\asymptote"+'\\';. + + +File: asy-faq.info, Node: Question 2.10, Next: Question 2.11, Previous: Question 2.9, Up: Section 2 + +Question 2.10. How do I change environment variables in Microsoft Windows, for example, in order to change the default PostScript viewer? + +While it is easier to set the corresponding Asymptote configuration +variable in your config.asy file, here is the procedure for changing +Microsoft Windows environment variables: + +Click on the [Start] button + +* RIGHT-click on 'My Computer' + +* Choose 'Properties' from the popup menu + +* Click the 'Advanced' tab + +* Click the 'Environment Variables' button. + + +File: asy-faq.info, Node: Question 2.11, Next: Question 2.12, Previous: Question 2.10, Up: Section 2 + +Question 2.11. Under Microsoft Windows XP, why do I get an error like "Invalid Parameter - 432x432"? + +This means that ImageMagick wasn't properly installed and you are using +the MSDOS convert program rather than the ImageMagick one. Or you may have +installed ImageMagick but ran Asymptote from an existing MSDOS window. In +that case, simply open a new window and try again. If that doesn't work, +check that + +convert --version +returns something like + +Version: ImageMagick 6.2.8 06/27/06 Q16 http://www.imagemagick.org + +File: asy-faq.info, Node: Question 2.12, Next: Question 3.1, Previous: Question 2.11, Up: Section 2 + +Question 2.12. Why does Asymptote freeze upon trying to draw a label with my MikTex installation under Microsoft Windows? + +Likely, this means that latex and dvips are not in your default path. Try +adding the appropriate paths in your config.asy file, for example: + +import settings; +latex="C:\Program Files\MiKTeX 2.7\miktex\bin\latex.exe"; +dvips="C:\Program Files\MiKTeX 2.7\miktex\bin\dvips.exe"; + +File: asy-faq.info, Node: Section 3, Next: Section 4, Previous: Section 2, Up: Top + +Questions about paths + +* Menu: +* Question 3.1:: Why do I get a syntax error message when I specify an + integer value for the path tension? +* Question 3.2:: Shouldn't dots always be the same size? + + + +File: asy-faq.info, Node: Question 3.1, Next: Question 3.2, Previous: Question 2.12, Up: Section 3 + +Question 3.1. Why do I get a syntax error message when I specify an integer value for the path tension? + +What is happening here is that + +draw((0,0)..tension 2..(0,50)..(100,100)); +is read as + +draw((0,0)..tension 2. .(0,50)..(100,100)); +So the first . after the two is treated as a decimal point. Just put a +space after the integer tension value: + +draw((0,0)..tension 2 ..(0,50)..(100,100)); + +File: asy-faq.info, Node: Question 3.2, Next: Question 4.1, Previous: Question 3.1, Up: Section 3 + +Question 3.2. Shouldn't dots always be the same size? + +From the documentation: + +"The dot command defined in the module plain draws a dot having a diameter +equal to an explicit pen linewidth or the default linewidth magnified by +dotfactor (6 by default)." + +Thus, when you use the default pen, the dot will have size 6*linewidth, +but when you give a pen with an explicit width specified, you will have a +dot of size linewidth. If you want the first case to behave like the +second, you may set dotfactor=1. + + +File: asy-faq.info, Node: Section 4, Next: Section 5, Previous: Section 3, Up: Top + +Questions about labels + +* Menu: +* Question 4.1:: How do I get Greek letters like omega to show up in my + labels? +* Question 4.2:: Can Asymptote use matrices as labels? +* Question 4.3:: How do I tell Asymptote to load a particular LaTeX + package, like mathptmx? +* Question 4.4:: How can I use international fonts in Asymptote labels? +* Question 4.5:: How can I use Fourier fonts? +* Question 4.6:: Is there any way to change the default appearance of + the decimal separator, using a comma instead of a dot? +* Question 4.7:: How can I get a rotated label with the filled box + rotated as well so that it fits the text? +* Question 4.8:: How can I rotate labels in a 3D figure? +* Question 4.9:: How can I draw some squares and circles of a fixed + size and put a label in the middle of them? +* Question 4.10:: The binary operator * can be used to scale the color + of a pen by a real number. Does this scaling factor + have to be less than 1? +* Question 4.11:: Why is the space after the comma decimal separator in + my locale so large? +* Question 4.12:: How can I prevent + texpreamble("\usepackage[pdftex]{hyperref}") from + changing the page size? + + + +File: asy-faq.info, Node: Question 4.1, Next: Question 4.2, Previous: Question 3.2, Up: Section 4 + +Question 4.1. How do I get Greek letters like omega to show up in my labels? + +In (La)TeX, Greek letters can be obtained in math mode by prepending a +backslash to the letter name. So for a omega symbol, use "$\omega$". +Everything between the dollar signs is considered to be a math formula. +Uppercase Greek letters can be used by capitalizing the first letter of +the name: + +label("$\omega$",(0,0)); +label("$\Omega$",(20,0)); + +File: asy-faq.info, Node: Question 4.2, Next: Question 4.3, Previous: Question 4.1, Up: Section 4 + +Question 4.2. Can Asymptote use matrices as labels? + +Yes: +usepackage("amsmath"); +label("$\begin{matrix} 1 & 2 \\\ 1 & 1 \end{matrix}$",(0,0)); + +File: asy-faq.info, Node: Question 4.3, Next: Question 4.4, Previous: Question 4.2, Up: Section 4 + +Question 4.3. How do I tell Asymptote to load a particular LaTeX package, like mathptmx? + +Put + +usepackage("mathptmx"); +at the beginning of your file. Note: to enable the Adobe Times Roman font +for text, you will also need to say: +defaultpen(TimesRoman()); + +File: asy-faq.info, Node: Question 4.4, Next: Question 4.5, Previous: Question 4.3, Up: Section 4 + +Question 4.4. How can I use international fonts in Asymptote labels? + +See http://asymptote.sourceforge.net/doc/unicode.html. + + +File: asy-faq.info, Node: Question 4.5, Next: Question 4.6, Previous: Question 4.4, Up: Section 4 + +Question 4.5. How can I use Fourier fonts? + +usepackage("fourier"); +defaultpen(font("T1","fut\textfamilyextension","m","n")); + +File: asy-faq.info, Node: Question 4.6, Next: Question 4.7, Previous: Question 4.5, Up: Section 4 + +Question 4.6. Is there any way to change the default appearance of the decimal separator, using a comma instead of a dot? + +Just set your locale appropriately: + +locale("it_IT"); +usepackage("icomma"); +label(format(0.5)); + +File: asy-faq.info, Node: Question 4.7, Next: Question 4.8, Previous: Question 4.6, Up: Section 4 + +Question 4.7. How can I get a rotated label with the filled box rotated as well so that it fits the text? + +frame f; +label(f,"This is some text",white,Fill(blue)); +add(rotate(65)*f); + +File: asy-faq.info, Node: Question 4.8, Next: Question 4.9, Previous: Question 4.7, Up: Section 4 + +Question 4.8. How can I rotate labels in a 3D figure? + +You need to first project the triple to a pair like this: + +import three; +size(100,100); + +draw(rotate(90,project(Z))*"A",O--X); + +File: asy-faq.info, Node: Question 4.9, Next: Question 4.10, Previous: Question 4.8, Up: Section 4 + +Question 4.9. How can I draw some squares and circles of a fixed size and put a label in the middle of them? + +Fixed-size objects should be drawn on a separate picture and then added to +currentpicture. Here is one way (see also +http://asymptote.sourceforge.net/gallery/subpictures.asy and +http://asymptote.sourceforge.net/gallery/mosquito.asy): + +real u=2cm; + +picture square; +draw(square,scale(u)*shift(-0.5,-0.5)*unitsquare); + +picture circle; +draw(circle,scale(0.5u)*unitcircle); + +void add(picture pic=currentpicture, Label L, picture object, pair z) { +add(pic,object,z); +label(pic,L,z); +} + +add("square",square,(0,0)); +add("circle",circle,(5cm,0)); + +File: asy-faq.info, Node: Question 4.10, Next: Question 4.11, Previous: Question 4.9, Up: Section 4 + +Question 4.10. The binary operator * can be used to scale the color of a pen by a real number. Does this scaling factor have to be less than 1? + +The scaling factor can be greater than 1. But keep in mind that the rgb +color components saturate at 1. + +Try +write(cyan); write(0.8*cyan); write(1.5*cyan); +and you will quickly see what is going on. + +To get a lighter cyan you can say white+cyan, which yields rgb(0.5,1,1). +If you want something even lighter specify the rgb colors directly, for +example, rgb(0.9,1,1). + +Alternatively, work in cmyk colour space, which is nicer in that it +handles saturation separately from hue: + +0.1*Cyan is light and 0.9*Cyan is dark. You can also say 0.1*cmyk(red). + + +File: asy-faq.info, Node: Question 4.11, Next: Question 4.12, Previous: Question 4.10, Up: Section 4 + +Question 4.11. Why is the space after the comma decimal separator in my locale so large? + +LaTeX is treating the comma as punctuation and not as a decimal separator. +The solution is to load the icomma package near the beginning of your +file: +usepackage("icomma"); + +File: asy-faq.info, Node: Question 4.12, Next: Question 5.1, Previous: Question 4.11, Up: Section 4 + +Question 4.12. How can I prevent texpreamble("\usepackage[pdftex]{hyperref}") from changing the page size? + +texpreamble("\usepackage[pdftex,setpagesize=false]{hyperref}"); + +File: asy-faq.info, Node: Section 5, Next: Section 6, Previous: Section 4, Up: Top + +Questions about arrows + +* Menu: +* Question 5.1:: How do I draw two arrows at arbitrary positions along + a path? +* Question 5.2:: How do I reverse the direction of an arrowhead? +* Question 5.3:: How do I change the size of all arrows? +* Question 5.4:: Can I create other arrowhead styles? + + + +File: asy-faq.info, Node: Question 5.1, Next: Question 5.2, Previous: Question 4.12, Up: Section 5 + +Question 5.1. How do I draw two arrows at arbitrary positions along a path? + +Assuming that at least one of the arrowheads is to be filled, you can do +this: + +size(200); +path g = (0,0)..(1,3)..(3,0); +draw(g,Arrow(Relative(0.9))); +add(arrow(g,invisible,FillDraw(black),Relative(0.5))); +add(arrow(reverse(g),invisible,FillDraw(white,black),Relative(0.9))); +If both of the arrowheads are to be drawn with filltype NoFill, one will +need to create a specialized version of the arrow routine in +plain_arrows.asy: + +void arrow(frame f, arrowhead arrowhead=DefaultHead, + path g, pen p=currentpen, real size=0, + real angle=arrowangle, filltype filltype=arrowhead.defaultfilltype, + position position=EndPoint, bool forwards=true, + margin margin=NoMargin, bool center=false); + +File: asy-faq.info, Node: Question 5.2, Next: Question 5.3, Previous: Question 5.1, Up: Section 5 + +Question 5.2. How do I reverse the direction of an arrowhead? + +Simply reverse the direction of the path. + +path g=((0,0)--(5cm,0)); +draw(reverse(g),Arrow(Relative(0.55))); + +File: asy-faq.info, Node: Question 5.3, Next: Question 5.4, Previous: Question 5.2, Up: Section 5 + +Question 5.3. How do I change the size of all arrows? + +To override the arrowsize you can give every Arrow drawing attribute a +real size argument. If you want to do this globally, you can override the +pen-dependent arrowsize function like this: + +arrowsize=new real(pen p=currentpen) {return 2mm;}; + +File: asy-faq.info, Node: Question 5.4, Next: Question 6.1, Previous: Question 5.3, Up: Section 5 + +Question 5.4. Can I create other arrowhead styles? + +Yes, you can build custom arrowheads like this (see the predefined +arrowhead styles in plain_arrows.asy for further examples): + +arrowhead DotHead; +DotHead.head=new path(path g, position position=EndPoint, pen p=currentpen, + real size=0, real angle=arrowangle) { + if(size == 0) size=DotHead.size(p); + bool relative=position.relative; + real position=position.position.x; + if(relative) position=reltime(g,position); + path r=subpath(g,position,0); + pair x=point(r,0); + real t=arctime(r,size); + pair y=point(r,t); + return circle(0.5(x+y),0.5size); +}; + +size(100); +draw((0,0)..(1,1)..(2,0),Arrow(DotHead)); +dot((2,0),red); +If you submit your alternate arrowheads to the Forum or the Patch +Tracking System, we'll consider including them in a future release. + + +File: asy-faq.info, Node: Section 6, Next: Section 7, Previous: Section 5, Up: Top + +Questions about 2D graphs + +* Menu: +* Question 6.1:: How can I draw x axis ticks on the right side, with + the tick labels on the left side (relative to the axis + path)? +* Question 6.2:: How can I reposition the x axis label to + three-quarters along the axis length? +* Question 6.3:: How can I move the x axis label down 10bp? +* Question 6.4:: Can I use different pens for the axis, the axis label, + and the tick labels? +* Question 6.5:: How can I change the font type of the axes label? +* Question 6.6:: How can I change the font type of the tick labels on + an axis? +* Question 6.7:: How can I prevent axes tick labels from rendering on + top of each other? +* Question 6.8:: How do I make the plot region of a graph, ignoring + labels and legends, have a fixed size? +* Question 6.9:: How can I plot a function f(x) within [0,1]x[0,2] + without explicitly calculating the x values for which + f(x) hits the boundary? +* Question 6.10:: Is it possible to define customized palettes? +* Question 6.11:: Is there an easy way to graph factorial functions + nicely? +* Question 6.12:: How do I indicate that a certain length should be + exactly the size I prescribe with no rescaling, within + a picture which has its own size? +* Question 6.13:: How can I make the y axis display base-2 logarithmic + values? +* Question 6.14:: How can I align the x axes of two graphs on the same + figure? +* Question 6.15:: How can I change the direction of the y-axis, such + that negatives values are on the upper y-axis? +* Question 6.16:: How can I fill a path with a function that defines the + color of each location? +* Question 6.17:: Is there a way to draw a function that is not + explicitly given, such as (y - 2)^2 = x - 1 ? +* Question 6.18:: Is it possible to reverse or stretch an axis? +* Question 6.19:: Why can't I use the UnFill option to draw graphs with + empty markers? +* Question 6.20:: How can I force several images to use the same palette + range (e.g. the entire 0-255 grayscale range)? + + + +File: asy-faq.info, Node: Question 6.1, Next: Question 6.2, Previous: Question 5.4, Up: Section 6 + +Question 6.1. How can I draw x axis ticks on the right side, with the tick labels on the left side (relative to the axis path)? + +import graph; + +size(250,200,IgnoreAspect); + +draw(graph(exp,-1,1),red); + +xaxis("$x$",RightTicks(Label(align=left))); +yaxis("$y$",RightTicks); + +File: asy-faq.info, Node: Question 6.2, Next: Question 6.3, Previous: Question 6.1, Up: Section 6 + +Question 6.2. How can I reposition the x axis label to three-quarters along the axis length? + +import graph; + +size(250,200,IgnoreAspect); + +draw(graph(exp,-1,1),red); + +xaxis(Label("$x$",0.75),LeftTicks); +yaxis("$y$",RightTicks); + +File: asy-faq.info, Node: Question 6.3, Next: Question 6.4, Previous: Question 6.2, Up: Section 6 + +Question 6.3. How can I move the x axis label down 10bp? + +import graph; +size(250,200,IgnoreAspect); + +draw(graph(exp,-1,1),red); + +xaxis(shift(0,-10)*"$x$",LeftTicks); +yaxis("$y$",RightTicks); + +File: asy-faq.info, Node: Question 6.4, Next: Question 6.5, Previous: Question 6.3, Up: Section 6 + +Question 6.4. Can I use different pens for the axis, the axis label, and the tick labels? + +Yes: + +import graph; +size(300,200,IgnoreAspect); + +xlimits(-50,50); +ylimits(0,100); + +xaxis(Label("$x$",MidPoint,red),Bottom,blue,LeftTicks(green)); +yaxis("$y$",Left,RightTicks); + +File: asy-faq.info, Node: Question 6.5, Next: Question 6.6, Previous: Question 6.4, Up: Section 6 + +Question 6.5. How can I change the font type of the axes label? + +import graph; +size(300,200,IgnoreAspect); + +xlimits(-50,50); +ylimits(0,100); + +xaxis("x",Bottom,Courier("m","n"),LeftTicks); +yaxis("$y$",Left,RightTicks); + +File: asy-faq.info, Node: Question 6.6, Next: Question 6.7, Previous: Question 6.5, Up: Section 6 + +Question 6.6. How can I change the font type of the tick labels on an axis? + +Tick labels are by default typeset in (TeX) math mode, so to use other +fonts you need to override the default tick format: + +import graph; +size(300,200,IgnoreAspect); + +xlimits(-50,50); +ylimits(0,100); + +xaxis("$x$",Bottom,LeftTicks("%.4g",Courier("m","n")+fontsize(12))); +yaxis("$y$",Left,RightTicks); + +File: asy-faq.info, Node: Question 6.7, Next: Question 6.8, Previous: Question 6.6, Up: Section 6 + +Question 6.7. How can I prevent axes tick labels from rendering on top of each other? + +Either: + +(i) give LeftTicks/RightTicks/Ticks the arguments beginlabel=false and/or +endlabel=false; + +(ii) explicitly remove specific ticks and their labels (drawing them +manually; see +http://asymptote.svn.sourceforge.net/viewvc/asymptote/trunk/asymptote/base/graph.asy +for the definition of NoZero): + +import graph; + +size(10cm); + +real f(real x) {return x^2;} + +draw(graph(f,-2,2)); + +xaxis(Ticks(NoZero)); +yaxis(Ticks(NoZero)); + +label("$0$",(0,0),SW); +(iii) explicitly remove specific tick labels and draw them manually (see +http://asymptote.svn.sourceforge.net/viewvc/asymptote/trunk/asymptote/base/graph.asy +for the definition of NoZeroFormat): + +import graph; + +size(10cm); + +real f(real x) {return x^2;} + +draw(graph(f,-2,2)); + +xaxis(Ticks(NoZeroFormat)); +yaxis(Ticks(NoZeroFormat)); + +label("$0$",(0,0),SW); +(iv) use the xasy GUI to move overlapping labels; + +(v) change the Label argument of LeftTicks, RightTicks, or Ticks to: + +Label(currentpen+overwrite(Move)) +Solution (v) will move labels that might otherwise overwrite a previous +label. Other possible overwrite arguments are Allow (allows overlapping +labels; the default), Suppress (an overlapping label will not be written +at all), SuppressQuiet, and MoveQuiet. The last two achieve the same +result as the non-quiet types, but will not notify you which labels are +overlapping. See: http://asymptote.sourceforge.net/doc/Pens.html. + +In the case of a user-specified tick array, you can change which labels +get suppressed/moved by changing the order of array entries. + + +File: asy-faq.info, Node: Question 6.8, Next: Question 6.9, Previous: Question 6.7, Up: Section 6 + +Question 6.8. How do I make the plot region of a graph, ignoring labels and legends, have a fixed size? + +Either: + +i) Specify an explicit unitsize, which overrides any call to size: +unitsize(x=1cm,y=2cm); +ii) Explicitly tell Asymptote to map the plot region to a specific size: +import graph; +real[] x={0,1,2,3}; +real[] y=x^2; +draw(graph(x,y),red); +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight,RightTicks); + +size(5cm,5cm,point(SW),point(NE)); + +label("$f_\mathrm{T}$",point(N),2N); +iii) Specify the points in user coordinates that should correspond to a +given picture size: + +import graph; + +size(250,200,IgnoreAspect); + +draw(graph(exp,-1,1),red); + +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight,RightTicks); + +fixedscaling((-1.5,-0.5),(1.5,3.5)); +In this example, the user coordinate (-1.5,-0.5) will end up being the +lower left corner of the figure and (1.5,3.5) will be the upper right +corner. You can use this option to ensure multiple figures have the same +scaling and same resulting figure size (just ensure the two coordinates +given to fixedscaling() leaves room for any labels). + +See also http://asymptote.sourceforge.net/doc/Frames-and-pictures.html. + + +File: asy-faq.info, Node: Question 6.9, Next: Question 6.10, Previous: Question 6.8, Up: Section 6 + +Question 6.9. How can I plot a function f(x) within [0,1]x[0,2] without explicitly calculating the x values for which f(x) hits the boundary? + +Call limits with the Crop option before drawing the graph: +import graph; + +size(250,200,IgnoreAspect); + +draw(graph(exp,-1,1),red); + +limits((0,0),(1,2),Crop); + +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight,RightTicks); +See also http://asymptote.sourceforge.net/doc/graph.html. + + +File: asy-faq.info, Node: Question 6.10, Next: Question 6.11, Previous: Question 6.9, Up: Section 6 + +Question 6.10. Is it possible to define customized palettes? + +Yes, you may generate your own pen[] array. For example: + +int NColors=32768; +pen[] MyPalette=new pen[NColors]; +real step=1/(NColors-1.0); +// Start at black: rgb(0,0,0) +// End at yellow: rgb(1,1,0) +for(int i=0; i < NColors; ++i) { + real rgval=i*step; + MyPalette[i]=rgb(rgval,rgval,0.0); +} + +File: asy-faq.info, Node: Question 6.11, Next: Question 6.12, Previous: Question 6.10, Up: Section 6 + +Question 6.11. Is there an easy way to graph factorial functions nicely? + +The example below shows a continuous function and two methods for placing +markers at integer values of x: + +import graph; + +size(200,200,IgnoreAspect); + +real factorial(real t) {return gamma(t+1);} + +scale(Linear,Log); + +// Graph the factorial function. +draw(graph(factorial,0,10)); + +// Method 1: Draw nodes, but hide line +pair F(int t) {return (t,factorial(t));} +// Graph of factorial function from 0 to 10 +pair[] z=sequence(F,11); +draw(graph(z),invisible,marker(scale(0.8mm)*unitcircle,blue,Fill)); + +// Method 2: Nongraphing routines require explicit scaling: +pair dotloc(int t) {return Scale(F(t));} +pair[] dotlocs=sequence(dotloc,11); +dot(dotlocs); + +xaxis("$x$",BottomTop,LeftTicks); +yaxis("$y$",LeftRight,RightTicks); + +File: asy-faq.info, Node: Question 6.12, Next: Question 6.13, Previous: Question 6.11, Up: Section 6 + +Question 6.12. How do I indicate that a certain length should be exactly the size I prescribe with no rescaling, within a picture which has its own size? + +Here's an easy way to do this. + +size(12cm,0); + +void distance(picture pic=currentpicture, pair A, pair B, Label L="", real n=0, + pen p=currentpen) +{ + real d=3mm; + path g=A--B; + transform T=shift(-n*d*unit(B-A)*I); + pic.add(new void(frame f, transform t) { + picture opic; + path G=T*t*g; + draw(opic,Label(L,Center,UnFill(1)),G,p,Arrows(NoFill),Bars,PenMargins); + add(f,opic.fit()); + }); + pic.addBox(min(g),max(g),T*min(p),T*max(p)); +} + +pair A=(0,0), B=(3,3); + +dot(A); +dot(B); + +distance(A,B,"$\ell$",1); + +File: asy-faq.info, Node: Question 6.13, Next: Question 6.14, Previous: Question 6.12, Up: Section 6 + +Question 6.13. How can I make the y axis display base-2 logarithmic values? + +See the example http://asymptote.sourceforge.net/gallery/2D +graphs/log2graph.asy. + + +File: asy-faq.info, Node: Question 6.14, Next: Question 6.15, Previous: Question 6.13, Up: Section 6 + +Question 6.14. How can I align the x axes of two graphs on the same figure? + +An easy way to do this, if the axes to be aligned have the same scaling +and size, is illustrated in the example +http://asymptote.sourceforge.net/gallery/2D graphs/alignedaxis.asy. + +Here is a more general solution to the problem of aligning two arbitrary +axes. One fits the second picture to a frame based on the horizontal +scaling for the first picture: + +import graph; + +real width=15cm; +real aspect=0.3; + +picture pic1,pic2; + +size(pic1,width,aspect*width,IgnoreAspect); +size(pic2,width,aspect*width,IgnoreAspect); + +scale(pic1,false); +scale(pic2,false); + +real xmin1=6; +real xmax1=9; +real xmin2=8; +real xmax2=16; + +real a1=1; +real a2=0.001; + +real f1(real x) {return a1*sin(x/2*pi);} +real f2(real x) {return a2*sin(x/4*pi);} + +draw(pic1,graph(pic1,f1,xmin1,xmax1)); +draw(pic2,graph(pic2,f2,xmin2,xmax2)); + +xaxis(pic1,Bottom,LeftTicks()); +yaxis(pic1,"$f_1(x)$",Left,RightTicks); + +xaxis(pic2,"$x$",Bottom,LeftTicks(Step=4)); +yaxis(pic2,"$f_2(x)$",Left,RightTicks); + +yequals(pic1,0,Dotted); +yequals(pic2,0,Dotted); + +pair min1=point(pic1,SW); +pair max1=point(pic1,NE); + +pair min2=point(pic2,SW); +pair max2=point(pic2,NE); + +real scale=(max1.x-min1.x)/(max2.x-min2.x); +real shift=min1.x/scale-min2.x; + +transform t1=pic1.calculateTransform(); +transform t2=pic2.calculateTransform(); +transform T=xscale(scale*t1.xx)*yscale(t2.yy); + +add(pic1.fit()); +real height=truepoint(N,user=false).y-truepoint(S,user=false).y; +add(shift(0,-height)*(shift(shift)*pic2).fit(T)); + +File: asy-faq.info, Node: Question 6.15, Next: Question 6.16, Previous: Question 6.14, Up: Section 6 + +Question 6.15. How can I change the direction of the y-axis, such that negatives values are on the upper y-axis? + +Here is a simple example (see also the example +http://asymptote.sourceforge.net/gallery/2D graphs/diatom.asy or the +discussion of Linear(-1) in the documentation): + +import graph; +size(250,200,IgnoreAspect); + +scale(Linear,Linear(-1)); + +draw(graph(log,0.1,10),red); + +xaxis("$x$",LeftTicks); +yaxis("$y$",RightTicks); + +File: asy-faq.info, Node: Question 6.16, Next: Question 6.17, Previous: Question 6.15, Up: Section 6 + +Question 6.16. How can I fill a path with a function that defines the color of each location? + +Use functionshade with a PDF tex engine, as illustrated by the example +{functionshading.asy}. + +If you want to produce PostScript output, an approximate solution for now +would be to superimpose a fine grid and specify colors to latticeshade +that depend on position as a single pen[][] lattice. Alternatively, it may +be more efficient to use tensorshade}. + + +File: asy-faq.info, Node: Question 6.17, Next: Question 6.18, Previous: Question 6.16, Up: Section 6 + +Question 6.17. Is there a way to draw a function that is not explicitly given, such as (y - 2)^2 = x - 1 ? + +Yes, use the parametric form + +y=t +x=(t-2)^2+1 +See the example http://asymptote.sourceforge.net/gallery/2D +graphs/parametricgraph.asy. + + +File: asy-faq.info, Node: Question 6.18, Next: Question 6.19, Previous: Question 6.17, Up: Section 6 + +Question 6.18. Is it possible to reverse or stretch an axis? + +The real scaling argument to Linear is used to stretch (or reverse) the +axis. To see the effect of axis stretching, be sure not to specify +IgnoreAspect in the picture size command. + +A secondary axis has the same length as the primary axis, so stretching +cannot have any effect. But one can still reverse the axis, with +Linear(-1). + + +File: asy-faq.info, Node: Question 6.19, Next: Question 6.20, Previous: Question 6.18, Up: Section 6 + +Question 6.19. Why can't I use the UnFill option to draw graphs with empty markers? + +UnFill won't work here because it only affects the local frame the markers +are initially drawn on, before being added to currentpicture. Here is a +way of achieving the desired effect (assuming a white background): + +import graph; +size(10cm,0); +pair[] z={(0,0),(0.5,0.5),(1,1)}; +path g=graph(z); + +draw(shift(0,.5)*g,marker(scale(5)*unitcircle,FillDraw(white))); + +xaxis(BottomTop,LeftTicks); +yaxis(LeftRight,RightTicks); + +File: asy-faq.info, Node: Question 6.20, Next: Question 7.1, Previous: Question 6.19, Up: Section 6 + +Question 6.20. How can I force several images to use the same palette range (e.g. the entire 0-255 grayscale range)? + +The palette color space corresponds to a range of values specified by the +argument range, which can be Full, Automatic or an explicit range +Range(pair min, pair max). Here Full} specifies a range varying from the +minimum to maximum values of the function over the sampling interval, +while Automatic selects "nice" limits. + + +File: asy-faq.info, Node: Section 7, Next: Section 8, Previous: Section 6, Up: Top + +Questions about programming + +* Menu: +* Question 7.1:: Is Asymptote an interpreter or a compiler? +* Question 7.2:: What is the difference between a frame and a picture? +* Question 7.3:: What is the difference between a path and a guide? +* Question 7.4:: What is a convenient way to declare and initialize an + array of pictures? +* Question 7.5:: Is there a way to define functions that act on arrays + in general (i.e. work for arrays of any type)? +* Question 7.6:: Is there any way to declare structures ahead of their + definition, e.g. where struct A performs some + operation on struct B, but B contains an A member? +* Question 7.7:: Where are static variables in for loops allocated? +* Question 7.8:: Is there a debugger for asy? +* Question 7.9:: Do you accept patches for Asymptote? + + + +File: asy-faq.info, Node: Question 7.1, Next: Question 7.2, Previous: Question 6.20, Up: Section 7 + +Question 7.1. Is Asymptote an interpreter or a compiler? + +Asymptote compiles Asymptote commands into its own virtual machine code. +It then runs this pseudocode on a virtual machine to produce PostScript +code. + + +File: asy-faq.info, Node: Question 7.2, Next: Question 7.3, Previous: Question 7.1, Up: Section 7 + +Question 7.2. What is the difference between a frame and a picture? + +Frames are canvases for drawing in PostScript coordinates. While working +with frames directly is occasionally necessary for constructing deferred +drawing routines, pictures are usually more convenient to work with. See +*Note Question 8.8:: `In MetaPost, it is possible to have a drawing remain +the same size in different pictures by defining a unit u and explicitly +multiply all the coordinates by u. Is there a better way to do this in +Asymptote?'. + + +File: asy-faq.info, Node: Question 7.3, Next: Question 7.4, Previous: Question 7.2, Up: Section 7 + +Question 7.3. What is the difference between a path and a guide? + +A path is a cubic spline with fixed endpoint conditions. + +A guide is an unresolved cubic spline (list of cubic-spline nodes and +control points). A guide is like a path except that the computation of the +cubic spline is deferred until drawing time (when it is resolved into a +path); this allows two guides with free endpoint conditions to be joined +together smoothly. + + +File: asy-faq.info, Node: Question 7.4, Next: Question 7.5, Previous: Question 7.3, Up: Section 7 + +Question 7.4. What is a convenient way to declare and initialize an array of pictures? + +You could write yourself a routine such as: +picture[] picture(int n) { + picture[] pic; + for(int i=0; i < n; ++i) { + pic[i]=new picture; + size(pic[i],19cm,0); + } + return pic; +} + +picture[] pic=picture(6); + +File: asy-faq.info, Node: Question 7.5, Next: Question 7.6, Previous: Question 7.4, Up: Section 7 + +Question 7.5. Is there a way to define functions that act on arrays in general (i.e. work for arrays of any type)? + +Generic types aren't yet implemented. + +But for now you can at least say +typedef string T; +include F; + +typedef real T; +include F; +where F.asy contains some type-dependent code like +T[] operator $(T A, T B) {return new T[] {A,B};} + +File: asy-faq.info, Node: Question 7.6, Next: Question 7.7, Previous: Question 7.5, Up: Section 7 + +Question 7.6. Is there any way to declare structures ahead of their definition, e.g. where struct A performs some operation on struct B, but B contains an A member? + +Asymptote does not support forward declaration of types. You can, however, +nest structures, so that both types are visible for parts of the bodies of +both structure definitions. For example: + +struct B { + typedef void someroutine(B b); + + static struct A { + someroutine routine; + void operator init(someroutine routine) { + this.routine=routine; + } + } + + string test="Testing"; +} + +typedef B.A A; + +A a=B.A(new void(B b){write(b.test);}); + +B b; +a.routine(b); + +File: asy-faq.info, Node: Question 7.7, Next: Question 7.8, Previous: Question 7.6, Up: Section 7 + +Question 7.7. Where are static variables in for loops allocated? + +In the example + +void f() { + for(int i=0; i < 3; ++i) { + static int n; + ++n; + write(n); + } +} + +f(); // Writes 1, 2, 3 +the static qualifier means that n is allocated not just outside of the for +loop, but also outside the function. This is clear if you call f multiple +times; there is still only one instance of n. + +The "level" of a variable (where it is allocated) has nothing to do with +the "scope" of a variable (how long it can be referred to by name). The +curly braces enclosing a block affect only a variable's scope, not its +level. + +Static modifiers are meaningless at the top level; they generate a warning +and are simply ignored: + +for(int i=0; i < 3; ++i) { + static int n; + ++n; + write(n); +} +// Writes warning about top-level static modifier and then 1, 1, 1 +Since version 1.22, non-static variables allocated in a loop body are +allocated anew every iteration. This is only noticable in obscure cases +where a variable in a loop is accessed in the closure of a function +defined in the loop: + +int f(); + +for(int i=0; i < 10; ++i) { + int j=10*i; + if(i == 5) + f=new int() {return j;}; +} + +write(f()); // Writes 50 +Variables in the body of a loop last as long as that iteration of the +loop, unless they are kept alive by a function closure as in the example +above. In a function body, variables will last at least as long as the +function call, though because of closures and garbage collection, they may +last longer than that. If defined at the top level of a file or at the +interactive prompt, they will last at least until the end of the file or +prompt's run. + + +File: asy-faq.info, Node: Question 7.8, Next: Question 7.9, Previous: Question 7.7, Up: Section 7 + +Question 7.8. Is there a debugger for asy? + +Yes, Asymptote includes a line-based debugger: + +http://asymptote.sourceforge.net/doc/Debugger.html + + +File: asy-faq.info, Node: Question 7.9, Next: Question 8.1, Previous: Question 7.8, Up: Section 7 + +Question 7.9. Do you accept patches for Asymptote? + +Yes, in fact we would prefer that users submit patches for customized +features (to http://sourceforge.net/tracker/?atid=685685&group_id=120000) +instead of relying on us to do all of the coding. Development will proceed +faster that way. + + +File: asy-faq.info, Node: Section 8, Next: Section 9, Previous: Section 7, Up: Top + +Questions about differences between Asymptote and MetaPost + +* Menu: +* Question 8.1:: What is the equivalent of the MetaPost c[a,b] + interpolation operator? +* Question 8.2:: How does picture scaling differ in Asymptote and + MetaPost? +* Question 8.3:: How can I avoid automatic scaling of a picture? +* Question 8.4:: What is the equivalent of MetaPost ... command? +* Question 8.5:: What is the equivalent of the MetaPost pickup command? +* Question 8.6:: What is the equivalent of the MetaPost whatever + command? +* Question 8.7:: What is the equivalent for the MetaPost command for + lray - horiz*v - verti*u = whatever*(LightSource - R), + a system of three linear equations for three unknowns: + horiz, verti, whatever? +* Question 8.8:: In MetaPost, it is possible to have a drawing remain + the same size in different pictures by defining a unit + u and explicitly multiply all the coordinates by u. Is + there a better way to do this in Asymptote? +* Question 8.9:: In MetaPost, one could produce tiling pictures by + generating a picture, and then clipping the picture to + a rectangle of fixed dimensions around the center of + the picture. How is that done in Asymptote? + + + +File: asy-faq.info, Node: Question 8.1, Next: Question 8.2, Previous: Question 7.9, Up: Section 8 + +Question 8.1. What is the equivalent of the MetaPost c[a,b] interpolation operator? + +interp(a,b,c); + +File: asy-faq.info, Node: Question 8.2, Next: Question 8.3, Previous: Question 8.1, Up: Section 8 + +Question 8.2. How does picture scaling differ in Asymptote and MetaPost? + +Asymptote includes an optional facility to do automatic scaling of +pictures to achieve a given overall picture size, whereas Metapost only +supports manual scaling. Asymptote defers drawing of objects drawn to +pictures and distinguishes between true-size objects and objects that +should scale with the picture size. The resulting linear programming +problem is solved via the Simplex method. + +See the http://asymptote.sourceforge.net/gallery/dimension.asy example for +an example of how deferred drawing is used to accomodate both user and +true-size (PostScript) coordinates. + + +File: asy-faq.info, Node: Question 8.3, Next: Question 8.4, Previous: Question 8.2, Up: Section 8 + +Question 8.3. How can I avoid automatic scaling of a picture? + +If you really like Metapost-style manual (hard-wired) scaling either: + +(i) use the default size(0,0) for the entire picture and do all of the +scaling by hand, just like in MetaPost; + +(ii) draw to a separate picture pic and add(pic.fit()); + +(iii) use frames. + + +File: asy-faq.info, Node: Question 8.4, Next: Question 8.5, Previous: Question 8.3, Up: Section 8 + +Question 8.4. What is the equivalent of MetaPost ... command? + +The connector :: is a macro for tension atleast 1: + +size(100); +pair z0=(0,0); +pair z1=(1,0.25); +pair z2=(2,0); +draw(z0{up}::z1{right}::z2{down}); + +File: asy-faq.info, Node: Question 8.5, Next: Question 8.6, Previous: Question 8.4, Up: Section 8 + +Question 8.5. What is the equivalent of the MetaPost pickup command? + +Just say, for example: + +currentpen=red; + +File: asy-faq.info, Node: Question 8.6, Next: Question 8.7, Previous: Question 8.5, Up: Section 8 + +Question 8.6. What is the equivalent of the MetaPost whatever command? + +Asymptote does not implicitly solve linear equations and therefore does +not have the notion of a whatever unknown. Such a facility could certainly +be added (perhaps using the notation ?= since = means assignment). +However, the most common uses of whatever in MetaPost are covered by +functions like extension in math.asy: +pair extension(pair P, pair Q, pair p, pair q); +this returns the intersection point of the extensions of the line segments +PQ and pq. We find using routines like extension more explicit and less +confusing to new users. But we could be persuaded to add something similar +if someone can justify the need. In the meantime, one can always use the +explicit built-in linear solver solve (see +http://asymptote.sourceforge.net/doc/solve.html), which uses LU +decomposition. + + +File: asy-faq.info, Node: Question 8.7, Next: Question 8.8, Previous: Question 8.6, Up: Section 8 + +Question 8.7. What is the equivalent for the MetaPost command for lray - horiz*v - verti*u = whatever*(LightSource - R), a system of three linear equations for three unknowns: horiz, verti, whatever? + +Since horiz*v+verti*u spans a plane, you could use +real intersect(vector P, vector Q, vector n, vector Z); +to find the intersection time for the line lray-whatever*(LightSource - +R) and then extract the three desired values from there. (You'll still +need to use the built-in explicit linear solver to solve a 2x2 system to +get horiz and verti.) + + +File: asy-faq.info, Node: Question 8.8, Next: Question 8.9, Previous: Question 8.7, Up: Section 8 + +Question 8.8. In MetaPost, it is possible to have a drawing remain the same size in different pictures by defining a unit u and explicitly multiply all the coordinates by u. Is there a better way to do this in Asymptote? + +Yes, Asymptote has a better way: you definitely don't want to manually +scale all of your coordinates. To make the user coordinates represent +multiples of exactly 1cm: + +unitsize(1cm); +draw(unitsquare); +One can also specify different x and y unit sizes: + +unitsize(x=1cm,y=2cm); +draw(unitsquare); +Another way is to draw your fixed size object to a frame and add it to +currentpicture like this: + +path p=(0,0)--(1,0); +frame object; +draw(object,scale(100)*p); + +add(object); +add(object,(0,-10)); +To understand the difference between frames and pictures, try this: + +size(300,300); + +path p=(0,0)--(1,0); +picture object; +draw(object,scale(100)*p); + +add(object); +add(object,(0,-10)); // Adds truesize object to currentpicture + +File: asy-faq.info, Node: Question 8.9, Next: Question 9.1, Previous: Question 8.8, Up: Section 8 + +Question 8.9. In MetaPost, one could produce tiling pictures by generating a picture, and then clipping the picture to a rectangle of fixed dimensions around the center of the picture. How is that done in Asymptote? + +If you are using currentpicture the way one would in MetaPost (drawing in +raw PostScript coordinates), you can simply do something like: + +fill((0,0)--(100,100)--(200,0)--cycle); + +pair center(picture pic=currentpicture) {return 0.5*(pic.min()+pic.max());} + +real height=100; +real width=100; +pair delta=0.5(width,height); +pair c=center(); +clip(box(c-delta,c+delta)); +However, drawing in PostScript coordinates is often inconvenient. Here's +the Asymptote way of doing the same thing, using deferred drawing: + +size(200,100); +fill((0,0)--(1,1)--(2,0)--cycle); + +void clip(picture pic=currentpicture, real width, real height) +{ + pic.clip(new void (frame f, transform) { + pair center=0.5(min(f)+max(f)); + pair delta=0.5(width,height); + clip(f,box(center-delta,center+delta)); + }); +} + +clip(100,100); +See also the discussion of tilings in the documentation: +http://asymptote.sourceforge.net/doc/Pens.html. + + +File: asy-faq.info, Node: Section 9, Previous: Section 8, Up: Top + +Questions about output + +* Menu: +* Question 9.1:: How can I disable automatic invocation of the PS + viewer after an asy file is done processing? +* Question 9.2:: How do I output jpeg images? +* Question 9.3:: Can I embed bitmaps (photos) into my drawings and + position and scale them? +* Question 9.4:: Does Asymptote support direct PDF output? +* Question 9.5:: How to I produce large pictures of high quality in + raster format (e.g. png, giff etc). +* Question 9.6:: Is it possible to produce multi-page documents with + asymptote? + + + +File: asy-faq.info, Node: Question 9.1, Next: Question 9.2, Previous: Question 8.9, Up: Section 9 + +Question 9.1. How can I disable automatic invocation of the PS viewer after an asy file is done processing? + +It's actually not on by default, unless you happen to be using Microsoft +Windows (because that is what most Microsoft Windows users expect). +Microsoft Windows users can turn this feature off with the command-line +option -noV or by putting + +import settings; +interactiveView=false; +batchView=false; +in their config.asy file. See +http://asymptote.sourceforge.net/doc/Options.html. + + +File: asy-faq.info, Node: Question 9.2, Next: Question 9.3, Previous: Question 9.1, Up: Section 9 + +Question 9.2. How do I output jpeg images? + +If you have the ImageMagick convert program installed, simply type + +asy -f jpg test.asy + +File: asy-faq.info, Node: Question 9.3, Next: Question 9.4, Previous: Question 9.2, Up: Section 9 + +Question 9.3. Can I embed bitmaps (photos) into my drawings and position and scale them? + +Convert them to eps format and use the graphic(string) function just like +a Label: + +label(graphic("file"),(0,0)); +See the example http://asymptote.sourceforge.net/gallery/orthocenter.asy +and http://asymptote.sourceforge.net/doc/label.html. + + +File: asy-faq.info, Node: Question 9.4, Next: Question 9.5, Previous: Question 9.3, Up: Section 9 + +Question 9.4. Does Asymptote support direct PDF output? + +Yes, PDF output can be produced by the -f pdf option or -tex pdflatex +option. This supports transparency, annotations, embedded movies, and +U3D/PRC content. + + +File: asy-faq.info, Node: Question 9.5, Next: Question 9.6, Previous: Question 9.4, Up: Section 9 + +Question 9.5. How to I produce large pictures of high quality in raster format (e.g. png, giff etc). + +Try using some of the options to convert, mainly -geometry and -density. +For example: +convert -geometry 1000x3000 example.eps example.png +You can also change the default resolution of the image with: +convert -geometry 1000x3000 -density 300 -units PixelsPerInch example.eps example.png +This does not change the number of pixels in the image, but just gives a +hint as to how large each pixel should be displayed. + +If you include the -density option without the -geometry option, convert +will keep the image size constant (so a 4cm x 3cm eps figure will +generate a 4cm x 3cm png image). + + +File: asy-faq.info, Node: Question 9.6, Previous: Question 9.5, Up: Section 9 + +Question 9.6. Is it possible to produce multi-page documents with asymptote? + +Yes, simply call the newpage() function. This is used by the slide.asy +package to produce high-quality slide presentations (easier to use than +Prosper). + diff --git a/Master/texmf-dist/doc/info/asymptote.info b/Master/texmf-dist/doc/info/asymptote.info new file mode 100644 index 00000000000..ee7d4f40b51 --- /dev/null +++ b/Master/texmf-dist/doc/info/asymptote.info @@ -0,0 +1,9963 @@ +This is asymptote.info, produced by makeinfo version 4.13 from +../asymptote.texi. + +This file documents `Asymptote', version 2.16. + + `http://asymptote.sourceforge.net' + + Copyright (C) 2004-11 Andy Hammerlindl, John Bowman, and Tom Prince. + + Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU Lesser General Public License + (see the file LICENSE in the top-level source directory). + + +INFO-DIR-SECTION Languages +START-INFO-DIR-ENTRY +* asymptote: (asymptote/asymptote). Vector graphics language. +END-INFO-DIR-ENTRY + + +File: asymptote.info, Node: Top, Next: Description, Up: (dir) + +Asymptote +********* + +This file documents `Asymptote', version 2.16. + + `http://asymptote.sourceforge.net' + + Copyright (C) 2004-11 Andy Hammerlindl, John Bowman, and Tom Prince. + + Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU Lesser General Public License + (see the file LICENSE in the top-level source directory). + + +* Menu: + +* Description:: What is `Asymptote'? +* Installation:: Downloading and installing +* Tutorial:: Getting started +* Drawing commands:: Four primitive graphics commands +* Bezier curves:: Path connectors and direction specifiers +* Programming:: The `Asymptote' vector graphics language +* LaTeX usage:: Embedding `Asymptote' commands within `LaTeX' +* Base modules:: Base modules shipped with `Asymptote' +* Options:: Command-line options +* Interactive mode:: Typing `Asymptote' commands interactively +* GUI:: Graphical user interface +* PostScript to Asymptote:: `Asymptote' backend to `pstoedit' +* Help:: Where to get help and submit bug reports +* Debugger:: Squish those bugs! +* Credits:: Contributions and acknowledgments +* Index:: General index + + --- The Detailed Node Listing --- + +Installation + +* UNIX binary distributions:: Prebuilt `UNIX' binaries +* MacOS X binary distributions:: Prebuilt `MacOS X' binaries +* Microsoft Windows:: Prebuilt `Microsoft Windows' binary +* Configuring:: Configuring `Asymptote' for your system +* Search paths:: Where `Asymptote' looks for your files +* Compiling from UNIX source:: Building `Asymptote' from scratch +* Editing modes:: Convenient `emacs' and `vim' modes +* Subversion:: Getting the latest development source +* Uninstall:: Goodbye, `Asymptote'! + +Drawing commands + +* draw:: Draw a path on a picture or frame +* fill:: Fill a cyclic path on a picture or frame +* clip:: Clip a picture or frame to a cyclic path +* label:: Label a point on a picture + +Programming + +* Data types:: void, bool, int, real, pair, triple, string +* Paths and guides:: +* Pens:: Colors, line types, line widths, font sizes +* Transforms:: Affine transforms +* Frames and pictures:: Canvases for immediate and deferred drawing +* Files:: Reading and writing your data +* Variable initializers:: Initialize your variables +* Structures:: Organize your data +* Operators:: Arithmetic and logical operators +* Implicit scaling:: Avoiding those ugly *s +* Functions:: Traditional and high-order functions +* Arrays:: Dynamic vectors +* Casts:: Implicit and explicit casts +* Import:: Importing external `Asymptote' modules +* Static:: Where to allocate your variable? + +Operators + +* Arithmetic & logical:: Basic mathematical operators +* Self & prefix operators:: Increment and decrement +* User-defined operators:: Overloading operators + +Functions + +* Default arguments:: Default values can appear anywhere +* Named arguments:: Assigning function arguments by keyword +* Rest arguments:: Functions with a variable number of arguments +* Mathematical functions:: Standard libm functions + + +Arrays + +* Slices:: Python-style array slices + +Base modules + +* plain:: Default `Asymptote' base file +* simplex:: Linear programming: simplex method +* math:: Extend `Asymptote''s math capabilities +* interpolate:: Interpolation routines +* geometry:: Geometry routines +* trembling:: Wavy lines +* stats:: Statistics routines and histograms +* patterns:: Custom fill and draw patterns +* markers:: Custom path marker routines +* tree:: Dynamic binary search tree +* binarytree:: Binary tree drawing module +* drawtree:: Tree drawing module +* syzygy:: Syzygy and braid drawing module +* feynman:: Feynman diagrams +* roundedpath:: Round the sharp corners of paths +* animation:: Embedded PDF and MPEG movies +* embed:: Embedding movies, sounds, and 3D objects +* slide:: Making presentations with `Asymptote' +* MetaPost:: `MetaPost' compatibility routines +* unicode:: Accept `unicode' (UTF-8) characters +* latin1:: Accept `ISO 8859-1' characters +* babel:: Interface to `LaTeX' `babel' package +* labelpath:: Drawing curved labels +* labelpath3:: Drawing curved labels in 3D +* annotate:: Annotate your PDF files +* CAD:: 2D CAD pen and measurement functions (DIN 15) +* graph:: 2D linear & logarithmic graphs +* palette:: Color density images and palettes +* three:: 3D vector graphics +* obj:: 3D obj files +* graph3:: 3D linear & logarithmic graphs +* grid3:: 3D grids +* solids:: 3D solid geometry +* tube:: 3D rotation minimizing tubes +* flowchart:: Flowchart drawing routines +* contour:: Contour lines +* contour3:: Contour surfaces +* slopefield:: Slope fields +* ode:: Ordinary differential equations + +Graphical User Interface + +* GUI installation:: Installing `xasy' +* GUI usage:: + + +File: asymptote.info, Node: Description, Next: Installation, Prev: Top, Up: Top + +1 Description +************* + +`Asymptote' is a powerful descriptive vector graphics language that +provides a mathematical coordinate-based framework for technical +drawings. Labels and equations are typeset with `LaTeX', for overall +document consistency, yielding the same high-quality level of +typesetting that `LaTeX' provides for scientific text. By default it +produces `PostScript' output, but it can also generate any format that +the `ImageMagick' package can produce. + + A major advantage of `Asymptote' over other graphics packages is +that it is a high-level programming language, as opposed to just a +graphics program: it can therefore exploit the best features of the +script (command-driven) and graphical-user-interface (GUI) methods for +producing figures. The rudimentary GUI `xasy' included with the package +allows one to move script-generated objects around. To make `Asymptote' +accessible to the average user, this GUI is currently being developed +into a full-fledged interface that can generate objects directly. +However, the script portion of the language is now ready for general +use by users who are willing to learn a few simple `Asymptote' graphics +commands (*note Drawing commands::). + + `Asymptote' is mathematically oriented (e.g. one can use complex +multiplication to rotate a vector) and uses `LaTeX' to do the +typesetting of labels. This is an important feature for scientific +applications. It was inspired by an earlier drawing program (with a +weaker syntax and capabilities) called `MetaPost'. + + The `Asymptote' vector graphics language provides: + + * a standard for typesetting mathematical figures, just as + TeX/`LaTeX' is the de-facto standard for typesetting equations. + + * `LaTeX' typesetting of labels, for overall document consistency; + + * the ability to generate and embed 3D vector PRC graphics within + PDF files; + + * a natural coordinate-based framework for technical drawings, + inspired by `MetaPost', with a much cleaner, powerful C++-like + programming syntax; + + * compilation of figures into virtual machine code for speed, without + sacrificing portability; + + * the power of a script-based language coupled to the convenience of + a GUI; + + * customization using its own C++-like graphics programming language; + + * sensible defaults for graphical features, with the ability to + override; + + * a high-level mathematically oriented interface to the `PostScript' + language for vector graphics, including affine transforms and + complex variables; + + * functions that can create new (anonymous) functions; + + * deferred drawing that uses the simplex method to solve overall size + constraint issues between fixed-sized objects (labels and + arrowheads) and objects that should scale with figure size; + + + Many of the features of `Asymptote' are written in the `Asymptote' +language itself. While the stock version of `Asymptote' is designed for +mathematics typesetting needs, one can write `Asymptote' modules that +tailor it to specific applications. A scientific graphing module has +already been written (*note graph::). Examples of `Asymptote' code and +output, including animations, are available at + + `http://asymptote.sourceforge.net/gallery/'. + Links to many external resources, including an excellent user-written +`Asymptote' tutorial can be found at + + `http://asymptote.sourceforge.net/links.html'. + A quick reference card for `Asymptote' is available at + + `http://asymptote.sourceforge.net/asyRefCard.pdf'. + + +File: asymptote.info, Node: Installation, Next: Tutorial, Prev: Description, Up: Top + +2 Installation +************** + +* Menu: + +* UNIX binary distributions:: Prebuilt `UNIX' binaries +* MacOS X binary distributions:: Prebuilt `MacOS X' binaries +* Microsoft Windows:: Prebuilt `Microsoft Windows' binary +* Configuring:: Configuring `Asymptote' for your system +* Search paths:: Where `Asymptote' looks for your files +* Compiling from UNIX source:: Building `Asymptote' from scratch +* Editing modes:: Convenient `emacs' and `vim' modes +* Subversion:: Getting the latest development source +* Uninstall:: Goodbye, `Asymptote'! + + After following the instructions for your specific distribution, +please see also *note Configuring::. + +We recommend subscribing to new release announcements at + + `http://freshmeat.net/projects/asy' + Users may also wish to monitor the `Asymptote' forum: + + `http://sourceforge.net/projects/asymptote/forums/forum/409349' + + +File: asymptote.info, Node: UNIX binary distributions, Next: MacOS X binary distributions, Up: Installation + +2.1 UNIX binary distributions +============================= + +We release both `tgz' and RPM binary distributions of `Asymptote'. The +root user can install the `Linux i386' `tgz' distribution of version +`x.xx' of `Asymptote' with the commands: +tar -C / -zxf asymptote-x.xx.i386.tgz +texhash + The `texhash' command, which installs LaTeX style files, is optional. +The executable file will be `/usr/local/bin/asy') and example code will +be installed by default in `/usr/local/share/doc/asymptote/examples'. + +Fedora users can easily install the most recent version of `Asymptote' +with the command +yum --enablerepo=rawhide install asymptote + +To install the latest version of `Asymptote' on a Debian-based +distribution (e.g. Ubuntu, Mepis, Linspire) follow the instructions for +compiling from `UNIX' source (*note Compiling from UNIX source::). +Alternatively, Debian users can install one of Hubert Chan's prebuilt +`Asymptote' binaries from + + `http://ftp.debian.org/debian/pool/main/a/asymptote' + + +File: asymptote.info, Node: MacOS X binary distributions, Next: Microsoft Windows, Prev: UNIX binary distributions, Up: Installation + +2.2 MacOS X binary distributions +================================ + +`MacOS X' users can either compile the `UNIX' source code (*note +Compiling from UNIX source::) or install the contributed `Asymptote' +binary available at + +`http://www.hmug.org/pub/MacOS_X/X/Applications/Publishing/asymptote/' + +Because these preconfigured binary distributions have strict +architecture and library dependencies that many installations do not +satisfy, we recommend installing `Asymptote' directly from the official +source: + + `http://sourceforge.net/project/showfiles.php?group_id=120000' + +Note that many `MacOS X' (and FreeBSD) systems lack the GNU `readline' +library. For full interactive functionality, GNU `readline' version 4.3 +or later must be installed. + + +File: asymptote.info, Node: Microsoft Windows, Next: Configuring, Prev: MacOS X binary distributions, Up: Installation + +2.3 Microsoft Windows +===================== + +Users of the `Microsoft Windows' operating system can install the +self-extracting `Asymptote' executable `asymptote-x.xx-setup.exe', +where `x.xx' denotes the latest version. + + A working TeX implementation (such as the one available at +`http://www.miktex.org') will be required to typeset labels. You will +also need to install `GPL Ghostscript' from +`http://sourceforge.net/projects/ghostscript/'. + + To view the default `PostScript' output, you can install the program +`gsview' available from `http://www.cs.wisc.edu/~ghost/gsview/'. A +better (and free) `PostScript' viewer available at +`http://psview.sourceforge.net/' (which in particular works properly in +interactive mode) unfortunately currently requires some manual +configuration. Specifically, if version `x.xx' of `psview' is extracted +to the directory `c:\Program Files' one needs to put +import settings; +psviewer="c:\Program Files\psview-x.xx\psv.exe"; + in the optional `Asymptote' configuration file; *note configuration +file::). + + The `ImageMagick' package from + + `http://www.imagemagick.org/script/binary-releases.php' + +is required to support output formats other than EPS, PDF, SVG, and PNG +(*note convert::). The `Python' interpreter from +`http://www.python.org' is only required if you wish to try out the +graphical user interface (*note GUI::). + +Example code will be installed by default in the `examples' +subdirectory of the installation directory (by default, `C:\Program +Files\Asymptote'). + + +File: asymptote.info, Node: Configuring, Next: Search paths, Prev: Microsoft Windows, Up: Installation + +2.4 Configuring +=============== + +In interactive mode, or when given the `-V' option (the default when +running `Asymptote' on a single file under `MSDOS'), `Asymptote' will +automatically invoke the `PostScript' viewer `gv' (under `UNIX') or +`gsview' (under `MSDOS' to display graphical output. These defaults may +be overridden with the configuration variable `psviewer'. The +`PostScript' viewer should be capable of automatically redrawing +whenever the output file is updated. The default `UNIX' `PostScript' +viewer `gv' supports this (via a `SIGHUP' signal). Version `gv-3.6.3' +or later (from `http://ftp.gnu.org/gnu/gv/') is required for +interactive mode to work properly. Users of `ggv' will need to enable +`Watch file' under `Edit/Postscript Viewer Preferences'. Users of +`gsview' will need to enable `Options/Auto Redisplay' (however, under +`MSDOS' it is still necessary to click on the `gsview' window; under +`UNIX' one must manually redisplay by pressing the `r' key). A better +(and free) multiplatform alternative to `gsview' is `psview' (*note +psview::). + + Configuration variables are most easily set as `Asymptote' variables +in an optional configuration file `config.asy' *note configuration +file::). Here are the default values of several important configuration +variables under `UNIX': + + +import settings; +psviewer="gv"; +pdfviewer="acroread"; +gs="gs"; + +Under `MSDOS', the (installation-dependent) default values of these +configuration variables are determined automatically from the +`Microsoft Windows' registry. Viewer settings (such as `psviewer' and +`pdfviewer') can be set to the string `cmd' to request the application +normally associated with the corresponding file type. + + For PDF format output, the `gs' setting specifies the location of +the `PostScript'-to-PDF processor `Ghostscript', available from +`http://sourceforge.net/projects/ghostscript/'. + + The setting `pdfviewer' specifies the location of the PDF viewer. On +`UNIX' systems, to support automatic document reloading in `Adobe +Reader', we recommend copying the file `reload.js' from the `Asymptote' +system directory (by default, `/usr/local/share/asymptote' under `UNIX' +to `~/.adobe/Acrobat/x.x/JavaScripts/', where `x.x' represents the +appropriate `Adobe Reader' version number. The automatic document +reload feature must then be explicitly enabled by putting +import settings; +pdfreload=true; +pdfreloadOptions="-tempFile"; + in the `Asymptote' configuration file. This reload feature is not +useful under `MSDOS' since the document cannot be updated anyway on +that operating system until it is first closed by `Adobe Reader'. + + The configuration variable `dir' can be used to adjust the search +path (*note Search paths::). + + By default, `Asymptote' attempts to center the figure on the page, +assuming that the paper type is `letter'. The default paper type may be +changed to `a4' with the configuration variable `papertype'. Alignment +to other paper sizes can be obtained by setting the configuration +variables `paperwidth' and `paperheight'. + + The following configuration variables normally do not require +adjustment: +texpath +texcommand +dvips +dvisvgm +convert +display +animate + Warnings (such as "writeoverloaded") may be enabled or disabled with +the functions +warn(string s); +nowarn(string s); + or by directly modifying the string array `settings.suppress', which +lists all disabled warnings. + + Configuration variables may also be set or overwritten with a +command-line option: +asy -psviewer=gsview -V venn + + Alternatively, system environment versions of the above configuration +variables may be set in the conventional way. The corresponding +environment variable name is obtained by converting the configuration +variable name to upper case and prepending `ASYMPTOTE_': for example, +to set the environment variable +ASYMPTOTE_PSVIEWER="C:\Program Files\Ghostgum\gsview\gsview32.exe"; + under `Microsoft Windows XP': + 1. Click on the `Start' button; + + 2. Right-click on `My Computer'; + + 3. Choose `View system information'; + + 4. Click the `Advanced' tab; + + 5. Click the `Environment Variables' button. + + +File: asymptote.info, Node: Search paths, Next: Compiling from UNIX source, Prev: Configuring, Up: Installation + +2.5 Search paths +================ + +In looking for `Asymptote' system files, `asy' will search the +following paths, in the order listed: + 1. The current directory; + + 2. A list of one or more directories specified by the configuration + variable `dir' or environment variable `ASYMPTOTE_DIR' (separated + by `:' under UNIX and `;' under `MSDOS'); + + 3. The directory specified by the environment variable + `ASYMPTOTE_HOME'; if this variable is not set, the directory + `.asy' in the user's home directory (`%USERPROFILE%\.asy' under + `MSDOS') is used; + + 4. The `Asymptote' system directory (by default, + `/usr/local/share/asymptote' under `UNIX' and `C:\Program + Files\Asymptote' under `MSDOS'). + + +File: asymptote.info, Node: Compiling from UNIX source, Next: Editing modes, Prev: Search paths, Up: Installation + +2.6 Compiling from UNIX source +============================== + +To compile and install a `UNIX' executable from a source release +`x.xx', first execute the commands: +gunzip asymptote-x.xx.src.tgz +tar -xf asymptote-x.xx.src.tar +cd asymptote-x.xx + By default the system version of the Boehm garbage collector will be +used; if it is old we recommend first putting +`http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-7.2b.tar.gz' +in the `Asymptote' source directory. + +If your graphics card supports multisampling, we recommend using version +`2.6.0' of `freeglut' to support antialiasing in `Asymptote''s adaptive +`OpenGL' 3D renderer (`MacOS X' users can skip this step since +`Asymptote' is configured to use the native glut library on that +platform). Download + + `http://prdownloads.sourceforge.net/freeglut/freeglut-2.6.0.tar.gz' + and type (as the root user): +tar -zxf freeglut-2.6.0.tar.gz +cd freeglut-2.6.0 +./configure --prefix=/usr +make install +cd .. + Then compile `Asymptote' with the commands +./configure +make all +make install + Be sure to use GNU `make' (on non-GNU systems this command may be +called `gmake'). To build the documentation, you may need to install +the `texinfo-tex' package. If you get errors from a broken `texinfo' or +`pdftex' installation, simply put + + `http://asymptote.sourceforge.net/asymptote.pdf' + in the directory `doc' and repeat the command `make all'. + +For a (default) system-wide installation, the last command should be +done as the root user. To install without root privileges, change the +`./configure' command to +./configure --prefix=$HOME/asymptote + One can disable use of the Boehm garbage collector by configuring with +`./configure --disable-gc'. For a list of other configuration options, +say `./configure --help'. For example, one can tell configure to look +for header files and libraries in nonstandard locations: +./configure CFLAGS=-I/opt/usr/include LDFLAGS=-L/opt/usr/lib + + If you are compiling `Asymptote' with `gcc', you will need a +relatively recent version (e.g. 3.4.4 or later). For full interactive +functionality, you will need version 4.3 or later of the GNU `readline' +library. The file `gcc3.3.2curses.patch' in the `patches' directory can +be used to patch the broken curses.h header file (or a local copy +thereof in the current directory) on some `AIX' and `IRIX' systems. + + The `FFTW' library is only required if you want `Asymptote' to be +able to take Fourier transforms of data (say, to compute an audio power +spectrum). The `GSL' library is only required if you require the +special functions that it supports. + + If you don't want to install `Asymptote' system wide, just make sure +the compiled binary `asy' and GUI script `xasy' are in your path and +set the configuration variable `dir' to point to the directory `base' +(in the top level directory of the `Asymptote' source code). + + +File: asymptote.info, Node: Editing modes, Next: Subversion, Prev: Compiling from UNIX source, Up: Installation + +2.7 Editing modes +================= + +Users of `emacs' can edit `Asymptote' code with the mode `asy-mode', +after enabling it by putting the following lines in their `.emacs' +initialization file, replacing `ASYDIR' with the location of the +`Asymptote' system directory (by default, `/usr/local/share/asymptote' +or `C:\Program Files\Asymptote' under `MSDOS'): +(add-to-list 'load-path "ASYDIR") +(autoload 'asy-mode "asy-mode.el" "Asymptote major mode." t) +(autoload 'lasy-mode "asy-mode.el" "hybrid Asymptote/Latex major mode." t) +(autoload 'asy-insinuate-latex "asy-mode.el" "Asymptote insinuate LaTeX." t) +(add-to-list 'auto-mode-alist '("\\.asy$" . asy-mode)) + + Particularly useful key bindings in this mode are `C-c C-c', which +compiles and displays the current buffer, and the key binding `C-c ?', +which shows the available function prototypes for the command at the +cursor. For full functionality you should also install the Apache +Software Foundation package `two-mode-mode': + + `http://www.dedasys.com/freesoftware/files/two-mode-mode.el' + Once installed, you can use the hybrid mode `lasy-mode' to edit a +LaTeX file containing embedded `Asymptote' code (*note LaTeX usage::). +This mode can be enabled within `latex-mode' with the key sequence `M-x +lasy-mode <RET>'. On `UNIX' systems, additional keywords will be +generated from all `asy' files in the space-separated list of +directories specified by the environment variable `ASYMPTOTE_SITEDIR'. +Further documentation of `asy-mode' is available within `emacs' by +pressing the sequence keys `C-h f asy-mode <RET>'. + + Fans of `vim' can customize `vim' for `Asymptote' with + +`cp /usr/local/share/asymptote/asy.vim ~/.vim/syntax/asy.vim' + +and add the following to their `~/.vimrc' file: +augroup filetypedetect +au BufNewFile,BufRead *.asy setf asy +augroup END +filetype plugin on + + If any of these directories or files don't exist, just create them. +To set `vim' up to run the current asymptote script using `:make' just +add to `~/.vim/ftplugin/asy.vim': +setlocal makeprg=asy\ % +setlocal errorformat=%f:\ %l.%c:\ %m + + Syntax highlighting support for the KDE editor `Kate' can be enabled +by running `asy-kate.sh' in the `/usr/local/share/asymptote' directory +and putting the generated `asymptote.xml' file in +`~/.kde/share/apps/katepart/syntax/'. + + +File: asymptote.info, Node: Subversion, Next: Uninstall, Prev: Editing modes, Up: Installation + +2.8 Subversion (SVN) +==================== + +The following commands are needed to install the latest development +version of `Asymptote' using `Subversion': +svn co http://asymptote.svn.sourceforge.net/svnroot/asymptote/trunk/asymptote +cd asymptote +./autogen.sh +./configure +make all +make install + +To compile without optimization, use the command `make CFLAGS=-g'. + + +File: asymptote.info, Node: Uninstall, Prev: Subversion, Up: Installation + +2.9 Uninstall +============= + +To uninstall an `Linux i386' binary distribution, use the commands +tar -zxvf asymptote-x.xx.i386.tgz | xargs --replace=% rm /% +texhash + +To uninstall all `Asymptote' files installed from a source +distribution, use the command +make uninstall + + +File: asymptote.info, Node: Tutorial, Next: Drawing commands, Prev: Installation, Up: Top + +3 Tutorial +********** + +3.1 Drawing in batch mode +========================= + +To draw a line from coordinate (0,0) to coordinate (100,100), create a +text file `test.asy' containing + +draw((0,0)--(100,100)); + Then execute the command +asy -V test + Alternatively, `MSDOS' users can drag and drop `test.asy' onto the +Desktop `asy' icon (or make `Asymptote' the default application for the +extension `asy'). + +This method, known as _batch mode_, outputs a `PostScript' file +`test.eps'. If you prefer PDF output, use the command line +asy -V -f pdf test + In either case, the `-V' option opens up a viewer window so you can +immediately view the result: + + +Here, the `--' connector joins the two points `(0,0)' and `(100,100)' +with a line segment. + +3.2 Drawing in interactive mode +=============================== + +Another method is _interactive mode_, where `Asymptote' reads +individual commands as they are entered by the user. To try this out, +enter `Asymptote''s interactive mode by clicking on the `Asymptote' +icon or typing the command `asy'. Then type +draw((0,0)--(100,100)); + followed by `Enter', to obtain the above image. At this point you can +type further `draw' commands, which will be added to the displayed +figure, `erase' to clear the canvas, +input test; + to execute all of the commands contained in the file `test.asy', or +`quit' to exit interactive mode. You can use the arrow keys in +interactive mode to edit previous lines. The tab key will +automatically complete unambiguous words; otherwise, hitting tab again +will show the possible choices. Further commands specific to +interactive mode are described in *note Interactive mode::. + +3.3 Figure size +=============== + +In `Asymptote', coordinates like `(0,0)' and `(100,100)', called +_pairs_, are expressed in `PostScript' "big points" (1 `bp' = 1/72 +`inch') and the default line width is `0.5bp'. However, it is often +inconvenient to work directly in `PostScript' coordinates. The next +example produces identical output to the previous example, by scaling +the line `(0,0)--(1,1)' to fit a rectangle of width `100.5 bp' and +height `100.5 bp' (the extra `0.5bp' accounts for the line width): +size(100.5,100.5); +draw((0,0)--(1,1)); + + + +One can also specify the size in `pt' (1 `pt' = 1/72.27 `inch'), `cm', +`mm', or `inches'. Two nonzero size arguments (or a single size +argument) restrict the size in both directions, preserving the aspect +ratio. If 0 is given as a size argument, no restriction is made in +that direction; the overall scaling will be determined by the other +direction (*note size::): + +size(0,100.5); +draw((0,0)--(2,1),Arrow); + + + +To connect several points and create a cyclic path, use the `cycle' +keyword: + +size(3cm); +draw((0,0)--(1,0)--(1,1)--(0,1)--cycle); + + +For convenience, the path `(0,0)--(1,0)--(1,1)--(0,1)--cycle' may be +replaced with the predefined variable `unitsquare', or equivalently, +`box((0,0),(1,1))'. + + To make the user coordinates represent multiples of exactly `1cm': +unitsize(1cm); +draw(unitsquare); + +3.4 Labels +========== + +Adding labels is easy in `Asymptote'; one specifies the label as a +double-quoted `LaTeX' string, a coordinate, and an optional alignment +direction: + +size(3cm); +draw(unitsquare); +label("$A$",(0,0),SW); +label("$B$",(1,0),SE); +label("$C$",(1,1),NE); +label("$D$",(0,1),NW); + + + +`Asymptote' uses the standard compass directions `E=(1,0)', `N=(0,1)', +`NE=unit(N+E)', and `ENE=unit(E+NE)', etc., which along with the +directions `up', `down', `right', and `left' are defined as pairs in +the `Asymptote' base module `plain' (a user who has a local variable +named `E' may access the compass direction `E' by prefixing it with the +name of the module where it is defined: `plain.E'). + +3.5 Paths +========= + +This example draws a path that approximates a quarter circle, +terminated with an arrowhead: + +size(100,0); +draw((1,0){up}..{left}(0,1),Arrow); + + +Here the directions `up' and `left' in braces specify the incoming and +outgoing directions at the points `(1,0)' and `(0,1)', respectively. + + In general, a path is specified as a list of points (or other paths) +interconnected with `--', which denotes a straight line segment, or +`..', which denotes a cubic spline (*note Bezier curves::). Specifying +a final `..cycle' creates a cyclic path that connects smoothly back to +the initial node, as in this approximation (accurate to within 0.06%) +of a unit circle: +path unitcircle=E..N..W..S..cycle; + +An `Asymptote' path, being connected, is equivalent to a `Postscript +subpath'. The `^^' binary operator, which requests that the pen be +moved (without drawing or affecting endpoint curvatures) from the final +point of the left-hand path to the initial point of the right-hand +path, may be used to group several `Asymptote' paths into a `path[]' +array (equivalent to a `PostScript' path): + +size(0,100); +path unitcircle=E..N..W..S..cycle; +path g=scale(2)*unitcircle; +filldraw(unitcircle^^g,evenodd+yellow,black); + + + +The `PostScript' even-odd fill rule here specifies that only the region +bounded between the two unit circles is filled (*note fillrule::). In +this example, the same effect can be achieved by using the default zero +winding number fill rule, if one is careful to alternate the +orientation of the paths: +filldraw(unitcircle^^reverse(g),yellow,black); + + The `^^' operator is used by the `box(triple, triple)' function in +the module `three.asy' to construct the edges of a cube `unitbox' +without retracing steps (*note three::): + +import three; + +currentprojection=orthographic(5,4,2,center=true); + +size(5cm); +size3(3cm,5cm,8cm); + +draw(unitbox); + +dot(unitbox,red); + +label("$O$",(0,0,0),NW); +label("(1,0,0)",(1,0,0),S); +label("(0,1,0)",(0,1,0),E); +label("(0,0,1)",(0,0,1),Z); + + + +See section *note graph:: (or the online `Asymptote' gallery and +external links posted at `http://asymptote.sourceforge.net') for +further examples, including two-dimensional and interactive +three-dimensional scientific graphs. Additional examples have been +posted by Philippe Ivaldi at `http://www.piprime.fr/asymptote'. A +user-written `Asymptote' tutorial is available at +http://www.artofproblemsolving.com/Wiki/index.php/Asymptote:_Basics + + +File: asymptote.info, Node: Drawing commands, Next: Bezier curves, Prev: Tutorial, Up: Top + +4 Drawing commands +****************** + +All of `Asymptote''s graphical capabilities are based on four primitive +commands. The three `PostScript' drawing commands `draw', `fill', and +`clip' add objects to a picture in the order in which they are +executed, with the most recently drawn object appearing on top. The +labeling command `label' can be used to add text labels and external +EPS images, which will appear on top of the `PostScript' objects (since +this is normally what one wants), but again in the relative order in +which they were executed. After drawing objects on a picture, the +picture can be output with the `shipout' function (*note shipout::). + + If you wish to draw `PostScript' objects on top of labels (or +verbatim `tex' commands; *note tex::), the `layer' command may be used +to start a new `PostScript/LaTeX' layer: +void layer(picture pic=currentpicture); + + The `layer' function gives one full control over the order in which +objects are drawn. Layers are drawn sequentially, with the most recent +layer appearing on top. Within each layer, labels, images, and verbatim +`tex' commands are always drawn after the `PostScript' objects in that +layer. + + While some of these drawing commands take many options, they all +have sensible default values (for example, the picture argument +defaults to currentpicture). + +* Menu: + +* draw:: Draw a path on a picture or frame +* fill:: Fill a cyclic path on a picture or frame +* clip:: Clip a picture or frame to a cyclic path +* label:: Label a point on a picture + + +File: asymptote.info, Node: draw, Next: fill, Up: Drawing commands + +4.1 draw +======== + +void draw(picture pic=currentpicture, Label L="", path g, + align align=NoAlign, pen p=currentpen, + arrowbar arrow=None, arrowbar bar=None, margin margin=NoMargin, + Label legend="", marker marker=nomarker); + +Draw the path `g' on the picture `pic' using pen `p' for drawing, with +optional drawing attributes (Label `L', explicit label alignment +`align', arrows and bars `arrow' and `bar', margins `margin', legend, +and markers `marker'). Only one parameter, the path, is required. For +convenience, the arguments `arrow' and `bar' may be specified in either +order. The argument `legend' is a Label to use in constructing an +optional legend entry. + + Bars are useful for indicating dimensions. The possible values of +`bar' are `None', `BeginBar', `EndBar' (or equivalently `Bar'), and +`Bars' (which draws a bar at both ends of the path). Each of these bar +specifiers (except for `None') will accept an optional real argument +that denotes the length of the bar in `PostScript' coordinates. The +default bar length is `barsize(pen)'. + + The possible values of `arrow' are `None', `Blank' (which draws no +arrows or path), `BeginArrow', `MidArrow', `EndArrow' (or equivalently +`Arrow'), and `Arrows' (which draws an arrow at both ends of the path). +All of the arrow specifiers except for `None' and `Blank' may be given +the optional arguments arrowhead `arrowhead' (one of the predefined +arrowhead styles `DefaultHead', `SimpleHead', `HookHead', `TeXHead'), +real `size' (arrowhead size in `PostScript' coordinates), real `angle' +(arrowhead angle in degrees), filltype `filltype' (one of `FillDraw', +`Fill', `NoFill', `UnFill', `Draw') and (except for `MidArrow' and +`Arrows') a real `position' (in the sense of `point(path p, real t)') +along the path where the tip of the arrow should be placed. The default +arrowhead size when drawn with a pen `p' is `arrowsize(p)'. There are +also arrow versions with slightly modified default values of `size' and +`angle' suitable for curved arrows: `BeginArcArrow', `EndArcArrow' (or +equivalently `ArcArrow'), `MidArcArrow', and `ArcArrows'. + + Margins can be used to shrink the visible portion of a path by +`labelmargin(p)' to avoid overlap with other drawn objects. Typical +values of `margin' are `NoMargin', `BeginMargin', `EndMargin' (or +equivalently `Margin'), and `Margins' (which leaves a margin at both +ends of the path). One may use `Margin(real begin, real end)' to +specify the size of the beginning and ending margin, respectively, in +multiples of the units `labelmargin(p)' used for aligning labels. +Alternatively, `BeginPenMargin', `EndPenMargin' (or equivalently +`PenMargin'), `PenMargins', `PenMargin(real begin, real end)' specify a +margin in units of the pen line width, taking account of the pen line +width when drawing the path or arrow. For example, use `DotMargin', an +abbreviation for `PenMargin(-0.5*dotfactor,0.5*dotfactor)', to draw +from the usual beginning point just up to the boundary of an end dot of +width `dotfactor*linewidth(p)'. The qualifiers `BeginDotMargin', +`EndDotMargin', and `DotMargins' work similarly. The qualifier +`TrueMargin(real begin, real end)' allows one to specify a margin +directly in `PostScript' units, independent of the pen line width. + + The use of arrows, bars, and margins is illustrated by the examples +`Pythagoras.asy', `sqrtx01.asy', and `triads.asy'. + + The legend for a picture `pic' can be fit and aligned to a frame +with the routine: +frame legend(picture pic=currentpicture, int perline=1, + real xmargin=legendmargin, real ymargin=xmargin, + real linelength=legendlinelength, + real hskip=legendhskip, real vskip=legendvskip, + real maxwidth=0, real maxheight=0, + bool hstretch=false, bool vstretch=false, pen p=currentpen); + Here `xmargin' and `ymargin' specify the surrounding x and y margins, +`perline' specifies the number of entries per line (default 1; 0 means +choose this number automatically), `linelength' specifies the length of +the path lines, `hskip' and `vskip' specify the line skip (as a +multiple of the legend entry size), `maxwidth' and `maxheight' specify +optional upper limits on the width and height of the resulting legend +(0 means unlimited), `hstretch' and `vstretch' allow the legend to +stretch horizontally or vertically, and `p' specifies the pen used to +draw the bounding box. The legend frame can then be added and aligned +about a point on a picture `dest' using `add' or `attach' (*note add +about::). + + To draw a dot, simply draw a path containing a single point. The +`dot' command defined in the module `plain' draws a dot having a +diameter equal to an explicit pen line width or the default line width +magnified by `dotfactor' (6 by default), using the specified filltype +(*note filltype::): +void dot(picture pic=currentpicture, pair z, pen p=currentpen, + filltype filltype=Fill); +void dot(picture pic=currentpicture, Label L, pair z, align align=NoAlign, + string format=defaultformat, pen p=currentpen, filltype filltype=Fill); +void dot(picture pic=currentpicture, Label[] L=new Label[], pair[] z, + align align=NoAlign, string format=defaultformat, pen p=currentpen, + filltype filltype=Fill) +void dot(picture pic=currentpicture, Label L, pen p=currentpen, + filltype filltype=Fill); + + If the variable `Label' is given as the `Label' argument to the +second routine, the `format' argument will be used to format a string +based on the dot location (here `defaultformat' is `"$%.4g$"'). The +third routine draws a dot at every point of a pair array `z'. One can +also draw a dot at every node of a path: +void dot(picture pic=currentpicture, Label[] L=new Label[], + path g, align align=RightSide, string format=defaultformat, + pen p=currentpen, filltype filltype=Fill); + See *note pathmarkers:: and *note markers:: for more general methods +for marking path nodes. + + To draw a fixed-sized object (in `PostScript' coordinates) about the +user coordinate `origin', use the routine +void draw(pair origin, picture pic=currentpicture, Label L="", path g, + align align=NoAlign, pen p=currentpen, arrowbar arrow=None, + arrowbar bar=None, margin margin=NoMargin, Label legend="", + marker marker=nomarker); + + +File: asymptote.info, Node: fill, Next: clip, Prev: draw, Up: Drawing commands + +4.2 fill +======== + +void fill(picture pic=currentpicture, path g, pen p=currentpen); + +Fill the interior region bounded by the cyclic path `g' on the picture +`pic', using the pen `p'. + + There is also a convenient `filldraw' command, which fills the path +and then draws in the boundary. One can specify separate pens for each +operation: +void filldraw(picture pic=currentpicture, path g, pen fillpen=currentpen, + pen drawpen=currentpen); + + This fixed-size version of `fill' allows one to fill an object +described in `PostScript' coordinates about the user coordinate +`origin': +void fill(pair origin, picture pic=currentpicture, path g, pen p=currentpen); + +This is just a convenient abbreviation for the commands: +picture opic; +fill(opic,g,p); +add(pic,opic,origin); + + The routine +void filloutside(picture pic=currentpicture, path g, pen p=currentpen); + fills the region exterior to the path `g', out to the current boundary +of picture `pic'. + + Lattice gradient shading varying smoothly over a two-dimensional +array of pens `p', using fill rule `fillrule', can be produced with +void latticeshade(picture pic=currentpicture, path g, bool stroke=false, + pen fillrule=currentpen, pen[][] p) + If `stroke=true', the region filled is the same as the region that +would be drawn by `draw(pic,g,fillrule+zerowinding)'; in this case the +path `g' need not be cyclic. The pens in `p' must belong to the same +color space. One can use the functions `rgb(pen)' or `cmyk(pen)' to +promote pens to a higher color space, as illustrated in the example file +`latticeshading.asy'. + + Axial gradient shading varying smoothly from `pena' to `penb' in the +direction of the line segment `a--b' can be achieved with +void axialshade(picture pic=currentpicture, path g, bool stroke=false, + pen pena, pair a, + pen penb, pair b); + + Radial gradient shading varying smoothly from `pena' on the circle +with center `a' and radius `ra' to `penb' on the circle with center `b' +and radius `rb' is similar: +void radialshade(picture pic=currentpicture, path g, bool stroke=false, + pen pena, pair a, real ra, + pen penb, pair b, real rb); + Illustrations of radial shading are provided in the example files +`shade.asy', `ring.asy', and `shadestroke.asy'. + + Gouraud shading using fill rule `fillrule' and the vertex colors in +the pen array `p' on a triangular lattice defined by the vertices `z' +and edge flags `edges' is implemented with +void gouraudshade(picture pic=currentpicture, path g, bool stroke=false, + pen fillrule=currentpen, pen[] p, pair[] z, + int[] edges); +void gouraudshade(picture pic=currentpicture, path g, bool stroke=false, + pen fillrule=currentpen, pen[] p, int[] edges); + In the second form, the elements of `z' are taken to be successive +nodes of path `g'. The pens in `p' must belong to the same color space. +Illustrations of Gouraud shading are provided in the example file +`Gouraud.asy' and in the solid geometry module `solids.asy'. The edge +flags used in Gouraud shading are documented here: + + `http://partners.adobe.com/public/developer/en/ps/sdk/TN5600.SmoothShading.pdf'. + + Tensor product shading using fill rule `fillrule' on patches bounded +by the n cyclic paths of length 4 in path array `b', using the vertex +colors specified in the n \times 4 pen array `p' and internal control +points in the n \times 4 array `z', is implemented with +void tensorshade(picture pic=currentpicture, path g, bool stroke=false, + pen fillrule=currentpen, pen[][] p, path[] b=g, + pair[][] z=new pair[][]); + If the array `z' is empty, Coons shading, in which the color control +points are calculated automatically, is used. The pens in `p' must +belong to the same color space. A simpler interface for the case of a +single patch (n=1) is also available: +void tensorshade(picture pic=currentpicture, path g, bool stroke=false, + pen fillrule=currentpen, pen[] p, path b=g, + pair[] z=new pair[]); + One can also smoothly shade the regions between consecutive paths of a +sequence using a given array of pens: +void draw(picture pic=currentpicture, pen fillrule=currentpen, path[] g, + pen[] p); + Illustrations of tensor product and Coons shading are provided in the +example files `tensor.asy', `Coons.asy', `BezierSurface.asy', and +`rainbow.asy'. + + More general shading possibilities are available with the `pdflatex', +`context', and `pdftex' TeX engines: the routine +void functionshade(picture pic=currentpicture, path[] g, bool stroke=false, + pen fillrule=currentpen, string shader); + shades on picture `pic' the interior of path `g' according to fill +rule `fillrule' using the `PostScript' calculator routine specified by +the string `shader'; this routine takes 2 arguments, each in [0,1], and +returns `colors(fillrule).length' color components. Function shading +is illustrated in the example `functionshading.asy'. + + The following routine uses `evenodd' clipping together with the `^^' +operator to unfill a region: + +void unfill(picture pic=currentpicture, path g); + + +File: asymptote.info, Node: clip, Next: label, Prev: fill, Up: Drawing commands + +4.3 clip +======== + +void clip(picture pic=currentpicture, path g, stroke=false, + pen fillrule=currentpen); + +Clip the current contents of picture `pic' to the region bounded by the +path `g', using fill rule `fillrule' (*note fillrule::). If +`stroke=true', the clipped portion is the same as the region that would +be drawn with `draw(pic,g,fillrule+zerowinding)'; in this case the path +`g' need not be cyclic. For an illustration of picture clipping, see +the first example in *note LaTeX usage::. + + +File: asymptote.info, Node: label, Prev: clip, Up: Drawing commands + +4.4 label +========= + +void label(picture pic=currentpicture, Label L, pair position, + align align=NoAlign, pen p=currentpen, filltype filltype=NoFill) + +Draw Label `L' on picture `pic' using pen `p'. If `align' is `NoAlign', +the label will be centered at user coordinate `position'; otherwise it +will be aligned in the direction of `align' and displaced from +`position' by the `PostScript' offset `align*labelmargin(p)'. The +constant `Align' can be used to align the bottom-left corner of the +label at `position'. The Label `L' can either be a string or the +structure obtained by calling one of the functions +Label Label(string s="", pair position, align align=NoAlign, + pen p=nullpen, embed embed=Rotate, filltype filltype=NoFill); +Label Label(string s="", align align=NoAlign, + pen p=nullpen, embed embed=Rotate, filltype filltype=NoFill); +Label Label(Label L, pair position, align align=NoAlign, + pen p=nullpen, embed embed=L.embed, filltype filltype=NoFill); +Label Label(Label L, align align=NoAlign, + pen p=nullpen, embed embed=L.embed, filltype filltype=NoFill); + The text of a Label can be scaled, slanted, rotated, or shifted by +multiplying it on the left by an affine transform (*note Transforms::). +For example, `rotate(45)*xscale(2)*L' first scales `L' in the x +direction and then rotates it counterclockwise by 45 degrees. The final +position of a Label can also be shifted by a `PostScript' coordinate +translation: `shift(10,0)*L'. An explicit pen specified within the +Label overrides other pen arguments. The `embed' argument determines +how the Label should transform with the embedding picture: +`Shift' + only shift with embedding picture; + +`Rotate' + only shift and rotate with embedding picture (default); + +`Rotate(pair z)' + rotate with (picture-transformed) vector `z'. + +`Slant' + only shift, rotate, slant, and reflect with embedding picture; + +`Scale' + shift, rotate, slant, reflect, and scale with embedding picture. + + + To add a label to a path, use +void label(picture pic=currentpicture, Label L, path g, align align=NoAlign, + pen p=currentpen, filltype filltype=NoFill); + By default the label will be positioned at the midpoint of the path. +An alternative label position (in the sense of `point(path p, real t)') +may be specified as a real value for `position' in constructing the +Label. The position `Relative(real)' specifies a location relative to +the total arclength of the path. These convenient abbreviations are +predefined: +position BeginPoint=Relative(0); +position MidPoint=Relative(0.5); +position EndPoint=Relative(1); + + Path labels are aligned in the direction `align', which may be +specified as an absolute compass direction (pair) or a direction +`Relative(pair)' measured relative to a north axis in the local +direction of the path. For convenience `LeftSide', `Center', and +`RightSide' are defined as `Relative(W)', `Relative((0,0))', and +`Relative(E)', respectively. Multiplying `LeftSide', `Center', +`RightSide' on the left by a real scaling factor will move the label +further away from or closer to the path. + + A label with a fixed-size arrow of length `arrowlength' pointing to +`b' from direction `dir' can be produced with the routine +void arrow(picture pic=currentpicture, Label L="", pair b, pair dir, + real length=arrowlength, align align=NoAlign, + pen p=currentpen, arrowbar arrow=Arrow, margin margin=EndMargin); + If no alignment is specified (either in the Label or as an explicit +argument), the optional Label will be aligned in the direction `dir', +using margin `margin'. + + The function `string graphic(string name, string options="")' +returns a string that can be used to include an encapsulated +`PostScript' (EPS) file. Here, `name' is the name of the file to +include and `options' is a string containing a comma-separated list of +optional bounding box (`bb=llx lly urx ury'), width (`width=value'), +height (`height=value'), rotation (`angle=value'), scaling +(`scale=factor'), clipping (`clip=bool'), and draft mode (`draft=bool') +parameters. The `layer()' function can be used to force future objects +to be drawn on top of the included image: +label(graphic("file.eps","width=1cm"),(0,0),NE); +layer(); + + The `string baseline(string s, string template="\strut")' function +can be used to enlarge the bounding box of labels to match a given +template, so that their baselines will be typeset on a horizontal line. +See `Pythagoras.asy' for an example. + + One can prevent labels from overwriting one another with the +`overwrite' pen attribute (*note overwrite::). + + The structure `object' defined in `plain_Label.asy' allows Labels +and frames to be treated in a uniform manner. A group of objects may +be packed together into single frame with the routine +frame pack(pair align=2S ... object inset[]); + To draw or fill a box (or ellipse or other path) around a Label and +return the bounding object, use one of the routines +object draw(picture pic=currentpicture, Label L, envelope e, + real xmargin=0, real ymargin=xmargin, pen p=currentpen, + filltype filltype=NoFill, bool above=true); +object draw(picture pic=currentpicture, Label L, envelope e, pair position, + real xmargin=0, real ymargin=xmargin, pen p=currentpen, + filltype filltype=NoFill, bool above=true); + Here `envelope' is a boundary-drawing routine such as `box', +`roundbox', or `ellipse' defined in `plain_boxes.asy' (*note +envelope::). + + The function `path[] texpath(Label L)' returns the path array that +TeX would fill to draw the Label `L'. + + The `string minipage(string s, width=100pt)' function can be used to +format string `s' into a paragraph of width `width'. This example uses +`minipage', `clip', and `graphic' to produce a CD label: + + +size(11.7cm,11.7cm); +asy(nativeformat(),"logo"); +fill(unitcircle^^(scale(2/11.7)*unitcircle), + evenodd+rgb(124/255,205/255,124/255)); +label(scale(1.1)*minipage( +"\centering\scriptsize \textbf{\LARGE {\tt Asymptote}\\ +\smallskip +\small The Vector Graphics Language}\\ +\smallskip +\textsc{Andy Hammerlindl, John Bowman, and Tom Prince} +http://asymptote.sourceforge.net\\ +",8cm),(0,0.6)); +label(graphic("logo."+nativeformat(),"height=7cm"),(0,-0.22)); +clip(unitcircle^^(scale(2/11.7)*unitcircle),evenodd); + + +File: asymptote.info, Node: Bezier curves, Next: Programming, Prev: Drawing commands, Up: Top + +5 Bezier curves +*************** + +Each interior node of a cubic spline may be given a direction prefix or +suffix `{dir}': the direction of the pair `dir' specifies the direction +of the incoming or outgoing tangent, respectively, to the curve at that +node. Exterior nodes may be given direction specifiers only on their +interior side. + + A cubic spline between the node z_0, with postcontrol point c_0, and +the node z_1, with precontrol point c_1, is computed as the Bezier curve + + + +As illustrated in the diagram below, the third-order midpoint (m_5) +constructed from two endpoints z_0 and z_1 and two control points c_0 +and c_1, is the point corresponding to t=1/2 on the Bezier curve formed +by the quadruple (z_0, c_0, c_1, z_1). This allows one to recursively +construct the desired curve, by using the newly extracted third-order +midpoint as an endpoint and the respective second- and first-order +midpoints as control points: + + + +Here m_0, m_1 and m_2 are the first-order midpoints, m_3 and m_4 are +the second-order midpoints, and m_5 is the third-order midpoint. The +curve is then constructed by recursively applying the algorithm to +(z_0, m_0, m_3, m_5) and (m_5, m_4, m_2, z_1). + + In fact, an analogous property holds for points located at any +fraction t in [0,1] of each segment, not just for midpoints (t=1/2). + + The Bezier curve constructed in this manner has the following +properties: + * It is entirely contained in the convex hull of the given four + points. + + * It starts heading from the first endpoint to the first control + point and finishes heading from the second control point to the + second endpoint. + + + The user can specify explicit control points between two nodes like +this: +draw((0,0)..controls (0,100) and (100,100)..(100,0)); + + However, it is usually more convenient to just use the `..' +operator, which tells `Asymptote' to choose its own control points +using the algorithms described in Donald Knuth's monograph, The +MetaFontbook, Chapter 14. The user can still customize the guide (or +path) by specifying direction, tension, and curl values. + + The higher the tension, the straighter the curve is, and the more it +approximates a straight line. One can change the spline tension from +its default value of 1 to any real value greater than or equal to 0.75 +(cf. John D. Hobby, Discrete and Computational Geometry 1, 1986): +draw((100,0)..tension 2 ..(100,100)..(0,100)); +draw((100,0)..tension 2 and 1 ..(100,100)..(0,100)); +draw((100,0)..tension atleast 1 ..(100,100)..(0,100)); + + The curl parameter specifies the curvature at the endpoints of a path +(0 means straight; the default value of 1 means approximately circular): +draw((100,0){curl 0}..(100,100)..{curl 0}(0,100)); + + The `MetaPost ...' path connector, which requests, when possible, an +inflection-free curve confined to a triangle defined by the endpoints +and directions, is implemented in `Asymptote' as the convenient +abbreviation `::' for `..tension atleast 1 ..' (the ellipsis `...' is +used in `Asymptote' to indicate a variable number of arguments; *note +Rest arguments::). For example, compare + +draw((0,0){up}..(100,25){right}..(200,0){down}); + + +with + +draw((0,0){up}::(100,25){right}::(200,0){down}); + + + +The `---' connector is an abbreviation for `..tension atleast +infinity..' and the `&' connector concatenates two paths, after first +stripping off the last node of the first path (which normally should +coincide with the first node of the second path). + + +File: asymptote.info, Node: Programming, Next: LaTeX usage, Prev: Bezier curves, Up: Top + +6 Programming +************* + +Here is a short introductory example to the `Asymptote' programming +language that highlights the similarity of its control structures with +those of C, C++, and Java: +// This is a comment. + +// Declaration: Declare x to be a real variable; +real x; + +// Assignment: Assign the real variable x the value 1. +x=1.0; + +// Conditional: Test if x equals 1 or not. +if(x == 1.0) { + write("x equals 1.0"); +} else { + write("x is not equal to 1.0"); +} + +// Loop: iterate 10 times +for(int i=0; i < 10; ++i) { + write(i); +} + + `Asymptote' supports `while', `do', `break', and `continue' +statements just as in C/C++. It also supports the Java-style shorthand +for iterating over all elements of an array: + +// Iterate over an array +int[] array={1,1,2,3,5}; +for(int k : array) { + write(k); +} + In addition, it supports many features beyond the ones found in those +languages. + +* Menu: + +* Data types:: void, bool, int, real, pair, triple, string +* Paths and guides:: +* Pens:: Colors, line types, line widths, font sizes +* Transforms:: Affine transforms +* Frames and pictures:: Canvases for immediate and deferred drawing +* Files:: Reading and writing your data +* Variable initializers:: Initialize your variables +* Structures:: Organize your data +* Operators:: Arithmetic and logical operators +* Implicit scaling:: Avoiding those ugly *s +* Functions:: Traditional and high-order functions +* Arrays:: Dynamic vectors +* Casts:: Implicit and explicit casts +* Import:: Importing external `Asymptote' modules +* Static:: Where to allocate your variable? + + +File: asymptote.info, Node: Data types, Next: Paths and guides, Up: Programming + +6.1 Data types +============== + +`Asymptote' supports the following data types (in addition to +user-defined types): + +`void' + The void type is used only by functions that take or return no + arguments. + +`bool' + a boolean type that can only take on the values `true' or `false'. + For example: bool b=true; + + defines a boolean variable `b' and initializes it to the value + `true'. If no initializer is given: bool b; + + the value `false' is assumed. + +`bool3' + an extended boolean type that can take on the values `true', + `default', or `false'. A bool3 type can be cast to or from a bool. + The default initializer for bool3 is `default'. + +`int' + an integer type; if no initializer is given, the implicit value `0' + is assumed. The minimum allowed value of an integer is `intMin' + and the maximum value is `intMax'. + +`real' + a real number; this should be set to the highest-precision native + floating-point type on the architecture. The implicit initializer + for reals is `0.0'. Real numbers have precision `realEpsilon', + with `realDigits' significant digits. The smallest positive real + number is `realMin' and the largest positive real number is + `realMax'. The variable `inf' and function `bool isnan(real x)' + are useful when floating-point exceptions are masked with the + `-mask' command-line option (the default in interactive mode). + +`pair' + complex number, that is, an ordered pair of real components + `(x,y)'. The real and imaginary parts of a pair `z' can read as + `z.x' and `z.y'. We say that `x' and `y' are virtual members of + the data element pair; they cannot be directly modified, however. + The implicit initializer for pairs is `(0.0,0.0)'. + + There are a number of ways to take the complex conjugate of a pair: + pair z=(3,4); + z=(z.x,-z.y); + z=z.x-I*z.y; + z=conj(z); + + Here `I' is the pair `(0,1)'. A number of built-in functions are + defined for pairs: + + `pair conj(pair z)' + returns the conjugate of `z'; + + `real length(pair z)' + returns the complex modulus `|z|' of its argument `z'. For + example, + pair z=(3,4); + length(z); + returns the result 5. A synonym for `length(pair)' is + `abs(pair)'; + + `real angle(pair z, bool warn=true)' + returns the angle of `z' in radians in the interval + [-`pi',`pi'] or `0' if `warn' is `false' and `z=(0,0)' + (rather than producing an error); + + `real degrees(pair z, bool warn=true)' + returns the angle of `z' in degrees in the interval [0,360) + or `0' if `warn' is `false' and `z=(0,0)' (rather than + producing an error); + + `pair unit(pair z)' + returns a unit vector in the direction of the pair `z'; + + `pair expi(real angle)' + returns a unit vector in the direction `angle' measured in + radians; + + `pair dir(real degrees)' + returns a unit vector in the direction `degrees' measured in + degrees; + + `real xpart(pair z)' + returns `z.x'; + + `real ypart(pair z)' + returns `z.y'; + + `pair realmult(pair z, pair w)' + returns the element-by-element product `(z.x*w.x,z.y*w.y)'; + + `real dot(explicit pair z, explicit pair w)' + returns the dot product `z.x*w.x+z.y*w.y'; + + `pair minbound(pair z, pair w)' + returns `(min(z.x,w.x),min(z.y,w.y))'; + + `pair maxbound(pair z, pair w)' + returns `(max(z.x,w.x),max(z.y,w.y))'. + + +`triple' + an ordered triple of real components `(x,y,z)' used for + three-dimensional drawings. The respective components of a triple + `v' can read as `v.x', `v.y', and `v.z'. The implicit initializer + for triples is `(0.0,0.0,0.0)'. + + Here are the built-in functions for triples: + `real length(triple v)' + returns the length `|v|' of the vector `v'. A synonym for + `length(triple)' is `abs(triple)'; + + `real polar(triple v, bool warn=true)' + returns the colatitude of `v' measured from the z axis in + radians or `0' if `warn' is `false' and `v=O' (rather than + producing an error); + + `real azimuth(triple v, bool warn=true)' + returns the longitude of `v' measured from the x axis in + radians or `0' if `warn' is `false' and `v.x=v.y=0' (rather + than producing an error); + + `real colatitude(triple v, bool warn=true)' + returns the colatitude of `v' measured from the z axis in + degrees or `0' if `warn' is `false' and `v=O' (rather than + producing an error); + + `real latitude(triple v, bool warn=true)' + returns the latitude of `v' measured from the xy plane in + degrees or `0' if `warn' is `false' and `v=O' (rather than + producing an error); + + `real longitude(triple v, bool warn=true)' + returns the longitude of `v' measured from the x axis in + degrees or `0' if `warn' is `false' and `v.x=v.y=0' (rather + than producing an error); + + `triple unit(triple v)' + returns a unit triple in the direction of the triple `v'; + + `triple expi(real polar, real azimuth)' + returns a unit triple in the direction `(polar,azimuth)' + measured in radians; + + `triple dir(real colatitude, real longitude)' + returns a unit triple in the direction + `(colatitude,longitude)' measured in degrees; + + `real xpart(triple v)' + returns `v.x'; + + `real ypart(triple v)' + returns `v.y'; + + `real zpart(triple v)' + returns `v.z'; + + `real dot(triple u, triple v)' + returns the dot product `u.x*v.x+u.y*v.y+u.z*v.z'; + + `triple cross(triple u, triple v)' + returns the cross product + + `(u.y*v.z-u.z*v.y,u.z*v.x-u.x*v.z,u.x*v.y-v.x*u.y)'; + + `triple minbound(triple u, triple v)' + returns `(min(u.x,v.x),min(u.y,v.y),min(u.z,v.z))'; + + `triple maxbound(triple u, triple v)' + returns `(max(u.x,v.x),max(u.y,v.y),max(u.z,v.z)'). + + +`string' + a character string, implemented using the STL `string' class. + + Strings delimited by double quotes (`"') are subject to the + following mappings to allow the use of double quotes in TeX (e.g. + for using the `babel' package, *note babel::): + + * \" maps to " + + * \\ maps to \\ + + Strings delimited by single quotes (`'') have the same mappings as + character strings in ANSI `C': + + * \' maps to ' + + * \" maps to " + + * \? maps to ? + + * \\ maps to backslash + + * \a maps to alert + + * \b maps to backspace + + * \f maps to form feed + + * \n maps to newline + + * \r maps to carriage return + + * \t maps to tab + + * \v maps to vertical tab + + * \0-\377 map to corresponding octal byte + + * \x0-\xFF map to corresponding hexadecimal byte + + The implicit initializer for strings is the empty string `""'. + Strings may be concatenated with the `+' operator. In the following + string functions, position `0' denotes the start of the string: + `int length(string s)' + returns the length of the string `s'; + + `int find(string s, string t, int pos=0)' + returns the position of the first occurrence of string `t' in + string `s' at or after position `pos', or -1 if `t' is not a + substring of `s'; + + `int rfind(string s, string t, int pos=-1)' + returns the position of the last occurrence of string `t' in + string `s' at or before position `pos' (if `pos'=-1, at the + end of the string `s'), or -1 if `t' is not a substring of + `s'; + + `string insert(string s, int pos, string t)' + returns the string formed by inserting string `t' at position + `pos' in `s'; + + `string erase(string s, int pos, int n)' + returns the string formed by erasing the string of length `n' + (if `n'=-1, to the end of the string `s') at position `pos' + in `s'; + + `string substr(string s, int pos, int n=-1)' + returns the substring of `s' starting at position `pos' and + of length `n' (if `n'=-1, until the end of the string `s'); + + `string reverse(string s)' + returns the string formed by reversing string `s'; + + `string replace(string s, string before, string after)' + returns a string with all occurrences of the string `before' + in the string `s' changed to the string `after'; + + `string replace(string s, string[][] table)' + returns a string constructed by translating in string `s' all + occurrences of the string `before' in an array `table' of + string pairs {`before',`after'} to the corresponding string + `after'; + + `string[] split(string s, string delimiter="")' + returns an array of strings obtained by splitting `s' into + substrings delimited by `delimiter' (an empty delimiter + signifies a space, but with duplicate delimiters discarded); + + `string format(string s, int n, string locale="")' + returns a string containing `n' formatted according to the + C-style format string `s' using locale `locale' (or the + current locale if an empty string is specified); + + `string format(string s=defaultformat, string s=defaultseparator, real x, string locale="")' + returns a string containing `x' formatted according to the + C-style format string `s' using locale `locale' (or the + current locale if an empty string is specified), following + the behaviour of the C function `fprintf'), except that only + one data field is allowed, trailing zeros are removed by + default (unless `#' is specified), and (if the format string + specifies math mode) TeX is used to typeset scientific + notation using the `defaultseparator="\!\times\!";'; + + `int hex(string s);' + casts a hexidecimal string `s' to an integer; + + `int ascii(string s);' + returns the ASCII code for the first character of string `s'; + + `string string(real x, int digits=realDigits)' + casts `x' to a string using precision `digits' and the C + locale; + + `string locale(string s="")' + sets the locale to the given string, if nonempty, and returns + the current locale; + + `string time(string format="%a %b %d %T %Z %Y")' + returns the current time formatted by the ANSI C routine + `strftime' according to the string `format' using the current + locale. Thus time(); + time("%a %b %d %H:%M:%S %Z %Y"); + + are equivalent ways of returning the current time in the + default format used by the `UNIX' `date' command; + + `int seconds(string t="", string format="")' + returns the time measured in seconds after the Epoch (Thu Jan + 01 00:00:00 UTC 1970) as determined by the ANSI C routine + `strptime' according to the string `format' using the current + locale, or the current time if `t' is the empty string. Note + that the `"%Z"' extension to the POSIX `strptime' + specification is ignored by the current GNU C Library. If an + error occurs, the value -1 is returned. Here are some + examples: seconds("Mar 02 11:12:36 AM PST 2007","%b %d %r PST %Y"); + seconds(time("%b %d %r %z %Y"),"%b %d %r %z %Y"); + seconds(time("%b %d %r %Z %Y"),"%b %d %r "+time("%Z")+" %Y"); + 1+(seconds()-seconds("Jan 1","%b %d"))/(24*60*60); + The last example returns today's ordinal date, measured from + the beginning of the year. + + `string time(int seconds, string format="%a %b %d %T %Z %Y")' + returns the time corresponding to `seconds' seconds after the + Epoch (Thu Jan 01 00:00:00 UTC 1970) formatted by the ANSI C + routine `strftime' according to the string `format' using the + current locale. For example, to return the date corresponding + to 24 hours ago: time(seconds()-24*60*60); + + `int system(string s)' + + `int system(string[] s)' + if the setting `safe' is false, call the arbitrary system + command `s'; + + `void asy(string format, bool overwrite=false ... string[] s)' + conditionally process each file name in array `s' in a new + environment, using format `format', overwriting the output + file only if `overwrite' is true; + + `void abort(string s="")' + aborts execution (with a non-zero return code in batch mode); + if string `s' is nonempty, a diagnostic message constructed + from the source file, line number, and `s' is printed; + + `void assert(bool b, string s="")' + aborts execution with an error message constructed from `s' if + `b=false'; + + `void exit()' + exits (with a zero error return code in batch mode); + + `void sleep(int seconds)' + pauses for the given number of seconds; + + `void usleep(int microseconds)' + pauses for the given number of microseconds; + + `void beep()' + produces a beep on the console; + + + + As in C/C++, complicated types may be abbreviated with `typedef' +(see the example in *note Functions::). + + +File: asymptote.info, Node: Paths and guides, Next: Pens, Prev: Data types, Up: Programming + +6.2 Paths and guides +==================== + +`path' + a cubic spline resolved into a fixed path. The implicit + initializer for paths is `nullpath'. + + For example, the routine `circle(pair c, real r)', which returns a + Bezier curve approximating a circle of radius `r' centered on `c', + is based on `unitcircle' (*note unitcircle::): path circle(pair c, real r) + { + return shift(c)*scale(r)*unitcircle; + } + If high accuracy is needed, a true circle may be produced with the + routine `Circle' defined in the module `graph.asy': import graph; + path Circle(pair c, real r, int n=nCircle); + + A circular arc consistent with `circle' centered on `c' with + radius `r' from `angle1' to `angle2' degrees, drawing + counterclockwise if `angle2 >= angle1', can be constructed with path arc(pair c, real r, real angle1, real angle2); + One may also specify the direction explicitly: path arc(pair c, real r, real angle1, real angle2, bool direction); + Here the direction can be specified as CCW (counter-clockwise) or + CW (clockwise). For convenience, an arc centered at `c' from pair + `z1' to `z2' (assuming `|z2-c|=|z1-c|') in the may also be + constructed with path arc(pair c, explicit pair z1, explicit pair z2, + bool direction=CCW) + + If high accuracy is needed, true arcs may be produced with routines + in the module `graph.asy' that produce Bezier curves with `n' + control points: import graph; + path Arc(pair c, real r, real angle1, real angle2, bool direction, + int n=nCircle); + path Arc(pair c, real r, real angle1, real angle2, int n=nCircle); + path Arc(pair c, explicit pair z1, explicit pair z2, + bool direction=CCW, int n=nCircle); + + An ellipse can be drawn with the routine path ellipse(pair c, real a, real b) + { + return shift(c)*scale(a,b)*unitcircle; + } + + This example illustrates the use of all five guide connectors + discussed in *note Tutorial:: and *note Bezier curves::: size(300,0); + pair[] z=new pair[10]; + + z[0]=(0,100); z[1]=(50,0); z[2]=(180,0); + + for(int n=3; n <= 9; ++n) + z[n]=z[n-3]+(200,0); + + path p=z[0]..z[1]---z[2]::{up}z[3] + &z[3]..z[4]--z[5]::{up}z[6] + &z[6]::z[7]---z[8]..{up}z[9]; + + draw(p,grey+linewidth(4mm)); + + dot(z); + + + + Here are some useful functions for paths: + + `int length(path p);' + This is the number of (linear or cubic) segments in path `p'. + If `p' is cyclic, this is the same as the number of nodes in + `p'. + + `int size(path p);' + This is the number of nodes in the path `p'. If `p' is + cyclic, this is the same as `length(p)'. + + `bool cyclic(path p);' + returns `true' iff path `p' is cyclic. + + `bool straight(path p, int i);' + returns `true' iff the segment of path `p' between node `i' + and node `i+1' is straight. + + `bool piecewisestraight(path p)' + returns `true' iff the path `p' is piecewise straight. + + `pair point(path p, int t);' + If `p' is cyclic, return the coordinates of node `t' mod + `length(p)'. Otherwise, return the coordinates of node `t', + unless `t' < 0 (in which case `point(0)' is returned) or `t' + > `length(p)' (in which case `point(length(p))' is returned). + + `pair point(path p, real t);' + This returns the coordinates of the point between node + `floor(t)' and `floor(t)+1' corresponding to the cubic spline + parameter `t-floor(t)' (*note Bezier curves::). If `t' lies + outside the range [0,`length(p)'], it is first reduced modulo + `length(p)' in the case where `p' is cyclic or else converted + to the corresponding endpoint of `p'. + + `pair dir(path p, int t, int sign=0, bool normalize=true);' + If `sign < 0', return the direction (as a pair) of the + incoming tangent to path `p' at node `t'; if `sign > 0', + return the direction of the outgoing tangent. If `sign=0', + the mean of these two directions is returned. + + `pair dir(path p, real t, bool normalize=true);' + returns the direction of the tangent to path `p' at the point + between node `floor(t)' and `floor(t)+1' corresponding to the + cubic spline parameter `t-floor(t)' (*note Bezier curves::). + + `pair dir(path p)' + returns dir(p,length(p)). + + `pair dir(path p, path q)' + returns unit(dir(p)+dir(q)). + + `pair accel(path p, int t, int sign=0);' + If `sign < 0', return the acceleration of the incoming path + `p' at node `t'; if `sign > 0', return the acceleration of + the outgoing path. If `sign=0', the mean of these two + accelerations is returned. + + `pair accel(path p, real t);' + returns the acceleration of the path `p' at the point `t'. + + `real radius(path p, real t);' + returns the radius of curvature of the path `p' at the point + `t'. + + `pair precontrol(path p, int t);' + returns the precontrol point of `p' at node `t'. + + `pair precontrol(path p, real t);' + returns the effective precontrol point of `p' at parameter + `t'. + + `pair postcontrol(path p, int t);' + returns the postcontrol point of `p' at node `t'. + + `pair postcontrol(path p, real t);' + returns the effective postcontrol point of `p' at parameter + `t'. + + `real arclength(path p);' + returns the length (in user coordinates) of the piecewise + linear or cubic curve that path `p' represents. + + `real arctime(path p, real L);' + returns the path "time", a real number between 0 and the + length of the path in the sense of `point(path p, real t)', + at which the cumulative arclength (measured from the + beginning of the path) equals `L'. + + `real arcpoint(path p, real L);' + returns `point(p,arctime(p,L))'. + + `real dirtime(path p, pair z);' + returns the first "time", a real number between 0 and the + length of the path in the sense of `point(path, real)', at + which the tangent to the path has the direction of pair `z', + or -1 if this never happens. + + `real reltime(path p, real l);' + returns the time on path `p' at the relative fraction `l' of + its arclength. + + `pair relpoint(path p, real l);' + returns the point on path `p' at the relative fraction `l' of + its arclength. + + `pair midpoint(path p);' + returns the point on path `p' at half of its arclength. + + `path reverse(path p);' + returns a path running backwards along `p'. + + `path subpath(path p, int a, int b);' + returns the subpath of `p' running from node `a' to node `b'. + If `a' < `b', the direction of the subpath is reversed. + + `path subpath(path p, real a, real b);' + returns the subpath of `p' running from path time `a' to path + time `b', in the sense of `point(path, real)'. If `a' < `b', + the direction of the subpath is reversed. + + `real[] intersect(path p, path q, real fuzz=-1);' + If `p' and `q' have at least one intersection point, return a + real array of length 2 containing the times representing the + respective path times along `p' and `q', in the sense of + `point(path, real)', for one such intersection point (as + chosen by the algorithm described on page 137 of `The + MetaFontbook'). The computations are performed to the + absolute error specified by `fuzz', or if `fuzz < 0', to + machine precision. If the paths do not intersect, return a + real array of length 0. + + `real[][] intersections(path p, path q, real fuzz=-1);' + Return all (unless there are infinitely many) intersection + times of paths `p' and `q' as a sorted array of real arrays + of length 2 (*note sort::). The computations are performed to + the absolute error specified by `fuzz', or if `fuzz < 0', to + machine precision. + + `real[] intersections(path p, explicit pair a, explicit pair b, real fuzz=-1);' + Return all (unless there are infinitely many) intersection + times of path `p' with the (infinite) line through points `a' + and `b' as a sorted array. The intersections returned are + guaranteed to be correct to within the absolute error + specified by `fuzz', or if `fuzz < 0', to machine precision. + + `real[] times(path p, real x)' + returns all intersection times of path `p' with the vertical + line through `(x,0)'. + + `real[] times(path p, explicit pair z)' + returns all intersection times of path `p' with the + horizontal line through `(0,z.y)'. + + `real[] mintimes(path p)' + returns an array of length 2 containing times at which path + `p' reaches its minimal horizontal and vertical extents, + respectively. + + `real[] maxtimes(path p)' + returns an array of length 2 containing the times at which + path `p' reaches its maximal horizontal and vertical extents, + respectively. + + `pair intersectionpoint(path p, path q, real fuzz=-1);' + returns the intersection point + `point(p,intersect(p,q,fuzz)[0])'. + + `pair[] intersectionpoints(path p, path q, real fuzz=-1);' + returns an array containing all intersection points of the + paths `p' and `q'. + + `pair extension(pair P, pair Q, pair p, pair q);' + returns the intersection point of the extensions of the line + segments `P--Q' and `p--q', or if the lines are parallel, + `(infinity,infinity)'. + + `slice cut(path p, path knife, int n);' + returns the portions of path `p' before and after the `n'th + intersection of `p' with path `knife' as a structure `slice' + (if no intersection exist is found, the entire path is + considered to be `before' the intersection): struct slice { + path before,after; + } + The argument `n' is treated as modulo the number of + intersections. + + `slice firstcut(path p, path knife);' + equivalent to `cut(p,knife,0);' Note that `firstcut.after' + plays the role of the `MetaPost cutbefore' command. + + `slice lastcut(path p, path knife);' + equivalent to `cut(p,knife,-1);' Note that `lastcut.before' + plays the role of the `MetaPost cutafter' command. + + `path buildcycle(... path[] p);' + This returns the path surrounding a region bounded by a list + of two or more consecutively intersecting paths, following + the behaviour of the `MetaPost buildcycle' command. + + `pair min(path p);' + returns the pair (left,bottom) for the path bounding box of + path `p'. + + `pair max(path p);' + returns the pair (right,top) for the path bounding box of + path `p'. + + `int windingnumber(path p, pair z);' + returns the winding number of the cyclic path `p' relative to + the point `z'. The winding number is positive if the path + encircles `z' in the counterclockwise direction. If `z' lies + on `p' the constant `undefined' (defined to be the largest + odd integer) is returned. + + `bool interior(int windingnumber, pen fillrule)' + returns true if `windingnumber' corresponds to an interior + point according to `fillrule'. + + `bool inside(path p, pair z, pen fillrule=currentpen);' + returns `true' iff the point `z' lies inside or on the edge of + the region bounded by the cyclic path `p' according to the + fill rule `fillrule' (*note fillrule::). + + `int inside(path p, path q, pen fillrule=currentpen);' + returns `1' if the cyclic path `p' strictly contains `q' + according to the fill rule `fillrule' (*note fillrule::), `-1' + if the cyclic path `q' strictly contains `p', and `0' + otherwise. + + `pair inside(path p, pen fillrule=currentpen);' + returns an arbitrary point strictly inside a cyclic path `p' + according to the fill rule `fillrule' (*note fillrule::). + + `path[] strokepath(path g, pen p=currentpen);' + returns the path array that `PostScript' would fill in + drawing path `g' with pen `p'. + + +`guide' + an unresolved cubic spline (list of cubic-spline nodes and control + points). The implicit initializer for a guide is `nullpath'; this + is useful for building up a guide within a loop. + + A guide is similar to a path except that the computation of the + cubic spline is deferred until drawing time (when it is resolved + into a path); this allows two guides with free endpoint conditions + to be joined together smoothly. The solid curve in the following + example is built up incrementally as a guide, but only resolved at + drawing time; the dashed curve is incrementally resolved at each + iteration, before the entire set of nodes (shown in red) is known: + + size(200); + + real mexican(real x) {return (1-8x^2)*exp(-(4x^2));} + + int n=30; + real a=1.5; + real width=2a/n; + + guide hat; + path solved; + + for(int i=0; i < n; ++i) { + real t=-a+i*width; + pair z=(t,mexican(t)); + hat=hat..z; + solved=solved..z; + } + + draw(hat); + dot(hat,red); + draw(solved,dashed); + + + + We point out an efficiency distinction in the use of guides and + paths: guide g; + for(int i=0; i < 10; ++i) + g=g--(i,i); + path p=g; + + runs in linear time, whereas path p; + for(int i=0; i < 10; ++i) + p=p--(i,i); + + runs in quadratic time, as the entire path up to that point is + copied at each step of the iteration. + + The following routines can be used to examine the individual + elements of a guide without actually resolving the guide to a + fixed path (except for internal cycles, which are resolved): + + `int size(guide g);' + Analogous to `size(path p)'. + + `int length(guide g);' + Analogous to `length(path p)'. + + `bool cyclic(path p);' + Analogous to `cyclic(path p)'. + + `pair point(guide g, int t);' + Analogous to `point(path p, int t)'. + + `guide reverse(guide g);' + Analogous to `reverse(path p)'. If `g' is cyclic and also + contains a secondary cycle, it is first solved to a path, + then reversed. If `g' is not cyclic but contains an internal + cycle, only the internal cycle is solved before reversal. If + there are no internal cycles, the guide is reversed but not + solved to a path. + + `pair[] dirSpecifier(guide g, int i);' + This returns a pair array of length 2 containing the outgoing + (in element 0) and incoming (in element 1) direction + specifiers (or `(0,0)' if none specified) for the segment of + guide `g' between nodes `i' and `i+1'. + + `pair[] controlSpecifier(guide g, int i);' + If the segment of guide `g' between nodes `i' and `i+1' has + explicit outgoing and incoming control points, they are + returned as elements 0 and 1, respectively, of a two-element + array. Otherwise, an empty array is returned. + + `tensionSpecifier tensionSpecifier(guide g, int i);' + This returns the tension specifier for the segment of guide + `g' between nodes `i' and `i+1'. The individual components of + the `tensionSpecifier' type can be accessed as the virtual + members `in', `out', and `atLeast'. + + `real[] curlSpecifier(guide g);' + This returns an array containing the initial curl specifier + (in element 0) and final curl specifier (in element 1) for + guide `g'. + + + As a technical detail we note that a direction specifier given to + `nullpath' modifies the node on the other side: the guides a..{up}nullpath..b; + c..nullpath{up}..d; + e..{up}nullpath{down}..f; + are respectively equivalent to a..nullpath..{up}b; + c{up}..nullpath..d; + e{down}..nullpath..{up}f; + + + +File: asymptote.info, Node: Pens, Next: Transforms, Prev: Paths and guides, Up: Programming + +6.3 Pens +======== + +In `Asymptote', pens provide a context for the four basic drawing +commands (*note Drawing commands::). They are used to specify the +following drawing attributes: color, line type, line width, line cap, +line join, fill rule, text alignment, font, font size, pattern, +overwrite mode, and calligraphic transforms on the pen nib. The default +pen used by the drawing routines is called `currentpen'. This provides +the same functionality as the `MetaPost' command `pickup'. The +implicit initializer for pens is `defaultpen'. + + Pens may be added together with the nonassociative binary operator +`+'. This will add the colors of the two pens. All other non-default +attributes of the rightmost pen will override those of the leftmost +pen. Thus, one can obtain a yellow dashed pen by saying +`dashed+red+green' or `red+green+dashed' or `red+dashed+green'. The +binary operator `*' can be used to scale the color of a pen by a real +number, until it saturates with one or more color components equal to 1. + + * Colors are specified using one of the following colorspaces: + `pen gray(real g);' + This produces a grayscale color, where the intensity `g' lies + in the interval [0,1], with 0.0 denoting black and 1.0 + denoting white. + + `pen rgb(real r, real g, real b);' + This produces an RGB color, where each of the red, green, and + blue intensities `r', `g', `b', lies in the interval [0,1]. + + `pen cmyk(real c, real m, real y, real k);' + This produces a CMYK color, where each of the cyan, magenta, + yellow, and black intensities `c', `m', `y', `k', lies in the + interval [0,1]. + + `pen invisible;' + This special pen writes in invisible ink, but adjusts the + bounding box as if something had been drawn (like the + `\phantom' command in TeX). The function `bool + invisible(pen)' can be used to test whether a pen is + invisible. + + + The default color is `black'; this may be changed with the routine + `defaultpen(pen)'. The function `colorspace(pen p)' returns the + colorspace of pen `p' as a string (`"gray"', `"rgb"', `"cmyk"', or + `""'). + + The function `real[] colors(pen)' returns the color components of + a pen. The functions `pen gray(pen)', `pen rgb(pen)', and `pen + cmyk(pen)' return new pens obtained by converting their arguments + to the respective color spaces. The function + `colorless(pen=currentpen)' returns a copy of its argument with + the color attributes stripped (to avoid color mixing). + + A 6-character RGB hexidecimal string can be converted to a pen with + the routine pen rgb(string s); + A pen can be converted to a hexidecimal string with + + * string hex(pen p); + + Various shades and mixtures of the grayscale primary colors + `black' and `white', RGB primary colors `red', `green', and + `blue', and RGB secondary colors `cyan', `magenta', and `yellow' + are defined as named colors, along with the CMYK primary colors + `Cyan', `Magenta', `Yellow', and `Black', in the module `plain': + + + + The standard 140 RGB `X11' colors can be imported with the command import x11colors; + and the standard 68 CMYK TeX colors can be imported with the + command import texcolors; + Note that there is some overlap between these two standards and + the definitions of some colors (e.g. `Green') actually disagree. + + `Asymptote' also comes with a `asycolors.sty' `LaTeX' package that + defines to `LaTeX' CMYK versions of `Asymptote''s predefined + colors, so that they can be used directly within `LaTeX' strings. + Normally, such colors are passed to `LaTeX' via a pen argument; + however, to change the color of only a portion of a string, say + for a slide presentation, (*note slide::) it may be desirable to + specify the color directly to `LaTeX'. This file can be passed to + `LaTeX' with the `Asymptote' command usepackage("asycolors"); + + The structure `hsv' defined in `plain_pens.asy' may be used to + convert between HSV and RGB spaces, where the hue `h' is an angle + in [0,360) and the saturation `s' and value `v' lie in `[0,1]': pen p=hsv(180,0.5,0.75); + write(p); // ([default], red=0.375, green=0.75, blue=0.75) + hsv q=p; + write(q.h,q.s,q.v); // 180 0.5 0.75 + + * Line types are specified with the function `pen linetype(real[] a, + real offset=0, bool scale=true, bool adjust=true)', where `a' is + an array of real array numbers. The optional parameter `offset' + specifies where in the pattern to begin. The first number + specifies how far (if `scale' is `true', in units of the pen line + width; otherwise in `PostScript' units) to draw with the pen on, + the second number specifies how far to draw with the pen off, and + so on. If `adjust' is `true', these spacings are automatically + adjusted by `Asymptote' to fit the arclength of the path. Here are + the predefined line types: pen solid=linetype(new real[]); + pen dotted=linetype(new real[] {0,4}); + pen dashed=linetype(new real[] {8,8}); + pen longdashed=linetype(new real[] {24,8}); + pen dashdotted=linetype(new real[] {8,8,0,8}); + pen longdashdotted=linetype(new real[] {24,8,0,8}); + pen Dotted(pen p=currentpen) {return linetype(new real[] {0,3})+2*linewidth(p);} + pen Dotted=Dotted(); + + + + The default line type is `solid'; this may be changed with + `defaultpen(pen)'. The line type of a pen can be determined with + the functions `real[] linetype(pen p=currentpen)', `real + offset(pen p)', `bool scale(pen p)', and `bool adjust(pen p)'. + + * The pen line width is specified in `PostScript' units with `pen + linewidth(real)'. The default line width is 0.5 bp; this value may + be changed with `defaultpen(pen)'. The line width of a pen is + returned by `real linewidth(pen p=currentpen)'. For convenience, + in the module `plain_pens' we define void defaultpen(real w) {defaultpen(linewidth(w));} + pen operator +(pen p, real w) {return p+linewidth(w);} + pen operator +(real w, pen p) {return linewidth(w)+p;} + so that one may set the line width like this: defaultpen(2); + pen p=red+0.5; + + * A pen with a specific `PostScript' line cap is returned on calling + `linecap' with an integer argument: pen squarecap=linecap(0); + pen roundcap=linecap(1); + pen extendcap=linecap(2); + + The default line cap, `roundcap', may be changed with + `defaultpen(pen)'. The line cap of a pen is returned by `int + linecap(pen p=currentpen)'. + + * A pen with a specific `PostScript' join style is returned on + calling `linejoin' with an integer argument: pen miterjoin=linejoin(0); + pen roundjoin=linejoin(1); + pen beveljoin=linejoin(2); + + The default join style, `roundjoin', may be changed with + `defaultpen(pen)'.The join style of a pen is returned by `int + linejoin(pen p=currentpen)'. + + * A pen with a specific `PostScript' miter limit is returned by + calling `miterlimit(real)'. The default miterlimit, `10.0', may + be changed with `defaultpen(pen)'. The miter limit of a pen is + returned by `real miterlimit(pen p=currentpen)'. + + * A pen with a specific `PostScript' fill rule is returned on + calling `fillrule' with an integer argument: pen zerowinding=fillrule(0); + pen evenodd=fillrule(1); + + The fill rule, which identifies the algorithm used to determine the + insideness of a path or array of paths, only affects the `clip', + `fill', and `inside' functions. For the `zerowinding' fill rule, a + point `z' is outside the region bounded by a path if the number of + upward intersections of the path with the horizontal line + `z--z+infinity' minus the number of downward intersections is + zero. For the `evenodd' fill rule, `z' is considered to be outside + the region if the total number of such intersections is even. The + default fill rule, `zerowinding', may be changed with + `defaultpen(pen)'. The fill rule of a pen is returned by `int + fillrule(pen p=currentpen)'. + + * A pen with a specific text alignment setting is returned on + calling `basealign' with an integer argument: pen nobasealign=basealign(0); + pen basealign=basealign(1); + + The default setting, `nobasealign',which may be changed with + `defaultpen(pen)', causes the label alignment routines to use the + full label bounding box for alignment. In contrast, `basealign' + requests that the TeX baseline be respected. The base align + setting of a pen is returned by `int basealigin(pen p=currentpen)'. + + * The font size is specified in TeX points (1 pt = 1/72.27 inches) + with the function `pen fontsize(real size, real + lineskip=1.2*size)'. The default font size, 12pt, may be changed + with `defaultpen(pen)'. Nonstandard font sizes may require + inserting import fontsize; + at the beginning of the file (this requires the `type1cm' package + available from + + `http://www.ctan.org/tex-archive/macros/latex/contrib/type1cm/' + and included in recent `LaTeX' distributions). The font size and + line skip of a pen can be examined with the routines `real + fontsize(pen p=currentpen)' and `real lineskip(pen p=currentpen)', + respectively. + + * A pen using a specific `LaTeX' `NFSS' font is returned by calling + the function `pen font(string encoding, string family, string + series, string shape)'. The default setting, + `font("OT1","cmr","m","n")', corresponds to 12pt Computer Modern + Roman; this may be changed with `defaultpen(pen)'. The font + setting of a pen is returned by `string font(pen p=currentpen)'. + Support for standardized international characters is provided by + the `unicode' package (*note unicode::). + + Alternatively, one may select a fixed-size TeX font (on which + `fontsize' has no effect) like `"cmr12"' (12pt Computer Modern + Roman) or `"pcrr"' (Courier) using the function `pen font(string + name)'. An optional size argument can also be given to scale the + font to the requested size: `pen font(string name, real size)'. + + A nonstandard font command can be generated with `pen + fontcommand(string)'. + + A convenient interface to the following standard `PostScript' + fonts is also provided: pen AvantGarde(string series="m", string shape="n"); + pen Bookman(string series="m", string shape="n"); + pen Courier(string series="m", string shape="n"); + pen Helvetica(string series="m", string shape="n"); + pen NewCenturySchoolBook(string series="m", string shape="n"); + pen Palatino(string series="m", string shape="n"); + pen TimesRoman(string series="m", string shape="n"); + pen ZapfChancery(string series="m", string shape="n"); + pen Symbol(string series="m", string shape="n"); + pen ZapfDingbats(string series="m", string shape="n"); + + * The transparency of a pen can be changed with the command: pen opacity(real opacity=1, string blend="Compatible"); + The opacity can be varied from `0' (fully transparent) to the + default value of `1' (opaque), and `blend' specifies one of the + following foreground-background blending operations: "Compatible","Normal","Multiply","Screen","Overlay","SoftLight", + "HardLight","ColorDodge","ColorBurn","Darken","Lighten","Difference", + "Exclusion","Hue","Saturation","Color","Luminosity", + as described in + + `http://partners.adobe.com/public/developer/en/pdf/PDFReference16.pdf'. + Since `PostScript' does not support transparency, this feature is + only effective with the `-f pdf' output format option; other + formats can be produced from the resulting PDF file with the + `ImageMagick' `convert' program. Labels are always drawn with an + `opacity' of 1. A simple example of transparent filling is + provided in the example file `transparency.asy'. + + * `PostScript' commands within a `picture' may be used to create a + tiling pattern, identified by the string `name', for `fill' and + `draw' operations by adding it to the global `PostScript' frame + `currentpatterns', with optional left-bottom margin `lb' and + right-top margin `rt'. import patterns; + void add(string name, picture pic, pair lb=0, pair rt=0); + + To `fill' or `draw' using pattern `name', use the pen + `pattern("name")'. For example, rectangular tilings can be + constructed using the routines `picture tile(real Hx=5mm, real + Hy=0, pen p=currentpen, filltype filltype=NoFill)', `picture + checker(real Hx=5mm, real Hy=0, pen p=currentpen)', and `picture + brick(real Hx=5mm, real Hy=0, pen p=currentpen)' defined in + `patterns.asy': size(0,90); + import patterns; + + add("tile",tile()); + add("filledtilewithmargin",tile(6mm,4mm,red,Fill),(1mm,1mm),(1mm,1mm)); + add("checker",checker()); + add("brick",brick()); + + real s=2.5; + filldraw(unitcircle,pattern("tile")); + filldraw(shift(s,0)*unitcircle,pattern("filledtilewithmargin")); + filldraw(shift(2s,0)*unitcircle,pattern("checker")); + filldraw(shift(3s,0)*unitcircle,pattern("brick")); + + + + Hatch patterns can be generated with the routines `picture + hatch(real H=5mm, pair dir=NE, pen p=currentpen)', `picture + crosshatch(real H=5mm, pen p=currentpen)': size(0,100); + import patterns; + + add("hatch",hatch()); + add("hatchback",hatch(NW)); + add("crosshatch",crosshatch(3mm)); + + real s=1.25; + filldraw(unitsquare,pattern("hatch")); + filldraw(shift(s,0)*unitsquare,pattern("hatchback")); + filldraw(shift(2s,0)*unitsquare,pattern("crosshatch")); + + + + You may need to turn off aliasing in your `PostScript' viewer for + patterns to appear correctly. Custom patterns can easily be + constructed, following the examples in `patterns.asy'. The tiled + pattern can even incorporate shading (*note gradient shading::), + as illustrated in this example (not included in the manual because + not all printers support `PostScript' 3): size(0,100); + import patterns; + + real d=4mm; + picture tiling; + path square=scale(d)*unitsquare; + axialshade(tiling,square,white,(0,0),black,(d,d)); + fill(tiling,shift(d,d)*square,blue); + add("shadedtiling",tiling); + + filldraw(unitcircle,pattern("shadedtiling")); + + + + * One can specify a custom pen nib as an arbitrary polygonal path + with `pen makepen(path)'; this path represents the mark to be + drawn for paths containing a single point. This pen nib path can be + recovered from a pen with `path nib(pen)'. Unlike in `MetaPost', + the path need not be convex: + + size(200); + pen convex=makepen(scale(10)*polygon(8))+grey; + draw((1,0.4),convex); + draw((0,0)---(1,1)..(2,0)--cycle,convex); + + pen nonconvex=scale(10)* + makepen((0,0)--(0.25,-1)--(0.5,0.25)--(1,0)--(0.5,1.25)--cycle)+red; + draw((0.5,-1.5),nonconvex); + draw((0,-1.5)..(1,-0.5)..(2,-1.5),nonconvex); + + + + The value `nullpath' represents a circular pen nib (the default); + an elliptical pen can be achieved simply by multiplying the pen by + a transform: `yscale(2)*currentpen'. + + * One can prevent labels from overwriting one another by using the + pen attribute `overwrite', which takes a single argument: + + `Allow' + Allow labels to overwrite one another. This is the default + behaviour (unless overridden with `defaultpen(pen)'. + + `Suppress' + Suppress, with a warning, each label that would overwrite + another label. + + `SuppressQuiet' + Suppress, without warning, each label that would overwrite + another label. + + `Move' + Move a label that would overwrite another out of the way and + issue a warning. As this adjustment is during the final + output phase (in `PostScript' coordinates) it could result in + a larger figure than requested. + + `MoveQuiet' + Move a label that would overwrite another out of the way, + without warning. As this adjustment is during the final + output phase (in `PostScript' coordinates) it could result in + a larger figure than requested. + + + + The routine `defaultpen()' returns the current default pen +attributes. Calling the routine `resetdefaultpen()' resets all pen +default attributes to their initial values. + + +File: asymptote.info, Node: Transforms, Next: Frames and pictures, Prev: Pens, Up: Programming + +6.4 Transforms +============== + +`Asymptote' makes extensive use of affine transforms. A pair `(x,y)' is +transformed by the transform `t=(t.x,t.y,t.xx,t.xy,t.yx,t.yy)' to +`(x',y')', where +x' = t.x + t.xx * x + t.xy * y +y' = t.y + t.yx * x + t.yy * y + This is equivalent to the `PostScript' transformation `[t.xx t.yx t.xy +t.yy t.x t.y]'. + + Transforms can be applied to pairs, guides, paths, pens, strings, +transforms, frames, and pictures by multiplication (via the binary +operator `*') on the left (*note circle:: for an example). Transforms +can be composed with one another and inverted with the function +`transform inverse(transform t)'; they can also be raised to any +integer power with the `^' operator. + + The built-in transforms are: + +`transform identity();' + the identity transform; + +`transform shift(pair z);' + translates by the pair `z'; + +`transform shift(real x, real y);' + translates by the pair `(x,y)'; + +`transform xscale(real x);' + scales by `x' in the x direction; + +`transform yscale(real y);' + scales by `y' in the y direction; + +`transform scale(real s);' + scale by `s' in both x and y directions; + +`transform scale(real x, real y);' + scale by `x' in the x direction and by `y' in the y direction; + +`transform slant(real s);' + maps `(x,y)' -> `(x+s*y,y)'; + +`transform rotate(real angle, pair z=(0,0));' + rotates by `angle' in degrees about `z'; + +`transform reflect(pair a, pair b);' + reflects about the line `a--b'. + + The implicit initializer for transforms is `identity()'. The +routines `shift(transform t)' and `shiftless(transform t)' return the +transforms `(t.x,t.y,0,0,0,0)' and `(0,0,t.xx,t.xy,t.yx,t.yy)' +respectively. + + +File: asymptote.info, Node: Frames and pictures, Next: Files, Prev: Transforms, Up: Programming + +6.5 Frames and pictures +======================= + +`frame' + Frames are canvases for drawing in `PostScript' coordinates. While + working with frames directly is occasionally necessary for + constructing deferred drawing routines, pictures are usually more + convenient to work with. The implicit initializer for frames is + `newframe'. The function `bool empty(frame f)' returns `true' only + if the frame `f' is empty. A frame may be erased with the + `erase(frame)' routine. The functions `pair min(frame)' and `pair + max(frame)' return the (left,bottom) and (right,top) coordinates + of the frame bounding box, respectively. The contents of frame + `src' may be appended to frame `dest' with the command void add(frame dest, frame src); + or prepended with void prepend(frame dest, frame src); + A frame obtained by aligning frame `f' in the direction `align', + in a manner analogous to the `align' argument of `label' (*note + label::), is returned by frame align(frame f, pair align); + + To draw or fill a box or ellipse around a label or frame and + return the boundary as a path, use one of the predefined + `envelope' routines path box(frame f, Label L="", real xmargin=0, + real ymargin=xmargin, pen p=currentpen, + filltype filltype=NoFill, bool above=true); + path roundbox(frame f, Label L="", real xmargin=0, + real ymargin=xmargin, pen p=currentpen, + filltype filltype=NoFill, bool above=true); + path ellipse(frame f, Label L="", real xmargin=0, + real ymargin=xmargin, pen p=currentpen, + filltype filltype=NoFill, bool above=true); + +`picture' + Pictures are high-level structures (*note Structures::) defined in + the module `plain' that provide canvases for drawing in user + coordinates. The default picture is called `currentpicture'. A + new picture can be created like this: picture pic; + Anonymous pictures can be made by the expression `new picture'. + + The `size' routine specifies the dimensions of the desired picture: + + void size(picture pic=currentpicture, real x, real y=x, + bool keepAspect=Aspect); + + If the `x' and `y' sizes are both 0, user coordinates will be + interpreted as `PostScript' coordinates. In this case, the + transform mapping `pic' to the final output frame is `identity()'. + + If exactly one of `x' or `y' is 0, no size restriction is imposed + in that direction; it will be scaled the same as the other + direction. + + If `keepAspect' is set to `Aspect' or `true', the picture will be + scaled with its aspect ratio preserved such that the final width + is no more than `x' and the final height is no more than `y'. + + If `keepAspect' is set to `IgnoreAspect' or `false', the picture + will be scaled in both directions so that the final width is `x' + and the height is `y'. + + To make the user coordinates of picture `pic' represent multiples + of `x' units in the x direction and `y' units in the y direction, + use void unitsize(picture pic=currentpicture, real x, real y=x); + When nonzero, these `x' and `y' values override the corresponding + size parameters of picture `pic'. + + The routine void size(picture pic=currentpicture, real xsize, real ysize, + pair min, pair max); + forces the final picture scaling to map the user coordinates + `box(min,max)' to a region of width `xsize' and height `ysize' + (when these parameters are nonzero). + + Alternatively, calling the routine transform fixedscaling(picture pic=currentpicture, pair min, + pair max, pen p=nullpen, bool warn=false); + will cause picture `pic' to use a fixed scaling to map user + coordinates in `box(min,max)' to the (already specified) picture + size, taking account of the width of pen `p'. A warning will be + issued if the final picture exceeds the specified size. + + A picture `pic' can be fit to a frame and output to a file + `prefix'.`format' using image format `format' by calling the + `shipout' function: void shipout(string prefix=defaultfilename, picture pic=currentpicture, + orientation orientation=orientation, + string format="", bool wait=false, bool view=true, + string options="", string script="", + light light=currentlight, projection P=currentprojection) + The default output format, `PostScript', may be changed with the + `-f' or `-tex' command-line options. The `options', `script', and + `projection' parameters are only relevant for 3D pictures. If + `defaultfilename' is an empty string, the prefix `outprefix()' + will be used. + + A `shipout()' command is added implicitly at file exit if no + previous `shipout' commands have been executed. The default page + orientation is `Portrait'; this may be modified by changing the + variable `orientation'. To output in landscape mode, simply set + the variable `orientation=Landscape' or issue the command shipout(Landscape); + + To rotate the page by -90 degrees, use the orientation `Seascape'. The + orientation `UpsideDown' rotates the page by 180 degrees. + + A picture `pic' can be explicitly fit to a frame by calling frame pic.fit(real xsize=pic.xsize, real ysize=pic.ysize, + bool keepAspect=pic.keepAspect); + The default size and aspect ratio settings are those given to the + `size' command (which default to `0', `0', and `true', + respectively). The transformation that would currently be used to + fit a picture `pic' to a frame is returned by the member function + `pic.calculateTransform()'. + + In certain cases (e.g. 2D graphs) where only an approximate size + estimate for `pic' is available, the picture fitting routine frame pic.scale(real xsize=this.xsize, real ysize=this.ysize, + bool keepAspect=this.keepAspect); + (which scales the resulting frame, including labels and fixed-size + objects) will enforce perfect compliance with the requested size + specification, but should not normally be required. + + To draw a bounding box with margins around a picture, fit the + picture to a frame using the function frame bbox(picture pic=currentpicture, real xmargin=0, + real ymargin=xmargin, pen p=currentpen, + filltype filltype=NoFill); + Here `filltype' specifies one of the following fill types: + `FillDraw' + Fill the interior and draw the boundary. + + `FillDraw(real xmargin=0, real ymargin=xmargin, pen fillpen=nullpen,' + `pen drawpen=nullpen)' If `fillpen' is `nullpen', fill with + the drawing pen; otherwise fill with pen `fillpen'. If + `drawpen' is `nullpen', draw the boundary with `fillpen'; + otherwise with `drawpen'. An optional margin of `xmargin' and + `ymargin' can be specified. + + `Fill' + Fill the interior. + + `Fill(real xmargin=0, real ymargin=xmargin, pen p=nullpen)' + If `p' is `nullpen', fill with the drawing pen; otherwise + fill with pen `p'. An optional margin of `xmargin' and + `ymargin' can be specified. + + `NoFill' + Do not fill. + + `Draw' + Draw only the boundary. + + `Draw(real xmargin=0, real ymargin=xmargin, pen p=nullpen)' + If `p' is `nullpen', draw the boundary with the drawing pen; + otherwise draw with pen `p'. An optional margin of `xmargin' + and `ymargin' can be specified. + + `UnFill' + Clip the region. + + `UnFill(real xmargin=0, real ymargin=xmargin)' + Clip the region and surrounding margins `xmargin' and + `ymargin'. + + `RadialShade(pen penc, pen penr)' + Fill varying radially from `penc' at the center of the + bounding box to `penr' at the edge. + + `RadialShadeDraw(real xmargin=0, real ymargin=xmargin, pen penc,' + `pen penr, pen drawpen=nullpen)' Fill with RadialShade and + draw the boundary. + + + For example, to draw a bounding box around a picture with a 0.25 cm + margin and output the resulting frame, use the command: shipout(bbox(0.25cm)); + A `picture' may be fit to a frame with the background color pen + `p', using the function `bbox(p,Fill)'. + + The functions pair min(picture pic, user=false); + pair max(picture pic, user=false); + pair size(picture pic, user=false); + calculate the bounds that picture `pic' would have if it were + currently fit to a frame using its default size specification. If + `user' is `false' the returned value is in `PostScript' + coordinates, otherwise it is in user coordinates. + + The function pair point(picture pic=currentpicture, pair dir, bool user=true); + is a convenient way of determining the point on the bounding box + of `pic' in the direction `dir' relative to its center, ignoring + the contributions from fixed-size objects (such as labels and + arrowheads). If `user' is `true' the returned value is in user + coordinates, otherwise it is in `PostScript' coordinates. + + The function pair truepoint(picture pic=currentpicture, pair dir, bool user=true); + is identical to `point', except that it also accounts for + fixed-size objects, using the scaling transform that picture `pic' + would have if currently fit to a frame using its default size + specification. If `user' is `true' the returned value is in user + coordinates, otherwise it is in `PostScript' coordinates. + + Sometimes it is useful to draw objects on separate pictures and + add one picture to another using the `add' function: void add(picture src, bool group=true, + filltype filltype=NoFill, bool above=true); + void add(picture dest, picture src, bool group=true, + filltype filltype=NoFill, bool above=true); + The first example adds `src' to `currentpicture'; the second one + adds `src' to `dest'. The `group' option specifies whether or not + the graphical user interface `xasy' should treat all of the + elements of `src' as a single entity (*note GUI::), `filltype' + requests optional background filling or clipping, and `above' + specifies whether to add `src' above or below existing objects. + + There are also routines to add a picture or frame `src' specified + in postscript coordinates to another picture `dest' (or + `currentpicture') about the user coordinate `position': void add(picture src, pair position, bool group=true, + filltype filltype=NoFill, bool above=true); + void add(picture dest, picture src, pair position, + bool group=true, filltype filltype=NoFill, bool above=true); + void add(picture dest=currentpicture, frame src, pair position=0, + bool group=true, filltype filltype=NoFill, bool above=true); + void add(picture dest=currentpicture, frame src, pair position, + pair align, bool group=true, filltype filltype=NoFill, + bool above=true); + + The optional `align' argument in the last form specifies a + direction to use for aligning the frame, in a manner analogous to + the `align' argument of `label' (*note label::). However, one key + difference is that when `align' is not specified, labels are + centered, whereas frames and pictures are aligned so that their + origin is at `position'. Illustrations of frame alignment can be + found in the examples *note errorbars:: and *note image::. If you + want to align three or more subpictures, group them two at a time: + + picture pic1; + real size=50; + size(pic1,size); + fill(pic1,(0,0)--(50,100)--(100,0)--cycle,red); + + picture pic2; + size(pic2,size); + fill(pic2,unitcircle,green); + + picture pic3; + size(pic3,size); + fill(pic3,unitsquare,blue); + + picture pic; + add(pic,pic1.fit(),(0,0),N); + add(pic,pic2.fit(),(0,0),10S); + + add(pic.fit(),(0,0),N); + add(pic3.fit(),(0,0),10S); + + + + Alternatively, one can use `attach' to automatically increase the + size of picture `dest' to accommodate adding a frame `src' about + the user coordinate `position': void attach(picture dest=currentpicture, frame src, + pair position=0, bool group=true, + filltype filltype=NoFill, bool above=true); + void attach(picture dest=currentpicture, frame src, + pair position, pair align, bool group=true, + filltype filltype=NoFill, bool above=true); + + To erase the contents of a picture (but not the size + specification), use the function void erase(picture pic=currentpicture); + + To save a snapshot of `currentpicture', `currentpen', and + `currentprojection', use the function `save()'. + + To restore a snapshot of `currentpicture', `currentpen', and + `currentprojection', use the function `restore()'. + + Many further examples of picture and frame operations are provided + in the base module `plain'. + + It is possible to insert verbatim `PostScript' commands in a + picture with one of the routines void postscript(picture pic=currentpicture, string s); + void postscript(picture pic=currentpicture, string s, pair min, + pair max) + Here `min' and `max' can be used to specify explicit bounds + associated with the resulting `PostScript' code. + + Verbatim TeX commands can be inserted in the intermediate `LaTeX' + output file with one of the functions void tex(picture pic=currentpicture, string s); + void tex(picture pic=currentpicture, string s, pair min, pair max) + Here `min' and `max' can be used to specify explicit bounds + associated with the resulting TeX code. + + To issue a global TeX command (such as a TeX macro definition) in + the TeX preamble (valid for the remainder of the top-level module) + use: void texpreamble(string s); + + The TeX environment can be reset to its initial state, clearing all + macro definitions, with the function void texreset(); + + The routine void usepackage(string s, string options=""); + provides a convenient abbreviation for texpreamble("\usepackage["+options+"]{"+s+"}"); + that can be used for importing `LaTeX' packages. + + + +File: asymptote.info, Node: Files, Next: Variable initializers, Prev: Frames and pictures, Up: Programming + +6.6 Files +========= + +`Asymptote' can read and write text files (including comma-separated +value) files and portable XDR (External Data Representation) binary +files. + + An input file must first be opened with +input(string name="", bool check=true, string comment="#", string mode=""); + reading is then done by assignment: +file fin=input("test.txt"); +real a=fin; + + If the optional boolean argument `check' is `false', no check will +be made that the file exists. If the file does not exist or is not +readable, the function `bool error(file)' will return `true'. The +first character of the string `comment' specifies a comment character. +If this character is encountered in a data file, the remainder of the +line is ignored. When reading strings, a comment character followed +immediately by another comment character is treated as a single literal +comment character. + + One can change the current working directory for read operations to +the contents of the string `s' with the function `string cd(string s)', +which returns the new working directory. If `string s' is empty, the +path is reset to the value it had at program startup. + + When reading pairs, the enclosing parenthesis are optional. Strings +are also read by assignment, by reading characters up to but not +including a newline. In addition, `Asymptote' provides the function +`string getc(file)' to read the next character (treating the comment +character as an ordinary character) and return it as a string. + + A file named `name' can be open for output with +file output(string name="", bool update=false, string comment="#", string mode=""); + If `update=false', any existing data in the file will be erased and +only write operations can be used on the file. If `update=true', any +existing data will be preserved, the position will be set to the +end-of-file, and both reading and writing operations will be enabled. +For security reasons, writing to files in directories other than the +current directory is allowed only if the `-globalwrite' (or `-nosafe') +command-line option is specified. The function `string mktemp(string +s)' may be used to create and return the name of a unique temporary +file in the current directory based on the string `s'. + + There are two special files: `stdin', which reads from the keyboard, +and `stdout', which writes to the terminal. The implicit initializer +for files is `null'. + + Data of a built-in type `T' can be written to an output file by +calling one of the functions +write(string s="", T x, suffix suffix=endl ... T[]); +write(file file, string s="", T x, suffix suffix=none ... T[]); +write(file file=stdout, string s="", explicit T[] x ... T[][]); +write(file file=stdout, T[][]); +write(file file=stdout, T[][][]); +write(suffix suffix=endl); +write(file file, suffix suffix=none); + If `file' is not specified, `stdout' is used and terminated by default +with a newline. If specified, the optional identifying string `s' is +written before the data `x'. An arbitrary number of data values may be +listed when writing scalars or one-dimensional arrays. The `suffix' may +be one of the following: `none' (do nothing), `flush' (output buffered +data), `endl' (terminate with a newline and flush), `newl' (terminate +with a newline), `DOSendl' (terminate with a DOS newline and flush), +`DOSnewl' (terminate with a DOS newline), `tab' (terminate with a tab), +or `comma' (terminate with a comma). Here are some simple examples of +data output: +file fout=output("test.txt"); +write(fout,1); // Writes "1" +write(fout); // Writes a new line +write(fout,"List: ",1,2,3); // Writes "List: 1 2 3" + A file may be opened with `mode="xdr"', to read or write double +precision (64-bit) reals and single precision (32-bit) integers in Sun +Microsystem's XDR (External Data Representation) portable binary format +(available on all `UNIX' platforms). Alternatively, a file may also be +opened with `mode="binary"' to read or write double precision reals and +single precision integers in the native (nonportable) machine binary +format. The virtual member functions `file singlereal(bool b=true)' +and `file singleint(bool b=true)' be used to change the precision of +real and integer I/O operations, respectively, for an XDR or binary +file `f'. Similarly, the function `file signedint(bool b=true)' can be +used to modify the signedness of integer reads and writes for an XDR or +binary file `f'. + + The virtual members `name', `mode', `singlereal', `singleint', and +`signedint' may be used to query the respective parameters for a given +file. + + One can test a file for end-of-file with the boolean function +`eof(file)', end-of-line with `eol(file)', and for I/O errors with +`error(file)'. One can flush the output buffers with `flush(file)', +clear a previous I/O error with `clear(file)', and close the file with +`close(file)'. The function `int precision(file file=stdout, int +digits=0)' sets the number of digits of output precision for `file' to +`digits', provided `digits' is nonzero, and returns the previous +precision setting. The function `int tell(file)' returns the current +position in a file relative to the beginning. The routine `seek(file +file, int pos)' can be used to change this position, where a negative +value for the position `pos' is interpreted as relative to the +end-of-file. For example, one can rewind a file `file' with the command +`seek(file,0)' and position to the final character in the file with +`seek(file,-1)'. The command `seekeof(file)' sets the position to the +end of the file. + + Assigning `settings.scroll=n' for a positive integer `n' requests a +pause after every `n' output lines to `stdout'. One may then press +`Enter' to continue to the next `n' output lines, `s' followed by +`Enter' to scroll without further interruption, or `q' followed by +`Enter' to quit the current output operation. If `n' is negative, the +output scrolls a page at a time (i.e. by one less than the current +number of display lines). The default value, `settings.scroll=0', +specifies continuous scrolling. + + The routines +string getstring(string name="", string default="", string prompt="", + bool store=true); +int getint(string name="", int default=0, string prompt="", + bool store=true); +real getreal(string name="", real default=0, string prompt="", + bool store=true); +pair getpair(string name="", pair default=0, string prompt="", + bool store=true); +triple gettriple(string name="", triple default=(0,0,0), string prompt="", + bool store=true); + defined in the module `plain' may be used to prompt for a value from +`stdin' using the GNU `readline' library. If `store=true', the history +of values for `name' is stored in the file `".asy_history_"+name' +(*note history::). The most recent value in the history will be used to +provide a default value for subsequent runs. The default value +(initially `default') is displayed after `prompt'. These functions are +based on the internal routines +string readline(string prompt="", string name="", bool tabcompletion=false); +void saveline(string name, string value, bool store=true); + Here, `readline' prompts the user with the default value formatted +according to `prompt', while `saveline' is used to save the string +`value' in a local history named `name', optionally storing the local +history in a file `".asy_history_"+name'. + + The routine `history(string name, int n=1)' can be used to look up +the `n' most recent values (or all values up to `historylines' if +`n=0') entered for string `name'. The routine `history(int n=0)' +returns the interactive history. For example, +write(output("transcript.asy"),history()); + outputs the interactive history to the file `transcript.asy'. + + The function `int delete(string s)' deletes the file named by the +string `s'. Unless the `-globalwrite' (or `-nosafe') option is enabled, +the file must reside in the current directory. The function `int +rename(string from, string to)' may be used to rename file `from' to +file `to'. Unless the `-globalwrite' (or `-nosafe') option is enabled, +this operation is restricted to the current directory. The functions +int convert(string args="", string file="", string format=""); +int animate(string args="", string file="", string format=""); + call the `ImageMagick' commands `convert' and `animate', respectively, +with the arguments `args' and the file name constructed from the +strings `file' and `format'. + + +File: asymptote.info, Node: Variable initializers, Next: Structures, Prev: Files, Up: Programming + +6.7 Variable initializers +========================= + +A variable can be assigned a value when it is declared, as in `int +x=3;' where the variable `x' is assigned the value `3'. As well as +literal constants such as `3', arbitary expressions can be used as +initializers, as in `real x=2*sin(pi/2);'. + + A variable is not added to the namespace until after the initializer +is evaluated, so for example, in +int x=2; +int x=5*x; + the `x' in the initializer on the second line refers to the variable +`x' declared on the first line. The second line, then, declares a +variable `x' shadowing the original `x' and initializes it to the value +`10'. + + Variables of most types can be declared without an explicit +initializer and they will be initialized by the default initializer of +that type: + + * Variables of the numeric types `int', `real', and `pair' are all + initialized to zero; variables of type `triple' are initialized to + `O=(0,0,0)'. + + * `boolean' variables are initialized to `false'. + + * `string' variables are initialized to the empty string. + + * `transform' variables are initialized to the identity + transformation. + + * `path' and `guide' variables are initialized to `nullpath'. + + * `pen' variables are initialized to the default pen. + + * `frame' and `picture' variables are initialized to empty frames + and pictures, respectively. + + * `file' variables are initialized to `null'. + + The default initializers for user-defined array, structure, and +function types are explained in their respective sections. Some types, +such as `code', do not have default initializers. When a variable of +such a type is introduced, the user must initialize it by explicitly +giving it a value. + + The default initializer for any type `T' can be redeclared by +defining the function `T operator init()'. For instance, `int' +variables are usually initialized to zero, but in +int operator init() { + return 3; +} +int y; + +the variable `y' is initialized to `3'. This example was given for +illustrative purposes; redeclaring the initializers of built-in types +is not recommended. Typically, `operator init' is used to define +sensible defaults for user-defined types. + + The special type `var' may be used to infer the type of a variable +from its initializer. If the initializer is an expression of a unique +type, then the variable will be defined with that type. For instance, +var x=5; +var y=4.3; +var reddash=red+dashed; + is equivalent to +int x=5; +real y=4.3; +pen reddash=red+dashed; + + `var' may also be used with the extended `for' loop syntax. + +int[] a = {1,2,3}; +for (var x : a) + write(x); + + +File: asymptote.info, Node: Structures, Next: Operators, Prev: Variable initializers, Up: Programming + +6.8 Structures +============== + +Users may also define their own data types as structures, along with +user-defined operators, much as in C++. By default, structure members +are `public' (may be read and modified anywhere in the code), but may be +optionally declared `restricted' (readable anywhere but writeable only +inside the structure where they are defined) or `private' (readable and +writable only inside the structure). In a structure definition, the +keyword `this' can be used as an expression to refer to the enclosing +structure. Any code at the top-level scope within the structure is +executed on initialization. + + Variables hold references to structures. That is, in the example: +struct T { + int x; +} + +T foo=new T; +T bar=foo; +bar.x=5; + + The variable `foo' holds a reference to an instance of the structure +`T'. When `bar' is assigned the value of `foo', it too now holds a +reference to the same instance as `foo' does. The assignment `bar.x=5' +changes the value of the field `x' in that instance, so that `foo.x' +will also be equal to `5'. + + The expression `new T' creates a new instance of the structure `T' +and returns a reference to that instance. In creating the new +instance, any code in the body of the record definition is executed. +For example: +int Tcount=0; +struct T { + int x; + ++Tcount; +} + +T foo=new T; + + Here, the expression `new T' will produce a new instance of the +class, but will also cause `Tcount' to be incremented, so that it keeps +track of the number of instances produced. + + The expression `null' can be cast to any structure type to yield a +null reference, a reference that does not actually refer to any +instance of the structure. Trying to use a field of a null reference +will cause an error. + + The function `bool alias(T,T)' checks to see if two structure +references refer to the same instance of the structure (or both to +`null'). For example, in the example code at the start of the section, +`alias(foo,bar)' would return true, but `alias(foo,new T)' would return +false, as `new T' creates a new instance of the structure `T'. The +boolean operators `==' and `!=' are by default equivalent to `alias' and +`!alias' respectively, but may be overwritten for a particular type +(for example, to do a deep comparison). + + After the definition of a structure `T', a variable of type `T' is +initialized to a new instance (`new T') by default. During the +definition of the structure, however, variables of type `T' are +initialized to `null' by default. This special behaviour is to avoid +infinite recursion of creating new instances in code such as +struct tree { + int value; + tree left; + tree right; +} + + Here is a simple example that illustrates the use of structures: +struct S { + real a=1; + real f(real a) {return a+this.a;} +} + +S s; // Initializes s with new S; + +write(s.f(2)); // Outputs 3 + +S operator + (S s1, S s2) +{ + S result; + result.a=s1.a+s2.a; + return result; +} + +write((s+s).f(0)); // Outputs 2 + + It is often convenient to have functions that construct new +instances of a structure. Say we have a `Person' structure: +struct Person { + string firstname; + string lastname; +} + +Person joe=new Person; +joe.firstname="Joe"; +joe.lastname="Jones"; + Creating a new Person is a chore; it takes three lines to create a new +instance and to initialize its fields (that's still considerably less +effort than creating a new person in real life, though). + + We can reduce the work by defining a constructor function +`Person(string,string)': +struct Person { + string firstname; + string lastname; + + static Person Person(string firstname, string lastname) { + Person p=new Person; + p.firstname=firstname; + p.lastname=lastname; + return p; + } +} + +Person joe=Person.Person("Joe", "Jones"); + + While it is now easier than before to create a new instance, we still +have to refer to the constructor by the qualified name `Person.Person'. +If we add the line +from Person unravel Person; + immediately after the structure definition, then the constructor can +be used without qualification: `Person joe=Person("Joe", "Jones");'. + + The constructor is now easy to use, but it is quite a hassle to +define. If you write a lot of constructors, you will find that you are +repeating a lot of code in each of them. Fortunately, your friendly +neighbourhood Asymptote developers have devised a way to automate much +of the process. + + If, in the body of a structure, Asymptote encounters the definition +of a function of the form `void operator init(ARGS)', it implicitly +defines a constructor function of the arguments `ARGS' that uses the +`void operator init' function to initialize a new instance of the +structure. That is, it essentially defines the following constructor +(assuming the structure is called `Foo'): + + static Foo Foo(ARGS) { + Foo instance=new Foo; + instance.operator init(ARGS); + return instance; + } + + This constructor is also implicitly copied to the enclosing scope +after the end of the structure definition, so that it can used +subsequently without qualifying it by the structure name. Our `Person' +example can thus be implemented as: +struct Person { + string firstname; + string lastname; + + void operator init(string firstname, string lastname) { + this.firstname=firstname; + this.lastname=lastname; + } +} + +Person joe=Person("Joe", "Jones"); + + The use of `operator init' to implicitly define constructors should +not be confused with its use to define default values for variables +(*note Variable initializers::). Indeed, in the first case, the return +type of the `operator init' must be `void' while in the second, it must +be the (non-`void') type of the variable. + + The function `cputime()' returns a structure `cputime' with +cumulative CPU times broken down into the fields `parent.user', +`parent.system', `child.user', and `child.system'. For convenience, the +incremental fields `change.user' and `change.system' indicate the +change in the corresponding total parent and child CPU times since the +last call to `cputime()'. The function +void write(file file=stdout, string s="", cputime c, + string format=cputimeformat, suffix suffix=none); + displays the incremental user cputime followed by "u", the incremental +system cputime followed by "s", the total user cputime followed by "U", +and the total system cputime followed by "S". + + Much like in C++, casting (*note Casts::) provides for an elegant +implementation of structure inheritance, including virtual functions: +struct parent { + real x; + void operator init(int x) {this.x=x;} + void virtual(int) {write(0);} + void f() {virtual(1);} +} + +void write(parent p) {write(p.x);} + +struct child { + parent parent; + real y=3; + void operator init(int x) {parent.operator init(x);} + void virtual(int x) {write(x);} + parent.virtual=virtual; + void f()=parent.f; +} + +parent operator cast(child child) {return child.parent;} + +parent p=parent(1); +child c=child(2); + +write(c); // Outputs 2; + +p.f(); // Outputs 0; +c.f(); // Outputs 1; + +write(c.parent.x); // Outputs 2; +write(c.y); // Outputs 3; + + For further examples of structures, see `Legend' and `picture' in +the `Asymptote' base module `plain'. + + +File: asymptote.info, Node: Operators, Next: Implicit scaling, Prev: Structures, Up: Programming + +6.9 Operators +============= + +* Menu: + +* Arithmetic & logical:: Basic mathematical operators +* Self & prefix operators:: Increment and decrement +* User-defined operators:: Overloading operators + + +File: asymptote.info, Node: Arithmetic & logical, Next: Self & prefix operators, Up: Operators + +6.9.1 Arithmetic & logical operators +------------------------------------ + +`Asymptote' uses the standard binary arithmetic operators. However, +when one integer is divided by another, both arguments are converted to +real values before dividing and a real quotient is returned (since this +is usually what is intended). The function `int quotient(int x, int y)' +returns the greatest integer less than or equal to `x/y'. In all other +cases both operands are promoted to the same type, which will also be +the type of the result: +`+' + addition + +`-' + subtraction + +`*' + multiplication + +`/' + division + +`%' + modulo; the result always has the same sign as the divisor. In + particular, this makes `q*quotient(p,q)+p%q == p' for all integers + `p' and nonzero integers `q'. + +`^' + power; if the exponent (second argument) is an int, recursive + multiplication is used; otherwise, logarithms and exponentials are + used (`**' is a synonym for `^'). + + + The usual boolean operators are also defined: +`==' + equals + +`!=' + not equals + +`<' + less than + +`<=' + less than or equals + +`>=' + greater than or equals + +`>' + greater than + +`&&' + and (with conditional evaluation of right-hand argument) + +`&' + and + +`||' + or (with conditional evaluation of right-hand argument) + +`|' + or + +`^' + xor + +`!' + not + + `Asymptote' also supports the C-like conditional syntax: +bool positive=(pi > 0) ? true : false; + + The function `T interp(T a, T b, real t)' returns `(1-t)*a+t*b' for +nonintegral built-in arithmetic types `T'. If `a' and `b' are pens, +they are first promoted to the same color space. + + `Asymptote' also defines bitwise functions `int AND(int,int)', `int +OR(int,int)', `int XOR(int,int)', `int NOT(int)', `int CLZ(int)' (count +leading zeros), and `int CTZ(int)' (count trailing zeros). + + +File: asymptote.info, Node: Self & prefix operators, Next: User-defined operators, Prev: Arithmetic & logical, Up: Operators + +6.9.2 Self & prefix operators +----------------------------- + +As in C, each of the arithmetic operators `+', `-', `*', `/', `%', and +`^' can be used as a self operator. The prefix operators `++' +(increment by one) and `--' (decrement by one) are also defined. For +example, +int i=1; +i += 2; +int j=++i; + +is equivalent to the code +int i=1; +i=i+2; +int j=i=i+1; + + However, postfix operators like `i++' and `i--' are not defined +(because of the inherent ambiguities that would arise with the `--' +path-joining operator). In the rare instances where `i++' and `i--' are +really needed, one can substitute the expressions `(++i-1)' and +`(--i+1)', respectively. + + +File: asymptote.info, Node: User-defined operators, Prev: Self & prefix operators, Up: Operators + +6.9.3 User-defined operators +---------------------------- + +The following symbols may be used with `operator' to define or redefine +operators on structures and built-in types: +- + * / % ^ ! < > == != <= >= & | ^^ .. :: -- --- ++ +<< >> $ $$ @ @@ + The operators on the second line have precedence one higher than the +boolean operators `<', `>', `<=', and `>='. + + Guide operators like `..' may be overloaded, say, to write a user +function that produces a new guide from a given guide: +guide dots(... guide[] g)=operator ..; + +guide operator ..(... guide[] g) { + guide G; + if(g.length > 0) { + write(g[0]); + G=g[0]; + } + for(int i=1; i < g.length; ++i) { + write(g[i]); + write(); + G=dots(G,g[i]); + } + return G; +} + +guide g=(0,0){up}..{SW}(100,100){NE}..{curl 3}(50,50)..(10,10); +write("g=",g); + + +File: asymptote.info, Node: Implicit scaling, Next: Functions, Prev: Operators, Up: Programming + +6.10 Implicit scaling +===================== + +If a numeric literal is in front of certain types of expressions, then +the two are multiplied: +int x=2; +real y=2.0; +real cm=72/2.540005; + +write(3x); +write(2.5x); +write(3y); +write(-1.602e-19 y); +write(0.5(x,y)); +write(2x^2); +write(3x+2y); +write(3(x+2y)); +write(3sin(x)); +write(3(sin(x))^2); +write(10cm); + + This produces the output +6 +5 +6 +-3.204e-19 +(1,1) +8 +10 +18 +2.72789228047704 +2.48046543129542 +283.464008929116 + + +File: asymptote.info, Node: Functions, Next: Arrays, Prev: Implicit scaling, Up: Programming + +6.11 Functions +============== + +`Asymptote' functions are treated as variables with a signature +(non-function variables have null signatures). Variables with the same +name are allowed, so long as they have distinct signatures. + + Functions arguments are passed by value. To pass an argument by +reference, simply enclose it in a structure (*note Structures::). + + Here are some significant features of `Asymptote' functions: + + 1. Variables with signatures (functions) and without signatures + (nonfunction variables) are distinct: int x, x(); + x=5; + x=new int() {return 17;}; + x=x(); // calls x() and puts the result, 17, in the scalar x + + 2. Traditional function definitions are allowed: int sqr(int x) + { + return x*x; + } + sqr=null; // but the function is still just a variable. + + 3. Casting can be used to resolve ambiguities: int a, a(), b, b(); // Valid: creates four variables. + a=b; // Invalid: assignment is ambiguous. + a=(int) b; // Valid: resolves ambiguity. + (int) (a=b); // Valid: resolves ambiguity. + (int) a=b; // Invalid: cast expressions cannot be L-values. + + int c(); + c=a; // Valid: only one possible assignment. + + 4. Anonymous (so-called "high-order") functions are also allowed: typedef int intop(int); + intop adder(int m) + { + return new int(int n) {return m+n;}; + } + intop addby7=adder(7); + write(addby7(1)); // Writes 8. + + 5. One may redefine a function `f', even for calls to `f' in + previously declared functions, by assigning another (anonymous or + named) function to it. However, if `f' is overloaded by a new + function definition, previous calls will still access the original + version of `f', as illustrated in this example: void f() { + write("hi"); + } + + void g() { + f(); + } + + g(); // writes "hi" + + f=new void() {write("bye");}; + + g(); // writes "bye" + + void f() {write("overloaded");}; + + f(); // writes "overloaded" + g(); // writes "bye" + + 6. Anonymous functions can be used to redefine a function variable + that has been declared (and implicitly initialized to the null + function) but not yet explicitly defined: void f(bool b); + + void g(bool b) { + if(b) f(b); + else write(b); + } + + f=new void(bool b) { + write(b); + g(false); + }; + + g(true); // Writes true, then writes false. + + + `Asymptote' is the only language we know of that treats functions as +variables, but allows overloading by distinguishing variables based on +their signatures. + + Functions are allowed to call themselves recursively. As in C++, +infinite nested recursion will generate a stack overflow (reported as a +segmentation fault, unless a fully working version of the GNU library +`libsigsegv' (e.g. 2.4 or later) is installed at configuration time). + +* Menu: + +* Default arguments:: Default values can appear anywhere +* Named arguments:: Assigning function arguments by keyword +* Rest arguments:: Functions with a variable number of arguments +* Mathematical functions:: Standard libm functions + + +File: asymptote.info, Node: Default arguments, Next: Named arguments, Up: Functions + +6.11.1 Default arguments +------------------------ + +`Asymptote' supports a more flexible mechanism for default function +arguments than C++: they may appear anywhere in the function prototype. +Because certain data types are implicitly cast to more sophisticated +types (*note Casts::) one can often avoid ambiguities by ordering +function arguments from the simplest to the most complicated. For +example, given +real f(int a=1, real b=0) {return a+b;} + then `f(1)' returns 1.0, but `f(1.0)' returns 2.0. + + The value of a default argument is determined by evaluating the +given `Asymptote' expression in the scope where the called function is +defined. + + +File: asymptote.info, Node: Named arguments, Next: Rest arguments, Prev: Default arguments, Up: Functions + +6.11.2 Named arguments +---------------------- + +It is sometimes difficult to remember the order in which arguments +appear in a function declaration. Named (keyword) arguments make calling +functions with multiple arguments easier. Unlike in the C and C++ +languages, an assignment in a function argument is interpreted as an +assignment to a parameter of the same name in the function signature, +_not within the local scope_. The command-line option `-d' may be used +to check `Asymptote' code for cases where a named argument may be +mistaken for a local assignment. + + When matching arguments to signatures, first all of the keywords are +matched, then the arguments without names are matched against the +unmatched formals as usual. For example, +int f(int x, int y) { + return 10x+y; +} +write(f(4,x=3)); + outputs 34, as `x' is already matched when we try to match the unnamed +argument `4', so it gets matched to the next item, `y'. + + For the rare occasions where it is desirable to assign a value to +local variable within a function argument (generally _not_ a good +programming practice), simply enclose the assignment in parentheses. +For example, given the definition of `f' in the previous example, +int x; +write(f(4,(x=3))); + is equivalent to the statements +int x; +x=3; +write(f(4,3)); + and outputs 43. + + Parameters can be specified as "keyword-only" by putting `keyword' +immediately before the parameter name, as in `int f(int keyword x)' or +`int f(int keyword x=77)'. This forces the caller of the function to +use a named argument to give a value for this parameter. That is, +`f(x=42)' is legal, but `f(25)' is not. Keyword-only parameters must +be listed after normal parameters in a function definition. + + As a technical detail, we point out that, since variables of the same +name but different signatures are allowed in the same scope, the code +int f(int x, int x()) { + return x+x(); +} +int seven() {return 7;} + is legal in `Asymptote', with `f(2,seven)' returning 9. A named +argument matches the first unmatched formal of the same name, so +`f(x=2,x=seven)' is an equivalent call, but `f(x=seven,2)' is not, as +the first argument is matched to the first formal, and `int ()' cannot +be implicitly cast to `int'. Default arguments do not affect which +formal a named argument is matched to, so if `f' were defined as +int f(int x=3, int x()) { + return x+x(); +} + then `f(x=seven)' would be illegal, even though `f(seven)' obviously +would be allowed. + + +File: asymptote.info, Node: Rest arguments, Next: Mathematical functions, Prev: Named arguments, Up: Functions + +6.11.3 Rest arguments +--------------------- + +Rest arguments allow one to write functions that take a variable number +of arguments: +// This function sums its arguments. +int sum(... int[] nums) { + int total=0; + for(int i=0; i < nums.length; ++i) + total += nums[i]; + return total; +} + +sum(1,2,3,4); // returns 10 +sum(); // returns 0 + +// This function subtracts subsequent arguments from the first. +int subtract(int start ... int[] subs) { + for(int i=0; i < subs.length; ++i) + start -= subs[i]; + return start; +} + +subtract(10,1,2); // returns 7 +subtract(10); // returns 10 +subtract(); // illegal + + Putting an argument into a rest array is called _packing_. One can +give an explicit list of arguments for the rest argument, so `subtract' +could alternatively be implemented as +int subtract(int start ... int[] subs) { + return start - sum(... subs); +} + + One can even combine normal arguments with rest arguments: +sum(1,2,3 ... new int[] {4,5,6}); // returns 21 + This builds a new six-element array that is passed to `sum' as `nums'. +The opposite operation, _unpacking_, is not allowed: +subtract(... new int[] {10, 1, 2}); + is illegal, as the start formal is not matched. + + If no arguments are packed, then a zero-length array (as opposed to +`null') is bound to the rest parameter. Note that default arguments are +ignored for rest formals and the rest argument is not bound to a +keyword. + + In some cases, keyword-only parameters are helpful to avoid +arguments intended for the rest parameter to be assigned to other +parameters. For example, here the use of `keyword' is to avoid +`pnorm(1.0,2.0,0.3)' matching `1.0' to `p'. +real pnorm(real keyword p=2.0 ... real[] v) +{ + return sum(v^p)^(1/p); +} + + The overloading resolution in `Asymptote' is similar to the function +matching rules used in C++. Every argument match is given a score. +Exact matches score better than matches with casting, and matches with +formals (regardless of casting) score better than packing an argument +into the rest array. A candidate is maximal if all of the arguments +score as well in it as with any other candidate. If there is one +unique maximal candidate, it is chosen; otherwise, there is an +ambiguity error. + +int f(path g); +int f(guide g); +f((0,0)--(100,100)); // matches the second; the argument is a guide + +int g(int x, real y); +int g(real x, int x); + +g(3,4); // ambiguous; the first candidate is better for the first argument, + // but the second candidate is better for the second argument + +int h(... int[] rest); +int h(real x ... int[] rest); + +h(1,2); // the second definition matches, even though there is a cast, + // because casting is preferred over packing + +int i(int x ... int[] rest); +int i(real x, real y ... int[] rest); + +i(3,4); // ambiguous; the first candidate is better for the first argument, + // but the second candidate is better for the second one + + +File: asymptote.info, Node: Mathematical functions, Prev: Rest arguments, Up: Functions + +6.11.4 Mathematical functions +----------------------------- + +`Asymptote' has built-in versions of the standard `libm' mathematical +real(real) functions `sin', `cos', `tan', `asin', `acos', `atan', +`exp', `log', `pow10', `log10', `sinh', `cosh', `tanh', `asinh', +`acosh', `atanh', `sqrt', `cbrt', `fabs', `expm1', `log1p', as well as +the identity function `identity'. `Asymptote' also defines the order +`n' Bessel functions of the first kind `Jn(int n, real)' and second kind +`Yn(int n, real)', as well as the gamma function `gamma', the error +function `erf', and the complementary error function `erfc'. The +standard real(real, real) functions `atan2', `hypot', `fmod', +`remainder' are also included. + + The functions `degrees(real radians)' and `radians(real degrees)' +can be used to convert between radians and degrees. The function +`Degrees(real radians)' returns the angle in degrees in the interval +[0,360). For convenience, `Asymptote' defines variants `Sin', `Cos', +`Tan', `aSin', `aCos', and `aTan' of the standard trigonometric +functions that use degrees rather than radians. We also define complex +versions of the `sqrt', `sin', `cos', `exp', `log', and `gamma' +functions. + + The functions `floor', `ceil', and `round' differ from their usual +definitions in that they all return an int value rather than a real +(since that is normally what one wants). The functions `Floor', +`Ceil', and `Round' are respectively similar, except that if the result +cannot be converted to a valid int, they return `intMax' for positive +arguments and `intMin' for negative arguments, rather than generating +an integer overflow. We also define a function `sgn', which returns +the sign of its real argument as an integer (-1, 0, or 1). + + There is an `abs(int)' function, as well as an `abs(real)' function +(equivalent to `fabs(real)'), an `abs(pair)' function (equivalent to +`length(pair)'). + + Random numbers can be seeded with `srand(int)' and generated with +the `int rand()' function, which returns a random integer between 0 and +the integer `randMax'. The `unitrand()' function returns a random +number uniformly distributed in the interval [0,1]. A Gaussian random +number generator `Gaussrand' and a collection of statistics routines, +including `histogram', are provided in the base file `stats.asy'. The +functions `factorial(int n)', which returns n!, and `choose(int n, int +k)', which returns n!/(k!(n-k)!), are also defined. + + When configured with the GNU Scientific Library (GSL), available from +`http://www.gnu.org/software/gsl/', `Asymptote' contains an internal +module `gsl' that defines the airy functions `Ai(real)', `Bi(real)', +`Ai_deriv(real)', `Bi_deriv(real)', `zero_Ai(int)', `zero_Bi(int)', +`zero_Ai_deriv(int)', `zero_Bi_deriv(int)', the Bessel functions +`I(int, real)', `K(int, real)', `j(int, real)', `y(int, real)', +`i_scaled(int, real)', `k_scaled(int, real)', `J(real, real)', `Y(real, +real)', `I(real, real)', `K(real, real)', `zero_J(real, int)', the +elliptic functions `F(real, real)', `E(real, real)', and `P(real, +real)', the Jacobi elliptic functions `real[] sndncn(real,real)', the +exponential/trigonometric integrals `Ei', `Si', and `Ci', the Legendre +polynomials `Pl(int, real)', and the Riemann zeta function +`zeta(real)'. For example, to compute the sine integral `Si' of 1.0: +import gsl; +write(Si(1.0)); + + `Asymptote' also provides a few general purpose numerical routines: + +``real newton(int iterations=100, real f(real), real fprime(real), real x, bool verbose=false);'' + Use Newton-Raphson iteration to solve for a root of a real-valued + differentiable function `f', given its derivative `fprime' and an + initial guess `x'. Diagnostics for each iteration are printed if + `verbose=true'. If the iteration fails after the maximum allowed + number of loops (`iterations'), `realMax' is returned. + +``real newton(int iterations=100, real f(real), real fprime(real), real x1, real x2, bool verbose=false);'' + Use bracketed Newton-Raphson bisection to solve for a root of a + real-valued differentiable function `f' within an interval + [`x1',`x2'] (on which the endpoint values of `f' have opposite + signs), given its derivative `fprime'. Diagnostics for each + iteration are printed if `verbose=true'. If the iteration fails + after the maximum allowed number of loops (`iterations'), + `realMax' is returned. + +``real simpson(real f(real), real a, real b, real acc=realEpsilon, real dxmax=b-a)'' + returns the integral of `f' from `a' to `b' using adaptive Simpson + integration. + + + +File: asymptote.info, Node: Arrays, Next: Casts, Prev: Functions, Up: Programming + +6.12 Arrays +=========== + +* Menu: + +* Slices:: Python-style array slices + + Appending `[]' to a built-in or user-defined type yields an array. +The array element `i' of an array `A' can be accessed as `A[i]'. By +default, attempts to access or assign to an array element using a +negative index generates an error. Reading an array element with an +index beyond the length of the array also generates an error; however, +assignment to an element beyond the length of the array causes the +array to be resized to accommodate the new element. One can also index +an array `A' with an integer array `B': the array `A[B]' is formed by +indexing array `A' with successive elements of array `B'. A convenient +Java-style shorthand exists for iterating over all elements of an +array; see *note array iteration::. + + The declaration +real[] A; + +initializes `A' to be an empty (zero-length) array. Empty arrays should +be distinguished from null arrays. If we say +real[] A=null; + +then `A' cannot be dereferenced at all (null arrays have no length and +cannot be read from or assigned to). + + Arrays can be explicitly initialized like this: +real[] A={0,1,2}; + + Array assignment in `Asymptote' does a shallow copy: only the +pointer is copied (if one copy if modified, the other will be too). +The `copy' function listed below provides a deep copy of an array. + + Every array `A' of type `T[]' has the virtual members + * `int length', + + * `int cyclic', + + * `int[] keys', + + * `T push(T x)', + + * `void append(T[] a)', + + * `T pop()', + + * `void insert(int i ... T[] x)', + + * `void delete(int i, int j=i)', + + * `void delete()', and + + * `bool initialized(int n)'. + + The member `A.length' evaluates to the length of the array. Setting +`A.cyclic=true' signifies that array indices should be reduced modulo +the current array length. Reading from or writing to a nonempty cyclic +array never leads to out-of-bounds errors or array resizing. + + The member `A.keys' evaluates to an array of integers containing the +indices of initialized entries in the array in ascending order. Hence, +for an array of length `n' with all entries initialized, `A.keys' +evaluates to `{0,1,...,n-1}'. A new keys array is produced each time +`A.keys' is evaluated. + + The functions `A.push' and `A.append' append their arguments onto +the end of the array, while `A.insert(int i ... T[] x)' inserts `x' +into the array at index `i'. For convenience `A.push' returns the +pushed item. The function `A.pop()' pops and returns the last element, +while `A.delete(int i, int j=i)' deletes elements with indices in the +range [`i',`j'], shifting the position of all higher-indexed elements +down. If no arguments are given, `A.delete()' provides a convenient way +of deleting all elements of `A'. The routine `A.initialized(int n)' can +be used to examine whether the element at index `n' is initialized. +Like all `Asymptote' functions, `push', `append', `pop', `insert', +`delete', and `initialized' can be "pulled off" of the array and used +on their own. For example, +int[] A={1}; +A.push(2); // A now contains {1,2}. +A.append(A); // A now contains {1,2,1,2}. +int f(int)=A.push; +f(3); // A now contains {1,2,1,2,3}. +int g()=A.pop; +write(g()); // Outputs 3. +A.delete(0); // A now contains {2,1,2}. +A.delete(0,1); // A now contains {2}. +A.insert(1,3); // A now contains {2,3}. +A.insert(1 ... A); // A now contains {2,2,3,3} +A.insert(2,4,5); // A now contains {2,2,4,5,3,3}. + + The `[]' suffix can also appear after the variable name; this is +sometimes convenient for declaring a list of variables and arrays of +the same type: +real a,A[]; + This declares `a' to be `real' and implicitly declares `A' to be of +type `real[]'. + + In the following list of built-in array functions, `T' represents a +generic type. Note that the internal functions `alias', `array', +`copy', `concat', `sequence', `map', and `transpose', which depend on +type `T[]', are defined only after the first declaration of a variable +of type `T[]'. + +`new T[]' + returns a new empty array of type `T[]'; + +`new T[] {list}' + returns a new array of type `T[]' initialized with `list' (a comma + delimited list of elements). + +`new T[n]' + returns a new array of `n' elements of type `T[]'. These `n' + array elements are not initialized unless they are arrays + themselves (in which case they are each initialized to empty + arrays). + +`T[] array(int n, T value, int depth=intMax)' + returns an array consisting of `n' copies of `value'. If `value' + is itself an array, a deep copy of `value' is made for each entry. + If `depth' is specified, this deep copying only recurses to the + specified number of levels. + +`int[] sequence(int n)' + if `n >= 1' returns the array `{0,1,...,n-1}' (otherwise returns a + null array); + +`int[] sequence(int n, int m)' + if `m >= n' returns an array `{n,n+1,...,m}' (otherwise returns a + null array); + +`T[] sequence(T f(int), int n)' + if `n >= 1' returns the sequence `{f_i :i=0,1,...n-1}' given a + function `T f(int)' and integer `int n' (otherwise returns a null + array); + +`T[] map(T f(T), T[] a)' + returns the array obtained by applying the function `f' to each + element of the array `a'. This is equivalent to `sequence(new + T(int i) {return f(a[i]);},a.length)'. + +`int[] reverse(int n)' + if `n >= 1' returns the array `{n-1,n-2,...,0}' (otherwise returns + a null array); + +`int[] complement(int[] a, int n)' + returns the complement of the integer array `a' in + `{0,1,2,...,n-1}', so that `b[complement(a,b.length)]' yields the + complement of `b[a]'. + +`real[] uniform(real a, real b, int n)' + if `n >= 1' returns a uniform partition of `[a,b]' into `n' + subintervals (otherwise returns a null array); + +`int find(bool[], int n=1)' + returns the index of the `n'th `true' value or -1 if not found. + If `n' is negative, search backwards from the end of the array for + the `-n'th value; + +`int search(T[] a, T key)' + For built-in ordered types `T', searches a sorted array `a' of `n' + elements for k, returning the index `i' if `a[i] <= key < a[i+1]', + `-1' if `key' is less than all elements of `a', or `n-1' if `key' + is greater than or equal to the last element of `a'. + +`int search(T[] a, T key, bool less(T i, T j))' + searches an array `a' sorted in ascending order such that element + `i' precedes element `j' if `less(i,j)' is true; + +`T[] copy(T[] a)' + returns a deep copy of the array `a'; + +`T[] concat(... T[][] a)' + returns a new array formed by concatenating the given + one-dimensional arrays given as arguments; + +`bool alias(T[] a, T[] b)' + returns `true' if the arrays `a' and `b' are identical; + +`T[] sort(T[] a)' + For built-in ordered types `T', returns a copy of `a' sorted in + ascending order; + +`T[][] sort(T[][] a)' + For built-in ordered types `T', returns a copy of `a' with the rows + sorted by the first column, breaking ties with successively higher + columns. For example: string[][] a={{"bob","9"},{"alice","5"},{"pete","7"}, + {"alice","4"}}; + // Row sort (by column 0, using column 1 to break ties): + write(sort(a)); + + produces alice 4 + alice 5 + bob 9 + pete 7 + +`T[] sort(T[] a, bool less(T i, T j))' + returns a copy of `a' stably sorted in ascending order such that + element `i' precedes element `j' if `less(i,j)' is true. + +`T[][] transpose(T[][] a)' + returns the transpose of `a'. + +`T[][][] transpose(T[][][] a, int[] perm)' + returns the 3D transpose of `a' obtained by applying the + permutation `perm' of `new int[]{0,1,2}' to the indices of each + entry. + +`T sum(T[] a)' + For arithmetic types `T', returns the sum of `a'. In the case + where `T' is `bool', the number of true elements in `a' is + returned. + +`T min(T[] a)' + +`T min(T[][] a)' + +`T min(T[][][] a)' + For built-in ordered types `T', returns the minimum element of `a'. + +`T max(T[] a)' + +`T max(T[][] a)' + +`T max(T[][][] a)' + For built-in ordered types `T', returns the maximum element of `a'. + +`T[] min(T[] a, T[] b)' + For built-in ordered types `T', and arrays `a' and `b' of the same + length, returns an array composed of the minimum of the + corresponding elements of `a' and `b'. + +`T[] max(T[] a, T[] b)' + For built-in ordered types `T', and arrays `a' and `b' of the same + length, returns an array composed of the maximum of the + corresponding elements of `a' and `b'. + +`pair[] pairs(real[] x, real[] y);' + For arrays `x' and `y' of the same length, returns the pair array + `sequence(new pair(int i) {return (x[i],y[i]);},x.length)'. + +`pair[] fft(pair[] a, int sign=1)' + returns the Fast Fourier Transform of `a' (if the optional `FFTW' + package is installed), using the given `sign'. Here is a simple + example: int n=4; + pair[] f=sequence(n); + write(f); + pair[] g=fft(f,-1); + write(); + write(g); + f=fft(g,1); + write(); + write(f/n); + +`real dot(real[] a, real[] b)' + returns the dot product of the vectors `a' and `b'. + +`pair dot(pair[] a, pair[] b)' + returns the complex dot product `sum(a*conj(b))' of the vectors + `a' and `b'. + +`real[] tridiagonal(real[] a, real[] b, real[] c, real[] f);' + Solve the periodic tridiagonal problem L`x'=`f' and return the + solution `x', where `f' is an n vector and L is the n \times n + matrix [ b[0] c[0] a[0] ] + [ a[1] b[1] c[1] ] + [ a[2] b[2] c[2] ] + [ ... ] + [ c[n-1] a[n-1] b[n-1] ] + For Dirichlet boundary conditions (denoted here by `u[-1]' and + `u[n]'), replace `f[0]' by `f[0]-a[0]u[-1]' and + `f[n-1]-c[n-1]u[n]'; then set `a[0]=c[n-1]=0'. + +`real[] solve(real[][] a, real[] b, bool warn=true)' + Solve the linear equation `a'x=`b' by LU decomposition and return + the solution x, where `a' is an n \times n matrix and `b' is an + array of length n. For example: import math; + real[][] a={{1,-2,3,0},{4,-5,6,2},{-7,-8,10,5},{1,50,1,-2}}; + real[] b={7,19,33,3}; + real[] x=solve(a,b); + write(a); write(); + write(b); write(); + write(x); write(); + write(a*x); + If `a' is a singular matrix and `warn' is `false', return an + empty array. If the matrix `a' is tridiagonal, the routine + `tridiagonal' provides a more efficient algorithm (*note + tridiagonal::). + +`real[][] solve(real[][] a, real[][] b, bool warn=true)' + Solve the linear equation `a'x=`b' and return the solution x, + where `a' is an n \times n matrix and `b' is an n \times m matrix. + If `a' is a singular matrix and `warn' is `false', return an empty + matrix. + +`real[][] identity(int n);' + returns the n \times n identity matrix. + +`real[][] diagonal(... real[] a)' + returns the diagonal matrix with diagonal entries given by a. + +`real[][] inverse(real[][] a)' + returns the inverse of a square matrix `a'. + +``real[] quadraticroots(real a, real b, real c);'' + This numerically robust solver returns the real roots of the + quadratic equation ax^2+bx+c=0, in ascending order. Multiple roots + are listed separately. + +``pair[] quadraticroots(explicit pair a, explicit pair b, explicit pair c);'' + This numerically robust solver returns the complex roots of the + quadratic equation ax^2+bx+c=0. + +``real[] cubicroots(real a, real b, real c, real d);'' + This numerically robust solver returns the real roots of the cubic + equation ax^3+bx^2+cx+d=0. Multiple roots are listed separately. + + + `Asymptote' includes a full set of vectorized array instructions for +arithmetic (including self) and logical operations. These +element-by-element instructions are implemented in C++ code for speed. +Given +real[] a={1,2}; +real[] b={3,2}; + then `a == b' and `a >= 2' both evaluate to the vector `{false, true}'. To +test whether all components of `a' and `b' agree, use the boolean +function `all(a == b)'. One can also use conditionals like `(a >= 2) ? +a : b', which returns the array `{3,2}', or `write((a >= 2) ? a : +null', which returns the array `{2}'. + + All of the standard built-in `libm' functions of signature +`real(real)' also take a real array as an argument, effectively like an +implicit call to `map'. + + As with other built-in types, arrays of the basic data types can be +read in by assignment. In this example, the code +file fin=input("test.txt"); +real[] A=fin; + +reads real values into `A' until the end-of-file is reached (or an I/O +error occurs). + + The virtual members `dimension', `line', `csv', `word', and `read' +of a file are useful for reading arrays. For example, if line mode is +set with `file line(bool b=true)', then reading will stop once the end +of the line is reached instead +file fin=input("test.txt"); +real[] A=fin.line(); + + Since string reads by default read up to the end of line anyway, +line mode normally has no effect on string array reads. However, there +is a white-space delimiter mode for reading strings, `file word(bool +b=true)', which causes string reads to respect white-space delimiters, +instead of the default end-of-line delimiter: +file fin=input("test.txt").line().word(); +real[] A=fin; + + Another useful mode is comma-separated-value mode, `file csv(bool +b=true)', which causes reads to respect comma delimiters: +file fin=csv(input("test.txt")); +real[] A=fin; + + To restrict the number of values read, use the `file dimension(int)' +function: +file fin=input("test.txt"); +real[] A=dimension(fin,10); + + This reads 10 values into A, unless end-of-file (or end-of-line in +line mode) occurs first. Attempting to read beyond the end of the file +will produce a runtime error message. Specifying a value of 0 for the +integer limit is equivalent to the previous example of reading until +end-of-file (or end-of-line in line mode) is encountered. + + Two- and three-dimensional arrays of the basic data types can be read +in like this: +file fin=input("test.txt"); +real[][] A=fin.dimension(2,3); +real[][][] B=fin.dimension(2,3,4); + Again, an integer limit of zero means no restriction. + + Sometimes the array dimensions are stored with the data as integer +fields at the beginning of an array. Such 1, 2, or 3 dimensional arrays +can be read in with the virtual member functions `read(1)', `read(2)', +or `read(3)', respectively: +file fin=input("test.txt"); +real[] A=fin.read(1); +real[][] B=fin.read(2); +real[][][] C=fin.read(3); + + One, two, and three-dimensional arrays of the basic data types can be +output with the functions `write(file,T[])', `write(file,T[][])', +`write(file,T[][][])', respectively. + + +File: asymptote.info, Node: Slices, Up: Arrays + +6.12.1 Slices +------------- + +Asymptote allows a section of an array to be addressed as a slice using +a Python-like syntax. If `A' is an array, the expression `A[m:n]' +returns a new array consisting of the elements of `A' with indices from +`m' up to but not including `n'. For example, +int[] x={0,1,2,3,4,5,6,7,8,9}; +int[] y=x[2:6]; // y={2,3,4,5}; +int[] z=x[5:10]; // z={5,6,7,8,9}; + + If the left index is omitted, it is taken be `0'. If the right +index is omitted it is taken to be the length of the array. If both +are omitted, the slice then goes from the start of the array to the +end, producing a non-cyclic deep copy of the array. For example: +int[] x={0,1,2,3,4,5,6,7,8,9}; +int[] y=x[:4]; // y={0,1,2,3} +int[] z=x[5:]; // z={5,6,7,8,9} +int[] w=x[:]; // w={0,1,2,3,4,5,6,7,8,9}, distinct from array x. + + If A is a non-cyclic array, it is illegal to use negative values for +either of the indices. If the indices exceed the length of the array, +however, they are politely truncated to that length. + + For cyclic arrays, the slice `A[m:n]' still consists of the cells +with indices in the set [`m',`n'), but now negative values and values +beyond the length of the array are allowed. The indices simply wrap +around. For example: + +int[] x={0,1,2,3,4,5,6,7,8,9}; +x.cyclic=true; +int[] y=x[8:15]; // y={8,9,0,1,2,3,4}. +int[] z=x[-5:5]; // z={5,6,7,8,9,0,1,2,3,4} +int[] w=x[-3:17]; // w={7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6} + + Notice that with cyclic arrays, it is possible to include the same +element of the original array multiple times within a slice. +Regardless of the original array, arrays produced by slices are always +non-cyclic. + + If the left and right indices of a slice are the same, the result is +an empty array. If the array being sliced is empty, the result is an +empty array. Any slice with a left index greater than its right index +will yield an error. + + Slices can also be assigned to, changing the value of the original +array. If the array being assigned to the slice has a different length +than the slice itself, elements will be inserted or removed from the +array to accommodate it. For instance: +string[] toppings={"mayo", "salt", "ham", "lettuce"}; +toppings[0:2]=new string[] {"mustard", "pepper"}; + // Now toppings={"mustard", "pepper", "ham", "lettuce"} +toppings[2:3]=new string[] {"turkey", "bacon" }; + // Now toppings={"mustard", "pepper", "turkey", "bacon", "lettuce"} +toppings[0:3]=new string[] {"tomato"}; + // Now toppings={"tomato", "bacon", "lettuce"} + + If an array is assigned to a slice of itself, a copy of the original +array is assigned to the slice. That is, code such as `x[m:n]=x' is +equivalent to `x[m:n]=copy(x)'. One can use the shorthand `x[m:m]=y' +to insert the contents of the array `y' into the array `x' starting at +the location just before `x[m]'. + + For a cyclic array, a slice is bridging if it addresses cells up to +the end of the array and then continues on to address cells at the +start of the array. For instance, if `A' is a cyclic array of length +10, `A[8:12]', `A[-3:1]', and `A[5:25]' are bridging slices whereas +`A[3:7]', `A[7:10]', `A[-3:0]' and `A[103:107]' are not. Bridging +slices can only be assigned to if the number of elements in the slice +is exactly equal to the number of elements we are assigning to it. +Otherwise, there is no clear way to decide which of the new entries +should be `A[0]' and an error is reported. Non-bridging slices may be +assigned an array of any length. + + For a cyclic array `A' an expression of the form +`A[A.length:A.length]' is equivalent to the expression `A[0:0]' and so +assigning to this slice will insert values at the start of the array. +`A.append()' can be used to insert values at the end of the array. + + It is illegal to assign to a slice of a cyclic array that repeats +any of the cells. + + +File: asymptote.info, Node: Casts, Next: Import, Prev: Arrays, Up: Programming + +6.13 Casts +========== + +`Asymptote' implicitly casts `int' to `real', `int' to `pair', `real' +to `pair', `pair' to `path', `pair' to `guide', `path' to `guide', +`guide' to `path', `real' to `pen', `pair[]' to `guide[]', `pair[]' to +`path[]', `path' to `path[]', and `guide' to `path[]', along with +various three-dimensional casts defined in `three.asy'. Implicit casts +are automatically attempted on assignment and when trying to match +function calls with possible function signatures. Implicit casting can +be inhibited by declaring individual arguments `explicit' in the +function signature, say to avoid an ambiguous function call in the +following example, which outputs 0: +int f(pair a) {return 0;} +int f(explicit real x) {return 1;} + +write(f(0)); + + Other conversions, say `real' to `int' or `real' to `string', +require an explicit cast: +int i=(int) 2.5; +string s=(string) 2.5; + +real[] a={2.5,-3.5}; +int[] b=(int []) a; +write(stdout,b); // Outputs 2,-3 + + Casting to user-defined types is also possible using `operator cast': +struct rpair { + real radius; + real angle; +} + +pair operator cast(rpair x) { + return (x.radius*cos(x.angle),x.radius*sin(x.angle)); +} + +rpair x; +x.radius=1; +x.angle=pi/6; + +write(x); // Outputs (0.866025403784439,0.5) + + One must use care when defining new cast operators. Suppose that in +some code one wants all integers to represent multiples of 100. To +convert them to reals, one would first want to multiply them by 100. +However, the straightforward implementation +real operator cast(int x) {return x*100;} + is equivalent to an infinite recursion, since the result `x*100' needs +itself to be cast from an integer to a real. Instead, we want to use +the standard conversion of int to real: +real convert(int x) {return x*100;} +real operator cast(int x)=convert; + + Explicit casts are implemented similarly, with `operator ecast'. + + +File: asymptote.info, Node: Import, Next: Static, Prev: Casts, Up: Programming + +6.14 Import +=========== + +While `Asymptote' provides many features by default, some applications +require specialized features contained in external `Asymptote' modules. +For instance, the lines +access graph; +graph.axes(); + draw x and y axes on a two-dimensional graph. Here, the command looks +up the module under the name `graph' in a global dictionary of modules +and puts it in a new variable named `graph'. The module is a +structure, and we can refer to its fields as we usually would with a +structure. + + Often, one wants to use module functions without having to specify +the module name. The code +from graph access axes; + adds the `axes' field of `graph' into the local name space, so that +subsequently, one can just write `axes()'. If the given name is +overloaded, all types and variables of that name are added. To add +more than one name, just use a comma-separated list: +from graph access axes, xaxis, yaxis; + Wild card notation can be used to add all non-private fields and types +of a module to the local name space: + +from graph access *; + + Similarly, one can add the non-private fields and types of a +structure to the local environment with the `unravel' keyword: +struct matrix { + real a,b,c,d; +} + +real det(matrix m) { + unravel m; + return a*d-b*c; +} + Alternatively, one can unravel selective fields: +real det(matrix m) { + from m unravel a,b,c as C,d; + return a*d-b*C; +} + + The command +import graph; + is a convenient abbreviation for the commands +access graph; +unravel graph; + That is, `import graph' first loads a module into a structure called +`graph' and then adds its non-private fields and types to the local +environment. This way, if a member variable (or function) is +overwritten with a local variable (or function of the same signature), +the original one can still be accessed by qualifying it with the module +name. + + Wild card importing will work fine in most cases, but one does not +usually know all of the internal types and variables of a module, which +can also change as the module writer adds or changes features of the +module. As such, it is prudent to add `import' commands at the start +of an `Asymptote' file, so that imported names won't shadow locally +defined functions. Still, imported names may shadow other imported +names, depending on the order in which they were imported, and imported +functions may cause overloading resolution problems if they have the +same name as local functions defined later. + + To rename modules or fields when adding them to the local +environment, use `as': +access graph as graph2d; +from graph access xaxis as xline, yaxis as yline; + + The command +import graph as graph2d; + is a convenient abbreviation for the commands +access graph as graph2d; +unravel graph2d; + + Except for a few built-in modules, such as `settings', all modules +are implemented as `Asymptote' files. When looking up a module that +has not yet been loaded, `Asymptote' searches the standard search paths +(*note Search paths::) for the matching file. The file corresponding +to that name is read and the code within it is interpreted as the body +of a structure defining the module. + + If the file name contains nonalphanumeric characters, enclose it +with quotation marks: + +`access "/usr/local/share/asymptote/graph.asy" as graph;' + +`from "/usr/local/share/asymptote/graph.asy" access axes;' + +`import "/usr/local/share/asymptote/graph.asy" as graph;' + + It is an error if modules import themselves (or each other in a +cycle). The module name to be imported must be known at compile time. + + However, you can import an `Asymptote' module determined by the +string `s' at runtime like this: +eval("import "+s,true); + + To conditionally execute an array of asy files, use +void asy(string format, bool overwrite ... string[] s); + The file will only be processed, using output format `format', if +overwrite is `true' or the output file is missing. + + One can evaluate an `Asymptote' expression (without any return +value, however) contained in the string `s' with: +void eval(string s, bool embedded=false); + It is not necessary to terminate the string `s' with a semicolon. If +`embedded' is `true', the string will be evaluated at the top level of +the current environment. If `embedded' is `false' (the default), the +string will be evaluated in an independent environment, sharing the same +`settings' module (*note settings::). + + One can evaluate arbitrary `Asymptote' code (which may contain +unescaped quotation marks) with the command +void eval(code s, bool embedded=false); + Here `code' is a special type used with `quote {}' to enclose +`Asymptote code' like this: +real a=1; +code s=quote { + write(a); +}; +eval(s,true); // Outputs 1 + + To include the contents of an existing file `graph' verbatim (as if +the contents of the file were inserted at that point), use one of the +forms: +include graph; + +`include "/usr/local/share/asymptote/graph.asy";' + + To list all global functions and variables defined in a module named +by the contents of the string `s', use the function +void list(string s, bool imports=false); + Imported global functions and variables are also listed if `imports' +is `true'. + + +File: asymptote.info, Node: Static, Prev: Import, Up: Programming + +6.15 Static +=========== + +Static qualifiers allocate the memory address of a variable in a higher +enclosing level. + + For a function body, the variable is allocated in the block where the +function is defined; so in the code +struct s { + int count() { + static int c=0; + ++c; + return c; + } +} + +there is one instance of the variable `c' for each object `s' (as +opposed to each call of `count'). + + Similarly, in +int factorial(int n) { + int helper(int k) { + static int x=1; + x *= k; + return k == 1 ? x : helper(k-1); + } + return helper(n); +} + +there is one instance of `x' for every call to `factorial' (and not for +every call to `helper'), so this is a correct, but ugly, implementation +of factorial. + + Similarly, a static variable declared within a structure is +allocated in the block where the structure is defined. Thus, +struct A { + struct B { + static pair z; + } +} + +creates one object `z' for each object of type `A' created. + + In this example, +int pow(int n, int k) { + struct A { + static int x=1; + void helper() { + x *= n; + } + } + for(int i=0; i < k; ++i) { + A a; + a.helper(); + } + return A.x; +} + +there is one instance of `x' for each call to `pow', so this is an ugly +implementation of exponentiation. + + Loop constructs allocate a new frame in every iteration. This is so +that higher-order functions can refer to variables of a specific +iteration of a loop: +void f(); +for(int i=0; i < 10; ++i) { + int x=i; + if(x==5) { + f=new void () { write(x); } + } +} +f(); + + Here, every iteration of the loop has its own variable `x', so `f()' +will write `5'. If a variable in a loop is declared static, it will be +allocated where the enclosing function or structure was defined (just +as if it were declared static outside of the loop). For instance, in: +void f() { + static int x; + for(int i=0; i < 10; ++i) { + static int y; + } +} + both `x' and `y' will be allocated in the same place, which is also +where `f' is also allocated. + + Statements may also be declared static, in which case they are run +at the place where the enclosing function or structure is defined. +Declarations or statements not enclosed in a function or structure +definition are already at the top level, so static modifiers are +meaningless. A warning is given in such a case. + + Since structures can have static fields, it is not always clear for +a qualified name whether the qualifier is a variable or a type. For +instance, in: + +struct A { + static int x; +} +pair A; + +int y=A.x; + does the `A' in `A.x' refer to the structure or to the pair variable. +It is the convention in Asymptote that, if there is a non-function +variable with the same name as the qualifier, the qualifier refers to +that variable, and not to the type. This is regardless of what fields +the variable actually possesses. + + +File: asymptote.info, Node: LaTeX usage, Next: Base modules, Prev: Programming, Up: Top + +7 `LaTeX' usage +*************** + +`Asymptote' comes with a convenient `LaTeX' style file `asymptote.sty' +that makes `LaTeX' `Asymptote'-aware. Entering `Asymptote' code +directly into the `LaTeX' source file, at the point where it is needed, +keeps figures organized and avoids the need to invent new file names +for each figure. Simply add the line `\usepackage{asymptote}' at the +beginning of your file and enclose your `Asymptote' code within a +`\begin{asy}...\end{asy}' environment. As with the `LaTeX' `comment' +environment, the `\end{asy}' command must appear on a line by itself, +with no trailing commands/comments. A blank line is not allowed after +`\begin{asy}'. + + The sample `LaTeX' file below, named `latexusage.tex', can be run as +follows: +latex latexusage +asy latexusage-*.asy +latex latexusage + +or +pdflatex latexusage +asy latexusage-*.asy +pdflatex latexusage + To switch between using inline Asymptote code with `latex' and +`pdflatex' you may first need to remove the files `latexusage-*.tex'. + + An even better method for processing a `LaTeX' file with embedded +`Asymptote' code is to use the `latexmk' utility from + + `http://www.ctan.org/tex-archive/support/latexmk/' + after putting the contents of +`http://asymptote.svn.sourceforge.net/viewvc/asymptote/trunk/asymptote/doc/latexmkrc' +in a file `latexmkrc' in the same directory. The command +latexmk -pdf latexusage + will then call `Asymptote' automatically, recompiling only the figures +that have changed. Since each figure is compiled in a separate system +process, this method also tends to use less memory. To store the +figures in a separate directory named `asy', one can define +\def\asydir{asy} + in `latexusage.tex' and put the contents of +`http://asymptote.svn.sourceforge.net/viewvc/asymptote/trunk/asymptote/doc/latexmkrc_asydir' +in a file `latexmkrc' in the same directory. External `Asymptote' code +in `filename.asy' should be included with +\asyinclude[<options>]{<filename.asy>} + so that `latexmk' will recognize when the code is changed. Note that +`latemk' requires `perl', available from `http://www.perl.org/'. + + One can specify `width', `height', `keepAspect', `viewportwidth', +`viewportheight', `attach', and `inline'. `keyval'-style options to +the `asy' and `asyinclude' environments. Three-dimensional PRC files +may either be embedded within the page (the default) or attached as +annotated (but printable) attachments, using the `attach' option and +the `attachfile2' (or older `attachfile') `LaTeX' package. The +`inline' option generates inline `LaTeX' code instead of EPS or PDF +files. This makes 2D LaTeX symbols visible to the +`\begin{asy}...\end{asy}' environment. In this mode, Asymptote +correctly aligns 2D LaTeX symbols defined outside of +`\begin{asy}...\end{asy}', but treats their size as zero; an optional +second string can be given to `Label' to provide an estimate of the +unknown label size. + + Note that if the `latex' TeX engine is used with the `inline' +option, labels might not show up in DVI viewers that cannot handle raw +`PostScript' code. One can use `dvips'/`dvipdf' to produce +`PostScript'/PDF output (we recommend using the modified version of +`dvipdf' in the `Asymptote' patches directory, which accepts the `dvips +-z' hyperdvi option). + + Here now is `latexusage.tex': + +\documentclass[12pt]{article} + +% Use this form to include EPS (latex) or PDF (pdflatex) files: +\usepackage{asymptote} + +% Use this form with latex or pdflatex to include inline LaTeX code by default: +%\usepackage[inline]{asymptote} + +% Use this form with latex or pdflatex to create PDF attachments by default: +%\usepackage[attach]{asymptote} + +% Enable this line to support the attach option: +%\usepackage[dvips]{attachfile2} + +\begin{document} + +% Optional subdirectory for asy files (no spaces): +\def\asydir{} + +\begin{asydef} +// Global Asymptote definitions can be put here. +import three; +usepackage("bm"); +texpreamble("\def\V#1{\bm{#1}}"); +// One can globally override the default toolbar settings here: +// settings.toolbar=true; +\end{asydef} + +Here is a venn diagram produced with Asymptote, drawn to width 4cm: + +\def\A{A} +\def\B{\V{B}} + +%\begin{figure} +\begin{center} +\begin{asy} +size(4cm,0); +pen colour1=red; +pen colour2=green; + +pair z0=(0,0); +pair z1=(-1,0); +pair z2=(1,0); +real r=1.5; +path c1=circle(z1,r); +path c2=circle(z2,r); +fill(c1,colour1); +fill(c2,colour2); + +picture intersection=new picture; +fill(intersection,c1,colour1+colour2); +clip(intersection,c2); + +add(intersection); + +draw(c1); +draw(c2); + +//draw("$\A$",box,z1); // Requires [inline] package option. +//draw(Label("$\B$","$B$"),box,z2); // Requires [inline] package option. +draw("$A$",box,z1); +draw("$\V{B}$",box,z2); + +pair z=(0,-2); +real m=3; +margin BigMargin=Margin(0,m*dot(unit(z1-z),unit(z0-z))); + +draw(Label("$A\cap B$",0),conj(z)--z0,Arrow,BigMargin); +draw(Label("$A\cup B$",0),z--z0,Arrow,BigMargin); +draw(z--z1,Arrow,Margin(0,m)); +draw(z--z2,Arrow,Margin(0,m)); + +shipout(bbox(0.25cm)); +\end{asy} +%\caption{Venn diagram}\label{venn} +\end{center} +%\end{figure} + +Each graph is drawn in its own environment. One can specify the width +and height to \LaTeX\ explicitly. This 3D example can be viewed +interactively either with Adobe Reader or Asymptote's fast OpenGL-based +renderer. To support {\tt latexmk}, 3D figures should specify +\verb+inline=true+. It is sometimes desirable to embed 3D files as annotated +attachments; this requires the \verb+attach=true+ option as well as the +\verb+attachfile2+ \LaTeX\ package. +\begin{center} +\begin{asy}[height=4cm,inline=true,attach=false,viewportwidth=\linewidth] +currentprojection=orthographic(5,4,2); +draw(unitcube,blue); +label("$V-E+F=2$",(0,1,0.5),3Y,blue+fontsize(17pt)); +\end{asy} +\end{center} + +One can also scale the figure to the full line width: +\begin{center} +\begin{asy}[width=\the\linewidth,inline=true] +pair z0=(0,0); +pair z1=(2,0); +pair z2=(5,0); +pair zf=z1+0.75*(z2-z1); + +draw(z1--z2); +dot(z1,red+0.15cm); +dot(z2,darkgreen+0.3cm); +label("$m$",z1,1.2N,red); +label("$M$",z2,1.5N,darkgreen); +label("$\hat{\ }$",zf,0.2*S,fontsize(24pt)+blue); + +pair s=-0.2*I; +draw("$x$",z0+s--z1+s,N,red,Arrows,Bars,PenMargins); +s=-0.5*I; +draw("$\bar{x}$",z0+s--zf+s,blue,Arrows,Bars,PenMargins); +s=-0.95*I; +draw("$X$",z0+s--z2+s,darkgreen,Arrows,Bars,PenMargins); +\end{asy} +\end{center} +\end{document} + + +File: asymptote.info, Node: Base modules, Next: Options, Prev: LaTeX usage, Up: Top + +8 Base modules +************** + +`Asymptote' currently ships with the following base modules: + +* Menu: + +* plain:: Default `Asymptote' base file +* simplex:: Linear programming: simplex method +* math:: Extend `Asymptote''s math capabilities +* interpolate:: Interpolation routines +* geometry:: Geometry routines +* trembling:: Wavy lines +* stats:: Statistics routines and histograms +* patterns:: Custom fill and draw patterns +* markers:: Custom path marker routines +* tree:: Dynamic binary search tree +* binarytree:: Binary tree drawing module +* drawtree:: Tree drawing module +* syzygy:: Syzygy and braid drawing module +* feynman:: Feynman diagrams +* roundedpath:: Round the sharp corners of paths +* animation:: Embedded PDF and MPEG movies +* embed:: Embedding movies, sounds, and 3D objects +* slide:: Making presentations with `Asymptote' +* MetaPost:: `MetaPost' compatibility routines +* unicode:: Accept `unicode' (UTF-8) characters +* latin1:: Accept `ISO 8859-1' characters +* babel:: Interface to `LaTeX' `babel' package +* labelpath:: Drawing curved labels +* labelpath3:: Drawing curved labels in 3D +* annotate:: Annotate your PDF files +* CAD:: 2D CAD pen and measurement functions (DIN 15) +* graph:: 2D linear & logarithmic graphs +* palette:: Color density images and palettes +* three:: 3D vector graphics +* obj:: 3D obj files +* graph3:: 3D linear & logarithmic graphs +* grid3:: 3D grids +* solids:: 3D solid geometry +* tube:: 3D rotation minimizing tubes +* flowchart:: Flowchart drawing routines +* contour:: Contour lines +* contour3:: Contour surfaces +* slopefield:: Slope fields +* ode:: Ordinary differential equations + + +File: asymptote.info, Node: plain, Next: simplex, Up: Base modules + +8.1 `plain' +=========== + +This is the default `Asymptote' base file, which defines key parts of +the drawing language (such as the `picture' structure). + + By default, an implicit `private import plain;' occurs before +translating a file and before the first command given in interactive +mode. This also applies when translating files for module definitions +(except when translating `plain', of course). This means that the +types and functions defined in `plain' are accessible in almost all +`Asymptote' code. Use the `-noautoplain' command-line option to disable +this feature. + + +File: asymptote.info, Node: simplex, Next: math, Prev: plain, Up: Base modules + +8.2 `simplex' +============= + +This package solves the two-variable linear programming problem using +the simplex method. It is used by the module `plain' for automatic +sizing of pictures. + + +File: asymptote.info, Node: math, Next: interpolate, Prev: simplex, Up: Base modules + +8.3 `math' +========== + +This package extends `Asymptote''s mathematical capabilities with +useful functions such as + +`void drawline(picture pic=currentpicture, pair P, pair Q, pen p=currentpen);' + draw the visible portion of the (infinite) line going through `P' + and `Q', without altering the size of picture `pic', using pen `p'. + +`real intersect(triple P, triple Q, triple n, triple Z);' + returns the intersection time of the extension of the line segment + `PQ' with the plane perpendicular to `n' and passing through `Z'. + +`triple intersectionpoint(triple n0, triple P0, triple n1, triple P1);' + Return any point on the intersection of the two planes with normals + `n0' and `n1' passing through points `P0' and `P1', respectively. + If the planes are parallel, return `(infinity,infinity,infinity)'. + +`pair[] quarticroots(real a, real b, real c, real d, real e);' + returns the four complex roots of the quartic equation + ax^4+bx^3+cx^2+dx+e=0. + +`pair[][] fft(pair[][] a, int sign=1)' + returns the two-dimensional Fourier transform of a using the given + `sign'. + +`real time(path g, real x, int n=0)' + returns the `n'th intersection time of path `g' with the vertical + line through x. + +`real time(path g, explicit pair z, int n=0)' + returns the `n'th intersection time of path `g' with the horizontal + line through `(0,z.y)'. + +`real value(path g, real x, int n=0)' + returns the `n'th `y' value of `g' at `x'. + +`real value(path g, real x, int n=0)' + returns the `n'th `x' value of `g' at `y=z.y'. + +`real slope(path g, real x, int n=0)' + returns the `n'th slope of `g' at `x'. + +`real slope(path g, explicit pair z, int n=0)' + returns the `n'th slope of `g' at `y=z.y'. + + int[][] segment(bool[] b) returns the indices of consecutive + true-element segments of bool[] `b'. + +`real[] partialsum(real[] a)' + returns the partial sums of a real array `a'. + +`real[] partialsum(real[] a, real[] dx)' + returns the partial `dx'-weighted sums of a real array `a'. + +`bool increasing(real[] a, bool strict=false)' + returns, if `strict=false', whether `i > j' implies `a[i] >= + a[j]', or if `strict=true', whether `i > j' implies implies `a[i] + > a[j]'. + +`int unique(real[] a, real x)' + if the sorted array `a' does not contain `x', insert it + sequentially, returning the index of `x' in the resulting array. + +`bool lexorder(pair a, pair b)' + returns the strict lexicographical partial order of `a' and `b'. + +`bool lexorder(triple a, triple b)' + returns the strict lexicographical partial order of `a' and `b'. + + +File: asymptote.info, Node: interpolate, Next: geometry, Prev: math, Up: Base modules + +8.4 `interpolate' +================= + +This module implements Lagrange, Hermite, and standard cubic spline +interpolation in `Asymptote', as illustrated in the example +`interpolate1.asy'. + + +File: asymptote.info, Node: geometry, Next: trembling, Prev: interpolate, Up: Base modules + +8.5 `geometry' +============== + +This module, written by Philippe Ivaldi, provides an extensive set of +geometry routines, including `perpendicular' symbols and a `triangle' +structure. Link to the documentation for the `geometry' module are +posted here: `http://asymptote.sourceforge.net/links.html', including +an extensive set of examples, +`http://www.piprime.fr/files/asymptote/geometry/', and an index: + + `http://www.piprime.fr/files/asymptote/geometry/modules/geometry.asy.index.type.html' + + +File: asymptote.info, Node: trembling, Next: stats, Prev: geometry, Up: Base modules + +8.6 `trembling' +=============== + +This module, written by Philippe Ivaldi and illustrated in the example +`floatingdisk.asy', allows one to draw wavy lines, as if drawn by hand. +Further examples are posted at +`http://www.piprime.fr/files/asymptote/trembling/' + + +File: asymptote.info, Node: stats, Next: patterns, Prev: trembling, Up: Base modules + +8.7 `stats' +=========== + +This package implements a Gaussian random number generator and a +collection of statistics routines, including `histogram' and +`leastsquares'. + + +File: asymptote.info, Node: patterns, Next: markers, Prev: stats, Up: Base modules + +8.8 `patterns' +============== + +This package implements `Postscript' tiling patterns and includes +several convenient pattern generation routines. + + +File: asymptote.info, Node: markers, Next: tree, Prev: patterns, Up: Base modules + +8.9 `markers' +============= + +This package implements specialized routines for marking paths and +angles. The principal mark routine provided by this package is +markroutine markinterval(int n=1, frame f, bool rotated=false); + which centers `n' copies of frame `f' within uniformly space intervals +in arclength along the path, optionally rotated by the angle of the +local tangent. + + The `marker' (*note marker::) routine can be used to construct new +markers from these predefined frames: + +frame stickframe(int n=1, real size=0, pair space=0, real angle=0, + pair offset=0, pen p=currentpen); + +frame circlebarframe(int n=1, real barsize=0, + real radius=0,real angle=0, + pair offset=0, pen p=currentpen, + filltype filltype=NoFill, bool above=false); + +frame crossframe(int n=3, real size=0, pair space=0, + real angle=0, pair offset=0, pen p=currentpen); + +frame tildeframe(int n=1, real size=0, pair space=0, + real angle=0, pair offset=0, pen p=currentpen); + + For convenience, this module also constructs the markers +`StickIntervalMarker', `CrossIntervalMarker', +`CircleBarIntervalMarker', and `TildeIntervalMarker' from the above +frames. The example `markers1.asy' illustrates the use of these markers: + + + + +This package also provides a routine for marking an angle AOB: +void markangle(picture pic=currentpicture, Label L="", + int n=1, real radius=0, real space=0, + pair A, pair O, pair B, arrowbar arrow=None, + pen p=currentpen, margin margin=NoMargin, + marker marker=nomarker); + as illustrated in the example `markers2.asy'. + + + + + +File: asymptote.info, Node: tree, Next: binarytree, Prev: markers, Up: Base modules + +8.10 `tree' +=========== + +This package implements an example of a dynamic binary search tree. + + +File: asymptote.info, Node: binarytree, Next: drawtree, Prev: tree, Up: Base modules + +8.11 `binarytree' +================= + +This module can be used to draw an arbitrary binary tree and includes an +input routine for the special case of a binary search tree, as +illustrated in the example `binarytreetest.asy': + +import binarytree; + +picture pic,pic2; + +binarytree bt=binarytree(1,2,4,nil,5,nil,nil,0,nil,nil,3,6,nil,nil,7); +draw(pic,bt); + +binarytree st=searchtree(10,5,2,1,3,4,7,6,8,9,15,13,12,11,14,17,16,18,19); +draw(pic2,st,blue); + +add(pic.fit(),(0,0),10N); +add(pic2.fit(),(0,0),10S); + + + + +File: asymptote.info, Node: drawtree, Next: syzygy, Prev: binarytree, Up: Base modules + +8.12 `drawtree' +=============== + +This is a simple tree drawing module used by the example `treetest.asy'. + + +File: asymptote.info, Node: syzygy, Next: feynman, Prev: drawtree, Up: Base modules + +8.13 `syzygy' +============= + +This module automates the drawing of braids, relations, and syzygies, +along with the corresponding equations, as illustrated in the example +`knots.asy'. + + +File: asymptote.info, Node: feynman, Next: roundedpath, Prev: syzygy, Up: Base modules + +8.14 `feynman' +============== + +This package, contributed by Martin Wiebusch, is useful for drawing +Feynman diagrams, as illustrated by the examples `eetomumu.asy' and +`fermi.asy'. + + +File: asymptote.info, Node: roundedpath, Next: animation, Prev: feynman, Up: Base modules + +8.15 `roundedpath' +================== + +This package, contributed by Stefan Knorr, is useful for rounding the +sharp corners of paths, as illustrated in the example file +`roundpath.asy'. + + +File: asymptote.info, Node: animation, Next: embed, Prev: roundedpath, Up: Base modules + +8.16 `animation' +================ + +This module allows one to generate animations, as illustrated by the +files `wheel.asy', `wavepacket.asy', and `cube.asy' in the `animations' +subdirectory of the examples directory. These animations use the +`ImageMagick' `convert' program to merge multiple images into a GIF or +MPEG movie. + + The related `animate' module, derived from the `animation' module, +generates higher-quality portable clickable PDF movies, with optional +controls. This requires installing the package + + `http://www.ctan.org/tex-archive/macros/latex/contrib/animate/animate.sty' + (version 2007/11/30 or later) in a new directory `animate' in the +local `LaTeX' directory (for example, in +`/usr/local/share/texmf/tex/latex/animate'). On `UNIX' systems, one +must then execute the command `texhash'. + + The example `pdfmovie.asy' in the `animations' directory, along with +the slide presentations `slidemovies.asy' and `intro.asy', illustrate +the use of embedded PDF movies. The examples `inlinemovie.tex' and +`inlinemovie3.tex' show how to generate and embed PDF movies directly +within a `LaTeX' file (*note LaTeX usage::). The member function +string pdf(fit fit=NoBox, real delay=animationdelay, string options="", + bool keep=settings.keep, bool multipage=true); + of the `animate' structure accepts any of the `animate.sty' options, +as described here: + + `http://www.ctan.org/tex-archive/macros/latex/contrib/animate/doc/animate.pdf' + + +File: asymptote.info, Node: embed, Next: slide, Prev: animation, Up: Base modules + +8.17 `embed' +============ + +This module provides an interface to the `LaTeX' package (included with +`MikTeX') + + `http://www.ctan.org/tex-archive/macros/latex/contrib/movie15' + for embedding movies, sounds, and 3D objects into a PDF document. However, +`XeLaTeX' users need to rename the modified version +`movie15_dvipdfmx.sty' from + + `http://asymptote.svn.sourceforge.net/viewvc/asymptote/trunk/asymptote/patches/' + to `movie15.sty' and place it in their `LaTeX' path. + + The latest version of the `movie15' package requires both `pdflatex' +version 1.20 or later and the file + + `http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/ifdraft.dtx' + which can be installed by placing it in a directory `ifdraft' in the +local `LaTeX' directory (e.g. +`/usr/local/share/texmf/tex/latex/ifdraft') and executing in that +directory the commands: +tex ifdraft.dtx +texhash + + A more portable method for embedding movie files, which should work +on any platform and does not require the `movie15' or `ifdraft' +packages, is provided by using the `external' module instead of +`embed'. An example of these interfaces is provided in the file +`embeddedmovie.asy' and `externalmovie.asy' in the `animations' +subdirectory of the examples directory. For a higher quality movie +generated directly by `Asymptote', use the `animate' module along with +the `animate.sty' package to embed a portable PDF animation (*note +animate::). + + An example of embedding `U3D' code is provided in the file +`embeddedu3d.asy'. + + +File: asymptote.info, Node: slide, Next: MetaPost, Prev: embed, Up: Base modules + +8.18 `slide' +============ + +This package provides a simple yet high-quality facility for making +presentation slides, including portable embedded PDF animations (see +the file `slidemovies.asy'). A simple example is provided in the file +`slidedemo.asy'. + + +File: asymptote.info, Node: MetaPost, Next: unicode, Prev: slide, Up: Base modules + +8.19 `MetaPost' +=============== + +This package provides some useful routines to help `MetaPost' users +migrate old `MetaPost' code to `Asymptote'. Further contributions here +are welcome. + + Unlike `MetaPost', `Asymptote' does not implicitly solve linear +equations and therefore does not have the notion of a `whatever' +unknown. The routine `extension' (*note extension::) provides a useful +replacement for a common use of `whatever': finding the intersection +point of the lines through `P', `Q' and `p', `q'. For less common +occurrences of `whatever', one can use the built-in explicit linear +equation solver `solve' instead. + + +File: asymptote.info, Node: unicode, Next: latin1, Prev: MetaPost, Up: Base modules + +8.20 `unicode' +============== + +Import this package at the beginning of the file to instruct `LaTeX' to +accept `unicode' (UTF-8) standardized international characters. To use +Cyrillic fonts, you will need to change the font encoding: +import unicode; +texpreamble("\usepackage{mathtext}\usepackage[russian]{babel}"); +defaultpen(font("T2A","cmr","m","n")); + Support for Chinese, Japanese, and Korean fonts is provided by the CJK +package: + + `http://www.ctan.org/tex-archive/languages/chinese/CJK/' + The following commands enable the CJK song family (within a label, +you can also temporarily switch to another family, say kai, by +prepending `"\CJKfamily{kai}"' to the label string): +texpreamble("\usepackage{CJK} +\AtBeginDocument{\begin{CJK*}{GBK}{song}} +\AtEndDocument{\clearpage\end{CJK*}}"); + + +File: asymptote.info, Node: latin1, Next: babel, Prev: unicode, Up: Base modules + +8.21 `latin1' +============= + +If you don't have `LaTeX' support for `unicode' installed, you can +enable support for Western European languages (ISO 8859-1) by importing +the module `latin1'. This module can be used as a template for +providing support for other ISO 8859 alphabets. + + +File: asymptote.info, Node: babel, Next: labelpath, Prev: latin1, Up: Base modules + +8.22 `babel' +============ + +This module implements the `LaTeX' `babel' package in `Asymptote'. For +example: +import babel; +babel("german"); + + +File: asymptote.info, Node: labelpath, Next: labelpath3, Prev: babel, Up: Base modules + +8.23 `labelpath' +================ + +This module uses the `PSTricks' `pstextpath' macro to fit labels along +a path (properly kerned, as illustrated in the example file +`curvedlabel.asy'), using the command +void labelpath(picture pic=currentpicture, Label L, path g, + string justify=Centered, pen p=currentpen); + Here `justify' is one of `LeftJustified', `Centered', or +`RightJustified'. The x component of a shift transform applied to the +Label is interpreted as a shift along the curve, whereas the y +component is interpreted as a shift away from the curve. All other +Label transforms are ignored. This package requires the `latex' tex +engine and inherits the limitations of the `PSTricks' `\pstextpath' +macro. + + +File: asymptote.info, Node: labelpath3, Next: annotate, Prev: labelpath, Up: Base modules + +8.24 `labelpath3' +================= + +This module, contributed by Jens Schwaiger, implements a 3D version of +`labelpath' that does not require the `PSTricks' package. An example +is provided in `curvedlabel3.asy'. + + +File: asymptote.info, Node: annotate, Next: CAD, Prev: labelpath3, Up: Base modules + +8.25 `annotate' +=============== + +This module supports PDF annotations for viewing with `Adobe Reader', +via the function +void annotate(picture pic=currentpicture, string title, string text, + pair position); + Annotations are illustrated in the example file `annotation.asy'. +Currently, annotations are only implemented for the `latex' (default) +and `tex' TeX engines. + + +File: asymptote.info, Node: CAD, Next: graph, Prev: annotate, Up: Base modules + +8.26 `CAD' +========== + +This package, contributed by Mark Henning, provides basic pen +definitions and measurement functions for simple 2D CAD drawings +according to DIN 15. It is documented separately, in the file `CAD.pdf'. + + +File: asymptote.info, Node: graph, Next: palette, Prev: CAD, Up: Base modules + +8.27 `graph' +============ + +This package implements two-dimensional linear and logarithmic graphs, +including automatic scale and tick selection (with the ability to +override manually). A graph is a `guide' (that can be drawn with the +draw command, with an optional legend) constructed with one of the +following routines: + + * guide graph(picture pic=currentpicture, real f(real), real a, real b, + int n=ngraph, real T(real)=identity, + interpolate join=operator --); + guide[] graph(picture pic=currentpicture, real f(real), real a, real b, + int n=ngraph, real T(real)=identity, bool3 cond(real), + interpolate join=operator --); + + Returns a graph using the scaling information for picture `pic' + (*note automatic scaling::) of the function `f' on the interval + [`T'(`a'),`T'(`b')], sampling at `n' points evenly spaced in + [`a',`b'], optionally restricted by the bool3 function `cond' on + [`a',`b']. If `cond' is: + * `true', the point is added to the existing guide; + + * `default', the point is added to a new guide; + + * `false', the point is omitted and a new guide is begun. + The points are connected using the interpolation specified by + `join': + * `operator --' (linear interpolation; the abbreviation + `Straight' is also accepted); + + * `operator ..' (piecewise Bezier cubic spline interpolation; + the abbreviation `Spline' is also accepted); + + * `Hermite' (standard cubic spline interpolation using boundary + condition `notaknot', `natural', `periodic', `clamped(real + slopea, real slopeb)'), or `monotonic'. The abbreviation + `Hermite' is equivalent to `Hermite(notaknot)' for + nonperiodic data and `Hermite(periodic)' for periodic data). + + + * guide graph(picture pic=currentpicture, real x(real), real y(real), + real a, real b, int n=ngraph, real T(real)=identity, + interpolate join=operator --); + guide[] graph(picture pic=currentpicture, real x(real), real y(real), + real a, real b, int n=ngraph, real T(real)=identity, + bool3 cond(real), interpolate join=operator --); + + Returns a graph using the scaling information for picture `pic' of + the parametrized function (`x'(t),`y'(t)) for t in the interval + [`T'(`a'),`T'(`b')], sampling at `n' points evenly spaced in + [`a',`b'], optionally restricted by the bool3 function `cond' on + [`a',`b'], using the given interpolation type. + + * guide graph(picture pic=currentpicture, pair z(real), real a, real b, + int n=ngraph, real T(real)=identity, + interpolate join=operator --); + guide[] graph(picture pic=currentpicture, pair z(real), real a, real b, + int n=ngraph, real T(real)=identity, bool3 cond(real), + interpolate join=operator --); + + Returns a graph using the scaling information for picture `pic' of + the parametrized function `z'(t) for t in the interval + [`T'(`a'),`T'(`b')], sampling at `n' points evenly spaced in + [`a',`b'], optionally restricted by the bool3 function `cond' on + [`a',`b'], using the given interpolation type. + + * guide graph(picture pic=currentpicture, pair[] z, + interpolate join=operator --); + guide[] graph(picture pic=currentpicture, pair[] z, bool3[] cond, + interpolate join=operator --); + + Returns a graph using the scaling information for picture `pic' of + the elements of the array `z', optionally restricted to those + indices for which the elements of the boolean array `cond' are + `true', using the given interpolation type. + + * guide graph(picture pic=currentpicture, real[] x, real[] y, + interpolate join=operator --); + guide[] graph(picture pic=currentpicture, real[] x, real[] y, + bool3[] cond, interpolate join=operator --); + + Returns a graph using the scaling information for picture `pic' of + the elements of the arrays (`x',`y'), optionally restricted to + those indices for which the elements of the boolean array `cond' + are `true', using the given interpolation type. + + * guide polargraph(picture pic=currentpicture, real f(real), real a, + real b, int n=ngraph, interpolate join=operator --); + + Returns a polar-coordinate graph using the scaling information for + picture `pic' of the function `f' on the interval [`a',`b'], + sampling at `n' evenly spaced points, with the given interpolation + type. + + * guide polargraph(picture pic=currentpicture, real[] r, real[] theta, + interpolate join=operator--); + Returns a polar-coordinate graph using the scaling information for + picture `pic' of the elements of the arrays (`r',`theta'), using + the given interpolation type. + + + + + An axis can be drawn on a picture with one of the following commands: + + * void xaxis(picture pic=currentpicture, Label L="", axis axis=YZero, + real xmin=-infinity, real xmax=infinity, pen p=currentpen, + ticks ticks=NoTicks, arrowbar arrow=None, bool above=false); + + Draw an x axis on picture `pic' from x=`xmin' to x=`xmax' using + pen `p', optionally labelling it with Label `L'. The relative + label location along the axis (a real number from [0,1]) defaults + to 1 (*note Label::), so that the label is drawn at the end of the + axis. An infinite value of `xmin' or `xmax' specifies that the + corresponding axis limit will be automatically determined from the + picture limits. The optional `arrow' argument takes the same + values as in the `draw' command (*note arrows::). The axis is + drawn before any existing objects in `pic' unless `above=true'. + The axis placement is determined by one of the following `axis' + types: + + `YZero(bool extend=true)' + Request an x axis at y=0 (or y=1 on a logarithmic axis) + extending to the full dimensions of the picture, unless + `extend'=false. + + `YEquals(real Y, bool extend=true)' + Request an x axis at y=`Y' extending to the full dimensions + of the picture, unless `extend'=false. + + `Bottom(bool extend=false)' + Request a bottom axis. + + `Top(bool extend=false)' + Request a top axis. + + `BottomTop(bool extend=false)' + Request a bottom and top axis. + + + Custom axis types can be created by following the examples in + `graph.asy'. One can easily override the default values for the + standard axis types: import graph; + + YZero=new axis(bool extend=true) { + return new void(picture pic, axisT axis) { + real y=pic.scale.x.scale.logarithmic ? 1 : 0; + axis.value=I*pic.scale.y.T(y); + axis.position=1; + axis.side=right; + axis.align=2.5E; + axis.value2=Infinity; + axis.extend=extend; + }; + }; + YZero=YZero(); + + The default tick option is `NoTicks'. The options `LeftTicks', + `RightTicks', or `Ticks' can be used to draw ticks on the left, + right, or both sides of the path, relative to the direction in + which the path is drawn. These tick routines accept a number of + optional arguments: ticks LeftTicks(Label format="", ticklabel ticklabel=null, + bool beginlabel=true, bool endlabel=true, + int N=0, int n=0, real Step=0, real step=0, + bool begin=true, bool end=true, tickmodifier modify=None, + real Size=0, real size=0, bool extend=false, + pen pTick=nullpen, pen ptick=nullpen); + + If any of these parameters are omitted, reasonable defaults will + be chosen: + `Label format' + override the default tick label format (`defaultformat', + initially "$%.4g$"), rotation, pen, and alignment (for + example, `LeftSide', `Center', or `RightSide') relative to + the axis. To enable `LaTeX' math mode fonts, the format + string should begin and end with `$' *note format::. If the + format string is `trailingzero', trailing zeros will be added + to the tick labels; if the format string is `"%"', the tick + label will be suppressed; + + `ticklabel' + is a function `string(real x)' returning the label (by + default, format(format.s,x)) for each major tick value `x'; + + `bool beginlabel' + include the first label; + + `bool endlabel' + include the last label; + + `int N' + when automatic scaling is enabled (the default; *note + automatic scaling::), divide a linear axis evenly into this + many intervals, separated by major ticks; for a logarithmic + axis, this is the number of decades between labelled ticks; + + `int n' + divide each interval into this many subintervals, separated + by minor ticks; + + `real Step' + the tick value spacing between major ticks (if `N'=`0'); + + `real step' + the tick value spacing between minor ticks (if `n'=`0'); + + `bool begin' + include the first major tick; + + `bool end' + include the last major tick; + + `tickmodifier modify;' + an optional function that takes and returns a `tickvalue' + structure having real[] members `major' and `minor' + consisting of the tick values (to allow modification of the + automatically generated tick values); + + `real Size' + the size of the major ticks (in `PostScript' coordinates); + + `real size' + the size of the minor ticks (in `PostScript' coordinates); + + `bool extend;' + extend the ticks between two axes (useful for drawing a grid + on the graph); + + `pen pTick' + an optional pen used to draw the major ticks; + + `pen ptick' + an optional pen used to draw the minor ticks. + + + For convenience, the predefined tickmodifiers `OmitTick(... real[] + x)', `OmitTickInterval(real a, real b)', and + `OmitTickIntervals(real[] a, real[] b)' can be used to remove + specific auto-generated ticks and their labels. The + `OmitFormat(string s=defaultformat ... real[] x)' ticklabel can be + used to remove specific tick labels but not the corresponding + ticks. The tickmodifier `NoZero' is an abbreviation for + `OmitTick(0)' and the ticklabel `NoZeroFormat' is an abbrevation + for `OmitFormat(0)'. + + It is also possible to specify custom tick locations with + `LeftTicks', `RightTicks', and `Ticks' by passing explicit real + arrays `Ticks' and (optionally) `ticks' containing the locations + of the major and minor ticks, respectively: ticks LeftTicks(Label format="", ticklabel ticklabel=null, + bool beginlabel=true, bool endlabel=true, + real[] Ticks, real[] ticks=new real[], + real Size=0, real size=0, bool extend=false, + pen pTick=nullpen, pen ptick=nullpen) + + * void yaxis(picture pic=currentpicture, Label L="", axis axis=XZero, + real ymin=-infinity, real ymax=infinity, pen p=currentpen, + ticks ticks=NoTicks, arrowbar arrow=None, bool above=false, + bool autorotate=true); + + Draw a y axis on picture `pic' from y=`ymin' to y=`ymax' using pen + `p', optionally labelling it with a Label `L' that is autorotated + unless `autorotate=false'. The relative location of the label (a + real number from [0,1]) defaults to 1 (*note Label::). An infinite + value of `ymin' or `ymax' specifies that the corresponding axis + limit will be automatically determined from the picture limits. + The optional `arrow' argument takes the same values as in the + `draw' command (*note arrows::). The axis is drawn before any + existing objects in `pic' unless `above=true'. The tick type is + specified by `ticks' and the axis placement is determined by one + of the following `axis' types: + + `XZero(bool extend=true)' + Request a y axis at x=0 (or x=1 on a logarithmic axis) + extending to the full dimensions of the picture, unless + `extend'=false. + + `XEquals(real X, bool extend=true)' + Request a y axis at x=`X' extending to the full dimensions of + the picture, unless `extend'=false. + + `Left(bool extend=false)' + Request a left axis. + + `Right(bool extend=false)' + Request a right axis. + + `LeftRight(bool extend=false)' + Request a left and right axis. + + + * For convenience, the functions void xequals(picture pic=currentpicture, Label L="", real x, + bool extend=false, real ymin=-infinity, real ymax=infinity, + pen p=currentpen, ticks ticks=NoTicks, bool above=true, + arrowbar arrow=None); + and void yequals(picture pic=currentpicture, Label L="", real y, + bool extend=false, real xmin=-infinity, real xmax=infinity, + pen p=currentpen, ticks ticks=NoTicks, bool above=true, + arrowbar arrow=None); + can be respectively used to call `yaxis' and `xaxis' with the + appropriate axis types `XEquals(x,extend)' and + `YEquals(y,extend)'. This is the recommended way of drawing + vertical or horizontal lines and axes at arbitrary locations. + + * void axes(picture pic=currentpicture, Label xlabel="", Label ylabel="", + pair min=(-infinity,-infinity), pair max=(infinity,infinity), + pen p=currentpen, arrowbar arrow=None, bool above=false); + This convenience routine draws both x and y axes on picture `pic' + from `min' to `max', with optional labels `xlabel' and `ylabel' + and any arrows specified by `arrow'. The axes are drawn on top of + existing objects in `pic' only if `above=true'. + + * void axis(picture pic=currentpicture, Label L="", path g, + pen p=currentpen, ticks ticks, ticklocate locate, + arrowbar arrow=None, int[] divisor=new int[], + bool above=false, bool opposite=false); + + This routine can be used to draw on picture `pic' a general axis + based on an arbitrary path `g', using pen `p'. One can optionally + label the axis with Label `L' and add an arrow `arrow'. The tick + type is given by `ticks'. The optional integer array `divisor' + specifies what tick divisors to try in the attempt to produce + uncrowded tick labels. A `true' value for the flag `opposite' + identifies an unlabelled secondary axis (typically drawn opposite + a primary axis). The axis is drawn before any existing objects in + `pic' unless `above=true'. The tick locator `ticklocate' is + constructed by the routine ticklocate ticklocate(real a, real b, autoscaleT S=defaultS, + real tickmin=-infinity, real tickmax=infinity, + real time(real)=null, pair dir(real)=zero); + where `a' and `b' specify the respective tick values at + `point(g,0)' and `point(g,length(g))', `S' specifies the + autoscaling transformation, the function `real time(real v)' + returns the time corresponding to the value `v', and `pair + dir(real t)' returns the absolute tick direction as a function of + `t' (zero means draw the tick perpendicular to the axis). + + * These routines are useful for manually putting ticks and labels on + axes (if the variable `Label' is given as the `Label' argument, + the `format' argument will be used to format a string based on the + tick location): void xtick(picture pic=currentpicture, Label L="", explicit pair z, + pair dir=N, string format="", + real size=Ticksize, pen p=currentpen); + void xtick(picture pic=currentpicture, Label L="", real x, + pair dir=N, string format="", + real size=Ticksize, pen p=currentpen); + void ytick(picture pic=currentpicture, Label L="", explicit pair z, + pair dir=E, string format="", + real size=Ticksize, pen p=currentpen); + void ytick(picture pic=currentpicture, Label L="", real y, + pair dir=E, string format="", + real size=Ticksize, pen p=currentpen); + void tick(picture pic=currentpicture, pair z, + pair dir, real size=Ticksize, pen p=currentpen); + void labelx(picture pic=currentpicture, Label L="", explicit pair z, + align align=S, string format="", pen p=currentpen); + void labelx(picture pic=currentpicture, Label L="", real x, + align align=S, string format="", pen p=currentpen); + void labelx(picture pic=currentpicture, Label L, + string format="", explicit pen p=currentpen); + void labely(picture pic=currentpicture, Label L="", explicit pair z, + align align=W, string format="", pen p=currentpen); + void labely(picture pic=currentpicture, Label L="", real y, + align align=W, string format="", pen p=currentpen); + void labely(picture pic=currentpicture, Label L, + string format="", explicit pen p=currentpen); + + Here are some simple examples of two-dimensional graphs: + + 1. This example draws a textbook-style graph of y= exp(x), with the y + axis starting at y=0: import graph; + size(150,0); + + real f(real x) {return exp(x);} + pair F(real x) {return (x,f(x));} + + xaxis("$x$"); + yaxis("$y$",0); + + draw(graph(f,-4,2,operator ..),red); + + labely(1,E); + label("$e^x$",F(1),SE); + + + + 2. The next example draws a scientific-style graph with a legend. + The position of the legend can be adjusted either explicitly or by + using the graphical user interface `xasy' (*note GUI::). If an + `UnFill(real xmargin=0, real ymargin=xmargin)' or `Fill(pen)' + option is specified to `add', the legend will obscure any + underlying objects. Here we illustrate how to clip the portion of + the picture covered by a label: + + import graph; + + size(400,200,IgnoreAspect); + + real Sin(real t) {return sin(2pi*t);} + real Cos(real t) {return cos(2pi*t);} + + draw(graph(Sin,0,1),red,"$\sin(2\pi x)$"); + draw(graph(Cos,0,1),blue,"$\cos(2\pi x)$"); + + xaxis("$x$",BottomTop,LeftTicks); + yaxis("$y$",LeftRight,RightTicks(trailingzero)); + + label("LABEL",point(0),UnFill(1mm)); + + add(legend(),point(E),20E,UnFill); + + + + To specify a fixed size for the graph proper, use `attach': import graph; + + size(250,200,IgnoreAspect); + + real Sin(real t) {return sin(2pi*t);} + real Cos(real t) {return cos(2pi*t);} + + draw(graph(Sin,0,1),red,"$\sin(2\pi x)$"); + draw(graph(Cos,0,1),blue,"$\cos(2\pi x)$"); + + xaxis("$x$",BottomTop,LeftTicks); + yaxis("$y$",LeftRight,RightTicks(trailingzero)); + + label("LABEL",point(0),UnFill(1mm)); + + attach(legend(),truepoint(E),20E,UnFill); + A legend can have multiple entries per line: import graph; + size(8cm,6cm,IgnoreAspect); + + typedef real realfcn(real); + realfcn F(real p) { + return new real(real x) {return sin(p*x);}; + }; + + for(int i=1; i < 5; ++i) + draw(graph(F(i*pi),0,1),Pen(i), + "$\sin("+(i == 1 ? "" : (string) i)+"\pi x)$"); + xaxis("$x$",BottomTop,LeftTicks); + yaxis("$y$",LeftRight,RightTicks(trailingzero)); + + attach(legend(2),(point(S).x,truepoint(S).y),10S,UnFill); + + + + 3. This example draws a graph of one array versus another (both of + the same size) using custom tick locations and a smaller font size + for the tick labels on the y axis. import graph; + + size(200,150,IgnoreAspect); + + real[] x={0,1,2,3}; + real[] y=x^2; + + draw(graph(x,y),red); + + xaxis("$x$",BottomTop,LeftTicks); + yaxis("$y$",LeftRight, + RightTicks(Label(fontsize(8pt)),new real[]{0,4,9})); + + + + 4. This example shows how to graph columns of data read from a file. import graph; + + size(200,150,IgnoreAspect); + + file in=input("filegraph.dat").line(); + real[][] a=in.dimension(0,0); + a=transpose(a); + + real[] x=a[0]; + real[] y=a[1]; + + draw(graph(x,y),red); + + xaxis("$x$",BottomTop,LeftTicks); + yaxis("$y$",LeftRight,RightTicks); + + + + 5. The next example draws two graphs of an array of coordinate pairs, + using frame alignment and data markers. In the left-hand graph, the + markers, constructed with marker marker(path g, markroutine markroutine=marknodes, + pen p=currentpen, filltype filltype=NoFill, + bool above=true); + using the path `unitcircle' (*note filltype::), are drawn below + each node. Any frame can be converted to a marker, using marker marker(frame f, markroutine markroutine=marknodes, + bool above=true); + In the right-hand graph, the unit n-sided regular polygon + `polygon(int n)' and the unit n-point cyclic cross `cross(int n, + bool round=true, real r=0)' (where `r' is an optional "inner" + radius) are used to build a custom marker frame. Here + `markuniform(bool centered=false, int n, bool rotated=false)' adds + this frame at `n' uniformly spaced points along the arclength of + the path, optionally rotated by the angle of the local tangent to + the path (if centered is true, the frames will be centered within + `n' evenly spaced arclength intervals). Alternatively, one can use + markroutine `marknodes' to request that the marks be placed at each + Bezier node of the path, or markroutine `markuniform(pair z(real + t), real a, real b, int n)' to place marks at points `z(t)' for n + evenly spaced values of `t' in `[a,b]'. + + These markers are predefined: marker[] Mark={ + marker(scale(circlescale)*unitcircle), + marker(polygon(3)),marker(polygon(4)), + marker(polygon(5)),marker(invert*polygon(3)), + marker(cross(4)),marker(cross(6)) + }; + + marker[] MarkFill={ + marker(scale(circlescale)*unitcircle,Fill),marker(polygon(3),Fill), + marker(polygon(4),Fill),marker(polygon(5),Fill), + marker(invert*polygon(3),Fill) + }; + + The example also illustrates the `errorbar' routines: + + void errorbars(picture pic=currentpicture, pair[] z, pair[] dp, + pair[] dm={}, bool[] cond={}, pen p=currentpen, + real size=0); + + void errorbars(picture pic=currentpicture, real[] x, real[] y, + real[] dpx, real[] dpy, real[] dmx={}, real[] dmy={}, + bool[] cond={}, pen p=currentpen, real size=0); + + Here, the positive and negative extents of the error are given by + the absolute values of the elements of the pair array `dp' and the + optional pair array `dm'. If `dm' is not specified, the positive + and negative extents of the error are assumed to be equal. import graph; + + picture pic; + real xsize=200, ysize=140; + size(pic,xsize,ysize,IgnoreAspect); + + pair[] f={(5,5),(50,20),(90,90)}; + pair[] df={(0,0),(5,7),(0,5)}; + + errorbars(pic,f,df,red); + draw(pic,graph(pic,f),"legend", + marker(scale(0.8mm)*unitcircle,red,FillDraw(blue),above=false)); + + scale(pic,true); + + xaxis(pic,"$x$",BottomTop,LeftTicks); + yaxis(pic,"$y$",LeftRight,RightTicks); + add(pic,legend(pic),point(pic,NW),20SE,UnFill); + + picture pic2; + size(pic2,xsize,ysize,IgnoreAspect); + + frame mark; + filldraw(mark,scale(0.8mm)*polygon(6),green,green); + draw(mark,scale(0.8mm)*cross(6),blue); + + draw(pic2,graph(pic2,f),marker(mark,markuniform(5))); + + scale(pic2,true); + + xaxis(pic2,"$x$",BottomTop,LeftTicks); + yaxis(pic2,"$y$",LeftRight,RightTicks); + + yequals(pic2,55.0,red+Dotted); + xequals(pic2,70.0,red+Dotted); + + // Fit pic to W of origin: + add(pic.fit(),(0,0),W); + + // Fit pic2 to E of (5mm,0): + add(pic2.fit(),(5mm,0),E); + + + + 6. A custom mark routine can be also be specified: import graph; + + size(200,100,IgnoreAspect); + + markroutine marks() { + return new void(picture pic=currentpicture, frame f, path g) { + path p=scale(1mm)*unitcircle; + for(int i=0; i <= length(g); ++i) { + pair z=point(g,i); + frame f; + if(i % 4 == 0) { + fill(f,p); + add(pic,f,z); + } else { + if(z.y > 50) { + pic.add(new void(frame F, transform t) { + path q=shift(t*z)*p; + unfill(F,q); + draw(F,q); + }); + } else { + draw(f,p); + add(pic,f,z); + } + } + } + }; + } + + pair[] f={(5,5),(40,20),(55,51),(90,30)}; + + draw(graph(f),marker(marks())); + + scale(true); + + xaxis("$x$",BottomTop,LeftTicks); + yaxis("$y$",LeftRight,RightTicks); + + + + 7. This example shows how to label an axis with arbitrary strings. import graph; + + size(400,150,IgnoreAspect); + + real[] x=sequence(12); + real[] y=sin(2pi*x/12); + + scale(false); + + string[] month={"Jan","Feb","Mar","Apr","May","Jun", + "Jul","Aug","Sep","Oct","Nov","Dec"}; + + draw(graph(x,y),red,MarkFill[0]); + + xaxis(BottomTop,LeftTicks(new string(real x) { + return month[round(x % 12)];})); + yaxis("$y$",LeftRight,RightTicks(4)); + + + + 8. The next example draws a graph of a parametrized curve. The calls + to xlimits(picture pic=currentpicture, real min=-infinity, + real max=infinity, bool crop=NoCrop); + and the analogous function `ylimits' can be uncommented to set + the respective axes limits for picture `pic' to the specified + `min' and `max' values. Alternatively, the function void limits(picture pic=currentpicture, pair min, pair max, bool crop=NoCrop); + can be used to limit the axes to the box having opposite vertices + at the given pairs). Existing objects in picture `pic' will be + cropped to lie within the given limits if `crop'=`Crop'. The + function `crop(picture pic)' can be used to crop a graph to the + current graph limits. import graph; + + size(0,200); + + real x(real t) {return cos(2pi*t);} + real y(real t) {return sin(2pi*t);} + + draw(graph(x,y,0,1)); + + //xlimits(0,1,Crop); + //ylimits(-1,0,Crop); + + xaxis("$x$",BottomTop,LeftTicks); + yaxis("$y$",LeftRight,RightTicks(trailingzero)); + + + + The next example illustrates how one can extract a common axis + scaling factor. import graph; + + axiscoverage=0.9; + size(200,IgnoreAspect); + + real[] x={-1e-11,1e-11}; + real[] y={0,1e6}; + + real xscale=round(log10(max(x))); + real yscale=round(log10(max(y)))-1; + + draw(graph(x*10^(-xscale),y*10^(-yscale)),red); + + xaxis("$x/10^{"+(string) xscale+"}$",BottomTop,LeftTicks); + yaxis("$y/10^{"+(string) yscale+"}$",LeftRight,RightTicks(trailingzero)); + + + + Axis scaling can be requested and/or automatic selection of the + axis limits can be inhibited with one of these `scale' routines: void scale(picture pic=currentpicture, scaleT x, scaleT y); + + void scale(picture pic=currentpicture, bool xautoscale=true, + bool yautoscale=xautoscale, bool zautoscale=yautoscale); + + This sets the scalings for picture `pic'. The `graph' routines + accept an optional `picture' argument for determining the + appropriate scalings to use; if none is given, it uses those set + for `currentpicture'. + + Two frequently used scaling routines `Linear' and `Log' are + predefined in `graph'. + + All picture coordinates (including those in paths and those given + to the `label' and `limits' functions) are always treated as linear + (post-scaled) coordinates. Use pair Scale(picture pic=currentpicture, pair z); + to convert a graph coordinate into a scaled picture coordinate. + + The x and y components can be individually scaled using the + analogous routines real ScaleX(picture pic=currentpicture, real x); + real ScaleY(picture pic=currentpicture, real y); + + The predefined scaling routines can be given two optional boolean + arguments: `automin=false' and `automax=automin'. These default to + `false' but can be respectively set to `true' to enable automatic + selection of "nice" axis minimum and maximum values. The `Linear' + scaling can also take as optional final arguments a multiplicative + scaling factor and intercept (e.g. for a depth axis, `Linear(-1)' + requests axis reversal). + + For example, to draw a log/log graph of a function, use + `scale(Log,Log)': import graph; + + size(200,200,IgnoreAspect); + + real f(real t) {return 1/t;} + + scale(Log,Log); + + draw(graph(f,0.1,10)); + + //xlimits(1,10,Crop); + //ylimits(0.1,1,Crop); + + dot(Label("(3,5)",align=S),Scale((3,5))); + + xaxis("$x$",BottomTop,LeftTicks); + yaxis("$y$",LeftRight,RightTicks); + + + + By extending the ticks, one can easily produce a logarithmic grid: import graph; + size(200,200,IgnoreAspect); + + real f(real t) {return 1/t;} + + scale(Log,Log); + draw(graph(f,0.1,10),red); + pen thin=linewidth(0.5*linewidth()); + xaxis("$x$",BottomTop,LeftTicks(begin=false,end=false,extend=true, + ptick=thin)); + yaxis("$y$",LeftRight,RightTicks(begin=false,end=false,extend=true, + ptick=thin)); + + + + One can also specify custom tick locations and formats for + logarithmic axes: import graph; + + size(300,175,IgnoreAspect); + scale(Log,Log); + draw(graph(identity,5,20)); + xlimits(5,20); + ylimits(1,100); + xaxis("$M/M_\odot$",BottomTop,LeftTicks(DefaultFormat, + new real[] {6,10,12,14,16,18})); + yaxis("$\nu_{\rm upp}$ [Hz]",LeftRight,RightTicks(DefaultFormat)); + + + + It is easy to draw logarithmic graphs with respect to other bases: import graph; + size(200,IgnoreAspect); + + // Base-2 logarithmic scale on y-axis: + + real log2(real x) {static real log2=log(2); return log(x)/log2;} + real pow2(real x) {return 2^x;} + + scaleT yscale=scaleT(log2,pow2,logarithmic=true); + scale(Linear,yscale); + + real f(real x) {return 1+x^2;} + + draw(graph(f,-4,4)); + + yaxis("$y$",ymin=1,ymax=f(5),RightTicks(Label(Fill(white))),EndArrow); + xaxis("$x$",xmin=-5,xmax=5,LeftTicks,EndArrow); + + + + Here is an example of "broken" linear x and logarithmic y axes + that omit the segments [3,8] and [100,1000], respectively. In the + case of a logarithmic axis, the break endpoints are automatically + rounded to the nearest integral power of the base. import graph; + + size(200,150,IgnoreAspect); + + // Break the x axis at 3; restart at 8: + real a=3, b=8; + + // Break the y axis at 100; restart at 1000: + real c=100, d=1000; + + scale(Broken(a,b),BrokenLog(c,d)); + + real[] x={1,2,4,6,10}; + real[] y=x^4; + + draw(graph(x,y),red,MarkFill[0]); + + xaxis("$x$",BottomTop,LeftTicks(Break(a,b))); + yaxis("$y$",LeftRight,RightTicks(Break(c,d))); + + label(rotate(90)*Break,(a,point(S).y)); + label(rotate(90)*Break,(a,point(N).y)); + label(Break,(point(W).x,ScaleY(c))); + label(Break,(point(E).x,ScaleY(c))); + + + + 9. `Asymptote' can draw secondary axes with the routines picture secondaryX(picture primary=currentpicture, void f(picture)); + picture secondaryY(picture primary=currentpicture, void f(picture)); + + In this example, `secondaryY' is used to draw a secondary linear y + axis against a primary logarithmic y axis: import graph; + texpreamble("\def\Arg{\mathop {\rm Arg}\nolimits}"); + + size(10cm,5cm,IgnoreAspect); + + real ampl(real x) {return 2.5/(1+x^2);} + real phas(real x) {return -atan(x)/pi;} + + scale(Log,Log); + draw(graph(ampl,0.01,10)); + ylimits(0.001,100); + + xaxis("$\omega\tau_0$",BottomTop,LeftTicks); + yaxis("$|G(\omega\tau_0)|$",Left,RightTicks); + + picture q=secondaryY(new void(picture pic) { + scale(pic,Log,Linear); + draw(pic,graph(pic,phas,0.01,10),red); + ylimits(pic,-1.0,1.5); + yaxis(pic,"$\Arg G/\pi$",Right,red, + LeftTicks("$% #.1f$", + begin=false,end=false)); + yequals(pic,1,Dotted); + }); + label(q,"(1,0)",Scale(q,(1,0)),red); + add(q); + + + + A secondary logarithmic y axis can be drawn like this: import graph; + + size(9cm,6cm,IgnoreAspect); + string data="secondaryaxis.csv"; + + file in=input(data).line().csv(); + + string[] titlelabel=in; + string[] columnlabel=in; + + real[][] a=in.dimension(0,0); + a=transpose(a); + real[] t=a[0], susceptible=a[1], infectious=a[2], dead=a[3], larvae=a[4]; + real[] susceptibleM=a[5], exposed=a[6],infectiousM=a[7]; + + scale(true); + + draw(graph(t,susceptible,t >= 10 & t <= 15)); + draw(graph(t,dead,t >= 10 & t <= 15),dashed); + + xaxis("Time ($\tau$)",BottomTop,LeftTicks); + yaxis(Left,RightTicks); + + picture secondary=secondaryY(new void(picture pic) { + scale(pic,Linear(true),Log(true)); + draw(pic,graph(pic,t,infectious,t >= 10 & t <= 15),red); + yaxis(pic,Right,red,LeftTicks(begin=false,end=false)); + }); + + add(secondary); + label(shift(5mm*N)*"Proportion of crows",point(NW),E); + + + + 10. Here is a histogram example, which uses the `stats' module. import graph; + import stats; + + size(400,200,IgnoreAspect); + + int n=10000; + real[] a=new real[n]; + for(int i=0; i < n; ++i) a[i]=Gaussrand(); + + draw(graph(Gaussian,min(a),max(a)),blue); + + // Optionally calculate "optimal" number of bins a la Shimazaki and Shinomoto. + int N=bins(a); + + histogram(a,min(a),max(a),N,normalize=true,low=0,lightred,black,bars=false); + + xaxis("$x$",BottomTop,LeftTicks); + yaxis("$dP/dx$",LeftRight,RightTicks(trailingzero)); + + + + 11. Here is an example of reading column data in from a file and a + least-squares fit, using the `stats' module. size(400,200,IgnoreAspect); + + import graph; + import stats; + + file fin=input("leastsquares.dat").line(); + + real[][] a=fin.dimension(0,0); + a=transpose(a); + + real[] t=a[0], rho=a[1]; + + // Read in parameters from the keyboard: + //real first=getreal("first"); + //real step=getreal("step"); + //real last=getreal("last"); + + real first=100; + real step=50; + real last=700; + + // Remove negative or zero values of rho: + t=rho > 0 ? t : null; + rho=rho > 0 ? rho : null; + + scale(Log(true),Linear(true)); + + int n=step > 0 ? ceil((last-first)/step) : 0; + + real[] T,xi,dxi; + + for(int i=0; i <= n; ++i) { + real first=first+i*step; + real[] logrho=(t >= first & t <= last) ? log(rho) : null; + real[] logt=(t >= first & t <= last) ? -log(t) : null; + + if(logt.length < 2) break; + + // Fit to the line logt=L.m*logrho+L.b: + linefit L=leastsquares(logt,logrho); + + T.push(first); + xi.push(L.m); + dxi.push(L.dm); + } + + draw(graph(T,xi),blue); + errorbars(T,xi,dxi,red); + + crop(); + + ylimits(0); + + xaxis("$T$",BottomTop,LeftTicks); + yaxis("$\xi$",LeftRight,RightTicks); + + + + 12. Here is an example that illustrates the general `axis' routine. import graph; + size(0,100); + + path g=ellipse((0,0),1,2); + + scale(true); + + axis(Label("C",align=10W),g,LeftTicks(endlabel=false,8,end=false), + ticklocate(0,360,new real(real v) { + path h=(0,0)--max(abs(max(g)),abs(min(g)))*dir(v); + return intersect(g,h)[0];})); + + + + 13. To draw a vector field of `n' arrows evenly spaced along the + arclength of a path, use the routine picture vectorfield(path vector(real), path g, int n, bool truesize=false, + pen p=currentpen, arrowbar arrow=Arrow); + as illustrated in this simple example of a flow field: import graph; + defaultpen(1.0); + + size(0,150,IgnoreAspect); + + real arrowsize=4mm; + real arrowlength=2arrowsize; + + typedef path vector(real); + + // Return a vector interpolated linearly between a and b. + vector vector(pair a, pair b) { + return new path(real x) { + return (0,0)--arrowlength*interp(a,b,x); + }; + } + + real f(real x) {return 1/x;} + + real epsilon=0.5; + path g=graph(f,epsilon,1/epsilon); + + int n=3; + draw(g); + xaxis("$x$"); + yaxis("$y$"); + + add(vectorfield(vector(W,W),g,n,true)); + add(vectorfield(vector(NE,NW),(0,0)--(point(E).x,0),n,true)); + add(vectorfield(vector(NE,NE),(0,0)--(0,point(N).y),n,true)); + + + + 14. To draw a vector field of `nx'\times`ny' arrows in `box(a,b)', use + the routine picture vectorfield(path vector(pair), pair a, pair b, + int nx=nmesh, int ny=nx, bool truesize=false, + real maxlength=truesize ? 0 : maxlength(a,b,nx,ny), + bool cond(pair z)=null, pen p=currentpen, + arrowbar arrow=Arrow, margin margin=PenMargin) + as illustrated in this example: import graph; + size(100); + + pair a=(0,0); + pair b=(2pi,2pi); + + path vector(pair z) {return (0,0)--(sin(z.x),cos(z.y));} + + add(vectorfield(vector,a,b)); + + + + 15. The following scientific graphs, which illustrate many features of + `Asymptote''s graphics routines, were generated from the examples + `diatom.asy' and `westnile.asy', using the comma-separated data in + `diatom.csv' and `westnile.csv'. + + + +File: asymptote.info, Node: palette, Next: three, Prev: graph, Up: Base modules + +8.28 `palette' +============== + +`Asymptote' can also generate color density images and palettes. The +following palettes are predefined in `palette.asy': + +`pen[] Grayscale(int NColors=256)' + a grayscale palette; + +`pen[] Rainbow(int NColors=32766)' + a rainbow spectrum; + +`pen[] BWRainbow(int NColors=32761)' + a rainbow spectrum tapering off to black/white at the ends; + +`pen[] BWRainbow2(int NColors=32761)' + a double rainbow palette tapering off to black/white at the ends, + with a linearly scaled intensity. + +`pen[] Wheel(int NColors=32766)' + a full color wheel palette; + +`pen[] Gradient(int NColors=256 ... pen[] p)' + a palette varying linearly over the specified array of pens, using + NColors in each interpolation interval; + + + The function `cmyk(pen[] Palette)' may be used to convert any of +these palettes to the CMYK colorspace. + + A color density plot using palette `palette' can be generated from a +function `f'(x,y) and added to a picture `pic': +bounds image(picture pic=currentpicture, real f(real, real), + range range=Full, pair initial, pair final, + int nx=ngraph, int ny=nx, pen[] palette, bool antialias=false) + The function `f' will be sampled at `nx' and `ny' evenly spaced points +over a rectangle defined by the points `initial' and `final', +respecting the current graphical scaling of `pic'. The color space is +scaled according to the z axis scaling (*note automatic scaling::). A +bounds structure for the function values is returned: +struct bounds { + real min; + real max; + // Possible tick intervals: + int[] divisor; +} + This information can be used for generating an optional palette bar. +The palette color space corresponds to a range of values specified by +the argument `range', which can be `Full', `Automatic', or an explicit +range `Range(real min, real max)'. Here `Full' specifies a range +varying from the minimum to maximum values of the function over the +sampling interval, while `Automatic' selects "nice" limits. The +example `imagecontour.asy' illustrates how level sets (contour lines) +can be drawn on a color density plot (*note contour::). + + A color density plot can also be generated from an explicit real[][] +array `data': +bounds image(picture pic=currentpicture, real[][] f, range range=Full, + pair initial, pair final, pen[] palette, + bool transpose=(initial.x < final.x && initial.y < final.y), + bool copy=true, bool antialias=false); + If the initial point is to the left and below the final point, by +default the array indices are interpreted according to the Cartesian +convention (first index: x, second index: y) rather than the usual +matrix convention (first index: -y, second index: x). + + To construct an image from an array of irregularly spaced points and +an array of values `f' at these points, use one of the routines +bounds image(picture pic=currentpicture, pair[] z, real[] f, + range range=Full, pen[] palette) +bounds image(picture pic=currentpicture, real[] x, real[] y, real[] f, + range range=Full, pen[] palette) + + An optionally labelled palette bar may be generated with the routine +void palette(picture pic=currentpicture, Label L="", bounds bounds, + pair initial, pair final, axis axis=Right, pen[] palette, + pen p=currentpen, paletteticks ticks=PaletteTicks, + bool copy=true, bool antialias=false); + The color space of `palette' is taken to be over bounds `bounds' with +scaling given by the z scaling of `pic'. The palette orientation is +specified by `axis', which may be one of `Right', `Left', `Top', or +`Bottom'. The bar is drawn over the rectangle from `initial' to +`final'. The argument `paletteticks' is a special tick type (*note +ticks::) that takes the following arguments: +paletteticks PaletteTicks(Label format="", ticklabel ticklabel=null, + bool beginlabel=true, bool endlabel=true, + int N=0, int n=0, real Step=0, real step=0, + pen pTick=nullpen, pen ptick=nullpen); + + The image and palette bar can be fit to a frame and added and +optionally aligned to a picture at the desired location: + +size(12cm,12cm); + +import graph; +import palette; + +int n=256; +real ninv=2pi/n; +real[][] v=new real[n][n]; + +for(int i=0; i < n; ++i) + for(int j=0; j < n; ++j) + v[i][j]=sin(i*ninv)*cos(j*ninv); + +pen[] Palette=BWRainbow(); + +picture bar; + +bounds range=image(v,(0,0),(1,1),Palette); +palette(bar,"$A$",range,(0,0),(0.5cm,8cm),Right,Palette, + PaletteTicks("$%+#.1f$")); +add(bar.fit(),point(E),30E); + + + +Here is an example that uses logarithmic scaling of the function values: + +import graph; +import palette; + +size(10cm,10cm,IgnoreAspect); + +real f(real x, real y) { + return 0.9*pow10(2*sin(x/5+2*y^0.25)) + 0.1*(1+cos(10*log(y))); +} + +scale(Linear,Log,Log); + +pen[] Palette=BWRainbow(); + +bounds range=image(f,Automatic,(0,1),(100,100),nx=200,Palette); + +xaxis("$x$",BottomTop,LeftTicks,above=true); +yaxis("$y$",LeftRight,RightTicks,above=true); + +palette("$f(x,y)$",range,(0,200),(100,250),Top,Palette, + PaletteTicks(ptick=linewidth(0.5*linewidth()))); + + + +One can also draw an image directly from a two-dimensional pen array or +a function `pen f(int, int)': +void image(picture pic=currentpicture, pen[][] data, + pair initial, pair final, + bool transpose=(initial.x < final.x && initial.y < final.y), + bool copy=true, bool antialias=false); +void image(picture pic=currentpicture, pen f(int, int), int width, int height, + pair initial, pair final, + bool transpose=(initial.x < final.x && initial.y < final.y), + bool antialias=false); + as illustrated in the following examples: + +size(200); + +import palette; + +int n=256; +real ninv=2pi/n; +pen[][] v=new pen[n][n]; + +for(int i=0; i < n; ++i) + for(int j=0; j < n; ++j) + v[i][j]=rgb(0.5*(1+sin(i*ninv)),0.5*(1+cos(j*ninv)),0); + +image(v,(0,0),(1,1)); + + + +import palette; + +size(200); + +real fracpart(real x) {return (x-floor(x));} + +pair pws(pair z) { + pair w=(z+exp(pi*I/5)/0.9)/(1+z/0.9*exp(-pi*I/5)); + return exp(w)*(w^3-0.5*I); +} + +int N=512; + +pair a=(-1,-1); +pair b=(0.5,0.5); +real dx=(b-a).x/N; +real dy=(b-a).y/N; + +pen f(int u, int v) { + pair z=a+(u*dx,v*dy); + pair w=pws(z); + real phase=degrees(w,warn=false); + real modulus=w == 0 ? 0: fracpart(log(abs(w))); + return hsv(phase,1,sqrt(modulus)); +} + +image(f,N,N,(0,0),(300,300),antialias=true); + + + +For convenience, the module `palette' also defines functions that may +be used to construct a pen array from a given function and palette: +pen[] palette(real[] f, pen[] palette); +pen[][] palette(real[][] f, pen[] palette); + + +File: asymptote.info, Node: three, Next: obj, Prev: palette, Up: Base modules + +8.29 `three' +============ + +This module fully extends the notion of guides and paths in `Asymptote' +to three dimensions. It introduces the new types guide3, path3, and +surface. Guides in three dimensions are specified with the same syntax +as in two dimensions except that triples `(x,y,z)' are used in place of +pairs `(x,y)' for the nodes and direction specifiers. This +generalization of John Hobby's spline algorithm is shape-invariant under +three-dimensional rotation, scaling, and shifting, and reduces in the +planar case to the two-dimensional algorithm used in `Asymptote', +`MetaPost', and `MetaFont' [cf. J. C. Bowman, Proceedings in Applied +Mathematics and Mechanics, 7:1, 2010021-2010022 (2007)]. + + For example, a unit circle in the XY plane may be filled and drawn +like this: + +import three; + +size(100); + +path3 g=(1,0,0)..(0,1,0)..(-1,0,0)..(0,-1,0)..cycle; +draw(g); +draw(O--Z,red+dashed,Arrow3); +draw(((-1,-1,0)--(1,-1,0)--(1,1,0)--(-1,1,0)--cycle)); +dot(g,red); + + +and then distorted into a saddle: + +import three; + +size(100,0); +path3 g=(1,0,0)..(0,1,1)..(-1,0,0)..(0,-1,1)..cycle; +draw(g); +draw(((-1,-1,0)--(1,-1,0)--(1,1,0)--(-1,1,0)--cycle)); +dot(g,red); + + +Module `three' provides constructors for converting two-dimensional +paths to three-dimensional ones, and vice-versa: +path3 path3(path p, triple plane(pair)=XYplane); +path path(path3 p, pair P(triple)=xypart); + + A Bezier surface, the natural two-dimensional generalization of +Bezier curves, is defined in `three_surface.asy' as a structure +containing an array of Bezier patches. Surfaces may drawn with one of +the routines +void draw(picture pic=currentpicture, surface s, int nu=1, int nv=1, + material surfacepen=currentpen, pen meshpen=nullpen, + light light=currentlight, light meshlight=light, string name="", + render render=defaultrender); +void draw(picture pic=currentpicture, surface s, int nu=1, int nv=1, + material[] surfacepen, pen meshpen, + light light=currentlight, light meshlight=light, string name="", + render render=defaultrender); +void draw(picture pic=currentpicture, surface s, int nu=1, int nv=1, + material[] surfacepen, pen[] meshpen=nullpens, + light light=currentlight, light meshlight=light, string name="", + render render=defaultrender); + + The parameters `nu' and `nv' specify the number of subdivisions for +drawing optional mesh lines for each Bezier patch. The optional `name' +parameter is used as a prefix for naming the surface patches in the PRC +model tree. Here material is a structure defined in `three_light.asy': +struct material { + pen[] p; // diffusepen,ambientpen,emissivepen,specularpen + real opacity; + real shininess; +... +} + These material properties are used to implement `OpenGL'-style +lighting, based on the Phong-Blinn specular model. Sample Bezier +surfaces are contained in the example files `BezierSurface.asy', +`teapot.asy', and `parametricsurface.asy'. The structure `render' +contains specialized rendering options documented at the beginning of +module `three.asy'. + + The examples `elevation.asy' and `sphericalharmonic.asy' illustrate +how to draw a surface with patch-dependent colors. The examples +`vertexshading' and `smoothelevation' illustrate vertex-dependent +colors, which is supported for both `Asymptote''s native `OpenGL' +renderer and two-dimensional projections. Since the PRC output format +does not currently support vertex shading of Bezier surfaces, PRC +patches are shaded with the mean of the four vertex colors. + + A surface can be constructed from a cyclic `path3' with the +constructor +surface surface(path3 external, triple[] internal=new triple[], + triple[] normals=new triple[], pen[] colors=new pen[], + bool3 planar=default); + and then filled: +draw(surface(path3(polygon(5))),red,nolight); +draw(surface(unitcircle3),red,nolight); +draw(surface(unitcircle3,new pen[] {red,green,blue,black}),nolight); + The last example constructs a patch with vertex-specific colors. A +three-dimensional planar surface in the plane `plane' can be +constructed from a two-dimensional cyclic path `g' with the constructor +surface surface(path p, triple plane(pair)=XYplane); + and then filled: +draw(surface((0,0)--E+2N--2E--E+N..0.2E..cycle),red); + Planar Bezier surfaces patches are constructed using Orest Shardt's +`bezulate' routine, which decomposes (possibly nonsimply connected) +regions bounded (according to the `zerowinding' fill rule) by simple +cyclic paths (intersecting only at the endpoints) into subregions +bounded by cyclic paths of length `4' or less. + + Arbitrary thick three-dimensional curves and line caps (which the +`OpenGL' standard does not require implementations to provide) are +constructed with +tube tube(path3 p, real width, render render=defaultrender); + this returns a tube structure representing a tube of diameter `width' +centered approximately on `g'. The tube structure consists of a surface +`s' and the actual tube center, path3 `center'. Drawing thick lines as +tubes can be slow to render, especially with the `Adobe Reader' +renderer. The setting `thick=false' can be used to disable this feature +and force all lines to be drawn with `linewidth(0)' (one pixel wide, +regardless of the resolution). By default, mesh and contour lines in +three-dimensions are always drawn thin, unless an explicit line width +is given in the pen parameter or the setting `thin' is set to `false'. +The pens `thin()' and `thick()' defined in plain_pens.asy can also be +used to override these defaults for specific draw commands. + +There are four choices for viewing 3D `Asymptote' output: + 1. Use the native `Asymptote' adaptive `OpenGL'-based renderer (with + the command-line option `-V' and the default settings + `outformat=""' and `render=-1'). If you encounter warnings from + your graphics card driver, try specifying `-glOptions=-indirect' + on the command line. On `UNIX' systems with graphics support for + multisampling, we recommend installing the latest SVN (antialiased) + version of the `freeglut' library (*note multisampling::); the + sample width can be controlled with the setting `multisample'. An + initial screen position can be specified with the pair setting + `position', where negative values are interpreted as relative to + the corresponding maximum screen dimension. The default settings import settings; + leftbutton=new string[] {"rotate","zoom","shift","pan"}; + middlebutton=new string[] {"menu"}; + rightbutton=new string[] {"zoom/menu","rotateX","rotateY","rotateZ"}; + wheelup=new string[] {"zoomin"}; + wheeldown=new string[] {"zoomout"}; + bind the mouse buttons as follows: + * Left: rotate + + * Shift Left: zoom + + * Ctrl Left: shift viewport + + * Alt Left: pan + + * Middle: menu (must be unmodified; ignores Shift, Ctrl, and + Alt) + + * Wheel Up: zoom in + + * Wheel Down: zoom out + + * Right: zoom/menu (must be unmodified) + + * Right double click: menu + + * Shift Right: rotate about the X axis + + * Ctrl Right: rotate about the Y axis + + * Alt Right: rotate about the Z axis + + The keyboard shortcuts are: + * h: home + + * f: toggle fitscreen + + * x: spin about the X axis + + * y: spin about the Y axis + + * z: spin about the Z axis + + * s: stop spinning + + * m: rendering mode (solid/mesh/patch) + + * e: export + + * c: show camera parameters + + * p: play animation + + * r: reverse animation + + * : step animation + + * +: expand + + * =: expand + + * >: expand + + * -: shrink + + * _: shrink + + * <: shrink + + * q: exit + + * Ctrl-q: exit + + 2. Render the scene to a specified rasterized format `outformat' at + the resolution of `n' pixels per `bp', as specified by the setting + `render=n'. A negative value of `n' is interpreted as `|2n|' for + EPS and PDF formats and `|n|' for other formats. The default value + of `render' is -1. By default, the scene is internally rendered + at twice the specified resolution; this can be disabled by setting + `antialias=1'. High resolution rendering is done by tiling the + image. If your graphics card allows it, the rendering can be made + more efficient by increasing the maximum tile size `maxtile' to + your screen dimensions (indicated by `maxtile=(0,0)'. If your + video card generates unwanted black stripes in the output, try + setting the horizontal and vertical components of `maxtiles' to + something less than your screen dimensions. The tile size is also + limited by the setting `maxviewport', which restricts the maximum + width and height of the viewport. On `UNIX' systems some graphics + drivers support batch mode (`-noV') rendering in an iconified + window; this can be enabled with the setting `iconify=true'. Some + (broken) `UNIX' graphics drivers may require the command line + setting `-glOptions=-indirect', which requests (slower) indirect + rendering. + + 3. Embed the 3D PRC format in a PDF file and view the resulting PDF + file with version `9.0' or later of `Adobe Reader'. In addition + to the default `settings.prc=true', this requires + `settings.outformat="pdf"', which can be specified by the command + line option `-f pdf', put in the `Asymptote' configuration file + (*note configuration file::), or specified in the script before + `three.asy' (or `graph3.asy') is imported. Version 2008/10/08 or + later of the `movie15' package is also required (*note embed::). + The example `pdb.asy' illustrates how one can generate a list of + predefined views (see `100d.views'). A stationary preview image + with a resolution of `n' pixels per `bp' can be embedded with the + setting `render=n'; this allows the file to be viewed with other + `PDF' viewers. Alternatively, the file `externalprc.tex' + illustrates how the resulting PRC and rendered image files can be + extracted and processed in a separate `LaTeX' file. However, see + *note LaTeX usage:: for an easier way to embed three-dimensional + `Asymptote' pictures within `LaTeX'. The open-source PRC + specification is available from + `http://livedocs.adobe.com/acrobat_sdk/9/Acrobat9_HTMLHelp/API_References/PRCReference/PRC_Format_Specification/'. + + 4. Project the scene to a two-dimensional vector (EPS or PDF) format + with `render=0'. Only limited hidden surface removal facilities + are currently available with this approach (*note PostScript3D::). + + + Automatic picture sizing in three dimensions is accomplished with +double deferred drawing. The maximal desired dimensions of the scene in +each of the three dimensions can optionally be specified with the +routine +void size3(picture pic=currentpicture, real x, real y=x, real z=y, + bool keepAspect=pic.keepAspect); + The resulting simplex linear programming problem is then solved to +produce a 3D version of a frame (actually implemented as a 3D picture). +The result is then fit with another application of deferred drawing to +the viewport dimensions corresponding to the usual two-dimensional +picture `size' parameters. The global pair `viewportmargin' may be used +to add horizontal and vertical margins to the viewport dimensions. +Alternatively, a minimum `viewportsize' may be specified. A 3D picture +`pic' can be explicitly fit to a 3D frame by calling +frame pic.fit3(projection P=currentprojection); + and then added to picture `dest' about `position' with +void add(picture dest=currentpicture, frame src, triple position=(0,0,0)); + + For convenience, the `three' module defines `O=(0,0,0)', +`X=(1,0,0)', `Y=(0,1,0)', and `Z=(0,0,1)', along with a unitcircle in +the XY plane: +path3 unitcircle3=X..Y..-X..-Y..cycle; + + A general (approximate) circle can be drawn perpendicular to the +direction `normal' with the routine +path3 circle(triple c, real r, triple normal=Z); + + A circular arc centered at `c' with radius `r' from +`c+r*dir(theta1,phi1)' to `c+r*dir(theta2,phi2)', drawing +counterclockwise relative to the normal vector +`cross(dir(theta1,phi1),dir(theta2,phi2))' if `theta2 > theta1' or if +`theta2 == theta1' and `phi2 >= phi1', can be constructed with +path3 arc(triple c, real r, real theta1, real phi1, real theta2, real phi2, + triple normal=O); + The normal must be explicitly specified if `c' and the endpoints are +colinear. If `r' < 0, the complementary arc of radius `|r|' is +constructed. For convenience, an arc centered at `c' from triple `v1' +to `v2' (assuming `|v2-c|=|v1-c|') in the direction CCW +(counter-clockwise) or CW (clockwise) may also be constructed with +path3 arc(triple c, triple v1, triple v2, triple normal=O, + bool direction=CCW); + When high accuracy is needed, the routines `Circle' and `Arc' defined +in `graph3' may be used instead. See *note GaussianSurface:: for an +example of a three-dimensional circular arc. + + The representation `O--O+u--O+u+v--O+v--cycle' of the plane passing +through point `O' with normal `cross(u,v)' is returned by +path3 plane(triple u, triple v, triple O=O); + A three-dimensional box with opposite vertices at triples `v1' and +`v2' may be drawn with the function +path3[] box(triple v1, triple v2); + For example, a unit box is predefined as +path3[] unitbox=box(O,(1,1,1)); + `Asymptote' also provides optimized definitions for the +three-dimensional paths `unitsquare3' and `unitcircle3', along with the +surfaces `unitdisk', `unitplane', `unitcube', `unitcylinder', +`unitcone', `unitsolidcone', `unitfrustum(real t1, real t2)', +`unitsphere', and `unithemisphere'. + +These projections to two dimensions are predefined: +`oblique' + +`oblique(real angle)' + The point `(x,y,z)' is projected to `(x-0.5z,y-0.5z)'. If an + optional real argument is given, the negative z axis is drawn at + this angle in degrees. The projection `obliqueZ' is a synonym for + `oblique'. + +`obliqueX' + +`obliqueX(real angle)' + The point `(x,y,z)' is projected to `(y-0.5x,z-0.5x)'. If an + optional real argument is given, the negative x axis is drawn at + this angle in degrees. + +`obliqueY' + +`obliqueY(real angle)' + The point `(x,y,z)' is projected to `(x+0.5y,z+0.5y)'. If an + optional real argument is given, the positive y axis is drawn at + this angle in degrees. + +`orthographic(triple camera, triple up=Z, triple target=O, + real zoom=1, pair viewportshift=0, bool showtarget=true, + bool center=false)' + This projects from three to two dimensions using the view as seen + at a point infinitely far away in the direction `unit(camera)', + orienting the camera so that, if possible, the vector `up' points + upwards. Parallel lines are projected to parallel lines. The + bounding volume is expanded to include `target' if + `showtarget=true'. If `center=true', the target will be adjusted + to the center of the bounding volume. + +`orthographic(real x, real y, real z, triple up=Z, triple target=O, + real zoom=1, pair viewportshift=0, bool showtarget=true, + bool center=false)' + This is equivalent to orthographic((x,y,z),up,target,zoom,viewportshift,showtarget,center) + + The routine triple camera(real alpha, real beta); + can be used to compute the camera position with the x axis below + the horizontal at angle `alpha', the y axis below the horizontal + at angle `beta', and the z axis up. + +`perspective(triple camera, triple up=Z, triple target=O, + real zoom=1, real angle=0, pair viewportshift=0, + bool showtarget=true, bool autoadjust=true, + bool center=autoadjust)' + This projects from three to two dimensions, taking account of + perspective, as seen from the location `camera' looking at + `target', orienting the camera so that, if possible, the vector + `up' points upwards. If `render=0', projection of + three-dimensional cubic Bezier splines is implemented by + approximating a two-dimensional nonuniform rational B-spline + (NURBS) with a two-dimensional Bezier curve containing additional + nodes and control points. If `autoadjust=true', the camera will + automatically be adjusted to lie outside the bounding volume for + all possible interactive rotations about `target'. If + `center=true', the target will be adjusted to the center of the + bounding volume. + +`perspective(real x, real y, real z, triple up=Z, triple target=O, + real zoom=1, real angle=0, pair viewportshift=0, + bool showtarget=true, bool autoadjust=true, + bool center=autoadjust)' + This is equivalent to perspective((x,y,z),up,target,zoom,angle,viewportshift,showtarget, + autoadjust,center) + +The default projection, `currentprojection', is initially set to +`perspective(5,4,2)'. + + We also define standard orthographic views used in technical drawing: +projection LeftView=orthographic(-X,showtarget=true); +projection RightView=orthographic(X,showtarget=true); +projection FrontView=orthographic(-Y,showtarget=true); +projection BackView=orthographic(Y,showtarget=true); +projection BottomView=orthographic(-Z,showtarget=true); +projection TopView=orthographic(Z,showtarget=true); + The function +void addViews(picture dest=currentpicture, picture src, + projection[][] views=SixViewsUS, + bool group=true, filltype filltype=NoFill); + adds to picture `dest' an array of views of picture `src' using the +layout projection[][] `views'. The default layout `SixViewsUS' aligns +the projection `FrontView' below `TopView' and above `BottomView', to +the right of `LeftView' and left of `RightView' and `BackView'. The +predefined layouts are: +projection[][] ThreeViewsUS={{TopView}, + {FrontView,RightView}}; + +projection[][] SixViewsUS={{null,TopView}, + {LeftView,FrontView,RightView,BackView}, + {null,BottomView}}; + +projection[][] ThreeViewsFR={{RightView,FrontView}, + {null,TopView}}; + +projection[][] SixViewsFR={{null,BottomView}, + {RightView,FrontView,LeftView,BackView}, + {null,TopView}}; + +projection[][] ThreeViews={{FrontView,TopView,RightView}}; + +projection[][] SixViews={{FrontView,TopView,RightView}, + {BackView,BottomView,LeftView}}; + + A triple or path3 can be projected to a pair or path, with +`project(triple, projection P=currentprojection)' or `project(path3, +projection P=currentprojection)'. + + It is occasionally useful to be able to invert a projection, sending +a pair `z' onto the plane perpendicular to `normal' and passing through +`point': +triple invert(pair z, triple normal, triple point, + projection P=currentprojection); + A pair `z' on the projection plane can be inverted to a triple with +the routine +triple invert(pair z, projection P=currentprojection); + A pair direction `dir' on the projection plane can be inverted to a +triple direction relative to a point `v' with the routine +triple invert(pair dir, triple v, projection P=currentprojection). + + Three-dimensional objects may be transformed with one of the +following built-in transform3 types (the identity transformation is +`identity4'): + +`shift(triple v)' + translates by the triple `v'; + +`xscale3(real x)' + scales by `x' in the x direction; + +`yscale3(real y)' + scales by `y' in the y direction; + +`zscale3(real z)' + scales by `z' in the z direction; + +`scale3(real s)' + scales by `s' in the x, y, and z directions; + +`scale(real x, real y, real z)' + scales by `x' in the x direction, by `y' in the y direction, and + by `z' in the z direction; + +`rotate(real angle, triple v)' + rotates by `angle' in degrees about an axis `v' through the origin; + +`rotate(real angle, triple u, triple v)' + rotates by `angle' in degrees about the axis `u--v'; + +`reflect(triple u, triple v, triple w)' + reflects about the plane through `u', `v', and `w'. + + When not multiplied on the left by a transform3, three-dimensional +TeX Labels are drawn as Bezier surfaces directly on the projection +plane: +void label(picture pic=currentpicture, Label L, triple position, + align align=NoAlign, pen p=currentpen, + light light=nolight, string name="", + render render=defaultrender, interaction interaction= + settings.autobillboard ? Billboard : Embedded) + The optional `name' parameter is used as a prefix for naming the label +patches in the PRC model tree. The default interaction is `Billboard', +which means that labels are rotated interactively so that they always +face the camera. The interaction `Embedded' means that the label +interacts as a normal `3D' surface, as illustrated in the example +`billboard.asy'. Alternatively, a label can be transformed from the +`XY' plane by an explicit transform3 or mapped to a specified +two-dimensional plane with the predefined transform3 types `XY', `YZ', +`ZX', `YX', `ZY', `ZX'. There are also modified versions of these +transforms that take an optional argument `projection +P=currentprojection' that rotate and/or flip the label so that it is +more readable from the initial viewpoint. + + A transform3 that projects in the direction `dir' onto the plane +with normal `n' through point `O' is returned by +transform3 planeproject(triple n, triple O=O, triple dir=n); + One can use +triple normal(path3 p); + to find the unit normal vector to a planar three-dimensional path `p'. +As illustrated in the example `planeproject.asy', a transform3 that +projects in the direction `dir' onto the plane defined by a planar path +`p' is returned by +transform3 planeproject(path3 p, triple dir=normal(p)); + + The functions +surface extrude(path p, triple axis=Z); +surface extrude(Label L, triple axis=Z); + return the surface obtained by extruding path `p' or Label `L' along +`axis'. + + Three-dimensional versions of the path functions `length', `size', +`point', `dir', `accel', `radius', `precontrol', `postcontrol', +`arclength', `arctime', `reverse', `subpath', `intersect', +`intersections', `intersectionpoint', `intersectionpoints', `min', +`max', `cyclic', and `straight' are also defined. + + The routine +real[][] intersections(path3 p, surface s, real fuzz=-1); + returns the intersection times of a path `p' with a surface `s' as a +sorted array of real arrays of length 2, and +triple[] intersectionpoints(path3 p, surface s, real fuzz=-1); + returns the corresponding intersection points. Here, the computations +are performed to the absolute error specified by `fuzz', or if `fuzz < +0', to machine precision. + + Here is an example showing all five guide3 connectors: + +import graph3; + +size(200); + +currentprojection=orthographic(500,-500,500); + +triple[] z=new triple[10]; + +z[0]=(0,100,0); z[1]=(50,0,0); z[2]=(180,0,0); + +for(int n=3; n <= 9; ++n) + z[n]=z[n-3]+(200,0,0); + +path3 p=z[0]..z[1]---z[2]::{Y}z[3] +&z[3]..z[4]--z[5]::{Y}z[6] +&z[6]::z[7]---z[8]..{Y}z[9]; + +draw(p,grey+linewidth(4mm),currentlight); + +xaxis3(Label(XY()*"$x$",align=-3Y),red,above=true); +yaxis3(Label(XY()*"$y$",align=-3X),red,above=true); + + + +Three-dimensional versions of bars or arrows can be drawn with one of +the specifiers `None', `Blank', `BeginBar3', `EndBar3' (or equivalently +`Bar3'), `Bars3', `BeginArrow3', `MidArrow3', `EndArrow3' (or +equivalently `Arrow3'), `Arrows3', `BeginArcArrow3', `EndArcArrow3' (or +equivalently `ArcArrow3'), `MidArcArrow3', and `ArcArrows3'. +Three-dimensional bars accept the optional arguments `(real size=0, +triple dir=O)'. If `size=O', the default bar length is used; if +`dir=O', the bar is drawn perpendicular to the path and the initial +viewing direction. The predefined three-dimensional arrowhead styles +are `DefaultHead3', `HookHead3', `TeXHead3'. Versions of the +two-dimensional arrowheads lifted to three-dimensional space and +aligned according to the initial viewpoint (or an optionally specified +`normal' vector) are also defined: `DefaultHead2(triple normal=O)', +`HookHead2(triple normal=O)', `TeXHead2(triple normal=O)'. These are +illustrated in the example `arrows3.asy'. + + Module `three' also defines the three-dimensional margins +`NoMargin3', `BeginMargin3', `EndMargin3', `Margin3', `Margins3', +`BeginPenMargin2', `EndPenMargin2', `PenMargin2', `PenMargins2', +`BeginPenMargin3', `EndPenMargin3', `PenMargin3', `PenMargins3', +`BeginDotMargin3', `EndDotMargin3', `DotMargin3', `DotMargins3', +`Margin3', and `TrueMargin3'. + + The routine +void pixel(picture pic=currentpicture, triple v, pen p=currentpen, + real width=1); + can be used to draw on picture `pic' a pixel of width `width' at +position `v' using pen `p'. + + Further three-dimensional examples are provided in the files +`near_earth.asy', `conicurv.asy', and (in the `animations' +subdirectory) `cube.asy'. + + Limited support for projected vector graphics (effectively +three-dimensional nonrendered `PostScript') is available with the +setting `render=0'. This currently only works for piecewise planar +surfaces, such as those produced by the parametric `surface' routines +in the `graph3' module. Surfaces produced by the `solids' package will +also be properly rendered if the parameter `nslices' is sufficiently +large. + + In the module `bsp', hidden surface removal of planar pictures is +implemented using a binary space partition and picture clipping. A +planar path is first converted to a structure `face' derived from +`picture'. A `face' may be given to a two-dimensional drawing routine +in place of any `picture' argument. An array of such faces may then be +drawn, removing hidden surfaces: +void add(picture pic=currentpicture, face[] faces, + projection P=currentprojection); + Labels may be projected to two dimensions, using projection `P', onto +the plane passing through point `O' with normal `cross(u,v)' by +multiplying it on the left by the transform +transform transform(triple u, triple v, triple O=O, + projection P=currentprojection); + + Here is an example that shows how a binary space partition may be +used to draw a two-dimensional vector graphics projection of three +orthogonal intersecting planes: + +size(6cm,0); +import bsp; + +real u=2.5; +real v=1; + +currentprojection=oblique; + +path3 y=plane((2u,0,0),(0,2v,0),(-u,-v,0)); +path3 l=rotate(90,Z)*rotate(90,Y)*y; +path3 g=rotate(90,X)*rotate(90,Y)*y; + +face[] faces; +filldraw(faces.push(y),project(y),yellow); +filldraw(faces.push(l),project(l),lightgrey); +filldraw(faces.push(g),project(g),green); + +add(faces); + + + + +File: asymptote.info, Node: obj, Next: graph3, Prev: three, Up: Base modules + +8.30 `obj' +========== + +This module allows one to construct surfaces from simple obj files, as +illustrated in the example files `galleon.asy' and `triceratops.asy'. + + +File: asymptote.info, Node: graph3, Next: grid3, Prev: obj, Up: Base modules + +8.31 `graph3' +============= + +This module implements three-dimensional versions of the functions in +`graph.asy'. To draw an x axis in three dimensions, use the routine +void xaxis3(picture pic=currentpicture, Label L="", axis axis=YZZero, + real xmin=-infinity, real xmax=infinity, pen p=currentpen, + ticks3 ticks=NoTicks3, arrowbar3 arrow=None, bool above=false); + Analogous routines `yaxis' and `zaxis' can be used to draw y and z +axes in three dimensions. There is also a routine for drawing all +three axis: +void axes3(picture pic=currentpicture, + Label xlabel="", Label ylabel="", Label zlabel="", + triple min=(-infinity,-infinity,-infinity), + triple max=(infinity,infinity,infinity), + pen p=currentpen, arrowbar3 arrow=None); + +The predefined three-dimensional axis types are +axis YZEquals(real y, real z, triple align=O, bool extend=false); +axis XZEquals(real x, real z, triple align=O, bool extend=false); +axis XYEquals(real x, real y, triple align=O, bool extend=false); +axis YZZero(triple align=O, bool extend=false); +axis XZZero(triple align=O, bool extend=false); +axis XYZero(triple align=O, bool extend=false); +axis Bounds(int type=Both, int type2=Both, triple align=O, bool extend=false); + The optional `align' parameter to these routines can be used to +specify the default axis and tick label alignments. The `Bounds' axis +accepts two type parameters, each of which must be one of `Min', `Max', +or `Both'. These parameters specify which of the four possible +three-dimensional bounding box edges should be drawn. + + The three-dimensional tick options are `NoTicks3', `InTicks', +`OutTicks', and `InOutTicks'. These specify the tick directions for the +`Bounds' axis type; other axis types inherit the direction that would +be used for the `Bounds(Min,Min)' axis. + + Here is an example of a helix and bounding box axes with ticks and +axis labels, using orthographic projection: + +import graph3; + +size(0,200); +size3(200,IgnoreAspect); + +currentprojection=orthographic(4,6,3); + +real x(real t) {return cos(2pi*t);} +real y(real t) {return sin(2pi*t);} +real z(real t) {return t;} + +path3 p=graph(x,y,z,0,2.7,operator ..); + +draw(p,Arrow3); + +scale(true); + +xaxis3(XZ()*"$x$",Bounds,red,InTicks(Label,2,2)); +yaxis3(YZ()*"$y$",Bounds,red,InTicks(beginlabel=false,Label,2,2)); +zaxis3(XZ()*"$z$",Bounds,red,InTicks); + + + +The next example illustrates three-dimensional x, y, and z axes, +without autoscaling of the axis limits: + +import graph3; + +size(0,200); +size3(200,IgnoreAspect); + +currentprojection=perspective(5,2,2); + +scale(Linear,Linear,Log); + +xaxis3("$x$",0,1,red,OutTicks(2,2)); +yaxis3("$y$",0,1,red,OutTicks(2,2)); +zaxis3("$z$",1,30,red,OutTicks(beginlabel=false)); + + + +One can also place ticks along a general three-dimensional axis: + +import graph3; + +size(0,100); + +path3 g=yscale3(2)*unitcircle3; +currentprojection=perspective(10,10,10); + +axis(Label("C",position=0,align=15X),g,InTicks(endlabel=false,8,end=false), + ticklocate(0,360,new real(real v) { + path3 h=O--max(abs(max(g)),abs(min(g)))*dir(90,v); + return intersect(g,h)[0];}, + new triple(real t) {return cross(dir(g,t),Z);})); + + + +Surface plots of matrices and functions over the region `box(a,b)' in +the XY plane are also implemented: +surface surface(real[][] f, pair a, pair b, bool[][] cond={}); +surface surface(real[][] f, pair a, pair b, splinetype xsplinetype, + splinetype ysplinetype=xsplinetype, bool[][] cond={}); +surface surface(real[][] f, real[] x, real[] y, + splinetype xsplinetype=null, splinetype ysplinetype=xsplinetype, + bool[][] cond={}) +surface surface(triple[][] f, bool[][] cond={}); +surface surface(real f(pair z), pair a, pair b, int nx=nmesh, int ny=nx, + bool cond(pair z)=null); +surface surface(real f(pair z), pair a, pair b, int nx=nmesh, int ny=nx, + splinetype xsplinetype, splinetype ysplinetype=xsplinetype, + bool cond(pair z)=null); +surface surface(triple f(pair z), real[] u, real[] v, + splinetype[] usplinetype, splinetype[] vsplinetype=Spline, + bool cond(pair z)=null); +surface surface(triple f(pair z), pair a, pair b, int nu=nmesh, int nv=nu, + bool cond(pair z)=null); +surface surface(triple f(pair z), pair a, pair b, int nu=nmesh, int nv=nu, + splinetype[] usplinetype, splinetype[] vsplinetype=Spline, + bool cond(pair z)=null); + The final two versions draw parametric surfaces for a function f(u,v) +over the parameter space `box(a,b)', as illustrated in the example +`parametricsurface.asy'. An optional splinetype `Spline' may be +specified. The boolean array or function `cond' can be used to control +which surface mesh cells are actually drawn (by default all mesh cells +over `box(a,b)' are drawn). Surface lighting is illustrated in the +example files `parametricsurface.asy' and `sinc.asy'. Lighting can be +disabled by setting `light=nolight', as in this example of a Gaussian +surface: + +import graph3; + +size(200,0); + +currentprojection=perspective(10,8,4); + +real f(pair z) {return 0.5+exp(-abs(z)^2);} + +draw((-1,-1,0)--(1,-1,0)--(1,1,0)--(-1,1,0)--cycle); + +draw(arc(0.12Z,0.2,90,60,90,25),ArcArrow3); + +surface s=surface(f,(-1,-1),(1,1),nx=5,Spline); + +xaxis3(Label("$x$"),red,Arrow3); +yaxis3(Label("$y$"),red,Arrow3); +zaxis3(XYZero(extend=true),red,Arrow3); + +draw(s,lightgray,meshpen=black+thick(),nolight,render(merge=true)); + +label("$O$",O,-Z+Y,red); + + +A mesh can be drawn without surface filling by specifying `nullpen' for +the surfacepen. + + A vector field of `nu'\times`nv' arrows on a parametric surface `f' +over `box(a,b)' can be drawn with the routine +picture vectorfield(path3 vector(pair v), triple f(pair z), pair a, pair b, + int nu=nmesh, int nv=nu, bool truesize=false, + real maxlength=truesize ? 0 : maxlength(f,a,b,nu,nv), + bool cond(pair z)=null, pen p=currentpen, + arrowbar3 arrow=Arrow3, margin3 margin=PenMargin3) + as illustrated in the examples `vectorfield3.asy' and +`vectorfieldsphere.asy'. + + +File: asymptote.info, Node: grid3, Next: solids, Prev: graph3, Up: Base modules + +8.32 `grid3' +============ + +This module, contributed by Philippe Ivaldi, can be used for drawing 3D +grids. Here is an example (further examples can be found in `grid3.asy' +and at `http://www.piprime.fr/files/asymptote/grid3/'): + +import grid3; + +size(8cm,0,IgnoreAspect); +currentprojection=orthographic(0.5,1,0.5); + +scale(Linear, Linear, Log); + +limits((-2,-2,1),(0,2,100)); + +grid3(XYZgrid); + +xaxis3(Label("$x$",position=EndPoint,align=S),Bounds(Min,Min), + OutTicks()); +yaxis3(Label("$y$",position=EndPoint,align=S),Bounds(Min,Min),OutTicks()); +zaxis3(Label("$z$",position=EndPoint,align=(-1,0.5)),Bounds(Min,Min), + OutTicks(beginlabel=false)); + + + + +File: asymptote.info, Node: solids, Next: tube, Prev: grid3, Up: Base modules + +8.33 `solids' +============= + +This solid geometry package defines a structure `revolution' that can +be used to fill and draw surfaces of revolution. The following example +uses it to display the outline of a circular cylinder of radius 1 with +axis `O--1.5unit(Y+Z)' with perspective projection: + +import solids; + +size(0,100); + +revolution r=cylinder(O,1,1.5,Y+Z); +draw(r,heavygreen); + + + +Further illustrations are provided in the example files `cylinder.asy', +`cones.asy', `hyperboloid.asy', and `torus.asy'. + + The structure `skeleton' contains the three-dimensional wireframe +used to visualize a volume of revolution: +struct skeleton { + struct curve { + path3[] front; + path3[] back; + } + // transverse skeleton (perpendicular to axis of revolution) + curve transverse; + // longitudinal skeleton (parallel to axis of revolution) + curve longitudinal; +} + + +File: asymptote.info, Node: tube, Next: flowchart, Prev: solids, Up: Base modules + +8.34 `tube' +=========== + +This package extends the `tube' surfaces constructed in +`three_arrows.asy' to arbitrary cross sections, colors, and spine +transformations. The routine +surface tube(path3 g, coloredpath section, + transform T(real)=new transform(real t) {return identity();}, + real corner=1, real relstep=0); + draws a tube along `g' with cross section `section', after applying +the transformation `T(t)' at `relpoint(g,t)'. The parameter `corner' +controls the number of elementary tubes at the angular points of `g'. A +nonzero value of `relstep' specifies a fixed relative time step (in the +sense of `relpoint(g,t)') to use in constructing elementary tubes along +`g'. The type `coloredpath' is a generalization of `path' to which a +`path' can be cast: +struct coloredpath +{ + path p; + pen[] pens(real); + int colortype=coloredSegments; +} + Here `p' defines the cross section and the method `pens(real t)' +returns an array of pens (interpreted as a cyclic array) used for +shading the tube patches at `relpoint(g,t)'. If +`colortype=coloredSegments', the tube patches are filled as if each +segment of the section was colored with the pen returned by `pens(t)', +whereas if `colortype=coloredNodes', the tube components are vertex +shaded as if the nodes of the section were colored. + + A `coloredpath' can be constructed with one of the routines: +coloredpath coloredpath(path p, pen[] pens(real), + int colortype=coloredSegments); +coloredpath coloredpath(path p, pen[] pens=new pen[] {currentpen}, + int colortype=coloredSegments); +coloredpath coloredpath(path p, pen pen(real)); + In the second case, the pens are independent of the relative time. In +the third case, the array of pens contains only one pen, which depends +of the relative time. + + The casting of `path' to `coloredpath' allows the use of a `path' +instead of a `coloredpath'; in this case the shading behaviour is the +default shading behavior for a surface. + + An example of `tube' is provided in the file `trefoilknot.asy'. +Further examples can be found at +`http://www.piprime.fr/files/asymptote/tube/'. + + +File: asymptote.info, Node: flowchart, Next: contour, Prev: tube, Up: Base modules + +8.35 `flowchart' +================ + +This package provides routines for drawing flowcharts. The primary +structure is a `block', which represents a single block on the +flowchart. The following eight functions return a position on the +appropriate edge of the block, given picture transform `t': + +pair block.top(transform t=identity()); +pair block.left(transform t=identity()); +pair block.right(transform t=identity()); +pair block.bottom(transform t=identity()); +pair block.topleft(transform t=identity()); +pair block.topright(transform t=identity()); +pair block.bottomleft(transform t=identity()); +pair block.bottomright(transform t=identity()); + + +To obtain an arbitrary position along the boundary of the block in user +coordinates, use: +pair block.position(real x, transform t=identity()); + + +The center of the block in user coordinates is stored in `block.center' +and the block size in `PostScript' coordinates is given by `block.size'. + +A frame containing the block is returned by +frame block.draw(pen p=currentpen); + + + The following block generation routines accept a Label, string, or +frame for their object argument: + +"rectangular block with an optional header (and padding `dx' around header and body):" + block rectangle(object header, object body, pair center=(0,0), + pen headerpen=mediumgray, pen bodypen=invisible, + pen drawpen=currentpen, + real dx=3, real minheaderwidth=minblockwidth, + real minheaderheight=minblockwidth, + real minbodywidth=minblockheight, + real minbodyheight=minblockheight); + block rectangle(object body, pair center=(0,0), + pen fillpen=invisible, pen drawpen=currentpen, + real dx=3, real minwidth=minblockwidth, + real minheight=minblockheight); + +"parallelogram block:" + block parallelogram(object body, pair center=(0,0), + pen fillpen=invisible, pen drawpen=currentpen, + real dx=3, real slope=2, + real minwidth=minblockwidth, + real minheight=minblockheight); + +"diamond-shaped block:" + block diamond(object body, pair center=(0,0), + pen fillpen=invisible, pen drawpen=currentpen, + real ds=5, real dw=1, + real height=20, real minwidth=minblockwidth, + real minheight=minblockheight); + +"circular block:" + block circle(object body, pair center=(0,0), pen fillpen=invisible, + pen drawpen=currentpen, real dr=3, + real mindiameter=mincirclediameter); + +"rectangular block with rounded corners:" + block roundrectangle(object body, pair center=(0,0), + pen fillpen=invisible, pen drawpen=currentpen, + real ds=5, real dw=0, real minwidth=minblockwidth, + real minheight=minblockheight); + +"rectangular block with beveled edges:" + block bevel(object body, pair center=(0,0), pen fillpen=invisible, + pen drawpen=currentpen, real dh=5, real dw=5, + real minwidth=minblockwidth, real minheight=minblockheight); + + + To draw paths joining the pairs in `point' with right-angled lines, +use the routine: +path path(pair point[] ... flowdir dir[]); + The entries in `dir' identify whether successive segments between the +pairs specified by `point' should be drawn in the `Horizontal' or +`Vertical' direction. + + Here is a simple flowchart example (see also the example +`controlsystem.asy'): + +size(0,300); + +import flowchart; + +block block1=rectangle(Label("Example",magenta), + pack(Label("Start:",heavygreen),"",Label("$A:=0$",blue), + "$B:=1$"),(-0.5,3),palegreen,paleblue,red); +block block2=diamond(Label("Choice?",blue),(0,2),palegreen,red); +block block3=roundrectangle("Do something",(-1,1)); +block block4=bevel("Don't do something",(1,1)); +block block5=circle("End",(0,0)); + +draw(block1); +draw(block2); +draw(block3); +draw(block4); +draw(block5); + +add(new void(picture pic, transform t) { + blockconnector operator --=blockconnector(pic,t); + // draw(pic,block1.right(t)--block2.top(t)); + block1--Right--Down--Arrow--block2; + block2--Label("Yes",0.5,NW)--Left--Down--Arrow--block3; + block2--Right--Label("No",0.5,NE)--Down--Arrow--block4; + block4--Down--Left--Arrow--block5; + block3--Down--Right--Arrow--block5; + }); + + + + +File: asymptote.info, Node: contour, Next: contour3, Prev: flowchart, Up: Base modules + +8.36 `contour' +============== + +This package draws contour lines. To construct contours corresponding +to the values in a real array `c' for a function `f' on `box(a,b)', use +the routine +guide[][] contour(real f(real, real), pair a, pair b, + real[] c, int nx=ngraph, int ny=nx, + interpolate join=operator --, int subsample=1); + The integers `nx' and `ny' define the resolution. The default +resolution, `ngraph x ngraph' (here `ngraph' defaults to `100') can be +increased for greater accuracy. The default interpolation operator is +`operator --' (linear). Spline interpolation (`operator ..') may +produce smoother contours but it can also lead to overshooting. The +`subsample' parameter indicates the number of interior points that +should be used to sample contours within each `1 x 1' box; the default +value of `1' is usually sufficient. + + To construct contours for an array of data values on a uniform +two-dimensional lattice on `box(a,b)', use +guide[][] contour(real[][] f, pair a, pair b, real[] c, + interpolate join=operator --, int subsample=1); + + To construct contours for an array of data values on a nonoverlapping +regular mesh specified by the two-dimensional array `z', +guide[][] contour(pair[][] z, real[][] f, real[] c, + interpolate join=operator --, int subsample=1); + + To construct contours for an array of values `f' specified at +irregularly positioned points `z', use the routine +guide[][] contour(pair[] z, real[] f, real[] c, + interpolate join=operator --, int subsample=1); + The contours themselves can be drawn with one of the routines +void draw(picture pic=currentpicture, Label[] L=new Label[], + guide[][] g, pen p=currentpen); + +void draw(picture pic=currentpicture, Label[] L=new Label[], + guide[][] g, pen[] p); + + The following simple example draws the contour at value `1' for the +function z=x^2+y^2, which is a unit circle: + +import contour; +size(75); + +real f(real a, real b) {return a^2+b^2;} +draw(contour(f,(-1,-1),(1,1),new real[] {1})); + + + +The next example draws and labels multiple contours for the function +z=x^2-y^2 with the resolution `100 x 100', using a dashed pen for +negative contours and a solid pen for positive (and zero) contours: + +import contour; + +size(200); + +real f(real x, real y) {return x^2-y^2;} +int n=10; +real[] c=new real[n]; +for(int i=0; i < n; ++i) c[i]=(i-n/2)/n; + +pen[] p=sequence(new pen(int i) { + return (c[i] >= 0 ? solid : dashed)+fontsize(6pt); + },c.length); + +Label[] Labels=sequence(new Label(int i) { + return Label(c[i] != 0 ? (string) c[i] : "",Relative(unitrand()),(0,0), + UnFill(1bp)); + },c.length); + +draw(Labels,contour(f,(-1,-1),(1,1),c),p); + + + +The next example illustrates how contour lines can be drawn on color +density images: + +import graph; +import palette; +import contour; + +size(10cm,10cm,IgnoreAspect); + +pair a=(0,0); +pair b=(2pi,2pi); + +real f(real x, real y) {return cos(x)*sin(y);} + +int N=200; +int Divs=10; +int divs=2; + +defaultpen(1bp); +pen Tickpen=black; +pen tickpen=gray+0.5*linewidth(currentpen); +pen[] Palette=BWRainbow(); + +bounds range=image(f,Automatic,a,b,N,Palette); + +// Major contours + +real[] Cvals=uniform(range.min,range.max,Divs); +draw(contour(f,a,b,Cvals,N,operator --),Tickpen); + +// Minor contours +real[] cvals; +for(int i=0; i < Cvals.length-1; ++i) + cvals.append(uniform(Cvals[i],Cvals[i+1],divs)[1:divs]); +draw(contour(f,a,b,cvals,N,operator --),tickpen); + +xaxis("$x$",BottomTop,LeftTicks,above=true); +yaxis("$y$",LeftRight,RightTicks,above=true); + +palette("$f(x,y)$",range,point(NW)+(0,0.5),point(NE)+(0,1),Top,Palette, + PaletteTicks(N=Divs,n=divs,Tickpen,tickpen)); + + + +Finally, here is an example that illustrates the construction of +contours from irregularly spaced data: + +import contour; + +size(200); + +int n=100; + +real f(real a, real b) {return a^2+b^2;} + +srand(1); + +real r() {return 1.1*(rand()/randMax*2-1);} + +pair[] points=new pair[n]; +real[] values=new real[n]; + +for(int i=0; i < n; ++i) { + points[i]=(r(),r()); + values[i]=f(points[i].x,points[i].y); +} + +draw(contour(points,values,new real[]{0.25,0.5,1},operator ..),blue); + + + +In the above example, the contours of irregularly spaced data are +constructed by first creating a triangular mesh from an array `z' of +pairs: + +int[][] triangulate(pair[] z); + +size(200); +int np=100; +pair[] points; + +real r() {return 1.2*(rand()/randMax*2-1);} + +for(int i=0; i < np; ++i) + points.push((r(),r())); + +int[][] trn=triangulate(points); + +for(int i=0; i < trn.length; ++i) { + draw(points[trn[i][0]]--points[trn[i][1]]); + draw(points[trn[i][1]]--points[trn[i][2]]); + draw(points[trn[i][2]]--points[trn[i][0]]); +} + +for(int i=0; i < np; ++i) + dot(points[i],red); + + + +The example `Gouraudcontour' illustrates how to produce color density +images over such irregular triangular meshes. `Asymptote' uses a +robust version of Paul Bourke's Delaunay triangulation algorithm based +on the public-domain exact arithmetic predicates written by Jonathan +Shewchuk. + + +File: asymptote.info, Node: contour3, Next: slopefield, Prev: contour, Up: Base modules + +8.37 `contour3' +=============== + +This package draws surfaces described as the null space of real-valued +functions of (x,y,z) or real[][][] matrices. Its usage is illustrated +in the example file `magnetic.asy'. + + +File: asymptote.info, Node: slopefield, Next: ode, Prev: contour3, Up: Base modules + +8.38 `slopefield' +================= + +To draw a slope field for the differential equation dy/dx=f(x,y) (or +dy/dx=f(x)), use: +picture slopefield(real f(real,real), pair a, pair b, + int nx=nmesh, int ny=nx, + real tickfactor=0.5, pen p=currentpen, + arrowbar arrow=None); + Here, the points `a' and `b' are the lower left and upper right +corners of the rectangle in which the slope field is to be drawn, `nx' +and `ny' are the respective number of ticks in the x and y directions, +`tickfactor' is the fraction of the minimum cell dimension to use for +drawing ticks, and `p' is the pen to use for drawing the slope fields. +The return value is a picture that can be added to `currentpicture' via +the `add(picture)' command. + + The function +path curve(pair c, real f(real,real), pair a, pair b); + takes a point (`c') and a slope field-defining function `f' and +returns, as a path, the curve passing through that point. The points +`a' and `b' represent the rectangular boundaries over which the curve +is interpolated. + + Both `slopefield' and `curve' alternatively accept a function `real +f(real)' that depends on x only, as seen in this example: + +import slopefield; + +size(200); + +real func(real x) {return 2x;} +add(slopefield(func,(-3,-3),(3,3),20,Arrow)); +draw(curve((0,0),func,(-3,-3),(3,3)),red); + + + + +File: asymptote.info, Node: ode, Prev: slopefield, Up: Base modules + +8.39 `ode' +========== + +The `ode' module, illustrated in the example `odetest.asy', implements +a number of explicit numerical integration schemes for ordinary +differential equations. + + +File: asymptote.info, Node: Options, Next: Interactive mode, Prev: Base modules, Up: Top + +9 Command-line options +********************** + +Type `asy -h' to see the full list of command-line options supported by +`Asymptote': + +Usage: ../asy [options] [file ...] + +Options (negate by replacing - with -no): + +-V,-View View output; command-line only +-a,-align C|B|T|Z Center, Bottom, Top, or Zero page alignment [C] +-antialias n Antialiasing width for rasterized output [2] +-arcballradius pixels Arcball radius [750] +-auto3D Automatically activate 3D scene [true] +-autobillboard 3D labels always face viewer by default [true] +-autoimport string Module to automatically import +-autoplain Enable automatic importing of plain [true] +-autoplay Autoplay 3D animations [false] +-autorotate Enable automatic PDF page rotation [false] +-batchMask Mask fpu exceptions in batch mode [false] +-batchView View output in batch mode [false] +-bw Convert all colors to black and white [false] +-cd directory Set current directory; command-line only +-cmyk Convert rgb colors to cmyk [false] +-c,-command string Command to autoexecute +-compact Conserve memory at the expense of speed [false] +-d,-debug Enable debugging messages [false] +-divisor n Garbage collect using purge(divisor=n) [2] +-doubleclick ms Emulated double-click timeout [200] +-embed Embed rendered preview image [true] +-exitonEOF Exit interactive mode on EOF [true] +-fitscreen Fit rendered image to screen [true] +-framedelay ms Additional frame delay [0] +-framerate frames/s Animation speed [30] +-globalwrite Allow write to other directory [false] +-gray Convert all colors to grayscale [false] +-h,-help Show summary of options; command-line only +-historylines n Retain n lines of history [1000] +-iconify Iconify rendering window [false] +-inlineimage Generate inline embedded image [false] +-inlinetex Generate inline TeX code [false] +-interactiveMask Mask fpu exceptions in interactive mode [true] +-interactiveView View output in interactive mode [true] +-interactiveWrite Write expressions entered at the prompt to stdout [true] +-k,-keep Keep intermediate files [false] +-keepaux Keep intermediate LaTeX .aux files [false] +-level n Postscript level [3] +-l,-listvariables List available global functions and variables [false] +-localhistory Use a local interactive history file [false] +-loop Loop 3D animations [false] +-m,-mask Mask fpu exceptions; command-line only +-maxtile pair Maximum rendering tile size [(1024,768)] +-maxviewport pair Maximum viewport size [(2048,2048)] +-multiline Input code over multiple lines at the prompt [false] +-multipleView View output from multiple batch-mode files [false] +-multisample n Multisampling width for screen images [4] +-offscreen Use offscreen rendering [false] +-O,-offset pair PostScript offset [(0,0)] +-f,-outformat format Convert each output file to specified format +-o,-outname name Alternative output directory/filename +-p,-parseonly Parse file [false] +-pdfreload Automatically reload document in pdfviewer [false] +-pdfreloaddelay usec Delay before attempting initial pdf reload [750000] +-position pair Initial 3D rendering screen position [(0,0)] +-prc Embed 3D PRC graphics in PDF output [true] +-prompt string Prompt [> ] +-prompt2 string Continuation prompt for multiline input [..] +-q,-quiet Suppress welcome message [false] +-render n Render 3D graphics using n pixels per bp (-1=auto) [-1] +-resizestep step Resize step [1.2] +-reverse reverse 3D animations [false] +-rgb Convert cmyk colors to rgb [false] +-safe Disable system call [true] +-scroll n Scroll standard output n lines at a time [0] +-spinstep deg/s Spin speed [60] +-svgemulation Emulate unimplemented SVG shading [false] +-tabcompletion Interactive prompt auto-completion [true] +-tex engine latex|pdflatex|xelatex|tex|pdftex|context|none [latex] +-thick Render thick 3D lines [true] +-thin Render thin 3D lines [true] +-threads Use POSIX threads for 3D rendering [true] +-toolbar Show 3D toolbar in PDF output [true] +-s,-translate Show translated virtual machine code [false] +-twice Run LaTeX twice (to resolve references) [false] +-twosided Use two-sided 3D lighting model for rendering [true] +-u,-user string General purpose user string +-v,-verbose Increase verbosity level (can specify multiple times) [0] +-version Show version; command-line only +-wait Wait for child processes to finish before exiting [false] +-warn string Enable warning; command-line only +-where Show where listed variables are declared [false] +-zoomfactor factor Zoom step factor [1.05] +-zoomstep step Mouse motion zoom step [0.1] + + All boolean options can be negated by prepending `no' to the option +name. + + If no arguments are given, `Asymptote' runs in interactive mode +(*note Interactive mode::). In this case, the default output file is +`out.eps'. + + If `-' is given as the file argument, `Asymptote' reads from +standard input. + + If multiple files are specified, they are treated as separate +`Asymptote' runs. + + If the string `autoimport' is nonempty, a module with this name is +automatically imported for each run as the final step in loading module +`plain'. + + Default option values may be entered as `Asymptote' code in a +configuration file named `config.asy' (or the file specified by the +environment variable `ASYMPTOTE_CONFIG' or `-config' option). +`Asymptote' will look for this file in its usual search path (*note +Search paths::). Typically the configuration file is placed in the +`.asy' directory in the user's home directory (`%USERPROFILE%\.asy' +under `MSDOS'). Configuration variables are accessed using the long +form of the option names: +import settings; +outformat="pdf"; +batchView=false; +interactiveView=true; +batchMask=false; +interactiveMask=true; + Command-line options override these defaults. Most configuration +variables may also be changed at runtime. The advanced configuration +variables `dvipsOptions', `hyperrefOptions', `convertOptions', +`gsOptions', `psviewerOptions', `pdfviewerOptions', and `glOptions' +allow specialized options to be passed as a string to the respective +applications or libraries. The default value of `hyperrefOptions' is +`setpagesize=false,unicode,pdfborder=0 0 0'. + + If you insert +import plain; +settings.autoplain=true; + at the beginning of the configuration file, it can contain arbitrary +`Asymptote' code. + + The default output format is EPS for the (default) `latex' and `tex' +tex engine and PDF for the `pdflatex', `xelatex', and `context' tex +engines. Alternative output formats may be produced using the `-f' +option (or `outformat' setting). To produce SVG output, first install +`dvisvgm' (version 0.8.7 or later) from +`http://dvisvgm.sourceforge.net/down.html' and be sure to use the +`latex' or `tex' tex engine. + + `Asymptote' can also produce any output format supported by the +`ImageMagick' `convert' program (version 6.3.5 or later recommended; an +`Invalid Parameter' error message indicates that the `MSDOS' utility +`convert' is being used instead of the one that comes with +`ImageMagick'). The optional setting `-render n' requests an output +resolution of `n' pixels per `bp'. Antialiasing is controlled by the +parameter `antialias', which by default specifies a sampling width of 2 +pixels. To give other options to `convert', use the `convertOptions' +setting or call convert manually. This example emulates how `Asymptote' +produces antialiased `tiff' output at one pixel per `bp': +asy -o - venn | convert -alpha Off -density 144x144 -geometry 50%x eps:- venn.tiff + + If the option `-nosafe' is given, `Asymptote' runs in unsafe mode. +This enables the `int system(string s)' and `int system(string[] s)' +calls, allowing one to execute arbitrary shell commands. The default +mode, `-safe', disables this call. + + A `PostScript' offset may be specified as a pair (in `bp' units) +with the `-O' option: +asy -O 0,0 file + The default offset is zero. The default value of the page alignment +setting `align' is `Center'. + + The `-c' (`command') option may be used to execute arbitrary +`Asymptote' code on the command line as a string. It is not necessary +to terminate the string with a semicolon. Multiple `-c' options are +executed in the order they are given. For example +asy -c 2+2 -c "sin(1)" -c "size(100); draw(unitsquare)" + produces the output +4 +0.841470984807897 + and draws a unitsquare of size `100'. + + The `-u' (`user') option may be used to specify arbitrary +`Asymptote' settings on the command line as a string. It is not +necessary to terminate the string with a semicolon. Multiple `-u' +options are executed in the order they are given. Command-line code like +`-u x=sqrt(2)' can be executed within a module like this: +real x; +usersetting(); +write(x); + + When the `-l' (`listvariables') option is used with file arguments, +only global functions and variables defined in the specified file(s) +are listed. + + Additional debugging output is produced with each additional `-v' +option: +`-v' + Display top-level module and final output file names. + +`-vv' + Also display imported and included module names and final `LaTeX' + and `dvips' processing information. + +`-vvv' + Also output `LaTeX' bidirectional pipe diagnostics. + +`-vvvv' + Also output knot guide solver diagnostics. + +`-vvvvv' + Also output `Asymptote' traceback diagnostics. + + +File: asymptote.info, Node: Interactive mode, Next: GUI, Prev: Options, Up: Top + +10 Interactive mode +******************* + +Interactive mode is entered by executing the command `asy' with no file +arguments. When the `-multiline' option is disabled (the default), each +line must be a complete `Asymptote' statement (unless explicitly +continued by a final backslash character `\'); it is not necessary to +terminate input lines with a semicolon. If one assigns +`settings.multiline=true', interactive code can be entered over +multiple lines; in this mode, the automatic termination of interactive +input lines by a semicolon is inhibited. Multiline mode is useful for +cutting and pasting `Asymptote' code directly into the interactive +input buffer. + + Interactive mode can be conveniently used as a calculator: +expressions entered at the interactive prompt (for which a +corresponding `write' function exists) are automatically evaluated and +written to `stdout'. If the expression is non-writable, its type +signature will be printed out instead. In either case, the expression +can be referred to using the symbol `%' in the next line input at the +prompt. For example: +> 2+3 +5 +> %*4 +20 +> 1/% +0.05 +> sin(%) +0.0499791692706783 +> currentpicture +<picture currentpicture> +> %.size(200,0) +> + + The `%' symbol, when used as a variable, is shorthand for the +identifier `operator answer', which is set by the prompt after each +written expression evaluation. + + The following special commands are supported only in interactive mode +and must be entered immediately after the prompt: + +`help' + view the manual; + +`erase' + erase `currentpicture'; + +`reset' + reset the `Asymptote' environment to its initial state, except for + changes to the settings module (*note settings::), the current + directory (*note cd::), and breakpoints (*note Debugger::); + +`input FILE' + does an interactive reset, followed by the command `include FILE'. + If the file name `FILE' contains nonalphanumeric characters, + enclose it with quotation marks. A trailing semi-colon followed + by optional `Asymptote' commands may be entered on the same line. + +`quit' + exit interactive mode (`exit' is a synonym; the abbreviation `q' + is also accepted unless there exists a top-level variable named + `q'). A history of the most recent 1000 (this number can be + changed with the `historylines' configuration variable) previous + commands will be retained in the file `.asy/history' in the user's + home directory (unless the command-line option `-localhistory' was + specified, in which case the history will be stored in the file + `.asy_history' in the current directory). + + + Typing `ctrl-C' interrupts the execution of `Asymptote' code and +returns control to the interactive prompt. + + Interactive mode is implemented with the GNU `readline' library, +with command history and auto-completion. To customize the key +bindings, see: +`http://cnswww.cns.cwru.edu/php/chet/readline/readline.html' + + The file `asymptote.py' in the `Asymptote' system directory provides +an alternative way of entering `Asymptote' commands interactively, +coupled with the full power of `Python'. Copy this file to your `Python +path' and then execute from within `Python' the commands +from asymptote import * +g=asy() +g.size(200) +g.draw("unitcircle") +g.send("draw(unitsquare)") +g.fill("unitsquare, blue") +g.clip("unitcircle") +g.label("\"$O$\", (0,0), SW") + + +File: asymptote.info, Node: GUI, Next: PostScript to Asymptote, Prev: Interactive mode, Up: Top + +11 Graphical User Interface +*************************** + +In the event that adjustments to the final figure are required, the +preliminary Graphical User Interface (GUI) `xasy' included with +`Asymptote' allows you to move graphical objects and draw new ones. +The modified figure can then be saved as a normal `Asymptote' file. + +* Menu: + +* GUI installation:: Installing `xasy' +* GUI usage:: + + +File: asymptote.info, Node: GUI installation, Next: GUI usage, Up: GUI + +11.1 GUI installation +===================== + +As `xasy' is written in the interactive scripting language `Python/TK', +it requires `Python' (`http://www.python.org'), the `Python Imaging +Library' (`http://www.pythonware.com/products/pil/'), and the `tkinter' +package (included with `Python' under `Microsoft Windows') be +installed. `Fedora Linux' users can either install `tkinter' with the +commands +yum install tkinter +yum install tk-devel + or manually install the `tkinter', `tix', `tk', and `tk-devel' +packages. + + Pictures are deconstructed into the PNG image format, which supports +full alpha channel transparency. Under `Microsoft Windows', this +requires `Python 2.7.3' and the `Python Imaging Library': + + `http://www.python.org/ftp/python/2.7.3/python-2.7.3.msi' + + `http://effbot.org/downloads/PIL-1.1.7.win32-py2.7.exe'. + On `UNIX' systems, place +`http://effbot.org/downloads/Imaging-1.1.7.tar.gz' in the `Asymptote' +source directory, and type (as the root user): +tar -zxf Imaging-1.1.7.tar.gz +cd Imaging-1.1.7 +python setup.py install + + +File: asymptote.info, Node: GUI usage, Prev: GUI installation, Up: GUI + +11.2 GUI usage +============== + +A wheel mouse is convenient for raising and lowering objects within +`xasy', to expose the object to be moved. If a wheel mouse is not +available, mouse `Button-2' can be used to repeatedly lower an object +instead. When run from the command line, `xasy' accepts a command line +option `-x n', which sets the initial magnification to `n'. + + Deconstruction of compound objects (such as arrows) can be prevented +by enclosing them within the commands +void begingroup(picture pic=currentpicture); +void endgroup(picture pic=currentpicture); + By default, the elements of a picture or frame will be grouped +together on adding them to a picture. However, the elements of a frame +added to another frame are not grouped together by default: their +elements will be individually deconstructed (*note add::). + + +File: asymptote.info, Node: PostScript to Asymptote, Next: Help, Prev: GUI, Up: Top + +12 `PostScript' to `Asymptote' +****************************** + +The excellent `PostScript' editor `pstoedit' (version 3.50 or later; +available from `http://sourceforge.net/projects/pstoedit/') includes an +`Asymptote' backend. Unlike virtually all other `pstoedit' backends, +this driver includes native clipping, even-odd fill rule, `PostScript' +subpath, and full image support. Here is an example: `asy -V +/usr/local/share/doc/asymptote/examples/venn.asy' +pstoedit -f asy venn.eps test.asy +asy -V test + +If the line widths aren't quite correct, try giving `pstoedit' the +`-dis' option. If the fonts aren't typeset correctly, try giving +`pstoedit' the `-dt' option. + + +File: asymptote.info, Node: Help, Next: Debugger, Prev: PostScript to Asymptote, Up: Top + +13 Help +******* + +A list of frequently asked questions (FAQ) is maintained at + + `http://asymptote.sourceforge.net/FAQ' + Questions on installing and using `Asymptote' that are not addressed +in the FAQ should be sent to the `Asymptote' forum: + + `http://sourceforge.net/projects/asymptote/forums/forum/409349' + Including an example that illustrates what you are trying to do will +help you get useful feedback. `LaTeX' problems can often be diagnosed +with the `-vv' or `-vvv' command-line options. Contributions in the +form of patches or `Asymptote' modules can be posted here: + + `http://sourceforge.net/tracker/?atid=685685&group_id=120000' + To receive announcements of upcoming releases, please subscribe to +`Asymptote' at + + `http://freshmeat.net/projects/asy' + If you find a bug in `Asymptote', please check (if possible) whether +the bug is still present in the latest `Subversion' developmental code +(*note Subversion::) before submitting a bug report. New bugs can be +submitted using the Bug Tracking System at + + `http://sourceforge.net/projects/asymptote' + To see if the bug has already been fixed, check bugs with Status +`Closed' and recent lines in + + `http://asymptote.sourceforge.net/ChangeLog' + `Asymptote' can be configured with the optional GNU library +`libsigsegv', available from `http://libsigsegv.sourceforge.net', which +allows one to distinguish user-generated `Asymptote' stack overflows +(*note stack overflow::) from true segmentation faults (due to internal +C++ programming errors; please submit the `Asymptote' code that +generates such segmentation faults along with your bug report). + + +File: asymptote.info, Node: Debugger, Next: Credits, Prev: Help, Up: Top + +14 Debugger +*********** + +Asymptote now includes a line-based (as opposed to code-based) debugger +that can assist the user in following flow control. To set a break +point in file `file' at line `line', use the command + +void stop(string file, int line, code s=quote{}); + The optional argument `s' may be used to conditionally set the variable +`ignore' in `plain_debugger.asy' to `true'. For example, the first 10 +instances of this breakpoint will be ignored (the variable `int +count=0' is defined in `plain_debugger.asy'): +stop("test",2,quote{ignore=(++count <= 10);}); + + To set a break point in file `file' at the first line containing the +string `text', use + +void stop(string file, string text, code s=quote{}); + To list all breakpoints, use: +void breakpoints(); + To clear a breakpoint, use: +void clear(string file, int line); + To clear all breakpoints, use: +void clear(); + + The following commands may be entered at the debugging prompt: + +``h'' + help; + +``c'' + continue execution; + +``i'' + step to the next instruction; + +``s'' + step to the next executable line; + +``n'' + step to the next executable line in the current file; + +``f'' + step to the next file; + +``r'' + return to the file associated with the most recent breakpoint; + +``t'' + toggle tracing (`-vvvvv') mode; + +``q'' + quit debugging and end execution; + +``x'' + exit the debugger and run to completion. + + Arbitrary `Asymptote' code may also be entered at the debugging +prompt; however, since the debugger is implemented with `eval', +currently only top-level (global) variables can be displayed or +modified. + + The debugging prompt may be entered manually with the call +void breakpoint(code s=quote{}); + + +File: asymptote.info, Node: Credits, Next: Index, Prev: Debugger, Up: Top + +15 Acknowledgments +****************** + +Financial support for the development of `Asymptote' was generously +provided by the Natural Sciences and Engineering Research Council of +Canada, the Pacific Institute for Mathematical Sciences, and the +University of Alberta Faculty of Science. + + We also would like to acknowledge the previous work of John D. Hobby, +author of the program `MetaPost' that inspired the development of +`Asymptote', and Donald E. Knuth, author of TeX and `MetaFont' (on +which `MetaPost' is based). + + The authors of `Asymptote' are Andy Hammerlindl, John Bowman, and +Tom Prince. Sean Healy designed the `Asymptote' logo. Other +contributors include Michail Vidiassov, Radoslav Marinov, Orest Shardt, +Chris Savage, Philippe Ivaldi, Olivier Guibe', Jacques Pienaar, Mark +Henning, Steve Melenchuk, Martin Wiebusch, and Stefan Knorr. + + +File: asymptote.info, Node: Index, Prev: Credits, Up: Top + +Index +***** + + +* Menu: + +* !: Arithmetic & logical. + (line 68) +* != <1>: Arithmetic & logical. + (line 38) +* !=: Structures. (line 52) +* % <1>: Interactive mode. (line 17) +* %: Arithmetic & logical. + (line 23) +* %=: Self & prefix operators. + (line 6) +* & <1>: Arithmetic & logical. + (line 56) +* &: Bezier curves. (line 83) +* &&: Arithmetic & logical. + (line 53) +* * <1>: Arithmetic & logical. + (line 17) +* *: Pens. (line 15) +* **: Arithmetic & logical. + (line 31) +* *=: Self & prefix operators. + (line 6) +* + <1>: Arithmetic & logical. + (line 13) +* +: Pens. (line 15) +* ++: Self & prefix operators. + (line 6) +* +=: Self & prefix operators. + (line 6) +* -: Arithmetic & logical. + (line 14) +* -- <1>: Self & prefix operators. + (line 6) +* --: Tutorial. (line 127) +* ---: Bezier curves. (line 83) +* -=: Self & prefix operators. + (line 6) +* -c: Options. (line 174) +* -l: Options. (line 193) +* -u: Options. (line 184) +* -V <1>: Tutorial. (line 19) +* -V: Configuring. (line 6) +* ..: Tutorial. (line 127) +* .asy: Search paths. (line 14) +* /: Arithmetic & logical. + (line 20) +* /=: Self & prefix operators. + (line 6) +* 2D graphs: graph. (line 6) +* 3D graphs: graph3. (line 6) +* 3D grids: grid3. (line 6) +* 3D PostScript: three. (line 581) +* 3D rendering: Compiling from UNIX source. + (line 16) +* :: Arithmetic & logical. + (line 73) +* ::: Bezier curves. (line 67) +* <: Arithmetic & logical. + (line 41) +* <=: Arithmetic & logical. + (line 44) +* == <1>: Arithmetic & logical. + (line 37) +* ==: Structures. (line 52) +* >: Arithmetic & logical. + (line 50) +* >=: Arithmetic & logical. + (line 47) +* ?: Arithmetic & logical. + (line 73) +* ^: Arithmetic & logical. + (line 28) +* ^=: Self & prefix operators. + (line 6) +* ^^: Tutorial. (line 134) +* a4: Configuring. (line 61) +* abort: Data types. (line 339) +* abs <1>: Mathematical functions. + (line 35) +* abs: Data types. (line 62) +* accel <1>: three. (line 507) +* accel: Paths and guides. (line 115) +* access: Import. (line 6) +* acknowledgments: Credits. (line 6) +* aCos: Mathematical functions. + (line 20) +* acos: Mathematical functions. + (line 6) +* acosh: Mathematical functions. + (line 6) +* add <1>: three. (line 271) +* add: Frames and pictures. (line 196) +* addViews: three. (line 393) +* adjust: Pens. (line 115) +* Ai: Mathematical functions. + (line 48) +* Ai_deriv: Mathematical functions. + (line 48) +* Airy: Mathematical functions. + (line 48) +* alias <1>: Arrays. (line 181) +* alias: Structures. (line 52) +* align: Options. (line 168) +* Align: label. (line 12) +* all: Arrays. (line 329) +* Allow: Pens. (line 327) +* AND: Arithmetic & logical. + (line 80) +* and: Bezier curves. (line 56) +* angle: Data types. (line 70) +* animate <1>: animation. (line 12) +* animate <2>: Files. (line 154) +* animate: Configuring. (line 67) +* animation: animation. (line 6) +* annotate: annotate. (line 6) +* antialias <1>: Options. (line 143) +* antialias: three. (line 210) +* antialiasing: Compiling from UNIX source. + (line 16) +* append <1>: Arrays. (line 39) +* append: Files. (line 36) +* arc: three. (line 283) +* Arc: Paths and guides. (line 32) +* arc: Paths and guides. (line 22) +* ArcArrow: draw. (line 26) +* ArcArrow3: three. (line 548) +* ArcArrows: draw. (line 26) +* ArcArrows3: three. (line 548) +* arclength <1>: three. (line 507) +* arclength: Paths and guides. (line 142) +* arcpoint: Paths and guides. (line 152) +* arctime <1>: three. (line 507) +* arctime: Paths and guides. (line 146) +* arguments: Default arguments. (line 6) +* arithmetic operators: Arithmetic & logical. + (line 6) +* array: Arrays. (line 122) +* array iteration: Programming. (line 33) +* arrays: Arrays. (line 6) +* arrow: label. (line 71) +* Arrow: draw. (line 26) +* arrow: Drawing commands. (line 31) +* arrow keys: Tutorial. (line 37) +* Arrow3: three. (line 548) +* Arrows: draw. (line 26) +* arrows: draw. (line 26) +* Arrows3: three. (line 548) +* as: Import. (line 68) +* ascii: Data types. (line 286) +* aSin: Mathematical functions. + (line 20) +* asin: Mathematical functions. + (line 6) +* asinh: Mathematical functions. + (line 6) +* Aspect: Frames and pictures. (line 54) +* assert: Data types. (line 344) +* assignment: Programming. (line 8) +* asy <1>: Import. (line 102) +* asy: Data types. (line 334) +* asy-mode: Editing modes. (line 6) +* asy.vim: Editing modes. (line 33) +* asyinclude: LaTeX usage. (line 46) +* asymptote.sty: LaTeX usage. (line 6) +* asymptote.xml: Editing modes. (line 49) +* ASYMPTOTE_CONFIG: Options. (line 115) +* aTan: Mathematical functions. + (line 20) +* atan: Mathematical functions. + (line 6) +* atan2: Mathematical functions. + (line 6) +* atanh: Mathematical functions. + (line 6) +* atleast: Bezier curves. (line 56) +* attach <1>: graph. (line 415) +* attach: LaTeX usage. (line 51) +* autoadjust: three. (line 359) +* autoimport: Options. (line 111) +* automatic scaling: graph. (line 682) +* axialshade: fill. (line 43) +* axis <1>: graph3. (line 66) +* axis: graph. (line 880) +* azimuth: Data types. (line 126) +* babel: babel. (line 6) +* background color: Frames and pictures. (line 168) +* BackView: three. (line 386) +* Bar: draw. (line 19) +* Bar3: three. (line 548) +* Bars: draw. (line 19) +* Bars3: three. (line 548) +* barsize: draw. (line 19) +* base modules: Base modules. (line 6) +* basealign: Pens. (line 168) +* baseline: label. (line 91) +* batch mode: Tutorial. (line 6) +* beep: Data types. (line 357) +* BeginArcArrow: draw. (line 26) +* BeginArcArrow3: three. (line 548) +* BeginArrow: draw. (line 26) +* BeginArrow3: three. (line 548) +* BeginBar: draw. (line 19) +* BeginBar3: three. (line 548) +* BeginDotMargin: draw. (line 42) +* BeginDotMargin3: three. (line 564) +* BeginMargin: draw. (line 42) +* BeginMargin3: three. (line 564) +* BeginPenMargin: draw. (line 42) +* BeginPenMargin2: three. (line 564) +* BeginPenMargin3: three. (line 564) +* BeginPoint: label. (line 56) +* Bessel: Mathematical functions. + (line 48) +* bevel: flowchart. (line 75) +* beveljoin: Pens. (line 138) +* Bezier curves: Bezier curves. (line 6) +* bezulate: three. (line 104) +* Bi: Mathematical functions. + (line 48) +* Bi_deriv: Mathematical functions. + (line 48) +* Billboard: three. (line 477) +* binary: Files. (line 75) +* binary format: Files. (line 75) +* binary operators: Arithmetic & logical. + (line 6) +* binarytree: binarytree. (line 6) +* black stripes: three. (line 210) +* Blank: draw. (line 26) +* block.bottom: flowchart. (line 19) +* block.bottomleft: flowchart. (line 19) +* block.bottomright: flowchart. (line 19) +* block.center: flowchart. (line 26) +* block.draw: flowchart. (line 31) +* block.left: flowchart. (line 19) +* block.position: flowchart. (line 24) +* block.right: flowchart. (line 19) +* block.top: flowchart. (line 19) +* block.topleft: flowchart. (line 19) +* block.topright: flowchart. (line 19) +* bool: Data types. (line 14) +* bool3: Data types. (line 23) +* boolean operators: Arithmetic & logical. + (line 6) +* Bottom: graph. (line 134) +* BottomTop: graph. (line 140) +* BottomView: three. (line 386) +* bounding box: Frames and pictures. (line 168) +* Bounds: graph3. (line 20) +* box <1>: three. (line 305) +* box: Frames and pictures. (line 22) +* bp: Tutorial. (line 26) +* break: Programming. (line 29) +* breakpoints: Debugger. (line 21) +* brick: Pens. (line 251) +* broken axis: graph. (line 783) +* bug reports: Help. (line 23) +* buildcycle: Paths and guides. (line 258) +* Button-1: GUI. (line 6) +* Button-2: GUI. (line 6) +* BWRainbow: palette. (line 15) +* BWRainbow2: palette. (line 18) +* C string: Data types. (line 191) +* CAD: CAD. (line 6) +* calculateTransform: Frames and pictures. (line 107) +* camera: three. (line 354) +* casts: Casts. (line 6) +* cbrt: Mathematical functions. + (line 6) +* cd: Files. (line 25) +* ceil: Mathematical functions. + (line 26) +* center: three. (line 338) +* Center: label. (line 61) +* checker: Pens. (line 251) +* Chinese: unicode. (line 12) +* choose: Mathematical functions. + (line 39) +* Ci: Mathematical functions. + (line 48) +* circle <1>: flowchart. (line 64) +* circle: three. (line 279) +* Circle: Paths and guides. (line 17) +* circle: Paths and guides. (line 10) +* circlebarframe: markers. (line 18) +* CJK: unicode. (line 12) +* clamped: graph. (line 37) +* clear <1>: Debugger. (line 23) +* clear: Files. (line 92) +* clip: fill. (line 111) +* CLZ: Arithmetic & logical. + (line 80) +* cm: Tutorial. (line 63) +* cmd: Configuring. (line 34) +* cmyk: Pens. (line 34) +* colatitude: Data types. (line 131) +* color: Pens. (line 23) +* coloredNodes: tube. (line 25) +* coloredpath: tube. (line 18) +* coloredSegments: tube. (line 25) +* colorless: Pens. (line 54) +* colors: Pens. (line 51) +* comma: Files. (line 61) +* comma-separated-value mode: Arrays. (line 362) +* command-line options <1>: Options. (line 6) +* command-line options: Configuring. (line 83) +* comment character: Files. (line 16) +* compass directions: Tutorial. (line 106) +* Compiling from UNIX source: Compiling from UNIX source. + (line 6) +* complement: Arrays. (line 150) +* concat: Arrays. (line 177) +* conditional <1>: Arithmetic & logical. + (line 73) +* conditional: Programming. (line 8) +* config: Options. (line 115) +* configuration file <1>: Options. (line 115) +* configuration file: Configuring. (line 23) +* configuring: Configuring. (line 6) +* conj: Data types. (line 59) +* constructors: Structures. (line 91) +* context: Options. (line 143) +* continue <1>: Debugger. (line 31) +* continue: Programming. (line 29) +* contour: contour. (line 9) +* contour3: contour3. (line 6) +* controls <1>: three. (line 6) +* controls: Bezier curves. (line 45) +* controlSpecifier: Paths and guides. (line 382) +* convert <1>: Options. (line 143) +* convert <2>: animation. (line 6) +* convert <3>: Files. (line 154) +* convert: Configuring. (line 67) +* convertOptions: Options. (line 130) +* Coons shading: fill. (line 74) +* copy: Arrays. (line 174) +* Cos: Mathematical functions. + (line 20) +* cos: Mathematical functions. + (line 6) +* cosh: Mathematical functions. + (line 6) +* cputime: Structures. (line 169) +* crop: graph. (line 636) +* cropping graphs: graph. (line 636) +* cross <1>: graph. (line 484) +* cross: Data types. (line 169) +* crossframe: markers. (line 23) +* crosshatch: Pens. (line 267) +* csv: Arrays. (line 362) +* CTZ: Arithmetic & logical. + (line 80) +* cubicroots: Arrays. (line 318) +* curl <1>: three. (line 6) +* curl: Bezier curves. (line 63) +* curlSpecifier: Paths and guides. (line 394) +* currentpen: Pens. (line 6) +* currentprojection: three. (line 383) +* curve: slopefield. (line 20) +* custom axis types: graph. (line 144) +* custom mark routine: graph. (line 576) +* custom tick locations: graph. (line 249) +* cut: Paths and guides. (line 240) +* cycle <1>: three. (line 6) +* cycle: Tutorial. (line 75) +* cyclic <1>: three. (line 507) +* cyclic <2>: Arrays. (line 39) +* cyclic: Paths and guides. (line 74) +* Cyrillic: unicode. (line 7) +* dashdotted: Pens. (line 95) +* dashed: Pens. (line 95) +* data types: Data types. (line 6) +* date: Data types. (line 298) +* Debian: UNIX binary distributions. + (line 19) +* debugger: Debugger. (line 6) +* declaration: Programming. (line 8) +* deconstruct: GUI usage. (line 6) +* default arguments: Default arguments. (line 6) +* defaultformat: graph. (line 175) +* DefaultHead: draw. (line 26) +* DefaultHead3: three. (line 548) +* defaultpen: Pens. (line 46) +* defaultrender: three. (line 47) +* deferred drawing: simplex. (line 6) +* Degrees: Mathematical functions. + (line 17) +* degrees <1>: Mathematical functions. + (line 17) +* degrees: Data types. (line 75) +* delete <1>: Arrays. (line 39) +* delete: Files. (line 149) +* description: Description. (line 6) +* diagonal: Arrays. (line 303) +* diamond: flowchart. (line 57) +* dimension: Arrays. (line 367) +* dir <1>: three. (line 507) +* dir <2>: Paths and guides. (line 98) +* dir <3>: Data types. (line 87) +* dir: Search paths. (line 10) +* direction specifier: Bezier curves. (line 6) +* directory: Files. (line 25) +* dirSpecifier: Paths and guides. (line 376) +* dirtime: Paths and guides. (line 155) +* display: Configuring. (line 67) +* do: Programming. (line 29) +* DOSendl: Files. (line 61) +* DOSnewl: Files. (line 61) +* dot <1>: Arrays. (line 259) +* dot <2>: Data types. (line 100) +* dot: draw. (line 83) +* DotMargin: draw. (line 42) +* DotMargin3: three. (line 564) +* DotMargins: draw. (line 42) +* DotMargins3: three. (line 564) +* dotted: Pens. (line 95) +* double deferred drawing: three. (line 256) +* double precision: Files. (line 75) +* Draw: Frames and pictures. (line 147) +* draw: draw. (line 110) +* Draw: draw. (line 26) +* draw: Drawing commands. (line 31) +* drawing commands: Drawing commands. (line 6) +* drawline: math. (line 9) +* drawtree: drawtree. (line 9) +* dvips: Configuring. (line 67) +* dvipsOptions: Options. (line 130) +* dvisvgm: Configuring. (line 67) +* E <1>: Mathematical functions. + (line 48) +* E: Tutorial. (line 106) +* Editing modes: Editing modes. (line 6) +* Ei: Mathematical functions. + (line 48) +* ellipse <1>: Frames and pictures. (line 22) +* ellipse: Paths and guides. (line 39) +* elliptic functions: Mathematical functions. + (line 48) +* else: Programming. (line 8) +* emacs: Editing modes. (line 6) +* embed: embed. (line 6) +* Embedded: three. (line 477) +* empty: Frames and pictures. (line 7) +* EndArcArrow: draw. (line 26) +* EndArcArrow3: three. (line 548) +* EndArrow: draw. (line 26) +* EndArrow3: three. (line 548) +* EndBar: draw. (line 19) +* EndBar3: three. (line 548) +* EndDotMargin: draw. (line 42) +* EndDotMargin3: three. (line 564) +* endl: Files. (line 61) +* EndMargin: draw. (line 42) +* EndMargin3: three. (line 564) +* EndPenMargin: draw. (line 42) +* EndPenMargin2: three. (line 564) +* EndPenMargin3: three. (line 564) +* EndPoint: label. (line 56) +* envelope: Frames and pictures. (line 22) +* environment variables: Configuring. (line 87) +* eof <1>: Arrays. (line 344) +* eof: Files. (line 92) +* eol <1>: Arrays. (line 344) +* eol: Files. (line 92) +* EPS <1>: Options. (line 143) +* EPS: label. (line 79) +* erase <1>: Frames and pictures. (line 7) +* erase <2>: Data types. (line 241) +* erase: Tutorial. (line 37) +* erf: Mathematical functions. + (line 6) +* erfc: Mathematical functions. + (line 6) +* error: Files. (line 16) +* error bars: graph. (line 532) +* errorbars: graph. (line 484) +* eval: Import. (line 98) +* evenodd <1>: Pens. (line 152) +* evenodd: Tutorial. (line 148) +* exit <1>: Debugger. (line 57) +* exit <2>: Interactive mode. (line 59) +* exit: Data types. (line 348) +* exp: Mathematical functions. + (line 6) +* expi: Data types. (line 83) +* explicit: Casts. (line 6) +* explicit casts: Casts. (line 21) +* expm1: Mathematical functions. + (line 6) +* exponential integral: Mathematical functions. + (line 48) +* extendcap: Pens. (line 129) +* extension <1>: MetaPost. (line 10) +* extension: Paths and guides. (line 235) +* external: embed. (line 28) +* extrude: three. (line 501) +* F: Mathematical functions. + (line 48) +* fabs: Mathematical functions. + (line 6) +* face: three. (line 589) +* factorial: Mathematical functions. + (line 39) +* Fedora: UNIX binary distributions. + (line 15) +* feynman: feynman. (line 6) +* fft <1>: math. (line 26) +* fft: Arrays. (line 246) +* FFTW: Compiling from UNIX source. + (line 58) +* file <1>: Debugger. (line 45) +* file: Files. (line 6) +* Fill: Frames and pictures. (line 133) +* fill <1>: fill. (line 17) +* fill: draw. (line 116) +* Fill: draw. (line 26) +* FillDraw: Frames and pictures. (line 123) +* filldraw: fill. (line 11) +* FillDraw: draw. (line 26) +* filloutside: fill. (line 27) +* fillrule: Pens. (line 152) +* find <1>: Arrays. (line 159) +* find: Data types. (line 226) +* firstcut: Paths and guides. (line 250) +* fit: Frames and pictures. (line 103) +* fit3: three. (line 269) +* fixedscaling: Frames and pictures. (line 74) +* floor: Mathematical functions. + (line 26) +* flowchart: flowchart. (line 6) +* flush: Files. (line 61) +* fmod: Mathematical functions. + (line 6) +* font: Pens. (line 192) +* font command: Pens. (line 192) +* fontcommand: Pens. (line 207) +* fontsize: Pens. (line 178) +* for: Programming. (line 8) +* format <1>: Options. (line 143) +* format: Data types. (line 269) +* forum: Help. (line 6) +* frame: Frames and pictures. (line 7) +* freeglut: Compiling from UNIX source. + (line 16) +* from: Import. (line 17) +* FrontView: three. (line 386) +* function declarations: Functions. (line 67) +* function shading: fill. (line 96) +* Function shading: fill. (line 96) +* functions <1>: Mathematical functions. + (line 6) +* functions: Functions. (line 6) +* functionshade: fill. (line 96) +* gamma: Mathematical functions. + (line 6) +* Gaussrand: Mathematical functions. + (line 39) +* geometry: geometry. (line 6) +* getc: Files. (line 30) +* getpair: Files. (line 117) +* getreal: Files. (line 117) +* getstring: Files. (line 117) +* gettriple: Files. (line 117) +* glOptions <1>: Options. (line 130) +* glOptions: three. (line 210) +* GNU Scientific Library: Mathematical functions. + (line 48) +* gouraudshade: fill. (line 58) +* Gradient: palette. (line 25) +* gradient shading: fill. (line 32) +* graph: graph. (line 6) +* graph3: graph3. (line 6) +* graphic: label. (line 79) +* graphical user interface: GUI. (line 6) +* gray: Pens. (line 25) +* Grayscale: palette. (line 9) +* grayscale: Pens. (line 25) +* grid <1>: graph. (line 734) +* grid: Pens. (line 251) +* grid3: grid3. (line 6) +* gs: Configuring. (line 6) +* gsl: Mathematical functions. + (line 48) +* GSL: Compiling from UNIX source. + (line 58) +* gsOptions: Options. (line 130) +* GUI: GUI. (line 6) +* GUI installation: GUI installation. (line 6) +* GUI usage: GUI usage. (line 6) +* guide: Paths and guides. (line 303) +* guide3: three. (line 6) +* hatch: Pens. (line 267) +* height: LaTeX usage. (line 51) +* help <1>: Debugger. (line 30) +* help <2>: Help. (line 6) +* help: Interactive mode. (line 44) +* Hermite: graph. (line 37) +* Hermite(splinetype splinetype: graph. (line 37) +* hex <1>: Pens. (line 60) +* hex: Data types. (line 283) +* hexidecimal <1>: Pens. (line 59) +* hexidecimal: Data types. (line 283) +* hidden surface removal: three. (line 589) +* histogram: Mathematical functions. + (line 39) +* history <1>: Interactive mode. (line 59) +* history: Files. (line 142) +* historylines: Interactive mode. (line 64) +* HookHead: draw. (line 26) +* HookHead3: three. (line 548) +* Horizontal: flowchart. (line 81) +* hyperrefOptions: Options. (line 130) +* hypot: Mathematical functions. + (line 6) +* I: Mathematical functions. + (line 48) +* i_scaled: Mathematical functions. + (line 48) +* iconic: three. (line 210) +* identity <1>: Arrays. (line 300) +* identity <2>: Mathematical functions. + (line 6) +* identity: Transforms. (line 24) +* identity4: three. (line 437) +* if: Programming. (line 8) +* IgnoreAspect: Frames and pictures. (line 58) +* image: palette. (line 34) +* ImageMagick <1>: Options. (line 143) +* ImageMagick <2>: animation. (line 6) +* ImageMagick: Configuring. (line 67) +* images: palette. (line 6) +* implicit casts: Casts. (line 6) +* implicit linear solver: MetaPost. (line 10) +* implicit scaling: Implicit scaling. (line 6) +* import: Import. (line 46) +* inches: Tutorial. (line 63) +* include: Import. (line 127) +* including images: label. (line 79) +* increasing: math. (line 59) +* inf: Data types. (line 33) +* inheritance: Structures. (line 181) +* initialized: Arrays. (line 39) +* initializers: Variable initializers. + (line 6) +* inline: LaTeX usage. (line 51) +* InOutTicks: graph3. (line 34) +* input <1>: Interactive mode. (line 48) +* input: Files. (line 10) +* insert <1>: Arrays. (line 39) +* insert: Data types. (line 237) +* inside: Paths and guides. (line 282) +* inst: Debugger. (line 36) +* installation: Installation. (line 6) +* int: Data types. (line 28) +* integer division: Arithmetic & logical. + (line 6) +* interactive mode: Interactive mode. (line 6) +* interior: Paths and guides. (line 278) +* international characters: unicode. (line 6) +* interp: Arithmetic & logical. + (line 76) +* interpolate: interpolate. (line 6) +* intersect <1>: three. (line 507) +* intersect <2>: math. (line 13) +* intersect: Paths and guides. (line 184) +* intersectionpoint <1>: three. (line 507) +* intersectionpoint <2>: math. (line 17) +* intersectionpoint: Paths and guides. (line 227) +* intersectionpoints <1>: three. (line 507) +* intersectionpoints: Paths and guides. (line 231) +* intersections <1>: three. (line 507) +* intersections: Paths and guides. (line 195) +* InTicks: graph3. (line 34) +* intMax: Data types. (line 28) +* intMin: Data types. (line 28) +* inverse <1>: Arrays. (line 306) +* inverse: Transforms. (line 16) +* invert: three. (line 427) +* invisible: Pens. (line 39) +* isnan: Data types. (line 33) +* J: Mathematical functions. + (line 6) +* Japanese: unicode. (line 12) +* K: Mathematical functions. + (line 48) +* k_scaled: Mathematical functions. + (line 48) +* Kate: Editing modes. (line 49) +* KDE editor: Editing modes. (line 49) +* keepAspect <1>: LaTeX usage. (line 51) +* keepAspect: Frames and pictures. (line 54) +* keyboard bindings:: three. (line 169) +* keys: Arrays. (line 39) +* keyword: Named arguments. (line 37) +* keyword-only: Named arguments. (line 37) +* keywords: Named arguments. (line 6) +* Korean: unicode. (line 12) +* label: three. (line 471) +* Label <1>: graph. (line 342) +* Label: label. (line 14) +* label: clip. (line 16) +* Label: draw. (line 98) +* labelpath: labelpath. (line 6) +* labelpath3: labelpath3. (line 6) +* labelx: graph. (line 342) +* labely: graph. (line 342) +* Landscape: Frames and pictures. (line 95) +* lastcut: Paths and guides. (line 254) +* lasy-mode: Editing modes. (line 6) +* latex: Options. (line 143) +* LaTeX fonts: Pens. (line 192) +* LaTeX usage: LaTeX usage. (line 6) +* latexmk: LaTeX usage. (line 30) +* latin1: latin1. (line 6) +* latitude: Data types. (line 136) +* latticeshade: fill. (line 32) +* layer: Drawing commands. (line 16) +* leastsquares <1>: graph. (line 902) +* leastsquares: stats. (line 6) +* Left: graph. (line 284) +* LeftRight: graph. (line 290) +* LeftSide: label. (line 61) +* LeftTicks: graph. (line 161) +* LeftView: three. (line 386) +* legend <1>: graph. (line 431) +* legend <2>: draw. (line 64) +* legend: Drawing commands. (line 31) +* Legendre: Mathematical functions. + (line 48) +* length <1>: three. (line 507) +* length <2>: Arrays. (line 39) +* length <3>: Paths and guides. (line 65) +* length: Data types. (line 62) +* letter: Configuring. (line 61) +* lexorder: math. (line 68) +* libm routines: Mathematical functions. + (line 6) +* libsigsegv <1>: Help. (line 33) +* libsigsegv: Functions. (line 88) +* limits: graph. (line 636) +* line: Arrays. (line 344) +* line mode: Arrays. (line 344) +* Linear: graph. (line 682) +* linecap: Pens. (line 129) +* linejoin: Pens. (line 138) +* lineskip: Pens. (line 178) +* linetype: Pens. (line 115) +* linewidth: Pens. (line 119) +* locale: Data types. (line 293) +* Log: graph. (line 682) +* log: Mathematical functions. + (line 6) +* log-log graph: graph. (line 713) +* log10: Mathematical functions. + (line 6) +* log1p: Mathematical functions. + (line 6) +* log2 graph: graph. (line 763) +* logarithmic graph: graph. (line 713) +* logical operators: Arithmetic & logical. + (line 6) +* longdashdotted: Pens. (line 95) +* longdashed: Pens. (line 95) +* longitude: Data types. (line 141) +* loop: Programming. (line 8) +* MacOS X binary distributions: MacOS X binary distributions. + (line 6) +* makepen: Pens. (line 300) +* map: Arrays. (line 141) +* Margin: draw. (line 42) +* Margin3: three. (line 564) +* margins: three. (line 262) +* Margins: draw. (line 42) +* Margins3: three. (line 564) +* mark: graph. (line 484) +* markangle: markers. (line 38) +* marker: graph. (line 484) +* markers: markers. (line 6) +* marknodes: graph. (line 484) +* markuniform: graph. (line 484) +* mask: Data types. (line 33) +* math: math. (line 6) +* mathematical functions: Mathematical functions. + (line 6) +* max <1>: three. (line 507) +* max <2>: Arrays. (line 225) +* max <3>: Frames and pictures. (line 7) +* max: Paths and guides. (line 267) +* maxbound: Data types. (line 106) +* maxtile: three. (line 210) +* maxtimes: Paths and guides. (line 222) +* maxviewport: three. (line 210) +* MetaPost: MetaPost. (line 6) +* MetaPost ... : Bezier curves. (line 67) +* MetaPost cutafter: Paths and guides. (line 255) +* MetaPost cutbefore: Paths and guides. (line 251) +* MetaPost pickup: Pens. (line 6) +* MetaPost whatever: MetaPost. (line 10) +* Microsoft Windows: Microsoft Windows. (line 6) +* MidArcArrow: draw. (line 26) +* MidArcArrow3: three. (line 548) +* MidArrow: draw. (line 26) +* MidArrow3: three. (line 548) +* midpoint: Paths and guides. (line 169) +* MidPoint: label. (line 56) +* min <1>: three. (line 507) +* min <2>: Arrays. (line 218) +* min <3>: Frames and pictures. (line 7) +* min: Paths and guides. (line 263) +* minbound: Data types. (line 103) +* minipage: label. (line 118) +* mintimes: Paths and guides. (line 217) +* miterjoin: Pens. (line 138) +* miterlimit: Pens. (line 147) +* mktemp: Files. (line 44) +* mm: Tutorial. (line 63) +* mode: Files. (line 75) +* monotonic: graph. (line 37) +* mouse: GUI. (line 6) +* mouse bindings: three. (line 137) +* Move: Pens. (line 339) +* MoveQuiet: Pens. (line 345) +* multisample: three. (line 127) +* multisampling: Compiling from UNIX source. + (line 16) +* N: Tutorial. (line 106) +* name: Files. (line 88) +* named arguments: Named arguments. (line 6) +* natural: graph. (line 37) +* new <1>: Arrays. (line 109) +* new: Structures. (line 6) +* newframe: Frames and pictures. (line 7) +* newl: Files. (line 61) +* newton: Mathematical functions. + (line 66) +* next: Debugger. (line 42) +* NFSS: Pens. (line 192) +* nobasealign: Pens. (line 168) +* NoFill <1>: Frames and pictures. (line 141) +* NoFill: draw. (line 26) +* NoMargin: draw. (line 42) +* NoMargin3: three. (line 564) +* none: Files. (line 61) +* None: draw. (line 19) +* normal: three. (line 493) +* nosafe: Options. (line 163) +* NOT: Arithmetic & logical. + (line 80) +* notaknot: graph. (line 37) +* NoTicks: graph. (line 161) +* NoTicks3: graph3. (line 34) +* null: Structures. (line 6) +* nullpen <1>: Frames and pictures. (line 127) +* nullpen: label. (line 14) +* NURBS: three. (line 363) +* O: three. (line 274) +* obj: obj. (line 9) +* oblique: three. (line 319) +* obliqueX: three. (line 327) +* obliqueY: three. (line 334) +* obliqueZ: three. (line 319) +* ode: ode. (line 9) +* offset <1>: Options. (line 168) +* offset: Pens. (line 115) +* OmitTick: graph. (line 239) +* OmitTickInterval: graph. (line 239) +* OmitTickIntervals: graph. (line 239) +* opacity: Pens. (line 222) +* open: Files. (line 12) +* OpenGL: three. (line 127) +* operator: User-defined operators. + (line 6) +* operator --: graph. (line 31) +* operator ..: graph. (line 34) +* operator answer: Interactive mode. (line 37) +* operator cast: Casts. (line 30) +* operator ecast: Casts. (line 57) +* operator init <1>: Structures. (line 134) +* operator init: Variable initializers. + (line 6) +* operators: Operators. (line 6) +* options: Options. (line 6) +* OR: Arithmetic & logical. + (line 80) +* orientation: Frames and pictures. (line 95) +* orthographic: three. (line 338) +* outformat: three. (line 127) +* outprefix: Frames and pictures. (line 83) +* output <1>: Options. (line 143) +* output: Files. (line 36) +* OutTicks: graph3. (line 34) +* overloading functions: Functions. (line 44) +* overwrite: Pens. (line 324) +* P: Mathematical functions. + (line 48) +* pack: label. (line 101) +* packing: Rest arguments. (line 30) +* pair <1>: Data types. (line 43) +* pair: Tutorial. (line 51) +* pairs: Arrays. (line 242) +* paperheight: Configuring. (line 61) +* papertype: Configuring. (line 61) +* paperwidth: Configuring. (line 61) +* parallelogram: flowchart. (line 50) +* parametric surface: graph3. (line 100) +* parametrized curve: graph. (line 636) +* partialsum: math. (line 53) +* patch-dependent colors: three. (line 81) +* path <1>: flowchart. (line 81) +* path <2>: three. (line 43) +* path: Paths and guides. (line 7) +* path markers: graph. (line 484) +* path3: three. (line 6) +* path[]: Tutorial. (line 134) +* patterns <1>: patterns. (line 6) +* patterns: Pens. (line 238) +* PDF: Options. (line 143) +* pdflatex: Options. (line 143) +* pdfviewer: Configuring. (line 6) +* pdfviewerOptions: Options. (line 130) +* pen: Pens. (line 6) +* PenMargin: draw. (line 42) +* PenMargin2: three. (line 564) +* PenMargin3: three. (line 564) +* PenMargins: draw. (line 42) +* PenMargins2: three. (line 564) +* PenMargins3: three. (line 564) +* periodic: graph. (line 37) +* perl: LaTeX usage. (line 30) +* perpendicular: geometry. (line 6) +* perspective: three. (line 363) +* picture: Frames and pictures. (line 35) +* picture alignment: Frames and pictures. (line 209) +* piecewisestraight: Paths and guides. (line 81) +* pixel: three. (line 571) +* Pl: Mathematical functions. + (line 48) +* plain: plain. (line 6) +* planar: three. (line 89) +* plane: three. (line 301) +* planeproject: three. (line 490) +* point <1>: three. (line 507) +* point: Paths and guides. (line 84) +* polar: Data types. (line 121) +* polargraph: graph. (line 90) +* polygon: graph. (line 484) +* pop: Arrays. (line 39) +* Portrait: Frames and pictures. (line 95) +* postcontrol <1>: three. (line 507) +* postcontrol: Paths and guides. (line 135) +* postfix operators: Self & prefix operators. + (line 19) +* postscript: Frames and pictures. (line 271) +* PostScript fonts: Pens. (line 210) +* PostScript subpath: Tutorial. (line 134) +* pow10: Mathematical functions. + (line 6) +* prc: three. (line 231) +* precision: Files. (line 92) +* precontrol <1>: three. (line 507) +* precontrol: Paths and guides. (line 128) +* prefix operators: Self & prefix operators. + (line 6) +* private: Structures. (line 6) +* programming: Programming. (line 6) +* pstoedit: PostScript to Asymptote. + (line 6) +* psview: Microsoft Windows. (line 16) +* psviewer: Configuring. (line 6) +* psviewerOptions: Options. (line 130) +* pt: Tutorial. (line 63) +* public: Structures. (line 6) +* push: Arrays. (line 39) +* Python usage: Interactive mode. (line 80) +* quadraticroots: Arrays. (line 309) +* quarticroots: math. (line 22) +* quick reference: Description. (line 80) +* quit <1>: Debugger. (line 54) +* quit <2>: Interactive mode. (line 59) +* quit: Tutorial. (line 37) +* quote: Import. (line 116) +* quotient: Arithmetic & logical. + (line 6) +* RadialShade: Frames and pictures. (line 159) +* radialshade: fill. (line 49) +* RadialShadeDraw: Frames and pictures. (line 163) +* radians: Mathematical functions. + (line 17) +* radius <1>: three. (line 507) +* radius: Paths and guides. (line 124) +* Rainbow: palette. (line 12) +* rand: Mathematical functions. + (line 39) +* randMax: Mathematical functions. + (line 39) +* read: Arrays. (line 385) +* reading: Files. (line 12) +* reading string arrays: Arrays. (line 354) +* readline: Files. (line 134) +* real: Data types. (line 33) +* realDigits: Data types. (line 33) +* realEpsilon: Data types. (line 33) +* realMax: Data types. (line 33) +* realMin: Data types. (line 33) +* realmult: Data types. (line 97) +* rectangle: flowchart. (line 37) +* recursion: Functions. (line 88) +* reference: Description. (line 80) +* reflect: Transforms. (line 51) +* Relative: label. (line 51) +* relpoint: Paths and guides. (line 165) +* reltime: Paths and guides. (line 161) +* remainder: Mathematical functions. + (line 6) +* rename: Files. (line 151) +* render <1>: Options. (line 143) +* render: three. (line 47) +* replace: Data types. (line 254) +* resetdefaultpen: Pens. (line 353) +* rest arguments: Rest arguments. (line 6) +* restore: Frames and pictures. (line 265) +* restricted: Structures. (line 6) +* return: Debugger. (line 48) +* reverse <1>: three. (line 507) +* reverse <2>: Arrays. (line 146) +* reverse <3>: Paths and guides. (line 172) +* reverse: Data types. (line 250) +* rewind: Files. (line 92) +* rfind: Data types. (line 231) +* rgb: Pens. (line 30) +* Riemann zeta function: Mathematical functions. + (line 48) +* Right: graph. (line 287) +* RightSide: label. (line 61) +* RightTicks: graph. (line 161) +* RightView: three. (line 386) +* rotate: three. (line 458) +* Rotate: label. (line 36) +* Rotate(pair z): label. (line 39) +* round: Mathematical functions. + (line 26) +* roundcap: Pens. (line 129) +* roundedpath: roundedpath. (line 6) +* roundjoin: Pens. (line 138) +* roundrectangle: flowchart. (line 69) +* RPM: UNIX binary distributions. + (line 6) +* runtime imports: Import. (line 98) +* Russian: unicode. (line 7) +* S: Tutorial. (line 106) +* safe: Options. (line 163) +* save: Frames and pictures. (line 262) +* saveline: Files. (line 134) +* scale: three. (line 457) +* Scale: graph. (line 698) +* scale <1>: graph. (line 682) +* scale <2>: Transforms. (line 39) +* scale: Pens. (line 115) +* Scale: label. (line 45) +* scale3: three. (line 454) +* scaled graph: graph. (line 663) +* scientific graph: graph. (line 396) +* scroll: Files. (line 108) +* search: Arrays. (line 164) +* search paths: Search paths. (line 6) +* Seascape: Frames and pictures. (line 100) +* secondary axis: graph. (line 813) +* secondaryX: graph. (line 813) +* secondaryY: graph. (line 813) +* seconds: Data types. (line 306) +* seek: Files. (line 92) +* seekeof: Files. (line 92) +* segment: math. (line 50) +* segmentation fault: Help. (line 33) +* self operators: Self & prefix operators. + (line 6) +* sequence: Arrays. (line 128) +* settings <1>: Options. (line 115) +* settings: Configuring. (line 23) +* sgn: Mathematical functions. + (line 26) +* shading: fill. (line 32) +* shift <1>: three. (line 442) +* shift: Transforms. (line 27) +* Shift: label. (line 33) +* shiftless: Transforms. (line 53) +* shipout: Frames and pictures. (line 83) +* showtarget: three. (line 338) +* Si: Mathematical functions. + (line 48) +* signedint: Files. (line 75) +* SimpleHead: draw. (line 26) +* simplex: simplex. (line 6) +* simpson: Mathematical functions. + (line 82) +* Sin: Mathematical functions. + (line 20) +* sin: Mathematical functions. + (line 6) +* single precision: Files. (line 75) +* singleint: Files. (line 75) +* singlereal: Files. (line 75) +* sinh: Mathematical functions. + (line 6) +* SixViews: three. (line 401) +* SixViewsFR: three. (line 401) +* SixViewsUS: three. (line 401) +* size <1>: Options. (line 143) +* size <2>: three. (line 507) +* size <3>: Frames and pictures. (line 43) +* size: Paths and guides. (line 70) +* size3: three. (line 259) +* slant: Transforms. (line 45) +* Slant: label. (line 42) +* sleep: Data types. (line 351) +* slice: Paths and guides. (line 240) +* slices: Slices. (line 6) +* slide: slide. (line 6) +* slope: math. (line 44) +* slopefield: slopefield. (line 6) +* sndncn: Mathematical functions. + (line 48) +* solid: Pens. (line 95) +* solids: solids. (line 9) +* solve: Arrays. (line 278) +* sort: Arrays. (line 184) +* Spline <1>: graph3. (line 100) +* Spline: graph. (line 34) +* split: Data types. (line 263) +* sqrt: Mathematical functions. + (line 6) +* squarecap: Pens. (line 129) +* srand: Mathematical functions. + (line 39) +* stack overflow <1>: Help. (line 33) +* stack overflow: Functions. (line 88) +* static: Static. (line 6) +* stats: stats. (line 6) +* stdin: Files. (line 48) +* stdout: Files. (line 48) +* step: Debugger. (line 39) +* stickframe: markers. (line 16) +* stop: Debugger. (line 10) +* straight: three. (line 507) +* Straight: graph. (line 31) +* straight: Paths and guides. (line 77) +* strftime: Data types. (line 298) +* string: Data types. (line 181) +* stroke: fill. (line 36) +* strokepath: Paths and guides. (line 297) +* strptime: Data types. (line 306) +* struct: Structures. (line 6) +* structures: Structures. (line 6) +* subpath <1>: three. (line 507) +* subpath: Paths and guides. (line 175) +* subpictures: Frames and pictures. (line 103) +* substr: Data types. (line 246) +* Subversion: Subversion. (line 6) +* sum: Arrays. (line 213) +* superpath: Tutorial. (line 134) +* Suppress: Pens. (line 331) +* SuppressQuiet: Pens. (line 335) +* surface <1>: graph3. (line 100) +* surface: three. (line 47) +* SVG: Options. (line 143) +* SVN: Subversion. (line 6) +* system <1>: Options. (line 163) +* system: Data types. (line 328) +* syzygy: syzygy. (line 6) +* tab: Files. (line 61) +* tab completion: Tutorial. (line 37) +* Tan: Mathematical functions. + (line 20) +* tan: Mathematical functions. + (line 6) +* tanh: Mathematical functions. + (line 6) +* target: three. (line 338) +* tell: Files. (line 92) +* tension <1>: three. (line 6) +* tension: Bezier curves. (line 56) +* tensionSpecifier: Paths and guides. (line 388) +* tensor product shading: fill. (line 74) +* tensorshade: fill. (line 74) +* tex <1>: Options. (line 143) +* tex: Frames and pictures. (line 278) +* TeX fonts: Pens. (line 201) +* TeX string: Data types. (line 181) +* texcommand: Configuring. (line 67) +* TeXHead: draw. (line 26) +* TeXHead3: three. (line 548) +* texpath <1>: label. (line 115) +* texpath: Configuring. (line 67) +* texpreamble: Frames and pictures. (line 286) +* texreset: Frames and pictures. (line 289) +* textbook graph: graph. (line 371) +* tgz: UNIX binary distributions. + (line 6) +* thick: three. (line 110) +* thin: three. (line 110) +* this: Structures. (line 6) +* three: three. (line 6) +* ThreeViews: three. (line 401) +* ThreeViewsFR: three. (line 401) +* ThreeViewsUS: three. (line 401) +* tick: graph. (line 342) +* Ticks: graph. (line 161) +* ticks: graph. (line 161) +* tildeframe: markers. (line 26) +* tile: Pens. (line 251) +* tilings: Pens. (line 238) +* time <1>: math. (line 30) +* time: Data types. (line 298) +* times: Paths and guides. (line 209) +* Top: graph. (line 137) +* TopView: three. (line 386) +* trace: Debugger. (line 51) +* trailingzero: graph. (line 175) +* transform <1>: three. (line 482) +* transform: Transforms. (line 6) +* transform3: three. (line 437) +* transparency: Pens. (line 222) +* transpose: Arrays. (line 205) +* tree: tree. (line 9) +* trembling: trembling. (line 6) +* triangle: geometry. (line 6) +* triangulate: contour. (line 157) +* tridiagonal: Arrays. (line 266) +* trigonometric integrals: Mathematical functions. + (line 48) +* triple: Data types. (line 110) +* TrueMargin: draw. (line 42) +* TrueMargin3: three. (line 564) +* tube <1>: tube. (line 6) +* tube: three. (line 110) +* tutorial: Tutorial. (line 6) +* type1cm: Pens. (line 178) +* typedef <1>: Functions. (line 36) +* typedef: Data types. (line 361) +* U3D: embed. (line 38) +* undefined: Paths and guides. (line 271) +* UnFill: Frames and pictures. (line 152) +* unfill: fill. (line 106) +* UnFill: draw. (line 26) +* unicode: unicode. (line 6) +* uniform: Arrays. (line 155) +* Uninstall: Uninstall. (line 6) +* unique: math. (line 64) +* unit: Data types. (line 80) +* unitbox <1>: three. (line 307) +* unitbox: Tutorial. (line 155) +* unitcircle <1>: three. (line 274) +* unitcircle: Tutorial. (line 128) +* unitrand: Mathematical functions. + (line 39) +* unitsize <1>: Frames and pictures. (line 64) +* unitsize: Tutorial. (line 86) +* UNIX binary distributions: UNIX binary distributions. + (line 6) +* unpacking: Rest arguments. (line 39) +* unravel: Import. (line 30) +* up: three. (line 338) +* update: Files. (line 36) +* UpsideDown: Frames and pictures. (line 95) +* usepackage: Frames and pictures. (line 291) +* user coordinates: Tutorial. (line 86) +* user-defined operators: User-defined operators. + (line 6) +* usleep: Data types. (line 354) +* value: math. (line 38) +* var: Variable initializers. + (line 63) +* variable initializers: Variable initializers. + (line 6) +* vectorfield: graph. (line 975) +* vectorfield3: graph3. (line 159) +* vectorization: Arrays. (line 323) +* verbatim: Frames and pictures. (line 271) +* vertex-dependent colors: three. (line 81) +* Vertical: flowchart. (line 81) +* viewportheight: LaTeX usage. (line 51) +* viewportmargin: three. (line 262) +* viewportsize: three. (line 262) +* viewportwidth: LaTeX usage. (line 51) +* views: three. (line 231) +* vim: Editing modes. (line 33) +* virtual functions: Structures. (line 181) +* void: Data types. (line 10) +* W: Tutorial. (line 106) +* whatever: Paths and guides. (line 235) +* Wheel: palette. (line 22) +* wheel mouse: GUI. (line 6) +* while: Programming. (line 29) +* white-space string delimiter mode: Arrays. (line 354) +* width: LaTeX usage. (line 51) +* windingnumber: Paths and guides. (line 271) +* word: Arrays. (line 354) +* write <1>: Arrays. (line 394) +* write: Files. (line 53) +* X: three. (line 274) +* xasy: GUI. (line 6) +* xaxis3: graph3. (line 7) +* xdr: Files. (line 75) +* xelatex <1>: Options. (line 143) +* xelatex: embed. (line 10) +* xequals: graph. (line 294) +* XEquals: graph. (line 280) +* xlimits: graph. (line 636) +* XOR: Arithmetic & logical. + (line 80) +* xpart: Data types. (line 91) +* xscale: Transforms. (line 33) +* xscale3: three. (line 445) +* xtick: graph. (line 342) +* XY: three. (line 467) +* XYEquals: graph3. (line 20) +* XYZero: graph3. (line 20) +* XZEquals: graph3. (line 20) +* XZero: graph. (line 275) +* XZZero: graph3. (line 20) +* Y <1>: three. (line 274) +* Y: Mathematical functions. + (line 6) +* yaxis3: graph3. (line 7) +* yequals: graph. (line 294) +* YEquals: graph. (line 130) +* ylimits: graph. (line 636) +* ypart: Data types. (line 94) +* yscale: Transforms. (line 36) +* yscale3: three. (line 448) +* ytick: graph. (line 342) +* YX: three. (line 482) +* YZ: three. (line 482) +* YZEquals: graph3. (line 20) +* YZero: graph. (line 125) +* YZZero: graph3. (line 20) +* Z: three. (line 274) +* zaxis3: graph3. (line 7) +* zero_Ai: Mathematical functions. + (line 48) +* zero_Ai_deriv: Mathematical functions. + (line 48) +* zero_Bi: Mathematical functions. + (line 48) +* zero_Bi_deriv: Mathematical functions. + (line 48) +* zero_J: Mathematical functions. + (line 48) +* zerowinding: Pens. (line 152) +* zeta: Mathematical functions. + (line 48) +* zpart: Data types. (line 163) +* zscale3: three. (line 451) +* ZX: three. (line 482) +* ZY: three. (line 482) +* |: Arithmetic & logical. + (line 62) +* ||: Arithmetic & logical. + (line 59) + + + +Tag Table: +Node: Top575 +Node: Description6834 +Node: Installation10450 +Node: UNIX binary distributions11503 +Node: MacOS X binary distributions12609 +Node: Microsoft Windows13493 +Ref: psview14203 +Node: Configuring15135 +Node: Search paths19349 +Node: Compiling from UNIX source20191 +Ref: multisampling20781 +Node: Editing modes23176 +Node: Subversion25608 +Node: Uninstall26071 +Node: Tutorial26421 +Ref: unitcircle30719 +Node: Drawing commands32655 +Node: draw34366 +Ref: arrows35514 +Node: fill40757 +Ref: gradient shading41801 +Node: clip46029 +Node: label46621 +Ref: Label47219 +Node: Bezier curves53022 +Node: Programming56599 +Ref: array iteration57413 +Node: Data types58494 +Ref: format67691 +Node: Paths and guides71944 +Ref: circle72198 +Ref: extension81622 +Node: Pens88305 +Ref: fillrule95673 +Ref: basealign96570 +Ref: transparency99396 +Ref: makepen102839 +Ref: overwrite103677 +Node: Transforms104887 +Node: Frames and pictures106678 +Ref: envelope107819 +Ref: size108902 +Ref: unitsize109889 +Ref: shipout110949 +Ref: filltype113282 +Ref: add116419 +Ref: add about117365 +Ref: tex120303 +Node: Files121177 +Ref: cd122160 +Ref: scroll126834 +Node: Variable initializers129749 +Node: Structures132474 +Node: Operators139918 +Node: Arithmetic & logical140232 +Node: Self & prefix operators142205 +Node: User-defined operators142993 +Node: Implicit scaling143904 +Node: Functions144467 +Ref: stack overflow147220 +Node: Default arguments147784 +Node: Named arguments148523 +Node: Rest arguments151094 +Node: Mathematical functions154215 +Node: Arrays158880 +Ref: sort165869 +Ref: tridiagonal168273 +Ref: solve169501 +Node: Slices173694 +Node: Casts177584 +Node: Import179549 +Node: Static184786 +Node: LaTeX usage187680 +Node: Base modules194092 +Node: plain196592 +Node: simplex197244 +Node: math197517 +Node: interpolate200222 +Node: geometry200501 +Node: trembling201095 +Node: stats201446 +Node: patterns201706 +Node: markers201942 +Node: tree203725 +Node: binarytree203913 +Node: drawtree204502 +Node: syzygy204706 +Node: feynman204980 +Node: roundedpath205255 +Node: animation205538 +Ref: animate205958 +Node: embed207097 +Node: slide208700 +Node: MetaPost209040 +Node: unicode209756 +Node: latin1210644 +Node: babel211012 +Node: labelpath211241 +Node: labelpath3212061 +Node: annotate212372 +Node: CAD212843 +Node: graph213153 +Ref: ticks220282 +Ref: pathmarkers233576 +Ref: marker234041 +Ref: markuniform234392 +Ref: errorbars236183 +Ref: automatic scaling240239 +Node: palette250885 +Ref: images251003 +Ref: image255175 +Ref: logimage255653 +Ref: penimage256714 +Ref: penfunctionimage256935 +Node: three257659 +Ref: PostScript3D282639 +Node: obj284331 +Node: graph3284583 +Ref: GaussianSurface289708 +Node: grid3290812 +Node: solids291552 +Node: tube292500 +Node: flowchart294735 +Node: contour299304 +Node: contour3304429 +Node: slopefield304736 +Node: ode306173 +Node: Options306433 +Ref: configuration file312421 +Ref: settings312421 +Ref: convert313622 +Node: Interactive mode316589 +Ref: history318742 +Node: GUI320047 +Node: GUI installation320550 +Node: GUI usage321680 +Node: PostScript to Asymptote322583 +Node: Help323339 +Node: Debugger325075 +Node: Credits326860 +Node: Index327792 + +End Tag Table diff --git a/Master/texmf-dist/doc/info/dir b/Master/texmf-dist/doc/info/dir new file mode 100644 index 00000000000..9132b9981a3 --- /dev/null +++ b/Master/texmf-dist/doc/info/dir @@ -0,0 +1,69 @@ +This is the file .../info/dir, which contains the +topmost node of the Info hierarchy, called (dir)Top. +The first time you invoke Info you start off looking at this node. + +File: dir, Node: Top This is the top of the INFO tree + + This (the Directory node) gives a menu of major topics. + Typing "q" exits, "?" lists all Info commands, "d" returns here, + "h" gives a primer for first-timers, + "mEmacs<Return>" visits the Emacs manual, etc. + + In Emacs, you can click mouse button 2 on a menu item or cross reference + to select it. + +* Menu: + +Science +* Asymptote: (asymptote). Vector graphics language. +* Asymptote FAQ: (asy-faq). FAQ for Asymptote. + +TeX +* Dvipng: (dvipng). DVI to Portable Network Graphics (PNG). +* Dvips: (dvips). Translating TeX DVI files to PostScript. +* Eplain: (eplain). Expanding on plain TeX. +* EpsPDF: (epspdf). Portable GUI&cmdline EPS/PS/PDF conversion. +* Kpathsea: (kpathsea). File lookup along search paths. +* LaTeX2e: (latex2e). LaTeX2e unofficial reference manual. +* LaTeX2e-es: (latex2e-es). Spanish translation of LaTeX2e. +* Mf2pt1: (mf2pt1). Make PostScript Type 1 fonts from Metafont. +* Naming TeX fonts: (fontname). Filenames for TeX fonts. +* TDS: (tds). Standard TeX directory structure. +* TeXDraw: (texdraw). Drawing PostScript diagrams within TeX. +* Web2C: (web2c). TeX, Metafont, and companion programs. + +Individual utilities +* afm2tfm: (dvips)Invoking afm2tfm. Adobe to TeX font metrics. +* bibtex: (web2c)bibtex invocation. Managing bibliographies. +* dmp: (web2c)dmp invocation. Troff->MPX (MetaPost pictures). +* dvicopy: (web2c)dvicopy invocation. Virtual font expansion. +* dvitomp: (web2c)dvitomp invocation. DVI to MPX (MetaPost pictures). +* dvitype: (web2c)dvitype invocation. DVI to human-readable text. +* gftodvi: (web2c)gftodvi invocation. Generic font proofsheets. +* gftopk: (web2c)gftopk invocation. Generic to packed fonts. +* gftype: (web2c)gftype invocation. GF to human-readable text. +* kpsewhich: (kpathsea)Invoking kpsewhich. TeX file searching. +* latex2man: (latex2man)Top. Convert man pages in LaTeX. +* makempx: (web2c)makempx invocation. MetaPost label typesetting. +* mf: (web2c)mf invocation. Creating typeface families. +* mft: (web2c)mft invocation. Prettyprinting Metafont source. +* mktexlsr: (kpathsea)Filename database. Update ls-R. +* mktexmf: (kpathsea)mktex scripts. MF source generation. +* mktexpk: (kpathsea)mktex scripts. PK bitmap generation. +* mktextex: (kpathsea)mktex scripts. TeX source generation. +* mktextfm: (kpathsea)mktex scripts. TeX font metric generation. +* mltex: (web2c)MLTeX. Multi-lingual TeX. +* mpost: (web2c)mpost invocation. Creating technical diagrams. +* mpto: (web2c)mpto invocation. MetaPost label extraction. +* newer: (web2c)newer invocation. Compare modification times. +* patgen: (web2c)patgen invocation. Creating hyphenation patterns. +* pktogf: (web2c)pktogf invocation. Packed to generic fonts. +* pktype: (web2c)pktype invocation. PK to human-readable text. +* pltotf: (web2c)pltotf invocation. Property list to TFM. +* pooltype: (web2c)pooltype invocation. Display WEB pool files. +* tangle: (web2c)tangle invocation. WEB to Pascal. +* tex: (web2c)tex invocation. Typesetting. +* tftopl: (web2c)tftopl invocation. TFM -> property list. +* vftovp: (web2c)vftovp invocation. Virtual font -> virtual pl. +* vptovf: (web2c)vptovf invocation. Virtual pl -> virtual font. +* weave: (web2c)weave invocation. WEB to TeX. diff --git a/Master/texmf-dist/doc/info/dvipng.info b/Master/texmf-dist/doc/info/dvipng.info new file mode 100644 index 00000000000..62d070278ad --- /dev/null +++ b/Master/texmf-dist/doc/info/dvipng.info @@ -0,0 +1,1211 @@ +This is dvipng.info, produced by makeinfo version 4.13 from dvipng.texi. + +INFO-DIR-SECTION TeX +START-INFO-DIR-ENTRY +* DVI-to-PNG: (dvipng). Translating TeX DVI files to Portable Network Graphics (PNG). +* dvipng: (dvipng). A DVI-to-PNG translator. +END-INFO-DIR-ENTRY + + +File: dvipng.info, Node: Top, Next: Introduction, Up: (dir) + +dvipng +****** + +This manual documents dvipng, a program to translate a DVI (DeVice +Independent) file into PNG (Portable Network Graphics). + + This file documents dvipng version 1.14 + + Corrections or perhaps rewrites of sections are _very welcome_. + + Jan-AAke Larsson + +* Menu: + +* Introduction:: Introduction +* Installation:: How to compile and install dvipng +* Basic usage:: First things first +* Command-line options:: Advanced usage +* Graphics:: Including PostScript and/or bitmaps +* Color:: Using color with dvipng +* Diagnosing problems:: Problems? +* Credits:: People who have contributed +* Copying:: GNU Lesser General Public License +* Index:: General index + + +File: dvipng.info, Node: Introduction, Next: Installation, Prev: Top, Up: Top + +1 Introduction +************** + +This program makes PNG and/or GIF graphics from DVI files as obtained +from TeX and its relatives. + + If GIF support is enabled, GIF output is chosen by using the +`dvigif' binary or with the `--gif' option. + + It is intended to produce anti-aliased screen-resolution images as +fast as is possible. The target audience is people who need to generate +and regenerate many images again and again. The primary target is the +preview-latex (X)Emacs package, a package to preview formulas from +within (X)Emacs. Yes, you get to see your formulas in the (X)Emacs +buffer, see `http://www.gnu.org/software/auctex/preview-latex.html'. + + Another example is WeBWorK, an internet-based method for delivering +homework problems to students over the internet, giving students +instant feedback as to whether or not their answers are correct, see +`http://webwork.math.rochester.edu'. + + A more recent addition to the dvipng-using applications out there is +MediaWiki, the software behind Wikipedia and many other wikis out +there. Dvipng is used to render mathematical formulae from version +1.8.0 of MediaWiki, see `http://www.mediawiki.org'. + + Other applications may also benefit, like web applications as +latex2html and WYSIWYG editors like LyX. + + The benefits of `dvipng'/`dvigif' include + + * Speed. It is a very fast bitmap-rendering code for DVI files, which + makes it suitable for generating large amounts of images + on-the-fly, as needed in preview-latex, WeBWorK and others. + + * It does not read the postamble, so it can be started before TeX + finishes. There is a `--follow' switch that makes dvipng wait at + end-of-file for further output, unless it finds the POST marker + that indicates the end of the DVI. + + * Interactive query of options. dvipng can read options interactively + through stdin, and all options are usable. It is even possible to + change the input file through this interface. + + * Supports PK, VF, PostScript Type1, and TrueType fonts, subfonts + (i.e., as used in CJK-LaTeX), color specials, and inclusion of + PostScript, PNG, JPEG or GIF images. + + * and more... + + + +File: dvipng.info, Node: Installation, Next: Basic usage, Prev: Introduction, Up: Top + +2 Installation +************** + +Installing dvipng should be simple: merely `./configure', `make', and +`make install'. + +* Menu: + +* Prerequisites:: +* Configure:: +* Build/install:: +* Installation outside the texmf tree:: +* Advice for non-privileged users:: + + +File: dvipng.info, Node: Prerequisites, Next: Configure, Up: Installation + +2.1 Prerequisites +================= + + * The GD Graphics Draw library, libgd + + The drawing library `libgd' is necessary, and is downloadable at + `http://www.boutell.com/gd', and there are binary packages for + most operating systems from their respective distributors. In any + case, the latest version of the library installs using `autoconf' + so it should not be difficult for you to install it from source, + and then proceed with installing dvipng. + + * The path-searching library kpathsea + + Kpathsea is most likely included in your LaTeX installation, but it + may happen that ./configure does not find it; see below. If you do + not have it, download it from `http://www.ctan.org' and compile it. + I have no experience with this, so I cannot help much here. + + * The font-rendering library FreeType 2 + + While not strictly necessary, a recent FreeType 2 is recommended + since dvipng currently will produce better-quality images when + this library is available. To take advantage of this, you should + have at least FreeType 2.1.9. + + FreeType 2 will enable direct support for PostScript and TrueType + fonts, so that dvipng will not need to generate bitmapped variants + on disk of the TeX fonts since modern TeX distributions include + PostScript versions of them. Then, you can render images at + different (and unusual) resolutions without cluttering the disk + with lots of bitmapped fonts. + + Finally, it will enable subfont support in dvipng. That is, if you + want to render CJK-LaTeX characters, you must have FreeType 2 + installed. + + * The font-rendering library T1lib + + An alternative to FreeType 2 is T1lib, but this will enable only + PostScript fonts in dvipng and will not include subfont support. + Also here, you can render images at different (and unusual) + resolutions without cluttering the disk with lots of bitmapped + fonts. If both FreeType 2 and T1lib are present, FreeType will be + internally preferred by dvipng but T1lib can be chosen at runtime. + + * libpng and libz + + To be able to compress and write PNG files to disk, dvipng (or + really libgd) uses libpng which in turn uses libz. These should be + available on any modern system, if not, download them and install + them. + + * The `texinfo' package + + This is needed for building the documentation. + + +File: dvipng.info, Node: Configure, Next: Build/install, Prev: Prerequisites, Up: Installation + +2.2 Configure +============= + +The first step is to configure the source code, telling it where +various files will be. To do so, run + + ./configure OPTIONS + + (Note: if you have fetched dvipng from CVS rather than a regular +release, you will have to first generate `./configure' by running +`autoconf' 2.53 or later.) + + On many machines, you will not need to specify any options, but if +`configure' cannot determine something on its own, you'll need to help +it out. For a list of the options type + + ./configure --help + + On some machines, the libraries will be installed in directories that +are not in the linker's search path. This will generate an error when +running `./configure', indicating that it cannot find libgd or +libkpathsea (most likely). You then need to specify the path to the +respective library's object files. They are typically called e.g., +`libgd.a' or `libgd.so'. If they are located in e.g., `/sw/local/lib', +do + + ./configure LDFLAGS=-L/sw/local/lib + + If the library is available as a shared object file (`.so'), the +runtime linker may also need to be told where to find the library, then +use + + ./configure LDFLAGS='-L/sw/local/lib -R/sw/local/lib' + + When either of these is necessary, it is likely that the C header +files are also installed in directories that are not in the C +preprocessor's search path. This will also generate an error when +running `./configure', indicating that it cannot find e.g., `gd.h' or +`kpathsea.h' (most likely). You then need to specify the path to the +respective library's C header files. If they are located in e.g., +`/sw/local/include', do + + ./configure CPPFLAGS=-I/sw/local/include + + On my SUN Solaris workstation, I had to combine this into + + ./configure CPPFLAGS='-I/sw/local/include -I/sw/tex/teTeX/1.0/include'\ + LDFLAGS='-L/sw/local/lib -R/sw/local/lib -L/sw/tex/teTeX/1.0/lib/' + +where the backslash denotes a continuation of the line. + + +File: dvipng.info, Node: Build/install, Next: Installation outside the texmf tree, Prev: Configure, Up: Installation + +2.3 Build/install +================= + +Once `configure' has been run, simply enter + + make + +at the prompt to compile the C code, and build the documentation files. +To install the files into the locations chosen earlier, type + + make install + +You may need special privileges to install, e.g., if you are installing +into system directories. + + +File: dvipng.info, Node: Installation outside the texmf tree, Next: Advice for non-privileged users, Prev: Build/install, Up: Installation + +2.4 Installation outside the texmf tree +======================================= + +In some cases, a dvipng binary installed outside the texmf tree will +not be able to find virtual fonts, or the PostScript font maps +(normally used by dvips). This may be because _only_ $SELFAUTOLOC, +$SELFAUTODIR, and $SELFAUTOPARENT are used in the texmf tree +configuration file `texmf.cnf'. If so, give the switch +`--enable-selfauto-set' to `./configure'. This will make dvipng adjust +these three internally so that kpathsea thinks that dvipng _is_ +installed in the texmf tree. + + +File: dvipng.info, Node: Advice for non-privileged users, Prev: Installation outside the texmf tree, Up: Installation + +2.5 Installation for non-privileged users +========================================= + +Often people without system administration privileges want to install +software for their private use. In that case you need to specify more +options to the `configure' script, usually this is done by using the +`--prefix' option to the `configure' script, and let it point to the +personal home directory. In that way, resulting binaries will be +installed under the `bin' subdirectory of your home directory, manual +pages under `man' and so on. That way, it is reasonably easy to +maintain a bunch of additional packages, since the prefix argument is +supported by most `configure' scripts. + + You'll have to add something like `/home/myself/bin' to your `PATH' +shell variable, if it isn't there already, and similarly set the +`INFOPATH' and `MANPATH' variables to be able to access the +documentation. + + +File: dvipng.info, Node: Basic usage, Next: Command-line options, Prev: Installation, Up: Top + +3 Basic usage of dvipng +*********************** + +To use dvipng at its simplest, simply type + + dvipng foo + +where `foo.dvi' is the output of TeX that you want to convert to PNG +format. If there are four pages in `foo.dvi', those pages will be +output as `foo1.png', `foo2.png', `foo3.png', and `foo4.png', +respectively. + + If you have enabled the PostScript font support (via FreeType or +T1lib), fonts will be rendered as they are needed. Otherwise, dvipng +will use bitmapped (PK) fonts, and if you use PK fonts that have not +been used on your system before, they may be automatically generated; +this process can take a few minutes, so progress reports appear by +default. The next time the same font is used, it will have been saved +on disk, so rendering will go much faster. (If dvipng tries to +endlessly generate the same fonts over and over again, something is +wrong. *Note Unable to generate fonts: (kpathsea)Unable to generate +fonts.) + + Many options are available (see the next section). For a brief +summary of available options, just type + + dvipng --help + + +File: dvipng.info, Node: Command-line options, Next: Graphics, Prev: Basic usage, Up: Top + +4 Command-line options +********************** + +dvipng has a plethora of command line options. Reading through this +section will give a good idea of the capabilities of the driver. + +* Menu: + +* Option summary:: Quick listing, from dvipng --help. +* Option details:: More information about each option. + + +File: dvipng.info, Node: Option summary, Next: Option details, Up: Command-line options + +4.1 Option summary +================== + +Here is a handy summary of the options; it is printed out when you run +dvipng with no arguments or with the standard `--help' option. + + This is ./dvipng 1.14 Copyright 2002-2010 Jan-Ake Larsson + + Usage: ./dvipng [OPTION]... FILENAME[.dvi] + Options are chosen to be similar to dvips' options where possible: + -d # Debug (# is the debug bitmap, 1 if not given) + -D # Output resolution + -l # Last page to be output + -o f Output file, '%d' is pagenumber + -O c Image offset + -p # First page to be output + -pp #,#.. Page list to be output + -q* Quiet operation + -T c Image size (also accepts '-T bbox' and '-T tight') + -v* Verbose operation + - Interactive query of options + + These do not correspond to dvips options: + -bd # Transparent border width in dots + -bd s Transparent border fallback color (TeX-style color) + -bg s Background color (TeX-style color or 'Transparent') + --depth* Output the image depth on stdout + --dvinum* Use TeX page numbers in output filenames + -fg s Foreground color (TeX-style color) + --follow* Wait for data at end-of-file + --freetype* FreeType font rendering (preferred, default on) + --gamma # Control color interpolation + --gif Output GIF images (dvigif default) + --height* Output the image height on stdout + --nogs* Don't use ghostscript for PostScript specials + --nogssafer* Don't use -dSAFER in ghostscript calls + --norawps* Don't convert raw PostScript specials + --palette* Force palette output + --picky When a warning occurs, don't output image + --png Output PNG images (dvipng default) + --strict When a warning occurs, exit + --t1lib* T1lib font rendering (default on) + --truecolor* Truecolor output + -Q # Quality (T1lib and PK subsampling) + --width* Output the image width on stdout + -z # PNG compression level + + # = number f = file s = string * = suffix, '0' to turn off + c = comma-separated dimension pair (e.g., 3.2in,-32.1cm) + + +File: dvipng.info, Node: Option details, Prev: Option summary, Up: Command-line options + +4.2 Option details +================== + +Many of the parameterless options listed here can be turned off by +suffixing the option with a zero (`0'); for instance, to turn off page +reversal, use `-r0'. Such options are marked with a trailing `*'. + +`-' + Read additional options from standard input after processing the + command line. + +`--help' + Print a usage message and exit. + +`--version' + Print the version number and exit. + +`-bd NUM' + +`-bd COLOR_SPEC' + +`-bd 'NUM COLOR_SPEC'' + Set the pixel width of the transparent border (default 0). Using + this option will make the image edges transparent, but it only + affects pixels with the background color. Giving a COLOR_SPEC will + set the fallback color, to be used in viewers that cannot handle + transparency (the default is the background color). The color spec + should be in TeX color \special syntax, e.g., 'rgb 1.0 0.0 0.0'. + Setting the fallback color makes the default border width 1 px. + *Note Color::. + +`--bdpi NUM' + This option only has an effect when using bitmapped (PK) fonts. The + option sets the base (Metafont) resolution, both horizontal and + vertical, to NUM dpi (dots per inch). This option is necessary + when manually selecting Metafont mode with the -mode option (see + below). + +`-bg COLOR_SPEC' + Choose background color for the images. This option will be + ignored if there is a background color \special in the DVI. The + color spec should be in TeX color \special syntax, e.g., 'rgb 1.0 + 0.0 0.0'. You can also specify 'Transparent' or 'transparent' + which will give you a transparent background with the normal + background as a fallback color. A capitalized 'Transparent' will + give a full-alpha transparency, while an all-lowercase + 'transparent' will give a simple fully transparent background with + non-transparent antialiased pixels. The latter would be suitable + for viewers who cannot cope with a true alpha channel. GIF images + do not support full alpha transparency, so in case of GIF output, + both variants will use the latter behaviour. *Note Color::. + +`-d NUM' + Set the debug flags, showing what dvipng (thinks it) is doing. + This will work unless dvipng has been compiled without the `DEBUG' + option (not recommended). Set the flags as you need them, use `-d + -1' as the first option for maximum output. *Note Debug options::. + +`-D NUM' + Set the output resolution, both horizontal and vertical, to NUM + dpi (dots per inch). + + One may want to adjust this to fit a certain text font size (e.g., + on a web page), and for a text font height of FONT_PX pixels (in + Mozilla) the correct formula is + DPI = FONT_PX * 72.27 / 10 [px * TeXpt/in / TeXpt] + The last division by ten is due to the standard font height 10pt in + your document, if you use 12pt, divide by 12. Unfortunately, some + proprietary browsers have font height in pt (points), not pixels. + You have to rescale that to pixels, using the screen resolution + (default is usually 96 dpi) which means the formula is + FONT_PX = FONT_PT * 96 / 72 [pt * px/in / (pt/in)] + On some high-res screens, the value is instead 120 dpi. Good luck! + +`--depth*' + Report the depth of the image. This only works reliably when the + LaTeX style `preview.sty' from preview-latex is used with the + `active' option. It reports the number of pixels from the bottom + of the image to the baseline of the image. This can be used for + vertical positioning of the image in, e.g., web documents, where + one would use (Cascading StyleSheets 1) + <IMG SRC="FILENAME.PNG" STYLE="vertical-align: -DEPTHpx"> + The depth is a negative offset in this case, so the minus sign is + necessary, and the unit is pixels (px). + +`--dvinum*' + Set this option to make the output page number be the TeX page + numbers rather than the physical page number. See the `-o' switch. + +`-fg COLOR_SPEC' + Choose foreground color for the images. This option will be + ignored if there is a foreground color \special in the DVI. The + color spec should be in TeX color \special syntax, e.g., 'rgb 1.0 + 0.0 0.0'. *Note Color::. + +`--follow*' + Wait for data at end-of-file. One of the benefits of dvipng is + that it does not read the postamble, so it can be started before + TeX finishes. This switch makes dvipng wait at end-of-file for + further output, unless it finds the POST marker that indicates the + end of the DVI. This is similar to `tail -f' but for DVI-to-PNG + conversion. + +`--freetype*' + Enable/disable FreeType font rendering (default on). This option is + available if the FreeType2 font library was present at compilation + time. If this is the case, dvipng will have direct support for + PostScript Type1 and TrueType fonts internally, rather than using + `gsftopk' for rendering the fonts. If you have PostScript versions + of Computer Modern installed, there will be no need to generate + bitmapped (PK) variants on disk of these. Then, you can render + images at different (and unusual) resolutions without cluttering + the disk with lots of bitmapped fonts. Note that if you have both + FreeType and T1lib on your system, FreeType will be preferred by + dvipng. If you for some reason would want to use T1lib rendering, + use this option. + +`--gamma NUM' + Control the interpolation of colors in the greyscale anti-aliasing + color palette. Default value is 1.0. For 0 < NUM < 1, the fonts + will be lighter (more like the background), and for NUM > 1, the + fonts will be darker (more like the foreground). + +`--gif*' + The images are output in the GIF format, if GIF support is enabled. + This is the default for the `dvigif' binary, which only will be + available when GIF support is enabled. GIF images are palette + images (see the `--palette' option) and does not support true alpha + channels (see the `--bg' option). See also the `--png' option. + +`--height*' + Report the height of the image. This only works reliably when the + LaTeX style `preview.sty' from preview-latex is used with the + `active' option. It reports the number of pixels from the top of + the image to the baseline of the image. The total height of the + image is obtained as the sum of the values reported from + `--height' and `--depth'. + +`-l [=]NUM' + The last page printed will be the first one numbered NUM. Default + is the last page in the document. If NUM is prefixed by an equals + sign, then it (and the argument to the `-p' option, if specified) + is treated as a physical (absolute) page number, rather than a + value to compare with the TeX `\count0' values stored in the DVI + file. Thus, using `-l =9' will end with the ninth page of the + document, no matter what the pages are actually numbered. + +`--mode MODE' + This option only has an effect when using bitmapped (PK) fonts. Use + MODE as the Metafont device name for the PK fonts (both for path + searching and font generation). This needs to be augmented with + the base device resolution, given with the `--bdpi' option. See + the file `ftp://ftp.tug.org/tex/modes.mf' for a list of + resolutions and mode names for most devices. *Note Unable to + generate fonts: (kpathsea)Unable to generate fonts. + +`-M*' + This option only has an effect when using bitmapped (PK) fonts. It + turns off automatic PK font generation (`mktexpk'). + +`--nogs*' + This switch prohibits the internal call to GhostScript for + displaying PostScript specials. `--nogs0' turns the call back on. + +`--nogssafer*' + Normally, if GhostScript is used to render PostScript specials, the + GhostScript interpreter is run with the option `-dSAFER'. The + `--nogssafer' option runs GhostScript without `-dSAFER'. The + `-dSAFER' option in Ghostscript disables PostScript operators such + as deletefile, to prevent possibly malicious PostScript programs + from having any effect. + +`--norawps*' + Some packages generate raw PostScript specials, even non-rendering + such specials. This switch turns off the internal call to + GhostScript intended to display these raw PostScript specials. + `--norawps0' turns the call back on. + +`-o NAME' + Send output to the file NAME. A single occurrence of `%d' or + `%01d', ..., `%09d' will be exchanged for the physical page number + (this can be changed, see the `--dvinum' switch). The default + output filename is `FILE%d.png' where the input DVI file was + `FILE.dvi'. + +`-O X-OFFSET,Y-OFFSET' + Move the origin by X-OFFSET,Y-OFFSET, a comma-separated pair of + dimensions such as `.1in,-.3cm'. The origin of the page is + shifted from the default position (of one inch down, one inch to + the right from the upper left corner of the paper) by this amount. + +`-p [=]NUM' + The first page printed will be the first one numbered NUM. Default + is the first page in the document. If NUM is prefixed by an + equals sign, then it (and the argument to the `-l' option, if + specified) is treated as a physical (absolute) page number, rather + than a value to compare with the TeX `\count0' values stored in the + DVI file. Thus, using `-p =3' will start with the third page of + the document, no matter what the pages are actually numbered. + +`--palette*' + When an external image is included, `dvipng' will automatically + switch to truecolor mode, to avoid unnecessary delay and quality + reduction, and enable the EPS translator to draw on a transparent + background and outside of the boundingbox. This switch will force + palette (256-color) output and make `dvipng' revert to opaque + clipped image inclusion. This will also override the `--truecolor' + switch if present. + +`--picky*' + No images are output when a warning occurs. Normally, dvipng will + output an image in spite of a warning, but there may be something + missing in this image. One reason to use this option would be if + you have a more complete but slower fallback converter. Mainly, + this is useful for failed figure inclusion and unknown \special + occurrences, but warnings will also occur for missing or unknown + color specs and missing PK fonts. + +`--png*' + The images are output in the PNG format. This is the default for + the `dvipng' binary. See also the `--gif' option. + +`-pp FIRSTPAGE-LASTPAGE' + Print pages FIRSTPAGE through LASTPAGE; but not quite equivalent + to `-p FIRSTPAGE -l LASTPAGE'. For example, when rendering a book, + there may be several instances of a page in the DVI file (one in + `\frontmatter', one in `\mainmatter', and one in `\backmatter'). + In case of several pages matching, `-pp FIRSTPAGE-LASTPAGE' will + render _all_ pages that matches the specified range, while `-p + FIRSTPAGE -l LASTPAGE' will render the pages from the _first_ + occurrence of FIRSTPAGE to the _first_ occurrence of LASTPAGE. + This is the (undocumented) behaviour of dvips. In dvipng you can + give both kinds of options, in which case you get all pages that + matches the range in `-pp' between the pages from `-p' to `-l'. + Also multiple `-pp' options accumulate, unlike `-p' and `-l'. The + `-' separator can also be `:'. Note that `-pp -1' will be + interpreted as "all pages up to and including 1", if you want a + page numbered -1 (only the table of contents, say) put `-pp -1--1', + or more readable, `-pp -1:-1'. + +`-q*' + Run quietly. Don't chatter about pages converted, etc. to standard + output; report no warnings (only errors) to standard error. + +`-Q NUM' + Set the quality to NUM. That is, choose the number of antialiasing + levels for bitmapped fonts (PK) and fonts rendered using T1lib, to + be NUM*NUM+1. The default value is 4 which gives 17 levels of + antialiasing for antialiased fonts from these two. If FreeType is + available, its rendering is unaffected by this option. + +`-r*' + Toggle output of pages in reverse/forward order. By default, the + first page in the DVI is output first. + +`--strict*' + The program exits when a warning occurs. Normally, dvipng will + output an image in spite of a warning, but there may be something + missing in this image. One reason to use this option would be if + you have a more complete but slower fallback converter. See the + `--picky' option above for a list of when warnings occur. + +`-T IMAGE_SIZE' + Set the image size to IMAGE_SIZE which can be either of `bbox', + `tight', or a comma-separated pair of dimensions HSIZE,VSIZE such + as `.1in,.3cm'. The default is `bbox' which produces a PNG that + includes all ink put on the page and in addition the DVI origin, + located 1in from the top and 1in from the left edge of the paper. + This usually gives whitespace above and to the left in the + produced image. The value `tight' will make dvipng only include + all ink put on the page, producing neat images. + +`--t1lib*' + Enable T1lib font rendering (default on). This option is available + if the T1lib font library was present at compilation time. If this + is the case, dvipng will have direct support for PostScript Type1 + fonts internally, rather than using `gsftopk' for rendering the + fonts. If you have PostScript versions of Computer Modern + installed, there will be no need to generate bitmapped variants on + disk of these. Then, you can render images at different (and + unusual) resolutions without cluttering the disk with lots of + bitmapped fonts. Note that if you have both FreeType and T1lib on + your system, FreeType will be preferred by dvipng, and if you for + some reason rather want to use T1lib, give the option + `--freetype0' (see above). + +`--truecolor*' + This will make `dvipng' generate truecolor output. Note that + truecolor output is automatic if you include an external image in + your DVI, e.g., via a PostScript special (i.e., the `graphics' or + `graphicx' package). This switch is overridden by the `--palette' + switch. + +`-v*' + Enable verbose operation. This will currently indicate what fonts + is used, in addition to the usual output. + +`--width*' + Report the width of the image. See also `--height' and `--depth'. + +`-x NUM' + This option is deprecated; it should not be used. It is much + better to select the output resolution directly with the `-D' + option. This option sets the magnification ratio to NUM/1000 and + overrides the magnification specified in the DVI file. Must be + between 10 and 100000. It is recommended that you use standard + magstep values (1095, 1200, 1440, 1728, 2074, 2488, 2986, and so + on) to help reduce the total number of PK files generated. NUM + may be a real number, not an integer, for increased precision. + +`-z NUM' + Set the PNG compression level to NUM. This option is enabled if + your `libgd' is new enough. The default compression level is 1, + which selects maximum speed at the price of slightly larger PNGs. + For an older `libgd', the hard-soldered value 5 is used. The + include file `png.h' says + + Currently, valid values range from 0 - 9, corresponding + directly to the zlib compression levels 0 - 9 (0 - no + compression, 9 - "maximal" compression). Note that tests have + shown that zlib compression levels 3-6 usually perform as + well as level 9 for PNG images, and do considerably fewer + calculations. In the future, these values may not correspond + directly to the zlib compression levels. + + +File: dvipng.info, Node: Graphics, Next: Color, Prev: Command-line options, Up: Top + +5 Graphics +********** + +`dvipng' attempts to handle graphics as included by the `graphicx' and +`graphics' packages, without the need of specifying a driver to these +packages. This means that it recognizes the encapsulated postscript +inclusion meant for `dvips', but is also able (from version 1.8) to +include bitmapped graphics. It also tries to handle some of the raw +PostScript that is output from various packages. Some of the +possibilities and problems are mentioned below. + +* Menu: + +* Encapsulated PostScript:: An internal call to GhostScript +* Bitmapped graphics:: PNG, JPEG and GIF +* Raw PostScript:: Ignore or give to GhostScript + + +File: dvipng.info, Node: Encapsulated PostScript, Next: Bitmapped graphics, Up: Graphics + +5.1 Encapsulated PostScript +=========================== + +When an EPS file is included, a call to GhostScript is performed to +produce a bitmapped image that can be included. The default is to +produce an image with transparent background, at the same size as the +DVI page currently being converted to PNG, and include that as +foreground on the PNG. Of course, if the image is to be cropped, that +is done. The included image will be a truecolor image, so for maximum +performance the output PNG will be in truecolor mode as well. + + This conversion needs the `pngalpha' output device to be present in +your copy of GhostScript. If that device is not present, or you use the +`--palette' switch or request GIF output, the fallback is to use the +`png16m' device to produce a cropped opaque image for inclusion. Other +relevant switches are `--noghostscript' and `--nogssafer'. *Note Option +details::. + + The most common problem with including graphics is an incorrect +bounding box. Complain to whoever wrote the software that generated the +file if the bounding box is indeed incorrect. An adjusted boundingbox +can be specified in the `\includegraphics' call, as in this example +(using `graphicx'): + + \includegraphics[bb=10 20 100 200]{imagename.eps} + + +File: dvipng.info, Node: Bitmapped graphics, Next: Raw PostScript, Prev: Encapsulated PostScript, Up: Graphics + +5.2 Bitmapped graphics +====================== + +dvipng can include PNG, JPEG and GIF graphics. When including such +images via `\includegraphics' you need to specify the bounding box +since TeX itself cannot read them from the files in question. The +bounding box size should be given as `0 0 w h' in pixels, e.g., if the +file `imagename.png' is 300x400 pixels, the inclusion would read + + \includegraphics[bb=0 0 300 400]{imagename.png} + + The default size is the image size in bp ("big points" in TeX +nomenclature or PostScript points as other people have it, 72 per inch). +That is, default resolution will be 72 dpi for included bitmaps, which +is the default size in the few other bitmap-capable drivers that are +known to me (dvipdfm and PDFLaTeX). + + If you want 100 dpi you need to specify the width accordingly. You +just divide your image width by 100: a 135 pixel wide image at 100 dpi +will take up 1.35 inches. If you want 200 dpi you divide by 200, and so +on. Simple, eh? The example above at 200 dpi would be 1.5 inches wide: + + \includegraphics[bb=0 0 300 400,witdh=1.5in]{imagename.png} + + +File: dvipng.info, Node: Raw PostScript, Prev: Bitmapped graphics, Up: Graphics + +5.3 Raw PostScript +================== + +dvipng attempts to handle raw PostScript. Rendering raw PostScript +specials is done on top of the page by including a transparent image +generated by the `pngalpha' device in GhostScript (automatically +selecting `truecolor' mode in dvipng). + + Included PostScript headers are respected, and if the header +`tex.pro' is included, dvipng also throws in `color.pro' and +`special.pro'. The package `xcolor' includes its own headers with color +names, and this is not only kept as a PostScript header, but is also +read and interpreted by dvipng itself. An attempt is also made to +respect the PGF header. The non-rendering specials from `hyperref' are +handled via some heuristics and do not give an error. + + Really rendering and moving things with raw PostScript specials is +more troublesome. The \rotatebox macro serves as a good example. The +dvips driver of the graphicx package surrounds DVI glyphs with +PostScript code so that after conversion by dvips, the glyphs (now +themselves in PostScript) will be rotated in the desired way. dvipng +does not handle this, at present. An attempt has been made to handle +the rendering specials output by PGF (tikz), and also PSTricks. Some +things work, but others do not. This is especially clear when mixing +PostScript and DVI rendering commands such as glyphs. dvipng cannot at +present detect if PostScript code moves `currentpoint' or rotates the +frame since GhostScript does not return such information. A +recommendation would be to produce images from these packages as EPS +files and include them into your document in the standard manner. + + Another way to handle this would be to use a slower fallback (with +dvips and gs, for example). If you want to disable raw PostScript +handling in dvipng, use the switch `--norawps'. This switch turns off +the internal call to GhostScript intended to display these raw +PostScript specials. Further, when dvipng encounters raw PostScript and +the gs call is turned off, it gives a warning. It is now possible to +use the switch `--picky' to disable page rendering of pages with +warnings, and use the slower fallback for these pages. + + +File: dvipng.info, Node: Color, Next: Diagnosing problems, Prev: Graphics, Up: Top + +6 Color +******* + +To support color, dvipng recognizes a certain set of specials as +generated by the `color' and `xcolor' style files. These specials start +with the keyword `color' or the keyword `background', followed by a +color specification. + +* Menu: + +* Color specifications:: +* Color specials:: + + +File: dvipng.info, Node: Color specifications, Next: Color specials, Up: Color + +6.1 Color specifications +======================== + +The color specification supported by dvipng is by-value or by-name. The +by-value spec starts with the name of a color model (one of `rgb', +`hsb', `cmy', `cmyk', or `gray') followed by the appropriate number of +parameters. Thus, the color specification `rgb 0.3 0.4 0.5' would +correspond to the color that is `0.3 0.4 0.5' in its red, blue and +green values. The color model used internally in dvipng is `RGB' +(discretized to 256 levels), for details on the formulas used in +conversion, see the `xcolor' documentation. + + By-name color specifications are single (case-dependent) words and +are compared with color names defined in `dvipsnam.def' (from the +`graphics' bundle), `svgnam.def' and `xcolor.sty' (from the `xcolor' +bundle). See the `xcolor' documentation for a list of names and the +corresponding colors. + + On the command-line, the name `Transparent' can also be used as an +argument to `--bg' to choose transparent background. *Note Option +details::. + + +File: dvipng.info, Node: Color specials, Prev: Color specifications, Up: Color + +6.2 Color specials +================== + +We will describe `background' first, since it is the simplest. The +`background' keyword must be followed by a color specification. That +color specification is used as a fill color for the background. The +last `background' special on a page is the one that gets used, and is +used for the whole of the page image. (This is possible because the +prescan phase of dvipng notices all of the color specials so that the +appropriate information can be written out during the second phase.) + + The `color' special itself has three forms. The first is just +`color' followed by a color specification. In this case, the current +global color is set to that color; the color stack must be empty when +such a command is executed. + + The second form is `color push' followed by a color specification. +This saves the current color on the color stack and sets the color to be +that given by the color specification. This is the most common way to +set a color. + + The final form of the `color' special is just `color pop', with no +color specification; this says to pop the color last pushed on the +color stack from the color stack and set the current color to be that +color. + + dvipng correctly handles these color specials across pages, even when +the pages are rendered repeatedly or in reverse order. + + +File: dvipng.info, Node: Diagnosing problems, Next: Credits, Prev: Color, Up: Top + +7 Diagnosing problems +********************* + +You've gone through all the trouble of installing dvipng, carefully read +all the instructions in this manual, and still can't get something to +work. The following sections provide some helpful hints if you find +yourself in such a situation. + +* Menu: + +* Contact information:: Who to ask. +* Debug options:: Getting diagnostics. + + +File: dvipng.info, Node: Contact information, Next: Debug options, Up: Diagnosing problems + +7.1 Contact information +======================= + +Bug reports should be sent to <dvipng@nongnu.org>. + + Questions, suggestions for new features, pleas for help, and/or +praise should go to <dvipng@nongnu.org>. For more information on this +mailing list, send a message with just the word `help' as subject or +body to <dvipng-request@nongnu.org> or look at +`http://lists.nongnu.org/mailman/listinfo/dvipng'. + + Offers to support further development will be appreciated. For +developer access, ask on <dvipng@nongnu.org>. + + For details on the TeX path-searching library, and `mktexpk' +problems, *note Common problems: (kpathsea)Common problems. + + +File: dvipng.info, Node: Debug options, Prev: Contact information, Up: Diagnosing problems + +7.2 Debug options +================= + +The `-d' flag to dvipng helps in tracking down certain errors. The +parameter to this flag is an integer that tells what errors are +currently being tracked. To track a certain class of debug messages, +simply provide the appropriate number given below; if you wish to track +multiple classes, sum the numbers of the classes you wish to track. To +track all classes, you can use `-1'. + + Some of these debugging options are actually provided by Kpathsea +(*note Debugging: (kpathsea)Debugging.). + + The classes are: +1 + Normal dvi op-codes + +2 + Virtual fonts + +4 + PK fonts + +8 + TFM files + +16 + Glyph rendering + +32 + FreeType calls + +64 + Encoding loads + +128 + Color specials + +256 + GhostScript specials + +512 + T1lib calls + +1024 + Kpathsea `stat' calls + +2048 + Kpathsea hash table lookups + +4096 + Kpathsea path element expansion + +8192 + Kpathsea path searches + + + +File: dvipng.info, Node: Credits, Next: Copying, Prev: Diagnosing problems, Up: Top + +8 Credits +********* + +A number of persons have contributed, if I forget to mention someone, I +apologize. First and foremost we have David Kastrup whose preview-latex +project provided the incentive to write this program. There is also a +number of people who have contributed by reporting bugs and suggesting +improvements as the thing has evolved. These include but is perhaps not +limited to (in semi-random order): Thomas Esser (teTeX), Christian +Schenk (MIKTeX), Brian R Furry (debian package), Angus Leeming (LyX), +Thomas Boutell (libgd), John Jones (first user report), Uwe Kern +(xcolor), Karl Berry and Peter Breitenlohner (TeX Live), David Harvey +(hinting in Freetype), Neal Harmon, Alan Shutko, Reiner Stieb, Nick +Alcock, Adam Buchbinder, Svend Tollak Munkejord, James Longstreet, +Bernhard Simon, Bob McElrath, Georg Schwarz, Jason Farmer, Brian V. +Smith, Samuel Hathaway, Thomas R. Shemanske, Stephen Gibson, Christian +Ridderstro"m, Ezra Peisach, William H Wheeler, Thomas Klausner, Harald +Koenig, Adrian Bunk, Kevin Smith, Jason Riedy, Wolfram Krause, Reinhard +Kotucha, Takeshi Abe, and Waldeck Schutzer. + + Use of the `gd' library requires inclusion of the following +copyright notice, which applies to the `gd' library: + + Portions copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, + 2002, 2003, 2004 by Cold Spring Harbor Laboratory. Funded under + Grant P41-RR02188 by the National Institutes of Health. + + Portions copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, + 2004 by Boutell.Com, Inc. + + Portions relating to GD2 format copyright 1999, 2000, 2001, 2002, + 2003, 2004 Philip Warner. + + Portions relating to PNG copyright 1999, 2000, 2001, 2002, 2003, + 2004 Greg Roelofs. + + Portions relating to gdttf.c copyright 1999, 2000, 2001, 2002, + 2003, 2004 John Ellson (ellson@graphviz.org). + + Portions relating to gdft.c copyright 2001, 2002, 2003, 2004 John + Ellson (ellson@graphviz.org). + + Portions relating to JPEG and to color quantization copyright + 2000, 2001, 2002, 2003, 2004, Doug Becker and copyright (C) 1994, + 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Thomas + G. Lane. This software is based in part on the work of the + Independent JPEG Group. See the file README-JPEG.TXT for more + information. + + Portions relating to GIF compression copyright 1989 by Jef + Poskanzer and David Rowley, with modifications for thread safety + by Thomas Boutell. + + Portions relating to GIF decompression copyright 1990, 1991, 1993 + by David Koblas, with modifications for thread safety by Thomas + Boutell. + + Portions relating to WBMP copyright 2000, 2001, 2002, 2003, 2004 + Maurice Szmurlo and Johan Van den Brande. + + Portions relating to GIF animations copyright 2004 Jaakko + Hyva"dtti (jaakko.hyvatti@iki.fi) + + Permission has been granted to copy, distribute and modify gd in + any context without fee, including a commercial application, + provided that this notice is present in user-accessible supporting + documentation. + + This does not affect your ownership of the derived work itself, + and the intent is to assure proper credit for the authors of gd, + not to interfere with your productive use of gd. If you have + questions, ask. "Derived works" includes all programs that utilize + the library. Credit must be given in user-accessible documentation. + + This software is provided "AS IS." The copyright holders disclaim + all warranties, either express or implied, including but not + limited to implied warranties of merchantability and fitness for a + particular purpose, with respect to this code and accompanying + documentation. + + Although their code does not appear in the current release, the + authors also wish to thank Hutchison Avenue Software Corporation + for their prior contributions. + + +File: dvipng.info, Node: Copying, Next: Index, Prev: Credits, Up: Top + +9 Copying +********* + +This program is free software: you can redistribute it and/or modify it +under the terms of the GNU Lesser General Public License as published +by the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + + This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +General Public License for more details. + + You should have received a copy of the GNU Lesser General Public +License along with this program. If not, see +<http://www.gnu.org/licenses/>. + + + +Copyright (C) 2002-2010 Jan-AAke Larsson + + +File: dvipng.info, Node: Index, Prev: Copying, Up: Top + +Index +***** + + +* Menu: + +* -dSAFER: Option details. (line 168) +* absolute page number, and -l: Option details. (line 142) +* absolute page number, and -p: Option details. (line 195) +* antialiasing levels, number of: Option details. (line 248) +* background color (option): Option details. (line 42) +* base resolution, setting: Option details. (line 35) +* baseline reporting: Option details. (line 78) +* color specifications: Color specifications. + (line 6) +* command-line options: Command-line options. + (line 6) +* compilation: Installation. (line 6) +* compression: Option details. (line 314) +* configuration, of dvipng: Installation. (line 6) +* dark fonts: Option details. (line 121) +* debugging <1>: Diagnosing problems. (line 6) +* debugging: Option details. (line 56) +* depth reporting: Option details. (line 78) +* exit on erroneous images: Option details. (line 259) +* first page printed: Option details. (line 195) +* follow mode: Option details. (line 99) +* font generation, avoiding: Option details. (line 160) +* forcing palette output: Option details. (line 204) +* foreground color (option): Option details. (line 93) +* FreeType font rendering: Option details. (line 107) +* fuzzy images: Option details. (line 121) +* gamma: Option details. (line 121) +* GhostScript and -dSAFER: Option details. (line 168) +* GhostScript, turning off: Option details. (line 164) +* GIF image format: Option details. (line 127) +* height reporting: Option details. (line 134) +* installation, of dvipng: Installation. (line 6) +* invoking dvipng: Basic usage. (line 6) +* last page printed: Option details. (line 142) +* light fonts: Option details. (line 121) +* magnification, overriding DVI: Option details. (line 304) +* Metafont mode, specifying: Option details. (line 151) +* mktexpk, avoiding: Option details. (line 160) +* mode name, specifying: Option details. (line 151) +* no erroneous images: Option details. (line 213) +* offset pages: Option details. (line 189) +* option, details of: Option details. (line 6) +* options, dvipng: Command-line options. + (line 6) +* options, reading from standard input: Option details. (line 11) +* options, summary: Option summary. (line 6) +* output resolution, setting: Option details. (line 62) +* output, redirecting: Option details. (line 182) +* page range: Option details. (line 226) +* page, first printed: Option details. (line 195) +* page, last printed: Option details. (line 142) +* physical page number, and -l: Option details. (line 142) +* physical page number, and -p: Option details. (line 195) +* PNG image format: Option details. (line 222) +* PostScript inclusion problems: Encapsulated PostScript. + (line 21) +* PostScript, turning off raw PostScript specials: Option details. + (line 176) +* problems: Diagnosing problems. (line 6) +* quality: Option details. (line 248) +* quiet operation: Option details. (line 244) +* reverse pagination: Option details. (line 255) +* silent operation: Option details. (line 244) +* standard input, reading options from: Option details. (line 11) +* standard output, output to: Option details. (line 182) +* T1lib font rendering: Option details. (line 276) +* transparent border fallback color: Option details. (line 25) +* transparent border width: Option details. (line 25) +* trouble: Diagnosing problems. (line 6) +* truecolor output: Option details. (line 290) +* warnings, suppressing: Option details. (line 244) +* width reporting: Option details. (line 301) + + + +Tag Table: +Node: Top297 +Node: Introduction1192 +Node: Installation3431 +Node: Prerequisites3778 +Node: Configure6268 +Node: Build/install8307 +Node: Installation outside the texmf tree8775 +Node: Advice for non-privileged users9482 +Node: Basic usage10490 +Node: Command-line options11662 +Node: Option summary12086 +Node: Option details14512 +Node: Graphics30430 +Node: Encapsulated PostScript31182 +Node: Bitmapped graphics32525 +Node: Raw PostScript33748 +Node: Color35987 +Node: Color specifications36375 +Node: Color specials37474 +Node: Diagnosing problems38886 +Node: Contact information39369 +Node: Debug options40110 +Node: Credits41145 +Node: Copying45146 +Node: Index45926 + +End Tag Table diff --git a/Master/texmf-dist/doc/info/dvips.info b/Master/texmf-dist/doc/info/dvips.info new file mode 100644 index 00000000000..fd8b2fac5ee --- /dev/null +++ b/Master/texmf-dist/doc/info/dvips.info @@ -0,0 +1,4802 @@ +This is ../../../texk/dvipsk/dvips.info, produced by makeinfo version +4.13 from ../../../texk/dvipsk/dvips.texi. + +This manual documents Dvips version 5.992 (May 2012), a program to +translate a DVI file into PostScript. You may freely use, modify +and/or distribute this file. + +INFO-DIR-SECTION TeX +START-INFO-DIR-ENTRY +* DVI-to-Postscript: (dvips). Translating TeX DVI files to PostScript. +* afm2tfm: (dvips)Invoking afm2tfm. Making Type 1 fonts available to TeX. +* dvips: (dvips)Invoking Dvips. DVI-to-PostScript translator. +END-INFO-DIR-ENTRY + + +File: dvips.info, Node: Top, Next: Why Dvips, Up: (dir) + +Dvips +***** + +This manual documents Dvips version 5.992 (May 2012), a program to +translate a DVI file into PostScript. You may freely use, modify +and/or distribute this file. + +* Menu: + +* Why Dvips:: Why use Dvips? +* Installation:: How to compile and install Dvips. +* Invoking Dvips:: Command-line options, configuration files, etc. +* Paper size and landscape:: Changing the paper dimensions. +* Interaction with PostScript:: TeX meets Dvips meets PostScript. +* PostScript fonts:: Installing and using PostScript fonts. +* Color:: Using color with Dvips. +* Index:: General index. + + +File: dvips.info, Node: Why Dvips, Next: Installation, Prev: Top, Up: Top + +1 Why use Dvips? +**************** + +The Dvips program has a number of features that set it apart from other +PostScript drivers for TeX. This rather long section describes the +advantages of using Dvips, and may be skipped if you are just +interested in learning how to use the program. *Note Installation::, +for details of compilation and installation. + + The Dvips driver generates excellent, standard PostScript, that can +be included in other documents as figures or printed through a variety +of spoolers. The generated PostScript requires very little printer +memory, so very complex documents with a lot of fonts can easily be +printed even on PostScript printers without much memory, such as the +original Apple LaserWriter. The PostScript output is also compact, +requiring less disk space to store and making it feasible as a transfer +format. + + Even those documents that are too complex to print in their entirety +on a particular printer can be printed, since Dvips will automatically +split such documents into pieces, reclaiming the printer memory between +each piece. + + The Dvips program supports graphics in a natural way, allowing +PostScript graphics to be included and automatically scaled and +positioned in a variety of ways. + + Printers with any resolution are supported, even if they have +different resolutions in the horizontal and vertical directions. High +resolution output is supported for typesetters, including an option +that compresses the bitmap fonts so that typesetter virtual memory is +not exhausted. This option also significantly reduces the size of the +PostScript file and decoding in the printer is very fast. + + Missing fonts can be automatically generated if Metafont exists on +the system, or fonts can be converted from GF to PK format on demand. +If a font cannot be generated, a scaled version of the same font at a +different size can be used instead, although Dvips will complain loudly +about the poor aesthetics of the resulting output. + + Users will appreciate features such as collated copies and support +for `tpic', `psfig', `emtex', and `METAPOST'; system administrators +will love the support for multiple printers, each with their own +configuration file, and the ability to pipe the output directly to a +program such as `lpr'. Support for MS-DOS, OS/2, and VMS in addition +to Unix is provided in the standard distribution, and porting to other +systems is easy. + + One of the most important features is the support of virtual fonts, +which add an entirely new level of flexibility to TeX. Virtual fonts +are used to give Dvips its excellent PostScript font support, handling +all the font remapping in a natural, portable, elegant, and extensible +way. Dvips even comes with its own Afm2tfm program that creates the +necessary virtual fonts and TeX font metric files automatically from +the Adobe font metric files. + + Source is provided and freely distributable, so adding a +site-specific feature is possible. Adding such features is made easier +by the highly modular structure of the program. + + There is really no reason to use another driver, and the more people +use Dvips, the less time will be spent fighting with PostScript and the +more time will be available to create beautiful documents. So if you +don't use Dvips on your system, get it today. + + Tom Rokicki wrote and maintains the original Dvips program. + + +File: dvips.info, Node: Installation, Next: Invoking Dvips, Prev: Why Dvips, Up: Top + +2 Installation +************** + +Installing Dvips is mostly the same as installing any Kpathsea-using +program. Therefore, for the basic steps involved, *note Installation: +(kpathsea)Installation. + + For solutions to common installation problems and information on how +to report a bug, see the file `kpathsea/BUGS' (*note Bugs: +(kpathsea)Bugs.). For solutions to Dvips-specific problems, *note +Debug options::. Also see the Dvips home page at +`http://www.radicaleye.com/dvips'. + + Dvips does require some additional installation, detailed in the +sections below. Also, to configure color devices, *note Color device +configuration::. + +* Menu: + +* config.ps installation:: Printer and site Dvips configuration. +* PostScript font installation:: Many PostScript fonts are freely available. +* Ghostscript installation:: A free PostScript interpreter. +* Diagnosing problems:: Some common runtime difficulties. + + +File: dvips.info, Node: config.ps installation, Next: PostScript font installation, Up: Installation + +2.1 `config.ps' installation +============================ + +Dvips has its own configuration files: a file `config.ps' for sitewide +defaults, and a file `config.PRINTER' for each printer (output device). +Since these are site-specific, `make install' does not create them; you +must create them yourself. + + (These Dvips configuration files are independent of the Kpathsea +configuration file `texmf.cnf' (*note Config files: (kpathsea)Config +files.). + + Dvips configuration files contents and searching are described fully +in *note Config files::. The simplest way to create a new +configuration file is to copy and modify the file +`dvipsk/contrib/config.proto', seasoning with options to your taste +from *note Config files::. Here is `config.proto' for your reading +pleasure: + % Prototype Dvips configuration file. (Public domain.) + + % How to print, maybe with lp instead lpr, etc. + o |lpr + + % Default resolution of this device, in dots per inch. + D 600 + + % Metafont mode. (This is completely different from the -M command-line + % option, which controls whether MakeTeXPK is invoked.) Get + % `ftp://ftp.tug.org/tex/modes.mf' for a list of mode names. This mode + % and the D number above must agree, or MakeTeXPK will get confused. + M ljfour + + % Memory available. Download the three-line PostScript file: + % %! Hey, we're PostScript + % /Times-Roman findfont 30 scalefont setfont 144 432 moveto + % vmstatus exch sub 40 string cvs show pop showpage + % to determine this number. (It will be the only thing printed.) + m 3500000 + + % Correct printer offset. You can use testpage.tex from the LaTeX + % distribution to find these numbers. Print testpage.dvi more than once. + O 0pt,0pt + + % Partially download Type 1 fonts by default. Only reason not to do + % this is if you encounter bugs. (Please report them to + % <tex-k@tug.org> if you do.) + j + + % Also look for fonts at these resolutions. + R 300 600 + + % With a high resolution and a RISC cpu, better to compress the bitmaps. + Z + + % Uncomment these if you have and want to use PostScript versions of the + % fonts. + %p +cmfonts.map + %p +lafonts.map + %p +cyrfonts.map + %p +eufonts.map + + % To include another configuration file here. + %c FILENAME + + % You will also want definitions for alternative paper sizes -- A4, + % legal, and such. Examples in `contrib/papersize.level2' and + % `contrib/papersize.simple'. + + +File: dvips.info, Node: PostScript font installation, Next: Ghostscript installation, Prev: config.ps installation, Up: Installation + +2.2 PostScript font installation +================================ + +To use PostScript fonts with TeX and Dvips, you need both metric files +(`.tfm' and `.vf') and the outlines (`.pfa' or `.pfb'). *Note Font +concepts::. + + To support the basic PostScript font set, the recommended (and +simplest) approach is to install the files at +`http://www.ctan.org/tex-archive/fonts/psfonts/lw35nfsx.zip'. This +archive contains metrics, outlines, and bitmaps (for previewing) for +the 35 de facto standard fonts donated by URW and the additional +high-quality freely available PostScript fonts donated by Adobe, +Bitstream, and URW, including geometrically-created variants such as +oblique and small caps. + + `CTAN:/fonts/psfonts' contains support for many additional fonts for +which you must buy outlines (Adobe, Bigelow & Holmes, Monotype, +Softkey, Y&Y). (For CTAN info, *note unixtex.ftp: +(kpathsea)unixtex.ftp.; a copy is in the top-level file `INSTALL'.) + + If you have additional PostScript fonts, you can make them available +to Dvips by (1) giving them with appropriate filenames; and (2) running +Afm2tfm (*note Making a font available::) to make TFM and VF metrics for +TeX and Dvips to use. Also add them to `psfonts.map' if necessary +(*note psfonts.map::); it contains everything contained in +`lw35nfsx.zip' and most fonts that come with Unix systems. + + Following are locations for vendor-supplied fonts. Please mail +<tex-k@tug.org> if you find fonts elsewhere on your system. + +DEC Ultrix + /usr/lib/DPS/outline/decwin + +DEC Digital Unix + /usr/lib/X11/fonts/Type1Adobe + +HP HP-UX 9, 10 + /usr/lib/X11/fonts/type1.st/typefaces + +IBM AIX + /usr/lpp/DPS/fonts/outlines + /usr/lpp/X11/lib/X11/fonts/Type1 + /usr/lpp/X11/lib/X11/fonts/Type1/DPS + +NeXT + /NextLibrary/Fonts/outline + +SGI IRIX + /usr/lib/DPS/outline/base /usr/lib/X11/fonts/Type1 + +Sun SunOS 4.x + (NeWSprint only) + newsprint_2.5/SUNWsteNP/reloc/$BASEDIR/ + NeWSprint/small_openwin/lib/fonts + /usr/openwin/lib/X11/fonts/Type1/outline + +Sun Solaris 2 + /usr/openwin/lib/X11/fonts/Type1/outline + +VMS + SYS$COMMON:[SYSFONT.XDPS.OUTLINE] + +The NeXT system supplies more fonts than any others, but there's a lot +of overlap. + + Finally, if you have an Hewlett-Packard printer, you should be able +to get Type 1 font files for the standard 35 fonts from HP, if the +freely available URW Type 1's do not satisfy for whatever reason. The +phone number for HP Printer Drivers is (in the United States) +303-339-7009. The driver set to ask for is Adobe Type Manager 2.51, +and the disk set number is `MP210en3'. Mentioning anything other than +Microsoft Windows when you ask for the driver set will likely lead to +great confusion on the other end. + + +File: dvips.info, Node: Ghostscript installation, Next: Diagnosing problems, Prev: PostScript font installation, Up: Installation + +2.3 Ghostscript installation +============================ + +Ghostscript is a PostScript interpreter freely available to end-users, +written by Peter Deutsch. It can read the PostScript produced by Dvips +and render it on your monitor, or for another device (e.g., an Epson +printer) that does not support PostScript, or in PDF format. The latest +version is available via `http://www.cs.wisc.edu/~ghost/index.html' and +`ftp://ftp.cs.wisc.edu/pub/ghost/aladdin/'. + + A somewhat older version of Ghostscript is available under the GNU +General Public License, free to everyone. You can get that from +`ftp://prep.ai.mit.edu/pub/gnu/'. + + The program Ghostview, written by Tim Theisen, provides typical +previewing capabilities (next page/previous page, magnification, etc.). +It requires Ghostscript to run, and files in structured Postscript, +specifically with `%%Page' comments (no `N' in `config.ps'). You can +get Ghostview from the same places as Ghostscript. + + +File: dvips.info, Node: Diagnosing problems, Prev: Ghostscript installation, Up: Installation + +2.4 Diagnosing problems +======================= + +You've gone through all the trouble of installing Dvips, carefully read +all the instructions in this manual, and still can't get something to +work. The following sections provide some helpful hints if you find +yourself in such a situation. + + For details on effective bug reporting, common installation problems, +and `mktexpk' problems, *note Bugs: (kpathsea)Bugs. + + A good first debugging operation is to set the environment variable +`DVIPSDEBUG', which will display any configuration and map files read +by Dvips. This way you can be sure it's finding the files and settings +you expect. + +* Menu: + +* Debug options:: Getting diagnostics. +* No output:: No output at all. +* Small or inverted:: Output too small or inverted. +* Printer errors:: The printer sends back errors. +* Long documents fail:: Long documents fail to print. +* Including graphics fails:: Figures don't work. + + +File: dvips.info, Node: Debug options, Next: No output, Up: Diagnosing problems + +2.4.1 Debug options +------------------- + +The `-d' flag to Dvips helps in tracking down certain errors. The +parameter to this flag is an integer that tells what errors are +currently being tracked. To track a certain class of debug messages, +specify the appropriate number given below; if you wish to track +multiple classes, sum the numbers of the classes you wish to track. To +track all classes, you can use `-1'. + + You can also set the environment variable `KPATHSEA_DEBUG' instead +of using `-d'. Some of these debugging options are actually provided +by Kpathsea (*note Debugging: (kpathsea)Debugging.). + + The classes are: + +1 + specials + +2 + paths + +4 + fonts + +8 + pages + +16 + headers + +32 + font compression + +64 + files + +128 + (omitted) + +256 + config files + +512 + Kpathsea `stat' calls + +1024 + Kpathsea hash table lookups + +2048 + Kpathsea path element expansion + +4096 + Kpathsea path searches + + +File: dvips.info, Node: No output, Next: Small or inverted, Prev: Debug options, Up: Diagnosing problems + +2.4.2 No output at all +---------------------- + +If you are not getting any output at all, even from the simplest +one-character file (for instance, `\ \bye'), then something is very +wrong. Practically any file sent to a PostScript laser printer should +generate some output, at the very least a page detailing what error +occurred, if any. Talk to your system administrator about downloading a +PostScript error handler. (Adobe distributes a good one called +`ehandler.ps'.) + + It is possible, especially if you are using non-Adobe PostScript, +that your PostScript interpreter is broken. Even then it should +generate an error message. Dvips tries to work around as many bugs as +possible in common non-Adobe PostScript interpreters, but doubtless it +misses a few. PowerPage Revision 1, Interpreter Version 20001.001, on +a Mitsubishi Shinko CHC-S446i color thermal dye sublimation printer is +known to be unable to print with any but builtin fonts. + + If Dvips gives any strange error messages, or compilation on your +machine generated a lot of warnings, perhaps the Dvips program itself is +broken. Try using the debug options to determine where the error +occurred (*note Debug options::). + + It is possible your spooler is broken and is misinterpreting the +structured comments. Try the `-N' flag to turn off structured comments +and see what happens. + + +File: dvips.info, Node: Small or inverted, Next: Printer errors, Prev: No output, Up: Diagnosing problems + +2.4.3 Output too small or inverted +---------------------------------- + +If some documents come out inverted or too small, probably your spooler +is not supplying an end of job indicator at the end of each file. (This +commonly happens on small machines that don't have spoolers.) You can +force Dvips to do this with the `-F' flag (or `F' config file option), +but this generates files with a terminating binary character +(control-D). You can also try using the `-s' flag (or `s' config file +option) to enclose the entire job in a save/restore pair. *Note +Command-line options::, and *note Config files::. + + +File: dvips.info, Node: Printer errors, Next: Long documents fail, Prev: Small or inverted, Up: Diagnosing problems + +2.4.4 Error messages from printer +--------------------------------- + +If your printer returns error messages, the error message gives very +good information on what might be going wrong. One of the most common +error messages is `bop undefined'. This is caused by old versions of +Transcript and other spoolers that do not properly parse the setup +section of the PostScript. To fix this, turn off structured comments +with the `-N' option, but it'd be best to get your spooling software +updated. + + Another error message is `VM exhausted'. Some printers indicate +this error by locking up, others quietly reset. This is caused by Dvips +thinking that the printer has more memory than it actually does, and +then printing a complicated document. To fix this, try lowering the +`m' parameter in the configuration file; use the debug option to make +sure you adjust the correct file. + + Other errors may indicate you are trying to include graphics that +don't nest properly in other PostScript documents, among other things. +Try the PostScript file on a QMS PS-810 or other Adobe PostScript +printer if you have one, or Ghostscript (*note Ghostscript +installation::); it might be a problem with the printer itself. + + +File: dvips.info, Node: Long documents fail, Next: Including graphics fails, Prev: Printer errors, Up: Diagnosing problems + +2.4.5 Long documents fail to print +---------------------------------- + +This is usually caused by incorrectly specifying the amount of memory +the printer has in the configuration file; see the previous section. + + +File: dvips.info, Node: Including graphics fails, Prev: Long documents fail, Up: Diagnosing problems + +2.4.6 Including graphics fails +------------------------------ + +The most common problem with including graphics is an incorrect bounding +box (*note Bounding box::). Complain to whoever wrote the software that +generated the file if the bounding box is indeed incorrect. + + Another possible problem is that the figure you are trying to include +does not nest properly; there are certain rules PostScript applications +must follow when generating files to be included. The Dvips program +includes work-arounds for such errors in Adobe Illustrator and other +programs, but there are certainly applications that haven't been tested. + + One possible thing to try is the `-K' flag which strips the comments +from an included figure. This might be necessary if the PostScript +spooling software does not read the structured comments correctly. Use +of this flag will break graphics from some applications, though, since +some applications read the PostScript file from the input stream, +looking for a particular comment. + + Any application which generates graphics output containing raw binary +(not ASCII hex) will probably fail with Dvips. + + +File: dvips.info, Node: Invoking Dvips, Next: Paper size and landscape, Prev: Installation, Up: Top + +3 Invoking Dvips +**************** + +Dvips reads a DVI file as output by (for example) TeX, and converts it +to PostScript, taking care of builtin or downloaded PostScript fonts, +font reencoding, color, etc. These features are described in other +chapters in this document. + + There many ways to control Dvips' behavior: configuration files, +environment variables, and command-line options. + +* Menu: + +* Basic usage:: +* Command-line options:: +* Environment variables:: +* Config files:: + + +File: dvips.info, Node: Basic usage, Next: Command-line options, Up: Invoking Dvips + +3.1 Basic usage of Dvips +======================== + +To use Dvips at its simplest, simply type + + dvips foo + +where `foo.dvi' is the output of TeX that you want to print. The +default output is to a corresponding file `foo.ps'; Dvips may also have +been locally configured to output directly to a printer by default. + + If you use fonts that have not been used on your system before, they +may be automatically generated; this process can take a few minutes, so +progress reports appear by default. The next time that document is +printed, these fonts will have been saved in the proper directories, so +printing will go much faster. (If Dvips tries to endlessly generate the +same fonts over and over again, it hasn't been installed properly. +*Note Unable to generate fonts: (kpathsea)Unable to generate fonts.) + + Many options are available (see the next section). For a brief +summary of available options, just type + + dvips --help + + +File: dvips.info, Node: Command-line options, Next: Environment variables, Prev: Basic usage, Up: Invoking Dvips + +3.2 Command-line options +======================== + +Dvips has a plethora of command line options. Reading through this +section will give a good idea of the capabilities of the driver. + +* Menu: + +* Option summary:: Quick listing, from Dvips --help. +* Option details:: More information about each option. + + +File: dvips.info, Node: Option summary, Next: Option details, Up: Command-line options + +3.2.1 Option summary +-------------------- + +Here is a handy summary of the options; it is printed out when you run +Dvips with no arguments or with the standard `--help' option. + +Usage: dvips [OPTION]... FILENAME[.dvi] +Convert DVI input files to PostScript. +See http://tug.org/dvips/ for the full manual and other information. + +Options: +-a* Conserve memory, not time -A Print only odd (TeX) pages +-b # Page copies, for posters e.g. -B Print only even (TeX) pages +-c # Uncollated copies -C # Collated copies +-d # Debugging -D # Resolution +-e # Maxdrift value -E* Try to create EPSF +-f* Run as filter -F* Send control-D at end + -G* Shift low chars to higher pos. +-h f Add header file +-i* Separate file per section +-j* Download fonts partially +-k* Print crop marks -K* Pull comments from inclusions +-l # Last page +-m* Manual feed -M* Don't make fonts +-mode s Metafont device name +-n # Maximum number of pages -N* No structured comments +-noomega Disable Omega extensions +-noptex Disable pTeX extensions +-o f Output file -O c Set/change paper offset +-p # First page -P s Load config.$s +-pp l Print only pages listed +-q* Run quietly +-r* Reverse order of pages -R* Run securely +-s* Enclose output in save/restore -S # Max section size in pages +-t s Paper format -T c Specify desired page size +-u s PS mapfile -U* Disable string param trick +-v Print version number and quit -V* Send downloadable PS fonts as PK +-x # Override dvi magnification -X # Horizontal resolution +-y # Multiply by dvi magnification -Y # Vertical resolution +-z* Hyper PS -Z* Compress bitmap fonts + # = number f = file s = string * = suffix, `0' to turn off + c = comma-separated dimension pair (e.g., 3.2in,-32.1cm) + l = comma-separated list of page ranges (e.g., 1-4,7-9) + +Email bug reports to tex-k@mail.tug.org. + + +File: dvips.info, Node: Option details, Prev: Option summary, Up: Command-line options + +3.2.2 Option details +-------------------- + +Many of the parameterless options listed here can be turned off by +suffixing the option with a zero (`0'); for instance, to turn off page +reversal, use `-r0'. Such options are marked with a trailing `*'. + +`-' + Read additional options from standard input after processing the + command line. + +`--help' + Print a usage message and exit. + +`--version' + Print the version number and exit. + +`-a*' + Conserve memory by making three passes over the DVI file instead + of two and only loading those characters actually used. Generally + only useful on machines with a very limited amount of memory, like + some PCs. + +`-A' + Print only the odd pages. This option uses TeX page numbers, not + physical page numbers. + +`-b NUM' + Generate NUM copies of each page, but duplicating the page body + rather than using the `/#copies' PostScript variable. This can be + useful in conjunction with a header file setting `bop-hook' to do + color separations or other neat tricks. + +`-B' + Print only the even pages. This option uses TeX page numbers, not + physical page numbers. + +`-c NUM' + Generate NUM consecutive copies of every page, i.e., the output is + uncollated. This merely sets the builtin PostScript variable + `/#copies'. + +`-C NUM' + Generate NUM copies, but collated (by replicating the data in the + PostScript file). Slower than the `-c' option, but easier on the + hands, and faster than resubmitting the same PostScript file + multiple times. + +`-d NUM' + Set the debug flags, showing what Dvips (thinks it) is doing. + This will work unless Dvips has been compiled without the `DEBUG' + option (not recommended). *Note Debug options::, for the possible + values of NUM. Use `-d -1' as the first option for maximum output. + +`-D NUM' + Set both the horizontal and vertical resolution to NUM, given in + dpi (dots per inch). This affects the choice of bitmap fonts that + are loaded and also the positioning of letters in resident + PostScript fonts. Must be between 10 and 10000. This affects both + the horizontal and vertical resolution. If a high resolution + (something greater than 400 dpi, say) is selected, the `-Z' flag + should probably also be used. If you are using fonts made with + Metafont, such as Computer Modern, `mktexpk' needs to know about + the value for NUM that you use or Metafont will fail. See the file + `ftp://ftp.tug.org/tex/modes.mf' for a list of resolutions and mode + names for most devices. + +`-e NUM' + Maximum drift in pixels of each character from its `true' + resolution-independent position on the page. The default value of + this parameter is resolution dependent (it is the number of + entries in the list [100, 200, 300, 400, 500, 600, 800, 1000, + 1200, 1600, 2000, 2400, 2800, 3200, ...] that are less than or + equal to the resolution in dots per inch). Allowing individual + characters to `drift' from their correctly rounded positions by a + few pixels, while regaining the true position at the beginning of + each new word, improves the spacing of letters in words. + +`-E*' + Generate an EPSF file with a tight bounding box. This only looks + at marks made by characters and rules, not by any included + graphics. In addition, it gets the glyph metrics from the TFM + file, so characters that print outside their enclosing TFM box may + confuse it. In addition, the bounding box might be a bit too + loose if the character glyph has significant left or right side + bearings. Nonetheless, this option works well enough for creating + small EPSF files for equations or tables or the like. (Of course, + Dvips output, especially when using bitmap fonts, is + resolution-dependent and thus does not make very good EPSF files, + especially if the images are to be scaled; use these EPSF files + with care.) For multiple page input files, also specify `-i' to + get each page as a separate EPSF file; otherwise, all the pages + are overlaid in the single output file. + +`-f*' + Run as a filter. Read the DVI file from standard input and write + the PostScript to standard output. The standard input must be + seekable, so it cannot be a pipe. If your input must be a pipe, + write a shell script that copies the pipe output to a temporary + file and then points Dvips at this file. This option also + disables the automatic reading of the `PRINTER' environment + variable; use `-P$PRINTER' after the `-f' to read it anyway. It + also turns off the automatic sending of control-D if it was turned + on with the `-F' option or in the configuration file; use `-F' + after the `-f' to send it anyway. + +`-F*' + Write control-D (ASCII code 4) as the very last character of the + PostScript file. This is useful when Dvips is driving the printer + directly instead of working through a spooler, as is common on + personal systems. On systems shared by more than one person, this + is not recommended. + +`-G*' + Shift non-printing characters (ASCII 0-32, 127) to higher-numbered + positions. This was useful to work around bugs in old versions of + Adobe's PDF reader. It's more likely to cause problems nowadays. + +`-h NAME' + Prepend NAME as an additional header file, or, if NAME is `-', + suppress all header files. Any definitions in the header file get + added to the PostScript `userdict'. + +`-i*' + Make each section be a separate file; a "section" is a part of the + document processed independently, most often created to avoid + memory overflow. The filenames are created replacing the suffix + of the supplied output file name by a three-digit sequence number. + This option is most often used in conjunction with the `-S' option + which sets the maximum section length in pages; if `-i' is + specified and `-S' is not, each page is output as a separate file. + For instance, some phototypesetters cannot print more than ten or + so consecutive pages before running out of steam; these options + can be used to automatically split a book into ten-page sections, + each to its own file. + +`-j*' + Download only needed characters from Type 1 fonts. This is the + default in the current release. Some debugging flags trace this + operation (*note Debug options::). You can also control partial + downloading on a per-font basis (*note psfonts.map::). + +`-k*' + Print crop marks. This option increases the paper size (which + should be specified, either with a paper size special or with the + `-T' option) by a half inch in each dimension. It translates each + page by a quarter inch and draws cross-style crop marks. It is + mostly useful with typesetters that can set the page size + automatically. This works by downloading `crop.pro'. + +`-K*' + Remove comments in included PostScript graphics, font files, and + headers; only necessary to get around bugs in spoolers or + PostScript post-processing programs. Specifically, the `%%Page' + comments, when left in, often cause difficulties. Use of this + flag can cause other graphics to fail, however, since the + PostScript header macros from some software packages read portion + the input stream line by line, searching for a particular comment. + +`-l [=]NUM' + The last page printed will be the first one numbered NUM. Default + is the last page in the document. If NUM is prefixed by an equals + sign, then it (and the argument to the `-p' option, if specified) + is treated as a physical (absolute) page number, rather than a + value to compare with the TeX `\count0' values stored in the DVI + file. Thus, using `-l =9' will end with the ninth page of the + document, no matter what the pages are actually numbered. + +`-m*' + Specify manual feed, if supported by the output device. + +`-mode MODE' + Use MODE as the Metafont device name for path searching and font + generation. This overrides any value from configuration files. + With the default paths, explicitly specifying the mode also makes + the program assume the fonts are in a subdirectory named MODE. + *Note TeX directory structure: (kpathsea)TeX directory structure. + If Metafont does not understand the MODE name, see *note Unable to + generate fonts: (kpathsea)Unable to generate fonts. + +`-M*' + Turns off automatic font generation (`mktexpk'). If `mktexpk', + the invocation is appended to a file `missfont.log' (by default) + in the current directory. You can then execute the log file to + create the missing files after fixing the problem. If the current + directory is not writable and the environment variable or + configuration file value `TEXMFOUTPUT' is set, its value is used. + Otherwise, nothing is written. The name `missfont.log' is + overridden by the `MISSFONT_LOG' environment variable or + configuration file value. + +`-n NUM' + Print at most NUM pages. Default is 100000. + +`-N*' + Turns off generation of structured comments such as `%%Page'; this + may be necessary on some systems that try to interpret PostScript + comments in weird ways, or on some PostScript printers. Old + versions of TranScript in particular cannot handle modern + Encapsulated PostScript. Beware: This also disables page + movement, etc., in PostScript viewers such as Ghostview. + +`-noomega' + Disable the use of Omega extensions when interpreting DVI files. + By default, the additional opcodes `129' and `134' are recognized + by Dvips as Omega or pTeX extensions and interpreted as requests + to set 2-byte characters. + +`-noptex' + Disable the use of pTeX extensions when interpreting DVI files. By + default, the additional opcodes `130' and `135' are recognized by + Dvips as Omega extensions and interpreted as requests to set + 3-byte characters, and `255' as request to change the typesetting + direction. + + The only drawback is that the virtual font array will (at least + temporarily) require 65536 or more positions instead of the default + 256 positions, i.e., the memory requirements of Dvips will be + somewhat larger. If you find this unacceptable or encounter + another problem with the Omega or pTeX extensions, you can switch + off the pTeX extension by using `-noptex', or both by using + `-noomega' (but please do send a bug report if you find such + problems, *note Bugs: (kpathsea)Bugs.). + +`-o NAME' + Send output to the file NAME. If `-o' is specified without NAME + (i.e., it is the last thing on the command line), the default is + `FILE.ps' where the input DVI file was `FILE.dvi'. If `-o' isn't + given at all, the configuration file default is used. + + If NAME is `-', output goes to standard output. If the first + character of NAME is `!' or `|', then the remainder will be used + as an argument to `popen'; thus, specifying `|lpr' as the output + file will automatically queue the file for printing as usual. + (The MS-DOS version will print to the local printer device `PRN' + when NAME is `|lpr' and a program by that name cannot be found.) + + `-o' disables the automatic reading of the `PRINTER' environment + variable, and turns off the automatic sending of control-D. See + the `-f' option for how to override this. + +`-O X-OFFSET,Y-OFFSET' + Move the origin by X-OFFSET,Y-OFFSET, a comma-separated pair of + dimensions such as `.1in,-.3cm' (*note papersize special::). The + origin of the page is shifted from the default position (of one + inch down, one inch to the right from the upper left corner of the + paper) by this amount. This is usually best specified in the + printer-specific configuration file. + + This is useful for a printer that consistently offsets output + pages by a certain amount. You can use the file `testpage.tex' to + determine the correct value for your printer. Be sure to do + several runs with the same `O' value--some printers vary widely + from run to run. + + If your printer offsets every other page consistently, instead of + every page, your best recourse is to use `bop-hook' (*note + PostScript hooks::). + +`-p [=]NUM' + The first page printed will be the first one numbered NUM. Default + is the first page in the document. If NUM is prefixed by an + equals sign, then it (and the argument to the `-l' option, if + specified) is treated as a physical (absolute) page number, rather + than a value to compare with the TeX `\count0' values stored in the + DVI file. Thus, using `-p =3' will start with the third page of + the document, no matter what the pages are actually numbered. + +`-pp FIRST-LAST' + Print pages FIRST through LAST; equivalent to `-p FIRST -l LAST', + except that multiple `-pp' options accumulate, unlike `-p' and + `-l'. The `-' separator can also be `:'. + +`-P PRINTER' + Read the configuration file `config.PRINTER' (`PRINTER.cfg' on + MS-DOS), which can set the output name (most likely `o |lpr + -PPRINTER'), resolution, Metafont mode, and perhaps font paths and + other printer-specific defaults. It works best to put sitewide + defaults in the one master `config.ps' file and only things that + vary printer to printer in the `config.PRINTER' files; `config.ps' + is read before `config.PRINTER'. + + A configuration file for creating Adobe PDF files is provided in + `config.pdf' and can be loaded with `-Ppdf', it will try to + include Type1 outline fonts into the PostScript file (*note + Hypertext caveats::). + + If no `-P' or `-o' is given, the environment variable `PRINTER' is + checked. If that variable exists, and a corresponding + `config.PRINTER' (`PRINTER.cfg' on MS-DOS) file exists, it is read. + *Note Configuration file searching::. + +`-q*' + Run quietly. Don't chatter about pages converted, etc. to standard + output; report no warnings (only errors) to standard error. + +`-r*' + Output pages in reverse order. By default, page 1 is output first. + +`-R' + Run securely. `-R2' disables both shell command execution in + `\special' (via ``', *note Dynamic creation of graphics::) and + config files (via the `E' option, *note Configuration file + commands::) and opening of any absolute or `..'-relative + filenames. `-R1', the default, forbids shell escapes but allows + absolute filenames. `-R0' allows both. + +`-s*' + Enclose the output in a global save/restore pair. This causes the + file to not be truly conformant, and is thus not recommended, but + is useful if you are driving a deficient printer directly and thus + don't care too much about the portability of the output to other + environments. + +`-S NUM' + Set the maximum number of pages in each `section'. This option is + most commonly used with the `-i' option; see its description above + for more information. + +`-t PAPERTYPE' + Set the paper type to PAPERTYPE, usually defined in one of the + configuration files, along with the appropriate PostScript code to + select it (*note Config file paper sizes::). + - You can also specify a PAPERTYPE of `landscape', which + rotates a document by 90 degrees. + + - To rotate a document whose paper type is not the default, you + can use the `-t' option twice, once for the paper type, and + once for `landscape'. + + - In general, you should not use any `-t' option when using a + `papersize' special, which some LaTeX packages (e.g., + `hyperref') insert. + + - One exception is when using a nonstandard paper size that is + not already defined in `config.ps'; in this case, you need to + specify `-t unknown'. + + - Another exception is when producing multi-page files for + further processing; use `-t nopaper' to omit any paper size + information in the output. (If you just have a single page + document, you can use `-E' to get pure EPSF output.) + +`-T HSIZE,VSIZE' + Set the paper size to (HSIZE,VSIZE), a comma-separated pair of + dimensions such as `.1in,-.3cm' (*note papersize special::). It + overrides any paper size special in the DVI file. Be careful, as + the paper size will stick to a predefined size if there is one + close enough. To disable this behavior, use `-tunknown'. + +`-u PSMAPFILE' + Set PSMAPFILE to be the file that dvips uses for looking up + PostScript font aliases. If PSMAPFILE begins with a `+' + character, then the rest of the name is used as the name of the + map file, and the map file is appended to the list of map files + (instead of replacing the list). In either case, if the name has + no extension, then `.map' is added at the end. + +`-U*' + Disable a PostScript virtual memory-saving optimization that + stores the character metric information in the same string that is + used to store the bitmap information. This is only necessary when + driving the Xerox 4045 PostScript interpreter, which has a bug + that puts garbage on the bottom of each character. Not + recommended unless you must drive this printer. + +`-v' + Print the dvips version number and exit. + +`-V*' + Download non-resident PostScript fonts as bitmaps. This requires + use of `mtpk' or `gsftopk' or `pstopk' or some combination thereof + to generate the required bitmap fonts; these programs are supplied + with Dvips. The bitmap must be put into `psfonts.map' as the + downloadable file for that font. This is useful only for those + fonts for which you do not have real outlines, being downloaded to + printers that have no resident fonts, i.e., very rarely. + +`-x NUM' + Set the magnification ratio to NUM/1000. Overrides the + magnification specified in the DVI file. Must be between 10 and + 100000. It is recommended that you use standard magstep values + (1095, 1200, 1440, 1728, 2074, 2488, 2986, and so on) to help + reduce the total number of PK files generated. NUM may be a real + number, not an integer, for increased precision. + +`-X NUM' + Set the horizontal resolution in dots per inch to NUM. + +`-y NUM' + Set the magnification ratio to NUM/1000 times the magnification + specified in the DVI file. See `-x' above. + +`-Y NUM' + Set the vertical resolution in dots per inch to NUM. + +`-z*' + Pass `html' hyperdvi specials through to the output for eventual + distillation into PDF. This is not enabled by default to avoid + including the header files unnecessarily, and use of temporary + files in creating the output. *Note Hypertext::. + +`-Z*' + Compress bitmap fonts in the output file, thereby reducing the + size of what gets downloaded. Especially useful at high + resolutions or when very large fonts are used. May slow down + printing, especially on early 68000-based PostScript printers. + Generally recommend today, and can be enabled in the configuration + file (*note Configuration file commands::). + + + +File: dvips.info, Node: Environment variables, Next: Config files, Prev: Command-line options, Up: Invoking Dvips + +3.3 Environment variables +========================= + +Dvips looks for many environment variables, to define search paths and +other things. The path variables are read as needed, after all +configuration files are read, so they override values in the +configuration files. (Except for `TEXCONFIG', which defines where the +configuration files themselves are found.) + + *Note Path specifications: (kpathsea)Path specifications, for +details of interpretation of path and other environment variables +common to all Kpathsea-using programs. Only the environment variables +specific to Dvips are mentioned here. + +`DVIPSDEBUG' + Write the absolute path names of any configuration or map files to + standard output, for debugging. This isn't done by default because + these files are read even before the banner is printed. For + voluminous additional debugging, set the environment variable + `KPATHSEA_DEBUG' to `-1' (*note Debugging: (kpathsea)Debugging.). + (If `KPATHSEA_DEBUG' is set to any value, it automatically turns + on `DVIPSDEBUG'.) + +`DVIPSFONTS' + Default path to search for all fonts. Overrides all the font path + config file options and other environment variables (*note + Supported file formats: (kpathsea)Supported file formats.). + +`DVIPSHEADERS' + Default path to search for PostScript header files. Overrides the + `H' config file option (*note Configuration file commands::). + +`DVIPSMAKEPK' + Overrides `mktexpk' as the name of the program to invoke to create + missing PK fonts. You can change the arguments passed to the + `mktexpk' program with the `MAKETEXPK' environment variable; *note + MakeTeX script arguments: (kpathsea)MakeTeX script arguments. + +`DVIPSRC' + Specifies the name of the startup file (*note Configuration file + searching::) which is read after `config.ps' but before any + printer-specific configuration files. + +`DVIPSSIZES' + Last-resort sizes for scaling of unfound fonts. Overrides the `R' + definition in config files (*note Configuration file commands::). + +`PRINTER' + Determine the default printer configuration file. (Dvips itself + does not use `PRINTER' to determine the output destination in any + way.) + +`TEXCONFIG' + Path to search for Dvips' `config.PRINTER' configuration files, + including the base `config.ps'. Using this single environment + variable, you can override everything else. (The printer-specific + configuration files are called `PRINTER.cfg' on MS-DOS, but + `config.ps' is called by that name on all platforms.) + +`TEXPICTS' + Path to search for included graphics files. Overrides the `S' + config file option (*note Configuration file commands::). If not + set, `TEXINPUTS' is looked for. *Note Supported file formats: + (kpathsea)Supported file formats. + + + +File: dvips.info, Node: Config files, Prev: Environment variables, Up: Invoking Dvips + +3.4 Dvips configuration files +============================= + +This section describes in detail the Dvips-specific `config.*' device +configuration files (called `*.cfg' on MS-DOS), which override the +`texmf.cnf' configuration files generic to Kpathsea which Dvips also +reads (*note Config files: (kpathsea)Config files.). + + For information about installing these files, including a prototype +file you can copy, *note config.ps installation::. + +* Menu: + +* Configuration file searching:: Where config.* files are searched for. +* Configuration file commands:: What can go in a config.* file. + + +File: dvips.info, Node: Configuration file searching, Next: Configuration file commands, Up: Config files + +3.4.1 Configuration file searching +---------------------------------- + +The Dvips program loads many different configuration files, so that +parameters can be set globally across the system, on a per-device basis, +or individually by each user. + + 1. Dvips first reads (if it exists) `config.ps'; it is searched for + along the path for Dvips configuration files, as described in + *note Supported file formats: (kpathsea)Supported file formats. + + 2. A user-specific startup file is loaded, so individual users can + override any options set in the global file. The environment + variable `DVIPSRC', if defined, is used as the specification of + the startup file. If this variable is undefined, Dvips uses a + platform-specific default name. On Unix Dvips looks for the + default startup file under the name `$HOME/.dvipsrc', which is in + the user's home directory. On MS-DOS and MS-Windows, where users + generally don't have their private directories, the startup file + is called `dvips.ini' and it is searched for along the path for + Dvips configuration files (as described in *note Supported file + formats: (kpathsea)Supported file formats.); users are expected to + set this path as they see fit for their taste. + + 3. The command line is read and parsed: if the `-PDEVICE' option is + encountered, at that point `config.DEVICE' is loaded. Thus, the + printer configuration file can override anything in the site-wide + or user configuration file, and it can also override options in + the command line up to the point that the `-P' option was + encountered. (On MS-DOS, the printer configuration files are + called `DEVICE.cfg', since DOS doesn't allow more than 3 characters + after the dot in filenames.) + + 4. If no `-P' option was specified, and also the `-o' and `-f' + command line options were not used, Dvips checks the environment + variable `PRINTER'. If it exists, then `config.$PRINTER' + (`$PRINTER.cfg' on MS-DOS) is loaded (if it exists). + + + Because the `.dvipsrc' file is read before the printer-specific +configuration files, individual users cannot override settings in the +latter. On the other hand, the `TEXCONFIG' path usually includes the +current directory, and can in any case be set to anything, so the users +can always define their own printer-specific configuration files to be +found before the system's. + + A few command-line options are treated specially, in that they are +not overridden by configuration files: + +`-D' + As well as setting the resolution, this unsets the mode, if the + mode was previously set from a configuration file. If + `config.$PRINTER' is read, however, any `D' or `M' lines from + there will take effect. + +`-mode' + This overrides any mode setting (`M' line) in configuration files. + `-mode' does not affect the resolution. + +`-o' + This overrides any output setting (`o' line) in configuration + files. + + + The purpose of these special cases is to (1) minimize the chance of +having a mismatched mode and resolution (which `mktexpk' cannot +resolve), and (2) let command-line options override config files where +possible. + + +File: dvips.info, Node: Configuration file commands, Prev: Configuration file searching, Up: Config files + +3.4.2 Configuration file commands +--------------------------------- + +Most of the configuration file commands are similar to corresponding +command line options, but there are a few exceptions. When they are the +same, we omit the description here. + + As with command line options, many may be turned off by suffixing the +letter with a zero (`0'). + + Within a configuration file, empty lines, and lines starting with a +space, asterisk, equal sign, percent sign, or pound sign are ignored. +There is no provision for continuation lines. + +`@ NAME HSIZE VSIZE' + Define paper sizes. *Note Config file paper sizes::. + +`a*' + Memory conservation. Same as `-a', *note Option details::. + +`b #COPIES' + Multiple copies. Same as `-b', *note Option details::. + +`c FILENAME' + Include FILENAME as an additional configuration file, read + immediately. + +`D DPI' + Output resolution. Same as `-D', *note Option details::. + +`e NUM' + Max drift. Same as `-e', *note Option details::. + +`E COMMAND' + Executes the command listed with `system'(3); can be used to get + the current date into a header file for inclusion, for instance. + Possibly dangerous; this may be disabled, in which case a warning + will be printed if the option is used (and warnings are not + suppressed). + +`f*' +`F' + Run as a filter. Same as `-f', *note Option details::. + +`G*' + Shift low-numbered characters; obsolete. Same as `-G', *note + Option details::. + +`h HEADER' + Prepend HEADER to output. Same as `h-', *note Option details::. + +`H PATH' + Use PATH to search for PostScript header files. The environment + variable `DVIPSHEADERS' overrides this. + +`i N' + Make multiple output files. Same as `-i -S N', *note Option + details::. + +`j*' + Partially download Type 1 fonts. Same as `-j', *note Option + details::. + +`K*' + Remove comments from included PostScript files. Same as `-K', + *note Option details::. + +`m NUM' + Declare NUM as the memory available for fonts and strings in the + printer. Default is 180000. This value must be accurate if memory + conservation and document splitting is to work correctly. To + determine this value, send the following file to the printer: + + %! Hey, we're PostScript + /Times-Roman findfont 30 scalefont setfont 144 432 moveto + vmstatus exch sub 40 string cvs show pop showpage + + The number printed by this file is the total memory free; it is + usually best to tell Dvips that the printer has slightly less + memory, because many programs download permanent macros that can + reduce the memory in the printer. Some systems or printers can + dynamically increase the memory available to a PostScript + interpreter, in which case this file might return a ridiculously + low number; for example, the NeXT computer and Ghostscript. In + these cases, a value of one million works fine. + +`M MODE' + Metafont mode. Same as `-mode', *note Option details::. + +`N*' + Disable structured comments. Beware: This also turns off + displaying page numbers or changing to specific pagenumbers in + PostScript viewers. Same as `-N', *note Option details::. + +`o NAME' + Send output to NAME. Same as `-o', *note Option details::. In + the file `config.foo', a setting like this is probably appropriate: + o |lpr -Pfoo + The MS-DOS version will emulate spooling to `lpr' by printing to + the local printer device `PRN' if it doesn't find an executable + program by that name in the current directory or along the `PATH'. + +`O XOFF,YOFF' + Origin offset. Same as `-O', *note Option details::. + +`p [+]NAME' + Examine NAME for PostScript font aliases. Default is + `psfonts.map'. This option allows you to specify different + resident fonts that different printers may have. If NAME starts + with a `+' character, then the rest of the name (after any leading + spaces) is used as an additional map file; thus, it is possible to + have local map files pointed to by local configuration files that + append to the global map file. This can be used for font families. + +`P PATH' + Use PATH to search for bitmap PK font files is PATH. The + `PKFONTS', `TEXPKS', `GLYPHFONTS', and `TEXFONTS' environment + variables override this. *Note Supported file formats: + (kpathsea)Supported file formats. + +`q*' +`Q' + Run quietly. Same as `-q', *note Option details::. + +`r*' + Page reversal. Same as `-r', *note Option details::. + +`R NUM1 NUM2 ...' + Define the list of default resolutions for PK fonts. If a font + size actually used in a document is not available and cannot be + created, Dvips will scale the font found at the closest of these + resolutions to the requested size, using PostScript scaling. The + resulting output may be ugly, and thus a warning is issued. To + turn this last-resort scaling off, use a line with just the `R' + and no numbers. + + The given numbers must be sorted in increasing order; any number + smaller than the preceding one is ignored. This is because it is + better to scale a font up than down; scaling down can obliterate + small features in the character shape. + + The environment and config file values `DVIPSSIZES' or `TEXSIZES' + override this configuration file setting. + + If no `R' settings or environment variables are specified, a list + compiled in during installation is used. This default list is + defined by the Makefile variable `default_texsizes', defined in + the file `make/paths.make'. + +`s*' + Output global save/restore. Same as `-s', *note Option details::. + +`S PATH' + Use PATH to search for special illustrations (Encapsulated + PostScript files or psfiles). The `TEXPICTS' and then `TEXINPUTS' + environment variables override this. + +`T PATH' + Use PATH to search for TFM files. The `TFMFONTS' and then + `TEXFONTS' environment variables overrides this. This path is used + for resident fonts and fonts that can't otherwise be found. + +`U*' + Work around bug in Xerox 4045 printer. Same as `-U', *note Option + details::. + +`V PATH' + Use PATH to search for virtual font files. This may be + device-dependent if you use virtual fonts to simulate actual fonts + on different devices. + +`W [STRING]' + If STRING is supplied, write it to standard error after reading + all the configuration files; with no STRING, cancel any previous + `W' message. This is useful in the default configuration file to + remind users to specify a printer, for instance, or to notify users + about special characteristics of a particular printer. + +`X NUM' + Horizontal resolution. Same as `-X' (*note Option details::). + +`Y NUM' + Vertical resolution. Same as `-Y' (*note Option details::). + +`Z*' + Compress bitmap fonts. Same as `-Z' (*note Option details::). + +`z*' + Disables execution of system commands, like `-R' (*note Option + details::). If `-R' is specified on the command line, that takes + precedence. + + + +File: dvips.info, Node: Paper size and landscape, Next: Interaction with PostScript, Prev: Invoking Dvips, Up: Top + +4 Paper size and landscape orientation +************************************** + +Most TeX documents at a particular site are designed to use the local +standard paper size (letter size in the United States, A4 in Europe). +The Dvips program can be customized either sitewide or for a particular +printer. + + But many documents are designed for other paper sizes. For instance, +you may want to design a document that has the long edge of the paper +horizontal. This can be useful when typesetting booklets, brochures, +complex tables, or many other documents. This type of paper orientation +is called "landscape" orientation (the default orientation is +"portrait"). Alternatively, a document might be designed for ledger or +A3 paper. + + Since the intended paper size in these cases is a document design +decision, not a printing decision, such information should be given in +the TeX file and not on the Dvips command line. For this reason, Dvips +supports a `papersize' special. It is hoped that this special will +become standard over time for TeX previewers and other printer drivers. + + Some LaTeX packages, e.g., `hyperref.sty', write a `papersize' +special into the DVI file. In this case, you need not and should not +attempt to override it manually. + +* Menu: + +* papersize special:: Specifying the paper size in TeX. +* Config file paper sizes:: Specifying printer- and site-specific sizes. +* Paper trays:: Changing paper trays automatically. + + +File: dvips.info, Node: papersize special, Next: Config file paper sizes, Up: Paper size and landscape + +4.1 `papersize' special +======================= + +The format of the `papersize' special is + + \special{papersize=WIDTH,HEIGHT} + +WIDTH is the horizontal size of the page, and HEIGHT is the vertical +size. The dimensions supported are the same as for TeX; namely, in +(inches), cm (centimeters), mm (millimeters), pt (points), sp (scaled +points), bp (big points, the same as the default PostScript unit), pc +(picas), dd (didot points), and cc (ciceros). + + For a US letter size landscape document, the `papersize' would be: + \special{papersize=11in,8.5in} + +An alternate specification of `landscape': + \special{landscape} + +This is supported for backward compatibility, but it is hoped that +reventually the `papersize' comment will dominate. + + Of course, such a `\special' only informs Dvips of the desired paper +size; you must also adjust `\hsize' and `\vsize' in your TeX document +typeset to those dimensions. + + When using the `papersize' special, you generally should not also +specify `-t' on the command line (*note Option details::). The +exception is when using a nonstandard paper size that isn't predefined; +in this case, use `-t unknown'. + + The `papersize' special must occur somewhere on the first page of +the document. Some packages, notably `hyperref', insert this special. + + +File: dvips.info, Node: Config file paper sizes, Next: Paper trays, Prev: papersize special, Up: Paper size and landscape + +4.2 Configuration file paper size command +========================================= + +The `@' command in a configuration file sets the paper size defaults +and options. The first `@' command defines the default paper size. It +has three possible parameters: + + @ [NAME [HSIZE VSIZE]] + + If `@' is specified on a line by itself, with no parameters, it +instructs Dvips to discard all previous paper size information (possibly +from another configuration file). + + If three parameters are given, with the first parameter being a name +and the second and third being a dimension (as in `8.5in' or `3.2cc', +just like in the `papersize' special), then the option is interpreted +as starting a new paper size description, where NAME is the name and +HSIZE and VSIZE define the horizontal and vertical size of the sheet of +paper, respectively. For example: + + @ letterSize 8.5in 11in + + If both HSIZE and VSIZE are zero (you must still specify units!) +then any page size will match. If the `@' character is immediately +followed by a `+' sign, then the remainder of the line (after skipping +any leading blanks) is treated as PostScript code to send to the +printer, presumably to select that particular paper size: + + @ letter 8.5in 11in + @+ %%BeginPaperSize: Letter + @+ letter + @+ %%EndPaperSize + + After all that, if the first character of the line is an exclamation +point, then the line is put in the initial comments section of the final +output file; else, it is put in the setup section of the output file. +For example: + + @ legal 8.5in 14in + @+ ! %%DocumentPaperSizes: Legal + @+ %%BeginPaperSize: Legal + @+ legal + @+ %%EndPaperSize + + When Dvips has a paper format name given on the command line, it +looks for a match by the NAME; when it has a `papersize' special, it +looks for a match by dimensions. The best match found (from the paper +size information in the configuration file) is used. The dimensions +must match within 5bp. + + If nothing matches, a warning is printed and the first paper size +with zero dimensions is used; this should be the `unknown' paper size +definition mentioned below, resulting in the actual dimensions being +used. + + Landscape mode for all paper sizes is automatically supported. + + If your printer has a command to set a special paper size, then give +dimensions of `0in 0in'; the PostScript code that sets the paper size +can refer to the dimensions the user requested as `hsize' and `vsize'; +these will be macros defined in the PostScript that return the +requested size in default PostScript units. Also, some printers want +`BeginPaperSize' comments and paper size setting commands; others (such +as the NeXT) want `PaperSize' comments and they will handle setting the +paper size. So paper size entries should typically specify both. + + When using a paper size that is not already defined in `config.ps', +you probably want to say `-t unknown' on the command line; the +`unknown' paper size definition in `config.ps' has the requisite +PostScript incantation to set the PostScript page size, as just +described. + + If you want no paper size information in the output at all, use +`-t nopaper'. This is useful with multi-page output that will be +processed further. If you just have a single page document, you can +use `-E' to get pure EPSF output. + + The Perl 5 script `contrib/configs/mkdvipspapers' in the +distribution directory may help in determining appropriate paper size +definitions. + + Notwithstanding the above, the default `letter' and `a4' paper size +definitions in `config.ps' execute the `setpagedevice' operator if it +exists (it was defined in PostScript Level 2), or the `letter' or `a4' +operator if they exist (they are nonstandard and thus perhaps cause +failures on certain (unknown) printers). Not executing any page size +definition at all confuses PostScript conversion programs such as +`ps2pdf', so we want to execute one if we can. + + The `letterSize' and `A4Size' paper size definitions are now +synonyms for `letter' and `a4'. + + +File: dvips.info, Node: Paper trays, Prev: Config file paper sizes, Up: Paper size and landscape + +4.3 Paper trays +=============== + +Some printers, such as the Hewlett-Packard HP4si, have multiple paper +trays. You can set up Dvips to take advantage of this using the +`bop-hook' PostScript variable (*note PostScript hooks::). + + For example, suppose you have an alternate tray stocked with +letterhead paper; the usual tray has the usual paper. You have a +document where you want the first page printed on letterhead, and the +remaining pages on the usual paper. You can create a header file, say +`firstletterhead.PS', with the following (PostScript) code (`bop-hook' +is passed the current physical page number, which starts at zero): + + /bop-hook { dup 0 eq { ALTERNATETRAY } { NORMALTRAY } ifelse } def + +where ALTERNATETRAY and NORMALTRAY are the appropriate commands to +select the paper trays. On the 4SI, ALTERNATETRAY is `statusdict begin +1 setpapertray end' and NORMALTRAY is `statusdict begin 0 setpapertray +end'. + + Then, include the file with either + * the `-h' command-line option (*note Option details::); or + + * the `h' config file option (*note Configuration file commands::); + or + + * `\special{header=FILE}' in your TeX document (*note Including + headers from TeX: Including headers from TeX.). + + + +File: dvips.info, Node: Interaction with PostScript, Next: PostScript fonts, Prev: Paper size and landscape, Up: Top + +5 Interaction with PostScript +***************************** + +Dvips supports inclusion of PostScript figure files (e.g., Encapsulated +PostScript), downloading other header files (e.g., fonts), including +literal PostScript code, and hypertext. + +* Menu: + +* PostScript figures:: Including an Encapsulated PostScript figure. +* Header files:: Downloading extra definitions. +* Literal PS:: Writing literal PostScript code. +* Hypertext:: Producing HyperPostScript to make PDF. + + +File: dvips.info, Node: PostScript figures, Next: Header files, Up: Interaction with PostScript + +5.1 PostScript figures +====================== + +Scaling and including PostScript graphics is a breeze--if the PostScript +file is correctly formed. Even if it is not, however, the file can +usually be accommodated with just a little more work. + +* Menu: + +* Bounding box:: The %%BoundingBox EPS comment. +* \includegraphics:: The LaTeX \includegraphics macro. +* EPSF macros:: Including the file in TeX. +* psfile special:: The basic special. +* Dynamic creation of graphics:: Handling compressed or generated figures. +* Fonts in figures:: The %*Font comment. + + +File: dvips.info, Node: Bounding box, Next: \includegraphics, Up: PostScript figures + +5.1.1 The bounding box comment +------------------------------ + +The most important feature of a good PostScript file from the standpoint +of including it in another document is an accurate bounding box comment. +Every well-formed PostScript file has a comment describing where on the +page the graphic is located, and how big that graphic is. + + This information is given as the lower left and upper right corners +of the box just enclosing the graphic, and is thus referred to as the +"bounding box". These coordinates are given in the default PostScript +units (there are precisely 72 PostScript units to the inch, like TeX +big points) with respect to the lower left corner of the sheet of paper. + + To see if a PostScript file has a bounding box comment, just look at +the first few lines of the file. PostScript files are standard ASCII, +so you can use any text editor to do this. If within the first few +dozen lines there is a line like + + %%BoundingBox: 25 50 400 300 + +(with any reasonable numbers), chances are very good that the file is +Encapsulated PostScript and will work easily with Dvips. If the file +contains instead a line like + + %%BoundingBox: (atend) + +the file is still probably Encapsulated PostScript, but the bounding box +is given at the end of the file. Dvips needs it at the beginning. You +can move it with that same text editor, or a simple script. (The +bounding box is given in this way when the program that generated the +PostScript couldn't know the size in advance, or was too lazy to compute +it.) + + If the document lacks a `%%BoundingBox:' altogether, you can +determine one in a couple of ways. One is to use the `bbfig' program +distributed with Dvips in the `contrib' directory. This can usually +find the correct bounding box automatically; it works best with +Ghostscript. + + If the comment looks like this: + %%BoundingBox: 0 0 612 792 + +the graphic claims to take up an entire sheet of paper. This is +usually a symptom of a bug in the program that generated it. + + The other is to do it yourself: print the file. Now, take a ruler, +and make the following measurements (in PostScript units, so measure in +inches and multiply by 72): From the left edge of the paper to the +leftmost mark on the paper is LLX, the first number. From the bottom +edge of the paper to the bottommost mark on the paper is LLY, the +second number. From the left edge of the paper to the rightmost mark +on the paper is URX, the third number. The fourth and final number, +URY, is the distance from the bottom of the page to the uppermost mark +on the paper. + + Once you have the numbers, add a comment of the following form as the +second line of the document. (The first line should already be a line +starting with the two characters `%!'; if it is not, the file probably +isn't PostScript.) + + %%BoundingBox: LLX LLY URX URY + +Or, if you don't want to modify the file, you can simply write these +numbers down in a convenient place and give them in your TeX document +when you import the graphic, as described in the next section. + + If the document does not have such a bounding box, or if the bounding +box is given at the end of the document, or the bounding box is wrong, +please complain to the authors of the software package that generated +the file. + + +File: dvips.info, Node: \includegraphics, Next: EPSF macros, Prev: Bounding box, Up: PostScript figures + +5.1.2 The \includegraphics macro for LaTeX +------------------------------------------ + +Once the figure file has a bounding box comment (see the previous +section) you are ready to import the graphic into a LaTeX document. For +LaTeX 2e, you can use the epsf, graphics or graphicx packages, but the +last is recommended--it has the most flexible syntax, and is briefly +described here. Further information can be found in `grfguide' or +`epslatex', which should be included in your LaTeX distribution in DVI, +PDF, or other formats. (If you are still using LaTeX 2.09, use +epsf.sty). + + Just put the following command into your preamble: + + \usepackage[dvips]{graphicx} + + Depending on your system, a suitable driver setup may already be +present, so that LaTeX automatically produces DVI files suitable for +Dvips. In this case you can leave out the `[dvips]' parameter. + + Now, at the point you want to include a file `foo.eps', enter a line +such as: + + \includegraphics{foo.eps} + + However, it is usually best to omit the file extension and only use + + \includegraphics{foo} + +because then you can process the same LaTeX file with different TeX +engines or DVI converters if you also provide suitable graphics files +for them, e.g., `foo.pdf' or `foo.png'. + + The \includegraphics command has many options, specified in +`key=value' syntax, to allow you to resize, rotate or trim the included +graphic--see `grfguide' or `epslatex'. If your file does not have a +bounding box comment, you can supply the numbers as determined in the +previous section, in the same order they would have been in a normal +bounding box comment: + + \includegraphics[bb=100 100 500 500]{foo.ps} + +Now, save your changes and run LaTeX and Dvips; the output should have +your graphic positioned at precisely the point you indicated, occupying +the proper amount of space. + + PostScript graphics have their origin in the lower left corner. +Therefore, in TeX, a graphic will occupy a box that extends far above +the line where it is put in, but has depth zero below it. Combining +`\includegraphics' with `\parbox' commands or minipages can sometimes +be confusing when this is not taken into account. + + +File: dvips.info, Node: EPSF macros, Next: psfile special, Prev: \includegraphics, Up: PostScript figures + +5.1.3 Using the EPSF macros +--------------------------- + +If you are using LaTeX 2e, use the `graphics' or `graphicx' package. +*Note \includegraphics::. + + If you are using plain TeX or LaTeX 2.09, you need `epsf.tex' (for +plain TeX) and `epsf.sty' (for LaTeX). For plain TeX, add a line like +this near the top of your input file: + + \input epsf + +If you are using LaTeX 2.09, add the `epsf' style option, as in: + + \documentstyle[12pt,epsf]{article} + +In any case, the above only needs to be done once, no matter how many +figures you plan to include. + + Now, at the point you want to include a file, enter a line such as: + + \epsffile{foo.eps} + + If you are using LaTeX, you may need to add `\leavevmode' +immediately before the `\epsffile' command to get certain environments +to work correctly. If your file does not have a bounding box comment, +you can supply the numbers as determined in the previous section, in +the same order they would have been in a normal bounding box comment: + + \epsffile[100 100 500 500]{foo.ps} + +Now, save your changes and run TeX and Dvips; the output should have +your graphic positioned at precisely the point you indicated, occupying +the proper amount of space. + + The `\epsffile' macro typesets the figure as a TeX `\vbox' at the +point of the page that the command is executed. By default, the +graphic will have its `natural' width (namely, the width of its bounding +box). The TeX box will have depth zero and its natural height. By +default, the graphic will be scaled by any DVI magnification in effect, +just as is everything else in your document. See the next section for +more information on scaling. + + If you want TeX to report the size of the figure as a message on your +terminal when it processes each figure, give the command: + + \epsfverbosetrue + +* Menu: + +* EPSF scaling:: +* EPSF clipping:: + + +File: dvips.info, Node: EPSF scaling, Next: EPSF clipping, Up: EPSF macros + +5.1.3.1 EPSF scaling +.................... + +Usually, you will want to scale an EPSF figure to some size appropriate +for your document, since its natural size is determined by the creator +of the EPS file. + + The best way to do this is to assign the desired size to the TeX +`\epsfxsize' or `\epsfysize' variables, whichever is more convenient +for you. That is, put + + \epsfxsize=DIMEN + +right before the call to `\epsffile'. Then the width of the TeX box +will be DIMEN and its height will be scaled proportionately. +Similarly, you can set the vertical size with + + \epsfysize=DIMEN + +in which case the height will be set and the width scaled +proportionally. + + If you set both, both will be honored, but the aspect ratio of the +included graphic may necessarily be distorted, i.e., its contents +stretched in one direction or the other. + + You can resize graphics in a more general way by redefining the +`\epsfsize' macro. `\epsffile' calls this with two parameters: the +natural horizontal and vertical sizes of the PostScript graphic. +`\epsfsize' must expand to the desired horizontal size, that is, the +width of the `\vbox'. Schematically: + + \def\epsfsize#1#2{BODY} + + Some useful definitions of BODY: + +`\epsfxsize' + This definition (the default) enables the default features listed + above, by setting `\epsfxsize' to the same value it had before the + macro was called. + +`#1' + Force the natural size by returning the first parameter (the + original width). + +`0pt' + A special case, equivalent to `#1'. + +`0.5#1' + Scale to half the natural size. + +`\hsize' + Scale to the current `\hsize'. (In LaTeX, use `\textwidth' + instead of `\hsize'.) + +`\ifnum#1>\hsize\hsize\else#1\fi' + If the natural width is greater than the current `\hsize', scale to + `\hsize', otherwise use the natural width. + + + For compatibility with other PostScript drivers, it is possible to +turn off the default scaling of included figures by the DVI +magnification with the following TeX command: + + \special{! /magscale false def} + +Use of this command is not recommended because it will make the +`\epsffile' graphics the "wrong" size if global magnification is being +used, and it will cause any PostScript graphics to appear improperly +scaled and out of position if a DVI to DVI program is used to scale or +otherwise modify the document. + + DVI magnification is not applied to any output from code you write in +`bop-hook' or its ilk (*note PostScript hooks::), + + +File: dvips.info, Node: EPSF clipping, Prev: EPSF scaling, Up: EPSF macros + +5.1.3.2 EPSF clipping +..................... + +By default, clipping is disabled for included EPSF images. This is +because clipping to the bounding box dimensions often cuts off a small +portion of the figure, due to slightly inaccurate bounding box +arguments. The problem might be subtle; lines around the boundary of +the image might be half their intended width, or the tops or bottoms of +some text annotations might be sliced off. If you want to turn +clipping on, just use the command + + \epsfclipon + +and to turn clipping back off, use + + \epsfclipoff + + +File: dvips.info, Node: psfile special, Next: Dynamic creation of graphics, Prev: EPSF macros, Up: PostScript figures + +5.1.4 `psfile' special +---------------------- + +The basic special for file inclusion is as follows: + + \special{psfile=FILENAME.ps [KEY=VALUE] ... } + +This downloads the PostScript file `FILENAME.ps' such that the current +point will be the origin of the PostScript coordinate system. The +optional KEY=VALUE assignments allow you to specify transformations on +the PostScript. + + The possible KEYs are: + +`hoffset' + The horizontal offset (default 0). + +`voffset' + The vertical offset (default 0). + +`hsize' + The horizontal clipping size (default 612). + +`vsize' + The vertical clipping size (default 792). + +`hscale' + The horizontal scaling factor, as a percentage (default 100). + +`vscale' + The vertical scaling factor, as a percentage (default 100). + +`angle' + The rotation, in degrees (default 0). + +`clip' + Enable clipping to the bounding box (default disabled). + +`llx, lly, urx, ury' + Bounding box of the included image, just as in a `%%BoundingBox' + comment. Values are in big points, and may be fractional. + +`rhi, rwi' + Desired width and height of the resulting figure in the output, in + tenths of big points (720 to the inch); may be fractional. + + If both `rwi' and `rhi' are nonzero, the picture is scaled, + possibly losing aspect ratio. If only one of `rwi' and `rhi' is + nonzero, the picture is scaled, preserving aspect ratio. + + + The offsets and sizes are given in PostScript units (big points). +Thus, for example: + + \special{psfile=foo.ps hoffset=72 hscale=90 vscale=90} + +will shift the graphics produced by file `foo.ps' right by one inch and +will draw it at 0.9 times normal size. Offsets are given relative to +the point of the special command, and are unaffected by scaling or +rotation. Rotation is counterclockwise about the origin. The order of +operations is to rotate the figure, scale it, then offset it. + + For compatibility with older PostScript drivers, it is possible to +change the units that `hscale' and `vscale' are given in. This can be +done by redefining `@scaleunit' in `SDict' by a TeX command such as + + \special{! /@scaleunit 1 def} + +The `@scaleunit' variable, which is by default 100, is what `hscale' +and `vscale' are divided by to yield an absolute scale factor. + + +File: dvips.info, Node: Dynamic creation of graphics, Next: Fonts in figures, Prev: psfile special, Up: PostScript figures + +5.1.5 Dynamic creation of PostScript graphics files +--------------------------------------------------- + +PostScript is an excellent page description language--but it does tend +to be rather verbose. Compressing PostScript graphics files can reduce +them by factor of five or more. For this reason, if the name of an +included PostScript file ends with `.Z' or `.gz', Dvips automatically +runs `gzip -d'. For example: + + \epsffile[72 72 540 720]{foo.ps.gz} + +Since the results of such a command are not accessible to TeX, if you +use this facility with the `epsf' macros, you need to supply the +bounding box parameter yourself, as shown. + + More generally, if the filename parameter to one of the graphics +inclusion techniques starts with a left quote (``'), the parameter is +instead interpreted as a command to execute that will send the actual +file to standard output. For example: + + \special{psfile="`gnuplot foo"} + +to include the file `foo'. Of course, the command to be executed can +be anything, including using a file conversion utility such as `tek2ps' +or whatever is appropriate. This feature can be disabled with the `-R' +command-line option or `R' configuration option. + + +File: dvips.info, Node: Fonts in figures, Prev: Dynamic creation of graphics, Up: PostScript figures + +5.1.6 Fonts in figures +---------------------- + +You can use any font available to TeX and Dvips within a graphics file +by putting a `%*Font:' line in the leading commentary of the file. +Schematically, this looks like: + + %*Font: TFMNAME SCALEDBP DESIGNBP HEX-START:HEX-BITSTRING + + Here is the meaning of each of these elements: + +TFMNAME + The TeX TFM filename, e.g., `cmr10'. You can give the same + TFMNAME on more than one `%*Font' line; this is useful when the + number of characters from the font used needs a longer + HEX-BITSTRING (see item below) than conveniently fits on one line. + +SCALEDBP + The size at which you are using the font, in PostScript points (TeX + big points). 72bp = 72.27pt = 1in. + +DESIGNBP + The designsize of the font, again in PostScript points. This + should match the value in the TFM file TFMNAME. Thus, for `cmr10', + it should be `9.96265'. + +HEX-START + The character code of the first character used from the font, + specified as two ASCII hexadecimal characters, e.g., `4b' or `4B' + for `K'. + +HEX-BITSTRING + An arbitrary number of ASCII hexadecimal digits specifying which + characters following (and including) HEX-START are used. This is + treated as a bitmap. For example, if your figure used the single + letter `K', you would use `4b:8' for HEX-START and HEX-BITSTRING. + If it used `KLMNP', you would use `4b:f4'. + + + MetaPost's output figures contain lines like this for bitmap fonts +used in a MetaPost label (*note MetaPost: (web2c)MetaPost.). + + +File: dvips.info, Node: Header files, Next: Literal PS, Prev: PostScript figures, Up: Interaction with PostScript + +5.2 PostScript header files +=========================== + +"Header files" are bits of PostScript included in the output file; +generally they provide support for special features, rather than +producing any printed output themselves. You can explicitly request +downloading header files if necessary for some figure, or to achieve +some special effect. + + Dvips includes some headers on its own initiative, to implement +features such as PostScript font reencoding, bitmap font downloading, +handling of `\special''s, and so on. These standard headers are the +`.pro' files (for "prologue") in the installation directory +`$(psheaderdir)'; they are created from the `.lpro' ("long prologue") +files in the distribution by stripping comments, squeezing blank lines, +etc., for maximum efficiency. If you want to peruse one of the +standard header files, read the `.lpro' version. + + The PostScript dictionary stack will be at the `userdict' level when +header files are included. + +* Menu: + +* Including headers from TeX:: +* Including headers from the command line:: +* Headers and memory usage:: + + +File: dvips.info, Node: Including headers from TeX, Next: Including headers from the command line, Up: Header files + +5.2.1 Including headers from TeX +-------------------------------- + +In order to get a particular graphic file to work, a certain font or +header file might need to be sent first. The Dvips program provides +support for this with the `header' `\special'. For instance, to ensure +that `foo.ps' gets downloaded: + + \special{header=foo.ps} + + As another example, if you have some PostScript code that uses a +PostScript font not built into your printer, you must download it to the +printer. If the font isn't used elsewhere in the document, Dvips can't +know you've used it, so you must include it in the same way, as in: + + \special{header=putr.pfa} + +to include the font definition file for Adobe Utopia Roman. + + The `header' also special allows for specifying some additional code +that should be inserted into the PostScript document before and after +the file itself, as follows: + + \special{header={foo.ps} pre={pre code} post={post code}} + + This will insert `pre code' just before `foo.ps' and `post code' +just after. It is required to use the (balanced) braces in _all_ of +the arguments, including the `header', when using this extended syntax. + + This allows, for instance, dynamic headers, where some of the content +depends on settings from the user in (La)TeX. Another application is +the inclusion of graphics inside the PostScript header, so that they +can be reused throughout the document, as with logs. That avoids +including the same graphic several times. This is implemented in the +`graphics/graphicx-psmin' package. + + This extended syntax has one additional feature. When Dvips finds the +extended syntax, it will also look in the installed `tex/' tree(s) for +the header file (`foo.ps' in our example), and not only in the current +directory and dvips tree as the original syntax does. This is because +common graphics may well come with packages which are installed in the +`tex/' tree. + + +File: dvips.info, Node: Including headers from the command line, Next: Headers and memory usage, Prev: Including headers from TeX, Up: Header files + +5.2.2 Including headers from the command line +--------------------------------------------- + +You can include headers when you run Dvips, as well as from your +document (see the previous section). To do this, run Dvips with the +option `-P HEADER'; this will read the file `config.HEADER', which in +turn can specify a header file to be downloaded with the `h' option. +*Note Configuration file commands::. These files are called +`HEADER.cfg' on MS-DOS. + + You can arrange for the same file to serve as a `-P' config file and +the downloadable header file, by starting the lines of PostScript code +with a space, leaving only the `h' line and any comments starting in +the first column. As an example, see `contrib/volker/config.*' +(`contrib/volker/*.cfg' on MS-DOS). (These files also perform useful +functions: controlling duplex/simplex mode on duplex printers, and +setting various screen frequencies; `contrib/volker/README' explains +further.) + + +File: dvips.info, Node: Headers and memory usage, Prev: Including headers from the command line, Up: Header files + +5.2.3 Headers and memory usage +------------------------------ + +Dvips tries to avoid overflowing the printer's memory by splitting the +output files into "sections" (see the `-i' option in *note Option +details::). Therefore, for all header files, Dvips debits the printer +VM budget by some value. If the header file has, in its leading +commentary a line of the form + + %%VMusage: MIN MAX + +then MAX is used. If there is no `%%VMusage' line, then the size (in +bytes) of the header file is used as an approximation. + + Illustrations (figure files) are also checked for `%%VMusage' line. + + +File: dvips.info, Node: Literal PS, Next: Hypertext, Prev: Header files, Up: Interaction with PostScript + +5.3 Literal PostScript +====================== + +You can include literal PostScript code in your document in several +ways. + +* Menu: + +* " special:: To include inline PostScript code. +* ps special:: Inline PostScript without save/restore. +* PostScript hooks:: Specifying code to run in the PS interpreter. +* Literal headers:: Literal PostScript for the whole document. +* Literal examples:: Neat example. + + +File: dvips.info, Node: " special, Next: ps special, Up: Literal PS + +5.3.1 `"' special: Literal PostScript +------------------------------------- + +For simple graphics, or just for experimentation, literal PostScript +code can be included. Simply use a `\special' beginning with a double +quote character `"'; there is no matching closing `"'. + + For instance, the following (simple) graphic: + + [ picture of a grey triangle ] + +was created by typing: + + \vbox to 100bp{\vss % a bp is the same as a PostScript unit + \special{" newpath 0 0 moveto 100 100 lineto 394 0 lineto + closepath gsave 0.8 setgray fill grestore stroke}} + + You are responsible for leaving space for such literal graphics, as +with the `\vbox' above. + + +File: dvips.info, Node: ps special, Next: PostScript hooks, Prev: " special, Up: Literal PS + +5.3.2 `ps' special +------------------ + +Generally, Dvips encloses specials in a PostScript save/restore pair, +guaranteeing that the special will have no effect on the rest of the +document. The `ps' special, however, allows you to insert literal +PostScript instructions without this protective shield; you should +understand what you're doing (and you shouldn't change the PostScript +graphics state unless you are willing to take the consequences). This +command can take many forms because it has had a torturous history; any +of the following will work: + + \special{ps:TEXT} + \special{ps::TEXT} + \special{ps::[begin]TEXT} + \special{ps::[end]TEXT} + \special{ps::[nobreak]TEXT} + +(with longer forms taking precedence over shorter forms, when they are +present). `ps::' and `ps::[end]' do no positioning, so they can be +used to continue PostScript literals started with `ps:' or +`ps::[begin]'. + + Literal PostScript instructions after `ps::[nobreak]' are _not_ +broken into lines. This feature may be used to include PostScript +comments, for example. + + In addition, the variant + + \special{ps: plotfile FILENAME} + +inserts the contents of FILENAME verbatim into the output (except for +omitting lines that begin with %). An example of the proper use of +literal specials can be found in the file `rotate.tex', which makes it +easy to typeset text turned in multiples of 90 degrees. + + +File: dvips.info, Node: Literal headers, Next: Literal examples, Prev: PostScript hooks, Up: Literal PS + +5.3.3 Literal headers: `!' `\special' +------------------------------------- + +You can download literal PostScript header code in your TeX document, +for use with (for example) literal graphics code that you include later. +The text of a `\special' beginning with an `!' is copied into the +output file. A dictionary `SDict' will be current when this code is +executed; Dvips arranges for `SDict' to be first on the dictionary +stack when any PostScript graphic is included, whether literally (the +`"' special) or through macros (e.g., `epsf.tex'). + + For example: + + \special{! /reset { 0 0 moveto} def} + + +File: dvips.info, Node: PostScript hooks, Next: Literal headers, Prev: ps special, Up: Literal PS + +5.3.4 PostScript hooks +---------------------- + +Besides including literal PostScript at a particular place in your +document (as described in the previous section), you can also arrange to +execute arbitrary PostScript code at particular times while the +PostScript is printing. + + If any of the PostScript names `bop-hook', `eop-hook', `start-hook', +or `end-hook' are defined in `userdict', they will be executed at the +beginning of a page, end of a page, start of the document, and end of a +document, respectively. + + When these macros are executed, the default PostScript coordinate +system and origin is in effect. Such macros can be defined in headers +added by the `-h' option or the `header=' special, and might be useful +for writing, for instance, `DRAFT' across the entire page, or, with the +aid of a shell script, dating the document. These macros are executed +outside of the save/restore context of the individual pages, so it is +possible for them to accumulate information, but if a document must be +divided into sections because of memory constraints, such added +information will be lost across section breaks. + + The single argument to `bop-hook' is the physical page number; the +first page gets zero, the second one, etc. `bop-hook' must leave this +number on the stack. None of the other hooks are passed arguments. + + As an example of what can be done, the following special will write +a light grey `DRAFT' across each page in the document: + + \special{!userdict begin /bop-hook{gsave 200 30 translate + 65 rotate /Times-Roman findfont 216 scalefont setfont + 0 0 moveto 0.7 setgray (DRAFT) show grestore}def end} + + Using `bop-hook' or `eop-hook' to preserve information across pages +breaks compliance with the Adobe document structuring conventions, so +if you use any such tricks, you may also want to use the `-N' option to +turn off structured comments (such as `%%Page'). Otherwise, programs +that read your file will assume its pages are independent. + + +File: dvips.info, Node: Literal examples, Prev: Literal headers, Up: Literal PS + +5.3.5 Literal examples +---------------------- + +To finish off this section, the following examples of literal PostScript +are presented without explanation: + + \def\rotninety{\special{ps:currentpoint currentpoint translate 90 + rotate neg exch neg exch translate}}\font\huge=cmbx10 at 14.4truept + \setbox0=\hbox to0pt{\huge A\hss}\vskip16truept\centerline{\copy0 + \special{ps:gsave}\rotninety\copy0\rotninety\copy0\rotninety + \box0\special{ps:grestore}}\vskip16truept + + [ There are 4 `A' characters, each rotated 90 degrees about a +common center point ] + + \vbox to 2truein{\special{ps:gsave 0.3 setgray}\hrule height 2in + width\hsize\vskip-2in\special{ps:grestore}\font\big=cminch\big + \vss\special{ps:gsave 1 setgray}\vbox to 0pt{\vskip2pt + \line{\hss\hskip4pt NEAT\hss}\vss}\special{ps:0 setgray}% + \hbox{\raise2pt\line{\hss NEAT\hss}\special{ps:grestore}}\vss} + + [ There is a big gray box with the word `NEAT' inside in big letters +] + + Some caveats are in order, however. Make sure that each `gsave' is +matched with a `grestore' on the same page. Do not use `save' and +`restore'; they can interact with the PostScript generated by Dvips if +care is not taken. Try to understand what the above macros are doing +before writing your own. The `\rotninety' macro especially has a +useful trick that appears again and again. + + +File: dvips.info, Node: Hypertext, Prev: Literal PS, Up: Interaction with PostScript + +5.4 HyperTeXt +============= + +Dvips has support for producing hypertext PostScript documents. If you +specify the `-z' option, the `html:' specials described below will be +converted into `pdfmark' PostScript operators to specify links. +Without `-z', `html:' specials are ignored. + + The resulting PostScript can then be processed by a distiller +program to make a PDF file. (It can still be handled by ordinary +PostScript interpreters as well.) Various versions of both PC and Unix +distillers are supported; Ghostscript includes limited distiller support +(*note Ghostscript installation::). + + Macros you can use in your TeX document to insert the specials in the +first place are available from `CTAN:/support/hypertex'. For CTAN +info, *note unixtex.ftp: (kpathsea)unixtex.ftp. + + This hypertext support (and original form of the documentation) was +written by Mark Doyle and Tanmoy Bhattacharya as the `dvihps' program. +You can retrieve their software and additional documentation via the +CTAN reference above. You may also be interested in the Java previewer +IDVI, available at `http://www.win.tue.nl/~dickie/idvi', and/or in +`http://www.emrg.com/texpdf.html', which describes the process of +making PDF files from TeX files in more detail. + + Mail archives for the original project are at +`http://math.albany.edu:8800/hm/ht/'. + +* Menu: + +* Hypertext caveats:: Font quality, missing character psi. +* Hypertext specials:: The details on the specials. + + +File: dvips.info, Node: Hypertext caveats, Next: Hypertext specials, Up: Hypertext + +5.4.1 Hypertext caveats +----------------------- + +If you intend to go all the way to PDF, you may want to use the standard +35 PostScript fonts exclusively, since other fonts are embedded as +bitmaps by default. The Adobe PDF readers are extremely slow when +dealing with bitmap fonts and the results look terrible on the screen. +Printouts will probably look fine, but may not take full advantage of a +high-resolution printer. Alternatively, you can have your fonts +embedded as Type 1 scalable outlines. The resulting PostScript files +may be larger, but can be effectively rasterized at any resolution. +They can also be converted to PDF files that can be used effectively at +any screen or printer resolution. + + To get the TeX fonts embedded in the PostScript file as Type 1 fonts, +add `-Ppdf' to the dvips command line switches. The printout for a run +should look something like this: + + dvips report -Ppdf -o report.ps + This is dvips(k) 5.86 Copyright 1999 Radical Eye Software (www.radicaleye.com) + ' TeX output 2001.06.15:0837' -> report.ps + <tex.pro><alt-rule.pro><texc.pro><texps.pro><special.pro>. + <cmbx9.pfb><cmsy6.pfb><cmsy7.pfb><cmr5.pfb><cmex10.pfb><cmr9.pfb> + <cmmi7.pfb><cmsy10.pfb><cmmib10.pfb><cmmi10.pfb><cmti10.pfb> + <cmr7.pfb><cmbx10.pfb><cmr10.pfb><cmti9.pfb><cmr12.pfb><cmbx12.pfb> + [1] [2<mean1.ps>] [3<bounce1-00.ps>] [4] + + An entry like "<cmr10.pfb>" indicates success: dvips found the +Computer Modern Roman 10 point font in a PostScript Font Binary file, +translated it to an ASCII encoding, and embedded it. You can confirm +this by examining the PostScript output file, looking for the section +starting `%%BeginFont: CMR10' followed by an entry `/FontType 1 def'. + + The `-Ppdf' option requires that the relevant outline (`.pfa' or +`.pfb') files be installed (*note Font concepts::). For example, the +`cmr10' file might be in +`/usr/share/texmf/fonts/type1/bluesky/cm/cmr10.pfb'. Your TeX +distribution may make those fonts available in a separate optional +package (e.g., `tetex-extra' in Debian). Failing that, commercial +versions of the Computer Modern fonts are available from Blue Sky; +public domain versions - in particular, the lm fonts, and the cm-super +fonts, are available from CTAN sites (for CTAN info, *note unixtex.ftp: +(kpathsea)unixtex.ftp.). + + You can convert a PostScript file to PDF using `distill', which +comes with Adobe Acrobat, or `ps2pdf', which comes with Ghostscript. +The `ps2pdf' that comes with `Ghostscript' version 6.0 or earlier will +not embed Type 1 fonts. Current recommendations are GNU Ghostscript +6.51 or Aladdin Ghostscript 7.0. You can check the fonts in a PDF file +with Acrobat Reader by selecting the menu entries `File|Document +Info|Fonts'. + + Also, the Adobe distillers prior to 2.1 drop trailing space +characters (character code 32) from strings. Unfortunately, the +PostScript fonts use this character code for characters other than +space (notably the Greek letter psi in the `Symbol' font), and so these +characters are dropped. This bug is fixed in version 2.1. + + If you can't upgrade, One workaround is to change all the trailing +blanks in strings to a character code that isn't in the font. This works +because the default behavior is to substitute a blank for a missing +character, i.e., the distiller is fooled into substituting the right +character. For instance, with the Blue Sky fonts, you can globally +replace ` )' with `\200)' (with `sed', for example) and get the desired +result. With the public domain fonts, you will probably have to use a +character code in the range 128 to 191 since these fonts duplicate the +first 32 characters starting at 192 to avoid MS-DOS problems. + + For more information on the use of TeX to produce PDF files, see the +article "Creating quality Adobe PDF files from TeX with DVIPS" by +Kendall Whitehouse of Adobe. Adobe seems not to offer the article any +more, but copies are available elsewhere: + `http://www.math.hawaii.edu/~ralph/MathOnWeb/TeXPDF.html' + `http://www.utdallas.edu/~cantrell/online/543e.html' + + You may also want to check "Notes on converting (La)TeX documents to +robust PDF using Rokicki's dvips and Acrobat Distiller" by Timothy P. +Van Zandt: +`http://www.emrg.com/texpdf.htmlhttp://zandtwerk.insead.fr/tex2pdf.html'. + + +File: dvips.info, Node: Hypertext specials, Prev: Hypertext caveats, Up: Hypertext + +5.4.2 Hypertext specials +------------------------ + +Current support for the World Wide Web in the TeX system does not +involve modifying TeX itself. We need only define some specials; +Arthur Smith (<apsmith@aps.org>), Tanmoy Bhattacharya, and Paul +Ginsparg originally proposed and implemented the following: + html:<a href="XURL"> + html:<a name="NAME"> + html:</a> + html:<img src="XURL"> + html:<base href="XURL"> + + Like all TeX `\special''s, these produce no visible output, and are +uninterpreted by TeX itself. They are instructions to DVI processors +only. + + Here, XURL is a standard WWW uniform resource locator (URL), +possibly extended with a `#TYPE.STRING' construct, where TYPE is +`page', `section', `equation', `reference' (for bibliographic +references), `figure', `table', etc. For example, + \special{html:<a href="http://www.maths.tcd.ie/~tim/ch1.dvi#equation.1.1">} + is a link to equation (1.1) in an example document by Tim Murphy. + + See the URL +`http://www.w3.org/hypertext/WWW/Addressing/Addressing.html' for a +precise description of base URL's. + + Descriptions of the `\special''s: +`href' + Creates links in your TeX document. For example: + \special{html:<a href="http://www.tug.org/">}\TeX\ Users + Group\special{html:</a>} + The user will be able to click on the text `TeX Users Group' while + running Xdvi and get to the TUG home page. (By the way, this is + for illustration. In practice, you most likely want to use macros + to insert the `\special' commands; reference above.) + +`name' + Defines URL targets in your TeX documents, so links can be + resolved. For example: + \special{html:<a name="paradise">}Paradise\special{html:</a>} + is exactly where you are right now. + This will resolve an `href="#paradise"'. You'll also have to + change the catcode of `#', etc. It's usually easiest to use + existing macro packages which take care of all the details, such as + `hyperref' for LaTeX. The HyperTeX FAQ + (http://arxiv.org/hypertex/) has more information. + +`img' + Links to an arbitrary external file. Interactively, a viewer is + spawned to read the file according to the file extension and your + `mailcap' file (see the Xdvi documentation). + +`base' + Defines a base URL that is prepended to all the `name' targets. + Typically unnecessary, as the name of the DVI file being read is + used by default. + + The `img' and `base' tags are not yet implemented in Dvips or the +NeXTSTEP DVI viewer. + + +File: dvips.info, Node: PostScript fonts, Next: Color, Prev: Interaction with PostScript, Up: Top + +6 PostScript fonts +****************** + +Dvips supports the use of PostScript fonts in TeX documents. To use a +PostScript font conveniently, you need to prepare a corresponding +virtual font; the program Afm2tfm, supplied with Dvips, helps with that. + + All the necessary support for the standard 35 PostScript fonts +(`AvantGarde-Book' through `ZapfDingbats'), plus other freely or +commonly available PostScript fonts is available along with Dvips. To +use these fonts, you need do nothing beyond what is mentioned in the +installation procedure (*note Installation::). This chapter is +therefore relevant only if you are installing new PostScript fonts not +supplied with Dvips. (Or if you're curious.) + +* Menu: + +* Font concepts:: Metrics, glyphs, virtual fonts, and encodings. +* Making a font available:: Installing and using a PostScript font. +* Invoking afm2tfm:: Creating TFM and AFM files for a virtual font. +* psfonts.map:: Defining available PostScript fonts. + + +File: dvips.info, Node: Font concepts, Next: Making a font available, Up: PostScript fonts + +6.1 Font concepts +================= + +The information needed to typeset using a particular font is contained +in two files: a "metric file" that contains shape-independent +information and a "glyph file" that contains the actual shapes of the +font's characters. A "virtual font" is an optional additional file +that can specify special ways to construct the characters. TeX itself +(or LaTeX) look only at the metric file, but DVI drivers such as Dvips +look at all three of these files. + + An "encoding file" defines the correspondence between the code +numbers of the characters in a font and their descriptive names. Two +encoding files used together can describe a reencoding that rearranges, +i.e., renumbers, the characters of a font. + +* Menu: + +* Metric files:: Shape-independent font information. +* Glyph files:: Character shapes. +* Virtual fonts:: Constructing one font from others. +* Encodings:: Character codes and character names. +* PostScript typesetting:: How PostScript typesets a character. + + +File: dvips.info, Node: Metric files, Next: Glyph files, Up: Font concepts + +6.1.1 Metric files +------------------ + +A "metric file" describes properties of the font that are independent +of what the characters actually look like. Aside from general +information about the font itself, a metric file has two kinds of +information: information about individual characters, organized by +character code, and information about sequences of characters. + + The per-character information specifies the width, height, depth, and +italic correction of each character in the font. Any might be zero. + + In addition to information on individual characters, the metric file +specifies "kerning", i.e., adding or removing space between particular +character pairs. It further specifies "ligature" information: when a +sequence of input characters should be typeset as a single (presumably +different) "ligature" character. For example, it's traditional for the +input `fi' to be typeset as `fi', not as `fi' (with the dot of the `i' +colliding with `f'). (In English, the only common ligatures are fi, +fl, ff, ffi, and ffl.) + + Different typesetting systems use different metric file formats: + + * Each Postscript font has an "Adobe font metrics" (`.afm') file. + These files are plain text, so you can inspect them easily. You + can get AFM files for Adobe's fonts from + `ftp://ftp.adobe.com/pub/adobe/Fonts/AFMs'. + + * TeX uses "TeX font metrics" (`.tfm') files. When you say `\font = + FONT' in your TeX document, TeX reads a file named `FONT.tfm'. + (Well, except for the `texfonts.map' feature; *note Fontmap: + (kpathsea)Fontmap.). TeX can then calculate the space occupied by + characters from the font when typesetting. In addition, the DVI + drivers you use to print or view the DVI file produced by TeX may + need to look at the TFM file. + + TFM files are binary (and hence are typically much smaller than AFM + files). You can use the `tftopl' program (*note tftopl invocation: + (web2c)tftopl invocation.) that comes with TeX to transform a TFM + file into a human-readable "property list" (`.pl') file. You can + also edit a PL file and transform it back to a TeX-readable TFM + with the companion program `pltotf' (*note pltotf invocation: + (web2c)pltotf invocation.). Editing metrics by hand is not + something you're likely to want to do often, but the capability is + there. + + * ATM and other typesetting systems use "printer font metric" + (`.pfm') files. These are binary files. They are irrelevant in the + TeX world, and not freely available, so we will not discuss them + further. + + + The Afm2tfm program distributed with Dvips converts an AFM file to a +TFM file and performs other useful transformations as well. *Note +Invoking afm2tfm::. + + +File: dvips.info, Node: Glyph files, Next: Virtual fonts, Prev: Metric files, Up: Font concepts + +6.1.2 Glyph files +----------------- + +Although a metric file (see the previous section) contains information +about the spatial and other properties of the character at position 75, +say, it contains nothing about what the character at position 75 +actually looks like. The glyphs--the actual shapes of the letterforms +in a font--are defined by other files, which we call glyph files. TeX +itself only reads the TFM file for a font; it does not need to know +character shapes. + + A "glyph file" is a file that defines the shapes of the characters +in a font. The shapes can be defined either by outlines or by bitmaps. + + PostScript fonts are defined as "outline fonts": Each character in +the font is defined by giving the mathematical curves (lines, arcs, and +splines) that define its contours. Different sizes of a character are +generated by linearly scaling a single shape. For example, a 10-point +`A' is simply half the size of a 20-point `A'. Nowadays, outline fonts +usually also contain "hints"--additional information to improve the +appearance of the font at small sizes or low resolutions. + + Although various kinds of PostScript outline fonts exist, by far the +most common, and the only one we will consider, is called "Type 1". +The glyph files for Postscript Type 1 fonts typically have names ending +in `.pfa' ("printer font ASCII") or `.pfb' ("printer font binary"). + + In contrast, glyph files for Computer Modern and the other standard +TeX fonts are "bitmap fonts", generated from Metafont (`.mf') +descriptions. The Metafont program distributed with TeX generates +bitmaps from these descriptions. + + The glyph files for TeX bitmap fonts are usually stored in "packed +font" (PK) files. The names of these files end in `.NNNpk', where NNN +is the resolution of the font in dots per inch. For example, +`cmr10.600pk' contains the bitmaps for the `cmr10' font at a resolution +of 600dpi. (On DOS filesystems, it's more likely `dpi600\cmr10.pk'.) + + Metafont actually outputs "generic font" (GF) files, e.g., +`cmr10.600gf', but the GF files are usually converted immediately to PK +format (using the `gftopk' utility that comes with TeX) since PK files +are smaller and contain the same information. (The GF format is a +historical artifact.) + + +File: dvips.info, Node: Virtual fonts, Next: Encodings, Prev: Glyph files, Up: Font concepts + +6.1.3 Virtual fonts +------------------- + +A "virtual font" is constructed by extracting characters from one or +more existing fonts and rearranging them, or synthesizing new characters +in various ways. The explanation in this manual is intended to suffice +for understanding enough about virtual fonts to use them with Dvips. It +isn't a reference manual on virtual fonts. For more information: The +primary document on virtual fonts is Donald E. Knuth, `TUGboat' 11(1), +Apr. 1990, pp. 13-23, "Virtual Fonts: More Fun for Grand Wizards" +(`CTAN:/info/virtual-fonts.knuth'; for CTAN info, *note unixtex.ftp: +(kpathsea)unixtex.ftp.). (Don't be intimidated by the subtitle.) + + A virtual font (`.vf') file specifies, for each character in the +virtual font, a recipe for typesetting that character. A VF file, like +a TFM file, is in a compressed binary format. The `vftovp' and +`vptovf' programs convert a VF file to a human-readable VPL (virtual +property list) format and back again. *Note vftovp invocation: +(web2c)vftovp invocation, and *note vptovf invocation: (web2c)vptovf +invocation. + + In the case of a PostScript font F being used in a straightforward +way, the recipe says: character I in the VF font is character J in font +F. The font F is called a "base font". For example, the VF file could +remap the characters of the PostScript font to the positions where TeX +expects to find them. *Note Encodings::. + + Since TeX reads only TFM files, not VF's, each VF must have a +corresponding TFM for use with TeX. This corresponding TFM is created +when you run `vptovf'. + + You can "expand" virtual fonts into their base fonts with DVIcopy +(*note dvicopy invocation: (web2c)dvicopy invocation.). This is useful +if you are using a DVI translator that doesn't understand vf's itself. + + +File: dvips.info, Node: Encodings, Next: PostScript typesetting, Prev: Virtual fonts, Up: Font concepts + +6.1.4 Encodings +--------------- + +Every font, whatever its type, has an "encoding", that specifies the +correspondence between "logical" characters and character codes. For +example, the ASCII encoding specifies that the character numbered 65 +(decimal) is an uppercase `A'. The encoding does not specify what the +character at that position looks like; there are lots of ways to draw an +`A', and a glyph file (*note Glyph files::) tells how. Nor does it +specify how much space that character occupies; that information is in a +metric file (*note Metric files::). + + TeX implicitly assumes a particular encoding for the fonts you use +with it. For example, the plain TeX macro `\'', which typesets an +acute accent over the following letter, assumes the acute accent is at +position 19 (decimal). This happens to be true of standard TeX fonts +such as Computer Modern, as you might expect, but it is not true of +normal PostScript fonts. + + It's possible but painful to change all the macros that assume +particular character positions. A better solution is to create a new +font with the information for the acute accent at position 19, where +TeX expects it to be. *Note Making a font available::. + + PostScript represents encodings as a sequence of 256 character names +called an "encoding vector". An "encoding file" (`.enc') gives such a +vector, together with ligature and kerning information (with which we +are not concerned at the moment). These encoding files are used by the +Afm2tfm program. Encoding files are also downloaded to the PostScript +interpreter in your printer if you use one of them in place of the +default encoding vector for a particular PostScript font. + + Examples of encodings: the `dvips.enc' encoding file that comes with +the Fontname distribution (`http://tug.org/fontname') is a good (but +not perfect) approximation to the TeX encoding for TeX's Computer +Modern text fonts. This is the encoding of the fonts that originated +with Dvips, such as `ptmr.tfm'. The distribution includes many other +encoding files; for example, `8r.enc', which is the base font for the +current PostScript font distribution, and three corresponding to the +TeX mathematics fonts: `texmext.enc' for math extensions, +`texmital.enc' for math italics, and `texmsym.enc' for math symbols. + + +File: dvips.info, Node: PostScript typesetting, Prev: Encodings, Up: Font concepts + +6.1.5 How PostScript typesets a character +----------------------------------------- + +The output of Dvips is a program in the PostScript language that +instructs your (presumably PostScript-capable) printer how to typeset +your document by transforming it into toner on paper. Your printer, in +turn, contains a PostScript interpreter that carries out the +instructions in this typesetting program. + + The program must include the definition of any PostScript fonts that +you use in your document. Fonts built into your printer (probably the +standard 35: `Times-Roman', `ZapfDingbats', ...) are defined within the +interpreter itself. Other fonts must be downloaded as pfa or pfb files +(*note Glyph files::) from your host (the computer on which you're +running Dvips). + + You may be wondering exactly how a PostScript interpreter figures out +what character to typeset, with this mass of metrics, glyphs, encodings, +and other information. (If you're not wondering, skip this section ...) + + The basic PostScript operator for imaging characters is `show'. +Suppose you've asked TeX to typeset an `S'. This will eventually wind +up in the Dvips output as the equivalent of this PostScript operation: + + (S) show + +Here is how PostScript typesets the `S': + + 1. PostScript interpreters use ASCII; therefore `S' is represented as + the integer 83. (Any of the 256 possible characters representable + in a standard 8-bit byte can be typeset.) + + 2. A PostScript "dictionary" is a mapping of names to arbitrary + values. A font, to the interpreter, is a dictionary which + contains entries for certain names. (If these entries are + missing, the interpreter refuses to do anything with that font.) + + PostScript has a notion of "the current font"--whatever font is + currently being typeset in. + + 3. One of the mandatory entries in a font dictionary is `Encoding', + which defines the encoding vector (*note Encodings::) for that + font. This vector of 256 names maps each possible input character + to a name. + + 4. The interpreter retrieves the entry at position 83 of the encoding + vector. This value is a PostScript name: `/S'. + + 5. For Type 1 fonts (we're not going to discuss anything else), the + interpreter now looks up `/S' as a key in a dictionary named + `CharStrings', another mandatory entry in a font dictionary. + + 6. The value of `S' in `CharStrings' is the equivalent of a series of + standard PostScript commands like `curveto', `lineto', `fill', and + so on. These commands are executed to draw the character. There + can also be "hint information" that helps adapt the character to + low-resolution rasters. (*Note Glyph files::.) The commands are + actually represented in a more compact way than standard + PostScript source; see the Type 1 book for details. + + + This method for typesetting characters is used in both Level 1 and +Level 2 PostScript. See the PostScript reference manuals for more +information. + + +File: dvips.info, Node: Making a font available, Next: Invoking afm2tfm, Prev: Font concepts, Up: PostScript fonts + +6.2 Making a PostScript font available +====================================== + +To make a PostScript font available in a TeX document, you need to +install the font on your system and then define it within the document. +Once you have installed the font, of course, it is available for any +document thereafter and you don't need to reinstall it. You must have +an AFM file for any font you install. Unless the font is built into your +printer, you must also have a PFA or PFB file. + + In the following examples, we use the font `Times-Roman' to +illustrate the process. But you should use the prebuilt fonts for Times +and the other standard fonts, rather than rebuilding them. The prebuilt +fonts are made using a more complicated process than that described +here, to make them work as well as possible with TeX. So following the +steps in this manual will not generate files identical to the +distributed ones. *Note PostScript font installation::, for pointers to +the prebuilt fonts. + + Installation of a PostScript font proceeds in three steps. *Note +Font concepts::, for descriptions of the various files involved. + + 1. Run `afm2tfm' to create a TFM file for the original font, and the + VPL form of the virtual font: + afm2tfm Times-Roman -v ptmr rptmr + + 2. Run `vptovf' to generate a VF and TFM file for the virtual font + from the VPL file: + vptovf ptmr.vpl ptmr.vf ptmr.tfm + + 3. Insert an entry for the font in `psfonts.map' (*note + psfonts.map::): + rptmr Times-Roman <ptmr8a.pfa + + 4. Install the files in the standard locations, as in: + cp ptmr.vf FONTDIR/vf/... + cp *ptmr.tfm FONTDIR/tfm/... + cp ptmr.afm FONTDIR/afm/... + cp ptmr.pf? FONTDIR/type1/... + + The simplest invocation of Afm2tfm to make virtual fonts goes +something like this: + + afm2tfm Times-Roman -v ptmr rptmr + +This reads the file `Times-Roman.afm', and produces two files as +output, namely the virtual property list'file `ptmr.vpl', and the "raw" +font metric file `rptmr.tfm'. To use the font in TeX, you first run + + vptovf ptmr.vpl ptmr.vf ptmr.tfm + +You should then install the virtual font file `ptmr.vf' where Dvips +will see it and install `ptmr.tfm' and `rptmr.tfm' where TeX and Dvips +will see them. + + Using these raw fonts is not recommended; there are no raw fonts in +the prebuilt PostScript fonts distributed along with Dvips. But +nevertheless, that's how Afm2tfm presently operates, so that's what we +document here. The `r' prefix convention is likewise historical +accident. + + You can also make more complex virtual fonts by editing `ptmr.vpl' +before running `vptovf'; such editing might add the uppercase Greek +characters in the standard TeX positions, for instance. (This has +already been done for the prebuilt fonts.) + + Once the files have been installed, you're all set. You can now do +things like this in TeX: + \font\myfont = ptmr at 12pt + \myfont Hello, I am being typeset in 12-point Times-Roman. + + Thus, we have two fonts, one actual (`rptmr', which is analogous to +the font in the printer) and one virtual (`ptmr', which has been +remapped to the standard TeX encoding (almost)), and has typesetting +know-how added. You could also say + + \font\raw = rptmr at 10pt + +and typeset directly with that, but then you would have no ligatures or +kerning, and you would have to use Adobe character positions for special +letters like the ligature `AE'. The virtual font `ptmr' not only has +ligatures and kerning, and most of the standard accent conventions of +TeX, it also has a few additional features not present in the Computer +Modern fonts. For example, it includes all the Adobe characters (such +as the Polish ogonek and the French guillemots). The only things you +lose from ordinary TeX text fonts are the dotless `j' (which can be +hacked into the VPL file with literal PostScript specials if you have +the patience) and uppercase Greek letters (which just don't exist +unless you buy them separately). *Note Reencoding with Afm2tfm::. + + As a final step you need to record information about both the virtual +font and the original font (if you ever might want to use it) in the +`psfonts.map' file (*note psfonts.map::). For our example, you'd +insert the following into `psfonts.map': + rptmr Times-Roman <ptmr8a.pfa + +Of course, `Times-Roman' is already built in to most every printer, so +there's no need to download any Type 1 file for it. But if you are +actually following these instructions for new fonts, most likely they +are not built in to the printer. + + These PostScript fonts can be scaled to any size. Go wild! Using +PostScript fonts, however, does use up a great deal of the printer's +memory and it does take time. You may find downloading bitmap fonts +(possibly compressed, with the `Z' option) to be faster than using the +built-in PostScript fonts. + + +File: dvips.info, Node: Invoking afm2tfm, Next: psfonts.map, Prev: Making a font available, Up: PostScript fonts + +6.3 Invoking Afm2tfm +==================== + +The Afm2tfm program converts an AFM file for a PostScript font to a TFM +file and a VPL file for a corresponding virtual font (or, in its +simplest form, to a TFM file for the PostScript font itself). The +results of the conversion are affected by the command-line options and +especially by the reencodings you can specify with those options. You +can also obtain special effects such as an oblique font. + + An alternative to Afm2tfm for creating virtual fonts is Alan +Jeffrey's `fontinst' program, available from +`CTAN:fonts/utilities/fontinst' (for CTAN info, *note unixtex.ftp: +(kpathsea)unixtex.ftp.). + +* Menu: + +* Changing font encodings:: Reencoding with -t, -p, -T. +* Special font effects:: Oblique fonts, small caps, and such. +* Afm2tfm options:: afm2tfm command-line options. + + +File: dvips.info, Node: Changing font encodings, Next: Special font effects, Up: Invoking afm2tfm + +6.3.1 Changing font encodings +----------------------------- + +Afm2tfm allows you to specify a different encoding for a PostScript font +(for a general introduction to encodings, *note Encodings::). The `-t' +option changes the TeX encoding, `-p' changes the PostScript encoding, +and `-T' changes both simultaneously, as detailed in the sections below. + +* Menu: + +* Changing TeX encodings:: Where TeX finds a character. +* Changing PostScript encodings:: Where PostScript finds a character. +* Changing both encodings:: One and the same, simultaneously. +* Reencoding with Afm2tfm:: Problems with the default encoding. +* Encoding file format:: Syntax of an encoding file. + + +File: dvips.info, Node: Changing TeX encodings, Next: Changing PostScript encodings, Up: Changing font encodings + +6.3.1.1 `-t': Changing TeX encodings +.................................... + +To build a virtual font with Afm2tfm, you specify the `-v' or `-V' +option. You can then specify an encoding for that virtual font with `-t +TEX-ENC'. (`-t' is ignored if neither `-v' nor `-V' is present.) Any +ligature and kerning information you specify in TEX-ENC will be used in +the VPL, in addition to the ligature and kerning information from the +AFM file. + + If the AFM file has no entry for a character specified in TEX-ENC, +that character will be omitted from the output VPL. + + The `-t' option is likely to be needed when you have a PostScript +font corresponding to a TeX font other than a normal text font such as +Computer Modern. For instance, if you have a PostScript font that +contains math symbols, you'd probably want to use the encoding in the +`texmsym.enc' file supplied with Dvips. (For a start; to actually get +usable math fonts, you have to define much more than just an encoding.) + + +File: dvips.info, Node: Changing PostScript encodings, Next: Changing both encodings, Prev: Changing TeX encodings, Up: Changing font encodings + +6.3.1.2 `-p': Changing PostScript encodings +........................................... + +By default, Afm2tfm uses the encoding it finds in the AFM file. You can +specify a different PostScript encoding with `-p PS-ENC'. This makes +the raw TFM file (the one output by Afm2tfm) have the encoding +specified in the encoding file PS-ENC. Any ligature or kern +information specified in PS-ENC is ignored by Afm2tfm, since ligkern +info is always omitted from the raw TFM. + + If you use this option, you must also arrange to download PS-ENC as +part of any document that uses this font. You do this by adding a line +like the following one to `psfonts.map' (*note psfonts.map::): + zpopr Optima "MyEncoding ReEncodeFont" <myenc.enc + + Using `-p' is the only way to access characters in a PostScript font +that are neither encoded in the AFM file nor constructed from other +characters. For instance, Adobe's `Times-Roman' font contains the +extra characters `trademark' and `registered' (among others); these can +only be accessed through such a PostScript reencoding. + + The `8r' base encoding used for the current PostScript font +distribution does do this reencoding, for precisely this reason. + + +File: dvips.info, Node: Changing both encodings, Next: Reencoding with Afm2tfm, Prev: Changing PostScript encodings, Up: Changing font encodings + +6.3.1.3 `-T': Changing both TeX and PostScript encodings +........................................................ + +The option `-T ENC-FILE' is equivalent to `-p ENC-FILE -t ENC-FILE'. +If you make regular use of a private non-standard reencoding `-T' is +usually a better idea than the individual options, to avoid unexpected +inconsistencies in mapping otherwise. An example of when you might use +this option is a dingbats font: when you have a TeX encoding that is +designed to be used with a particular PostScript font. + + +File: dvips.info, Node: Reencoding with Afm2tfm, Next: Encoding file format, Prev: Changing both encodings, Up: Changing font encodings + +6.3.1.4 Reencoding with Afm2tfm +............................... + +The Afm2tfm program creates the TFM and VF files for the virtual font +corresponding to a PostScript font by "reencoding" the PostScript font. +Afm2tfm generates these files from two encodings: one for TeX and one +for PostScript. The TeX encoding is used to map character numbers to +character names while the PostScript encoding is used to map each +character name to a possibly different number. In combination, you can +get access to any character of a PostScript font at any position for +TeX typesetting. + + In the default case, when you specify none of the `-t', `-p', or +`-T' options, Afm2tfm uses a default TeX encoding (which mostly +corresponds to the Computer Modern text fonts) and the PostScript +encoding found in the AFM file being read. The reencoding is also +sometimes called a "remapping". + + For example, the default encodings reencode the acute accent in two +steps: first the default TeX encoding maps the number 19 to the +character name `acute'; then the default PostScript encoding, as found +in the AFM file for an ordinary PostScript font, maps the character +name `acute' to the number 194. (The PostScript encoding works in +reverse, by looking in the encoding vector for the name and then +yielding the corresponding number.) The combined mapping of 19 to 194 +shows up explicitly in the VF file and also implicitly in the fact that +the properties of PostScript character 194 appear in position 19 of the +TFM file for the virtual font. + + The default encoding of the distributed fonts (e.g., `ptmr.tfm') +mostly follows plain TeX conventions for accents. The exceptions: the +Hungarian umlaut (which is at position `0x7D' in `cmr10', but position +`0xCD' in `ptmr'); the dot accent (at positions `0x5F' and `0xC7', +respectively); and the Scandinavian A ring `\AA', whose definition +needs different tweaking. In order to use these accents with +PostScript fonts or in math mode when `\textfont0' is a PostScript +font, you will need to use the following definitions. These +definitions will not work with the Computer Modern fonts for the +relevant accents. They are already part of the distributed +`psfonts.sty' for use with LaTeX. + + \def\H#1{{\accent"CD #1}} + \def\.#1{{\accent"C7 #1}} + \def\dot{\mathaccent"70C7 } + \newdimen\aadimen + \def\AA{\leavevmode\setbox0\hbox{h}\aadimen\ht0 + \advance\aadimen-1ex\setbox0\hbox{A}\rlap{\raise.67\aadimen + \hbox to \wd0{\hss\char'27\hss}}A} + + As a kind of summary, here are the `CODINGSCHEME's that result from +the various possible choices for reencoding. + +default encoding + (CODINGSCHEME TeX text + AdobeStandardEncoding) + +`-p dc.enc' + (CODINGSCHEME TeX text + DCEncoding) + +`-t dc.enc' + (CODINGSCHEME DCEncoding + AdobeStandardEncoding) + +`-T dc.enc' + (CODINGSCHEME DCEncoding + DCEncoding) + + +The `CODINGSCHEME' line appears in the VPL file but is ignored by Dvips. + + +File: dvips.info, Node: Encoding file format, Prev: Reencoding with Afm2tfm, Up: Changing font encodings + +6.3.1.5 Encoding file format +............................ + +Afm2tfm's encoding files have the same format as an encoding vector in a +PostScript font. Here is a skeletal example: + + % Comments are ignored, unless the first word after the percent sign + % is `LIGKERN'; see below. + /MyEncoding [ % exactly 256 entries follow, each with a leading `/' + /Alpha /Beta /Gamma /Delta ... + /A /B ... /Z + ... /.notdef /xfooaccent /yfooaccent /zfooaccent + ] def + + These encoding files are downloaded as part of changing the encoding +at the PostScript level (see the previous section). + + Comments, which start with a percent sign and continue until the end +of the line, are ignored unless they start with `LIGKERN' (see below). + + The first non-comment word of the file must start with a forward +slash `/' (i.e., a PostScript literal name) and defines the name of the +encoding. The next word must be an left bracket `['. Following that +must be precisely 256 character names; use `/.notdef' for any that you +want to leave undefined. Then there must be a matching right bracket +`]'. A final `def' token is optional. All names are case-sensitive. + + Any ligature or kern information is given as a comment. If the first +word after the `%' is `LIGKERN', then the entire rest of the line is +parsed for ligature and kern information. This ligature and kern +information is given in groups of words: each group is terminated by a +space and a semicolon and (unless the semicolon is at the end of a +line) another space. + + In these `LIGKERN' statements, three types of information may be +specified. These three types are ligature pairs, kerns to ignore, and +the character value of this font's boundary character. + + Throughout a `LIGKERN' statement, the boundary character is +specified as `||'. To set the font's boundary character value for TeX: + + % LIGKERN || = 39 ; + + To indicate a kern to remove, give the names of the two characters +(without the leading slash) separated by `{}', as in `one {} one ;'. +This is intended to be reminiscent of the way you might use `{}' in a +TeX file to turn off ligatures or kerns at a particular location. +Either or both of the character names can be given as `*', which is a +wild card matching any character; thus, all kerns can be removed with +`* {} * ;'. + + To specify a ligature, specify the names of the pair of characters, +followed by the ligature operation (as in Metafont), followed by the +replacing character name. Either (but not both) of the first two +characters can be `||' to indicate a word boundary. + + The most common operation is `=:' meaning that both characters are +removed and replaced by the third character, but by adding the `|' +character on either side of the `=:', you can retain either or both of +the two leading characters. In addition, by suffixing the ligature +operation with one or two `>' signs, you can make the ligature scanning +operation skip that many resulting characters before proceeding. This +works just like in Metafont. For example, the `fi' ligature is +specified with `f i =: fi ;'. A more convoluted ligature is `one one +|=:|>> exclam ;' which separates a pair of adjacent `1''s with an +exclamation point, and then skips over two of the resulting characters +before continuing searching for ligatures and kerns. You cannot give +more >'s than |'s in an ligature operation, so there are a total of +eight possibilities: + + =: |=: |=:> =:| =:|> |=:| |=:|> |=:|>> + + The default set of ligatures and kerns built in to Afm2tfm is: + + % LIGKERN question quoteleft =: questiondown ; + % LIGKERN exclam quoteleft =: exclamdown ; + % LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ; + % LIGKERN quoteleft quoteleft =: quotedblleft ; + % LIGKERN quoteright quoteright =: quotedblright ; + % LIGKERN space {} * ; * {} space ; 0 {} * ; * {} 0 ; + % LIGKERN 1 {} * ; * {} 1 ; 2 {} * ; * {} 2 ; 3 {} * ; * {} 3 ; + % LIGKERN 4 {} * ; * {} 4 ; 5 {} * ; * {} 5 ; 6 {} * ; * {} 6 ; + % LIGKERN 7 {} * ; * {} 7 ; 8 {} * ; * {} 8 ; 9 {} * ; * {} 9 ; + + +File: dvips.info, Node: Special font effects, Next: Afm2tfm options, Prev: Changing font encodings, Up: Invoking afm2tfm + +6.3.2 Special font effects +-------------------------- + +Besides the reencodings described in the previous section, Afm2tfm can +do other manipulations. (Again, it's best to use the prebuilt fonts +rather than attempting to remake them.) + + `-s SLANT' makes an obliqued variant, as in: + + afm2tfm Times-Roman -s .167 -v ptmro rptmro + +This creates `ptmro.vpl' and `rptmro.tfm'. To use this font, put the +line + + rptmro Times-Roman ".167 SlantFont" + +into `psfonts.map'. Then `rptmro' (our name for the obliqued Times) +will act as if it were a resident font, although it is actually +constructed from Times-Roman via the PostScript routine `SlantFont' +(which will slant everything 1/6 to the right, in this case). + + Similarly, you can get an expanded font with + + afm2tfm Times-Roman -e 1.2 -v ptmrre rptmrre + +and by recording the pseudo-resident font + + rptmrre Times-Roman "1.2 ExtendFont" + +in `psfonts.map'. + + You can also create a small caps font with a command such as + + afm2tfm Times-Roman -V ptmrc rptmrc + +This will generate a set of pseudo-small caps mapped into the usual +lowercase positions and scaled down to 0.8 of the normal cap +dimensions. You can also specify the scaling as something other than +the default 0.8: + + afm2tfm Times-Roman -c 0.7 -V ptmrc rptmrc + + It is unfortunately not possible to increase the width of the small +caps independently of the rest of the font. If you want a really +professional looking set of small caps, you need to acquire a small caps +font. + + To change the `PaintType' in a font from filled (0) to outlined (2), +you can add `"/PaintType 2 store"' to `psfonts.map', as in the +following: + + rphvrl Helvetica "/PaintType 2 store" + + Afm2tfm writes to standard output the line you need to add to +`psfonts.map' to use that font, assuming the font is resident in the +printer; if the font is not resident, you must add the `<FILENAME' +command to download the font. Each identical line only needs to be +specified once in the `psfonts.map' file, even though many different +fonts (small caps variants, or ones with different output encodings) +may be based on it. + + +File: dvips.info, Node: Afm2tfm options, Prev: Special font effects, Up: Invoking afm2tfm + +6.3.3 Afm2tfm options +--------------------- + +Synopsis: + afm2tfm [OPTION]... AFMFILE[.afm] [TFMFILE[.tfm]] + + Afm2tfm reads AFMFILE and writes a corresponding (but raw) TFM file. +If TFMFILE is not supplied, the base name of the AFM file is extended +with `.tfm' to get the output filename. + + The simplest example: + + afm2tfm Times-Roman rptmr + +The TFM file thus created is "raw" because it omits ligature and kern +information, and does no character remapping; it simply contains the +character information in the AFM file in TFM form, which is the form +that TeX understands. The characters have the same code in the TFM +file as in the AFM file. For text fonts, this means printable ASCII +characters will work ok, but little else, because standard PostScript +fonts have a different encoding scheme than the one that plain TeX +expects (*note Encodings::). Although both schemes agree for the +printable ASCII characters, other characters such as ligatures and +accents vary. Thus, in practice, it's almost always desirable to create +a virtual font as well with the `-v' or `-V' option. *Note Making a +font available::. + + The command line options to Afm2tfm: + +`-c RATIO' + See `-V'; overrides the default ratio of 0.8 for the scaling of + small caps. + +`-e RATIO' + Stretch characters horizontally by RATIO; if less than 1.0, you + get a condensed font. + +`-O' + Output all character codes in the `vpl' file as octal numbers, not + names; this is useful for symbol or other special-purpose fonts + where character names such as `A' have no meaning. + +`-p PS-ENC' + Use PS-ENC for the destination (PostScript) encoding of the font; + PS-ENC must be mentioned as a header file for the font in + `psfonts.map'. *Note Changing PostScript encodings::. + +`-s SLANT' + Slant characters to the right by SLANT. If SLANT is negative, the + letters slope to the left (or they might be upright if you start + with an italic font). + +`-t TEX-ENC' + Use TEX-ENC for the target (TeX) encoding of the font. Ligature + and kern information may also be specified in FILE. FILE is not + mentioned in `psfonts.map'. + +`-T PS-TEX-ENC' + Use PS-TEX-ENC for both the PostScript and target TeX encodings of + the font. Equivalent to `-p FILE -t FILE'. + +`-u' + Use only those characters specified in the TeX encoding, and no + others. By default, Afm2tfm tries to include all characters in the + input font, even those not present in the TeX encoding (it puts + them into otherwise-unused positions, arbitrarily). + +`-v VPL-FILE' + Output a VPL (virtual property list) file, as well as a TFM file. + +`-V VPL-FILE' + Same as `-v', but the virtual font generated is a pseudo small caps + font obtained by scaling uppercase letters by 0.8 to typeset + lowercase. This font handles accented letters and retains proper + kerning. + + +File: dvips.info, Node: psfonts.map, Prev: Invoking afm2tfm, Up: PostScript fonts + +6.4 `psfonts.map': PostScript font catalog +========================================== + +The `psfonts.map' file associates a PostScript font with related files +and constructs. Each line has the format: + + FILENAME POSTSCRIPT-NAME OPTIONS + + For example, the line + rpstrn StoneInformal <StoneInformal.pfb + causes Dvips to download `StoneInformal.pfb' (just as if it were a +header file, *note Header files::) if the DVI file (or a virtual font, +*note Virtual fonts::) references the TFM file `rpstrn'. The +PostScript `/FontName' of the font defined inside the `pfb' file should +be `StoneInformal'. + + You can generate transformed fonts with a line like this: + rpstrc StoneInformal <StoneInformal.pfb ".8 ExtendFont" + +*Note Special font effects::, for a complete list of font effects. + + You can change the encoding of the Type 1 font at the PostScript +level with a `ReEncodeFont' instruction, plus the name of the encoding +file. This allows you access to characters that may be present in the +Type 1 font file, but not encoded by default--most of the preaccented +characters, for example. An example: + pstrn8r StoneInformal "TeXBase1Encoding ReEncodeFont" <8r.enc <pstrn8a.pfb + + The `8r' encoding mentioned here has been designed to serve as a +base for all downloadable fonts; it allows access to all the characters +commonly present in a Type 1 font. For more details, see the `8r.enc' +source file that comes with (and is installed with) Dvips. + + You may notice that the same syntax is used for downloading encoding +vectors and Type 1 font files. To make your intentions clear, you can +also use `<[' to explicitly indicate you are downloading an encoding +vector, as in: + pstrn8r StoneInformal "TeXBase1Encoding ReEncodeFont" <[8r.enc <pstrn8a.pfb + + If the filename of your encoding vector does not end in `.enc', and +you are using partial font downloading, you must use the `<[' syntax, +or Dvips will not download the font properly. + + Similarly, the name of the Type 1 font file itself must have +extension `.pfa' or `.pfb' for partial downloading to work properly. + + When using PFB files, Dvips is smart enough to unpack the binary PFB +format into printable ASCII so there is no need to perform this +conversion yourself. In addition, Dvips scans the font to determine its +memory usage, just as it does for other header files (*note Header +files::). + + If the `j' config file or command-line option is enabled (as it is +by default), `StoneInformal.pfb' will be "partially downloaded"--only +those characters your document actually uses will be extracted and +downloaded, and the remainder discarded. *Note Option details::. + + Adobe Multiple Master fonts, such as Minion, cannot be partially +downloaded. To partially download in general, but avoid partial +downloading for individual fonts, use `<<' instead `<': + pmnr8r Minion <<Minion.pfb + + Here is a brief summary of how `psfonts.map' is read: + + 1. If a line is empty or begins with a space, percent, asterisk, + semicolon, or hash mark, it is ignored. + + 2. Otherwise, the line is separated into words, where words are + separated by spaces or tabs, except that if a word begins with a + double quote, it extends until the next double quote or the end of + the line. + + 3. If a word starts with `<<', it is taken as a font file to be + wholly downloaded. Use this to avoid partial downloading, as + described above. + + 4. If a word starts with `<[', it is taken as an encoding file to be + downloaded. Use this if the name of the encoding file does end in + `.enc', also as described above. + + 5. If a word starts with a `<' character, it is treated as a header + file that needs to be downloaded. If the name ends in `.pfa' or + `.pfb', it is taken as Type 1 font file that will be partially + downloaded if the `j' option is in effect. There can be more than + one such header for a given font. If a `<' is a word by itself, + the next word is taken as the name of the header file. + + 6. If a word starts with a `"' character, it is taken as PostScript + code used in generating that font, and is inserted into the output + verbatim at the appropriate point. (And the double quotes + beginning and ending the word are removed.) + + 7. Otherwise the word is a name. The first such name is the TFM file, + that either a DVI file or a virtual font file can refer to. If + there is a second name, it is used as the PostScript name and + should match what is defined in the downloaded file; if there is + only one name, it is used for both the TeX name and the PostScript + name. + + + +File: dvips.info, Node: Color, Next: Index, Prev: PostScript fonts, Up: Top + +7 Color +******* + +Dvips supports one-pass multi-color printing of TeX documents on any +color PostScript device. Initially added by Jim Hafner, IBM Research, +<hafner@almaden.ibm.com>, the color support has gone through many +changes by Tomas Rokicki. Besides the source code support itself, there +are additional TeX macro files: `colordvi.tex' and `blackdvi.tex', and +corresponding `.sty' versions for use with LaTeX. + + In this section we describe the use of color from the document +preparer's point of view and then add some instructions on installation +for the TeX administrator. + +* Menu: + +* Color macro files:: TeX macro definitions. +* User-definable colors:: Adding your own colors. +* Color subtleties:: Subtleties in using color. +* Ted Turner:: Printing in black/white after colorizing. +* Color device configuration:: Configuring Dvips for color devices. +* Color support details:: Color support details + + +File: dvips.info, Node: Color macro files, Next: User-definable colors, Up: Color + +7.1 Color macro files +===================== + +All the color macro commands are defined in `colordvi.tex' (or +`colordvi.sty'). To access these macros simply add to the top of your +plain TeX file the command: + \input colordvi + For (the obsolete) LaTeX 2.09, add the `colordvi' style option as in: + \documentstyle[12pt,colordvi]{article} + For LaTeX 2e, these examples are not applicable. Instead, please see +the documentation for the graphics package, available from +`CTAN:doc/latex/graphics/'. See also `CTAN:doc/epslatex.ps'. + + These macros provide two basic kinds of color macros: ones for local +color changes (a few words, a single symbol) and one for global color +changes (the whole document). All the color names use a mixed case +scheme to avoid conflicts with other macros. There are 68 predefined +colors, with names taken primarily from the Crayola crayon box of 64 +colors, and one pair of macros for the user to set his own color pattern +(*note User-definable colors::). You can browse the file +`colordvi.tex' for a list of the predefined colors. The comments in +this file also show a rough correspondence between the crayon names and +Pantones. + + A local color command has the form + + \COLORNAME{this is the color COLORNAME} + +where COLORNAME is the name of a predefined color, e.g., `Blue'. As +shown, these macros take one argument, the text to print in the +specified color. This can be used for nested color changes since it +restores the original color state when it completes. For example: + + This text is normal but here we are \Red{switching to red, + \Blue{nesting blue}, recovering the red} and back to original. + +The color nesting level has no hard limit, but it is not advisable to +nest too deeply lest you and the reader lose track of the color history. + + The global color command has the form + + \textCOLORNAME + +These macros take no arguments and changes the default color from that +point on to COLORNAME. This of course can be overridden globally by +another such command or locally by local color commands. For example, +expanding on the example above, we might have + + \textGreen + This text is green but here we are \Red{switching to red, + \Blue{nesting blue}, recovering the red} and back to + original green. + \textCyan + The text from here on will be cyan until + \Yellow{locally changed to yellow}. Now we are back to cyan. + + The color commands will even work in math mode and across math mode +boundaries. This means that if you have a color before going into math +mode, the mathematics will be set in that color as well. In alignment +environments like `\halign', `tabular' or `eqnarray', local color +commands cannot extend beyond the alignment characters. + + Because local color commands respect only some environment and +delimiter changes besides their own, care must be taken in setting +their scope. It is best not to have them stretch too far. + + At the present time there are no macros for color environments in +LaTeX which might have a larger range. This is primarily to keep the +TeX and LaTeX use compatible. + + +File: dvips.info, Node: User-definable colors, Next: Color subtleties, Prev: Color macro files, Up: Color + +7.2 User-definable colors +========================= + +There are two ways for the user to specify colors not already defined. +For local changes, there is the command `\Color' which takes two +arguments. The first argument is four numbers between zero and one and +specifies the intensity of cyan, magenta, yellow and black (CMYK) in +that order. The second argument is the text that should appear in the +given color. For example, suppose you want the words "this color is +pretty" to appear in a color which is 50% cyan, 85% magenta, 40% yellow +and 20% black. You would use the command + + \Color{.5 .85 .4 .2}{this color is pretty} + + For global color changes, there is a command `\textColor' which +takes one argument, the CMYK quadruple of relative color intensities. +For example, if you want the default color to be as above, then the +command + + \textColor{.5 .85 .4 .2} + The text from now on will be this pretty color + +will do the trick. + + Making a global color change in the midst of nested local colors is +highly discouraged. Consequently, Dvips will give you warning message +and do its best to recover by discarding the current color history. + + +File: dvips.info, Node: Color subtleties, Next: Ted Turner, Prev: User-definable colors, Up: Color + +7.3 Color subtleties +==================== + +Color macros are defined via `\special' keywords. As such, they are +put in the `.dvi' file only as explicit message strings to the driver. +The (unpleasant) result is that certain unprotected regions of the text +can have unwanted color side effects. For example, if a color region +is split by TeX across a page boundary, then the footers of the current +page (e.g., the page number) and the headers of the next page can +inherit that color. To avoid this effect globally, users should make +sure that these special regions of the text are defined with their own +local color commands. For example, to protect the header and footer in +plain TeX, use + + \headline{\Black{My Header}} + \footline{\Black{\hss\tenrm\folio\hss}} + + This warning also applies to figures and other insertions, so be +careful! + + Of course, in LaTeX, this is much more difficult to do because of the +complexity of the macros that control these regions. This is +unfortunate but inevitable, because TeX and LaTeX were not written with +color in mind. + + Even when writing your own macros, much care must be taken. The +macros that `colorize' a portion of the text work prefix the text work +by outputting one `\special' command to turn the color on before the +text, and outputting another `\special' command afterwards to restore +the original color. It is often useful to ensure that TeX is in +horizontal mode before the first special command is issued; this can be +done by prefixing the color command with `\leavevmode'. + + +File: dvips.info, Node: Ted Turner, Next: Color device configuration, Prev: Color subtleties, Up: Color + +7.4 Printing in black/white after colorizing +============================================ + +If you have a TeX or LaTeX document written with color macros and you +want to print it in black and white there are two options. On all +(good) PostScript devices, printing a color file will print in +corresponding gray levels. This is useful to get a rough idea of the +colors without using expensive color printing devices. The second +option is to replace the call to input `colordvi.tex' with +`blackdvi.tex' (and similarly for the `.sty' files). So in the above +example, replacing the word `colordvi' with `blackdvi' suffices. +`blackdvi.tex' defines the color macros as no-ops, and so will produce +normal black/white printing. By this simple mechanism, the user can +switch to all black/white printing without having to ferret out the +color commands. Also, some device drivers, particularly non-PostScript +ones like screen previewers, will simply ignore the color commands and +so print in black/white. Hopefully, in the future screen previewers +for color displays will be compatible with some form of color support. + + +File: dvips.info, Node: Color device configuration, Next: Color support details, Prev: Ted Turner, Up: Color + +7.5 Color device configuration +============================== + +To configure Dvips for a particular color device you need to fine tune +the color parameters to match your device's color rendition. To do +this, you will need a Pantone chart for your device. The header file +`color.lpro' shows a (rough) correspondence between the Crayola crayon +names and the Pantone numbers and also defines default CMYK values for +each of the colors. Note that these colors must be defined in CMYK +terms and not RGB, as Dvips outputs PostScript color commands in CMYK. +This header file also defines (if they are not known to the +interpreter) the PostScript commands `setcmykcolor' and +`currentcmykcolor' in terms of a RGB equivalent so if your device only +understands RGB, there should be no problem. + + The parameters set in this file were determined by comparing the +Pantone chart of a Tektronix Phaser printer with the actual Crayola +Crayons. Because these were defined for a particular device, the +actual color rendition on your device may be very different. There are +two ways to adjust this. One is to use the PAntone chart for your +device to rewrite `color.lpro' prior to compilation and installation. +A better alternative, which supports multiple devices, is to add a +header file option in the configuration file (*note Configuration file +commands::) for each device that defines, in `userdict', the color +parameters for those colors that need redefining. + + For example, if you need to change the parameters defining +`Goldenrod' (approximately Pantone 109 on the Phaser) for your device +`mycolordev', do the following. In the Pantone chart for your device, +find the CMYK values for Pantone 109. Let's say they are `{\ 0 0.10 +0.75 0.03 }'. Then create a header file named `mycolordev.pro' with the +commands + + userdict begin + /Goldenrod { 0 0.10 0.75 0.03 setcmykcolor} bind def + +Finally, in `config.mycolordev' add the line + + h mycolordev.pro + +This will then define `Goldenrod' in your device's CMYK values in +`userdict' which is checked before defining it in `TeXdict' by +`color.pro'. (On MS-DOS, you will have to call this file +`mycolordev.cfg'.) + + This mechanism, together with additions to `colordvi.tex' and +`blackdvi.tex' (and the `.sty' files), can also be used to predefine +other colors for your users. + + +File: dvips.info, Node: Color support details, Prev: Color device configuration, Up: Color + +7.6 Color support details +========================= + +To support color, Dvips recognizes a certain set of specials. These +specials start with the keyword `color' or the keyword `background', +followed by a color specification. + +* Menu: + +* Color specifications:: +* Color specials:: + + +File: dvips.info, Node: Color specifications, Next: Color specials, Up: Color support details + +7.6.1 Color specifications +-------------------------- + +What is a color specification? One of three things. First, it might be +a PostScript procedure as defined in a PostScript header file. The +`color.pro' file defines 64 of these, including `Maroon'. This +PostScript procedure must set the current color to be some value; in +this case, `Maroon' is defined as `0 0.87 0.68 0.32 setcmykcolor'. + + The second possibility is the name of a color model (initially, one +of `rgb', `hsb', `cmyk', or `gray') followed by the appropriate number +of parameters. When Dvips encounters such a macro, it sends out the +parameters first, followed by the string created by prefixing +`TeXcolor' to the color model. Thus, the color specification `rgb 0.3 +0.4 0.5' would generate the PostScript code `0.3 0.4 0.5 TeXrgbcolor'. +Note that the case of zero arguments is disallowed, as that is handled +by the single keyword case (`Maroon') above, where no changes to the +name are made before it is sent to the PostScript file. + + The third and final type of color specification is a double quote +followed by any sequence of PostScript. The double quote is stripped +from the output. For instance, the color specification `"AggiePattern +setpattern' will set the `color' to the Aggie logo pattern (assuming +such exists.) + + +File: dvips.info, Node: Color specials, Prev: Color specifications, Up: Color support details + +7.6.2 Color specials +-------------------- + +We will describe `background' first, since it is the simplest. The +`background' keyword must be followed by a color specification. That +color specification is used as a fill color for the background. The +last `background' special on a page is the one that gets issued, and it +gets issued at the very beginning of the page, before any text or +specials are sent. (This is possible because the prescan phase of +Dvips notices all of the color specials so that the appropriate +information can be written out during the second phase.) + + The `color' special itself has three forms. The first is just +`color' followed by a color specification. In this case, the current +global color is set to that color; the color stack must be empty when +such a command is executed. + + The second form is `color push' followed by a color specification. +This saves the current color on the color stack and sets the color to be +that given by the color specification. This is the most common way to +set a color. + + The final version of the `color' special is just `color pop', with +no color specification; this says to pop the color last pushed on the +color stack from the color stack and set the current color to be that +color. + + Dvips correctly handles these color specials across pages, even when +the pages are repeated or reversed. + + These color specials can be used for things such as patterns or +screens as well as simple colors. However, note that in the +PostScript, only one color specification can be active at a time. For +instance, at the beginning of a page, only the bottommost entry on the +color stack is sent; also, when a color is popped, all that is done is +that the color specification from the previous stack entry is sent. No +`gsave' or `grestore' is used. This means that you cannot easily mix +usage of the `color' specials for screens and colors, just one or the +other. This may be addressed in the future by adding support for +different categories of color-like state. + + +File: dvips.info, Node: Index, Prev: Color, Up: Top + +Index +***** + + +* Menu: + +* ! special (literal PS header): Literal headers. (line 6) +* ! starting output filename: Option details. (line 233) +* " special (literal PostScript): " special. (line 6) +* %%BoundingBox: Bounding box. (line 17) +* %%Page, and multi-page information: PostScript hooks. (line 37) +* %%Page, not generating: Option details. (line 198) +* %%Page, removing: Option details. (line 154) +* %%Page, required by Ghostview: Ghostscript installation. + (line 17) +* %%VMusage: Headers and memory usage. + (line 12) +* %*Font: Fonts in figures. (line 6) +* (atend), bounding box specification: Bounding box. (line 28) +* +PSMAPFILE: Configuration file commands. + (line 109) +* -: Option details. (line 11) +* - as output filename: Option details. (line 233) +* --help <1>: Option details. (line 15) +* --help: Option summary. (line 7) +* --version: Option details. (line 18) +* -A: Option details. (line 27) +* -a: Option details. (line 21) +* -B: Option details. (line 37) +* -b NUM: Option details. (line 31) +* -C NUM: Option details. (line 46) +* -c NUM: Option details. (line 41) +* -c RATIO: Afm2tfm options. (line 33) +* -D NUM: Option details. (line 58) +* -d NUM: Option details. (line 52) +* -E: Option details. (line 82) +* -e NUM: Option details. (line 71) +* -e RATIO: Afm2tfm options. (line 37) +* -F: Option details. (line 110) +* -f: Option details. (line 98) +* -G: Option details. (line 117) +* -h NAME: Option details. (line 122) +* -i: Option details. (line 127) +* -j for partial font downloading: Option details. (line 140) +* -K: Option details. (line 154) +* -k for cropmarks: Option details. (line 146) +* -l [=]NUM: Option details. (line 163) +* -M: Option details. (line 184) +* -m: Option details. (line 172) +* -mode: Option details. (line 175) +* -mode MODE: Option details. (line 175) +* -N: Option details. (line 198) +* -n NUM: Option details. (line 195) +* -noomega: Option details. (line 206) +* -noptex: Option details. (line 212) +* -O: Afm2tfm options. (line 41) +* -o NAME: Option details. (line 228) +* -O X-OFFSET,Y-OFFSET: Option details. (line 245) +* -p [=]NUM: Option details. (line 263) +* -P PRINTER: Option details. (line 277) +* -p PS-ENC <1>: Afm2tfm options. (line 46) +* -p PS-ENC: Changing PostScript encodings. + (line 6) +* -pp FIRST-LAST: Option details. (line 272) +* -pp RANGE: Option details. (line 272) +* -PPRINTER, and config file searching: Configuration file searching. + (line 27) +* -q: Option details. (line 296) +* -R: Option details. (line 303) +* -r: Option details. (line 300) +* -s: Option details. (line 311) +* -S NUM: Option details. (line 318) +* -s SLANT: Afm2tfm options. (line 51) +* -T ENC-FILE: Changing both encodings. + (line 6) +* -T HSIZE,VSIZE: Option details. (line 347) +* -t PAPERTYPE: Option details. (line 323) +* -T PS-TEX-ENC: Afm2tfm options. (line 61) +* -t TEX-ENC <1>: Afm2tfm options. (line 56) +* -t TEX-ENC: Changing TeX encodings. + (line 6) +* -u: Afm2tfm options. (line 65) +* -U: Option details. (line 362) +* -u PSMAPFILE: Option details. (line 354) +* -V: Option details. (line 373) +* -v: Option details. (line 370) +* -V VPL-FILE: Afm2tfm options. (line 74) +* -v VPL-FILE: Afm2tfm options. (line 71) +* -X NUM: Option details. (line 390) +* -x NUM: Option details. (line 382) +* -Y NUM: Option details. (line 397) +* -z: Hypertext. (line 6) +* -Z for compressing bitmap fonts: Option details. (line 406) +* -z for recognizing hyperdvi: Option details. (line 400) +* ..-relative filenames: Option details. (line 303) +* .afm Adobe metric files: Metric files. (line 26) +* .dvipsrc, searched for: Configuration file searching. + (line 14) +* .enc extension for encoding vectors: psfonts.map. (line 42) +* .lpro long prologue files: Header files. (line 12) +* .mf Metafont source files: Glyph files. (line 30) +* .NNNpk packed font bitmaps: Glyph files. (line 35) +* .pfa extension required for partial downloading: psfonts.map. + (line 46) +* .pfa printer font ascii files: Glyph files. (line 25) +* .pfb extension required for partial downloading: psfonts.map. + (line 46) +* .pfb printer font binary files: Glyph files. (line 25) +* .pfm printer font metric files: Metric files. (line 49) +* .pl property list files: Metric files. (line 39) +* .pro prologue files: Header files. (line 12) +* .tfm TeX font metric files: Metric files. (line 31) +* /#copies: Option details. (line 31) +* /magscale: EPSF scaling. (line 67) +* 612 792 bounding box size: Bounding box. (line 43) +* 8r encoding, and extra characters: Changing PostScript encodings. + (line 24) +* 8r font encoding: psfonts.map. (line 31) +* 8r.enc: Encodings. (line 35) +* < font downloading: psfonts.map. (line 11) +* << whole font downloading: psfonts.map. (line 60) +* <[ encoding vector downloading: psfonts.map. (line 36) +* =: ligature operation: Encoding file format. + (line 59) +* @ paper size config command: Configuration file commands. + (line 18) +* \.: Reencoding with Afm2tfm. + (line 44) +* \AA: Reencoding with Afm2tfm. + (line 44) +* \COLORNAME: Color macro files. (line 31) +* \dot: Reencoding with Afm2tfm. + (line 44) +* \epsffile macro: EPSF macros. (line 38) +* \epsfsize: EPSF scaling. (line 29) +* \epsfverbosetrue: EPSF macros. (line 46) +* \epsfxsize: EPSF scaling. (line 14) +* \epsfysize: EPSF scaling. (line 20) +* \H: Reencoding with Afm2tfm. + (line 44) +* \includegraphics LaTeX macro: \includegraphics. (line 6) +* \leavevmode: EPSF macros. (line 26) +* \magnification: EPSF scaling. (line 63) +* \rotninety: Literal examples. (line 27) +* \textCOLORNAME: Color macro files. (line 46) +* a config command (memory conservation): Configuration file commands. + (line 21) +* A ring, Scandinavian letter: Reencoding with Afm2tfm. + (line 32) +* a3 papertype: Option details. (line 323) +* a4 paper size: Config file paper sizes. + (line 84) +* a4 papertype: Option details. (line 323) +* A4size paper size: Config file paper sizes. + (line 92) +* absolute filenames, disabling: Option details. (line 303) +* absolute page number, and -l: Option details. (line 163) +* absolute page number, and -p: Option details. (line 263) +* accents, in wrong position: Reencoding with Afm2tfm. + (line 32) +* accents, wrong: Afm2tfm options. (line 17) +* accuracy in positioning: Option details. (line 71) +* Adobe fonts: PostScript font installation. + (line 10) +* Adobe fonts, installing: PostScript font installation. + (line 19) +* afm files: Metric files. (line 26) +* afm2tfm <1>: Invoking afm2tfm. (line 6) +* afm2tfm: Making a font available. + (line 46) +* afm2tfm options: Afm2tfm options. (line 6) +* after header, inserting code: Including headers from TeX. + (line 28) +* Aladdin Ghostscript: Ghostscript installation. + (line 6) +* Anderson, Laurie: Hypertext specials. (line 42) +* angle (psfile special option): psfile special. (line 36) +* arcs: Glyph files. (line 17) +* ASCII character codes, used by PostScript: PostScript typesetting. + (line 31) +* atend, bounding box specification: Bounding box. (line 28) +* b config command (#copies): Configuration file commands. + (line 24) +* base: Hypertext specials. (line 57) +* base encoding, recommended: psfonts.map. (line 31) +* base fonts: Virtual fonts. (line 24) +* bbfig: Bounding box. (line 37) +* before header, inserting code: Including headers from TeX. + (line 28) +* Bhattacharya, Tanmoy: Hypertext. (line 21) +* big points: Bounding box. (line 11) +* Bigelow & Holmes fonts: PostScript font installation. + (line 10) +* binary files, not supported: Including graphics fails. + (line 23) +* bitmap fonts: Glyph files. (line 30) +* Bitstream fonts, installing: PostScript font installation. + (line 19) +* bop undefined error: Printer errors. (line 6) +* bop-hook <1>: PostScript hooks. (line 11) +* bop-hook <2>: EPSF scaling. (line 75) +* bop-hook: Paper trays. (line 6) +* bop-hook, and offset pages: Option details. (line 258) +* boundary character: Encoding file format. + (line 41) +* bounding box, comment for: Bounding box. (line 6) +* bounding box, defined: Bounding box. (line 11) +* bounding box, determining: Bounding box. (line 37) +* bounding box, finding tight: Option details. (line 82) +* bounding box, inaccurate: EPSF clipping. (line 6) +* bounding box, supplying to TeX <1>: EPSF macros. (line 26) +* bounding box, supplying to TeX: \includegraphics. (line 36) +* c include additional config file: Configuration file commands. + (line 27) +* changing PostScript encodings: Changing PostScript encodings. + (line 6) +* changing TeX encodings: Changing TeX encodings. + (line 6) +* character definitions in PostScript: PostScript typesetting. + (line 55) +* character lookup procedure in PostScript: PostScript typesetting. + (line 6) +* CharStrings Type 1 dictionary: PostScript typesetting. + (line 51) +* clip (psfile special option): psfile special. (line 39) +* clipping of EPSF: EPSF clipping. (line 6) +* CODINGSCHEME: Reencoding with Afm2tfm. + (line 52) +* collated copies: Option details. (line 46) +* color: Color. (line 6) +* color configuration: Color device configuration. + (line 6) +* color macros: Color macro files. (line 6) +* color names, mixed case: Color macro files. (line 16) +* color nesting level: Color macro files. (line 39) +* color separations: Option details. (line 31) +* color specifications: Color specifications. + (line 6) +* color subtleties: Color subtleties. (line 6) +* colors, user-definable: User-definable colors. + (line 6) +* command line, including headers from: Including headers from the command line. + (line 6) +* command-line options: Invoking Dvips. (line 6) +* comments, in configuration files: Configuration file commands. + (line 13) +* comments, in encoding files: Encoding file format. + (line 20) +* comments, removing included: Option details. (line 154) +* compilation: Installation. (line 6) +* compressed PostScript: Dynamic creation of graphics. + (line 6) +* compressing bitmap fonts: Option details. (line 406) +* Computer Modern in PostScript: Hypertext caveats. (line 6) +* Computer Modern, encoding of: Encodings. (line 15) +* condensed fonts: Afm2tfm options. (line 37) +* config.proto: config.ps installation. + (line 15) +* config.ps: Option details. (line 277) +* config.ps installation: config.ps installation. + (line 6) +* config.ps paper sizes: Config file paper sizes. + (line 84) +* config.ps, searched for: Configuration file searching. + (line 10) +* configuration file options: Configuration file commands. + (line 6) +* configuration file paper size command: Config file paper sizes. + (line 6) +* configuration file path: Environment variables. + (line 56) +* configuration file searching: Configuration file searching. + (line 6) +* configuration files: Config files. (line 6) +* configuration files, creating: config.ps installation. + (line 6) +* configuration files, prototype: config.ps installation. + (line 15) +* configuration, of color devices: Color device configuration. + (line 6) +* configuration, of Dvips: Installation. (line 6) +* continuation lines, not supported: Configuration file commands. + (line 13) +* control-D: Option details. (line 110) +* copies, collated: Option details. (line 46) +* copies, duplicated page bodies: Option details. (line 31) +* copies, uncollated: Option details. (line 41) +* Crayola crayon box: Color macro files. (line 16) +* crop.pro: Option details. (line 146) +* cropmarks: Option details. (line 146) +* current font, in PostScript: PostScript typesetting. + (line 35) +* D config command (dpi): Configuration file commands. + (line 31) +* dated output: PostScript hooks. (line 16) +* datestamp, in output: Configuration file commands. + (line 37) +* debugging <1>: Option details. (line 52) +* debugging: Diagnosing problems. (line 6) +* debugging options: Debug options. (line 6) +* default resolutions: Configuration file commands. + (line 131) +* default_texsizes Make variable: Configuration file commands. + (line 147) +* Deutsch, Peter: Ghostscript installation. + (line 6) +* device dependency, and virtual fonts: Configuration file commands. + (line 170) +* dictionary, CharStrings: PostScript typesetting. + (line 51) +* dictionary, PostScript language: PostScript typesetting. + (line 35) +* dictionary, SDict: Literal headers. (line 6) +* dictionary, userdict: Header files. (line 21) +* distillation, and -z: Option details. (line 400) +* distiller, for PDF files: Hypertext. (line 11) +* dot accent: Reencoding with Afm2tfm. + (line 32) +* double-sided printing: Option details. (line 37) +* downloading fonts partially: psfonts.map. (line 55) +* downloading PostScript fonts: psfonts.map. (line 6) +* Doyle, Mark: Hypertext. (line 21) +* draft copies: PostScript hooks. (line 16) +* dual paper trays: Paper trays. (line 6) +* duplex printers: Including headers from the command line. + (line 13) +* DVI magnification: EPSF scaling. (line 63) +* dvihps, hyperdvi to PostScript: Hypertext. (line 21) +* Dvips configuration file options: Configuration file commands. + (line 6) +* dvips.enc: Encodings. (line 35) +* DVIPSDEBUG: Environment variables. + (line 17) +* DVIPSFONTS: Environment variables. + (line 26) +* DVIPSHEADERS: Environment variables. + (line 31) +* DVIPSHEADERS, overrides H: Configuration file commands. + (line 55) +* DVIPSMAKEPK: Environment variables. + (line 35) +* DVIPSRC: Environment variables. + (line 41) +* DVIPSSIZES: Environment variables. + (line 46) +* DVIPSSIZES, overrides R: Configuration file commands. + (line 144) +* dynamic creation of graphics: Dynamic creation of graphics. + (line 6) +* e config command (maxdrift): Configuration file commands. + (line 34) +* E config command (shell escape): Configuration file commands. + (line 37) +* efficiency, and fonts: Making a font available. + (line 104) +* ehandler.ps: No output. (line 12) +* embedding Type 1 fonts: Hypertext caveats. (line 6) +* encoding changes: Changing font encodings. + (line 6) +* encoding file format: Encoding file format. + (line 6) +* encoding files: Encodings. (line 27) +* Encoding Type 1 dictionary: PostScript typesetting. + (line 43) +* encoding vectors, defined: Encodings. (line 27) +* encoding vectors, in Type 1 fonts: PostScript typesetting. + (line 43) +* encodings: Encodings. (line 6) +* end-hook: PostScript hooks. (line 11) +* environment variables: Environment variables. + (line 6) +* EOF: Option details. (line 110) +* eop-hook: PostScript hooks. (line 11) +* EPS, and Ghostview: Ghostscript installation. + (line 17) +* EPSF macros: EPSF macros. (line 6) +* EPSF, generating: Option details. (line 82) +* epsf.sty: EPSF macros. (line 15) +* epsf.tex: EPSF macros. (line 13) +* Epson printers: Ghostscript installation. + (line 6) +* error messages from printer: Printer errors. (line 6) +* even pages only: Option details. (line 37) +* examples of literal PostScript: Literal examples. (line 6) +* expanded fonts <1>: psfonts.map. (line 19) +* expanded fonts <2>: Afm2tfm options. (line 37) +* expanded fonts: Special font effects. + (line 24) +* expansion, of virtual fonts: Virtual fonts. (line 34) +* extended URL: Hypertext specials. (line 20) +* ExtendFont: Special font effects. + (line 28) +* extra characters, accessing: Changing PostScript encodings. + (line 18) +* F config command (filter): Configuration file commands. + (line 45) +* f config command (filter): Configuration file commands. + (line 45) +* failure, and printer errors: Printer errors. (line 6) +* failure, of long documents: Long documents fail. (line 6) +* failure, to include graphics: Including graphics fails. + (line 6) +* failure, to print at all: No output. (line 6) +* fallback resolutions: Configuration file commands. + (line 131) +* figures and fonts: Fonts in figures. (line 6) +* figures, natural size: EPSF macros. (line 38) +* figures, scaling: EPSF scaling. (line 6) +* filter, running as a: Option details. (line 98) +* first page printed: Option details. (line 263) +* font concepts: Font concepts. (line 6) +* font generation, avoiding: Option details. (line 184) +* fontinst: Invoking afm2tfm. (line 13) +* fonts, as header files: Including headers from TeX. + (line 13) +* fonts, changing encoding of: Changing font encodings. + (line 6) +* fonts, downloading: psfonts.map. (line 6) +* fonts, expanded: Special font effects. + (line 24) +* fonts, in PostScript figures: Fonts in figures. (line 6) +* fonts, installation of PostScript: PostScript font installation. + (line 6) +* fonts, installing: Making a font available. + (line 6) +* fonts, outlined: Special font effects. + (line 50) +* fonts, slanted: Special font effects. + (line 6) +* fonts, small caps: Special font effects. + (line 34) +* fonts, system PostScript: PostScript font installation. + (line 24) +* G character shifting config command: Configuration file commands. + (line 48) +* gf files: Glyph files. (line 41) +* gftopk: Glyph files. (line 41) +* Ghostscript installation: Ghostscript installation. + (line 6) +* ghostview: Ghostscript installation. + (line 17) +* Ghostview, and no N: Ghostscript installation. + (line 17) +* glyph files: Glyph files. (line 6) +* GLYPHFONTS, overrides P: Configuration file commands. + (line 118) +* GNU Ghostscript: Ghostscript installation. + (line 13) +* gnuplot: Dynamic creation of graphics. + (line 25) +* graphics inclusion fails: Including graphics fails. + (line 6) +* gs installation: Ghostscript installation. + (line 6) +* gsave/grestore, and literal PS: Literal examples. (line 27) +* gsftopk: Option details. (line 374) +* h header downloading config command: Configuration file commands. + (line 52) +* H header path config command: Configuration file commands. + (line 55) +* Hafner, Jim: Color. (line 6) +* header file, downloading: Option details. (line 122) +* header files, defined: Header files. (line 6) +* header path, defining: Configuration file commands. + (line 55) +* header=FILE \special: Including headers from TeX. + (line 6) +* headers and memory usage: Headers and memory usage. + (line 6) +* headers, including from the command line: Including headers from the command line. + (line 6) +* headers, including in TeX: Including headers from TeX. + (line 6) +* hints: PostScript typesetting. + (line 55) +* hoffset (psfile special option): psfile special. (line 18) +* HP printers and Type 1 fonts: PostScript font installation. + (line 69) +* HP4Si printer and paper trays: Paper trays. (line 6) +* href: Hypertext specials. (line 32) +* hscale (psfile special option): psfile special. (line 30) +* hsize (psfile special option): psfile special. (line 24) +* html specials: Hypertext. (line 6) +* html specials, and -z: Option details. (line 400) +* http://www.win.tue.nl/~dickie/idvi: Hypertext. (line 21) +* http://xxx.lanl.gov/hypertex: Hypertext. (line 21) +* Hungarian umlaut: Reencoding with Afm2tfm. + (line 32) +* hyperdvi extensions, enabling: Option details. (line 400) +* hypertext and bitmap fonts: Hypertext caveats. (line 6) +* hypertext caveats: Hypertext caveats. (line 6) +* hypertext specials: Hypertext specials. (line 6) +* hypertext support: Hypertext. (line 6) +* i config command (pages/section): Configuration file commands. + (line 59) +* idvi Java DVI reader: Hypertext. (line 21) +* Illustrator, workaround for: Including graphics fails. + (line 10) +* img: Hypertext specials. (line 52) +* including graphics fails: Including graphics fails. + (line 6) +* including headers from the command line: Including headers from the command line. + (line 6) +* including headers in TeX: Including headers from TeX. + (line 6) +* installation of config.ps: config.ps installation. + (line 6) +* installation of PostScript fonts: PostScript font installation. + (line 6) +* installation, of Dvips: Installation. (line 6) +* installing fonts: Making a font available. + (line 6) +* interaction with PostScript: Interaction with PostScript. + (line 6) +* inverted output: Small or inverted. (line 6) +* invoking Dvips: Invoking Dvips. (line 6) +* j config command (partial font downloading): Configuration file commands. + (line 63) +* Java DVI reader: Hypertext. (line 21) +* Jeffrey, Alan: Invoking afm2tfm. (line 13) +* K config command (comment-removal): Configuration file commands. + (line 67) +* kerning, defined: Metric files. (line 15) +* KPATHSEA_DEBUG: Environment variables. + (line 18) +* landscape orientation, defined: Paper size and landscape. + (line 11) +* landscape papertype: Option details. (line 323) +* landscape, as \special: papersize special. (line 16) +* last page printed: Option details. (line 163) +* last-resort font scaling, with DVIPSSIZES: Environment variables. + (line 47) +* last-resort scaling, with R: Configuration file commands. + (line 131) +* ledger papertype: Option details. (line 323) +* legal papertype: Option details. (line 323) +* letter paper size: Config file paper sizes. + (line 84) +* letter papertype: Option details. (line 323) +* letterhead tray: Paper trays. (line 10) +* letterSize paper size: Config file paper sizes. + (line 92) +* ligature operations: Encoding file format. + (line 54) +* ligature, defined: Metric files. (line 15) +* LIGKERN encoding file command: Encoding file format. + (line 37) +* lines in figures, wrong width: EPSF clipping. (line 6) +* links, hypertext: Hypertext specials. (line 33) +* literal headers: Literal headers. (line 6) +* literal PostScript, examples: Literal examples. (line 6) +* literal PostScript, using: Literal PS. (line 6) +* llx (psfile special option): psfile special. (line 42) +* lly (psfile special option): psfile special. (line 42) +* long documents not printing: Long documents fail. (line 6) +* low characters, shifting: Option details. (line 117) +* lpr spooler, MS-DOS emulation: Option details. (line 233) +* Lucida, installing: PostScript font installation. + (line 10) +* m config command (available memory): Configuration file commands. + (line 71) +* M config command (mf mode): Configuration file commands. + (line 90) +* macros for color: Color macro files. (line 6) +* macros for epsf inclusion <1>: EPSF macros. (line 6) +* macros for epsf inclusion: \includegraphics. (line 6) +* magnification, DVI: EPSF scaling. (line 63) +* magnification, overriding DVI: Option details. (line 382) +* magnification, vertical: Option details. (line 393) +* mailcap and hypertext: Hypertext specials. (line 53) +* manual feed: Option details. (line 172) +* maxdrift: Option details. (line 71) +* maximum pages printed: Option details. (line 195) +* media: Option details. (line 323) +* memory available: Configuration file commands. + (line 71) +* memory of printer exhausted: Printer errors. (line 14) +* memory usage, and headers: Headers and memory usage. + (line 6) +* memory, conserving: Option details. (line 21) +* memory, used by PostScript fonts: Making a font available. + (line 104) +* Metafont ligature operations: Encoding file format. + (line 54) +* Metafont mode, specifying: Option details. (line 175) +* Metafont source files: Glyph files. (line 30) +* metric files: Metric files. (line 6) +* Minion typeface family: psfonts.map. (line 60) +* missfont.log: Option details. (line 184) +* MISSFONT_LOG: Option details. (line 187) +* Mitsubishi Shinko CHC-S446i printer: No output. (line 14) +* mkdvipspapers: Config file paper sizes. + (line 80) +* mktexpk, avoiding: Option details. (line 184) +* mktexpk, changing name: Environment variables. + (line 36) +* mode name, specifying: Option details. (line 175) +* Monotype fonts: PostScript font installation. + (line 10) +* Monotype fonts, installing: PostScript font installation. + (line 19) +* mtpk: Option details. (line 374) +* multiple master fonts: psfonts.map. (line 60) +* multiple output files: Option details. (line 127) +* multiple paper trays: Paper trays. (line 6) +* Murphy, Tim: Hypertext specials. (line 20) +* N EPS-disabling config command: Configuration file commands. + (line 93) +* name: Hypertext specials. (line 41) +* narrow fonts: psfonts.map. (line 19) +* no output at all: No output. (line 6) +* non-printing characters, shifting: Option details. (line 117) +* non-resident fonts: psfonts.map. (line 6) +* nopaper, paper format for -t: Config file paper sizes. + (line 75) +* O config command (offset): Configuration file commands. + (line 106) +* o config command (output file): Configuration file commands. + (line 98) +* oblique fonts: Special font effects. + (line 6) +* octal character codes: Afm2tfm options. (line 41) +* odd pages only: Option details. (line 27) +* offset pages: Option details. (line 245) +* Omega extensions: Option details. (line 206) +* option, details of: Option details. (line 6) +* options, debugging: Debug options. (line 6) +* options, Dvips: Invoking Dvips. (line 6) +* options, reading from standard input: Option details. (line 11) +* options, summary: Option summary. (line 6) +* options, to Afm2tfm: Afm2tfm options. (line 6) +* outline fonts <1>: Special font effects. + (line 50) +* outline fonts: Glyph files. (line 17) +* output file, sectioning of: Headers and memory usage. + (line 6) +* output file, setting: Configuration file commands. + (line 98) +* output files, multiple: Option details. (line 127) +* output, inverted: Small or inverted. (line 6) +* output, none: No output. (line 6) +* output, redirecting: Option details. (line 228) +* output, too small: Small or inverted. (line 6) +* p config command (font aliases): Configuration file commands. + (line 109) +* P config command (PK path): Configuration file commands. + (line 118) +* page range: Option details. (line 272) +* page, first printed: Option details. (line 263) +* page, last printed: Option details. (line 163) +* pages, maximum printed: Option details. (line 195) +* PaintType: Special font effects. + (line 50) +* Pantone colors: Color macro files. (line 16) +* paper size configuration file command: Config file paper sizes. + (line 6) +* paper size, default: config.ps installation. + (line 6) +* paper size, general: Paper size and landscape. + (line 6) +* paper trays: Paper trays. (line 6) +* paper type: Option details. (line 323) +* papersize special: papersize special. (line 6) +* papersize special, and no -t: Option details. (line 323) +* partial font downloading: psfonts.map. (line 55) +* PDF files, font quality: Hypertext caveats. (line 6) +* PDF files, making <1>: Hypertext. (line 11) +* PDF files, making: Ghostscript installation. + (line 6) +* PDF files, option for: Option details. (line 400) +* pdfmark: Hypertext. (line 6) +* pfa files: Glyph files. (line 25) +* pfb files: Glyph files. (line 25) +* pfb files, automatically unpacked: psfonts.map. (line 49) +* pfm files: Metric files. (line 49) +* Phaser printer, used for color calibration: Color device configuration. + (line 18) +* physical page number, and -l: Option details. (line 163) +* physical page number, and -p: Option details. (line 263) +* physical page number, and bop-hook: PostScript hooks. (line 26) +* pipes, not readable: Option details. (line 98) +* pk files: Glyph files. (line 35) +* PKFONTS, overrides P: Configuration file commands. + (line 118) +* plotfile, ps subspecial: ps special. (line 30) +* pltotf: Metric files. (line 39) +* popen for output: Option details. (line 233) +* portrait orientation, defined: Paper size and landscape. + (line 11) +* positioning accuracy: Option details. (line 71) +* post code after headers: Including headers from TeX. + (line 28) +* PostScript code, literal: Literal PS. (line 6) +* PostScript encoding: Encodings. (line 27) +* PostScript encoding, changing: Changing PostScript encodings. + (line 6) +* PostScript font alias file <1>: Configuration file commands. + (line 109) +* PostScript font alias file: Option details. (line 354) +* PostScript fonts: PostScript fonts. (line 6) +* PostScript fonts, installing: PostScript font installation. + (line 6) +* PostScript fonts, on your system: PostScript font installation. + (line 24) +* PostScript header files: Header files. (line 6) +* PostScript hooks: PostScript hooks. (line 6) +* PostScript interaction: Interaction with PostScript. + (line 6) +* PostScript previewers: Ghostscript installation. + (line 6) +* PostScript units: Bounding box. (line 11) +* PowerPage PostScript implementation: No output. (line 14) +* pre code before headers: Including headers from TeX. + (line 28) +* previewing Dvips output: Ghostscript installation. + (line 6) +* PRINTER: Environment variables. + (line 50) +* printer configuration: config.ps installation. + (line 6) +* printer configuration file, prototype: config.ps installation. + (line 15) +* printer errors: Printer errors. (line 6) +* printer memory: Configuration file commands. + (line 71) +* printer memory exhausted: Printer errors. (line 14) +* printer offset: Option details. (line 245) +* PRINTER, and config file searching: Configuration file searching. + (line 36) +* PRINTER, avoided with -f: Option details. (line 98) +* printer, driving directly: Option details. (line 110) +* problems: Diagnosing problems. (line 6) +* property list files: Metric files. (line 39) +* prototype printer configuration file: config.ps installation. + (line 15) +* ps special: ps special. (line 6) +* psfile special: psfile special. (line 6) +* psfonts.map <1>: psfonts.map. (line 6) +* psfonts.map <2>: Special font effects. + (line 19) +* psfonts.map: PostScript font installation. + (line 24) +* psheaderdir: Header files. (line 12) +* psi character missing: Hypertext caveats. (line 55) +* pstopk: Option details. (line 374) +* pTeX extensions: Option details. (line 206) +* Q config command (quiet): Configuration file commands. + (line 125) +* q config command (quiet): Configuration file commands. + (line 125) +* quiet operation: Option details. (line 296) +* r config command (page reversal): Configuration file commands. + (line 128) +* R fallback resolution config command: Configuration file commands. + (line 131) +* reencode/*.enc: Encodings. (line 35) +* reencoding: Reencoding with Afm2tfm. + (line 6) +* reencoding PostScript fonts: psfonts.map. (line 24) +* registered character, accessing: Changing PostScript encodings. + (line 18) +* remapping: Reencoding with Afm2tfm. + (line 6) +* resident fonts, different in different printers <1>: Configuration file commands. + (line 109) +* resident fonts, different in different printers: Option details. + (line 354) +* resolution: Option details. (line 390) +* resolution, setting: Option details. (line 58) +* reverse pagination: Option details. (line 300) +* rhi (psfile special option): psfile special. (line 46) +* Rokicki, Tomas: Why Dvips. (line 68) +* rotate.tex: ps special. (line 34) +* rwi (psfile special option): psfile special. (line 46) +* S config command (pict path): Configuration file commands. + (line 156) +* s config command (save/restore): Configuration file commands. + (line 153) +* save/restore, and inverted output: Small or inverted. (line 6) +* save/restore, and literal PS: Literal examples. (line 27) +* save/restore, and specials: ps special. (line 6) +* save/restore, generating global: Option details. (line 311) +* scaleunit: psfile special. (line 67) +* scaling of figures: EPSF scaling. (line 6) +* scaling small caps: Afm2tfm options. (line 33) +* Scandinavian A ring: Reencoding with Afm2tfm. + (line 32) +* screen frequencies, setting: Including headers from the command line. + (line 13) +* SDict: psfile special. (line 67) +* SDict dictionary: Literal headers. (line 6) +* searching config files, order of: Configuration file searching. + (line 6) +* sections of output file, and memory: Headers and memory usage. + (line 6) +* sections output, in separate files: Option details. (line 127) +* security: Option details. (line 303) +* shell command execution, disabling: Option details. (line 303) +* shell escape, in config file: Configuration file commands. + (line 37) +* Shinko CHC-S446i printer: No output. (line 14) +* show PostScript operator: PostScript typesetting. + (line 23) +* silent operation: Option details. (line 296) +* simplex mode on duplex printers: Including headers from the command line. + (line 13) +* slanted fonts: Special font effects. + (line 6) +* slanted fonts, making: Afm2tfm options. (line 51) +* SlantFont: Special font effects. + (line 17) +* small caps fonts: Special font effects. + (line 34) +* Smith, Arthur: Hypertext specials. (line 6) +* Softkey fonts: PostScript font installation. + (line 10) +* Softkey fonts, installing: PostScript font installation. + (line 19) +* spaces, dropped trailing: Hypertext caveats. (line 55) +* specials, hypertext: Hypertext specials. (line 6) +* splines: Glyph files. (line 17) +* spooler, lacking: Option details. (line 110) +* spooling to lpr on MS-DOS: Option details. (line 233) +* standard I/O: Option details. (line 98) +* standard input, reading options from: Option details. (line 11) +* standard output, output to: Option details. (line 228) +* standard PostScript, required by Ghostview: Ghostscript installation. + (line 17) +* start-hook: PostScript hooks. (line 11) +* structured comments: Option details. (line 198) +* system in config file: Configuration file commands. + (line 37) +* T config command (TFM path): Configuration file commands. + (line 161) +* Tektronix Phaser printer, used for color calibration: Color device configuration. + (line 18) +* testpage.tex: Option details. (line 252) +* TeX encoding, changing: Changing TeX encodings. + (line 6) +* TeX, including headers in: Including headers from TeX. + (line 6) +* TEXCONFIG: Environment variables. + (line 55) +* TEXFONTS, overrides P: Configuration file commands. + (line 118) +* TEXFONTS, overrides T: Configuration file commands. + (line 161) +* TEXINPUTS, overrides S: Configuration file commands. + (line 156) +* texmext.enc: Encodings. (line 35) +* TEXMFOUTPUT: Option details. (line 187) +* texmital.enc: Encodings. (line 35) +* texmsym.enc <1>: Changing TeX encodings. + (line 16) +* texmsym.enc: Encodings. (line 35) +* TEXPICTS: Environment variables. + (line 62) +* TEXPICTS, overrides S: Configuration file commands. + (line 156) +* TEXPKS, overrides P: Configuration file commands. + (line 118) +* TEXSIZES, overrides R: Configuration file commands. + (line 144) +* text in figures, chopped off: EPSF clipping. (line 6) +* tfm files: Metric files. (line 31) +* TFMFONTS, overrides T: Configuration file commands. + (line 161) +* tftopl: Metric files. (line 39) +* Theisen, Tim: Ghostscript installation. + (line 17) +* tight bounding box, finding: Option details. (line 82) +* too-small output: Small or inverted. (line 6) +* trademark character, accessing: Changing PostScript encodings. + (line 18) +* trailing spaces, dropped: Hypertext caveats. (line 55) +* TranScript: Option details. (line 198) +* transforming downloaded fonts: psfonts.map. (line 19) +* trouble: Diagnosing problems. (line 6) +* Type 1 fonts: Glyph files. (line 25) +* typesetting in PostScript: PostScript typesetting. + (line 6) +* U config command (Xerox 4045): Configuration file commands. + (line 166) +* uncollated copies: Option details. (line 41) +* uncompressing PostScript: Dynamic creation of graphics. + (line 6) +* uniform resource locator: Hypertext specials. (line 20) +* unknown, paper format for -t <1>: Config file paper sizes. + (line 69) +* unknown, paper format for -t: papersize special. (line 29) +* URL, definition: Hypertext specials. (line 27) +* URL, extended for TeX: Hypertext specials. (line 20) +* urx (psfile special option): psfile special. (line 42) +* ury (psfile special option): psfile special. (line 42) +* usage, basic: Basic usage. (line 6) +* user-definable colors: User-definable colors. + (line 6) +* userdict, and dictionary files: Header files. (line 21) +* userdict, used for header files: Option details. (line 122) +* V config command (vf path): Configuration file commands. + (line 170) +* verbose EPSF processing: EPSF macros. (line 46) +* vf files: Virtual fonts. (line 16) +* virtual font expansion: Virtual fonts. (line 34) +* virtual font path: Configuration file commands. + (line 170) +* virtual fonts: Virtual fonts. (line 6) +* virtual fonts, creating: Invoking afm2tfm. (line 13) +* VM exhausted: Printer errors. (line 14) +* VMusage: Headers and memory usage. + (line 12) +* voffset (psfile special option): psfile special. (line 21) +* vpl files: Virtual fonts. (line 16) +* vptovf: Making a font available. + (line 52) +* vscale (psfile special option): psfile special. (line 33) +* vsize (psfile special option): psfile special. (line 27) +* W config command (warning): Configuration file commands. + (line 175) +* warning messages, defining: Configuration file commands. + (line 175) +* warnings, suppressing: Option details. (line 296) +* whole font downloading: psfonts.map. (line 60) +* wide fonts: psfonts.map. (line 19) +* X config command (horizontal resolution): Configuration file commands. + (line 182) +* Xerox 4045: Option details. (line 362) +* Y config command (vertical resolution): Configuration file commands. + (line 185) +* Y&Y fonts, installing: PostScript font installation. + (line 19) +* Z config command (compression): Configuration file commands. + (line 188) +* z config command (secure mode): Configuration file commands. + (line 191) +* | starting output filename: Option details. (line 233) + + + +Tag Table: +Node: Top559 +Node: Why Dvips1303 +Node: Installation4751 +Node: config.ps installation5772 +Node: PostScript font installation8396 +Node: Ghostscript installation11270 +Node: Diagnosing problems12367 +Node: Debug options13462 +Node: No output14488 +Node: Small or inverted15956 +Node: Printer errors16675 +Node: Long documents fail18007 +Node: Including graphics fails18348 +Node: Invoking Dvips19586 +Node: Basic usage20177 +Node: Command-line options21205 +Node: Option summary21654 +Node: Option details23850 +Node: Environment variables43214 +Node: Config files46173 +Node: Configuration file searching46856 +Node: Configuration file commands50156 +Node: Paper size and landscape57365 +Node: papersize special58963 +Node: Config file paper sizes60372 +Node: Paper trays64527 +Node: Interaction with PostScript65861 +Node: PostScript figures66514 +Node: Bounding box67240 +Node: \includegraphics70611 +Node: EPSF macros72902 +Node: EPSF scaling74872 +Node: EPSF clipping77442 +Node: psfile special78084 +Node: Dynamic creation of graphics80477 +Node: Fonts in figures81795 +Node: Header files83455 +Node: Including headers from TeX84661 +Node: Including headers from the command line86695 +Node: Headers and memory usage87795 +Node: Literal PS88505 +Node: " special89087 +Node: ps special89828 +Node: Literal headers91326 +Node: PostScript hooks92041 +Node: Literal examples94131 +Node: Hypertext95583 +Node: Hypertext caveats97141 +Node: Hypertext specials101538 +Node: PostScript fonts104172 +Node: Font concepts105288 +Node: Metric files106455 +Node: Glyph files109281 +Node: Virtual fonts111637 +Node: Encodings113527 +Node: PostScript typesetting115930 +Node: Making a font available119012 +Node: Invoking afm2tfm124042 +Node: Changing font encodings125012 +Node: Changing TeX encodings125802 +Node: Changing PostScript encodings126902 +Node: Changing both encodings128246 +Node: Reencoding with Afm2tfm128919 +Node: Encoding file format132023 +Node: Special font effects136226 +Node: Afm2tfm options138489 +Node: psfonts.map141474 +Node: Color146206 +Node: Color macro files147250 +Node: User-definable colors150448 +Node: Color subtleties151723 +Node: Ted Turner153374 +Node: Color device configuration154599 +Node: Color support details157041 +Node: Color specifications157419 +Node: Color specials158822 +Node: Index160951 + +End Tag Table diff --git a/Master/texmf-dist/doc/info/eplain.info b/Master/texmf-dist/doc/info/eplain.info new file mode 100644 index 00000000000..5b27ad3c3ae --- /dev/null +++ b/Master/texmf-dist/doc/info/eplain.info @@ -0,0 +1,8187 @@ +This is eplain.info, produced by texi2any version 4.13.96+dev from +eplain.texi. + +This manual documents the Eplain macros, version 3.5, February 2013. +Eplain provides functionality for plain TeX that is intended to be +useful regardless of how your document is actually formatted. + + Most of this manual is in the public domain, like most of the Eplain +code. It was originally written by Karl Berry, starting in 1989. Steven +Smith wrote the documentation for the commutative diagram macros; this +chapter is under the GNU General Public License. Adam Lewenberg has made +additions and corrections. Oleg Katsitadze wrote the section on LaTeX +packages and the chapter on hyperlinks, and updates throughout. +INFO-DIR-SECTION TeX +START-INFO-DIR-ENTRY +* Eplain: (eplain). Expanding on plain Tex. +END-INFO-DIR-ENTRY + + +File: eplain.info, Node: Top, Next: Introduction, Up: (dir) + +Eplain +****** + +This manual documents the Eplain macros, version 3.5, February 2013. +Eplain provides functionality for plain TeX that is intended to be +useful regardless of how your document is actually formatted. + + Most of this manual is in the public domain, like most of the Eplain +code. It was originally written by Karl Berry, starting in 1989. +Steven Smith wrote the documentation for the commutative diagram macros; +this chapter is under the GNU General Public License. Adam Lewenberg +has made additions and corrections. Oleg Katsitadze wrote the section +on LaTeX packages and the chapter on hyperlinks, and updates throughout. + + The Eplain home page is <http://tug.org/eplain>. + +* Menu: + +* Introduction:: Eplain's purpose and philosophy. +* Installation:: Installing Eplain. +* Invoking Eplain:: Using Eplain from a TeX file. +* User definitions:: Macros to be used in a document. +* Hyperlinks:: Producing documents with hyperlinks. +* Arrow theoretic diagrams:: Macros for commutative diagrams. +* Programming definitions:: Macros to be used in writing other macros. +* Demo files:: Sample documents demonstrating Eplain. +* Macro index:: Entries for TeX and Eplain control sequences. +* Concept index:: General index. + + -- The Detailed Node Listing -- + +User definitions + +* Diagnostics:: Tracing information. +* Rules:: Changing the default rule dimensions. +* Citations:: Using BibTeX and Eplain to make bibliographies. +* Displays:: Changing the formatting of math displays. +* Time of day:: Producing the time of day. +* Lists:: Producing numbered and unordered lists. +* Verbatim listing:: Producing text just as it appears. +* Contents:: Making a table of contents. +* Cross-references:: Symbolically referring to pages or equations. +* Page references:: Symbolic references to page numbers. +* Equation references:: Symbolic references to equation numbers. +* Indexing:: Creating and typesetting indexes. +* Justification:: Left- or right-justification, or centering. +* Tables:: Producing ordered tables. +* Margins:: Changing the margins directly. +* Multiple columns:: Getting output in two columns. +* Footnotes:: Autonumbered footnotes; changing formatting. +* Fractions:: A better way to produce fractions in text. +* Paths:: Allowing line breaks in pathnames. +* Logos:: Various logos. +* Boxes:: Producing filled or open rectangles. +* Checking for PDF output:: Checking for pdfTeX in PDF mode. +* Loading LaTeX packages:: Support for LaTeX packages under plain TeX. + +Citations + +* Formatting citations:: Changing the way citations are printed. +* Formatting bibliographies:: Changing the way bibliographies are printed. + +Displays + +* Formatting displays:: General formatting of displays. + +Lists + +* Formatting lists:: Changing how the lists look. + +Contents + +* Writing the .toc file:: +* Reading the .toc file:: +* Changing the .toc file's root name:: +* Alternative contents files:: + +Cross-references + +* Defining generic references:: +* Using generic references:: + +Equation references + +* Formatting equation references:: +* Subequation references:: + +Indexing + +* Indexing terms:: Specifying what to index. +* Typesetting an index:: Printing the sorted output. +* Customizing indexing:: Creating commands and specifying extra actions. + +Indexing terms + +* Indexing commands:: Making index entries. +* Modifying index entries:: Ranges, see/see also, page number typesetting. +* Index entries with special characters:: +* Proofing index terms:: Noting index entries in the margins. + +Loading LaTeX packages + +* The \usepackage command:: Command to load packages. +* Environment for loading packages:: Environment for the \usepackage commands. +* Packages known to work:: Supported packages. +* Packages known not to work:: Packages known not to work with Eplain. + +Hyperlinks + +* Introduction to hyperlinks:: +* Explicit hyperlinks:: +* Implicit hyperlinks:: +* Hyperlink drivers:: +* Setting hyperlink types and options:: +* Turning hyperlinks on/off:: + +Implicit hyperlinks + +* General hyperlinks:: hrefint, hrefext +* URL hyperlinks:: url +* Citation hyperlinks:: cite, bib +* List hyperlinks:: li +* Cross-reference hyperlinks:: definexref, ref +* Page reference hyperlinks:: xrdef, xref +* Equation reference hyperlinks:: eq +* Index hyperlinks:: idx +* Footnote hyperlinks:: foot, footback +* Contents hyperlinks:: + +Index hyperlinks + +* Exact destinations for index terms:: +* Page destinations for index terms:: +* Choosing destination placement:: +* Index page list and page range parsers:: +* Hyperlinks in see and see also entries:: + +Hyperlink drivers + +* Options supported by all drivers:: +* Hyperlink driver hypertex:: +* Hyperlink drivers pdftex and dvipdfm:: +* Hyperlink driver nolinks:: + +Hyperlink driver hypertex:: + +* Destination types for hypertex:: +* Destination options for hypertex:: +* Link types for hypertex:: +* Link options for hypertex:: + +Hyperlink drivers pdftex and dvipdfm:: + +* Destination types for pdftex and dvipdfm:: +* Destination options for pdftex and dvipdfm:: +* Link types for pdftex and dvipdfm:: +* Link options for pdftex and dvipdfm:: + +Setting hyperlink types and options + +* Setting default types and options:: +* Setting group types:: +* Setting group options:: + +Turning hyperlinks on/off + +* Turning low-level commands on/off:: +* Turning hyperlinks on/off for a group:: + +Arrow theoretic diagrams + +* Slanted lines and vectors:: +* Commutative diagrams:: + +Commutative diagrams + +* Arrows and morphisms:: +* Construction of commutative diagrams:: +* Commutative diagram parameters:: + +Programming definitions + +* Category codes:: Changing category codes. +* Allocation macros:: Non-outer versions of \newcount et al. +* Iteration:: Doing 'for' and 'while' loops in TeX. +* Macro arguments:: Reading and ignoring them. +* Converting to characters:: Normalizing control sequences and spaces. +* Expansion:: Controlling expansion. +* Obeying spaces:: Making whitespace count anywhere. +* Writing out numbers:: Making '1' into 'one'. +* Mode-specific penalties:: +* Auxiliary files:: Testing for their existence. +* User-defined environments:: User-defined environments. +* Page list and page range parsers:: + +Expansion + +* \csn and \ece:: +* \edefappend:: +* Hooks:: Manipulating and executing named actions. +* Properties:: Associating information with a csname. +* \expandonce:: +* \ifundefined:: +* \ifempty:: +* \ifinteger and \isinteger:: +* \futurenonspacelet:: + +Demo files + +* Hyperlinks (xhyper.tex):: +* Highlighting TeX comments in listings (lscommnt.tex):: + + +File: eplain.info, Node: Introduction, Next: Installation, Prev: Top, Up: Top + +1 Introduction +************** + +The "Eplain" macro package expands on and extends the definitions in +plain TeX. Its home on the web is <http://tug.org/eplain>. + + This manual describes the definitions that you, as either an author +or a macro writer, might like to use. It doesn't discuss the +implementation; see comments in the source code ('xeplain.tex') for +that. + + Eplain is not intended to provide "generic" typesetting capabilities, +as do LaTeX (written by Leslie Lamport) or Texinfo (written by Richard +Stallman and others). Instead, it provides definitions that are +intended to be useful regardless of the high-level commands that you use +when you actually prepare your manuscript. + + For example, Eplain does not have a command '\section', which would +format section headings in an "appropriate" way, such as LaTeX's +'\section'. The philosophy of Eplain is that some people will always +need or want to go beyond the macro designer's idea of "appropriate". +Such canned macros are fine--as long as you are willing to accept the +resulting output. If you don't like the results, or if you are trying +to match a different format, you are out of luck. + + On the other hand, almost everyone would like capabilities such as +cross-referencing by labels, so that you don't have to put actual page +numbers in the manuscript. The author of Eplain is not aware of any +generally available macro packages that (1) do not force their +typographic style on an author, and yet (2) provide such capabilities. + + Besides such generic macros as cross-referencing, Eplain contains +another set of definitions: ones that change the conventions of plain +TeX's output. For example, math displays in TeX are, by default, +centered. If you want your displays to come out left-justified, you +have to plow through 'The TeXbook' to find some way to do it, and then +adapt the code to your own needs. Eplain tries to take care of the +messy details of such things, while still leaving the detailed +appearance of the output up to you. + + Finally, numerous definitions turned out to be useful as Eplain was +developed. They are also documented in this manual, on the chance that +people writing other macros will be able to use them. + + You can send bug reports or suggestions to <tex-eplain@tug.org>. The +current version number of Eplain is defined as the macro '\fmtversion' +at the end of the source file 'eplain.tex'. When corresponding, please +refer to it. + + To get on this mailing list yourself, email +<tex-eplain-request@tug.org> with a message whose body contains a line + + subscribe YOU@YOUR.PREFERRED.ADDRESS + +or visit <http://tug.org/mailman/listinfo/tex-eplain>. + + David Walden had reported his experience with Eplain as a new user. +The article is available online at +<http://tug.org/pracjourn/2005-4/walden>. An introductory article +(written for TUGboat) is also available online at +<http://tug.org/eplain/misc/tb84katsi.pdf>. + + +File: eplain.info, Node: Installation, Next: Invoking Eplain, Prev: Introduction, Up: Top + +2 Installation +************** + +Your TeX installation should already contain a version of Eplain +('eplain.tex') in its main 'texmf' tree (usually under +'/usr/share/texmf/tex/eplain/' on Unix systems). To install a newer +version of Eplain, put the new 'eplain.tex' (included in Eplain +distributions) in the 'tex/eplain/' subdirectory of your local 'texmf' +tree. The newer version you install in the local tree should override +the older one in the main tree. + + The location of the local 'texmf' tree obviously depends on your +operating system and TeX installation. On Unix systems the usual +location is '/usr/local/share/texmf/'. If you don't have write +permissions for '/usr/local/share/texmf/', many installations read the +'texmf' tree in the user's home directory; 'eplain.tex' then should go +under '~/texmf/tex/eplain/'. For more information about TeX directory +structure, please see +<http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds>. + + If you prefer to install 'eplain.tex' in a non-standard place, set an +environment variable ('TEXINPUTS' for the Web2C port of TeX to Unix) to +tell TeX how to find it. + + If you want, you can also create a format ('.fmt') file for Eplain, +which will eliminate the time spent reading the macro source file with +'\input'. You do this by issuing a sequence of Unix commands something +like this: + + prompt$ touch eplain.aux + prompt$ initex + This is TeX, ... + **&plain eplain + (eplain.tex) + *\dump + ... MESSAGES ... + +You must make sure that 'eplain.aux' exists _before_ you run 'initex'; +otherwise, warning messages about undefined labels will never be issued. + + You then have to install the resulting 'eplain.fmt' in your local +'texmf' tree or set an environment variable to tell TeX how to find it. +For the Web2C port of TeX to Unix, format files are usually installed +under '/usr/local/share/texmf/web2c/' or '/var/lib/texmf/web2c/'; the +environment variable is 'TEXFORMATS'. + + +File: eplain.info, Node: Invoking Eplain, Next: User definitions, Prev: Installation, Up: Top + +3 Invoking Eplain +***************** + +The simplest way to use Eplain is simply to put: + + \input eplain + +at the beginning of your input file. The macro file is small enough +that reading it does not take an unbearably long time--at least on +contemporary machines. + + In addition, if a format ('.fmt') file has been created for Eplain +(see the previous section), you can eliminate the time spent reading the +macro source file. You do this by responding '&eplain' to TeX's '**' +prompt. For example: + + initex + This is TeX, ... + **&eplain myfile + + Depending on the implementation of TeX which you are using, you might +also be able to invoke TeX as 'eplain' and have the format file +automatically read. + + If you write something which you will be distributing to others, you +won't know if the Eplain format will be loaded already. If it is, then +doing '\input eplain' will waste time; if it isn't, then you must load +it. To solve this, Eplain defines the control sequence '\eplain' to be +the letter 't' (a convention borrowed from Lisp; it doesn't actually +matter what the definition is, only that the definition exists). +Therefore, you can do the following: + + \ifx\eplain\undefined \input eplain \fi + +where '\undefined' must never acquire a definition. + + Eplain consists of several source files: +'xeplain.tex' + most of the macros; + +'arrow.tex' + commutative diagram macros (*note Arrow theoretic diagrams::), + written by Steven Smith; + +'btxmac.tex' + bibliography-related macros (*note Citations::); + +'ifpdf.sty' + sets the switch '\ifpdf', which can be used to detect pdfTeX in PDF + mode (*note Checking for PDF output::), written by Heiko Oberdiek; + +'path.sty' + macro for allowing line breaks at punctuation characters within + long pathnames, electronic mail addresses, etc., (*note Paths::), + written by Philip Taylor; + +'texnames.sty' + abbreviations for various TeX-related names (*note Logos::), edited + by Nelson Beebe. + +The file 'eplain.tex' is all of these files merged together, with +comments removed. The original sources can be found in Eplain source +zip archive in your TeX distribution, on CTAN or on Eplain's home page +at <http://tug.org/eplain>. + + All of these files except 'xeplain.tex' can be input individually, if +all you want are the definitions in that file. + + Also, since the bibliography macros are fairly extensive, you might +not want to load them, to conserve TeX's memory. Therefore, if the +control sequence '\nobibtex' is defined, then the bibliography +definitions are skipped. You must set '\nobibtex' before 'eplain.tex' +is read, naturally. For example, you could start your input file like +this: + + \let\nobibtex = t + \input eplain + +By default, '\nobibtex' is undefined, and so the bibliography +definitions _are_ made. + + Likewise, define '\noarrow' if you don't want to include the +commutative diagram macros from 'arrow.tex', perhaps because you already +have conflicting ones. + + If you don't want to read or write an 'aux' file at all, for any kind +of cross-referencing, define '\noauxfile' before reading 'eplain.tex'. +This also turns off all warnings about undefined labels. + + Eplain conflicts with AMSTeX (to be precise, with 'amsppt.sty'): the +macros '\cite' and '\ref' are defined by both. + + If you want to use AMSTeX's '\cite', the solution is to define +'\nobibtex' before reading Eplain, as described above. + + If you have 'amsppt.sty' loaded and use '\ref', Eplain writes a +warning on your terminal. If you want to use the AMSTeX '\ref', do +'\let\ref = \amsref' after reading Eplain. To avoid the warning, do +'\let\ref = \eplainref' after reading Eplain and before using '\ref'. + + Sometimes you may need to run TeX more then once on your '.tex' file +in order to produce and typeset indexes, resolve undefined +cross-references and/or citations. The shell script 'texi2dvi' from the +Texinfo documentation system (see <http://www.gnu.org/software/texinfo>) +can automate this process: it runs BibTeX, MakeIndex and TeX as many +times as needed to complete the compilation process. You will need to +set the 'LATEX' environment variable to 'tex'. For example, in a +Bourne-compatible shell, the following command will do all the work: + + prompt$ LATEX=tex texi2dvi file.tex + +(Despite the name, 'texi2dvi' can also produce '.pdf' files; just set +'LATEX=pdftex'.) See the output from the command 'texi2dvi --help' for +invoking information and a full list of options. + + +File: eplain.info, Node: User definitions, Next: Hyperlinks, Prev: Invoking Eplain, Up: Top + +4 User definitions +****************** + +This chapter describes definitions that are meant to be used directly in +a document. When appropriate, ways to change the default formatting are +described in subsections. + +* Menu: + +* Diagnostics:: Tracing information. +* Rules:: Changing the default rule dimensions. +* Citations:: Using BibTeX and Eplain to make bibliographies. +* Displays:: Changing the formatting of math displays. +* Time of day:: Producing the time of day. +* Lists:: Producing numbered and unordered lists. +* Verbatim listing:: Producing text just as it appears. +* Contents:: Making a table of contents. +* Cross-references:: Symbolic references to equations, figures, etc. +* Page references:: Symbolic references to page numbers. +* Equation references:: Symbolic references to equation numbers. +* Indexing:: Creating and typesetting indexes. +* Justification:: Ragged left, ragged right, centered. +* Tables:: Producing ordered tables. +* Margins:: Changing the margins directly. +* Multiple columns:: Getting output in two columns. +* Footnotes:: Autonumbered footnotes; changing formatting. +* Fractions:: A better way to produce fractions in text. +* Paths:: Allowing line breaks in pathnames. +* Logos:: Various logos. +* Boxes:: Producing filled or open rectangles. +* Checking for PDF output:: Checking for pdfTeX in PDF mode. +* Loading LaTeX packages:: Support for LaTeX packages under plain TeX. + + +File: eplain.info, Node: Diagnostics, Next: Rules, Up: User definitions + +4.1 Diagnostics +=============== + +Plain TeX provides the '\tracingall' command, to turn on the maximum +amount of tracing possible in TeX. The (usually voluminous) output from +'\tracingall' goes both on the terminal and into the transcript file. +It is sometimes easier to have the output go only to the transcript +file, so you can peruse it at your leisure and not obscure other output +to the terminal. So, Eplain provides the command '\loggingall'. (For +some reason, this command is available in Metafont, but not in TeX.) + + It is also sometimes useful to see the complete contents of boxes. +'\tracingboxes' does this. (It doesn't affect whether or not the +contents are shown on the terminal.) + + You can turn off all tracing with '\tracingoff'. + + You can also turn logging on and off globally, so you don't have to +worry about whether or not you're inside a group at the time of command. +These variants are named '\gloggingall' and '\gtracingall'. + + Finally, if you write your own help messages (see '\newhelp' in 'The +TeXbook'), you want a convenient way to break lines in them. This is +what TeX's '\newlinechar' parameter is for; however, plain TeX doesn't +set '\newlinechar'. Therefore, Eplain defines it to be the character +'^^J'. + + For example, one of Eplain's own error messages is defined as +follows: + + \newhelp\envhelp{Perhaps you forgot to end the previous^^J% + environment? I'm finishing off the current group,^^J% + hoping that will fix it.}% + + +File: eplain.info, Node: Rules, Next: Citations, Prev: Diagnostics, Up: User definitions + +4.2 Rules +========= + +The default dimensions of rules are defined in chapter 21 of the 'The +TeXbook'. To sum up what is given there, the "thickness" of rules is +0.4pt by default. Eplain defines three parameters that let you change +this dimension: '\hruledefaultheight', '\hruledefaultdepth', and +'\vruledefaultwidth'. By default, they are defined as 'The TeXbook' +describes. + + But it would be wrong to redefine '\hrule' and '\vrule'. For one +thing, some macros in plain TeX depend on the default dimensions being +used; for another, rules are used quite heavily, and the performance +impact of making it a macro can be noticeable. Therefore, to take +advantage of the default rule parameters, you must use '\ehrule' and +'\evrule'. + + +File: eplain.info, Node: Citations, Next: Displays, Prev: Rules, Up: User definitions + +4.3 Citations +============= + +Bibliographies are part of almost every technical document. To handle +them conveniently, you need two things: a program to do the tedious +formatting, and a way to cite references by labels, rather than by +numbers. The BibTeX program, written by Oren Patashnik, takes care of +the first item; the citation commands in LaTeX, written to be used with +BibTeX, take care of the second. Therefore, Eplain adopts the use of +BibTeX, and virtually the same interface as LaTeX. + + The general idea is that you put citation commands in the text of +your document, and commands saying where the bibliography data is. When +you run TeX, these commands produce output on the file with the same +root name as your document (by default) and the extension '.aux'. +BibTeX reads this file. You should put the bibliography data in a file +or files with the extension '.bib'. BibTeX writes out a file with the +same root name as your document and extension '.bbl'. Eplain reads this +file the next time you run your document through TeX. (It takes +multiple passes to get everything straight, because usually after seeing +your bibliography typeset, you want to make changes in the '.bib' file, +which means you have to run BibTeX again, which means you have to run +TeX again...) An annotated example of the whole process is given below. + + If your document has more than one bibliography--for example, if it +is a collection of papers--you can tell Eplain to use a different root +name for the '.bbl' file by defining the control sequence +'\bblfilebasename'. The default definition is simply '\jobname'. + + On the other hand, if your document's bibliography is very simple, +you may prefer to create the '.bbl' file yourself, by hand, instead of +using BibTeX. An annotated example of this approach is also given +below. + + See the document 'BibTeXing' (whose text is in the file 'btxdoc.tex', +which should be in the Eplain distribution you got) for information on +how to write your .bib files. Both the BibTeX and the Eplain +distributions contain several examples, also. + + The '\cite' command produces a citation in the text of your document. +The exact printed form the citation will take is under your control +(*note Formatting citations::). '\cite' takes one required argument, a +comma-separated list of cross-reference labels (*note +Cross-references::, for exactly what characters are allowed in such +labels). Warning: spaces in this list are taken as part of the +following label name, which is probably not what you expect. The +'\cite' command also produces a command in the .aux file that tells +BibTeX to retrieve the given reference(s) from the .bib file. '\cite' +also takes one optional argument, which you specify within square +brackets, as in LaTeX. This text is simply typeset after the citations. +(See the example below.) + + Eplain can create hypertext links for citations pointing to the +relevant bibliography entries (*note Citation hyperlinks::). + + Another command, '\nocite', puts the given reference(s) into the +bibliography, but produces nothing in the text. + + The '\bibliography' command is next. It serves two purposes: +producing the typeset bibliography, and telling BibTeX the root names of +the .bib files. Therefore, the argument to '\bibliography' is a comma +separated list of the .bib files (without the '.bib'). Again, spaces in +this list are significant. + + You tell BibTeX the particular style in which you want your +bibliography typeset with one more command: '\bibliographystyle'. The +argument to this is a single filename STYLE, which tells BibTeX to look +for a file STYLE.bst. See the document 'Designing BibTeX styles' (whose +text is in the 'btxhak.tex') for information on how to write your own +styles. + + Eplain automatically reads the citations from the .aux file when your +job starts. + + If you don't want to see the messages about undefined citations, you +can say '\xrefwarningfalse' before making any citations. Eplain +automatically does this if the .aux file does not exist. You can +restore the default by saying '\xrefwarningtrue'. + + Here is a TeX input file that illustrates the various commands. + + \input eplain % Reads the .aux file. + Two citations to Knuthian works: + \cite[note]{surreal,concrete-math}. + \beginsection{References.}\par % Title for the bibliography. + \bibliography{knuth} % Use knuth.bib for the labels. + \bibliographystyle{plain} % Number the references. + \end % End of the document. + + If we suppose that this file was named 'citex.tex' and that the +bibliography data is in 'knuth.bib' (as the above '\bibliography' +command says), the following commands do what's required. ('$ ' +represents the shell prompt.) + + $ tex citex (produces undefined citation messages) + $ bibtex citex (read knuth.bib and citex.aux, write citex.bbl) + $ tex citex (read citex.bbl, still have undefined citations) + $ tex citex (one more time, to resolve the references) + +The 'texi2dvi' program can help you automate this process (*note +Invoking Eplain::). + + For simple documents you might choose to write the '.bbl' file +yourself, instead of running BibTeX. For this scenario, the following +commands should suffice: + + $ tex citex (read citex.bbl, produces undefined citation messages) + $ tex citex (one more time, to resolve the references) + + The output looks something like (because we used the plain +bibliography style): + + Two citations to Knuthian works: [2,1 note]. + + References + + [1] Ronald L. Graham, Donald E. Knuth, and Oren Patashnik. Concrete + Mathematics. Addison-Wesley, Reading, Massachusetts, 1989. + + [2] Donald E. Knuth. Surreal Numbers. Addison-Wesley, Reading, + Massachusetts, 1974. + + See the BibTeX documentation for information on how to write the +bibliography databases, and the bibliography styles that are available. +(If you want your references printed with names, as in [Knu74], instead +of numbered, the bibliography style is 'alpha'.) + +* Menu: + +* Formatting citations:: Changing the way citations are printed. +* Formatting bibliographies:: Changing the way bibliographies are printed. +* Commands from LaTeX:: LaTeX commands defined by 'btxmac'. + + +File: eplain.info, Node: Formatting citations, Next: Formatting bibliographies, Up: Citations + +4.3.1 Formatting citations +-------------------------- + +You may wish to change Eplain's formatting of citations; i.e., the +result of your '\cite' commands. By default, the citation labels are +printed one after another, separated by commas and enclosed in brackets, +using the main text font. Some formats require other styles, such as +superscripted labels. You can accomodate such formats by redefining the +following macros. + +'\printcitestart' +'\printcitefinish' + Eplain expands these macros at the begining and end of the list of + citations for each '\cite' command. By default, they produce a '[' + and ']', respectively. + +'\printbetweencitations' + If a '\cite' command has multiple citations, as in + '\cite{acp,texbook}', Eplain expands this macro in between each + pair of citations. By default, it produces a comma followed by a + space. + +'\printcitenote' + This macro takes one argument, which is the optional note to the + '\cite' command. If the '\cite' command had no note, this macro + isn't used. Otherwise, it should print the note. By default, the + note is preceded with a comma and a space. + + Here is an example, showing you could produce citations as +superscripted labels, with the optional notes in parentheses. + + \def\printcitestart{\unskip $^\bgroup} + \def\printbetweencitations{,} + \def\printcitefinish{\egroup$} + \def\printcitenote#1{\hbox{\sevenrm\space (#1)}} + + +File: eplain.info, Node: Formatting bibliographies, Next: Commands from LaTeX, Prev: Formatting citations, Up: Citations + +4.3.2 Formatting bibliographies +------------------------------- + +You may wish to change Eplain's formatting of the bibliography, +especially with respect to the fonts that are used. Therefore, Eplain +provides the following control sequences: + +'\biblabelwidth' + This control sequence represents a '\dimen' register, and its value + is the width of the widest label in the bibliography. Although it + is unlikely you will ever want to redefine it, you might want to + use it if you redefine '\biblabelprint', below. + +'\biblabelprint' + This macro takes one argument, the label to print. By default, the + label is put in a box of width '\biblabelwidth', and is followed by + an enspace. When you want to change the spacing around the labels, + this is the right macro to redefine. + +'\biblabelcontents' + This macro also takes one argument, the label to print. By default, + the label is printed using the font '\bblrm' (below), and enclosed + in brackets. When you want to change the appearance of the label, + but not the spacing around it, this is the right macro to redefine. + +'\biblabelprecontents' +'\biblabelpostcontents' + Macros expanded before and after '\biblabelcontents', respectively. + For example, to get left-justified numeric labels (they are + right-justified by default): + + \def\biblabelprecontents{\relax} + \def\biblabelpostcontents{\hss} + +'\bblrm' + The default font used for printing the bibliography. + +'\bblem' + The font used for printing the titles and other "emphasized" + material. + +'\bblemph' + Typesets its argument using '\bblem', then inserts an italic + correction. + +'\bblsc' + In some styles, authors' names are printed in a caps-and-small-caps + font. In those cases, this font is used. + +'\bblnewblock' + This is invoked between each of the parts of a bibliography entry. + The default is to leave some extra space between the parts; you + could redefine it to start each part on a new line (for example). A + part is simply a main element of the entry; for example, the author + is a part. (It was LaTeX that introduced the (misleading, as far as + I am concerned) term 'block' for this.) + +'\biblabelextraspace' + Bibliography entries are typeset with a hanging indentation of + '\biblabelwidth' plus this. The default is '.5em', where the em + width is taken from the '\bblrm' font. If you want to change this, + you should do it inside '\bblhook'. + +'\bblhook' + This is expanded before reading the .bbl file. By default, it does + nothing. You could, for example, define it to set the bibliography + fonts, or produce the heading for the references. Two spacing + parameters must be changed inside '\bblhook': '\parskip', which + produces extra space between the items; and '\biblabelextraspace', + which is described above. (By the way, '\hookappend' won't work + with '\bblhook', despite the names. Just use '\def'.) + + If you are desperate, of course you can also hand-edit the .bbl file +that BibTeX produces to do anything you wish. + + +File: eplain.info, Node: Commands from LaTeX, Prev: Formatting bibliographies, Up: Citations + +4.3.3 Commands from LaTeX +------------------------- + +Because of the historical connection between BibTeX and LaTeX, in +practice many bibliography styles and bibliographies use LaTeX commmands +that are not part of bibliography handling, per se. + + To support this, 'btxmac.tex' (and thus Eplain) define the following. +In all cases, an existing definition (e.g., from 'miniltx.tex', *note +Loading LaTeX packages: Loading LaTeX packages.) will not be +overwritten. Here is the list: + +'\newcommand' +'\renewcommand' +'\providecommand' + Defining new commands in various ways. The Eplain versions do not + support the *-form of these; use 'miniltx' for that. + +'\em' +'\emph' +'\sc' +'\textbf' + Selecting fonts. + +'\mbox' + A horizontal box. + +'\newblock' + Starts elements of a bibliography entry. + + For full information about these, see the LaTeX manual and sources. + + +File: eplain.info, Node: Displays, Next: Time of day, Prev: Citations, Up: User definitions + +4.4 Displays +============ + +By default, TeX centers displayed material. (Displayed material is just +whatever you put between '$$''s--it's not necessarily mathematics.) Many +layouts would be better served if the displayed material was +left-justified. Therefore, Eplain provides the command '\leftdisplays', +which indents displayed material by '\parindent' plus '\leftskip', plus +'\leftdisplayindent'. + + You can go back to centering displays with '\centereddisplays'. (It +is usually poor typography to have both centered and left-justified +displays in a single publication, though.) + + '\leftdisplays' also changes the plain TeX commands that deal with +alignments inside math displays, '\displaylines', '\eqalignno', and +'\leqalignno', to produce left-justified text. You can still override +this formatting by inserting '\hfill' glue, as explained in 'The +TeXbook'. + + Eplain defines '\eqnum' and '\eqalignnum' which can be set up to +produce either left-aligned or right-aligned equation numbers. +'\lefteqnumbers' ('\righteqnumbers') will define '\eqnum' to expand to +'\eqno' ('\leqno'), and '\eqalignnum' to expand to '\eqalignno' +('\leqalignno'). Default is '\righteqnumbers' (right-aligned equation +numbers). + +* Menu: + +* Formatting displays:: General formatting of displays. + + +File: eplain.info, Node: Formatting displays, Up: Displays + +4.4.1 Formatting displays +------------------------- + +If you want some other kind of formatting, you can write a definition of +your own, analogous to '\leftdisplays'. You need only make sure that +'\leftdisplaysetup' is called at the beginning of every display +(presumably by invoking it in TeX's '\everydisplay' parameter). + + '\leftdisplays' expands the old value of '\everydisplay' before +calling '\leftdisplaysetup', so that any changes you have made to it +won't be lost. That old token list as available as the value of the +token register '\previouseverydisplay'. + + +File: eplain.info, Node: Time of day, Next: Lists, Prev: Displays, Up: User definitions + +4.5 Time of day +=============== + +TeX provides the day, month, and year as numeric quantities (unless your +TeX implementation is woefully deficient). Eplain provides some control +sequences to make them a little more friendly to humans. + + '\monthname' produces the name of the current month, abbreviated to +three letters. + + '\fullmonthname' produces the name of the current month, +unabbreviated (in English). + + '\timestring' produces the current time, as in '1:14 p.m.' + + '\timestamp' produces the current date and time, as in '23 Apr 64 +1:14 p.m.'. (Except the spacing is slightly different.) + + '\today' produces the current date, as in '23 April 1964'. + + +File: eplain.info, Node: Lists, Next: Verbatim listing, Prev: Time of day, Up: User definitions + +4.6 Lists +========= + +Many documents require lists of items, either numbered or simply +enumerated. Plain TeX defines one macro to help with creating lists, +'\item', but that is insufficient in many cases. Therefore, Eplain +provides two pairs of commands: + +'\numberedlist ... \endnumberedlist' +'\orderedlist ... \endorderedlist' + These commands (they are synonyms) produce a list with the items + numbered sequentially, starting from one. A nested '\numberedlist' + labels the items with lowercase letters, starting with 'a'. Another + nested '\numberedlist' labels the items with roman numerals. Yet + more deeply nested numbered lists label items with '*'. + +'\unorderedlist ... \endunorderedlist' + This produces a list with the items labelled with small black boxes + ("square bullets"). A nested '\unorderedlist' labels items with + em-dashes. Doubly (and deeper) nested unordered lists label items + with '*'s. + + The two kinds of lists can be nested within each other, as well. + + In both kinds of lists, you begin an item with '\li'. An item may +continue for several paragraphs. Each item starts a paragraph. + + You can give '\li' an optional argument, a cross-reference label. +It's defined to be the "marker" for the current item. This is useful if +the list items are numbered. You can produce the value of the label with +'\xrefn'. *Note Cross-references::. + + Eplain can create hypertext links for the markers produced by +'\xrefn' pointing to the relevant list item (*note List hyperlinks::). + + You can also say '\listcompact' right after '\numberedlist' or +'\unorderedlist'. The items in the list will then not have any extra +space between them (*note Formatting lists::). You might want to do this +if the items in this particular list are short. + + Here is an example: + + \numberedlist\listcompact + \li The first item. + \li The second item. + + The second paragraph of the second item. + \endnumberedlist + +* Menu: + +* Formatting lists:: Changing how the lists look. + + +File: eplain.info, Node: Formatting lists, Up: Lists + +4.6.1 Formatting lists +---------------------- + +Several registers define the spacing associated with lists. It is likely +that their default values won't suit your particular layout. + +'\abovelistskipamount, \belowlistskipamount' + The vertical glue inserted before and after every list, + respectively. + +'\interitemskipamount' + The vertical glue inserted before each item except the first. + '\listcompact' resets this to zero, as mentioned above. + +'\listleftindent, \listrightindent' + '\listrightindent' is the amount of space by which the list is + indented on the right; i.e., it is added to '\rightskip'. + '\listleftindent' is the amount of space, _relative to_ + '\parindent', by which the list is indented on the left. Why treat + the two parameters differently? Because (a) it is more useful to + make the list indentation depend on the paragraph indentation; + (b) footnotes aren't formatted right if '\parindent' is reset to + zero. + + The three vertical glues are inserted by macros, and preceded by +penalties: '\abovelistskip' does '\vpenalty\abovelistpenalty' and then +'\vskip\abovelistskip'. '\belowlistskip' and '\interitemskip' are +analogous. + + In addition, the macro '\listmarkerspace' is called to separate the +item label from the item text. This is set to '\enspace' by default. + + If you want to change the labels on the items, you can redefine these +macros: '\numberedmarker' or '\unorderedmarker'. The following registers +might be useful if you do: + +'\numberedlistdepth, \unorderedlistdepth' + These keep track of the depth of nesting of the two kinds of lists. + +'\itemnumber, \itemletter' + These keep track of the number of items that have been seen in the + current numbered list. They are both integer registers. The + difference is that '\itemnumber' starts at one, and '\itemletter' + starts at 97, i.e., lowercase 'a'. + + You can also redefine the control sequences that are used internally, +if you want to do something radically different: '\beginlist' is invoked +to begin both kinds of lists; '\printitem' is invoked to print the label +(and space following the label) for each item; and '\endlist' is invoked +to end both kinds of lists. + + +File: eplain.info, Node: Verbatim listing, Next: Contents, Prev: Lists, Up: User definitions + +4.7 Verbatim listing +==================== + +It is sometimes useful to include a file verbatim in your document; for +example, part of a computer program. The '\listing' command is given one +argument, a filename, and produces the contents of that file in your +document. '\listing' expands '\listingfont' to set the current font. The +default value of '\listingfont' is '\tt'. + + You can take arbitrary actions before reading the file by defining +the macro '\setuplistinghook'. This is expanded just before the file is +input. + + If you want to have line numbers on the output, you can say +'\let\setuplistinghook = \linenumberedlisting'. The line numbers are +stored in the count register '\lineno' while the file is being read. You +can redefine the macro '\printlistinglineno' to change how they are +printed. + + Normally, the '\listing' command will add a final empty line at the +end of the output, even if the file does not end in a newline. To +suppress this final line, you can say '\let\setuplistinghook = +\nolastlinelisting'. This also works with line numbers (say +'\def\setuplistinghook{\linenumberedlisting \nolastlinelisting}'), but +only if '\printlistinglineno' consists exclusively of boxes at the top +level (i.e., any '\kern's or glue should be wrapped up in a box). + + You can use the form feed control character (ASCII code 12, typed as +'CTRL-L') in the file to force a page break in the output. + + You can produce in-line verbatim text in your document with +'\verbatim'. End the text with '|endverbatim'. If you need a '|' in the +text, double it. If the first character of the verbatim text is a space, +use '| '. ('| ' will work elsewhere in the argument, too, but isn't +necessary.) + + For example: + + \verbatim| ||\#%&!|endverbatim + +produces ' |\#%&!'. + + Line breaks and spaces in the verbatim text are preserved. + + You can change the verbatim escape character from the default '|' +with '\verbatimescapechar CHAR'; for example, this changes it to '@'. + + \verbatimescapechar \@ + +The backslash is not necessary in some cases, but is in others, +depending on the catcode of the character. The argument to +'\verbatimescapechar' is used as '\catcode `CHAR', so the exact rules +follow that for '\catcode'. + + To reset the category code of all special characters to 12 ("other"), +'\verbatim' uses '\uncatcodespecials' (*note Category codes::). If you +make additional characters "special", you should extend '\dospecials' to +include those characters, lest they be given special treatment inside +verbatim environments. For example, + + \catcode`\A=\active + % Try commenting out the following line. + \expandafter\def\expandafter\dospecials\expandafter{\dospecials\do\A} + \verbatimA#$%_^|endverbatim + + Because '\verbatim' must change the category code of special +characters, calling inside a macro definition of your own does not work +properly. For example: + + \def\mymacro{\verbatim &#%|endverbatim}% Doesn't work! + +To accomplish this, you must change the category codes yourself before +making the macro definition. Perhaps '\uncatcodespecials' will help you +(*note Category codes::). + + +File: eplain.info, Node: Contents, Next: Cross-references, Prev: Verbatim listing, Up: User definitions + +4.8 Contents +============ + +Producing a table of contents that is both useful and aesthetic is one +of the most difficult design problems in any work. Naturally, Eplain +does not pretend to solve the design problem. Collecting the raw data +for a table of contents, however, is much the same across documents. +Eplain uses an auxiliary file with extension '.toc' (and the same root +name as your document) to save the information. + +* Menu: + +* Writing the .toc file:: +* Reading the .toc file:: +* Changing the .toc file's root name:: +* Alternative contents files:: + + +File: eplain.info, Node: Writing the .toc file, Next: Reading the .toc file, Up: Contents + +4.8.1 Writing the .toc file +--------------------------- + +To write an entry for the table of contents, you say +'\writetocentry{PART}{TEXT}', where PART is the type of part this entry +is, e.g., 'chapter', and TEXT is the text of the title. '\writetocentry' +puts an entry into the .toc file that looks like +'\tocPARTentry{TEXT}{PAGE NUMBER}' (unless PART is an integer, see +below). The TEXT is written unexpanded. + + A related command, '\writenumberedtocentry', takes one additional +argument, the first token of which is expanded at the point of the +'\writenumberedtocentry', but the rest of the argument is not expanded. +The usual application is when the parts of the document are numbered. On +the other hand, the one-level expansion allows you to use the argument +for other things as well (author's names in a proceedings, say), and not +have accents or other control sequences expanded. The downside is that +if you _want_ full expansion of the third argument, you don't get +it--you must expand it yourself, before you call +'\writenumberedtocentry'. + + For example: + + \writenumberedtocentry{chapter}{A $\sin$ wave}{\the\chapno} + \writetocentry{section}{A section title} + +Supposing '\the\chapno' expanded to '3' and that the '\write''s occurred +on pages eight and nine, respectively, the above writes the following to +the .toc file: + + \tocchapterentry{A $\sin$ wave}{3}{8} + \tocsectionentry{A section title}{9} + + A variation on '\writenumberedtocentry' is '\writenumberedtocline', +differing only in the order of the parameters it takes and writes for +the '\tocPARTentry' control sequences. To continue the previous example: + + \writenumberedtocline{chapter}{\the\chapno}{A $\sin$ wave} + +writes the following to the .toc file: + + \tocchapterentry{3}{A $\sin$ wave}{8} + +Such ordering of the parameters allows the '\tocPARTentry' macros to +typeset the text of the entry without actually reading it as an +argument. This is required for entries which need to change character +catcodes, e.g., to produce verbatim text (*note Verbatim listing::). + + Each of '\writetocentry', '\writenumberedtocentry' and +'\writenumberedtocline' processes a numeric PART argument specially. If +you pass PART expanding to an integer, these macros write into the .toc +file an entry that starts with '\tocentry{PART}'. Thus, you can define a +single '\tocentry' macro which formats all entries for a table of +contents. To continue the previous examples: + + \writenumberedtocentry{1}{A $\sin$ wave}{\the\chapno} + \writenumberedtocline{1}{\the\chapno}{A $\sin$ wave} + \writetocentry{2}{A section title} + +writes the following to the .toc file: + + \tocentry{1}{A $\sin$ wave}{3}{8} + \tocentry{1}{3}{A $\sin$ wave}{8} + \tocentry{2}{A section title}{9} + + +File: eplain.info, Node: Reading the .toc file, Next: Changing the .toc file's root name, Prev: Writing the .toc file, Up: Contents + +4.8.2 Reading the .toc file +--------------------------- + +You read the .toc file with the command '\readtocfile'. Naturally, +whatever '\toc... entry' commands that were written to the file must be +defined when '\readtocfile' is invoked. Eplain has minimal definitions +for '\tocchapterentry', '\tocsectionentry', and '\tocsubsectionentry', +just to prevent undefined control sequence errors in common cases. They +aren't suitable for anything but preliminary proofs. + + Each of '\writetocentry', '\writenumberedtocentry' and +'\writenumberedtocline' opens the .toc file for writing, thereby +deleting the information from the previous run. You should therefore +arrange that '\readtocfile' be called _before_ the first call to a +'\writetoc...' macro. '\readtocfile' does not itself delete the +information from the .toc file, so that you can call it several times, +e.g., to create both a short and normal table of contents. (To produce +this in particular, define '\tocsectionentry' to produce nothing while +you are reading .toc file for a short table of contents (*note Macro +arguments::).) + + On the other hand, if you don't want to rewrite the .toc file at all, +perhaps because you are only running TeX on part of your manuscript, you +can set '\rewritetocfilefalse'. + + +File: eplain.info, Node: Changing the .toc file's root name, Next: Alternative contents files, Prev: Reading the .toc file, Up: Contents + +4.8.3 Changing the .toc file's root name +---------------------------------------- + +By default, the '.toc' file has the root '\jobname'. If your document +has more than one contents--for example, if it is a collection of +papers, some of which have their own contents--you can tell Eplain to +use a different root name by defining the control sequence +'\tocfilebasename'. + + Note that '\writetocentry', '\writenumberedtocentry' and +'\writenumberedtocline' will open the contents file for writing only at +the first call, using the value of '\tocfilebasename' at that time. +Changing the value of '\tocfilebasename' afterwards will not affect +which file gets _written_, although it will affect which file gets +_read_ by '\readcontentsfile'. In case you need to write several +contents files from a single TeX job, use '\definecontentsfile' (*note +Alternative contents files::). + + +File: eplain.info, Node: Alternative contents files, Prev: Changing the .toc file's root name, Up: Contents + +4.8.4 Alternative contents files +-------------------------------- + +In addition to the usual table of contents, you may want to have a list +of figures, list of tables, or other such contents-like list. You can do +this with '\definecontentsfile{ABBREV}'. All of the above commands are +actually a special case that Eplain predefines with + + \definecontentsfile{toc} + +The ABBREV is used both for the file extension and in the control +sequence names. + + +File: eplain.info, Node: Cross-references, Next: Page references, Prev: Contents, Up: User definitions + +4.9 Cross-references +==================== + +It is often useful to refer the reader to other parts of your document; +but putting literal page, section, equation, or whatever numbers in the +text is certainly a bad thing. + + Eplain therefore provides commands for symbolic cross-references. It +uses an auxiliary file with extension .aux (and the same root name as +your document) to keep track of the information. Therefore, it takes two +passes to get the cross-references right--one to write them out, and one +to read them in. Eplain automatically reads the .aux file at the first +reference; after reading it, Eplain reopens it for writing. + + You can control whether or not Eplain warns you about undefined +labels. *Note Citations::. + + Labels in Eplain's cross-reference commands can use characters of +category code eleven (letter), twelve (other), ten (space), three (math +shift), four (alignment tab), seven (superscript), or eight (subscript). +For example, '(a1 $&^_' is a valid label (assuming the category codes of +plain TeX), but '%#\{' has no valid characters. + + You can also do symbolic cross-references for bibliographic citations +and list items. *Note Citations::, and *note Lists::. + + Eplain can create hypertext links for the cross-references (*note +Cross-reference hyperlinks::). + +* Menu: + +* Defining generic references:: +* Using generic references:: + + +File: eplain.info, Node: Defining generic references, Next: Using generic references, Up: Cross-references + +4.9.1 Defining generic references +--------------------------------- + +Eplain provides the command '\definexref' for general cross-references. +It takes three arguments: the name of the label (see section above for +valid label names), the value of the label (which can be anything), and +the "class" of the reference--whether it's a section, or theorem, or +what. For example: + + \definexref{sec-intro}{3.1}{section} + +Of course, the label value is usually generated by another macro using +TeX count registers or some such. + + '\definexref' doesn't actually define LABEL; instead, it writes out +the definition to the .aux file, where Eplain will read it on the next +TeX run. + + The CLASS argument is used by the '\ref' and '\refs' commands. See +the next section. + + +File: eplain.info, Node: Using generic references, Prev: Defining generic references, Up: Cross-references + +4.9.2 Using generic references +------------------------------ + +To retrieve the value of the label defined via '\definexref' (see the +previous section), Eplain provides the following macros: + +'\refn{LABEL}' +'\xrefn{LABEL}' + '\refn' and '\xrefn' (they are synonyms) produce the bare + definition of LABEL. If LABEL isn't defined, issue a warning, and + produce LABEL itself instead, in typewriter. (The warning isn't + given if '\xrefwarningfalse'.) + +'\ref{LABEL}' + Given the class C for LABEL (see the description of '\definexref' + in the previous section), expand the control sequence '\C word' (if + it's defined) followed by a tie. Then call '\refn' on LABEL. + (Example below.) + +'\refs{LABEL}' + Like '\ref', but append the letter 's' to the '\...word'. + + The purpose of the '\...word' macro is to produce the word 'Section' +or 'Figure' or whatever that usually precedes the actual reference +number. + + Here is an example: + + \def\sectionword{Section} + \definexref{sec-intro}{3.1}{section} + \definexref{sec-next}{3.2}{section} + See \refs{sec-intro} and \refn{sec-next} ... + +This produces 'See Sections 3.1 and 3.2 ...' + + +File: eplain.info, Node: Page references, Next: Equation references, Prev: Cross-references, Up: User definitions + +4.10 Page references +==================== + +Eplain provides two commands for handling references to page numbers, +one for definition and one for use. + +'\xrdef{LABEL}' + Define LABEL to be the current page number. This produces no + printed output, and ignores following spaces. + +'\xref{LABEL}' + Produce the text 'p. PAGENO', which is the usual form for + cross-references. The PAGENO is actually LABEL's definition; if + LABEL isn't defined, the text of the label itself is printed. The + 'p. ' prefix is defined by '\xrefpageword'. Its default definition + is 'p.\thinspace'. + + Eplain can create hypertext links for the page references (*note Page +reference hyperlinks::). + + +File: eplain.info, Node: Equation references, Next: Indexing, Prev: Page references, Up: User definitions + +4.11 Equation references +======================== + +Instead of referring to pages, it's most useful if equation labels refer +to equation numbers. Therefore, Eplain reserves a '\count' register, +'\eqnumber', for the current equation number, and increments it at each +numbered equation. + + Here are the commands to define equation labels and then refer to +them: + +'\eqdef{LABEL}' + This defines LABEL to be the current value of '\eqnumber', and, if + the current context is not inner, then produces a '\eqnum' command + (*note Displays::). (The condition makes it possible to use + '\eqdef' in an '\eqalignno' construction, for example.) The text of + the equation number is produced using '\eqprint'. *Note Formatting + equation references::. + + If LABEL is empty, you still get an equation number (although + naturally you can't reliably refer to it). This is useful if you + want to put numbers on all equations in your document, and you + don't want to think up unique labels. + + To refer to the last equation with the empty label, you just use + the empty label in one of the equation reference macros (see + below). This can be handy when you want to refer to an equation + shortly after its definition, say, in the sentence following the + displayed equation, and do not intend to refer to the equation + later. But use this trick with extreme caution: if later you change + the text and insert another empty definition between the original + definition and the reference, the reference will start to refer to + the new empty-labeled equation. + +'\eqdefn{LABEL}' + This is like '\eqdef', except it always omits the '\eqnum' command. + It can therefore be used in places where '\eqdef' can't; for + example, in a non-displayed equation. The text of the equation + number is not produced, so you can also use it in the (admittedly + unusual) circumstance when you want to define an equation label but + not print that label. + +'\eqref{LABEL}' + This produces a formatted reference to LABEL. If LABEL is undefined + (perhaps because it is a forward reference), it just produces the + text of the label itself. Otherwise, it calls '\eqprint'. + +'\eqrefn{LABEL}' + This produces the cross-reference text for LABEL. That is, it is + like '\eqref', except it doesn't call '\eqprint'. + + Equation labels can contain the same characters that are valid in +general cross-references. + + Eplain can create hypertext links for the equation references (*note +Equation reference hyperlinks::). + +* Menu: + +* Formatting equation references:: +* Subequation references:: + + +File: eplain.info, Node: Formatting equation references, Next: Subequation references, Up: Equation references + +4.11.1 Formatting equation references +------------------------------------- + +Both defining an equation label and referring to it should usually +produce output. This output is produced with the '\eqprint' macro, which +takes one argument, the equation number being defined or referred to. By +default, this just produces '(NUMBER)', where NUMBER is the equation +number. To produce the equation number in a different font, or with +different surrounding symbols, or whatever, you can redefine '\eqprint'. +For example, the following definition would print all equation numbers +in italics. (The extra braces define a group, to keep the font change +from affecting surrounding text.) + + \def\eqprint#1{{\it (#1)}} + + In addition to changing the formatting of equation numbers, you might +want to add more structure to the equation number; for example, you +might want to include the chapter number, to get equation numbers like +'(1.2)'. To achieve this, you redefine '\eqconstruct'. For example: + + \def\eqconstruct#1{\the\chapternumber.#1} + +(If you are keeping the chapter number in a count register named +'\chapternumber', naturally.) + + The reason for having both '\eqconstruct' and '\eqprint' may not be +immediately apparent. The difference is that '\eqconstruct' affects the +text that cross-reference label is defined to be, while '\eqprint' +affects only what is typeset on the page. The example just below might +help. + + Usually, you want equation labels to refer to equation numbers. But +sometimes you might want a more complicated text. For example, you might +have an equation '(1)', and then have a variation several pages later +which you want to refer to as '(1*)'. + + Therefore, Eplain allows you to give an optional argument (i.e., +arbitrary text in square brackets) before the cross-reference label to +'\eqdef'. Then, when you refer to the equation, that text is produced. +Here's how to get the example just mentioned: + + $$...\eqdef{a-eq}$$ + ... + $$...\eqdef[\eqrefn{a-eq}*]{a-eq-var}$$ + In \eqref{a-eq-var}, we expand on \eqref{a-eq}, ... + +We use '\eqrefn' in the cross-reference text, not '\eqref', so that +'\eqprint' is called only once. + + As another example, consider the following requirement: we want to +include chapter number in all equation references, and additionally we +want to include the part number when referencing an equation from any +part other than the one where the equation appears. For example, +references to the third equation in chapter 2 of part 1 should be +typeset as '(2.3)' throughout part 1, but as '(I.2.3)' in any other +part. Let's assume we have the current chapter and part numbers in count +registers '\chapnum' and '\partnum', respectively. + + The idea is to have '\eqconstruct' store the part number of the +equation (that is, the part number _at the time of definition_), so that +later '\eqprint' can compare the stored number with the current part +number (that is, the part number _at the time of reference_). The +complicating factor is that internally, the result of '\eqconstruct' is +both expanded and written out to the '.aux' file, _and_ used to typeset +the equation number, so the commands that store the part number should +behave correctly in both situations. This is difficult to achieve with +expandable commands; therefore, to avoid expansion problems, we are +going to use only TeX primitives, which are non-expandable: + + \newcount\eqpartnum + + \def\eqconstruct#1{% + \global\eqpartnum=\the\partnum\relax + \number\chapnum.#1% + } + + \def\eqprint#1{% + \setbox0=\hbox{#1}% + (\ifnum\partnum=\eqpartnum \else + \uppercase\expandafter{\romannumeral\eqpartnum}.% + \fi + \box0)% + }% + +In '\eqconstruct', besides constructing the base equation number (e.g., +'1.2'), we also store the part number of the equation in the count +register '\eqpartnum' ('\the\partnum' is expanded when the equation +number is written to the '.aux' file, so the equation label definition +in the '.aux' file will contain the actual part number). In '\eqprint', +we need to know the equation's part number before we typeset the base +equation number, therefore we first put the argument in a box, thus +causing '\eqpartnum' to be set. + + +File: eplain.info, Node: Subequation references, Prev: Formatting equation references, Up: Equation references + +4.11.2 Subequation references +----------------------------- + +Eplain also provides for one level of substructure for equations. That +is, you might want to define a related group of equations with numbers +like '2.1' and '2.2', and then be able to refer to the group as a whole: +"... in the system of equations (2)...". + + The commands to do this are '\eqsubdef' and '\eqsubdefn'. They take +one LABEL argument like their counterparts above, and generally behave +in the same way. The difference is in how they construct the equation +number: instead of using just '\eqnumber', they also use another +counter, '\subeqnumber'. This counter is advanced by one at every +'\eqsubdef' or '\eqsubdefn', and reset to zero at every '\eqdef' or +'\eqdefn'. + + You use '\eqref' to refer to subequations as well as main equations. + + To put the two together to construct the text that the label will +produce, they use a macro '\eqsubreftext'. This macros takes two +arguments, the "main" equation number (which, because the equation label +can be defined as arbitrary text, as described in the previous section, +might be anything at all) and the "sub" equation number (which is always +just a number). Eplain's default definition just puts a period between +them: + + \def\eqsubreftext#1#2{#1.#2}% + +You can redefine '\eqsubreftext' to print however you like. For example, +this definition makes the labels print as '2a', '2b', and so on. + + \newcount\subref + \def\eqsubreftext#1#2{% + \subref = #2 % The space stops a <number>. + \advance\subref by 96 % `a' is character code 97. + #1\char\subref + } + +Sadly, we must define a new count register, '\subref', instead of using +the scratch count register '\count255', because '#1' might include other +macro calls which use '\count255'. + + +File: eplain.info, Node: Indexing, Next: Justification, Prev: Equation references, Up: User definitions + +4.12 Indexing +============= + +Eplain provides support for generating raw material for an index, and +for typesetting a sorted index. A separate program must do the actual +collection and sorting of terms, because TeX itself has no support for +sorting. + + Eplain can create hypertext links pointing from the index to the +index terms (*note Index hyperlinks::). + + Eplain's indexing commands were designed to work with the program +MakeIndex, available from CTAN hosts in +'tex-archive/indexing/makeindex'; MakeIndex is also commonly included in +prepackaged TeX distributions. It is beyond the scope of this manual to +explain how to run MakeIndex, and all of its many options. See +<http://www.ctan.org/tex-archive/indexing/makeindex>. + + The basic strategy for indexing works like this: + + 1. For a document 'foo.tex', Eplain's indexing commands (e.g., '\idx'; + see the section 'Indexing terms' below) write the raw index + material to 'foo.idx'. + + 2. MakeIndex reads 'foo.idx', collects and sorts the index, and writes + the result to 'foo.ind'. + + 3. Eplain reads and typesets 'foo.ind' on a subsequent run of TeX. See + the section 'Typesetting an index' below. + +The 'texi2dvi' program can help you automate this process (*note +Invoking Eplain::). + + If your document needs more than one index, each must have its own +file. Therefore, Eplain provides the command '\defineindex', which takes +an argument that is a single letter, which replaces 'i' in the filenames +and in the indexing command names described below. For example, + + \defineindex{m} + +defines the command '\mdx' to write to the file 'foo.mdx'. Eplain simply +does '\defineindex{i}' to define the default commands. + + Note that MakeIndex does not use the above naming scheme for multiple +indexes. Unless instructed otherwise, MakeIndex always writes its output +to a file with extension '.ind'. For example, if you define an +additional index with the command '\defineindex{j}', you'll need to run +MakeIndex like this: + + $ makeindex book.jdx -o book.jnd + + For each index defined with '\defineindex{N}', Eplain provides a +switch '\ifNdx' which controls whether indexing commands write index +entries to the corresponding index file. However, even when index term +writing is disabled, indexing commands still do all other processing of +their arguments, including typesetting of proof index terms (*note +Proofing index terms::. + + For example, if you write '\idxfalse' near the beginning of a +document 'foo.tex' (before the first indexing command), Eplain will not +open the default index file ('foo.idx') and the corresponding indexing +commands ('\idx', '\sidx', etc.) will not write index entries there. +This may be useful for draft compilations of a manuscript, e.g., to +avoid the overhead of index file input/output. + +* Menu: + +* Indexing terms:: Specifying what to index. +* Typesetting an index:: Printing the sorted output. +* Customizing indexing:: Creating commands and specifying extra actions. + + +File: eplain.info, Node: Indexing terms, Next: Typesetting an index, Up: Indexing + +4.12.1 Indexing terms +--------------------- + +Indexing commands in Eplain come in pairs: one command that only writes +the index entry to the '.idx' file (see above section), and one that +also typesets the term being indexed. The former always starts with 's' +(for "silent"). In either case, the name always includes 'Idx', where I +is the index letter, also described above. Eplain defines the index 'i' +itself, so that's what we'll use in the names below. + + The silent form of the commands take a subterm as a trailing optional +argument. For example, '\sidx{truth}[definition of]' on page 75 makes an +index entry that will eventually be typeset (by default) as + + truth + definition of, 75 + + Also, the silent commands ignore trailing spaces. The non-silent ones +do not. + +* Menu: + +* Indexing commands:: Making index entries. +* Modifying index entries:: Ranges, see/see also, page number typesetting. +* Index entries with special characters:: +* Proofing index terms:: Noting index entries in the margins. + + +File: eplain.info, Node: Indexing commands, Next: Modifying index entries, Up: Indexing terms + +4.12.1.1 Indexing commands +.......................... + +Here are the commands. + + * '\sidx{TERM}[SUBTERM]' makes an index entry for TERM, optionally + with subterm SUBTERM. '\idx{TERM}' also produces TERM as output. + Example: + + \sidx{truth}[beauty of] + The beauty of truth is \idx{death}. + + Subterms at the second and further levels can also be specified in + SUBTERM, using the '\idxsubentryseparator' character to separate + them. This character is by default '!'. + + * '\sidxname{FIRST M.}{VON LAST}[SUBTERM]' makes an index entry for + 'VON LAST, FIRST M.'. You can change the ', ' by redefining + '\idxnameseparator'. '\idxname{FIRST M.}{VON LAST}' also produces + FIRST M. VON LAST as output. (These commands are useful special + cases of '\idx' and '\sidx'.) Example: + + \sidxname{Richard}{Stark} + \idxname{Donald}{Westlake} has written many kinds of novels, under + almost as many names. + + * '\sidxmarked\CS{TERM}[SUBTERM]' makes an index entry for + 'TERM[SUBTERM]', but TERM will be put in the index as '\CS{term}', + but still sorted as just TERM. '\idxmarked\CS{TERM}' also typesets + '\CS{term}'. This provides for the usual ways of changing the + typesetting of index entries. Example: + + \def\article#1{``#1''} + \sidxmarked\article{Miss Elsa and Aunt Sophie} + Peter Drucker's \idxmarked\article{The Polanyis} is a remarkable + essay about a remarkable family. + + * '\sidxsubmarked{TERM}\CS{subterm}' makes an index entry for TERM, + SUBTERM as usual, but also puts SUBTERM in the index as + '\CS{term}'. '\idxsubmarked{TERM}\CS{subterm}' also typesets 'TERM + \CS{subterm}', in the unlikely event that your syntax is convoluted + enough to make this useful. Example: + + \def\title#1{{\sl #1}} + \sidxsubmarked{Anderson, Laurie}\title{Strange Angels} + The \idxsubmarked{Anderson}\title{Carmen} is a strange twist. + + The commands above rely on MakeIndex's feature for separating sorting +of an index entry's from its typesetting. You can use this directly by +specifying an index entry as 'SORT@TYPESET'. For example: + + \sidx{Ap-weight@$A_\pi$-weight} + +will sort as 'Ap-weight', but print with the proper math. The '@' here +is MakeIndex's default character for this purpose. See +<http://www.ctan.org/tex-archive/indexing/makeindex>. To make an index +entry with an '@' in it, you have to escape it with a backslash; Eplain +provides no macros for doing this. + + After any index command, Eplain runs '\hookaction{afterindexterm}'. +Because the index commands always add a whatsit item to the current +list, you may wish to preserve a penalty or space past the new item. For +example, given a conditional '\if@aftersctnhead' set true when you're at +a section heading, you could do: + + \hookaction{afterindexterm}{\if@aftersctnhead \nobreak \fi} + + +File: eplain.info, Node: Modifying index entries, Next: Index entries with special characters, Prev: Indexing commands, Up: Indexing terms + +4.12.1.2 Modifying index entries +................................ + +All the index commands described in the previous section take an initial +optional argument before the index term, which modify the index entry's +meaning in various ways. You can specify only one of the following in +any given command, except that 'begin' and 'end' can be specified +together with 'pagemarkup=CS' (separate them with a comma without a +following space, like this: '[begin,pagemarkup=defn]'). + + These work via MakeIndex's "encapsulation" feature. *Note Customizing +indexing::, if you're not using the default characters for the MakeIndex +operators. The other optional argument (specifying a subterm) is +independent of these. + + Here are the possibilities: + +'begin' +'end' + These mark an index entry as the beginning or end of a range. The + index entries must match exactly for MakeIndex to recognize them. + Example: + + \sidx[begin]{future}[Cohen, Leonard] + ... + \sidx[end]{future}[Cohen, Leonard] + + will typeset as something like + + future, + Cohen, Leonard, 65-94 + +'see' + This marks an index entry as pointing to another; the real index + term is an additional (non-optional) argument to the command. Thus + you can anticipate a term readers may wish to look up, yet which + you have decided not to index. Example: + + \sidx[see]{analysis}[archetypal]{archetypal criticism} + + becomes + + analysis, + archetypal, see archetypal criticism + +'seealso' + Similar to 'see' (the previous item), but also allows for normal + index entries of the referencing term. The normal index entries + have to be created separately--'seealso' does _not_ contribute a + page number to the index entry. For example, if you have indexed a + term on pages 75, 97 and 114, and then add a 'seealso' entry for + the term: + + \sidx[seealso]{archetypal criticism}[elements of]{dichotomies} + + the index will contain + + archetypal criticism, + elements of, 75, 97, 114, see also dichotomies + + (Aside for the academically curious: The archetypally critical book + I took these dichotomous examples from is Laurence Berman's 'The + Musical Image', which I happened to co-design and typeset.) + +'pagemarkup=CS' + This puts '\CS' before the page number in the typeset index, thus + allowing you to underline definitive entries, italicize examples, + and the like. You do _not_ precede the control sequence CS with a + backslash. (That just leads to expansive difficulties.) Naturally + it is up to you to define the control sequences you want to use. + Example: + + \def\defn#1{{\sl #1}} + \sidx[pagemarkeup=defn]{indexing} + + becomes something like + + indexing, \defn{75} + + +File: eplain.info, Node: Index entries with special characters, Next: Proofing index terms, Prev: Modifying index entries, Up: Indexing terms + +4.12.1.3 Index entries with special characters +.............................................. + +Indexing terms with special characters can become quite cumbersome +because you have to keep both TeX and MakeIndex happy at the same time. +For example, while '!' has no special meaning for TeX, it is a subentry +separator for MakeIndex, therefore you'd have to escape occurrences of +literal '!' in index terms. Things get even more interesting with +characters which are special in both TeX and MakeIndex. + + This in turn has some implications for the non-silent forms of the +indexing commands (*note Indexing terms::), since TeX and MakeIndex use +different conventions for escaping characters. For example, this will +not typeset the exclamation point correctly within the text, while it +will come out right inside the index, after MakeIndex strips the quoting +character ('"'): + + \idx{"!} + +This would have to be rewritten using the silent command: + + !\sidx{"!} + +In general, it is a good idea to eschew the non-silent commands whenever +index term contains anything unusual. + + To understand this keep in mind that indexing commands read the terms +verbatim so that the terms can embed almost any character, and that's +what gets written into the '.idx' file. The non-silent forms then +typeset the term by rescanning the verbatim copy, hence for the +non-silent commands the term, besides being a valid MakeIndex input, +must also represent a valid TeX input. The silent commands don't have +this restriction--their terms only need to become valid TeX input +_after_ MakeIndex processes the '.idx' file and writes the '.ind' file. +This is what makes the non-silent commands less powerful and more +troublesome when dealing with special characters. + + Here's an example showing that terms for the silent commands can +contain almost any character: + + \sidx[see]{comments}[with %@with \verbatim %"|endverbatim] + {commenting with \verbatim %"|endverbatim} + +We didn't have to escape '%' in the sort string for MakeIndex, while we +had to put it inside the verbatim environment (*note Verbatim listing::) +in the part which MakeIndex will pass back to TeX. Also, we had to +escape the '|' character because it is special for MakeIndex. If you +have trouble understanding the reasons for the different types of +escaping used, it is best to examine the '.idx' and '.ind' files +resulting from processing the above input. + + As was mentioned, index terms can embed "almost any character", so +now we'll describe the exceptions. + + The following characters are reset to their usual meanings because +they are not useful verbatim: multiple consequent spaces are converted +into a single space; ASCII tab characters are treated as spaces; ASCII +return is treated as end-of-line (this means, among other things, that +long terms can be broken across several lines). + + You have to be careful with the begin- and end-group characters ('{' +and '}' by default). If they are matched, you don't have to do anything +special. For example: + + \sidx {braces {, }@braces + \verbatim {"|endverbatim, \verbatim }"|endverbatim} + +However, if they are not matched you have two problems on hand. The +first one is TeX--you have to instruct TeX to use something else as +begin- and/or end-group characters. Eplain provides an easy way to do +this: just define '\idxargopen' and/or '\idxargclose' to the begin- and +end-group characters you are going to use with indexing macros, and use +braces inside index terms without any restrictions. Here's an example: + + \def\idxargopen{`\<} + \def\idxargclose{`\>} + \sidx <left brace "{@left brace \verbatim "{"|endverbatim> + +In this example we've also dealt with the second problem--braces are +MakeIndex's grouping characters as well (by default), so we have escaped +unmatched braces with '"'. + + And the final note: if you need a subentry containing brackets ('[' +and ']'), avoid the optional argument of '\sidx' and friends, and use +instead MakeIndex's subentry separator to create the subentry with the +brackets in it: + + \sidx{entry!subentry with a bracket [} + + +File: eplain.info, Node: Proofing index terms, Prev: Index entries with special characters, Up: Indexing terms + +4.12.1.4 Proofing index terms +............................. + +As you are reading through a manuscript, it is helpful to see what terms +have been indexed, so you can add others, catch miscellaneous errors, +etc. (Speaking from bitter experience, I can say it is extremely +error-prone to leave all indexing to the end of the writing, since it +involves adding many TeX commands to the source files.) + + So Eplain puts index terms in the margin of each page, if you set +'\indexproofingtrue'. It is 'false' by default. The terms are typeset by +the macro '\indexproofterm', which takes a single argument, the term to +be typeset. Eplain's definition of '\indexproofterm' just puts it into +an '\hbox', first doing '\indexprooffont', which Eplain defines to +select the font 'cmtt8'. With this definition long terms run off the +page, but since this is just for proofreading anyway, it seems +acceptable. + + On the other hand, we certainly don't want the index term to run into +the text of the page, so Eplain uses the right-hand side of the page +rather than the left-hand page (assuming a language read left to right +here). So '\ifodd\pageno', Eplain kerns by '\outsidemargin', otherwise +by '\insidemargin'. If those macros are undefined, '\indexsetmargins' +defines them to be one inch plus '\hoffset'. + + To get the proofing index entries on the proper page, Eplain defines +a new insertion class '\@indexproof'. To unbox any index proofing +material, Eplain redefines '\makeheadline' to call '\indexproofunbox' +before the original '\makeheadline'. Thus, if you have your own output +routine, that redefines or doesn't use '\makeheadline', it's up to you +to call '\indexproofunbox' at the appropriate time. + + +File: eplain.info, Node: Typesetting an index, Next: Customizing indexing, Prev: Indexing terms, Up: Indexing + +4.12.2 Typesetting an index +--------------------------- + +The command '\readindexfile{i}' reads and typesets the '.ind' file that +MakeIndex outputs (from the '.idx' file which the indexing commands in +the previous sections write). Eplain defines a number of commands that +support the default MakeIndex output. + + More precisely, '\readindexfile' reads +'\indexfilebasename.INDEX-LETTERnd', where the INDEX-LETTER is the +argument. '\indexfilebasename' is '\jobname' by default, but if you have +different indexes in different parts of a book, you may wish to change +it, just as with bibliographies (*note Citations::). + + MakeIndex was designed to work with LaTeX; therefore, by default the +'.ind' file starts with '\begin{theindex}' and ends with +'\end{theindex}'. If no '\begin' has been defined, Eplain defines one to +ignore its argument and set up for typesetting the index (see below), +and also defines a '\end' to ignore its argument. (In a group, +naturally, since there is a primitive '\end'). + + Eplain calls '\indexfonts', sets '\parindent = 0pt', and does +'\doublecolumns' (*note Multiple columns::) at the '\begin{theindex}'. +'\indexfonts' does nothing by default; it's just there for you to +override. (Indexes are usually typeset in smaller type than the main +text.) + + It ends the setup with '\hookrun{beginindex}', so you can override +anything you like in that hook (*note Hooks::). For example: + + \hookaction{beginindex}{\triplecolumns} + + MakeIndex turns each main index entry into an '\item', subentries +into '\subitem', and subsubentries into '\subsubitem'. By default, the +first line of main entries are not indented, and subentries are indented +1em per level. Main entries are preceded by a '\vskip' of +'\aboveitemskipamount', '0pt plus2pt' by default. Page breaks are +encouraged before main entries ('\penalty -100'), but prohibited +afterwards--Eplain has no provision for "continued" index entries. + + All levels do the following: + + \hangindent = 1em + \raggedright + \hyphenpenalty = 10000 + + Each entry ends with '\hookrun{indexitem}', so you can change any of +this. For example, to increase the allowable rag: + + \hookaction{indexitem}{\advance\rightskip by 2em} + + Finally, MakeIndex outputs '\indexspace' between each group of +entries in the '.ind' file. Eplain makes this equivalent to '\bigbreak'. + + +File: eplain.info, Node: Customizing indexing, Prev: Typesetting an index, Up: Indexing + +4.12.3 Customizing indexing +--------------------------- + +By default, MakeIndex outputs ', ' after each term in the index. To +change this, you can add the following to your MakeIndex style ('.ist') +file: + + delim_0 "\\afterindexterm " + delim_1 "\\afterindexterm " + delim_2 "\\afterindexterm " + +Eplain makes '\afterindexterm' equivalent to '\quad'. + + You can also change the keywords Eplain recognizes (*note Modifying +index entries::): + +'\idxrangebeginword' + 'begin' + +'\idxrangeendword' + 'end' + +'\idxseecmdword' + 'see' + +'\idxseealsocmdword' + 'seealso' + + You can also change the magic characters Eplain puts into the '.idx' +file, in case you've changed them in the '.ist' file: + +'\idxsubentryseparator' + '!' + +'\idxencapoperator' + '|' + +'\idxbeginrangemark' + '(' + +'\idxendrangemark' + ')' + + There is no macro for the 'actual' ('@' by default) character, +because it's impossible to make it expand properly. + + You can change the (imaginary) page number that "see also" entries +sort as by redefining '\idxmaxpagenum'. This is 99999 by default, which +is one digit too many for old versions of MakeIndex. + + The words output by Eplain for "see" and "see also" index entries are +defined by '\indexseeword' and '\indexseealsowords' respectively. You +can change the typeface used for these words by redefining +'\seevariant'. And finally, the macros '\indexsee' and '\indexseealso' +actually produce the "see ..." entries, so you can redefine them if you +want something entirely different. If you do redefine them, make them +take two parameters, the term being referenced and the '\idxmaxpagenum' +(the latter should normally be ignored). See the example below. + + Unfortunately, it is impossible to reliably control the commas +produced by MakeIndex in front of "see ..." entries in the '.ind' file, +either at MakeIndex level or at Eplain level. However, the 'sed' script +contained in 'trimsee' distributed with Eplain in the 'util' directory +can be used to filter out these commas from the output of MakeIndex. For +example, suppose you want the following style for your "see ..." +entries: + + analysis, + archetypal (see archetypal criticism) + archetypal criticism, + elements of, 75, 97, 114 (see also dichotomies) + +You would need to redefine these macros in your TeX file: + + \def\indexsee#1#2{({\seevariant \indexseeword\/ }#1)} + \def\indexseealso#1#2{({\seevariant \indexseealsowords\/ }#1)} + +and then filter out the commas in front of the "see ..." entries by +running the following command to produce the '.ind' file (assuming the +name of the '.idx' file is 'myfile.idx' and the 'trimsee' script is +placed in the current directory): + + prompt$ cat myfile.idx | makeindex | ./trimsee > myfile.ind + + By default, 'trimsee' uses default page list separators and default +"see ..." command names. If you set up MakeIndex to use different page +list separator or change the names of '\indexsee' and '\indexseealso' +commands, it is possible to adjust the 'trimsee' script through its +command line options, which are the following: + +'-i IS' + Use IS as a regular expression matching separator before "see ..." + commands in the input (default: ', \+'). + +'-o OS' + Use OS as a separator to replace IS before "see ..." commands + (default: ' '). + +'-s SEE' + Use SEE as a regular expression matching "see ..." commands + (default: '\\indexsee'). + +'-h' +'--help' + Print a usage message. + +'-v' +'--version' + Print version. + + 'trimsee' reads input from the standard input, and directs its output +to the standard output. + + +File: eplain.info, Node: Justification, Next: Tables, Prev: Indexing, Up: User definitions + +4.13 Justification +================== + +Eplain defines three commands to conveniently justify multiple lines of +text: '\flushright', '\flushleft', and '\center'. + + They all work in the same way; let's take '\center' as the example. +To start centering lines, you say '\center' inside a group; to stop, you +end the group. Between the two commands, each end-of-line in the input +file also starts a new line in the output file. + + The entire block of text is broken into paragraphs at blank lines, so +all the TeX paragraph-shaping parameters apply in the usual way. This is +convenient, but it implies something else that isn't so convenient: +changes to any linespacing parameters, such as '\baselineskip', will +have _no effect_ on the paragraph in which they are changed. TeX does +not handle linespacing changes within a paragraph (because it doesn't +know where the line breaks are until the end of the paragraph). + + The space between paragraphs is by default one blank line's worth. +You can adjust this space by assigning to '\blanklineskipamount'; this +(vertical) glue is inserted after each blank line. + + Here is an example: + + {\center First line. + + Second line, with a blank line before. + } + +This produces: + + First line. + Second line, with a blank line before. + + You may wish to use the justification macros inside of your own +macros. Just be sure to put them in a group. For example, here is how a +title macro might be defined: + + \def\title{\begingroup\titlefont\center} + \def\endtitle{\endgroup} + + +File: eplain.info, Node: Tables, Next: Margins, Prev: Justification, Up: User definitions + +4.14 Tables +=========== + +Eplain provides a single command, '\makecolumns', to make generating one +particular kind of table easier. More ambitious LaTeX styles and macro +packages tackle more difficult applications. The 'autorows' feature of +the Memoir package provides similar functionality to this. + + Many tables are homogenous, i.e., all the entries are semantically +the same. The arrangement into columns is to save space on the page, not +to encode different meanings. In this kind of the table, it is useful to +have the column breaks chosen automatically, so that you can add or +delete entries without worrying about the column breaks. + + '\makecolumns' takes two arguments: the number of entries in the +table, and the number of columns to break them into. As you can see from +the example below, the first argument is delimited by a slash, and the +second by a colon and a space (or end-of-line). The entries for the +table then follow, one per line (not including the line with the +'\makecolumns' command itself). + + '\parindent' defines the space to the left of the table. '\hsize' +defines the width of the table. So you can adjust the position of the +table on the page by assignments to these parameters, probably inside a +group. + + You can also control the penalty at a page break before the +'\makecolumns' by setting the parameter '\abovecolumnspenalty'. Usually, +the table is preceded by some explanatory text. You wouldn't want a page +break to occur after the text and before the table, so Eplain sets it to +'10000'. But if the table produced by '\makecolumns' is standing on its +own, '\abovecolumnspenalty' should be decreased. + + If you happen to give '\makecolumns' a smaller number of entries than +you really have, some text beyond the (intended) end of the table will +be incorporated into the table, probably producing an error message, or +at least some strange looking entries. And if you give '\makecolumns' a +larger number of entries than you really have, some of the entries will +be typeset as straight text, probably also looking somewhat out of +place. + + Here is an example: + + % Arrange 6 entries into 2 columns: + \makecolumns 6/2: % This line doesn't have an entry. + one + two + three + four + five + six + Text after the table. + +This produces 'one', 'two', and 'three' in the first column, and 'four', +'five', and 'six' in the second. + + +File: eplain.info, Node: Margins, Next: Multiple columns, Prev: Tables, Up: User definitions + +4.15 Margins +============ + +TeX's primitives describe the type area in terms of an offset from the +upper left corner, and the width and height of the type. Some people +prefer to think in terms of the "margins" at the top, bottom, left, and +right of the page, and most composition systems other than TeX conceive +of the page laid out in this way. Therefore, Eplain provides commands to +directly assign and increment the margins. + +'\topmargin = DIMEN' +'\bottommargin = DIMEN' +'\leftmargin = DIMEN' +'\rightmargin = DIMEN' + These commands set the specified margin to the DIMEN given. The '=' + and the spaces around it are optional. The control sequences here + are not TeX registers, despite appearances; therefore, commands + like '\showthe\topmargin' will not do what you expect. + +'\advancetopmargin by DIMEN' +'\advancebottommargin by DIMEN' +'\advanceleftmargin by DIMEN' +'\advancerightmargin by DIMEN' + These commands change the specified margin by the DIMEN given. + + Regardless of whether you use the assignment or the advance commands, +Eplain always changes the type area in response, not the other margins. +For example, when TeX starts, the left and right margins are both one +inch. If you then say '\leftmargin = 2in', the right margin will remain +at one inch, and the width of the lines (i.e., '\hsize') will decrease +by one inch. + + When you use any of these commands, Eplain computes the old value of +the particular margin, by how much you want to change it, and then +resets the values of TeX's primitive parameters to correspond. +Unfortunately, Eplain cannot compute the right or bottom margin without +help: you must tell it the full width and height of the final output +page. It defines two new parameters for this: + +'\paperheight' + The height of the output page; default is 11truein. + +'\paperwidth' + The width of the output page; default is 8.5truein. + + If your output page has different dimensions than this, you must +reassign to these parameters, as in + + \paperheight = 11truein + \paperwidth = 17truein + + +File: eplain.info, Node: Multiple columns, Next: Footnotes, Prev: Margins, Up: User definitions + +4.16 Multiple columns +===================== + +Eplain provides for double, triple, and quadruple column output: say +'\doublecolumns', '\triplecolumns', or '\quadcolumns', and from that +point on, the manuscript will be set in columns. To go back to one +column, say '\singlecolumn'. + + You may need to invoke '\singlecolumn' to balance the columns on the +last page of output. + + To do a "column eject", i.e., move to the top of the next column, do +'\columnfill'. This does not actually force an eject, however: it merely +inserts an unbreakable space of (essentially) size '\@normalvsize' minus +'\pagetotal' (where '\@normalvsize' is the usual height of the page; to +implement multicolumns, Eplain multiplies '\vsize' itself by the number +of columns). In most circumstances, a column break will be forced after +this space (during the column splitting operation when the whole page is +output). Bugs are easily possible, unfortunately. + + The columns are separated by the value of the dimen parameter +'\gutter'. Default value is two picas. If you want to add vertical +material between the columns, use '\gutterbox'. For example, to put a +vertical line between columns, define '\gutterbox' as + + \def\gutterbox{\vbox to \dimen0{\vfil\hbox{\vrule height\dimen0}\vfil}}% + +The dimension counter '\dimen0' contains the height of the column. + + All the '\...columns' macros insert the value of the glue parameter +'\abovecolumnskip' before the multicolumn text, and the value of the +glue parameter '\belowcolumnskip' after it. The default value for both +of these parameters is '\bigskipamount', i.e., one linespace in plain +TeX. + + The macros take into account only the insertion classes defined by +plain TeX; namely, footnotes and '\topinsert's. If you have additional +insertion classes, you will need to change the implementation. + + Also, Eplain makes insertions the full page width. There is no +provision for column-width insertions. + + +File: eplain.info, Node: Footnotes, Next: Fractions, Prev: Multiple columns, Up: User definitions + +4.17 Footnotes +============== + +The most common reference mark for footnotes is a raised number, +incremented on each footnote. The '\numberedfootnote' macro provides +this. It takes one argument, the footnote text. + + If your document uses only numbered footnotes, you could make typing +'\numberedfootnote' more convenient with a command such as: + + \let\footnote = \numberedfootnote + +After doing this, you can type your footnotes as '\footnote{FOOTNOTE +TEXT}', instead of as '\numberedfootnote{FOOTNOTE TEXT}'. + + Eplain keeps the current footnote number in the count register +'\footnotenumber'. So, to reset the footnote number to zero, as you +might want to do at, for example, the beginning of a chapter, you could +say '\footnotenumber=0'. + + Plain TeX separates the footnote marker from the footnote text by an +en space (it uses the '\textindent' macro). In Eplain, you can change +this space by setting the dimension register '\footnotemarkseparation'. +The default is still an en. + + You can produce a space between footenotes by setting the glue +register '\interfootnoteskip'. The default is zero. + + '\parskip' is also set to zero by default before the beginning of +each footnote (but not for the text of the footnote). + + You can also control footnote formatting in a more general way: +Eplain expands the token register '\everyfootnote' before a footnote is +typeset, but after the default values for all the parameters have been +established. For example, if you want your footnotes to be printed in +seven-point type, indented by one inch, you could say: + + \everyfootnote = {\sevenrm \leftskip = 1in} + + By default, an '\hrule' is typeset above each group of footnotes on a +page. You can control the dimensions of this rule by setting the +dimension registers '\footnoterulewidth' and '\footnoteruleheight'. The +space between the rule and the first footnote on the page is determined +by the dimension register '\belowfootnoterulespace'. If you don't want +any rule at all, set '\footenoteruleheight=0pt', and, most likely, +'\belowfootnoterulespace=0pt'. The defaults for these parameters typeset +the rule in the same way as plain TeX: the rule is 0.4 points high, 2 +true inches wide, with 2.6 points below it. + + The space above the rule and below the text on the page is controlled +by the glue register '\skip\footins'. The default is a plain TeX +'\bigskip'. + + Eplain can create hypertext links for the footnote marks (*note +Footnote hyperlinks::). + + +File: eplain.info, Node: Fractions, Next: Paths, Prev: Footnotes, Up: User definitions + +4.18 Fractions +============== + +Exercise 11.6 of 'The TeXbook' describes a macro '\frac' for setting +fractions, but '\frac' never made it into plain TeX. So Eplain includes +it. + + '\frac' typesets the numerator and denominator in '\scriptfont0', +slightly raised and lowered. The numerator and denominator are separated +by a slash. The denominator must be enclosed in braces if it's more than +one token long, but the numerator need not be. (This is a consequence of +'\frac' taking delimited arguments; see page 203 of 'The TeXbook' for an +explanation of delimited macro arguments.) + + For example, '\frac 23/{64}' turns '23/64' into 23/64 (you can't see +the difference in the Info file). + + +File: eplain.info, Node: Paths, Next: Logos, Prev: Fractions, Up: User definitions + +4.19 Paths +========== + +When you typeset long pathnames, electronic mail addresses, or other +such "computer" names, you would like TeX to break lines at punctuation +characters within the name, rather than trying to find hyphenation +points within the words. For example, it would be better to break the +email address 'letters@alpha.gnu.ai.mit.edu' at the '@' or a '.', rather +than at the hyphenation points in 'letters' and 'alpha'. + + If you use the '\path' macro to typeset the names, TeX will find +these good breakpoints. The argument to '\path' is delimited by any +character other other than '\' which does not appear in the name itself. +'|' is often a good choice, as in: + + \path|letters@alpha.gnu.ai.mit.edu| + + You can control the exact set of characters at which breakpoints will +be allowed by calling '\discretionaries'. This takes the same sort of +delimited argument; any character in the argument will henceforth be a +valid breakpoint within '\path'. The default set is essentially all the +punctuation characters: + + \discretionaries |~!@$%^&*()_+`-=#{}[]:";'<>,.?\/| + + If for some reason you absolutely must use '\' as the delimiter +character for '\path', you can set '\specialpathdelimiterstrue'. (Other +delimiter characters can still be used.) TeX then processes the '\path' +argument about four times more slowly. + + The '\path' macro comes from 'path.sty', written by Nelson Beebe and +Philip Taylor and available at +<http://www.ctan.org/tex-archive/macros/latex/contrib/misc/path.sty>. + + +File: eplain.info, Node: Logos, Next: Boxes, Prev: Paths, Up: User definitions + +4.20 Logos +========== + +Eplain redefines the '\TeX' macro of plain TeX to end with '\null', so +that the proper spacing is produced when '\TeX' is used at the end of a +sentence. The other ...TeX macros listed here do this, also. + + Eplain defines '\AMSLaTeX', '\AMSTeX', '\BibTeX' '\eTeX', '\ExTeX', +'\LAMSTeX', '\LaTeX', '\MF', '\SLiTeX', '\XeLaTeX', and '\XeTeX' to +produce their respective logos. (Sorry, the logos are not shown here.) +Some spelling variants of these are also supported. + + Most of these macros come from 'texnames.sty', compiled by Nelson +Beebe and available at +<http://www.ctan.org/tex-archive/info/biblio/texnames.sty>. + + +File: eplain.info, Node: Boxes, Next: Checking for PDF output, Prev: Logos, Up: User definitions + +4.21 Boxes +========== + +The solid rectangle that Eplain uses as a marker in unordered lists +(*note Lists::) is available by itself: just say '\blackbox'. + + You can create black boxes of arbitrary size with '\hrule' or +'\vrule'. + + You can also get unfilled rectangles with '\makeblankbox'. This takes +two explicit arguments: the height and depth of the rules that define +the top and bottom of the rectangle. (The two arguments are added to get +the width of the left and right borders, so that the thickness of the +border is the same on all four sides.) It also uses, as implicit +arguments, the dimensions of '\box0' to define the dimensions of the +rectangle it produces. (The contents of '\box0' are ignored.) + + Here is an example. This small raised open box is suitable for +putting next to numbers in, e.g., a table of contents. + + \def\openbox{% + \ht0 = 1.75pt \dp0 = 1.75pt \wd0 = 3.5pt + \raise 2.75pt \makeblankbox{.2pt}{.2pt} + } + + Finally, you can put a box around arbitrary text with '\boxit'. This +takes one argument, which must itself be a (TeX) box, and puts a printed +box around it, separated by '\boxitspace' white space (3 points by +default) on all four sides. For example: + + \boxit{\hbox{This text is boxed.}} + + The reason that the argument must be a box is that when the text is +more than one line long, TeX cannot figure out the line length for +itself. Eplain does set '\parindent' to zero inside '\boxit', since it +is very unlikely you would want indentation there. (If you do, you can +always reset it yourself.) + + '\boxit' uses '\ehrule' and '\evrule' so that you can easily adjust +the thicknesses of the box rules. *Note Rules::. + + +File: eplain.info, Node: Checking for PDF output, Next: Loading LaTeX packages, Prev: Boxes, Up: User definitions + +4.22 Checking for PDF output +============================ + +pdfTeX is a TeX variant that can output both '.dvi' and '.pdf' (Adobe's +Portable Document Format) files (see +<http://www.ctan.org/tex-archive/systems/pdftex>). You might sometimes +want to know whether the target format is '.pdf' or '.dvi'. The '\ifpdf' +switch can be used to detect pdfTeX in PDF mode: + + \ifpdf + This text is produced when pdfTeX is in PDF mode. + \else + This text is produced when pdfTeX is in DVI mode, + or when some program other than pdfTeX is used. + \fi + + Keep in mind that '\ifpdf' is set based on the value of the +'\pdfoutput' primitive of pdfTeX at the time Eplain is loaded. If you +change the value of '\pdfoutput' after you load Eplain, '\ifpdf' will +not reflect the change. + + Eplain defines '\ifpdf' by incorporating Heiko Oberdiek's +'ifpdf.sty', which is available at +<http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/ifpdf.sty>. + + +File: eplain.info, Node: Loading LaTeX packages, Prev: Checking for PDF output, Up: User definitions + +4.23 Loading LaTeX packages +=========================== + +Eplain provides a limited support for loading LaTeX packages ('.sty' +files--not '.cls'). This will mostly work for packages which were +designed with plain TeX compatibility in mind, which means that most +LaTeX packages cannot be loaded. The packages which are known to work +are listed below (*note Packages known to work::). If you discover a +working package which is not in the list, please report it to the Eplain +mailing list (*note Introduction::). + + To set up a pseudo-LaTeX environment for the packages, Eplain uses +'miniltx.tex' +(<http://www.ctan.org/tex-archive/macros/plain/graphics/miniltx.tex>) +from the LaTeX graphics collection, written by David Carlisle and +Sebastian Rahtz (the collection is available at +<http://www.ctan.org/tex-archive/macros/latex/required/graphics>). +Eplain extends 'miniltx.tex' to provide some additional features, e.g., +support for package options. + +* Menu: + +* The \usepackage command:: Command to load packages. +* Environment for loading packages:: Environment for the \usepackage commands. +* Packages known to work:: Packages supported with Eplain. +* Packages known not to work:: Packages known not to work with Eplain. + + +File: eplain.info, Node: The \usepackage command, Next: Environment for loading packages, Up: Loading LaTeX packages + +4.23.1 The '\usepackage' command +-------------------------------- + +'\usepackage' loads a LaTeX package. Its syntax is similar to that of +LaTeX's '\usepackage' command: + + \usepackage[OPTIONS]{PACKAGES}[VERSION] + +where OPTIONS is a comma-separated list of package options, PACKAGES is +a comma-separated list of packages to load (without the '.sty' suffix), +and VERSION is a package version number given as a date in the format +'YYYY/MM/DD'. If an older version of the package is found, a warning is +issued. If several packages are loaded within a single '\usepackage' +command, the OPTIONS will be applied to each of the packages. As usual, +parameters in square brackets are optional and can be omitted (together +with the square brackets). + + For example: + + \usepackage[foo,bar]{pack1,pack2}[2005/08/29] + +will load packages 'pack1' and 'pack2', each with the options 'foo' and +'bar', and will check that each of the packages are dated 2005/08/29 or +newer. + + +File: eplain.info, Node: Environment for loading packages, Next: Packages known to work, Prev: The \usepackage command, Up: Loading LaTeX packages + +4.23.2 Environment for loading packages +--------------------------------------- + +Some packages request that certain commands are executed after all +packages have been loaded. In LaTeX, this means that the commands are +executed at the beginning of the document, after the so-called +"preamble". Neither plain TeX nor Eplain have a concept of preamble; +therefore, Eplain requires that all packages be loaded inside a +'\beginpackages...\endpackages' block. For example: + + \beginpackages + \usepackage[foo,bar]{pack1} + \usepackage{pack2} + \endpackages + +This requirement enables Eplain to execute the "delayed" commands at the +end of the '\beginpackages...\endpackages' block. + + For the same reason, it is advisable to specify only one such block +per document, just like there is only one preamble in LaTeX. + + Both the 'miniltx.tex' file used by Eplain and some LaTeX packages +redefine TeX's primitive '\input' to be a macro. Under plain TeX, users +probably expect the primitive '\input'. Therefore, at the beginning of +the '\beginpackages...\endpackages' block Eplain saves the meaning of +'\input' as '\eplaininput' and restores the original '\input' at the end +of the block. This usually means that the primitive '\input' is +restored, unless you (or some other macro package you've loaded +directly) have redefined it before calling '\beginpackages'. In case you +need to access the package-provided '\input', Eplain saves it as +'\packageinput'. + + Along the same lines, Eplain restores the catcode of '@' at +'\endpackages' to whatever it was before (using '\resetatcatcode', as +defined by 'miniltx.tex'). This is needed because 'miniltx.tex', read by +'\beginpackages', does not restore the catcode of '@', but leaves it as +11 (letter). + + Sometimes you may encounter packages which make conflicting +redefinitions of '\input'. Common symptoms are TeX spewing +incomprehensible error messages or hanging in a loop at a call to +'\input'. This sometimes cna be cured by restoring '\input' to +'\eplaininput' before loading each package. For example: + + \beginpackages + \usepackage{pack1} + \let\input\eplaininput + \usepackage{pack2} + \endpackages + + +File: eplain.info, Node: Packages known to work, Next: Packages known not to work, Prev: Environment for loading packages, Up: Loading LaTeX packages + +4.23.3 Packages known to work +----------------------------- + +The following table lists packages that had been tested and are known to +work with Eplain, and locations where you can find manuals for these +packages. Some of the short descriptions of the packages were taken from +the documentation for those packages. + +autopict ('2001/06/04 v1.1j Picture mode autoload file') + <http://tug.org/eplain/misc/ltpictur.pdf> + + This is the LaTeX "picture mode", started by '\begin{picture}' and + ended by '\end{picture}' (in LaTeX, this package is not explicitly + loaded since it is part of the LaTeX kernel). It provides commands + to draw simple figures inside your document without resorting to + any external tools. + +color ('1999/02/16 v1.0i Standard LaTeX Color (DPC)') +graphics ('2001/07/07 v1.0n Standard LaTeX Graphics (DPC,SPQR)') +graphicx ('1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)') + <http://www.ctan.org/tex-archive/macros/latex/required/graphics/grfguide.pdf> + + These packages are from the LaTeX graphics collection. They provide + commands for changing text/page colors, text rotation and scaling, + and much more. + + *Warning 1:* If you encounter problems loading one of these + packages under pdfTeX (more specifically, when pdfTeX reads + 'supp-mis.tex'), the cause may be an outdated 'supp-mis.tex' (part + of ConTeXt, a typesetting system for TeX) installed on your system. + The problem was fixed in 'supp-mis.tex' version 2004.10.26. You can + obtain up-to-date versions of 'supp-mis.tex' and the accompanying + 'supp-pdf.tex' from + <http://www.ctan.org/tex-archive/macros/pdftex/graphics>. To + convince TeX to use the new files, you have the following options + in the decreasing order of preference: + + 1. put the new files in the same directory with your document; + + 2. overwrite the outdated files installed by your TeX + distribution; + + 3. install the new 'supp-mis.tex' and 'supp-pdf.tex' files in the + relevant subdirectory of your local 'texmf' tree (for info on + TeX directory structure see + <http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds>); + + 4. upgrade your ConTeXt installation. + + Note that option 1 is the safest but provides the fix only for your + current document. Options 2 and 3 will usually suffice for Eplain + but may break ConTeXt. Option 4 is the most general but is more + complicated than the first three. Be sure to backup any files you + overwrite. Also keep in mind that upgrading your TeX distribution + may overwrite files you install in the system 'texmf' tree. + *End of warning 1.* + + *Warning 2:* If you encounter problems using the '\pagecolor' + command from the 'color.sty' package under pdfTeX, the cause may be + an outdated pdfTeX color and graphics driver 'pdftex.def'. The + problem was fixed in 'pdftex.def' version 0.03p. You can obtain an + up-to-date version from + <http://www.ctan.org/tex-archive/graphics/pdftex/pdftex.def>. + *End of warning 2.* + + The 'graphics'/'graphicx' packages have the option 'draft' which + instructs '\includegraphics' not to include the graphics but + instead typeset a box with the dimensions of the graphics and the + name of the graphics file in typewriter type at the center of the + box. These packages expect the LaTeX-provided command '\ttfamily' + to switch to the typewrite type. This command is not defined by + 'miniltx.tex', therefore Eplain defines it and makes it equivalent + to plain TeX's '\tt'. + + *Note Hyperlinks (xhyper.tex)::, for the demonstration of text + rotation and graphics inclusion using the 'graphicx' package, and + using the 'color' package to colorize hypertext links. + + Klaus Ho"ppner has written a nice introduction to the LaTeX + graphics packages and different graphics formats. You can download + it from + <http://www.tug.org/pracjourn/2005-3/hoeppner> + +epstopdf ('2009/07/16 v2.2 Conversion with epstopdf on the fly (HO)') + <http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek> + + This package does on-the-fly conversion of Encapsulated PostScript + (EPS) graphics into Portable Document Format (PDF) graphics for + inclusion with the '\includegraphics' command from the + 'graphics'/'graphicx' packages, so that you do not have to + explicitly call the 'epstopdf' script. + +psfrag ('1998/04/11 v3.04 PSfrag (MCG)') + <http://www.ctan.org/tex-archive/macros/latex/contrib/psfrag/pfgguide.pdf> + + PSfrag allows the user to precisely overlay Encapsulated PostScript + (EPS) files with arbitrary (La)TeX constructions. In order to + accomplish this, the user places a simple text "tag" in the + graphics file, as a "position marker" of sorts. Then, using simple + (La)TeX commands, the user instructs PSfrag to remove that tag from + the figure, and replace it with a properly sized, aligned, and + rotated (La)TeX equation. + +soul ('2003/11/17 v2.4 letterspacing/underlining (mf)') + <http://www.ctan.org/tex-archive/macros/latex/contrib/soul> + + This package provides hyphenatable letterspacing (spacing out), + underlining, and some derivatives. The package is optimized for + LaTeX, but works with plain TeX--you don't actually need to load it + with the '\usepackage' command, just say '\input soul.sty'. If you + intend to use the highlighting macros of 'soul', don't forget to + load the 'color' package. + +url ('2005/06/27 ver 3.2 Verb mode for urls, etc.') + <http://www.ctan.org/tex-archive/macros/latex/contrib/misc/url.sty> + + This package provides a form of '\verbatim' that allows line breaks + at certain characters or combinations of characters, accepts + reconfiguration, and can usually be used in the argument to another + command. It is intended for email addresses, hypertext links, + directories/paths, etc., which normally have no spaces. + + Eplain can create hypertext links with the '\url' command (*note + URL hyperlinks::). + + Be sure to get a version dated at least 2005/06/27, as older + versions have problems in plain TeX. + + +File: eplain.info, Node: Packages known not to work, Prev: Packages known to work, Up: Loading LaTeX packages + +4.23.4 Packages known not to work +--------------------------------- + +The following packages are known not to work with Eplain: + +hyperref + <http://www.ctan.org/tex-archive/macros/latex/contrib/hyperref> + + This package depends heavily on LaTeX, so that it is mostly + unusable outside of LaTeX. Eplain provides its own macros for + creating hyperlinks, see *note Hyperlinks::. + +pict2e ('2005/07/15 v0.2r Improved picture commands (HjG,RN)') + <http://www.ctan.org/tex-archive/macros/latex/contrib/pict2e> + +xcolor ('2005/06/06 v2.03 LaTeX color extensions (UK)') + <http://www.ctan.org/tex-archive/macros/latex/contrib/xcolor> + + +File: eplain.info, Node: Hyperlinks, Next: Arrow theoretic diagrams, Prev: User definitions, Up: Top + +5 Hyperlinks +************ + +This chapter describes the support which Eplain provides for hypertext +links ("hyperlinks" for short). Hyperlinks can be created implicitly by +the cross-reference, indexing and other macros in Eplain. Macros for +constructing explicit hyperlinks are also provided. + +* Menu: + +* Introduction to hyperlinks:: +* Explicit hyperlinks:: +* Implicit hyperlinks:: +* Hyperlink drivers:: +* Setting hyperlink types and options:: +* Turning hyperlinks on/off:: + + +File: eplain.info, Node: Introduction to hyperlinks, Next: Explicit hyperlinks, Up: Hyperlinks + +5.1 Introduction to hyperlinks +============================== + +The original TeX engine has no built-in support for hyperlinks (a.k.a. +hypertext links). Many of the present-day file formats with hyperlinking +capabilities did not even exist at the time TeX was written. However, +TeX's '\special' primitive can be used to instruct TeX to write special +directives into its '.dvi' output file. These directives are not +interpreted by TeX in any way; they are intended for programs which +process the '.dvi' files produced by TeX, be it printing or converting +to other formats, such as '.ps' or '.pdf'. + + Another approach is to extend the original TeX engine with the +ability to generate one of the hyperlinking formats; TeX's set of +primitives can be extended to include hyperlink commands. This is the +approach used by the pdfTeX engine, which is capable of producing '.pdf' +files directly from the TeX source, skipping the '.dvi' generation and +processing step. + + It turns out that the sets of commands for different formats are +mostly not interchangeable, as each of the file formats has its own +quirks and capabilities. And this is where Eplain "hyperlink drivers" +come into play. + + In order for Eplain to generate proper commands, Eplain has to know +two things: which engine or '.dvi' processor you are using, and the set +of commands it understands. + + The knowledge about the commands that the various processors +understand is programmed into Eplain's hyperlink drivers. Eplain +provides three drivers: 'hypertex' (implementation of the HyperTeX +standard, see <http://arxiv.org/hypertex>), and 'pdftex' and 'dvipdfm' +(named after the programs which process the hyperlink commands, pdfTeX +and dvipdfm). Therefore, Eplain can only produce HyperTeX commands and +hyperlink commands for one of these two programs--except that the +extended 'dvipdfmx' program can be used as well as the original +'dvipdfm', since they are compatible. + + To tell Eplain which '.dvi' processor or extended TeX engine you are +using, use the command '\enablehyperlinks'. + + For example: + + \enablehyperlinks + +instructs Eplain to attempt to automatically detect which driver to use, +as follows: if it detects pdfTeX in PDF mode, it loads the 'pdftex' +driver. If it does not detect pdfTeX in PDF mode, the 'hypertex' driver +is loaded. The detection is based on the '\ifpdf' switch (*note Checking +for PDF output::). + + If necessary, you can explicitly specify the driver name: + + \enablehyperlinks[pdftex] + +will start producing hyperlinks under the assumption that you are using +pdfTeX. + + Eplain does not produce any hyperlinks until you explicitly enable +them with '\enablehyperlinks'. For one thing, this keeps Eplain +backward-compatible with previous releases without hyperlink support. +For another, you may be using a program other than pdfTeX or 'dvipdfm', +which does not understand their hyperlink commands or the HyperTeX +commands. + +Concepts and Terminology +------------------------ + +In general, hyperlinks work as follows. You mark some place in your +document as a hyperlink destination, associating a "hyperlink label" +with that destination. Next, somewhere within your document, you create +a hyperlink, using a label to identify the destination you want this +link to point to. A hyperlink is a region in the document (which can +take many forms, for example, text or a picture); when a user clicks on +that region, they will be taken to a place in the document marked by the +corresponding destination. The following two sections (*note Explicit +hyperlinks::, and *note Implicit hyperlinks::) describe the macros you +can use to define destinations and create links pointing to those +destinations. + + In the rest of this chapter, we will often need to refer to links and +destinations jointly, in which case we will use the term "hyperlinks". +We will use the terms "links" and "destinations" in cases when we need +to refer specifically to links or destinations. + + Hyperlink drivers provide several kinds of links and destinations. We +will refer to them as "link types" and "destination types". + + For example, one of the destination types that the 'pdftex' driver +provides is the 'xyz' type; when the user follows a link pointing to an +'xyz' destination, the exact location marked by that destination is +displayed. Another destination type provided by the 'pdftex' driver is +the 'fit' type; when the user follows a link pointing to a 'fit' +destination, the page containing that destination is zoomed to fit into +the window in which the document is displayed. + + Similarly, drivers support various link types. For example, with the +'pdftex' driver, the usual link type used to refer to destinations in +the current document is called 'name'. You can also create a link +pointing to another local document (by using the 'filename' link type) +or to a URL (by using the 'url' link type). + + In addition, each hyperlink driver supports a number of destination +and link "options". By setting these options you can customize hyperlink +parameters (e.g., the thickness of the border drawn around a hyperlink) +or pass information to hyperlinks (for example, file name of a document, +for a link pointing to a destination in another document). + + *Note Hyperlink drivers::, for the description of hyperlink types and +options supported by the drivers. *Note Setting hyperlink types and +options::, for the information on how to set hyperlink options. + + +File: eplain.info, Node: Explicit hyperlinks, Next: Implicit hyperlinks, Prev: Introduction to hyperlinks, Up: Hyperlinks + +5.2 Explicit hyperlinks +======================= + +Explicit hyperlinks are created by you, in the source of your document. +The simplest command is '\hldest', which marks the current position in +your document as a destination: + + \hldest{TYPE}{OPTIONS}{LABEL} + +Here TYPE is one of the destination types supported by the hyperlink +driver (*note Hyperlink drivers::), OPTIONS is a comma-separated list of +option assignments, and LABEL is the hyperlink label to associate with +this destination. This label will identify the destination when creating +links pointing to this destination. For example, with the 'pdftex' +driver, the command + + \hldest{xyz}{zoom=2000}{index} + +creates a destination of type 'xyz' ("the current position"), sets the +magnification ratio for this destination to be 200%, and associates the +label 'index' with the destination. + + Another command, '\hlstart', paired with '\hlend', turns all +intervening material into a link: + + \hlstart{TYPE}{OPTIONS}{LABEL} ... \hlend + +Here TYPE, OPTIONS and LABEL have the same meaning as for '\hldest'. +Continuing the previous example, + + \hlstart{name}{bstyle=U,bwidth=2}{index} Index\hlend + +typesets the word 'Index' as a link with underline border of +width 2 PostScript points, pointing to the named destination 'index' +defined in the previous example. (The other options, like highlight mode +and border color, are determined by the defaults, *note Setting default +types and options::). + + The LABEL argument of both '\hldest' and '\hlstart' can contain +special characters (such as '#', '%', '&', '~', etc.) without any +escaping. This is especially important for URL links supported by some +drivers (*note Hyperlink drivers::). + + Both '\hldest' and '\hlstart' ignore following spaces. + + Both '\hldest' and '\hlstart' expand the first token of OPTIONS once, +so you can save a list of options in a macro and pass it for the +OPTIONS. For example: + + \def\linkopts{bstyle=U,bwidth=2} + \hlstart{name}{\linkopts}{index}Index\hlend + +is functionally equivalent to the previous example. + + *Note Hyperlinks (xhyper.tex)::, for a demonstration of the usage of +explicit hyperlinks. + + +File: eplain.info, Node: Implicit hyperlinks, Next: Hyperlink drivers, Prev: Explicit hyperlinks, Up: Hyperlinks + +5.3 Implicit hyperlinks +======================= + +"Implicit hyperlinks" are hyperlinks created implicitly by various +Eplain macros, such as the macros for citations, cross-references, +indexing, etc. + + All such macros are divided into "link groups" and "destination +groups" (or "linkgroups" and "destgroups" for short) so that parameters +can be set individually for each group. For example, all equation macros +which define a destination are assigned to the 'eq' destgroup; equation +macros which create a link are assigned to the 'eq' linkgroup. By +setting parameters for the 'eq' linkgroup (destgroup), you can uniformly +customize all links (destinations) related to equation references, +without interfering with settings for the other groups. + + *Note Setting hyperlink types and options::, for information on how +to set parameters for a group. + + Here is the list of the linkgroups: + + hrefint, hrefext, url, cite, ref, xref, eq, idx, foot, footback. + + And here are the destgroups: + + bib, li, definexref, xrdef, eq, idx, foot, footback. + + *Note Hyperlinks (xhyper.tex)::, for a demonstration of the usage of +implicit hyperlinks. + + The following subsections describe each of the linkgroups and +destgroups and the hyperlink support provided. + +* Menu: + +* General hyperlinks:: hrefint, hrefext +* URL hyperlinks:: url +* Citation hyperlinks:: cite, bib +* List hyperlinks:: li +* Cross-reference hyperlinks:: definexref, ref +* Page reference hyperlinks:: xrdef, xref +* Equation reference hyperlinks:: eq +* Index hyperlinks:: idx +* Footnote hyperlinks:: foot, footback +* Contents hyperlinks:: + + +File: eplain.info, Node: General hyperlinks, Next: URL hyperlinks, Up: Implicit hyperlinks + +5.3.1 General hyperlinks: hrefint, hrefext +------------------------------------------ + +'\href{URL}{TEXT}' typesets TEXT as a link to URL. It basically does +what the explicit hyperlink macros do (*note Explicit hyperlinks::), but +is more convenient (at the expense of flexibility). + + If URL starts with '#', the rest of URL is assumed to be a local +hyperlink destination name (destination within the same document). +Parameters for these links can be set by customizing the 'hrefint' +linkgroup. For example: + + See \href{#intro}{Introduction} + +will make 'Introduction' into an internal link, which might have been +created, e.g., with '\xrdef{intro}'. + + If URL does not start with '#', it is assumed to be a URL link. +Parameters for these links can be set by customizing the 'hrefext' +linkgroup. The special characters (such as '#' and '~') in the URL don't +need to be escaped. For example: + + \href{http://tug.org/eplain/doc/eplain.html#Hyperlinks}{Hyperlinks + in Eplain} + \href{mailto:tex-eplain@tug.org}{Eplain mailing list} + +*Note URL hyperlinks::, for another way to create URL hyperlinks. + + The TEXT argument of '\href' can contain verbatim text (*note +Verbatim listing::) or other macros which manipulate character catcodes. +For example: + + \href{#WeirdChars}{The weird chars \verbatim #&%$~|endverbatim} + + '\href' does not currently handle other link types, such as 'file:' +and 'run:' links. + + +File: eplain.info, Node: URL hyperlinks, Next: Citation hyperlinks, Prev: General hyperlinks, Up: Implicit hyperlinks + +5.3.2 URL hyperlinks: url +------------------------- + +The 'url' linkgroup covers the '\url' command from the LaTeX package +'url' (*note Packages known to work::), as well as any new '\url'-like +commands you define. The type for this linkgroup is set to 'url' by the +drivers which support this link type. 'url' links use the parameter to +the '\url' command as the URL to point to. + + You may be using the '\url' command to typeset something other than a +URL, e.g., a path, for which you do not want a link to be created; in +that case, you can disable the 'url' linkgroup with the command +'\hloff[url]' (*note Turning hyperlinks on/off for a group::). + + By default, URL (and other types of) links are boxed, so that they +are visually marked even if you do not load the LaTeX 'color' package +(*note Loading LaTeX packages::) and therefore link text is not colored. +You can see the effect by compiling the following code snippet (be sure +to get a modern 'url.sty', older versions do not work in plain TeX; +*note Packages known to work::): + + \input eplain + \beginpackages + \usepackage{url} + \endpackages + + \enablehyperlinks + + \url{http://foo/bar} + + \url{mailto:foobar@example.org} + + \bye + + If the hyperlink driver you use supports the link option 'bwidth' +(*note Hyperlink drivers::), you can produce colored links with no +border around them. Try this: + + \input eplain + \beginpackages + \usepackage{url} + \usepackage{color} + \endpackages + + \enablehyperlinks + \hlopts{bwidth=0} + + \url{http://foo/bar} + + \url{mailto:foobar@example.org} + + \bye + +The command '\hlopts{bwidth=0}' sets border width to zero as the default +for all links, and loading the 'color' package automatically colors +links using the default color (*note Options supported by all +drivers::). If you want the border width setting to apply to URL links +only, say '\hlopts[url]{bwidth=0}' (*note Setting hyperlink types and +options::). + + +File: eplain.info, Node: Citation hyperlinks, Next: List hyperlinks, Prev: URL hyperlinks, Up: Implicit hyperlinks + +5.3.3 Citation hyperlinks: cite, bib +------------------------------------ + +The 'cite' linkgroup includes only the '\cite' command (*note +Citations::). '\cite' turns each of the references in the list into a +link pointing to the respective bibliography entry produced by the +'\bibliography' command. + + The 'bib' destgroup includes the macros related to the +'\bibliography' command (*note Citations::). '\bibliography' inputs a +'.bbl' file, which contains a list of bibliography entries. For each of +the entries, a destination is defined. + + Both commands use the citation label as the hyperlink label. + + +File: eplain.info, Node: List hyperlinks, Next: Cross-reference hyperlinks, Prev: Citation hyperlinks, Up: Implicit hyperlinks + +5.3.4 List hyperlinks: li +------------------------- + +The 'li' destgroup consists of the '\li' command (*note Lists::), which +defines a destination if you supply the optional argument +(cross-reference label). This label is also used as the hyperlink label. + + +File: eplain.info, Node: Cross-reference hyperlinks, Next: Page reference hyperlinks, Prev: List hyperlinks, Up: Implicit hyperlinks + +5.3.5 Cross-reference hyperlinks: definexref, ref +------------------------------------------------- + +The 'definexref' destgroup is for the '\definexref' command (*note +Defining generic references::). '\definexref' defines a destination +using the cross-reference label (the first argument) as the hyperlink +label. + + The 'ref' linkgroup includes '\refn' and '\xrefn' (they are +synonyms), '\ref', and '\refs' (*note Using generic references::). + + '\refn' turns the cross-reference it produces into a link, using the +cross-reference label as the hyperlink label. If an optional argument is +present, it is tied by '\reftie' to the reference and become part of the +link. + + '\ref' works similarly to '\refn'. It takes an optional argument, +which is treated the same way as the optional argument to '\refn'. In +addition, '\ref' can produce a "class word". Both the optional argument +and the class word become part of the link, when present. The +cross-reference is tied by '\reftie' to the preceding word. The optional +argument is separated from the class word by '\refspace'. + + Unlike '\ref', '\refs' does not take an optional argument and does +not make the class word part of the link, which is appropriate for its +intended use. + + +File: eplain.info, Node: Page reference hyperlinks, Next: Equation reference hyperlinks, Prev: Cross-reference hyperlinks, Up: Implicit hyperlinks + +5.3.6 Page reference hyperlinks: xrdef, xref +-------------------------------------------- + +The 'xrdef' destgroup is for '\xrdef' (*note Page references::). +'\xrdef' defines a destination using cross-reference label as the +hyperlink label. + + The 'xref' linkgroup includes the '\xref' command (*note Page +references::). '\xref' turns its optional argument (followed by +'\refspace'), '\xrefpageword' and the cross-reference (page number) into +a link, using the cross-reference label as the hyperlink label. + + +File: eplain.info, Node: Equation reference hyperlinks, Next: Index hyperlinks, Prev: Page reference hyperlinks, Up: Implicit hyperlinks + +5.3.7 Equation reference hyperlinks: eq +--------------------------------------- + +All commands that define equation labels are part of the 'eq' destgroup. +These are '\eqdef', '\eqdefn', '\eqsubdef' and '\eqsubdefn' (*note +Equation references::). All these commands use the equation label as the +hyperlink label. However, if the equation label is empty, they make up a +(hopefully) unique hyperlink label for the destination. This label will +be used for the link when you refer to this empty-labeled equation with +one of the equation reference macros. + + The command '\phantomeqlabel' is called to generate hyperlink labels +for the empty-labeled equations. By default, it produces the labels in +the format 'PHEQNUMBER', where NUMBER comes from the count register +'\phantomeqnumber'; this count register is incremented at every +empty-labeled equation definition. + + The commands '\eqref' and '\eqrefn' (*note Equation references::) +form the 'eq' linkgroup. These commands take an optional argument, +which, when present, is tied with '\reftie' to the equation reference +and becomes part of the link. The equation label is used for the +hyperlink label; if the label is empty, the link is for the label +generated for the last empty-labeled equation. + + +File: eplain.info, Node: Index hyperlinks, Next: Footnote hyperlinks, Prev: Equation reference hyperlinks, Up: Implicit hyperlinks + +5.3.8 Index hyperlinks: idx +--------------------------- + +All indexing commands ('\idx', '\idxname', '\idxmarked', '\idxsubmarked' +and their silent equivalents, *note Indexing commands::) form the 'idx' +destgroup. The 'idx' linkgroup consists of the macros which are used to +typeset the index when you say '\readindexfile{INDEX-LETTER}' (*note +Typesetting an index::). + + To create the links in index entries, Eplain uses MakeIndex's +"encapsulation" feature. When you use an indexing macro to mark an index +term, Eplain writes out a line to the '.idx' file of the following +general form: + + \indexentry{ENTRY|PAGEMARKUP}{PAGENO} + +where ENTRY is the index entry (converted into the internal format that +MakeIndex understands), CS is the markup command you specified with the +'pagemarkup=CS' optional argument to the indexing commands (*note +Modifying index entries::), and PAGENO is the page number on which the +term appeared. When processing the '.idx' file, MakeIndex makes the page +number an argument to the page markup command ("encapsulates" the page +number), so the page number in the '.ind' file appears as '\CS{PAGENO}'. +Eplain internally replaces the CS command name with its own command, +which, in addition to calling the original '\CS' encapsulator, turns the +page number into a link. + + Eplain provides two approaches to linking page numbers in the index +to locations of index terms in the text. + +* Menu: + +* Exact destinations for index terms:: +* Page destinations for index terms:: +* Choosing destination placement:: +* Index page list and page range parsers:: +* Hyperlinks in see and see also entries:: + + +File: eplain.info, Node: Exact destinations for index terms, Next: Page destinations for index terms, Up: Index hyperlinks + +5.3.8.1 Exact destinations for index terms +.......................................... + +In this approach, each command that marks an index term defines a unique +destination and passes its label on to the '.idx' file as part of the +'\indexentry' command. The '\indexentry' line that Eplain writes to the +'.idx' file becomes + + \indexentry{ENTRY|hlidx{LABEL}{CS}}{PAGENO} + +where '\hlidx' is the command that is defined by Eplain to take three +arguments: a hyperlink label (LABEL), a name of page number encapsulator +(CS) and a page number (PAGENO). In the '.ind' file that MakeIndex will +generate, the page number will now appear as + + \hlidx{LABEL}{CS}{PAGENO} + +The result of this command is '\CS{PAGENO}', wrapped up into a link +pointing to LABEL destination. + + The hyperlink labels for the index terms are generated by the +'\hlidxlabel' command, by default in the format 'IDXNUMBER', where +NUMBER is the value of the count register '\hlidxlabelnumber'. This +count register is incremented at each index term. + + The advantage of this approach, as compared to the second approach +described below, is that links in the index point to exact locations of +the indexed terms on the page. The disadvantage of this approach is that +MakeIndex will regard _all_ index entries as distinct, because each one +contains a (unique) hyperlink label. This disadvantage can be partially +overcome by the script 'idxuniq' distributed with Eplain in the 'util' +directory. This script filters out '\indexentry' lines differing only in +the hyperlink label but identical otherwise. You should process the +'.idx' with this script before passing it on to MakeIndex. For example: + + prompt$ ./idxuniq file.idx | makeindex > file.ind + +Still, this solution is not ideal, as the page-range formation ability +of MakeIndex will not work, and there will be problems of apparently +identical index entries clashing (e.g., when a range-end entry appears +on the same page as another entry with the same definition; 'idxuniq' +will not filter out the second entry). + + +File: eplain.info, Node: Page destinations for index terms, Next: Choosing destination placement, Prev: Exact destinations for index terms, Up: Index hyperlinks + +5.3.8.2 Page destinations for index terms +......................................... + +In the second approach, Eplain does not write out any destination labels +for the index terms. Instead, Eplain writes out a wrapper for page +number encapsulator which can parse the page number and generate a link +pointing to the _page_ on which the term appeared. On top of each page +containing an index term, Eplain defines a destination with label +produced by '\hlidxpagelabel'. The '\hlidxpagelabel' command takes a +single argument (page number NUMBER) and by default produces the label +in the format 'IDXPGNUMBER'. + + With this approach, the '\indexentry' line which Eplain writes to the +'.idx' file looks like this: + + \indexentry{ENTRY|hlidxpage{CS}}{PAGENO} + +where '\hlidxpage' is the command that is defined by Eplain to take two +arguments: a name of page number encapsulator (CS) and a page number +(PAGENO). In the '.ind' file that MakeIndex will generate, the page +number will appear as + + \hlidxpage{CS}{PAGENO} + + The advantage of this approach is that all features of MakeIndex are +intact. The drawback is that links in the index do not point to exact +locations of indexed terms on a page, but to the top of a page on which +the term appears. + + Another disadvantage is that this approach depends on the page range +and page list separators which MakeIndex was configured to output. +'\hlidxpage' must be able to parse the first page number in a page range +like '1--4'. In addition, page list parsing is needed because MakeIndex +combines two consecutive page numbers in one call to the page number +encapsulator, so '\hlidxpage' can be passed, e.g., '1, 2' for the +PAGENO. In this last case, '\hlidxpage' splits the two page numbers, +applies '\CS' to each of them, and makes each of the page numbers a link +to the appropriate page. Note that this will alter typesetting slightly, +because now the page list separator (a comma followed by a space, by +default) is not typeset using the page number encapsulator ('\CS'). + + Eplain's defaults for the page list and page number delimiters are +the same as those in MakeIndex, a comma followed by a space (', ') and +two dashes ('--'), respectively. If you customize MakeIndex to use +different delimiters, you must not forget to let Eplain know about them +with the commands + + \setidxpagelistdelimiter{LIST-DELIM} + \setidxpagerangedelimiter{PAGE-DELIM} + +(*note Page list and page range parsers::). + + +File: eplain.info, Node: Choosing destination placement, Next: Index page list and page range parsers, Prev: Page destinations for index terms, Up: Index hyperlinks + +5.3.8.3 Choosing destination placement +...................................... + +The approach that Eplain should use for the index terms can be selected +in the '\enablehyperlinks' command. The optional argument it accepts is +a comma-separated list of options. The 'idxexact' option selects the +first approach, 'idxpage' the second, and 'idxnone' disables hyperlink +support for the index terms altogether, in case you want to stop Eplain +from writing its link wrappers into the '.idx' file. The default is +'idxpage'. + + For example: + + \enablehyperlinks[idxexact] + +selects the first approach ("exact index links"). + + +File: eplain.info, Node: Index page list and page range parsers, Next: Hyperlinks in see and see also entries, Prev: Choosing destination placement, Up: Index hyperlinks + +5.3.8.4 Index page list and page range parsers +.............................................. + +The macros that Eplain uses to parse page lists and page ranges, +'\idxparselist' and '\idxparserange', can sometimes be useful when +defining page number encapsulators. *Note Page list and page range +parsers::, for the description of these commands and an example of their +usage. + + +File: eplain.info, Node: Hyperlinks in see and see also entries, Prev: Index page list and page range parsers, Up: Index hyperlinks + +5.3.8.5 Hyperlinks in see and see also entries +.............................................. + +There is no automatic support for hyperlinks with "see" and "see also" +index entries, as there is not enough information to trace the +parameters of '\indexsee' and '\indexseealso' to corresponding index +entries. But if desired, this can be implemented with '\hldest' and +'\hlstart' (*note Explicit hyperlinks::); for example: + + \sidx{semantic theory of truth@% + \leavevmode\hldest{}{}{idx:theo truth}semantic theory of truth} + ... + \sidx[seealso]{truth}[definition of]% + {\hlstart{}{}{idx:theo truth}semantic theory of truth\hlend} + + +File: eplain.info, Node: Footnote hyperlinks, Next: Contents hyperlinks, Prev: Index hyperlinks, Up: Implicit hyperlinks + +5.3.9 Footnote hyperlinks: foot, footback +----------------------------------------- + +The 'foot' link and destination groups include the '\numberedfootnote' +and '\footnote' macros (*note Footnotes::). The 'footback' groups +include the same macros, but control parameters for links and +destinations created inside the footnote to point back to the footnote +mark within the text body. + + The macros use hyperlink labels generated by '\hlfootlabel' and +'\hlfootbacklabel'. The default formats for the labels are 'FOOTNUMBER' +and 'FOOTBNUMBER', respectively, where NUMBER is the value of the count +register '\hlfootlabelnumber'. This register is incremented at every +footnote. + + Generally, footnote hyperlinks are not of much use, because the +footnotes are usually placed on the same page as the footnote mark. +Therefore, footnote hyperlinks are disabled by default. Here is how you +can turn them on selectively, without affecting the other kinds of +hyperlinks (*note Turning hyperlinks on/off for a group::): + + \hldeston[foot,footback] + \hlon[foot,footback] + + +File: eplain.info, Node: Contents hyperlinks, Prev: Footnote hyperlinks, Up: Implicit hyperlinks + +5.3.10 Contents hyperlinks +-------------------------- + +There is currently no special support for hyperlinks in the table of +contents (*note Contents::), but implementing them with the '\hldest' +and '\hlstart ... \hlend' commands (*note Explicit hyperlinks::) should +be possible. + + +File: eplain.info, Node: Hyperlink drivers, Next: Setting hyperlink types and options, Prev: Implicit hyperlinks, Up: Hyperlinks + +5.4 Hyperlink drivers +===================== + +This section describes the hyperlink drivers: the types of hyperlinks +they support, and the options they accept. During the first reading, you +may only want to skim through this section. + + Some of the descriptions below come from 'Portable Document Format +Reference Manual Version 1.3', March 11, 1999. + +* Menu: + +* Options supported by all drivers:: +* Hyperlink driver hypertex:: +* Hyperlink drivers pdftex and dvipdfm:: +* Hyperlink driver nolinks:: + + +File: eplain.info, Node: Options supported by all drivers, Next: Hyperlink driver hypertex, Up: Hyperlink drivers + +5.4.1 Options supported by all drivers +-------------------------------------- + +This subsection describes the destination and link options which are +supported by all hyperlink drivers. + +Destination options supported by all drivers +............................................ + +'raise' + Specifies how much to raise destinations above the baseline. When + set to zero or empty, destinations are placed at the baseline. + + It is usually convenient to set this option to some variable + parameter, so that the height to which destinations are raised is + automatically adjusted according to the current context. For + example, setting it to '\normalbaselineskip' (or some fraction of + it, like '1.7\normalbaselineskip') makes the setting appropriate + for different point sizes, in case your document uses more than + one. + + The default setting is '\normalbaselineskip'. Initially, the + destgroups do not define this option, so they fall back on the + default, except for the 'eq' destgroup, for which this option is + set to '1.7\normalbaselineskip', to accommodate the usual cases of + large operators in displayed math. + + Example: '\hldestopts[eq]{raise=2.5\normalbaselineskip}' + +Link options supported by all drivers +..................................... + +'colormodel' +'color' + These two options define the color to be used for rendering the + link text. The colors are used only when a '\color' command is + defined, e.g., by loading the LaTeX 'color' package (*note Packages + known to work::). The '\color' command is called as + '\color[COLORMODEL]{COLOR}', where COLORMODEL and COLOR are the + definitions of the 'colormodel' and 'color' options, respectively. + However, if COLORMODEL is empty, the optional argument to '\color' + is omitted; and if COLOR is empty, the '\color' command is omitted + altogether. The default setting is 'COLORMODEL=cmyk' and + 'COLOR=0.28,1,1,0.35'. + + When specifying colors with several components delimited by commas + (e.g., RGB and CMYK colors in the LaTeX 'color' package), it is not + possible to specify the components directly in the option list of + '\hlopts', because comma is the option list delimiter. With the + 'color' package, it is possible to specify such colors by defining + a custom color with '\definecolor' and using the new color name + with an empty COLORMODEL (see examples below). + + Examples: + + \hlopts{colormodel=,color=blue}% predefined color + \definecolor{mycolor}{rgb}{.3,.8,.95} + \hlopts{colormodel=,color=mycolor}% custom color + \hlopts{colormodel=gray,color=.4} + + +File: eplain.info, Node: Hyperlink driver hypertex, Next: Hyperlink drivers pdftex and dvipdfm, Prev: Options supported by all drivers, Up: Hyperlink drivers + +5.4.2 Hyperlink driver 'hypertex' +--------------------------------- + +HyperTeX is a standard for inclusion of hyperlink information in TeX +(and LaTeX) documents (see <http://arxiv.org/hypertex>). This standard +defines a set of hyperlink tags implemented as '\special' commands +written into the DVI file. The major advantage of such standard is that +a single '.dvi' file containing HyperTeX commands can be viewed by any +HyperTeX-enabled viewer (e.g., any more or less modern version of +'xdvi') or converted to other file formats (e.g., PDF) by any +HyperTeX-enabled DVI converter (e.g., 'dvipdfmx' or 'dvips' with +Ghostscript's 'ps2pdf' script). + + The downside to the standard is that it is by design "the common +factor" of other formats supporting hyperlinks, so many features of a +particular file format cannot be supported by HyperTeX. Therefore, if +you need to use special features of a particular format, HyperTeX is not +a good choice. For the PDF file format, Eplain provides the 'pdftex' and +'dvipdfm' drivers which provide fine control over the PDF options (*note +Hyperlink drivers pdftex and dvipdfm::). + + For more information on programs which support the HyperTeX standard, +please see + + <http://arxiv.org/hypertex> + <http://www.tug.org/tex-archive/support/hypertex/hypertex> + +For convenience, we list a few HyperTeX-enabled converters: + +'dvips' + Note that you need to pass the '-z' option to 'dvips' to tell it to + preserve the information about the hyperlinks. To generate a '.pdf' + file with hyperlinks, you can use the 'ps2pdf' script of + Ghostscript. For example, if 'foo.tex' is a TeX file using HyperTeX + commands, then + + prompt$ tex foo.tex + prompt$ dvips -z foo.dvi -o + prompt$ ps2pdf foo.ps + + will produce 'foo.pdf' with hyperlinks. + +'dvipdfm' +'dvipdfmx' + No special command line arguments are required, these programs + automatically detect the HyperTeX commands. + + One more note is in place: support for the HyperTeX commands varies +from one previewer/converter to another, so you might need to experiment +to see if what you need is supported by the program(s) you intend to +use. For example, dvips(k) as of version 5.92b converts all internal +hyperlinks into page links pointing to a page containing the +destination, so that "exact" linking to destinations is not possible +(this was confirmed to be a bug and most probably has already been fixed +in later versions of dvips(k)); dvipdfm as of version 0.13.2c and +dvipdfmx as of version 20040411 do not correctly parse links to external +local files, and produce a URL link instead of a file link. + +* Menu: + +* Destination types for hypertex:: +* Destination options for hypertex:: +* Link types for hypertex:: +* Link options for hypertex:: + + +File: eplain.info, Node: Destination types for hypertex, Next: Destination options for hypertex, Up: Hyperlink driver hypertex + +5.4.2.1 Destination types for 'hypertex' +........................................ + +'xyz' + "Current position". This is the default type. + + Example: '\hldest{xyz}{}{dest123}' + +'raw' + The destination specification (in the form of a HyperTeX + '\special') is taken from the command sequence '\CS', where CS is + the value of the 'cmd' option. In the definition of '\CS', use + '\@hllabel' to refer to the hyperlink label. This option is + intended to be used with destgroups (*note Setting hyperlink types + and options::), as it does not make sense in a direct call to + '\hldest'--you can just call the raw command. + + Example: + + \makeatletter + \def\mydest{\special{html:<a name="\@hllabel">}% + \special{html:</a>}} + \resetatcatcode + \indent\hldest{raw}{cmd=mydest}{SpecialDest} + Special destination. + + +File: eplain.info, Node: Destination options for hypertex, Next: Link types for hypertex, Prev: Destination types for hypertex, Up: Hyperlink driver hypertex + +5.4.2.2 Destination options for 'hypertex' +.......................................... + +'cmd' + Name of the macro (without the leading '\') containing a HyperTeX + '\special' for the 'raw' destination. + + *Note Destination types for hypertex::, the description of the + 'raw' destination, for an example. + + +File: eplain.info, Node: Link types for hypertex, Next: Link options for hypertex, Prev: Destination options for hypertex, Up: Hyperlink driver hypertex + +5.4.2.3 Link types for 'hypertex' +................................. + +'name' + Go to a "named destination". The label is the destination name. All + destinations in HyperTeX are named destinations. This is the + default type. + + Example: '\hlstart{name}{}{dest123}Link to dest123\hlend' + +'url' + Go to a URL. The label is the URL. + + Example: + + \hlstart{url}{}{http://tug.org/eplain/}Eplain home\hlend + +'filename' + Go to a named destination in another file. The label is the + destination name. The file name is specified by the 'file' option. + The file name extension can be specified separately by the 'ext' + option. The idea is to set the 'ext' option globally at the + beginning of the document to avoid hard-coding the extension + together with the file name within each link--HyperTeX is not + restricted to any single output format, it can be DVI, PDF, + possibly other formats. + + Example: + + \hlopts{ext=.pdf} + \hlstart{filename}{file=book}{dest123} + Link to dest123 in file `book.pdf'\hlend + +'raw' + The link specification (in the form of a HyperTeX '\special') is + taken from the command sequence '\CS', where CS is the value of the + 'cmd' option. In the definition of '\CS', use '\@hllabel' to refer + to the hyperlink label. Use the predefined command '\hlhash' to + insert the '#' characters. This option is intended to be used with + linkgroups (*note Setting hyperlink types and options::), as it + does not make sense in a direct call to '\hlstart'--you can just + call the raw command. + + Example: + + \makeatletter + \def\mylink{\special{html:<a href="\hlhash\@hllabel">}} + \resetatcatcode + \hlstart{raw}{cmd=mylink}{SpecialDest} + Link to the special destination.\hlend + + +File: eplain.info, Node: Link options for hypertex, Prev: Link types for hypertex, Up: Hyperlink driver hypertex + +5.4.2.4 Link options for 'hypertex' +................................... + +'cmd' + Name of the macro (without the leading '\') containing a HyperTeX + '\special' for the 'raw' link. + + *Note Link types for hypertex::, the description of the 'raw' link, + for an example. + +'file' + File name for the 'filename' link type. See also the 'ext' option. + + *Note Link types for hypertex::, the description of the 'filename' + link, for an example. + +'ext' + File name extension for the 'filename' link type. The idea is to + set the 'ext' option globally at the beginning of the document to + avoid hard-coding the extension together with the file name within + each link--HyperTeX is not restricted to any single output format, + it can be DVI, PDF, possibly other formats. + + *Note Link types for hypertex::, the description of the 'filename' + link, for an example. + + +File: eplain.info, Node: Hyperlink drivers pdftex and dvipdfm, Next: Hyperlink driver nolinks, Prev: Hyperlink driver hypertex, Up: Hyperlink drivers + +5.4.3 Hyperlink drivers 'pdftex' and 'dvipdfm' +---------------------------------------------- + +This subsection describes link and destination types and options +supported by the 'pdftex' and 'dvipdfm' drivers. Many of the hyperlink +types and options are common to both drivers, so we describe them +together. + +* Menu: + +* Destination types for pdftex and dvipdfm:: +* Destination options for pdftex and dvipdfm:: +* Link types for pdftex and dvipdfm:: +* Link options for pdftex and dvipdfm:: + + +File: eplain.info, Node: Destination types for pdftex and dvipdfm, Next: Destination options for pdftex and dvipdfm, Up: Hyperlink drivers pdftex and dvipdfm + +5.4.3.1 Destination types for 'pdftex' and 'dvipdfm' +.................................................... + +'xyz' + "Current position". The option 'zoom' specifies magnification to + use (zero or empty means leave magnification unchanged, which is + the default). This is the default type. + + For 'dvipdfm': the options 'left' and 'top' specify position + coordinates to use (empty options mean current position coordinate, + which is the default). + + Example: '\hldest{xyz}{zoom=2000}{dest123}' + +'fit' + Fit the page to the window. + + Example: '\hldest{fit}{}{dest123}' + +'fith' + Fit the width of the page to the window. + + For 'dvipdfm': the 'top' option specifies vertical position + (default is empty, meaning current position). + + Example: '\hldest{fith}{}{dest123}' + +'fitv' + Fit the height of the page to the window. + + For 'dvipdfm': The option 'left' specifies horizontal position + (default is empty, meaning current position). + + Example: '\hldest{fitv}{}{dest123}' + +'fitb' + Fit the page's bounding box to the window. + + Example: '\hldest{fitb}{}{dest123}' + +'fitbh' + Fit the width of the page's bounding box to the window. + + For 'dvipdfm': the option 'top' specifies vertical position + (default is empty, meaning current position). + + Example: '\hldest{fitbh}{}{dest123}' + +'fitbv' + Fit the height of the page's bounding box to the window. + + For 'dvipdfm': the option 'left' specifies horizontal position + (default is empty, meaning current position). + + Example: '\hldest{fitbv}{}{dest123}' + +'fitr' + For 'pdftex': fit the rectangle specified by the options 'width', + 'height' and 'depth' (as a TeX rule specification) in the window. + For dimensions set to empty, the corresponding value of the parent + box is used (these are the defaults). + + For 'dvipdfm': fit the rectangle specified by the options 'left', + 'bottom', 'right' and 'top' (in PostScript points, 72 points per + inch) in the window. For dimensions set to empty, current position + coordinate is substituted (these are the defaults). + + Example for 'pdftex': + + \hldest{fitr}{width=\hsize, + height=.5\vsize,depth=0pt}{dest123} + + Example for 'dvipdfm': + + \hldest{fitr}{left=72,bottom=72, + right=720,top=360}{dest123} + +'raw' + The destination specification (in the form of a pdfTeX command or a + dvipdfm '\special') is taken from the command sequence '\CS', where + CS is the value of the 'cmd' option. In the definition of '\CS', + use '\@hllabel' to refer to the hyperlink label. This option is + intended to be used with destgroups (*note Setting hyperlink types + and options::), as it does not make sense in a direct call to + '\hldest'--you can just call the raw command. + + Example for 'pdftex': + + \makeatletter + \def\mydest{\pdfdest name{\@hllabel} xyz} + \resetatcatcode + \hldesttype{raw} + \hldestopts{cmd=mydest} + + Example for 'dvipdfm': + + \makeatletter + \def\mydest{\special{pdf: dest (\@hllabel) + [@thispage /XYZ @xpos @ypos 0]}} + \resetatcatcode + \hldesttype{raw} + \hldestopts{cmd=mydest} + + +File: eplain.info, Node: Destination options for pdftex and dvipdfm, Next: Link types for pdftex and dvipdfm, Prev: Destination types for pdftex and dvipdfm, Up: Hyperlink drivers pdftex and dvipdfm + +5.4.3.2 Destination options for 'pdftex' and 'dvipdfm' +...................................................... + +With respect to the destination options, the 'pdftex' and 'dvipdfm' +differ in the way the fit rectangle is specified (relative coordinates +for 'pdftex', absolute coordinates for 'dvipdfm'). + +Common destination options +.......................... + +'cmd' + Name of the macro (without the leading '\') containing a pdfTeX + command or a dvipdfm '\special' for the 'raw' destination. + + *Note Destination types for pdftex and dvipdfm::, the description + of the 'raw' destination, for an example. + +'zoom' + Magnification ratio times 1000 (like TeX's scale factor). Zero or + empty means leave magnification unchanged, which is the default. + + Example: '\hldest{xyz}{zoom=2000}{dest123}' + +'pdftex'-specific destination options +..................................... + +The dimension options below must be specified as a TeX rule +specification. When set to empty, the corresponding value of the parent +box is used (this is the default for all dimension options). + +'depth' + Depth of the fit rectangle for the 'fitr' destination. + +'height' + Height of the fit rectangle for the 'fitr' destination. + +'width' + Width of the fit rectangle for the 'fitr' destination. + + Example: + + \hldest{fitr}{width=\hsize, + height=.5\vsize,depth=0pt}{dest123} + +'dvipdfm'-specific destination options +...................................... + +The dimension options below must be specified in PostScript points +(72 points per inch), as a number without the 'bp' unit name. When set +to empty, the current position coordinate is used (this is the default +for all dimension options). + +'bottom' + Bottom position coordinate of a box specification for the various + destination types. + +'left' + Left position coordinate of a box specification for the various + destination types. + +'right' + Right position coordinate of a box specification for the various + destination types. + +'top' + Top position coordinate of a box specification for the various + destination types. + + Example: + + \hldest{fitr}{left=72,bottom=72, + right=720,top=360}{dest123} + + +File: eplain.info, Node: Link types for pdftex and dvipdfm, Next: Link options for pdftex and dvipdfm, Prev: Destination options for pdftex and dvipdfm, Up: Hyperlink drivers pdftex and dvipdfm + +5.4.3.3 Link types for 'pdftex' and 'dvipdfm' +............................................. + +Link types are the same for the 'pdftex' and 'dvipdfm' drivers, except +that the 'pdftex' driver provides one additional link type 'num' (link +to a numbered destination). dvipdfm does not support numbered +destinations, therefore it does not have this link type. Note that all +destinations created by Eplain hyperlink macros are named destinations; +to define a numbered destination, you have to use low-level pdfTeX +commands. + +Common link types +................. + +'name' + Go to a "named destination". The label is the destination name. All + destinations created with '\hldest' are named destinations (*note + Explicit hyperlinks::). This is the default type. + + Example: '\hlstart{name}{}{dest123}Link to dest123\hlend' + +'url' + Go to a URL. The label is the URL. + + Example: '\hlstart{url}{}{http://tug.org/eplain/}Eplain home\hlend' + +'page' + Go to a page. The label is the page number (counting from 1). Page + fitting is specified by the 'pagefit' option. + + Example: + + \hlstart{page}{pagefit=/FitH 600}{123} + Link to page~123\hlend + +'filename' + Go to a named destination in another file. The label is the + destination name. The file name is specified by the 'file' option. + Page fitting is specified by the 'pagefit' option. The 'newwin' + option specifies whether the destination document is opened in the + same window or in a new window. + + Example: + + \hlstart{filename}{file=book.pdf,newwin=1}{dest123} + Link to dest123 in file `book.pdf'\hlend + +'filepage' + Go to a page in another file. The label is the page number + (counting from 1). The file name is specified by the 'file' option. + Page fitting is specified by the 'pagefit' option. The 'newwin' + option specifies whether the destination document is opened in the + same window or in a new window. + + Example: + + \hlstart{filepage}{file=book.pdf,newwin=, + pagefit=/FitR 50 100 300 500}{1} + Link to page~1 in file `book.pdf'\hlend + +'raw' + The link specification (in the form of a pdfTeX command or a + dvipdfm '\special' primitive) is taken from the command sequence + '\CS', where CS is the value of the 'cmd' option. In the definition + of '\CS', use '\@hllabel' to refer to the hyperlink label. This + option is intended to be used with linkgroups (*note Setting + hyperlink types and options::), as it does not make sense in a + direct call to '\hlstart'--you can just call the raw command. + + Example for 'pdftex': + + % Redirect all \url links to the first page + \def\mycmd{\pdfstartlink goto page 1 {/Fit}} + \hltype[url]{raw} + \hlopts[url]{cmd=mycmd} + + Example for 'dvipdfm': + + % Redirect all \url links to the first page + \def\mycmd{\special{pdf: beginann <</Type/Annot /Subtype/Link + /Dest[0 /Fit]>>}} + \hltype[url]{raw} + \hlopts[url]{cmd=mycmd} + +'pdftex'-specific link types +............................ + +'num' + Go to a "numbered destination". The label is the destination + number. + + Example: '\hlstart{num}{}{123}Link to 123\hlend' + + +File: eplain.info, Node: Link options for pdftex and dvipdfm, Prev: Link types for pdftex and dvipdfm, Up: Hyperlink drivers pdftex and dvipdfm + +5.4.3.4 Link options for 'pdftex' and 'dvipdfm' +............................................... + +Link options are mostly the same for the 'pdftex' and 'dvipdfm' drivers. +The 'pdftex' driver has additional options to specify link dimensions. + +Common link options +................... + +'bcolor' + Border color. An array of three numbers in the range 0 to 1, + representing a color in DeviceRGB. + + Example: '\hlstart{name}{bcolor=.1 .5 1}{dest123}Link\hlend' + +'bdash' + Array of numbers representing on and off stroke lengths for drawing + dashes. + + Example: '\hlstart{name}{bstyle=D,bdash=2 4}{dest123}Link\hlend' + +'bstyle' + Link border style: + + 'S' + The border is drawn as a solid line. + + 'D' + The border is drawn with a dashed line (the dash pattern is + specified by the 'bdash' option). + + 'B' + The border is drawn in a beveled style. + + 'I' + The border is drawn in an inset style. + + 'U' + The border is drawn as a line on the bottom of the link + rectangle. + + The default is 'S'. + + Example: '\hlstart{name}{bstyle=D,bdash=2 4}{dest123}Link\hlend' + +'bwidth' + Border width in PostScript points (72 points per inch). The default + is 1. + + Example: '\hlstart{name}{bwidth=2}{dest123}Link\hlend' + +'cmd' + Name of the macro (without the leading '\') containing a pdfTeX + command or a dvipdfm '\special' for the 'raw' link. + + *Note Link types for pdftex and dvipdfm::, the description of the + 'raw' link, for an example. + +'file' + File name for the 'filename' and 'filepage' link types. + + *Note Link types for pdftex and dvipdfm::, the descriptions of the + 'filename' and 'filepage' links, for an example. + +'hlight' + Link border highlight modes: + + 'I' + The rectangle specified by the bounding box of the link is + inverted. + + 'N' + No highlighting is done. + + 'O' + The border of the link is inverted. + + 'P' + The region underneath the bounding box of the link is drawn + inset into the page. + + The default is 'I'. + + Example: '\hlstart{name}{bstyle=S,hlight=O}{dest123}Link\hlend' + +'newwin' + For the 'filename' and 'filepage' links, specifies whether the + destination document is opened in the same window or in a new + window. The settings are: + + '0' + Open in the same window. + 'non-0' + Open in a new window. + 'empty' + Behavior according to the viewer settings. + + The default is empty. + + *Note Link types for pdftex and dvipdfm::, the descriptions of the + 'filename' and 'filepage' links, for an example. + +'pagefit' + For the 'page' and 'filepage links', specifies how the page must be + fitted to the window. 'pagefit' specification is written to the PDF + file as is, so it must conform to the PDF standard. + + *Note Link types for pdftex and dvipdfm::, the descriptions of the + 'page' and 'filepage' links, for an example. + +'pdftex'-specific link options +.............................. + +The dimension options below must be specified as a TeX rule +specification. When set to empty, the corresponding value of the parent +box is used (this is the default for all dimension options). + +'depth' + Depth of the link. + +'height' + Height of the link. + +'width' + Width of the link. + + Example: + + \hlstart{name}{width=5in,height=20pc,depth=0pt}{dest123} + Link\hlend + + +File: eplain.info, Node: Hyperlink driver nolinks, Prev: Hyperlink drivers pdftex and dvipdfm, Up: Hyperlink drivers + +5.4.4 Hyperlink driver 'nolinks' +-------------------------------- + +Select this driver to suppress all hyperlinks in your document. + + Selecting this driver is quite different from not selecting any +driver at all, or from selecting some driver and then turning hyperlinks +off for the entire document with '\hloff' and '\hldestoff' (*note +Turning hyperlinks on/off::). + + The purpose of '\hldestoff' and '\hloff' is to mark (parts) of your +document where hyperlinks should never appear. (Imagine you want to +prevent a cross-referencing macro from generating a link at a certain +spot in your document.) + + If instead you have prepared a document with hyperlinks and just want +to compile a version without them, it is better to select the driver +'nolinks'. This ensures that spacing and page-breaking are the same as +what you were getting with hyperlinks enabled. + + The reason for this is that hyperlinks are produced by the '\special' +primitives or low-level hyperlink commands. Each such command is placed +inside a "whatsit" (an internal TeX object), which may introduce +legitimate breakpoints at places where none would exist without the +whatsits. The macros '\hldestoff' and '\hloff' disable the hyperlink +macros completely, so that no whatsits are produced. + + In contrast, the 'nolinks' driver does not completely disable +hyperlink macros. Instead, it defines them to merely write to the log +file (what gets written is unimportant). This also produces whatsits, +thus imitating the whatsits from the hyperlink commands. (This trick was +borrowed from the LaTeX 'color' package.) + + Another reason for using 'nolinks' is that in horizontal mode +'\hldest' places destinations inside boxes of zero width, height, and +depth. When you say '\hldestoff', '\hldest' will omit both destination +definitions and these boxes. The missing boxes can again cause the +typesetting to be inconsistent with that with destinations enabled. Here +again, the 'nolinks' driver helps by defining '\hldest' to produce the +empty boxes. + + So, if you are planning to produce versions of your PDF document both +with and without hyperlinks, here is the recommended way to enable the +hyperlinks under pdfTeX: + + \ifpdf + \enablehyperlinks + \else + \enablehyperlinks[nolinks]% + \fi + + +File: eplain.info, Node: Setting hyperlink types and options, Next: Turning hyperlinks on/off, Prev: Hyperlink drivers, Up: Hyperlinks + +5.5 Setting hyperlink types and options +======================================= + +You can define default types for links and destinations, which will be +used when you do not specify a type in '\hlstart' or '\hldest'. +Similarly, you can define default values for the options; the default +value for an option is used when you do not set the option in the +argument to '\hlstart' or '\hldest'. + + The parameters for implicit links and destinations can be customized +by setting the "group" types and options. When not set, the defaults are +used. + + All these settings are local to the current (TeX) group, so if you +want to set an option temporarily, you can do so inside a +'\begingroup...\endgroup' block; when the group ends, the previous +settings are restored. + +* Menu: + +* Setting default types and options:: +* Setting group types:: +* Setting group options:: + + +File: eplain.info, Node: Setting default types and options, Next: Setting group types, Up: Setting hyperlink types and options + +5.5.1 Setting default types and options +--------------------------------------- + +The default types for links and destinations can be set with the +following commands: + + \hltype{TYPE} + \hldesttype{TYPE} + +where TYPE is one of the link/destination types supported by the +selected hyperlink driver (*note Hyperlink drivers::). + + Default values for the options can be set with the following +commands: + + \hlopts{OPTIONS} + \hldestopts{OPTIONS} + +where OPTIONS is a comma-separated list of option assignments in the +format 'OPTION=VALUE'. Again, what options are allowed depends on the +selected hyperlink driver. + + Many people regard the default boxed links as not aesthetic and +intruding on page layout. The reason why boxed links are the default is +that the links are not colored until you load the LaTeX 'color' package +(*note Loading LaTeX packages::) or use other means to define the +'\color' command; therefore, not producing any kind of link border may +result in the links not being marked in any way. However, when the links +are actually colored, there is no need to produce the link boxes +anymore; to avoid the boxes, you can set the default border width to +zero (if the driver you use supports the link option 'bwidth'; *note +Hyperlink drivers::): + + \hlopts{bwidth=0} + + +File: eplain.info, Node: Setting group types, Next: Setting group options, Prev: Setting default types and options, Up: Setting hyperlink types and options + +5.5.2 Setting group types +------------------------- + +When called with an optional argument, as in + + \hltype[GROUPS]{TYPE} + \hldesttype[GROUPS]{TYPE} + +where GROUPS is a comma-separated list of groups, '\hltype' and +'\hldesttype' set the type for each group from GROUPS to TYPE. The +default type is used for all groups with an empty type (this is the +initial setting for all groups, except that the type for the 'url' +linkgroup is set to 'url' by the drivers which support this link type). + + There are two special "groups" which can be used inside the GROUPS +list. An empty group sets the default type. This allows to set the +default type and group types in one command, for example: + + \hltype[eq,]{TYPE} + +sets the link type for the 'eq' linkgroup and the default link type to +TYPE. + + Another special group is a star ('*') group, which signifies all +defined groups. For example, the command + + \hldesttype[*,]{TYPE} + +sets the destination type to TYPE for each group, as well as the default +destination type. + + +File: eplain.info, Node: Setting group options, Prev: Setting group types, Up: Setting hyperlink types and options + +5.5.3 Setting group options +--------------------------- + +Option values for each group are stored as a list of option assignments. +This list does not have to contain every supported option. Values for +options missing from this list are taken from the default option values. + + To manipulate the list of option values for the groups, you use the +'\hlopts' and '\hldestopts' commands with an optional argument: + + \hlopts[GROUPS]{OPTIONS} + \hldestopts[GROUPS]{OPTIONS} + \hlopts![GROUPS]{OPTIONS} + \hldestopts![GROUPS]{OPTIONS} + +where GROUPS is a comma-separated list of groups and OPTIONS is a +comma-separated list of option assignments. The two special "groups", +the empty group and the star ('*') group, have the same meaning as for +'\hltype' and '\hldesttype'. When used without the exclamation mark, +'\hlopts' and '\hldestopts' preserve the current list of options for the +groups, and only update the options listed in OPTIONS. If you add the +exclamation mark, the current list of options for each group in GROUPS +is discarded and the new list is set to OPTIONS. + + The "overriding" nature of the '!' is appropriate when you give a +complete specification of the options for a group, e.g., at the +beginning of your document. On the other hand, when you want to adjust +some option(s) and leave others intact, you should use the macros +without the '!'. + + For example, with displayed mathematical formulas, you often need to +adjust the 'raise' option for the 'eq' destgroup, because the formulas +often contain large parentheses and brackets. But when doing so, you +want to leave the other settings unchanged. To achieve this, call +'\hldestopts' without the '!', for example: + + $$\hldestopts[eq]{raise=2.5\normalbaselineskip} + ... + $$ + +The display commands ('$$') implicitly put the entire formula inside a +(TeX) group ('\begingroup...\endgroup'), so you do not need to isolate +the setting of the 'raise' option--it will be restored after the closing +'$$'. + + Initially, Eplain sets the option lists for almost all groups to +empty, so that the groups fall back on the default values for all +options. The one exception to this rule is the 'eq' destgroup, whose +initial option list contains one setting: + + raise=1.7\normalbaselineskip + +This setting usually accommodates the large operators, which often +appear in displayed math. + + +File: eplain.info, Node: Turning hyperlinks on/off, Prev: Setting hyperlink types and options, Up: Hyperlinks + +5.6 Turning hyperlinks on/off +============================= + +Links and/or destinations can be turned on or off globally by disabling +the low-level commands, or for each group individually. + + All these settings are local to the current (TeX) group, so if you +want to enable or disable links/destinations temporarily, you can do so +inside a '\begingroup...\endgroup' block; when the group ends, the +previous settings are restored. + +* Menu: + +* Turning low-level commands on/off:: +* Turning hyperlinks on/off for a group:: + + +File: eplain.info, Node: Turning low-level commands on/off, Next: Turning hyperlinks on/off for a group, Up: Turning hyperlinks on/off + +5.6.1 Turning low-level commands on/off +--------------------------------------- + +The low-level commands '\hlstart', '\hlend' and '\hldest' can be turned +on/off with the following commands: + + \hldeston + \hldestoff + \hlon + \hloff + +*Note Hyperlink driver nolinks::, for the implications of using these +commands to disable hyperlinks for the entire document. + + +File: eplain.info, Node: Turning hyperlinks on/off for a group, Prev: Turning low-level commands on/off, Up: Turning hyperlinks on/off + +5.6.2 Turning hyperlinks on/off for a group +------------------------------------------- + +If you want to disable links/destinations produced by certain groups, +you can give a list of the groups as an optional argument to these +commands: + + \hldeston[GROUPS] + \hldestoff[GROUPS] + \hlon[GROUPS] + \hloff[GROUPS] + +where GROUPS is the list of linkgroups/destgroups. This list can contain +two special groups. The empty group switches the low-level commands +(*note Turning low-level commands on/off::), and the star ('*') group +operates on all defined groups. + + Note that turning off the low-level commands disables all hyperlinks +globally, including groups which have them enabled. Turning off certain +linkgroups/destgroups records the fact that the macros in the group +should not produce links/destinations. To illustrate the distinction, +assume that all links are on; after the following sequence of commands: + + \hloff + \hloff[eq] + \hlon + +all links are on except for the 'eq' linkgroup. + + +File: eplain.info, Node: Arrow theoretic diagrams, Next: Programming definitions, Prev: Hyperlinks, Up: Top + +6 Arrow theoretic diagrams +************************** + +This chapter describes definitions for producing commutative diagrams. + + Steven Smith wrote this documentation (and the macros). + +* Menu: + +* Slanted lines and vectors:: +* Commutative diagrams:: + + +File: eplain.info, Node: Slanted lines and vectors, Next: Commutative diagrams, Up: Arrow theoretic diagrams + +6.1 Slanted lines and vectors +============================= + +The macros '\drawline' and '\drawvector' provide the capability found in +LaTeX's picture mode to draw slanted lines and vectors of certain +directions. Both of these macros take three arguments: two integer +arguments to specify the direction of the line or vector, and one +argument to specify its length. For example, '\drawvector(-4,1){60pt}' +produces the vector + + (A vector in the 2d quadrant of length 60 pt appears here.) + + which lies in the 2d quadrant, has a slope of minus 1/4, and a width +of 60 pt. + + Note that if an '\hbox' is placed around '\drawline' or +'\drawvector', then the width of the '\hbox' will be the positive +dimension specified in the third argument, except when a vertical line +or vector is specified, e.g., '\drawline(0,1){1in}', which has zero +width. If the specified direction lies in the 1st or 2d quadrant (e.g., +'(1,1)' or '(-2,3)'), then the '\hbox' will have positive height and +zero depth. Conversely, if the specified direction lies in the 3d or 4th +quadrant (e.g., '(-1,-1)' or '(2,-3)'), then the '\hbox' will have +positive depth and zero height. + + There are a finite number of directions that can be specified. For +'\drawline', the absolute value of each integer defining the direction +must be less than or equal to six, i.e., '(7,-1)' is incorrect, but +'(6,-1)' is acceptable. For '\drawvector', the absolute value of each +integer must be less than or equal to four. Furthermore, the two +integers cannot have common divisors; therefore, if a line with slope 2 +is desired, say '(2,1)' instead of '(4,2)'. Also, specify '(1,0)' +instead of, say, '(3,0)' for horizontal lines and likewise for vertical +lines. + + Finally, these macros depend upon the LaTeX font 'line10'. If your +site doesn't have this font, ask your system administrator to get it. +Future enhancements will include macros to draw dotted lines and dotted +vectors of various directions. + + +File: eplain.info, Node: Commutative diagrams, Prev: Slanted lines and vectors, Up: Arrow theoretic diagrams + +6.2 Commutative diagrams +======================== + +The primitive commands '\drawline' and '\drawvector' can be used to +typeset arrow theoretic diagrams. This section describes (1) macros to +facilitate typesetting arrows and morphisms, and (2) macros to +facilitate the construction of commutative diagrams. All macros +described in this section must be used in math mode. + +* Menu: + +* Arrows and morphisms:: +* Construction of commutative diagrams:: +* Commutative diagram parameters:: + + +File: eplain.info, Node: Arrows and morphisms, Next: Construction of commutative diagrams, Up: Commutative diagrams + +6.2.1 Arrows and morphisms +-------------------------- + +The macros '\mapright' and '\mapleft' produce right and left pointing +arrows, respectively. Use superscript ('^') to place a morphism above +the arrow, e.g., '\mapright^\alpha'; use subscript ('_') to place a +morphism below the arrow, e.g., '\mapright_{\tilde l}'. Superscripts and +subscripts may be used simulataneously, e.g., '\mapright^\pi_{\rm +epimor.}'. + + Similarly, the macros '\mapup' and '\mapdown' produce up and down +pointing arrows, respectively. Use '\rt' to place a morphism to the +right of the arrow, e.g., '\mapup\rt{\rm id}'; use '\lft' to place a +morphism to the left of the arrow, e.g., '\mapup\lft\omega'. '\lft' and +'\rt' may be used simultaneously, e.g., '\mapdown\lft\pi\rt{\rm +monomor.}'. + + Slanted arrows are produced by the macro '\arrow', which takes a +direction argument (e.g., '\arrow(3,-4)'). Use '\rt' and '\lft' to place +morphisms to the right and left, respectively, of the arrow. A slanted +line (no arrowhead) is produced with the macro '\sline', whose syntax is +identical to that of '\arrow'. + + The length of these macros is predefined by the default TeX +dimensions '\harrowlength', for horizontal arrows (or lines), +'\varrowlength', for vertical arrows (or lines), and '\sarrowlength', +for slanted arrows (or lines). To change any of these dimensions, say, +e.g., '\harrowlength=40pt'. As with all other TeX dimensions, the change +may be as global or as local as you like. Furthermore, the placement of +morphisms on the arrows is controlled by the dimensions '\hmorphposn', +'\vmorphposn', and '\morphdist'. The first two dimensions control the +horizontal and vertical position of the morphism from its default +position; the latter dimension controls the distance of the morphism +from the arrow. If you have more than one morphism per arrow (i.e., a +'^'/'_' or '\lft'/'\rt' construction), use the parameters +'\hmorphposnup', '\hmorphposndn', '\vmorphposnup', '\vmorphposndn', +'\hmorphposnrt', '\hmorphposnlft', '\vmorphposnrt', and +'\vmorphposnlft'. The default values of all these dimensions are +provided in the section on parameters that follows below. + + There is a family of macros to produce horizontal lines, arrows, and +adjoint arrows. The following macros produce horizontal maps and have +the same syntax as '\mapright': + +'\mapright' + '$X\mapright Y$' = (a right arrow). + +'\mapleft' + '$X\mapleft Y$' = (a left arrow). + +'\hline' + '$X\hline Y$' = (horizontal line) + +'\bimapright' + '$X\bimapright Y$' = (two right arrows). + +'\bimapleft' + '$X\bimapleft Y$' = (two left arrows) + +'\adjmapright' + '$X\adjmapright Y$' = (two adjoint arrows; left over right) + +'\adjmapleft' + '$X\adjmapleft Y$' = (two adjoint arrows; right over left) + +'\bihline' + '$X\bihline Y$' = (two horizontal lines) + + There is also a family of macros to produce vertical lines, arrows, +and adjoint arrows. The following macros produce vertical maps and have +the same syntax as '\mapdown': + +'\mapdown' + (a down arrow) + +'\mapup' + (an up arrow) + +'\vline' + (vertical line) + +'\bimapdown' + (two down arrows) + +'\bimapup' + (two up arrows) + +'\adjmapdown' + (two adjoint arrows; down then up) + +'\adjmapup' + (two adjoint arrows; up then down) + +'\bivline' + (two vertical lines) + + Finally, there is a family of macros to produce slanted lines, +arrows, and adjoint arrows. The following macros produce slanted maps +and have the same syntax as '\arrow': + +'\arrow' + (a slanted arrow) + +'\sline' + (a slanted line) + +'\biarrow' + (two straight arrows) + +'\adjarrow' + (two adjoint arrows) + +'\bisline' + (two straight lines) + + The width between double arrows is controlled by the parameter +'\channelwidth'. The parameters '\hchannel' and '\vchannel', if nonzero, +override '\channelwidth' by controlling the horizontal and vertical +shifting from the first arrow to the second. + + There are no adornments on these arrows to distinguish inclusions +from epimorphisms from monomorphisms. Many texts, such as Lang's book +'Algebra', use as a tasteful alternative the symbol 'inc' (in roman) +next to an arrow to denote inclusion. + + Future enhancements will include a mechanism to draw curved arrows +found in, e.g., the Snake Lemma, by employing a version of the '\path' +macros of Appendix D of 'The TeXbook'. + + +File: eplain.info, Node: Construction of commutative diagrams, Next: Commutative diagram parameters, Prev: Arrows and morphisms, Up: Commutative diagrams + +6.2.2 Construction of commutative diagrams +------------------------------------------ + +There are two approaches to the construction of commutative diagrams +described here. The first approach, and the simplest, treats commutative +diagrams like fancy matrices, as Knuth does in Exercise 18.46 of 'The +TeXbook'. This case is covered by the macro '\commdiag', which is an +altered version of the Plain TeX macro '\matrix'. An example suffices to +demonstrate this macro. The following commutative diagram (illustrating +the covering homotopy property; Bott and Tu, 'Differential Forms in +Algebraic Topology') + + (A commutative diagram appears here in the printed output.) + + is produced with the code + + $$\commdiag{Y&\mapright^f&E\cr \mapdown&\arrow(3,2)\lft{f_t}&\mapdown\cr + Y\times I&\mapright^{\bar f_t}&X}$$ + + Of course, the parameters may be changed to produce a different +effect. The following commutative diagram (illustrating the universal +mapping property; Warner, 'Foundations of Differentiable Manifolds and +Lie Groups') + + (A commutative diagram appears here in the printed output.) + + is produced with the code + + $$\varrowlength=20pt + \commdiag{V\otimes W\cr \mapup\lft\phi&\arrow(3,-1)\rt{\tilde l}\cr + V\times W&\mapright^l&U\cr}$$ + + A diagram containing isosceles triangles is achieved by placing the +apex of the triangle in the center column, as shown in the example +(illustrating all constant minimal realizations of a linear system; +Brockett, 'Finite Dimensional Linear Systems') + + (A commutative diagram appears here in the printed output.) + + which is produced with the code + + $$\sarrowlength=.42\harrowlength + \commdiag{&R^m\cr &\arrow(-1,-1)\lft{\bf B}\quad \arrow(1,-1)\rt{\bf G}\cr + R^n&\mapright^{\bf P}&R^n\cr + \mapdown\lft{e^{{\bf A}t}}&&\mapdown\rt{e^{{\bf F}t}}\cr + R^n&\mapright^{\bf P}&R^n\cr + &\arrow(1,-1)\lft{\bf C}\quad \arrow(-1,-1)\rt{\bf H}\cr + &R^q\cr}$$ + + Other commutative diagram examples appear in the file +'commdiags.tex', which is distributed with this package. + + In these examples the arrow lengths and line slopes were carefully +chosen to blend with each other. In the first example, the default +settings for the arrow lengths are used, but a direction for the arrow +must be chosen. The ratio of the default horizontal and vertical arrow +lengths is approximately the golden mean gamma=1.618...; the arrow +direction closest to this mean is '(3,2)'. In the second example, a +slope of -1/3 is desired and the default horizontal arrow length is 60 +pt; therefore, choose a vertical arrow length of 20 pt. You may affect +the interline glue settings of '\commdiag' by redefining the macro +'\commdiagbaselines'. (cf. Exercise 18.46 of 'The TeXbook' and the +section on parameters below.) + + The width, height, and depth of all morphisms are hidden so that the +morphisms' size do not affect arrow positions. This can cause a large +morphism at the top or bottom of a diagram to impinge upon the text +surrounding the diagram. To overcome this problem, use TeX's '\noalign' +primitive to insert a '\vskip' immediately above or below the offending +line, e.g., '$$\commdiag{\noalign{\vskip6pt}X&\mapright^\int&Y\cr ...}'. + + The macro '\commdiag' is too simple to be used for more complicated +diagrams, which may have intersecting or overlapping arrows. A second +approach, borrowed from Francis Borceux's 'Diagram' macros for LaTeX, +treats the commutative diagram like a grid of identically shaped boxes. +To compose the commutative diagram, first draw an equally spaced grid, +e.g., + + . . . . . . + . . . . . . + . . . . . . + . . . . . . + + on a piece of scratch paper. Then draw each element (vertices and +arrows) of the commutative diagram on this grid, centered at each grid +point. Finally, use the macro '\gridcommdiag' to implement your design +as a TeX alignment. For example, the cubic diagram + + (A commutative diagram appears here.) + + that appears in Francis Borceux's documentation can be implemented on +a 7 by 7 grid, and is achieved with the code + + $$\harrowlength=48pt \varrowlength=48pt \sarrowlength=20pt + \def\cross#1#2{\setbox0=\hbox{$#1$}% + \hbox to\wd0{\hss\hbox{$#2$}\hss}\llap{\unhbox0}} + \gridcommdiag{&&B&&\mapright^b&&D\cr + &\arrow(1,1)\lft a&&&&\arrow(1,1)\lft d\cr + A&&\cross{\hmorphposn=12pt\mapright^c}{\vmorphposn=-12pt\mapdown\lft f} + &&C&&\mapdown\rt h\cr\cr + \mapdown\lft e&&F&&\cross{\hmorphposn=-12pt\mapright_j} + {\vmorphposn=12pt\mapdown\rt g}&&H\cr + &\arrow(1,1)\lft i&&&&\arrow(1,1)\rt l\cr + E&&\mapright_k&&G\cr}$$ + + The dimensions '\hgrid' and '\vgrid' control the horizontal and +vertical spacing of the grid used by '\gridcommdiag'. The default +setting for both of these dimensions is 15 pt. Note that in the example +of the cube the arrow lengths must be adjusted so that the arrows +overlap into neighboring boxes by the desired amount. Hence, the +'\gridcommdiag' method, albeit more powerful, is less automatic than the +simpler '\commdiag' method. Furthermore, the ad hoc macro '\cross' is +introduced to allow the effect of overlapping arrows. Finally, note that +the positions of four of the morphisms are adjusted by setting +'\hmorphposn' and '\vmorphposn'. + + One is not restricted to a square grid. For example, the proof of +Zassenhaus's Butterfly Lemma can be illustrated by the diagram +(appearing in Lang's book 'Algebra') + + (A commutative diagram appears here.) + + This diagram may be implemented on a 9 by 12 grid with an aspect +ratio of 1/2, and is set with the code + + $$\hgrid=16pt \vgrid=8pt \sarrowlength=32pt + \def\cross#1#2{\setbox0=\hbox{$#1$}% + \hbox to\wd0{\hss\hbox{$#2$}\hss}\llap{\unhbox0}} + \def\l#1{\llap{$#1$\hskip.5em}} + \def\r#1{\rlap{\hskip.5em$#1$}} + \gridcommdiag{&&U&&&&V\cr &&\bullet&&&&\bullet\cr + &&\sarrowlength=16pt\sline(0,1)&&&&\sarrowlength=16pt\sline(0,1)\cr + &&\l{u(U\cap V)}\bullet&&&&\bullet\r{(U\cap V)v}\cr + &&&\sline(2,-1)&&\sline(2,1)\cr + &&\cross{=}{\sline(0,1)}&&\bullet&&\cross{=}{\sline(0,1)}\cr\cr + &&\l{^{\textstyle u(U\cap v)}}\bullet&&\cross{=}{\sline(0,1)}&& + \bullet\r{^{\textstyle(u\cap V)v}}\cr + &\sline(2,1)&&\sline(2,-1)&&\sline(2,1)&&\sline(2,-1)\cr + \l{u}\bullet&&&&\bullet&&&&\bullet\r{v}\cr + &\sline(2,-1)&&\sline(2,1)&&\sline(2,-1)&&\sline(2,1)\cr + &&\bullet&&&&\bullet\cr &&u\cap V&&&&U\cap v\cr}$$ + + Again, the construction of this diagram requires careful choices for +the arrow lengths and is facilitated by the introduction of the ad hoc +macros '\cross', '\r', and '\l'. Note also that superscripts were used +to adjust the position of the vertices u(U intersection v) and (u +intersection V)v. Many diagrams may be typeset with the predefined +macros that appear here; however, ingenuity is often required to handle +special cases. + + +File: eplain.info, Node: Commutative diagram parameters, Prev: Construction of commutative diagrams, Up: Commutative diagrams + +6.2.3 Commutative diagram parameters +------------------------------------ + +The following is a list describing the parameters used in the +commutative diagram macros. These dimensions may be changed globally or +locally. + +'\harrowlength' + (Default: 60 pt) The length of right or left arrows. + +'\varrowlength' + (Default: 0.618'\harrowlength') The length of up or down arrows. + +'\sarrowlength' + (Default: 60 pt) The horizontal length of slanted arrows. + +'\hmorphposn' + (Default: 0 pt) The horizontal position of the morphism with + respect to its default position. There are also the dimensions + '\hmorphposnup', '\hmorphposndn', '\hmorphposnrt', and + '\hmorphposnlft' for '^'/'_' or '\lft'/'\rt' constructions. + +'\vmorphposn' + (Default: 0 pt) The vertical position of the morphism with respect + to its default position. There are also the dimensions + '\vmorphposnup', '\vmorphposndn', '\vmorphposnrt', and + '\vmorphposnlft' for '^'/'_' or '\lft'/'\rt' constructions. + +'\morphdist' + (Default: 4 pt) The distance of morphisms from slanted lines or + arrows. + +'\channelwidth' + (Default: 3 pt) The distance between double lines or arrows. + +'\hchannel, \vchannel' + (Defaults: 0 pt) Overrides '\channelwidth'. The horizontal and + vertical shifts between double lines or arrows. + +'\commdiagbaselines' + (Default: '\baselineskip=15pt \lineskip=3pt \lineskiplimit=3pt ') + The parameters used by '\commdiag' for setting interline glue. + +'\hgrid' + (Default: 15 pt) The horizontal spacing of the grid used by + '\gridcommdiag'. + +'\vgrid' + (Default: 15 pt) The vertical spacing of the grid used by + '\gridcommdiag'. + + +File: eplain.info, Node: Programming definitions, Next: Demo files, Prev: Arrow theoretic diagrams, Up: Top + +7 Programming definitions +************************* + +The definitions in this section are only likely to be useful when you +are writing nontrivial macros, not when writing a document. + +* Menu: + +* Category codes:: Changing category codes. +* Allocation macros:: Non-outer versions of \newcount et al. +* Iteration:: Doing 'for' and 'while' loops in TeX. +* Macro arguments:: Reading and ignoring them. +* Converting to characters:: Normalizing control sequences and spaces. +* Expansion:: Controlling expansion. +* Obeying spaces:: Making whitespace count anywhere. +* Writing out numbers:: Making '1' into 'one'. +* Mode-specific penalties:: +* Auxiliary files:: Testing for their existence. +* User-defined environments:: User-defined environments. +* Page list and page range parsers:: + + +File: eplain.info, Node: Category codes, Next: Allocation macros, Up: Programming definitions + +7.1 Category codes +================== + +Plain TeX defines '\active' (as the number 13) for use in changing +category codes. Although the author of 'The TeXbook' has "intentionally +kept the category codes numeric", two other categories are commonly +used: letters (category code 11) and others (12). Therefore, Eplain +defines '\letter' and '\other'. + + Sometimes it is cleaner to make a character active without actually +writing a '\catcode' command. The '\makeactive' command takes a +character as an argument to make active (and ignores following spaces). +For example, here are two commands which both make '\' active: + + \makeactive\\ \makeactive92 + + Sometimes you might want to temporarily change the category code of +the '@' character to '\letter', so that you can use or define macros +which are normally inaccessible to the user. For such situations, Eplain +provides the '\makeatletter' command. It sets the category code of '@' +to '\letter' (11) and defines '\resetatcatcode' to restore the category +code to whatever it was before the call to '\makeatletter'. For example: + + \makeatletter + \def\@hidden@macro{This macro cannot normally be + called / redefined by the user} + \resetatcatcode + +There is also '\makeatother' which works similarly but sets the category +code of '@' to '\other' (12). + + Usually, when you give a definition to an active character, you have +to do so inside a group where you temporarily make the character active, +and then give it a global definition (cf. the definition of +'\obeyspaces' in 'The TeXbook'). This is inconvenient if you are writing +a long macro, or if the character already has a global definition you do +not wish to transcend. Eplain provides '\letreturn', which defines the +usual end-of-line character to be the argument. For example: + + \def\mymacro{... \letreturn\myreturn ... } + \mymacro hello + there + +The end-of-line between 'hello' and 'there' causes '\myreturn' to be +expanded. + + 'The TeXbook' describes '\uncatcodespecials', which makes all +characters which are normally "special" into "other" characters, but the +definition never made it into plain TeX. Eplain therefore defines it. +For notes on the usage, *note Verbatim listing::. + + Finally, '\percentchar' expands into a literal '%' character. This is +useful when you '\write' TeX output to a file, and want to avoid +spurious spaces. For example, Eplain writes a '\percentchar' after the +definition of cross-references. The macros '\lbracechar' and +'\rbracechar' expand similarly. + + +File: eplain.info, Node: Allocation macros, Next: Iteration, Prev: Category codes, Up: Programming definitions + +7.2 Allocation macros +===================== + +Plain TeX provides macros that allocate registers of each primitive type +in TeX, to prevent different sets of macros from using the same register +for two different things. The macros are all named starting with 'new', +e.g., '\newcount' allocates a new "count" (integer) register. Such +allocations are usually needed only at the top level of some macro +definition file; therefore, plain TeX makes the allocation registers +'\outer', to help find errors. (The error this helps to find is a +missing right brace in some macro definition.) + + Sometimes, however, it is useful to allocate a register as part of +some macro. An outer control sequence cannot be used as part of a macro +definition (or in a few other contexts: the parameter text of a +definition, an argument to a definition, the preamble of an alignment, +or in conditional text that is being skipped). Therefore, Eplain defines +"inner" versions of all the allocation macros, named with the prefix +'inner': '\innernewbox', '\innernewcount', '\innernewdimen', +'\innernewfam', '\innernewhelp', '\innernewif', '\innernewinsert', +'\innernewlanguage', '\innernewread', +'\innernewskip', '\innernewtoks', '\innernewwrite'. + + You can also define non-outer versions of other macros in the same +way that Eplain defines the above. The basic macro is called +'\innerdef': + + \innerdef \INNERNAME {OUTERNAME} + + The first argument (\INNERNAME) to '\innerdef' is the control +sequence that you want to define. Any previous definition of \INNERNAME +is replaced. The second argument (OUTERNAME) is the _characters_ in the +name of the outer control sequence. (You can't use the actual control +sequence name, since it's outer!) + + If the outer control sequence is named \CS, and you want to define +'innerCS' as the inner one, you can use '\innerinnerdef', which is just +an abbreviation for a call to '\innerdef'. For example, these two calls +are equivalent: + + \innerdef\innerproclaim{proclaim} + \innerinnerdef{proclaim} + + +File: eplain.info, Node: Iteration, Next: Macro arguments, Prev: Allocation macros, Up: Programming definitions + +7.3 Iteration +============= + +You can iterate through a comma-separated list of items with '\for'. +Here is an example: + + \for\name:=karl,kathy\do{% + \message{\name}% + }% + +This writes 'karl' and 'kathy' to the terminal. Spaces before or after +the commas in the list, or after the ':=', are _not_ ignored. To strip +leading spaces off the items, use '\For': + + \For\name:= + karl, + kathy\do{% + \message{\name}% + }% + +Note that trailing spaces are still _not_ ignored. + + Both '\for' and '\For' expand the first token of the item list fully, +so this is equivalent to the above: + + \def\namelist{karl,kathy}% + \for\name:=\namelist\do ... + +However, this won't work, either with '\for' or with '\For': + + \def\namelist{karl,kathy}% + \For\name:= \namelist\do ... + +because '\for' and '\For' expand the first token after ':=' which is +space, not '\namelist'. + + Eplain provides another kind of loops, which is an extension of plain +TeX's '\loop'. If you say: + + \loop + LOOP-TEXT + \if CONDITION + IF-TEXT + \repeat + +then LOOP-TEXT will be repeated as long as CONDITION is satisfied ('\if' +can be any of the TeX's conditional commands, without the matching +'\fi'). Eplain extends this with the optional else clause: + + \loop + LOOP-TEXT + \if CONDITION + IF-TEXT + \else + ELSE-TEXT + \repeat + +Here, LOOP-TEXT will be repeated as long as CONDITION is _not_ +satisfied. This extension is from Victor Eijkhout's TeX by Topic +(page 104). + + +File: eplain.info, Node: Macro arguments, Next: Converting to characters, Prev: Iteration, Up: Programming definitions + +7.4 Macro arguments +=================== + +It is occasionally useful to redefine a macro that takes arguments to do +nothing. Eplain defines '\gobble', '\gobbletwo', and '\gobblethree' to +swallow one, two, and three arguments, respectively. + + For example, if you want to produce a "short" table of contents--one +that includes only chapters, say--the easiest thing to do is read the +entire '.toc' file (*note Contents::), and just ignore the commands that +produce section or subsection entries. To be specific: + + \let\tocchapterentry = \shorttocchapter + \let\tocsectionentry = \gobbletwo + \let\tocsubsectionentry = \gobbletwo + \readtocfile + +(Of course, this assumes you only have chapters, sections, and +subsections in your document.) + + In addition, Eplain defines '\eattoken' to swallow the single +following token, using '\let'. Thus, '\gobble' followed by '{...}' +ignores the entire brace-enclosed text. '\eattoken' followed by the same +ignores only the opening left brace. + + Eplain defines a macro '\identity' which takes one argument and +expands to that argument. This may be useful if you want to provide a +function for the user to redefine, but don't need to do anything by +default. (For example, the default definition of '\eqconstruct' (*note +Formatting equation references::) is '\identity'.) + + You may also want to read an optional argument. The established +convention is that optional arguments are put in square brackets, so +that is the syntax Eplain recognizes. Eplain ignores space tokens before +an optional argument, via '\futurenonspacelet'. + + You test for an optional argument by using '\@getoptionalarg'. It +takes one argument, a control sequence to expand after reading the +argument, if present. If an optional argument is present, the control +sequence '\@optionalarg' expands to it; otherwise, '\@optionalarg' is +'\empty'. You must therefore have the category code of '@' set to 11 +(letter). Here is an example: + + \catcode`@=\letter + \def\cmd{\@getoptionalarg\finishcmd} + \def\finishcmd{% + \ifx\@optionalarg\empty + % No optional argument present. + \else + % One was present. + \fi + } + + It's possible to define macros that appear to accept optional +arguments intermixed with mandatory arguments in any imaginable way. For +example: + + \makeatletter + % \mo{m}[o] + \def\mo#1{\def\mo@arg{#1}\@getoptionalarg\fin@mo} + \def\fin@mo{\vskip1pc + ARG: \mo@arg \par + OPTARG: \@optionalarg \par + } + % \mom{m}[o]{m} + \def\mom#1{\def\mom@arg{#1}\@getoptionalarg\fin@mom} + \def\fin@mom#1{\vskip1pc + ARG1: \mom@arg \par + OPTARG: \@optionalarg \par + ARG2: #1\par + } + % \omo[o]{m}[o] + \def\omo{\@getoptionalarg\fin@omo} + \def\fin@omo#1{\let\omo@optarg\@optionalarg + \def\omo@arg{#1}\@getoptionalarg\@fin@omo} + \def\@fin@omo{\vskip1pc + OPTARG1: \omo@optarg \par + ARG: \omo@arg \par + OPTARG2: \@optionalarg \par + } + \makeatother + + If an optional argument contains another optional argument, the inner +one will need to be enclosed in braces, so TeX does not mistake the end +of the first for the end of the second. + + +File: eplain.info, Node: Converting to characters, Next: Expansion, Prev: Macro arguments, Up: Programming definitions + +7.5 Converting to characters +============================ + +Eplain defines '\xrlabel' to produce control sequence names for +cross-reference labels, et al. This macro expands to its argument with +an '_' appended. (It does this because the usual use of '\xrlabel' is to +generate a control sequence name, and we naturally want to avoid +conflicts between control sequence names.) + + Because '\xrlabel' is fully expandable, to make a control sequence +name out of the result you need only do + + \csname \xrlabel{LABEL}\endcsname + +The '\csname' primitive makes a control sequence name out of any +sequence of character tokens, regardless of category code. Labels can +therefore include any characters except for '\', '{', '}', and '#', all +of which are used in macro definitions themselves. + + '\sanitize' takes a control sequence as an argument and converts the +expansion of the control sequence into a list of character tokens. This +is the behavior you want when writing information like chapter titles to +an output file. For example, here is part of the definition of +'\writenumberedtocentry'; '#2' is the title that the user has given. + + ... + \def\temp{#2}% + ... + \write\tocfile{% + ... + \sanitize\temp + ... + }% + + +File: eplain.info, Node: Expansion, Next: Obeying spaces, Prev: Converting to characters, Up: Programming definitions + +7.6 Expansion +============= + +This section describes some miscellanous macros for expansion, etc. + +* Menu: + +* \csn and \ece:: Abbreviations for \csname expansions. +* \edefappend:: +* Hooks:: Manipulating and executing named actions. +* Properties:: Associating information with a csname. +* \expandonce:: +* \ifundefined:: +* \ifempty:: +* \ifinteger and \isinteger:: +* \futurenonspacelet:: + + +File: eplain.info, Node: \csn and \ece, Next: \edefappend, Up: Expansion + +7.6.1 '\csn' and '\ece' +----------------------- + +'\csn'{NAME} simply abbreviates '\csname' NAME '\endcsname', thus saving +some typing. The extra level of expansion does take some time, though, +so I don't recommend it for an inner loop. + + '\ece'{TOKEN}{NAME} abbreviates + + \expandafter TOKEN \csname NAME \endcsname + +For example, + + \def\fontabbrevdef#1#2{\ece\def{@#1font}{#2}} + \fontabbrevdef{normal}{ptmr} + +defines a control sequence '\@normalfont' to expand to 'ptmr'. + + +File: eplain.info, Node: \edefappend, Next: Hooks, Prev: \csn and \ece, Up: Expansion + +7.6.2 '\edefappend' +------------------- + +'\edefappend' is a way of adding on to an existing definition. It takes +two arguments: the first is the control sequence name, the second the +new tokens to append to the definition. The second argument is fully +expanded (in the '\edef' that redefines the control sequence). + + For example: + + \def\foo{abc} + \def\bar{xyz} + \edefappend\foo{\bar karl} + +results in '\foo' being defined as 'abcxyzkarl'. + + +File: eplain.info, Node: Hooks, Next: Properties, Prev: \edefappend, Up: Expansion + +7.6.3 Hooks +----------- + +A "hook" is simply a name for a group of actions which is executed in +certain places--presumably when it is most useful to allow customization +or modification. TeX already provides many builtin hooks; for example, +the '\every ...' token lists are all examples of hooks. + + Eplain provides several macros for adding actions to hooks. They all +take two arguments: the name of the hook and the new actions. + +'hookaction NAME ACTIONS' +'hookappend NAME ACTIONS' +'hookprepend NAME ACTIONS' + Each of these adds ACTIONS to the hook NAME. (Any + previously-defined actions are retained.) NAME is not a control + sequence, but rather the characters of the name. + +'hookactiononce NAME \CS' + '\hookactiononce' adds CS to NAME, like the macros above, but first + it adds + + \global\let \CS \relax + + to the definition of \CS. (This implies \CS must be a true + expandable macro, not a control sequence '\let' to a primitive or + some other such thing.) Thus, \CS is expanded the next time the + hook NAME is run, but it will disappear after that. + + The '\global' is useful because '\hookactiononce' is most useful + when the grouping structure of the TeX code could be anything. + Neither this nor the other hook macros do global assignments to the + hook variable itself, so TeX's usual grouping rules apply. + + The companion macro to defining hook actions is '\hookrun', for +running them. This takes a single argument, the name of the hook. If no +actions for the hook are defined, no error ensues. + + Here is a skeleton of general '\begin' and '\end' macros that run +hooks, and a couple of calls to define actions. The use of +'\hookprepend' for the begin action and '\hookappend' for the end action +ensures that the actions are executed in proper sequence with other +actions (as long as the other actions use '\hookprepend' and +'\hookappend' also). + + \def\begin#1{ ... \hookrun{begin} ... } + \def\end#1{ ... \hookrun{end} ... } + \hookprepend{begin}\start_underline + \hookappend{end}\finish_underline + + +File: eplain.info, Node: Properties, Next: \expandonce, Prev: Hooks, Up: Expansion + +7.6.4 Properties +---------------- + +A "property" is a name/value pair associated with another symbol, +traditionally called an "atom". Both atom and property names are control +sequence names. + + Eplain provides two macros for dealing with property lists: +'\setproperty' and '\getproperty'. + +'\setproperty ATOM PROPNAME VALUE' + '\setproperty' defines the property PROPERTY on the atom ATOM to be + VALUE. ATOM and PROPNAME can be anything acceptable to '\csname'. + VALUE can be anything. + +'\getproperty ATOM PROPNAME' + '\getproperty' expands to the value stored for PROPNAME on ATOM. If + PROPNAME is undefined, it expands to nothing (i.e., '\empty'). + + The idea of properties originated in Lisp (I believe). There, the +implementation truly does associate properties with atoms. In TeX, where +we have no builtin support for properties, the association is only +conceptual. + + The following example typesets 'xyz'. + + \setproperty{a}{pr}{xyz} + \getproperty{a}{pr} + + +File: eplain.info, Node: \expandonce, Next: \ifundefined, Prev: Properties, Up: Expansion + +7.6.5 '\expandonce' +------------------- + +'\expandonce' is defined as '\expandafter\noexpand'. Thus, '\expandonce +TOKEN' expands TOKEN once, instead of to TeX primitives. This is most +useful in an '\edef'. + + For example, the following defines '\temp' to be '\foo', not 'abc'. + + \def\foo{abc} + \def\bar{\foo} + \edef\temp{\expandonce\bar} + + +File: eplain.info, Node: \ifundefined, Next: \ifempty, Prev: \expandonce, Up: Expansion + +7.6.6 '\ifundefined' +-------------------- + +'\ifundefined{CS} T \else F \fi' expands the T text if the control +sequence '\CS' is undefined or has been '\let' to '\relax', and the F +text otherwise. + + Since '\ifundefined' is not a primitive conditional, it cannot be +used in places where TeX might skip tokens "at high speed", e.g., within +another conditional--TeX can't match up the '\if''s and '\fi''s. + + This macro was taken directly from 'The TeXbook', page 308. + + +File: eplain.info, Node: \ifempty, Next: \ifinteger and \isinteger, Prev: \ifundefined, Up: Expansion + +7.6.7 '\ifempty' +---------------- + +'\ifempty{ARG} T \else F \fi' expands the T text if ARG is the empty +string, and the F text otherwise. This macro is useful when you need to +test for empty arguments to your macros, for example: + + \def\foo#1{\ifempty{#1} T \else F \fi} + + Since '\ifempty' is not a primitive conditional, it cannot be used in +places where TeX might skip tokens "at high speed", e.g., within another +conditional--TeX can't match up the '\if''s and '\fi''s. + + Note that the following code + + \def\empty{} + \ifempty\empty\message{empty}\else\message{not empty}\fi + +will produce the message 'not empty'. + + +File: eplain.info, Node: \ifinteger and \isinteger, Next: \futurenonspacelet, Prev: \ifempty, Up: Expansion + +7.6.8 '\ifinteger' and '\isinteger' +----------------------------------- + +'\ifinteger{ARG} T \else F \fi' expands the T text if ARG is an integer, +and the F text otherwise. This macro can detect positive and negative +integers. + + Since '\ifinteger' is not a primitive conditional, it cannot be used +in places where TeX might skip tokens "at high speed", e.g., within +another conditional--TeX can't match up the '\if''s and '\fi''s. For +such situations Eplain provides '\isinteger', which can be used as +follows: + + \if\isinteger{ARG} T \else F \fi + + Although '\ifinteger' and '\isinteger' work well with regular input, +they are not bullet-proof. For example, the following code + + \ifinteger{12_ab}integer\else not integer\fi + +will expand to 'ab_integer' (and thus would not even compile outside +math mode). + + These macros come from TeX Frequently Asked Question +(<http://www.tex.ac.uk/cgi-bin/texfaq2html>). + + +File: eplain.info, Node: \futurenonspacelet, Prev: \ifinteger and \isinteger, Up: Expansion + +7.6.9 '\futurenonspacelet' +-------------------------- + +The '\futurelet' primitive allows you to look at the next token from the +input. Sometimes, though, you want to look ahead ignoring any spaces. +This is what '\futurenonspacelet' does. It is otherwise the same as +'\futurelet': you give it two control sequences as arguments, and it +assigns the next nonspace token to the first, and then expands the +second. For example: + + \futurenonspacelet\temp\finishup + \def\finishup{\ifx\temp ...} + + +File: eplain.info, Node: Obeying spaces, Next: Writing out numbers, Prev: Expansion, Up: Programming definitions + +7.7 Obeying spaces +================== + +'\obeywhitespace' makes both end-of-lines and space characters in the +input be respected in the output. Unlike plain TeX's '\obeyspaces', even +spaces at the beginnings of lines turn into blank space. + + By default, the size of the space that is produced by a space +character is the natural space of the current font, i.e., what '\ ' +produces. + + Ordinarily, a blank line in the input produces as much blank vertical +space as a line of text would occupy. You can adjust this by assigning +to the parameter '\blanklineskipamount': if you set this negative, the +space produced by a blank line will be smaller; if positive, larger. + + Tabs are not affected by this routine. In particular, if tabs occur +at the beginning of a line, they will disappear. (If you are trying to +make TeX do the "right thing" with tabs, don't. Use a utility program +like expand instead.) + + +File: eplain.info, Node: Writing out numbers, Next: Mode-specific penalties, Prev: Obeying spaces, Up: Programming definitions + +7.8 Writing out numbers +======================= + +'\numbername' produces the written-out form of its argument, i.e., +'zero' through 'ten' for the numbers 0-10, and numerals for all others. + + +File: eplain.info, Node: Mode-specific penalties, Next: Auxiliary files, Prev: Writing out numbers, Up: Programming definitions + +7.9 Mode-specific penalties +=========================== + +TeX's built-in '\penalty' command simply appends to the current list, no +matter what kind of list it is. You might intend a particular penalty to +always be a "vertical" penalty, however, i.e., appended to a vertical +list. Therefore, Eplain provides '\vpenalty' and '\hpenalty' which first +leave the other mode and then do '\penalty'. + + More precisely, '\vpenalty' inserts '\par' if the current mode is +horizontal, and '\hpenalty' inserts '\leavevmode' if the current mode is +vertical. (Thus, '\vpenalty' cannot be used in math mode.) + + +File: eplain.info, Node: Auxiliary files, Next: User-defined environments, Prev: Mode-specific penalties, Up: Programming definitions + +7.10 Auxiliary files +==================== + +It is common to write some information out to a file to be used on a +subsequent run. But when it is time to read the file again, you only +want to do so if the file actually exists. '\testfileexistence' is given +an argument which is appended to '\jobname', and sets the conditional +'\iffileexists' appropriately. For example: + + \testfileexistence{toc}% + \iffileexists + \input \jobname.toc + \fi + + '\testfileexistence' takes an optional parameter; when given, it will +override '\jobname' for the root part of the file name. For example, if +you want to test for the file 'answers.aux', you can do this with the +following: + + \testfileexistence[answers]{aux}% + \iffileexists + \input answers.aux + \fi + + +File: eplain.info, Node: User-defined environments, Next: Page list and page range parsers, Prev: Auxiliary files, Up: Programming definitions + +7.11 User-defined environments +============================== + +Plain TeX does not provide "named" block structures, only the anonymous +'\begingroup' and '\endgroup' pair. The disadvantage of this is that +when there are several such groups and one is mismatched, it can be +difficult to find the error. Eplain provides a named block structure so +that if you forget an '\environment' or an '\endenvironment', you will +(probably) get an error message about it. + + For example: + + \def\itpar{ + \environment{@italicpar} + \it\par + } + \def\enditpar{ + \par + \endenvironment{@italicpar}% + } + +which could then be used to set italicized paragraphs: + + \itpar + If I reprehend anything in this world, it is the use of my oracular + tongue, and a nice derangement of epitaphs! + \enditpar + + The above sort of environment allows nesting. But environments +shouldn't always be allowed to nest. Put the control sequence +'\checkenv' at the beginning of a macro that is going to define an +environment that should not be nested. + + +File: eplain.info, Node: Page list and page range parsers, Prev: User-defined environments, Up: Programming definitions + +7.12 Page list and page range parsers +===================================== + +The macros which Eplain uses to parse the page lists and ranges in the +index, '\idxparselist' and '\idxparserange' (*note Page destinations for +index terms::), are sometimes useful when defining page number +encapsulators. They take one argument, text to parse. When a page list +(range) is not present, they set '\idxpagei' to be '\empty'; when a list +(range) is detected, they set '\idxpagei' and '\idxpageii' to the first +and the second page numbers, respectively. + + Eplain's defaults for the page list and page range delimiters are the +same as those in MakeIndex, a comma followed by a space (', ') and two +dashes ('--'), respectively. If you customize MakeIndex to use different +delimiters, you must not forget to let Eplain know about them with the +commands + + \setidxpagelistdelimiter{LIST-DELIM} + \setidxpagerangedelimiter{PAGE-DELIM} + +These commands save the LIST-DELIM and PAGE-DELIM delimiters in +'\idxpagelistdelimiter' and '\idxpagerangedelimiter', respectively. + + For example, you may want to define a page number markup command +which italicizes and properly underlines page ranges by underlining only +the page numbers and not the delimiter: + + \def\ituline#1{% + {\it + \idxparserange{#1}% + \ifx\idxpagei\empty + % The argument is a single page number. + \underbar{#1}% + \else + % The argument is a page range. + \underbar{\idxpagei}\idxpagerangedelimiter\underbar{\idxpageii}% + \fi}% + } + +Note that the '\ituline' macro is not aware of page lists. This is not +needed if you use hyperlinks in the index, because '\hlidx' and +'\hlidxpage' will break up the page lists before calling the user's page +encapsulator (*note Page destinations for index terms::), so '\ituline' +will never see the lists. If, however, you need to design a macro which +also takes care of the lists, you can extend '\ituline' with an +additional call to '\idxparselist'. + + +File: eplain.info, Node: Demo files, Next: Macro index, Prev: Programming definitions, Up: Top + +8 Demo files +************ + +This chapter contains listings of source files, along with the output +they produce (where appropriate), which illustrate various aspects of +Eplain. The files can be found in the 'demo' subdirectory of Eplain +distribution. These demos, both the sources and the compiled PDF and PS +files, are also available from <http://tug.org/eplain/demo>. + +* Menu: + +* Hyperlinks (xhyper.tex):: +* Highlighting TeX comments in listings (lscommnt.tex):: + + +File: eplain.info, Node: Hyperlinks (xhyper.tex), Next: Highlighting TeX comments in listings (lscommnt.tex), Up: Demo files + +8.1 Hyperlinks ('xhyper.tex') +============================= + + + +% (This file is public domain.) +% +% This file demonstrates the following features of Eplain: +% +% - explicit and implicit hyperlinks; +% - symbolic cross-references; +% - inserting external graphics using |\includegraphics| from +% the \LaTeX\ package |graphicx.sty|. +% - rotating text using |\rotatebox| from |graphicx.sty|. +% +% The compiled demo can be downloaded from +% +% http://tug.org/eplain/demo +% +% In order to compile this file yourself, you will need the CTAN lion +% drawing by Duane Bibby from +% +% ftp://tug.ctan.org/ftpmaint/CTAN_lion/ctan_lion_350x350.png +% +% (thanks, |www.ctan.org|). Place the image file in the same +% directory with this file, and change to that directory. Now, to +% produce a PDF, run twice the command +% +% pdftex xhyper.tex +% +% During the first run, Eplain will write the information about the +% cross-references into |xhyper.aux|, and during the second run this +% information will be read by Eplain to typeset the references. +% +% Demo case: +% +% Suppose you are using pdf\TeX, have a figure you want to insert +% scaled to $200\,pt$ horizontally, and you want this figure to +% completely fill the PDF viewer's window whenever the reader +% selects a link pointing to this figure. Additionally, you want to +% typeset some text as live hyperlinks, clicking on which will start +% a Web browser and open a URL. + +\input eplain + +% Load \LaTeX\ packages. +\beginpackages + % |url.sty| provides the |\url| command which we will use to typeset + % a URL. We request that |url.sty| be the version from June~27, + % 2005, or later, because earlier versions had problems interacting + % with plain \TeX. + \usepackage{url}[2005/06/27] + % |color.sty| provides support for colored text; all hyperlinks are + % automatically colored by Eplain when this package is loaded. We give + % the |dvipsnames| option because we want to use named colors from the + % |dvips| graphics driver. + \usepackage[dvipsnames]{color} + % Finally, we load |graphicx.sty|, for the macros |\includegraphics| + % and |\rotatebox|. + \usepackage{graphicx} +\endpackages + +% Remember that hyperlinks are off by default. Therefore, we need to +% enable them. +\enablehyperlinks + +% Customize some hyperlink options. First, we set border width to~$0$ +% for all links to get rid of the default boxes around links (we +% prefer colored links over the boxed links). Next, we say that all +% links created by the |url| hyperlink group (which means the |\url| +% command from |url.sty|) must be colored using the named color +% |BlueViolet|. +\hlopts{bwidth=0} +\hlopts[url]{colormodel=named,color=BlueViolet} + +% Inhibit page numbering (we have only one page). +\nopagenumbers + +% Define a class word for the cross-reference class |figure|. This +% word, when defined, will be automatically prepended by Eplain to the +% reference created by |\ref| (read on to see its use). +\def\figureword{fig.} + +% Allocate a count register for the figure's number, and a box +% register which we'll use to measure dimensions of the image. +\newcount\fignumber +\newbox\imgbox + +% Now comes the fun part--constructing the figure for the image of the +% \CTAN\ lion. We define a macro +% +% \fig{LABEL}{FILENAME}{CAPTION}{WIDTH} +% +% which creates a figure using LABEL for the cross-reference and +% hyperlink label, reading the image from file FILENAME, using CAPTION +% to name the figure, and WIDTH to scale the image horizontally. +\def\fig#1#2#3#4{% + % Leave some space above the figure. This will also ensure that we + % are in the vertical mode before we produce a |\vbox|. + \medskip + % Advance the figure number. |\global| ensures that the change to + % the count register is global, even when |\fig| is buried inside a + % group. + \global\advance\fignumber by 1 + % We use |\includegraphics| (from |graphicx.sty|) to load the image, + % scaled to the specified width, into our ``measuring'' box + % |\imgbox|. + \setbox\imgbox = \hbox{\includegraphics[width=#4]{#2}}% + % To make the demo even more exciting, let's put the figure's + % caption to the left of the image into the |\indent| space of the + % new paragraph, and rotate the caption~$90^\circ$. + \textindent{% + \rotatebox{90}{F{\sc IGURE}~\the\fignumber. #3}% + }% + % Continue the paragraph by constructing a |\vbox| with the image of + % the lion. We use |\definexref| to define the cross-reference + % label. + \vbox{% + % In addition to the cross-reference label, |\definexref| will + % create a hyperlink destination with the same label. Therefore, + % we customize this destination to do what we need. We say that + % destination type for the hyperlink group |definexref| (to which + % |\definexref| belongs) should be |fitr|. This destination type + % will magnify the rectangle specified by the options |width|, + % |height| and |depth| to the PDF viewer's window. Therefore, we + % set those options accordingly with |\hldestopts| (notice the use + % of |depth| instead of |height|---we will want the rectangle to + % extend {\it downward}, to cover the image which will come + % next). Notice that these settings will be isolated within the + % current group (i.e., the |\vbox| we're constructing). + \hldesttype[definexref]{fitr}% + \hldestopts[definexref]{width=\wd\imgbox,height=0pt,depth=\ht\imgbox}% + % We define a symbolic label so that we can later refer + % to the figure with |\ref|. The command |\definexref| does + % exactly that. The last argument to |\definexref| specifies + % class of the label, which determines the word used by |\ref| in + % front of the reference text (remember that we've defined + % |\figureword| above). + \definexref{#1}{\the\fignumber}{figure}% + % Finally, produce the image which we've been stashing in the box + % register |\imgbox|. + \box\imgbox + }% + \medskip +} + +% Create the figure. +\fig{CTANlion}{ctan_lion_350x350}{Lion in the archives}{200pt} + +% Finished with the fun part, we can relax and typeset some +% hyperlinks. The easiest way to do that is to use the |\ref| +% cross-reference command. We can even pass an optional argument +% (|the lion in|), which will be placed before the class word (|fig.|) +% and become part of the link (to make sure the reader does not have +% to aim too hard). +Show me \ref[the lion in]{CTANlion}. + +% If you are the restless kind, here's another way to create a +% hyperlink to the image: we create a link explicitly by using +% |\hlstart ... \hlend|. We don't specify the link type, therefore +% the default type |name| will be used (these are ``named links'', +% i.e., links pointing to destinations identified by labels). In the +% options argument, we specify that the border of the link should be +% inverted when the user clicks the link (|hlight=O|), and also set +% special color for this link, overriding the default dark-red. The +% label for the destination is the same as the cross-reference label, +% |CTANlion|. +Show me +\hlstart{}{hlight=O,colormodel=named,color=OliveGreen}{CTANlion} + the CTAN lion\hlend. + +% Let's now point somewhere outside our document. Eplain homepage is +% a good target. In the similar spirit, let's consider two +% approaches. The easy one is to use the |\url| command from +% |url.sty|. Remember that we have customized the color of |url| +% hyperlinks, so this one will show up with a different color than the +% default dark-red. +Take me to \url{http://tug.org/eplain}. + +% The second approach is to create an explicit URL link. We specify +% yet another border highlighting mode, |P|, which means that the +% region underneath the bounding box of the link will be drawn inset +% into the page. Also, let's set the color of the hyperlink to an RGB +% color |0.4,0.1,0.4|. Since we cannot use commas to separate the +% color elements inside the options parameter to |\hlstart| (commas +% there separate options), we have to first create a user-defined +% color with |\definecolor| from |color.sty|, and use that in +% |\hlstart|. +\definecolor{mycolor}{rgb}{0.4,0.1,0.4} + +Take me to +\hlstart{url}{hlight=P,colormodel=,color=mycolor}{http://tug.org/eplain} + Eplain homepage\hlend. + +\bye + + +File: eplain.info, Node: Highlighting TeX comments in listings (lscommnt.tex), Prev: Hyperlinks (xhyper.tex), Up: Demo files + +8.2 Highlighting TeX comments in listings ('lscommnt.tex') +========================================================== + + + +% (This file is public domain.) +% Demonstrate how Eplain can be used to include a TeX source file +% verbatim, typesetting comments in colored italic typewriter type. + +% Load Eplain and LaTeX's color.sty package. +\input eplain +\beginpackages \usepackage{color} \endpackages +\nopagenumbers % Disable page numbers. +\font\commentfont = cmitt10 % Font for the comments (italic \tt). +% We'll define some `protected' macros with `@' in their names. +\makeatletter +% Define an equivalent of Eplain's \letreturn, to be able to assign +% various actions to the (active) percent character. +\begingroup \makeactive\% + \gdef\letpercent{\let%} +\endgroup +% The listing hook to be called in \setuplistinghook, see below. It +% makes `%' active and assigns it a `start comment' action. +\def\hlightcommentslisting{\makeactive\% \letpercent\start@comment}% +% This is what `%' is aliased to before a comment is started. +\def\start@comment{% + \leavevmode % Needed in the very first line of the input to process + % the new par (possibly inserting line number) before we + % kick in with the color and stuff. + \begingroup % Isolate color and font changes and the redefinitions. + \commentfont + \color[cmyk]{0.28,1,1,0.35}% + \percentchar % Produce the actual `%' and + \letpercent\percentchar % make all following `%'s do the same. + \letreturn\end@comment % Call \end@comment at end-of-line. +} +% \end@comment (alias for ^^M inside a comment) will end the comment +% started by \start@comment. We make ^^M active temporarily so that +% the active version of ^^M gets "frozen" into \end@comment. +\begingroup \makeactive\^^M % Avoid ^^M's from here on. + \gdef\end@comment{\endgroup ^^M}% +\endgroup +\resetatcatcode % Make `@' again inaccessible for use in macro names. + +% Define \setuplistinghook to setup comments highlighting, line +% numbering and omitting the last (empty) line of input. +\def\setuplistinghook{\hlightcommentslisting \linenumberedlisting + \nolastlinelisting} +% Isn't this fun? This file typesets itself, with the extra bonus of +% the pretty-printed comments and numbered source lines! +\listing{lscommnt} +\bye + + +File: eplain.info, Node: Macro index, Next: Concept index, Prev: Demo files, Up: Top + +Macro index +*********** + + +* Menu: + +* @hllabel: Destination types for hypertex. + (line 14) +* @hllabel <1>: Link types for hypertex. + (line 39) +* @hllabel <2>: Destination types for pdftex and dvipdfm. + (line 84) +* @hllabel <3>: Link types for pdftex and dvipdfm. + (line 67) +* @indexproof insertion class: Proofing index terms. + (line 28) +* abovecolumnskip: Multiple columns. (line 33) +* abovecolumnspenalty: Tables. (line 30) +* abovelistpenalty: Formatting lists. (line 29) +* abovelistskip: Formatting lists. (line 29) +* abovelistskipamount: Formatting lists. (line 10) +* adjarrow: Arrows and morphisms. + (line 113) +* adjmapdown: Arrows and morphisms. + (line 91) +* adjmapleft: Arrows and morphisms. + (line 66) +* adjmapright: Arrows and morphisms. + (line 63) +* adjmapup: Arrows and morphisms. + (line 94) +* advancebottommargin: Margins. (line 26) +* advanceleftmargin: Margins. (line 26) +* advancerightmargin: Margins. (line 26) +* advancetopmargin: Margins. (line 26) +* afterindexterm: Customizing indexing. + (line 6) +* afterindexterm hook: Indexing commands. (line 62) +* AMSLaTeX: Logos. (line 10) +* AMSTeX: Logos. (line 10) +* arrow: Arrows and morphisms. + (line 20) +* arrow <1>: Arrows and morphisms. + (line 104) +* bblem: Formatting bibliographies. + (line 41) +* bblemph: Formatting bibliographies. + (line 45) +* bblfilebasename: Citations. (line 30) +* bblhook: Formatting bibliographies. + (line 67) +* bblnewblock: Formatting bibliographies. + (line 53) +* bblrm: Formatting bibliographies. + (line 38) +* bblsc: Formatting bibliographies. + (line 49) +* bcolor (hyperlink option): Link options for pdftex and dvipdfm. + (line 13) +* bdash (hyperlink option): Link options for pdftex and dvipdfm. + (line 19) +* bdash (hyperlink option) <1>: Link options for pdftex and dvipdfm. + (line 32) +* begin for index entries: Modifying index entries. + (line 22) +* beginindex hook: Typesetting an index. + (line 30) +* beginlist: Formatting lists. (line 50) +* beginpackages: Environment for loading packages. + (line 6) +* begin{picture}: Packages known to work. + (line 14) +* begin{theindex}: Typesetting an index. + (line 17) +* belowcolumnskip: Multiple columns. (line 34) +* belowfootnoterulespace: Footnotes. (line 46) +* belowlistskip: Formatting lists. (line 30) +* belowlistskipamount: Formatting lists. (line 10) +* biarrow: Arrows and morphisms. + (line 110) +* biblabelcontents: Formatting bibliographies. + (line 23) +* biblabelextraspace: Formatting bibliographies. + (line 61) +* biblabelpostcontents: Formatting bibliographies. + (line 30) +* biblabelprecontents: Formatting bibliographies. + (line 30) +* biblabelprint: Formatting bibliographies. + (line 17) +* biblabelwidth: Formatting bibliographies. + (line 11) +* bibliography: Citations. (line 61) +* bibliography (hyperlinks): Citation hyperlinks. (line 11) +* bibliographystyle: Citations. (line 68) +* BibTeX: Logos. (line 10) +* bihline: Arrows and morphisms. + (line 69) +* bimapdown: Arrows and morphisms. + (line 85) +* bimapleft: Arrows and morphisms. + (line 60) +* bimapright: Arrows and morphisms. + (line 57) +* bimapup: Arrows and morphisms. + (line 88) +* bisline: Arrows and morphisms. + (line 116) +* bivline: Arrows and morphisms. + (line 97) +* blackbox: Boxes. (line 7) +* blanklineskipamount in justified text: Justification. (line 23) +* blanklineskipamount in obeyed text: Obeying spaces. (line 16) +* bottom (destination option): Destination types for pdftex and dvipdfm. + (line 65) +* bottom (destination option) <1>: Destination options for pdftex and dvipdfm. + (line 56) +* bottommargin: Margins. (line 17) +* boxit: Boxes. (line 28) +* boxitspace: Boxes. (line 30) +* bstyle (hyperlink option): Link options for pdftex and dvipdfm. + (line 25) +* bwidth (hyperlink option): Link options for pdftex and dvipdfm. + (line 49) +* catcode: Category codes. (line 13) +* center: Justification. (line 7) +* centereddisplays: Displays. (line 13) +* channelwidth: Arrows and morphisms. + (line 119) +* channelwidth <1>: Commutative diagram parameters. + (line 36) +* cite: Citations. (line 42) +* cite (hyperlinks): Citation hyperlinks. (line 6) +* cmd (destination option): Destination types for hypertex. + (line 14) +* cmd (destination option) <1>: Destination options for hypertex. + (line 7) +* cmd (destination option) <2>: Destination types for pdftex and dvipdfm. + (line 83) +* cmd (destination option) <3>: Destination options for pdftex and dvipdfm. + (line 14) +* cmd (hyperlink option): Link types for hypertex. + (line 39) +* cmd (hyperlink option) <1>: Link options for hypertex. + (line 7) +* cmd (hyperlink option) <2>: Link types for pdftex and dvipdfm. + (line 66) +* cmd (hyperlink option) <3>: Link options for pdftex and dvipdfm. + (line 56) +* color (hyperlink option): Options supported by all drivers. + (line 37) +* colormodel (hyperlink option): Options supported by all drivers. + (line 37) +* columnfill: Multiple columns. (line 14) +* commdiag: Construction of commutative diagrams. + (line 9) +* commdiagbaselines: Construction of commutative diagrams. + (line 64) +* commdiagbaselines <1>: Commutative diagram parameters. + (line 43) +* csn: \csn and \ece. (line 6) +* definecolor: Hyperlinks (xhyper.tex). + (line 7) +* definecontentsfile: Alternative contents files. + (line 6) +* defineindex: Indexing. (line 36) +* definexref: Defining generic references. + (line 6) +* definexref <1>: Hyperlinks (xhyper.tex). + (line 7) +* definexref (hyperlinks): Cross-reference hyperlinks. + (line 6) +* depth (destination option): Destination types for pdftex and dvipdfm. + (line 61) +* depth (destination option) <1>: Destination options for pdftex and dvipdfm. + (line 34) +* depth (hyperlink option): Link options for pdftex and dvipdfm. + (line 122) +* discretionaries: Paths. (line 20) +* displaylines: Displays. (line 18) +* dospecials: Verbatim listing. (line 57) +* doublecolumns: Multiple columns. (line 7) +* drawline: Slanted lines and vectors. + (line 6) +* drawvector: Slanted lines and vectors. + (line 6) +* dvipdfm (hyperlink driver): Hyperlink drivers pdftex and dvipdfm. + (line 6) +* eattoken: Macro arguments. (line 23) +* ece: \csn and \ece. (line 10) +* edefappend: \edefappend. (line 6) +* ehrule: Rules. (line 17) +* em: Commands from LaTeX. (line 25) +* emph: Commands from LaTeX. (line 25) +* enablehyperlinks: Introduction to hyperlinks. + (line 42) +* enablehyperlinks <1>: Choosing destination placement. + (line 7) +* enablehyperlinks <2>: Hyperlink driver nolinks. + (line 48) +* end for index entries: Modifying index entries. + (line 22) +* endlist: Formatting lists. (line 52) +* endnumberedlist: Lists. (line 13) +* endorderedlist: Lists. (line 13) +* endpackages: Environment for loading packages. + (line 6) +* endunorderedlist: Lists. (line 20) +* end{picture}: Packages known to work. + (line 14) +* end{theindex}: Typesetting an index. + (line 17) +* eplain: Invoking Eplain. (line 30) +* eplaininput: Environment for loading packages. + (line 24) +* eqalignno: Displays. (line 18) +* eqalignno <1>: Displays. (line 23) +* eqalignnum: Displays. (line 23) +* eqconstruct: Formatting equation references. + (line 21) +* eqdef: Equation references. (line 15) +* eqdef (hyperlinks): Equation reference hyperlinks. + (line 6) +* eqdefn: Equation references. (line 38) +* eqdefn (hyperlinks): Equation reference hyperlinks. + (line 6) +* eqno: Displays. (line 23) +* eqnum: Displays. (line 23) +* eqnum <1>: Equation references. (line 15) +* eqnum <2>: Equation references. (line 38) +* eqnumber: Equation references. (line 8) +* eqprint: Formatting equation references. + (line 12) +* eqref: Equation references. (line 46) +* eqref <1>: Equation reference hyperlinks. + (line 20) +* eqrefn: Equation references. (line 51) +* eqrefn <1>: Equation reference hyperlinks. + (line 20) +* eqsubdef: Subequation references. + (line 11) +* eqsubdef (hyperlinks): Equation reference hyperlinks. + (line 6) +* eqsubdefn: Subequation references. + (line 11) +* eqsubdefn (hyperlinks): Equation reference hyperlinks. + (line 6) +* eqsubreftext: Subequation references. + (line 22) +* eTeX: Logos. (line 10) +* everyfootnote: Footnotes. (line 35) +* evrule: Rules. (line 18) +* expandonce: \expandonce. (line 6) +* ext (hyperlink option): Link types for hypertex. + (line 23) +* ext (hyperlink option) <1>: Link options for hypertex. + (line 20) +* ExTeX: Logos. (line 10) +* file (hyperlink option): Link types for hypertex. + (line 22) +* file (hyperlink option) <1>: Link options for hypertex. + (line 14) +* file (hyperlink option) <2>: Link types for pdftex and dvipdfm. + (line 40) +* file (hyperlink option) <3>: Link types for pdftex and dvipdfm. + (line 52) +* file (hyperlink option) <4>: Link options for pdftex and dvipdfm. + (line 63) +* fileexists (conditional): Auxiliary files. (line 10) +* filename (hyperlink type): Link types for hypertex. + (line 21) +* filename (hyperlink type) <1>: Link types for pdftex and dvipdfm. + (line 39) +* filepage (hyperlink type): Link types for pdftex and dvipdfm. + (line 51) +* fit (destination type): Destination types for pdftex and dvipdfm. + (line 18) +* fitb (destination type): Destination types for pdftex and dvipdfm. + (line 39) +* fitbh (destination type): Destination types for pdftex and dvipdfm. + (line 44) +* fitbv (destination type): Destination types for pdftex and dvipdfm. + (line 52) +* fith (destination type): Destination types for pdftex and dvipdfm. + (line 23) +* fitr (destination type): Destination types for pdftex and dvipdfm. + (line 60) +* fitv (destination type): Destination types for pdftex and dvipdfm. + (line 31) +* flushleft: Justification. (line 7) +* flushright: Justification. (line 7) +* fmtversion: Introduction. (line 50) +* footnote (hyperlinks): Footnote hyperlinks. (line 7) +* footnotemarkseparation: Footnotes. (line 25) +* footnoteruleheight: Footnotes. (line 44) +* footnoterulewidth: Footnotes. (line 44) +* for: Iteration. (line 6) +* For: Iteration. (line 15) +* frac: Fractions. (line 6) +* fullmonthname: Time of day. (line 13) +* futurenonspacelet: \futurenonspacelet. (line 6) +* getproperty: Properties. (line 18) +* gloggingall: Diagnostics. (line 22) +* gobble: Macro arguments. (line 7) +* gobbletwo: Macro arguments. (line 7) +* gridcommdiag: Construction of commutative diagrams. + (line 88) +* gtracingall: Diagnostics. (line 22) +* gutter: Multiple columns. (line 23) +* gutterbox: Multiple columns. (line 24) +* hangindent for index entries: Typesetting an index. + (line 45) +* harrowlength: Arrows and morphisms. + (line 27) +* harrowlength <1>: Commutative diagram parameters. + (line 11) +* hchannel: Commutative diagram parameters. + (line 39) +* height (destination option): Destination types for pdftex and dvipdfm. + (line 60) +* height (destination option) <1>: Destination options for pdftex and dvipdfm. + (line 37) +* height (hyperlink option): Link options for pdftex and dvipdfm. + (line 125) +* hgrid: Construction of commutative diagrams. + (line 108) +* hgrid <1>: Commutative diagram parameters. + (line 47) +* hldest: Explicit hyperlinks. (line 6) +* hldest <1>: Destination types for hypertex. + (line 17) +* hldest <2>: Destination types for pdftex and dvipdfm. + (line 86) +* hldest <3>: Setting hyperlink types and options. + (line 7) +* hldestoff: Hyperlink driver nolinks. + (line 10) +* hldestoff <1>: Turning low-level commands on/off. + (line 6) +* hldeston: Turning low-level commands on/off. + (line 6) +* hldestopts: Setting default types and options. + (line 15) +* hldestopts <1>: Setting group options. + (line 10) +* hldestopts <2>: Hyperlinks (xhyper.tex). + (line 7) +* hldesttype: Setting default types and options. + (line 6) +* hldesttype <1>: Setting group types. (line 6) +* hldesttype <2>: Hyperlinks (xhyper.tex). + (line 7) +* hlend: Explicit hyperlinks. (line 25) +* hlend <1>: Hyperlinks (xhyper.tex). + (line 7) +* hlfootbacklabel: Footnote hyperlinks. (line 12) +* hlfootlabel: Footnote hyperlinks. (line 12) +* hlfootlabelnumber: Footnote hyperlinks. (line 15) +* hlhash: Link types for hypertex. + (line 40) +* hlidx: Exact destinations for index terms. + (line 13) +* hlidxlabel: Exact destinations for index terms. + (line 23) +* hlidxlabelnumber: Exact destinations for index terms. + (line 25) +* hlidxpage: Page destinations for index terms. + (line 20) +* hlidxpagelabel: Page destinations for index terms. + (line 11) +* hlight (hyperlink option): Link options for pdftex and dvipdfm. + (line 69) +* hlightcommentslisting: Highlighting TeX comments in listings (lscommnt.tex). + (line 7) +* hline: Arrows and morphisms. + (line 54) +* hloff: Hyperlink driver nolinks. + (line 10) +* hloff <1>: Turning low-level commands on/off. + (line 6) +* hlon: Turning low-level commands on/off. + (line 6) +* hlopts: Setting default types and options. + (line 15) +* hlopts <1>: Setting group options. + (line 10) +* hlopts <2>: Hyperlinks (xhyper.tex). + (line 7) +* hlstart: Explicit hyperlinks. (line 25) +* hlstart <1>: Link types for hypertex. + (line 43) +* hlstart <2>: Link types for pdftex and dvipdfm. + (line 70) +* hlstart <3>: Setting hyperlink types and options. + (line 7) +* hlstart <4>: Hyperlinks (xhyper.tex). + (line 7) +* hltype: Setting default types and options. + (line 6) +* hltype <1>: Setting group types. (line 6) +* hmorphposn: Arrows and morphisms. + (line 32) +* hmorphposn <1>: Commutative diagram parameters. + (line 20) +* hmorphposndn: Arrows and morphisms. + (line 38) +* hmorphposndn <1>: Commutative diagram parameters. + (line 22) +* hmorphposnlft: Arrows and morphisms. + (line 39) +* hmorphposnlft <1>: Commutative diagram parameters. + (line 23) +* hmorphposnrt: Arrows and morphisms. + (line 39) +* hmorphposnrt <1>: Commutative diagram parameters. + (line 22) +* hmorphposnup: Arrows and morphisms. + (line 38) +* hmorphposnup <1>: Commutative diagram parameters. + (line 22) +* hoffset: Proofing index terms. + (line 21) +* hookaction: Hooks. (line 14) +* hookactiononce: Hooks. (line 21) +* hookappend: Hooks. (line 15) +* hookprepend: Hooks. (line 16) +* hookrun: Hooks. (line 37) +* href: General hyperlinks. (line 6) +* hruledefaultdepth: Rules. (line 9) +* hruledefaultheight: Rules. (line 9) +* hsize: Margins. (line 32) +* hypertex (hyperlink driver): Hyperlink driver hypertex. + (line 6) +* hyphenpenalty for index entries: Typesetting an index. + (line 45) +* identity: Macro arguments. (line 28) +* idx: Indexing commands. (line 8) +* idx (hyperlinks): Index hyperlinks. (line 6) +* idxargclose: Index entries with special characters. + (line 73) +* idxargopen: Index entries with special characters. + (line 73) +* idxbeginrangemark: Customizing indexing. + (line 41) +* idxencapoperator: Customizing indexing. + (line 38) +* idxendrangemark: Customizing indexing. + (line 44) +* idxexact: Choosing destination placement. + (line 8) +* idxmarked: Indexing commands. (line 29) +* idxmarked (hyperlinks): Index hyperlinks. (line 6) +* idxname: Indexing commands. (line 19) +* idxname (hyperlinks): Index hyperlinks. (line 6) +* idxnameseparator: Indexing commands. (line 19) +* idxnone: Choosing destination placement. + (line 9) +* idxpage: Choosing destination placement. + (line 9) +* idxpagei: Page list and page range parsers. + (line 6) +* idxpageii: Page list and page range parsers. + (line 6) +* idxpagelistdelimiter: Page list and page range parsers. + (line 23) +* idxpagenum: Customizing indexing. + (line 49) +* idxpagerangedelimiter: Page list and page range parsers. + (line 23) +* idxpagerangedelimiter <1>: Page list and page range parsers. + (line 30) +* idxparselist: Page list and page range parsers. + (line 6) +* idxparserange: Page list and page range parsers. + (line 6) +* idxrangebeginword: Customizing indexing. + (line 20) +* idxrangeendword: Customizing indexing. + (line 23) +* idxseealsocmdword: Customizing indexing. + (line 29) +* idxseecmdword: Customizing indexing. + (line 26) +* idxsubentryseparator: Customizing indexing. + (line 35) +* idxsubmarked: Indexing commands. (line 40) +* idxsubmarked (hyperlinks): Index hyperlinks. (line 6) +* ifempty: \ifempty. (line 6) +* iffileexists: Auxiliary files. (line 10) +* ifidx: Indexing. (line 54) +* ifindexproofing: Proofing index terms. + (line 12) +* ifinteger: \ifinteger and \isinteger. + (line 6) +* ifpdf: Checking for PDF output. + (line 10) +* ifpdf <1>: Introduction to hyperlinks. + (line 51) +* ifrewritetocfile: Reading the .toc file. + (line 26) +* ifundefined: \ifundefined. (line 6) +* includegraphics: Hyperlinks (xhyper.tex). + (line 7) +* indexfilebasename: Typesetting an index. + (line 11) +* indexfonts: Typesetting an index. + (line 24) +* indexitem hook: Typesetting an index. + (line 49) +* indexprooffont: Proofing index terms. + (line 12) +* indexproofingfalse: Proofing index terms. + (line 12) +* indexproofingtrue: Proofing index terms. + (line 12) +* indexproofterm: Proofing index terms. + (line 12) +* indexproofunbox: Proofing index terms. + (line 28) +* indexsee: Customizing indexing. + (line 53) +* indexsee <1>: Hyperlinks in see and see also entries. + (line 8) +* indexseealso: Customizing indexing. + (line 53) +* indexseealso <1>: Hyperlinks in see and see also entries. + (line 8) +* indexseealsowords: Customizing indexing. + (line 53) +* indexseeword: Customizing indexing. + (line 53) +* indexsetmargins: Proofing index terms. + (line 21) +* indexspace: Typesetting an index. + (line 54) +* innerdef: Allocation macros. (line 28) +* innerinnerdef: Allocation macros. (line 39) +* innernewbox: Allocation macros. (line 21) +* innernewcount: Allocation macros. (line 21) +* innernewdimen: Allocation macros. (line 21) +* innernewfam: Allocation macros. (line 22) +* innernewhelp: Allocation macros. (line 22) +* innernewif: Allocation macros. (line 22) +* innernewinsert: Allocation macros. (line 22) +* innernewlanguage: Allocation macros. (line 23) +* innernewread: Allocation macros. (line 24) +* innernewskip: Allocation macros. (line 24) +* innernewtoks: Allocation macros. (line 24) +* innernewwrite: Allocation macros. (line 24) +* input: Environment for loading packages. + (line 24) +* insidemargin: Proofing index terms. + (line 21) +* interfootnoteskip: Footnotes. (line 29) +* interitemskip: Formatting lists. (line 30) +* interitemskipamount: Formatting lists. (line 14) +* isinteger: \ifinteger and \isinteger. + (line 13) +* item in indexes: Typesetting an index. + (line 35) +* itemletter: Formatting lists. (line 44) +* itemnumber: Formatting lists. (line 44) +* ituline: Page list and page range parsers. + (line 26) +* jobname: Citations. (line 17) +* jobname <1>: Typesetting an index. + (line 11) +* jobname <2>: Auxiliary files. (line 9) +* LAMSTeX: Logos. (line 11) +* LaTeX: Logos. (line 11) +* lbracechar: Category codes. (line 57) +* left (destination option): Destination types for pdftex and dvipdfm. + (line 11) +* left (destination option) <1>: Destination types for pdftex and dvipdfm. + (line 33) +* left (destination option) <2>: Destination types for pdftex and dvipdfm. + (line 54) +* left (destination option) <3>: Destination types for pdftex and dvipdfm. + (line 65) +* left (destination option) <4>: Destination options for pdftex and dvipdfm. + (line 60) +* leftdisplayindent: Displays. (line 11) +* leftdisplays: Displays. (line 9) +* leftdisplaysetup: Formatting displays. (line 8) +* lefteqnumbers: Displays. (line 23) +* leftmargin: Margins. (line 17) +* leqalignno: Displays. (line 19) +* leqalignno <1>: Displays. (line 23) +* leqno: Displays. (line 23) +* letreturn: Category codes. (line 40) +* letter: Category codes. (line 10) +* lft: Arrows and morphisms. + (line 15) +* li: Lists. (line 27) +* li (hyperlinks): List hyperlinks. (line 6) +* linenumberedlisting: Verbatim listing. (line 17) +* linenumberedlisting <1>: Highlighting TeX comments in listings (lscommnt.tex). + (line 7) +* listcompact: Lists. (line 38) +* listing: Verbatim listing. (line 7) +* listing <1>: Highlighting TeX comments in listings (lscommnt.tex). + (line 7) +* listingfont: Verbatim listing. (line 10) +* listleftindent: Formatting lists. (line 18) +* listmarkerspace: Formatting lists. (line 33) +* listrightindent: Formatting lists. (line 18) +* loggingall: Diagnostics. (line 11) +* loop: Iteration. (line 40) +* makeactive: Category codes. (line 13) +* makeatletter: Category codes. (line 22) +* makeatother: Category codes. (line 31) +* makeblankbox: Boxes. (line 12) +* makecolumns: Tables. (line 6) +* makeheadline: Proofing index terms. + (line 28) +* mapdown: Arrows and morphisms. + (line 13) +* mapdown <1>: Arrows and morphisms. + (line 76) +* mapleft: Arrows and morphisms. + (line 6) +* mapleft <1>: Arrows and morphisms. + (line 51) +* mapright: Arrows and morphisms. + (line 6) +* mapright <1>: Arrows and morphisms. + (line 48) +* mapup: Arrows and morphisms. + (line 13) +* mapup <1>: Arrows and morphisms. + (line 79) +* matrix: Construction of commutative diagrams. + (line 10) +* mbox: Commands from LaTeX. (line 28) +* MF: Logos. (line 11) +* monthname: Time of day. (line 10) +* morphdist: Arrows and morphisms. + (line 33) +* morphdist <1>: Commutative diagram parameters. + (line 32) +* name (hyperlink type): Link types for hypertex. + (line 7) +* name (hyperlink type) <1>: Link types for pdftex and dvipdfm. + (line 18) +* new...: Allocation macros. (line 8) +* newblock: Commands from LaTeX. (line 31) +* newcommand: Commands from LaTeX. (line 18) +* newwin (hyperlink option): Link types for pdftex and dvipdfm. + (line 41) +* newwin (hyperlink option) <1>: Link types for pdftex and dvipdfm. + (line 53) +* newwin (hyperlink option) <2>: Link options for pdftex and dvipdfm. + (line 90) +* noarrow: Invoking Eplain. (line 84) +* noauxfile: Invoking Eplain. (line 89) +* nobibtex: Invoking Eplain. (line 73) +* nocite: Citations. (line 58) +* nolastlinelisting: Verbatim listing. (line 25) +* nolastlinelisting <1>: Highlighting TeX comments in listings (lscommnt.tex). + (line 7) +* nolinks (hyperlink driver): Hyperlink driver nolinks. + (line 6) +* normalbaselineskip: Options supported by all drivers. + (line 19) +* num (hyperlink type): Link types for pdftex and dvipdfm. + (line 91) +* numberedfootnote: Footnotes. (line 7) +* numberedfootnote (hyperlinks): Footnote hyperlinks. (line 6) +* numberedlist: Lists. (line 13) +* numberedlistdepth: Formatting lists. (line 41) +* numberedmarker: Formatting lists. (line 37) +* numbername: Writing out numbers. (line 6) +* obeywhitespace: Obeying spaces. (line 6) +* orderedlist: Lists. (line 13) +* other: Category codes. (line 10) +* outer: Allocation macros. (line 12) +* outsidemargin: Proofing index terms. + (line 21) +* page (hyperlink type): Link types for pdftex and dvipdfm. + (line 30) +* pagefit (hyperlink option): Link types for pdftex and dvipdfm. + (line 31) +* pagefit (hyperlink option) <1>: Link types for pdftex and dvipdfm. + (line 41) +* pagefit (hyperlink option) <2>: Link types for pdftex and dvipdfm. + (line 53) +* pagefit (hyperlink option) <3>: Link options for pdftex and dvipdfm. + (line 107) +* pageno: Proofing index terms. + (line 21) +* pagetotal: Multiple columns. (line 14) +* paperheight: Margins. (line 43) +* paperwidth: Margins. (line 46) +* parindent in indexes: Typesetting an index. + (line 24) +* path: Paths. (line 13) +* pdfoutput: Checking for PDF output. + (line 20) +* pdftex (hyperlink driver): Hyperlink drivers pdftex and dvipdfm. + (line 6) +* percentchar: Category codes. (line 54) +* phantomeqlabel: Equation reference hyperlinks. + (line 14) +* phantomeqnumber: Equation reference hyperlinks. + (line 14) +* previouseverydisplay: Formatting displays. (line 14) +* printbetweencitations: Formatting citations. + (line 20) +* printcitefinish: Formatting citations. + (line 15) +* printcitenote: Formatting citations. + (line 26) +* printcitestart: Formatting citations. + (line 15) +* printitem: Formatting lists. (line 51) +* printlistinglineno: Verbatim listing. (line 19) +* printlistinglineno <1>: Verbatim listing. (line 27) +* providecommand: Commands from LaTeX. (line 18) +* quadcolumns: Multiple columns. (line 7) +* raggedright for index entries: Typesetting an index. + (line 45) +* raise (hyperlink option): Options supported by all drivers. + (line 13) +* raise (hyperlink option) <1>: Setting group options. + (line 33) +* raw (destination type): Destination types for hypertex. + (line 12) +* raw (destination type) <1>: Destination types for pdftex and dvipdfm. + (line 81) +* raw (hyperlink type): Link types for hypertex. + (line 37) +* raw (hyperlink type) <1>: Link types for pdftex and dvipdfm. + (line 64) +* rbracechar: Category codes. (line 58) +* readindexfile: Typesetting an index. + (line 6) +* readindexfile (hyperlinks): Index hyperlinks. (line 9) +* readtocfile: Reading the .toc file. + (line 6) +* ref: Using generic references. + (line 16) +* ref <1>: Hyperlinks (xhyper.tex). + (line 7) +* ref (hyperlinks): Cross-reference hyperlinks. + (line 19) +* refn: Using generic references. + (line 9) +* refn (hyperlinks): Cross-reference hyperlinks. + (line 14) +* refs: Using generic references. + (line 22) +* refs (hyperlinks): Cross-reference hyperlinks. + (line 26) +* refspace: Cross-reference hyperlinks. + (line 24) +* refspace <1>: Page reference hyperlinks. + (line 10) +* reftie: Cross-reference hyperlinks. + (line 16) +* reftie <1>: Cross-reference hyperlinks. + (line 23) +* reftie <2>: Equation reference hyperlinks. + (line 20) +* renewcommand: Commands from LaTeX. (line 18) +* repeat: Iteration. (line 42) +* resetatcatcode: Environment for loading packages. + (line 35) +* resetatcatcode <1>: Category codes. (line 23) +* rewritetocfile (conditional): Reading the .toc file. + (line 26) +* right (destination option): Destination types for pdftex and dvipdfm. + (line 66) +* right (destination option) <1>: Destination options for pdftex and dvipdfm. + (line 64) +* righteqnumbers: Displays. (line 23) +* rightmargin: Margins. (line 17) +* rotatebox: Hyperlinks (xhyper.tex). + (line 7) +* rt: Arrows and morphisms. + (line 14) +* sanitize: Converting to characters. + (line 22) +* sarrowlength: Arrows and morphisms. + (line 28) +* sarrowlength <1>: Commutative diagram parameters. + (line 17) +* sc: Commands from LaTeX. (line 25) +* see for index entries: Modifying index entries. + (line 36) +* see for index entries <1>: Customizing indexing. + (line 62) +* seealso for index entries: Modifying index entries. + (line 49) +* seevariant: Customizing indexing. + (line 53) +* setidxpagelistdelimiter: Page list and page range parsers. + (line 14) +* setidxpagerangedelimiter: Page list and page range parsers. + (line 14) +* setproperty: Properties. (line 13) +* setuplistinghook: Verbatim listing. (line 13) +* setuplistinghook <1>: Highlighting TeX comments in listings (lscommnt.tex). + (line 7) +* sidx: Indexing commands. (line 8) +* sidxmarked: Indexing commands. (line 29) +* sidxname: Indexing commands. (line 19) +* sidxsubmarked: Indexing commands. (line 40) +* singlecolumn: Multiple columns. (line 9) +* sline: Arrows and morphisms. + (line 23) +* sline <1>: Arrows and morphisms. + (line 107) +* SLiTeX: Logos. (line 11) +* special: Introduction to hyperlinks. + (line 9) +* specialpathdelimiters (conditional): Paths. (line 28) +* subeqnumber: Subequation references. + (line 15) +* subitem in indexes: Typesetting an index. + (line 35) +* subsubitem in indexes: Typesetting an index. + (line 35) +* testfileexistence: Auxiliary files. (line 8) +* TeX: Logos. (line 6) +* textbf: Commands from LaTeX. (line 25) +* timestamp: Time of day. (line 18) +* timestring: Time of day. (line 16) +* toc...entry: Writing the .toc file. + (line 9) +* toc...entry <1>: Writing the .toc file. + (line 54) +* tocfilebasename: Changing the .toc file's root name. + (line 10) +* today: Time of day. (line 21) +* top (destination option): Destination types for pdftex and dvipdfm. + (line 11) +* top (destination option) <1>: Destination types for pdftex and dvipdfm. + (line 25) +* top (destination option) <2>: Destination types for pdftex and dvipdfm. + (line 46) +* top (destination option) <3>: Destination types for pdftex and dvipdfm. + (line 66) +* top (destination option) <4>: Destination options for pdftex and dvipdfm. + (line 68) +* topmargin: Margins. (line 17) +* tracingall: Diagnostics. (line 8) +* tracingboxes: Diagnostics. (line 16) +* tracingoff: Diagnostics. (line 18) +* triplecolumns: Multiple columns. (line 7) +* tt: Packages known to work. + (line 77) +* ttfamily: Packages known to work. + (line 73) +* uncatcodespecials: Verbatim listing. (line 57) +* uncatcodespecials <1>: Category codes. (line 49) +* unorderedlist: Lists. (line 20) +* unorderedlistdepth: Formatting lists. (line 41) +* unorderedmarker: Formatting lists. (line 37) +* url: Hyperlinks (xhyper.tex). + (line 7) +* url (hyperlink type): Link types for hypertex. + (line 14) +* url (hyperlink type) <1>: Link types for pdftex and dvipdfm. + (line 25) +* url (hyperlinks): URL hyperlinks. (line 6) +* usepackage: The \usepackage command. + (line 6) +* varrowlength: Arrows and morphisms. + (line 28) +* varrowlength <1>: Commutative diagram parameters. + (line 14) +* vchannel: Commutative diagram parameters. + (line 39) +* verbatim: Verbatim listing. (line 34) +* verbatimescapechar: Verbatim listing. (line 47) +* vgrid: Construction of commutative diagrams. + (line 108) +* vgrid <1>: Commutative diagram parameters. + (line 51) +* vline: Arrows and morphisms. + (line 82) +* vmorphposn: Arrows and morphisms. + (line 33) +* vmorphposn <1>: Commutative diagram parameters. + (line 26) +* vmorphposndn: Arrows and morphisms. + (line 38) +* vmorphposndn <1>: Commutative diagram parameters. + (line 28) +* vmorphposnlft: Arrows and morphisms. + (line 40) +* vmorphposnlft <1>: Commutative diagram parameters. + (line 29) +* vmorphposnrt: Arrows and morphisms. + (line 39) +* vmorphposnrt <1>: Commutative diagram parameters. + (line 28) +* vmorphposnup: Arrows and morphisms. + (line 38) +* vmorphposnup <1>: Commutative diagram parameters. + (line 28) +* vpenalty: Mode-specific penalties. + (line 9) +* vruledefaultwidth: Rules. (line 10) +* width (destination option): Destination types for pdftex and dvipdfm. + (line 60) +* width (destination option) <1>: Destination options for pdftex and dvipdfm. + (line 40) +* width (hyperlink option): Link options for pdftex and dvipdfm. + (line 128) +* writenumberedtocentry: Writing the .toc file. + (line 13) +* writenumberedtocline: Writing the .toc file. + (line 36) +* writetocentry: Writing the .toc file. + (line 7) +* XeLaTeX: Logos. (line 11) +* XeTeX: Logos. (line 11) +* xrdef: Page references. (line 10) +* xrdef (hyperlinks): Page reference hyperlinks. + (line 6) +* xref: Page references. (line 14) +* xref (hyperlinks): Page reference hyperlinks. + (line 10) +* xrefn: Using generic references. + (line 10) +* xrefn (hyperlinks): Cross-reference hyperlinks. + (line 14) +* xrefpageword: Page references. (line 18) +* xrefpageword <1>: Page reference hyperlinks. + (line 10) +* xrefwarning conditional: Using generic references. + (line 14) +* xrefwarningfalse: Citations. (line 78) +* xrlabel: Converting to characters. + (line 6) +* xyz (destination type): Destination types for hypertex. + (line 7) +* xyz (destination type) <1>: Destination types for pdftex and dvipdfm. + (line 7) +* zoom (destination option): Destination types for pdftex and dvipdfm. + (line 7) +* zoom (destination option) <1>: Destination options for pdftex and dvipdfm. + (line 21) + + +File: eplain.info, Node: Concept index, Prev: Macro index, Up: Top + +Concept index +************* + + +* Menu: + +* *-form of LaTeX commands: Commands from LaTeX. (line 18) +* .aux file: Citations. (line 17) +* .aux file <1>: Cross-references. (line 11) +* .bbl file: Citations. (line 21) +* .bib file: Citations. (line 20) +* .bst files: Citations. (line 70) +* .cls files: Loading LaTeX packages. + (line 6) +* .eps files: Packages known to work. + (line 91) +* .eps files <1>: Packages known to work. + (line 100) +* .fmt file: Installation. (line 27) +* .fmt file <1>: Invoking Eplain. (line 14) +* .idx files: Indexing. (line 23) +* .idx files <1>: Index hyperlinks. (line 14) +* .ind files: Indexing. (line 27) +* .ind files <1>: Index hyperlinks. (line 25) +* .pdf files: Checking for PDF output. + (line 6) +* .pdf files <1>: Packages known to work. + (line 91) +* .pdf files <2>: Introduction to hyperlinks. + (line 13) +* .ps files: Introduction to hyperlinks. + (line 13) +* .sty files: Loading LaTeX packages. + (line 6) +* .toc file: Contents. (line 10) +* active characters: Category codes. (line 12) +* after index terms: Customizing indexing. + (line 6) +* alignments: Tables. (line 6) +* all groups, specifying: Setting group types. (line 26) +* allocation macros: Allocation macros. (line 6) +* alphanumeric references: Citations. (line 128) +* AMSLaTeX: Logos. (line 10) +* amsppt.sty: Invoking Eplain. (line 92) +* AMSTeX: Logos. (line 10) +* AMSTeX conflicts: Invoking Eplain. (line 92) +* arguments, ignoring: Macro arguments. (line 6) +* arrows: Arrows and morphisms. + (line 6) +* atom: Properties. (line 6) +* autopict.sty: Packages known to work. + (line 12) +* avoiding boxed links: URL hyperlinks. (line 17) +* avoiding boxed links <1>: Setting default types and options. + (line 25) +* axuiliary files, existence of: Auxiliary files. (line 6) +* backslash character: Category codes. (line 15) +* balancing of columns with '\singlecolumn': Multiple columns. + (line 11) +* Berry, Karl: Introduction. (line 30) +* beveled hyperlink border: Link options for pdftex and dvipdfm. + (line 25) +* bibliographies: Citations. (line 6) +* bibliography fonts: Formatting bibliographies. + (line 38) +* bibliography items, extra space between: Formatting bibliographies. + (line 67) +* bibliography, formatting the: Formatting bibliographies. + (line 6) +* bibliography, hyperlinks: Citation hyperlinks. (line 11) +* bibtex: Invoking Eplain. (line 103) +* BibTeX: Citations. (line 9) +* BibTeX <1>: Logos. (line 10) +* black boxes: Boxes. (line 6) +* Borceux, Francis: Construction of commutative diagrams. + (line 79) +* border color, hyperlink: Link options for pdftex and dvipdfm. + (line 13) +* border style, hyperlink: Link options for pdftex and dvipdfm. + (line 19) +* border style, hyperlink <1>: Link options for pdftex and dvipdfm. + (line 25) +* border width, hyperlink: Link options for pdftex and dvipdfm. + (line 49) +* Bott, Raoul: Construction of commutative diagrams. + (line 13) +* boxed links, avoiding: URL hyperlinks. (line 17) +* boxed links, avoiding <1>: Setting default types and options. + (line 25) +* boxes, open: Boxes. (line 12) +* braces, inside index entries: Index entries with special characters. + (line 63) +* brackets, inside index entries: Index entries with special characters. + (line 85) +* Brockett, Roger W.: Construction of commutative diagrams. + (line 38) +* Butterfly Lemma: Construction of commutative diagrams. + (line 121) +* Carlisle, David: Loading LaTeX packages. + (line 14) +* catcode of '@': Environment for loading packages. + (line 35) +* category codes: Category codes. (line 6) +* centering: Justification. (line 6) +* characters, converting to: Converting to characters. + (line 6) +* characters, special: Verbatim listing. (line 57) +* citations: Citations. (line 6) +* citations, formatting: Formatting citations. + (line 6) +* citations, hyperlinks: Citation hyperlinks. (line 6) +* citations, undefined: Citations. (line 48) +* cmtt8: Proofing index terms. + (line 12) +* color: Packages known to work. + (line 25) +* color, demo: Hyperlinks (xhyper.tex). + (line 7) +* color, hyperlink border: Link options for pdftex and dvipdfm. + (line 13) +* color, hyperlinks: URL hyperlinks. (line 17) +* color, hyperlinks <1>: Options supported by all drivers. + (line 37) +* color, hyperlinks <2>: Setting default types and options. + (line 25) +* color, problems with pdfTeX: Packages known to work. + (line 29) +* color.sty: Packages known to work. + (line 21) +* color.sty <1>: URL hyperlinks. (line 18) +* color.sty <2>: Hyperlink driver nolinks. + (line 34) +* color.sty <3>: Setting default types and options. + (line 27) +* color.sty <4>: Hyperlinks (xhyper.tex). + (line 7) +* colored links: URL hyperlinks. (line 17) +* colored links <1>: Options supported by all drivers. + (line 37) +* colored links <2>: Setting default types and options. + (line 25) +* column balancing with '\singlecolumn': Multiple columns. (line 11) +* column eject: Multiple columns. (line 14) +* commas after index terms: Customizing indexing. + (line 6) +* commas in cross-referencing index entries: Customizing indexing. + (line 62) +* comments, highlighting in listings: Highlighting TeX comments in listings (lscommnt.tex). + (line 7) +* commutative diagrams: Commutative diagrams. + (line 6) +* contents: Contents. (line 6) +* contents, and verbatim text: Writing the .toc file. + (line 49) +* contents, hyperlinks: Contents hyperlinks. (line 6) +* ConTeXt: Packages known to work. + (line 29) +* continued index entries: Typesetting an index. + (line 35) +* covering homotopy property: Construction of commutative diagrams. + (line 13) +* cross-references: Cross-references. (line 6) +* cross-references, defining general: Defining generic references. + (line 6) +* cross-references, defining general <1>: Using generic references. + (line 6) +* cross-references, demo: Hyperlinks (xhyper.tex). + (line 7) +* cross-references, hyperlinks: Cross-reference hyperlinks. + (line 6) +* cross-referencing index entries: Modifying index entries. + (line 36) +* cross-referencing index entries <1>: Customizing indexing. + (line 62) +* 'CTRL-L', and verbatim listing: Verbatim listing. (line 30) +* cube: Construction of commutative diagrams. + (line 89) +* customizing indexing: Customizing indexing. + (line 6) +* dashed hyperlink border: Link options for pdftex and dvipdfm. + (line 19) +* dashed hyperlink border <1>: Link options for pdftex and dvipdfm. + (line 25) +* date: Time of day. (line 6) +* default hyperlink options: Setting hyperlink types and options. + (line 6) +* default hyperlink options <1>: Setting group types. (line 17) +* default hyperlink type: Setting hyperlink types and options. + (line 6) +* default hyperlink type <1>: Setting group types. (line 17) +* defining general references: Defining generic references. + (line 6) +* defining general references <1>: Using generic references. + (line 6) +* definitions, global: Category codes. (line 37) +* demo files: Demo files. (line 6) +* destgroup: Implicit hyperlinks. (line 10) +* destgroup options: Setting hyperlink types and options. + (line 12) +* destgroup options <1>: Setting group options. + (line 6) +* destgroup options, demo: Hyperlinks (xhyper.tex). + (line 7) +* destgroup type: Setting hyperlink types and options. + (line 12) +* destgroup type <1>: Setting group types. (line 6) +* destgroup type, demo: Hyperlinks (xhyper.tex). + (line 7) +* destgroup 'bib': Citation hyperlinks. (line 11) +* destgroup 'definexref': Cross-reference hyperlinks. + (line 6) +* destgroup 'eq': Equation reference hyperlinks. + (line 6) +* destgroup 'foot': Footnote hyperlinks. (line 6) +* destgroup 'footback': Footnote hyperlinks. (line 6) +* destgroup 'idx': Index hyperlinks. (line 6) +* destgroup 'li': List hyperlinks. (line 6) +* destgroup 'xrdef': Page reference hyperlinks. + (line 6) +* destination group: Implicit hyperlinks. (line 10) +* destination options: Introduction to hyperlinks. + (line 105) +* destination options, common: Options supported by all drivers. + (line 12) +* destination options, 'dvipdfm': Destination options for pdftex and dvipdfm. + (line 6) +* destination options, 'hypertex': Destination options for hypertex. + (line 6) +* destination options, 'pdftex': Destination options for pdftex and dvipdfm. + (line 6) +* destination type: Introduction to hyperlinks. + (line 88) +* destination types, 'dvipdfm': Destination types for pdftex and dvipdfm. + (line 6) +* destination types, 'hypertex': Destination types for hypertex. + (line 6) +* destination types, 'pdftex': Destination types for pdftex and dvipdfm. + (line 6) +* destinations, default options: Setting hyperlink types and options. + (line 6) +* destinations, default options <1>: Setting group types. (line 17) +* destinations, default type: Setting hyperlink types and options. + (line 6) +* destinations, default type <1>: Setting group types. (line 17) +* destinations, dimensions: Destination options for pdftex and dvipdfm. + (line 34) +* destinations, dimensions <1>: Destination options for pdftex and dvipdfm. + (line 37) +* destinations, dimensions <2>: Destination options for pdftex and dvipdfm. + (line 40) +* destinations, dimensions <3>: Destination options for pdftex and dvipdfm. + (line 56) +* destinations, dimensions <4>: Destination options for pdftex and dvipdfm. + (line 60) +* destinations, dimensions <5>: Destination options for pdftex and dvipdfm. + (line 64) +* destinations, dimensions <6>: Destination options for pdftex and dvipdfm. + (line 68) +* destinations, disabling: Hyperlink driver nolinks. + (line 6) +* destinations, disabling <1>: Turning hyperlinks on/off. + (line 6) +* destinations, group options: Setting hyperlink types and options. + (line 12) +* destinations, group options <1>: Setting group options. + (line 6) +* destinations, group options, demo: Hyperlinks (xhyper.tex). + (line 7) +* destinations, group type: Setting hyperlink types and options. + (line 12) +* destinations, group type <1>: Setting group types. (line 6) +* destinations, group type, demo: Hyperlinks (xhyper.tex). + (line 7) +* destinations, in another file: Link types for hypertex. + (line 21) +* destinations, in another file <1>: Link types for pdftex and dvipdfm. + (line 39) +* destinations, in another file <2>: Link types for pdftex and dvipdfm. + (line 51) +* destinations, large operators: Options supported by all drivers. + (line 27) +* destinations, large operators <1>: Setting group options. + (line 33) +* destinations, magnification: Destination options for pdftex and dvipdfm. + (line 21) +* destinations, named: Link types for hypertex. + (line 7) +* destinations, named <1>: Link types for pdftex and dvipdfm. + (line 18) +* destinations, numbered: Link types for pdftex and dvipdfm. + (line 91) +* destinations, page: Link types for pdftex and dvipdfm. + (line 30) +* destinations, raising: Options supported by all drivers. + (line 13) +* destinations, URL: Link types for hypertex. + (line 14) +* destinations, URL <1>: Link types for pdftex and dvipdfm. + (line 25) +* detecting numbers: \ifinteger and \isinteger. + (line 6) +* diagnostics: Diagnostics. (line 6) +* Diagram, macros for LaTeX: Construction of commutative diagrams. + (line 79) +* dimensions, hyperlink: Link options for pdftex and dvipdfm. + (line 122) +* dimensions, hyperlink <1>: Link options for pdftex and dvipdfm. + (line 125) +* dimensions, hyperlink <2>: Link options for pdftex and dvipdfm. + (line 128) +* dimensions, hyperlink destination: Destination options for pdftex and dvipdfm. + (line 34) +* dimensions, hyperlink destination <1>: Destination options for pdftex and dvipdfm. + (line 37) +* dimensions, hyperlink destination <2>: Destination options for pdftex and dvipdfm. + (line 40) +* dimensions, hyperlink destination <3>: Destination options for pdftex and dvipdfm. + (line 56) +* dimensions, hyperlink destination <4>: Destination options for pdftex and dvipdfm. + (line 60) +* dimensions, hyperlink destination <5>: Destination options for pdftex and dvipdfm. + (line 64) +* dimensions, hyperlink destination <6>: Destination options for pdftex and dvipdfm. + (line 68) +* disabling hyperlinks: Hyperlink driver nolinks. + (line 6) +* disabling hyperlinks <1>: Turning hyperlinks on/off. + (line 6) +* disabling indexes: Indexing. (line 54) +* displayed math and hyperlinks: Options supported by all drivers. + (line 27) +* displayed math and hyperlinks <1>: Setting group options. + (line 33) +* displays, left-justifying: Displays. (line 6) +* do...while loops: Iteration. (line 6) +* double column output: Multiple columns. (line 6) +* double columns in indexes: Typesetting an index. + (line 24) +* 'draft', option for 'graphics.sty': Packages known to work. + (line 69) +* driver 'dvipdfm': Hyperlink drivers pdftex and dvipdfm. + (line 6) +* driver 'hypertex': Hyperlink driver hypertex. + (line 6) +* driver 'nolinks': Hyperlink driver nolinks. + (line 6) +* driver 'pdftex': Hyperlink drivers pdftex and dvipdfm. + (line 6) +* drivers, hyperlink: Introduction to hyperlinks. + (line 6) +* dvipdfm: Introduction to hyperlinks. + (line 36) +* dvipdfm <1>: Hyperlink driver hypertex. + (line 13) +* dvipdfm <2>: Hyperlink driver hypertex. + (line 47) +* 'dvipdfm', destination options: Destination options for pdftex and dvipdfm. + (line 6) +* 'dvipdfm', destination types: Destination types for pdftex and dvipdfm. + (line 6) +* 'dvipdfm', hyperlink driver: Hyperlink drivers pdftex and dvipdfm. + (line 6) +* 'dvipdfm', link options: Link options for pdftex and dvipdfm. + (line 6) +* 'dvipdfm', link types: Link types for pdftex and dvipdfm. + (line 6) +* dvips: Hyperlink driver hypertex. + (line 13) +* dvips <1>: Hyperlink driver hypertex. + (line 32) +* Eijkhout, Victor: Iteration. (line 61) +* eject in multicolumns: Multiple columns. (line 14) +* electronic mail addresses, breaking: Paths. (line 6) +* electronic mail addresses, breaking <1>: Packages known to work. + (line 121) +* empty argument, checking for: \ifempty. (line 6) +* empty equation labels: Equation references. (line 22) +* empty equation labels, referring to: Equation references. (line 27) +* empty string, checking for: \ifempty. (line 6) +* Encapsulated PostScript: Packages known to work. + (line 91) +* Encapsulated PostScript <1>: Packages known to work. + (line 100) +* environments, user-defined: User-defined environments. + (line 6) +* Eplain, installing: Installation. (line 6) +* Eplain, invoking: Invoking Eplain. (line 6) +* Eplain, purpose of: Introduction. (line 6) +* Eplain, upgrading: Installation. (line 6) +* eplain.aux: Installation. (line 40) +* eplain.fmt: Installation. (line 27) +* EPS: Packages known to work. + (line 91) +* EPS <1>: Packages known to work. + (line 100) +* epstopdf: Packages known to work. + (line 91) +* epstopdf.sty: Packages known to work. + (line 89) +* equation labels, characters valid in: Equation references. (line 54) +* equation numbers, formatting of: Formatting equation references. + (line 6) +* equation numbers, left-alignment: Displays. (line 6) +* equations, giving numbers to all: Equation references. (line 22) +* equations, groups of: Subequation references. + (line 6) +* equations, hyperlinks: Equation reference hyperlinks. + (line 6) +* equations, numbering: Equation references. (line 6) +* equations, references to: Equation references. (line 6) +* error messages: Diagnostics. (line 24) +* error on '\input': Environment for loading packages. + (line 41) +* escape character, changing verbatim: Verbatim listing. (line 47) +* eTeX: Logos. (line 10) +* exact index hyperlinks: Exact destinations for index terms. + (line 28) +* expansion, one-level: \expandonce. (line 6) +* explicit hyperlinks: Explicit hyperlinks. (line 6) +* explicit hyperlinks, demo: Hyperlinks (xhyper.tex). + (line 7) +* ExTeX: Logos. (line 10) +* file, hyperlink to: Link types for hypertex. + (line 21) +* file, hyperlink to <1>: Link types for pdftex and dvipdfm. + (line 39) +* file, hyperlink to <2>: Link types for pdftex and dvipdfm. + (line 51) +* 'file:' links: General hyperlinks. (line 37) +* filenames, breaking: Paths. (line 6) +* filenames, breaking <1>: Packages known to work. + (line 121) +* files, verbatim listing of: Verbatim listing. (line 6) +* files, verbatim listing of, demo: Highlighting TeX comments in listings (lscommnt.tex). + (line 7) +* filtering index entries with hyperlinks: Exact destinations for index terms. + (line 33) +* footnotes, hyperlinks: Footnote hyperlinks. (line 6) +* footnotes, numbered: Footnotes. (line 6) +* for loops: Iteration. (line 6) +* form feed character, and verbatim listing: Verbatim listing. + (line 30) +* format file: Installation. (line 27) +* formatting index entries: Typesetting an index. + (line 35) +* fractions: Fractions. (line 6) +* Ghostscript: Hyperlink driver hypertex. + (line 13) +* Ghostscript <1>: Hyperlink driver hypertex. + (line 35) +* gobbling arguments: Macro arguments. (line 6) +* golden mean: Construction of commutative diagrams. + (line 59) +* golden mean <1>: Construction of commutative diagrams. + (line 59) +* Graham, Ronald L.: Citations. (line 91) +* graphics collection, LaTeX: Loading LaTeX packages. + (line 14) +* graphics collection, LaTeX <1>: Packages known to work. + (line 25) +* graphics collection, LaTeX <2>: Hyperlink driver nolinks. + (line 34) +* graphics collection, LaTeX, demo: Hyperlinks (xhyper.tex). + (line 7) +* graphics, omitting typesetting of: Packages known to work. + (line 69) +* graphics, problems with pdfTeX: Packages known to work. + (line 29) +* graphics.sty: Packages known to work. + (line 22) +* graphicx.sty: Packages known to work. + (line 23) +* graphicx.sty <1>: Hyperlinks (xhyper.tex). + (line 7) +* grid: Construction of commutative diagrams. + (line 79) +* group option list: Setting group options. + (line 48) +* group options, hyperlink: Setting hyperlink types and options. + (line 12) +* group options, hyperlink <1>: Setting group options. + (line 6) +* group options, hyperlink, demo: Hyperlinks (xhyper.tex). + (line 7) +* group type, hyperlink: Setting hyperlink types and options. + (line 12) +* group type, hyperlink <1>: Setting group types. (line 6) +* group type, hyperlink, demo: Hyperlinks (xhyper.tex). + (line 7) +* group '' (empty): Setting group types. (line 17) +* group '*': Setting group types. (line 26) +* group 'bib': Citation hyperlinks. (line 11) +* group 'cite': Citation hyperlinks. (line 6) +* group 'definexref': Cross-reference hyperlinks. + (line 6) +* group 'eq': Equation reference hyperlinks. + (line 6) +* group 'eq' <1>: Equation reference hyperlinks. + (line 20) +* group 'eq' <2>: Setting group options. + (line 34) +* group 'foot': Footnote hyperlinks. (line 6) +* group 'footback': Footnote hyperlinks. (line 6) +* group 'hrefext': General hyperlinks. (line 21) +* group 'hrefint': General hyperlinks. (line 12) +* group 'idx': Index hyperlinks. (line 6) +* group 'li': List hyperlinks. (line 6) +* group 'ref': Cross-reference hyperlinks. + (line 11) +* group 'url': URL hyperlinks. (line 6) +* group 'xrdef': Page reference hyperlinks. + (line 6) +* group 'xref': Page reference hyperlinks. + (line 10) +* group, destination: Implicit hyperlinks. (line 10) +* group, disabling hyperlinks: Turning hyperlinks on/off for a group. + (line 6) +* group, link: Implicit hyperlinks. (line 10) +* group, preserving option list: Setting group options. + (line 21) +* groups, specifying all: Setting group types. (line 26) +* hanging on '\input': Environment for loading packages. + (line 41) +* help messages: Diagnostics. (line 24) +* highlight modes, hyperlink: Link options for pdftex and dvipdfm. + (line 69) +* highlighting: Packages known to work. + (line 111) +* highlighting, in listings: Highlighting TeX comments in listings (lscommnt.tex). + (line 7) +* Ho"ppner, Klaus: Packages known to work. + (line 83) +* hooks: Hooks. (line 6) +* hyperlink border color: Link options for pdftex and dvipdfm. + (line 13) +* hyperlink color: URL hyperlinks. (line 17) +* hyperlink color <1>: Options supported by all drivers. + (line 37) +* hyperlink color <2>: Setting default types and options. + (line 25) +* hyperlink destination, dimensions: Destination options for pdftex and dvipdfm. + (line 34) +* hyperlink destination, dimensions <1>: Destination options for pdftex and dvipdfm. + (line 37) +* hyperlink destination, dimensions <2>: Destination options for pdftex and dvipdfm. + (line 40) +* hyperlink destination, dimensions <3>: Destination options for pdftex and dvipdfm. + (line 56) +* hyperlink destination, dimensions <4>: Destination options for pdftex and dvipdfm. + (line 60) +* hyperlink destination, dimensions <5>: Destination options for pdftex and dvipdfm. + (line 64) +* hyperlink destination, dimensions <6>: Destination options for pdftex and dvipdfm. + (line 68) +* hyperlink destination, magnification: Destination options for pdftex and dvipdfm. + (line 21) +* hyperlink destination, named: Link types for hypertex. + (line 7) +* hyperlink destination, named <1>: Link types for pdftex and dvipdfm. + (line 18) +* hyperlink destination, numbered: Link types for pdftex and dvipdfm. + (line 91) +* hyperlink destination, page: Link types for pdftex and dvipdfm. + (line 30) +* hyperlink destination, raising: Options supported by all drivers. + (line 13) +* hyperlink dimensions: Link options for pdftex and dvipdfm. + (line 122) +* hyperlink dimensions <1>: Link options for pdftex and dvipdfm. + (line 125) +* hyperlink dimensions <2>: Link options for pdftex and dvipdfm. + (line 128) +* hyperlink driver 'dvipdfm': Hyperlink drivers pdftex and dvipdfm. + (line 6) +* hyperlink driver 'hypertex': Hyperlink driver hypertex. + (line 6) +* hyperlink driver 'nolinks': Hyperlink driver nolinks. + (line 6) +* hyperlink driver 'pdftex': Hyperlink drivers pdftex and dvipdfm. + (line 6) +* hyperlink drivers: Introduction to hyperlinks. + (line 6) +* hyperlink group, disabling hyperlinks: Turning hyperlinks on/off for a group. + (line 6) +* hyperlink group, preserving option list: Setting group options. + (line 21) +* hyperlink options, common: Options supported by all drivers. + (line 6) +* hyperlinks, bibliography: Citation hyperlinks. (line 11) +* hyperlinks, border style: Link options for pdftex and dvipdfm. + (line 19) +* hyperlinks, border style <1>: Link options for pdftex and dvipdfm. + (line 25) +* hyperlinks, border width: Link options for pdftex and dvipdfm. + (line 49) +* hyperlinks, citations: Citation hyperlinks. (line 6) +* hyperlinks, cross-references: Cross-reference hyperlinks. + (line 6) +* hyperlinks, default options: Setting hyperlink types and options. + (line 6) +* hyperlinks, default options <1>: Setting group types. (line 17) +* hyperlinks, default type: Setting hyperlink types and options. + (line 6) +* hyperlinks, default type <1>: Setting group types. (line 17) +* hyperlinks, demo: Hyperlinks (xhyper.tex). + (line 7) +* hyperlinks, disabling: Hyperlink driver nolinks. + (line 6) +* hyperlinks, disabling <1>: Turning hyperlinks on/off. + (line 6) +* hyperlinks, equations: Equation reference hyperlinks. + (line 6) +* hyperlinks, explicit: Explicit hyperlinks. (line 6) +* hyperlinks, explicit, demo: Hyperlinks (xhyper.tex). + (line 7) +* hyperlinks, filtering index entries: Exact destinations for index terms. + (line 33) +* hyperlinks, footnotes: Footnote hyperlinks. (line 6) +* hyperlinks, group option list: Setting group options. + (line 48) +* hyperlinks, group options: Setting hyperlink types and options. + (line 12) +* hyperlinks, group options <1>: Setting group options. + (line 6) +* hyperlinks, group options, demo: Hyperlinks (xhyper.tex). + (line 7) +* hyperlinks, group type: Setting hyperlink types and options. + (line 12) +* hyperlinks, group type <1>: Setting group types. (line 6) +* hyperlinks, highlight mode: Link options for pdftex and dvipdfm. + (line 69) +* hyperlinks, implicit: Implicit hyperlinks. (line 6) +* hyperlinks, implicit, demo: Hyperlinks (xhyper.tex). + (line 7) +* hyperlinks, index: Index hyperlinks. (line 6) +* hyperlinks, index destination placement: Choosing destination placement. + (line 6) +* hyperlinks, index, exact: Exact destinations for index terms. + (line 28) +* hyperlinks, large operators: Options supported by all drivers. + (line 27) +* hyperlinks, large operators <1>: Setting group options. + (line 33) +* hyperlinks, lists: List hyperlinks. (line 6) +* hyperlinks, opening in a new window: Link options for pdftex and dvipdfm. + (line 90) +* hyperlinks, page references: Page reference hyperlinks. + (line 6) +* hyperlinks, preserving page-breaking: Hyperlink driver nolinks. + (line 6) +* hyperlinks, preserving spacing: Hyperlink driver nolinks. + (line 6) +* hyperlinks, see and see also index entries: Hyperlinks in see and see also entries. + (line 6) +* hyperlinks, table of contents: Contents hyperlinks. (line 6) +* hyperlinks, to another file: Link types for hypertex. + (line 21) +* hyperlinks, to another file <1>: Link types for pdftex and dvipdfm. + (line 39) +* hyperlinks, to another file <2>: Link types for pdftex and dvipdfm. + (line 51) +* hyperlinks, URL: General hyperlinks. (line 20) +* hyperlinks, URL <1>: URL hyperlinks. (line 6) +* hyperlinks, URL <2>: Link types for hypertex. + (line 14) +* hyperlinks, URL <3>: Link types for pdftex and dvipdfm. + (line 25) +* hyperref.sty: Packages known not to work. + (line 9) +* 'hypertex', destination options: Destination options for hypertex. + (line 6) +* 'hypertex', destination types: Destination types for hypertex. + (line 6) +* 'hypertex', hyperlink driver: Hyperlink driver hypertex. + (line 6) +* 'hypertex', link options: Link options for hypertex. + (line 6) +* 'hypertex', link types: Link types for hypertex. + (line 6) +* hypertext links: Hyperlinks. (line 6) +* identifying numbers: \ifinteger and \isinteger. + (line 6) +* idxuniq: Exact destinations for index terms. + (line 33) +* ignoring arguments: Macro arguments. (line 6) +* implicit hyperlinks: Implicit hyperlinks. (line 6) +* implicit hyperlinks, demo: Hyperlinks (xhyper.tex). + (line 7) +* inaccessible macros: Category codes. (line 19) +* index entries and ranges: Modifying index entries. + (line 22) +* index entries containing braces: Index entries with special characters. + (line 63) +* index entries containing brackets: Index entries with special characters. + (line 85) +* index entries with special characters: Index entries with special characters. + (line 6) +* index entries' page numbers, modifying: Modifying index entries. + (line 6) +* index entries, and cross-referencing: Modifying index entries. + (line 36) +* index entries, and cross-referencing <1>: Customizing indexing. + (line 62) +* index entries, proofing: Proofing index terms. + (line 6) +* index entries, with verbatim text: Index entries with special characters. + (line 40) +* index entry continuations: Typesetting an index. + (line 35) +* index entry formatting: Typesetting an index. + (line 35) +* index entry general sorting: Indexing commands. (line 50) +* index fonts: Typesetting an index. + (line 24) +* index groupings: Typesetting an index. + (line 54) +* index hyperlink: Index hyperlinks. (line 6) +* index typesetting: Typesetting an index. + (line 6) +* index, and verbatim text: Index entries with special characters. + (line 40) +* index, choosing destination placement: Choosing destination placement. + (line 6) +* index, destination placement: Choosing destination placement. + (line 6) +* index, exact hyperlinks: Exact destinations for index terms. + (line 28) +* index, hyperlinks in see and see also entries: Hyperlinks in see and see also entries. + (line 6) +* index, parsing page numbers: Page destinations for index terms. + (line 32) +* index, placement of destinations: Choosing destination placement. + (line 6) +* index, selecting destination placement: Choosing destination placement. + (line 6) +* index, underlining page numbers: Page list and page range parsers. + (line 26) +* indexes, disabling: Indexing. (line 54) +* indexes, multiple: Indexing. (line 36) +* indexing: Indexing. (line 6) +* indexing and trailing spaces: Indexing terms. (line 20) +* indexing commands: Indexing commands. (line 6) +* indexing terms: Indexing terms. (line 6) +* insertion classes: Multiple columns. (line 38) +* inset hyperlink border: Link options for pdftex and dvipdfm. + (line 25) +* installation: Installation. (line 6) +* integers, detecting: \ifinteger and \isinteger. + (line 6) +* italic correction: Formatting bibliographies. + (line 45) +* item labels, changing: Formatting lists. (line 53) +* iteration: Iteration. (line 6) +* justification: Justification. (line 6) +* Knuth, Donald Ervin: Citations. (line 91) +* Knuth, Donald Ervin <1>: Category codes. (line 7) +* labels on items, changing: Formatting lists. (line 53) +* labels, characters valid in: Cross-references. (line 20) +* labels, empty equation: Equation references. (line 22) +* labels, empty equation, referring to: Equation references. (line 27) +* Lamport, Leslie: Introduction. (line 15) +* LAMSTeX: Logos. (line 11) +* Lang, Serge: Arrows and morphisms. + (line 126) +* Lang, Serge <1>: Construction of commutative diagrams. + (line 121) +* large operators and hyperlinks: Options supported by all drivers. + (line 27) +* large operators and hyperlinks <1>: Setting group options. + (line 33) +* LaTeX: Introduction. (line 15) +* LaTeX <1>: Citations. (line 10) +* LaTeX <2>: Logos. (line 11) +* LaTeX <3>: Slanted lines and vectors. + (line 7) +* LaTeX commands, in 'btxmac.tex': Commands from LaTeX. (line 6) +* LaTeX graphics collection: Loading LaTeX packages. + (line 14) +* LaTeX graphics collection <1>: Packages known to work. + (line 25) +* LaTeX graphics collection <2>: Hyperlink driver nolinks. + (line 34) +* LaTeX graphics collection, demo: Hyperlinks (xhyper.tex). + (line 7) +* LaTeX packages: Loading LaTeX packages. + (line 6) +* LaTeX packages <1>: Packages known to work. + (line 6) +* LaTeX packages <2>: Packages known not to work. + (line 6) +* LaTeX packages, restoring '\input': Environment for loading packages. + (line 24) +* left-alignment of equation numbers: Displays. (line 6) +* left-justification: Justification. (line 6) +* left-justification of displays: Displays. (line 6) +* letterspacing: Packages known to work. + (line 111) +* linear systems theory: Construction of commutative diagrams. + (line 38) +* lines: Slanted lines and vectors. + (line 15) +* link group: Implicit hyperlinks. (line 10) +* link options: Introduction to hyperlinks. + (line 105) +* link options, common: Options supported by all drivers. + (line 35) +* link options, 'dvipdfm': Link options for pdftex and dvipdfm. + (line 6) +* link options, 'hypertex': Link options for hypertex. + (line 6) +* link options, 'pdftex': Link options for pdftex and dvipdfm. + (line 6) +* link type: Introduction to hyperlinks. + (line 88) +* link types, 'dvipdfm': Link types for pdftex and dvipdfm. + (line 6) +* link types, 'hypertex': Link types for hypertex. + (line 6) +* link types, 'pdftex': Link types for pdftex and dvipdfm. + (line 6) +* link, group options: Setting hyperlink types and options. + (line 12) +* link, group options <1>: Setting group options. + (line 6) +* link, group options, demo: Hyperlinks (xhyper.tex). + (line 7) +* link, group type: Setting hyperlink types and options. + (line 12) +* link, group type <1>: Setting group types. (line 6) +* linkgroup: Implicit hyperlinks. (line 10) +* linkgroup options: Setting hyperlink types and options. + (line 12) +* linkgroup options <1>: Setting group options. + (line 6) +* linkgroup options, demo: Hyperlinks (xhyper.tex). + (line 7) +* linkgroup type: Setting hyperlink types and options. + (line 12) +* linkgroup type <1>: Setting group types. (line 6) +* linkgroup 'cite': Citation hyperlinks. (line 6) +* linkgroup 'eq': Equation reference hyperlinks. + (line 20) +* linkgroup 'eq' <1>: Setting group options. + (line 34) +* linkgroup 'foot': Footnote hyperlinks. (line 6) +* linkgroup 'footback': Footnote hyperlinks. (line 6) +* linkgroup 'hrefext': General hyperlinks. (line 21) +* linkgroup 'hrefint': General hyperlinks. (line 12) +* linkgroup 'idx': Index hyperlinks. (line 6) +* linkgroup 'ref': Cross-reference hyperlinks. + (line 11) +* linkgroup 'url': URL hyperlinks. (line 6) +* linkgroup 'xref': Page reference hyperlinks. + (line 10) +* links, hypertext: Hyperlinks. (line 6) +* list of figures: Alternative contents files. + (line 6) +* list of tables: Alternative contents files. + (line 6) +* listing files: Verbatim listing. (line 6) +* listing files, demo: Highlighting TeX comments in listings (lscommnt.tex). + (line 7) +* lists: Lists. (line 6) +* lists, formatting: Formatting lists. (line 6) +* lists, hyperlinks: List hyperlinks. (line 6) +* loading packages, environment for: Environment for loading packages. + (line 6) +* logos: Logos. (line 6) +* lookahead without spaces: \futurenonspacelet. (line 6) +* loops: Iteration. (line 6) +* lscommnt.tex: Highlighting TeX comments in listings (lscommnt.tex). + (line 7) +* magnification, hyperlink destination: Destination options for pdftex and dvipdfm. + (line 21) +* makeindex: Invoking Eplain. (line 103) +* makeindex <1>: Indexing. (line 14) +* makeindex <2>: Index hyperlinks. (line 12) +* margins, changing: Margins. (line 6) +* margins, index terms in: Proofing index terms. + (line 6) +* mathematics displays, formatting: Displays. (line 6) +* mathematics displays, hyperlinks: Options supported by all drivers. + (line 27) +* mathematics displays, hyperlinks <1>: Setting group options. + (line 33) +* Metafont: Logos. (line 11) +* miniltx.tex: Loading LaTeX packages. + (line 14) +* minimal realizations: Construction of commutative diagrams. + (line 38) +* modifying index entries' page numbers: Modifying index entries. + (line 6) +* morphisms: Arrows and morphisms. + (line 6) +* multiple column output: Multiple columns. (line 6) +* multiple indexes: Indexing. (line 36) +* named destination: Link types for hypertex. + (line 7) +* named destination <1>: Link types for pdftex and dvipdfm. + (line 18) +* names, of TeX variants: Logos. (line 6) +* new window, opening hyperlink in: Link options for pdftex and dvipdfm. + (line 90) +* newlinechar: Diagnostics. (line 26) +* newlines, obeying: Obeying spaces. (line 6) +* 'nolinks', hyperlink driver: Hyperlink driver nolinks. + (line 6) +* numbered destination: Link types for pdftex and dvipdfm. + (line 91) +* numbered lists: Lists. (line 6) +* numbered references: Citations. (line 91) +* numbers, detecting: \ifinteger and \isinteger. + (line 6) +* numbers, written form of: Writing out numbers. (line 6) +* Oberdiek, Heiko: Checking for PDF output. + (line 24) +* omitting hyperlinks: Hyperlink driver nolinks. + (line 6) +* omitting hyperlinks <1>: Turning hyperlinks on/off. + (line 6) +* omitting typesetting of graphics: Packages known to work. + (line 69) +* open boxes: Boxes. (line 12) +* option list, group: Setting group options. + (line 48) +* option list, preserving for group: Setting group options. + (line 21) +* options, destination, common: Options supported by all drivers. + (line 12) +* options, destination, 'dvipdfm': Destination options for pdftex and dvipdfm. + (line 6) +* options, destination, 'hypertex': Destination options for hypertex. + (line 6) +* options, destination, 'pdftex': Destination options for pdftex and dvipdfm. + (line 6) +* options, link and destination: Introduction to hyperlinks. + (line 105) +* options, link, common: Options supported by all drivers. + (line 35) +* options, link, 'dvipdfm': Link options for pdftex and dvipdfm. + (line 6) +* options, link, 'hypertex': Link options for hypertex. + (line 6) +* options, link, 'pdftex': Link options for pdftex and dvipdfm. + (line 6) +* ordered list: Lists. (line 6) +* output routine and index proofing: Proofing index terms. + (line 28) +* overstriking: Packages known to work. + (line 111) +* packages, LaTeX: Loading LaTeX packages. + (line 6) +* packages, LaTeX <1>: Packages known to work. + (line 6) +* packages, LaTeX <2>: Packages known not to work. + (line 6) +* page destination: Link types for pdftex and dvipdfm. + (line 30) +* page list, parsing: Page destinations for index terms. + (line 32) +* page range, parsing: Page destinations for index terms. + (line 32) +* page reference hyperlink: Page reference hyperlinks. + (line 6) +* page-breaking, preserving with hyperlinks: Hyperlink driver nolinks. + (line 6) +* parsing page numbers: Page destinations for index terms. + (line 32) +* Patashnik, Oren: Citations. (line 9) +* pathnames, breaking: Paths. (line 6) +* pathnames, breaking <1>: Packages known to work. + (line 121) +* PDF: Packages known to work. + (line 91) +* PDF output: Checking for PDF output. + (line 6) +* pdftex: Invoking Eplain. (line 114) +* pdftex <1>: Checking for PDF output. + (line 6) +* pdftex <2>: Introduction to hyperlinks. + (line 35) +* 'pdftex', destination options: Destination options for pdftex and dvipdfm. + (line 6) +* 'pdftex', destination types: Destination types for pdftex and dvipdfm. + (line 6) +* 'pdftex', hyperlink driver: Hyperlink drivers pdftex and dvipdfm. + (line 6) +* 'pdftex', link options: Link options for pdftex and dvipdfm. + (line 6) +* 'pdftex', link types: Link types for pdftex and dvipdfm. + (line 6) +* pdfTeX, problems using color and graphics: Packages known to work. + (line 29) +* pdfTeX, problems with 'supp-mis.tex': Packages known to work. + (line 29) +* pict2e.sty: Packages known not to work. + (line 16) +* picture mode: Packages known to work. + (line 14) +* picture mode <1>: Slanted lines and vectors. + (line 7) +* Portable Document Format: Packages known to work. + (line 91) +* PostScript point: Destination types for pdftex and dvipdfm. + (line 66) +* PostScript point <1>: Destination options for pdftex and dvipdfm. + (line 50) +* PostScript point <2>: Link options for pdftex and dvipdfm. + (line 49) +* proofing index terms: Proofing index terms. + (line 6) +* properties: Properties. (line 6) +* ps2pdf: Hyperlink driver hypertex. + (line 14) +* ps2pdf <1>: Hyperlink driver hypertex. + (line 35) +* psfrag.sty: Packages known to work. + (line 98) +* quadruple column output: Multiple columns. (line 6) +* Rahtz, Sebastian: Loading LaTeX packages. + (line 14) +* raising hyperlink destinations: Options supported by all drivers. + (line 13) +* raising hyperlink destinations <1>: Setting group options. + (line 33) +* ranges and index entry: Modifying index entries. + (line 22) +* recognizing numbers: \ifinteger and \isinteger. + (line 6) +* rectangles: Boxes. (line 6) +* references, alphanumeric: Citations. (line 128) +* references, defining general: Defining generic references. + (line 6) +* references, defining general <1>: Using generic references. + (line 6) +* references, numbered: Citations. (line 91) +* register allocation: Allocation macros. (line 6) +* restoring '\input', LaTeX packages: Environment for loading packages. + (line 24) +* return character: Category codes. (line 40) +* right-justification: Justification. (line 6) +* rms: Introduction. (line 16) +* rotation: Packages known to work. + (line 25) +* rotation, demo: Hyperlinks (xhyper.tex). + (line 7) +* rule thickness: Rules. (line 7) +* 'run:' links: General hyperlinks. (line 38) +* scaling: Packages known to work. + (line 25) +* scaling, demo: Hyperlinks (xhyper.tex). + (line 7) +* sed: Customizing indexing. + (line 64) +* see also index entries and hyperlinks: Hyperlinks in see and see also entries. + (line 6) +* see also index entries and sorting: Customizing indexing. + (line 49) +* see, and index entries: Modifying index entries. + (line 36) +* see, and index entries <1>: Customizing indexing. + (line 62) +* see, and index entries, hyperlinks: Hyperlinks in see and see also entries. + (line 6) +* silent indexing: Indexing terms. (line 6) +* skipping tokens: \ifundefined. (line 10) +* skipping tokens <1>: \ifempty. (line 12) +* SLiTeX: Logos. (line 11) +* Snake Lemma: Arrows and morphisms. + (line 130) +* solid hyperlink border: Link options for pdftex and dvipdfm. + (line 25) +* sorting an index: Indexing. (line 6) +* sorting of index entries: Indexing commands. (line 50) +* soul.sty: Packages known to work. + (line 109) +* space above index entries: Typesetting an index. + (line 35) +* spaces, ignoring: \futurenonspacelet. (line 6) +* spaces, obeying: Obeying spaces. (line 6) +* spaces, trailing and indexing commands: Indexing terms. (line 20) +* spacing out: Packages known to work. + (line 111) +* spacing, preserving with hyperlinks: Hyperlink driver nolinks. + (line 6) +* special characters: Verbatim listing. (line 57) +* special characters, in index entries: Index entries with special characters. + (line 6) +* special characters, in table of contents: Writing the .toc file. + (line 49) +* Stallman, Richard: Introduction. (line 16) +* striking out: Packages known to work. + (line 111) +* style, hyperlink border: Link options for pdftex and dvipdfm. + (line 25) +* subequations, referring to: Subequation references. + (line 6) +* subterm in indexing: Indexing terms. (line 13) +* supp-mis.tex, problems with pdfTeX: Packages known to work. + (line 29) +* supp-pdf.tex: Packages known to work. + (line 29) +* table of contents: Contents. (line 6) +* table of contents, and verbatim text: Writing the .toc file. + (line 49) +* table of contents, hyperlinks: Contents hyperlinks. (line 6) +* table of contents, short: Reading the .toc file. + (line 19) +* table of contents, short <1>: Macro arguments. (line 10) +* tables: Tables. (line 6) +* tabs: Obeying spaces. (line 22) +* TeX by Topic: Iteration. (line 61) +* TeX Frequently Asked Question: \ifinteger and \isinteger. + (line 26) +* TEXFORMATS: Installation. (line 43) +* texi2dvi: Invoking Eplain. (line 103) +* texi2dvi <1>: Citations. (line 102) +* texi2dvi <2>: Indexing. (line 33) +* Texinfo: Introduction. (line 15) +* TEXINPUTS: Installation. (line 23) +* time of day: Time of day. (line 6) +* 'toc' files, writing several: Changing the .toc file's root name. + (line 12) +* tracing: Diagnostics. (line 6) +* trailing spaces and indexing commands: Indexing terms. (line 20) +* trimsee: Customizing indexing. + (line 65) +* triple column output: Multiple columns. (line 6) +* Tu, Loring W.: Construction of commutative diagrams. + (line 13) +* TUGboat: Introduction. (line 64) +* type, link and destination: Introduction to hyperlinks. + (line 88) +* types, destination, 'dvipdfm': Destination types for pdftex and dvipdfm. + (line 6) +* types, destination, 'hypertex': Destination types for hypertex. + (line 6) +* types, destination, 'pdftex': Destination types for pdftex and dvipdfm. + (line 6) +* types, link, 'dvipdfm': Link types for pdftex and dvipdfm. + (line 6) +* types, link, 'hypertex': Link types for hypertex. + (line 6) +* types, link, 'pdftex': Link types for pdftex and dvipdfm. + (line 6) +* typesetting an index: Typesetting an index. + (line 6) +* undefined control sequence, checking for: \ifundefined. (line 10) +* undefined labels, warnings about: Installation. (line 40) +* underline hyperlink border: Link options for pdftex and dvipdfm. + (line 25) +* underlining: Packages known to work. + (line 111) +* underlining page numbers in index: Page list and page range parsers. + (line 26) +* universal mapping property: Construction of commutative diagrams. + (line 25) +* unordered lists: Lists. (line 6) +* upgrading: Installation. (line 6) +* URL for 'ifpdf.sty': Checking for PDF output. + (line 24) +* URL for MakeIndex: Indexing. (line 14) +* URL for 'path.sty': Paths. (line 33) +* URL for pdfTeX: Checking for PDF output. + (line 6) +* URL for 'texnames.sty': Logos. (line 15) +* URL hyperlink: General hyperlinks. (line 20) +* URL hyperlink <1>: URL hyperlinks. (line 6) +* URL hyperlink <2>: Link types for hypertex. + (line 14) +* URL hyperlink <3>: Link types for pdftex and dvipdfm. + (line 25) +* url.sty: Packages known to work. + (line 119) +* url.sty <1>: URL hyperlinks. (line 6) +* url.sty <2>: Hyperlinks (xhyper.tex). + (line 7) +* user-inaccessible macros: Category codes. (line 19) +* vectors: Slanted lines and vectors. + (line 15) +* verbatim listing: Verbatim listing. (line 6) +* verbatim listing, demo: Highlighting TeX comments in listings (lscommnt.tex). + (line 7) +* verbatim text, in index: Index entries with special characters. + (line 40) +* verbatim text, in table of contents: Writing the .toc file. + (line 49) +* version number: Introduction. (line 50) +* Walden, David: Introduction. (line 61) +* Warner, Frank W.: Construction of commutative diagrams. + (line 25) +* whatsits made by hyperlinks: Hyperlink driver nolinks. + (line 25) +* whatsits made by index entries: Indexing commands. (line 62) +* while loops: Iteration. (line 6) +* whitespace: Obeying spaces. (line 6) +* width, hyperlink border: Link options for pdftex and dvipdfm. + (line 49) +* writing several 'toc' files: Changing the .toc file's root name. + (line 12) +* xcolor.sty: Packages known not to work. + (line 19) +* xdvi: Hyperlink driver hypertex. + (line 11) +* XeLaTeX: Logos. (line 11) +* xeplain.tex: Introduction. (line 6) +* XeTeX: Logos. (line 11) +* xhyper.tex: Hyperlinks (xhyper.tex). + (line 7) +* Zassenhaus, Hans: Construction of commutative diagrams. + (line 121) +* zooming, hyperlink destination: Destination options for pdftex and dvipdfm. + (line 21) + + + +Tag Table: +Node: Top809 +Node: Introduction8254 +Node: Installation11274 +Node: Invoking Eplain13326 +Node: User definitions17923 +Node: Diagnostics19750 +Node: Rules21315 +Node: Citations22146 +Node: Formatting citations28574 +Node: Formatting bibliographies30111 +Node: Commands from LaTeX33347 +Node: Displays34321 +Node: Formatting displays35708 +Node: Time of day36341 +Node: Lists37100 +Node: Formatting lists39240 +Node: Verbatim listing41523 +Node: Contents44743 +Node: Writing the .toc file45412 +Node: Reading the .toc file48274 +Node: Changing the .toc file's root name49677 +Node: Alternative contents files50693 +Node: Cross-references51257 +Node: Defining generic references52743 +Node: Using generic references53619 +Node: Page references54903 +Node: Equation references55722 +Node: Formatting equation references58487 +Node: Subequation references62837 +Node: Indexing64753 +Node: Indexing terms67861 +Node: Indexing commands68973 +Node: Modifying index entries71992 +Node: Index entries with special characters74962 +Node: Proofing index terms79204 +Node: Typesetting an index81017 +Node: Customizing indexing83483 +Node: Justification87179 +Node: Tables88849 +Node: Margins91340 +Node: Multiple columns93493 +Node: Footnotes95530 +Node: Fractions98105 +Node: Paths98888 +Node: Logos100490 +Node: Boxes101220 +Node: Checking for PDF output103006 +Node: Loading LaTeX packages104094 +Node: The \usepackage command105451 +Node: Environment for loading packages106537 +Node: Packages known to work108877 +Node: Packages known not to work115252 +Node: Hyperlinks116013 +Node: Introduction to hyperlinks116594 +Node: Explicit hyperlinks122130 +Node: Implicit hyperlinks124415 +Node: General hyperlinks126236 +Node: URL hyperlinks127758 +Node: Citation hyperlinks129858 +Node: List hyperlinks130585 +Node: Cross-reference hyperlinks130976 +Node: Page reference hyperlinks132347 +Node: Equation reference hyperlinks133008 +Node: Index hyperlinks134398 +Node: Exact destinations for index terms136156 +Node: Page destinations for index terms138323 +Node: Choosing destination placement140941 +Node: Index page list and page range parsers141730 +Node: Hyperlinks in see and see also entries142282 +Node: Footnote hyperlinks143080 +Node: Contents hyperlinks144274 +Node: Hyperlink drivers144657 +Node: Options supported by all drivers145291 +Node: Hyperlink driver hypertex148087 +Node: Destination types for hypertex151031 +Node: Destination options for hypertex152065 +Node: Link types for hypertex152547 +Node: Link options for hypertex154554 +Node: Hyperlink drivers pdftex and dvipdfm155576 +Node: Destination types for pdftex and dvipdfm156221 +Node: Destination options for pdftex and dvipdfm159700 +Node: Link types for pdftex and dvipdfm162151 +Node: Link options for pdftex and dvipdfm165665 +Node: Hyperlink driver nolinks169303 +Node: Setting hyperlink types and options171706 +Node: Setting default types and options172707 +Node: Setting group types174133 +Node: Setting group options175322 +Node: Turning hyperlinks on/off177803 +Node: Turning low-level commands on/off178441 +Node: Turning hyperlinks on/off for a group178954 +Node: Arrow theoretic diagrams180107 +Node: Slanted lines and vectors180485 +Node: Commutative diagrams182558 +Node: Arrows and morphisms183167 +Node: Construction of commutative diagrams187623 +Node: Commutative diagram parameters194779 +Node: Programming definitions196595 +Node: Category codes197601 +Node: Allocation macros200246 +Node: Iteration202381 +Node: Macro arguments204033 +Node: Converting to characters207400 +Node: Expansion208785 +Node: \csn and \ece209408 +Node: \edefappend209973 +Node: Hooks210520 +Node: Properties212694 +Node: \expandonce213773 +Node: \ifundefined214221 +Node: \ifempty214785 +Node: \ifinteger and \isinteger215527 +Node: \futurenonspacelet216562 +Node: Obeying spaces217157 +Node: Writing out numbers218181 +Node: Mode-specific penalties218504 +Node: Auxiliary files219233 +Node: User-defined environments220152 +Node: Page list and page range parsers221365 +Node: Demo files223497 +Node: Hyperlinks (xhyper.tex)224063 +Node: Highlighting TeX comments in listings (lscommnt.tex)232412 +Node: Macro index234868 +Node: Concept index302707 + +End Tag Table diff --git a/Master/texmf-dist/doc/info/epspdf.info b/Master/texmf-dist/doc/info/epspdf.info Binary files differnew file mode 100644 index 00000000000..0ede27f4058 --- /dev/null +++ b/Master/texmf-dist/doc/info/epspdf.info diff --git a/Master/texmf-dist/doc/info/fontname.info b/Master/texmf-dist/doc/info/fontname.info new file mode 100644 index 00000000000..13a167eb1b1 --- /dev/null +++ b/Master/texmf-dist/doc/info/fontname.info @@ -0,0 +1,16120 @@ +This is fontname.info, produced by makeinfo version 4.13 from +fontname.texi. + +This document is in the public domain and may be used freely. + +INFO-DIR-SECTION TeX +START-INFO-DIR-ENTRY +* Naming TeX fonts: (fontname). Filenames for TeX fonts. +END-INFO-DIR-ENTRY + + +File: fontname.info, Node: Top, Next: Introduction, Up: (dir) + +Filenames for TeX fonts +*********************** + +This is the Fontname document, a naming scheme for (the base part of) +external TeX font filenames. Last update 5 July 2009. + +* Menu: + +* Introduction:: Rationale and basic information about fonts. +* Filenames for fonts:: The construction of font names. +* Long names:: A specification for long filenames. +* Font name lists:: Real fontnames for many existing fonts. +* Encodings:: Specifications for various encodings. +* General index:: Index. + + --- The Detailed Node Listing --- + +Introduction + +* History:: +* References:: + +Filenames for fonts + +* Suppliers:: +* Typefaces:: +* Weights:: +* Variants:: +* Widths:: + +Long names + +* Name mapping file:: Aliases for fonts. +* Long naming scheme:: A way to use more than 8 alphanumerics. + +Font name lists + +* Standard PostScript fonts:: The standard 35 PostScript fonts. +* Adobe fonts:: +* Apple fonts:: +* Bitstream fonts:: +* DTC fonts:: +* ITC fonts:: +* Linotype fonts:: +* Monotype fonts:: +* URW fonts:: + +Encodings + +* 8a:: Adobe standard. +* 8r:: TeX base. +* dvips:: Dvips. +* ec:: EC (aka Cork, TeX Latin 1, tex256). +* qx:: QX, from GUST. +* t5:: Vietnamese, from vntex. +* texmext:: TeX math extension. +* texmsym:: TeX math symbol. +* texmital:: TeX math italic. +* texnansi:: From Y&Y. +* texnansx:: From Y&Y. +* xl2:: OT1 + ISO Latin 2 (extended). +* xt2:: Typewriter version of xl2. + + +File: fontname.info, Node: Introduction, Next: Filenames for fonts, Prev: Top, Up: Top + +1 Introduction +************** + +This is Fontname, a naming scheme for (the base part of) external TeX +font filenames. This makes at most eight-character names from (almost) +arbitrarily complex font names, thus helping portability of TeX +documents. We point out some shortcomings of the scheme, and ways of +dealing with them. + + Please send additions, corrections, or other comments to +<tex-fonts@tug.org>. Email <tex-fonts-request@tug.org> to join the +list. + + Besides this document, the Fontname distribution includes various +encoding files, mapping files, and utilities. See the file `README' +for details. You can retrieve the most up-to-date version of these +lists from `http://tug.org/fontname'. It is also mirrored on all CTAN +hosts in the directory `tex-archive/doc/fontname'. For a list of CTAN +mirrors, see `http://www.ctan.org/tex-archive/CTAN.sites'. + + This document is in the public domain and may be used freely. + +* Menu: + +* History:: +* References:: + + +File: fontname.info, Node: History, Next: References, Up: Introduction + +1.1 History +=========== + +The original inspiration for Fontname was Frank Mittelbach and Rainer +Schoepf's article in `TUGboat' 11(2) (June 1990), which led to my +article in `TUGboat' 11(4) (November 1990), pages 512-519. Mittelbach +wrote another article criticizing the scheme below in `TUGboat' 13(1) +(April 1992), pages 51-53; most of his points are well-taken, but I saw +no alternative then, and see no alternative now. Others of his points +are addressed in the appropriate sections below. + + In August 1995, Fontname version 2 was released, concomitantly with +a new release of the PostScript fonts for use with LaTeX and Dvips. +After several years of experience, several modifications of the original +distribution seemed desirable: more precise specification of encodings +(*note Variants::); machine-readable mapping files (the `*.map' files +in the distribution) and standardizing directory names as well as font +filenames (included in `supplier.map' and `typeface.map'). + + In Fontname version 1, some encoding variant characters (`0', `2', +etc.) have been reassigned to a `7' or `8' sequence (*note Variants::). +Although this is an incompatible change, the advantages of (1) +consistency in naming encoding variants, and (2) having some free +variants makes it worthwhile. Also, not so coincidentally, new metrics +for PostScript fonts in the Cork encoding were issued--same encoding, +different metrics. So a new name served a practical purpose as well. + + Many people have contributed to this work. In particular, I +gratefully acknowledge Nelson Beebe, Barbara Beeton, Rocky Bernstein, +Thierry Bouche, Damian Cugley, Berthold K.P. Horn, Alan Jeffrey, +Russell Lang, Pierre MacKay, Sebastian Rahtz, Jean Rivlin, and Tom +Rokicki. + + +File: fontname.info, Node: References, Prev: History, Up: Introduction + +1.2 References +============== + +Related files and distributions: + + * The TeX Directory Structure (TDS) standard, available at + (`http://tug.org/tds' and `CTAN:/tds') specifies a directory tree + for all TeX library files. The directory names given in *note + Suppliers:: and *note Typefaces:: are intended to mesh with that + standard. + + * The `modes.mf' file (`ftp://tug.org/tex/modes.mf') contains + recommended mode names to use as directory names. + + * The Fontinst distribution (`http://tug.org/applications/fontinst' + supports quite general creation of virtual fonts, named according + to the scheme given here. + + * The Dvips translator (`http://tug.org/dvips') supports resident + and downloadable PostScript fonts. Dvips was the first place where + Fontname became widely known. Dvips also includes Afm2tfm, another + program that can create virtual fonts. + + * The Dviljk processor (included in TeX Live) contains TeX support + for the fonts built into the LaserJet 4. + + * `Designing New Typefaces with Metafont', by Richard Southall, + Stanford Computer Science Department Technical Report + STAN-CS-85-1074, September 1985, for a comprehensive terminology + of font design. + + + +File: fontname.info, Node: Filenames for fonts, Next: Long names, Prev: Introduction, Up: Top + +2 Filenames for fonts +********************* + +In this scheme, names may consist of only the letters (monocase a-z), +numerals (0-9), and underscore. Having two names which differ only in +case is undesirable, since it results in clashes on common Windows +filesystems. + + Here is the basic scheme (the spaces here are merely for +readability): + + S TT W [V...] [N] [E] [DD] + +where + +S + represents the supplier of the font. + +TT + represents the typeface name. + +W + represents the weight. + +V... + represents the variant(s), and is omitted if both it and the width + are normal. Many fonts have more than one variant. + +N + represents the encoding, and is omitted if the encoding is + nonstandard. Encodings are subsumed in the section on variants + (*note Variants::). + +E + represents the width ("expansion"), and is omitted if it is normal. + +DD + represents the design size (in decimal), and is omitted if the + font is linearly scaled. Mittelbach in `TUGboat' 13(1) proposes + using hexadecimal or base-36 notation. In my opinion, the + increased range does not make up for the unreadability of the + common sizes (e.g., 10pt fonts would have a suffix `a' (in hex), + or `j' (in base 36)). + + + We used to try to limit font names to eight characters. This was +never completely possible, and since DOS filesystems have become rare, +it's no longer an issue. + + The weight, variants, and width are probably all best taken from the +original name of the font, instead of trying to relate them to some +external standard. + +* Menu: + +* Suppliers:: +* Typefaces:: +* Weights:: +* Variants:: +* Widths:: + + +File: fontname.info, Node: Suppliers, Next: Typefaces, Up: Filenames for fonts + +2.1 Suppliers +============= + +The "supplier" is the source of a font, typically a (digital) type +foundry. + + You should use the supplier letter which matches the supplier you +obtained the font from, not the original source; for example, Avant +Garde was designed by Herb Lubalin for ITC, but Adobe also sells it. +The name of the font that you get from Adobe should start with `p'. +This is because font resellers typically make modifications to the +original design. + + Notes on specific suppliers: + +`f' + For fonts that are distributed without any specific attribution to + the creator, by individuals, or by small foundries. + (Unfortunately, we don't have enough characters to assign one to + every font supplier in the world.) + +`r' + obsolete; specifies raw fonts, in the old distribution of Dvips. + New fonts should never use `r'. (The right thing to do is specify + the correct encoding, variant, or whatever the font's + characteristics actually are.) + +`z' + for fonts that just don't fit well into the naming scheme. The `z' + should be followed by the real supplier letter. + + Here is the table from the file `supplier.map'. It is organized +alphabetically by abbreviation. Each line consists of an abbreviation, +directory name, and comment. + + 0 fontfont FontFont + 2 elsnerflake Elsner & Flake + 5 softmake Softmaker + 9 unknown + a autologi Autologic + b bitstrea Bitstream + c cg Compugraphic + d dtc Digital Typeface Corporation + e apple Apple + f public small foundries + g gnu Free Software Foundation + h bh Bigelow & Holmes + i itc International Typeface Corporation + j microsft Microsoft + k softkey SoftKey + l linotype Linotype + m monotype Monotype + n ibm IBM + o corel Corel + p adobe Adobe (`p' for PostScript) + q texgyre TeX Gyre fonts from GUST Typefoundry + r - raw (for [obsolete] use with virtual fonts) + s sun Storm Type + t paragrap ParaGraph + u urw URW + v sil SIL + w wolfram Wolfram + y arkandis Arkandis Digital Foundry + z - bizarre (fontname is nonstandard) + - autofont Eddie Kohler's autofont program + - jknappen Joerg Knappen + - mnm Hong Feng, free software in China + - yandy Y&Y + + +File: fontname.info, Node: Typefaces, Next: Weights, Prev: Suppliers, Up: Filenames for fonts + +2.2 Typefaces +============= + +For our purposes, a "typeface" is a collection of related fonts. + + We sometimes use the same typeface abbreviation for fonts with +different supplier names, where we know (usually by inspection) that +the fonts truly are the same. This helps conserve abbreviations. + + Notes on specific typefaces: + +`ad' +`gm' + To explain a common confusion: `ad' is Adobe Garamond (with a + `FontName' of `AGaramond'). This is quite different from the + `Garamond' typeface distributed by Adobe, which is actually ITC + Garamond. (Garamond No. 3 (`f3'), Simoncini Garamond (`ig'), and + Stempel Garamond (`eg') are still other variations on the Garamond + theme.) + +`lh' +`ls' +`lx' +`r1' + These abbreviations for Lucida typeface subfamilies, et al., solve + a problem with names getting too long, or help conserve variant + abbreviations. *Note Variants::. Ideally, they would not exist. + +`ns' +`nt' +`tm' + Suppliers offer as many variations on the Times New Roman design + as they do Garamond. Adobe has `Times', `TimesNewRoman', and + `TimesNewRomanPS'. Although this last has been used by other + foundries (e.g., Monotype) for a Times variation exactly + compatible with Adobe's `Times', Adobe itself also offers it, so + we must have abbreviations for all three. + +`pi' + For pi fonts. Since names of pi fonts are rather arbitrary, it is + not useful to try to assign typeface abbreviations to all of them. + Instead, we use the supplier letter, `pi', an arbitarily-assigned + three-digit number, a weight and (if necessary) a variant. For + example, `mpi001r'. Pi font `001' for one supplier has nothing to + do with pi font `001' for another. + + Here is the table, from the file `typeface.map'. It is organized +alphabetically by abbreviation. Each line consists of an abbreviation +and directory name, possibly followed by PostScript `FontName's and/or +a comment in roman. The `FontName' may be preceded by a letter S and a +`:', as in `b:Dutch'. In that case, the S is a supplier abbreviation, +and we've used that abbreviation for the given `FontName' from that +supplier. + +@c @mapfile{ +@c email = "tex-fonts@tug.org", +@c date = "18jul10", +@c url = "http://tug.org/fontname/typeface.map", +@c supported = "yes", +@c docstring = "Typeface abbreviations for the TeX Fontname scheme.", +@c license = "public domain", +@c } +@c +@c +a0 arnopro ArnoPro +a1 arial Arial +a2 amasis Amasis +a3 adlib AdLib +a4 altgoth2 AlternateGothicNo2 +a5 allegro Allegro +a6 amelia Amelia +a7 amertext AmericanText +a8 aurora Aurora +a9 adsans Adsans b:Humanist970BT +aa aachen Aachen +ab aboeckli ArnoldBoecklin +ac acaslon ACaslon @r{Adobe Caslon} +ad agaramon AGaramond @r{Adobe Garamond} +ae andalemo AndaleMono +ag avantgar AvantGarde m:MAvantGardeGothicPS u:URWGothicL +ah ashleysc AshleyScript +ai abadi Abadi +aj ajenson AJenson +ak arkona Arkona +al albertus Albertus b:Flareserif821BT +am amercana Americana b:Americana +an anna Anna +ao atqolive AntiqueOlive b:Incised901BT +ap apollo Apollo +aq antiqua Antiqua u:URWAntiqua m:BookAntiqua +ar arcadia Arcadia +as aldus Aldus +at atypewri AmericanTypewriter +au auriol Auriol b:Freeform721 +av avenir Avenir +ax alexa Alexa +az azdzgrot AkzidenzGrotesk b:Gothic725BT +b0 blackoak Blackoak +b1 blado Blado +b2 binnyos BinnyOldStyle +b3 braggado Braggadocio +b4 bison Bison b:Brush738BT +b5 binghams BinghamScript b:Freehand591BT +b6 block Block b:Gothic821 +b7 bernhard Bernhard BernhardModern +b8 blippo Blippo +b9 bremen Bremen +ba barmeno Barmeno +bb bembo Bembo b:Aldine401BT +bc banco Banco +bd bodoni Bodoni u:URWBodoni +be bell Bell +bf biffo Biffo +bg benguiat Benguiat +bh bauhaus Bauhaus +bi birch Birch +bj birka Birka +bk bookman Bookman m:MBookmanPS u:URWBookmanL +bl belwe Belwe +bm bulmer Bulmer +bn bernard Bernard +bo balloon Balloon +bp bodocamp BodoniCampanile b:Modern735 +br berling Berling b:Revival565BT +bs bakersig BakerSignet +bt boton Boton +bu brush BrushScript +bv baskervi Baskerville u:URWBasker +bw broadway Broadway +by berkeley Berkeley +bz balzano Balzano +c0 carolina Carolina +c1 calisto Calisto +c2 casln224 CaslonTwoTwentyFour +c3 caslon3 CaslonThree +c4 chicago Chicago +c5 casln540 CaslonFiveForty +c6 clarion Clarion +c7 compacta Compacta +c8 calvert Calvert +c9 codex Codex b:Calligraphic421BT +ca caslon Caslon +cb cooper Cooper +cc cascade Cascade b:Freehand471BT +cd clarendo Clarendon u:URWClarendon +ce centenni Centennial +cf clearfac Clearface +cg charlema Charlemagne +ch charter Charter +ci candida Candida +cj charis SILCharis TeXChariot +ck caslonbe CaslonBookBE +cl cloister Cloister +cm cm @r{Computer Modern} +cn century Century +co cochin Cochin +cp copperpl Copperplate +cq cheq Cheq +cr courier Courier m:MCourierPS m:CourierTwelveMT u:NimbusMonL +cs cntursbk CenturySchoolbook +ct cheltenh Cheltenham +cu centuros CenturyOldStyle +cv clairvx Clairvaux +cw cottonwd Cottonwood +cx caxton Caxton +cy city City b:SquareSlabserif711BT +cz choc Choc b:Staccato555BT +d0 davida DavidaBold +dc domcasl Dom DomCasual DomDiagonal +dd ducberry DucDeBerry +de dellarob DellaRobbia +dg dogma Dogma +di diotima Diotima b:Calligraphic810BT +dj delta Delta +dk diskus Diskus +dl dolores Dolores +dm delima Delima +do didot DidotLH +dr doric Doric +ds dorchesc DorchesterScript +dt dante Dante +dy academy Academy +e0 embassy Embassy +e1 empire Empire +e2 metatwo Meta2 +ea electra Electra b:Transitional521BT +eb baskerbe BaskervilleBE +ec applecha e:AppleChancery +ee egyptian Egyptian EgyptianExtended +ef egyptien EgyptienneF u:URWEgyptienne +eg stgaramo StempelGaramond b:OriginalGaramondBT +eh engsft Engschrift +ei esprit Esprit +ek eckmann Eckmann b:Freeform710 +el ellingtn Ellington +en engraver Engravers +eo amerigo Amerigo b:AmerigoBT +er eras Eras +es eurostil Eurostile b:Square721BT k:Minima y:Electrum +et ehrhardt Ehrhardt +eu euler Euler +ev mrseaves MrsEaves +ex exclsior Excelsior +f0 flemishs FlemishScript +f1 fournier Fournier +f2 facade Facade +f3 festival Festival +f4 footligh Footlight +f5 french FrenchScript +f9 frutigernext FrutgerNext +fa formata Formata +fc freestyl FreeStyleScript +fe forte Forte +ff fairfld Fairfield b:Transitional551BT +fg frankgth FranklinGothic +fi figaro Figaro +fl flora Flora +fn fenice Fenice +fo folio Folio +fq frizquad FrizQuadrata +fr frutiger Frutiger b:Humanist777BT +fs falstaff Falstaff +ft fettefrk FetteFraktur Fraktur +fu futura Futura +fv futurans FuturaNoStarchPress +fx felixttl FelixTitling +fy flyer Flyer +g0 gando Gando +g1 gothic13 GothicThirteen +g2 giddyup Giddyup +g3 garamon3 GaramondThree b:AmericanGaramondBT @r{Garamond No.@: 3} +g4 gymodern GoudyModern +g5 gycatalg GoudyCatalogue +g6 gorilla GorillaITC +g9 ugaramon GaramondRetrospective +ga gillsana GillSana +gb gothicbb GothicBBB +gd garuda Garuda +ge geneva e:Geneva +gg garthgra GarthGraphic +gh galahad Galahad +gi georgia Georgia +gj granjon Granjon b:ElegantGaramondBT +gl galliard Galliard +gm garamond Garamond u:URWGaramond +gn gentium Gentium +go gyoldsty GoudyOldStyle +gp glypha Glypha +gq grotesq Grotesque u:URWGrotesk +gr gloucest Gloucester +gs gillsans GillSans m:GillAltOneMT b:Humanist521BT +gt goudytxt GoudyText +gu guardi Guardi +gv giovanni Giovanni +gy goudy Goudy +gz gazette GazetteLH +h0 handelgo HandelGothic +ha hadriano Hadriano +hb hobo Hobo Tramp +hc herculnm Herculanum +hd headline Headline +hg hiroshig Hiroshige +hh highland Highlander +hi hvinsera HelveticaInserat b:Swiss921BT +hm charme Charme +hn hvneue HelveticaNeue +ho horleyos HorleyOldStyle +hr hvround HelveticaRounded +hs hnseati Hanseatic B:Swiss924BT +ht hoeflert e:HoeflerText +hv helvetic Helvetica u:NimbusSans u:NimbusSanL b:Swiss721BT b:Monospace821BT b:Swiss911BT d:Sans Newton n:SonoranSansSerif +hw schadow Schadow +hx huxleyvr HuxleyVertical +i0 commscr CommercialScript +i1 impress Impress +i2 impuls Impuls +i3 imperial Imperial u:URWImperial +i4 inconsol Inconsolata +ia insignia Insignia +ib ibycus Ibycus +ic impact Impact +id isadora Isadora +if inflex Inflex +ig scgaramo SimonciniGaramond b:ItalianGaramond +ii imprint Imprint +il caecilia Caecilia +im imago Imago +in industri Industria +io ionic Ionic b:News701BT +ip impressm Impressum +ir Irianis IrianisADF +is italnos ItalianOldStyle +it italia Italia +iw ironwood Ironwood +iy iowanold IowanOldStyle +iz isabella Isabella +jf jeffersn Jefferson b:Freehand575BT +jn janson Janson +jo joanna Joanna +jp juniper Juniper +k0 calibri Calibri +k1 cambria Cambria +k2 candara Candara +k3 consolas Consolas +k4 constant Constantia +k5 corbel Corbel +kb kabel Kabel +kg bankgoth BankGothic +kl klang Klang +kn kino Kino +ko bookmano BookmanOldStyle +kp kepler Kepler +kr korinna Korinna +ks kuenstsc KuenstlerScript +ku kaufmann Kaufmann +kw kolo Kolo +kx kigali Kigali +l0 lineart LinearT u:URWLinear +l1 liberty Liberty +l2 libra Libra +l3 lucia Lucia +l4 lucian Lucian +l5 baltica Baltica +l6 literatu Literaturnaya +l7 luxiseri LuxiSerif +l8 luxisans LuxiSans +l9 luximono LuxiMono +lb lubaling LubalinGraph +lc lucida Lucida +le legacy Legacy +lf life Life +lg lettrgth LetterGothic ISILGothic +lh lubright LucidaBright +li latin Latin +ll linolett LinoLetter +lm lmodern LatinModern +ln lino Lino +lo lithos Lithos +ls lucsans LucidaSans +lt lutetia Lutetia +lw leawood Leawood +lx lucidfax LucidaFax +ly lydian Lydian +lz legacysans LegacySans +m0 monospac Monospace +m1 monolisc MonolineScript +m2 metro Metro b:Geometric415BT +m3 mirarae Mirarae +m4 mrearl MisterEarl +m5 murrayhl MurrayHill +m6 mittlsft Mittelschrift +m7 matura Matura +m8 monotyos MonotypeOldStyle +ma mandate Mandate b:Freehand521BT +mc monaco e:Monaco +md meridien Meridien +me mercursc MercuriusScript +mg marigold Marigold +mh machine Machine +mi medici Medici +mj mojo Mojo +ml melior Melior b:ZapfElliptical711BT +mn minion Minion +mo modern Modern b:Modern20BT +mp memphis Memphis b:GeometricSlab703BT +mq mesquite Mesquite +mr madrone Madrone +ms mistral Mistral b:Staccato222BT +mt minister Minister +mv malvern Malvern +mx maximus Maximus +my myriad Myriad +mz amazone Amazone +n0 normande Normande +n1 binner Binner @r{not really a family} +n7 news706 News706 +na newaster NewAster +nb nbaskerv NewBaskerville +nc ncntrsbk NewCenturySchlbk u:CenturySchL +nd ncaledon NewCaledonia +nf nofret Nofret +ng newsgth NewsGothic +ni nimrod Nimrod +nk neograph Neographik +nl neuland Neuland b:Informal011BT +nm nimbus Nimbus +nn nclarend NewClarendon +no notredam NotreDame +np nsplanti NewsPlantin +nr nberolin NewBerolina +ns timesnps TimesNewRomanPS +nt timesnew TimesNewRoman m:TimesNR n:SonoranSerif +nu nuptial Nuptial +nv novarese Novarese +nw neueunzi NeueHammerUnziale +nx nyx Nyx +ny nyala Nyala +nz neuzeits NeuzeitS +o0 oldreadf OldDreadfulNo7 +o1 oranda Oranda +o2 orbitb OrbitB +o3 colonna Colonna +o4 oceansan OceanSans +o5 comic Comic +o6 colombine Colombine l:ColombineLT +o7 oldsty7 OldStyleSeven +o8 officina Officina +oa ocra OCR-A +ob ocrb OCR-B +oc concorde Concorde +oe oldengli OldEnglish +of oxford Oxford +oi ondine Ondine Mermaid b:FormalScript421BT +oj oldclaud OldClaude +ol colmcill Colmcille +om omnia Omnia +on corona Corona +op optima Optima d:Optimum b:ZapfHumanist601BT Omega u:Classico +oq ouch Ouch +or orator Orator +os oldstyle OldStyle +ot coronet Coronet b:Ribbon131BT +ov octavian Octavian +ox onyx Onyx +oy olympian Olympian l:OlympicLH +oz ozhandcr OzHandicraft +p0 poplar Poplar +p1 palacesc PalaceScript +p2 pepita Pepita +p3 palette Palette b:Brush445BT +p4 pioneer PioneerITC +p5 piranesi Piranesi +p6 blueprin Blueprint +p7 petersbu Petersburg +pa parkave ParkAvenue +pb ptbarnum PtBarnum +pc poetica PoeticaChancery s:Scriptoria +pd placard Placard +pe prestige PrestigeElite +pf profile Profile Profil b:Decorated035BT +pg peignot Peignot b:Exotic350BT +ph photina Photina +pi pi @r{pi fonts---see text and @file{*.map} files} +pj pompeija Pompeijana +pl palatino Palatino d:Palton b:ZapfCalligraphic801BT u:URWPalladioL Palmspring k:Palindrome +pm postmed PostMediaeval +pn plantin Plantin b:Aldine721BT +po ponderos Ponderosa +pp perpetua Perpetua b:Lapidary333BT +pq postatqa PostAntiqua +pr popplres PopplResidenz +ps parisian Parisian +pt present Present +pu popplaud PopplLaudatio +pw perrywoo Perrywood +px popplpfx PopplPontifex +py playbill Playbill +pz poliphil Poliphilus +qr quorum Quorum +qs bellevue Bellevue +qt boulevar Boulevard +r0 romana Romana +r1 rotis RotisSemiSerif +r2 cantoria Cantoria +r3 rotis RotisSemiSans +r4 rotis RotisSansSerif +ra raleigh Raleigh +rc romic Romic +rd romande RomandeADF +re requiem Requiem +rm carmina Carmina +rn rotation Rotation +ro rotis RotisSerif +rp reporter Reporter +rq russelsq RussellSquare +rr raphael Raphael +rs arrus Arrus +rt carta Carta +ru runic Runic +rv revue Revue +rw rockwell Rockwell Slate b:GeometricSlab712BT +rc rustican Rusticana +ry ryumin Ryumin +rz ruzicka RuzickaFreehandLH +s0 sanmarco SanMarco +s1 scotchro ScotchRoman +s2 script Script +s3 seagull Seagull +s4 shotgun Shotgun ShotgunBlanks +s5 snell Snell +s6 stuyvesa Stuyvesant +s7 sassoon Sassoon +s8 stonesan StoneSans +s9 segoescr SegoeScript +sa scala Scala +sb sabon Sabon b:ClassicalGaramondBT +sc slimbach Slimbach +se shelley Shelley +sf serifa Serifa +sg serifgth SerifGothic +sh shannon Shannon +si stoneinf StoneInformal +sk skia e:Skia +sl stencil Stencil +sm spectrum Spectrum +sn spartan Spartan +so sonata Sonata +sp serpenti Serpentine +sr snellrnd SnellRoundhand +ss stschnei StempelSchneidler +st stone StoneSerif +sv souvenir Souvenir +sw swing Swing +sx syntax Syntax +sy symbol Symbol m:MSymbolPS u:StandardSymL +t0 tango Tango +t1 thunderb Thunderbird +t2 typo TypoUpright +tb bebodoni BodoniBE BBodoni @r{Berthold Bodoni} +te timeseur TimesEuropa +tf tiffany Tiffany +tg tradegth TradeGothic +th tahoma Tahoma +ti techphon TechPhonetic +tj trajan Trajan +tk tekton Tekton +tl castella Castellar +tm times Times u:NimbusRoman u:NimbusRomNo9L b:Dutch801BT +tn norasi Norasi +to torino Torino b:Industrial736BT +tp tempo Tempo +tr trebuche Trebuchet +ts thesansm TheSansMono +tu doulos SILDoulos TeXToulouse +tv trumpmed TrumpMediaeval b:Kuenstler480BT +tw twentyc TwentiethCentury +ty typewrit Typewriter u:URWTypewriter +u0 columbus Columbus +ub babodoni BauerBodoni +ud studio Studio +ug bengugth BenguiatGothic +uh cushing Cushing +ul universa Universal +um umbra Umbra +un univers Univers b:ZurichBT +ur centaur Centaur b:Venetian301BT +ut utopia Utopia +uw usherwoo Usherwood +uy universi University +v0 vineta Vineta +v1 venturissans VenturisSansADF +v2 venturis2 VenturisADFNo2 +v3 venturissans2 VenturisSansADFNo2 +va activa Activa +vc vectora Vectora +vd vandijck VanDijck +ve veraseri VeraSerif +vg visigoth Visigoth +vi victoria Victoria +vj veljovic Veljovic +vl versaill Versailles +vm veramono VeraSansMono +vn verdana Verdana +vo venturisold VenturisOldADF +vr vagrnd VAGRounded +vs verasans VeraSans +vt venturis VenturisADF +vv viva Viva +w0 weddingt WeddingT +w1 wiesbswi WiesbadenSwing +w9 wastrel Wastrel +wb walbaum Walbaum +wc snowcap SnowCap +wd weideman Weidemann +wg wlklgth WilhelmKlingsporGotisch +wh wendy Wendy +wi wingding Wingdings +wk wilke Wilke +wn windsor Windsor +wp warnockp WarnockPro +wr wittenbe WitternbergerFrakt +ws weiss Weiss +wt watertit WatersTitling +ww willow Willow +xc eccentri Eccentric +xl linuxlib LinuxLibertine +xp exponto ExPonto +yg centuryg CenturyGothic +yh strayhor Strayhorn +ym stymie Stymie +ys goudysan GoudySans +za zantiqua ZAntiqua l:ZapfRenaisSH l:ZapfRenaisSB l:ZapfRenSwaSH +zc zapfchan ZapfChancery m:ZapfChanceryPS u:URWChanceryL +zd zapfding ZapfDingbats m:ZapfDingbatsPS u:Dingbats +zf zapfino Zapfino l:LinotypeZapfino-{One,Two,Three,Four,Ligature,Ornaments} +zg neuzeitg NeuzeitGrotesk b:Geometric706BT +zp ziptydo ZiptyDo +zt zeitgeis Zeitgeist +__ agbook AGBookStencil +__ agbookrn AGBookRounded +__ agoldfac AGOldFace +__ agschlbk AGSchoolbook +__ aja Aja +__ albertin AlbertinaMT +__ amigo Amigo +__ andreas Andreas +__ ariadne Ariadne +__ banshee Banshee +__ beesknee Beesknees +__ bellcent BellCentenial +__ berlgrot BerlinerGrotesk +__ bermuda BermudaLP +__ berthold BertholdScript +__ bickham BickhamScript +__ blueisla BlueIsland +__ bodoniof BodoniOldFaceBE +__ bossanov BossaNovaMVB +__ briemaka BriemAkademi +__ briemscr BriemScript +__ buffalog BuffaloGalMT +__ caflisch CaflischScript +__ caliban Caliban +__ catull Catull +__ celestia CelestiaAntiqua +__ cerigo Cerigo +__ chaparra Chaparral +__ christia Christiana +__ colossal Colossalis +__ comenius ComeniusAntiqua +__ concorde ConcordeNova +__ congabra CongaBrava +__ copal Copal +__ coriande Coriander +__ cosmos Cosmos +__ cremona Cremona +__ critter Critter +__ cronos Cronos +__ ctmercur CTMercurius +__ curlz CurlzMT +__ cutout Cutout +__ delphin Delphin +__ elgreco ElGreco +__ else ElseNPL +__ emmascri Emmascript +__ flood Flood +__ florens FlorensLP +__ fusaka Fusaka +__ gallia MonotypeGallia +__ garamobe GaramondBE +__ gillfaci GillFaciaMT +__ gillflor GillFloriatedCapsMT +__ graphite Graphite +__ greymant GreymantleMVB +__ hardwood HardwoodLP +__ immi505 Immi505 +__ jimbo Jimbo +__ khaki Khaki +__ kidprint KidprintMT +__ kinesis Kinesis +__ kochantq KochAntiqua +__ legault Legault +__ lightlin LightlineGothicMT +__ lotype LoType +__ magnesiu MagnesiumMVB +__ magnolia MagnoliaMVB +__ mahsuri MahsuriSansMT +__ manito ManitoLP +__ mendoza MendozaRoman +__ mezz Mezz +__ micr MICR +__ monalisa MonaLisa +__ motterco MotterCorpus +__ mythos Mythos +__ nueva Nueva +__ oceansan OceanSans +__ origami Origami +__ ozwald Ozwald +__ pastonch PastonchiMT +__ pelican Pelican +__ penumbra Penumbra +__ pepperwo Pepperwood +__ poetica Poetica +__ pompeia Pompeia +__ popplexq PopplExquisit +__ postino Postino +__ quake Quake +__ rad Rad +__ reliq Reliq +__ rosewood Rosewood +__ rulngscr RulingScript +__ russlobl RusselOblique +__ sanvito Sanvito +__ sassafra Sassafras +__ serlio SerlioLH +__ sho Sho +__ shuriken Shuriken +__ smaragd Smaragd +__ spring SpringLP +__ spumoni SpumoniLP +__ studz Studz +__ tiepolo Tiepolo +__ toolbox Toolbox +__ verve Verve +__ volutasc VolutaScript +__ zebrawoo Zebrawood +__ shouyi Shouyi @r{for mnm} + + +File: fontname.info, Node: Weights, Next: Variants, Prev: Typefaces, Up: Filenames for fonts + +2.3 Weights +=========== + +The "weight" of a font specifies its boldness. Arranged from lightest +to heaviest (more or less): + + hairline, extra light, light + book, regular, medium + demibold, semibold, bold, extra bold, heavy + black, ultra, poster + + Here is the table, from the file `weight.map'. It is organized +alphabetically by abbreviation. Each line consists of an abbreviation +and any parts of a PostScript `FontName' which use that abbreviation. + + a Thin Hairline + b Bold + c Black + d Demi + h Heavy Heavyface + j ExtraLight + k Book + l Light + m Medium + p Poster + r Regular Roman + s Semibold + u Ultra UltraBlack + x ExtraBold ExtraBlack + + +File: fontname.info, Node: Variants, Next: Widths, Prev: Weights, Up: Filenames for fonts + +2.4 Variants +============ + +"Variants" include typeface variations (e.g., italic, sans serif), and +font encodings (e.g., Adobe standard, TeX text). + + A fontname may require multiple variants. To resolve the worst +ambiguities, we specify that any encoding variant (`7', `8', or `9', +see below) come last and any other numeral variant come first (to avoid +confusion with a design size). We recommend but do not require that +the other variants be given in alphabetical order. (It's not required +because it's too painful to implement the sorting in TeX, and many +existing names already have non-alphabetized variants.) + + The letterspacing possibilities introduced by `fontinst' and virtual +fonts have not yet become sufficiently widespread to make +standardization beneficial. Likewise for the many possible ways to +generate small caps fonts. + + Notes on specific variants, both old and new: + +`1' +`4' +`6' +`b' + These variants (`semisans', `bright', `semiserif', and `fax') were + used only for single typefaces, so to conserve variant + abbreviations, they now have typeface abbreviations instead. + Also, for `b', to avoid too-long names; and for the others, to + avoid variant vs. design-size ambiguities. + +`g' +`h' + Since these variants were not actually used in any font names, + they are now obsolete and may be reassigned in the future. + +`5' +`6' +`7' +`8' +`9' + These characters begin a two-character "encoding variant". + Generally, `7' is for 7-bit encodings, `8' is for 8-bit encodings, + and `9' is for expertised encodings with or without oldstyle + digits (see the `x' item below), but this is not an absolute rule. + Also, `5' is presently used for phonetic encodings and `6' for + Cyrillic encodings. The `9s' (`SuperFont') variant contain all of + Adobe, Latin 1, and Expert glyphs, perhaps with slightly different + metrics than the original fonts. + + For a font to be named with a certain encoding variant, it's not + necessary that all the characters appear in precisely the same + positions as in the encoding definition. It's enough that the + usual TeX macros work. In practice, this means that it's ok for a + font to be labelled `7t' if the only difference from Computer + Modern is that the ligatures and the `lslash' and `Lslash' + characters are different, since it's impossible to access or + change the ligature table from TeX. Standard PostScript fonts + don't have an `lslash' character the way Computer Modern does, but + they do have the `Lslash' and `lslash' characters themselves, so + the usual TeX `\lslash' and `\Lslash' macros can be made to work + via ligatures. See the file `T1.etx' file in the `fontinst' + distribution for details. + + If a name does not contain a specific encoding variant, its + encoding is unspecified. For example, some of the fonts + distributed with Dvips(k) have names like `ptmr' for + `Times-Roman'; they use the Dvips encoding (*note dvips::), which + is close to (but not the same as) the TeX text encoding (as in + Computer Modern Roman). Similarly, the TFM files distributed with + Dvilj(k) for the builtin LaserJet 4 fonts have names like `cunm', + since these fonts, while compatible with TeX text, contain many + additional characters. + +`9' + These items are needed only because `x' (and possibly `j') + followed by a two-character regular variant makes some names too + long. That is, `9t' is equivalent in meaning to `x7t', and `9d' + is equivalent to `jx7t'. (This may not be true for all `9X' + encodings, though.) + +`k' +`z' + These variants (indicating Greek and Cyrillic fonts, respectively) + are obsolete; future fonts in different scripts should be assigned + an appropriate encoding abbreviation. These are not currently + standardized, due to ignorance of the appropriate encodings. + Please send suggestions for abbreviations to the address in *note + Introduction::. + +`m' +`v' +`y' + These math-related variants remain for the sake of + typeface-specific math encodings, e.g., Lucida. Fonts that use + the Computer Modern math encodings should use `7m' (*note + texmital::), `7v' (*note texmext::), and `7y' (*note texmsym::). + +`n' + This is used for several different (but very rare) variants: only + the Stone typeface has an "informal" variant, and only a few + Monotype fonts have a "schoolbook" variant, with different `a', + `g', and `y' shapes. + +`r' + Included only if no other variants, including encodings, apply, and + either the width (*note Widths::) is not `r' or a design size is + present. I.e., `r' is only used as a placeholder. When the normal + version of the typeface is sans serif (e.g., Helvetica), `r' should + be used when necessary, not `s'. Use `s' only when the typeface + family has both serif and sans serif variants. + +`s' +`t' + Mittelbach in `TUGboat' 13(1) suggests that these variants (for + `sans' and `typewriter') should be identified as part of the + typeface name, because there are few typeface families with these + variants. I feel that since they are logically variants, it's + best to name them that way. But `LucidaSans' (*note Typefaces::) + and a few others are exceptions, to avoid too-long names. + +`x' +`8x' +`9?' + `8x' indicates a font in the `Expert' encoding itself. `x' + indicates an "expertised" font, i.e., a composite (virtual) font + that includes characters from an `8x' font. And in fact an `xEE' + sequence is replaced by `9E', to save characters. + + Fontname 1 assignments are shown in brackets in the following table, +from the file `variant.map'. It is organized alphabetically by +abbreviation. Each line consists of an abbreviation and either any +parts of a PostScript `FontName' which use that abbreviation or the +PostScript `Encoding' name. + + 0 inferior + 1 superior + 2 proportional digits, not tabular + obsolete [3=>7f] Fraction + obsolete [4 fax; now typeface `lx', Lucida Fax] + 5 escape for (presently) phonetic encodings + 6 escape for (mostly) Cyrillic encodings [was `SemiSerif'] + 7 escape for (mostly) 7-bit encodings + 8 escape for (mostly) 8-bit encodings + 9 escape for (presently) expert encodings [was oldstyle digits] + a Alt Arrows Alternative [was alternate encoding] + obsolete [b bright; now typeface lh, Lucida Bright] + c SmallCaps + d Display Titling Caption Headline TallCaps SwashCaps LombardicCaps Festive + e Engraved Copperplate Elite + f Fraktur Gothic OldEnglish Handtooled (`gothic' can also be sans) + g SmallText lc only, or designed for small sizes [was grooved, as in the IBM logo] + h Shadow + i Italic Kursiv Ital text italic + j old-style digits [was invisible] + k Greek obsolete + l Outline OpenFace Blanks + m math italic + n Informal Fashion Schlbk for Stone + o Oblique Obl slanted + p Ornaments + obsolete [q=>8t Cork (TeX extended) encoding] + r roman or sans; often omitted, see text + s Gothic sans serif + t Monospace fixed-width typewriter + u underline or unslanted italic + v MathExtension + w Script Handwritten Swash Calligraphy Cursive Tango Ligature + x built with Adobe expert encoding [was expert-encoded] + y MathSymbol + z Cyrillic font-dependent Cyrillic + 5a PhoneticAlternate + 5i PhoneticIPA + 5s sil-IPA + 5t TeX-IPA Fukui Rei, LaTeX T3 + 5w TeXAfricanLatin wsuipa fonts, LaTeX OT3 + 5z user + 6a T2A + 6b Cyrillic part of ISO 8859-5, seven bits + 6c T2C + 6d Cyrillic CP866 encoding + 6g LGR Greek font encoding + 6i ISO 8859-5 + 6k Cyrillic KOI8-R encoding + 6m Cyrillic Macintosh encoding + 6s Storm extra encoding + 6t T2B + 6w Cyrillic CP1251 encoding + 6x X2 + 6y LCY + 6z user + 7a A alternate characters only + 7c Dfr Fraktur + 7d OsF OSF oldstyle digit encoding + 7f Fraction + 7k OT2Cyrillic + 7m TeXMathItalicEncoding *note texmital:: + 7t TeX text encoding (as in Computer Modern Roman) + 7v TeXMathExtensionEncoding *note texmext:: + 7y TeXMathSymbolEncoding *note texmsym:: + 7z user + 82 GreekKeys + 83 Ibycus1 + 84 Ibycus2 + 8a StandardEncoding Adobe standard encoding, *note 8a:: + 8c TeXTextCompanion LaTeX TS1 + 8e CE Adobe CE + 8f TeXAfricanLatin LaTeX T4 + 8g groff + 8i TS0 Intersection of TS1/Adobe Standard + 8m Macintosh standard encoding + 8n LM1 Textures + 8q encqxoosix QX, from GUST + 8r TeXBase1Encoding (*note 8r::) + 8t ECEncoding CorkEncoding (*note ec::), aka tex256.enc + 8u XT2Encoding cmtt + Latin 2, see `xl2.enc' + 8v TeXVietnamese T5 + 8w Windows 3.1 ANSI encoding + 8x Expert expert encoding + 8y LY1 texnansi + 8z XL2Encoding cmr + Latin 2, see `xl2.enc' + 9c expert + Text companion + 9d expert + oldstyle digits + Cork + 9e expert + Cork + 9i TS0X Intersection of TS1/Standard/Expert + 9o expert + oldstyle digits + TeX text + 9s SF SuperFont + 9t expert + TeX text + 9u Unicode-compatible + 9x TeXnANSIEncodingX texnansx, texnansi without repeats + 9z user + - songti for mnm + + +File: fontname.info, Node: Widths, Prev: Variants, Up: Filenames for fonts + +2.5 Widths +========== + +The "width" of a font specifies the compression or expansion of the +font. Arranged from narrowest to widest (more or less): + + ultra compressed, extra condensed, compressed, condensed, narrow + regular + semiextended, extended, expanded, wide + + Expansion or compression of fonts is sometimes done automatically +(as by the PostScript `scale' operator), and sometimes done by humans. +In the latter case, the human will also presumably choose a font name +which includes `Extended' or `Expanded' or `Condensed' or `Narrow' or +whatever according to their own preferences; the abbreviation can +follow along. When creating a new synthetically expanded or compressed +font for use with TeX, e.g., with Afm2tfm or `fontinst', use `n' and +`e'. + + Here is the table, from the file `width.map'. It is organized +alphabetically by abbreviation. Each line consists of an abbreviation +and any parts of a PostScript `FontName' which use that abbreviation. + + c Condensed Cond + e Expanded + n Narrow Semicondensed + o UltraCondensed + p Compressed Compact + q ExtraCompressed ExtraCondensed + r Normal Medium Regular (usually omitted) + t Thin + u UltraCompressed + v ExtraExpanded more than Expanded, less than Wide + w Wide + x Extended Elongated + y Semiexpanded + + +File: fontname.info, Node: Long names, Next: Font name lists, Prev: Filenames for fonts, Up: Top + +3 Long names +************ + +Eight characters is not enough to unambiguously represent all fonts. To +do that, we have to allow ourselves arbitrarily long names. Although we +certainly cannot use such names for the files themselves, we could still +use them in TeX documents given a simple mapping file, as discussed +below. + +* Menu: + +* Name mapping file:: Aliases for fonts. +* Long naming scheme:: A way to use more than 8 alphanumerics. + + +File: fontname.info, Node: Name mapping file, Next: Long naming scheme, Up: Long names + +3.1 A fontname mapping file +=========================== + +At the moment, most implementations of TeX look up a TFM file (as part +of the `\font' command), by searching for a file with the name given by +the user (possibly in any of series of directories). But if we also +looked TFM names up in _another_ file (or set of files), which +specifies the actual filename, the fontname given in the TeX source +file could be almost anything at all, of any length. + + In version 5.851d of Web2c, I implemented this mapping file. Each +file `texfonts.map' in a search path is read for abbreviations. The file +has a straightforward format: each line specifies the filename and the +TeX name for one font, separated by whitespace. Extra information on +the line is ignored; then more information could be specified for the +benefit of DVI-reading programs in the same file. Comments start with +`%' and continue to the end of the line. + + Besides allowing long names, this sort of mapping file has other +benefits. TeX source or DVI files can be more easily transported, +because the font names in a particular file can be made to work on every +system. Also, when combined with a consistent naming scheme, macros +could be written to access any of a number of fonts. Right now, each +font family has to have specialized macros written to deal with it. + + Incidentally, Professor Knuth has approved this as a legitimate +"system-dependent" extension; a TeX with such a feature can still be +called "TeX". + + +File: fontname.info, Node: Long naming scheme, Prev: Name mapping file, Up: Long names + +3.2 A naming scheme for long names +================================== + +Once we allow ourselves long names, we can construct a naming scheme to +handle arbitrary fonts without much difficulty. Here is one proposal, +based on the X Window System font naming conventions. + + SUPPLIER-FAMILY-WEIGHT-VARIANTS-WIDTH-ENCODING--SIZE + + SUPPLIER is the usual `Adobe', `Autologic', etc., as well as +`unknown' or `bizarre'--this last meaning the rest of the name is +nonstandard. If the SUPPLIER is missing, i.e., the name starts with a +`-', "public domain" is assumed. For fonts made by individuals, the +initials of the designer would probably make a good SUPPLIER. + + FAMILY is `ComputerModern' or `Times' or whatever. + + Everything else is optional. The `--' before the SIZE lets one +specify a name with, say, a weight and variants, but then skip the +WIDTH and ENCODING, but still be able to give a size. + + WEIGHT and WIDTH are as described earlier. + + If there is more than one variant, they are separated with some +character other than `-', say `=': + B+H-Lucida-Bold-Sans=Typewriter--10 + + ENCODING is what Metafont calls the `font_coding_scheme'--the layout +of the characters in the font. For example, `Cork' or `ISOLatin1' or +`AdobeAlternate'. + + Names are case-sensitive, for consistency with the rest of TeX and +with PostScript, etc. Spaces cannot be used in the name, to make it +easier for TeX to parse. Likewise, characters with default category +codes other than 11 (letter) or 12 (other) should not be used. + + Another possibility is to forget all the above, and simply use the +vendor's name (perhaps prefixed by the vendor): `Times-Roman'. + + +File: fontname.info, Node: Font name lists, Next: Encodings, Prev: Long names, Up: Top + +Appendix A Font name lists +************************** + +These sections contain a list of fonts from various suppliers together +with the corresponding names. + +* Menu: + +* Standard PostScript fonts:: The standard 35 PostScript fonts. +* Adobe fonts:: +* Apple fonts:: +* Bitstream fonts:: +* DTC fonts:: +* ITC fonts:: +* Linotype fonts:: +* Monotype fonts:: +* URW fonts:: + + +File: fontname.info, Node: Standard PostScript fonts, Next: Adobe fonts, Up: Font name lists + +A.1 Standard PostScript fonts +============================= + +Abbreviated names for the 35 standard PostScript fonts. An encoding +variant, such as `8a' for the Adobe `StandardEncoding', is omitted. + +`pagk' + `AvantGarde-Book' + +`pagko' + `AvantGarde-BookOblique' + +`pagd' + `AvantGarde-Demi' + +`pagdo' + `AvantGarde-DemiOblique' + +`pbkd' + `Bookman-Demi' + +`pbkdi' + `Bookman-DemiItalic' + +`pbkl' + `Bookman-Light' + +`pbkli' + `Bookman-LightItalic' + +`pcrb' + `Courier-Bold' + +`pcrbo' + `Courier-BoldOblique' + +`pcrr' + `Courier' + +`pcrro' + `Courier-Oblique' + +`phvb' + `Helvetica-Bold' + +`phvbo' + `Helvetica-BoldOblique' + +`phvbrn' + `Helvetica-NarrowBold' + +`phvbon' + `Helvetica-NarrowBoldOblique' + +`phvr' + `Helvetica' + +`phvro' + `Helvetica-Oblique' + +`phvrrn' + `Helvetica-Narrow' + +`phvron' + `Helvetica-NarrowOblique' + +`pncb' + `NewCenturySchlbk-Bold' + +`pncbi' + `NewCenturySchlbk-BoldItalic' + +`pncri' + `NewCenturySchlbk-Italic' + +`pncr' + `NewCenturySchlbk-Roman' + +`pplb' + `Palatino-Bold' + +`pplbi' + `Palatino-BoldItalic' + +`pplri' + `Palatino-Italic' + +`pplr' + `Palatino-Roman' + +`psyr' + `Symbol' + +`ptmb' + `Times-Bold' + +`ptmbi' + `Times-BoldItalic' + +`ptmri' + `Times-Italic' + +`ptmr' + `Times-Roman' + +`pzcmi' + `ZapfChancery-MediumItalic' + +`pzdr' + `ZapfDingbats' + + +File: fontname.info, Node: Adobe fonts, Next: Apple fonts, Prev: Standard PostScript fonts, Up: Font name lists + +A.2 Adobe fonts +=============== + +The `adobe.map' file has abbreviations for Adobe fonts. + + pcrb8a Courier-Bold A 0.1 cob_____ + pcrbo8a Courier-BoldOblique A 0.1 cobo____ + pcrr8a Courier A 0.1 com_____ + pcrro8a Courier-Oblique A 0.1 coo_____ + phvr8a Helvetica A 0.2 hv______ + phvb8a Helvetica-Bold A 0.2 hvb_____ + phvbo8a Helvetica-BoldOblique A 0.2 hvbo____ + phvro8a Helvetica-Oblique A 0.2 hvo_____ + psyr Symbol A 0.3 sy______ + ptmb8a Times-Bold A 0.4 tib_____ + ptmbi8a Times-BoldItalic A 0.4 tibi____ + ptmri8a Times-Italic A 0.4 tii_____ + ptmr8a Times-Roman A 0.4 tir_____ + phvr8an Helvetica-Narrow A 0.5 hvn_____ + phvb8an Helvetica-Narrow-Bold A 0.5 hvnb____ + phvbo8an Helvetica-Narrow-BoldOblique A 0.5 hvnbo___ + phvro8an Helvetica-Narrow-Oblique A 0.5 hvno____ + pplb8a Palatino-Bold A 001 pob_____ + pplbi8a Palatino-BoldItalic A 001 pobi____ + pplri8a Palatino-Italic A 001 poi_____ + pplr8a Palatino-Roman A 001 por_____ + pbkd8a Bookman-Demi A 002 bkd_____ + pbkdi8a Bookman-DemiItalic A 002 bkdi____ + pbkl8a Bookman-Light A 002 bkl_____ + pbkli8a Bookman-LightItalic A 002 bkli____ + pzcmi8a ZapfChancery-MediumItalic A 003 zcmi____ + pzdr ZapfDingbats A 003 zd______ + pagd8a AvantGarde-Demi A 004 agd_____ + pagdo8a AvantGarde-DemiOblique A 004 agdo____ + pagk8a AvantGarde-Book A 004 agw_____ + pagko8a AvantGarde-BookOblique A 004 agwo____ + pncb8a NewCenturySchlbk-Bold A 005 ncb_____ + pncbi8a NewCenturySchlbk-BoldItalic A 005 ncbi____ + pncri8a NewCenturySchlbk-Italic A 005 nci_____ + pncr8a NewCenturySchlbk-Roman A 005 ncr_____ + popr8a Optima A 006 op______ + popb8a Optima-Bold A 006 opb_____ + popbi8a Optima-BoldItalic A 006 opbi____ + popbo8a Optima-BoldOblique A 006 opbo____ + popri8a Optima-Italic A 006 opi_____ + popro8a Optima-Oblique A 006 opo_____ + psvd8a Souvenir-Demi A 007 sud_____ + psvdi8a Souvenir-DemiItalic A 007 sudi____ + psvl8a Souvenir-Light A 007 sul_____ + psvli8a Souvenir-LightItalic A 007 suli____ + plbd8a LubalinGraph-Demi A 008 lud_____ + plbdo8a LubalinGraph-DemiOblique A 008 ludo____ + plbk8a LubalinGraph-Book A 008 luw_____ + plbko8a LubalinGraph-BookOblique A 008 luwo____ + pgmb8a Garamond-Bold A 009 gab_____ + pgmbi8a Garamond-BoldItalic A 009 gabi____ + pgml8a Garamond-Light A 009 gal_____ + pgmli8a Garamond-LightItalic A 009 gali____ + patb8a AmericanTypewriter-Bold A 010 atb_____ + patba8a AmericanTypewriter-BoldA A 010 atba____ + patb8ac AmericanTypewriter-BoldCond A 010 atbc____ + patba8ac AmericanTypewriter-BoldCondA A 010 atbca___ + patr8ac AmericanTypewriter-Cond A 010 atc_____ + patra8ac AmericanTypewriter-CondA A 010 atca____ + patl8a AmericanTypewriter-Light A 010 atl_____ + patla8a AmericanTypewriter-LightA A 010 atla____ + patl8ac AmericanTypewriter-LightCond A 010 atlc____ + patla8ac AmericanTypewriter-LightCondA A 010 atlca___ + patm8a AmericanTypewriter-Medium A 010 atm_____ + patma8a AmericanTypewriter-MediumA A 010 atma____ + pbgb8a Benguiat-Bold A 011 bgb_____ + pbgk8a Benguiat-Book A 011 bgw_____ + pfqr8a FrizQuadrata A 011 fq______ + pfqb8a FrizQuadrata-Bold A 011 fqb_____ + pgpr8a Glypha A 012 gy______ + pgpb8a Glypha-Bold A 012 gyb_____ + pgpbo8a Glypha-BoldOblique A 012 gybo____ + pgpro8a Glypha-Oblique A 012 gyo_____ + phvc8a Helvetica-Black A 013 hvbl____ + phvco8a Helvetica-BlackOblique A 013 hvblo___ + phvl8a Helvetica-Light A 013 hvl_____ + phvlo8a Helvetica-LightOblique A 013 hvlo____ + phvr8ac Helvetica-Condensed A 014 hvc_____ + phvb8ac Helvetica-Condensed-Bold A 014 hvcb____ + phvc8ac Helvetica-Condensed-Black A 014 hvcbl___ + phvbo8ac Helvetica-Condensed-BoldObl A 014 hvcbo___ + phvro8ac Helvetica-Condensed-Oblique A 014 hvcdo___ + phvl8ac Helvetica-Condensed-Light A 014 hvcl____ + phvlo8ac Helvetica-Condensed-LightObl A 014 hvclo___ + phvco8ac Helvetica-Condensed-BlackObl A 014 hvco____ + ptvb8a TrumpMediaeval-Bold A 015 tmb_____ + ptvbi8a TrumpMediaeval-BoldItalic A 015 tmbi____ + ptvri8a TrumpMediaeval-Italic A 015 tmi_____ + ptvr8a TrumpMediaeval-Roman A 015 tmr_____ + pmlr8a Melior A 016 me______ + pmlb8a Melior-Bold A 016 meb_____ + pmlbi8a Melior-BoldItalic A 016 mebi____ + pmlri8a Melior-Italic A 016 mei_____ + pglb8a Galliard-Bold A 017 glb_____ + pglbi8a Galliard-BoldItalic A 017 glbi____ + pglri8a Galliard-Italic A 017 gli_____ + pglr8a Galliard-Roman A 017 glr_____ + pnbb8a NewBaskerville-Bold A 018 nbb_____ + pnbbi8a NewBaskerville-BoldItalic A 018 nbbi____ + pnbri8a NewBaskerville-Italic A 018 nbi_____ + pnbr8a NewBaskerville-Roman A 018 nbr_____ + pkrb8a Korinna-Bold A 019 krb_____ + pkrbi8a Korinna-KursivBold A 019 krkb____ + pkrri8a Korinna-KursivRegular A 019 krkx____ + pkrr8a Korinna-Regular A 019 krrg____ + pgyr8a Goudy A 020 go______ + pgyb8a Goudy-Bold A 020 gob_____ + pgybi8a Goudy-BoldItalic A 020 gobi____ + pgyri8a Goudy-Italic A 020 goi_____ + psor Sonata A 021 so______ + pcub8a CenturyOldStyle-Bold A 022 csb_____ + pcuri8a CenturyOldStyle-Italic A 022 csi_____ + pcur8a CenturyOldStyle-Regular A 022 csrg____ + pfgd8a FranklinGothic-Demi A 023 frd_____ + pfgdi8a FranklinGothic-DemiItal A 023 frdi____ + pfgdo8a FranklinGothic-DemiOblique A 023 frdo____ + pfgh8a FranklinGothic-Heavy A 023 frh_____ + pfghi8a FranklinGothic-HeavyItal A 023 frhi____ + pfgho8a FranklinGothic-HeavyOblique A 023 frho____ + pfgm8a FranklinGothic-Medium A 023 frm_____ + pfgmi8a FranklinGothic-MediumItal A 023 frmi____ + pfgk8a FranklinGothic-Book A 023 frw_____ + pfgki8a FranklinGothic-BookItal A 023 frwi____ + pfgko8a FranklinGothic-BookOblique A 023 frwo____ + pctb8a Cheltenham-Bold A 024 chb_____ + pctbi8a Cheltenham-BoldItalic A 024 chbi____ + pctk8a Cheltenham-Book A 024 chw_____ + pctki8a Cheltenham-BookItalic A 024 chwi____ + ppar8a ParkAvenue A 025 pa______ + pbdr8a Bodoni A 026 bd______ + pbdb8a Bodoni-Bold A 026 bdb_____ + pbdbi8a Bodoni-BoldItalic A 026 bdbi____ + pbdri8a Bodoni-Italic A 026 bdi_____ + pbdp8a Bodoni-Poster A 026 bdps____ + plgr8a LetterGothic A 027 lg______ + plgb8a LetterGothic-Bold A 027 lgb_____ + plgbo8a LetterGothic-BoldSlanted A 027 lgbsl___ + plgro8a LetterGothic-Slanted A 027 lgsl____ + pper8a PrestigeElite A 028 pe______ + ppeb8a PrestigeElite-Bold A 028 peb_____ + ppebo8a PrestigeElite-BoldSlanted A 028 pebsl___ + ppero8a PrestigeElite-Slanted A 028 pesl____ + porr8a Orator A 029 or______ + porro8a Orator-Slanted A 029 orsl____ + pngr8a NewsGothic A 030 ng______ + pngb8a NewsGothic-Bold A 030 ngb_____ + pngbo8a NewsGothic-BoldOblique A 030 ngbo____ + pngro8a NewsGothic-Oblique A 030 ngo_____ + ptfr8a Tiffany A 031 tf______ + ptfd8a Tiffany-Demi A 031 tfd_____ + ptfdi8a Tiffany-DemiItalic A 031 tfdi____ + ptfh8a Tiffany-Heavy A 031 tfh_____ + ptfhi8a Tiffany-HeavyItalic A 031 tfhi____ + ptfri8a Tiffany-Italic A 031 tfi_____ + pcbc8a CooperBlack A 032 cb______ + pcbci8a CooperBlack-Italic A 032 cbi_____ + pburw8a BrushScript A 033 bs______ + phbrw8a Hobo A 033 ho______ + pslb8a Stencil A 033 st______ + paab8a Aachen-Bold A 034 acb_____ + pfcrw8a FreestyleScript A 034 fs______ + prvb8a Revue A 034 re______ + puyr8a UniversityRoman A 034 ur______ + prtr Carta A 035 cr______ + plcr8a Lucida A 036 lc______ + plcb8a Lucida-Bold A 036 lcb_____ + plcbi8a Lucida-BoldItalic A 036 lcbi____ + plcri8a Lucida-Italic A 036 lci_____ + punr8a Univers A 037 uv______ + punb8a Univers-Bold A 037 uvb_____ + punc8a Univers-Black A 037 uvbl____ + punco8a Univers-BlackOblique A 037 uvblo___ + punbo8a Univers-BoldOblique A 037 uvbo____ + punl8a Univers-Light A 037 uvl_____ + punlo8a Univers-LightOblique A 037 uvlo____ + punro8a Univers-Oblique A 037 uvo_____ + punr8ac Univers-Condensed A 038 uvc_____ + punb8ac Univers-CondensedBold A 038 uvcb____ + punbo8ac Univers-CondensedBoldOblique A 038 uvcbo___ + punro8ac Univers-CondensedOblique A 038 uvcdo___ + punl8ac Univers-CondensedLight A 038 uvcl____ + punlo8ac Univers-CondensedLightOblique A 038 uvclo___ + pfub8a Futura-Bold A 039 fub_____ + pfubo8a Futura-BoldOblique A 039 fubo____ + pful8a Futura-Light A 039 ful_____ + pfulo8a Futura-LightOblique A 039 fulo____ + pfuk8a Futura-Book A 039 fuw_____ + pfuko8a Futura-BookOblique A 039 fuwo____ + pstr8a StoneSerif A 040 sr______ + pstb8a StoneSerif-Bold A 040 srb_____ + pstbi8a StoneSerif-BoldItalic A 040 srbi____ + pstri8a StoneSerif-Italic A 040 sri_____ + psts8a StoneSerif-Semibold A 040 srsb____ + pstsi8a StoneSerif-SemiboldItalic A 040 srsbi___ + ps8r8a StoneSans A 041 ss______ + ps8b8a StoneSans-Bold A 041 ssb_____ + ps8bi8a StoneSans-BoldItalic A 041 ssbi____ + ps8ri8a StoneSans-Italic A 041 ssi_____ + ps8s8a StoneSans-Semibold A 041 sssb____ + ps8si8a StoneSans-SemiboldItalic A 041 sssbi___ + psir8a StoneInformal A 042 si______ + psib8a StoneInformal-Bold A 042 sib_____ + psibi8a StoneInformal-BoldItalic A 042 sibi____ + psiri8a StoneInformal-Italic A 042 sii_____ + psis8a StoneInformal-Semibold A 042 sisb____ + psisi8a StoneInformal-SemiboldItalic A 042 sisbi___ + ponr8a Corona A 043 cn______ + ponb8a Corona-Bold A 043 cnb_____ + ponri8a Corona-Italic A 043 cni_____ + pesr8a Eurostile A 044 eu______ + pesb8a Eurostile-Bold A 044 eub_____ + pesbi8a Eurostile-BoldOblique A 044 eubo____ + pesd8a Eurostile-Demi A 044 eud_____ + pesdi8a Eurostile-DemiOblique A 044 eudo____ + pesri8a Eurostile-Oblique A 044 euo_____ + pexr8a Excelsior A 045 ex______ + pexb8a Excelsior-Bold A 045 exb_____ + pexri8a Excelsior-Italic A 045 exi_____ + pfur8a Futura A 046 fu______ + pfux8a Futura-ExtraBold A 046 fueb____ + pfuxo8a Futura-ExtraBoldOblique A 046 fuebo___ + pfuh8a Futura-Heavy A 046 fuh_____ + pfuho8a Futura-HeavyOblique A 046 fuho____ + pfuro8a Futura-Oblique A 046 fuo_____ + pfuxo8ac Futura-CondExtraBoldObl A 047 fcebo___ + pfur8ac Futura-Condensed A 047 fuc_____ + pfub8ac Futura-CondensedBold A 047 fucb____ + pfubo8ac Futura-CondensedBoldOblique A 047 fucbo___ + pfux8ac Futura-CondensedExtraBold A 047 fuceb___ + pful8ac Futura-CondensedLight A 047 fucl____ + pfulo8ac Futura-CondensedLightOblique A 047 fuclo___ + pfuro8ac Futura-CondensedOblique A 047 fuco____ + plsr8a LucidaSans A 048 ls______ + plsb8a LucidaSans-Bold A 048 lsb_____ + plsbi8a LucidaSans-BoldItalic A 048 lsbi____ + plsri8a LucidaSans-Italic A 048 lsi_____ + pmpb8a Memphis-Bold A 049 mpb_____ + pmpbi8a Memphis-BoldItalic A 049 mpbi____ + pmpx8a Memphis-ExtraBold A 049 mpeb____ + pmpl8a Memphis-Light A 049 mpl_____ + pmpli8a Memphis-LightItalic A 049 mpli____ + pmpm8a Memphis-Medium A 049 mpm_____ + pmpmi8a Memphis-MediumItalic A 049 mpmi____ + phvx8ap Helvetica-ExtraCompressed A 050 hvek____ + phvr8ap Helvetica-Compressed A 050 hvk_____ + phvu8ap Helvetica-UltraCompressed A 050 hvuk____ + pitb8a Italia-Bold A 051 itb_____ + pitm8a Italia-Medium A 051 itm_____ + pitk8a Italia-Book A 051 itw_____ + pblb8a Belwe-Bold A 052 bwb_____ + pblr8ac Belwe-Condensed A 052 bwc_____ + pbll8a Belwe-Light A 052 bwl_____ + pblm8a Belwe-Medium A 052 bwm_____ + pc5ri8a CaslonFiveForty-Italic A 053 cfi_____ + pc5r8a CaslonFiveForty-Roman A 053 cfr_____ + pc3ri8a CaslonThree-Italic A 053 cti_____ + pc3r8a CaslonThree-Roman A 053 ctr_____ + pgyx8a Goudy-ExtraBold A 054 goeb____ + pgyh8a Goudy-Heavyface A 054 goh_____ + pgyhi8a Goudy-HeavyfaceItalic A 054 gohi____ + pjnb8a JansonText-Bold A 055 jtb_____ + pjnbi8a JansonText-BoldItalic A 055 jtbi____ + pjnri8a JansonText-Italic A 055 jti_____ + pjnr8a JansonText-Roman A 055 jtr_____ + ierb8a ItcEras-Bold A 056 erb_____ + ierk8a ItcEras-Book A 056 erbk____ + ierd8a ItcEras-Demi A 056 erd_____ + ierl8a ItcEras-Light A 056 erl_____ + ierm8a ItcEras-Medium A 056 erm_____ + ieru8a ItcEras-Ultra A 056 eru_____ + ikbb8a ItcKabel-Bold A 057 kbb_____ + ikbd8a ItcKabel-Demi A 057 kbd_____ + ikbm8a ItcKabel-Medium A 057 kbm_____ + ikbu8a ItcKabel-Ultra A 057 kbu_____ + ikbk8a ItcKabel-Book A 057 kbw_____ + p_____ MICR A 058 mi______ + poar OCRA A 058 oa______ + poara OCRA-Alternate A 058 oaalt___ + pobr OCRB A 058 ob______ + pobra OCRB-Alternate A 058 obalt___ + phnc8a HelveticaNeue-Black A 059 hlbl____ + phnci8a HelveticaNeue-BlackItalic A 059 hlbli___ + phnj8a HelveticaNeue-UltraLight A 059 hlul____ + phnji8a HelveticaNeue-UltraLightItal A 059 hluli___ + phnb8a HelveticaNeue-Bold A 060 hlb_____ + phnbi8a HelveticaNeue-BoldItalic A 060 hlbi____ + phnri8a HelveticaNeue-Italic A 060 hli_____ + phnr8a HelveticaNeue-Roman A 060 hlr_____ + phna8a HelveticaNeue-Thin A 060 hlt_____ + phnai8a HelveticaNeue-ThinItalic A 060 hlti____ + phnh8a HelveticaNeue-Heavy A 061 hlh_____ + phnhi8a HelveticaNeue-HeavyItalic A 061 hlhi____ + phnl8a HelveticaNeue-Light A 061 hll_____ + phnli8a HelveticaNeue-LightItalic A 061 hlli____ + phnm8a HelveticaNeue-Medium A 061 hlm_____ + phnmi8a HelveticaNeue-MediumItalic A 061 hlmi____ + pttb8a TimesTen-Bold A 062 ttb_____ + pttbi8a TimesTen-BoldItalic A 062 ttbi____ + pttri8a TimesTen-Italic A 062 tti_____ + pttr8a TimesTen-Roman A 062 ttr_____ + pkur8a Kaufmann A 063 kf______ + pkub8a Kaufmann-Bold A 063 kfb_____ + pcdr8a Clarendon A 064 cl______ + pcdb8a Clarendon-Bold A 064 clb_____ + pcdl8a Clarendon-Light A 064 cll_____ + ppgb8a Peignot-Bold A 065 pgb_____ + ppgd8a Peignot-Demi A 065 pgd_____ + ppgl8a Peignot-Light A 065 pgl_____ + pndr8a NewCaledonia A 066 nl______ + pndb8a NewCaledonia-Bold A 066 nlb_____ + pndbi8a NewCaledonia-BoldItalic A 066 nlbi____ + pndc8a NewCaledonia-Black A 066 nlbl____ + pndci8a NewCaledonia-BlackItalic A 066 nlbli___ + pndri8a NewCaledonia-Italic A 066 nli_____ + pnds8a NewCaledonia-SemiBold A 066 nls_____ + pndsi8a NewCaledonia-SemiBoldItalic A 066 nlsi____ + pcfb8a Clearface-Bold A 067 ceb_____ + pcfbi8a Clearface-BoldItalic A 067 cebi____ + pcfc8a Clearface-Black A 067 cebl____ + pcfci8a Clearface-BlackItalic A 067 cebli___ + pcfh8a Clearface-Heavy A 067 ceh_____ + pcfhi8a Clearface-HeavyItalic A 067 cehi____ + pcfr8a Clearface-Regular A 067 cerg____ + pcfri8a Clearface-RegularItalic A 067 cergi___ + pamr8a Americana A 068 am______ + pamb8a Americana-Bold A 068 amb_____ + pamx8a Americana-ExtraBold A 068 ameb____ + pamri8a Americana-Italic A 068 ami_____ + psgr8a SerifGothic A 069 sg______ + psgb8a SerifGothic-Bold A 069 sgb_____ + psgc8a SerifGothic-Black A 069 sgbl____ + psgx8a SerifGothic-ExtraBold A 069 sgeb____ + psgh8a SerifGothic-Heavy A 069 sgh_____ + psgl8a SerifGothic-Light A 069 sgl_____ + pcnr8ax CenturyExpanded A 070 cy______ + pcnri8ax CenturyExpanded-Italic A 070 cyi_____ + psfb8a Serifa-Bold A 071 seb_____ + psfc8a Serifa-Black A 071 sebl____ + psfri8a Serifa-Italic A 071 sei_____ + psfl8a Serifa-Light A 071 sel_____ + psfli8a Serifa-LightItalic A 071 seli____ + psfr8a Serifa-Roman A 071 ser_____ + pcarl8a CaslonOpenFace A 072 ca______ + pfrb8a Frutiger-Bold A 073 ftb_____ + pfrbi8a Frutiger-BoldItalic A 073 ftbi____ + pfrc8a Frutiger-Black A 073 ftbl____ + pfrci8a Frutiger-BlackItalic A 073 ftbli___ + pfrri8a Frutiger-Italic A 073 fti_____ + pfrl8a Frutiger-Light A 073 ftl_____ + pfrli8a Frutiger-LightItalic A 073 ftli____ + pfrr8a Frutiger-Roman A 073 ftr_____ + pfru8a Frutiger-UltraBlack A 073 ftubl___ + pceb8a Centennial-Bold A 074 cib_____ + pcebi8a Centennial-BoldItalic A 074 cibi____ + pcec8a Centennial-Black A 074 cibl____ + pceci8a Centennial-BlackItalic A 074 cibli___ + pceri8a Centennial-Italic A 074 cii_____ + pcel8a Centennial-Light A 074 cil_____ + pceli8a Centennial-LightItalic A 074 cili____ + pcer8a Centennial-Roman A 074 cir_____ + pegb8a StempelGaramond-Bold A 075 gsb_____ + pegbi8a StempelGaramond-BoldItalic A 075 gsbi____ + pegri8a StempelGaramond-Italic A 075 gsi_____ + pegr8a StempelGaramond-Roman A 075 gsr_____ + pwsr8a Weiss A 076 we______ + pwsb8a Weiss-Bold A 076 web_____ + pwsx8a Weiss-ExtraBold A 076 weeb____ + pwsri8a Weiss-Italic A 076 wei_____ + pg3r8a GaramondThree A 077 gm______ + pg3b8a GaramondThree-Bold A 077 gmb_____ + pg3bi8a GaramondThree-BoldItalic A 077 gmbi____ + pg3ri8a GaramondThree-Italic A 077 gmi_____ + pulrk Universal-GreekwithMathPi A 078 unvmg___ + pulrncp Universal-NewswithCommPi A 078 unvnc___ + pavh8a Avenir-Heavy A 079 aeh_____ + pavho8a Avenir-HeavyOblique A 079 aeho____ + pavl8a Avenir-Light A 079 ael_____ + pavlo8a Avenir-LightOblique A 079 aelo____ + pavr8a Avenir-Roman A 079 aer_____ + pavro8a Avenir-Oblique A 079 aero____ + pavc8a Avenir-Black A 080 aebl____ + pavco8a Avenir-BlackOblique A 080 aeblo___ + pavm8a Avenir-Medium A 080 aem_____ + pavmo8a Avenir-MediumOblique A 080 aemo____ + pavk8a Avenir-Book A 080 aew_____ + pavko8a Avenir-BookOblique A 080 aewo____ + pwbb8a WalbaumBook-Bold A 081 wbb_____ + pwbbi8a WalbaumBook-BoldItalic A 081 wbbi____ + pwbri8a WalbaumBook-Italic A 081 wbi_____ + pwbm8a WalbaumBook-Medium A 081 wbm_____ + pwbmi8a WalbaumBook-MediumItalic A 081 wbmi____ + pwbr8a WalbaumBook-Regular A 081 wbrg____ + paob8a AntiqueOlive-Bold A 082 aqb_____ + paoc8a AntiqueOlive-Black A 082 aqbl____ + paori8a AntiqueOlive-Italic A 082 aqi_____ + paol8a AntiqueOlive-Light A 082 aql_____ + paor8a AntiqueOlive-Roman A 082 aqr_____ + plfb8a Life-Bold A 083 lib_____ + plfri8a Life-Italic A 083 lii_____ + plfr8a Life-Roman A 083 lir_____ + pocri8a ConcordeBE-Italic A 084 qqi_____ + pocm8a ConcordeBE-Medium A 084 qqm_____ + pocmi8a ConcordeBE-MediumItalic A 084 qqmi____ + pocr8a ConcordeBE-Regular A 084 qqrg____ + pg1r8a Gothic-Thirteen A 085 gtt_____ + ptph8ac Tempo-HeavyCondensed A 085 tehc____ + ptphi8ac Tempo-HeavyCondensedItalic A 085 tehci___ + pcor8a Cochin A 086 cc______ + pcob8a Cochin-Bold A 086 ccb_____ + pcobi8a Cochin-BoldItalic A 086 ccbi____ + pcori8a Cochin-Italic A 086 cci_____ + pbhb8a Bauhaus-Bold A 087 bhb_____ + pbhd8a Bauhaus-Demi A 087 bhd_____ + pbhh8a Bauhaus-Heavy A 087 bhh_____ + pbhl8a Bauhaus-Light A 087 bhl_____ + pbhm8a Bauhaus-Medium A 087 bhm_____ + psbb8a Sabon-Bold A 088 sab_____ + psbbi8a Sabon-BoldItalic A 088 sabi____ + psbri8a Sabon-Italic A 088 sai_____ + psbr8a Sabon-Roman A 088 sar_____ + phgb8a Hiroshige-Bold A 089 hrb_____ + phgbi8a Hiroshige-BoldItalic A 089 hrbi____ + phgc8a Hiroshige-Black A 089 hrbl____ + phgci8a Hiroshige-BlackItalic A 089 hrbli___ + phgm8a Hiroshige-Medium A 089 hrm_____ + phgmi8a Hiroshige-MediumItalic A 089 hrmi____ + phgk8a Hiroshige-Book A 089 hrw_____ + phgki8a Hiroshige-BookItalic A 089 hrwi____ + pabr8a ArnoldBoecklin A 090 ab______ + pftrf8a FetteFraktur A 090 ff______ + pftrf7c FetteFraktur-Dfr A 090 ffdfr___ + phir8a HelveticaInserat-Roman A 090 hir_____ + pptr8a Present A 090 pr______ + pdcr8a DomCasual A 091 dc______ + pdcb8a DomCasual-Bold A 091 dcb_____ + ppqm8a PostAntiquaBE-Medium A 092 pbm_____ + ppqr8a PostAntiquaBE-Regular A 092 pbrg____ + pfob8a Folio-Bold A 093 fob_____ + pfob8ac Folio-BoldCondensed A 093 fobc____ + pfox8a Folio-ExtraBold A 093 foeb____ + pfol8a Folio-Light A 093 fol_____ + pfom8a Folio-Medium A 093 fom_____ + plnrw8a Linoscript A 094 lp______ + plnrf8a Linotext A 094 lx______ + plnrf7c Linotext-Dfr A 094 lxdfr___ + pvrb8a VAGRounded-Bold A 095 vrb_____ + pvrc8a VAGRounded-Black A 095 vrbl____ + pvrl8a VAGRounded-Light A 095 vrl_____ + pvra8a VAGRounded-Thin A 095 vrt_____ + pazb8a AkzidenzGroteskBE-Bold A 096 gfb_____ + pazbi8a AkzidenzGroteskBE-BoldIt A 096 gfbi____ + pazri8a AkzidenzGroteskBE-It A 096 gfi_____ + pazl8a AkzidenzGroteskBE-Light A 096 gfl_____ + pazlj8a AkzidenzGroteskBE-LightOsF A 096 gflos___ + pazm8a AkzidenzGroteskBE-Md A 096 gfm_____ + pazmi8a AkzidenzGroteskBE-MdIt A 096 gfmi____ + pazr8a AkzidenzGroteskBE-Regular A 096 gfrg____ + pazu8a AkzidenzGroteskBE-Super A 096 gfsu____ + pipb8a Impressum-Bold A 097 imb_____ + pipri8a Impressum-Italic A 097 imi_____ + pipr8a Impressum-Roman A 097 imr_____ + pubb8a BauerBodoni-Bold A 098 bbb_____ + pubbi8a BauerBodoni-BoldItalic A 098 bbbi____ + pubri8a BauerBodoni-Italic A 098 bbi_____ + pubr8a BauerBodoni-Roman A 098 bbr_____ + pnar8a NewAster A 099 na______ + pnab8a NewAster-Bold A 099 nab_____ + pnabi8a NewAster-BoldItalic A 099 nabi____ + pnac8a NewAster-Black A 099 nabl____ + pnaci8a NewAster-BlackItalic A 099 nabli___ + pnari8a NewAster-Italic A 099 nai_____ + pnas8a NewAster-SemiBold A 099 nas_____ + pnasi8a NewAster-SemiBoldItalic A 099 nasi____ + padb8a AGaramond-Bold A 100 gdb_____ + padbi8a AGaramond-BoldItalic A 100 gdbi____ + padri8a AGaramond-Italic A 100 gdi_____ + padr8a AGaramond-Regular A 100 gdrg____ + pads8a AGaramond-Semibold A 100 gdsb____ + padsi8a AGaramond-SemiboldItalic A 100 gdsbi___ + padbij8a AGaramond-BoldItalicOsF A 101 gdbio___ + padbj8a AGaramond-BoldOsF A 101 gdbos___ + padrij8a AGaramond-ItalicOsF A 101 gdio____ + padsc8a AGaramond-SemiboldSC A 101 gdsbs___ + padrc8a AGaramond-RegularSC A 101 gdsc____ + padsij8a AGaramond-SemiboldItalicOsF A 101 gdsis___ + padrd8a AGaramond-Titling A 101 gdttl___ + padb8x AGaramondExp-Bold A 101 geb_____ + padbi8x AGaramondExp-BoldItalic A 101 gebi____ + padri8x AGaramondExp-Italic A 101 gei_____ + padr8x AGaramondExp-Regular A 101 gerg____ + pads8x AGaramondExp-Semibold A 101 gesb____ + padsi8x AGaramondExp-SemiboldItalic A 101 gesbi___ + padri7a AGaramondAlt-Italic A 101 ggi_____ + padr7a AGaramondAlt-Regular A 101 ggrg____ + pcib8a Candida-Bold A 102 cgb_____ + pciri8a Candida-Italic A 102 cgi_____ + pcir8a Candida-Roman A 102 cgr_____ + pfgr8ac FranklinGothic-Condensed A 103 fgc_____ + pfgr8aq FranklinGothic-ExtraCond A 103 fgec____ + pfgr8a FranklinGothic-Roman A 103 fgr_____ + putb8a Utopia-Bold A 104 utb_____ + putbi8a Utopia-BoldItalic A 104 utbi____ + putc8a Utopia-Black A 104 utbl____ + putri8a Utopia-Italic A 104 uti_____ + putr8a Utopia-Regular A 104 utrg____ + puts8a Utopia-Semibold A 104 utsb____ + putsi8a Utopia-SemiboldItalic A 104 utsbi___ + putb8x UtopiaExp-Bold A 105 ueb_____ + putbi8x UtopiaExp-BoldItalic A 105 uebi____ + putc8x UtopiaExp-Black A 105 uebl____ + putri8x UtopiaExp-Italic A 105 uei_____ + putr8x UtopiaExp-Regular A 105 uerg____ + puts8x UtopiaExp-Semibold A 105 uesb____ + putsi8x UtopiaExp-SemiboldItalic A 105 uesbi___ + putbij8a Utopia-BoldItalicOsF A 105 utbio___ + putbj8a Utopia-BoldOsF A 105 utbos___ + putrij8a Utopia-ItalicOsF A 105 utio____ + putrp Utopia-Ornaments A 105 utor____ + putrc8a Utopia-RegularSC A 105 utrsc___ + putsc8a Utopia-SemiboldSC A 105 utsbs___ + putsij8a Utopia-SemiboldItalicOsF A 105 utsis___ + putrd8a Utopia-Titling A 105 utttl___ + putcj8a Utopia-BlackOsF A 105 utzof___ + pbyb8a Berkeley-Bold A 106 byb_____ + pbybi8a Berkeley-BoldItalic A 106 bybi____ + pbyc8a Berkeley-Black A 106 bybl____ + pbyci8a Berkeley-BlackItalic A 106 bybli___ + pbymi8a Berkeley-Italic A 106 byi_____ + pbym8a Berkeley-Medium A 106 bym_____ + pbyk8a Berkeley-Book A 106 byw_____ + pbyki8a Berkeley-BookItalic A 106 bywi____ + paob8ac AntiqueOlive-BoldCond A 107 aqbc____ + paor8ap AntiqueOlive-Compact A 107 aqct____ + paohix8a AntiqueOlive-Nord A 107 aqnr____ + paohrx8a AntiqueOlive-NordItalic A 107 aqnri___ + ppsr8a Parisian A 108 pn______ + pumr8a Umbra A 108 um______ + pmsrw8a Mistral A 109 ms______ + prprw8a Reporter-Two A 109 rp______ + pccrw8a CascadeScript A 110 ck______ + pmirw8a MediciScript A 110 mc______ + pnurw8a NuptialScript A 110 nu______ + pubb8ac BauerBodoni-BoldCond A 111 bbbc____ + pubc8a BauerBodoni-Black A 111 bbbl____ + pubc8ac BauerBodoni-BlackCond A 111 bbblc___ + pubci8a BauerBodoni-BlackItalic A 111 bbbli___ + pmdb8a Meridien-Bold A 112 m0b_____ + pmdbi8a Meridien-BoldItalic A 112 m0bi____ + pmdri8a Meridien-Italic A 112 m0i_____ + pmdm8a Meridien-Medium A 112 m0m_____ + pmdmi8a Meridien-MediumItalic A 112 m0mi____ + pmdr8a Meridien-Roman A 112 m0r_____ + zpcp29ab Copperplate-TwentyNineAB A 113 cp29a___ + zpcp29bc Copperplate-TwentyNineBC A 113 cp29c___ + zpcp30ab Copperplate-ThirtyAB A 113 cp30a___ + zpcp30bc Copperplate-ThirtyBC A 113 cp30c___ + zpcp31ab Copperplate-ThirtyOneAB A 113 cp31a___ + zpcp31bc Copperplate-ThirtyOneBC A 113 cp31c___ + zpcp32ab Copperplate-ThirtyTwoAB A 113 cp32a___ + zpcp32bc Copperplate-ThirtyTwoBC A 113 cp32c___ + zpcp33bc Copperplate-ThirtyThreeBC A 113 cp33c___ + pnvb8a Novarese-Bold A 114 nob_____ + pnvbi8a Novarese-BoldItalic A 114 nobi____ + pnvm8a Novarese-Medium A 114 nom_____ + pnvmi8a Novarese-MediumItalic A 114 nomi____ + pnvu8a Novarese-Ultra A 114 nou_____ + pnvk8a Novarese-Book A 114 now_____ + pnvki8a Novarese-BookItalic A 114 nowi____ + pksbw8a KuenstlerScript-TwoBold A 115 kt2b____ + pkscw8a KuenstlerScript-Black A 115 ktbl____ + pksmw8a KuenstlerScript-Medium A 115 ktm_____ + parr8a Arcadia A 116 a_______ + parra8a Arcadia-A A 116 a_aaa___ + pinrh8a Industria-Inline A 116 inin____ + pinrha8a Industria-InlineA A 116 inina___ + piar8a Insignia A 116 ins_____ + piara8a Insignia-A A 116 insa____ + pinr8a Industria-Solid A 116 insd____ + pinra8a Industria-SolidA A 116 insda___ + psvb8a Souvenir-Bold A 117 sub_____ + psvbi8a Souvenir-BoldItalic A 117 subi____ + psvm8a Souvenir-Medium A 117 sum_____ + psvmi8a Souvenir-MediumItalic A 117 sumi____ + pbdb8ac Bodoni-BoldCondensed A 118 bdbc____ + pbdp8ap Bodoni-PosterCompressed A 118 bdpsc___ + pbdpi8a Bodoni-PosterItalic A 118 bdpsi___ + pbdk8a Bodoni-Book A 118 bdw_____ + pbdki8a Bodoni-BookItalic A 118 bdwi____ + prqr8a RussellSquare A 119 ru______ + prqro8a RussellSquare-Oblique A 119 ruo_____ + pcgb8a Charlemagne-Bold A 120 czb_____ + pcgr8a Charlemagne-Regular A 120 czrg____ + ptjb8a Trajan-Bold A 120 tjb_____ + ptjr8a Trajan-Regular A 120 tjrg____ + plob8a Lithos-Bold A 121 lob_____ + ploc8a Lithos-Black A 121 lobl____ + ploi8a Lithos-ExtraLight A 121 loel____ + plol8a Lithos-Light A 121 lol_____ + plor8a Lithos-Regular A 121 lorg____ + pcwr8a Cottonwood A 122 c_______ + piwr8a Ironwood A 122 i_______ + pjpr8a Juniper A 122 j_______ + pmqr8a Mesquite A 122 m_______ + ppor8a Ponderosa A 122 p_______ + ppi026 WoodtypeOrnaments-One A 122 woor____ + ptkb8a Tekton-Bold A 123 tkb_____ + ptkbo8a Tekton-BoldOblique A 123 tkbo____ + ptkro8a Tekton-Oblique A 123 tko_____ + ptkr8a Tekton A 123 tkrg____ + pagb8ac AvantGarde-CondBold A 124 agcb____ + pagd8ac AvantGarde-CondDemi A 124 agcd____ + pagm8ac AvantGarde-CondMedium A 124 agcm____ + pagk8ac AvantGarde-CondBook A 124 agcw____ + pssb8a StempelSchneidler-Bold A 125 skb_____ + pssbi8a StempelSchneidler-BoldItalic A 125 skbi____ + pssc8a StempelSchneidler-Black A 125 skbl____ + pssci8a StempelSchneidler-BlackItalic A 125 skbli___ + pssri8a StempelSchneidler-Italic A 125 ski_____ + pssl8a StempelSchneidler-Light A 125 skl_____ + pssli8a StempelSchneidler-LightItalic A 125 skli____ + pssm8a StempelSchneidler-Medium A 125 skm_____ + pssmi8a StempelSchneidler-MedItalic A 125 skmi____ + pssr8a StempelSchneidler-Roman A 125 skr_____ + ptgr8a TradeGothic A 126 tg______ + ptgb8a TradeGothic-Bold A 126 tgb_____ + ptgbo8a TradeGothic-BoldOblique A 126 tgbo____ + ptgc8a TradeGothic-BoldTwo A 126 tgb2____ + ptgco8a TradeGothic-BoldTwoOblique A 126 tgb2o___ + ptgl8a TradeGothic-Light A 126 tgl_____ + ptglo8a TradeGothic-LightOblique A 126 tglo____ + ptgro8a TradeGothic-Oblique A 126 tgo_____ + ptgb8ac TradeGothic-BoldCondTwenty A 127 tgbc____ + ptgbo8ac TradeGothic-BoldCondTwentyObl A 127 tgbco___ + ptgr8ac TradeGothic-CondEighteen A 127 tgc_____ + ptgro8ac TradeGothic-CondEighteenObl A 127 tgco____ + prar8a Raleigh A 128 ra______ + prab8a Raleigh-Bold A 128 rab_____ + prad8a Raleigh-DemiBold A 128 rad_____ + pram8a Raleigh-Medium A 128 ram_____ + pmtb8a Minister-Bold A 129 mzb_____ + pmtbi8a Minister-BoldItalic A 129 mzbi____ + pmtc8a Minister-Black A 129 mzbl____ + pmtci8a Minister-BlackItalic A 129 mzbli___ + pmtl8a Minister-Light A 129 mzl_____ + pmtli8a Minister-LightItalic A 129 mzli____ + pmtk8a Minister-Book A 129 mzw_____ + pmtki8a Minister-BookItalic A 129 mzwi____ + pesb8ac Eurostile-BoldCondensed A 130 eubc____ + pesb8ax Eurostile-BoldExtendedTwo A 130 eubex___ + pesr8ac Eurostile-Condensed A 130 euc_____ + pesr8ax Eurostile-ExtendedTwo A 130 euex____ + pwdb8a Weidemann-Bold A 131 wdb_____ + pwdbi8a Weidemann-BoldItalic A 131 wdbi____ + pwdc8a Weidemann-Black A 131 wdbl____ + pwdci8a Weidemann-BlackItalic A 131 wdbli___ + pwdm8a Weidemann-Medium A 131 wdm_____ + pwdmi8a Weidemann-MediumItalic A 131 wdmi____ + pwdk8a Weidemann-Book A 131 wdw_____ + pwdki8a Weidemann-BookItalic A 131 wdwi____ + pqrb8a Quorum-Bold A 132 qob_____ + pqrc8a Quorum-Black A 132 qobl____ + pqrl8a Quorum-Light A 132 qol_____ + pqrm8a Quorum-Medium A 132 qom_____ + pqrk8a Quorum-Book A 132 qow_____ + pcxb8a Caxton-Bold A 133 cxb_____ + pcxbi8a Caxton-BoldItalic A 133 cxbi____ + pcxl8a Caxton-Light A 133 cxl_____ + pcxli8a Caxton-LightItalic A 133 cxli____ + pcxk8a Caxton-Book A 133 cxw_____ + pcxki8a Caxton-BookItalic A 133 cxwi____ + psxb8a Syntax-Bold A 134 sxb_____ + psxc8a Syntax-Black A 134 sxbl____ + psxri8a Syntax-Italic A 134 sxi_____ + psxr8a Syntax-Roman A 134 sxr_____ + psxu8a Syntax-UltraBlack A 134 sxubl___ + pdrb8a Doric-Bold A 135 drb_____ + pmxr8a Maximus A 135 mx______ + pserd8a Shelley-AllegroScript A 136 shal____ + pser8a Shelley-AndanteScript A 136 shan____ + pserw8a Shelley-VolanteScript A 136 shvo____ + pnzk8a NeuzeitS-Book A 137 new_____ + pnzh8a NeuzeitS-BookHeavy A 137 newh____ + pvlb8a Versailles-Bold A 138 veb_____ + pvlbi8a Versailles-BoldItalic A 138 vebi____ + pvlc8a Versailles-Black A 138 vebl____ + pvlci8a Versailles-BlackItalic A 138 vebli___ + pvlri8a Versailles-Italic A 138 vei_____ + pvll8a Versailles-Light A 138 vel_____ + pvlli8a Versailles-LightItalic A 138 veli____ + pvlr8a Versailles-Roman A 138 ver_____ + pgmb8ac Garamond-BoldCondensed A 139 gabc____ + pgmbi8ac Garamond-BoldCondensedItalic A 139 gabci___ + pgml8ac Garamond-LightCondensed A 139 galc____ + pgmlu8ac Garamond-LightCondensedItalic A 139 galci___ + pgmu8ac Garamond-UltraCondensed A 139 gauc____ + pgmui8ac Garamond-UltraCondensedItalic A 139 gauci___ + pgmk8ac Garamond-BookCondensed A 139 gawc____ + pgmki8ac Garamond-BookCondensedItalic A 139 gawci___ + pctl8a Cheltenham-Light A 140 chl_____ + pctli8a Cheltenham-LightItalic A 140 chli____ + pctu8a Cheltenham-Ultra A 140 chu_____ + pctui8a Cheltenham-UltraItalic A 140 chui____ + pcnb8a Century-Bold A 141 icb_____ + pcnbi8a Century-BoldItalic A 141 icbi____ + pcnl8a Century-Light A 141 icl_____ + pcnli8a Century-LightItalic A 141 icli____ + pcnu8a Century-Ultra A 141 icu_____ + pcnui8a Century-UltraItalic A 141 icui____ + pcnk8a Century-Book A 141 icw_____ + pcnki8a Century-BookItalic A 141 icwi____ + pcnb8ac Century-BoldCondensed A 142 icbc____ + pcnbi8ac Century-BoldCondensedItalic A 142 icbci___ + pcnl8ac Century-LightCondensed A 142 iclc____ + pcnli8ac Century-LightCondensedItalic A 142 iclci___ + pcnu8ac Century-UltraCondensed A 142 icuc____ + pcnui8ac Century-UltraCondensedItalic A 142 icuci___ + pcnk8ac Century-BookCondensed A 142 icwc____ + pcnki8ac Century-BookCondensedItalic A 142 icwci___ + pmnb8a Minion-Bold A 143 mob_____ + pmnbi8a Minion-BoldItalic A 143 mobi____ + pmnc8a Minion-Black A 143 mobl____ + pmnrd8a Minion-DisplayRegular A 143 mods____ + pmnrid8a Minion-DisplayItalic A 143 modsi___ + pmnri8a Minion-Italic A 143 moi_____ + pmnr8a Minion-Regular A 143 morg____ + pmns8a Minion-Semibold A 143 mosb____ + pmnsi8a Minion-SemiboldItalic A 143 mosbi___ + pmnb8x MinionExp-Bold A 144 mjb_____ + pmnbi8x MinionExp-BoldItalic A 144 mjbi____ + pmnc8x MinionExp-Black A 144 mjbl____ + pmnrd8x MinionExp-DisplayRegular A 144 mjds____ + pmnrid8x MinionExp-DisplayItalic A 144 mjdsi___ + pmnri8x MinionExp-Italic A 144 mji_____ + pmnr8x MinionExp-Regular A 144 mjrg____ + pmns8x MinionExp-Semibold A 144 mjsb____ + pmnsi8x MinionExp-SemiboldItalic A 144 mjsbi___ + pmnbij8a Minion-BoldItalicOsF A 144 mobio___ + pmnbj8a Minion-BoldOsF A 144 mobos___ + pmnricd8a Minion-DisplayItalicSC A 144 modis___ + pmnrcd8a Minion-DisplayRegularSC A 144 modsc___ + pmnric8a Minion-ItalicSC A 144 moisc___ + pmnrp Minion-Ornaments A 144 moor____ + pmnsc8a Minion-SemiboldSC A 144 mosbs___ + pmnrc8a Minion-RegularSC A 144 mosc____ + pmnriwd7a Minion-SwashDisplayItalic A 144 mosdi___ + pmnsic8a Minion-SemiboldItalicSC A 144 mosic___ + pmnsiw7a Minion-SwashSemiboldItalic A 144 mossb___ + pmnriw7a Minion-SwashItalic A 144 moswi___ + pmncj8a Minion-BlackOsF A 144 mozof___ + mnsb8a TimesNewRomanPS-Bold A 145 mtb_____ + mnsbi8a TimesNewRomanPS-BoldItalic A 145 mtbi____ + mnsri8a TimesNewRomanPS-Italic A 145 mti_____ + pnsr8a TimesNewRomanPS A 145 mtr_____ + pbkb8a Bookman-Bold A 146 bkb_____ + pbkbi8a Bookman-BoldItalic A 146 bkbi____ + pbkm8a Bookman-Medium A 146 bkm_____ + pbkmi8a Bookman-MediumItalic A 146 bkmi____ + psrrw8a SnellRoundhand-Script A 147 sn______ + psrbw8a SnellRoundhand-BoldScript A 147 snb_____ + psrcw8a SnellRoundhand-BlackScript A 147 snbl____ + pigb8a SimonciniGaramond-Bold A 148 gib_____ + pigri8a SimonciniGaramond-Italic A 148 gii_____ + pigr8a SimonciniGaramond A 148 gir_____ + pbcr8a Banco A 149 bc______ + phmr8a Charme A 149 cu______ + pfyc8ac Flyer-BlackCondensed A 149 flblc___ + pfyx8ac Flyer-ExtraBlackCondensed A 149 flebc___ + pwgrf8a WilhelmKlingsporGotisch A 149 wk______ + pwgrf7c WilhelmKlingsporGotisch-Dfr A 149 wkdfr___ + pgmu8a Garamond-Ultra A 150 gau_____ + pgmui8a Garamond-UltraItalic A 150 gaui____ + pgmk8a Garamond-Book A 150 gaw_____ + pgmki8a Garamond-BookItalic A 150 gawi____ + prwr8a Rockwell A 151 rk______ + prwb8a Rockwell-Bold A 151 rkb_____ + prwbi8a Rockwell-BoldItalic A 151 rkbi____ + prwri8a Rockwell-Italic A 151 rki_____ + prwl8a Rockwell-Light A 151 rkl_____ + prwli8a Rockwell-LightItalic A 151 rkli____ + pgsr8a GillSans A 152 gn______ + pgsb8a GillSans-Bold A 152 gnb_____ + pgsbi8a GillSans-BoldItalic A 152 gnbi____ + pgsri8a GillSans-Italic A 152 gni_____ + pgsl8a GillSans-Light A 152 gnl_____ + pgsli8a GillSans-LightItalic A 152 gnli____ + pspb8a Serpentine-Bold A 153 sfb_____ + pspbo8a Serpentine-BoldOblique A 153 sfbo____ + pspl8a Serpentine-Light A 153 sfl_____ + psplo8a Serpentine-LightOblique A 153 sflo____ + pspm8a Serpentine-Medium A 153 sfm_____ + pspmo8a Serpentine-MediumOblique A 153 sfmo____ + plcrv LucidaMath-Extension A 154 lme_____ + plcrim LucidaMath-Italic A 154 lmi_____ + plcry LucidaMath-Symbol A 154 lms_____ + ppi005 EuropeanPi-One A 155 euro1___ + ppi006 EuropeanPi-Two A 155 euro2___ + ppi007 EuropeanPi-Three A 155 euro3___ + ppi008 EuropeanPi-Four A 155 euro4___ + ppi001 BorderPi-OneFiveOneFiveNine A 155 j1515___ + ppi002 BundesbahnPi-One A 156 db1_____ + ppi003 BundesbahnPi-Two A 156 db2_____ + ppi004 BundesbahnPi-Three A 156 db3_____ + pc2b8a CaslonTwoTwentyFour-Bold A 157 c2b_____ + pc2bi8a CaslonTwoTwentyFour-BoldIt A 157 c2bi____ + pc2c8a CaslonTwoTwentyFour-Black A 157 c2bl____ + pc2ci8a CaslonTwoTwentyFour-BlackIt A 157 c2bli___ + pc2m8a CaslonTwoTwentyFour-Medium A 157 c2m_____ + pc2mi8a CaslonTwoTwentyFour-MediumIt A 157 c2mi____ + pc2k8a CaslonTwoTwentyFour-Book A 157 c2w_____ + pc2ki8a CaslonTwoTwentyFour-BookIt A 157 c2wi____ + ppi020 MathematicalPi-One A 158 mh1_____ + ppi021 MathematicalPi-Two A 158 mh2_____ + ppi022 MathematicalPi-Three A 158 mh3_____ + ppi023 MathematicalPi-Four A 158 mh4_____ + ppi024 MathematicalPi-Five A 158 mh5_____ + ppi025 MathematicalPi-Six A 158 mh6_____ + plwb8a Leawood-Bold A 159 lwb_____ + plwbi8a Leawood-BoldItalic A 159 lwbi____ + plwc8a Leawood-Black A 159 lwbl____ + plwci8a Leawood-BlackItalic A 159 lwbli___ + plwm8a Leawood-Medium A 159 lwm_____ + plwmi8a Leawood-MediumItalic A 159 lwmi____ + plwk8a Leawood-Book A 159 lww_____ + plwki8a Leawood-BookItalic A 159 lwwi____ + pbir8a Birch A 160 bi______ + pb0r8a Blackoak A 160 bo______ + pmrr8a Madrone A 160 mq______ + pp0r8a Poplar A 160 pp______ + pwwr8a Willow A 160 wi______ + ppi027 WoodtypeOrnaments-Two A 160 woor2___ + pbbr8a Bembo A 161 bm______ + pbbb8a Bembo-Bold A 161 bmb_____ + pbbbi8a Bembo-BoldItalic A 161 bmbi____ + pbbri8a Bembo-Italic A 161 bmi_____ + pgsb8ac GillSans-BoldCondensed A 162 gnbc____ + pgsr8ac GillSans-Condensed A 162 gnc_____ + pgsx8a GillSans-ExtraBold A 162 gneb____ + pgsu8a GillSans-UltraBold A 162 gnub____ + pgsu8ac GillSans-UltraBoldCondensed A 162 gnubc___ + prwb8ac Rockwell-BoldCondensed A 163 rkbc____ + prwr8ac Rockwell-Condensed A 163 rkc_____ + prwx8a Rockwell-ExtraBold A 163 rkeb____ + pgpc8a Glypha-Black A 164 gybl____ + pgpco8a Glypha-BlackOblique A 164 gyblo___ + pgpl8a Glypha-Light A 164 gyl_____ + pgplo8a Glypha-LightOblique A 164 gylo____ + pgpa8a Glypha-Thin A 164 gyt_____ + pgpao8a Glypha-ThinOblique A 164 gyto____ + pzcb8a ZapfChancery-Bold A 165 zcb_____ + pzcd8a ZapfChancery-Demi A 165 zcd_____ + pzcri8a ZapfChancery-Italic A 165 zci_____ + pzcl8a ZapfChancery-Light A 165 zcl_____ + pzcli8a ZapfChancery-LightItalic A 165 zcli____ + pzcr8a ZapfChancery-Roman A 165 zcr_____ + puwb8a Usherwood-Bold A 166 usb_____ + puwbi8a Usherwood-BoldItalic A 166 usbi____ + puwc8a Usherwood-Black A 166 usbl____ + puwci8a Usherwood-BlackItalic A 166 usbli___ + puwm8a Usherwood-Medium A 166 usm_____ + puwmi8a Usherwood-MediumItalic A 166 usmi____ + puwk8a Usherwood-Book A 166 usw_____ + puwki8a Usherwood-BookItalic A 166 uswi____ + isyb8a ItcSymbol-Bold A 167 isb_____ + isybi8a ItcSymbol-BoldItalic A 167 isbi____ + isyc8a ItcSymbol-Black A 167 isbl____ + isyci8a ItcSymbol-BlackItalic A 167 isbli___ + isym8a ItcSymbol-Medium A 167 ism_____ + isymi8a ItcSymbol-MediumItalic A 167 ismi____ + isyk8a ItcSymbol-Book A 167 isw_____ + isyki8a ItcSymbol-BookItalic A 167 iswi____ + punb8ax Univers-BoldExt A 168 uvbv____ + punbo8ax Univers-BoldExtObl A 168 uvbvo___ + punx8ax Univers-ExtraBlackExt A 168 uvfv____ + punxo8ax Univers-ExtraBlackExtObl A 168 uvfvo___ + punr8ax Univers-Extended A 168 uvv_____ + punro8ax Univers-ExtendedObl A 168 uvvo____ + punc8ax Univers-BlackExt A 168 uvzv____ + punco8ax Univers-BlackExtObl A 168 uvzvo___ + poyr8a Olympian A 169 ol______ + poyb8a Olympian-Bold A 169 olb_____ + poybi8a Olympian-BoldItalic A 169 olbi____ + poyri8a Olympian-Italic A 169 oli_____ + puhb8a Cushing-Bold A 170 iub_____ + puhbi8a Cushing-BoldItalic A 170 iubi____ + puhh8a Cushing-Heavy A 170 iuh_____ + puhhi8a Cushing-HeavyItalic A 170 iuhi____ + puhm8a Cushing-Medium A 170 ium_____ + puhmi8a Cushing-MediumItalic A 170 iumi____ + puhk8a Cushing-Book A 170 iuw_____ + puhki8a Cushing-BookItalic A 170 iuwi____ + pcqr Cheq A 171 cq______ + ps7rp Sassoon-Primary A 172 sass____ + pfnb8a Fenice-Bold A 173 feb_____ + pfnbo8a Fenice-BoldOblique A 173 febo____ + pfnl8a Fenice-Light A 173 fel_____ + pfnlo8a Fenice-LightOblique A 173 felo____ + pfnr8a Fenice-Regular A 173 ferg____ + pfnro8a Fenice-RegularOblique A 173 fergo___ + pfnu8a Fenice-Ultra A 173 feu_____ + pfnuo8a Fenice-UltraOblique A 173 feuo____ + pctb8ac Cheltenham-BoldCond A 174 chbc____ + pctbi8ac Cheltenham-BoldCondItalic A 174 chbci___ + pctl8ac Cheltenham-LightCond A 174 chlc____ + pctli8ac Cheltenham-LightCondItalic A 174 chlci___ + pctu8ac Cheltenham-UltraCond A 174 chuc____ + pctui8ac Cheltenham-UltraCondItalic A 174 chuci___ + pctk8ac Cheltenham-BookCond A 174 chwc____ + pctki8ac Cheltenham-BookCondItalic A 174 chwci___ + phrb8a HelveticaRounded-Bold A 175 heb_____ + phrb8ac HelveticaRounded-BoldCond A 175 hebc____ + phrbo8ac HelveticaRounded-BoldCondObl A 175 hebco___ + phrc8a HelveticaRounded-Black A 175 hebl____ + phrco8a HelveticaRounded-BlackObl A 175 heblo___ + phrbo8a HelveticaRounded-BoldObl A 175 hebo____ + pehra8a DINEngschrift-Alternate A 176 dinea___ + pehr8a DINEngschrift A 176 dinen___ + pm6ra8a DINMittelschrift-Alternate A 176 dinma___ + pm6r8a DINMittelschrift A 176 dinmi___ + pzgb8ac DINNeuzeitGrotesk-BoldCond A 176 dngbc___ + pzgl8a DINNeuzeitGrotesk-Light A 176 dngl____ + psnh8a Spartan-HeavyClassified A 177 sqhcl___ + psnk8a Spartan-BookClassified A 177 sqwcl___ + pugb8a BenguiatGothic-Bold A 178 beb_____ + pugbo8a BenguiatGothic-BoldOblique A 178 bebo____ + pugh8a BenguiatGothic-Heavy A 178 beh_____ + pugho8a BenguiatGothic-HeavyOblique A 178 beho____ + pugm8a BenguiatGothic-Medium A 178 bem_____ + pugmo8a BenguiatGothic-MediumOblique A 178 bemo____ + pugk8a BenguiatGothic-Book A 178 bew_____ + pugko8a BenguiatGothic-BookOblique A 178 bewo____ + ptmx8a Times-ExtraBold A 179 tieb____ + ptms8a Times-Semibold A 179 tisb____ + ptmsi8a Times-SemiboldItalic A 179 tisbi___ + pacb8a ACaslon-Bold A 180 awb_____ + pacbi8a ACaslon-BoldItalic A 180 awbi____ + pacri8a ACaslon-Italic A 180 awi_____ + pacr8a ACaslon-Regular A 180 awrg____ + pacs8a ACaslon-Semibold A 180 awsb____ + pacsi8a ACaslon-SemiboldItalic A 180 awsbi___ + pacb7a ACaslon-AltBold A 181 awab____ + pacbi7a ACaslon-AltBoldItalic A 181 awabi___ + pacri7a ACaslon-AltItalic A 181 awai____ + pacr7a ACaslon-AltRegular A 181 awarg___ + pacs7a ACaslon-AltSemibold A 181 awasb___ + pacsi7a ACaslon-AltSemiboldItalic A 181 awasi___ + pacbij8a ACaslon-BoldItalicOsF A 181 awbio___ + pacbj8a ACaslon-BoldOsF A 181 awbos___ + pacrij8a ACaslon-ItalicOsF A 181 awio____ + pacrp ACaslon-Ornaments A 181 awor____ + pacsc8a ACaslon-SemiboldSC A 181 awsbs___ + pacrc8a ACaslon-RegularSC A 181 awsc____ + pacsic8a ACaslon-SemiboldItalicOsF A 181 awsis___ + pacsiw7a ACaslon-SwashSemiboldItalic A 181 awssb___ + pacbiw7a ACaslon-SwashBoldItalic A 181 awswb___ + pacriw7a ACaslon-SwashItalic A 181 awswi___ + pacb8x ACaslonExp-Bold A 181 axb_____ + pacbi8x ACaslonExp-BoldItalic A 181 axbi____ + pacri8x ACaslonExp-Italic A 181 axi_____ + pacr8x ACaslonExp-Regular A 181 axrg____ + pacs8x ACaslonExp-Semibold A 181 axsb____ + pacsi8x ACaslonExp-SemiboldItalic A 181 axsbi___ + phnj8ax HelveticaNeue-UltraLigExt A 182 hlav____ + phnjo8ax HelveticaNeue-UltraLigExtObl A 182 hlavo___ + phnc8ax HelveticaNeue-BlackExt A 182 hlzv____ + phnco8ax HelveticaNeue-BlackExtObl A 182 hlzvo___ + phnb8ax HelveticaNeue-BoldExt A 183 hlbv____ + phnbo8ax HelveticaNeue-BoldExtObl A 183 hlbvo___ + phna8ax HelveticaNeue-ThinExt A 183 hltv____ + phnao8ax HelveticaNeue-ThinExtObl A 183 hltvo___ + phnr8ax HelveticaNeue-Extended A 183 hlv_____ + phnro8ax HelveticaNeue-ExtendedObl A 183 hlvo____ + phnh8ax HelveticaNeue-HeavyExt A 184 hlhv____ + phnho8ax HelveticaNeue-HeavyExtObl A 184 hlhvo___ + phnl8ax HelveticaNeue-LightExt A 184 hllv____ + phnlo8ax HelveticaNeue-LightExtObl A 184 hllvo___ + phnm8ax HelveticaNeue-MediumExt A 184 hlmv____ + phnmo8ax HelveticaNeue-MediumExtObl A 184 hlmvo___ + pshb8a Shannon-Bold A 185 sbb_____ + pshx8a Shannon-ExtraBold A 185 sbeb____ + pshro8a Shannon-Oblique A 185 sbo_____ + pshk8a Shannon-Book A 185 sbw_____ + pbbx8a Bembo-ExtraBold A 186 bmeb____ + pbbxi8a Bembo-ExtraBoldItalic A 186 bmebi___ + pbbs8a Bembo-Semibold A 186 bmsb____ + pbbsi8a Bembo-SemiboldItalic A 186 bmsbi___ + pggr8a GarthGraphic A 187 gh______ + pggb8a GarthGraphic-Bold A 187 ghb_____ + pggb8ac GarthGraphic-BoldCondensed A 187 ghbc____ + pggbi8a GarthGraphic-BoldItalic A 187 ghbi____ + pggr8ac GarthGraphic-Condensed A 187 ghc_____ + pggx8a GarthGraphic-ExtraBold A 187 gheb____ + pggri8a GarthGraphic-Italic A 187 ghi_____ + pggc8a GarthGraphic-Black A 187 ghz_____ + phnj8ac HelveticaNeue-UltraLigCond A 188 hla_____ + phnjo8ac HelveticaNeue-UltraLigCondObl A 188 hlao____ + phnx8ac HelveticaNeue-ExtBlackCond A 188 hlj_____ + phnxo8ac HelveticaNeue-ExtBlackCondObl A 188 hljo____ + phnc8ac HelveticaNeue-BlackCond A 188 hlzc____ + phnco8ac HelveticaNeue-BlackCondObl A 188 hlzco___ + phnb8ac HelveticaNeue-BoldCond A 189 hlbc____ + phnbo8ac HelveticaNeue-BoldCondObl A 189 hlbco___ + phnr8ac HelveticaNeue-Condensed A 189 hlc_____ + phnro8ac HelveticaNeue-CondensedObl A 189 hlco____ + phna8ac HelveticaNeue-ThinCond A 189 hltc____ + phnao8ac HelveticaNeue-ThinCondObl A 189 hltco___ + phnh8ac HelveticaNeue-HeavyCond A 190 hlhc____ + phnho8ac HelveticaNeue-HeavyCondObl A 190 hlhco___ + phnl8ac HelveticaNeue-LightCond A 190 hllc____ + phnlo8ac HelveticaNeue-LightCondObl A 190 hllco___ + phnm8ac HelveticaNeue-MediumCond A 190 hlmc____ + phnmo8ac HelveticaNeue-MediumCondObl A 190 hlmco___ + punx8a Univers-ExtraBlack A 191 uvf_____ + punxo8a Univers-ExtraBlackObl A 191 uvfo____ + punl8ao Univers-LightUltraCondensed A 191 uvluc___ + puna8ao Univers-ThinUltraCondensed A 191 uvtuc___ + punr8ao Univers-UltraCondensed A 191 uvuc____ + pglc8a Galliard-Black A 192 glbl____ + pglci8a Galliard-BlackItalic A 192 glbli___ + pglu8a Galliard-Ultra A 192 glu_____ + pglui8a Galliard-UltraItalic A 192 glui____ + pg3bij8a GaramondThree-BoldItalicOsF A 193 gmbio___ + pg3bj8a GaramondThree-BoldSC A 193 gmbsc___ + pg3rij8a GaramondThree-ItalicOsF A 193 gmio____ + pg3rc8a GaramondThree-SC A 193 gmsc____ + ptmbij8a Times-BoldItalicOsF A 194 tibio___ + ptmbc8a Times-BoldSC A 194 tibsc___ + ptmrij8a Times-ItalicOsF A 194 tiio____ + ptmrc8a Times-RomanSC A 194 tirsc___ + pddrf8a DucDeBerry A 195 du______ + pddrf7c DucDeBerry-Dfr A 195 dudfr___ + phcr8a Herculanum A 195 herc____ + pomr8a Omnia A 195 omni____ + pttbij8a TimesTen-BoldItalicOsF A 196 ttbio___ + pttbj8a TimesTen-BoldOsF A 196 ttbof___ + pttrij8a TimesTen-ItalicOsF A 196 ttiof___ + pttrc8a TimesTen-RomanSC A 196 ttrsc___ + psbbij8a Sabon-BoldItalicOsF A 197 sabio___ + psbbj8a Sabon-BoldOsF A 197 sabof___ + psbrij8a Sabon-ItalicOsF A 197 saiof___ + psbrc8a Sabon-RomanSC A 197 sarsc___ + pwbbij8a WalbaumBook-BoldItalicOsF A 198 wbbio___ + pwbbi8x WalbaumBook-BoldItalicExpert A 198 wbbix___ + pwbbj8a WalbaumBook-BoldOsF A 198 wbbos___ + pwbb8x WalbaumBook-BoldExpert A 198 wbbxp___ + pwbrij8a WalbaumBook-ItalicOsF A 198 wbios___ + pwbri8x WalbaumBook-ItalicExpert A 198 wbixp___ + pwbmij8a WalbaumBook-MdItalicOsF A 198 wbmio___ + pwbmi8x WalbaumBook-MdItalicExpert A 198 wbmix___ + pwbmc8a WalbaumBook-MediumSC A 198 wbmsc___ + pwbm8x WalbaumBook-MdExpert A 198 wbmxp___ + pwbr8x WalbaumBook-RegularExpert A 198 wbrgx___ + pwbrc8a WalbaumBook-RegularSC A 198 wbsc____ + pubbij8a BauerBodoni-BoldItalicOsF A 199 bbbio___ + pubbj8a BauerBodoni-BoldOsF A 199 bbbof___ + pubrij8a BauerBodoni-ItalicOsF A 199 bbiof___ + pubrc8a BauerBodoni-RomanSC A 199 bbrsc___ + pmhr8a Machine A 200 ma______ + pmhb8a Machine-Bold A 200 mab_____ + pr1r8a RotisSemiSerif A 201 rf______ + pr1b8a RotisSemiSerif-Bold A 201 rfb_____ + pror8a RotisSerif A 201 rg______ + prob8a RotisSerif-Bold A 201 rgb_____ + prori8a RotisSerif-Italic A 201 rgi_____ + pr3r8a RotisSemiSans A 202 rc______ + pr3b8a RotisSemiSans-Bold A 202 rcb_____ + pr3x8a RotisSemiSans-ExtraBold A 202 rceb____ + pr3ri8a RotisSemiSans-Italic A 202 rci_____ + pr3l8a RotisSemiSans-Light A 202 rcl_____ + pr3li8a RotisSemiSans-LightItalic A 202 rcli____ + pr4r8a RotisSansSerif A 203 rb______ + pr4b8a RotisSansSerif-Bold A 203 rbb_____ + pr4x8a RotisSansSerif-ExtraBold A 203 rbeb____ + pr4ri8a RotisSansSerif-Italic A 203 rbi_____ + pr4l8a RotisSansSerif-Light A 203 rbl_____ + pr4li8a RotisSansSerif-LightItalic A 203 rbli____ + pjnbij8a JansonText-BoldItalicOsF A 204 jtbio___ + pjnbj8a JansonText-BoldOsF A 204 jtbof___ + pjnrij8a JansonText-ItalicOsF A 204 jtiof___ + pjnrc8a JansonText-RomanSC A 204 jtrsc___ + pgjr8a Granjon A 205 gr______ + pgjb8a Granjon-Bold A 205 grb_____ + pgjri8a Granjon-Italic A 205 gri_____ + pcebij8a Centennial-BoldItalicOsF A 206 cibio___ + pcebj8a Centennial-BoldOsF A 206 cibof___ + pcerij8a Centennial-ItalicOsF A 206 ciiof___ + pcelij8a Centennial-LightItalicOsF A 206 cilio___ + pcelc8a Centennial-LightSC A 206 cilsc___ + pcerc8a Centennial-RomanSC A 206 cirsc___ + pcecij8a Centennial-BlackItalicOsF A 206 cizio___ + pcecj8a Centennial-BlackOsF A 206 cizof___ + ppnr8a Plantin A 207 pl______ + ppnb8a Plantin-Bold A 207 plb_____ + ppnbi8a Plantin-BoldItalic A 207 plbi____ + ppnri8a Plantin-Italic A 207 pli_____ + pteb8a TimesEuropa-Bold A 208 tub_____ + ptebi8a TimesEuropa-BoldItalic A 208 tubi____ + pteri8a TimesEuropa-Italic A 208 tui_____ + pter8a TimesEuropa-Roman A 208 tur_____ + pgjbj8a Granjon-BoldOsF A 209 grbos___ + pgjrij8a Granjon-ItalicOsF A 209 grios___ + pgjrc8a Granjon-SC A 209 grsc____ + ptvbij8a TrumpMediaeval-BoldItalicOsF A 210 tmbio___ + ptvbj8a TrumpMediaeval-BoldOsF A 210 tmbos___ + ptvrij8a TrumpMediaeval-ItalicOsF A 210 tmios___ + ptvrc8a TrumpMediaeval-SC A 210 tmsc____ + pbsr8a BakerSignet A 211 ba______ + picr8a Impact A 211 impa____ + pagb8a AvantGarde-Bold A 212 agb_____ + pagbo8a AvantGarde-BoldObl A 212 agbo____ + pagj8a AvantGarde-ExtraLight A 212 agel____ + pagjo8a AvantGarde-ExtraLightObl A 212 agelo___ + pagm8a AvantGarde-Medium A 212 agm_____ + pagmo8a AvantGarde-MediumObl A 212 agmo____ + pplbij8a Palatino-BoldItalicOsF A 213 pobio___ + pplbj8a Palatino-BoldOsF A 213 pobos___ + pplrij8a Palatino-ItalicOsF A 213 poios___ + pplrc8a Palatino-SC A 213 posc____ + pndbij8a NewCaledonia-BoldItalicOsF A 214 nlbio___ + pndbc8a NewCaledonia-BoldSC A 214 nlbsc___ + pndrij8a NewCaledonia-ItalicOsF A 214 nlios___ + pndrc8a NewCaledonia-SC A 214 nlsc____ + pppb8a Perpetua-Bold A 215 ptb_____ + pppbi8a Perpetua-BoldItalic A 215 ptbi____ + pppri8a Perpetua-Italic A 215 pti_____ + pppr8a Perpetua A 215 ptrg____ + pilb8a Caecilia-Bold A 216 ecb_____ + pilbi8a Caecilia-BoldItalic A 216 ecbi____ + pilbij8a Caecilia-BoldItalicOsF A 216 ecbio___ + pilbj8a Caecilia-BoldOsF A 216 ecbos___ + pilh8a Caecilia-Heavy A 216 ech_____ + pilhi8a Caecilia-HeavyItalic A 216 echi____ + pilhij8a Caecilia-HeavyItalicOsF A 216 echio___ + pilhj8a Caecilia-HeavyOsF A 216 echos___ + pilri8a Caecilia-Italic A 216 eci_____ + pilrij8a Caecilia-ItalicOsF A 216 ecios___ + pill8a Caecilia-Light A 216 ecl_____ + pilli8a Caecilia-LightItalic A 216 ecli____ + pillij8a Caecilia-LightItalicOsF A 216 eclio___ + pillj8a Caecilia-LightOsF A 216 eclos___ + pilr8a Caecilia-Roman A 216 ecr_____ + pilrj8a Caecilia-RomanOsF A 216 ecros___ + pimx8a Imago-ExtraBold A 217 ioeb____ + pimxi8a Imago-ExtraBoldItalic A 217 ioebi___ + piml8a Imago-Light A 217 iol_____ + pimli8a Imago-LightItalic A 217 ioli____ + pimm8a Imago-Medium A 217 iom_____ + pimmi8a Imago-MediumItalic A 217 iomi____ + pimk8a Imago-Book A 217 iow_____ + pimki8a Imago-BookItalic A 217 iowi____ + pfab8a Formata-Bold A 218 fmb_____ + pfabi8a Formata-BoldItalic A 218 fmbi____ + pfari8a Formata-Italic A 218 fmi_____ + pfal8a Formata-Light A 218 fml_____ + pfali8a Formata-LightItalic A 218 fmli____ + pfam8a Formata-Medium A 218 fmm_____ + pfami8a Formata-MediumItalic A 218 fmmi____ + pfar8a Formata-Regular A 218 fmrg____ + pnfb8a Nofret-Bold A 219 nfb_____ + pnfbi8a Nofret-BoldItalic A 219 nfbi____ + pnfri8a Nofret-Italic A 219 nfi_____ + pnfl8a Nofret-Light A 219 nfl_____ + pnfli8a Nofret-LightItalic A 219 nfli____ + pnfm8a Nofret-Medium A 219 nfm_____ + pnfmi8a Nofret-MediumItalic A 219 nfmi____ + pnfr8a Nofret-Regular A 219 nfrg____ + ppnb8ac Plantin-BoldCondensed A 220 plbc____ + ppnl8a Plantin-Light A 220 pll_____ + ppnli8a Plantin-LightItalic A 220 plli____ + ppns8a Plantin-Semibold A 220 plsb____ + ppnsi8a Plantin-SemiboldItalic A 220 plsbi___ + pbrb8a Berling-Bold A 221 bnb_____ + pbrbi8a Berling-BoldItalic A 221 bnbi____ + pbrri8a Berling-Italic A 221 bni_____ + pbrr8a Berling-Roman A 221 bnr_____ + pcyb8a City-Bold A 222 tzb_____ + pcybi8a City-BoldItalic A 222 tzbi____ + pcyl8a City-Light A 222 tzl_____ + pcyli8a City-LightItalic A 222 tzli____ + pcym8a City-Medium A 222 tzm_____ + pcymi8a City-MediumItalic A 222 tzmi____ + paur8a Auriol A 223 al______ + paub8a Auriol-Bold A 223 alb_____ + paubi8a Auriol-BoldItalic A 223 albi____ + pauc8a Auriol-Black A 223 albl____ + pauci8a Auriol-BlackItalic A 223 albli___ + pauri8a Auriol-Italic A 223 ali_____ + ptbb8a BodoniBE-Bold A 224 bpb_____ + ptbbi8a BodoniBE-BoldItalic A 224 bpbi____ + ptbri8a BodoniBE-Italic A 224 bpi_____ + ptbl8a BodoniBE-Light A 224 bpl_____ + ptbli8a BodoniBE-LightItalic A 224 bpli____ + ptbm8a BodoniBE-Medium A 224 bpm_____ + ptbmi8a BodoniBE-MediumItalic A 224 bpmi____ + ptbr8a BodoniBE-Regular A 224 bprg____ + pegbij8a StempelGaramond-BoldItalicOsF A 225 gsbio___ + pegbj8a StempelGaramond-BoldOsF A 225 gsbof___ + pegrij8a StempelGaramond-ItalicOsF A 225 gsiof___ + pegrc8a StempelGaramond-RomanSC A 225 gsrsc___ + pnbbij8a NewBaskerville-BoldItalicOsF A 226 nbbio___ + pnbbj8a NewBaskerville-BoldSC A 226 nbbsc___ + pnbrij8a NewBaskerville-ItalicOsF A 226 nbio____ + pnbrc8a NewBaskerville-SC A 226 nbsc____ + pgybij8a Goudy-BoldItalicOsF A 227 gobio___ + pgybj8a Goudy-BoldOsF A 227 gobos___ + pgyrij8a Goudy-ItalicOsF A 227 goios___ + pgyrc8a Goudy-SC A 227 gosc____ + phnbl8a HelveticaNeue-BoldOutline A 228 hlbou___ + pcvrf7c Clairvaux-Dfr A 229 aodfr___ + pcvrf8a Clairvaux A 229 aor_____ + pc0rf7c Carolina-Dfr A 229 kldfr___ + pc0rf8a Carolina A 229 klr_____ + ps0rf7c SanMarco-Dfr A 229 sjdfr___ + ps0rf8a SanMarco A 229 sjr_____ + pvjb8a Veljovic-Bold A 230 vlb_____ + pvjbi8a Veljovic-BoldItalic A 230 vlbi____ + pvjc8a Veljovic-Black A 230 vlbl____ + pvjci8a Veljovic-BlackItalic A 230 vlbli___ + pvjm8a Veljovic-Medium A 230 vlm_____ + pvjmi8a Veljovic-MediumItalic A 230 vlmi____ + pvjk8a Veljovic-Book A 230 vlw_____ + pvjki8a Veljovic-BookItalic A 230 vlwi____ + pscb8a Slimbach-Bold A 231 spb_____ + pscbi8a Slimbach-BoldItalic A 231 spbi____ + pscc8a Slimbach-Black A 231 spbl____ + pscci8a Slimbach-BlackItalic A 231 spbli___ + pscm8a Slimbach-Medium A 231 spm_____ + pscmi8a Slimbach-MediumItalic A 231 spmi____ + psck8a Slimbach-Book A 231 spw_____ + pscki8a Slimbach-BookItalic A 231 spwi____ + pbvri8a BaskervilleBook-Italic A 232 bti_____ + pbvm8a BaskervilleBook-Medium A 232 btm_____ + pbvmi8a BaskervilleBook-MedItalic A 232 btmi____ + pbvr8a BaskervilleBook-Regular A 232 btrg____ + murb8a CentaurMT-Bold A 233 nrb_____ + murbi8a CentaurMT-BoldItalic A 233 nrbi____ + murri8a CentaurMT-Italic A 233 nri_____ + murria8a CentaurMT-ItalicA A 233 nria____ + murr8a CentaurMT A 233 nrr_____ + phvr7f Helvetica-Fraction A 234 hvfr____ + phvb7f Helvetica-FractionBold A 234 hvfrb___ + pncr7f NewCenturySchlbk-Fraction A 234 ncfr____ + pncb7f NewCenturySchlbk-FractionBold A 234 ncfrb___ + pilbic8a Caecilia-BoldItalicSC A 235 ecbis___ + pilbc8a Caecilia-BoldSC A 235 ecbsc___ + pilhic8a Caecilia-HeavyItalicSC A 235 echis___ + pilhc8a Caecilia-HeavySC A 235 echsc___ + pilric8a Caecilia-ItalicSC A 235 ecisc___ + pillc8a Caecilia-LightItalicSC A 235 eclis___ + pillic8a Caecilia-LightSC A 235 eclsc___ + pilrc8a Caecilia-RomanSC A 235 ecrsc___ + mjob8a JoannaMT-Bold A 236 job_____ + mjobi8a JoannaMT-BoldItalic A 236 jobi____ + mjox8a JoannaMT-ExtraBold A 236 joeb____ + mjori8a JoannaMT-Italic A 236 joi_____ + mjor8a JoannaMT A 236 jor_____ + mjos8a JoannaMT-SemiBold A 236 josb____ + mjosi8a JoannaMT-SemiBoldItalic A 236 josbi___ + ppi017 LHolidayPi-One A 237 holi1___ + ppi018 LHolidayPi-Two A 237 holi2___ + ppi019 LHolidayPi-Three A 237 holi3___ + ppi011 LDecorationPi-One A 238 deco1___ + ppi012 LDecorationPi-Two A 238 deco2___ + po7r8a OldStyleSeven A 239 os______ + po7ri8a OldStyleSeven-Italic A 239 osi_____ + po7rij8a OldStyleSeven-ItalicOsF A 239 osios___ + po7rc8a OldStyleSeven-SC A 239 ossc____ + ppi013 LGamePi-ChessDraughts A 240 gamcd___ + ppi014 LGamePi-DiceDominoes A 240 gamdd___ + ppi015 LGamePi-EnglishCards A 240 gamec___ + ppi016 LGamePi-FrenchCards A 240 gamfc___ + pc5rij8a CaslonFiveForty-ItalicOsF A 241 cfiof___ + pc5rc8a CaslonFiveForty-RomanSC A 241 cfrsc___ + pc3rij8a CaslonThree-ItalicOsF A 241 ctiof___ + pc3rc8a CaslonThree-RomanSC A 241 ctrsc___ + mgtrf8a GoudyTextMT A 242 gx______ + mgtrf7a GoudyTextMT-Alternate A 242 gxalt___ + mgtrf7c GoudyTextMT-Dfr A 242 gxdfr___ + mgtrfd8a GoudyTextMT-LombardicCapitals A 242 gxlom___ + pefb8a EgyptienneF-Bold A 243 efb_____ + pefc8a EgyptienneF-Black A 243 efbl____ + pefri8a EgyptienneF-Italic A 243 efi_____ + pefr8a EgyptienneF-Roman A 243 efr_____ + pwkb8a Wilke-Bold A 244 wlb_____ + pwkbi8a Wilke-BoldItalic A 244 wlbi____ + pwkc8a Wilke-Black A 244 wlbl____ + pwkci8a Wilke-BlackItalic A 244 wlbli___ + pwkri8a Wilke-Italic A 244 wli_____ + pwkr8a Wilke-Roman A 244 wlr_____ + ppxb8a PopplPontifexBE-Bold A 245 pjb_____ + ppxri8a PopplPontifexBE-Italic A 245 pji_____ + ppxm8a PopplPontifexBE-Medium A 245 pjm_____ + ppxm8ac PopplPontifexBE-MediumCn A 245 pjmc____ + ppxr8a PopplPontifexBE-Regular A 245 pjrg____ + mtlr8a CastellarMT A 246 el______ + malr8a AlbertusMT A 246 lr______ + malri8a AlbertusMT-Italic A 246 lri_____ + mall8a AlbertusMT-Light A 246 lrl_____ + pgvb8a Giovanni-Bold A 247 gvb_____ + pgvbi8a Giovanni-BoldItalic A 247 gvbi____ + pgvc8a Giovanni-Black A 247 gvbl____ + pgvci8a Giovanni-BlackItalic A 247 gvbli___ + pgvk8a Giovanni-Book A 247 gvw_____ + pgvki8a Giovanni-BookItalic A 247 gvwi____ + pazbi8ax AkzidenzGroteskBE-BoldExIt A 248 gfbei___ + pazb8ax AkzidenzGroteskBE-BoldEx A 248 gfbv____ + pazr8ax AkzidenzGroteskBE-Ex A 248 gfex____ + pazl8ax AkzidenzGroteskBE-LightEx A 248 gflex___ + pazm8ax AkzidenzGroteskBE-MdEx A 248 gfmex___ + p_____ AGOldFace-Bold A 249 qwb_____ + p_____ AGOldFace-BoldOutline A 249 qwbou___ + p_____ AGOldFace-Medium A 249 qwm_____ + p_____ AGOldFace-Outline A 249 qwou____ + p_____ AGOldFace-Regular A 249 qwrg____ + p_____ AGOldFace-Shaded A 249 qwsh____ + p_____ GaramondBE-Bold A 250 gwb_____ + p_____ GaramondBE-Condensed A 250 gwc_____ + p_____ GaramondBE-Italic A 250 gwi_____ + p_____ GaramondBE-Medium A 250 gwm_____ + p_____ GaramondBE-MediumCn A 250 gwmc____ + p_____ GaramondBE-MediumItalic A 250 gwmi____ + p_____ GaramondBE-Regular A 250 gwrg____ + pgub8a Guardi-Bold A 251 gub_____ + pgubi8a Guardi-BoldItalic A 251 gubi____ + pguc8a Guardi-Black A 251 gubl____ + pguci8a Guardi-BlackItalic A 251 gubli___ + pguri8a Guardi-Italic A 251 gui_____ + pgur8a Guardi-Roman A 251 gur_____ + pkbc8a Kabel-Black A 252 kabl____ + pkbh8a Kabel-Heavy A 252 kah_____ + pkbl8a Kabel-Light A 252 kal_____ + pkbk8a Kabel-Book A 252 kaw_____ + ppi009 LAstrologyPi-One A 253 astr1___ + ppi010 LAstrologyPi-Two A 253 astr2___ + pprl8a PopplResidenz-Light A 254 pzl_____ + pprr8a PopplResidenz-Regular A 254 pzrg____ + pstr5a StoneSerif-PhoneticAlternate A 255 srpa____ + pstr5i StoneSerif-PhoneticIPA A 255 srpi____ + ps8r5a StoneSans-PhoneticAlternate A 255 sspa____ + ps8r5i StoneSans-PhoneticIPA A 255 sspi____ + prnb8a Rotation-Bold A 256 rnb_____ + prnri8a Rotation-Italic A 256 rni_____ + prnr8a Rotation-Roman A 256 rnr_____ + pasri8a Aldus-Italic A 257 afi_____ + pasrij8a Aldus-ItalicOsF A 257 afiof___ + pasr8a Aldus-Roman A 257 afr_____ + pasrc8a Aldus-RomanSC A 257 afrsc___ + mlir8ac LatinMT-Condensed A 258 lnc_____ + moxr8a OnyxMT A 258 ox______ + mrur8ac RunicMT-Condensed A 258 ric_____ + p_____ Colossalis-Bold A 259 kob_____ + p_____ Colossalis-Black A 259 kobl____ + p_____ Colossalis-Medium A 259 kom_____ + p_____ Colossalis-Regular A 259 korg____ + p_____ BertholdScript-Medium A 260 qrm_____ + p_____ BertholdScript-Regular A 260 qrrg____ + pqsrw8a Bellevue A 260 qsrg____ + pqtrw8a Boulevard A 260 qtrg____ + pfrb8ac Frutiger-BoldCn A 261 ftbc____ + pfrc8ac Frutiger-BlackCn A 261 ftblc___ + pfrr8ac Frutiger-Cn A 261 ftc_____ + pfrx8ac Frutiger-ExtraBlackCn A 261 ftebc___ + pfrl8ac Frutiger-LightCn A 261 ftlc____ + pflb8a Flora-Bold A 262 fab_____ + pflm8a Flora-Medium A 262 fam_____ + metri8a EhrhardtMT-Italic A 263 ehi_____ + metr8a EhrhardtMT-Regular A 263 ehrg____ + mets8a EhrhardtMT-Semibold A 263 ehsb____ + metsi8a EhrhardtMT-SemiboldItalic A 263 ehsbi___ + pppbij8a Perpetua-BoldItalicOsF A 264 ptbio___ + pppbi8x Perpetua-BoldItalicExp A 264 ptbix___ + pppbj8a Perpetua-BoldOsF A 264 ptbos___ + pppb8x Perpetua-BoldExp A 264 ptbxp___ + pppr8x Perpetua-Exp A 264 ptexp___ + ppprij8a Perpetua-ItalicOsF A 264 ptios___ + pppri8x Perpetua-ItalicExp A 264 ptixp___ + ppprc8a Perpetua-SC A 264 ptsc____ + ppxbj8a PopplPontifexBE-BoldOsF A 265 pjbos___ + ppxb8x PopplPontifexBE-BoldExp A 265 pjbxp___ + ppxrij8a PopplPontifexBE-ItalicOsF A 265 pjios___ + ppxri8x PopplPontifexBE-ItalicExp A 265 pjixp___ + ppxmc8ac PopplPontifexBE-MediumCnSC A 265 pjmcs___ + ppxm8xc PopplPontifexBE-MediumCnExp A 265 pjmcx___ + ppxmc8a PopplPontifexBE-MediumSC A 265 pjmsc___ + ppxm8x PopplPontifexBE-MediumExp A 265 pjmxp___ + ppxr8x PopplPontifexBE-RegularExp A 265 pjrgx___ + ppxrc8a PopplPontifexBE-RegularSC A 265 pjrsc___ + p_____ ConcordeNova-Italic A 266 nvi_____ + p_____ ConcordeNova-ItalicOsF A 266 nviof___ + p_____ ConcordeNova-ItalicExp A 266 nvixp___ + p_____ ConcordeNova-Medium A 266 nvm_____ + p_____ ConcordeNova-MediumSC A 266 nvmsc___ + p_____ ConcordeNova-MediumExp A 266 nvmxp___ + p_____ ConcordeNova-Regular A 266 nvrg____ + p_____ ConcordeNova-RegularExp A 266 nvrgx___ + p_____ ConcordeNova-RegularSC A 266 nvsc____ + peib8a Esprit-Bold A 267 esb_____ + peibi8a Esprit-BoldItalic A 267 esbi____ + peici8a Esprit-BlackItalic A 267 esbli___ + peim8a Esprit-Medium A 267 esm_____ + peimi8a Esprit-MediumItalic A 267 esmi____ + peik8a Esprit-Book A 267 esw_____ + peiki8a Esprit-BookItalic A 267 eswi____ + peic8a Esprit-Black A 267 esz_____ + ptbbij8a BodoniBE-BoldItalicOsF A 268 bpbio___ + ptbbi8x BodoniBE-BoldItalicExp A 268 bpbix___ + ptbbj8a BodoniBE-BoldOsF A 268 bpbof___ + ptbb8x BodoniBE-BoldExp A 268 bpbxp___ + ptbrij8a BodoniBE-ItalicOsF A 268 bpiof___ + ptbri8x BodoniBE-ItalicExp A 268 bpixp___ + ptblij8a BodoniBE-LightItalicOsF A 268 bplio___ + ptbli8x BodoniBE-LightItalicExp A 268 bplix___ + ptblc8a BodoniBE-LightSC A 268 bplsc___ + ptbl8x BodoniBE-LightExp A 268 bplxp___ + ptbmij8a BodoniBE-MediumItalicOsF A 268 bpmio___ + ptbmi8x BodoniBE-MediumItalicExp A 268 bpmix___ + ptbmc8a BodoniBE-MediumSC A 268 bpmsc___ + ptbm8x BodoniBE-MediumExp A 268 bpmxp___ + ptbr8x BodoniBE-RegularExp A 268 bprgx___ + ptbrc8a BodoniBE-RegularSC A 268 bpsc____ + melr8a EllingtonMT A 269 ei______ + melb8a EllingtonMT-Bold A 269 eib_____ + melbi8a EllingtonMT-BoldItalic A 269 eibi____ + melx8a EllingtonMT-ExtraBold A 269 eieb____ + melxi8a EllingtonMT-ExtraBoldItalic A 269 eiebi___ + melri8a EllingtonMT-Italic A 269 eii_____ + mell8a EllingtonMT-Light A 269 eil_____ + melli8a EllingtonMT-LightItalic A 269 eili____ + pazb8ac AkzidenzGroteskBE-BoldCn A 270 gfbc____ + pazr8ac AkzidenzGroteskBE-Cn A 270 gfc_____ + pazx8a AkzidenzGroteskBE-XBd A 270 gfeb____ + pazl8ac AkzidenzGroteskBE-LightCn A 270 gflc____ + pazm8ac AkzidenzGroteskBE-MdCn A 270 gfmc____ + pazmi8ac AkzidenzGroteskBE-MdCnIt A 270 gfmci___ + pazx8ac AkzidenzGroteskBE-XBdCn A 270 gfxc____ + pazxi8ac AkzidenzGroteskBE-XBdCnIt A 270 gfxci___ + pptr8a Present A 271 pr______ + pptb8a Present-Bold A 271 prb_____ + pptb8ac Present-BoldCondensed A 271 prbc____ + pptc8a Present-Black A 271 prbl____ + pptc8ac Present-BlackCondensed A 271 prblc___ + pptr8ac Present-Condensed A 271 prc_____ + lvcb8a VectoraLH-Bold A 272 vcb_____ + lvcbi8a VectoraLH-BoldItalic A 272 vcbi____ + lvcc8a VectoraLH-Black A 272 vcbl____ + lvcci8a VectoraLH-BlackItalic A 272 vcbli___ + lvcri8a VectoraLH-Italic A 272 vci_____ + lvcl8a VectoraLH-Light A 272 vcl_____ + lvcli8a VectoraLH-LightItalic A 272 vcli____ + lvcr8a VectoraLH-Roman A 272 vcr_____ + pbab8a Barmeno-Bold A 273 bfb_____ + pbax8a Barmeno-ExtraBold A 273 bfeb____ + pbam8a Barmeno-Medium A 273 bfm_____ + pbar8a Barmeno-Regular A 273 bfrg____ + p_____ Cosmos-ExtraBold A 274 kzeb____ + p_____ Cosmos-Light A 274 kzl_____ + p_____ Cosmos-LightItalic A 274 kzli____ + p_____ Cosmos-Medium A 274 kzm_____ + pmyMMi8a MyriadMM-It A 275 _mi_____ + pmyMM8a MyriadMM A 275 _mrg____ + pmnMMi8a MinionMM-It A 276 zgi_____ + pmnMM8a MinionMM A 276 zgrg____ + pmnMMic8a MinionMM-ItSC A 277 zgisc___ + pmnMMi8x MinionMM-ItEp A 277 zgix____ + pmnMMp MinionMM-Or A 277 zgo_____ + pmnMMc8a MinionMM-SC A 277 zgsc____ + pmnMMiw7a MinionMM-Sw A 277 zgsw____ + pmnMM8x MinionMM-Ep A 277 zgx_____ + ptmr5a Times-PhoneticAlternate A 278 tipa____ + ptmr5i Times-PhoneticIPA A 278 tipi____ + lpi003 AudioLH-Pi A 279 audi1___ + lpi002 WarningLH-Pi A 279 warn1___ + ppmri8a PostMediaeval-Italic A 280 pmi_____ + ppmm8a PostMediaeval-Medium A 280 pmm_____ + ppmr8a PostMediaeval-Regular A 280 pmrg____ + lffb8a FairfieldLH-Bold A 281 fdb_____ + lffbi8a FairfieldLH-BoldItalic A 281 fdbi____ + lffh8a FairfieldLH-Heavy A 281 fdh_____ + lffhi8a FairfieldLH-HeavyItalic A 281 fdhi____ + lffl8a FairfieldLH-Light A 281 fdl_____ + lffli8a FairfieldLH-LightItalic A 281 fdli____ + lffm8a FairfieldLH-Medium A 281 fdm_____ + lffmi8a FairfieldLH-MediumItalic A 281 fdmi____ + lffbd8a FairfieldLH-CaptionBold A 282 fdbcp___ + lffbijw8a FairfieldLH-SwBoldItalicOsF A 282 fdbio___ + lffbc8a FairfieldLH-BoldSC A 282 fdbsc___ + lffhd8a FairfieldLH-CaptionHeavy A 282 fdhcp___ + lffhijw8a FairfieldLH-SwHeavyItalicOsF A 282 fdhio___ + lffhc8a FairfieldLH-HeavySC A 282 fdhsc___ + lffld8a FairfieldLH-CaptionLight A 282 fdlcp___ + lfflijw8a FairfieldLH-SwLightItalicOsF A 282 fdlio___ + lfflc8a FairfieldLH-LightSC A 282 fdlsc___ + lffmd8a FairfieldLH-CaptionMedium A 282 fdmcp___ + lffmijw8a FairfieldLH-SwMediumItalicOsF A 282 fdmio___ + lffmc8a FairfieldLH-MediumSC A 282 fdmsc___ + lgzb8a GazetteLH-Bold A 283 gzb_____ + lgzri8a GazetteLH-Italic A 283 gzi_____ + lgzr8a GazetteLH-Roman A 283 gzr_____ + lcfbs8a ClearfaceGothicLH-Bold A 284 fcb_____ + lcfcs8a ClearfaceGothicLH-Black A 284 fcbl____ + lcfls8a ClearfaceGothicLH-Light A 284 fcl_____ + lcfms8a ClearfaceGothicLH-Medium A 284 fcm_____ + lcfrs8a ClearfaceGothicLH-Roman A 284 fcr_____ + pidb8a Isadora-Bold A 285 irb_____ + pidr8a Isadora-Regular A 285 irrg____ + pbax8a Barmeno-ExtraBold A 286 bfeb____ + pfarl8a Formata-Outline A 286 fmou____ + p_____ Cosmos-ExtraBold A 286 kzeb____ + p_____ AGOldFace-Shaded A 286 qwsh____ + p_____ AGBook-Stencil A 286 tast____ + ltgb8ax TradeGothicLH-BoldExtended A 287 tgbv____ + ltgr8ax TradeGothicLH-Extended A 287 tgv_____ + mphb8a PhotinaMT-Bold A 288 phb_____ + mphbi8a PhotinaMT-BoldItalic A 288 phbi____ + mphri8a PhotinaMT-Italic A 288 phi_____ + mphr8a PhotinaMT A 288 phrg____ + mphs8a PhotinaMT-SemiBold A 288 phsb____ + mphsi8a PhotinaMT-SemiBoldItalic A 288 phsbi___ + mphu8a PhotinaMT-UltraBold A 288 phub____ + mphui8a PhotinaMT-UltraBoldItalic A 288 phubi___ + mdsrw8a DorchesterScriptMT A 289 dsscr___ + mp2rw8a PepitaMT A 289 epscr___ + mbfrw8a BiffoMT A 289 ifscr___ + ms2bw8a ScriptMT-Bold A 289 tbscr___ + lenb8a EngraversLH-BoldFace A 290 ew______ + l_____ SerlioLH A 290 oi______ + pplc8a Palatino-Black A 291 pobl____ + pplci8a Palatino-BlackItalic A 291 pobli___ + ppll8a Palatino-Light A 291 pol_____ + pplli8a Palatino-LightItalic A 291 poli____ + pplm8a Palatino-Medium A 291 pom_____ + pplmi8a Palatino-MediumItalic A 291 pomi____ + pocrij8a ConcordeBE-ItalicOsF A 292 qqiof___ + pocri8x ConcordeBE-ItalicExp A 292 qqixp___ + pocmij8a ConcordeBE-MediumItalicOsF A 292 qqmio___ + pocmi8x ConcordeBE-MediumItalicExp A 292 qqmix___ + pocmc8a ConcordeBE-MediumSC A 292 qqmsc___ + pocm8x ConcordeBE-MediumExp A 292 qqmxp___ + pocrc8x ConcordeBE-RegularExp A 292 qqrgx___ + pocr8a ConcordeBE-RegularSC A 292 qqsc____ + mc8b8a CalvertMT-Bold A 293 vtb_____ + mc8l8a CalvertMT-Light A 293 vtl_____ + mc8r8a CalvertMT A 293 vtrg____ + mgqr8a GrotesqueMT A 294 gq______ + mgqb8a GrotesqueMT-Bold A 294 gqb_____ + mgqc8a GrotesqueMT-Black A 294 gqbl____ + mgqri8a GrotesqueMT-Italic A 294 gqi_____ + mgql8a GrotesqueMT-Light A 294 gql_____ + mgqli8a GrotesqueMT-LightItalic A 294 gqli____ + pckb8a CaslonBookBE-Bold A 295 qxb_____ + pckri8a CaslonBookBE-Italic A 295 qxi_____ + pckm8a CaslonBookBE-Medium A 295 qxm_____ + pckr8a CaslonBookBE-Regular A 295 qxrg____ + pckbj8a CaslonBookBE-BoldOsF A 296 qxbof___ + pckb8x CaslonBookBE-BoldExp A 296 qxbxp___ + pckrij8a CaslonBookBE-ItalicOsF A 296 qxiof___ + pckri8x CaslonBookBE-ItalicExp A 296 qxixp___ + pckmc8a CaslonBookBE-MediumSC A 296 qxmsc___ + pckm8x CaslonBookBE-MediumExp A 296 qxmxp___ + pckr8x CaslonBookBE-RegularExp A 296 qxrgx___ + pckrc8a CaslonBookBE-RegularSC A 296 qxsc____ + mr2b8a CantoriaMT-Bold A 297 eob_____ + mr2bi8a CantoriaMT-BoldItalic A 297 eobi____ + mr2ri8a CantoriaMT-Italic A 297 eoi_____ + mr2r8a CantoriaMT A 297 eorg____ + mr2x8a CantoriaMT-ExtraBold A 298 eoeb____ + mr2xi8a CantoriaMT-ExtraBoldItalic A 298 eoebi___ + mr2l8a CantoriaMT-Light A 298 eol_____ + mr2li8a CantoriaMT-LightItalic A 298 eoli____ + mr2s8a CantoriaMT-SemiBold A 298 eosb____ + mr2si8a CantoriaMT-SemiBoldItalic A 298 eosbi___ + mgqb8ax GrotesqueMT-BoldExtended A 299 gqbv____ + mgqr8ac GrotesqueMT-Condensed A 299 gqc_____ + mgqr8aq GrotesqueMT-ExtraCondensed A 299 gqec____ + mgql8ac GrotesqueMT-LightCondensed A 299 gqlc____ + ppc___ Poetica-ChanceryI A 300 pvch1___ + ppc___ Poetica-ChanceryII A 300 pvch2___ + ppc___ Poetica-ChanceryIII A 300 pvch3___ + ppc___ Poetica-ChanceryIV A 300 pvch4___ + ppc___ Poetica-ChanceryExpert A 300 pvchx___ + ppc___ Poetica-RomanSmallCapsAlt A 300 pvrsa___ + ppc___ Poetica-RomanSmallCaps A 300 pvrsc___ + ppc___ Poetica-SuppAmpersands A 301 pvam____ + ppc___ Poetica-SuppInitialSwashCaps A 301 pvisw___ + ppc___ Poetica-SuppLowercaseAltI A 301 pvla1___ + ppc___ Poetica-SuppLowercaseAltII A 301 pvla2___ + ppc___ Poetica-SuppLowercaseBegI A 301 pvlb1___ + ppc___ Poetica-SuppLowercaseBegII A 301 pvlb2___ + ppc___ Poetica-SuppLowercaseEndI A 301 pvle1___ + ppc___ Poetica-SuppLowercaseEndII A 301 pvle2___ + ppc___ Poetica-SuppLigatures A 301 pvlg____ + ppc___ Poetica-SuppOrnaments A 301 pvor____ + ppc___ Poetica-SuppSwashCapsI A 301 pvsw1___ + ppc___ Poetica-SuppSwashCapsII A 301 pvsw2___ + ppc___ Poetica-SuppSwashCapsIII A 301 pvsw3___ + ppc___ Poetica-SuppSwashCapsIV A 301 pvsw4___ + msmr8x SpectrumMT-Expert A 302 ekexp___ + msmri8a SpectrumMT-Italic A 302 eki_____ + msmrij8a SpectrumMT-ItalicOsF A 302 ekio____ + msmri8x SpectrumMT-ItalicExpert A 302 ekixp___ + msmr8a SpectrumMT A 302 ekrg____ + msms8a SpectrumMT-SemiBold A 302 eksb____ + msmsc8a SpectrumMT-SemiBoldOsF A 302 eksbo___ + msms8x SpectrumMT-SemiBoldExpert A 302 eksbx___ + msmrc8a SpectrumMT-SC A 302 eksc____ + p_____ AGBookRounded-Bold A 303 kdb_____ + p_____ AGBookRounded-BoldCn A 303 kdbc____ + p_____ AGBookRounded-BoldCnOutline A 303 kdbcl___ + p_____ AGBookRounded-BoldOutline A 303 kdbou___ + p_____ AGBookRounded-Medium A 303 kdm_____ + p_____ AGBookRounded-MediumOutline A 303 kdmou___ + p_____ AGBookRounded-Regular A 303 kdrg____ + p_____ BodoniOldFaceBE-Bold A 304 qvb_____ + p_____ BodoniOldFaceBE-BoldItalic A 304 qvbi____ + p_____ BodoniOldFaceBE-Italic A 304 qvi_____ + p_____ BodoniOldFaceBE-Medium A 304 qvm_____ + p_____ BodoniOldFaceBE-MediumItalic A 304 qvmi____ + p_____ BodoniOldFaceBE-Regular A 304 qvrg____ + mg4ri8a GoudyModernMT-Italic A 305 ygi_____ + mg4r8a GoudyModernMT A 305 ygrg____ + ms1ri8a ScotchRomanMT-Italic A 305 ysi_____ + ms1r8a ScotchRomanMT A 305 ysrg____ + p_____ AGSchoolbook-RegularA A 306 okarg___ + p_____ AGSchoolbook-Medium A 306 okm_____ + p_____ AGSchoolbook-MediumA A 306 okma____ + p_____ AGSchoolbook-Regular A 306 okrg____ + pbeb8a BellGothic-Bold A 307 dgb_____ + pbec8a BellGothic-Black A 307 dgbl____ + pbel8a BellGothic-Light A 307 dgl_____ + misb8a ItalianOldStyleMT-Bold A 308 ieb_____ + misbi8a ItalianOldStyleMT-BoldItalic A 308 iebi____ + misri8a ItalianOldStyleMT-Italic A 308 iei_____ + misr8a ItalianOldStyleMT A 308 ierg____ + p_____ BellCentennial-Address A 309 bladd___ + p_____ BellCentennial-BoldListingAlt A 309 blbla___ + p_____ BellCentennial-BoldListing A 309 blbls___ + p_____ BellCentennial-NameAndNumber A 309 blnan___ + p_____ BellCentennial-SubCaption A 309 blscp___ + p_____ BodoniOldFaceBE-BoldItOsF A 310 qvbio___ + p_____ BodoniOldFaceBE-BoldItExp A 310 qvbix___ + p_____ BodoniOldFaceBE-BoldOsF A 310 qvbos___ + p_____ BodoniOldFaceBE-BoldExp A 310 qvbxp___ + p_____ BodoniOldFaceBE-ItalicSC A 310 qvisc___ + p_____ BodoniOldFaceBE-ItalicExp A 310 qvixp___ + p_____ BodoniOldFaceBE-MediumItOsF A 310 qvmio___ + p_____ BodoniOldFaceBE-MediumItExp A 310 qvmix___ + p_____ BodoniOldFaceBE-MediumSC A 310 qvmsc___ + p_____ BodoniOldFaceBE-MediumExp A 310 qvmxp___ + p_____ BodoniOldFaceBE-RegularExp A 310 qvrgx___ + p_____ BodoniOldFaceBE-RegularSC A 310 qvrsc___ + p_____ BerlinerGrotesk-Light A 311 otl_____ + p_____ BerlinerGrotesk-Medium A 311 otm_____ + mntb8ac TimesNewRomanMT-BoldCond A 312 mtbc____ + mntr8ac TimesNewRomanMT-Cond A 312 mtc_____ + mntri8ac TimesNewRomanMT-CondItalic A 312 mtci____ + movr8x OctavianMT-Expert A 313 ocexp___ + movri8a OctavianMT-Italic A 313 oci_____ + movrij8a OctavianMT-ItalicOsF A 313 ocio____ + movri8x OctavianMT-ItalicExpert A 313 ocixp___ + movr8a OctavianMT A 313 ocrg____ + movrc8a OctavianMT-SC A 313 ocsc____ + p_____ Christiana-Bold A 314 hcb_____ + p_____ Christiana-BoldItalic A 314 hcbi____ + p_____ Christiana-Italic A 314 hci_____ + p_____ Christiana-Medium A 314 hcm_____ + p_____ Christiana-MediumItalic A 314 hcmi____ + p_____ Christiana-Regular A 314 hcrg____ + p_____ Christiana-RegularExpert A 314 hcrgx___ + p_____ Christiana-RegularSC A 314 hcsc____ + pmnb6w MinionCyr-Bold A 315 mkb_____ + pmnbi6w MinionCyr-BoldItalic A 315 mkbi____ + pmnri6w MinionCyr-Italic A 315 mki_____ + pmnr6w MinionCyr-Regular A 315 mkrg____ + pmns6w MinionCyr-Semibold A 315 mksb____ + pmnsi6w MinionCyr-SemiboldItalic A 315 mksbi___ + ptbb8ac BodoniBE-BoldCn A 316 bpbc____ + ptbbi8ac BodoniBE-BoldCnItalic A 316 bpbci___ + ptbr8ac BodoniBE-Condensed A 316 bpc_____ + ptbri8ac BodoniBE-CnItalic A 316 bpci____ + ptbm8ac BodoniBE-MediumCn A 316 bpmc____ + ptbmi8ac BodoniBE-MediumCnItalic A 316 bpmci___ + mfsr8a FalstaffMT A 317 fprg____ + mifb8a InflexMT-Bold A 317 iqb_____ + mm8bl8a MonotypeOldStyleMT-BoldOut A 317 mbbou___ + pdjb8a Delta-Bold A 318 djb_____ + pdjbi8a Delta-BoldItalic A 318 djbi____ + pdjl8a Delta-Light A 318 djl_____ + pdjli8a Delta-LightItalic A 318 djli____ + pdjm8a Delta-Medium A 318 djm_____ + pdjmi8a Delta-MediumItalic A 318 djmi____ + pdjrl8a Delta-Outline A 318 djou____ + pdjk8a Delta-Book A 318 djw_____ + pdjki8a Delta-BookItalic A 318 djwi____ + mnrrw8a NewBerolinaMT A 319 _n______ + mp1rw8a PalaceScriptMT A 319 _p______ + mp1sw8a PalaceScriptMT-SemiBold A 319 _psb____ + mahrw8a AshleyScriptMT A 319 le______ + mm1rw8a MonolineScriptMT A 319 on______ + pbtb8a Boton-Bold A 320 tnb_____ + pbtbi8a Boton-BoldItalic A 320 tnbi____ + pbtri8a Boton-Italic A 320 tni_____ + pbtl8a Boton-Light A 320 tnl_____ + pbtli8a Boton-LightItalic A 320 tnli____ + pbtm8a Boton-Medium A 320 tnm_____ + pbtmi8a Boton-MediumItalic A 320 tnmi____ + pbtr8a Boton-Regular A 320 tnr_____ + mfer8a ForteMT A 321 fz______ + mklr8a KlangMT A 321 kn______ + mmebw8a MercuriusMT-BoldScript A 321 uzbs____ + ldob8a DidotLH-Bold A 322 dob_____ + ldobj8a DidotLH-BoldOsF A 322 dobos___ + ldord8a DidotLH-Headline A 322 dohe____ + ldordj8a DidotLH-HeadlineOsF A 322 dohes___ + ldori8a DidotLH-Italic A 322 doi_____ + ldor7a DidotLH-Initials A 322 doini___ + ldorij8a DidotLH-ItalicOsF A 322 doios___ + ldorp1 DidotLH-OrnamentsOne A 322 door1___ + ldorp2 DidotLH-OrnamentsTwo A 322 door2___ + ldor8a DidotLH-Roman A 322 dor_____ + ldorj8a DidotLH-RomanOsF A 322 doros___ + ldorc8a DidotLH-RomanSC A 322 dorsc___ + pfab8ac Formata-BoldCondensed A 323 fmbc____ + pfabi8ac Formata-BoldCondensedItalic A 323 fmbci___ + pfar8ac Formata-Condensed A 323 fmc_____ + pfari8ac Formata-CondensedItalic A 323 fmci____ + pfarl8ac Formata-CondensedOutline A 323 fmcou___ + pfal8ac Formata-LightCondensed A 323 fmlc____ + pfali8ac Formata-LightCondensedItalic A 323 fmlci___ + pfam8ac Formata-MediumCondensed A 323 fmmc____ + pfami8ac Formata-MediumCondensedItalic A 323 fmmci___ + pebb8a BaskervilleBE-Bold A 324 vib_____ + pebri8a BaskervilleBE-Italic A 324 vii_____ + pebm8a BaskervilleBE-Medium A 324 vim_____ + pebmi8a BaskervilleBE-MediumItalic A 324 vimi____ + pebr8a BaskervilleBE-Regular A 324 virg____ + pb6r8ac BlockBE-Condensed A 325 lkc_____ + pb6r8aq BlockBE-ExtraCn A 325 lkec____ + pb6ri8aq BlockBE-ExtraCnIt A 325 lkeci___ + pb6h8a BlockBE-Heavy A 325 lkh_____ + pb6ri8a BlockBE-Italic A 325 lki_____ + pb6r8a BlockBE-Regular A 325 lkrg____ + pllb8a LinoLetter-Bold A 326 llb_____ + pllbi8a LinoLetter-BoldItalic A 326 llbi____ + pllc8a LinoLetter-Black A 326 llbl____ + pllci8a LinoLetter-BlackItalic A 326 llbli___ + pllri8a LinoLetter-Italic A 326 lli_____ + pllm8a LinoLetter-Medium A 326 llm_____ + pllmi8a LinoLetter-MediumItalic A 326 llmi____ + pllr8a LinoLetter-Roman A 326 llr_____ + p_____ ComeniusAntiqua-Bold A 327 hzb_____ + p_____ ComeniusAntiqua-Italic A 327 hzi_____ + p_____ ComeniusAntiqua-Medium A 327 hzm_____ + p_____ ComeniusAntiqua-Regular A 327 hzrg____ + ppub8a PopplLaudatio-Bold A 328 pyb_____ + ppubi8a PopplLaudatio-BoldItalic A 328 pybi____ + ppuri8a PopplLaudatio-Italic A 328 pyi_____ + ppul8a PopplLaudatio-Light A 328 pyl_____ + ppuli8a PopplLaudatio-LightItalic A 328 pyli____ + ppum8a PopplLaudatio-Medium A 328 pym_____ + ppumi8a PopplLaudatio-MediumItalic A 328 pymi____ + ppur8a PopplLaudatio-Regular A 328 pyrg____ + ppub8ac PopplLaudatio-BoldCondensed A 329 pybc____ + ppur8ac PopplLaudatio-Condensed A 329 pyc_____ + ppul8ac PopplLaudatio-LightCondensed A 329 pylc____ + ppum8ac PopplLaudatio-MediumCondensed A 329 pymc____ + pocb8ac ConcordeBE-BoldCn A 330 qqbc____ + pocbl8ac ConcordeBE-BoldCnOutline A 330 qqbcl___ + pocr8ac ConcordeBE-Condensed A 330 qqc_____ + pocm8ac ConcordeBE-MediumCn A 330 qqmc____ + p_____ GaramondBE-BoldOsF A 331 gwbof___ + p_____ GaramondBE-BoldExpert A 331 gwbxp___ + p_____ GaramondBE-CondensedSC A 331 gwcsc___ + p_____ GaramondBE-CnExpert A 331 gwcxp___ + p_____ GaramondBE-ItalicOsF A 331 gwiof___ + p_____ GaramondBE-ItalicExpert A 331 gwixp___ + p_____ GaramondBE-MediumCnOsF A 331 gwmcf___ + p_____ GaramondBE-MediumCnExpert A 331 gwmcx___ + p_____ GaramondBE-MediumItalicOsF A 331 gwmio___ + p_____ GaramondBE-MediumItalicExpert A 331 gwmix___ + p_____ GaramondBE-MediumSC A 331 gwmsc___ + p_____ GaramondBE-MediumExpert A 331 gwmxp___ + p_____ GaramondBE-RegularExpert A 331 gwrgx___ + p_____ GaramondBE-RegularSC A 331 gwsc____ + p_____ GaramondBE-SwashItalic A 331 gwswi___ + pdnb8a DailyNews-Bold A 332 jdb_____ + pdnbi8a DailyNews-BoldItalic A 332 jdbi____ + pdnx8a DailyNews-ExtraBold A 332 jdeb____ + pdnxi8a DailyNews-ExtraBoldItalic A 332 jdebi___ + pdnri8a DailyNews-Italic A 332 jdi_____ + pdnm8a DailyNews-Medium A 332 jdm_____ + pdnmi8a DailyNews-MediumItalic A 332 jdmi____ + pdnr8a DailyNews-Regular A 332 jdrg____ + murbij8a CentaurMT-BoldItalicOsF A 333 nrbio___ + murbi8x CentaurMT-BoldItalicExpert A 333 nrbix___ + murbj8a CentaurMT-BoldOsF A 333 nrbof___ + murb8x CentaurMT-BoldExpert A 333 nrbxp___ + murr8x CentaurMT-Expert A 333 nrexp___ + murri7a CentaurMT-ItalicAlternate A 333 nrial___ + murrij8a CentaurMT-ItalicOsF A 333 nrio____ + murri8x CentaurMT-ItalicExpert A 333 nrixp___ + murrc8a CentaurMT-SC A 333 nrsc____ + murriw8a CentaurMT-SwashCapitals A 333 nrswc___ + mmob8a ModernMT-Bold A 334 nmb_____ + mmobi8a ModernMT-BoldItalic A 334 nmbi____ + mmor8ac ModernMT-Condensed A 334 nmc_____ + mmori8ac ModernMT-CondensedItalic A 334 nmci____ + mmor8ax ModernMT-Extended A 334 nmex____ + mmori8ax ModernMT-ExtendedItalic A 334 nmexi___ + mmor8aw ModernMT-Wide A 334 nmwd____ + mmori8aw ModernMT-WideItalic A 334 nmwdi___ + p_____ ElseNPL-Bold A 335 enb_____ + p_____ ElseNPL-Light A 335 enl_____ + p_____ ElseNPL-Medium A 335 enm_____ + p_____ ElseNPL-SemiBold A 335 ens_____ + p_____ Tiepolo-Bold A 336 tpb_____ + p_____ Tiepolo-BoldItalic A 336 tpbi____ + p_____ Tiepolo-Black A 336 tpbl____ + p_____ Tiepolo-BlackItalic A 336 tpbli___ + p_____ Tiepolo-Book A 336 tpw_____ + p_____ Tiepolo-BookItalic A 336 tpwi____ + pfaric8ac Formata-CnItalicSC A 337 fmcis___ + pfari8xc Formata-CnItalicExpert A 337 fmcix___ + pfarc8ac Formata-CondensedSC A 337 fmcsc___ + pfar8xc Formata-CondensedExpert A 337 fmcxp___ + pfaric8a Formata-ItalicSC A 337 fmisc___ + pfari8x Formata-ItalicExpert A 337 fmixp___ + pfalc8ac Formata-LightCnSC A 337 fmlcs___ + pfalic8ac Formata-LightCnItalicSC A 337 fmlct___ + pfal8xc Formata-LightCnExpert A 337 fmlcx___ + pfali8xc Formata-LightCnItalicExpert A 337 fmlcy___ + pfalic8a Formata-LightItalicSC A 337 fmlis___ + pfali8x Formata-LightItalicExpert A 337 fmlix___ + pfalc8a Formata-LightSC A 337 fmlsc___ + pfal8x Formata-LightExpert A 337 fmlxp___ + pfar8x Formata-RegularExpert A 337 fmrgx___ + pfarc8a Formata-RegularSC A 337 fmsc____ + pnfbij8a Nofret-BoldItalicOsF A 338 nfbio___ + pnfbi8x Nofret-BoldItalicExpert A 338 nfbix___ + pnfbj8a Nofret-BoldOsF A 338 nfbof___ + pnfb8x Nofret-BoldExpert A 338 nfbxp___ + pnfrij8a Nofret-ItalicOsF A 338 nfiof___ + pnfri8x Nofret-ItalicExpert A 338 nfixp___ + pnflij8a Nofret-LightItalicOsF A 338 nflio___ + pnfli8x Nofret-LightItalicExpert A 338 nflix___ + pnflc8a Nofret-LightSC A 338 nflsc___ + pnfl8x Nofret-LightExpert A 338 nflxp___ + pnfmij8a Nofret-MediumItalicOsF A 338 nfmio___ + pnfmi8x Nofret-MediumItalicExpert A 338 nfmix___ + pnfmc8a Nofret-MediumSC A 338 nfmsc___ + pnfm8x Nofret-MediumExpert A 338 nfmxp___ + pnfr8x Nofret-RegularExpert A 338 nfrgx___ + pnfrc8a Nofret-RegularSC A 338 nfsc____ + p_____ Amigo A 339 ig______ + p_____ Pelican A 339 lq______ + pmgr8a Marigold A 339 my______ + pofr8a Oxford A 339 of______ + pvgr8a Visigoth A 339 vg______ + mapr8x ApolloMT-Expert A 340 ezexp___ + mapri8a ApolloMT-Italic A 340 ezi_____ + maprij8a ApolloMT-ItalicOsF A 340 eziof___ + mapri8x ApolloMT-ItalicExpert A 340 ezixp___ + mapr8a ApolloMT A 340 ezr_____ + maprc8a ApolloMT-SC A 340 ezrsc___ + maps8a ApolloMT-SemiBold A 340 ezsb____ + mapsj8a ApolloMT-SemiBoldOsF A 340 ezsbo___ + maps8x ApolloMT-SemiBoldExpert A 340 ezsbx___ + p_____ Catull-Bold A 341 qlb_____ + p_____ Catull-Italic A 341 qli_____ + p_____ Catull-Medium A 341 qlm_____ + p_____ Catull-Regular A 341 qlrg____ + pagMMo8a ITCAvantGardeMM-Oblique A 342 zfi_____ + pagMM8a ITCAvantGardeMM A 342 zfrg____ + mhob8a HorleyOldStyleMT-Bold A 343 hsb_____ + mhobi8a HorleyOldStyleMT-BoldItalic A 343 hsbi____ + mhori8a HorleyOldStyleMT-Italic A 343 hsi_____ + mhol8a HorleyOldStyleMT-Light A 343 hsl_____ + mholi8a HorleyOldStyleMT-LightItalic A 343 hsli____ + mhor8a HorleyOldStyleMT A 343 hsrg____ + mhos8a HorleyOldStyleMT-SemiBold A 343 hssb____ + mhosi8a HorleyOldStyleMT-SbItalic A 343 hssbi___ + p_____ Cremona-Bold A 344 _cb_____ + p_____ Cremona-BoldItalic A 344 _cbi____ + p_____ Cremona-Italic A 344 _ci_____ + p_____ Cremona-Regular A 344 _crg____ + pgsb8aq GillSans-BoldExtraCondensed A 345 gnbxc___ + pgslh8a GillSans-LightShadowed A 345 gnls____ + pgsrh8a GillSans-Shadowed A 345 gns_____ + pgsxd8a GillSans-ExtraBoldDisplay A 345 gnxbd___ + p_____ LoType-Bold A 346 ljb_____ + p_____ LoType-Light A 346 ljl_____ + p_____ LoType-Medium A 346 ljm_____ + p_____ LoType-MediumCondensed A 346 ljmc____ + p_____ LoType-MediumItalic A 346 ljmi____ + p_____ LoType-Regular A 346 ljrg____ + mknr8a KinoMT A 347 qi______ + mwrrf8a WittenbergerFrakturMT A 347 wf______ + mwrbf8a WittenbergerFrakturMT-Bd A 347 wfb_____ + mwdbf7c WittenbergerFrakturMT-BdDfr A 347 wfbdf___ + mwdrf7c WittenbergerFrakturMT-Dfr A 347 wfdfr___ + mm7r8a MaturaMT A 347 zz______ + mm7rw8a MaturaMT-ScriptCapitals A 347 zzscc___ + pllbij8a LinoLetter-BoldItalicOsF A 348 llbio___ + pllbk8a LinoLetter-BoldOsF A 348 llbof___ + pllbc8a LinoLetter-BoldSC A 348 llbsc___ + pllrij8a LinoLetter-ItalicOsF A 348 lliof___ + pllmij8a LinoLetter-MediumItalicOsF A 348 llmio___ + pllmj8a LinoLetter-MediumOsF A 348 llmof___ + pllmc8a LinoLetter-MediumSC A 348 llmsc___ + pllrj8a LinoLetter-RomanOsF A 348 llros___ + pllrc8a LinoLetter-RomanSC A 348 llrsc___ + pllcij8a LinoLetter-BlackItalicOsF A 348 llzio___ + pllcj8a LinoLetter-BlackOsF A 348 llzof___ + pllcc8a LinoLetter-BlackSC A 348 llzsc___ + pbbbij8a Bembo-BoldItalicOsF A 349 bmbio___ + pbbbi8x Bembo-BoldItalicExpert A 349 bmbix___ + pbbbj8a Bembo-BoldOsF A 349 bmbos___ + pbbb8x Bembo-BoldExpert A 349 bmbxp___ + pbbxj8a Bembo-ExtraBoldOsF A 349 bmebs___ + pbbx8x Bembo-ExtraBoldExpert A 349 bmebx___ + pbbxij8a Bembo-ExtraBoldItalicOsF A 349 bmeis___ + pbbxi8x Bembo-ExtraBoldItalicExpert A 349 bmeix___ + pbbr8x Bembo-Expert A 349 bmexp___ + pbbrij8a Bembo-ItalicOsF A 349 bmios___ + pbbri8x Bembo-ItalicExpert A 349 bmixp___ + pbbrc8a Bembo-SC A 349 bmrsc___ + pbbsj8a Bembo-SemiboldOsF A 349 bmsbo___ + pbbs8x Bembo-SemiboldExpert A 349 bmsbx___ + pbbsij8a Bembo-SemiboldItalicOsF A 349 bmsis___ + pbbsi8x Bembo-SemiboldItalicExpert A 349 bmsix___ + ptkMMo8a TektonMM-Oblique A 350 zji_____ + ptkMM8a TektonMM A 350 zjrg____ + pvvMM8a VivaMM A 351 zkrg____ + pb7b8a BernhardModern-Bold A 352 rdb_____ + pb7bi8a BernhardModern-BoldItalic A 352 rdbi____ + pb7ri8a BernhardModern-Italic A 352 rdi_____ + pb7r8a BernhardModern-Roman A 352 rdr_____ + p_____ Ariadne-Roman A 353 aria____ + pdiri8a Diotima-Italic A 353 dti_____ + pdirij8a Diotima-ItalicOsF A 353 dtiof___ + pdir8a Diotima-Roman A 353 dtr_____ + pdirj8a Diotima-RomanOsF A 353 dtros___ + pdirc8a Diotima-RomanSC A 353 dtrsc___ + p_____ Smaragd A 353 smar____ + p_____ Smaragd-Alternate A 353 smara___ + pttb6w TimesTenCyr-Bold A 354 ttyb____ + pttbo6w TimesTenCyr-BoldInclined A 354 ttybi___ + pttro6w TimesTenCyr-Inclined A 354 ttyi____ + pttr6w TimesTenCyr-Upright A 354 ttyu____ + panr8a Anna A 355 iarg____ + p_____ Beesknees A 355 ikh_____ + p_____ MonaLisa-Recut A 355 iyin____ + p_____ MonaLisa-Solid A 355 iysd____ + p_____ Ozwald A 355 ozh_____ + po8b8a OfficinaSerif-Bold A 356 ovb_____ + po8bi8a OfficinaSerif-BoldItalic A 356 ovbi____ + po8k8a OfficinaSerif-Book A 356 ovbk____ + po8ki8a OfficinaSerif-BookItalic A 356 ovwi____ + po9b8a OfficinaSans-Bold A 357 owb_____ + po9bi8a OfficinaSans-BoldItalic A 357 owbi____ + po9k8a OfficinaSans-Book A 357 owbk____ + po9ki8a OfficinaSans-BookItalic A 357 owwi____ + p_____ SanvitoMM A 358 zhrg____ + p_____ CaflischScriptMM-Alt A 359 zea_____ + p_____ CaflischScriptMM A 359 zerg____ + p_____ CaflischScriptMM-Sw A 359 zesw____ + p_____ GraphiteMM A 360 _grg____ + phir6w HelveticaInseratCyr-Upright A 361 hiyu____ + phvb6w HelveticaCyr-Bold A 361 hvyb____ + phvbo6w HelveticaCyr-BoldInclined A 361 hvybi___ + phvro6w HelveticaCyr-Inclined A 361 hvyi____ + phvr6w HelveticaCyr-Upright A 361 hvyu____ + plzb8a LegacySans-Bold A 362 lvb_____ + plzbi8a LegacySans-BoldItalic A 362 lvbi____ + plzm8a LegacySans-Medium A 362 lvm_____ + plzmi8a LegacySans-MediumItalic A 362 lvmi____ + plzu8a LegacySans-Ultra A 362 lvu_____ + plzk8a LegacySans-Book A 362 lvw_____ + plzki8a LegacySans-BookItalic A 362 lvwi____ + pleb8a LegacySerif-Bold A 363 lzb_____ + plebi8a LegacySerif-BoldItalic A 363 lzbi____ + plem8a LegacySerif-Medium A 363 lzm_____ + plemi8a LegacySerif-MediumItalic A 363 lzmi____ + pleu8a LegacySerif-Ultra A 363 lzu_____ + plek8a LegacySerif-Book A 363 lzw_____ + pleki8a LegacySerif-BookItalic A 363 lzwi____ + pexr6w ExcelsiorCyr-Upright A 364 exy_____ + pexb6w ExcelsiorCyr-Bold A 364 exyb____ + pexro6w ExcelsiorCyr-Inclined A 364 exyi____ + pbvr6w BaskervilleCyr-Upright A 365 _by_____ + pbvb6w BaskervilleCyr-Bold A 365 _byb____ + pbvbo6w BaskervilleCyr-Inclined A 365 _byi____ + p_____ Pepperwood-Fill A 366 uwfi____ + p_____ Pepperwood-Outline A 366 uwou____ + p_____ Pepperwood-Regular A 366 uwrg____ + p_____ Rosewood-Fill A 366 uxfi____ + p_____ Rosewood-Regular A 366 uxrg____ + p_____ Zebrawood-Fill A 366 uyfi____ + p_____ Zebrawood-Regular A 366 uyrg____ + p_____ MendozaRoman-Bold A 367 zab_____ + p_____ MendozaRoman-BoldItalic A 367 zabi____ + p_____ MendozaRoman-Medium A 367 zam_____ + p_____ MendozaRoman-MediumItalic A 367 zami____ + p_____ MendozaRoman-Book A 367 zaw_____ + p_____ MendozaRoman-BookItalic A 367 zawi____ + phhb8a Highlander-Bold A 368 hhb_____ + phhbi8a Highlander-BoldItalic A 368 hhbi____ + phhk8a Highlander-Book A 368 hhbk____ + phhm8a Highlander-Medium A 368 hhm_____ + phhmi8a Highlander-MediumItalic A 368 hhmi____ + phhki8a Highlander-BookItalic A 368 hhwi____ + pbgb8a Benguiat-Bold A 369 bgb_____ + pbgbi8a Benguiat-BoldItalic A 369 bgbi____ + pbgm8a Benguiat-Medium A 369 bgm_____ + pbgmi8a Benguiat-MediumItalic A 369 bgmi____ + pbgk8a Benguiat-Book A 369 bgw_____ + pbgki8a Benguiat-BookItalic A 369 bgwi____ + p_____ MezzMM A 370 zmrg____ + lrzb8a RuzickaFreehandLH-Bold A 371 rzb_____ + lrzbc8a RuzickaFreehandLH-BoldSC A 371 rzbsc___ + lrzr8a RuzickaFreehandLH-Roman A 371 rzr_____ + lrzrc8a RuzickaFreehandLH-RomanSC A 371 rzrsc___ + pnorf7c NotreDame-RomanDfr A 372 nhdfr___ + pnorp NotreDame-Ornaments A 372 nhorn___ + pnorf8a NotreDame-Roman A 372 nhr_____ + ppjrp Pompeijana-Borders A 372 qbbor___ + ppjr8a Pompeijana-Roman A 372 qbr_____ + prxrp Rusticana-Borders A 372 rxbor___ + prxr8a Rusticana-Roman A 372 rxr_____ + lpi005 CaravanLH-One A 373 cara1___ + lpi006 CaravanLH-Two A 373 cara2___ + lpi007 CaravanLH-Three A 373 cara3___ + lpi008 CaravanLH-Four A 373 cara4___ + leab8a ElectraLH-Bold A 373 etb_____ + leabi8a ElectraLH-BoldCursive A 373 etbi____ + leari8a ElectraLH-Cursive A 373 eti_____ + lear8a ElectraLH-Regular A 373 etr_____ + leabij8a ElectraLH-BoldCursiveOsF A 374 etbio___ + leabj8a ElectraLH-BoldOsF A 374 etbos___ + leabc8a ElectraLH-BoldSC A 374 etbsc___ + leabd8a ElectraLH-BoldDisplay A 374 etdb____ + leabid8a ElectraLH-BoldCursiveDisplay A 374 etdbi___ + learid8a ElectraLH-CursiveDisplay A 374 etdi____ + leard8a ElectraLH-Display A 374 etdr____ + learij8a ElectraLH-CursiveOsF A 374 etios___ + learj8a ElectraLH-RegularOsF A 374 etros___ + learc8a ElectraLH-RegularSC A 374 etrsc___ + p_____ RulingScript-Two A 375 rul2____ + p_____ Sho-Roman A 375 sho_____ + p_____ WiesbadenSwing-Roman A 375 wn______ + p_____ MotterCorpusMM A 376 kprg____ + p_____ PenumbraMM A 377 zlrg____ + p_____ NuevaMM-It A 378 twi_____ + p_____ NuevaMM A 378 twr_____ + pctbif8a Cheltenham-HandtooledBdIt A 379 chiin___ + pctbf8a Cheltenham-HandtooledBold A 379 chin____ + pgmbif8a Garamond-HandtooledBoldItalic A 379 gaiin___ + pgmbf8a Garamond-HandtooledBold A 379 gain____ + pcnbif8a Century-HandtooledBoldItalic A 379 iciin___ + pcnbf8a Century-HandtooledBold A 379 icin____ + pgmMM8a ITCGaramondMM A 380 gc______ + pgmMMi8a ITCGaramondMM-It A 380 gci_____ + p_____ Cerigo-Bold A 381 qcb_____ + p_____ Cerigo-BoldItalic A 381 qcbi____ + p_____ Cerigo-Medium A 381 qcm_____ + p_____ Cerigo-MediumItalic A 381 qcmi____ + p_____ Cerigo-Book A 381 qcw_____ + p_____ Cerigo-BookItalic A 381 qcwi____ + phab8a Hadriano-Bold A 382 hab_____ + phax8a Hadriano-ExtraBold A 382 haeb____ + phax8ac Hadriano-ExtraBoldCondensed A 382 haebc___ + phal8a Hadriano-Light A 382 hal_____ + prcb8a Romic-Bold A 383 rob_____ + prcx8a Romic-ExtraBold A 383 roeb____ + prcl8a Romic-Light A 383 rol_____ + prcli8a Romic-LightItalic A 383 roli____ + prcm8a Romic-Medium A 383 rom_____ + p_____ Copal-Decorated A 384 _ddc____ + p_____ Copal-Outline A 384 _dou____ + p_____ Copal-Solid A 384 _dsd____ + pxpMM7a ExPontoMM-Alternate A 385 jvalt___ + pxpMM7ab ExPontoMM-Beginning A 385 jvbeg___ + pxpMM7ae ExPontoMM-Ending A 385 jvend___ + pxpMM8a ExPontoMM A 385 jvrg____ + pxpMMj8a ExPontoMM-OsF A 385 jvros___ + pysb8a GoudySans-Bold A 386 hgb_____ + pysbi8a GoudySans-BoldItalic A 386 hgbi____ + pysk8a GoudySans-Book A 386 hgbk____ + pyski8a GoudySans-BookItalic A 386 hgbki___ + pysc8a GoudySans-Black A 386 hgbl____ + pysci8a GoudySans-BlackItalic A 386 hgbli___ + pysm8a GoudySans-Medium A 386 hgm_____ + pysmi8a GoudySans-MediumItalic A 386 hgmi____ + p_____ Delphin-I A 387 df1_____ + p_____ Delphin-IA A 387 df1a____ + p_____ Delphin-II A 387 df2_____ + p_____ Delphin-IIA A 387 df2a____ + pc7b8a Kompakt A 387 kq______ + p_____ KochAntiqua A 387 kv______ + pnlb8a Neuland A 387 nq______ + p_____ Caliban A 388 ni______ + paxrw8a Alexa A 388 xa______ + pbzrw8a Balzano A 388 zn______ + p_____ JimboMM A 389 jprg____ + pb7b8ac Bernhard-BoldCondensed A 390 dhbc____ + pnw1r8a NeueHammerUnziale-One A 390 nw1_____ + pnw1r7a NeueHammerUnziale-OneAlt A 390 nw1al___ + pnw2r8a NeueHammerUnziale-Two A 390 nw2_____ + pnw2r7a NeueHammerUnziale-TwoAlt A 390 nw2al___ + pclrl8a Cloister-OpenFace A 390 oein____ + poir8a Ondine A 390 og______ + pghr7a Galahad-Alternate A 391 g_alt___ + pghr8a Galahad-Regular A 391 g_rg____ + pghrj8a Galahad-OsF A 391 g_ros___ + popc8a Optima-Black A 392 opbl____ + popci8a Optima-BlackItalic A 392 opbli___ + popd8a Optima-DemiBold A 392 opd_____ + popdi8a Optima-DemiBoldItalic A 392 opdi____ + popx8a Optima-ExtraBlack A 392 opf_____ + popm8a Optima-Medium A 392 opm_____ + popmi8a Optima-MediumItalic A 392 opmi____ + popxi8a Optima-ExtraBlackItalic A 392 opxfi___ + p_____ Aja A 393 ja______ + p_____ PopplExquisit-Medium A 393 xqm_____ + p_____ PopplExquisit-Regular A 393 xqrg____ + ppi033 NationalCodes-Africa A 394 ncaf____ + ppi034 NationalCodes-America A 394 ncam____ + ppi035 NationalCodes-AsiaPlus A 394 ncas____ + ppi036 NationalCodes-Europe A 394 nceu____ + ppi037 NationalCodes-Universal A 394 ncun____ + p_____ ElGreco A 395 eq______ + pakm8a Arkona-Medium A 395 xnm_____ + pakr8a Arkona-Regular A 395 xnrg____ + pfgd8ap FranklinGothic-DemiCmpr A 396 frdcp___ + pfgdi8ap FranklinGothic-DemiCmprItal A 396 frdpi___ + pfgd8aq FranklinGothic-DemiXCmpr A 396 frdx____ + pfgk8ap FranklinGothic-BookCmpr A 396 frwcp___ + pfgki8ap FranklinGothic-BookCmprItal A 396 frwpi___ + pfgk8aq FranklinGothic-BookXCmpr A 396 frwx____ + pfgd8ac FranklinGothic-DemiCnd A 397 frdc____ + pfgdi8ac FranklinGothic-DemiCndItal A 397 frdci___ + pfgm8ac FranklinGothic-MedCnd A 397 frmc____ + pfgmi8ac FranklinGothic-MedCndItal A 397 frmci___ + pfgk8ac FranklinGothic-BookCnd A 397 frwc____ + pfgki8ac FranklinGothic-BookCndItal A 397 frwci___ + p_____ Sassafras-Italic A 398 xfi_____ + p_____ Sassafras-LxItalic A 398 xflgi___ + p_____ Sassafras-Lx A 398 xflgr___ + p_____ Sassafras-Roman A 398 xfr_____ + p_____ Sassafras-SxItalic A 398 xfshi___ + p_____ Sassafras-Sx A 398 xfshr___ + pkxrd8a Kigali-Block A 399 kxblk___ + pkxrw8a Kigali-ZigZag A 399 kxdc____ + pkxri8a Kigali-Italic A 399 kxi_____ + pkxli8a Kigali-LxItalic A 399 kxlgi___ + pkxl8a Kigali-Lx A 399 kxlgr___ + pkxr8a Kigali-Roman A 399 kxr_____ + pkxsi8a Kigali-SxItalic A 399 kxshi___ + pkxs8a Kigali-Sx A 399 kxshr___ + pajMMi8a AJensonMM-It A 400 jei_____ + pajMM8a AJensonMM A 400 jer_____ + pajMM7a AJensonMM-Alt A 401 jealt___ + pajMM8x AJensonMM-Ep A 401 jeexp___ + pajMMi7a AJensonMM-ItAlt A 401 jeial___ + pajMMic8a AJensonMM-ItSC A 401 jeisc___ + pajMMi8x AJensonMM-ItEp A 401 jeixp___ + pajMMc8a AJensonMM-SC A 401 jersc___ + pajMMiw8a AJensonMM-Sw A 401 jeswc___ + mbmb8a BulmerMT-Bold A 402 ybb_____ + mbmbi8a BulmerMT-BoldItalic A 402 ybbi____ + mbmbd8a BulmerMT-BoldDisplay A 402 ybdb____ + mbmbid8a BulmerMT-BoldItalicDisplay A 402 ybdbi___ + mbmrd8a BulmerMT-RegularDisplay A 402 ybds____ + mbmrid8a BulmerMT-ItalicDisplay A 402 ybdsi___ + mbmri8a BulmerMT-Italic A 402 ybi_____ + mbmr8a BulmerMT-Regular A 402 ybrg____ + mbms8a BulmerMT-SemiBold A 402 ybsb____ + mbmsi8a BulmerMT-SemiBoldItalic A 402 ybsi____ + mbmb7a BulmerMT-BoldAlt A 403 ybab____ + mbmbi7a BulmerMT-BoldItalicAlt A 403 ybabi___ + mbmr7a BulmerMT-RegularAlt A 403 ybarg___ + mbms7a BulmerMT-SemiBoldAlt A 403 ybasb___ + mbmsi7a BulmerMT-SemiBoldItalicAlt A 403 ybasi___ + mbmbd7a BulmerMT-BoldDisplayAlt A 403 ybbda___ + mbmbid7a BulmerMT-BoldItalDisplayAlt A 403 ybbid___ + mbmbi8x BulmerMT-BoldItalicExpert A 403 ybbix___ + mbmb8x BulmerMT-BoldExpert A 403 ybbxp___ + mbmri7a BulmerMT-ItalicAlt A 403 ybial___ + mbmrid7a BulmerMT-ItalicDisplayAlt A 403 ybida___ + mbmri8x BulmerMT-ItalicExpert A 403 ybixp___ + mbmrd7a BulmerMT-RegularDisplayAlt A 403 ybrda___ + mbmr8x BulmerMT-RegularExpert A 403 ybrgx___ + mbmrc8a BulmerMT-RegularSC A 403 ybrsc___ + mbmsc8a BulmerMT-SemiBoldSC A 403 ybsbs___ + mbms8x BulmerMT-SemiBoldExpert A 403 ybsbx___ + mbmsi8x BulmerMT-SemiBoldItalExpert A 403 ybsix___ + pizr8a Isabella A 404 iz______ + prrr8a Raphael A 404 rr______ + pxcr8a Eccentric A 404 xc______ + p_____ OceanSansMM-It A 405 ohi_____ + p_____ OceanSansMM A 405 ohr_____ + plcrt8a LucidaTypewriter A 406 tl______ + plcbt8a LucidaTypewriter-Bold A 406 tlb_____ + plcbot8a LucidaTypewriter-BoldObl A 406 tlbo____ + plcrot8a LucidaTypewriter-Obl A 406 tlo_____ + plsrt8a LucidaSansTypewriter A 407 ty______ + plsbt8a LucidaSansTypewriter-Bd A 407 tyb_____ + plsbot8a LucidaSansTypewriter-BdObl A 407 tybo____ + plsrot8a LucidaSansTypewriter-Obl A 407 tyo_____ + p_____ BriemScriptMM-Exp A 408 iiexp___ + p_____ BriemScriptMM A 408 iirg____ + p_____ BriemScriptMM-SC A 408 iisc____ + pkpMM8a KeplMM A 409 k_______ + pkpMMi8a KeplMM-It A 409 k_i_____ + pkpMM8x KeplMM-Ep A 410 k_exp___ + pkpMMic8a KeplMM-ItSC A 410 k_isc___ + pkpMMi8x KeplMM-ItEp A 410 k_ixp___ + pkpMMp1 KeplMM-Or1 A 410 k_or1___ + pkpMMp2 KeplMM-Or2 A 410 k_or2___ + pkpMMp3 KeplMM-Or3 A 410 k_or3___ + pkpMMc8a KeplMM-SC A 410 k_rsc___ + pkpMMiw8a KeplMM-Sw A 410 k_sw____ + pmjr8a Mojo A 411 fbrg____ + p_____ Shuriken-Boy A 412 s_boy___ + p_____ Andreas A 413 hy______ + poqr8a Ouch A 414 oq______ + p_____ CongaBravaMM A 415 vbrg____ + p_____ CongaBravaMM-St A 415 vbst____ + p_____ CronosMM A 416 xo______ + p_____ CronosMM-It A 416 xoi_____ + p_____ CronosMM-Ep A 417 xoexp___ + p_____ CronosMM-ItSC A 417 xoisc___ + p_____ CronosMM-ItEp A 417 xoixp___ + p_____ CronosMM-Or A 417 xoor____ + p_____ CronosMM-SC A 417 xorsc___ + p_____ CronosMM-Sw A 417 xosw____ + pdkb8a Diskus-Bold A 418 d_b_____ + pdkr8a Diskus A 418 d_rg____ + potb8a Coronet-Bold A 418 n_b_____ + potr8a Coronet A 418 n_rg____ + p_____ ChaparralMM-It A 419 xti_____ + p_____ ChaparralMM A 419 xtr_____ + p_____ ChaparralMM-Ep A 420 xtexp___ + p_____ ChaparralMM-ItSC A 420 xtisc___ + p_____ ChaparralMM-ItEp A 420 xtixp___ + p_____ ChaparralMM-Or A 420 xtor____ + p_____ ChaparralMM-SC A 420 xtrsc___ + ppi038 WiesbadenSwing-Dingbats A 421 wgdb____ + p_____ BermudaLP-Dots A 422 uddc1___ + p_____ BermudaLP-Squiggle A 422 uddc2___ + p_____ BermudaLP-Open A 422 udou____ + p_____ BermudaLP-Solid A 422 udrg____ + p_____ SpumoniLP A 423 uu______ + pzpr8a ZiptyDo A 424 zp______ + pkwr7a KoloLP-Alternates A 425 kwalt___ + pkwr8an KoloLP-Narrow A 425 kwn_____ + pkwr8a KoloLP-Regular A 425 kwrg____ + pkwr8aw KoloLP-Wide A 425 kwwd____ + pnxr8a Nyx A 426 nxrg____ + p_____ Banshee A 427 zo______ + p_____ KinesisMM A 428 kj______ + p_____ KinesisMM-It A 428 kji_____ + p_____ KinesisMM-Ep A 429 kjexp___ + p_____ KinesisMM-ItSC A 429 kjisc___ + p_____ KinesisMM-ItEp A 429 kjixp___ + p_____ KinesisMM-SC A 429 kjrsc___ + p_____ HardwoodLP A 430 hw______ + p_____ ManitoLP A 431 mw______ + p_____ Coriander A 432 uc______ + p_____ SpringLP A 433 td______ + p_____ SpringLP-Light A 433 tdl_____ + pwhb8a WendyLP-Bold A 434 whb_____ + pwhl8a WendyLP-Light A 434 whl_____ + pwhm8a WendyLP-Medium A 434 whm_____ + p_____ BickhamScriptMM-AltI A 435 b_a1____ + p_____ BickhamScriptMM-AltII A 435 b_a2____ + p_____ BickhamScriptMM-Beg A 435 b_bg____ + p_____ BickhamScriptMM-End A 435 b_en____ + p_____ BickhamScriptMM-Lig A 435 b_lig___ + p_____ BickhamScriptMM-Or A 435 b_or____ + p_____ BickhamScriptMM A 435 b_rg____ + p_____ BickhamScriptMM-SwCaps A 435 b_swc___ + pojr8a OldClaudeLP A 436 oj______ + pojrj8a OldClaudeLP-OsF A 436 ojosf___ + pojrc8a OldClaudeLP-SC A 436 ojsc____ + p_____ FlorensLP A 437 fn______ + p_____ FlorensLP-Alternates A 437 fnalt___ + p_____ BriemAkademiMM A 438 dkrg____ + p_____ Khaki-One A 439 hk1_____ + p_____ Khaki-Two A 439 hk2_____ + p_____ Pompeia-InlineItalic A 440 vpiit___ + p_____ Pompeia-Inline A 440 vpin____ + p_____ Flood A 441 fyrg____ + pwtMM7a WatersTitlingMM-Alt A 442 jwalt___ + pwtMM7al WatersTitlingMM-Lig A 442 jwlig___ + pwtMM8a WatersTitlingMM A 442 jwr_____ + pwtMMd8a WatersTitlingMM-TallCaps A 442 jwtlc___ + p_____ CelestiaAntiqua-Regular A 443 zs______ + p_____ CelestiaAntiqua-Bold A 443 zsb_____ + p_____ CelestiaAntiqua-BoldLig A 443 zsbdl___ + p_____ CelestiaAntiqua-Italic A 443 zsi_____ + p_____ CelestiaAntiqua-ItalicLig A 443 zsitl___ + p_____ CelestiaAntiqua-Ligatures A 443 zslig___ + p_____ CelestiaAntiqua-Ornaments A 443 zsor____ + p_____ CelestiaAntiqua-Semibold A 443 zssb____ + p_____ CelestiaAntiqua-SmBdLig A 443 zssbl___ + p_____ CelestiaAntiqua-SC A 443 zssc____ + pmyr8ac Myriad-Condensed A 444 wmc_____ + pmyb8ac Myriad-CnBold A 444 wmcb____ + pmybi8ac Myriad-CnBoldItalic A 444 wmcbi___ + pmyri8ac Myriad-CnItalic A 444 wmci____ + pmys8ac Myriad-CnSemibold A 444 wms_____ + pmysi8ac Myriad-CnSemiboldItalic A 444 wmsi____ + p_____ Immi505 A 445 firg____ + p_____ MagnoliaMVB A 446 xm______ + p_____ MagnoliaMVB-Ligatures A 446 xmlig___ + p_____ BossaNovaMVB A 447 xb______ + p_____ BossaNovaMVB-Alternates A 447 xbalt___ + p_____ Emmascript A 448 xe______ + p_____ RusselOblique A 449 zr______ + p_____ RusselOblique-InformalAlt A 449 zralt___ + p_____ RusselOblique-Informal A 449 zrinf___ + mdtb8a DanteMT-Bold A 450 dlb_____ + mdtbi8a DanteMT-BoldItalic A 450 dlbi____ + mdtri8a DanteMT-Italic A 450 dli_____ + mdtm8a DanteMT-Medium A 450 dlm_____ + mdtmi8a DanteMT-MediumItalic A 450 dlmi____ + mdtr8a DanteMT-Regular A 450 dlrg____ + mdtb7a DanteMT-BoldAlt A 451 dlab____ + mdtbi7a DanteMT-BoldItalicAlt A 451 dlabi___ + mdtri7a DanteMT-ItalicAlt A 451 dlai____ + mdtr7a DanteMT-RegularAlt A 451 dlarg___ + mdtm7a DanteMT-MediumAlt A 451 dlasb___ + mdtmi7a DanteMT-MediumItalicAlt A 451 dlasi___ + mdtbij8a DanteMT-BoldItalicOsF A 451 dlbio___ + mdtbi8x DanteMT-BoldItalicExpert A 451 dlbix___ + mdtbj8a DanteMT-BoldOsF A 451 dlbos___ + mdtb8x DanteMT-BoldExpert A 451 dlbxp___ + mdtrij8a DanteMT-ItalicOsF A 451 dlios___ + mdtri8x DanteMT-ItalicExpert A 451 dlixp___ + mdtmij8a DanteMT-MediumItalicOsF A 451 dlmio___ + mdtmi8x DanteMT-MediumItalicExpert A 451 dlmix___ + mdtmj8a DanteMT-MediumOsF A 451 dlmof___ + mdtm8x DanteMT-MediumExpert A 451 dlmxp___ + mdtr8x DanteMT-RegularExpert A 451 dlrgx___ + mdtrc8a DanteMT-RegularSC A 451 dlsc____ + mdtrd8a DanteMT-Titling A 451 dlttl___ + myhb8a StrayhornMT-Bold A 452 yhb_____ + myhbi8a StrayhornMT-BoldItalic A 452 yhbi____ + myhx8a StrayhornMT-ExtraBold A 452 yheb____ + myhxi8a StrayhornMT-ExtraBoldItalic A 452 yhebi___ + myhri8a StrayhornMT-Italic A 452 yhi_____ + myhl8a StrayhornMT-Light A 452 yhl_____ + myhli8a StrayhornMT-LightItalic A 452 yhli____ + myhr8a StrayhornMT-Regular A 452 yhrg____ + myhbij8a StrayhornMT-BoldItalicOsF A 453 yhbio___ + myhbj8a StrayhornMT-BoldOsF A 453 yhbos___ + myhxj8a StrayhornMT-ExtraBoldOsF A 453 yhebs___ + myhxij8a StrayhornMT-ExtraBoldItaOsF A 453 yheis___ + myhrij8a StrayhornMT-ItalicOsF A 453 yhios___ + myhlij8a StrayhornMT-LightItalicOsF A 453 yhlio___ + myhlc8a StrayhornMT-LightSC A 453 yhlsc___ + myhrc8a StrayhornMT-RegularSC A 453 yhrsc___ + p_____ Postino-Italic A 454 xzi_____ + p_____ Postino A 454 xzr_____ + p_____ ReliqMM-OsF A 455 qeosf___ + p_____ ReliqMM A 455 qer_____ + p_____ Critter A 456 wc______ + p_____ Cutout A 457 wu______ + p_____ Studz A 458 wp______ + p_____ Rad A 459 wr______ + p_____ Mythos A 460 wy______ + p_____ Toolbox A 461 wt______ + p_____ Quake A 462 wq______ + pg2r8a Giddyup-Regular A 463 wg______ + pg2r Giddyup-Thangs A 463 wgtha___ + pmyrl8a Myriad-Sketch A 464 wmske___ + pmyrn8a Myriad-Tilt A 464 wmtil___ + mbeb8a BellMT-Bold A 465 xlb_____ + mbebi8a BellMT-BoldItalic A 465 xlbi____ + mberi8a BellMT-Italic A 465 xli_____ + mber8a BellMT-Regular A 465 xlrg____ + mbes8a BellMT-SemiBold A 465 xlsb____ + mbesi8a BellMT-SemiBoldItalic A 465 xlsbi___ + mber7a BellMT-RegularAlt A 466 xlarg___ + mbes7a BellMT-SemiBoldAlt A 466 xlasb___ + mbesi7a BellMT-SemiBoldItalicAlt A 466 xlasi___ + mbebi8x BellMT-BoldItalicExpert A 466 xlbix___ + mbeb8x BellMT-BoldExpert A 466 xlbxp___ + mber8x BellMT-RegularExpert A 466 xlexp___ + mberi7a BellMT-ItalicAlt A 466 xlial___ + mberi8x BellMT-ItalicExpert A 466 xlixp___ + mberx7a BellMT-RegularExpertAlt A 466 xlrxa___ + mbesc8a BellMT-SemiBoldSC A 466 xlsbs___ + mbes8x BellMT-SemiBoldExpert A 466 xlsbx___ + mberc8a BellMT-RegularSC A 466 xlsc____ + mbesi8x BellMT-SemiBoldItalicExpert A 466 xlsix___ + mbesx7a BellMT-SemiBoldExpertAlt A 466 xlsxa___ + mf1ri7a FournierMT-ItalicAlt A 467 xyali___ + mf1r7a FournierMT-RegularAlt A 467 xyalt___ + mf1ri8a FournierMT-Italic A 467 xyi_____ + mf1rij8a FournierMT-ItalicOsF A 467 xyios___ + mf1ri8x FournierMT-ItalicExpert A 467 xyixp___ + mf1rp FournierMT-Ornaments A 467 xyorn___ + mf1r8a FournierMT-Regular A 467 xyrg____ + mf1r8x FournierMT-RegularExpert A 467 xyrgx___ + mf1rc8a FournierMT-RegularSC A 467 xysc____ + mf1rid8a FournierMT-ItalicTallCaps A 467 xytti___ + mf1rd8a FournierMT-TallCaps A 467 xyttl___ + p_____ CTMercurius-Black A 468 uibl____ + p_____ CTMercurius-BlackItalic A 468 uibli___ + p_____ CTMercurius-Light A 468 uil_____ + p_____ CTMercurius-LightItalic A 468 uili____ + p_____ CTMercurius-Medium A 468 uim_____ + p_____ CTMercurius-MediumItalic A 468 uimi____ + p_____ Fusaka-Regular A 469 fv______ + p_____ Fusaka-Alternates A 469 fvalt___ + p_____ MagnesiumMVB A 470 uh______ + p_____ MagnesiumMVB-Grime A 470 uhdc1___ + m_____ GillFloriatedCapsMT-Alt A 471 fwalt___ + m_____ GillFloriatedCapsMT A 471 fwcap___ + p_____ Origami-Bold A 472 xrb_____ + p_____ Origami-BoldItalic A 472 xrbi____ + p_____ Origami-Italic A 472 xri_____ + p_____ Origami-Medium A 472 xrm_____ + p_____ Origami-MediumItalic A 472 xrmi____ + p_____ Origami-Regular A 472 xrrg____ + p_____ Origami-Semibold A 472 xrsb____ + p_____ Origami-SemiboldItalic A 472 xrsbi___ + p_____ GreymantleMVB A 473 qg______ + p_____ GreymantleMVB-Alternates A 473 qgalt___ + p_____ GreymantleMVB-Ornaments A 473 qgor____ + p_____ VerveMM-A A 474 vvaaa___ + p_____ VerveMM A 474 vvr_____ + p_____ VolutaScript A 475 vs______ + p_____ VolutaScript-Alternates A 475 vsalt___ + p_____ VolutaScript-Swash A 475 vssw____ + pcwr8a Cottonwood A 476 c_______ + piwr8a Ironwood A 477 i_______ + pjpr8a Juniper A 478 j_______ + pmqr8a Mesquite A 479 m_______ + ppor8a Ponderosa A 480 p_______ + pbir8a Birch A 481 bi______ + pb0r8a Blackoak A 482 bo______ + pmrr8a Madrone A 483 mq______ + pp0r8a Poplar A 484 pp______ + pwwr8a Willow A 485 wi______ + p_____ Pepperwood-Fill A 486 uwfi____ + p_____ Pepperwood-Outline A 486 uwou____ + p_____ Pepperwood-Regular A 486 uwrg____ + p_____ Rosewood-Fill A 487 uxfi____ + p_____ Rosewood-Regular A 487 uxrg____ + p_____ Zebrawood-Fill A 488 uyfi____ + p_____ Zebrawood-Regular A 488 uyrg____ + ppi026 WoodtypeOrnaments-One A 489 woor____ + ppi027 WoodtypeOrnaments-Two A 489 woor2___ + pg1r8a Gothic-Thirteen A 490 gtt_____ + ptph8ac Tempo-HeavyCondensed A 491 tehc____ + ptphi8ac Tempo-HeavyCondensedItalic A 491 tehci___ + ppsr8a Parisian A 492 pn______ + pumr8a Umbra A 493 um______ + mg4ri8a GoudyModernMT-Italic A 494 ygi_____ + mg4r8a GoudyModernMT A 494 ygrg____ + ms1ri8a ScotchRomanMT-Italic A 495 ysi_____ + ms1r8a ScotchRomanMT A 495 ysrg____ + mfsr8a FalstaffMT A 496 fprg____ + mifb8a InflexMT-Bold A 497 iqb_____ + mm8bl8a MonotypeOldStyleMT-BoldOut A 498 mbbou___ + mfer8a ForteMT A 499 fz______ + mklr8a KlangMT A 500 kn______ + mmebw8a MercuriusMT-BoldScript A 501 uzbs____ + p_____ Smaragd A 502 smar____ + p_____ Smaragd-Alternate A 502 smara___ + p_____ Ariadne-Roman A 503 aria____ + pdiri8a Diotima-Italic A 503 dti_____ + pdirij8a Diotima-ItalicOsF A 503 dtiof___ + pdir8a Diotima-Roman A 503 dtr_____ + pdirj8a Diotima-RomanOsF A 503 dtros___ + pdirc8a Diotima-RomanSC A 503 dtrsc___ + p_____ Legault A 504 ul______ + p_____ Legault-Alternates A 504 ula_____ + p_____ Legault-BoldAlternates A 504 ulab____ + p_____ Legault-Bold A 504 ulb_____ + p_____ BlueIsland A 505 ihrg____ + pbdp8ap Bodoni-PosterCompressed A 900 bdpsc___ + pbax8a Barmeno-ExtraBold A 900 bfeb____ + pb0r8a Blackoak A 900 bo______ + zpcp33bc Copperplate-ThirtyThreeBC A 900 cp33c___ + prtr Carta A 900 cr______ + pdcr8a DomCasual A 900 dc______ + mtlr8a CastellarMT A 900 el______ + mp2r8a PepitaMT A 900 epscr___ + pgsr8ac GillSans-Condensed A 900 gnc_____ + pgsu8a GillSans-UltraBold A 900 gnub____ + mgtrd8a GoudyTextMT-LombardicCapitals A 900 gxlom___ + piwr8a Ironwood A 900 i_______ + mbfrw8a BiffoMT A 900 ifscr___ + pimx8a Imago-ExtraBold A 900 ioeb____ + mjori8a JoannaMT-Italic A 900 joi_____ + mjor8a JoannaMT A 900 jor_____ + p_____ Colossalis-Bold A 900 kob_____ + plgr8a LetterGothic A 900 lg______ + plor8a Lithos-Regular A 900 lorg____ + pmqr8a Mesquite A 900 m_______ + pmnrp Minion-Ornaments A 900 moor____ + pnurw8a NuptialScript A 900 nu______ + pper8a PrestigeElite A 900 pe______ + pqsr8a Bellevue A 900 qsrg____ + p_____ AGOldFace-Outline A 900 qwou____ + mrur8ac RunicMT-Condensed A 900 ric_____ + prwx8a Rockwell-ExtraBold A 900 rkeb____ + pslr8a Stencil A 900 st______ + pwwr8a Willow A 900 wi______ + ppi027 WoodtypeOrnaments-Two A 900 woor2___ + pbir8a Birch A 901 bi______ + putrd8a Utopia-Headline A 901 uthd____ + p_____ Critter A 901 wc______ + pg2r8a Giddyup-Regular A 901 wg______ + pg2r Giddyup-Thangs A 901 wgtha___ + pmyrd8a Myriad-Headline A 901 wmhd____ + pmyrl8a Myriad-Sketch A 901 wmske___ + pmyrn8a Myriad-Tilt A 901 wmtil___ + p_____ Studz A 901 wp______ + p_____ Quake A 901 wq______ + p_____ Rad A 901 wr______ + p_____ Toolbox A 901 wt______ + p_____ Cutout A 901 wu______ + p_____ Mythos A 901 wy______ + pagd8a AvantGarde-Demi A 902 agd_____ + pagdo8a AvantGarde-DemiOblique A 902 agdo____ + pagk8a AvantGarde-Book A 902 agw_____ + pagko8a AvantGarde-BookOblique A 902 agwo____ + pamr8a Americana A 902 am______ + pamx8a Americana-ExtraBold A 902 ameb____ + pacri8a ACaslon-Italic A 902 awi_____ + pacr8a ACaslon-Regular A 902 awrg____ + pacs8a ACaslon-Semibold A 902 awsb____ + pacsi8a ACaslon-SemiboldItalic A 902 awsbi___ + pbab8a Barmeno-Bold A 902 bfb_____ + pbax8a Barmeno-ExtraBold A 902 bfeb____ + pbam8a Barmeno-Medium A 902 bfm_____ + pbar8a Barmeno-Regular A 902 bfrg____ + pbkd8a Bookman-Demi A 902 bkd_____ + pbkdi8a Bookman-DemiItalic A 902 bkdi____ + pbkl8a Bookman-Light A 902 bkl_____ + pbkli8a Bookman-LightItalic A 902 bkli____ + pb0r8a Blackoak A 902 bo______ + pcrb8a Courier-Bold A 902 cob_____ + pcrbo8a Courier-BoldOblique A 902 cobo____ + pcrr8a Courier A 902 com_____ + pcrro8a Courier-Oblique A 902 coo_____ + prtr Carta A 902 cr______ + pfari8a Formata-Italic A 902 fmi_____ + pfam8a Formata-Medium A 902 fmm_____ + pfami8a Formata-MediumItalic A 902 fmmi____ + pfar8a Formata-Regular A 902 fmrg____ + padb8a AGaramond-Bold A 902 gdb_____ + padbi8a AGaramond-BoldItalic A 902 gdbi____ + padri8a AGaramond-Italic A 902 gdi_____ + padr8a AGaramond-Regular A 902 gdrg____ + phvr8a Helvetica A 902 hv______ + phvb8a Helvetica-Bold A 902 hvb_____ + phvbo8a Helvetica-BoldOblique A 902 hvbo____ + phvr8an Helvetica-Narrow A 902 hvn_____ + phvb8an Helvetica-Narrow-Bold A 902 hvnb____ + phvbo8an Helvetica-Narrow-BoldOblique A 902 hvnbo___ + phvro8an Helvetica-Narrow-Oblique A 902 hvno____ + phvro8a Helvetica-Oblique A 902 hvo_____ + pkur8a Kaufmann A 902 kf______ + ploc8a Lithos-Black A 902 lobl____ + plor8a Lithos-Regular A 902 lorg____ + pncb8a NewCenturySchlbk-Bold A 902 ncb_____ + pncbi8a NewCenturySchlbk-BoldItalic A 902 ncbi____ + pncri8a NewCenturySchlbk-Italic A 902 nci_____ + pncr8a NewCenturySchlbk-Roman A 902 ncr_____ + ppar8a ParkAvenue A 902 pa______ + ppsr8a Parisian A 902 pn______ + pplb8a Palatino-Bold A 902 pob_____ + pplbi8a Palatino-BoldItalic A 902 pobi____ + pplri8a Palatino-Italic A 902 poi_____ + pplr8a Palatino-Roman A 902 por_____ + p_____ Poetica-SuppOrnaments A 902 pvor____ + psyr Symbol A 902 sy______ + ptmb8a Times-Bold A 902 tib_____ + ptmbi8a Times-BoldItalic A 902 tibi____ + ptmri8a Times-Italic A 902 tii_____ + ptmr8a Times-Roman A 902 tir_____ + ptjb8a Trajan-Bold A 902 tjb_____ + ptkb8a Tekton-Bold A 902 tkb_____ + ptkr8a Tekton A 902 tkrg____ + ppi027 WoodtypeOrnaments-Two A 902 woor2___ + pzcmi8a ZapfChancery-MediumItalic A 902 zcmi____ + pzdr ZapfDingbats A 902 zd______ + mp1rw8a PalaceScriptMT A 903 _p______ + pdjk8a Delta-Book A 903 djw_____ + pdjki8a Delta-BookItalic A 903 djwi____ + lenb8a EngraversLH-BoldFace A 903 ew______ + pfarl8a Formata-Outline A 903 fmou____ + pgsxd8a GillSans-ExtraBoldDisplay A 903 gnxbd___ + mbfrw8a BiffoMT A 903 ifscr___ + p_____ MonaLisa-Solid A 903 iysd____ + pjpr8a Juniper A 903 j_______ + p_____ LoType-Medium A 903 ljm_____ + p_____ LoType-MediumItalic A 903 ljmi____ + p_____ BerlinerGrotesk-Light A 903 otl_____ + prwb8ac Rockwell-BoldCondensed A 903 rkbc____ + prwr8ac Rockwell-Condensed A 903 rkc_____ + p_____ AGBook-Stencil A 903 tast____ + ms2bw8a ScriptMT-Bold A 903 tbscr___ + p_____ Cutout A 903 wu______ + ms1ri8a ScotchRomanMT-Italic A 903 ysi_____ + ms1r8a ScotchRomanMT A 903 ysrg____ + mm7r8a MaturaMT A 903 zz______ + mr2l8a CantoriaMT-Light A 904 eol_____ + p_____ Beesknees A 904 ikh_____ + p_____ LoType-Medium A 904 ljm_____ + pm1rw8a MonolineScriptMT A 904 on______ + p_____ Ozwald A 904 ozh_____ + mknr8a KinoMT A 904 qi______ + pb7r8a BernhardModern-Bold A 904 rdb_____ + puyr8a UniversityRoman A 904 ur______ + pbdp8ap Bodoni-PosterCompressed A 905 bdpsc___ + pctl8ac Cheltenham-LightCond A 905 chlc____ + pazl8ac AkzidenzGroteskBE-LightCn A 905 gflc____ + pgsb8aq GillSans-BoldExtraCondensed A 905 gnbxc___ + p_____ GaramondBE-Condensed A 905 gwc_____ + p_____ LoType-MediumCondensed A 905 ljmc____ + mrur8ac RunicMT-Condensed A 905 ric_____ + prwr8ac Rockwell-Condensed A 905 rkc_____ + p_____ Mezz-Regular A 906 vurg____ + p_____ Mezz-Black A 906 vuz_____ + p_____ CaflischScript-Bold A 906 vwb_____ + p_____ CaflischScript-Regular A 906 vwrg____ + p_____ Nueva-BoldExtendedItalic A 906 vxbei___ + p_____ Nueva-BoldExtended A 906 vxbv____ + p_____ Nueva-Italic A 906 vxi_____ + p_____ Nueva-Roman A 906 vxr_____ + pmyb8a Myriad-Bold A 906 wmb_____ + pmybi8a Myriad-BoldItalic A 906 wmbi____ + pmyri8a Myriad-Italic A 906 wmi_____ + pmyr8a Myriad-Roman A 906 wmr_____ + pmnb8ac Minion-BoldCondensed A 907 mobc____ + pmnbi8ac Minion-BoldCondensedItalic A 907 mobci___ + pmnr8ac Minion-Condensed A 907 moc_____ + pmnri8ac Minion-CondensedItalic A 907 moci____ + pvvx8ax Viva-BoldExtraExtended A 907 vabxe___ + pvvl8ac Viva-LightCondensed A 907 valc____ + pvvr8a Viva-Regular A 907 varg____ + p_____ Sanvito-Light A 907 vyl_____ + p_____ Sanvito-Roman A 907 vyr_____ + p_____ Penumbra-SemiboldFlare A 907 vzsfl___ + p_____ Penumbra-SemiboldSans A 907 vzssa___ + p_____ Penumbra-SemiboldSerif A 907 vzsse___ + ppc___ Poetica-ChanceryI A 908 pvch1___ + ppc___ Poetica-SuppLigatures A 908 pvlg____ + ppc___ Poetica-SuppOrnaments A 908 pvor____ + ppc___ Poetica-SuppSwashCapsI A 908 pvsw1___ + p_____ CaflischScript-Bold A 908 vwb_____ + p_____ CaflischScript-Regular A 908 vwrg____ + p_____ Sanvito-BoldDisplay A 908 vydb____ + p_____ Sanvito-Roman A 908 vyr_____ + p_____ Sanvito-Semibold A 908 vysb____ + pxpr8a ExPonto-Regular A 908 xprg____ + padri8a AGaramond-Italic A 912 gdi_____ + padr8a AGaramond-Regular A 912 gdrg____ + pads8a AGaramond-Semibold A 912 gdsb____ + padrc8a AGaramond-RegularSC A 912 gdsc____ + padrd8a AGaramond-Titling A 912 gdttl___ + pacri8a ACaslon-Italic A 913 awi_____ + pacrp ACaslon-Ornaments A 913 awor____ + pacr8a ACaslon-Regular A 913 awrg____ + pacs8a ACaslon-Semibold A 913 awsb____ + pacrc8a ACaslon-RegularSC A 913 awsc____ + pajrd8a AJenson-RegularDisplay A 914 jsds____ + pajri8a AJenson-Italic A 914 jsi_____ + pajr8a AJenson-Regular A 914 jsrg____ + pajs8a AJenson-Semibold A 914 jssb____ + pajrc8a AJenson-RegularSC A 914 jssc____ + p_____ Jimbo-Bold A 915 jpb_____ + pajsd8a AJenson-SemiboldDisplay A 915 jssp____ + pkpbd8ax Kepler-BoldExtendedDisplay A 915 k_bed___ + pkpsd8ac Kepler-SemiboldCondensedDisplay A 915 k_scd___ + p_____ Mezz-Bold A 915 vub_____ + p_____ Penumbra-BoldSerif A 915 vzbsr___ + p_____ Cronos-Display A 915 xodr____ + pxpr8a ExPonto-Regular A 915 xprg____ + p_____ Chaparral-Display A 915 xtdr____ + zpeurs EuroSans-Regular A 916 _1______ + zpeubs EuroSans-Bold A 916 _1b_____ + zpeubis EuroSans-BoldItalic A 916 _1bi____ + zpeuris EuroSans-Italic A 916 _1i_____ + zpeurt EuroMono-Regular A 916 _2______ + zpeubt EuroMono-Bold A 916 _2b_____ + zpeubit EuroMono-BoldItalic A 916 _2bi____ + zpeurit EuroMono-Italic A 916 _2i_____ + zpeur EuroSerif-Regular A 916 _3______ + zpeub EuroSerif-Bold A 916 _3b_____ + zpeubi EuroSerif-BoldItalic A 916 _3bi____ + zpeuri EuroSerif-Italic A 916 _3i_____ + pmsrw8a Mistral A 917 ms______ + ppc___ Poetica-ChanceryII A 917 pvch2___ + ppc___ Poetica-SuppSwashCapsII A 917 pvsw2___ + pprl8a PopplResidenz-Light A 917 pzl_____ + pprr8a PopplResidenz-Regular A 917 pzrg____ + psrrw8a SnellRoundhand-Script A 917 sn______ + mmebw8a MercuriusMT-BoldScript A 917 uzbs____ + pwhm8a WendyLP-Medium A 917 whm_____ + pbzrw8a Balzano A 917 zn______ + ppi028 ScienceTypeCustomPi-No1T ??? ________ + ppi029 ScienceTypeCustomPi-No2T ??? ________ + ppi030 ScienceTypeCustomPi-No3T ??? ________ + ppi031 ScienceTypeCustomPi-No4T ??? ________ + ppi032 ScienceTypeCustomPi-No5T ??? ________ + + +File: fontname.info, Node: Apple fonts, Next: Bitstream fonts, Prev: Adobe fonts, Up: Font name lists + +A.3 Apple fonts +=============== + +The `apple.map' file has abbreviations for Apple fonts. + + eecr8r AppleChancery + eger8r Geneva + ehtr8r HoeflerText + emcr8r Monaco + epi001 Zeal + eskr8r Skia + + +File: fontname.info, Node: Bitstream fonts, Next: DTC fonts, Prev: Apple fonts, Up: Font name lists + +A.4 Bitstream fonts +=================== + +The `bitstrea.map' file has abbreviations for Bitstream fonts. + + bhvl8a Swiss721BT-Light BT 0001 swz721l + bhvli8a Swiss721BT-LightItalic BT 0002 swz721li + bhvr8a Swiss721BT-Roman BT 0003 swz721n + bhvri8a Swiss721BT-Italic BT 0004 swz721i + bhvb8a Swiss721BT-Bold BT 0005 swz721b + bhvbi8a Swiss721BT-BoldItalic BT 0006 swz721bi + bhvc8a Swiss721BT-Black BT 0007 swz721k + bhvci8a Swiss721BT-BlackItalic BT 0008 swz721ki + bhvr8ac Swiss721BT-RomanCondensed BT 0009 swz721c + bhvb8ac Swiss721BT-BoldCondensed BT 0010 swz721bc + btmr8a Dutch801BT-Roman BT 0011 dut801n + btmri8a Dutch801BT-Italic BT 0012 dut801i + btmb8a Dutch801BT-Bold BT 0013 dut801b + btmbi8a Dutch801BT-BoldItalic BT 0014 dut801bi + bopr8a ZapfHumanist601BT-Roman BT 0015 zhum601n + bopri8a ZapfHumanist601BT-Italic BT 0016 zhum601i + bopb8a ZapfHumanist601BT-Bold BT 0017 zhum601b + bopbi8a ZapfHumanist601BT-BoldItalic BT 0018 zhu601bi + bsvl8a SouvenirITCbyBT-Light BT 0019 souvnrl + bsvli8a SouvenirITCbyBT-LightItalic BT 0020 souvnrli + bsvd8a SouvenirITCbyBT-Demi BT 0021 souvnrd + bsvdi8a SouvenirITCbyBT-DemiItalic BT 0022 souvnrdi + bplr8a ZapfCalligraphic801BT-Roman BT 0023 zcal801n + bplri8a ZapfCalligraphic801BT-Italic BT 0024 zcal801i + bplb8a ZapfCalligraphic801BT-Bold BT 0025 zcal801b + bplbi8a ZapfCalligraphic801BT-BoldItal BT 0026 zca801bi + bexr8a News702BT-Roman BT 0027 news702n + bexri8a News702BT-Italic BT 0028 news702i + bexb8a News702BT-Bold BT 0029 news702b + bexbi8a News702BT-BoldItalic BT 0030 new702bi + bbdk8a BodoniBT-Book BT 0035 bodonin + bbdki8a BodoniBT-BookItalic BT 0036 bodonini + bbdb8a BodoniBT-Bold BT 0037 bodonib + bbdbi8a BodoniBT-BoldItalic BT 0038 bodonibi + bcnr8ax CenturyExpandedBT-Roman BT 0039 centexn + bcnri8ax CenturyExpandedBT-Italic BT 0040 centexi + bcnb8ax CenturyExpandedBT-Bold BT 0041 centexb + bcnbi8ax CenturyExpandedBT-BoldItalic BT 0042 centexbi + bg3r8a AmericanGaramondBT-Roman BT 0043 amrgaran + bg3ri8a AmericanGaramondBT-Italic BT 0044 amrgarai + bg3b8a AmericanGaramondBT-Bold BT 0045 amrgarab + bg3bi8a AmericanGaramondBT-BoldItalic BT 0046 amrgarbi + bngr8a NewsGothicBT-Roman BT 0047 newsgotn + bngri8a NewsGothicBT-Italic BT 0048 newsgot + bngb8a NewsGothicBT-Bold BT 0049 newsgotb + bngbi8a NewsGothicBT-BoldItalic BT 0050 newgotbi + bmlr8a ZapfElliptical711BT-Roman BT 0051 zelp711n + bmlri8a ZapfElliptical711BT-Italic BT 0052 zelp711i + bmlb8a ZapfElliptical711BT-Bold BT 0053 zelp711b + bmlbi8a ZapfElliptical711BT-BoldItalic BT 0054 zel711bi + bbdr8a BodoniBT-Roman BT 0055 bodoni + bbdri8a BodoniBT-Italic BT 0056 bodonii + bhbr8a HoboBT-Regular BT 0057 hobon + bonr8a News705BT-RomanB BT 0058 news705n + bonri8a News705BT-ItalicB BT 0059 news705i + bonb8a News705BT-BoldB BT 0060 news705b + b_____ BusoramaITCbyBT-Medium BT 0062 busoramm + bglr8a GalliardITCbyBT-Roman BT 0067 galirdn + bglri8a GalliardITCbyBT-Italic BT 0068 galirdi + bglb8a GalliardITCbyBT-Bold BT 0069 galirdb + bglbi8a GalliardITCbyBT-BoldItalic BT 0070 galirdbi + bbkl8a BookmanITCbyBT-Light BT 0075 bookmnl + bbkli8a BookmanITCbyBT-LightItalic BT 0076 bookmnli + bbkd8a BookmanITCbyBT-Demi BT 0079 bookmnd + bbkdi8a BookmanITCbyBT-DemiItalic BT 0080 bookmndi + bcsr8a CenturySchoolbookBT-Roman BT 0083 censbkn + bcsri8a CenturySchoolbookBT-Italic BT 0084 censbki + bcsb8a CenturySchoolbookBT-Bold BT 0085 censbkb + bcsbi8a CenturySchoolbookBT-BoldItalic BT 0086 censbkbi + bkrr8a KorinnaITCbyBT-Regular BT 0087 korinan + bkrri8a KorinnaITCbyBT-KursivRegular BT 0088 korinani + bkrb8a KorinnaITCbyBT-Bold BT 0089 korinab + bkrbi8a KorinnaITCbyBT-KursivBold BT 0090 korinabi + bhva8a Swiss721BT-Thin BT 0100 swz721t + bhvai8a Swiss721BT-ThinItalic BT 0101 swz721ti + bhvh8a Swiss721BT-Heavy BT 0102 swz721h + bhvhi8a Swiss721BT-HeavyItalic BT 0103 swz721hi + bhvh8aq Swiss911BT-ExtraCompressed BT 0105 swz911xc + bhvh8au Swiss911BT-UltraCompressed BT 0106 swz911uc + bgor8a GoudyOldStyleBT-Roman BT 0107 goudyosn + bgori8a GoudyOldStyleBT-Italic BT 0108 goudyosi + bgob8a GoudyOldStyleBT-Bold BT 0109 goudyosb + bgobi8a GoudyOldStyleBT-BoldItalic BT 0110 goudosbi + bgox8a GoudyOldStyleBT-ExtraBold BT 0111 goudosxb + bpnr8a Aldine721BT-Roman BT 0112 ald721n + bpnri8a Aldine721BT-Italic BT 0113 ald721i + bpnb8a Aldine721BT-Bold BT 0114 ald721b + bpnbi8a Aldine721BT-BoldItalic BT 0115 ald721bi + bjnr8a KisBT-Roman BT 0116 kisn + bjnri8a KisBT-Italic BT 0117 kisi + bc5r8a Caslon540BT-Roman BT 0118 casl540n + bc5ri8a Caslon540BT-Italic BT 0119 casl540i + bg1r8a GothicNo13BT-Regular BT 0120 gothic13 + bbol8a BalloonBT-Light BT 0121 balloonl + bwnr8a WindsorBT-Roman BT 0122 wndsrn + bbgk8a BenguiatITCbyBT-Book BT 0123 benguian + bbgki8a BenguiatITCbyBT-BookItalic BT 0124 benguini + bbgb8a BenguiatITCbyBT-Bold BT 0127 benguiab + bbgbi8a BenguiatITCbyBT-BoldItalic BT 0128 benguibi + bbdp8a PosterBodoniBT-Roman BT 0129 pstrbodn + bbdpi8a PosterBodoniBT-Italic BT 0130 pstrbodi + bbwr8a BroadwayBT-Regular BT 0131 brdwayn + bngl8a NewsGothicBT-Light BT 0132 newsgotl + bngli8a NewsGothicBT-LightItalic BT 0133 newgotli + bopd8a ZapfHumanist601BT-Demi BT 0134 zhum601d + bopdi8a ZapfHumanist601BT-DemiItalic BT 0135 zhu601di + bopu8a ZapfHumanist601BT-Ultra BT 0136 zhum601u + bopui8a ZapfHumanist601BT-UltraItalic BT 0137 zhu601ui + bful8a FuturaBT-Light BT 0138 futural + bfuli8a FuturaBT-LightItalic BT 0139 futurali + bfuk8a FuturaBT-Book BT 0140 futuran + bfuki8a FuturaBT-BookItalic BT 0141 futurani + bfum8a FuturaBT-Medium BT 0142 futuram + bfumi8a FuturaBT-MediumItalic BT 0143 futurami + bfub8a FuturaBT-Bold BT 0144 futurab + bfubi8a FuturaBT-BoldItalic BT 0145 futurabi + bfuh8a FuturaBT-Heavy BT 0146 futurah + bfuhi8a FuturaBT-HeavyItalic BT 0147 futurahi + bfux8a FuturaBT-ExtraBlack BT 0148 futuraxk + bfuxi8a FuturaBT-ExtraBlackItalic BT 0149 futurxki + bsnk8a Geometric212BT-Book BT 0150 geo212n + bsnh8a Geometric212BT-Heavy BT 0151 geo212h + bagk8a AvantGardeITCbyBT-Book BT 0154 avgardn + bagko8a AvantGardeITCbyBT-BookOblique BT 0155 avgardni + bagm8a AvantGardeITCbyBT-Medium BT 0156 avgardm + bagmo8a AvantGardeITCbyBT-MediumOblique BT 0157 avgardmi + bagd8a AvantGardeITCbyBT-Demi BT 0158 avgardd + bagdo8a AvantGardeITCbyBT-DemiOblique BT 0159 avgarddo + bkbk8a KabelITCbyBT-Book BT 0162 kabeln + bkbm8a KabelITCbyBT-Medium BT 0163 kabelm + bkbd8a KabelITCbyBT-Demi BT 0164 kabeld + bkbb8a KabelITCbyBT-Bold BT 0165 kabelb + bkbu8a KabelITCbyBT-Ultra BT 0166 kabelu + bs4r8a ShotgunBT-Regular BT 0167 shotgunn + bhvl8ac Swiss721BT-LightCondensed BT 0169 swz721lc + bhvli8ac Swiss721BT-LightCondensedItalic BT 0170 sw721lci + bhvri8ac Swiss721BT-ItalicCondensed BT 0171 swz721ci + bhvbi8ac Swiss721BT-BoldCondensedItalic BT 0172 sw721bci + bhvc8ac Swiss721BT-BlackCondensed BT 0173 swz721kc + bhvci8ac Swiss721BT-BlackCondensedItalic BT 0174 sw721kci + bhvbl8a Swiss721BT-BoldOutline BT 0175 swz721bo + bunl8a ZurichBT-Light BT 0176 zurchl + bunli8a ZurichBT-LightItalic BT 0177 zurchli + bunr8a ZurichBT-Roman BT 0178 zurchn + bunri8a ZurichBT-Italic BT 0179 zurchi + bunb8a ZurichBT-Bold BT 0180 zurchb + bunbi8a ZurichBT-BoldItalic BT 0181 zurchbi + bunc8a ZurichBT-Black BT 0182 zurchk + bunci8a ZurichBT-BlackItalic BT 0183 zurchki + b____ BoltBoldITCbyBT-Regular BT 0184 boltb + bslr8a StencilBT-Regular BT 0191 stenciln + batm8a AmerTypewriterITCbyBT-Medium BT 0193 amrtypen + batb8a AmerTypewriterITCbyBT-Bold BT 0194 amrtypeb + bd0b8a DavidaBoldBT-Regular BT 0195 davidab + bs5r8a SnellBT-Regular BT 0196 snelln + bs5b8a SnellBT-Bold BT 0197 snellb + bs5c8a SnellBT-Black BT 0198 snellk + bburw8a BrushScriptBT-Regular BT 0199 brushscn + bful8ac FuturaBT-LightCondensed BT 0200 futuralc + bfum8ac FuturaBT-MediumCondensed BT 0201 futuramc + bfub8ac FuturaBT-BoldCondensed BT 0202 futurabc + bfubi8ac FuturaBT-BoldCondensedItalic BT 0203 futurbci + bfux8ac FuturaBT-ExtraBlackCondensed BT 0204 futurxkc + bfuxi8ac FuturaBT-ExtraBlackCondItalic BT 0205 futuxkci + bfuc8a FuturaBlackBT-Regular BT 0206 futurak + botr8a Ribbon131BT-Regular BT 0207 ribn131n + botb8a Ribbon131BT-Bold BT 0208 ribn131b + bi1r8a ImpressBT-Regular BT 0209 impressn + ba7r8a AmericanTextBT-Regular BT 0211 amrtextn + benrf8a EngraversOldEnglishBT-Regular BT 0212 engrolen + bo2r8a OrbitBbyBT-Regular BT 0213 orbitbn + bp4r8a PioneerITCbyBT-Regular BT 0214 pioneern + bv0r8a VinetaBT-Regular BT 0215 vinetan + byml8a StymieBT-Light BT 0216 stymiel + bymm8a StymieBT-Medium BT 0217 stymiem + bymb8a StymieBT-Bold BT 0218 stymieb + bymx8a StymieBT-ExtraBold BT 0219 stymiexb + btfl8a TiffanyITCbyBT-Light BT 0220 tifanyl + btfli8a TiffanyITCbyBT-LightItalic BT 0221 tifanyli + btfd8a TiffanyITCbyBT-Demi BT 0224 tifanyd + btfdi8a TiffanyITCbyBT-DemiItalic BT 0225 tifanydi + btfh8a TiffanyITCbyBT-Heavy BT 0226 tifanyh + btfhi8a TiffanyITCbyBT-HeavyItalic BT 0227 tifanyhi + bcdb8ac ClarendonBT-BoldCondensed BT 0228 clrndnbc + bcbcd8a CooperBT-BlackHeadline BT 0231 coopbla + bcbcid8a CooperBT-BlackItalicHeadline BT 0232 coopblia + bs4rl8a ShotgunBlanksBT-Regular BT 0234 shotgunk + bnar8a Dutch823BT-RomanB BT 0235 dut823n + bnari8a Dutch823BT-ItalicB BT 0236 dut823i + bnab8a Dutch823BT-BoldB BT 0237 dut823b + berl8a ErasITCbyBT-Light BT 0238 erasl + berk8a ErasITCbyBT-Book BT 0239 erasn + berm8a ErasITCbyBT-Medium BT 0240 erasm + berd8a ErasITCbyBT-Demi BT 0241 erasd + berb8a ErasITCbyBT-Bold BT 0242 erasb + beru8a ErasITCbyBT-Ultra BT 0243 erasu + besr8a Square721BT-Roman BT 0246 sqr721n + besb8a Square721BT-Bold BT 0247 sqr721b + besr8ac Square721BT-RomanCondensed BT 0248 sqr721c + besb8ac Square721BT-BoldCondensed BT 0249 sqr721bc + besr8ax Square721BT-RomanExtended BT 0250 sqr721e + besb8ax Square721BT-BoldExtended BT 0251 sqr721be + bsfa8a SerifaBT-Thin BT 0252 serifat + bsfai8a SerifaBT-ThinItalic BT 0253 serifati + bsfl8a SerifaBT-Light BT 0254 serifal + bsfli8a SerifaBT-LightItalic BT 0255 serifali + bsfr8a SerifaBT-Roman BT 0256 serifan + bsfri8a SerifaBT-Italic BT 0257 serifai + bsfb8a SerifaBT-Bold BT 0258 serifab + bsfc8a SerifaBT-Black BT 0259 serifak + bunr8ax ZurichBT-RomanExtended BT 0260 zurche + bunb8ax ZurichBT-BoldExtended BT 0261 zurchbe + bunc8ax ZurichBT-BlackExtended BT 0262 zurchke + bunu8ax ZurichBT-UltraBlackExtended BT 0263 zurchuke + ba9r8a Humanist970BT-RomanC BT 0264 hum970n + ba9b8a Humanist970BT-BoldC BT 0265 hum970b + bndr8a Transitional511BT-Roman BT 0266 tran511n + bndri8a Transitional511BT-Italic BT 0267 tran511i + bndb8a Transitional511BT-Bold BT 0270 tran511b + bndbi8a Transitional511BT-BoldItalic BT 0271 tra511bi + bsbr8a ClassicalGaramondBT-Roman BT 0277 clsgaran + bsbri8a ClassicalGaramondBT-Italic BT 0278 clsgarai + bsbb8a ClassicalGaramondBT-Bold BT 0279 clsgarab + bcarf8a CaslonOldFaceBT-Roman BT 0280 casolfcn + bcarif8a CaslonOldFaceBT-Italic BT 0281 casolfci + bcdl8a ClarendonBT-Light BT 0282 clrndnl + bcdr8a ClarendonBT-Roman BT 0283 clrndnn + bcdb8a ClarendonBT-Bold BT 0284 clrndnb + bcur8a CenturyOldstyleBT-Roman BT 0285 cenolstn + bcuri8a CenturyOldstyleBT-Italic BT 0286 cenolsti + bcub8a CenturyOldstyleBT-Bold BT 0287 cenolstb + bgsl8a Humanist521BT-Light BT 0288 hum521l + bgsli8a Humanist521BT-LightItalic BT 0289 hum521li + bgsr8a Humanist521BT-Roman BT 0290 hum521n + bgsri8a Humanist521BT-Italic BT 0291 hum521i + bgsb8a Humanist521BT-Bold BT 0292 hum521b + bgsbi8a Humanist521BT-BoldItalic BT 0293 hum521bi + bgsx8a Humanist521BT-ExtraBold BT 0294 hum521xb + bgsu8a Humanist521BT-UltraBold BT 0295 hum521ub + bunl8ac ZurichBT-LightCondensed BT 0296 zurchlc + bunli8ac ZurichBT-LightCondensedItalic BT 0297 zurchlci + bunr8ac ZurichBT-RomanCondensed BT 0298 zurch + bunri8ac ZurichBT-ItalicCondensed BT 0299 zurchci + bunb8ac ZurichBT-BoldCondensed BT 0300 zurchbc + bunbi8ac ZurichBT-BoldCondensedItalic BT 0301 zurchbci + bbbr8a Aldine401BT-RomanA BT 0302 ald401n + bbbri8a Aldine401BT-ItalicA BT 0303 ald401i + bbbb8a Aldine401BT-BoldA BT 0304 ald401b + bbbbi8a Aldine401BT-BoldItalicA BT 0305 ald401bi + bmpl8a GeometricSlab703BT-Light BT 0306 geo703l + bmpli8a GeometricSlab703BT-LightItalic BT 0307 geo703li + bmpm8a GeometricSlab703BT-Medium BT 0308 geo703m + bmpmi8a GeometricSlab703BT-MediumItalic BT 0309 geo703mi + bmpb8a GeometricSlab703BT-Bold BT 0310 geo703b + bmpbi8a GeometricSlab703BT-BoldItalic BT 0311 geo703bi + bmpx8a GeometricSlab703BT-XtraBold BT 0312 geo703xb + bmpxi8a GeometricSlab703BT-XtraBoldItal BT 0313 ge703xbi + buyr8a UniversityRomanBT-Regular BT 0316 univern + buyb8a UniversityRomanBT-Bold BT 0317 univernb + bior8a News701BT-RomanA BT 0318 news701n + biori8a News701BT-ItalicA BT 0319 news701i + biob8a News701BT-BoldA BT 0320 news701b + befr8a HumanistSlabserif712BT-Roman BT 0321 hums712n + befri8a HumanistSlabserif712BT-Italic BT 0322 hums712i + befb8a HumanistSlabserif712BT-Bold BT 0323 hums712b + befc8a HumanistSlabserif712BT-Black BT 0324 hums712k + bwnl8ac WindsorBT-LightCondensed BT 0326 wndsrlc + bwnr8ax WindsorBT-Elongated BT 0327 wndsre + bubr8a BauerBodoniBT-Roman BT 0328 baubodn + bubri8a BauerBodoniBT-Italic BT 0329 baubodi + bubb8a BauerBodoniBT-Bold BT 0330 baubodb + bubbi8a BauerBodoniBT-BoldItalic BT 0331 baubodbi + bubc8a BauerBodoniBT-Black BT 0332 baubodk + bubci8a BauerBodoniBT-BlackItalic BT 0333 baubodki + bubb8ac BauerBodoniBT-BoldCondensed BT 0334 baubodbc + bubc8ac BauerBodoniBT-BlackCondensed BT 0335 baubodkc + biir8a Dutch766BT-RomanA BT 0338 dut766n + biiri8a Dutch766BT-ItalicA BT 0339 dut766i + biib8a Dutch766BT-BoldA BT 0340 dut766b + bcahf8a CaslonOldFaceBT-Heavy BT 0342 casolfch + bgmk8a GaramondITCbyBT-Book BT 0345 garamdn + bgmki8a GaramondITCbyBT-BookItalic BT 0346 garamdni + bgmb8a GaramondITCbyBT-Bold BT 0347 garamdb + bgmbi8a GaramondITCbyBT-BoldItalic BT 0348 garamdbi + bcdc8a ClarendonBT-Black BT 0351 clrndnk + bi3r8a ImperialBT-Roman BT 0352 imperln + bi3ri8a ImperialBT-Italic BT 0353 imperli + bi3b8a ImperialBT-Bold BT 0354 imperlb + b_____ BellCentennialBT-NameAndNumber BT 0355 belcenam + b_____ BellCentennialBT-Address BT 0356 belceadr + b_____ BellCentennialBT-SubCaption BT 0357 belcesub + b_____ BellCentennialBT-BoldListing BT 0358 belcelis + bbers8a BellGothicBT-Roman BT 0359 belgothn + bbebs8a BellGothicBT-Bold BT 0360 belgothb + bbecs8a BellGothicBT-Black BT 0361 belgothk + bpar8a ParkAvenueBT-Regular BT 0362 parkaven + bn7r8a News706BT-RomanC BT 0363 news706n + bn7ri8a News706BT-ItalicC BT 0364 news706i + bn7b8a News706BT-BoldC BT 0365 news706b + blbj8a LubalinGraphITCbyBT-XtraLight BT 0366 lubgrxl + blbk8a LubalinGraphITCbyBT-Book BT 0367 lubgrhn + blbm8a LubalinGraphITCbyBT-Medium BT 0368 lubgrhm + blbd8a LubalinGraphITCbyBT-Demi BT 0369 lubgrhd + blbb8a LubalinGraphITCbyBT-Bold BT 0370 lubgrhb + bhvl8ax Swiss721BT-LightExtended BT 0371 swz721le + bhvr8ax Swiss721BT-RomanExtended BT 0372 swz721e + bhvb8ax Swiss721BT-BoldExtended BT 0373 swz721be + bhvc8ax Swiss721BT-BlackExtended BT 0374 swz721ke + bngr8ac NewsGothicBT-RomanCondensed BT 0375 newsgotc + bngri8ac NewsGothicBT-ItalicCondensed BT 0376 newgotci + bngb8ac NewsGothicBT-BoldCondensed BT 0377 newgotbc + bngbi8ac NewsGothicBT-BoldCondItalic BT 0378 newgtbci + bctk8a CheltenhamITCbyBT-Book BT 0381 ichlthmn + bctki8a CheltenhamITCbyBT-BookItalic BT 0382 ichlthni + bctb8a CheltenhamITCbyBT-Bold BT 0383 ichlthmb + bctbi8a CheltenhamITCbyBT-BoldItalic BT 0384 ichlthbi + baol8a Incised901BT-Light BT 0387 inc901l + baor8a Incised901BT-Roman BT 0388 inc901n + baori8a Incised901BT-Italic BT 0389 inc901i + baob8a Incised901BT-Bold BT 0390 inc901b + baoc8a Incised901BT-Black BT 0391 inc901k + boar OCRAbyBT-Regular BT 0395 ocran + bbhl8a BauhausITCbyBT-Light BT 0405 bauhausl + bbhm8a BauhausITCbyBT-Medium BT 0406 bauhausm + bbhb8a BauhausITCbyBT-Bold BT 0408 bauhausb + bbhh8a BauhausITCbyBT-Heavy BT 0409 bauhaush + bcyl8a SquareSlabserif711BT-Light BT 0410 sqrs711l + bcym8a SquareSlabserif711BT-Medium BT 0411 sqrs711m + bcyb8a SquareSlabserif711BT-Bold BT 0412 sqrs711b + bper8a Prestige12PitchBT-Roman BT 0413 presti12 + blgr8a LetterGothic12PitchBT-Roman BT 0414 letgot12 + bcdh8a ClarendonBT-Heavy BT 0416 clrndnh + bccr8a Freehand471BT-Regular BT 0418 frhnd471 + bcrr8a Courier10PitchBT-Roman BT 0419 cur10ptn + bcprs8a CopperplateGothicBT-Roman BT 0420 copgothn + bcpbs8a CopperplateGothicBT-Bold BT 0421 copgothb + bcphs8a CopperplateGothicBT-Heavy BT 0422 copgothh + bcprs8ac CopperplateGothicBT-RomanCond BT 0423 copgothc + bcpbs8ac CopperplateGothicBT-BoldCond BT 0424 copgotbc + bfqr8a FrizQuadrataITCbyBT-Roman BT 0428 frzquadn + bfqb8a FrizQuadrataITCbyBT-Bold BT 0429 frzquadb + bqrl8a QuorumITCbyBT-Light BT 0438 quoruml + bqrm8a QuorumITCbyBT-Medium BT 0440 quorumm + bqrc8a QuorumITCbyBT-Black BT 0442 quorumk + bcab8a CaslonBT-Bold BT 0443 caslonb + bcabi8a CaslonBT-BoldItalic BT 0444 caslonbi + bzcm8a ZapfChanceryITCbyBT-Medium BT 0447 zafcham + bzcmi8a ZapfChanceryITCbyBT-MediumItal BT 0448 zafchami + bzcd8a ZapfChanceryITCbyBT-Demi BT 0449 zafchad + bzcb8a ZapfChanceryITCbyBT-Bold BT 0450 zafchab + bgmk8ac GaramondITCbyBT-BookCondensed BT 0453 garamdnc + bgmki8ac GaramondITCbyBT-BookCondItalic BT 0454 garamnci + bgmb8ac GaramondITCbyBT-BoldCondensed BT 0455 garamdbc + bgmbi8ac GaramondITCbyBT-BoldCondItalic BT 0456 garambci + bugk8a BenguiatGothicITCbyBT-Book BT 0459 bengothn + bugki8a BenguiatGothicITCbyBT-BookItal BT 0460 bengotni + bugb8a BenguiatGothicITCbyBT-Bold BT 0463 bengothb + bugbi8a BenguiatGothicITCbyBT-BoldItal BT 0464 bengotbi + baob8ac Incised901BT-BoldCondensed BT 0467 inc901bc + baop8a Incised901BT-Compact BT 0468 inc901c + baoh8ax Incised901BT-Nord BT 0469 in901xk + baohi8ax Incised901BT-NordItalic BT 0470 in901xki + brwl8a GeometricSlab712BT-LightA BT 0483 geo712l + brwli8a GeometricSlab712BT-LightItalicA BT 0484 geo712li + brwm8a GeometricSlab712BT-MediumA BT 0485 geo712m + brwmi8a GeometricSlab712BT-MediumItalA BT 0486 geo712mi + brwb8a GeometricSlab712BT-BoldA BT 0487 geo712b + brwx8a GeometricSlab712BT-ExtraBoldA BT 0488 geo712xb + bmdr8a Latin725BT-Roman BT 0489 lat725n + bmdri8a Latin725BT-Italic BT 0490 lat725i + bmdm8a Latin725BT-Medium BT 0491 lat725m + bmdmi8a Latin725BT-MediumItalic BT 0492 lat725mi + bmdb8a Latin725BT-Bold BT 0493 lat725b + bmdbi8a Latin725BT-BoldItalic BT 0494 lat725bi + bgsr8ac Humanist521BT-RomanCondensed BT 0495 hum521c + bgsb8ac Humanist521BT-BoldCondensed BT 0496 hum521bc + bgsx8ac Humanist521BT-XtraBoldCondensed BT 0497 hu521xbc + bamr8a AmericanaBT-Roman BT 0498 amrcanan + bamri8a AmericanaBT-Italic BT 0499 amrcanai + bamb8a AmericanaBT-Bold BT 0500 amrcanab + bamx8a AmericanaBT-ExtraBold BT 0501 amrcanxb + bamx8ac AmericanaBT-ExtraBoldCondensed BT 0502 amrcaxbc + bsnk8ac Geometric212BT-BookCondensed BT 0503 geo212nc + bsnh8ac Geometric212BT-HeavyCondensed BT 0504 geo212hc + blir8ac LatinExtraCondensedBT-Regular BT 0507 latinxc + bctbd8a CheltenhamBT-BoldHeadline BT 0508 chltboa + bctbdi8a CheltenhamBT-BoldItalicHeadline BT 0509 chltboia + ba6r8a AmeliaBT-Regular BT 0510 amelian + bb8c8a BlippoBT-Black BT 0511 blippok + boxr8a OnyxBT-Regular BT 0519 onyxn + bm2l8a Geometric415BT-LiteA BT 0520 geo415l + bm2li8a Geometric415BT-LiteItalicA BT 0521 geo415li + bm2m8a Geometric415BT-MediumA BT 0522 geo415m + bm2mi8a Geometric415BT-MediumItalicA BT 0523 geo415mi + bm2c8a Geometric415BT-BlackA BT 0524 geo415k + bm2ci8a Geometric415BT-BlackItalicA BT 0525 geo415ki + blgri8a LetterGothic12PitchBT-Italic BT 0532 legot12i + blgb8a LetterGothic12PitchBT-Bold BT 0533 legot12b + bmhr8a MachineITCbyBT-Regular BT 0534 machinen + bhvc8a2 Swiss721BT-BlackNo2 BT 0540 swz721k2 + bazb8a Gothic725BT-BoldA BT 0541 goth725b + ba4r8a AlternateGothicNo2BT-Regular BT 0542 altgot2n + blgbi8a LetterGothic12PitchBT-BoldItal BT 0543 lego12bi + blbjo8a LubalinGraphITCbyBT-XtraLightOb BT 0544 lubgrxlo + blbko8a LubalinGraphITCbyBT-BookOblique BT 0545 lubgrhno + blbmo8a LubalinGraphITCbyBT-MediumObl BT 0546 lubgrhmo + blbdo8a LubalinGraphITCbyBT-DemiOblique BT 0547 lubgrhdo + blbbo8a LubalinGraphITCbyBT-BoldOblique BT 0548 lubgrhbo + btmx8a Dutch801BT-ExtraBold BT 0549 dut801xb + b_____ SymbolITCbyBT-Bold BT 0554 symbolb + b_____ SymbolITCbyBT-BoldItalic BT 0555 symbolbi + b_____ Century731BT-RomanA BT 0558 cen731n + b_____ Century731BT-ItalicA BT 0559 cen731i + b_____ Century731BT-BoldA BT 0560 cen731b + b_____ Century731BT-BoldItalicA BT 0561 cen731bi + bhir8a Swiss921BT-RegularA BT 0562 swz921n + bhvcl8a Swiss721BT-BlackOutline BT 0563 swz721ko + bcsb8ac CenturySchoolbookBT-BoldCond BT 0574 censbkbc + bcbl8a CooperBT-Light BT 0575 cooperl + bcbli8a CooperBT-LightItalic BT 0576 cooperli + bcbm8a CooperBT-Medium BT 0577 cooperm + bcbmi8a CooperBT-MediumItalic BT 0578 coopermi + bcbb8a CooperBT-Bold BT 0579 cooperb + bcbbi8a CooperBT-BoldItalic BT 0580 cooperbi + bcarl8a CaslonOpenfaceBT-Regular BT 0581 casopfan + bcrri8a Courier10PitchBT-Italic BT 0582 cur10pti + bcrb8a Courier10PitchBT-Bold BT 0583 cur10ptb + benrs8a EngraversGothicBT-Regular BT 0586 engrgotn + benr8a EngraversRomanBT-Regular BT 0587 engrvrn + be0r8a EmbassyBT-Regular BT 0588 embassyn + bkgl8a BankGothicBT-Light BT 0589 bnkgothl + bkgm8a BankGothicBT-Medium BT 0590 bnkgothm + bf0r8a FlemishScriptBT-Regular BT 0591 flemscrn + bp5r8a PiranesiItalicBT-Regular BT 0592 piranesi + bser8a ShelleyAndanteBT-Regular BT 0593 shlyandn + bserd8a ShelleyAllegroBT-Regular BT 0594 shlyalln + bserw8a ShelleyVolanteBT-Regular BT 0595 shlyvoln + bhvrt8a Monospace821BT-Roman BT 0596 mono821n + bhvrit8a Monospace821BT-Italic BT 0597 mono821i + bhvbt8a Monospace821BT-Bold BT 0598 mono821b + bhvbit8a Monospace821BT-BoldItalic BT 0599 mon821bi + bcsrt8a CenturySchoolbookBT-Monospace BT 0600 censbkmn + bdcr8a DomCasualBT-Regular BT 0604 domcasn + bpfr8a Decorated035BT-Regular BT 0605 deco035n + bt1r8a ThunderbirdBT-Regular BT 0606 thundrbn + bb7r8a BernhardModernBT-Roman BT 0607 bnhrdmon + boir8a FormalScript421BT-Regular BT 0609 frms421n + bmsr8a Staccato222BT-Regular BT 0610 stac222n + bcrbi8a Courier10PitchBT-BoldItalic BT 0611 cur10pbi + bperi8a Prestige12PitchBT-Italic BT 0613 prest12i + bpeb8a Prestige12PitchBT-Bold BT 0614 prest12b + bpebi8a Prestige12PitchBT-BoldItalic BT 0615 pres12bi + bctr8a CheltenhamBT-Roman BT 0620 chlthmn + bctri8a CheltenhamBT-Italic BT 0621 chlthmi + bctb8a CheltenhamBT-Bold BT 0622 chlthmb + bctbi8a CheltenhamBT-BoldItalic BT 0623 chlthmbi + brmli8a CarminaBT-LightItalic BT 0624 carminli + bg0r8a GandoBT-Regular BT 0625 gandon + bpgl8a Exotic350BT-Light BT 0626 exot350l + bpgd8a Exotic350BT-DemiBold BT 0627 exo350db + bpgb8a Exotic350BT-Bold BT 0628 exot350b + bcbc8a CooperBT-Black BT 0630 coopbln + bcbci8a CooperBT-BlackItalic BT 0631 coopbli + bchb8a CharterBT-Bold BT 0632 chartrb + bchbi8a CharterBT-BoldItalic BT 0633 chartrbi + buhh8a CushingITCbyBT-Heavy BT 0641 cushngh + buhhi8a CushingITCbyBT-HeavyItalic BT 0642 cushnghi + beor8a AmerigoBT-RomanA BT 0643 amrigon + beori8a AmerigoBT-ItalicA BT 0644 amrigoi + beob8a AmerigoBT-BoldA BT 0645 amrigob + bobr OCRB10PitchBT-Regular BT 0646 ocrb10n + bchr8a CharterBT-Roman BT 0648 chartrn + bchri8a CharterBT-Italic BT 0649 chartri + bzgm8a Geometric706BT-MediumB BT 0660 geo706m + bzgc8a Geometric706BT-BlackB BT 0661 geo706k + bzgb8ac Geometric706BT-BoldCondensedB BT 0662 geo706bc + bzgc8ac Geometric706BT-BlackCondensedB BT 0663 geo706kc + bg6r8a GorillaITCbyBT-Regular BT 0664 gorillan + brml8a CarminaBT-Light BT 0667 carminal + brmc8a CarminaBT-Black BT 0668 carminak + bfgk8a FranklinGothicITCbyBT-Book BT 0670 frkgotn + bfgki8a FranklinGothicITCbyBT-BookItal BT 0671 frkgotni + bfgd8a FranklinGothicITCbyBT-Demi BT 0674 frkgotd + bfgdi8a FranklinGothicITCbyBT-DemiItal BT 0675 frkgotdi + bfgh8a FranklinGothicITCbyBT-Heavy BT 0676 frkgoth + bfghi8a FranklinGothicITCbyBT-HeavyItal BT 0677 frkgothi + b_____ GrouchITCbyBT-Regular BT 0678 grouchn + bymli8a StymieBT-LightItalic BT 0679 stymieli + bfnr8a FeniceITCbyBT-Regular BT 0682 fenicen + bfnri8a FeniceITCbyBT-RegularItalic BT 0683 feniceni + bfnb8a FeniceITCbyBT-Bold BT 0684 feniceb + bfnbi8a FeniceITCbyBT-BoldItalic BT 0685 fenicebi + b_____ GrizzlyITCbyBT-Regular BT 0688 grizzlyn + bymmi8a StymieBT-MediumItalic BT 0689 stymiemi + bl2r8a LibraBT-Regular BT 0690 libran + b_____ Pica10PitchBT-Roman BT 0691 pica10n + bymbi8a StymieBT-BoldItalic BT 0692 stymiebi + b_____ NewtextITCbyBT-Regular BT 0697 newtxtn + b_____ NewtextITCbyBT-RegularItalic BT 0698 newtxtni + bchc8a CharterBT-Black BT 0709 chartrk + bchci8a CharterBT-BlackItalic BT 0710 chartrki + bgjr8a ElegantGaramondBT-Roman BT 0711 eleggarn + bgjri8a ElegantGaramondBT-Italic BT 0712 eleggari + bgjb8a ElegantGaramondBT-Bold BT 0713 eleggarb + bekr8a Freeform710BT-Regular BT 0714 frfm710n + bppr8a Lapidary333BT-Roman BT 0715 lap333n + bppri8a Lapidary333BT-Italic BT 0716 lap333i + bppb8a Lapidary333BT-Bold BT 0717 lap333b + bppbi8a Lapidary333BT-BoldItalic BT 0718 lap333bi + brmci8a CarminaBT-BlackItalic BT 0719 carminki + bpbr8a PTBarnumBT-Regular BT 0720 ptbarnmn + brmm8a CarminaBT-Medium BT 0721 carminam + brmmi8a CarminaBT-MediumItalic BT 0722 carmini + brmb8a CarminaBT-Bold BT 0723 carminab + brmbi8a CarminaBT-BoldItalic BT 0724 carminbi + bi2r8a ImpulsBT-Regular BT 0725 impulsn + bkur8a KaufmannBT-Regular BT 0726 kaufmann + bkub8a KaufmannBT-Bold BT 0727 kaufmanb + bbob8a BalloonBT-Bold BT 0728 balonb + bbox8a BalloonBT-ExtraBold BT 0729 balonxb + bnvk8a NovareseITCbyBT-Book BT 0730 novaren + bnvki8a NovareseITCbyBT-BookItalic BT 0731 novareni + bnvb8a NovareseITCbyBT-Bold BT 0734 novareb + bnvbi8a NovareseITCbyBT-BoldItalic BT 0735 novarebi + bc2k8a Caslon224ITCbyBT-Book BT 0745 cas224n + bc2ki8a Caslon224ITCbyBT-BookItalic BT 0746 cas224ni + bc2b8a Caslon224ITCbyBT-Bold BT 0749 cas224b + bc2bi8a Caslon224ITCbyBT-BoldItalic BT 0750 cas224bi + bnabi8a Dutch823BT-BoldItalicB BT 0753 dut823bi + borr8a10 OratorBT-TenPitch BT 0755 orator10 + bvrr8a VAGRoundedBT-Regular BT 0756 vagron + bclr8a CloisterBlackBT-Regular BT 0757 cloistrk + borr8a15 OratorBT-FifteenPitch BT 0758 orator15 + bhvm8a Swiss721BT-Medium BT 0759 swz721m + bhvmi8a Swiss721BT-MediumItalic BT 0760 swz721mi + btvr8a Kuenstler480BT-Roman BT 0761 kuen408n + btvri8a Kuenstler480BT-Italic BT 0762 kuen408i + btvb8a Kuenstler480BT-Bold BT 0763 kuen408b + btvbi8a Kuenstler480BT-BoldItalic BT 0764 kue408bi + bhvbl8ac Swiss721BT-BoldCondensedOutline BT 0767 sw721bco + bh0r8a HandelGothicBT-Regular BT 0768 handgotn + bdcb8a DomBoldBT-Regular BT 0769 domb + beom8a AmerigoBT-MediumA BT 0770 amrigom + beomi8a AmerigoBT-MediumItalicA BT 0771 amrigomi + beobi8a AmerigoBT-BoldItalicA BT 0772 amrigobi + bc7l8a CompactaBT-Light BT 0783 compctal + bc7r8a CompactaBT-Roman BT 0784 compctan + bc7ri8a CompactaBT-Italic BT 0785 compctai + bc7b8a CompactaBT-Bold BT 0786 compctab + bc7bi8a CompactaBT-BoldItalic BT 0787 compctbi + bc7c8a CompactaBT-Black BT 0788 compctak + bbpr8a Modern735BT-RomanA BT 0793 mod735n + bbwre8a BroadwayEngravedBT-Regular BT 0802 brdwayg + bonbi8a News705BT-BoldItalicB BT 0803 new705bi + bpnl8a Aldine721BT-Light BT 0804 ald721l + bpnli8a Aldine721BT-LightItalic BT 0805 ald721li + bb4r8a Brush738BT-RegularA BT 0806 brus738n + bb6r8ac Gothic821CondensedBT-Regular BT 0807 goth821c + bcir8a CandidaBT-Roman BT 0808 candidan + bciri8a CandidaBT-Italic BT 0809 candidai + bcib8a CandidaBT-Bold BT 0810 candidab + bdir8a Calligraphic810BT-Roman BT 0811 calg810n + bdiri8a Calligraphic810BT-Italic BT 0812 calg810i + bhrb8a Swiss721BT-BoldRounded BT 0813 swz721br + bhrc8a Swiss721BT-BlackRounded BT 0815 swz721kr + bs3l8a SeagullBT-Light BT 0817 seagulll + bs3m8a SeagullBT-Medium BT 0818 seagullm + bs3b8a SeagullBT-Bold BT 0819 seagullb + bs3h8a SeagullBT-Heavy BT 0820 seagullh + b_____ MixageITCbyBT-Bold BT 0825 mixageb + b_____ MixageITCbyBT-BoldItalic BT 0826 mixagebi + bm3r8a MiraraeBT-Roman BT 0830 miraraen + bm3b8a MiraraeBT-Bold BT 0831 miraraeb + btms8a Dutch801BT-SemiBold BT 0834 dut801db + btmsi8a Dutch801BT-SemiBoldItalic BT 0835 du801dbi + bsfb8ac SerifaBT-BoldCondensed BT 0836 serifabc + bb7ri8a BernhardModernBT-Italic BT 0837 bnhrdmoi + bb7b8a BernhardModernBT-Bold BT 0838 bnhrdmob + bb7bi8a BernhardModernBT-BoldItalic BT 0839 bnhrdmbi + b_____ English157BT-Regular BT 0840 engl157n + blyr8a LydianBT-Roman BT 0841 lydiann + blyri8a LydianBT-Italic BT 0842 lydiani + blyb8a LydianBT-Bold BT 0843 lydianb + blybi8a LydianBT-BoldItalic BT 0844 lydianbi + blyrw8a LydianCursiveBT-Regular BT 0845 lydianv + bcdr8ac ClarendonBT-RomanCondensed BT 0846 clrndnc + bl3r8a LuciaBT-Regular BT 0847 lucian + bfol8a FolioBT-Light BT 0848 foliol + bfoli8a FolioBT-LightItalic BT 0849 folioli + bfok8a FolioBT-Book BT 0850 folion + bfom8a FolioBT-Medium BT 0851 foliom + bfob8a FolioBT-Bold BT 0852 foliob + bfox8a FolioBT-ExtraBold BT 0853 folioxb + bfob8ac FolioBT-BoldCondensed BT 0854 foliobc + bfrl8a Humanist777BT-LightB BT 0855 hum777l + bfrli8a Humanist777BT-LightItalicB BT 0856 hum777li + bfrr8a Humanist777BT-RomanB BT 0857 hum777n + bfrri8a Humanist777BT-ItalicB BT 0858 hum777i + bfrb8a Humanist777BT-BoldB BT 0859 hum777b + bfrbi8a Humanist777BT-BoldItalicB BT 0860 hum777bi + bfrc8a Humanist777BT-BlackB BT 0861 hum777k + bfrci8a Humanist777BT-BlackItalicB BT 0862 hum777ki + begr8a OriginalGaramondBT-Roman BT 0863 orggaran + begri8a OriginalGaramondBT-Italic BT 0864 orggarai + begb8a OriginalGaramondBT-Bold BT 0865 orggarab + begbi8a OriginalGaramondBT-BoldItalic BT 0866 orggarbi + bpyr8a PlaybillBT-Regular BT 0867 playbiln + b_____ Century751BT-RomanB BT 0868 cent751n + b_____ Century751BT-ItalicB BT 0869 cent751i + bngr8aq NewsGothicBT-ExtraCondensed BT 0870 newgotxc + bngb8aq NewsGothicBT-BoldExtraCond BT 0871 newgtbxc + bsxr8a Humanist531BT-RomanA BT 0872 hum531n + bsxb8a Humanist531BT-BoldA BT 0874 hum531b + bsxc8a Humanist531BT-BlackA BT 0875 hum531k + bsxu8a Humanist531BT-UltraBlackA BT 0876 hum531uk + b_____ Egyptian710BT-RegularA BT 0883 egyt710n + bffm8a Transitional551BT-MediumB BT 0884 tran551m + bffmi8a Transitional551BT-MediumItalicB BT 0885 tra551mi + bm5b8a MurrayHillBT-Bold BT 0886 muryhilb + bcxl8a CaxtonBT-Light BT 0887 caxtonl + bcxli8a CaxtonBT-LightItalic BT 0888 caxtonli + bcxk8a CaxtonBT-Book BT 0889 caxtonn + bcxki8a CaxtonBT-BookItalic BT 0890 caxtonni + bcxb8a CaxtonBT-Bold BT 0891 caxtonb + bcxbi8a CaxtonBT-BoldItalic BT 0892 caxtonbi + brvr8a RevueBT-Regular BT 0895 revuen + br0r8a RomanaBT-Roman BT 0896 romanan + br0b8a RomanaBT-Bold BT 0897 romanab + bssl8a SchneidlerBT-Light BT 0899 schndll + bssli8a SchneidlerBT-LightItalic BT 0900 schndlli + bssr8a SchneidlerBT-Roman BT 0901 schndln + bssri8a SchneidlerBT-Italic BT 0902 schndli + bssm8a SchneidlerBT-Medium BT 0903 schndlm + bssmi8a SchneidlerBT-MediumItalic BT 0904 schndlmi + bssb8a SchneidlerBT-Bold BT 0905 schndlb + bssbi8a SchneidlerBT-BoldItalic BT 0906 schndlbi + bssc8a SchneidlerBT-Black BT 0907 schndlk + bssci8a SchneidlerBT-BlackItalic BT 0908 schndlki + bwnl8a WindsorBT-Light BT 0909 wndsrl + bymx8ac StymieBT-ExtraBoldCondensed BT 0910 stymixbc + b_____ DeVinneBT-Roman BT 0911 devinnen + b_____ DeVinneBT-Italic BT 0912 devinnei + bear8a Transitional521BT-RomanA BT 0913 tran521n + bearw8a Transitional521BT-CursiveA BT 0914 tran521i + beab8a Transitional521BT-BoldA BT 0915 tran521b + ball8a Flareserif821BT-Light BT 0916 flar821l + balr8a Flareserif821BT-Roman BT 0917 flar821n + balb8a Flareserif821BT-Bold BT 0918 flar821b + bdcri8a DomDiagonalBT-Regular BT 0920 domdiagn + bdcbi8a DomDiagonalBT-Bold BT 0921 domdiagb + bysl8a GoudySansITCbyBT-Light BT 0922 goudsanl + bysli8a GoudySansITCbyBT-LightItalic BT 0923 goudsali + bysm8a GoudySansITCbyBT-Medium BT 0924 goudsanm + bysmi8a GoudySansITCbyBT-MediumItalic BT 0925 goudsami + bysb8a GoudySansITCbyBT-Bold BT 0926 goudsanb + bysbi8a GoudySansITCbyBT-BoldItalic BT 0927 goudsabi + bysc8a GoudySansITCbyBT-Black BT 0928 goudsank + bysci8a GoudySansITCbyBT-BlackItalic BT 0929 goudsaki + bnbr8a NewBaskervilleITCbyBT-Roman BT 0930 newbaskn + bnbri8a NewBaskervilleITCbyBT-Italic BT 0931 newbaski + bnbb8a NewBaskervilleITCbyBT-Bold BT 0934 newbaskb + bnbbi8a NewBaskervilleITCbyBT-BoldItal BT 0935 newbasbi + bclrl8a CloisterOpenFaceBT-Regular BT 0938 cloisofn + bt2r8a TypoUprightBT-Regular BT 0939 typouprn + bs2r8a Script12PitchBT-Roman BT 0940 scrpt12n + blwk8a LeawoodITCbyBT-Book BT 0941 leawodn + blwki8a LeawoodITCbyBT-BookItalic BT 0942 leawodni + blwb8a LeawoodITCbyBT-Bold BT 0945 leawodb + blwbi8a LeawoodITCbyBT-BoldItalic BT 0946 leawodbi + bngd8a NewsGothicBT-Demi BT 0949 newsgotd + bngdi8a NewsGothicBT-DemiItalic BT 0950 newsgtdi + b_____ CataneoBT-Light BT 0951 catanltn + b_____ CataneoBT-Regular BT 0952 cataneon + b_____ CataneoBT-Bold BT 0953 catanbon + blfr8a LifeBT-Roman BT 0954 lifen + blfri8a LifeBT-Italic BT 0955 lifei + blfb8a LifeBT-Bold BT 0956 lifeb + blfbi8a LifeBT-BoldItalic BT 0957 lifebi + bunl8aq ZurichBT-LightExtraCondensed BT 0958 zurchlxc + bunr8aq ZurichBT-ExtraCondensed BT 0959 zurchxc + bunb8aq ZurichBT-BoldExtraCondensed BT 0960 zurchbxc + beel8a Egyptian505BT-Light BT 0961 egyt505l + beer8a Egyptian505BT-Roman BT 0962 egyt505n + beem8a Egyptian505BT-Medium BT 0963 egyt505m + beeb8a Egyptian505BT-Bold BT 0964 egyt505b + b_____ BruceOldStyleBT-Roman BT 0965 bruolstn + b_____ BruceOldStyleBT-Italic BT 0966 bruolsti + bhsr8a Swiss924BT-RegularB BT 0969 swz924n + bunx8a ZurichBT-ExtraBlack BT 0970 zurchxk + btmxi8a Dutch801BT-ExtraBoldItalic BT 0971 du801xbi + bsbbi8a ClassicalGaramondBT-BoldItalic BT 0972 clsgarbi + bbdb8ac BodoniBT-BoldCondensed BT 0973 bodonibc + benb8a EngraversRomanBT-Bold BT 0974 engrvrb + bi0r8a CommercialScriptBT-Regular BT 0976 comscrtn + bpnb8ac Aldine721BT-BoldCondensed BT 0977 ald721bc + bs6r8a StuyvesantBT-Regular BT 0980 stuyvesn + bnur8a NuptialBT-Regular BT 0981 nuptualn + bftr8a FrakturBT-Regular BT 0983 frakturn + bw0r8a WeddingTextBT-Regular BT 0985 wedtxtn + bb7rw8a BernhardTangoBT-Regular BT 0986 bnhrdtan + bl1r8a LibertyBT-Regular BT 0987 libertyn + bwnrl8a WindsorBT-Outline BT 0988 wndsro + bp3r8a Brush445BT-Regular BT 0990 brus445n + bgql8a Gothic720BT-LightB BT 0991 goth720l + bgqli8a Gothic720BT-LightItalicB BT 0992 got720li + bgqr8a Gothic720BT-RomanB BT 0993 goth720n + bgqri8a Gothic720BT-ItalicB BT 0994 goth720i + bgqb8a Gothic720BT-BoldB BT 0995 goth720b + bgqbi8a Gothic720BT-BoldItalicB BT 0996 got720bi + baur8a Freeform721BT-Roman BT 0997 frfm721n + bauri8a Freeform721BT-Italic BT 0998 frfm721i + baub8a Freeform721BT-Bold BT 0999 frfm721b + baubi8a Freeform721BT-BoldItalic BT 1000 frf721bi + bauc8a Freeform721BT-Black BT 1001 frfm721k + bauci8a Freeform721BT-BlackItalic BT 1002 frf721ki + bb7b8ac BernhardBoldCondensedBT-Regular BT 1003 brhrdbc + bazc8a Gothic725BT-BlackA BT 1007 goth720k + bn0r8a NormandeBT-Roman BT 1011 normandn + bn0ri8a NormandeBT-Italic BT 1012 normandi + b_____ MattAntiqueBT-Roman BT 1014 matantqn + b_____ MattAntiqueBT-Italic BT 1015 matantqi + b_____ MattAntiqueBT-Bold BT 1016 matantqb + bmar8a Freehand521BT-RegularC BT 1018 frhnd521 + bmpm8ac GeometricSlab703BT-MediumCond BT 1019 geo703mc + bmpb8ac GeometricSlab703BT-BoldCond BT 1020 geo703bc + bmpx8ac GeometricSlab703BT-XtraBoldCond BT 1021 ge703xbc + bbll8a BelweBT-Light BT 1022 belwel + bblm8a BelweBT-Medium BT 1023 belwem + bblb8a BelweBT-Bold BT 1024 belweb + bblr8ac BelweBT-RomanCondensed BT 1025 belwec + btvc8a Kuenstler480BT-Black BT 1026 kuen408k + ba8r8ac AuroraBT-RomanCondensed BT 1027 aurorac + ba8b8ac AuroraBT-BoldCondensed BT 1028 aurorabc + b_____ CataneoBT-RegularSwash BT 1030 catanswn + b_____ CataneoBT-BoldSwash BT 1031 catanswb + bcbcl8a CooperBT-BlackOutline BT 1034 coopblo + btmrd8a Dutch801BT-RomanHeadline BT 1035 dut801na + btmrid8a Dutch801BT-ItalicHeadline BT 1036 dut801ia + b_____ Modern880BT-Roman BT 1037 mod880n + b_____ Modern880BT-Italic BT 1038 mod880i + b_____ Modern880BT-Bold BT 1039 mod880b + bmzr8a AmazoneBT-Regular BT 1040 amazonen + b_____ DeVinneBT-Text BT 1041 devinnet + b_____ DeVinneBT-ItalicText BT 1042 devinnit + bb5r8a Freehand591BT-RegularA BT 1043 frhnd591 + b_____ Blackletter686BT-Regular BT 1044 blklt686 + benbf8a EngraversOldEnglishBT-Bold BT 1045 engroleb + bjfr8a Freehand575BT-RegularB BT 1046 frhnd575 + btor8a Industrial736BT-Roman BT 1047 ind736n + btori8a Industrial736BT-Italic BT 1048 ind736i + bgyh8a GoudyHeavyfaceBT-Regular BT 1049 goudhfcn + bgyh8ac GoudyHeavyfaceBT-RegularCond BT 1050 goudhfcc + bb7rn8a BernhardFashionBT-Regular BT 1051 bnhrdfan + bppc8a Lapidary333BT-Black BT 1052 lap333k + bgyrf8a GoudyHandtooledBTsRegular BT 1053 goudhndn + bg5r8a GoudyCatalogueBT-Regular BT 1054 goudcatn + b_____ Century725BT-Roman BT 1055 cen725n + b_____ Century725BT-Bold BT 1056 cen725b + b_____ Century725BT-RomanCondensed BT 1057 cen725c + b_____ Century725BT-BoldCondensed BT 1058 cen725bc + b_____ Century725BT-Italic BT 1059 cen725i + b_____ Century725BT-Black BT 1060 cen725k + bocr8a Dutch809BT-RomanC BT 1061 dut809n + bocri8a Dutch809BT-ItalicC BT 1062 dut809i + bocb8a Dutch809BT-BoldC BT 1063 dut809b + bpsr8a ParisianBT-Regular BT 1064 parisnn + bctb8ac CheltenhamBT-BoldCondensed BT 1065 chltboc + bctbi8ac CheltenhamBT-BoldCondItalic BT 1066 chltboci + bctb8aq CheltenhamBT-BoldExtraCondensed BT 1067 chltboxc + bbrr8a Revival565BT-Roman BT 1068 revi565n + bbrri8a Revival565BT-Italic BT 1069 revi565i + bbrb8a Revival565BT-Bold BT 1070 revi565b + bbrbi8a Revival565BT-BoldItalic BT 1071 rev565bi + bubrd8a BauerBodoniBT-Titling BT 1072 baubodti + bumr8a UmbraBT-Regular BT 1074 umbran + bbmr8a BulmerBT-Roman BT 1075 bulmern + bbmri8a BulmerBT-Italic BT 1076 bulmeri + bral8a RaleighBT-Light BT 1077 raleighl + brar8a RaleighBT-Roman BT 1078 raleighn + bram8a RaleighBT-Medium BT 1079 raleighm + brad8a RaleighBT-DemiBold BT 1080 raleigdb + brab8a RaleighBT-Bold BT 1081 raleighb + brax8a RaleighBT-ExtraBold BT 1082 raleigxb + boyr8a Dutch811BT-RomanD BT 1083 dut811n + boyri8a Dutch811BT-ItalicD BT 1084 dut811i + boyb8a Dutch811BT-BoldD BT 1085 dut811b + boybi8a Dutch811BT-BoldItalicD BT 1086 dut811bi + bwdk8a WeidemannITCbyBT-Book BT 1087 weidmnn + bwdki8a WeidemannITCbyBT-BookItalic BT 1088 weidmnni + bwdb8a WeidemannITCbyBT-Bold BT 1091 weidmnb + bwdbi8a WeidemannITCbyBT-BoldItalic BT 1092 weidmnbi + burr8a Venetian301BT-Roman BT 1095 ven301n + burri8a Venetian301BT-Italic BT 1096 ven301i + burd8a Venetian301BT-Demi BT 1097 ven301d + burdi8a Venetian301BT-DemiItalic BT 1098 ven301di + burb8a Venetian301BT-Bold BT 1099 ven301b + burbi8a Venetian301BT-BoldItalic BT 1100 ven301bi + b_____ FrysBaskervilleBT-Roman BT 1101 frybaskn + baar8a AachenBT-Roman BT 1102 aachenn + baab8a AachenBT-Bold BT 1103 aachenb + bhwl8a SchadowBT-Light BT 1104 schadwl + bhwli8a SchadowBT-LightCursive BT 1105 schadwli + bhwr8a SchadowBT-Roman BT 1106 schadwn + bhwb8a SchadowBT-Bold BT 1107 schadwb + bhwc8a SchadowBT-Black BT 1108 schadwk + bder8a DellaRobbiaBT-Roman BT 1112 delarobn + bdeb8a DellaRobbiaBT-Bold BT 1113 delarobb + bhwc8ac SchadowBT-BlackCondensed BT 1114 schadwkc + bnlr8a Informal011BT-Roman BT 1115 infr011n + bnlc8a Informal011BT-Black BT 1116 infr011k + bkbl8a Geometric231BT-LightC BT 1126 geo231l + bkbr8a Geometric231BT-RomanC BT 1127 geo231n + bkbb8a Geometric231BT-BoldC BT 1128 geo231b + bkbh8a Geometric231BT-HeavyC BT 1129 geo231h + ba5r8a AllegroBT-Regular BT 1138 allegron + bc9r8a Calligraphic421BT-RomanB BT 1139 calg421n + b_____ Geometric885BT-RegularD BT 1140 geo885n + b_____ Formal436BT-Regular BT 1141 frml436n + bl4r8a LucianBT-Roman BT 1142 luciann + bl4b8a LucianBT-Bold BT 1143 lucianb + brsr8a ArrusBT-Roman BT 1145 arrusn + brsri8a ArrusBT-Italic BT 1146 arrusi + brsb8a ArrusBT-Bold BT 1147 arrusb + brsbi8a ArrusBT-BoldItalic BT 1148 arrusbi + brsc8a ArrusBT-Black BT 1149 arrusk + brsci8a ArrusBT-BlackItalic BT 1150 arruski + bt0r8a TangoBT-Regular BT 1151 tangon + bbsr8a BakerSignetBT-Roman BT 1152 bakrsign + bczr8a Staccato555BT-RegularA BT 1153 stac555n + ba3r8a AdLibBT-Regular BT 1154 adlibn + bmor8a Modern20BT-RomanB BT 1168 modrn20n + bmori8a Modern20BT-ItalicB BT 1169 modrn20i + be1r8a EmpireBT-Regular BT 1176 empiren + bhxr8a HuxleyVerticalBT-Regular BT 1177 huxvertn + bozr8a OzHandicraftBT-Roman BT 1178 ozhandin + biyr8a IowanOldStyleBT-Roman BT 1198 iwolstyn + biyri8a IowanOldStyleBT-Italic BT 1199 iwolstyi + biyb8a IowanOldStyleBT-Bold BT 1200 iwolstyb + biybi8a IowanOldStyleBT-BoldItalic BT 1201 iwolstbi + biyc8a IowanOldStyleBT-Black BT 1202 iwolstyk + biyci8a IowanOldStyleBT-BlackItalic BT 1203 iwolstki + bo1r8a OrandaBT-Roman BT 1204 orandan + bo1ri8a OrandaBT-Italic BT 1205 orandai + bo1b8a OrandaBT-Bold BT 1206 orandab + bo1bi8a OrandaBT-BoldItalic BT 1207 orandabi + bo1r8ac OrandaBT-RomanCondensed BT 1208 orandac + bo1b8ac OrandaBT-BoldCondensed BT 1209 orandabc + bm4r8a MisterEarlBT-Regular BT 1221 mrearln + bb9b8a BremenBT-Bold BT 1231 bremenb + bb9c8a BremenBT-Black BT 1232 bremenk + bwcr8a SnowCapBT-Regular BT 1237 ________ + b_____ MilleniumBT-BoldExtended BT 1242 milnumbe + bpi007 SprocketDeluxeBT-Regular BT 1243 ________ + bpi008 SprocketBT-Regular BT 1244 ________ + bpi009 SonicCutThruBT-Heavy BT 1247 ________ + b_____ CharterITCbyBT-Roman BT 1268 ichrtrn + b_____ CharterITCbyBT-Italic BT 1269 ichrtri + b_____ CharterITCbyBT-Bold BT 1270 ichrtrb + b_____ CharterITCbyBT-BoldItalic BT 1271 ichrtrbi + b_____ CharterITCbyBT-Black BT 1272 ichrtrk + b_____ CharterITCbyBT-BlackItalic BT 1273 ichrtrki + bo0r8a OldDreadfulNo7BT-Regular BT 7009 ________ + bzdr ZapfDingbatsITCbyBT-Regular BT 8556 zafdingn + b_____ MICR10byBT-Regular BT 8729 micr010n + b_____ MICR12byBT-Regular BT 8730 micr012n + b_____ MICR13byBT-Regular BT 8731 micr013n + bpi003 UniversalMath1BT-Regular BT 9014 ________ + bpi004 CommercialPiBT-Regular BT 9025 ________ + bsyr SymbolProportionalBT-Regular BT 9830 symbpron + bpi010 HolidayPiBT-Regular BT 9832 ________ + bpi001 NewspaperPiBT-Regular BT 9836 ________ + + +File: fontname.info, Node: DTC fonts, Next: ITC fonts, Prev: Bitstream fonts, Up: Font name lists + +A.5 DTC fonts +============= + +The `dtc.map' file has abbreviations for DTC (Digital Typeface +Corporation) fonts. + + dhvc8rc SansBlackCondensed-DTC + dhvco8rc SansBlackCondensed-Oblique-DTC + dhvm8rx SansExtended-Medium-DTC + dhvr8rx SansExtended-Regular-DTC + dhvro8rc SansExtended-RegularOblique-DTC + dhvx8rc SansExtraBlackCondensed-DTC + dhvl8rx SansLightExtended-DTC + dhvh8rc SansThinCondensed-DTC + dhvho8rc SansThinCondensed-Oblique-DTC + dnbb8r NewBaskerville-Bold-DTC + dnbbi8r NewBaskerville-BoldItalic-DTC + dnbri8r NewBaskerville-RomanItalic-DTC + dnbr8r NewBaskerville-Roman-DTC + dopr8r Optimum-Roman-DTC + dopb8r Optimum-Bold-DTC + dopbo8r Optimum-BoldItalic-DTC + doro8r Optimum-RomanItalic-DTC + dpll8r Palton-Light-DTC + + +File: fontname.info, Node: ITC fonts, Next: Linotype fonts, Prev: DTC fonts, Up: Font name lists + +A.6 ITC fonts +============= + +The `itc.map' file has abbreviations for ITC (International Typeface +Corporation) fonts. + + + zieuk EuroSerifITC-Book + zieuki EuroSerifITC-BookItalic + zieum EuroSerifITC-Medium + zieumi EuroSerifITC-MediumItalic + zieub EuroSerifITC-Bold + zieubi EuroSerifITC-BoldItalic + zieuc EuroSerifITC-Black + zieuci EuroSerifITC-BlackItalic + zieuks EuroSansITC-Book + zieukis EuroSansITC-BookItalic + zieums EuroSansITC-Medium + zieumis EuroSansITC-MediumItalic + zieubs EuroSansITC-Bold + zieubis EuroSansITC-BoldItalic + zieucs EuroSansITC-Black + zieucis EuroSansITC-BlackItalic + + i_____ Aachen-Medium ITC 2000 + i_____ Aachen-Bold ITC 2001 + i_____ Academy-Engraved ITC 2002 + i_____ Aftershock ITC 2003 + i_____ Agincourt ITC 2004 + i_____ Airstream ITC 2005 + i_____ Algerian-Condensed ITC 2006 + i_____ Ambrose ITC 2007 + i_____ Angryhog ITC 2008 + i_____ Anna ITC 2009 + i_____ Aquinas ITC 2010 + i_____ Aquitaine-Initials ITC 2011 + i_____ Aristocrat ITC 2012 + i_____ Arnova ITC 2013 + i_____ Arriba ITC 2014 + i_____ Arriba-Arriba ITC 2015 + i_____ Artiste ITC 2016 + i_____ Atmosphere ITC 2017 + i_____ AugusteaOpen ITC 2018 + i_____ Avenida ITC 2019 + i_____ BaileyQuad-Bold ITC 2020 + i_____ Balmoral ITC 2021 + i_____ Banco-Light ITC 2022 + i_____ Banco ITC 2023 + i_____ Bang ITC 2024 + i_____ Banner ITC 2025 + i_____ BeckaScript ITC 2026 + i_____ Beesknees ITC 2027 + i_____ Belter ITC 2028 + i_____ Belter-MegaOutline ITC 2029 + i_____ Belwe-Mono ITC 2030 + i_____ Belwe-MonoItalic ITC 2031 + i_____ Bendigo ITC 2032 + i_____ Bergell ITC 2033 + i_____ Bertie ITC 2034 + i_____ Bertram ITC 2035 + i_____ BibleScriptFlourishes ITC 2036 + i_____ BickleyScript ITC 2037 + i_____ Binary-Light ITC 2038 + i_____ Binary-Bold ITC 2039 + i_____ Bitmax ITC 2040 + i_____ BlackTulip ITC 2041 + i_____ Blackadder ITC 2042 + i_____ Blackmoor ITC 2043 + i_____ Blaze ITC 2044 + i_____ Bluntz ITC 2045 + i_____ Bodoni-Brush ITC 2046 + i_____ BodoniSeventyTwo-Book ITC 2047 + i_____ BodoniSeventyTwo-BookItalic ITC 2048 + i_____ BodoniSeventyTwo-BookItalicSwash ITC 2049 + i_____ BodoniSeventyTwo-Bold ITC 2050 + i_____ BodoniSeventyTwo-BoldItalic ITC 2051 + i_____ BodoniSeventyTwo-BoldItalicSwash ITC 2052 + i_____ Boink ITC 2053 + i_____ Bordeaux-Roman ITC 2054 + i_____ Bordeaux-Italic ITC 2055 + i_____ Bordeaux-RomanBold ITC 2056 + i_____ Bordeaux-Display ITC 2057 + i_____ Bordeaux-Script ITC 2058 + i_____ BradleyHand-Regular ITC 2059 + i_____ BradleyHand-Bold ITC 2060 + i_____ Braganza-Light ITC 2061 + i_____ Braganza-Regular ITC 2062 + i_____ Brighton-Light ITC 2063 + i_____ Brighton-Medium ITC 2064 + i_____ Brighton-Bold ITC 2065 + i_____ Bronx ITC 2066 + i_____ Buckeroo ITC 2067 + i_____ Burlington ITC 2068 + i_____ BuzzerThree ITC 2069 + i_____ Cabaret ITC 2070 + i_____ CabargaCursiva ITC 2071 + i_____ Campaign ITC 2072 + i_____ CancellarescaScript ITC 2073 + i_____ Cancione ITC 2074 + i_____ Caribbean ITC 2075 + i_____ Carlton ITC 2076 + i_____ Carumba ITC 2077 + i_____ Caslon540-ItalicSwashes ITC 2078 + i_____ CaxtonRoman-Light ITC 2079 + i_____ CaxtonRoman-LightItalic ITC 2080 + i_____ CaxtonRoman-Book ITC 2081 + i_____ CaxtonRoman-Bold ITC 2082 + i_____ CenturyHandtooled-Bold ITC 2083 + i_____ CenturyHandtooled-BoldItalic ITC 2084 + i_____ Challenge-Bold ITC 2085 + i_____ Challenge-ExtraBold ITC 2086 + i_____ Champers ITC 2087 + i_____ CheltenhamHandtooled-Bold ITC 2088 + i_____ CheltenhamHandtooled-BoldItalic ITC 2089 + i_____ Cherie ITC 2090 + i_____ Chiller ITC 2091 + i_____ Chipper ITC 2092 + i_____ ChocLightbyITC ITC 2093 + i_____ Choc ITC 2094 + i_____ ChromiumOne ITC 2095 + i_____ Citation ITC 2096 + i_____ ClaudeSans-Regular ITC 2097 + i_____ ClaudeSans-Italic ITC 2098 + i_____ ClaudeSans-BoldItalic ITC 2099 + i_____ Clover ITC 2100 + i_____ CommericalScript ITC 2101 + i_____ Compacta ITC 2102 + i_____ Compacta-Italic ITC 2103 + i_____ Compacta-Bold ITC 2104 + i_____ Coptek ITC 2105 + i_____ Corinthian-Light ITC 2106 + i_____ Corinthian-Medium ITC 2107 + i_____ Corinthian-Bold ITC 2108 + i_____ Corinthian-BoldCondensed ITC 2109 + i_____ Crillee-Italic ITC 2110 + i_____ Crillee-BoldItalic ITC 2111 + i_____ Crillee-ExtraBoldItalic ITC 2112 + i_____ Crillee-ItalicInlineShadow ITC 2113 + i_____ Cult ITC 2114 + i_____ Cyberkugel ITC 2115 + i_____ Dancin ITC 2116 + i_____ Data70 ITC 2117 + i_____ Demian ITC 2118 + i_____ DemianBold ITC 2119 + i_____ DigitalWoodcuts ITC 2120 + i_____ Digitek ITC 2121 + i_____ Dinitials ITC 2122 + i_____ Dolmen ITC 2123 + i_____ Drycut ITC 2124 + i_____ DynamoShadow ITC 2125 + i_____ Eastwood ITC 2126 + i_____ Edwardian-Medium ITC 2127 + i_____ EdwardianScript-Regular ITC 2128 + i_____ EdwardianScript-Bold ITC 2129 + i_____ Ellipse-Roman ITC 2130 + i_____ Ellipse-Italic ITC 2131 + i_____ Ellipse-Bold ITC 2132 + i_____ Ellipse-BoldItalic ITC 2133 + i_____ Emphasis ITC 2134 + i_____ Enviro ITC 2135 + i_____ Epokha ITC 2136 + i_____ Equinox ITC 2137 + i_____ Etruscan ITC 2138 + i_____ FaithfulFly ITC 2139 + i_____ Farmhaus ITC 2140 + i_____ Fashion-Compressed ITC 2141 + i_____ Fashion-Engraved ITC 2142 + i_____ FineHand ITC 2143 + i_____ Flamenco-Inline ITC 2144 + i_____ Flamme ITC 2145 + i_____ Flatiron ITC 2146 + i_____ Flight ITC 2147 + i_____ Fling ITC 2148 + i_____ Florinda ITC 2149 + i_____ Follies ITC 2150 + i_____ Fontoon ITC 2151 + i_____ ForestShaded ITC 2152 + i_____ FrancesUncial ITC 2153 + i_____ Frankfurter-Medium ITC 2154 + i_____ Frankfurter ITC 2155 + i_____ Frankfurter-Highlight ITC 2156 + i_____ Frankfurter-Inline ITC 2157 + i_____ Freddo ITC 2158 + i_____ FreestyleScript ITC 2159 + i_____ FreestyleScript-Bold ITC 2160 + i_____ GaramondHandtooled ITC 2161 + i_____ GaramondHandtooled-Italic ITC 2162 + i_____ Gigi ITC 2163 + i_____ Gill-DisplayCompressed ITC 2164 + i_____ Gill-KayoCondensed ITC 2165 + i_____ GilliesGothic-ExtraBoldShaded ITC 2166 + i_____ Glastonbury ITC 2167 + i_____ GoldenCockerel-InitialsOrnaments ITC 2168 + i_____ Grapefruit ITC 2169 + i_____ Gravura ITC 2170 + i_____ Green ITC 2171 + i_____ GreytonScript ITC 2172 + i_____ GrimshawHand ITC 2173 + i_____ Hadfield ITC 2174 + i_____ HandDrawn ITC 2175 + i_____ Harlow ITC 2176 + i_____ HarlowSolid ITC 2177 + i_____ Harvey ITC 2178 + i_____ Hazel ITC 2179 + i_____ Heliotype ITC 2180 + i_____ Helvetica-MediumCondensed ITC 2181 + i_____ Helvetica-BoldCondensed ITC 2182 + i_____ Highlight ITC 2183 + i_____ Hollyweird ITC 2184 + i_____ Hornpype ITC 2185 + i_____ Ignatius ITC 2186 + i_____ Impakt ITC 2187 + i_____ IndyItalic ITC 2188 + i_____ Informal-Roman ITC 2189 + i_____ Inscription ITC 2190 + i_____ Iris ITC 2191 + i_____ Ironwork ITC 2192 + i_____ Isis ITC 2193 + i_____ Jaft ITC 2194 + i_____ Jambalaya ITC 2195 + i_____ Jazz ITC 2196 + i_____ Jellybaby ITC 2197 + i_____ JohnHandy ITC 2198 + i_____ Jokerman ITC 2199 + i_____ Juanita ITC 2200 + i_____ Juanita-Condensed ITC 2201 + i_____ Juanita-Deco ITC 2202 + i_____ Juanita-Lino ITC 2203 + i_____ Juanita-Xilo ITC 2204 + i_____ Juanita-XiloCondensed ITC 2205 + i_____ Juice ITC 2206 + i_____ Kanban ITC 2207 + i_____ Katfish ITC 2208 + i_____ Kendo ITC 2209 + i_____ Kick ITC 2210 + i_____ Klee ITC 2211 + i_____ Klepto ITC 2212 + i_____ Kokoa ITC 2213 + i_____ Kristen ITC 2214 + i_____ Kulukundis ITC 2215 + i_____ LaBamba ITC 2216 + i_____ Lambada ITC 2217 + i_____ Laser ITC 2218 + i_____ LaserChrome ITC 2219 + i_____ Latino-Elongated ITC 2220 + i_____ Laura ITC 2221 + i_____ LCD ITC 2222 + i_____ LeGriffe ITC 2223 + i_____ Lennox-Book ITC 2224 + i_____ Lennox-Medium ITC 2225 + i_____ Lennox-Bold ITC 2226 + i_____ Lexikos ITC 2227 + i_____ Lightnin' ITC 2228 + i_____ LimehouseScript ITC 2229 + i_____ LinoCut ITC 2230 + i_____ Locarno-Light ITC 2231 + i_____ Locarno-Italic ITC 2232 + i_____ RennieMackintosh-Light ITC 2233 + i_____ RennieMackintosh-Bold ITC 2234 + i_____ Malibu ITC 2235 + i_____ Malstock ITC 2236 + i_____ Marguerita ITC 2237 + i_____ Mastercard ITC 2238 + i_____ Matisse ITC 2239 + i_____ Mekanik-Regular ITC 2240 + i_____ Mekanik-Italic ITC 2241 + i_____ Milano ITC 2242 + i_____ Minska-Light ITC 2243 + i_____ Minska-Medium ITC 2244 + i_____ Minska-Bold ITC 2245 + i_____ Mistral-Light ITC 2246 + i_____ Mistral ITC 2247 + i_____ Mithras ITC 2248 + i_____ MoFunkyFresh ITC 2249 + i_____ MonaLisa-Recut ITC 2250 + i_____ MonaLisa-Solid ITC 2251 + i_____ Montage ITC 2252 + i_____ MotterCorpus-Bold ITC 2253 + i_____ MotterCorpus-CondensedBold ITC 2254 + i_____ Musclehead ITC 2255 + i_____ Musica ITC 2256 + i_____ NeoNeo ITC 2257 + i_____ NoovoLight ITC 2258 + i_____ NoovoBold ITC 2259 + i_____ Nora ITC 2260 + i_____ Oberon ITC 2261 + i_____ Odessa ITC 2262 + i_____ OldEnglish ITC 2263 + i_____ OneStrokeScript ITC 2264 + i_____ OneStrokeScript-Bold ITC 2265 + i_____ OneStrokeScript-Shaded ITC 2266 + i_____ Orange ITC 2267 + i_____ Orbon-Light ITC 2268 + i_____ Orbon-Regular ITC 2269 + i_____ Orbon-Bold ITC 2270 + i_____ Orbon-Black ITC 2271 + i_____ Orlando ITC 2272 + i_____ Outback ITC 2273 + i_____ OutoftheFridge ITC 2274 + i_____ Ozwald ITC 2275 + i_____ Pablo ITC 2276 + i_____ Papyrus ITC 2277 + i_____ Party ITC 2278 + i_____ PendryScript ITC 2279 + i_____ PetersMiro ITC 2280 + i_____ Pink ITC 2281 + i_____ Plaza ITC 2282 + i_____ PleasureBoldShaded ITC 2283 + i_____ Pneuma ITC 2284 + i_____ Prague ITC 2285 + i_____ Premier-Lightline ITC 2286 + i_____ Premier-Shaded ITC 2287 + i_____ Princetown ITC 2288 + i_____ Pristina ITC 2289 + i_____ Pritchard ITC 2290 + i_____ Pritchard-LineOut ITC 2291 + i_____ Pump-Regular ITC 2292 + i_____ Pump-DemiBold ITC 2293 + i_____ Quadrus ITC 2294 + i_____ Quixley ITC 2295 + i_____ RageItalic ITC 2296 + i_____ Ragtime ITC 2297 + i_____ Rapier ITC 2298 + i_____ Refracta ITC 2299 + i_____ RegattaCondensed ITC 2300 + i_____ RetailScript ITC 2301 + i_____ Retro-Bold ITC 2302 + i_____ Retro-BoldCondensed ITC 2303 + i_____ Riptide ITC 2304 + i_____ Riva ITC 2305 + i_____ Robotik ITC 2306 + i_____ Robotik-Italic ITC 2307 + i_____ Romic-Light ITC 2308 + i_____ Romic-LightItalic ITC 2309 + i_____ Roquette ITC 2310 + i_____ Ru'ach ITC 2311 + i_____ RubberStamp ITC 2312 + i_____ Rundfunk ITC 2313 + i_____ SantaFe ITC 2314 + i_____ Savoye ITC 2315 + i_____ Schizoid ITC 2316 + i_____ Scratch ITC 2317 + i_____ Scriba ITC 2318 + i_____ Scriptease ITC 2319 + i_____ Scriptek ITC 2320 + i_____ Scriptek-Italic ITC 2321 + i_____ Scruff ITC 2322 + i_____ Serengetti ITC 2323 + i_____ Shaman ITC 2324 + i_____ Shatter ITC 2325 + i_____ Sinaloa ITC 2326 + i_____ SkidRow ITC 2327 + i_____ Skylark ITC 2328 + i_____ Slipstream ITC 2329 + i_____ Smack ITC 2330 + i_____ Smudger ITC 2331 + i_____ Snap ITC 2332 + i_____ Spirit ITC 2333 + i_____ Spooky ITC 2334 + i_____ Spotlight ITC 2335 + i_____ Squire ITC 2336 + i_____ Squire-ExtraBold ITC 2337 + i_____ Static ITC 2338 + i_____ Stranger ITC 2339 + i_____ Strobos ITC 2340 + i_____ StudioScript ITC 2341 + i_____ Stylus-Regular ITC 2342 + i_____ Stylus-Bold ITC 2343 + i_____ Superstar ITC 2344 + i_____ Surfboard ITC 2345 + i_____ Synchro ITC 2346 + i_____ Tag ITC 2347 + i_____ Tannhauser ITC 2348 + i_____ Teknik ITC 2349 + i_____ Telegram ITC 2350 + i_____ Temble ITC 2351 + i_____ Tempus-Regular ITC 2352 + i_____ Tempus-Italic ITC 2353 + i_____ TempusSans-Regular ITC 2354 + i_____ TempusSans-Italic ITC 2355 + i_____ TigerRag ITC 2356 + i_____ TirantiSolid ITC 2357 + i_____ Trackpad ITC 2358 + i_____ TropicaScript ITC 2359 + i_____ TrueGrit ITC 2360 + i_____ Twang ITC 2361 + i_____ Typados ITC 2362 + i_____ Ulysses ITC 2363 + i_____ UniversityRoman ITC 2364 + i_____ UniversityRoman-Italic ITC 2365 + i_____ UniversityRoman-Bold ITC 2366 + i_____ VanDijk ITC 2367 + i_____ VanDijkBold ITC 2368 + i_____ Varga ITC 2369 + i_____ Vegas ITC 2370 + i_____ Verkehr ITC 2371 + i_____ Vermont ITC 2372 + i_____ Victorian ITC 2373 + i_____ Victorian-InlineShaded ITC 2374 + i_____ ViennaExtended ITC 2375 + i_____ VinerHand ITC 2376 + i_____ Vintage ITC 2377 + i_____ Vinyl-Black ITC 2378 + i_____ Vinyl-Outline ITC 2379 + i_____ Vinyl-SawtoothBlack ITC 2380 + i_____ Vinyl-SawtoothOutline ITC 2381 + i_____ Vivaldi ITC 2382 + i_____ WadeSans-Light ITC 2383 + i_____ Wanted ITC 2384 + i_____ Waterloo-Bold ITC 2385 + i_____ Westwood ITC 2386 + i_____ WildThing ITC 2387 + i_____ Willow ITC 2388 + i_____ Wisteria ITC 2389 + i_____ Xylo ITC 2390 + i_____ YoungBaroque ITC 2391 + i_____ Zaragoza ITC 2392 + i_____ ZemkeHand ITC 2393 + i_____ Zennor ITC 2394 + i_____ Ziggy ITC 2395 + i_____ Zinjaro ITC 2396 + i_____ MotterSparta ITC 2397 + i_____ Underscript ITC 2398 + i_____ Stenberg ITC 2399 + i_____ Stenberg-Inline ITC 2400 + i_____ Arid ITC 2401 + i_____ Tapioca ITC 2402 + i_____ PiousHenry ITC 2403 + i_____ Korigan-Light ITC 2404 + i_____ Korigan-Bold ITC 2405 + i_____ Abaton ITC 2406 + i_____ Portago ITC 2407 + i_____ Blair-Light ITC 2408 + i_____ Blair-Medium ITC 2409 + i_____ Blair-Bold ITC 2410 + i_____ Scarborough ITC 2411 + i_____ Scarborough-Bold ITC 2412 + i_____ Gema ITC 2413 + i_____ Roswell-Three ITC 2414 + i_____ Roswell-Four ITC 2415 + i_____ Simran ITC 2416 + i_____ Tremor ITC 2417 + i_____ Coconino ITC 2418 + i_____ Stoclet-Light ITC 2419 + i_____ Stoclet-Bold ITC 2420 + i_____ JiggeryPokery ITC 2421 + i_____ Deelirious ITC 2422 + i_____ Flora-Medium ITC 2423 + i_____ Flora-Bold ITC 2424 + i_____ Manhattan ITC 2425 + i_____ Attitudes ITC 4000 + i_____ BackyardBeasties ITC 4001 + i_____ CalligraphicOrnaments ITC 4002 + i_____ Celebrations ITC 4003 + i_____ Commercials ITC 4004 + i_____ Connectivities ITC 4005 + i_____ DavesRaves-One ITC 4006 + i_____ DavesRaves-Two ITC 4007 + i_____ DavesRaves-Three ITC 4008 + i_____ Delectables ITC 4009 + i_____ Diversions ITC 4010 + i_____ Diversities ITC 4011 + i_____ Eclectics ITC 4012 + i_____ Energetics ITC 4013 + i_____ Expressions ITC 4014 + i_____ Fontoonies ITC 4015 + i_____ Gargoonies ITC 4016 + i_____ HomeImprovement ITC 4017 + i_____ Incidentals ITC 4018 + i_____ Industrials ITC 4019 + i_____ Inspirations ITC 4020 + i_____ Journeys ITC 4021 + i_____ MoFunkyFresh-Symbols ITC 4022 + i_____ Moderns ITC 4023 + i_____ Naturals ITC 4024 + i_____ Organics ITC 4025 + i_____ Organics-Two ITC 4026 + i_____ Primitives ITC 4027 + i_____ Radicals ITC 4028 + i_____ Situations ITC 4029 + i_____ StainedGlass ITC 4030 + i_____ TotSpots ITC 4031 + i_____ Urbans ITC 4032 + i_____ WellBeings ITC 4033 + i_____ Wildlife ITC 4034 + i_____ WildWest ITC 4035 + i_____ Ancestor ITC 4036 + i_____ Shadowettes ITC 4037 + i_____ Beorama ITC 4038 + i_____ Holistics ITC 4039 + i_____ ProfessionalConnections ITC 4040 + i_____ Bodoni-Ornaments ITC 5000 + i_____ RennieMackintosh-Ornaments ITC 5002 + i_____ TypeEmbellishments-One ITC 5003 + i_____ TypeEmbellishments-Two ITC 5004 + i_____ TypeEmbellishments-Three ITC 5005 + i_____ JapaneseGarden ITC 5006 + i_____ SevenTreasures ITC 5007 + i_____ BodoniSix-Book ITC 6000 + i_____ BodoniSix-BookItalic ITC 6001 + i_____ BodoniSix-Bold ITC 6002 + i_____ BodoniSix-BoldItalic ITC 6003 + i_____ BodoniTwelve-Book ITC 6004 + i_____ BodoniTwelve-BookItalic ITC 6005 + i_____ BodoniTwelve-Bold ITC 6006 + i_____ BodoniTwelve-BoldItalic ITC 6007 + i_____ Charlotte-Book ITC 6008 + i_____ Charlotte-BookItalic ITC 6009 + i_____ Charlotte-Medium ITC 6010 + i_____ Charlotte-Bold ITC 6011 + i_____ Charter-Regular ITC 6012 + i_____ Charter-RegularItalic ITC 6013 + i_____ Charter-Bold ITC 6014 + i_____ Charter-BoldItalic ITC 6015 + i_____ Charter-Black ITC 6016 + i_____ Charter-BlackItalic ITC 6017 + i_____ Elysium-Book ITC 6018 + i_____ Elysium-BookItalic ITC 6019 + i_____ Elysium-Medium ITC 6020 + i_____ Elysium-Bold ITC 6021 + i_____ Figural-Book ITC 6022 + i_____ Figural-BookItalic ITC 6023 + i_____ Figural-Medium ITC 6024 + i_____ Figural-Bold ITC 6025 + i_____ FrizQuadrata-Regular ITC 6026 + i_____ FrizQuadrata-Italic ITC 6027 + i_____ FrizQuadrata-Bold ITC 6028 + i_____ FrizQuadrata-BoldItalic ITC 6029 + i_____ Gilgamesh-Book ITC 6030 + i_____ Gilgamesh-BookItalic ITC 6031 + i_____ Gilgamesh-Medium ITC 6032 + i_____ Gilgamesh-Bold ITC 6033 + i_____ GoldenCockerel-Roman ITC 6034 + i_____ GoldenCockerel-Italic ITC 6035 + i_____ GoldenCockerel-Titling ITC 6036 + i_____ Humana-Light ITC 6037 + i_____ Humana-LightItalic ITC 6038 + i_____ Humana-Medium ITC 6039 + i_____ Humana-MediumItalic ITC 6040 + i_____ Humana-Bold ITC 6041 + i_____ Humana-BoldItalic ITC 6042 + i_____ HumanaScript-Light ITC 6043 + i_____ HumanaScript-Medium ITC 6044 + i_____ HumanaScript-Bold ITC 6045 + i_____ Kallos-Book ITC 6046 + i_____ Kallos-BookItalic ITC 6047 + i_____ Kallos-Medium ITC 6048 + i_____ Kallos-MediumItalic ITC 6049 + i_____ Kallos-Bold ITC 6050 + i_____ Kallos-BoldItalic ITC 6051 + i_____ LegacySerif-Book ITC 6052 + i_____ LegacySerif-BookItalic ITC 6053 + i_____ LegacySerif-Medium ITC 6054 + i_____ LegacySerif-MediumItalic ITC 6055 + i_____ LegacySerif-Bold ITC 6056 + i_____ LegacySerif-BoldItalic ITC 6057 + i_____ LegacySerif-Ultra ITC 6058 + i_____ MendozaRoman-Book ITC 6059 + i_____ MendozaRoman-BookItalic ITC 6060 + i_____ MendozaRoman-Medium ITC 6061 + i_____ MendozaRoman-MediumItalic ITC 6062 + i_____ MendozaRoman-Bold ITC 6063 + i_____ MendozaRoman-BoldItalic ITC 6064 + i_____ Obelisk-Light ITC 6065 + i_____ Obelisk-LightItalic ITC 6066 + i_____ Obelisk-Medium ITC 6067 + i_____ Obelisk-Bold ITC 6068 + i_____ OfficinaSerif-Book ITC 6069 + i_____ OfficinaSerif-BookItalic ITC 6070 + i_____ OfficinaSerif-Bold ITC 6071 + i_____ OfficinaSerif-BoldItalic ITC 6072 + i_____ StoneInformal-Medium ITC 6073 + i_____ StoneInformal-MediumItalic ITC 6074 + i_____ StoneInformal-SemiBold ITC 6075 + i_____ StoneInformal-SemiBoldItalic ITC 6076 + i_____ StoneInformal-Bold ITC 6077 + i_____ StoneInformal-BoldItalic ITC 6078 + i_____ StoneSerif-Medium ITC 6079 + i_____ StoneSerif-MediumItalic ITC 6080 + i_____ StoneSerif-SemiBold ITC 6081 + i_____ StoneSerif-SemiBoldItalic ITC 6082 + i_____ StoneSerif-Bold ITC 6083 + i_____ StoneSerif-BoldItalic ITC 6084 + i_____ Syndor-Book ITC 6085 + i_____ Syndor-BookItalic ITC 6086 + i_____ Syndor-Medium ITC 6087 + i_____ Syndor-MediumItalic ITC 6088 + i_____ Syndor-Bold ITC 6089 + i_____ Syndor-BoldItalic ITC 6090 + i_____ Tyfa-Book ITC 6091 + i_____ Tyfa-BookItalic ITC 6092 + i_____ Tyfa-Medium ITC 6093 + i_____ Tyfa-MediumItalic ITC 6094 + i_____ Tyfa-Bold ITC 6095 + i_____ Tyfa-BoldItalic ITC 6096 + i_____ OfficinaSerif-Medium ITC 6097 + i_____ OfficinaSerif-MediumItalic ITC 6098 + i_____ OfficinaSerif-ExtraBold ITC 6099 + i_____ OfficinaSerif-ExtraBoldItalic ITC 6100 + i_____ OfficinaSerif-Black ITC 6101 + i_____ OfficinaSerif-BlackItalic ITC 6102 + i_____ SerifGothic-Light ITC 6103 + i_____ SerifGothic-Regular ITC 6104 + i_____ SerifGothic-Bold ITC 6105 + i_____ SerifGothic-ExtraBold ITC 6106 + i_____ SerifGothic-Heavy ITC 6107 + i_____ SerifGothic-Black ITC 6108 + i_____ AmericanTypewriter-Light ITC 6109 + i_____ AmericanTypewriter-LightItalic ITC 6110 + i_____ AmericanTypewriter-Medium ITC 6111 + i_____ AmericanTypewriter-MediumItalic ITC 6112 + i_____ AmericanTypewriter-Bold ITC 6113 + i_____ AmericanTypewriter-BoldItalic ITC 6114 + i_____ AmericanTypewriter-CondLight ITC 6115 + i_____ AmericanTypewriter-CondMedium ITC 6116 + i_____ AmericanTypewriter-CondBold ITC 6117 + i_____ LubalinGraph-ExtraLight ITC 6118 + i_____ LubalinGraph-ExtraLightOblique ITC 6119 + i_____ LubalinGraph-Book ITC 6120 + i_____ LubalinGraph-BookOblique ITC 6121 + i_____ LubalinGraph-Medium ITC 6122 + i_____ LubalinGraph-MediumOblique ITC 6123 + i_____ LubalinGraph-Demi ITC 6124 + i_____ LubalinGraph-DemiOblique ITC 6125 + i_____ LubalinGraph-Bold ITC 6126 + i_____ LubalinGraph-BoldOblique ITC 6127 + i_____ Benguiat-Book ITC 6128 + i_____ Benguiat-BookItalic ITC 6129 + i_____ Benguiat-Medium ITC 6130 + i_____ Benguiat-MediumItalic ITC 6131 + i_____ Benguiat-Bold ITC 6132 + i_____ Benguiat-BoldItalic ITC 6133 + i_____ Benguiat-CondensedBook ITC 6134 + i_____ Benguiat-CondensedBookItalic ITC 6135 + i_____ Benguiat-CondensedMedium ITC 6136 + i_____ Benguiat-CondensedMediumItalic ITC 6137 + i_____ Benguiat-CondensedBold ITC 6138 + i_____ Benguiat-CondensedBoldItalic ITC 6139 + i_____ Korinna-Regular ITC 6140 + i_____ Korinna-KursivRegular ITC 6141 + i_____ Korinna-Bold ITC 6142 + i_____ Korinna-KursivBold ITC 6143 + i_____ Korinna-ExtraBold ITC 6144 + i_____ Korinna-KursivExtraBold ITC 6145 + i_____ Korinna-Heavy ITC 6146 + i_____ Korinna-KursivHeavy ITC 6147 + i_____ Souvenir-Light ITC 6148 + i_____ Souvenir-LightItalic ITC 6149 + i_____ Souvenir-Medium ITC 6150 + i_____ Souvenir-MediumItalic ITC 6151 + i_____ Souvenir-Demi ITC 6152 + i_____ Souvenir-DemiItalic ITC 6153 + i_____ Souvenir-Bold ITC 6154 + i_____ Souvenir-BoldItalic ITC 6155 + i_____ Caslon224-Book ITC 6156 + i_____ Caslon224-BookItalic ITC 6157 + i_____ Caslon224-Medium ITC 6158 + i_____ Caslon224-MediumItalic ITC 6159 + i_____ Caslon224-Bold ITC 6160 + i_____ Caslon224-BoldItalic ITC 6161 + i_____ Caslon224-Black ITC 6162 + i_____ Caslon224-BlackItalic ITC 6163 + i_____ LubalinGraph-CondBook ITC 6164 + i_____ LubalinGraph-CondBookOblique ITC 6165 + i_____ LubalinGraph-CondMedium ITC 6166 + i_____ LubalinGraph-CondMediumOblique ITC 6167 + i_____ LubalinGraph-CondDemi ITC 6168 + i_____ LubalinGraph-CondDemiOblique ITC 6169 + i_____ LubalinGraph-CondBold ITC 6170 + i_____ LubalinGraph-CondBoldOblique ITC 6171 + i_____ Galliard-Regular ITC 6172 + i_____ Galliard-Italic ITC 6173 + i_____ Galliard-Bold ITC 6174 + i_____ Galliard-BoldItalic ITC 6175 + i_____ Galliard-Black ITC 6176 + i_____ Galliard-BlackItalic ITC 6177 + i_____ Galliard-Ultra ITC 6178 + i_____ Galliard-UltraItalic ITC 6179 + i_____ Dyadis-Book ITC 6180 + i_____ Dyadis-BookItalic ITC 6181 + i_____ Dyadis-Medium ITC 6182 + i_____ Dyadis-MediumItalic ITC 6183 + i_____ Dyadis-Bold ITC 6184 + i_____ Dyadis-BoldItalic ITC 6185 + i_____ BaileySans-Book ITC 8000 + i_____ BaileySans-BookItalic ITC 8001 + i_____ BaileySans-Bold ITC 8002 + i_____ BaileySans-BoldItalic ITC 8003 + i_____ Charlotte-SansBook ITC 8004 + i_____ Charlotte-SansBookItalic ITC 8005 + i_____ Charlotte-SansMedium ITC 8006 + i_____ Charlotte-SansBold ITC 8007 + i_____ Conduit-Light ITC 8008 + i_____ Conduit-LightItalic ITC 8009 + i_____ Conduit-Medium ITC 8010 + i_____ Conduit-MediumItalic ITC 8011 + i_____ Conduit-Bold ITC 8012 + i_____ Conduit-BoldItalic ITC 8013 + i_____ Highlander-Book ITC 8014 + i_____ Highlander-BookItalic ITC 8015 + i_____ Highlander-Medium ITC 8016 + i_____ Highlander-MediumItalic ITC 8017 + i_____ Highlander-Bold ITC 8018 + i_____ Highlander-BoldItalic ITC 8019 + i_____ HumanaSans-Light ITC 8020 + i_____ HumanaSans-LightItalic ITC 8021 + i_____ HumanaSans-Medium ITC 8022 + i_____ HumanaSans-MediumItalic ITC 8023 + i_____ HumanaSans-Bold ITC 8024 + i_____ HumanaSans-BoldItalic ITC 8025 + i_____ LegacySans-Book ITC 8026 + i_____ LegacySans-BookItalic ITC 8027 + i_____ LegacySans-Medium ITC 8028 + i_____ LegacySans-MediumItalic ITC 8029 + i_____ LegacySans-Bold ITC 8030 + i_____ LegacySans-BoldItalic ITC 8031 + i_____ LegacySans-Ultra ITC 8032 + i_____ Odyssee-Light ITC 8033 + i_____ Odyssee-LightItalic ITC 8034 + i_____ Odyssee-Medium ITC 8035 + i_____ Odyssee-MediumItalic ITC 8036 + i_____ Odyssee-Bold ITC 8037 + i_____ Odyssee-BoldItalic ITC 8038 + i_____ Odyssee-Ultra ITC 8039 + i_____ OfficinaSans-Book ITC 8040 + i_____ OfficinaSans-BookItalic ITC 8041 + i_____ OfficinaSans-Bold ITC 8042 + i_____ OfficinaSans-BoldItalic ITC 8043 + i_____ StoneSans-Medium ITC 8044 + i_____ StoneSans-MediumItalic ITC 8045 + i_____ StoneSans-SemiBold ITC 8046 + i_____ StoneSans-SemiBoldItalic ITC 8047 + i_____ StoneSans-Bold ITC 8048 + i_____ StoneSans-BoldItalic ITC 8049 + i_____ Woodland-Light ITC 8050 + i_____ Woodland-Medium ITC 8051 + i_____ Woodland-Demi ITC 8052 + i_____ Woodland-Heavy ITC 8053 + i_____ OfficinaSans-Medium ITC 8054 + i_____ OfficinaSans-MediumItalic ITC 8055 + i_____ OfficinaSans-ExtraBold ITC 8056 + i_____ OfficinaSans-ExtraBoldItalic ITC 8057 + i_____ OfficinaSans-Black ITC 8058 + i_____ AvantGardeGothic-ExtraLight ITC 8059 + i_____ AvantGardeGothic-ExtraLightObl ITC 8060 + i_____ AvantGardeGothic-Book ITC 8061 + i_____ AvantGardeGothic-BookOblique ITC 8062 + i_____ AvantGardeGothic-Medium ITC 8063 + i_____ AvantGardeGothic-MediumOblique ITC 8064 + i_____ AvantGardeGothic-Demi ITC 8065 + i_____ AvantGardeGothic-DemiOblique ITC 8066 + i_____ AvantGardeGothic-Bold ITC 8067 + i_____ AvantGardeGothic-BoldOblique ITC 8068 + i_____ FranklinGothic-Book ITC 8069 + i_____ FranklinGothic-BookItalic ITC 8070 + i_____ FranklinGothic-Medium ITC 8071 + i_____ FranklinGothic-MediumItalic ITC 8072 + i_____ FranklinGothic-Demi ITC 8073 + i_____ FranklinGothic-DemiItalic ITC 8074 + i_____ FranklinGothic-Heavy ITC 8075 + i_____ FranklinGothic-HeavyItalic ITC 8076 + i_____ FranklinGothic-CondBook ITC 8077 + i_____ FranklinGothic-CondBookItal ITC 8078 + i_____ FranklinGothic-CondMedium ITC 8079 + i_____ FranklinGothic-CondMediumItal ITC 8080 + i_____ FranklinGothic-CondDemi ITC 8081 + i_____ FranklinGothic-CondDemiItal ITC 8082 + i_____ FranklinGothic-ComprBook ITC 8083 + i_____ FranklinGothic-ComprBookItal ITC 8084 + i_____ FranklinGothic-ComprDemi ITC 8085 + i_____ FranklinGothic-ComprDemiItal ITC 8086 + i_____ FranklinGothic-ExtraComprBook ITC 8087 + i_____ FranklinGothic-ExtraComprDemi ITC 8088 + i_____ OfficinaSans-BlackItalic ITC 8089 + i_____ BenguiatGothic-Book ITC 8090 + i_____ BenguiatGothic-BookItalic ITC 8091 + i_____ BenguiatGothic-Medium ITC 8092 + i_____ BenguiatGothic-MediumItalic ITC 8093 + i_____ BenguiatGothic-Bold ITC 8094 + i_____ BenguiatGothic-BoldItalic ITC 8095 + i_____ BenguiatGothic-Heavy ITC 8096 + i_____ BenguiatGothic-HeavyItalic ITC 8097 + i_____ ItcEras-Light ITC 8098 + i_____ ItcEras-Book ITC 8099 + i_____ ItcEras-Medium ITC 8100 + i_____ ItcEras-Demi ITC 8101 + i_____ ItcEras-Bold ITC 8102 + i_____ ItcEras-Ultra ITC 8103 + i_____ AvantGardeGothic-CondBook ITC 8104 + i_____ AvantGardeGothic-CondMedium ITC 8105 + i_____ AvantGardeGothic-CondDemiBold ITC 8106 + i_____ AvantGardeGothic-CondBold ITC 8107 + i_____ ItcKabel-Book ITC 8108 + i_____ ItcKabel-Medium ITC 8109 + i_____ ItcKabel-Demi ITC 8110 + i_____ ItcKabel-Bold ITC 8111 + i_____ ItcKabel-Ultra ITC 8112 + + +File: fontname.info, Node: Linotype fonts, Next: Monotype fonts, Prev: ITC fonts, Up: Font name lists + +A.7 Linotype fonts +================== + +The `linotype.map' file has abbreviations for Linotype fonts. + + l_____ Aachen-Bold 1.0 + l_____ AachenEF-Medium 1.1 + l_____ AachenEF-Bold 1.2 + l_____ AharoniEF-RegularHd 2.0 + l_____ AharoniEF-MediumHd 2.1 + l_____ AharoniEF-SemiBoldHd 2.2 + l_____ AharoniEF-BoldHd 2.3 + l_____ AharoniEF-ExtraBoldHd 2.4 + l_____ AharoniEF-OutlineHd 2.5 + l_____ AharoniEF-ShadowHD 2.6 + l_____ Aja 3.0 + l_____ AkzidenzGrotesk-Light 4.0 + l_____ AkzidenzGrotesk-Roman 4.1 + l_____ AkzidenzGrotesk-Bold 4.2 + l_____ AkzidenzGrotesk-Black 4.3 + l_____ AkzidenzGroteskBE-Light 4.4 + l_____ AkzidenzGroteskBE-LightOsF 4.5 + l_____ AkzidenzGroteskBE-Regular 4.6 + l_____ AkzidenzGroteskBE-Italic 4.7 + l_____ AkzidenzGroteskBE-Md 4.8 + l_____ AkzidenzGroteskBE-MdIt 4.9 + l_____ AkzidenzGroteskBE-Bold 4.10 + l_____ AkzidenzGroteskBE-BoldIt 4.11 + l_____ AkzidenzGroteskBE-XBd 4.12 + l_____ AkzidenzGroteskBE-Super 4.13 + l_____ AkzidenzGroteskBE-LightCn 4.14 + l_____ AkzidenzGroteskBE-Cn 4.15 + l_____ AkzidenzGroteskBE-MdCn 4.16 + l_____ AkzidenzGroteskBE-MdCnIt 4.17 + l_____ AkzidenzGroteskBE-BoldCn 4.18 + l_____ AkzidenzGroteskBE-XBdCn 4.19 + l_____ AkzidenzGroteskBE-XBdCnIt 4.20 + l_____ AkzidenzGroteskBE-LightEx 4.21 + l_____ AkzidenzGroteskBE-Ex 4.22 + l_____ AkzidenzGroteskBE-MdEx 4.23 + l_____ AkzidenzGroteskBE-BoldEx 4.24 + l_____ AkzidenzGroteskBE-BoldExIt 4.25 + l_____ AGBookRounded-Regular 4.26 + l_____ AGBookRounded-Medium 4.27 + l_____ AGBookRounded-Bold 4.28 + l_____ AGBookRounded-MediumOutline 4.29 + l_____ AGBookRounded-BoldOutline 4.30 + l_____ AGBookRounded-BoldCn 4.31 + l_____ AGBookRounded-BoldCnOutline 4.32 + l_____ AGBook-Stencil 4.33 + l_____ AGOldFace-Regular 4.34 + l_____ AGOldFace-Medium 4.35 + l_____ AGOldFace-Bold 4.36 + l_____ AGOldFace-Outline 4.37 + l_____ AGOldFace-BoldOutline 4.38 + l_____ AGOldFace-Shaded 4.39 + l_____ AGSchoolbook-Regular 4.40 + l_____ AGSchoolbook-RegularA 4.41 + l_____ AGSchoolbook-Medium 4.42 + l_____ AGSchoolbook-MediumA 4.43 + l_____ AlcuinEF-Light 5.0 + l_____ AlcuinEF-Regular 5.1 + l_____ AlcuinEF-Bold 5.2 + l_____ AlcuinEF-ExtraBold 5.3 + l_____ Aldus-Roman 6.0 + l_____ Aldus-RomanSC 6.1 + l_____ Aldus-Italic 6.2 + l_____ Aldus-ItalicOsF 6.3 + l_____ AleOrnamentsRotatoLL 7.0 + l_____ AleOrnamentsSpiratoLL 7.1 + l_____ AlexieLL 8.0 + l_____ AlteSchwabacherEF 9.0 + l_____ AlternateGothicEF-NoOne 10.0 + l_____ AlternateGothicEF-NoTwo 10.1 + l_____ AlternateGothicEF-NoThree 10.2 + l_____ AmericanUncialEF 11.0 + l_____ Americana 12.0 + l_____ Americana-Italic 12.1 + l_____ Americana-Bold 12.2 + l_____ Americana-ExtraBold 12.3 + l_____ AmericanaEF-Regular 12.4 + l_____ AmericanaEF-RegularItalic 12.5 + l_____ AmericanaEF-Bold 12.6 + l_____ AmericanaEF-ExtraBold 12.7 + l_____ AnnlieEF-ExtraBold 14.0 + l_____ AnnlieEF-ExtraBoldItalic 14.1 + l_____ AntiqueOlive-Light 15.0 + l_____ AntiqueOlive-Roman 15.1 + l_____ AntiqueOlive-Italic 15.2 + l_____ AntiqueOlive-Bold 15.3 + l_____ AntiqueOlive-Black 15.4 + l_____ AntiqueOlive-BoldCond 15.5 + l_____ AntiqueOlive-Compact 15.6 + l_____ AntiqueOlive-Nord 15.7 + l_____ AntiqueOlive-NordItalic 15.8 + l_____ AntiqueOliveCE-Light 15.9 + l_____ AntiqueOliveCE-Roman 15.10 + l_____ AntiqueOliveCE-Italic 15.11 + l_____ AntiqueOliveCE-Bold 15.12 + l_____ AntiqueOliveCE-Black 15.13 + l_____ AntiqueOliveEastA-Light 15.14 + l_____ AntiqueOliveEastA-Roman 15.15 + l_____ AntiqueOliveEastA-Italic 15.16 + l_____ AntiqueOliveEastA-Bold 15.17 + l_____ AntiqueOliveEastA-Black 15.18 + l_____ ApolloMT-Roman 16.0 + l_____ ApolloMT-RomanSC 16.1 + l_____ ApolloMT-RomanExpert 16.2 + l_____ ApolloMT-Italic 16.3 + l_____ ApolloMT-ItalicOsF 16.4 + l_____ ApolloMT-ItalicExpert 16.5 + l_____ ApolloMT-SemiBold 16.6 + l_____ ApolloMT-SemiBoldOsF 16.7 + l_____ ApolloMT-SemiBoldExpert 16.8 + l_____ Arcadia 17.0 + l_____ Arcadia-Alternate 17.1 + l_____ Ariadne-Roman 18.0 + l_____ Arioso 19.0 + l_____ Arkona-Regular 20.0 + l_____ Arkona-Medium 20.1 + l_____ ArnoldBoecklin 21.0 + l_____ AshleyScriptMT 22.0 + l_____ NewAster 23.0 + l_____ NewAster-Italic 23.1 + l_____ NewAster-SemiBold 23.2 + l_____ NewAster-SemiBoldItalic 23.3 + l_____ NewAster-Bold 23.4 + l_____ NewAster-BoldItalic 23.5 + l_____ NewAster-Black 23.6 + l_____ NewAster-BlackItalic 23.7 + l_____ AsterEF-Regular 23.8 + l_____ AsterEF-RegularItalic 23.9 + l_____ AsterEF-Medium 23.10 + l_____ AureliaEF-Light 24.0 + l_____ AureliaEF-LightItalic 24.1 + l_____ AureliaEF-Book 24.2 + l_____ AureliaEF-BookItalic 24.3 + l_____ AureliaEF-Bold 24.4 + l_____ Auriol 25.0 + l_____ Auriol-Italic 25.1 + l_____ Auriol-Bold 25.2 + l_____ Auriol-BoldItalic 25.3 + l_____ Auriol-Black 25.4 + l_____ Auriol-BlackItalic 25.5 + l_____ BalderLL 28.0 + l_____ BalloonEF-ExtraBold 29.0 + l_____ BalloonEF-DropShadow 29.1 + l_____ BalmoralEF-Regular 30.0 + l_____ BalmoralEF-Alternative 30.1 + l_____ Banco 31.0 + l_____ BarbedorEF-Regular 32.0 + l_____ BarbedorEF-RegularItalic 32.1 + l_____ BarbedorEF-Medium 32.2 + l_____ BarbedorEF-MediumItalic 32.3 + l_____ BarbedorEF-Bold 32.4 + l_____ BarbedorEF-BoldItalic 32.5 + l_____ BarbedorEF-Black 32.6 + l_____ BarbedorEF-BlackItalic 32.7 + l_____ BaskervilleCyr-Upright 33.0 + l_____ BaskervilleCyr-Inclined 33.1 + l_____ BaskervilleCyr-Bold 33.2 + l_____ BaskervilleGreek-Upright 33.3 + l_____ BaskervilleGreek-Inclined 33.4 + l_____ BaskervilleGreek-Bold 33.5 + l_____ BaskervilleGreekP-Upright 33.6 + l_____ BaskervilleGreekP-Inclined 33.7 + l_____ BaskervilleGreekP-Bold 33.8 + l_____ BaskervilleEF-Regular 33.9 + l_____ BaskervilleEF-RegularItalic 33.10 + l_____ BaskervilleEF-Medium 33.11 + l_____ BaskervilleBE-Regular 33.12 + l_____ BaskervilleBE-Italic 33.13 + l_____ BaskervilleBE-Medium 33.14 + l_____ BaskervilleBE-MediumItalic 33.15 + l_____ BaskervilleBE-Bold 33.16 + l_____ NewBaskerville-Roman 33.17 + l_____ NewBaskerville-SC 33.18 + l_____ NewBaskerville-Italic 33.19 + l_____ NewBaskerville-ItalicOsF 33.20 + l_____ NewBaskerville-Bold 33.21 + l_____ NewBaskerville-BoldSC 33.22 + l_____ NewBaskerville-BoldItalic 33.23 + l_____ NewBaskerville-BoldItalicOsF 33.24 + l_____ NewBaskervilleEF-Roman 33.25 + l_____ NewBaskervilleEF-Italic 33.26 + l_____ NewBaskervilleEF-SemiBold 33.27 + l_____ NewBaskervilleEF-SemiBoldItalic 33.28 + l_____ NewBaskervilleEF-Bold 33.29 + l_____ NewBaskervilleEF-BoldItalic 33.30 + l_____ NewBaskervilleEF-Black 33.31 + l_____ NewBaskervilleEF-BlackItalic 33.32 + l_____ BaskervilleBook-Regular 33.33 + l_____ BaskervilleBook-Italic 33.34 + l_____ BaskervilleBook-Medium 33.35 + l_____ BaskervilleBook-MedItalic 33.36 + l_____ BaskervilleOldFaceEF 33.37 + l_____ AfroditeKATEF-Filly 34.0 + l_____ AfroditeKATEF-Ready 34.1 + l_____ AfroditeKATEF-Funky 34.2 + l_____ BadblocksEF 34.3 + l_____ BeatEF-BackBeat 34.4 + l_____ BeatEF-HardBeat 34.5 + l_____ BloxxEF 34.6 + l_____ BornFreeKATEF-Hungry 34.7 + l_____ BornFreeKATEF-Fed 34.8 + l_____ BrushableEF 34.9 + l_____ CandyEF 34.10 + l_____ ComancheEF 34.11 + l_____ CrazeEF 34.12 + l_____ DoublePacEF-Scrambled 34.13 + l_____ EastsideEF-Regular 34.14 + l_____ EastsideEF-Double 34.15 + l_____ FutureWorldEF 34.16 + l_____ ItKATEF 34.17 + l_____ JameKATEF-Black 34.18 + l_____ JameKATEF-White 34.19 + l_____ KiddingKidEF 34.20 + l_____ KnockoutEF 34.21 + l_____ LittleJoeKATEF-Black 34.22 + l_____ LittleJoeKATEF-White 34.23 + l_____ MaoMaoEF 34.24 + l_____ MaydayEF 34.25 + l_____ MiroEF 34.26 + l_____ MrsBeasleyEF 34.27 + l_____ NiniveEF 34.28 + l_____ RumourEF 34.29 + l_____ SiouxEF 34.30 + l_____ StayawhileEF 34.31 + l_____ SteelPlateEF 34.32 + l_____ TieriliEF 34.33 + l_____ TruckEF 34.34 + l_____ TwinPickEF-Hard 34.35 + l_____ XabbieEF 34.36 + l_____ BellGothic-Light 36.0 + l_____ BellGothic-Bold 36.1 + l_____ BellGothic-Black 36.2 + l_____ BelugaLL 37.0 + l_____ Berling-Roman 38.0 + l_____ Berling-Italic 38.1 + l_____ Berling-Bold 38.2 + l_____ Berling-BoldItalic 38.3 + l_____ BerlingEF-Regular 38.4 + l_____ BerlingEF-RegularItalic 38.5 + l_____ BerlingEF-Bold 38.6 + l_____ BernhardEF-Antique 39.1 + l_____ BernhardEF-Fashion 39.2 + l_____ BernhardModern-Roman 39.3 + l_____ BernhardModern-Italic 39.4 + l_____ BernhardModern-Bold 39.5 + l_____ BernhardModern-BoldItalic 39.6 + l_____ BernhardSchoenschriftEF-Light 39.7 + l_____ BernhardSchoenschriftEF-Regular 39.8 + l_____ BertholdScript-Regular 40.0 + l_____ BertholdScript-Medium 40.1 + l_____ BetonEF-Light 41.0 + l_____ BetonEF-DemiBold 41.1 + l_____ BetonEF-Bold 41.2 + l_____ BetonEF-ExtraBold 41.3 + l_____ BetonEF-BoldCondensed 41.4 + l_____ BibleScriptEF-Regular 42.0 + l_____ BibleScriptEF-Alternates 42.1 + l_____ BibleScriptEF-Flourishes 42.2 + l_____ Blackoak 43.0 + l_____ BlippoBlackEF 44.0 + l_____ BottleneckEF 45.0 + l_____ BramleyEF-Light 46.0 + l_____ BramleyEF-Medium 46.1 + l_____ BramleyEF-Bold 46.2 + l_____ BramleyEF-ExtraBold 46.3 + l_____ BrightonEF-Light 47.0 + l_____ BrightonEF-LightItalic 47.1 + l_____ BrightonEF-Medium 47.2 + l_____ BrightonEF-Bold 47.3 + lpi___ BundesbahnPi-One 48.0 + lpi___ BundesbahnPi-Two 48.1 + lpi___ BundesbahnPi-Three 48.2 + l_____ BusterEF 49.0 + l_____ CandiceEF 50.0 + lpi___ CaravanLH-One 51.0 + lpi___ CaravanLH-Two 51.1 + lpi___ CaravanLH-Three 51.2 + lpi___ CaravanLH-Four 51.3 + l_____ CascadeScript 52.0 + l_____ CashEF-Monospace 53.0 + l_____ CastellarMT 54.0 + l_____ Charlemagne-Regular 55.0 + l_____ Charlemagne-Bold 55.1 + l_____ Christiana-Regular 57.0 + l_____ Christiana-RegularSC 57.1 + l_____ Christiana-RegularExpert 57.2 + l_____ Christiana-Italic 57.3 + l_____ Christiana-Medium 57.4 + l_____ Christiana-MediumItalic 57.5 + l_____ Christiana-Bold 57.6 + l_____ Christiana-BoldItalic 57.7 + l_____ ChwastBuffalo-BlackCond 58.0 + l_____ CirkulusEF 59.0 + l_____ Clairvaux 60.0 + l_____ Clairvaux-Dfr 60.1 + l_____ Clearface-Regular 61.0 + l_____ Clearface-RegularItalic 61.1 + l_____ Clearface-Bold 61.2 + l_____ Clearface-BoldItalic 61.3 + l_____ Clearface-Heavy 61.4 + l_____ Clearface-HeavyItalic 61.5 + l_____ Clearface-Black 61.6 + l_____ Clearface-BlackItalic 61.7 + l_____ ClearfaceEF-Regular 61.8 + l_____ ClearfaceEF-RegularItalic 61.9 + l_____ ClearfaceEF-Bold 61.10 + l_____ ClearfaceEF-BoldItalic 61.11 + l_____ ClearfaceEF-Heavy 61.12 + l_____ ClearfaceEF-HeavyItalic 61.13 + l_____ ClearfaceEF-Black 61.14 + l_____ ClearfaceEF-BlackItalic 61.15 + l_____ ClearfaceGothicLH-Light 61.16 + l_____ ClearfaceGothicLH-Roman 61.17 + l_____ ClearfaceGothicLH-Medium 61.18 + l_____ ClearfaceGothicLH-Bold 61.19 + l_____ ClearfaceGothicLH-Black 61.20 + l_____ ClearfaceGothicEF-Regular 61.21 + l_____ ClearfaceGothicEF-Bold 61.22 + l_____ ClearfaceGothicEF-ExtraBold 61.23 + l_____ CloisterOpenFace 62.0 + l_____ Cochin 63.0 + l_____ Cochin-Italic 63.1 + l_____ Cochin-Bold 63.2 + l_____ Cochin-BoldItalic 63.3 + l_____ Codex 64.0 + l_____ ColumnaEF-Solid 65.0 + l_____ ComeniusAntiqua-Regular 66.0 + l_____ ComeniusAntiqua-Italic 66.1 + l_____ ComeniusAntiqua-Medium 66.2 + l_____ ComeniusAntiqua-Bold 66.3 + l_____ CommercialScriptEF 67.0 + l_____ Concorde-Roman 69.0 + l_____ Concorde-Italic 69.1 + l_____ Concorde-Bold 69.2 + l_____ Concorde-BoldItalic 69.3 + l_____ ConcordeBE-Regular 69.4 + l_____ ConcordeBE-RegularSC 69.5 + l_____ ConcordeBE-RegularExp 69.6 + l_____ ConcordeBE-Italic 69.7 + l_____ ConcordeBE-ItalicOsF 69.8 + l_____ ConcordeBE-ItalicExp 69.9 + l_____ ConcordeBE-Medium 69.10 + l_____ ConcordeBE-MediumSC 69.11 + l_____ ConcordeBE-MediumEx 69.12 + l_____ ConcordeBE-MediumItalic 69.13 + l_____ ConcordeBE-MediumItalicOsF 69.14 + l_____ ConcordeBE-MediumItalicExp 69.15 + l_____ ConcordeBE-Condensed 69.16 + l_____ ConcordeBE-MediumCn 69.17 + l_____ ConcordeBE-BoldCn 69.18 + l_____ ConcordeBE-BoldCnOutline 69.19 + l_____ ConcordeNova-Regular 69.20 + l_____ ConcordeNova-RegularSC 69.21 + l_____ ConcordeNova-RegularExp 69.22 + l_____ ConcordeNova-Italic 69.23 + l_____ ConcordeNova-ItalicOsF 69.24 + l_____ ConcordeNova-ItalicExp 69.25 + l_____ ConcordeNova-Medium 69.26 + l_____ ConcordeNova-MediumSC 69.27 + l_____ ConcordeNova-MediumExp 69.28 + l_____ ContactaLL 70.0 + l_____ CoolWoolLL 71.0 + l_____ CoolWoolCottonClubLL 71.1 + l_____ CoolWoolStoneWashedLL 71.2 + l_____ CooperBlack 72.0 + l_____ CooperBlack-Italic 72.1 + l_____ CooperBlackEF-Bold 72.2 + l_____ CooperBlackEF-BoldOutline 72.3 + l_____ CooperBlackEF-BoldCondensed 72.4 + l_____ CooperBlackEF-BoldCondOutline 72.5 + l_____ Copal-Solid 73.0 + l_____ Copal-Outline 73.1 + l_____ Copal-Decorated 73.2 + l_____ CorinthianEF-Light 74.0 + l_____ CorinthianEF-Medium 74.1 + l_____ CorinthianEF-Bold 74.2 + l_____ CorinthianEF-ExtraBold 74.3 + l_____ Corona-Roman 75.0 + l_____ Corona-Italic 75.1 + l_____ Corona-Bold 75.2 + l_____ CortezEF 76.0 + l_____ Cosmos-Light 77.0 + l_____ Cosmos-LightItalic 77.1 + l_____ Cosmos-Medium 77.2 + l_____ Cosmos-ExtraBold 77.3 + l_____ CountdownEF 78.0 + l_____ CourierCE-Roman 79.0 + l_____ CourierCE-Bold 79.1 + l_____ Cremona-Regular 80.0 + l_____ Cremona-Italic 80.1 + l_____ Cremona-Bold 80.2 + l_____ Cremona-BoldItalic 80.3 + l_____ Critter 81.0 + l_____ CroissantEF 82.0 + l_____ Cutout 83.0 + l_____ DailyNews-Regular 84.0 + l_____ DailyNews-Italic 84.1 + l_____ DailyNews-Medium 84.2 + l_____ DailyNews-MediumItalic 84.3 + l_____ DailyNews-Bold 84.4 + l_____ DailyNews-BoldItalic 84.5 + l_____ DailyNews-ExtraBold 84.6 + l_____ DailyNews-ExtraBoldItalic 84.7 + lpi___ DamnedDingbatsEF-Regular 85.0 + lpi___ DamnedDingbatsEF-Initials 85.1 + l_____ Data70EF 86.0 + l_____ DavidaEF 87.0 + l_____ Delphin-I 88.0 + l_____ Delphin-II 88.1 + l_____ Delphin-IA 88.2 + l_____ Delphin-IIA 88.3 + l_____ Delta-Light 89.0 + l_____ Delta-LightItalic 89.1 + l_____ Delta-Book 89.2 + l_____ Delta-BookItalic 89.3 + l_____ Delta-Medium 89.4 + l_____ Delta-MediumItalic 89.5 + l_____ Delta-Bold 89.6 + l_____ Delta-BoldItalic 89.7 + l_____ Delta-Outline 89.8 + l_____ DemianEF 90.0 + lpi___ DeutscheBahnAG-One 91.0 + lpi___ DeutscheBahnAG-Two 91.1 + lpi___ DeutscheBahnAG-Three 91.2 + lpi___ DeutscheBahnAG-Four 91.3 + lpi___ DeutscheBahnAG-Six 91.4 + lpi___ DeutscheBahnAG-Five 91.5 + l_____ DexGothicEF 92.0 + l_____ DigiAntiquaEF-LightCondensed 93.0 + l_____ Doric-Bold 95.0 + l_____ DrugulinEF-RegularHd 96.0 + l_____ DrugulinEF-MediumHd 96.1 + l_____ DrugulinEF-BoldHd 96.2 + l_____ DrugulinEF-ExtraBoldHd 96.3 + l_____ EckmannEF 97.1 + l_____ EdwardianScriptEF-Regular 98.0 + l_____ EdwardianScriptEF-RegularA 98.1 + l_____ EdwardianScriptEF-Bold 98.2 + l_____ EdwardianScriptEF-BoldA 98.3 + l_____ Egyptian505EF-Light 99.0 + l_____ Egyptian505EF-Regular 99.1 + l_____ Egyptian505EF-Medium 99.2 + l_____ Egyptian505EF-Bold 99.3 + l_____ EgyptienneF-Roman 100.0 + l_____ EgyptienneF-Italic 100.1 + l_____ EgyptienneF-Bold 100.2 + l_____ EgyptienneF-Black 100.3 + l_____ ElectraLH-Roman 101.0 + l_____ ElectraLH-RomanSC 101.1 + l_____ ElectraLH-RomanOsF 101.2 + l_____ ElectraLH-Cursive 101.3 + l_____ ElectraLH-CursiveOsF 101.4 + l_____ ElectraLH-Bold 101.5 + l_____ ElectraLH-BoldSC 101.6 + l_____ ElectraLH-BoldOsF 101.7 + l_____ ElectraLH-BoldCursive 101.8 + l_____ ElectraLH-BoldCursiveOsF 101.9 + l_____ ElectraLH-Display 101.10 + l_____ ElectraLH-CursiveDisplay 101.11 + l_____ ElectraLH-BoldDisplay 101.12 + l_____ ElectraLH-BoldCursiveDisplay 101.13 + l_____ ElseNPL-Light 102.0 + l_____ ElseNPL-Medium 102.1 + l_____ ElseNPL-SemiBold 102.2 + l_____ ElseNPL-Bold 102.3 + l_____ EnviroEF 103.0 + l_____ EscriptLL 104.0 + lpi___ EuropeanPi-One 105.0 + lpi___ EuropeanPi-Two 105.1 + lpi___ EuropeanPi-Three 105.2 + lpi___ EuropeanPi-Four 105.2 + l_____ ExcaliburEF-Regular 106.0 + l_____ ExcaliburEF-Medium 106.1 + l_____ FacsimileLL 107.0 + l_____ FairfieldLH-Light 108.0 + l_____ FairfieldLH-LightSC 108.1 + l_____ FairfieldLH-LightItalic 108.2 + l_____ FairfieldLH-Medium 108.3 + l_____ FairfieldLH-MediumSC 108.4 + l_____ FairfieldLH-MediumItalic 108.5 + l_____ FairfieldLH-Bold 108.6 + l_____ FairfieldLH-BoldSC 108.7 + l_____ FairfieldLH-BoldItalic 108.8 + l_____ FairfieldLH-Heavy 108.9 + l_____ FairfieldLH-HeavySC 108.10 + l_____ FairfieldLH-HeavyItalic 108.11 + l_____ FairfieldLH-CaptionLight 108.12 + l_____ FairfieldLH-CaptionMedium 108.13 + l_____ FairfieldLH-CaptionBold 108.14 + l_____ FairfieldLH-CaptionHeavy 108.15 + l_____ FairfieldLH-SwLightItalicOsF 108.16 + l_____ FairfieldLH-SwMediumItalicOsF 108.17 + l_____ FairfieldLH-SwBoldItalicOsF 108.18 + l_____ FairfieldLH-SwHeavyItalicOsF 108.19 + l_____ FetteGotischEF 109.0 + l_____ FlamencoInlineEF 110.0 + l_____ Forbes-Bold 114.0 + l_____ ForteMT 115.0 + l_____ FranklinGothic-Condensed 116.0 + l_____ FranklinGothic-ExtraCond 116.1 + l_____ FranklinGothicEF-Regular 116.2 + l_____ FranklinGothicEF-RegularCond 116.3 + l_____ FranklinGothicEF-ExtraCond 116.4 + l_____ FranklinGothic-Roman 116.5 + l_____ FranklinGothic-Book 116.6 + l_____ FranklinGothic-BookOblique 116.7 + l_____ FranklinGothic-Demi 116.8 + l_____ FranklinGothic-DemiOblique 116.9 + l_____ FranklinGothic-Heavy 116.10 + l_____ FranklinGothic-HeavyOblique 116.11 + l_____ FranklinGothicEF-Book 116.12 + l_____ FranklinGothicEF-BookItalic 116.13 + l_____ FranklinGothicEF-Medium 116.14 + l_____ FranklinGothicEF-MediumItalic 116.15 + l_____ FranklinGothicEF-Demi 116.16 + l_____ FranklinGothicEF-DemiItalic 116.17 + l_____ FranklinGothicEF-Heavy 116.18 + l_____ FranklinGothicEF-HeavyItalic 116.19 + l_____ FranklinGothicEF-BookCnd 116.20 + l_____ FranklinGothicEF-BookCndSC 116.21 + l_____ FranklinGothicEF-BookCndItal 116.22 + l_____ FranklinGothicEF-MedCnd 116.23 + l_____ FranklinGothicEF-MedCndSC 116.24 + l_____ FranklinGothicEF-MedCndItal 116.25 + l_____ FranklinGothicEF-DemiCnd 116.26 + l_____ FranklinGothicEF-DemiCndItal 116.27 + l_____ FranklinGothicEF-BookCmpr 116.28 + l_____ FranklinGothicEF-BookCmprItal 116.29 + l_____ FranklinGothicEF-DemiCmpr 116.30 + l_____ FranklinGothicEF-DemiCmprItal 116.31 + l_____ FranklinGothicEF-BookXCmpr 116.32 + l_____ FranklinGothicEF-DemiXCmpr 116.33 + l_____ Frutiger-Light 117.0 + l_____ Frutiger-LightItalic 117.1 + l_____ Frutiger-Roman 117.2 + l_____ Frutiger-Italic 117.3 + l_____ Frutiger-Bold 117.4 + l_____ Frutiger-BoldItalic 117.5 + l_____ Frutiger-Black 117.6 + l_____ Frutiger-BlackItalic 117.7 + l_____ Frutiger-UltraBlack 117.8 + l_____ Frutiger-LightCn 117.9 + l_____ Frutiger-Cn 117.10 + l_____ Frutiger-BoldCn 117.11 + l_____ Frutiger-BlackCn 117.12 + l_____ Frutiger ExtraBlackCn 117.13 + l_____ Futura-Light 118.0 + l_____ Futura-LightOblique 118.1 + l_____ Futura-Book 118.2 + l_____ Futura-BookOblique 118.3 + l_____ Futura 118.4 + l_____ Futura-Oblique 118.5 + l_____ Futura-Heavy 118.6 + l_____ Futura-HeavyOblique 118.7 + l_____ Futura-Bold 118.8 + l_____ Futura-BoldOblique 118.9 + l_____ Futura-ExtraBold 118.10 + l_____ Futura-ExtraBoldOblique 118.11 + l_____ Futura-CondensedLight 118.12 + l_____ Futura-CondensedLightOblique 118.13 + l_____ Futura-CondensedMedium 118.14 + l_____ Futura-CondensedMediumOblique 118.15 + l_____ Futura-CondensedBold 118.16 + l_____ Futura-CondensedBoldOblique 118.17 + l_____ Futura-CondensedExtraBlack 118.18 + l_____ Futura-CondExtraBlackOblique 118.19 + l_____ FuturaEF-Light 118.22 + l_____ FuturaEF-LightOblique 118.23 + l_____ FuturaEF-Book 118.24 + l_____ FuturaEF-BookOblique 118.25 + l_____ FuturaEF-Medium 118.26 + l_____ FuturaEF-MediumOblique 118.27 + l_____ FuturaEF-Bold 118.28 + l_____ FuturaEF-DemiBold 118.29 + l_____ FuturaEF-BoldOblique 118.30 + l_____ FuturaEF-DemiBoldOblique 118.31 + l_____ FuturaEF-ExtraBold 118.32 + l_____ FuturaEF-ExtraBoldOblique 118.33 + l_____ FuturaEF-Heavy 118.34 + l_____ FuturaEF-LightCondensed 118.35 + l_____ FuturaEF-LightCondensedOblique 118.36 + l_____ FuturaEF-MediumCondensed 118.37 + l_____ FuturaEF-MediumCondensedOblique 118.38 + l_____ FuturaEF-BoldCondensed 118.39 + l_____ FuturaEF-BoldCondensedOblique 118.40 + l_____ FuturaEF-ExtraBoldCondensed 118.41 + l_____ FuturaEF-ExtraBoldCondOblique 118.42 + l_____ FuturaBlackEF 118.43 + l_____ FuturaDisplayEF 118.44 + l_____ FuturaScriptEF 118.45 + l_____ FuturaEF-ExtraBoldShaded 118.46 + l_____ Galahad-Regular 119.0 + l_____ Galahad-Alternate 119.1 + l_____ Galahad-OsF 119.2 + l_____ GarthGraphic 121.0 + l_____ GarthGraphic-Italic 121.1 + l_____ GarthGraphic-Bold 121.2 + l_____ GarthGraphic-BoldItalic 121.3 + l_____ GarthGraphic-Black 121.4 + l_____ GarthGraphic ExtraBlack 121.5 + l_____ GarthGraphic-Condensed 121.6 + l_____ GarthGraphic-BoldCondensed 121.7 + l_____ GazetteLH-Roman 122.0 + l_____ GazetteLH-Italic 122.1 + l_____ GazetteLH-Bold 122.2 + lpi___ GiacomettiLL 123.0 + l_____ GillSans-Light 124.0 + l_____ GillSans-LightItalic 124.1 + l_____ GillSans 124.2 + l_____ GillSans-Italic 124.3 + l_____ GillSans-Bold 124.4 + l_____ GillSans-BoldItalic 124.5 + l_____ GillSans-ExtraBold 124.6 + l_____ GillSans-UltraBold 124.7 + l_____ GillSans-LightShadowed 124.8 + l_____ GillSans-Shadowed 124.9 + l_____ GillSans-Condensed 124.10 + l_____ GillSans-BoldCondensed 124.11 + l_____ GillSans-BoldExtraCondensed 124.12 + l_____ GillSans-UltraBoldCondensed 124.13 + l_____ GillSans-ExtraBoldDisplay 124.14 + l_____ GilliesGothicEF-Light 125.0 + l_____ GilliesGothicEF-Bold 125.1 + l_____ GilliesGothicEF-ExtraBold 125.2 + l_____ GilliesGothicEF-XBoShaded 125.3 + l_____ GlastonburyEF 126.0 + l_____ Glypha-Thin 127.0 + l_____ Glypha-ThinOblique 127.1 + l_____ Glypha-Light 127.2 + l_____ Glypha-LightOblique 127.3 + l_____ Glypha 127.4 + l_____ Glypha-RomanOblique 127.5 + l_____ Glypha-Bold 127.6 + l_____ Glypha-BoldOblique 127.7 + l_____ Glypha-Black 127.8 + l_____ Glypha-BlackOblique 127.9 + l_____ GoodiesLL 128.0 + l_____ Gothic-Thirteen 129.0 + l_____ Goudy-Bold 130.0 + l_____ Goudy-BoldOsF 130.1 + l_____ Goudy-BoldItalic 130.2 + l_____ Goudy-BoldItalicOsF 130.3 + l_____ Goudy-ExtraBold 130.4 + l_____ Goudy-Heavyface 130.5 + l_____ Goudy-HeavyfaceItalic 130.6 + l_____ GoudyHandtooledEF 130.7 + l_____ GoudyCatalogueEF-Regular 130.8 + l_____ GoudyCatalogueEF-Italic 130.9 + l_____ GoudyModernMT-Roman 130.10 + l_____ GoudyModernMT-Italic 130.11 + l_____ Goudy 130.12 + l_____ Goudy-SC 130.13 + l_____ Goudy-Italic 130.14 + l_____ Goudy-ItalicOsF 130.15 + l_____ GoudySans-Book 130.16 + l_____ GoudySans-BookItalic 130.17 + l_____ GoudySans-Medium 130.18 + l_____ GoudySans-MediumItalic 130.19 + l_____ GoudySans-Bold 130.20 + l_____ GoudySans-BoldItalic 130.21 + l_____ GoudySans-Black 130.22 + l_____ GoudySans-BlackItalic 130.23 + l_____ GoudySansEF-Book 130.24 + l_____ GoudySansEF-BookSC 130.25 + l_____ GoudySansEF-BookItalic 130.26 + l_____ GoudySansEF-Medium 130.27 + l_____ GoudySansEF-MediumSC 130.28 + l_____ GoudySansEF-MediumItalic 130.29 + l_____ GoudySansEF-Bold 130.30 + l_____ GoudySansEF-BoldItalic 130.31 + l_____ GoudySansEF-Black 130.32 + l_____ GoudySansEF-BlackItalic 130.33 + l_____ GoudyTextMT-Regular 130.34 + l_____ GoudyTextMT-Alternate 130.35 + l_____ GoudyTextMT-Dfr 130.36 + l_____ GoudyTextMT-LombardicCapitals 130.37 + l_____ Grafiko 131.0 + l_____ Granjon 132.0 + l_____ Granjon-SC 132.1 + l_____ Granjon-Italic 132.2 + l_____ Granjon-ItalicOsF 132.3 + l_____ Granjon-Bold 132.4 + l_____ Granjon-BoldOsF 132.5 + l_____ GrotesqueMT-Light 133.0 + l_____ GrotesqueMT-LightItalic 133.1 + l_____ GrotesqueMT 133.2 + l_____ GrotesqueMT-Italic 133.3 + l_____ GrotesqueMT-Bold 133.4 + l_____ GrotesqueMT-Black 133.5 + l_____ GrotesqueMT-LightCondensed 133.6 + l_____ GrotesqueMT-Condensed 133.7 + l_____ GrotesqueMT-ExtraCondensed 133.8 + l_____ GrotesqueMT-BoldExtended 133.9 + l_____ Guardi-Roman 134.0 + l_____ Guardi-Italic 134.1 + l_____ Guardi-Bold 134.2 + l_____ Guardi-BoldItalic 134.3 + l_____ Guardi-Black 134.4 + l_____ Guardi-BlackItalic 134.5 + l_____ HadfieldEF 135.0 + l_____ Hadriano-Light 136.0 + l_____ Hadriano-Bold 136.1 + l_____ Hadriano-ExtraBold 136.2 + l_____ Hadriano-ExtraBoldCondensed 136.3 + l_____ HanselEF-Regular 137.0 + l_____ HanselEF-Alternate 137.1 + l_____ HarlowEF-Solid 138.0 + l_____ HarlowEF 138.1 + l_____ HawthornEF 139.0 + l_____ Helvetica-Light 140.0 + l_____ Helvetica-LightOblique 140.1 + l_____ Helvetica 140.2 + l_____ Helvetica-Oblique 140.3 + l_____ Helvetica-Bold 140.4 + l_____ Helvetica-BoldOblique 140.5 + l_____ Helvetica-Black 140.6 + l_____ Helvetica-BlackOblique 140.7 + l_____ Helvetica-Condensed-Light 140.8 + l_____ Helvetica-Condensed-LightObl 140.9 + l_____ Helvetica-Condensed 140.10 + l_____ Helvetica-Condensed-Oblique 140.11 + l_____ Helvetica-Condensed-Bold 140.12 + l_____ Helvetica-Condensed-BoldObl 140.13 + l_____ Helvetica-Condensed-Black 140.14 + l_____ Helvetica-Condensed-BlackObl 140.15 + l_____ Helvetica-Compressed 140.16 + l_____ Helvetica-ExtraCompressed 140.17 + l_____ Helvetica-UltraCompressed 140.18 + l_____ HelveticaInserat-Roman 140.19 + l_____ HelveticaRounded-Bold 140.24 + l_____ HelveticaRounded-BoldObl 140.25 + l_____ HelveticaRounded-Black 140.26 + l_____ HelveticaRounded-BlackObl 140.27 + l_____ HelveticaRounded-BoldCond 140.28 + l_____ HelveticaRounded-BoldCondObl 140.29 + l_____ HelveticaTextbook 140.30 + l_____ HelveticaTextbook-Oblique 140.31 + l_____ HelveticaTextbook-Bold 140.32 + l_____ HelveticaTextbook-BoldObl 140.33 + l_____ HelveticaCE-Roman 140.36 + l_____ HelveticaCE-Bold 140.37 + l_____ HelveticaCE-NarrowRoman 140.38 + l_____ HelveticaCE-NarrowBold 140.39 + l_____ HelveticaCyr-Upright 140.40 + l_____ HelveticaCyr-Inclined 140.41 + l_____ HelveticaCyr-Bold 140.42 + l_____ HelveticaCyr-BoldInclined 140.43 + l_____ HelveticaInseratCyr-Upright 140.44 + l_____ HelveticaGreek-Upright 140.45 + l_____ HelveticaGreek-Inclined 140.46 + l_____ HelveticaGreek-Bold 140.47 + l_____ HelveticaGreek-BoldInclined 140.48 + l_____ HelveticaGreekP-Upright 140.49 + l_____ HelveticaGreekP-Inclined 140.50 + l_____ HelveticaGreekP-Bold 140.51 + l_____ HelveticaGreekP-BoldInclined 140.52 + l_____ HelveticaNeue-UltraLight 140.53 + l_____ HelveticaNeue-UltraLightItalic 140.54 + l_____ HelveticaNeue-Thin 140.55 + l_____ HelveticaNeue-ThinItalic 140.56 + l_____ HelveticaNeue-Light 140.57 + l_____ HelveticaNeue-LightItalic 140.58 + l_____ HelveticaNeue-Roman 140.59 + l_____ HelveticaNeue-Italic 140.60 + l_____ HelveticaNeue-Medium 140.61 + l_____ HelveticaNeue-MediumItalic 140.62 + l_____ HelveticaNeue-Bold 140.63 + l_____ HelveticaNeue-BoldItalic 140.64 + l_____ HelveticaNeue-Heavy 140.65 + l_____ HelveticaNeue-HeavyItalic 140.66 + l_____ HelveticaNeue-Black 140.67 + l_____ HelveticaNeue-BlackItalic 140.68 + l_____ HelveticaNeue-BoldOutline 140.69 + l_____ HelveticaNeue-UltraLigCond 140.70 + l_____ HelveticaNeue-UltraLigCondObl 140.71 + l_____ HelveticaNeue-ThinCond 140.72 + l_____ HelveticaNeue-ThinCondObl 140.73 + l_____ HelveticaNeue-LightCond 140.74 + l_____ HelveticaNeue-LightCondObl 140.75 + l_____ HelveticaNeue-Condensed 140.76 + l_____ HelveticaNeue-CondensedObl 140.77 + l_____ HelveticaNeue-MediumCond 140.78 + l_____ HelveticaNeue-MediumCondObl 140.79 + l_____ HelveticaNeue-BoldCond 140.80 + l_____ HelveticaNeue-BoldCondObl 140.81 + l_____ HelveticaNeue-HeavyCond 140.82 + l_____ HelveticaNeue-HeavyCondObl 140.83 + l_____ HelveticaNeue-BlackCond 140.84 + l_____ HelveticaNeue-BlackCondObl 140.85 + l_____ HelveticaNeue-ExtBlackCond 140.86 + l_____ HelveticaNeue-ExtBlackCondObl 140.87 + l_____ HelveticaNeue-UltraLightExt 140.88 + l_____ HelveticaNeue-UltraLightExtObl 140.89 + l_____ HelveticaNeue-ThinExt 140.90 + l_____ HelveticaNeue-ThinExtObl 140.91 + l_____ HelveticaNeue-LightExt 140.92 + l_____ HelveticaNeue-LightExtObl 140.93 + l_____ HelveticaNeue-Extended 140.94 + l_____ HelveticaNeue-ExtendedObl 140.95 + l_____ HelveticaNeue-MediumExt 140.96 + l_____ HelveticaNeue-MediumExtObl 140.97 + l_____ HelveticaNeue-BoldExt 140.98 + l_____ HelveticaNeue-BoldExtObl 140.99 + l_____ HelveticaNeue-HeavyExt 140.100 + l_____ HelveticaNeue-HeavyExtObl 140.101 + l_____ HelveticaNeue-BlackExt 140.102 + l_____ HelveticaNeue-BlackExtObl 140.103 + l_____ HelveticaNeueCE-Thin 140.104 + l_____ HelveticaNeueCE-ThinItalic 140.105 + l_____ HelveticaNeueCE-Roman 140.106 + l_____ HelveticaNeueCE-Italic 140.107 + l_____ HelveticaNeueCE-Bold 140.108 + l_____ HelveticaNeueCE-BoldItalic 140.109 + l_____ HelveticaNeueEastA-Thin 140.110 + l_____ HelveticaNeueEastA-ThinObl 140.111 + l_____ HelveticaNeueEastA-Roman 140.112 + l_____ HelveticaNeueEastA-RomanObl 140.113 + l_____ HelveticaNeueEastA-Bold 140.114 + l_____ HelveticaNeueEastA-BoldObl 140.115 + l_____ HeraldusEF-ExtraFett 141.0 + l_____ HighlightEF 143.0 + l_____ Hiroshige-Book 144.0 + l_____ Hiroshige-BookItalic 144.1 + l_____ Hiroshige-Medium 144.2 + l_____ Hiroshige-MediumItalic 144.3 + l_____ Hiroshige-Bold 144.4 + l_____ Hiroshige-BoldItalic 144.5 + l_____ Hiroshige-Black 144.6 + l_____ Hiroshige-BlackItalic 144.7 + l_____ Hobo 145.0 + l_____ HoboEF 145.1 + l_____ HogarthScriptEF-Regular 146.0 + l_____ HondaEF 147.0 + l_____ HoratioEF-Light 148.0 + l_____ HoratioEF-Medium 148.1 + l_____ HoratioEF-Bold 148.2 + l_____ HorleyOldStyleMT-Light 149.0 + l_____ HorleyOldStyleMT-LightItalic 149.1 + l_____ HorleyOldStyleMT-Roman 149.2 + l_____ HorleyOldStyleMT-Italic 149.3 + l_____ HorleyOldStyleMT-SemiBold 149.4 + l_____ HorleyOldStyleMT-SbItalic 149.5 + l_____ HorleyOldStyleMT-Bold 149.6 + l_____ HorleyOldStyleMT-BoldItalic 149.7 + lpi___ HotmetalBorders-One 150.0 + lpi___ HotmetalBorders-Two 150.1 + lpi___ HotmetalBorders-Three 150.2 + lpi___ HotmetalBorders-Four 150.3 + l_____ AmericanTypewriter-Light 153.0 + l_____ AmericanTypewriter-LightA 153.1 + l_____ AmericanTypewriter-Medium 153.2 + l_____ AmericanTypewriter-MediumA 153.3 + l_____ AmericanTypewriter-Bold 153.4 + l_____ AmericanTypewriter-BoldA 153.5 + l_____ AmericanTypewriter-LightCond 153.6 + l_____ AmericanTypewriter-LightCondA 153.7 + l_____ AmericanTypewriter-MediumCond 153.8 + l_____ AmericanTypewriter-MediumCondA 153.9 + l_____ AmericanTypewriter-BoldCond 153.10 + l_____ AmericanTypewriter-BoldCondA 153.11 + l_____ AmericanTypewriterEF-Light 153.14 + l_____ AmericanTypewriterEF-LightItalic 153.15 + l_____ AmericanTypewriterEF-Medium 153.16 + l_____ AmericanTypewriterEF-MediumItalic 153.17 + l_____ AmericanTypewriterEF-Bold 153.18 + l_____ AmericanTypewriterEF-BoldItalic 153.19 + l_____ AmericanTypewriterEF-LightCond 153.20 + l_____ AmericanTypewriterEF-MediumCond 153.21 + l_____ AmericanTypewriterEF-BoldCond 153.22 + l_____ Anna 154.0 + l_____ AnnaEF 154.1 + l_____ AnnaEF-SC 154.2 + l_____ AvantGarde-ExtraLight 155.0 + l_____ AvantGarde-ExtraLightObl 155.1 + l_____ AvantGarde-Book 155.2 + l_____ AvantGarde-BookOblique 155.3 + l_____ AvantGarde-Medium 155.4 + l_____ AvantGarde-MediumObl 155.5 + l_____ AvantGarde-Demi 155.6 + l_____ AvantGarde-DemiOblique 155.7 + l_____ AvantGarde-Bold 155.8 + l_____ AvantGarde-BoldObl 155.9 + l_____ AvantGarde-CondBook 155.10 + l_____ AvantGarde-CondMedium 155.11 + l_____ AvantGarde-CondDemi 155.12 + l_____ AvantGarde-CondBold 155.13 + l_____ AvantGardeGothicCE-Book 155.14 + l_____ AvantGardeGothicCE-Demi 155.15 + l_____ AvantGardeGothicEF-ExtraLight 155.16 + l_____ AvantGardeGothicEF-ExtraLightObl 155.17 + l_____ AvantGardeGothicEF-Book 155.18 + l_____ AvantGardeGothicEF-BookOblique 155.19 + l_____ AvantGardeGothicEF-Medium 155.20 + l_____ AvantGardeGothicEF-MediumOblique 155.21 + l_____ AvantGardeGothicEF-Demi 155.22 + l_____ AvantGardeGothicEF-DemiOblique 155.23 + l_____ AvantGardeGothicEF-Bold 155.24 + l_____ AvantGardeGothicEF-BoldOblique 155.25 + l_____ AvantGardeGothicEF-CondBook 155.26 + l_____ AvantGardeGothicEF-CondMedium 155.27 + l_____ AvantGardeGothicEF-CondDemi 155.28 + l_____ AvantGardeGothicEF-CondBold 155.29 + l_____ AvantGardeMonoEF-Light 155.30 + l_____ AvantGardeMonoEF-LightIta 155.31 + l_____ AvantGardeMonoEF-Bold 155.32 + l_____ AvantGardeMonoEF-BoldIta 155.33 + l_____ Beesknees 156.0 + l_____ BeeskneesEF 156.1 + l_____ Benguiat-Book 157.0 + l_____ Benguiat-BookItalic 157.1 + l_____ Benguiat-Medium 157.2 + l_____ Benguiat-MediumItalic 157.3 + l_____ Benguiat-Bold 157.4 + l_____ Benguiat-BoldItalic 157.5 + l_____ BenguiatEF-Book 157.6 + l_____ BenguiatEF-BookItalic 157.7 + l_____ BenguiatEF-Medium 157.8 + l_____ BenguiatEF-MediumItalic 157.9 + l_____ BenguiatEF-Bold 157.10 + l_____ BenguiatEF-BoldItalic 157.11 + l_____ BenguiatEF-BookCondensed 157.12 + l_____ BenguiatEF-BookCondensedIta 157.13 + l_____ BenguiatEF-MediumCondensed 157.14 + l_____ BenguiatEF-MediumCondensedIta 157.15 + l_____ BenguiatEF-BoldCondensed 157.16 + l_____ BenguiatEF-BoldCondensedIta 157.17 + l_____ Berkeley-Book 158.0 + l_____ Berkeley-BookItalic 158.1 + l_____ Berkeley-Medium 158.2 + l_____ Berkeley-Italic 158.3 + l_____ Berkeley-Bold 158.4 + l_____ Berkeley-BoldItalic 158.5 + l_____ Berkeley-Black 158.6 + l_____ Berkeley-BlackItalic 158.7 + l_____ BerkeleyOldstyleEF-Book 158.8 + l_____ BerkeleyOldstyleEF-BookItalic 158.9 + l_____ BerkeleyOldstyleEF-Medium 158.10 + l_____ BerkeleyOldstyleEF-MediumItalic 158.11 + l_____ BerkeleyOldstyleEF-Bold 158.12 + l_____ BerkeleyOldstyleEF-BoldItalic 158.13 + l_____ BerkeleyOldstyleEF-Black 158.14 + l_____ BerkeleyOldstyleEF-BlackItalic 158.15 + l_____ BoltEF 159.0 + l_____ CharterEF-Regular 160.0 + l_____ CharterEF-RegularSC 160.1 + l_____ CharterEF-RegularItalic 160.2 + l_____ CharterEF-RegularItalicOsF 160.3 + l_____ CharterEF-Bold 160.4 + l_____ CharterEF-BoldSC 160.5 + l_____ CharterEF-BoldItalic 160.6 + l_____ CharterEF-BoldItalicOsF 160.7 + l_____ CharterEF-Black 160.8 + l_____ CharterEF-BlackOsF 160.9 + l_____ CharterEF-BlackItalic 160.10 + l_____ CharterEF-BlackItalicOsF 160.11 + l_____ ElanEF-Book 161.0 + l_____ ElanEF-BookSC 161.1 + l_____ ElanEF-BookItalic 161.2 + l_____ ElanEF-Medium 161.3 + l_____ ElanEF-MediumSC 161.4 + l_____ ElanEF-MediumItalic 161.5 + l_____ ElanEF-Bold 161.6 + l_____ ElanEF-BoldItalic 161.7 + l_____ ElanEF-Black 161.8 + l_____ ElanEF-BlackItalic 161.9 + l_____ ItcEras-Light 162.0 + l_____ ItcEras-Book 162.1 + l_____ ItcEras-Medium 162.2 + l_____ ItcEras-Demi 162.3 + l_____ ItcEras-Bold 162.4 + l_____ ItcEras-Ultra 162.5 + l_____ ItcErasEF-Light 162.6 + l_____ ItcErasEF-Book 162.7 + l_____ ItcErasEF-Medium 162.8 + l_____ ItcErasEF-Demi 162.9 + l_____ ItcErasEF-Bold 162.10 + l_____ ItcErasEF-Ultra 162.11 + l_____ Fenice-Light 163.0 + l_____ Fenice-LightOblique 163.1 + l_____ Fenice-Regular 163.2 + l_____ Fenice-RegularOblique 163.3 + l_____ Fenice-Bold 163.4 + l_____ Fenice-BoldOblique 163.5 + l_____ Fenice-Ultra 163.6 + l_____ Fenice-UltraOblique 163.7 + l_____ FeniceEF-Light 163.8 + l_____ FeniceEF-LightItalic 163.9 + l_____ FeniceEF-Regular 163.10 + l_____ FeniceEF-RegularItalic 163.11 + l_____ FeniceEF-Bold 163.12 + l_____ FeniceEF-BoldItalic 163.13 + l_____ FeniceEF-Ultra 163.14 + l_____ FeniceEF-UltraItalic 163.15 + l_____ FrizQuadrata 164.0 + l_____ FrizQuadrata-Bold 164.1 + l_____ FrizQuadrataEF-Regular 164.2 + l_____ FrizQuadrataEF-RegularSC 164.3 + l_____ FrizQuadrataEF-RegularItalic 164.4 + l_____ FrizQuadrataEF-Bold 164.5 + l_____ FrizQuadrataEF-BoldItalic 164.6 + l_____ Giovanni-Book 165.0 + l_____ Giovanni-BookItalic 165.1 + l_____ Giovanni-Bold 165.2 + l_____ Giovanni-BoldItalic 165.3 + l_____ Giovanni-Black 165.4 + l_____ Giovanni-BlackItalic 165.5 + l_____ GiovanniEF-Book 165.6 + l_____ GiovanniEF-BookSC 165.7 + l_____ GiovanniEF-BookItalic 165.8 + l_____ GiovanniEF-Bold 165.9 + l_____ GiovanniEF-BoldSC 165.10 + l_____ GiovanniEF-BoldItalic 165.11 + l_____ GiovanniEF-Black 165.12 + l_____ GiovanniEF-BlackItalic 165.13 + l_____ Highlander-Book 166.0 + l_____ Highlander-BookItalic 166.1 + l_____ Highlander-Medium 166.2 + l_____ Highlander-MediumItalic 166.3 + l_____ Highlander-Bold 166.4 + l_____ Highlander-BoldItalic 166.5 + l_____ HighlanderEF-Book 166.6 + l_____ HighlanderEF-BookSC 166.7 + l_____ HighlanderEF-BookItalic 166.8 + l_____ HighlanderEF-Medium 166.9 + l_____ HighlanderEF-MediumSC 166.10 + l_____ HighlanderEF-MediumItalic 166.11 + l_____ HighlanderEF-Bold 166.12 + l_____ HighlanderEF-BoldItalic 166.13 + l_____ Isadora-Roman 167.0 + l_____ Isadora-Bold 167.1 + l_____ IsadoraEF-Regular 167.2 + l_____ IsadoraEF-Bold 167.3 + l_____ JamilleEF-Book 168.0 + l_____ JamilleSCEF-Book 168.1 + l_____ JamilleEF-BookItalic 168.2 + l_____ JamilleEF-Bold 168.3 + l_____ JamilleSCEF-Bold 168.4 + l_____ JamilleEF-BoldItalic 168.5 + l_____ JamilleEF-Black 168.6 + l_____ JamilleEF-BlackItalic 168.7 + l_____ Leawood-Book 169.0 + l_____ Leawood-BookItalic 169.1 + l_____ Leawood-Medium 169.2 + l_____ Leawood-MediumItalic 169.3 + l_____ Leawood-Bold 169.4 + l_____ Leawood-BoldItalic 169.5 + l_____ Leawood-Black 169.6 + l_____ Leawood-BlackItalic 169.7 + l_____ LeawoodEF-Book 169.8 + l_____ LeawoodEF-BookSC 169.9 + l_____ LeawoodEF-BookItalic 169.10 + l_____ LeawoodEF-Medium 169.11 + l_____ LeawoodEF-MediumSC 169.12 + l_____ LeawoodEF-MediumItalic 169.13 + l_____ LeawoodEF-Bold 169.14 + l_____ LeawoodEF-BoldItalic 169.15 + l_____ LeawoodEF-Black 169.16 + l_____ LeawoodEF-BlackItalic 169.17 + l_____ LubalinGraph-Book 170.0 + l_____ LubalinGraph-BookOblique 170.1 + l_____ LubalinGraph-Demi 170.2 + l_____ LubalinGraph-DemiOblique 170.3 + l_____ LubalinGraphEF-ExtraLight 170.4 + l_____ LubalinGraphEF-ExtraLightObl 170.5 + l_____ LubalinGraphEF-Book 170.6 + l_____ LubalinGraphEF-BookOblique 170.7 + l_____ LubalinGraphEF-Medium 170.8 + l_____ LubalinGraphEF-MediumOblique 170.9 + l_____ LubalinGraphEF-Demi 170.10 + l_____ LubalinGraphEF-DemiOblique 170.11 + l_____ LubalinGraphEF-Bold 170.12 + l_____ LubalinGraphEF-BoldOblique 170.13 + l_____ LubalinGraphEF-BookCond 170.14 + l_____ LubalinGraphEF-BookCondSC 170.15 + l_____ LubalinGraphEF-BookCondObl 170.16 + l_____ LubalinGraphEF-MediumCond 170.17 + l_____ LubalinGraphEF-MediumCondSC 170.18 + l_____ LubalinGraphEF-MediumCondObl 170.19 + l_____ LubalinGraphEF-DemiCond 170.20 + l_____ LubalinGraphEF-DemiCondObl 170.21 + l_____ LubalinGraphEF-BoldCond 170.22 + l_____ LubalinGraphEF-BoldCondObl 170.23 + l_____ MixageEF-Book 171.0 + l_____ MixageSCEF-Book 171.1 + l_____ MixageEF-BookItalic 171.2 + l_____ MixageEF-Medium 171.3 + l_____ MixageSCEF-Medium 171.4 + l_____ MixageEF-MediumItalic 171.5 + l_____ MixageEF-Bold 171.6 + l_____ MixageEF-BoldItalic 171.7 + l_____ MixageEF-Black 171.8 + l_____ MixageEF-BlackItalic 171.9 + l_____ MotterCorpusEF-Regular 172.0 + l_____ MotterCorpusEF-RegularCondensed 172.1 + l_____ NewtextEF-Light 173.0 + l_____ NewtextEF-LightItalic 173.1 + l_____ NewtextEF-Book 173.2 + l_____ NewtextEF-BookItalic 173.3 + l_____ NewtextEF-Regular 173.4 + l_____ NewtextEF-RegularItalic 173.5 + l_____ NewtextEF-Demi 173.6 + l_____ NewtextEF-DemiItalic 173.7 + l_____ Ozwald 174.0 + l_____ OzwaldEF 174.1 + l_____ PanacheEF-Book 175.0 + l_____ PanacheSCEF-Book 175.1 + l_____ PanacheEF-BookItalic 175.2 + l_____ PanacheEF-Bold 175.3 + l_____ PanacheSCEF-Bold 175.4 + l_____ PanacheEF-BoldItalic 175.5 + l_____ PanacheEF-Black 175.6 + l_____ PanacheEF-BlackItalic 175.7 + l_____ Quorum-Light 176.0 + l_____ Quorum-Book 176.1 + l_____ Quorum-Medium 176.2 + l_____ Quorum-Bold 176.3 + l_____ Quorum-Black 176.4 + l_____ QuorumEF-Light 176.5 + l_____ QuorumEF-Book 176.6 + l_____ QuorumEF-Medium 176.7 + l_____ QuorumEF-Bold 176.8 + l_____ QuorumEF-Black 176.9 + l_____ RondaEF 177.0 + l_____ Slimbach-Book 178.0 + l_____ Slimbach-BookItalic 178.1 + l_____ Slimbach-Medium 178.2 + l_____ Slimbach-MediumItalic 178.3 + l_____ Slimbach-Bold 178.4 + l_____ Slimbach-BoldItalic 178.5 + l_____ Slimbach-Black 178.6 + l_____ Slimbach-BlackItalic 178.7 + l_____ SlimbachEF-Book 178.8 + l_____ SlimbachEF-BookSC 178.9 + l_____ SlimbachEF-BookItalic 178.10 + l_____ SlimbachEF-Medium 178.11 + l_____ SlimbachEF-MediumSC 178.12 + l_____ SlimbachEF-MediumItalic 178.13 + l_____ SlimbachEF-Bold 178.14 + l_____ SlimbachEF-BoldItalic 178.15 + l_____ SlimbachEF-Black 178.16 + l_____ SlimbachEF-BlackItalic 178.17 + l_____ StudioScriptEF 179.0 + l_____ StudioScriptEF-Alternative 179.1 + l_____ SyndorEF-Book 180.0 + l_____ SyndorEF-BookSC 180.1 + l_____ SyndorEF-BookItalic 180.2 + l_____ SyndorEF-Medium 180.3 + l_____ SyndorEF-MediumSC 180.4 + l_____ SyndorEF-MediumItalic 180.5 + l_____ SyndorEF-Bold 180.6 + l_____ SyndorEF-BoldItalic 180.7 + l_____ Tiffany 181.0 + l_____ Tiffany-Italic 181.1 + l_____ Tiffany-Demi 181.2 + l_____ Tiffany-DemiItalic 181.3 + l_____ Tiffany-Heavy 181.4 + l_____ Tiffany-HeavyItalic 181.5 + l_____ TiffanyEF-Light 181.6 + l_____ TiffanyEF-LightItalic 181.7 + l_____ TiffanyEF-Medium 181.8 + l_____ TiffanyEF-MediumItalic 181.9 + l_____ TiffanyEF-Demi 181.10 + l_____ TiffanyEF-DemiItalic 181.11 + l_____ TiffanyEF-Heavy 181.12 + l_____ TiffanyEF-HeavyItalic 181.13 + l_____ Weidemann-Book 182.0 + l_____ Weidemann-BookItalic 182.1 + l_____ Weidemann-Medium 182.2 + l_____ Weidemann-MediumItalic 182.3 + l_____ Weidemann-Bold 182.4 + l_____ Weidemann-BoldItalic 182.5 + l_____ Weidemann-Black 182.6 + l_____ Weidemann-BlackItalic 182.7 + l_____ WeidemannEF-Book 182.8 + l_____ WeidemannEF-BookSC 182.9 + l_____ WeidemannEF-BookItalic 182.10 + l_____ WeidemannEF-Medium 182.11 + l_____ WeidemannEF-MediumSC 182.12 + l_____ WeidemannEF-MediumItalic 182.13 + l_____ WeidemannEF-Bold 182.14 + l_____ WeidemannEF-BoldItalic 182.15 + l_____ WeidemannEF-Black 182.16 + l_____ WeidemannEF-BlackItalic 182.17 + l_____ ManhattanEF 183.0 + l_____ Imago-Light 184.0 + l_____ Imago-LightItalic 184.1 + l_____ Imago-Book 184.2 + l_____ Imago-BookItalic 184.3 + l_____ Imago-Medium 184.4 + l_____ Imago-MediumItalic 184.5 + l_____ Imago-ExtraBold 184.6 + l_____ Imago-ExtraBoldItalic 184.7 + l_____ ImpactaLL 185.0 + l_____ Impressum-Roman 186.0 + l_____ Impressum-Italic 186.1 + l_____ Impressum-Bold 186.2 + l_____ ImpressumEF-Light 186.3 + l_____ ImpressumEF-LightItalic 186.4 + l_____ ImpressumEF-Medium 186.5 + l_____ IndusLL-Normal 187.0 + l_____ IndusLL-Bold 187.1 + l_____ Industria-Solid 188.0 + l_____ Industria-SolidA 188.1 + l_____ Industria-Inline 188.2 + l_____ Industria-InlineA 188.3 + l_____ InflexMT-Bold 189.0 + l_____ Ironwood 190.0 + l_____ ItalianOldStyleMT-Regular 191.0 + l_____ ItalianOldStyleMT-Italic 191.1 + l_____ ItalianOldStyleMT-Bold 191.2 + l_____ ItalianOldStyleMT-BoldItalic 191.3 + l_____ JensonOldStyleEF-BoldCond 192.0 + l_____ Jiffy 193.0 + l_____ JoannaMT 194.0 + l_____ JoannaMT-Italic 194.1 + l_____ JoannaMT-SemiBold 194.2 + l_____ JoannaMT-SemiBoldItalic 194.3 + l_____ JoannaMT-Bold 194.4 + l_____ JoannaMT-BoldItalic 194.5 + l_____ JoannaMT-ExtraBold 194.6 + l_____ JuliaScriptEF 195.0 + l_____ Juniper 196.0 + l_____ KaffeesatzEF-Schwarz 197.0 + l_____ KaffeesatzEF-Suess 197.1 + l_____ KaffeesatzEF-Weiss 197.2 + l_____ KalligraphiaEF 198.0 + l_____ Kaufmann 199.0 + l_____ Kaufmann-Bold 199.1 + l_____ KaufmannEF-Bold 199.2 + l_____ Kigali-Roman 200.0 + l_____ Kigali-SxItalic 200.1 + l_____ Kigali-LxRoman 200.2 + l_____ Kigali-LxItalic 200.3 + l_____ Kigali-ZigZag 200.4 + l_____ Kigali-Block 200.5 + l_____ Kigali-SxRoman 200.6 + l_____ Kigali-Italic 200.7 + l_____ KinoMT 201.0 + l_____ Kismet 202.0 + l_____ KnightsbridgeEF 203.0 + l_____ KnightsbridgeEF-Alternate 203.1 + l_____ KochAntiqua 204.0 + l_____ Kompakt 205.0 + l_____ KuenstlerScript-Medium 206.0 + l_____ KuenstlerScript-TwoBold 206.1 + l_____ KuenstlerScript-Black 206.2 + l_____ KursivschriftStehHaar 207.0 + l_____ KursivschriftLiegHaar 207.1 + l_____ KursivschriftStehend 207.2 + l_____ KursivschriftLiegend 207.3 + l_____ KursivschriftRueckLie 207.4 + l_____ LakeInformal 208.0 + l_____ LakeInformalBold 208.1 + l_____ LatienneEF-Roman 209.0 + l_____ LatienneEF-RomanSC 209.1 + l_____ LatienneEF-Italic 209.2 + l_____ LatienneEF-ItalicSC 209.3 + l_____ LatienneEF-Medium 209.4 + l_____ LatienneEF-MediumSC 209.5 + l_____ LatienneEF-MediumItalic 209.6 + l_____ LatienneEF-Bold 209.7 + l_____ LatienneEF-BoldItalic 209.8 + l_____ LatienneEF-ItalicSwC 209.9 + l_____ LatienneEF-MediumItalicSwC 209.10 + l_____ LatienneEF-BoldItalicSwC 209.11 + l_____ LatinMT-Condensed 210.0 + l_____ LazybonesEF 211.0 + l_____ LeGriffeEF 212.0 + l_____ LeGriffeEF-AlternateOne 212.1 + l_____ LeGriffeEF-AlternateTwo 212.2 + l_____ LetterGothic 213.0 + l_____ LetterGothic-Slanted 213.1 + l_____ LetterGothic-Bold 213.2 + l_____ LetterGothic-BoldSlanted 213.3 + l_____ LibertyEF 214.0 + l_____ Life-Roman 215.0 + l_____ Life-Italic 215.1 + l_____ Life-Bold 215.2 + l_____ LifeEF-Regular 215.3 + l_____ LifeEF-RegularItalic 215.4 + l_____ LifeEF-Bold 215.5 + l_____ LightlineGothicEF 216.0 + l_____ LindsayEF 217.0 + l_____ Linoscript 219.0 + l_____ Linotext 220.0 + l_____ Linotext-Dfr 220.1 + lpi___ LAstrologyPi-One 221.0 + lpi___ LAstrologyPi-Two 221.1 + l_____ Centennial-Light 222.0 + l_____ Centennial-LightSC 222.1 + l_____ Centennial-LightItalic 222.2 + l_____ Centennial-LightItalicOsF 222.3 + l_____ Centennial-Roman 222.4 + l_____ Centennial-RomanSC 222.5 + l_____ Centennial-Italic 222.6 + l_____ Centennial-ItalicOsF 222.7 + l_____ Centennial-Bold 222.8 + l_____ Centennial-BoldOsF 222.9 + l_____ Centennial-BoldItalic 222.10 + l_____ Centennial-BoldItalicOsF 222.11 + l_____ Centennial-Black 222.12 + l_____ Centennial-BlackOsF 222.13 + l_____ Centennial-BlackItalic 222.14 + l_____ Centennial-BlackItalicOsF 222.15 + l_____ CentennialCE-Light 222.16 + l_____ CentennialCE-LightItalic 222.17 + l_____ CentennialCE-Roman 222.18 + l_____ CentennialCE-Italic 222.19 + l_____ CentennialCE-Bold 222.20 + l_____ CentennialCE-BoldItalic 222.21 + l_____ CentennialCE-Black 222.22 + l_____ CentennialCE-BlackItalic 222.23 + lpi___ LDecorationPi-One 223.0 + lpi___ LDecorationPi-Two 223.1 + l_____ DidotLH-Roman 224.0 + l_____ DidotLH-RomanSC 224.1 + l_____ DidotLH-RomanOsF 224.2 + l_____ DidotLH-Italic 224.3 + l_____ DidotLH-ItalicOsF 224.4 + l_____ DidotLH-Bold 224.5 + l_____ DidotLH-BoldOsF 224.6 + l_____ DidotLH-MediumInitials 224.7 + l_____ DidotLH-HeadlineRoman 224.8 + l_____ DidotLH-HeadlineRomanOsF 224.9 + l_____ DidotLH-OrnamentsOne 224.10 + l_____ DidotLH-OrnamentsTwo 224.11 + lpi___ LGamePi-ChessDraughts 225.0 + lpi___ LGamePi-DiceDominoes 225.1 + lpi___ LGamePi-EnglishCards 225.2 + lpi___ LGamePi-FrenchCards 225.3 + lpi___ LHolidayPi-One 227.0 + lpi___ LHolidayPi-Two 227.1 + lpi___ LHolidayPi-Three 227.2 + lpi___ TextilLH-PiOne 228.0 + lpi___ TextilLH-PiTwo 228.1 + lpi___ WarningLH-Pi 229.0 + l_____ LiteraEF-Light 230.0 + l_____ LiteraEF-Regular 230.1 + l_____ LiteraEF-Medium 230.2 + l_____ LiteraEF-Heavy 230.3 + l_____ Lithos-ExtraLight 231.0 + l_____ Lithos-Light 231.1 + l_____ Lithos-Regular 231.2 + l_____ Lithos-Bold 231.3 + l_____ Lithos-Black 231.4 + l_____ LuMarcLL-Roman 232.0 + l_____ LuMarcLL-Bold 232.1 + l_____ Macbeth 234.0 + l_____ Madame-Letters 235.0 + l_____ Madame-Accents 235.1 + l_____ Madame-Numericals 235.2 + l_____ MarconiEF-Book 236.0 + l_____ MarconiSCEF-Book 236.1 + l_____ MarconiEF-BookItalic 236.2 + l_____ MarconiEF-SemiBold 236.3 + l_____ MarconiEF-SemiBoldItalic 236.4 + l_____ Maximus 237.0 + l_____ Melior 238.0 + l_____ Melior-Italic 238.1 + l_____ Melior-Bold 238.2 + l_____ Melior-BoldItalic 238.3 + l_____ Meridien-Roman 239.0 + l_____ Meridien-Italic 239.1 + l_____ Meridien-Medium 239.2 + l_____ Meridien-MediumItalic 239.3 + l_____ Meridien-Bold 239.4 + l_____ Meridien-BoldItalic 239.5 + l_____ MerlinLL 240.0 + l_____ MiamiEF 241.0 + l_____ MicrogrammaEF-MediumExtend 242.0 + l_____ MicrogrammaEF-BoldExtend 242.1 + l_____ MonantiEF-Regular 243.0 + l_____ MonantiEF-SemiBold 243.1 + l_____ MonolineScriptMT 244.0 + l_____ MurrayHillEF 246.0 + l_____ Myriad-Sketch 247.0 + l_____ Myriad-Headline 247.1 + l_____ Myriad-Tilt 247.2 + l_____ Mythos 248.0 + lpi___ NationalCodes-Europe 249.0 + lpi___ NationalCodes-Africa 249.1 + lpi___ NationalCodes-America 249.2 + lpi___ NationalCodes-AsiaPlus 249.3 + lpi___ NationalCodes-Universal 249.4 + l_____ NeueHammerUnziale-One 250.0 + l_____ NeueHammerUnziale-OneAlt 250.1 + l_____ NeueHammerUnziale-TwoAlt 250.2 + l_____ NeueHammerUnziale-Two 250.3 + l_____ NeuzeitSBook 251.0 + l_____ NeuzeitSBook-Heavy 251.1 + l_____ NevisionCasualEF 252.0 + l_____ NewBerolinaMT 253.0 + l_____ NewsGothic 254.0 + l_____ NewsGothic-Oblique 254.1 + l_____ NewsGothic-Bold 254.2 + l_____ NewsGothic-BoldOblique 254.3 + l_____ NicolasCochinEF-Regular 255.0 + l_____ NicolasCochinEF-RegularIta 255.1 + l_____ NicolasCochinEF-Black 255.2 + l_____ NikisEF-Light 256.0 + l_____ NikisEF-LightItalic 256.1 + l_____ NikisEF-SemiBold 256.2 + l_____ NikisEF-SemiBoldItalic 256.3 + l_____ Nofret-Light 257.0 + l_____ Nofret-LightSC 257.1 + l_____ Nofret-LightExpert 257.2 + l_____ Nofret-LightItalic 257.3 + l_____ Nofret-LightItalicOsF 257.4 + l_____ Nofret-LightItalicExpert 257.5 + l_____ Nofret-Regular 257.6 + l_____ Nofret-RegularSC 257.7 + l_____ Nofret-RegularExpert 257.8 + l_____ Nofret-Italic 257.9 + l_____ Nofret-ItalicOsF 257.10 + l_____ Nofret-ItalicExpert 257.11 + l_____ Nofret-Medium 257.12 + l_____ Nofret-MediumSC 257.13 + l_____ Nofret-MediumExpert 257.14 + l_____ Nofret-MediumItalic 257.15 + l_____ Nofret-MediumItalicOsF 257.16 + l_____ Nofret-MediumItalicExpert 257.17 + l_____ Nofret-Bold 257.18 + l_____ Nofret-BoldOsF 257.19 + l_____ Nofret-BoldExpert 257.20 + l_____ Nofret-BoldItalic 257.21 + l_____ Nofret-BoldItalicOsF 257.22 + l_____ Nofret-BoldItalicExpert 257.23 + l_____ NotreDame-Roman 258.0 + l_____ NotreDame-RomanDfr 258.1 + l_____ NotreDame-Ornaments 258.2 + l_____ NuptialScript 259.0 + l_____ OCRA 260.0 + l_____ OCRB 260.1 + l_____ OCRA-A 260.2 + l_____ OCRB-A 260.3 + l_____ OCRBEF-Regular 260.4 + l_____ OctavianMT 261.0 + l_____ OctavianMT-SC 261.1 + l_____ OctavianMT-Expert 261.2 + l_____ OctavianMT-Italic 261.3 + l_____ OctavianMT-ItalicOsF 261.4 + l_____ OctavianMT-ItalicExpert 261.5 + l_____ OdinEF 262.0 + l_____ OldEnglishEF 263.0 + l_____ OldStyleSeven 264.0 + l_____ OldStyleSeven-SC 264.1 + l_____ OldStyleSeven-Italic 264.2 + l_____ OldStyleSeven-ItalicOsF 264.3 + l_____ MonotypeOldStyleMT-BoldOut 264.4 + l_____ OldTypewriterEF-ExLight 265.0 + l_____ OldTypewriterEF-ExLightObl 265.1 + l_____ OldTypewriterEF-Light 265.2 + l_____ OldTypewriterEF-LightObl 265.3 + l_____ OldTypewriterEF-Regular 265.4 + l_____ OldTypewriterEF-RegularA 265.5 + l_____ OldTypewriterEF-RegularObl 265.6 + l_____ OldTypewriterEF-Bold 265.7 + l_____ OldTypewriterEF-BoldObl 265.8 + l_____ OldTypewriterEF-ExBold 265.9 + l_____ OldTypewriterEF-ExBoldObl 265.10 + l_____ OlympiaEF-Light 266.1 + l_____ OlympiaEF-LightOblique 266.2 + l_____ OlympiaEF-SemiBold 266.3 + l_____ OlympiaEF-SemiBoldOblique 266.4 + l_____ Olympian 267.0 + l_____ Olympian-Italic 267.1 + l_____ Olympian-Bold 267.2 + l_____ Olympian-BoldItalic 267.3 + l_____ Omnia 268.0 + l_____ OndineEF 269.1 + l_____ OnyxMT 270.0 + l_____ Orator 271.0 + l_____ Orator-Slanted 271.1 + l_____ Oxford 272.0 + l_____ Caecilia-Light 273.0 + l_____ Caecilia-LightSC 273.1 + l_____ Caecilia-LightOsF 273.2 + l_____ Caecilia-LightItalic 273.3 + l_____ Caecilia-LightItalicSC 273.4 + l_____ Caecilia-LightItalicOsF 273.5 + l_____ Caecilia-Roman 273.6 + l_____ Caecilia-RomanSC 273.7 + l_____ Caecilia-RomanOsF 273.8 + l_____ Caecilia-Italic 273.9 + l_____ Caecilia-ItalicSC 273.10 + l_____ Caecilia-ItalicOsF 273.11 + l_____ Caecilia-Bold 273.12 + l_____ Caecilia-BoldSC 273.13 + l_____ Caecilia-BoldOsF 273.14 + l_____ Caecilia-BoldItalic 273.15 + l_____ Caecilia-BoldItalicSC 273.16 + l_____ Caecilia-BoldItalicOsF 273.17 + l_____ Caecilia-Heavy 273.18 + l_____ Caecilia-HeavySC 273.19 + l_____ Caecilia-HeavyOsF 273.20 + l_____ Caecilia-HeavyItalic 273.21 + l_____ Caecilia-HeavyItalicSC 273.22 + l_____ Caecilia-HeavyItalicOsF 273.23 + l_____ CaeciliaCE-Light 273.24 + l_____ CaeciliaCE-LightItalic 273.25 + l_____ CaeciliaCE-Roman 273.26 + l_____ CaeciliaCE-Italic 273.27 + l_____ CaeciliaCE-Bold 273.28 + l_____ CaeciliaCE-BoldItalic 273.29 + l_____ CaeciliaCE-Heavy 273.30 + l_____ CaeciliaCE-HeavyItalic 273.31 + l_____ PalaceScriptMT-Regular 274.0 + l_____ PalaceScriptMT-Bold 274.1 + l_____ Palatino-Light 275.0 + l_____ Palatino-LightItalic 275.1 + l_____ Palatino-Roman 275.2 + l_____ Palatino-SC 275.3 + l_____ Palatino-Italic 275.4 + l_____ Palatino-ItalicOsF 275.5 + l_____ Palatino-Medium 275.6 + l_____ Palatino-MediumItalic 275.7 + l_____ Palatino-Bold 275.8 + l_____ Palatino-BoldOsF 275.9 + l_____ Palatino-BoldItalic 275.10 + l_____ Palatino-BoldItalicOsF 275.11 + l_____ Palatino-Black 275.12 + l_____ Palatino-BlackItalic 275.13 + l_____ PalatinoCE-Roman 275.14 + l_____ PalatinoCE-Italic 275.15 + l_____ PalatinoCE-Bold 275.16 + l_____ PalatinoCE-BoldItalic 275.17 + l_____ PaletteEF 276.0 + l_____ Parisian 277.0 + l_____ ParkAvenue 278.0 + l_____ ParkAvenueEF 278.1 + l_____ Pelican 279.0 + l_____ PepitaMT 281.0 + l_____ Pepperwood-Regular 282.0 + l_____ Pepperwood-Fill 282.1 + l_____ Pepperwood-Outline 282.2 + l_____ Perpetua 283.0 + l_____ Perpetua-SC 283.1 + l_____ Perpetua-Expert 283.2 + l_____ Perpetua-Italic 283.3 + l_____ Perpetua-ItalicOsF 283.4 + l_____ Perpetua-ItalicExp 283.5 + l_____ Perpetua-Bold 283.6 + l_____ Perpetua-BoldOsF 283.7 + l_____ Perpetua-BoldExp 283.8 + l_____ Perpetua-BoldItalic 283.9 + l_____ Perpetua-BoldItalicOsF 283.10 + l_____ Perpetua-BoldItalicExp 283.11 + l_____ PhotinaMT 284.0 + l_____ PhotinaMT-Italic 284.1 + l_____ PhotinaMT-SemiBold 284.2 + l_____ PhotinaMT-SemiBoldItalic 284.3 + l_____ PhotinaMT-Bold 284.4 + l_____ PhotinaMT-BoldItalic 284.5 + l_____ PhotinaMT-UltraBold 284.6 + l_____ PhotinaMT-UltraBoldItalic 284.7 + l_____ PhyllisEF 285.0 + l_____ PhyllisEF-Initials 285.1 + l_____ PioneerEF 287.0 + l_____ PlazaEF-Regular 288.0 + l_____ PlazaEF-Alternate 288.1 + l_____ PlazaEF-Ultra 288.2 + l_____ PlazaEF-Inline 288.3 + l_____ PlazaEF-Decorative 288.4 + l_____ Ponderosa 289.0 + l_____ PrestigeElite 290.0 + l_____ PrestigeElite-Slanted 290.1 + l_____ PrestigeElite-Bold 290.2 + l_____ PrestigeElite-BoldSlanted 290.3 + l_____ PromotorEF-Regular 291.0 + l_____ QuentinEF 292.0 + l_____ Raleigh 293.0 + l_____ Raleigh-Medium 293.1 + l_____ Raleigh-DemiBold 293.2 + l_____ Raleigh-Bold 293.3 + l_____ RenaultEF-Light 294.0 + l_____ RenaultEF-LightItalic 294.1 + l_____ RenaultEF-Bold 294.2 + l_____ RenaultEF-BoldItalic 294.3 + l_____ Revue 295.0 + l_____ RevueEF 295.1 + l_____ RoemischStehendHar 296.0 + l_____ RoemischLiegendHar 296.1 + l_____ RoemischRueckLiegHar 296.2 + l_____ RoemischStehend 296.3 + l_____ RoemischLiegend 296.4 + l_____ RoemischRueckLiegend 296.5 + l_____ RomanaEF-Light 297.0 + l_____ RomanaEF-Book 297.1 + l_____ RomanaEF-Medium 297.2 + l_____ RomanaEF-Demi 297.3 + l_____ RomanaEF-Bold 297.4 + l_____ RomanaEF-Ultra 297.5 + l_____ Romic-Light 298.0 + l_____ Romic-LightItalic 298.1 + l_____ Romic-Medium 298.2 + l_____ Romic-Bold 298.3 + l_____ Romic-ExtraBold 298.4 + l_____ RomicEF-Light 298.5 + l_____ RomicEF-LightItalic 298.6 + l_____ RomicEF-Medium 298.7 + l_____ RomicEF-Bold 298.8 + l_____ RomicEF-ExtraBold 298.9 + l_____ Rundfunk-Antiqua 299.0 + l_____ Rundfunk-Grotesk 299.1 + l_____ Rusticana-Borders 300.1 + l_____ RuzickaFreehandLH-Roman 301.0 + l_____ RuzickaFreehandLH-RomanSC 301.1 + l_____ RuzickaFreehandLH-Bold 301.2 + l_____ RuzickaFreehandLH-BoldSC 301.3 + l_____ Salto 303.0 + l_____ SanMarco 304.0 + l_____ SanMarco-Dfr 304.1 + l_____ SchnitzLL 305.0 + l_____ SchwenneNegroLL 306.0 + l_____ SchwennelLilaLL 306.1 + l_____ Scotch-Roman 307.0 + l_____ Scotch-Italic 307.1 + l_____ ScriptureEF 308.0 + l_____ Serifa-Light 309.0 + l_____ Serifa-LightItalic 309.1 + l_____ Serifa-Roman 309.2 + l_____ Serifa-Italic 309.3 + l_____ Serifa-Bold 309.4 + l_____ Serifa-Black 309.5 + l_____ ShamrockEF 310.0 + l_____ ShamrockEF-AlternateOne 310.1 + l_____ ShamrockEF-AlternateTwo 310.2 + l_____ Shannon-Book 311.0 + l_____ Shannon-Oblique 311.1 + l_____ Shannon-Bold 311.2 + l_____ Shannon-ExtraBold 311.3 + l_____ Shelley-AllegroScript 312.0 + l_____ Shelley-AndanteScript 312.1 + l_____ Shelley-VolanteScript 312.2 + l_____ Sho-Roman 313.0 + l_____ SinahRomanLL 314.0 + l_____ SinahBoldLL 314.1 + l_____ SinahBlackLL 314.2 + l_____ SinaloaEF 315.0 + l_____ SloganEF 316.0 + l_____ Smaragd 317.0 + l_____ Smaragd-Alternate 318.0 + l_____ SnellRoundhand-Script 318.1 + l_____ SnellRoundhand-BoldScript 318.2 + l_____ SnellRoundhand-BlackScript 318.3 + l_____ Sonata 319.0 + l_____ SpartanClassified-Book 320.0 + l_____ SpartanClassified-Heavy 320.1 + l_____ SpectrumMT 321.0 + l_____ SpectrumMT-SC 321.1 + l_____ SpectrumMT-RomanExpert 321.2 + l_____ SpectrumMT-Italic 321.3 + l_____ SpectrumMT-ItalicOsF 321.4 + l_____ SpectrumMT-ItalicExpert 321.5 + l_____ SpectrumMT-SemiBold 321.6 + l_____ SpectrumMT-SemiBoldOsF 321.7 + l_____ SpectrumMT-SemiBoldExpert 321.8 + l_____ SpiritEF-Light 322.0 + l_____ SpiritEF-Regular 322.1 + l_____ SpiritEF-Bold 322.2 + l_____ Sprint 323.0 + l_____ SquireEF-Regular 324.0 + l_____ SquireEF-Bold 324.1 + l_____ Stencil 325.0 + l_____ StencilEF 325.1 + l_____ Stop 326.0 + l_____ StopEF 326.1 + l_____ Studz 327.0 + l_____ SuperstarEF-Shadow 328.0 + l_____ SuperstarEF-Regular 328.1 + l_____ SwiftEF-Light 329.0 + l_____ SwiftEF-LightItalic 329.1 + l_____ SwiftEF-Regular 329.2 + l_____ SwiftSCEF-Regular 329.3 + l_____ SwiftEF-RegularItalic 329.4 + l_____ SwiftEF-Bold 329.5 + l_____ SwiftEF-ExtraBold 329.6 + l_____ SwiftEF-BoldCondensed 329.7 + l_____ Syntax-Roman 331.0 + l_____ Syntax-Italic 331.1 + l_____ Syntax-Bold 331.2 + l_____ Syntax-Black 331.3 + l_____ Syntax-UtraBlack 331.4 + l_____ TangoEF 332.0 + l_____ TarragonEF 333.0 + l_____ Tekton 334.0 + l_____ Tekton-Oblique 334.1 + l_____ Tekton-Bold 334.2 + l_____ Tekton-BoldOblique 334.3 + l_____ Tempo-HeavyCondensed 335.0 + l_____ Tempo-HeavyCondensedItalic 335.1 + l_____ ThorowgoodEF-Regular 336.0 + l_____ ThorowgoodEF-RegularItalic 336.1 + l_____ ThunderbirdEF-ExtraCondensed 337.0 + l_____ ThunderbirdEF-Regular 337.1 + l_____ TiloEF 338.0 + l_____ TimelessEF-Light 339.0 + l_____ TimelessEF-LightItalic 339.1 + l_____ TimelessEF-Bold 339.2 + l_____ TitusEF 340.0 + l_____ Toolbox 341.0 + l_____ TopographischeZahlentafel 342.0 + l_____ Trajan-Regular 343.0 + l_____ Trajan-Bold 343.1 + l_____ TradeGothicLH-BoldExtended 343.2 + l_____ TrumpMediaeval-Roman 346.0 + l_____ TrumpMediaeval-RomanSC 346.1 + l_____ TrumpMediaeval-Italic 346.2 + l_____ TrumpMediaeval-ItalicOsF 346.3 + l_____ TrumpMediaeval-Bold 346.4 + l_____ TrumpMediaeval-BoldOsF 346.5 + l_____ TrumpMediaeval-BoldItalic 346.6 + l_____ TrumpMediaeval-BoldItalicOsF 346.7 + l_____ Umbra 348.0 + l_____ Univers-Light 349.0 + l_____ Univers-LightOblique 349.1 + l_____ Univers 349.2 + l_____ Univers-Oblique 349.3 + l_____ Univers-Bold 349.4 + l_____ Univers-BoldOblique 349.5 + l_____ Univers-Black 349.7 + l_____ Univers-BlackOblique 349.8 + l_____ Univers-ExtraBlack 349.9 + l_____ Univers-ExtraBlackOblique 349.10 + l_____ Univers-CondensedLight 349.11 + l_____ Univers-CondensedLightOblique 349.12 + l_____ Univers-Condensed 349.13 + l_____ Univers-CondensedOblique 349.14 + l_____ Univers-CondensedBold 349.15 + l_____ Univers-CondensedBoldOblique 349.16 + l_____ Univers-ThinUltraCondensed 349.17 + l_____ Univers-LightUltraCondensedTwo 349.18 + l_____ Univers-UltraCondensed 349.19 + l_____ Univers-Extended 349.20 + l_____ Univers-ExtendedObl 349.21 + l_____ Univers-BoldExt 349.22 + l_____ Univers-BoldExtObl 349.23 + l_____ Univers-BlackExt 349.24 + l_____ Univers-BlackExtObl 349.25 + l_____ Univers-ExtraBlackExt 349.26 + l_____ Univers-ExtraBlackExtObl 349.27 + l_____ UniversCE-Light 349.28 + l_____ UniversCE-LightOblique 349.29 + l_____ UniversCE-Medium 349.30 + l_____ UniversCE-Oblique 349.31 + l_____ UniversCE-Bold 349.32 + l_____ UniversCE-BoldOblique 349.33 + l_____ UniversCE-Black 349.34 + l_____ UniversCE-BlackOblique 349.35 + lpi___ MathematicalPi-One 350.0 + lpi___ MathematicalPi-Two 350.1 + lpi___ MathematicalPi-Three 350.2 + lpi___ MathematicalPi-Four 350.3 + lpi___ MathematicalPi-Five 350.4 + lpi___ MathematicalPi-Six 350.5 + lpi___ Unversal-GreekwithMathPi 351.0 + lpi___ MICR 351.1 + lpi___ Unversal-NewswithCommPi 351.2 + l_____ University-Roman 352.0 + l_____ UniversityEF-Roman 352.1 + l_____ UniversityEF-RomanItalic 352.2 + l_____ UniversityEF-Bold 352.3 + l_____ VAGRounded-Thin 353.0 + l_____ VAGRounded-Light 353.1 + l_____ VAGRounded-Bold 353.2 + l_____ VAGRounded-Black 353.3 + l_____ VAGRundschriftEF 353.4 + l_____ VanDijkEF 354.0 + l_____ VictorianEF 355.0 + l_____ VivaldiEF 356.0 + l_____ Walbaum-Roman 357.0 + l_____ Walbaum-RomanSC 357.1 + l_____ Walbaum-RomanOsF 357.2 + l_____ Walbaum-Italic 357.3 + l_____ Walbaum-ItalicOsF 357.4 + l_____ Walbaum-Bold 357.5 + l_____ Walbaum-BoldOsF 357.6 + l_____ Walbaum-BoldItalic 357.7 + l_____ Walbaum-BoldItalicOsF 357.8 + l_____ WalbaumEF-Regular 357.9 + l_____ WalbaumEF-RegularItalic 357.10 + l_____ WalbaumEF-Medium 357.11 + l_____ WalbaumEF-MediumItalic 357.12 + l_____ WalbaumEF-Bold 357.13 + l_____ WalbaumEF-BoldItalic 357.14 + l_____ WalbaumBook-Regular 357.15 + l_____ WalbaumBook-RegularSC 357.16 + l_____ WalbaumBook-RegularExpert 357.17 + l_____ WalbaumBook-Italic 357.18 + l_____ WalbaumBook-ItalicOsF 357.19 + l_____ WalbaumBook-ItalicExpert 357.20 + l_____ WalbaumBook-Medium 357.21 + l_____ WalbaumBook-MediumSC 357.22 + l_____ WalbaumBook-MdExpert 357.23 + l_____ WalbaumBook-MediumItalic 357.24 + l_____ WalbaumBook-MdItalicOsF 357.25 + l_____ WalbaumBook-MdItalicExpert 357.26 + l_____ WalbaumBook-Bold 357.27 + l_____ WalbaumBook-BoldOsF 357.28 + l_____ WalbaumBook-BoldExpert 357.29 + l_____ WalbaumBook-BoldItalic 357.30 + l_____ WalbaumBook-BoldItalicOsF 357.31 + l_____ WalbaumBook-BoldItalicExpert 357.32 + l_____ WalbaumFrakturEF 357.33 + l_____ WhyNotEF 358.0 + l_____ WilhelmKlingsporGotisch 359.0 + l_____ WilhelmKlingsporGotisch-Dfr 359.1 + l_____ WindsorEF-Light 360.0 + l_____ WindsorEF-Bold 360.1 + l_____ WindsorEF-UltraHeavy 360.2 + l_____ WindsorEF-BoldOutline 360.3 + l_____ WindsorEF-LightCondensed 360.4 + l_____ WindsorEF-ExtraBoldCondensed 360.5 + l_____ WindsorEF-Elongated 360.6 + ppi___ WoodtypeOrnaments-One 361.0 + ppi___ WoodtypeOrnaments-Two 361.1 + l_____ ZipperEF 363.0 + l_____ BelshawEF 364.0 + l_____ Belwe-Light 365.0 + l_____ Belwe-Medium 365.1 + l_____ Belwe-Bold 365.2 + l_____ Belwe-Condensed 365.3 + l_____ BelweEF-Light 365.4 + l_____ BelweEF-Italic 365.5 + l_____ BelweEF-Medium 365.6 + l_____ BelweEF-Bold 365.7 + l_____ BelweEF-BoldCondensed 365.8 + l_____ Bembo 366.0 + l_____ Bembo-SC 366.1 + l_____ Bembo-Expert 366.2 + l_____ Bembo-Italic 366.3 + l_____ Bembo-ItalicOsF 366.4 + l_____ Bembo-ItalicExpert 366.5 + l_____ Bembo-Semibold 366.6 + l_____ Bembo-SemiboldOsF 366.7 + l_____ Bembo-SemiboldExpert 366.8 + l_____ Bembo-SemiboldItalic 366.9 + l_____ Bembo-SemiboldItalicOsF 366.10 + l_____ Bembo-SemiboldItalicExpert 366.11 + l_____ Bembo-Bold 366.12 + l_____ Bembo-BoldOsF 366.13 + l_____ Bembo-BoldExpert 366.14 + l_____ Bembo-BoldItalic 366.15 + l_____ Bembo-BoldItalicOsF 366.16 + l_____ Bembo-BoldItalicExpert 366.17 + l_____ Bembo-ExtraBold 366.18 + l_____ Bembo-ExtraBoldOsF 366.19 + l_____ Bembo-ExtraBoldExpert 366.20 + l_____ Bembo-ExtraBoldItalic 366.21 + l_____ Bembo-ExtraBoldItalicOsF 366.22 + l_____ Bembo-ExtraBoldItalicExpert 366.23 + l_____ BerlinerGrotesk-Light 368.0 + l_____ BerlinerGrotesk-Medium 368.1 + l_____ LoType-Light 369.0 + l_____ LoType-Regular 369.1 + l_____ LoType-Medium 369.2 + l_____ LoType-MediumItalic 369.3 + l_____ LoType-Bold 369.4 + l_____ LoType-MediumCondensed 369.5 + l_____ BiffoMT 370.0 + l_____ BigbandTerrazzo 371.1 + l_____ Birch 372.0 + l_____ BirdsEF 373.0 + l_____ BlockBE-Regular 375.0 + l_____ BlockBE-Italic 375.1 + l_____ BlockBE-Heavy 375.2 + l_____ BlockBE-Condensed 375.3 + l_____ BlockBE-ExtraCn 375.4 + l_____ BlockBE-ExtraCnItalic 375.5 + l_____ BoberiaLL-Light 376.0 + l_____ BoberiaLL-LightItalic 376.1 + l_____ BoberiaLL-SemiBold 376.2 + l_____ Bodoni-Book 377.0 + l_____ Bodoni-BookItalic 377.1 + l_____ Bodoni 377.2 + l_____ Bodoni-Italic 377.3 + l_____ Bodoni-Bold 377.4 + l_____ Bodoni-BoldItalic 377.5 + l_____ Bodoni-BoldCondensed 377.6 + l_____ BodoniEF-Light 377.7 + l_____ BodoniEF-LightIta 377.8 + l_____ BodoniEF-Regular 377.9 + l_____ BodoniEF-RegularIta 377.10 + l_____ BodoniEF-DemiBold 377.11 + l_____ BodoniEF-Bold 377.12 + l_____ BodoniEF-DemiBoldIta 377.13 + l_____ BodoniEF-BoldIta 377.14 + l_____ BodoniEF-RegularCn 377.15 + l_____ BodoniEF-RegularCnIta 377.16 + l_____ BodoniEF-BoldCn 377.17 + l_____ BodoniEF-DemiBoldCn 377.18 + l_____ BodoniEF-BoldCnItalic 377.19 + l_____ BodoniEF-DemiBoldCnIta 377.20 + l_____ BodoniEF-Black 377.21 + l_____ BodoniEF-BlackIta 377.22 + l_____ BodoniEF-Ultra 377.23 + l_____ BauerBodoni-Roman 377.24 + l_____ BauerBodoni-RomanSC 377.25 + l_____ BauerBodoni-RomanOsF 377.26 + l_____ BauerBodoni-Italic 377.27 + l_____ BauerBodoni-ItalicOsF 377.28 + l_____ BauerBodoni-Bold 377.29 + l_____ BauerBodoni-BoldOsF 377.30 + l_____ BauerBodoni-BoldItalic 377.31 + l_____ BauerBodoni-BoldItalicOsF 377.32 + l_____ BauerBodoni-Black 377.33 + l_____ BauerBodoni-BlackItalic 377.34 + l_____ BauerBodoni-BoldCond 377.35 + l_____ BauerBodoni-BlackCond 377.36 + l_____ BauerBodoniCE-Roman 377.37 + l_____ BauerBodoniCE-Italic 377.38 + l_____ BauerBodoniCE-Bold 377.39 + l_____ BauerBodoniCE-BoldItalic 377.40 + l_____ BauerBodoniCE-Black 377.41 + l_____ BauerBodoniCE-BlackItalic 377.42 + l_____ BauerBodoniCE-BoldCondensed 377.43 + l_____ BauerBodoniCE-BlackCondensed 377.44 + l_____ BauerBodoniEF-Regular 377.45 + l_____ BauerBodoniEF-RegularItalic 377.46 + l_____ BauerBodoniEF-Medium 377.47 + l_____ BauerBodoniEF-MediumItalic 377.48 + l_____ BauerBodoniEF-Bold 377.49 + l_____ BauerBodoniEF-BoldItalic 377.50 + l_____ BodoniBE-Light 377.51 + l_____ BodoniBE-LightSC 377.52 + l_____ BodoniBE-LightExpert 377.53 + l_____ BodoniBE-LightItalic 377.54 + l_____ BodoniBE-LightItalicOsF 377.55 + l_____ BodoniBE-LightItalicExpert 377.56 + l_____ BodoniBE-Regular 377.57 + l_____ BodoniBE-RegularSC 377.58 + l_____ BodoniBE-RegularExp 377.59 + l_____ BodoniBE-Italic 377.60 + l_____ BodoniBE-ItalicOsF 377.61 + l_____ BodoniBE-ItalicExp 377.62 + l_____ BodoniBE-Medium 377.63 + l_____ BodoniBE-MediumSC 377.64 + l_____ BodoniBE-MediumExp 377.65 + l_____ BodoniBE-MediumItalic 377.66 + l_____ BodoniBE-MediumItalicOsF 377.67 + l_____ BodoniBE-MediumItalicExp 377.68 + l_____ BodoniBE-Bold 377.69 + l_____ BodoniBE-BoldOsF 377.70 + l_____ BodoniBE-BoldExp 377.71 + l_____ BodoniBE-BoldItalic 377.72 + l_____ BodoniBE-BoldItalicOsF 377.73 + l_____ BodoniBE-BoldItalicExp 377.74 + l_____ BodoniBE-Condensed 377.75 + l_____ BodoniBE-CnItalic 377.76 + l_____ BodoniBE-MediumCn 377.77 + l_____ BodoniBE-MediumCnItalic 377.78 + l_____ BodoniBE-BoldCn 377.79 + l_____ BodoniBE-BoldCnItalic 377.80 + l_____ Bodoni-Poster 377.81 + l_____ Bodoni-PosterItalic 377.82 + l_____ Bodoni-PosterCompressed 377.83 + l_____ BodoniSixEF-Book 377.84 + l_____ BodoniSixEF-BookSC 377.85 + l_____ BodoniSixEF-BookItalic 377.86 + l_____ BodoniSixEF-Bold 377.87 + l_____ BodoniSixEF-BoldItalic 377.88 + l_____ BodoniTwelveEF-Book 377.89 + l_____ BodoniTwelveEF-BookSC 377.90 + l_____ BodoniTwelveEF-BookItalic 377.91 + l_____ BodoniTwelveEF-Bold 377.92 + l_____ BodoniTwelveEF-BoldItalic 377.93 + l_____ BodoniSeventytwoEF-Book 377.94 + l_____ BodoniSeventytwoEF-BookSC 377.95 + l_____ BodoniSeventytwoEF-BookIta 377.96 + l_____ BodoniSeventytwoEF-Bold 377.97 + l_____ BodoniSeventytwoEF-BoldIta 377.98 + l_____ BodoniOldFaceBE-Regular 377.99 + l_____ BodoniOldFaceBE-RegularSC 377.100 + l_____ BodoniOldFaceBE-RegularExp 377.101 + l_____ BodoniOldFaceBE-Italic 377.102 + l_____ BodoniOldFaceBE-ItalicSC 377.103 + l_____ BodoniOldFaceBE-ItalicExp 377.104 + l_____ BodoniOldFaceBE-Medium 377.105 + l_____ BodoniOldFaceBE-MediumSC 377.106 + l_____ BodoniOldFaceBE-MediumExp 377.107 + l_____ BodoniOldFaceBE-MediumIt 377.108 + l_____ BodoniOldFaceBE-MediumItOsF 377.109 + l_____ BodoniOldFaceBE-MediumItExp 377.110 + l_____ BodoniOldFaceBE-Bold 377.111 + l_____ BodoniOldFaceBE-BoldOsF 377.112 + l_____ BodoniOldFaceBE-BoldExp 377.113 + l_____ BodoniOldFaceBE-BoldIt 377.114 + l_____ BodoniOldFaceBE-BoldItOsF 377.115 + l_____ BodoniOldFaceBE-BoldItExp 377.116 + l_____ BordeauxEF-Regular 378.0 + l_____ BordeauxEF-RegularItalic 378.1 + l_____ BordeauxScriptEF 378.2 + l_____ Boulevard 380.0 + l_____ BritannicEF-ExtraLight 382.0 + l_____ BritannicEF-Light 382.1 + l_____ BritannicEF-Medium 382.2 + l_____ BritannicEF-Bold 382.3 + l_____ BritannicEF-Ultra 382.4 + l_____ BrodyEF 383.0 + l_____ BronxEF 384.0 + l_____ BrushScript 385.0 + l_____ BrushScriptEF 385.1 + l_____ BuxomEF 386.0 + l_____ CabaretEF 387.0 + l_____ CalvertMT-Light 389.0 + l_____ CalvertMT-Regular 389.1 + l_____ CalvertMT-Bold 389.2 + l_____ CamelliaEF 390.0 + l_____ Candida-Roman 391.0 + l_____ Candida-Italic 391.1 + l_____ Candida-Bold 391.2 + l_____ CandidaEF-Regular 391.3 + l_____ CandidaEF-RegularItalic 391.4 + l_____ CandidaEF-Medium 391.5 + l_____ CandidaEF-RegularCondensed 391.6 + l_____ CandidaEF-MediumCondensed 391.7 + l_____ CantoriaMT-Light 392.0 + l_____ CantoriaMT-LightItalic 392.1 + l_____ CantoriaMT-Roman 392.2 + l_____ CantoriaMT-Italic 392.3 + l_____ CantoriaMT-SemiBold 392.4 + l_____ CantoriaMT-SemiBoldItalic 392.5 + l_____ CantoriaMT-Bold 392.6 + l_____ CantoriaMT-BoldItalic 392.7 + l_____ CantoriaMT-ExtraBold 392.8 + l_____ CantoriaMT-ExtraBoldItalic 392.9 + l_____ Carolina 393.0 + l_____ Carolina-Dfr 393.1 + l_____ Carta 394.0 + l_____ CartoonScript-Roman 395.0 + l_____ ACaslon-Regular 396.0 + l_____ ACaslon-AltRegular 396.1 + l_____ ACaslon-RegularSC 396.2 + l_____ ACaslonExp-Regular 396.3 + l_____ ACaslon-Italic 396.4 + l_____ ACaslon-AltItalic 396.5 + l_____ ACaslon-ItalicOsF 396.6 + l_____ ACaslonExp-Italic 396.7 + l_____ ACaslon-Semibold 396.8 + l_____ ACaslon-AltSemibold 396.9 + l_____ ACaslon-SemiboldSC 396.10 + l_____ ACaslonExp-Semibold 396.11 + l_____ ACaslon-SemiboldItalic 396.12 + l_____ ACaslon-AltSemiboldItalic 396.13 + l_____ ACaslon-SemiboldItalicOsF 396.14 + l_____ ACaslonExp-SemiboldItalic 396.15 + l_____ ACaslon-Bold 396.16 + l_____ ACaslon-AltBold 396.17 + l_____ ACaslon-BoldOsF 396.18 + l_____ ACaslonExp-Bold 396.19 + l_____ ACaslon-BoldItalic 396.20 + l_____ ACaslon-AltBoldItalic 396.21 + l_____ ACaslon-BoldItalicOsF 396.22 + l_____ ACaslonExp-BoldItalic 396.23 + l_____ ACaslon-SwashItalic 396.24 + l_____ ACaslon-SwashSemiboldItalic 396.25 + l_____ ACaslon-SwashBoldItalic 396.26 + l_____ ACaslon-Ornaments 396.27 + l_____ CaslonThree-Roman 396.28 + l_____ CaslonThree-RomanSC 396.29 + l_____ CaslonThree-Italic 396.30 + l_____ CaslonThree-ItalicOsF 396.31 + l_____ CaslonFiveFourty-Roman 396.32 + l_____ CaslonFiveFourty-RomanSC 396.33 + l_____ CaslonFiveFourty-Italic 396.34 + l_____ CaslonFiveFourty-ItalicOsF 396.35 + l_____ CaslonOpenFace 396.36 + l_____ CaslonFiveFourtyEF-Italic 396.37 + l_____ CaslonBlackEF 396.38 + l_____ CaslonAntiqueEF 396.39 + l_____ CaslonGraphiqueEF 396.40 + l_____ CaslonTwoTwentyFour-Book 396.41 + l_____ CaslonTwoTwentyFour-BookIt 396.42 + l_____ CaslonTwoTwentyFour-Medium 396.43 + l_____ CaslonTwoTwentyFour-MediumIt 396.44 + l_____ CaslonTwoTwentyFour-Bold 396.45 + l_____ CaslonTwoTwentyFour-BoldIt 396.46 + l_____ CaslonTwoTwentyFour-Black 396.47 + l_____ CaslonTwoTwentyFour-BlackIt 396.48 + l_____ CaslonTwoTwentyFourEF-Book 396.49 + l_____ CaslonTwoTwentyFourEF-BookIt 396.50 + l_____ CaslonTwoTwentyFourEF-Medium 396.51 + l_____ CaslonTwoTwentyFourEF-MediumIt 396.52 + l_____ CaslonTwoTwentyFourEF-Bold 396.53 + l_____ CaslonTwoTwentyFourEF-BoldI 396.54 + l_____ CaslonTwoTwentyFourEF-Black 396.55 + l_____ CaslonTwoTwentyFourEF-BlackIt 396.56 + l_____ CaslonBookBE-Regular 396.57 + l_____ CaslonBookBE-RegularSC 396.58 + l_____ CaslonBookBE-RegularExp 396.59 + l_____ CaslonBookBE-Italic 396.60 + l_____ CaslonBookBE-ItalicOsF 396.61 + l_____ CaslonBookBE-ItalicExp 396.62 + l_____ CaslonBookBE-Medium 396.63 + l_____ CaslonBookBE-MediumSC 396.64 + l_____ CaslonBookBE-MediumExp 396.65 + l_____ CaslonBookBE-Bold 396.66 + l_____ CaslonBookBE-BoldOsF 396.67 + l_____ CaslonBookBE-BoldExp 396.68 + l_____ CastleEF-Light 397.0 + l_____ CastleEF-Book 397.1 + l_____ CastleEF-Bold 397.2 + l_____ CastleEF-Ultra 397.3 + l_____ Catull-Regular 398.0 + l_____ Catull-Italic 398.1 + l_____ Catull-Medium 398.2 + l_____ Catull-Bold 398.3 + l_____ Caxton-Light 399.0 + l_____ Caxton-LightItalic 399.1 + l_____ Caxton-BookItalic 399.2 + l_____ Caxton-Book 399.3 + l_____ Caxton-Bold 399.4 + l_____ Caxton-BoldItalic 399.5 + l_____ CaxtonEF-Light 399.6 + l_____ CaxtonEF-LightItalic 399.7 + l_____ CaxtonEF-Book 399.8 + l_____ CaxtonEF-BookItalic 399.9 + l_____ CaxtonEF-Bold 399.10 + l_____ CaxtonEF-BoldItalic 399.11 + l_____ CaxtonEF-ExtraBold 399.12 + l_____ CaxtonEF-ExtraBoldItalic 399.13 + l_____ CaxtonEF-BoldCondensed 399.14 + l_____ CaxtonEF-ExtraBoldCondensed 399.15 + l_____ CentaurMT-Regular 400.0 + l_____ CentaurMT-RegularSC 400.1 + l_____ CentaurMT-RegularExpert 400.2 + l_____ CentaurMT-Italic 400.3 + l_____ CentaurMT-ItalicA 400.4 + l_____ CentaurMT-ItalicAlternate 400.5 + l_____ CentaurMT-ItalicOsF 400.6 + l_____ CentaurMT-ItalicExpert 400.7 + l_____ CentaurMT-Bold 400.8 + l_____ CentaurMT-BoldOsF 400.9 + l_____ CentaurMT-BoldExpert 400.10 + l_____ CentaurMT-BoldItalic 400.11 + l_____ CentaurMT-BoldItalicOsF 400.12 + l_____ CentaurMT-BoldItalicExpert 400.13 + l_____ CentaurMT-ItalicSwash 400.14 + l_____ ChallengeEF-Bold 401.0 + l_____ ChallengeEF-ExtraBold 401.1 + l_____ Charme 402.0 + l_____ Cheltenham-Light 403.0 + l_____ Cheltenham-LightItalic 403.1 + l_____ Cheltenham-Book 403.2 + l_____ Cheltenham-BookItalic 403.3 + l_____ Cheltenham-Bold 403.4 + l_____ Cheltenham-BoldItalic 403.5 + l_____ Cheltenham-Ultra 403.6 + l_____ Cheltenham-UltraItalic 403.7 + l_____ Cheltenham-LightCond 403.8 + l_____ Cheltenham-LightCondItalic 403.9 + l_____ Cheltenham-BookCond 403.10 + l_____ Cheltenham-BookCondItalic 403.11 + l_____ Cheltenham-BoldCond 403.12 + l_____ Cheltenham-BoldCondItalic 403.13 + l_____ Cheltenham-UltraCond 403.14 + l_____ Cheltenham-UltraCondItalic 403.15 + l_____ CheltenhamEF-Light 403.16 + l_____ CheltenhamEF-LightItalic 403.17 + l_____ CheltenhamEF-Book 403.18 + l_____ CheltenhamEF-BookItalic 403.19 + l_____ CheltenhamEF-Bold 403.20 + l_____ CheltenhamEF-BoldItalic 403.21 + l_____ CheltenhamEF-Ultra 403.22 + l_____ CheltenhamEF-UltraItalic 403.23 + l_____ CheltenhamHandtEF-Bold 403.24 + l_____ CheltenhamHandtEF-BoldItalic 403.25 + l_____ CheltenhamEF-LightCond 403.26 + l_____ CheltenhamEF-LightCondItalic 403.27 + l_____ CheltenhamEF-BookCond 403.28 + l_____ CheltenhamEF-BookCondItalic 403.29 + l_____ CheltenhamEF-BoldCond 403.30 + l_____ CheltenhamEF-BoldCondItalic 403.31 + l_____ CheltenhamEF-UltraCond 403.32 + l_____ CheltenhamEF-UltraCondItalic 403.33 + l_____ CheltenhamOldStyleEF 403.34 + l_____ Cheq 404.0 + l_____ ChiselEF 405.0 + l_____ DigiGroteskNEF-Light 406.0 + l_____ DigiGroteskNEF-Bold 406.1 + l_____ DigiGroteskNEF-SemiBoldCond 406.2 + l_____ DigiGroteskNEF-BoldCondens 406.3 + l_____ DigiGroteskSEF-Light 406.4 + l_____ DigiGroteskSEF-SemiBold 406.5 + l_____ DomCasual 407.0 + l_____ DomCasual-Bold 407.1 + l_____ DomEF-CasualRegular 407.2 + l_____ DomEF-DiagonalRegular 407.3 + l_____ DomEF-CasualBold 407.4 + l_____ DomEF-DiagonalBold 407.5 + l_____ DorchesterScriptMT 408.0 + l_____ DynamoEF-Medium 409.0 + l_____ DynamoEF-Bold 409.1 + l_____ DynamoEF-BoldShadow 409.2 + l_____ DynamoEF-BoldCondensed 409.3 + l_____ EdisonEF-Book 410.0 + l_____ EdisonEF-BookItalic 410.1 + l_____ EdisonEF-SemiBold 410.2 + l_____ EdisonEF-SemiBoldItalic 410.3 + l_____ EdisonEF-BoldCondensed 410.4 + l_____ EdwardianEF-Light 411.0 + l_____ EdwardianEF-LightIta 411.1 + l_____ EdwardianEF-Medium 411.2 + l_____ EdwardianEF-MediumIta 411.3 + l_____ EdwardianEF-Bold 411.4 + l_____ EdwardianEF-BoldIta 411.5 + l_____ EdwardianEF-ExtraBold 411.6 + l_____ EdwardianEF-ExtraBoldIta 411.7 + l_____ EgizioEF-Condensed 412.0 + l_____ EgyptianEF-BoldCondensed 414.0 + l_____ EgyptianEF-BoldExtended 414.1 + l_____ EgyptienneEF-MediumCond 415.0 + l_____ EhrhardtMT-Roman 416.0 + l_____ EhrhardtMT-Italic 416.1 + l_____ EhrhardtMT-SemiBold 416.2 + l_____ EhrhardtMt-SemiBoldItalic 416.3 + l_____ EirinnAsciiLL 417.0 + l_____ EirinnGaelicLL 417.1 + l_____ ElGreco 418.0 + l_____ ElefontEF 419.0 + l_____ EllingtonMT-Light 420.0 + l_____ EllingtonMT-LightItalic 420.1 + l_____ EllingtonMT-Roman 420.2 + l_____ EllingtonMT-Italic 420.3 + l_____ EllingtonMT-Bold 420.4 + l_____ EllingtonMT-BoldItalic 420.5 + l_____ EllingtonMT-ExtraBold 420.6 + l_____ EllingtonMT-ExtraBoldItalic 420.7 + l_____ EnglishScriptEF-Regular 421.0 + l_____ EnglishScriptEF-Bold 421.1 + l_____ EnglishScriptEF-DemiBold 421.2 + l_____ Erbar-LightCondensed 422.0 + l_____ Erbar-BoldCondensed 422.1 + l_____ EscorialEF-Outline 423.0 + l_____ EscorialEF 423.1 + l_____ EthnoFontEF 424.0 + l_____ Eurostile 425.0 + l_____ Eurostile-Oblique 425.1 + l_____ Eurostile-Demi 425.2 + l_____ Eurostile-DemiOblique 425.3 + l_____ Eurostile-Bold 425.4 + l_____ Eurostile-BoldOblique 425.5 + l_____ Eurostile-Condensed 425.6 + l_____ Eurostile-BoldCondensed 425.7 + l_____ Eurostile-ExtendedTwo 425.8 + l_____ Eurostile-BoldExtendedTwo 425.9 + l_____ EurostileEF-Regular 425.10 + l_____ EurostileEF-Black 425.11 + l_____ Excelsior 426.0 + l_____ Excelsior-Italic 426.1 + l_____ Excelsior-Bold 426.2 + l_____ ExcelsiorCE-Roman 426.3 + l_____ ExcelsiorCE-Italic 426.4 + l_____ ExcelsiorCE-Bold 426.5 + l_____ ExcelsiorCyr-Upright 426.6 + l_____ ExcelsiorCyr-Inclined 426.7 + l_____ ExcelsiorCyr-Bold 426.8 + l_____ ExcelsiorEastA-Roman 426.9 + l_____ ExcelsiorEastA-Italic 426.10 + l_____ ExcelsiorEastA-Bold 426.11 + l_____ F2FAlLineato 427.0 + l_____ F2FCZYKagoTrans 427.1 + l_____ F2FEntebbe 427.2 + l_____ F2FHogRoach 427.3 + l_____ F2FMadZineFear 427.4 + l_____ F2FMadZineWip 427.5 + l_____ F2FMekkasoTomanik 427.6 + l_____ F2FMetamorfosi 427.7 + l_____ F2FOCRAlexcyzk 427.8 + l_____ F2FPixmix 427.9 + l_____ F2FPoisonFlowers 427.10 + l_____ F2FProvinciali 427.11 + l_____ F2FSimbolico 427.12 + l_____ F2FTechLand 427.13 + l_____ F2FWhaleTreeRnd 427.14 + l_____ F2FZakGlobe 427.15 + l_____ Falstaff-Regular 428.0 + l_____ FetteFraktur 429.0 + l_____ FetteFraktur-Dfr 429.1 + l_____ FetteFrakturEF 429.2 + l_____ FlashEF-Light 430.0 + l_____ FlashEF-Bold 430.1 + l_____ Flyer-BlackCondensed 431.0 + l_____ Flyer-BlackExtraCondensed 431.1 + l_____ FlyerEF-Bold 431.2 + l_____ FlyerEF-BoldCondensed 431.3 + l_____ Folio-Light 432.0 + l_____ Folio-Medium 432.1 + l_____ Folio-Bold 432.2 + l_____ Folio-ExtraBold 432.3 + l_____ Folio-BoldCondensed 432.4 + l_____ FolioEF-BoldCondensed 432.5 + l_____ FolioEF-ExtraCondensed 432.6 + l_____ Formata-Light 435.0 + l_____ Formata-LightSC 435.1 + l_____ Formata-LightExpert 435.2 + l_____ Formata-LightItalic 435.3 + l_____ Formata-LightItalicSC 435.4 + l_____ Formata-LightItalicExpert 435.5 + l_____ Formata-Regular 435.6 + l_____ Formata-RegularSC 435.7 + l_____ Formata-RegularExpert 435.8 + l_____ Formata-Italic 435.9 + l_____ Formata-ItalicSC 435.10 + l_____ Formata-ItalicExpert 435.11 + l_____ Formata-Medium 435.12 + l_____ Formata-MediumItalic 435.13 + l_____ Formata-Bold 435.14 + l_____ Formata-BoldItalic 435.15 + l_____ Formata-Outline 435.16 + l_____ Formata-LightCondensed 435.17 + l_____ Formata-LightCnSC 435.18 + l_____ Formata-LightCnExpert 435.19 + l_____ Formata-LightCondensedItalic 435.20 + l_____ Formata-LightCnItalicSC 435.21 + l_____ Formata-LightCnItalicExpert 435.22 + l_____ Formata-Condensed 435.23 + l_____ Formata-CondensedOutline 435.24 + l_____ Formata-CondensedSC 435.25 + l_____ Formata-CondensedExpert 435.26 + l_____ Formata-CondensedItalic 435.27 + l_____ Formata-CnItalicSC 435.28 + l_____ Formata-CnItalicExpert 435.29 + l_____ Formata-MediumCondensed 435.30 + l_____ Formata-MediumCondensedItalic 435.31 + l_____ Formata-BoldCondensed 435.32 + l_____ Formata-BoldCondensedItalic 435.33 + l_____ FrankfurterEF-Medium 436.0 + l_____ FrankfurterEF-Solid 436.1 + l_____ FrankfurterEF-Inline 436.2 + l_____ FrankfurterEF-Highlight 436.3 + l_____ FreestyleScript 437.0 + l_____ FreestyleScriptEF-Reg 437.1 + l_____ FreestyleScriptEF-RegAlt 437.2 + l_____ FreestyleScriptEF-Bol 437.3 + l_____ FreestyleScriptEF-BolAlt 437.4 + l_____ Bauhaus-Light 438.0 + l_____ Bauhaus-Medium 438.1 + l_____ Bauhaus-Demi 438.2 + l_____ Bauhaus-Bold 438.3 + l_____ Bauhaus-Heavy 438.4 + l_____ BauhausEF-Light 438.5 + l_____ BauhausEF-Medium 438.6 + l_____ BauhausEF-DemiBold 438.7 + l_____ BauhausEF-Bold 438.8 + l_____ BauhausEF-Heavy 438.9 + l_____ BenguiatGothic-Book 439.0 + l_____ BenguiatGothic-BookOblique 439.1 + l_____ BenguiatGothic-Medium 439.2 + l_____ BenguiatGothic-MediumOblique 439.3 + l_____ BenguiatGothic-Bold 439.4 + l_____ BenguiatGothic-BoldOblique 439.5 + l_____ BenguiatGothic-Heavy 439.6 + l_____ BenguiatGothic-HeavyOblique 439.7 + l_____ BenguiatGothicEF-Book 439.8 + l_____ BenguiatGothicEF-BookItalic 439.9 + l_____ BenguiatGothicEF-Medium 439.10 + l_____ BenguiatGothicEF-MediumItalic 439.11 + l_____ BenguiatGothicEF-Bold 439.12 + l_____ BenguiatGothicEF-BoldItalic 439.13 + l_____ BenguiatGothicEF-Heavy 439.14 + l_____ BenguiatGothicEF-HeavyItalic 439.15 + l_____ Cerigo-Book 440.0 + l_____ Cerigo-BookItalic 440.1 + l_____ Cerigo-Medium 440.2 + l_____ Cerigo-MediumItalic 440.3 + l_____ Cerigo-Bold 440.4 + l_____ Cerigo-BoldItalic 440.5 + l_____ CerigoEF-Book 440.6 + l_____ CerigoEF-BookSC 440.7 + l_____ CerigoEF-BookItalic 440.8 + l_____ CerigoEF-Medium 440.9 + l_____ CerigoEF-MediumSC 440.10 + l_____ CerigoEF-MediumItalic 440.11 + l_____ CerigoEF-Bold 440.12 + l_____ CerigoEF-BoldItalic 440.13 + l_____ CerigoEF-BookSwashCaps 440.14 + l_____ CerigoEF-BookItalicSwashCaps 440.15 + l_____ Cushing-Book 441.0 + l_____ Cushing-BookItalic 441.1 + l_____ Cushing-Medium 441.2 + l_____ Cushing-MediumItalic 441.3 + l_____ Cushing-Bold 441.4 + l_____ Cushing-BoldItalic 441.5 + l_____ Cushing-Heavy 441.6 + l_____ Cushing-HeavyItalic 441.7 + l_____ CushingEF-Book 441.8 + l_____ CushingEF-BookItalic 441.9 + l_____ CushingEF-Medium 441.10 + l_____ CushingEF-MediumItalic 441.11 + l_____ CushingEF-Bold 441.12 + l_____ CushingEF-BoldItalic 441.13 + l_____ CushingEF-Heavy 441.14 + l_____ CushingEF-HeavyItalic 441.15 + l_____ Esprit-Book 442.0 + l_____ Esprit-BookItalic 442.1 + l_____ Esprit-Medium 442.2 + l_____ Esprit-MediumItalic 442.3 + l_____ Esprit-Bold 442.4 + l_____ Esprit-BoldItalic 442.5 + l_____ Esprit-Black 442.6 + l_____ Esprit-BlackItalic 442.7 + l_____ EspritEF-Book 442.8 + l_____ EspritEF-BookSC 442.9 + l_____ EspritEF-BookItalic 442.10 + l_____ EspritEF-Medium 442.11 + l_____ EspritEF-MediumSC 442.12 + l_____ EspritEF-MediumItalic 442.13 + l_____ EspritEF-Bold 442.14 + l_____ EspritEF-BoldItalic 442.15 + l_____ EspritEF-Black 442.16 + l_____ EspritEF-BlackItalic 442.17 + l_____ Flora-Roman 443.0 + l_____ Flora-Bold 443.1 + l_____ FloraEF-Medium 443.2 + l_____ FloraEF-Bold 443.3 + l_____ Galliard-Roman 444.0 + l_____ Galliard-Italic 444.1 + l_____ Galliard-Bold 444.2 + l_____ Galliard-BoldItalic 444.3 + l_____ Galliard-Black 444.4 + l_____ Galliard-BlackItalic 444.5 + l_____ Galliard-Ultra 444.6 + l_____ Galliard-UltraItalic 444.7 + l_____ GalliardEF-Roman 444.8 + l_____ GalliardEF-Italic 444.9 + l_____ GalliardEF-Bold 444.10 + l_____ GalliardEF-BoldItalic 444.11 + l_____ GalliardEF-Black 444.12 + l_____ GalliardEF-BlackItalic 444.13 + l_____ GalliardEF-Ultra 444.14 + l_____ GalliardEF-UltraItalic 444.15 + l_____ GoldenTypeEF-Original 445.0 + l_____ GoldenTypeSCEF-Original 445.1 + l_____ GoldenTypeEF-Bold 445.2 + l_____ GoldenTypeSCEF-Bold 445.3 + l_____ GoldenTypeEF-Black 445.4 + l_____ IsbellEF-Book 446.0 + l_____ IsbellEF-BookItalic 446.1 + l_____ IsbellEF-Bold 446.2 + l_____ IsbellEF-BoldItalic 446.3 + l_____ Korinna-Regular 447.0 + l_____ Korinna-KursivRegular 447.1 + l_____ Korinna-Bold 447.2 + l_____ Korinna-KursivBold 447.3 + l_____ KorinnaEF-Regular 447.4 + l_____ KorinnaEF-RegularKursiv 447.5 + l_____ KorinnaEF-Bold 447.6 + l_____ KorinnaEF-BoldKursiv 447.7 + l_____ KorinnaEF-ExtraBold 447.8 + l_____ KorinnaEF-ExtraBoldKursiv 447.9 + l_____ KorinnaEF-Heavy 447.10 + l_____ KorinnaEF-HeavyKursiv 447.11 + l_____ LegacySans-Book 448.0 + l_____ LegacySans-BookItalic 448.1 + l_____ LegacySans-Medium 448.2 + l_____ LegacySans-MediumItalic 448.3 + l_____ LegacySans-Bold 448.4 + l_____ LegacySans-BoldItalic 448.5 + l_____ LegacySans-Ultra 448.6 + l_____ LegacySerif-Book 448.7 + l_____ LegacySerif-BookItalic 448.8 + l_____ LegacySerif-Medium 448.9 + l_____ LegacySerif-MediumItalic 448.10 + l_____ LegacySerif-Bold 448.11 + l_____ LegacySerif-BoldItalic 448.12 + l_____ LegacySerif-Ultra 448.13 + l_____ LegacySansEF-Book 448.14 + l_____ LegacySansEF-BookSC 448.15 + l_____ LegacySansEF-BookItalic 448.16 + l_____ LegacySansEF-Medium 448.17 + l_____ LegacySansEF-MediumSC 448.18 + l_____ LegacySansEF-MediumItalic 448.19 + l_____ LegacySansEF-Bold 448.20 + l_____ LegacySansEF-BoldItalic 448.21 + l_____ LegacySansEF-Ultra 448.22 + l_____ LegacySerifEF-Book 448.23 + l_____ LegacySerifEF-BookSC 448.24 + l_____ LegacySerifEF-BookItalic 448.25 + l_____ LegacySerifEF-Medium 448.26 + l_____ LegacySerifEF-MediumSC 448.27 + l_____ LegacySerifEF-MediumItalic 448.28 + l_____ LegacySerifEF-Bold 448.29 + l_____ LegacySerifEF-BoldItalic 448.30 + l_____ LegacySerifEF-Ultra 448.31 + l_____ Machine 449.0 + l_____ Machine-Bold 449.1 + l_____ MachineEF-Regular 449.2 + l_____ MachineEF-Bold 449.3 + l_____ MonaLisa-Solid 450.0 + l_____ MonaLisa-Recut 450.1 + l_____ MonaLisaEF-Solid 450.2 + l_____ MonaLisaEF-Recut 450.3 + l_____ Novarese-Book 451.0 + l_____ Novarese-BookItalic 451.1 + l_____ Novarese-Medium 451.2 + l_____ Novarese-MediumItalic 451.3 + l_____ Novarese-Bold 451.4 + l_____ Novarese-BoldItalic 451.5 + l_____ Novarese-Ultra 451.6 + l_____ NovareseEF-Book 451.7 + l_____ NovareseEF-BookItalic 451.8 + l_____ NovareseEF-Medium 451.9 + l_____ NovareseEF-MediumItalic 451.10 + l_____ NovareseEF-Bold 451.11 + l_____ NovareseEF-BoldItalic 451.12 + l_____ NovareseEF-Ultra 451.13 + l_____ PacellaEF-Book 452.0 + l_____ PacellaSCEF-Book 452.1 + l_____ PacellaEF-BookItalic 452.2 + l_____ PacellaEF-Medium 452.3 + l_____ PacellaSCEF-Medium 452.4 + l_____ PacellaEF-MediumItalic 452.5 + l_____ PacellaEF-Bold 452.6 + l_____ PacellaEF-BoldItalic 452.7 + l_____ PacellaEF-Black 452.8 + l_____ PacellaEF-BlackItalic 452.9 + l_____ QuaySansEF-Book 453.0 + l_____ QuaySansEF-BookSC 453.1 + l_____ QuaySansEF-BookItalic 453.2 + l_____ QuaySansEF-Medium 453.3 + l_____ QuaySansEF-MediumSC 453.4 + l_____ QuaySansEF-MediumItalic 453.5 + l_____ QuaySansEF-Black 453.6 + l_____ QuaySansEF-BlackItalic 453.7 + l_____ SerifGothic-Light 454.0 + l_____ SerifGothic 454.1 + l_____ SerifGothic-Bold 454.2 + l_____ SerifGothic-ExtraBold 454.3 + l_____ SerifGothic-Heavy 454.4 + l_____ SerifGothic-Black 454.5 + l_____ SerifGothicEF-Light 454.6 + l_____ SerifGothicEF-Regular 454.7 + l_____ SerifGothicEF-Bold 454.8 + l_____ SerifGothicEF-ExtraBold 454.9 + l_____ SerifGothicEF-Heavy 454.10 + l_____ SerifGothicEF-Black 454.11 + l_____ Symbol-Book 455.0 + l_____ Symbol-BookItalic 455.1 + l_____ Symbol-Medium 455.2 + l_____ Symbol-MediumItalic 455.3 + l_____ Symbol-Bold 455.4 + l_____ Symbol-BoldItalic 455.5 + l_____ Symbol-Black 455.6 + l_____ Symbol-BlackItalic 455.7 + l_____ SymbolEF-Book 455.8 + l_____ SymbolEF-BookSC 455.9 + l_____ SymbolEF-BookItalic 455.10 + l_____ SymbolEF-Medium 455.11 + l_____ SymbolEF-MediumSC 455.12 + l_____ SymbolEF-MediumItalic 455.13 + l_____ SymbolEF-Bold 455.14 + l_____ SymbolEF-BoldItalic 455.15 + l_____ SymbolEF-Black 455.16 + l_____ SymbolEF-BlackItalic 455.17 + l_____ Tiepolo-Book 456.0 + l_____ Tiepolo-BookItalic 456.1 + l_____ Tiepolo-Bold 456.2 + l_____ Tiepolo-BoldItalic 456.3 + l_____ Tiepolo-Black 456.4 + l_____ Tiepolo-BlackItalic 456.5 + l_____ TiepoloEF-Book 456.6 + l_____ TiepoloEF-BookSC 456.7 + l_____ TiepoloEF-BookItalic 456.8 + l_____ TiepoloEF-Bold 456.9 + l_____ TiepoloEF-BoldSC 456.10 + l_____ TiepoloEF-BoldItalic 456.11 + l_____ TiepoloEF-Black 456.12 + l_____ TiepoloEF-BlackItalic 456.13 + l_____ Veljovic-Book 457.0 + l_____ Veljovic-BookItalic 457.1 + l_____ Veljovic-Medium 457.2 + l_____ Veljovic-MediumItalic 457.3 + l_____ Veljovic-Bold 457.4 + l_____ Veljovic-BoldItalic 457.5 + l_____ Veljovic-Black 457.6 + l_____ Veljovic-BlackItalic 457.7 + l_____ VeljovicEF-Book 457.8 + l_____ VeljovicEF-BookOsF 457.9 + l_____ VeljovicEF-BookItalic 457.10 + l_____ VeljovicEF-BookItalicOsF 457.11 + l_____ VeljovicEF-Medium 457.12 + l_____ VeljovicEF-MediumOsF 457.13 + l_____ VeljovicEF-MediumItalic 457.14 + l_____ VeljovicEF-MediumItalicOsF 457.15 + l_____ VeljovicEF-Bold 457.16 + l_____ VeljovicEF-BoldOsF 457.17 + l_____ VeljovicEF-BoldItalic 457.18 + l_____ VeljovicEF-BoldItalicOsF 457.19 + l_____ VeljovicEF-Black 457.20 + l_____ VeljovicEF-BlackOsF 457.21 + l_____ VeljovicEF-BlackItalic 457.22 + l_____ VeljovicEF-BlackItalicOsF 457.23 + l_____ ZapfBookEF-Light 458.0 + l_____ ZapfBookEF-LightItalic 458.1 + l_____ ZapfBookEF-Medium 458.2 + l_____ ZapfBookEF-MediumItalic 458.3 + l_____ ZapfBookEF-Demi 458.4 + l_____ ZapfBookEF-DemiItalic 458.5 + l_____ ZapfBookEF-Heavy 458.6 + l_____ ZapfBookEF-HeavyItalic 458.7 + l_____ ZapfChancery-Light 458.8 + l_____ ZapfChancery-LightItalic 458.9 + l_____ ZapfChancery-Roman 458.10 + l_____ ZapfChancery-Italic 458.11 + l_____ ZapfChancery-MediumItalic 458.12 + l_____ ZapfChancery-Demi 458.13 + l_____ ZapfChancery-Bold 458.14 + l_____ ZapfChanceryCE-MediumItalic 458.15 + l_____ ZapfChanceryEF-Light 458.16 + l_____ ZapfChanceryEF-LightItalic 458.17 + l_____ ZapfChanceryEF-Medium 458.18 + l_____ ZapfChanceryEF-MediumItalic 458.19 + l_____ ZapfChanceryEF-Demi 458.20 + l_____ ZapfChanceryEF-Bold 458.21 + l_____ ZapfInternationalEF-Light 458.23 + l_____ ZapfInternationalEF-LightIta 458.24 + l_____ ZapfInternationalEF-Medium 458.25 + l_____ ZapfInternationalEF-MediumIta 458.26 + l_____ ZapfInternationalEF-Demi 458.27 + l_____ ZapfInternationalEF-DemiIta 458.28 + l_____ ZapfInternationalEF-Heavy 458.29 + l_____ ZapfInternationalEF-HeavyIta 458.30 + l_____ AudioLH-Pi 459.0 + l_____ EECLH-Pi 460.0 + l_____ XmasLH-PiOne 462.0 + l_____ XmasLH-PiTwo 462.1 + l_____ Lucida 463.0 + l_____ Lucida-Italic 463.1 + l_____ Lucida-Bold 463.2 + l_____ Lucida-BoldItalic 463.3 + l_____ LucidaSans 463.4 + l_____ LucidaSans-Italic 463.5 + l_____ LucidaSans-Bold 463.6 + l_____ LucidaSans-BoldItalic 463.7 + l_____ LucidaMath-Symbol 463.8 + l_____ LucidaMath-Extension 463.9 + l_____ LucidaMath-Italic 463.10 + l_____ LucidaEF 463.11 + l_____ LucidaEF-Italic 463.12 + l_____ LucidaEF-Bold 463.13 + l_____ LucidaEF-BoldItalic 463.14 + l_____ LucidaBlackletterEF 463.15 + l_____ LucidaBrightEF-Roman 463.16 + l_____ LucidaBrightEF-RomanIta 463.17 + l_____ LucidaBrightEF-DemiBold 463.18 + l_____ LucidaBrightEF-DemiBoldIta 463.19 + l_____ LucidaBrightNarEF-Roman 463.20 + l_____ LucidaBrightNarEF-Ita 463.21 + l_____ LucidaBrightNarEF-DeBol 463.22 + l_____ LucidaBrightNarEF-DeBolIta 463.23 + l_____ LucidaCalligraphyEF 463.24 + l_____ LucidaCasualEF-Roman 463.25 + l_____ LucidaCasualEF-Italic 463.26 + l_____ LucidaFaxEF-Roman 463.27 + l_____ LucidaFaxEF-RomanItalic 463.28 + l_____ LucidaFaxEF-DemiBold 463.29 + l_____ LucidaFaxEF-DemiBoldItalic 463.30 + l_____ LucidaHandwritingEF 463.31 + l_____ LucidaTypewriterEF-Regular 463.32 + l_____ LucidaTypewriterEF-Bold 463.33 + l_____ LucidaSansEF-Roman 463.34 + l_____ LucidaSansEF-RomanIta 463.35 + l_____ LucidaSansEF-Bold 463.36 + l_____ LucidaSansEF-DemiBold 463.37 + l_____ LucidaSansEF-BoldItalic 463.38 + l_____ LucidaSansEF-DemiBoldIta 463.39 + l_____ LucidaSansNarEF-Roman 463.40 + l_____ LucidaSansNarEF-Ita 463.41 + l_____ LucidaSansNarEF-DemBol 463.42 + l_____ LucidaSansNarEF-DemBolIta 463.43 + l_____ Madrone 465.0 + l_____ MagnusEF 466.0 + l_____ MandarinEF 467.0 + l_____ Marigold 468.0 + l_____ MatthiaLL-Regular 469.0 + l_____ MaturaMT 470.0 + l_____ MaturaMT-ScriptCapitals 470.1 + l_____ MaximaEF-Light 471.0 + l_____ MaximaEF-LightOblique 471.1 + l_____ MaximaEF-Medium 471.2 + l_____ MaximaEF-MediumOblique 471.3 + l_____ MaximaEF-Bold 471.4 + l_____ MaximaEF-BoldOblique 471.5 + l_____ MaximaEF-BoldCondensed 471.6 + l_____ MediciScript 472.0 + l_____ MercuriusMT-BoldScript 473.0 + l_____ Mesquite 474.0 + l_____ MetropolitainEF 475.0 + l_____ Minion-Regular 476.0 + l_____ Minion-RegularSC 476.1 + l_____ MinionExp-Regular 476.2 + l_____ Minion-Italic 476.3 + l_____ Minion-ItalicSC 476.4 + l_____ MinionExp-Italic 476.5 + l_____ Minion-Semibold 476.6 + l_____ Minion-SemiboldSC 476.7 + l_____ MinionExp-Semibold 476.8 + l_____ Minion-SemiboldItalic 476.9 + l_____ Minion-SemiboldItalicSC 476.10 + l_____ MinionExp-SemiboldItalic 476.11 + l_____ Minion-Bold 476.12 + l_____ Minion-BoldOsF 476.13 + l_____ MinionExp-Bold 476.14 + l_____ Minion-BoldItalic 476.15 + l_____ Minion-BoldItalicOsF 476.16 + l_____ MinionExp-BoldItalic 476.17 + l_____ Minion-Black 476.18 + l_____ Minion-BlackOsF 476.19 + l_____ Minion-BlackExpert 476.20 + l_____ Minion-Display 476.21 + l_____ Minion-DisplaySC 476.22 + l_____ MinionExp-Display 476.23 + l_____ Minion-DisplayItalic 476.24 + l_____ Minion-DisplayItalicSC 476.25 + l_____ MinionExp-DisplayItalic 476.26 + l_____ Minion-SwashItalic 476.27 + l_____ Minion-SwashDisplayItalic 476.28 + l_____ Minion-SwashSemiboldItalic 476.29 + l_____ Minion-Ornaments 476.30 + l_____ MinionCyr-Regular 476.31 + l_____ MinionCyr-Italic 476.32 + l_____ MinionCyr-Semibold 476.33 + l_____ MinionCyr-SemiboldItalic 476.34 + l_____ MinionCyr-Bold 476.35 + l_____ MinionCyr-BoldItalic 476.36 + l_____ Minister-Light 477.0 + l_____ Minister-LightItalic 477.1 + l_____ Minister-Book 477.2 + l_____ Minister-BookItalic 477.3 + l_____ Minister-Bold 477.4 + l_____ Minister-BoldItalic 477.5 + l_____ Minister-Black 477.6 + l_____ Minister-BlackItalic 477.7 + l_____ MinisterEF-Light 477.8 + l_____ MinisterEF-LightItalic 477.9 + l_____ MinisterEF-Book 477.10 + l_____ MinisterEF-BookItalic 477.11 + l_____ MinisterEF-Bold 477.12 + l_____ ModernNo216EF-Light 478.0 + l_____ ModernNo216EF-LightItalic 478.1 + l_____ ModernNo216EF-Medium 478.2 + l_____ ModernNo216EF-MediumItalic 478.3 + l_____ ModernNo216EF-Bold 478.4 + l_____ ModernNo216EF-BoldItalic 478.5 + l_____ ModernNo216EF-Heavy 478.6 + l_____ ModernNo216EF-HeavyItalic 478.7 + l_____ ModernMT-Bold 478.8 + l_____ ModernMT-BoldItalic 478.9 + l_____ ModernMT-Condensed 478.10 + l_____ ModernMT-CondensedItalic 478.11 + l_____ ModernMT-Extended 478.12 + l_____ ModernMT-ExtendedItalic 478.13 + l_____ ModernMT-Wide 478.14 + l_____ ModernMT-WideItalic 478.15 + l_____ ModernExtendedEF-Book 478.16 + l_____ ModernExtendedEF-BookIta 478.17 + l_____ ModernExtendedEF-Bold 478.18 + l_____ ModifiedGothic 479.0 + l_____ MonterreyEF 480.0 + l_____ MotterFeminaEF 481.0 + l_____ MysteryEF-White 482.0 + l_____ MysteryEF-Black 482.1 + l_____ MysteryEF-Mixed 482.2 + l_____ PinxitAstroLL 485.0 + l_____ PinxitOfficeLL 485.1 + l_____ PinxitPrivateLL 485.2 + l_____ Plak-Black 486.0 + l_____ Plak-BlackCondensed 486.1 + l_____ Plak-BlackExtraCondensed 486.2 + l_____ Plantin-Light 487.0 + l_____ Plantin-LightItalic 487.1 + l_____ Plantin 487.2 + l_____ Plantin-Italic 487.3 + l_____ Plantin-Semibold 487.4 + l_____ Plantin-SemiboldItalic 487.5 + l_____ Plantin-Bold 487.6 + l_____ Plantin-BoldItalic 487.7 + l_____ Plantin-BoldCondensed 487.8 + l_____ PlaybillEF 488.0 + l_____ Poetica-SuppLowercaseAltI 489.0 + l_____ Poetica-SuppLowercaseAltII 489.1 + l_____ Poetica-RomanSmallCaps 489.2 + l_____ Poetica-RomanSmallCapsAlt 489.3 + l_____ Poetica-SuppLigatures 489.4 + l_____ Poetica-SuppLowercaseBegI 489.5 + l_____ Poetica-SuppLowercaseBegII 489.6 + l_____ Poetica-SuppLowercaseEndI 489.7 + l_____ Poetica-SuppLowercaseEndII 489.8 + l_____ Poetica-SuppAmpersands 489.9 + l_____ Poetica-ChanceryExpert 489.10 + l_____ Poetica-ChanceryI 489.11 + l_____ Poetica-ChanceryII 489.12 + l_____ Poetica-ChanceryIII 489.13 + l_____ Poetica-ChanceryIV 489.14 + l_____ Poetica-SuppInitialsSwashCaps 489.15 + l_____ Poetica-SwashCapsI 489.16 + l_____ Poetica-SwashCapsII 489.17 + l_____ Poetica-SwashCapsIII 489.18 + l_____ Poetica-SwashCapsIV 489.19 + l_____ Poetica-SuppOrnaments 489.20 + l_____ Pompeijana-Roman 490.0 + l_____ Pompeijana-Borders 490.1 + l_____ PopplExquisit-Regular 491.0 + l_____ PopplExquisit-Medium 491.1 + l_____ PopplLaudatio-Light 491.2 + l_____ PopplLaudatio-LightItalic 491.3 + l_____ PopplLaudatio-Regular 491.4 + l_____ PopplLaudatio-Italic 491.5 + l_____ PopplLaudatio-Medium 491.6 + l_____ PopplLaudatio-MediumItalic 491.7 + l_____ PopplLaudatio-Bold 491.8 + l_____ PopplLaudatio-BoldItalic 491.9 + l_____ PopplLaudatio-LightCondensed 491.10 + l_____ PopplLaudatio-Condensed 491.11 + l_____ PopplLaudatio-MediumCondensed 491.12 + l_____ PopplLaudatio-BoldCondensed 491.13 + l_____ PopplPontifex-Roman 491.14 + l_____ PopplPontifex-RomanSC 491.15 + l_____ PopplPontifex-Italic 491.16 + l_____ PopplPontifex-Bold 491.17 + l_____ PopplPontifex-Black 491.18 + l_____ PopplPontifex-BoldCondensed 491.19 + l_____ PopplPontifexBE-Regular 491.20 + l_____ PopplPontifexBE-RegularSC 491.21 + l_____ PopplPontifexBE-RegularExp 491.22 + l_____ PopplPontifexBE-Italic 491.23 + l_____ PopplPontifexBE-ItalicOsF 491.24 + l_____ PopplPontifexBE-ItalicExp 491.25 + l_____ PopplPontifexBE-Medium 491.26 + l_____ PopplPontifexBE-MediumSC 491.27 + l_____ PopplPontifexBE-MediumExp 491.28 + l_____ PopplPontifexBE-Bold 491.29 + l_____ PopplPontifexBE-BoldOsF 491.30 + l_____ PopplPontifexBE-BoldExp 491.31 + l_____ PopplPontifexBE-MediumCn 491.32 + l_____ PopplPontifexBE-MediumCnSC 491.33 + l_____ PopplPontifexBE-MediumCnExp 491.34 + l_____ PopplResidenz-Light 491.35 + l_____ PopplResidenz-Regular 491.36 + l_____ PostAntiqua-Roman 492.0 + l_____ PostAntiqua-Bold 492.1 + l_____ PostAntiquaBE-Regular 492.2 + l_____ PostAntiquaBE-Medium 492.3 + l_____ PostMediaeval-Regular 492.4 + l_____ PostMediaeval-Italic 492.5 + l_____ PostMediaeval-Medium 492.6 + l_____ PraxisEF-Light 493.0 + l_____ PraxisEF-LightSC 493.1 + l_____ PraxisEF-Regular 493.2 + l_____ PraxisEF-RegularSC 493.3 + l_____ PraxisEF-SemiBold 493.4 + l_____ PraxisEF-Bold 493.5 + l_____ PraxisEF-Heavy 493.6 + l_____ PremierEF 494.0 + l_____ PremierEF-Alternate 494.1 + l_____ PremierEF-Shaded 494.2 + l_____ Present 495.0 + l_____ Present-Bold 495.1 + l_____ Present-Black 495.2 + l_____ Present-Condensed 495.3 + l_____ Present-BoldCondensed 495.4 + l_____ Present-BlackCondensed 495.5 + l_____ PrincetownEF 496.0 + l_____ ProteusEF-Light 497.0 + l_____ ProteusEF-Book 497.1 + l_____ ProteusEF-Medium 497.2 + l_____ ProteusEF-Bold 497.3 + l_____ Quake 498.0 + l_____ QuartzEF 499.0 + l_____ QuasariaLL-Regular 500.0 + l_____ QuasariaLL-Oblique 500.1 + l_____ QuasariaLL-Bold 500.2 + l_____ QuasariaLL-BoldOblique 500.3 + l_____ Rad 501.0 + l_____ RadiantEFText-Light 502.0 + l_____ RadiantEFText-Book 502.1 + l_____ RadiantEFText-Medium 502.2 + l_____ RadiantEFText-DemiBold 502.3 + l_____ RadiantEFText-Bold 502.4 + l_____ RadiantEFText-Black 502.5 + l_____ RadiantEFDisplay-CondNo2 502.6 + l_____ RadiantEFDisplay-CondNo1 502.7 + l_____ RadiantEFDisplay-CondNo4 502.8 + l_____ RadiantEFDisplay-CondNo3 502.9 + l_____ RadiantEFDisplay-CondNo6 502.10 + l_____ RadiantEFDisplay-CondNo5 502.11 + l_____ RageItalicEF 503.0 + l_____ ReadMyHandLL 504.0 + l_____ ReadMyHandLL-Bold 504.1 + l_____ Reporter-Two 505.0 + l_____ RialtoEF 506.0 + l_____ Rockwell-Light 507.0 + l_____ Rockwell-LightItalic 507.1 + l_____ Rockwell 507.2 + l_____ Rockwell-Italic 507.3 + l_____ Rockwell-Bold 507.4 + l_____ Rockwell-BoldItalic 507.5 + l_____ Rockwell-ExtraBold 507.6 + l_____ Rockwell-Condensed 507.7 + l_____ Rockwell-BoldCondensed 507.8 + l_____ RomanScriptEF 508.0 + l_____ RomanScriptEF-Alternate 508.1 + l_____ Rosewood-Fill 509.0 + l_____ Rosewood-Regular 509.1 + l_____ Rotation-Roman 510.0 + l_____ Rotation-Italic 510.1 + l_____ Rotation-Bold 510.2 + l_____ Roundy-Roman 511.0 + l_____ Roundy-Swash 511.1 + l_____ RulingScript 512.0 + l_____ RulingScript-Addition 512.1 + l_____ RussellSquare 513.0 + l_____ RussellSquare-Oblique 513.1 + l_____ Sabon-Roman 514.0 + l_____ Sabon-RomanSC 514.1 + l_____ Sabon-RomanOsF 514.2 + l_____ Sabon-Italic 514.3 + l_____ Sabon-ItalicOsF 514.4 + l_____ Sabon-Bold 514.5 + l_____ Sabon-BoldOsF 514.6 + l_____ Sabon-BoldItalic 514.7 + l_____ Sabon-BoldItalicOsF 514.8 + l_____ Sassafras-Roman 517.0 + l_____ Sassafras-SxRoman 517.1 + l_____ Sassafras-LxRoman 517.2 + l_____ Sassafras-LxItalic 517.3 + l_____ Sassafras-SxItalic 517.4 + l_____ Sassafras-Italic 517.5 + l_____ StempelSchneidler-Light 518.0 + l_____ StempelSchneidler-LightItalic 518.1 + l_____ StempelSchneidler-Roman 518.2 + l_____ StempelSchneidler-Italic 518.3 + l_____ StempelSchneidler-Medium 518.4 + l_____ StempelSchneidler-MedItalic 518.5 + l_____ StempelSchneidler-Bold 518.6 + l_____ StempelSchneidler-BoldItalic 518.7 + l_____ StempelSchneidler-Black 518.8 + l_____ StempelSchneidler-BlackItalic 518.9 + l_____ SchneidlerEF-Light 518.10 + l_____ SchneidlerEF-AmaltheaLight 518.11 + l_____ SchneidlerEF-Roman 518.12 + l_____ SchneidlerEF-AmaltheaRoman 518.13 + l_____ SchneidlerEF-Medium 518.14 + l_____ SchneidlerEF-AmaltheaMedium 518.15 + l_____ SchneidlerEF-Bold 518.16 + l_____ SchneidlerEF-AmaltheaBold 518.17 + l_____ SchneidlerEF-Black 518.18 + l_____ SchneidlerEF-AmaltheaBlack 518.19 + l_____ SchreibmaschineEF-Regular 519.0 + l_____ Serpentine-Light 520.0 + l_____ Serpentine-LightOblique 520.1 + l_____ Serpentine-Medium 520.2 + l_____ Serpentine-MediumOblique 520.3 + l_____ Serpentine-Bold 520.4 + l_____ Serpentine-BoldOblique 520.5 + l_____ SerpentineEF-Bold 520.6 + l_____ SerpentineEF-BoldItalic 520.7 + l_____ VarioEF-Regular 522.0 + l_____ VarioEF-RegularItalic 522.1 + l_____ VectoraLH-Light 523.0 + l_____ VectoraLH-LightItalic 523.1 + l_____ VectoraLH-Roman 523.2 + l_____ VectoraLH-Italic 523.3 + l_____ VectoraLH-Bold 523.4 + l_____ VectoraLH-BoldItalic 523.5 + l_____ VectoraLH-Black 523.6 + l_____ VectoraLH-BlackItalic 523.7 + l_____ VegasEF 524.0 + l_____ Versailles-Light 526.0 + l_____ Versailles-LightItalic 526.1 + l_____ Versailles-Roman 526.2 + l_____ Versailles-Italic 526.3 + l_____ Versailles-Bold 526.4 + l_____ Versailles-BoldItalic 526.5 + l_____ Versailles-Black 526.6 + l_____ Versailles-BlackItalic 526.7 + l_____ Visigoth 527.0 + l_____ VladimirScriptEF 528.0 + l_____ Westside 530.0 + l_____ WiesbadenSwing-Roman 531.0 + l_____ Willow 532.0 + l_____ WittenbergerFrakturMT 533.0 + l_____ WittenbergerFrakturMT-Dfr 533.1 + l_____ WittenbergerFrakturMT-Bd 533.2 + l_____ WittenbergerFrakturMT-BdDfr 533.3 + l_____ Zebrawood-Fill 534.0 + l_____ Zebrawood-Regular 534.1 + l_____ AgrafieLL 535.0 + l_____ AlbertusMT-Light 536.0 + l_____ AlbertusMT-Roman 536.1 + l_____ AlbertusMT-Italic 536.2 + l_____ Alexa 537.0 + l_____ AlgerianEF 538.0 + l_____ Amigo 540.0 + l_____ AngroEF-Light 541.0 + l_____ AngroEF-Bold 541.1 + l_____ AnzeigenGroteskEF 542.0 + l_____ ArsisEF-Regular 543.0 + l_____ ArsisEF-RegularItalic 543.1 + l_____ AugusteaOpenEF 544.0 + l_____ Avenir-Light 545.0 + l_____ Avenir-LightOblique 545.1 + l_____ Avenir-Book 545.2 + l_____ Avenir-BookOblique 545.3 + l_____ Avenir-Roman 545.4 + l_____ Avenir-Oblique 545.5 + l_____ Avenir-Medium 545.6 + l_____ Avenir-MediumOblique 545.7 + l_____ Avenir-Heavy 545.8 + l_____ Avenir-HeavyOblique 545.9 + l_____ Avenir-Black 545.10 + l_____ Avenir-BlackOblique 545.11 + l_____ BakerSignet 546.0 + l_____ Balzano 547.0 + l_____ Barmeno-Regular 548.0 + l_____ Barmeno-Medium 548.1 + l_____ Barmeno-Bold 548.2 + l_____ Barmeno-ExtraBold 548.3 + l_____ BellCentennial-Address 549.0 + l_____ BellCentennial-SubCaption 549.1 + l_____ BellCentennial-NameAndNumber 549.2 + l_____ BellCentennial-BoldListing 549.3 + l_____ BellCentennial-BoldListingAlt 549.4 + l_____ City-Light 550.0 + l_____ City-LightItalic 550.1 + l_____ City-Medium 550.2 + l_____ City-MediumItalic 550.3 + l_____ City-Bold 550.4 + l_____ City-BoldItalic 550.5 + lpi___ BorderPi-OneFiveOneFiveNine 551.0 + l_____ BroadwayEF 552.2 + l_____ BroadwayEF-Engraved 552.3 + l_____ Caliban 553.0 + l_____ CarouselEF 554.0 + l_____ Century-Light 555.0 + l_____ Century-LightItalic 555.1 + l_____ Century-Book 555.2 + l_____ Century-BookItalic 555.3 + l_____ Century-Bold 555.4 + l_____ Century-BoldItalic 555.5 + l_____ Century-Ultra 555.6 + l_____ Century-UltraItalic 555.7 + l_____ Century-LightCondensed 555.8 + l_____ Century-LightCondensedItalic 555.9 + l_____ Century-BookCondensed 555.10 + l_____ Century-BookCondensedItalic 555.11 + l_____ Century-BoldCondensed 555.12 + l_____ Century-BoldCondensedItalic 555.13 + l_____ Century-UltraCondensed 555.14 + l_____ Century-UltraCondensedItalic 555.15 + l_____ CenturyEF-Light 555.16 + l_____ CenturyEF-LightItalic 555.17 + l_____ CenturyEF-Book 555.18 + l_____ CenturyEF-BookItalic 555.19 + l_____ CenturyEF-Bold 555.20 + l_____ CenturyEF-BoldItalic 555.21 + l_____ CenturyEF-Ultra 555.22 + l_____ CenturyEF-UltraItalic 555.23 + l_____ CenturyHandtEF-Bold 555.24 + l_____ CenturyHandtEF-BoldItalic 555.25 + l_____ CenturyEF-LightCondensed 555.26 + l_____ CenturyEF-LightCondensedItalic 555.27 + l_____ CenturyEF-BookCondensed 555.28 + l_____ CenturyEF-BookCondensedItalic 555.29 + l_____ CenturyEF-BoldCondensed 555.30 + l_____ CenturyEF-BoldCondensedItalic 555.31 + l_____ CenturyEF-UltraCondensed 555.32 + l_____ CenturyEF-UltraCondensedItalic 555.33 + l_____ CenturyExpanded 555.34 + l_____ CenturyExpanded-Italic 555.35 + l_____ CenturyExpandedEF-Regular 555.36 + l_____ CenturyExpandedEF-RegularItalic 555.37 + l_____ CenturyOldStyle-Regular 555.38 + l_____ CenturyOldStyle-Italic 555.39 + l_____ CenturyOldStyle-Bold 555.40 + l_____ CenturyOldStyleEF-Regular 555.41 + l_____ CenturyOldStyleEF-RegularItalic 555.42 + l_____ CenturyOldStyleEF-Bold 555.43 + l_____ NewCenturySchlbk-Roman 555.44 + l_____ NewCenturySchlbk-Italic 555.45 + l_____ NewCenturySchlbk-Bold 555.46 + l_____ NewCenturySchlbk-BoldItalic 555.47 + l_____ NewCenturySchlbkCE-Roman 555.50 + l_____ NewCenturySchlbkCE-Italic 555.51 + l_____ NewCenturySchlbkCE-Bold 555.52 + l_____ NewCenturySchlbkCE-BoldItalic 555.53 + l_____ NewCenturySchlbkGreek-Upright 555.54 + l_____ NewCenturySchlbkGreek-Inclined 555.55 + l_____ NewCenturySchlbkGreek-Bold 555.56 + l_____ NewCenturySchlbkGreekP-Upright 555.57 + l_____ NewCenturySchlbkGreekP-Inclined 555.58 + l_____ NewCenturySchlbkGreekP-Bold 555.59 + l_____ CenturySchoolbookEF-Reg 555.60 + l_____ CenturySchoolbookEF-RegIta 555.61 + l_____ CenturySchoolbookEF-Bol 555.62 + l_____ CenturySchoolbookEF-BolIta 555.63 + l_____ ChesterfieldEF 556.0 + l_____ Choc-Roman 557.0 + l_____ ChromiumOneEF 558.0 + l_____ Clarendon-Light 559.0 + l_____ Clarendon 559.1 + l_____ Clarendon-Bold 559.2 + l_____ ClarendonEF-Light 559.3 + l_____ ClarendonEF-Medium 559.4 + l_____ ClarendonEF-Bold 559.5 + l_____ ClarendonEF-ExtraBold 559.6 + l_____ ClarendonEF-BoldExpanded 559.7 + l_____ Colossalis-Regular 560.0 + l_____ Colossalis-Medium 560.1 + l_____ Colossalis-Bold 560.2 + l_____ Colossalis-Black 560.3 + l_____ CompactaEF-Light 561.0 + l_____ CompactaEF-Regular 561.1 + l_____ CompactaEF-RegularItalic 561.2 + l_____ CompactaEF-Bold 561.3 + l_____ CompactaEF-BoldItalic 561.4 + l_____ CompactaEF-Black 561.5 + l_____ CompactaEF-RegularOutline 561.6 + l_____ CompactaEF-BoldOutline 561.7 + l_____ ConferenceEF 562.0 + l_____ Copperplate-TwentyNineBC 563.0 + l_____ Copperplate-ThirtyBC 563.1 + l_____ Copperplate-ThirtyTwoBC 563.2 + l_____ Copperplate-ThirtyOneBC 563.3 + l_____ Copperplate-ThrityThreeBC 563.4 + l_____ Copperplate-TwentyNineAB 563.5 + l_____ Copperplate-ThirtyAB 563.6 + l_____ Copperplate-ThirtyTwoAB 563.7 + l_____ Copperplate-ThirtyOneAB 563.8 + l_____ CopperplateEF-Medium 563.10 + l_____ CopperplateEF-Bold 563.11 + l_____ CopperplateEF-LightCondensed 563.12 + l_____ CopperplateEF-MediumCondensed 563.13 + l_____ CopperplateEF-BoldCondensed 563.14 + l_____ CopperplateEF-Light 563.9 + l_____ Cottonwood 564.0 + l_____ CrilleeEF-LightItalic 565.0 + l_____ CrilleeEF-Italic 565.1 + l_____ CrilleeEF-BoldItalic 565.2 + l_____ CrilleeEF-ExtraBoldItalic 565.3 + l_____ DINMittelschrift 566.0 + l_____ DINMittelschrift-Alternate 566.1 + l_____ DINEngschrift 566.2 + l_____ DINEngschrift-Alternate 566.3 + l_____ DIN1451EF-MittelNeu 566.4 + l_____ DIN1451EF-MittelAlt 566.5 + l_____ DIN1451EF-EngNeu 566.6 + l_____ DIN1451EF-EngAlt 566.7 + l_____ DINNeuzeitGrotesk-Light 566.8 + l_____ DINNeuzeitGrotesk-BoldCond 566.9 + l_____ DalcoraHE 567.0 + lpi___ DecoNumbersLH-Circle 568.0 + lpi___ DecoNumbersLH-OCRA 568.1 + lpi___ DecoNumbersLH-Serlio 568.2 + lpi___ DecoNumbersLH-Square 568.3 + lpi___ DecoNumbersLH-Triangle 568.4 + l_____ DemosEF-Medium 569.0 + l_____ DemosEF-MediumSC 569.1 + l_____ DemosEF-MediumItalic 569.2 + l_____ DemosEF-SemiBold 569.3 + l_____ DextorEF 570.0 + l_____ Diotima-Roman 571.0 + l_____ Diotima-RomanSC 571.1 + l_____ Diotima-RomanOsF 571.2 + l_____ Diotima-Italic 571.3 + l_____ Diotima-ItalicOsF 571.4 + l_____ DucDeBerry 572.0 + l_____ DucDeBerry-Dfr 572.1 + l_____ EinhornEF 573.0 + l_____ EngraversLH-BoldFace 574.0 + l_____ EngraversEF-Roman 574.1 + l_____ EngraversEF-Bold 574.2 + l_____ GaladrielEF 578.0 + l_____ StempelGaramond-Roman 579.0 + l_____ StempelGaramond-RomanSC 579.1 + l_____ StempelGaramond-RomanOsF 579.2 + l_____ StempelGaramond-Italic 579.3 + l_____ StempelGaramond-ItalicOsF 579.4 + l_____ StempelGaramond-Bold 579.5 + l_____ StempelGaramond-BoldOsF 579.6 + l_____ StempelGaramond-BoldItalic 579.7 + l_____ StempelGaramond-BoldItalicOsF 579.8 + l_____ StempelGaramondCE-Roman 579.9 + l_____ StempelGaramondCE-Italic 579.10 + l_____ StempelGaramondCE-Bold 579.11 + l_____ StempelGaramondCE-BoldItalic 579.12 + l_____ StempelGaramondEastA-Roman 579.13 + l_____ StempelGaramondEastA-Italic 579.14 + l_____ StempelGaramondEastA-Bold 579.15 + l_____ StempelGaramondEastA-BoldItalic 579.16 + l_____ AGaramond-Regular 579.17 + l_____ AGaramondAlt-Regular 579.18 + l_____ AGaramond-RegularSC 579.19 + l_____ AGaramondExp-Regular 579.20 + l_____ AGaramond-Italic 579.21 + l_____ AGaramondAlt-Italic 579.22 + l_____ AGaramond-ItalicOsF 579.23 + l_____ AGaramondExp-Italic 579.24 + l_____ AGaramond-Semibold 579.25 + l_____ AGaramond-SemiboldSC 579.26 + l_____ AGaramondExp-Semibold 579.27 + l_____ AGaramond-SemiboldItalic 579.28 + l_____ AGaramond-SemiboldItalicOsF 579.29 + l_____ AGaramondExp-SemiboldItalic 579.30 + l_____ AGaramond-Bold 579.31 + l_____ AGaramond-BoldOsF 579.32 + l_____ AGaramondExp-Bold 579.33 + l_____ AGaramond-BoldItalic 579.34 + l_____ AGaramond-BoldItalicOsF 579.35 + l_____ AGaramondExp-BoldItalic 579.36 + l_____ AGaramond-Titling 579.37 + l_____ GaramondBE-Regular 579.38 + l_____ GaramondBE-RegularSC 579.39 + l_____ GaramondBE-RegularExpert 579.40 + l_____ GaramondBE-Italic 579.41 + l_____ GaramondBE-ItalicOsF 579.42 + l_____ GaramondBE-ItalicExpert 579.43 + l_____ GaramondBE-Medium 579.44 + l_____ GaramondBE-MediumSC 579.45 + l_____ GaramondBE-MediumExpert 579.46 + l_____ GaramondBE-MediumItalic 579.47 + l_____ GaramondBE-MediumItalicOsF 579.48 + l_____ GaramondBE-MediumItalicExpert 579.49 + l_____ GaramondBE-Bold 579.50 + l_____ GaramondBE-BoldOsF 579.51 + l_____ GaramondBE-BoldExpert 579.52 + l_____ GaramondBE-Condensed 579.53 + l_____ GaramondBE-CondensedSC 579.54 + l_____ GaramondBE-CnExpert 579.55 + l_____ GaramondBE-MediumCn 579.56 + l_____ GaramondBE-MediumCnOsF 579.57 + l_____ GaramondBE-MediumCnExpert 579.58 + l_____ GaramondBE-SwashItalic 579.59 + l_____ Garamond-Light 579.60 + l_____ Garamond-LightItalic 579.61 + l_____ Garamond-Book 579.62 + l_____ Garamond-BookItalic 579.63 + l_____ Garamond-Bold 579.64 + l_____ Garamond-BoldItalic 579.65 + l_____ Garamond-Ultra 579.66 + l_____ Garamond-UltraItalic 579.67 + l_____ Garamond-LightCondensed 579.68 + l_____ Garamond-LightCondensedItalic 579.69 + l_____ Garamond-BookCondensed 579.70 + l_____ Garamond-BookCondensedItalic 579.71 + l_____ Garamond-BoldCondensed 579.72 + l_____ Garamond-BoldCondensedItalic 579.73 + l_____ Garamond-UltraCondensed 579.74 + l_____ Garamond-UltraCondensedItalic 579.75 + l_____ GaramondEF-Light 579.76 + l_____ GaramondEF-LightItalic 579.77 + l_____ GaramondEF-Book 579.78 + l_____ GaramondEF-BookItalic 579.79 + l_____ GaramondEF-Bold 579.80 + l_____ GaramondEF-BoldItalic 579.81 + l_____ GaramondEF-Ultra 579.82 + l_____ GaramondEF-UltraItalic 579.83 + l_____ GaramondHandtEF-Bold 579.84 + l_____ GaramondHandtEF-BoldItalic 579.85 + l_____ GaramondEF-LightCondensed 579.86 + l_____ GaramondEF-LightCondensedItalic 579.87 + l_____ GaramondEF-BookCondensed 579.88 + l_____ GaramondEF-BookCondensedItalic 579.89 + l_____ GaramondEF-BoldCondensed 579.90 + l_____ GaramondEF-BoldCondensedItalic 579.91 + l_____ GaramondEF-UltraCondensed 579.92 + l_____ GaramondEF-UltraCondensedItalic 579.93 + l_____ SimonciniGaramond 579.94 + l_____ SimonciniGaramond-Italic 579.95 + l_____ SimonciniGaramond-Bold 579.96 + l_____ GaramondThree 579.97 + l_____ GaramondThree-SC 579.98 + l_____ GaramondThree-Italic 579.99 + l_____ GaramondThree-ItalicOsF 579.100 + l_____ GaramondThree-Bold 579.101 + l_____ GaramondThree-BoldSC 579.102 + l_____ GaramondThree-BoldItalic 579.103 + l_____ GaramondThree-BoldItalicOsF 579.104 + l_____ GaramondNo5EF-Light 579.105 + l_____ GaramondNo5EF-LightItalic 579.106 + l_____ GaramondNo5EF-Bold 579.107 + l_____ Giddyup 580.0 + l_____ GlaserStencilEF 581.0 + l_____ Grace 582.0 + l_____ GrafiloneLL-Light 583.0 + l_____ GrafiloneLL-SemiBold 583.1 + l_____ GrafiloneLL-Bold 583.2 + l_____ HaMangaIrregularLL-Regular 584.0 + l_____ HaMangaIrregularLL-Italic 584.1 + l_____ HaMangaIrregularPicturesLL 584.2 + l_____ HandelGothicEF-Light 585.0 + l_____ HandelGothicEF-Medium 585.1 + l_____ HandelGothicEF-Bold 585.2 + l_____ Herculanum 586.0 + l_____ HoTomLL-Regular 587.0 + l_____ HollanderEF-Regular 588.0 + l_____ HollanderSCEF-Regular 588.1 + l_____ HollanderEF-RegularItalic 588.2 + l_____ HollanderEF-Bold 588.3 + l_____ HorndonEF 589.0 + l_____ BarcelonaEF-Book 591.0 + l_____ BarcelonaEF-BookItalic 591.1 + l_____ BarcelonaEF-Medium 591.2 + l_____ BarcelonaEF-MediumItalic 591.3 + l_____ BarcelonaEF-Bold 591.4 + l_____ BarcelonaEF-BoldItalic 591.5 + l_____ BarcelonaEF-Heavy 591.6 + l_____ BarcelonaEF-HeavyItalic 591.7 + l_____ Bookman-Light 592.0 + l_____ Bookman-LightItalic 592.1 + l_____ Bookman-Medium 592.2 + l_____ Bookman-MediumItalic 592.3 + l_____ Bookman-Demi 592.4 + l_____ Bookman-DemiItalic 592.5 + l_____ Bookman-Bold 592.6 + l_____ Bookman-BoldItalic 592.7 + l_____ BookmanCE-Light 592.8 + l_____ BookmanCE-LightItalic 592.9 + l_____ BookmanCE-Demi 592.10 + l_____ BookmanCE-DemiItalic 592.11 + l_____ BookmanEF-Light 592.12 + l_____ BookmanEF-LightItalic 592.13 + l_____ BookmanEF-Medium 592.14 + l_____ BookmanEF-MediumItalic 592.15 + l_____ BookmanEF-Demi 592.16 + l_____ BookmanEF-DemiItalic 592.17 + l_____ BookmanEF-Bold 592.18 + l_____ BookmanEF-BoldItalic 592.19 + l_____ GammaEF-Book 593.0 + l_____ GammaSCEF-Book 593.1 + l_____ GammaEF-BookItalic 593.2 + l_____ GammaEF-Medium 593.3 + l_____ GammaSCEF-Medium 593.4 + l_____ GammaEF-MediumItalic 593.5 + l_____ GammaEF-Bold 593.6 + l_____ GammaEF-BoldItalic 593.7 + l_____ GammaEF-Black 593.8 + l_____ GammaEF-BlackItalic 593.9 + l_____ Italia-Book 594.0 + l_____ Italia-Medium 594.1 + l_____ Italia-Bold 594.2 + l_____ ItaliaEF-Book 594.3 + l_____ ItaliaEF-Medium 594.4 + l_____ ItaliaEF-Bold 594.5 + l_____ ItaliaEF-Condense 594.6 + l_____ MendozaRoman-Book 595.0 + l_____ MendozaRoman-BookItalic 595.1 + l_____ MendozaRoman-Medium 595.2 + l_____ MendozaRoman-MediumItalic 595.3 + l_____ MendozaRoman-Bold 595.4 + l_____ MendozaRoman-BoldItalic 595.5 + l_____ MendozaRomanEF-Book 595.6 + l_____ MendozaRomanEF-BookSC 595.7 + l_____ MendozaRomanEF-BookItalic 595.8 + l_____ MendozaRomanEF-Medium 595.9 + l_____ MendozaRomanEF-MediumSC 595.10 + l_____ MendozaRomanEF-MediumItalic 595.11 + l_____ MendozaRomanEF-Bold 595.12 + l_____ MendozaRomanEF-BoldItalic 595.13 + l_____ OfficinaSans-Book 596.0 + l_____ OfficinaSans-BookItalic 596.1 + l_____ OfficinaSans-Bold 596.2 + l_____ OfficinaSans-BoldItalic 596.3 + l_____ OfficinaSerif-Book 596.4 + l_____ OfficinaSerif-BookItalic 596.5 + l_____ OfficinaSerif-Bold 596.6 + l_____ OfficinaSerif-BoldItalic 596.7 + l_____ OfficinaSansEF-Book 596.8 + l_____ OfficinaSansEF-BookItalic 596.9 + l_____ OfficinaSansEF-Bold 596.10 + l_____ OfficinaSansEF-BoldItalic 596.11 + l_____ OfficinaSerifEF-Book 596.12 + l_____ OfficinaSerifEF-BookItalic 596.13 + l_____ OfficinaSerifEF-Bold 596.14 + l_____ OfficinaSerifEF-BoldItalic 596.15 + l_____ StoneInformal 597.0 + l_____ StoneInformal-Italic 597.1 + l_____ StoneInformal-SemiBold 597.2 + l_____ StoneInformal-SemiBoldItalic 597.3 + l_____ StoneInformal-Bold 597.4 + l_____ StoneInformal-BoldItalic 597.5 + l_____ StoneSans 597.6 + l_____ StoneSans-Italic 597.7 + l_____ StoneSans-SemiBold 597.8 + l_____ StoneSans-SemiBoldItalic 597.9 + l_____ StoneSans-Bold 597.10 + l_____ StoneSans-BoldItalic 597.11 + l_____ StoneSerif 597.12 + l_____ StoneSerif-Italic 597.13 + l_____ StoneSerif-SemiBold 597.14 + l_____ StoneSerif-SemiBoldItalic 597.15 + l_____ StoneSerif-Bold 597.16 + l_____ StoneSerif-BoldItalic 597.17 + l_____ StoneSans-PhoneticIPA 597.18 + l_____ StoneSans-PhoneticAlternate 597.19 + l_____ StoneSerif-PhoneticIPA 597.20 + l_____ StoneSerif-PhoneticAlternate 597.21 + l_____ StoneInformalEF-Medium 597.22 + l_____ StoneInformalEF-MediumSC 597.23 + l_____ StoneInformalEF-MediumItalic 597.24 + l_____ StoneInformalEF-SemiBold 597.25 + l_____ StoneInformalEF-SemiBoldSC 597.26 + l_____ StoneInformalEF-SemiBoldItalic 597.27 + l_____ StoneInformalEF-Bold 597.28 + l_____ StoneInformalEF-BoldItalic 597.29 + l_____ StoneSansEF-Medium 597.30 + l_____ StoneSansEF-MediumSC 597.31 + l_____ StoneSansEF-MediumItalic 597.32 + l_____ StoneSansEF-SemiBold 597.33 + l_____ StoneSansEF-SemiBoldSC 597.34 + l_____ StoneSansEF-SemiBoldItalic 597.35 + l_____ StoneSansEF-Bold 597.36 + l_____ StoneSansEF-BoldItalic 597.37 + l_____ StoneSerifEF-Medium 597.38 + l_____ StoneSerifEF-MediumSC 597.39 + l_____ StoneSerifEF-MediumItalic 597.40 + l_____ StoneSerifEF-SemiBold 597.41 + l_____ StoneSerifEF-SemiBoldSC 597.42 + l_____ StoneSerifEF-SemiBoldItalic 597.43 + l_____ StoneSerifEF-Bold 597.44 + l_____ StoneSerifEF-BoldItalic 597.45 + l_____ StoneSansEF-MediumPhonetic 597.46 + l_____ StoneSansEF-MediumPhoneticPlus 597.47 + l_____ StoneSerifEF-MediumPhonetic 597.48 + l_____ StoneSerifEF-MediumPhoneticPlus 597.49 + l_____ Usherwood-Book 598.0 + l_____ Usherwood-BookItalic 598.1 + l_____ Usherwood-Medium 598.2 + l_____ Usherwood-MediumItalic 598.3 + l_____ Usherwood-Bold 598.4 + l_____ Usherwood-BoldItalic 598.5 + l_____ Usherwood-Black 598.6 + l_____ Usherwood-BlackItalic 598.7 + l_____ UsherwoodEF-Book 598.8 + l_____ UsherwoodEF-BookItalic 598.9 + l_____ UsherwoodEF-Medium 598.10 + l_____ UsherwoodEF-MediumItalic 598.11 + l_____ UsherwoodEF-Bold 598.12 + l_____ UsherwoodEF-BoldItalic 598.13 + l_____ UsherwoodEF-Black 598.14 + l_____ UsherwoodEF-BlackItalic 598.15 + l_____ Impact 600.0 + l_____ ImprimeurClassiqueEF-Reg 601.0 + l_____ ImprimeurClassiqueEF-Obl 601.1 + l_____ ImprimeurNouveauEF-Reg 601.2 + l_____ ImprimeurNouveauEF-Obl 601.3 + l_____ Insignia 602.0 + l_____ Insignia-A 602.1 + l_____ JansonText-Roman 603.0 + l_____ JansonText-RomanSC 603.1 + l_____ JansonText-Italic 603.2 + l_____ JansonText-ItalicOsF 603.3 + l_____ JansonText-Bold 603.4 + l_____ JansonText-BoldOsF 603.5 + l_____ JansonText-BoldItalic 603.6 + l_____ JansonText-BoldItalicOsF 603.7 + l_____ Kabel-Light 604.0 + l_____ Kabel-Book 604.1 + l_____ Kabel-Heavy 604.2 + l_____ Kabel-Black 604.3 + l_____ ItcKabel-Book 604.4 + l_____ ItcKabel-Medium 604.5 + l_____ ItcKabel-Demi 604.6 + l_____ ItcKabel-Bold 604.7 + l_____ ItcKabel-Ultra 604.8 + l_____ ItcKabelEF-Book 604.9 + l_____ ItcKabelEF-Medium 604.10 + l_____ ItcKabelEF-Demi 604.11 + l_____ ItcKabelEF-Bold 604.12 + l_____ ItcKabelEF-Ultra 604.13 + l_____ KapitelliaEF-Bold 605.0 + l_____ KlangMT 606.0 + l_____ KolossEF 607.0 + l_____ LCDEF 608.0 + l_____ LinoLetter-Roman 610.0 + l_____ LinoLetter-RomanSC 610.1 + l_____ LinoLetter-RomanOsF 610.2 + l_____ LinoLetter-Italic 610.3 + l_____ LinoLetter-ItalicOsF 610.4 + l_____ LinoLetter-Medium 610.5 + l_____ LinoLetter-MediumSC 610.6 + l_____ LinoLetter-MediumOsF 610.7 + l_____ LinoLetter-MediumItalic 610.8 + l_____ LinoLetter-MediumItalicOsF 610.9 + l_____ LinoLetter-Bold 610.10 + l_____ LinoLetter-BoldSC 610.11 + l_____ LinoLetter-BoldOsF 610.12 + l_____ LinoLetter-BoldItalic 610.13 + l_____ LinoLetter-BoldItalicOsF 610.14 + l_____ LinoLetter-Black 610.15 + l_____ LinoLetter-BlackSC 610.16 + l_____ LinoLetter-BlackOsF 610.17 + l_____ LinoLetter-BlackItalic 610.18 + l_____ LinoLetter-BlackItalicOsF 610.19 + l_____ TechnicalLH-PiOne 612.0 + l_____ TechnicalLH-PiTwo 612.1 + l_____ MagnaEF-Light 613.0 + l_____ MagnaEF-Italic 613.1 + l_____ MagnaEF-Bold 613.2 + l_____ MateoRomanLL 614.0 + l_____ MateoBoldLL 614.1 + l_____ MateoBoldOutlineLL 614.2 + l_____ Memphis-Light 615.0 + l_____ Memphis-LightItalic 615.1 + l_____ Memphis-Medium 615.2 + l_____ Memphis-MediumItalic 615.3 + l_____ Memphis-Bold 615.4 + l_____ Memphis-BoldItalic 615.5 + l_____ Memphis-ExtraBold 615.6 + l_____ MetroLite-Two 616.0 + l_____ MetroMedium-Two 616.1 + l_____ MetroBlack-Two 616.2 + l_____ Mistral 617.0 + l_____ Monotype Script-Bold 618.0 + l_____ Napoleon-BoldCondensed 619.0 + l_____ NeulandStar 620.1 + l_____ NewCaledonia 621.0 + l_____ NewCaledonia-RomanSC 621.1 + l_____ NewCaledonia-Italic 621.2 + l_____ NewCaledonia-ItalicOsF 621.3 + l_____ NewCaledonia-SemiBold 621.4 + l_____ NewCaledonia-SemiBoldItalic 621.5 + l_____ NewCaledonia-Bold 621.6 + l_____ NewCaledonia-BoldSC 621.7 + l_____ NewCaledonia-BoldItalic 621.8 + l_____ NewCaledonia-BoldItalicOsF 621.9 + l_____ NewCaledonia-Black 621.10 + l_____ NewCaledonia-BlackItalic 621.11 + l_____ NoweAtenyLL-Two 622.0 + l_____ OctopussEF 623.0 + l_____ OctopussEF-Shaded 623.1 + l_____ OldTown536EF 624.0 + l_____ Optima 625.0 + l_____ Optima-Oblique 625.1 + l_____ Optima-Medium 625.2 + l_____ Optima-MediumOblique 625.3 + l_____ Optima-Demi 625.4 + l_____ Optima-DemiOblique 625.5 + l_____ Optima-Bold 625.6 + l_____ Optima-BoldOblique 625.7 + l_____ Optima-Black 625.8 + l_____ Optima-BlackOblique 625.9 + l_____ Optima-ExtraBlack 625.10 + l_____ Optima-ExtraBlackOblique 625.11 + l_____ OptimaCE-Roman 625.12 + l_____ OptimaCE-Oblique 625.13 + l_____ OptimaCE-Bold 625.14 + l_____ OptimaCE-BoldOblique 625.15 + l_____ OptimaEastA-Roman 625.16 + l_____ OptimaEastA-RomanOblique 625.17 + l_____ OptimaEastA-Bold 625.18 + l_____ OptimaEastA-BoldOblique 625.19 + l_____ PaddingtonEF 626.0 + l_____ PaddingtonEF-Alternate 626.1 + l_____ PapyrusEF-Regular 627.0 + l_____ PapyrusEF-Alternates 627.1 + l_____ Peignot-Light 628.0 + l_____ Peignot-Demi 628.1 + l_____ Peignot-Bold 628.2 + l_____ PendryScriptEF-Regular 629.0 + l_____ PendryScriptEF-Alternates 629.1 + l_____ PiccadillyEF 630.0 + l_____ Poplar 631.0 + l_____ PumpEF-Light 632.0 + l_____ PumpEF-Medium 632.1 + l_____ PumpEF-Demi 632.2 + l_____ PumpEF-Bold 632.3 + l_____ PumpEF-Triline 632.4 + l_____ RailroadGothic 633.0 + l_____ RotisSansSerif-Light 634.0 + l_____ RotisSansSerif-LightItalic 634.1 + l_____ RotisSansSerif 634.2 + l_____ RotisSansSerif-Italic 634.3 + l_____ RotisSansSerif-Bold 634.4 + l_____ RotisSansSerif-ExtraBold 634.5 + l_____ RotisSerif 634.6 + l_____ RotisSerif-Italic 634.7 + l_____ RotisSerif-Bold 634.8 + l_____ RotisSemiSans-Light 634.9 + l_____ RotisSemiSans-LightItalic 634.10 + l_____ RotisSemiSans 634.11 + l_____ RotisSemiSans-Italic 634.12 + l_____ RotisSemiSans-Bold 634.13 + l_____ RotisSemiSans-ExtraBold 634.14 + l_____ RotisSemiSerif 634.15 + l_____ RotisSemiSerif-Bold 634.16 + l_____ RunicMT-Condensed 635.0 + l_____ SassoonPrimary 636.0 + l_____ SerlioLH 637.0 + l_____ ShelleyEF 638.0 + l_____ SierraEF-Regular 639.0 + l_____ SierraEF-RegularItalic 639.1 + l_____ SierraEF-Bold 639.2 + l_____ SierraEF-BoldItalic 639.3 + l_____ SlipstreamEF 640.0 + l_____ Souvenir-Light 641.0 + l_____ Souvenir-LightItalic 641.1 + l_____ Souvenir-Medium 641.2 + l_____ Souvenir-MediumItalic 641.3 + l_____ Souvenir-Demi 641.4 + l_____ Souvenir-DemiItalic 641.5 + l_____ Souvenir-Bold 641.6 + l_____ Souvenir-BoldItalic 641.7 + l_____ SouvenirGreek-Light 641.8 + l_____ SouvenirGreek-Demi 641.9 + l_____ SouvenirGreekP-Light 641.10 + l_____ SouvenirGreekP-Demi 641.11 + l_____ SouvenirEF-Light 641.12 + l_____ SouvenirEF-LightItalic 641.13 + l_____ SouvenirEF-Medium 641.14 + l_____ SouvenirEF-MediumItalic 641.15 + l_____ SouvenirEF-Demi 641.16 + l_____ SouvenirEF-DemiItalic 641.17 + l_____ SouvenirEF-Bold 641.18 + l_____ SouvenirEF-BoldItalic 641.19 + l_____ SouvenirMonoEF-Light 641.20 + l_____ SouvenirMonoEF-LightItalic 641.21 + l_____ SouvenirMonoEF-Bold 641.22 + l_____ SpringfieldEF 642.0 + l_____ StentorEF 643.0 + l_____ StymieEF-Light 644.0 + l_____ StymieEF-Medium 644.1 + l_____ StymieEF-Bold 644.2 + l_____ StymieEF-Black 644.3 + l_____ StymieEF-MediumCondensed 644.4 + l_____ StymieEF-BoldCondensed 644.5 + l_____ SynchroEF 645.0 + l_____ SynchroEF-Alternate 645.1 + l_____ TeaChest 646.0 + l_____ Times-Roman 648.0 + l_____ Times-RomanSC 648.1 + l_____ Times-Italic 648.2 + l_____ Times-ItalicOsF 648.3 + l_____ Times-SemiBold 648.4 + l_____ Times-SemiBoldItalic 648.5 + l_____ Times-Bold 648.6 + l_____ Times-BoldSC 648.7 + l_____ Times-BoldItalic 648.8 + l_____ Times-BoldItalicOsF 648.9 + l_____ TimesTen-Roman 648.10 + l_____ TimesTen-RomanSC 648.11 + l_____ TimesTen-RomanOsF 648.12 + l_____ TimesTen-Italic 648.13 + l_____ TimesTen-ItalicOsF 648.14 + l_____ TimesTen-Bold 648.15 + l_____ TimesTen-BoldOsF 648.16 + l_____ TimesTen-BoldItalic 648.17 + l_____ TimesTen-BoldItalicOsF 648.18 + l_____ TimesEighteen-Roman 648.19 + l_____ TimesEighteen-Bold 648.20 + l_____ Times-ExtraBold 648.21 + l_____ TimesEuropa-Roman 648.22 + l_____ TimesEuropa-Italic 648.23 + l_____ TimesEuropa-Bold 648.24 + l_____ TimesEuropa-BoldItalic 648.25 + l_____ Times-PhoneticIPA 648.26 + l_____ Times-PhoneticAlternate 648.27 + l_____ TimesCE-Roman 648.28 + l_____ TimesCE-Italic 648.29 + l_____ TimesCE-Bold 648.30 + l_____ TimesCE-BoldItalic 648.31 + l_____ TimesTenCE-Roman 648.32 + l_____ TimesTenCE-Italic 648.33 + l_____ TimesTenCE-Bold 648.34 + l_____ TimesTenCE-BoldItalic 648.35 + l_____ TimesTenCyr-Upright 648.36 + l_____ TimesTenCyr-Inclined 648.37 + l_____ TimesTenCyr-Bold 648.38 + l_____ TimesTenCyr-BoldInclined 648.39 + l_____ TimesTenEastA-Roman 648.40 + l_____ TimesTenEastA-Italic 648.41 + l_____ TimesTenEastA-Bold 648.42 + l_____ TimesTenEastA-BoldItalic 648.43 + l_____ TimesTenGreek-Upright 648.44 + l_____ TimesTenGreek-Inclined 648.45 + l_____ TimesTenGreek-Bold 648.46 + l_____ TimesTenGreek-BdInclined 648.47 + l_____ TimesTenGreekP-Upright 648.48 + l_____ TimesTenGreekP-Inclined 648.49 + l_____ TimesTenGreekP-Bold 648.50 + l_____ TimesTenGreekP-BoldInclined 648.51 + l_____ TimesModernEF 648.52 + l_____ TimesNewRomanPS-Roman 648.53 + l_____ TimesNewRomanPS-Italic 648.54 + l_____ TimesNewRomanPS-Bold 648.55 + l_____ TimesNewRomanPS-BoldItalic 648.56 + l_____ TimesNewRomanMT-Cond 648.57 + l_____ TimesNewRomanMT-CondItalic 648.58 + l_____ TimesNewRomanMT-BoldCond 648.59 + l_____ TradeGothic-Light 649.0 + l_____ TradeGothic-LightOblique 649.1 + l_____ TradeGothic 649.2 + l_____ TradeGothic-Oblique 649.3 + l_____ TradeGothic-Bold 649.4 + l_____ TradeGothic-BoldTwo 649.5 + l_____ TradeGothic-BoldOblique 649.6 + l_____ TradeGothic-BoldTwoOblique 649.7 + l_____ TradeGothic-CondEighteen 649.8 + l_____ TradeGothic-CondEighteenObl 649.9 + l_____ TradeGothic-BoldCondTwenty 649.10 + l_____ TradeGothic-BoldCondTwentyObl 649.11 + l_____ TradeGothicLH-Extended 649.12 + l_____ Utopia-Regular 651.0 + l_____ Utopia-RegularSC 651.1 + l_____ UtopiaExp-Regular 651.2 + l_____ Utopia-Italic 651.3 + l_____ Utopia-ItalicOsF 651.4 + l_____ UtopiaExp-Italic 651.5 + l_____ Utopia-Semibold 651.6 + l_____ Utopia-SemiboldSC 651.7 + l_____ UtopiaExp-Semibold 651.8 + l_____ Utopia-SemiboldItalic 651.9 + l_____ Utopia-SemiboldItalicOsF 651.10 + l_____ UtopiaExp-SemiboldItalic 651.11 + l_____ Utopia-Bold 651.12 + l_____ Utopia-BoldOsF 651.13 + l_____ UtopiaExp-Bold 651.14 + l_____ Utopia-BoldItalic 651.15 + l_____ Utopia-BoldItalicOsF 651.16 + l_____ UtopiaExp-BoldItalic 651.17 + l_____ Utopia-Black 651.18 + l_____ Utopia-BlackOsF 651.19 + l_____ Utopia-BlackExpert 651.20 + l_____ Utopia-Headline 651.21 + l_____ Utopia-TitlingCapitals 651.22 + l_____ Utopia-Ornaments 651.23 + l_____ VenusMager 652.0 + l_____ VenusKursivMager 652.1 + l_____ VenusLinkskursiv 652.2 + l_____ VenusHalbfett 652.3 + l_____ VenusKursivHalbfett 652.4 + l_____ VenusEgypHalbfett 652.5 + l_____ VenusEgypHalbfettKurs 652.6 + l_____ VoltaEF-Regular 653.0 + l_____ VoltaEF-Medium 653.1 + l_____ VoltaEF-MediumItalic 653.2 + l_____ VoltaEF-Bold 653.3 + l_____ Weiss 654.0 + l_____ Weiss-Italic 654.1 + l_____ Weiss-Bold 654.2 + l_____ Weiss-ExtraBold 654.3 + l_____ WeissAntiquaEF-Regular 654.4 + l_____ WeissAntiquaEF-RegularItalic 654.5 + l_____ WeissAntiquaEF-Medium 654.6 + l_____ WeissAntiquaEF-Bold 654.7 + l_____ WeissAntiquaEF-ExtraBold 654.8 + l_____ WeissAntiquaEF-UltraBold 654.9 + l_____ WeissAntiquaEF-BoldCondensed 654.10 + l_____ WeissAntiquaEF-ExtraBoldCondensed 654.11 + l_____ Wilke-Roman 655.0 + l_____ Wilke-Italic 655.1 + l_____ Wilke-Bold 655.2 + l_____ Wilke-BoldItalic 655.3 + l_____ Wilke-Black 655.4 + l_____ Wilke-BlackItalic 655.5 + l_____ Woodstock 656.0 + l_____ Bellevue 657.0 + l_____ BinnerEF 658.0 + l_____ Boton-Light 659.0 + l_____ Boton-LightItalic 659.1 + l_____ Boton-Regular 659.2 + l_____ Boton-Italic 659.3 + l_____ Boton-Medium 659.4 + l_____ Boton-MediumItalic 659.5 + l_____ Boton-Bold 659.6 + l_____ Boton-BoldItalic 659.7 + l_____ AachenCE-Bold 9501.0 + l_____ AdHoc 9501.1 + l_____ AdHoc-Bis 9501.2 + l_____ AdHoc-SC 9501.3 + l_____ AdHoc-BisItalic 9501.4 + l_____ AdHoc-Italic 9501.5 + l_____ LinotypeAmelia 9501.8 + l_____ Andreas 9501.9 + l_____ BaskervilleClassico 9501.13 + l_____ BaskervilleClassico-Italic 9501.14 + l_____ BaskervilleClassico-BoldItalic 9501.15 + l_____ BaskervilleClassico-SC 9501.16 + l_____ BaskervilleClassico-Bold 9501.17 + l_____ LinotypeBecket 9501.18 + l_____ Bernhard-BoldCondensed 9501.19 + l_____ Birka 9501.20 + l_____ Birka-SC 9501.21 + l_____ Birka-SemiBoldItalic 9501.22 + l_____ Birka-SemiBold 9501.23 + l_____ Birka-BoldItalic 9501.24 + l_____ Birka-Italic 9501.25 + l_____ Birka-Bold 9501.26 + l_____ LinotypeBlackWhiteHeadline 9501.27 + l_____ LinotypeBlackWhiteOutline 9501.28 + l_____ LinotypeBlackWhiteLaserOutline 9501.29 + l_____ LinotypeBlackWhite 9501.30 + l_____ LinotypeBlackWhiteLaser 9501.31 + l_____ BodoniHE-Light 9501.32 + l_____ BodoniHE-LightItalic 9501.33 + l_____ BodoniHE-SemiBold 9501.34 + l_____ BodoniHE-SemiBoldItalic 9501.35 + l_____ BodoniHE-BookItalic 9501.36 + l_____ BodoniHE-Book 9501.37 + l_____ BodoniHE-Bold 9501.38 + l_____ BodoniHE-ExtraBold 9501.39 + l_____ BodoniHE-BoldItalic 9501.40 + l_____ BodoniHE-SemiBoldCondensedItalic 9501.41 + l_____ BodoniHE-SemiBoldCondensed 9501.42 + l_____ BodoniHE-BoldCondensedItalic 9501.43 + l_____ BodoniHE-BoldCondensed 9501.44 + l_____ BodoniHE-ExtraBoldItalic 9501.45 + l_____ BodoniClassico 9501.46 + l_____ BodoniClassico-BoldItalic 9501.47 + l_____ BodoniClassico-SC 9501.48 + l_____ BodoniClassico-Bold 9501.49 + l_____ BodoniClassico-Italic 9501.50 + l_____ Carniola 9501.52 + l_____ Carniola-Bold 9501.53 + l_____ Carniola-SemiBold 9501.54 + l_____ Carniola-SC 9501.55 + l_____ Carniola-SemiBoldItalic 9501.56 + l_____ Carniola-BoldItalic 9501.57 + l_____ Carniola-Italic 9501.58 + l_____ CaslonHE-Light 9501.59 + l_____ CaslonHE-LightItalic 9501.60 + l_____ CaslonHE-Italic 9501.61 + l_____ CaslonHE-Roman 9501.62 + l_____ CaslonClassico 9501.63 + l_____ CaslonClassico-Bold 9501.64 + l_____ CaslonClassico-SC 9501.65 + l_____ CaslonClassico-BoldItalic 9501.66 + l_____ CaslonClassico-Italic 9501.67 + l_____ Century-HandtooledBold 9501.68 + l_____ Century-HandtooledBoldItalic 9501.69 + l_____ NewCenturySchlbkCyr-Roman 9501.70 + l_____ NewCenturySchlbkCyr-Bold 9501.71 + l_____ NewCenturySchlbkCyr-Italic 9501.72 + l_____ NewCenturySchlbkCyr-BoldItalic 9501.73 + l_____ Cheltenham-HandtooledBd 9501.74 + l_____ Cheltenham-HandtooledBdIt 9501.75 + l_____ CloisterOpenFace 9501.76 + l_____ Linotype CMC-Seven 9501.77 + l_____ CooperBlackCE-Regualr 9501.78 + l_____ CooperBlackCE-Italic 9501.79 + l_____ CourierCyr 9501.80 + l_____ CourierCyr-Oblique 9501.81 + l_____ CourierCyr-BoldOblique 9501.82 + l_____ CourierCyr-Bold 9501.83 + l_____ LinotypeDavida 9501.84 + l_____ Devin 9501.95 + l_____ Devin-Bold 9501.96 + l_____ Devin-Italic 9501.97 + l_____ Devin-SemiBold 9501.98 + l_____ Devin-SC 9501.99 + l_____ Devin-SemiBoldItalic 9501.100 + l_____ Devin-BoldItalic 9501.101 + l_____ Dialog-Condensed 9501.102 + l_____ Dialog-SemiBoldSC 9501.103 + l_____ Dialog-LightSC 9501.104 + l_____ Dialog-ExtraBoldItalic 9501.105 + l_____ Dialog-ExtraBold 9501.106 + l_____ Dialog-SemiBoldItalic 9501.107 + l_____ Dialog-SemiBold 9501.108 + l_____ Dialog-LightItalic 9501.109 + l_____ Dialog-Light 9501.110 + l_____ Dialog-SC 9501.111 + l_____ Dialog-BoldItalic 9501.112 + l_____ Dialog-Bold 9501.113 + l_____ Dialog-Italic 9501.114 + l_____ Dialog 9501.115 + l_____ DialogCond-Bold 9501.116 + l_____ DialogCond-Italic 9501.117 + l_____ DialogCond-BoldItalic 9501.118 + l_____ DialogCond-SemiBoldItalic 9501.119 + l_____ DialogCond-SemiBold 9501.120 + l_____ DigiAntiqua-LightCondensed 9501.121 + l_____ DigiGrotesk-BoldCondensed 9501.122 + l_____ EmonaCond 9501.124 + l_____ EmonaCond-Bold 9501.125 + l_____ EmonaCond-BoldItalic 9501.126 + l_____ Emona-Bold 9501.127 + l_____ Emona-SemiBold 9501.128 + l_____ Emona-SC 9501.129 + l_____ Emona-SemiBoldItalic 9501.130 + l_____ Emona-Italic 9501.131 + l_____ Emona 9501.132 + l_____ EmonaCond-Italic 9501.133 + l_____ Emona-BoldItalic 9501.134 + l_____ EsperantoCond 9501.135 + l_____ Esperanto 9501.136 + l_____ Esperanto-Bold 9501.137 + l_____ Esperanto-SemiBold 9501.138 + l_____ Esperanto-SC 9501.139 + l_____ Esperanto-SemiBoldItalic 9501.140 + l_____ Esperanto-BoldItalic 9501.141 + l_____ Esperanto-Italic 9501.142 + l_____ EsperantoCond-SC 9501.143 + l_____ EsperantoCond-Bold 9501.144 + l_____ EsperantoCond-Italic 9501.145 + l_____ EsperantoCond-BoldItalic 9501.146 + l_____ ExcelsiorInsertio 9501.147 + l_____ F2FAlRetto 9501.148 + l_____ F2FBoneR-Book 9501.149 + l_____ F2FCzykagoSemiSerif 9501.150 + l_____ F2FLego-Stoned 9501.151 + l_____ F2FLovegrid 9501.152 + l_____ F2FMadame-Butterfly 9501.153 + l_____ F2FMadZine-Dirt 9501.154 + l_____ F2FMadZine-Script 9501.155 + l_____ F2FOCR-AlexczykShake 9501.156 + l_____ OCR-BczykNorm 9501.157 + l_____ OCR-BczykBold 9501.158 + l_____ F2FPrototipa-Multipla 9501.159 + l_____ F2FScreen-Scream 9501.160 + l_____ F2FShakkarakk 9501.161 + l_____ F2FShpeetz 9501.162 + l_____ F2FTagliatelle-Sugo 9501.163 + l_____ F2FTwins 9501.164 + l_____ F2FTyrell-Corp 9501.165 + l_____ Linotype FehrleDisplay 9501.166 + l_____ Fortuna 9501.167 + l_____ Fortuna-Bold 9501.168 + l_____ FranklinGothic-BookCmpr 9501.169 + l_____ FranklinGothic-DemiCmprItal 9501.170 + l_____ FranklinGothic-DemiXCmpr 9501.171 + l_____ FranklinGothic-BookXCmpr 9501.172 + l_____ FranklinGothic-DemiCndItal 9501.173 + l_____ FranklinGothic-DemiCnd 9501.174 + l_____ FranklinGothic-MediumCndItal 9501.175 + l_____ FranklinGothic-MediumCnd 9501.176 + l_____ FranklinGothic-BookCndItal 9501.177 + l_____ FranklinGothic-BookCnd 9501.178 + l_____ FranklinGothic-DemiCmpr 9501.179 + l_____ FranklinGothic-BookCmprItal 9501.180 + l_____ FreestyleScriptCE 9501.181 + l_____ FrutigerCE-LightItalic 9501.182 + l_____ FrutigerCE-Roman 9501.183 + l_____ FrutigerCE-Black 9501.184 + l_____ FrutigerCE-Italic 9501.185 + l_____ FrutigerCE-Light 9501.186 + l_____ FrutigerCE-UltraBlack 9501.187 + l_____ FrutigerCE-BlackItalic 9501.188 + l_____ FrutigerCE-BoldItalic 9501.189 + l_____ FrutigerCE-Bold 9501.190 + l_____ FuturaCE-Light 9501.191 + l_____ FuturaCE-Bold 9501.192 + l_____ FuturaCE-Medium 9501.193 + l_____ FuturaCE-BoldOblique 9501.194 + l_____ FuturaCE-LightOblique 9501.195 + l_____ FuturaCE-ExtraBoldOblique 9501.196 + l_____ FuturaCE-ExtraBold 9501.197 + l_____ FuturaCE-HeavyOblique 9501.198 + l_____ FuturaCE-Heavy 9501.199 + l_____ FuturaCE-MediumOblique 9501.200 + l_____ FuturaCE-BookOblique 9501.201 + l_____ FuturaCE-Book 9501.202 + l_____ Garamond-HandtooledBold 9501.206 + l_____ Garamond-HandtooledBoldItalic 9501.207 + l_____ GaramondClassico 9501.208 + l_____ GaramondClassico-BoldItalic 9501.209 + l_____ GaramondClassico-SC 9501.210 + l_____ GaramondClassico-Italic 9501.211 + l_____ GaramondClassico-Bold 9501.212 + l_____ GillSansCE-Light 9501.213 + l_____ GillSansCE-Roman 9501.214 + l_____ GillSansCE-Bold 9501.215 + l_____ GillSansCE-BoldItalic 9501.216 + l_____ GillSansCE-Italic 9501.217 + l_____ GillSansCE-LightItalic 9501.218 + l_____ GoudyModern94 9501.219 + l_____ GoudyModern94-Italic 9501.220 + l_____ GoudyModern94-Bold 9501.221 + l_____ GoudyModern94-BoldItalic 9501.222 + l_____ GoudyModern94-SC 9501.223 + l_____ GoudyVillage 9501.224 + l_____ GoudyVillage-SC 9501.225 + l_____ GoudyVillage-BoldItalic 9501.226 + l_____ GoudyVillage-Italic 9501.227 + l_____ GoudyVillage-Bold 9501.228 + l_____ GriffoClassico 9501.229 + l_____ GriffoClassico-Bold 9501.230 + l_____ GriffoClassico-BoldItalic 9501.231 + l_____ GriffoClassico-SC 9501.232 + l_____ GriffoClassico-Italic 9501.233 + l_____ HelveticaNeueCE-Light 9501.238 + l_____ HelveticaNeueCE-Black 9501.239 + l_____ HelveticaNeueCE-UltraLightIt 9501.240 + l_____ HelveticaNeueCE-BlackItalic 9501.241 + l_____ HelveticaNeueCE-Medium 9501.242 + l_____ HelveticaNeueCE-Heavy 9501.243 + l_____ HelveticaNeueCE-HeavyItalic 9501.244 + l_____ HelveticaNeueCE-UltraLight 9501.245 + l_____ HelveticaNeueCE-MediumItalic 9501.246 + l_____ HelveticaNeueCE-LightItalic 9501.247 + lpi___ Linotype HieroglyphsPi-One 9501.248 + lpi___ Linotype HieroglyphsPi-Two 9501.249 + l_____ Humana 9501.250 + l_____ Humana-SC 9501.251 + l_____ Isolde 9501.252 + l_____ Isolde-Italic 9501.253 + l_____ Isolde-BoldItalic 9501.254 + l_____ Isolde-SC 9501.255 + l_____ Isolde-Bold 9501.256 + l_____ JensonClassico 9501.257 + l_____ JensonClassico-Italic 9501.258 + l_____ JensonClassico-BoldItalic 9501.259 + l_____ JensonClassico-Bold 9501.260 + l_____ JensonClassico-SC 9501.261 + l_____ Jesper 9501.262 + l_____ Jonatan 9501.263 + l_____ Kalix 9501.264 + l_____ Kalix-SC 9501.265 + l_____ Kalix-Italic 9501.266 + l_____ Kalix-Bold 9501.267 + l_____ Kalix-BoldItalic 9501.268 + l_____ Kalix-SemiBoldItalic 9501.269 + l_____ Kalix-SemiBold 9501.270 + l_____ Kasper 9501.271 + lpi___ MacKeyCaps 9501.272 + l_____ KisClassico 9501.281 + l_____ KisClassico-BoldItalic 9501.282 + l_____ KisClassico-SC 9501.283 + l_____ KisClassico-Italic 9501.284 + l_____ KisClassico-Bold 9501.285 + lpi___ Linobats 9501.288 + l_____ LucidaTypewriter 9501.289 + l_____ LucidaSansTypewriter 9501.290 + l_____ LucidaSansTypewriter-Bd 9501.291 + l_____ LucidaSansTypewriter-BdObl 9501.292 + l_____ LucidaTypewriter-BoldObl 9501.293 + l_____ LucidaTypewriter-Bold 9501.294 + l_____ LucidaTypewriter-Obl 9501.295 + l_____ LucidaSansTypewriter-Obl 9501.296 + l_____ LinotypeLutherscheFraktur 9501.297 + l_____ LinotypeLutherscheFraktur-Dfr 9501.298 + l_____ Manuskript 9501.299 + l_____ Manuskript-BoldItalic 9501.300 + l_____ Manuskript-SC 9501.301 + l_____ Manuskript-Bold 9501.302 + l_____ Manuskript-Italic 9501.303 + l_____ MarcoPolo 9501.304 + l_____ MarcoPolo-SC 9501.305 + l_____ MarcoPolo-Italic 9501.306 + l_____ Memento 9501.307 + l_____ Memento-Italic 9501.308 + l_____ Memento-SemiBold 9501.309 + l_____ Memento-SemiBoldItalic 9501.310 + l_____ Memento-BoldItalic 9501.311 + l_____ Memento-Bold 9501.312 + l_____ Memento-SC 9501.313 + l_____ Miramar 9501.314 + l_____ Miramar-SC 9501.315 + l_____ Miramar-BoldItalic 9501.316 + l_____ Miramar-Bold 9501.317 + l_____ Miramar-Italic 9501.318 + l_____ Mojo 9501.319 + l_____ Monti-Roman 9501.320 + l_____ Monti-SemiBold 9501.321 + l_____ Napoleon-Light 9501.322 + l_____ Napoleon-Roman 9501.323 + l_____ Napoleon-Italic 9501.324 + l_____ Napoleon-Bold 9501.325 + l_____ Napoleon-BoldCondensed 9501.326 + l_____ Napoleon-SemiBold 9501.327 + l_____ Neuland 9501.328 + l_____ NormaCompr 9501.329 + l_____ NormaCompr-Bold 9501.330 + l_____ NormaCompr-Italic 9501.331 + l_____ NormaCompr-SC 9501.332 + l_____ NormaCond-Bold 9501.333 + l_____ NormaCond 9501.334 + l_____ Norma-SemiBoldItalic 9501.335 + l_____ Norma-SemiBold 9501.336 + l_____ Norma-BoldItalic 9501.337 + l_____ Norma-Bold 9501.338 + l_____ Norma-Italic 9501.339 + l_____ Norma 9501.340 + l_____ NormaCond-SC 9501.341 + l_____ NormaCond-Italic 9501.342 + l_____ Norma-SC 9501.343 + l_____ NormaCond-BoldItalic 9501.344 + l_____ NormaCompr-BoldItalic 9501.345 + l_____ Nyfors 9501.346 + l_____ OdenseCompr 9501.347 + l_____ OdenseCompr-Italic 9501.348 + l_____ OdenseCond-Bold 9501.349 + l_____ OdenseCond-Italic 9501.350 + l_____ OdenseCond-BoldItalic 9501.351 + l_____ Odense-Bold 9501.352 + l_____ Odense-Italic 9501.353 + l_____ Odense 9501.354 + l_____ Odense-SemiBoldSC 9501.355 + l_____ Odense-ExtraBoldItalic 9501.356 + l_____ Odense-ExtraBold 9501.357 + l_____ Odense-SemiBoldItalic 9501.358 + l_____ Odense-SemiBold 9501.359 + l_____ Odense-SC 9501.360 + l_____ Odense-BoldItalic 9501.361 + l_____ Odense-Neon 9501.362 + l_____ OdenseCond 9501.363 + l_____ Omnibus 9501.364 + l_____ Omnibus-Italic 9501.365 + l_____ Omnibus-BoldItali 9501.366 + l_____ Omnibus-SemiBoldItalic 9501.367 + l_____ Omnibus-SemiBold 9501.368 + l_____ Omnibus-SC 9501.369 + l_____ Omnibus-Bold 9501.370 + l_____ Ondine 9501.371 + l_____ Optima-Medium 9501.372 + l_____ Optima-DemiBoldItalic 9501.373 + l_____ Optima-BlackItalic 9501.374 + l_____ Optima-ExtraBlackItalic 9501.375 + l_____ Optima-ExtraBlack 9501.376 + l_____ Optima-Black 9501.377 + l_____ Optima-DemiBold 9501.378 + l_____ Optima-MediumItalic 9501.379 + l_____ Ouch 9501.380 + l_____ LinotypePaintIt 9501.381 + l_____ LinotypePaintIt-Black 9501.382 + l_____ Pax 9501.383 + l_____ Pax-SemiBoldItalic 9501.384 + l_____ Pax-SemiBold 9501.385 + l_____ PaxCond-SC 9501.386 + l_____ PaxCond-BoldItalic 9501.387 + l_____ PaxCond-Bold 9501.388 + l_____ PaxCond-Italic 9501.389 + l_____ PaxCond 9501.390 + l_____ Pax-SC 9501.391 + l_____ Pax-Italic 9501.392 + l_____ Pax-BoldItalic 9501.393 + l_____ Pax-Bold 9501.394 + l_____ PaxTwo 9501.395 + l_____ PaxTwo-Italic 9501.396 + l_____ PaxTwo-Bold 9501.397 + l_____ PaxTwo-SemiBold 9501.398 + l_____ PaxTwo-SC 9501.399 + l_____ PaxTwo-SemiBoldItalic 9501.400 + l_____ PaxTwo-BoldItalic 9501.401 + l_____ Persona 9501.402 + l_____ Pierrot 9501.403 + l_____ Ragnar 9501.406 + l_____ Ragnar-SC 9501.407 + l_____ Ragnar-SemiBoldItalic 9501.408 + l_____ Ragnar-Bold 9501.409 + l_____ Ragnar-BoldItalic 9501.410 + l_____ Ragnar-SemiBold 9501.411 + l_____ Ragnar-Italic 9501.412 + l_____ ResPublicaCond 9501.413 + l_____ ResPublica-Italic 9501.414 + l_____ ResPublica-BoldItalic 9501.415 + l_____ ResPublica-SC 9501.416 + l_____ ResPublica-Bold 9501.417 + l_____ ResPublica 9501.418 + l_____ ResPublicaCond-Italic 9501.419 + l_____ ResPublica-SemiBoldItalic 9501.420 + l_____ ResPublica-SemiBold 9501.421 + l_____ RevueCE 9501.422 + l_____ Rustika 9501.423 + l_____ Rustika-Bold 9501.424 + l_____ Rustika-BoldItalic 9501.425 + l_____ Rustika-Italic 9501.426 + l_____ Rustika-SC 9501.427 + l_____ SabonCE-Roman 9501.428 + l_____ SabonCE-Italic 9501.429 + l_____ SabonCE-BoldItalic 9501.430 + l_____ SabonCyr-Bold 9501.431 + l_____ SabonGreek-Roman 9501.432 + l_____ SabonGreek-Bold 9501.433 + l_____ SabonGreek-BoldItalic 9501.434 + l_____ SabonGreek-Italic 9501.435 + l_____ SabonCyr-Italic 9501.436 + l_____ SabonCyr-Roman 9501.437 + l_____ SabonCE-Bold 9501.438 + l_____ SabonCyr-BoldItalic 9501.439 + l_____ Saga 9501.440 + l_____ Saga-BoldItalic 9501.441 + l_____ Saga-SemiBold 9501.442 + l_____ Saga-SemiBoldItalic 9501.443 + l_____ Saga-SC 9501.444 + l_____ Saga-Bold 9501.445 + l_____ Saga-Italic 9501.446 + l_____ Linotype SallweyScript 9501.447 + l_____ SanMarcoCyr 9501.448 + l_____ Saphir 9501.449 + l_____ Semper 9501.456 + l_____ Semper-Italic 9501.457 + l_____ Semper-BoldItalic 9501.458 + l_____ Semper-SC 9501.459 + l_____ Semper-Bold 9501.460 + l_____ Shuriken-Boy 9501.461 + l_____ LinotypeSpitz-Light 9501.462 + l_____ LinotypeSpitz-Book 9501.463 + l_____ LinotypeSpitz-Black 9501.464 + l_____ LinotypeSpitz-Bold 9501.465 + l_____ LinotypeSpitz-Medium 9501.466 + l_____ StencilCyr 9501.467 + l_____ Tiemann-Light 9501.468 + l_____ Tiemann-Roman 9501.469 + l_____ Trajanus-Roman 9501.470 + l_____ Trajanus-Black 9501.471 + l_____ Trajanus-BlackItalic 9501.472 + l_____ Trajanus-BoldItalic 9501.473 + l_____ Trajanus-Italic 9501.474 + l_____ Trajanus-Bold 9501.475 + l_____ Transport 9501.476 + l_____ Transport-BoldItalic 9501.477 + l_____ Transport-Light 9501.478 + l_____ Transport-LightItalic 9501.479 + l_____ Transport-SC 9501.480 + l_____ Transport-LightSC 9501.481 + l_____ Transport-Bold 9501.482 + l_____ Transport-Italic 9501.483 + l_____ UniversCyr-Light 9501.484 + l_____ UniversCyr-LightOblique 9501.485 + l_____ UniversCyr 9501.486 + l_____ UniversCyr-Oblique 9501.487 + l_____ UniversCyr-Bold 9501.488 + l_____ UniversCyr-BoldOblique 9501.489 + l_____ UniversCyr-Black 9501.490 + l_____ UniversCyr-BlackOblique 9501.491 + l_____ UniversityRomanCE 9501.492 + l_____ UniversityCyr-Roman 9501.493 + l_____ Vega 9501.494 + l_____ Vega-Bold 9501.495 + l_____ Vega-SemiBold 9501.496 + l_____ Vega-SC 9501.497 + l_____ Vega-SemiBoldItalic 9501.498 + l_____ Vega-BoldItalic 9501.499 + l_____ Vega-Italic 9501.500 + l_____ WiesbadenSwingCyr-Roman 9501.501 + + +File: fontname.info, Node: Monotype fonts, Next: URW fonts, Prev: Linotype fonts, Up: Font name lists + +A.8 Monotype fonts +================== + +The `monotype.map' file has abbreviations for Monotype fonts. + + mapr8x ApolloMT-Expert MT 1001 ezexp___ + maprc8a ApolloMT-SC MT 1001 ezi_____ + mapri8x ApolloMT-ItalicExpert MT 1001 eziof___ + mapri8a ApolloMT-Italic MT 1001 ezixp___ + mapr8a ApolloMT MT 1001 ezr_____ + maprij8a ApolloMT-ItalicOsF MT 1001 ezrsc___ + maps8a ApolloMT-SemiBold MT 1001 ezsb____ + mapsj8a ApolloMT-SemiBoldOsF MT 1001 ezsbo___ + maps8x ApolloMT-SemiBoldExpert MT 1001 ezsbx___ + mnrrw8a NewBerolinaMT MT 1002 _n______ + mp1rw8a PalaceScriptMT MT 1002 _p______ + mp1sw8a PalaceScriptMT-SemiBold MT 1002 _psb____ + mahrw8a AshleyScriptMT MT 1002 le______ + mm1rw8a MonolineScriptMT MT 1002 on______ + mbvr8a BaskervilleMT MT 1003 bas_____ + mbvb8a BaskervilleMT-Bold MT 1003 basb____ + mbvbi8a BaskervilleMT-BoldItalic MT 1003 basbi___ + mbvri8a BaskervilleMT-Italic MT 1003 basi____ + mbvs8a BaskervilleMT-SemiBold MT 1003 bass____ + mbvsi8a BaskervilleMT-SemiBoldItalic MT 1003 bassi___ + mbbr8a Bembo MT 1004 bm______ + mbbb8a Bembo-Bold MT 1004 bmb_____ + mbbbi8a Bembo-BoldItalic MT 1004 bmbi____ + mbbri8a Bembo-Italic MT 1004 bmi_____ + mbbx8a Bembo-ExtraBold MT 1005 bmeb____ + mbbxi8a Bembo-ExtraBoldItalic MT 1005 bmebi___ + mbbs8a Bembo-SemiBold MT 1005 bmsb____ + mbbsi8a Bembo-SemiBoldItalic MT 1005 bmsbi___ + mdsrw8a DorchesterScriptMT MT 1006 dsscr___ + mp2rw8a PepitaMT MT 1006 epscr___ + mbfrw8a BiffoMT MT 1006 ifscr___ + mswbw8a SwingMT-Bold MT 1006 swib____ + ms2bw8a ScriptMT-Bold MT 1006 tbscr___ + mb1ri8a BladoMT-Italic MT 1007 blai____ + mpzr8a PoliphilusMT MT 1007 pol_____ + mvdr8a VanDijckMT MT 1007 van_____ + mvdri8a VanDijckMT-Italic MT 1007 vani____ + mbdr8a BodoniMT MT 1008 bod_____ + mbdb8a BodoniMT-Bold MT 1008 bodb____ + mbdbi8a BodoniMT-BoldItalic MT 1008 bodbi___ + mbdri8a BodoniMT-Italic MT 1008 bodi____ + mbdu8a BodoniMT-UltraBold MT 1009 bodu____ + mbdui8a BodoniMT-UltraBoldItalic MT 1009 bodui___ + mbdk8a BodoniMT-Book MT 1009 bodw____ + mbdki8a BodoniMT-BookItalic MT 1009 bodwi___ + moxr8a OnyxMT MT 1009 ox______ + mbdb8ac BodoniMT-CondensedBold MT 1010 bodc____ + mbdbi8ac BodoniMT-CondensedBoldItalic MT 1010 bodci___ + mbdc8a BodoniMT-Black MT 1010 bodk____ + mbdci8a BodoniMT-BlackItalic MT 1010 bodki___ + mb3r8a BraggadocioMT MT 1011 bra_____ + mfir8a FigaroMT MT 1011 fig_____ + mfer8a ForteMT MT 1011 for_____ + mklr8a KlangMT MT 1011 kla_____ + mc8b8a CalvertMT-Bold MT 1012 vtb_____ + mc8l8a CalvertMT-Light MT 1012 vtl_____ + mc8r8a CalvertMT MT 1012 vtrg____ + mcnb8a CenturyMT-Bold MT 1013 cenb____ + mcnbi8a CenturyMT-BoldItalic MT 1013 cenbi___ + mcnb8ax CenturyMT-Expanded MT 1013 cenx____ + mcnbi8ax CenturyMT-ExpandedItalic MT 1013 cenxi___ + mcubi8a CenturyOSMT-BoldItalic MT 1015 cobi____ + mcur8a CenturyOSMT MT 1015 cos_____ + mcub8a CenturyOSMT-Bold MT 1015 cosb____ + mcuri8a CenturyOSMT-Italic MT 1015 cosi____ + mcdr8a ClarendonMT MT 1016 cld_____ + meer8a EgyptianMT-Extended MT 1016 egyex___ + mnnr8a NewClarendonMT MT 1016 ncl_____ + mnnb8a NewClarendonMT-Bold MT 1016 nclb____ + mc6r8a ClarionMT MT 1017 cla_____ + mc6b8a ClarionMT-Bold MT 1017 clab____ + mc6ri8a ClarionMT-Italic MT 1017 clai____ + mcfb8a ClearfaceMT-Bold MT 1018 cleb____ + mcfbs8a ClearfaceGothicMT-Bold MT 1018 clgb____ + mcfds8a ClearfaceGothicMT-DemiBold MT 1018 clgdb___ + mcrr8a12 CourierTwelveMT MT 1019 cot_____ + mtyre8a TypewriterEliteMT MT 1019 tye_____ + mtyrg8a TypewriterGothicMT MT 1019 tyg_____ + mtyr8a TypewriterMT MT 1019 typ_____ + metr8a EhrhardtMT MT 1020 ehr_____ + metri8a EhrhardtMT-Italic MT 1020 ehri____ + mets8a EhrhardtMT-SemiBold MT 1020 ehrs____ + metsi8a EhrhardtMT-SemiBoldItalic MT 1020 ehrsi___ + menr8a EngraversMT MT 1021 eng_____ + menb8a EngraversMT-Bold MT 1021 engb____ + menrf8a EngraversOldEnglishMT MT 1021 engoe___ + mfsra8a FalstaffMT MT 1022 fprg____ + mhdr8a HeadlineMT-Bold MT 1022 head____ + mpdr8ac PlacardMT-Condensed MT 1022 plcc____ + mpdb8ac PlacardMT-CondensedBold MT 1022 plccb___ + mgmr8a GaramondMT MT 1023 gar_____ + mgmb8a GaramondMT-Bold MT 1023 garb____ + mgmbi8a GaramondMT-BoldItalic MT 1023 garbi___ + mgmri8a GaramondMT-Italic MT 1023 gari____ + mgmria8a GaramondMT-AlternativeItalic MT 1023 garit___ + mgsr8a GillSans MT 1024 gn______ + mgsb8a GillSans-Bold MT 1024 gnb_____ + mgsbi8a GillSans-BoldItalic MT 1024 gnbi____ + mgsri8a GillSans-Italic MT 1024 gni_____ + mgsl8a GillSans-Light MT 1024 gnl_____ + mgsli8a GillSans-LightItalic MT 1024 gnli____ + mgsb8ac GillSans-BoldCondensed MT 1025 gnbc____ + mgsr8ac GillSans-Condensed MT 1025 gnc_____ + mgsx8a GillSans-ExtraBold MT 1025 gneb____ + mgsu8a GillSans-UltraBold MT 1025 gnub____ + mgsu8ac GillSans-UltraBoldCondensed MT 1025 gnubc___ + mgrb8a GloucesMT-Bold MT 1026 glb_____ + mgrb8ac GloucesMT-CondBold MT 1026 glcb____ + mgrb8ax GloucesMT-ExtendedBold MT 1026 gleb____ + mgrb8aq GloucesMT-ExtraCondensedBold MT 1026 glecb___ + mgrr8a GloucesOldStyleMT MT 1026 glos____ + mg5r8a GoudyCatalogueMT MT 1027 goc_____ + mg5ri8a GoudyCatalogueMT-Italic MT 1027 goci____ + mgor8a GoudyOldStyleMT MT 1027 gos_____ + mgori8a GoudyOldStyleMT-Italic MT 1027 gosi____ + mgyb8a GoudyMT-Bold MT 1027 goub____ + mgybi8a GoudyMT-BoldItalic MT 1027 goubi___ + mg4r8a GoudyModernMT MT 1028 gom_____ + mg4ri8a GoudyModernMT-Italic MT 1028 gomi____ + mgyx8a GoudyMT-ExtraBold MT 1028 goueb___ + mgtr8a GoudyTextMT MT 1028 goutx___ + mgqr8a GrotesqueMT MT 1029 gq______ + mgqc8a GrotesqueMT-Black MT 1029 gqb_____ + mgqb8a GrotesqueMT-Bold MT 1029 gqbl____ + mgqri8a GrotesqueMT-Italic MT 1029 gqi_____ + mgql8a GrotesqueMT-Light MT 1029 gql_____ + mgqli8a GrotesqueMT-LightItalic MT 1029 gqli____ + mgqc8a GrotesqueMT-Black MT 1030 gqbl____ + mgqb8ax GrotesqueMT-BoldExtended MT 1030 gqbv____ + mgqr8ac GrotesqueMT-Condensed MT 1030 gqc_____ + mgqr8aq GrotesqueMT-ExtraCondensed MT 1030 gqec____ + mgql8ac GrotesqueMT-LightCondensed MT 1030 gqlc____ + miir8a ImprintMT MT 1032 im______ + miib8a ImprintMT-Bold MT 1032 imb_____ + miibi8a ImprintMT-BoldItalic MT 1032 imbi____ + miiri8a ImprintMT-Italic MT 1032 imi_____ + mifr8a InflexMT MT 1033 iqb_____ + moer8a OldEnglishTextMT MT 1033 mbbou___ + mosbl8a MonotOldStyleMT-BoldOutline MT 1033 old_____ + mior8a IonicMT MT 1034 ion_____ + miob8a IonicMT-Bold MT 1034 ionb____ + miori8a IonicMT-Italic MT 1034 ioni____ + misb8a ItalianOldStyleMT-Bold MT 1035 ieb_____ + misbi8a ItalianOldStyleMT-BoldItalic MT 1035 iebi____ + misri8a ItalianOldStyleMT-Italic MT 1035 iei_____ + misr8a ItalianOldStyleMT MT 1035 ierg____ + mmob8a ModernMT-Bold MT 1036 nmb_____ + mmobi8a ModernMT-BoldItalic MT 1036 nmbi____ + mmor8ax ModernMT-Extended MT 1036 nmex____ + mmori8ax ModernMT-ExtendedItalic MT 1036 nmexi___ + mnpr8a NewsPlantinMT MT 1038 npl_____ + mnpb8a NewsPlantinMT-Bold MT 1038 nplb____ + mnpbi8a NewsPlantinMT-BoldItalic MT 1038 nplbi___ + mnpri8a NewsPlantinMT-Italic MT 1038 npli____ + mosr8a OldStyleMT MT 1039 ost_____ + mosb8a OldStyleMT-Bold MT 1039 ostb____ + mosbi8a OldStyleMT-BoldItalic MT 1039 ostbi___ + mosri8a OldStyleMT-Italic MT 1039 osti____ + mpnr8a Plantin MT 1040 pl______ + mpnb8a Plantin-Bold MT 1040 plb_____ + mpnbi8a Plantin-BoldItalic MT 1040 plbi____ + mpnri8a Plantin-Italic MT 1040 pli_____ + mpnb8ac Plantin-BoldCondensed MT 1041 plbc____ + mpnl8a Plantin-Light MT 1041 pll_____ + mpnli8a Plantin-LightItalic MT 1041 plli____ + mpns8a Plantin-SemiBold MT 1041 plsb____ + mpnsi8a Plantin-SemiBoldItalic MT 1041 plsbi___ + mrwr8a Rockwell MT 1042 rk______ + mrwb8a Rockwell-Bold MT 1042 rkb_____ + mrwbi8a Rockwell-BoldItalic MT 1042 rkbi____ + mrwri8a Rockwell-Italic MT 1042 rki_____ + mrwl8a Rockwell-Light MT 1042 rkl_____ + mrwli8a Rockwell-LightItalic MT 1042 rkli____ + mrwb8ac Rockwell-BoldCondensed MT 1043 rkbc____ + mrwr8ac Rockwell-Condensed MT 1043 rkc_____ + mrwx8a Rockwell-ExtraBold MT 1043 rkeb____ + msbr8a SabonMT MT 1044 sab_____ + msbri8a SabonMT-Italic MT 1044 sabi____ + msbs8a SabonMT-SemiBold MT 1044 sabs____ + msbsi8a SabonMT-SemiBoldItalic MT 1044 sabsi___ + mntr8a TimesNRMT MT 1046 tim_____ + mntb8a TimesNRMT-Bold MT 1046 timb____ + mntbi8a TimesNRMT-BoldItalic MT 1046 timbi___ + mntri8a TimesNRMT-Italic MT 1046 timi____ + mntx8a TimesNRMT-ExtraBold MT 1047 timeb___ + mnts8a TimesNRMT-SemiBold MT 1047 tims____ + mntsi8a TimesNRMT-SemiBoldItalic MT 1047 timsi___ + mntb8ac TimesNewRomanMT-BoldCond MT 1048 mtbc____ + mntr8ac TimesNewRomanMT-Cond MT 1048 mtc_____ + mntri8ac TimesNewRomanMT-CondItalic MT 1048 mtci____ + mtwb8a TwCenMT-Bold MT 1049 tcb_____ + mtwbi8a TwCenMT-BoldItalic MT 1049 tcbi____ + mtwl8a TwCenMT-Light MT 1049 tcl_____ + mtwli8a TwCenMT-LightItalic MT 1049 tcli____ + mtwm8a TwCenMT-Medium MT 1049 tcm_____ + mtwmi8a TwCenMT-MediumItalic MT 1049 tcmi____ + mtwb8ac TwCenMT-CondensedBold MT 1050 tccb____ + mtwm8ac TwCenMT-CondensedMedium MT 1050 tccm____ + mtws8a TwCenMT-SemiBold MT 1050 tcsb____ + mtwsm8a TwCenMT-SemiMedium MT 1050 tcsm____ + mtwx8ac TwCenMT-CondensedExtraBold MT 1051 tcceb___ + mtwu8ac TwCenMT-CondensedUltraBold MT 1051 tccub___ + mtwxi8a TwCenMT-ExtraBoldItalic MT 1051 tcebi___ + mtwu8a TwCenMT-UltraBold MT 1051 tcub____ + mtwui8a TwCenMT-UltraBoldItalic MT 1051 tcubi___ + mtwx8a TwCenMT-ExtraBold MT 1051 tweb____ + mwbr8a WalbaumMT MT 1052 wl______ + mwbri8a WalbaumMT-Italic MT 1052 wli_____ + mwbm8a WalbaumMT-Medium MT 1052 wlm_____ + mwbmi8a WalbaumMT-MediumItalic MT 1052 wlmi____ + mnsb8a TimesNewRomanPS-Bold MT 1053 mtb_____ + mnsbi8a TimesNewRomanPS-BoldItalic MT 1053 mtbi____ + mnsri8a TimesNewRomanPS-Italic MT 1053 mti_____ + mnsr8a TimesNewRomanPS MT 1053 mtr_____ + ma1r8a ArialMT MT 1054 ari_____ + ma1b8a ArialMT-Bold MT 1054 ariab___ + ma1bi8a ArialMT-BoldItalic MT 1054 aribi___ + ma1ri8a ArialMT-Italic MT 1054 arii____ + ma1r8an ArialNarrowMT MT 1055 an______ + ma1b8an ArialNarrowMT-Bold MT 1055 anb_____ + ma1ri8an ArialNarrowMT-BoldItalic MT 1055 anbi____ + ma1bi8an ArialNarrowMT-Italic MT 1055 ani_____ + mcrr8a CourierPS MT 1058 cr______ + mcrb8a CourierPS-Bold MT 1058 crb_____ + mcrbi8a CourierPS-BoldItalic MT 1058 crbi____ + mcrri8a CourierPS-Italic MT 1058 cri_____ + msyr SymbolPS MT 1058 syps____ + mnir8a NimrodMT MT 1061 nim_____ + mnib8a NimrodMT-Bold MT 1061 nimb____ + mnibi8a NimrodMT-BoldItalic MT 1061 nimbi___ + mniri8a NimrodMT-Italic MT 1061 nimi____ + ma1ci8a ArialMT-BlackItalic MT 1064 arbli___ + ma1c8a ArialMT-Black MT 1064 aribl___ + ma1l8a ArialMT-Light MT 1064 aril____ + ma1li8a ArialMT-LightItalic MT 1064 arili___ + mburw8a BrushScriptMT MT 1071 ________ + mi0rw8a CommercialScriptMT MT 1071 ________ + mr5rw8a FrenchScriptMT MT 1071 ________ + motb8a CoronetMT-Bold MT 1071 corb____ + mmebw8a MercuriusMT-BoldScript MT 1071 uzbs____ + mppb8a Perpetua-Bold MT 1072 ptb_____ + mppbi8a Perpetua-BoldItalic MT 1072 ptbi____ + mppri8a Perpetua-Italic MT 1072 pti_____ + mppr8a Perpetua MT 1072 ptrg____ + mair8ac AbadiMT-Condensed MT 1074 abac____ + maib8ac AbadiMT-CondensedBold MT 1074 abacb___ + maix8ac AbadiMT-CondensedExtraBold MT 1074 abace___ + mail8ac AbadiMT-CondensedLight MT 1074 abacl___ + mtlr8a CastellerMT MT 1075 el______ + malr8a AlbertusMT MT 1075 lr______ + malri8a AlbertusMT-Italic MT 1075 lri_____ + mall8a AlbertusMT-Light MT 1075 lrl_____ + ma1x8a ArialMT-ExtraBold MT 1076 arie____ + ma1xi8a ArialMT-ExtraBoldItalic MT 1076 ariei___ + ma1m8a ArialMT-Medium MT 1076 arim____ + ma1mi8a ArialMT-MediumItalic MT 1076 arimi___ + ma1r8ac ArialMT-Condensed MT 1077 aric____ + ma1b8ac ArialMT-CondensedBold MT 1077 aricb___ + ma1x8ac ArialMT-CondensedExtraBold MT 1077 arice___ + ma1l8ac ArialMT-CondensedLight MT 1077 aricl___ + mbvr8x BskvillExpMT MT 1078 bay_____ + mbvb8x BskvillExpMT-Bold MT 1078 bayb____ + mbvbi8x BskvillExpMT-BoldItalic MT 1078 baybi___ + mbvri8x BskvillExpMT-Italic MT 1078 bayi____ + mbvs8x BskvillExpMT-SemiBold MT 1078 bays____ + mbvsi8x BskvillExpMT-SemiBoldItal MT 1078 baysi___ + mber8a BellMT MT 1079 bl______ + mbeb8a BellMT-Bold MT 1079 blb_____ + mbebi8a BellMT-BoldItalic MT 1079 blbi____ + mberi8a BellMT-Italic MT 1079 bli_____ + mbes8a BellMT-SemiBold MT 1079 bls_____ + mbesi8a BellMT-SemiBoldItalic MT 1079 blsi____ + mbbr7a Bembo-Alt MT 1080 bea_____ + mbbb7a Bembo-AltBold MT 1080 beab____ + mbbbi7a Bembo-AltBoldItalic MT 1080 beabi___ + mbbri7a Bembo-AltItalic MT 1080 beai____ + mbbb8x BemboExpert-Bold MT 1080 bey_____ + mbbbi8x BemboExpert-BoldItalic MT 1080 beyb____ + mbbri8x BemboExpert-Italic MT 1080 beybi___ + mbbr8x BemboExpert-Roman MT 1080 beyi____ + mbbx7a Bembo-AltExtraBold MT 1081 beae____ + mbbs7a Bembo-AltSemiBold MT 1081 beas____ + mbbsi7a Bembo-AltSemiBoldItalic MT 1081 beasi___ + mbbx8x BemboExpert-ExtraBold MT 1081 beye____ + mbbxi8x BemboExpert-ExtraBoldItalic MT 1081 beyei___ + mbbs8x BemboExpert-SemiBold MT 1081 beys____ + mbbsi8x BemboExpert-SemiBoldItalic MT 1081 beysi___ + mbnr8ac BernardMT-Condensed MT 1082 berc____ + mc7b8a CompactaMT-Bold MT 1082 comb____ + mnkr8a NeographikMT MT 1082 neo_____ + mrur8ac RunicMT-Condensed MT 1082 runc____ + metr8x EhrhardtExptMT MT 1083 ehy_____ + metri8x EhrhardtExptMT-Italic MT 1083 ehyi____ + mets8x EhrhardtExptMT-SemiBold MT 1083 ehys____ + metsi8x EhrhardtExptMT-SemiBoldItal MT 1083 ehysi___ + mjnr8a JansonMT MT 1085 jan_____ + mjnb8a JansonMT-Bold MT 1085 janb____ + mjnbi8a JansonMT-BoldItalic MT 1085 janbi___ + mjnri8a JansonMT-Italic MT 1085 jani____ + mppr8x Perpetua-Expert MT 1087 pey_____ + mpprc8a Perpetua-SC MT 1087 ptsc____ + mpnbi8x PlantinExp-BoldItalic MT 1088 plbiy___ + mpnb8x PlantinExp-Bold MT 1088 plby____ + mpnri8x PlantinExp-Italic MT 1088 pliy____ + mpnr8x PlantinExp MT 1088 ply_____ + mpnra8x PlantinExp-AltFigures MT 1089 plya____ + mpnl8x PlantinExp-Light MT 1089 plyl____ + mpnli8x PlantinExp-LightItalic MT 1089 plyli___ + mpns8x PlantinExp-SemiBold MT 1089 plys____ + mpnsi8x PlantinExp-SemiBoldItalic MT 1089 plysi___ + zmsnr34 Spartan-ThreeFourMT MT 1091 spf_____ + zmsnr12 Spartan-OneTwoMT MT 1091 spo_____ + zmsnr4 Spartan-FourMT MT 1091 spr_____ + zmsnr13 Spartan-OneThreeMT MT 1091 spt_____ + zmsnr24 Spartan-TwoFourMT MT 1091 spw_____ + zmsnb34 Spartan-ThreeFourMT-Bold MT 1092 spfb____ + zmsnb12 Spartan-OneTwoMT-Bold MT 1092 spob____ + zmsnb4 Spartan-FourMT-Bold MT 1092 sprb____ + zmsnb13 Spartan-OneThreeMT-Bold MT 1092 sptb____ + zmsnb24 Spartan-TwoFourMT-Bold MT 1092 spwb____ + zmsnri34 Spartan-ThreeFourMT-Italic MT 1093 spfi____ + zmsnri12 Spartan-OneTwoMT-Italic MT 1093 spoi____ + zmsnri4 Spartan-FourMT-Italic MT 1093 spri____ + zmsnri13 Spartan-OneThreeMT-Italic MT 1093 spti____ + zmsnri24 Spartan-TwoFourMT-Italic MT 1093 spwi____ + mntm8a TimesNRMT-Medium MT 1094 timm____ + mntmi8a TimesNRMT-MediumItalic MT 1094 timmi___ + mtmrg8a TimesSmallTextMT MT 1094 tst_____ + mtmbg8a TimesSmallTextMT-Bold MT 1094 tstb____ + mtmrig8a TimesSmallTextMT-Italic MT 1094 tsti____ + melr8a EllingtonMT MT 1095 ei______ + melb8a EllingtonMT-Bold MT 1095 eib_____ + melbi8a EllingtonMT-BoldItalic MT 1095 eibi____ + melx8a EllingtonMT-ExtraBold MT 1095 eieb____ + melxi8a EllingtonMT-ExtraBoldItalic MT 1095 eiebi___ + melri8a EllingtonMT-Italic MT 1095 eii_____ + mell8a EllingtonMT-Light MT 1095 eil_____ + melli8a EllingtonMT-LightItalic MT 1095 eili____ + mntr8x TimesNRExpertMT MT 1096 tiy_____ + mntb8x TimesNRExpertMT-Bold MT 1096 tiyb____ + mntbi8x TimesNRExpertMT-BoldItalic MT 1096 tiybi___ + mntri8x TimesNRExpertMT-Italic MT 1096 tiyi____ + mair8a AbadiMT MT 1098 aba_____ + maib8a AbadiMT-Bold MT 1098 abab____ + maibi8a AbadiMT-BoldItalic MT 1098 ababi___ + mairi8a AbadiMT-Italic MT 1098 abai____ + maij8a AbadiMT-ExtraLight MT 1098 abel____ + maiji8a AbadiMT-ExtraLightItalic MT 1098 abeli___ + mail8a AbadiMT-Light MT 1099 abal____ + maili8a AbadiMT-LightItalic MT 1099 abali___ + maix8a AbadiMT-ExtraBold MT 1099 abeb____ + maixi8a AbadiMT-ExtraBoldItalic MT 1099 abebi___ + mntrk TimesNRDualGreekMT MT 1100 td______ + mntbk TimesNRDualGreekMT-Bold MT 1100 tdb_____ + mntbik TimesNRDualGreekMT-BoldIncl MT 1100 tdbi____ + mntrik TimesNRDualGreekMT-Inclined MT 1100 tdi_____ + mgmrwd8a GaramondMT-SwashCaps MT 1101 garsc___ + mgmrw8a GaramondMT-Swash MT 1101 gasw____ + mgmr8x GaramondExpertMT MT 1101 gay_____ + mgmb8x GaramondExpertMT-Bold MT 1101 gayb____ + mgmbi8x GaramondExpertMT-BoldItalic MT 1101 gaybi___ + mgmri8x GaramondExpertMT-Italic MT 1101 gayi____ + mb2r8a BinnyOldStyleMT MT 1102 bin_____ + mb2ri8a BinnyOldStyleMT-Italic MT 1102 bini____ + murb8a CentaurMT-Bold MT 1103 nrb_____ + murbi8a CentaurMT-BoldItalic MT 1103 nrbi____ + murri8a CentaurMT-Italic MT 1103 nri_____ + murr8a CentaurMT MT 1103 nrr_____ + murd8a CentaurFestiveMT-Italic + mc1r8a CalistoMT MT 1104 cto_____ + mc1b8a CalistoMT-Bold MT 1104 ctob____ + mc1bi8a CalistoMT-BoldItalic MT 1104 ctobi___ + mc1ri8a CalistoMT-Italic MT 1104 ctoi____ + mr2b8a CantoriaMT-Bold MT 1105 eob_____ + mr2bi8a CantoriaMT-BoldItalic MT 1105 eobi____ + mr2ri8a CantoriaMT-Italic MT 1105 eoi_____ + mr2r8a CantoriaMT MT 1105 eorg____ + mr2x8a CantoriaMT-ExtraBold MT 1106 eoeb____ + mr2xi8a CantoriaMT-ExtraBoldItalic MT 1106 eoebi___ + mr2l8a CantoriaMT-Light MT 1106 eol_____ + mr2li8a CantoriaMT-LightItalic MT 1106 eoli____ + mr2s8a CantoriaMT-SemiBold MT 1106 eosb____ + mr2si8a CantoriaMT-SemiBoldItalic MT 1106 eosbi___ + mfxr8a FelixTitlingMT MT 1107 felt____ + mpprd8a PerpetuaTitlingMT MT 1107 pert____ + mppbd8a PerpetuaTitlingMT-Bold MT 1107 pertb___ + mppld8a PerpetuaTitlingMT-Light MT 1107 pertl___ + mf4r8a FootlightMT MT 1108 ft______ + mf4b8a FootlightMT-Bold MT 1108 ftb_____ + mf4bi8a FootlightMT-BoldItalic MT 1108 ftbi____ + mf4ri8a FootlightMT-Italic MT 1108 fti_____ + mf4x8a FootlightMT-ExtraBold MT 1109 fteb____ + mf4xi8a FootlightMT-ExtraBoldItalic MT 1109 ftebi___ + mf4l8a FootlightMT-Light MT 1109 ftl_____ + mf4li8a FootlightMT-LightItalic MT 1109 ftli____ + mjnr8x JansonExpertMT MT 1111 jny_____ + mjnb8x JansonExpertMT-Bold MT 1111 jnyb____ + mjnbi8x JansonExpertMT-BoldItalic MT 1111 jnybi___ + mjnri8x JansonExpertMT-Italic MT 1111 jnyi____ + mf3rd8a FestivalTitlingMT MT 1112 fst_____ + mknr8a KinoMT MT 1112 kin_____ + mm7r8a MaturaMT MT 1112 mat_____ + mm7rw7a MaturaMT-ScriptCapitals MT 1112 matsc___ + mvird8ac VictoriaTitlingMT-Condensed MT 1112 vict____ + mztr8a ZeitgeistMT MT 1115 zei_____ + mztr7a ZeitgeistMT-Alternative MT 1115 zeial___ + zmztcm8x ZeitgeistExpertMT-Cameo MT 1115 zeiay___ + mztb8a ZeitgeistMT-Bold MT 1115 zeib____ + mztb8x ZeitgeistExpertMT-Bold MT 1115 zeiby___ + mztr8ac ZeitgeistMT-Condensed MT 1115 zeic____ + zmztcm8a ZeitgeistMT-Cameo MT 1115 zeica___ + zmztcz8a ZeitgeistMT-CrazyPaving MT 1115 zeicp___ + mztr8xc ZeitgeistExpertMT-Condensed MT 1115 zeicy___ + mztri8a ZeitgeistMT-Italic MT 1115 zeii____ + mztri8x ZeitgeistExpertMT-Italic MT 1115 zeiiy___ + mztr8x ZeitgeistExpertMT MT 1115 zeiy____ + murriw7a CentaurSwashMT MT 1116 censw___ + murr7a CentaurMT-Alt MT 1116 cta_____ + murb7a CentaurMT-AltBold MT 1116 ctab____ + murbi7a CentaurMT-AltBoldItalic MT 1116 ctabi___ + murri7a CentaurMT-AltItalic MT 1116 ctai____ + murb8x CentaurExpertMT-Bold MT 1116 ctbiy___ + murbi8x CentaurExpertMT-BoldItalic MT 1116 ctrby___ + murri8x CentaurExpertMT-Italic MT 1116 ctriy___ + murr8x CentaurExpertMT MT 1116 ctry____ + molr8a ColmcilleMT MT 1117 cm______ + molr7a ColmcilleAltMT MT 1117 cma_____ + molb7a ColmcilleAltMT-Bold MT 1117 cmab____ + molbi7a ColmcilleAltMT-BoldItalic MT 1117 cmabi___ + molri7a ColmcilleAltMT-Italic MT 1117 cmai____ + molb8a ColmcilleMT-Bold MT 1117 cmb_____ + molbi8a ColmcilleMT-BoldItalic MT 1117 cmbi____ + molri8a ColmcilleMT-Italic MT 1117 cmi_____ + molrp ColmcilleOrnamentsMT MT 1117 cmo_____ + mntr8a7 TimesNRSevenMT MT 1118 sv______ + mntb8a7 TimesNRSevenMT-Bold MT 1118 svb_____ + mntbi8a7 TimesNRSevenMT-BoldItalic MT 1118 svbi____ + mntri8a7 TimesNRSevenMT-Italic MT 1118 svi_____ + mo3r8a ColonnaMT MT 1119 colo____ + miirh8a ImprintMT-Shadow MT 1119 is______ + miirih8a ImprintMT-ShadowItalic MT 1119 isi_____ + ma2r8a AmasisMT MT 1120 ama_____ + ma2b8a AmasisMT-Bold MT 1120 amab____ + ma2bi8a AmasisMT-BoldItalic MT 1120 amabi___ + ma2ri8a AmasisMT-Italic MT 1120 amai____ + ma2c8a AmasisMT-Black MT 1121 amabl___ + ma2l8a AmasisMT-Light MT 1121 amal____ + ma2li8a AmasisMT-LightItalic MT 1121 amali___ + ma2m8a AmasisMT-Medium MT 1121 amam____ + ma2mi8a AmasisMT-MediumItalic MT 1121 amami___ + ma2ci8a AmasisMT-BlackItalic MT 1121 ambli___ + msbrij8a SabonMT-ItalicOSF MT 1124 saboi___ + msbsj8a SabonMT-SemiBoldOSF MT 1124 sabos___ + msbrc8a SabonMT-SCOSF MT 1124 sabsc___ + msbsij8a SabonMT-SemiBoldItalicOSF MT 1124 sasio___ + mb1ri8x BladoExpertMT-Italic MT 1125 blaiy___ + mpzr8x PoliphilusExpertMT MT 1125 poly____ + mvdra8x VanDijckExpertMT-AltFigs MT 1125 vana____ + mvdria8x VanDijckExpertMT-AltFigsIta MT 1125 vanai___ + mvdr8x VanDijckExpertMT MT 1125 vany____ + mvdri8x VanDijckExpertMT-Italic MT 1125 vanyi___ + mber7a BellMT-Alt MT 1126 blt_____ + mberi7a BellMT-AltItalic MT 1126 blti____ + mbes7a BellMT-AltSemiBold MT 1126 blts____ + mbesi7a BellMT-AltSemiBoldItalic MT 1126 bltsi___ + mber8x BellExpertMT MT 1126 bly_____ + mbera8x BellExpertMT-Alt MT 1126 blya____ + mbesa8x BellExpertMT-AltSemiBold MT 1126 blyas___ + mbeb8x BellExpertMT-Bold MT 1126 blyb____ + mbebi8x BellExpertMT-BoldItalic MT 1126 blybi___ + mberi8x BellExpertMT-Italic MT 1126 blyi____ + mbes8x BellExpertMT-SemiBold MT 1126 blys____ + mbesi8x BellExpertMT-SemiBoldItalic MT 1126 blysi___ + mgsx8ac GillSansMT-ExCondensedBold MT 1133 gsecb___ + mgslh8a GillSansShadowedMT-Light MT 1133 gsls____ + mgsrh8a GillSansMT-Shadow MT 1133 gss_____ + mgsra8a GillAltOneMT MT 1134 gla_____ + mgsba8a GillAltOneMT-Bold MT 1134 glab____ + mgsbia8a GillAltOneMT-BoldItalic MT 1134 glabi___ + mgsria8a GillAltOneMT-Italic MT 1134 glai____ + mgsla8a GillAltOneMT-Light MT 1134 glal____ + mgslia8a GillAltOneMT-LightItalic MT 1134 glali___ + mdtr8a DanteMT MT 1149 dn______ + mdtb8a DanteMT-Bold MT 1149 dnb_____ + mdtbi8a DanteMT-BoldItalic MT 1149 dnbi____ + mdtri8a DanteMT-Italic MT 1149 dni_____ + mdtm8a DanteMT-Medium MT 1149 dnm_____ + mdtmi8a DanteMT-MediumItalic MT 1149 dnmi____ + mdtr7a DanteMT-Alt MT 1150 dna_____ + mdtb7a DanteMT-AltBold MT 1150 dnab____ + mdtbi7a DanteMT-AltBoldItalic MT 1150 dnabi___ + mdtri7a DanteMT-AltItalic MT 1150 dnai____ + mdtm7a DanteMT-AltMedium MT 1150 dnam____ + mdtmi7a DanteMT-AltMediumItalic MT 1150 dnami___ + mdtr8x DanteExpertMT MT 1150 dne_____ + mdtb8x DanteExpertMT-Bold MT 1150 dneb____ + mdtbi8x DanteExpertMT-BoldItalic MT 1150 dnebi___ + mdtri8x DanteExpertMT-Italic MT 1150 dnei____ + mdtm8x DanteExpertMT-Medium MT 1150 dnem____ + mdtmi8x DanteExpertMT-MediumItalic MT 1150 dnemi___ + mdtrd8a DanteTitlingMT MT 1150 dnt_____ + maqr8a BookAntiqua MT 1152 bk______ + maqb8a BookAntiqua-Bold MT 1152 bkb_____ + maqbi8a BookAntiqua-BoldItalic MT 1152 bkbi____ + maqri8a BookAntiqua-Italic MT 1152 bki_____ + mkor8a BookmanOldStyle MT 1153 bd______ + mkob8a BookmanOldStyle-Bold MT 1153 bdb_____ + mkobi8a BookmanOldStyle-BoldItalic MT 1153 bdbi____ + mkori8a BookmanOldStyle-Italic MT 1153 bdi_____ + mygr8a CenturyGothic MT 1154 cg______ + mygb8a CenturyGothic-Bold MT 1154 cgb_____ + mygbi8a CenturyGothic-BoldItalic MT 1154 cgbi____ + mygri8a CenturyGothic-Italic MT 1154 cgi_____ + mcsr8a CenturySchoolbook MT 1155 cb______ + mcsb8a CenturySchoolbook-Bold MT 1155 cbb_____ + mcsbi8a CenturySchoolbook-BoldItalic MT 1155 cbbi____ + mcsri8a CenturySchoolbook-Italic MT 1155 cbi_____ + mzcmi8a MonotypeCorsiva MT 1156 mci_____ + mzdr MonotypeSorts MT 1156 ms______ + mpi001 ArabesqueOrnamentsOneMT MT 1157 araba___ + mpi002 ArabesqueOrnamentsTwoMT MT 1157 arabb___ + mpi003 ArabesqueOrnamentsThreeMT MT 1157 arabc___ + mpi004 RococoOrnamentsOneMT MT 1157 rcoa____ + mpi005 RococoOrnamentsTwoMT MT 1157 rcob____ + mpi006 RococoOrnamentsThreeMT MT 1157 rcoc____ + mgtr7a GoudyTextMT-Alternative MT 1181 gouta___ + mgtr7c GoudyTextMT-Dfr MT 1181 goutd___ + mgtrd8a GoudyTextMT-LombardicCapitals MT 1181 goutl___ + mgtr8a GoudyTextMT MT 1181 goutx___ + mlir8ac LatinCondensedMT MT 1182 lnc_____ + moxr8a OnyxMT MT 1182 ox______ + mrur8ac RunicMT-Condensed MT 1182 ric_____ + mpi007 ChristmasOrnamentsMT-One MT 1183 chra____ + mpi008 ChristmasOrnamentsMT-Two MT 1183 chrb____ + mpi009 ChristmasOrnamentsMT-Three MT 1183 chrc____ + mpi010 ChristmasOrnamentsMT-Four MT 1183 chrd____ + mpi011 ChristmasOrnamentsMT-Five MT 1183 chre____ + mpi012 ChristmasOrnamentsMT-Six MT 1183 chrf____ + mpi013 ContemporaryOrnMT-One MT 1183 cora____ + mpi014 ContemporaryOrnMT-Two MT 1183 corb____ + mpi015 ContemporaryOrnMT-Three MT 1183 corc____ + mpi016 ContemporaryOrnMT-Four MT 1183 cord____ + mpi017 ContemporaryOrnMT-Five MT 1183 core____ + mntr9s TimesNewRomanSF MT 1194 tsf_____ + mntb9s TimesNewRomanSF-Bold MT 1194 tsfb____ + mntbi9s TimesNewRomanSF-BoldItalic MT 1194 tsfbi___ + mntri9s TimesNewRomanSF-Italic MT 1194 tsfi____ + mu0rp1 ColumbusOrnamentsOneMT MT 1196 cuora___ + mu0rp2 ColumbusOrnamentsTwoMT MT 1196 cuorb___ + mu0r8x ColumbusExpMT MT 1196 cuy_____ + mu0b8x ColumbusExpMT-Bold MT 1196 cuyb____ + mu0bi8x ColumbusExpMT-BoldItalic MT 1196 cuybi___ + mu0ri8x ColumbusExpMT-Italic MT 1196 cuyi____ + mu0s8x ColumbusExpMT-SemiBold MT 1196 cuys____ + mu0si8x ColumbusExpMT-SemiBoldItal MT 1196 cuysi___ + ma1rz ArialCyrMT MT 1205 ac______ + ma1bz ArialCyrMT-Bold MT 1205 acb_____ + ma1biz ArialCyrMT-BoldInclined MT 1205 acbi____ + ma1riz ArialCyrMT-Inclined MT 1205 aci_____ + mcrrz CourierCyr MT 1206 cc______ + mcrbz CourierCyr-Bold MT 1206 ccb_____ + mcrbiz CourierCyr-BoldInclined MT 1206 ccbi____ + mcrriz CourierCyr-Inclined MT 1206 cci_____ + mntrz TimesNRomCyrMT MT 1207 trc_____ + mntbz TimesNRomCyrMT-Bold MT 1207 trcb____ + mntbiz TimesNRomCyrMT-BoldInclined MT 1207 trcbi___ + mntriz TimesNRomCyrMT-Inclined MT 1207 trci____ + mgsbd8a GillSansDisplayMT-Bold MT 1209 gdb_____ + mgsbd8ac GillSansDisplayMT-CondBold MT 1209 gdcb____ + mgsbd8ax GillSansDisplayMT-ExtraBold MT 1209 gdeb____ + mg4ri8a GoudyModernMT-Italic MT 1210 ygi_____ + mg4r8a GoudyModernMT MT 1210 ygrg____ + ms1ri8a ScotchRomanMT-Italic MT 1210 ysi_____ + ms1r8a ScotchRomanMT MT 1210 ysrg____ + mfsr8a FalstaffMT MT 1211 fprg____ + mifb8a InflexMT-Bold MT 1211 iqb_____ + mm8bl8a MonotypeOldStyleMT-BoldOut MT 1211 mbbou___ + mfer8a ForteMT MT 1212 fz______ + mklr8a KlangMT MT 1212 kn______ + mmebw8a MercuriusMT-BoldScript MT 1212 uzbs____ + mjox8a JoannaMT-ExtraBold MT 1213 joae____ + mjob8a JoannaMT-Bold MT 1213 job_____ + mjobi8a JoannaMT-BoldItalic MT 1213 jobi____ + mjori8a JoannaMT-Italic MT 1213 joi_____ + mjor8a JoannaMT MT 1213 jor_____ + mjos8a JoannaMT-SemiBold MT 1213 josb____ + mjosi8a JoannaMT-SemiBoldItalic MT 1213 josbi___ + mphb8a PhotinaMT-Bold MT 1214 phb_____ + mphbi8a PhotinaMT-BoldItalic MT 1214 phbi____ + mphri8a PhotinaMT-Italic MT 1214 phi_____ + mphr8a PhotinaMT MT 1214 phrg____ + mphs8a PhotinaMT-SemiBold MT 1214 phsb____ + mphsi8a PhotinaMT-SemiBoldItalic MT 1214 phsbi___ + mphu8a PhotinaMT-UltraBold MT 1214 phub____ + mphui8a PhotinaMT-UltraBoldItalic MT 1214 phubi___ + msmr8x SpectrumMT-Expert MT 1215 ekexp___ + msmri8a SpectrumMT-Italic MT 1215 eki_____ + msmrij8a SpectrumMT-ItalicOsF MT 1215 ekio____ + msmri8x SpectrumMT-ItalicExpert MT 1215 ekixp___ + msmr8a SpectrumMT MT 1215 ekrg____ + msms8a SpectrumMT-SemiBold MT 1215 eksb____ + msmsj8a SpectrumMT-SemiBoldOsF MT 1215 eksbo___ + msms8x SpectrumMT-SemiBoldExpert MT 1215 eksbx___ + msmrc8a SpectrumMT-SC MT 1215 eksc____ + mhrr8a ArialRoundedMT MT 1216 arr_____ + mhrb8a ArialRoundedMT-Bold MT 1216 arrb____ + mhrx8a ArialRoundedMT-ExtraBold MT 1216 arreb___ + mhrl8a ArialRoundedMT-Light MT 1216 arrl____ + mpi101 AlmanacMT MT 1222 pia_____ + mpi102 BotanicalMT MT 1222 pib_____ + mpi103 DirectionsMT MT 1222 pie_____ + mpi104 SportsOneMT MT 1222 pif_____ + mpi105 SportsTwoMT MT 1222 pig_____ + mpi106 TransportMT MT 1222 pij_____ + mpi107 VacationMT MT 1222 pik_____ + mpi201 CircleFrameMT MT 1222 pic_____ + mpi202 CircleFrameNegMT MT 1222 pid_____ + mpi203 SquareFrameMT MT 1222 pih_____ + mpi204 SquareFrameNegMT MT 1222 pii_____ + m_____ PastonchiMT-RegularAlt MT 1223 pna_____ + m_____ PastonchiMT-Italic MT 1223 pni_____ + m_____ PastonchiMT-ItalicOsF MT 1223 pnosi___ + m_____ PastonchiMT-Regular MT 1223 pnr_____ + m_____ PastonchiMT-RegularSC MT 1223 pnsc____ + m_____ PastonchiMT-Swash MT 1223 pnsw____ + m_____ PastonchiMT-SwashCaps MT 1223 pnswc___ + m_____ PastonchiMT-Titling MT 1223 pnt_____ + m_____ PastonchiMT-TitlingAlt MT 1223 pnta____ + m_____ PastonchiMT-RegularExpert MT 1223 pny_____ + m_____ PastonchiMT-ItalicExpert MT 1223 pnyi____ + movr8x OctavianMT-Expert MT 1224 ocexp___ + movri8a OctavianMT-Italic MT 1224 oci_____ + movrij8a OctavianMT-ItalicOsF MT 1224 ocio____ + movri8x OctavianMT-ItalicExpert MT 1224 ocixp___ + movr8a OctavianMT MT 1224 ocrg____ + movrc8a OctavianMT-SC MT 1224 ocsc____ + mnsr8x TimesNRPSExpert MT 1225 tpy_____ + mnsb8x TimesNRPSExpert-Bold MT 1225 tpyb____ + mnsbi8x TimesNRPSExpert-BoldItalic MT 1225 tpybi___ + mnsri8x TimesNRPSExpert-Italic MT 1225 tpyi____ + ma1r9s ArialSFMT MT 1226 asf_____ + ma1b9s ArialSFMT-Bold MT 1226 asfb____ + ma1bi9s ArialSFMT-BoldItalic MT 1226 asfbi___ + ma1ri9s ArialSFMT-Italic MT 1226 asfi____ + mdmb8a DelimaMT-Bold MT 1234 dlb_____ + mdmbi8a DelimaMT-BoldItalic MT 1234 dlbi____ + mdmri8a DelimaMT-Italic MT 1234 dli_____ + mdml8a DelimaMT-Light MT 1234 dll_____ + mdmli8a DelimaMT-LightItalic MT 1234 dlli____ + mdmr8a DelimaMT MT 1234 dlr_____ + mdmx8a DelimaMT-ExtraBold MT 1235 dleb____ + mdmxi_ DelimaMT-ExtraBoldItalic MT 1235 dlebi___ + mdms8a DelimaMT-SemiBold MT 1235 dlsb____ + mdmsi8a DelimaMT-SemiBoldItalic MT 1235 dlsbi___ + mo4rMM8a OceanSansMM MT 1236 ________ + mo4riMM8a OceanSansMM-It MT 1236 ________ + mlyr8a LydianMT MT 1238 ly______ + mlyrw8a LydianCursiveMT MT 1238 lyc_____ + mwrrf8a WittenbergerFraktMT MT 1239 wf______ + mwrbf8a WittenbergerFraktMT-Bd MT 1239 wfb_____ + mwrrf7c WittenbergerFraktMT-BdDfr MT 1239 wfbdf___ + mwrbf7c WittenbergerFraktMT-Dfr MT 1239 wfdfr___ + mgsh8a GillSans-Heavy MT 1240 gilh____ + mgshi8a GillSans-HeavyItalic MT 1240 gilhi___ + mgsk8a GillSans-Book MT 1240 gilk____ + mgski8a GillSans-BookItalic MT 1240 gilki___ + mgsha8a GillAltOneMT-Heavy MT 1241 glah____ + mgshia8a GillAltOneMT-HeavyItalic MT 1241 glahi___ + mgska8a GillAltOneMT-Book MT 1241 glak____ + mgskia8a GillAltOneMT-BookItalic MT 1241 glaki___ + mf1r8a FournierMT MT 1242 fn______ + mf1r7a FournierMT-Alt MT 1242 fna_____ + mf1ri7a FournierMT-AltItalic MT 1242 fnai____ + mf1ri8a FournierMT-Italic MT 1242 fni_____ + mf1rp FournierOrnamentsMT MT 1242 fno_____ + mf1rd8a FournierMT-TallCaps MT 1242 fnt_____ + mf1rid8a FournierMT-TallCapsItalic MT 1242 fnti____ + mf1r8x FournierExpertMT MT 1242 fny_____ + mf1ri8x FournierExpertMT-Italic MT 1242 fnyi____ + miir8a ImprintExpertMT MT 1243 imy_____ + miib8a ImprintExpertMT-Bold MT 1243 imyb____ + miibi8a ImprintExpertMT-BoldItalic MT 1243 imybi___ + miiri8a ImprintExpertMT-Italic MT 1243 imyi____ + mpwr8a PerrywoodMT MT 1244 py______ + mpwb8a PerrywoodMT-Bold MT 1244 pyb_____ + mpwbi8a PerrywoodMT-BoldItalic MT 1244 pybi____ + mpwri8a PerrywoodMT-Italic MT 1244 pyi_____ + mpwx8a PerrywoodMT-ExtraBold MT 1245 pye_____ + mpwxi8a PerrywoodMT-ExtraBoldItalc MT 1245 pyei____ + mpwl8a PerrywoodMT-Light MT 1245 pyl_____ + mpwli8a PerrywoodMT-LightItalic MT 1245 pyli____ + mpws8a PerrywoodMT-SemiBold MT 1245 pys_____ + mpwsi8a PerrywoodMT-SemiBoldItalic MT 1245 pysi____ + mphbij8a PhotinaMT-BoldItalicOsF MT 1246 phbio___ + mphbj8a PhotinaMT-BoldOsF MT 1246 phbo____ + mphrij8a PhotinaMT-ItalicOsF MT 1246 phio____ + mphrc8a PhotinaMT-RegularSC MT 1246 phsc____ + mphsij8a PhotinaMT-SemiBoldItalicOsF MT 1246 phsio___ + mphsj8a PhotinaMT-SemiBoldOsF MT 1246 phso____ + mphuij8a PhotinaMT-UltraBoldItOsF MT 1246 phuio___ + mphuj8a PhotinaMT-UltraBoldOsF MT 1246 phuo____ + mphr8x PhotinaMT-RegularExpert MT 1246 phy_____ + mphb8x PhotinaMT-BoldExpert MT 1246 phyb____ + mphbi8x PhotinaMT-BoldItalicExpert MT 1246 phybi___ + mphri8x PhotinaMT-ItalicExpert MT 1246 phyi____ + mphs8x PhotinaMT-SemiBoldExpert MT 1246 phys____ + mphsi8x PhotinaMT-SemiBoldItExpert MT 1246 physi___ + mphu8x PhotinaMT-UltraBoldExpert MT 1246 phyu____ + mphui8x PhotinaMT-UltraBoldItExpert MT 1246 phyui___ + mbmb8a BulmerMT-Bold MT 1247 ybb_____ + mbmbi8a BulmerMT-BoldItalic MT 1247 ybbi____ + mbmbd8a BulmerMT-BoldDisplay MT 1247 ybdb____ + mbmbid8a BulmerMT-BoldItalicDisplay MT 1247 ybdbi___ + mbmrd8a BulmerMT-RegularDisplay MT 1247 ybds____ + mbmrid8a BulmerMT-ItalicDisplay MT 1247 ybdsi___ + mbmri8a BulmerMT-Italic MT 1247 ybi_____ + mbmr8a BulmerMT-Regular MT 1247 ybrg____ + mbms8a BulmerMT-SemiBold MT 1247 ybsb____ + mbmsi8a BulmerMT-SemiBoldItalic MT 1247 ybsi____ + mbmb7a BulmerMT-BoldAlt MT 1248 ybab____ + mbmbi7a BulmerMT-BoldItalicAlt MT 1248 ybabi___ + mbmr7a BulmerMT-RegularAlt MT 1248 ybarg___ + mbms7a BulmerMT-SemiBoldAlt MT 1248 ybasb___ + mbmsi7a BulmerMT-SemiBoldItalicAlt MT 1248 ybasi___ + mbmbd7a BulmerMT-BoldDisplayAlt MT 1248 ybbda___ + mbmbid7a BulmerMT-BoldItalDisplayAlt MT 1248 ybbid___ + mbmbi8x BulmerMT-BoldItalicExpert MT 1248 ybbix___ + mbmb8x BulmerMT-BoldExpert MT 1248 ybbxp___ + mbmri7a BulmerMT-ItalicAlt MT 1248 ybial___ + mbmrid7a BulmerMT-ItalicDisplayAlt MT 1248 ybida___ + mbmri8x BulmerMT-ItalicExpert MT 1248 ybixp___ + mbmrd7a BulmerMT-RegularDisplayAlt MT 1248 ybrda___ + mbmr8x BulmerMT-RegularExpert MT 1248 ybrgx___ + mbmrc8a BulmerMT-RegularSC MT 1248 ybrsc___ + mbmsc8a BulmerMT-SemiBoldSC MT 1248 ybsbs___ + mbms8x BulmerMT-SemiBoldExpert MT 1248 ybsbx___ + mbmsi8x BulmerMT-SemiBoldItalExpert MT 1248 ybsix___ + mo4b8a OceanSansMT-Bold MT 1249 oeb_____ + mo4bi8a OceanSansMT-BoldItalic MT 1249 oebi____ + mo4k8a OceanSansMT-Book MT 1249 oek_____ + mo4ki8a OceanSansMT-BookItalic MT 1249 oeki____ + mo4x8a OceanSansMT-ExtraBold MT 1250 oeeb____ + mo4xi8a OceanSansMT-ExtraBoldItalic MT 1250 oeebi___ + mo4l8a OceanSansMT-Light MT 1250 oel_____ + mo4li8a OceanSansMT-LightItalic MT 1250 oeli____ + mo4s8a OceanSansMT-SemiBold MT 1250 oesb____ + mo4si8a OceanSansMT-SemiBoldItalic MT 1250 oesbi___ + mmob8a ModernMT-Bold MT 1259 nmb_____ + mmobi8a ModernMT-BoldItalic MT 1259 nmbi____ + mmor8ac ModernMT-Condensed MT 1259 nmc_____ + mmori8ac ModernMT-CondensedItalic MT 1259 nmci____ + mmor8ax ModernMT-Extended MT 1259 nmex____ + mmori8ax ModernMT-ExtendedItalic MT 1259 nmexi___ + mmor8aw ModernMT-Wide MT 1259 nmwd____ + mmori8aw ModernMT-WideItalic MT 1259 nmwdi___ + mwbr8x WalbaumExpMT MT 1268 wly_____ + mwbri8x WalbaumExpMT-Italic MT 1268 wlyi____ + mwbm8x WalbaumExpMT-Medium MT 1268 wlym____ + mwbmi8x WalbaumExpMT-MediumItalic MT 1268 wlymi___ + mlgr8a LetterGothicMT MT 1269 lc______ + mlgb8a LetterGothicMT-Bold MT 1269 lcb_____ + mlgbo8a LetterGothicMT-BoldOblique MT 1269 lcbi____ + mlgro8a LetterGothicMT-Oblique MT 1269 lci_____ + ma1rzn ArialNarrowCyrMT MT 1270 anc_____ + ma1bzn ArialNarrowCyrMT-Bold MT 1270 ancb____ + ma1bizn ArialNarrowCyrMT-BoldInc MT 1270 ancbi___ + ma1rizn ArialNarrowCyrMT-Inclined MT 1270 anci____ + mygrz CenturyGothicCyr MT 1271 cgc_____ + mygbz CenturyGothicCyr-Bold MT 1271 cgcb____ + mygbiz CenturyGothicCyr-BoldInc MT 1271 cgcbi___ + mygriz CenturyGothicCyr-Inclined MT 1271 cgci____ + mkorz BookmanOldStyleCyr MT 1272 bdc_____ + mkobz BookmanOldStyleCyr-Bold MT 1272 bdcb____ + mkobiz BookmanOldStyleCyr-BoldInc MT 1272 bdcbi___ + mkoriz BookmanOldStyleCyr-Inc MT 1272 bdci____ + mnirz NimrodCyrMT MT 1273 nic_____ + mnibz NimrodCyrMT-Bold MT 1273 nicb____ + mnibiz NimrodCyrMT-BoldInclined MT 1273 nicbi___ + mniriz NimrodCyrMT-Inclined MT 1273 nici____ + mptrz PlantinCyrMT MT 1274 plc_____ + mptbz PlantinCyrMT-Bold MT 1274 plcb____ + mptbiz PlantinCyrMT-BoldInclined MT 1274 plcbi___ + mptriz PlantinCyrMT-Inclined MT 1274 plci____ + maqrz BookAntiquaCyr MT 1275 bkc_____ + maqbz BookAntiquaCyr-Bold MT 1275 bkcb____ + maqbiz BookAntiquaCyr-BoldInclined MT 1275 bkcbi___ + maqriz BookAntiquaCyr-Inclined MT 1275 bkci____ + mzcmiz MonotypeCorsivaCyr MT 1276 mcc_____ + mzcmizaa MonotypeCorsivaCyr-AltOne MT 1276 mccaa___ + mzcmizab MonotypeCorsivaCyr-AltTwo MT 1276 mccab___ + mzcmizac MonotypeCorsivaCyr-AltThree MT 1276 mccac___ + mcsrz CenturySchoolbookCyr MT 1277 cbc_____ + mcsbz CenturySchoolbookCyr-Bold MT 1277 cbcb____ + mcsbiz CenturySchoolbookCyr-BolInc MT 1277 cbcbi___ + mcsriz CenturySchoolbookCyr-Inc MT 1277 cbci____ + mp6r8a BlueprintMT MT 1283 bp______ + mp6b8a BlueprintMT-Bold MT 1283 bpb_____ + mp6bi8a BlueprintMT-BoldItalic MT 1283 bpbi____ + mp6ri8a BlueprintMT-Italic MT 1283 bpi_____ + mn1r8a BinnerGothicMT MT 1289 bg______ + mfgr8aq FrankGothMT-ExtraCondensed MT 1289 fgec____ + m_____ LightlineGothicMT MT 1289 lg______ + mwnr8a WindsorMT MT 1289 wds_____ + mygr__ CenturyGothicTur MT 1293 cgt_____ + mygb__ CenturyGothicTur-Bold MT 1293 cgtb____ + mygbi__ CenturyGothicTur-BoldItalic MT 1293 cgtbi___ + mygri__ CenturyGothicTur-Italic MT 1293 cgti____ + mygr__ CenturyGothicCE MT 1293 cgu_____ + mygb__ CenturyGothicCE-Bold MT 1293 cgub____ + mygbi__ CenturyGothicCE-BoldItalic MT 1293 cgubi___ + mygri__ CenturyGothicCE-Italic MT 1293 cgui____ + ma1r__n ArialNarrowTur MT 1294 ant_____ + ma1b__n ArialNarrowTur-Bold MT 1294 antb____ + ma1bi__n ArialNarrowTur-BoldItalic MT 1294 antbi___ + ma1ri__n ArialNarrowTur-Italic MT 1294 anti____ + ma1r__n ArialNarrowCE MT 1294 anu_____ + ma1b__n ArialNarrowCE-Bold MT 1294 anub____ + ma1bi__n ArialNarrowCE-BoldItalic MT 1294 anubi___ + ma1ri__n ArialNarrowCE-Italic MT 1294 anui____ + maqr__ BookAntiquaTur MT 1295 bkt_____ + maqb__ BookAntiquaTur-Bold MT 1295 bktb____ + maqbi__ BookAntiquaTur-BoldItalic MT 1295 bktbi___ + maqri__ BookAntiquaTur-Italic MT 1295 bkti____ + maqr__ BookAntiquaCE MT 1295 bku_____ + maqb__ BookAntiquaCE-Bold MT 1295 bkub____ + maqbi__ BookAntiquaCE-BoldItalic MT 1295 bkubi___ + maqri__ BookAntiquaCE-Italic MT 1295 bkui____ + mkor__ BookmanOldStyleTur MT 1296 bdt_____ + mkob__ BookmanOldStyleTur-Bold MT 1296 bdtb____ + mkobi__ BookmanOldStyleTur-BoldIta MT 1296 bdtbi___ + mkori__ BookmanOldStyleTur-Italic MT 1296 bdti____ + mkor__ BookmanOldStylCE MT 1296 bdu_____ + mkob__ BookmanOldStylCE-Bold MT 1296 bdub____ + mkobi__ BookmanOldStylCE-BoldItalic MT 1296 bdubi___ + mkori__ BookmanOldStylCE-Italic MT 1296 bdui____ + mcsr__ CenturySchoolbookTur MT 1297 cst_____ + mcsb__ CenturySchoolbookTur-Bold MT 1297 cstb____ + mcsbi__ CenturySchoolbookTur-BolIta MT 1297 cstbi___ + mcsri__ CenturySchoolbookTur-Italic MT 1297 csti____ + mcsr__ CenturySchoolbookCE MT 1297 csu_____ + mcsb__ CenturySchoolbookCE-Bold MT 1297 csub____ + mcsbi__ CenturySchoolbookCE-BoldIta MT 1297 csubi___ + mcsri__ CenturySchoolbookCE-Italic MT 1297 csui____ + mzcmi__ MonotypeCorsivaTur MT 1298 mcit____ + mzcmi__ MonotypeCorsivaCE MT 1298 mciu____ + ma1rk ArialDualGreekMT MT 1299 ard_____ + ma1bk ArialDualGreekMT-Bold MT 1299 ardb____ + ma1bik ArialDualGreekMT-BoldIncl MT 1299 ardbi___ + ma1rik ArialDualGreekMT-Inclined MT 1299 ardi____ + ma1r__ ArialTur MT 1306 art_____ + ma1b__ ArialTur-Bold MT 1306 artb____ + ma1bi__ ArialTur-BoldItalic MT 1306 artbi___ + ma1ri__ ArialTur-Italic MT 1306 arti____ + ma1r__ ArialCE MT 1306 aru_____ + ma1b__ ArialCE-Bold MT 1306 arub____ + ma1bi__ ArialCE-BoldItalic MT 1306 arubi___ + ma1ri__ ArialCE-Italic MT 1306 arui____ + mntr__ TimesNewRomanTur MT 1307 tit_____ + mntb__ TimesNewRomanTur-Bold MT 1307 titb____ + mntbi__ TimesNewRomanTur-BoldItalic MT 1307 titbi___ + mntri__ TimesNewRomanTur-Italic MT 1307 titi____ + mntr__ TimesNewRomanCE MT 1307 tiu_____ + mntb__ TimesNewRomanCE-Bold MT 1307 tiub____ + mntbi__ TimesNewRomanCE-BoldItalic MT 1307 tiubi___ + mntri__ TimesNewRomanCE-Italic MT 1307 tiui____ + mcrr__ CourierTur MT 1308 crt_____ + mcrb__ CourierTur-Bold MT 1308 crtb____ + mcrbi__ CourierTur-BoldItalic MT 1308 crtbi___ + mcrri__ CourierTur-Italic MT 1308 crti____ + mcrr__ CourierCE MT 1308 cru_____ + mcrb__ CourierCE-Bold MT 1308 crub____ + mcrbi__ CourierCE-BoldItalic MT 1308 crubi___ + mcrri__ CourierCE-Italic MT 1308 crui____ + mpnrn8a PlantinMT-Schlbk MT 1309 psb_____ + mpnbn8a PlantinMT-SchlbkBold MT 1309 psbb____ + mpnbin8a PlantinMT-SchlbkBoldItalic MT 1309 psbbi___ + mpnrin8a PlantinMT-SchlbkItalic MT 1309 psbi____ + mn1p8a BinnerPosterMT MT 1310 binp____ + mgqbd8ac GrotesqueDisplayMT-BoldCond MT 1310 gdbc____ + mgqbd8ax GrotesqueDisplayMT-BoldExt MT 1310 gdbe____ + micr8a ImpactMT MT 1310 imp_____ + mjobj8a JoannaMT-BoldOSF MT 1315 joob____ + mjobij8a JoannaMT-BoldItalicOSF MT 1315 joobi___ + mjoxj8a JoannaMT-ExtraBoldOSF MT 1315 jooeb___ + mjorij8a JoannaMT-ItalicOSF MT 1315 jooi____ + mjosc8a JoannaMT-SemiBoldSCOSF MT 1315 joos____ + mjosij8a JoannaMT-SemiBoldItalicOSF MT 1315 joosi___ + mjorc8a JoannaMT-SCOSF MT 1315 josc____ + mjor8x JoannaMT-Expert MT 1315 joy_____ + mjob8x JoannaMT-BoldExpert MT 1315 joyb____ + mjobi8x JoannaMT-BoldItalicExpert MT 1315 joybi___ + mjox8x JoannaMT-ExtraBoldExpert MT 1315 joyeb___ + mjori8x JoannaMT-ItalicExpert MT 1315 joyi____ + mjos8x JoannaMT-SemiBoldExpert MT 1315 joys____ + mjosi8a JoannaMT-SemiBoldItaExpert MT 1315 joysi___ + mgsrk GillSansDualGreekMT MT 1329 gsd_____ + mgsbk GillSansDualGreekMT-Bold MT 1329 gsdb____ + mgsbik GillSansDualGreekMT-BoldInc MT 1329 gsdbi___ + mgsrik GillSansDualGreekMT-Incl MT 1329 gsdi____ + mnir__ NimrodTur MT 1330 nit_____ + mnib__ NimrodTur-Bold MT 1330 nitb____ + mnibi__ NimrodTur-BoldItalic MT 1330 nitbi___ + mniri__ NimrodTur-Italic MT 1330 niti____ + mnir__ NimrodCE MT 1330 niu_____ + mnib__ NimrodCE-Bold MT 1330 niub____ + mnibi__ NimrodCE-BoldItalic MT 1330 niubi___ + mniri__ NimrodCE-Italic MT 1330 niui____ + mbbrn8a BemboMT-Schlbk MT 1331 bsc_____ + mbbbn8a BemboMT-SchlbkBold MT 1331 bscb____ + mbbbin8a BemboMT-SchlbkBoldItalic MT 1331 bscbi___ + mbbrin8a BemboMT-SchlbkItalic MT 1331 bsci____ + mntrz TimesNewRomanCyr MT 1332 tpc_____ + mntbz TimesNewRomanCyr-Bold MT 1332 tpcb____ + mntbiz TimesNewRomanCyr-BoldIncl MT 1332 tpcbi___ + mntriz TimesNewRomanCyr-Inclined MT 1332 tpci____ + mbbrd8a BemboTitlingMT MT 1333 bet_____ + mbbrid8a BemboTitlingMT-Italic MT 1333 beti____ + mcard8a CaslonTitlingMT MT 1333 cat_____ + mpnrd8a PlantinTitlingMT MT 1333 plt_____ + mpnbd8ac PlantinHeadlineMT-BoldCond MT 1334 plhbc___ + mpnld8ac PlantinHeadlineMT-LightCond MT 1334 plhlc___ + mpnmd8ac PlantinHeadlineMT-MedCond MT 1334 plhmc___ + zms7rn SassoonInfant MT 1335 szi_____ + zms7rna SassoonInfant-Alt MT 1335 szia____ + zms7bn SassoonInfant-Bold MT 1335 szib____ + zms7bna SassoonInfant-BoldAlt MT 1335 sziba___ + zms7rp SassoonPrimary MT 1336 szp_____ + zms7rpa SassoonPrimary-Alt MT 1336 szpa____ + zms7bp SassoonPrimary-Bold MT 1336 szpb____ + zms7bpa SassoonPrimary-BoldAlt MT 1336 szpba___ + zms7rs SassoonSans MT 1337 szs_____ + zms7rsa SassoonSans-Alt MT 1337 szsa____ + zms7bs SassoonSans-Bold MT 1337 szsb____ + zms7bsa SassoonSans-BoldAlt MT 1337 szsba___ + zms7ms SassoonSans-Medium MT 1337 szsm____ + zms7msa SassoonSans-MediumAlt MT 1337 szsma___ + zms7rsi SassoonSanSlope MT 1338 szz_____ + zms7rsia SassoonSanSlope-Alt MT 1338 szza____ + zms7bsi SassoonSanSlope-Bold MT 1338 szzb____ + zms7bsia SassoonSanSlope-BoldAlt MT 1338 szzba___ + zms7msi SassoonSanSlope-Medium MT 1338 szzm____ + zms7msia SassoonSanSlope-MediumAlt MT 1338 szzma___ + mgsr__ GillSansCE MT 1339 gsc_____ + mgsb__ GillSansCE-Bold MT 1339 gscb____ + mgsbi__ GillSansCE-BoldItalic MT 1339 gscbi___ + mgsri__ GillSansCE-Italic MT 1339 gsci____ + mgsl__ GillSansCE-Light MT 1339 gscl____ + mgsli__ GillSansCE-LightItalic MT 1339 gscli___ + mgsr__ GillSansTur MT 1339 gst_____ + mgsb__ GillSansTur-Bold MT 1339 gstb____ + mgsbi__ GillSansTur-BoldItalic MT 1339 gstbi___ + mgsri__ GillSansTur-Italic MT 1339 gsti____ + mgsl__ GillSansTur-Light MT 1339 gstl____ + mgsli__ GillSansTur-LightItalic MT 1339 gstli___ + myhr8a StrayhornMT-Regular MT 1340 str_____ + myhb8a StrayhornMT-Bold MT 1340 strb____ + myhbi8a StrayhornMT-BoldItalic MT 1340 strbi___ + myhri8a StrayhornMT-Italic MT 1340 stri____ + myhl8a StrayhornMT-Light MT 1340 strl____ + myhli8a StrayhornMT-LightItalic MT 1340 strli___ + myhx8a StrayhornMT-ExtraBold MT 1340 strx____ + myhxi8a StrayhornMT-ExtraBoldItalic MT 1340 strxi___ + mgsrn8a GillSansMT-Schlbk MT 1341 gsk_____ + mgsbn8a GillSansMT-SchlbkBold MT 1341 gskb____ + mgsbin8a GillSansMT-SchlbkBoldItalic MT 1341 gskbi___ + mgsrin8a GillSansMT-SchlbkItalic MT 1341 gski____ + myhbij8a StrayhornMT-BoldItalicOsF MT 1342 stbis___ + myhbj8a StrayhornMT-BoldOsF MT 1342 stbs____ + myhrij8a StrayhornMT-ItalicOsF MT 1342 stis____ + myhlij8a StrayhornMT-LightItalicOsF MT 1342 stlis___ + myhlc8a StrayhornMT-LightSC MT 1342 stls____ + myhrc8a StrayhornMT-RegularSC MT 1342 sts_____ + myhxij8a StrayhornMT-ExtraBoldItaOsF MT 1342 stxis___ + myhxj8a StrayhornMT-ExtraBoldOsF MT 1342 stxs____ + mpi205 DiamondBodoni MT 1343 dibod___ + mpi206 DiamondPositive MT 1343 dipos___ + mpi207 DiamondNegative MT 1343 dineg___ + mf2r8ac FacadeMT-Condensed MT 1343 fac_____ + mfsra8a FalstaffFestivalMT MT 1343 falfe___ + mg4r8a GoudyModernMT-Bold MT 1344 gomb____ + mg4ri8a GoudyModernMT-BoldItalic MT 1344 gombi___ + mgyrp GoudySortsMT MT 1344 gous____ + mpi303 BonApetit MT 1345 bonap___ + mpi306 Holidays MT 1345 holid___ + mpi308 KeystrokesMT MT 1345 keya____ + mpi307 KeystrokesExtrasMT MT 1345 keyb____ + mpi323 KeystrokesShadowMT MT 1345 keyc____ + mpi322 KeystrokesShadowExtrasMT MT 1345 keyd____ + mpi309 Melodies MT 1345 melod___ + mpi312 MonkeyBusiness MT 1345 monke___ + mpi315 Parties MT 1345 parti___ + mpi320 SignsMT MT 1345 sig_____ + mpi108 SportsThreeMT MT 1345 sport___ + mpi302 AquaLifeMT MT 1346 aqua____ + mpi304 DinosaursMT MT 1346 dino____ + mpi305 FrontierMT MT 1346 frnt____ + mpi310 MilestonesOneMT MT 1346 milea___ + mpi311 MilestonesTwoMT MT 1346 mileb___ + mpi314 NatureMT MT 1346 nat_____ + mpi208 OvalFrameMT MT 1346 ovaa____ + mpi209 OvalFrameNegativeMT MT 1346 ovab____ + mpi319 PlaytimeMT MT 1346 play____ + mpi109 SportsFourMT MT 1346 sporfm__ + mpi321 SouthwestOrnamentsMT MT 1346 sworna__ + ma1rt8a ArialMonospacedMT MT 1347 arm_____ + ma1bt8a ArialMonospacedMT-Bold MT 1347 armb____ + ma1bot8a ArialMonospacedMT-BoldObliq MT 1347 armbo___ + ma1rot8a ArialMonospacedMT-Oblique MT 1347 armo____ + mpwr8ac PerrywoodMT-Condensed MT 1348 pwc_____ + mpwb8ac PerrywoodMT-BoldCondensed MT 1348 pwcb____ + mpwbi8ac PerrywoodMT-BoldItalicCon MT 1348 pwcbi___ + mpwri8ac PerrywoodMT-ItalicCondensed MT 1348 pwci____ + mpwx8ac PerrywoodMT-ExtraBoldCon MT 1349 pwce____ + mpwxi8ac PerrywoodMT-ExtraBoldItaCon MT 1349 pwcei___ + mpwl8ac PerrywoodMT-LightCondensed MT 1349 pwcl____ + mpwli8ac PerrywoodMT-LightItalicCon MT 1349 pwcli___ + mpws8ac PerrywoodMT-SemiBoldCon MT 1349 pwcs____ + mpwsi8ac PerrywoodMT-SemiBoldItaCon MT 1349 pwcsi___ + mpwr8ax PerrywoodMT-Expanded MT 1350 pwe_____ + mpwb8ax PerrywoodMT-BoldExpanded MT 1350 pweb____ + mpwbi8ax PerrywoodMT-BoldItalicExp MT 1350 pwebi___ + mpwri8ax PerrywoodMT-ItalicExpanded MT 1350 pwei____ + mpwx8ax PerrywoodMT-ExtraBoldExp MT 1351 pwee____ + mpwxi8ax PerrywoodMT-ExtraBoldItaExp MT 1351 pweei___ + mpwl8ax PerrywoodMT-LightExpanded MT 1351 pwel____ + mpwli8ax PerrywoodMT-LightItalicExp MT 1351 pweli___ + mpws8ax PerrywoodMT-SemiBoldExp MT 1351 pwes____ + mpwsi8ax PerrywoodMT-SemiBoldItaExp MT 1351 pwesi___ + mgsr8a GillSansCyrMT MT 1356 gcy_____ + mgsb8a GillSansCyrMT-Bold MT 1356 gcyb____ + mgsbi8a GillSansCyrMT-BoldInclined MT 1356 gcybi___ + mgsri8a GillSansCyrMT-Inclined MT 1356 gcyi____ + mgsl8a GillSansCyrMT-Light MT 1356 gcyl____ + mgsli8a GillSansCyrMT-LightIncl MT 1356 gcyli___ + mhob8a HorleyOldStyleMT-Bold MT 1357 hsb_____ + mhobi8a HorleyOldStyleMT-BoldItalic MT 1357 hsbi____ + mhori8a HorleyOldStyleMT-Italic MT 1357 hsi_____ + mhol8a HorleyOldStyleMT-Light MT 1357 hsl_____ + mholi8a HorleyOldStyleMT-LightItalic MT 1357 hsli____ + mhor8a HorleyOldStyleMT MT 1357 hsrg____ + mhosi8a HorleyOldStyleMT-SbItalic MT 1357 hssb____ + mhos8a HorleyOldStyleMT-SemiBold MT 1357 hssbi___ + m_____ GillFloriatedCapsMT MT 1363 gilf____ + m_____ GillFloriatedCapsMT-Alt MT 1363 gilfa___ + m_____ MonotypeGallia MT 1364 gall____ + mbwr8a MonotypeBroadway MT 1365 broa____ + mbwre8a MonotypeBroadway-Engraved MT 1365 broae___ + m_____ CurlzMT-Regular MT 1367 crl_____ + m_____ KidprintMT-Regular MT 1368 kidp____ + m_____ KidprintMT-Bold MT 1368 kidpb___ + mgsbij8a GillSans-BoldItalicOsF MT 1369 gnbio___ + mgsbc8a GillSans-BoldSC MT 1369 gnbsc___ + mgsrij8a GillSans-ItalicOsF MT 1369 gnio____ + mgslij8a GillSans-LightItalicOsF MT 1369 gnlio___ + mgslc8a GillSans-LightSC MT 1369 gnlsc___ + mgsrc8a GillSans-SC MT 1369 gnsc____ + mcrb8a CourierLD-Bold MT 1371 cldb____ + mcrbi8a CourierLD-BoldItalic MT 1371 cldbi___ + mcrri8a CourierLD-Italic MT 1371 cldi____ + mcrr8a CourierLD-Regular MT 1371 cldr____ + mgshij8a GillSans-HeavyItalicOsF MT 1372 gnhio___ + mgshc8a GillSans-HeavySC MT 1372 gnhsc___ + mgskij8a GillSans-BookItalicOsF MT 1372 gnwio___ + mgskc8a GillSans-BookSC MT 1372 gnwsc___ + m_____ GillFaciaMT-Italic MT 1373 gfai____ + m_____ GillFaciaMT-ItalicAlt MT 1373 gfaia___ + m_____ GillFaciaMT-ItalicDisplay MT 1373 gfaid___ + m_____ GillFaciaMT-Regular MT 1373 gfar____ + m_____ GillFaciaMT-RegularAlt MT 1373 gfara___ + m_____ GillFaciaMT-RegularDisplay MT 1373 gfard___ + m_____ GillFaciaMT-ItDisplayAlt MT 1373 gfida___ + m_____ GillFaciaMT-RegDisplayAlt MT 1373 gfrda___ + mngr8a NewsGothicMT MT 1374 nwg_____ + mngb8a NewsGothicMT-Bold MT 1374 nwgb____ + mngb8a NewsGothicMT-BoldItalic MT 1374 nwgbi___ + mngri8a NewsGothicMT-Italic MT 1374 nwgi____ + m_____ AlbertinaMT-Bold MT 1378 abb_____ + m_____ AlbertinaMT-BoldItalic MT 1378 abbi____ + m_____ AlbertinaMT-BoldItalicOsF MT 1378 abbio___ + m_____ AlbertinaMT-BoldItalicSC MT 1378 abbis___ + m_____ AlbertinaMT-BoldOsF MT 1378 abbos___ + m_____ AlbertinaMT-BoldSC MT 1378 abbsc___ + m_____ AlbertinaMT-Italic MT 1378 abi_____ + m_____ AlbertinaMT-ItalicOsF MT 1378 abios___ + m_____ AlbertinaMT-ItalicSC MT 1378 abisc___ + m_____ AlbertinaMT-Medium MT 1378 abm_____ + m_____ AlbertinaMT-MediumItalic MT 1378 abmi____ + m_____ AlbertinaMT-MediumItalicOsF MT 1378 abmio___ + m_____ AlbertinaMT-MediumItalicSC MT 1378 abmis___ + m_____ AlbertinaMT-MediumOsF MT 1378 abmos___ + m_____ AlbertinaMT-MediumSC MT 1378 abmsc___ + m_____ AlbertinaMT-Regular MT 1378 abr_____ + m_____ AlbertinaMT-RegularOsF MT 1378 abros___ + m_____ AlbertinaMT-RegularSC MT 1378 abrsc___ + mngr__ NewsGothicCE MT 1379 ngu_____ + mngb__ NewsGothicCE-Bold MT 1379 ngub____ + mngbi__ NewsGothicCE-BoldItalic MT 1379 ngubi___ + mngri__ NewsGothicCE-Italic MT 1379 ngui____ + mngrk NewsGothicGre MT 1380 ngg_____ + mngbk NewsGothicGre-Bold MT 1380 nggb____ + mngbik NewsGothicGre-BoldInclined MT 1380 nggbi___ + mngrik NewsGothicGre-Inclined MT 1380 nggi____ + mngrz NewsGothicCyr MT 1381 ngc_____ + mngbz NewsGothicCyr-Bold MT 1381 ngcb____ + mngbiz NewsGothicCyr-BoldInclined MT 1381 ngcbi___ + mngriz NewsGothicCyr-Inclined MT 1381 ngci____ + m_____ BuffaloGalMT MT 1382 bufg____ + mrwr__ RockwellTur MT 1383 rkt_____ + mrwb__ RockwellTur-Bold MT 1383 rktb____ + mrwbi__ RockwellTur-BoldItalic MT 1383 rktbi___ + mrwri__ RockwellTur-Italic MT 1383 rkti____ + mrwl__ RockwellTur-Light MT 1383 rktl____ + mrwli__ RockwellTur-LightItalic MT 1383 rktli___ + mrwr__ RockwellCE MT 1383 rku_____ + mrwb__ RockwellCE-Bold MT 1383 rkub____ + mrwbi__ RockwellCE-BoldItalic MT 1383 rkubi___ + mrwri__ RockwellCE-Italic MT 1383 rkui____ + mrwl__ RockwellCE-Light MT 1383 rkul____ + mrwli__ RockwellCE-LightItalic MT 1383 rkuli___ + mo4bij8a OceanSansMT-BoldItalicOsF MT 1397 oebio___ + mo4bic8a OceanSansMT-BoldItalicSC MT 1397 oebis___ + mo4bj8a OceanSansMT-BoldOsF MT 1397 oebo____ + mo4bc8a OceanSansMT-BoldSC MT 1397 oebs____ + mo4kij8a OceanSansMT-BookItalicOsF MT 1397 oekio___ + mo4kic8a OceanSansMT-BookItalicSC MT 1397 oekis___ + mo4kj8a OceanSansMT-BookOsF MT 1397 oeko____ + mo4kc8a OceanSansMT-BookSC MT 1397 oeks____ + mo4lij8a OceanSansMT-LightItalicOsF MT 1398 oelio___ + mo4lic8a OceanSansMT-LightItalicSC MT 1398 oelis___ + mo4lj8a OceanSansMT-LightOsF MT 1398 oelo____ + mo4lc8a OceanSansMT-LightSC MT 1398 oels____ + mo4sij8a OceanSansMT-SemiBoldItaOsF MT 1398 oesio___ + mo4sic8a OceanSansMT-SemiBoldItaSC MT 1398 oesis___ + mo4sj8a OceanSansMT-SemiBoldOsF MT 1398 oeso____ + mo4sc8a OceanSansMT-SemiBoldSC MT 1398 oess____ + mo4xij8a OceanSansMT-ExtraBoldItaOsF MT 1398 oexio___ + mo4xic8a OceanSansMT-ExtraBoldItaSC MT 1398 oexis___ + mo4xj8a OceanSansMT-ExtraBoldOsF MT 1398 oexo____ + mo4xc8a OceanSansMT-ExtraBoldSC MT 1398 oexs____ + mgmrz GaramondCyrMT-Regular MT 1401 gac_____ + mgmbz GaramondCyrMT-Bold MT 1401 gacb____ + mgmriz GaramondCyrMT-Inclined MT 1401 gaci____ + mgmrk GaramondDualGreekMT-Regular MT 1402 gad_____ + mgmbk GaramondDualGreekMT-Bold MT 1402 gadb____ + mgmrik GaramondDualGreekMT-Incl MT 1402 gadi____ + mgmr__ GaramondCEMT-Regular MT 1403 gae_____ + mgmb__ GaramondCEMT-Bold MT 1403 gaeb____ + mgmri__ GaramondCEMT-Italic MT 1403 gaei____ + mgmr__ GaramondTurMT-Regular MT 1403 gat_____ + mgmb__ GaramondTurMT-Bold MT 1403 gatb____ + mgmri__ GaramondTurMT-Italic MT 1403 gati____ + mngr8ac NewsGothicMT-Condensed MT 1451 ngoc____ + mngb8ac NewsGothicMT-CondensedBold MT 1451 ngocb___ + m_____ MahsuriSansMT-Bold MT 1454 msb_____ + m_____ MahsuriSansMT-BoldItalic MT 1454 msbi____ + m_____ MahsuriSansMT-BoldItalicOsF MT 1454 msbio___ + m_____ MahsuriSansMT-BoldOsF MT 1454 msbo____ + m_____ MahsuriSansMT-Italic MT 1454 msi_____ + m_____ MahsuriSansMT-ItalicOsF MT 1454 msio____ + m_____ MahsuriSansMT-Light MT 1454 msl_____ + m_____ MahsuriSansMT-LightItalic MT 1454 msli____ + m_____ MahsuriSansMT-LightItalicOsF MT 1454 mslio___ + m_____ MahsuriSansMT-LightOsF MT 1454 mslo____ + m_____ MahsuriSansMT-Regular MT 1454 msr_____ + m_____ MahsuriSansMT-RegularOsF MT 1454 msro____ + m_____ MahsuriSansMT-ExtraBold MT 1454 msx_____ + m_____ MahsuriSansMT-ExtraBoldItalic MT 1454 msxi____ + m_____ MahsuriSansMT-ExtBoldItaOsF MT 1454 msxio___ + m_____ MahsuriSansMT-ExtraBoldOsF MT 1454 msxo____ + mu0r8a ColumbusMT MT 1492 cu______ + mu0b8a ColumbusMTBold MT 1492 cub_____ + mu0bi8a ColumbusMTBoldItalic MT 1492 cubi____ + mu0ri8a ColumbusMTItalic MT 1492 cui_____ + mu0s8a ColumbusMTSemiBold MT 1492 cus_____ + mu0si8a ColumbusMTSemiBoldItalic MT 1492 cusi____ + mpi001 ArabesqueOrnamentsOneMT ornaments + mpi002 ArabesqueOrnamentsTwoMT ditto + mpi003 ArabesqueOrnamentsThreeMT ditto + mpi004 RococoOrnamentsOneMT ornaments + mpi005 RococoOrnamentsTwoMT ditto + mpi006 RococoOrnamentsThreeMT ditto + mpi007 ChristmasOrnamentsMT-One ornaments + mpi008 ChristmasOrnamentsMT-Two ditto + mpi009 ChristmasOrnamentsMT-Three ditto + mpi010 ChristmasOrnamentsMT-Four ditto + mpi011 ChristmasOrnamentsMT-Five ditto + mpi012 ChristmasOrnamentsMT-Six ditto + mpi013 ContemporaryOrnMT-One ornaments + mpi014 ContemporaryOrnMT-Two ditto + mpi015 ContemporaryOrnMT-Three ditto + mpi016 ContemporaryOrnMT-Four ditto + mpi017 ContemporaryOrnMT-Five ditto + mpi101 AlmanacMT zodiac + mpi102 BotanicalMT flowers + mpi103 DirectionsMT arrows & pointers + mpi104 SportsOneMT sports + mpi105 SportsTwoMT ditto + mpi106 TransportMT signs + mpi107 VacationMT signs + mpi108 SportsThreeMT sports + mpi109 SportsFourMT ditto + mpi201 CircleFrameMT circled numerals + mpi202 CircleFrameNegMT ditto + mpi203 SquareFrameMT squared numerals + mpi204 SquareFrameNegMT ditto + mpi205 DiamondBodoni bullets & markers + mpi206 DiamondPositive ditto + mpi207 DiamondNegative ditto + mpi208 OvalFrameMT circled numerals + mpi209 OvalFrameNegativeMT ditto + mpi300 Giddyup-ThangsMT cowboys & indians + mpi301 PetrucchioMT ??? + mpi302 AquaLifeMT fish + mpi303 BonApetit food + mpi304 DinosaursMT dinosaurs + mpi305 FrontierMT cowboys & indians + mpi306 Holidays greeting cards + mpi307 KeystrokesExtrasMT keyboards + mpi308 KeystrokesMT ditto + mpi309 Melodies musical instruments + mpi310 MilestonesOneMT clip art + mpi311 MilestonesTwoMT ditto + mpi312 MonkeyBusiness animals + mpi313 MonotypeSorts dingbats + mpi314 NatureMT animals + mpi315 Parties clip art + mpi316 BingoMT clip art + mpi317 BongoMT clip art + mpi318 PieMT food & drinks + mpi319 PlaytimeMT toys + mpi320 SignsMT signs + mpi321 SouthwestOrnamentsMT geometric ornaments + mpi322 KeystrokesShadowExtrasMT keyboards + mpi323 KeystrokesShadowMT ditto + + +File: fontname.info, Node: URW fonts, Prev: Monotype fonts, Up: Font name lists + +A.9 URW fonts +============= + +Information graciously supplied through URW, via Vincent Ertner: Each +URW font has an assigned font number. The last character describes the +size or purpose of the font, as the design of the font is optimized +accordingly: + +`X000000E' + Extreme: 8pt and smaller + +`X000000T' + Text: between 8 and 18pt + +`X000000D' + Display: 18pt and larger + +`X000000P' + Poster: 48pt and larger + +`X000000M' + Monospaced / Typewriter + +`X000000L' + LaserWriter / PostScript / Adobe compatible + +`X000000I' + Intellifont PCL (5) compatible + + An `F' identifier is not known. + + The `urw.map' file has abbreviations for URW fonts. + + uagd8a URWGothicL-Demi a010015l + uagdo8a URWGothicL-DemiObli a010035l + uagk8a URWGothicL-Book a010013l + uagko8a URWGothicL-BookObli a010033l + ubkd8a URWBookmanL-DemiBold b018015l + ubkdi8a URWBookmanL-DemiBoldItal b018035l + ubkl8a URWBookmanL-Ligh b018012l + ubkli8a URWBookmanL-LighItal b018032l + ucrb8a NimbusMonL-Bold n022004l + ucrbo8a NimbusMonL-BoldObli n022024l + ucrr8a NimbusMonL-Regu n022003l + ucrro8a NimbusMonL-ReguObli n022023l + uhvb8a NimbusSanL-Bold n019004l + uhvb8ac NimbusSanL-BoldCond n019044l + uhvbo8a NimbusSanL-BoldItal n019024l + uhvbo8ac NimbusSanL-BoldCondItal n019064l + uhvr8a NimbusSanL-Regu n019003l + uhvr8ac NimbusSanL-ReguCond n019043l + uhvro8a NimbusSanL-ReguItal n019023l + uhvro8ac NimbusSanL-ReguCondItal n019063l + uncb8a CenturySchL-Bold c059016l + uncbi8a CenturySchL-BoldItal c059036l + uncr8a CenturySchL-Roma c059013l + uncri8a CenturySchL-Ital c059033l + uplb8a URWPalladioL-Bold p052004l + uplbi8a URWPalladioL-BoldItal p052024l + uplr8a URWPalladioL-Roma p052003l + uplri8a URWPalladioL-Ital p052023l + usyr StandardSymL s050000l + utmb8a NimbusRomNo9L-Medi n021004l + utmbi8a NimbusRomNo9L-MediItal n021024l + utmr8a NimbusRomNo9L-Regu n021003l + utmri8a NimbusRomNo9L-ReguItal n021023l + uzcmi8a URWChanceryL-MediItal z003034l + uzdr Dingbats d050000l + + +File: fontname.info, Node: Encodings, Next: General index, Prev: Font name lists, Up: Top + +Appendix B Encodings +******************** + +The following sections define various encodings as PostScript encoding +vectors. These files can be installed in the Dvips header directory and +then used in `psfonts.map' to change font encodings of downloadable or +builtin fonts (*note psfonts.map: (dvips)psfonts.map.). + + You can also specify these `.enc' files to Afm2tfm when building a +font (*note Changing font encodings: (dvips)Changing font encodings.). + + For a discussion of TeX font encodings in general, and defining new +ones for use with `fontinst' in particular, see +`http://www.ctan.org/tex-archive/fonts/utilities/fontinst/doc/encspecs'. + + A tutorial on character code issues in general is available at +`http://www.cs.tut.fi/~jkorpela/chars.html'. + + Naming specific characters is a tangled and difficult area. Here are +some links to character tables for Unicode, Adobe, and WGL4, for your +researching pleasure (thanks to Boguslaw Jackowski for the list): + + * `http://www.unicode.org/Public/UNIDATA/UnicodeData.txt' + + * `http://www.unicode.org/Public/UNIDATA/NamesList.txt' + + * `http://partners.adobe.com/asn/tech/type/corporateuse-old.txt' + + * `http://partners.adobe.com/asn/tech/type/aglfn13.txt' + + * `http://partners.adobe.com/asn/tech/type/unicodegn.jsp' + + * `http://www.microsoft.com/OpenType/otspec/WGL4.htm' + +* Menu: + +* 6w:: CP-1251 (Cyrillic). +* 8a:: Adobe standard. +* 8r:: TeX base. +* dvips:: Dvips. +* ec:: EC (aka COrk, TeX Latin 1, tex256). +* groff:: 8g. +* t5:: Vietnamese, from vntex. +* qx:: QX, from GUST. +* texmext:: TeX math extension. +* texmsym:: TeX math symbol. +* texmital:: TeX math italic. +* texnansi:: From Y&Y. +* texnansx:: From Y&Y. +* xl2:: OT1 + ISO Latin 2 (extended). +* xt2:: Typewriter version of xl2. + + +File: fontname.info, Node: 6w, Next: 8a, Up: Encodings + +B.1 `6w.enc': Cyrillic CP-1251 +============================== + +% @psencodingfile{ +% author = "Adobe", +% version = "1.1", +% date = "12jun05", +% filename = "8a.enc", +% license = "public domain", +% email = "tex-fonts@tug.org", +% codetable = "ISO/ASCII", +% docstring = "Adobe StandardEncoding as an afm2tfm/dvips .enc file." +% } +% 12jun05 - comment changes only. +/StandardEncoding [ +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/space +/exclam +/quotedbl +/numbersign +/dollar +/percent +/ampersand +/quoteright +/parenleft +/parenright +/asterisk +/plus +/comma +/hyphen +/period +/slash +/zero +/one +/two +/three +/four +/five +/six +/seven +/eight +/nine +/colon +/semicolon +/less +/equal +/greater +/question +/at +/A +/B +/C +/D +/E +/F +/G +/H +/I +/J +/K +/L +/M +/N +/O +/P +/Q +/R +/S +/T +/U +/V +/W +/X +/Y +/Z +/bracketleft +/backslash +/bracketright +/asciicircum +/underscore +/quoteleft +/a +/b +/c +/d +/e +/f +/g +/h +/i +/j +/k +/l +/m +/n +/o +/p +/q +/r +/s +/t +/u +/v +/w +/x +/y +/z +/braceleft +/bar +/braceright +/asciitilde +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/exclamdown +/cent +/sterling +/fraction +/yen +/florin +/section +/currency +/quotesingle +/quotedblleft +/guillemotleft +/guilsinglleft +/guilsinglright +/fi +/fl +/.notdef +/endash +/dagger +/daggerdbl +/periodcentered +/.notdef +/paragraph +/bullet +/quotesinglbase +/quotedblbase +/quotedblright +/guillemotright +/ellipsis +/perthousand +/.notdef +/questiondown +/.notdef +/grave +/acute +/circumflex +/tilde +/macron +/breve +/dotaccent +/dieresis +/.notdef +/ring +/cedilla +/.notdef +/hungarumlaut +/ogonek +/caron +/emdash +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/AE +/.notdef +/ordfeminine +/.notdef +/.notdef +/.notdef +/.notdef +/Lslash +/Oslash +/OE +/ordmasculine +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/ae +/.notdef +/.notdef +/.notdef +/dotlessi +/.notdef +/.notdef +/lslash +/oslash +/oe +/germandbls +/.notdef +/.notdef +/.notdef +/.notdef +] def + + +File: fontname.info, Node: 8a, Next: 8r, Prev: 6w, Up: Encodings + +B.2 `8a.enc': Adobe standard encoding +===================================== + +% @psencodingfile{ +% author = "Adobe", +% version = "1.1", +% date = "12jun05", +% filename = "8a.enc", +% license = "public domain", +% email = "tex-fonts@tug.org", +% codetable = "ISO/ASCII", +% docstring = "Adobe StandardEncoding as an afm2tfm/dvips .enc file." +% } +% 12jun05 - comment changes only. +/StandardEncoding [ +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/space +/exclam +/quotedbl +/numbersign +/dollar +/percent +/ampersand +/quoteright +/parenleft +/parenright +/asterisk +/plus +/comma +/hyphen +/period +/slash +/zero +/one +/two +/three +/four +/five +/six +/seven +/eight +/nine +/colon +/semicolon +/less +/equal +/greater +/question +/at +/A +/B +/C +/D +/E +/F +/G +/H +/I +/J +/K +/L +/M +/N +/O +/P +/Q +/R +/S +/T +/U +/V +/W +/X +/Y +/Z +/bracketleft +/backslash +/bracketright +/asciicircum +/underscore +/quoteleft +/a +/b +/c +/d +/e +/f +/g +/h +/i +/j +/k +/l +/m +/n +/o +/p +/q +/r +/s +/t +/u +/v +/w +/x +/y +/z +/braceleft +/bar +/braceright +/asciitilde +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/exclamdown +/cent +/sterling +/fraction +/yen +/florin +/section +/currency +/quotesingle +/quotedblleft +/guillemotleft +/guilsinglleft +/guilsinglright +/fi +/fl +/.notdef +/endash +/dagger +/daggerdbl +/periodcentered +/.notdef +/paragraph +/bullet +/quotesinglbase +/quotedblbase +/quotedblright +/guillemotright +/ellipsis +/perthousand +/.notdef +/questiondown +/.notdef +/grave +/acute +/circumflex +/tilde +/macron +/breve +/dotaccent +/dieresis +/.notdef +/ring +/cedilla +/.notdef +/hungarumlaut +/ogonek +/caron +/emdash +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/AE +/.notdef +/ordfeminine +/.notdef +/.notdef +/.notdef +/.notdef +/Lslash +/Oslash +/OE +/ordmasculine +/.notdef +/.notdef +/.notdef +/.notdef +/.notdef +/ae +/.notdef +/.notdef +/.notdef +/dotlessi +/.notdef +/.notdef +/lslash +/oslash +/oe +/germandbls +/.notdef +/.notdef +/.notdef +/.notdef +] def + + +File: fontname.info, Node: 8r, Next: dvips, Prev: 8a, Up: Encodings + +B.3 `8r.enc': TeX base encoding +=============================== + +% File 8r.enc TeX Base 1 Encoding Revision 2.0 2002-10-30 +% +% @@psencodingfile@{ +% author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry, +% W. Schmidt, P. Lehman", +% version = "2.0", +% date = "27nov06", +% filename = "8r.enc", +% email = "tex-fonts@@tug.org", +% docstring = "This is the encoding vector for Type1 and TrueType +% fonts to be used with TeX. This file is part of the +% PSNFSS bundle, version 9" +% @} +% +% The idea is to have all the characters normally included in Type 1 fonts +% available for typesetting. This is effectively the characters in Adobe +% Standard encoding, ISO Latin 1, Windows ANSI including the euro symbol, +% MacRoman, and some extra characters from Lucida. +% +% Character code assignments were made as follows: +% +% (1) the Windows ANSI characters are almost all in their Windows ANSI +% positions, because some Windows users cannot easily reencode the +% fonts, and it makes no difference on other systems. The only Windows +% ANSI characters not available are those that make no sense for +% typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen +% (173). quotesingle and grave are moved just because it's such an +% irritation not having them in TeX positions. +% +% (2) Remaining characters are assigned arbitrarily to the lower part +% of the range, avoiding 0, 10 and 13 in case we meet dumb software. +% +% (3) Y&Y Lucida Bright includes some extra text characters; in the +% hopes that other PostScript fonts, perhaps created for public +% consumption, will include them, they are included starting at 0x12. +% These are /dotlessj /ff /ffi /ffl. +% +% (4) hyphen appears twice for compatibility with both ASCII and Windows. +% +% (5) /Euro was assigned to 128, as in Windows ANSI +% +% (6) Missing characters from MacRoman encoding incorporated as follows: +% +% PostScript MacRoman TeXBase1 +% -------------- -------------- -------------- +% /notequal 173 0x16 +% /infinity 176 0x17 +% /lessequal 178 0x18 +% /greaterequal 179 0x19 +% /partialdiff 182 0x1A +% /summation 183 0x1B +% /product 184 0x1C +% /pi 185 0x1D +% /integral 186 0x81 +% /Omega 189 0x8D +% /radical 195 0x8E +% /approxequal 197 0x8F +% /Delta 198 0x9D +% /lozenge 215 0x9E +% +/TeXBase1Encoding [ +% 0x00 + /.notdef /dotaccent /fi /fl + /fraction /hungarumlaut /Lslash /lslash + /ogonek /ring /.notdef /breve + /minus /.notdef /Zcaron /zcaron +% 0x10 + /caron /dotlessi /dotlessj /ff + /ffi /ffl /notequal /infinity + /lessequal /greaterequal /partialdiff /summation + /product /pi /grave /quotesingle +% 0x20 + /space /exclam /quotedbl /numbersign + /dollar /percent /ampersand /quoteright + /parenleft /parenright /asterisk /plus + /comma /hyphen /period /slash +% 0x30 + /zero /one /two /three + /four /five /six /seven + /eight /nine /colon /semicolon + /less /equal /greater /question +% 0x40 + /at /A /B /C + /D /E /F /G + /H /I /J /K + /L /M /N /O +% 0x50 + /P /Q /R /S + /T /U /V /W + /X /Y /Z /bracketleft + /backslash /bracketright /asciicircum /underscore +% 0x60 + /quoteleft /a /b /c + /d /e /f /g + /h /i /j /k + /l /m /n /o +% 0x70 + /p /q /r /s + /t /u /v /w + /x /y /z /braceleft + /bar /braceright /asciitilde /.notdef +% 0x80 + /Euro /integral /quotesinglbase /florin + /quotedblbase /ellipsis /dagger /daggerdbl + /circumflex /perthousand /Scaron /guilsinglleft + /OE /Omega /radical /approxequal +% 0x90 + /.notdef /.notdef /.notdef /quotedblleft + /quotedblright /bullet /endash /emdash + /tilde /trademark /scaron /guilsinglright + /oe /Delta /lozenge /Ydieresis +% 0xA0 + /.notdef /exclamdown /cent /sterling + /currency /yen /brokenbar /section + /dieresis /copyright /ordfeminine /guillemotleft + /logicalnot /hyphen /registered /macron +% 0xB0 + /degree /plusminus /twosuperior /threesuperior + /acute /mu /paragraph /periodcentered + /cedilla /onesuperior /ordmasculine /guillemotright + /onequarter /onehalf /threequarters /questiondown +% 0xC0 + /Agrave /Aacute /Acircumflex /Atilde + /Adieresis /Aring /AE /Ccedilla + /Egrave /Eacute /Ecircumflex /Edieresis + /Igrave /Iacute /Icircumflex /Idieresis +% 0xD0 + /Eth /Ntilde /Ograve /Oacute + /Ocircumflex /Otilde /Odieresis /multiply + /Oslash /Ugrave /Uacute /Ucircumflex + /Udieresis /Yacute /Thorn /germandbls +% 0xE0 + /agrave /aacute /acircumflex /atilde + /adieresis /aring /ae /ccedilla + /egrave /eacute /ecircumflex /edieresis + /igrave /iacute /icircumflex /idieresis +% 0xF0 + /eth /ntilde /ograve /oacute + /ocircumflex /otilde /odieresis /divide + /oslash /ugrave /uacute /ucircumflex + /udieresis /yacute /thorn /ydieresis +] def + + +File: fontname.info, Node: dvips, Next: ec, Prev: 8r, Up: Encodings + +B.4 `dvips.enc': Dvips encoding +=============================== + +% @psencodingfile{ +% author = "T. Rokicki, K. Berry", +% version = "2.1", +% date = "12jun05", +% filename = "dvips.enc", +% email = "tex-fonts@tug.org", +% codetable = "ISO/ASCII", +% docstring = "An encoding for PostScript fonts to be used with TeX. +% +% This is almost the default encoding produced by the afm2tfm program +% that comes with the dvips distribution, when it is applied to a +% StandardEncoding PostScript font. The positions of the accented +% characters (which afm2tfm assigned more or less randomly in the +% previous set of fonts) have been held fixed. +% +% It is almost upward-compatible with TeX text. (The primary exceptions +% are dotaccent and hungarumlaut.) Some of the ligatures are also in +% different positions, but this is not important, since ligature +% positions are defined in the TFM file, not by macros. +% +% The character positions were assigned in this order: +% 1) non-composite characters in the afm2tfm encoding (except dotlessj +% was included in its plain TeX position); +% 2) available characters in the Cork (EC) encoding; +% 3) remaining composite characters in the base encoding (starting at +% position 130 decimal). We don't include all the other base +% characters because that changes the height/depth/width tables in +% the TFM files (because more characters mean more distinct values). +% +% We leave the initial positions open for the Greek letters in Times-Roman. +% " +% } +% 12jun05 - don't use extra @'s for Texinfo any more. +% +/DvipsEncoding [ + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef + /.notdef /quotesingle /exclamdown /questiondown + /dotlessi /dotlessj /grave /acute /caron /breve /macron /ring + /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash + /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright + /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash + /zero /one /two /three /four /five /six /seven + /eight /nine /colon /semicolon /less /equal /greater /question + /at /A /B /C /D /E /F /G + /H /I /J /K /L /M /N /O + /P /Q /R /S /T /U /V /W + /X /Y /Z /bracketleft /backslash /bracketright /circumflex /underscore + /quoteleft /a /b /c /d /e /f /g + /h /i /j /k /l /m /n /o + /p /q /r /s /t /u /v /w + /x /y /z /braceleft /bar /braceright /tilde /dieresis + /asciicircum /asciitilde /Ccedilla /Iacute + /Icircumflex /atilde /edieresis /egrave + /scaron /zcaron /Eth /ff /ffi /ffl /.notdef /.notdef + /.notdef /.notdef /Scaron /.notdef /.notdef /.notdef /.notdef /.notdef + /Ydieresis /.notdef /Zcaron /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /cent /sterling /fraction /yen /florin /section + /currency /copyright /quotedblleft /guillemotleft + /guilsinglleft /guilsinglright /fi /fl + /degree /endash /dagger /daggerdbl /periodcentered /.notdef /paragraph /bullet + /quotesinglbase /quotedblbase /quotedblright /guillemotright + /ellipsis /perthousand /.notdef /.notdef + /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /.notdef /dotaccent + /Egrave /Eacute /Ecircumflex /Edieresis + /Igrave /hungarumlaut /ogonek /Idieresis + /emdash /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /.notdef + /.notdef /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /.notdef + /agrave /aacute /acircumflex /ordfeminine + /adieresis /aring /.notdef /ccedilla + /Lslash /eacute /ecircumflex /ordmasculine + /igrave /iacute /icircumflex /idieresis + /.notdef /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /.notdef + /lslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis +] def + + +File: fontname.info, Node: ec, Next: groff, Prev: dvips, Up: Encodings + +B.5 `ec.enc': Cork encoding +=========================== + +% @@psencodingfile@{ +% date = "24feb10", +% filename = "ec.enc", +% email = "tex-fonts@@tug.org", +% docstring = "This is the EC (aka Cork aka T1) encoding vector +% for 8-bit fonts to be used with TeX." +% @} +% +% The original paper can be found on +% https://www.tug.org/TUGboat/Articles/tb11-4/tb30ferguson.pdf +% +% Names of the glyphs try to comply with: +% Adobe Glyph List For New Fonts, ver. 1.6, 30 Januaury 2006 +% http://partners.adobe.com/public/developer/en/opentype/aglfn13.txt +% but some exceptions are listed below. +% +% The following characters are not present in Unicode: +% - /perthousandzero = used to compose /perthousand, /pertenthousand, ... out of /percent + this character +% - Germandbls = now there is a related character in Unicode, +% U+1E9E - LATIN CAPITAL LETTER SHARP S +% but probably /S_S ligature name should be used instead +% +% The following two characters have different Unicode mappings than on the AGL: +% - /tcedilla = U+0163 - LATIN SMALL LETTER T WITH CEDILLA +% according to AGL it should be /tcommaaccent +% - /Tcedilla = U+0162 - LATIN CAPITAL LETTER T WITH CEDILLA +% according to AGL it should be /Tcommaaccent +% But having /scedilla and /tcommaaccent mixed is even more ugly. +% +% The following characters are not present on the AGL: +% - /dotlessj = U+0237 - LATIN SMALL LETTER DOTLESS J +% - /cwm = U+200B - ZERO WIDTH SPACE +% - /visiblespace = U+2423 - OPEN BOX +% and should probably better be labeled with uniXXXX notation +% (though hardly any font has those glyphs anyway). +% +% The following ligatures are deprecated by recent AGL: +% - /ff, /fi, /fl, /ffi, /ffl = /f_i and similar should have been used instead +% +% Hyphen character: +% There are two character named "hyphen". The original article explains +% the background of this decision (if one wanted to use a different +% hyphenation character and still be able to use the dash). So the first +% character should serve as "hyphen char" and the other one as "dash" in +% compound words. The character 0x2D is supposed to be the hyphen char, +% but since there used to be two characters of the same name in this +% file for some time, the tools like afmtotfm have been confused and +% remapped the hyphen char to 0x7F automatically. After the second +% character's name was changed, hyphenation characters in existing +% tfm fonts (generated with the old ec.enc) have disappeared, so the +% second character has been renamed back to "hyphen". Anyone generating +% tfm fonts is strongly encouraged to make a copy of this file, rename +% it and change glyph names as required for their font. +% +% Other remarks: +% - /Eth = U+00D0 - LATIN CAPITAL LETTER ETH +% must also be used as /Dcroat +% U+0110 - LATIN CAPITAL LETTER D WITH STROKE +% +% Misleading names and shapes of letters (that lead to different names in past) +% - /lcaron = U+013E - LATIN SMALL LETTER L WITH CARON +% /lquoteright +% - /Lcaron = U+013D - LATIN CAPITAL LETTER L WITH CARON +% /Lquoteright +% - /dcaron = U+010F - LATIN SMALL LETTER D WITH CARON +% /dquoteright +% - /tcaron = U+0165 - LATIN SMALL LETTER T WITH CARON +% /tquoteright +% - /dcroat = U+0111 - LATIN SMALL LETTER D WITH STROKE +% /dbar, /dmacron +% +% - /cwm - /bom, /zerowidthnobreakspace +% - /underscore - /underline +% - /hyphen.alt - /sfthyphen, /hyphen, /dash +% +% +% Turkish & Romanian +% -------------------- +% EC encoding has been defined to include /tcedilla and /scedilla. +% For Turkish one needs /scedilla, while for Romanian one would need +% "t with comma below" (/tcommaaccent) and "s with comma below" (/scommaaccent). +% "t with cedilla" in not used in any language except in inferior +% Romanian typography that can use cedillas instead of commas below. +% AGL has a strange mapping as well. +% +% Without adding an additional character, it is impossible to support both +% languages at the same time, so EC is not really best choice for Romanians, +% even though it can be "misused" if one replaces both /scedilla and /tcedilla +% with /scommaaccent and /tcommaaccent. +% +% Characters that have been renamed in July 2008: +% 0x18 /zeroinferior -> /perthousandzero +% 0x20 U+2423 /visualspace -> /visiblespace (if font doesn't have it, use /space) +% 0x8D U+014A /Ng -> /Eng +% 0x9E U+0111 /dbar -> /dcroat +% 0xAD U+014B /ng -> /eng +% 0xB4 U+0165 /tquoteright -> /tcaron +% +% Although these ligatures and kerns are somewhat questionable to have +% in an encoding file, they've been here forever, and they are +% traditional in the TeX world, so we preserve them. +% +% LIGKERN space l =: lslash ; space L =: Lslash ; +% LIGKERN question quoteleft =: questiondown ; exclam quoteleft =: exclamdown ; +% LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ; +% LIGKERN quoteleft quoteleft =: quotedblleft ; +% LIGKERN quoteright quoteright =: quotedblright ; +% +% We blow away kerns to and from spaces (TeX doesn't have a +% space) and also remove any kerns from the numbers (although +% the only kern pair that mentions a number in Times-Roman.afm +% is one one.) +% +% LIGKERN space {} * ; * {} space ; zero {} * ; * {} zero ; +% LIGKERN one {} * ; * {} one ; two {} * ; * {} two ; +% LIGKERN three {} * ; * {} three ; four {} * ; * {} four ; +% LIGKERN five {} * ; * {} five ; six {} * ; * {} six ; +% LIGKERN seven {} * ; * {} seven ; eight {} * ; * {} eight ; +% LIGKERN nine {} * ; * {} nine ; +% LIGKERN comma comma =: quotedblbase ; less less =: guillemotleft ; +% LIGKERN greater greater =: guillemotright ; +% +/ECEncoding [ % now 256 chars follow +/grave % 0x00 U+0060 +/acute % 0x01 U+00B4 +/circumflex % 0x02 U+02C6 +/tilde % 0x03 U+02DC +/dieresis % 0x04 U+00A8 +/hungarumlaut % 0x05 U+02DD +/ring % 0x06 U+02DA +/caron % 0x07 U+02C7 +/breve % 0x08 U+02D8 +/macron % 0x09 U+00AF +/dotaccent % 0x0A U+02D9 +/cedilla % 0x0B U+00B8 +/ogonek % 0x0C U+02DB +/quotesinglbase % 0x0D U+201A +/guilsinglleft % 0x0E U+2039 +/guilsinglright % 0x0F U+203A +/quotedblleft % 0x10 U+201C +/quotedblright % 0x11 U+201D +/quotedblbase % 0x12 U+201E +/guillemotleft % 0x13 U+00AB +/guillemotright % 0x14 U+00BB +/endash % 0x15 U+2013 +/emdash % 0x16 U+2014 +/cwm % 0x17 U+200B +/perthousandzero % 0x18 ______ +/dotlessi % 0x19 U+0131 +/dotlessj % 0x1A U+0237 +/ff % 0x1B U+FB00 +/fi % 0x1C U+FB01 +/fl % 0x1D U+FB02 +/ffi % 0x1E U+FB03 +/ffl % 0x1F U+FB04 +/visiblespace % 0x20 U+2423 +/exclam % 0x21 +/quotedbl % 0x22 +/numbersign % 0x23 +/dollar % 0x24 +/percent % 0x25 +/ampersand % 0x26 +/quoteright % 0x27 U+2019 +/parenleft % 0x28 +/parenright % 0x29 +/asterisk % 0x2A +/plus % 0x2B +/comma % 0x2C +/hyphen % 0x2D +/period % 0x2E +/slash % 0x2F +/zero % 0x30 +/one % 0x31 +/two % 0x32 +/three % 0x33 +/four % 0x34 +/five % 0x35 +/six % 0x36 +/seven % 0x37 +/eight % 0x38 +/nine % 0x39 +/colon % 0x3A +/semicolon % 0x3B +/less % 0x3C +/equal % 0x3D +/greater % 0x3E +/question % 0x3F +/at % 0x40 +/A % 0x41 +/B % 0x42 +/C % 0x43 +/D % 0x44 +/E % 0x45 +/F % 0x46 +/G % 0x47 +/H % 0x48 +/I % 0x49 +/J % 0x4A +/K % 0x4B +/L % 0x4C +/M % 0x4D +/N % 0x4E +/O % 0x4F +/P % 0x50 +/Q % 0x51 +/R % 0x52 +/S % 0x53 +/T % 0x54 +/U % 0x55 +/V % 0x56 +/W % 0x57 +/X % 0x58 +/Y % 0x59 +/Z % 0x5A +/bracketleft % 0x5B +/backslash % 0x5C +/bracketright % 0x5D +/asciicircum % 0x5E +/underscore % 0x5F +/quoteleft % 0x60 U+2018 +/a % 0x61 +/b % 0x62 +/c % 0x63 +/d % 0x64 +/e % 0x65 +/f % 0x66 +/g % 0x67 +/h % 0x68 +/i % 0x69 +/j % 0x6A +/k % 0x6B +/l % 0x6C +/m % 0x6D +/n % 0x6E +/o % 0x6F +/p % 0x70 +/q % 0x71 +/r % 0x72 +/s % 0x73 +/t % 0x74 +/u % 0x75 +/v % 0x76 +/w % 0x77 +/x % 0x78 +/y % 0x79 +/z % 0x7A +/braceleft % 0x7B +/bar % 0x7C +/braceright % 0x7D +/asciitilde % 0x7E +/hyphen % 0x7F U+002D (explicit "hyphen char") +/Abreve % 0x80 U+0102 +/Aogonek % 0x81 U+0104 +/Cacute % 0x82 U+0106 +/Ccaron % 0x83 U+010C +/Dcaron % 0x84 U+010E +/Ecaron % 0x85 U+011A +/Eogonek % 0x86 U+0118 +/Gbreve % 0x87 U+011E +/Lacute % 0x88 U+0139 +/Lcaron % 0x89 U+013D +/Lslash % 0x8A U+0141 +/Nacute % 0x8B U+0143 +/Ncaron % 0x8C U+0147 +/Eng % 0x8D U+014A +/Ohungarumlaut % 0x8E U+0150 +/Racute % 0x8F U+0154 +/Rcaron % 0x90 U+0158 +/Sacute % 0x91 U+015A +/Scaron % 0x92 U+0160 +/Scedilla % 0x93 U+015E +/Tcaron % 0x94 U+0164 +/Tcedilla % 0x95 U+0162 +/Uhungarumlaut % 0x96 U+0170 +/Uring % 0x97 U+016E +/Ydieresis % 0x98 U+0178 +/Zacute % 0x99 U+0179 +/Zcaron % 0x9A U+017D +/Zdotaccent % 0x9B U+017B +/IJ % 0x9C U+0132 +/Idotaccent % 0x9D U+0130 +/dcroat % 0x9E U+0111 +/section % 0x9F U+00A7 +/abreve % 0xA0 U+0103 +/aogonek % 0xA1 U+0105 +/cacute % 0xA2 U+0107 +/ccaron % 0xA3 U+010D +/dcaron % 0xA4 U+010F +/ecaron % 0xA5 U+011B +/eogonek % 0xA6 U+0119 +/gbreve % 0xA7 U+011F +/lacute % 0xA8 U+013A +/lcaron % 0xA9 U+013E +/lslash % 0xAA U+0142 +/nacute % 0xAB U+0144 +/ncaron % 0xAC U+0148 +/eng % 0xAD U+014B +/ohungarumlaut % 0xAE U+0151 +/racute % 0xAF U+0155 +/rcaron % 0xB0 U+0159 +/sacute % 0xB1 U+015B +/scaron % 0xB2 U+0161 +/scedilla % 0xB3 U+015F +/tcaron % 0xB4 U+0165 +/tcedilla % 0xB5 U+0163 +/uhungarumlaut % 0xB6 U+0171 +/uring % 0xB7 U+016F +/ydieresis % 0xB8 U+00FF +/zacute % 0xB9 U+017A +/zcaron % 0xBA U+017E +/zdotaccent % 0xBB U+017C +/ij % 0xBC U+0133 +/exclamdown % 0xBD U+00A1 +/questiondown % 0xBE U+00BF +/sterling % 0xBF U+00A3 +/Agrave % 0xC0 +/Aacute % 0xC1 +/Acircumflex % 0xC2 +/Atilde % 0xC3 +/Adieresis % 0xC4 +/Aring % 0xC5 +/AE % 0xC6 +/Ccedilla % 0xC7 +/Egrave % 0xC8 +/Eacute % 0xC9 +/Ecircumflex % 0xCA +/Edieresis % 0xCB +/Igrave % 0xCC +/Iacute % 0xCD +/Icircumflex % 0xCE +/Idieresis % 0xCF +/Eth % 0xD0 +/Ntilde % 0xD1 +/Ograve % 0xD2 +/Oacute % 0xD3 +/Ocircumflex % 0xD4 +/Otilde % 0xD5 +/Odieresis % 0xD6 +/OE % 0xD7 U+0152 +/Oslash % 0xD8 +/Ugrave % 0xD9 +/Uacute % 0xDA +/Ucircumflex % 0xDB +/Udieresis % 0xDC +/Yacute % 0xDD +/Thorn % 0xDE +/Germandbls % 0xDF (U+1E9E, /S_S) +/agrave % 0xE0 +/aacute % 0xE1 +/acircumflex % 0xE2 +/atilde % 0xE3 +/adieresis % 0xE4 +/aring % 0xE5 +/ae % 0xE6 +/ccedilla % 0xE7 +/egrave % 0xE8 +/eacute % 0xE9 +/ecircumflex % 0xEA +/edieresis % 0xEB +/igrave % 0xEC +/iacute % 0xED +/icircumflex % 0xEE +/idieresis % 0xEF +/eth % 0xF0 +/ntilde % 0xF1 +/ograve % 0xF2 +/oacute % 0xF3 +/ocircumflex % 0xF4 +/otilde % 0xF5 +/odieresis % 0xF6 +/oe % 0xF7 U+0153 +/oslash % 0xF8 +/ugrave % 0xF9 +/uacute % 0xFA +/ucircumflex % 0xFB +/udieresis % 0xFC +/yacute % 0xFD +/thorn % 0xFE +/germandbls % 0xFF U+00DF +] def + + +File: fontname.info, Node: groff, Next: t5, Prev: ec, Up: Encodings + +B.6 `groff.enc': groff encoding +=============================== + +%!PS-Adobe-3.0 Resource-Encoding +% +% @psencodingfile{ +% author = "Werner Lemberg, Michail Vidiassov", +% version = "1.0", +% date = "2006-Feb-03", +% filename = "groff.enc", +% license = "public domain", +% email = "groff@gnu.org", +% docstring = "Groff default text encoding. Used with MetaPost." +% } + +%%BeginResource: encoding groffEncoding +/groffEncoding [ +% 0x00 | 0 + /asciicircum /asciitilde /Scaron /Zcaron + /scaron /zcaron /Ydieresis /trademark + /quotesingle /Euro /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef +% 0x10 | 16 + /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef +% 0x20 | 32 + /space /exclam /quotedbl /numbersign + /dollar /percent /ampersand /quoteright + /parenleft /parenright /asterisk /plus + /comma /hyphen /period /slash +% 0x30 | 48 + /zero /one /two /three + /four /five /six /seven + /eight /nine /colon /semicolon + /less /equal /greater /question +% 0x40 | 64 + /at /A /B /C + /D /E /F /G + /H /I /J /K + /L /M /N /O +% 0x50 | 80 + /P /Q /R /S + /T /U /V /W + /X /Y /Z /bracketleft + /backslash /bracketright /circumflex /underscore +% 0x60 | 96 + /quoteleft /a /b /c + /d /e /f /g + /h /i /j /k + /l /m /n /o +% 0x70 | 112 + /p /q /r /s + /t /u /v /w + /x /y /z /braceleft + /bar /braceright /tilde /.notdef +% 0x80 | 128 + /quotesinglbase /guillemotleft /guillemotright /bullet + /florin /fraction /perthousand /dagger + /daggerdbl /endash /emdash /ff + /fi /fl /ffi /ffl +% 0x90 | 144 + /dotlessi /dotlessj /grave /hungarumlaut + /dotaccent /breve /caron /ring + /ogonek /quotedblleft /quotedblright /oe + /lslash /quotedblbase /OE /Lslash +% 0xA0 | 160 + /.notdef /exclamdown /cent /sterling + /currency /yen /brokenbar /section + /dieresis /copyright /ordfeminine /guilsinglleft + /logicalnot /minus /registered /macron +% 0xB0 | 176 + /degree /plusminus /twosuperior /threesuperior + /acute /mu /paragraph /periodcentered + /cedilla /onesuperior /ordmasculine /guilsinglright + /onequarter /onehalf /threequarters /questiondown +% 0xC0 | 192 + /Agrave /Aacute /Acircumflex /Atilde + /Adieresis /Aring /AE /Ccedilla + /Egrave /Eacute /Ecircumflex /Edieresis + /Igrave /Iacute /Icircumflex /Idieresis +% 0xD0 | 208 + /Eth /Ntilde /Ograve /Oacute + /Ocircumflex /Otilde /Odieresis /multiply + /Oslash /Ugrave /Uacute /Ucircumflex + /Udieresis /Yacute /Thorn /germandbls +% 0xE0 | 224 + /agrave /aacute /acircumflex /atilde + /adieresis /aring /ae /ccedilla + /egrave /eacute /ecircumflex /edieresis + /igrave /iacute /icircumflex /idieresis +% 0xF0 | 240 + /eth /ntilde /ograve /oacute + /ocircumflex /otilde /odieresis /divide + /oslash /ugrave /uacute /ucircumflex + /udieresis /yacute /thorn /ydieresis +] def +%%EndResource + +% eof + + +File: fontname.info, Node: t5, Next: qx, Prev: groff, Up: Encodings + +B.7 `t5.enc': T5 encoding +========================= + +% Copyright 2000-2005 Werner Lemberg <wl@gnu.org>. +% This file is part of vntex. License: LPPL, version 1.3 or newer, +% according to http://www.latex-project.org/lppl.txt +% +% +% t5.enc +% +% +% This is LaTeX T5 encoding for Vietnamese +% +% history: +% version 1.0 (28-Jan-2000): +% First version. +% +% version 1.1 (29-Apr-2002): +% Rewritten to make it AGL compliant. +% +% version 1.2 (01-May-2002): +% Use uni2423 instead uni2420. +% +% version 1.3 (27-Sep-2002): +% . Changed the following glyph names to Unicode entities: +% 0xB3 uni1EBD etilde +% 0x93 uni1EBC Etilde +% . Ytilde (uni1EF8) was used in slot for ytilde (uni1EF9). +% . Using .notdef in slot for compound word mark (on position 0x17) +% caused some problems so it was changed to cwm (for compatibilty +% with ec.enc). +% . Use sfthyphen in slot 127 instead of hyphen. +% +% version 1.4 (20-Apr-2005): +% Add copyright. +% Minor documentation updates. +% +% LIGKERN hyphen hyphen =: endash ; +% LIGKERN endash hyphen =: emdash ; +% LIGKERN quoteleft quoteleft =: quotedblleft ; +% LIGKERN quoteright quoteright =: quotedblright ; +% LIGKERN comma comma =: quotedblbase ; +% +% We blow away kerns to and from spaces (TeX doesn't have a +% space) and also remove any kerns from the numbers. +% +% LIGKERN space {} * ; * {} space ; +% LIGKERN zero {} * ; * {} zero ; +% LIGKERN one {} * ; * {} one ; +% LIGKERN two {} * ; * {} two ; +% LIGKERN three {} * ; * {} three ; +% LIGKERN four {} * ; * {} four ; +% LIGKERN five {} * ; * {} five ; +% LIGKERN six {} * ; * {} six ; +% LIGKERN seven {} * ; * {} seven ; +% LIGKERN eight {} * ; * {} eight ; +% LIGKERN nine {} * ; * {} nine ; +% +% +% Some notes on the glyph names: +% +% . We follow the Adobe Glyph List (AGL), also using its associated +% algorithm. +% +% . The glyphs `spacing dot below' (on position 0x05), `spacing hook above' +% (on position 0x0C), and `compound word mark' (on position 0x17) are not +% in Unicode. We call them `dotbelow', `hookabove', and `cwm', +% respectively. +% +% . The following glyphs have no special name in the AGL (or names which +% should not be used in general) and are thus represented as a Unicode +% entity: +% +% 0x1A uni1EF6 Y hook above +% 0x1B uni1EF7 y hook above +% 0x1C uni1EF4 Y dot below +% 0x1D uni1EF5 y dot below +% +% 0x20 uni2423 graphic symbol for space +% +% 0x83 uni1EA2 A hook above +% 0x84 uni1EA0 A dot below +% 0x86 uni1EA6 A circumflex grave +% 0x87 uni1EA4 A circumflex acute +% 0x88 uni1EAA A circumflex tilde +% 0x89 uni1EA8 A circumflex hook above +% 0x8A uni1EAC A circumflex dot below +% 0x8C uni1EB0 A breve grave +% 0x8D uni1EAE A breve acute +% 0x8E uni1EB4 A breve tilde +% 0x8F uni1EB2 A breve hook above +% 0x90 uni1EB6 A breve dot below +% +% 0x93 uni1EBC E tilde +% 0x94 uni1EBA E hook above +% 0x95 uni1EB8 E dot below +% 0x97 uni1EC0 E circumflex grave +% 0x98 uni1EBE E circumflex acute +% 0x99 uni1EC4 E circumflex tilde +% 0x9A uni1EC2 E circumflex hook above +% 0x9B uni1EC6 E circumflex dot below +% +% 0x9F uni1EC8 I hook above +% +% 0xA3 uni1EA3 a hook above +% 0xA4 uni1EA1 a dot below +% 0xA6 uni1EA7 a circumflex grave +% 0xA7 uni1EA5 a circumflex acute +% 0xA8 uni1EAB a circumflex tilde +% 0xA9 uni1EA9 a circumflex hook above +% 0xAA uni1EAD a circumflex dot below +% 0xAC uni1EB1 a breve grave +% 0xAD uni1EAF a breve acute +% 0xAE uni1EB5 a breve tilde +% 0xAF uni1EB3 a breve hook above +% 0xB0 uni1EB7 a breve dot below +% +% 0xB3 uni1EBD e tilde +% 0xB4 uni1EBB e hook above +% 0xB5 uni1EB9 e dot below +% 0xB7 uni1EC1 e circumflex grave +% 0xB8 uni1EBF e circumflex acute +% 0xB9 uni1EC5 e circumflex tilde +% 0xBA uni1EC3 e circumflex hook above +% 0xBB uni1EC7 e circumflex dot below +% +% 0xBF uni1EC9 i hook above +% +% 0xC0 uni1ECA I dot below +% +% 0xC4 uni1ECE O hook above +% 0xC5 uni1ECC O dot below +% 0xC7 uni1ED2 O circumflex grave +% 0xC8 uni1ED0 O circumflex acute +% 0xC9 uni1ED6 O circumflex tilde +% 0xCA uni1ED4 O circumflex hook above +% 0xCB uni1ED8 O circumflex dot below +% 0xCD uni1EDC O horn grave +% 0xCE uni1EDA O horn acute +% 0xCF uni1EE0 O horn tilde +% 0xD0 uni1EDE O horn hook above +% 0xD1 uni1EE2 O horn dot below +% +% 0xD5 uni1EE6 U hook above +% 0xD6 uni1EE4 U dot below +% 0xD8 uni1EEA U horn grave +% 0xD9 uni1EE8 U horn acute +% 0xDA uni1EEE U horn tilde +% 0xDB uni1EEC U horn hook above +% 0xDC uni1EF0 U horn dot below +% +% 0xDF uni1EF8 Y tilde +% +% 0xE0 uni1ECB i dot below +% +% 0xE4 uni1ECF o hook above +% 0xE5 uni1ECD o dot below +% 0xE7 uni1ED3 o circumflex grave +% 0xE8 uni1ED1 o circumflex acute +% 0xE9 uni1ED7 o circumflex tilde +% 0xEA uni1ED5 o circumflex hook above +% 0xEB uni1ED9 o circumflex dot below +% 0xED uni1EDD o horn grave +% 0xEE uni1EDB o horn acute +% 0xEF uni1EE1 o horn tilde +% 0xF0 uni1EDF o horn hook above +% 0xF1 uni1EE3 o horn dot below +% +% 0xF5 uni1EE7 u hook above +% 0xF6 uni1EE5 u dot below +% 0xF8 uni1EEB u horn grave +% 0xF9 uni1EE9 u horn acute +% 0xFA uni1EEF u horn tilde +% 0xFB uni1EED u horn hook above +% 0xFC uni1EF1 u horn dot below +% +% 0xFF uni1EF9 y tilde +/T5Encoding [ +% 0x00 + /grave /acute /circumflex /tilde + /dieresis /dotbelow /ring /caron + /breve /macron /dotaccent /cedilla + /hookabove /quotesinglbase /guilsinglleft /guilsinglright +% 0x10 + /quotedblleft /quotedblright /quotedblbase /guillemotleft + /guillemotright /endash /emdash /cwm + /zeroinferior /dotlessi /uni1EF6 /uni1EF7 + /uni1EF4 /uni1EF5 /Dcroat /dcroat +% 0x20 + /uni2423 /exclam /quotedbl /numbersign + /dollar /percent /ampersand /quoteright + /parenleft /parenright /asterisk /plus + /comma /hyphen /period /slash +% 0x30 + /zero /one /two /three + /four /five /six /seven + /eight /nine /colon /semicolon + /less /equal /greater /question +% 0x40 + /at /A /B /C + /D /E /F /G + /H /I /J /K + /L /M /N /O +% 0x50 + /P /Q /R /S + /T /U /V /W + /X /Y /Z /bracketleft + /backslash /bracketright /asciicircum /underscore +% 0x60 + /quoteleft /a /b /c + /d /e /f /g + /h /i /j /k + /l /m /n /o +% 0x70 + /p /q /r /s + /t /u /v /w + /x /y /z /braceleft + /bar /braceright /asciitilde /sfthyphen +% 0x80 + /Agrave /Aacute /Atilde /uni1EA2 + /uni1EA0 /Acircumflex /uni1EA6 /uni1EA4 + /uni1EAA /uni1EA8 /uni1EAC /Abreve + /uni1EB0 /uni1EAE /uni1EB4 /uni1EB2 +% 0x90 + /uni1EB6 /Egrave /Eacute /uni1EBC + /uni1EBA /uni1EB8 /Ecircumflex /uni1EC0 + /uni1EBE /uni1EC4 /uni1EC2 /uni1EC6 + /Igrave /Iacute /Itilde /uni1EC8 +% 0xA0 + /agrave /aacute /atilde /uni1EA3 + /uni1EA1 /acircumflex /uni1EA7 /uni1EA5 + /uni1EAB /uni1EA9 /uni1EAD /abreve + /uni1EB1 /uni1EAF /uni1EB5 /uni1EB3 +% 0xB0 + /uni1EB7 /egrave /eacute /uni1EBD + /uni1EBB /uni1EB9 /ecircumflex /uni1EC1 + /uni1EBF /uni1EC5 /uni1EC3 /uni1EC7 + /igrave /iacute /itilde /uni1EC9 +% 0xC0 + /uni1ECA /Ograve /Oacute /Otilde + /uni1ECE /uni1ECC /Ocircumflex /uni1ED2 + /uni1ED0 /uni1ED6 /uni1ED4 /uni1ED8 + /Ohorn /uni1EDC /uni1EDA /uni1EE0 +% 0xD0 + /uni1EDE /uni1EE2 /Ugrave /Uacute + /Utilde /uni1EE6 /uni1EE4 /Uhorn + /uni1EEA /uni1EE8 /uni1EEE /uni1EEC + /uni1EF0 /Ygrave /Yacute /uni1EF8 +% 0xE0 + /uni1ECB /ograve /oacute /otilde + /uni1ECF /uni1ECD /ocircumflex /uni1ED3 + /uni1ED1 /uni1ED7 /uni1ED5 /uni1ED9 + /ohorn /uni1EDD /uni1EDB /uni1EE1 +% 0xF0 + /uni1EDF /uni1EE3 /ugrave /uacute + /utilde /uni1EE7 /uni1EE5 /uhorn + /uni1EEB /uni1EE9 /uni1EEF /uni1EED + /uni1EF1 /ygrave /yacute /uni1EF9 +] def + +% end of t5.enc + + +File: fontname.info, Node: qx, Next: texmext, Prev: t5, Up: Encodings + +B.8 `qx.enc' +============ + +From GUST. + +% ========================================================================= + QX LAYOUT ver. 0.06 +% ========================================================================= +Release date: 24 August 2003 +Original URL: ftp://bop.eps.gda.pl/pub/qx/ +E-mail: JNSteam at gust.org.pl + +QX Layout is, actually, a pair of encodings: one for TeX and one for GUI +systems. QX layout has been worked out by the Polish TeX Users Group GUST as +a difficult compromise between needs and abilities. The character set of the +QX layout is expected to suffice for the typesetting of texts (using TeX) in +most of European languages. + +QX Encoding for TeX is based on EC (Cork Encoding) with a few characters +exchanged. E.g., gbreve, Gbreve, uring, and Uring, which can be obtained by +superimposing of an accent, are replaced by Lithuanian iogonek, Iogonek, +uogonek, and Uogonek, respectively, which should not be assembled form +separate elements; QX Encoding for GUI systems is a variant of the Code Page +1250 (and also includes Lithuanian characters with ogonek). + +After a long debate, we decided (in ver. 0.04 of the QX layout) to replace +omnipresent but actually nonexistent [tT]cedilla by Romanian [tT]commaaccent; +censequently, Turkish [sS]cedilla was replaced by [sS]commaaccent (still we +would recommend to keep the glyph of a [sS]cedilla character in a font). + +Under the pressure from euro currency funs, we included moreover an +Euro symbol (in ver. 0.05 of the QX layout). We assigned the slot +128 for it complying with Microsoft proposal for non-cyrillic fonts +(http://www.microsoft.com/typography/faq/faq12.htm): + + The symbol has been added to the following codepages at position + '0x80'; 1250 Eastern European, 1252 Western, 1253 Greek, 1254 Turkish, + 1257 Baltic, 1255 Hebrew, 1256 Arabic, 1258 Vietnamese, 874 Thai. + In 1251 Cyrillic the symbol will be added at position '0x88'. + +Therefore, we had to do something with a Lithuanian Iogonek character that +previously had occupied this slot. We decided to remove Thorn (222, Tcedilla +in CP 1250) and thorn (254, tcedilla in CP 1250) characters from the Windows +QX layout (we recommend, as with [sS]cedilla characters, to keep the glyphs +in a font) and use the freed slots for Iogonek (previously 128) and iogonek +(previously 144, now free), respectively. The TeX QX layout, fortunately, had +had the slot 128 already free, hence there was no need for rearrangement. + +Finally, we decided to change the name of a (non-standard) ligature +fk to f_k, complying with Adobe recommendations contained in: +http://partners.adobe.com/asn/developer/typeforum/unicodegn.html + +Most recent change (24.08.2003, ver. 0.06) was the extension of +the character set by ligatures ij, IJ (available only in the TeX +encoding) and a punctuation mark threequartersemdash. + +Below you'll find the comparison of basic layouts for TeX and GUI systems +with QX ver. 0.06. + +% =========================================================================== +% COMPARISON OF TeX LAYOUTS +% =========================================================================== +% CODE CM EC PL QX ver. 0.06 +% =========================================================================== + 0 00 Gamma grave Gamma alpha + 1 01 Delta acute Delta Delta + 2 02 Theta circumflex Theta beta + 3 03 Lambda tilde Lambda delta + 4 04 Xi dieresis Xi pi + 5 05 Pi hungarumlaut Pi Pi + 6 06 Sigma ring Sigma Sigma + 7 07 Upsilon caron Upsilon mu + 8 08 Phi breve Phi ellipsis + 9 09 Psi macron Psi f_k + 10 0A Omega dotaccent Omega Omega + 11 0B ff cedilla ff ff + 12 0C fi ogonek fi fi + 13 0D fl quotesinglbase fl fl + 14 0E ffi guilsinglleft ffi ffi + 15 0F ffl guilsinglright ffl ffl + 16 10 dotlessi quotedblleft dotlessi dotlessi + 17 11 dotlessj quotedblright dotlessj dotlessj + 18 12 grave quotedblbase grave grave + 19 13 acute guillemotleft acute acute + 20 14 caron guillemotright caron caron + 21 15 breve endash breve breve + 22 16 macron emdash macron macron + 23 17 ring compoundwordmark ring ring + 24 18 cedilla perthousand cedilla cedilla + 25 19 germandbls dotlessi germandbls germandbls + 26 1A ae dotlessj ae ae + 27 1B oe ff oe oe + 28 1C oslash fi oslash oslash + 29 1D AE fl AE AE + 30 1E OE ffi OE OE + 31 1F Oslash ffl Oslash Oslash + 32 20 suppress visualspace ogonek space + 33 21 exclam exclam exclam exclam + 34 22 quotedblright quotedbl quotedblright quotedblright + 35 23 numbersign numbersign numbersign numbersign + 36 24 dollar dollar dollar dollar + 37 25 percent percent percent percent + 38 26 ampersand ampersand ampersand ampersand + 39 27 quoteright quoteright quoteright quoteright + 40 28 parenleft parenleft parenleft parenleft + 41 29 parenright parenright parenright parenright + 42 2A asterisk asterisk asterisk asterisk + 43 2B plus plus plus plus + 44 2C comma comma comma comma + 45 2D hyphen hyphen hyphen hyphen + 46 2E period period period period + 47 2F slash slash slash slash + 48 30 zero zero zero zero + 49 31 one one one one + 50 32 two two two two + 51 33 three three three three + 52 34 four four four four + 53 35 five five five five + 54 36 six six six six + 55 37 seven seven seven seven + 56 38 eight eight eight eight + 57 39 nine nine nine nine + 58 3A colon colon colon colon + 59 3B semicolon semicolon semicolon semicolon + 60 3C exclamdown less exclamdown exclamdown + 61 3D equal equal equal equal + 62 3E questiondown greater questiondown questiondown + 63 3F question question question question + 64 40 at at at at + 65 41 A A A A + 66 42 B B B B + 67 43 C C C C + 68 44 D D D D + 69 45 E E E E + 70 46 F F F F + 71 47 G G G G + 72 48 H H H H + 73 49 I I I I + 74 4A J J J J + 75 4B K K K K + 76 4C L L L L + 77 4D M M M M + 78 4E N N N N + 79 4F O O O O + 80 50 P P P P + 81 51 Q Q Q Q + 82 52 R R R R + 83 53 S S S S + 84 54 T T T T + 85 55 U U U U + 86 56 V V V V + 87 57 W W W W + 88 58 X X X X + 89 59 Y Y Y Y + 90 5A Z Z Z Z + 91 5B bracketleft bracketleft bracketleft bracketleft + 92 5C quotedblleft backslash quotedblleft quotedblleft + 93 5D bracketright bracketright bracketright bracketright + 94 5E circumflex asciicircum circumflex circumflex + 95 5F dotaccent underscore dotaccent dotaccent + 96 60 quoteleft quoteleft quoteleft quoteleft + 97 61 a a a a + 98 62 b b b b + 99 63 c c c c +100 64 d d d d +101 65 e e e e +102 66 f f f f +103 67 g g g g +104 68 h h h h +105 69 i i i i +106 6A j j j j +107 6B k k k k +108 6C l l l l +109 6D m m m m +110 6E n n n n +111 6F o o o o +112 70 p p p p +113 71 q q q q +114 72 r r r r +115 73 s s s s +116 74 t t t t +117 75 u u u u +118 76 v v v v +119 77 w w w w +120 78 x x x x +121 79 y y y y +122 7A z z z z +123 7B endash braceleft endash endash +124 7C emdash bar emdash emdash +125 7D hungarumlaut braceright hungarumlaut hungarumlaut +126 7E tilde asciitilde tilde tilde +127 7F dieresis hyphen dieresis dieresis +128 80 @ Abreve @ Euro +129 81 @ Aogonek Aogonek Aogonek +130 82 @ Cacute Cacute Cacute +131 83 @ Ccaron @ greater +132 84 @ Dcaron @ greaterequal +133 85 @ Ecaron @ approxequal +134 86 @ Eogonek Eogonek Eogonek +135 87 @ Gbreve @ Iogonek +136 88 @ Lacute @ less +137 89 @ Lquoteright @ lessequal +138 8A @ Lslash Lslash Lslash +139 8B @ Nacute Nacute Nacute +140 8C @ Ncaron @ asciitilde +141 8D @ Eng @ asciicircum +142 8E @ Ohungarumlaut @ ell +143 8F @ Racute @ dagger +144 90 @ Rcaron @ daggerdbl +145 91 @ Sacute Sacute Sacute +146 92 @ Scaron @ Scaron +147 93 @ Scedilla @ Scommaaccent +148 94 @ Tcaron @ degree +149 95 @ Tcedilla @ Tcommaaccent +150 96 @ Uhungarumlaut @ ogonek +151 97 @ Uring @ Uogonek +152 98 @ Ydieresis @ Ydieresis +153 99 @ Zacute Zacute Zacute +154 9A @ Zcaron @ Zcaron +155 9B @ Zdotaccent Zdotaccent Zdotaccent +156 9C @ IJ @ IJ +157 9D @ Idotaccent @ braceleft +158 9E @ dbar @ braceright +159 9F @ section @ section +160 A0 @ abreve @ @ +161 A1 @ aogonek aogonek aogonek +162 A2 @ cacute cacute cacute +163 A3 @ ccaron @ registered +164 A4 @ dquoteright @ copyright +165 A5 @ ecaron @ divide +166 A6 @ eogonek eogonek eogonek +167 A7 @ gbreve @ iogonek +168 A8 @ lacute @ minus +169 A9 @ lquoteright @ multiply +170 AA @ lslash lslash lslash +171 AB @ nacute nacute nacute +172 AC @ ncaron @ plusminus +173 AD @ eng @ infinity +174 AE @ ohungarumlaut guillemotleft guillemotleft +175 AF @ racute guillemotright guillemotright +176 B0 @ rcaron @ paragraph +177 B1 @ sacute sacute sacute +178 B2 @ scaron @ scaron +179 B3 @ scedilla @ scommaaccent +180 B4 @ tquoteright @ bullet +181 B5 @ tcedilla @ tcommaaccent +182 B6 @ uhungarumlaut @ threequartersemdash +183 B7 @ uring @ uogonek +184 B8 @ ydieresis @ ydieresis +185 B9 @ zacute zacute zacute +186 BA @ zcaron @ zcaron +187 BB @ zdotaccent zdotaccent zdotaccent +188 BC @ ij @ ij +189 BD @ exclamdown @ periodcentered +190 BE @ questiondown @ quotedbl +191 BF @ sterling @ quotesingle +192 C0 @ Agrave @ Agrave +193 C1 @ Aacute @ Aacute +194 C2 @ Acircumflex @ Acircumflex +195 C3 @ Atilde @ Atilde +196 C4 @ Adieresis @ Adieresis +197 C5 @ Aring @ Aring +198 C6 @ AE @ backslash +199 C7 @ Ccedilla @ Ccedilla +200 C8 @ Egrave @ Egrave +201 C9 @ Eacute @ Eacute +202 CA @ Ecircumflex @ Ecircumflex +203 CB @ Edieresis @ Edieresis +204 CC @ Igrave @ Igrave +205 CD @ Iacute @ Iacute +206 CE @ Icircumflex @ Icircumflex +207 CF @ Idieresis @ Idieresis +208 D0 @ Eth @ Eth +209 D1 @ Ntilde @ Ntilde +210 D2 @ Ograve @ Ograve +211 D3 @ Oacute Oacute Oacute +212 D4 @ Ocircumflex @ Ocircumflex +213 D5 @ Otilde @ Otilde +214 D6 @ Odieresis @ Odieresis +215 D7 @ OE @ currency +216 D8 @ Oslash @ perthousand +217 D9 @ Ugrave @ Ugrave +218 DA @ Uacute @ Uacute +219 DB @ Ucircumflex @ Ucircumflex +220 DC @ Udieresis @ Udieresis +221 DD @ Yacute @ Yacute +222 DE @ Thorn @ Thorn +223 DF @ Germandbls @ bar +224 E0 @ agrave @ agrave +225 E1 @ aacute @ aacute +226 E2 @ acircumflex @ acircumflex +227 E3 @ atilde @ atilde +228 E4 @ adieresis @ adieresis +229 E5 @ aring @ aring +230 E6 @ ae @ underscore +231 E7 @ ccedilla @ ccedilla +232 E8 @ egrave @ egrave +233 E9 @ eacute @ eacute +234 EA @ ecircumflex @ ecircumflex +235 EB @ edieresis @ edieresis +236 EC @ igrave @ igrave +237 ED @ iacute @ iacute +238 EE @ icircumflex @ icircumflex +239 EF @ idieresis @ idieresis +240 F0 @ eth @ eth +241 F1 @ ntilde @ ntilde +242 F2 @ ograve @ ograve +243 F3 @ oacute oacute oacute +244 F4 @ ocircumflex @ ocircumflex +245 F5 @ otilde @ otilde +246 F6 @ odieresis @ odieresis +247 F7 @ oe @ anglearc +248 F8 @ oslash @ diameter +249 F9 @ ugrave @ ugrave +250 FA @ uacute @ uacute +251 FB @ ucircumflex @ ucircumflex +252 FC @ udieresis @ udieresis +253 FD @ yacute @ yacute +254 FE @ thorn @ thorn +255 FF @ germandbls quotedblbase quotedblbase +% =========================================================================== + + +% ========================================================== +% COMPARISON OF LAYOUTS FOR GUI SYSTEMS +% ========================================================== +% CODE NEW ANSI (0--127) Macintosh QX ver. 0.06 +% + CODE PAGE 1250 PLEURO +% ========================================================== + 0 00 @ @ @ + 1 01 @ @ acute + 2 02 @ @ circumflex + 3 03 @ @ cedilla + 4 04 @ @ dieresis + 5 05 @ @ breve + 6 06 @ @ dotaccent + 7 07 @ @ macron + 8 08 @ @ ring + 9 09 @ @ @ + 10 0A @ @ hungarumlaut + 11 0B @ @ ogonek + 12 0C @ @ caron + 13 0D @ @ @ + 14 0E @ @ dotlessi + 15 0F @ @ dotlessj + 16 10 @ @ tilde + 17 11 @ @ ff + 18 12 @ @ ffi + 19 13 @ @ ffl + 20 14 @ @ f_k + 21 15 @ @ approxequal + 22 16 @ @ ell + 23 17 @ @ infinity + 24 18 @ @ alpha + 25 19 @ @ beta + 26 1A @ @ delta + 27 1B @ @ pi + 28 1C @ @ Delta + 29 1D @ @ Pi + 30 1E @ @ Sigma + 31 1F @ @ Omega + 32 20 space space space + 33 21 exclam exclam exclam + 34 22 quotedbl quotedbl quotedbl + 35 23 numbersign numbersign numbersign + 36 24 dollar dollar dollar + 37 25 percent percent percent + 38 26 ampersand ampersand ampersand + 39 27 quotesingle quotesingle quotesingle + 40 28 parenleft parenleft parenleft + 41 29 parenright parenright parenright + 42 2A asterisk asterisk asterisk + 43 2B plus plus plus + 44 2C comma comma comma + 45 2D hyphen hyphen hyphen + 46 2E period period period + 47 2F slash slash slash + 48 30 zero zero zero + 49 31 one one one + 50 32 two two two + 51 33 three three three + 52 34 four four four + 53 35 five five five + 54 36 six six six + 55 37 seven seven seven + 56 38 eight eight eight + 57 39 nine nine nine + 58 3A colon colon colon + 59 3B semicolon semicolon semicolon + 60 3C less less less + 61 3D equal equal equal + 62 3E greater greater greater + 63 3F question question question + 64 40 at at at + 65 41 A A A + 66 42 B B B + 67 43 C C C + 68 44 D D D + 69 45 E E E + 70 46 F F F + 71 47 G G G + 72 48 H H H + 73 49 I I I + 74 4A J J J + 75 4B K K K + 76 4C L L L + 77 4D M M M + 78 4E N N N + 79 4F O O O + 80 50 P P P + 81 51 Q Q Q + 82 52 R R R + 83 53 S S S + 84 54 T T T + 85 55 U U U + 86 56 V V V + 87 57 W W W + 88 58 X X X + 89 59 Y Y Y + 90 5A Z Z Z + 91 5B bracketleft bracketleft bracketleft + 92 5C backslash backslash backslash + 93 5D bracketright bracketright bracketright + 94 5E asciicircum asciicircum asciicircum + 95 5F underscore underscore underscore + 96 60 grave grave grave + 97 61 a a a + 98 62 b b b + 99 63 c c c +100 64 d d d +101 65 e e e +102 66 f f f +103 67 g g g +104 68 h h h +105 69 i i i +106 6A j j j +107 6B k k k +108 6C l l l +109 6D m m m +110 6E n n n +111 6F o o o +112 70 p p p +113 71 q q q +114 72 r r r +115 73 s s s +116 74 t t t +117 75 u u u +118 76 v v v +119 77 w w w +120 78 x x x +121 79 y y y +122 7A z z z +123 7B braceleft braceleft braceleft +124 7C bar bar bar +125 7D braceright braceright braceright +126 7E asciitilde asciitilde asciitilde +127 7F @ @ @ +128 80 Euro @ Euro +129 81 @ @ fi +130 82 quotesinglbase quotesinglbase fl +131 83 @ Ydieresis Ydieresis +132 84 quotedblbase quotedblbase quotedblbase +133 85 ellipsis ellipsis ellipsis +134 86 dagger dagger dagger +135 87 daggerdbl daggerdbl daggerdbl +136 88 @ Ecircumflex Ecircumflex +137 89 perthousand perthousand perthousand +138 8A Scaron Scaron Scaron +139 8B guilsinglleft guilsinglleft Scommaaccent +140 8C Sacute Sacute Sacute +141 8D Tcaron OE OE +142 8E Zcaron Zcaron Zcaron +143 8F Zacute Zacute Zacute +144 90 @ @ threequartersemdash +145 91 quoteleft quoteleft quoteleft +146 92 quoteright quoteright quoteright +147 93 quotedblleft quotedblleft quotedblleft +148 94 quotedblright quotedblright quotedblright +149 95 bullet bullet bullet +150 96 endash endash endash +151 97 emdash emdash emdash +152 98 @ ecircumflex ecircumflex +153 99 trademark trademark anglearc +154 9A scaron scaron scaron +155 9B guilsinglright guilsinglright scommaaccent +156 9C sacute sacute sacute +157 9D tquoteright oe oe +158 9E zcaron zcaron zcaron +159 9F zacute zacute zacute +160 A0 @ nbspace nbspace +161 A1 caron exclamdown exclamdown +162 A2 breve questiondown questiondown +163 A3 Lslash Lslash Lslash +164 A4 currency currency currency +165 A5 Aogonek Aogonek Aogonek +166 A6 brokenbar brokenbar diameter +167 A7 section section section +168 A8 dieresis dieresis Uogonek +169 A9 copyright copyright copyright +170 AA Scedilla AE AE +171 AB guillemotleft guillemotleft guillemotleft +172 AC logicalnot Ntilde Ntilde +173 AD hyphen minus minus +174 AE registered registered registered +175 AF Zdotaccent Zdotaccent Zdotaccent +176 B0 degree degree degree +177 B1 plusminus plusminus plusminus +178 B2 ogonek twosuperior lessequal +179 B3 lslash lslash lslash +180 B4 acute acute greaterequal +181 B5 mu mu mu +182 B6 paragraph paragraph paragraph +183 B7 periodcentered periodcentered periodcentered +184 B8 cedilla @ uogonek +185 B9 aogonek aogonek aogonek +186 BA scedilla ae ae +187 BB guillemotright guillemotright guillemotright +188 BC Lquoteright ntilde ntilde +189 BD hungarumlaut onehalf Tcommaaccent +190 BE lquoteright threequarters tcommaaccent +191 BF zdotaccent zdotaccent zdotaccent +192 C0 Racute Agrave Agrave +193 C1 Aacute Aacute Aacute +194 C2 Acircumflex Acircumflex Acircumflex +195 C3 Abreve Atilde Atilde +196 C4 Adieresis Adieresis Adieresis +197 C5 Lacute Aring Aring +198 C6 Cacute Cacute Cacute +199 C7 Ccedilla Ccedilla Ccedilla +200 C8 Ccaron Egrave Egrave +201 C9 Eacute Eacute Eacute +202 CA Eogonek Eogonek Eogonek +203 CB Edieresis Edieresis Edieresis +204 CC Ecaron Igrave Igrave +205 CD Iacute Iacute Iacute +206 CE Icircumflex Icircumflex Icircumflex +207 CF Dcaron Idieresis Idieresis +208 D0 Eth Eth Eth +209 D1 Nacute Nacute Nacute +210 D2 Ncaron Ograve Ograve +211 D3 Oacute Oacute Oacute +212 D4 Ocircumflex Ocircumflex Ocircumflex +213 D5 Ohungarumlaut Otilde Otilde +214 D6 Odieresis Odieresis Odieresis +215 D7 multiply multiply multiply +216 D8 Rcaron Oslash Oslash +217 D9 Uring Ugrave Ugrave +218 DA Uacute Uacute Uacute +219 DB Uhungarumlaut Ucircumflex Ucircumflex +220 DC Udieresis Udieresis Udieresis +221 DD Yacute Yacute Yacute +222 DE Tcedilla Thorn Iogonek +223 DF germandbls germandbls germandbls +224 E0 racute agrave agrave +225 E1 aacute aacute aacute +226 E2 acircumflex acircumflex acircumflex +227 E3 abreve atilde atilde +228 E4 adieresis adieresis adieresis +229 E5 lacute aring aring +230 E6 cacute cacute cacute +231 E7 ccedilla ccedilla ccedilla +232 E8 ccaron egrave egrave +233 E9 eacute eacute eacute +234 EA eogonek eogonek eogonek +235 EB edieresis edieresis edieresis +236 EC ecaron igrave igrave +237 ED iacute iacute iacute +238 EE icircumflex icircumflex icircumflex +239 EF dquoteright idieresis idieresis +240 F0 dbar eth eth +241 F1 nacute nacute nacute +242 F2 ncaron ograve ograve +243 F3 oacute oacute oacute +244 F4 ocircumflex ocircumflex ocircumflex +245 F5 ohungarumlaut otilde otilde +246 F6 odieresis odieresis odieresis +247 F7 divide divide divide +248 F8 rcaron oslash oslash +249 F9 uring ugrave ugrave +250 FA uacute uacute uacute +251 FB uhungarumlaut ucircumflex ucircumflex +252 FC udieresis udieresis udieresis +253 FD yacute yacute yacute +254 FE tcedilla thorn iogonek +255 FF dotaccent ydieresis ydieresis +% ========================================================== + +/encqxoosix[ +/alpha +/Delta +/beta +/delta +/pi +/Pi +/Sigma +/mu +/ellipsis +/f_k +/Omega +/ff +/fi +/fl +/ffi +/ffl +/dotlessi +/dotlessj +/grave +/acute +/caron +/breve +/macron +/ring +/cedilla +/germandbls +/ae +/oe +/oslash +/AE +/OE +/Oslash +/space +/exclam +/quotedblright +/numbersign +/dollar +/percent +/ampersand +/quoteright +/parenleft +/parenright +/asterisk +/plus +/comma +/hyphen +/period +/slash +/zero +/one +/two +/three +/four +/five +/six +/seven +/eight +/nine +/colon +/semicolon +/exclamdown +/equal +/questiondown +/question +/at +/A +/B +/C +/D +/E +/F +/G +/H +/I +/J +/K +/L +/M +/N +/O +/P +/Q +/R +/S +/T +/U +/V +/W +/X +/Y +/Z +/bracketleft +/quotedblleft +/bracketright +/circumflex +/dotaccent +/quoteleft +/a +/b +/c +/d +/e +/f +/g +/h +/i +/j +/k +/l +/m +/n +/o +/p +/q +/r +/s +/t +/u +/v +/w +/x +/y +/z +/endash +/emdash +/hungarumlaut +/tilde +/dieresis +/Euro +/Aogonek +/Cacute +/greater +/greaterequal +/approxequal +/Eogonek +/Iogonek +/less +/lessequal +/Lslash +/Nacute +/asciitilde +/asciicircum +/ell +/dagger +/daggerdbl +/Sacute +/Scaron +/Scommaaccent +/degree +/Tcommaaccent +/ogonek +/Uogonek +/Ydieresis +/Zacute +/Zcaron +/Zdotaccent +/IJ +/braceleft +/braceright +/section +/.notdef +/aogonek +/cacute +/registered +/copyright +/divide +/eogonek +/iogonek +/minus +/multiply +/lslash +/nacute +/plusminus +/infinity +/guillemotleft +/guillemotright +/paragraph +/sacute +/scaron +/scommaaccent +/bullet +/tcommaaccent +/threequartersemdash +/uogonek +/ydieresis +/zacute +/zcaron +/zdotaccent +/ij +/periodcentered +/quotedbl +/quotesingle +/Agrave +/Aacute +/Acircumflex +/Atilde +/Adieresis +/Aring +/backslash +/Ccedilla +/Egrave +/Eacute +/Ecircumflex +/Edieresis +/Igrave +/Iacute +/Icircumflex +/Idieresis +/Eth +/Ntilde +/Ograve +/Oacute +/Ocircumflex +/Otilde +/Odieresis +/currency +/perthousand +/Ugrave +/Uacute +/Ucircumflex +/Udieresis +/Yacute +/Thorn +/bar +/agrave +/aacute +/acircumflex +/atilde +/adieresis +/aring +/underscore +/ccedilla +/egrave +/eacute +/ecircumflex +/edieresis +/igrave +/iacute +/icircumflex +/idieresis +/eth +/ntilde +/ograve +/oacute +/ocircumflex +/otilde +/odieresis +/anglearc +/diameter +/ugrave +/uacute +/ucircumflex +/udieresis +/yacute +/thorn +/quotedblbase +] def + + +File: fontname.info, Node: texmext, Next: texmsym, Prev: qx, Up: Encodings + +B.9 `texmext.enc': TeX math extension encoding +============================================== + +% @psencodingfile{ +% author = "Donald Knuth", +% version = "1.0", +% date = "12jun05", +% filename = "texmext.enc", +% license = "public domain", +% email = "tex-fonts@tug.org", +% codetable = "ISO/ASCII", +% docstring = "TeX math extension encoding." +% } +% +% 12jun05 - add header. +% +% No ligatures or kerns. +% +/TeXMathExtensionEncoding [ % now 256 chars follow + +% 0x0 +/parenleftbig +/parenrightbig +/bracketleftbig +/bracketrightbig +/floorleftbig +/floorrightbig +/ceilingleftbig +/ceilingrightbig + +% 0x8 +/braceleftbig +/bracerightbig +/angbracketleftbig +/angbracketrightbig +/vextendsingle +/vextenddouble +/slashbig +/backslashbig + +% 0x10 +/parenleftBig +/parenrightBig +/parenleftbigg +/parenrightbigg +/bracketleftbigg +/bracketrightbigg +/floorleftbigg +/floorrightbigg + +% 0x18 +/ceilingleftbigg +/ceilingrightbigg +/braceleftbigg +/bracerightbigg +/angbracketleftbigg +/angbracketrightbigg +/slashbigg +/backslashbigg + +% 0x20 +/parenleftBigg +/parenrightBigg +/bracketleftBigg +/bracketrightBigg +/floorleftBigg +/floorrightBigg +/ceilingleftBigg +/ceilingrightBigg + +% 0x28 +/braceleftBigg +/bracerightBigg +/angbracketleftBigg +/angbracketrightBigg +/slashBigg +/backslashBigg +/slashBig +/backslashBig + +% 0x30 +/parenlefttp +/parenrighttp +/bracketlefttp +/bracketrighttp +/bracketleftbt +/bracketrightbt +/bracketleftex +/bracketrightex + +% 0x38 +/bracelefttp +/bracerighttp +/braceleftbt +/bracerightbt +/braceleftmid +/bracerightmid +/braceex +/arrowvertex + +% 0x40 +/parenleftbt +/parenrightbt +/parenleftex +/parenrightex +/angbracketleftBig +/angbracketrightBig +/unionsqtext +/unionsqdisplay + +% 0x48 +/contintegraltext +/contintegraldisplay +/circledottext +/circledotdisplay +/circleplustext +/circleplusdisplay +/circlemultiplytext +/circlemultiplydisplay + +% 0x50 +/summationtext +/producttext +/integraltext +/uniontext +/intersectiontext +/unionmultitext +/logicalandtext +/logicalortext + +% 0x58 +/summationdisplay +/productdisplay +/integraldisplay +/uniondisplay +/intersectiondisplay +/unionmultidisplay +/logicalanddisplay +/logicalordisplay + +% 0x60 +/coproducttext +/coproductdisplay +/hatwide +/hatwider +/hatwidest +/tildewide +/tildewider +/tildewidest + +% 0x68 +/bracketleftBig +/bracketrightBig +/floorleftBig +/floorrightBig +/ceilingleftBig +/ceilingrightBig +/braceleftBig +/bracerightBig + +% 0x70 +/radicalbig +/radicalBig +/radicalbigg +/radicalBigg +/radicalbt +/radicalvertex +/radicaltp +/arrowvertexdbl + +% 0x78 +/arrowtp +/arrowbt +/bracehtipdownleft +/bracehtipdownright +/bracehtipupleft +/bracehtipupright +/arrowdbltp +/arrowdblbt + +% Have to have 128 .notdef's now to fill things out. +% +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +] def + + +File: fontname.info, Node: texmsym, Next: texmital, Prev: texmext, Up: Encodings + +B.10 `texmsym.enc': TeX math symbol encoding +============================================ + +% @psencodingfile{ +% author = "Donald Knuth", +% version = "1.0", +% date = "12jun05", +% filename = "texmsym.enc", +% license = "public domain", +% email = "tex-fonts@tug.org", +% codetable = "ISO/ASCII", +% docstring = "TeX math symbols encoding." +% } +% 12jun05 - add header. +% +% No ligatures or kerns. +% +/TeXMathSymbolEncoding [ % now 256 chars follow +% 0x0 +/minus +/periodcentered +/multiply +/asteriskmath +/divide +/diamondmath +/plusminus +/minusplus + +% 0x8 +/circleplus +/circleminus +/circlemultiply +/circledivide +/circledot +/circlecopyrt +/openbullet +/bullet + +% 0x10 +/equivasymptotic +/equivalence +/reflexsubset +/reflexsuperset +/lessequal +/greaterequal +/precedesequal +/followsequal + +% 0x18 +/similar +/approxequal +/propersubset +/propersuperset +/lessmuch +/greatermuch +/precedes +/follows + +% 0x20 +/arrowleft +/arrowright +/arrowup +/arrowdown +/arrowboth +/arrownortheast +/arrowsoutheast +/similarequal + +% 0x28 +/arrowdblleft +/arrowdblright +/arrowdblup +/arrowdbldown +/arrowdblboth +/arrownorthwest +/arrowsouthwest +/proportional + +% 0x30 +/prime +/infinity +/element +/owner +/triangle +/triangleinv +/negationslash +/mapsto + +% 0x38 +/universal +/existential +/logicalnot +/emptyset +/Rfractur +/Ifractur +/latticetop +/perpendicular + +% 0x40 +/aleph +/A +/B +/C +/D +/E +/F +/G + +% 0x48 +/H +/I +/J +/K +/L +/M +/N +/O + +% 0x50 +/P +/Q +/R +/S +/T +/U +/V +/W + +% 0x58 +/X +/Y +/Z +/union +/intersection +/unionmulti +/logicaland +/logicalor + +% 0x60 +/turnstileleft +/turnstileright +/floorleft +/floorright +/ceilingleft +/ceilingright +/braceleft +/braceright + +% 0x68 +/angbracketleft +/angbracketright +/bar +/bardbl +/arrowbothv +/arrowdblbothv +/backslash +/wreathproduct + +% 0x70 +/radical +/coproduct +/nabla +/integral +/unionsq +/intersectionsq +/subsetsqequal +/supersetsqequal + +% 0x78 +/section +/dagger +/daggerdbl +/paragraph +/club +/diamond +/heart +/spade + +% Have to have 128 .notdef's now to fill things out. +% +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +] def + + +File: fontname.info, Node: texmital, Next: texnansi, Prev: texmsym, Up: Encodings + +B.11 `texmital.enc': TeX math italic encoding +============================================= + +% @psencodingfile{ +% author = "Donald Knuth", +% version = "1.0", +% date = "12jun05", +% filename = "texmital.enc", +% license = "public domain", +% email = "tex-fonts@tug.org", +% codetable = "ISO/ASCII", +% docstring = "TeX math italic encoding." +% } +% +% 12jun05 - add header. +% +% No ligatures or kerns. +% +/TeXMathItalicEncoding [ % now 256 chars follow +% 0x0 +/Gamma +/Delta +/Theta +/Lambda +/Xi +/Pi +/Sigma +/Upsilon + +% 0x8 +/Phi +/Psi +/Omega +/alpha +/beta +/gamma +/delta +/epsilon1 + +% 0x10 +/zeta +/eta +/theta +/iota +/kappa +/lambda +/mu +/nu + +% 0x18 +/xi +/pi +/rho +/sigma +/tau +/upsilon +/phi +/chi + +% 0x20 +/psi +/omega +/epsilon +/theta1 +/pi1 +/rho1 +/sigma1 +/phi1 + +% 0x28 +/arrowlefttophalf +/arrowleftbothalf +/arrowrighttophalf +/arrowrightbothalf +/arrowhookleft +/arrowhookright +/triangleright +/triangleleft + +% 0x30 +/zerooldstyle +/oneoldstyle +/twooldstyle +/threeoldstyle +/fouroldstyle +/fiveoldstyle +/sixoldstyle +/sevenoldstyle + +% 0x38 +/eightoldstyle +/nineoldstyle +/period +/comma +/less +/slash +/greater +/star + +% 0x40 +/partialdiff +/A +/B +/C +/D +/E +/F +/G + +% 0x48 +/H +/I +/J +/K +/L +/M +/N +/O + +% 0x50 +/P +/Q +/R +/S +/T +/U +/V +/W + +% 0x58 +/X +/Y +/Z +/flat +/natural +/sharp +/slurbelow +/slurabove + +% 0x60 +/lscript +/a +/b +/c +/d +/e +/f +/g + +% 0x68 +/h +/i +/j +/k +/l +/m +/n +/o + +% 0x70 +/p +/q +/r +/s +/t +/u +/v +/w + +% 0x78 +/x +/y +/z +/dotlessi +/dotlessj +/weierstrass +/vector +/tie + +% Have to have 128 .notdef's now to fill things out. +% +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +] def + + +File: fontname.info, Node: texnansi, Next: texnansx, Prev: texmital, Up: Encodings + +B.12 `texnansi.enc' +=================== + +From Y&Y. + +% @psencodingfile{ +% date = "22apr09", +% filename = "texnansi.enc", +% email = "tex-fonts@tug.org", +% author = "Y&Y, Inc.", +% version = "1.1", +% codetable = "ISO/ASCII", +% docstring = "texnansi (aka LY1) encoding vector for Type 1 fonts to +% be used with TeX, following ASCII and Windows ANSI." +% } +% +% The idea is to have all 228 characters normally included in Type 1 text +% fonts (plus a few more) available for typesetting. This is effectively +% the character set in Adobe Standard Encoding, ISO Latin 1, plus a few more. +% +% Character code assignments were made as follows: +% +% (1) The character layout largely matches `ASCII' in the 32 -- 126 range, +% except for `circumflex' in 94 and `tilde' in 126, to match `TeX text' +% (`asciicircumflex' and `asciitilde' appear in 158 and 142 instead). +% +% (2) The character layout matches `Windows ANSI' in almost all places, +% except for `quoteright' in 39 and `quoteleft' in 96 to match ASCII +% (`quotesingle' and `grave' appear in 129 and 18 instead). +% +% (3) The character layout matches `TeX typewriter' used by CM text fonts +% in most places (except for discordant positions such as hungarumlaut +% (instead of braceright), dotaccent (instead of underscore) etc. +% +% (4) Remaining characters are assigned arbitrarily to the `control character' +% range (0 -- 31), avoiding 0, 9, 10 and 13 in case we meet dumb software +% - similarly one should really avoid 127 and 128 if possible. +% In addition, the 8 open slots in Windows ANSI between 128 and 159 are used. +% +% (5) Y&Y Lucida Bright includes some extra ligatures and such; ff, ffi, ffl, +% and `dotlessj,' these are included 11 -- 15, and 17. +% +% (6) Hyphen appears both at 45 and 173 for compatibility with both ASCII +% and Windows ANSI. +% +% (7) It doesn't really matter where ligatures appear (both real, such as ffi, +% and pseudo such as ---) since these should not be accessed directly, only +% via ligature information in the TFM file. +% +% SAMPLE USAGE (in `psfonts.map' file for DVIPS): +% +% lbr LucidaBright "TeXnANSIEncoding ReEncodeFont" <texnansi.enc <lbr.pfb +% +% This tells DVIPS that the font called `lbr' in TeX has PostScript +% FontName `LucidaBright.' It also asks DVIPS to expand the file `lbr.pfb' +% into PFA form, to include the attached `texnansi.enc' encoding vector, +% and to then actually reencode the font based on that encoding vector. +% +% Revised 2009 April 20 with doc changes only (Uni20AC -> uni20ac). +% Revised 2009 March 9 with doc changes only. +% Revised 1996 June 1 by adding second position for `fl' to avoid Acrobat bug. +% Revised 1996 June 1 by adding second position for `fraction' for same reason. +% Revised 1997 Oct 1 by adding cwm (used in boundary char TFM code). +% Revised 1998 Mar 1 by adding Unicode for Euro character. +% emacs-page +% +/TeXnANSIEncoding [ % now 256 chars follow +/.notdef % 0x00 0 +/Euro % 0x01 1 /uni20AC +/.notdef % 0x02 2 +/.notdef % 0x03 3 +/fraction % 0x04 4 +/dotaccent % 0x05 5 +/hungarumlaut % 0x06 6 +/ogonek % 0x07 7 +/fl % 0x08 8 +/.notdef % 0x09 9 /fraction at 4, backward compatibility only +/cwm % 0x0A 10 not used, except boundary char internally +/ff % 0x0B 11 +/fi % 0x0C 12 +/.notdef % 0x0D 13 /fl at 8, backward compatibility only +/ffi % 0x0E 14 +/ffl % 0x0F 15 +/dotlessi % 0x10 16 +/dotlessj % 0x11 17 +/grave % 0x12 18 +/acute % 0x13 19 +/caron % 0x14 20 +/breve % 0x15 21 +/macron % 0x16 22 +/ring % 0x17 23 +/cedilla % 0x18 24 +/germandbls % 0x19 25 +/ae % 0x1A 26 +/oe % 0x1B 27 +/oslash % 0x1C 28 +/AE % 0x1D 29 +/OE % 0x1E 30 +/Oslash % 0x1F 31 +/space % 0x20 32 /suppress in TeX text +/exclam % 0x21 33 +/quotedbl % 0x22 34 /quotedblright in TeX text +/numbersign % 0x23 35 +/dollar % 0x24 36 +/percent % 0x25 37 +/ampersand % 0x26 38 +/quoteright % 0x27 39 /quotesingle in ANSI +/parenleft % 0x28 40 +/parenright % 0x29 41 +/asterisk % 0x2A 42 +/plus % 0x2B 43 +/comma % 0x2C 44 +/hyphen % 0x2D 45 +/period % 0x2E 46 +/slash % 0x2F 47 +/zero % 0x30 48 +/one % 0x31 49 +/two % 0x32 50 +/three % 0x33 51 +/four % 0x34 52 +/five % 0x35 53 +/six % 0x36 54 +/seven % 0x37 55 +/eight % 0x38 56 +/nine % 0x39 57 +/colon % 0x3A 58 +/semicolon % 0x3B 59 +/less % 0x3C 60 /exclamdown in Tex text +/equal % 0x3D 61 +/greater % 0x3E 62 /questiondown in TeX text +/question % 0x3F 63 +/at % 0x40 64 +/A % 0x41 65 +/B % 0x42 66 +/C % 0x43 67 +/D % 0x44 68 +/E % 0x45 69 +/F % 0x46 70 +/G % 0x47 71 +/H % 0x48 72 +/I % 0x49 73 +/J % 0x4A 74 +/K % 0x4B 75 +/L % 0x4C 76 +/M % 0x4D 77 +/N % 0x4E 78 +/O % 0x4F 79 +/P % 0x50 80 +/Q % 0x51 81 +/R % 0x52 82 +/S % 0x53 83 +/T % 0x54 84 +/U % 0x55 85 +/V % 0x56 86 +/W % 0x57 87 +/X % 0x58 88 +/Y % 0x59 89 +/Z % 0x5A 90 +/bracketleft % 0x5B 91 +/backslash % 0x5C 92 /quotedblleft in TeX text +/bracketright % 0x5D 93 +/circumflex % 0x5E 94 /asciicircum in ASCII +/underscore % 0x5F 95 /dotaccent in TeX text +/quoteleft % 0x60 96 /grave accent in ANSI +/a % 0x61 97 +/b % 0x62 98 +/c % 0x63 99 +/d % 0x64 100 +/e % 0x65 101 +/f % 0x66 102 +/g % 0x67 103 +/h % 0x68 104 +/i % 0x69 105 +/j % 0x6A 106 +/k % 0x6B 107 +/l % 0x6C 108 +/m % 0x6D 109 +/n % 0x6E 110 +/o % 0x6F 111 +/p % 0x70 112 +/q % 0x71 113 +/r % 0x72 114 +/s % 0x73 115 +/t % 0x74 116 +/u % 0x75 117 +/v % 0x76 118 +/w % 0x77 119 +/x % 0x78 120 +/y % 0x79 121 +/z % 0x7A 122 +/braceleft % 0x7B 123 /endash in TeX text +/bar % 0x7C 124 /emdash in TeX test +/braceright % 0x7D 125 /hungarumlaut in TeX text +/tilde % 0x7E 126 /asciitilde in ASCII +/dieresis % 0x7F 127 also at 168 +/Lslash % 0x80 128 position is unfortunate, but too late to fix +/quotesingle % 0x81 129 +/quotesinglbase % 0x82 130 +/florin % 0x83 131 +/quotedblbase % 0x84 132 +/ellipsis % 0x85 133 +/dagger % 0x86 134 +/daggerdbl % 0x87 135 +/circumflex % 0x88 136 +/perthousand % 0x89 137 +/Scaron % 0x8A 138 +/guilsinglleft % 0x8B 139 +/OE % 0x8C 140 +/Zcaron % 0x8D 141 +/asciicircum % 0x8E 142 +/minus % 0x8F 143 +/lslash % 0x90 144 +/quoteleft % 0x91 145 +/quoteright % 0x92 146 +/quotedblleft % 0x93 147 +/quotedblright % 0x94 148 +/bullet % 0x95 149 +/endash % 0x96 150 +/emdash % 0x97 151 +/tilde % 0x98 152 +/trademark % 0x99 153 +/scaron % 0x9A 154 +/guilsinglright % 0x9B 155 +/oe % 0x9C 156 +/zcaron % 0x9D 157 +/asciitilde % 0x9E 158 +/Ydieresis % 0x9F 159 +/nbspace % 0xA0 160 no break space +/exclamdown % 0xA1 161 +/cent % 0xA2 162 +/sterling % 0xA3 163 +/currency % 0xA4 164 +/yen % 0xA5 165 +/brokenbar % 0xA6 166 +/section % 0xA7 167 +/dieresis % 0xA8 168 +/copyright % 0xA9 169 +/ordfeminine % 0xAA 170 +/guillemotleft % 0xAB 171 +/logicalnot % 0xAC 172 +/sfthyphen % 0xAD 173 /hyphen (hanging hyphen) +/registered % 0xAE 174 +/macron % 0xAF 175 +/degree % 0xB0 176 +/plusminus % 0xB1 177 +/twosuperior % 0xB2 178 +/threesuperior % 0xB3 179 +/acute % 0xB4 180 +/mu % 0xB5 181 +/paragraph % 0xB6 182 +/periodcentered % 0xB7 183 +/cedilla % 0xB8 184 +/onesuperior % 0xB9 185 +/ordmasculine % 0xBA 186 +/guillemotright % 0xBB 187 +/onequarter % 0xBC 188 +/onehalf % 0xBD 189 +/threequarters % 0xBE 190 +/questiondown % 0xBF 191 +/Agrave % 0xC0 192 +/Aacute % 0xC1 193 +/Acircumflex % 0xC2 194 +/Atilde % 0xC3 195 +/Adieresis % 0xC4 196 +/Aring % 0xC5 197 +/AE % 0xC6 198 +/Ccedilla % 0xC7 199 +/Egrave % 0xC8 200 +/Eacute % 0xC9 201 +/Ecircumflex % 0xCA 202 +/Edieresis % 0xCB 203 +/Igrave % 0xCC 204 +/Iacute % 0xCD 205 +/Icircumflex % 0xCE 206 +/Idieresis % 0xCF 207 +/Eth % 0xD0 208 +/Ntilde % 0xD1 209 +/Ograve % 0xD2 210 +/Oacute % 0xD3 211 +/Ocircumflex % 0xD4 212 +/Otilde % 0xD5 213 +/Odieresis % 0xD6 214 +/multiply % 0xD7 215 OE in T1 +/Oslash % 0xD8 216 +/Ugrave % 0xD9 217 +/Uacute % 0xDA 218 +/Ucircumflex % 0xDB 219 +/Udieresis % 0xDC 220 +/Yacute % 0xDD 221 +/Thorn % 0xDE 222 +/germandbls % 0xDF 223 +/agrave % 0xE0 224 +/aacute % 0xE1 225 +/acircumflex % 0xE2 226 +/atilde % 0xE3 227 +/adieresis % 0xE4 228 +/aring % 0xE5 229 +/ae % 0xE6 230 +/ccedilla % 0xE7 231 +/egrave % 0xE8 232 +/eacute % 0xE9 233 +/ecircumflex % 0xEA 234 +/edieresis % 0xEB 235 +/igrave % 0xEC 236 +/iacute % 0xED 237 +/icircumflex % 0xEE 238 +/idieresis % 0xEF 239 +/eth % 0xF0 240 +/ntilde % 0xF1 241 +/ograve % 0xF2 242 +/oacute % 0xF3 243 +/ocircumflex % 0xF4 244 +/otilde % 0xF5 245 +/odieresis % 0xF6 246 +/divide % 0xF7 247 oe in T1 +/oslash % 0xF8 248 +/ugrave % 0xF9 249 +/uacute % 0xFA 250 +/ucircumflex % 0xFB 251 +/udieresis % 0xFC 252 +/yacute % 0xFD 253 +/thorn % 0xFE 254 +/ydieresis % 0xFF 255 germandbls in T1 +] def + + +File: fontname.info, Node: texnansx, Next: xl2, Prev: texnansi, Up: Encodings + +B.13 `texnansx.enc' +=================== + +From Y&Y. `texnansi' without repeats. + +% @psencodingfile{ +% author = "Y&Y, Inc.", +% version = "1.3", +% date = "22apr09", +% filename = "texnansx.enc", +% email = "tex-fonts@tug.org", +% codetable = "ISO/ASCII", +% docstring = "Encoding for fonts in Adobe Type 1 format for use with TeX." +% } +% MODIFIED FOR AFM2TFM to avoid repeated encodings, namely these +% positions have become .notdef: +% +% 137/circumflex 141/OE 146/quoteleft 147/quoteright 153/tilde 157/oe +% 169/dieresis 176/macron 181/acute 185/cedilla 199/AE 217/Oslash +% 224/germandbls 231/ae 249/oslash +% +% 22apr09 document the precise differences from texnansi. +% 17aug08 change /Uni20AC (wrong capitalization of /Uni) to /Euro for +% consistency with other encodings. tex-live mail from Vasile Gaburici, +% 16 Aug 2008 20:44:08. +% +/TeXnANSIEncoding [ +/.notdef % 0 +/Euro % /uni20AC 1 +/.notdef % 2 +/.notdef % 3 +/fraction % 4 +/dotaccent % 5 +/hungarumlaut % 6 +/ogonek % 7 +/fl % 8 +/.notdef % /fraction % 9 not used (see 4), backward compatability only +/cwm % 10 not used, except boundary char internally maybe +/ff % 11 +/fi % 12 +/.notdef % /fl % 13 not used (see 8), backward compatability only +/ffi % 14 +/ffl % 15 +/dotlessi % 16 +/dotlessj % 17 +/grave % 18 +/acute % 19 +/caron % 20 +/breve % 21 +/macron % 22 +/ring % 23 +/cedilla % 24 +/germandbls % 25 +/ae % 26 +/oe % 27 +/oslash % 28 +/AE % 29 +/OE % 30 +/Oslash % 31 +/space % 32 % /suppress in TeX text +/exclam % 33 +/quotedbl % 34 % /quotedblright in TeX text +/numbersign % 35 +/dollar % 36 +/percent % 37 +/ampersand % 38 +/quoteright % 39 % /quotesingle in ANSI +/parenleft % 40 +/parenright % 41 +/asterisk % 42 +/plus % 43 +/comma % 44 +/hyphen % 45 +/period % 46 +/slash % 47 +/zero % 48 +/one % 49 +/two % 50 +/three % 51 +/four % 52 +/five % 53 +/six % 54 +/seven % 55 +/eight % 56 +/nine % 57 +/colon % 58 +/semicolon % 59 +/less % 60 % /exclamdown in Tex text +/equal % 61 +/greater % 62 % /questiondown in TeX text +/question % 63 +/at % 64 +/A % 65 +/B % 66 +/C % 67 +/D % 68 +/E % 69 +/F % 70 +/G % 71 +/H % 72 +/I % 73 +/J % 74 +/K % 75 +/L % 76 +/M % 77 +/N % 78 +/O % 79 +/P % 80 +/Q % 81 +/R % 82 +/S % 83 +/T % 84 +/U % 85 +/V % 86 +/W % 87 +/X % 88 +/Y % 89 +/Z % 90 +/bracketleft % 91 +/backslash % 92 % /quotedblleft in TeX text +/bracketright % 93 +/circumflex % 94 % /asciicircum in ASCII +/underscore % 95 % /dotaccent in TeX text +/quoteleft % 96 % /grave accent in ANSI +/a % 97 +/b % 98 +/c % 99 +/d % 100 +/e % 101 +/f % 102 +/g % 103 +/h % 104 +/i % 105 +/j % 106 +/k % 107 +/l % 108 +/m % 109 +/n % 110 +/o % 111 +/p % 112 +/q % 113 +/r % 114 +/s % 115 +/t % 116 +/u % 117 +/v % 118 +/w % 119 +/x % 120 +/y % 121 +/z % 122 +/braceleft % 123 % /endash in TeX text +/bar % 124 % /emdash in TeX test +/braceright % 125 % /hungarumlaut in TeX text +/tilde % 126 % /asciitilde in ASCII +/dieresis % 127 not used (see 168), use higher up instead +/Lslash % 128 this position is unfortunate, but now too late to fix +/quotesingle % 129 +/quotesinglbase % 130 +/florin % 131 +/quotedblbase % 132 +/ellipsis % 133 +/dagger % 134 +/daggerdbl % 135 +/.notdef % /circumflex % 136 +/perthousand % 137 +/Scaron % 138 +/guilsinglleft % 139 +/.notdef % /OE % 140 +/Zcaron % 141 +/asciicircum % 142 +/minus % 143 +/lslash % 144 +/.notdef % /quoteleft % 145 +/.notdef % /quoteright % 146 +/quotedblleft % 147 +/quotedblright % 148 +/bullet % 149 +/endash % 150 +/emdash % 151 +/.notdef % /tilde % 152 +/trademark % 153 +/scaron % 154 +/guilsinglright % 155 +/.notdef % /oe % 156 +/zcaron % 157 +/asciitilde % 158 +/Ydieresis % 159 +/nbspace % 160 % /space (no break space) +/exclamdown % 161 +/cent % 162 +/sterling % 163 +/currency % 164 +/yen % 165 +/brokenbar % 166 +/section % 167 +/.notdef % /dieresis % 168 +/copyright % 169 +/ordfeminine % 170 +/guillemotleft % 171 +/logicalnot % 172 +/sfthyphen % 173 % /hyphen (hanging hyphen) +/registered % 174 +/.notdef % /macron % 175 +/degree % 176 +/plusminus % 177 +/twosuperior % 178 +/threesuperior % 179 +/.notdef % /acute % 180 +/mu % 181 +/paragraph % 182 +/periodcentered % 183 +/.notdef % /cedilla % 184 +/onesuperior % 185 +/ordmasculine % 186 +/guillemotright % 187 +/onequarter % 188 +/onehalf % 189 +/threequarters % 190 +/questiondown % 191 +/Agrave % 192 +/Aacute % 193 +/Acircumflex % 194 +/Atilde % 195 +/Adieresis % 196 +/Aring % 197 +/.notdef % /AE % 198 +/Ccedilla % 199 +/Egrave % 200 +/Eacute % 201 +/Ecircumflex % 202 +/Edieresis % 203 +/Igrave % 204 +/Iacute % 205 +/Icircumflex % 206 +/Idieresis % 207 +/Eth % 208 +/Ntilde % 209 +/Ograve % 210 +/Oacute % 211 +/Ocircumflex % 212 +/Otilde % 213 +/Odieresis % 214 +/multiply % 215 % OE in T1 +/.notdef % /Oslash % 216 +/Ugrave % 217 +/Uacute % 218 +/Ucircumflex % 219 +/Udieresis % 220 +/Yacute % 221 +/Thorn % 222 +/.notdef % /germandbls % 223 +/agrave % 224 +/aacute % 225 +/acircumflex % 226 +/atilde % 227 +/adieresis % 228 +/aring % 229 +/.notdef % /ae % 230 +/ccedilla % 231 +/egrave % 232 +/eacute % 233 +/ecircumflex % 234 +/edieresis % 235 +/igrave % 236 +/iacute % 237 +/icircumflex % 238 +/idieresis % 239 +/eth % 240 +/ntilde % 241 +/ograve % 242 +/oacute % 243 +/ocircumflex % 244 +/otilde % 245 +/odieresis % 246 +/divide % 247 % oe in T1 +/.notdef % /oslash % 248 +/ugrave % 249 +/uacute % 250 +/ucircumflex % 251 +/udieresis % 252 +/yacute % 253 +/thorn % 254 +/ydieresis % 255 % germandbls in T1 +] def + + +File: fontname.info, Node: xl2, Next: xt2, Prev: texnansx, Up: Encodings + +B.14 `xl2.enc': OT1 + ISO Latin 2 extended +========================================== + +% @psencodingfile{ +% author = "Petr Olsak, Zdenek Wagner", +% date = "27aug05", +% filename = "xl2.enc", +% license = "public domain", +% email = "tex-fonts@tug.org", +% codetable = "ISO/ASCII", +% docstring = " +% some of our (CSTUG- czech TeX Users Group) users want to support +% 8bit font coding such that: +% -- lower 7bit is exactly OT1 (but with differences imposed +% by DEK -- e.g. layout of cmr is different from cmtt) +% -- upper part is taken from ISO-Latin 2 (iso 8859-2), +% but some of empty positions are filled with useful characters +% usually available in type-1 font (permill sign etc.) +% " +% } +% +% 27aug05 - record Petr Olsak and Zdenek Wagner as the authors. +% 12jun05 - remove Texinfo @'s from LIGKERN's. +% +/XL2encoding [ +%%%%% '000 = "00 + /Gamma + /Delta + /Theta + /Lambda + /Xi + /Pi + /Sigma + /Upsilon +%%%%% '010 = "08 + /Phi + /Psi + /Omega + /ff + /fi + /fl + /ffi + /ffl +%%%%% '020 = "10 + /dotlessi + /dotlessj + /grave + /acute + /caron + /breve + /macron + /ring +%%%%% '030 = "18 + /cedilla + /germandbls + /ae + /oe + /oslash + /AE + /OE + /Oslash +%%%%% '040 = "20 + /.notdef + /exclam + /quotedblright + /numbersign + /dollar + /percent + /ampersand + /quoteright +%%%%% '050 = "28 + /parenleft + /parenright + /asterisk + /plus + /comma + /hyphen + /period + /slash +%%%%% '060 = "30 + /zero + /one + /two + /three + /four + /five + /six + /seven +%%%%% '070 = "38 + /eight + /nine + /colon + /semicolon + /exclamdown + /equal + /questiondown + /question +%%%%% '100 = "40 + /at + /A + /B + /C + /D + /E + /F + /G +%%%%% '110 = "48 + /H + /I + /J + /K + /L + /M + /N + /O +%%%%% '120 = "50 + /P + /Q + /R + /S + /T + /U + /V + /W +%%%%% '130 = "58 + /X + /Y + /Z + /bracketleft + /quotedblleft + /bracketright + /circumflex + /dotaccent +%%%%% '140 = "60 + /quoteleft + /a + /b + /c + /d + /e + /f + /g +%%%%% '150 = "68 + /h + /i + /j + /k + /l + /m + /n + /o +%%%%% '160 = "70 + /p + /q + /r + /s + /t + /u + /v + /w +%%%%% '170 = "78 + /x + /y + /z + /endash + /emdash + /hungarumlaut + /tilde + /dieresis +%%%%% '200 = "80 + /ellipsis + /dagger + /daggerdbl + /bullet + /sterling + /paragraph + /.notdef + /.notdef +%%%%% '210 = "88 + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /perthousand + /.notdef + /.notdef +%%%%% '220 = "90 + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef +%%%%% '230 = "98 + /Agrave + /.notdef + /.notdef + /.notdef + /hyphen + /ogonek + /guillemotleft + /guillemotright +%%%%% '240 = "A0 + /.notdef + /Aogonek + /breve + /Lslash + /currency + /Lcaron + /Sacute + /section +%%%%% '250 = "A8 + /dieresis + /Scaron + /Scedilla + /Tcaron + /Zacute + /.notdef + /Zcaron + /Zdotaccent +%%%%% '260 = "B0 + /ring + /aogonek + /cedilla + /lslash + /acute + /lcaron + /sacute + /caron +%%%%% '270 = "B8 + /agrave + /scaron + /scedilla + /tcaron + /zacute + /hungarumlaut + /zcaron + /zdotaccent +%%%%% '300 = "C0 + /Racute + /Aacute + /Acircumflex + /Abreve + /Adieresis + /Lacute + /Cacute + /Ccedilla +%%%%% '310 = "C8 + /Ccaron + /Eacute + /Eogonek + /Edieresis + /Ecaron + /Iacute + /Icircumflex + /Dcaron +%%%%% '320 = "D0 + /Eth + /Nacute + /Ncaron + /Oacute + /Ocircumflex + /Ohungarumlaut + /Odieresis + /multiply +%%%%% '330 = "D8 + /Rcaron + /Uring + /Uacute + /Uhungarumlaut + /Udieresis + /Yacute + /Togonek + /germandbls +%%%%% '340 = "E0 + /racute + /aacute + /acircumflex + /abreve + /adieresis + /lacute + /cacute + /ccedilla +%%%%% '350 = "E8 + /ccaron + /eacute + /eogonek + /edieresis + /ecaron + /iacute + /icircumflex + /dcaron +%%%%% '360 = "F0 + /eth + /nacute + /ncaron + /oacute + /ocircumflex + /ohungarumlaut + /odieresis + /divide +%%%%% '370 = "F8 + /rcaron + /uring + /uacute + /uhungarumlaut + /udieresis + /yacute + /quotedblbase + /quotedblleft +] def + +% LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ; +% LIGKERN quoteleft quoteleft =: quotedblleft ; +% LIGKERN quoteright quoteright =: quotedblright ; +% LIGKERN exclamdown exclamdown =: guillemotleft ; +% frenchdblquotes +% LIGKERN questiondown questiondown =: guillemotright ; +% csquoteleft +% LIGKERN comma comma =: quotedblbase ; +% LIGKERN space {} * ; * {} space ; zero {} * ; * {} zero ; +% LIGKERN one {} * ; * {} one ; two {} * ; * {} two ; +% LIGKERN three {} * ; * {} three ; four {} * ; * {} four ; +% LIGKERN five {} * ; * {} five ; six {} * ; * {} six ; +% LIGKERN seven {} * ; * {} seven ; eight {} * ; * {} eight ; +% LIGKERN nine {} * ; * {} nine ; +% LIGKERN question {} quoteleft ; exclam {} quoteleft ; + + +File: fontname.info, Node: xt2, Prev: xl2, Up: Encodings + +B.15 `xt2.enc': typewriter OT1 + ISO Latin 2 extended +===================================================== + +% @psencodingfile{ +% author = "Petr Olsak, Zdenek Wagner", +% date = "27aug05", +% filename = "xt2.enc", +% license = "public domain", +% email = "tex-fonts@tug.org", +% codetable = "ISO/ASCII", +% docstring = "This is the typewriter version of xl2." +% } +% +% 27aug05 - record Petr Olsak and Zdenek Wagner as the authors. +% 12jun05 - remove Texinfo @'s from LIGKERN's. +% +/XT2encoding [ +%%%%% '000 = "00 + /Gamma + /Delta + /Theta + /Lambda + /Xi + /Pi + /Sigma + /Upsilon +%%%%% '010 = "08 + /Phi + /Psi + /Omega + /arrowup + /arrowdown + /quotesingle + /exclamdown + /questiondown +%%%%% '020 = "10 + /dotlessi + /dotlessj + /grave + /acute + /caron + /breve + /macron + /ring +%%%%% '030 = "18 + /cedilla + /germandbls + /ae + /oe + /oslash + /AE + /OE + /Oslash +%%%%% '040 = "20 + /.notdef + /exclam + /quotedblright + /numbersign + /dollar + /percent + /ampersand + /quoteright +%%%%% '050 = "28 + /parenleft + /parenright + /asterisk + /plus + /comma + /hyphen + /period + /slash +%%%%% '060 = "30 + /zero + /one + /two + /three + /four + /five + /six + /seven +%%%%% '070 = "38 + /eight + /nine + /colon + /semicolon + /less + /equal + /greater + /question +%%%%% '100 = "40 + /at + /A + /B + /C + /D + /E + /F + /G +%%%%% '110 = "48 + /H + /I + /J + /K + /L + /M + /N + /O +%%%%% '120 = "50 + /P + /Q + /R + /S + /T + /U + /V + /W +%%%%% '130 = "58 + /X + /Y + /Z + /bracketleft + /backslash + /bracketright + /circumflex + /underscore +%%%%% '140 = "60 + /quoteleft + /a + /b + /c + /d + /e + /f + /g +%%%%% '150 = "68 + /h + /i + /j + /k + /l + /m + /n + /o +%%%%% '160 = "70 + /p + /q + /r + /s + /t + /u + /v + /w +%%%%% '170 = "78 + /x + /y + /z + /braceleft + /bar + /braceright + /tilde + /dieresis +%%%%% '200 = "80 + /ellipsis + /dagger + /daggerdbl + /bullet + /sterling + /paragraph + /.notdef + /.notdef +%%%%% '210 = "88 + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /perthousand + /.notdef + /.notdef +%%%%% '220 = "90 + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef +%%%%% '230 = "98 + /Agrave + /.notdef + /.notdef + /.notdef + /hyphen + /ogonek + /guillemotleft + /guillemotright +%%%%% '240 = "A0 + /.notdef + /Aogonek + /breve + /Lslash + /currency + /Lcaron + /Sacute + /section +%%%%% '250 = "A8 + /dieresis + /Scaron + /Scedilla + /Tcaron + /Zacute + /.notdef + /Zcaron + /Zdotaccent +%%%%% '260 = "B0 + /ring + /aogonek + /cedilla + /lslash + /acute + /lcaron + /sacute + /caron +%%%%% '270 = "B8 + /agrave + /scaron + /scedilla + /tcaron + /zacute + /hungarumlaut + /zcaron + /zdotaccent +%%%%% '300 = "C0 + /Racute + /Aacute + /Acircumflex + /Abreve + /Adieresis + /Lacute + /Cacute + /Ccedilla +%%%%% '310 = "C8 + /Ccaron + /Eacute + /Eogonek + /Edieresis + /Ecaron + /Iacute + /Icircumflex + /Dcaron +%%%%% '320 = "D0 + /Eth + /Nacute + /Ncaron + /Oacute + /Ocircumflex + /Ohungarumlaut + /Odieresis + /multiply +%%%%% '330 = "D8 + /Rcaron + /Uring + /Uacute + /Uhungarumlaut + /Udieresis + /Yacute + /Togonek + /germandbls +%%%%% '340 = "E0 + /racute + /aacute + /acircumflex + /abreve + /adieresis + /lacute + /cacute + /ccedilla +%%%%% '350 = "E8 + /ccaron + /eacute + /eogonek + /edieresis + /ecaron + /iacute + /icircumflex + /dcaron +%%%%% '360 = "F0 + /eth + /nacute + /ncaron + /oacute + /ocircumflex + /ohungarumlaut + /odieresis + /divide +%%%%% '370 = "F8 + /rcaron + /uring + /uacute + /uhungarumlaut + /udieresis + /yacute + /quotedblbase + /quotedblleft +] def + +% LIGKERN quoteleft quoteleft =: quotedblleft ; +% LIGKERN quoteright quoteright =: quotedblright ; +% LIGKERN exclamdown exclamdown =: guillemotleft ; +% frenchdblquotes +% LIGKERN questiondown questiondown =: guillemotright ; +% csquoteleft +% LIGKERN comma comma =: quotedblbase ; +% LIGKERN space {} * ; * {} space ; zero {} * ; * {} zero ; +% LIGKERN one {} * ; * {} one ; two {} * ; * {} two ; +% LIGKERN three {} * ; * {} three ; four {} * ; * {} four ; +% LIGKERN five {} * ; * {} five ; six {} * ; * {} six ; +% LIGKERN seven {} * ; * {} seven ; eight {} * ; * {} eight ; +% LIGKERN nine {} * ; * {} nine ; +% LIGKERN question {} quoteleft ; exclam {} quoteleft ; +% LIGKERN f {} f ; f {} i ; f {} l ; + + +File: fontname.info, Node: General index, Prev: Encodings, Up: Top + +General index +************* + + +* Menu: + +* 35 standard PostScript fonts: Standard PostScript fonts. + (line 6) +* 62.enc: 6w. (line 6) +* 7-bit encodings: Variants. (line 44) +* 8-bit encodings: Variants. (line 44) +* 8a.enc: 8a. (line 6) +* 8r.enc: 8r. (line 6) +* 9s variant: Variants. (line 44) +* Adobe standard encoding: 8a. (line 6) +* adobe.map: Adobe fonts. (line 6) +* Afm2tfm encoding: Variants. (line 67) +* apple.map: Apple fonts. (line 6) +* attribution of fonts, missing: Suppliers. (line 19) +* automatic expansion: Widths. (line 13) +* Avant Garde: Suppliers. (line 9) +* base encoding, for TeX: 8r. (line 6) +* Beebe, Nelson: History. (line 30) +* Beeton, Barbara: History. (line 30) +* Bernstein, Rocky: History. (line 30) +* bitstrea.map: Bitstream fonts. (line 6) +* bizarre font names: Suppliers. (line 31) +* Bouche, Thierry: History. (line 30) +* bright variant: Variants. (line 28) +* bugs, reporting: Introduction. (line 12) +* category codes: Long naming scheme. (line 34) +* character scaling, automatic: Widths. (line 13) +* compression: Widths. (line 6) +* contributors: History. (line 30) +* Cork encoding: ec. (line 6) +* CP-1251 encoding: 6w. (line 6) +* Cugley, Damian: History. (line 30) +* Cyrillic encoding: 6w. (line 6) +* Cyrillic encodings: Variants. (line 44) +* Cyrillic fonts: Variants. (line 86) +* design size specification: Filenames for fonts. (line 40) +* distribution: Introduction. (line 16) +* dtc.map: DTC fonts. (line 6) +* Dviljk translator: References. (line 26) +* Dvips encoding: dvips. (line 6) +* Dvips translator: References. (line 21) +* dvips.enc: dvips. (line 6) +* EC encoding: ec. (line 6) +* ec.enc: ec. (line 6) +* encoding files: Introduction. (line 16) +* encoding vectors: Encodings. (line 6) +* encoding, Dvips: dvips. (line 6) +* encoding, Groff: groff. (line 6) +* encoding, T5: t5. (line 6) +* encodings, Adobe standard: 8a. (line 6) +* encodings, Cork: ec. (line 6) +* encodings, Cyrillic CP-1251: 6w. (line 6) +* encodings, EC: ec. (line 6) +* encodings, qx: qx. (line 6) +* encodings, TeX base: 8r. (line 6) +* encodings, TeX Latin 1: ec. (line 6) +* encodings, TeX math italic: texmital. (line 6) +* encodings, TeX math symbol <1>: texmsym. (line 6) +* encodings, TeX math symbol: texmext. (line 6) +* encodings, texnansi: texnansi. (line 6) +* encodings, texnansx: texnansx. (line 6) +* encodings, unspecified: Variants. (line 67) +* Ertner, Vincent: URW fonts. (line 6) +* escape for nonstandard names: Suppliers. (line 31) +* expansion: Widths. (line 6) +* expert encoding: Variants. (line 127) +* expertised encodings: Variants. (line 44) +* expertised font: Variants. (line 127) +* extension, TeX math encoding: texmext. (line 6) +* fax variant: Variants. (line 28) +* filenames, basics: Filenames for fonts. (line 11) +* font scaling: Filenames for fonts. (line 40) +* font_coding_scheme: Long naming scheme. (line 30) +* Fontinst distribution: References. (line 17) +* FontName: Typefaces. (line 49) +* fontname mapping file: Name mapping file. (line 6) +* Fontname version 2: History. (line 14) +* foundries: Suppliers. (line 6) +* Garamond, versions of: Typefaces. (line 16) +* Greek fonts: Variants. (line 86) +* Groff encoding: groff. (line 6) +* groff.enc: groff. (line 6) +* hexadecimal design size: Filenames for fonts. (line 40) +* history: History. (line 6) +* Horn, Berthol: History. (line 30) +* individual font designers: Suppliers. (line 19) +* informal variant: Variants. (line 102) +* introduction: Introduction. (line 6) +* ISO Latin 2 extended and typewriter, TeX encoding: xt2. (line 6) +* ISO Latin 2 extended, TeX encoding: xl2. (line 6) +* italic, TeX math encoding: texmital. (line 6) +* itc.map: ITC fonts. (line 6) +* Jeffrey, Alan: History. (line 30) +* Knuth, Donald E.: Name mapping file. (line 28) +* Lang, Russell: History. (line 30) +* LaserJet 4 fonts: Variants. (line 67) +* letterspacing: Variants. (line 17) +* ligatures and encodings: Variants. (line 53) +* linotype.map: Linotype fonts. (line 6) +* long names: Long names. (line 6) +* long naming scheme: Long naming scheme. (line 6) +* lslash: Variants. (line 53) +* Lslash: Variants. (line 53) +* Lubalin, Herb: Suppliers. (line 9) +* Lucida Bright: 8r. (line 6) +* MacKay, Pierre: History. (line 30) +* mapping file: Name mapping file. (line 6) +* mapping files: Introduction. (line 16) +* math extension, TeX encoding: texmext. (line 6) +* math italic, TeX encoding: texmital. (line 6) +* math symbol, TeX encoding: texmsym. (line 6) +* math variants: Variants. (line 96) +* Mittelbach, Frank <1>: Variants. (line 117) +* Mittelbach, Frank <2>: Filenames for fonts. (line 40) +* Mittelbach, Frank: History. (line 6) +* modes.mf: References. (line 14) +* monotype.map: Monotype fonts. (line 6) +* multiple variants: Variants. (line 9) +* nonstandard names, escape for: Suppliers. (line 31) +* phonetic encodings: Variants. (line 44) +* pi fonts: Typefaces. (line 42) +* PostScript encoding vectors: Encodings. (line 6) +* PostScript fonts, standard: Standard PostScript fonts. + (line 6) +* qx encoding: qx. (line 6) +* qx.enc: qx. (line 6) +* Rahtz, Sebastian: History. (line 30) +* raw fonts: Suppliers. (line 25) +* references: References. (line 6) +* related files: References. (line 6) +* reporting bugs: Introduction. (line 12) +* Rivlin, Jean: History. (line 30) +* Rokicki, Tom: History. (line 30) +* sans variant: Variants. (line 117) +* Schoepf, Rainer: History. (line 6) +* schoolbook variant: Variants. (line 102) +* scripts: Variants. (line 86) +* semisans variant: Variants. (line 28) +* semiserif variant: Variants. (line 28) +* small caps fonts: Variants. (line 17) +* small foundries: Suppliers. (line 19) +* Southall, Richard: References. (line 29) +* standard PostScript fonts: Standard PostScript fonts. + (line 6) +* Stone Informal: Variants. (line 102) +* SuperFont: Variants. (line 44) +* supplier.map: Suppliers. (line 34) +* suppliers: Suppliers. (line 6) +* symbol, TeX math encoding: texmsym. (line 6) +* T1.etx: Variants. (line 53) +* T5 encoding: t5. (line 6) +* t5.enc: t5. (line 6) +* TDS standard: References. (line 8) +* terminology: References. (line 29) +* TeX base encoding: 8r. (line 6) +* TeX Directory Structure standard: References. (line 8) +* TeX Latin 1 encoding: ec. (line 6) +* TeX math extension encoding: texmext. (line 6) +* TeX math italic encoding: texmital. (line 6) +* TeX math symbol encoding: texmsym. (line 6) +* tex-fonts@tug.org: Introduction. (line 12) +* texfonts.map: Name mapping file. (line 13) +* texmext.enc: texmext. (line 6) +* texmital.enc: texmital. (line 6) +* texmsym.enc: texmsym. (line 6) +* texnansi encoding: texnansi. (line 6) +* texnansi.enc: texnansi. (line 6) +* texnansx encoding: texnansx. (line 6) +* texnansx.enc: texnansx. (line 6) +* type foundries: Suppliers. (line 6) +* typeface.map: Typefaces. (line 49) +* typefaces: Typefaces. (line 6) +* typewriter variant: Variants. (line 117) +* unattributed fonts: Suppliers. (line 19) +* URW fonts: URW fonts. (line 6) +* urw.map: URW fonts. (line 34) +* utilities: Introduction. (line 16) +* variant.map: Variants. (line 132) +* variants: Variants. (line 6) +* Vietnamese encoding: t5. (line 6) +* weight: Weights. (line 6) +* weight.map: Weights. (line 14) +* width.map: Widths. (line 22) +* widths: Widths. (line 6) +* Windows ANSI: 8r. (line 6) +* X Window System font names: Long naming scheme. (line 6) +* xl2.enc: xl2. (line 6) +* xt2.enc: xt2. (line 6) + + + +Tag Table: +Node: Top260 +Node: Introduction1969 +Node: History3036 +Node: References4851 +Node: Filenames for fonts6171 +Node: Suppliers7913 +Node: Typefaces10494 +Node: Weights31558 +Node: Variants32371 +Node: Widths42651 +Node: Long names44059 +Node: Name mapping file44618 +Node: Long naming scheme46199 +Node: Font name lists47955 +Node: Standard PostScript fonts48414 +Node: Adobe fonts49876 +Node: Apple fonts239856 +Node: Bitstream fonts240190 +Node: DTC fonts300954 +Node: ITC fonts301871 +Node: Linotype fonts347511 +Node: Monotype fonts603537 +Node: URW fonts690094 +Node: Encodings693293 +Node: 6w695351 +Node: 8a697836 +Node: 8r700346 +Node: dvips705330 +Node: ec709136 +Node: groff721911 +Node: t5726845 +Node: qx734796 +Node: texmext776268 +Node: texmsym780124 +Node: texmital783307 +Node: texnansi786041 +Node: texnansx798460 +Node: xl2803809 +Node: xt2808796 +Node: General index813423 + +End Tag Table diff --git a/Master/texmf-dist/doc/info/kpathsea.info b/Master/texmf-dist/doc/info/kpathsea.info new file mode 100644 index 00000000000..54e179d0f3d --- /dev/null +++ b/Master/texmf-dist/doc/info/kpathsea.info @@ -0,0 +1,4763 @@ +This is ../../../../texk/kpathsea/doc/kpathsea.info, produced by +makeinfo version 4.13 from ../../../../texk/kpathsea/doc/kpathsea.texi. + +This file documents the Kpathsea library for path searching. + + Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +2005, 2007, 2008, 2009, 2010, 2011, 2012 Karl Berry & Olaf Weber. + + Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. + + Permission is granted to copy and distribute modified versions of +this manual under the conditions for verbatim copying, provided that the +entire resulting derived work is distributed under the terms of a +permission notice identical to this one. + + Permission is granted to copy and distribute translations of this +manual into another language, under the above conditions for modified +versions, except that this permission notice may be stated in a +translation approved by the TeX Users Group. + +INFO-DIR-SECTION TeX +START-INFO-DIR-ENTRY +* Kpathsea: (kpathsea). File lookup along search paths. +* kpsewhich: (kpathsea)Invoking kpsewhich. TeX file searching. +* mktexfmt: (kpathsea)mktex scripts. Format (fmt/base/mem) generation. +* mktexlsr: (kpathsea)Filename database. Update ls-R. +* mktexmf: (kpathsea)mktex scripts. MF source generation. +* mktexpk: (kpathsea)mktex scripts. PK bitmap generation. +* mktextex: (kpathsea)mktex scripts. TeX source generation. +* mktextfm: (kpathsea)mktex scripts. TeX font metric generation. +END-INFO-DIR-ENTRY + + +File: kpathsea.info, Node: Top, Next: Introduction, Up: (dir) + +Kpathsea library +**************** + +This manual documents how to install and use the Kpathsea library for +filename lookup. It corresponds to version 6.1.0, released in +May 2012. + +* Menu: + +* Introduction:: Overview. +* Installation:: Compilation, installation, and bug reporting. + +* Path searching:: How filename lookups work. +* TeX support:: Special support for TeX-related file lookups. + +* Programming:: How to use Kpathsea features in your program. + +* Index:: General index. + + +File: kpathsea.info, Node: Introduction, Next: Installation, Prev: Top, Up: Top + +1 Introduction +************** + +This manual corresponds to version 6.1.0 of the Kpathsea library, +released in May 2012. + + The library's fundamental purpose is to return a filename from a +list of directories specified by the user, similar to what shells do +when looking up program names to execute. + + The following software, all of which we maintain, uses this library: + + * Dviljk (see the `dvilj' man page) + + * Dvipsk (*note Introduction: (dvips)Top.) + + * GNU font utilities (*note Introduction: (fontu)Top.) + + * Web2c (*note Introduction: (web2c)Top.) + + * Xdvik (see the `xdvi' man page) + +Other software that we do not maintain also uses it. + + We are still actively maintaining the library (and probably always +will be, despite our hopes). If you have comments or suggestions, +please send them to us (*note Reporting bugs::). + + We distribute the library under the GNU Library General Public +License (LGPL). In short, this means if you write a program using the +library, you must (offer to) distribute the source to the library, +along with any changes you have made, and allow anyone to modify the +library source and distribute their modifications. It does not mean +you have to distribute the source to your program, although we hope you +will. See the accompanying files for the text of the GNU licenses. + + If you know enough about TeX to be reading this manual, then you (or +your institution) should consider joining the TeX Users Group (if +you're already a member, thanks!). TUG produces the periodical +`TUGboat', sponsors an annual meeting and publishes the proceedings, +and arranges courses on TeX for all levels of users throughout the +world. See `http://tug.org' for information. + +* Menu: + +* History:: + + +File: kpathsea.info, Node: History, Up: Introduction + +1.1 History +=========== + +(This section is for those people who are curious about how the library +came about.) (If you like to read historical accounts of software, we +urge you to seek out the GNU Autoconf manual and the "Errors of TeX" +paper by Don Knuth, published in `Software--Practice and Experience' +19(7), July 1989.) + + [Karl writes.] My first ChangeLog entry for Web2c seems to be +February 1990, but I may have done some work before then. In any case, +Tim Morgan and I were jointly maintaining it for a time. (I should +mention here that Tim had made Web2c into a real distribution long +before I had ever used it or even heard of it, and Tom Rokicki did the +original implementation. I was using `pxp' and `pc' on VAX 11/750's +and the hot new Sun 2 machines.) + + It must have been later in 1990 and 1991 that I started working on +`TeX for the Impatient'. Dvips, Xdvi, Web2c, and the GNU fontutils +(which I was also writing at the time) all used different environment +variables, and, more importantly, had different bugs in their path +searching. This became extremely painful, as I was stressing everything +to the limit working on the book. I also desperately wanted to +implement subdirectory searching, since I couldn't stand putting +everything in one big directory, and also couldn't stand having to +explicitly specify `cm', `pandora', ... in a path. + + In the first incarnation, I just hacked separately on each +program--that was the original subdirectory searching code in both Xdvi +and Dvips, though I think Paul Vojta has completely rewritten Xdvi's +support by now. That is, I tried to go with the flow in each program, +rather than changing the program's calling sequences to conform to +common routines. + + Then, as bugs inevitably appeared, I found I was fixing the same +thing three times (Web2c and fontutils were always sharing code, since I +maintained those--there was no Dvipsk or Xdvik or Dviljk at this +point). After a while, I finally started sharing source files. They +weren't yet a library, though. I just kept things up to date with shell +scripts. (I was developing on a 386 running ISC 2.2 at the time, and so +didn't have symbolic links. An awful experience.) + + The ChangeLogs for Xdvik and Dvipsk record initial releases of those +distributions in May and June 1992. I think it was because I was tired +of the different configuration strategies of each program, not so much +because of the path searching. (Autoconf was being developed by David +MacKenzie and others, and I was adapting it to TeX and friends.) + + I started to make a separate library that other programs could link +with on my birthday in April 1993, according to the ChangeLog. I don't +remember exactly why I finally took the time to make it a separate +library; a conversation with david zuhn that initiated it. Just seemed +like it was time. + + Dviljk got started in March 1994 after I bought a Laserjet 4. +(Kpathsea work got suspended while Norm Walsh and I, with Gustaf +Neumann's help, implemented a way for TeX to get at all those neat +builtin LJ4 fonts ... such a treat to have something to typeset in +besides Palatino!) + + By spring of 1995, I had implemented just about all the +path-searching features in Kpathsea that I plan to, driven beyond my +initial goals by Thomas Esser and others. I then started to integrate +Web2c with Kpathsea. After the release of a stable Web2c, I hope to be +able to stop development, and turn most of my attention back to making +fonts for GNU. (Always assuming Micros**t hasn't completely +obliterated Unix by then, or that software patents haven't stopped +software development by anybody smaller than a company with a +million-dollar-a-year legal budget. Which is actually what I think is +likely to happen, but that's another story...) + + [Olaf writes.] At the end of 1997, UNIX is still alive and kicking, +individuals still develop software, and Web2c development still +continues. Karl had been looking for some time for someone to take up +part of the burden, and I volunteered. + + +File: kpathsea.info, Node: Installation, Next: Path searching, Prev: Introduction, Up: Top + +2 Installation +************** + +(A copy of this chapter is in the distribution file `kpathsea/INSTALL'.) + +The procedure for Kpathsea (and Web2c, etc.) configuration and +installation follows. If you encounter trouble, see *note Common +problems::, a copy of which is in the file `kpathsea/BUGS'. + +* Menu: + +* Simple installation:: If you just want to do it. +* Custom installation:: If you want to change things around. +* Security:: Who can write what files, etc. +* TeX directory structure:: Managing the horde of TeX input files. +* unixtex.ftp:: Getting software via FTP, on CD-ROM, or on tape. +* Reporting bugs:: Where and how to report bugs. + + +File: kpathsea.info, Node: Simple installation, Next: Custom installation, Up: Installation + +2.1 Simple installation +======================= + +Installing TeX and friends for the first time can be a daunting +experience. Thus, you may prefer to skip this whole thing and just get +precompiled executables: see *note unixtex.ftp::. + + This section explains what to do if you wish to take the defaults for +everything, and generally to install in the simplest possible way. Most +steps here refer to corresponding subsection in the next section which +explains how to override defaults and generally gives more details. + + By default everything will be installed under `/usr/local' and the +following discussion assumes this. However, if you already have TeX +installed, its location is used to derive the directory under which +everything is to be installed. + + 1. Be sure you have enough disk space: approximately 8 megabytes for + the compressed archives, 15MB for sources, 50MB for compilation, + 40MB for the (initial) installed system (including library files). + *Note Disk space::. + + 2. Retrieve these distribution archives: + `ftp://ftp.tug.org/tex/texk.tar.gz' + These are the sources, which you will be compiling. + + `ftp://ftp.tug.org/tex/texklib.tar.gz' + This is a basic set of input files. You should unpack it in + the directory `/usr/local/share'; doing so will create a + `texmf' subdirectory there. + + These archives are mirrored on the CTAN hosts, in the + `systems/web2c' directory. + + *Note Kpathsea application distributions::. + + 3. When using the default search paths, there is no need to edit any + distribution files. *Note Changing search paths::. + + 4. At the top level of the distribution, run `sh configure'. (If you + have the GNU Bash shell installed, run `bash configure'.) *Note + Running configure::. + + 5. `make'. *Note Running make::. If you are using a BSD 4.4 system + such as FreeBSD or NetBSD, you may have to use GNU make (often + installed in `/usr/local/bin'), not the BSD make. + + 6. `make install'. *Note Installing files::. + + 7. `make distclean'. *Note Cleaning up::. + + 8. Set up a cron job to rebuild the filename database that makes + searching faster. This line will rebuild it every midnight: + 0 0 * * * cd /usr/local/share/texmf && /BINDIR/mktexlsr + *Note Filename database generation::, and *note Filename + database::. + + 9. If you're installing Dvips, you also need to set up configuration + files for your printers and make any additional PostScript fonts + available. *Note Installation: (dvips)Installation. If you have + any color printers, see *note Color device configuration: + (dvips)Color device configuration. + + 10. The first time you run a DVI driver, a bunch of PK fonts will be + built by Metafont via `mktexpk' (and added to the filename + database). This will take some time. Don't be alarmed; they will + created only this first time (unless something is wrong with your + path definitions). + + By default, `mktexpk' will create these fonts in a hierarchy under + `/var/tmp/texfonts'; it simply assumes that `/var/tmp' exists and + is globally writable. If you need a different arrangement, see + *note mktex configuration::. + + *Note mktex scripts::. + + 11. For some simple tests, try `tex story \\bye' and `latex sample2e'. + Then run `xdvi story' or `dvips sample2e' on the resulting DVI + files to preview/print the documents. *Note Installation + testing::. + + +File: kpathsea.info, Node: Custom installation, Next: Security, Prev: Simple installation, Up: Installation + +2.2 Custom installation +======================= + +Most sites need to modify the default installation procedure in some +way, perhaps merely changing the prefix from `/usr/local', perhaps +adding extra compiler or loader options to work around `configure' +bugs. This section explains how to override default choices. For +additional distribution-specific information: + * `dviljk/INSTALL'. + + * *Note Installation: (dvips)Installation. + + * *Note Installation: (web2c)Installation. + + * `xdvik/INSTALL'. + + These instructions are for Unix systems. Other operating-system +specific distributions have their own instructions. The code base +itself supports Amiga, DOS, OS/2, and VMS. + + Following are the same steps as in the previous section (which +describes the simplest installation), but with much more detail. + +* Menu: + +* Disk space:: +* Kpathsea application distributions:: +* Changing search paths:: +* Running configure:: +* Running make:: +* Installing files:: +* Cleaning up:: +* Filename database generation:: +* mktex scripts:: +* Installation testing:: + + +File: kpathsea.info, Node: Disk space, Next: Kpathsea application distributions, Up: Custom installation + +2.2.1 Disk space +---------------- + +Here is a table showing the disk space needed for each distribution +(described in the next section). The `(totals)' line reflects the +`texk' source distribution and `texklib'; the individual distributions +don't enter into it. Sizes are in megabytes. All numbers are +approximate. + +Distribution .tar.gz Unpacked Compiled Installed +dviljk .9 3.8 +dvipsk .9 3.2 +xdvik .7 2.5 +web2c 1.3 5.0 +web 1.9 6.5 - - +texk 7.5 32.1 95.3 33.5 +texklib 6.3 15.0 - 15.0 +(totals) 14.6 47.1 95.3 48.5 + + +File: kpathsea.info, Node: Kpathsea application distributions, Next: Changing search paths, Prev: Disk space, Up: Custom installation + +2.2.2 Kpathsea application distributions +---------------------------------------- + +The archive `ftp://ftp.tug.org/tex/texk.tar.gz' contains all of the +Kpathsea applications I maintain, and the library itself. For example, +since NeXT does not generally support X11, you'd probably want to skip +`xdvik' (or simply remove it after unpacking `texk.tar.gz'. If you are +not interested in all of them, you can also retrieve them separately: + +`dviljk.tar.gz' + DVI to PCL, for LaserJet printers. + +`dvipsk.tar.gz' + DVI to PostScript, for previewers, printers, or PDF generation. + +`web2c.tar.gz' + The software needed to compile TeX and friends. + +`web.tar.gz' + The original WEB source files, also used in compilation. + +`xdvik.tar.gz' + DVI previewing under the X window system. + + + If you want to use the Babel LaTeX package for support of non-English +typesetting, you may need to retrieve additional files. See the file +`install.txt' in the Babel distribution. + + +File: kpathsea.info, Node: Changing search paths, Next: Running configure, Prev: Kpathsea application distributions, Up: Custom installation + +2.2.3 Changing search paths +--------------------------- + +If the search paths for your installation differ from the standard TeX +directory structure (*note Introduction: (tds)Top.), edit the file +`kpathsea/texmf.in' as desired, before running `configure'. For +example, if you have all your fonts or macros in one big directory. + + You may also wish to edit the file `mktex.cnf', either before or +after installation, to control various aspects of `mktexpk' and +friends. *Note mktex configuration::. + + You do not need to edit `texmf.in' to change the default top-level +or other installation _directories_ (only the paths). You can and +should do that when you run `configure' (next step). + + You also do not need to edit `texmf.in' if you are willing to rely +on `texmf.cnf' at runtime to define the paths, and let the compile-time +default paths be incorrect. Usually there is no harm in doing this. + + The section below explains default generation in more detail. + +* Menu: + +* Default path features:: +* Default path generation:: + + +File: kpathsea.info, Node: Default path features, Next: Default path generation, Up: Changing search paths + +2.2.3.1 Default path features +............................. + +The purpose of having all the different files described in the section +above is to avoid having the same information in more than one place. If +you change the installation directories or top-level prefix at +`configure'-time, those changes will propagate through the whole +sequence. And if you change the default paths in `texmf.in', those +changes are propagated to the compile-time defaults. + + The Make definitions are all repeated in several Makefile's; but +changing the top-level `Makefile' should suffice, as it passes down all +the variable definitions, thus overriding the submakes. (The +definitions are repeated so you can run Make in the subdirectories, if +you should have occasion to.) + + By default, the bitmap font paths end with `/$MAKETEX_MODE', thus +including the device name (usually a Metafont mode name such as +`ljfour'). This distinguishes two different devices with the same +resolution--a write/white from a write/black 300dpi printer, for +example. + + However, since most sites don't have this complication, Kpathsea +(specifically, the `kpse_init_prog' function in `kpathsea/proginit.c') +has a special case: if the mode has not been explicitly set by the user +(or in a configuration file), it sets `MAKETEX_MODE' to `/'. This +makes the default PK path, for example, expand into `.../pk//', so +fonts will be found even if there is no subdirectory for the mode (if +you arranged things that way because your site has only one printer, +for example) or if the program is mode-independent (e.g., `pktype'). + + To make the paths independent of the mode, simply edit `texmf.in' +before installation, or the installed `texmf.cnf', and remove the +`$MAKETEX_MODE'. + + *Note mktex script arguments::, for how this interacts with +`mktexpk'. + + *Note TeX directory structure: TeX directory structure, for a +description of the default arrangement of the input files that comprise +the TeX system. + + +File: kpathsea.info, Node: Default path generation, Prev: Default path features, Up: Changing search paths + +2.2.3.2 Default path generation +............................... + +This section describes how the default paths are constructed. + + You may wish to ignore the whole mess and simply edit `texmf.cnf' +after it is installed, perhaps even copying it into place beforehand so +you can complete the installation, if it seems necessary. + + To summarize the chain of events that go into defining the default +paths: + + 1. `configure' creates a `Makefile' from each `Makefile.in'. + + 2. When Make runs in the `kpathsea' directory, it creates a file + `texmf.sed' that substitutes the Make value of `$(var)' for a + string `@var@'. The variables in question are the one that define + the installation directories. + + 3. `texmf.sed' (together with a little extra magic--see + `kpathsea/Makefile') is applied to `texmf.in' to generate + `texmf.cnf'. This is the file that will eventually be installed + and used. + + 4. The definitions in `texmf.cnf' are recast as C `#define''s in + `paths.h'. These values will be the compile-time defaults; they + are not used at runtime unless no `texmf.cnf' file can be found. + + (That's a lie: the compile-time defaults are what any extra :'s in + `texmf.cnf' expand into; but the paths as distributed have no extra + :'s, and there's no particular reason for them to.) + + +File: kpathsea.info, Node: Running configure, Next: Running make, Prev: Changing search paths, Up: Custom installation + +2.2.4 Running `configure' +------------------------- + +Run `sh configure OPTIONS' (in the top-level directory, the one +containing `kpathsea/'), possibly using a shell other than `sh' (*note +configure shells::). + + `configure' adapts the source distribution to the present system via +`#define''s in `*/c-auto.h', which are created from the corresponding +`c-auto.in'. It also creates a `Makefile' from the corresponding +`Makefile.in', doing `@VAR@' and `ac_include' substitutions). + + `configure' is the best place to control the configuration, +compilation, and installed location of the software, either via +command-line options, or by setting environment variables before +invoking it. For example, you can disable `mktexpk' by default with +the option `--disable-mktexpk'. *Note configure options::. + +* Menu: + +* configure shells:: +* configure options:: +* configure environment:: +* configure scenarios:: +* Shared library:: + + +File: kpathsea.info, Node: configure shells, Next: configure options, Up: Running configure + +2.2.4.1 `configure' shells +.......................... + +Considerable effort has gone into trying to ensure that the `configure' +scripts can be run by most Bourne shell variants. If `sh' runs into +trouble, your best bet is to use Bash, the GNU Bourne-again shell +(*note Top: (bash)Top.). + + Bourne shell variants for which problems have been reported in the +past are: +`ksh' + Old versions of the Korn shell may fail to handle the scripts. + The Korn shell may be installed as `/bin/sh' on AIX, in which case + `/bin/bsh' may serve instead. + +`ash' + Old versions of ash are unable to handle the scripts. Ash is + sometimes installed as `/bin/sh' on NetBSD, FreeBSD, and Linux + systems. `/bin/bash' should be available for those systems, but + might not be part of a default installation. + +`Ultrix /bin/sh' + `/bin/sh' under Ultrix is a DEC-grown shell that is notably + deficient in many ways. `/bin/sh5' may be necessary. + + +File: kpathsea.info, Node: configure options, Next: configure environment, Prev: configure shells, Up: Running configure + +2.2.4.2 `configure' options +........................... + +For a complete list of all `configure' options, run `configure --help' +or see *note Running `configure' scripts: (autoconf)Invoking configure, +(a copy is in the file `kpathsea/README.CONFIGURE'). The generic +options are listed first in the `--help' output, and the +package-specific options come last. The environment variables +`configure' pays attention to are listed below. + + Options particularly likely to be useful are `--prefix', +`--datadir', and the like; see *note configure scenarios::. + + This section gives pointers to descriptions of the `--with' and +`--enable' options to `configure' that Kpathsea-using programs accept. + +`--without-mktexmf-default' +`--without-mktexpk-default' +`--without-mktextfm-default' +`--with-mktextex-default' + Enable or disable the dynamic generation programs. *Note mktex + configuration::. + +`--enable-shared' + Build Kpathsea as a shared library, and link against it. Also + build the usual static library. *Note Shared library::. + +`--disable-static' + Build only the shared library. Implies `--enable-shared'. + +`--enable-maintainer-mode' + Enables make targets that are useful for the maintainer and likely + to be a pain for anyone else; the makefiles created when this + option is enabled may not work at all for you. You have been + warned. + + +File: kpathsea.info, Node: configure environment, Next: configure scenarios, Prev: configure options, Up: Running configure + +2.2.4.3 `configure' environment +............................... + +`configure' uses the value of the following environment variables in +determining your system's characteristics, and substitutes for them in +Makefile's: + +`CC' + The compiler to use: default is `gcc' if it's installed, otherwise + `cc'. + +`CFLAGS' + Options to give the compiler: default is `-g -O2' for `gcc', `-g' + otherwise. `CFLAGS' comes after any other options. You may need + to include `-w' here if your compilations commonly have useless + warnings (e.g., `NULL redefined'), or `configure' may fail to + detect the presence of header files (it takes the messages on + standard error to mean the header file doesn't exist). + +`CPPFLAGS' + Options to pass to the compiler preprocessor; this matters most for + configuration, not the actual source compilation. The `configure' + script often does only preprocessing (e.g., to check for the + existence of #include files), and `CFLAGS' is not used for this. + You may need to set this to something like + `-I/usr/local/include/wwwhatever' if you have the libwww library + installed for hyper-xdvik (see `xdvik/INSTALL'). + +`DEFS' + Additional preprocessor options, but not used by `configure'. + Provided for enabling or disabling program features, as documented + in the various program-specific installation instructions. `DEFS' + comes before any compiler options included by the distribution + `Makefile's or by `configure'. + +`LDFLAGS' + Additional options to give to the loader. `LDFLAGS' comes before + any other linker options. + +`LIBS' + Additional libraries to link with. + + +File: kpathsea.info, Node: configure scenarios, Next: Shared library, Prev: configure environment, Up: Running configure + +2.2.4.4 `configure' scenarios +............................. + +Here are some common installation scenarios: + + * Including X support in Metafont. This is disabled by default, + since many sites have no use for it, and it's a leading cause of + configuration problems. + configure --with-x + + * Putting the binaries, TeX files, GNU info files, etc. into a single + TeX hierarchy, say `/here/texmf', requires overriding defaults in + `configure': + configure --prefix=/here/texmf --datadir=/here + + * You can compile on multiple architectures simultaneously either by + building symbolic link trees with the `lndir' script from the X11 + distribution, or with the `--srcdir' option: + configure --srcdir=SRCDIR + + * If you are installing binaries for multiple architectures into a + single hierarchy, you will probably want to override the default + `bin' and `lib' directories, something like this: + configure --prefix=TEXMF --datadir=TEXMF \ + --bindir=TEXMF/ARCH/bin --libdir=TEXMF/ARCH/lib + make texmf=TEXMF + (Unless you make provisions for architecture-specific files in + other ways, e.g., with Depot or an automounter.) + + * To compile with optimization (to compile without debugging, remove + the `-g'): + env CFLAGS="-g -O" sh configure ... + For a potential problem if you optimize, see *note TeX or Metafont + failing: TeX or Metafont failing. + + +File: kpathsea.info, Node: Shared library, Prev: configure scenarios, Up: Running configure + +2.2.4.5 Shared library +...................... + +You can compile Kpathsea as a shared library on a few systems, by +specifying the option `--enable-shared' when you run `configure'. + + The main advantage in doing this is that the executables can then +share the code, thus decreasing memory and disk space requirements. + + On some systems, you can record the location of shared libraries in a +binary, usually by giving certain options to the linker. Then +individual users do not need to set their system's environment variable +(e.g., `LD_LIBRARY_PATH') to find shared libraries. If you want to do +this, you will need to add the necessary options to `LDFLAGS' yourself; +for example, on Solaris, include something like `-R${prefix}/lib', on +IRIX or Linux, use `-rpath${prefix}/lib'. (Unfortunately, making this +happen by default is very difficult, because of interactions with an +existing installed shared library.) + + +File: kpathsea.info, Node: Running make, Next: Installing files, Prev: Running configure, Up: Custom installation + +2.2.5 Running `make' +-------------------- + +`make' (still in the top-level directory). This also creates the +`texmf.cnf' and `paths.h' files that define the default search paths, +and (by default) the `plain' and `latex' TeX formats. + + You can override directory names and other values at `make'-time. +`make/paths.make' lists the variables most commonly reset. For +example, `make default_texsizes=600' changes the list of fallback +resolutions. + + You can also override each of `configure''s environment variables +(*note configure environment::). The Make variables have the same +names. + + Finally, you can supply additional options via the following +variables. (`configure' does not use these.) + +`XCPPFLAGS' +`XDEFS' + Preprocessor options. + +`XCFLAGS' + Compiler options. + +`XLDFLAGS' + Loader options (included at beginning of link commands). + +`XLOADLIBES' + More loader options (included at end of link commands). + +`XMAKEARGS' + Additional Make arguments passed to all sub-`make''s. You may need + to include assignments to the other variables here via `XMAKEARGS'; + for example: `make XMAKEARGS="CFLAGS=-O XDEFS=-DA4"'. + + It's generally a bad idea to use a different compiler (`CC') or +libraries (`LIBS') for compilation than you did for configuration, +since the values `configure' determined may then be incorrect. + + Adding compiler options to change the "universe" you are using +(typically BSD vs. system V) is generally a cause of trouble. It's +best to use the native environment, whatever that is; `configure' and +the software usually adapt best to that. In particular, under Solaris +2.x, you should not use the BSD-compatibility library (`libucb') or +include files (`ucbinclude'). + + If you want to use the Babel LaTeX package for support of non-English +typesetting, you need to modify some files before making the LaTeX +format. See the file `install.txt' in the Babel distribution. + + +File: kpathsea.info, Node: Installing files, Next: Cleaning up, Prev: Running make, Up: Custom installation + +2.2.6 Installing files +---------------------- + +The basic command is the usual `make install'. For security issues, +*note Security::. + + The first time you install any manual in the GNU Info system, you +should add a line (you choose where) to the file `dir' in your +`$(infodir)' directory. Sample text for this is given near the top of +the Texinfo source files (`kpathsea/kpathsea.texi', +`dvipsk/dvips.texi', and `web2c/doc/web2c.texi'). If you have a recent +version of the GNU Texinfo distribution installed +(`ftp://prep.ai.mit.edu/pub/gnu/texinfo-3.9.tar.gz' or later), this +should happen automatically. + + On the offchance that this is your first Info installation, the +`dir' file I use is included in the distribution as `etc/dir-example'. + + You may wish to use one of the following targets, especially if you +are installing on multiple architectures: + * `make install-exec' to install in architecture-dependent + directories, i.e., ones that depend on the `$(exec_prefix)' Make + variable. This includes links to binaries, libraries, etc., not + just "executables". + + * `make install-data' to install in architecture-independent + directories, such as documentation, configuration files, pool + files, etc. + + If you use the Andrew File System, the normal path (e.g., +PREFIX/bin) only gets you to a read-only copy of the files, and you +must specify a different path for installation. The best way to do this +is by setting the `prefix' variable on the `make' command line. The +sequence becomes something like this: + configure --prefix=/whatever + make + make install prefix=/afs/.SYSTEM.NAME/system/1.3/@sys/whatever + With AFS, you will definitely want to use relative filenames in +`ls-R' (*note Filename database::), not absolute filenames. This is +done by default, but check anyway. + + +File: kpathsea.info, Node: Cleaning up, Next: Filename database generation, Prev: Installing files, Up: Custom installation + +2.2.7 Cleaning up +----------------- + +The basic command is `make distclean'. This removes all files created +by the build. + + Alternatively, + * `make mostlyclean' if you intend to compile on another + architecture. For Web2C, since the generated C files are portable, + they are not removed. If the `lex' vs. `flex' situation is going + to be different on the next machine, `rm web2c/lex.yy.c'. + + * `make clean' to remove files created by compiling, but leave + configuration files and Makefiles. + + * `make maintainer-clean' to remove everything that the Makefiles can + rebuild. This is more than `distclean' removes, and you should + only use it if you are thoroughly conversant with (and have the + necessary versions of) Autoconf. + + * `make extraclean' to remove other junk, e.g., core files, log + files, patch rejects. This is independent of the other `clean' + targets. + + +File: kpathsea.info, Node: Filename database generation, Next: mktex scripts, Prev: Cleaning up, Up: Custom installation + +2.2.8 Filename database generation +---------------------------------- + +You will probably want to set up a `cron' entry on the appropriate +machine(s) to rebuild the filename database nightly or so, as in: + 0 0 * * * cd TEXMF && /BINDIR/mktexlsr + *Note Filename database::. + + Although the `mktex...' scripts make every effort to add +newly-created files on the fly, it can't hurt to make sure you get a +fresh version every so often. + + +File: kpathsea.info, Node: mktex scripts, Next: Installation testing, Prev: Filename database generation, Up: Custom installation + +2.2.9 `mktex' scripts +--------------------- + +If Kpathsea cannot otherwise find a file, for some file types it is +configured by default to invoke an external program to create it +dynamically (*note mktex configuration::). These are collectively +known as "`mktex' scripts", since most of them are named `mktex...'. + + For example, this is useful for fonts (bitmaps, TFM's, and +arbitrarily-sizable Metafont sources such as the Sauter and EC fonts), +since any given document can use fonts never before referenced. +Building all fonts in advance is therefore impractical, if not +impossible. + + It is also useful for the TeX `.fmt' (and Metafont `.base' and +Metapost `.mem' files, *note Memory dumps: (Web2c)Memory dumps.), where +pre-generating every format consumes a lot of both time and space. + + The script is passed the name of the file to create and possibly +other arguments, as explained below. It must echo the full pathname of +the file it created (and nothing else) to standard output; it can write +diagnostics to standard error. + +* Menu: + +* config: mktex configuration. +* names: mktex script names. +* args: mktex script arguments. + + +File: kpathsea.info, Node: mktex configuration, Next: mktex script names, Up: mktex scripts + +2.2.9.1 `mktex' configuration +............................. + +The list of file types and program names that can run an external +program to create missing files is listed in the next section. In the +absence of `configure' options specifying otherwise, everything but +`mktextex' will be enabled by default. The `configure' options to +change the defaults are: + + --without-mktexfmt-default + --without-mktexmf-default + --without-mktexocp-default + --without-mktexofm-default + --without-mktexpk-default + --without-mktextfm-default + --with-mktextex-default + + The `configure' setting is overridden if the environment variable or +configuration file value named for the script is set; e.g., `MKTEXPK' +(*note mktex script arguments::). + + `mktexfmt' reads a file `fmtutil.cnf', typically located in +`texmf/web2c/' to glean its configuration information. The rest of the +files and features in this section are primarily intended for the font +generation scripts. + + As distributed, all the scripts source a file +`texmf/web2c/mktex.cnf' if it exists, so you can override various +defaults. See `mktex.opt', for instance, which defines the default +mode, resolution, some special directory names, etc. If you prefer not +to change the distributed scripts, you can simply create `mktex.cnf' +with the appropriate definitions (you do not need to create it if you +have nothing to put in it). `mktex.cnf' has no special syntax; it's an +arbitrary Bourne shell script. The distribution contains a sample +`mktex.cnf' for you to copy and modify as you please (it is not +installed anywhere). + + In addition, you can configure a number of features with the +`MT_FEATURES' variable, which you can define: + + * in `mktex.opt', as just mentioned; + + * by editing the file `mktex.opt', either before `make install' (in + the source hierarchy) or after (in the installed hierarchy); + + * or in the environment. + + If none of the options below are enabled, `mktexpk', `mktextfm', and +`mktexmf' follow the following procedure to decide where fonts should +be installed. Find the tree where the font's sources are, and test the +permissions of the `fonts' directory of that tree to determine whether +it is writable. If it is, put the files in the tree in appropriate +locations. If it isn't writable, see whether the tree is a system tree +(named in `SYSTEXMF'). If so, the `VARTEXFONTS' tree is used. In all +other cases the working directory is used. + + The `appendonlydir' option is enabled by default. + +`appendonlydir' + Tell `mktexdir' to create directories append-only, i.e., set their + sticky bit (*note Mode Structure: (coreutils)Mode Structure.). + This feature is silently ignored on non-Unix platforms (e.g. + Windows/NT and MS-DOS) which don't support similar functionality. + This feature is enabled by default. + +`dosnames' + Use 8.3 names; e.g., `dpi600/cmr10.pk' instead of `cmr10.600pk'. + Note that this feature only affects filenames that would otherwise + clash with other TeX-related filenames; `mktex' scripts do nothing + about filenames which exceed the 8+3 MS-DOS limits but remain + unique when truncated (by the OS) to these limits, and nether do + the scripts care about possible clashes with files which aren't + related with TeX. For example, `cmr10.600pk' would clash with + `cmr10.600gf' and is therefore changed when `dosnames' is in + effect, but `mf.pool' and `mp.base' don't clash with any + TeX-related files and are therefore unchanged. + + This feature is turned on by default on MS-DOS. If you do not wish + `dosnames' to be set on an MS-DOS platform, you need to set the + `MT_FEATURES' environment variable to a value that doesn't include + `dosnames'. You can also change the default setting by editing + `mktex.opt', but only if you use the `mktex' shell scripts; the + emulation programs don't consult `mktex.opt'. + +`fontmaps' + Instead of deriving the location of a font in the destination tree + from the location of the sources, the aliases and directory names + from the Fontname distribution are used. (*note Introduction: + (fontname)Top.). + +`nomfdrivers' + Let mktexpk and mktextfm create metafont driver files in a + temporary directory. These will be used for just one metafont run + and not installed permanently. + +`nomode' + Omit the directory level for the mode name; this is fine as long as + you generate fonts for only one mode. + +`stripsupplier' + Omit the font supplier name directory level. + +`striptypeface' + Omit the font typeface name directory level. + +`strip' + Omit the font supplier and typeface name directory levels. This + feature is deprecated in favour of `stripsupplier' and + `striptypeface'. + +`varfonts' + When this option is enabled, fonts that would otherwise be written + in system texmf tree go to the `VARTEXFONTS' tree instead. The + default value in `kpathsea/Makefile.in' is `/var/tmp/texfonts'. + The `Linux File System Standard' recommends `/var/tex/fonts'. + + The `varfonts' setting in `MT_FEATURES' is overridden by the + `USE_VARTEXFONTS' environment variable: if set to `1', the feature + is enabled, and if set to `0', the feature is disabled. + +`texmfvar' + Force generated files that would go into a system tree (as defined + by `SYSTEXMF') into `TEXMFVAR'. Starting with teTeX-3.0, the + variable `TEXMFVAR' is always set. The `varfonts' feature takes + precedence if also set. + + The `texmfvar' setting in `MT_FEATURES' is overridden by the + `USE_TEXMFVAR' environment variable: if set to `1', the feature is + enabled, and if set to `0', the feature is disabled. + + +File: kpathsea.info, Node: mktex script names, Next: mktex script arguments, Prev: mktex configuration, Up: mktex scripts + +2.2.9.2 `mktex' script names +............................ + +The following table shows the default name of the script for each of +the file types which support runtime generation. + +`mktexfmt' + (`.fmt', `.base', `.mem') TeX/Metafont/MetaPost formats. This + script is also named `fmtutil', and reads `fmtutil.cnf' for + configuration information. + +`mktexmf' + (`.mf') Metafont input files. + +`mkocp' + (`.ocp') Omega compiled process files. + +`mkofm' + (`.ofm') Omega font metric files. + +`mktexpk' + (`pk') Glyph fonts. + +`mktextex' + (`.tex') TeX input files (disabled by default). + +`mktextfm' + (`.tfm') TFM files. + +These names can be overridden by an environment variable specific to +the program--for example, `DVIPSMAKEPK' for Dvipsk. + + If a `mktex...' script fails, the invocation is appended to a file +`missfont.log' (by default) in the current directory. You can then +execute the log file to create the missing files after fixing the +problem. + + If the current directory is not writable and the environment +variable or configuration file value `TEXMFOUTPUT' is set, its value is +used. Otherwise, nothing is written. The name `missfont.log' is +overridden by the `MISSFONT_LOG' environment variable or configuration +file value. + + +File: kpathsea.info, Node: mktex script arguments, Prev: mktex script names, Up: mktex scripts + +2.2.9.3 `mktex' script arguments +................................ + +The first argument to a `mktex' script is always the name of the file +to be created. + + In the default `mktexpk' implementation, additional arguments may +also be passed: + +`--dpi NUM' + Sets the resolution of the generated font to NUM. + +`--mfmode NAME' + Sets the Metafont mode to NAME. + +`--bdpi NUM' + Sets the "base dpi" for the font. This must match the mode being + used. + +`--mag STRING' + A "magstep" string suitable for the Metafont `mag' variable. This + must match the combination of BDPI and DPI being used. + +`--destdir STRING' + A directory name. If the directory is absolute, it is used as-is. + Otherwise, it is appended to the root destination directory set in + the script. + + +File: kpathsea.info, Node: Installation testing, Prev: mktex scripts, Up: Custom installation + +2.2.10 Installation testing +--------------------------- + +Besides the tests listed in *note Simple installation::, you can try +running `make check'. This includes the torture tests (trip, trap, and +mptrap) that come with Web2c (*note Triptrap: (web2c)Triptrap.). + + +File: kpathsea.info, Node: Security, Next: TeX directory structure, Prev: Custom installation, Up: Installation + +2.3 Security +============ + +None of the programs in the TeX system require any special system +privileges, so there's no first-level security concern of people gaining +illegitimate root access. + + A TeX document, however, can write to arbitrary files, e.g., +`~/.rhosts', and thus an unwitting user who runs TeX on a random +document is vulnerable to a trojan horse attack. This loophole is +closed by default, but you can be permissive if you so desire in +`texmf.cnf'. *Note tex invocation: (web2c)tex invocation. MetaPost has +the same issue. + + Dvips, Xdvi, and TeX can also execute shell commands under some +circumstances. To disable this, see the `-R' option in *note Option +details: (dvips)Option details, the xdvi man page, and *note tex +invocation: (web2c)tex invocation, respectively. + + Another security issue arises because it's very useful--almost +necessary--to make arbitrary fonts on user demand with `mktexpk' and +friends. Where do these files get installed? By default, the +`mktexpk' distributed with Kpathsea assumes a world-writable `/var/tmp' +directory; this is a simple and convenient approach, but it may not +suit your situation because it means that a local cache of fonts is +created on every machine. + + To avoid this duplication, many people consider a shared, globally +writable font tree desirable, in spite of the potential security +problems. To do this you should change the value of `VARTEXFONTS' in +`texmf.cnf' to refer to some globally known directory. *Note mktex +configuration::. + + The first restriction you can apply is to make newly-created +directories under `texmf' be append-only with an option in `mktex.cnf'. +*Note mktex configuration::. + + Another approach is to establish a group (or user) for TeX files, +make the `texmf' tree writable only to that group (or user), and make +`mktexpk' et al. setgid to that group (or setuid to that user). Then +users must invoke the scripts to install things. (If you're worried +about the inevitable security holes in scripts, then you could write a +C wrapper to exec the script.) + + The `mktex...' scripts install files with the same read and write +permissions as the directory they are installed in. The executable, +sgid, suid, and sticky bits are always cleared. + + Any directories created by the `mktex...' scripts have the same +permissions as their parent directory, unless the `appendonlydir' +feature is used, in which case the sticky bit is always set. + + +File: kpathsea.info, Node: TeX directory structure, Next: unixtex.ftp, Prev: Security, Up: Installation + +2.4 TeX directory structure +=========================== + +This section describes the default installation hierarchy of the +distribution. It conforms to both the GNU coding standards and the TeX +directory structure (TDS) standard. For rationale and further +explanation, please see those documents. The GNU standard is available +as `ftp://prep.ai.mit.edu/pub/gnu/standards/standards.texi' and +mirrors. The TDS document is available from `CTAN:/tex-archive/tds' +(*note unixtex.ftp::). + + You can change the default paths in many ways (*note Changing search +paths::). One common desire is to put everything (binaries and all) +under a single top-level directory such as `/usr/local/texmf' or +`/opt/texmf'--in the terms used below, make PREFIX and TEXMF the same. +For specific instructions on doing that, see *note configure +scenarios::. + + Here is a skeleton of the default directory structure, extracted from +the TDS document: + + PREFIX/ installation root (`/usr/local' by default) + bin/ executables + man/ man pages + include/ C header files + info/ GNU info files + lib/ libraries (`libkpathsea.*') + share/ architecture-independent files + texmf/ TDS root + bibtex/ BibTeX input files + bib/ BibTeX databases + base/ base distribution (e.g., `xampl.bib') + misc/ single-file databases + PKG/ name of a package + bst/ BibTeX style files + base/ base distribution (e.g., `plain.bst', `acm.bst') + misc/ single-file styles + PKG/ name of a package + doc/ additional documentation + dvips/ `.pro', `.ps', `psfonts.map' + fonts/ font-related files + TYPE/ file type (e.g., `tfm', `pk') + MODE/ type of output device (types `pk' and `gf' only) + SUPPLIER/ name of a font supplier (e.g., `public') + TYPEFACE/ name of a typeface (e.g., `cm') + dpiNNN/ font resolution (types `pk' and `gf' only) + metafont/ Metafont (non-font) input files + base/ base distribution (e.g., `plain.mf') + misc/ single-file packages (e.g., `modes.mf') + PKG/ name of a package (e.g., `mfpic') + metapost/ MetaPost input files + base/ base distribution (e.g., `plain.mp') + misc/ single-file packages + PKG/ name of a package + support/ support files for MetaPost-related utilities (e.g., `trfonts.map') + mft/ `MFT' inputs (e.g., `plain.mft') + tex/ TeX input files + FORMAT/ name of a format (e.g., `plain') + base/ base distribution for FORMAT (e.g., `plain.tex') + misc/ single-file packages (e.g., `webmac.tex') + local/ local additions to or local configuration files for FORMAT + PKG/ name of a package (e.g., `graphics', `mfnfss') + generic/ format-independent packages + hyphen/ hyphenation patterns (e.g., `hyphen.tex') + images/ image input files (e.g., Encapsulated PostScript) + misc/ single-file format-independent packages (e.g., `null.tex'). + PKG/ name of a package (e.g., `babel') + web2c/ implementation-dependent files (`.pool', `.fmt', `texmf.cnf', etc.) + + Some concrete examples for most file types: + + /usr/local/bin/tex + /usr/local/man/man1/xdvi.1 + /usr/local/info/kpathsea.info + /usr/local/lib/libkpathsea.a + /usr/local/share/texmf/bibtex/bst/base/plain.bst + /usr/local/share/texmf/fonts/pk/ljfour/public/cm/cmr10.600pk + /usr/local/share/texmf/fonts/source/public/pandora/pnr10.mf + /usr/local/share/texmf/fonts/tfm/public/cm/cmr10.tfm + /usr/local/share/texmf/fonts/type1/adobe/utopia/putr.pfa + /usr/local/share/texmf/metafont/base/plain.mf + /usr/local/share/texmf/metapost/base/plain.mp + /usr/local/share/texmf/tex/plain/base/plain.tex + /usr/local/share/texmf/tex/generic/hyphen/hyphen.tex + /usr/local/share/texmf/web2c/tex.pool + /usr/local/share/texmf/web2c/tex.fmt + /usr/local/share/texmf/web2c/texmf.cnf + + +File: kpathsea.info, Node: unixtex.ftp, Next: Reporting bugs, Prev: TeX directory structure, Up: Installation + +2.5 `unixtex.ftp': Obtaining TeX +================================ + +This is `ftp://ftp.tug.org/tex/unixtex.ftp', last updated 13 June 2010. +Also available as `http://www.tug.org/unixtex.ftp'. Email +<tex-k@tug.org> with comments or questions. + + The principal free TeX distribution for Unix-like systems is TeX +Live, on the web at `http://tug.org/texlive'. The pages there describe +many ways to acquire TeX, over the Internet or on physical media, both +the sources and precompiled binaries for many systems, either +standalone or as part of various operating system distributions. + + Web2C, Kpathsea, Dvips, and Dviljk are no longer released as a +separate packages. Their sources are now maintained as part of TeX +Live. + + The host ftp.cs.stanford.edu is the original source for the files +for which Donald Knuth is directly responsible: `tex.web', `plain.tex', +etc. However, unless you want to build your TeX library tree ab initio, +it is more reliable and less work to retrieve these files as part of a +larger package. In any case, that ftp site is not the canonical source +for anything except what was created as part of Stanford TeX project, +so do not rely on the other files available there being up-to-date. + + +File: kpathsea.info, Node: Reporting bugs, Prev: unixtex.ftp, Up: Installation + +2.6 Reporting bugs +================== + +(A copy of this chapter is in the file `kpathsea/BUGS'.) + +If you have problems or suggestions, please report them to +<tex-k@tug.org> using the bug checklist below. + + Please report bugs in the documentation; not only factual errors or +inconsistent behavior, but unclear or incomplete explanations, typos, +wrong fonts, ... + +* Menu: + +* Bug checklist:: What to include in a good bug report. +* Mailing lists:: Joining the bugs or announcements mailing lists. +* Debugging:: Analyzing runtime problems. +* Logging:: Recording searches. +* Common problems:: When things go wrong. + + +File: kpathsea.info, Node: Bug checklist, Next: Mailing lists, Up: Reporting bugs + +2.6.1 Bug checklist +------------------- + +Before reporting a bug, please check below to be sure it isn't already +known (*note Common problems::). + + Bug reports should be sent via electronic mail to <tex-k@tug.org>. + + The general principle is that a good bug report includes all the +information necessary for reproduction. Therefore, to enable +investigation, your report should include the following: + + * The version number(s) of the program(s) involved, and of Kpathsea + itself. You can get the former by giving a sole option `--version' + to the program, and the latter by running `kpsewhich --version'. + The `NEWS' and `ChangeLog' files also contain the version number. + + * The hardware, operating system (including version number), + compiler, and `make' program you are using (the output of `uname + -a' is a start on the first two, though often incomplete). If the + bug involves the X window system, include X version and supplier + information as well (examples: X11R6 from MIT; X11R4 from HP; + OpenWindows 3.3 bundled with SunOS 4.1.4). + + * Any options you gave to `configure'. This is recorded in the + `config.status' files. + + If you are reporting a bug in `configure' itself, it's probably + system-dependent, and it will be unlikely the maintainers can do + anything useful if you merely report that thus-and-such is broken. + Therefore, you need to do some additional work: for some bugs, you + can look in the file `config.log' where the test that failed should + appear, along with the compiler invocation and source program in + question. You can then compile it yourself by hand, and discover + why the test failed. Other `configure' bugs do not involve the + compiler; in that case, the only recourse is to inspect the + `configure' shell script itself, or the Autoconf macros that + generated `configure'. + + * The log of all debugging output, if the bug is in path searching. + You can get this by setting the environment variable + `KPATHSEA_DEBUG' to `-1' before running the program. Please look + at the log yourself to make sure the behavior is really a bug + before reporting it; perhaps "old" environment variable settings + are causing files not to be found, for example. + + * The contents of any input files necessary to reproduce the bug. + For bugs in DVI-reading programs, for example, this generally + means a DVI file (and any EPS or other files it uses)--TeX source + files are helpful, but the DVI file is necessary, because that's + the actual program input. + + * If you are sending a patch (do so if you can!), please do so in + the form of a context diff (`diff -c') against the original + distribution source. Any other form of diff is either not as + complete or harder for me to understand. Please also include a + `ChangeLog' entry. + + * If the bug involved is an actual crash (i.e., core dump), it is + easy and useful to include a stack trace from a debugger (I + recommend the GNU debugger GDB, available from + `ftp://prep.ai.mit.edu/pub/gnu'). If the cause is apparent (a + `NULL' value being dereferenced, for example), please send the + details along. If the program involved is TeX or Metafont, and + the crash is happening at apparently-sound code, however, the bug + may well be in the compiler, rather than in the program or the + library (*note TeX or Metafont failing: TeX or Metafont failing.). + + * Any additional information that will be helpful in reproducing, + diagnosing, or fixing the bug. + + +File: kpathsea.info, Node: Mailing lists, Next: Debugging, Prev: Bug checklist, Up: Reporting bugs + +2.6.2 Mailing lists +------------------- + +Web2c and Kpathsea in general are discussed on the mailing list +<tex-k@tug.org>. To join, email <tex-k-request@tug.org> with a line +consisting of + + subscribe YOU@YOUR.PREFERRED.EMAIL.ADDRESS + +in the body of the message. + + You do not need to join to submit a report, nor will it affect +whether you get a response. There is no Usenet newsgroup equivalent +(if you can be the one to set this up, email `tex-k-request'). Traffic +on the list is fairly light, and is mainly bug reports and enhancement +requests to the software. The best way to decide if you want to join +or not is read some of the archives from +`ftp://ftp.tug.org/mail/archives/tex-k/'. + + Be aware that large data files are sometimes included in bug reports. +If this is a problem for you, do not join the list. + + If you are looking for general TeX help, such as how to use LaTeX, +please use the mailing list <texhax@tug.org> mailing list +(`http://lists.tug.org/texhax') which is gatewayed to the +`comp.text.tex' Usenet newsgroup (or post to the newsgroup; the gateway +is bidirectional). + + +File: kpathsea.info, Node: Debugging, Next: Logging, Prev: Mailing lists, Up: Reporting bugs + +2.6.3 Debugging +--------------- + +Kpathsea provides a number of runtime debugging options, detailed below +by their names and corresponding numeric values. When the files you +expect aren't being found, the thing to do is enable these options and +examine the output. + + You can set these with some runtime argument (e.g., `-d') to the +program; in that case, you should use the numeric values described in +the program's documentation (which, for Dvipsk and Xdvik, are different +than those below). It's best to give the `-d' (or whatever) option +first, for maximal output. Dvipsk and Xdvik have additional +program-specific debugging options as well. + + You can also set the environment variable `KPATHSEA_DEBUG'; in this +case, you should use the numbers below. If you run the program under a +debugger and set the instance variable `kpse->debug', also use the +numbers below. + + In any case, by far the simplest value to use is `-1', which will +turn on all debugging output. This is usually better than guessing +which particular values will yield the output you need. + + Debugging output always goes to standard error, so you can redirect +it easily. For example, in Bourne-compatible shells: + dvips -d -1 ... 2>/tmp/debug + + It is sometimes helpful to run the standalone Kpsewhich utility +(*note Invoking kpsewhich::), instead of the original program. + + In any case, you can _not_ use the _names_ below; you must always +use somebody's numbers. (Sorry.) To set more than one option, just +sum the corresponding numbers. + +`KPSE_DEBUG_STAT (1)' + Report `stat'(2) calls. This is useful for verifying that your + directory structure is not forcing Kpathsea to do many additional + file tests (*note Slow path searching::, and *note Subdirectory + expansion::). If you are using an up-to-date `ls-R' database + (*note Filename database::), this should produce no output unless a + nonexistent file that must exist is searched for. + +`KPSE_DEBUG_HASH (2)' + Report lookups in all hash tables: `ls-R' and `aliases' (*note + Filename database::); font aliases (*note Fontmap::); and config + file values (*note Config files::). Useful when expected values + are not being found, e.g.., file searches are looking at the disk + instead of using `ls-R'. + +`KPSE_DEBUG_FOPEN (4)' + Report file openings and closings. Especially useful when your + system's file table is full, for seeing which files have been + opened but never closed. In case you want to set breakpoints in a + debugger: this works by redefining `fopen' (`fclose') to be + `kpse_fopen_trace' (`kpse_fclose_trace'). + +`KPSE_DEBUG_PATHS (8)' + Report general path information for each file type Kpathsea is + asked to search. This is useful when you are trying to track down + how a particular path got defined--from `texmf.cnf', `config.ps', + an environment variable, the compile-time default, etc. This is + the contents of the `kpse_format_info_type' structure defined in + `tex-file.h'. + +`KPSE_DEBUG_EXPAND (16)' + Report the directory list corresponding to each path element + Kpathsea searches. This is only relevant when Kpathsea searches + the disk, since `ls-R' searches don't look through directory lists + in this way. + +`KPSE_DEBUG_SEARCH (32)' + Report on each file search: the name of the file searched for, the + path searched in, whether or not the file must exist (when drivers + search for `cmr10.vf', it need not exist), and whether or not we + are collecting all occurrences of the file in the path (as with, + e.g., `texmf.cnf' and `texfonts.map'), or just the first (as with + most lookups). This can help you correlate what Kpathsea is doing + with what is in your input file. + +`KPSE_DEBUG_VARS (64)' + Report the value of each variable Kpathsea looks up. This is + useful for verifying that variables do indeed obtain their correct + values. + +`GSFTOPK_DEBUG (128)' + Activates debugging printout specific to `gsftopk' program. + +`MAKETEX_DEBUG (512)' + If you use the optional `mktex' programs instead of the + traditional shell scripts, this will report the name of the site + file (`mktex.cnf' by default) which is read, directories created by + `mktexdir', the full path of the `ls-R' database built by + `mktexlsr', font map searches, `MT_FEATURES' in effect, parameters + from `mktexnam', filenames added by `mktexupd', and some + subsidiary commands run by the programs. + +`MAKETEX_FINE_DEBUG (1024)' + When the optional `mktex' programs are used, this will print + additional debugging info from functions internal to these + programs. + + Debugging output from Kpathsea is always written to standard error, +and begins with the string `kdebug:'. (Except for hash table buckets, +which just start with the number, but you can only get that output +running under a debugger. See comments at the `hash_summary_only' +variable in `kpathsea/db.c'.) + + +File: kpathsea.info, Node: Logging, Next: Common problems, Prev: Debugging, Up: Reporting bugs + +2.6.4 Logging +------------- + +Kpathsea can record the time and filename found for each successful +search. This may be useful in finding good candidates for deletion when +your filesystem is full, or in discovering usage patterns at your site. + + To do this, define the environment or config file variable +`TEXMFLOG'. The value is the name of the file to append the +information to. The file is created if it doesn't exist, and appended +to if it does. + + Each successful search turns into one line in the log file: two words +separated by a space. The first word is the time of the search, as the +integer number of seconds since "the epoch", i.e., UTC midnight 1 +January 1970 (more precisely, the result of the `time' system call). +The second word is the filename. + + For example, after `setenv TEXMFLOG /tmp/log', running Dvips on +`story.dvi' appends the following lines: + + 774455887 /usr/local/share/texmf/dvips/config.ps + 774455887 /usr/local/share/texmf/dvips/psfonts.map + 774455888 /usr/local/share/texmf/dvips/texc.pro + 774455888 /usr/local/share/texmf/fonts/pk/ljfour/public/cm/cmbx10.600pk + 774455889 /usr/local/share/texmf/fonts/pk/ljfour/public/cm/cmsl10.600pk + 774455889 /usr/local/share/texmf/fonts/pk/ljfour/public/cm/cmr10.600pk + 774455889 /usr/local/share/texmf/dvips/texc.pro + +Only filenames that are absolute are recorded, to preserve some +semblance of privacy. + + In addition to this Kpathsea-specific logging, `pdftex' provides an +option `-recorder' to write the names of all files accessed during a +run to the file `BASEFILE.fls'. + + Finally, most systems provide a general tool to output each system +call, thus including opening and closing files. It might be named +`strace', `truss', `struss', or something else. + + +File: kpathsea.info, Node: Common problems, Prev: Logging, Up: Reporting bugs + +2.6.5 Common problems +--------------------- + +Here are some common problems with configuration, compilation, linking, +execution, ... + +* Menu: + +* Unable to find files:: If your program can't find fonts (or whatever). +* Slow path searching:: If it takes forever to find anything. +* Unable to generate fonts:: If mktexpk fails. +* TeX or Metafont failing:: Likely compiler bugs. + +* Empty Makefiles:: When configure produces empty makefiles. +* XtStrings:: When _XtStrings is undefined. +* dlopen:: When dlopen is undefined. +* ShellWidgetClass:: For dynamic linking troubles under OpenWindows. +* Pointer combination warnings:: For old compilers that don't grok char *. + + +File: kpathsea.info, Node: Unable to find files, Next: Slow path searching, Up: Common problems + +2.6.5.1 Unable to find files +............................ + +If a program complains it cannot find fonts (or other input files), any +of several things might be wrong. In any case, you may find the +debugging options helpful. *Note Debugging::. + + * Perhaps you simply haven't installed all the necessary files; the + basic fonts and input files are distributed separately from the + programs. *Note unixtex.ftp::. + + * You have (perhaps unknowingly) told Kpathsea to use search paths + that don't reflect where the files actually are. One common cause + is having environment variables set from a previous installation, + thus overriding what you carefully set in `texmf.cnf' (*note + Supported file formats::). System `/etc/profile' or other files + such may be the culprit. + + * Your files reside in a directory that is only pointed to via a + symbolic link, in a leaf directory and is not listed in `ls-R'. + + Unfortunately, Kpathsea's subdirectory searching has an + irremediable deficiency: If a directory D being searched for + subdirectories contains plain files and symbolic links to other + directories, but no true subdirectories, D will be considered a + leaf directory, i.e., the symbolic links will not be followed. + *Note Subdirectory expansion::. + + You can work around this problem by creating an empty dummy + subdirectory in D. Then D will no longer be a leaf, and the + symlinks will be followed. + + The directory immediately followed by the `//' in the path + specification, however, is always searched for subdirectories, + even if it is a leaf. Presumably you would not have asked for the + directory to be searched for subdirectories if you didn't want it + to be. + + * If the fonts (or whatever) don't already exist, `mktexpk' (or + `mktexmf' or `mktextfm') will try to create them. If these rather + complicated shell scripts fail, you'll eventually get an error + message saying something like `Can't find font FONTNAME'. The best + solution is to fix (or at least report) the bug in `mktexpk'; the + workaround is to generate the necessary fonts by hand with + Metafont, or to grab them from a CTAN site (*note unixtex.ftp::). + + * There is a bug in the library. *Note Reporting bugs::. + + +File: kpathsea.info, Node: Slow path searching, Next: Unable to generate fonts, Prev: Unable to find files, Up: Common problems + +2.6.5.2 Slow path searching +........................... + +If your program takes an excessively long time to find fonts or other +input files, but does eventually succeed, here are some possible +culprits: + + * Most likely, you just have a lot of directories to search, and that + takes a noticeable time. The solution is to create and maintain a + separate `ls-R' file that lists all the files in your main TeX + hierarchy. *Note Filename database::. Kpathsea always uses `ls-R' + if it's present; there's no need to recompile or reconfigure any + of the programs. + + * Your recursively-searched directories (e.g., + `/usr/local/share/texmf/fonts//'), contain a mixture of files and + directories. This prevents Kpathsea from using a useful + optimization (*note Subdirectory expansion::). + + It is best to have only directories (and perhaps a `README') in the + upper levels of the directory structure, and it's very important + to have _only_ files, and no subdirectories, in the leaf + directories where the dozens of TFM, PK, or whatever files reside. + + In any case, you may find the debugging options helpful in +determining precisely when the disk or network is being pounded. *Note +Debugging::. + + +File: kpathsea.info, Node: Unable to generate fonts, Next: TeX or Metafont failing, Prev: Slow path searching, Up: Common problems + +2.6.5.3 Unable to generate fonts +................................ + +Metafont outputs fonts in bitmap format, tuned for a particular device +at a particular resolution, in order to allow for the highest-possible +quality of output. Some DVI-to-whatever programs, such as Dvips, try +to generate these on the fly when they are needed, but this generation +may fail in several cases. + + If `mktexpk' runs, but fails with this error: + mktexpk: Can't guess mode for NNN dpi devices. + mktexpk: Use a config file to specify the mode, or update me. + you need to ensure the resolution and mode match; just specifying +the resolution, as in `-D 360', is not enough. + + You can specify the mode name with the `-mode' option on the Dvips +command line, or in a Dvips configuration file (*note Config files: +(dvips)Config files.), such as `config.ps' in your document directory, +`~/.dvipsrc' in your home directory, or in a system directory (again +named `config.ps'). (Other drivers use other files, naturally.) + + For example, if you need 360dpi fonts, you could include this in a +configuration file: + D 360 + M lqmed + + If Metafont runs, but generates fonts at the wrong resolution or for +the wrong device, most likely `mktexpk''s built-in guess for the mode +is wrong, and you should override it as above. + + See `ftp://ftp.tug.org/tex/modes.mf' for a list of resolutions and +mode names for most devices (additional submissions are welcome). + + If Metafont runs but generates fonts at a resolution of 2602dpi (and +prints out the name of each character as well as just a character +number, and maybe tries to display the characters), then your Metafont +base file probably hasn't been made properly. (It's using the default +`proof' mode, instead of an actual device mode.) To make a proper +`plain.base', assuming the local mode definitions are contained in a +file `modes.mf', run the following command (assuming Unix): + + inimf "plain; input modes; dump" + +Then copy the `plain.base' file from the current directory to where the +base files are stored on your system (`/usr/local/share/texmf/web2c' by +default), and make a link (either hard or soft) from `plain.base' to +`mf.base' in that directory. *Note inimf invocation: (web2c)inimf +invocation. + + If `mf' is a command not found at all by `mktexpk', then you need to +install Metafont (*note unixtex.ftp::). + + +File: kpathsea.info, Node: TeX or Metafont failing, Next: Empty Makefiles, Prev: Unable to generate fonts, Up: Common problems + +2.6.5.4 TeX or Metafont failing +............................... + +If TeX or Metafont get a segmentation fault or otherwise fail while +running a normal input file, the problem is usually a compiler bug +(unlikely as that may sound). Even if the trip and trap tests are +passed, problems may lurk. Optimization occasionally causes trouble in +programs other than TeX and Metafont themselves, too. + + Insufficient swap space may also cause core dumps or other erratic +behavior. + + For a workaround, if you enabled any optimization flags, it's best to +omit optimization entirely. In any case, the way to find the facts is +to run the program under the debugger and see where it's failing. + + Also, if you have trouble with a system C compiler, I advise trying +the GNU C compiler. And vice versa, unfortunately; but in that case I +also recommend reporting a bug to the GCC mailing list; see *note Bugs: +(gcc)Bugs. + + To report compiler bugs effectively requires perseverance and +perspicacity: you must find the miscompiled line, and that usually +involves delving backwards in time from the point of error, checking +through TeX's (or whatever program's) data structures. Things are not +helped by all-too-common bugs in the debugger itself. Good luck. + + One known cause of trouble is the way arrays are handled. Some of +the Pascal arrays have a lower index other than 0, and the C code will +take the pointer to the allocated memory, subtract the lower index, and +use the resulting pointer for the array. While this trick often works, +ANSI C doesn't guarantee that it will. It it known to fail on HP-UX 10 +machines when the native compiler is used, unless the `+u' compiler +switch was specified. Using GCC will work on this platform as well. + + +File: kpathsea.info, Node: Empty Makefiles, Next: XtStrings, Prev: TeX or Metafont failing, Up: Common problems + +2.6.5.5 Empty Makefiles +....................... + +On some systems (NetBSD, FreeBSD, AIX 4.1, and Mach10), `configure' may +fail to properly create the Makefiles. Instead, you get an error which +looks something like this: + + prompt$ ./configure + ... + creating Makefile + sed: 1: "\\@^ac_include make/pat ...": \ can not + be used as a string delimiter + + So far as I know, the bug here is in `/bin/sh' on these systems. I +don't have access to a machine running any of them, so if someone can +find a workaround that avoids the quoting bug, I'd be most grateful. +(Search for `ac_include' in the `configure' script to get to the +problematic code.) + + It should work to run `bash configure', instead of using `/bin/sh'. +You can get Bash from `ftp://prep.ai.mit.edu/pub/gnu' and mirrors. + + Another possible cause (reported for NeXT) is a bug in the `sed' +command. In that case the error may look like this: + + Unrecognized command: \@^ac_include make/paths.make@r make/paths.make + + In this case, installing GNU `sed' should solve the problem. You +can get GNU `sed' from the same places as Bash. + + +File: kpathsea.info, Node: XtStrings, Next: dlopen, Prev: Empty Makefiles, Up: Common problems + +2.6.5.6 `XtStrings' +................... + +You may find that linking X programs results in an error from the linker +that `XtStrings' is undefined, something like this: + + gcc -o virmf ... + .../x11.c:130: undefined reference to `XtStrings' + + This generally happens because of a mismatch between the X include +files with which you compiled and the X libraries with which you linked; +often, the include files are from MIT and the libraries from Sun. + + The solution is to use the same X distribution for compilation and +linking. Probably `configure' was unable to guess the proper +directories from your installation. You can use the `configure' +options `--x-includes=PATH' and `--x-libraries=PATH' to explicitly +specify them. + + +File: kpathsea.info, Node: dlopen, Next: ShellWidgetClass, Prev: XtStrings, Up: Common problems + +2.6.5.7 `dlopen' +................ + +(This section adapted from the file `dlsym.c' in the X distribution.) + + The `Xlib' library uses the standard C function `wcstombs'. Under +SunOS 4.1, `wcstombs' uses the `dlsym' interface defined in `libdl.so'. +Unfortunately, the SunOS 4.1 distribution does not include a static +`libdl.a' library. + + As a result, if you try to link an X program statically under SunOS, +you may get undefined references to `dlopen', `dlsym', and `dlclose'. +One workaround is to include these definitions when you link: + + void *dlopen() { return 0; } + void *dlsym() { return 0; } + int dlclose() { return -1; } + +These are contained in the `dlsym.c' file in the MIT X distribution. + + +File: kpathsea.info, Node: ShellWidgetClass, Next: Pointer combination warnings, Prev: dlopen, Up: Common problems + +2.6.5.8 `ShellWidgetClass' +.......................... + +(This section adapted from the comp.sys.sun.admin FAQ.) + + If you are linking with Sun's OpenWindows libraries in SunOS 4.1.x, +you may get undefined symbols `_get_wmShellWidgetClass' and +`_get_applicationShellWidgetClass' when linking. This problem does not +arise using the standard MIT X libraries under SunOS. + + The cause is bugs in the `Xmu' shared library as shipped from Sun. +There are several fixes: + + * Install the free MIT distribution from `ftp.x.org' and mirrors. + + * Get the OpenWindows patches listed below. + + * Statically link the `Xmu' library into the executable. + + * Avoid using `Xmu' at all. If you are compiling Metafont, see *note + Online Metafont graphics: (web2c)Online Metafont graphics. If you + are compiling Xdvi, see the `-DNOTOOL' option in `xdvik/INSTALL'. + + * Ignore the errors. The binary runs fine regardless. + + + Here is the information for getting the two patches: + + Patch ID: 100512-02 + Bug ID's: 1086793, 1086912, 1074766 + Description: 4.1.x OpenWindows 3.0 `libXt' jumbo patch + + Patch ID: 100573-03 + Bug ID: 1087332 + Description: 4.1.x OpenWindows 3.0 undefined symbols when using shared `libXmu'. + + The way to statically link with `libXmu' depends on whether you are +using a Sun compiler (e.g., `cc') or `gcc'. If the latter, alter the +`x_libs' Make variable to include + + -static -lXmu -dynamic + + If you are using the Sun compiler, use `-Bstatic' and `-Bdynamic'. + + +File: kpathsea.info, Node: Pointer combination warnings, Prev: ShellWidgetClass, Up: Common problems + +2.6.5.9 Pointer combination warnings +.................................... + +When compiling with old C compilers, you may get some warnings about +"illegal pointer combinations". These are spurious; just ignore them. +I decline to clutter up the source with casts to get rid of them. + + +File: kpathsea.info, Node: Path searching, Next: TeX support, Prev: Installation, Up: Top + +3 Path searching +**************** + +This chapter describes the generic path searching mechanism Kpathsea +provides. For information about searching for particular file types +(e.g., TeX fonts), see the next chapter. + +* Menu: + +* Searching overview:: Basic scheme for searching. +* Path sources:: Where search paths can be defined. +* Path expansion:: Special constructs in search paths. +* Filename database:: Using an externally-built list to search. +* Invoking kpsewhich:: Standalone path lookup. + + +File: kpathsea.info, Node: Searching overview, Next: Path sources, Up: Path searching + +3.1 Searching overview +====================== + +A "search path" is a colon-separated list of "path elements", which are +directory names with a few extra frills. A search path can come from +(a combination of) many sources; see below. To look up a file `foo' +along a path `.:/dir', Kpathsea checks each element of the path in +turn: first `./foo', then `/dir/foo', returning the first match (or +possibly all matches). + + The "colon" and "slash" mentioned here aren't necessarily `:' and +`/' on non-Unix systems. Kpathsea tries to adapt to other operating +systems' conventions. + + To check a particular path element E, Kpathsea first sees if a +prebuilt database (*note Filename database::) applies to E, i.e., if +the database is in a directory that is a prefix of E. If so, the path +specification is matched against the contents of the database. + + If the database does not exist, or does not apply to this path +element, or contains no matches, the filesystem is searched (if this +was not forbidden by the specification with `!!' and if the file being +searched for must exist). Kpathsea constructs the list of directories +that correspond to this path element, and then checks in each for the +file being searched for. (To help speed future lookups of files in the +same directory, the directory in which a file is found is floated to the +top of the directory list.) + + The "file must exist" condition comes into play with VF files and +input files read by the TeX `\openin' command. These files might very +well not exist (consider `cmr10.vf'), and so it would be wrong to +search the disk for them. Therefore, if you fail to update `ls-R' when +you install a new VF file, it will not be found. + + Each path element is checked in turn: first the database, then the +disk. If a match is found, the search stops and the result is +returned. This avoids possibly-expensive processing of path +specifications that are never needed on a particular run. (Unless the +search explicitly requested all matches.) + + Although the simplest and most common path element is a directory +name, Kpathsea supports additional features in search paths: layered +default values, environment variable names, config file values, users' +home directories, and recursive subdirectory searching. Thus, we say +that Kpathsea "expands" a path element, meaning transforming all the +magic specifications into the basic directory name or names. This +process is described in the sections below. It happens in the same +order as the sections. + + Exception to all of the above: If the filename being searched for is +absolute or explicitly relative, i.e., starts with `/' or `./' or +`../', Kpathsea simply checks if that file exists. + + Ordinarily, if Kpathsea tries to access a file or directory that +cannot be read, it gives a warning. This is so you will be alerted to +directories or files that accidentally lack any read permission (for +example, a `lost+found' directory). If you prefer not to see these +warnings, include the value `readable' in the `TEX_HUSH' environment +variable or config file value. + + This generic path searching algorithm is implemented in +`kpathsea/pathsearch.c'. It is employed by a higher-level algorithm +when searching for a file of a particular type (*note File lookup::, +and *note Glyph lookup::). + + +File: kpathsea.info, Node: Path sources, Next: Path expansion, Prev: Searching overview, Up: Path searching + +3.2 Path sources +================ + +A search path can come from many sources. In the order in which +Kpathsea uses them: + + 1. A user-set environment variable, e.g., `TEXINPUTS'. Environment + variables with an underscore and the program name appended + override; for example, `TEXINPUTS_latex' overrides `TEXINPUTS' if + the program being run is named `latex'. + + 2. A program-specific configuration file, e.g., an `S /a:/b' line in + Dvips' `config.ps' (*note Config files: (dvips)Config files.). + + 3. A line in a Kpathsea configuration file `texmf.cnf', e.g., + `TEXINPUTS=/c:/d' (see below). + + 4. The compile-time default (specified in `kpathsea/paths.h'). + + You can see each of these values for a given search path by using the +debugging options (*note Debugging::). + + These sources may be combined via default expansion (*note Default +expansion::). + +* Menu: + +* Config files:: Kpathsea's runtime config files (texmf.cnf). + + +File: kpathsea.info, Node: Config files, Up: Path sources + +3.2.1 Config files +------------------ + +As mentioned above, Kpathsea reads "runtime configuration files" named +`texmf.cnf' for search path and other definitions. The search path +used to look for these configuration files is named `TEXMFCNF', and is +constructed in the usual way, as described above, except that +configuration files cannot be used to define the path, naturally; also, +an `ls-R' database is not used to search for them. + + Kpathsea reads _all_ `texmf.cnf' files in the search path, not just +the first one found; definitions in earlier files override those in +later files. Thus, if the search path is `.:$TEXMF', values from +`./texmf.cnf' override those from `$TEXMF/texmf.cnf'. + + If Kpathsea cannot find any `texmf.cnf' file, it reports a warning +including all the directories it checked. If you don't want to see +this warning, set the environment variable `KPATHSEA_WARNING' to the +single character `0' (zero, not oh). + + While (or instead of) reading this description, you may find it +helpful to look at the distributed `texmf.cnf', which uses or at least +mentions most features. The format of `texmf.cnf' files follows: + + * Comments start with `%', either at the beginning of a line or + preceded by whitespace, and continue to the end of the line. That + is, as with most shells, a `%' in the "middle" of a value does not + start a comment. Examples: + + % this is a comment + var = a%b % but the value of var will be "a%b". + + * Blank lines are ignored. + + * A `\' at the end of a line acts as a continuation character, i.e., + the next line is appended. Whitespace at the beginning of + continuation lines is not ignored. + + * Each remaining line must look like + + VARIABLE [. PROGNAME] [=] VALUE + + where the `=' and surrounding whitespace is optional. + + * The VARIABLE name may contain any character other than whitespace, + `=', or `.', but sticking to `A-Za-z_' is safest. + + * If `.PROGNAME' is present, the definition only applies if the + program that is running is named (i.e., the last component of + `argv[0]' is) PROGNAME or `PROGNAME.{exe,bat,cmd,...}'. Most + notably, this allows different flavors of TeX to have different + search paths. + + * VALUE may contain any characters except `%' and `@'. (These + restrictions are only necessary because of the processing done on + `texmf.cnf' at build time, so you can stick those characters in + after installation if you have to.) The `$VAR.PROG' feature is + not available on the right-hand side; instead, you must use an + additional variable (see below for example). A `;' in VALUE is + translated to `:' if running under Unix; this is useful to write a + single `texmf.cnf' which can be used under both Unix and Windows. + + * All definitions are read before anything is expanded, so you can + use variables before they are defined (like Make, unlike most other + programs). + +Here is a configuration file fragment illustrating most of these points: + + % TeX input files -- i.e., anything to be found by \input or \openin ... + latex209_inputs = .:$TEXMF/tex/latex209//:$TEXMF/tex// + latex2e_inputs = .:$TEXMF/tex/latex//:$TEXMF/tex// + TEXINPUTS = .:$TEXMF/tex// + TEXINPUTS.latex209 = $latex209_inputs + TEXINPUTS.latex2e = $latex2e_inputs + TEXINPUTS.latex = $latex2e_inputs + + This format has obvious similarities to Bourne shell scripts--change +the comment character to `#', disallow spaces around the `=', and get +rid of the `.NAME' convention, and it could be run through the shell. +However, there seemed little advantage in this, since all the +information would have to passed back to Kpathsea and parsed there +anyway, since the `sh' process couldn't affect its parent's environment. + + The implementation of all this is in `kpathsea/cnf.c'. + + +File: kpathsea.info, Node: Path expansion, Next: Filename database, Prev: Path sources, Up: Path searching + +3.3 Path expansion +================== + +Kpathsea recognizes certain special characters and constructions in +search paths, similar to that in shells. As a general example: +`~$USER/{foo,bar}//baz' expands to all subdirectories under directories +`foo' and `bar' in $USER's home directory that contain a directory or +file `baz'. These expansions are explained in the sections below. + +* Menu: + +* Default expansion:: a: or :a or a::b expands to a default. +* Variable expansion:: $foo and ${foo} expand to environment values. +* Tilde expansion:: ~ and ~user expand to home directories. +* Brace expansion:: a{foo,bar}b expands to afoob abarb. +* KPSE_DOT expansion:: . is replaced with $KPSE_DOT if it is defined. +* Subdirectory expansion:: a// and a//b recursively expand to subdirs. + + +File: kpathsea.info, Node: Default expansion, Next: Variable expansion, Up: Path expansion + +3.3.1 Default expansion +----------------------- + +If the highest-priority search path (*note Path sources::) contains an +"extra colon" (i.e., leading, trailing, or doubled), Kpathsea inserts +at that point the next-highest-priority search path that is defined. +If that inserted path has an extra colon, the same happens with the +next-highest. (An extra colon in the compile-time default value has +unpredictable results, so installers beware.) + + For example, given an environment variable setting + + setenv TEXINPUTS /home/karl: + +and a `TEXINPUTS' value from `texmf.cnf' of + + .:$TEXMF//tex + +then the final value used for searching will be: + + /home/karl:.:$TEXMF//tex + + Put another way, default expansion works on "formats" (search +paths), and not directly on environment variables. Example, showing +the trailing `:' ignored in the first case and expanded in the second: + + $ env TTFONTS=/tmp: kpsewhich --expand-path '$TTFONTS' + /tmp + $ env TTFONTS=/tmp: kpsewhich --show-path=.ttf + /tmp:.:/home/olaf/texmf/fonts/truetype//:... + + Since Kpathsea looks for multiple configuration files, it would be +natural to expect that (for example) an extra colon in `./texmf.cnf' +would expand to the path in `$TEXMF/texmf.cnf'. Or, with Dvips' +configuration files, that an extra colon in `config.$PRINTER' would +expand to the path in `config.ps'. This doesn't happen. It's not +clear this would be desirable in all cases, and trying to devise a way +to specify the path to which the extra colon should expand seemed truly +baroque. + + Technicality: Since it would be useless to insert the default value +in more than one place, Kpathsea changes only one extra `:' and leaves +any others in place (they will eventually be ignored). Kpathsea checks +first for a leading `:', then a trailing `:', then a doubled `:'. + + You can trace this by debugging "paths" (*note Debugging::). +Default expansion is implemented in the source file +`kpathsea/kdefault.c'. + + +File: kpathsea.info, Node: Variable expansion, Next: Tilde expansion, Prev: Default expansion, Up: Path expansion + +3.3.2 Variable expansion +------------------------ + +`$foo' or `${foo}' in a path element is replaced by (1) the value of an +environment variable `foo' (if defined); (2) the value of `foo' from +`texmf.cnf' (if defined); (3) the empty string. + + If the character after the `$' is alphanumeric or `_', the variable +name consists of all consecutive such characters. If the character +after the `$' is a `{', the variable name consists of everything up to +the next `}' (braces may not be nested around variable names). +Otherwise, Kpathsea gives a warning and ignores the `$' and its +following character. + + You must quote the $'s and braces as necessary for your shell. +_Shell_ variable values cannot be seen by Kpathsea, i.e., ones defined +by `set' in C shells and without `export' in Bourne shells. + + For example, given + setenv tex /home/texmf + setenv TEXINPUTS .:$tex:${tex}prev + the final `TEXINPUTS' path is the three directories: + .:/home/texmf:/home/texmfprev + + The `.PROGNAME' suffix on variables and `_PROGNAME' on environment +variable names are not implemented for general variable expansions. +These are only recognized when search paths are initialized (*note Path +sources::). + + Variable expansion is implemented in the source file +`kpathsea/variable.c'. + + +File: kpathsea.info, Node: Tilde expansion, Next: Brace expansion, Prev: Variable expansion, Up: Path expansion + +3.3.3 Tilde expansion +--------------------- + +A leading `~' in a path element is replaced by the value of the +environment variable `HOME', or `.' if `HOME' is not set. On Windows, +the environment variable `USERPROFILE' is checked instead of `HOME'. + + A leading `~USER' in a path element is replaced by USER's home +directory from the system `passwd' database. + + For example, + setenv TEXINPUTS ~/mymacros: + +will prepend a directory `mymacros' in your home directory to the +default path. + + As a special case, if a home directory ends in `/', the trailing +slash is dropped, to avoid inadvertently creating a `//' construct in +the path. For example, if the home directory of the user `root' is +`/', the path element `~root/mymacros' expands to just `/mymacros', not +`//mymacros'. + + Tilde expansion is implemented in the source file `kpathsea/tilde.c'. + + +File: kpathsea.info, Node: Brace expansion, Next: KPSE_DOT expansion, Prev: Tilde expansion, Up: Path expansion + +3.3.4 Brace expansion +--------------------- + +`x{A,B}y' expands to `xAy:xBy'. For example: + + foo/{1,2}/baz + +expands to `foo/1/baz:foo/2/baz'. `:' is the path separator on the +current system; e.g., on a DOS system, it's `;'. + + Braces can be nested; for example, `x{A,B{1,2}}y' expands to +`xAy:xB1y:xB2y'. + + Multiple non-nested braces are expanded from right to left; for +example, `x{A,B}{1,2}y' expands to `x{A,B}1y:x{A,B}2y', which expands +to `xA1y:xB1y:xA2y:xB2y'. + + This feature can be used to implement multiple TeX hierarchies, by +assigning a brace list to `$TEXMF', as mentioned in `texmf.in'. + + You can also use the path separator instead of the comma. The last +example could have been written `x{A:B}{1:2}y'. + + Brace expansion is implemented in the source file +`kpathsea/expand.c'. + + +File: kpathsea.info, Node: KPSE_DOT expansion, Next: Subdirectory expansion, Prev: Brace expansion, Up: Path expansion + +3.3.5 `KPSE_DOT' expansion +-------------------------- + +When `KPSE_DOT' is defined in the environment, it names a directory +that should be considered the current directory for the purpose of +looking up files in the search paths. This feature is needed by the +`mktex...' scripts *note mktex scripts::, because these change the +working directory. You should not ever define it yourself. + + +File: kpathsea.info, Node: Subdirectory expansion, Prev: KPSE_DOT expansion, Up: Path expansion + +3.3.6 Subdirectory expansion +---------------------------- + +Two or more consecutive slashes in a path element following a directory +D is replaced by all subdirectories of D: first those subdirectories +directly under D, then the subsubdirectories under those, and so on. +At each level, the order in which the directories are searched is +unspecified. (It's "directory order", and definitely not alphabetical.) + + If you specify any filename components after the `//', only +subdirectories which match those components are included. For example, +`/a//b' would expand into directories `/a/1/b', `/a/2/b', `/a/1/1/b', +and so on, but not `/a/b/c' or `/a/1'. + + You can include multiple `//' constructs in the path. + + `//' at the beginning of a path is ignored; you didn't really want +to search every directory on the system, did you? + + I should mention one related implementation trick, which I took from +GNU find. Matthew Farwell suggested it, and David MacKenzie +implemented it. + + The trick is that in every real Unix implementation (as opposed to +the POSIX specification), a directory which contains no subdirectories +will have exactly two links (namely, one for `.' and one for `..'). +That is to say, the `st_nlink' field in the `stat' structure will be +two. Thus, we don't have to stat everything in the bottom-level (leaf) +directories--we can just check `st_nlink', notice it's two, and do no +more work. + + But if you have a directory that contains a single subdirectory and +500 regular files, `st_nlink' will be 3, and Kpathsea has to stat every +one of those 501 entries. Therein lies slowness. + + You can disable the trick by undefining `ST_NLINK_TRICK' in +`kpathsea/config.h'. (It is undefined by default except under Unix.) + + Unfortunately, in some cases files in leaf directories are `stat''d: +if the path specification is, say, `$TEXMF/fonts//pk//', then files in +a subdirectory `.../pk', even if it is a leaf, are checked. The reason +cannot be explained without reference to the implementation, so read +`kpathsea/elt-dirs.c' (search for `may descend') if you are curious. +And if you can find a way to _solve_ the problem, please let me know. + + Subdirectory expansion is implemented in the source file +`kpathsea/elt-dirs.c'. + + +File: kpathsea.info, Node: Filename database, Next: Invoking kpsewhich, Prev: Path expansion, Up: Path searching + +3.4 Filename database (`ls-R') +============================== + +Kpathsea goes to some lengths to minimize disk accesses for searches +(*note Subdirectory expansion::). Nevertheless, in practice searching +each possible directory in typical TeX installations takes an +excessively long time. + + Therefore, Kpathsea can use an externally-built "filename database" +file named `ls-R' that maps files to directories, thus avoiding the +need to exhaustively search the disk. + + A second database file `aliases' allows you to give additional names +to the files listed in `ls-R'. This can be helpful to adapt to "8.3" +filename conventions in source files. + + The `ls-R' and `aliases' features are implemented in the source file +`kpathsea/db.c'. + +* Menu: + +* ls-R:: The main filename database. +* Filename aliases:: Aliases for those names. +* Database format:: Syntax details of the database file. + + +File: kpathsea.info, Node: ls-R, Next: Filename aliases, Up: Filename database + +3.4.1 `ls-R' +------------ + +As mentioned above, you must name the main filename database `ls-R'. +You can put one at the root of each TeX installation hierarchy you wish +to search (`$TEXMF' by default); most sites have only one hierarchy. +Kpathsea looks for `ls-R' files along the `TEXMFDBS' path, so that +should presumably match the list of hierarchies. + + The recommended way to create and maintain `ls-R' is to run the +`mktexlsr' script, which is installed in `$(bindir)' (`/usr/local/bin' +by default). That script goes to some trouble to follow symbolic links +as necessary, etc. It's also invoked by the distributed `mktex...' +scripts. + + At its simplest, though, you can build `ls-R' with the command + cd /YOUR/TEXMF/ROOT && ls -LAR ./ >ls-R + +presuming your `ls' produces the right output format (see the section +below). GNU `ls', for example, outputs in this format. Also presuming +your `ls' hasn't been aliased in a system file (e.g., `/etc/profile') +to something problematic, e.g., `ls --color=tty'. In that case, you +will have to disable the alias before generating `ls-R'. For the +precise definition of the file format, see *note Database format::. + + Regardless of whether you use the supplied script or your own, you +will almost certainly want to invoke it via `cron', so when you make +changes in the installed files (say if you install a new LaTeX +package), `ls-R' will be automatically updated. + + The `-A' option to `ls' includes files beginning with `.' (except +for `.' and `..'), such as the file `.tex' included with the LaTeX +tools package. (On the other hand, _directories_ whose names begin +with `.' are always ignored.) + + If your system does not support symbolic links, omit the `-L'. + + `ls -LAR /YOUR/TEXMF/ROOT' will also work. But using `./' avoids +embedding absolute pathnames, so the hierarchy can be easily +transported. It also avoids possible trouble with automounters or +other network filesystem conventions. + + Kpathsea warns you if it finds an `ls-R' file, but the file does not +contain any usable entries. The usual culprit is running plain `ls -R' +instead of `ls -LR ./' or `ls -R /YOUR/TEXMF/ROOT'. Another +possibility is some system directory name starting with a `.' (perhaps +if you are using AFS); Kpathsea ignores everything under such +directories. + + Because the database may be out-of-date for a particular run, if a +file is not found in the database, by default Kpathsea goes ahead and +searches the disk. If a particular path element begins with `!!', +however, _only_ the database will be searched for that element, never +the disk. If the database does not exist, nothing will be searched. +Because this can surprise users ("I see the font `foo.tfm' when I do an +`ls'; why can't Dvips find it?"), it is not in any of the default +search paths. + + +File: kpathsea.info, Node: Filename aliases, Next: Database format, Prev: ls-R, Up: Filename database + +3.4.2 Filename aliases +---------------------- + +In some circumstances, you may wish to find a file under several names. +For example, suppose a TeX document was created using a DOS system and +tries to read `longtabl.sty'. But now it's being run on a Unix system, +and the file has its original name, `longtable.sty'. The file won't be +found. You need to give the actual file `longtable.sty' an alias +`longtabl.sty'. + + You can handle this by creating a file `aliases' as a companion to +the `ls-R' for the hierarchy containing the file in question. (You +must have an `ls-R' for the alias feature to work.) + + The format of `aliases' is simple: two whitespace-separated words +per line; the first is the real name `longtable.sty', and second is the +alias (`longtabl.sty'). These must be base filenames, with no +directory components. `longtable.sty' must be in the sibling `ls-R'. + + Also, blank lines and lines starting with `%' or `#' are ignored in +`aliases', to allow for comments. + + If a real file `longtabl.sty' exists, it is used regardless of any +aliases. + + +File: kpathsea.info, Node: Database format, Prev: Filename aliases, Up: Filename database + +3.4.3 Database format +--------------------- + +The "database" read by Kpathsea is a line-oriented file of plain text. +The format is that generated by GNU (and most other) `ls' programs +given the `-R' option, as follows. + + * Blank lines are ignored. + + * If a line begins with `/' or `./' or `../' and ends with a colon, + it's the name of a directory. (`../' lines aren't useful, + however, and should not be generated.) + + * All other lines define entries in the most recently seen directory. + /'s in such lines will produce possibly-strange results. + + * Files with no preceding directory line are ignored. + + For example, here's the first few lines of `ls-R' (which totals +about 30K bytes) on my system: + + bibtex + dvips + fonts + ls-R + metafont + metapost + tex + web2c + + ./bibtex: + bib + bst + doc + + ./bibtex/bib: + asi.bib + btxdoc.bib + ... + + +File: kpathsea.info, Node: Invoking kpsewhich, Prev: Filename database, Up: Path searching + +3.5 `kpsewhich': Standalone path searching +========================================== + +The Kpsewhich program exercises the path searching functionality +independent of any particular application. This can also be useful as a +sort of `find' program to locate files in your TeX hierarchies, perhaps +in administrative scripts. It is used heavily in the distributed +`mktex...' scripts. + + Synopsis: + + kpsewhich OPTION... FILENAME... + + The options and filename(s) to look up can be intermixed. Options +can start with either `-' or `--', and any unambiguous abbreviation is +accepted. + +* Menu: + +* Path searching options:: Changing the mode, resolution, etc. +* Specially-recognized files:: Default formats for texmf.cnf, etc. +* Auxiliary tasks:: Path and variable expansion. +* Standard options:: --help and --version. + + +File: kpathsea.info, Node: Path searching options, Next: Specially-recognized files, Up: Invoking kpsewhich + +3.5.1 Path searching options +---------------------------- + +Kpsewhich looks up each non-option argument on the command line as a +filename, and returns the first file found. + + Various options alter the path searching behavior: + +`--all' + Report all matches found, one per line. By default, if there is + more than one match, just one will be reported (chosen effectively + at random). + +`--dpi=NUM' + Set the resolution to NUM; this only affects `gf' and `pk' + lookups. `-D' is a synonym, for compatibility with Dvips. + Default is 600. + +`--engine=NAME' + Set the engine name to NAME. By default it is not set. The + engine name is used in some search paths to allow files with the + same name but used by different engines to coexist. + + In particular, since the memory dump files (`.fmt'/`.base'/`.mem') + are now stored in subdirectories named for the engine (`tex', + `pdftex', `xetex', etc.), you must specify an engine name in order + to find them. For example, `cont-en.fmt' typically exists for both + `pdftex' and `xetex'. With the default path settings, you can use + `--engine=/' to look for any dump file, regardless of engine; if a + dump file exists for more than one engine, it's indeterminate + which one is returned. (The `/' ends up specifying a normal + recursive search along the path where the dumps are stored, namely + `$TEXMF/web2c{/$engine,}'.) + +`--format=NAME' + Set the format for lookup to NAME. By default, the format is + guessed from the filename, with `tex' being used if nothing else + fits. The recognized filename extensions (including any leading + `.') are also allowable NAMEs. + + All formats also have a name, which is the only way to specify + formats with no associated suffix. For example, for Dvips + configuration files you can use `--format="dvips config"'. (The + quotes are for the sake of the shell.) + + Here's the current list of recognized names and the associated + suffixes. *Note Supported file formats::, for more information on + each of these. + + The strings in parentheses are abbreviations recognized only by + `kpsewhich' (not the underlying library calls). They are provided + when it would otherwise require an argument containing a space to + specify the format, to simplify quoting of calls from shells. + + gf: gf + pk: pk + bitmap font (bitmapfont): + tfm: .tfm + afm: .afm + base: .base + bib: .bib + bst: .bst + cnf: .cnf + ls-R: ls-R ls-r + fmt: .fmt + map: .map + mem: .mem + mf: .mf + mfpool: .pool + mft: .mft + mp: .mp + mppool: .pool + MetaPost support (mpsupport): + ocp: .ocp + ofm: .ofm .tfm + opl: .opl .pl + otp: .otp + ovf: .ovf .vf + ovp: .ovp .vpl + graphic/figure: .eps .epsi + tex: .tex .sty .cls .fd .aux .bbl .def .clo .ldf + TeX system documentation (doc): + texpool: .pool + TeX system sources (source): .dtx .ins + PostScript header: .pro + Troff fonts (trofffont): + type1 fonts: .pfa .pfb + vf: .vf + dvips config (dvipsconfig): + ist: .ist + truetype fonts: .ttf .ttc .TTF .TTC .dfont + type42 fonts: .t42 .T42 + web2c files (web2c): + other text files (othertext): + other binary files (otherbin): + misc fonts (miscfont): + web: .web .ch + cweb: .w .web .ch + enc files: .enc + cmap files (cmap): + subfont definition files: .sfd + opentype fonts: .otf + pdftex config (pdftexconfig): + lig files: .lig + texmfscripts: + lua: .luc .luctex .texluc .lua .luatex .texlua + font feature files: .fea + cid maps: .cid .cidmap + mlbib: .mlbib .bib + mlbst: .mlbst .bst + clua: .dll .so + ris: .ris + bltxml: .bltxml + + This option and `--path' are mutually exclusive. + +`--interactive' + After processing the command line, read additional filenames to + look up from standard input. + +`--mktex=FILETYPE' +`--no-mktex=FILETYPE' + Turn on or off the `mktex' script associated with FILETYPE. Usual + values for FILETYPE are `pk', `mf', `tex', and `tfm'. By default, + all are off in Kpsewhich, even if they are enabled for TeX. This + option implies setting `--must-exist'. *Note mktex scripts::. + +`--mode=STRING' + Set the mode name to STRING; this also only affects `gf' and `pk' + lookups. No default: any mode will be found. *Note mktex script + arguments::. + +`--must-exist' + Do everything possible to find the files, notably including + searching the disk and running the `mktex' scripts. By default, + only the `ls-R' database is checked, in the interest of efficiency. + +`--path=STRING' + Search along the path STRING (colon-separated as usual), instead + of guessing the search path from the filename. `//' and all the + usual expansions are supported (*note Path expansion::). This + option and `--format' are mutually exclusive. To output the + complete directory expansion of a path, instead of doing a + one-shot lookup, see `--expand-path' and `--show-path' in the + following section. + +`--progname=NAME' + Set the program name to NAME; default is `kpsewhich'. This can + affect the search paths via the `.PROGNAM' feature in + configuration files (*note Config files::). + +`--safe-in-name=NAME' +`--safe-out-name=NAME' + Exit successfully if NAME is safe to open for reading or writing, + respectively, else unsuccessfully. No output is written. These + tests take account of the related Kpathsea configuration settings + (*note Calling sequence::). + +`--subdir=STRING' + Report only those matches whose directory part _ends_ with STRING + (compared literally, except case is ignored on a case-insensitive + operating system). For example, suppose there are two matches for + a given name: + + kpsewhich foo.sty + => /some/where/foo.sty + /another/place/foo.sty + + Then we can narrow the result to what we are interested in with + `--subdir': + + kpsewhich --subdir=where foo.sty + => /some/where/foo.sty + + kpsewhich --subdir=place foo.sty + => /another/place/foo.sty + + The string to match must be at the end of the directory part of the + match, and it is taken literally, with no pattern matching: + + kpsewhich --subdir=another foo.sty + => + + The string to match may cross directory components: + + kpsewhich --subdir=some/where foo.sty + => /some/where/foo.sty + + `--subdir' implies `--all'; if there is more than one match, they + will all be reported (in our example, both `where' and `place' end + in `e'): + + kpsewhich --subdir=e + => /some/where/foo.sty + /another/place/foo.sty + + Because of the above rules, the presence of a leading `/' is + important, since it "anchors" the match to a full component name: + + kpsewhich --subdir=/lace foo.sty + => + + However, a trailing `/' is immaterial (and ignored), since the + match always takes place at the end of the directory part: + + kpsewhich --subdir=lace/ foo.sty + => /another/place/foo.sty + + The purpose of these rules is to make it convenient to find results + only within a particular area of the tree. For instance, a given + script named `foo.lua' might exist within both + `texmf-dist/scripts/pkg1/' and `texmf-dist/scripts/pkg2/'. By + specifying, say, `--subdir=/pkg1', you can be sure of getting the + one you are interested in. + + We only match at the end because a site might happen to install TeX + in `/some/coincidental/pkg1/path/', and we wouldn't want to match + `texmf-dist/scripts/pkg2/' that when searching for `/pkg1'. + + + +File: kpathsea.info, Node: Specially-recognized files, Next: Auxiliary tasks, Prev: Path searching options, Up: Invoking kpsewhich + +3.5.2 Specially-recognized files for `kpsewhich' +------------------------------------------------ + +`kpsewhich' recognizes a few special filenames on the command line and +defaults to using the `known' file formats for them, merely to save the +time and trouble of specifying the format. This is only a feature of +`kpsewhich'; when using the Kpathsea library itself, none of these +special filenames are recognized, and it's still up to the caller to +specify the desired format. + + Here is the list of special filenames to `kpsewhich', along with +their corresponding format: + +`config.ps' + `dvips config' + +`dvipdfmx.cfg' + `other text files' + +`fmtutil.cnf' + `web2c files' + +`glyphlist.txt' + `map' + +`mktex.cnf' + `web2c files' + +`pdfglyphlist.txt' + `map' + +`pdftex.cfg' + `pdftex config' (although `pdftex.cfg' is not used any more; look + for the file `pdftexconfig.tex' instead.) + +`texmf.cnf' + `cnf' + +`XDvi' + `other text files' + + + A user-specified format will override the above defaults. + + Another useful configuration file in this regard is `tcfmgr.map', +found in `texmf/texconfig/tcfmgr.map', which records various +information about the above configuration files (among others). + + +File: kpathsea.info, Node: Auxiliary tasks, Next: Standard options, Prev: Specially-recognized files, Up: Invoking kpsewhich + +3.5.3 Auxiliary tasks +--------------------- + +Kpsewhich provides some additional features not strictly related to path +lookup: + + * `--debug=NUM' sets the debugging options to NUM. *Note + Debugging::. + + * `--var-value=VARIABLE' outputs the value of VARIABLE, expanding + `$' (*note Variable expansion:: and `~' (*note Tilde expansion::) + constructs, but not performing other expansions. + + * `--expand-braces=STRING' outputs the variable and brace expansion + of STRING. *Note Path expansion::. + + * `--expand-var=STRING' outputs the variable and tilde expansion of + STRING. For example, the `mktex...' scripts run `kpsewhich + --expand-var='$TEXMF'' to find the root of the TeX system + hierarchy. *Note Path expansion::. + + * `--expand-path=STRING' outputs the complete expansion of STRING, + with each element separated by the usual path separator on the + current system (`;' on Windows, `:' otherwise). This may be + useful to construct a custom search path for a format not + otherwise supported. To retrieve the search path for a format + that is already supported, see `--show-path', next. + + Nonexistent directories are culled from the output: + + $ kpsewhich --expand-path '/tmp' + => /tmp + $ kpsewhich --expand-path '/nonesuch' + => + + For one-shot uses of an arbitrary (not built in to Kpathsea) path, + see `--path' in the previous section. + + * `--show-path=NAME' shows the path that would be used for file + lookups of file type NAME. Either a filename extension (`pk', + `.vf', etc.) or an integer can be used, just as with `--format', + described in the previous section. + + + +File: kpathsea.info, Node: Standard options, Prev: Auxiliary tasks, Up: Invoking kpsewhich + +3.5.4 Standard options +---------------------- + +Kpsewhich accepts the standard GNU options: + + * `--help' prints a help message on standard output and exits + successfully. + + * `--version' prints the Kpathsea version number and exits + successfully. + + +File: kpathsea.info, Node: TeX support, Next: Programming, Prev: Path searching, Up: Top + +4 TeX support +************* + +Although the basic features in Kpathsea can be used for any type of path +searching, it came about (like all libraries) with a specific +application in mind: I wrote Kpathsea specifically for TeX system +programs. I had been struggling with the programs I was using (Dvips, +Xdvi, and TeX itself) having slightly different notions of how to +specify paths; and debugging was painful, since no code was shared. + + Therefore, Kpathsea provides some TeX-specific formats and features. +Indeed, many of the supposedly generic path searching features were +provided because they seemed useful in that conTeXt (font lookup, +particularly). + + Kpathsea provides a standard way to search for files of any of the +supported file types; glyph fonts are a bit different than all the rest. +Searches are based solely on filenames, not file contents--if a GF file +is named `cmr10.600pk', it will be found as a PK file. + +* Menu: + +* Supported file formats:: File types Kpathsea knows about. +* File lookup:: Searching for most kinds of files. +* Glyph lookup:: Searching for bitmap fonts. +* Suppressing warnings:: Avoiding warnings via TEX_HUSH. + + +File: kpathsea.info, Node: Supported file formats, Next: File lookup, Up: TeX support + +4.1 Supported file formats +========================== + +Kpathsea has support for a number of file types. Each file type has a +list of environment and config file variables that are checked to define +the search path, and most have a default suffix that plays a role in +finding files (see the next section). Some also define additional +suffixes, and/or a program to be run to create missing files on the fly. + + Since environment variables containing periods, such as +`TEXINPUTS.latex', are not allowed on some systems, Kpathsea looks for +environment variables with an underscore, e.g., `TEXINPUTS_latex' +(*note Config files::). + + The following table lists the above information. + +`afm' + (Adobe font metrics, *note Metric files: (dvips)Metric files.) + `AFMFONTS'; suffix `.afm'. + +`base' + (Metafont memory dump, *note Memory dumps: (web2c)Memory dumps.) + `MFBASES', `TEXMFINI'; suffix `.base'. + +`bib' + (BibTeX bibliography source, *note bibtex invocation: + (web2c)bibtex invocation.) `BIBINPUTS', `TEXBIB'; suffix `.bib'. + +`bst' + (BibTeX style, *note Basic BibTeX style files: (web2c)Basic BibTeX + style files.) `BSTINPUTS'; suffix `.bst'. + +`cmap' + (character map files) `CMAPFONTS'; suffix `.cmap'. + +`cnf' + (Runtime configuration files, *note Config files::) `TEXMFCNF'; + suffix `.cnf'. + +`cweb' + (CWEB input files) `CWEBINPUTS'; suffixes `.w', `.web'; additional + suffix `.ch'. + +`dvips config' + (Dvips `config.*' files, such as `config.ps', *note Config files: + (dvips)Config files.) `TEXCONFIG'. + +`enc files' + (encoding vectors) `ENCFONTS'; suffix `.enc'. + +`fmt' + (TeX memory dump, *note Memory dumps: (web2c)Memory dumps.) + `TEXFORMATS', `TEXMFINI'; suffix `.fmt'. + +`font cid map' + (CJK mapping) `FONTCIDMAPS' suffix `.cid'. + +`font feature files' + (primarily for OpenType font features) `FONTFEATURES' suffix + `.fea'. + +`gf' + (generic font bitmap, *note Glyph files: (dvips)Glyph files.) + `PROGRAMFONTS', `GFFONTS', `GLYPHFONTS', `TEXFONTS'; suffix `gf'. + +`graphic/figure' + (Encapsulated PostScript figures, *note PostScript figures: + (dvips)PostScript figures.) `TEXPICTS', `TEXINPUTS'; additional + suffixes: `.eps', `.epsi'. + +`ist' + (makeindex style files) `TEXINDEXSTYLE', `INDEXSTYLE'; suffix + `.ist'. + +`lig files' + (ligature definition files) `LIGFONTS'; suffix `.lig'. + +`ls-R' + (Filename databases, *note Filename database::) `TEXMFDBS'. + +`map' + (Fontmaps, *note Fontmap::) `TEXFONTMAPS'; suffix `.map'. + +`mem' + (MetaPost memory dump, *note Memory dumps: (web2c)Memory dumps.) + `MPMEMS', `TEXMFINI'; suffix `.mem'. + +`MetaPost support' + (MetaPost support files, used by DMP; *note dmp invocation: + (web2c)dmp invocation.) `MPSUPPORT'. + +`mf' + (Metafont source, *note mf invocation: (web2c)mf invocation.) + `MFINPUTS'; suffix `.mf'; dynamic creation program: `mktexmf'. + +`mfpool' + (Metafont program strings, *note pooltype invocation: + (web2c)pooltype invocation.) `MFPOOL', `TEXMFINI'; suffix `.pool'. + +`mft' + (`MFT' style file, *note mft invocation: (web2c)mft invocation.) + `MFTINPUTS'; suffix `.mft'. + +`misc fonts' + (font-related files that don't fit the other categories) + `MISCFONTS' + +`mlbib' + (MlBibTeX bibliography source) `MLBIBINPUTS', `BIBINPUTS', + `TEXBIB'; suffixes `.mlbib', `.mlbib'. + +`mlbst' + (MlBibTeX style) `MLBSTINPUTS', `BSTINPUTS'; suffixes `.mlbst', + `.bst'. + +`mp' + (MetaPost source, *note mpost invocation: (web2c)mpost invocation.) + `MPINPUTS'; suffix `.mp'. + +`mppool' + (MetaPost program strings, *note pooltype invocation: + (web2c)pooltype invocation.) `MPPOOL', `TEXMFINI'; suffix `.pool'. + +`ocp' + (Omega compiled process files) `OCPINPUTS'; + suffix `.ocp'; dynamic creation program: `MakeOmegaOCP'. + +`ofm' + (Omega font metrics) `OFMFONTS', `TEXFONTS'; + suffixes `.ofm', `.tfm'; dynamic creation program: `MakeOmegaOFM'. + +`opentype fonts' + (OpenType fonts) `OPENTYPEFONTS'. + +`opl' + (Omega property lists) `OPLFONTS', `TEXFONTS'; suffix `.opl'. + +`otp' + (Omega translation process files) `OTPINPUTS'; suffix `.otp'. + +`ovf' + (Omega virtual fonts) `OVFFONTS', `TEXFONTS'; suffix `.ovf'. + +`ovp' + (Omega virtual property lists) `OVPFONTS', `TEXFONTS'; suffix + `.ovp'. + +`pdftex config' + (PDFTeX-specific configuration files) `PDFTEXCONFIG'. + +`pk' + (packed bitmap fonts, *note Glyph files: (dvips)Glyph files.) + `PROGRAMFONTS' (PROGRAM being `XDVI', etc.), `PKFONTS', `TEXPKS', + `GLYPHFONTS', `TEXFONTS'; suffix `pk'; dynamic creation program: + `mktexpk'. + +`PostScript header' + (downloadable PostScript, *note Header files: (dvips)Header files.) + `TEXPSHEADERS', `PSHEADERS'; additional suffix `.pro'. + +`subfont definition files' + (subfont definition files) `SFDFONTS' suffix `.sfd'. + +`tex' + (TeX source, *note tex invocation: (web2c)tex invocation.) + `TEXINPUTS'; suffix `.tex'; additional suffixes: none, because + such a list cannot be complete; dynamic creation program: + `mktextex'. + +`TeX system documentation' + (Documentation files for the TeX system) `TEXDOCS'. + +`TeX system sources' + (Source files for the TeX system) `TEXSOURCES'. + +`texmfscripts' + (Architecture-independent executables distributed in the texmf + trees) `TEXMFSCRIPTS'. + +`texpool' + (TeX program strings, *note pooltype invocation: (web2c)pooltype + invocation.) `TEXPOOL', `TEXMFINI'; suffix `.pool'. + +`tfm' + (TeX font metrics, *note Metric files: (dvips)Metric files.) + `TFMFONTS', `TEXFONTS'; suffix `.tfm'; dynamic creation program: + `mktextfm'. + +`Troff fonts' + (Troff fonts, used by DMP; *note DMP invocation: (web2c)DMP + invocation.) `TRFONTS'. + +`truetype fonts' + (TrueType outline fonts) `TTFONTS'; suffixes `.ttf' and `.TTF', + `.ttc' and `.TTC', `.dfont'. + +`type1 fonts' + (Type 1 PostScript outline fonts, *note Glyph files: (dvips)Glyph + files.) `T1FONTS', `T1INPUTS', `TEXPSHEADERS', `DVIPSHEADERS'; + suffixes `.pfa', `.pfb'. + +`type42 fonts' + (Type 42 PostScript outline fonts) `T42FONTS'. + +`vf' + (virtual fonts, *note Virtual fonts: (dvips)Virtual fonts.) + `VFFONTS', `TEXFONTS'; suffix `.vf'. + +`web' + (WEB input files) `WEBINPUTS'; suffix `.web'; additional suffix + `.ch'. + +`web2c files' + (files specific to the web2c implementation) `WEB2C'. + + There are two special cases, because the paths and environment +variables always depend on the name of the program: the variable name is +constructed by converting the program name to upper case, and then +appending `INPUTS'. Assuming the program is called `foo', this gives +us the following table. + +`other text files' + (text files used by `foo') `FOOINPUTS'. + +`other binary files' + (binary files used by `foo') `FOOINPUTS'. + + If an environment variable by these names are set, the corresponding +`texmf.cnf' definition won't be looked at (unless, as usual, the +environment variable value has an extra `:'). *Note Default +expansion::. + + For the font variables, the intent is that: + * `TEXFONTS' is the default for everything. + + * `GLYPHFONTS' is the default for bitmap (or, more precisely, + non-metric) files. + + * Each font format has a variable of its own. + + * Each program has its own font override path as well; e.g., + `DVIPSFONTS' for Dvipsk. Again, this is for bitmaps, not metrics. + + + +File: kpathsea.info, Node: File lookup, Next: Glyph lookup, Prev: Supported file formats, Up: TeX support + +4.2 File lookup +=============== + +This section describes how Kpathsea searches for most files (bitmap font +searches are the exception, as described in the next section). + + Here is the search strategy for a file NAME: + + 1. If the file format defines default suffixes, and the suffix of + NAME name is not already a known suffix for that format, try the + name with each default appended, and use alternative names found in + the fontmaps if necessary. Example: given `foo.bar', look for + `foo.bar.tex'. + + 2. Search for NAME, and if necessary for alternative names found in + the fontmaps. Example: given `foo.bar', we also look for + `foo.bar'. + + 3. If the file format defines a program to invoke to create missing + files, run it (*note mktex scripts::). + + The order in which we search for "suffixed" name (item 1) or the +"as-is" name (item 2) is controlled by the `try_std_extension_first' +configuration value. The default set in `texmf.cnf' is true, since +common suffixes are already recognized: `babel.sty' will only look for +`babel.sty', not `babel.sty.tex', regardless of this setting. + + When the suffix is unknown (e.g., `foo.bar'), both names are always +tried; the difference is the order in which they are tried. + + `try_std_extension_first' only affects names being looked up which +*already* have an extension. A name without an extension (e.g., `tex +story') will always have an extension added first. + + This algorithm is implemented in the function `kpathsea_find_file' +in the source file `kpathsea/tex-file.c'. You can watch it in action +with the debugging options (*note Debugging::). + + +File: kpathsea.info, Node: Glyph lookup, Next: Suppressing warnings, Prev: File lookup, Up: TeX support + +4.3 Glyph lookup +================ + +This section describes how Kpathsea searches for a bitmap font in GF or +PK format (or either) given a font name (e.g., `cmr10') and a +resolution (e.g., 600). + + Here is an outline of the search strategy (details in the sections +below) for a file NAME at resolution DPI. The search stops at the +first successful lookup. + + 1. Look for an existing file NAME.DPIFORMAT in the specified + format(s). + + 2. If NAME is an alias for a file F in the fontmap file + `texfonts.map', look for F.DPI. + + 3. Run an external program (typically named `mktexpk') to generate + the font (*note mktex scripts::) + + 4. Look for FALLBACK.DPI, where FALLBACK is some last-resort font + (typically `cmr10'). + + This is implemented in `kpathsea_find_glyph' in +`kpathsea/tex-glyph.c'. + +* Menu: + +* Basic glyph lookup:: Features common to all glyph lookups. +* Fontmap:: Aliases for fonts. +* Fallback font:: Resolutions and fonts of last resort. + + +File: kpathsea.info, Node: Basic glyph lookup, Next: Fontmap, Up: Glyph lookup + +4.3.1 Basic glyph lookup +------------------------ + +When Kpathsea looks for a bitmap font NAME at resolution DPI in a +format FORMAT, it first checks each directory in the search path for a +file `NAME.DPIFORMAT'; for example, `cmr10.600pk'. Kpathsea looks for +a PK file first, then a GF file. + + If that fails, Kpathsea looks for `dpiDPI/NAME.FORMAT'; for example, +`dpi600/cmr10.pk'. This is how fonts are typically stored on +filesystems (such as DOS) that permit only three-character extensions. + + If that fails, Kpathsea looks for a font with a close-enough DPI. +"Close enough" is defined by the macro `KPSE_BITMAP_TOLERANCE' in +`kpathsea/tex-glyph.h' to be `DPI / 500 + 1'. This is slightly more +than the 0.2% minimum allowed by the DVI standard +(`CTAN:/dviware/driv-standard/level-0'). + + +File: kpathsea.info, Node: Fontmap, Next: Fallback font, Prev: Basic glyph lookup, Up: Glyph lookup + +4.3.2 Fontmap +------------- + +If a bitmap font or metric file is not found with the original name (see +the previous section), Kpathsea looks through any "fontmap" files for +an "alias" for the original font name. These files are named +`texfonts.map' and searched for along the `TEXFONTMAPS' +environment/config file variable. All `texfonts.map' files that are +found are read; earlier definitions override later ones. + + This feature is intended to help in two respects: + + 1. An alias name is limited in length only by available memory, not + by your filesystem. Therefore, if you want to ask for + `Times-Roman' instead of `ptmr', you can (you get `ptmr8r'). + + 2. A few fonts have historically had multiple names: specifically, + LaTeX's "circle font" has variously been known as `circle10', + `lcircle10', and `lcirc10'. Aliases can make all the names + equivalent, so that it no longer matters what the name of the + installed file is; TeX documents will find their favorite name. + + + The format of fontmap files is straightforward: + + * Comments start with `%' and continue to the end of the line. + + * Blank lines are ignored. + + * Each nonblank line is broken up into a series of "words": a + sequence of non-whitespace characters. + + * If the first word is `include', the second word is used as a + filename, and it is searched for and read. + + * Otherwise, the first word on each line is the true filename; + + * the second word is the alias; + + * subsequent words are ignored. + + If an alias has an extension, it matches only those files with that +extension; otherwise, it matches anything with the same root, regardless +of extension. For example, an alias `foo.tfm' matches only when +`foo.tfm' is being searched for; but an alias `foo' matches `foo.vf', +`foo.600pk', etc. + + As an example, here is an excerpt from the `texfonts.map' in the +Web2c distribution. It makes the circle fonts equivalent and includes +automatically generated maps for most PostScript fonts available from +various font suppliers. + + circle10 lcircle10 + circle10 lcirc10 + lcircle10 circle10 + lcircle10 lcirc10 + lcirc10 circle10 + lcirc10 lcircle10 + ... + include adobe.map + include apple.map + include bitstrea.map + ... + + Fontmaps are implemented in the file `kpathsea/fontmap.c'. The +Fontname distribution has much more information on font naming (*note +Introduction: (fontname)Introduction.). + + +File: kpathsea.info, Node: Fallback font, Prev: Fontmap, Up: Glyph lookup + +4.3.3 Fallback font +------------------- + +If a bitmap font cannot be found or created at the requested size, +Kpathsea looks for the font at a set of "fallback resolutions". You +specify these resolutions as a colon-separated list (like search paths). +Kpathsea looks first for a program-specific environment variable (e.g., +`DVIPSSIZES' for Dvipsk), then the environment variable `TEXSIZES', +then a default specified at compilation time (the Make variable +`default_texsizes'). You can set this list to be empty if you prefer +to find fonts at their stated size or not at all. + + Finally, if the font cannot be found even at the fallback +resolutions, Kpathsea looks for a fallback font, typically `cmr10'. +Programs must enable this feature by calling `kpathsea_init_prog' +(*note Calling sequence::); the default is no fallback font. + + +File: kpathsea.info, Node: Suppressing warnings, Prev: Glyph lookup, Up: TeX support + +4.4 Suppressing warnings +======================== + +Kpathsea provides a way to suppress selected usually-harmless warnings; +this is useful at large sites where most users are not administrators, +and thus the warnings are merely a source of confusion, not a help. To +do this, you set the environment variable or configuration file value +`TEX_HUSH' to a colon-separated list of values. Here are the +possibilities: + +`all' + Suppress everything possible. + +`checksum' + Suppress mismatched font checksum warnings. + +`lostchar' + Suppress warnings when a character is missing from a font that a + DVI or VF file tries to typeset. + +`none' + Don't suppress any warnings. + +`readable' + Suppress warnings about attempts to access a file whose permissions + render it unreadable. + +`special' + Suppresses warnings about an unimplemented or unparsable + `\special' command. + +`tex-hush.c' defines the function that checks the variable value. Each +driver implements its own checks where appropriate. + + +File: kpathsea.info, Node: Programming, Next: Index, Prev: TeX support, Up: Top + +5 Programming +************* + +This chapter is for programmers who wish to use Kpathsea. *Note +Introduction::, for the conditions under which you may do so. + +* Menu: + +* Overview: Programming overview. Introduction. +* Calling sequence:: Specifics of what to call. +* Program-specific files:: How to handle these. +* Config: Programming with config files. Getting info from texmf.cnf. + + +File: kpathsea.info, Node: Programming overview, Next: Calling sequence, Up: Programming + +5.1 Programming overview +======================== + +Aside from this manual, your best source of information is the source +to the programs that use Kpathsea (*note Introduction::). Of those, +Dviljk is probably the simplest, and hence a good place to start. +Xdvik adds VF support and the complication of X resources. Dvipsk adds +the complication of its own config files. Web2c is source code I also +maintain, so it uses Kpathsea rather straightforwardly, but is of +course complicated by the Web to C translation. Finally, Kpsewhich is +a small utility program whose sole purpose is to exercise the main +path-searching functionality. + + When looking at these program sources, you should know that previous +versions of the library had a different programming interface, to +support re-entrancy. In that interface the library function names were +prefixed with `kpse_' instead of `kpathsea_', and they did not need an +instance variable as first argument. This change was made in 2009. +Some of the programs mentioned above may still be using the previous +interface. + + Beyond these examples, the `.h' files in the Kpathsea source +describe the interfaces and functionality (and of course the `.c' files +define the actual routines, which are the ultimate documentation). +`pathsearch.h' declares the basic searching routine. `tex-file.h' and +`tex-glyph.h' define the interfaces for looking up particular kinds of +files. In view of the way the headers depend on each other, it is +recommended to use `#include <kpathsea/kpathsea.h>', which includes +every Kpathsea header. + + If you want to include only specific headers, you should still +consider including `kpathsea/config.h' before including any other +Kpathsea header, as it provides symbols used in the other headers. +Note that `kpathsea/config.h' includes `kpathsea/c-auto.h', which is +generated by Autoconf. + + The library provides no way for an external program to register new +file types: `tex-file.[ch]' must be modified to do this. For example, +Kpathsea has support for looking up Dvips config files, even though no +program other than Dvips will likely ever want to do so. I felt this +was acceptable, since along with new file types should also come new +defaults in `texmf.cnf' (and its descendant `paths.h'), since it's +simplest for users if they can modify one configuration file for all +kinds of paths. + + Kpathsea does not parse any formats itself; it barely opens any +files. Its primary purpose is to return filenames. The GNU font +utilities does contain libraries to read TFM, GF, and PK files, as do +the programs above, of course. + + +File: kpathsea.info, Node: Calling sequence, Next: Program-specific files, Prev: Programming overview, Up: Programming + +5.2 Calling sequence +==================== + +The typical way to use Kpathsea in your program goes something like +this: + + 1. Call `kpathsea_new' to create a new library instance. This variable + must be passed as the first argument to all the following library + functions. The rest of this manual will be using `kpse' as a + placeholder for the name of this variable. + + 2. Call `kpathsea_set_program_name' with `argv[0]' as the second + argument; the third argument is a string or `NULL'. The third + argument is used by Kpathsea as the program name for the + `.PROGRAM' feature of config files (*note Config files::). If the + third argument is `NULL', the value of the second argument is + used. This function must be called before any other use of the + Kpathsea library. + + `kpathsea_set_program_name' always sets the variables + `kpse->invocation_name' and `kpse->invocation_short_name'. These + variables are used in the error message macros defined in + `kpathsea/lib.h'. It sets the variable `kpse->program_name' to + the program name it uses. + + It also initializes debugging options based on the environment + variable `KPATHSEA_DEBUG' (if that is set). + + Finally, it sets the environment variables `SELFAUTOLOC', + `SELFAUTODIR' and `SELFAUTOPARENT' to the location, parent and + grandparent directory of the executable, removing `.' and `..' path + elements and resolving symbolic links. These are used in the + default configuration file to allow people to invoke TeX from + anywhere. You can use `kpsewhich --expand-var=\$SELFAUTOLOC', + etc., to see the values. + + 3. Set debugging options. *Note Debugging::. If your program doesn't + have a debugging option already, you can define one and set + `kpse->debug' to the number that the user supplies (as in Dviljk + and Web2c), or you can just omit this altogether (people can + always set `KPATHSEA_DEBUG'). If you do have runtime debugging + already, you need to merge Kpathsea's options with yours (as in + Dvipsk and Xdvik). + + 4. If your program has its own configuration files that can define + search paths, you should assign those paths to the `client_path' + member in the appropriate element of the `kpse->format_info' + array. (This array is indexed by file type; see `tex-file.h'.) + See `resident.c' in Dvipsk for an example. + + 5. Call `kpathsea_init_prog' (see `proginit.c'). It's useful for the + DVI drivers, at least, but for other programs it may be simpler to + extract the parts of it that actually apply. This does not + initialize any paths, it just looks for (and sets) certain + environment variables and other random information. (A search + path is always initialized at the first call to find a file of + that type; this eliminates much useless work, e.g., initializing + the BibTeX search paths in a DVI driver.) + + 6. The routine to actually find a file of type FORMAT is + `kpathsea_find_file'. You can call `kpathsea_find_file' after + doing only the first and second of the initialization steps + above--Kpathsea automatically reads the `texmf.cnf' generic config + files, looks for environment variables, and does expansions at the + first lookup. + + 7. To find PK and/or GF bitmap fonts, the routine is + `kpathsea_find_glyph', defined in `tex-glyph.h'. This returns a + structure in addition to the resultant filename, because fonts can + be found in so many ways. See the documentation in the source. + + 8. To actually open a file, not just return a filename, call + `kpathsea_open_file'. This function takes the name to look up and + a Kpathsea file format as arguments, and returns the usual `FILE + *'. It always assumes the file must exist, and thus will search + the disk if necessary (unless the search path specified `!!', + etc.). In other words, if you are looking up a VF or some other + file that need not exist, don't use this. + + 9. TeX can write output files, via the `\openout' primitive; this + opens a security hole vulnerable to Trojan horse attack: an + unwitting user could run a TeX program that overwrites, say, + `~/.rhosts'. Analogous security holes exist for many other + programs. To alleviate this, there is a configuration variable + `openout_any', which selects one of three levels of security. + When it is set to `a' (for "any"), no restrictions are imposed. + When it is set to `r' (for "restricted"), filenames beginning with + `.' are disallowed (except `.tex' because LaTeX needs it). When + it is set to `p' (for "paranoid") additional restrictions are + imposed: an absolute filename must refer to a file in (a + subdirectory) of `TEXMFOUTPUT', and any attempt to go up a + directory level is forbidden (that is, paths may not contain a + `..' component). The paranoid setting is the default. (For + backwards compatibility, `y' and `1' are synonyms of `a', while + `n' and `0' are synonyms for `r'.) The function + `kpathsea_out_name_ok', with a filename as second argument, + returns `true' if that filename is acceptable to be opend for + output or `false' otherwise. + + 10. Similarly, the function `kpathsea_in_name_ok', with a filename as + second argument, returns `true' if that filename is acceptable to + be opend for input or `false' otherwise, depending on the value of + the configuration variable `openin_any' (with `a' as default). + + 11. To close the kpathsea library instance you are using, call + `kpathsea_finish'. This function closes any open log files and + frees the memory used by the instance. + + + Kpathsea also provides many utility routines. Some are generic: hash +tables, memory allocation, string concatenation and copying, string +lists, reading input lines of arbitrary length, etc. Others are +filename-related: default path, tilde, and variable expansion, `stat' +calls, etc. (Perhaps someday I'll move the former to a separate +library.) + + The `c-*.h' header files can also help your program adapt to many +different systems. You will almost certainly want to use Autoconf and +probably Automake for configuring and building your software if you use +Kpathsea; I strongly recommend using Autoconf and Automake regardless. +They are available from `ftp://ftp.gnu.og/pub/gnu/'. + + +File: kpathsea.info, Node: Program-specific files, Next: Programming with config files, Prev: Calling sequence, Up: Programming + +5.3 Program-specific files +========================== + +Many programs will need to find some configuration files. Kpathsea +contains some support to make it easy to place them in their own +directories. The Standard TeX directory structure (*note Introduction: +(tds)Top.), specifies that such files should go into a subdirectory +named after the program, like `texmf/ttf2pk'. + + Two formats, `kpse_program_text_format' and +`kpse_program_binary_format', use `.:$TEXMF/PROGRAM//' as their +compiled-in search path. To override this default, you can use the +variable `PROGRAMINPUTS' in the environment and/or `texmf.cnf'. That +is to say, the name of the variable is constructed by converting the +name of the program to upper case, and appending `INPUTS'. + + The only difference between these two formats is whether +`kpathsea_open_file' will open the files it finds in text or binary +mode. + + +File: kpathsea.info, Node: Programming with config files, Prev: Program-specific files, Up: Programming + +5.4 Programming with config files +================================= + +You can (and probably should) use the same `texmf.cnf' configuration +file that Kpathsea uses for your program. This helps installers by +keeping all configuration in one place. + + To retrieve a value VAR from config files, the best way is to call +`kpathsea_var_value' on the string `VAR'. This will look first for an +environment variable VAR, then a config file value. The result will be +the value found or `NULL'. This function is declared in +`kpathsea/variable.h'. For an example, see the `shell_escape' code in +`web2c/lib/texmfmp.c'. + + The routine to do variable expansion in the context of a search path +(as opposed to simply retrieving a value) is `kpathsea_var_expand', also +declared in `kpathsea/variable.h'. It's generally only necessary to +set the search path structure components as explained in the previous +section, rather than using this yourself. + + If for some reason you want to retrieve a value _only_ from a config +file, not automatically looking for a corresponding environment +variable, call `kpathsea_cnf_get' (declared in `kpathsea/cnf.h') with +the string VAR. + + No initialization calls are needed. + + +File: kpathsea.info, Node: Index, Prev: Programming, Up: Top + +Index +***** + + +* Menu: + +* !! in path specifications: ls-R. (line 52) +* $ expansion: Variable expansion. (line 6) +* --all: Path searching options. + (line 12) +* --color=tty: ls-R. (line 21) +* --debug=NUM: Auxiliary tasks. (line 9) +* --disable-static: configure options. (line 31) +* --dpi=NUM: Path searching options. + (line 17) +* --enable options: configure options. (line 16) +* --enable-maintainer-mode: configure options. (line 34) +* --enable-shared <1>: Shared library. (line 6) +* --enable-shared: configure options. (line 27) +* --engine=NAME: Path searching options. + (line 22) +* --expand-braces=STRING: Auxiliary tasks. (line 16) +* --expand-path=STRING: Auxiliary tasks. (line 24) +* --expand-var=STRING: Auxiliary tasks. (line 19) +* --format=NAME: Path searching options. + (line 38) +* --help: Standard options. (line 8) +* --interactive: Path searching options. + (line 120) +* --mktex=FILETYPE: Path searching options. + (line 125) +* --mode=STRING: Path searching options. + (line 131) +* --must-exist: Path searching options. + (line 136) +* --no-mktex=FILETYPE: Path searching options. + (line 125) +* --path=STRING: Path searching options. + (line 141) +* --progname=NAME: Path searching options. + (line 150) +* --safe-in-name=NAME: Path searching options. + (line 156) +* --safe-out-name=NAME: Path searching options. + (line 156) +* --show-path=NAME: Auxiliary tasks. (line 41) +* --srcdir, for building multiple architectures: configure scenarios. + (line 18) +* --subdir=STRING: Path searching options. + (line 162) +* --var-value=VARIABLE: Auxiliary tasks. (line 12) +* --version: Standard options. (line 11) +* --with options: configure options. (line 16) +* --with-mktextex-default: mktex configuration. (line 12) +* --without-mktexfmt-default: mktex configuration. (line 12) +* --without-mktexmf-default: mktex configuration. (line 12) +* --without-mktexocp-default: mktex configuration. (line 12) +* --without-mktexofm-default: mktex configuration. (line 12) +* --without-mktexpk-default: mktex configuration. (line 12) +* --without-mktextfm-default: mktex configuration. (line 12) +* -1 debugging value: Debugging. (line 23) +* -A option to ls: ls-R. (line 33) +* -Bdynamic: ShellWidgetClass. (line 45) +* -Bstatic: ShellWidgetClass. (line 45) +* -D NUM: Path searching options. + (line 17) +* -dynamic: ShellWidgetClass. (line 43) +* -g, compiling without: configure scenarios. (line 32) +* -L option to ls: ls-R. (line 38) +* -O, compiling with: configure scenarios. (line 32) +* -static: ShellWidgetClass. (line 43) +* . directories, ignored: ls-R. (line 33) +* . files: ls-R. (line 33) +* .2602gf: Unable to generate fonts. + (line 36) +* .afm: Supported file formats. + (line 20) +* .base: Supported file formats. + (line 24) +* .bib: Supported file formats. + (line 28) +* .bst: Supported file formats. + (line 32) +* .cid: Supported file formats. + (line 58) +* .cmap: Supported file formats. + (line 36) +* .cnf: Supported file formats. + (line 39) +* .enc: Supported file formats. + (line 51) +* .eps: Supported file formats. + (line 69) +* .epsi: Supported file formats. + (line 69) +* .fea: Supported file formats. + (line 61) +* .fmt: Supported file formats. + (line 54) +* .ist: Supported file formats. + (line 74) +* .lig: Supported file formats. + (line 78) +* .map: Supported file formats. + (line 84) +* .mem: Supported file formats. + (line 87) +* .mf: Supported file formats. + (line 95) +* .mft: Supported file formats. + (line 103) +* .mlbib: Supported file formats. + (line 111) +* .mlbst: Supported file formats. + (line 115) +* .mp: Supported file formats. + (line 119) +* .ocp: Supported file formats. + (line 127) +* .ofm: Supported file formats. + (line 131) +* .opl: Supported file formats. + (line 138) +* .otp: Supported file formats. + (line 141) +* .ovf: Supported file formats. + (line 144) +* .ovp: Supported file formats. + (line 147) +* .pfa: Supported file formats. + (line 200) +* .pfb: Supported file formats. + (line 200) +* .pk: Supported file formats. + (line 154) +* .pool: Supported file formats. + (line 99) +* .pro: Supported file formats. + (line 160) +* .rhosts, writable by TeX: Security. (line 10) +* .sfd: Supported file formats. + (line 164) +* .tex: Supported file formats. + (line 167) +* .tex file, included in ls-R: ls-R. (line 33) +* .tfm: Supported file formats. + (line 187) +* .ttc: Supported file formats. + (line 196) +* .ttf: Supported file formats. + (line 196) +* .vf: Supported file formats. + (line 208) +* .w: Supported file formats. + (line 43) +* .web: Supported file formats. + (line 43) +* / may not be /: Searching overview. (line 13) +* /, trailing in home directory: Tilde expansion. (line 19) +* //: Subdirectory expansion. + (line 6) +* /afs/... , installing into: Installing files. (line 32) +* /etc/profile: Unable to find files. + (line 14) +* /etc/profile and aliases: ls-R. (line 21) +* /var/tmp/texfonts: mktex configuration. (line 114) +* 2602gf: Unable to generate fonts. + (line 36) +* 8.3 filenames, using: mktex configuration. (line 69) +* : may not be :: Searching overview. (line 13) +* :: expansion: Default expansion. (line 6) +* @VAR@ substitutions: Running configure. (line 6) +* \, line continuation in texmf.cnf: Config files. (line 37) +* \openin: Searching overview. (line 31) +* \special, suppressing warnings about: Suppressing warnings. + (line 31) +* absolute filenames: Searching overview. (line 52) +* ac_include, Autoconf extension: Running configure. (line 6) +* access warnings: Searching overview. (line 56) +* AFMFONTS: Supported file formats. + (line 20) +* AFS: Installing files. (line 32) +* AIX 4.1 configure error: Empty Makefiles. (line 6) +* AIX shells and configure: configure shells. (line 14) +* aliases for fonts: Fontmap. (line 6) +* aliases, for filenames: Filename aliases. (line 6) +* all: Suppressing warnings. + (line 13) +* all matches, finding: Path searching options. + (line 12) +* alphabetical order, not: Subdirectory expansion. + (line 6) +* Amiga support: Custom installation. (line 19) +* Andrew File System, installing with: Installing files. (line 32) +* announcement mailing list: Mailing lists. (line 6) +* ANSI C: TeX or Metafont failing. + (line 30) +* API, re-entrant: Programming overview. + (line 16) +* append-only directories and mktexpk: Security. (line 36) +* appendonlydir: mktex configuration. (line 61) +* architecture-(in)dependent files, installing only: Installing files. + (line 21) +* architectures, compiling multiple: configure scenarios. (line 18) +* arguments to mktex: mktex script arguments. + (line 6) +* argv[0]: Calling sequence. (line 14) +* ash, losing with configure: configure shells. (line 19) +* autoconf, recommended: Calling sequence. (line 119) +* automounter, and configuration: configure scenarios. (line 29) +* automounter, and ls-R: ls-R. (line 40) +* auxiliary tasks: Auxiliary tasks. (line 6) +* Babel <1>: Running make. (line 51) +* Babel: Kpathsea application distributions. + (line 28) +* Bach, Johann Sebastian: Default expansion. (line 41) +* backslash-newline: Config files. (line 37) +* bash, recommended for running configure: configure shells. (line 6) +* basic glyph lookup: Basic glyph lookup. (line 6) +* Berry, Karl: History. (line 12) +* BIBINPUTS: Supported file formats. + (line 28) +* blank lines, in texmf.cnf: Config files. (line 35) +* brace expansion: Brace expansion. (line 6) +* BSD universe: Running make. (line 44) +* bsh, ok with configure: configure shells. (line 14) +* BSTINPUTS: Supported file formats. + (line 32) +* bug address: Reporting bugs. (line 8) +* bug checklist: Bug checklist. (line 6) +* bug mailing list: Mailing lists. (line 6) +* bugs, reporting: Reporting bugs. (line 6) +* c-*.h: Calling sequence. (line 119) +* c-auto.h: Programming overview. + (line 33) +* c-auto.in: Running configure. (line 6) +* cache of fonts, local: Security. (line 22) +* calling sequence: Calling sequence. (line 6) +* CC: configure environment. + (line 10) +* cc warnings: Pointer combination warnings. + (line 6) +* cc, compiling with: configure environment. + (line 11) +* CFLAGS: configure environment. + (line 14) +* ChangeLog entry: Bug checklist. (line 55) +* checklist for bug reports: Bug checklist. (line 6) +* checksum: Suppressing warnings. + (line 16) +* circle fonts: Fontmap. (line 19) +* clean Make target: Cleaning up. (line 15) +* client_path in kpse->format_info: Calling sequence. (line 47) +* CMAPFONTS: Supported file formats. + (line 36) +* cmr10, as fallback font: Fallback font. (line 15) +* cmr10.vf: Searching overview. (line 31) +* cnf.c: Config files. (line 86) +* cnf.h: Programming with config files. + (line 23) +* code sharing: Shared library. (line 9) +* color printers, configuring: Simple installation. (line 60) +* comments, in fontmap files: Fontmap. (line 28) +* comments, in texmf.cnf: Config files. (line 27) +* comments, making: Introduction. (line 27) +* common features in glyph lookup: Basic glyph lookup. (line 6) +* common problems: Common problems. (line 6) +* comp.sys.sun.admin FAQ: ShellWidgetClass. (line 6) +* comp.text.tex: Mailing lists. (line 25) +* compilation: Installation. (line 6) +* compilation value, source for path: Path sources. (line 20) +* compiler bugs: TeX or Metafont failing. + (line 6) +* compiler bugs, finding: TeX or Metafont failing. + (line 24) +* compiler options, additional: Running make. (line 27) +* compiler options, specifying: configure environment. + (line 15) +* compiler, changing: Running make. (line 40) +* compiling on HP-UX: TeX or Metafont failing. + (line 30) +* conditions for use: Introduction. (line 31) +* config files: Config files. (line 6) +* config files, for Kpathsea-using programs: Calling sequence. + (line 47) +* config files, programming with: Programming with config files. + (line 6) +* config.h: Programming overview. + (line 33) +* config.log: Bug checklist. (line 27) +* config.ps: Specially-recognized files. + (line 16) +* config.ps, search path for: Supported file formats. + (line 47) +* config.status: Bug checklist. (line 30) +* configuration: Installation. (line 6) +* configuration bugs: Bug checklist. (line 30) +* configuration compiler options: configure environment. + (line 23) +* configuration file, source for path: Path sources. (line 17) +* configuration files as shell scripts.: Config files. (line 79) +* configuration of mktex scripts: mktex configuration. (line 6) +* configuration of optional features: configure options. (line 16) +* configure error from sed: Empty Makefiles. (line 6) +* configure options: configure options. (line 6) +* configure options for mktex scripts: mktex configuration. (line 12) +* configure, running: Running configure. (line 6) +* context diff: Bug checklist. (line 55) +* continuation character: Config files. (line 37) +* core dumps, reporting: Bug checklist. (line 61) +* CPPFLAGS: configure environment. + (line 22) +* crashes, reporting: Bug checklist. (line 61) +* custom installation: Custom installation. (line 6) +* CWEBINPUTS: Supported file formats. + (line 43) +* database search: Searching overview. (line 17) +* database, for filenames: Filename database. (line 6) +* database, format of: Database format. (line 6) +* debug.h: Debugging. (line 6) +* debugger: Bug checklist. (line 61) +* debugging: Debugging. (line 6) +* debugging options, in Kpathsea-using program: Calling sequence. + (line 39) +* debugging output: Debugging. (line 27) +* debugging with -g, disabling: configure scenarios. (line 32) +* DEC shells and configure: configure shells. (line 25) +* default expansion: Default expansion. (line 6) +* default path features: Default path features. + (line 6) +* default paths, changing: Default path generation. + (line 6) +* default paths, how they're made: Default path generation. + (line 12) +* default_texsizes: Fallback font. (line 6) +* DEFS: configure environment. + (line 31) +* depot: configure scenarios. (line 29) +* device, wrong: Unable to generate fonts. + (line 29) +* directories, changing default installation: Default path generation. + (line 6) +* directories, making append-only: mktex configuration. (line 62) +* directory permissions: Security. (line 51) +* directory structure, for TeX files: TeX directory structure. + (line 6) +* disabling mktex scripts: mktex configuration. (line 6) +* disk search: Searching overview. (line 22) +* disk searching, avoiding: ls-R. (line 52) +* disk space, needed: Disk space. (line 6) +* disk usage, reducing: Logging. (line 6) +* distclean Make target: Cleaning up. (line 6) +* distributions, compiling simultaneously: Kpathsea application distributions. + (line 6) +* distributions, not compiling: Kpathsea application distributions. + (line 6) +* dlclose: dlopen. (line 6) +* dlopen: dlopen. (line 6) +* dlsym: dlopen. (line 6) +* dlsym.c: dlopen. (line 21) +* doc files: Supported file formats. + (line 173) +* DOS compatible names: mktex configuration. (line 69) +* DOS support: Custom installation. (line 19) +* dosnames: mktex configuration. (line 68) +* dot files: ls-R. (line 33) +* doubled colons: Default expansion. (line 6) +* dpiNNN directories: mktex configuration. (line 69) +* DVI drivers: Kpathsea application distributions. + (line 12) +* DVILJMAKEPK: mktex script names. (line 32) +* DVILJSIZES: Fallback font. (line 6) +* dvipdfmx.cfg: Specially-recognized files. + (line 19) +* DVIPSFONTS: Supported file formats. + (line 243) +* DVIPSHEADERS: Supported file formats. + (line 200) +* DVIPSMAKEPK: mktex script names. (line 32) +* DVIPSSIZES: Fallback font. (line 6) +* dynamic creation of files: mktex scripts. (line 6) +* dynamic linking problems with OpenWin libraries: ShellWidgetClass. + (line 6) +* EC fonts, and dynamic source creation: mktex scripts. (line 6) +* elt-dirs.c: Subdirectory expansion. + (line 41) +* enabling mktex scripts: mktex configuration. (line 6) +* ENCFONTS: Supported file formats. + (line 51) +* engine name: Path searching options. + (line 22) +* environment variable, source for path: Path sources. (line 9) +* environment variables for TeX: Supported file formats. + (line 6) +* environment variables in paths: Variable expansion. (line 6) +* environment variables, old: Unable to find files. + (line 14) +* epoch, seconds since: Logging. (line 15) +* error message macros: Calling sequence. (line 22) +* excessive startup time: Slow path searching. (line 6) +* expand.c: Brace expansion. (line 26) +* expanding symlinks: Calling sequence. (line 31) +* expansion, default: Default expansion. (line 6) +* expansion, path element: Searching overview. (line 43) +* expansion, search path: Path expansion. (line 6) +* expansion, subdirectory: Subdirectory expansion. + (line 6) +* expansion, tilde: Tilde expansion. (line 6) +* expansion, variable: Variable expansion. (line 6) +* explicitly relative filenames: Searching overview. (line 52) +* extensions, filename: File lookup. (line 24) +* externally-built filename database: Filename database. (line 6) +* extra colons: Default expansion. (line 6) +* extraclean Make target: Cleaning up. (line 23) +* failed mktex... script invocation: mktex script names. (line 35) +* fallback font: Fallback font. (line 6) +* fallback resolutions: Fallback font. (line 6) +* fallback resolutions, overriding: Running make. (line 10) +* FAQ, comp.sys.sun.admin: ShellWidgetClass. (line 6) +* FAQ, Kpathsea: Common problems. (line 6) +* Farwell, Matthew: Subdirectory expansion. + (line 22) +* features, of default paths: Default path features. + (line 6) +* file formats, supported: Supported file formats. + (line 6) +* file lookup: File lookup. (line 6) +* file permissions: Security. (line 47) +* file types, registering new: Programming overview. + (line 39) +* filename aliases: Filename aliases. (line 6) +* filename database: Filename database. (line 6) +* filename database generation: Filename database generation. + (line 6) +* filenames, absolute or explicitly relative: Searching overview. + (line 52) +* files, unable to find: Unable to find files. + (line 6) +* filesystem search: Searching overview. (line 22) +* floating directories: Searching overview. (line 22) +* fmtutil: mktex script names. (line 10) +* fmtutil.cnf: Specially-recognized files. + (line 22) +* fmtutils.cnf: mktex configuration. (line 24) +* font alias files: Fontmap. (line 6) +* font generation failures: Unable to generate fonts. + (line 6) +* font of last resort: Fallback font. (line 6) +* font set, infinite: mktex scripts. (line 6) +* FONTCIDMAPS: Supported file formats. + (line 58) +* FONTFEATURES: Supported file formats. + (line 61) +* fontmap files: Fontmap. (line 6) +* fontmaps: mktex configuration. (line 87) +* fontname: mktex configuration. (line 88) +* fontnames, arbitrary length: Fontmap. (line 15) +* fonts, being created: Simple installation. (line 79) +* FOOINPUTS: Supported file formats. + (line 225) +* fopen, redefined: Debugging. (line 54) +* format of external database: Database format. (line 6) +* FreeBSD configure error: Empty Makefiles. (line 6) +* FreeBSD shells and configure: configure shells. (line 19) +* ftp.cs.stanford.edu: unixtex.ftp. (line 20) +* ftp.tug.org: unixtex.ftp. (line 6) +* fundamental purpose of Kpathsea: Introduction. (line 6) +* gcc, compiling with: configure environment. + (line 11) +* gdb, recommended: Bug checklist. (line 61) +* generation of filename database: Filename database generation. + (line 6) +* get_applicationShellWidgetClass: ShellWidgetClass. (line 6) +* get_wmShellWidgetClass: ShellWidgetClass. (line 6) +* gf: Supported file formats. + (line 65) +* GFFONTS: Supported file formats. + (line 65) +* globally writable directories: Security. (line 30) +* glyph lookup: Glyph lookup. (line 6) +* glyph lookup bitmap tolerance: Basic glyph lookup. (line 15) +* GLYPHFONTS: Supported file formats. + (line 65) +* glyphlist.txt: Specially-recognized files. + (line 25) +* GNU C compiler bugs: TeX or Metafont failing. + (line 19) +* GNU General Public License: Introduction. (line 31) +* group-writable directories: Security. (line 40) +* GSFTOPK_DEBUG (128): Debugging. (line 88) +* hash table buckets, printing: Debugging. (line 105) +* hash table routines: Calling sequence. (line 112) +* hash_summary_only variable for debugging: Debugging. (line 105) +* help, mailing list for general TeX: Mailing lists. (line 25) +* history of Kpathsea: History. (line 6) +* home directories in paths: Tilde expansion. (line 6) +* HOME, as ~ expansion: Tilde expansion. (line 6) +* HP-UX, compiling on: TeX or Metafont failing. + (line 30) +* identifiers, characters valid in: Config files. (line 47) +* illegal pointer combination warnings: Pointer combination warnings. + (line 6) +* include fontmap directive: Fontmap. (line 33) +* INDEXSTYLE: Supported file formats. + (line 74) +* info-tex@shsu.edu: Mailing lists. (line 25) +* input lines, reading: Calling sequence. (line 112) +* install-data Make target: Installing files. (line 28) +* install-exec Make target: Installing files. (line 23) +* installation: Installation. (line 6) +* installation testing: Installation testing. + (line 6) +* installation, architecture-(in)dependent files only: Installing files. + (line 21) +* installation, changing default directories: Default path generation. + (line 6) +* installation, customized: Custom installation. (line 6) +* installation, getting executables instead of: Simple installation. + (line 6) +* installation, simple: Simple installation. (line 6) +* installing files: Installing files. (line 6) +* interactive query: Path searching options. + (line 120) +* interface, not frozen: Introduction. (line 27) +* introduction: Introduction. (line 6) +* kdebug:: Debugging. (line 105) +* kdefault.c: Default expansion. (line 48) +* Knuth, Donald E.: History. (line 6) +* Knuth, Donald E., archive of programs by: unixtex.ftp. (line 20) +* Korn shell, losing with configure: configure shells. (line 14) +* kpathsae_var_value: Programming with config files. + (line 10) +* Kpathsea config file, source for path: Path sources. (line 17) +* Kpathsea version number: Kpathsea application distributions. + (line 6) +* kpathsea.h: Programming overview. + (line 24) +* kpathsea/README.CONFIGURE: Running configure. (line 15) +* kpathsea_cnf_get: Programming with config files. + (line 23) +* KPATHSEA_DEBUG <1>: Calling sequence. (line 28) +* KPATHSEA_DEBUG: Debugging. (line 18) +* kpathsea_find_file <1>: Calling sequence. (line 62) +* kpathsea_find_file: File lookup. (line 37) +* kpathsea_find_glyph: Glyph lookup. (line 26) +* kpathsea_finish: Calling sequence. (line 107) +* kpathsea_in_name_ok: Calling sequence. (line 102) +* kpathsea_init_prog <1>: Calling sequence. (line 53) +* kpathsea_init_prog: Fallback font. (line 15) +* kpathsea_new: Calling sequence. (line 9) +* kpathsea_open_file: Calling sequence. (line 74) +* kpathsea_out_name_ok: Calling sequence. (line 82) +* kpathsea_set_program_name: Calling sequence. (line 14) +* KPATHSEA_WARNING: Config files. (line 18) +* kpse->debug: Debugging. (line 6) +* kpse->debug variable: Calling sequence. (line 39) +* kpse->format_info: Calling sequence. (line 47) +* kpse->invocation_name: Calling sequence. (line 22) +* kpse->invocation_short_name: Calling sequence. (line 22) +* kpse->program_name: Calling sequence. (line 22) +* KPSE_BITMAP_TOLERANCE: Basic glyph lookup. (line 15) +* KPSE_DEBUG_EXPAND (16): Debugging. (line 68) +* KPSE_DEBUG_FOPEN (4): Debugging. (line 53) +* KPSE_DEBUG_HASH (2): Debugging. (line 46) +* KPSE_DEBUG_PATHS (8): Debugging. (line 60) +* KPSE_DEBUG_SEARCH (32): Debugging. (line 74) +* KPSE_DEBUG_STAT (1): Debugging. (line 38) +* KPSE_DEBUG_VARS (64): Debugging. (line 83) +* KPSE_DOT expansion: KPSE_DOT expansion. (line 6) +* kpse_format_info_type: Debugging. (line 61) +* kpse_init_prog, and MAKETEX_MODE: Default path features. + (line 25) +* kpsewhich: Invoking kpsewhich. (line 6) +* Kpsewhich, and debugging: Debugging. (line 31) +* ksh, losing with configure: configure shells. (line 14) +* LaserJet drive: Kpathsea application distributions. + (line 13) +* last-resort font: Fallback font. (line 6) +* LaTeX help mailing list: Mailing lists. (line 25) +* lcircle10: Fontmap. (line 19) +* LDFLAGS: configure environment. + (line 38) +* leading colons: Default expansion. (line 6) +* leaf directories wrongly guessed: Unable to find files. + (line 21) +* leaf directory trick: Subdirectory expansion. + (line 22) +* libdl.a: dlopen. (line 6) +* libraries, changing: Running make. (line 40) +* libraries, specifying additional: configure environment. + (line 43) +* LIBS: configure environment. + (line 42) +* libucb, avoiding: Running make. (line 44) +* license for using the library: Introduction. (line 31) +* LIGFONTS: Supported file formats. + (line 78) +* lines, reading arbitrary-length: Calling sequence. (line 112) +* Linux File System Standard: mktex configuration. (line 114) +* Linux shells and configure: configure shells. (line 19) +* lndir for building symlink trees: configure scenarios. (line 18) +* loader options: configure environment. + (line 39) +* loader options, final: Running make. (line 33) +* loader options, initial: Running make. (line 30) +* local cache of fonts: Security. (line 22) +* log file: Logging. (line 6) +* logging successful searches: Logging. (line 6) +* lost+found directory: Searching overview. (line 56) +* lostchar: Suppressing warnings. + (line 19) +* ls-R: Supported file formats. + (line 81) +* ls-R and AFS: Installing files. (line 40) +* ls-R database file: ls-R. (line 6) +* ls-R, simplest build: ls-R. (line 18) +* Mach10 configure error: Empty Makefiles. (line 6) +* MacKenzie, David <1>: Subdirectory expansion. + (line 22) +* MacKenzie, David: History. (line 45) +* magic characters: Searching overview. (line 13) +* mailing lists: Mailing lists. (line 6) +* maintainer-clean Make target: Cleaning up. (line 18) +* Make arguments, additional: Running make. (line 36) +* make, running: Running make. (line 6) +* Makefile.in: Running configure. (line 6) +* Makefiles, empty: Empty Makefiles. (line 6) +* MAKETEX_DEBUG (512): Debugging. (line 91) +* MAKETEX_FINE_DEBUG (1024): Debugging. (line 100) +* MAKETEX_MODE: Default path features. + (line 19) +* memory allocation routines: Calling sequence. (line 112) +* metafont driver files: mktex configuration. (line 94) +* Metafont failures: TeX or Metafont failing. + (line 6) +* Metafont installation: Unable to generate fonts. + (line 52) +* Metafont making too-large fonts: Unable to generate fonts. + (line 36) +* Metafont using the wrong device: Unable to generate fonts. + (line 29) +* MFBASES: Supported file formats. + (line 24) +* MFINPUTS: Supported file formats. + (line 95) +* MFPOOL: Supported file formats. + (line 99) +* MFTINPUTS: Supported file formats. + (line 103) +* MISCFONTS: Supported file formats. + (line 107) +* mismatched checksum warnings: Suppressing warnings. + (line 17) +* missfont.log: mktex script names. (line 35) +* MISSFONT_LOG: mktex script names. (line 40) +* missing character warnings: Suppressing warnings. + (line 20) +* mkocp: mktex script names. (line 18) +* mkofm: mktex script names. (line 21) +* mktex script configuration: mktex configuration. (line 6) +* mktex script names: mktex script names. (line 6) +* mktex scripts: mktex scripts. (line 6) +* mktex.cnf <1>: Specially-recognized files. + (line 28) +* mktex.cnf: mktex configuration. (line 29) +* mktex.opt: mktex configuration. (line 29) +* mktexdir: mktex configuration. (line 62) +* mktexfmt: mktex script names. (line 10) +* mktexmf: mktex script names. (line 15) +* mktexpk: mktex script names. (line 24) +* mktexpk , initial runs: Simple installation. (line 79) +* mktexpk can't guess mode: Unable to generate fonts. + (line 12) +* mktextex: mktex script names. (line 27) +* mktextfm: mktex script names. (line 30) +* MLBIBINPUTS: Supported file formats. + (line 111) +* MLBSTINPUTS: Supported file formats. + (line 115) +* mode directory, omitting: mktex configuration. (line 99) +* Morgan, Tim: History. (line 12) +* mostlyclean Make target: Cleaning up. (line 10) +* MPINPUTS: Supported file formats. + (line 119) +* MPMEMS: Supported file formats. + (line 87) +* MPPOOL: Supported file formats. + (line 123) +* MPSUPPORT: Supported file formats. + (line 91) +* MT_FEATURES: mktex configuration. (line 40) +* multiple architectures, compiling on: configure scenarios. (line 18) +* multiple architectures, directories for: configure scenarios. + (line 23) +* multiple architectures, installing on: Installing files. (line 21) +* multiple TeX hierarchies: Brace expansion. (line 20) +* must exist: Searching overview. (line 31) +* names for mktex scripts: mktex script names. (line 6) +* NetBSD configure error: Empty Makefiles. (line 6) +* NetBSD shells and configure: configure shells. (line 19) +* Neumann, Gustaf: History. (line 57) +* newsgroup for TeX: Mailing lists. (line 25) +* NeXT sed error: Empty Makefiles. (line 6) +* NeXT, lacking X11: Kpathsea application distributions. + (line 6) +* NFS and ls-R: ls-R. (line 40) +* nomfdrivers: mktex configuration. (line 93) +* nomode: mktex configuration. (line 98) +* non-English typesetting: Kpathsea application distributions. + (line 28) +* non-Unix operating systems: Custom installation. (line 19) +* none: Suppressing warnings. + (line 23) +* null pointers, dereferencing: Bug checklist. (line 61) +* numeric debugging values: Debugging. (line 34) +* obtaining TeX: unixtex.ftp. (line 6) +* OCPINPUTS: Supported file formats. + (line 127) +* OFMFONTS: Supported file formats. + (line 131) +* online Metafont display, spurious: Unable to generate fonts. + (line 36) +* OPENTYPEFONTS: Supported file formats. + (line 135) +* OpenWin libraries, dynamic linking problems: ShellWidgetClass. + (line 6) +* optimization caveat: TeX or Metafont failing. + (line 15) +* optimization, enabling: configure scenarios. (line 32) +* options for debugging: Debugging. (line 6) +* options to configure: configure options. (line 16) +* OS/2 support: Custom installation. (line 19) +* OTPINPUTS: Supported file formats. + (line 141) +* overview of path searching: Searching overview. (line 6) +* overview of programming with Kpathsea: Programming overview. + (line 6) +* OVFFONTS: Supported file formats. + (line 144) +* OVPFONTS: Supported file formats. + (line 147) +* patches, Sun OpenWin: ShellWidgetClass. (line 29) +* path expansion: Path expansion. (line 6) +* path searching: Path searching. (line 6) +* path searching options: Path searching options. + (line 6) +* path searching, overview: Searching overview. (line 6) +* path searching, standalone: Invoking kpsewhich. (line 6) +* path sources: Path sources. (line 6) +* paths, changing default <1>: Default path generation. + (line 6) +* paths, changing default: Changing search paths. + (line 6) +* paths, device name included in: Default path features. + (line 19) +* paths.h: Default path generation. + (line 27) +* paths.h, creating: Running make. (line 6) +* pathsearch.h: Programming overview. + (line 24) +* pc Pascal compiler: History. (line 12) +* PCL driver: Kpathsea application distributions. + (line 13) +* PDF generation: Kpathsea application distributions. + (line 16) +* pdfglyphlist.txt: Specially-recognized files. + (line 31) +* pdftex.cfg: Specially-recognized files. + (line 34) +* PDFTEXCONFIG: Supported file formats. + (line 151) +* pdftexconfig.tex: Specially-recognized files. + (line 34) +* permission denied: Searching overview. (line 56) +* permissions, directory: Security. (line 51) +* permissions, file: Security. (line 47) +* PKFONTS: Supported file formats. + (line 154) +* plain.base: Unable to generate fonts. + (line 46) +* pointer combination warnings: Pointer combination warnings. + (line 6) +* PostScript driver: Kpathsea application distributions. + (line 16) +* PostScript fonts, additional: Simple installation. (line 60) +* precompiled executables, instead of installation: Simple installation. + (line 6) +* preprocessor options: configure environment. + (line 32) +* preprocessor options, additional: Running make. (line 24) +* printer configuration files: Simple installation. (line 60) +* privacy, semblance of: Logging. (line 32) +* problems, common: Common problems. (line 6) +* proginit.c: Default path features. + (line 25) +* proginit.h: Calling sequence. (line 53) +* program-varying paths: Supported file formats. + (line 12) +* programming overview: Programming overview. + (line 6) +* programming with config files: Programming with config files. + (line 6) +* programming with Kpathsea: Calling sequence. (line 6) +* programs using the library: Introduction. (line 13) +* proof mode: Unable to generate fonts. + (line 36) +* PSHEADERS: Supported file formats. + (line 160) +* pxp Pascal preprocessor: History. (line 12) +* quoting variable values: Variable expansion. (line 17) +* re-entrant API: Programming overview. + (line 16) +* readable: Suppressing warnings. + (line 26) +* reading arbitrary-length lines: Calling sequence. (line 112) +* README.CONFIGURE: Running configure. (line 15) +* recording successful searches: Logging. (line 6) +* relative filenames: Searching overview. (line 52) +* relative filenames in ls-R: Installing files. (line 40) +* reporting bugs: Reporting bugs. (line 6) +* resident.c: Calling sequence. (line 47) +* resolution, setting: Path searching options. + (line 17) +* resolutions, last-resort: Fallback font. (line 6) +* retrieving TeX: unixtex.ftp. (line 6) +* right-hand side of variable assignments: Config files. (line 56) +* Rokicki, Tom: History. (line 12) +* root user: Tilde expansion. (line 19) +* runtime configuration files: Config files. (line 6) +* runtime debugging: Debugging. (line 6) +* Sauter fonts, and dynamic source creation: mktex scripts. (line 6) +* scripts for file creation: mktex scripts. (line 6) +* search path, defined: Searching overview. (line 6) +* search paths, changing default: Changing search paths. + (line 6) +* searching for files: File lookup. (line 6) +* searching for glyphs: Glyph lookup. (line 6) +* searching overview: Searching overview. (line 6) +* searching the database: Searching overview. (line 17) +* searching the disk: Searching overview. (line 22) +* security considerations: Security. (line 6) +* sed error from configure: Empty Makefiles. (line 6) +* SELFAUTODIR: Calling sequence. (line 31) +* SELFAUTOLOC: Calling sequence. (line 31) +* SELFAUTOPARENT: Calling sequence. (line 31) +* sending patches: Bug checklist. (line 55) +* setgid scripts: Security. (line 40) +* SFDFONTS: Supported file formats. + (line 164) +* sh5, ok with configure: configure shells. (line 25) +* shared library, making: Shared library. (line 6) +* shell scripts as configuration files: Config files. (line 79) +* shell variables: Variable expansion. (line 17) +* shell_escape, example for code: Programming with config files. + (line 10) +* shells and configure: configure shells. (line 6) +* simple installation: Simple installation. (line 6) +* site overrides for mktex...: mktex configuration. (line 29) +* size of distribution archives: Disk space. (line 6) +* skeleton TeX directory: TeX directory structure. + (line 6) +* slow startup time: Slow path searching. (line 6) +* Solaris BSD compatibility, not: Running make. (line 44) +* source files: Supported file formats. + (line 176) +* sources for search paths: Path sources. (line 6) +* special: Suppressing warnings. + (line 30) +* st_nlink: Subdirectory expansion. + (line 26) +* ST_NLINK_TRICK: Subdirectory expansion. + (line 38) +* stack trace: Bug checklist. (line 61) +* standalone path searching: Invoking kpsewhich. (line 6) +* standard error and debugging output: Debugging. (line 27) +* standard options: Standard options. (line 6) +* startup time, excessive: Slow path searching. (line 6) +* static linking: ShellWidgetClass. (line 39) +* static linking and dlsym: dlopen. (line 6) +* string routines: Calling sequence. (line 112) +* strip: mktex configuration. (line 108) +* stripsupplier: mktex configuration. (line 102) +* striptypeface: mktex configuration. (line 105) +* subdirectory searching: Subdirectory expansion. + (line 6) +* suffixes, filename: File lookup. (line 24) +* suggestions, making: Introduction. (line 27) +* Sun 2: History. (line 12) +* Sun OpenWin patches: ShellWidgetClass. (line 29) +* supplier directory, omitting: mktex configuration. (line 103) +* supported file formats: Supported file formats. + (line 6) +* suppressing warnings: Suppressing warnings. + (line 6) +* symbolic link trees, for multiple architectures: configure scenarios. + (line 18) +* symbolic links not found: Unable to find files. + (line 21) +* symbolic links, and ls-R: ls-R. (line 38) +* symlinks, resolving: Calling sequence. (line 31) +* system C compiler bugs: TeX or Metafont failing. + (line 19) +* system dependencies: Running configure. (line 6) +* system V universe: Running make. (line 44) +* T1FONTS: Supported file formats. + (line 200) +* T1INPUTS: Supported file formats. + (line 200) +* T42FONTS: Supported file formats. + (line 205) +* tcfmgr.map: Specially-recognized files. + (line 47) +* TDS <1>: TeX directory structure. + (line 6) +* TDS: Default path features. + (line 41) +* testing, post-installation: Installation testing. + (line 6) +* tests, simple: Simple installation. (line 79) +* TeX directory structure <1>: TeX directory structure. + (line 6) +* TeX directory structure: Default path features. + (line 41) +* TeX environment variables: Supported file formats. + (line 6) +* TeX failures: TeX or Metafont failing. + (line 6) +* TeX file lookup: File lookup. (line 6) +* TeX glyph lookup: Glyph lookup. (line 6) +* TeX help mailing list: Mailing lists. (line 25) +* TeX hierarchy, one: configure scenarios. (line 13) +* TeX support: TeX support. (line 6) +* TeX Users Group: Introduction. (line 39) +* tex-file.c: File lookup. (line 37) +* tex-file.h: Programming overview. + (line 24) +* tex-glyph.c: Glyph lookup. (line 26) +* tex-glyph.h: Programming overview. + (line 24) +* tex-k-request@tug.org: Mailing lists. (line 7) +* tex-k@tug.org (bug address): Reporting bugs. (line 8) +* tex.web: unixtex.ftp. (line 20) +* TEX_HUSH <1>: Suppressing warnings. + (line 6) +* TEX_HUSH: Searching overview. (line 56) +* TEXBIB: Supported file formats. + (line 28) +* TEXCONFIG: Supported file formats. + (line 47) +* TEXDOCS: Supported file formats. + (line 173) +* TEXFONTMAPS: Supported file formats. + (line 84) +* TEXFONTS: Supported file formats. + (line 65) +* texfonts.map: Fontmap. (line 6) +* TEXFORMATS: Supported file formats. + (line 54) +* TEXINDEXSTYLE: Supported file formats. + (line 74) +* TEXINPUTS: Supported file formats. + (line 69) +* TEXMF: TeX directory structure. + (line 6) +* texmf.cnf: Specially-recognized files. + (line 38) +* texmf.cnf missing, warning about: Config files. (line 18) +* texmf.cnf, and variable expansion: Variable expansion. (line 6) +* texmf.cnf, creating: Running make. (line 6) +* texmf.cnf, definition for: Config files. (line 6) +* texmf.cnf, generated: Default path generation. + (line 22) +* texmf.cnf, source for path: Path sources. (line 17) +* texmf.in: Default path generation. + (line 22) +* texmf.in, editing: Changing search paths. + (line 6) +* texmf.sed: Default path generation. + (line 17) +* TEXMFCNF <1>: Supported file formats. + (line 39) +* TEXMFCNF: Config files. (line 6) +* TEXMFDBS <1>: Supported file formats. + (line 81) +* TEXMFDBS: ls-R. (line 6) +* TEXMFINI: Supported file formats. + (line 24) +* TEXMFLOG: Logging. (line 10) +* TEXMFOUTPUT: mktex script names. (line 40) +* TEXMFSCRIPTS: Supported file formats. + (line 179) +* TEXMFVAR: mktex configuration. (line 124) +* texmfvar: mktex configuration. (line 123) +* TEXPICTS: Supported file formats. + (line 69) +* TEXPKS: Supported file formats. + (line 154) +* TEXPOOL: Supported file formats. + (line 183) +* TEXPSHEADERS: Supported file formats. + (line 160) +* TEXSIZES: Fallback font. (line 6) +* TEXSOURCES: Supported file formats. + (line 176) +* TFMFONTS: Supported file formats. + (line 187) +* tilde expansion: Tilde expansion. (line 6) +* tilde.c: Tilde expansion. (line 25) +* time system call: Logging. (line 15) +* tolerance for glyph lookup: Basic glyph lookup. (line 15) +* total disk space: Disk space. (line 6) +* trailing / in home directory: Tilde expansion. (line 19) +* trailing colons: Default expansion. (line 6) +* TRFONTS: Supported file formats. + (line 192) +* trick for detecting leaf directories: Subdirectory expansion. + (line 22) +* trojan horse attack: Security. (line 10) +* try_std_extension_first: File lookup. (line 24) +* TTFONTS: Supported file formats. + (line 196) +* tug.org: unixtex.ftp. (line 6) +* typeface directory, omitting: mktex configuration. (line 106) +* ucbinclude, avoiding: Running make. (line 44) +* Ultrix shells and configure: configure shells. (line 25) +* unable to find files: Unable to find files. + (line 6) +* unable to generate fonts: Unable to generate fonts. + (line 6) +* uname: Bug checklist. (line 20) +* universe, BSD vs. system V: Running make. (line 44) +* unixtex.ftp: unixtex.ftp. (line 6) +* unknown special warnings: Suppressing warnings. + (line 31) +* unreadable file warnings: Suppressing warnings. + (line 27) +* unreadable files: Searching overview. (line 56) +* unusable ls-R warning: ls-R. (line 45) +* usage patterns, finding: Logging. (line 6) +* USE_TEXMFVAR: mktex configuration. (line 129) +* USE_VARTEXFONTS: mktex configuration. (line 119) +* Usenet TeX newsgroup: Mailing lists. (line 25) +* USERPROFILE, as ~ expansion: Tilde expansion. (line 6) +* varfonts: mktex configuration. (line 113) +* variable expansion: Variable expansion. (line 6) +* variable.c: Variable expansion. (line 32) +* variable.h: Programming with config files. + (line 10) +* VARTEXFONTS: mktex configuration. (line 114) +* VAX 11/750: History. (line 12) +* version number, of Kpathsea: Kpathsea application distributions. + (line 6) +* version numbers, determining: Bug checklist. (line 15) +* VF files, not found: Searching overview. (line 31) +* VFFONTS: Supported file formats. + (line 208) +* VMS support: Custom installation. (line 19) +* Vojta, Paul: History. (line 30) +* Walsh, Norman: History. (line 57) +* warning about unusable ls-R: ls-R. (line 45) +* warning, about missing texmf.cnf: Config files. (line 18) +* warnings, file access: Searching overview. (line 56) +* warnings, pointer combinations: Pointer combination warnings. + (line 6) +* warnings, suppressing: Suppressing warnings. + (line 6) +* wcstombs: dlopen. (line 6) +* WEB2C: Supported file formats. + (line 216) +* Weber, Olaf: History. (line 74) +* WEBINPUTS: Supported file formats. + (line 212) +* whitespace, in fontmap files: Fontmap. (line 28) +* whitespace, not ignored on continuation lines: Config files. + (line 37) +* www.tug.org: unixtex.ftp. (line 6) +* X11 previewer: Kpathsea application distributions. + (line 25) +* X11, lacking on NeXT: Kpathsea application distributions. + (line 6) +* XCFLAGS: Running make. (line 26) +* XCPPFLAGS: Running make. (line 22) +* XDEFS: Running make. (line 23) +* XDvi: Specially-recognized files. + (line 41) +* XDVIFONTS: Supported file formats. + (line 243) +* XDVIMAKEPK: mktex script names. (line 32) +* XDVISIZES: Fallback font. (line 6) +* XLDFLAGS: Running make. (line 29) +* XLOADLIBES: Running make. (line 32) +* XMAKEARGS: Running make. (line 35) +* Xmu library problems: ShellWidgetClass. (line 13) +* XtStrings: XtStrings. (line 6) +* zuhn, david: History. (line 51) +* { expansion: Brace expansion. (line 6) +* ~ expansion: Tilde expansion. (line 6) + + + +Tag Table: +Node: Top1627 +Node: Introduction2269 +Node: History4090 +Node: Installation8182 +Node: Simple installation8972 +Node: Custom installation12555 +Node: Disk space13729 +Node: Kpathsea application distributions14613 +Node: Changing search paths15728 +Node: Default path features16910 +Node: Default path generation18993 +Node: Running configure20436 +Node: configure shells21487 +Node: configure options22539 +Node: configure environment24046 +Node: configure scenarios25848 +Node: Shared library27434 +Node: Running make28448 +Node: Installing files30495 +Node: Cleaning up32442 +Node: Filename database generation33490 +Node: mktex scripts34057 +Node: mktex configuration35334 +Node: mktex script names41153 +Node: mktex script arguments42544 +Node: Installation testing43430 +Node: Security43794 +Node: TeX directory structure46361 +Node: unixtex.ftp50783 +Node: Reporting bugs52117 +Node: Bug checklist52852 +Node: Mailing lists56549 +Node: Debugging57758 +Node: Logging62836 +Node: Common problems64706 +Node: Unable to find files65537 +Node: Slow path searching67948 +Node: Unable to generate fonts69325 +Node: TeX or Metafont failing71834 +Node: Empty Makefiles73713 +Node: XtStrings74950 +Node: dlopen75786 +Node: ShellWidgetClass76604 +Node: Pointer combination warnings78236 +Node: Path searching78625 +Node: Searching overview79272 +Node: Path sources82668 +Node: Config files83739 +Node: Path expansion87666 +Node: Default expansion88615 +Node: Variable expansion90685 +Node: Tilde expansion92088 +Node: Brace expansion93068 +Node: KPSE_DOT expansion93993 +Node: Subdirectory expansion94506 +Node: Filename database96857 +Node: ls-R97911 +Node: Filename aliases100805 +Node: Database format101983 +Node: Invoking kpsewhich102996 +Node: Path searching options103942 +Node: Specially-recognized files112159 +Node: Auxiliary tasks113515 +Node: Standard options115340 +Node: TeX support115696 +Node: Supported file formats116987 +Node: File lookup124541 +Node: Glyph lookup126290 +Node: Basic glyph lookup127414 +Node: Fontmap128293 +Node: Fallback font130910 +Node: Suppressing warnings131823 +Node: Programming132928 +Node: Programming overview133441 +Node: Calling sequence136135 +Node: Program-specific files142658 +Node: Programming with config files143681 +Node: Index144993 + +End Tag Table diff --git a/Master/texmf-dist/doc/info/latex2e-es.info b/Master/texmf-dist/doc/info/latex2e-es.info new file mode 100644 index 00000000000..d6a5b3440d9 --- /dev/null +++ b/Master/texmf-dist/doc/info/latex2e-es.info @@ -0,0 +1,8019 @@ +This is latex2e-es.info, produced by makeinfo version 4.13 from +latex2e-es.texi. + +Este documento es un manual de referencia extraoficial para LaTeX, un +sistema de preparación de documentos, para la versión de Julio 2010. + + Esto se tradujo originalmente del archivo `LATEX.HLP' v1.0a de la +Biblioteca de Ayuda VMS. La versión pretraducción fue escrita por +George D. Greenwade de Sam Houston State University. La versión de +LaTeX 2.09 fue escrita por Stephen Gilmore. La versión de LaTeX2e fue +adaptada por Torsten Martinsen. Karl Berry hizo la actualización y +posteriores adiciones, y reconoce su agradecimiento a la utilización de +`Hypertext Help con LaTeX', por Sheldon Green, y el `LaTeX Command +Summary' (para LaTeX 2.09) por L. Botway y C. Biemesderfer (publicada +por el Grupo de Usuarios TeX como `TeXniques' número 10), como material +de referencia (no se copió texto directamente). + + Copyright © 2010 Nacho Pacheco —Traducción. +Copyright © 2007, 2008, 2009, 2010 Karl Berry. +Copyright © 1988, 1994, 2007 Stephen Gilmore. +Copyright © 1994, 1995, 1996 Torsten Martinsen. + + Se concede permiso para hacer y distribuir copias literales de este +manual siempre que el aviso de copyright y esta nota de permiso se +conserven en todas las copias. + + Se concede permiso para copiar y distribuir versiones modificadas de +este manual bajo las condiciones para una copia literal, a condición de +que todo el trabajo derivado resultante se distribuya bajo los términos +de una nota de permiso idéntica a ésta. + + Se concede permiso para copiar y distribuir traducciones de este +manual a otro idioma, con las condiciones anteriores para versiones +modificadas. + +INFO-DIR-SECTION TeX +START-INFO-DIR-ENTRY +* LaTeX2e-es: (latex2e-es). Manual de extraoficial de LaTeX. +END-INFO-DIR-ENTRY + + +File: latex2e-es.info, Node: Top, Next: Descripción, Up: (dir) + +LaTeX2e +******* + +Este documento es un manual de referencia extraoficial para LaTeX, un +sistema de preparación de documentos, versión Julio 2010. Este se +pretende que cubra LaTeX2e, que ha sido la versión estándar de LaTeX por +muchos años. + + LaTeX está implementado como un paquete de macros por Donald E. +Knuth's para el programa de composición tipográfica TeX. LaTeX +originalmente fue creado por Leslie Lamport; este ahora es mantenido por +un grupo de voluntarios en (`http://latex-project.org'). La +documentación oficial escrita por el proyecto LaTeX está disponible +allÃ. Una vez más, el presente documento no es oficial y no ha sido +revisado por los responsables del proyecto LaTeX. + +* Menu: + +* Descripción:: ¿Qués es LaTeX? +* Iniciando y Finalizando:: El principio y final estándar de un documento. +* Clases de Documento:: Algunas de las diferentes clases disponibles. +* Tipos de Letra:: Y tipos de letra, como negrita, cursiva, etc. +* Diseño:: Controlando el diseño de la página. +* Seccionado:: Cómo seccionar adecuadamente. +* Referencias Cruzadas:: Referencias automáticas. +* Entornos:: Tal como enumerate e itemize. +* Saltos de LÃnea:: Influyendo en los saltos de lÃnea. +* Saltos de Página:: Influyendo en los saltos de página. +* Notas al Pie:: Cómo producir notas al pie. +* Definiciones:: Definiendo sus propias instrucciones, etc. +* Contadores:: Contadores internos utilizados por LaTeX. +* Longitudes:: Las instrucciones de longitud. +* Haciendo Párrafos:: Instrucciones de Párrafo. +* Fórmulas Matemáticas:: Cómo crear fórmulas matemáticas. +* Modos:: Modos Párrafo, Matemáticas o de Escritura de Izquierda a Derecha. +* Estilos de Página:: Varios estilos de diseño de página. +* Espacios:: Espacio horizontal y vertical. +* Cajas:: Haciendo cajas. +* Inserciones Especiales:: Insertando caracteres reservados y especiales. +* Dividiendo la Entrada:: Manejo de archivos de gran tamaño mediante su fraccionamiento. +* Asuntos de Portada/Contraportada:: Tablas de contenido, glosarios, Ãndices. +* Cartas:: La clase letter. +* Entrada/Salida a la Terminal:: Interacción del usuario. +* LÃnea de Órdenes:: Comportamiento independiente del sistema de la lÃnea de órdenes. +* Plantillas de Documento:: Principales plantillas para diversas clases de documento. +* Ãndice de Conceptos:: Ãndice general. +* Ãndice de Instrucciones:: Lista alfabética de instrucciones LaTeX. + + +File: latex2e-es.info, Node: Descripción, Next: Iniciando y Finalizando, Prev: Top, Up: Top + +1 Descripción de LaTeX +********************** + +Las instrucciones LaTeX componen tipográficamente un archivo de texto +usando el programa TeX y el “paquete de macros†LaTeX para TeX. Para +ser más especÃficos, este procesa un archivo de entrada que contiene el +texto de un documento con instrucciones intercaladas que describen cómo +se debe dar formato al texto. Este produce al menos tres archivos de +salida: + + 1. Un archivo de salida principal, que es uno de: + + 1. Si se invoca como `latex', un archivo “independiente del + dispositivo†(`.dvi'). Este contiene las instrucciones que se + pueden traducir en órdenes para una variedad de dispositivos + de salida. Usted puede ver estos archivos `.dvi' producidos + por LaTeX utilizando un programa como `xdvi' (visualización + directa) o `dvips' (los convierte a PostScript). + + 2. Si es invocado como `pdflatex', produce un archivo de + “Documento de Formato Portátil†(`.pdf'). Normalmente, este + es un archivo autocontenido, con todos los tipos de letra e + imágenes incrustadas. Este puede ser muy útil, pero hace que + produzca un archivo mucho más grande que el `.dvi' producido a + partir del mismo documento. + + Existen otras variantes menos comunes de LaTeX (y TeX), de modo que + puede producir HTML, XML y otras cosas. + + 2. Un archivo de“transcripción†o `.log' que contiene información + resumida y mensajes de diagnóstico para cualquier error descubierto + en el archivo de entrada. + + 3. Un archivo “auxiliar†o `.aux'. Este es usado por LaTeX mismo, para + diversas cosas como el seccionado. + + Una instrucción LaTeX comienza con el nombre de la instrucción, la +cual consiste de una `\' seguida por o bien (a) una cadena de letras o +(b) un único carácter no letra. Los argumentos que figuran entre +corchetes, `[]', son opcionales, mientras que los argumentos contenidos +entre llaves, `{}', son obligatorios. + + LaTeX es sensible a mayúsculas y minúsculas. Ingrese todas las +instrucciones en minúsculas a menos que explÃcitamente se diga otra +cosa. + + +File: latex2e-es.info, Node: Iniciando y Finalizando, Next: Clases de Documento, Prev: Descripción, Up: Top + +2 Iniciando y Finalizando +************************* + +Un archivo de entrada mÃnimo tiene el siguiente aspecto: + + \documentclass{clase} + \begin{document} + su texto + \end{document} + +donde clase es una clase de documento válida para LaTeX. *Note Clases +de Documento::, para detalles de varias clases de documento disponibles +localmente. + + Usted puede incluir otras instrucciones LaTeX entre las instrucciones +`\documentclass' y `\begin{document}' (esta área se llama el +"preámbulo"). + + +File: latex2e-es.info, Node: Clases de Documento, Next: Tipos de Letra, Prev: Iniciando y Finalizando, Up: Top + +3 Clases de Documento +********************* + +La clase de un determinado documento se define con la instrucción: + + \documentclass[opciones]{clase} + +La instrucción `\documentclass' debe ser la primer instrucción en un +archivo fuente LaTeX. + + Los nombres integrados de clases de documento LaTeX (muchas otras +clases de documento están disponibles como complementos; *note +Descripción::): + + article report book letter slides + + Las opciones estándar están descritas más adelante. + +* Menu: + +* Opciones de Clase de Documento:: Opciones globales. + + +File: latex2e-es.info, Node: Opciones de Clase de Documento, Up: Clases de Documento + +3.1 Opciones de Clase de Documento +================================== + +Usted puede especificar las asà llamadas "opciones globales" u "opciones +de clase" en la instrucción `\documentclass' encerrándolas entre +corchetes de la manera usual. Para especificar más de una opción, +deberá separarlas con una coma: + + \documentclass[opción1,opción2,...]{clase} + + Esta es la lista de las opciones de clase estándar. + + Todas las clases estándar salvo `slides' aceptan las siguientes +opciones para seleccionar el tamaño del tipo de letra (el predeterminado +es `10pt'): + + 10pt 11pt 12pt + + Todas las clases estándar aceptan estas opciones para seleccionar el +tamaño del papel (el predeterminado es `letterpaper'): + + a4paper a5paper b5paper executivepaper legalpaper letterpaper + + Otras opciones diversas: + +`draft, final' + marca/no marca el desbordamiento de cajas con una gran caja negra; + el predeterminado es `final'. + +`fleqn' + Coloca las fórmulas mostradas alineadas a la izquierda; el + predeterminado es centrado. + +`landscape' + Selecciona el formato apaisado; el predeterminado es vertical. + +`leqno' + Coloca los números de ecuación en el lado izquierdo de las + ecuaciones; el predeterminado es el lado derecho. + +`openbib' + Usa el formato de bibliografÃa “abiertoâ€. + +`titlepage, notitlepage' + Especifica si la página de tÃtulo es independiente; de manera + predeterminada depende de la clase. + + Estas opciones no están disponibles con la clase slides: + +`onecolumn' +`twocolumn' + Composición tipográfica en una o dos columnas; el predeterminado es + `onecolumn'. + +`oneside' +`twoside' + Selecciona el diseño de una o dos caras; el predeterminado es + `oneside', excepto para la clase `book'. + + El parámetro `\evensidemargin' (`\oddsidemargin' determina la + distancia en páginas par (impar) numeradas entre el lado izquierdo + de la página y el margen excedente del texto. Los valores + predeterminados varÃan con el tamaño del papel y si el diseño + seleccionado es de uno o dos lados. Para imprimir texto en un lado + es centrado, para dos lados, `\oddsidemargin' es 40% de la + diferencia entre `\paperwidth' y `\textwidth' con el resto de + `\evensidemargin'. + +`openright' +`openany' + Determina si un capÃtulo debe iniciar en una página del lado + derecho; para book, el predeterminado es `openright'. + + La clase `slides' ofrece la opción `clock' para imprimir la hora en +la parte inferior de cada nota. + + Los paquetes adicionales se cargan de la siguiente manera: + + \usepackage[opciones]{paquete} + + Para especificar más de un paquete, usted puede separarlos con una +coma, o utilizar múltiples instrucciones`\usepackage'. + + Cualquiera de las opciones que figuran en la instrucción +`\documentclass' que no son conocidas por la clase de documento +seleccionada son transmitidas a los paquetes cargados con `\usepackage'. + + +File: latex2e-es.info, Node: Tipos de Letra, Next: Diseño, Prev: Clases de Documento, Up: Top + +4 Tipos de Letra +**************** + +Dos aspectos importantes de la selección de un "tipo de letra" son la +especificación del tamaño y el estilo. Las instrucciones LaTeX para +hacer esto se describen a continuación. + +* Menu: + +* Estilos del Tipo de Letra:: Seleccionar romana, cursiva, etc. +* Tamaños del Tipo de Letra:: Seleccionando el tamaño del punto. +* Instrucciones de Bajo Nivel para el Tipo de Letra:: Seleccionando codificación, familia, series, apariencia. + + +File: latex2e-es.info, Node: Estilos del Tipo de Letra, Next: Tamaños del Tipo de Letra, Up: Tipos de Letra + +4.1 Estilos del Tipo de Letra +============================= + +Las siguientes instrucciones para el estilo del tipo de letra son +compatibles con LaTeX. + + Estas instrucciones se utilizan como `\textit{texto en cursiva}'. +Las instrucciones correspondientes entre paréntesis son la “forma +declarativaâ€, la cual no toma argumentos. El ámbito de aplicación de la +forma de declaración dura hasta la instrucción “end†del estilo del tipo +de letra o hasta el final del grupo actual. + + Las formas declarativas son acumulativas; es decir, usted puede decir +ya sea `\sffamily\bfseries' o `\bfseries\sffamily' para obtener sans +serif en negrita. + + También puede utilizar la forma de entorno de las formas +declarativas; por ejemplo, `\begin{ttfamily}...\end{ttfamily}'. + +`\textrm (\rmfamily)' + Romana. + +`\textit (\itshape)' + cursivas. + +`\emph' + Énfasis (cambia entre `\textit' y `\textrm'). + +`\textmd (\mdseries)' + Peso medio (predeterminado). + +`\textbf (\bfseries)' + Negrita. + +`\textup (\upshape)' + Vertical (predeterminado). Lo opuesto a inclinada. + +`\textsl (\slshape)' + Oblicua. + +`\textsf (\sffamily)' + Sans serif. + +`\textsc (\scshape)' + Versales. + +`\texttt (\ttfamily)' + Máquina de escribir. + +`\textnormal (\normalfont)' + Tipo de letra principal del documento. + +`\mathrm' + Romana, para usar en modo math. + +`\mathbf' + Negrita, para usarse en modo math. + +`\mathsf' + Sans serif, para usarse en modo math. + +`\mathtt' + Máquina de escribir, para usarse en modo math. + +`\mathit' +`(\mit)' + cursivas, para utilizarse en modo math. + +`\mathnormal' + Para usarse en modo math, por ejemplo dentro de otra declaración de + estilo de letra. + +`\mathcal' + Letras `caligráficas', para usarse en modo math. + + Además, la instrucción `\mathversion{bold}' se pude utilizar para +cambiar a letras y sÃmbolos en negrita dentro de fórmulas. +`\mathversion{normal}' restablece el valor predeterminado. + + LaTeX también proporciona estas instrucciones, que incondicionalmente +cambian a determinado estilo, es decir, _no_ son acumulativas. Estas se +utilizan de forma diferente que las instrucciones anteriores, también: +`{\instrucción ...}' en lugar de `\instrucción{...}'. Son dos cosas muy +distintas. + +`\bf' + Cambia a tipo de letra negrita. + +`\cal' + Cambia a letras caligráficas para math. + +`\em' + Énfasis (cursivas con romana, romana con cursivas). + +`\it' + cursivas. + +`\rm' + Romana. + +`\sc' + Versales. + +`\sf' + Sans serif. + +`\sl' + Oblicua (oblicua). + +`\tt' + Máquina de escribir (monoespacio, de ancho fijo). + + +File: latex2e-es.info, Node: Tamaños del Tipo de Letra, Next: Instrucciones de Bajo Nivel para el Tipo de Letra, Prev: Estilos del Tipo de Letra, Up: Tipos de Letra + +4.2 Tamaños del Tipo de Letra +============================= + +Las siguientes instrucciones para el tamaño del tipo de letra estándar +son compatibles con LaTeX. La tabla muestra el nombre de la instrucción +y el tamaño real (en puntos) del tipo de letra correspondiente utilizado +con las opciones de tamaño del documento `10pt', `11pt' y `12pt', +respectivamente (*note Opciones de Clase de Documento:: ). + +Instrucción `10pt' `11pt' `12pt' +--------------------------------------------------------- +`\tiny' 5 6 6 +`\scriptsize' 7 8 8 +`\footnotesize' 8 9 10 +`\small' 9 10 10.95 +`\normalsize' (predeterminado) 10 10.95 12 +`\large' 12 12 14.4 +`\Large' 14.4 14.4 17.28 +`\LARGE' 14.4 14.4 17.28 +`\huge' 20.74 20.74 24.88 +`\Huge' 24.88 24.88 24.88 + + Las instrucciones tal como están listadas aquà son “formas +declarativasâ€. El ámbito de aplicación de la forma declarativa dura +hasta la instrucción “end†del estilo del tipo de letra o hasta el final +del grupo actual. También puede utilizar la forma de entorno en estas +instrucciones; por ejemplo, `\begin{tiny}...\end{tiny}'. + + +File: latex2e-es.info, Node: Instrucciones de Bajo Nivel para el Tipo de Letra, Prev: Tamaños del Tipo de Letra, Up: Tipos de Letra + +4.3 Instrucciones de Bajo Nivel para el Tipo de Letra +===================================================== + +Estas instrucciones están destinadas principalmente para los escritores +de macros y paquetes. Las instrucciones listadas anteriormente son sólo +un subconjunto de las disponibles. + +`\fontencoding{codificación}' + Selecciona la codificación del tipo de letra. Las codificaciones + válidas incluyen a `OT1' y `T1'. + +`\fontfamily{familia}' + Selecciona la familia del tipo de letra. Las familias válidas + incluyen: + + • `cmr' para Romana de Computadora Moderna + + • `cmss' para Sans Serif de Computadora Moderna + + • `cmtt' para Máquina de Escribir de Computadora Moderna + + y muchas otras. + +`\fontseries{series}' + Selecciona las series del tipo de letra. Las series válidas + incluyen: + + • `m' Mediana (normal) + + • `b' Negrita + + • `c' Condensada + + • `bc' Negrita condensada + + • `bx' Negrita extendida + + y otras combinaciones diferentes. + +`\fontshape{forma}' + Selecciona la forma del tipo de letra. Las formas válidas son: + + • `n' Vertical (normal) + + • `it' Cursiva + + • `sl' Oblicua (oblicua) + + • `sc' Versales + + • `ui' Cursiva vertical + + • `ol' Esquema + + Las dos últimas formas no están disponibles para la mayorÃa de las + familias de tipos de letra. + +`\fontsize{tamaño}{espaciado}' + Establece el tamaño de letra. El primer parámetro es el tamaño a + cambiar el tipo de letra y el segundo es el espaciado de lÃnea a + usar; este se almacena en un parámetro denominado `\baselineskip'. + La unidad de ambos parámetros de manera predeterminada es pt. El + valor predeterminado de `\baselineskip' para el tipo de letra + Computadora Moderna es 1.2 veces `\fontsize'. + + El interlineado de espacio doble también es multiplicado por el + valor del parámetro `\baselinestretch' cuando cambia el tamaño del + tipo de letra; el predeterminado es 1. Sin embargo, la mejor + manera de hacer un documento con “doble espacioâ€, si tiene la + suficiente mala suerte de tener que producirlo, es usar el paquete + `setspace'; vea + `http://www.tex.ac.uk/cgi-bin/texfaq2html?label=linespace'. + +`\linespread{factor}' + Equivalente a `\renewcommand{\baselinestretch}{factor}', y por lo + tanto debe estar seguido por `\selectfont' para que tenga algún + efecto. Es mejor especificarlo en el preámbulo, o utilizar el + paquete `setspace', justo como se acaba de describir anteriormente. + + Las modificaciones introducidas por llamar a la fuente de las + instrucciones descritas anteriormente no entrará en vigor sino + hasta que se invoque a `\selectfont'. + +`\usefont{codificación}{familia}{series}{forma}' + Lo mismo que invocar a `\fontencoding', `\fontfamily', + `\fontseries' y `\fontshape' con los parámetros dados, seguida por + `\selectfont'. + + +File: latex2e-es.info, Node: Diseño, Next: Seccionado, Prev: Tipos de Letra, Up: Top + +5 Diseño +******** + +Varias instrucciones para controlar el diseño general de la página. + +* Menu: + +* \onecolumn:: Utiliza un diseño de una columna. +* \twocolumn:: Utiliza un diseño de dos columanas. +* \flushbottom:: Hace que todas las páginas del texto tengan la misma altura. +* \raggedbottom:: Permite que las páginas de texto tengan diferente altura. +* Parámetros para el Diseño de Página:: \headheight \footskip. + + +File: latex2e-es.info, Node: \onecolumn, Next: \twocolumn, Up: Diseño + +5.1 `\onecolumn' +================ + +La declaración `\onecolumn' comienza una nueva página y la produce con +una sola columna. Este es el valor predeterminado. + + +File: latex2e-es.info, Node: \twocolumn, Next: \flushbottom, Prev: \onecolumn, Up: Diseño + +5.2 `\twocolumn' +================ + +Sinopsis: + + \twocolumn[textocolumna1] + + La declaración `\twocolumn' comienza una nueva página y la produce +con dos columnas. Si el argumento opcional textocolumna1 está presente, +esta es compuesta en modo de una columna antes de comenzar la +composición de las dos columnas. + + Estos parámetros controlan la tipografÃa en la producción de dos +columnas: + +`\columnsep' + La distancia entre las columnas (de manera predeterminada a 35pt). + +`\columnseprule' + El ancho de la regla entre columnas; el predeterminado es 0pt, por + lo tanto no hay regla. + +`\columnwidth' + El ancho de la columna actual; este es igual a `\textwidth' en + texto de una sola columna. + + Estos parámetros controlan el comportamiento de la flotación de las +dos columnas producidas: + +`\dbltopfraction' + Máxima fracción en la parte superior de una página de dos columna + que pueden ocupar los flotantes. El predeterminado es `.7', puede + ser útil redefinirlo a (digamos) `.9' para evitar llegar tan pronto + a páginas flotantes. + +`\dblfloatpagefraction' + La mÃnima fracción de una página con flotantes que deben ocupar los + flotantes, para una página de dos columnas con flotantes. El + predeterminado es `.5'. + +`\dblfloatsep' + Distancia entre flotantes en la parte superior o inferior de una + página de dos columnas con flotantes. Predeterminado a `12pt + plus2pt minus2pt' para `10pt' y `11pt' para documentos, `14pt + plus2pt minus4pt' para `12pt'. + +`\dbltextfloatsep' + Distancia entre un flotante multicolumna en la parte superior o + inferior de una página y el texto principal. De manera + predeterminada es `20pt plus2pt minus4pt'. + + +File: latex2e-es.info, Node: \flushbottom, Next: \raggedbottom, Prev: \twocolumn, Up: Diseño + +5.3 `\flushbottom' +================== + +La declaración `\flushbottom' hace que todas las páginas tengan la misma +altura, añadiendo espacio vertical extra donde sea necesario para llenar +la página. + + Este es el predeterminado si se selecciona el modo `twocolumn' (*note +Opciones de Clase de Documento::). + + +File: latex2e-es.info, Node: \raggedbottom, Next: Parámetros para el Diseño de Página, Prev: \flushbottom, Up: Diseño + +5.4 `\raggedbottom' +=================== + +La declaración `\raggedbottom' hace que todas las páginas tengan la +altura natural del material en esa página. Sin longitudes flexibles que +se deban ajustar. + + +File: latex2e-es.info, Node: Parámetros para el Diseño de Página, Prev: \raggedbottom, Up: Diseño + +5.5 Parámetros para el Diseño de Página +======================================= + +`\headheight' + Altura de la caja que contiene el encabezado. El predeterminado es + `30pt', salvo en la clase `book', donde este varÃa con el tamaño de + letra. + +`\headsep' + Distancia vertical entre la lÃnea inferior de la cabecera y la + parte superior del texto principal. El predeterminado es `25pt', + salvo en la clase `book', donde este varÃa con el tamaño de letra. + +`\footskip' + Distancia desde la lÃnea base de la última lÃnea de texto a la + lÃnea base del pié de página. El predeterminado es `30pt', salvo + en la clase `book', donde este varÃa con el tamaño de letra. + +`\linewidth' + Ancho de la lÃnea actual; el predeterminado varÃa con el tamaño de + fuente, el ancho del papel, el modo two-column, etc. Para un + documento `article' en `10pt', este se establece a `345pt'; en modo + two-column, este cambia a `229.5pt'. + +`\textheight' + La altura vertical normal del cuerpo de la página; el + predeterminado varÃa con el tamaño de letra, clase de documento, + etc. Para un documento `article' o `report' en `10pt', este se + fija a `43\baselineskip'; para `book', es `41\baselineskip'. Para + `11pt', es `38\baselineskip' y para `12pt', `36\baselineskip'. + +`\textwidth' + El ancho horizontal normal del cuerpo de la página; el + predeterminado varÃa de la manera usual. Para un documento + `article' o `report', es `345pt' en `10pt', `360pt' en `11pt' y + `390pt' en `12pt'. Para un documento `book', es `4.5in' en `10pt' + y `5in' en `11pt' o `12pt'. + +`\topmargin' + Espacio entre la parte superior de la página TeX (de manera + predeterminada, una pulgada en la parte superior del papel) y en la + parte superior del encabezado. El predeterminado se calcula + basándose en muchos otros parámetros: `\paperheight − 2in − + \headheight − \headsep − \textheight − \footskip', y luego se + divide entre dos. + +`\topskip' + La distancia mÃnima entre la parte superior del cuerpo de la página + y la lÃnea base de la primer lÃnea de texto. Para clases estándar, + el predeterminado es el mismo que el tamaño de letra, por ejemplo, + `10pt' en `10pt'. + + +File: latex2e-es.info, Node: Seccionado, Next: Referencias Cruzadas, Prev: Diseño, Up: Top + +6 Seccionado +************ + +Las instrucciones de seccionado proporcionan los medios para estructurar +su texto en unidades: + +`\part' + +`\chapter' + (únicamente las clases report y book) + +`\section' + +`\subsection' + +`\subsubsection' + +`\paragraph' + +`\subparagraph' + + Todas las instrucciones de seccionado tienen la misma forma general, +por ejemplo, + + \chapter[tÃtulobreve]{tÃtulo} + + Además de proporcionar el encabezado tÃtulo en el texto principal, el +tÃtulo de la sección puede aparecer en otros dos lugares: + + 1. La tabla de contenido. + + 2. El tÃtulo breve en la parte superior de la página. + + Tal vez no quiera el mismo texto en estos lugares como en el texto +principal. Para controlar esto, las instrucciones de seccionado tienen +un argumento opcional, toctitle que, cuando se proporciona, especifica +el texto de esos otros lugares. + + Además, todas las instrucciones de seccionado tienen formas con `*' +que imprimen el tÃtulo de la manera usual, pero no incluyen un número y +no producen una entrada en la tabla de contenido. Por ejemplo: + + \section*{Preámbulo} + + La instrucción `\appendix' cambia la manera en que se numeran las +siguientes unidades de sección. La instrucción `\appendix' en sà misma +no genera texto y no afecta la númeración de las partes. El uso normal +de esta instrucción es algo asà como: + + \chapter{Un CapÃtulo} + … + \appendix + \chapter{El Primer Apéndice} + + El contador `secnumdepth' controla la impresión de los números de +sección. La configuración + + \setcounter{secnumdepth}{nivel} + +suprime los números en encabezados y cualquier profundidad > nivel, +donde `chapter' es el nivel cero. (*Note \setcounter::.) + + +File: latex2e-es.info, Node: Referencias Cruzadas, Next: Entornos, Prev: Seccionado, Up: Top + +7 Referencias Cruzadas +********************** + +Una razón para numerar cosas como figuras y ecuaciones es para referir +al lector a ellas, como en “Vea la Figura 3 para más detallesâ€. + +* Menu: + +* \label:: Asigna un nombre simbólico a una parte del texto. +* \pageref:: Referencia a un número de página. +* \ref:: Referencia a una sección, figura o similar. + + +File: latex2e-es.info, Node: \label, Next: \pageref, Up: Referencias Cruzadas + +7.1 `\label' +============ + +Sinopsis: + + \label{clave} + + Una instrucción `\label' que aparece en un texto normal asigna a +clave el número de la unidad de sección actual; que aparece dentro de un +entorno numerado asignando ese número a clave. + + Un nombre de clave puede consistir de cualquier secuencia de letras, +dÃgitos, o caracteres de puntuación. Distingue entre letras mayúsculas +y minúsculas. + + Para evitar la creación accidental de dos etiquetas con el mismo +nombre, es común el uso de etiquetas que consisten de un prefijo y un +sufijo, separados por una coma o un punto. Algunos prefijos utilizados +convencionalmente: + +`ch' + para capÃtulos + +`sec' + para instrucciones de seccionado de bajo nivel + +`fig' + para figuras + +`tab' + para tablas + +`eq' + para ecuaciones + + Por lo tanto, una etiqueta para una figura parecerÃa como `fig:snark' +o `fig.snark'. + + +File: latex2e-es.info, Node: \pageref, Next: \ref, Prev: \label, Up: Referencias Cruzadas + +7.2 `\pageref{clave}' +===================== + +Sinopsis: + + \pageref{clave} + + La instrucción `\pageref'{clave} produce el número de página del +lugar en el texto en donde aparece la instrucción `\label'{clave}. + + +File: latex2e-es.info, Node: \ref, Prev: \pageref, Up: Referencias Cruzadas + +7.3 `\ref{clave}' +================= + +Sinopsis: + + \ref{clave} + + La instrucción `\ref' produce el número de la unidad de sección de la +ecuación, pie de página, figura, …, de la instrucción `\label' +correspondiente (*note \label::). Esta no produce ningún texto, como +por ejemplo la palabra `Sección' o `figura', únicamente el número. + + +File: latex2e-es.info, Node: Entornos, Next: Saltos de LÃnea, Prev: Referencias Cruzadas, Up: Top + +8 Entornos +********** + +LaTeX proporciona muchos entornos para marcar cierto texto. Cada +entorno comienza y termina de la misma manera: + + \begin{nombreentorno} + ... + \end{nombreentorno} + +* Menu: + +* abstract:: Produce un resumen. +* array:: Matrices Matemáticas. +* center:: LÃneas centradas. +* description:: Listas etiquetadas. +* displaymath:: Fórmulas que aparecen en su propia lÃnea. +* document:: Encierra todo el documento. +* enumerate:: Listas numeradas. +* eqnarray:: Secuencias de ecuaciones alineadas. +* equation:: Ecuación mostrada. +* figure:: Figuras flotantes. +* flushleft:: LÃneas alineada a la izquierda. +* flushright:: LÃneas alineadas a la derecha. +* itemize:: Listas con viñetas. +* letter:: Cartas +* list:: Entorno lista genérica. +* math:: Matemáticas en lÃnea. +* minipage:: Página miniatura. +* picture:: Imagen con texto, flechas, lÃneas y cÃrculos. +* quotation:: Entorno con sangrÃa y párrafo con sangrÃa. +* quote:: Entorno con sangrÃa sin sangrÃa de párrafo. +* tabbing:: Alineación de texto de manera arbitraria. +* table:: Tablas flotantes. +* tabular:: Alinea texto en columnas. +* thebibliography:: BibliografÃa o lista de referencia. +* theorem:: Teoremas, lemas, etc. +* titlepage:: Para elaborar portadas a mano. +* verbatim:: Simulación de entrada con máquina de escribir. +* verse:: Para poesÃa y otras cosas. + + +File: latex2e-es.info, Node: abstract, Next: array, Up: Entornos + +8.1 `abstract' +============== + +Sinopsis: + \begin{abstract} + ... + \end{abstract} + + Entorno para producir un resumen, posiblemente de varios párrafos. + + +File: latex2e-es.info, Node: array, Next: center, Prev: abstract, Up: Entornos + +8.2 `array' +=========== + +Sinopsis: + + \begin{array}{plantilla} + texto col1&texto col1&coln}\\ + ... + \end{array} + + Las matrices matemáticas se producen con el entorno `array', +normalmente dentro de un entorno `equation' (*note equation::). Tiene +un único argumento plantilla obligatorio que describe el número de +columnas y la alineación dentro de ellas. Cada columna col se +especifica por una sola letra que indica el número de elementos y deben +tener el formato de la siguiente manera: + +`c' + centrada + +`l' + alineada a la izquierda + +`r' + alineada a la derecha + + La entradas de columna son separadas con `&'. Las entradas de +columna pueden incluir otras instrucciones LaTeX. Cada fila de la +matriz se termina con `\\'. + + En la plantilla, la construcción `@{texto}' coloca texto entre +columnas en cada fila. + + He aquà un ejemplo: + + \begin{equation} + \begin{array}{lrc} + izquierda1 & derecha1 & centrado1 \\ + izquierda2 & derecha2 & centrado2 \\ + \end{array} + \end{equation} + + El parámetro `\arraycolsep' define la mitad del ancho del espacio de +separación entre columnas; el predeterminado es `5pt'. *Note tabular::, +para otros parámetros que afectan el formato en entornos `array', a +saber `\arrayrulewidth' y `\arraystretch'. + + El entorno `array' únicamente se puede utilizar en modo math. + + +File: latex2e-es.info, Node: center, Next: description, Prev: array, Up: Entornos + +8.3 `center' +============ + +Sinopsis: + + \begin{center} + lÃnea1 \\ + lÃnea2 \\ + \end{center} + + El entorno `center' le permite crear un párrafo consistente de lÃneas +que están centradas respecto al margen izquierdo y derecho de la página +actual. Cada lÃnea es terminada con dobles barras inversas `\\'. + +* Menu: + +* \centering:: Forma declarativa para el entorno `center'. + + +File: latex2e-es.info, Node: \centering, Up: center + +8.3.1 `\centering' +------------------ + +La declaración `\centering' corresponde al entorno `center'. Esta +declaración se puede utilizar dentro de un entorno tal como `quote' o en +un `parbox'. Por lo tanto, el texto de una figura o una tabla se puede +centrar en la página poniendo una instrucción `\centering' al principio +de la figura o en el entorno table. + + A diferencia del entorno `center', la instrucción `\centering' no +comienza un nuevo párrafo; esta simplemente cambia el formato que LaTeX +aplica a las unidades de párrafo. Para afectar el formato de la unidad +de párrafo, el alcance de la declaración debe contener una lÃnea en +blanco o la instrucción `\end' (de un entorno tal como quote), que +finaliza la unidad de párrafo. + + He aquà un ejemplo: + + \begin{quote} + \centering + primer lÃnea \\ + segunda lÃnea \\ + \end{quote} + + +File: latex2e-es.info, Node: description, Next: displaymath, Prev: center, Up: Entornos + +8.4 `description' +================= + +Sinopsis: + + \begin{description} + \item [etiqueta1] elemento1 + \item [etiqueta2] elemento2 + ... + \end{description} + + El entorno `description' se utiliza para hacer listas etiquetadas. +Cada etiqueta es compuesta tipográficamente en negrita, alineada a la +derecha. El texto del elemento puede contener múltiples párrafos. + + Otra variación: debido a que el estilo negrita se aplica a las +etiquetas, si usted compone una etiqueta en máquina de escribir usando +`\texttt', obtendrá una máquina de escribir en negrita: +`\item[\texttt{máquina de escribir y negrita}]'. Esta también puede +estar en negrita, entre otras cuestiones. Para obtener sólo en máquina +de escribir, use `\tt', que restablece todas las variaciones de otros +estilos: `\item[{\tt máquina de escribir simple}]'. + + Para detalles acerca del espaciado en listas, vea *note itemize::. + + +File: latex2e-es.info, Node: displaymath, Next: document, Prev: description, Up: Entornos + +8.5 `displaymath' +================= + +Sinopsis: + + \begin{displaymath} + fórmula matemática + \end{displaymath} + +o + + \[math\] + + El entorno `displaymath' (`\[...\]' es un sinónimo) de composición +tipográfica de texto math en una lÃnea independiente, centrada de manera +predeterminada. La opción global `fleqn' produce ecuaciones alineadas a +la izquierda; vea *note Opciones de Clase de Documento::. + + No se añade un número de ecuación al texto de `displaymath'; Para +obtener un número de ecuación, utilice el entorno `equation' (*note +equation::). + + +File: latex2e-es.info, Node: document, Next: enumerate, Prev: displaymath, Up: Entornos + +8.6 `document' +============== + +El entorno `document' encierra el cuerpo de un documento. este es +obligatorio en cada documento LaTeX. *Note Iniciando y Finalizando::. + + +File: latex2e-es.info, Node: enumerate, Next: eqnarray, Prev: document, Up: Entornos + +8.7 `enumerate' +=============== + +Sinopsis: + + \begin{enumerate} + \item elemento1 + \item elemento2 + ... + \end{enumerate} + + El entorno `enumerate' produce una lista numerada. Las enumeraciones +se pueden anidar unas dentro de otras, hasta cuatro niveles de +profundidad. Estas también se pueden anidar en otros entornos de +párrafo, tal como `itemize' (*note itemize::) y `description' (*note +description::). + + Cada elemento de una lista enumerada comienza con una instrucción +`\item'. En el entorno por lo menos debe haber una instrucción `\item'. + + De manera predeterminada, la numeración de cada nivel se hace de la +siguiente manera: + + 1. 1., 2., … + + 2. (a), (b), … + + 3. i., ii., … + + 4. A., B., … + + El entorno `enumerate' usa los contadores `\enumi' hasta `\enumiv' +(*note Contadores::). Si se proporciona el argumento opcional a +`\item', el contador no se incrementa por cada elemento. + + El entorno `enumerate' utiliza las instrucciones desde `\labelenumi' +hasta `\labelenumiv' para producir la etiqueta predeterminada. Por lo +tanto, usted puede usar `\renewcommand' para cambiar las etiquetas +(*note \newcommand y \renewcommand::). Por ejemplo, para hacer que el +primer nivel use letras mayúsculas: + + \renewcommand{\labelenumi}{\Alph{enumi}} + + +File: latex2e-es.info, Node: eqnarray, Next: equation, Prev: enumerate, Up: Entornos + +8.8 `eqnarray' +============== + + \begin{eqnarray} (o `eqnarray*') + fórmula1 \\ + fórmula2 \\ + ... + \end{eqnarray} + + El entorno `eqnarray' se utiliza para mostrar una secuencia de +ecuaciones o desigualdades. Es muy parecido a un entorno `array' de +tres columnas, con filas consecutivas separadas por `\\' y elementos +consecutivos en una fila, separados por un `&'. + + también puede utilizar `\\*' para separar ecuaciones independientes, +con su propósito normal de no permitir saltos de página en esa lÃnea. + + Se coloca un número de ecuación en cada lÃnea a menos que la lÃnea +tenga una instrucción `\nonumber'. Alternativamente, la forma del +entorno con `*' (`\begin{eqnarray*} ... \end{eqnarray*}') debe omitir +por completo la numeración de la ecuación, al tiempo que el mismo +comienza con `eqnarray'. + + La instrucción `\lefteqn' se utiliza para dividir grandes fórmulas a +través de varias lÃneas. Su argumento de composición tipográfica en el +estilo de visualización alinea a la izquierda en una caja de ancho cero. + + +File: latex2e-es.info, Node: equation, Next: figure, Prev: eqnarray, Up: Entornos + +8.9 `equation' +============== + +Sinopsis: + + \begin{equation} + fórmula-matemática + \end{equation} + + El entorno `equation' comienza un entorno `displaymath' (*note +displaymath::), por ejemplo, centrando en la página el texto math, y +además colocando el número de ecuación en el margen derecho. + + +File: latex2e-es.info, Node: figure, Next: flushleft, Prev: equation, Up: Entornos + +8.10 `figure' +============= + + \begin{figure[*]}[úbicación] + figbody + \label{etiqueta} + \caption[tÃtulobreve]{texto} + \end{figure} + + Las figuras son objetos que no forman parte del texto normal, y en su +lugar son “flotados†a un lugar conveniente, como en la parte superior +de una página. Las figuras no se dividen entre dos páginas. + + Cuando se compone tipográficamente en columnas dobles, la forma +favorita produce un ancho completo (a través de las dos columnas). + + El argumento opcional `[ubicación]' determina donde debe tratar de +colocar LaTeX su figura. Hay cuatro lugares donde LaTeX, posiblemente, +pueda colocar un flotante: + +`t' + (Top)—en lo alto de una página de texto. + +`b' + (Bottom)—en la parte inferior de una página de texto. No obstante, + `b' no se permite para flotantes de ancho completo (`figure*') en + entornos con columnas dobles. Para mejorar esto, utilice el + paquete `stfloats' o `dblfloatfix', pero vea el debate de + advertencias en el FAQ: + `http://www.tex.ac.uk/cgi-bin/texfaq2html?label=2colfloat'. + +`h' + (Here)—aquÃ, en la posición donde aparece el entorno figure en el + texto. Sin embargo, este no está permitido por sà mismo, + automáticamente se añade `t'. Para forzar que una figura + absolutamente aparezca “aquÃâ€, utilice el paquete `float' y use la + letra de ubicación `H'. (Este paquete también ofrece otras + opciones). + +`p' + (Página de flotantes)—en una página de flotantes separada, misma + que es una página que no contiene texto, únicamente flotantes. + + Las clases estándar report y article utilizan la ubicación +predeterminada `tbp'. + + El cuerpo de la figura se compone de cualquier texto, instrucciones +LaTeX, etc., que desee. + + La instrucción `\caption' especifica el texto del tÃtulo de la +figura. El tÃtulo de manera predeterminada lleva el número. Si +loftitle está presente, esta se utiliza en la lista de figuras en lugar +del texto (*note Tablas de Contenido::). + + La fracción máxima de la página que se permite sea ocupada por + flotantes en la parte inferior; el predeterminado es `.3'. + +`\floatpagefraction' + La fracción mÃnima de una página flotante que deben ocupar los + flotantes; predeterminado a `.5'. + +`\floatsep' + Espacio entre flotantes en la parte superior o inferior de una + página; predeterminado a `12pt plus2pt minus2pt'. + +`\intextsep' + Espacio por encima y por debajo de un flotante en medio del texto + principal; predeterminado a `12pt plus2pt minus2pt' para estilos de + `10pt' y `11pt', `14pt plus4pt minus4pt' para `12pt'. + +`\textfloatsep' + Espacio entre el último/primero flotante en la parte + superior/inferior de una página; de manera predeterminada a `20pt + plus2pt minus4pt'. + +`\textfraction' + MÃnima fracción de una página que debe ser texto; si los flotantes + ocupan mucho espacio preserva tanto texto como sea posible, para + que los flotantes sean trasladados a una página diferente. El + predeterminado es `.2'. + +`\topfraction' + Máxima fracción en la parte superior de una página que se puede + ocupar antes de los flotantes; el predeterminado es `.7'. + + +File: latex2e-es.info, Node: flushleft, Next: flushright, Prev: figure, Up: Entornos + +8.11 `flushleft' +================ + + \begin{flushleft} + lÃnea1 \\ + lÃnea2 \\ + ... + \end{flushleft} + + El entorno `flushleft' le permite crear un párrafo consistente de +lÃneas que están alineadas en el margen de la mano izquierda y no están +justificadas a la derecha. Cada lÃnea se debe terminar con `\\'. + +* Menu: + +* \raggedright:: Forma declarativa del entorno `flushleft'. + + +File: latex2e-es.info, Node: \raggedright, Up: flushleft + +8.11.1 `\raggedright' +--------------------- + +La declaración `\raggedright' corresponde al entorno `flushleft'. Esta +declaración se puede utilizar dentro de un entorno tal como `quote' o en +un `parbox'. + + A diferencia del entorno `flushleft', la instrucción `\raggedright' +no comienza un nuevo párrafo; esta únicamente cambia como aplica LaTeX +el formato a las unidades de párrafo. Para afectar el formato de la +unidad párrafo, el alcance de la declaración debe contener una lÃnea en +blanco o la instrucción `\end' que termina la unidad de párrafo. + + +File: latex2e-es.info, Node: flushright, Next: itemize, Prev: flushleft, Up: Entornos + +8.12 `flushright' +================= + + \begin{flushright} + lÃnea1 \\ + lÃnea2 \\ + ... + \end{flushright} + + El entorno `flushright' le permite crear un párrafo consistente de +lÃneas que están alineadas en el margen a mano derecha e irregulares a +la izquierda. Cada lÃnea se debe terminar con `\\'. + +* Menu: + +* \raggedleft:: Forma declarativa del entorno `flushright'. + + +File: latex2e-es.info, Node: \raggedleft, Up: flushright + +8.12.1 `\raggedleft' +-------------------- + +La declaración `\raggedleft' corresponde al entorno `flushright'. Esta +declaración se puede utilizar dentro de un entorno tal como `quote' o en +un `parbox'. + + A diferencia del entorno `flushright', la instrucción `\raggedleft' +no comienza un nuevo párrafo; esta únicamente cambia como aplica LaTeX +el formato a las unidades de párrafo. Para afectar el formato de la +unidad párrafo, el alcance de la declaración debe contener una lÃnea en +blanco o la instrucción `\end' que termina la unidad de párrafo. + + +File: latex2e-es.info, Node: itemize, Next: letter, Prev: flushright, Up: Entornos + +8.13 `itemize' +============== + +Sinopsis: + + \begin{itemize} + \item elemento1 + \item elemento2 + ... + \end{itemize} + + El entorno `itemize' produce una lista “no ordenadaâ€, “con viñetasâ€. +Se pueden anidar entorno itemize dentro de otros, hasta cuatro niveles +de profundidad. También se pueden anidar en otros entornos que marcan +párrafos, tal como `enumerate' (*note enumerate::). + + Cada elemento de una lista `itemize' comienza con una instrucción +`\item'. En el entorno por lo menos debe haber una instrucción `\item'. + + De forma predeterminada, las marcas en cada nivel tienen esta +apariencia: + + 1. • (bala) + + 2. -- (guión en negrita) + + 3. * (asterisco) + + 4. . (punto centrado, aquà representado como un punto) + + El entorno `itemize' utiliza las instrucciones desde `\labelitemi' +hasta `\labelitemiv' para producir la etiqueta predeterminada. De modo +que, usted puede usar `\renewcommand' para cambiar las etiquetas. Por +ejemplo, para que en primer nivel utilice diamantes: + + \renewcommand{\labelitemi}{$\diamond$} + + Los parámetros desde `\leftmargini' hasta `\leftmarginvi' definen la +distancia entre el margen izquierdo del entorno envolvente y el margen +izquierdo de la lista. Por convención, `\leftmargin' se fija al +`\leftmarginN' adecuado cuando ingresa a un nuevo nivel de anidamiento. + + El predeterminado varÃa desde `.5em' (el nivel de anidamiento +superior) a `2.5em' (el primer nivel), y se reduce un poco en modo +two-column. En este ejemplo se reduce mucho el espacio del margen para +las listas anidadas: + + \setlength{\leftmargini}{1.25em} % predeterminado 2.5em + + Algunos parámetros que afectan el formato de la lista: + +`\itemindent' + Sangrado extra antes de cada elemento de una lista; predeterminado + a cero. + +`\labelsep' + Espacio entre la etiqueta y el texto de un elemento; predeterminado + a `.5em'. + +`\labelwidth' + Ancho de la etiqueta; predeterminado a `2em', o `1.5em' en modo + two-column. + +`\listparindent' + SangrÃa extra añadida al segundo y subsecuentes párrafos, dentro de + un elemento de la lista; predeterminado a `0pt'. + +`\rightmargin' + Distancia horizontal entre el margen derecho de la lista y el + entorno envolvente; de manera predeterminada `0pt', salbo en los + entornos `quote', `quotation' y `verse', donde se hace igual a + `\leftmargin'. + + Parámetros que afectan el espaciamiento vertical entre elementos de +la lista (más bien libre, de manera predeterminada). + +`\itemsep' + Espacio vertical entre elementos. El predeterminado es `2pt + plus1pt minus1pt' para `10pt' documentos, `3pt plus2pt minus1pt' + para `11pt' y `4.5pt plus2pt minus1pt' para `12pt'. + +`\parsep' + Espacio vertical extra entre párrafos dentro de un elemento de la + lista. Los predeterminados son los mismos que para `\itemsep'. + +`\topsep' + Espacio vertical entre el primer elemento y el párrafo anterior. + + Para listas de nivel superior, el predeterminado es `8pt plus2pt + minus4pt' para `10pt' documentos, `9pt plus3pt minus5pt' para + `11pt' y `10pt plus4pt minus6pt' para `12pt'. Estos se reducen en + listas anidadas. + +`\partopsep' + Espacio extra añadido a `\topsep' cuando el entorno lista comienza + un párrafo. El valor predeterminado es `2pt plus1pt minus1pt' para + `10pt' documentos, `3pt plus1pt minus1pt' para `11pt' y `3pt + plus2pt minus2pt' para `12pt'. + + Sobre todo para listas con elementos cortos, puede ser conveniente +eludir los espacios entre ellos. He aquà un ejemplo de una definición +del entorno `itemize*' sin espacio extra entre elementos o entre +párrafos dentro de un solo elemento (`\parskip' no es especÃfico de la +lista, *note \parskip::): + + \newenvironment{itemize*}% + {\begin{itemize}% + \setlength{\itemsep}{0pt}% + \setlength{\parsep}{0pt}}% + \setlength{\parskip}{0pt}}% + {\end{itemize}} + + +File: latex2e-es.info, Node: letter, Next: list, Prev: itemize, Up: Entornos + +8.14 Entorno `letter': Escribiendo Cartas +========================================= + +Este entorno se utiliza para crear cartas. *Note Cartas::. + + +File: latex2e-es.info, Node: list, Next: math, Prev: letter, Up: Entornos + +8.15 `list' +=========== + +El entorno `list' es un entorno genérico que se utiliza para definir +mucho de los entornos más especÃficos. Este rara vez se utiliza en +documentos, pero a muy menudo en las macros. + + \begin{list}{etiquetado}{espaciado} + \item elemento1 + \item elemento2 + ... + \end{list} + + El argumento obligatorio etiquetado especifica como se deben +etiquetar los elementos (a menos que se especifique el argumento +opcional `\item'). Este argumento es una pieza de texto que se inserta +en una caja para formar la etiqueta. Este se puede y suele contener +otras instrucciones LaTeX. + + El argumento obligatorio spacing contiene instrucciones para cambiar +los parámetros de espaciado para la lista. Este argumento por lo +regular está vacÃo, es decir, `{}', lo cual deja el espaciado +predeterminado. + + +File: latex2e-es.info, Node: math, Next: minipage, Prev: list, Up: Entornos + +8.16 `math' +=========== + +Sinopsis: + + \begin{math} + fórmula-matemática + \end{math} + + El entorno `math' inserta la fórmula math dada dentro del texto +actual. `\(...\))' y `$...$' son sinónimos. *Note Fórmulas +Matemáticas::. + + +File: latex2e-es.info, Node: minipage, Next: picture, Prev: math, Up: Entornos + +8.17 `minipage' +=============== + + \begin{minipage}[posición][alto][pos-interna]{ancho} + texto + \end{minipage} + + El entorno `minipage' compone tipográficamente su cuerpo de texto en +un bloque que no debe abarcar varias páginas. Este es similar a la +instrucción `\parbox' (*note \parbox::), pero a diferencia de `\parbox', +se pueden utilizar otros entornos de marcado de párrafos dentro de una +minipágina. + + Los argumentos son los mismos que para `\parbox' (*note \parbox::). + + De forma predeterminada, en el entorno `minipage' los párrafos no +tienen sangrÃa. Usted puede restablecer la sangrÃa con una instrucción +tal como `\setlength{\parindent}{1pc}'. + + La notas al pie en un entorno `minipage' son manipuladas de una +manera que es especialmente útil para poner notas en figuras o tablas. +Una instrucción `\footnote' o `\footnotetext' coloca la nota al pie en +la parte inferior de la minipágina en lugar de en la parte inferior de +la página, y esta utiliza el contador `\mpfootnote' en lugar del +contador normal `footnote' (*note Contadores::). + + No obstante, no ponga una minipágina dentro de otra si usted está +usando notas al pie; estas pueden terminar mal en la parte inferior de +la minipágina. + + +File: latex2e-es.info, Node: picture, Next: quotation, Prev: minipage, Up: Entornos + +8.18 `picture' +============== + + \begin{picture}(ancho,alto)(desplazamiento x,desplazamiento y) + … instrucciones de imagen … + \end{picture} + + El entorno `picture' le permite crear casi cualquier clase de imagen +que desee que contenga su texto, lineas, flechas y cÃrculos. Usted le +dice a LaTeX dónde colocar las cosas en la imagen especificando sus +coordenadas. Una coordenada es un número que puede tener un punto +decimal y un signo menos — un número como `5', `0.3' o `-3.1416'. Una +coordenada especifica una longitud en múltiplos de la unidad de longitud +`\unitlength', por lo que si `\unitlength' se ha establecido en `1cm', +entonces la coordenada 2.54 especifica una longitud de 2.54 centÃmetros. +Sólo debe cambiar el valor de `\unitlength', utilizando la instrucción +`\setlength', fuera del entorno `picture'. + + Una posición es un par de coordenadas, por ejemplo, `(2.4, -5)', que +especifican el punto con coordenada x `2.4' y coordenada y `-5'. Las +coordenadas se especifican en la forma habitual con respecto a un +origen, que normalmente está en la esquina inferior izquierda de la +imagen. Tenga en cuenta que cuando una posición se presenta como un +argumento, no se encierra entre llaves; los paréntesis sirven para +delimitar el argumento. + + El entorno `picture' tiene un argumento obligatorio, el cual es una +`posición'. este especifica el tamaño de la imagen. El entorno produce +una caja rectangular con la anchura y altura determinada por los +argumentos de las coordenadas x e y. + + El entorno `picture' también tiene un argumento opcional `posición', +seguido del argumento `tamaño', que puede cambiar el origen. (A +diferencia de los argumentos opcionales, este argumento no está +contenido entre corchetes). El argumento opcional proporciona las +coordenadas del punto en la esquina inferior izquierda de la imagen (con +el cual se determina el origen). Por ejemplo, si `\unitlength' se ha +fijado a `1mm', la instrucción + + \begin{picture}(100,200)(10,20) + +produce una imagen de 100 milÃmetros de ancho y 200 milÃmetros de +altura, cuya esquina inferior izquierda está en el punto (10,20) y cuya +esquina superior derecha está en el punto (110,220). La primera vez que +haga un dibujo, normalmente se omite el argumento opcional, dejando el +origen en el ángulo inferior izquierdo. Si a continuación desea +modificar su imagen, trasladando todo, basta con añadir el argumento +opcional apropiado. + + El argumento obligatorio del entorno determina el tamaño nominal de +la imagen. Esta no necesita tener ninguna relación con el tamaño de la +imagen real; Felizmente LaTeX le permitirá poner cosas fuera de la +imagen, o incluso fuera de la página. El tamaño nominal de la imagen lo +utiliza LaTeX para determinar cuánto espacio dejar para ello. + + Todo lo que aparece en una imagen es dibujado por la instrucción +`\put'. La instrucción + + \put (11.3,-.3){...} + +coloca el objeto especificado por `...' en la imagen, con su punto de +referencia en las coordenadas (11.3, -.3). Los puntos de referencia +para distintos objetos se describen a continuación. + + La instrucción `\put' crea una "caja LR". Puede poner cualquier cosa +que vaya en una `\mbox' (*note \mbox::) en el argumento texto de la +instrucción `\put'. Al hacer esto, el punto de referencia será la +esquina inferior izquierda de la caja. + + Las instrucciones para `picture' están descritas en las siguientes +secciones. + +* Menu: + +* \circle:: Dibuja un cÃrculo. +* \makebox (imagen):: Dibuja un cuadro del tamaño especificado. +* \framebox (imagen):: Dibuja una caja rodeada con un marco. +* \dashbox:: Dibuja un cuadro de lÃneas discontinuas. +* \frame:: Dibuja un marco alrededor de un objeto. +* \line:: Dibuja una lÃnea recta. +* \linethickness:: Ajusta el grosor de la lÃnea. +* \thicklines:: Una lÃnea de espesor más grueso. +* \thinlines:: El grosor de la lÃnea predeterminado. +* \multiput:: Dibuja varias instancias de un objeto. +* \oval:: Dibuja una elipse. +* \put:: Coloca un objeto en un determinado lugar. +* \shortstack:: Hace un montón de objetos. +* \vector:: Dibuja una lÃnea con una flecha. + + +File: latex2e-es.info, Node: \circle, Next: \makebox (imagen), Up: picture + +8.18.1 `\circle' +---------------- + + \circle[*]{diámetro} + + La instrucción `\circle' produce un cÃrculo con un diámetro lo más +cercano posible al especificado. La forma con `*' de la instrucción +dibuja un cÃrculo sólido. + + Se pueden dibujar cÃrculos de hasta 40 pt. + + +File: latex2e-es.info, Node: \makebox (imagen), Next: \framebox (imagen), Prev: \circle, Up: picture + +8.18.2 `\makebox' +----------------- + +`\makebox(ancho,alto)[posición]{...}' + + La instrucción `\makebox' para el entorno picture es similar a la +instrucción normal `\makebox' excepto que usted debe especificar el +`ancho' y `alto' en múltiplos de `\unitlength'. + + El argumento opcional, `[posición]', especifica el cuadrante en el +que debe aparecer el texto. Usted puede seleccionar hasta dos de los +siguientes: + +`t' + Mueve el elemento a la parte superior del rectángulo. + +`b' + Mueve el elemento a la parte inferior. + +`l' + Mueve el elemento a la izquierda. + +`r' + Mueve el elemento hacia la derecha. + + *Note \makebox::. + + +File: latex2e-es.info, Node: \framebox (imagen), Next: \dashbox, Prev: \makebox (imagen), Up: picture + +8.18.3 `\framebox' +------------------ + +Sinopsis: + + \framebox(ancho,alto)[posición]{...} + + La instrucción `\framebox' es como `\makebox' (vea la sección +anterior), excepto que esta coloca un marco en el exterior alrededor de +la caja que crea. + + La instrucción `\framebox' produce una regla de espesor `\fboxrule', +y deja un espacio `\fboxsep' entre la regla y el contenido de la caja. + + +File: latex2e-es.info, Node: \dashbox, Next: \frame, Prev: \framebox (imagen), Up: picture + +8.18.4 `\dashbox' +----------------- + +Dibuja un cuadro con una lÃnea discontinua. Sinopsis: + + \dashbox{dlargo}(rancho,ralto)[posición]{texto} + + `\dashbox' crea un rectángulo discontinuo alrededor del texto en un +entorno `picture'. Los guiones son de dlargo unidades de largo, y el +rectángulo tiene una anchura total de rancho y una altura de ralto. El +texto es posicionado en la posición opcional. + + Un cuadro de lÃneas discontinuas se ve mejor cuando `rancho' y +`ralto' son múltiplos de `dlargo'. + + +File: latex2e-es.info, Node: \frame, Next: \line, Prev: \dashbox, Up: picture + +8.18.5 `\frame' +--------------- + +Sinopsis: + + \frame{texto} + + La instrucción `\frame' coloca un marco rectangular alrededor de +texto. El punto de referencia es la esquina inferior izquierda del +marco. No añade espacio extra entre el marco y el objeto. + + +File: latex2e-es.info, Node: \line, Next: \linethickness, Prev: \frame, Up: picture + +8.18.6 `\line' +-------------- + +Sinopsis: + + \line(declivex,declivey){longitud} + + La instrucción `\line' dibuja una lÃnea con la longitud dada y +declive declivex/declivey. + + LaTeX estándar únicamente puede dibujar lÃneas con declive = x/y, +donde x y y tienen valores enteros desde −6 hasta 6. Para lÃneas de +cualquier declive, por no hablar de otras formas, vea el paquete +`curve2e' y muchos, muchos otros paquetes en CTAN. + + +File: latex2e-es.info, Node: \linethickness, Next: \thicklines, Prev: \line, Up: picture + +8.18.7 `\linethickness' +----------------------- + +La instrucción `\linethickness{espesor}' declara el grosor de las lÃneas +horizontales y verticales en un entorno picture para que sean de +espesor, el cual debe ser una longitud positiva. + + `\linethickness' no afecta el espesor de las lÃneas inclinadas, +cÃrculos o los cuartos de cÃrculo dibujados por `\oval'. + + +File: latex2e-es.info, Node: \thicklines, Next: \thinlines, Prev: \linethickness, Up: picture + +8.18.8 `\thicklines' +-------------------- + +La instrucción `\thicklines' es un espesor de lÃnea alternativo para +lÃneas horizontales y verticales en un entorno picture; compárese *note +\linethickness:: y *note \thinlines::. + + +File: latex2e-es.info, Node: \thinlines, Next: \multiput, Prev: \thicklines, Up: picture + +8.18.9 `\thinlines' +------------------- + +La instrucción `\thinlines' es el espesor de lÃnea predeterminado para +lÃneas horizontales y verticales en un entorno picture; compárese *note +\linethickness:: y *note \thicklines::. + + +File: latex2e-es.info, Node: \multiput, Next: \oval, Prev: \thinlines, Up: picture + +8.18.10 `\multiput' +------------------- + +Sinopsis: + \multiput(x,y)(delta_x,delta_y){n}{obj} + + La instrucción `\multiput' copia el objeto obj en un patrón regular +entre imágenes. primero se coloca obj en la posición (x,y), luego en la +posición (x+\delta x,y+\delta y) y asà sucesivamente, n veces. + + +File: latex2e-es.info, Node: \oval, Next: \put, Prev: \multiput, Up: picture + +8.18.11 `\oval' +--------------- + +Sinopsis: + + \oval(ancho,alto)[porción] + + La instrucción `\oval' produce un rectángulo con esquinas +redondeadas. El argumento opcional porción le permite seleccionar la +parte del óvalo vÃa las siguientes letras: + +`t' + selecciona la parte superior; + +`b' + selecciona la parte inferior; + +`r' + selecciona la parte derecha; + +`l' + selecciona la parte izquierda. + + Las “esquinas†del óvalo se hacen con cuartos de cÃrculo con un radio +máximo de 20pt, por lo tanto los “óvalos†grandes se parecen más a cajas +con esquinas redondeadas. + + +File: latex2e-es.info, Node: \put, Next: \shortstack, Prev: \oval, Up: picture + +8.18.12 `\put' +-------------- + +`\put(x coord,y coord){ ... }' + + La instrucción `\put' coloca el elemento especificado por el +argumento obligatorio en las coordenadas proporcionadas. + + +File: latex2e-es.info, Node: \shortstack, Next: \vector, Prev: \put, Up: picture + +8.18.13 `\shortstack' +--------------------- + +Sinopsis: + + \shortstack[posición]{...\\...\\...} + + La instrucción `\shortstack' produce un montón de objetos. Las +posiciones válidas son: + +`r' + Mueve los objetos a la derecha de la pila. + +`l' + Mueve los objetos a la izquierda de la pila + +`c' + Mueve los objetos hacia el centro de la pila (predeterminado) + + Los objetos son separados con `\\'. + + +File: latex2e-es.info, Node: \vector, Prev: \shortstack, Up: picture + +8.18.14 `\vector' +----------------- + +Sinopsis: + + \vector(declive-x,declive-y){longitud} + + La instrucción `\vector' dibuja una lÃnea con una flecha de la +longitud y declive especificados. Los valores x e y deben estar entre +−4 y +4 incluido. + + +File: latex2e-es.info, Node: quotation, Next: quote, Prev: picture, Up: Entornos + +8.19 `quotation' +================ + +Sinopsis: + + \begin{quotation} + texto + \end{quotation} + + A los márgenes del entorno `quotation' se les aplica una sangrÃa en +ambos lados izquierdo y derecho. El texto está justificado en ambos +márgenes. Dejar una lÃnea en blanco entre el texto produce un nuevo +párrafo. + + A diferencia del entorno `quote', cada párrafo normalmente tiene +sangrÃa. + + +File: latex2e-es.info, Node: quote, Next: tabbing, Prev: quotation, Up: Entornos + +8.20 `quote' +============ + +Sinopsis: + + \begin{quote} + texto + \end{quote} + + A los márgenes del entorno `quote' se les aplica una sangrÃa en ambos +lados izquierdo y derecho. El texto está justificado en ambos márgenes. +Dejar una lÃnea en blanco entre el texto produce un nuevo párrafo. + + A diferencia del entorno `quotation', a los párrafos no se les aplica +una sangrÃa. + + +File: latex2e-es.info, Node: tabbing, Next: table, Prev: quote, Up: Entornos + +8.21 `tabbing' +============== + +Sinopsis: + + \begin{tabbing} + fila1col1 \= fila1col2 \= fila1col3 \= fila1col4 \\ + fila2col1 \> \> fila2col3 \\ + ... + \end{tabbing} + + El entorno `tabbing' proporciona una manera de alinear el texto en +columnas. Funciona mediante el establecimiento de tabuladores y +tabulación tanto como si se hubiera hecho en una máquina de escribir +común. Es el más adecuado para los casos en que el ancho de cada +columna es constante y conocido de antemano. + + Este entorno se puede dividir en varias páginas, a diferencia del +entorno `tabular'. + + Las siguientes instrucciones se pueden utilizar dentro de un entorno +`tabbing': + +`\\ tabbing' + Final de lÃnea. + +`\= (tabbing)' + Establece una tabulación en la posición actual. + +`\> (tabbing)' + Avanza a la siguiente tabulación. + +`\<' + Coloca el siguiente texto a la izquierda del margen local (sin + necesidad de cambiar el margen). Sólo se puede usar al comienzo de + la lÃnea. + +`\+' + Mueve hacia la derecha el margen izquierdo del siguiente y todas + las subsecuentes instrucciones de tabulación, empezando la lÃnea de + tabulación, de ser necesario. + +`\-' + Mueve el margen izquierdo hacia la izquierda de la siguiente y + todas las subsecuentes instrucciones de tabulación, comenzando con + la lÃnea de tabulación si es necesario. + +`\' (tabbing)' + Mueve todo lo que ha escrito hasta ahora en la columna actual, es + decir, cualquier cosa desde la instrucción `\>', `\<', `\'', `\\' o + `\kill' más reciente, a la derecha de la columna anterior, a ras de + la tabulación de la columna actual. + +`\` (tabbing)' + Permite poner texto alineado a la derecha contra cualquier + tabulación, incluyendo la tabulación 0. Sin embargo, no puede + mover el texto a la derecha de la última columna porque allà no hay + tabulación. La instrucción `\`' mueve todo el texto que le sigue, + hasta la instrucción `\\' o `\end{tabbing}' que termina la lÃnea, + al margen derecho del entorno tabbing. No debe haber instrucción + `\>' o `\'' entre el `\`' y la instrucción que termina la lÃnea. + +`\a (tabbing)' + En un entorno `tabbing', las instrucciones `\=', `\'' y `\`' no + producen acentos en la manera usual (*note Acentos::). En su + lugar, se utilizan estas instrucciones `\a=', `\a'' y `\a`'. + +`\kill' + Fija una tabulación sin producir texto. Trabaja igual que `\\' + salvo que esta desecha la lÃnea actual en lugar de producir algo + útil. El efecto de cualquier instrucción `\=', `\+' o `\-' en esa + lÃnea seguirá en vigor. + +`\poptabs' + Restaura las posiciones de tabulación salvadas por la última + `\pushtabs'. + +`\pushtabs' + Guarda todas las posiciones de tabulación actuales. Útil para + cambiar temporalmente las posiciones de tabulación en medio de un + entorno `tabbing'. + +`\tabbingsep' + Distancia a la izquierda de la tabulación movida por `\''. + + En este ejemplo se compone tipográficamente una función de Pascal en +el formato tradicional: + + \begin{tabbing} + function \= fact(n : integer) : integer;\\ + \> begin \= \+ \\ + \> if \= n $>$ 1 then \+ \\ + fact := n * fact(n-1) \- \\ + else \+ \\ + fact := 1; \-\- \\ + end;\\ + \end{tabbing} + + +File: latex2e-es.info, Node: table, Next: tabular, Prev: tabbing, Up: Entornos + +8.22 `table' +============ + +Sinopsis: + + \begin{table}[ubicación] + + cuerpo de la tabla + + \caption{tÃtulo de la tabla} + \end{table} + + Las tablas son objetos que no forman parte del texto normal, y por lo +general “flotan†a un lugar conveniente, como la parte superior de una +página. Las tablas no se dividen en dos páginas. + + El argumento opcional `[ubicación]' determina dónde LaTeX trata de +colocar su tabla. Hay cuatro lugares donde LaTeX, posiblemente, pueda +colocar un flotante:; estos son los mismo que los utilizados con el +entorno `figure', y se describen allà (*note figure::). + + Las clases `report' y `article' estándar utilizan la ubicación +`[tbp]' predeterminada. + + El cuerpo de la tabla se compone de cualquier texto, instrucciones +LaTeX, etc., que usted desee. La instrucción `\caption' le permite +colocar un tÃtulo a su tabla. + + +File: latex2e-es.info, Node: tabular, Next: thebibliography, Prev: table, Up: Entornos + +8.23 `tabular' +============== + +Sinopsis: + + \begin{tabular}[ubicación]{columnas} + columna 1 entrada & columna 2 entrada ... & columna n entrada n \\ + ... + \end{tabular} + + o + + \begin{tabular*}{ancho}[posición]{columnas} + columna 1 entrada & columna 2 entrada ... & columna n entrada n \\ + ... + \end{tabular*} + + Estos entornos producen una caja consiste de una secuencia de filas +de elementos, alineadas verticalmente en columnas. + + Se debe utilizar `\\' para especificar el final de cada fila de la +tabla, salvo por la última, en que esta es opcional —a menos que le siga +una instrucción `\hline' (para colocar una raya bajo la tabla). + + Los argumentos obligatorios y opcionales consisten de: + +`ancho' + Especifica la anchura del entorno `tabular*'. Este debe tener + espacio entre las columnas que se puede estirar para llenar el + ancho especificado. + +`posición' + Especifica la posición vertical; de manera predeterminada alinea al + centro el entorno. + + `t' + alineado en la fila superior + + `b' + alineado en la fila inferior + +`columnas' + Especifica el formato de columna. Este consiste en una secuencia + de los siguientes especificadores, correspondientes a la secuencia + de columnas y el material intercolumna. + + `l' + Una columna de elementos alineados a la izquierda. + + `r' + Una columna de elementos alineados a la derecha. + + `' + Una columna de elementos centrados. + + `|' + Una lÃnea vertical que llena la altura y profundidad total del + entorno. + + `@{texto}' + Esta inserta texto en cada fila. Una @-expresión suprime el + espacio intercolumnas insertado normalmente entre columnas; + cualquier espacio deseado entre el texto insertado y los + elementos adyacentes se deberá incluir en texto. Una + instrucción `\extracolsep{ancho}' en una @-expresión provoca + que aparezca un espacio extra de ancho `ancho' a la izquierda + de todas las columnas subsecuentes, hasta que se anule por + otra instrucción `\extracolsep'. A diferencia del espacio + intercolumna ordinario, este espacio adicional no se suprime + por una @-expresión. Una instrucción `\extracolsep' + únicamente se pude utilizar en una @-expresión en el argumento + `columnas'. + + `p{ancho}' + Produce una columna con cada elemento compuesto + tipográficamente en una parbox de ancho ancho, como si fuera + el argumento de una instrucción `\parbox[t]{ancho}'. Sin + embargo, una `\\' en el elemento no puede, salvo en las + siguientes situaciones: + + 1. Dentro de un entorno como `minipage', `array' o + `tabular'. + + 2. Dentro de una `\parbox' explÃcita. + + 3. En el alcance de una declaración `\centering', + `\raggedright' o `\raggedleft'. La última declaración + debe aparecer dentro de llaves o un entorno cuando se + utiliza en un elemento `p'-columna. + + `*{número}{columnas}' + Equivalente a número de copias de columnas, donde número es un + entero positivo y columnas es cualquier lista de + especificadores de columna, la cual puede contener otra + `*-expresión'. + + Parámetros que controlan el formato: + +`\arrayrulewidth' + El espesor de la lÃnea creada por `|', `\hline' y `\vline' en los + entornos `tabular' y `array'; el predeterminado es `.4pt'. + +`\arraystretch' + El factor para escalar el espaciado entre hileras en los entornos + `tabular' y `array'; el predeterminado es `1', para no escalar. + +`\doublerulesep' + Distancia horizontal entre las lÃneas verticles producidas por `||' + en los entornos `tabular' y `array'; el predeterminado es `2pt'. + +`\tabcolsep' + La mitad de la anchura del espacio entre las columnas; el + predeterminado es `6pt'. + + Estas instrucciones se pueden utilizar en el interior de un entorno +`tabular': + +* Menu: + +* \multicolumn:: Hace que un elemento abarque varias columnas. +* \cline:: Dibuja una lÃnea horizontal que abarca algunas columnas. +* \hline:: Dibuja una lÃnea horizontal que abarca todas las columnas. +* \vline:: Dibuja una lÃnea vertical. + + +File: latex2e-es.info, Node: \multicolumn, Next: \cline, Up: tabular + +8.23.1 `\multicolumn' +--------------------- + +Sinopsis: + \multicolumn{columnas}{posición}{texto} + + La instrucción `\multicolumn' provoca que una entrada se extienda por +varias columnas. El primer argumento obligatorio, columnas, especifica +es el número de columnas por abarcar. El segundo argumento obligatorio, +posición, especifica el formato de la entrada; `c' para centrado, `l' +para alineado a la izquierda, `r' para alineado a la derecha. El tercer +argumento obligatorio, texto, especifica el texto a colocar en la +entrada. + + He aquà un ejemplo que muestra dos columnas separadas por un doble +guión; `\multicolumn' se utiliza para el encabezado: + + \begin{tabular}{r@{--}l} + \multicolumn{2}{c}{\bf Unicode}\cr + 0x80&0x7FF \cr + 0x800&0xFFFF \cr + 0x10000&0x1FFFF \cr + \end{tabular} + + +File: latex2e-es.info, Node: \cline, Next: \hline, Prev: \multicolumn, Up: tabular + +8.23.2 `\cline' +--------------- + +Sinopsis: + + \cline{i-j} + + La instrucción `\cline' dibuja un lÃnea horizontal a través de las +columnas especificadas, comenzando en la colúmna i y terminando en la +columna j, que son especificadas en el argumento obligatorio. + + +File: latex2e-es.info, Node: \hline, Next: \vline, Prev: \cline, Up: tabular + +8.23.3 `\hline' +--------------- + +La instrucción `\hline' dibuja una lÃnea horizontal del ancho del +entorno `tabular' o `array' especificado. Se utiliza comúnmente para +para dibujar una lÃnea en la parte superior, inferior y entre filas de +la tabla. + + +File: latex2e-es.info, Node: \vline, Prev: \hline, Up: tabular + +8.23.4 `\vline' +--------------- + +La instrucción `\vline' dibuja una lÃnea vertical extendida a la altura +y profundidad total de su fila. Una instrucción `\hfill' se puede +utilizar para mover la lÃnea hasta el borde de la columna. También se +puede utilizar en una @-expresión. + + +File: latex2e-es.info, Node: thebibliography, Next: theorem, Prev: tabular, Up: Entornos + +8.24 `thebibliography' +====================== + +Sinopsis: + + \begin{thebibliography}{etiqueta-más-amplia} + \bibitem[etiqueta]{clave-de-cita} + ... + \end{thebibliography} + + El entorno `thebibliography' produce una bibliografÃa o lista de +referencia. + + En las clase `article', esta lista de referencia es etiquetada como +“Referenciasâ€; en la clase `report', esta es etiquetada como +“BibliografÃaâ€. Usted puede cambiar la etiqueta (en las clases +estándar) redefiniendo la instrucción `\refname'. Por ejemplo, la +siguiente instrucción la elimina por completo: + + \renewcommand{\refname}{} + + El argumento obligatorio etiqueta-más-amplia es texto que, al momento +de componerla tipográficamente, es tan ancho como la etiqueta producida +por la instrucción `\bibitem'. Se suele dar como `9' para bibliografÃas +de menos de 10 referencias, `99' para las que tienen menos de 100, etc. + +* Menu: + +* \bibitem:: Especifica un elemento de la bibliografÃa. +* \cite:: Hace referencia a un elemento bibliográfico. +* \nocite:: Incluye un elemento en la bibliografÃa. +* Usando BibTeX:: Generando bibliografÃas automáticamente. + + +File: latex2e-es.info, Node: \bibitem, Next: \cite, Up: thebibliography + +8.24.1 `\bibitem' +----------------- + +Sinopsis: + \bibitem[etiqueta]{clave-de-cita} + + La instrucción `\bibitem' genera una entrada etiquetada por etiqueta. +Si se omite el argumento etiqueta, automáticamente se genera un número +utilizando el contador `enumi'. La clave-de-cita es cualquier secuencia +de letras, números y signos de puntuación que no contenga una coma. + + Esta instrucción escribe una entrada al archivo `.aux' que contiene +los elementos clave-de-cita y etiqueta. Cuando la instrucción +`\begin{document}' lee el archivo `.aux', los elementos `etiqueta' son +asociados con `clave-de-cita', produciendo referencias a clave-de-cita +con una instrucción `\cite' (vea la siguiente sección) para producir la +etiqueta asociada. + + +File: latex2e-es.info, Node: \cite, Next: \nocite, Prev: \bibitem, Up: thebibliography + +8.24.2 `\cite' +-------------- + +Sinopsis: + + \cite[subcita]{claves + + El argumento claves es una lista de una o más claves de cita, +separadas por comas. Esta instrucción genera una cita en el texto para +referencias asociadas con claves por medio de entradas en el archivo +`.aux'. + + El argumento de texti opcional subcita aparece después de la cita. +Por ejemplo, `\cite[p.~314]{knuth}' podrÃa producir `[Knuth, p. 314]'. + + +File: latex2e-es.info, Node: \nocite, Next: Usando BibTeX, Prev: \cite, Up: thebibliography + +8.24.3 `\nocite' +---------------- + +`\nocite{lista-de-claves}' + + La instrucción `\nocite' no produce texto, pero escribe en el archivo +`.aux' la `lista-de-claves', que es una lista de una o más etiquetas de +cita. + + +File: latex2e-es.info, Node: Usando BibTeX, Prev: \nocite, Up: thebibliography + +8.24.4 Usando BibTeX +-------------------- + +Si usted utiliza el programa BibTeX escrito por Oren Patashnik +(altamente recomendable si necesita una bibliografÃa de más de un par de +tÃtulos) para mantener su bibliografÃa, no utilice el entorno +`thebibliography' (*note thebibliography::). En su lugar, incluya las +lÃneas + + \bibliographystyle{estilo-de-bibliografÃa} + \bibliography{archivo-de-bibliografÃa-1,archivo-de-bibliografÃa-2} + + La instrucción `\bibliographystyle' por sà misma no produce salida +alguna. Por el contrario, define el estilo en que se producirá la +bibliografÃa: estilo-de-bibliografÃa se refiere a un archivo +`estilo-de-bibliografÃa.bst', en el que se define qué apariencia tendrán +las citas. Los nombres de estilo estándar distribuidos con BibTeX son: + +`alpha' + Ordenadas alfabéticamente. Las etiquetas están formadas por el + nombre del autor y año de publicación. + +`plain' + Ordenadas alfabéticamente. Las etiquetas son numéricas. + +`unsrt' + Al igual que `plain', pero las entradas están en el orden citado. + +`abbrv' + Igual que `plain', pero con etiquetas más compactas. + + Además, existen muchos otros archivos de estilo BibTeX adaptados a +las demandas de diversas publicaciones. Vea +`http://www.ctan.org/tex-archive/biblio/bibtex/contrib'. + + La instrucción `\bibliography' es la que realmente produce la +bibliografÃa. El argumento `\bibliography' se refiere a archivos con el +nombre `archivo-de-bibliografÃa.bib', el cual debe contener la base de +datos en formato BibTeX. Sólo las entradas referidas a través de +`\cite' y `\nocite' serán incluidas en la bibliografÃa. + + +File: latex2e-es.info, Node: theorem, Next: titlepage, Prev: thebibliography, Up: Entornos + +8.25 `theorem' +============== + +Sinopsis: + + \begin{theorem} + texto-del-teorema + \end{theorem} + + El entorno `theorem' produce “Teorema n†en negrita seguido por el +texto-del-teorema, donde las posibilidades de numeración para n se +describen bajo `\newtheorem' (*note \newtheorem::). + + +File: latex2e-es.info, Node: titlepage, Next: verbatim, Prev: theorem, Up: Entornos + +8.26 `titlepage' +================ + +Sinopsis: + + \begin{titlepage} + texto + \end{titlepage} + + El entorno `titlepage' crea una página de tÃtulo, es decir, una +página en la cual no se imprime el número de página ni el encabezado. +También provoca que la página siguiente sea numerada como la página uno. +El formato de la página del tÃtulo se deja bajo su responsabilidad. La +instrucción `\today' puede ser útil en las páginas de tÃtulo (*note +\today::). + + Usted puede utilizar la instrucción `\maketitle' (*note \maketitle::) +para producir una página de tÃtulo estándar sin un entorno `titlepage'. + + +File: latex2e-es.info, Node: verbatim, Next: verse, Prev: titlepage, Up: Entornos + +8.27 `verbatim' +=============== + +Sinopsis: + + \begin{verbatim} + texto-literal + \end{verbatim} + + El entorno `verbatim' es un entorno para crear párrafos en el cual +LaTeX produce exactamente lo que usted escriba en él; Por ejemplo el +carácter `\' produce una `\' impresa. Este cambia el modo en que LaTeX +imprime los que usted escriba con retornos de carro y espacios en blanco +con el mismo efecto que tendrÃa en una máquina de escribir. + + El entorno `verbatim' utiliza una composición tipográfica con tipo de +letra monoespacio (`\tt'). + +* Menu: + +* \verb:: La forma macro del entorno `verbatim'. + + +File: latex2e-es.info, Node: \verb, Up: verbatim + +8.27.1 `\verb' +-------------- + +Sinopsis: + + \verbcaráctertexto-literalcarácter + \verb*caráctertexto-literalcarácter + + La instrucción `\verb' compone tipográficamente el texto-literal como +este se ha ingresado incluyendo caracteres especiales y espacios, +utilizando el tipo de letra de máquina de escribir (`\tt'). No se +permiten espacios entre `\verb' o `\verb*' y el carácter delimitador, el +cual comienza y termina el texto literal. El delimitador no debe +aparecer en el texto-literal. + + La forma con `*' difiere únicamente en que los espacios son impresos +con un carácter de “espacio visibleâ€. + + +File: latex2e-es.info, Node: verse, Prev: verbatim, Up: Entornos + +8.28 `verse' +============ + +Sinopsis: + + \begin{verse} + lÃnea1 \\ + lÃnea2 \\ + ... + \end{verse} + + El entorno `verse' está diseñado para poesÃa, aunque es posible que +usted le encuentre alguna otra utilidad. + + Los márgenes tienen sangrÃa a la izquierda y derecha, a los párrafos +no se les aplica sangrÃa y el texto no está justificado. Separe las +lÃneas de cada estrofa con `\\' y use una o más lÃneas en blanco para +separar las estrofas. + + +File: latex2e-es.info, Node: Saltos de LÃnea, Next: Saltos de Página, Prev: Entornos, Up: Top + +9 Saltos de LÃnea +***************** + +Lo primero que hace LaTeX cuando procesa texto normal es traducir el +archivo de entrada en una secuencia de unidades gráficas y espacios. +Para producir un documento impreso, esta secuencia se debe partir en +lÃneas (y esas lÃnea se deben dividir en páginas). + + Normalmente LaTeX se encarga de los saltos de lÃnea (y página), pero +en algunos entornos, usted mismo determina los saltos de lÃneas con la +instrucción `\\', y siempre puede forzar los saltos de lÃnea +manualmente. + +* Menu: + +* \\:: Inicia una nueva lÃnea. +* \obeycr y \restorecr:: Provoca que cada lÃnea ingresada comience una nueva lÃnea. +* \newline:: Divide la lÃnea \- (hyphenation):: Inserta un guión en la sÃlaba explicita. +* \- (hyphenation):: +* \fussy:: Es quisquilloso con la separación de lÃnea. +* \sloppy:: Es descuidado en la separación de la lÃneas. +* \hyphenation:: Le dice a LaTeX cómo insertar un guión para separar una palabra. +* \linebreak y \nolinebreak:: Forzando y evitando saltos de lÃnea. + + +File: latex2e-es.info, Node: \\, Next: \obeycr y \restorecr, Up: Saltos de LÃnea + +9.1 `\\'[*][más-espacio] +======================== + +La instrucción `\\' le dice a LaTeX que comience una nueva lÃnea. Esta +tiene un argumento opcional, más-espacio, que especifica la cantidad de +espacio vertical extra que se debe insertar antes de la siguiente lÃnea. +Este puede ser una cantidad negativa. + + La instrucción `\\*' es la misma que la instrucción ordinaria `\\' +salvo que esta le dice a LaTeX que no comience una nueva página después +de la lÃnea. + + +File: latex2e-es.info, Node: \obeycr y \restorecr, Next: \newline, Prev: \\, Up: Saltos de LÃnea + +9.2 `\obeycr' y `\restorecr' +============================ + +La instrucción `\obeycr' genera un retorno de carro en el archivo de +entrada (`^^M', internamente) lo mismo que `\\' (seguido por `\relax'). +Por lo tanto, cada nueva lÃnea en la entrada también será una nueva +lÃnea en la salida. + + `\restorecr' restaura el comportamiento de saltos de lÃnea normal. + + +File: latex2e-es.info, Node: \newline, Next: \- (hyphenation), Prev: \obeycr y \restorecr, Up: Saltos de LÃnea + +9.3 `\newline' +============== + +La instrucción `\newline' rompe la lÃnea en el punto actual, sin +justificar el texto anterior. Sólo se puede utilizar en modo párrafo. + + +File: latex2e-es.info, Node: \- (hyphenation), Next: \fussy, Prev: \newline, Up: Saltos de LÃnea + +9.4 `\-' (división silábica discrecional) +========================================= + +La instrucción `\-' le dice a LaTeX que puede dividir la palabra con un +guión en ese punto. LaTeX cuenta con una muy buena separación silábica +con guión, y por lo general en la mayorÃa de los casos encuentra los +puntos correctos en la división de palabras, y casi nunca utiliza uno +incorrecto. La instrucción `\-' se utiliza para casos excepcionales. + + Cuando usted inserta la instrucción `\-' en una palabra, la palabra +únicamente se debe dividir con guión en esos puntos y en ninguno de los +puntos que LaTeX pudiera haber elegido de otro modo. + + +File: latex2e-es.info, Node: \fussy, Next: \sloppy, Prev: \- (hyphenation), Up: Saltos de LÃnea + +9.5 `\fussy' +============ + +La declaración `\fussy' (que es la predeterminada) provoca que TeX sea +quisquilloso con los saltos de lÃnea. Esto por lo general también evita +el espacio entre palabras, a costa de un ocasional desbordamiento de +caja. + + Esta instrucción cancela el efecto de una instrucción `\sloppy' +previa (*note \sloppy::. + + +File: latex2e-es.info, Node: \sloppy, Next: \hyphenation, Prev: \fussy, Up: Saltos de LÃnea + +9.6 `\sloppy' +============= + +La declaración `\sloppy' provoca que TeX sea menos cuidadoso con los +saltos de lÃnea. Esto evitará el desbordamiento de cajas, a costa de un +mayor espaciamiento entre palabras. + + Dura hasta que se utilice una instrucción `\fussy' (*note \fussy::). + + +File: latex2e-es.info, Node: \hyphenation, Next: \linebreak y \nolinebreak, Prev: \sloppy, Up: Saltos de LÃnea + +9.7 `\hyphenation' +================== + +Sinopsis: + + \hyphenation{palabra-uno palabra-dos} + + La instrucción `\hyphenation' declara los puntos dónde se permite la +división de palabras por medio de un carácter `-' en las palabras +proporcionadas. Las palabras están separadas por espacios. TeX +únicamente debe separar las palabras si la palabra coincide exactamente, +sin juzgar las inflexiones. Múltiples instrucciones `\hyphenation' son +acumulativas. Algunos ejemplos (los patrones de separación silábica de +TeX no se aplican a esas palabras): + + \hyphenation{ap-én-dice col-umnas hiper-fragilÃs-tico-espiali-doso} + + +File: latex2e-es.info, Node: \linebreak y \nolinebreak, Prev: \hyphenation, Up: Saltos de LÃnea + +9.8 `\linebreak' y `\nolinebreak' +================================= + +Sinopsis: + + \linebreak[prioridad] + \nolinebreak[prioridad] + + De manera predeterminada, la instrucción `\linebreak' +(`\nolinebreak') fuerza (previene) un salto de lÃnea en la posición +actual. Para `\linebreak', los espacios en la lÃnea se expanden hasta +el margen derecho de la manera normal. + + Con el argumento opcional prioridad, usted puede convertir la +instrucción de una petición a una demanda. La prioridad debe ser un +número desde 0 hasta 4. Cuanto mayor sea el número, es más insistente +la petición. + + +File: latex2e-es.info, Node: Saltos de Página, Next: Notas al Pie, Prev: Saltos de LÃnea, Up: Top + +10 Saltos de Página +******************* + +LaTeX inicia nuevas páginas asincronicamente, cuando ha acumulado +suficiente material para llenar una página. Por lo general, esto ocurre +automáticamente, pero a veces, posiblemente, usted quiera influir en los +saltos de página. + +* Menu: + +* \cleardoublepage:: Inicia una nueva página a mano derecha. +* \clearpage:: Inicia una nueva página. +* \newpage:: Inicia una nueva página. +* \enlargethispage:: AmplÃa un poco la página actual. +* \pagebreak y \nopagebreak:: Forzando y evitando saltos de página. + + +File: latex2e-es.info, Node: \cleardoublepage, Next: \clearpage, Up: Saltos de Página + +10.1 `\cleardoublepage' +======================= + +La instrucción `\cleardoublepage' termina la página actual y provoca que +se impriman todas las imágenes y tablas que han aparecido hasta el +momento en el texto. En un estilo de Impresión a doble cara, este +también hace que la siguiente página sea a mano derecha, página +(impares), produciendo una página en blanco si es necesario. + + +File: latex2e-es.info, Node: \clearpage, Next: \newpage, Prev: \cleardoublepage, Up: Saltos de Página + +10.2 `\clearpage' +================= + +La instrucción `\clearpage' termina la página actual y provoca que todas +la imágenes y tablas que han aparecido hasta ahora en la entrada sean +impresas. + + +File: latex2e-es.info, Node: \newpage, Next: \enlargethispage, Prev: \clearpage, Up: Saltos de Página + +10.3 `\newpage' +=============== + +La instrucción `\newpage' termina la página actual, pero no descarga +flotantes (vea `\clearpage' arriba). + + +File: latex2e-es.info, Node: \enlargethispage, Next: \pagebreak y \nopagebreak, Prev: \newpage, Up: Saltos de Página + +10.4 `\enlargethispage' +======================= + +`\enlargethispage{tamaño}' + + `\enlargethispage*{tamaño}' + + AmplÃa el `\textheight' para la página actual por la cantidad +especificada; por ejemplo `\enlargethispage{\baselineskip}' permitirá +una lÃnea adicional. + + La forma favorita trata de apretar el material en la página tanto +como sea posible. Esta normalmente se utiliza junto con un `\pagebreak' +explÃcito. + + +File: latex2e-es.info, Node: \pagebreak y \nopagebreak, Prev: \enlargethispage, Up: Saltos de Página + +10.5 `\pagebreak' y `\nopagebreak' +================================== + +Sinopsis: + + \pagebreak[prioridad] + \nopagebreak[prioridad] + + De forma predeterminada, la instrucción `\pagebreak' (`\nopagebreak') +fuerza (impide) un salto de página en la posición actual. Para +`\linebreak', el espacio vertical en la página se estira cuanto sea +posible de modo que se extienda hasta el margen inferior normal. + + Con el argumento opcional prioridad, puede convertir la instrucción +`\pagebreak' desde una petición a una demanda. El número debe ser un +número desde 0 hasta 4. Cuanto mayor sea el número, más insistente es +la petición. + + +File: latex2e-es.info, Node: Notas al Pie, Next: Definiciones, Prev: Saltos de Página, Up: Top + +11 Notas al Pie +*************** + +Las notas al pie se pueden producir en una de dos maneras. Se pueden +producir con una sola instrucción, la instrucción `\footnote'. También +se pueden producir con dos instrucciones, las instrucciones +`\footnotemark' y `\footnotetext'. + +* Menu: + +* \footnote:: Inserta una nota al pie. +* \footnotemark:: Solamente Inserta la marca de nota. +* \footnotetext:: Solamente Inserta el texto la nota. +* Notas al Pie Simbólicas:: Usando sÃmbolos en lugar de números para las notas. +* Parámetros para Footnote:: Parámetros para el formato de la nota al pie. + + +File: latex2e-es.info, Node: \footnote, Next: \footnotemark, Up: Notas al Pie + +11.1 `\footnote' +================ + +Sinopsis: + + \footnote[número]{texto} + + La instrucción `\footnote' coloca una nota numerada con el texto al +pie de la página actual. El argumento opcional número cambia el número +predeterminado de la nota. + + Esta instrucción sólo puede utilizarse fuera del modo párrafo; es +decir, no se puede utilizar en el instrucciones de seccionado tal como +`\chapter', en figuras, tablas o en un entorno `tabular'. (Vea las +siguientes secciones). + + +File: latex2e-es.info, Node: \footnotemark, Next: \footnotetext, Prev: \footnote, Up: Notas al Pie + +11.2 `\footnotemark' +==================== + +Sin argumento opcional, la instrucción `\footnotemark' coloca el número +de nota actual en el texto. Esta instrucción se puede utilizar en modo +párrafo. Usted proporciona el texto de la nota por separado, con la +instrucción `\footnotetext'. + + Esta instrucción se puede utilizar para producir varios marcadores de +nota consecutivos refiriéndose a la misma nota + + \footnotemark[\value{footnote}] + +después de la primer instrucción `\footnote'. + + +File: latex2e-es.info, Node: \footnotetext, Next: Notas al Pie Simbólicas, Prev: \footnotemark, Up: Notas al Pie + +11.3 `\footnotetext' +==================== + +Sinopsis: + + \footnotetext[número]{texto} + + La instrucción `\footnotetext' coloca el texto en la parte inferior +de la página como una nota al pie. Esta instrucción puede venir en +cualquier lugar después de la instrucción `\footnotemark'. La +instrucción `\footnotetext' debe aparecer en el exterior del modo +párrafo. + + El argumento opcional número cambia el número predeterminado de la +nota. + + +File: latex2e-es.info, Node: Notas al Pie Simbólicas, Next: Parámetros para Footnote, Prev: \footnotetext, Up: Notas al Pie + +11.4 Notas al Pie Simbólicas +============================ + +Si desea utilizar sÃmbolos para las notas al pie, en lugar de un número +creciente, redefina `\thefootnote' asÃ: + + \renewcommand{\thefootnote}{\fnsymbol{nota-al-pie}} + + La instrucción `\fnsymbol' produce a serie predefinida de sÃmbolos +(*note \alph \Alph \arabic \roman \Roman \fnsymbol::). Si desea +utilizar un sÃmbolo diferente como su marca de nota al pie, necesitará +redefinir `\fnsymbol'. + + +File: latex2e-es.info, Node: Parámetros para Footnote, Prev: Notas al Pie Simbólicas, Up: Notas al Pie + +11.5 Parámetros para Footnote +============================= + +`\footnoterule' + Produce la lÃnea que separa el texto principal en una página de las + notas al pie de la página. Dimensiones predeterminadas: `0.4pt' + espesor (o ancho), y longitud de `0.4\columnwidth' en las clases de + documento estándar (salvo en slides, donde esta no aparece). + +`\footnotesep' + La altura donde se coloca el puntal al comienzo de la nota al pie. + De forma predeterminada, se establece en el puntal del tipo de + letra normal `\footnotesize' (*note Tamaños del Tipo de Letra::, + por lo tanto no hay espacio extra entre las notas. Este es + `6.65pt' para `10pt', `7.7pt' para `11pt' y `8.4pt' para `12pt'. + + +File: latex2e-es.info, Node: Definiciones, Next: Contadores, Prev: Notas al Pie, Up: Top + +12 Definiciones +*************** + +LaTeX tiene la capacidad para crear nuevas instrucciones de muchos tipos +diferentes. + +* Menu: + +* \newcommand y \renewcommand:: (Re)define una nueva instrucción. +* \newcounter:: Define un nuevo contador. +* \newlength:: Define una nueva longitud. +* \newsavebox:: Define una nueva caja. +* \newenvironment y \renewenvironment:: Definen un nuevo entorno. +* \newtheorem:: Definen un nuevo entorno -como teorema. +* \newfont:: Define un nuevo nombre de tipo de letra. +* \protect:: Usando instrucciones astutas. + + +File: latex2e-es.info, Node: \newcommand y \renewcommand, Next: \newcounter, Up: Definiciones + +12.1 `\newcommand' y `\renewcommand' +==================================== + +`\newcommand' y `\renewcommand' define y redefine una instrucción, +respectivamente. + + Sinopsis: + + \newcommand{instrucción}[n-argumentos]{definición} + \renewcommand{instrucción}[n-argumentos]{definición} + \newcommand{instrucción}[n-argumentos][predeterminado]{definición} + \renewcommand{instrucción}[n-argumentos][predeterminado]{definición} + +instrucción + El nombre de la instrucción comenzando con `\'. Para + `\newcommand', este no se debe haber definido y no debe comenzar + con `\end'; para `\renewcommand', este ya tiene que estar definido. + +n-argumentos + Un entero opcional entre 1 y 9 especificando el número de + argumentos que debe tomar la instrucción. El valor predeterminado + es para que la instrucción no tome argumentos. + +predeterminado + Si este parámetro opcional está presente, significa que el primer + argumento del comando es opcional. Cuando se invoca a la nueva + instrucción, el valor predeterminado del argumento opcional (es + decir, si no se especifica en la llamada) es la cadena + `definición'. + +definición + El texto con el que se sustituirá cada aparición de `instrucción'; + una construcción de la forma `#n' en definición es reemplazada por + el texto del enésimo argumento. + + +File: latex2e-es.info, Node: \newcounter, Next: \newlength, Prev: \newcommand y \renewcommand, Up: Definiciones + +12.2 `\newcounter' +================== + +Sinopsis: + + \newcounter{contador}[nombre-contador] + + La instrucción `\newcounter' define un nuevo contador llamado +contador. El nuevo contador se inicializa a cero. + + Dado el argumento opcional `[nombre-contador]', (contador se +restablecerá cuando nombre-contador se incremente. + + *Note Contadores::, para mayor información. + + +File: latex2e-es.info, Node: \newlength, Next: \newsavebox, Prev: \newcounter, Up: Definiciones + +12.3 `\newlength' +================= + +Sinopsis: + + \newlength{\argumento} + + La instrucción `\newlength' define el argumento obligatorio como una +instrucción `length' con un valor de `0in'. El argumento debe ser una +secuencia de control, como en `\newlength{\foo}'. Ocurre un error si +`\foo' ya está definido. + + *Note Longitudes::, para saber cómo fijar la nueva longitud a un +valor distinto de cero, y para más información acerca de las longitudes +en general. + + +File: latex2e-es.info, Node: \newsavebox, Next: \newenvironment y \renewenvironment, Prev: \newlength, Up: Definiciones + +12.4 `\newsavebox' +================== + +Sinopsis: + + \newsavebox{instrucción} + + Define `\instrucción', el cual debe ser un nombre de instrucción que +no se haya definido, para referirse a una nueva bandeja para almacenar +cajas. + + +File: latex2e-es.info, Node: \newenvironment y \renewenvironment, Next: \newtheorem, Prev: \newsavebox, Up: Definiciones + +12.5 `\newenvironment' y `\renewenvironment' +============================================ + +Sinopsis: + + + \newenvironment{entorno}[n-argumentos]{antes-definición} + {después-definición} + \newenvironment{entorno}[n-argumentos][predeterminado] + {antes-definición}{después-definición} + \renewenvironment{entorno}[n-argumentos] + {antes-definición}{después-definición} + + Estas instrucciones definen o redefinen un entorno entorno, es decir, +`\begin{entorno} … \end{entorno}'. + +entorno + El nombre del entorno. Para `\newenvironment', entorno no debe ser + un entorno existente, y la instrucción `\entorno' debe ser una que + no se haya definido previamente. Para `\renewenvironment', entorno + debe ser el nombre de un entorno existente. + +n-argumentos + Un entero desde 1 a 9 denotando el número de argumentos del nuevo + entorno definido. El valor predeterminado es ningún argumento. + +predeterminado + Si se especifica, el primer argumento es opcional, y predeterminado + proporciona el valor predeterminado para ese argumento. + +antes-definición + El texto ampliado en cada aparición de `\begin{entorno}'; una + construcción en forma `#n' en antes-definición es sustituido por el + texto del enésimo argumento. + +después-definición + El texto ampliado de cada aparición de `\end{entorno}'. este no + debe contener ningún argumento para parámetros. + + +File: latex2e-es.info, Node: \newtheorem, Next: \newfont, Prev: \newenvironment y \renewenvironment, Up: Definiciones + +12.6 `\newtheorem' +================== + + \newtheorem{nuevo-entorno}{etiqueta}[con] + \newtheorem{nuevo-entorno}[numerado-como]{etiqueta} + + Esta instrucción define un entorno parecido a teorema. Argumentos: + +nuevoentorno + El nombre del nuevo entorno a definir; no debe ser el nombre de un + entorno existente o de lo contrario será redefinido. + +etiqueta + El texto a imprimir al inicio del entorno, antes del número. Por + ejemplo, `Teorema'. + +numerado_como + (Opcional). El nombre de un entorno ya definido tal como teorema; + + (Opcional). El nombre de un entorno ya definido tal como teorema + el nuevo entorno será numerado exactamente como numerado_como. + +con + (Opcional). El nombre de un contador definido previamente, una + unidad de seccionado. El nuevo contador de teorema será + restablecido al mismo tiempo que el contador con. + + Cuando menos uno de numerado_como y con se debe especificar, no +ambos. + + +File: latex2e-es.info, Node: \newfont, Next: \protect, Prev: \newtheorem, Up: Definiciones + +12.7 `\newfont' +=============== + +Sinopsis: + + \newfont{instrucción}{nombredetipo} + + Define una secuencia de control `\instrucción', misma que no se debe +haber definido, para hacer que nombredetipo sea el tipo de letra actual. +El archivo bloqueado en el sistema es llamado `nombredetipo.tfm'. + + Esta es una instrucción de bajo nivel para configurar el uso de un +tipo de letra individual. Comúnmente, los tipos de letra se definen a +través de familias de archivos `.fd'. + + +File: latex2e-es.info, Node: \protect, Prev: \newfont, Up: Definiciones + +12.8 `\protect' +=============== + +Pies de página, saltos de lÃnea, cualquier instrucción que tenga un +argumento opcional, y muchas más de las asà llamadas instrucciones +"frágiles". Cuando una instrucción frágil se utiliza en ciertos +contextos, llamados "argumentos móviles", estas se deben preceder con +`\protect'. Además, algunas instrucciones con argumentos frágiles deben +tener su propia `\protect'. + + Algunos ejemplos de argumentos móviles son `\caption' (*note +figure::), `\thanks' (*note \maketitle::) y @-expresiones en entornos +`tabular' y `array' (*note tabular::). + + Las instrucciones que no son frágiles se llaman "robustas". Estas no +se deben preceder con `\protect'. + + Vea también: + +`http://www-h.eng.cam.ac.uk/help/tpl/textprocessing/teTeX/latex/latex2e-html/fragile.html' +`http://www.tex.ac.uk/cgi-bin/texfaq2html?label=protect' + + +File: latex2e-es.info, Node: Contadores, Next: Longitudes, Prev: Definiciones, Up: Top + +13 Contadores +************* + +Cualquier cosa numerada por LaTeX tiene un contador asociado a ella. El +nombre del contador es el mismo nombre que el nombre del entorno o +instrucción que produce el número, salvo las que no comienzan con `\'. +(`enumi'–`enumiv' se utilizan para entornos enumerados anidados). A +continuación hay una lista de los contadores utilizados en las clases de +documentos estándar de LaTeX para controlar la numeración. + + part paragraph figure enumi + chapter subparagraph table enumii + section page footnote enumiii + subsection equation mpfootnote enumiv + subsubsection + +* Menu: + +* \alph \Alph \arabic \roman \Roman \fnsymbol:: Imprimiendo el valor de un contador. +* \usecounter:: Utiliza un contador especificado en un entorno de lista. +* \value:: Utiliza el valor de un contador en una expresión. +* \setcounter:: Establece el valor de un contador. +* \addtocounter:: Añade un calificador a un contador. +* \refstepcounter:: Añade un contador, restableciendo los contadores subsidiarios. +* \stepcounter:: Añade un contador, restableciendo los contadores subsidiarios. +* \day \month \year:: Valores numéricos de fecha. + + +File: latex2e-es.info, Node: \alph \Alph \arabic \roman \Roman \fnsymbol, Next: \usecounter, Up: Contadores + +13.1 `\alph \Alph \arabic \roman \Roman \fnsymbol': Imprimiendo Contadores +========================================================================== + +Todas estas instrucciones toman como argumento un solo contador, por +ejemplo, `\alph{enumi}'. + +`\alph' + imprime contador usando letras minúsculas: `a', `b', ... + +`\Alph' + utiliza letras mayúsculas: `A', `B', ... + +`\arabic' + utiliza números Arábigos: `1', `2', ... + +`\roman' + utiliza números romanos en minúsculas: `i', `ii', ... + +`\roman' + utiliza números romanos en mayúsculas: `I', `II', ... + +`\fnsymbol' + imprime el valor de contador en una secuencia especÃfica de nueve + sÃmbolos (convencionalmente usada para etiquetar notas al pie de + página). El valor de contador debe estar entre 1 y 9 incluido. + + Los sÃmbolos no son compatibles en info principalmente, pero aquà + están los nombres: + + asterix(*) dagger ddagger section-sign paragraph-sign parallel + double-asterix(**) double-dagger double-ddagger + + +File: latex2e-es.info, Node: \usecounter, Next: \value, Prev: \alph \Alph \arabic \roman \Roman \fnsymbol, Up: Contadores + +13.2 `\usecounter{contador}' +============================ + +Sinopsis: + + \usecounter{contador} + + La instrucción `\usecounter' se utiliza en el segundo argumento del +entorno `list' para especificar el contador a utilizar para numerar los +elementos de la lista. + + +File: latex2e-es.info, Node: \value, Next: \setcounter, Prev: \usecounter, Up: Contadores + +13.3 `\value{contador}' +======================= + +Sinopsis: + + \value{contador} + + La instrucción `\value' produce el valor de contador. Esta se puede +utilizar en cualquier lugar en que LaTeX espera un número, por ejemplo: + + \setcounter{micontador}{3} + \addtocounter{micontador}{1} + \hspace{\value{micontador}\parindent} + + +File: latex2e-es.info, Node: \setcounter, Next: \addtocounter, Prev: \value, Up: Contadores + +13.4 `\setcounter{\contador}{valor}' +==================================== + +Sinopsis: + + \setcounter{\contador}{valor} + + La instrucción `\setcounter' fija el valor de \contador al argumento +valor. + + +File: latex2e-es.info, Node: \addtocounter, Next: \refstepcounter, Prev: \setcounter, Up: Contadores + +13.5 `\addtocounter{contador}{valor}' +===================================== + +La instrucción `\addtocounter' incrementa contador por la cantidad +especificada por el argumento valor, que puede ser un número negativo. + + +File: latex2e-es.info, Node: \refstepcounter, Next: \stepcounter, Prev: \addtocounter, Up: Contadores + +13.6 `\refstepcounter{contador}' +================================ + +La instrucción `\refstepcounter' trabaja de la misma manera que +`\stepcounter' *Note \stepcounter::, excepto que esta además define el +valor actual de `\ref' para que sea el resultado de `\thecounter'. + + +File: latex2e-es.info, Node: \stepcounter, Next: \day \month \year, Prev: \refstepcounter, Up: Contadores + +13.7 `\stepcounter{contador}' +============================= + +La instrucción `\stepcounter' añade uno al contador y restablece todos +los contadores subsidiarios. + + +File: latex2e-es.info, Node: \day \month \year, Prev: \stepcounter, Up: Contadores + +13.8 `\day \month \year': Contadores Predefinidos +================================================= + +LaTeX define contadores para el dÃa del mes (`\day', 1–31), mes del año +(`\month', 1–12), y año (`\year', Era Común). Al iniciar TeX, estas son +establecidas a los valores actuales en el sistema donde se está +ejecutando TeX. Estas no se actualizan conforme al progreso del +trabajo. + + La instrucción relacionada `\today' produce una cadena de texto que +representa el dÃa actual (*note \today::). + + +File: latex2e-es.info, Node: Longitudes, Next: Haciendo Párrafos, Prev: Contadores, Up: Top + +14 Longitudes +************* + +Una `longitud' es una medida de distancia. Muchas instrucciones LaTeX +toman una longitud como argumento. + +* Menu: + +* \setlength:: Establece el valor de longitud. +* \addtolength:: Añade una cantidad a longitud. +* \settodepth:: Establece una longitud a la profundidad de algo más. +* \settoheight:: Establece la longitud a la altura de algo más. +* \settowidth:: Establece la longitud a la anchura de alguna otra cosa. +* Longitudes Predeterminadas:: Longitudes que son, algo sà como, predefinidas. + + +File: latex2e-es.info, Node: \setlength, Next: \addtolength, Up: Longitudes + +14.1 `\setlength{\largo}{valor}' +================================ + +La instrucción `\setlength' fija el valor de \largo al argumento valor, +el cual se puede expresar en cualquier unidad que LaTeX entienda, es +decir, pulgadas (`in'), milÃmetros (`mm'), puntos (`pt'), puntos grandes +(`bp', etc. + + +File: latex2e-es.info, Node: \addtolength, Next: \settodepth, Prev: \setlength, Up: Longitudes + +14.2 \addtolength{\largo}{cantidad} +=================================== + +La instrucción `\addtolength' incrementa la “instrucción de longitud†+\largo por la cantidad especificada en el argumento cantidad, misma que +puede ser un valor negativo. + + +File: latex2e-es.info, Node: \settodepth, Next: \settoheight, Prev: \addtolength, Up: Longitudes + +14.3 `\settodepth' +================== + +`\settodepth{\gnat}{texto}' + + La instrucción `\settodepth' fija el valor de una instrucción de +`longitud' igual a la profundidad del argumento `texto'. + + +File: latex2e-es.info, Node: \settoheight, Next: \settowidth, Prev: \settodepth, Up: Longitudes + +14.4 `\settoheight' +=================== + +`\settoheight{\gnat}{texto}' + + La instrucción `\settoheight' fija el valor de la instrucción de +`longitud' igual a la altura del argumento `texto'. + + +File: latex2e-es.info, Node: \settowidth, Next: Longitudes Predeterminadas, Prev: \settoheight, Up: Longitudes + +14.5 `\settowidth{\largo}{texto}' +================================= + +La instrucción `\settowidth' establece el valor del la instrucción +\largo al valor del argumento texto. + + +File: latex2e-es.info, Node: Longitudes Predeterminadas, Prev: \settowidth, Up: Longitudes + +14.6 Longitudes Predeterminadas +=============================== + +`\width' + + `\height' + + `\depth' + + `\totalheight' + + Estos parámetros de longitud se pueden utilizar en los argumentos de +las instrucciones que dibujan cajas (*note Cajas::). Especifican el +ancho natural, etc., del texto en la caja. `\totalheight' es igual a +`\height' + `\depth'. Para hacer una caja con el texto extendido hasta +el doble del tamaño natural, por ejemplo, digamos + + `\makebox[ancho\2]{Consiga una camilla}' + + +File: latex2e-es.info, Node: Haciendo Párrafos, Next: Fórmulas Matemáticas, Prev: Longitudes, Up: Top + +15 Haciendo Párrafos +******************** + +Un párrafo se termina por medio de una o más lÃneas completamente en +blanco —lÃneas que no contienen incluso un `%'. Una lÃnea en blanco no +debe aparecer donde no se puede iniciar un nuevo párrafo, tal como en +modo math o en el argumento de una instrucción de seccionado. + +* Menu: + +* \indent:: Sangrando este párrafo. +* \noindent:: No sangra el siguiente párrafo. +* \parskip:: Añade un espacio antes de párrafos. +* Notas al Margen:: Coloca palabras en el margen. + + +File: latex2e-es.info, Node: \indent, Next: \noindent, Up: Haciendo Párrafos + +15.1 `\indent' +============== + +`\indent' produce un espacio horizontal donde el ancho es igual al ancho +de la longitud de `\parindent', la sangrÃa de un párrafo normal. Esta +se utiliza para añadir la sangrÃa de párrafos donde esta deberÃa +suprimirse en otro caso. + + El valor predeterminado para `\parindent' es `1em' en modo de dos +columnas, de lo contrario `15pt' para documentos de `10pt', `17pt' para +`11pt' y `1.5em' para `12pt'. + + +File: latex2e-es.info, Node: \noindent, Next: \parskip, Prev: \indent, Up: Haciendo Párrafos + +15.2 `\noindent' +================ + +Cuando se utiliza al principio de un párrafo, `\noindent' suprime +cualquier sangrÃa. Esta no tiene efecto cuando se utiliza en medio de +un párrafo. + + +File: latex2e-es.info, Node: \parskip, Next: Notas al Margen, Prev: \noindent, Up: Haciendo Párrafos + +15.3 `\parskip' +=============== + +`\parskip' es una instrucción que preserva la longitud definiendo +espacio vertical extra añadido antes de cada párrafo. El predeterminado +es `0pt más 1pt'. + + +File: latex2e-es.info, Node: Notas al Margen, Prev: \parskip, Up: Haciendo Párrafos + +15.4 Notas al Margen +==================== + +Sinopsis: + + \marginpar[izquierda]{derecha} + + La instrucción `\marginpar' crea una nota en el margen. La primera +lÃnea de una nota tiene que ser la misma lÃnea base que la lÃnea en el +texto donde ocurre el `\marginpar'. + + Cuando únicamente se especifica el argumento obligatorio right, el +texto se deberá colocar + + • en el margen derecho para diseños de un solo lado; + + • en el margen externo para diseños de dos caras; + + • en el margen más cercano en diseños de dos columnas. + + La instrucción `\reversemarginpar' coloca las subsecuentes notas al +margen en el margen (dentro) opuesto. `\normalmarginpar' las coloca en +la posición predeterminada. + + Cuando se especifican ambos argumentos, se utiliza left para el +margen izquierdo y se utiliza right para el margen derecho. + + La primer palabra normalmente no se debe separar con guiones; usted +puede habilitar la separación silábica con guiones comenzando la nota +con `\hspace{0pt}'. + + Los parámetros que afectan el formato de la nota son: + +`\marginparpush' + El espacio mÃnimo vertical entre notas; el predeterminado es `7pt' + para documentos de `12pt', de lo contrario `5pt'. + +`\marginparsep' + Espacio horizontal entre el texto vertical y la nota; + predeterminado `11pt' para `10pt' documentos, en otro caso `10pt'. + +`\marginparwidth' + El ancho de la nota en sà misma; el predeterminado para documentos + de un solo lado de `10pt' es `90pt', `83pt' para `11pt' y `68pt' + para `12pt'; `17pt' más en cada caso para documentos de dos caras. + En el modo de dos columnas, el predeterminado es `48pt'. + + +File: latex2e-es.info, Node: Fórmulas Matemáticas, Next: Modos, Prev: Haciendo Párrafos, Up: Top + +16 Fórmulas Matemáticas +*********************** + +Existen tres entornos que ponen a LaTeX en modo math: + +`math' + Para fórmulas que aparecerán directamente en el texto. + +`displaymath' + Para fórmulas que aparecerán en su propia lÃnea. + +`equation' + El mismo que el del entorno displaymath salvo que este añade un + número de ecuación en el margen derecho. + + El entorno `math' se pude utilizar tanto en párrafos como en modo LR, +pero los entornos `displaymath' y `equation' se pueden utilizar +únicamente en modo párrafo. Los entornos `math' y `displaymath' se +utilizan tan a menudo que tienen las siguientes formas abreviadas: + + \(...\) en lugar de \begin{math}...\end{math} + \[...\] en lugar de \begin{displaymath}...\end{displaymath} + + De hecho, el entorno `math' es como una instrucción que tiene incluso +una forma abreviada: + + $ ... $ en lugar de \(...\) + + La instrucción `\boldmath' cambia letras y sÃmbolos matemáticos en +tipo de letra en negrita. Este se utiliza _fuera_ del modo math. Por +el contrario, la instrucción `\unboldmath' cambia los glifos matemáticos +para estar en un tipo de letra normal; este también se utiliza _fuera_ +del modo math. + + La declaración `\displaystyle' presiona para que el tamaño y estilo +de la fórmula sea el de `displaymath', por ejemplo, con limites por +encima y debajo de sumatorias. Por ejemplo + $\displaystyle \sum_{n=0}^\infty x_n $ + +* Menu: + +* SubÃndices y SuperÃndices:: También conocido como exponente o Ãndice. +* SÃmbolos Matemáticos:: Varios garabatos matemáticos. +* Funciones Matemáticas:: Nombres de funciones Matemáticas como sin y exp. +* Acentos Matemáticos:: Acentos en Matemáticas. +* Espacios en Modo Math:: Espacios gruesos, medianos, delgados y negativos. +* Miscelánea Math:: Cosas que no encajan en ninguna otra categorÃa. + + +File: latex2e-es.info, Node: SubÃndices y SuperÃndices, Next: SÃmbolos Matemáticos, Up: Fórmulas Matemáticas + +16.1 SubÃndices y SuperÃndices +============================== + +Para hacer que una expresión exp aparezca como un subÃndice, escriba +`_{'exp`}'. Para hacer que exp aparezca como un exponente, escriba +`^{'exp`}'. LaTeX maneja superÃndices, subÃndices y todas esas cosas de +manera natural. Incluso hace lo correcto cuando algo tiene tanto un +subÃndice como un superÃndice. + + +File: latex2e-es.info, Node: SÃmbolos Matemáticos, Next: Funciones Matemáticas, Prev: SubÃndices y SuperÃndices, Up: Fórmulas Matemáticas + +16.2 SÃmbolos Matemáticos +========================= + +LaTeX proporciona casi cualquier sÃmbolo matemático que muy +probablemente necesite. Las instrucciones para generarlas se pueden +utilizar únicamente en modo math. Por ejemplo, si incluye `$\pi$' en su +archivo fuente, aparecerá el sÃmbolo de pi (\pi) en su salida. + +`\|' + \| + +`\aleph' + \aleph + +`\alpha' + \alpha + +`\amalg' + \amalg (operación binaria) + +`\angle' + \angle + +`\approx' + \approx (relación) + +`\ast' + \ast (operación binaria) + +`\asymp' + \asymp (relación) + +`\backslash' + \ (delimitador) + +`\beta' + \beta + +`\bigcap' + \bigcap + +`\bigcirc' + \bigcirc (operación binaria) + +`\bigcup' + \bigcup + +`\bigodot' + \bigodot + +`\bigoplus' + \bigoplus + +`\bigotimes' + \bigotimes + +`\bigtriangledown' + \bigtriangledown (operación binaria) + +`\bigtriangleup' + \bigtriangleup (operación binaria) + +`\bigsqcup' + \bigsqcup + +`\biguplus' + \biguplus + +`\bigcap' + \bigvee + +`\bigwedge' + \bigwedge + +`\bot' + \bot + +`\bowtie' + \bowtie (relación) + +`\Box' + (sÃmbolo de caja cuadrada abierta) + +`\bullet' + \bullet (operación binaria) + +`\cap' + \cap (operación binaria) + +`\cdot' + \cdot (operación binaria) + +`\chi' + \chi + +`\circ' + \circ (operación binaria) + +`\clubsuit' + \clubsuit + +`\cong' + \cong (relación) + +`\coprod' + \coprod + +`\cup' + \cup (operación binaria) + +`\dagger' + \dagger (operación binaria) + +`\dashv' + \dashv (relación) + +`\ddagger' + \dagger (operación binaria) + +`\Delta' + \Delta + +`\delta' + \delta + +`\Diamond' + \diamond más grande + +`\diamond' + \diamond (operación binaria) + +`\diamondsuit' + \diamondsuit + +`\div' + \div (operación binaria) + +`\doteq' + \doteq (relación) + +`\downarrow' + \downarrow (delimitador) + +`\Downarrow' + \Downarrow (delimitador) + +`\ell' + \ell + +`\emptyset' + \emptyset + +`\epsilon' + \epsilon + +`\equiv' + \equiv (relación) + +`\eta' + \eta + +`\exists' + \exists + +`\flat' + \flat + +`\forall' + \forall + +`\frown' + \frown (relacion) + +`\Gamma' + \Gamma + +`\gamma' + \gamma + +`\ge' + \ge + +`\geq' + \geq (relación) + +`\gets' + \gets + +`\gg' + \gg (relación) + +`\hbar' + \hbar + +`\heartsuit' + \heartsuit + +`\hookleftarrow' + \hookleftarrow + +`\hookrightarrow' + \hookrightarrow + +`\iff' + \iff + +`\Im' + \Im + +`\in' + \in (relación) + +`\infty' + \infty + +`\int' + \int + +`\iota' + \iota + +`\Join' + sÃmbolo de corbata de moño condensado (relación) + +`\kappa' + \kappa + +`\Lambda' + \Lambda + +`\lambda' + \lambda + +`\land' + \land + +`\langle' + \langle (delimitador) + +`\lbrace' + \lbrace (delimitador) + +`\lbrack' + \lbrack (delimitador) + +`\lceil' + \lceil (delimitador) + +`\le' + \le + +`\leadsto' + +`\Leftarrow' + \Leftarrow + +`\leftarrow' + \leftarrow + +`\leftharpoondown' + \leftharpoondown + +`\leftharpoonup' + \leftharpoonup + +`\Leftrightarrow' + \Leftrightarrow + +`\Leftrightarrow' + \Leftrightarrow + +`\leq' + \leq (relación) + +`\lfloor' + \lfloor (delimitador) + +`\lhd' + (flecha apuntando hacia arriba a la izquierda) + +`\ll' + \ll (relación) + +`\lnot' + \lnot + +`\longleftarrow' + \longleftarrow + +`\longleftrightarrow' + \longleftrightarrow + +`\longmapsto' + \longmapsto + +`\longrightarrow' + \longrightarrow + +`\lor' + \lor + +`\mapsto' + \mapsto + +`\mho' + +`\mid' + \mid (relación) + +`\models' + \models (relación) + +`\mp' + \mp (operación binaria) + +`\mu' + \mu + +`\nabla' + \nabla + +`\natural' + \natural + +`\ne' + \ne + +`\nearrow' + \nearrow + +`\neg' + \neg + +`\neq' + \neq (relación) + +`\ni' + \ni (relación) + +`\not' + Superpone una / al siguiente operador, tal como \not=. + +`\notin' + \ni + +`\nu' + \nu + +`\nwarrow' + \nwarrow + +`\odot' + \odot (operación binaria) + +`\oint' + \oint + +`\Omega' + \Omega + +`\omega' + \omega + +`\ominus' + \ominus (operación binaria) + +`\oplus' + \oplus (operación binaria) + +`\oslash' + \oslash (operación binaria) + +`\otimes' + \otimes (operación binaria) + +`\owns' + \owns + +`\parallel' + \parallel (relación) + +`\partial' + \partial + +`\perp' + \perp (relación) + +`\phi' + \phi + +`\Pi' + \Pi + +`\pi' + \pi + +`\pm' + \pm (operación binaria) + +`\prec' + \prec (relación) + +`\preceq' + \preceq (relación) + +`\prime' + \prime + +`\prod' + \prod + +`\propto' + \propto (relación) + +`\Psi' + \Psi + +`\psi' + \psi + +`\rangle' + \rangle (delimitador) + +`\rbrace' + \rbrace (delimitador) + +`\rbrack' + \rbrack (delimitador) + +`\rceil' + \rceil (delimitador) + +`\Re' + \Re + +`\rfloor' + \rfloor + +`\rhd' + (operación binaria) + +`\rho' + \rho + +`\Rightarrow' + \Rightarrow + +`\rightarrow' + \rightarrow + +`\rightharpoondown' + \rightharpoondown + +`\rightharpoonup' + \rightharpoonup + +`\rightleftharpoons' + \rightleftharpoons + +`\searrow' + \searrow + +`\setminus' + \setminus (operación binaria) + +`\sharp' + \sharp + +`\Sigma' + \Sigma + +`\sigma' + \sigma + +`\sim' + \sim (relación) + +`\simeq' + \simeq (relación) + +`\smallint' + \smallint + +`\smile' + \smile (relación) + +`\spadesuit' + \spadesuit + +`\sqcap' + \sqcap (operación binaria) + +`\sqcup' + \sqcup (operación binaria) + +`\sqsubset' + (relación) + +`\sqsubseteq' + \sqsubseteq (relación) + +`\sqsupset' + (relación) + +`\sqsupseteq' + \sqsupseteq (relación) + +`\star' + \star (operación binaria) + +`\subset' + \subset (relación) + +`\subseteq' + \subseteq (relación) + +`\succ' + \succ (relación) + +`\succeq' + \succeq (relación) + +`\sum' + \sum + +`\supset' + \supset (relación) + +`\supseteq' + \supseteq (relación) + +`\surd' + \surd + +`\swarrow' + \swarrow + +`\tau' + \tau + +`\theta' + \theta + +`\times' + \times (operación binaria) + +`\to' + \to + +`\top' + \top + +`\triangle' + \triangle + +`\triangleleft' + \triangleleft (operación binaria) + +`\triangleright' + \triangleright (operación binaria) + +`\unlhd' + punta de flecha apuntando hacia la izquierda con una lÃnea debajo + (operación binaria) + +`\unrhd' + punta de flecha apuntando hacia la derecha con lÃnea debajo + (operación binaria) + +`\Uparrow' + \Uparrow (delimitador) + +`\uparrow' + \uparrow (delimitador) + +`\Updownarrow' + \Updownarrow (delimitador) + +`\updownarrow' + \updownarrow (delimitador) + +`\uplus' + \uplus (operación binaria) + +`\Upsilon' + \Upsilon + +`\upsilon' + \upsilon + +`\varepsilon' + \varepsilon + +`\varphi' + \varphi + +`\varpi' + \varpi + +`\varrho' + \varrho + +`\varsigma' + \varsigma + +`\vartheta' + \vartheta + +`\vdash' + \vdash (relation) + +`\vee' + \vee (operación binaria) + +`\Vert' + \Vert (delimitador) + +`\vert' + \vert (delimitador) + +`\wedge' + \wedge (operación binaria) + +`\wp' + \wp + +`\wr' + \wr (operación binaria) + +`\Xi' + \Xi + +`\xi' + \xi + +`\zeta' + \zeta + + +File: latex2e-es.info, Node: Funciones Matemáticas, Next: Acentos Matemáticos, Prev: SÃmbolos Matemáticos, Up: Fórmulas Matemáticas + +16.3 Funciones Matemáticas +========================== + +Estas instrucciones producen nombres de función romanos en modo math con +el espaciado adecuado. + +`\arccos' + \arccos + +`\arcsin' + \arcsin + +`\arctan' + \arctan + +`\arg' + \arg + +`\bmod' + Operador residuo binario (x \bmod y) + +`\cos' + \cos + +`\cosh' + \cosh + +`\cot' + \cos + +`\coth' + \cosh + +`\csc' + \csc + +`\deg' + \deg + +`\det' + \deg + +`\dim' + \dim + +`\exp' + \exp + +`\gcd' + \gcd + +`\hom' + \hom + +`\inf' + \inf + +`\ker' + \ker + +`\lg' + \lg + +`\lim' + \lim + +`\liminf' + \liminf + +`\limsup' + \limsup + +`\ln' + \ln + +`\log' + \log + +`\max' + \max + +`\min' + \min + +`\pmod' + residuo entre paréntesis, como en (\pmod 2^n - 1) + +`\Pr' + \Pr + +`\sec' + \sec + +`\sin' + \sin + +`\sinh' + \sinh + +`\sup' + \sup + +`\tan' + \tan + +`\tanh' + \tanh + + +File: latex2e-es.info, Node: Acentos Matemáticos, Next: Espacios en Modo Math, Prev: Funciones Matemáticas, Up: Fórmulas Matemáticas + +16.4 Acentos Matemáticos +======================== + +LaTeX proporciona una variedad de instrucciones para producir letras +acentuadas en matemáticas. Son distintas de los acentos en un texto +normal (*note Acentos::). + +`\acute' + Acento agudo en modo Math: \acute{x}. + +`\bar' + Acento barra horizontal (macrón) en modo Math: \bar{x}. + +`\breve' + Acento breve en modo Math: \breve{x}. + +`\check' + Acento de verificación háÄek en modo Math: \check{x}. + +`\ddot' + Acento diéresis en modo Math: \ddot{x}. + +`\dot' + Acento punto superior en modo Math: \dot{x}. + +`\grave' + Acento grave en modo Math: \grave{x}. + +`\hat' + Acento circunflejo en modo Math: \hat{x}. + +`\imath' + i sin punto en modo Math. + +`\jmath' + j sin punto en modo Math. + +`\tilde' + Acento tilde en modo Math: \tilde{x}. + +`\vec' + SÃmbolo de vector en modo Math: \vec{x}. + +`\widehat' + Acento circunflejo amplio en modo Math: \widehat{x+y}. + +`\widetilde' + Acento tilde amplia en modo Math: \widetilde{x+y}. + + +File: latex2e-es.info, Node: Espacios en Modo Math, Next: Miscelánea Math, Prev: Acentos Matemáticos, Up: Fórmulas Matemáticas + +16.5 Espacios en Modo Math +========================== + +En un entorno `math', LaTeX ignora los espacios que usted escriba y +coloca espacios de acuerdo a las reglas normales para texto matemático. +Si desea un espaciado diferente, LaTeX proporciona las siguientes +instrucciones para su uso en modo matemático: + +`\;' + Un espacio de grosor (5\over18\,cuádruple). + +`\:' +`\>' + Ambos producen un espacio medio (2\over9\,cuádruple). + +`\,' + Un espacio fino (1\over6\,cuádruple); no se limita a modo + matemático. + +`\!' + Un espacio fino negativo (-{1\over6}\,cuádruple). + + +File: latex2e-es.info, Node: Miscelánea Math, Prev: Espacios en Modo Math, Up: Fórmulas Matemáticas + +16.6 Miscelánea Math +==================== + +`\*' + Un sÃmbolo de multiplicación “discrecionalâ€, en el que se permiten + saltos de lÃnea. + +`\cdots' + Puntos suspensivos horizontales con los puntos elevados al centro + de la lÃnea. + +`\ddots' + Puntos suspensivos en diagonal: \ddots. + +`\frac{num}{den}' + Produce la fracción `num' dividida entre `den'. + +`\left delimitador1 ... \right delimitador2' + Los dos delimitadores no necesitan coincidir; `.' actúa como un + delimitador nulo, sin producir salida. Los delimitadores son del + tamaño de acuerdo a las matemáticas en el medio. Ejemplo: `\left( + \sum_i=1^10 a_i \right]'. + +`\overbrace{texto}' + Genera un par de texto más. Por ejemplo, \overbrace{x+\cdots+x}^{k + \rm\;veces}. + +`\overline{texto}' + Genera una lÃnea horizontal sobre texo. Por ejemplo, + \overline{x+y}. + +`\sqrt[raÃz]{argumento}' + Produce la representación de la raÃz cuadrada de argumento. El + argumento opcional raÃz determina qué raÃz producir. Por ejemplo, + la raÃz cúbica de `x+y' se escribe como `$\sqrt[3]{x+y}$'. + +`\stackrel{texto}{relación}' + Coloca el texto sobre la relación. + + Por ejemplo, `\stackrel{f}{\longrightarrow}'. + +`\underbrace{matemáticas}' + Genera matemáticas con una llave por debajo. + +`\underline{text}' + Provoca que se subraye el texto, el cual bien puede estar en modo + math o no. La lÃnea siempre está por debajo del texto, teniendo en + cuenta los descendientes. + +`\vdots' + Produce puntos suspensivos verticales. + + +File: latex2e-es.info, Node: Modos, Next: Estilos de Página, Prev: Fórmulas Matemáticas, Up: Top + +17 Modos +******** + +Cuando LaTeX está procesando el texto fuente, este siempre está en uno +de tres modos: + + • Modo Párrafo + + • Modo Math + + • Modo de Izquierda a derecha (Left-to-Right), llamado modo LR para + abreviar + + LaTeX cambia el modo sólo cuando sube o baja una escala a un +diferente nivel, aunque no todos los cambios de nivel producen cambios +de modo. Los cambios de modo sólo se producen al entrar o salir de un +entorno, o cuando LaTeX está procesando el argumento de determinadas +instrucciones que producen texto. + + El “modo Párrafo†es el más común; es en el que LaTeX está cuando +procesa texto ordinario. En ese modo, LaTeX rompe el texto en lÃneas y +separa lÃneas en páginas. LaTeX está en “modo math†cuando está +generando fórmulas matemáticas. En “modo LRâ€, como en modo párrafo, +LaTeX considera que la salida que produce es una cadena de palabras con +espacios entre ellas. Sin embargo, a diferencia del modo párrafo, LaTeX +sigue yendo de izquierda a derecha; nunca inicia una nueva lÃnea en modo +LR. Incluso si usted pone un centenar de palabras en una `\mbox', LaTeX +mantendrá la composición de izquierda a derecha dentro de una caja +única, y luego se quejará porque la caja resultante fue demasiado grande +para caber en la lÃnea. + + LaTeX está en modo LR cuando comienza a hacer una caja con una +instrucción `\mbox'. Usted puede conseguir introducirse en un modo +diferente dentro de la caja —por ejemplo, usted puede hacerlo entrar en +el modo matemático para poner una fórmula en la caja. También hay +varias instrucciones productoras de texto y entornos para hacer una caja +que ponga a LaTeX en el modo de párrafo. La caja hecha por medio de una +de estas instrucciones o entornos se llama `parbox'. Cuando LaTeX está +en el modo de párrafo mientras que hace una caja, se dice que está en +“modo interno de párrafoâ€. Su modo de párrafo normal, que se inicia +fuera de él, se llama el “modo de párrafo externoâ€. + + +File: latex2e-es.info, Node: Estilos de Página, Next: Espacios, Prev: Modos, Up: Top + +18 Estilos de Página +******************** + +La instrucción `\documentclass' determina el tamaño y posición de las +cabeceras y pies de página. El estilo de página determina lo que sucede +en ellos. + +* Menu: + +* \maketitle:: Genera una página de tÃtulo. +* \pagenumbering:: Fija el estilo utilizado para los números de página. +* \pagestyle:: Cambia el estilo de las cabeceras/pies de página. +* \thispagestyle:: Cambiar el estilo de las cabeceras/pies de página para esa página. + + +File: latex2e-es.info, Node: \maketitle, Next: \pagenumbering, Up: Estilos de Página + +18.1 `\maketitle' +================= + +La instrucción `\maketitle' genera un tÃtulo en una página independiente +— excepto en la clase `article', donde se coloca el tÃtulo en la parte +superior de la primera página. La información utilizada para producir +el tÃtulo se obtiene de las siguientes declaraciones: + +`\author{nombre \and nombre2}' + La instrucción `\author' declara los autor(es) del documento, donde + el argumento es una lista de autores separados por instrucciones + `\and'. Use `\\' para separar lÃneas con una única entrada de + autor —por ejemplo, para proporcionar las entidades de autor o + dirección. + +`\date{texto}' + La instrucción `\date' declara el texto para ser la fecha del + documento. Sin la instrucción `\date', se utiliza la fecha actual + (*note \today::). + +`\thanks{texto}' + La instrucción `\thanks' produce un pie de página (`\footnote') + para el tÃtulo, normalmente utilizada para reconocimiento de + créditos. + +`\title{texto}' + La instrucción `\title' declara texto para ser el tÃtulo del + documento. Use `\\' para forzar un salto de lÃnea, de la manera + usual. + + +File: latex2e-es.info, Node: \pagenumbering, Next: \pagestyle, Prev: \maketitle, Up: Estilos de Página + +18.2 `\pagenumbering' +===================== + +Sinopsis: + + \pagenumbering{estilo} + + Especifica el estilo de los números de página, de acuerdo a estilo: + +`arabic' + números arábigos + +`roman' + números romanos en minúscula + +`Roman' + numeros romanos en mayúscula + +`alph' + letras en minúscula + +`Alph' + letras en mayúscula + + +File: latex2e-es.info, Node: \pagestyle, Next: \thispagestyle, Prev: \pagenumbering, Up: Estilos de Página + +18.3 `\pagestyle' +================= + +Sinopsis: + + \pagestyle{estilo} + + La instrucción `\pagestyle' especifica como se componen +tipográficamente las cabeceras y pies de página a partir de la página +actual. Valores para estilo: + +`plain' + Únicamente un número de página sencillo. + +`empty' + Cabeceras y pies de página vacÃos, por ejemplo, sin números de + página. + +`headings' + Coloca encabezados en cada página. El estilo de documento + especifica lo que sucede en las cabeceras. + +`myheadings' + Cabeceras personalizadas, especificadas via las instrucciones + `\markboth' o `\markright'. + + Aquà están las descripciones de `\markboth' y `\markright': + +`\markboth{izquierda}{derecha}' + Establece ambas cabeceras izquierda y derecha. Una “cabecera a + mano izquierda†(izquierda) es generada por la última instrucción + `\markboth' antes del final de la página, mientras que una + “cabecera a mano derecha†(derecha) es generada por la primera + `\markboth' o `\markright' que venga en la página si la hay, de + otra manera por la última antes de la página. + +`\markright{derecha}' + Establece la cabecera de la derecha, dejando la cabecera de la + izquierda sin cambios. + + +File: latex2e-es.info, Node: \thispagestyle, Prev: \pagestyle, Up: Estilos de Página + +18.4 `\thispagestyle{estilo}' +============================= + +La instrucción `\thispagestyle' trabaja de la misma manera que la +instrucción `\pagestyle' (vea la sección previa) excepto que esta +únicamente cambia el estilo de la página actual. + + +File: latex2e-es.info, Node: Espacios, Next: Cajas, Prev: Estilos de Página, Up: Top + +19 Espacios +*********** + +LaTeX tiene muchas formas de producir espacios en blanco (o llenos). + + Otra instrucción que produce espacios es `\' para producir un espacio +“fino†(por lo general 1/6cuadrático). Se puede utilizar en modo texto, +pero más a menudo es útil en modo matemático (*note Espacios en Modo +Math::). + +* Menu: + +Espacio horizontal +* \hspace:: Espacio horizontal fijo. +* \hfill:: Espacio horizontal extensible. +* \SPACE:: Espacio normal entre palabras. +* \AT:: Finalizando una frase. +* \thinspace:: Una sexta parte de una em. +* \/:: Corrección cursiva por caracteres. +* \hrulefill:: Regla horizontal extensible. +* \dotfill:: Puntos horizontales extensibles. + +Espacio Vertical +* \addvspace:: Añadiendo espacio vertical arbitrario si es necesario. +* \bigskip \medskip \smallskip:: Espacio vertical fijo. +* \vfill:: Espacio vertical infinitamente extensible. +* \vspace:: Añadiendo espacio vertical arbitrario. + + +File: latex2e-es.info, Node: \hspace, Next: \hfill, Up: Espacios + +19.1 `\hspace' +============== + +Sinopsis: + + \hspace[*]{longitud} + + La instrucción `\hspace' añade espacio horizontal. El argumento +length se puede expresar en cualquier término que LaTeX entienda: +puntos, pulgadas, etc. Esta es la longitud a preservar. Usted puede +agregar tanto espacios negativos como positivos con una instrucción +`\hspace'; agregar espacio negativo es como espacio hacia atrás. + + LaTeX normalmente elimina el espacio horizontal que viene al +principio o al final de una lÃnea. Para preservar este espacio, use la +forma opcional con `*'. + + +File: latex2e-es.info, Node: \hfill, Next: \SPACE, Prev: \hspace, Up: Espacios + +19.2 `\hfill' +============= + +La instrucción `\hfill' produce un “relleno de longitud†que no tiene +espacio natural sino que se puede extender o reducir en sentido +horizontal en la medida necesaria. + + El parámetro `\fill' es la misma longitud a rellenar (técnicamente, +el valor a agregar `0pt plus1fill'); es decir, `\hspace\fill' es +equivalente a `\hfill'. + + +File: latex2e-es.info, Node: \SPACE, Next: \AT, Prev: \hfill, Up: Espacios + +19.3 `\SPACE' +============= + +La instrucción `\ ' (space) produce un espacio entre palabras normal. +Es útil después de signos de puntuación que no deben terminar una +oración. Por ejemplo, `Knuth's article in Proc.\ Amer.\ Math\. Soc.\ es +fundamental'. Esta también se suele utilizar después de secuencias de +control, como en `\TeX\ es un sistema agradable'. + + En circunstancias normales, `\'<tab> y `\'<newline> son equivalentes +a `\ '. + + +File: latex2e-es.info, Node: \AT, Next: \thinspace, Prev: \SPACE, Up: Espacios + +19.4 `\@' +========= + +La instrucción `\@' hace que el siguiente carácter de puntuación final +una declaración incluso si normalmente no es asÃ. Esto se suele +utilizar después de una letra mayúscula. Aquà están lado a lado +ejemplos con y sin `\@': + + … en C\@. Pascal, aunque … + … en C. Pascal, aunque … + +produce + + … en C. Pascal, aunque … … en C. Pascal, aunque … + + +File: latex2e-es.info, Node: \thinspace, Next: \/, Prev: \AT, Up: Espacios + +19.5 `\thinspace' +================= + +`\thinspace' produce un espacio inviolable e inextensible que es de un +1/6 de em. Este es el espacio adecuado para su uso en citas anidadas, +como en 'â€. + + +File: latex2e-es.info, Node: \/, Next: \hrulefill, Prev: \thinspace, Up: Espacios + +19.6 `\/' +========= + +La instrucción `\/' produce una "corrección en cursiva". Este es un +pequeño espacio definido por el diseñador de tipografÃas para un +carácter determinado, para evitar chocar con el carácter que lo sigue. +El carácter en cursiva f tÃpicamente tiene un valor de corrección en +cursiva grande. + + Si el siguiente carácter es un punto o una coma, no es necesario +insertar una corrección en cursiva, dado que estos sÃmbolos tienen una +puntuación de muy poca altura. Sin embargo, con punto y coma o dos +puntos, asà como letras normales, puede ayudar. Compare f: f; (en la +salida TeX, las `f's están separadas correctamente) con f: f;. + + A pesar del nombre, los caracteres latinos también pueden tener una +corrección en cursiva. Compare pdfTeX (en la TeX salida, hay un pequeño +espacio después de la `f') con pdfTeX. + + +File: latex2e-es.info, Node: \hrulefill, Next: \dotfill, Prev: \/, Up: Espacios + +19.7 `\hrulefill' +================= + +La instrucción `\hrulefill' produce un “relleno de longitud†el cual se +puede estrechar o estirar horizontalmente. Este se llenará con una +regla horizontal. + + +File: latex2e-es.info, Node: \dotfill, Next: \addvspace, Prev: \hrulefill, Up: Espacios + +19.8 `\dotfill' +=============== + +La instrucción `\dotfill' produce un “relleno de longitud†la cual se +rellena con puntos en lugar de sólo espacios en blanco. + + +File: latex2e-es.info, Node: \addvspace, Next: \bigskip \medskip \smallskip, Prev: \dotfill, Up: Espacios + +19.9 `\addvspace' +================= + +`\addvspace{longitud}' + + La instrucción `\addvspace' normalmente añade un espacio vertical de +altura longitud. Sin embargo, si el espacio vertical ya se ha añadido +al mismo punto en la salida por medio de una instrucción `\addvspace' +anterior, esta instrucción no añade más espacio que el necesario para +hacer que la longitud natural del espacio vertical total equivalente a +`longitud'. + + +File: latex2e-es.info, Node: \bigskip \medskip \smallskip, Next: \vfill, Prev: \addvspace, Up: Espacios + +19.10 `\bigskip \medskip \smallskip' +==================================== + +Estas instrucciones producen una determinada cantidad de espacio. + +`\bigskip' + Al igual que `\vspace{bigskipamount}', normalmente alrededor de un + espacio de lÃnea (con estirar y encoger). + +`\medskip' + Al igual que `\vspace{medskipamount}', normalmente cerca de la + mitad del espacio de una lÃnea (con estirar y encoger). + +`\smallskip' + Al igual que `\vspace{smallskipamount}', normalmente alrededor de + un cuarto del espacio de una lÃnea (con estirar y encoger). + + Los parámetros `\...cantidad' están determinados por la clase de +documento. + + +File: latex2e-es.info, Node: \vfill, Next: \vspace, Prev: \bigskip \medskip \smallskip, Up: Espacios + +19.11 `\vfill' +============== + +La instrucción `\vfill' produce un relleno de longitud (pegado) el cual +se puede reducir y estirar verticalmente tanto como sea necesario. Este +es equivalente a `\vspace{\fill}' (*note \hfill::). + + +File: latex2e-es.info, Node: \vspace, Prev: \vfill, Up: Espacios + +19.12 `\vspace[*]{longitud}' +============================ + +Sinopsis: + + \vspace[*]{longitud} + + La instrucción `\vspace' añade el espacio vertical length, es decir, +un relleno de longitud. longitud puede ser positivo o negativo. + + Normalmente, LaTeX remueve el espacio vertical añadido por `\vspace' +en la parte superior o inferior de una página. Con el argumento +opcional `*', no se elimina el espacio. + + +File: latex2e-es.info, Node: Cajas, Next: Inserciones Especiales, Prev: Espacios, Up: Top + +20 Cajas +******** + +Todos los parámetros de longitud predeterminados (*note Longitudes +Predeterminadas::) se pueden utilizar en los argumentos de las +instrucciones que generan cajas. + +* Menu: + +* \mbox:: Cajas horizontales. +* \fbox y \framebox:: Coloca un marco alrededor de una caja. +* lrbox:: Un entorno como \sbox. +* \makebox:: Caja, de posición ajustable. +* \parbox:: Caja con texto en modo párrafo. +* \raisebox:: Sube o baja el texto. +* \savebox:: Al igual que \makebox, pero guarda el texto para utilizarlo posteriormente. +* \sbox:: Igual que \mbox, pero guarda el texto para utilizarlo posteriormente. +* \usebox:: Imprime texto guardado. + + +File: latex2e-es.info, Node: \mbox, Next: \fbox y \framebox, Up: Cajas + +20.1 `\mbox{texto}' +=================== + +La instrucción `\mbox' crea una caja lo suficientemente ancha para +contener el texto creado por sus argumentos. El texto no se separa en +lÃneas, por lo tanto este se puede utilizar para prevenir la separación +silábica. + + +File: latex2e-es.info, Node: \fbox y \framebox, Next: lrbox, Prev: \mbox, Up: Cajas + +20.2 `\fbox' y `\framebox' +========================== + +Sinopsis: + + \fbox{texto} + \framebox[ancho][posición]{texto} + + Las instrucciones `\fbox' y `\framebox' son como `\mbox', excepto que +estas ponen un marco al rededor del exterior de la caja que se está +creando. + + Además, la instrucción `\framebox' permite especificar explÃcitamente +la anchura de la caja con el argumento opcional width (una dimensión), y +la posiciona con el argumento opcional posición. + + Ambas instrucciones producen una regla de espesor `\fboxrule' +(predeterminado a `.4pt'), y dejan un espacio de `\fboxsep' +(predeterminado a `3pt') entre la regla y el contenido de la caja. + + *Note \framebox (imagen)::, para la instrucción `\framebox' en el +entorno `picture'. + + +File: latex2e-es.info, Node: lrbox, Next: \makebox, Prev: \fbox y \framebox, Up: Cajas + +20.3 `lrbox' +============ + +`\begin{lrbox}{instrucción} texto \end{lrbox}' + + Esta es la forma de entorno de `\sbox'. + + El texto dentro del entorno se guarda en la caja `instrucción', misma +que se debe haber declarado con `\newsavebox'. + + +File: latex2e-es.info, Node: \makebox, Next: \parbox, Prev: lrbox, Up: Cajas + +20.4 `\makebox' +=============== + +Sinopsis: + + \makebox[ancho][posición]{texto} + + La instrucción `\makebox' crea una caja lo suficientemente ancha para +contener el texto especificado. La anchura de la caja es especificada +por el argumento opcional ancho. La posición del texto dentro de la +caja está determinada por el argumento opcional posición, el cual puede +tomar los siguientes valores: + +`c' + Centrado (predeterminado). + +`l' + Alineado a la izquierda + +`r' + Alineado a la derecha + +`s' + Alineado (justificado) a través de ancho; texto debe contener + espacio elástico para que esto funcione. + + `\makebox' también se utiliza en el entorno picture *note \makebox +(imagen)::. + + +File: latex2e-es.info, Node: \parbox, Next: \raisebox, Prev: \makebox, Up: Cajas + +20.5 `\parbox' +============== + +Sinopsis: + + \parbox[posición][alto][pos-interna]{ancho}{texto} + + La instrucción `\parbox' produce una caja cuyo contenido es creado en +modo `paragraph'. Se debe utilizar para hacer una caja de pequeñas +piezas de texto, sin nada lujoso en el interior. En particular, no debe +utilizar ningún entorno que genere párrafos dentro de un argumento +`\parbox'. Para grandes piezas de texto, incluyendo aquellas que +contienen un entorno que genera párrafos, debe usar un entorno +`minipágina' (*note minipage::). + + `\parbox' tiene dos argumentos obligatorios: + +ancho + la anchura de parbox; + +texto + El texto que va dentro de la parbox. + + El argumento opcional posición le permite alinear la lÃnea en la +parte superior o inferior de parbox con la lÃnea base del texto que lo +rodea (de manera predeterminada es superior). + + El argumento opcional alto reemplaza la altura natural de la caja. + + Al argumento pos-interior controla la ubicación del texto dentro de +la caja de la siguiente manera; Si no se especifica, se utiliza +posición. + +`t' + El texto es colocado en la parte superior de la caja. + +`c' + El texto se coloca al centro de la caja. + +`b' + El texto se coloca en la parte inferior de la caja. + +`s' + Se extiende verticalmente; el texto debe contener espacio vertical + extensible para que esto funcione. + + +File: latex2e-es.info, Node: \raisebox, Next: \savebox, Prev: \parbox, Up: Cajas + +20.6 `\raisebox' +================ + +Sinopsis: + + \raisebox{distancia}[alto][profundidad]{texto} + + La instrucción `\raisebox' aumenta o disminuye el texto. El primer +argumento obligatorio especifica a qué altura se va a levantar (o bajar +si la cantidad es negativa) el texto. El texto mismo es procesado en +modo LR. + + Los argumentos opcionales alto y profundidad son dimensiones. Si se +especifican, LaTeX trata a texto como una ampliación de una distancia +determinada sobre la lÃnea base (alto) o bajo (profundidad), omitiendo +su altura y profundidad natural. + + +File: latex2e-es.info, Node: \savebox, Next: \sbox, Prev: \raisebox, Up: Cajas + +20.7 `\savebox' +=============== + +Sinopsis: + + \savebox{\instrucción-caja}[ancho][posición]{texto} + + Esta instrucción fija la tipografÃa de texto en una caja al igual que +`\makebox' (*note \makebox::), excepto que el lugar de imprimir la caja +resultante, esta la guarda en la caja etiquetada \instrucción-caja, que +se debe haber declarado con `\newsavebox' (*note \newsavebox::). + + +File: latex2e-es.info, Node: \sbox, Next: \usebox, Prev: \savebox, Up: Cajas + +20.8 `\sbox{\instrucción-caja}{texto}' +====================================== + +Sinopsis: + + \sbox{\instrucción-caja}{texto} + + `\sbox' escribe el texto en una caja tal como `\mbox' (*note \mbox::) +excepto que en lugar de incluir la caja resultante en la salida normal, +esta la guarda en la caja etiquetada \instrucción-caja. +\instrucción-caja se debió declarar previamente con `\newsavebox' (*note +\newsavebox::). + + +File: latex2e-es.info, Node: \usebox, Prev: \sbox, Up: Cajas + +20.9 `\usebox{\instrucción-caja}' +================================= + +Sinopsis: + + \usebox{\instrucción-caja} + + `\usebox' produce la caja guardada más recientemente en el depósito +\instrucción-caja por una instrucción `\savebox' (*note \savebox::). + + +File: latex2e-es.info, Node: Inserciones Especiales, Next: Dividiendo la Entrada, Prev: Cajas, Up: Top + +21 Inserciones Especiales +************************* + +LaTeX proporciona instrucciones para insertar caracteres que tienen un +significado especial que no corresponde a caracteres simples que usted +puede escribir. + +* Menu: + +* Caracteres Reservados:: Insertando # $ % & ~ _ ^ \ { } +* SÃmbolos de Texto:: Insertando en el texto otros sÃmbolos distintos a letras. +* Acentos:: Insertando acentos. +* Caracteres no Ingleses:: Insertando otros caracteres no Ingleses. +* \rule:: Insertando lÃneas y rectángulos. +* \today:: Insertando la fecha de hoy. + + +File: latex2e-es.info, Node: Caracteres Reservados, Next: SÃmbolos de Texto, Up: Inserciones Especiales + +21.1 Caracteres Reservados +========================== + +Los siguientes caracteres desempeñan un papel especial en LaTeX y se +llaman “caracteres reservados†o “caracteres especialesâ€. + + # $ % & ~ _ ^ \ { } + + Siempre que escriba en su archivo uno de estos caracteres, LaTeX debe +hacer algo especial. Si simplemente desea imprimir el carácter en sà +mismo, incluya un carácter `\' anteponiéndolo a este. Por ejemplo, `\$' +debe producir `$' en su salida. + + Una excepción a esta regla es la `\' misma, debido a que `\' tiene su +propio significado especial (dependiente del contexto). Una \ romana es +producida al escribir `$\backslash$' en su archivo, y una `\' de máquina +de escribir es producida usando `\' en una instrucción verbatim (*note +verbatim::). + + Además, `\~' y `\^' colocan acentos tilde y circunflejo sobre la +siguiente letra, como en õ y ô (*note Acentos::); Para obtener una `~' o +`^' independiente, usted puede utilizar una instrucción verbatim. + + Por último, puede acceder a cualquier carácter del tipo de letra +actual una vez que sepa su número utilizando la instrucción `\symbol'. +Por ejemplo, el carácter de espacio visibles utilizada en la instrucción +`\verb*' tiene el código decimal 32, por lo tanto se puede escribir como +`\symbol{32}'. + + También puede especificar números octales con `'' o números +hexadecimales con `"', por lo que el ejemplo anterior también se podrÃa +escribir como `\symbol{'40}' o `\symbol{"20}'. + + +File: latex2e-es.info, Node: SÃmbolos de Texto, Next: Acentos, Prev: Caracteres Reservados, Up: Inserciones Especiales + +21.2 SÃmbolos de Texto +====================== + +LaTeX proporciona instrucciones para generar una serie sÃmbolos +distintos de letras, en el texto. Algunos de estos, especialmente los +más oscuros, no están disponibles en OT1; posiblemente tenga que cargar +el paquete `textcomp'. + +`\copyright' +`\textcopyright' + El sÃmbolo de copyright, ©. + +`\dag' + El sÃmbolo daga (en texto). + +`\ddag' + El sÃmbolo doble daga (en texto). + +`\LaTeX' + El logotipo de LaTeX. + +`\guillemotleft («)' +`\guillemotright (»)' +`\guilsinglleft (‹)' +`\guilsinglright (›)' + Comillas tipográficas angulares dobles y simples, utilizadas + comúnmente en Francés: «, », ‹, ›. + +`\ldots' +`\dots' +`\textellipsis' + Puntos suspensivos (tres puntos en la lÃnea base): `…'. `\ldots' y + `\dots' también trabajan en modo math. + +`\lq' + Comilla izquierda (de apertura): `. + +`\P' +`\textparagraph' + Signo de párrafo (antÃgrafo). + +`\pounds' +`\textsterling' + Libras esterlinas en Inglés: £. + +`\quotedblbase („)' +`\quotesinglbase (‚)' + Simple y dobles comillas en la lÃnea base: „ y ‚. + +`\rq' + Comilla derecha (de cierre): '. + +`\S' + SÃmbolo de sección. + +`\TeX' + El logotipo de TeX. + +`\textasciicircum' + Circunflejo ASCII: ^. + +`\textasciitilde' + Tilde ASCII: ~. + +`\textasteriskcentered' + Asterisco centrado: *. + +`\textbackslash' + Barra inversa: \. + +`\textbar' + Barra Vertical: |. + +`\textbardbl' + Doble barra vertical. + +`\textbigcircle' + SÃmbolo cÃrculo grande. + +`\textbraceleft' + Llave izquierda: {. + +`\textbraceright' + Llave derecha: }. + +`\textbullet' + Bala: •. + +`\textcircled{letra}' + letra en un cÃrculo, como en ®. + +`\textcompwordmark' +`\textcapitalwordmark' +`\textascenderwordmark' + Marca de palabra compuesta (invisible). La forma `\textcapital...' + tiene la tapa del tipo de letra, mientras que la forma + `\textascender...' tiene el ascender superior. + +`\textdagger' + Daga: \dag. + +`\textdaggerdbl' + Daga doble: \ddag. + +`\textdollar (o `$')' + Signo de Dólar: $. + +`\textemdash (o `---')' + Em-dash: — (para puntuación). + +`\textendash (o `--')' + En-dash: — (para rangos). + +`\texteuro' + El SÃmbolo del Euro: €. + +`\textexclamdown (o `!`')' + Signo de exclamación inicial: ¡. + +`\textgreater' + Mayor que: >. + +`\textless' + Menor que: <. + +`\textleftarrow' + Flecha izquierda. + +`\textordfeminine' +`\textordmasculine' + SÃmbolos ordinales femenino y masculino: ª, º. + +`\textordfeminine' + SÃmbolo ordinal femenino: ª. + +`\textperiodcentered' + Punto centrado: \cdot. + +`\textquestiondown (o `?`')' + Signo de interrogación inicial: ¿. + +`\textquotedblleft (o ```')' + Comillas dobles de apertura: “. + +`\textquotedblright (o `'')' + Dobles comillas de cierre: â€. + +`\textquoteleft (o ``')' + Comilla de apertura simple: `. + +`\textquoteright (o `'')' + Comilla de cierre simple: '. + +`\textquotestraightbase' +`\textquotestraightdblbase' + LÃneas rectas simples y dobles en la lÃnea base. + +`\textregistered' + SÃmbolo de marca registrada: ®. + +`\textrightarrow' + Flecha hacia la derecha. + +`\textthreequartersemdash' + em-dash de “Tres cuartosâ€, entre en-dash y em-dash. + +`\texttrademark' + SÃmbolo de marca comercial: ^{\hbox{TM}}. + +`\texttwelveudash' + Xx 12u-. + +`\textunderscore' + Subrayado: _. + +`\textvisiblespace' + SÃmbolo de espacio visible. + + +File: latex2e-es.info, Node: Acentos, Next: Caracteres no Ingleses, Prev: SÃmbolos de Texto, Up: Inserciones Especiales + +21.3 Acentos +============ + +LaTeX tiene un amplio apoyo para muchos de los guiones de idiomas del +mundo, a través del paquete `babel' y de apoyo relacionados. Esta +sección no pretende abarcar todas con las que es compatible. Este +simplemente se limita a enumerar las principales instrucciones LaTeX +para crear caracteres acentuados. + + Las instrucciones `\capital...' producen formas alternativas para su +uso con letras mayúsculas. Estas no están disponibles con OT1. + +`\"' +`\capitaldieresis' + Produce una diéresis, como en ö. + +`\'' +`\capitalacute' + Produce un acento agudo, como en ó. En el entorno `tabbing', + empuja la columna actual a la derecha de la columna anterior (*note + tabbing::). + +`\.' + Produce un punto como acento sobre la siguiente, como en ȯ. + +`\=' +`\capitalmacron' + Produce un acento macrón (una barra) sobre el siguiente, como en Å. + +`\^' +`\capitalcircumflex' + Produce un acento circunflejo (sombrero) sobre la siguiente, como + en ô. + +`\`' +`\capitalgrave' + Produce un acento grave sobre la siguiente, como en ò. En el + entorno `tabbing', mueve el siguiente texto hacia el margen derecho + (*note tabbing::). + +`\~' +`\capitaltilde' + Produce una tilde como acento sobre la siguiente, como en ñ. + +`\b' + Produce una barra como acento sobre la siguiente, como en o̲. + +`\c' +`\capitalcedilla' + Produce una cedilla como acento sobre la siguiente, como en ç. + +`\d' +`\capitaldotaccent' + Produce un cÃrculo como acento sobre la siguiente, como en á». + +`\H' +`\capitalhungarumlaut' + Produce un acento diéresis húngaro sobre la siguiente, como en Å‘. + +`\i' + Produce una i sin punto, como en `ı'. + +`\j' + Produce una j sin punto, como en `j'. + +`\k' +`\capitalogonek' + Produce una letra con colita, como en `Ç«'. No disponible en la + codificación OT1. + +`\r' +`\capitalring' + Produce un anillo como acento, como en `oÌŠ'. + +`\t' +`\capitaltie' +`\newtie' +`\capitalnewtie' + Produce una atadura con el siguiente como acento, como en `oo['. + La forma `\newtie' está centrada en su caja. + +`\u' +`\capitalbreve' + Produce un acento breve, como en `Å'. + +`\underbar' + No es exactamente un acento, este produce una barra en el argumento + texto. El argumento siempre se procesa en modo horizontal. La + barra siempre está en una posición fija en la lÃnea base, por lo + que cruza a través de los trazos descendentes. Vea también + `\underline' en *note Miscelánea Math::. + +`\v' +`\capitalcaron' + Produce un acento háÄek (anticircunflejo, carón), como en `Ç’'. + + +File: latex2e-es.info, Node: Caracteres no Ingleses, Next: \rule, Prev: Acentos, Up: Inserciones Especiales + +21.4 Caracteres no Ingleses +=========================== + +Estas son las instrucciones LaTeX básicas para insertar los caracteres +más usados en idiomas distintos del Inglés. + +`\aa' +`\AA' + Ã¥ y Ã…. + +`\ae' +`\AE' + æ y Æ. + +`\dh' +`\DH' + Letra eth islandesa: ð y Ã. + +`\dj' +`\DJ' + xxxx + +`\ij' +`\IJ' + ij y IJ (salvo que un poco más juntas que como aparecen aquÃ). + +`\l' +`\L' + Å‚ y Å. + +`\ng' +`\NG' + xxxx + +`\o' +`\O' + ø y Ø. + +`\oe' +`\OE' + Å“ y Å’. + +`\ss' +`\SS' + ß y SS. + +`\th' +`\TH' + Letra espina Islandesa: þ y Þ. + + +File: latex2e-es.info, Node: \rule, Next: \today, Prev: Caracteres no Ingleses, Up: Inserciones Especiales + +21.5 `\rule' +============ + +Sinopsis: + + \rule[aumentar]{ancho}{espesor} + + La instrucción `\rule' produce "reglas", que son, lÃneas o +rectángulos. Los argumentos son: + +aumentar + Qué tanto aumentar la regla (opcional). + +ancho + La longitud de la regla (obligatorio). + +espesor + El espesor de la regla (obligatorio). + + +File: latex2e-es.info, Node: \today, Prev: \rule, Up: Inserciones Especiales + +21.6 `\today' +============= + +La instrucción `\today' produce la fecha de hoy, en formato `mes dd, +aaaa'; por ejemplo, `Julio 04 1976'. Utiliza los contadores +predefinidos `\day', `\month', y `\year' (*note \day \month \year::) +para hacerlo. No se actualiza cuando se ejecuta el programa. + + El paquete `datetime', entre otros, puede producir una amplia +variedad de formatos de fecha. + + +File: latex2e-es.info, Node: Dividiendo la Entrada, Next: Asuntos de Portada/Contraportada, Prev: Inserciones Especiales, Up: Top + +22 Dividiendo la Entrada +************************ + +Un documento de gran tamaño requiere una gran cantidad de insumos. En +lugar de poner toda la entrada en un único archivo de gran tamaño, es +más eficiente dividirlo en varios más pequeños. Independientemente del +número de archivos separados que utilice, hay uno que es el archivo +raÃz; este es cuyo nombre se escribe cuando se ejecuta LaTeX. + +* Menu: + +* \include:: Condicionalmente incluye un archivo. +* \includeonly:: Determina qué archivos serán incluidos. +* \input:: Incluiye incondicionalmente un archivo. + + +File: latex2e-es.info, Node: \include, Next: \includeonly, Up: Dividiendo la Entrada + +22.1 `\include' +=============== + +Sinopsis: + + \include{archivo} + + No hay presente una instrucción `\includeonly', la instrucción +`\include' executa `\clearpage' para iniciar una nueva página (*note +\clearpage::), entonces lee el archivo, y luego hace otro `\clearpage'. + + Dada una instrucción `\includeonly', las acciones `\include' +únicamente se ejecutan si archivo está listado como un argumento para +`\includeonly'. Consulte la siguiente sección. + + La instrucción `\include' no puede aparecer en el preámbulo o en un +archivo leÃdo por otra instrucción `\include'. + + +File: latex2e-es.info, Node: \includeonly, Next: \input, Prev: \include, Up: Dividiendo la Entrada + +22.2 \`includeonly' +=================== + +Sinopsis: + + \includeonly{archivo1,archivo2,...} + + La instrucción `\includeonly' controla cuales archivos se deben leer +en subsecuentes instrucciones `\include'. La lista de nombres de +archivo se separa con comas. Cada archivo debe coincidir exactamente con +un nombre de archivo especificado en una instrucción `\include' para una +selección eficaz. + + Esta instrucción únicamente puede aparecer en el preámbulo. + + +File: latex2e-es.info, Node: \input, Prev: \includeonly, Up: Dividiendo la Entrada + +22.3 \input +=========== + +Sinopsis: + + \input{archivo} + + La instrucción `\input' provoca que el archivo especificado sea leÃdo +y procesado, tal como si su contendido se hubiera insertado en ese punto +en el archivo actual. + + Si archivo no termina en `.tex ' (por ejemplo, `foo' o `foo.bar'), +primero se intenta con esa extensión (`foo.tex' o `foo.bar.tex'). Si no +se encuentra, el archivo original se intenta con (`foo' o `foo.bar'). + + +File: latex2e-es.info, Node: Asuntos de Portada/Contraportada, Next: Cartas, Prev: Dividiendo la Entrada, Up: Top + +23 Asuntos de Portada/Contraportada +*********************************** + +* Menu: + +* Tablas de Contenido:: +* Glosarios:: +* Ãndices:: + + +File: latex2e-es.info, Node: Tablas de Contenido, Next: Glosarios, Up: Asuntos de Portada/Contraportada + +23.1 Tablas de Contenido +======================== + +Se produce una tabla de contenido con la instrucción `\tableofcontents'. +Usted pone la instrucción adecuada donde desea que aparezca la tabla de +contenido; LaTeX hace el resto para usted. Una ejecución previa habrá +generado un archivo `.toc'. + + La instrucción `\tableofcontents' produce una sección, pero no inicia +una nueva página automáticamente. Si desea una nueva página después de +la tabla de contenido, escriba una instrucción código `\newpage' después +de la instrucción `\tableofcontents'. + + Las instrucciones análogas `\listoffigures' y `\listoftables' +producen una lists de figuras y una lista de tablas, respectivamente. +Cada una funciona exactamente igual que la tabla de contenido. + + La instrucción `\nofiles' reemplaza estas instrucciones, e _impide_ +que se genere cualquiera de estas listas. + +* Menu: + +* \addcontentsline:: Agrega una entrada a la tabla de contenido, etc. +* \addtocontents:: Añade texto directamente al archivo de la tabla de contenido, etc. + + +File: latex2e-es.info, Node: \addcontentsline, Next: \addtocontents, Up: Tablas de Contenido + +23.1.1 \addcontentsline +----------------------- + +La instrucción `\addcontentsline'{extensión}{undad}{texto} añade una +entrada a la lista o tabla donde: + +extensión + La extensión del archivo en el que se va a escribir la información, + por lo general una de: `toc' (tabla de contenido), `lof' (lista de + figuras) o `lot' (lista de tablas). + +unidad + El nombre de la unidad de sección a añadir, normalmente una de las + siguientes, coincidiendo con el valor del argumento extensión: + + `toc' + El nombre de la unidad de sección: `part', `chapter', + `section', `subsection', `subsubsection'. + + `lof' + Para la lista de figuras. + + `lot' + Para la lista de tablas. + +texto + El texto real de la entrada. + + La instrucción que realmente escribe al archivo `.extensión' es la +instrucción `\contentsline{undad}{nombre}'. + + +File: latex2e-es.info, Node: \addtocontents, Prev: \addcontentsline, Up: Tablas de Contenido + +23.1.2 \addtocontents +--------------------- + +La instrucción `\addtocontents'{extensión}{texto} añade texto (o +instrucciones de formato) directamente al archivo `.extensión' que +genera la tabla de contenido o listas de figuras o tablas. + +extensión + La extensión del archivo en el cual escribir la información: `toc' + (tabla de contenido), `lof' (lista de figuras) o `lot' (lista de + tablas). + +texto + El texto a escribir. + + +File: latex2e-es.info, Node: Glosarios, Next: Ãndices, Prev: Tablas de Contenido, Up: Asuntos de Portada/Contraportada + +23.2 Glosarios +============== + +La instrucción `\makeglossary' habilita la creación de glosarios. + + La instrucción `\glossary{texto}' escribe una entrada en el glosario +para texto a un archivo auxiliar con la extensión `.glo'. + + EspecÃficamente, la instrucción que escribe es +`\glossaryentry{texto}{no-de-página}', donde no-de-página es el valor de +`\thepage'. + + El paquete `glossary' en CTAN proporciona compatibilidad para +glosarios más sofisticados. + + +File: latex2e-es.info, Node: Ãndices, Prev: Glosarios, Up: Asuntos de Portada/Contraportada + +23.3 Ãndices +============ + +La instrucción `\makeindex' permite la creación de Ãndices. Coloquela +en el preámbulo. + + La instrucción `\index{texto}' escribe una entrada en el Ãndice para +texto en un archivo auxiliar con la extensión `.idx'. + + EspecÃficamente, la instrucción que escribe la entrada es +`\indexentry{texto}{no-de-página}', donde no-de-página es el valor +actual de `\thepage'. + + Para generar una entrada de Ãndice para `bar' que diga `Vea foo', +utilice una barra vertical: `\index{bar|see{foo}}'. Use `seealso' en +lugar de `see' para producir una entrada `Vea también'. + + El texto `Vea' está definido por la macro `\seename', y `Vea también' +por la macro `\alsoname'. Estas se pueden redefinir para otros idiomas. + + El archivo `.idx' generado luego es ordenado con una instrucción +externa, por lo general alguna instrucción `makeindex' +(`http://mirror.ctan.org/indexing/makeindex') o (la de múltiples +idiomas) `xindy' (`http://xindy.sourceforge.net'). Esto resulta en un +archivo `.ind', que se puede leer para componer tipográficamente el +Ãndice. + + El Ãndice normalmente se genera con la instrucción `\printindex'. +Esta instrucción está definida en el paquete `makeidx', por lo tanto +necesita colocar en el preámbulo la instrucción `\usepackage{makeidx}'. + + La longitud de relleno `\indexspace' se inserta antes de cada nueva +letra en el Ãndice impreso; letra en el Ãndice impreso su valor +predeterminado es `10pt plus5pt minus3pt'. + + El paquete `showidx' hace que cada entrada en el Ãndice se muestre en +el margen de la página donde aparece la entrada. Esto puede ayudar en +la preparación del Ãndice. + + El paquete `multind' es compatible con múltiples Ãndices. Vea +también la entrada de este tema en las preguntas frecuentes de TeX, en + + `http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multind'. + + +File: latex2e-es.info, Node: Cartas, Next: Entrada/Salida a la Terminal, Prev: Asuntos de Portada/Contraportada, Up: Top + +24 Cartas +********* + +Usted puede utilizar LaTeX para componer tipográficamente cartas, para +ambas personales y de negocios. La clase de documento `letter' está +diseñada para hacer una serie de cartas a la vez, aunque se puede hacer +sólo una si asà lo desea. + + Su archivo fuente `.tex' tiene las mismas instrucciones mÃnimas de +clase que en cualquier otro documento, es decir, debe tener las +siguientes instrucciones como mÃnimo: + + \documentclass{letter} + \begin{document} + ... cartas ... + \end{document} + + Cada carta es un entorno `letter', cuyo argumento es el nombre y +dirección del destinatario. Por ejemplo, usted podrÃa tener: + + \begin{letter}{Sr. José Pérez\\ Calle Princesa N°2345. + \\ Edinburgo, EH1 1AA} + ... + \end{letter} + + La carta en sà comienza con la instrucción `\opening'. Siguiéndole +el texto de la carta. Este se escribe como una entrada de LaTeX +ordinaria. Las instrucciones que no tienen sentido en una carta, como +`\chapter', no funcionan. La carta se cierra con una instrucción +`\closing'. + + Después de `closing', usted puede colocar material adicional. La +instrucción `\cc' produce el usual “cc: …â€. También hay una instrucción +`\encl' similar para una lista de destinatarios. Con ambas +instrucciones, use `\\' para separar los elementos. + + Estas instrucciones se utilizan con la clase `letter'. + +* Menu: + +* \address:: La dirección del remitente. +* \cc:: La lista Cc (Con copia para). +* \closing:: Un mensaje de despedida. +* \encl:: Lista de material adjunto. +* \location:: La dirección de su organización. +* \makelabels:: Produce etiquetas de dirección. +* \name:: Su nombre, para la dirección de retorno. +* \opening:: Saludando. +* \ps:: Agrega una posdata. +* \signature:: Su firma. +* \startbreaks:: Permite saltos de página. +* \stopbreaks:: No permite saltos de página. +* \telephone:: Su número de teléfono. + + +File: latex2e-es.info, Node: \address, Next: \cc, Up: Cartas + +24.1 \address{dirección-del-remitente} +====================================== + +La instrucción `\address' especifica la dirección del remitente de la +carta, como deberÃa aparecer en la carta y el sobre. Separa las lÃneas +de la dirección que deben estar separadas por instrucciones `\\'. + + Si usted no proporciona una declaración `\address', entonces, se +aplicará a la carta el formato de copia en papel con el membrete +estándar de su organización. (*Note Descripción::, para obtener +detalles sobre la implementación local). Si usted proporciona una +declaración `\address', entonces, la carta será formateada como una +carta personal. + + +File: latex2e-es.info, Node: \cc, Next: \closing, Prev: \address, Up: Cartas + +24.2 `\cc' +========== + +Sinopsis: + + \cc{nombre\\nombre2} + + Produce una lista de nombres a quienes enviar copias de la carta. +Cada nombre se imprime en una lÃnea separada. + + +File: latex2e-es.info, Node: \closing, Next: \encl, Prev: \cc, Up: Cartas + +24.3 `\closing' +=============== + +Sinopsis: + + \closing{texto} + + Una carta se cierra con la instrucción `\closing', por ejemplo, + \closing{Muy Atentamente,} + + +File: latex2e-es.info, Node: \encl, Next: \location, Prev: \closing, Up: Cartas + +24.4 `\encl' +============ + +Sinopsis: + + \encl{lÃnea1\\lÃnea2} + + Declara una lista de más de un documento adjunto. + + +File: latex2e-es.info, Node: \location, Next: \makelabels, Prev: \encl, Up: Cartas + +24.5 `\location' +================ + +`\location{dirección}' + + Esta modifica la dirección estándar de su organización. Esto sólo +aparece si el estilo de página `firstpage' está seleccionado. + + +File: latex2e-es.info, Node: \makelabels, Next: \name, Prev: \location, Up: Cartas + +24.6 `\makelabels' +================== + +`\makelabels{número}' + + Si ejecuta esta instrucción en el preámbulo, LaTeX creará una hoja de +etiquetas con las direcciones. Esta hoja se emitirá antes que las +cartas. + + +File: latex2e-es.info, Node: \name, Next: \opening, Prev: \makelabels, Up: Cartas + +24.7 `\name' +============ + +`\name{June Davenport}' + + Su nombre, utilizado en la impresión del sobre junto con la dirección +del remitente. + + +File: latex2e-es.info, Node: \opening, Next: \ps, Prev: \name, Up: Cartas + +24.8 `\opening{texto}' +====================== + +Sinopsis: + + \opening{texto} + + Una carta comienza con la instrucción `\opening'. El argumento +obligatorio, texto, es el texto con el que desea iniciar su carta. Por +ejemplo: + + \opening{Estimado José,} + + +File: latex2e-es.info, Node: \ps, Next: \signature, Prev: \opening, Up: Cartas + +24.9 `\ps' +========== + +Use la instrucción `\ps' para iniciar una posdata en una carta, después +de `\closing'. + + +File: latex2e-es.info, Node: \signature, Next: \startbreaks, Prev: \ps, Up: Cartas + +24.10 `\signature{texto}' +========================= + +Su nombre, como debe aparecer al final de la carta debajo del espacio +para su firma. `\\' inicia una nueva lÃnea dentro de texto como de +costumbre. + + +File: latex2e-es.info, Node: \startbreaks, Next: \stopbreaks, Prev: \signature, Up: Cartas + +24.11 `\startbreaks' +==================== + +`\startbreaks' + + Se usa después de una instrucción `\stopbreaks' para permitir de +nuevo los saltos de página. + + +File: latex2e-es.info, Node: \stopbreaks, Next: \telephone, Prev: \startbreaks, Up: Cartas + +24.12 `\stopbreaks' +=================== + +`\stopbreaks' + + Inhibe saltos de página hasta que aparezca una instrucción +`\startbreaks'. + + +File: latex2e-es.info, Node: \telephone, Prev: \stopbreaks, Up: Cartas + +24.13 `\telephone' +================== + +`\telephone{número}' + + Este es su número de teléfono. Este sólo aparece si el estilo de +página `firstpage' está seleccionado. + + +File: latex2e-es.info, Node: Entrada/Salida a la Terminal, Next: LÃnea de Órdenes, Prev: Cartas, Up: Top + +25 Entrada/Salida a la Terminal +******************************* + +* Menu: + +* \typein:: Lee texto desde la terminal. +* \typeout:: Escribe texto en la terminal. + + +File: latex2e-es.info, Node: \typein, Next: \typeout, Up: Entrada/Salida a la Terminal + +25.1 `\typein[instrucción]{mensaje}' +==================================== + +Sinopsis: + + \typein[\instrucción]{mensaje} + + `\typein' imprime el mensaje en la terminal y provoca que LaTeX se +detenga y espere para que usted escriba una lÃnea de entrada, terminando +con “Introâ€. Si se omite el argumento opcional \instrucción, la entrada +escrita se procesa como si se hubiera incluido en el archivo de entrada +en lugar de la instrucción `\typein'. Si está presente el argumento +\instrucción, debe ser el nombre de una instrucción. Este nombre de +instrucción entonces define o redefine la entrada escrita. + + +File: latex2e-es.info, Node: \typeout, Prev: \typein, Up: Entrada/Salida a la Terminal + +25.2 `\typeout{mensaje}' +======================== + +Sinopsis: + + \typeout{mensaje} + + Imprime el `mensaje' en la terminal y en el archivo `log'. Las +instrucciones en el `mensaje' que están definidas con `\newcommand' o +`\renewcommand' (entre otras) se sustituyen por su definición antes de +ser impresas. + + Las reglas habituales de LaTeX para el tratamiento de varios espacios +como un espacio único e ignorando espacios después de un nombre de +instrucción también se aplican al `mensaje'. Una instrucción `\space' +en `mensaje' provoca la impresión de un espació sencillo, +independientemente de los espacios circundantes. Una `^^J' en `mensaje' +imprime una nueva lÃnea. + + +File: latex2e-es.info, Node: LÃnea de Órdenes, Next: Plantillas de Documento, Prev: Entrada/Salida a la Terminal, Up: Top + +26 LÃnea de Órdenes +******************* + +La especificación de archivo de entrada indica el archivo al cual +aplicar formato; TeX usa `.tex' como extensión predeterminada. Si se +omite el archivo de entrada completamente, TeX acepta entrada desde la +terminal. Usted especifica opciones de instrucción mediante el +suministro de una cadena como un parámetro para la instrucción; por +ejemplo, + + latex '\nonstopmode\input foo.tex' + +debe procesar `foo.tex' sin hacer una pausa después de cada error. + + Si LaTeX se detiene en medio del documento y le muestra un indicador +`*', está esperando por una entrada. Usted puede escribir `\stop' (e +Intro) y este terminará el documento prematuramente. + + +File: latex2e-es.info, Node: Plantillas de Documento, Next: Ãndice de Conceptos, Prev: LÃnea de Órdenes, Up: Top + +Appendix A Plantillas de Documento +********************************** + +Aunque no es material de referencia, tal vez estas plantillas de +documento serán de utilidad. + +* Menu: + +* Plantilla book:: +* Plantilla beamer:: +* Plantilla tugboat:: + + +File: latex2e-es.info, Node: Plantilla book, Next: Plantilla beamer, Up: Plantillas de Documento + +A.1 Plantilla `book' +==================== + +\documentclass{book} +\usepackage[spanish]{babel} % Para escribir en Español normal +\usepackage[utf8]{inputenc} % Codificación de caracteres +\title{Plantilla de Clase Book} +\author{Autor Alex} + +\begin{document} +\maketitle + +\chapter{Primero} +Algún texto. + +\chapter{Segundo} +Algún otro texto. + +\section{Un subtema} +El final. +\end{document} + + +File: latex2e-es.info, Node: Plantilla beamer, Next: Plantilla tugboat, Prev: Plantilla book, Up: Plantillas de Documento + +A.2 Plantilla `beamer' +====================== + +La clase `beamer' crea diapositivas de presentaciones. + +\documentclass{beamer} +\usepackage[spanish]{babel} % Para escribir en Español normal +\usepackage[utf8]{inputenc} % Codificación de caracteres + +\title{Plantilla de Clase Beamer} +\author{Autor Alex} +\date{Julio 31, 2010} + +\begin{document} + +\maketitle + +% sin [fragile], cualquier código {verbatim} provoca errores misteriosos. +\begin{frame}[fragile] + \frametitle{Primer Diapositiva} + +\begin{verbatim} + ¡Esto está en \verbatim! +\end{verbatim} + +\end{frame} + +\end{document} + + +File: latex2e-es.info, Node: Plantilla tugboat, Prev: Plantilla beamer, Up: Plantillas de Documento + +A.3 Plantilla `tugboat' +======================= + +`TUGboat' es el diario del Grupo de Usuarios de TeX, +`http://tug.org/TUGboat'. + +\documentclass{ltugboat} % para procedimientos ltugproc + +\usepackage[spanish]{babel} % Para escribir en Español normal +\usepackage[utf8]{inputenc} % Codificación de caracteres +\usepackage{graphicx} +\usepackage{ifpdf} +\ifpdf + \usepackage[breaklinks,colorlinks,linkcolor=black,citecolor=black, + urlcolor=black]{hyperref} +\else + \usepackage{url} +\fi + +\begin{document} + +\title{Ejemplo de Articulo Regular \TUB\} + +% repetir información para cada autor. +\author{First Last} +\address{Street Address \\ Town, Postal \\ Country} +\netaddress{user (at) ejemplo dot org} +\personalURL{http://ejemplo.org/~user/} + +\maketitle + +% El resumen en ltugboat viene después de \maketitle. +\begin{abstract} +Este es un ejemplo del tema de un artÃculo \TUB{} ordinario. +\end{abstract} + +\section{Introducción} + +Este es un artÃculo de ejemplo para \TUB, de +\url{http://tug.org/TUGboat/location.html}. + +Recomendamos el paquete graphicx para inclusión de imágenes y el +paquete hyperref para urls activas (en la salida \acro{PDF}). \TUB\ se +produce utilizando archivos \acro{PDF} exclusivamente, en la actualidad. + +Las clases \texttt{ltug*} proporcionan estas abreviaturas, entre muchas +otras: + +{\small +\begin{verbatim} +\AllTeX \AMS \AmS \AmSLaTeX \AmSTeX \aw \AW +\BibTeX \CandT \CTAN \DTD \DVItoVDU \HTML +\ISBN \ISSN \JTeX \JoT \LAMSTeX \LaTeXe +\Mc \mf \MFB \mtex \pcMF \PCTeX \pcTeX \Pas +\PiC \PiCTeX \plain \POBox \PS +\SC \SGML \SliTeX \TANGLE \TB \TP \TUB \TUG +\tug \UG \UNIX \VAX \VorTeX \XeT \WEB \WEAVE + +\Dash \dash \vellipsis \bull \cents \Dag +\careof \thinskip + +\acro{FRED} -> {\sc fred} % ¡Por favor úselas! +\cs{fred} -> \fred +\env{fred} -> \begin{fred} +\meta{fred} -> <fred> +\nth{n} -> 1st, 2nd, ... +\sfrac{3/4} -> 3/4 +\booktitle{Libro de Fred} +\end{verbatim} +} + +Para mayor información, consulte el documento en ltubguid: +\url{http://mirror.ctan.org/macros/latex/contrib/tugboat} + +Correo electrónico \verb|tugboat@tug.org| si incurre en problemas o tiene +dudas. + + + +\bibliographystyle{plain} % recomendamos el estilo de bibliografÃa plain +\nocite{book-minimal} % solo hace que la bibliografÃa no esté vacÃa +\bibliography{xampl} % xampl.bib viene con BibTeX + + +\makesignature % no en ltugproc +\end{document} + + +File: latex2e-es.info, Node: Ãndice de Conceptos, Next: Ãndice de Instrucciones, Prev: Plantillas de Documento, Up: Top + +Ãndice de Conceptos +******************* + + +* Menu: + +* `*' apuntador: LÃnea de Órdenes. (line 16) +* `makeindex' programa: Ãndices. (line 22) +* `vea' y `vea también' entradas de Ãndice: Ãndices. (line 15) +* `xindy' programa: Ãndices. (line 22) +* `\include' anidada, no se permite: \include. (line 17) +* accediendo a cualquier carácter del tipo de letra: Caracteres Reservados. + (line 25) +* acento agudo: Acentos. (line 21) +* acento agudo, math: Acentos Matemáticos. (line 11) +* acento anticircunflejo: Acentos. (line 97) +* acento barra: Acentos. (line 48) +* acento barra encima: Acentos. (line 30) +* acento barra horizontal, math: Acentos Matemáticos. (line 14) +* acento barra sobre: Acentos. (line 30) +* acento breve, math: Acentos Matemáticos. (line 17) +* acento cedilla: Acentos. (line 52) +* acento circunflejo: Acentos. (line 34) +* acento circunflejo <1>: Acentos. (line 34) +* acento circunflejo amplio, math: Acentos Matemáticos. (line 47) +* acento circunflejo, math: Acentos Matemáticos. (line 32) +* acento circunflejo, math <1>: Acentos Matemáticos. (line 32) +* acento cÃrculo: Acentos. (line 56) +* acento de verificación, math: Acentos Matemáticos. (line 20) +* acento diéresis: Acentos. (line 17) +* acento diéresis <1>: Acentos. (line 17) +* acento diéresis húngara: Acentos. (line 60) +* acento diéresis, math: Acentos Matemáticos. (line 23) +* acento grave: Acentos. (line 39) +* acento grave, math: Acentos Matemáticos. (line 29) +* acento háÄek, math: Acentos Matemáticos. (line 20) +* acento macrón: Acentos. (line 30) +* acento macrón, math: Acentos Matemáticos. (line 14) +* acento punto: Acentos. (line 26) +* acento punto <1>: Acentos. (line 26) +* acento punto superior, math: Acentos Matemáticos. (line 26) +* acento tilde: Acentos. (line 45) +* acento tilde amplia, math: Acentos Matemáticos. (line 50) +* acento tilde, math: Acentos Matemáticos. (line 41) +* acentos: Acentos. (line 5) +* acentos matemáticos: Acentos Matemáticos. (line 5) +* acentos, matemáticas: Acentos Matemáticos. (line 5) +* alineando a través de tabulación: tabbing. (line 5) +* alineando Ecuaciones: eqnarray. (line 5) +* alineando texto en columnas con tabulaciones: tabbing. (line 5) +* alineando texto en tablas: tabular. (line 5) +* ampliando la página actual: \enlargethispage. (line 5) +* anillo acento: Acentos. (line 75) +* anticircunflejo acento: Acentos. (line 97) +* antÃgrafo o simplemente signo de párrafo: SÃmbolos de Texto. + (line 42) +* apuntador, `*': LÃnea de Órdenes. (line 16) +* apéndices, creando: Seccionado. (line 46) +* archivo de entrada: Dividiendo la Entrada. + (line 5) +* archivo `.glo': Glosarios. (line 7) +* archivo `.idx': Ãndices. (line 8) +* archivo `.ind': Ãndices. (line 22) +* argumentos móviles: \protect. (line 5) +* ascender superior: SÃmbolos de Texto. (line 97) +* ASCII circunflejo, en texto: SÃmbolos de Texto. (line 62) +* ash: Caracteres no Ingleses. + (line 11) +* asterisco centrado, en texto: SÃmbolos de Texto. (line 68) +* asterisco, centrado, en texto: SÃmbolos de Texto. (line 68) +* atadura con siguiente acento: Acentos. (line 81) +* autor, para titlepage: \maketitle. (line 12) +* bala, en texto: SÃmbolos de Texto. (line 89) +* bar, vertical, en texto: SÃmbolos de Texto. (line 74) +* barra inversa, en texto: SÃmbolos de Texto. (line 71) +* barra vertical, doble, en texto: SÃmbolos de Texto. (line 77) +* barra vertical, en texto: SÃmbolos de Texto. (line 74) +* barra, vertical doble, en texto: SÃmbolos de Texto. (line 77) +* bibliografÃa, creando (automáticamente): Usando BibTeX. (line 5) +* bibliografÃa, creando (manualmente): thebibliography. (line 5) +* bibTeX, usando: Usando BibTeX. (line 5) +* breve acento: Acentos. (line 86) +* cajas: Cajas. (line 5) +* caracteres especiales: Caracteres no Ingleses. + (line 5) +* caracteres no Ingleses: Caracteres no Ingleses. + (line 5) +* caracteres reservados: Caracteres Reservados. + (line 5) +* caracteres, acentuados: Acentos. (line 5) +* caracteres, no Ingleses: Caracteres no Ingleses. + (line 5) +* caracteres, reservados: Caracteres Reservados. + (line 5) +* cargando paquetes adicionales: Opciones de Clase de Documento. + (line 78) +* cartas: Cartas. (line 5) +* cartas, iniciando: \opening. (line 5) +* cartas, terminando: \closing. (line 5) +* carón acento: Acentos. (line 97) +* centrar texto, declaración para: \centering. (line 5) +* centrar texto, entorno para: center. (line 5) +* cerrando cartas: \closing. (line 5) +* circunflejo, ASCII, en texto: SÃmbolos de Texto. (line 62) +* clases de documento: Clases de Documento. (line 5) +* clases de documentos: Clases de Documento. (line 5) +* colita: Acentos. (line 70) +* comilla angular de apertura: SÃmbolos de Texto. (line 28) +* comilla angular de cierre: SÃmbolos de Texto. (line 28) +* comilla de apertura: SÃmbolos de Texto. (line 38) +* comilla de apertura simple: SÃmbolos de Texto. (line 151) +* comilla de cierre: SÃmbolos de Texto. (line 53) +* comilla de cierre simple: SÃmbolos de Texto. (line 154) +* comilla de cierre, simple: SÃmbolos de Texto. (line 154) +* comilla derecha: SÃmbolos de Texto. (line 53) +* comilla en lÃnea base, simple y doble: SÃmbolos de Texto. (line 50) +* comilla izquierda: SÃmbolos de Texto. (line 38) +* comilla izquierda, sola: SÃmbolos de Texto. (line 151) +* comilla simple en lÃnea base: SÃmbolos de Texto. (line 50) +* comilla, en la lÃnea base (coma): SÃmbolos de Texto. (line 158) +* comillas de cierre dobles: SÃmbolos de Texto. (line 148) +* comillas de cierre, dobles: SÃmbolos de Texto. (line 148) +* comillas dobles de apertura: SÃmbolos de Texto. (line 145) +* comillas dobles en lÃnea base: SÃmbolos de Texto. (line 50) +* comillas tipográficas angulares: SÃmbolos de Texto. (line 28) +* comillas tipográficas angulares simples: SÃmbolos de Texto. (line 28) +* comillas tipográficas Francesas: SÃmbolos de Texto. (line 28) +* comillas tipográficas simples: SÃmbolos de Texto. (line 28) +* comillas tipográficas, Francesas: SÃmbolos de Texto. (line 28) +* comillas tipográficas, latinas o angulares: SÃmbolos de Texto. + (line 28) +* comillastraight quote, base: SÃmbolos de Texto. (line 158) +* contadores, configurando: \setcounter. (line 5) +* contadores, consiguiendo el valor de: \value. (line 5) +* contadores, definiendo nuevos: \newcounter. (line 5) +* contadores, una lista de: Contadores. (line 5) +* creando cartas: Cartas. (line 5) +* creando imágenes: picture. (line 5) +* creando tablas: table. (line 5) +* créditos al pie de página: \maketitle. (line 24) +* código, composición tipográfica de: verbatim. (line 5) +* daga doble, en texto: SÃmbolos de Texto. (line 105) +* daga, doble, en texto: SÃmbolos de Texto. (line 105) +* daga, en texto: SÃmbolos de Texto. (line 16) +* daga, en texto <1>: SÃmbolos de Texto. (line 102) +* definiciones: Definiciones. (line 5) +* definición de nuevos tipos de letra: \newfont. (line 5) +* definiendo nuevos entornos: \newenvironment y \renewenvironment. + (line 5) +* definiendo nuevos teoremas: \newtheorem. (line 5) +* definiendo una nueva instrucción: \newcommand y \renewcommand. + (line 5) +* delimitador nulo: Miscelánea Math. (line 21) +* descargando flotantes e iniciando una página: \clearpage. (line 5) +* descripción de LaTeX: Descripción. (line 5) +* diseño, parámetros de página para: Parámetros para el Diseño de Página. + (line 5) +* dividiendo el archivo de entrada: Dividiendo la Entrada. + (line 5) +* dividiendo páginas: Saltos de Página. (line 5) +* divisas, euro: SÃmbolos de Texto. (line 117) +* división de sÃlabas con guión, definiendo: \hyphenation. (line 5) +* división silábica, forzando: \- (hyphenation). (line 5) +* división silábica, impidiendo: \mbox. (line 5) +* doble barra vertical, en texto: SÃmbolos de Texto. (line 77) +* doble daga, en texto: SÃmbolos de Texto. (line 19) +* e-dash: SÃmbolos de Texto. (line 114) +* ecuaciones, alineando: eqnarray. (line 5) +* ecuaciones, entornos para: equation. (line 5) +* ejecutando header y footer: Parámetros para el Diseño de Página. + (line 5) +* elementos numerados, especificando contador: \usecounter. (line 5) +* em-dash: SÃmbolos de Texto. (line 111) +* em-dash de tres cuartos: SÃmbolos de Texto. (line 167) +* em-dash, tres cuartos: SÃmbolos de Texto. (line 167) +* entornos: Entornos. (line 5) +* entornos, definiendo: \newenvironment y \renewenvironment. + (line 5) +* entrada/salida: Entrada/Salida a la Terminal. + (line 5) +* entrada/salida desde la terminal: Entrada/Salida a la Terminal. + (line 5) +* Equipo del Proyecto LaTeX: Top. (line 10) +* es-zet letra Alemana: Caracteres no Ingleses. + (line 47) +* espacio dentro del modo math: Espacios en Modo Math. + (line 5) +* espacio vertical: \addvspace. (line 5) +* espacio vertical antes de párrafos: \parskip. (line 5) +* espacio vertical, insertando: \addvspace. (line 5) +* espacio visible: \verb. (line 17) +* espacios: Espacios. (line 5) +* espina Islandesa: Caracteres no Ingleses. + (line 51) +* espina, letra Islandesa: Caracteres no Ingleses. + (line 51) +* estilo de encabezado: \pagestyle. (line 5) +* estilo de numeración de página: \pagenumbering. (line 5) +* estilo del pie de página: \pagestyle. (line 5) +* estilos de página: Estilos de Página. (line 5) +* estilos de texto: Estilos del Tipo de Letra. + (line 5) +* estilos de tipografÃa: Estilos del Tipo de Letra. + (line 5) +* estilos del tipo de letra: Estilos del Tipo de Letra. + (line 5) +* estilos, página: Estilos de Página. (line 5) +* eth, letra islandesa: Caracteres no Ingleses. + (line 19) +* etiquetas en máquina de escribir en listas: description. (line 17) +* exclamación, inicial: SÃmbolos de Texto. (line 120) +* exponente: SubÃndices y SuperÃndices. + (line 5) +* fecha, para la página de tÃtulo: \maketitle. (line 19) +* figuras, en notas al pie: minipage. (line 21) +* figuras, insertando: figure. (line 5) +* fijando contadores: \setcounter. (line 5) +* finalizando e iniciando: Iniciando y Finalizando. + (line 5) +* flecha derecha, en texto: SÃmbolos de Texto. (line 164) +* flecha hacia la derecha, en texto: SÃmbolos de Texto. (line 164) +* flecha hacia la izquierda, en texto: SÃmbolos de Texto. (line 129) +* flecha, izquierda, en texto: SÃmbolos de Texto. (line 129) +* footer, parámetros para: Parámetros para el Diseño de Página. + (line 5) +* forma con * de instrucciones de seccionado: Seccionado. (line 40) +* funciones matemáticas: Funciones Matemáticas. + (line 5) +* funciones, matemáticas: Funciones Matemáticas. + (line 5) +* fórmulas en lÃnea: math. (line 5) +* fórmulas matemáticas: Fórmulas Matemáticas. + (line 5) +* fórmulas, entornos para: equation. (line 5) +* fórmulas, matemáticas: Fórmulas Matemáticas. + (line 5) +* glosarios: Glosarios. (line 5) +* guión doble, lÃnea recta: SÃmbolos de Texto. (line 158) +* haciendo párrafos: Haciendo Párrafos. (line 5) +* haciendo una página de tÃtulo: titlepage. (line 5) +* header, parámetros para: Parámetros para el Diseño de Página. + (line 5) +* i sin punto: Acentos. (line 63) +* i sin punto, math: Acentos Matemáticos. (line 35) +* imágenes, creando: picture. (line 5) +* iniciando una nueva página: \newpage. (line 5) +* iniciando una nueva página y limpiando flotantes: \clearpage. + (line 5) +* iniciando una página a mano derecha: \cleardoublepage. (line 5) +* iniciando y finalizando: Iniciando y Finalizando. + (line 5) +* insertando figuras: figure. (line 5) +* Instrucciones de Bajo Nivel para el Tipo de Letra: Instrucciones de Bajo Nivel para el Tipo de Letra. + (line 5) +* instrucciones de diseño: Diseño. (line 5) +* instrucciones de tipo de letra, de bajo nivel: Instrucciones de Bajo Nivel para el Tipo de Letra. + (line 5) +* instrucciones frágiles: \protect. (line 5) +* instrucciones robustas: \protect. (line 16) +* instrucciones, definiendo nuevas: \newcommand y \renewcommand. + (line 5) +* interlineado doble: Instrucciones de Bajo Nivel para el Tipo de Letra. + (line 68) +* interrogación, inicial: SÃmbolos de Texto. (line 142) +* islandés eth: Caracteres no Ingleses. + (line 19) +* j sin punto: Acentos. (line 66) +* j sin punto, math: Acentos Matemáticos. (line 38) +* justificación, alineando a la derecha: \raggedright. (line 5) +* justificación, irregular a la izquierda: \raggedleft. (line 5) +* justificando texto a la izquierda: \raggedright. (line 5) +* justificar texto a la derecha, entorno para: flushright. (line 5) +* justificar texto a la izquierda, entornos para: flushleft. (line 5) +* Knuth, Donald E.: Top. (line 10) +* l Polaca: Caracteres no Ingleses. + (line 31) +* Lamport, Leslie: Top. (line 10) +* LaTeX, descripción: Descripción. (line 5) +* letra en cÃrculo, en texto: SÃmbolos de Texto. (line 92) +* letra ij, Neerlandés: Caracteres no Ingleses. + (line 27) +* letras caligráficas para math: Estilos del Tipo de Letra. + (line 92) +* letras griegas: SÃmbolos Matemáticos. + (line 5) +* letras S afiladas: Caracteres no Ingleses. + (line 47) +* letras script para math: Estilos del Tipo de Letra. + (line 92) +* letras, acentuadas: Acentos. (line 5) +* letras, no Inglesas: Caracteres no Ingleses. + (line 5) +* ligadura ae: Caracteres no Ingleses. + (line 15) +* lista de documentos adjuntos: \encl. (line 5) +* lista de elementos, especificando el contador: \usecounter. (line 5) +* lista de elementos, numerados: enumerate. (line 5) +* listas cc, en cartas: \cc. (line 5) +* listas con viñetas: itemize. (line 5) +* listas de descripción, creando: description. (line 5) +* listas de elementos: itemize. (line 5) +* listas de elementos, genéricas: list. (line 5) +* listas etiquetadas, creando: description. (line 5) +* listas no ordenadas: itemize. (line 5) +* llave de apertura, en texto: SÃmbolos de Texto. (line 83) +* llave derecha, en texto: SÃmbolos de Texto. (line 86) +* llave, derecha, en texto: SÃmbolos de Texto. (line 86) +* llave, izquierda, en texto: SÃmbolos de Texto. (line 83) +* Logotipo de LaTeX: SÃmbolos de Texto. (line 22) +* logotipo de TeX: SÃmbolos de Texto. (line 59) +* logotipo, LaTeX: SÃmbolos de Texto. (line 22) +* logotipo, TeX: SÃmbolos de Texto. (line 59) +* longitudes predeterminadas: Longitudes Predeterminadas. + (line 5) +* longitudes, añadiendo a: \addtolength. (line 5) +* longitudes, configurando: \setlength. (line 5) +* longitudes, definiendo nuevas: \newlength. (line 5) +* longitudes, definiendo y usando: Longitudes. (line 5) +* longitudes, predefinidas: Longitudes Predeterminadas. + (line 5) +* lÃnea de órdenes: LÃnea de Órdenes. (line 5) +* lÃnea recta de guión doble, base: SÃmbolos de Texto. (line 158) +* lÃnea, saltos de: Saltos de LÃnea. (line 5) +* lÃneas en tablas: tabular. (line 5) +* marca izquierda, doble: SÃmbolos de Texto. (line 145) +* marca palabra compuesta, en texto: SÃmbolos de Texto. (line 97) +* matrices, matemáticas: array. (line 5) +* minipage, creando una: minipage. (line 5) +* miscelánea math: Miscelánea Math. (line 5) +* modo izquierda-a-derecha: Modos. (line 5) +* modo lR: Modos. (line 5) +* modo math: Modos. (line 5) +* modo math mode, espaciado: Espacios en Modo Math. + (line 5) +* modo math, ingresando al: Fórmulas Matemáticas. + (line 5) +* modo párrafo: Modos. (line 5) +* modos: Modos. (line 5) +* moneda, dólar: SÃmbolos de Texto. (line 108) +* mostrando texto citado con sangrÃa de párrafo: quotation. (line 5) +* mostrando texto citado sin sangrÃa de párrafo: quote. (line 5) +* multiplicación discrecional: Miscelánea Math. (line 7) +* máquina de escribir en negrita, evitando: description. (line 17) +* notas al margen: Notas al Margen. (line 5) +* notas al pie en figuras: minipage. (line 21) +* notas al pie, creando: Notas al Pie. (line 5) +* notas al pie, sÃmbolos en lugar de números en: Notas al Pie Simbólicas. + (line 5) +* notas en el margen: Notas al Margen. (line 5) +* nueva lÃnea, comenzando: \\. (line 5) +* nueva lÃnea, comenzando (modo de párrafo): \newline. (line 5) +* nueva lÃnea, salida como entrada: \obeycr y \restorecr. + (line 5) +* nueva página, iniciando: \newpage. (line 5) +* nuevas instrucciones, definiendo: \newcommand y \renewcommand. + (line 5) +* número de ecuación, referencias cruzadas: \ref. (line 5) +* número de figura, referencias cruzadas: \ref. (line 5) +* número de pie de página, referencias cruzadas: \ref. (line 5) +* número de página, referencias cruzadas: \pageref. (line 5) +* número de sección, referencias cruzadas: \ref. (line 5) +* números de ecuación, omitiendo: eqnarray. (line 19) +* números de sección, imprimiendo: Seccionado. (line 56) +* observaciones en el margen: Notas al Margen. (line 5) +* oe ligadura: Caracteres no Ingleses. + (line 43) +* omitiendo, cajas negras: Opciones de Clase de Documento. + (line 29) +* opciones de clase: Opciones de Clase de Documento. + (line 5) +* opciones de clase de documento: Opciones de Clase de Documento. + (line 5) +* opciones globales: Opciones de Clase de Documento. + (line 5) +* opciones globales <1>: Opciones de Clase de Documento. + (line 85) +* opciones, clase de documento: Opciones de Clase de Documento. + (line 5) +* opciones, globales: Opciones de Clase de Documento. + (line 85) +* ordinales en español, femenino y masculino: SÃmbolos de Texto. + (line 133) +* ordinales, femenino y masculino: SÃmbolos de Texto. (line 133) +* oslash: Caracteres no Ingleses. + (line 39) +* paquete `datetime': \today. (line 10) +* paquete `float': figure. (line 35) +* paquete `makeidx': Ãndices. (line 29) +* paquete `multind': Ãndices. (line 41) +* paquete `setspace': Instrucciones de Bajo Nivel para el Tipo de Letra. + (line 68) +* paquete `showidx': Ãndices. (line 37) +* paquetes, cargando: Opciones de Clase de Documento. + (line 78) +* parámetros de footnote: Parámetros para Footnote. + (line 5) +* parámetros para el diseño de página: Parámetros para el Diseño de Página. + (line 5) +* parámetros, diseño de página: Parámetros para el Diseño de Página. + (line 5) +* parámetros, para footnote: Parámetros para Footnote. + (line 5) +* plantillas de documentos: Plantillas de Documento. + (line 5) +* poesÃa, un entorno para: verse. (line 5) +* posdata, en cartas: \ps. (line 5) +* preámbulo, definido: Iniciando y Finalizando. + (line 16) +* produce dos columnas: \twocolumn. (line 5) +* produce una columna: \onecolumn. (line 5) +* programas de ordenador, composición tipográfica: verbatim. (line 5) +* punto centrado, en texto: SÃmbolos de Texto. (line 139) +* punto superior acento, math: Acentos Matemáticos. (line 26) +* punto, centrado, en texto: SÃmbolos de Texto. (line 139) +* puntos suspensivos: SÃmbolos de Texto. (line 34) +* página de tÃtulo, creando la: titlepage. (line 5) +* párrafos: Haciendo Párrafos. (line 5) +* redefiniendo entornos: \newenvironment y \renewenvironment. + (line 5) +* reducción, omitiendo vertical: \raggedbottom. (line 5) +* referencias cruzadas: Referencias Cruzadas. + (line 5) +* referencias cruzadas con número de página: \pageref. (line 5) +* referencias cruzadas, simbólicas: \ref. (line 5) +* resúmenes: abstract. (line 5) +* salto de página: Saltos de Página. (line 5) +* saltos de lÃnea: Saltos de LÃnea. (line 5) +* saltos de lÃnea, evitando: \linebreak y \nolinebreak. + (line 5) +* saltos de lÃnea, forzando: \linebreak y \nolinebreak. + (line 5) +* saltos de página, evitando: \pagebreak y \nopagebreak. + (line 5) +* saltos de página, forzando: \pagebreak y \nopagebreak. + (line 5) +* sangrÃa de párrafos, en minipage: minipage. (line 17) +* sangrÃa de párrafos, en minipage <1>: minipage. (line 17) +* sangrÃa, forzando la: \indent. (line 5) +* sangrÃa, suprimiendo la: \noindent. (line 5) +* sangrÃas de párrafo en texto citado: quotation. (line 5) +* sangrÃas de párrafo en texto citado, omitiendo: quote. (line 5) +* seccionado: Seccionado. (line 5) +* separación de lÃnea, forzando: \\. (line 5) +* signo de dólar: SÃmbolos de Texto. (line 108) +* siguiendo el estilo de encabezado y pie de página: \pagestyle. + (line 5) +* simulando texto escrito: verbatim. (line 5) +* subrayado: Acentos. (line 89) +* subrayado, en texto: SÃmbolos de Texto. (line 176) +* subÃndice: SubÃndices y SuperÃndices. + (line 5) +* superÃndice: SubÃndices y SuperÃndices. + (line 5) +* sÃmbolo bala: SÃmbolos Matemáticos. + (line 87) +* sÃmbolo cÃrculo grande, en texto: SÃmbolos de Texto. (line 80) +* sÃmbolo de copyright: SÃmbolos de Texto. (line 13) +* sÃmbolo de cÃrculo, grande, en texto: SÃmbolos de Texto. (line 80) +* sÃmbolo de espacio visible, en texto: SÃmbolos de Texto. (line 179) +* sÃmbolo de libra esterlina: SÃmbolos de Texto. (line 46) +* sÃmbolo de libra esterlina <1>: SÃmbolos de Texto. (line 46) +* sÃmbolo de marca comercial: SÃmbolos de Texto. (line 170) +* sÃmbolo de marca registrada: SÃmbolos de Texto. (line 161) +* sÃmbolo de multiplicación, con salto de lÃnea discrecional: Miscelánea Math. + (line 7) +* sÃmbolo de párrafo: SÃmbolos de Texto. (line 42) +* sÃmbolo de sección: SÃmbolos de Texto. (line 56) +* sÃmbolo de vector, math: Acentos Matemáticos. (line 44) +* sÃmbolo del euro: SÃmbolos de Texto. (line 117) +* sÃmbolo femenino ordinal: SÃmbolos de Texto. (line 136) +* sÃmbolo mayor que, en texto: SÃmbolos de Texto. (line 123) +* sÃmbolo menor que, en texto: SÃmbolos de Texto. (line 126) +* SÃmbolo ordinal femenino: SÃmbolos de Texto. (line 133) +* sÃmbolo ordinal masculino: SÃmbolos de Texto. (line 133) +* sÃmbolos de texto: SÃmbolos de Texto. (line 5) +* sÃmbolos matemáticos: SÃmbolos Matemáticos. + (line 5) +* sÃmbolos, matemáticos: SÃmbolos Matemáticos. + (line 5) +* tabla de contenido, agregando manualmente: \addcontentsline. + (line 5) +* tabla de contenido, creando: Tablas de Contenido. (line 5) +* tablas, creando: table. (line 5) +* tabulaciones, utilizando: tabbing. (line 5) +* tamaño del texto: Tamaños del Tipo de Letra. + (line 5) +* tamaños del tipo de letra: Tamaños del Tipo de Letra. + (line 5) +* tamaños del tipo de letra <1>: Tamaños del Tipo de Letra. + (line 5) +* tapa superior: SÃmbolos de Texto. (line 97) +* teoremas, composición tipográfica de: theorem. (line 5) +* teoremas, definiendo: \newtheorem. (line 5) +* texto citado con sangrÃa de párrafo, mostrando: quotation. (line 5) +* texto citado sin sangrÃa de párrafo, mostrando: quote. (line 5) +* texto escrito, simulando: verbatim. (line 5) +* texto irregular a la derecha: \raggedright. (line 5) +* texto irregular a la derecha, entorno para: flushleft. (line 5) +* texto irregular a la izquierda: \raggedleft. (line 5) +* texto irregular a la izquierda, entorno para: flushright. (line 5) +* texto justificado a la derecha: \raggedleft. (line 5) +* texto literal: verbatim. (line 5) +* texto literal, en lÃnea: \verb. (line 5) +* texto multicolumna: \twocolumn. (line 5) +* thanks, para titlepage: \maketitle. (line 24) +* tilde ASCII, en texto: SÃmbolos de Texto. (line 65) +* tilde, ASCII, en texto: SÃmbolos de Texto. (line 65) +* tipo de letra cursiva: Estilos del Tipo de Letra. + (line 98) +* tipo de letra de ancho fijo: Estilos del Tipo de Letra. + (line 113) +* tipo de letra de máquina de escribir: Estilos del Tipo de Letra. + (line 113) +* tipo de letra monoespacio: Estilos del Tipo de Letra. + (line 113) +* tipo de letra negrita: Estilos del Tipo de Letra. + (line 89) +* tipo de letra oblicua: Estilos del Tipo de Letra. + (line 110) +* tipo de letra oblicua <1>: Estilos del Tipo de Letra. + (line 110) +* tipo de letra romana: Estilos del Tipo de Letra. + (line 101) +* tipo de letra sans serif: Estilos del Tipo de Letra. + (line 107) +* tipo de letra versales: Estilos del Tipo de Letra. + (line 104) +* Tipos de Letra: Tipos de Letra. (line 5) +* tipos de letra: Tipos de Letra. (line 5) +* tipos de letra, nuevas instrucciones para: \newfont. (line 5) +* title, para titlepage: \maketitle. (line 29) +* tÃtulos, haciendo: \maketitle. (line 5) +* usando BibTeX: Usando BibTeX. (line 5) +* variables, una lista de: Contadores. (line 5) +* Énfasis: Estilos del Tipo de Letra. + (line 29) +* énfasis: Estilos del Tipo de Letra. + (line 95) +* Ãndices: Ãndices. (line 5) + + +File: latex2e-es.info, Node: Ãndice de Instrucciones, Prev: Ãndice de Conceptos, Up: Top + +Ãndice de Instrucciones +*********************** + + +* Menu: + +* $: Fórmulas Matemáticas. + (line 25) +* @{...}: array. (line 32) +* \" (acento diéresis): Acentos. (line 17) +* \#: Caracteres Reservados. + (line 10) +* \$: Caracteres Reservados. + (line 10) +* \%: Caracteres Reservados. + (line 10) +* \&: Caracteres Reservados. + (line 10) +* \' (acento agudo): Acentos. (line 21) +* \' (tabbing): tabbing. (line 50) +* \(: Fórmulas Matemáticas. + (line 17) +* \): Fórmulas Matemáticas. + (line 17) +* \*: Miscelánea Math. (line 6) +* \+: tabbing. (line 40) +* \,: Espacios en Modo Math. + (line 19) +* \-: tabbing. (line 45) +* \- (hyphenation): \- (hyphenation). (line 5) +* \. (acento punto encima): Acentos. (line 26) +* \/: \/. (line 5) +* \:: Espacios en Modo Math. + (line 16) +* \;: Espacios en Modo Math. + (line 12) +* \<: tabbing. (line 35) +* \= (acento macrón): Acentos. (line 30) +* \= (tabbing): tabbing. (line 29) +* \>: tabbing. (line 33) +* \> <1>: Espacios en Modo Math. + (line 16) +* \> (tabbing): tabbing. (line 32) +* \@: \AT. (line 5) +* \a (tabbing): tabbing. (line 65) +* \a' (acento agudo en tabulación): tabbing. (line 66) +* \a= (acento macrón en tabbing): tabbing. (line 66) +* \aa (Ã¥): Caracteres no Ingleses. + (line 11) +* \AA (Ã…): Caracteres no Ingleses. + (line 11) +* \acute: Acentos Matemáticos. (line 10) +* \addcontentsline{exto}{unidad}{texto}: \addcontentsline. (line 5) +* \address: \address. (line 5) +* \addtocontents{extra}{texto}: \addtocontents. (line 5) +* \addtocounter: \addtocounter. (line 5) +* \addtolength: \addtolength. (line 5) +* \addvspace: \addvspace. (line 5) +* \ae (æ): Caracteres no Ingleses. + (line 15) +* \AE (Æ): Caracteres no Ingleses. + (line 15) +* \aleph: SÃmbolos Matemáticos. + (line 14) +* \alph: \alph \Alph \arabic \roman \Roman \fnsymbol. + (line 9) +* \Alph: \alph \Alph \arabic \roman \Roman \fnsymbol. + (line 12) +* \alpha: SÃmbolos Matemáticos. + (line 17) +* \alsoname: Ãndices. (line 19) +* \amalg: SÃmbolos Matemáticos. + (line 20) +* \and para `\author': \maketitle. (line 12) +* \angle: SÃmbolos Matemáticos. + (line 23) +* \appendix: Seccionado. (line 46) +* \approx: SÃmbolos Matemáticos. + (line 26) +* \arabic: \alph \Alph \arabic \roman \Roman \fnsymbol. + (line 15) +* \arccos: Funciones Matemáticas. + (line 9) +* \arcsin: Funciones Matemáticas. + (line 12) +* \arctan: Funciones Matemáticas. + (line 15) +* \arg: Funciones Matemáticas. + (line 18) +* \arraycolsep: array. (line 44) +* \arrayrulewidth: tabular. (line 101) +* \arraystretch: tabular. (line 105) +* \ast: SÃmbolos Matemáticos. + (line 29) +* \asymp: SÃmbolos Matemáticos. + (line 32) +* \author{nombre \and nombre2}: \maketitle. (line 11) +* \a` (acento grave en tabulación): tabbing. (line 66) +* \b (acento barra): Acentos. (line 48) +* \backslash: SÃmbolos Matemáticos. + (line 35) +* \backslash <1>: Caracteres Reservados. + (line 15) +* \bar: Acentos Matemáticos. (line 13) +* \baselineskip: Instrucciones de Bajo Nivel para el Tipo de Letra. + (line 61) +* \baselinestretch: Instrucciones de Bajo Nivel para el Tipo de Letra. + (line 68) +* \begin: Entornos. (line 5) +* \beta: SÃmbolos Matemáticos. + (line 38) +* \bf: Estilos del Tipo de Letra. + (line 88) +* \bfseries: Estilos del Tipo de Letra. + (line 35) +* \bibitem: \bibitem. (line 5) +* \bibliography: Usando BibTeX. (line 5) +* \bibliographystyle: Usando BibTeX. (line 5) +* \bigcap: SÃmbolos Matemáticos. + (line 41) +* \bigcap <1>: SÃmbolos Matemáticos. + (line 71) +* \bigcirc: SÃmbolos Matemáticos. + (line 44) +* \bigcup: SÃmbolos Matemáticos. + (line 47) +* \bigodot: SÃmbolos Matemáticos. + (line 50) +* \bigoplus: SÃmbolos Matemáticos. + (line 53) +* \bigotimes: SÃmbolos Matemáticos. + (line 56) +* \bigskip: \bigskip \medskip \smallskip. + (line 9) +* \bigskipamount: \bigskip \medskip \smallskip. + (line 9) +* \bigsqcup: SÃmbolos Matemáticos. + (line 65) +* \bigtriangledown: SÃmbolos Matemáticos. + (line 59) +* \bigtriangleup: SÃmbolos Matemáticos. + (line 62) +* \biguplus: SÃmbolos Matemáticos. + (line 68) +* \bigwedge: SÃmbolos Matemáticos. + (line 74) +* \bmod: Funciones Matemáticas. + (line 21) +* \boldmath: Fórmulas Matemáticas. + (line 30) +* \bot: SÃmbolos Matemáticos. + (line 77) +* \bottomfraction: figure. (line 57) +* \bowtie: SÃmbolos Matemáticos. + (line 80) +* \Box: SÃmbolos Matemáticos. + (line 83) +* \breve: Acentos Matemáticos. (line 16) +* \bullet: SÃmbolos Matemáticos. + (line 86) +* \c (acento cedilla): Acentos. (line 52) +* \cal: Estilos del Tipo de Letra. + (line 91) +* \cap: SÃmbolos Matemáticos. + (line 89) +* \capitalacute: Acentos. (line 21) +* \capitalbreve: Acentos. (line 86) +* \capitalcaron: Acentos. (line 97) +* \capitalcedilla: Acentos. (line 52) +* \capitalcircumflex: Acentos. (line 34) +* \capitaldieresis: Acentos. (line 17) +* \capitaldotaccent: Acentos. (line 56) +* \capitalgrave: Acentos. (line 39) +* \capitalhungarumlaut: Acentos. (line 60) +* \capitalmacron: Acentos. (line 30) +* \capitalnewtie: Acentos. (line 81) +* \capitalogonek: Acentos. (line 70) +* \capitalring: Acentos. (line 75) +* \capitaltie: Acentos. (line 81) +* \capitaltilde: Acentos. (line 45) +* \caption: figure. (line 51) +* \cc: \cc. (line 5) +* \cdot: SÃmbolos Matemáticos. + (line 92) +* \cdots: Miscelánea Math. (line 10) +* \centering: \centering. (line 5) +* \chapter: Seccionado. (line 11) +* \check: Acentos Matemáticos. (line 19) +* \chi: SÃmbolos Matemáticos. + (line 95) +* \circ: SÃmbolos Matemáticos. + (line 98) +* \circle: \circle. (line 5) +* \cite: \cite. (line 5) +* \cleardoublepage: \cleardoublepage. (line 5) +* \clearpage: \clearpage. (line 5) +* \cline: \cline. (line 5) +* \closing: \closing. (line 5) +* \clubsuit: SÃmbolos Matemáticos. + (line 101) +* \columnsep: \twocolumn. (line 18) +* \columnseprule: \twocolumn. (line 21) +* \columnwidth: \twocolumn. (line 25) +* \cong: SÃmbolos Matemáticos. + (line 104) +* \contentsline: \addcontentsline. (line 30) +* \coprod: SÃmbolos Matemáticos. + (line 107) +* \copyright: SÃmbolos de Texto. (line 11) +* \cos: Funciones Matemáticas. + (line 24) +* \cosh: Funciones Matemáticas. + (line 27) +* \cot: Funciones Matemáticas. + (line 30) +* \coth: Funciones Matemáticas. + (line 33) +* \csc: Funciones Matemáticas. + (line 36) +* \cup: SÃmbolos Matemáticos. + (line 110) +* \d (acento cÃrculo): Acentos. (line 56) +* \dag: SÃmbolos de Texto. (line 15) +* \dagger: SÃmbolos Matemáticos. + (line 113) +* \dashbox: \dashbox. (line 5) +* \dashv: SÃmbolos Matemáticos. + (line 116) +* \date{texto}: \maketitle. (line 18) +* \day: \day \month \year. (line 5) +* \dblfloatpagefraction: \twocolumn. (line 38) +* \dblfloatsep: \twocolumn. (line 43) +* \dbltextfloatsep: \twocolumn. (line 49) +* \dbltopfraction: \twocolumn. (line 32) +* \ddag: SÃmbolos de Texto. (line 18) +* \ddagger: SÃmbolos Matemáticos. + (line 119) +* \ddot: Acentos Matemáticos. (line 22) +* \ddots: Miscelánea Math. (line 14) +* \deg: Funciones Matemáticas. + (line 39) +* \Delta: SÃmbolos Matemáticos. + (line 122) +* \delta: SÃmbolos Matemáticos. + (line 125) +* \depth: Longitudes Predeterminadas. + (line 10) +* \det: Funciones Matemáticas. + (line 42) +* \dh (æ): Caracteres no Ingleses. + (line 19) +* \DH (Æ): Caracteres no Ingleses. + (line 19) +* \Diamond: SÃmbolos Matemáticos. + (line 128) +* \diamond: SÃmbolos Matemáticos. + (line 131) +* \diamondsuit: SÃmbolos Matemáticos. + (line 134) +* \dim: Funciones Matemáticas. + (line 45) +* \displaystyle: Fórmulas Matemáticas. + (line 36) +* \div: SÃmbolos Matemáticos. + (line 137) +* \dj: Caracteres no Ingleses. + (line 23) +* \DJ: Caracteres no Ingleses. + (line 23) +* \documentclass: Clases de Documento. (line 5) +* \dot: Acentos Matemáticos. (line 25) +* \doteq: SÃmbolos Matemáticos. + (line 140) +* \dotfill: \dotfill. (line 5) +* \dots: SÃmbolos de Texto. (line 32) +* \doublerulesep: tabular. (line 109) +* \downarrow: SÃmbolos Matemáticos. + (line 143) +* \Downarrow: SÃmbolos Matemáticos. + (line 146) +* \ell: SÃmbolos Matemáticos. + (line 149) +* \em: Estilos del Tipo de Letra. + (line 94) +* \emph: Estilos del Tipo de Letra. + (line 29) +* \emptyset: SÃmbolos Matemáticos. + (line 152) +* \encl: \encl. (line 5) +* \end: Entornos. (line 5) +* \enlargethispage: \enlargethispage. (line 5) +* \enumi: enumerate. (line 33) +* \enumii: enumerate. (line 33) +* \enumiii: enumerate. (line 33) +* \enumiv: enumerate. (line 33) +* \epsilon: SÃmbolos Matemáticos. + (line 155) +* \equiv: SÃmbolos Matemáticos. + (line 158) +* \eta: SÃmbolos Matemáticos. + (line 161) +* \evensidemargin: Opciones de Clase de Documento. + (line 59) +* \exists: SÃmbolos Matemáticos. + (line 164) +* \exp: Funciones Matemáticas. + (line 48) +* \fbox: \fbox y \framebox. (line 5) +* \fboxrule: \framebox (imagen). (line 13) +* \fboxrule <1>: \fbox y \framebox. (line 18) +* \fboxsep: \framebox (imagen). (line 13) +* \fboxsep <1>: \fbox y \framebox. (line 18) +* \fill: \hfill. (line 9) +* \flat: SÃmbolos Matemáticos. + (line 167) +* \floatpagefraction: figure. (line 60) +* \floatsep: figure. (line 64) +* \flushbottom: \flushbottom. (line 5) +* \fnsymbol: Notas al Pie Simbólicas. + (line 10) +* \fnsymbol <1>: \alph \Alph \arabic \roman \Roman \fnsymbol. + (line 24) +* \fnsymbol, y notas al pie: Notas al Pie Simbólicas. + (line 10) +* \fontencoding: Instrucciones de Bajo Nivel para el Tipo de Letra. + (line 11) +* \fontfamily: Instrucciones de Bajo Nivel para el Tipo de Letra. + (line 15) +* \fontseries: Instrucciones de Bajo Nivel para el Tipo de Letra. + (line 27) +* \fontshape: Instrucciones de Bajo Nivel para el Tipo de Letra. + (line 43) +* \fontsize: Instrucciones de Bajo Nivel para el Tipo de Letra. + (line 61) +* \footnote: \footnote. (line 5) +* \footnotemark: \footnotemark. (line 5) +* \footnoterule: Parámetros para Footnote. + (line 6) +* \footnotesep: Parámetros para Footnote. + (line 12) +* \footnotesize: Tamaños del Tipo de Letra. + (line 11) +* \footnotetext: \footnotetext. (line 5) +* \footskip: Parámetros para el Diseño de Página. + (line 16) +* \forall: SÃmbolos Matemáticos. + (line 170) +* \frac: Miscelánea Math. (line 18) +* \frac{num}{den}: Miscelánea Math. (line 17) +* \frame: \frame. (line 5) +* \framebox: \framebox (imagen). (line 5) +* \framebox <1>: \fbox y \framebox. (line 5) +* \frown: SÃmbolos Matemáticos. + (line 173) +* \fussy: \fussy. (line 5) +* \Gamma: SÃmbolos Matemáticos. + (line 176) +* \gamma: SÃmbolos Matemáticos. + (line 179) +* \gcd: Funciones Matemáticas. + (line 51) +* \ge: SÃmbolos Matemáticos. + (line 182) +* \geq: SÃmbolos Matemáticos. + (line 185) +* \gets: SÃmbolos Matemáticos. + (line 188) +* \gg: SÃmbolos Matemáticos. + (line 191) +* \glossary: Glosarios. (line 7) +* \glossaryentry: Glosarios. (line 10) +* \grave: Acentos Matemáticos. (line 28) +* \guillemotleft («): SÃmbolos de Texto. (line 24) +* \guillemotright (»): SÃmbolos de Texto. (line 25) +* \guilsinglleft (‹): SÃmbolos de Texto. (line 26) +* \guilsinglright (›): SÃmbolos de Texto. (line 27) +* \H (acento diéresis Húngara): Acentos. (line 60) +* \hat: Acentos Matemáticos. (line 31) +* \hbar: SÃmbolos Matemáticos. + (line 194) +* \headheight: Parámetros para el Diseño de Página. + (line 6) +* \headsep: Parámetros para el Diseño de Página. + (line 11) +* \heartsuit: SÃmbolos Matemáticos. + (line 197) +* \height: Longitudes Predeterminadas. + (line 8) +* \hfill: \hfill. (line 5) +* \hline: \hline. (line 5) +* \hom: Funciones Matemáticas. + (line 54) +* \hookleftarrow: SÃmbolos Matemáticos. + (line 200) +* \hookrightarrow: SÃmbolos Matemáticos. + (line 203) +* \hrulefill: \hrulefill. (line 5) +* \hspace: \hspace. (line 5) +* \huge: Tamaños del Tipo de Letra. + (line 11) +* \Huge: Tamaños del Tipo de Letra. + (line 11) +* \hyphenation: \hyphenation. (line 5) +* \i (i sin punto): Acentos. (line 63) +* \iff: SÃmbolos Matemáticos. + (line 206) +* \ij (ij): Caracteres no Ingleses. + (line 27) +* \IJ (IJ): Caracteres no Ingleses. + (line 27) +* \Im: SÃmbolos Matemáticos. + (line 209) +* \imath: Acentos Matemáticos. (line 34) +* \in: SÃmbolos Matemáticos. + (line 212) +* \include: \include. (line 5) +* \includeonly: \includeonly. (line 5) +* \indent: \indent. (line 5) +* \index: Ãndices. (line 8) +* \indexentry: Ãndices. (line 11) +* \inf: Funciones Matemáticas. + (line 57) +* \infty: SÃmbolos Matemáticos. + (line 215) +* \input: \input. (line 5) +* \int: SÃmbolos Matemáticos. + (line 218) +* \intextsep: figure. (line 68) +* \iota: SÃmbolos Matemáticos. + (line 221) +* \it: Estilos del Tipo de Letra. + (line 97) +* \item: description. (line 13) +* \item <1>: enumerate. (line 19) +* \item <2>: itemize. (line 5) +* \itemindent: itemize. (line 54) +* \itemsep: itemize. (line 79) +* \itshape: Estilos del Tipo de Letra. + (line 26) +* \j (j sin punto): Acentos. (line 66) +* \jmath: Acentos Matemáticos. (line 37) +* \Join: SÃmbolos Matemáticos. + (line 224) +* \k (colita —ogonek en polaco): Acentos. (line 70) +* \kappa: SÃmbolos Matemáticos. + (line 227) +* \ker: Funciones Matemáticas. + (line 60) +* \kill: tabbing. (line 70) +* \l (Å‚): Caracteres no Ingleses. + (line 31) +* \L (Å): Caracteres no Ingleses. + (line 31) +* \label: \label. (line 5) +* \labelenumi: enumerate. (line 37) +* \labelenumii: enumerate. (line 37) +* \labelenumiii: enumerate. (line 37) +* \labelenumiv: enumerate. (line 37) +* \labelitemi: itemize. (line 32) +* \labelitemii: itemize. (line 32) +* \labelitemiii: itemize. (line 32) +* \labelitemiv: itemize. (line 32) +* \labelsep: itemize. (line 58) +* \labelwidth: itemize. (line 62) +* \Lambda: SÃmbolos Matemáticos. + (line 230) +* \lambda: SÃmbolos Matemáticos. + (line 233) +* \land: SÃmbolos Matemáticos. + (line 236) +* \langle: SÃmbolos Matemáticos. + (line 239) +* \large: Tamaños del Tipo de Letra. + (line 11) +* \Large: Tamaños del Tipo de Letra. + (line 11) +* \LARGE: Tamaños del Tipo de Letra. + (line 11) +* \LaTeX: SÃmbolos de Texto. (line 21) +* \lbrace: SÃmbolos Matemáticos. + (line 242) +* \lbrack: SÃmbolos Matemáticos. + (line 245) +* \lceil: SÃmbolos Matemáticos. + (line 248) +* \ldots: SÃmbolos de Texto. (line 31) +* \le: SÃmbolos Matemáticos. + (line 251) +* \leadsto: SÃmbolos Matemáticos. + (line 254) +* \left delimitador1 ... \right delimitador2: Miscelánea Math. + (line 20) +* \Leftarrow: SÃmbolos Matemáticos. + (line 256) +* \leftarrow: SÃmbolos Matemáticos. + (line 259) +* \lefteqn: eqnarray. (line 25) +* \leftharpoondown: SÃmbolos Matemáticos. + (line 262) +* \leftharpoonup: SÃmbolos Matemáticos. + (line 265) +* \leftmargin: itemize. (line 39) +* \leftmargini: itemize. (line 39) +* \leftmarginii: itemize. (line 39) +* \leftmarginiii: itemize. (line 39) +* \leftmarginiv: itemize. (line 39) +* \leftmarginv: itemize. (line 39) +* \leftmarginvi: itemize. (line 39) +* \Leftrightarrow: SÃmbolos Matemáticos. + (line 268) +* \Leftrightarrow <1>: SÃmbolos Matemáticos. + (line 271) +* \leq: SÃmbolos Matemáticos. + (line 274) +* \lfloor: SÃmbolos Matemáticos. + (line 277) +* \lg: Funciones Matemáticas. + (line 63) +* \lhd: SÃmbolos Matemáticos. + (line 280) +* \lim: Funciones Matemáticas. + (line 66) +* \liminf: Funciones Matemáticas. + (line 69) +* \limsup: Funciones Matemáticas. + (line 72) +* \line: \line. (line 5) +* \linebreak: \linebreak y \nolinebreak. + (line 5) +* \linespread: Instrucciones de Bajo Nivel para el Tipo de Letra. + (line 76) +* \linethickness: \linethickness. (line 5) +* \linewidth: Parámetros para el Diseño de Página. + (line 21) +* \listoffigures: Tablas de Contenido. (line 15) +* \listoftables: Tablas de Contenido. (line 15) +* \listparindent: itemize. (line 66) +* \ll: SÃmbolos Matemáticos. + (line 283) +* \ln: Funciones Matemáticas. + (line 75) +* \lnot: SÃmbolos Matemáticos. + (line 286) +* \location: \location. (line 5) +* \log: Funciones Matemáticas. + (line 78) +* \longleftarrow: SÃmbolos Matemáticos. + (line 289) +* \longleftrightarrow: SÃmbolos Matemáticos. + (line 292) +* \longmapsto: SÃmbolos Matemáticos. + (line 295) +* \longrightarrow: SÃmbolos Matemáticos. + (line 298) +* \lor: SÃmbolos Matemáticos. + (line 301) +* \lq: SÃmbolos de Texto. (line 37) +* \makebox: \makebox. (line 5) +* \makebox (imagen): \makebox (imagen). (line 5) +* \makeglossary: Glosarios. (line 5) +* \makeindex: Ãndices. (line 5) +* \makelabels: \makelabels. (line 5) +* \maketitle: \maketitle. (line 5) +* \mapsto: SÃmbolos Matemáticos. + (line 304) +* \marginpar: Notas al Margen. (line 5) +* \marginparpush: Notas al Margen. (line 36) +* \marginparsep: Notas al Margen. (line 40) +* \marginparwidth: Notas al Margen. (line 44) +* \markboth{izquierda}{derecha}: \pagestyle. (line 31) +* \markright{derecha}: \pagestyle. (line 39) +* \mathbf: Estilos del Tipo de Letra. + (line 59) +* \mathcal: Estilos del Tipo de Letra. + (line 76) +* \mathnormal: Estilos del Tipo de Letra. + (line 72) +* \mathrm: Estilos del Tipo de Letra. + (line 56) +* \mathsf: Estilos del Tipo de Letra. + (line 62) +* \mathtt: Estilos del Tipo de Letra. + (line 65) +* \mathversion: Estilos del Tipo de Letra. + (line 78) +* \max: Funciones Matemáticas. + (line 81) +* \mbox: \mbox. (line 5) +* \mdseries: Estilos del Tipo de Letra. + (line 32) +* \medskip: \bigskip \medskip \smallskip. + (line 13) +* \medskipamount: \bigskip \medskip \smallskip. + (line 13) +* \mho: SÃmbolos Matemáticos. + (line 307) +* \mid: SÃmbolos Matemáticos. + (line 309) +* \min: Funciones Matemáticas. + (line 84) +* \models: SÃmbolos Matemáticos. + (line 312) +* \month: \day \month \year. (line 5) +* \mp: SÃmbolos Matemáticos. + (line 315) +* \mu: SÃmbolos Matemáticos. + (line 318) +* \multicolumn: \multicolumn. (line 5) +* \multiput: \multiput. (line 5) +* \nabla: SÃmbolos Matemáticos. + (line 321) +* \name: \name. (line 5) +* \natural: SÃmbolos Matemáticos. + (line 324) +* \ne: SÃmbolos Matemáticos. + (line 327) +* \nearrow: SÃmbolos Matemáticos. + (line 330) +* \neg: SÃmbolos Matemáticos. + (line 333) +* \neq: SÃmbolos Matemáticos. + (line 336) +* \newcommand: \newcommand y \renewcommand. + (line 5) +* \newcounter: \newcounter. (line 5) +* \newenvironment: \newenvironment y \renewenvironment. + (line 5) +* \newfont: \newfont. (line 5) +* \newlength: \newlength. (line 5) +* \newline: \newline. (line 5) +* \NEWLINE: \SPACE. (line 5) +* \newpage: \newpage. (line 5) +* \newsavebox: \newsavebox. (line 5) +* \newtheorem: \newtheorem. (line 5) +* \newtie: Acentos. (line 81) +* \ng: Caracteres no Ingleses. + (line 35) +* \NG: Caracteres no Ingleses. + (line 35) +* \ni: SÃmbolos Matemáticos. + (line 339) +* \nocite: \nocite. (line 5) +* \nofiles: Tablas de Contenido. (line 19) +* \noindent: \noindent. (line 5) +* \nolinebreak: \linebreak y \nolinebreak. + (line 5) +* \nonumber: eqnarray. (line 19) +* \nopagebreak: \pagebreak y \nopagebreak. + (line 5) +* \normalfont: Estilos del Tipo de Letra. + (line 53) +* \normalmarginpar: Notas al Margen. (line 22) +* \normalsize: Tamaños del Tipo de Letra. + (line 11) +* \not: SÃmbolos Matemáticos. + (line 342) +* \notin: SÃmbolos Matemáticos. + (line 345) +* \nu: SÃmbolos Matemáticos. + (line 348) +* \nwarrow: SÃmbolos Matemáticos. + (line 351) +* \o (ø): Caracteres no Ingleses. + (line 39) +* \O (Ø): Caracteres no Ingleses. + (line 39) +* \obeycr: \obeycr y \restorecr. + (line 5) +* \oddsidemargin: Opciones de Clase de Documento. + (line 59) +* \odot: SÃmbolos Matemáticos. + (line 354) +* \oe (Å“): Caracteres no Ingleses. + (line 43) +* \OE (Å’): Caracteres no Ingleses. + (line 43) +* \oint: SÃmbolos Matemáticos. + (line 357) +* \Omega: SÃmbolos Matemáticos. + (line 360) +* \omega: SÃmbolos Matemáticos. + (line 363) +* \ominus: SÃmbolos Matemáticos. + (line 366) +* \onecolumn: \onecolumn. (line 5) +* \opening: \opening. (line 5) +* \oplus: SÃmbolos Matemáticos. + (line 369) +* \oslash: SÃmbolos Matemáticos. + (line 372) +* \otimes: SÃmbolos Matemáticos. + (line 375) +* \oval: \oval. (line 5) +* \overbrace{texto}: Miscelánea Math. (line 26) +* \overline{texto}: Miscelánea Math. (line 30) +* \owns: SÃmbolos Matemáticos. + (line 378) +* \P: SÃmbolos de Texto. (line 40) +* \pagebreak: \pagebreak y \nopagebreak. + (line 5) +* \pagenumbering: \pagenumbering. (line 5) +* \pageref: \pageref. (line 5) +* \pagestyle: \pagestyle. (line 5) +* \paragraph: Seccionado. (line 20) +* \parallel: SÃmbolos Matemáticos. + (line 381) +* \parbox: \parbox. (line 5) +* \parindent: minipage. (line 17) +* \parindent <1>: \indent. (line 5) +* \parsep: itemize. (line 84) +* \parskip: \parskip. (line 5) +* \part: Seccionado. (line 9) +* \partial: SÃmbolos Matemáticos. + (line 384) +* \partopsep: itemize. (line 96) +* \perp: SÃmbolos Matemáticos. + (line 387) +* \phi: SÃmbolos Matemáticos. + (line 390) +* \Pi: SÃmbolos Matemáticos. + (line 393) +* \pi: SÃmbolos Matemáticos. + (line 396) +* \pm: SÃmbolos Matemáticos. + (line 399) +* \pmod: Funciones Matemáticas. + (line 87) +* \poptabs: tabbing. (line 76) +* \poptabs <1>: tabbing. (line 77) +* \pounds: SÃmbolos de Texto. (line 44) +* \Pr: Funciones Matemáticas. + (line 90) +* \prec: SÃmbolos Matemáticos. + (line 402) +* \preceq: SÃmbolos Matemáticos. + (line 405) +* \prime: SÃmbolos Matemáticos. + (line 408) +* \prod: SÃmbolos Matemáticos. + (line 411) +* \propto: SÃmbolos Matemáticos. + (line 414) +* \protect: \protect. (line 5) +* \ps: \ps. (line 5) +* \Psi: SÃmbolos Matemáticos. + (line 417) +* \psi: SÃmbolos Matemáticos. + (line 420) +* \pushtabs: tabbing. (line 80) +* \put: \put. (line 5) +* \quotedblbase („): SÃmbolos de Texto. (line 48) +* \quotesinglbase (‚): SÃmbolos de Texto. (line 49) +* \r (acento anillo): Acentos. (line 75) +* \raggedbottom: \raggedbottom. (line 5) +* \raggedleft: \raggedleft. (line 5) +* \raggedright: \raggedright. (line 5) +* \raisebox: \raisebox. (line 5) +* \rangle: SÃmbolos Matemáticos. + (line 423) +* \rbrace: SÃmbolos Matemáticos. + (line 426) +* \rbrack: SÃmbolos Matemáticos. + (line 429) +* \rceil: SÃmbolos Matemáticos. + (line 432) +* \Re: SÃmbolos Matemáticos. + (line 435) +* \ref: \ref. (line 5) +* \refstepcounter: \refstepcounter. (line 5) +* \renewenvironment: \newenvironment y \renewenvironment. + (line 5) +* \restorecr: \obeycr y \restorecr. + (line 5) +* \reversemarginpar: Notas al Margen. (line 22) +* \rfloor: SÃmbolos Matemáticos. + (line 438) +* \rhd: SÃmbolos Matemáticos. + (line 441) +* \rho: SÃmbolos Matemáticos. + (line 444) +* \right: Miscelánea Math. (line 21) +* \Rightarrow: SÃmbolos Matemáticos. + (line 447) +* \rightarrow: SÃmbolos Matemáticos. + (line 450) +* \rightharpoondown: SÃmbolos Matemáticos. + (line 453) +* \rightharpoonup: SÃmbolos Matemáticos. + (line 456) +* \rightleftharpoons: SÃmbolos Matemáticos. + (line 459) +* \rightmargin: itemize. (line 70) +* \rm: Estilos del Tipo de Letra. + (line 100) +* \rmfamily: Estilos del Tipo de Letra. + (line 23) +* \roman: \alph \Alph \arabic \roman \Roman \fnsymbol. + (line 18) +* \roman <1>: \alph \Alph \arabic \roman \Roman \fnsymbol. + (line 21) +* \rq: SÃmbolos de Texto. (line 52) +* \rule: \rule. (line 5) +* \S: SÃmbolos de Texto. (line 55) +* \savebox: \savebox. (line 5) +* \sbox: \sbox. (line 5) +* \sc: Estilos del Tipo de Letra. + (line 103) +* \scriptsize: Tamaños del Tipo de Letra. + (line 11) +* \scshape: Estilos del Tipo de Letra. + (line 47) +* \searrow: SÃmbolos Matemáticos. + (line 462) +* \sec: Funciones Matemáticas. + (line 93) +* \section: Seccionado. (line 14) +* \seename: Ãndices. (line 19) +* \selectfont: Instrucciones de Bajo Nivel para el Tipo de Letra. + (line 82) +* \setcounter: \setcounter. (line 5) +* \setlength: \setlength. (line 5) +* \setminus: SÃmbolos Matemáticos. + (line 465) +* \settodepth: \settodepth. (line 5) +* \settoheight: \settoheight. (line 5) +* \settowidth: \settowidth. (line 5) +* \sf: Estilos del Tipo de Letra. + (line 106) +* \sffamily: Estilos del Tipo de Letra. + (line 44) +* \sharp: SÃmbolos Matemáticos. + (line 468) +* \shortstack: \shortstack. (line 5) +* \Sigma: SÃmbolos Matemáticos. + (line 471) +* \sigma: SÃmbolos Matemáticos. + (line 474) +* \signature: \signature. (line 5) +* \sim: SÃmbolos Matemáticos. + (line 477) +* \simeq: SÃmbolos Matemáticos. + (line 480) +* \sin: Funciones Matemáticas. + (line 96) +* \sinh: Funciones Matemáticas. + (line 99) +* \sl: Estilos del Tipo de Letra. + (line 109) +* \slshape: Estilos del Tipo de Letra. + (line 41) +* \small: Tamaños del Tipo de Letra. + (line 11) +* \smallint: SÃmbolos Matemáticos. + (line 483) +* \smallskip: \bigskip \medskip \smallskip. + (line 17) +* \smallskipamount: \bigskip \medskip \smallskip. + (line 17) +* \smile: SÃmbolos Matemáticos. + (line 486) +* \SPACE: \SPACE. (line 5) +* \spadesuit: SÃmbolos Matemáticos. + (line 489) +* \sqcap: SÃmbolos Matemáticos. + (line 492) +* \sqcup: SÃmbolos Matemáticos. + (line 495) +* \sqrt[raÃz]{argumento}: Miscelánea Math. (line 34) +* \sqsubset: SÃmbolos Matemáticos. + (line 498) +* \sqsubseteq: SÃmbolos Matemáticos. + (line 501) +* \sqsupset: SÃmbolos Matemáticos. + (line 504) +* \sqsupseteq: SÃmbolos Matemáticos. + (line 507) +* \ss (ß): Caracteres no Ingleses. + (line 47) +* \SS (SS): Caracteres no Ingleses. + (line 47) +* \stackrel{texto}{relación}: Miscelánea Math. (line 39) +* \star: SÃmbolos Matemáticos. + (line 510) +* \startbreaks: \startbreaks. (line 5) +* \stepcounter: \stepcounter. (line 5) +* \stop: LÃnea de Órdenes. (line 16) +* \stopbreaks: \stopbreaks. (line 5) +* \subparagraph: Seccionado. (line 22) +* \subsection: Seccionado. (line 16) +* \subset: SÃmbolos Matemáticos. + (line 513) +* \subseteq: SÃmbolos Matemáticos. + (line 516) +* \subsubsection: Seccionado. (line 18) +* \succ: SÃmbolos Matemáticos. + (line 519) +* \succeq: SÃmbolos Matemáticos. + (line 522) +* \sum: SÃmbolos Matemáticos. + (line 525) +* \sup: Funciones Matemáticas. + (line 102) +* \supset: SÃmbolos Matemáticos. + (line 528) +* \supseteq: SÃmbolos Matemáticos. + (line 531) +* \surd: SÃmbolos Matemáticos. + (line 534) +* \swarrow: SÃmbolos Matemáticos. + (line 537) +* \symbol: Caracteres Reservados. + (line 25) +* \t (acento atadura con siguiente): Acentos. (line 81) +* \TAB: \SPACE. (line 5) +* \tabbingsep: tabbing. (line 85) +* \tabcolsep: tabular. (line 113) +* \tableofcontents: Tablas de Contenido. (line 5) +* \tan: Funciones Matemáticas. + (line 105) +* \tanh: Funciones Matemáticas. + (line 108) +* \tau: SÃmbolos Matemáticos. + (line 540) +* \telephone: \telephone. (line 5) +* \TeX: SÃmbolos de Texto. (line 58) +* \textascenderwordmark: SÃmbolos de Texto. (line 96) +* \textasciicircum: SÃmbolos de Texto. (line 61) +* \textasciitilde: SÃmbolos de Texto. (line 64) +* \textasteriskcentered: SÃmbolos de Texto. (line 67) +* \textbackslash: SÃmbolos de Texto. (line 70) +* \textbar: SÃmbolos de Texto. (line 73) +* \textbardbl: SÃmbolos de Texto. (line 76) +* \textbf: Estilos del Tipo de Letra. + (line 35) +* \textbigcircle: SÃmbolos de Texto. (line 79) +* \textbraceleft: SÃmbolos de Texto. (line 82) +* \textbraceright: SÃmbolos de Texto. (line 85) +* \textbullet: SÃmbolos de Texto. (line 88) +* \textcapitalwordmark: SÃmbolos de Texto. (line 95) +* \textcircled{letra}: SÃmbolos de Texto. (line 91) +* \textcompwordmark: SÃmbolos de Texto. (line 94) +* \textcopyright: SÃmbolos de Texto. (line 12) +* \textdagger: SÃmbolos de Texto. (line 101) +* \textdaggerdbl: SÃmbolos de Texto. (line 104) +* \textdollar (o `$'): SÃmbolos de Texto. (line 107) +* \textellipsis: SÃmbolos de Texto. (line 33) +* \textemdash (o `---'): SÃmbolos de Texto. (line 110) +* \textendash (o `--'): SÃmbolos de Texto. (line 113) +* \texteuro: SÃmbolos de Texto. (line 116) +* \textexclamdown (o `!`'): SÃmbolos de Texto. (line 119) +* \textfloatsep: figure. (line 73) +* \textfraction: figure. (line 78) +* \textgreater: SÃmbolos de Texto. (line 122) +* \textheight: Parámetros para el Diseño de Página. + (line 27) +* \textit: Estilos del Tipo de Letra. + (line 26) +* \textleftarrow: SÃmbolos de Texto. (line 128) +* \textless: SÃmbolos de Texto. (line 125) +* \textmd: Estilos del Tipo de Letra. + (line 32) +* \textnormal: Estilos del Tipo de Letra. + (line 53) +* \textordfeminine: SÃmbolos de Texto. (line 131) +* \textordfeminine <1>: SÃmbolos de Texto. (line 135) +* \textordmasculine: SÃmbolos de Texto. (line 132) +* \textparagraph: SÃmbolos de Texto. (line 41) +* \textperiodcentered: SÃmbolos de Texto. (line 138) +* \textquestiondown (o `?`'): SÃmbolos de Texto. (line 141) +* \textquotedblleft (o ```'): SÃmbolos de Texto. (line 144) +* \textquotedblright (o `''): SÃmbolos de Texto. (line 147) +* \textquoteleft (o ``'): SÃmbolos de Texto. (line 150) +* \textquoteright (o `''): SÃmbolos de Texto. (line 153) +* \textquotestraightbase: SÃmbolos de Texto. (line 156) +* \textquotestraightdblbase: SÃmbolos de Texto. (line 157) +* \textregistered: SÃmbolos de Texto. (line 160) +* \textrightarrow: SÃmbolos de Texto. (line 163) +* \textrm: Estilos del Tipo de Letra. + (line 23) +* \textsc: Estilos del Tipo de Letra. + (line 47) +* \textsf: Estilos del Tipo de Letra. + (line 44) +* \textsl: Estilos del Tipo de Letra. + (line 41) +* \textsterling: SÃmbolos de Texto. (line 45) +* \textthreequartersemdash: SÃmbolos de Texto. (line 166) +* \texttrademark: SÃmbolos de Texto. (line 169) +* \texttt: Estilos del Tipo de Letra. + (line 50) +* \texttwelveudash: SÃmbolos de Texto. (line 172) +* \textunderscore: SÃmbolos de Texto. (line 175) +* \textup: Estilos del Tipo de Letra. + (line 38) +* \textvisiblespace: SÃmbolos de Texto. (line 178) +* \textwidth: Parámetros para el Diseño de Página. + (line 34) +* \th (þ): Caracteres no Ingleses. + (line 51) +* \TH (Þ): Caracteres no Ingleses. + (line 51) +* \thanks{texto}: \maketitle. (line 23) +* \theta: SÃmbolos Matemáticos. + (line 543) +* \thicklines: \thicklines. (line 5) +* \thinlines: \thinlines. (line 5) +* \thinspace: \thinspace. (line 5) +* \thispagestyle: \thispagestyle. (line 5) +* \tilde: Acentos Matemáticos. (line 40) +* \times: SÃmbolos Matemáticos. + (line 546) +* \tiny: Tamaños del Tipo de Letra. + (line 11) +* \title{texto}: \maketitle. (line 28) +* \to: SÃmbolos Matemáticos. + (line 549) +* \today: \today. (line 5) +* \top: SÃmbolos Matemáticos. + (line 552) +* \topfraction: figure. (line 84) +* \topmargin: Parámetros para el Diseño de Página. + (line 41) +* \topsep: itemize. (line 88) +* \topskip: Parámetros para el Diseño de Página. + (line 49) +* \totalheight: Longitudes Predeterminadas. + (line 12) +* \triangle: SÃmbolos Matemáticos. + (line 555) +* \triangleleft: SÃmbolos Matemáticos. + (line 558) +* \triangleright: SÃmbolos Matemáticos. + (line 561) +* \tt: Estilos del Tipo de Letra. + (line 112) +* \ttfamily: Estilos del Tipo de Letra. + (line 50) +* \twocolumn: \twocolumn. (line 5) +* \typein: \typein. (line 5) +* \typeout: \typeout. (line 5) +* \u (breve acento): Acentos. (line 86) +* \unboldmath: Fórmulas Matemáticas. + (line 30) +* \underbar: Acentos. (line 89) +* \underbrace{matemáticas}: Miscelánea Math. (line 44) +* \underline{text}: Miscelánea Math. (line 47) +* \unitlength: picture. (line 9) +* \unlhd: SÃmbolos Matemáticos. + (line 564) +* \unrhd: SÃmbolos Matemáticos. + (line 568) +* \Uparrow: SÃmbolos Matemáticos. + (line 572) +* \uparrow: SÃmbolos Matemáticos. + (line 575) +* \Updownarrow: SÃmbolos Matemáticos. + (line 578) +* \updownarrow: SÃmbolos Matemáticos. + (line 581) +* \uplus: SÃmbolos Matemáticos. + (line 584) +* \upshape: Estilos del Tipo de Letra. + (line 38) +* \Upsilon: SÃmbolos Matemáticos. + (line 587) +* \upsilon: SÃmbolos Matemáticos. + (line 590) +* \usebox: \usebox. (line 5) +* \usecounter: \usecounter. (line 5) +* \usefont: Instrucciones de Bajo Nivel para el Tipo de Letra. + (line 87) +* \usepackage: Opciones de Clase de Documento. + (line 78) +* \v (breve acento): Acentos. (line 97) +* \value: \value. (line 5) +* \varepsilon: SÃmbolos Matemáticos. + (line 593) +* \varphi: SÃmbolos Matemáticos. + (line 596) +* \varpi: SÃmbolos Matemáticos. + (line 599) +* \varrho: SÃmbolos Matemáticos. + (line 602) +* \varsigma: SÃmbolos Matemáticos. + (line 605) +* \vartheta: SÃmbolos Matemáticos. + (line 608) +* \vdash: SÃmbolos Matemáticos. + (line 611) +* \vdots: Miscelánea Math. (line 52) +* \vdots <1>: Miscelánea Math. (line 53) +* \vec: Acentos Matemáticos. (line 43) +* \vector: \vector. (line 5) +* \vee: SÃmbolos Matemáticos. + (line 614) +* \verb: \verb. (line 5) +* \Vert: SÃmbolos Matemáticos. + (line 617) +* \vert: SÃmbolos Matemáticos. + (line 620) +* \vfill: \vfill. (line 5) +* \vline: \vline. (line 5) +* \vspace: \vspace. (line 5) +* \wedge: SÃmbolos Matemáticos. + (line 623) +* \widehat: Acentos Matemáticos. (line 46) +* \widetilde: Acentos Matemáticos. (line 49) +* \width: Longitudes Predeterminadas. + (line 6) +* \wp: SÃmbolos Matemáticos. + (line 626) +* \wr: SÃmbolos Matemáticos. + (line 629) +* \Xi: SÃmbolos Matemáticos. + (line 632) +* \xi: SÃmbolos Matemáticos. + (line 635) +* \year: \day \month \year. (line 5) +* \zeta: SÃmbolos Matemáticos. + (line 638) +* \[: Fórmulas Matemáticas. + (line 17) +* \\ (para objetos `\shortstack'): \shortstack. (line 21) +* \\ (para `array'): array. (line 28) +* \\ (para `centrar'): center. (line 12) +* \\ (para `eqnarray'): eqnarray. (line 11) +* \\ (para `flushright'): flushright. (line 11) +* \\ forzar la separación de lÃnea: \\. (line 5) +* \\ para cartas: Cartas. (line 33) +* \\ para `flushleft': flushleft. (line 11) +* \\ para `tabular': tabular. (line 22) +* \\ para `verse': verse. (line 16) +* \\ para `\author': \maketitle. (line 12) +* \\ para `\title': \maketitle. (line 29) +* \\ tabbing: tabbing. (line 26) +* \\* (para `eqnarray'): eqnarray. (line 16) +* \]: Fórmulas Matemáticas. + (line 17) +* \^: Caracteres Reservados. + (line 21) +* \^ (acento circunflejo): Acentos. (line 34) +* \_: Caracteres Reservados. + (line 10) +* \` (acento grave): Acentos. (line 39) +* \` (tabbing): tabbing. (line 56) +* \{: Caracteres Reservados. + (line 10) +* \|: SÃmbolos Matemáticos. + (line 11) +* \}: Caracteres Reservados. + (line 10) +* \~: Caracteres Reservados. + (line 21) +* \~ (acento tilde): Acentos. (line 45) +* ^: SubÃndices y SuperÃndices. + (line 5) +* _: SubÃndices y SuperÃndices. + (line 5) +* array entorno: array. (line 5) +* caja lR: picture. (line 66) +* clase article: Clases de Documento. (line 12) +* clase book: Clases de Documento. (line 12) +* clase letter: Clases de Documento. (line 12) +* clase report: Clases de Documento. (line 12) +* clase slides: Clases de Documento. (line 12) +* contador secnumdepth: Seccionado. (line 56) +* ejemplo \Alph: enumerate. (line 43) +* ejemplo \parskip: itemize. (line 101) +* entorno flushleft: flushleft. (line 5) +* entorno itemize: itemize. (line 5) +* entorno abstract: abstract. (line 5) +* entorno center: center. (line 5) +* entorno description: description. (line 5) +* entorno displaymath: displaymath. (line 5) +* entorno displaymath <1>: Fórmulas Matemáticas. + (line 5) +* entorno document: document. (line 5) +* entorno enumerate: enumerate. (line 5) +* entorno eqnarray: eqnarray. (line 5) +* entorno equation: equation. (line 5) +* entorno equation <1>: Fórmulas Matemáticas. + (line 5) +* entorno flushright: flushright. (line 5) +* entorno math: math. (line 5) +* entorno math <1>: Fórmulas Matemáticas. + (line 5) +* entorno minipage: minipage. (line 5) +* entorno tabbing: tabbing. (line 5) +* entorno tabular: tabular. (line 5) +* entorno theorem: theorem. (line 5) +* entorno titlepage: titlepage. (line 5) +* entorno verbatim: verbatim. (line 5) +* entorno verse: verse. (line 5) +* figure: figure. (line 5) +* indexspace: Ãndices. (line 33) +* letter: letter. (line 5) +* list: list. (line 5) +* lrbox: lrbox. (line 5) +* opción 10pt: Opciones de Clase de Documento. + (line 14) +* opción 11pt: Opciones de Clase de Documento. + (line 14) +* opción 12pt: Opciones de Clase de Documento. + (line 14) +* opción a4paper: Opciones de Clase de Documento. + (line 20) +* opción a5paper: Opciones de Clase de Documento. + (line 20) +* opción b5paper: Opciones de Clase de Documento. + (line 20) +* opción draft: Opciones de Clase de Documento. + (line 25) +* opción executivepaper: Opciones de Clase de Documento. + (line 20) +* opción final: Opciones de Clase de Documento. + (line 25) +* opción fleqn: Opciones de Clase de Documento. + (line 25) +* opción landscape: Opciones de Clase de Documento. + (line 25) +* opción legalpaper: Opciones de Clase de Documento. + (line 20) +* opción leqno: Opciones de Clase de Documento. + (line 25) +* opción letterpaper: Opciones de Clase de Documento. + (line 20) +* opción notitlepage: Opciones de Clase de Documento. + (line 25) +* opción onecolumn: Opciones de Clase de Documento. + (line 51) +* opción oneside: Opciones de Clase de Documento. + (line 51) +* opción openany: Opciones de Clase de Documento. + (line 51) +* opción openbib: Opciones de Clase de Documento. + (line 25) +* opción openright: Opciones de Clase de Documento. + (line 51) +* opción titlepage: Opciones de Clase de Documento. + (line 25) +* opción twocolumn: Opciones de Clase de Documento. + (line 51) +* opción twoside: Opciones de Clase de Documento. + (line 51) +* paquete textcomp: SÃmbolos de Texto. (line 5) +* picture: picture. (line 5) +* printindex: Ãndices. (line 29) +* quotation: quotation. (line 5) +* quote: quote. (line 5) +* table: table. (line 5) +* thebibliography: thebibliography. (line 5) + + + +Tag Table: +Node: Top1813 +Node: Descripción4493 +Node: Iniciando y Finalizando6764 +Node: Clases de Documento7384 +Node: Opciones de Clase de Documento8066 +Node: Tipos de Letra11126 +Node: Estilos del Tipo de Letra11700 +Node: Tamaños del Tipo de Letra14437 +Node: Instrucciones de Bajo Nivel para el Tipo de Letra16017 +Node: Diseño19166 +Node: \onecolumn19735 +Node: \twocolumn19973 +Node: \flushbottom21812 +Node: \raggedbottom22223 +Node: Parámetros para el Diseño de Página22556 +Node: Seccionado24962 +Node: Referencias Cruzadas26773 +Node: \label27252 +Node: \pageref28233 +Node: \ref28548 +Node: Entornos28982 +Node: abstract30556 +Node: array30792 +Node: center32256 +Node: \centering32749 +Node: description33681 +Node: displaymath34696 +Node: document35370 +Node: enumerate35635 +Node: eqnarray37027 +Node: equation38185 +Node: figure38586 +Node: flushleft41936 +Node: \raggedright42438 +Node: flushright43064 +Node: \raggedleft43553 +Node: itemize44177 +Node: letter48221 +Node: list48451 +Node: math49369 +Node: minipage49697 +Node: picture51026 +Node: \circle55405 +Node: \makebox (imagen)55770 +Node: \framebox (imagen)56524 +Node: \dashbox57030 +Node: \frame57644 +Node: \line57991 +Node: \linethickness58522 +Node: \thicklines58985 +Node: \thinlines59314 +Node: \multiput59639 +Node: \oval60040 +Node: \put60728 +Node: \shortstack61001 +Node: \vector61503 +Node: quotation61831 +Node: quote62326 +Node: tabbing62809 +Node: table66346 +Node: tabular67319 +Node: \multicolumn71801 +Node: \cline72709 +Node: \hline73068 +Node: \vline73407 +Node: thebibliography73761 +Node: \bibitem75054 +Node: \cite75882 +Node: \nocite76407 +Node: Usando BibTeX76723 +Node: theorem78468 +Node: titlepage78867 +Node: verbatim79586 +Node: \verb80299 +Node: verse80978 +Node: Saltos de LÃnea81523 +Node: \\82733 +Node: \obeycr y \restorecr83294 +Node: \newline83765 +Node: \- (hyphenation)84056 +Node: \fussy84810 +Node: \sloppy85259 +Node: \hyphenation85643 +Node: \linebreak y \nolinebreak86398 +Node: Saltos de Página87103 +Node: \cleardoublepage87819 +Node: \clearpage88302 +Node: \newpage88606 +Node: \enlargethispage88858 +Node: \pagebreak y \nopagebreak89410 +Node: Notas al Pie90165 +Node: \footnote90882 +Node: \footnotemark91454 +Node: \footnotetext92061 +Node: Notas al Pie Simbólicas92636 +Node: Parámetros para Footnote93237 +Node: Definiciones94075 +Node: \newcommand y \renewcommand94868 +Node: \newcounter96345 +Node: \newlength96843 +Node: \newsavebox97421 +Node: \newenvironment y \renewenvironment97783 +Node: \newtheorem99403 +Node: \newfont100490 +Node: \protect101071 +Node: Contadores102016 +Node: \alph \Alph \arabic \roman \Roman \fnsymbol103420 +Node: \usecounter104565 +Node: \value104960 +Node: \setcounter105397 +Node: \addtocounter105699 +Node: \refstepcounter106025 +Node: \stepcounter106406 +Node: \day \month \year106683 +Node: Longitudes107283 +Node: \setlength107952 +Node: \addtolength108330 +Node: \settodepth108683 +Node: \settoheight108983 +Node: \settowidth109280 +Node: Longitudes Predeterminadas109574 +Node: Haciendo Párrafos110170 +Node: \indent110822 +Node: \noindent111350 +Node: \parskip111639 +Node: Notas al Margen111943 +Node: Fórmulas Matemáticas113701 +Node: SubÃndices y SuperÃndices115711 +Node: SÃmbolos Matemáticos116213 +Node: Funciones Matemáticas123360 +Node: Acentos Matemáticos124383 +Node: Espacios en Modo Math125546 +Node: Miscelánea Math126271 +Node: Modos127959 +Node: Estilos de Página130083 +Node: \maketitle130685 +Node: \pagenumbering131946 +Node: \pagestyle132407 +Node: \thispagestyle133775 +Node: Espacios134115 +Node: \hspace135299 +Node: \hfill135944 +Node: \SPACE136397 +Node: \AT136927 +Node: \thinspace137418 +Node: \/137694 +Node: \hrulefill138639 +Node: \dotfill138928 +Node: \addvspace139189 +Node: \bigskip \medskip \smallskip139737 +Node: \vfill140497 +Node: \vspace140835 +Node: Cajas141323 +Node: \mbox142158 +Node: \fbox y \framebox142501 +Node: lrbox143353 +Node: \makebox143689 +Node: \parbox144484 +Node: \raisebox145956 +Node: \savebox146617 +Node: \sbox147093 +Node: \usebox147601 +Node: Inserciones Especiales147928 +Node: Caracteres Reservados148643 +Node: SÃmbolos de Texto150240 +Node: Acentos153832 +Node: Caracteres no Ingleses156561 +Node: \rule157238 +Node: \today157687 +Node: Dividiendo la Entrada158159 +Node: \include158900 +Node: \includeonly159580 +Node: \input160153 +Node: Asuntos de Portada/Contraportada160686 +Node: Tablas de Contenido160941 +Node: \addcontentsline162108 +Node: \addtocontents163097 +Node: Glosarios163640 +Node: Ãndices164235 +Node: Cartas166205 +Node: \address168411 +Node: \cc169130 +Node: \closing169392 +Node: \encl169640 +Node: \location169850 +Node: \makelabels170139 +Node: \name170444 +Node: \opening170676 +Node: \ps171019 +Node: \signature171218 +Node: \startbreaks171512 +Node: \stopbreaks171769 +Node: \telephone172004 +Node: Entrada/Salida a la Terminal172256 +Node: \typein172552 +Node: \typeout173267 +Node: LÃnea de Órdenes174047 +Node: Plantillas de Documento174883 +Node: Plantilla book175245 +Node: Plantilla beamer175747 +Node: Plantilla tugboat176468 +Node: Ãndice de Conceptos178958 +Node: Ãndice de Instrucciones218090 + +End Tag Table + + +Local Variables: +coding: utf-8 +End: diff --git a/Master/texmf-dist/doc/info/latex2e.info b/Master/texmf-dist/doc/info/latex2e.info new file mode 100644 index 00000000000..c5d3a86f724 --- /dev/null +++ b/Master/texmf-dist/doc/info/latex2e.info @@ -0,0 +1,7503 @@ +This is latex2e.info, produced by texi2any version 4.13.90+dev from +latex2e.texi. + +This document is an unofficial reference manual for LaTeX, a document +preparation system, version of May 2012. + + This manual was originally translated from 'LATEX.HLP' v1.0a in the +VMS Help Library. The pre-translation version was written by George D. +Greenwade of Sam Houston State University. The LaTeX 2.09 version was +written by Stephen Gilmore. The LaTeX2e version was adapted from this +by Torsten Martinsen. Karl Berry made further updates and additions, +and gratefully acknowledges using 'Hypertext Help with LaTeX', by +Sheldon Green, and the 'LaTeX Command Summary' (for LaTeX 2.09) by +L. Botway and C. Biemesderfer (published by the TeX Users Group as +'TeXniques' number 10), as reference material (no text was directly +copied). + + Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012 Karl Berry. +Copyright (C) 1988, 1994, 2007 Stephen Gilmore. +Copyright (C) 1994, 1995, 1996 Torsten Martinsen. + + Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. + + Permission is granted to copy and distribute modified versions of +this manual under the conditions for verbatim copying, provided that the +entire resulting derived work is distributed under the terms of a +permission notice identical to this one. + + Permission is granted to copy and distribute translations of this +manual into another language, under the above conditions for modified +versions. +INFO-DIR-SECTION TeX +START-INFO-DIR-ENTRY +* LaTeX2e: (latex2e). Unofficial LaTeX reference manual. +END-INFO-DIR-ENTRY + + +File: latex2e.info, Node: Top, Next: About this document, Up: (dir) + +LaTeX2e +******* + +This document is an unofficial reference manual for LaTeX, a document +preparation system, version as of May 2012. It is intended to cover +LaTeX2e, which has been the standard version of LaTeX for many years. + +* Menu: + +* About this document:: Bug reporting, etc. +* Overview:: What is LaTeX? +* Starting & ending:: The standard beginning and end of a document. +* Document classes:: Some of the various classes available. +* Typefaces:: And fonts, such as bold, italics etc. +* Layout:: Controlling the page layout. +* Sectioning:: How to section properly. +* Cross references:: Automatic referencing. +* Environments:: Such as enumerate & itemize. +* Line breaking:: Influencing line breaks. +* Page breaking:: Influencing page breaks. +* Footnotes:: How to produce footnotes. +* Definitions:: Define your own commands etc. +* Counters:: Internal counters used by LaTeX. +* Lengths:: The length commands. +* Making paragraphs:: Paragraph commands. +* Math formulas:: How to create mathematical formulas. +* Modes:: Paragraph, Math or LR modes. +* Page styles:: Various styles of page layout. +* Spaces:: Horizontal and vertical space. +* Boxes:: Making boxes. +* Special insertions:: Inserting reserved and special characters. +* Splitting the input:: Dealing with big files by splitting. +* Front/back matter:: Tables of contents, glossaries, indexes. +* Letters:: The letter class. +* Terminal input/output:: User interaction. +* Command line:: System-independent command-line behavior. +* Document templates:: Starter templates for various document classes. +* Concept Index:: General index. +* Command Index:: Alphabetical list of LaTeX commands. + + +File: latex2e.info, Node: About this document, Next: Overview, Prev: Top, Up: Top + +1 About this document +********************* + +The LaTeX document preparation system is implemented as a macro package +for Donald E. Knuth's TeX typesetting program. LaTeX was originally +created by Leslie Lamport; it is now maintained by a group of volunteers +('http://latex-project.org'). The official documentation written by the +LaTeX project is available from their web site. + + The present document is completely unofficial and has not been +reviewed by the LaTeX maintainers. Do not send bug reports or anything +else about this document to them. Instead, please send all comments to +<latexrefman-discuss@gna.org>. + + The home page for this document is 'http://home.gna.org/latexrefman'. +That page has links to the current output in various formats, sources, +mailing lists, and other infrastructure. + + Of course, there are many, many other sources of information about +LaTeX. Here are a few: + + Two pages of recommended references to LaTeX documentation. + + Writing your first document, with a bit of both text and math. + + The guide for document authors maintained as part of LaTeX; there + are several others. + + Introduction to the TeX system, including LaTeX. + + +File: latex2e.info, Node: Overview, Next: Starting & ending, Prev: About this document, Up: Top + +2 Overview of LaTeX +******************* + +What is LaTeX? + + LaTeX typesets a file of text using the TeX program and the LaTeX +"macro package" for TeX. That is, it processes an input file containing +the text of a document with interspersed commands that describe how the +text should be formatted. LaTeX files are plain text that can be +written in any reasonable editor. It produces at least three files as +output: + + 1. The main output file, which is one of: + + '.dvi' + If invoked as 'latex', a "Device Independent" ('.dvi') file is + produced. This contains commands that can be translated into + commands for virtually any output device. You can view such + '.dvi' output of LaTeX by using a program such as 'xdvi' + (display directly), 'dvips' (convert to PostScript), or + 'dvipdfmx' (convert to PDF). + + '.pdf' + If invoked as 'pdflatex', a "Portable Document Format" + ('.pdf') file. Typically, this is a self-contained file, with + all fonts and images embedded. This can be very useful, but + it does make the output much larger than the '.dvi' produced + from the same document. + + If invoked as 'lualatex', a '.pdf' file is created using the + LuaTeX engine ('http://luatex.org'). + + If invoked as 'xelatex', a '.pdf' file is created using the + XeTeX engine ('http://tug.org/xetex'). + + Many other less-common variants of LaTeX (and TeX) exist, which can + produce HTML, XML, and other things. + + 2. The "transcript" or '.log' file that contains summary information + and diagnostic messages for any errors discovered in the input + file. + + 3. An "auxiliary" or '.aux' file. This is used by LaTeX itself, for + things such as cross-references. + + An open-ended list of other files might be created. We won't try to +list them all. Xxx components? + + In the LaTeX input file, a command name starts with a '\', followed +by either (a) a string of letters or (b) a single non-letter. Arguments +contained in square brackets, '[]', are optional while arguments +contained in braces, '{}', are required. + + LaTeX is case sensitive. Enter all commands in lower case unless +explicitly directed to do otherwise. + + +File: latex2e.info, Node: Starting & ending, Next: Document classes, Prev: Overview, Up: Top + +3 Starting & ending +******************* + +A minimal input file looks like the following: + + \documentclass{CLASS} + \begin{document} + YOUR TEXT + \end{document} + +where the CLASS is a valid document class for LaTeX. *Note Document +classes::, for details of the various document classes available +locally. + + You may include other LaTeX commands between the '\documentclass' and +the '\begin{document}' commands (this area is called the "preamble"). + + +File: latex2e.info, Node: Document classes, Next: Typefaces, Prev: Starting & ending, Up: Top + +4 Document classes +****************** + +The class of a given document is defined with the command: + + \documentclass[OPTIONS]{CLASS} + +The '\documentclass' command must be the first command in a LaTeX source +file. + + Built-in LaTeX document CLASS names are (many other document classes +are available as add-ons; *note Overview::): + + article report book letter slides + + Standard OPTIONS are described below. + +* Menu: + +* Document class options:: Global options. + + +File: latex2e.info, Node: Document class options, Up: Document classes + +4.1 Document class options +========================== + +You can specify so-called "global options" or "class options" to the +'\documentclass' command by enclosing them in square brackets as usual. +To specify more than one OPTION, separate them with a comma: + + \documentclass[OPTION1,OPTION2,...]{CLASS} + + Here is the list of the standard class options. + + All of the standard classes except 'slides' accept the following +options for selecting the typeface size (default is '10pt'): + + 10pt 11pt 12pt + + All of the standard classes accept these options for selecting the +paper size (default is 'letterpaper'): + + a4paper a5paper b5paper executivepaper legalpaper letterpaper + + Miscellaneous other options: + +'draft, final' + mark/do not mark overfull boxes with a big black box; default is + 'final'. +'fleqn' + Put displayed formulas flush left; default is centered. +'landscape' + Selects landscape format; default is portrait. +'leqno' + Put equation numbers on the left side of equations; default is the + right side. +'openbib' + Use "open" bibliography format. +'titlepage, notitlepage' + Specifies whether the title page is separate; default depends on + the class. + + These options are not available with the slides class: + +'onecolumn' +'twocolumn' + Typeset in one or two columns; default is 'onecolumn'. + +'oneside' +'twoside' + Selects one- or two-sided layout; default is 'oneside', except for + the 'book' class. + + The '\evensidemargin' ('\oddsidemargin' parameter determines the + distance on even (odd) numbered pages between the left side of the + page and the text's left margin. The defaults vary with the paper + size and whether one- or two-side layout is selected. For + one-sided printing the text is centered, for two-sided, + '\oddsidemargin' is 40% of the difference between '\paperwidth' and + '\textwidth', with '\evensidemargin' the remainder. + +'openright' +'openany' + Determines if a chapter should start on a right-hand page; default + is 'openright' for book. + + The 'slides' class offers the option 'clock' for printing the time at +the bottom of each note. + + Additional packages are loaded like this: + + \usepackage[OPTIONS]{PKG} + + To specify more than one PKG, you can separate them with a comma, or +use multiple '\usepackage' commands. + + Any options given in the '\documentclass' command that are unknown by +the selected document class are passed on to the packages loaded with +'\usepackage'. + + +File: latex2e.info, Node: Typefaces, Next: Layout, Prev: Document classes, Up: Top + +5 Typefaces +*********** + +Two important aspects of selecting a "font" are specifying a size and a +style. The LaTeX commands for doing this are described here. + +* Menu: + +* Font styles:: Select roman, italics etc. +* Font sizes:: Select point size. +* Low-level font commands:: Select encoding, family, series, shape. + + +File: latex2e.info, Node: Font styles, Next: Font sizes, Up: Typefaces + +5.1 Font styles +=============== + +The following type style commands are supported by LaTeX. + + This first group of commands is typically used like '\textit{italic +text}'. The corresponding command in parenthesis is the "declaration +form", which takes no arguments. The scope of the declaration form +lasts until the next type style command or the end of the current group. + + The declaration forms are cumulative; i.e., you can say either +'\sffamily\bfseries' or '\bfseries\sffamily' to get bold sans serif. + + You can alternatively use an environment form of the declarations; +for instance, '\begin{ttfamily}...\end{ttfamily}'. + + These commands automatically supply an italic correction if the +'\textrm (\rmfamily)' + Roman. + +'\textit (\itshape)' + Italics. + +'\emph' + Emphasis (switches between '\textit' and '\textrm'). + +'\textmd (\mdseries)' + Medium weight (default). + +'\textbf (\bfseries)' + Boldface. +'\textup (\upshape)' + Upright (default). The opposite of slanted. +'\textsl (\slshape)' + Slanted. +'\textsf (\sffamily)' + Sans serif. +'\textsc (\scshape)' + Small caps. +'\texttt (\ttfamily)' + Typewriter. +'\textnormal (\normalfont)' + Main document font. +'\mathrm' + Roman, for use in math mode. +'\mathbf' + Boldface, for use in math mode. +'\mathsf' + Sans serif, for use in math mode. +'\mathtt' + Typewriter, for use in math mode. + +'\mathit' +'(\mit)' + Italics, for use in math mode. + +'\mathnormal' + For use in math mode, e.g. inside another type style declaration. +'\mathcal' + 'Calligraphic' letters, for use in math mode. + + In addition, the command '\mathversion{bold}' can be used for +switching to bold letters and symbols in formulas. +'\mathversion{normal}' restores the default. + + LaTeX also provides these commands, which unconditionally switch to +the given style, that is, are _not_ cumulative. They are used +differently than the above commands, too: '{\CMD ...}' instead of +'\CMD{...}'. These are two very different things. + +'\bf' + Switch to bold face. + +'\cal' + Switch to calligraphic letters for math. + +'\em' + Emphasis (italics within roman, roman within italics). + +'\it' + Italics. + +'\rm' + Roman. + +'\sc' + Small caps. + +'\sf' + Sans serif. + +'\sl' + Slanted (oblique). + +'\tt' + Typewriter (monospace, fixed-width). + + +File: latex2e.info, Node: Font sizes, Next: Low-level font commands, Prev: Font styles, Up: Typefaces + +5.2 Font sizes +============== + +The following standard type size commands are supported by LaTeX. The +table shows the command name and the corresponding actual font size used +(in points) with the '10pt', '11pt', and '12pt' document size options, +respectively (*note Document class options::). + +Command '10pt' '11pt' '12pt' +-------------------------------------------------- +'\tiny' 5 6 6 +'\scriptsize' 7 8 8 +'\footnotesize' 8 9 10 +'\small' 9 10 10.95 +'\normalsize' (default) 10 10.95 12 +'\large' 12 12 14.4 +'\Large' 14.4 14.4 17.28 +'\LARGE' 17.28 17.28 20.74 +'\huge' 20.74 20.74 24.88 +'\Huge' 24.88 24.88 24.88 + + The commands as listed here are "declaration forms". The scope of +the declaration form lasts until the next type style command or the end +of the current group. You can also use the environment form of these +commands; for instance, '\begin{tiny}...\end{tiny}'. + + +File: latex2e.info, Node: Low-level font commands, Prev: Font sizes, Up: Typefaces + +5.3 Low-level font commands +=========================== + +These commands are primarily intended for writers of macros and +packages. The commands listed here are only a subset of the available +ones. + +'\fontencoding{enc}' + Select font encoding. Valid encodings include 'OT1' and 'T1'. + +'\fontfamily{family}' + Select font family. Valid families include: + + * 'cmr' for Computer Modern Roman + * 'cmss' for Computer Modern Sans Serif + * 'cmtt' for Computer Modern Typewriter + + and numerous others. + +'\fontseries{series}' + Select font series. Valid series include: + + * 'm' Medium (normal) + * 'b' Bold + * 'c' Condensed + * 'bc' Bold condensed + * 'bx' Bold extended + + and various other combinations. + +'\fontshape{shape}' + Select font shape. Valid shapes are: + + * 'n' Upright (normal) + * 'it' Italic + * 'sl' Slanted (oblique) + * 'sc' Small caps + * 'ui' Upright italics + * 'ol' Outline + + The two last shapes are not available for most font families. + +'\fontsize{size}{skip}' + Set font size. The first parameter is the font size to switch to + and the second is the line spacing to use; this is stored in a + parameter named '\baselineskip'. The unit of both parameters + defaults to pt. The default '\baselineskip' for the Computer + Modern typeface is 1.2 times the '\fontsize'. + + The line spacing is also multiplied by the value of the + '\baselinestretch' parameter when the type size changes; the + default is 1. However, the best way to "double space" a document, + if you should be unlucky enough to have to produce such, is to use + the 'setspace' package; see + 'http://www.tex.ac.uk/cgi-bin/texfaq2html?label=linespace'. + +'\linespread{FACTOR}' + Equivalent to '\renewcommand{\baselinestretch}{FACTOR}', and + therefore must be followed by '\selectfont' to have any effect. + Best specified in the preamble, or use the 'setspace' package, as + described just above. + + The changes made by calling the font commands described above do + not come into effect until '\selectfont' is called. + +'\usefont{enc}{family}{series}{shape}' + The same as invoking '\fontencoding', '\fontfamily', '\fontseries' + and '\fontshape' with the given parameters, followed by + '\selectfont'. + + +File: latex2e.info, Node: Layout, Next: Sectioning, Prev: Typefaces, Up: Top + +6 Layout +******** + +Miscellaneous commands for controlling the general layout of the page. + +* Menu: + +* \onecolumn:: Use one-column layout. +* \twocolumn:: Use two-column layout. +* \flushbottom:: Make all text pages the same height. +* \raggedbottom:: Allow text pages of differing height. +* Page layout parameters:: \headheight \footskip. + + +File: latex2e.info, Node: \onecolumn, Next: \twocolumn, Up: Layout + +6.1 '\onecolumn' +================ + +The '\onecolumn' declaration starts a new page and produces +single-column output. This is the default. + + +File: latex2e.info, Node: \twocolumn, Next: \flushbottom, Prev: \onecolumn, Up: Layout + +6.2 '\twocolumn' +================ + +Synopsis: + + \twocolumn[TEXT1COL] + + The '\twocolumn' declaration starts a new page and produces +two-column output. If the optional TEXT1COL argument is present, it is +typeset in one-column mode before the two-column typesetting starts. + + These parameters control typesetting in two-column output: + +'\columnsep' + The distance between columns (35pt by default). + +'\columnseprule' + The width of the rule between columns; the default is 0pt, so there + is no rule. + +'\columnwidth' + The width of the current column; this is equal to '\textwidth' in + single-column text. + + These parameters control float behavior in two-column output: + +'\dbltopfraction' + Maximum fraction at the top of a two-column page that may be + occupied by floats. Default '.7', can be usefully redefined to + (say) '.9' to avoid going to float pages so soon. + +'\dblfloatpagefraction' + The minimum fraction of a float page that must be occupied by + floats, for a two-column float page. Default '.5'. + +'\dblfloatsep' + Distance between floats at the top or bottom of a two-column float + page. Default '12pt plus2pt minus2pt' for '10pt' and '11pt' + documents, '14pt plus2pt minus4pt' for '12pt'. + +'\dbltextfloatsep' + Distance between a multi-column float at the top or bottom of a + page and the main text. Default '20pt plus2pt minus4pt'. + + +File: latex2e.info, Node: \flushbottom, Next: \raggedbottom, Prev: \twocolumn, Up: Layout + +6.3 '\flushbottom' +================== + +The '\flushbottom' declaration makes all text pages the same height, +adding extra vertical space where necessary to fill out the page. + + This is the default if 'twocolumn' mode is selected (*note Document +class options::). + + +File: latex2e.info, Node: \raggedbottom, Next: Page layout parameters, Prev: \flushbottom, Up: Layout + +6.4 '\raggedbottom' +=================== + +The '\raggedbottom' declaration makes all pages the natural height of +the material on that page. No rubber lengths will be stretched. + + +File: latex2e.info, Node: Page layout parameters, Prev: \raggedbottom, Up: Layout + +6.5 Page layout parameters +========================== + +'\headheight' + Height of the box that contains the running head. Default is + '30pt', except in the 'book' class, where it varies with the type + size. + +'\headsep' + Vertical distance between the bottom of the header line and the top + of the main text. Default is '25pt', except in the 'book' class, + where it varies with the type size. + +'\footskip' + Distance from the baseline of the last line of text to the baseline + of the page footer. Default is '30pt', except in the 'book' class, + where it varies with the type size. + +'\linewidth' + Width of the current line, decreased for each nested 'list' (*note + list::). Specifically, it is smaller than '\textwidth' by the sum + of '\leftmargin' and '\rightmargin' (*note itemize::). The default + varies with the font size, paper width, two-column mode, etc. For + an 'article' document in '10pt', it's set to '345pt'; in two-column + mode, that becomes '229.5pt'. + +'\textheight' + The normal vertical height of the page body; the default varies + with the font size, document class, etc. For an 'article' or + 'report' document in '10pt', it's set to '43\baselineskip'; for + 'book', it's '41\baselineskip'. For '11pt', it's '38\baselineskip' + and for '12pt', '36\baselineskip'. + +'\textwidth' + The full horizontal width of the entire page body; the default + varies as usual. For an 'article' or 'report' document, it's + '345pt' at '10pt', '360pt' at '11pt', and '390pt' at '12pt'. For a + 'book' document, it's '4.5in' at '10pt', and '5in' at '11pt' or + '12pt'. + + In multi-column output, '\textwidth' remains the width of the + entire page body, while '\columnwidth' is the width of one column + (*note \twocolumn::). + + In lists (*note list::), '\textwidth' remains the width of the + entire page body (and '\columnwidth' the width of the entire + column), while '\linewidth' may decrease for nested lists. + + Inside a minipage (*note minipage::) or '\parbox' (*note + \parbox::), all the width-related parameters are set to the + specified width, and revert to their normal values at the end of + the 'minipage' or '\parbox'. + + For completeness: '\hsize' is the TeX primitive parameter used when + text is broken into lines. It should not be used in normal LaTeX + documents. + +'\topmargin' + Space between the top of the TeX page (one inch from the top of the + paper, by default) and the top of the header. The default is + computed based on many other parameters: '\paperheight - 2in - + \headheight - \headsep - \textheight - \footskip', and then divided + by two. + +'\topskip' + Minimum distance between the top of the page body and the baseline + of the first line of text. For the standard clases, the default is + the same as the font size, e.g., '10pt' at '10pt'. + + +File: latex2e.info, Node: Sectioning, Next: Cross references, Prev: Layout, Up: Top + +7 Sectioning +************ + +Sectioning commands provide the means to structure your text into units: + +'\part' +'\chapter' + (report and book class only) +'\section' +'\subsection' +'\subsubsection' +'\paragraph' +'\subparagraph' + + All sectioning commands take the same general form, e.g., + + \chapter[TOCTITLE]{TITLE} + + In addition to providing the heading TITLE in the main text, the +section title can appear in two other places: + + 1. The table of contents. + 2. The running head at the top of the page. + + You may not want the same text in these places as in the main text. +To handle this, the sectioning commands have an optional argument +TOCTITLE that, when given, specifies the text for these other places. + + Also, all sectioning commands have '*'-forms that print TITLE as +usual, but do not include a number and do not make an entry in the table +of contents. For instance: + + \section*{Preamble} + + The '\appendix' command changes the way following sectional units are +numbered. The '\appendix' command itself generates no text and does not +affect the numbering of parts. The normal use of this command is +something like + + \chapter{A Chapter} + ... + \appendix + \chapter{The First Appendix} + + The 'secnumdepth' counter controls printing of section numbers. The +setting + + \setcounter{secnumdepth}{LEVEL} + +suppresses heading numbers at any depth > LEVEL, where 'chapter' is +level zero. (*Note \setcounter::.) + + +File: latex2e.info, Node: Cross references, Next: Environments, Prev: Sectioning, Up: Top + +8 Cross references +****************** + +One reason for numbering things like figures and equations is to refer +the reader to them, as in "See Figure 3 for more details." + +* Menu: + +* \label:: Assign a symbolic name to a piece of text. +* \pageref:: Refer to a page number. +* \ref:: Refer to a section, figure or similar. + + +File: latex2e.info, Node: \label, Next: \pageref, Up: Cross references + +8.1 '\label' +============ + +Synopsis: + + \label{KEY} + + A '\label' command appearing in ordinary text assigns to KEY the +number of the current sectional unit; one appearing inside a numbered +environment assigns that number to KEY. + + A KEY name can consist of any sequence of letters, digits, or +punctuation characters. Upper and lowercase letters are distinguished. + + To avoid accidentally creating two labels with the same name, it is +common to use labels consisting of a prefix and a suffix separated by a +colon or period. Some conventionally-used prefixes: + +'ch' + for chapters +'sec' + for lower-level sectioning commands +'fig' + for figures +'tab' + for tables +'eq' + for equations + + Thus, a label for a figure would look like 'fig:snark' or +'fig.snark'. + + +File: latex2e.info, Node: \pageref, Next: \ref, Prev: \label, Up: Cross references + +8.2 '\pageref{KEY}' +=================== + +Synopsis: + + \pageref{KEY} + + The '\pageref'{KEY} command produces the page number of the place in +the text where the corresponding '\label'{KEY} command appears. + + +File: latex2e.info, Node: \ref, Prev: \pageref, Up: Cross references + +8.3 '\ref{KEY}' +=============== + +Synopsis: + + \ref{KEY} + + The '\ref' command produces the number of the sectional unit, +equation, footnote, figure, ..., of the corresponding '\label' command +(*note \label::). It does not produce any text, such as the word +'Section' or 'Figure', just the bare number itself. + + +File: latex2e.info, Node: Environments, Next: Line breaking, Prev: Cross references, Up: Top + +9 Environments +************** + +LaTeX provides many environments for marking off certain text. Each +environment begins and ends in the same manner: + + \begin{ENVNAME} + ... + \end{ENVNAME} + +* Menu: + +* abstract:: Produce an abstract. +* array:: Math arrays. +* center:: Centered lines. +* description:: Labelled lists. +* displaymath:: Formulas that appear on their own line. +* document:: Enclose the whole document. +* enumerate:: Numbered lists. +* eqnarray:: Sequences of aligned equations. +* equation:: Displayed equation. +* figure:: Floating figures. +* flushleft:: Flushed left lines. +* flushright:: Flushed right lines. +* itemize:: Bulleted lists. +* letter:: Letters. +* list:: Generic list environment. +* math:: In-line math. +* minipage:: Miniature page. +* picture:: Picture with text, arrows, lines and circles. +* quotation:: Indented environment with paragraph indentation. +* quote:: Indented environment with no paragraph indentation. +* tabbing:: Align text arbitrarily. +* table:: Floating tables. +* tabular:: Align text in columns. +* thebibliography:: Bibliography or reference list. +* theorem:: Theorems, lemmas, etc. +* titlepage:: For hand crafted title pages. +* verbatim:: Simulating typed input. +* verse:: For poetry and other things. + + +File: latex2e.info, Node: abstract, Next: array, Up: Environments + +9.1 'abstract' +============== + +Synopsis: + \begin{abstract} + ... + \end{abstract} + + Environment for producing an abstract, possibly of multiple +paragraphs. + + +File: latex2e.info, Node: array, Next: center, Prev: abstract, Up: Environments + +9.2 'array' +=========== + +Synopsis: + + \begin{array}{TEMPLATE} + COL1 TEXT&COL1 TEXT&COLN}\\ + ... + \end{array} + + Math arrays are produced with the 'array' environment, normally +within an 'equation' environment (*note equation::). It has a single +mandatory TEMPLATE argument describing the number of columns and the +alignment within them. Each column COL is specified by a single letter +that tells how items in that row should be formatted, as follows: + +'c' + centered +'l' + flush left +'r' + flush right + + Column entries are separated by '&'. Column entries may include +other LaTeX commands. Each row of the array is terminated with '\\'. + + In the template, the construct '@{TEXT}' puts TEXT between columns in +each row. + + Here's an example: + + \begin{equation} + \begin{array}{lrc} + left1 & right1 & centered1 \\ + left2 & right2 & centered2 \\ + \end{array} + \end{equation} + + The '\arraycolsep' parameter defines half the width of the space +separating columns; the default is '5pt'. *Note tabular::, for other +parameters which affect formatting in 'array' environments, namely +'\arrayrulewidth' and '\arraystretch'. + + The 'array' environment can only be used in math mode. + + +File: latex2e.info, Node: center, Next: description, Prev: array, Up: Environments + +9.3 'center' +============ + +Synopsis: + + \begin{center} + LINE1 \\ + LINE2 \\ + \end{center} + + The 'center' environment allows you to create a paragraph consisting +of lines that are centered within the left and right margins on the +current page. Each line is terminated with the string '\\'. + +* Menu: + +* \centering:: Declaration form of the 'center' environment. + + +File: latex2e.info, Node: \centering, Up: center + +9.3.1 '\centering' +------------------ + +The '\centering' declaration corresponds to the 'center' environment. +This declaration can be used inside an environment such as 'quote' or in +a 'parbox'. Thus, the text of a figure or table can be centered on the +page by putting a '\centering' command at the beginning of the figure or +table environment. + + Unlike the 'center' environment, the '\centering' command does not +start a new paragraph; it simply changes how LaTeX formats paragraph +units. To affect a paragraph unit's format, the scope of the +declaration must contain the blank line or '\end' command (of an +environment such as quote) that ends the paragraph unit. + + Here's an example: + + \begin{quote} + \centering + first line \\ + second line \\ + \end{quote} + + +File: latex2e.info, Node: description, Next: displaymath, Prev: center, Up: Environments + +9.4 'description' +================= + +Synopsis: + + \begin{description} + \item [LABEL1] ITEM1 + \item [LABEL2] ITEM2 + ... + \end{description} + + The 'description' environment is used to make labelled lists. Each +LABEL is typeset in bold, flush right. The ITEM text may contain +multiple paragraphs. + + Another variation: since the bold style is applied to the labels, if +you typeset a label in typewriter using '\texttt', you'll get bold +typewriter: '\item[\texttt{bold and typewriter}]'. This may be too +bold, among other issues. To get just typewriter, use '\tt', which +resets all other style variations: '\item[{\tt plain typewriter}]'. + + For details about list spacing, see *note itemize::. + + +File: latex2e.info, Node: displaymath, Next: document, Prev: description, Up: Environments + +9.5 'displaymath' +================= + +Synopsis: + + \begin{displaymath} + MATH + \end{displaymath} + +or + + \[MATH\] + + The 'displaymath' environment ('\[...\]' is a synonym) typesets the +MATH text on its own line, centered by default. The global 'fleqn' +option makes equations flush left; see *note Document class options::. + + No equation number is added to 'displaymath' text; to get an equation +number, use the 'equation' environment (*note equation::). + + +File: latex2e.info, Node: document, Next: enumerate, Prev: displaymath, Up: Environments + +9.6 'document' +============== + +The 'document' environment encloses the body of a document. It is +required in every LaTeX document. *Note Starting & ending::. + + +File: latex2e.info, Node: enumerate, Next: eqnarray, Prev: document, Up: Environments + +9.7 'enumerate' +=============== + +Synopsis: + + \begin{enumerate} + \item ITEM1 + \item ITEM2 + ... + \end{enumerate} + + The 'enumerate' environment produces a numbered list. Enumerations +can be nested within one another, up to four levels deep. They can also +be nested within other paragraph-making environments, such as 'itemize' +(*note itemize::) and 'description' (*note description::). + + Each item of an enumerated list begins with an '\item' command. +There must be at least one '\item' command within the environment. + + By default, the numbering at each level is done like this: + + 1. 1., 2., ... + 2. (a), (b), ... + 3. i., ii., ... + 4. A., B., ... + + The 'enumerate' environment uses the counters '\enumi' through +'\enumiv' counters (*note Counters::). If the optional argument to +'\item' is given, the counter is not incremented for that item. + + The 'enumerate' environment uses the commands '\labelenumi' through +'\labelenumiv' to produce the default label. So, you can use +'\renewcommand' to change the labels (*note \newcommand & +\renewcommand::). For instance, to have the first level use uppercase +letters: + + \renewcommand{\labelenumi}{\Alph{enumi}} + + +File: latex2e.info, Node: eqnarray, Next: equation, Prev: enumerate, Up: Environments + +9.8 'eqnarray' +============== + +First, a caveat: the 'eqnarray' environment has some infelicities which +cannot be overcome; the article "Avoid eqnarray!" by Lars Madsen +describes them in detail +('http://tug.org/TUGboat/tb33-1/tb103madsen.pdf'). The bottom line is +that it is better to use the 'align' environment (and others) from the +'amsmath' package. + + Nevertheless, here is a description of 'eqnarray': + + \begin{eqnarray} (or 'eqnarray*') + FORMULA1 \\ + FORMULA2 \\ + ... + \end{eqnarray} + + The 'eqnarray' environment is used to display a sequence of equations +or inequalities. It is very much like a three-column 'array' +environment, with consecutive rows separated by '\\' and consecutive +items within a row separated by an '&'. + + '\\*' can also be used to separate equations, with its normal meaning +of not allowing a page break at that line. + + An equation number is placed on every line unless that line has a +'\nonumber' command. Alternatively, The '*'-form of the environment +('\begin{eqnarray*} ... \end{eqnarray*}') will omit equation numbering +entirely, while otherwise being the same as 'eqnarray'. + + The command '\lefteqn' is used for splitting long formulas across +lines. It typesets its argument in display style flush left in a box of +zero width. + + +File: latex2e.info, Node: equation, Next: figure, Prev: eqnarray, Up: Environments + +9.9 'equation' +============== + +Synopsis: + + \begin{equation} + MATH + \end{equation} + + The 'equation' environment starts a 'displaymath' environment (*note +displaymath::), e.g., centering the MATH text on the page, and also +places an equation number in the right margin. + + +File: latex2e.info, Node: figure, Next: flushleft, Prev: equation, Up: Environments + +9.10 'figure' +============= + + \begin{figure[*]}[PLACEMENT] + FIGBODY + \label{LABEL} + \caption[LOFTITLE]{TEXT} + \end{figure} + + Figures are objects that are not part of the normal text, and are +instead "floated" to a convenient place, such as the top of a page. +Figures will not be split between two pages. + + When typesetting in double-columns, the starred form produces a +full-width figure (across both columns). + + The optional argument '[placement]' determines where LaTeX will try +to place your figure. There are four places where LaTeX can possibly +put a float: + +'t' + (Top)--at the top of a text page. + +'b' + (Bottom)--at the bottom of a text page. However, 'b' is not + allowed for full-width floats ('figure*') with double-column + output. To ameliorate this, use the 'stfloats' or 'dblfloatfix' + package, but see the discussion at caveats in the FAQ: + 'http://www.tex.ac.uk/cgi-bin/texfaq2html?label=2colfloat'. + +'h' + (Here)--at the position in the text where the figure environment + appears. However, this is not allowed by itself; 't' is + automatically added. + + To absolutely force a figure to appear "here", you can + '\usepackage{float}' and use the 'H' specifier which it defines. + For further discussion, see the FAQ entry at + 'http://www.tex.ac.uk/cgi-bin/texfaq2html?label=figurehere'. + +'p' + (Page of floats)--on a separate float page, which is a page + containing no text, only floats. + +'!' + Used in addition to one of the above; for this float only, LaTeX + ignores the restrictions on both the number of floats that can + appear and the relative amounts of float and non-float text on the + page. The '!' specifier does _not_ mean "put the float here"; see + above. + + The standard report and article classes use the default placement +'tbp'. + + The body of the figure is made up of whatever text, LaTeX commands, +etc. you wish. + + The '\caption' command specifies caption TEXT for the figure. The +caption is numbered by default. If LOFTITLE is present, it is used in +the list of figures instead of TEXT (*note Tables of contents::). + + Parameters relating to fractions of pages occupied by float and +non-float text: + + The maximum fraction of the page allowed to be occuped by floats at + the bottom; default '.3'. + +'\floatpagefraction' + The minimum fraction of a float page that must be occupied by + floats; default '.5'. + +'\textfraction' + Minimum fraction of a page that must be text; if floats take up too + much space to preserve this much text, floats will be moved to a + different page. The default is '.2'. + +'\topfraction' + Maximum fraction at the top of a page that may be occupied before + floats; default '.7'. + + Parameters relating to vertical space around floats: + +'\floatsep' + Space between floats at the top or bottom of a page; default '12pt + plus2pt minus2pt'. + +'\intextsep' + Space above and below a float in the middle of the main text; + default '12pt plus2pt minus2pt' for '10pt' and '11pt' styles, '14pt + plus4pt minus4pt' for '12pt'. + +'\textfloatsep' + Space between the last (first) float at the top (bottom) of a page; + default '20pt plus2pt minus4pt'. + + Parameters relating to the number of floats on a page: + +'\bottomnumber' + Maximum number of floats that can appear at the bottom of a text + page; default 1. + +'\topnumber' + Maximum number of floats that can appear at the top of a text page; + default 2. + +'\totalnumber' + Maximum number of floats that can appear on a text page; default 3. + + The principal TeX FAQ entry relating to floats: +'http://www.tex.ac.uk/cgi-bin/texfaq2html?label=floats'. + + +File: latex2e.info, Node: flushleft, Next: flushright, Prev: figure, Up: Environments + +9.11 'flushleft' +================ + + \begin{flushleft} + LINE1 \\ + LINE2 \\ + ... + \end{flushleft} + + The 'flushleft' environment allows you to create a paragraph +consisting of lines that are flush to the left-hand margin and ragged +right Each line must be terminated with the string '\\'. + +* Menu: + +* \raggedright:: Declaration form of the 'flushleft' environment. + + +File: latex2e.info, Node: \raggedright, Up: flushleft + +9.11.1 '\raggedright' +--------------------- + +The '\raggedright' declaration corresponds to the 'flushleft' +environment. This declaration can be used inside an environment such as +'quote' or in a 'parbox'. + + Unlike the 'flushleft' environment, the '\raggedright' command does +not start a new paragraph; it only changes how LaTeX formats paragraph +units. To affect a paragraph unit's format, the scope of the +declaration must contain the blank line or '\end' command that ends the +paragraph unit. + + +File: latex2e.info, Node: flushright, Next: itemize, Prev: flushleft, Up: Environments + +9.12 'flushright' +================= + + \begin{flushright} + LINE1 \\ + LINE2 \\ + ... + \end{flushright} + + The 'flushright' environment allows you to create a paragraph +consisting of lines that are flush to the right-hand margin and ragged +left. Each line must be terminated with the string '\\'. + +* Menu: + +* \raggedleft:: Declaration form of the 'flushright' environment. + + +File: latex2e.info, Node: \raggedleft, Up: flushright + +9.12.1 '\raggedleft' +-------------------- + +The '\raggedleft' declaration corresponds to the 'flushright' +environment. This declaration can be used inside an environment such as +'quote' or in a 'parbox'. + + Unlike the 'flushright' environment, the '\raggedleft' command does +not start a new paragraph; it only changes how LaTeX formats paragraph +units. To affect a paragraph unit's format, the scope of the +declaration must contain the blank line or '\end' command that ends the +paragraph unit. + + +File: latex2e.info, Node: itemize, Next: letter, Prev: flushright, Up: Environments + +9.13 'itemize' +============== + +Synopsis: + + \begin{itemize} + \item ITEM1 + \item ITEM2 + ... + \end{itemize} + + The 'itemize' environment produces an "unordered", "bulleted" list. +Itemizations can be nested within one another, up to four levels deep. +They can also be nested within other paragraph-making environments, such +as 'enumerate' (*note enumerate::). + + Each item of an 'itemize' list begins with an '\item' command. There +must be at least one '\item' command within the environment. + + By default, the marks at each level look like this: + + 1. * (bullet) + 2. -- (bold en-dash) + 3. * (asterisk) + 4. . (centered dot, rendered here as a period) + + The 'itemize' environment uses the commands '\labelitemi' through +'\labelitemiv' to produce the default label. So, you can use +'\renewcommand' to change the labels. For instance, to have the first +level use diamonds: + + \renewcommand{\labelitemi}{$\diamond$} + + The '\leftmargini' through '\leftmarginvi' parameters define the +distance between the left margin of the enclosing environment and the +left margin of the list. By convention, '\leftmargin' is set to the +appropriate '\leftmarginN' when a new level of nesting is entered. + + The defaults vary from '.5em' (highest levels of nesting) to '2.5em' +(first level), and are a bit reduced in two-column mode. This example +greatly reduces the margin space for outermost lists: + + \setlength{\leftmargini}{1.25em} % default 2.5em + + Some parameters that affect list formatting: + +'\itemindent' + Extra indentation before each item in a list; default zero. + +'\labelsep' + Space between the label and text of an item; default '.5em'. + +'\labelwidth' + Width of the label; default '2em', or '1.5em' in two-column mode. + +'\listparindent' + Extra indentation added to second and subsequent paragraphs within + a list item; default '0pt'. + +'\rightmargin' + Horizontal distance between the right margin of the list and the + enclosing environment; default '0pt', except in the 'quote', + 'quotation', and 'verse' environments, where it is set equal to + '\leftmargin'. + + Parameters affecting vertical spacing between list items (rather +loose, by default). + +'\itemsep' + Vertical space between items. The default is '2pt plus1pt + minus1pt' for '10pt' documents, '3pt plus2pt minus1pt' for '11pt', + and '4.5pt plus2pt minus1pt' for '12pt'. + +'\parsep' + Extra vertical space between paragraphs within a list item. + Defaults are the same as '\itemsep'. + +'\topsep' + Vertical space between the first item and the preceding paragraph. + For top-level lists, the default is '8pt plus2pt minus4pt' for + '10pt' documents, '9pt plus3pt minus5pt' for '11pt', and '10pt + plus4pt minus6pt' for '12pt'. These are reduced for nested lists. + +'\partopsep' + Extra space added to '\topsep' when the list environment starts a + paragraph. The default is '2pt plus1pt minus1pt' for '10pt' + documents, '3pt plus1pt minus1pt' for '11pt', and '3pt plus2pt + minus2pt' for '12pt'. + + Especially for lists with short items, it may be desirable to elide +space between items. Here is an example defining an 'itemize*' +environment with no extra spacing between items, or between paragraphs +within a single item ('\parskip' is not list-specific, *note +\parskip::): + + \newenvironment{itemize*}% + {\begin{itemize}% + \setlength{\itemsep}{0pt}% + \setlength{\parsep}{0pt}}% + \setlength{\parskip}{0pt}}% + {\end{itemize}} + + +File: latex2e.info, Node: letter, Next: list, Prev: itemize, Up: Environments + +9.14 'letter' environment: writing letters +========================================== + +This environment is used for creating letters. *Note Letters::. + + +File: latex2e.info, Node: list, Next: math, Prev: letter, Up: Environments + +9.15 'list' +=========== + +The 'list' environment is a generic environment which is used for +defining many of the more specific environments. It is seldom used in +documents, but often in macros. + + \begin{list}{LABELING}{SPACING} + \item ITEM1 + \item ITEM2 + ... + \end{list} + + The mandatory LABELING argument specifies how items should be +labelled (unless the optional argument is supplied to '\item'). This +argument is a piece of text that is inserted in a box to form the label. +It can and usually does contain other LaTeX commands. + + The mandatory SPACING argument contains commands to change the +spacing parameters for the list. This argument will most often be +empty, i.e., '{}', which leaves the default spacing. + + The width used for typesetting the list items is specified by +'\linewidth' (*note Page layout parameters::). + + +File: latex2e.info, Node: math, Next: minipage, Prev: list, Up: Environments + +9.16 'math' +=========== + +Synopsis: + + \begin{math} + MATH + \end{math} + + The 'math' environment inserts the given MATH within the running +text. '\(...\))' and '$...$' are synonyms. *Note Math formulas::. + + +File: latex2e.info, Node: minipage, Next: picture, Prev: math, Up: Environments + +9.17 'minipage' +=============== + + \begin{minipage}[POSITION][HEIGHT][INNER-POS]{WIDTH} + TEXT + \end{minipage} + + The 'minipage' environment typesets its body TEXT in a block that +will not be broken across pages. This is similar to the '\parbox' +command (*note \parbox::), but unlike '\parbox', other paragraph-making +environments can be used inside a minipage. + + The arguments are the same as for '\parbox' (*note \parbox::). + + By default, paragraphs are not indented in the 'minipage' +environment. You can restore indentation with a command such as +'\setlength{\parindent}{1pc}' command. + + Footnotes in a 'minipage' environment are handled in a way that is +particularly useful for putting footnotes in figures or tables. A +'\footnote' or '\footnotetext' command puts the footnote at the bottom +of the minipage instead of at the bottom of the page, and it uses the +'\mpfootnote' counter instead of the ordinary 'footnote' counter (*note +Counters::). + + However, don't put one minipage inside another if you are using +footnotes; they may wind up at the bottom of the wrong minipage. + + +File: latex2e.info, Node: picture, Next: quotation, Prev: minipage, Up: Environments + +9.18 'picture' +============== + + \begin{picture}(width,height)(x offset,y offset) + ... PICTURE COMMANDS ... + \end{picture} + + The 'picture' environment allows you to create just about any kind of +picture you want containing text, lines, arrows and circles. You tell +LaTeX where to put things in the picture by specifying their +coordinates. A coordinate is a number that may have a decimal point and +a minus sign--a number like '5', '0.3' or '-3.1416'. A coordinate +specifies a length in multiples of the unit length '\unitlength', so if +'\unitlength' has been set to '1cm', then the coordinate 2.54 specifies +a length of 2.54 centimeters. You should only change the value of +'\unitlength', using the '\setlength' command, outside of a 'picture' +environment. + + A position is a pair of coordinates, such as '(2.4,-5)', specifying +the point with x-coordinate '2.4' and y-coordinate '-5'. Coordinates +are specified in the usual way with respect to an origin, which is +normally at the lower-left corner of the picture. Note that when a +position appears as an argument, it is not enclosed in braces; the +parentheses serve to delimit the argument. + + The 'picture' environment has one mandatory argument, which is a +'position'. It specifies the size of the picture. The environment +produces a rectangular box with width and height determined by this +argument's x- and y-coordinates. + + The 'picture' environment also has an optional 'position' argument, +following the 'size' argument, that can change the origin. (Unlike +ordinary optional arguments, this argument is not contained in square +brackets.) The optional argument gives the coordinates of the point at +the lower-left corner of the picture (thereby determining the origin). +For example, if '\unitlength' has been set to '1mm', the command + + \begin{picture}(100,200)(10,20) + +produces a picture of width 100 millimeters and height 200 millimeters, +whose lower-left corner is the point (10,20) and whose upper-right +corner is therefore the point (110,220). When you first draw a picture, +you typically omit the optional argument, leaving the origin at the +lower-left corner. If you then want to modify your picture by shifting +everything, you can just add the appropriate optional argument. + + The environment's mandatory argument determines the nominal size of +the picture. This need bear no relation to how large the picture really +is; LaTeX will happily allow you to put things outside the picture, or +even off the page. The picture's nominal size is used by LaTeX in +determining how much room to leave for it. + + Everything that appears in a picture is drawn by the '\put' command. +The command + + \put (11.3,-.3){...} + +puts the object specified by '...' in the picture, with its reference +point at coordinates (11.3,-.3). The reference points for various +objects will be described below. + + The '\put' command creates an "LR box". You can put anything that +can go in an '\mbox' (*note \mbox::) in the text argument of the '\put' +command. When you do this, the reference point will be the lower left +corner of the box. + + The 'picture' commands are described in the following sections. + +* Menu: + +* \circle:: Draw a circle. +* \makebox (picture):: Draw a box of the specified size. +* \framebox (picture):: Draw a box with a frame around it. +* \dashbox:: Draw a dashed box. +* \frame:: Draw a frame around an object. +* \line:: Draw a straight line. +* \linethickness:: Set the line thickness. +* \thicklines:: A heavier line thickness. +* \thinlines:: The default line thickness. +* \multiput:: Draw multiple instances of an object. +* \oval:: Draw an ellipse. +* \put:: Place an object at a specified place. +* \shortstack:: Make a pile of objects. +* \vector:: Draw a line with an arrow. + + +File: latex2e.info, Node: \circle, Next: \makebox (picture), Up: picture + +9.18.1 '\circle' +---------------- + + \circle[*]{DIAMETER} + + The '\circle' command produces a circle with a diameter as close to +the specified one as possible. The '*'-form of the command draws a +solid circle. + + Circles up to 40 pt can be drawn. + + +File: latex2e.info, Node: \makebox (picture), Next: \framebox (picture), Prev: \circle, Up: picture + +9.18.2 '\makebox' +----------------- + +'\makebox(width,height)[position]{...}' + + The '\makebox' command for the picture environment is similar to the +normal '\makebox' command except that you must specify a 'width' and +'height' in multiples of '\unitlength'. + + The optional argument, '[position]', specifies the quadrant that your +text appears in. You may select up to two of the following: + +'t' + Moves the item to the top of the rectangle. + +'b' + Moves the item to the bottom. + +'l' + Moves the item to the left. + +'r' + Moves the item to the right. + + *Note \makebox::. + + +File: latex2e.info, Node: \framebox (picture), Next: \dashbox, Prev: \makebox (picture), Up: picture + +9.18.3 '\framebox' +------------------ + +Synopsis: + + \framebox(WIDTH,HEIGHT)[POS]{...} + + The '\framebox' command is like '\makebox' (see previous section), +except that it puts a frame around the outside of the box that it +creates. + + The '\framebox' command produces a rule of thickness '\fboxrule', and +leaves a space '\fboxsep' between the rule and the contents of the box. + + +File: latex2e.info, Node: \dashbox, Next: \frame, Prev: \framebox (picture), Up: picture + +9.18.4 '\dashbox' +----------------- + +Draws a box with a dashed line. Synopsis: + + \dashbox{DLEN}(RWIDTH,RHEIGHT)[POS]{TEXT} + + '\dashbox' creates a dashed rectangle around TEXT in a 'picture' +environment. Dashes are DLEN units long, and the rectangle has overall +width RWIDTH and height RHEIGHT. The TEXT is positioned at optional +POS. + + A dashed box looks best when the 'rwidth' and 'rheight' are multiples +of the 'dlen'. + + +File: latex2e.info, Node: \frame, Next: \line, Prev: \dashbox, Up: picture + +9.18.5 '\frame' +--------------- + +Synopsis: + + \frame{TEXT} + + The '\frame' command puts a rectangular frame around TEXT. The +reference point is the bottom left corner of the frame. No extra space +is put between the frame and the object. + + +File: latex2e.info, Node: \line, Next: \linethickness, Prev: \frame, Up: picture + +9.18.6 '\line' +-------------- + +Synopsis: + + \line(XSLOPE,YSLOPE){LENGTH} + + The '\line' command draws a line with the given LENGTH and slope +XSLOPE/YSLOPE. + + Standard LaTeX can only draw lines with SLOPE = x/y, where x and y +have integer values from -6 through 6. For lines of any slope, not to +mention other shapes, see the 'curve2e' and many many other packages on +CTAN. + + +File: latex2e.info, Node: \linethickness, Next: \thicklines, Prev: \line, Up: picture + +9.18.7 '\linethickness' +----------------------- + +The '\linethickness{DIM}' command declares the thickness of horizontal +and vertical lines in a picture environment to be DIM, which must be a +positive length. + + '\linethickness' does not affect the thickness of slanted lines, +circles, or the quarter circles drawn by '\oval'. + + +File: latex2e.info, Node: \thicklines, Next: \thinlines, Prev: \linethickness, Up: picture + +9.18.8 '\thicklines' +-------------------- + +The '\thicklines' command is an alternate line thickness for horizontal +and vertical lines in a picture environment; cf. *note \linethickness:: +and *note \thinlines::. + + +File: latex2e.info, Node: \thinlines, Next: \multiput, Prev: \thicklines, Up: picture + +9.18.9 '\thinlines' +------------------- + +The '\thinlines' command is the default line thickness for horizontal +and vertical lines in a picture environment; cf. *note \linethickness:: +and *note \thicklines::. + + +File: latex2e.info, Node: \multiput, Next: \oval, Prev: \thinlines, Up: picture + +9.18.10 '\multiput' +------------------- + +Synopsis: + \multiput(X,Y)(DELTA_X,DELTA_Y){N}{OBJ} + + The '\multiput' command copies the object OBJ in a regular pattern +across a picture. OBJ is first placed at position (x,y), then at +(x+\delta x,y+\delta y), and so on, N times. + + +File: latex2e.info, Node: \oval, Next: \put, Prev: \multiput, Up: picture + +9.18.11 '\oval' +--------------- + +Synopsis: + + \oval(WIDTH,HEIGHT)[PORTION] + + The '\oval' command produces a rectangle with rounded corners. The +optional argument PORTION allows you to select part of the oval via the +following: + +'t' + selects the top portion; +'b' + selects the bottom portion; +'r' + selects the right portion; +'l' + selects the left portion. + + The "corners" of the oval are made with quarter circles with a +maximum radius of 20pt, so large "ovals" will look more like boxes with +rounded corners. + + +File: latex2e.info, Node: \put, Next: \shortstack, Prev: \oval, Up: picture + +9.18.12 '\put' +-------------- + +'\put(x coord,y coord){ ... }' + + The '\put' command places the item specified by the mandatory +argument at the given coordinates. + + +File: latex2e.info, Node: \shortstack, Next: \vector, Prev: \put, Up: picture + +9.18.13 '\shortstack' +--------------------- + +Synopsis: + + \shortstack[POSITION]{...\\...\\...} + + The '\shortstack' command produces a stack of objects. The valid +positions are: + +'r' + Move the objects to the right of the stack. +'l' + Move the objects to the left of the stack +'c' + Move the objects to the centre of the stack (default) + + Objects are separated with '\\'. + + +File: latex2e.info, Node: \vector, Prev: \shortstack, Up: picture + +9.18.14 '\vector' +----------------- + +Synopsis: + + \vector(X-SLOPE,Y-SLOPE){LENGTH} + + The '\vector' command draws a line with an arrow of the specified +length and slope. The x and y values must lie between -4 and +4, +inclusive. + + +File: latex2e.info, Node: quotation, Next: quote, Prev: picture, Up: Environments + +9.19 'quotation' +================ + +Synopsis: + + \begin{quotation} + TEXT + \end{quotation} + + The margins of the 'quotation' environment are indented on both the +left and the right. The text is justified at both margins. Leaving a +blank line between text produces a new paragraph. + + Unlike the 'quote' environment, each paragraph is indented normally. + + +File: latex2e.info, Node: quote, Next: tabbing, Prev: quotation, Up: Environments + +9.20 'quote' +============ + +Snyopsis: + + \begin{quote} + TEXT + \end{quote} + + The margins of the 'quote' environment are indented on both the left +and the right. The text is justified at both margins. Leaving a blank +line between text produces a new paragraph. + + Unlike the 'quotation' environment, paragraphs are not indented. + + +File: latex2e.info, Node: tabbing, Next: table, Prev: quote, Up: Environments + +9.21 'tabbing' +============== + +Synopsis: + + \begin{tabbing} + ROW1COL1 \= ROW1COL2 \= ROW1COL3 \= ROW1COL4 \\ + ROW2COL1 \> \> ROW2COL3 \\ + ... + \end{tabbing} + + The 'tabbing' environment provides a way to align text in columns. +It works by setting tab stops and tabbing to them much as was done on an +ordinary typewriter. It is best suited for cases where the width of +each column is constant and known in advance. + + This environment can be broken across pages, unlike the 'tabular' +environment. + + The following commands can be used inside a 'tabbing' enviroment: + +'\\ (tabbing)' + End a line. + +'\= (tabbing)' + Sets a tab stop at the current position. + +'\> (tabbing)' + Advances to the next tab stop. + +'\<' + Put following text to the left of the local margin (without + changing the margin). Can only be used at the start of the line. + +'\+' + Moves the left margin of the next and all the following commands + one tab stop to the right, beginning tabbed line if necessary. + +'\-' + Moves the left margin of the next and all the following commands + one tab stop to the left, beginning tabbed line if necessary. + +'\' (tabbing)' + Moves everything that you have typed so far in the current column, + i.e. everything from the most recent '\>', '\<', '\'', '\\', or + '\kill' command, to the right of the previous column, flush against + the current column's tab stop. + +'\` (tabbing)' + Allows you to put text flush right against any tab stop, including + tab stop 0. However, it can't move text to the right of the last + column because there's no tab stop there. The '\`' command moves + all the text that follows it, up to the '\\' or '\end{tabbing}' + command that ends the line, to the right margin of the tabbing + environment. There must be no '\>' or '\'' command between the + '\`' and the command that ends the line. + +'\a (tabbing)' + In a 'tabbing' environment, the commands '\=', '\'' and '\`' do not + produce accents as usual (*note Accents::). Instead, the commands + '\a=', '\a'' and '\a`' are used. + +'\kill' + Sets tab stops without producing text. Works just like '\\' except + that it throws away the current line instead of producing output + for it. The effect of any '\=', '\+' or '\-' commands in that line + remain in effect. + +'\poptabs' + Restores the tab stop positions saved by the last '\pushtabs'. + +'\pushtabs' + Saves all current tab stop positions. Useful for temporarily + changing tab stop positions in the middle of a 'tabbing' + environment. + +'\tabbingsep' + Distance to left of tab stop moved by '\''. + + This example typesets a Pascal function in a traditional format: + + \begin{tabbing} + function \= fact(n : integer) : integer;\\ + \> begin \= \+ \\ + \> if \= n $>$ 1 then \+ \\ + fact := n * fact(n-1) \- \\ + else \+ \\ + fact := 1; \-\- \\ + end;\\ + \end{tabbing} + + +File: latex2e.info, Node: table, Next: tabular, Prev: tabbing, Up: Environments + +9.22 'table' +============ + +Synopsis: + + \begin{table}[placement] + + body of the table + + \caption{table title} + \end{table} + + Tables are objects that are not part of the normal text, and are +usually "floated" to a convenient place, like the top of a page. Tables +will not be split between two pages. + + The optional argument '[placement]' determines where LaTeX will try +to place your table. There are four places where LaTeX can possibly put +a float; these are the same as that used with the 'figure' environment, +and described there (*note figure::). + + The standard 'report' and 'article' classes use the default placement +'[tbp]'. + + The body of the table is made up of whatever text, LaTeX commands, +etc., you wish. The '\caption' command allows you to title your table. + + +File: latex2e.info, Node: tabular, Next: thebibliography, Prev: table, Up: Environments + +9.23 'tabular' +============== + +Synopsis: + + \begin{tabular}[pos]{cols} + column 1 entry & column 2 entry ... & column n entry \\ + ... + \end{tabular} + +or + + \begin{tabular*}{width}[pos]{cols} + column 1 entry & column 2 entry ... & column n entry \\ + ... + \end{tabular*} + + These environments produce a box consisting of a sequence of rows of +items, aligned vertically in columns. + + '\\' must be used to specify the end of each row of the table, except +for the last, where it is optional--unless an '\hline' command (to put a +rule below the table) follows. + + The mandatory and optional arguments consist of: + +'width' + Specifies the width of the 'tabular*' environment. There must be + rubber space between columns that can stretch to fill out the + specified width. + +'pos' + Specifies the vertical position; default is alignment on the centre + of the environment. + + 't' + align on top row + + 'b' + align on bottom row + +'cols' + Specifies the column formatting. It consists of a sequence of the + following specifiers, corresponding to the sequence of columns and + intercolumn material. + + 'l' + A column of left-aligned items. + + 'r' + A column of right-aligned items. + + 'c' + A column of centered items. + + '|' + A vertical line the full height and depth of the environment. + + '@{TEXT}' + This inserts TEXT in every row. An @-expression suppresses + the intercolumn space normally inserted between columns; any + desired space before the adjacent item must be included in + TEXT. + + To insert commands that are automatically executed before a + given column, you have to load the 'array' package and use the + '>{...}' specifier. + + An '\extracolsep{wd}' command in an @-expression causes an + extra space of width 'wd' to appear to the left of all + subsequent columns, until countermanded by another + '\extracolsep' command. Unlike ordinary intercolumn space, + this extra space is not suppressed by an @-expression. An + '\extracolsep' command can be used only in an @-expression in + the 'cols' argument. + + 'p{WD}' + Produces a column with each item typeset in a parbox of width + WD, as if it were the argument of a '\parbox[t]{WD}' command. + However, a '\\' may not appear in the item, except in the + following situations: + + 1. inside an environment like 'minipage', 'array', or + 'tabular'. + 2. inside an explicit '\parbox'. + 3. in the scope of a '\centering', '\raggedright', or + '\raggedleft' declaration. The latter declarations must + appear inside braces or an environment when used in a + 'p'-column element. + + '*{NUM}{COLS}' + Equivalent to NUM copies of COLS, where NUM is a positive + integer and COLS is any list of column-specifiers, which may + contain another '*-expression'. + + Parameters that control formatting: + +'\arrayrulewidth' + Thickness of the rule created by '|', '\hline', and '\vline' in the + 'tabular' and 'array' environments; the default is '.4pt'. + +'\arraystretch' + Scaling of spacing between rows in the 'tabular' and 'array' + environments; default is '1', for no scaling. + +'\doublerulesep' + Horizontal distance between the vertical rules produced by '||' in + the 'tabular' and 'array' environments; default is '2pt'. + +'\tabcolsep' + Half the width of the space between columns; default is '6pt'. + + The following commands can be used inside a 'tabular' environment: + +* Menu: + +* \multicolumn:: Make an item spanning several columns. +* \cline:: Draw a horizontal line spanning some columns. +* \hline:: Draw a horizontal line spanning all columns. +* \vline:: Draw a vertical line. + + +File: latex2e.info, Node: \multicolumn, Next: \cline, Up: tabular + +9.23.1 '\multicolumn' +--------------------- + +Synopsis: + \multicolumn{COLS}{POS}{TEXT} + + The '\multicolumn' command makes an entry that spans several columns. +The first mandatory argument, COLS, specifies the number of columns to +span. The second mandatory argument, POS, specifies the formatting of +the entry; 'c' for centered, 'l' for flushleft, 'r' for flushright. The +third mandatory argument, TEXT, specifies what text to put in the entry. + + Here's an example showing two columns separated by an en-dash; +'\multicolumn' is used for the heading: + + \begin{tabular}{r@{--}l} + \multicolumn{2}{c}{\bf Unicode}\cr + 0x80&0x7FF \cr + 0x800&0xFFFF \cr + 0x10000&0x1FFFF \cr + \end{tabular} + + +File: latex2e.info, Node: \cline, Next: \hline, Prev: \multicolumn, Up: tabular + +9.23.2 '\cline' +--------------- + +Synopsis: + + \cline{I-J} + + The '\cline' command draws horizontal lines across the columns +specified, beginning in column I and ending in column J, which are +specified in the mandatory argument. + + +File: latex2e.info, Node: \hline, Next: \vline, Prev: \cline, Up: tabular + +9.23.3 '\hline' +--------------- + +The '\hline' command draws a horizontal line the width of the enclosing +'tabular' or 'array' environment. It's most commonly used to draw a +line at the top, bottom, and between the rows of a table. + + +File: latex2e.info, Node: \vline, Prev: \hline, Up: tabular + +9.23.4 '\vline' +--------------- + +The '\vline' command will draw a vertical line extending the full height +and depth of its row. An '\hfill' command can be used to move the line +to the edge of the column. It can also be used in an @-expression. + + +File: latex2e.info, Node: thebibliography, Next: theorem, Prev: tabular, Up: Environments + +9.24 'thebibliography' +====================== + +Synopsis: + + \begin{thebibliography}{WIDEST-LABEL} + \bibitem[LABEL]{CITE_KEY} + ... + \end{thebibliography} + + The 'thebibliography' environment produces a bibliography or +reference list. + + In the 'article' class, this reference list is labelled "References"; +in the 'report' class, it is labelled "Bibliography". You can change +the label (in the standard classes) by redefining the command +'\refname'. For instance, this eliminates it entirely: + + \renewcommand{\refname}{} + + The mandatory WIDEST-LABEL argument is text that, when typeset, is as +wide as the widest item label produced by the '\bibitem' commands. It +is typically given as '9' for bibliographies with less than 10 +references, '99' for ones with less than 100, etc. + +* Menu: + +* \bibitem:: Specify a bibliography item. +* \cite:: Refer to a bibliography item. +* \nocite:: Include an item in the bibliography. +* Using BibTeX:: Automatic generation of bibliographies. + + +File: latex2e.info, Node: \bibitem, Next: \cite, Up: thebibliography + +9.24.1 '\bibitem' +----------------- + +Synopsis: + \bibitem[LABEL]{CITE_KEY} + + The '\bibitem' command generates an entry labelled by LABEL. If the +LABEL argument is missing, a number is automatically generated using the +'enumi' counter. The CITE_KEY is any sequence of letters, numbers, and +punctuation symbols not containing a comma. + + This command writes an entry to the '.aux' file containing the item's +CITE_KEY and label. When the '.aux' file is read by the +'\begin{document}' command, the item's 'label' is associated with +'cite_key', causing references to CITE_KEY with a '\cite' command (see +next section) to produce the associated label. + + +File: latex2e.info, Node: \cite, Next: \nocite, Prev: \bibitem, Up: thebibliography + +9.24.2 '\cite' +-------------- + +Synopsis: + + \cite[SUBCITE]{KEYS + + The KEYS argument is a list of one or more citation keys, separated +by commas. This command generates an in-text citation to the references +associated with KEYS by entries in the '.aux' file. + + The text of the optional SUBCITE argument appears after the citation. +For example, '\cite[p.~314]{knuth}' might produce '[Knuth, p. 314]'. + + +File: latex2e.info, Node: \nocite, Next: Using BibTeX, Prev: \cite, Up: thebibliography + +9.24.3 '\nocite' +---------------- + +'\nocite{key_list}' + + The '\nocite' command produces no text, but writes 'key_list', which +is a list of one or more citation keys, on the '.aux' file. + + +File: latex2e.info, Node: Using BibTeX, Prev: \nocite, Up: thebibliography + +9.24.4 Using BibTeX +------------------- + +If you use the BibTeX program by Oren Patashnik (highly recommended if +you need a bibliography of more than a couple of titles) to maintain +your bibliography, you don't use the 'thebibliography' environment +(*note thebibliography::). Instead, you include the lines + + \bibliographystyle{BIBSTYLE} + \bibliography{BIBFILE1,BIBFILE2} + + The '\bibliographystyle' command does not produce any output of its +own. Rather, it defines the style in which the bibliography will be +produced: BIBSTYLE refers to a file BIBSTYLE'.bst', which defines how +your citations will look. The standard STYLE names distributed with +BibTeX are: + +'alpha' + Sorted alphabetically. Labels are formed from name of author and + year of publication. +'plain' + Sorted alphabetically. Labels are numeric. +'unsrt' + Like 'plain', but entries are in order of citation. +'abbrv' + Like 'plain', but more compact labels. + + In addition, numerous other BibTeX style files exist tailored to the +demands of various publications. See +'http://www.ctan.org/tex-archive/biblio/bibtex/contrib'. + + The '\bibliography' command is what actually produces the +bibliography. The argument to '\bibliography' refers to files named +'BIBFILE.bib', which should contain your database in BibTeX format. +Only the entries referred to via '\cite' and '\nocite' will be listed in +the bibliography. + + +File: latex2e.info, Node: theorem, Next: titlepage, Prev: thebibliography, Up: Environments + +9.25 'theorem' +============== + +Synopsis: + + \begin{theorem} + THEOREM-TEXT + \end{theorem} + + The 'theorem' environment produces "Theorem N" in boldface followed +by THEOREM-TEXT, where the numbering possibilities for N are described +under '\newtheorem' (*note \newtheorem::). + + +File: latex2e.info, Node: titlepage, Next: verbatim, Prev: theorem, Up: Environments + +9.26 'titlepage' +================ + +Synopsis: + + \begin{titlepage} + TEXT + \end{titlepage} + + The 'titlepage' environment creates a title page, i.e., a page with +no printed page number or heading. It also causes the following page to +be numbered page one. Formatting the title page is left to you. The +'\today' command may be useful on title pages (*note \today::). + + You can use the '\maketitle' command (*note \maketitle::) to produce +a standard title page without a 'titlepage' environment. + + +File: latex2e.info, Node: verbatim, Next: verse, Prev: titlepage, Up: Environments + +9.27 'verbatim' +=============== + +Synopsis: + + \begin{verbatim} + LITERAL-TEXT + \end{verbatim} + + The 'verbatim' environment is a paragraph-making environment in which +LaTeX produces exactly what you type in; for instance the '\' character +produces a printed '\'. It turns LaTeX into a typewriter with carriage +returns and blanks having the same effect that they would on a +typewriter. + + The 'verbatim' uses a monospaced typewriter-like font ('\tt'). + +* Menu: + +* \verb:: The macro form of the 'verbatim' environment. + + +File: latex2e.info, Node: \verb, Up: verbatim + +9.27.1 '\verb' +-------------- + +Synopsis: + + \verbCHARLITERAL-TEXTCHAR + \verb*CHARLITERAL-TEXTCHAR + + The '\verb' command typesets LITERAL-TEXT as it is input, including +special characters and spaces, using the typewriter ('\tt') font. No +spaces are allowed between '\verb' or '\verb*' and the delimiter CHAR, +which begins and ends the verbatim text. The delimiter must not appear +in LITERAL-TEXT. + + The '*'-form differs only in that spaces are printed with a "visible +space" character. + + +File: latex2e.info, Node: verse, Prev: verbatim, Up: Environments + +9.28 'verse' +============ + +Synopsis: + + \begin{verse} + LINE1 \\ + LINE2 \\ + ... + \end{verse} + + The 'verse' environment is designed for poetry, though you may find +other uses for it. + + The margins are indented on the left and the right, paragraphs are +not indented, and the text is not justified. Separate the lines of each +stanza with '\\', and use one or more blank lines to separate the +stanzas. + + +File: latex2e.info, Node: Line breaking, Next: Page breaking, Prev: Environments, Up: Top + +10 Line breaking +**************** + +The first thing LaTeX does when processing ordinary text is to translate +your input file into a sequence of glyphs and spaces. To produce a +printed document, this sequence must be broken into lines (and these +lines must be broken into pages). + + LaTeX usually does the line (and page) breaking for you, but in some +environments, you do the line breaking yourself with the '\\' command, +and you can always manually force breaks. + +* Menu: + +* \\:: Start a new line. +* \obeycr & \restorecr:: Make each input line start a new output line. +* \newline:: Break the line +* \- (hyphenation):: Insert explicit hyphenation. +* \fussy:: Be fussy about line breaking. +* \sloppy:: Be sloppy about line breaking. +* \hyphenation:: Tell LaTeX how to hyphenate a word. +* \linebreak & \nolinebreak:: Forcing & avoiding line breaks. + + +File: latex2e.info, Node: \\, Next: \obeycr & \restorecr, Up: Line breaking + +10.1 '\\'[*][MORESPACE] +======================= + +The '\\' command tells LaTeX to start a new line. It has an optional +argument, MORESPACE, that specifies how much extra vertical space is to +be inserted before the next line. This can be a negative amount. + + The '\\*' command is the same as the ordinary '\\' command except +that it tells LaTeX not to start a new page after the line. + + +File: latex2e.info, Node: \obeycr & \restorecr, Next: \newline, Prev: \\, Up: Line breaking + +10.2 '\obeycr' & '\restorecr' +============================= + +The '\obeycr' command makes a return in the input file ('^^M', +internally) the same as '\\' (followed by '\relax'). So each new line +in the input will also be a new line in the output. + + '\restorecr' restores normal line-breaking behavior. + + +File: latex2e.info, Node: \newline, Next: \- (hyphenation), Prev: \obeycr & \restorecr, Up: Line breaking + +10.3 '\newline' +=============== + +The '\newline' command breaks the line at the present point, with no +stretching of the text before it. It can only be used in paragraph +mode. + + +File: latex2e.info, Node: \- (hyphenation), Next: \fussy, Prev: \newline, Up: Line breaking + +10.4 '\-' (discretionary hyphen) +================================ + +The '\-' command tells LaTeX that it may hyphenate the word at that +point. LaTeX is very good at hyphenating, and it will usually find most +of the correct hyphenation points, and almost never use an incorrect +one. The '\-' command is used for the exceptional cases. + + When you insert '\-' commands in a word, the word will only be +hyphenated at those points and not at any of the hyphenation points that +LaTeX might otherwise have chosen. + + +File: latex2e.info, Node: \fussy, Next: \sloppy, Prev: \- (hyphenation), Up: Line breaking + +10.5 '\fussy' +============= + +The declaration '\fussy' (which is the default) makes TeX picky about +line breaking. This usually avoids too much space between words, at the +cost of an occasional overfull box. + + This command cancels the effect of a previous '\sloppy' command +(*note \sloppy::. + + +File: latex2e.info, Node: \sloppy, Next: \hyphenation, Prev: \fussy, Up: Line breaking + +10.6 '\sloppy' +============== + +The declaration '\sloppy' makes TeX less fussy about line breaking. +This will avoid overfull boxes, at the cost of loose interword spacing. + + Lasts until a '\fussy' command is issued (*note \fussy::). + + +File: latex2e.info, Node: \hyphenation, Next: \linebreak & \nolinebreak, Prev: \sloppy, Up: Line breaking + +10.7 '\hyphenation' +=================== + +Synopsis: + + \hyphenation{WORD-ONE WORD-TWO} + + The '\hyphenation' command declares allowed hyphenation points with a +'-' character in the given words. The words are separated by spaces. +TeX will only hyphenate if the word matches exactly, no inflections are +tried. Multiple '\hyphenation' commands accumulate. Some examples (the +default TeX hyphenation patterns misses the hyphenations in these +words): + + \hyphenation{ap-pen-dix col-umns data-base data-bases} + + +File: latex2e.info, Node: \linebreak & \nolinebreak, Prev: \hyphenation, Up: Line breaking + +10.8 '\linebreak' & '\nolinebreak' +================================== + +Synopses: + + \linebreak[PRIORITY] + \nolinebreak[PRIORITY] + + By default, the '\linebreak' ('\nolinebreak') command forces +(prevents) a line break at the current position. For '\linebreak', the +spaces in the line are stretched out so that it extends to the right +margin as usual. + + With the optional argument PRIORITY, you can convert the command from +a demand to a request. The PRIORITY must be a number from 0 to 4. The +higher the number, the more insistent the request. + + +File: latex2e.info, Node: Page breaking, Next: Footnotes, Prev: Line breaking, Up: Top + +11 Page breaking +**************** + +LaTeX starts new pages asynchronously, when enough material has +accumulated to fill up a page. Usually this happens automatically, but +sometimes you may want to influence the breaks. + +* Menu: + +* \cleardoublepage:: Start a new right-hand page. +* \clearpage:: Start a new page. +* \newpage:: Start a new page. +* \enlargethispage:: Enlarge the current page a bit. +* \pagebreak & \nopagebreak:: Forcing & avoiding page breaks. + + +File: latex2e.info, Node: \cleardoublepage, Next: \clearpage, Up: Page breaking + +11.1 '\cleardoublepage' +======================= + +The '\cleardoublepage' command ends the current page and causes all +figures and tables that have so far appeared in the input to be printed. +In a two-sided printing style, it also makes the next page a right-hand +(odd-numbered) page, producing a blank page if necessary. + + +File: latex2e.info, Node: \clearpage, Next: \newpage, Prev: \cleardoublepage, Up: Page breaking + +11.2 '\clearpage' +================= + +The '\clearpage' command ends the current page and causes all figures +and tables that have so far appeared in the input to be printed. + + +File: latex2e.info, Node: \newpage, Next: \enlargethispage, Prev: \clearpage, Up: Page breaking + +11.3 '\newpage' +=============== + +The '\newpage' command ends the current page, but does not clear floats +(see '\clearpage' above). + + +File: latex2e.info, Node: \enlargethispage, Next: \pagebreak & \nopagebreak, Prev: \newpage, Up: Page breaking + +11.4 '\enlargethispage' +======================= + +'\enlargethispage{size}' + + '\enlargethispage*{size}' + + Enlarge the '\textheight' for the current page by the specified +amount; e.g. '\enlargethispage{\baselineskip}' will allow one +additional line. + + The starred form tries to squeeze the material together on the page +as much as possible. This is normally used together with an explicit +'\pagebreak'. + + +File: latex2e.info, Node: \pagebreak & \nopagebreak, Prev: \enlargethispage, Up: Page breaking + +11.5 '\pagebreak' & '\nopagebreak' +================================== + +Synopses: + + \pagebreak[PRIORITY] + \nopagebreak[PRIORITY] + + By default, the '\pagebreak' ('\nopagebreak') command forces +(prevents) a page break at the current position. With '\pagebreak', the +vertical space on the page is stretched out where possible so that it +extends to the normal bottom margin. + + With the optional argument PRIORITY, you can convert the '\pagebreak' +command from a demand to a request. The number must be a number from 0 +to 4. The higher the number, the more insistent the request is. + + +File: latex2e.info, Node: Footnotes, Next: Definitions, Prev: Page breaking, Up: Top + +12 Footnotes +************ + +Footnotes can be produced in one of two ways. They can be produced with +one command, the '\footnote' command. They can also be produced with +two commands, the '\footnotemark' and the '\footnotetext' commands. + +* Menu: + +* \footnote:: Insert a footnote. +* \footnotemark:: Insert footnote mark only. +* \footnotetext:: Insert footnote text only. +* Symbolic footnotes:: Using symbols instead of numbers for footnotes. +* Footnote parameters:: Parameters for footnote formatting. + + +File: latex2e.info, Node: \footnote, Next: \footnotemark, Up: Footnotes + +12.1 '\footnote' +================ + +Synopsis: + + \footnote[NUMBER]{TEXT} + + The '\footnote' command places the numbered footnote TEXT at the +bottom of the current page. The optional argument NUMBER changes the +default footnote number. + + This command can only be used in outer paragraph mode; i.e., you +cannot use it in sectioning commands like '\chapter', in figures, tables +or in a 'tabular' environment. (See following sections.) + + +File: latex2e.info, Node: \footnotemark, Next: \footnotetext, Prev: \footnote, Up: Footnotes + +12.2 '\footnotemark' +==================== + +With no optional argument, the '\footnotemark' command puts the current +footnote number in the text. This command can be used in inner +paragraph mode. You give the text of the footnote separately, with the +'\footnotetext' command. + + This command can be used to produce several consecutive footnote +markers referring to the same footnote with + + \footnotemark[\value{footnote}] + +after the first '\footnote' command. + + +File: latex2e.info, Node: \footnotetext, Next: Symbolic footnotes, Prev: \footnotemark, Up: Footnotes + +12.3 '\footnotetext' +==================== + +Synopsis: + + \footnotetext[NUMBER]{TEXT} + + The '\footnotetext' command places TEXT at the bottom of the page as +a footnote. This command can come anywhere after the '\footnotemark' +command. The '\footnotetext' command must appear in outer paragraph +mode. + + The optional argument NUMBER changes the default footnote number. + + +File: latex2e.info, Node: Symbolic footnotes, Next: Footnote parameters, Prev: \footnotetext, Up: Footnotes + +12.4 Symbolic footnotes +======================= + +If you want to use symbols for footnotes, rather than increasing +numbers, redefine '\thefootnote' like this: + + \renewcommand{\thefootnote}{\fnsymbol{footnote}} + + The '\fnsymbol' command produces a predefined series of symbols +(*note \alph \Alph \arabic \roman \Roman \fnsymbol::). If you want to +use a different symbol as your footnote mark, you'll need to also +redefine '\@fnsymbol'. + + +File: latex2e.info, Node: Footnote parameters, Prev: Symbolic footnotes, Up: Footnotes + +12.5 Footnote parameters +======================== + +'\footnoterule' + Produces the rule separating the main text on a page from the + page's footnotes. Default dimensions: '0.4pt' thick (or wide), and + '0.4\columnwidth' long in the standard document classes (except + slides, where it does not appear). + +'\footnotesep' + The height of the strut placed at the beginning of the footnote. + By default, this is set to the normal strut for '\footnotesize' + fonts (*note Font sizes::), therefore there is no extra space + between footnotes. This is '6.65pt' for '10pt', '7.7pt' for + '11pt', and '8.4pt' for '12pt'. + + +File: latex2e.info, Node: Definitions, Next: Counters, Prev: Footnotes, Up: Top + +13 Definitions +************** + +LaTeX has support for making new commands of many different kinds. + +* Menu: + +* \newcommand & \renewcommand:: (Re)define a new command. +* \newcounter:: Define a new counter. +* \newlength:: Define a new length. +* \newsavebox:: Define a new box. +* \newenvironment & \renewenvironment:: Define a new environment. +* \newtheorem:: Define a new theorem-like environment. +* \newfont:: Define a new font name. +* \protect:: Using tricky commands. + + +File: latex2e.info, Node: \newcommand & \renewcommand, Next: \newcounter, Up: Definitions + +13.1 '\newcommand' & '\renewcommand' +==================================== + +'\newcommand' and '\renewcommand' define and redefine a command, +respectively. Synopses: + + \newcommand{CMD}[NARGS]{DEFN} + \renewcommand{CMD}[NARGS]{DEFN} + \newcommand{CMD}[NARGS][DEFAULT]{DEFN} + \renewcommand{CMD}[NARGS][DEFAULT]{DEFN} + +CMD + The command name beginning with '\'. For '\newcommand', it must + not be already defined and must not begin with '\end'; for + '\renewcommand', it must already be defined. + +NARGS + An optional integer from 1 to 9 specifying the number of arguments + that the command will take. The default is for the command to have + no arguments. + +DEFAULT + If this optional parameter is present, it means that the command's + first argument is optional. When the new command is called, the + default value of the optional argument (i.e., if it is not + specified in the call) is the string 'def'. + +DEFN + The text to be substituted for every occurrence of 'cmd'; a + construct of the form '#N' in DEFN is replaced by the text of the + Nth argument. + + +File: latex2e.info, Node: \newcounter, Next: \newlength, Prev: \newcommand & \renewcommand, Up: Definitions + +13.2 '\newcounter' +================== + +Synopsis: + + \newcounter{CNT}[COUNTERNAME] + + The '\newcounter' command defines a new counter named CNT. The new +counter is initialized to zero. + + Given the optional argument '[COUNTERNAME]', CNT will be reset +whenever COUNTERNAME is incremented. + + *Note Counters::, for more information about counters. + + +File: latex2e.info, Node: \newlength, Next: \newsavebox, Prev: \newcounter, Up: Definitions + +13.3 '\newlength' +================= + +Synopsis: + + \newlength{\ARG} + + The '\newlength' command defines the mandatory argument as a 'length' +command with a value of '0in'. The argument must be a control sequence, +as in '\newlength{\foo}'. An error occurs if '\foo' is already defined. + + *Note Lengths::, for how to set the new length to a nonzero value, +and for more information about lengths in general. + + +File: latex2e.info, Node: \newsavebox, Next: \newenvironment & \renewenvironment, Prev: \newlength, Up: Definitions + +13.4 '\newsavebox' +================== + +Synopsis: + + \newsavebox{CMD} + + Defines '\CMD', which must be a command name not already defined, to +refer to a new bin for storing boxes. + + +File: latex2e.info, Node: \newenvironment & \renewenvironment, Next: \newtheorem, Prev: \newsavebox, Up: Definitions + +13.5 '\newenvironment' & '\renewenvironment' +============================================ + +Synopses: + + \newenvironment{ENV}[NARGS]{BEGDEF}{ENDDEF} + \newenvironment{ENV}[NARGS][DEFAULT]{BEGDEF}{ENDDEF} + \renewenvironment{ENV}[NARGS]{BEGDEF}{ENDDEF} + + These commands define or redefine an environment ENV, that is, +'\begin{ENV} ... \end{ENV}'. + +ENV + The name of the environment. For '\newenvironment', ENV must not + be an existing environment, and the command '\ENV' must be + undefined. For '\renewenvironment', ENV must be the name of an + existing environment. + +NARGS + An integer from 1 to 9 denoting the number of arguments of the + newly-defined environment. The default is no arguments. + +DEFAULT + If this is specified, the first argument is optional, and DEFAULT + gives the default value for that argument. + +BEGDEF + The text expanded at every occurrence of '\begin{ENV}'; a construct + of the form '#N' in BEGDEF is replaced by the text of the Nth + argument. + +ENDDEF + The text expanded at every occurrence of '\end{ENV}'. It may not + contain any argument parameters. + + +File: latex2e.info, Node: \newtheorem, Next: \newfont, Prev: \newenvironment & \renewenvironment, Up: Definitions + +13.6 '\newtheorem' +================== + + \newtheorem{NEWENV}{LABEL}[WITHIN] + \newtheorem{NEWENV}[NUMBERED_LIKE]{LABEL} + + This command defines a theorem-like environment. Arguments: + +NEWENV + The name of the environment to be defined; must not be the name of + an existing environment or otherwise defined. + +LABEL + The text printed at the beginning of the environment, before the + number. For example, 'Theorem'. + +NUMBERED_LIKE + (Optional.) The name of an already defined theorem-like + environment; the new environment will be numbered just like + NUMBERED_LIKE. + +WITHIN + (Optional.) The name of an already defined counter, a sectional + unit. The new theorem counter will be reset at the same time as + the WITHIN counter. + + At most one of NUMBERED_LIKE and WITHIN can be specified, not both. + + +File: latex2e.info, Node: \newfont, Next: \protect, Prev: \newtheorem, Up: Definitions + +13.7 '\newfont' +=============== + +Synopsis: + + \newfont{CMD}{FONTNAME} + + Defines a control sequence '\CMD', which must not already be defined, +to make FONTNAME be the current font. The file looked for on the system +is named 'FONTNAME.tfm'. + + This is a low-level command for setting up to use an individual font. +More commonly, fonts are defined in families through '.fd' files. + + +File: latex2e.info, Node: \protect, Prev: \newfont, Up: Definitions + +13.8 '\protect' +=============== + +Footnotes, line breaks, any command that has an optional argument, and +many more are so-called "fragile" commands. When a fragile command is +used in certain contexts, called "moving arguments", it must be preceded +by '\protect'. In addition, any fragile commands within the arguments +must have their own '\protect'. + + Some examples of moving arguments are '\caption' (*note figure::), +'\thanks' (*note \maketitle::), and expressions in 'tabular' and 'array' +environments (*note tabular::). + + Commands which are not fragile are called "robust". They must not be +preceded by '\protect'. + + See also: + +'http://www-h.eng.cam.ac.uk/help/tpl/textprocessing/teTeX/latex/latex2e-html/fragile.html' +'http://www.tex.ac.uk/cgi-bin/texfaq2html?label=protect' + + +File: latex2e.info, Node: Counters, Next: Lengths, Prev: Definitions, Up: Top + +14 Counters +*********** + +Everything LaTeX numbers for you has a counter associated with it. The +name of the counter is the same as the name of the environment or +command that produces the number, except with no '\'. ('enumi'-'enumiv' +are used for the nested enumerate environment.) Below is a list of the +counters used in LaTeX's standard document classes to control numbering. + + part paragraph figure enumi + chapter subparagraph table enumii + section page footnote enumiii + subsection equation mpfootnote enumiv + subsubsection + +* Menu: + +* \alph \Alph \arabic \roman \Roman \fnsymbol:: Print value of a counter. +* \usecounter:: Use a specified counter in a list environment. +* \value:: Use the value of a counter in an expression. +* \setcounter:: Set the value of a counter. +* \addtocounter:: Add a quantity to a counter. +* \refstepcounter:: Add to counter, resetting subsidiary counters. +* \stepcounter:: Add to counter, resetting subsidiary counters. +* \day \month \year:: Numeric date values. + + +File: latex2e.info, Node: \alph \Alph \arabic \roman \Roman \fnsymbol, Next: \usecounter, Up: Counters + +14.1 '\alph \Alph \arabic \roman \Roman \fnsymbol': Printing counters +===================================================================== + +All of these commands take a single counter as an argument, for +instance, '\alph{enumi}'. + +'\alph' + prints COUNTER using lowercase letters: 'a', 'b', ... + +'\Alph' + uses uppercase letters: 'A', 'B', ... + +'\arabic' + uses Arabic numbers: '1', '2', ... + +'\roman' + uses lowercase roman numerals: 'i', 'ii', ... + +'\roman' + uses uppercase roman numerals: 'I', 'II', ... + +'\fnsymbol' + prints the value of COUNTER in a specific sequence of nine symbols + (conventionally used for labeling footnotes). The value of COUNTER + must be between 1 and 9, inclusive. + + The symbols mostly aren't supported in Info, but here are the + names: + asterix(*) dagger ddagger section-sign paragraph-sign parallel + double-asterix(**) double-dagger double-ddagger + + +File: latex2e.info, Node: \usecounter, Next: \value, Prev: \alph \Alph \arabic \roman \Roman \fnsymbol, Up: Counters + +14.2 '\usecounter{COUNTER}' +=========================== + +Synopsis: + + \usecounter{COUNTER} + + The '\usecounter' command is used in the second argument of the +'list' environment to specify COUNTER to be used to number the list +items. + + +File: latex2e.info, Node: \value, Next: \setcounter, Prev: \usecounter, Up: Counters + +14.3 '\value{COUNTER}' +====================== + +Synopsis: + + \value{COUNTER} + + The '\value' command produces the value of COUNTER. It can be used +anywhere LaTeX expects a number, for example: + + \setcounter{myctr}{3} + \addtocounter{myctr}{1} + \hspace{\value{myctr}\parindent} + + +File: latex2e.info, Node: \setcounter, Next: \addtocounter, Prev: \value, Up: Counters + +14.4 '\setcounter{COUNTER}{VALUE}' +================================== + +Synopsis: + + \setcounter{\COUNTER}{VALUE} + + The '\setcounter' command sets the value of \COUNTER to the VALUE +argument. + + +File: latex2e.info, Node: \addtocounter, Next: \refstepcounter, Prev: \setcounter, Up: Counters + +14.5 '\addtocounter{COUNTER}{VALUE}' +==================================== + +The '\addtocounter' command increments COUNTER by the amount specified +by the VALUE argument, which may be negative. + + +File: latex2e.info, Node: \refstepcounter, Next: \stepcounter, Prev: \addtocounter, Up: Counters + +14.6 '\refstepcounter{COUNTER}' +=============================== + +The '\refstepcounter' command works in the same way as '\stepcounter' +*Note \stepcounter::, except it also defines the current '\ref' value to +be the result of '\thecounter'. + + +File: latex2e.info, Node: \stepcounter, Next: \day \month \year, Prev: \refstepcounter, Up: Counters + +14.7 '\stepcounter{COUNTER}' +============================ + +The '\stepcounter' command adds one to COUNTER and resets all subsidiary +counters. + + +File: latex2e.info, Node: \day \month \year, Prev: \stepcounter, Up: Counters + +14.8 '\day \month \year': Predefined counters +============================================= + +LaTeX defines counters for the day of the month ('\day', 1-31), month of +the year ('\month', 1-12), and year ('\year', Common Era). When TeX +starts up, they are set to the current values on the system where TeX is +running. They are not updated as the job progresses. + + The related command '\today' produces a string representing the +current day (*note \today::). + + +File: latex2e.info, Node: Lengths, Next: Making paragraphs, Prev: Counters, Up: Top + +15 Lengths +********** + +A 'length' is a measure of distance. Many LaTeX commands take a length +as an argument. + +* Menu: + +* \setlength:: Set the value of a length. +* \addtolength:: Add a quantity to a length. +* \settodepth:: Set a length to the depth of something. +* \settoheight:: Set a length to the height of something. +* \settowidth:: Set a length to the width of something. +* Predefined lengths:: Lengths that are, like, predefined. + + +File: latex2e.info, Node: \setlength, Next: \addtolength, Up: Lengths + +15.1 '\setlength{\LEN}{VALUE}' +============================== + +The '\setlength' sets the value of \LEN to the VALUE argument, which can +be expressed in any units that LaTeX understands, i.e., inches ('in'), +millimeters ('mm'), points ('pt'), big points ('bp', etc. + + +File: latex2e.info, Node: \addtolength, Next: \settodepth, Prev: \setlength, Up: Lengths + +15.2 \addtolength{\LEN}{AMOUNT} +=============================== + +The '\addtolength' command increments a "length command" \LEN by the +amount specified in the AMOUNT argument, which may be negative. + + +File: latex2e.info, Node: \settodepth, Next: \settoheight, Prev: \addtolength, Up: Lengths + +15.3 '\settodepth' +================== + +'\settodepth{\gnat}{text}' + + The '\settodepth' command sets the value of a 'length' command equal +to the depth of the 'text' argument. + + +File: latex2e.info, Node: \settoheight, Next: \settowidth, Prev: \settodepth, Up: Lengths + +15.4 '\settoheight' +=================== + +'\settoheight{\gnat}{text}' + + The '\settoheight' command sets the value of a 'length' command equal +to the height of the 'text' argument. + + +File: latex2e.info, Node: \settowidth, Next: Predefined lengths, Prev: \settoheight, Up: Lengths + +15.5 '\settowidth{\LEN}{TEXT}' +============================== + +The '\settowidth' command sets the value of the command \LEN to the +width of the TEXT argument. + + +File: latex2e.info, Node: Predefined lengths, Prev: \settowidth, Up: Lengths + +15.6 Predefined lengths +======================= + +'\width' + + '\height' + + '\depth' + + '\totalheight' + + These length parameters can be used in the arguments of the +box-making commands (*note Boxes::). They specify the natural width, +etc., of the text in the box. '\totalheight' equals '\height' + +'\depth'. To make a box with the text stretched to double the natural +size, e.g., say + + '\makebox[2\width]{Get a stretcher}' + + +File: latex2e.info, Node: Making paragraphs, Next: Math formulas, Prev: Lengths, Up: Top + +16 Making paragraphs +******************** + +A paragraph is ended by one or more completely blank lines--lines not +containing even a '%'. A blank line should not appear where a new +paragraph cannot be started, such as in math mode or in the argument of +a sectioning command. + +* Menu: + +* \indent:: Indent this paragraph. +* \noindent:: Do not indent this paragraph. +* \parskip:: Space added before paragraphs. +* Marginal notes:: Putting remarks in the margin. + + +File: latex2e.info, Node: \indent, Next: \noindent, Up: Making paragraphs + +16.1 '\indent' +============== + +'\indent' produces a horizontal space whose width equals the width of +the '\parindent' length, the normal paragraph indentation. It is used +to add paragraph indentation where it would otherwise be suppressed. + + The default value for '\parindent' is '1em' in two-column mode, +otherwise '15pt' for '10pt' documents, '17pt' for '11pt', and '1.5em' +for '12pt'. + + +File: latex2e.info, Node: \noindent, Next: \parskip, Prev: \indent, Up: Making paragraphs + +16.2 '\noindent' +================ + +When used at the beginning of the paragraph, '\noindent' suppresses any +paragraph indentation. It has no effect when used in the middle of a +paragraph. + + +File: latex2e.info, Node: \parskip, Next: Marginal notes, Prev: \noindent, Up: Making paragraphs + +16.3 '\parskip' +=============== + +'\parskip' is a rubber length defining extra vertical space added before +each paragraph. The default is '0pt plus1pt'. + + +File: latex2e.info, Node: Marginal notes, Prev: \parskip, Up: Making paragraphs + +16.4 Marginal notes +=================== + +Synopsis: + + \marginpar[LEFT]{RIGHT} + + The '\marginpar' command creates a note in the margin. The first +line of the note will have the same baseline as the line in the text +where the '\marginpar' occurs. + + When you only specify the mandatory argument RIGHT, the text will be +placed + + * in the right margin for one-sided layout; + * in the outside margin for two-sided layout; + * in the nearest margin for two-column layout. + + The command '\reversemarginpar' places subsequent marginal notes in +the opposite (inside) margin. '\normalmarginpar' places them in the +default position. + + When you specify both arguments, LEFT is used for the left margin, +and RIGHT is used for the right margin. + + The first word will normally not be hyphenated; you can enable +hyphenation there by beginning the node with '\hspace{0pt}'. + + These parameters affect the formatting of the note: + +'\marginparpush' + Minimum vertical space between notes; default '7pt' for '12pt' + documents, '5pt' else. + +'\marginparsep' + Horizontal space between the main text and the note; default '11pt' + for '10pt' documents, '10pt' else. + +'\marginparwidth' + Width of the note itself; default for a one-sided '10pt' document + is '90pt', '83pt' for '11pt', and '68pt' for '12pt'; '17pt' more in + each case for a two-sided document. In two column mode, the + default is '48pt'. + + The standard LaTeX routine for marginal notes does not prevent notes +from falling off the bottom of the page. + + +File: latex2e.info, Node: Math formulas, Next: Modes, Prev: Making paragraphs, Up: Top + +17 Math formulas +**************** + +There are three environments that put LaTeX in math mode: + +'math' + For formulas that appear right in the text. +'displaymath' + For formulas that appear on their own line. +'equation' + The same as the displaymath environment except that it adds an + equation number in the right margin. + + The 'math' environment can be used in both paragraph and LR mode, but +the 'displaymath' and 'equation' environments can be used only in +paragraph mode. The 'math' and 'displaymath' environments are used so +often that they have the following short forms: + + \(...\) instead of \begin{math}...\end{math} + \[...\] instead of \begin{displaymath}...\end{displaymath} + + In fact, the 'math' environment is so common that it has an even +shorter form: + + $ ... $ instead of \(...\) + + The '\boldmath' command changes math letters and symbols to be in a +bold font. It is used _outside_ of math mode. Conversely, the +'\unboldmath' command changes math glyphs to be in a normal font; it too +is used _outside_ of math mode. + + The '\displaystyle' declaration forces the size and style of the +formula to be that of 'displaymath', e.g., with limits above and below +summations. For example + $\displaystyle \sum_{n=0}^\infty x_n $ + +* Menu: + +* Subscripts & superscripts:: Also known as exponent or index. +* Math symbols:: Various mathematical squiggles. +* Math functions:: Math function names like sin and exp. +* Math accents:: Accents in math. +* Spacing in math mode:: Thick, medium, thin and negative spaces. +* Math miscellany:: Stuff that doesn't fit anywhere else. + + +File: latex2e.info, Node: Subscripts & superscripts, Next: Math symbols, Up: Math formulas + +17.1 Subscripts & superscripts +============================== + +To get an expression exp to appear as a subscript, you just type +'_{'exp'}'. To get exp to appear as a superscript, you type '^{'exp'}'. +LaTeX handles superscripted superscripts and all of that stuff in the +natural way. It even does the right thing when something has both a +subscript and a superscript. + + +File: latex2e.info, Node: Math symbols, Next: Math functions, Prev: Subscripts & superscripts, Up: Math formulas + +17.2 Math symbols +================= + +LaTeX provides almost any mathematical symbol you're likely to need. +The commands for generating them can be used only in math mode. For +example, if you include '$\pi$' in your source, you will get the pi +symbol (\pi) in your output. + +'\|' + \| + +'\aleph' + \aleph + +'\alpha' + \alpha + +'\amalg' + \amalg (binary operation) + +'\angle' + \angle + +'\approx' + \approx (relation) + +'\ast' + \ast (binary operation) + +'\asymp' + \asymp (relation) + +'\backslash' + \ (delimiter) + +'\beta' + \beta + +'\bigcap' + \bigcap + +'\bigcirc' + \bigcirc (binary operation) + +'\bigcup' + \bigcup + +'\bigodot' + \bigodot + +'\bigoplus' + \bigoplus + +'\bigotimes' + \bigotimes + +'\bigtriangledown' + \bigtriangledown (binary operation) + +'\bigtriangleup' + \bigtriangleup (binary operation) + +'\bigsqcup' + \bigsqcup + +'\biguplus' + \biguplus + +'\bigcap' + \bigvee + +'\bigwedge' + \bigwedge + +'\bot' + \bot + +'\bowtie' + \bowtie (relation) + +'\Box' + (square open box symbol) + +'\bullet' + \bullet (binary operation) + +'\cap' + \cap (binary operation) + +'\cdot' + \cdot (binary operation) + +'\chi' + \chi + +'\circ' + \circ (binary operation) + +'\clubsuit' + \clubsuit + +'\cong' + \cong (relation) + +'\coprod' + \coprod + +'\cup' + \cup (binary operation) + +'\dagger' + \dagger (binary operation) + +'\dashv' + \dashv (relation) + +'\ddagger' + \dagger (binary operation) + +'\Delta' + \Delta + +'\delta' + \delta + +'\Diamond' + bigger \diamond + +'\diamond' + \diamond (binary operation) + +'\diamondsuit' + \diamondsuit + +'\div' + \div (binary operation) + +'\doteq' + \doteq (relation) + +'\downarrow' + \downarrow (delimiter) + +'\Downarrow' + \Downarrow (delimiter) + +'\ell' + \ell + +'\emptyset' + \emptyset + +'\epsilon' + \epsilon + +'\equiv' + \equiv (relation) + +'\eta' + \eta + +'\exists' + \exists + +'\flat' + \flat + +'\forall' + \forall + +'\frown' + \frown (relation) + +'\Gamma' + \Gamma + +'\gamma' + \gamma + +'\ge' + \ge + +'\geq' + \geq (relation) + +'\gets' + \gets + +'\gg' + \gg (relation) + +'\hbar' + \hbar + +'\heartsuit' + \heartsuit + +'\hookleftarrow' + \hookleftarrow + +'\hookrightarrow' + \hookrightarrow + +'\iff' + \iff + +'\Im' + \Im + +'\in' + \in (relation) + +'\infty' + \infty + +'\int' + \int + +'\iota' + \iota + +'\Join' + condensed bowtie symbol (relation) + +'\kappa' + \kappa + +'\Lambda' + \Lambda + +'\lambda' + \lambda + +'\land' + \land + +'\langle' + \langle (delimiter) + +'\lbrace' + \lbrace (delimiter) + +'\lbrack' + \lbrack (delimiter) + +'\lceil' + \lceil (delimiter) + +'\le' + \le + +'\leadsto' + +'\Leftarrow' + \Leftarrow + +'\leftarrow' + \leftarrow + +'\leftharpoondown' + \leftharpoondown + +'\leftharpoonup' + \leftharpoonup + +'\Leftrightarrow' + \Leftrightarrow + +'\leftrightarrow' + \leftrightarrow + +'\leq' + \leq (relation) + +'\lfloor' + \lfloor (delimiter) + +'\lhd' + (left-pointing arrow head) + +'\ll' + \ll (relation) + +'\lnot' + \lnot + +'\longleftarrow' + \longleftarrow + +'\longleftrightarrow' + \longleftrightarrow + +'\longmapsto' + \longmapsto + +'\longrightarrow' + \longrightarrow + +'\lor' + \lor + +'\mapsto' + \mapsto + +'\mho' + +'\mid' + \mid (relation) + +'\models' + \models (relation) + +'\mp' + \mp (binary operation) + +'\mu' + \mu + +'\nabla' + \nabla + +'\natural' + \natural + +'\ne' + \ne + +'\nearrow' + \nearrow + +'\neg' + \neg + +'\neq' + \neq (relation) + +'\ni' + \ni (relation) + +'\not' + Overstrike a following operator with a /, as in \not=. + +'\notin' + \ni + +'\nu' + \nu + +'\nwarrow' + \nwarrow + +'\odot' + \odot (binary operation) + +'\oint' + \oint + +'\Omega' + \Omega + +'\omega' + \omega + +'\ominus' + \ominus (binary operation) + +'\oplus' + \oplus (binary operation) + +'\oslash' + \oslash (binary operation) + +'\otimes' + \otimes (binary operation) + +'\owns' + \owns + +'\parallel' + \parallel (relation) + +'\partial' + \partial + +'\perp' + \perp (relation) + +'\phi' + \phi + +'\Pi' + \Pi + +'\pi' + \pi + +'\pm' + \pm (binary operation) + +'\prec' + \prec (relation) + +'\preceq' + \preceq (relation) + +'\prime' + \prime + +'\prod' + \prod + +'\propto' + \propto (relation) + +'\Psi' + \Psi + +'\psi' + \psi + +'\rangle' + \rangle (delimiter) + +'\rbrace' + \rbrace (delimiter) + +'\rbrack' + \rbrack (delimiter) + +'\rceil' + \rceil (delimiter) + +'\Re' + \Re + +'\rfloor' + \rfloor + +'\rhd' + (binary operation) + +'\rho' + \rho + +'\Rightarrow' + \Rightarrow + +'\rightarrow' + \rightarrow + +'\rightharpoondown' + \rightharpoondown + +'\rightharpoonup' + \rightharpoonup + +'\rightleftharpoons' + \rightleftharpoons + +'\searrow' + \searrow + +'\setminus' + \setminus (binary operation) + +'\sharp' + \sharp + +'\Sigma' + \Sigma + +'\sigma' + \sigma + +'\sim' + \sim (relation) + +'\simeq' + \simeq (relation) + +'\smallint' + \smallint + +'\smile' + \smile (relation) + +'\spadesuit' + \spadesuit + +'\sqcap' + \sqcap (binary operation) + +'\sqcup' + \sqcup (binary operation) + +'\sqsubset' + (relation) + +'\sqsubseteq' + \sqsubseteq (relation) + +'\sqsupset' + (relation) + +'\sqsupseteq' + \sqsupseteq (relation) + +'\star' + \star (binary operation) + +'\subset' + \subset (relation) + +'\subseteq' + \subseteq (relation) + +'\succ' + \succ (relation) + +'\succeq' + \succeq (relation) + +'\sum' + \sum + +'\supset' + \supset (relation) + +'\supseteq' + \supseteq (relation) + +'\surd' + \surd + +'\swarrow' + \swarrow + +'\tau' + \tau + +'\theta' + \theta + +'\times' + \times (binary operation) + +'\to' + \to + +'\top' + \top + +'\triangle' + \triangle + +'\triangleleft' + \triangleleft (binary operation) + +'\triangleright' + \triangleright (binary operation) + +'\unlhd' + left-pointing arrowhead with line under (binary operation) + +'\unrhd' + right-pointing arrowhead with line under (binary operation) + +'\Uparrow' + \Uparrow (delimiter) + +'\uparrow' + \uparrow (delimiter) + +'\Updownarrow' + \Updownarrow (delimiter) + +'\updownarrow' + \updownarrow (delimiter) + +'\uplus' + \uplus (binary operation) + +'\Upsilon' + \Upsilon + +'\upsilon' + \upsilon + +'\varepsilon' + \varepsilon + +'\varphi' + \varphi + +'\varpi' + \varpi + +'\varrho' + \varrho + +'\varsigma' + \varsigma + +'\vartheta' + \vartheta + +'\vdash' + \vdash (relation) + +'\vee' + \vee (binary operation) + +'\Vert' + \Vert (delimiter) + +'\vert' + \vert (delimiter) + +'\wedge' + \wedge (binary operation) + +'\wp' + \wp + +'\wr' + \wr (binary operation) + +'\Xi' + \Xi + +'\xi' + \xi + +'\zeta' + \zeta + + +File: latex2e.info, Node: Math functions, Next: Math accents, Prev: Math symbols, Up: Math formulas + +17.3 Math functions +=================== + +These commands produce roman function names in math mode with proper +spacing. + +'\arccos' + \arccos + +'\arcsin' + \arcsin + +'\arctan' + \arctan + +'\arg' + \arg + +'\bmod' + Binary modulo operator (x \bmod y) + +'\cos' + \cos + +'\cosh' + \cosh + +'\cot' + \cos + +'\coth' + \cosh + +'\csc' + \csc + +'\deg' + \deg + +'\det' + \deg + +'\dim' + \dim + +'\exp' + \exp + +'\gcd' + \gcd + +'\hom' + \hom + +'\inf' + \inf + +'\ker' + \ker + +'\lg' + \lg + +'\lim' + \lim + +'\liminf' + \liminf + +'\limsup' + \limsup + +'\ln' + \ln + +'\log' + \log + +'\max' + \max + +'\min' + \min + +'\pmod' + parenthesized modulus, as in (\pmod 2^n - 1) + +'\Pr' + \Pr + +'\sec' + \sec + +'\sin' + \sin + +'\sinh' + \sinh + +'\sup' + \sup + +'\tan' + \tan + +'\tanh' + \tanh + + +File: latex2e.info, Node: Math accents, Next: Spacing in math mode, Prev: Math functions, Up: Math formulas + +17.4 Math accents +================= + +LaTeX provides a variety of commands for producing accented letters in +math. These are different from accents in normal text (*note +Accents::). + +'\acute' + Math acute accent: \acute{x}. + +'\bar' + Math bar-over accent: \bar{x}. + +'\breve' + Math breve accent: \breve{x}. + +'\check' + Math ha'c<ek (check) accent: \check{x}. + +'\ddot' + Math dieresis accent: \ddot{x}. + +'\dot' + Math dot accent: \dot{x}. + +'\grave' + Math grave accent: \grave{x}. + +'\hat' + Math hat (circumflex) accent: \hat{x}. + +'\imath' + Math dotless i. + +'\jmath' + Math dotless j. + +'\mathring' + Math ring accent: x*. + +'\tilde' + Math tilde accent: \tilde{x}. + +'\vec' + Math vector symbol: \vec{x}. + +'\widehat' + Math wide hat accent: \widehat{x+y}. + +'\widehat' + Math wide tilde accent: \widetilde{x+y}. + + +File: latex2e.info, Node: Spacing in math mode, Next: Math miscellany, Prev: Math accents, Up: Math formulas + +17.5 Spacing in math mode +========================= + +In a 'math' environment, LaTeX ignores the spaces you type and puts in +the spacing according to the normal rules for mathematics texts. If you +want different spacing, LaTeX provides the following commands for use in +math mode: + +'\;' + A thick space (5\over18\,quad). +'\:' +'\>' + Both of these produce a medium space (2\over9\,quad). +'\,' + A thin space (1\over6\,quad); not restricted to math mode. +'\!' + A negative thin space (-{1\over6}\,quad). + + +File: latex2e.info, Node: Math miscellany, Prev: Spacing in math mode, Up: Math formulas + +17.6 Math miscellany +==================== + +'\*' + A "discretionary" multiplication symbol, at which a line break is + allowed. + +'\cdots' + A horizontal ellipsis with the dots raised to the center of the + line. + +'\ddots' + A diagonal ellipsis: \ddots. + +'\frac{num}{den}' + Produces the fraction 'num' divided by 'den'. + +'\left DELIM1 ... \right DELIM2' + The two delimiters need not match; '.' acts as a null delimiter, + producing no output. The delimiters are sized according to the + math in between. Example: '\left( \sum_i=1^10 a_i \right]'. + +'\overbrace{TEXT}' + Generates a brace over TEXT. For example, + \overbrace{x+\cdots+x}^{k \rm\;times}. + +'\overline{TEXT}' + Generates a horizontal line over TEX. For exampe, \overline{x+y}. + +'\sqrt[ROOT]{arg}' + Produces the representation of the square root of ARG. The + optional argument ROOT determines what root to produce. For + example, the cube root of 'x+y' would be typed as + '$\sqrt[3]{x+y}$'. + +'\stackrel{TEXT}{RELATION}' + Puts TEXT above RELATION. For example, + '\stackrel{f}{\longrightarrow}'. + +'\underbrace{math}' + Generates MATH with a brace underneath. + +'\underline{text}' + Causes TEXT, which may be either math mode or not, to be + underlined. The line is always below the text, taking account of + descenders. + +'\vdots' + Produces a vertical ellipsis. + + +File: latex2e.info, Node: Modes, Next: Page styles, Prev: Math formulas, Up: Top + +18 Modes +******** + +When LaTeX is processing your input text, it is always in one of three +modes: + + * Paragraph mode + * Math mode + * Left-to-right mode, called LR mode for short + + LaTeX changes mode only when it goes up or down a staircase to a +different level, though not all level changes produce mode changes. +Mode changes occur only when entering or leaving an environment, or when +LaTeX is processing the argument of certain text-producing commands. + + "Paragraph mode" is the most common; it's the one LaTeX is in when +processing ordinary text. In that mode, LaTeX breaks your text into +lines and breaks the lines into pages. LaTeX is in "math mode" when +it's generating a mathematical formula. In "LR mode", as in paragraph +mode, LaTeX considers the output that it produces to be a string of +words with spaces between them. However, unlike paragraph mode, LaTeX +keeps going from left to right; it never starts a new line in LR mode. +Even if you put a hundred words into an '\mbox', LaTeX would keep +typesetting them from left to right inside a single box, and then +complain because the resulting box was too wide to fit on the line. + + LaTeX is in LR mode when it starts making a box with an '\mbox' +command. You can get it to enter a different mode inside the box - for +example, you can make it enter math mode to put a formula in the box. +There are also several text-producing commands and environments for +making a box that put LaTeX in paragraph mode. The box make by one of +these commands or environments will be called a 'parbox'. When LaTeX is +in paragraph mode while making a box, it is said to be in "inner +paragraph mode". Its normal paragraph mode, which it starts out in, is +called "outer paragraph mode". + + +File: latex2e.info, Node: Page styles, Next: Spaces, Prev: Modes, Up: Top + +19 Page styles +************** + +The '\documentclass' command determines the size and position of the +page's head and foot. The page style determines what goes in them. + +* Menu: + +* \maketitle:: Generate a title page. +* \pagenumbering:: Set the style used for page numbers. +* \pagestyle:: Change the headings/footings style. +* \thispagestyle:: Change the headings/footings style for this page. + + +File: latex2e.info, Node: \maketitle, Next: \pagenumbering, Up: Page styles + +19.1 '\maketitle' +================= + +The '\maketitle' command generates a title on a separate title +page--except in the 'article' class, where the title is placed at the +top of the first page. Information used to produce the title is +obtained from the following declarations: + +'\author{NAME \and NAME2}' + The '\author' command declares the document author(s), where the + argument is a list of authors separated by '\and' commands. Use + '\\' to separate lines within a single author's entry--for example, + to give the author's institution or address. + +'\date{TEXT}' + The '\date' command declares TEXT to be the document's date. With + no '\date' command, the current date (*note \today::) is used. + +'\thanks{TEXT}' + The '\thanks' command produces a '\footnote' to the title, usually + used for credit acknowledgements. + +'\title{TEXT}' + The '\title' command declares TEXT to be the title of the document. + Use '\\' to force a line break, as usual. + + +File: latex2e.info, Node: \pagenumbering, Next: \pagestyle, Prev: \maketitle, Up: Page styles + +19.2 '\pagenumbering' +===================== + +Synopsis: + + \pagenumbering{STYLE} + + Specifies the style of page numbers, according to STYLE: + +'arabic' + arabic numerals +'roman' + lowercase Roman numerals +'Roman' + uppercase Roman numerals +'alph' + lowercase letters +'Alph' + uppercase letters + + +File: latex2e.info, Node: \pagestyle, Next: \thispagestyle, Prev: \pagenumbering, Up: Page styles + +19.3 '\pagestyle' +================= + +Synopsis: + + \pagestyle{STYLE} + + The '\pagestyle' command specifies how the headers and footers are +typeset from the current page onwards. Values for STYLE: + +'plain' + Just a plain page number. + +'empty' + Empty headers and footers, e.g., no page numbers. + +'headings' + Put running headers on each page. The document style specifies + what goes in the headers. + +'myheadings' + Custom headers, specified via the '\markboth' or the '\markright' + commands. + + Here are the descriptions of '\markboth' and '\markright': + +'\markboth{LEFT}{RIGHT}' + Sets both the left and the right heading. A "left-hand heading" + (LEFT) is generated by the last '\markboth' command before the end + of the page, while a "right-hand heading" (RIGHT is generated by + the first '\markboth' or '\markright' that comes on the page if + there is one, otherwise by the last one before the page. + +'\markright{RIGHT}' + Sets the right heading, leaving the left heading unchanged. + + +File: latex2e.info, Node: \thispagestyle, Prev: \pagestyle, Up: Page styles + +19.4 '\thispagestyle{STYLE}' +============================ + +The '\thispagestyle' command works in the same manner as the +'\pagestyle' command (see previous section) except that it changes to +STYLE for the current page only. + + +File: latex2e.info, Node: Spaces, Next: Boxes, Prev: Page styles, Up: Top + +20 Spaces +********* + +LaTeX has many ways to produce white (or filled) space. + + Another space-producing command is '\,' to produce a "thin" space +(usually 1/6quad). It can be used in text mode, but is more often +useful in math mode (*note Spacing in math mode::). + +* Menu: + +Horizontal space +* \hspace:: Fixed horizontal space. +* \hfill:: Stretchable horizontal space. +* \SPACE:: Normal interword space. +* \AT:: Ending a sentence. +* \thinspace:: One-sixth of an em. +* \/:: Per-character italic correction. +* \hrulefill:: Stretchable horizontal rule. +* \dotfill:: Stretchable horizontal dots. + +Vertical space +* \addvspace:: Add arbitrary vertical space if needed. +* \bigskip \medskip \smallskip:: Fixed vertical spaces. +* \vfill:: Infinitely stretchable vertical space. +* \vspace:: Add arbitrary vertical space. + + +File: latex2e.info, Node: \hspace, Next: \hfill, Up: Spaces + +20.1 '\hspace' +============== + +Synopsis: + + \hspace[*]{LENGTH} + + The '\hspace' command adds horizontal space. The LENGTH argument can +be expressed in any terms that LaTeX understands: points, inches, etc. +It is a rubber length. You can add both negative and positive space +with an '\hspace' command; adding negative space is like backspacing. + + LaTeX normally removes horizontal space that comes at the beginning +or end of a line. To preserve this space, use the optional '*' form. + + +File: latex2e.info, Node: \hfill, Next: \SPACE, Prev: \hspace, Up: Spaces + +20.2 '\hfill' +============= + +The '\hfill' fill command produces a "rubber length" which has no +natural space but can stretch or shrink horizontally as far as needed. + + The '\fill' parameter is the rubber length itself (technically, the +glue value '0pt plus1fill'); thus, '\hspace\fill' is equivalent to +'\hfill'. + + +File: latex2e.info, Node: \SPACE, Next: \AT, Prev: \hfill, Up: Spaces + +20.3 '\SPACE' +============= + +The '\ ' (space) command produces a normal interword space. It's useful +after punctuation which shouldn't end a sentence. For example 'Knuth's +article in Proc.\ Amer.\ Math\. Soc.\ is fundamental'. It is also often +used after control sequences, as in '\TeX\ is a nice system.' + + In normal circumstances, '\'<tab> and '\'<newline> are equivalent to +'\ '. + + +File: latex2e.info, Node: \AT, Next: \thinspace, Prev: \SPACE, Up: Spaces + +20.4 '\@' +========= + +The '\@' command makes the following punctuation character end a +sentence even if it normally would not. This is typically used after a +capital letter. Here are side-by-side examples with and without '\@': + + ... in C\@. Pascal, though ... + ... in C. Pascal, though ... + +produces + + ... in C. Pascal, though ... ... in C. Pascal, though ... + + +File: latex2e.info, Node: \thinspace, Next: \/, Prev: \AT, Up: Spaces + +20.5 '\thinspace' +================= + +'\thinspace' produces an unbreakable and unstretchable space that is 1/6 +of an em. This is the proper space to use in nested quotes, as in '". + + +File: latex2e.info, Node: \/, Next: \hrulefill, Prev: \thinspace, Up: Spaces + +20.6 '\/' +========= + +The '\/' command produces an "italic correction". This is a small space +defined by the font designer for a given character, to avoid the +character colliding with whatever follows. The italic f character +typically has a large italic correction value. + + If the following character is a period or comma, it's not necessary +to insert an italic correction, since those punctuation symbols have a +very small height. However, with semicolons or colons, as well as +normal letters, it can help. Compare f: f; (in the TeX output, the 'f's +are nicely separated) with f: f;. + + Despite the name, roman characters can also have an italic +correction. Compare pdfTeX (in the TeX output, there is a small space +after the 'f') with pdfTeX. + + +File: latex2e.info, Node: \hrulefill, Next: \dotfill, Prev: \/, Up: Spaces + +20.7 '\hrulefill' +================= + +The '\hrulefill' fill command produces a "rubber length" which can +stretch or shrink horizontally. It will be filled with a horizontal +rule. + + +File: latex2e.info, Node: \dotfill, Next: \addvspace, Prev: \hrulefill, Up: Spaces + +20.8 '\dotfill' +=============== + +The '\dotfill' command produces a "rubber length" that fills with dots +instead of just white space. + + +File: latex2e.info, Node: \addvspace, Next: \bigskip \medskip \smallskip, Prev: \dotfill, Up: Spaces + +20.9 '\addvspace' +================= + +'\addvspace{length}' + + The '\addvspace' command normally adds a vertical space of height +length. However, if vertical space has already been added to the same +point in the output by a previous '\addvspace' command, then this +command will not add more space than needed to make the natural length +of the total vertical space equal to 'length'. + + +File: latex2e.info, Node: \bigskip \medskip \smallskip, Next: \vfill, Prev: \addvspace, Up: Spaces + +20.10 '\bigskip \medskip \smallskip' +==================================== + +These commands produce a given amount of space. + +'\bigskip' + The same as '\vspace{bigskipamount}', ordinarily about one line + space (with stretch and shrink). + +'\medskip' + The same as '\vspace{medskipamount}', ordinarily about half of a + line space (with stretch and shrink). + +'\smallskip' + The same as '\vspace{smallskipamount}', ordinarily about a quarter + of a line space (with stretch and shrink). + + The '\...amount' parameters are determined by the document class. + + +File: latex2e.info, Node: \vfill, Next: \vspace, Prev: \bigskip \medskip \smallskip, Up: Spaces + +20.11 '\vfill' +============== + +The '\vfill' fill command produces a rubber length (glue) which can +stretch or shrink vertically as far as needed. It's equivalent to +'\vspace{\fill}' (*note \hfill::). + + +File: latex2e.info, Node: \vspace, Prev: \vfill, Up: Spaces + +20.12 '\vspace[*]{LENGTH}' +========================== + +Synopsis: + + \vspace[*]{LENGTH} + + The '\vspace' command adds the vertical space LENGTH, i.e., a rubber +length. LENGTH can be negative or positive. + + Ordinarily, LaTeX removes vertical space added by '\vspace' at the +top or bottom of a page. With the optional '*' argument, the space is +not removed. + + +File: latex2e.info, Node: Boxes, Next: Special insertions, Prev: Spaces, Up: Top + +21 Boxes +******** + +All the predefined length parameters (*note Predefined lengths::) can be +used in the arguments of the box-making commands. + +* Menu: + +* \mbox:: Horizontal boxes. +* \fbox and \framebox:: Put a frame around a box. +* lrbox:: An environment like \sbox. +* \makebox:: Box, adjustable position. +* \parbox:: Box with text in paragraph mode. +* \raisebox:: Raise or lower text. +* \savebox:: Like \makebox, but save the text for later use. +* \sbox:: Like \mbox, but save the text for later use. +* \usebox:: Print saved text. + + +File: latex2e.info, Node: \mbox, Next: \fbox and \framebox, Up: Boxes + +21.1 '\mbox{TEXT}' +================== + +The '\mbox' command creates a box just wide enough to hold the text +created by its argument. The TEXT is not broken into lines, so it can +be used to prevent hyphenation. + + +File: latex2e.info, Node: \fbox and \framebox, Next: lrbox, Prev: \mbox, Up: Boxes + +21.2 '\fbox' and '\framebox' +============================ + +Synopses: + + \fbox{TEXT} + \framebox[WIDTH][POSITION]{TEXT} + + The '\fbox' and '\framebox' commands are like '\mbox', except that +they put a frame around the outside of the box being created. + + In addition, the '\framebox' command allows for explicit +specification of the box width with the optional WIDTH argument (a +dimension), and positioning with the optional POSITION argument. + + Both commands produce a rule of thickness '\fboxrule' (default +'.4pt'), and leave a space of '\fboxsep' (default '3pt') between the +rule and the contents of the box. + + *Note \framebox (picture)::, for the '\framebox' command in the +'picture' environment. + + +File: latex2e.info, Node: lrbox, Next: \makebox, Prev: \fbox and \framebox, Up: Boxes + +21.3 'lrbox' +============ + +'\begin{lrbox}{cmd} text \end{lrbox}' + + This is the environment form of '\sbox'. + + The text inside the environment is saved in the box 'cmd', which must +have been declared with '\newsavebox'. + + +File: latex2e.info, Node: \makebox, Next: \parbox, Prev: lrbox, Up: Boxes + +21.4 '\makebox' +=============== + +Synopsis: + + \makebox[WIDTH][POSITION]{TEXT} + + The '\makebox' command creates a box just wide enough to contain the +TEXT specified. The width of the box is specified by the optional WIDTH +argument. The position of the text within the box is determined by the +optional POSITION argument, which may take the following values: + +'c' + Centered (default). +'l' + Flush left. +'r' + Flush right. +'s' + Stretch (justify) across entire WIDTH; TEXT must contain + stretchable space for this to work. + + '\makebox' is also used within the picture environment *note \makebox +(picture)::. + + +File: latex2e.info, Node: \parbox, Next: \raisebox, Prev: \makebox, Up: Boxes + +21.5 '\parbox' +============== + +Synopsis: + + \parbox[POSITION][HEIGHT][INNER-POS]{WIDTH}{TEXT} + + The '\parbox' command produces a box whose contents are created in +'paragraph' mode. It should be used to make a box small pieces of text, +with nothing fancy inside. In particular, you shouldn't use any +paragraph-making environments inside a '\parbox' argument. For larger +pieces of text, including ones containing a paragraph-making +environment, you should use a 'minipage' environment (*note minipage::). + + '\parbox' has two mandatory arguments: + +WIDTH + the width of the parbox; +TEXT + the text that goes inside the parbox. + + The optional POSITION argument allows you to align either the top or +bottom line in the parbox with the baseline of the surrounding text +(default is top). + + The optional HEIGHT argument overrides the natural height of the box. + + The INNER-POS argument controls the placement of the text inside the +box, as follows; if it is not specified, POSITION is used. + +'t' + text is placed at the top of the box. +'c' + text is centered in the box. +'b' + text is placed at the bottom of the box. +'s' + stretch vertically; the text must contain vertically stretchable + space for this to work. + + +File: latex2e.info, Node: \raisebox, Next: \savebox, Prev: \parbox, Up: Boxes + +21.6 '\raisebox' +================ + +Synopsis: + + \raisebox{distance}[HEIGHT][DEPTH]{text} + + The '\raisebox' command raises or lowers TEXT. The first mandatory +argument specifies how high TEXT is to be raised (or lowered if it is a +negative amount). TEXT itself is processed in LR mode. + + The optional arguments HEIGHT and DEPTH are dimensions. If they are +specified, LaTeX treats TEXT as extending a certain distance above the +baseline (height) or below (depth), ignoring its natural height and +depth. + + +File: latex2e.info, Node: \savebox, Next: \sbox, Prev: \raisebox, Up: Boxes + +21.7 '\savebox' +=============== + +Synopsis: + + \savebox{\BOXCMD}[WIDTH][POS]{TEXT} + + This command typeset TEXT in a box just as with '\makebox' (*note +\makebox::), except that instead of printing the resulting box, it saves +it in the box labeled \BOXCMD, which must have been declared with +'\newsavebox' (*note \newsavebox::). + + +File: latex2e.info, Node: \sbox, Next: \usebox, Prev: \savebox, Up: Boxes + +21.8 '\sbox{\BOXCMD}{TEXT}' +=========================== + +Synopsis: + + \sbox{\BOXCMD}{TEXT} + + '\sbox' types TEXT in a box just as with '\mbox' (*note \mbox::) +except that instead of the resulting box being included in the normal +output, it is saved in the box labeled \BOXCMD. \BOXCMD must have been +previously declared with '\newsavebox' (*note \newsavebox::). + + +File: latex2e.info, Node: \usebox, Prev: \sbox, Up: Boxes + +21.9 '\usebox{\BOXCMD' +====================== + +Synopsis: + + \usebox{\BOXCMD} + + '\usebox' producesthe box most recently saved in the bin \BOXCMD by a +'\savebox' command (*note \savebox::). + + +File: latex2e.info, Node: Special insertions, Next: Splitting the input, Prev: Boxes, Up: Top + +22 Special insertions +********************* + +LaTeX provides commands for inserting characters that have a special +meaning do not correspond to simple characters you can type. + +* Menu: + +* Reserved characters:: Inserting # $ % & ~ _ ^ \ { } +* Text symbols:: Inserting other non-letter symbols in text. +* Accents:: Inserting accents. +* Non-English characters:: Inserting other non-English characters. +* \rule:: Inserting lines and rectangles. +* \today:: Inserting today's date. + + +File: latex2e.info, Node: Reserved characters, Next: Text symbols, Up: Special insertions + +22.1 Reserved characters +======================== + +The following characters play a special role in LaTeX and are called +"reserved characters" or "special characters". + + # $ % & ~ _ ^ \ { } + + Whenever you write one of these characters into your file, LaTeX will +do something special. If you simply want the character to be printed as +itself, include a '\' in front of the character. For example, '\$' will +produce '$' in your output. + + One exception to this rule is '\' itself, because '\\' has its own +special (context-dependent) meaning. A roman \ is produced by typing +'$\backslash$' in your file, and a typewriter '\' is produced by using +'\' in a verbatim command (*note verbatim::). + + Also, '\~' and '\^' place tilde and circumflex accents over the +following letter, as in o~ and o^ (*note Accents::); to get a standalone +'~' or '^', you can again use a verbatim command. + + Finally, you can access any character of the current font once you +know its number by using the '\symbol' command. For example, the +visible space character used in the '\verb*' command has the code +decimal 32, so it can be typed as '\symbol{32}'. + + You can also specify octal numbers with ''' or hexadecimal numbers +with '"', so the previous example could also be written as +'\symbol{'40}' or '\symbol{"20}'. + + +File: latex2e.info, Node: Text symbols, Next: Accents, Prev: Reserved characters, Up: Special insertions + +22.2 Text symbols +================= + +LaTeX provides commands to generate a number of non-letter symbols in +running text. Some of these, especially the more obscure ones, are not +available in OT1; you may need to load the 'textcomp' package. + +'\copyright' +'\textcopyright' + The copyright symbol, (C). + +'\dag' + The dagger symbol (in text). + +'\ddag' + The double dagger symbol (in text). + +'\LaTeX' + The LaTeX logo. + +'\guillemotleft (<<)' +'\guillemotright (>>)' +'\guilsinglleft (<)' +'\guilsinglright (>)' + Double and single angle quotation marks, commonly used in French: + <<, >>, <, >. + +'\ldots' +'\dots' +'\textellipsis' + An ellipsis (three dots at the baseline): '...'. '\ldots' and + '\dots' also work in math mode. + +'\lq' + Left (opening) quote: '. + +'\P' +'\textparagraph' + Paragraph sign (pilcrow). + +'\pounds' +'\textsterling' + English pounds sterling: #. + +'\quotedblbase (,,)' +'\quotesinglbase (,)' + Double and single quotation marks on the baseline: ,, and ,. + +'\rq' + Right (closing) quote: '. + +'\S' + Section symbol. + +'\TeX' + The TeX logo. + +'\textasciicircum' + ASCII circumflex: ^. + +'\textasciitilde' + ASCII tilde: ~. + +'\textasteriskcentered' + Centered asterisk: *. + +'\textbackslash' + Backslash: \. + +'\textbar' + Vertical bar: |. + +'\textbardbl' + Double vertical bar. + +'\textbigcircle' + Big circle symbol. + +'\textbraceleft' + Left brace: {. + +'\textbraceright' + Right brace: }. + +'\textbullet' + Bullet: *. + +'\textcircled{LETTER}' + LETTER in a circle, as in (R). + +'\textcompwordmark' +'\textcapitalwordmark' +'\textascenderwordmark' + Composite word mark (invisible). The '\textcapital...' form has + the cap height of the font, while the '\textascender...' form has + the ascender height. + +'\textdagger' + Dagger: \dag. + +'\textdaggerdbl' + Double dagger: \ddag. + +'\textdollar (or '$')' + Dollar sign: $. + +'\textemdash (or '---')' + Em-dash: -- (for punctuation). + +'\textendash (or '--')' + En-dash: -- (for ranges). + +'\texteuro' + The Euro symbol: Euro. + +'\textexclamdown (or '!`')' + Upside down exclamation point: !. + +'\textgreater' + Greater than: >. + +'\textless' + Less than: <. + +'\textleftarrow' + Left arrow. + +'\textordfeminine' +'\textordmasculine' + Feminine and masculine ordinal symbols: a, o. + +'\textperiodcentered' + Centered period: \cdot. + +'\textquestiondown (or '?`')' + Upside down questionation point: ?. + +'\textquotedblleft (or '``')' + Double left quote: ". + +'\textquotedblright (or ''')' + Double right quote: ". + +'\textquoteleft (or '`')' + Single left quote: '. + +'\textquoteright (or ''')' + Single right quote: '. + +'\textquotestraightbase' +'\textquotestraightdblbase' + Single and double straight quotes on the baseline. + +'\textregistered' + Registered symbol: (R). + +'\textrightarrow' + Right arrow. + +'\textthreequartersemdash' + "Three-quarters" em-dash, between en-dash and em-dash. + +'\texttrademark' + Trademark symbol: ^{\hbox{TM}}. + +'\texttwelveudash' + "Two-thirds" em-dash, between en-dash and em-dash. + +'\textunderscore' + Underscore: _. + +'\textvisiblespace' + Visible space symbol. + + +File: latex2e.info, Node: Accents, Next: Non-English characters, Prev: Text symbols, Up: Special insertions + +22.3 Accents +============ + +LaTeX has wide support for many of the world's scripts and languages, +through the 'babel' package and related support. This section does not +attempt to cover all that support. It merely lists the core LaTeX +commands for creating accented characters. + + The '\capital...' commands produce alternative forms for use with +capital letters. These are not available with OT1. + +'\"' +'\capitaldieresis' + Produces an umlaut (dieresis), as in o". + +'\'' +'\capitalacute' + Produces an acute accent, as in o'. In the 'tabbing' environment, + pushes current column to the right of the previous column (*note + tabbing::). + +'\.' + Produces a dot accent over the following, as in o.. + +'\=' +'\capitalmacron' + Produces a macron (overbar) accent over the following, as in o=. + +'\^' +'\capitalcircumflex' + Produces a circumflex (hat) accent over the following, as in o^. + +'\`' +'\capitalgrave' + Produces a grave accent over the following, as in o`. In the + 'tabbing' environment, move following text to the right margin + (*note tabbing::). + +'\~' +'\capitaltilde' + Produces a tilde accent over the following, as in n~. + +'\b' + Produces a bar accent under the following, as in o_. + +'\c' +'\capitalcedilla' + Produces a cedilla accent under the following, as in c,. + +'\d' +'\capitaldotaccent' + Produces a dot accent under the following, as in .o. + +'\H' +'\capitalhungarumlaut' + Produces a long Hungarian umlaut accent over the following, as in + o''. + +'\i' + Produces a dotless i, as in 'i'. + +'\j' + Produces a dotless j, as in 'j'. + +'\k' +'\capitalogonek' + Produces a letter with ogonek, as in 'o;'. Not available in the + OT1 encoding. + +'\r' +'\capitalring' + Produces a ring accent, as in 'o*'. + +'\t' +'\capitaltie' +'\newtie' +'\capitalnewtie' + Produces a tie-after accent, as in 'oo['. The '\newtie' form is + centered in its box. + +'\u' +'\capitalbreve' + Produces a breve accent, as in 'o('. + +'\underbar' + Not exactly an accent, this produces a bar under the argument text. + The argument is always processed in horizontal mode. The bar is + always a fixed position under the baseline, thus crossing through + descenders. See also '\underline' in *note Math miscellany::. + +'\v' +'\capitalcaron' + Produces a ha'c<ek (check, caron) accent, as in 'o<'. + + +File: latex2e.info, Node: Non-English characters, Next: \rule, Prev: Accents, Up: Special insertions + +22.4 Non-English characters +=========================== + +Here are the basic LaTeX commands for inserting characters commonly used +in languages other than English. + +'\aa' +'\AA' + aa and AA. + +'\ae' +'\AE' + ae and AE. + +'\dh' +'\DH' + Icelandic letter eth: d and D. + +'\dj' +'\DJ' + xxxx + +'\ij' +'\IJ' + ij and IJ (except somewhat closer together than appears here). + +'\l' +'\L' + /l and /L. + +'\ng' +'\NG' + xxxx + +'\o' +'\O' + /o and /O. + +'\oe' +'\OE' + oe and OE. + +'\ss' +'\SS' + ss and SS. + +'\th' +'\TH' + Icelandic letter thorn: th and TH. + + +File: latex2e.info, Node: \rule, Next: \today, Prev: Non-English characters, Up: Special insertions + +22.5 '\rule' +============ + +Synopsis: + + \rule[RAISE]{WIDTH}{THICKNESS} + + The '\rule' command produces "rules", that is, lines or rectangles. +The arguments are: + +RAISE + How high to raise the rule (optional). + +WIDTH + The length of the rule (mandatory). + +THICKNESS + The thickness of the rule (mandatory). + + +File: latex2e.info, Node: \today, Prev: \rule, Up: Special insertions + +22.6 '\today' +============= + +The '\today' command produces today's date, in the format 'MONTH DD, +YYYY'; for example, 'July 4, 1976'. It uses the predefined counters +'\day', '\month', and '\year' (*note \day \month \year::) to do this. +It is not updated as the program runs. + + The 'datetime' package, among others, can produce a wide variety of +other date formats. + + +File: latex2e.info, Node: Splitting the input, Next: Front/back matter, Prev: Special insertions, Up: Top + +23 Splitting the input +********************** + +A large document requires a lot of input. Rather than putting the whole +input in a single large file, it's more efficient to split it into +several smaller ones. Regardless of how many separate files you use, +there is one that is the root file; it is the one whose name you type +when you run LaTeX. + +* Menu: + +* \include:: Conditionally include a file. +* \includeonly:: Determine which files are included. +* \input:: Unconditionally include a file. + + +File: latex2e.info, Node: \include, Next: \includeonly, Up: Splitting the input + +23.1 '\include' +=============== + +Synopsis: + + \include{FILE} + + If no '\includeonly' command is present, the '\include' command +executes '\clearpage' to start a new page (*note \clearpage::), then +reads FILE, then does another '\clearpage'. + + Given an '\includeonly' command, the '\include' actions are only run +if FILE is listed as an argument to '\includeonly'. See the next +section. + + The '\include' command may not appear in the preamble or in a file +read by another '\include' command. + + +File: latex2e.info, Node: \includeonly, Next: \input, Prev: \include, Up: Splitting the input + +23.2 \'includeonly' +=================== + +Synopsis: + + \includeonly{FILE1,FILE2,...} + + The '\includeonly' command controls which files will be read by +subsequent '\include' commands. The list of filenames is +comma-separated. Each FILE must exactly match a filename specified in a +'\include' command for the selection to be effective. + + This command can only appear in the preamble. + + +File: latex2e.info, Node: \input, Prev: \includeonly, Up: Splitting the input + +23.3 \input +=========== + +Synopsis: + + \input{FILE} + + The '\input' command causes the specified FILE to be read and +processed, as if its contents had been inserted in the current file at +that point. + + If FILE does not end in '.tex' (e.g., 'foo' or 'foo.bar'), it is +first tried with that extension ('foo.tex' or 'foo.bar.tex'). If that +is not found, the original FILE is tried ('foo' or 'foo.bar'). + + +File: latex2e.info, Node: Front/back matter, Next: Letters, Prev: Splitting the input, Up: Top + +24 Front/back matter +******************** + +* Menu: + +* Tables of contents:: +* Glossaries:: +* Indexes:: + + +File: latex2e.info, Node: Tables of contents, Next: Glossaries, Up: Front/back matter + +24.1 Tables of contents +======================= + +A table of contents is produced with the '\tableofcontents' command. +You put the command right where you want the table of contents to go; +LaTeX does the rest for you. A previous run must have generated a +'.toc' file. + + The '\tableofcontents' command produces a heading, but it does not +automatically start a new page. If you want a new page after the table +of contents, write a '\newpage' command after the '\tableofcontents' +command. + + The analogous commands '\listoffigures' and '\listoftables' produce a +list of figures and a list of tables, respectively. Everything works +exactly the same as for the table of contents. + + The command '\nofiles' overrides these commands, and _prevents_ any +of these lists from being generated. + +* Menu: + +* \addcontentsline:: Add an entry to table of contents etc. +* \addtocontents:: Add text directly to table of contents file etc. + + +File: latex2e.info, Node: \addcontentsline, Next: \addtocontents, Up: Tables of contents + +24.1.1 \addcontentsline +----------------------- + +The '\addcontentsline'{EXT}{UNIT}{TEXT} command adds an entry to the +specified list or table where: + +EXT + The extension of the file on which information is to be written, + typically one of: 'toc' (table of contents), 'lof' (list of + figures), or 'lot' (list of tables). + +UNIT + The name of the sectional unit being added, typically one of the + following, matching the value of the EXT argument: + + 'toc' + The name of the sectional unit: 'part', 'chapter', 'section', + 'subsection', 'subsubsection'. + 'lof' + For the list of figures. + 'lot' + For the list of tables. + +ENTRY + The actual text of the entry. + + What is written to the '.EXT' file is the command +'\contentsline{UNIT}{NAME}'. + + +File: latex2e.info, Node: \addtocontents, Prev: \addcontentsline, Up: Tables of contents + +24.1.2 \addtocontents +--------------------- + +The '\addtocontents'{EXT}{TEXT} command adds text (or formatting +commands) directly to the '.EXT' file that generates the table of +contents or lists of figures or tables. + +EXT + The extension of the file on which information is to be written: + 'toc' (table of contents), 'lof' (list of figures), or 'lot' (list + of tables). + +TEXT + The text to be written. + + +File: latex2e.info, Node: Glossaries, Next: Indexes, Prev: Tables of contents, Up: Front/back matter + +24.2 Glossaries +=============== + +The command '\makeglossary' enables creating glossaries. + + The command '\glossary{TEXT}' writes a glossary entry for TEXT to an +auxiliary file with the '.glo' extension. + + Specifically, what gets written is the command +'\glossaryentry{TEXT}{PAGENO}', where PAGENO is the current '\thepage' +value. + + The 'glossary' package on CTAN provides support for fancier +glossaries. + + +File: latex2e.info, Node: Indexes, Prev: Glossaries, Up: Front/back matter + +24.3 Indexes +============ + +The command '\makeindex' enables creating indexes. Put this in the +preamble. + + The command '\index{TEXT}' writes an index entry for TEXT to an +auxiliary file with the '.idx' extension. + + Specifically, what gets written is the command +'\indexentry{TEXT}{PAGENO}', where PAGENO is the current '\thepage' +value. + + To generate a index entry for 'bar' that says 'See foo', use a +vertical bar: '\index{bar|see{foo}}'. Use 'seealso' instead of 'see' to +make a 'See also' entry. + + The text 'See' is defined by the macro '\seename', and 'See also' by +the macro '\alsoname'. These can be redefined for other languages. + + The generated '.idx' file is then sorted with an external command, +usually either 'makeindex' ('http://mirror.ctan.org/indexing/makeindex') +or (the multi-lingual) 'xindy' ('http://xindy.sourceforge.net'). This +results in a '.ind' file, which can then be read to typeset the index. + + The index is usually generated with the '\printindex' command. This +is defined in the 'makeidx' package, so '\usepackage{makeidx}' needs to +be in the preamble. + + The rubber length '\indexspace' is inserted before each new letter in +the printed index; its default value is '10pt plus5pt minus3pt'. + + The 'showidx' package causes each index entries to be shown in the +margin on the page where the entry appears. This can help in preparing +the index. + + The 'multind' package supports multiple indexes. See also the TeX +FAQ entry on this topic, +'http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multind'. + + +File: latex2e.info, Node: Letters, Next: Terminal input/output, Prev: Front/back matter, Up: Top + +25 Letters +********** + +You can use LaTeX to typeset letters, both personal and business. The +'letter' document class is designed to make a number of letters at once, +although you can make just one if you so desire. + + Your '.tex' source file has the same minimum commands as the other +document classes, i.e., you must have the following commands as a +minimum: + + \documentclass{letter} + \begin{document} + ... letters ... + \end{document} + + Each letter is a 'letter' environment, whose argument is the name and +address of the recipient. For example, you might have: + + \begin{letter}{Mr. Joe Smith\\ 2345 Princess St. + \\ Edinburgh, EH1 1AA} + ... + \end{letter} + + The letter itself begins with the '\opening' command. The text of +the letter follows. It is typed as ordinary LaTeX input. Commands that +make no sense in a letter, like '\chapter', do not work. The letter +closes with a '\closing' command. + + After the 'closing', you can have additional material. The '\cc' +command produces the usual "cc: ...". There's also a similar '\encl' +command for a list of enclosures. With both these commands, use '\\' to +separate the items. + + These commands are used with the 'letter' class. + +* Menu: + +* \address:: Your return address. +* \cc:: Cc list. +* \closing:: Saying goodbye. +* \encl:: List of enclosed material. +* \location:: Your organisation's address. +* \makelabels:: Making address labels. +* \name:: Your name, for the return address. +* \opening:: Saying hello. +* \ps:: Adding a postscript. +* \signature:: Your signature. +* \startbreaks:: Allow page breaks. +* \stopbreaks:: Disallow page breaks. +* \telephone:: Your phone number. + + +File: latex2e.info, Node: \address, Next: \cc, Up: Letters + +25.1 \address{RETURN-ADDRESS} +============================= + +The '\address' specifies the return address of a letter, as it should +appear on the letter and the envelope. Separate lines of the address +should be separated by '\\' commands. + + If you do not make an '\address' declaration, then the letter will be +formatted for copying onto your organisation's standard letterhead. +(*Note Overview::, for details on your local implementation). If you +give an '\address' declaration, then the letter will be formatted as a +personal letter. + + +File: latex2e.info, Node: \cc, Next: \closing, Prev: \address, Up: Letters + +25.2 '\cc' +========== + +Synopsis: + + \cc{NAME1\\NAME2} + + Produce a list of NAMEs the letter was copied to. Each name is +printed on a separate line. + + +File: latex2e.info, Node: \closing, Next: \encl, Prev: \cc, Up: Letters + +25.3 '\closing' +=============== + +Synopsis: + + \closing{text} + + A letter closes with a '\closing' command, for example, + \closing{Best Regards,} + + +File: latex2e.info, Node: \encl, Next: \location, Prev: \closing, Up: Letters + +25.4 '\encl' +============ + +Synopsis: + + \encl{LINE1\\LINE2} + + Declare a list of one more enclosures. + + +File: latex2e.info, Node: \location, Next: \makelabels, Prev: \encl, Up: Letters + +25.5 '\location' +================ + +'\location{address}' + + This modifies your organisation's standard address. This only +appears if the 'firstpage' pagestyle is selected. + + +File: latex2e.info, Node: \makelabels, Next: \name, Prev: \location, Up: Letters + +25.6 '\makelabels' +================== + +'\makelabels{number}' + + If you issue this command in the preamble, LaTeX will create a sheet +of address labels. This sheet will be output before the letters. + + +File: latex2e.info, Node: \name, Next: \opening, Prev: \makelabels, Up: Letters + +25.7 '\name' +============ + +'\name{June Davenport}' + + Your name, used for printing on the envelope together with the return +address. + + +File: latex2e.info, Node: \opening, Next: \ps, Prev: \name, Up: Letters + +25.8 '\opening{TEXT}' +===================== + +Synopsis: + + \opening{TEXT} + + A letter begins with the '\opening' command. The mandatory argument, +TEXT, is whatever text you wish to start your letter. For instance: + + \opening{Dear Joe,} + + +File: latex2e.info, Node: \ps, Next: \signature, Prev: \opening, Up: Letters + +25.9 '\ps' +========== + +Use the '\ps' command to start a postscript in a letter, after +'\closing'. + + +File: latex2e.info, Node: \signature, Next: \startbreaks, Prev: \ps, Up: Letters + +25.10 '\signature{TEXT}' +======================== + +Your name, as it should appear at the end of the letter underneath the +space for your signature. '\\' starts a new line within TEXT as usual. + + +File: latex2e.info, Node: \startbreaks, Next: \stopbreaks, Prev: \signature, Up: Letters + +25.11 '\startbreaks' +==================== + +'\startbreaks' + + Used after a '\stopbreaks' command to allow page breaks again. + + +File: latex2e.info, Node: \stopbreaks, Next: \telephone, Prev: \startbreaks, Up: Letters + +25.12 '\stopbreaks' +=================== + +'\stopbreaks' + + Inhibit page breaks until a '\startbreaks' command occurs. + + +File: latex2e.info, Node: \telephone, Prev: \stopbreaks, Up: Letters + +25.13 '\telephone' +================== + +'\telephone{number}' + + This is your telephone number. This only appears if the 'firstpage' +pagestyle is selected. + + +File: latex2e.info, Node: Terminal input/output, Next: Command line, Prev: Letters, Up: Top + +26 Terminal input/output +************************ + +* Menu: + +* \typein:: Read text from the terminal. +* \typeout:: Write text to the terminal. + + +File: latex2e.info, Node: \typein, Next: \typeout, Up: Terminal input/output + +26.1 '\typein[CMD]{MSG}' +======================== + +Synopsis: + + \typein[\CMD]{MSG} + + '\typein' prints MSG on the terminal and causes LaTeX to stop and +wait for you to type a line of input, ending with return. If the +optional \CMD argument is omitted, the typed input is processed as if it +had been included in the input file in place of the '\typein' command. +If the \CMD argument is present, it must be a command name. This +command name is then defined or redefined to be the typed input. + + +File: latex2e.info, Node: \typeout, Prev: \typein, Up: Terminal input/output + +26.2 '\typeout{MSG}' +==================== + +Synopsis: + + \typeout{MSG} + + Prints 'msg' on the terminal and in the 'log' file. Commands in +'msg' that are defined with '\newcommand' or '\renewcommand' (among +others) are replaced by their definitions before being printed. + + LaTeX's usual rules for treating multiple spaces as a single space +and ignoring spaces after a command name apply to 'msg'. A '\space' +command in 'msg' causes a single space to be printed, independent of +surrounding spaces. A '^^J' in 'msg' prints a newline. + + +File: latex2e.info, Node: Command line, Next: Document templates, Prev: Terminal input/output, Up: Top + +27 Command line +*************** + +The input file specification indicates the file to be formatted; TeX +uses '.tex' as a default file extension. If you omit the input file +entirely, TeX accepts input from the terminal. You specify command +options by supplying a string as a parameter to the command; e.g. + + latex '\nonstopmode\input foo.tex' + +will process 'foo.tex' without pausing after every error. + + If LaTeX stops in the middle of the document and gives you a '*' +prompt, it is waiting for input. You can type '\stop' (and return) and +it will prematurely end the document. + + +File: latex2e.info, Node: Document templates, Next: Concept Index, Prev: Command line, Up: Top + +Appendix A Document templates +***************************** + +Although not reference material, perhaps these document templates will +be useful. Additional template resources are listed +'http://tug.org/interest.html#latextemplates'. + +* Menu: + +* book template:: +* beamer template:: +* tugboat template:: + + +File: latex2e.info, Node: book template, Next: beamer template, Up: Document templates + +A.1 'book' template +=================== + +\documentclass{book} +\title{Book Class Template} +\author{Alex Author} + +\begin{document} +\maketitle + +\chapter{First} +Some text. + +\chapter{Second} +Some other text. + +\section{A subtopic} +The end. +\end{document} + + +File: latex2e.info, Node: beamer template, Next: tugboat template, Prev: book template, Up: Document templates + +A.2 'beamer' template +===================== + +The 'beamer' class creates slides presentations. + +\documentclass{beamer} + +\title{Beamer Class template} +\author{Alex Author} +\date{July 31, 2007} + +\begin{document} + +\maketitle + +% without [fragile], any {verbatim} code gets mysterious errors. +\begin{frame}[fragile] + \frametitle{First Slide} + +\begin{verbatim} + This is \verbatim! +\end{verbatim} + +\end{frame} + +\end{document} + + + +File: latex2e.info, Node: tugboat template, Prev: beamer template, Up: Document templates + +A.3 'tugboat' template +====================== + +'TUGboat' is the journal of the TeX Users Group, +'http://tug.org/TUGboat'. + +\documentclass{ltugboat} +\usepackage{graphicx} +\usepackage{ifpdf} +\ifpdf +\usepackage[breaklinks,colorlinks,linkcolor=black,citecolor=black, + urlcolor=black]{hyperref} +\else +\usepackage{url} +\fi + +\title{Example \TUB\ article} + +% repeat info for each author. +\author{First Last} +\address{Street Address \\ Town, Postal \\ Country} +\netaddress{user (at) example dot org} +\personalURL{http://example.org/~user/} + +\begin{document} + +\maketitle + +\begin{abstract} +This is an example article for \TUB{}. +\end{abstract} + +\section{Introduction} + +This is an example article for \TUB, from +\url{http://tug.org/TUGboat/location.html}. + +We recommend the graphicx package for image inclusions, and the +hyperref package for active url's (in the \acro{PDF} output). +Nowadays \TUB\ is produced using \acro{PDF} files exclusively. + +The \texttt{ltugboat} class provides these abbreviations and many more: + +% verbatim blocks are often better in \small +\begin{verbatim}[\small] +\AllTeX \AMS \AmS \AmSLaTeX \AmSTeX \aw \AW +\BibTeX \CTAN \DTD \HTML +\ISBN \ISSN \LaTeXe +\Mc \mf \MFB \mtex \PCTeX \pcTeX +\PiC \PiCTeX \plain \POBox \PS +\SC \SGML \SliTeX \TANGLE \TB \TP +\TUB \TUG \tug +\UG \UNIX \VAX \XeT \WEB \WEAVE + +\Dash \dash \vellipsis \bull \cents \Dag +\careof \thinskip + +\acro{FRED} -> {\small[er] fred} % please use! +\cs{fred} -> \fred +\env{fred} -> \begin{fred} +\meta{fred} -> <fred> +\nth{n} -> 1st, 2nd, ... +\sfrac{3/4} -> 3/4 +\booktitle{Book of Fred} +\end{verbatim} + +For more information, see the ltubguid document at: +\url{http://mirror.ctan.org/macros/latex/contrib/tugboat} +(we recommend using \verb|mirror.ctan.org| for \CTAN\ references). + +Email \verb|tugboat@tug.org| if problems or questions. + +\bibliographystyle{plain} % we recommend the plain bibliography style +\nocite{book-minimal} % just making the bibliography non-empty +\bibliography{xampl} % xampl.bib comes with BibTeX + +\makesignature +\end{document} + + +File: latex2e.info, Node: Concept Index, Next: Command Index, Prev: Document templates, Up: Top + +Concept Index +************* + + +* Menu: + +* '*' prompt: Command line. (line 15) +* *-form of sectioning commands: Sectioning. (line 31) +* '.glo' file: Glossaries. (line 8) +* '.idx' file: Indexes. (line 9) +* '.ind' file: Indexes. (line 23) +* 'see' and 'see also' index entries: Indexes. (line 16) +* abstracts: abstract. (line 6) +* accents: Accents. (line 6) +* accents, mathematical: Math accents. (line 6) +* accessing any character of a font: Reserved characters. (line 25) +* acute accent: Accents. (line 20) +* acute accent, math: Math accents. (line 11) +* ae ligature: Non-English characters. + (line 15) +* align environment, from 'amsmath': eqnarray. (line 6) +* aligning equations: eqnarray. (line 6) +* alignment via tabbing: tabbing. (line 6) +* amsmath package, replacing 'eqnarray': eqnarray. (line 6) +* appendix, creating: Sectioning. (line 37) +* aring: Non-English characters. + (line 11) +* arrays, math: array. (line 6) +* arrow, left, in text: Text symbols. (line 128) +* arrow, right, in text: Text symbols. (line 160) +* ascender height: Text symbols. (line 96) +* ASCII circumflex, in text: Text symbols. (line 61) +* ASCII tilde, in text: Text symbols. (line 64) +* asterisk, centered, in text: Text symbols. (line 67) +* author, for titlepage: \maketitle. (line 12) +* auxiliary file: Overview. (line 45) +* backslash, in text: Text symbols. (line 70) +* bar, double vertical, in text: Text symbols. (line 76) +* bar, vertical, in text: Text symbols. (line 73) +* bar-over accent: Accents. (line 29) +* bar-over accent, math: Math accents. (line 14) +* bar-under accent: Accents. (line 46) +* basics of LaTeX: Overview. (line 8) +* bibliography, creating (automatically): Using BibTeX. (line 6) +* bibliography, creating (manually): thebibliography. (line 6) +* bibTeX, using: Using BibTeX. (line 6) +* big circle symbols, in text: Text symbols. (line 79) +* black boxes, omitting: Document class options. + (line 27) +* bold font: Font styles. (line 74) +* bold typewriter, avoiding: description. (line 18) +* boxes: Boxes. (line 6) +* brace, left, in text: Text symbols. (line 82) +* brace, right, in text: Text symbols. (line 85) +* breaking lines: Line breaking. (line 6) +* breaking pages: Page breaking. (line 6) +* breve accent: Accents. (line 85) +* breve accent, math: Math accents. (line 17) +* bug reporting: About this document. (line 13) +* bullet symbol: Math symbols. (line 87) +* bullet, in text: Text symbols. (line 88) +* bulleted lists: itemize. (line 6) +* calligraphic letters for math: Font styles. (line 77) +* cap height: Text symbols. (line 96) +* caron accent: Accents. (line 95) +* case sensitivity of LaTeX: Overview. (line 57) +* cc list, in letters: \cc. (line 6) +* cedilla accent: Accents. (line 50) +* centered asterisk, in text: Text symbols. (line 67) +* centered period, in text: Text symbols. (line 135) +* centering text, declaration for: \centering. (line 6) +* centering text, environment for: center. (line 6) +* characters, accented: Accents. (line 6) +* characters, non-English: Non-English characters. + (line 6) +* characters, reserved: Reserved characters. (line 6) +* check accent: Accents. (line 95) +* check accent, math: Math accents. (line 20) +* circle symbol, big, in text: Text symbols. (line 79) +* circled letter, in text: Text symbols. (line 91) +* circumflex accent: Accents. (line 33) +* circumflex accent, math: Math accents. (line 32) +* circumflex, ASCII, in text: Text symbols. (line 61) +* class options: Document class options. + (line 6) +* classes of documents: Document classes. (line 6) +* closing letters: \closing. (line 6) +* closing quote: Text symbols. (line 52) +* code, typesetting: verbatim. (line 6) +* command line: Command line. (line 6) +* commands, defining new ones: \newcommand & \renewcommand. + (line 6) +* composite word mark, in text: Text symbols. (line 96) +* computer programs, typesetting: verbatim. (line 6) +* copyright symbol: Text symbols. (line 12) +* counters, a list of: Counters. (line 6) +* counters, defining new: \newcounter. (line 6) +* counters, getting value of: \value. (line 6) +* counters, setting: \setcounter. (line 6) +* creating letters: Letters. (line 6) +* creating pictures: picture. (line 6) +* creating tables: table. (line 6) +* credit footnote: \maketitle. (line 22) +* cross references: Cross references. (line 6) +* cross referencing with page number: \pageref. (line 6) +* cross referencing, symbolic: \ref. (line 6) +* currency, dollar: Text symbols. (line 107) +* currency, euro: Text symbols. (line 116) +* dagger, double, in text: Text symbols. (line 104) +* dagger, in text: Text symbols. (line 15) +* dagger, in text <1>: Text symbols. (line 101) +* date, for titlepage: \maketitle. (line 18) +* 'datetime' package: \today. (line 11) +* defining a new command: \newcommand & \renewcommand. + (line 6) +* defining new environments: \newenvironment & \renewenvironment. + (line 6) +* defining new fonts: \newfont. (line 6) +* defining new theorems: \newtheorem. (line 6) +* definitions: Definitions. (line 6) +* description lists, creating: description. (line 6) +* dieresis accent: Accents. (line 16) +* discretionary multiplication: Math miscellany. (line 7) +* displaying quoted text with paragraph indentation: quotation. + (line 6) +* displaying quoted text without paragraph indentation: quote. + (line 6) +* document class options: Document class options. + (line 6) +* document classes: Document classes. (line 6) +* document templates: Document templates. (line 6) +* dollar sign: Text symbols. (line 107) +* dot accent: Accents. (line 25) +* dot over accent, math: Math accents. (line 26) +* dot-over accent: Accents. (line 25) +* dot-under accent: Accents. (line 54) +* dotless i: Accents. (line 62) +* dotless i, math: Math accents. (line 35) +* dotless j: Accents. (line 65) +* dotless j, math: Math accents. (line 38) +* double angle quotation marks: Text symbols. (line 27) +* double dagger, in text: Text symbols. (line 18) +* double dagger, in text <1>: Text symbols. (line 104) +* double dot accent, math: Math accents. (line 23) +* double guillemets: Text symbols. (line 27) +* double left quote: Text symbols. (line 141) +* double low-9 quotation mark: Text symbols. (line 49) +* double quote, straight base: Text symbols. (line 154) +* double right quote: Text symbols. (line 144) +* double spacing: Low-level font commands. + (line 52) +* double vertical bar, in text: Text symbols. (line 76) +* e-dash: Text symbols. (line 113) +* ellipsis: Text symbols. (line 33) +* em-dash: Text symbols. (line 110) +* em-dash, three-quarters: Text symbols. (line 163) +* em-dash, two-thirds: Text symbols. (line 169) +* emphasis: Font styles. (line 27) +* emphasis <1>: Font styles. (line 80) +* enclosure list: \encl. (line 6) +* ending & starting: Starting & ending. (line 6) +* enlarge current page: \enlargethispage. (line 6) +* environments: Environments. (line 6) +* environments, defining: \newenvironment & \renewenvironment. + (line 6) +* equation number, cross referencing: \ref. (line 6) +* equation numbers, omitting: eqnarray. (line 29) +* equations, aligning: eqnarray. (line 6) +* equations, environment for: equation. (line 6) +* es-zet German letter: Non-English characters. + (line 47) +* eth, Icelandic letter: Non-English characters. + (line 19) +* euro symbol: Text symbols. (line 116) +* exclamation point, upside-down: Text symbols. (line 119) +* exponent: Subscripts & superscripts. + (line 6) +* feminine ordinal symbol: Text symbols. (line 132) +* figure number, cross referencing: \ref. (line 6) +* figures, footnotes in: minipage. (line 21) +* figures, inserting: figure. (line 6) +* fixed-width font: Font styles. (line 98) +* 'float' package: figure. (line 34) +* 'float' package <1>: figure. (line 38) +* flushing floats and starting a page: \clearpage. (line 6) +* font commands, low-level: Low-level font commands. + (line 6) +* font sizes: Font sizes. (line 6) +* font styles: Font styles. (line 6) +* fonts: Typefaces. (line 6) +* fonts, new commands for: \newfont. (line 6) +* footer style: \pagestyle. (line 6) +* footer, parameters for: Page layout parameters. + (line 6) +* footnote number, cross referencing: \ref. (line 6) +* footnote parameters: Footnote parameters. (line 6) +* footnotes in figures: minipage. (line 21) +* footnotes, creating: Footnotes. (line 6) +* footnotes, symbolic instead of numbered: Symbolic footnotes. + (line 6) +* formulas, environment for: equation. (line 6) +* formulas, math: Math formulas. (line 6) +* fragile commands: \protect. (line 6) +* French quotation marks: Text symbols. (line 27) +* functions, math: Math functions. (line 6) +* global options: Document class options. + (line 6) +* global options <1>: Document class options. + (line 76) +* glossaries: Glossaries. (line 6) +* grave accent: Accents. (line 37) +* grave accent, math: Math accents. (line 29) +* greater than symbol, in text: Text symbols. (line 122) +* greek letters: Math symbols. (line 6) +* ha'c<ek accent, math: Math accents. (line 20) +* hacek accent: Accents. (line 95) +* hat accent: Accents. (line 33) +* hat accent, math: Math accents. (line 32) +* header style: \pagestyle. (line 6) +* header, parameters for: Page layout parameters. + (line 6) +* here, putting floats: figure. (line 38) +* hungarian umlaut accent: Accents. (line 58) +* hyphenation, defining: \hyphenation. (line 6) +* hyphenation, forcing: \- (hyphenation). (line 6) +* hyphenation, preventing: \mbox. (line 6) +* Icelandic eth: Non-English characters. + (line 19) +* Icelandic thorn: Non-English characters. + (line 51) +* ij letter, Dutch: Non-English characters. + (line 27) +* in-line formulas: math. (line 6) +* indent, forcing: \indent. (line 6) +* indent, suppressing: \noindent. (line 6) +* indentation of paragraphs, in minipage: minipage. (line 17) +* indexes: Indexes. (line 6) +* input file: Splitting the input. (line 6) +* input/output: Terminal input/output. + (line 6) +* inserting figures: figure. (line 6) +* italic font: Font styles. (line 83) +* justification, ragged left: \raggedleft. (line 6) +* justification, ragged right: \raggedright. (line 6) +* Knuth, Donald E.: About this document. (line 6) +* labelled lists, creating: description. (line 6) +* Lamport, Leslie: About this document. (line 6) +* LaTeX logo: Text symbols. (line 21) +* LaTeX overview: Overview. (line 8) +* LaTeX Project team: About this document. (line 6) +* layout commands: Layout. (line 6) +* layout, page parameters for: Page layout parameters. + (line 6) +* left angle quotation marks: Text symbols. (line 27) +* left arrow, in text: Text symbols. (line 128) +* left brace, in text: Text symbols. (line 82) +* left quote: Text symbols. (line 37) +* left quote, double: Text symbols. (line 141) +* left quote, single: Text symbols. (line 147) +* left-justifying text: \raggedright. (line 6) +* left-justifying text, environment for: flushleft. (line 6) +* left-to-right mode: Modes. (line 6) +* lengths, adding to: \addtolength. (line 6) +* lengths, defining and using: Lengths. (line 6) +* lengths, defining new: \newlength. (line 6) +* lengths, predefined: Predefined lengths. (line 6) +* lengths, setting: \setlength. (line 6) +* less than symbol, in text: Text symbols. (line 125) +* letters: Letters. (line 6) +* letters, accented: Accents. (line 6) +* letters, ending: \closing. (line 6) +* letters, non-English: Non-English characters. + (line 6) +* letters, starting: \opening. (line 6) +* line break, forcing: \\. (line 6) +* line breaking: Line breaking. (line 6) +* line breaks, forcing: \linebreak & \nolinebreak. + (line 6) +* line breaks, preventing: \linebreak & \nolinebreak. + (line 6) +* lines in tables: tabular. (line 6) +* lining text up in tables: tabular. (line 6) +* lining text up using tab stops: tabbing. (line 6) +* list items, specifying counter: \usecounter. (line 6) +* lists of items: itemize. (line 6) +* lists of items, generic: list. (line 6) +* lists of items, numbered: enumerate. (line 6) +* loading additional packages: Document class options. + (line 69) +* log file: Overview. (line 41) +* logo, LaTeX: Text symbols. (line 21) +* logo, TeX: Text symbols. (line 58) +* low-9 quotation marks, single and double: Text symbols. (line 49) +* low-level font commands: Low-level font commands. + (line 6) +* lR mode: Modes. (line 6) +* LuaTeX: Overview. (line 32) +* macron accent: Accents. (line 29) +* macron accent, math: Math accents. (line 14) +* Madsen, Lars: eqnarray. (line 6) +* 'makeidx' package: Indexes. (line 28) +* 'makeindex' program: Indexes. (line 23) +* making a title page: titlepage. (line 6) +* making paragraphs: Making paragraphs. (line 6) +* marginal notes: Marginal notes. (line 6) +* masculine ordinal symbol: Text symbols. (line 132) +* math accents: Math accents. (line 6) +* math formulas: Math formulas. (line 6) +* math functions: Math functions. (line 6) +* math miscellany: Math miscellany. (line 6) +* math mode: Modes. (line 6) +* math mode, entering: Math formulas. (line 6) +* math mode, spacing: Spacing in math mode. + (line 6) +* math symbols: Math symbols. (line 6) +* minipage, creating a: minipage. (line 6) +* modes: Modes. (line 6) +* monospace font: Font styles. (line 98) +* moving arguments: \protect. (line 6) +* multicolumn text: \twocolumn. (line 6) +* 'multind' package: Indexes. (line 39) +* multiplication symbol, discretionary line break: Math miscellany. + (line 7) +* nested '\include', not allowed: \include. (line 18) +* new commands, defining: \newcommand & \renewcommand. + (line 6) +* new line, output as input: \obeycr & \restorecr. + (line 6) +* new line, starting: \\. (line 6) +* new line, starting (paragraph mode): \newline. (line 6) +* new page, starting: \newpage. (line 6) +* non-English characters: Non-English characters. + (line 6) +* notes in the margin: Marginal notes. (line 6) +* null delimiter: Math miscellany. (line 21) +* numbered items, specifying counter: \usecounter. (line 6) +* oblique font: Font styles. (line 95) +* oe ligature: Non-English characters. + (line 43) +* ogonek: Accents. (line 69) +* one-column output: \onecolumn. (line 6) +* opening quote: Text symbols. (line 37) +* options, document class: Document class options. + (line 6) +* options, global: Document class options. + (line 76) +* ordinals, feminine and masculine: Text symbols. (line 132) +* oslash: Non-English characters. + (line 39) +* overbar accent: Accents. (line 29) +* overdot accent, math: Math accents. (line 26) +* overview of LaTeX: Overview. (line 8) +* packages, loading: Document class options. + (line 69) +* page break, forcing: \pagebreak & \nopagebreak. + (line 6) +* page break, preventing: \pagebreak & \nopagebreak. + (line 6) +* page breaking: Page breaking. (line 6) +* page layout parameters: Page layout parameters. + (line 6) +* page number, cross referencing: \pageref. (line 6) +* page numbering style: \pagenumbering. (line 6) +* page styles: Page styles. (line 6) +* paragraph indentation, in minipage: minipage. (line 17) +* paragraph indentations in quoted text: quotation. (line 6) +* paragraph indentations in quoted text, omitting: quote. (line 6) +* paragraph mode: Modes. (line 6) +* paragraph symbol: Text symbols. (line 41) +* paragraphs: Making paragraphs. (line 6) +* parameters, for footnotes: Footnote parameters. (line 6) +* parameters, page layout: Page layout parameters. + (line 6) +* pdfTeX: Overview. (line 26) +* period, centered, in text: Text symbols. (line 135) +* pictures, creating: picture. (line 6) +* pilcrow: Text symbols. (line 41) +* placement of floats: figure. (line 19) +* poetry, an environment for: verse. (line 6) +* polish l: Non-English characters. + (line 31) +* postscript, in letters: \ps. (line 6) +* pounds symbol: Text symbols. (line 45) +* preamble, defined: Starting & ending. (line 17) +* predefined lengths: Predefined lengths. (line 6) +* prompt, '*': Command line. (line 15) +* questionation point, upside-down: Text symbols. (line 138) +* quotation marks, French: Text symbols. (line 27) +* quote, straight base: Text symbols. (line 154) +* quoted text with paragraph indentation, displaying: quotation. + (line 6) +* quoted text without paragraph indentation, displaying: quote. + (line 6) +* ragged left text: \raggedleft. (line 6) +* ragged left text, environment for: flushright. (line 6) +* ragged right text: \raggedright. (line 6) +* ragged right text, environment for: flushleft. (line 6) +* redefining environments: \newenvironment & \renewenvironment. + (line 6) +* registered symbol: Text symbols. (line 157) +* remarks in the margin: Marginal notes. (line 6) +* reporting bugs: About this document. (line 13) +* reserved characters: Reserved characters. (line 6) +* right angle quotation marks: Text symbols. (line 27) +* right arrow, in text: Text symbols. (line 160) +* right brace, in text: Text symbols. (line 85) +* right quote: Text symbols. (line 52) +* right quote, double: Text symbols. (line 144) +* right quote, single: Text symbols. (line 150) +* right-justifying text: \raggedleft. (line 6) +* right-justifying text, environment for: flushright. (line 6) +* ring accent: Accents. (line 74) +* ring accent, math: Math accents. (line 41) +* robust commands: \protect. (line 16) +* roman font: Font styles. (line 86) +* running header and footer: Page layout parameters. + (line 6) +* running header and footer style: \pagestyle. (line 6) +* sans serif font: Font styles. (line 92) +* script letters for math: Font styles. (line 77) +* section number, cross referencing: \ref. (line 6) +* section numbers, printing: Sectioning. (line 47) +* section symbol: Text symbols. (line 55) +* sectioning: Sectioning. (line 6) +* 'setspace' package: Low-level font commands. + (line 52) +* setting counters: \setcounter. (line 6) +* sharp S letters: Non-English characters. + (line 47) +* 'showidx' package: Indexes. (line 35) +* simulating typed text: verbatim. (line 6) +* single angle quotation marks: Text symbols. (line 27) +* single guillemets: Text symbols. (line 27) +* single left quote: Text symbols. (line 147) +* single low-9 quotation mark: Text symbols. (line 49) +* single right quote: Text symbols. (line 150) +* sizes of text: Font sizes. (line 6) +* slanted font: Font styles. (line 95) +* small caps font: Font styles. (line 89) +* space, inserting vertical: \addvspace. (line 6) +* spaces: Spaces. (line 6) +* spacing within math mode: Spacing in math mode. + (line 6) +* Spanish ordinals, feminine and masculine: Text symbols. (line 132) +* special characters: Non-English characters. + (line 6) +* specifier, float placement: figure. (line 19) +* splitting the input file: Splitting the input. (line 6) +* starting & ending: Starting & ending. (line 6) +* starting a new page: \newpage. (line 6) +* starting a new page and clearing floats: \clearpage. (line 6) +* starting on a right-hand page: \cleardoublepage. (line 6) +* sterling symbol: Text symbols. (line 45) +* straight double quote, base: Text symbols. (line 154) +* straight quote, base: Text symbols. (line 154) +* stretch, omitting vertical: \raggedbottom. (line 6) +* styles of text: Font styles. (line 6) +* styles, page: Page styles. (line 6) +* subscript: Subscripts & superscripts. + (line 6) +* superscript: Subscripts & superscripts. + (line 6) +* symbols, math: Math symbols. (line 6) +* tab stops, using: tabbing. (line 6) +* table of contents entry, manually adding: \addcontentsline. (line 6) +* table of contents, creating: Tables of contents. (line 6) +* tables, creating: table. (line 6) +* terminal input/output: Terminal input/output. + (line 6) +* TeX logo: Text symbols. (line 58) +* text symbols: Text symbols. (line 6) +* thanks, for titlepage: \maketitle. (line 22) +* theorems, defining: \newtheorem. (line 6) +* theorems, typesetting: theorem. (line 6) +* thorn, Icelandic letter: Non-English characters. + (line 51) +* three-quarters em-dash: Text symbols. (line 163) +* tie-after accent: Accents. (line 80) +* tilde accent: Accents. (line 43) +* tilde accent, math: Math accents. (line 44) +* tilde, ASCII, in text: Text symbols. (line 64) +* title pages, creating: titlepage. (line 6) +* title, for titlepage: \maketitle. (line 26) +* titles, making: \maketitle. (line 6) +* trademark symbol: Text symbols. (line 166) +* transcript file: Overview. (line 41) +* two-column output: \twocolumn. (line 6) +* two-thirds em-dash: Text symbols. (line 169) +* typed text, simulating: verbatim. (line 6) +* typeface sizes: Font sizes. (line 6) +* typeface styles: Font styles. (line 6) +* typefaces: Typefaces. (line 6) +* typewriter font: Font styles. (line 98) +* typewriter labels in lists: description. (line 18) +* umlaut accent: Accents. (line 16) +* underbar: Accents. (line 88) +* underscore, in text: Text symbols. (line 172) +* unordered lists: itemize. (line 6) +* using BibTeX: Using BibTeX. (line 6) +* variables, a list of: Counters. (line 6) +* vector symbol, math: Math accents. (line 47) +* verbatim text: verbatim. (line 6) +* verbatim text, inline: \verb. (line 6) +* vertical bar, double, in text: Text symbols. (line 76) +* vertical bar, in text: Text symbols. (line 73) +* vertical space: \addvspace. (line 6) +* vertical space before paragraphs: \parskip. (line 6) +* visible space: \verb. (line 17) +* visible space symbol, in text: Text symbols. (line 175) +* wide hat accent, math: Math accents. (line 50) +* wide tile accent, math: Math accents. (line 53) +* XeTeX: Overview. (line 35) +* 'xindy' program: Indexes. (line 23) + + +File: latex2e.info, Node: Command Index, Prev: Concept Index, Up: Top + +Command Index +************* + + +* Menu: + +* $: Math formulas. (line 24) +* .aux file: Overview. (line 45) +* .dvi file: Overview. (line 18) +* .log file: Overview. (line 41) +* .pdf file: Overview. (line 26) +* .toc file: Tables of contents. (line 6) +* 10pt option: Document class options. + (line 14) +* 11pt option: Document class options. + (line 14) +* 12pt option: Document class options. + (line 14) +* @{...}: array. (line 29) +* [...] for optional arguments: Overview. (line 51) +* \ character starting commands: Overview. (line 51) +* \" (umlaut accent): Accents. (line 16) +* \#: Reserved characters. (line 11) +* \$: Reserved characters. (line 11) +* \%: Reserved characters. (line 11) +* \&: Reserved characters. (line 11) +* \' (acute accent): Accents. (line 20) +* \' (tabbing): tabbing. (line 45) +* \(: Math formulas. (line 16) +* \): Math formulas. (line 16) +* \*: Math miscellany. (line 6) +* \+: tabbing. (line 37) +* \,: Spacing in math mode. + (line 17) +* \-: tabbing. (line 41) +* \- (hyphenation): \- (hyphenation). (line 6) +* \. (dot-over accent): Accents. (line 25) +* \/: \/. (line 6) +* \:: Spacing in math mode. + (line 15) +* \;: Spacing in math mode. + (line 12) +* \<: tabbing. (line 33) +* \= (macron accent): Accents. (line 29) +* \= (tabbing): tabbing. (line 27) +* \>: tabbing. (line 31) +* \> <1>: Spacing in math mode. + (line 15) +* \> (tabbing): tabbing. (line 30) +* \@: \AT. (line 6) +* \@fnsymbol: Symbolic footnotes. (line 11) +* \a (tabbing): tabbing. (line 60) +* \a' (acute accent in tabbing): tabbing. (line 61) +* \a= (macron accent in tabbing): tabbing. (line 61) +* \aa (aa): Non-English characters. + (line 11) +* \AA (AA): Non-English characters. + (line 11) +* \acute: Math accents. (line 10) +* \addcontentsline{EXT}{UNIT}{TEXT}: \addcontentsline. (line 6) +* \address: \address. (line 6) +* \addtocontents{EXT}{TEXT}: \addtocontents. (line 6) +* \addtocounter: \addtocounter. (line 6) +* \addtolength: \addtolength. (line 6) +* \addvspace: \addvspace. (line 6) +* \ae (ae): Non-English characters. + (line 15) +* \AE (AE): Non-English characters. + (line 15) +* \aleph: Math symbols. (line 14) +* \alph: \alph \Alph \arabic \roman \Roman \fnsymbol. + (line 9) +* \Alph: \alph \Alph \arabic \roman \Roman \fnsymbol. + (line 12) +* \Alph example: enumerate. (line 39) +* \alpha: Math symbols. (line 17) +* \alsoname: Indexes. (line 20) +* \amalg: Math symbols. (line 20) +* \and for '\author': \maketitle. (line 12) +* \angle: Math symbols. (line 23) +* \appendix: Sectioning. (line 37) +* \approx: Math symbols. (line 26) +* \arabic: \alph \Alph \arabic \roman \Roman \fnsymbol. + (line 15) +* \arccos: Math functions. (line 9) +* \arcsin: Math functions. (line 12) +* \arctan: Math functions. (line 15) +* \arg: Math functions. (line 18) +* \arraycolsep: array. (line 41) +* \arrayrulewidth: tabular. (line 100) +* \arraystretch: tabular. (line 104) +* \ast: Math symbols. (line 29) +* \asymp: Math symbols. (line 32) +* \author{NAME \and NAME2}: \maketitle. (line 11) +* \a` (grave accent in tabbing): tabbing. (line 61) +* \b (bar-under accent): Accents. (line 46) +* \backslash: Math symbols. (line 35) +* \backslash <1>: Reserved characters. (line 16) +* \bar: Math accents. (line 13) +* \baselineskip: Low-level font commands. + (line 46) +* \baselinestretch: Low-level font commands. + (line 52) +* \begin: Environments. (line 6) +* \beta: Math symbols. (line 38) +* \bf: Font styles. (line 73) +* \bfseries: Font styles. (line 33) +* \bibitem: \bibitem. (line 6) +* \bibliography: Using BibTeX. (line 6) +* \bibliographystyle: Using BibTeX. (line 6) +* \bigcap: Math symbols. (line 41) +* \bigcap <1>: Math symbols. (line 71) +* \bigcirc: Math symbols. (line 44) +* \bigcup: Math symbols. (line 47) +* \bigodot: Math symbols. (line 50) +* \bigoplus: Math symbols. (line 53) +* \bigotimes: Math symbols. (line 56) +* \bigskip: \bigskip \medskip \smallskip. + (line 9) +* \bigskipamount: \bigskip \medskip \smallskip. + (line 9) +* \bigsqcup: Math symbols. (line 65) +* \bigtriangledown: Math symbols. (line 59) +* \bigtriangleup: Math symbols. (line 62) +* \biguplus: Math symbols. (line 68) +* \bigwedge: Math symbols. (line 74) +* \bmod: Math functions. (line 21) +* \boldmath: Math formulas. (line 29) +* \bot: Math symbols. (line 77) +* \bottomfraction: figure. (line 67) +* \bottomnumber: figure. (line 100) +* \bowtie: Math symbols. (line 80) +* \Box: Math symbols. (line 83) +* \breve: Math accents. (line 16) +* \bullet: Math symbols. (line 86) +* \c (cedilla accent): Accents. (line 50) +* \cal: Font styles. (line 76) +* \cap: Math symbols. (line 89) +* \capitalacute: Accents. (line 20) +* \capitalbreve: Accents. (line 85) +* \capitalcaron: Accents. (line 95) +* \capitalcedilla: Accents. (line 50) +* \capitalcircumflex: Accents. (line 33) +* \capitaldieresis: Accents. (line 16) +* \capitaldotaccent: Accents. (line 54) +* \capitalgrave: Accents. (line 37) +* \capitalhungarumlaut: Accents. (line 58) +* \capitalmacron: Accents. (line 29) +* \capitalnewtie: Accents. (line 80) +* \capitalogonek: Accents. (line 69) +* \capitalring: Accents. (line 74) +* \capitaltie: Accents. (line 80) +* \capitaltilde: Accents. (line 43) +* \caption: figure. (line 60) +* \cc: \cc. (line 6) +* \cdot: Math symbols. (line 92) +* \cdots: Math miscellany. (line 10) +* \centering: \centering. (line 6) +* \chapter: Sectioning. (line 9) +* \check: Math accents. (line 19) +* \chi: Math symbols. (line 95) +* \circ: Math symbols. (line 98) +* \circle: \circle. (line 6) +* \cite: \cite. (line 6) +* \cleardoublepage: \cleardoublepage. (line 6) +* \clearpage: \clearpage. (line 6) +* \cline: \cline. (line 6) +* \closing: \closing. (line 6) +* \clubsuit: Math symbols. (line 101) +* \columnsep: \twocolumn. (line 16) +* \columnseprule: \twocolumn. (line 19) +* \columnwidth: \twocolumn. (line 23) +* \cong: Math symbols. (line 104) +* \contentsline: \addcontentsline. (line 29) +* \coprod: Math symbols. (line 107) +* \copyright: Text symbols. (line 10) +* \cos: Math functions. (line 24) +* \cosh: Math functions. (line 27) +* \cot: Math functions. (line 30) +* \coth: Math functions. (line 33) +* \csc: Math functions. (line 36) +* \cup: Math symbols. (line 110) +* \d (dot-under accent): Accents. (line 54) +* \dag: Text symbols. (line 14) +* \dagger: Math symbols. (line 113) +* \dashbox: \dashbox. (line 6) +* \dashv: Math symbols. (line 116) +* \date{TEXT}: \maketitle. (line 17) +* \day: \day \month \year. (line 6) +* \dblfloatpagefraction: \twocolumn. (line 34) +* \dblfloatsep: \twocolumn. (line 38) +* \dbltextfloatsep: \twocolumn. (line 43) +* \dbltopfraction: \twocolumn. (line 29) +* \ddag: Text symbols. (line 17) +* \ddagger: Math symbols. (line 119) +* \ddot: Math accents. (line 22) +* \ddots: Math miscellany. (line 14) +* \deg: Math functions. (line 39) +* \Delta: Math symbols. (line 122) +* \delta: Math symbols. (line 125) +* \depth: Predefined lengths. (line 10) +* \det: Math functions. (line 42) +* \dh (ae): Non-English characters. + (line 19) +* \DH (AE): Non-English characters. + (line 19) +* \Diamond: Math symbols. (line 128) +* \diamond: Math symbols. (line 131) +* \diamondsuit: Math symbols. (line 134) +* \dim: Math functions. (line 45) +* \displaystyle: Math formulas. (line 34) +* \div: Math symbols. (line 137) +* \dj: Non-English characters. + (line 23) +* \DJ: Non-English characters. + (line 23) +* \documentclass: Document classes. (line 6) +* \dot: Math accents. (line 25) +* \doteq: Math symbols. (line 140) +* \dotfill: \dotfill. (line 6) +* \dots: Text symbols. (line 31) +* \doublerulesep: tabular. (line 108) +* \downarrow: Math symbols. (line 143) +* \Downarrow: Math symbols. (line 146) +* \ell: Math symbols. (line 149) +* \em: Font styles. (line 79) +* \emph: Font styles. (line 27) +* \emptyset: Math symbols. (line 152) +* \encl: \encl. (line 6) +* \end: Environments. (line 6) +* \enlargethispage: \enlargethispage. (line 6) +* \enumi: enumerate. (line 29) +* \enumii: enumerate. (line 29) +* \enumiii: enumerate. (line 29) +* \enumiv: enumerate. (line 29) +* \epsilon: Math symbols. (line 155) +* \equiv: Math symbols. (line 158) +* \eta: Math symbols. (line 161) +* \evensidemargin: Document class options. + (line 50) +* \exists: Math symbols. (line 164) +* \exp: Math functions. (line 48) +* \extracolsep: tabular. (line 71) +* \fbox: \fbox and \framebox. (line 6) +* \fboxrule: \framebox (picture). (line 14) +* \fboxrule <1>: \fbox and \framebox. (line 18) +* \fboxsep: \framebox (picture). (line 14) +* \fboxsep <1>: \fbox and \framebox. (line 18) +* \fill: \hfill. (line 9) +* \flat: Math symbols. (line 167) +* \floatpagefraction: figure. (line 70) +* \floatsep: figure. (line 85) +* \flushbottom: \flushbottom. (line 6) +* \fnsymbol: \alph \Alph \arabic \roman \Roman \fnsymbol. + (line 24) +* \fnsymbol, and footnotes: Symbolic footnotes. (line 11) +* \fontencoding: Low-level font commands. + (line 11) +* \fontfamily: Low-level font commands. + (line 14) +* \fontseries: Low-level font commands. + (line 23) +* \fontshape: Low-level font commands. + (line 34) +* \fontsize: Low-level font commands. + (line 46) +* \footnote: \footnote. (line 6) +* \footnotemark: \footnotemark. (line 6) +* \footnoterule: Footnote parameters. (line 6) +* \footnotesep: Footnote parameters. (line 12) +* \footnotesize: Font sizes. (line 11) +* \footnotetext: \footnotetext. (line 6) +* \footskip: Page layout parameters. + (line 16) +* \forall: Math symbols. (line 170) +* \frac: Math miscellany. (line 18) +* \frac{num}{den}: Math miscellany. (line 17) +* \frame: \frame. (line 6) +* \framebox: \framebox (picture). (line 6) +* \framebox <1>: \fbox and \framebox. (line 6) +* \frown: Math symbols. (line 173) +* \fussy: \fussy. (line 6) +* \Gamma: Math symbols. (line 176) +* \gamma: Math symbols. (line 179) +* \gcd: Math functions. (line 51) +* \ge: Math symbols. (line 182) +* \geq: Math symbols. (line 185) +* \gets: Math symbols. (line 188) +* \gg: Math symbols. (line 191) +* \glossary: Glossaries. (line 8) +* \glossaryentry: Glossaries. (line 11) +* \grave: Math accents. (line 28) +* \guillemotleft (<<): Text symbols. (line 23) +* \guillemotright (>>): Text symbols. (line 24) +* \guilsinglleft (<): Text symbols. (line 25) +* \guilsinglright (>): Text symbols. (line 26) +* \H (Hungarian umlaut accent): Accents. (line 58) +* \hat: Math accents. (line 31) +* \hbar: Math symbols. (line 194) +* \headheight: Page layout parameters. + (line 6) +* \headsep: Page layout parameters. + (line 11) +* \heartsuit: Math symbols. (line 197) +* \height: Predefined lengths. (line 8) +* \hfill: \hfill. (line 6) +* \hline: \hline. (line 6) +* \hom: Math functions. (line 54) +* \hookleftarrow: Math symbols. (line 200) +* \hookrightarrow: Math symbols. (line 203) +* \hrulefill: \hrulefill. (line 6) +* \hsize: Page layout parameters. + (line 56) +* \hspace: \hspace. (line 6) +* \huge: Font sizes. (line 11) +* \Huge: Font sizes. (line 11) +* \hyphenation: \hyphenation. (line 6) +* \i (dotless i): Accents. (line 62) +* \iff: Math symbols. (line 206) +* \ij (ij): Non-English characters. + (line 27) +* \IJ (IJ): Non-English characters. + (line 27) +* \Im: Math symbols. (line 209) +* \imath: Math accents. (line 34) +* \in: Math symbols. (line 212) +* \include: \include. (line 6) +* \includeonly: \includeonly. (line 6) +* \indent: \indent. (line 6) +* \index: Indexes. (line 9) +* \indexentry: Indexes. (line 12) +* \inf: Math functions. (line 57) +* \infty: Math symbols. (line 215) +* \input: \input. (line 6) +* \int: Math symbols. (line 218) +* \intextsep: figure. (line 89) +* \iota: Math symbols. (line 221) +* \it: Font styles. (line 82) +* \item: description. (line 14) +* \item <1>: enumerate. (line 19) +* \item <2>: itemize. (line 6) +* \itemindent: itemize. (line 49) +* \itemsep: itemize. (line 71) +* \itshape: Font styles. (line 24) +* \j (dotless j): Accents. (line 65) +* \jmath: Math accents. (line 37) +* \Join: Math symbols. (line 224) +* \k (ogonek): Accents. (line 69) +* \kappa: Math symbols. (line 227) +* \ker: Math functions. (line 60) +* \kill: tabbing. (line 65) +* \l (/l): Non-English characters. + (line 31) +* \L (/L): Non-English characters. + (line 31) +* \label: \label. (line 6) +* \labelenumi: enumerate. (line 33) +* \labelenumii: enumerate. (line 33) +* \labelenumiii: enumerate. (line 33) +* \labelenumiv: enumerate. (line 33) +* \labelitemi: itemize. (line 29) +* \labelitemii: itemize. (line 29) +* \labelitemiii: itemize. (line 29) +* \labelitemiv: itemize. (line 29) +* \labelsep: itemize. (line 52) +* \labelwidth: itemize. (line 55) +* \Lambda: Math symbols. (line 230) +* \lambda: Math symbols. (line 233) +* \land: Math symbols. (line 236) +* \langle: Math symbols. (line 239) +* \large: Font sizes. (line 11) +* \Large: Font sizes. (line 11) +* \LARGE: Font sizes. (line 11) +* \LaTeX: Text symbols. (line 20) +* \lbrace: Math symbols. (line 242) +* \lbrack: Math symbols. (line 245) +* \lceil: Math symbols. (line 248) +* \ldots: Text symbols. (line 30) +* \le: Math symbols. (line 251) +* \leadsto: Math symbols. (line 254) +* \left DELIM1 ... \right DELIM2: Math miscellany. (line 20) +* \Leftarrow: Math symbols. (line 256) +* \leftarrow: Math symbols. (line 259) +* \lefteqn: eqnarray. (line 34) +* \leftharpoondown: Math symbols. (line 262) +* \leftharpoonup: Math symbols. (line 265) +* \leftmargin: itemize. (line 36) +* \leftmargini: itemize. (line 36) +* \leftmarginii: itemize. (line 36) +* \leftmarginiii: itemize. (line 36) +* \leftmarginiv: itemize. (line 36) +* \leftmarginv: itemize. (line 36) +* \leftmarginvi: itemize. (line 36) +* \Leftrightarrow: Math symbols. (line 268) +* \leftrightarrow: Math symbols. (line 271) +* \leq: Math symbols. (line 274) +* \lfloor: Math symbols. (line 277) +* \lg: Math functions. (line 63) +* \lhd: Math symbols. (line 280) +* \lim: Math functions. (line 66) +* \liminf: Math functions. (line 69) +* \limsup: Math functions. (line 72) +* \line: \line. (line 6) +* \linebreak: \linebreak & \nolinebreak. + (line 6) +* \linespread: Low-level font commands. + (line 59) +* \linethickness: \linethickness. (line 6) +* \linewidth: Page layout parameters. + (line 21) +* \listoffigures: Tables of contents. (line 16) +* \listoftables: Tables of contents. (line 16) +* \listparindent: itemize. (line 58) +* \ll: Math symbols. (line 283) +* \ln: Math functions. (line 75) +* \lnot: Math symbols. (line 286) +* \location: \location. (line 6) +* \log: Math functions. (line 78) +* \longleftarrow: Math symbols. (line 289) +* \longleftrightarrow: Math symbols. (line 292) +* \longmapsto: Math symbols. (line 295) +* \longrightarrow: Math symbols. (line 298) +* \lor: Math symbols. (line 301) +* \lq: Text symbols. (line 36) +* \makebox: \makebox. (line 6) +* \makebox (picture): \makebox (picture). (line 6) +* \makeglossary: Glossaries. (line 6) +* \makeindex: Indexes. (line 6) +* \makelabels: \makelabels. (line 6) +* \maketitle: \maketitle. (line 6) +* \mapsto: Math symbols. (line 304) +* \marginpar: Marginal notes. (line 6) +* \marginparpush: Marginal notes. (line 33) +* \marginparsep: Marginal notes. (line 37) +* \marginparwidth: Marginal notes. (line 41) +* \markboth{LEFT}{RIGHT}: \pagestyle. (line 29) +* \markright{RIGHT}: \pagestyle. (line 36) +* \mathbf: Font styles. (line 49) +* \mathcal: Font styles. (line 62) +* \mathnormal: Font styles. (line 60) +* \mathring: Math accents. (line 40) +* \mathrm: Font styles. (line 47) +* \mathsf: Font styles. (line 51) +* \mathtt: Font styles. (line 53) +* \mathversion: Font styles. (line 64) +* \max: Math functions. (line 81) +* \mbox: \mbox. (line 6) +* \mdseries: Font styles. (line 30) +* \medskip: \bigskip \medskip \smallskip. + (line 13) +* \medskipamount: \bigskip \medskip \smallskip. + (line 13) +* \mho: Math symbols. (line 307) +* \mid: Math symbols. (line 309) +* \min: Math functions. (line 84) +* \models: Math symbols. (line 312) +* \month: \day \month \year. (line 6) +* \mp: Math symbols. (line 315) +* \mu: Math symbols. (line 318) +* \multicolumn: \multicolumn. (line 6) +* \multiput: \multiput. (line 6) +* \nabla: Math symbols. (line 321) +* \name: \name. (line 6) +* \natural: Math symbols. (line 324) +* \ne: Math symbols. (line 327) +* \nearrow: Math symbols. (line 330) +* \neg: Math symbols. (line 333) +* \neq: Math symbols. (line 336) +* \newcommand: \newcommand & \renewcommand. + (line 6) +* \newcounter: \newcounter. (line 6) +* \newenvironment: \newenvironment & \renewenvironment. + (line 6) +* \newfont: \newfont. (line 6) +* \newlength: \newlength. (line 6) +* \newline: \newline. (line 6) +* \NEWLINE: \SPACE. (line 6) +* \newpage: \newpage. (line 6) +* \newsavebox: \newsavebox. (line 6) +* \newtheorem: \newtheorem. (line 6) +* \newtie: Accents. (line 80) +* \ng: Non-English characters. + (line 35) +* \NG: Non-English characters. + (line 35) +* \ni: Math symbols. (line 339) +* \nocite: \nocite. (line 6) +* \nofiles: Tables of contents. (line 20) +* \noindent: \noindent. (line 6) +* \nolinebreak: \linebreak & \nolinebreak. + (line 6) +* \nonumber: eqnarray. (line 29) +* \nopagebreak: \pagebreak & \nopagebreak. + (line 6) +* \normalfont: Font styles. (line 45) +* \normalmarginpar: Marginal notes. (line 21) +* \normalsize: Font sizes. (line 11) +* \not: Math symbols. (line 342) +* \notin: Math symbols. (line 345) +* \nu: Math symbols. (line 348) +* \nwarrow: Math symbols. (line 351) +* \o (/o): Non-English characters. + (line 39) +* \O (/O): Non-English characters. + (line 39) +* \obeycr: \obeycr & \restorecr. + (line 6) +* \oddsidemargin: Document class options. + (line 50) +* \odot: Math symbols. (line 354) +* \oe (oe): Non-English characters. + (line 43) +* \OE (OE): Non-English characters. + (line 43) +* \oint: Math symbols. (line 357) +* \Omega: Math symbols. (line 360) +* \omega: Math symbols. (line 363) +* \ominus: Math symbols. (line 366) +* \onecolumn: \onecolumn. (line 6) +* \opening: \opening. (line 6) +* \oplus: Math symbols. (line 369) +* \oslash: Math symbols. (line 372) +* \otimes: Math symbols. (line 375) +* \oval: \oval. (line 6) +* \overbrace{TEXT}: Math miscellany. (line 25) +* \overline{TEXT}: Math miscellany. (line 29) +* \owns: Math symbols. (line 378) +* \P: Text symbols. (line 39) +* \pagebreak: \pagebreak & \nopagebreak. + (line 6) +* \pagenumbering: \pagenumbering. (line 6) +* \pageref: \pageref. (line 6) +* \pagestyle: \pagestyle. (line 6) +* \paragraph: Sectioning. (line 14) +* \parallel: Math symbols. (line 381) +* \parbox: \parbox. (line 6) +* \parindent: minipage. (line 17) +* \parindent <1>: \indent. (line 6) +* \parsep: itemize. (line 76) +* \parskip: \parskip. (line 6) +* \parskip example: itemize. (line 92) +* \part: Sectioning. (line 8) +* \partial: Math symbols. (line 384) +* \partopsep: itemize. (line 86) +* \perp: Math symbols. (line 387) +* \phi: Math symbols. (line 390) +* \Pi: Math symbols. (line 393) +* \pi: Math symbols. (line 396) +* \pm: Math symbols. (line 399) +* \pmod: Math functions. (line 87) +* \poptabs: tabbing. (line 71) +* \poptabs <1>: tabbing. (line 72) +* \pounds: Text symbols. (line 43) +* \Pr: Math functions. (line 90) +* \prec: Math symbols. (line 402) +* \preceq: Math symbols. (line 405) +* \prime: Math symbols. (line 408) +* \prod: Math symbols. (line 411) +* \propto: Math symbols. (line 414) +* \protect: \protect. (line 6) +* \ps: \ps. (line 6) +* \Psi: Math symbols. (line 417) +* \psi: Math symbols. (line 420) +* \pushtabs: tabbing. (line 74) +* \put: \put. (line 6) +* \quotedblbase (,,): Text symbols. (line 47) +* \quotesinglbase (,): Text symbols. (line 48) +* \r (ring accent): Accents. (line 74) +* \raggedbottom: \raggedbottom. (line 6) +* \raggedleft: \raggedleft. (line 6) +* \raggedright: \raggedright. (line 6) +* \raisebox: \raisebox. (line 6) +* \rangle: Math symbols. (line 423) +* \rbrace: Math symbols. (line 426) +* \rbrack: Math symbols. (line 429) +* \rceil: Math symbols. (line 432) +* \Re: Math symbols. (line 435) +* \ref: \ref. (line 6) +* \refstepcounter: \refstepcounter. (line 6) +* \renewenvironment: \newenvironment & \renewenvironment. + (line 6) +* \restorecr: \obeycr & \restorecr. + (line 6) +* \reversemarginpar: Marginal notes. (line 21) +* \rfloor: Math symbols. (line 438) +* \rhd: Math symbols. (line 441) +* \rho: Math symbols. (line 444) +* \right: Math miscellany. (line 21) +* \Rightarrow: Math symbols. (line 447) +* \rightarrow: Math symbols. (line 450) +* \rightharpoondown: Math symbols. (line 453) +* \rightharpoonup: Math symbols. (line 456) +* \rightleftharpoons: Math symbols. (line 459) +* \rightmargin: itemize. (line 62) +* \rm: Font styles. (line 85) +* \rmfamily: Font styles. (line 21) +* \roman: \alph \Alph \arabic \roman \Roman \fnsymbol. + (line 18) +* \roman <1>: \alph \Alph \arabic \roman \Roman \fnsymbol. + (line 21) +* \rq: Text symbols. (line 51) +* \rule: \rule. (line 6) +* \S: Text symbols. (line 54) +* \savebox: \savebox. (line 6) +* \sbox: \sbox. (line 6) +* \sc: Font styles. (line 88) +* \scriptsize: Font sizes. (line 11) +* \scshape: Font styles. (line 41) +* \searrow: Math symbols. (line 462) +* \sec: Math functions. (line 93) +* \section: Sectioning. (line 11) +* \seename: Indexes. (line 20) +* \selectfont: Low-level font commands. + (line 65) +* \setcounter: \setcounter. (line 6) +* \setlength: \setlength. (line 6) +* \setminus: Math symbols. (line 465) +* \settodepth: \settodepth. (line 6) +* \settoheight: \settoheight. (line 6) +* \settowidth: \settowidth. (line 6) +* \sf: Font styles. (line 91) +* \sffamily: Font styles. (line 39) +* \sharp: Math symbols. (line 468) +* \shortstack: \shortstack. (line 6) +* \Sigma: Math symbols. (line 471) +* \sigma: Math symbols. (line 474) +* \signature: \signature. (line 6) +* \sim: Math symbols. (line 477) +* \simeq: Math symbols. (line 480) +* \sin: Math functions. (line 96) +* \sinh: Math functions. (line 99) +* \sl: Font styles. (line 94) +* \slshape: Font styles. (line 37) +* \small: Font sizes. (line 11) +* \smallint: Math symbols. (line 483) +* \smallskip: \bigskip \medskip \smallskip. + (line 17) +* \smallskipamount: \bigskip \medskip \smallskip. + (line 17) +* \smile: Math symbols. (line 486) +* \SPACE: \SPACE. (line 6) +* \spadesuit: Math symbols. (line 489) +* \sqcap: Math symbols. (line 492) +* \sqcup: Math symbols. (line 495) +* \sqrt[ROOT]{arg}: Math miscellany. (line 32) +* \sqsubset: Math symbols. (line 498) +* \sqsubseteq: Math symbols. (line 501) +* \sqsupset: Math symbols. (line 504) +* \sqsupseteq: Math symbols. (line 507) +* \ss (ss): Non-English characters. + (line 47) +* \SS (SS): Non-English characters. + (line 47) +* \stackrel{TEXT}{RELATION}: Math miscellany. (line 38) +* \star: Math symbols. (line 510) +* \startbreaks: \startbreaks. (line 6) +* \stepcounter: \stepcounter. (line 6) +* \stop: Command line. (line 15) +* \stopbreaks: \stopbreaks. (line 6) +* \subparagraph: Sectioning. (line 15) +* \subsection: Sectioning. (line 12) +* \subset: Math symbols. (line 513) +* \subseteq: Math symbols. (line 516) +* \subsubsection: Sectioning. (line 13) +* \succ: Math symbols. (line 519) +* \succeq: Math symbols. (line 522) +* \sum: Math symbols. (line 525) +* \sup: Math functions. (line 102) +* \supset: Math symbols. (line 528) +* \supseteq: Math symbols. (line 531) +* \surd: Math symbols. (line 534) +* \swarrow: Math symbols. (line 537) +* \symbol: Reserved characters. (line 25) +* \t (tie-after accent): Accents. (line 80) +* \TAB: \SPACE. (line 6) +* \tabbingsep: tabbing. (line 79) +* \tabcolsep: tabular. (line 112) +* \tableofcontents: Tables of contents. (line 6) +* \tan: Math functions. (line 105) +* \tanh: Math functions. (line 108) +* \tau: Math symbols. (line 540) +* \telephone: \telephone. (line 6) +* \TeX: Text symbols. (line 57) +* \textascenderwordmark: Text symbols. (line 95) +* \textasciicircum: Text symbols. (line 60) +* \textasciitilde: Text symbols. (line 63) +* \textasteriskcentered: Text symbols. (line 66) +* \textbackslash: Text symbols. (line 69) +* \textbar: Text symbols. (line 72) +* \textbardbl: Text symbols. (line 75) +* \textbf: Font styles. (line 33) +* \textbigcircle: Text symbols. (line 78) +* \textbraceleft: Text symbols. (line 81) +* \textbraceright: Text symbols. (line 84) +* \textbullet: Text symbols. (line 87) +* \textcapitalwordmark: Text symbols. (line 94) +* \textcircled{LETTER}: Text symbols. (line 90) +* \textcompwordmark: Text symbols. (line 93) +* \textcopyright: Text symbols. (line 11) +* \textdagger: Text symbols. (line 100) +* \textdaggerdbl: Text symbols. (line 103) +* \textdollar (or '$'): Text symbols. (line 106) +* \textellipsis: Text symbols. (line 32) +* \textemdash (or '---'): Text symbols. (line 109) +* \textendash (or '--'): Text symbols. (line 112) +* \texteuro: Text symbols. (line 115) +* \textexclamdown (or '!`'): Text symbols. (line 118) +* \textfloatsep: figure. (line 94) +* \textfraction: figure. (line 74) +* \textgreater: Text symbols. (line 121) +* \textheight: Page layout parameters. + (line 29) +* \textit: Font styles. (line 24) +* \textleftarrow: Text symbols. (line 127) +* \textless: Text symbols. (line 124) +* \textmd: Font styles. (line 30) +* \textnormal: Font styles. (line 45) +* \textordfeminine: Text symbols. (line 130) +* \textordmasculine: Text symbols. (line 131) +* \textparagraph: Text symbols. (line 40) +* \textperiodcentered: Text symbols. (line 134) +* \textquestiondown (or '?`'): Text symbols. (line 137) +* \textquotedblleft (or '``'): Text symbols. (line 140) +* \textquotedblright (or '''): Text symbols. (line 143) +* \textquoteleft (or '`'): Text symbols. (line 146) +* \textquoteright (or '''): Text symbols. (line 149) +* \textquotestraightbase: Text symbols. (line 152) +* \textquotestraightdblbase: Text symbols. (line 153) +* \textregistered: Text symbols. (line 156) +* \textrightarrow: Text symbols. (line 159) +* \textrm: Font styles. (line 21) +* \textsc: Font styles. (line 41) +* \textsf: Font styles. (line 39) +* \textsl: Font styles. (line 37) +* \textsterling: Text symbols. (line 44) +* \textthreequartersemdash: Text symbols. (line 162) +* \texttrademark: Text symbols. (line 165) +* \texttt: Font styles. (line 43) +* \texttwelveudash: Text symbols. (line 168) +* \textunderscore: Text symbols. (line 171) +* \textup: Font styles. (line 35) +* \textvisiblespace: Text symbols. (line 174) +* \textwidth: Page layout parameters. + (line 36) +* \th (th): Non-English characters. + (line 51) +* \TH (TH): Non-English characters. + (line 51) +* \thanks{TEXT}: \maketitle. (line 21) +* \theta: Math symbols. (line 543) +* \thicklines: \thicklines. (line 6) +* \thinlines: \thinlines. (line 6) +* \thinspace: \thinspace. (line 6) +* \thispagestyle: \thispagestyle. (line 6) +* \tilde: Math accents. (line 43) +* \times: Math symbols. (line 546) +* \tiny: Font sizes. (line 11) +* \title{TEXT}: \maketitle. (line 25) +* \to: Math symbols. (line 549) +* \today: \today. (line 6) +* \top: Math symbols. (line 552) +* \topfraction: figure. (line 79) +* \topmargin: Page layout parameters. + (line 60) +* \topnumber: figure. (line 104) +* \topsep: itemize. (line 80) +* \topskip: Page layout parameters. + (line 67) +* \totalheight: Predefined lengths. (line 12) +* \totalnumber: figure. (line 108) +* \triangle: Math symbols. (line 555) +* \triangleleft: Math symbols. (line 558) +* \triangleright: Math symbols. (line 561) +* \tt: Font styles. (line 97) +* \ttfamily: Font styles. (line 43) +* \twocolumn: \twocolumn. (line 6) +* \typein: \typein. (line 6) +* \typeout: \typeout. (line 6) +* \u (breve accent): Accents. (line 85) +* \unboldmath: Math formulas. (line 29) +* \underbar: Accents. (line 88) +* \underbrace{math}: Math miscellany. (line 42) +* \underline{text}: Math miscellany. (line 45) +* \unitlength: picture. (line 10) +* \unlhd: Math symbols. (line 564) +* \unrhd: Math symbols. (line 567) +* \Uparrow: Math symbols. (line 570) +* \uparrow: Math symbols. (line 573) +* \Updownarrow: Math symbols. (line 576) +* \updownarrow: Math symbols. (line 579) +* \uplus: Math symbols. (line 582) +* \upshape: Font styles. (line 35) +* \Upsilon: Math symbols. (line 585) +* \upsilon: Math symbols. (line 588) +* \usebox: \usebox. (line 6) +* \usecounter: \usecounter. (line 6) +* \usefont: Low-level font commands. + (line 69) +* \usepackage: Document class options. + (line 69) +* \v (breve accent): Accents. (line 95) +* \value: \value. (line 6) +* \varepsilon: Math symbols. (line 591) +* \varphi: Math symbols. (line 594) +* \varpi: Math symbols. (line 597) +* \varrho: Math symbols. (line 600) +* \varsigma: Math symbols. (line 603) +* \vartheta: Math symbols. (line 606) +* \vdash: Math symbols. (line 609) +* \vdots: Math miscellany. (line 50) +* \vdots <1>: Math miscellany. (line 51) +* \vec: Math accents. (line 46) +* \vector: \vector. (line 6) +* \vee: Math symbols. (line 612) +* \verb: \verb. (line 6) +* \Vert: Math symbols. (line 615) +* \vert: Math symbols. (line 618) +* \vfill: \vfill. (line 6) +* \vline: \vline. (line 6) +* \vspace: \vspace. (line 6) +* \wedge: Math symbols. (line 621) +* \widehat: Math accents. (line 49) +* \widehat <1>: Math accents. (line 52) +* \width: Predefined lengths. (line 6) +* \wp: Math symbols. (line 624) +* \wr: Math symbols. (line 627) +* \Xi: Math symbols. (line 630) +* \xi: Math symbols. (line 633) +* \year: \day \month \year. (line 6) +* \zeta: Math symbols. (line 636) +* \[: Math formulas. (line 16) +* \\ (for 'array'): array. (line 26) +* \\ (for 'center'): center. (line 13) +* \\ (for 'eqnarray'): eqnarray. (line 21) +* \\ (for 'flushright'): flushright. (line 12) +* \\ (for '\shortstack' objects): \shortstack. (line 20) +* \\ (tabbing): tabbing. (line 24) +* \\ for 'flushleft': flushleft. (line 12) +* \\ for letters: Letters. (line 32) +* \\ for 'tabular': tabular. (line 23) +* \\ for 'verse': verse. (line 17) +* \\ for '\author': \maketitle. (line 12) +* \\ for '\title': \maketitle. (line 26) +* \\ force line break: \\. (line 6) +* \\* (for 'eqnarray'): eqnarray. (line 26) +* \]: Math formulas. (line 16) +* \^: Reserved characters. (line 21) +* \^ (circumflex accent): Accents. (line 33) +* \_: Reserved characters. (line 11) +* \` (grave accent): Accents. (line 37) +* \` (tabbing): tabbing. (line 51) +* \{: Reserved characters. (line 11) +* \|: Math symbols. (line 11) +* \}: Reserved characters. (line 11) +* \~: Reserved characters. (line 21) +* \~ (tilde accent): Accents. (line 43) +* ^: Subscripts & superscripts. + (line 6) +* _: Subscripts & superscripts. + (line 6) +* {...} for required arguments: Overview. (line 51) +* a4paper option: Document class options. + (line 19) +* a5paper option: Document class options. + (line 19) +* abstract environment: abstract. (line 6) +* array environment: array. (line 6) +* article class: Document classes. (line 13) +* b5paper option: Document class options. + (line 19) +* book class: Document classes. (line 13) +* center environment: center. (line 6) +* description environment: description. (line 6) +* displaymath environment: displaymath. (line 6) +* displaymath environment <1>: Math formulas. (line 6) +* document environment: document. (line 6) +* draft option: Document class options. + (line 24) +* enumerate environment: enumerate. (line 6) +* eqnarray environment: eqnarray. (line 6) +* equation environment: equation. (line 6) +* equation environment <1>: Math formulas. (line 6) +* executivepaper option: Document class options. + (line 19) +* figure: figure. (line 6) +* final option: Document class options. + (line 24) +* fleqn option: Document class options. + (line 24) +* flushleft environment: flushleft. (line 6) +* flushright environment: flushright. (line 6) +* indexspace: Indexes. (line 32) +* itemize environment: itemize. (line 6) +* landscape option: Document class options. + (line 24) +* latex command: Overview. (line 18) +* <latexrefman-discuss@gna.org> email address: About this document. + (line 13) +* legalpaper option: Document class options. + (line 19) +* leqno option: Document class options. + (line 24) +* letter: letter. (line 6) +* letter class: Document classes. (line 13) +* letterpaper option: Document class options. + (line 19) +* list: list. (line 6) +* lR box: picture. (line 64) +* lrbox: lrbox. (line 6) +* lualatex command: Overview. (line 32) +* math environment: math. (line 6) +* math environment <1>: Math formulas. (line 6) +* minipage environment: minipage. (line 6) +* notitlepage option: Document class options. + (line 24) +* onecolumn option: Document class options. + (line 44) +* oneside option: Document class options. + (line 44) +* openany option: Document class options. + (line 44) +* openbib option: Document class options. + (line 24) +* openright option: Document class options. + (line 44) +* pdflatex command: Overview. (line 26) +* picture: picture. (line 6) +* printindex: Indexes. (line 28) +* quotation: quotation. (line 6) +* quote: quote. (line 6) +* report class: Document classes. (line 13) +* secnumdepth counter: Sectioning. (line 47) +* slides class: Document classes. (line 13) +* tabbing environment: tabbing. (line 6) +* table: table. (line 6) +* tabular environment: tabular. (line 6) +* textcomp package: Text symbols. (line 6) +* thebibliography: thebibliography. (line 6) +* theorem environment: theorem. (line 6) +* titlepage environment: titlepage. (line 6) +* titlepage option: Document class options. + (line 24) +* twocolumn option: Document class options. + (line 44) +* twoside option: Document class options. + (line 44) +* verbatim environment: verbatim. (line 6) +* verse environment: verse. (line 6) +* xelatex command: Overview. (line 35) + + + +Tag Table: +Node: Top1688 +Node: About this document3542 +Node: Overview4822 +Node: Starting & ending7194 +Node: Document classes7756 +Node: Document class options8332 +Node: Typefaces10920 +Node: Font styles11362 +Node: Font sizes13773 +Node: Low-level font commands15008 +Node: Layout17462 +Node: \onecolumn17931 +Node: \twocolumn18144 +Node: \flushbottom19648 +Node: \raggedbottom20010 +Node: Page layout parameters20296 +Node: Sectioning23327 +Node: Cross references24868 +Node: \label25299 +Node: \pageref26161 +Node: \ref26460 +Node: Environments26850 +Node: abstract28306 +Node: array28547 +Node: center29876 +Node: \centering30353 +Node: description31193 +Node: displaymath32007 +Node: document32575 +Node: enumerate32832 +Node: eqnarray34121 +Node: equation35511 +Node: figure35884 +Node: flushleft39705 +Node: \raggedright40190 +Node: flushright40749 +Node: \raggedleft41237 +Node: itemize41794 +Node: letter45425 +Node: list45663 +Node: math46600 +Node: minipage46902 +Node: picture48094 +Node: \circle52093 +Node: \makebox (picture)52426 +Node: \framebox (picture)53121 +Node: \dashbox53611 +Node: \frame54140 +Node: \line54466 +Node: \linethickness54935 +Node: \thicklines55356 +Node: \thinlines55666 +Node: \multiput55968 +Node: \oval56334 +Node: \put56948 +Node: \shortstack57195 +Node: \vector57669 +Node: quotation57975 +Node: quote58431 +Node: tabbing58863 +Node: table62029 +Node: tabular62919 +Node: \multicolumn67008 +Node: \cline67805 +Node: \hline68125 +Node: \vline68439 +Node: thebibliography68752 +Node: \bibitem69894 +Node: \cite70625 +Node: \nocite71124 +Node: Using BibTeX71408 +Node: theorem72900 +Node: titlepage73286 +Node: verbatim73888 +Node: \verb74515 +Node: verse75065 +Node: Line breaking75559 +Node: \\76617 +Node: \obeycr & \restorecr77087 +Node: \newline77491 +Node: \- (hyphenation)77781 +Node: \fussy78391 +Node: \sloppy78784 +Node: \hyphenation79113 +Node: \linebreak & \nolinebreak79740 +Node: Page breaking80394 +Node: \cleardoublepage81002 +Node: \clearpage81409 +Node: \newpage81685 +Node: \enlargethispage81920 +Node: \pagebreak & \nopagebreak82447 +Node: Footnotes83141 +Node: \footnote83759 +Node: \footnotemark84277 +Node: \footnotetext84843 +Node: Symbolic footnotes85328 +Node: Footnote parameters85885 +Node: Definitions86620 +Node: \newcommand & \renewcommand87335 +Node: \newcounter88549 +Node: \newlength89017 +Node: \newsavebox89529 +Node: \newenvironment & \renewenvironment89836 +Node: \newtheorem91102 +Node: \newfont92068 +Node: \protect92548 +Node: Counters93411 +Node: \alph \Alph \arabic \roman \Roman \fnsymbol94655 +Node: \usecounter95699 +Node: \value96061 +Node: \setcounter96446 +Node: \addtocounter96737 +Node: \refstepcounter97033 +Node: \stepcounter97378 +Node: \day \month \year97629 +Node: Lengths98174 +Node: \setlength98743 +Node: \addtolength99085 +Node: \settodepth99380 +Node: \settoheight99655 +Node: \settowidth99934 +Node: Predefined lengths100198 +Node: Making paragraphs100713 +Node: \indent101285 +Node: \noindent101757 +Node: \parskip102043 +Node: Marginal notes102301 +Node: Math formulas103931 +Node: Subscripts & superscripts105713 +Node: Math symbols106180 +Node: Math functions112993 +Node: Math accents113936 +Node: Spacing in math mode114906 +Node: Math miscellany115537 +Node: Modes117035 +Node: Page styles118866 +Node: \maketitle119360 +Node: \pagenumbering120430 +Node: \pagestyle120843 +Node: \thispagestyle121983 +Node: Spaces122289 +Node: \hspace123348 +Node: \hfill123907 +Node: \SPACE124304 +Node: \AT124770 +Node: \thinspace125227 +Node: \/125486 +Node: \hrulefill126323 +Node: \dotfill126585 +Node: \addvspace126809 +Node: \bigskip \medskip \smallskip127301 +Node: \vfill127979 +Node: \vspace128284 +Node: Boxes128714 +Node: \mbox129433 +Node: \fbox and \framebox129720 +Node: lrbox130523 +Node: \makebox130840 +Node: \parbox131553 +Node: \raisebox132882 +Node: \savebox133479 +Node: \sbox133894 +Node: \usebox134343 +Node: Special insertions134601 +Node: Reserved characters135245 +Node: Text symbols136648 +Node: Accents139955 +Node: Non-English characters142428 +Node: \rule143099 +Node: \today143526 +Node: Splitting the input143971 +Node: \include144612 +Node: \includeonly145199 +Node: \input145691 +Node: Front/back matter146182 +Node: Tables of contents146387 +Node: \addcontentsline147415 +Node: \addtocontents148315 +Node: Glossaries148826 +Node: Indexes149345 +Node: Letters150972 +Node: \address152913 +Node: \cc153518 +Node: \closing153754 +Node: \encl153987 +Node: \location154179 +Node: \makelabels154441 +Node: \name154730 +Node: \opening154952 +Node: \ps155277 +Node: \signature155460 +Node: \startbreaks155743 +Node: \stopbreaks155965 +Node: \telephone156180 +Node: Terminal input/output156412 +Node: \typein156677 +Node: \typeout157258 +Node: Command line157881 +Node: Document templates158576 +Node: book template158980 +Node: beamer template159323 +Node: tugboat template159862 +Node: Concept Index162012 +Node: Command Index198773 + +End Tag Table diff --git a/Master/texmf-dist/doc/info/latex2man.info b/Master/texmf-dist/doc/info/latex2man.info new file mode 100644 index 00000000000..20f024d7e05 --- /dev/null +++ b/Master/texmf-dist/doc/info/latex2man.info @@ -0,0 +1,1055 @@ +This is latex2man.info, produced by makeinfo version 4.13 from +latex2man.texi. + +INFO-DIR-SECTION Man-pages +START-INFO-DIR-ENTRY +* Latex2man: (latex2man). Its Man-Page +END-INFO-DIR-ENTRY + + +File: latex2man.info, Node: Top, Next: Description, Prev: (dir), Up: (dir) + +latex2man +********* + +Latex2man is a tool to translate UNIX manual pages written with +LaTeXinto a format understood by the UNIX man(1)-command. +Alternatively HTML, TexInfo, or LaTeX code can be produced too. Output +of parts of the text may be suppressed using the conditional text +feature (for this, LaTeX generation may be used). + +Synopsis +======== + +latex2man [ -tTRANSFILE ] [ -cCSSFILE ] [ -HMTL ] [ -h ] [ -V ] [ +-CNAME ] +[ -aCHAR ] INFILE OUTFILE + +* Menu: + +* Description:: +* Options:: +* Files:: +* See Also:: +* LaTeX commands:: +* Package Options:: +* Package Specific Environments:: +* Accepted LaTeX Environments:: +* Package Specific Macros:: +* Accepted Macros from the rcsinfo Package:: +* Accepted LaTeX Macros:: +* Conditional Text:: +* Translation of User Defined Macros:: +* Verbatim Environment:: +* Subsection works:: +* Subsubsection works:: +* Subsubsection still works:: +* General Remarks:: +* CSS classnames:: +* Some Bug Fix Tests:: +* Requirements:: +* Changes:: +* Version:: +* License and Copyright:: +* Author:: + + +File: latex2man.info, Node: Description, Next: Options, Prev: Top, Up: Top + +Description +=========== + +Latex2man reads the file INFILE and writes OUTFILE. The input must be +a LaTeX document using the latex2man LaTeXpackage. Latex2man +translates that document into the troff(1) format using the -man macro +package. + + Using the -H option, HTML code can be produced, instead of troff(1). +With this option you can, optionally, specify a CSSFILE as an argument. +CSS (Cascading Style Sheets) allows you to control the appearance of +the resulting HTML page. See below for the names of CSS classes that +are included in the HTML tags as attributes. + + Using the -T option, TexInfo code can be produced, instead of +troff(1). + + Using the -M option, troff(1) input is produced. + + Using the -L option, LaTeX ouput can be produced, instead of +troff(1). + + +File: latex2man.info, Node: Options, Next: Files, Prev: Description, Up: Top + +Options +======= + +`-tTRANSFILE' + Translation for user defined LaTeX macros. + +`-cCSSFILE' + If you use the -H you can also specify a file that contains CSS + style sheets. The link to the CSS file is inserted into the + generatedHTML output using the specified CSSFILE filename. + +`-M' + Produce output suitable for the man(1) command (default). + +`-H' + Instead of producing output suitable for the man(1) command, HTML + code is produced (despite the name of the command). + +`-T' + Instead of producing output suitable for the man(1) command, + TexInfo code is produced (despite the name of the command). The + generated `.texi'-file may be processed with makeinfo(1) (to + produce an `.info'-file) which in turn may be installed using + install-info(1). The Info tags @dircategory and @direntry are + provided. + +`-L' + The LaTeX source is written to the OUTFILE. This is useful in + conjunction with the -CNAME option. + +`-CNAME' + Output the conditional text for NAME. If more than one name + should be given use quotes: -C'NAME1 NAME2 ...' + The following names are defined automatically: + * -H defines HTML + + * -T defines TEXI + + * -M defines MAN + + * -L defines LATEX + +`-aCHAR' + Is used only in conjunction with -T. + Background: + TexInfo ignores all blanks before the first word on a new line. In + order to produce some additional space before that word (using + \SP) some character has to be printed before the additional space. + By default this is a . (dot). The CHAR specifies an alternative + for that first character. Giving a blank to -a supresses the + indentation of a line. + Note: only for the first \SP of a series that CHAR is printed. + +`-h' + Show a help text. + +`-V' + Show version information. + + +File: latex2man.info, Node: Files, Next: See Also, Prev: Options, Up: Top + +Files +===== + +``latex2man.tex'' + The LaTeX file containing this Man-page. + +``latex2man.sty'' + The LaTeX package defining the environments and commands. + +``latex2man.cfg'' + The configuration file for Latex2man LaTeX-package. + +``latex2man.css'' + File containing example CSS definitions. + +``latex2man.trans'' + File containing example translations of user defined LaTeX macros. + +``fancyheadings.sty'' + A LaTeX package used to typeset head- and foot lines. + +``fancyhdr.sty'' + A LaTeX package used to typeset head- and foot lines. + +``rcsinfo.sty'' + A LaTeX package used to extract and use RCS version control + information in LaTeX documents. + +``latex2man.pdf'' + The PDF version of this document. + + +File: latex2man.info, Node: See Also, Next: LaTeX commands, Prev: Files, Up: Top + +See Also +======== + +LaTeX,TexInfo, troff(1), groff(1), makeinfo(1). + + +File: latex2man.info, Node: LaTeX commands, Next: Package Options, Prev: See Also, Up: Top + +LaTeX commands +============== + +The LaTeX package latex2man is used to write the Man-pages with +LaTeX.Since we translate into other text formats, not all LaTeX stuff +can be translated. + + +File: latex2man.info, Node: Package Options, Next: Package Specific Environments, Prev: LaTeX commands, Up: Top + +Package Options +--------------- + +The latex2man package accepts the following options: + +`fancy' + use the LaTeX package fancyheadings. + +`fancyhdr' + use the LaTeX package fancyhdr. + +`nofancy' + neither the LaTeX package fancyheadings nor fancyhdr are used. + + The default option may be specified in the file latex2man.cfg. + + +File: latex2man.info, Node: Package Specific Environments, Next: Accepted LaTeX Environments, Prev: Package Options, Up: Top + +Package Specific Environments +----------------------------- + +The following environments are provided by the package: +`\begin{Name}{chapter}{name}{author}{info}{title}' + The Name environment takes five arguments: 1. the Man-page + chapter, 2. the name of the Man-page, 3. the author, 4. some + short information about the tool printed in the footline of the + Man-page, and 5. a text which is used as title, for HTML and + LaTeX (it's ignored for output of the Man-page or TeXinfo. The Name + environment must be the first environment in the document. + Processing starts with this environment. Any text before this is + ignored (exception: the setVersion and setDate commands). (Note: + all arguments of \begin{Name} must be written on one line). + +`\begin{Table}[width]{columns}' + The Table environment takes two arguments: the first optional one + specifies a width of the last column, the second one gives the + number of columns. For example: + + \begin{Table}[2cm]{3} + Here & am & I \\\hline + A 1 & A 2 & A 3 1 2 3 4 5 A 3 1 2 3 4 5 \\ + B 1 & B 2 & B 3 \\ + \end{Table} + + will be typeset as: + + Here am I + A 1 A 2 A 3 1 2 3 4 5 A 3 1 + 2 3 4 5 + B 1 B 2 B 3 + + If no optional _width_ argument is given, all entries are typeset + left justified. The _width_ is a length measured absolutly in + _cm_. Processing with LaTeX a p{width} column is typeset as last + column. The translation to troff(1) commands results in a lw(width) + column specification. Translating to HTML and TexInfo ignores the + _width_ parameter. + + \hline may be used. + + If the Man-page is formatted with troff(1) and tables are used, the + tbl(1) preprocessor should be called, usually by giving a -t to + the call of troff(1). When viewing the generated manula page + using man(1), tbl(1) is called automatically. + +`\begin{Description}' + is the same as \begin{description} + +`\begin{Description}[label]' + is similar to \begin{description}, but the item labels have at + minimum the size of the (optional) word _label_. The difference + is visible only in the DVI and PDF-output, not in the troff, + TexInfo or HTML output. + `a' + |a \begin{description} + + `ab' + |ab + + `abc' + |abc + + `a' + |a \begin{Description} + + `ab' + |ab + + `abc' + |abc + + `a' + |a \begin{Description}[aa] + + `ab' + |ab + + `abc' + |abc + + +File: latex2man.info, Node: Accepted LaTeX Environments, Next: Package Specific Macros, Prev: Package Specific Environments, Up: Top + +Accepted LaTeX Environments +--------------------------- + +The following environments are accepted: + * description + + * enumerate + + * itemize + + * verbatim + + * center + + They may be nested: + * Itemize and nested center: + + A centered line. + Another centered line. + + * Another item an nested enumerate + 1. a + + 2. b + + +File: latex2man.info, Node: Package Specific Macros, Next: Accepted Macros from the rcsinfo Package, Prev: Accepted LaTeX Environments, Up: Top + +Package Specific Macros +----------------------- + +The following commands are provided: +`\Opt{option}' + Option: \Opt{-o} will be typeset as -o. + +`\Arg{argument}' + Argument: \Arg{filename} will be typeset as FILENAME. + +`\OptArg{option}{argument}' + Option with Argument: + \OptArg{-o}{filename} will be typeset as -oFILENAME. + +`\OptoArg{option}{argument}' + Option with optional Argument: + \OptoArg{-o}{filename} will be typeset as -o[FILENAME]. + +`\oOpt{option}' + Optional option, e.g. \oOpt{-o} will be typeset as [ -o ]. + +`\oArg{argument}' + Optional argument, e.g. \oArg{filename} will be typeset as [ + FILENAME ]. + +`\oOptArg{option}{argument}' + Optional option with argument, e.g. + \oOptArg{-o}{filename} will be typeset as [ -oFILENAME ]. + +`\oOptoArg{option}{argument}' + Optional option with optional argument, e.g. + \oOptoArg{-o}{filename} will be typeset as [ -o[FILENAME] ]. + +`\File{filename}' + used to typeset filenames, e.g. \File{filename} will be typeset + as `filename'. + +`\Prog{prog}' + used to typeset program names, e.g. \Prog{latex2man} will be + typeset as latex2man. + +`\Cmd{command}{chapter}' + used to typeset references to other commands, e.g. + \Cmd{latex2man}{1} will be typeset as latex2man(1). + +`\Bar' + is typeset as |. + +`\Bs' + (BackSlash) is typeset as \. + +`\Tilde' + is typeset as a ~. + +`\Dots' + is typeset as ... + +`\Bullet' + us typeset as *. + +`\setVersion{..}' + set .. as version information. + +`\setVersionWord{..}' + set .. for the word _Version:_ in the footline. + The default is \setVersionWord{Version:}. + +`\Version' + returns the version information. + +`\setDate{..}' + sets .. as date information. + +`\Date' + returns the date information. + +`\Email{..}' + use to mark an Email address: + \Email{Juergen.Vollmer@informatik-vollmer.de} is typeset as: + <Juergen.Vollmer@informatik-vollmer.de>. + +`\URL{..}' + use to mark an URL: \URL{http://www.foo.de/\Tilde vollmer} is + typeset as + `http://www.foo.de/~vollmer'. + +`\LatexManEnd' + the input file is read and processed until reading end-of-file or + \LatexManEnd (at the beginning of a line). LaTeXignores this + command. + +`\Lbr, \Rbr' + is typeset as [ and ] (these variants are needed only somtimes + like in + \item[FooBar\LBr xx \Lbr]. Usually [ ] will work. + +`\LBr, \RBr' + is typeset as { and } (these variants are needed when using { or } + as arguments to macros. + +`\Circum' + is typeset as ^. + +`\Percent' + is typeset as %. + +`\TEXbr' + If processed with LaTeX causes a linebreak (i.e. is equivalent to + \\).In the output of latex2man this macro is ignored. + +`\TEXIbr' + If TexInfo output is generated, causes a linebreak (i.e. is + equivalent to \\),otherwise ignored. + +`\MANbr' + If Man-Page output is generated, causes a linebreak (i.e. is + equivalent to \\),otherwise ignored. + +`\HTMLbr' + If HTML output is generated, causes a linebreak (i.e. is + equivalent to \\),otherwise ignored. + +`\medskip' + An empty line. + +`\SP' + Produces some extra space, works also at the beginning of lines. + The code of the second line looks like: \SP abc \SP\SP xx\\: + abc xx + . abc xx + . . abc xx + + Note: Due to some "problems" with TexInfo, the lines starting with + \SP have a leading . (dot) in the TexInfo output, see -aCHAR. + + +File: latex2man.info, Node: Accepted Macros from the rcsinfo Package, Next: Accepted LaTeX Macros, Prev: Package Specific Macros, Up: Top + +Accepted Macros from the rcsinfo Package +---------------------------------------- + +`\rcsInfo $Id ...$' + if the LaTeX package `rcsinfo' is used, this command is used to + extract the date of the Man-page. + +`\rcsInfoLongDate' + if the LaTeX package `rcsinfo' is used, this command is used to + typeset the date coded in the $Id ..$ string. + + +File: latex2man.info, Node: Accepted LaTeX Macros, Next: Conditional Text, Prev: Accepted Macros from the rcsinfo Package, Up: Top + +Accepted LaTeX Macros +--------------------- + +The following standard LaTeX commands are accepted: +`\section{..}' + The section macro takes one argument: the name of the Man-page + section. Each Man-page consists of several sections. Usually + there are the following sections in a Man-page: _Name_ (special + handling as environment, c.f. above), _Synopsis_, _Description_, + _Options_, _Files_, _See Also_, _Diagnostics_, _Return Values_, + _Bugs_, _Author_, _version_, etc. + + _Synopsis_ must be the first section after the Name environment. + + Note: Do not use LaTeX-macrosin section names. + +`\subsection{..}' + works as well as + +`\subsubsection{..}' + those. + +`\emph{..}' + \emph{example} is typeset as _example_. + +`\textbf{..}' + \textbf{example} is typeset as *example*. + +`\texttt{..}' + \textt{example} is typeset as example. + +`\underline{..}' + \underline{example} is typeset as example of underline. + +`\date{..}' + uses .. as date. + +`\verb+..+' + but only + is allowed as delimiter. + +`$<$' + is typeset as <. + +`$>$' + is typeset as >. + +`$<=$' + is typeset as <=. + +`$>=$' + is typeset as >=. + +`$=$' + is typeset as =. + +`$<>$' + is typeset as <>. + +`$\ge$' + is typeset as $>=$. + +`$\le$' + is typeset as $<=$. + +`$\leftarrow$' + is typeset as $<-$. + +`$\Leftarrow$' + is typeset as $<==$. + +`$\rightarrow$' + is typeset as $->$. + +`$\Rightarrow$' + is typeset as $==>$. + +`\{' + is typeset as {. + +`\}' + is typeset as }. + +`\$' + is typeset as $. + +`\$' + is typeset as $,should be used inside macro arguments. + +`\_' + is typeset as _. + +`\&' + is typeset as &. + +`\#' + is typeset as #. + +`\%' + is typeset as %. + +`\,' + is typeset as smaller blank - - (between the two -) + +`\-' + is used to mark hyphenation in a word. + +`\\' + is typeset as a linebreak or marks the end of a column in the Table + environment. + +`\' + (a \ followed by a blank) is typeset as a blank, although it + cannot be used at the beginning of a line to make indentation (see + the \SP command). + +`~' + is typeset as a blank. + +`\copyright' + is typeset as (C). + +`\noindent' + +`\hline' + inside a Table environment. + +`\item' + inside a itemize, enumerate, or description environment. + +`\today' + 22 December 2010(see also the rcsinfo LaTeXpackage). + +`\ss,\"a, ...' + \ss = ss, \"a= a", \"o= o", \"u= u", \"A= A", \"O= O", \"U= U". It + is allowed to surround these macros in { and } in all places, even + inside other macros, e.g. + . \textbf{\"a\"o\"u\"A\"O\"U\ss} + . \textbf{\"a}{\"o}{\"u}{\"A}{\"O}{\"U}{\ss}} + . \textbf{äöüÄÖÜß} + *a"o"u"A"O"U"ss a"o"u"A"O"U"ss a"o"u"A"O"U"ss* + + If these letters are used in their LATIN-1 8-bit coding, they are + translated into the equivalent letter of the desired output format. + E.g. A" becomes Ä in HTML and @"A in texinfo. + + +File: latex2man.info, Node: Conditional Text, Next: Translation of User Defined Macros, Prev: Accepted LaTeX Macros, Up: Top + +Conditional Text +---------------- + +latex2man preprocesses the LaTeX input to allow text to be used +conditionally. A special sort of LaTeX comment is used for that purpose. + * %@% IF _condition_ %@% + + * %@% ELSE %@% + + * %@% END-IF %@% + + A line must contain only such a comment and nothing else. _condition_ +is a boolean expression containing "names" and operators. The names +given with the -CNAME option have the value "true", while all other +names occuring in the expression are assumed to be "false". If the +evaluation of the boolean expression results in the value "true", the +text in the "then"-part is used and the text in the optional +"else"-part is skipped (and vice versa). The IF/ELSE/END-IF may be +nested. As boolean operators the following are allowed: + +|| boolean or +&& boolean and +! negation + + ( and ) for grouping are allowed. + +For example: +%@% IF abc %@% +abc set +%@% IF xyz %@% +xyz set +%@% ELSE %@% +xyz NOT set +%@% END-IF %@% +%@% ELSE %@% +abc NOT set +%@% IF xyz || !XYZ %@% +xyz OR !XYZ set +%@% ELSE %@% +xyz OR !XYZ NOT set +%@% END-IF %@% +%@% END-IF %@% + +Run this manual page through latex2man with e.g. -C'ABC XYZ' and have +a look to the generated output. (If simply running the LaTeX-document +through LaTeX,all lines are shown in the .dvi file). +abc NOT set +xyz OR !XYZ set +To check the conditional text feature, when latex2man is called with +`-CHTML' + the lines 1a, 2b, 3b, and 4b; + +`-CTEXI' + the lines 1b, 2a, 3b, and 4b; + +`-CMAN' + the lines 1b, 2b, 3a, and 4b; + +`-CLATEX' + the lines 1b, 2b, 3b, and 4a; + +`calling LaTeX without preprocessing' + all lines + should be shown: + + 1b. The HTML conditional was not set. + + 2a. This text occurs only when viewing the TEXI output + + 3b. The MAN conditional was not set. + + 4b. The LATEX conditional was not set. + + +File: latex2man.info, Node: Translation of User Defined Macros, Next: Verbatim Environment, Prev: Conditional Text, Up: Top + +Translation of User Defined Macros +---------------------------------- + +The user macro translation file (given by the [ -tTRANSFILE ]) contains +Perl commands specifying the translation of LaTeX macros defined by the +user. These macros may have none, one or two arguments. The following +code is expected: + + * Comments start with a # up to the end of the line. + + * For a macro \foo with no arguments, the following code must be + specified: + `Translation to Man-Pages' + $manMacro{'foo'} = '...'; + + `Translation to HTML' + $htmlMacro{'foo'} = '...'; + + `Translation to TexInfo' + $texiMacro{'foo'} = '...'; + + where ... is the translation. + + * For a macro \foo{..} with one argument, the following code must be + specified: + `Translation to Man-Pages' + $manMacro1a{'foo'} = '...'; + $manMacro1b{'foo'} = '...'; + + `Translation to HTML' + $htmlMacro1a{'foo'} = '...'; + $htmlMacro1b{'foo'} = '...'; + + `Translation to TexInfo' + $texiMacro1a{'foo'} = '...'; + $texiMacro1b{'foo'} = '...'; + + where ... is the translation. The 1a code is used before the + argument, while 1b is typeset after the argument is set. + + * For a macro \foo{..}{..} with two arguments, the following code + must be specified: + `Translation to Man-Pages' + $manMacro2a{'foo'} = '...'; + $manMacro2b{'foo'} = '...'; + $manMacro2c{'foo'} = '...'; + + `Translation to HTML' + $htmlMacro2a{'foo'} = '...'; + $htmlMacro2b{'foo'} = '...'; + $htmlMacro2c{'foo'} = '...'; + + `Translation to TexInfo' + $texiMacro2a{'foo'} = '...'; + $texiMacro2b{'foo'} = '...'; + $texiMacro2c{'foo'} = '...'; + + where ... is the translation. The 2a code is used before the first + argument, 2b between the two arguments and 2c is typeset after the + second argument is set. + + * The file `latex2man.trans' contains some example code. + + +File: latex2man.info, Node: Verbatim Environment, Next: Subsection works, Prev: Translation of User Defined Macros, Up: Top + +Verbatim Environment +-------------------- + +.This +. {is} +. \texttt{a} +. $test$ +. _of_ +.verbatim +.<this is no HTML tag> and no @* TexInfo command + +File: latex2man.info, Node: Subsection works, Next: Subsubsection works, Prev: Verbatim Environment, Up: Top + +Subsection works +---------------- + +This is a \subsection. + + +File: latex2man.info, Node: Subsubsection works, Next: Subsubsection still works, Prev: Subsection works, Up: Top + +Subsubsection works +................... + +This is a \subsubsection. + + +File: latex2man.info, Node: Subsubsection still works, Next: General Remarks, Prev: Subsubsection works, Up: Top + +Subsubsection still works +......................... + +This is another \subsubsection. + + +File: latex2man.info, Node: General Remarks, Next: CSS classnames, Prev: Subsubsection still works, Up: Top + +General Remarks +--------------- + + 1. Empty lines are typeset as paragraph separators. + + 2. The arguments of the LaTeX commands must not be split over several + lines. + + 3. Do not nest calls to macros. + + 4. Except the mentioned environment and macros, the usage of other + LaTeX environments or macros are not translated. Their usage will + cause garbage in the output. + + 5. latex2man requires Perl version >= 5.0004_03. + + 6. If you want to install the system with the distributed `Makefile', + you need GNU-make. If you don't have it, you should execute the + steps shown in the `Makefile' manually. + + +File: latex2man.info, Node: CSS classnames, Next: Some Bug Fix Tests, Prev: General Remarks, Up: Top + +CSS classnames +============== + +The table below shows the names of CSS classes that will be included in +the HTML tags as attributes. You can specify the CSS style properties +in the CSSFILE for these classes: + + +*HTML tag* *Class* *Style applies to* +body the body of the HTML + page +h1 titlehead the title at the top + of the HTML page + specified as an + argument to the _Name_ + environment +h4 authorhead the author at the top + of the HTML page + specified as an + argument to the _Name_ + environment +h4 datehead the date at the top + of the HTML page +h4 versionhead the man page version + at the top of the + HTML page specified + as an argument to the + _setVersion_ macro +h2 sectionname a section title + specified as an + argument to the + _section_ macro +h4 subsectionname a subsection title + specified as an + argument to the + _subsection_ macro +h5 subsubsectionname a subsubsection title + specified as an + argument to the + _subsubsection_ macro +font progname a program name + specified as an + argument to the _Prog_ + macro +font filename a file name specified + as an argument to the + _File_ macro +font commandname a command name + specified as an + argument to the _Cmd_ + macro +font textstyle all text that is not + an argument to some + LaTeX or latex2man + macro +font optstyle a name of an option + specified as an + argument to the _Opt_, + _oOpt_, _OptArg_, + _oOptArg_ or + _oOptoArg_ macros +font argstyle a name of an argument + specified as an + argument to the _Arg_, + _oArg_, _OptArg_, + _oOptArg_ or + _oOptoArg_ macros +a, font urlstyle a URL specified as an + argument to the _URL_ + macro +a, font urlstyle.link subclass of urlstyle + class +a, font urlstyle.visited subclass of urlstyle + class +a, font urlstyle.hover subclass of urlstyle + class +a, font emailstyle an email specified as + an argument to the + _Email_ macro +a, font emailstyle.link subclass of + emailstyle class +a, font emailstyle.visited subclass of + emailstyle class +a, font emailstyle.hover subclass of + emailstyle class +table tablestyle a table specified as + a _Table_ environment +tr rowstyle a row of a table + specified as a _Table_ + environment +td cellstyle a cell of a table + specified as a _Table_ + environment + + +File: latex2man.info, Node: Some Bug Fix Tests, Next: Requirements, Prev: CSS classnames, Up: Top + +Some Bug Fix Tests +================== + +`Leading . and '' + Now leading . and ' in generation troff output should work + propperly, since a \& is added. Therfore the \Dot macro has been + deleted. + Thanks to <Frank.Schilder@Mathematik.Tu-Ilmenau.De>. + Testcase 1: + `'\n'' + ... + Testcase 2: + `.foobar' Testcase 3: + ... abc ...abc . efg ' 123 + +`% in verbatim' + A % in a \verb and verbatim-environment was not emitted correctly. + Thanks to Aleksey Nogin <nogin@cs.caltech.edu> for the bug report + and bug fix. + + % abc + + . % abc % + but ignore comments following this: + + + +File: latex2man.info, Node: Requirements, Next: Changes, Prev: Some Bug Fix Tests, Up: Top + +Requirements +============ + +`Perl' + latex2man requires Perl version >= 5.0004_03. + +`Make' + If you want to install the system with the distributed `Makefile', + you need GNU-make. If you don't have it, you should execute the + steps shown in the `Makefile' manually. + +`LaTeX' + LaTeX2e is required. + + +File: latex2man.info, Node: Changes, Next: Version, Prev: Requirements, Up: Top + +Changes +======= + +Please check the file `latex2man-CHANGES' for the list of changes and +acknowledgment to people contributing bugfixes or enhancements. + + +File: latex2man.info, Node: Version, Next: License and Copyright, Prev: Changes, Up: Top + +Version +======= + +Version: 1.24 of 2010/12/22. + + +File: latex2man.info, Node: License and Copyright, Next: Author, Prev: Version, Up: Top + +License and Copyright +===================== + +`Copyright' + (C)1998, Dr. Ju"rgen Vollmer, Viktoriastrasse 15, D-76133 + Karlsruhe, Germany, + <Juergen.Vollmer@informatik-vollmer.de> + + The actual version of Latex2man may be found on my homepage + `http://www.informatik-vollmer.de/software/latex2man.html'. + +`License' + This program can be redistributed and/or modified under the terms + of the LaTeX Project Public License Distributed from CTAN archives + in directory `macros/latex/base/lppl.txt'; either version 1 of the + License, or any later version. + +`Misc' + If you find this software useful, please send me a postcard from + the place where you are living. + + +File: latex2man.info, Node: Author, Prev: License and Copyright, Up: Top + +Author +====== + +Dr. Ju"rgen Vollmer +Viktoriastrasse 15 +D-76133 Karlsruhe +Email: <Juergen.Vollmer@informatik-vollmer.de> +WWW: `http://www.informatik-vollmer.de'. + + + +Tag Table: +Node: Top187 +Node: Description1287 +Node: Options2141 +Node: Files4057 +Node: See Also4868 +Node: LaTeX commands5024 +Node: Package Options5307 +Node: Package Specific Environments5759 +Node: Accepted LaTeX Environments8547 +Node: Package Specific Macros9079 +Node: Accepted Macros from the rcsinfo Package12665 +Node: Accepted LaTeX Macros13162 +Node: Conditional Text16231 +Node: Translation of User Defined Macros18269 +Node: Verbatim Environment20383 +Node: Subsection works20709 +Node: Subsubsection works20884 +Node: Subsubsection still works21073 +Node: General Remarks21279 +Node: CSS classnames22017 +Node: Some Bug Fix Tests27698 +Node: Requirements28436 +Node: Changes28850 +Node: Version29089 +Node: License and Copyright29232 +Node: Author30026 + +End Tag Table diff --git a/Master/texmf-dist/doc/info/mf2pt1.info b/Master/texmf-dist/doc/info/mf2pt1.info new file mode 100644 index 00000000000..796a095453d --- /dev/null +++ b/Master/texmf-dist/doc/info/mf2pt1.info @@ -0,0 +1,714 @@ +This is mf2pt1.info, produced by makeinfo version 4.13 from mf2pt1.texi. + +INFO-DIR-SECTION TeX +START-INFO-DIR-ENTRY +* mf2pt1:: Produce PostScript Type 1 fonts from Metafont source +END-INFO-DIR-ENTRY + + *mf2pt1*: Produce PostScript Type 1 fonts from Metafont source + + Copyright 2012 Scott Pakin. + + +File: mf2pt1.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir) + +mf2pt1 +****** + +`mf2pt1' is a tool that lets font designers design PostScript Type 1 +fonts using the Metafont language. The same source file can be used +to produce both Type 1 (`.pfb') and bitmap (`.pk') fonts. + +* Menu: + +* Introduction:: Introduction to mf2pt1 +* Usage:: How to use mf2pt1 +* Future Work:: Features I may one day add to mf2pt1 +* Acknowledgments:: People who helped with mf2pt1 + + +File: mf2pt1.info, Node: Introduction, Next: Usage, Prev: Top, Up: Top + +1 Introduction +************** + +Metafont is a high-level, mathematically oriented language for +producing fonts. The Metafont interpreter produces device-dependent +bitmaps, which render well at the target resolution on the target +device, but poorly at other resolutions or on other devices. Adobe's +PostScript Type 1 font format is the de facto font standard for +printers these days. It is a vector format, which implies that it +scales better than bitmaps, and it delegates the device- and +resolution-dependent tweaking from the font source to the target +device's PostScript renderer. However, Type 1 fonts are extremely +difficult to code by hand. Usually, one uses a WYSIWYG program to +design a Type 1 font. Metafont , with its font-specific programming +language, is an elegant alternative. A font designer can write +reusable subroutines for repeated features, such as serifs and accents. +He can define a font in terms of arbitrary parameters, such as +"boldness" or "italicness", making it trivial to produce entire +families of fonts from a single source (hence the "meta" in the name +"Metafont "). Ideally, we would like to design a font using the +Metafont language, but produce PostScript Type 1 output instead of +bitmaps. + +`mf2pt1' helps bridge the gap between Metafont and Type 1 fonts. +`mf2pt1' facilitates producing PostScript Type 1 fonts from a Metafont +source file. It is _not_, as the name may imply, an automatic +converter of arbitrary Metafont fonts to Type 1 format. `mf2pt1' +imposes a number of restrictions on the Metafont input. If these +restrictions are met, `mf2pt1' will produce valid Type 1 output. + +* Menu: + +* Requirements:: Pre-installation checklist +* Installation:: How to install mf2pt1 + + +File: mf2pt1.info, Node: Requirements, Next: Installation, Prev: Introduction, Up: Introduction + +1.1 Requirements +================ + +Before using `mf2pt1', you will need to install the following programs: + +Perl + `mf2pt1' is written in Perl. You will need a Perl interpreter to + run it. + +MetaPost + `mf2pt1' actually uses MetaPost, not Metafont , to produce + PostScript output. Specifically, you will need the `mpost' + executable and the `mfplain.mp' base file. + +Type 1 Utilities + Producing properly encoded Type 1 fonts is tricky. `mf2pt1' + delegates the effort to the Type 1 Utilities, specifically, to the + `t1asm' program within that suite. + +FontForge (optional) + FontForge is a WYSIWYG, but scriptable, Type 1 font-editing + program. Although FontForge is not strictly required for `mf2pt1' + to produce a Type 1 font, `mf2pt1' uses FontForge when available + to autohint the generated Type 1 font, thereby making it look + better especially at lower resolutions. + + Perl is available from the Comprehensive Perl Archive Network +(http://www.cpan.org); MetaPost and the Type 1 utilities are available +from the Comprehensive TeX Archive Network (http://www.ctan.org); and, +FontForge is available from `http://fontforge.sourceforge.net/'. In +addition, MetaPost's home page is +`http://cm.bell-labs.com/who/hobby/MetaPost.html', and the Type 1 +utilities' home page is `http://www.lcdf.org/type/'. + + Besides being useful for autohinting fonts, FontForge enables a font +designer to hint fonts manually for additional fine-tuning and to +convert among a variety of font formats, such as PostScript, TrueType, +and X Window fonts. FontForge is strongly recommended as a complement +to `mf2pt1'. + + +File: mf2pt1.info, Node: Installation, Prev: Requirements, Up: Introduction + +1.2 Installation +================ + +To install `mf2pt1', move the `mf2pt1' executable someplace where your +operating system can find it. If you're running Microsoft Windows, you +should rename the program to `mf2pt1.pl', so that Windows knows it's a +Perl script. (Alternatively, if you have `pl2bat', use that to produce +a `mf2pt1.bat' file, which you can run as simply `mf2pt1'.) + + The next step is to produce a `mf2pt1.mem' file from the supplied +`mf2pt1.mp'. The command to do this differs from system to system but +is usually something like the following: + + mpost -progname=mpost -ini mf2pt1 \\dump + + Move the resulting `mf2pt1.mem' file someplace where MetaPost can +find it. + + + The `mf2pt1' documentation (what you're reading now) is written in +Texinfo and can therefore easily be converted to a variety of formats: + +PDF (`mf2pt1.pdf') + texi2pdf mf2pt1.texi + +PostScript (`mf2pt1.ps') + texi2dvi mf2pt1.texi + dvips mf2pt1.dvi -o mf2pt1.ps + +HTML (`mf2pt1.html') + makeinfo --html mf2pt1.texi + +Info (`mf2pt1.info') + makeinfo mf2pt1.texi + +N.B. The `install-info' command is a convenient way to install +`mf2pt1.info' on your system. + + + On Unix, you may also want to generate an `mf2pt1' man page. The +man page is embedded within the `mf2pt1' Perl script and can be +extracted with `pod2man': + + pod2man --center="User Commands" --date="29 June 2012" \ + --release="v2.5" mf2pt1 > mf2pt1.1 + +You can then move `mf2pt1.1' into `/usr/man/man1' or any other man page +directory. Note that the `mf2pt1' man page is fairly rudimentary. It +is primarily a list of the command-line options (*note Font +information::) and a pointer to the document that you're reading now. + + +File: mf2pt1.info, Node: Usage, Next: Future Work, Prev: Introduction, Up: Top + +2 Usage +******* + +`mf2pt1' is fairly straightforward to use. To process a Metafont +source file, merely specify the filename: + + mf2pt1 myfont.mf + +That simple command automatically performs all of the following +operations: + + 1. Read `myfont.mf'. + + 2. Use `mpost' to convert each character to a separate Encapsulated + PostScript (EPS) file named `myfont.NUM'. + + 3. Process and merge the EPS files into a single "disassembled" + Type 1 font called `myfont.pt1'. + + 4. Run `t1asm' from the Type 1 Utilities to convert the disassembled + font into a true, binary Type 1 font called `myfont.pfb'. + + 5. Invoke `fontforge' to apply rendering hints to `myfont.pfb' and to + attempt to remove overlapping paths. + + The external programs launched by `mf2pt1'--`mpost', `t1asm', and +`fontforge'--can be overridden by setting the eponymous, uppercase +environment variable. For example, invoking FontForge's predecessor, +PfaEdit, instead of FontForge is simply a matter of setting the +`FONTFORGE' environment variable to `pfaedit' before invoking `mf2pt1'. +As a corollary, you can inhibit an `mf2pt1' external program from +running by setting the corresponding environment variable to the name +of a nonexistent program. + +* Menu: + +* Restrictions:: Restrictions imposed on the font source code +* Font information:: Specifying PostScript font characteristics +* Additional command-line options:: Options unrelated to font characteristics +* Custom font encodings:: Altering the mapping from character name to number +* Restoring mfplain defaults:: Using the original (un)filldraw and pencircle + + +File: mf2pt1.info, Node: Restrictions, Next: Font information, Prev: Usage, Up: Usage + +2.1 Restrictions +================ + +If `mf2pt1' sounds too good to be true, it is--somewhat. `mf2pt1' is +not a general-purpose Metafont -to-Type 1 converter. Rather, it can +convert only certain Metafont constructs. This is not a showstopper +for new fonts designed with `mf2pt1' in mind, but it is unlikely that +`mf2pt1' will work on an arbitrary Metafont source file. + + `mf2pt1''s biggest restriction is that each glyph must be drawn +entirely from closed paths, using Metafont 's *fill* and *unfill* +commands. (`mf2pt1' has limited support for *draw* and *undraw*, but +their use is currently discouraged. *filldraw* and *unfilldraw* issue a +warning message and invoke *draw* and *undraw*, respectively.) The +Type 1 format requires that these paths be nonoverlapping. The +following are some of the alternatives for removing path overlaps: + + 1. Install FontForge. As part of its final step in producing a + Type 1 font, `mf2pt1' instructs FontForge to replace overlapping + paths with nonoverlapping paths. + + 2. Remove overlaps using Metafont code within the font program + itself. A `.zip' file attachment to a 6 January 2005 article + (http://tug.org/mailman/htdig/metapost/2005-January/000080.html) by + Boguslaw Jackowski on the MetaPost mailing list (subject: "Re: all + intersections between two paths") includes a MetaPost library which + assists with that task. The library provides a *find_outlines* + command which can be used to define a path as the union of two + other paths. A number of MetaPost example programs are also + included in the `.zip' file. + + 3. Design your fonts from the beginning without using overlapping + paths. + + A secondary restriction is that `mf2pt1' redefines a number of Plain +Metafont commands, such as *beginchar*, *fill*, and *unfill*. Metafont +font programs which redefine or bypass these (using Metafont +primitives) will not be convertible with `mf2pt1'. + + A far less severe restriction is due to `mf2pt1''s utilizing +MetaPost's Metafont interface instead of Metafont itself. The +implication is that commands not defined by MetaPost's `mfplain.mp' +cannot be handled by `mf2pt1', either. Very few fonts will have a +problem with this restriction but see the MetaPost manual for more +information. + + +File: mf2pt1.info, Node: Font information, Next: Additional command-line options, Prev: Restrictions, Up: Usage + +2.2 Specifying font information +=============================== + +Metafont fonts normally specify a set of *fontdimen*s which provide +information about a particular font that cannot otherwise be inferred. +These include features such as the font's x-height, quad width, +interword stretchability and shrinkability, and other design +characteristics that TeX makes use of. PostScript fonts utilize a +largely different set of font parameters, such as the underline +position and thickness, font family name, and copyright notice. +`mf2pt1' provides Metafont commands to define the PostScript font +parameters in the generated Type 1 font. These parameters should +appear in the Metafont source file as follows: + + if known ps_output: + ... + fi + +`ps_output' is defined by `mf2pt1' but not by Plain Metafont . +Checking if it is known is the recommended way to determine if the font +is being built under `mf2pt1'. + +* Menu: + +* Parameters:: Font-information commands available to Metafont +* Command-line equivalents:: Specifying font features on the command line +* Default values:: Types and default values of each parameter +* Parameter example:: Metafont example which specifies all parameters + + +File: mf2pt1.info, Node: Parameters, Next: Command-line equivalents, Prev: Font information, Up: Font information + +2.2.1 Parameters +---------------- + + The following list presents all of the font-information commands +provided by `mf2pt1' and describes what each command means. Commands +marked with an asterisk are also defined by Plain Metafont and +therefore do not need to be enveloped within a test for `ps_output'. + +*font_coding_scheme* + The mapping between character numbers and PostScript names. If + this is the name of a file, `mf2pt1' expects it to contain + PostScript code defining a font-encoding vector. *Note Custom + font encodings::, for an example of such a file. If + *font_coding_scheme* is not the name of a file, `mf2pt1' expects + it to be one of the literal strings `standard' (Adobe standard + encoding), `isolatin1' (ISO Latin 1 encoding), `ot1' (TeX 7-bit + encoding), `t1' (TeX 8-bit encoding), or `asis' (encoding + integrated with the character programs using the *glyph_name* + command as described in *note Custom font encodings::). Anything + else will generate a warning message and cause `mf2pt1' to use + `standard' instead. + +*font_comment* + A textual comment that will appear within the generated font. + This is often used for copyright notices. + +*font_family* + The family that this font belongs to. For example, "Utopia Bold + Italic" belongs to the `Utopia' family. + +*font_fixed_pitch* + Whether the font is monospaced (if *true*) or or proportionally + spaced (if *false*). + +*font_identifier (*)* + The full name of the font, e.g., `Utopia Bold Italic'. + +*font_name* + The symbolic font name, used to load the font from a PostScript + document. Spaces are forbidden. Generally, the font name is of + the form `FAMILY-MODIFIERS'. For example, the font name of Utopia + Bold Italic would be `Utopia-BoldItalic'. + +*font_size (*)* + The font design size. This is specified in "sharped" units within + Metafont code or as a point size on the command line. + +*font_slant (*)* + When specified with *font_slant*, the amount of slant per point. + When specified with `--italicangle', the angle in counterclockwise + degrees from the vertical (i.e., zero for an upright font, + negative for a right-slanting italic font). + +*font_underline_position* + The vertical position at which an underline should lie, specified + in "sharped" units within Metafont code or as a number of points + on the command line. + +*font_underline_thickness* + The thickness of an underline, specified in "sharped" units within + Metafont code or as a number of points on the command line. + +*font_unique_id* + The unique ID for this font. The ID should be between 0 and + 16,777,215. If not specified, `mf2pt1' will choose an ID at + random from the "open" range, 4,000,000-4,999,999. All IDs not in + that range are allocated by contacting Adobe's UniqueID + Coordinator. (I don't believe a fee is involved, but I don't know + for sure.) + +*font_version* + The version number of the font. This should be of the form + `MMM.MMM', where MMM is the major version number and MMM is the + minor version number. + +*font_weight* + The font weight. For example, the font weight of Utopia Bold + Italic is `Bold'. + + +File: mf2pt1.info, Node: Command-line equivalents, Next: Default values, Prev: Parameters, Up: Font information + +2.2.2 Command-line equivalents +------------------------------ + + Each of the font-information commands listed in *note Parameters:: +has a command-line equivalent. Their use is discouraged but they are +listed here for completeness: + +*font_coding_scheme* `--encoding' +*font_comment* `--comment' +*font_family* `--family' +*font_fixed_pitch* `--fixedpitch' +*font_identifier* `--fullname' +*font_name* `--name' +*font_size* `--designsize' +*font_slant* `--italicangle' +*font_underline_position* `--underpos' +*font_underline_thickness* `--underthick' +*font_unique_id* `--uniqueid' +*font_version* `--fontversion' +*font_weight* `--weight' + + A special case is `--fixedpitch' which does not take an argument. +Rather, you should use `--fixedpitch' as the equivalent of +`font_fixed_pitch true' and `--nofixedpitch' as the equivalent of +`font_fixed_pitch false'. + + +File: mf2pt1.info, Node: Default values, Next: Parameter example, Prev: Command-line equivalents, Up: Font information + +2.2.3 Default values +-------------------- + + The next table lists the Metafont type and default value of each of +the parameters listed in *note Parameters::. + +*font_coding_scheme* *string* `"standard"' +*font_comment* *string* `"Font converted to Type 1 + by mf2pt1, written by + Scott Pakin."' +*font_family* *string* (The value of + *font_identifier*) +*font_fixed_pitch* *boolean* *false* +*font_identifier* *string* (The input filename, minus + `.mf') +*font_name* *string* (The value of + *font_family*, plus an + underscore, plus the + value of *font_weight*, + with all spaces removed) +*font_size* *numeric* (Must be specified or + `mf2pt1' will abort with + an error message) +*font_slant* *numeric* 0 +*font_underline_position* *numeric* -1 +*font_underline_thickness* *numeric* 0.5 +*font_unique_id* *string* (Randomly generated in the + range 4000000-4999999) +*font_version* *string* `"001.000"' +*font_weight* *string* `"Medium"' + + + +File: mf2pt1.info, Node: Parameter example, Prev: Default values, Up: Font information + +2.2.4 Parameter example +----------------------- + + As an example, the following Metafont code shows the usage of all +of the parameters that `mf2pt1' accepts: + +if known ps_output: + font_coding_scheme "ot1"; + font_comment "Copyright (C) 2012 Scott Pakin."; + font_family "Kerplotz"; + font_fixed_pitch false; + font_identifier "Kerplotz Light Oblique"; + font_name "Kerplotz-LightOblique"; + font_size 10pt#; % Important to include + this. + font_slant 1/6; + font_underline_position -1pt#; + font_underline_thickness 1/2pt#; + font_unique_id "4112233"; % Better to omit + this. + font_version "002.005"; + font_weight "Light"; + fi + +In the above, the *font_fixed_pitch* call could have been omitted, as +it defaults to *false*. Also, unless you've requested a unique ID from +Adobe, it's generally better not to assign *font_unique_id*; let +`mf2pt1' choose a random value itself. + + The same parameters can also be specified on the command line as +follows: + + mf2pt1 --encoding=ot1 --comment="Copyright (C) 2012 Scott Pakin." + --family=Kerplotz --nofixedpitch --fullname="Kerplotz Light Oblique" + --name=Kerplotz-LightOblique --designsize=10 --italicangle=-9.5 + --underpos=-100 --underthick=50 --uniqueid=4112233 --version=002.005 + --weight=Light kerplotz.mf + +Note that a Metafont font slant of 1/6 is equal to a PostScript italic +angle of approximately -9.5. The conversion formula is slant = +-tan(angle). In addition, the underline position and thickness must be +multiplied by 1000/*font_size* to convert from the Metafont units that +are used within the `.mf' file to the PostScript units that are used on +the command line. + + +File: mf2pt1.info, Node: Additional command-line options, Next: Custom font encodings, Prev: Font information, Up: Usage + +2.3 Additional command-line options +=================================== + +In addition to the command-line options for setting font parameters +that were presented in *note Parameters::, `mf2pt1' supports a +`--rounding' option. While `mf2pt1' normally rounds all font +coordinates to the nearest integer, `--rounding' increases coordinate +precision by instructing `mf2pt1' to round instead to the nearest +multiple of a given fractional number. For example, `--rounding=0.25' +rounds the coordinate (7.4, 10.3) to (7.5, 10.25) while it would +otherwise be rounded to the less-precise (7, 10). + + Large glyphs can be problematic in MetaPost and therefore in +`mf2pt1'. Unlike Metafont , MetaPost does not honor `mag' for +magnifying dimensions. Rather, the number of PostScript (a.k.a. "big") +points per pixel--`bpppix'--is hardwired to 0.02 and all other +dimensions (`mm', `in', `pt', etc.) are expressed in terms of that. +Consequently, glyphs that multiply a large number of font units by a +dimension are likely to exceed 4096, the largest value that MetaPost +can represent in its fixed-point format. If numerical overflow becomes +a problem you can use the `--bpppix' option to `mf2pt1' to change the +value of `bpppix'. For example, specifying `--bpppix=0.2' enables a +tenfold increase in maximum glyph size (with a corresponding decrease +in precision). + + After generating a Type 1 font, `mf2pt1' runs it through FontForge +to add hinting information, remove overlaps, and otherwise clean up the +generated font. The `--ffscript' option specifies the filename of a +FontForge script to use instead of the default script, which is listed +below: + + Open($1); + SelectAll(); + RemoveOverlap(); + AddExtrema(); + Simplify(0, 2); + CorrectDirection(); + Simplify(0, 2); + RoundToInt(); + AutoHint(); + Generate($1); + Quit(0); + +See the FontForge documentation for an explanation of each of those +commands and a description of other commands made available to +FontForge scripts. `mf2pt1' runs the script with one argument (`$1'), +which is the name of the generated `.pfb' file. + + `mf2pt1' also supports a `--help' option which summarizes all of the +program's command-line options. + + +File: mf2pt1.info, Node: Custom font encodings, Next: Restoring mfplain defaults, Prev: Additional command-line options, Up: Usage + +2.4 Custom font encodings +========================= + +*note Parameters::, lists the font encodings currently supported by +`mf2pt1' and mentions that an alternate encoding can be specified by +providing the name of an encoding file. To elaborate, the following +example represents the contents of an encoding file which defines +a--largely useless nowadays--EBCDIC font encoding: + + `% Sample encoding vector: EBCDIC + % The encoding vector must have a name and be defined as a + PostScript array. + /ebcdic_encoding [ + /_a0 /_a1 /_a2 /_a3 /_a4 /_a5 /_a6 /_a7 /_a8 /_a9 /_a10 /_a11 /_a12 + /_a13 /_a14 /_a15 /_a16 /_a17 /_a18 /_a19 /_a20 /_a21 /_a22 /_a23 + /_a24 /_a25 /_a26 /_a27 /_a28 /_a29 /_a30 /_a31 /_a32 /_a33 /_a34 + /_a35 /_a36 /_a37 /_a38 /_a39 /_a40 /_a41 /_a42 /_a43 /_a44 /_a45 + /_a46 /_a47 /_a48 /_a49 /_a50 /_a51 /_a52 /_a53 /_a54 /_a55 /_a56 + /_a57 /_a58 /_a59 /_a60 /_a61 /_a62 /_a63 /space /_a65 /_a66 /_a67 + /_a68 /_a69 /_a70 /_a71 /_a72 /_a73 /bracketleft /period /less + /parenleft /plus /exclam /ampersand /_a81 /_a82 /_a83 /_a84 /_a85 + /_a86 /_a87 /_a88 /_a89 /bracketright /dollar /asterisk /parenright + /semicolon /asciicircum /hyphen /slash /_a98 /_a99 /_a100 /_a101 + /_a102 /_a103 /_a104 /_a105 /bar /comma /percent /underscore + /greater /question /_a112 /_a113 /_a114 /_a115 /_a116 /_a117 + /_a118 /_a119 /_a120 /_a121 /colon /numbersign /at /quoteright + /equal /quotedbl /_a128 /a /b /c /d /e /f /g /h /i /_a138 /_a139 + /_a140 /_a141 /_a142 /_a143 /_a144 /j /k /l /m /n /o /p /q /r + /_a154 /_a155 /_a156 /_a157 /_a158 /_a159 /_a160 /asciitilde /s /t + /u /v /w /x /y /z /_a170 /_a171 /_a172 /_a173 /_a174 /_a175 /_a176 + /_a177 /_a178 /_a179 /_a180 /_a181 /_a182 /_a183 /_a184 /quoteleft + /_a186 /_a187 /_a188 /_a189 /_a190 /_a191 /braceleft /A /B /C /D + /E /F /G /H /I /_a202 /_a203 /_a204 /_a205 /_a206 /_a207 + /braceright /J /K /L /M /N /O /P /Q /R /_a218 /_a219 /_a220 /_a221 + /_a222 /_a223 /backslash /_a225 /S /T /U /V /W /X /Y /Z /_a234 + /_a235 /_a236 /_a237 /_a238 /_a239 /zero /one /two /three /four + /five /six /seven /eight /nine /_a250 /_a251 /_a252 /_a253 /_a254 + /_a255 + % Don't forget to end the array. + ] def' + +All entries in the encoding vector are PostScript "names" and therefore +must be prefixed with a slash. Unnamed characters such as control +characters are commonly named `_aNUMBER', where NUMBER is the decimal +offset into the character table. Undefined characters are indicated by +`.notdef'. In the EBCDIC example, the character at position 0 in the +font will be named `a0'; the character at position 1 will be named +`a1'; the character at position 74 will be named `bracketleft'; the +character at position 129 will be named `a'; and so forth. + + Individual characters can be mapped to an encoding either numerically +or by executing a *glyph_name* command within a character definition. +For example, the following code overrides the character position passed +to *beginchar* (i.e., 123) with whatever character position the current +encoding has designated for the `ohungarumlaut' glyph: + + beginchar (123, cap_height#-1/2pt#, cap_height#, 0); + if known ps_output: + glyph_name "ohungarumlaut"; + fi + ... + endchar; + + +File: mf2pt1.info, Node: Restoring mfplain defaults, Prev: Custom font encodings, Up: Usage + +2.5 Restoring `mfplain' defaults +================================ + +`mf2pt1' normally redefines *filldraw* as *fill* and *unfilldraw* and +*unfill* because Type 1 fonts don't allow overlapping curves. +Similarly, `mf2pt1' redefines *pencircle* as a 20-gon to coerce +MetaPost into drawing it using a filled instead of a stroked PostScript +path. + + If you know you'll be postprocessing your fonts using FontForge, +which can automatically convert overlapping paths to nonoverlapping +paths, then you can restore the original `mfplain.mp' definitions of +*filldraw*, *unfilldraw*, and *pencircle* as follows: + + if known ps_output: + pencircle := mfplain_pencircle; + let filldraw := mfplain_filldraw; + let unfilldraw := mfplain_unfilldraw; + fi + + +File: mf2pt1.info, Node: Future Work, Next: Acknowledgments, Prev: Usage, Up: Top + +3 Future Work +************* + +One avenue for future work is to enable the font designer to specify +Type 1 font hints directly in the Metafont font program. Hinting is a +way for a font designer to specify how a font should be rendered at low +resolutions, for example, at typical monitor resolutions. In Metafont +, this is done by controlling the way that points are mapped to pixel +locations, using commands such as *define_corrected_pixels*, +*define_blacker_pixels*, and *lowres_fix*. Type 1 fonts are hinted in +a completely different manner. Type 1 hints distinguish key character +features, such as stems and dots, from decorations which can be +discarded at low resolutions. The PostScript interpreter uses that +information to determine how to map points to pixels. Although +`mf2pt1' employs FontForge to autohint the fonts it generates, the +approach is mechanical and unlikely to hint as well as a human can do +manually. It would be convenient for `mf2pt1' one day to provide +Metafont commands for *hstem*, *vstem*, *dotsection*, and the other +Type 1 hints. That way, hints will no longer need to be re-added +manually every time `mf2pt1' regenerates a Type 1 font. + + Another future addition to `mf2pt1' is the addition of more font +encodings. The following are the encodings that `mf2pt1' will most +likely accept: + +`TeXMathItalicEncoding' + Upper- and lowercase Greek and Latin letters, old-style digits, + and a few symbols and accents. + +`TeXMathSymbolEncoding' + A variety of symbols, as well as calligraphic Latin majuscules. + +`TeXMathExtensionEncoding' + Variable-sized symbols, such as braces, integrals, and radicals. + +`AdobeExpert' + Small caps, currency symbols, old-style digits, and various + superior and inferior letters and digits. + + +File: mf2pt1.info, Node: Acknowledgments, Prev: Future Work, Up: Top + +Acknowledgments +*************** + +Many thanks are owed to Werner Lemberg for writing the code underlying +the `--rounding' option; for introducing the *glyph_name* command and +`asis' encoding vector; for providing the default FontForge script +listed in *note Additional command-line options::; for fixing some +code-generation bugs in `mf2pt1'; for finding a more robust way to dump +`mf2pt1.mem'; for directing me to the overlap-removal code mentioned in +*note Restrictions::; for supplying the _crossproduct_, _makeline_, and +_is_clockwise_ functions used by `mf2pt1.mp'; for proposing the +`--bpppix' command-line option; and, for suggesting various features and +improvements to `mf2pt1'. Thanks also go to Werner Lemberg and Boguslaw +Jackowski for updating the *is_clockwise* function in `mf2pt1.mp' to +work around a bug in MetaPost which relates to the *turningnumber* +command. Finally, thanks go to Ralf Stubner for providing the T1 +encoding vector and for pointing out a typo in the generated font +programs; to Michael Zedler for alerting me to problems with +`--encoding' and suggesting I modify that option to accept PostScript +`.enc' files; and to Michael Ummels for fixing a couple of bugs that +made character widths in the generated fonts slightly too large. + + + +Tag Table: +Node: Top301 +Node: Introduction840 +Node: Requirements2677 +Node: Installation4426 +Node: Usage6237 +Node: Restrictions7953 +Node: Font information10343 +Node: Parameters11703 +Node: Command-line equivalents15078 +Node: Default values16202 +Node: Parameter example17880 +Node: Additional command-line options19899 +Node: Custom font encodings22238 +Node: Restoring mfplain defaults25689 +Node: Future Work26548 +Node: Acknowledgments28415 + +End Tag Table diff --git a/Master/texmf-dist/doc/info/tds.info b/Master/texmf-dist/doc/info/tds.info new file mode 100644 index 00000000000..8b2418cd0a2 --- /dev/null +++ b/Master/texmf-dist/doc/info/tds.info @@ -0,0 +1,1714 @@ +This is tds.info, produced by makeinfo version 4.7 from tds.texi. + +INFO-DIR-SECTION TeX +START-INFO-DIR-ENTRY +* TeX Directories: (tds). A directory structure for TeX files. +END-INFO-DIR-ENTRY + + +File: tds.info, Node: Top, Next: Introduction, Up: (dir) + +A Directory Structure for TeX Files +*********************************** + +Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2003, 2004 TeX Users +Group. + + Permission to use, copy, and distribute this document _without +modification_ for any purpose and without fee is hereby granted, +provided that this notice appears in all copies. It is provided "as +is" without expressed or implied warranty. + + Permission is granted to copy and distribute modified versions of +this document under the conditions for verbatim copying, provided that +the modifications are clearly marked and the document is not +represented as the official one. + + This document is available on any CTAN host (see Appendix *Note +Related references::). Please send questions or suggestions by email to +<tds@tug.org>. We welcome all comments. This is version 1.1. + +* Menu: + +* Introduction:: +* General:: +* Top-level directories:: +* Summary:: +* Unspecified pieces:: +* Implementation issues:: +* Is there a better way?:: +* Related references:: +* Contributors:: + + --- The Detailed Node Listing --- + +Introduction + +* History:: +* The role of the TDS:: +* Conventions:: + +General + +* Subdirectory searching:: +* Rooting the tree:: +* Local additions:: +* Duplicate filenames:: + +Top-level directories + +* Macros:: +* Fonts:: +* Non-font Metafont files:: +* MetaPost:: +* BibTeX:: +* Scripts:: +* Documentation:: + +Macros + +* Extensions:: + +Fonts + +* Font bitmaps:: +* Valid font bitmaps:: + +Summary + +* Documentation tree summary:: + +Unspecified pieces + +* Portable filenames:: + +Implementation issues + +* Adoption of the TDS:: +* More on subdirectory searching:: +* Example implementation-specific trees:: + +Example implementation-specific trees + +* AmiWeb2c 2.0:: +* Public DECUS TeX:: +* Web2c 7:: + +Is there a better way? + +* Macro structure:: +* Font structure:: +* Documentation structure:: + +Font structure + +* Font file type location:: +* Mode and resolution location:: +* Modeless bitmaps:: + + +File: tds.info, Node: Introduction, Next: General, Prev: Top, Up: Top + +1 Introduction +************** + +TeX is a powerful, flexible typesetting system used by many people +around the world. It is extremely portable and runs on virtually all +operating systems. One unfortunate side effect of TeX's flexibility, +however, is that there has been no single "right" way to install it. +This has resulted in many sites having different installed arrangements. + + The primary purpose of this document is to describe a standard TeX +Directory Structure (TDS): a directory hierarchy for macros, fonts, and +the other implementation-independent TeX system files. As a matter of +practicality, this document also suggests ways to incorporate the rest +of the TeX files into a single structure. The TDS has been designed to +work on all modern systems. In particular, the Technical Working Group +(TWG) believes it is usable under MacOS, MS-DOS, OS/2, Unix, VMS, and +Windows NT. We hope that administrators and developers of both free +and commercial TeX implementations will adopt this standard. + + This document is intended both for the TeX system administrator at a +site and for people preparing TeX distributions--everything from a +complete runnable system to a single macro or style file. It may also +help TeX users find their way around systems organized this way. It is +not a tutorial: we necessarily assume knowledge of the many parts of a +working TeX system. If you are unfamiliar with any of the programs or +file formats we refer to, consult the references in Appendix *Note +Related references::. + +* Menu: + +* History:: +* The role of the TDS:: +* Conventions:: + + +File: tds.info, Node: History, Next: The role of the TDS, Up: Introduction + +1.1 History +=========== + +Version 1.0 of the TDS was released in February 2003. + + Version 1.1 was released in June 2004, with the following +non-editorial changes: + + * Inputs for TeX extensions included under `tex', instead of + in their own top-level directories (Section *Note Extensions::) + + * New top-level directory `scripts' (Section *Note Scripts::). + + * New subdirectories `lig', `opentype', `truetype', and + `type3' under `fonts' (Section *Note Fonts::). + + * `enc', `lig', and `map' all use `SYNTAX/PACKAGE' + subdirectories (Section *Note Fonts::). + + * `pfm' files specified to go under `type1', and `inf' files + under `afm' (Section *Note Fonts::). + + +File: tds.info, Node: The role of the TDS, Next: Conventions, Prev: History, Up: Introduction + +1.2 The role of the TDS +======================= + +The role of the TDS is to stabilize the organization of TeX-related +software packages that are installed and in use, possibly on multiple +platforms simultaneously. + + At first glance, it may seem that the Comprehensive TeX Archive +Network (CTAN) fulfills at least part of this role, but this is not the +case. The role of CTAN is to simplify archiving and distribution, not +installation and use. + + In fact, the roles of the TDS and CTAN are frequently in conflict, +as we will see. For distribution, many different types of files must +be combined into a single unit; for use, it is traditional to segregate +files (even similar files) from a single package into separate, +occasionally distant, directories. + + +File: tds.info, Node: Conventions, Prev: The role of the TDS, Up: Introduction + +1.3 Conventions +=============== + +In this document, `/' is used to separate filename components; for +example, `texmf/fonts'. This is the Unix convention but the ideas are +in no way Unix-specific. + + In this document, "TeX" generally means the TeX system, including +Metafont, DVI drivers, utilities, etc., not just the TeX program itself. + + The word "package" in this document has its usual meaning: a set of +related files distributed, installed, and maintained as a unit. This is +_not_ a LaTeX2e package, which is a style file supplementing a document +class. + + We use the following typographic conventions: + + * `literal' Literal text such as `filename' is typeset in typewriter + type. + + * `REPLACEABLE' Replaceable text such as `PACKAGE', identifying a + class of things, is typeset in italics inside angle brackets. + + + +File: tds.info, Node: General, Next: Top-level directories, Prev: Introduction, Up: Top + +2 General +********* + +This section describes common properties throughout the TDS tree. + +* Menu: + +* Subdirectory searching:: +* Rooting the tree:: +* Local additions:: +* Duplicate filenames:: + + +File: tds.info, Node: Subdirectory searching, Next: Rooting the tree, Up: General + +2.1 Subdirectory searching +========================== + +Older TeX installations store large numbers of related files in single +directories, for example, all `TFM' files and/or all TeX input files. + + This monolithic arrangement hinders maintenance of a TeX system: it +is difficult to determine what files are used by what packages, what +files need to be updated when a new version is installed, or what files +should be deleted if a package is removed. It is also a source of error +if two or more packages happen to have input files with the same name. + + Therefore, the TWG felt each package should be in a separate +directory. But we recognized that explicitly listing all directories to +be searched would be unbearable. A site may wish to install dozens of +packages. Aside from anything else, listing that many directories would +produce search paths many thousands of characters long, overflowing the +available space on some systems. + + Also, if all directories are explicitly listed, installing or +removing a new package would mean changing a path as well as installing +or removing the actual files. This would be a time-consuming and +error-prone operation, even with implementations that provide some way +to specify the directories to search at runtime. On systems without +runtime configuration, it would require recompiling software, an +intolerable burden. + + As a result, the TWG concluded that a comprehensive TDS requires +implementations to support some form of implicit subdirectory +searching. More precisely, implementations must make it possible to +specify that TeX, Metafont, and their companion utilities search in both +a specified directory and recursively through all subdirectories of that +directory when looking for an input file. Other forms of subdirectory +searching, for example recursive-to-one-level searches, may also be +provided. We encourage implementors to provide subdirectory searching +at the option of the installer and user for all paths. + + The TDS does not specify a syntax for specifying recursive +searching, but we encourage implementors to provide interoperability +(see Section *Note More on subdirectory searching::). + + +File: tds.info, Node: Rooting the tree, Next: Local additions, Prev: Subdirectory searching, Up: General + +2.2 Rooting the tree +==================== + +In this document, we shall designate the root TDS directory by `texmf' +(for "TeX and Metafont"). We recommend using that name where possible, +but the actual name of the directory is up to the installer. On PC +networks, for example, this could map to a logical drive specification +such as `T:'. + + Similarly, the location of this directory on the system is +site-dependent. It may be at the root of the file system; on Unix +systems, `/usr/local/share', `/usr/local', `/usr/local/lib', and `/opt' +are common choices. + + The name `texmf' was chosen for several reasons: it reflects the fact +that the directory contains files pertaining to an entire TeX system +(including Metafont, MetaPost, BibTeX, etc.), not just TeX itself; and +it is descriptive of a generic installation rather than a particular +implementation. + + A site may choose to have more than one TDS hierarchy installed (for +example, when installing an upgrade). This is perfectly legitimate. + + +File: tds.info, Node: Local additions, Next: Duplicate filenames, Prev: Rooting the tree, Up: General + +2.3 Local additions +=================== + +The TDS cannot specify precisely when a package is or is not a "local +addition". Each site must determine this according to its own +conventions. At the two extremes, one site might wish to consider +"nonlocal" all files not acquired as part of the installed TeX +distribution; another site might consider "local" only those files that +were actually developed at the local site and not distributed elsewhere. + + We recognize two common methods for local additions to a distributed +`texmf' tree. Both have their place; in fact, some sites employ both +simultaneously: + + 1. A completely separate tree which is a TDS structure itself; for + example, `/usr/local/umbtex' at the University of Massachusetts at + Boston. This is another example of the multiple `texmf' + hierarchies mentioned in the previous section. + + 2. A directory named `local' at any appropriate level, for example, + in the `FORMAT', `PACKAGE', and `SUPPLIER' directories discussed + in the following sections. The TDS reserves the directory name + `local' for this purpose. + + We recommend using `local' for site-adapted configuration files, + such as `language.dat' for the Babel package or `graphics.cfg' for + the graphics package. Unmodified configuration files from a + package should remain in the package directory. The intent is to + separate locally modified or created files from distribution + files, to ease installing new releases. + + + One common case of local additions is dynamically generated files, +e.g., PK fonts by the `mktexpk' script (which originated in Dvips as +`MakeTeXPK'). A site may store the generated files directly in any of: + * their standard location in the main TDS tree (if it can be made + globally writable); + + * an alternative location in the main TDS tree (for example, under + `texmf/fonts/tmp'); + + * a second complete TDS tree (as outlined above); + + * any other convenient directory (perhaps under `/var', for example + `/var/spool/fonts'). + + + No one solution will be appropriate for all sites. + + +File: tds.info, Node: Duplicate filenames, Prev: Local additions, Up: General + +2.4 Duplicate filenames +======================= + +Different files by the same name may exist in a TDS tree. The TDS +generally leaves unspecified which of two files by the same name in a +search path will be found, so generally the only way to reliably find a +given file is for it to have a unique name. However, the TDS requires +implementations to support the following exceptions: + + * Names of TeX input files must be unique within each first-level + subdirectory of `texmf/tex' and `texmf/tex/generic', but not + within all of `texmf/tex'; i.e., different TeX formats may have + files by the same name. (Section *Note Macros:: discusses this + further.) Thus, no single format-independent path specification, + such as a recursive search beginning at `texmf/tex' specifying no + other directories, suffices. So implementations must provide + format-dependent path specifications, for example via wrapper + scripts or configuration files. + + * Many font files will have the same name (e.g., `cmr10.pk'), as + discussed in Section *Note Valid font bitmaps::. Implementations + must distinguish these files by mode and resolution. + + + All implementations we know of already have these capabilities. + + One place where duplicate names are likely to occur is not an +exception: + + * Names of Metafont input files (as opposed to bitmaps) must be + unique within all of `texmf/fonts'. In practice, this is a problem + with some variants of Computer Modern which contain slightly + modified files named `punct.mf', `romanl.mf', and so on. We + believe the only feasible solution is to rename the derivative + files to be unique. + + + +File: tds.info, Node: Top-level directories, Next: Summary, Prev: General, Up: Top + +3 Top-level directories +*********************** + +The directories under the `texmf' root identify the major components of +a TeX system (see Section *Note Summary:: for a summary). A site may +omit any unneeded directories. + + Although the TDS by its nature can specify precise locations only +for implementation-independent files, we recognize that installers may +well wish to place other files under `texmf' to simplify administration +of the TeX tree, especially if it is maintained by someone other than +the system administrator. Therefore, additional top-level directories +may be present. + + The top-level directories specified by the TDS are: + + * `tex' for TeX files (Section *Note Macros::). + + * `fonts' for font-related files (Section *Note Fonts::). + + * `metafont' for Metafont files which are not fonts (Section *Note + Non-font Metafont files::). + + * `metapost' for MetaPost files (Section *Note MetaPost::). + + * `bibtex' for BibTeX files (Section *Note BibTeX::). + + * `scripts' for platform-independent executables (Section *Note + Scripts::). + + * `doc' for user documentation (Section *Note Documentation::). + + * `source' for sources. This includes both traditional program + sources (for example, Web2C sources go in `texmf/source/web2c') + and, e.g., LaTeX `dtx' sources (which go in `texmf/source/latex'). + The TDS leaves unspecified any structure under `source'. + + `source' is intended for files which are not needed at runtime by + any TeX program; it should not be included in any search path. For + example, `plain.tex' does not belong under `texmf/source', even + though it is a "source file" in the sense of not being derived + from another file. (It goes in `texmf/tex/plain/base', as explained + in Section *Note Macros::). + + * `IMPLEMENTATION' for implementations (examples: `emtex', `vtex', + `web2c'), to be used for whatever purpose deemed suitable by the + implementor or TeX administrator. That is, files that cannot be + shared between implementations, such as pool files (`tex.pool') + and memory dump files (`plain.fmt') go here, in addition to + implementation-wide configuration files. See Section *Note + Example implementation-specific trees:: for examples of real + `IMPLEMENTATION' trees. + + Such implementation-specific configuration files should _not_ be + located using the main TeX input search path (e.g., `TEXINPUTS'). + This must be reserved for files actually read by a TeX engine. + See Section *Note Extensions::. + + * `PROGRAM' for program-specific input and configuration files for + any TeX-related programs (examples: `mft', `dvips'). In fact, the + `tex', `metafont', `metapost', and `bibtex' items above may all be + seen as instances of this case. + + +* Menu: + +* Macros:: +* Fonts:: +* Non-font Metafont files:: +* MetaPost:: +* BibTeX:: +* Scripts:: +* Documentation:: + + +File: tds.info, Node: Macros, Next: Fonts, Up: Top-level directories + +3.1 Macros +========== + +TeX macro files shall be stored in separate directories, segregated by +TeX format and package name (we use `format' in its traditional TeX +sense to mean a usefully `\dump'-able package): + texmf/tex/FORMAT/PACKAGE/ + + * `FORMAT' is a format name (examples: `amstex', `latex', `plain', + `texinfo'). + + The TDS allows distributions that can be used as either formats or + packages (e.g., Texinfo, Eplain) to be stored at either level, at + the option of the format author or TeX administrator. We recommend + that packages used as formats at a particular site be stored at the + `FORMAT' level: by adjusting the TeX inputs search path, it will + be straightforward to use them as macro packages under another + format, whereas placing them in another tree completely obscures + their use as a format. + + The TDS reserves the following `FORMAT' names: + + * `generic', for input files that are useful across a wide + range of formats (examples: `null.tex', `path.sty'). + Generally, this means any format that uses the category codes + of Plain TeX and does not rely on any particular format. + This is in contrast to those files which are useful only with + Plain TeX (which go under `texmf/tex/plain'), e.g., + `testfont.tex' and `plain.tex' itself. + + * `local', for local additions. See Section *Note Local + additions::. + + + Thus, for almost every format, it is necessary to search at least + the `FORMAT' directory and then the `generic' directory (in that + order). Other directories may need to be searched as well, + depending on the format. When using AMS-TeX, for example, the + `amstex', `plain', and `generic' directories should be searched, + because AMS-TeX is compatible with Plain. + + * `PACKAGE' is a TeX package name (examples: `babel', `texdraw'). + + In the case where a format consists of only a single file and has + no auxiliary packages, that file can simply be placed in the + `FORMAT' directory, instead of `FORMAT/base'. For example, + Texinfo may go in `texmf/tex/texinfo/texinfo.tex', not + `texmf/tex/texinfo/base/texinfo.tex'. + + The TDS reserves the following `PACKAGE' names: + + * `base', for the base distribution of each format, including + files used by INITEX when dumping format files. For example, + in the standard LaTeX distribution, the `ltx' files created + during the build process. Another example: the `.ini' driver + files for formats used by TeX Live and other distributions. + + * `hyphen', for hyphenation patterns, including the original + American English `hyphen.tex'. These are typically used only + by INITEX. In most situations, this directory need exist + only under the `generic' format. + + * `images', for image input files, such as Encapsulated + PostScript figures. Although it is somewhat non-intuitive for + these to be under a directory named `tex', TeX needs to read + these files to glean bounding box or other information. A + mechanism for sharing image inputs between TeX and other + typesetting programs (e.g., Interleaf, FrameMaker) is beyond + the scope of the TDS. In most situations, this directory need + exist only under the `generic' format. + + * `local', for local additions and configuration files. See + Section *Note Local additions::. + + * `misc', for packages that consist of a single file. An + administrator or package maintainer may create directories for + single-file packages at their discretion, instead of using + `misc'. + + + +* Menu: + +* Extensions:: + + +File: tds.info, Node: Extensions, Up: Macros + +3.1.1 Extensions +---------------- + +TeX has spawned many companion and successor programs ("engines"), such +as PDFTeX, Omega, and others. The TDS specifies that the input files +for such programs (using a TeX-like syntax) be placed within the +top-level `tex' directory, either at the top level or within a format +subdirectory, even though the original TeX program may not be able to +read them. For example: + + texmf/tex/aleph + texmf/tex/enctex + + This is a change from TDS 1.0, which specified top-level `EXTENSION' +directories for each such program. We felt the new approach is +preferable, because: + + * Authors of relevant packages typically make their code detect the + engine being used, and issue error messages or adapt to + circumstances appropriately. Furthermore, as a package matures, + it may support multiple engines. Thus, a package could + conceivably be placed in any of several top-level directories, at + different times. Putting all packages under the top-level `tex' + directory provides a stable location over time. + + * Users need to be able to switch between engines, and configuring + different search paths for each engine is difficult and + error-prone. + + + Thus, in practice, having different top-level directories caused +difficulties for everyone involved--users, package authors, site +administrators, and system distributors. + + Please contrast this approach with the `IMPLEMENTATION' top-level +subdirectory (Section *Note Top-level directories::), which is to be +used for configuration files that (presumably) do not use TeX syntax +and in any case should not be found along the main TeX input search +path. + + +File: tds.info, Node: Fonts, Next: Non-font Metafont files, Prev: Macros, Up: Top-level directories + +3.2 Fonts +========= + +Font files are stored in separate directories, segregated by file type, +and then (in most cases) font supplier and typeface. PK and GF files +need additional structure, as detailed in the next section. + + texmf/fonts/TYPE/SUPPLIER/TYPEFACE/ + texmf/fonts/enc,lig,map/SUBPATH/ + + * `TYPE' is the type of font file. The TDS reserves the following + `TYPE' names for common TeX file types: + + * `afm', for Adobe font metrics, and `inf' files. + + * `gf', for generic font bitmap files. + + * `opentype', for OpenType fonts. + + * `pk', for packed bitmap files. + + * `source', for font sources (Metafont files, property lists, + etc.). + + * `tfm', for TeX font metric files. + + * `truetype', for TrueType fonts. + + * `type1', for PostScript Type 1 fonts (in `pfa', `pfb', + or any other format), and `pfm' files. + + * `type3', for PostScript Type 3 fonts. + + * `vf', for virtual fonts. + + The TDS also reserves the names `enc', `lig', and `map' for font + encoding, ligature, and mapping files, respectively. All of these + directories are structured the same way, with `SYNTAX' + subdirectories, and then `PACKAGE' subsubdirectories. Each of + these file types is intended to be searched along its own + recursively-searched path. The names of the actual files must be + unique within their subtree, as usual. Examples: + fonts/map/dvipdfm/updmap/dvipdfm.map + fonts/map/dvips/lm/lm.map + fonts/enc/dvips/base/8r.enc + + The Fontname and Dvips packages have more examples of the `enc' and + `map' types. The `afm2pl' program uses `lig' files. + + `pfm' files are included in the `type1' directory, instead of + being given their own directory, for two reasons: 1) a `.pfm' file + is always an adjunct to a given `.pfb' file; 2) they must be + installed from the same directory for Windows programs other than + TeX to use them. + + `inf' files are included in the `afm' directory, since an `inf' + and `afm' file can be used to generate a `pfm'. (Unfortunately, + Adobe Type Manager and perhaps other software requires that the + `pfb' be in the same directory as `afm' and `inf' for + installation.) + + As usual, a site may omit any of these directories that are + unnecessary. `gf' is a particularly likely candidate for omission. + + * `SUPPLIER' is a name identifying font source (examples: `adobe', + `ams', `public'). The TDS reserves the following `SUPPLIER' names: + + * `ams', for the American Mathematical Society's AMS-fonts + collection. + + * `local', for local additions. See Section *Note Local + additions::. + + * `public', for freely redistributable fonts where the supplier + neither (1) requested their own directory (e.g., `ams'), nor + (2) also made proprietary fonts (e.g., `adobe'). It does not + contain all extant freely distributable fonts, nor are all + files therein necessarily strictly public domain. + + * `tmp', for dynamically-generated fonts, as is traditional on + some systems. It may be omitted if unnecessary, as usual. + + + * `TYPEFACE' is the name of a typeface family (examples: `cm', + `euler', `times'). The TDS reserves the following `TYPEFACE' names: + + * `cm' (within `public'), for the 75 fonts defined in + `Computers and Typesetting, Volume E'. + + * `latex' (within `public'), for those fonts distributed with + LaTeX in the base distribution. + + * `local', for local additions. See Section *Note Local + additions::. + + + + Some concrete examples: + texmf/fonts/source/public/pandora/pnr10.mf + texmf/fonts/tfm/public/cm/cmr10.tfm + texmf/fonts/type1/adobe/utopia/putr.pfa + + For complete supplier and typeface name lists, consult `Filenames +for TeX fonts' (see Appendix *Note Related references::). + +* Menu: + +* Font bitmaps:: +* Valid font bitmaps:: + + +File: tds.info, Node: Font bitmaps, Next: Valid font bitmaps, Up: Fonts + +3.2.1 Font bitmaps +------------------ + +Font bitmap files require two characteristics in addition to the above +to be uniquely identifiable: (1) the type of device (i.e., mode) for +which the font was created; (2) the resolution of the bitmap. + + Following common practice, the TDS segregates fonts with different +device types into separate directories. See `modes.mf' in +Appendix *Note Related references:: for recommended mode names. + + Some printers operate at more than one resolution (e.g., at 300dpi +and 600dpi), but each such resolution will necessarily have a different +mode name. Nothing further is needed, since implicit in the TeX system +is the assumption of a single target resolution. + + Two naming strategies are commonly used to identify the resolution of +bitmap font files. On systems that allow long filenames (and in the +original Metafont program itself), the resolution is included in the +filename (e.g., `cmr10.300pk'). On systems which do not support long +filenames, fonts are generally segregated into directories by +resolution (e.g., `dpi300/cmr10.pk'). + + Because the TDS cannot require long filenames, we must use the +latter scheme for naming fonts. So we have two more subdirectory levels +under `pk' and `gf': + + texmf/fonts/pk/MODE/SUPPLIER/TYPEFACE/dpiNNN/ + texmf/fonts/gf/MODE/SUPPLIER/TYPEFACE/dpiNNN/ + + * `MODE' is a name which identifies the device type (examples: `cx', + `ljfour', `modeless'). Usually, this is the name of the Metafont + mode used to build the PK file. For fonts rendered as bitmaps by + a program that does not distinguish between different output + devices, the `MODE' name shall be simply `modeless'. The `MODE' + level shall not be omitted, even if only a single mode happens to + be in use. + + * `dpiNNN' specifies the resolution of the font (examples: `dpi300', + `dpi329'). `dpi' stands for dots per inch, i.e., pixels per inch. + We recognize that pixels per millimeter is used in many parts of + the world, but dpi is too traditional in the TeX world to consider + changing now. + + The integer `NNN' is to be calculated as if using Metafont + arithmetic and then rounded; i.e., it is the integer Metafont uses + in its output `gf' filename. We recognize small differences in the + resolution are a common cause of frustration among users, however, + and recommend implementors follow the level 0 DVI driver standard + (see Appendix *Note Related references::) in bitmap font searches + by allowing a fuzz of +-0.2% (with a minimum of 1) in the `DPI'. + + + Implementations may provide extensions to the basic naming scheme, +such as long filenames (as in the original Metafont) and font library +files (as in emTeX's `.fli' files), provided that the basic scheme is +also supported. + + +File: tds.info, Node: Valid font bitmaps, Prev: Font bitmaps, Up: Fonts + +3.2.2 Valid font bitmaps +------------------------ + +The TWG recognizes that the use of short filenames has many +disadvantages. The most vexing is that it results in the creation of +dozens of different files with the same name. At a typical site, +`cmr10.pk' will be the filename for Computer Modern Roman 10pt at 5-10 +magnifications for 2-3 modes. (Section *Note Duplicate filenames:: +discusses duplicate filenames in general.) + + To minimize this problem, we strongly recommend that PK files +contain enough information to identify precisely how they were created: +at least the mode, base resolution, and magnification used to create the +font. + + This information is easy to supply: a simple addition to the local +modes used for building the fonts with Metafont will automatically +provide the required information. If you have been using a local modes +file derived from (or that is simply) `modes.mf' (see Appendix *Note +Related references::), the required information is already in your PK +files. If not, a simple addition based on the code found in `modes.mf' +can be made to your local modes file and the PK files rebuilt. + + +File: tds.info, Node: Non-font Metafont files, Next: MetaPost, Prev: Fonts, Up: Top-level directories + +3.3 Non-font Metafont files +=========================== + +Most Metafont input files are font programs or parts of font programs +and are thus covered by the previous section. However, a few non-font +input files do exist. Such files shall be stored in: + + texmf/metafont/PACKAGE/ + + `PACKAGE' is the name of a Metafont package (for example, `mfpic'). + + The TDS reserves the following `PACKAGE' names: + + * `base', for the standard Metafont macro files as described in `The + Metafontbook', such as `plain.mf' and `expr.mf'. + + * `local', for local additions. See Section *Note Local additions::. + + * `misc', for Metafont packages consisting of only a single file + (for example, `modes.mf'). An administrator or package maintainer + may create directories for single-file packages at their + discretion, instead of using `misc'. + + + +File: tds.info, Node: MetaPost, Next: BibTeX, Prev: Non-font Metafont files, Up: Top-level directories + +3.4 MetaPost +============ + +MetaPost is a picture-drawing language developed by John Hobby, derived +from Knuth's Metafont. Its primary purpose is to output Encapsulated +PostScript instead of bitmaps. + + MetaPost input files and the support files for MetaPost-related +utilities shall be stored in: + + texmf/metapost/PACKAGE/ + + `PACKAGE' is the name of a MetaPost package. At the present writing +none exist, but the TWG thought it prudent to leave room for +contributed packages that might be written in the future. + + The TDS reserves the following `PACKAGE' names: + + * `base', for the standard MetaPost macro files, such as `plain.mp', + `mfplain.mp', `boxes.mp', and `graph.mp'. This includes files + used by INIMP when dumping mem files containing preloaded macro + definitions. + + * `local', for local additions. See Section *Note Local additions::. + + * `misc', for MetaPost packages consisting of only a single file. + An administrator or package maintainer may create directories for + single-file packages at their discretion, instead of using `misc'. + + * `support', for additional input files required by MetaPost utility + programs, including a font map, a character adjustment table, and + a subdirectory containing low-level MetaPost programs for rendering + some special characters. + + + +File: tds.info, Node: BibTeX, Next: Scripts, Prev: MetaPost, Up: Top-level directories + +3.5 BibTeX +========== + +BibTeX-related files shall be stored in: + + texmf/bibtex/bib/PACKAGE/ + texmf/bibtex/bst/PACKAGE/ + + The `bib' directory is for BibTeX database (`.bib') files, the `bst' +directory for style (`.bst') files. + + `PACKAGE' is the name of a BibTeX package. The TDS reserves the +following `PACKAGE' names (the same names are reserved under both `bib' +and `bst'): + + * `base', for the standard BibTeX databases and styles, such as + `xampl.bib', `plain.bst'. + + * `local', for local additions. See Section *Note Local additions::. + + * `misc', for BibTeX packages consisting of only a single file. An + administrator or package maintainer may create directories for + single-file packages at their discretion, instead of using `misc'. + + + +File: tds.info, Node: Scripts, Next: Documentation, Prev: BibTeX, Up: Top-level directories + +3.6 Scripts +=========== + +The top-level `scripts' directory is for platform-independent +executables, such as Perl, Python, and shell scripts, and Java class +files. Subdirectories under `scripts' are package names. This eases +creating distributions, by providing a common place for such +platform-independent programs. + + The intent is not for all such directories to be added to a user's +command search path, which would be quite impractical. Rather, these +executables are primarily for the benefit of wrapper scripts in whatever +executable directory a distribution may provide (which is not specified +by the TDS). + + Truly auxiliary scripts which are invoked directly by other programs, +rather than wrapper scripts, may also be placed here. That is, +`scripts' also serves as a platform-independent analog of the standard +Unix `libexec' directory. + + We recommend using extensions specifying the language (such as +`.pl', `.py', `.sh') on these files, to help uniquely identify the +name. Since the intent of the TDS is for programs in `scripts' not to +be invoked directly by users, this poses no inconvenience. + + For example, in the TeX Live distribution, the ConTeXt user-level +program `texexec' can exist as a small wrapper script in each +`bin/PLATFORM/texexec' (which is outside the `texmf' tree), which +merely finds and calls `texmf/scripts/context/perl/texexec.pl'. + + Examples: + scripts/context/perl/texexec.pl + scripts/context/ruby/examplex.rb + scripts/thumbpdf/thumbpdf.pl + + The TDS does not specify a location for platform-dependent binary +executables, whether auxiliary or user-level. + + +File: tds.info, Node: Documentation, Prev: Scripts, Up: Top-level directories + +3.7 Documentation +================= + +Most packages come with some form of documentation: user manuals, +example files, programming guides, etc. In addition, many independent +files not part of any macro or other package have been created to +describe various aspects of the TeX system. + + The TDS specifies that these additional documentation files shall be +stored in a structure that parallels to some extent the `fonts' and +`tex' directories, as follows: + + texmf/doc/CATEGORY/... + + `CATEGORY' identifies the general topic of documentation that +resides below it; for example, a TeX format name (`latex'), program +name (`bibtex', `tex'), language (`french', `german'), a file format +(`info', `man'), or other system components (`web', `fonts'). + + One possible arrangement is to organize `doc' by language, with all +the other category types below that. This helps users find +documentation in the language(s) in which they are fluent. Neither this +nor any other particular arrangement is required, however. + + Within each `CATEGORY' tree for a TeX format, the directory `base' +is reserved for base documentation distributed by the format's +maintainers. + + The TDS reserves the following category names: + + * `general', for standalone documents not specific to any particular + program (for example, Joachim Schrod's `Components of TeX'). + + * `help', for meta-information, such as FAQ's, the TeX Catalogue, + etc. + + * `info', for processed Texinfo documents. (Info files, like + anything else, may also be stored outside the TDS, at the + installer's option.) + + * `local', for local additions. See Section *Note Local additions::. + + + The `doc' directory is intended for implementation-independent and +operating system-independent documentation files. +Implementation-dependent files are best stored elsewhere, as provided +for by the implementation and/or TeX administrator (for example, VMS +help files under `texmf/vms/help'). + + The documentation directories may contain TeX sources, DVI files, +PostScript files, text files, example input files, or any other useful +documentation format(s). + + See Section *Note Documentation tree summary:: for a summary. + + +File: tds.info, Node: Summary, Next: Unspecified pieces, Prev: Top-level directories, Up: Top + +4 Summary +********* + +A skeleton of a TDS `texmf' directory tree. This is not to imply these +are the only entries allowed. For example, `local' may occur at any +level. + + bibtex/ BibTeX input files + bib/ BibTeX databases + base/ base distribution (e.g., `xampl.bib') + misc/ single-file databases + <package>/ name of a package + bst/ BibTeX style files + base/ base distribution (e.g., `plain.bst', `acm.bst') + misc/ single-file styles + <package>/ name of a package + doc/ see Section *Note Documentation:: and the summary below + fonts/ font-related files + <type>/ file type (e.g., `pk') + <mode>/ type of output device (for `pk' and `gf' only) + <supplier>/ name of a font supplier (e.g., `public') + <typeface>/ name of a typeface (e.g., `cm') + dpi<nnn>/ font resolution (for `pk' and `gf' only) + <implementation>/ TeX implementations, by name (e.g., `emtex') + local/ files created or modified at the local site + metafont/ Metafont (non-font) input files + base/ base distribution (e.g., `plain.mf') + misc/ single-file packages (e.g., `modes.mf') + <package>/ name of a package (e.g., `mfpic') + metapost/ MetaPost input and support files + base/ base distribution (e.g., `plain.mp') + misc/ single-file packages + <package>/ name of a package + support/ support files for MetaPost-related utilities + mft/ `MFT' inputs (e.g., `plain.mft') + <program>/ TeX-related programs, by name (e.g., `dvips') + source/ program source code by name (e.g., `latex', `web2c') + tex/ TeX input files + <engine>/ name of an engine (e.g., `aleph'); can also be lower + <format>/ name of a format (e.g., `plain') + base/ base distribution for format (e.g., `plain.tex') + misc/ single-file packages (e.g., `webmac.tex') + local/ local additions to or local configuration files for `FORMAT' + <package>/ name of a package (e.g., `graphics', `mfnfss') + generic/ format-independent packages + hyphen/ hyphenation patterns (e.g., `hyphen.tex') + images/ image input files (e.g., Encapsulated PostScript) + misc/ single-file format-independent packages (e.g., `null.tex'). + <package>/ name of a package (e.g., `babel') + +* Menu: + +* Documentation tree summary:: + + +File: tds.info, Node: Documentation tree summary, Up: Summary + +4.1 Documentation tree summary +============================== + +An example skeleton of a TDS directory tree under `texmf/doc'. This is +not to imply these are the only entries allowed, or that this structure +must be followed precisely for the entries listed. + + As mentioned, the `texmf/doc' tree may be organized by language, so +that all documentation in French, say, is in a `french' subdirectory. +In that case, the example structure here would be in a given language +directory. + + ams/ + amsfonts/ `amsfonts.faq', `amfndoc' + amslatex/ `amslatex.faq', `amsldoc' + amstex/ `amsguide', `joyerr' + bibtex/ BibTeX + base/ `btxdoc.tex' + fonts/ + fontname/ `Filenames for TeX fonts' + oldgerm/ `corkpapr' + <format>/ name of a TeX format (e.g., `generic', `latex') + base/ for the base distribution + misc/ for contributed single-file package documentation + <package>/ for _package_ + general/ across programs, generalities + errata/ `errata', `errata[1-8]' + texcomp/ `Components of TeX' + help/ meta-information + ctan/ info about CTAN mirror sites + faq/ FAQs of `comp.text.tex', etc. + info/ GNU Info files, made from Texinfo sources + latex/ example of `FORMAT' + base/ `ltnews*', `*guide', etc. + graphics/ `grfguide' + local/ site-specific documentation + man/ Unix man pages + <program>/ TeX-related programs, by name (examples follow) + metafont/ `mfbook.tex', `metafont-for-beginners', etc. + metapost/ `mpman', `manfig', etc. + tex/ `texbook.tex', `A Gentle Introduction to TeX', etc. + web/ `webman', `cwebman' + + +File: tds.info, Node: Unspecified pieces, Next: Implementation issues, Prev: Summary, Up: Top + +Appendix A Unspecified pieces +***************************** + +The TDS cannot address the following aspects of a functioning TeX +system: + + 1. The location of executable programs: this is too site-dependent + even to recommend a location, let alone require one. A site may + place executables outside the `texmf' tree altogether (e.g., + `/usr/local/bin'), in a platform-dependent directory within + `texmf', or elsewhere. + + 2. Upgrading packages when new releases are made: we could find no + way of introducing version specifiers into `texmf' that would do + more good than harm, or that would be practical for even a + plurality of installations. + + 3. The location of implementation-specific files (e.g., TeX `.fmt' + files): by their nature, these must be left to the implementor or + TeX maintainer. See Section *Note Example implementation-specific + trees::. + + 4. Precisely when a package or file should be considered "local", and + where such local files are installed. See Section *Note Local + additions:: for more discussion. + + +* Menu: + +* Portable filenames:: + + +File: tds.info, Node: Portable filenames, Up: Unspecified pieces + +A.1 Portable filenames +====================== + +The TDS cannot require any particular restriction on filenames in the +tree, since the names of many existing TeX files conform to no standard +scheme. For the benefit of people who wish to make a portable TeX +distribution or installation, however, we outline here the necessary +restrictions. The TDS specifications themselves are compatible with +these. + + ISO-9660 is the only universally acceptable file system format for +CD-ROMs. A subset thereof meets the stringent limitations of all +operating systems in use today. It specifies the following: + + * File and directory names, not including any directory path or + extension part, may not exceed eight characters. + + * Filenames may have a single extension. Extensions may not exceed + three characters. Directory names may not have an extension. + + * Names and extensions may consist of _only_ the characters `A'-`Z', + `0'-`9', and underscore. Lowercase letters are excluded. + + * A period separates the filename from the extension and is always + present, even if the name or extension is missing (e.g., + `FILENAME.' or `.EXT'). + + * A version number, ranging from 1-32767, is appended to the file + extension, separated by a semicolon (e.g., `FILENAME.EXT;1'). + + * Only eight directory levels are allowed, including the top-level + (mounted) directory (see Section *Note Rooting the tree::). Thus, + the deepest valid ISO-9660 path is: + texmf/L2/L3/L4/L5/L6/L7/L8/FOO.BAR;1 + 1 2 3 4 5 6 7 8 + The deepest TDS path needs only seven levels: + texmf/fonts/pk/cx/public/cm/dpi300/cmr10.pk + 1 2 3 4 5 6 7 + + + Some systems display a modified format of ISO-9660 names, mapping +alphabetic characters to lowercase, removing version numbers and +trailing periods, etc. + + Before the December 1996 release, LaTeX used mixed-case names for +font descriptor files. Fortunately, it never relied on case alone to +distinguish among the files. Nowadays, it uses only monocase names. + + +File: tds.info, Node: Implementation issues, Next: Is there a better way?, Prev: Unspecified pieces, Up: Top + +Appendix B Implementation issues +******************************** + +We believe that the TDS can bring a great deal of order to the current +anarchic state of many TeX installations. In addition, by providing a +common frame of reference, it will ease the burden of documenting +administrative tasks. Finally, it is a necessary part of any +reasonable system of true "drop-in" distribution packages for TeX. + +* Menu: + +* Adoption of the TDS:: +* More on subdirectory searching:: +* Example implementation-specific trees:: + + +File: tds.info, Node: Adoption of the TDS, Next: More on subdirectory searching, Up: Implementation issues + +B.1 Adoption of the TDS +======================= + +[This section is retained for historical purposes; the TDS is now quite +firmly entrenched in most TeX distributions.] + + We recognize that adoption of the TDS will not be immediate or +universal. Most TeX administrators will not be inclined to make the +final switch until: + + * Clear and demonstrable benefits can be shown for the TDS. + + * TDS-compliant versions of all key programs are available in + ported, well-tested forms. + + * A "settling" period has taken place, to flush out problems. The + public release of the first draft of this document was the first + step in this process. + + Consequently, most of the first trials of the TDS will be made by +members of the TDS committee and/or developers of TeX-related software. +This has already taken place during the course of our deliberations +(see Appendix *Note Related references:: for a sample tree available +electronically). They will certainly result in the production of a +substantial number of TDS-compliant packages. Indeed, the teTeX and +TeX Live distributions are TDS-compliant and in use now at many sites. + + Once installable forms of key TDS-compliant packages are more +widespread, some TeX administrators will set up TDS-compliant trees, +possibly in parallel to existing production directories. This testing +will likely flush out problems that were not obvious in the confined +settings of the developers' sites; for example, it should help to +resolve system and package dependencies, package interdependencies, and +other details not addressed by this TDS version. + + After most of the dust has settled, hopefully even conservative TeX +administrators will begin to adopt the TDS. Eventually, most TeX sites +will have adopted the common structure, and most packages will be +readily available in TDS-compliant form. + + We believe that this process will occur relatively quickly. The TDS +committee spans a wide range of interests in the TeX community. +Consequently, we believe that most of the key issues involved in +defining a workable TDS definition have been covered, often in detail. +TeX developers have been consulted about implementation issues, and +have been trying out the TDS arrangement. Thus, we hope for few +surprises as implementations mature. + + Finally, there are several (current or prospective) publishers of TeX +CD-ROMs. These publishers are highly motivated to work out details of +TDS implementation, and their products will provide inexpensive and +convenient ways for experimentally-minded TeX administrators to +experiment with the TDS. + + +File: tds.info, Node: More on subdirectory searching, Next: Example implementation-specific trees, Prev: Adoption of the TDS, Up: Implementation issues + +B.2 More on subdirectory searching +================================== + +Recursive subdirectory searching is the ability to specify a search not +only of a specified directory `D', but recursively of all directories +below `D'. + + Since the TDS specifies precise locations for most files, with no +extra levels of subdirectories allowed, true recursive searching is not +actually required for a TDS-compliant implementation. We do, however, +strongly recommend recursive searching as the most user-friendly and +natural approach to the problem, rather than convoluted methods to +specify paths without recursion. + + This feature is already supported by many implementations of TeX and +companion utilities, for example DECUS TeX for VMS, Dvips(k), emTeX +(and its drivers), PubliC TeX, Web2C, Xdvi(k), and Y&YTeX. The +Kpathsea library is a reusable implementation of subdirectory searching +for TeX, used in a number of the above programs. + + Even if your TeX implementation does not directly support +subdirectory searching, you may find it useful to adopt the structure if +you do not use many fonts or packages. For instance, if you only use +Computer Modern and AMS fonts, it would be feasible to store them in +the TDS layout and list the directories individually in configuration +files or environment variables. + + The TWG recognizes that subdirectory searching places an extra +burden on the system and may be the source of performance bottlenecks, +particularly on slower machines. Nevertheless, we feel that +subdirectory searching is imperative for a well-organized TDS, for the +reasons stated in Section *Note Subdirectory searching::. Implementors +are encouraged to provide enhancements to the basic principle of +subdirectory searching to avoid performance problems, e.g., the use of +a filename cache (this can be as simple as a recursive directory +listing) that is consulted before disk searching begins. If a match is +found in the database, subdirectory searching is not required, and +performance is thus independent of the number of subdirectories present +on the system. + + Different implementations specify subdirectory searching differently. +In the interest of typographic clarity, the examples here do not use the +`REPLACEABLE' font. + + * Dvips: via a separate `TEXFONTS_SUBDIR' environment variable. + + * emTeX: `t:\subdir!!'; `t:\subdir!' for a single level of searching. + + * Kpathsea: `texmf/subdir//' + + * VMS: `texmf:[subdir...]' + + * Xdvi (patchlevel 20): `texmf/subdir/**'; `texmf/subdir/*' for a + single level of searching. Version 20.50 and above support the + `//' notation. + + * Y&Y TeX: `t:/subdir//' or `t:\subdir\\'. + + + +File: tds.info, Node: Example implementation-specific trees, Prev: More on subdirectory searching, Up: Implementation issues + +B.3 Example implementation-specific trees +========================================= + +The TDS cannot specify a precise location for implementation-specific +files, such as `texmf/ini', because a site may have multiple TeX +implementations. + + Nevertheless, for informative purposes, we provide here the default +locations for some implementations. Please contact us with additions or +corrections. These paths are not definitive, may not match anything at +your site, and may change without warning. + + We recommend all implementations have default search paths that start +with the current directory (e.g., `.'). Allowing users to include the +parent directory (e.g., `..') is also helpful. + +* Menu: + +* AmiWeb2c 2.0:: +* Public DECUS TeX:: +* Web2c 7:: + + +File: tds.info, Node: AmiWeb2c 2.0, Next: Public DECUS TeX, Up: Example implementation-specific trees + +B.3.1 AmiWeb2c 2.0 +------------------ + +(Email <scherer@physik.rwth-aachen.de> to contact the maintainer of +this implementation.) + + AmiWeb2c 2 is compatible with Web2c 7 to the greatest possible +extent, so only the very few differences are described in this section. +Detailed information about the basic concepts is given in the section +for Web2c 7 below. + + Thanks to the `SELFAUTO' mechanism of Kpathsea 3.0 no specific +location for the installation of AmiWeb2c is required as long as the +general structure of the distribution is preserved. + + In addition to Kpathsea's `//' notation recursive path search may +also be started by `DEVICE:/', e.g., `TeXMF:/' will scan this specific +device completely. + + Binaries coming with the AmiWeb2c distribution are installed in the +directory `bin/amiweb2c/' outside the common TDS tree `share/texmf/'. +In addition to the set of AmiWeb2c binaries you will find two +subdirectories `local/' and `pastex/' with auxiliary programs. + + A stripped version of the PasTeX system (used by kind permission of +Georg Hessmann) is coming with AmiWeb2c, pre-installed in its own +`share/texmf/amiweb2c/pastex/' directory. If you want to use PasTeX +you have to `assign' the name `TeX:' to this place. + + Documentation files in AmigaGuide format should be stored at +`doc/guide/' similar to `doc/info/'. + + +File: tds.info, Node: Public DECUS TeX, Next: Web2c 7, Prev: AmiWeb2c 2.0, Up: Example implementation-specific trees + +B.3.2 Public DECUS TeX +---------------------- + +If another VMS implementation besides Public DECUS TeX appears, the top +level implementation directory name will be modified to something more +specific (e.g., `vms_decus'). + + texmf/ + vms/ VMS implementation specific files + exe/ end-user commands + common/ command procedures, command definition files, etc. + axp/ binary executables for Alpha AXP + vax/ binary executables for VAX + formats/ pool files, formats, bases + help/ VMS help library, and miscellaneous help sources + mgr/ command procedures, programs, docs, etc., for system management + + +File: tds.info, Node: Web2c 7, Prev: Public DECUS TeX, Up: Example implementation-specific trees + +B.3.3 Web2c 7 +------------- + +All implementation-dependent TeX system files (`.pool', `.fmt', +`.base', `.mem') are stored by default directly in `texmf/web2c'. The +configuration file `texmf.cnf' and various subsidiary `MakeTeX...' +scripts used as subroutines are also stored there. + + Non-TeX specific files are stored following the GNU coding +standards. Given a root directory `PREFIX' (`/usr/local' by default), +we have default locations as follows: + + <prefix>/ installation root (`/usr/local' by default) + bin/ executables + man/ man pages + info/ info files + lib/ libraries (`libkpathsea.*') + share/ architecture-independent files + texmf/ TDS root + web2c/ implementation-dependent files (`.pool', `.fmt', `texmf.cnf', etc.) + + See `http://www.gnu.org/prep/standards_toc.html' for the rationale +behind and descriptions of this arrangement. A site may of course +override these defaults; for example, it may put everything under a +single directory such as `/usr/local/texmf'. + + +File: tds.info, Node: Is there a better way?, Next: Related references, Prev: Implementation issues, Up: Top + +Appendix C Is there a better way? +********************************* + +Defining the TDS required many compromises. Both the overall structure +and the details of the individual directories were arrived at by +finding common ground among many opinions. The driving forces were +feasibility (in terms of what could technically be done and what could +reasonably be expected from developers) and regularity (files grouped +together in an arrangement that "made sense"). + + Some interesting ideas could not be applied due to implementations +lacking the necessary support: + + * Path searching control at the TeX level. If documents could + restrict subdirectory searching to a subdirectory via some portable + syntax in file names, restrictions on uniqueness of filenames + could be relaxed considerably (with the cooperation of the + formats), and the TeX search path would not need to depend on the + format. + + * Multiple logical `texmf' trees. For example, a site might have one + (read-only) location for stable files, and a different (writable) + location for dynamically-created fonts or other files. It would be + reasonable for two such trees to be logically merged when + searching. See Michael Downes' article in the references for how + this can work in practice with Web2C. + + +* Menu: + +* Macro structure:: +* Font structure:: +* Documentation structure:: + + +File: tds.info, Node: Macro structure, Next: Font structure, Up: Is there a better way? + +C.1 Macro structure +=================== + +The TWG settled on the `FORMAT/PACKAGE' arrangement after long +discussion about how best to arrange the files. + + The primary alternative to this arrangement was a scheme which +reversed the order of these directories: `PACKAGE/FORMAT'. This +reversed arrangement has a strong appeal: it keeps all of the files +related to a particular package in a single place. The arrangement +actually adopted tends to spread files out into two or three places +(macros, documentation, and fonts, for example, are spread into +different sections of the tree right at the top level). + + Nevertheless, the `FORMAT/PACKAGE' structure won for a couple of +reasons: + + * It is closer to current practice; in fact, several members of the + TWG have already implemented the TDS hierarchy. The alternative + is not in use at any known site, and the TWG felt it wrong to + mandate something with which there is no practical experience. + + * The alternative arrangement increases the number of top-level + directories, so the files that must be found using subdirectory + searching are spread out in a wide, shallow tree. This could have + a profound impact on the efficiency of subdirectory searching. + + + +File: tds.info, Node: Font structure, Next: Documentation structure, Prev: Macro structure, Up: Is there a better way? + +C.2 Font structure +================== + +The TWG struggled more with the font directory structure than anything +else. This is not surprising; the need to use the proliferation of +PostScript fonts with TeX is what made the previous arrangement with +all files in a single directory untenable, and therefore what initiated +the TDS effort. + +* Menu: + +* Font file type location:: +* Mode and resolution location:: +* Modeless bitmaps:: + + +File: tds.info, Node: Font file type location, Next: Mode and resolution location, Up: Font structure + +C.2.1 Font file type location +----------------------------- + +We considered the supplier-first arrangement in use at many sites: + + texmf/fonts/SUPPLIER/TYPEFACE/TYPE/ + + This improves the maintainability of the font tree, since all files +comprising a given typeface are in one place, but unless all the +programs that search this tree employ some form of caching, there are +serious performance concerns. For example, in order to find a `TFM' +file, the simplest implementation would require TeX to search through +all the directories that contain PK files in all modes and at all +resolutions. + + In the end, a poll of developers revealed considerable resistance to +implementing sufficient caching mechanisms, so this arrangement was +abandoned. The TDS arrangement allows the search tree to be restricted +to the correct type of file, at least. Concerns about efficiency +remain, but there seems to be no more we can do without abandoning +subdirectory searching entirely. + + We also considered segregating all font-related files strictly by +file type, so that Metafont sources would be in a directory +`texmf/fonts/mf', property list files in `texmf/fonts/pl', the various +forms of Type 1 fonts separated, and so on. Although more blindly +consistent, we felt that the drawback of more complicated path +constructions outweighed this. The TDS merges file types (`mf' and `pl' +under `source', `pfa' and `pfb' and `gsf' under `type1') where we felt +this was beneficial. + + +File: tds.info, Node: Mode and resolution location, Next: Modeless bitmaps, Prev: Font file type location, Up: Font structure + +C.2.2 Mode and resolution location +---------------------------------- + +We considered having the `mode' at the bottom of the font tree: + texmf/fonts/pk/SUPPLIER/TYPEFACE/MODE/DPI/ + + In this case, however, it is difficult to limit subdirectory +searching to the mode required for a particular device. + + We then considered moving the `dpiNNN' up to below the mode: + texmf/fonts/pk/MODE/DPI/SUPPLIER/TYPEFACE/ + + But then it is not feasible to omit the `dpiNNN' level altogether on +systems which can and do choose to use long filenames. + + +File: tds.info, Node: Modeless bitmaps, Prev: Mode and resolution location, Up: Font structure + +C.2.3 Modeless bitmaps +---------------------- + +The TDS specifies using a single directory `modeless/' as the mode name +for those utilities which generate bitmaps, e.g., +`texmf/fonts/modeless/times/'. This has the considerable advantage of +not requiring each such directory name to be listed in a search path. + + An alternative was to use the utility name below which all such +directories could be gathered. That has the advantage of separating, +say, `gsftopk'-generated bitmaps from `ps2pk'-generated ones. However, +we decided this was not necessary; most sites will use only one program +for the purpose. Also, PK and GF fonts generally identify their +creator in the font comment following the `PK_ID' byte. + + We are making an implicit assumption that Metafont is the only +program producing mode-dependent bitmaps. If this becomes false we +could add an abbreviation for the program to mode names, as in `mfcx' +vs. `xyzcx' for a hypothetical program Xyz, or we could at that time +add an additional program name level uniformly to the tree. It seemed +more important to concisely represent the current situation than to +worry about hypothetical possibilities that may never happen. + + +File: tds.info, Node: Documentation structure, Prev: Font structure, Up: Is there a better way? + +C.3 Documentation structure +=========================== + +We considered placing additional documentation files in the same +directory as the source files for the packages, but we felt that users +should be able to find documentation separately from sources, since most +users have no interest in sources. + + We hope that a separate, but parallel, structure for documentation +would (1) keep the documentation together and (2) make it as +straightforward as possible for users to find the particular +documentation they were after. + + +File: tds.info, Node: Related references, Next: Contributors, Prev: Is there a better way?, Up: Top + +Appendix D Related references +***************************** + +This appendix gives pointers to related files and other documents. For +CTAN references, we use `http://www.ctan.org' as the top-level domain +only to make the links be live in this document. See +`http://www.ctan.org/tex-archive/CTAN.sites' for a complete list of +CTAN sites; there are mirrors worldwide. + + * This document, in many formats (tex, dvi, info, pdf): + `http://tug.org/tds/' + + * The TDS mailing list archives: + `http://tug.org/mail-archives/twg-tds/' + + * The level 0 DVI driver standard: + `http://www.ctan.org/tex-archive/dviware/driv-standard/level-0/' + + * `Filenames for TeX fonts', with lists of recommended supplier and + typeface names: + `http://tug.org/fontname/' + + * ISO-9660 CD-ROM file system standard: + `http://www.iso.ch/cate/cat.html' + + * `Components of TeX', a paper by Joachim Schrod: + `http://www.ctan.org/tex-archive/documentation/components-of-TeX/' + + * `Managing Multiple TDS trees', an article by Michael Downes: + `http://tug.org/TUGboat/Articles/tb22-3/tb72downes.pdf' + + * A complete set of Metafont modes: + `http://www.ctan.org/tex-archive/fonts/modes/modes.mf' + + * A large collection of BibTeX databases and styles: + `ftp://ftp.math.utah.edu/pub/tex/bib/' + + + +File: tds.info, Node: Contributors, Prev: Related references, Up: Top + +Appendix E Contributors +*********************** + +The TWG has had no physical meetings; electronic mail was the +communication medium. + + Sebastian Rahtz is the TeX Users Group Technical Council liaison. +Norman Walsh was the original committee chair. Karl Berry is the +current editor. + + The list of contributors has grown too large to fairly include, as +some would surely be inadvertently omitted. Please consider the +archives of the <tds@tug.org> and <tex-live@tug.org> mailing lists as +the record of contributions. + + + +Tag Table: +Node: Top198 +Node: Introduction2185 +Node: History3846 +Node: The role of the TDS4648 +Node: Conventions5508 +Node: General6429 +Node: Subdirectory searching6714 +Node: Rooting the tree8968 +Node: Local additions10080 +Node: Duplicate filenames12293 +Node: Top-level directories14054 +Node: Macros17062 +Node: Extensions20919 +Node: Fonts22645 +Node: Font bitmaps26786 +Node: Valid font bitmaps29674 +Node: Non-font Metafont files30882 +Node: MetaPost31842 +Node: BibTeX33286 +Node: Scripts34155 +Node: Documentation35872 +Node: Summary38145 +Node: Documentation tree summary41031 +Node: Unspecified pieces43056 +Node: Portable filenames44267 +Node: Implementation issues46409 +Node: Adoption of the TDS47041 +Node: More on subdirectory searching49753 +Node: Example implementation-specific trees52568 +Node: AmiWeb2c 2.053447 +Node: Public DECUS TeX54889 +Node: Web2c 755752 +Node: Is there a better way?56974 +Node: Macro structure58480 +Node: Font structure59816 +Node: Font file type location60369 +Node: Mode and resolution location61946 +Node: Modeless bitmaps62625 +Node: Documentation structure63915 +Node: Related references64543 +Node: Contributors65959 + +End Tag Table diff --git a/Master/texmf-dist/doc/info/texdraw.info b/Master/texmf-dist/doc/info/texdraw.info new file mode 100644 index 00000000000..2458b4f3b33 --- /dev/null +++ b/Master/texmf-dist/doc/info/texdraw.info @@ -0,0 +1,2429 @@ +This is texdraw, produced by makeinfo version 4.5 from texdraw.texi. + + This file documents TeXdraw, a system for producing PostScript +drawings from TeX. + + Copyright (C) 1993-95 Peter Kabal + + Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. + + Permission is granted to copy and distribute modified versions of this +manual under the conditions for verbatim copying, provided that the +entire resulting derived work is distributed under the terms of a +permission notice identical to this one. + + +File: texdraw, Node: Top, Next: Introduction, Prev: (dir), Up: (dir) + +TeXdraw +******* + + TeXdraw is a collection of macros that allow drawings to be created +from _within_ TeX. + + This is edition 2.0 of the TeXdraw documentation. + +* Menu: + +* Introduction:: +* TeXdraw Commands:: +* Drawing Segments and Scaling:: +* Using TeXdraw with LaTeX:: +* More Details:: +* PostScript Commands:: +* TeXdraw Toolbox:: +* Examples:: +* Command Listing:: + +Indices +* Concept Index:: +* Command Index:: + + --- The Detailed Node Listing --- + +Introduction + +* Distribution:: + +TeXdraw Commands + +* Accessing TeXdraw:: +* Command syntax:: +* TeXdraw coordinates:: +* Coordinate specification:: +* Line vectors:: +* TeX text:: +* Circles and arcs:: +* Bezier curves:: +* Fill commands:: + +Drawing Segments and Scaling + +* Drawing segments:: +* Drawing paths:: +* Saving positions:: +* Scaling coordinates:: +* Drawing size:: +* Initial current position:: + +Using TeXdraw with LaTeX + +* PostScript printer drivers:: + +More Details + +* Errors while using TeXdraw:: +* Extending TeXdraw:: +* How TeXdraw merges graphics and text:: + +Extending TeXdraw + +* Scaling:: +* Resolution:: +* Text placement:: +* Intermediate PostScript file:: + +PostScript Commands + +TeXdraw Toolbox + +* Coordinate parsing:: +* Real arithmetic:: +* Arrow curve:: + +Examples + +* Block diagram:: +* Filter response graph:: +* Geometric construction:: + +Command Listing + +Command Index + +Concept Index + + +File: texdraw, Node: Introduction, Next: TeXdraw Commands, Prev: Top, Up: Top + +Introduction +************ + + TeX is a powerful typesetting program which allows for complex text +layouts but by itself lacks a general graphics capability. However, +when coupled with an appropriate printer driver program, external +graphics files can be inserted into the printed document. In this mode, +TeX is instructed to leave space for a drawing. The drawing is +inserted by the printer driver program. The TeXdraw macros described +here generate the external graphics file from within TeX and generate +the instructions to the the print driver program to position the +graphics at the appropriate position on the page. + + TeXdraw consists of a set of TeX macros that create line drawings and +other figures. The drawing primitives include solid lines, patterned +lines, Bezier curves, circles and arrows. Other commands allow for the +filling of a region with a gray level. The drawing commands generate +PostScript code. This limits TeXdraw to systems which use PostScript +printers. TeXdraw also provides commands to position TeX text, +including mathematics, on the drawing. The final drawing, with text +and graphics, can be positioned on the page like any other TeX box. + + The basic TeXdraw macros for TeX use the `\special' syntax recognized +by the printer driver program `dvips'. However, when invoked as a +LaTeX2e package, the TeXdraw macros can be used with any of the +PostScript printer driver programs supported by the standard `graphics' +package for LaTeX2e. + + The basic TeXdraw macros provide only simple drawing commands. +However, TeXdraw provides a drawing segment environment which allows +parameter changes and coordinate scaling changes to be kept local to the +drawing segment. This facility, together with TeX's macro capabilities +allows one to modularize drawing units and extend TeXdraw by building +more complex graphics entities from simpler elements. + +* Menu: + +* Distribution:: + + +File: texdraw, Node: Distribution, Up: Introduction + +Distribution information +======================== + + The TeXdraw routines are provided free of charge without warranty of +any kind. Note that the TeXdraw routines are copyrighted. They may be +distributed freely provided that the recipients also acquire the right +to distribute them freely. The notices to this effect must be +preserved when the source files are distributed. + + +File: texdraw, Node: TeXdraw Commands, Next: Drawing Segments and Scaling, Prev: Introduction, Up: Top + +Using the TeXdraw Commands +************************** + + The main TeXdraw macros (commands) are defined in the file +`texdraw.tex'. These macros may be used directly in TeX. The file +`texdraw.sty' provides an interface for use with LaTeX2e. The +following sections describe the basic commands for TeXdraw. + +* Menu: + +* Accessing TeXdraw:: +* Command syntax:: +* TeXdraw coordinates:: +* Coordinate specification:: +* Line vectors:: +* TeX text:: +* Circles and arcs:: +* Bezier curves:: +* Fill commands:: + + +File: texdraw, Node: Accessing TeXdraw, Next: Command syntax, Up: TeXdraw Commands + +Accessing TeXdraw +================= + + The form of the user command to run the TeX program depends on which +version of TeX is being used, and which other macro packages are +preloaded as format files. Typically, installations have at least two +versions of TeX -- plain TeX which includes basic typesetting macros +(usually invoked as `tex') and LaTeX2e which includes the LaTeX2e +typesetting macros (usually invoked as `latex'). An older version of +LaTeX, version 2.09, may also be available. The TeXdraw macros can be +used with plain TeX and with either version of LaTeX. + + For use with plain TeX, the user must read in the TeXdraw macros from +the file `texdraw.tex'. + \input texdraw % Read in the TeXdraw macros + ... + \btexdraw + ... % TeXdraw commands to generate a drawing + \etexdraw + + For use with LaTeX version 2.09, the user reads in the TeXdraw macros +from the file `texdraw.tex' and optionally defines the +`\begin{texdraw}' / `\end{texdraw}' environment. + \documentstyle[11pt]{article} % Article style with the 11pt size options + ... + \input texdraw % Read in the TeXdraw macros + \newenvironment{texdraw}{\leavevmode\btexdraw}{\etexdraw} + ... + \begin{texdraw} + ... % TeXdraw commands to generate a drawing + \end{texdraw} + ... + \end{document} + + For use with LaTeX2e, the user must load the `texdraw' package (file +`texdraw.sty'). This package file defines the `\begin{texdraw}' / +`\end{texdraw}' environment, brings in the standard `graphics' package +and reads in the file `texdraw.tex' containing the definitions of the +TeXdraw macros. + \documentclass[11pt]{article} % Article class with the 11pt size option + \usepackage{texdraw} % TeXdraw commands + + \begin{document} + ... + \begin{texdraw} + ... % TeXdraw commands to generate a drawing + \end{texdraw} + ... + \end{document} + + As the TeXdraw commands are processed by TeX, an intermediate +PostScript file is generated. The intermediate PostScript has a name of +the form `NAME.ps1'. The name part is derived from the name of the +main TeX file being processed. If more than one drawing is produced, +the digit in the file name extension is incremented.(1) + + The TeXdraw commands to produce a drawing are inserted between +`\btexdraw' and `\etexdraw' commands, or for LaTeX, between +`\begin{texdraw}' and `\end{texdraw}' commands. This results in a TeX +box of appropriate size containing the drawing generated by the TeXdraw +commands. The TeXdraw box can be positioned in a document like any +other TeX box. + + The `\centertexdraw{...}' macro centers the box generated by TeXdraw. +The vertical space taken up is equal to the vertical size of the +drawing. The `\centertexdraw' macro is normally used in vertical mode +(between paragraphs). A `\par' command (a blank line will do also) +before a `\centertexdraw' command will terminate horizontal mode and +return to vertical mode. For LaTeX, a structured equivalent to the +`\centertexdraw{...}' command is shown below. + \begin{center} + \begin{texdraw} + ... + \end{texdraw} + \end{center} + + The `\everytexdraw' command can be used to define a set of TeXdraw +commands that will be executed at the beginning of every TeXdraw +drawing. It is invoked as `\everytexdraw{ ...}', with the desired +TeXdraw commands as arguments. + +`\btexdraw' + Start a TeXdraw drawing. The drawing is terminated with an + `\etexdraw' command. + +`\etexdraw' + End a TeXdraw drawing started with a `\btexdraw' command. The + resulting TeXdraw drawing is placed in a box with height equal to + the height of the drawing and width equal to the width of the + drawing. The depth of the box is zero. + +`\begin{texdraw}' + Start a TeXdraw drawing. The drawing is terminated with an + `\end{texdraw}' command. This command is for use with LaTeX. + +`\end{texdraw}' + End a TeXdraw drawing started with a `\begin{texdraw}' command. + The resulting TeXdraw drawing is placed in a box with height equal + to the height of the drawing and width equal to the width of the + drawing. The depth of the box is zero. This command is for use + with LaTeX. + +`\centertexdraw{ ... }' + Center a TeXdraw box horizontally. The argument contains TeXdraw + commands. The resulting box has the horizontal size `\hsize' and + height equal to the height of the drawing. + +`\everytexdraw{ ... }' + Specify TeXdraw commands to be executed at the beginning of every + TeXdraw drawing. + + ---------- Footnotes ---------- + + (1) After the ninth PostScript file, the name of the intermediate +PostScript file takes the form `NAME.p10', with the number increasing +from 10 with each file. + + +File: texdraw, Node: Command syntax, Next: TeXdraw coordinates, Prev: Accessing TeXdraw, Up: TeXdraw Commands + +Command syntax +============== + + Generally TeXdraw commands that take a single argument need a +terminating blank or newline after the argument. Arguments that are +self-delimiting, such as coordinates within parentheses and text within +braces, do not need the terminating blank. However, even when not +needed by the defining syntax of the command, blanks following command +arguments are allowed and ignored within the TeXdraw environment. + + On entering the TeXdraw environment, TeX is in internal vertical mode +(vertical mode inside a `\vbox'). In this mode, spaces can be placed +freely between commands. However, any other extraneous input that +generates output that is not part of the TeXdraw environment is +disallowed. + + Blank lines are interpreted as paragraph breaks, equivalent to a +`\par' command. The TeXdraw macro `\centertexdraw' is defined with the +`\long' attribute to allow `\par' commands and blank lines to be +interspersed between TeXdraw commands. The `\btexdraw' and `\etexdraw' +commands also allow `\par' command and blank lines to be included. + + +File: texdraw, Node: TeXdraw coordinates, Next: Coordinate specification, Prev: Command syntax, Up: TeXdraw Commands + +TeXdraw coordinates +=================== + + The TeXdraw coordinate system has increasing X to the right and +increasing Y upward. The coordinates (without the unit) are floating +point numbers. Integer values can be written without a decimal point. +The size of the drawing is determined by the maximum excursions of the +coordinates specified in TeXdraw commands. + + Consider the following example of TeXdraw commands to draw a simple +figure. + \centertexdraw{ + \drawdim cm \linewd 0.02 + \move(2 2) \lvec(3 3) \lvec(2 4) \lvec(1 3) \lvec(2 2) + \textref h:C v:C \htext(2 3){$\sum \rho_n$} + } +This drawing uses units of centimetres, with a line width of 0.02 +cm. The X coordinate ranges between 1 and 3 while the Y coordinate +ranges between 2 and 4. When included into a document, the size of the +drawing is 2 cm by 2 cm. The drawing is placed in a TeX box, with the +lower lefthand corner of the box corresponding to TeXdraw coordinate +`(1 2)' and the upper righthand corner at `(3 4)'. The +`\centertexdraw' command centers the drawing horizontally. The +`\textref' command controls the centering of the text. The text in +this drawing is centered (both horizontally and vertically) at the +coordinate `(2 3)'. + + +File: texdraw, Node: Coordinate specification, Next: Line vectors, Prev: TeXdraw coordinates, Up: TeXdraw Commands + +Coordinate specification +======================== + + Coordinates are specified within parentheses, with blanks (but no +comma) between the values. Leading blanks and trailing blanks are +permitted within the parentheses. The coordinates refer to units, +which are specified by the `\drawdim' command. The default is inches, +but any valid TeX dimension unit can be specified. Symbolic +specification of saved coordinate values will be discused later (*note +Saving positions::). + +`\drawdim DIM' + Set the units to DIM. The argument DIM can be any valid TeX + dimension unit. The units are used to interpret coordinate + values. Examples of valid units: `cm', `mm', `in', `pt', and `bp'. + + Examples of coordinate and scaling specifications: +`\drawdim {cm} \move(2 2)' + Set the units to centimetres, move to a position 2 cm to the right + and 2 cm up from the origin of the drawing coordinate system. + +`\drawdim bp' + Set the units to big points. + +`\lvec ( 2.2 +5.5) \lvec(2.3 -2) \lvec(2.2 5.4 )' + Examples of acceptable coordinate specifications. + + +File: texdraw, Node: Line vectors, Next: TeX text, Prev: Coordinate specification, Up: TeXdraw Commands + +Line vectors +============ + + TeXdraw implements moves, line vectors and arrow vectors. There are +both absolute and relative motion versions of these vector commands. +TeXdraw maintains a current position. Lines are drawn from the current +position to a new coordinate, with the new coordinate becoming the new +current position. An explicit move can be used to establish a new +current position. The position `(0 0)' is used if there is no move to +an initial current position. + + The `\move' and `\rmove' commands establish a new current position +without drawing a line. The `\lvec' and `\rlvec' commands draw a line +from the current position to a new position, which then becomes the new +current position. The `\avec' and `\ravec' commands draw a line with +an arrowhead from the current position to a new coordinate, which then +becomes the new current position. The tip of the arrow is at the new +current position. The direction of the arrow follows the direction of +the line. Since this direction is undefined for zero length vectors, +these are not allowed for `\avec' or `\ravec'. Zero length arrow +vectors will generate a PostScript print error: `undefinedresult'. For +any non-zero length vector, the full size arrowhead is drawn, even if +that arrowhead is longer than the line length. + + The absolute motion versions of these commands specify the coordinate +of the final position. + +`\move (X Y)' + Move to coordinate `(X Y)'. The new current position is `(X Y)'. + +`\lvec (X Y)' + Draw a line from the current position to coordinate `(X Y)'. The + new current position is `(X Y)'. + +`\avec (X Y)' + Draw a line with an arrowhead from the current position to `(X + Y)'. The new current position is `(X Y)'. The arrowhead is + aligned with the line, with the tip at `(X Y)'. + + The relative motion versions of these commands interpret the +coordinates as displacements relative to the current position. Given +the displacements `(DX DY)' as a parameter, each of the relative motion +commands moves DX units in the X direction and DY units in the Y +direction. + +`\rmove (DX DY)' + Move from the current position, DX units in the X direction and DY + units in the Y direction. The final position becomes the new + current position. + +`\rlvec (DX DY)' + Draw a line from the current position, DX units in the X direction + and DY units in the Y direction. The final position becomes the + new current position. + +`\ravec (DX DY)' + Draw a line with an arrowhead from the current position, DX units + in the X direction and Y units in the Y direction. The final + position becomes the new current position. The arrowhead is + aligned with the line, with the tip at the new current position. + + Lines can be customized with commands to change the line width, line +pattern and line gray level rendition. In addition, commands for +changing the type and size of the arrowhead are available. + +`\linewd WIDTH' + Set the line width to WIDTH units. Initially WIDTH is 0.01 inches + (corresponding to 3 pixels at 300 pixels to the inch). + +`\lpatt (PATTERN)' + Set lines to have the pattern `(PATTERN)'. A pattern is a + sequence of on/off lengths separated by blanks and enclosed in + parentheses. The lengths alternately specify the length of a dash + and the length of a gap between dashes. Each length is + interpreted using the current scaling and drawing units. The + pattern is used cyclically. The empty pattern signifies a solid + line. The initial line pattern is a solid line, corresponding to + the empty pattern `\lpatt ()'. + +`\setgray LEVEL' + Set the gray level of lines. Gray levels are real values from 0 + (black) through intermediate values (gray) to 1 (white). The + initial gray level is 0 corresponding to black. + +`\arrowheadtype t:TYPE' + Set the arrowhead type to TYPE, where TYPE is one of `F', `T', + `W', `V', or `H'. There are two kinds of arrowheads. The first + kind is a triangle. There are 3 variants: type `T' is an empty + triangle, type `F' is a filled triangle (using the current gray + level for lines), type `W' is a triangle filled with white. The + second kind of arrowhead is an open ended Vee. There are 2 + variants: type `V' has the stem continue to the tip, type `H' has + the stem stop at the base of the arrowhead. The initial arrowhead + type is `T'. + +`\arrowheadsize l:LENGTH w:WIDTH' + Set the arrowhead size to be LENGTH units long and WIDTH units + wide. The width is measured across the "base" of the arrowhead. + The initial arrowhead size has a LENGTH of 0.16 inches and a WIDTH + of 0.08 inches. + + Note that the lines which outline the arrowhead will be drawn with the +same line pattern used for the stem. Normally, arrow vectors are drawn +with the line pattern set for a solid line. Note that the fill level +used for the `F' variant of the arrowhead uses the same gray level as +used for lines. The difference between the `T' variant and the `W' +variant only shows up if the arrowhead is placed over non-white areas +of the drawing. The `W' variant obliterates the area under the +arrowhead. + + Examples of line parameter and arrowhead settings are shown in the +following code. + \centertexdraw{ + \drawdim in + \linewd 0.03 \setgray 0.6 \arrowheadtype t:F \avec(0 0.5) + \linewd 0.01 \setgray 0 \arrowheadtype t:V \avec(0.5 0.5) + \linewd 0.015 \lpatt(0.067 0.1) \lvec (1 0) + \linewd 0.02 \lpatt() \arrowheadtype t:T \avec(1.5 0.5) + \arrowheadtype t:H \avec(2.0 0.5) + \setgray 0.4 \arrowheadtype t:W \avec(3.0 0) + } + + +File: texdraw, Node: TeX text, Next: Circles and arcs, Prev: Line vectors, Up: TeXdraw Commands + +TeX text +======== + + Text may be superimposed on the drawing. The text argument of the +`\htext' command is in horizontal mode. This text can be ordinary +text, math mode expressions, or even more complicated boxes consisting +of tables and the like. The resulting TeX text is placed in a box. +The reference point of the box can be chosen to be one of nine +locations: horizontally left, center or right; vertically top, center or +bottom. The `\htext' command takes one of two forms. + +`\htext (X Y){TEXT}' +`\htext {TEXT}' + The first form of this command places the TeX text TEXT + horizontally with the text reference point at the coordinate `(X + Y)'. The new current position is `(X Y)'. The second form of + this command places the TeX text TEXT horizontally with the text + reference point at the current position. The text reference point + is set with the `\textref' command. + + Text can be placed vertically using the `\vtext' command. The text +argument is in horizontal mode. The TeX text is placed in a box and +then rotated counterclockwise. The reference point is the point in the +box, _before_ rotation of the text. Not all PostScript printer drivers +support vertical text. + +`\vtext (x y){TEXT}' +`\vtext {TEXT}' + The first form of this command places the TeX text TEXT vertically + with the text reference point at the coordinate `(X Y)'. The new + current position is `(X Y)'. The second form of this command + places the TeX text TEXT vertically with the text reference point + at the current position. In both cases, the TeX text is placed in + a box and the box is rotated counterclockwise by 90 degrees about + the text reference point. The text reference point is set with + the `\textref' command. + + Text can be placed at an arbitrary angle using the `\rtext' command. +The text argument is in horizontal mode. The TeX text is placed in a +box and then rotated counterclockwise. The reference point is the +point in the box, _before_ rotation of the text. Not all PostScript +printer drivers support rotated text. + +`\rtext td:ANGLE (x y){TEXT}' +`\rtext td:ANGLE {TEXT}' + The first form of this command places the TeX text TEXT at an + angle with the text reference point at the coordinate `(X Y)'. + The new current position is `(X Y)'. The second form of this + command places the TeX text TEXT at an angle with the text + reference point at the current position. In both cases, the TeX + text is placed in a box and the box is rotated counterclockwise by + ANGLE degrees about the text reference point. The text reference + point is set with the `\textref' command. + + The reference point for subsequent TeX text in a `\htext', `\vtext' +or `\rtext' command is set with the `\textref' command. + +`\textref h:H-REF v:V-REF' + Set the text reference point for subsequent text commands. The + horizontal reference point H-REF is one of `L', `C' or `R' (left, + center or right). The vertical reference point V-REF is one of + `T', `C' or `B' (top, center or bottom). For rotated text, the + reference point is determined before rotation. The initial text + reference point corresponds to `\textref h:L v:B'. + +The font used to render the text is determined as for any other TeX +text. Normally the font used outside of TeXdraw is in effect. If +desired, other fonts can be specified as part of the text. Any font +changes within a TeXdraw text command remain local to that command. + + Only the coordinate of the text reference point in a `\htext', +`\vtext' or `\rtext' command is used in calculating the size of the +drawing. This means that text itself can spill outside of the drawing +area determined by TeXdraw. The area of the drawing can be increased +to include the text by issuing additional `\move' commands. + + \centertexdraw{ + \avec(-0.75 -0.25) \textref h:R v:C \htext{H-text} + \move(0 0) \avec(-0.75 +0.25) \textref h:R v:B \htext{H-text} + \move(0 0) \avec(0 +0.5) \textref h:L v:T \vtext{V-text} + \move(0 0) \avec(+0.75 +0.25) \textref h:L v:B \htext{H-text} + \move(0 0) \avec(+0.75 -0.25) \textref h:L v:C \htext{H-text} + } + + +File: texdraw, Node: Circles and arcs, Next: Bezier curves, Prev: TeX text, Up: TeXdraw Commands + +Circles, ellipses and arcs +========================== + + TeXdraw supplies commands to generate circles, ellipses and arcs. +There are two forms of the circle command. The `\lcir' command draws a +circle of given radius. The `\fcir' command draws a filled circle. In +the latter case, the circle is filled by a specified gray level. For +the filled circle, the line defining the circumference of the circle is +not drawn. Note that the gray level area filled in by the `\fcir' +command is opaque, even if the fill is chosen to be white. For either +form of the circle command, the drawing size is increased if necessary +to contain the circle. + + The `\lellip' command generates an ellipse specified by the radius of +the ellipse in the X direction and the radius of the ellipse in the Y +direction. The ellipse is symmetrical about horizontal and vertical +lines drawn through the current point. The `\fellip' command draws a +filled ellipse. In the latter case, the ellipse is filled by a +specified gray level. For the filled ellipse, the line defining the +boundary of the ellipse is not drawn. For either form of the ellipse +command, the drawing size is increased if necessary to contain the +ellipse. + + The `\larc' command generates a counterclockwise arc specified by a +start angle in degrees and an end angle in degrees. The center of the +arc is the current position. Only the arc is drawn, not the line +joining the center to the beginning of the arc. Note that the `\larc' +command does not affect the size of the drawing. + +`\lcir r:RADIUS' + Draw a circle with center at the current position. The radius is + specified by RADIUS. This command draws a line along the + circumference of the circle. The drawing size is increased if + necessary to contain the circle. + +`\fcir f:LEVEL r:RADIUS' + Draw a filled circle with center at the current position. The + radius is specified by RADIUS. The circle is painted with the + gray level specified by LEVEL. A gray level of 1 corresponds to + white, with decreasing values getting darker. The level 0 is full + black. This command does not draw a line along the circumference. + The drawing size is increased if necessary to contain the circle. + +`\lellip rx:X-RADIUS ry:Y-RADIUS' + Draw an ellipse with center at the current position. The radius + in the X direction is specified by X-RADIUS. The radius in the Y + direction is specified by Y-RADIUS. The drawing size is increased + if necessary to contain the ellipse. + +`\fellip f:LEVEL rx:X-RADIUS ry:Y-RADIUS' + Draw a filled ellipse with center at the current position. The + radius in the X direction is specified by X-RADIUS. The radius in + the Y direction is specified by Y-RADIUS. The ellipse is painted + with the gray level specified by LEVEL. A gray level of 1 + corresponds to white, with decreasing values getting darker. The + level 0 is full black. This command does not draw a line along + the boundary of the ellipse. The drawing size is increased if + necessary to contain the ellipse. + +`\larc r:RADIUS sd:START-ANGLE ed:END-ANGLE' + Draw a counterclockwise arc. The center of the arc is at the + current position. The radius is specified by RADIUS. The start + and end angles (in degrees) are specified by START-ANGLE and + END-ANGLE. This command does not affect the limits (size) of the + drawing. + + As an example, the following commands draw a filled circle, and +superimpose an arc. + \centertexdraw{ + \linewd 0.02 + \fcir f:0.7 r:1 + \larc r:1 sd:45 ed:135 + \lvec (+0.707 +0.707) \move (0 0) \lvec (-0.707 +0.707) + } + + Note that for the arc command, the resulting figure can spill outside +of the TeXdraw box as determined by the maximum excursions of the +coordinates. Extra moves can be used to compensate for the size of the +arc. + + +File: texdraw, Node: Bezier curves, Next: Fill commands, Prev: Circles and arcs, Up: TeXdraw Commands + +Bezier curves +============= + + Bezier curves in TeXdraw use 4 reference coordinates, two as the end +points and two others to control the shape of the curve. Let the 4 +points be `(X0 Y0)', `(X1 Y1)', `(X2 Y2)' and `(X3 Y3)'. The curve +starts out tangent to the line joining the first two points and ends up +tangent to the line joining the second two points. The control points +"pull" at the curve to control the curvature. The amount of pull +increases with the distance of the control point from the endpoint. + + As the parameter u varies from 0 to 1, the coordinates of the Bezier +curve are given by a pair of parametric cubic equations, + +x(u) = (1-u)^3 x0 + 3u (1-u)^2 x1 + 3u^2 (1-u) x2 + u^3 x3 + +y(u) = (1-u)^3 y0 + 3u (1-u)^2 y1 + 3u^2 (1-u) y2 + u^3 y3 . + +`\clvec (X1 Y1)(X2 Y2)(X3 Y3)' + Draw a Bezier curve from the current position to the coordinate + `(X3 Y3)' which becomes the new current position. The coordinates + `(X1 Y1)' and `(X2 Y2)' serve as control points for the curve. + Only the last coordinate given is used to update the size of the + drawing. + +Note that only 3 coordinate pairs are specified. The other point is the +current position before the `\clvec' command is executed. Only the +last coordinate specified in the `\clvec' command is used to determine +the extent of the drawing. While the Bezier curve passes through the +old current position and the new current position, in general the curve +will not reach the intermediate control points. The curve is always +entirely enclosed by the convex quadrilateral defined by the two end +points and the two control points. Note that the curve may pass +outside the limits of the drawing as determined by the end point of the +curve. + + A simple Bezier curve is produced by the following example. + \btexdraw + \move (0 0) + \clvec (0 1)(1 0)(1 1) + \etexdraw + + +File: texdraw, Node: Fill commands, Prev: Bezier curves, Up: TeXdraw Commands + +Fill commands +============= + + PostScript deals with paths consisting of line segments. The paths +can be closed and the interior of the closed region filled. From +TeXdraw, paths start with a `\move' or `\rmove' command and continue +with `\lvec', `\rlvec' or `\clvec' commands. The TeXdraw fill commands +close the path and fill the interior of the closed region. Closing the +path means that effectively another `\lvec' line is drawn from the last +point specified to the initial point. TeXdraw provides two forms of +the fill command. The `\ifill' fills the interior of the region with +the given gray level. The lines defining the path are not drawn. The +`\lfill' command fills the region defined by the closed path and draws +a line along the enclosing path. Note for both forms of the fill +command, the gray level used for filling is opaque, even if the gray +level is chosen to be white. + +`\lfill f:LEVEL' + Close the current path, draw the line around the path using the + current grey level for lines and paint the interior of the region + with specified gray level LEVEL. Gray levels are real values from + 0 (black) through intermediate values (grays) to 1 (white). + +`\ifill f:LEVEL' + Close the current path and paint the interior of the region with + gray level LEVEL. The line around the path is not drawn. Gray + levels are real values from 0 (black) through intermediate values + (grays) to 1 (white). + + The following example draws a "flag" with the interior filled in. The +path around the boundary is given in a clockwise order to define a +closed path. We could take advantage of the fact that the fill command +will close an open path to eliminate one of the `\lvec' commands. + \centertexdraw{ + \move (0.5 0) + \lvec (0 0.5) \clvec (0.5 0.85)(1 0.65)(1.5 1) + \lvec (2 0.5) \clvec (1.5 0.15)(1 0.35)(0.5 0) + \lfill f:0.8 + } + + In TeXdraw, the `\move' command always terminates any previous paths +and starts a new path. Commands that change line parameters (e.g. +`\setgray' or `\lpatt') also terminate paths and start new paths. The +circle, ellipse and arc commands do not affect the definition of the +current path. The `\avec' command is not appropriate for defining a +path to be filled. It ends a subpath at its tail and begins a new +subpath at its tip. Filling a region defined by a path with subpaths +is more complicated in that each subpath is closed before filling. + + +File: texdraw, Node: Drawing Segments and Scaling, Next: Using TeXdraw with LaTeX, Prev: TeXdraw Commands, Up: Top + +Drawing Segments and Scaling +**************************** + + TeXdraw provides individually scaled segments which can be used to +create relocatable drawing modules. + +* Menu: + +* Drawing segments:: +* Drawing paths:: +* Saving positions:: +* Scaling coordinates:: +* Drawing size:: +* Initial current position:: + + +File: texdraw, Node: Drawing segments, Next: Drawing paths, Up: Drawing Segments and Scaling + +Drawing segments +================ + + A TeXdraw drawing segment allows for local modifications of +parameters and relative positioning. A TeXdraw segment is delimited by +a `\bsegment' command and an `\esegment' command. Inside the segment, +the initial current position is `(0 0)'. Any changes to parameters +such as the gray level and the line width, remain local to the segment. +Segments are implemented in TeX using a `\begingroup' and `\endgroup'. +Segments can be nested. + +`\bsegment' + Start a drawing segment. The coordinate system is shifted such + that the current position corresponds to the coordinate `(0 0)'. + Changes to scaling, position and line parameters stay local to the + drawing segment. + +`\esegment' + End a drawing segment. The current position in effect before the + corresponding `\bsegment' command is restored. The scaling and + line parameter values revert to those in effect before the + corresponding `\bsegment' command was invoked. + + +File: texdraw, Node: Drawing paths, Next: Saving positions, Prev: Drawing segments, Up: Drawing Segments and Scaling + +Drawing paths +============= + + Certain subtle interactions occur between drawing segments and fill +operations. In PostScript, lines are drawn by first defining a path, +then later stroking the path to draw the line. In TeXdraw, this +stroking occurs when the line is terminated, say by a `\move' command. +PostScript paths are interrupted by, but continue after a drawing +segment. This means that a path started before a segment may not be +stroked (drawn) until after the segment ends. Consider the following +example. + \move (0 0) + \lvec (1 1) + \bsegment + \move (-0.25 -0.25) + \fcir f:0.8 r:0.5 + \esegment + \move (0 0) +A PostScript path is started at `(0 0)' and continues with a line +to `(1 1)'. This path is interrupted by the segment. The filled +circle is drawn next. After the segment, the path continues and is not +stroked until the `\move (0 0)' command after the end of the segment. +This means that the line appears on top of the filled region. + + If the fill operation is to cover the line, the path must be stroked +before the fill operation. From TeXdraw, the move commands `\move' and +`\rmove', and the end TeXdraw command `\etexdraw' terminate a path and +cause it to be stroked. Within a segment, the end segment command +`\esegment' also terminates and strokes a path. In the example above, +the line can be stroked by inserting a move command (such as a `\rmove +(0 0)' which does not affect the position), before the start of the +segment. + + +File: texdraw, Node: Saving positions, Next: Scaling coordinates, Prev: Drawing paths, Up: Drawing Segments and Scaling + +Saving positions +================ + + The `\savecurrpos' command saves the current position. The saved +position is an absolute position, not one relative to a segment. The +position saving mechanism is global; the position can be saved within a +nested segment and then used outside of the segment. The X and Y +coordinates of the position are saved separately as named coordinates. +The names are of the form `*NAME', with the leading `*' being +obligatory. A companion command, `\savepos', saves a given coordinate +(relative to the current segment) as an absolute symbolic position. + +`\savecurrpos (*PX *PY)' + Save the current position as the absolute position referenced by + `(*PX *PY)'. + +`\savepos (X Y)(*PX *PY)' + Save the coordinate position `(X Y)' as the absolute position + referenced by `(*PX *PY)'. The coordinate `(X Y)' is interpreted + in the normal fashion as a coordinate relative to the current + segment, using the current scaling factors and drawing unit. + + The symbolic names used to specify a saved position can consist of any +characters that are not special to TeX, but must start with a `*' +character. The symbolic names can be used as the X and/or Y coordinate +in any command that needs a coordinate. Symbolic coordinates are not +normally used with relative motion commands such as `\rlvec' or +`\rmove'. If used with relative motion, the corresponding displacement +is equal to the symbolic coordinate value. + + On exit from a segment, the position and graphics state on entry is +restored. Any changes to line types, scaling and position are +discarded. However, it is sometimes useful alter the position on exit +from a segment. The `\savepos' command allows for the saving of a +position within the segment. This position can be restored after the +`\esegment' with a `\move' command using the saved symbolic position. +This approach can be used to build modules which operate in a manner +analogous to the basic relative motion line vector commands. + + The following example defines a macro which draws a box 0.75 inches +wide by 0.5 inches high containing centered text. On leaving the macro +the position will be set at a point on the righthand side of the box. + \def\tbox #1{\bsegment + \lvec (0 +0.25) \lvec (0.75 +0.25) + \lvec (0.75 -0.25) \lvec (0 -0.25) \lvec (0 0) + \textref h:C v:C \htext (0.375 0){#1} + \savepos (0.75 0)(*ex *ey) + \esegment + \move (*ex *ey)} +With this definition, we can treat `\tbox' in the same way as the +basic vector commands, stringing them together to form a block diagram +as in this example. + \centertexdraw{ + \ravec (1 0) \tbox{$H(z)$} \ravec (1 0) + } + + +File: texdraw, Node: Scaling coordinates, Next: Drawing size, Prev: Saving positions, Up: Drawing Segments and Scaling + +Scaling coordinates +=================== + + There are two scale factors available, the unit scale factor and the +segment scale factor. The overall scale factor is the product of these +two. There are absolute and relative versions of commands to change +these scale factors. + + The unit scale factor is normally used to affect global scale changes. +Changes to the unit scale factor remains local to a segment, but +propagate to inferior segments. The default value is unity. + + The segment scale factor is used for local scale changes. It remains +local to a segment. The segment scale factor is reset to unity on entry +into each segment. This means that changes to the segment scale factor +do not propagate to inferior segments. + +`\setunitscale SCALE' + Set the unit scaling to SCALE. The argument SCALE is a real + number which is used to scale coordinate values. The overall + scaling factor is the product of the unit scale factor and the + segment scale factor. + +`\relunitscale VALUE' + Adjust the unit scale factor by multiplying by VALUE. This has + the effect of multiplying the overall scale factor by the same + factor. The overall scaling factor is the product of the unit + scale factor and the segment scale factor. + +`\setsegscale SCALE' + Set the segment scale factor. The argument SCALE is a real number + which is used to scale coordinate values. The overall scale + factor is the product of the unit scale factor and the segment + scale factor. + +`\relsegscale VALUE' + Adjust the segment scale factor by multiplying by VALUE. This has + the effect of multiplying the current overall scale factor by the + same factor. The overall scaling factor is the product of the + unit scale factor and the segment scale factor. + + In addition to the unit scale factor and the segment scale factor, the +scaling can be controlled by the choice of drawing units with the +command `\drawdim' (*note Coordinate specification::). + +`\drawdim cm \setunitscale 2.54' + Set the units to centimetres scaled by 2.54. Together these + commands are effectively the same as `\drawdim in'. + + The segment scale can be used to allow scale changes in segments so +that values are in more convenient units. For example suppose +dimensions in a segment are multiples of one third of an inch. The +segment scale can be set once to make 1 drawing unit equal 0.3333 +inches. From that point on, coordinates can be specified with integer +values. + + The following example defines a macro to draw a rectangular box which +is twice as wide as it is high. The width is specified as an argument. + \def\mybox #1{\bsegment + \setsegscale #1 + \lvec (0 +0.25) \lvec (1 +0.25) \lvec (1 -0.25) + \lvec (0 -0.25) \lvec (0 0) + \esegment} + + +File: texdraw, Node: Drawing size, Next: Initial current position, Prev: Scaling coordinates, Up: Drawing Segments and Scaling + +Drawing size +============ + + The effective size of the drawing is determined by the maximum +excursions of the coordinates supplied to TeXdraw commands. The +minimum and maximum scaled X and Y coordinates are tallied. Note that +`\move' commands contribute to the determination of the calculated size +of the drawing, even though they do not generate visible lines. The +circle and ellipse commands add a compensation for the radii of circles +and ellipses. The final TeXdraw drawing is placed in a TeX box with +lower lefthand corner corresponding to `('X-min Y-min`)' and upper +righthand corner at `('X-max Y-max`)'. + + Text generated by `\htext', `\vtext' or `\rtext' can spill outside +the box as determined above. Only the text reference point is +guaranteed to be in the drawing box. Arcs can also spill outside the +drawing box. Note also that the widths of lines, and the sizes of +arrowheads do not affect the size of the drawing. The calculated size +of the drawing will never be larger than the actual size of the +drawing. In extreme cases in which text or lines extend far outside +the drawing, extra `\move' commands should be used to establish the +size of the drawing so that the TeXdraw box includes all of the drawing. + + TeXdraw provides the `\drawbb' command to draw a box which indicates +the effective size of the drawing. Whenever `\drawbb' is invoked, a +ruled box is drawn around the drawing as it has been sized up to that +point. Normally `\drawbb' is invoked just before the end of a drawing +to indicate the effective size of the final drawing. + +`\drawbb' + Draw a ruled box around the effective size of a drawing produced by + TeXdraw commands. + + +File: texdraw, Node: Initial current position, Prev: Drawing size, Up: Drawing Segments and Scaling + +Initial current position +======================== + + The first operation in a drawing should be a move to establish the +current position. The current position can be established explicitly +through a `\move' command or a text positioning command such as +`\htext' with a coordinate. However, if an attempt is made to use a +drawing command which needs a current position and none has been +established, TeXdraw implicitly sets the initial current position to +`(0 0)'. The size of the TeXdraw figure is normally determined from +the sequence of coordinates specified, but will include the implicit +initial position in case another initial position has not been +explicitly specified. + + +File: texdraw, Node: Using TeXdraw with LaTeX, Next: More Details, Prev: Drawing Segments and Scaling, Up: Top + +Using TeXdraw with LaTeX +************************ + + The LaTeX typesetting system uses a structured approach to declaring +typesetting environments. For LaTeX2e, the `texdraw' package defines +the `texdraw' environment. The TeXdraw environment is started with a +`\begin{texdraw}' command and terminated with an `\end{texdraw}' +command. All of the basic TeXdraw commands can be used within the +`texdraw' environment. + + As an example, a LaTeX2e variant of an earlier example can be +constructed as follows. + \documentclass{article} + \usepackage{texdraw} + ... + \begin{document} + ... + \newcommand{\tbox}[1]{% + \bsegment + \lvec (0 +0.25) \lvec (0.75 +0.25) + \lvec (0.75 -0.25) \lvec (0 -0.25) \lvec (0 0) + \textref h:C v:C \htext (0.375 0){#1} + \savepos (0.75 0)(*ex *ey) + \esegment + \move (*ex *ey)} + \begin{center} + \begin{texdraw} + \ravec (1 0) \tbox{$H(z)$} \ravec (1 0) + \end{texdraw} + \end{center} + ... + \end{document} + + This example illustrates the use of the LaTeX command `\newcommand' +as an alternative to the plain TeX command `\def'. Instead of the +basic TeXdraw command `\centertexdraw', a nested combination of the +LaTeX centering environment and the TeXdraw environment is used. + +* Menu: + +* PostScript printer drivers:: + + +File: texdraw, Node: PostScript printer drivers, Up: Using TeXdraw with LaTeX + +PostScript printer drivers +========================== + + The `texdraw' package uses the printer driver interface provided by +the standard LaTeX2e `graphics' package. Any options to the `texdraw' +package are passed to the `graphics' package. Specifically, the name +of the PostScript driver to be used can be specified as an option to +the `texdraw' package. With no explicit printer driver option, the +default printer driver associated with the `graphics' package is used. + + The `texdraw' package can be used with any of the printer drivers +supported by the `graphics' package that allow for the importation of +PostScript graphics files, viz., `dvips', `xdvi', `dvi2ps', `dvialw', +`dvilaser', `dvipsone', `dviwindo', `dvitops', `oztex', `psprint', +`textures', `pctexps', and `pctexwin'. Not all of these drivers +support the text rotation needed for the TeXdraw commands `\vtext' and +`\rtext'. Of the drivers listed above, only the following support +support text rotation: `dvips', `xdvi', `dvi2ps', `dvitops', +`textures', and `pctexps'. + + +File: texdraw, Node: More Details, Next: PostScript Commands, Prev: Using TeXdraw with LaTeX, Up: Top + +More Details +************ + + The first part of this chapter offers some suggestions for strategies +to isolate errors in TeX and TeXdraw input. The second part of this +chapter discusses implementational issues. An awareness of these issues +is useful if TeXdraw is to be extended. + +* Menu: + +* Errors while using TeXdraw:: +* Extending TeXdraw:: +* How TeXdraw merges graphics and text:: + + +File: texdraw, Node: Errors while using TeXdraw, Next: Extending TeXdraw, Up: More Details + +Errors while using TeXdraw +========================== + + TeX input is notoriously difficult to debug. If TeX reports errors, +so much the better. If the cause is not immediately obvious, consider +using a binary search strategy, removing sections of code with the +premature insertion of the `\bye' (or `\end{document}' for LaTeX) +command (with the appropriate closing of any open groups and the like). +Other strategies include the insertion of `\message{I am here}' at +appropriate places. Try using `\tracingmacros=1'. Many problems turn +out to be due to an incorrect number of macro arguments or incorrectly +delimited macro arguments. The `\tracingmacros=1' option writes the +macro arguments and macro expansions to the TeX log file. + + Certain errors may not manifest themselves until well after the +offending command. For instance, if a closing parenthesis is missing +from a TeXdraw coordinate, TeX continues searching for the parenthesis. +If one is found, perhaps many lines later, the TeXdraw error message +`invalid coordinate' will be printed at this later point. + + All input in the TeXdraw environment should be intended for +interpretation by TeXdraw commands. TeXdraw places text inside a zero +size box (the text itself extends outside the box). Extraneous input +manifests itself as a non-zero size TeXdraw text box. This causes the +TeXdraw text and the PostScript graphics to be displaced from one +another. An error message is issued if a non-zero width TeXdraw text +box is detected. If this error message appears, look for unintended +character sequences amongst the commands to TeXdraw. + + Several TeXdraw commands pass their arguments "raw" to the PostScript +file. That means that invalid arguments can generate PostScript errors +when the document is printed. For instance the argument of the +`\setgray' command is passed straight through to the PostScript file. +If this argument is non-numeric, a PostScript error results. Not all +PostScript printers report errors back to the user. The print may just +stop prematurely. One approach to debugging is to use a PostScript +previewer on a workstation. That way, one can determine at which point +in the drawing the PostScript error occurs. + + +File: texdraw, Node: Extending TeXdraw, Next: How TeXdraw merges graphics and text, Prev: Errors while using TeXdraw, Up: More Details + +Extending TeXdraw +================= + + TeXdraw is implemented using a combination of TeX commands and +PostScript code. This section discusses some of the implementational +issues as they relate to extending TeXdraw. + + TeXdraw as implemented, offers a basic set of drawing features. +These are adequate for certain tasks such as producing block diagrams. +There are different approaches to extending TeXdraw to include other +functions. In some cases, the desired functionality can be achieved by +writing a TeX macro which builds on top of the existing TeXdraw +commands. As these extensions become more complex, the limitations of +TeX for computations become increasingly evident. In other cases, +access to different features of PostScript is desired. The appropriate +approach would be to write new PostScript procedures which can be +accessed by TeX macros. + + Included with TeXdraw is a set of macros for directly accessing +PostScript functions. These are described in an appendix (*note +PostScript Commands::). + + TeXdraw also comes with a toolbox of routines for handling much of +the user interface, converting between different coordinate +representations and the like. The macros for coordinate decoding and +for computations involving coordinates are described in an appendix +(*note TeXdraw Toolbox: TeXdraw Toolbox.). + +* Menu: + +* Scaling:: +* Resolution:: +* Text placement:: +* Intermediate PostScript file:: + + +File: texdraw, Node: Scaling, Next: Resolution, Up: Extending TeXdraw + +Scaling +------- + + The scaling commands provided in TeXdraw are designed to affect only +the coordinate values specified in commands. For instance, changing the +`\setunitscale' value changes the interpretation of the coordinate in +an `\avec (X Y)' command, but does not change the line width or +arrowhead sizes in effect. None of the TeXdraw scaling commands affect +the size of TeX text produced by, for instance, the `\htext' command. +Scale changes will however affect the positioning of text for +subsequent commands. + + The line parameters are changed only if the corresponding commands to +change them are issued. If the `\linewd' command is given, the current +coordinate scaling is used to determine the line width. To achieve a +behaviour more like a global scaling, whenever the scale factor is +changed, the line parameters should be set again. + + +File: texdraw, Node: Resolution, Next: Text placement, Prev: Scaling, Up: Extending TeXdraw + +Resolution +---------- + + TeXdraw scales coordinates before passing them to PostScript. +Keeping track of the coordinate scaling is necessary, in any event, to +allow TeXdraw to compute the maximum excursions of the coordinates. +TeXdraw uses pixel units in its PostScript code. One pixel unit is +equal to 1/300 of an inch. TeXdraw issues PostScript commands with +integer valued pixel coordinates. This sets the positioning resolution +for TeXdraw. The passing of integer valued coordinates which +correspond to the device resolution keeps lines aligned with the device +grid; parallel lines of the same width will be rendered with the same +width. + + The position saving mechanism in TeXdraw (*note Saving positions::) +associates the pixel coordinates of a position with the specified name. + + TeXdraw uses the limited real number representation provided by TeX. +These operations are based on the representation of dimensions as +real-valued numbers of points. Internally in TeX, dimensions are +stored 32-bit values, normalized so that 1 pt corresponds to the scaled +point (sp) value of 65536. Dimensions with magnitudes between 0.000015 +pt and 32767 pt can be represented. This is also the dynamic range of +the TeXdraw pixel coordinates passed to PostScript. TeXdraw must +convert from user supplied coordinates using the scaling factor (which +itself consists of two components, the unit scale and the segment scale) +and a pixel conversion factor. The use of limited precision real +numbers in these computations can cause accumulation of error when +relative scaling is used repeatedly. + + +File: texdraw, Node: Text placement, Next: Intermediate PostScript file, Prev: Resolution, Up: Extending TeXdraw + +Text placement +-------------- + + While in the TeXdraw environment, TeX text is placed in a TeX box +while PostScript code is written to the intermediate file. At the end +of the TeXdraw environment, the size of the drawing is determined. A +TeX box of this size is created. The TeX `\special' mechanism is used +to instruct the PostScript driver program to position the PostScript +drawing from the intermediate file in this area. Next, the text +generated by TeXdraw is positioned and placed in the box. Note that +when the document is printed, the PostScript drawing is placed on the +page before the TeX text; TeX text will appear on top of graphics. + + The rotation of text is carried out with in-line PostScript code which +does not appear in the intermediate PostScript file. This code is sent +to the PostScript driver with a `\special' command. This PostScript +code is embedded in the dvi (device independent) file that TeX produces. + + +File: texdraw, Node: Intermediate PostScript file, Prev: Text placement, Up: Extending TeXdraw + +The intermediate PostScript file +-------------------------------- + + The intermediate PostScript file consists of a header, a body and a +trailer following Encapsulated PostScript File (EPSF) standards. The +header sets up PostScript definitions and default parameter values. The +trailer includes the `BoundingBox' information which gives the +coordinates in default PostScript units (72 per inch) for the lower +lefthand corner and the upper righthand corner of the drawing. The body +of the intermediate PostScript file contains the PostScript commands +generated by TeXdraw. + + Many moves in TeXdraw serve only to position text or to reset saved +positions. TeXdraw buffers move commands in order to be able to +collapse runs of moves. Only the last move of a run of moves is +actually written to the PostScript file. However the intermediate moves +still affect the size of the drawing. The expunging of moves means that +the PostScript file `BoundingBox' information may indicate a drawing +size larger than the PostScript commands themselves would warrant. + + Drawing segments in TeXdraw show up in the PostScript file as saves +and restores of the PostScript graphics state. Segment starts are +buffered and only written out if necessary. This way "empty" segments +do not generate output to the PostScript file. These empty segments +arise if a segment contains only moves and text commands. The moves +inside the segment are not needed since they are local to the segment, +and the text commands do not generate output to the PostScript file. + + If TeXdraw is used only for moves and text, no intermediate +PostScript file will be created. + + +File: texdraw, Node: How TeXdraw merges graphics and text, Prev: Extending TeXdraw, Up: More Details + +How TeXdraw merges graphics and text +==================================== + + TeXdraw creates a box which is the same size as the graphic. The +printer driver will place the PostScript graphic into this space. Any +TeX text generated by the TeXdraw commands will be superimposed on this +graphic. + + The LaTeX2e front-end for TeXdraw is enabled by including the +`texdraw' package. The `texdraw' package automatically invokes the +standard `graphics' package distributed with LaTeX2e. The `graphics' +package has support for a number of different printer drivers, +including a number for PostScript printers. Any options to the +`texdraw' package are passed on to the `graphics' package. Such an +option can be used to select a driver other than the default one. + + Within the `graphics' package, the driver option is used to select +definitions for the low-level macros which generate the `\special' +commands needed to request insertion of a graphics file and to rotate +text.(1) TeXdraw uses the user-level macros defined by the `graphics' +package (*note PostScript printer drivers::). When not used with the +LaTeX2e front-end, TeXdraw defines versions of these macros that are +suitable for use with the `dvips' printer driver. + + ---------- Footnotes ---------- + + (1) Not all PostScript drivers support text rotation. + + +File: texdraw, Node: PostScript Commands, Next: TeXdraw Toolbox, Prev: More Details, Up: Top + +PostScript Commands +******************* + + This appendix describes a set of macros for accessing some of the +PostScript builtin functions. Each of these macros issues a single +PostScript command. The extra services provided by TeXdraw are the +interpretation of coordinates in user units relative to the current +drawing segment and the writing of a pending TeXdraw move to the +PostScript file. This last operation establishes the current point in +PostScript. The user of these commands should be familiar with the +concepts of path construction and filling in PostScript. Further +details on the PostScript functions used can found in the `PostScript +Language Reference Manual, Second Edition', Adobe Systems, +Addison-Wesley, 1990. + + These macros are distributed in file `txdps.tex'. + + The `\PSsetlinecap' and `\PSsetlinejoin' commands control the way +line ends and line joins are rendered. The default values set by +TeXdraw (round caps and round join) are appropriate for most drawings. +Changes to these parameters apply to the current and subsequent paths. + +`\PSsetlinecap TYPE' + Set the line cap parameter. The value `0' gives a butt cap; `1' + gives a round cap; and `2' gives a projecting square cap. The + initial value is corresponds to a round cap. + +`\PSsetlinejoin TYPE' + Set the line join parameter. The value `0' gives a miter join; + `1' gives a round join; and `2' gives a bevel join. The initial + value corresponds to a round join. + + PostScript paths and fill operations can be controlled by a number of +functions. By design, TeXdraw always maintains a defined PostScript +current point. Some of the following macros cause the PostScript +current point to become undefined. The PostScript current point must be +set again (say with a `\PSmoveto' command) before invoking basic +TeXdraw commands. +`\PSstroke' + Stroke a PostScript path. The current path is stroked with the + current gray level (set with `\setgray') and the current line + pattern (set with `\lpatt'). The PostScript current point becomes + undefined. + +`\PSnewpath' + Establish a new path. The PostScript current point becomes + undefined. + +`\PSclosepath' + Close a subpath. A new subpath is started. + +`\PSfill' + Fill a region defined by a path. Each subpath is closed and the + enclosed regions painted with the current gray level. The + PostScript current point becomes undefined. The gray level can be + set with the TeXdraw command `\setgray'. + + The following line commands interpret coordinates relative to the +current TeXdraw scaling and drawing segment. The specified coordinate +affects the drawing size as determined by TeXdraw. +`\PSlineto (X Y)' + Add a line segment to the current path. This command is identical + to the TeXdraw command `\lvec'. The PostScript current point must + be defined before this command is issued. + +`\PSmoveto (X Y)' + Move to the coordinate specified by `(X Y)'. The PostScript + current point becomes defined. + + The following macros provide access to the general arc commands in +PostScript. The coordinates are interpreted relative to the current +TeXdraw scaling and drawing segment. The specified coordinate affects +the drawing size as determined by TeXdraw. +`\PSarc r:RADIUS sd:START-ANGLE ed:END-ANGLE (X Y)' + Draw a counterclockwise arc. The center of the arc is at the given + position. The radius is specified by RADIUS. The start and end + angles (in degrees) are specified by START-ANGLE and END-ANGLE. + If the PostScript current point is defined, this command also + draws the line from the current point to the beginning of the arc. + The line and arc become part of the current path. The current + point becomes defined. + +`\PSarcn r:RADIUS sd:START-ANGLE ed:END-ANGLE (X Y)' + Draw a clockwise arc. The center of the arc is at the given + position. The radius is specified by RADIUS. The start and end + angles (in degrees) are specified by START-ANGLE and END-ANGLE. + If the PostScript current point is defined, this command also + draws the line from the current point to the beginning of the arc. + The line and arc become part of the current path. The current + point becomes defined. + + The macro `\writeps' provides the general facility to write arbitrary +PostScript commands to the PostScript file. This macro is used by the +preceding commands and by the TeXdraw commands themselves. This +facility has to be used with care since changes in position or scaling +resulting from the PostScript commands are not known to TeXdraw. +`\writeps {<PS-COMMANDS>}' + Write PostScript commands to the intermediate PostScript file. + Before the commands are inserted, any pending TeXdraw move is + written to the PostScript file. The PostScript scaling gives 300 + units/inch. + + +File: texdraw, Node: TeXdraw Toolbox, Next: Examples, Prev: PostScript Commands, Up: Top + +TeXdraw Toolbox +*************** + + This appendix describes some of the macros supplied with TeXdraw +which can be used to define additional commands for creating drawings. +The macros described here work in the user specified coordinate system. +Some of these toolbox macros are used by the TeXdraw commands +themselves, others are supplied in an auxiliary file `txdtools.tex'. + +* Menu: + +* Coordinate parsing:: +* Real arithmetic:: +* Arrow curve:: + + +File: texdraw, Node: Coordinate parsing, Next: Real arithmetic, Up: TeXdraw Toolbox + +Coordinate parsing +================== + + The coordinate parsing macro `\getpos' is useful for creating new +commands. This macro takes care of stripping leading and trailing +blanks from coordinates specified between parentheses. In addition, +symbolic coordinates are translated to the corresponding relative +coordinate using the segment offset and scaling in effect. + + The macro `\currentpos' returns the relative coordinates of the +current position. The returned values are relative to the current +segment and the current scaling. The macro `\cossin' returns the +real-valued cosine and sine of the direction of the line joining two +points. The macro `\vectlen' returns the length of a vector. The +results appear as the value of user supplied macro names. + +`\getpos (X Y)\MX\MY' + Decode coordinate values. The coordinates specified by `(X Y)' are + decoded. Symbolic coordinates are translated to the corresponding + relative coordinate using the current segment offset and scaling. + The resulting character strings representing the real-valued + coordinates are assigned to the macros specified by `\MX' and + `\MY'. + +`\currentpos \MX\MY' + Return the coordinates of the current position. The coordinates + are relative to the current segment offset and scaling. The + resulting character strings representing the real-valued + coordinates are assigned to the macros specified by `\MX' and + `\MY'. + +`\cossin (X1 Y1)(X2 Y2)\COSA\SINA' + Return the cosine and sine of the direction of a vector joining two + points. The cosine and sine of the angle of the vector which goes + from `(X1 Y1)' to `(X2 Y2)'. The character strings representing + these real-valued quantities are assigned to the macros specified + by `\COSA' and `\SINA'. + +`\vectlen (X1 Y1)(X2 Y2)\LEN' + Return the length of a vector joining two points. The length of + the vector is relative to the current scaling. The character + string representing the real-valued length is assigned to the + macro specified by `\LEN'. + + +File: texdraw, Node: Real arithmetic, Next: Arrow curve, Prev: Coordinate parsing, Up: TeXdraw Toolbox + +Real arithmetic +=============== + + The TeXdraw toolbox supplies macros to perform real arithmetic on +coordinate values. The result appears as the value of a user supplied +macro name. +`\realadd {VALUE1} {VALUE2} \SUM' + Add two real quantities, assigning the resultant character string + representing the sum to the macro `\SUM'. + +`\realmult {VALUE1} {VALUE2} \PROD' + Multiply two real quantities, assigning the resultant character + string representing the product to the macro `\PROD'. + +`\realdiv {VALUE1} {VALUE2} \RESULT' + Divide two real quantities, assigning the resultant character + string representing the result of VALUE1/VALUE2 to the macro + `\RESULT'. + + +File: texdraw, Node: Arrow curve, Prev: Real arithmetic, Up: TeXdraw Toolbox + +Arrow curve +=========== + + This example illustrates the use of the TeXdraw toolbox routines to +do computations with the coordinates. The problem will be tackled in +two parts. First, we will produce a macro to place an arrowhead on a +Bezier curve. Then given this macro, we will produce a macro which can +draw a "wiggly" line from the current position to a given coordinate. + + The first macro, `\cavec', uses the `\cossin' command to determine +the the cosine and sine of the angle of the line joining the second +control point to the end point of the Bezier curve. Recall that the +Bezier curve is tangent to this line at the end point. After drawing +the Bezier curve, the scaling is set locally to absolute units of 0.05 +inches. We go back down the line from the end point by 0.05 inches and +draw an arrow vector to the end point from there. This arrow vector is +mostly arrowhead, with little or no tail. + + \def\cavec (#1 #2)(#3 #4)(#5 #6){ + \clvec (#1 #2)(#3 #4)(#5 #6) + \cossin (#3 #4)(#5 #6)\cosa\sina + \rmove (0 0) + \bsegment + \drawdim in \setsegscale 0.05 + \move ({-\cosa} -\sina) \avec (0 0) + \esegment} + + Note the use of macros as arguments to a `\move' command. Minus +signs are put in front of the macros. However, the value of the macro +`\cosa' or `\sina' could be negative. Fortunately, TeX accepts two +minus signs in a row and interprets the result as positive. Note that +the `\rmove (0 0)' command before the beginning of the segment ensures +that the Bezier curve is stroked before the arrowhead is drawn. + + The second macro `\caw' builds on `\cavec'. The goal is to produce a +wiggly vector that can be used as a pointer in a drawing. Consider the +following symmetrical normalized Bezier curve. + \centertexdraw{ \move (0 0) \cavec (1.4 0.1)(-0.4 -0.1)(1 0) } + + This curve has the appropriate wiggle. Now we want to be able to draw +this curve, appropriately scaled and rotated. The macro `\caw' needs +to do computations on the coordinates. First, `\caw' uses the macros +`\getpos' and `\currentpos' to get the positions of the end and start +of the curve. Next, the length of the vector is calculated using the +macro `\vectlen'. A local macro `\rotatecoord' is used to rotate a +coordinate pair about the origin, using the cosine and sine of the +rotation angle. The vector length is used to scale the normalized +curve. The remaining code draws the rotated, normalized curve. + + \def\caw (#1 #2){ + \currentpos \xa\ya + \cossin ({\xa} \ya)(#1 #2)\cosa\sina + + % The nominal wiggly curve is (0 0) (1+dx dy) (-dx -dy) (1 0) + % Find the rotated offset (dx dy) -> (du dv) + \rotatecoord (0.4 0.1)\cosa\sina \du\dv + + % calculate the length of the vector + \vectlen ({\xa} \ya)(#1 #2)\len + + % draw the curve in normalized units + \bsegment + \setsegscale {\len} + \realadd \cosa \du \tmpa \realadd \sina \dv \tmpb + \cavec ({\tmpa} \tmpb)({-\du} -\dv)({\cosa} \sina) + \esegment + \move (#1 #2)} + + % rotate a coordinate (x y) + % arguments: (x y) cosa sina x' y' + % x' = cosa * x - sina * y; y' = sina * x + cosa * y + \def\rotatecoord (#1 #2)#3#4#5#6{ + \getpos (#1 #2)\xarg\yarg + \realmult \xarg {#3} \tmpa \realmult \yarg {#4} \tmpb + \realadd \tmpa {-\tmpb} #5 + \realmult \xarg {#4} \tmpa \realmult \yarg {#3} \tmpb + \realadd \tmpa \tmpb #6} + + Finally, the new macro can be used as follows. + \centertexdraw{ + \arrowheadtype t:W + \move (0 0) + \cavec (1.4 0.1)(-0.4 -0.1)(1 0) + \move (1 0) \caw (1 1) \htext{tip at \tt (1 1)} + \move (1 0) \caw (2 1) \htext{tip at \tt (2 1)} + \move (1 0) \caw (2 0) \htext{tip at \tt (2 0)} + + } + + Note that the Bezier curve in the macro `\cavec' lies below the +arrowhead. The example then draws an arrowhead of type `W' to erase +the part of the line below the arrowhead. + + +File: texdraw, Node: Examples, Next: Command Listing, Prev: TeXdraw Toolbox, Up: Top + +Examples +******** + + This appendix shows examples of the use of TeXdraw. + +* Menu: + +* Block diagram:: +* Filter response graph:: +* Geometric construction:: + + +File: texdraw, Node: Block diagram, Next: Filter response graph, Up: Examples + +Block diagram of a lattice filter +================================= + + The block diagram of a lattice filter uses a library of extended +commands built from the basic TeXdraw commands. + + The block diagram uses a "delay" block. This is defined as a segment +which leaves the current position at the end of this block. A second +macro, `\bdot', draws a "big" dot which is used to mark junctions of +lines. The `\Ttext' command centers text above a given point. The +offset to position the text is local to a segment, resulting in no +change to the current point. Similar macros to position text below a +point (`\Btext'), to the left of a point (`\Ltext') and to the right of +a point (`\Rtext') are used in the final drawing. + \def\delay {\bsegment + \setsegscale 0.3 + \lvec (0 +0.5) \lvec (1 +0.5) \lvec (1 -0.5) + \lvec (0 -0.5) \lvec (0 0) + \textref h:C v:C \htext (0.5 0){$z^{-1}$} + \savepos (1 0)(*ex *ey) + \esegment + \move (*ex *ey)} + \def\bdot {\fcir f:0 r:0.02 } + \def\Ttext #1{\bsegment + \textref h:C v:B \htext (0 +0.06){#1} + \esegment} + + Several of the block diagram elements scale with the size of the +summing nodes. The radius of the circles for the summing nodes is +defined as the macro `\cradius'. The summing nodes will have enclosed +plus signs, appropriately scaled. The plus sign is drawn by the macro +`\pluss'. The macro `\pcir' draws both the circle and the plus sign. +The incoming lines to a summing node will be labelled with plus or +minus signs (characters this time), placed at the appropriate position +with respect to the center of the summing node. These positions are +given in terms of compass directions. The macro `\putwnw' places text +west by north-west relative to the center of the summing node. + \def\cradius {0.08} + \def\pluss {\bsegment + \setsegscale {\cradius} + \move (-0.5 0) \lvec (+0.5 0) + \move (0 -0.5) \lvec (0 +0.5) + \esegment} + \def\pcir {\lcir r:{\cradius} \pluss} + \def\puttext (#1 #2)#3{\bsegment + \setsegscale {\cradius} + \textref h:C v:C \htext (#1 #2){#3} + \esegment} + \def\putwnw #1{\puttext (-1.7 +1.2){#1}} + + The block diagram has vectors arriving and departing from the summing +nodes (circles). One could calculate the points of intersection of the +lines with the circles, and then enter the values into the TeXdraw +code. However, in this example, we implement an automated procedure. +Two macros are needed, an arrow vector to a circle (`\avectoc') and an +arrow vector leaving from a circle (`\avecfrc'). The macros will +calculate the point of intersection with the circle and start or end +the vector at the intersection point. + + The arrow macros use scaling and relative positioning inside of a +drawing segment. In the case of the macro `\avectoc', a move is made +to the final point (center of the circle), then within a drawing +segment, a scaled move is made back towards the initial point to +determine the intersection point with the circle. + + \def\avectoc (#1 #2){\currentpos \xa\ya + \cossin ({\xa} \ya)(#1 #2)\cosa\sina + \savepos (#1 #2)(*tx *ty) + \bsegment + \move (*tx *ty) + \setsegscale {\cradius} + \rmove ({-\cosa} -\sina) + \savecurrpos (*ex *ey) + \esegment + \avec (*ex *ey) + \move (#1 #2)} + \def\avecfrc (#1 #2){\currentpos \xa\ya + \cossin ({\xa} \ya)(#1 #2)\cosa\sina + \bsegment + \setsegscale {\cradius} + \move ({\cosa} \sina) + \savecurrpos (*ex *ey) + \esegment + \move (*ex *ey) + \avec (#1 #2)} + + Having defined these macros, we are ready to draw the block diagram. +The first and last sections of the lattice filter are very similar, +differing mainly in the text labels. With more effort, code could be +shared between the commands used to draw these blocks. + \centertexdraw{ + \drawdim in + \arrowheadtype t:F \arrowheadsize l:0.08 w:0.04 + \def\pl {$\scriptscriptstyle +$} \def\mn {$\scriptscriptstyle -$} + + \move (0 +0.63) \move (0 -0.60) \move (0 0) % compensate for the text size + + % Input to the first stage + \bsegment + \Ltext{$x(n)$} + \lvec (0.3 0) \bdot \lvec (0.3 +0.4) \move (0.3 0) \lvec (0.3 -0.4) + \savepos (0.3 0)(*ex *ey) + \esegment + \move (*ex *ey) + + % first lattice stage + \bsegment + \move (0 +0.4) \avectoc (1.7 +0.4) + \pcir \putwnw{\pl} \puts{\mn} + \avecfrc (2.1 +0.4) + \move (0 -0.4) \avec (0.4 -0.4) \delay \avectoc (1.7 -0.4) + \pcir \putwsw{\pl} \putn{\mn} + \avecfrc (2.1 -0.4) + \move (0.9 +0.4) \bdot \avectoc (1.7 -0.4) + \move (0.9 -0.4) \bdot \avectoc (1.7 +0.4) + \move (0.1 +0.42) \Ttext {$f_0(n)$} + \move (2.0 +0.42) \Ttext {$f_1(n)$} + \move (0.1 -0.4) \Btext {$b_0(n)$} + \move (2.0 -0.4) \Btext {$b_1(n)$} + \textref h:L v:B \htext (1.15 +0.2){$K_1$} + \textref h:L v:T \htext (1.15 -0.2){$K_1$} + \savepos (2.1 0)(*ex *ey) + \esegment + \move (*ex *ey) + + % center section + \bsegment + \textref h:C v:C \htext (0.3 +0.4){$\cdots$} + \htext (0.3 -0.4){$\cdots$} + \savepos (0.6 0)(*ex *ey) + \esegment + \move (*ex *ey) + + % last lattice stage + \bsegment + \move (0 +0.4) \avectoc (1.7 +0.4) + \pcir \putwnw{\pl} \puts{\mn} + \avecfrc (2.3 +0.4) \Rtext{$e(n)$} + \move (0 -0.4) \avec (0.4 -0.4) \delay \avectoc (1.7 -0.4) + \pcir \putwsw{\pl} \putn{\mn} + \avecfrc (2.1 -0.4) + \move (0.9 +0.4) \bdot \avectoc (1.7 -0.4) + \move (0.9 -0.4) \bdot \avectoc (1.7 +0.4) + \move (0.1 +0.42) \Ttext {$f_{P-1}(n)$} + \move (2.0 +0.42) \Ttext {$f_P(n)$} + \move (0.1 -0.4) \Btext {$b_{P-1}(n)$} + \move (2.0 -0.4) \Btext {$b_P(n)$} + \textref h:L v:B \htext (1.15 +0.2){$K_P$} + \textref h:L v:T \htext (1.15 -0.2){$K_P$} + \esegment + } + + The macros used in this example are similar to the block diagram +macros defined in the file `blockdiagram.tex'. + + +File: texdraw, Node: Filter response graph, Next: Geometric construction, Prev: Block diagram, Up: Examples + +Filter response graph +===================== + + This example shows the response of a canonical filter. TeXdraw is +not well suited for general purpose graphing -- it has no coordinate +translation facility nor does it have separate X and Y scaling. +Nonetheless, for certain simple graphs, TeXdraw is adequate. + + In this example, macro `\ticklab' places a labelled axis tick at a +given position. The data is specified in a straightforward manner, +having been scaled beforehand to give the desired aspect ratio for the +graph. + + \centertexdraw{ + \arrowheadtype t:F \arrowheadsize l:0.08 w:0.04 + \def\ds {\displaystyle} + \def\ticklab (#1 #2)#3{\move(#1 #2) + \bsegment + \lvec (0 0.05) + \textref h:C v:T \htext (0 -0.05){#3} + \esegment} + \def\Rtext #1{\bsegment + \textref h:L v:C \htext (+0.08 0){#1} + \esegment} + + \move (2.4 -0.3) % move to set the size + + \move (0 0) + % Axes + \avec (0 +1.4) + \move (0 0) \avec (2.2 0) \Rtext{$\omega$} + \ticklab (0 0) {0} + \ticklab (0.8 0) {$\ds {\pi \over 2N} $} + \ticklab (1.2 0) {$\omega_s$} + \ticklab (1.6 0) {$\ds {\pi \over N} $} + + \linewd 0.025 + \move (0 1) + \lvec (0.4 1) + \lvec (0.44 0.998) + \lvec (0.48 0.988) + \lvec (0.52 0.973) + \lvec (0.56 0.951) + ... + \lvec (1.08 0.233) + \lvec (1.12 0.156) + \lvec (1.16 0.078) + \lvec (1.20 0) + \lvec (1.9 0) + } + + +File: texdraw, Node: Geometric construction, Prev: Filter response graph, Up: Examples + +Geometric construction +====================== + + This example shows a geometric construction which places an ellipse +tangent to an enclosing circle. The size of the ellipse is determined +from geometric considerations. Macros are used to modularize the code. +The example alters the unit scale factor. This allows the drawing to be +carried out in units normalized to the radius of the circle. + + \centertexdraw{ + \arrowheadtype t:V \arrowheadsize l:0.08 w:0.04 + \linewd 0.01 + \setunitscale 1.5 % circle will have radius 1.5 inches + + \def\Btext #1{\bsegment + \textref h:C v:T \htext (0 -0.04){#1} + \esegment} + \def\Ttext #1{\bsegment + \textref h:C v:B \htext (0 +0.04){#1} + \esegment} + \def\Ltext #1{\bsegment + \textref h:R v:C \htext (-0.04 0){#1} + \esegment} + \def\bdot {\fcir f:0 r:0.0133 } + \def\vtick {\bsegment + \move (0 -0.05) \lvec (0 +0.05) + \esegment} + \def\htick {\bsegment + \move (-0.05 0) \lvec (+0.05 0) + \esegment} + \def\Hlen #1#2{\bsegment + \vtick \avec ({#1} 0) \vtick \avec (0 0) + \relsegscale 0.5 + \move ({#1} 0) \Ttext {#2} + \esegment} + \def\Vlen #1#2{\bsegment + \htick \avec (0 {#1}) \htick \avec (0 0) + \relsegscale 0.5 + \move (0 {#1}) \Ltext {#2} + \esegment} + + \lcir r:1 % circle + \move (-1.05 0) \lvec ( 1.05 0) % axes + \move (0 -1.05) \lvec (0 1.05) + + \move (0 0) \lvec (0.707 0.707) \bdot + \rmove (0.02 0.02) \textref h:L v:B \htext {X} + \move (0.707 -0.707) \bdot + \textref h:R v:T \htext(-0.02 -0.02){O} + + \move (0.5 0) % center of ellipse + \bsegment + \lellip rx:0.435 ry:0.804 + \bdot \Btext {$\beta_2$} + \move (0 0.15) \Hlen {0.435}{$|\beta_1{+}\beta_3|$} + \move (-0.7 0) \Vlen {0.804}{$|\beta_1{-}\beta_3|$} + \esegment + } + + +File: texdraw, Node: Command Listing, Next: Command Index, Prev: Examples, Up: Top + +Alphabetic listing of commands +****************************** + +`\arrowheadsize l:LENGTH w:WIDTH' + Set the arrowhead size to be LENGTH units long and WIDTH units + wide. The width is measured across the "base" of the arrowhead. + The initial arrowhead size has a LENGTH of 0.16 inches and a WIDTH + of 0.08 inches. + +`\arrowheadtype t:TYPE' + Set the arrowhead type to TYPE, where TYPE is one of `F', `T', + `W', `V', or `H'. There are two kinds of arrowheads. The first + kind is a triangle. There are 3 variants: type `T' is an empty + triangle, type `F' is a filled triangle (using the current gray + level for lines), type `W' is a triangle filled with white. The + second kind of arrowhead is an open ended Vee. There are 2 + variants: type `V' has the stem continue to the tip, type `H' has + the stem stop at the base of the arrowhead. The initial arrowhead + type is `T'. + +`\avec (X Y)' + Draw a line with an arrowhead from the current position to `(X + Y)'. The new current position is `(X Y)'. The arrowhead is + aligned with the line, with the tip at `(X Y)'. + +`\begin{texdraw}' + Start a TeXdraw drawing. The drawing is terminated with an + `\end{texdraw}' command. This command is for use with LaTeX. + +`\bsegment' + Start a drawing segment. The coordinate system is shifted such + that the current position corresponds to the coordinate `(0 0)'. + Changes to scaling, position and line parameters stay local to the + drawing segment. + +`\btexdraw' + Start a TeXdraw drawing. The drawing is terminated with an + `\etexdraw' command. + +`\centertexdraw { ... }' + Center a TeXdraw box. The argument contains TeXdraw commands. + The resulting box has the horizontal size `\hsize' and height equal + to the height of the drawing. + +`\clvec (X1 Y1)(X2 Y2)(X3 Y3)' + Draw a Bezier curve from the current position to the coordinate + `(X3 Y3)' which becomes the new current position. The coordinates + `(X1 Y1)' and `(X2 Y2)' serve as control points for the curve. + Only the last coordinate given is used to update the size of the + drawing. + +`\drawbb' + Draw a ruled box around the effective size of a drawing produced by + TeXdraw commands. + +`\drawdim DIM' + Set the units to DIM. The argument DIM can be any valid TeX + dimension unit. The units are used to interpret coordinate + values. Examples of valid units: `cm', `mm', `in', `pt', and `bp'. + +`\end{texdraw}' + End a TeXdraw drawing started with a `\begin{texdraw}' command. + The resulting TeXdraw drawing is placed in a box with height equal + to the height of the drawing and width equal to the width of the + drawing. The depth of the box is zero. This command is for use + with LaTeX. + +`\esegment' + End a drawing segment. The current position in effect before the + corresponding `\bsegment' command is restored. The scaling and + line parameter values revert to those in effect before the + corresponding `\bsegment' was invoked. + +`\etexdraw' + End a TeXdraw drawing started with a `\btexdraw' command. The + resulting TeXdraw drawing is placed in a box with height equal to + the height of the drawing and width equal to the width of the + drawing. The depth of the box is zero. + +`\everytexdraw { ... }' + Specify TeXdraw commands to be executed at the beginning of every + TeXdraw drawing. + +`\fcir f:LEVEL r:RADIUS' + Draw a filled circle with center at the current position. The + radius is specified by RADIUS. The circle is painted with the + gray level specified by LEVEL. A gray level of 1 corresponds to + white, with decreasing values getting darker. The level 0 is full + black. This command does not draw a line along the circumference. + The drawing size is increased if necessary to contain the circle. + +`\fellip f:LEVEL rx:X-RADIUS ry:Y-RADIUS' + Draw a filled ellipse with center at the current position. The + radius in the X direction is specified by X-RADIUS. The radius in + the Y direction is specified by Y-RADIUS. The ellipse is painted + with the gray level specified by LEVEL. A gray level of 1 + corresponds to white, with decreasing values getting darker. The + level 0 is full black. This command does not draw a line along + the boundary of the ellipse. The drawing size is increased if + necessary to contain the ellipse. + +`\htext (X Y){TEXT}' +`\htext {TEXT}' + The first form of this command places the TeX text TEXT + horizontally with the text reference point at the coordinate `(X + Y)'. The new current position is `(X Y)'. The second form of + this command places the TeX text TEXT horizontally with the text + reference point at the current position. The text reference point + is set with the `\textref' command. + +`\ifill f:LEVEL' + Close the current path and paint the interior of the region with + gray level LEVEL. The line around the path is not drawn. Gray + levels are real values from 0 (black) through intermediate values + (grays) to 1 (white). + +`\larc r:RADIUS sd:START-ANGLE ed:END-ANGLE' + Draw a counterclockwise arc. The center of the arc is at the + current position. The radius is specified by RADIUS. The start + and end angles (in degrees) are specified by START-ANGLE and + END-ANGLE. This command does not affect the limits (size) of the + drawing. + +`\lcir r:RADIUS' + Draw a circle with center at the current position. The radius is + specified by RADIUS. This command draws a line along the + circumference of the circle. The drawing size is increased if + necessary to contain the circle. + +`\lellip rx:X-RADIUS ry:Y-RADIUS' + Draw an ellipse with center at the current position. The radius + in the X direction is specified by X-RADIUS. The radius in the Y + direction is specified by Y-RADIUS. The drawing size is increased + if necessary to contain the ellipse. + +`\lfill f:LEVEL' + Close the current path, draw the line around the path using the + current grey level for lines and paint the interior of the region + with specified gray level LEVEL. Gray levels are real values from + 0 (black) through intermediate values (grays) to 1 (white). + +`\linewd WIDTH' + Set the line width to WIDTH units. Initially WIDTH is 0.01 inches + (corresponding to 3 pixels at 300 pixels to the inch). + +`\lpatt (PATTERN)' + Set lines to have the pattern `(PATTERN)'. A pattern is a + sequence of on/off lengths separated by blanks and enclosed in + parentheses. The lengths alternately specify the length of a dash + and the length of a gap between dashes. Each length is + interpreted using the current scaling and drawing units. The + pattern is used cyclically. The empty pattern signifies a solid + line. The initial line pattern is a solid line, corresponding to + the empty pattern `\lpatt ()'. + +`\lvec (X Y)' + Draw a line from the current position to coordinate `(X Y)'. The + new current position is `(X Y)'. + +`\move (X Y)' + Move to coordinate `(X Y)'. The new current position is `(X Y)'. + +`\ravec (DX DY)' + Draw a line with an arrowhead from the current position, DX units + in the X direction and Y units in the Y direction. The final + position becomes the new current position. The arrowhead is + aligned with the line, with the tip at the new current position. + +`\relsegscale VALUE' + Adjust the segment scale factor by multiplying by VALUE. This has + the effect of multiplying the current overall scale factor by the + same factor. The overall scaling factor is the product of the + unit scale factor and the segment scale factor. + +`\relunitscale VALUE' + Adjust the unit scale factor by multiplying by VALUE. This has + the effect of multiplying the overall scale factor by the same + factor. The overall scaling factor is the product of the unit + scale factor and the segment scale factor. + +`\rlvec (DX DY)' + Draw a line from the current position, DX units in the X direction + and DY units in the Y direction. The final position becomes the + new current position. + +`\rmove (DX DY)' + Move from the current position, DX units in the X direction and DY + units in the Y direction. The final position becomes the new + current position. + +`\rtext td:ANGLE (x y){TEXT}' +`\rtext td:ANGLE {TEXT}' + The first form of this command places the TeX text TEXT at an + angle with the text reference point at the coordinate `(X Y)'. + The new current position is `(X Y)'. The second form of this + command places the TeX text TEXT at an angle with the text + reference point at the current position. In both cases, the TeX + text is placed in a box and the box is rotated counterclockwise by + ANGLE degrees about the text reference point. The text reference + point is set with the `\textref' command. + +`\savecurrpos (*PX *PY)' + Save the current position as the absolute position referenced by + `(*PX *PY)'. + +`\savepos (X Y)(*PX *PY)' + Save the coordinate position `(X Y)' as the absolute position + referenced by `(*PX *PY)'. The coordinate `(X Y)' is interpreted + in the normal fashion as a coordinate relative to the current + segment, using the current scaling factors and drawing unit. + +`\setgray LEVEL' + Set the gray level of lines. Gray levels are real values from 0 + (black) through intermediate values (gray) to 1 (white). The + initial gray level is 0 corresponding to black. + +`\setsegscale SCALE' + Set the segment scale factor. The argument SCALE is a real number + which is used to scale coordinate values. The overall scale + factor is the product of the unit scale factor and the segment + scale factor. + +`\setunitscale SCALE' + Set the unit scaling to SCALE. The argument SCALE is a real + number which is used to scale coordinate values. The overall + scaling factor is the product of the unit scale factor and the + segment scale factor. + +`\texdrawbox { ... }' + Create a TeXdraw box. The argument contains TeXdraw commands. + This macro returns a TeX box with height equal to the height of the + drawing and width equal to the width of the drawing. The depth of + the box is zero. + +`\textref h:H-REF v:V-REF' + Set the text reference point for subsequent text commands. The + horizontal reference point H-REF is one of `L', `C' or `R' (left, + center or right). The vertical reference point V-REF is one of + `T', `C' or `B' (top, center or bottom). For rotated text, the + reference point is determined before rotation. The initial text + reference point corresponds to `\textref h:L v:B'. + +`\vtext (x y){TEXT}' +`\vtext {TEXT}' + The first form of this command places the TeX text TEXT vertically + with the text reference point at the coordinate `(X Y)'. The new + current position is `(X Y)'. The second form of this command + places the TeX text TEXT vertically with the text reference point + at the current position. In both cases, the TeX text is placed in + a box and the box is rotated counterclockwise by 90 degrees about + the text reference point. The text reference point is set with + the `\textref' command. + + + +File: texdraw, Node: Command Index, Next: Concept Index, Prev: Command Listing, Up: Top + +Command Index +************* + +* Menu: + +* \arc: Circles and arcs. +* \arrowheadsize: Line vectors. +* \arrowheadtype: Line vectors. +* \avec: Line vectors. +* \begin{texdraw}: Accessing TeXdraw. +* \bsegment: Drawing segments. +* \btexdraw: Accessing TeXdraw. +* \centertexdraw: Accessing TeXdraw. +* \clvec: Bezier curves. +* \cossin: Coordinate parsing. +* \currentpos: Coordinate parsing. +* \drawbb: Drawing size. +* \drawdim: Coordinate specification. +* \end{texdraw}: Accessing TeXdraw. +* \esegment: Drawing segments. +* \etexdraw: Accessing TeXdraw. +* \everytexdraw: Accessing TeXdraw. +* \fcir: Circles and arcs. +* \fellip: Circles and arcs. +* \getpos: Coordinate parsing. +* \htext: TeX text. +* \ifill: Fill commands. +* \lcir: Circles and arcs. +* \lellip: Circles and arcs. +* \lfill: Fill commands. +* \linewd: Line vectors. +* \lvec: Line vectors. +* \move: Line vectors. +* \PSarc: PostScript Commands. +* \PSarcn: PostScript Commands. +* \PSclosepath: PostScript Commands. +* \PSfill: PostScript Commands. +* \PSlineto: PostScript Commands. +* \PSmoveto: PostScript Commands. +* \PSnewpath: PostScript Commands. +* \PSsetlinecap: PostScript Commands. +* \PSsetlinejoin: PostScript Commands. +* \PSstroke: PostScript Commands. +* \ravec: Line vectors. +* \realadd: Real arithmetic. +* \realdiv: Real arithmetic. +* \realmult: Real arithmetic. +* \relsegscale: Scaling coordinates. +* \relunitscale: Scaling coordinates. +* \rlvec: Line vectors. +* \rmove: Line vectors. +* \rtext: TeX text. +* \savecurrpos: Saving positions. +* \savepos: Saving positions. +* \setgray: Line vectors. +* \setsegscale: Scaling coordinates. +* \setunitscale: Scaling coordinates. +* \textref: TeX text. +* \vectlen: Coordinate parsing. +* \vtext: TeX text. +* \writeps: PostScript Commands. +* arc: PostScript Commands. +* arcn: PostScript Commands. +* closepath: PostScript Commands. +* fill: PostScript Commands. +* lineto: PostScript Commands. +* moveto: PostScript Commands. +* newpath: PostScript Commands. +* setlinecap: PostScript Commands. +* setlinejoin: PostScript Commands. +* stroke: PostScript Commands. + + +File: texdraw, Node: Concept Index, Prev: Command Index, Up: Top + +Concept Index +************* + +* Menu: + +* accessing TeXdraw <1>: Accessing TeXdraw. +* accessing TeXdraw: Using TeXdraw with LaTeX. +* angle of a vector: Coordinate parsing. +* arcs <1>: Circles and arcs. +* arcs: PostScript Commands. +* arrowhead parameters: Line vectors. +* arrows: Line vectors. +* Bezier curves: Bezier curves. +* circles: Circles and arcs. +* command syntax: Command syntax. +* coordinate parsing: Coordinate parsing. +* coordinate specification: Coordinate specification. +* coordinate, symbolic: Saving positions. +* coordinates: TeXdraw coordinates. +* cosine of a vector direction: Coordinate parsing. +* current position <1>: Coordinate parsing. +* current position <2>: Line vectors. +* current position: Initial current position. +* current position in PostScript: PostScript Commands. +* curves: Bezier curves. +* dashed lines: Line vectors. +* direction of a line: Coordinate parsing. +* distribution: Distribution. +* dotted lines: Line vectors. +* drawing segments: Drawing segments. +* dvi2ps printer driver: PostScript printer drivers. +* dvialw printer driver: PostScript printer drivers. +* dvilaser printer driver: PostScript printer drivers. +* dvips printer driver <1>: PostScript printer drivers. +* dvips printer driver <2>: Introduction. +* dvips printer driver: How TeXdraw merges graphics and text. +* dvipsone printer driver: PostScript printer drivers. +* dvitops printer driver: PostScript printer drivers. +* dviwindo printer driver: PostScript printer drivers. +* ellipses: Circles and arcs. +* Encapsulated PostScript File: Intermediate PostScript file. +* errors while using TeXdraw: Errors while using TeXdraw. +* example, arrow curve: Arrow curve. +* example, block diagram: Examples. +* example, circle and ellipse: Geometric construction. +* example, graph: Filter response graph. +* fill operations, interaction with drawing segments: Drawing paths. +* filled circles: Circles and arcs. +* filling regions <1>: PostScript Commands. +* filling regions: Fill commands. +* graphics package <1>: PostScript printer drivers. +* graphics package <2>: Accessing TeXdraw. +* graphics package <3>: How TeXdraw merges graphics and text. +* graphics package: Introduction. +* graphics placement: How TeXdraw merges graphics and text. +* gray levels for lines: Line vectors. +* implementation: Extending TeXdraw. +* initial current position: Initial current position. +* invoking TeXdraw <1>: Accessing TeXdraw. +* invoking TeXdraw: Using TeXdraw with LaTeX. +* LaTeX <1>: Accessing TeXdraw. +* LaTeX <2>: Using TeXdraw with LaTeX. +* LaTeX: Introduction. +* length of a vector: Coordinate parsing. +* line cap: PostScript Commands. +* line join: PostScript Commands. +* line width: Line vectors. +* lines <1>: PostScript Commands. +* lines: Line vectors. +* listing of commands: Command Listing. +* moves <1>: Line vectors. +* moves: PostScript Commands. +* oztex printer driver: PostScript printer drivers. +* painting regions: Fill commands. +* paths <1>: PostScript Commands. +* paths <2>: Drawing paths. +* paths: Fill commands. +* pctexps printer driver: PostScript printer drivers. +* pctexwin printer driver: PostScript printer drivers. +* placement of graphics and text: How TeXdraw merges graphics and text. +* plain TeX: Accessing TeXdraw. +* position specification: Coordinate specification. +* positions, saving: Saving positions. +* PostScript commands: PostScript Commands. +* PostScript printer drivers <1>: PostScript printer drivers. +* PostScript printer drivers: How TeXdraw merges graphics and text. +* printer drivers <1>: PostScript printer drivers. +* printer drivers: How TeXdraw merges graphics and text. +* problems while using TeXdraw: Errors while using TeXdraw. +* psprint driver: PostScript printer drivers. +* relative positioning: Line vectors. +* relative scaling: Scaling coordinates. +* resolution: Resolution. +* rotated text <1>: PostScript printer drivers. +* rotated text <2>: TeX text. +* rotated text <3>: Text placement. +* rotated text: How TeXdraw merges graphics and text. +* saving positions: Saving positions. +* scaling: Scaling. +* scaling coordinates: Scaling coordinates. +* segment scale: Scaling coordinates. +* segments: Drawing segments. +* sine of a vector direction: Coordinate parsing. +* size of the drawing: Drawing size. +* stroking lines <1>: PostScript Commands. +* stroking lines: Drawing paths. +* symbolic coordinate: Saving positions. +* syntax of commands: Command syntax. +* texdraw package <1>: How TeXdraw merges graphics and text. +* texdraw package <2>: Using TeXdraw with LaTeX. +* texdraw package: Accessing TeXdraw. +* text commands: TeX text. +* text placement: How TeXdraw merges graphics and text. +* text rotation <1>: How TeXdraw merges graphics and text. +* text rotation <2>: TeX text. +* text rotation <3>: PostScript printer drivers. +* text rotation: Text placement. +* textures printer driver: PostScript printer drivers. +* unit scale: Scaling coordinates. +* vectors: Line vectors. +* vertical text: TeX text. +* width of lines: Line vectors. +* xdvi driver: PostScript printer drivers. + + + +Tag Table: +Node: Top606 +Node: Introduction2013 +Node: Distribution4007 +Node: TeXdraw Commands4442 +Node: Accessing TeXdraw5051 +Ref: Accessing TeXdraw-Footnote-19799 +Node: Command syntax9962 +Node: TeXdraw coordinates11150 +Node: Coordinate specification12511 +Node: Line vectors13706 +Node: TeX text19481 +Node: Circles and arcs23795 +Node: Bezier curves27792 +Node: Fill commands29776 +Node: Drawing Segments and Scaling32306 +Node: Drawing segments32733 +Node: Drawing paths33823 +Node: Saving positions35437 +Node: Scaling coordinates38329 +Node: Drawing size41305 +Node: Initial current position43113 +Node: Using TeXdraw with LaTeX43900 +Node: PostScript printer drivers45369 +Node: More Details46494 +Node: Errors while using TeXdraw46989 +Node: Extending TeXdraw49297 +Node: Scaling50855 +Node: Resolution51784 +Node: Text placement53471 +Node: Intermediate PostScript file54531 +Node: How TeXdraw merges graphics and text56274 +Ref: How TeXdraw merges graphics and text-Footnote-157642 +Node: PostScript Commands57699 +Node: TeXdraw Toolbox62660 +Node: Coordinate parsing63200 +Node: Real arithmetic65352 +Node: Arrow curve66151 +Node: Examples70212 +Node: Block diagram70459 +Node: Filter response graph77224 +Node: Geometric construction78912 +Node: Command Listing81197 +Node: Command Index92653 +Node: Concept Index96690 + +End Tag Table diff --git a/Master/texmf-dist/doc/info/web2c.info b/Master/texmf-dist/doc/info/web2c.info new file mode 100644 index 00000000000..1e5bf0428d3 --- /dev/null +++ b/Master/texmf-dist/doc/info/web2c.info @@ -0,0 +1,4515 @@ +This is ../../../../texk/web2c/doc/web2c.info, produced by makeinfo +version 4.13 from ../../../../texk/web2c/doc/web2c.texi. + +INFO-DIR-SECTION TeX +START-INFO-DIR-ENTRY +* Web2c: (web2c). TeX, Metafont, and companion programs. +END-INFO-DIR-ENTRY +INFO-DIR-SECTION Individual utilities +START-INFO-DIR-ENTRY +* bibtex: (web2c)bibtex invocation. Maintaining bibliographies. +* dvicopy: (web2c)dvicopy invocation. Virtual font expansion +* dvitomp: (web2c)dvitomp invocation. DVI to MPX (MetaPost pictures). +* dvitype: (web2c)dvitype invocation. DVI to human-readable text. +* gftodvi: (web2c)gftodvi invocation. Generic font proofsheets. +* gftopk: (web2c)gftopk invocation. Generic to packed fonts. +* gftype: (web2c)gftype invocation. GF to human-readable text. +* mf: (web2c)mf invocation. Creating typeface families. +* mft: (web2c)mft invocation. Prettyprinting Metafont source. +* mltex: (web2c)MLTeX. Multi-lingual TeX. +* mpost: (web2c)mpost invocation. Creating technical diagrams. +* patgen: (web2c)patgen invocation. Creating hyphenation patterns. +* pktogf: (web2c)pktogf invocation. Packed to generic fonts. +* pktype: (web2c)pktype invocation. PK to human-readable text. +* pltotf: (web2c)pltotf invocation. Property list to TFM. +* pooltype: (web2c)pooltype invocation. Display WEB pool files. +* tangle: (web2c)tangle invocation. WEB to Pascal. +* tex: (web2c)tex invocation. Typesetting. +* tftopl: (web2c)tftopl invocation. TFM -> property list. +* vftovp: (web2c)vftovp invocation. Virtual font -> virtual pl. +* vptovf: (web2c)vptovf invocation. Virtual pl -> virtual font. +* weave: (web2c)weave invocation. WEB to TeX. +END-INFO-DIR-ENTRY + + This file documents the installation and use of the programs in +Web2c, an implementation of Donald Knuth's TeX system. + + Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +2005, 2007, 2008, 2009 Karl Berry & Olaf Weber. + + Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. + + Permission is granted to copy and distribute modified versions of +this manual under the conditions for verbatim copying, provided that the +entire resulting derived work is distributed under the terms of a +permission notice identical to this one. + + Permission is granted to copy and distribute translations of this +manual into another language, under the above conditions for modified +versions, except that this permission notice may be stated in a +translation + + +File: web2c.info, Node: Top, Next: Introduction, Up: (dir) + +Web2c +***** + +This document describes how to install and use the programs in the Web2c +implementation of the TeX system, especially for Unix systems. It +corresponds to Web2c version 2012, released in May 2012. + +* Menu: + +* Introduction:: A brief introduction. +* Installation:: How to compile and install Web2c. +* Commonalities:: Option syntax, standard options, memory dumps. +* TeX:: Typesetting. +* Metafont:: Typeface design. +* MetaPost:: Technical illustrations. +* BibTeX:: Reusable bibliographies. +* WEB:: Literate programming. +* DVI utilities:: DVI expansion. +* Font utilities:: Font format conversion. +* Legalisms:: Blah blah blah. +* References:: Books and such. +* Index:: General index. + + +File: web2c.info, Node: Introduction, Next: Installation, Prev: Top, Up: Top + +1 Introduction +************** + +This manual corresponds to version 2012 of Web2c, released in May 2012. + + "Web2c" is the name of a TeX implementation, originally for Unix, +but now also running under DOS, Amiga, and other operating systems. By +"TeX implementation", we mean all of the standard programs developed by +the Stanford TeX project directed by Donald E. Knuth: Metafont, +DVItype, GFtoDVI, BibTeX, Tangle, etc., as well as TeX itself. Other +programs are also included: DVIcopy, written by Peter Breitenlohner, +MetaPost and its utilities (derived from Metafont), by John Hobby, etc. + + General strategy: Web2c works, as its name implies, by translating +the WEB source in which TeX is written into C source code. Its output is +not self-contained, however; it makes extensive use of many macros and +functions in a library (the `web2c/lib' directory in the sources). +Therefore, it will not work without change on an arbitrary WEB program. + + Availability: All of Web2c is freely available--"free" both in the +sense of no cost (free ice cream) and of having the source code to +modify and/or redistribute (free speech). *Note unixtex.ftp: +(kpathsea)unixtex.ftp, for the practical details of how to obtain Web2c. + + Different parts of the Web2c distribution have different licensing +terms, however, reflecting the different circumstances of their +creation; consult each source file for exact details. The main +practical implication for redistributors of Web2c is that the +executables are covered by the GNU General Public License, and +therefore anyone who gets a binary distribution must also get the +sources, as explained by the terms of the GPL (*note Copying: +(kpathsea)Copying.). The GPL covers the Web2c executables, including +`tex', because the Free Software Foundation sponsored the initial +development of the Kpathsea library that Web2c uses. The basic source +files from Stanford, however, have their own copyright terms or are in +the public domain, and are not covered by the GPL. + + History: Tomas Rokicki originated the TeX-to-C system in 1987, +working from the first change files for TeX under Unix, which were done +primarily by Howard Trickey and Pavel Curtis. Tim Morgan then took over +development and maintenance for a number of years; the name changed to +Web-to-C somewhere in there. In 1990, Karl Berry became the +maintainer. He made many changes to the original sources, and started +using the shorter name Web2c. In 1997, Olaf Weber took over. Dozens of +other people have contributed; their names are listed in the +`ChangeLog' files. + + Other acknowledgements: The University of Massachusetts at Boston +(particularly Rick Martin and Bob Morris) provided computers and ftp +access to me for many years. Richard Stallman at the Free Software +Foundation employed me while I wrote the original path searching library +(for the GNU font utilities). (rms also gave us Emacs, GDB, and GCC, +without which I cannot imagine developing Web2c.) And, of course, TeX +would not exist in the first place without Donald E. Knuth. + + Further reading: *Note References::. + + +File: web2c.info, Node: Installation, Next: Commonalities, Prev: Introduction, Up: Top + +2 Installation +************** + +(A copy of this chapter is in the distribution file `web2c/INSTALL'.) + +Installing Web2c is mostly the same as installing any other +Kpathsea-using program. Therefore, for the basic steps involved, see +*note Installation: (kpathsea)Installation. (A copy is in the file +`kpathsea/INSTALL'.) + + One peculiarity to Web2c is that the source distribution comes in two +files: `web.tar.gz' and `web2c.tar.gz'. You must retrieve and unpack +them both. (We have two because the former archive contains the very +large and seldom-changing original WEB source files.) *Note +unixtex.ftp: (kpathsea)unixtex.ftp. + + Another peculiarity is the MetaPost program. Although it has been +installed previously as `mp', as of Web2c 7.0 the installed name is now +`mpost', to avoid conflict with the `mp' program that does +prettyprinting. This approach was recommended by the MetaPost author, +John Hobby. If you as the TeX administrator wish to make it available +under its shorter name as well, you will have to set up a link or some +such yourself. And of course individual users can do the same. + + For solutions to common installation problems and information on how +to report a bug, see the file `kpathsea/BUGS' (*note Bugs: +(kpathsea)Bugs.). See also the Web2c home page, +`http://www.tug.org/web2c'. + + Points worth repeating: + + * Before starting the standard compilation and installation you must + install the basic fonts, macros, and other library files. *Note + Installation: (kpathsea)Installation. + + * If you do not wish to use the standard file locations, see *note + Changing search paths: (kpathsea)Changing search paths. + + * Some Web2c features are enabled or disabled at `configure' time, + as described in the first section below. + + +* Menu: + +* configure options:: Especially --with and --enable. +* Compile-time options:: Unusual -D's. +* Additional targets:: Breaking down the task. +* Triptrap:: Running the torture tests. +* Runtime options:: Array sizes and the like. + + +File: web2c.info, Node: configure options, Next: Compile-time options, Up: Installation + +2.1 `configure' options +======================= + +This section gives pointers to descriptions of the `--with' and +`--enable' `configure' arguments that Web2c accepts. Some are specific +to Web2c, others are generic to all Kpathsea-using programs. + + For a list of all the options `configure' accepts, run `configure +--help'. The generic options are listed first, and the +package-specific options come last. + + For a description of the generic options (which mainly allow you to +specify installation directories) and basic `configure' usage, see +*note Running `configure' scripts: (autoconf)Invoking configure, a copy +is in the file `kpathsea/CONFIGURE'. + +`--disable-dump-share' + Do not make fmt/base/mem files sharable across different endian + architectures. *Note Hardware and memory dumps::. + +`--without-maketexmf-default' +`--without-maketexpk-default' +`--without-maketextfm-default' +`--with-maketextex-default' + Enable or disable the dynamic generation programs. *Note mktex + configuration: (kpathsea)mktex configuration. The defaults are + the inverse of the options, i.e., everything is enabled except + `mktextex'. + +`--enable-shared' + Build Kpathsea as a shared library. *Note Shared library: + (kpathsea)Shared library. + +`--with-editor=CMD' + Change the default editor invoked by the `e' interactive command. + *Note Editor invocation::. + +`--with-epsfwin' +`--with-hp2627win' +`--with-mftalkwin' +`--with-nextwin' +`--with-regiswin' +`--with-suntoolswin' +`--with-tektronixwin' +`--with-unitermwin' +`--with-x' +`--with-x-toolkit=KIT' +`--with-x11win' +`--with-x11' + Define Metafont graphics support; by default, no graphics support + is enabled. *Note Online Metafont graphics::. + +`--x-includes=DIR' +`--x-libraries=DIR' + Define the locations of the X11 include files and libraries; by + default, `configure' does its best to guess). *Note Optional + Features: (autoconf)Optional Features. A copy is in + `kpathsea/CONFIGURE'. + + +File: web2c.info, Node: Compile-time options, Next: Additional targets, Prev: configure options, Up: Installation + +2.2 Compile-time options +======================== + +In addition to the `configure' options listed in the previous section, +there are a few things that can be affected at compile-time with C +definitions, rather than with `configure'. Using any of these is +unusual. + + To specify extra compiler flags (`-DNAME' in this case), the +simplest thing to do is: + make XCFLAGS="CCOPTIONS" + You can also set the `CFLAGS' environment variable before running +`configure'. *Note configure environment: (kpathsea)configure +environment. + + Anyway, here are the possibilities: + +`-DFIXPT' +`-DNO_MF_ASM' + Use the original WEB fixed-point routines for Metafont and MetaPost + arithmetic calculations regarding fractions. By default, + assembly-language routines are used on x86 hardware with GNU C + (unless `NO_MF_ASM' is defined), and floating-point routines are + used otherwise. + +`-DIPC_DEBUG' + Report on various interprocess communication activities. *Note + IPC and TeX: IPC and TeX. + + +File: web2c.info, Node: Additional targets, Next: Triptrap, Prev: Compile-time options, Up: Installation + +2.3 Additional targets +====================== + +Web2c has several Make targets besides the standard ones. You can +invoke these either in the top level directory of the source +distribution (the one containing `kpathsea/' and `web2c/'), or in the +`web2c/' directory. + +`c-sources' + Make only the C files, translated from the Web sources, presumably + because you want to take them to a non-Unix machine. + +`formats' +`install-formats' + Make or install all the memory dumps (*note Memory dumps::). By + default, the standard plain formats plus `latex.fmt' are made. You + can add other formats by redefining the `fmts', `bases', and + `mems' variables. See the top of `web2c/Makefile' for the + possibilities. + +`fmts' +`install-fmts' + Make or install the TeX `.fmt' files. *Note Initial TeX::. + +`bases' +`install-bases' + Make or install the Metafont `.base' files. *Note Initial + Metafont::. + +`mems' +`install-mems' + Make or install the MetaPost `.mem' files. *Note Initial + MetaPost::. + +`triptrap' +`trip' +`trap' +`mptrap' + To run the torture tests for TeX, Metafont, and MetaPost + (respectively). See the next section. + + + +File: web2c.info, Node: Triptrap, Next: Runtime options, Prev: Additional targets, Up: Installation + +2.4 Trip, trap, and mptrap: Torture tests +========================================= + +To validate your TeX, Metafont, and MetaPost executables, run `make +triptrap'. This runs the trip, trap, and mptrap "torture tests". See +the files `triptrap/tripman.tex', `triptrap/trapman.tex', and +`triptrap/mptrap.readme' for detailed information and background on the +tests. + + The differences between your executables' behavior and the standard +values will show up on your terminal. The usual differences (these are +all acceptable) are: + + * string usage and table sizes; + + * glue set ratios; + + * `down4', `right4', and `y4' commands in DVItype output; + + * dates and times. + +Any other differences are trouble. The most common culprit in the past +has been compiler bugs, especially when optimizing. *Note TeX or +Metafont failing: (kpathsea)TeX or Metafont failing. + + The files `trip.diffs', `mftrap.diffs', and `mptrap.diffs' in the +`triptrap' directory show the standard diffs against the original +output. If you diff your diffs against these files, you should come up +clean. For example + make trip >&mytrip.diffs + diff triptrap/trip.diffs mytrip.diffs + + To run the tests separately, use the targets `trip', `trap', and +`mptrap'. + + To run simple tests for all the programs as well as the torture +tests, run `make check'. You can compare the output to the distributed +file `tests/check.log' if you like. + + +File: web2c.info, Node: Runtime options, Prev: Triptrap, Up: Installation + +2.5 Runtime options +=================== + +Besides the configure- and compile-time options described in the +previous sections, you can control a number of parameters (in +particular, array sizes) in the `texmf.cnf' runtime file read by +Kpathsea (*note Config files: (kpathsea)Config files.). + + Rather than exhaustively listing them here, please see the last +section of the distributed `kpathsea/texmf.cnf'. Some of the more +interesting values: + +`main_memory' + Total words of memory available, for TeX, Metafont, and MetaPost. + Must remake the format file after changing. + +`extra_mem_bot' + Extra space for "large" TeX data structures: boxes, glue, + breakpoints, et al. If you use PiCTeX, you may well want to set + this. + +`font_mem_size' + Words of font info available for TeX; this is approximately the + total size of all TFM files read. + +`hash_extra' + Additional space for the hash table of control sequence names. + Approximately 10,000 control sequences can be stored in the main + hash table; if you have a large book with numerous + cross-references, this might not be enough, and thus you will want + to set `hash_extra'. + + + Of course, ideally all arrays would be dynamically expanded as +necessary, so the only limiting factor would be the amount of swap space +available. Unfortunately, implementing this is extremely difficult, as +the fixed size of arrays is assumed in many places throughout the source +code. These runtime limits are a practical compromise between the +compile-time limits in previous versions, and truly dynamic arrays. (On +the other hand, the Web2c BibTeX implementation does do dynamic +reallocation of some arrays.) + + +File: web2c.info, Node: Commonalities, Next: TeX, Prev: Installation, Up: Top + +3 Commonalities +*************** + +Many aspects of the TeX system are the same among more than one +program, so we describe all those pieces together, here. + +* Menu: + +* Option conventions:: -- or -, = or ` ' for values. +* Common options:: --help --version --verbose, and TeX/MF/MP options. +* Path searching:: Features of the common path searching library. +* Output file location:: TEXMFOUTPUT allows output in places other than `.'. +* Three programs:: TeX, Metafont, and MetaPost have a lot in common. + + +File: web2c.info, Node: Option conventions, Next: Common options, Up: Commonalities + +3.1 Option conventions +====================== + +To provide a clean and consistent behavior, we chose to have all these +programs use the GNU function `getopt_long_only' to parse command +lines. However, we do use in a restricted mode, where all the options +have to come before the rest of the arguments. + + As a result, you can: + * use `-' or `--' to start an option name; + + * use any unambiguous abbreviation for an option name; + + * separate option names and values with either `=' or one or more + spaces; + + * use filenames that would otherwise look like options by putting + them after an option `--'. + + By convention, non-option arguments, if specified, generally define +the name of an input file, as documented for each program. + + If a particular option with a value is given more than once, it is +the last value that counts. + + For example, the following command line specifies the options `foo', +`bar', and `verbose'; gives the value `baz' to the `abc' option, and +the value `xyz' to the `quux' option; and specifies the filename +`-myfile-'. + + -foo --bar -verb -abc=baz -quux karl --quux xyz -- -myfile- + + +File: web2c.info, Node: Common options, Next: Path searching, Prev: Option conventions, Up: Commonalities + +3.2 Common options +================== + +All of these programs accept the standard GNU `--help' and `--version' +options, and several programs accept `--verbose'. Rather than writing +identical descriptions for every program, they are described here. + +`--help' + Print a usage message listing basic usage and all available + options to standard output, then exit successfully. + +`--verbose' + Print progress reports to standard output. + +`--version' + Print the version number to standard output, then exit + successfully. + + TeX, Metafont, and MetaPost have a number of additional options in +common: + +`-file-line-error' +`-no-file-line-error' + Change (or do not change) the way error messages are printed. The + alternate style looks like error messages from many compilers and + is easier to parse for some editors that invoke TeX. This option + used to be called `-file-line-error-style'. + +`-fmt=DUMPNAME' +`-base=DUMPNAME' +`-mem=DUMPNAME' + Use DUMPNAME instead of the program name or a `%&' line to + determine the name of the memory dump file read (`fmt' for TeX, + `base' for Metafont, `mem' for MetaPost). *Note Memory dumps::. + Also sets the program name to DUMPNAME if no `-progname' option + was given. + +`-halt-on-error' + Stop processing and exit when an error occurs, as opposed to the + normal process of trying to recover and continue. + +`-ini' + Enable the "initial" form of the program (*note Initial and + virgin::). This is implicitly set if the program name is `initex' + resp. `inimf'. + +`-interaction=STRING' + Set the interaction mode from the command line. The STRING must + be one of `batchmode', `nonstopmode', `scrollmode', or + `errorstopmode'. + +`-jobname=STRING' + Set the job name to STRING, instead of deriving it from the name + of the input file. + +`-kpathsea-debug=NUMBER' + Set path searching debugging flags according to the bits of NUMBER + (*note Debugging: (kpathsea)Debugging.). You can also specify + this in `KPATHSEA_DEBUG' environment variable (for all Web2c + programs). (The command line value overrides.) The most useful + value is `-1', to get all available output. + +`-output-directory=DIRNAME' + Specify the directory DIRNAME to which output files are written. + Also look for input files in DIRNAME first, before looking along + the normal search path. *Note Output file location::. + +`-parse-first-line' +`-no-parse-first-line' + Check or disable checking whether the first line of the main input + file starts with `%&', and parse it if it does. This line can be + used specify the format and/or a TCX file. + +`-progname=STRING' + Set program (and memory dump) name to STRING. This may affect the + search paths and other values used (*note Config files: + (kpathsea)Config files.). Using this option is equivalent to + making a link named STRING to the binary and then invoking the + binary under that name. *Note Memory dumps::. + +`-recorder' + Enable the filename recorder. This makes the program save a list + of the opened files into a file with (by default) extension + `.fls'. For Aleph, this option is always on, and the file has + extension `.ofl'. + + Ordinarily, the `.fls' file is written to the same location as the + `.log' file, for example, respecting `-output-directory' if it is + given (*note Output file location::). However, if TeX processing + is done on the command line (or in response to the `**' prompt), + the `.fls' might be written to the current directory, or include + an integer (the current pid), as in `texput1234.fls'. You can use + `-jobname' to explicitly set the basename. + +`-translate-file=TCXFILE' + Use TCXFILE to define which characters are printable and + translations between the internal and external character sets. + Moreover, TCXFILE can be explicitly declared in the first line of + the main input file `%& -translate-file=TCXFILE'. This is the + recommended method for portability reasons. *Note TCX files::. + +`-8bit' + This option specifies that by default all characters should be + considered printable. If `-translate-file' was given as well, + then the TCX file may mark characters as non-printable. + + + +File: web2c.info, Node: Path searching, Next: Output file location, Prev: Common options, Up: Commonalities + +3.3 Path searching +================== + +All of the Web2c programs, including TeX, which do path searching use +the Kpathsea routines to do so. The precise names of the environment +and configuration file variables which get searched for particular file +formatted are therefore documented in the Kpathsea manual (*note +Supported file formats: (kpathsea)Supported file formats.). Reading +`texmf.cnf' (*note Config files: (kpathsea)Config files.), invoking +`mktex...' scripts (*note mktex scripts: (kpathsea)mktex scripts.), and +so on are all handled by Kpathsea. + + The programs which read fonts make use of another Kpathsea feature: +`texfonts.map', which allows arbitrary aliases for the actual names of +font files; for example, `Times-Roman' for `ptmr8r.tfm'. The +distributed (and installed by default) `texfonts.map' includes aliases +for many widely available PostScript fonts by their PostScript names. + + +File: web2c.info, Node: Output file location, Next: Three programs, Prev: Path searching, Up: Commonalities + +3.4 Output file location +======================== + +All the programs generally follow the usual convention for output files. +Namely, they are placed in the directory current when the program is +run, regardless of any input file location; or, in a few cases, output +is to standard output. + + For example, if you run `tex /tmp/foo', for example, the output will +be in `./foo.dvi' and `./foo.log', not `/tmp/foo.dvi' and +`/tmp/foo.log'. + + You can use the `-output-directory' option to cause all output files +that would normally be written in the current directory to be written +in the specified directory instead. *Note Common options::. + + If the current directory is not writable, and `-output-directory' is +not specified, the main programs (TeX, Metafont, MetaPost, and BibTeX) +make an exception: if the config file or environment variable value +`TEXMFOUTPUT' is set (it is not by default), output files are written +to the directory specified. + + `TEXMFOUTPUT' is also checked for input files, as TeX often +generates files that need to be subsequently read; for input, no +suffixes (such as `.tex') are added by default and no exhaustive path +searching is done, the input name is simply checked as given. + + +File: web2c.info, Node: Three programs, Prev: Output file location, Up: Commonalities + +3.5 Three programs: Metafont, MetaPost, and TeX +=============================================== + +TeX, Metafont, and MetaPost have a number of features in common. +Besides the ones here, the common command-line options are described in +the previous section. The configuration file options that let you +control some array sizes and other features are described in *note +Runtime options::. + +* Menu: + +* Initial and virgin:: Making memory dumps vs. production runs. +* Memory dumps:: .fmt/.base files for fast startup. +* Editor invocation:: The `e' response at errors. +* \input filenames:: ~ and $ expansion in TeX/MF/MP. + + +File: web2c.info, Node: Initial and virgin, Next: Memory dumps, Up: Three programs + +3.5.1 Initial and virgin +------------------------ + +The TeX and Metafont programs each have two main variants, called +"initial" and "virgin". MetaPost no longer makes this distinction. + + The initial form is enabled if: + 1. the `-ini' option was specified; or + + 2. the program name is `initex' resp. `inimf'; or + + 3. the first line of the main input file is `%&ini'; + otherwise, the virgin form is used. + + The "virgin" form is the one generally invoked for production use. +The first thing it does is read a memory dump (*note Determining the +memory dump to use::), and then proceeds on with the main job. + + The "initial" form is generally used only to create memory dumps +(see the next section). It starts up more slowly than the virgin form, +because it must do lengthy initializations that are encapsulated in the +memory dump file. + + +File: web2c.info, Node: Memory dumps, Next: Editor invocation, Prev: Initial and virgin, Up: Three programs + +3.5.2 Memory dumps +------------------ + +In typical use, TeX and Metafont require a large number of macros to be +predefined; therefore, they support "memory dump" files, which can be +read much more efficiently than ordinary source code. + +* Menu: + +* Creating memory dumps:: +* Determining the memory dump to use:: +* Hardware and memory dumps:: + + +File: web2c.info, Node: Creating memory dumps, Next: Determining the memory dump to use, Up: Memory dumps + +3.5.2.1 Creating memory dumps +............................. + +The programs all create memory dumps in slightly idiosyncratic (thought +substantially similar) way, so we describe the details in separate +sections (references below). The basic idea is to run the initial +version of the program (*note Initial and virgin::), read the source +file to define the macros, and then execute the `\dump' primitive. + + Also, each program uses a different filename extension for its memory +dumps, since although they are completely analogous they are not +interchangeable (TeX cannot read a Metafont memory dump, for example). + + Here is a list of filename extensions with references to examples of +creating memory dumps: + +TeX + (`.fmt') *Note Initial TeX: Initial TeX. + +Metafont + (`.base') *Note Initial Metafont::. + + When making memory dumps, the programs read environment variables and +configuration files for path searching and other values as usual. If +you are making a new installation and have environment variables +pointing to an old one, for example, you will probably run into +difficulties. + + +File: web2c.info, Node: Determining the memory dump to use, Next: Hardware and memory dumps, Prev: Creating memory dumps, Up: Memory dumps + +3.5.2.2 Determining the memory dump to use +.......................................... + +The virgin form (*note Initial and virgin::) of each program always +reads a memory dump before processing normal source input. All three +programs determine the memory dump to use in the same way: + + 1. If the first non-option command-line argument begins with `&', the + program uses the remainder of that argument as the memory dump + name. For example, running `tex \&super' reads `super.fmt'. (The + backslash protects the `&' against interpretation by the shell.) + + 2. If the `-fmt' resp. `-base' option is specified, its value is used. + + 3. If the `-progname' option is specified, its value is used. + + 4. If the first line of the main input file (which must be specified + on the command line, not in response to `**') is `%&DUMP', and + DUMP is an existing memory dump of the appropriate type, DUMP is + used. + + The first line of the main input file can also specify which + character translation file is to be used: + `%&-translate-file=TCXFILE' (*note TCX files::). + + These two roles can be combined: `%&DUMP -translate-file=TCXFILE'. + If this is done, the name of the dump must be given first. + + 5. Otherwise, the program uses the program invocation name, most + commonly `tex' resp. `mf'. For example, if `latex' is a link to + `tex', and the user runs `latex foo', `latex.fmt' will be used. + + + +File: web2c.info, Node: Hardware and memory dumps, Prev: Determining the memory dump to use, Up: Memory dumps + +3.5.2.3 Hardware and memory dumps +................................. + +By default, memory dump files are generally sharable between +architectures of different types; specifically, on machines of different +endianness (*note Byte order: (libc)Byte order.). (This is a feature +of the Web2c implementation, and is not true of all TeX +implementations.) If you specify `--disable-dump-share' to +`configure', however, memory dumps will be endian-dependent. + + The reason to do this is speed. To achieve endian-independence, the +reading of memory dumps on LittleEndian architectures, such as PC's and +DEC architectures, is somewhat slowed (all the multibyte values have to +be swapped). Usually, this is not noticeable, and the advantage of +being able to share memory dumps across all platforms at a site far +outweighs the speed loss. But if you're installing Web2c for use on +LittleEndian machines only, perhaps on a PC being used only by you, you +may wish to get maximum speed. + + TeXnically, even without `--disable-dump-share', sharing of `.fmt' +files cannot be guaranteed to work. Floating-point values are always +written in native format, and hence will generally not be readable +across platforms. Fortunately, TeX uses floating point only to +represent glue ratios, and all common formats (plain, LaTeX, AMSTeX, +...) do not do any glue setting at `.fmt'-creation time. Metafont does +not use floating point in any dumped value at all. + + Incidentally, different memory dump files will never compare equal +byte-for-byte, because the program always dumps the current date and +time. So don't be alarmed by just a few bytes difference. + + If you don't know what endianness your machine is, and you're +curious, here is a little C program to tell you. (The `configure' script +contains a similar program.) This is from the book `C: A Reference +Manual', by Samuel P. Harbison and Guy L. Steele Jr. (*note +References::). + + main () + { + /* Are we little or big endian? From Harbison&Steele. */ + union + { + long l; + char c[sizeof (long)]; + } u; + u.l = 1; + if (u.c[0] == 1) + printf ("LittleEndian\n"); + else if (u.c[sizeof (long) - 1] == 1) + printf ("BigEndian\n"); + else + printf ("unknownEndian"); + + exit (u.c[sizeof (long) - 1] == 1); + } + + +File: web2c.info, Node: Editor invocation, Next: \input filenames, Prev: Memory dumps, Up: Three programs + +3.5.3 Editor invocation +----------------------- + +TeX, Metafont, and MetaPost all (by default) stop and ask for user +intervention at an error. If the input came from a file, and the user +responds with `e' or `E', the program invokes an editor. + + Specifying `--with-editor=CMD' to `configure' sets the default +editor command string to CMD. The environment variables/configuration +values `TEXEDIT', `MFEDIT', and `MPEDIT' (respectively) override this. +If `--with-editor' is not specified, the default is `vi +%d %s' on +Unix, and an invocation of the TeXworks editor on Windows. (See +`texmf.cnf' for the precise values.) + + In this string, `%d' is replaced by the line number of the error, +and `%s' is replaced by the name of the current input file. + + +File: web2c.info, Node: \input filenames, Prev: Editor invocation, Up: Three programs + +3.5.4 `\input' filenames +------------------------ + +TeX, Metafont, and MetaPost source programs can all read other source +files with the `\input' (TeX) and `input' (MF and MP) primitives: + \input NAME % in TeX + + The file NAME can always be terminated with whitespace; for Metafont +and MetaPost, the statement terminator `;' also works. (LaTeX and +other macro packages provide other interfaces to `\input' that allow +different notation; here we are concerned only with the primitive +operation.) + + As of Web2c version 7.5.3, double-quote characters can be used to +include spaces or other special cases. In typical use, the `"' +characters surround the entire filename: + \input "filename with spaces" + + Technically, the quote characters can be used inside the name, and +can enclose any characters, as in: + \input filename" "with" "spaces + + One more point. In LaTeX, the quotes are needed inside the braces, +thus + \input{a b} % fails + \input{"a b"} % ok + + This quoting mechanism comes into play _after_ TeX has tokenized and +expanded the input. So, multiple spaces and tabs may be seen as a +single space, active characters such as `~' are expanded first, and so +on. (See below.) + + On the other hand, various C library routines and Unix itself use +the null byte (character code zero, ASCII NUL) to terminate strings. So +filenames in Web2c cannot contain nulls, even though TeX itself does +not treat NUL specially. In addition, some older Unix variants do not +allow eight-bit characters (codes 128-255) in filenames. + + For maximal portability of your document across systems, use only the +characters `a'-`z', `0'-`9', and `.', and restrict your filenames to at +most eight characters (not including the extension), and at most a +three-character extension. Do not use anything but simple filenames, +since directory separators vary among systems; instead, add the +necessary directories to the appropriate search path. + + Finally, the present Web2c implementation does `~' and `$' expansion +on NAME, unlike Knuth's original implementation and older versions of +Web2c. Thus: + \input ~jsmith/$foo.bar + will dereference the environment variable or Kpathsea config file +value `foo' and read that file extended with `.bar' in user `jsmith''s +home directory. You can also use braces, as in `${foo}bar', if you +want to follow the variable name with a letter, numeral, or `_'. + + (So another way to get a program to read a filename containing +whitespace is to define an environment variable and dereference it.) + + In all the common TeX formats (plain TeX, LaTeX, AMSTeX), the +characters `~' and `$' have special category codes, so to actually use +these in a document you have to change their catcodes or use `\string'. +(The result is unportable anyway, see the suggestions above.) The +place where they are most likely to be useful is when typing +interactively. + + +File: web2c.info, Node: TeX, Next: Metafont, Prev: Commonalities, Up: Top + +4 TeX: Typesetting +****************** + +TeX is a typesetting system: it was especially designed to handle +complex mathematics, as well as most ordinary text typesetting. + + TeX is a batch language, like C or Pascal, and not an interactive +"word processor": you compile a TeX input file into a corresponding +device-independent (DVI) file (and then translate the DVI file to the +commands for a particular output device). This approach has both +considerable disadvantages and considerable advantages. For a complete +description of the TeX language, see `The TeXbook' (*note +References::). Many other books on TeX, introductory and otherwise, +are available. + +* Menu: + +* tex invocation:: Invoking TeX. +* Initial TeX:: Making format files. +* Formats:: Major TeX macro packages. +* Languages and hyphenation:: TeX supports many human languages. +* Shell escapes:: Running subprograms from TeX. +* IPC and TeX:: DVI output to a socket. +* TeX extensions:: Changes to the TeX language. + + +File: web2c.info, Node: tex invocation, Next: Initial TeX, Up: TeX + +4.1 `tex' invocation +==================== + +TeX (usually invoked as `tex') formats the given text and commands, and +outputs a corresponding device-independent representation of the +typeset document. This section merely describes the options available +in the Web2c implementation. For a complete description of the TeX +typesetting language, see `The TeXbook' (*note References::). + + TeX, Metafont, and MetaPost process the command line (described +here) and determine their memory dump (fmt) file in the same way (*note +Memory dumps::). Synopses: + + tex [OPTION]... [TEXNAME[.tex]] [TEX-COMMANDS] + tex [OPTION]... \FIRST-LINE + tex [OPTION]... &FMT ARGS + + TeX searches the usual places for the main input file TEXNAME (*note +Supported file formats: (kpathsea)Supported file formats.), extending +TEXNAME with `.tex' if necessary. To see all the relevant paths, set +the environment variable `KPATHSEA_DEBUG' to `-1' before running the +program. + + After TEXNAME is read, TeX processes any remaining TEX-COMMANDS on +the command line as regular TeX input. Also, if the first non-option +argument begins with a TeX escape character (usually `\'), TeX +processes all non-option command-line arguments as a line of regular +TeX input. + + If no arguments or options are specified, TeX prompts for an input +file name with `**'. + + TeX writes the main DVI output to the file `BASETEXNAME.dvi', where +BASETEXNAME is the basename of TEXNAME, or `texput' if no input file +was specified. A DVI file is a device-independent binary +representation of your TeX document. The idea is that after running +TeX, you translate the DVI file using a separate program to the +commands for a particular output device, such as a PostScript printer +(*note Introduction: (dvips)Top.) or an X Window System display (see +xdvi(1)). + + TeX also reads TFM files for any fonts you load in your document with +the `\font' primitive. By default, it runs an external program named +`mktextfm' to create any nonexistent TFM files. You can disable this +at configure-time or runtime (*note mktex configuration: +(kpathsea)mktex configuration.). This is enabled mostly for the sake +of the EC fonts, which can be generated at any size. + + TeX can write output files, via the `\openout' primitive; this opens +a security hole vulnerable to Trojan horse attack: an unwitting user +could run a TeX program that overwrites, say, `~/.rhosts'. (MetaPost +has a `write' primitive with similar implications). To alleviate this +and similar problems the functions `kpathsea_out_name_ok' and +`kpathsea_in_name_ok' from the Kpathse library (*note Calling sequence: +(kpathsea)Calling sequence.) are used to determine if a given filename +is acceptable to be opened for output or input, depending on the +setting of the configuration variables `openout_any' and `openin_any': +`a' (for "any", the default for `openin_any'), `r' (for "restricted"), +or `p' (for "paranoid", the default for `openout_any'). + + In any case, all `\openout' filenames are recorded in the log file, +except those opened on the first line of input, which is processed when +the log file has not yet been opened. + + The program accepts the following options, as well as the standard +`-help' and `-version' (*note Common options::): +`-enc' +`-[no]-file-line-error' +`-fmt=FMTNAME' +`-halt-on-error' +`-ini' +`-interaction=STRING' +`-ipc' +`-ipc-start' +`-jobname=STRING' +`-kpathsea-debug=NUMBER' +`-[no]parse-first-line' +`-output-directory' +`-progname=STRING' +`-recorder' +`-translate-file=TCXFILE' +`-8bit' + These options are common to TeX, Metafont, and MetaPost. *Note + Common options::. + +`-enc' + Enable encTeX extensions, such as `\mubyte'. This can be used to + support Unicode UTF-8 input encoding. See + `http://www.olsak.net/enctex.html'. + +`-ipc' +`-ipc-start' + With either option, TeX writes its DVI output to a socket as well + as to the usual `.dvi' file. With `-ipc-start', TeX also opens a + server program at the other end to read the output. *Note IPC and + TeX: IPC and TeX. + + These options are available only if the `--enable-ipc' option was + specified to `configure' during installation of Web2c. + +`-mktex=FILETYPE' +`-no-mktex=FILETYPE' + Turn on or off the `mktex' script associated with FILETYPE. For + TeX proper, FILETYPE can only be `tex' and `tfm', but for pdfTeX + and luaTeX, it can also be `pk'. + +`-mltex' + If we are `INITEX' (*note Initial and virgin::), enable MLTeX + extensions such as `\charsubdef'. Implicitly set if the program + name is `mltex'. *Note MLTeX: MLTeX. + +`-output-comment=STRING' + Use STRING as the DVI file comment. Ordinarily, this comment + records the date and time of the TeX run, but if you are doing + regression testing, you may not want the DVI file to have this + spurious difference. This is also taken from the environment + variable and config file value `output_comment'. + +`-shell-escape' +`-no-shell-escape' +`-shell-restricted' + Enable, or disable, or enable with restrictions the + `\write18{SHELL-COMMAND}' feature for external executing shell + commands. *Note Shell escapes::. + +`-enable-write18' +`-disable-write18' + Synonyms for `-shell-escape' and `-no-shell-escape', for + compatibility with MiKTeX. (MiKTeX also accepts both pairs of + options.) *Note Shell escapes::. + +`-src-specials' +`-src-specials=STRING' + This option makes TeX output specific source information using + `\special' commands in the DVI file. These `\special' track the + current file name and line number. + + Using the first form of this option, the `\special' commands are + inserted automatically. + + In the second form of the option, STRING is a comma separated list + of the following values: `cr', `display', `hbox', `math', `par', + `parend', `vbox'. You can use this list to specify where you want + TeX to output such commands. For example, `-src-specials=cr,math' + will output source information every line and every math formula. + + These commands can be used with the appropriate DVI viewer and + text editor to switch from the current position in the editor to + the same position in the viewer and back from the viewer to the + editor. + + This option works by inserting `\special' commands into the token + stream, and thus in principle these additional tokens can be + recovered or seen by the tricky-enough macros. If you run across + a case, let us know, because this counts as a bug. However, such + bugs are very hard to fix, requiring significant changes to TeX, + so please don't count on it. + + Redefining `\special' will not affect the functioning of this + option. The commands inserted into the token stream are + hard-coded to always use the `\special' primitive. + + TeX does not pass the trip test when this option is enabled. + + + +File: web2c.info, Node: Initial TeX, Next: Formats, Prev: tex invocation, Up: TeX + +4.2 Initial TeX +=============== + +The "initial" form of TeX is invoked by `tex -ini'. It does lengthy +initializations avoided by the "virgin" (`vir') form, so as to be +capable of dumping `.fmt' files (*note Memory dumps::). For a detailed +comparison of virgin and initial forms, *note Initial and virgin::. In +past releases, a separate program `initex' was installed to invoke the +initial form, but this is no longer the case. + + For a list of options and other information, *note tex invocation::. + + Unlike Metafont and MetaPost, many format files are commonly used +with TeX. The standard one implementing the features described in the +`TeXbook' is `plain.fmt', also known as `tex.fmt' (again, *note Memory +dumps::). It is created by default during installation, but you can +also do so by hand if necessary (e.g., if an update to `plain.tex' is +issued): + tex -ini '\input plain \dump' + (The quotes prevent interpretation of the backslashes from the +shell.) Then install the resulting `plain.fmt' in `$(fmtdir)' +(`/usr/local/share/texmf/web2c' by default), and link `tex.fmt' to it. + + The necessary invocation for generating a format file differs for +each format, so instructions that come with the format should explain. +The top-level `web2c' Makefile has targets for making most common +formats: plain latex amstex texinfo eplain. *Note Formats::, for more +details on TeX formats. + + +File: web2c.info, Node: Formats, Next: Languages and hyphenation, Prev: Initial TeX, Up: TeX + +4.3 Formats +=========== + +TeX "formats" are large collections of macros, often dumped into a +`.fmt' file (*note Memory dumps::) by `tex -ini' (*note Initial TeX::). +A number of formats are in reasonably widespread use, and the Web2c +Makefile has targets to make the versions current at the time of +release. You can change which formats are automatically built by +setting the `fmts' Make variable; by default, only the `plain' and +`latex' formats are made. + + You can get the latest versions of most of these formats from the +CTAN archives in subdirectories of `CTAN:/macros' (for CTAN info, *note +unixtex.ftp: (kpathsea)unixtex.ftp.). The archive +`ftp://ftp.tug.org/tex/lib.tar.gz' (also available from CTAN) contains +most of these formats (although perhaps not the absolute latest +version), among other things. + +latex + The most widely used format. The current release is named `LaTeX + 2e'; new versions are released approximately every six months, with + patches issued as needed. The old release was called `LaTeX 2.09', + and is no longer maintained or supported. LaTeX attempts to + provide generic markup instructions, such as "emphasize", instead + of specific typesetting instructions, such as "use the 10pt + Computer Modern italic font". The LaTeX home page: + `http://www.latex-project.org'. + +context + ConTeXt is an independent macro package which has a basic document + structuring approach similar to LaTeX. It also supports creating + interactive PDF files and has integrated MetaPost support, among + many other interesting features. The ConTeXt home page: + `http://www.pragma-ade.com'. + +amstex + The official typesetting system of the American Mathematical + Society. Like LaTeX, it encourages generic markup commands. The + AMS also provides many LaTeX package for authors who prefer LaTeX. + Taken together, they are used to produce nearly all AMS + publications, e.g., `Mathematical Reviews'. The AMSTeX home page: + `http://www.ams.org/tex'. + +texinfo + The documentation system developed and maintained by the Free + Software Foundation for their software manuals. It can be + automatically converted into plain text, a machine-readable + on-line format called `info', HTML, etc. The Texinfo home page: + `http://www.gnu.org/software/texinfo'. + +eplain + The "expanded plain" format provides various common features (e.g., + symbolic cross-referencing, tables of contents, indexing, citations + using BibTeX), for those authors who prefer to handle their own + high-level formatting. The Eplain home page: + `http://www.tug.org/eplain'. + +slitex + An obsolete LaTeX 2.09 format for making slides. It is replaced by + the `slides' document class, along with the `beamer', `texpower', + and other packages. + + + +File: web2c.info, Node: Languages and hyphenation, Next: Shell escapes, Prev: Formats, Up: TeX + +4.4 Languages and hyphenation +============================= + +TeX supports most natural languages. See also *note TeX extensions: +TeX extensions. + +* Menu: + +* MLTeX:: Multi-lingual TeX. +* patgen invocation:: Creating hyphenation patterns. +* TCX files:: Support for different character sets & fonts. + + +File: web2c.info, Node: MLTeX, Next: patgen invocation, Up: Languages and hyphenation + +4.4.1 MLTeX: Multi-lingual TeX +------------------------------ + +Multi-lingual TeX (`mltex') is an extension of TeX originally written +by Michael Ferguson and now updated and maintained by Bernd Raichle. +It allows the use of non-existing glyphs in a font by declaring glyph +substitutions. These are restricted to substitutions of an accented +character glyph, which need not be defined in the current font, by its +appropriate `\accent' construction using a base and accent character +glyph, which do have to exist in the current font. This substitution +is automatically done behind the scenes, if necessary, and thus MLTeX +additionally supports hyphenation of words containing an accented +character glyph for fonts missing this glyph (e.g., Computer Modern). +Standard TeX suppresses hyphenation in this case. + + MLTeX works at `.fmt'-creation time: the basic idea is to specify +the `-mltex' option to TeX when you `\dump' a format. Then, when you +subsequently invoke TeX and read that `.fmt' file, the MLTeX features +described below will be enabled. + + Generally, you use special macro files to create an MLTeX `.fmt' +file. + + The sections below describe the two new primitives that MLTeX +defines. Aside from these, MLTeX is completely compatible with +standard TeX. + +* Menu: + +* \charsubdef:: Character substitution definitions. +* \tracingcharsubdef:: Tracing substitutions. + + +File: web2c.info, Node: \charsubdef, Next: \tracingcharsubdef, Up: MLTeX + +4.4.1.1 `\charsubdef': Character substitutions +.............................................. + +The most important primitive MLTeX adds is `\charsubdef', used in a way +reminiscent of `\chardef': + \charsubdef COMPOSITE [=] ACCENT BASE + + Each of COMPOSITE, ACCENT, and BASE are font glyph numbers, +expressed in the usual TeX syntax: `\e symbolically, '145 for octal, +"65 for hex, 101 for decimal. + + MLTeX's `\charsubdef' declares how to construct an accented +character glyph (not necessarily existing in the current font) using two +character glyphs (that do exist). Thus it defines whether a character +glyph code, either typed as a single character or using the `\char' +primitive, will be mapped to a font glyph or to an `\accent' glyph +construction. + + For example, if you assume glyph code 138 (decimal) for an +e-circumflex and you are using the Computer Modern fonts, which have +the circumflex accent in position 18 and lowercase `e' in the usual +ASCII position 101 decimal, you would use `\charsubdef' as follows: + + \charsubdef 138 = 18 101 + + For the plain TeX format to make use of this substitution, you have +to redefine the circumflex accent macro `\^' in such a way that if its +argument is character `e' the expansion `\char138 ' is used instead of +`\accent18 e'. Similar `\charsubdef' declaration and macro +redefinitions have to be done for all other accented characters. + + To disable a previous `\charsubdef C', redefine C as a pair of +zeros. For example: + \charsubdef '321 = 0 0 % disable N tilde + (Octal '321 is the ISO Latin-1 value for the Spanish N tilde.) + + `\charsubdef' commands should only be given once. Although in +principle you can use `\charsubdef' at any time, the result is +unspecified. If `\charsubdef' declarations are changed, usually either +incorrect character dimensions will be used or MLTeX will output +missing character warnings. (The substitution of a `\charsubdef' is +used by TeX when appending the character node to the current horizontal +list, to compute the width of a horizontal box when the box gets +packed, and when building the `\accent' construction at +`\shipout'-time. In summary, the substitution is accessed often, so +changing it is not desirable, nor generally useful.) + + +File: web2c.info, Node: \tracingcharsubdef, Prev: \charsubdef, Up: MLTeX + +4.4.1.2 `\tracingcharsubdef': Substitution diagnostics +...................................................... + +To help diagnose problems with `\charsubdef', MLTeX provides a new +primitive parameter, `\tracingcharsubdef'. If positive, every use of +`\charsubdef' will be reported. This can help track down when a +character is redefined. + + In addition, if the TeX parameter `\tracinglostchars' is 100 or +more, the character substitutions actually performed at `\shipout'-time +will be recorded. + + +File: web2c.info, Node: TCX files, Prev: patgen invocation, Up: Languages and hyphenation + +4.4.2 TCX files: Character translations +--------------------------------------- + +TCX (TeX character translation) files help TeX support direct input of +8-bit international characters if fonts containing those characters are +being used. Specifically, they map an input (keyboard) character code +to the internal TeX character code (a superset of ASCII). + + Of the various proposals for handling more than one input encoding, +TCX files were chosen because they follow Knuth's original ideas for +the use of the `xchr' and `xord' tables. He ventured that these would +be changed in the WEB source in order to adjust the actual version to a +given environment. It turns out, however, that recompiling the WEB +sources is not as simple a task as Knuth may have imagined; therefore, +TCX files, providing the possibility of changing of the conversion +tables on on-the-fly, have been implemented instead. + + This approach limits the portability of TeX documents, as some +implementations do not support it (or use a different method for +input-internal reencoding). It may also be problematic to determine +the encoding to use for a TeX document of unknown provenance; in the +worst case, failure to do so correctly may result in subtle errors in +the typeset output. But we feel the benefits outweigh these +disadvantages. + + This is entirely independent of the MLTeX extension (*note MLTeX::): +whereas a TCX file defines how an input keyboard character is mapped to +TeX's internal code, MLTeX defines substitutions for a non-existing +character glyph in a font with a `\accent' construction made out of two +separate character glyphs. TCX files involve no new primitives; it is +not possible to specify that an input (keyboard) character maps to more +than one character. + + Information on specifying TCX files: + + * The best way to specify a TCX file is to list it explicitly in the + first line of the main document: + %& -translate-file=TCXFILE + + * You can also specify a TCX file to be used on a particular TeX run + with the command-line option `-translate-file=TCXFILE'. + + * TCX files are searched for along the `WEB2C' path. + + * Initial TeX (*note Initial TeX: Initial TeX.) ignores TCX files. + + The Web2c distribution comes with a number of TCX files. Two +important ones are `il1-t1.tcx' and `il2-t1.tcx', which support ISO +Latin 1 and ISO Latin 2, respectively, with Cork-encoded fonts (a.k.a. +the LaTeX T1 encoding). TCX files for Czech, Polish, and Slovak are +also provided. + + One other notable TCX file is `empty.tcx', which is, well, empty. +Its purpose is to reset Web2C's behavior to the default (only visible +ASCII being printable, as described below) when a format was dumped +with another TCX being active--which is in fact the case for everything +but plain TeX in the TeX Live and other distributions. Thus: + + latex somefile8.tex + => terminal etc. output with 8-bit chars + latex --translate-file=empty.tcx somefile8.tex + => terminal etc. output with ^^ notation + + Syntax of TCX files: + 1. Line-oriented. Blank lines are ignored. + + 2. Whitespace is ignored except as a separator. + + 3. Comments start with `%' and continue to the end of the line. + + 4. Otherwise, a line consists of one or two character codes, + optionally followed by 0 or 1. The last number indicates whether + DEST is considered printable. + SRC [DEST [PRNT]] + + 5. Each character code may be specified in octal with a leading `0', + hexadecimal with a leading `0x', or decimal otherwise. Values must + be between 0 and 255, inclusive (decimal). + + 6. If the DEST code is not specified, it is taken to be the same as + SRC. + + 7. If the same SRC code is specified more than once, it is the last + definition that counts. + + Finally, here's what happens: when TeX sees an input character with +code SRC, it 1) changes SRC to DEST; and 2) makes the DEST code +"printable", i.e., printed as-is in diagnostics and the log file rather +than in `^^' notation. + + By default, no characters are translated, and character codes +between 32 and 126 inclusive (decimal) are printable. + + Specifying translations for the printable ASCII characters (codes +32-127) will yield unpredictable results. Additionally you shouldn't +make the following characters printable: `^^I' (TAB), `^^J' (line +feed), `^^M' (carriage return), and `^^?' (delete), since TeX uses them +in various ways. + + Thus, the idea is to specify the input (keyboard) character code for +SRC, and the output (font) character code for DEST. + + By default, only the printable ASCII characters are considered +printable by TeX. If you specify the `-8bit' option, all characters are +considered printable by default. If you specify both the `-8bit' +option and a TCX file, then the TCX can set specific characters to be +non-printable. + + Both the specified TCX encoding and whether characters are printable +are saved in the dump files (like `tex.fmt'). So by giving these +options in combination with `-ini', you control the defaults seen by +anyone who uses the resulting dump file. + + When loading a dump, if the `-8bit' option was given, then all +characters become printable by default. + + When loading a dump, if a TCX file was specified, then the TCX data +from the dump is ignored and the data from the file used instead. + + +File: web2c.info, Node: patgen invocation, Next: TCX files, Prev: MLTeX, Up: Languages and hyphenation + +4.4.3 Patgen: Creating hyphenation patterns +------------------------------------------- + +Patgen creates hyphenation patterns from dictionary files for use with +TeX. Synopsis: + + patgen DICTIONARY PATTERNS OUTPUT TRANSLATE + + Each argument is a filename. No path searching is done. The output is +written to the file OUTPUT. + + In addition, Patgen prompts interactively for other values. + + For more information, see `Word hy-phen-a-tion by com-puter' by +Frank Liang (*note References::), and also the `patgen.web' source file. + + The only options are `-help' and `-version' (*note Common options::). + + +File: web2c.info, Node: Shell escapes, Next: IPC and TeX, Prev: Languages and hyphenation, Up: TeX + +4.5 Shell escapes +================= + +TeX can execute "shell escapes", that is, arbitrary shell commands. +Although tremendously useful, this also has obvious security +implications. Therefore, as of TeX Live 2009, a "restricted" mode for +shell escapes is the default mode of operation, which allows executing +only certain commands, as specified in the `texmf.cnf' configuration +file. + + * Unrestricted shell escapes are allowed if the option + `--shell-escape' is specified, or if the environment variable or + config file value `shell_escape' is set to `t' or `y' and `1'. + + * Restricted shell escapes are allowed if `shell_escape' is set to + `p'. This is the default. + + * Shell escapes are completely disabled if `--no-shell-escape' is + specified, or if `shell_escape' is set to anything else. + + When enabled, the TeX construct to execute a system command is +`\write18{SHELL-COMMAND}'; for example: + + \write18{echo "hello, world"} + + From TeX's point of view, this is a normal `\write' command, and is +therefore subject to the usual TeX expansions. Also, the system call +either happens during the `\output' routine or right away, according to +the absence or presence of the `\immediate' prefix, as usual for +`\write'. + + The SHELL-COMMAND string is passed to the command shell (via the C +library function `system'). The output of SHELL-COMMAND is not +diverted anywhere, so it will not appear in the log file, or anywhere +but the terminal output. The exit status of the system call is also +not available to TeX. + + In unrestricted mode, the argument is simply passed straight to +`system' unaltered. + + In restricted mode, ASCII double quote characters (") should always +be used in the argument to `\write18' where quoting of arguments is +needed, as in the example above. This is to achieve some measure of +system independence. On Unix systems, these are replaced with single +quote (') characters to avoid insecure further expansion. Care is also +taken on Windows to avoid additional expansions (from, e.g., `...`). +Mismatched quotation marks in the command string result in a diagnostic +message in the log file; no execution is performed. + + After quotation processing, if the first word (delimited by a space +or tab) of the command is in the list specified by the +`shell_escape_commands' configuration value, the command is executed. +Otherwise it is not. In any case, a message is written to the log file. + + The `shell_escape_commands' value is a comma-separated list of +words. Whitespace is significant, and typically should not be present. +The default definition looks like this, but with more commands included: + + shell_escape_commands = bibtex,dvips,epstopdf,...,tex + + pdfTeX and luaTeX support reading (via `\input' and `\openin') and +writing (via `\openout') from pipes if the first character is `|'. The +following command is then treated exactly the same as the argument to +`\write18'. In these engines, the primitive variable `\pdfshellescape' +is set to 0 if shell escapes are disabled, 1 if they are enabled, and 2 +if they are enabled with restrictions. + + The purpose of this feature is to make it possible for TeX documents +to perform useful external actions in the common case of an individual +user running a known document on his or her own machine. In such +environments as CGI scripts or wikis where the input has to be +considered untrustworthy, shell escapes should be completely disabled. + + +File: web2c.info, Node: IPC and TeX, Next: TeX extensions, Prev: Shell escapes, Up: TeX + +4.6 IPC and TeX +=============== + +(If anyone uses this feature and needs documentation, write +<tex-k@tug.org>.) + + This functionality is available only if the `--enable-ipc' option +was specified to `configure' during installation of Web2c (*note +Installation::). + + If you define `IPC_DEBUG' before compilation (e.g., with `make +XCFLAGS=-DIPC_DEBUG'), TeX will print messages to standard error about +its socket operations. This may be helpful if you are, well, debugging. + + +File: web2c.info, Node: TeX extensions, Prev: IPC and TeX, Up: TeX + +4.7 TeX extensions +================== + +The base TeX program has been extended in many ways. Here's a partial +list. + +e-TeX + Adds many new primitives, including right-to-left typesetting and + more registers. Now frozen. + +Aleph + This adds Unicode support, right-to-left typesetting, and more. + Omega was the original program. Aleph is an updated version with + a variety of bug fixes, and includes e-TeX. Aleph is not actively + maintained. + +pdfTeX + Can produce PDF as well as DVI files. It also incorporates the + e-TeX extensions, new primitives for hypertext and + micro-typography, reading/writing from pipes, and much more. Home + page: `http://pdftex.org'. + +luaTeX + Based on pdfTeX, this also embeds the Lua programming language + (`http://lua.org') and opens up the TeX typesetting engine to + control from Lua. Home page: `http://luatex.org'. + +XeTeX + Combines support for Unicode input and OpenType- and system fonts + with the capabilities of pdfTeX. Home page: + `http://tug.org/xetex'. + + + +File: web2c.info, Node: Metafont, Next: MetaPost, Prev: TeX, Up: Top + +5 Metafont: Creating typeface families +************************************** + +Metafont is a system for producing shapes; it was designed for producing +complete typeface families, but it can also produce geometric designs, +dingbats, etc. And it has considerable mathematical and +equation-solving capabilities which can be useful entirely on their own. + + Metafont is a batch language, like C or Pascal: you compile a +Metafont program into a corresponding font, rather than interactively +drawing lines or curves. This approach has both considerable +disadvantages (people unfamiliar with conventional programming +languages will be unlikely to find it usable) and considerable +advantages (you can make your design intentions specific and +parameterizable). For a complete description of the Metafont language, +see `The METAFONTbook' (*note References::). + +* Menu: + +* mf invocation:: Invoking Metafont. +* Initial Metafont:: Making bases. +* Modes:: Device definitions for Metafont. +* Online Metafont graphics:: Seeing MF output online. +* gftodvi invocation:: Making proofsheets for fonts. +* mft invocation:: Prettyprinting Metafont sources. + + +File: web2c.info, Node: mf invocation, Next: Initial Metafont, Up: Metafont + +5.1 `mf' invocation +=================== + +Metafont (usually invoked as `mf') reads character definitions +specified in the Metafont programming language, and outputs the +corresponding font. This section merely describes the options available +in the Web2c implementation. For a complete description of the Metafont +language, see `The Metafontbook' (*note References::). + + Metafont processes its command line and determines its memory dump +(base) file in a way exactly analogous to MetaPost and TeX (*note tex +invocation::, and *note Memory dumps::). Synopses: + + mf [OPTION]... [MFNAME[.mf]] [MF-COMMANDS] + mf [OPTION]... \FIRST-LINE + mf [OPTION]... &BASE ARGS + + Most commonly, a Metafont invocation looks like this: + mf '\mode:=MODE; mag:=MAGNIFICATION; input MFNAME' + (The single quotes avoid unwanted interpretation by the shell.) + + Metafont searches the usual places for the main input file MFNAME +(*note Supported file formats: (kpathsea)Supported file formats.), +extending MFNAME with `.mf' if necessary. To see all the relevant +paths, set the environment variable `KPATHSEA_DEBUG' to `-1' before +running the program. By default, Metafont runs an external program +named `mktexmf' to create any nonexistent Metafont source files you +input. You can disable this at configure-time or runtime (*note mktex +configuration: (kpathsea)mktex configuration.). This is mostly for the +sake of the EC fonts, which can be generated at any size. + + Metafont writes the main GF output to the file `BASEMFNAME.NNNgf', +where NNN is the font resolution in pixels per inch, and BASEMFNAME is +the basename of MFNAME, or `mfput' if no input file was specified. A +GF file contains bitmaps of the actual character shapes. Usually GF +files are converted immediately to PK files with GFtoPK (*note gftopk +invocation::), since PK files contain equivalent information, but are +more compact. (Metafont output in GF format rather than PK for only +historical reasons.) + + Metafont also usually writes a metric file in TFM format to +`BASEMFNAME.tfm'. A TFM file contains character dimensions, kerns, and +ligatures, and spacing parameters. TeX reads only this .tfm file, not +the GF file. + + The MODE in the example command above is a name referring to a +device definition (*note Modes::); for example, `localfont' or +`ljfour'. These device definitions must generally be precompiled into +the base file. If you leave this out, the default is `proof' mode, as +stated in `The Metafontbook', in which Metafont outputs at a resolution +of 2602dpi; this is usually not what you want. The remedy is simply to +assign a different mode--`localfont', for example. + + The MAGNIFICATION assignment in the example command above is a +magnification factor; for example, if the device is 600dpi and you +specify `mag:=2', Metafont will produce output at 1200dpi. Very often, +the MAGNIFICATION is an expression such as `magstep(.5)', corresponding +to a TeX "magstep", which are factors of 1.2 * sqrt(2). + + After running Metafont, you can use the font in a TeX document as +usual. For example: + \font\myfont = newfont + \myfont Now I am typesetting in my new font (minimum hamburgers). + + The program accepts the following options, as well as the standard +`-help' and `-version' (*note Common options::): +`-[no]-file-line-error' +`-fmt=FMTNAME' +`-halt-on-error' +`-ini' +`-interaction=STRING' +`-jobname=STRING' +`-kpathsea-debug=NUMBER' +`-[no]parse-first-line' +`-output-directory' +`-progname=STRING' +`-recorder' +`-translate-file=TCXFILE' +`-8bit' + These options are common to TeX, Metafont, and MetaPost. *Note + Common options::. + +`-mktex=FILETYPE' +`-no-mktex=FILETYPE' + Turn on or off the `mktex' script associated with FILETYPE. The + only value that makes sense for FILETYPE is `mf'. + + +File: web2c.info, Node: Initial Metafont, Next: Modes, Prev: mf invocation, Up: Metafont + +5.2 Initial Metafont +==================== + +`inimf' is the "initial" form of Metafont, which does lengthy +initializations avoided by the "virgin" (`vir') form, so as to be +capable of dumping `.base' files (*note Memory dumps::). For a +detailed comparison of virgin and initial forms, see *note Initial and +virgin::. In past releases, a separate program `inimf' was installed +to invoke the initial form, but this is no longer the case. + + For a list of options and other information, see *note mf +invocation::. + + The only memory dump file commonly used with Metafont is the default +`plain.base', also known as `mf.base' (again, *note Memory dumps::). +It is created by default during installation, but you can also do so by +hand if necessary (e.g., if a Metafont update is issued): + mf -ini '\input plain; input modes; dump' + (The quotes prevent interpretation of the backslashes from the +shell.) Then install the resulting `plain.base' in `$(basedir)' +(`/usr/local/share/texmf/web2c' by default), and link `mf.base' to it. + + For an explanation of the additional `modes.mf' file, see *note +Modes::. This file has no counterpart in TeX or MetaPost. + + In the past, it was sometimes useful to create a base file +`cmmf.base' (a.k.a. `cm.base'), with the Computer Modern macros also +included in the base file. Nowadays, however, the additional time +required to read `cmbase.mf' is exceedingly small, usually not enough +to be worth the administrative hassle of updating the `cmmf.base' file +when you install a new version of `modes.mf'. People actually working +on a typeface may still find it worthwhile to create their own base +file, of course. + + +File: web2c.info, Node: Modes, Next: Online Metafont graphics, Prev: Initial Metafont, Up: Metafont + +5.3 Modes: Device definitions for Metafont +========================================== + +Running Metafont and creating Metafont base files requires information +that TeX and MetaPost do not: "mode" definitions which specify device +characteristics, so Metafont can properly rasterize the shapes. + + When making a base file, a file containing modes for +locally-available devices should be input after `plain.mf'. One +commonly used file is `ftp://ftp.tug.org/tex/modes.mf'; it includes all +known definitions. + + If, however, for some reason you have decreased the memory available +in your Metafont, you may need to copy `modes.mf' and remove the +definitions irrelevant to you (probably most of them) instead of using +it directly. (Or, if you're a Metafont hacker, maybe you can suggest a +way to redefine `mode_def' and/or `mode_setup'; right now, the amount +of memory used is approximately four times the total length of the +`mode_def' names, and that's a lot.) + + If you have a device not included in `modes.mf', please see comments +in that file for how to create the new definition, and please send the +definition to <tex-fonts@math.utah.edu> to get it included in the next +release of `modes.mf'. + + Usually, when you run Metafont you must supply the name of a mode +that was dumped in the base file. But you can also define the mode +characteristics dynamically, by invoking Metafont with an assignment to +`smode' instead of `mode', like this: + mf '\smode:="newmode.mf"; mag:=MAGNIFICATION; input MFNAME' + This is most useful when you are working on the definition of a new +mode. + + The MAGNIFICATION and MFNAME arguments are explained in *note mf +invocation::. In the file `newmode.mf', you should have the following +(with no `mode_def' or `enddef'), if you are using `modes.mf' +conventions: + mode_param (pixels_per_inch, DPI); + mode_param (blacker, B); + mode_param (fillin, F); + mode_param (o_correction, O); + mode_common_setup_; + (Of course, you should use real numbers for DPI, B, F, and O.) + + For more information on the use of `smode', or if you are not using +`modes.mf', see page 269 of `The Metafontbook'. + + +File: web2c.info, Node: Online Metafont graphics, Next: gftodvi invocation, Prev: Modes, Up: Metafont + +5.4 Online Metafont graphics +============================ + +The Web2c implementation of Metafont can do online graphics with a +number of devices. (See the Metafont manual for more information about +how to draw on your screen.) By default, no graphics support is +enabled. + + Metafont examines the `MFTERM' environment variable or config file +value at runtime, or the `TERM' environment variable if `MFTERM' is not +set, to determine the device support to use. Naturally, only the +devices for which support has been compiled in can be selected. + + Here is a table of the possibilities, showing the `MFTERM' value and +the corresponding `configure' option(s) in parentheses. + +`epsf' + (`--enable-epsfwin') Pseudo-window server for Encapsulated + PostScript (see `web2c/window/epsf.c'). This device produces an + EPS file containing the graphics which would be displayed online on + other devices. The name of the EPS file defaults to metafont.eps + but can be changed by setting the MFEPSF environment variable to + the new filename. Contributed by Mathias Herberts. + +`hp2627' + (`--enable-hp2627win') HP2627a color graphics terminals. + +`mftalk' + (`--enable-mftalkwin') Generic window server (see + `web2c/window/mftalk.c'). + +`next' + (`--enable-next') NeXT window system. This requires a separate + program, called `DrawingServant', available separately. See the + `web2c/window/next.c'. + +`regis' + (`--enable-regiswin') Regis terminals. + +`sun' + (`--enable-suntoolswin') The old Suntools (not any flavor of X) + window system. (You can get the even older SunWindows `gfx' system + by using `sun-gfx.c'.) + +`tek' + (`--enable-tektronixwin') Tektronix terminals. + +`uniterm' + (`--enable-unitermwin') Uniterm, Simon Poole's emulator of a smart + Tektronix 4014 terminal. This may work with regular Tektronix + terminals as well; it's faster than the driver + `--enable-tektronixwin' selects. + +`xterm' + `--with-x' The X window system (version 11). + + There are two variants of the X11 support, one that works with the + Xt toolkit, and another that works directly with Xlib. The Xt + support is more efficient and has more functionality, so it is the + default. If you must use the Xlib support, use `configure --with-x + --with-kf-x-toolkit=no'. + + Specify `--disable-mf-nowin' in order not to build a separate + non-windows-capable Metafont executable `mf-nowin' (or + `mf-nowin.exe'). + + You cannot specify any of the usual X options (e.g., `-geometry') + on the Metafont command line, but you can specify X resources in + your `~/.Xdefaults' or `~/.Xresources' file. The class name is + `Metafont'. If you're using the Xt support, all the usual X toolkit + resources are supported. If you're using the Xlib support, only + the `geometry' resource is supported. + + You specify the X display to which Metafont connects in the + `DISPLAY' environment variable, as usual. + + + Writing support for a new device is straightforward. Aside from +defining the basic drawing routines that Metafont uses (see `mf.web'), +you only have to add another entry to the tables on the last page of +`web2c/lib/texmfmp.c'. Or you can write an independent program and use +MFtalk (see `web2c/window/mftalk.c'). + + +File: web2c.info, Node: gftodvi invocation, Next: mft invocation, Prev: Online Metafont graphics, Up: Metafont + +5.5 GFtoDVI: Character proofs of fonts +====================================== + +GFtoDVI makes "proof sheets" from a GF bitmap file as output by, for +example, Metafont (*note Metafont::). This is an indispensable aid for +font designers or Metafont hackers. Synopsis: + + gftodvi [OPTION]... GFNAME[gf] + + The font GFNAME is searched for in the usual places (*note Glyph +lookup: (kpathsea)Glyph lookup.). To see all the relevant paths, set +the environment variable `KPATHSEA_DEBUG' to `-1' before running the +program. + + The suffix `gf' is supplied if not already present. This suffix is +not an extension, no `.' precedes it; for instance, `cmr10.600gf'. + + The output filename is the basename of GFNAME extended with `.dvi', +e.g., `gftodvi /wherever/foo.600gf' creates `./foo.dvi'. + + The characters from GFNAME appear one per page in the DVI output, +with labels, titles, and annotations, as specified in Appendix H +(Hardcopy Proofs) of `The Metafontbook'. + + GFtoDVI uses several fonts besides GFNAME itself: + + * "gray font" (default `gray'): for the pixels that actually make up + the character. Simply using black is not right, since then labels, + key points, and other information could not be shown. + + * "title font" (default `cmr8'): for the header information at the + top of each output page. + + * "label font" (default `cmtt10'): for the labels on key points of + the figure. + + * "slant font" (no default): for diagonal lines, which are otherwise + simulated using horizontal and vertical rules. + + To change the default fonts, you must use `special' commands in your +Metafont source file, typically via commands like `slantfont slantlj4'. +There is no default slant font since no one printer is suitable as a +default. You can make your own by copying one of the existing files, +such as `.../fonts/source/public/misc/slantlj4.mf' and then running +`mf' on it. + + For testing purposes, you may it useful to run `mf-nowin rtest' (hit +RETURN when it stops) to get a `gf' file of a thorn glyph. Or use `mf' +instead of `mf-nowin' to have the glyph(s) displayed on the screen. +After that, `gftodvi rtest.2602gf' should produce `rtest.dvi', which +you process as usual. + + The program accepts the following option, as well as the standard +`-verbose', `-help', and `-version' (*note Common options::): + +`-overflow-label-offset=POINTS' + Typeset the so-called overflow labels, if any, POINTS TeX points + from the right edge of the character bounding box. The default is + a little over two inches (ten million scaled points, to be + precise). Overflow equations are used to locate coordinates when + their actual position is too crowded with other information. + + +File: web2c.info, Node: mft invocation, Prev: gftodvi invocation, Up: Metafont + +5.6 MFT: Prettyprinting Metafont source +======================================= + +MFT translates a Metafont program into a TeX document suitable for +typesetting, with the aid of TeX macros defined in the file +`mftmac.tex'. Synopsis: + + mft [OPTION]... MFNAME[.mf] + + MFT searches the usual places for MFNAME (*note Supported file +formats: (kpathsea)Supported file formats.). To see all the relevant +paths, set the environment variable `KPATHSEA_DEBUG' to `-1' before +running the program. The output goes to the basename of MFNAME extended +with `.tex', e.g., `mft /wherever/foo.mf' creates `./foo.tex'. + + Line breaks in the input are carried over into the output; moreover, +blank spaces at the beginning of a line are converted to quads of +indentation in the output. Thus, you have full control over the +indentation and line breaks. Each line of input is translated +independently of the others. + + Further control is allowed via Metafont comments: + * Metafont comments following a single `%' should be valid TeX + input. But Metafont material can be included within vertical bars + in a comment; this will be translated by MFT as if it were regular + Metafont code. For example, a comment like `% |x2r| is the tip of + the bowl' will be translated into the TeX `% $x_{2r}$ is the ...', + i.e., the `x2r' is treated as an identifier. + + * `%%' indicates that the remainder of an input line should be copied + verbatim to the output. This is typically used to introduce + additional TeX material at the beginning or an MFT job, e.g. code + to modify the standard layout or the formatting macros defined in + `mftmac.tex', or to add a line saying `%%\bye' at the end of the + job. (MFT doesn't add this automatically in order to allow + processing several files produces by MFT in the same TeX job.) + + * `%%% TOKEN1 OTHER-TOKENS' introduces a change in MFT's formatting + rules; all the OTHER-TOKENS will henceforth be translated + according to the current conventions for TOKEN1. The tokens must + be symbolic (i.e., not numeric or string tokens). For example, the + input line + %%% addto fill draw filldraw + says to format the `fill', `draw', and `filldraw' operations of + plain Metafont just like the primitive token `addto', i.e., in + boldface type. Without such reformatting commands, MFT would + treat `fill' like an ordinary tag or variable name. In fact, you + need a `%%%' command even to get parentheses to act like + delimiters. + + * `%%%%' introduces an MFT comment, i.e., MFT ignores the remainder + of such a line. + + * Five or more `%' signs should not be used. + + (The above description was edited from `mft.web', written by +D.E. Knuth.) + + The program accepts the following options, as well as the standard +`-help' and `-version' (*note Common options::): +`-change=CHFILE[.ch]' + Apply the change file CHFILE as with Tangle and Weave (*note + WEB::). + +`-style=MFTFILE[.mft]' + Read MFTFILE before anything else; a MFT style file typically + contains only MFT directives as described above. The default + style file is named `plain.mft', which defines this properly for + programs using plain Metafont. The MFT files is searched along the + `MFTINPUTS' path; see *note Supported file formats: + (kpathsea)Supported file formats. + + Other examples of MFT style files are `cmbase.mft', which defines + formatting rules for the macros defined in `cm.base', and `e.mft', + which was used in the production of Knuth's Volume E, `Computer + Modern Typefaces'. + + Using an appropriate MFT style file, it is also possible to + configure MFT for typesetting MetaPost sources. However, MFT does + not search the usual places for MetaPost input files. + + If you use eight-bit characters in the input file, they are passed +on verbatim to the TeX output file; it is up to you to configure TeX to +print these properly. + + +File: web2c.info, Node: MetaPost, Next: BibTeX, Prev: Metafont, Up: Top + +6 MetaPost: Creating technical illustrations +******************************************** + +MetaPost is a picture-drawing language similar to Metafont (*note +Metafont::), but instead of outputting bitmaps in a "font", it outputs +PostScript commands. It's primarily intended for creating technical +illustrations. + + MetaPost also provides for arbitrary integration of text and +graphics in a natural way, using any typesetter (TeX and Troff are both +supported) and a number of other subsidiary programs, described below. + +* Menu: + +* mpost invocation:: Invoking MetaPost. +* Initial MetaPost:: Making mems. +* dvitomp invocation:: DVI-to-MPX translation. + + +File: web2c.info, Node: mpost invocation, Next: Initial MetaPost, Up: MetaPost + +6.1 `mpost' invocation +====================== + +MetaPost (installed as `mpost') reads a series of pictures specified in +the MetaPost programming language, and outputs corresponding PostScript +code. This section merely describes the options available in the Web2c +implementation. For a complete description of the MetaPost language, +see AT&T technical report CSTR-162, generally available in +`TEXMF/doc/metapost/', where TEXMF is the root of TeX directory +structure. See also: + * `http://cm.bell-labs.com/who/hobby/MetaPost.html' (the + MetaPost author's home page); + + * `http://tug.org/metapost' (papers, packages, and related + information). + + Also, a standard MetaPost package for drawing graphs is documented in +AT&T technical report CSTR-164, available as the file `mpgraph.ps', +generally stored alongside `mpman.ps'. + + MetaPost processes its command line and determines its memory dump +(mem) file in a way exactly analogous to Metafont and TeX (*note `tex' +invocation: tex invocation, and *note Memory dumps::). Synopses: + + mpost [OPTION]... [MPNAME[.mp]] [MP-COMMANDS] + mpost [OPTION]... \FIRST-LINE + mpost [OPTION]... &MEM ARGS + + MetaPost searches the usual places for the main input file MPNAME +(*note Supported file formats: (kpathsea)Supported file formats.), +extending MPNAME with `.mp' if necessary. To see all the relevant +paths, set the environment variable `KPATHSEA_DEBUG' to `-1' before +running the program. + + MetaPost writes its PostScript output to a series of files +`BASEMPNAME.NNN' (or perhaps `BASEMPNAME.ps', very occasionally +`BASEMPNAME.tfm'), where NNN are the figure numbers specified in the +input, typically to the `beginfig' macro, and BASEMPNAME is the +basename of MPNAME, or `mpout' if no input file was specified. +MetaPost uses the `.ps' extension when the figure number is out of +range, e.g., if you say `beginfig(-1)'. + + You can use the output files as figures in a TeX document just as +with any other PostScript figures. For example, with this TeX command: + \special{psfile="FILENAME"} + or by using `epsf.tex' (*note EPSF macros: (dvips)EPSF macros.). + + The MetaPost construct + btex ... TEX-INPUT ... etex + generates a MetaPost picture expression corresponding to TEX-INPUT. + + The construct + verbatimtex ... TEX-INPUT ... etex + simply passes the TEX-INPUT through to TeX. For example, if you are +using LaTeX, your MetaPost input file must start with a `verbatimtex' +block that gives the necessary `\documentclass' (or `\documentstyle') +`\begin{document}' command. You will also need to set the enviroment +variable `TEX' to `latex'. + + TEX-INPUT need not be specifically TeX input; it could also be +Troff. In that case, you will need the `-m pictures' Troff macro +package (unfortunately absent from many Troff implementations), or an +equivalent such as the `-m pspic' macros from GNU groff described in +grops(1). + + Naturally, you must use fonts that are supported by the typesetter; +specifically, you'll probably want to use standard PostScript fonts with +Troff. And only the TeX system understands Computer Modern or other +Metafont fonts; you can also use PostScript fonts with TeX, of course. + + MetaPost-generated PostScript figures which do use Computer Modern +fonts for labels cannot be directly previewed or printed. Instead, you +must include them in a TeX document and run the resulting DVI file +through Dvips to arrange for the downloading of the required fonts +(*note Fonts in figures: (dvips)Fonts in figures.). To help with this, +the MetaPost distribution provides a small TeX file `mproof.tex' which +is typically called as: + tex mproof MP-OUTPUT-FILES... ; dvips mproof -o + The resulting file `mproof.ps' can then be printed or previewed. + + To generate EPSF files, set the internal MetaPost variable +`prologues' positive. To make the output files self-contained, use +only standard PostScript fonts. MetaPost reads the same `psfonts.map' +file as Dvips, to determine PostScript fonts that need to be downloaded +(*note psfonts.map: (dvips)psfonts.map.). + + It is posible for pdfTeX to read MetaPost output directly; this is +in contrast to general EPSF files, which have to be converted for use +with PDF output. The easiest way is to name the MetaPost output files +with the `.mps' extension. Then the LaTeX `\includegraphics' command, +for example, will be able to read them, even when outputting PDF. + + MetaPost can write output files, via the `write' primitive; this +opens a security hole. *Note tex invocation::. + + The program accepts the following options, as well as the standard +`-help' and `-version' (*note Common options::): +`-[no]-file-line-error' +`-fmt=FMTNAME' +`-halt-on-error' +`-ini' +`-interaction=STRING' +`-jobname=STRING' +`-kpathsea-debug=NUMBER' +`-[no]parse-first-line' +`-output-directory' +`-progname=STRING' +`-recorder' +`-translate-file=TCXFILE' +`-8bit' + These options are common to TeX, Metafont, and MetaPost. *Note + Common options::. + +`-T' +`-troff' + Set the `prologues' internal variable to `1'. + +`-tex=TEXPROGRAM' + When this option is given, the program TEXPROGRAM is used to + typeset the labels. + + + +File: web2c.info, Node: Initial MetaPost, Next: dvitomp invocation, Prev: mpost invocation, Up: MetaPost + +6.2 Initial MetaPost +==================== + +As of MetaPost 1.504 (TeX Live 2011), MetaPost no longer dumps `.mem' +files (*note Memory dumps::) and does not distinguish virgin and +initial forms (*note Initial and virgin::). Instead, the "initial" +file name is read in its source form--that is, `mpost.mp' when the +program is invoked as `mpost'. + + For a list of options and other information, see *note mpost +invocation::. + + MetaPost provides a format with all the features of plain Metafont, +called `mfplain'. You can use that in the same way; just run `mfplain' +instead of `mpost'. This lets you directly process Metafont source +files with MetaPost, producing character proofs (one file for each +character) similar to those produced with Metafont in proof mode and +GFtoDVI (*note gftodvi invocation::). + + +File: web2c.info, Node: dvitomp invocation, Prev: Initial MetaPost, Up: MetaPost + +6.3 DVItoMP: DVI to MPX conversion +================================== + +DVItoMP converts DVI files into low-level MetaPost commands in a +so-called MPX file. Synopsis: + + dvitomp DVIFILE[.dvi] [MPXFILE[.mpx]] + +If MPXFILE is not specified, the output goes to the basename of DVIFILE +extended with `.mpx', e.g., `dvitomp /wherever/foo.dvi' creates +`./foo.mpx'. + + DVItoMP supports Dvips-style color specials, such as `color push +NAME' and `color pop', outputting them as `withcolor' MetaPost commands. + + The only options are `-help' and `-version' (*note Common options::). + + +File: web2c.info, Node: BibTeX, Next: WEB, Prev: MetaPost, Up: Top + +7 BibTeX: Bibliographies +************************ + +BibTeX automates much of the job of typesetting bibliographies, and +makes bibliography entries reusable in many different contexts. + +* Menu: + +* bibtex invocation:: +* Basic BibTeX style files:: The standard and semi-standard styles. + + +File: web2c.info, Node: bibtex invocation, Next: Basic BibTeX style files, Up: BibTeX + +7.1 BibTeX invocation +===================== + +BibTeX creates a printable bibliography (`.bbl') file from references +in a `.aux' file, generally written by TeX or LaTeX. The `.bbl' file +is then incorporated on a subsequent run. The basic bibliographic +information comes from `.bib' files, and a BibTeX style (`.bst') file +controls the precise contents of the `.bbl' file. Synopsis: + + bibtex [OPTION]... AUXFILE[.aux] + +The output goes to the basename of AUXFILE extended with `.bbl'; for +example, `bibtex /wherever/foo.aux' creates `./foo.bbl'. BibTeX also +writes a log file to the basename of AUXFILE extended with `.blg'. + + The names of the `.bib' and `.bst' files are specified in the `.aux' +file as well, via the `\bibliography' and `\bibliographystyle' (La)TeX +macros. BibTeX searches for `.bib' files using the `BIBINPUTS' and +`TEXBIB' paths, and for `.bst' files using `BSTINPUTS' (*note Supported +file formats: (kpathsea)Supported file formats.). It does no path +searching for `.aux' files. + + The program accepts the following options, as well as the standard +`-help' and `-version' (*note Common options::): +`-terse' + Suppress the program banner and progress reports normally output. + +`-min-crossrefs=N' + If at least N (2 by default) bibliography entries refer to another + entry E via their `crossref' field, include E in the .bbl file, + even if it was not explicitly referenced in the .aux file. For + example, E might be a conference proceedings as a whole, with the + cross-referencing entries being individual articles published in + the proceedings. In some circumstances, you may want to avoid + these automatic inclusions altogether; to do this, make N a + sufficiently large number. + + See also: +`btxdoc.tex' + Basic LaTeXable documentation for general BibTeX users. + +`btxhak.tex' + LaTeXable documentation for style designers. + +`btxdoc.bib' + BibTeX database file for the two above documents. + +`xampl.bib' + Example database file with all the standard entry types. + +``ftp://ftp.math.utah.edu/pub/tex/bib/'' + A very large `.bib' and `.bst' collection, including references + for all the standard TeX books and a complete bibliography for + TUGboat. + + +File: web2c.info, Node: Basic BibTeX style files, Prev: bibtex invocation, Up: BibTeX + +7.2 Basic BibTeX style files +============================ + +Here are descriptions of the four standard and four semi-standard basic +BibTeX styles. `CTAN:/biblio/bibtex' contains these and many more (for +CTAN info, *note unixtex.ftp: (kpathsea)unixtex.ftp.). + +`plain' + Sorts entries alphabetically, with numeric labels. Generally + formatted according to van Leunen's `A Handbook for Scholars'. + The other style files listed here are based on `plain'. + +`abbrv' + First names, month names, and journal names are abbreviated. + +`acm' + Names are printed in small caps. + +`alpha' + Alphanumeric labels, e.g., `Knu66'. + +`apalike' + No labels at all; instead, the year appears in parentheses after + the author. Use this in conjunction with `apalike.tex' (plain + TeX) or `apalike.sty' (LaTeX), which also changes the citations in + the text to be `(AUTHOR, YEAR)'. + +`ieeetr' + Numeric labels, entries in citation order, IEEE abbreviations, + article titles in quotes. + +`siam' + Numeric labels, alphabetic order, `Math. Reviews' abbreviations, + names in small caps. + +`unsrt' + Lists entries in citation order, i.e., unsorted. + +`btxbst.doc' + The template file and documentation for the standard styles. + + + +File: web2c.info, Node: WEB, Next: DVI utilities, Prev: BibTeX, Up: Top + +8 WEB: Literate programming +*************************** + +"WEB" languages allow you to write a single source file that can +produce both a compilable program and a well-formatted document +describing the program in as much detail as you wish to prepare. +Writing in this kind of dual-purpose language is called "literate +programming". (The Usenet newsgroup `comp.programming.literate' is +devoted to this subject.) + + WEB-like languages have been implemented with many pairs of base +languages: Cweb provides C and Troff (*note References::); CWEB provides +C and TeX (`CTAN:/web/c_cpp/cweb'); Spiderweb provides C, C++, Awk, +Ada, many others, and TeX (`CTAN:/web/spiderweb'); and, of course, the +original WEB provides Pascal and TeX, the implementation languages for +the original TeX, Metafont, MetaPost, and related programs to come from +the TeX project at Stanford. + + The original WEB language is documented in the file `webman.tex', +which is included in the `ftp://ftp.tug.org/tex/lib.tar.gz' archive +(and available in many other places, of course). + +* Menu: + +* tangle invocation:: +* weave invocation:: +* pooltype invocation:: + + +File: web2c.info, Node: tangle invocation, Next: weave invocation, Up: WEB + +8.1 Tangle: Translate WEB to Pascal +=================================== + +Tangle creates a compilable Pascal program from a WEB source file +(*note WEB::). Synopsis: + + tangle [OPTION]... WEBFILE[.web] [CHANGEFILE[.ch]] + +The Pascal output is written to the basename of WEBFILE extended with +`.p'; for example, `tangle /wherever/foo.web' creates `./foo.p'. +Tangle applies CHANGEFILE to WEBFILE before writing the output; by +default, there is no change file. + + If the program makes use of the WEB string facility, Tangle writes +the string pool to the basename of WEBFILE extended with `.pool'. + + The Pascal output is packed into lines of 72 characters or less, with +the only concession to readability being the termination of lines at +semicolons when this can be done conveniently. + + The program accepts the following options, as well as the standard +`--help' and `--version' (*note Common options::): + +`-length=NUMBER' + The number of characters that are considered significant in an + identifier. Whether underline characters are counted depends on + the `-underline' option. The default value is 32, the original + tangle used 7, but this proved too restrictive for use by Web2c. + +`-lowercase' +`-mixedcase' +`-uppercase' + These options specify the case of identifiers in the output of + tangle. If `-uppercase' (`-lowercase') is specified, tangle will + convert all identfiers to uppercase (lowercase). The default is + `-mixedcase', which specifies that the case will not be changed. + +`-underline' + When this option is given, tangle does not strip underline + characters from identifiers. + +`-loose' +`-strict' + These options specify how strict tangle must be when checking + identifiers for equality. The default is `-loose', which means + that tangle will follow the rules set by the case-smashing and + underline options above. If `-strict' is set, then identifiers + will always be stripped of underlines and converted to uppercase + before checking whether they collide. + + + +File: web2c.info, Node: weave invocation, Next: pooltype invocation, Prev: tangle invocation, Up: WEB + +8.2 Weave: Translate WEB to TeX +=============================== + +Weave creates a TeX document from a WEB source file (*note WEB::), +assuming various macros defined in `webmac.tex'. It takes care of +typographic details such as page layout, indentation, and italicizing +identifiers. It also automatically gathers and outputs extensive +cross-reference information. Synopsis: + + weave [OPTION]... WEBFILE[.web] [CHANGEFILE[.ch]] + +The output is to the basename of WEBFILE extended with `.tex'; for +example, `weave /wherever/foo.web' creates `./foo.tex'. Weave applies +CHANGEFILE to WEBFILE before writing the output; by default, there is +no change file. + + The program accepts the following option, as well as the standard +`-verbose', `-help' and `-version' (*note Common options::): +`-x' + Omit the cross-reference information: the index, the list of WEB + module names, and the table of contents (an empty `CONTENTS.tex' + file will still be written when the Weave output file is processed + by TeX using the default `webmac.tex', though). + + Conventionally, WEB programmers should define the TeX `\title' macro +at the beginning of the source file. Also, to get output of only +changed modules, one can say `\let\maybe=\iffalse' (usually as the +first change in the change file). + + +File: web2c.info, Node: pooltype invocation, Prev: weave invocation, Up: WEB + +8.3 Pooltype: Display WEB pool files +==================================== + +Pooltype shows the so-called "string number" of each string in a WEB +pool file (*note WEB::), as output by Tangle (*note tangle +invocation::), including the first 256 strings corresponding to the +possible input characters. Pooltype primarily serves as an example of +WEB conventions to implementors of the TeX system. Synopsis: + + pooltype [OPTION]... POOLFILE[.pool] + +No path searching is done for POOLFILE. Output is to standard output. + + The only options are `--help' and `--version' (*note Common +options::). + + As an example of the output, here is the (edited) output for +`tex.pool': + 0: "^^@" + 1: "^^A" + ... + 255: "^^ff" + 256: "pool size" + ... + 1314: "Using character substitution: " + (23617 characters in all.) + + In Metafont and MetaPost, the first 256 characters are actually +represented as single bytes (i.e., themselves), not in the `^^' +notation. Consider Pooltype as showing the results after conversion for +output. + + +File: web2c.info, Node: DVI utilities, Next: Font utilities, Prev: WEB, Up: Top + +9 DVI utilities +*************** + +TeX outputs a file in "DVI" (DeVice Independent) format as a compact +representation of the original document. DVI files can be translated +to meet the requirements of a real physical device, such as PostScript +printers (*note Introduction: (dvips)Top.), PCL printers (see +dvilj(1)), and X displays (see xdvi(1)). In fact, DVI translators are +available for virtually all common devices: see `CTAN:/dviware' (for +CTAN info, *note unixtex.ftp: (kpathsea)unixtex.ftp.). + + For the precise definition of the DVI file format, see (for example) +the source file `web2c/dvitype.web'. + + The DVI-processing programs in the Web2c distribution are not device +drivers; they perform generic utility functions. + +* Menu: + +* dvicopy invocation:: Expand virtual fonts. +* dvitype invocation:: DVI to human-readable text. + + +File: web2c.info, Node: dvicopy invocation, Next: dvitype invocation, Up: DVI utilities + +9.1 DVIcopy: Canonicalize virtual font references +================================================= + +DVIcopy reads a DVI file, expands any references to virtual fonts +(*note Virtual fonts: (dvips)Virtual fonts.) to base fonts, and writes +the resulting DVI file. Thus you can use virtual fonts even if your DVI +processor does not support them, by passing the documents through +DVIcopy first. Synopsis: + + dvicopy [OPTION]... [INDVI[.dvi] [OUTDVI[.dvi]]] + + DVIcopy reads standard input if INDVI is not specified, and writes +standard output if OUTDVI is not specified. + + The program accepts the following options, as well as the standard +`-help' and `-version' (*note Common options::): +`-magnification=INTEGER' + Override existing magnification in INDVI with INTEGER; 1000 + specifies no magnification. This is equivalent to setting TeX's + `\mag' parameter. + +`-max-pages=N' + Process N pages; default is one million. + +`-page-start=PAGE-SPEC' + Start at the first page matching PAGE-SPEC, which is one or more + (signed) integers separated by periods, corresponding to TeX's + `\count0...9' parameters at `\shipout' time; `*' matches anything. + Examples: `3', `1.*.-4'. + + +File: web2c.info, Node: dvitype invocation, Prev: dvicopy invocation, Up: DVI utilities + +9.2 DVItype: Plain text transliteration of DVI files +==================================================== + +DVItype translates a DeVice Independent (DVI) file (as output by TeX, +for example) to a plain text file that humans can read. It also serves +as a DVI-validating program, i.e., if DVItype can read a file, it's +correct. Synopsis: + + dvitype [OPTION]... DVIFILE[.dvi] + +DVItype does not read any bitmap files, but it does read TFM files for +fonts referenced in DVIFILE. The usual places are searched (*note +Supported file formats: (kpathsea)Supported file formats.). To see all +the relevant paths, set the environment variable `KPATHSEA_DEBUG' to +`-1' before running the program. + + Output goes to standard output. + + The program accepts the following options, as well as the standard +`-help' and `-version' (*note Common options::): +`-dpi=REAL' + Do pixel movement calculations at REAL pixels per inch; default + 300.0. + +`-magnification=INTEGER' + Override existing magnification in INDVI with INTEGER; 1000 + specifies no magnification. This is equivalent to setting TeX's + `\mag' parameter. + +`-max-pages=N' + Process N pages; default is one million. + +`-output-level=N' + Verbosity level of output, from 0 to 4 (default 4): + * 0: Global document information only. + + * 1: Most DVI commands included, and typeset characters + summarized. + + * 2: Character and movement commands explicitly included. + + * 3: DVI stack and current position calculations included. + + * 4: Same information as level 3, but DVItype does random + positioning in the file, reading the DVI postamble first. + +`-page-start=PAGE-SPEC' + Start at the first page matching PAGE-SPEC, which is one or more + (signed) integers separated by periods, corresponding to TeX's + `\count0...9' parameters at `\shipout' time; `*' matches anything. + Examples: `1', `5.*.-9'. + +`-show-opcodes' + Show numeric opcode values (in decimal) for DVI commands, in braces + after the command name. This can help in debugging DVI utilities. + We use decimal because in the DVI format documentation (in + `dvitype.web', among others) the opcodes are shown in decimal. + +* Menu: + +* dvitype output example:: + + +File: web2c.info, Node: dvitype output example, Up: dvitype invocation + +9.2.1 DVItype output example +---------------------------- + +As an example of the output from DVItype (see section above), here is +its (abridged) translation of the `story.dvi' resulting from running +the example in `The TeXbook', with `-output-level=4' and +`-show-opcodes' on. + + ... + Options selected: + Starting page = * + Maximum number of pages = 1000000 + Output level = 4 (the works) + Resolution = 300.00000000 pixels per inch + numerator/denominator=25400000/473628672 + magnification=1000; 0.00006334 pixels per DVI unit + ' TeX output 1992.05.17:0844' + Postamble starts at byte 564. + maxv=43725786, maxh=30785863, maxstackdepth=3, totalpages=1 + Font 33: cmsl10---loaded at size 655360 DVI units + Font 23: cmbx10---loaded at size 655360 DVI units + Font 0: cmr10---loaded at size 655360 DVI units + + 42: beginning of page 1 + 87: push {141} + level 0:(h=0,v=0,w=0,x=0,y=0,z=0,hh=0,vv=0) + 88: down3 -917504 {159} v:=0-917504=-917504, vv:=-58 + 92: pop {142} + ... + 104: putrule {137} height 26214, width 30785863 (2x1950 pixels) + 113: down3 5185936 {159} v:=655360+5185936=5841296, vv:=370 + 117: push {141} + level 1:(h=0,v=5841296,w=0,x=0,y=0,z=0,hh=0,vv=370) + 118: right4 12265425 {146} h:=0+12265425=12265425, hh:=777 + [ ] + 123: fntdef1 23 {243}: cmbx10 + 145: fntnum23 {194} current font is cmbx10 + 146: setchar65 h:=12265425+569796=12835221, hh:=813 + 147: w3 251220 {150} h:=12835221+251220=13086441, hh:=829 + 151: setchar83 h:=13086441+418700=13505141, hh:=856 + ... + 164: setchar82 h:=17448202+565245=18013447, hh:=1142 + 165: x0 -62805 {152} h:=18013447-62805=17950642, hh:=1138 + 166: setchar89 h:=17950642+569796=18520438, hh:=1174 + [A SHORT STORY] + 167: pop {142} + level 1:(h=0,v=5841296,w=0,x=0,y=0,z=0,hh=0,vv=370) + ... + 550: pop {142} + level 0:(h=0,v=42152922,w=0,x=0,y=0,z=0,hh=0,vv=2670) + 551: down3 1572864 {159} v:=42152922+1572864=43725786, vv:=2770 + 555: push {141} + level 0:(h=0,v=43725786,w=0,x=0,y=0,z=0,hh=0,vv=2770) + 556: right4 15229091 {146} h:=0+15229091=15229091, hh:=965 + 561: setchar49 h:=15229091+327681=15556772, hh:=986 + [ 1] + 562: pop {142} + level 0:(h=0,v=43725786,w=0,x=0,y=0,z=0,hh=0,vv=2770) + 563: eop {140} + + Explanation: + + * The DVItype options are recorded at the beginning, followed by + global information about the document, including fonts used. + + * Each DVI command is preceded by its byte position in the file + (`42:', `87:', ...), and (because of the `-show-opcodes') followed + by its decimal opcode value in braces (`{141}', `{142}', ...). + + * The `level' lines record information about the DVI stack; `h' and + `v' define the current position in DVI units, while `hh' and `vv' + are the same in pixels. + + * Text sequences are summarized in brackets, as in `[A SHORT STORY]' + and the `[ 1]'. + + +File: web2c.info, Node: Font utilities, Next: Legalisms, Prev: DVI utilities, Up: Top + +10 Font utilities +***************** + +The Web2c programs described here convert between various TeX-related +font formats; the first section below briefly describes the formats. +GFtoPK is the only one that is routinely used, as Metafont outputs GF +format, but it's most efficient for device drivers to use PK. + + The precise definitions of the PK, GF, TFM, PL, VF, and VPL formats +mentioned below are in the source files that read them; `pktype.web', +`gftype.web', `tftopl.web', etc. + +* Menu: + +* Font file formats:: Explanations of GF, PK, TFM, VF, ... +* gftopk invocation:: GF -> PK (compact) +* pktogf invocation:: PK -> GF (expand). +* pktype invocation:: PK -> human-readable text. +* gftype invocation:: GF -> human-readable text. +* tftopl invocation:: TFM -> PL (for editing TFM). +* pltotf invocation:: PL -> TFM (make editing results usable). +* vftovp invocation:: VF -> VPL (tftopl for virtual fonts). +* vptovf invocation:: VPL -> VF (pltotf for virtual fonts). +* Font utilities available elsewhere:: Type 1, BDF, editors, etc. + + +File: web2c.info, Node: Font file formats, Next: gftopk invocation, Up: Font utilities + +10.1 Font file formats +====================== + +(For another perspective on this, *note Font concepts: (dvips)Font +concepts.). + + Font files come in several varieties, with suffixes like: + .tfm .*pk .*gf .*pxl (obsolete) .pl .mf .vf .vpl + Each represents a file format. + + A TFM (TeX font metric) file is a compact binary file that contains +information about each character in a font, about combinations of +characters within that font, and about the font as a whole. The font +metric information contained in TFM files is device-independent units is +used by TeX to do typesetting. Unlike the bitmap (raster) fonts +described below, TFM font files contain no information about the shapes +of characters. They describe rectangular areas and combinations +thereof, but not what will eventually be printed in those areas. + + Since TeX does scaling calculations, one TFM file serves for all +magnifications of a given typeface. On the other hand, the best printed +results are obtained when magnified (or reduced fonts) are not produced +geometrically (as done by PostScript, for example) but rather optically, +with each size a separate design (as done with Computer Modern and the +EC fonts, for example); then a separate TFM file is needed for each +size. + + At any rate, TeX produces a DVI (DeVice Independent) file from your +source document. In order to print DVI files on real devices, you need +font files defining digitized character shapes and other data. Then +previewers and printer-driver programs can translate your DVI files into +something usable by your monitor or printer. Bitmap fonts come with +suffixes such as `.600pk' or `.600gf' or `.3000pxl', where the `600' is +the horizontal dots-per-inch resolution at which the font was produced, +and the `pk' or `gf' or `pxl' indicates the font format. Outline fonts +in PostScript Type 1 format have suffixes such as `.pfa' or `.pfb'. + + Fonts in pk (packed) format are in the tightly packed raster format +that is pretty much the standard today. They take up less space than +fonts in the gf (generic font) format that Metafont generates, and far +less space than fonts in pxl format. Fonts in pxl format take up gross +amounts of disk space and permit only 128 characters. They are +obsolete. + + Font files with the `.pl' (property list) suffix are the plain text +(human-readable) analog of the binary `.tfm' files. The TFtoPL and +PLtoTF programs convert between the two formats (*note tftopl +invocation:: and *note pltotf invocation::). + + Font files with the `.mf' suffix are in Metafont source format. +These are the files used by Metafont to generate rastered fonts for +specific typefaces at specific magnifications for the specific +resolution and type of mapping used by your device. + + The suffix `.vf' identifies "virtual font" files, for which `.vpl' +is the human-readable analog. See *Note vftovp invocation::, and *note +vptovf invocation::. For further discussion of virtual fonts, see +`CTAN:/doc/virtual-fonts.knuth', `CTAN:/help/virtualfonts.txt', and +*note Virtual fonts: (dvips)Virtual fonts. + + (This section is based on documentation in the original Unix TeX +distribution by Pierre MacKay and Elizabeth Tachikawa.) + + +File: web2c.info, Node: gftopk invocation, Next: pktogf invocation, Prev: Font file formats, Up: Font utilities + +10.2 GFtoPK: Generic to packed font conversion +============================================== + +GFtoPK converts a generic font (GF) file output by, for example, +Metafont (*note mf invocation::) to a packed font (PK) file. PK files +are considerably smaller than the corresponding gf files, so they are +generally the bitmap font format of choice. Some DVI-processing +programs, notably Dvips, only support PK files and not GF files. +Synopsis: + + gftopk [OPTION]... GFNAME.DPI[gf] [PKFILE] + +The font GFNAME is searched for in the usual places (*note Glyph +lookup: (kpathsea)Glyph lookup.). To see all the relevant paths, set +the environment variable `KPATHSEA_DEBUG' to `-1' before running the +program. + + The suffix `gf' is supplied if not already present. This suffix is +not an extension; no `.' precedes it: for instance, `cmr10.600gf'. + + If PKFILE is not specified, the output is written to the basename of +`GFNAME.DPIpk', e.g., `gftopk /wherever/cmr10.600gf' creates +`./cmr10.600pk'. + + The only options are `--verbose', `--help', and `--version' (*note +Common options::). + + +File: web2c.info, Node: pktogf invocation, Next: pktype invocation, Prev: gftopk invocation, Up: Font utilities + +10.3 PKtoGF: Packed to generic font conversion +============================================== + +PKtoGF converts a packed font (PK) file to a generic font (GF) file. +Since PK format is much more compact than GF format, the most likely +reason to do this is to run GFtype (*note gftype invocation::) on the +result, so you can see the bitmap images. Also, a few old utility +programs do not support PK format. Synopsis: + + pktogf [OPTION]... PKNAME.DPI[pk] [GFFILE] + +The font PKNAME is searched for in the usual places (*note Glyph +lookup: (kpathsea)Glyph lookup.). To see all the relevant paths, set +the environment variable `KPATHSEA_DEBUG' to `-1' before running the +program. + + The suffix `pk' is supplied if not already present. This suffix is +not an extension; no `.' precedes it: for instance, `cmr10.600pk'. + + If GFFILE is not specified, the output is written to the basename of +`PKNAME.DPIgf', e.g., `pktogf /wherever/cmr10.600pk' creates +`./cmr10.600gf'. + + The only options are `--verbose', `--help', and `--version' (*note +Common options::). + + +File: web2c.info, Node: pktype invocation, Next: gftype invocation, Prev: pktogf invocation, Up: Font utilities + +10.4 PKtype: Plain text transliteration of packed fonts +======================================================= + +PKtype translates a packed font (PK) bitmap file (as output by GFtoPK, +for example) to a plain text file that humans can read. It also serves +as a PK-validating program, i.e., if PKtype can read a file, it's +correct. Synopsis: + + pktype PKNAME.DPI[pk] + + The font PKNAME is searched for in the usual places (*note Glyph +lookup: (kpathsea)Glyph lookup.). To see all the relevant paths, set +the environment variable `KPATHSEA_DEBUG' to `-1' before running the +program. + + The suffix `pk' is supplied if not already present. This suffix is +not an extension; no `.' precedes it: for instance, `cmr10.600pk'. + + The translation is written to standard output. + + The only options are `-help' and `-version' (*note Common options::). + + As an example of the output, here is the (abridged) translation of +the letter `K' in `cmr10', as rendered at 600dpi with the mode `ljfour' +from `modes.mf' (available from `ftp://ftp.tug.org/tex/modes.mf'). + + 955: Flag byte = 184 Character = 75 Packet length = 174 + Dynamic packing variable = 11 + TFM width = 815562 dx = 4259840 + Height = 57 Width = 57 X-offset = -3 Y-offset = 56 + [2]23(16)17(8)9(25)11(13)7(27)7(16)7(28)4(18)7(28)2(20)7(27)... + ... + (14)9(24)12(5)[2]23(13)21 + +Explanation: + +`955' + The byte position in the file where this character starts. + +`Flag byte' +`Dynamic packing variable' + Related to the packing for this character; see the source code. + +`Character' + The character code, in decimal. + +`Packet length' + The total length of this character definition, in bytes. + +`TFM width' + The device-independent (TFM) width of this character. It is 2^24 + times the ratio of the true width to the font's design size. + +`dx' + The device-dependent width, in "scaled pixels", i.e., units of + horizontal pixels times 2^16. + +`Height' +`Width' + The bitmap height and width, in pixels. + +`X-offset' +`Y-offset' + Horizontal and vertical offset from the upper left pixel to the + reference (origin) pixel for this character, in pixels (right and + down are positive). The "reference pixel" is the pixel that + occupies the unit square in Metafont; the Metafont reference point + is the lower left hand corner of this pixel. Put another way, the + x-offset is the negative of the left side bearing; the right side + bearing is the horizontal escapement minus the bitmap width plus + the x-offset. + +`[2]23(16)...' + Finally, run lengths of black pixels alternate with parenthesized + run lengths of white pixels, and brackets indicate a repeated row. + + +File: web2c.info, Node: gftype invocation, Next: tftopl invocation, Prev: pktype invocation, Up: Font utilities + +10.5 GFtype: Plain text transliteration of generic fonts +======================================================== + +GFtype translates a generic font (GF) bitmap file (as output by +Metafont, for example) to a plain text file that humans can read. It +also serves as a GF-validating program, i.e., if GFtype can read a file, +it's correct. Synopsis: + + gftype [OPTION]... GFNAME.DPI[gf] + + The font GFNAME is searched for in the usual places (*note Glyph +lookup: (kpathsea)Glyph lookup.). To see all the relevant paths, set +the environment variable `KPATHSEA_DEBUG' to `-1' before running the +program. + + The suffix `gf' is supplied if not already present. This suffix is +not an extension; no `.' precedes it: for instance, `cmr10.600gf'. + + The translation is written to standard output. + + The program accepts the following options, as well as the standard +`-help' and `-version' (*note Common options::): +`-images' + Show the characters' bitmaps using asterisks and spaces. + +`-mnemonics' + Translate all commands in the GF file. + + As an example of the output, here is the (abrdiged) translation of +the letter `K' in `cmr10', as rendered at 600dpi with the mode `ljfour' +from `modes.mf' (available from `ftp://ftp.tug.org/tex/modes.mf'), with +both `-mnemonics' and `-images' enabled. + + GFtype outputs the information about a character in two places: a +main definition and a one-line summary at the end. We show both. Here +is the main definition: + + 2033: beginning of char 75: 3<=m<=60 0<=n<=56 + (initially n=56) paint (0)24(12)20 + 2043: newrow 0 (n=55) paint 24(12)20 + 2047: newrow 0 (n=54) paint 24(12)20 + 2051: newrow 0 (n=53) paint 24(12)20 + 2055: newrow 7 (n=52) paint 10(21)13 + 2059: newrow 8 (n=51) paint 8(23)9 + ... + 2249: newrow 8 (n=5) paint 8(23)11 + 2253: newrow 7 (n=4) paint 10(22)12 + 2257: newrow 0 (n=3) paint 24(11)22 + 2261: newrow 0 (n=2) paint 24(11)22 + 2265: newrow 0 (n=1) paint 24(11)22 + 2269: newrow 0 (n=0) paint 24(11)22 + 2273: eoc + .<--This pixel's lower left corner is at (3,57) in METAFONT coordinates + ************************ ******************** + ************************ ******************** + ************************ ******************** + ************************ ******************** + ********** ************* + ******** ********* + ... + ******** *********** + ********** ************ + ************************ ********************** + ************************ ********************** + ************************ ********************** + ************************ ********************** + .<--This pixel's upper left corner is at (3,0) in METAFONT coordinates + +Explanation: + +`2033' +`2043' +`...' + The byte position in the file where each GF command starts. + +`beginning of char 75' + The character code, in decimal. + +`3<=m<=60 0<=n<=56' + The character's bitmap lies between 3 and 60 (inclusive) + horizontally, and between 0 and 56 (inclusive) vertically. (m is a + column position and n is a row position.) Thus, 3 is the left side + bearing. The right side bearing is the horizontal escapement + (given below) minus the maximum m. + +`(initially n=56) paint (0)24(12)20' + The first row of pixels: 0 white pixels, 24 black pixels, 12 white + pixels, etc. + +`newrow 0 (n=55) paint 24(12)20' + The second row of pixels, with zero leading white pixels on the + row. + +`eoc' + The end of the main character definition. + + + Here is the GF postamble information that GFtype outputs at the end: + + Character 75: dx 4259840 (65), width 815562 (64.57289), loc 2033 + + Explanation: + +`dx' + The device-dependent width, in "scaled pixels", i.e., units of + horizontal pixels times 2^16. The `(65)' is simply the same number + rounded. If the vertical escapement is nonzero, it would appear + here as a `dy' value. + +`width' + The device-independent (TFM) width of this character. It is 2^24 + times the ratio of the true width to the font's design size. The + `64.57289' is the same number converted to pixels. + +`loc' + The byte position in the file where this character starts. + + + +File: web2c.info, Node: tftopl invocation, Next: pltotf invocation, Prev: gftype invocation, Up: Font utilities + +10.6 TFtoPL: TeX font metric to property list conversion +======================================================== + +TFtoPL translates a TeX font metric (TFM, *note Metric files: +(dvips)Metric files.) file (as output by Metafont, for example) to +"property list format" (a list of parenthesized items describing the +font) that humans can edit or read. This program is mostly used by +people debugging TeX implementations, writing font utilities, etc. +Synopsis: + + tftopl [OPTION]... TFMNAME[.tfm] [PLFILE[.pl]] + + The font TFMNAME (extended with `.tfm' if necessary) is searched for +in the usual places (*note Supported file formats: (kpathsea)Supported +file formats.). To see all the relevant paths, set the environment +variable `KPATHSEA_DEBUG' to `-1' before running the program. + + If PLFILE (which is extended with `.pl' if necessary) is not +specified, the property list file is written to standard output. The +property list file can be converted back to TFM format by the companion +program TFtoPL (see the next section). + + The program accepts the following option, as well as the standard +`-verbose', `-help' and `-version' (*note Common options::): +`-charcode-format=TYPE' + Output character codes in the PL file according to TYPE: either + `octal' or `ascii'. Default is `ascii' for letters and digits, + octal for all other characters. Exception: if the font's coding + scheme starts with `TeX math sy' or `TeX math ex', all character + codes are output in octal. + + In `ascii' format, character codes that correspond to graphic + characters, except for left and right parentheses, are output as a + `C' followed by the single character: `C K', for example. In + octal format, character codes are output as the letter `O' followed + by octal digits, as in `O 113' for `K'. + + `octal' format is useful for symbol and other non-alphabetic fonts, + where using ASCII characters for the character codes is merely + confusing. + + As an example of the output, here is the (abridged) property list +translation of `cmr10.tfm': + + (FAMILY CMR) + (FACE O 352) + (CODINGSCHEME TEX TEXT) + (DESIGNSIZE R 10.0) + (COMMENT DESIGNSIZE IS IN POINTS) + (COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE) + (CHECKSUM O 11374260171) + (FONTDIMEN + (SLANT R 0.0) + (SPACE R 0.333334) + (STRETCH R 0.166667) + (SHRINK R 0.111112) + (XHEIGHT R 0.430555) + (QUAD R 1.000003) + (EXTRASPACE R 0.111112) + ) + (LIGTABLE + ... + (LABEL C f) + (LIG C i O 14) + (LIG C f O 13) + (LIG C l O 15) + (KRN O 47 R 0.077779) + (KRN O 77 R 0.077779) + (KRN O 41 R 0.077779) + (KRN O 51 R 0.077779) + (KRN O 135 R 0.077779) + (STOP) + ... + ) + ... + (CHARACTER C f + (CHARWD R 0.305557) + (CHARHT R 0.694445) + (CHARIC R 0.077779) + (COMMENT + (LIG C i O 14) + (LIG C f O 13) + (LIG C l O 15) + (KRN O 47 R 0.077779) + (KRN O 77 R 0.077779) + ... + ) + ) + ... + + As you can see, the general format is a list of parenthesized +"properties", nested where necessary. + + * The first few items (`FAMILY', `FACE', and so on) are the + so-called "headerbyte" information from Metafont, giving general + information about the font. + + * The `FONTDIMEN' property defines the TeX `\fontdimen' values. + + * The `LIGTABLE' property defines the ligature and kerning table. + `LIG' properties define ligatures: in the example above, an `f' + (in the `LABEL') followed by an `i' is a ligature, i.e., a + typesetting program like TeX replaces those two consecutive + characters by the character at position octal '014 in the current + font--presumably the `fi' ligature. `KRN' properties define + kerns: if an `f' is followed by character octal '047 (an + apostrophe), TeX inserts a small amount of space between them: + 0.077779 times the design size the font was loaded at (about + three-quarters of a printer's point by default in this case, or + .001 inches). + + * The `CHARACTER' property defines the dimensions of a character: its + width, height, depth, and italic correction, also in design-size + units, as explained in the previous item. For our example `f', + the depth is zero, so that property is omitted. TFtoPL also + inserts any kerns and ligatures for this character as a comment. + + + +File: web2c.info, Node: pltotf invocation, Next: vftovp invocation, Prev: tftopl invocation, Up: Font utilities + +10.7 PLtoTF: Property list to TeX font metric conversion +======================================================== + +PLtoTF translates a property list file (as output by TFtoPL, for +example) to TeX font metric (TFM, *note Metric files: (dvips)Metric +files.) format. It's much easier for both programs and humans to +create the (plain text) property list files and let PLtoTF take care of +creating the binary TFM equivalent than to output TFM files directly. +Synopsis: + + pltotf [OPTION]... PLFILE[.pl] [TFMFILE[.tfm]] + + If TFMFILE (extended with `.tfm' if necessary) is not specified, the +TFM file is written to the basename of `PLFILE.tfm', e.g., `pltotf +/wherever/cmr10.pl' creates `./cmr10.tfm'. (Since TFM files are +binary, writing to standard output by default is undesirable.) + + The only options are `-verbose', `-help', and `-version' (*note +Common options::). + + For an example of property list format, see the previous section. + + +File: web2c.info, Node: vftovp invocation, Next: vptovf invocation, Prev: pltotf invocation, Up: Font utilities + +10.8 VFtoVP: Virtual font to virtual property lists +=================================================== + +VFtoVP translates a virtual font metric (VF, *note Virtual fonts: +(dvips)Virtual fonts.) file and its accompanying TeX font metric (TFM, +*note Metric files: (dvips)Metric files.) file (as output by VPtoVF, for +example) to "virtual property list format" (a list of parenthesized +items describing the virtual font) that humans can edit or read. This +program is mostly used by people debugging virtual font utilities. +Synopsis: + + vftovp [OPTION]... VFNAME[.vf] [TFMNAME[.tfm] [VPLFILE[.vpl]]] + + The fonts VFNAME and TFMNAME (extended with `.vf' and `.tfm' if +necessary) are searched for in the usual places (*note Supported file +formats: (kpathsea)Supported file formats.). To see all the relevant +paths, set the environment variable `KPATHSEA_DEBUG' to `-1' before +running the program. If TFMNAME is not specified, VFNAME (without a +trailing `.vf') is used. + + If VPLFILE (extended with `.vpl' if necessary) is not specified, the +property list file is written to standard output. The property list +file can be converted back to VF and TFM format by the companion +program VFtoVP (see the next section). + + The program accepts the following option, as well as the standard +`-verbose', `-help' and `-version' (*note Common options::): +`-charcode-format=TYPE' + Output character codes in the PL file according to TYPE: either + `octal' or `ascii'. Default is `ascii' for letters and digits, + octal for all other characters. Exception: if the font's coding + scheme starts with `TeX math sy' or `TeX math ex', all character + codes are output in octal. + + In `ascii' format, character codes that correspond to graphic + characters, except for left and right parentheses, are output as a + `C' followed by the single character: `C K', for example. In + octal format, character codes are output as the letter `O' followed + by octal digits, as in `O 113' for `K'. + + `octal' format is useful for symbol and other non-alphabetic fonts, + where using ASCII characters for the character codes is merely + confusing. + + +File: web2c.info, Node: vptovf invocation, Next: Font utilities available elsewhere, Prev: vftovp invocation, Up: Font utilities + +10.9 VPtoVF: Virtual property lists to virtual font +=================================================== + +VPtoVF translates a virtual property list file (as output by VFtoVP, for +example) to virtual font (VF, *note Virtual fonts: (dvips)Virtual +fonts.) and TeX font metric (TFM, *note Metric files: (dvips)Metric +files.) files. It's much easier for both programs and humans to create +the (plain text) property list files and let VPtoVF take care of +creating the binary VF and TFM equivalents than to output them +directly. Synopsis: + + vptovf [OPTION]... VPLFILE[.vpl] [VFFILE[.vf] [TFMFILE[.tfm]]] + + If VFFILE (extended with `.vf' if necessary) is not specified, the +VF output is written to the basename of `VPLFILE.vf'; similarly for +TFMFILE. For example, `vptovf /wherever/ptmr.vpl' creates `./ptmr.vf' +and `./ptmr.tfm'. + + The only options are `-verbose', `-help', and `-version' (*note +Common options::). + + +File: web2c.info, Node: Font utilities available elsewhere, Prev: vptovf invocation, Up: Font utilities + +10.10 Font utilities available elsewhere +======================================== + +The Web2c complement of font utilities merely implements a few basic +conversions. Many other more sophisticated font utilities exist; most +are in `CTAN:/fonts/utilities' (for CTAN info, *note unixtex.ftp: +(kpathsea)unixtex.ftp.). Here are some of the most commonly-requested +items: + + * AFM (Adobe font metric) to TFM conversion: *note Invoking afm2tfm: + (dvips)Invoking afm2tfm, and `CTAN:/fonts/utilities/afmtopl'. + + * BDF (the X bitmap format) conversion: + `ftp://ftp.tug.org/tex/bdf.tar.gz'. + + * Creating fonts using MetaPost: MetaType1. + `ftp://bop.eps.gda.pl/pub/metatype1'. This is used to create the + excellent Latin Modern font family (`CTAN:/fonts/lm'), which + extends Computer Modern to a vast repertoire of scripts. + + * Editing of bitmap fonts: Xbfe from the GNU font utilities mentioned + below; the X BDF-editing programs available from + `ftp://ftp.x.org/R5contrib/xfed.tar.Z' and + `ftp://ftp.x.org/R5contrib/xfedor.tar.Z'; and finally, if your + fonts have only 128 characters, you can use the old `gftopxl', + `pxtoch', and `chtopx' programs from `ftp://ftp.tug.org/tex/web'. + + * Editing of outline fonts: FontForge, `fontforge.sourceforge.net'. + This is a very elaborate program with support for many outline + formats (Type 1, OpenType, TrueType, ...), and many advanced font + editing features. + + * PK bitmaps from PostScript outline fonts: gsftopk from the `xdvi' + distribution. Alternatively, `ps2pk', from + `CTAN:/fonts/utilities/ps2pk'. + + * PostScript Type 1 font format conversion (i.e., between PFA and PFB + formats): `http://www.lcdf.org/type'. + + * Scanned image conversion: the (aging) GNU font utilities convert + type specimen images to Metafont, PostScript, etc.: + `http://www.gnu.org/software/fontutils/'. + + * Tracing bitmaps to fitted outlines: Autotrace + (`http://autotrace.sourceforge.net'), Potrace + (`http://potrace.sourceforge.net'). For Metafont fonts, either of + the two programs `mftrace' + (`http://www.xs4all.nl/~hanwen/mftrace') or `textrace' + (`http://textrace.sourceforge.net') make the job easier. + + * Virtual font creation: `CTAN:/fonts/utilities/fontinst'. + + +File: web2c.info, Node: Legalisms, Next: References, Prev: Font utilities, Up: Top + +Appendix A Legalisms +******************** + +In general, each file has its own copyright notice stating the copying +permissions for that file. Following is a summary. + + The Web2c system itself and most of the original WEB source files are +public domain. + + `tex.web', the MLTeX code, `mf.web', and `bibtex.web', are +copyrighted by their authors. They may be copied verbatim, but may be +modified only through a `.ch' file. + + MetaPost-related files, including `mp.web' itself, are copyrighted +under X-like terms; the precise notice is included below. + + Finally, the Kpathsea library is covered by the GNU Lesser General +Public License (*note Introduction: (kpathsea)Introduction.). +Therefore, the _binaries_ resulting from a standard Web2c compilation +are also covered by the LGPL; so if you (re)distribute the binaries, +you must also (offer to) distribute the complete source that went into +those binaries. See the file `LGPL' for complete details on the LGPL. + + The following notice must be included by the terms of the MetaPost +copyright. + + Permission to use, copy, modify, and distribute this software and + its documentation for any purpose and without fee is hereby + granted, provided that the above copyright notice appear in all + copies and that both that the copyright notice and this permission + notice and warranty disclaimer appear in supporting documentation, + and that the names of AT&T Bell Laboratories or any of its + entities not be used in advertising or publicity pertaining to + distribution of the software without specific, written prior + permission. + + AT&T disclaims all warranties with regard to this software, + including all implied warranties of merchantability and fitness. + In no event shall AT&T be liable for any special, indirect or + consequential damages or any damages whatsoever resulting from + loss of use, data or profits, whether in an action of contract, + negligence or other tortious action, arising out of or in + connection with the use or performance of this software. + + +File: web2c.info, Node: References, Next: Index, Prev: Legalisms, Up: Top + +Appendix B References +********************* + + 1. Kpathsea: *Note Introduction: (kpathsea)Top. + + 2. Dvips and Afm2tfm: *Note Introduction: (dvips)Top. + + 3. The TeX Users Group: `http://www.tug.org'. For an introduction to + the TeX system, see `http://tug.org/begin.html'. + + 4. TUGboat: `http://tug.org/TUGboat'. + + 5. TeX and computer typesetting in general: + `ftp://ftp.math.utah.edu/pub/tex/bib/texbook1.bib'. + + 6. For a bibliography of formal articles and technical reports on the + TeX project, see the books `TeX: The Program' or `Metafont: The + Program' cited below. + + 7. [Bil87] Neenie Billawala. Write-white printing engines and tuning + fonts with Metafont. `TUGboat', 8(1):29-32, April 1987. + `http://tug.org/TUGboat/tb08-1/tb17billawala.pdf'. + + 8. [GMS94] Michel Goossens, Frank Mittelbach, and Alexander Samarin. + `The LaTeX Companion'. Addison-Wesley, Reading, MA, USA, 1994. + + 9. [Hob89] John D. Hobby. A Metafont-like system with PS output. + `TUGboat', 10(4):505-512, December 1989. + `http://tug.org/metapost'. + + 10. [Hob92] John D. Hobby. A User's Manual for MetaPost. Technical + Report CSTR-162, AT&T Bell Laboratories, 1992. + + 11. [Hob93] John D. Hobby. Drawing Graphs with MetaPost. Technical + Report CSTR-164, AT&T Bell Laboratories, 1993. + + 12. [HS91] Samuel P. Harbison and Guy L. Steele Jr. `C--A Reference + Manual'. Prentice-Hall, Upper Saddle River, NJ 07458, USA, third + edition, 1991. An authoritative reference to the C programming + language, and a good companion to Kernighan and Ritchie. + + 13. [KL93] Donald E. Knuth and Silvio Levy. `The CWEB System of + Structured Documentation, Version 3.0'. Addison-Wesley, Reading, + MA, USA, 1993. + + 14. [Knu84] Donald E. Knuth. A torture test for TeX. Report No. + STAN-CS-84-1027, Stanford University, Department of Computer + Science, 1984. + + 15. [Knu86a] Donald E. Knuth. A Torture Test for METAFONT. Report + No. STAN-CS-86-1095, Stanford University, Department of Computer + Science, 1986. + + 16. [Knu86b] Donald E. Knuth. `The TeXbook', volume A of `Computers + and Typesetting'. Addison-Wesley, Reading, MA, USA, 1986. + + 17. [Knu86c] Donald E. Knuth. `TeX: The Program', volume B of + `Computers and Typesetting'. Addison-Wesley, Reading, MA, USA, + 1986. + + 18. [Knu86d] Donald E. Knuth. `The METAFONTbook', volume C of + `Computers and Typesetting'. Addison-Wesley, Reading, MA, USA, + 1986. + + 19. [Knu86e] Donald E. Knuth. `METAFONT: The Program', volume D of + `Computers and Typesetting'. Addison-Wesley, Reading, MA, USA, + 1986. + + 20. [Knu86f] Donald E. Knuth. `Computer Modern Typefaces', volume E + of `Computers and Typesetting'. Addison-Wesley, Reading, MA, + USA, 1986. + + 21. [Knu89] Donald E. Knuth. The errors of TeX. `Software--Practice + and Experience', 19(7):607-681, July 1989. This is an updated + version of Knuth:1988:ET. + + 22. [Knu90] Donald Knuth. Virtual Fonts: More Fun for Grand Wizards. + `TUGboat', 11(1):13-23, April 1990. + `http://tug.org/TUGboat/tb11-1/tb27knut.pdf'. + + 23. [Knu92] Donald E. Knuth. `Literate Programming'. CSLI Lecture + Notes Number 27. Stanford University Center for the Study of + Language and Information, Stanford, CA, USA, 1992. + + 24. [Lam94] Leslie Lamport. `LaTeX: A Document Preparation System: + User's Guide and Reference Manual'. Addison-Wesley, Reading, + MA, USA, second edition, 1994. Reprinted with corrections in 1996. + + 25. [Lia83] Franklin Mark Liang. Word hy-phen-a-tion by com-pu-ter. + Technical Report STAN-CS-83-977, Stanford University, August 1983. + `http://tug.org/docs/liang/liang-thesis.pdf'. + + 26. [Mac91] Pierre A. MacKay. Looking at the pixels: Quality control + for 300 dpi laser printer fonts, especially Metafonts. In + Robert A. Morris and Jacques Andre, editors, `Raster Imaging and + Digital Typography II--Papers from the second RIDT meeting, held in + Boston, Oct. 14-16, 1991', pages 205-215, New York, 1991. + Cambridge University Press. + + 27. [Spi89] Michael D. Spivak. `LAMSTeX, The Synthesis'. The + TeXplorators Corporation, 3701 W. Alabama, Suite 450-273, Houston, + TX 77027, USA, 1989. + + 28. [Spi90] Michael D. Spivak. `The Joy of TeX--A Gourmet Guide to + Typesetting with the AMSTeX macro package'. American + Mathematical Society, Providence, RI, USA, 2nd revised edition, + 1990. + + + +File: web2c.info, Node: Index, Prev: References, Up: Top + +Index +***** + + +* Menu: + +* #define options: Compile-time options. + (line 6) +* $ expansion in filenames: \input filenames. (line 48) +* %& magic number: Determining the memory dump to use. + (line 19) +* - starting a filename: Option conventions. (line 19) +* - starts option names: Option conventions. (line 11) +* -- starts option names: Option conventions. (line 11) +* --disable-dump-share configure option: Hardware and memory dumps. + (line 6) +* --disable-mf-nowin: Online Metafont graphics. + (line 65) +* --enable-epsfwin: Online Metafont graphics. + (line 20) +* --enable-hp2627win: Online Metafont graphics. + (line 28) +* --enable-ipc configure option: tex invocation. (line 95) +* --enable-mftalkwin: Online Metafont graphics. + (line 31) +* --enable-next: Online Metafont graphics. + (line 35) +* --enable-regiswin: Online Metafont graphics. + (line 40) +* --enable-suntoolswin: Online Metafont graphics. + (line 43) +* --enable-tektronixwin: Online Metafont graphics. + (line 48) +* --enable-unitermwin: Online Metafont graphics. + (line 51) +* --help common option: Common options. (line 11) +* --verbose common option: Common options. (line 15) +* --version common option: Common options. (line 18) +* --with-editor=CMD: Editor invocation. (line 10) +* --with-mf-x-toolkit=KIT: Online Metafont graphics. + (line 59) +* --with-x: Online Metafont graphics. + (line 57) +* -8bit: Common options. (line 105) +* -base=BASE: Determining the memory dump to use. + (line 15) +* -base=DUMPNAME: Common options. (line 34) +* -change=CHFILE: mft invocation. (line 64) +* -charcode-format=TYPE <1>: vftovp invocation. (line 31) +* -charcode-format=TYPE: tftopl invocation. (line 28) +* -D compiler options: Compile-time options. + (line 6) +* -disable-write18: tex invocation. (line 130) +* -dpi=REAL: dvitype invocation. (line 24) +* -enable-write18: tex invocation. (line 129) +* -enc: tex invocation. (line 89) +* -file-line-error: Common options. (line 25) +* -file-line-error-style: Common options. (line 26) +* -fmt=DUMPNAME: Common options. (line 34) +* -fmt=FMT: Determining the memory dump to use. + (line 15) +* -geometry, supported with Xt: Online Metafont graphics. + (line 69) +* -halt-on-error: Common options. (line 41) +* -images: gftype invocation. (line 26) +* -ini <1>: Initial and virgin. (line 10) +* -ini: Common options. (line 45) +* -interaction=STRING: Common options. (line 50) +* -ipc: tex invocation. (line 95) +* -ipc-start: tex invocation. (line 95) +* -jobname=STRING: Common options. (line 55) +* -kpathsea-debug=NUMBER: Common options. (line 59) +* -length=NUMBER: tangle invocation. (line 27) +* -loose: tangle invocation. (line 46) +* -lowercase: tangle invocation. (line 35) +* -magnification=INTEGER <1>: dvitype invocation. (line 28) +* -magnification=INTEGER: dvicopy invocation. (line 20) +* -max-pages=N <1>: dvitype invocation. (line 33) +* -max-pages=N: dvicopy invocation. (line 25) +* -mem=DUMPNAME: Common options. (line 34) +* -min-crossrefs=N: bibtex invocation. (line 31) +* -mixedcase: tangle invocation. (line 35) +* -mktex=FILETYPE <1>: mf invocation. (line 87) +* -mktex=FILETYPE: tex invocation. (line 105) +* -mltex: tex invocation. (line 110) +* -mnemonics: gftype invocation. (line 29) +* -no-file-line-error: Common options. (line 26) +* -no-mktex=FILETYPE <1>: mf invocation. (line 87) +* -no-mktex=FILETYPE: tex invocation. (line 105) +* -no-parse-first-line: Common options. (line 72) +* -no-shell-escape: tex invocation. (line 123) +* -output-comment=STRING: tex invocation. (line 115) +* -output-directory <1>: Output file location. + (line 15) +* -output-directory: Common options. (line 66) +* -output-level=N: dvitype invocation. (line 36) +* -overflow-label-offset=POINTS: gftodvi invocation. (line 59) +* -page-start=PAGE-SPEC <1>: dvitype invocation. (line 50) +* -page-start=PAGE-SPEC: dvicopy invocation. (line 28) +* -parse-first-line: Common options. (line 71) +* -progname=STRING <1>: Determining the memory dump to use. + (line 17) +* -progname=STRING: Common options. (line 77) +* -recorder: Common options. (line 84) +* -shell-escape: tex invocation. (line 122) +* -shell-restricted: tex invocation. (line 124) +* -show-opcodes: dvitype invocation. (line 56) +* -strict: tangle invocation. (line 46) +* -style=MFTFILE: mft invocation. (line 68) +* -T: mpost invocation. (line 118) +* -terse: bibtex invocation. (line 28) +* -tex=TEXPROGRAM: mpost invocation. (line 121) +* -translate-file=TCXFILE: Common options. (line 98) +* -troff: mpost invocation. (line 118) +* -underline: tangle invocation. (line 41) +* -uppercase: tangle invocation. (line 35) +* -x: weave invocation. (line 22) +* ., used for output: Output file location. + (line 6) +* .2602gf: mf invocation. (line 48) +* .aux cross-reference files: bibtex invocation. (line 6) +* .base: Initial Metafont. (line 6) +* .bbl bibliography files: bibtex invocation. (line 6) +* .bib bibliography databases: bibtex invocation. (line 6) +* .blg BibTeX log file: bibtex invocation. (line 14) +* .fmt: Initial TeX. (line 6) +* .mf: mf invocation. (line 24) +* .mp: mpost invocation. (line 31) +* .mps files and PDF: mpost invocation. (line 89) +* .NNN PostScript figures: mpost invocation. (line 37) +* .NNNgf generic fonts: mf invocation. (line 34) +* .tcx character translation files <1>: TCX files. (line 6) +* .tcx character translation files: Common options. (line 98) +* .tex: tex invocation. (line 20) +* .tfm output <1>: mpost invocation. (line 37) +* .tfm output: mf invocation. (line 43) +* .Xdefaults: Online Metafont graphics. + (line 69) +* .Xresources: Online Metafont graphics. + (line 69) +* 2602gf: mf invocation. (line 48) +* 8 bit clean: Common options. (line 105) +* 8 bit clean output, specifying: Common options. (line 105) +* 8-bit characters: TCX files. (line 6) +* \bibliography: bibtex invocation. (line 18) +* \bibliographystyle: bibtex invocation. (line 18) +* \charsubdef and MLTeX: \charsubdef. (line 6) +* \countN <1>: dvitype invocation. (line 50) +* \countN: dvicopy invocation. (line 28) +* \font and dynamic generation: tex invocation. (line 44) +* \fontdimen: tftopl invocation. (line 100) +* \immediate\write18: Shell escapes. (line 6) +* \input filenames: \input filenames. (line 6) +* \input, and pipes: Shell escapes. (line 63) +* \mag <1>: dvitype invocation. (line 28) +* \mag: dvicopy invocation. (line 20) +* \openin, and pipes: Shell escapes. (line 63) +* \openout and security: tex invocation. (line 51) +* \openout, and pipes: Shell escapes. (line 63) +* \output routine, and \write: Shell escapes. (line 28) +* \pdfshellescape: Shell escapes. (line 63) +* \string: \input filenames. (line 60) +* \tracingcharsubdef and MLTeX: \tracingcharsubdef. (line 6) +* \tracinglostchars and MLTeX: \tracingcharsubdef. (line 11) +* \write18 shell escape extension: Shell escapes. (line 6) +* ^^ notation, avoiding: TCX files. (line 88) +* `Computer Modern Typefaces', production of: mft invocation. (line 75) +* abbrv.bst: Basic BibTeX style files. + (line 16) +* accented character: TCX files. (line 6) +* accents, hyphenating words with: MLTeX. (line 6) +* acknowledgements: Introduction. (line 50) +* acm.bst: Basic BibTeX style files. + (line 19) +* Ada, WEB for: WEB. (line 13) +* additional Make targets: Additional targets. (line 6) +* AFM to TFM conversion: Font utilities available elsewhere. + (line 12) +* afm2tfm: Font utilities available elsewhere. + (line 12) +* afmtopl: Font utilities available elsewhere. + (line 12) +* Aleph: TeX extensions. (line 14) +* aliases for fonts: Path searching. (line 15) +* alpha.bst: Basic BibTeX style files. + (line 22) +* American Mathematical Society, typesetting system: Formats. (line 39) +* AMSTeX: Formats. (line 39) +* apalike.bst: Basic BibTeX style files. + (line 25) +* architecture dependencies: Hardware and memory dumps. + (line 6) +* array limit, fixed: Runtime options. (line 36) +* array sizes: Runtime options. (line 6) +* assembly language routines: Compile-time options. + (line 22) +* autotrace: Font utilities available elsewhere. + (line 46) +* Awk, WEB for: WEB. (line 13) +* base file, determining: Determining the memory dump to use. + (line 6) +* base files: Initial Metafont. (line 6) +* base files, need mode definitions: Modes. (line 6) +* base files, plain only: Initial Metafont. (line 28) +* base files, sharing: Hardware and memory dumps. + (line 6) +* bases Make target: Additional targets. (line 29) +* basic BibTeX style files: Basic BibTeX style files. + (line 6) +* basic fonts and macros: Installation. (line 34) +* batch languages: TeX. (line 9) +* BDF and GF conversion: Font utilities available elsewhere. + (line 15) +* beginfig: mpost invocation. (line 37) +* Berry, Karl: Introduction. (line 40) +* BIBINPUTS, search path for bib files: bibtex invocation. (line 18) +* bibliographies, creating: BibTeX. (line 6) +* bibliography: References. (line 6) +* bibliography items, cross-referenced: bibtex invocation. (line 31) +* bibtex: bibtex invocation. (line 6) +* BibTeX: BibTeX. (line 6) +* BibTeX collection: bibtex invocation. (line 54) +* BibTeX style files: Basic BibTeX style files. + (line 6) +* BigEndian machines: Hardware and memory dumps. + (line 6) +* binaries, linking: Common options. (line 77) +* blank lines, in TCX files: TCX files. (line 67) +* boxes, memory for: Runtime options. (line 20) +* breakpoints, memory for: Runtime options. (line 20) +* Breitenlohner, Peter: Introduction. (line 8) +* BSTINPUTS, search path for bst files: bibtex invocation. (line 18) +* btex for MetaPost labels: mpost invocation. (line 50) +* btxdoc.bib: bibtex invocation. (line 48) +* btxdoc.tex: bibtex invocation. (line 42) +* btxhak.tex: bibtex invocation. (line 45) +* byte position <1>: gftype invocation. (line 76) +* byte position: pktype invocation. (line 40) +* byte swapping: Hardware and memory dumps. + (line 13) +* c-sources Makefile target: Additional targets. (line 12) +* change files, and MFT: mft invocation. (line 64) +* change files, and Tangle: tangle invocation. (line 11) +* change files, and Weave: weave invocation. (line 14) +* changing error messages style: Common options. (line 26) +* character codes, in GFtype output: gftype invocation. (line 79) +* character codes, in PKtype output: pktype invocation. (line 47) +* character codes, in TCX files: TCX files. (line 78) +* character proofs of fonts: gftodvi invocation. (line 6) +* CHARACTER property: tftopl invocation. (line 114) +* character translation files: TCX files. (line 6) +* CHARDP property: tftopl invocation. (line 114) +* CHARHT property: tftopl invocation. (line 114) +* CHARIC property: tftopl invocation. (line 114) +* CHARWD property: tftopl invocation. (line 114) +* chtopx: Font utilities available elsewhere. + (line 23) +* class name for Metafont: Online Metafont graphics. + (line 69) +* cm.base: Initial Metafont. (line 28) +* cmbase.mf: Initial Metafont. (line 28) +* cmbase.mft: mft invocation. (line 75) +* cmmf.base not recommended: Initial Metafont. (line 28) +* color, in DVItoMP: dvitomp invocation. (line 15) +* comments, in TCX files: TCX files. (line 71) +* comments, MFT control: mft invocation. (line 24) +* common options: Common options. (line 6) +* commonalities: Commonalities. (line 6) +* compilation: Installation. (line 6) +* compile-time options <1>: Compile-time options. + (line 6) +* compile-time options: configure options. (line 6) +* Computer Modern fonts, and Troff: mpost invocation. (line 68) +* Computer Modern macros: Initial Metafont. (line 28) +* configuration: Installation. (line 6) +* configuration file reading: Path searching. (line 6) +* configuration file values: Runtime options. (line 6) +* configuration, compile-time: configure options. (line 6) +* configure --with/--enable options: configure options. (line 6) +* CONTENTS.tex: weave invocation. (line 22) +* control sequence names, space for: Runtime options. (line 29) +* conventions for options,: Option conventions. (line 6) +* conversion, DVI to plain text: dvitype invocation. (line 6) +* conversion, GF to PK: gftopk invocation. (line 6) +* conversion, GF to plain text: gftype invocation. (line 6) +* conversion, PK to GF: pktogf invocation. (line 6) +* conversion, PK to plain text: pktype invocation. (line 6) +* conversion, property list to TFM: pltotf invocation. (line 6) +* conversion, property list to VF: vptovf invocation. (line 6) +* conversion, TFM to property list: tftopl invocation. (line 6) +* conversion, VF to VPL: vftovp invocation. (line 6) +* copyright notices: Legalisms. (line 6) +* Cork encoding and ISO input: TCX files. (line 49) +* creating memory dumps: Creating memory dumps. + (line 6) +* cross-referenced bibliography items: bibtex invocation. (line 31) +* cross-references, omitting: weave invocation. (line 22) +* current directory, used for output: Output file location. + (line 6) +* Curtis, Pavel: Introduction. (line 40) +* CWEB: WEB. (line 13) +* Cweb: WEB. (line 13) +* date and time, in memory dumps: Hardware and memory dumps. + (line 30) +* debugging DVI utilities: dvitype invocation. (line 56) +* debugging flags, specifying: Common options. (line 59) +* decimal character codes, in TCX files: TCX files. (line 78) +* dependencies, hardware: Hardware and memory dumps. + (line 6) +* design-size units: tftopl invocation. (line 102) +* device definitions, for Metafont: Modes. (line 6) +* device-independent width <1>: gftype invocation. (line 113) +* device-independent width: pktype invocation. (line 53) +* directory structure: Installation. (line 34) +* DISPLAY: Online Metafont graphics. + (line 76) +* dot files, written by TeX programs: tex invocation. (line 51) +* downloading of fonts for MetaPost labels: mpost invocation. (line 73) +* DrawingServant: Online Metafont graphics. + (line 35) +* dump file: Common options. (line 34) +* dumping memory: Memory dumps. (line 6) +* DVI comment, specifying: tex invocation. (line 115) +* DVI files, converting to MPX: dvitomp invocation. (line 6) +* DVI files, explained: Font file formats. (line 30) +* DVI format definition: DVI utilities. (line 14) +* DVI opcodes, showing: dvitype invocation. (line 56) +* DVI utilities: DVI utilities. (line 6) +* dvicopy: dvicopy invocation. (line 6) +* dvitomp: dvitomp invocation. (line 6) +* dvitype DVI validation: dvitype invocation. (line 6) +* dvitype output example: dvitype output example. + (line 6) +* dvitype.web: DVI utilities. (line 14) +* dx horizontal escapement <1>: gftype invocation. (line 107) +* dx horizontal escapement: pktype invocation. (line 57) +* dy vertical escapement: gftype invocation. (line 107) +* dynamic array allocation: Runtime options. (line 36) +* dynamic Metafont mode definitions with smode: Modes. (line 28) +* dynamic packing variable: pktype invocation. (line 44) +* e response at error prompt: Editor invocation. (line 6) +* e-circumflex: \charsubdef. (line 21) +* e-TeX: TeX extensions. (line 10) +* e.mft: mft invocation. (line 75) +* EC fonts <1>: mf invocation. (line 24) +* EC fonts: tex invocation. (line 44) +* editing of bitmap fonts: Font utilities available elsewhere. + (line 23) +* editor invoked at error: Editor invocation. (line 6) +* eight-bit characters in filenames: \input filenames. (line 35) +* empty.tcx: TCX files. (line 49) +* endian dependencies: Hardware and memory dumps. + (line 6) +* eoc GF command: gftype invocation. (line 97) +* Eplain: Formats. (line 54) +* epsf: Online Metafont graphics. + (line 19) +* errors, editor invoked at: Editor invocation. (line 6) +* escapement, horizontal <1>: gftype invocation. (line 107) +* escapement, horizontal: pktype invocation. (line 57) +* escapement, vertical: gftype invocation. (line 107) +* etex for MetaPost labels: mpost invocation. (line 50) +* executables, shared initial and virgin: Initial and virgin. (line 6) +* exit status, of shell escape: Shell escapes. (line 34) +* expanded plain format: Formats. (line 54) +* extensions to TeX: TeX extensions. (line 6) +* extra_mem_bot: Runtime options. (line 19) +* FACE property: tftopl invocation. (line 96) +* FAMILY property: tftopl invocation. (line 96) +* Ferguson, Michael: MLTeX. (line 6) +* file formats for fonts: Font file formats. (line 6) +* file recorder: Common options. (line 84) +* filename conventions, in input files: \input filenames. (line 6) +* filenames starting with -: Option conventions. (line 19) +* first line of the main input file: Common options. (line 98) +* fixed-point arithmetic: Compile-time options. + (line 22) +* FIXPT: Compile-time options. + (line 22) +* flag byte: pktype invocation. (line 44) +* floating-point arithmetic: Compile-time options. + (line 22) +* floating-point values: Hardware and memory dumps. + (line 22) +* fmt file, determining: Determining the memory dump to use. + (line 6) +* fmt files: Initial TeX. (line 6) +* fmt files, sharing: Hardware and memory dumps. + (line 6) +* fmts Make target: Additional targets. (line 25) +* font aliases: Path searching. (line 15) +* font character code, translating: TCX files. (line 102) +* font design: Metafont. (line 6) +* font downloading for MetaPost labels: mpost invocation. (line 73) +* font file formats: Font file formats. (line 6) +* font proofs: gftodvi invocation. (line 6) +* font utilities: Font utilities. (line 6) +* font utilities, non-Web2c: Font utilities available elsewhere. + (line 6) +* font_mem_size: Runtime options. (line 24) +* fontforge: Font utilities available elsewhere. + (line 30) +* fontinst, for creating virtual fonts: Font utilities available elsewhere. + (line 53) +* fonts, basic: Installation. (line 34) +* fontutils: Font utilities available elsewhere. + (line 42) +* format files: Initial TeX. (line 15) +* formats for TeX: Formats. (line 6) +* formats Make target: Additional targets. (line 17) +* fraction routines: Compile-time options. + (line 22) +* Free Software Foundation documentation system: Formats. (line 47) +* freedom of Web2c: Introduction. (line 22) +* ftp.math.utah.edu: bibtex invocation. (line 54) +* generating source specials: tex invocation. (line 136) +* geometric designs: Metafont. (line 6) +* geometric font scaling: Font file formats. (line 22) +* geometry for Metafont: Online Metafont graphics. + (line 69) +* getopt_long_only: Option conventions. (line 6) +* GF files, explained: Font file formats. (line 40) +* GF files, output by Metafont: mf invocation. (line 34) +* GF format definition: Font utilities. (line 11) +* GF output: mf invocation. (line 34) +* GF, converting PK to: pktogf invocation. (line 6) +* GF, converting to PK: gftopk invocation. (line 6) +* gftodvi: gftodvi invocation. (line 6) +* gftopk: gftopk invocation. (line 6) +* gftopxl: Font utilities available elsewhere. + (line 23) +* gftype GF validation: gftype invocation. (line 6) +* gftype.web: Font utilities. (line 11) +* glue ratio representations: Hardware and memory dumps. + (line 22) +* glue, memory for: Runtime options. (line 20) +* glyph substitutions: MLTeX. (line 6) +* gray font: gftodvi invocation. (line 29) +* Gruff, Billy Goat: Triptrap. (line 6) +* gsftopk: Font utilities available elsewhere. + (line 35) +* Harbison, Samuel P.: Hardware and memory dumps. + (line 34) +* hardware and memory dumps: Hardware and memory dumps. + (line 6) +* hash table, increasing size of: Runtime options. (line 29) +* hash_extra: Runtime options. (line 28) +* headerbyte information: tftopl invocation. (line 96) +* height, in pixels: pktype invocation. (line 62) +* help, online: Common options. (line 11) +* Henry, Patrick: Introduction. (line 22) +* Herberts, Mathias: Online Metafont graphics. + (line 20) +* hex character codes, in TCX files: TCX files. (line 78) +* history: Introduction. (line 40) +* Hobby, John: Introduction. (line 8) +* horizontal escapement <1>: gftype invocation. (line 107) +* horizontal escapement: pktype invocation. (line 57) +* hp2627: Online Metafont graphics. + (line 27) +* human languages, supported in TeX: Languages and hyphenation. + (line 6) +* human-readable text, converting DVI to: dvitype invocation. (line 6) +* human-readable text, converting GF to: gftype invocation. (line 6) +* human-readable text, converting PK to: pktype invocation. (line 6) +* human-readable text, converting TFM to: tftopl invocation. (line 6) +* human-readable text, converting VF to: vftovp invocation. (line 6) +* hypertext: TeX extensions. (line 20) +* hyphenation and languages: Languages and hyphenation. + (line 6) +* hyphenation patterns, creating: patgen invocation. (line 6) +* ice cream: Introduction. (line 22) +* identifier case: tangle invocation. (line 35) +* identifier collisions: tangle invocation. (line 46) +* identifier length: tangle invocation. (line 27) +* identifiers with underlines: tangle invocation. (line 41) +* ieeetr.bst: Basic BibTeX style files. + (line 31) +* il1-t1.tcx: TCX files. (line 49) +* il2-t1.tcx: TCX files. (line 49) +* Info format: Formats. (line 47) +* initial form, enabling: Common options. (line 45) +* initial Metafont: Initial Metafont. (line 6) +* initial MetaPost: Initial MetaPost. (line 6) +* initial programs: Initial and virgin. (line 21) +* initial TeX: Initial TeX. (line 6) +* initializations, lengthy: Initial and virgin. (line 21) +* input filenames: \input filenames. (line 6) +* install-bases Make target: Additional targets. (line 29) +* install-fmts Make target: Additional targets. (line 25) +* install-formats Make target: Additional targets. (line 17) +* install-mems Make target: Additional targets. (line 34) +* installation: Installation. (line 6) +* interaction between TCX files and -8bit.: TCX files. (line 105) +* interaction mode: Common options. (line 50) +* international characters: TCX files. (line 6) +* introduction: Introduction. (line 6) +* IPC: IPC and TeX. (line 6) +* IPC_DEBUG <1>: IPC and TeX. (line 13) +* IPC_DEBUG: Compile-time options. + (line 29) +* job name: Common options. (line 55) +* kerning table, in TFM files: tftopl invocation. (line 102) +* keyboard character code, translating: TCX files. (line 102) +* Knuth, Donald E. <1>: mft invocation. (line 58) +* Knuth, Donald E.: Introduction. (line 8) +* KPATHSEA_DEBUG: Common options. (line 59) +* KRN property: tftopl invocation. (line 102) +* label font: gftodvi invocation. (line 36) +* LABEL property: tftopl invocation. (line 102) +* language support in TeX: Languages and hyphenation. + (line 6) +* languages, hyphenation rules for: patgen invocation. (line 6) +* LaTeX: Formats. (line 22) +* Latin Modern: Font utilities available elsewhere. + (line 18) +* left side bearing <1>: gftype invocation. (line 82) +* left side bearing: pktype invocation. (line 66) +* legalisms: Legalisms. (line 6) +* licensing terms: Introduction. (line 22) +* LIG property: tftopl invocation. (line 102) +* ligature table, in TFM files: tftopl invocation. (line 102) +* LIGTABLE property: tftopl invocation. (line 102) +* linking binaries: Common options. (line 77) +* links to binaries: Determining the memory dump to use. + (line 31) +* literate programming: WEB. (line 6) +* LittleEndian machines: Hardware and memory dumps. + (line 6) +* log file, BibTeX: bibtex invocation. (line 14) +* Lua: TeX extensions. (line 26) +* luaTeX: TeX extensions. (line 26) +* machine dependencies: Hardware and memory dumps. + (line 6) +* machine-readable, converting property lists to <1>: vptovf invocation. + (line 6) +* machine-readable, converting property lists to: pltotf invocation. + (line 6) +* MacKay, Pierre: Font file formats. (line 63) +* macro packages, major TeX: Formats. (line 6) +* macros, basic: Installation. (line 34) +* macros, predefining in memory dumps: Memory dumps. (line 6) +* magnification <1>: dvitype invocation. (line 28) +* magnification: dvicopy invocation. (line 20) +* main_memory: Runtime options. (line 15) +* Make targets, additional: Additional targets. (line 6) +* Martin, Rick: Introduction. (line 50) +* Mathematical Reviews: Formats. (line 39) +* mathematical typesetting: TeX. (line 6) +* mem file, determining: Determining the memory dump to use. + (line 6) +* mem files, sharing: Hardware and memory dumps. + (line 6) +* memory dump to use, determining: Determining the memory dump to use. + (line 6) +* memory dumps: Memory dumps. (line 6) +* memory dumps and hardware: Hardware and memory dumps. + (line 6) +* memory dumps, contain date and time: Hardware and memory dumps. + (line 30) +* memory dumps, creating: Creating memory dumps. + (line 6) +* mems Make target: Additional targets. (line 34) +* meta characters in filenames: \input filenames. (line 35) +* Metafont: Metafont. (line 6) +* Metafont geometry: Online Metafont graphics. + (line 69) +* Metafont graphics: Online Metafont graphics. + (line 6) +* Metafont input files: mf invocation. (line 24) +* Metafont invocation: mf invocation. (line 6) +* Metafont meets PostScript: MetaPost. (line 6) +* Metafont online support, new devices: Online Metafont graphics. + (line 80) +* Metafont source, prettyprinting: mft invocation. (line 6) +* Metafont, compatibility in MetaPost: Initial MetaPost. (line 15) +* Metafont, initial: Initial Metafont. (line 6) +* Metafont, MetaPost, and TeX: Three programs. (line 6) +* MetaPost: MetaPost. (line 6) +* MetaPost and plain Metafont compatibility: Initial MetaPost. + (line 15) +* MetaPost input files: mpost invocation. (line 31) +* MetaPost invocation: mpost invocation. (line 6) +* MetaPost source, prettyprinting: mft invocation. (line 80) +* MetaPost, initial: Initial MetaPost. (line 6) +* MetaPost, TeX, and Metafont: Three programs. (line 6) +* metatype1: Font utilities available elsewhere. + (line 18) +* mf: mf invocation. (line 6) +* mf.base: Initial Metafont. (line 16) +* MFEDIT: Editor invocation. (line 10) +* mfplain: Initial MetaPost. (line 15) +* mfput: mf invocation. (line 34) +* mft: mft invocation. (line 6) +* mftalk: Online Metafont graphics. + (line 30) +* MFTERM: Online Metafont graphics. + (line 11) +* mftmac.tex: mft invocation. (line 6) +* micro-typography: TeX extensions. (line 20) +* mktexmf, disabling: mf invocation. (line 24) +* mktextfM, disabling: tex invocation. (line 44) +* mltex: MLTeX. (line 6) +* MLTeX, enabling: tex invocation. (line 110) +* mode needed to run Metafont: mf invocation. (line 48) +* mode_def: Modes. (line 15) +* mode_setup: Modes. (line 15) +* modes file needed for Metafont: Modes. (line 6) +* modes.mf recommended modes file: Modes. (line 10) +* Morgan, Tim: Introduction. (line 40) +* Morris, Bob: Introduction. (line 50) +* MPEDIT: Editor invocation. (line 10) +* mpgraph.ps: mpost invocation. (line 19) +* mpman.ps: mpost invocation. (line 6) +* mpost: mpost invocation. (line 6) +* mpost, reason for name change: Installation. (line 19) +* mpout: mpost invocation. (line 37) +* mproof.tex: mpost invocation. (line 73) +* mptrap Make target: Additional targets. (line 41) +* mptrap test: Triptrap. (line 6) +* mptrap.readme: Triptrap. (line 6) +* MPX files, converting from DVI files: dvitomp invocation. (line 6) +* Multi-lingual TeX: MLTeX. (line 6) +* N tilde: \charsubdef. (line 37) +* new graphics support for Metafont: Online Metafont graphics. + (line 80) +* newrow GF command: gftype invocation. (line 93) +* next: Online Metafont graphics. + (line 34) +* NO_X11WIN: Online Metafont graphics. + (line 56) +* non-Unix system, compiling on: Additional targets. (line 12) +* non-windows-capable Metafont: Online Metafont graphics. + (line 65) +* NUL, not allowed in filenames: \input filenames. (line 35) +* octal character codes, in TCX files: TCX files. (line 78) +* offset for overflow labels: gftodvi invocation. (line 59) +* online Metafont graphics: Online Metafont graphics. + (line 6) +* opcodes, showing DVI: dvitype invocation. (line 56) +* optical font scaling: Font file formats. (line 22) +* option conventions: Option conventions. (line 6) +* origin: pktype invocation. (line 66) +* output directory, specifying <1>: Output file location. + (line 15) +* output directory, specifying: Common options. (line 66) +* output file location: Output file location. + (line 6) +* output files, written by TeX programs: tex invocation. (line 51) +* output_comment for DVI files: tex invocation. (line 115) +* overflow label offset: gftodvi invocation. (line 59) +* packet length: pktype invocation. (line 50) +* page, starting <1>: dvitype invocation. (line 50) +* page, starting: dvicopy invocation. (line 28) +* parsing the first line: Common options. (line 72) +* Pascal, creating from WEB: tangle invocation. (line 6) +* patgen: patgen invocation. (line 6) +* path searching: Path searching. (line 6) +* path searching debugging: Common options. (line 59) +* PDF: TeX extensions. (line 20) +* PDF, and .mps files: mpost invocation. (line 89) +* pdfTeX: TeX extensions. (line 20) +* permissions, legal: Legalisms. (line 6) +* PFA and PFB conversion: Font utilities available elsewhere. + (line 39) +* pfaedit: Font utilities available elsewhere. + (line 30) +* PiCTeX, increasing memory for: Runtime options. (line 20) +* pipes, reading and writing: Shell escapes. (line 63) +* pixel height: pktype invocation. (line 62) +* pixel width: pktype invocation. (line 62) +* PK bitmaps from PostScript: Font utilities available elsewhere. + (line 35) +* PK files, explained: Font file formats. (line 40) +* PK files, not output by Metafont: mf invocation. (line 34) +* PK format definition: Font utilities. (line 11) +* PK, converting GF to: gftopk invocation. (line 6) +* PK, converting to GF: pktogf invocation. (line 6) +* pktogf: pktogf invocation. (line 6) +* pktype PK validation: pktype invocation. (line 6) +* pktype.web: Font utilities. (line 11) +* PL files, explained: Font file formats. (line 47) +* plain Metafont, compatibility in MetaPost: Initial MetaPost. + (line 15) +* plain text, converting DVI to: dvitype invocation. (line 6) +* plain text, converting GF to: gftype invocation. (line 6) +* plain text, converting PK to: pktype invocation. (line 6) +* plain text, converting TFM to: tftopl invocation. (line 6) +* plain text, converting VF to: vftovp invocation. (line 6) +* plain.base: Initial Metafont. (line 16) +* plain.bst: Basic BibTeX style files. + (line 11) +* plain.fmt: Initial TeX. (line 15) +* plain.mft: mft invocation. (line 68) +* pltotf: pltotf invocation. (line 6) +* pool file, writing: tangle invocation. (line 16) +* Poole, Simon: Online Metafont graphics. + (line 50) +* pooltype: pooltype invocation. (line 6) +* portable filenames: \input filenames. (line 41) +* PostScript fonts, and Troff: mpost invocation. (line 68) +* PostScript meets Metafont: MetaPost. (line 6) +* PostScript output: mpost invocation. (line 37) +* PostScript to PK bitmaps: Font utilities available elsewhere. + (line 35) +* PostScript Type 1 font conversion: Font utilities available elsewhere. + (line 39) +* PostScript, and font scaling: Font file formats. (line 22) +* potrace: Font utilities available elsewhere. + (line 46) +* predefined macros and memory dumps: Memory dumps. (line 6) +* prettyprinting Metafont source: mft invocation. (line 6) +* prettyprinting WEB programs: weave invocation. (line 6) +* primitives, new: TeX extensions. (line 10) +* printable characters, specifying: TCX files. (line 88) +* printer characteristics, for Metafont: Modes. (line 6) +* production use: Initial and virgin. (line 17) +* program name, determines memory dump: Determining the memory dump to use. + (line 31) +* program names, special <1>: tex invocation. (line 110) +* program names, special: Common options. (line 45) +* prologues: mpost invocation. (line 118) +* prologues, and EPSF output: mpost invocation. (line 83) +* proof mode: mf invocation. (line 48) +* proof sheets, of fonts: gftodvi invocation. (line 6) +* property list format: tftopl invocation. (line 44) +* property list, converting TFM to: tftopl invocation. (line 6) +* property list, converting VF to virtual: vftovp invocation. (line 6) +* ps2pk: Font utilities available elsewhere. + (line 35) +* psfonts.map, read by MetaPost: mpost invocation. (line 83) +* PXL files, explained: Font file formats. (line 40) +* pxtoch: Font utilities available elsewhere. + (line 23) +* Raichle, Bernd: MLTeX. (line 6) +* reading, additional: Introduction. (line 58) +* readonly directory, running TeX in: Output file location. + (line 15) +* reallocation of arrays: Runtime options. (line 36) +* redefined character substitutions: \tracingcharsubdef. (line 6) +* reference pixel: pktype invocation. (line 66) +* references: References. (line 6) +* regis: Online Metafont graphics. + (line 39) +* Regis graphics support: Online Metafont graphics. + (line 40) +* regression testing: tex invocation. (line 115) +* repeated rows: pktype invocation. (line 76) +* representation of strings: pooltype invocation. (line 30) +* restricted shell escapes: Shell escapes. (line 6) +* right side bearing <1>: gftype invocation. (line 82) +* right side bearing: pktype invocation. (line 66) +* Rokicki, Tomas: Introduction. (line 40) +* run length encoded bitmaps <1>: gftype invocation. (line 89) +* run length encoded bitmaps: pktype invocation. (line 76) +* runtime options: Runtime options. (line 6) +* scaled pixels <1>: gftype invocation. (line 107) +* scaled pixels: pktype invocation. (line 57) +* scaling of fonts: Font file formats. (line 22) +* scanned images of fonts: Font utilities available elsewhere. + (line 42) +* security, and \openout: tex invocation. (line 51) +* security, and output files: tex invocation. (line 51) +* security, and shell escapes: Shell escapes. (line 6) +* security, and write: mpost invocation. (line 95) +* shapes: Metafont. (line 6) +* sharing memory dumps: Hardware and memory dumps. + (line 6) +* shell commands in TeX: Shell escapes. (line 6) +* shell_escape enabling in TeX: Shell escapes. (line 6) +* shell_escape_commands: Shell escapes. (line 52) +* siam.bst: Basic BibTeX style files. + (line 35) +* side bearings <1>: gftype invocation. (line 82) +* side bearings: pktype invocation. (line 66) +* slant font: gftodvi invocation. (line 39) +* slides, producing: Formats. (line 61) +* SliTeX: Formats. (line 61) +* small Metafont memory and modes: Modes. (line 15) +* smode and dynamic Metafont mode definition: Modes. (line 28) +* sockets: IPC and TeX. (line 6) +* space-terminated filenames: \input filenames. (line 10) +* Spiderweb: WEB. (line 13) +* Stallman, Richard: Introduction. (line 50) +* starting page <1>: dvitype invocation. (line 50) +* starting page: dvicopy invocation. (line 28) +* Steele Jr., Guy L.: Hardware and memory dumps. + (line 34) +* stopping at the first error: Common options. (line 41) +* strategy, overall: Introduction. (line 16) +* string numbers, displaying: pooltype invocation. (line 6) +* string pool, writing: tangle invocation. (line 16) +* string representation: pooltype invocation. (line 30) +* style design, for BibTeX: bibtex invocation. (line 45) +* style files: mft invocation. (line 68) +* substitutions of font glyphs: MLTeX. (line 6) +* sun: Online Metafont graphics. + (line 42) +* sun-gfx.c: Online Metafont graphics. + (line 43) +* Suntools: Online Metafont graphics. + (line 43) +* SunView: Online Metafont graphics. + (line 43) +* swap space, as array limit: Runtime options. (line 36) +* swapping bytes: Hardware and memory dumps. + (line 13) +* syntax of TCX files: TCX files. (line 66) +* system C library function: Shell escapes. (line 6) +* system command: Shell escapes. (line 6) +* T1 encoding and ISO input: TCX files. (line 49) +* Tachikawa, Elizabeth: Font file formats. (line 63) +* tangle: tangle invocation. (line 6) +* targets, additional Make: Additional targets. (line 6) +* TCX character translation files: TCX files. (line 6) +* tek: Online Metafont graphics. + (line 47) +* Tektronix: Online Metafont graphics. + (line 48) +* Tektronix 4014: Online Metafont graphics. + (line 51) +* TERM: Online Metafont graphics. + (line 11) +* terminator for filenames: \input filenames. (line 10) +* terse output: bibtex invocation. (line 28) +* tex: tex invocation. (line 6) +* TeX, bibliographies for: bibtex invocation. (line 54) +* TeX, creating from Metafont: mft invocation. (line 6) +* TeX, creating from WEB: weave invocation. (line 6) +* TeX, description of: TeX. (line 6) +* TeX, extensions to: TeX extensions. (line 6) +* TeX, format packages for: Formats. (line 6) +* TeX, initial: Initial TeX. (line 6) +* TeX, input files found: tex invocation. (line 20) +* TeX, invocation: tex invocation. (line 6) +* TeX, Metafont, and MetaPost: Three programs. (line 6) +* TeX, Web2c implementation of: Introduction. (line 8) +* tex.fmt: Initial TeX. (line 15) +* TEXBIB, search path for bib files: bibtex invocation. (line 18) +* TEXEDIT: Editor invocation. (line 10) +* texfonts.map: Path searching. (line 15) +* Texinfo: Formats. (line 47) +* texmf.cnf: Path searching. (line 6) +* texmfmp.c: Online Metafont graphics. + (line 80) +* TEXMFOUTPUT, used for reading: Output file location. + (line 25) +* TEXMFOUTPUT, used if . unwritable: Output file location. + (line 19) +* texput: tex invocation. (line 35) +* TFM files, converting property lists to: pltotf invocation. (line 6) +* TFM files, explained: Font file formats. (line 13) +* TFM files, memory for: Runtime options. (line 25) +* TFM files, output by Metafont: mf invocation. (line 43) +* TFM files, output by MetaPost: mpost invocation. (line 37) +* TFM width of characters <1>: gftype invocation. (line 113) +* TFM width of characters: pktype invocation. (line 53) +* tftopl: tftopl invocation. (line 6) +* three programs: Three programs. (line 6) +* time and date, in memory dumps: Hardware and memory dumps. + (line 30) +* title font: gftodvi invocation. (line 33) +* toolkits, X: Online Metafont graphics. + (line 59) +* torture tests: Triptrap. (line 6) +* translation file for TeX, specifying: Common options. (line 98) +* translation from WEB to C: Introduction. (line 16) +* trap Make target: Additional targets. (line 41) +* trap test: Triptrap. (line 6) +* trapman.tex: Triptrap. (line 6) +* Trickey, Howard: Introduction. (line 40) +* trip Make target: Additional targets. (line 41) +* trip test: Triptrap. (line 6) +* tripman.tex: Triptrap. (line 6) +* triptrap Make target: Additional targets. (line 41) +* Troff, and MetaPost: mpost invocation. (line 68) +* Troff, WEB for: WEB. (line 13) +* Trojan horses and TeX programs: tex invocation. (line 51) +* TUGboat bibliography: bibtex invocation. (line 54) +* Type 1 conversion: Font utilities available elsewhere. + (line 39) +* type design, personal: Initial Metafont. (line 33) +* type programs, DVI: dvitype invocation. (line 6) +* type programs, GF: gftype invocation. (line 6) +* type programs, PK: pktype invocation. (line 6) +* type programs, pool: pooltype invocation. (line 6) +* typeface families: Metafont. (line 6) +* typeface specimen sheets: Font utilities available elsewhere. + (line 42) +* typesetting: TeX. (line 6) +* Unicode: TeX extensions. (line 14) +* Unicode input: tex invocation. (line 89) +* uniterm: Online Metafont graphics. + (line 50) +* unsrt.bst: Basic BibTeX style files. + (line 39) +* UTF-8 input: tex invocation. (line 89) +* validation, of DVI files: dvitype invocation. (line 6) +* validation, of GF files: gftype invocation. (line 6) +* validation, of PK files: pktype invocation. (line 6) +* validation, of TFM files: tftopl invocation. (line 6) +* validation, of VF files: vftovp invocation. (line 6) +* verbose BibTeX output, suppressing: bibtex invocation. (line 28) +* verbosity, enabling: Common options. (line 15) +* version number, finding: Common options. (line 18) +* vertical escapement: gftype invocation. (line 107) +* VF files, converting property lists to: vptovf invocation. (line 6) +* vftovp: vftovp invocation. (line 6) +* virgin programs: Initial and virgin. (line 17) +* virtual font creation: Font utilities available elsewhere. + (line 53) +* virtual fonts, expanding: dvicopy invocation. (line 6) +* virtual-fonts.knuth: Font file formats. (line 57) +* virtualfonts.txt: Font file formats. (line 57) +* vptovf: vptovf invocation. (line 6) +* weave: weave invocation. (line 6) +* WEB: WEB. (line 6) +* web environments, and security: Shell escapes. (line 70) +* WEB pool files, displaying: pooltype invocation. (line 6) +* WEB programs, compiling: tangle invocation. (line 6) +* WEB programs, typesetting: weave invocation. (line 6) +* WEB2C, search path for TCX files: TCX files. (line 36) +* Weber, Olaf: Introduction. (line 40) +* webmac.tex: weave invocation. (line 22) +* webman.tex: WEB. (line 13) +* whitespace, in TCX files: TCX files. (line 69) +* whitespace-terminated filenames: \input filenames. (line 10) +* width, device-independent <1>: gftype invocation. (line 113) +* width, device-independent: pktype invocation. (line 53) +* width, in pixels: pktype invocation. (line 62) +* word processor, not: TeX. (line 9) +* writing memory dumps: Creating memory dumps. + (line 6) +* X bitmap fonts: Font utilities available elsewhere. + (line 15) +* X class name for Metafont: Online Metafont graphics. + (line 69) +* x offset: pktype invocation. (line 66) +* X resources: Online Metafont graphics. + (line 69) +* X toolkits and Metafont: Online Metafont graphics. + (line 59) +* xampl.bib: bibtex invocation. (line 51) +* xbfe, bitmap font editor: Font utilities available elsewhere. + (line 23) +* XeTeX: TeX extensions. (line 31) +* xfed, bitmap font editor: Font utilities available elsewhere. + (line 23) +* xfedor, bitmap font editor: Font utilities available elsewhere. + (line 23) +* Xlib: Online Metafont graphics. + (line 56) +* Xlib support: Online Metafont graphics. + (line 59) +* Xt: Online Metafont graphics. + (line 56) +* Xt support: Online Metafont graphics. + (line 59) +* xterm: Online Metafont graphics. + (line 56) +* y offset: pktype invocation. (line 66) +* ~ expansion in filenames: \input filenames. (line 48) + + + +Tag Table: +Node: Top2812 +Node: Introduction3805 +Node: Installation6976 +Node: configure options9140 +Node: Compile-time options11222 +Node: Additional targets12348 +Node: Triptrap13629 +Node: Runtime options15158 +Node: Commonalities16930 +Node: Option conventions17535 +Node: Common options18759 +Node: Path searching23166 +Node: Output file location24188 +Node: Three programs25513 +Node: Initial and virgin26267 +Node: Memory dumps27206 +Node: Creating memory dumps27662 +Node: Determining the memory dump to use28873 +Node: Hardware and memory dumps30460 +Node: Editor invocation32918 +Node: \input filenames33784 +Node: TeX36777 +Node: tex invocation37929 +Node: Initial TeX44899 +Node: Formats46388 +Node: Languages and hyphenation49327 +Node: MLTeX49757 +Node: \charsubdef51252 +Node: \tracingcharsubdef53578 +Node: TCX files54153 +Node: patgen invocation59577 +Node: Shell escapes60294 +Node: IPC and TeX63858 +Node: TeX extensions64428 +Node: Metafont65560 +Node: mf invocation66848 +Node: Initial Metafont70731 +Node: Modes72484 +Node: Online Metafont graphics74740 +Node: gftodvi invocation78155 +Node: mft invocation80988 +Node: MetaPost85043 +Node: mpost invocation85805 +Node: Initial MetaPost91063 +Node: dvitomp invocation91985 +Node: BibTeX92650 +Node: bibtex invocation93011 +Node: Basic BibTeX style files95336 +Node: WEB96678 +Node: tangle invocation97886 +Node: weave invocation100009 +Node: pooltype invocation101417 +Node: DVI utilities102547 +Node: dvicopy invocation103491 +Node: dvitype invocation104789 +Node: dvitype output example107144 +Node: Font utilities110195 +Node: Font file formats111375 +Node: gftopk invocation114674 +Node: pktogf invocation115878 +Node: pktype invocation117057 +Node: gftype invocation119892 +Node: tftopl invocation124408 +Node: pltotf invocation129042 +Node: vftovp invocation130107 +Node: vptovf invocation132391 +Node: Font utilities available elsewhere133445 +Node: Legalisms135853 +Node: References138024 +Node: Index142596 + +End Tag Table diff --git a/Master/texmf-dist/doc/kpathsea/kpathsea.html b/Master/texmf-dist/doc/kpathsea/kpathsea.html new file mode 100644 index 00000000000..31a3165aa7a --- /dev/null +++ b/Master/texmf-dist/doc/kpathsea/kpathsea.html @@ -0,0 +1,4995 @@ +<html lang="en"> +<head> +<title>Kpathsea: A library for path searching</title> +<meta http-equiv="Content-Type" content="text/html"> +<meta name="description" content="Kpathsea: A library for path searching"> +<meta name="generator" content="makeinfo 4.13"> +<link title="Top" rel="top" href="#Top"> +<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> +<!-- +This file documents the Kpathsea library for path searching. + +Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, +2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012 Karl Berry & Olaf Weber. + +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. + + +Permission is granted to copy and distribute modified versions of this +manual under the conditions for verbatim copying, provided that the +entire resulting derived work is distributed under the terms of a +permission notice identical to this one. + +Permission is granted to copy and distribute translations of this manual +into another language, under the above conditions for modified versions, +except that this permission notice may be stated in a translation +approved by the TeX Users Group.--> +<meta http-equiv="Content-Style-Type" content="text/css"> +<style type="text/css"><!-- + pre.display { font-family:inherit } + pre.format { font-family:inherit } + pre.smalldisplay { font-family:inherit; font-size:smaller } + pre.smallformat { font-family:inherit; font-size:smaller } + pre.smallexample { font-size:smaller } + pre.smalllisp { font-size:smaller } + span.sc { font-variant:small-caps } + span.roman { font-family:serif; font-weight:normal; } + span.sansserif { font-family:sans-serif; font-weight:normal; } +--></style> +</head> +<body> +<h1 class="settitle">Kpathsea: A library for path searching</h1> +<div class="contents"> +<h2>Table of Contents</h2> +<ul> +<li><a name="toc_Top" href="#Top">Kpathsea library</a> +<li><a name="toc_Introduction" href="#Introduction">1 Introduction</a> +<ul> +<li><a href="#History">1.1 History</a> +</li></ul> +<li><a name="toc_Installation" href="#Installation">2 Installation</a> +<ul> +<li><a href="#Simple-installation">2.1 Simple installation</a> +<li><a href="#Custom-installation">2.2 Custom installation</a> +<ul> +<li><a href="#Disk-space">2.2.1 Disk space</a> +<li><a href="#Kpathsea-application-distributions">2.2.2 Kpathsea application distributions</a> +<li><a href="#Changing-search-paths">2.2.3 Changing search paths</a> +<ul> +<li><a href="#Default-path-features">2.2.3.1 Default path features</a> +<li><a href="#Default-path-generation">2.2.3.2 Default path generation</a> +</li></ul> +<li><a href="#Running-configure">2.2.4 Running <code>configure</code></a> +<ul> +<li><a href="#configure-shells">2.2.4.1 <code>configure</code> shells</a> +<li><a href="#configure-options">2.2.4.2 <code>configure</code> options</a> +<li><a href="#configure-environment">2.2.4.3 <code>configure</code> environment</a> +<li><a href="#configure-scenarios">2.2.4.4 <code>configure</code> scenarios</a> +<li><a href="#Shared-library">2.2.4.5 Shared library</a> +</li></ul> +<li><a href="#Running-make">2.2.5 Running <code>make</code></a> +<li><a href="#Installing-files">2.2.6 Installing files</a> +<li><a href="#Cleaning-up">2.2.7 Cleaning up</a> +<li><a href="#Filename-database-generation">2.2.8 Filename database generation</a> +<li><a href="#mktex-scripts">2.2.9 <samp><span class="file">mktex</span></samp> scripts</a> +<ul> +<li><a href="#mktex-configuration">2.2.9.1 <samp><span class="file">mktex</span></samp> configuration</a> +<li><a href="#mktex-script-names">2.2.9.2 <samp><span class="file">mktex</span></samp> script names</a> +<li><a href="#mktex-script-arguments">2.2.9.3 <samp><span class="file">mktex</span></samp> script arguments</a> +</li></ul> +<li><a href="#Installation-testing">2.2.10 Installation testing</a> +</li></ul> +<li><a href="#Security">2.3 Security</a> +<li><a href="#TeX-directory-structure">2.4 TeX directory structure</a> +<li><a href="#unixtex_002eftp">2.5 <samp><span class="file">unixtex.ftp</span></samp>: Obtaining TeX</a> +<li><a href="#Reporting-bugs">2.6 Reporting bugs</a> +<ul> +<li><a href="#Bug-checklist">2.6.1 Bug checklist</a> +<li><a href="#Mailing-lists">2.6.2 Mailing lists</a> +<li><a href="#Debugging">2.6.3 Debugging</a> +<li><a href="#Logging">2.6.4 Logging</a> +<li><a href="#Common-problems">2.6.5 Common problems</a> +<ul> +<li><a href="#Unable-to-find-files">2.6.5.1 Unable to find files</a> +<li><a href="#Slow-path-searching">2.6.5.2 Slow path searching</a> +<li><a href="#Unable-to-generate-fonts">2.6.5.3 Unable to generate fonts</a> +<li><a href="#TeX-or-Metafont-failing">2.6.5.4 TeX or Metafont failing</a> +<li><a href="#Empty-Makefiles">2.6.5.5 Empty Makefiles</a> +<li><a href="#XtStrings">2.6.5.6 <code>XtStrings</code></a> +<li><a href="#dlopen">2.6.5.7 <code>dlopen</code></a> +<li><a href="#ShellWidgetClass">2.6.5.8 <code>ShellWidgetClass</code></a> +<li><a href="#Pointer-combination-warnings">2.6.5.9 Pointer combination warnings</a> +</li></ul> +</li></ul> +</li></ul> +<li><a name="toc_Path-searching" href="#Path-searching">3 Path searching</a> +<ul> +<li><a href="#Searching-overview">3.1 Searching overview</a> +<li><a href="#Path-sources">3.2 Path sources</a> +<ul> +<li><a href="#Config-files">3.2.1 Config files</a> +</li></ul> +<li><a href="#Path-expansion">3.3 Path expansion</a> +<ul> +<li><a href="#Default-expansion">3.3.1 Default expansion</a> +<li><a href="#Variable-expansion">3.3.2 Variable expansion</a> +<li><a href="#Tilde-expansion">3.3.3 Tilde expansion</a> +<li><a href="#Brace-expansion">3.3.4 Brace expansion</a> +<li><a href="#KPSE_005fDOT-expansion">3.3.5 <code>KPSE_DOT</code> expansion</a> +<li><a href="#Subdirectory-expansion">3.3.6 Subdirectory expansion</a> +</li></ul> +<li><a href="#Filename-database">3.4 Filename database (<code>ls-R</code>)</a> +<ul> +<li><a href="#ls_002dR">3.4.1 <samp><span class="file">ls-R</span></samp></a> +<li><a href="#Filename-aliases">3.4.2 Filename aliases</a> +<li><a href="#Database-format">3.4.3 Database format</a> +</li></ul> +<li><a href="#Invoking-kpsewhich">3.5 <code>kpsewhich</code>: Standalone path searching</a> +<ul> +<li><a href="#Path-searching-options">3.5.1 Path searching options</a> +<li><a href="#Specially_002drecognized-files">3.5.2 Specially-recognized files for <samp><span class="command">kpsewhich</span></samp></a> +<li><a href="#Auxiliary-tasks">3.5.3 Auxiliary tasks</a> +<li><a href="#Standard-options">3.5.4 Standard options</a> +</li></ul> +</li></ul> +<li><a name="toc_TeX-support" href="#TeX-support">4 TeX support</a> +<ul> +<li><a href="#Supported-file-formats">4.1 Supported file formats</a> +<li><a href="#File-lookup">4.2 File lookup</a> +<li><a href="#Glyph-lookup">4.3 Glyph lookup</a> +<ul> +<li><a href="#Basic-glyph-lookup">4.3.1 Basic glyph lookup</a> +<li><a href="#Fontmap">4.3.2 Fontmap</a> +<li><a href="#Fallback-font">4.3.3 Fallback font</a> +</li></ul> +<li><a href="#Suppressing-warnings">4.4 Suppressing warnings</a> +</li></ul> +<li><a name="toc_Programming" href="#Programming">5 Programming</a> +<ul> +<li><a href="#Programming-overview">5.1 Programming overview</a> +<li><a href="#Calling-sequence">5.2 Calling sequence</a> +<li><a href="#Program_002dspecific-files">5.3 Program-specific files</a> +<li><a href="#Programming-with-config-files">5.4 Programming with config files</a> +</li></ul> +<li><a name="toc_Index" href="#Index">Index</a> +</li></ul> +</div> + + + +<div class="node"> +<a name="Top"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Introduction">Introduction</a>, +Up: <a rel="up" accesskey="u" href="#dir">(dir)</a> + +</div> + +<h2 class="unnumbered">Kpathsea library</h2> + +<p>This manual documents how to install and use the Kpathsea library for +filename lookup. It corresponds to version 6.1.0, +released in May 2012. + +<ul class="menu"> +<li><a accesskey="1" href="#Introduction">Introduction</a>: Overview. +<li><a accesskey="2" href="#Installation">Installation</a>: Compilation, installation, and bug reporting. + +<li><a accesskey="3" href="#Path-searching">Path searching</a>: How filename lookups work. +<li><a accesskey="4" href="#TeX-support">TeX support</a>: Special support for TeX-related file lookups. + +<li><a accesskey="5" href="#Programming">Programming</a>: How to use Kpathsea features in your program. + +<li><a accesskey="6" href="#Index">Index</a>: General index. +</ul> + +<div class="node"> +<a name="Introduction"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Installation">Installation</a>, +Previous: <a rel="previous" accesskey="p" href="#Top">Top</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">1 Introduction</h2> + +<p><a name="index-introduction-1"></a><a name="index-fundamental-purpose-of-Kpathsea-2"></a> +This manual corresponds to version 6.1.0 of the Kpathsea +library, released in May 2012. + + <p>The library's fundamental purpose is to return a filename from a list of +directories specified by the user, similar to what shells do when +looking up program names to execute. + + <p><a name="index-programs-using-the-library-3"></a>The following software, all of which we maintain, uses this library: + + <ul> +<li>Dviljk (see the ‘<samp><span class="samp">dvilj</span></samp>’ man page) +<li>Dvipsk (see <a href="dvips.html#Top">Introduction</a>) +<li>GNU font utilities (see <a href="fontu.html#Top">Introduction</a>) +<li>Web2c (see <a href="web2c.html#Top">Introduction</a>) +<li>Xdvik (see the ‘<samp><span class="samp">xdvi</span></samp>’ man page) +</ul> + +<p class="noindent">Other software that we do not maintain also uses it. + + <p><a name="index-interface_002c-not-frozen-4"></a><a name="index-comments_002c-making-5"></a><a name="index-suggestions_002c-making-6"></a>We are still actively maintaining the library (and probably always will +be, despite our hopes). If you have comments or suggestions, please send +them to us (see <a href="#Reporting-bugs">Reporting bugs</a>). + + <p><a name="index-conditions-for-use-7"></a><a name="index-license-for-using-the-library-8"></a><a name="index-GNU-General-Public-License-9"></a>We distribute the library under the GNU Library General Public License +(LGPL). In short, this means if you write a program using the library, +you must (offer to) distribute the source to the library, along with any +changes you have made, and allow anyone to modify the library source and +distribute their modifications. It does not mean you have to distribute +the source to your program, although we hope you will. See the +accompanying files for the text of the GNU licenses. + + <p><a name="index-g_t_0040TeX_007b_007d-Users-Group-10"></a>If you know enough about TeX to be reading this manual, then you (or +your institution) should consider joining the TeX Users Group (if +you're already a member, thanks!). TUG produces the periodical +<cite>TUGboat</cite>, sponsors an annual meeting and publishes the +proceedings, and arranges courses on TeX for all levels of users +throughout the world. See <a href="http://tug.org">http://tug.org</a> for information. + +<ul class="menu"> +<li><a accesskey="1" href="#History">History</a> +</ul> + +<div class="node"> +<a name="History"></a> +<p><hr> +Up: <a rel="up" accesskey="u" href="#Introduction">Introduction</a> + +</div> + +<h3 class="section">1.1 History</h3> + +<p><a name="index-history-of-Kpathsea-11"></a> +<a name="index-Knuth_002c-Donald-E_002e-12"></a>(This section is for those people who are curious about how the library +came about.) (If you like to read historical accounts of software, we +urge you to seek out the GNU Autoconf manual and the “Errors of +TeX” paper by Don Knuth, published in <cite>Software—Practice and +Experience</cite> 19(7), July 1989.) + + <p><a name="index-Morgan_002c-Tim-13"></a><a name="index-Rokicki_002c-Tom-14"></a><a name="index-Berry_002c-Karl-15"></a><a name="index-VAX-11_002f750-16"></a><a name="index-Sun-2-17"></a><a name="index-pxp-_0040r_007bPascal-preprocessor_007d-18"></a><a name="index-pc-_0040r_007bPascal-compiler_007d-19"></a>[Karl writes.] My first ChangeLog entry for Web2c seems to be February +1990, but I may have done some work before then. In any case, Tim +Morgan and I were jointly maintaining it for a time. (I should mention +here that Tim had made Web2c into a real distribution long before I had +ever used it or even heard of it, and Tom Rokicki did the original +implementation. I was using <code>pxp</code> and <code>pc</code> on VAX 11/750's +and the hot new Sun 2 machines.) + + <p>It must have been later in 1990 and 1991 that I started working on +<cite>TeX for the Impatient</cite>. Dvips, Xdvi, Web2c, and the GNU +fontutils (which I was also writing at the time) all used different +environment variables, and, more importantly, had different bugs in +their path searching. This became extremely painful, as I was stressing +everything to the limit working on the book. I also desperately wanted +to implement subdirectory searching, since I couldn't stand putting +everything in one big directory, and also couldn't stand having to +explicitly specify <samp><span class="file">cm</span></samp>, <samp><span class="file">pandora</span></samp>, <small class="dots">...</small> in a path. + + <p><a name="index-Vojta_002c-Paul-20"></a>In the first incarnation, I just hacked separately on each +program—that was the original subdirectory searching code in both Xdvi +and Dvips, though I think Paul Vojta has completely rewritten Xdvi's +support by now. That is, I tried to go with the flow in each program, +rather than changing the program's calling sequences to conform to +common routines. + + <p>Then, as bugs inevitably appeared, I found I was fixing the same thing +three times (Web2c and fontutils were always sharing code, since I +maintained those—there was no Dvipsk or Xdvik or Dviljk at this +point). After a while, I finally started sharing source files. They +weren't yet a library, though. I just kept things up to date with shell +scripts. (I was developing on a 386 running ISC 2.2 at the time, and so +didn't have symbolic links. An awful experience.) + + <p><a name="index-MacKenzie_002c-David-21"></a>The ChangeLogs for Xdvik and Dvipsk record initial releases of those +distributions in May and June 1992. I think it was because I was tired +of the different configuration strategies of each program, not so much +because of the path searching. (Autoconf was being developed by David +MacKenzie and others, and I was adapting it to TeX and friends.) + + <p><a name="index-zuhn_002c-david-22"></a>I started to make a separate library that other programs could link with +on my birthday in April 1993, according to the ChangeLog. I don't +remember exactly why I finally took the time to make it a separate +library; a conversation with david zuhn that initiated it. Just seemed +like it was time. + + <p><a name="index-Walsh_002c-Norman-23"></a><a name="index-Neumann_002c-Gustaf-24"></a>Dviljk got started in March 1994 after I bought a Laserjet 4. (Kpathsea +work got suspended while Norm Walsh and I, with Gustaf Neumann's help, +implemented a way for TeX to get at all those neat builtin LJ4 fonts +<small class="dots">...</small> such a treat to have something to typeset in besides Palatino!) + + <p>By spring of 1995, I had implemented just about all the path-searching +features in Kpathsea that I plan to, driven beyond my initial goals by +Thomas Esser and others. I then started to integrate Web2c with +Kpathsea. After the release of a stable Web2c, I hope to be able to stop +development, and turn most of my attention back to making fonts for GNU. +(Always assuming Micros**t hasn't completely obliterated Unix by then, +or that software patents haven't stopped software development by anybody +smaller than a company with a million-dollar-a-year legal budget. Which +is actually what I think is likely to happen, but that's another +story<small class="dots">...</small>) + + <p><a name="index-Weber_002c-Olaf-25"></a>[Olaf writes.] At the end of 1997, UNIX is still alive and kicking, +individuals still develop software, and Web2c development still +continues. Karl had been looking for some time for someone to take up +part of the burden, and I volunteered. + +<div class="node"> +<a name="Installation"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Path-searching">Path searching</a>, +Previous: <a rel="previous" accesskey="p" href="#Introduction">Introduction</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">2 Installation</h2> + +<p><a name="index-installation-26"></a><a name="index-configuration-27"></a><a name="index-compilation-28"></a> +(A copy of this chapter is in the distribution file <samp><span class="file">kpathsea/INSTALL</span></samp>.) + + <p>The procedure for Kpathsea (and Web2c, etc.) configuration and +installation follows. If you encounter trouble, see <a href="#Common-problems">Common problems</a>, a copy of which is in the file <samp><span class="file">kpathsea/BUGS</span></samp>. + +<ul class="menu"> +<li><a accesskey="1" href="#Simple-installation">Simple installation</a>: If you just want to do it. +<li><a accesskey="2" href="#Custom-installation">Custom installation</a>: If you want to change things around. +<li><a accesskey="3" href="#Security">Security</a>: Who can write what files, etc. +<li><a accesskey="4" href="#TeX-directory-structure">TeX directory structure</a>: Managing the horde of TeX input files. +<li><a accesskey="5" href="#unixtex_002eftp">unixtex.ftp</a>: Getting software via FTP, on CD-ROM, or on tape. +<li><a accesskey="6" href="#Reporting-bugs">Reporting bugs</a>: Where and how to report bugs. +</ul> + +<div class="node"> +<a name="Simple-installation"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Custom-installation">Custom installation</a>, +Up: <a rel="up" accesskey="u" href="#Installation">Installation</a> + +</div> + +<h3 class="section">2.1 Simple installation</h3> + +<p><a name="index-simple-installation-29"></a><a name="index-installation_002c-simple-30"></a> +<a name="index-precompiled-executables_002c-instead-of-installation-31"></a><a name="index-installation_002c-getting-executables-instead-of-32"></a>Installing TeX and friends for the first time can be a daunting +experience. Thus, you may prefer to skip this whole thing and just get +precompiled executables: see <a href="#unixtex_002eftp">unixtex.ftp</a>. + + <p>This section explains what to do if you wish to take the defaults for +everything, and generally to install in the simplest possible way. Most +steps here refer to corresponding subsection in the next section which +explains how to override defaults and generally gives more details. + + <p>By default everything will be installed under <samp><span class="file">/usr/local</span></samp> and the +following discussion assumes this. However, if you already have TeX +installed, its location is used to derive the directory under which +everything is to be installed. + + <ol type=1 start=1> +<li>Be sure you have enough disk space: approximately 8 megabytes for the +compressed archives, 15MB for sources, 50MB for compilation, 40MB for +the (initial) installed system (including library files). See <a href="#Disk-space">Disk space</a>. + + <li>Retrieve these distribution archives: + <dl> +<dt><a href="ftp://ftp.tug.org/tex/texk.tar.gz">ftp://ftp.tug.org/tex/texk.tar.gz</a><dd>These are the sources, which you will be compiling. + + <br><dt><a href="ftp://ftp.tug.org/tex/texklib.tar.gz">ftp://ftp.tug.org/tex/texklib.tar.gz</a><dd>This is a basic set of input files. You should unpack it in the +directory <samp><span class="file">/usr/local/share</span></samp>; doing so will create a <samp><span class="file">texmf</span></samp> +subdirectory there. +</dl> + + <p>These archives are mirrored on the CTAN hosts, in the +<samp><span class="file">systems/web2c</span></samp> directory. + + <p class="noindent">See <a href="#Kpathsea-application-distributions">Kpathsea application distributions</a>. + + <li>When using the default search paths, there is no need to edit any +distribution files. See <a href="#Changing-search-paths">Changing search paths</a>. + + <li>At the top level of the distribution, run ‘<samp><span class="samp">sh configure</span></samp>’. (If you +have the GNU Bash shell installed, run ‘<samp><span class="samp">bash configure</span></samp>’.) +See <a href="#Running-configure">Running configure</a>. + + <li>‘<samp><span class="samp">make</span></samp>’. See <a href="#Running-make">Running make</a>. If you are using a BSD 4.4 system +such as FreeBSD or NetBSD, you may have to use GNU make (often installed +in <samp><span class="file">/usr/local/bin</span></samp>), not the BSD make. + + <li>‘<samp><span class="samp">make install</span></samp>’. See <a href="#Installing-files">Installing files</a>. + + <li>‘<samp><span class="samp">make distclean</span></samp>’. See <a href="#Cleaning-up">Cleaning up</a>. + + <li>Set up a cron job to rebuild the filename database that makes searching +faster. This line will rebuild it every midnight: + <pre class="example"> 0 0 * * * cd /usr/local/share/texmf && <var>/bindir</var>/mktexlsr +</pre> + <p>See <a href="#Filename-database-generation">Filename database generation</a>, and <a href="#Filename-database">Filename database</a>. + + <li><a name="index-printer-configuration-files-33"></a><a name="index-PostScript-fonts_002c-additional-34"></a><a name="index-color-printers_002c-configuring-35"></a>If you're installing Dvips, you also need to set up configuration files +for your printers and make any additional PostScript fonts available. +See <a href="dvips.html#Installation">Installation</a>. If you have any color printers, +see <a href="dvips.html#Color-device-configuration">Color device configuration</a>. + + <li>The first time you run a DVI driver, a bunch of PK fonts will be built +by Metafont via <code>mktexpk</code> (and added to the filename database). +This will take some time. Don't be alarmed; they will created only this +first time (unless something is wrong with your path definitions). + + <p>By default, <code>mktexpk</code> will create these fonts in a hierarchy +under <samp><span class="file">/var/tmp/texfonts</span></samp>; it simply assumes that <samp><span class="file">/var/tmp</span></samp> +exists and is globally writable. If you need a different arrangement, +see <a href="#mktex-configuration">mktex configuration</a>. + + <p>See <a href="#mktex-scripts">mktex scripts</a>. + + <li><a name="index-fonts_002c-being-created-36"></a><a name="index-mktexpk-_0040r_007b_002c-initial-runs_007d-37"></a><a name="index-tests_002c-simple-38"></a>For some simple tests, try ‘<samp><span class="samp">tex story \\bye</span></samp>’ and ‘<samp><span class="samp">latex +sample2e</span></samp>’. Then run <samp><span class="file">xdvi story</span></samp> or <samp><span class="file">dvips sample2e</span></samp> on the +resulting DVI files to preview/print the documents. See <a href="#Installation-testing">Installation testing</a>. + </ol> + +<div class="node"> +<a name="Custom-installation"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Security">Security</a>, +Previous: <a rel="previous" accesskey="p" href="#Simple-installation">Simple installation</a>, +Up: <a rel="up" accesskey="u" href="#Installation">Installation</a> + +</div> + +<h3 class="section">2.2 Custom installation</h3> + +<p><a name="index-custom-installation-39"></a><a name="index-installation_002c-customized-40"></a> +Most sites need to modify the default installation procedure in some +way, perhaps merely changing the prefix from ‘<samp><span class="samp">/usr/local</span></samp>’, perhaps +adding extra compiler or loader options to work around <code>configure</code> +bugs. This section explains how to override default choices. For +additional distribution-specific information: + <ul> +<li><samp><span class="file">dviljk/INSTALL</span></samp>. +<li>See <a href="dvips.html#Installation">Installation</a>. +<li>See <a href="web2c.html#Installation">Installation</a>. +<li><samp><span class="file">xdvik/INSTALL</span></samp>. +</ul> + + <p><a name="index-non_002dUnix-operating-systems-41"></a><a name="index-Amiga-support-42"></a><a name="index-DOS-support-43"></a><a name="index-OS_002f2-support-44"></a><a name="index-VMS-support-45"></a>These instructions are for Unix systems. Other operating-system +specific distributions have their own instructions. The code base +itself supports Amiga, DOS, OS/2, and VMS. + + <p>Following are the same steps as in the previous section (which describes +the simplest installation), but with much more detail. + +<ul class="menu"> +<li><a accesskey="1" href="#Disk-space">Disk space</a> +<li><a accesskey="2" href="#Kpathsea-application-distributions">Kpathsea application distributions</a> +<li><a accesskey="3" href="#Changing-search-paths">Changing search paths</a> +<li><a accesskey="4" href="#Running-configure">Running configure</a> +<li><a accesskey="5" href="#Running-make">Running make</a> +<li><a accesskey="6" href="#Installing-files">Installing files</a> +<li><a accesskey="7" href="#Cleaning-up">Cleaning up</a> +<li><a accesskey="8" href="#Filename-database-generation">Filename database generation</a> +<li><a accesskey="9" href="#mktex-scripts">mktex scripts</a> +<li><a href="#Installation-testing">Installation testing</a> +</ul> + +<div class="node"> +<a name="Disk-space"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Kpathsea-application-distributions">Kpathsea application distributions</a>, +Up: <a rel="up" accesskey="u" href="#Custom-installation">Custom installation</a> + +</div> + +<h4 class="subsection">2.2.1 Disk space</h4> + +<p><a name="index-disk-space_002c-needed-46"></a><a name="index-total-disk-space-47"></a><a name="index-size-of-distribution-archives-48"></a>Here is a table showing the disk space needed for each distribution +(described in the next section). The `(totals)' line reflects the +‘<samp><span class="samp">texk</span></samp>’ source distribution and ‘<samp><span class="samp">texklib</span></samp>’; the individual +distributions don't enter into it. Sizes are in megabytes. All numbers +are approximate. + + <p><table summary=""><tr align="left"><td valign="top">Distribution </td><td valign="top">.tar.gz </td><td valign="top">Unpacked </td><td valign="top">Compiled </td><td valign="top">Installed +<br></td></tr><tr align="left"><td valign="top">dviljk </td><td valign="top">.9 </td><td valign="top">3.8 </td><td valign="top"> +<br></td></tr><tr align="left"><td valign="top">dvipsk </td><td valign="top">.9 </td><td valign="top">3.2 </td><td valign="top"> +<br></td></tr><tr align="left"><td valign="top">xdvik </td><td valign="top">.7 </td><td valign="top">2.5 </td><td valign="top"> +<br></td></tr><tr align="left"><td valign="top">web2c </td><td valign="top">1.3 </td><td valign="top">5.0 </td><td valign="top"> +<br></td></tr><tr align="left"><td valign="top">web </td><td valign="top">1.9 </td><td valign="top">6.5 </td><td valign="top">- </td><td valign="top">- +<br></td></tr><tr align="left"><td valign="top">texk </td><td valign="top">7.5 </td><td valign="top">32.1 </td><td valign="top">95.3 </td><td valign="top">33.5 +<br></td></tr><tr align="left"><td valign="top">texklib </td><td valign="top">6.3 </td><td valign="top">15.0 </td><td valign="top">- </td><td valign="top">15.0 +<br></td></tr><tr align="left"><td valign="top">(totals) </td><td valign="top">14.6 </td><td valign="top">47.1 </td><td valign="top">95.3 </td><td valign="top">48.5 + <br></td></tr></table> + +<div class="node"> +<a name="Kpathsea-application-distributions"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Changing-search-paths">Changing search paths</a>, +Previous: <a rel="previous" accesskey="p" href="#Disk-space">Disk space</a>, +Up: <a rel="up" accesskey="u" href="#Custom-installation">Custom installation</a> + +</div> + +<h4 class="subsection">2.2.2 Kpathsea application distributions</h4> + +<p><a name="index-distributions_002c-compiling-simultaneously-49"></a><a name="index-version-number_002c-of-Kpathsea-50"></a><a name="index-Kpathsea-version-number-51"></a> +<a name="index-distributions_002c-not-compiling-52"></a><a name="index-NeXT_002c-lacking-X11-53"></a><a name="index-X11_002c-lacking-on-NeXT-54"></a>The archive <a href="ftp://ftp.tug.org/tex/texk.tar.gz">ftp://ftp.tug.org/tex/texk.tar.gz</a> contains all of the +Kpathsea applications I maintain, and the library itself. For example, +since NeXT does not generally support X11, you'd probably want to skip +‘<samp><span class="samp">xdvik</span></samp>’ (or simply remove it after unpacking <samp><span class="file">texk.tar.gz</span></samp>. +If you are not interested in all of them, you can also retrieve them +separately: + + <p><a name="index-DVI-drivers-55"></a> + <dl> +<dt><samp><span class="file">dviljk.tar.gz</span></samp><dd><a name="index-PCL-driver-56"></a><a name="index-LaserJet-drive-57"></a>DVI to PCL, for LaserJet printers. + + <br><dt><samp><span class="file">dvipsk.tar.gz</span></samp><dd><a name="index-PDF-generation-58"></a><a name="index-PostScript-driver-59"></a>DVI to PostScript, for previewers, printers, or PDF generation. + + <br><dt><samp><span class="file">web2c.tar.gz</span></samp><dd>The software needed to compile TeX and friends. + + <br><dt><samp><span class="file">web.tar.gz</span></samp><dd>The original WEB source files, also used in compilation. + + <br><dt><samp><span class="file">xdvik.tar.gz</span></samp><dd><a name="index-X11-previewer-60"></a>DVI previewing under the X window system. + + </dl> + + <p><a name="index-Babel-61"></a><a name="index-non_002dEnglish-typesetting-62"></a>If you want to use the Babel LaTeX package for support of non-English +typesetting, you may need to retrieve additional files. See the file +<samp><span class="file">install.txt</span></samp> in the Babel distribution. + +<div class="node"> +<a name="Changing-search-paths"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Running-configure">Running configure</a>, +Previous: <a rel="previous" accesskey="p" href="#Kpathsea-application-distributions">Kpathsea application distributions</a>, +Up: <a rel="up" accesskey="u" href="#Custom-installation">Custom installation</a> + +</div> + +<h4 class="subsection">2.2.3 Changing search paths</h4> + +<p><a name="index-search-paths_002c-changing-default-63"></a><a name="index-paths_002c-changing-default-64"></a><a name="index-texmf_002ein_0040r_007b_002c-editing_007d-65"></a>If the search paths for your installation differ from the standard +TeX directory structure (see <a href="tds.html#Top">Introduction</a>), edit the file <samp><span class="file">kpathsea/texmf.in</span></samp> +as desired, before running <code>configure</code>. For example, if you have +all your fonts or macros in one big directory. + + <p>You may also wish to edit the file <samp><span class="file">mktex.cnf</span></samp>, either before or +after installation, to control various aspects of <code>mktexpk</code> and +friends. See <a href="#mktex-configuration">mktex configuration</a>. + + <p>You do not need to edit <samp><span class="file">texmf.in</span></samp> to change the default +top-level or other installation <em>directories</em> (only the paths). +You can and should do that when you run <code>configure</code> (next step). + + <p>You also do not need to edit <samp><span class="file">texmf.in</span></samp> if you are willing to +rely on <samp><span class="file">texmf.cnf</span></samp> at runtime to define the paths, and let the +compile-time default paths be incorrect. Usually there is no harm in +doing this. + + <p>The section below explains default generation in more detail. + +<ul class="menu"> +<li><a accesskey="1" href="#Default-path-features">Default path features</a> +<li><a accesskey="2" href="#Default-path-generation">Default path generation</a> +</ul> + +<div class="node"> +<a name="Default-path-features"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Default-path-generation">Default path generation</a>, +Up: <a rel="up" accesskey="u" href="#Changing-search-paths">Changing search paths</a> + +</div> + +<h5 class="subsubsection">2.2.3.1 Default path features</h5> + +<p><a name="index-default-path-features-66"></a><a name="index-features_002c-of-default-paths-67"></a> +The purpose of having all the different files described in the section +above is to avoid having the same information in more than one place. If +you change the installation directories or top-level prefix at +<code>configure</code>-time, those changes will propagate through the whole +sequence. And if you change the default paths in <samp><span class="file">texmf.in</span></samp>, +those changes are propagated to the compile-time defaults. + + <p>The Make definitions are all repeated in several <tt>Makefile</tt>'s; but +changing the top-level <samp><span class="file">Makefile</span></samp> should suffice, as it passes down +all the variable definitions, thus overriding the submakes. (The +definitions are repeated so you can run Make in the subdirectories, if +you should have occasion to.) + + <p><a name="index-MAKETEX_005fMODE-68"></a><a name="index-paths_002c-device-name-included-in-69"></a>By default, the bitmap font paths end with ‘<samp><span class="samp">/$MAKETEX_MODE</span></samp>’, thus +including the device name (usually a Metafont mode name such as +‘<samp><span class="samp">ljfour</span></samp>’). This distinguishes two different devices with the same +resolution—a write/white from a write/black 300<span class="dmn">dpi</span> printer, for +example. + + <p><a name="index-kpse_005finit_005fprog_0040r_007b_002c-and-_0040code_007bMAKETEX_005fMODE_007d_007d-70"></a><a name="index-proginit_002ec-71"></a>However, since most sites don't have this complication, Kpathsea +(specifically, the <code>kpse_init_prog</code> function in +<samp><span class="file">kpathsea/proginit.c</span></samp>) has a special case: if the mode has not been +explicitly set by the user (or in a configuration file), it sets +<code>MAKETEX_MODE</code> to <code>/</code>. This makes the default PK path, for +example, expand into <code>.../pk//</code>, so fonts will be found even if +there is no subdirectory for the mode (if you arranged things that way +because your site has only one printer, for example) or if the program +is mode-independent (e.g., <code>pktype</code>). + + <p>To make the paths independent of the mode, simply edit +<samp><span class="file">texmf.in</span></samp> before installation, or the installed +<samp><span class="file">texmf.cnf</span></samp>, and remove the ‘<samp><span class="samp">$MAKETEX_MODE</span></samp>’. + + <p>See <a href="#mktex-script-arguments">mktex script arguments</a>, for how this interacts with <code>mktexpk</code>. + + <p><a name="index-TDS-72"></a><a name="index-g_t_0040TeX_007b_007d-directory-structure-73"></a>See <a href="#TeX-directory-structure">TeX directory structure</a>, for a +description of the default arrangement of the input files that comprise +the TeX system. + +<div class="node"> +<a name="Default-path-generation"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Default-path-features">Default path features</a>, +Up: <a rel="up" accesskey="u" href="#Changing-search-paths">Changing search paths</a> + +</div> + +<h5 class="subsubsection">2.2.3.2 Default path generation</h5> + +<p><a name="index-default-paths_002c-changing-74"></a><a name="index-paths_002c-changing-default-75"></a><a name="index-installation_002c-changing-default-directories-76"></a><a name="index-directories_002c-changing-default-installation-77"></a> +This section describes how the default paths are constructed. + + <p>You may wish to ignore the whole mess and simply edit <samp><span class="file">texmf.cnf</span></samp> +after it is installed, perhaps even copying it into place beforehand so +you can complete the installation, if it seems necessary. + + <p><a name="index-default-paths_002c-how-they_0027re-made-78"></a>To summarize the chain of events that go into defining the default paths: + + <ol type=1 start=1> +<li>‘<samp><span class="samp">configure</span></samp>’ creates a <samp><span class="file">Makefile</span></samp> from each <samp><span class="file">Makefile.in</span></samp>. + + <li><a name="index-texmf_002esed-79"></a>When Make runs in the <samp><span class="file">kpathsea</span></samp> directory, it creates a file +<samp><span class="file">texmf.sed</span></samp> that substitutes the Make value of <code>$(var)</code> for a +string <code>@var@</code>. The variables in question are the one that +define the installation directories. + + <li><a name="index-texmf_002ein-80"></a><a name="index-texmf_002ecnf_0040r_007b_002c-generated_007d-81"></a><samp><span class="file">texmf.sed</span></samp> (together with a little extra magic—see +<samp><span class="file">kpathsea/Makefile</span></samp>) is applied to <samp><span class="file">texmf.in</span></samp> to generate +<samp><span class="file">texmf.cnf</span></samp>. This is the file that will eventually be installed +and used. + + <li><a name="index-paths_002eh-82"></a>The definitions in <samp><span class="file">texmf.cnf</span></samp> are recast as C <code>#define</code>'s in +<samp><span class="file">paths.h</span></samp>. These values will be the compile-time defaults; they +are not used at runtime unless no <samp><span class="file">texmf.cnf</span></samp> file can be found. + + <p>(That's a lie: the compile-time defaults are what any extra <tt>:</tt>'s in +<samp><span class="file">texmf.cnf</span></samp> expand into; but the paths as distributed have no extra +<tt>:</tt>'s, and there's no particular reason for them to.) + </ol> + +<div class="node"> +<a name="Running-configure"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Running-make">Running make</a>, +Previous: <a rel="previous" accesskey="p" href="#Changing-search-paths">Changing search paths</a>, +Up: <a rel="up" accesskey="u" href="#Custom-installation">Custom installation</a> + +</div> + +<h4 class="subsection">2.2.4 Running <code>configure</code></h4> + +<p><a name="index-configure_0040r_007b_002c-running_007d-83"></a><a name="index-c_002dauto_002ein-84"></a><a name="index-Makefile_002ein-85"></a><a name="index-ac_005finclude_0040r_007b_002c-Autoconf-extension_007d-86"></a><a name="index-g_t_0040_0040_0040var_007bvar_007d_0040_0040-substitutions-87"></a><a name="index-system-dependencies-88"></a>Run <code>sh configure </code><var>options</var> (in the top-level directory, the +one containing <samp><span class="file">kpathsea/</span></samp>), possibly using a shell other than +<code>sh</code> (see <a href="#configure-shells">configure shells</a>). + + <p><code>configure</code> adapts the source distribution to the present system +via <code>#define</code>'s in <samp><span class="file">*/c-auto.h</span></samp>, which are created from the +corresponding <samp><span class="file">c-auto.in</span></samp>. It also creates a <samp><span class="file">Makefile</span></samp> from +the corresponding <samp><span class="file">Makefile.in</span></samp>, doing ‘<samp><span class="samp">@</span><var>var</var><span class="samp">@</span></samp>’ and +‘<samp><span class="samp">ac_include</span></samp>’ substitutions). + + <p><a name="index-README_002eCONFIGURE-89"></a><a name="index-kpathsea_002fREADME_002eCONFIGURE-90"></a><code>configure</code> is the best place to control the configuration, +compilation, and installed location of the software, either via +command-line options, or by setting environment variables before +invoking it. For example, you can disable <code>mktexpk</code> by default +with the option ‘<samp><span class="samp">--disable-mktexpk</span></samp>’. +See <a href="#configure-options">configure options</a>. + +<ul class="menu"> +<li><a accesskey="1" href="#configure-shells">configure shells</a> +<li><a accesskey="2" href="#configure-options">configure options</a> +<li><a accesskey="3" href="#configure-environment">configure environment</a> +<li><a accesskey="4" href="#configure-scenarios">configure scenarios</a> +<li><a accesskey="5" href="#Shared-library">Shared library</a> +</ul> + +<div class="node"> +<a name="configure-shells"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#configure-options">configure options</a>, +Up: <a rel="up" accesskey="u" href="#Running-configure">Running configure</a> + +</div> + +<h5 class="subsubsection">2.2.4.1 <code>configure</code> shells</h5> + +<p><a name="index-shells-and-_0040code_007bconfigure_007d-91"></a><a name="index-bash_0040r_007b_002c-recommended-for-running-_0040code_007bconfigure_007d_007d-92"></a> +Considerable effort has gone into trying to ensure that the +<code>configure</code> scripts can be run by most Bourne shell variants. +If <code>sh</code> runs into trouble, your best bet is to use Bash, the GNU +Bourne-again shell (see <a href="bash.html#Top">Top</a>). + + <p>Bourne shell variants for which problems have been reported in the past +are: + <dl> +<dt><code>ksh</code><dd><a name="index-ksh_0040r_007b_002c-losing-with-_0040code_007bconfigure_007d_007d-93"></a><a name="index-bsh_0040r_007b_002c-ok-with-_0040code_007bconfigure_007d_007d-94"></a><a name="index-Korn-shell_0040r_007b_002c-losing-with-_0040code_007bconfigure_007d_007d-95"></a><a name="index-AIX-shells-and-_0040code_007bconfigure_007d-96"></a>Old versions of the Korn shell may fail to handle the scripts. The Korn +shell may be installed as <samp><span class="file">/bin/sh</span></samp> on AIX, in which case +<samp><span class="file">/bin/bsh</span></samp> may serve instead. + + <br><dt><code>ash</code><dd><a name="index-ash_0040r_007b_002c-losing-with-_0040code_007bconfigure_007d_007d-97"></a><a name="index-NetBSD-shells-and-_0040code_007bconfigure_007d-98"></a><a name="index-FreeBSD-shells-and-_0040code_007bconfigure_007d-99"></a><a name="index-Linux-shells-and-_0040code_007bconfigure_007d-100"></a>Old versions of ash are unable to handle the scripts. Ash is sometimes +installed as <samp><span class="file">/bin/sh</span></samp> on NetBSD, FreeBSD, and Linux systems. +<samp><span class="file">/bin/bash</span></samp> should be available for those systems, but might not be +part of a default installation. + + <br><dt><span class="roman">Ultrix</span><code> /bin/sh</code><dd><a name="index-DEC-shells-and-_0040code_007bconfigure_007d-101"></a><a name="index-Ultrix-shells-and-_0040code_007bconfigure_007d-102"></a><a name="index-sh5_0040r_007b_002c-ok-with-_0040code_007bconfigure_007d_007d-103"></a><samp><span class="file">/bin/sh</span></samp> under Ultrix is a DEC-grown shell that is notably +deficient in many ways. <samp><span class="file">/bin/sh5</span></samp> may be necessary. +</dl> + +<div class="node"> +<a name="configure-options"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#configure-environment">configure environment</a>, +Previous: <a rel="previous" accesskey="p" href="#configure-shells">configure shells</a>, +Up: <a rel="up" accesskey="u" href="#Running-configure">Running configure</a> + +</div> + +<h5 class="subsubsection">2.2.4.2 <code>configure</code> options</h5> + +<p><a name="index-g_t_0040code_007bconfigure_007d-options-104"></a> +For a complete list of all <code>configure</code> options, run ‘<samp><span class="samp">configure +--help</span></samp>’ or see <a href="autoconf.html#Invoking-configure">Running <code>configure</code> scripts</a>, (a copy is in the file <samp><span class="file">kpathsea/README.CONFIGURE</span></samp>). +The generic options are listed first in the ‘<samp><span class="samp">--help</span></samp>’ output, and +the package-specific options come last. The environment variables +<code>configure</code> pays attention to are listed below. + + <p>Options particularly likely to be useful are ‘<samp><span class="samp">--prefix</span></samp>’, +‘<samp><span class="samp">--datadir</span></samp>’, and the like; see <a href="#configure-scenarios">configure scenarios</a>. + + <p><a name="index-g_t_002d_002dwith-_0040r_007boptions_007d-105"></a><a name="index-g_t_002d_002denable-_0040r_007boptions_007d-106"></a><a name="index-configuration-of-optional-features-107"></a><a name="index-options-to-_0040code_007bconfigure_007d-108"></a>This section gives pointers to descriptions of the ‘<samp><span class="samp">--with</span></samp>’ and +‘<samp><span class="samp">--enable</span></samp>’ options to <code>configure</code> that Kpathsea-using programs +accept. + + <dl> +<dt>‘<samp><span class="samp">--without-mktexmf-default</span></samp>’<dt>‘<samp><span class="samp">--without-mktexpk-default</span></samp>’<dt>‘<samp><span class="samp">--without-mktextfm-default</span></samp>’<dt>‘<samp><span class="samp">--with-mktextex-default</span></samp>’<dd>Enable or disable the dynamic generation programs. See <a href="#mktex-configuration">mktex configuration</a>. + + <br><dt>‘<samp><span class="samp">--enable-shared</span></samp>’<dd><a name="index-g_t_002d_002denable_002dshared-109"></a>Build Kpathsea as a shared library, and link against it. Also build the +usual static library. See <a href="#Shared-library">Shared library</a>. + + <br><dt>‘<samp><span class="samp">--disable-static</span></samp>’<dd><a name="index-g_t_002d_002ddisable_002dstatic-110"></a>Build only the shared library. Implies ‘<samp><span class="samp">--enable-shared</span></samp>’. + + <br><dt>‘<samp><span class="samp">--enable-maintainer-mode</span></samp>’<dd><a name="index-g_t_002d_002denable_002dmaintainer_002dmode-111"></a>Enables make targets that are useful for the maintainer and likely to be +a pain for anyone else; the makefiles created when this option is +enabled may not work at all for you. You have been warned. +</dl> + +<div class="node"> +<a name="configure-environment"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#configure-scenarios">configure scenarios</a>, +Previous: <a rel="previous" accesskey="p" href="#configure-options">configure options</a>, +Up: <a rel="up" accesskey="u" href="#Running-configure">Running configure</a> + +</div> + +<h5 class="subsubsection">2.2.4.3 <code>configure</code> environment</h5> + +<p><code>configure</code> uses the value of the following environment variables in +determining your system's characteristics, and substitutes for them in +<tt>Makefile</tt>'s: + + <dl> +<dt>‘<samp><span class="samp">CC</span></samp>’<a name="index-CC-112"></a><dd><a name="index-gcc_0040r_007b_002c-compiling-with_007d-113"></a><a name="index-cc_0040r_007b_002c-compiling-with_007d-114"></a>The compiler to use: default is <code>gcc</code> if it's installed, otherwise +<code>cc</code>. + + <br><dt>‘<samp><span class="samp">CFLAGS</span></samp>’<a name="index-CFLAGS-115"></a><dd><a name="index-compiler-options_002c-specifying-116"></a>Options to give the compiler: default is ‘<samp><span class="samp">-g -O2</span></samp>’ for <code>gcc</code>, +‘<samp><span class="samp">-g</span></samp>’ otherwise. <code>CFLAGS</code> comes after any other options. You +may need to include <code>-w</code> here if your compilations commonly have +useless warnings (e.g., <code>NULL redefined</code>), or <code>configure</code> may +fail to detect the presence of header files (it takes the messages on +standard error to mean the header file doesn't exist). + + <br><dt>‘<samp><span class="samp">CPPFLAGS</span></samp>’<a name="index-CPPFLAGS-117"></a><dd><a name="index-configuration-compiler-options-118"></a>Options to pass to the compiler preprocessor; this matters most for +configuration, not the actual source compilation. The <code>configure</code> +script often does only preprocessing (e.g., to check for the existence +of <tt>#include</tt> files), and <code>CFLAGS</code> is not used for this. You may +need to set this to something like +‘<samp><span class="samp">-I/usr/local/include/wwwhatever</span></samp>’ if you have the libwww library +installed for hyper-xdvik (see <samp><span class="file">xdvik/INSTALL</span></samp>). + + <br><dt>‘<samp><span class="samp">DEFS</span></samp>’<a name="index-DEFS-119"></a><dd><a name="index-preprocessor-options-120"></a>Additional preprocessor options, but not used by <code>configure</code>. +Provided for enabling or disabling program features, as documented in +the various program-specific installation instructions. <code>DEFS</code> +comes before any compiler options included by the distribution +<samp><span class="file">Makefile</span></samp>s or by <code>configure</code>. + + <br><dt>‘<samp><span class="samp">LDFLAGS</span></samp>’<a name="index-LDFLAGS-121"></a><dd><a name="index-loader-options-122"></a>Additional options to give to the loader. <code>LDFLAGS</code> comes before +any other linker options. + + <br><dt>‘<samp><span class="samp">LIBS</span></samp>’<a name="index-LIBS-123"></a><dd><a name="index-libraries_002c-specifying-additional-124"></a>Additional libraries to link with. +</dl> + +<div class="node"> +<a name="configure-scenarios"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Shared-library">Shared library</a>, +Previous: <a rel="previous" accesskey="p" href="#configure-environment">configure environment</a>, +Up: <a rel="up" accesskey="u" href="#Running-configure">Running configure</a> + +</div> + +<h5 class="subsubsection">2.2.4.4 <code>configure</code> scenarios</h5> + +<p>Here are some common installation scenarios: + + <ul> +<li>Including X support in Metafont. This is disabled by default, since +many sites have no use for it, and it's a leading cause of configuration +problems. + <pre class="example"> configure --with-x +</pre> + <li><a name="index-g_t_0040TeX_007b_007d-hierarchy_002c-one-125"></a>Putting the binaries, TeX files, GNU info files, etc. into a single +TeX hierarchy, say <samp><span class="file">/here/texmf</span></samp>, requires overriding defaults in +<code>configure</code>: + <pre class="example"> configure --prefix=/here/texmf --datadir=/here +</pre> + <li><a name="index-multiple-architectures_002c-compiling-on-126"></a><a name="index-architectures_002c-compiling-multiple-127"></a><a name="index-symbolic-link-trees_002c-for-multiple-architectures-128"></a><a name="index-g_t_002d_002dsrcdir_0040r_007b_002c-for-building-multiple-architectures_007d-129"></a><a name="index-lndir-_0040r_007bfor-building-symlink-trees_007d-130"></a>You can compile on multiple architectures simultaneously either by +building symbolic link trees with the <code>lndir</code> script from the X11 +distribution, or with the ‘<samp><span class="samp">--srcdir</span></samp>’ option: + <pre class="example"> configure --srcdir=<var>srcdir</var> +</pre> + <li><a name="index-multiple-architectures_002c-directories-for-131"></a>If you are installing binaries for multiple architectures into a single +hierarchy, you will probably want to override the default <samp><span class="file">bin</span></samp> and +<samp><span class="file">lib</span></samp> directories, something like this: + <pre class="example"> configure --prefix=<var>texmf</var> --datadir=<var>texmf</var> \ + --bindir=<var>texmf</var>/<var>arch</var>/bin --libdir=<var>texmf</var>/<var>arch</var>/lib + make texmf=<var>texmf</var> +</pre> + <p><a name="index-depot-132"></a><a name="index-automounter_002c-and-configuration-133"></a>(Unless you make provisions for architecture-specific files in +other ways, e.g., with Depot or an automounter.) + + <li><a name="index-g_t_002dO_0040r_007b_002c-compiling-with_007d-134"></a><a name="index-g_t_002dg_0040r_007b_002c-compiling-without_007d-135"></a><a name="index-optimization_002c-enabling-136"></a><a name="index-debugging-with-_0040samp_007b_002dg_007d_002c-disabling-137"></a>To compile with optimization (to compile without debugging, remove the +‘<samp><span class="samp">-g</span></samp>’): + <pre class="example"> env CFLAGS="-g -O" sh configure ... +</pre> + <p class="noindent">For a potential problem if you optimize, see <a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a>. +</ul> + +<div class="node"> +<a name="Shared-library"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#configure-scenarios">configure scenarios</a>, +Up: <a rel="up" accesskey="u" href="#Running-configure">Running configure</a> + +</div> + +<h5 class="subsubsection">2.2.4.5 Shared library</h5> + +<p><a name="index-shared-library_002c-making-138"></a> +<a name="index-g_t_002d_002denable_002dshared-139"></a>You can compile Kpathsea as a shared library on a few systems, by +specifying the option ‘<samp><span class="samp">--enable-shared</span></samp>’ when you run +‘<samp><span class="samp">configure</span></samp>’. + + <p><a name="index-code-sharing-140"></a>The main advantage in doing this is that the executables can then share +the code, thus decreasing memory and disk space requirements. + + <p>On some systems, you can record the location of shared libraries in a +binary, usually by giving certain options to the linker. Then +individual users do not need to set their system's environment variable +(e.g., <code>LD_LIBRARY_PATH</code>) to find shared libraries. If you want to +do this, you will need to add the necessary options to <code>LDFLAGS</code> +yourself; for example, on Solaris, include something like +‘<samp><span class="samp">-R${prefix}/lib</span></samp>’, on IRIX or Linux, use +‘<samp><span class="samp">-rpath${prefix}/lib</span></samp>’. (Unfortunately, making this happen by +default is very difficult, because of interactions with an existing +installed shared library.) + +<div class="node"> +<a name="Running-make"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Installing-files">Installing files</a>, +Previous: <a rel="previous" accesskey="p" href="#Running-configure">Running configure</a>, +Up: <a rel="up" accesskey="u" href="#Custom-installation">Custom installation</a> + +</div> + +<h4 class="subsection">2.2.5 Running <code>make</code></h4> + +<p><a name="index-make_0040r_007b_002c-running_007d-141"></a> +<a name="index-texmf_002ecnf_0040r_007b_002c-creating_007d-142"></a><a name="index-paths_002eh_0040r_007b_002c-creating_007d-143"></a><code>make</code> (still in the top-level directory). This also creates the +<samp><span class="file">texmf.cnf</span></samp> and <samp><span class="file">paths.h</span></samp> files that define the default search +paths, and (by default) the ‘<samp><span class="samp">plain</span></samp>’ and ‘<samp><span class="samp">latex</span></samp>’ TeX formats. + + <p><a name="index-fallback-resolutions_002c-overriding-144"></a>You can override directory names and other values at <code>make</code>-time. +<samp><span class="file">make/paths.make</span></samp> lists the variables most commonly reset. For +example, ‘<samp><span class="samp">make default_texsizes=600</span></samp>’ changes the list of fallback +resolutions. + + <p>You can also override each of <code>configure</code>'s environment variables +(see <a href="#configure-environment">configure environment</a>). The Make variables have the same names. + + <p>Finally, you can supply additional options via the following variables. +(<code>configure</code> does not use these.) + + <dl> +<dt>‘<samp><span class="samp">XCPPFLAGS</span></samp>’<a name="index-XCPPFLAGS-145"></a><dt>‘<samp><span class="samp">XDEFS</span></samp>’<a name="index-XDEFS-146"></a><dd><a name="index-preprocessor-options_002c-additional-147"></a>Preprocessor options. + + <br><dt>‘<samp><span class="samp">XCFLAGS</span></samp>’<a name="index-XCFLAGS-148"></a><dd><a name="index-compiler-options_002c-additional-149"></a>Compiler options. + + <br><dt>‘<samp><span class="samp">XLDFLAGS</span></samp>’<a name="index-XLDFLAGS-150"></a><dd><a name="index-loader-options_002c-initial-151"></a>Loader options (included at beginning of link commands). + + <br><dt>‘<samp><span class="samp">XLOADLIBES</span></samp>’<a name="index-XLOADLIBES-152"></a><dd><a name="index-loader-options_002c-final-153"></a>More loader options (included at end of link commands). + + <br><dt>‘<samp><span class="samp">XMAKEARGS</span></samp>’<a name="index-XMAKEARGS-154"></a><dd><a name="index-Make-arguments_002c-additional-155"></a>Additional Make arguments passed to all sub-<code>make</code>'s. You may need +to include assignments to the other variables here via <code>XMAKEARGS</code>; +for example: ‘<samp><span class="samp">make XMAKEARGS="CFLAGS=-O XDEFS=-DA4"</span></samp>’. +</dl> + + <p><a name="index-compiler_002c-changing-156"></a><a name="index-libraries_002c-changing-157"></a>It's generally a bad idea to use a different compiler (‘<samp><span class="samp">CC</span></samp>’) or +libraries (<code>LIBS</code>) for compilation than you did for configuration, +since the values <code>configure</code> determined may then be incorrect. + + <p><a name="index-universe_002c-BSD-vs_002e_0040_003a-system-V-158"></a><a name="index-BSD-universe-159"></a><a name="index-system-V-universe-160"></a><a name="index-Solaris-BSD-compatibility_002c-not-161"></a><a name="index-libucb_0040r_007b_002c-avoiding_007d-162"></a><a name="index-ucbinclude_0040r_007b_002c-avoiding_007d-163"></a>Adding compiler options to change the “universe” you are using +(typically BSD vs. system V) is generally a cause of trouble. It's +best to use the native environment, whatever that is; <code>configure</code> +and the software usually adapt best to that. In particular, under +Solaris 2.x, you should not use the BSD-compatibility library +(<samp><span class="file">libucb</span></samp>) or include files (<samp><span class="file">ucbinclude</span></samp>). + + <p><a name="index-Babel-164"></a>If you want to use the Babel LaTeX package for support of non-English +typesetting, you need to modify some files before making the LaTeX +format. See the file <samp><span class="file">install.txt</span></samp> in the Babel distribution. + +<div class="node"> +<a name="Installing-files"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Cleaning-up">Cleaning up</a>, +Previous: <a rel="previous" accesskey="p" href="#Running-make">Running make</a>, +Up: <a rel="up" accesskey="u" href="#Custom-installation">Custom installation</a> + +</div> + +<h4 class="subsection">2.2.6 Installing files</h4> + +<p><a name="index-installing-files-165"></a> +The basic command is the usual <code>make install</code>. For security +issues, see <a href="#Security">Security</a>. + + <p>The first time you install any manual in the GNU Info system, you should +add a line (you choose where) to the file <samp><span class="file">dir</span></samp> in your +‘<samp><span class="samp">$(infodir)</span></samp>’ directory. Sample text for this is given near the top +of the Texinfo source files (<samp><span class="file">kpathsea/kpathsea.texi</span></samp>, +<samp><span class="file">dvipsk/dvips.texi</span></samp>, and <samp><span class="file">web2c/doc/web2c.texi</span></samp>). +If you have a recent version of the GNU Texinfo distribution installed +(<a href="ftp://prep.ai.mit.edu/pub/gnu/texinfo-3.9.tar.gz">ftp://prep.ai.mit.edu/pub/gnu/texinfo-3.9.tar.gz</a> or later), this +should happen automatically. + + <p>On the offchance that this is your first Info installation, the +<samp><span class="file">dir</span></samp> file I use is included in the distribution as +<samp><span class="file">etc/dir-example</span></samp>. + + <p><a name="index-multiple-architectures_002c-installing-on-166"></a><a name="index-architecture_002d_0028in_0029dependent-files_002c-installing-only-167"></a><a name="index-installation_002c-architecture_002d_0028in_0029dependent-files-only-168"></a>You may wish to use one of the following targets, especially if you are +installing on multiple architectures: + <ul> +<li><a name="index-install_002dexec-_0040r_007bMake-target_007d-169"></a><code>make install-exec</code> to install in architecture-dependent +directories, i.e., ones that depend on the <code>$(exec_prefix)</code> Make +variable. This includes links to binaries, libraries, etc., not just +“executables”. + + <li><a name="index-install_002ddata-_0040r_007bMake-target_007d-170"></a><code>make install-data</code> to install in architecture-independent +directories, such as documentation, configuration files, pool files, etc. +</ul> + + <p><a name="index-AFS-171"></a><a name="index-Andrew-File-System_002c-installing-with-172"></a><a name="index-g_t_002fafs_002f_0040dots_007b_007d-_0040r_007b_002c-installing-into_007d-173"></a>If you use the Andrew File System, the normal path (e.g., +<var>prefix</var>/bin) only gets you to a read-only copy of the files, and +you must specify a different path for installation. The best way to do this +is by setting the ‘<samp><span class="samp">prefix</span></samp>’ variable on the <code>make</code> command +line. The sequence becomes something like this: +<pre class="example"> configure --prefix=/whatever + make + make install prefix=/afs/.<var>system.name</var>/system/1.3/@sys/whatever +</pre> + <p><a name="index-ls_002dR-_0040r_007band-AFS_007d-174"></a><a name="index-relative-filenames-in-_0040file_007bls_002dR_007d-175"></a>With AFS, you will definitely want to use relative filenames in +<samp><span class="file">ls-R</span></samp> (see <a href="#Filename-database">Filename database</a>), not absolute filenames. This +is done by default, but check anyway. + +<div class="node"> +<a name="Cleaning-up"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Filename-database-generation">Filename database generation</a>, +Previous: <a rel="previous" accesskey="p" href="#Installing-files">Installing files</a>, +Up: <a rel="up" accesskey="u" href="#Custom-installation">Custom installation</a> + +</div> + +<h4 class="subsection">2.2.7 Cleaning up</h4> + +<p><a name="index-distclean-_0040r_007bMake-target_007d-176"></a>The basic command is <code>make distclean</code>. This removes all files +created by the build. + + <p>Alternatively, + <ul> +<li><a name="index-mostlyclean-_0040r_007bMake-target_007d-177"></a><code>make mostlyclean</code> if you intend to compile on another +architecture. For Web2C, since the generated C files are portable, +they are not removed. If the <code>lex</code> vs. <code>flex</code> situation +is going to be different on the next machine, <code>rm +web2c/lex.yy.c</code>. + + <li><a name="index-clean-_0040r_007bMake-target_007d-178"></a><code>make clean</code> to remove files created by compiling, but leave +configuration files and Makefiles. + + <li><a name="index-maintainer_002dclean-_0040r_007bMake-target_007d-179"></a><code>make maintainer-clean</code> to remove everything that the Makefiles can +rebuild. This is more than ‘<samp><span class="samp">distclean</span></samp>’ removes, and you should +only use it if you are thoroughly conversant with (and have the necessary +versions of) Autoconf. + + <li><a name="index-extraclean-_0040r_007bMake-target_007d-180"></a><code>make extraclean</code> to remove other junk, e.g., core files, log +files, patch rejects. This is independent of the other ‘<samp><span class="samp">clean</span></samp>’ +targets. +</ul> + +<div class="node"> +<a name="Filename-database-generation"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#mktex-scripts">mktex scripts</a>, +Previous: <a rel="previous" accesskey="p" href="#Cleaning-up">Cleaning up</a>, +Up: <a rel="up" accesskey="u" href="#Custom-installation">Custom installation</a> + +</div> + +<h4 class="subsection">2.2.8 Filename database generation</h4> + +<p><a name="index-filename-database-generation-181"></a><a name="index-generation-of-filename-database-182"></a> +You will probably want to set up a <code>cron</code> entry on the appropriate +machine(s) to rebuild the filename database nightly or so, as in: +<pre class="example"> 0 0 * * * cd <var>texmf</var> && <var>/bindir</var>/mktexlsr +</pre> + <p class="noindent">See <a href="#Filename-database">Filename database</a>. + + <p>Although the <code>mktex...</code> scripts make every effort to add +newly-created files on the fly, it can't hurt to make sure you get a +fresh version every so often. + +<div class="node"> +<a name="mktex-scripts"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Installation-testing">Installation testing</a>, +Previous: <a rel="previous" accesskey="p" href="#Filename-database-generation">Filename database generation</a>, +Up: <a rel="up" accesskey="u" href="#Custom-installation">Custom installation</a> + +</div> + +<h4 class="subsection">2.2.9 <samp><span class="file">mktex</span></samp> scripts</h4> + +<p><a name="index-g_t_0040file_007bmktex_007d-scripts-183"></a><a name="index-scripts-for-file-creation-184"></a> +<a name="index-font-set_002c-infinite-185"></a><a name="index-dynamic-creation-of-files-186"></a><a name="index-Sauter-fonts_002c-and-dynamic-source-creation-187"></a><a name="index-EC-fonts_002c-and-dynamic-source-creation-188"></a>If Kpathsea cannot otherwise find a file, for some file types it is +configured by default to invoke an external program to create it +dynamically (see <a href="#mktex-configuration">mktex configuration</a>). These are collectively +known as <code>mktex</code><dfn> scripts</dfn>, since most of them are named +<code>mktex...</code>. + + <p>For example, this is useful for fonts (bitmaps, TFM's, and +arbitrarily-sizable Metafont sources such as the Sauter and EC fonts), +since any given document can use fonts never before referenced. +Building all fonts in advance is therefore impractical, if not +impossible. + + <p>It is also useful for the TeX ‘<samp><span class="samp">.fmt</span></samp>’ (and Metafont +‘<samp><span class="samp">.base</span></samp>’ and Metapost ‘<samp><span class="samp">.mem</span></samp>’ files, see <a href="Web2c.html#Memory-dumps">Memory dumps</a>), where pre-generating every format consumes a +lot of both time and space. + + <p>The script is passed the name of the file to create and possibly other +arguments, as explained below. It must echo the full pathname of the +file it created (and nothing else) to standard output; it can write +diagnostics to standard error. + +<ul class="menu"> +<li><a accesskey="1" href="#mktex-configuration">config</a> +<li><a accesskey="2" href="#mktex-script-names">names</a> +<li><a accesskey="3" href="#mktex-script-arguments">args</a> +</ul> + +<div class="node"> +<a name="mktex-configuration"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#mktex-script-names">mktex script names</a>, +Up: <a rel="up" accesskey="u" href="#mktex-scripts">mktex scripts</a> + +</div> + +<h5 class="subsubsection">2.2.9.1 <samp><span class="file">mktex</span></samp> configuration</h5> + +<p><a name="index-g_t_0040file_007bmktex_007d-script-configuration-189"></a><a name="index-configuration-of-_0040file_007bmktex_007d-scripts-190"></a><a name="index-enabling-_0040file_007bmktex_007d-scripts-191"></a><a name="index-disabling-_0040file_007bmktex_007d-scripts-192"></a> +The list of file types and program names that can run an external +program to create missing files is listed in the next section. In the +absence of <code>configure</code> options specifying otherwise, everything +but <samp><span class="file">mktextex</span></samp> will be enabled by default. The <code>configure</code> +options to change the defaults are: + + <p><a name="index-g_t_0040code_007bconfigure_007d-options-for-_0040file_007bmktex_007d-scripts-193"></a><a name="index-g_t_002d_002dwithout_002dmktexfmt_002ddefault-194"></a><a name="index-g_t_002d_002dwithout_002dmktexmf_002ddefault-195"></a><a name="index-g_t_002d_002dwithout_002dmktexocp_002ddefault-196"></a><a name="index-g_t_002d_002dwithout_002dmktexofm_002ddefault-197"></a><a name="index-g_t_002d_002dwithout_002dmktexpk_002ddefault-198"></a><a name="index-g_t_002d_002dwithout_002dmktextfm_002ddefault-199"></a><a name="index-g_t_002d_002dwith_002dmktextex_002ddefault-200"></a> +<pre class="example"> --without-mktexfmt-default + --without-mktexmf-default + --without-mktexocp-default + --without-mktexofm-default + --without-mktexpk-default + --without-mktextfm-default + --with-mktextex-default +</pre> + <p>The <code>configure</code> setting is overridden if the environment variable +or configuration file value named for the script is set; e.g., +<samp><span class="file">MKTEXPK</span></samp> (see <a href="#mktex-script-arguments">mktex script arguments</a>). + + <p><a name="index-fmtutils_002ecnf-201"></a><code>mktexfmt</code> reads a file <samp><span class="file">fmtutil.cnf</span></samp>, typically located in +<samp><span class="file">texmf/web2c/</span></samp> to glean its configuration information. The rest +of the files and features in this section are primarily intended for +the font generation scripts. + + <p><a name="index-mktex_002ecnf-202"></a><a name="index-mktex_002eopt-203"></a><a name="index-site-overrides-for-_0040code_007bmktex_0040dots_007b_007d_007d-204"></a>As distributed, all the scripts source a file +<samp><span class="file">texmf/web2c/mktex.cnf</span></samp> if it exists, so you can override various +defaults. +See <samp><span class="file">mktex.opt</span></samp>, for instance, which defines the default mode, +resolution, some special directory names, etc. If you prefer not to +change the distributed scripts, you can simply create <samp><span class="file">mktex.cnf</span></samp> +with the appropriate definitions (you do not need to create it if you +have nothing to put in it). <samp><span class="file">mktex.cnf</span></samp> has no special syntax; +it's an arbitrary Bourne shell script. The distribution contains a +sample <samp><span class="file">mktex.cnf</span></samp> for you to copy and modify as you please (it +is not installed anywhere). + + <p><a name="index-mktex_002eopt-205"></a><a name="index-MT_005fFEATURES-206"></a>In addition, you can configure a number of features with the +<code>MT_FEATURES</code> variable, which you can define: + + <ul> +<li>in <samp><span class="file">mktex.opt</span></samp>, as just mentioned; + + <li>by editing the file <samp><span class="file">mktex.opt</span></samp>, either before ‘<samp><span class="samp">make +install</span></samp>’ (in the source hierarchy) or after (in the installed +hierarchy); + + <li>or in the environment. +</ul> + + <p>If none of the options below are enabled, <code>mktexpk</code>, +<code>mktextfm</code>, and <code>mktexmf</code> follow the following procedure to +decide where fonts should be installed. Find the tree where the font's +sources are, and test the permissions of the ‘<samp><span class="samp">fonts</span></samp>’ directory of +that tree to determine whether it is writable. If it is, put the files +in the tree in appropriate locations. If it isn't writable, see whether +the tree is a system tree (named in <code>SYSTEXMF</code>). If so, the +<code>VARTEXFONTS</code> tree is used. In all other cases the working +directory is used. + + <p>The ‘<samp><span class="samp">appendonlydir</span></samp>’ option is enabled by default. + + <dl> +<dt>‘<samp><span class="samp">appendonlydir</span></samp>’<a name="index-appendonlydir-207"></a><dd><a name="index-directories_002c-making-append_002donly-208"></a><a name="index-mktexdir-209"></a>Tell <code>mktexdir</code> to create directories append-only, i.e., set +their sticky bit (see <a href="coreutils.html#Mode-Structure">Mode Structure</a>). This feature is silently ignored on non-Unix platforms +(e.g. Windows/NT and MS-DOS) which don't support similar functionality. +This feature is enabled by default. + + <br><dt>‘<samp><span class="samp">dosnames</span></samp>’<a name="index-dosnames-210"></a><dd><a name="index-g_t8_002e3-filenames_002c-using-211"></a><a name="index-DOS-compatible-names-212"></a><a name="index-dpi_0040var_007bnnn_007d-directories-213"></a>Use 8.3 names; e.g., <samp><span class="file">dpi600/cmr10.pk</span></samp> instead of +<samp><span class="file">cmr10.600pk</span></samp>. Note that this feature only affects filenames that +would otherwise clash with other TeX-related filenames; <samp><span class="file">mktex</span></samp> +scripts do nothing about filenames which exceed the 8+3 MS-DOS limits +but remain unique when truncated (by the OS) to these limits, and nether +do the scripts care about possible clashes with files which aren't +related with TeX. For example, <samp><span class="file">cmr10.600pk</span></samp> would clash with +<samp><span class="file">cmr10.600gf</span></samp> and is therefore changed when ‘<samp><span class="samp">dosnames</span></samp>’ is in +effect, but <samp><span class="file">mf.pool</span></samp> and <samp><span class="file">mp.base</span></samp> don't clash with any +TeX-related files and are therefore unchanged. + + <p>This feature is turned on by default on MS-DOS. If you do not wish +‘<samp><span class="samp">dosnames</span></samp>’ to be set on an MS-DOS platform, you need to set the +<code>MT_FEATURES</code> environment variable to a value that doesn't include +‘<samp><span class="samp">dosnames</span></samp>’. You can also change the default setting by editing +<samp><span class="file">mktex.opt</span></samp>, but only if you use the <samp><span class="file">mktex</span></samp> shell scripts; +the emulation programs don't consult <samp><span class="file">mktex.opt</span></samp>. + + <br><dt>‘<samp><span class="samp">fontmaps</span></samp>’<a name="index-fontmaps-214"></a><dd><a name="index-fontmaps-215"></a><a name="index-fontname-216"></a>Instead of deriving the location of a font in the destination tree from +the location of the sources, the aliases and directory names from the +Fontname distribution are used. (see <a href="fontname.html#Top">Introduction</a>). + + <br><dt>‘<samp><span class="samp">nomfdrivers</span></samp>’<a name="index-nomfdrivers-217"></a><dd><a name="index-metafont-driver-files-218"></a>Let mktexpk and mktextfm create metafont driver files in a temporary +directory. These will be used for just one metafont run and not +installed permanently. + + <br><dt>‘<samp><span class="samp">nomode</span></samp>’<a name="index-nomode-219"></a><dd><a name="index-mode-directory_002c-omitting-220"></a>Omit the directory level for the mode name; this is fine as long as +you generate fonts for only one mode. + + <br><dt>‘<samp><span class="samp">stripsupplier</span></samp>’<a name="index-stripsupplier-221"></a><dd><a name="index-supplier-directory_002c-omitting-222"></a>Omit the font supplier name directory level. + + <br><dt>‘<samp><span class="samp">striptypeface</span></samp>’<a name="index-striptypeface-223"></a><dd><a name="index-typeface-directory_002c-omitting-224"></a>Omit the font typeface name directory level. + + <br><dt>‘<samp><span class="samp">strip</span></samp>’<a name="index-strip-225"></a><dd><a name="index-supplier-directory_002c-omitting-226"></a><a name="index-typeface-directory_002c-omitting-227"></a>Omit the font supplier and typeface name directory levels. This feature +is deprecated in favour of ‘<samp><span class="samp">stripsupplier</span></samp>’ and ‘<samp><span class="samp">striptypeface</span></samp>’. + + <br><dt>‘<samp><span class="samp">varfonts</span></samp>’<a name="index-varfonts-228"></a><dd><a name="index-g_t_002fvar_002ftmp_002ftexfonts-229"></a><a name="index-VARTEXFONTS-230"></a><a name="index-Linux-File-System-Standard-231"></a>When this option is enabled, fonts that would otherwise be written in +system texmf tree go to the <code>VARTEXFONTS</code> tree instead. The +default value in <samp><span class="file">kpathsea/Makefile.in</span></samp> is +<samp><span class="file">/var/tmp/texfonts</span></samp>. The <cite>Linux File System Standard</cite> +recommends <samp><span class="file">/var/tex/fonts</span></samp>. + + <p><a name="index-USE_005fVARTEXFONTS-232"></a>The ‘<samp><span class="samp">varfonts</span></samp>’ setting in <code>MT_FEATURES</code> is overridden by the +<code>USE_VARTEXFONTS</code> environment variable: if set to ‘<samp><span class="samp">1</span></samp>’, the +feature is enabled, and if set to ‘<samp><span class="samp">0</span></samp>’, the feature is disabled. + + <br><dt>‘<samp><span class="samp">texmfvar</span></samp>’<a name="index-texmfvar-233"></a><dd><a name="index-TEXMFVAR-234"></a>Force generated files that would go into a system tree (as defined by +<code>SYSTEXMF</code>) into <code>TEXMFVAR</code>. Starting with teTeX-3.0, the +variable <code>TEXMFVAR</code> is always set. The ‘<samp><span class="samp">varfonts</span></samp>’ feature takes +precedence if also set. + + <p><a name="index-USE_005fTEXMFVAR-235"></a>The ‘<samp><span class="samp">texmfvar</span></samp>’ setting in <code>MT_FEATURES</code> is overridden by the +<code>USE_TEXMFVAR</code> environment variable: if set to ‘<samp><span class="samp">1</span></samp>’, the +feature is enabled, and if set to ‘<samp><span class="samp">0</span></samp>’, the feature is disabled. +</dl> + +<div class="node"> +<a name="mktex-script-names"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#mktex-script-arguments">mktex script arguments</a>, +Previous: <a rel="previous" accesskey="p" href="#mktex-configuration">mktex configuration</a>, +Up: <a rel="up" accesskey="u" href="#mktex-scripts">mktex scripts</a> + +</div> + +<h5 class="subsubsection">2.2.9.2 <samp><span class="file">mktex</span></samp> script names</h5> + +<p><a name="index-g_t_0040file_007bmktex_007d-script-names-236"></a><a name="index-names-for-_0040file_007bmktex_007d-scripts-237"></a> +The following table shows the default name of the script for each +of the file types which support runtime generation. + + <dl> +<dt><samp><span class="file">mktexfmt</span></samp><dd><a name="index-mktexfmt-238"></a><a name="index-fmtutil-239"></a>(‘<samp><span class="samp">.fmt</span></samp>’, ‘<samp><span class="samp">.base</span></samp>’, ‘<samp><span class="samp">.mem</span></samp>’) TeX/Metafont/MetaPost +formats. This script is also named <samp><span class="command">fmtutil</span></samp>, and reads +<samp><span class="file">fmtutil.cnf</span></samp> for configuration information. + + <br><dt><samp><span class="file">mktexmf</span></samp><dd><a name="index-mktexmf-240"></a>(‘<samp><span class="samp">.mf</span></samp>’) Metafont input files. + + <br><dt><samp><span class="file">mkocp</span></samp><dd><a name="index-mkocp-241"></a>(‘<samp><span class="samp">.ocp</span></samp>’) Omega compiled process files. + + <br><dt><samp><span class="file">mkofm</span></samp><dd><a name="index-mkofm-242"></a>(‘<samp><span class="samp">.ofm</span></samp>’) Omega font metric files. + + <br><dt><samp><span class="file">mktexpk</span></samp><dd><a name="index-mktexpk-243"></a>(‘<samp><span class="samp">pk</span></samp>’) Glyph fonts. + + <br><dt><samp><span class="file">mktextex</span></samp><dd><a name="index-mktextex-244"></a>(‘<samp><span class="samp">.tex</span></samp>’) TeX input files (disabled by default). + + <br><dt><samp><span class="file">mktextfm</span></samp><dd><a name="index-mktextfm-245"></a>(‘<samp><span class="samp">.tfm</span></samp>’) TFM files. +</dl> + + <p><a name="index-DVIPSMAKEPK-246"></a><a name="index-XDVIMAKEPK-247"></a><a name="index-DVILJMAKEPK-248"></a>These names can be overridden by an environment variable specific +to the program—for example, <code>DVIPSMAKEPK</code> for Dvipsk. + +<!-- next two paragraphs are repeated in dvips.texi --> + <p><a name="index-missfont_002elog-249"></a><a name="index-failed-_0040code_007bmktex_0040dots_007b_007d_007d-script-invocation-250"></a>If a <code>mktex...</code> script fails, the invocation is appended to a +file <samp><span class="file">missfont.log</span></samp> (by default) in the current directory. You can +then execute the log file to create the missing files after fixing the +problem. + + <p><a name="index-TEXMFOUTPUT-251"></a><a name="index-MISSFONT_005fLOG-252"></a>If the current directory is not writable and the environment variable or +configuration file value <code>TEXMFOUTPUT</code> is set, its value is +used. Otherwise, nothing is written. The name ‘<samp><span class="samp">missfont.log</span></samp>’ is +overridden by the <code>MISSFONT_LOG</code> environment variable or +configuration file value. + +<div class="node"> +<a name="mktex-script-arguments"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#mktex-script-names">mktex script names</a>, +Up: <a rel="up" accesskey="u" href="#mktex-scripts">mktex scripts</a> + +</div> + +<h5 class="subsubsection">2.2.9.3 <samp><span class="file">mktex</span></samp> script arguments</h5> + +<p><a name="index-arguments-to-_0040file_007bmktex_007d-253"></a> +The first argument to a <samp><span class="file">mktex</span></samp> script is always the name +of the file to be created. + + <p>In the default <samp><span class="file">mktexpk</span></samp> implementation, additional arguments may +also be passed: + + <dl> +<dt>‘<samp><span class="samp">--dpi </span><var>num</var></samp>’<dd>Sets the resolution of the generated font to <var>num</var>. +<br><dt>‘<samp><span class="samp">--mfmode </span><var>name</var></samp>’<dd>Sets the Metafont mode to <var>name</var>. +<br><dt>‘<samp><span class="samp">--bdpi </span><var>num</var></samp>’<dd>Sets the “base dpi” for the font. This must match the mode being +used. +<br><dt>‘<samp><span class="samp">--mag </span><var>string</var></samp>’<dd>A “magstep” string suitable for the Metafont <code>mag</code> variable. +This must match the combination of <var>bdpi</var> and <var>dpi</var> being used. +<br><dt>‘<samp><span class="samp">--destdir </span><var>string</var></samp>’<dd>A directory name. If the directory is absolute, it is used as-is. +Otherwise, it is appended to the root destination directory set in the +script. +</dl> + +<div class="node"> +<a name="Installation-testing"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#mktex-scripts">mktex scripts</a>, +Up: <a rel="up" accesskey="u" href="#Custom-installation">Custom installation</a> + +</div> + +<h4 class="subsection">2.2.10 Installation testing</h4> + +<p><a name="index-testing_002c-post_002dinstallation-254"></a><a name="index-installation-testing-255"></a> +Besides the tests listed in <a href="#Simple-installation">Simple installation</a>, you can try +running ‘<samp><span class="samp">make check</span></samp>’. This includes the torture tests (trip, trap, +and mptrap) that come with Web2c (see <a href="web2c.html#Triptrap">Triptrap</a>). + +<div class="node"> +<a name="Security"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#TeX-directory-structure">TeX directory structure</a>, +Previous: <a rel="previous" accesskey="p" href="#Custom-installation">Custom installation</a>, +Up: <a rel="up" accesskey="u" href="#Installation">Installation</a> + +</div> + +<h3 class="section">2.3 Security</h3> + +<p><a name="index-security-considerations-256"></a> +None of the programs in the TeX system require any special system +privileges, so there's no first-level security concern of people gaining +illegitimate root access. + + <p><a name="index-trojan-horse-attack-257"></a><a name="index-g_t_002erhosts_0040r_007b_002c-writable-by-_0040TeX_007b_007d_007d-258"></a>A TeX document, however, can write to arbitrary files, e.g., +<samp><span class="file">~/.rhosts</span></samp>, and thus an unwitting user who runs TeX on a random +document is vulnerable to a trojan horse attack. This loophole is +closed by default, but you can be permissive if you so desire in +<samp><span class="file">texmf.cnf</span></samp>. See <a href="web2c.html#tex-invocation">tex invocation</a>. MetaPost has +the same issue. + + <p>Dvips, Xdvi, and TeX can also execute shell commands under some +circumstances. To disable this, see the ‘<samp><span class="samp">-R</span></samp>’ option in <a href="dvips.html#Option-details">Option details</a>, the xdvi man page, and <a href="web2c.html#tex-invocation">tex invocation</a>, respectively. + + <p><a name="index-local-cache-of-fonts-259"></a><a name="index-cache-of-fonts_002c-local-260"></a>Another security issue arises because it's very useful—almost +necessary—to make arbitrary fonts on user demand with <code>mktexpk</code> +and friends. Where do these files get installed? By default, the +<code>mktexpk</code> distributed with Kpathsea assumes a world-writable +<samp><span class="file">/var/tmp</span></samp> directory; this is a simple and convenient approach, but +it may not suit your situation because it means that a local cache of +fonts is created on every machine. + + <p><a name="index-globally-writable-directories-261"></a>To avoid this duplication, many people consider a shared, globally +writable font tree desirable, in spite of the potential security +problems. To do this you should change the value of <code>VARTEXFONTS</code> +in <samp><span class="file">texmf.cnf</span></samp> to refer to some globally known directory. +See <a href="#mktex-configuration">mktex configuration</a>. + + <p><a name="index-append_002donly-directories-and-_0040code_007bmktexpk_007d-262"></a>The first restriction you can apply is to make newly-created directories +under <samp><span class="file">texmf</span></samp> be append-only with an option in <samp><span class="file">mktex.cnf</span></samp>. +See <a href="#mktex-configuration">mktex configuration</a>. + + <p><a name="index-group_002dwritable-directories-263"></a><a name="index-setgid-scripts-264"></a>Another approach is to establish a group (or user) for TeX files, +make the <samp><span class="file">texmf</span></samp> tree writable only to that group (or user), and +make <code>mktexpk</code> et al. setgid to that group (or setuid to that +user). Then users must invoke the scripts to install things. (If +you're worried about the inevitable security holes in scripts, then you +could write a C wrapper to exec the script.) + + <p><a name="index-file-permissions-265"></a><a name="index-permissions_002c-file-266"></a>The <samp><span class="file">mktex...</span></samp> scripts install files with the same read and +write permissions as the directory they are installed in. The +executable, sgid, suid, and sticky bits are always cleared. + + <p><a name="index-directory-permissions-267"></a><a name="index-permissions_002c-directory-268"></a>Any directories created by the <samp><span class="file">mktex...</span></samp> scripts have the +same permissions as their parent directory, unless the +<code>appendonlydir</code> feature is used, in which case the sticky bit is +always set. + +<div class="node"> +<a name="TeX-directory-structure"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#unixtex_002eftp">unixtex.ftp</a>, +Previous: <a rel="previous" accesskey="p" href="#Security">Security</a>, +Up: <a rel="up" accesskey="u" href="#Installation">Installation</a> + +</div> + +<h3 class="section">2.4 TeX directory structure</h3> + +<p><a name="index-TEXMF-269"></a><a name="index-g_t_0040TeX_007b_007d-directory-structure-270"></a><a name="index-directory-structure_002c-for-_0040TeX_007b_007d-files-271"></a><a name="index-skeleton-_0040TeX_007b_007d-directory-272"></a><a name="index-TDS-273"></a> +This section describes the default installation hierarchy of the +distribution. It conforms to both the GNU coding standards and the +TeX directory structure (TDS) standard. For rationale and further +explanation, please see those documents. The GNU standard is available +as <a href="ftp://prep.ai.mit.edu/pub/gnu/standards/standards.texi">ftp://prep.ai.mit.edu/pub/gnu/standards/standards.texi</a> and +mirrors. The TDS document is available from +<samp><var>CTAN:</var><span class="file">/tex-archive/tds</span></samp> (see <a href="#unixtex_002eftp">unixtex.ftp</a>). + + <p>You can change the default paths in many ways (see <a href="#Changing-search-paths">Changing search paths</a>). One common desire is to put everything (binaries and all) +under a single top-level directory such as <samp><span class="file">/usr/local/texmf</span></samp> or +<samp><span class="file">/opt/texmf</span></samp>—in the terms used below, make <var>prefix</var> and +<var>texmf</var> the same. For specific instructions on doing that, +see <a href="#configure-scenarios">configure scenarios</a>. + + <p>Here is a skeleton of the default directory structure, extracted from +the TDS document: + +<pre class="example"> <var>prefix</var>/ <span class="roman">installation root (</span><samp><span class="file">/usr/local</span></samp><span class="roman"> by default)</span> + bin/ <span class="roman">executables</span> + man/ <span class="roman">man pages</span> + include/ <span class="roman">C header files</span> + info/ <span class="roman">GNU info files</span> + lib/ <span class="roman">libraries (</span><samp><span class="file">libkpathsea.*</span></samp><span class="roman">)</span> + share/ <span class="roman">architecture-independent files</span> + texmf/ <span class="roman">TDS root</span> + bibtex/ <span class="roman">BibTeX input files</span> + bib/ <span class="roman">BibTeX databases</span> + base/ <span class="roman">base distribution (e.g., ‘</span><samp><span class="samp">xampl.bib</span></samp><span class="roman">’)</span> + misc/ <span class="roman">single-file databases</span> + <var>pkg</var>/ <span class="roman">name of a package</span> + bst/ <span class="roman">BibTeX style files</span> + base/ <span class="roman">base distribution (e.g., ‘</span><samp><span class="samp">plain.bst</span></samp><span class="roman">’, ‘</span><samp><span class="samp">acm.bst</span></samp><span class="roman">’)</span> + misc/ <span class="roman">single-file styles</span> + <var>pkg</var>/ <span class="roman">name of a package</span> + doc/ <span class="roman">additional documentation</span> + dvips/ <span class="roman">‘</span><samp><span class="samp">.pro</span></samp><span class="roman">’, ‘</span><samp><span class="samp">.ps</span></samp><span class="roman">’, ‘</span><samp><span class="samp">psfonts.map</span></samp><span class="roman">’</span> + fonts/ <span class="roman">font-related files</span> + <var>type</var>/ <span class="roman">file type (e.g., ‘</span><samp><span class="samp">tfm</span></samp><span class="roman">’, ‘</span><samp><span class="samp">pk</span></samp><span class="roman">’)</span> + <var>mode</var>/ <span class="roman">type of output device (types ‘</span><samp><span class="samp">pk</span></samp><span class="roman">’ and ‘</span><samp><span class="samp">gf</span></samp><span class="roman">’ only)</span> + <var>supplier</var>/ <span class="roman">name of a font supplier (e.g., ‘</span><samp><span class="samp">public</span></samp><span class="roman">’)</span> + <var>typeface</var>/ <span class="roman">name of a typeface (e.g., ‘</span><samp><span class="samp">cm</span></samp><span class="roman">’)</span> + dpi<var>nnn</var>/ <span class="roman">font resolution (types ‘</span><samp><span class="samp">pk</span></samp><span class="roman">’ and ‘</span><samp><span class="samp">gf</span></samp><span class="roman">’ only)</span> + metafont/ <span class="roman">Metafont (non-font) input files</span> + base/ <span class="roman">base distribution (e.g., ‘</span><samp><span class="samp">plain.mf</span></samp><span class="roman">’)</span> + misc/ <span class="roman">single-file packages (e.g., ‘</span><samp><span class="samp">modes.mf</span></samp><span class="roman">’)</span> + <var>pkg</var>/ <span class="roman">name of a package (e.g., ‘</span><samp><span class="samp">mfpic</span></samp><span class="roman">’)</span> + metapost/ <span class="roman">MetaPost input files</span> + base/ <span class="roman">base distribution (e.g., ‘</span><samp><span class="samp">plain.mp</span></samp><span class="roman">’)</span> + misc/ <span class="roman">single-file packages</span> + <var>pkg</var>/ <span class="roman">name of a package</span> + support/ <span class="roman">support files for MetaPost-related utilities (e.g., ‘</span><samp><span class="samp">trfonts.map</span></samp><span class="roman">’)</span> + mft/ <span class="roman">‘</span><samp><span class="samp">MFT</span></samp><span class="roman">’ inputs (e.g., ‘</span><samp><span class="samp">plain.mft</span></samp><span class="roman">’)</span> + tex/ <span class="roman">TeX input files</span> + <var>format</var>/ <span class="roman">name of a format (e.g., ‘</span><samp><span class="samp">plain</span></samp><span class="roman">’)</span> + base/ <span class="roman">base distribution for </span><var>format</var><span class="roman"> (e.g., ‘</span><samp><span class="samp">plain.tex</span></samp><span class="roman">’)</span> + misc/ <span class="roman">single-file packages (e.g., ‘</span><samp><span class="samp">webmac.tex</span></samp><span class="roman">’)</span> + local/ <span class="roman">local additions to or local configuration files for </span><var>format</var> + <var>pkg</var>/ <span class="roman">name of a package (e.g., ‘</span><samp><span class="samp">graphics</span></samp><span class="roman">’, ‘</span><samp><span class="samp">mfnfss</span></samp><span class="roman">’)</span> + generic/ <span class="roman">format-independent packages</span> + hyphen/ <span class="roman">hyphenation patterns (e.g., ‘</span><samp><span class="samp">hyphen.tex</span></samp><span class="roman">’)</span> + images/ <span class="roman">image input files (e.g., Encapsulated PostScript)</span> + misc/ <span class="roman">single-file format-independent packages (e.g., ‘</span><samp><span class="samp">null.tex</span></samp><span class="roman">’).</span> + <var>pkg</var>/ <span class="roman">name of a package (e.g., ‘</span><samp><span class="samp">babel</span></samp><span class="roman">’)</span> + web2c/ <span class="roman">implementation-dependent files (</span><samp><span class="file">.pool</span></samp><span class="roman">, </span><samp><span class="file">.fmt</span></samp><span class="roman">, </span><samp><span class="file">texmf.cnf</span></samp><span class="roman">, etc.)</span> +</pre> + <p>Some concrete examples for most file types: + +<pre class="example"> /usr/local/bin/tex + /usr/local/man/man1/xdvi.1 + /usr/local/info/kpathsea.info + /usr/local/lib/libkpathsea.a + /usr/local/share/texmf/bibtex/bst/base/plain.bst + /usr/local/share/texmf/fonts/pk/ljfour/public/cm/cmr10.600pk + /usr/local/share/texmf/fonts/source/public/pandora/pnr10.mf + /usr/local/share/texmf/fonts/tfm/public/cm/cmr10.tfm + /usr/local/share/texmf/fonts/type1/adobe/utopia/putr.pfa + /usr/local/share/texmf/metafont/base/plain.mf + /usr/local/share/texmf/metapost/base/plain.mp + /usr/local/share/texmf/tex/plain/base/plain.tex + /usr/local/share/texmf/tex/generic/hyphen/hyphen.tex + /usr/local/share/texmf/web2c/tex.pool + /usr/local/share/texmf/web2c/tex.fmt + /usr/local/share/texmf/web2c/texmf.cnf +</pre> + <div class="node"> +<a name="unixtex.ftp"></a> +<a name="unixtex_002eftp"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Reporting-bugs">Reporting bugs</a>, +Previous: <a rel="previous" accesskey="p" href="#TeX-directory-structure">TeX directory structure</a>, +Up: <a rel="up" accesskey="u" href="#Installation">Installation</a> + +</div> + +<h3 class="section">2.5 <samp><span class="file">unixtex.ftp</span></samp>: Obtaining TeX</h3> + +<p><a name="index-obtaining-_0040TeX_007b_007d-274"></a><a name="index-retrieving-_0040TeX_007b_007d-275"></a> +<a name="index-unixtex_002eftp-276"></a><a name="index-tug_002eorg-277"></a><a name="index-www_002etug_002eorg-278"></a><a name="index-ftp_002etug_002eorg-279"></a>This +is <a href="ftp://ftp.tug.org/tex/unixtex.ftp">ftp://ftp.tug.org/tex/unixtex.ftp</a>, last updated 13 June +2010. Also available as <a href="http://www.tug.org/unixtex.ftp">http://www.tug.org/unixtex.ftp</a>. Email +<a href="mailto:tex-k@tug.org">tex-k@tug.org</a> with comments or questions. + + <p>The principal free TeX distribution for Unix-like systems is TeX +Live, on the web at <a href="http://tug.org/texlive">http://tug.org/texlive</a>. The pages there +describe many ways to acquire TeX, over the Internet or on physical +media, both the sources and precompiled binaries for many systems, +either standalone or as part of various operating system +distributions. + + <p>Web2C, Kpathsea, Dvips, and Dviljk are no longer released as a +separate packages. Their sources are now maintained as part of TeX +Live. + + <p><a name="index-ftp_002ecs_002estanford_002eedu-280"></a><a name="index-tex_002eweb-281"></a><a name="index-Knuth_002c-Donald-E_002e_002c-archive-of-programs-by-282"></a>The host <tt>ftp.cs.stanford.edu</tt> is the original source for the files +for which Donald Knuth is directly responsible: <samp><span class="file">tex.web</span></samp>, +<samp><span class="file">plain.tex</span></samp>, etc. However, unless you want to build your TeX +library tree ab initio, it is more reliable and less work to retrieve +these files as part of a larger package. In any case, that ftp site is +not the canonical source for anything except what was created as part +of Stanford TeX project, so do not rely on the other files available +there being up-to-date. + +<div class="node"> +<a name="Reporting-bugs"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#unixtex_002eftp">unixtex.ftp</a>, +Up: <a rel="up" accesskey="u" href="#Installation">Installation</a> + +</div> + +<h3 class="section">2.6 Reporting bugs</h3> + +<p><a name="index-reporting-bugs-283"></a><a name="index-bugs_002c-reporting-284"></a> +(A copy of this chapter is in the file <samp><span class="file">kpathsea/BUGS</span></samp>.) + + <p><a name="index-tex_002dk_0040_0040tug_002eorg-_0040r_007b_0028bug-address_0029_007d-285"></a><a name="index-bug-address-286"></a>If you have problems or suggestions, please report them to +<a href="mailto:tex-k@tug.org">tex-k@tug.org</a> using the bug checklist below. + + <p>Please report bugs in the documentation; not only factual errors or +inconsistent behavior, but unclear or incomplete explanations, typos, +wrong fonts, <small class="dots">...</small> + +<ul class="menu"> +<li><a accesskey="1" href="#Bug-checklist">Bug checklist</a>: What to include in a good bug report. +<li><a accesskey="2" href="#Mailing-lists">Mailing lists</a>: Joining the bugs or announcements mailing lists. +<li><a accesskey="3" href="#Debugging">Debugging</a>: Analyzing runtime problems. +<li><a accesskey="4" href="#Logging">Logging</a>: Recording searches. +<li><a accesskey="5" href="#Common-problems">Common problems</a>: When things go wrong. +</ul> + +<div class="node"> +<a name="Bug-checklist"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Mailing-lists">Mailing lists</a>, +Up: <a rel="up" accesskey="u" href="#Reporting-bugs">Reporting bugs</a> + +</div> + +<h4 class="subsection">2.6.1 Bug checklist</h4> + +<p><a name="index-checklist-for-bug-reports-287"></a><a name="index-bug-checklist-288"></a> +Before reporting a bug, please check below to be sure it isn't already +known (see <a href="#Common-problems">Common problems</a>). + + <p>Bug reports should be sent via electronic mail to +<a href="mailto:tex-k@tug.org">tex-k@tug.org</a>. + + <p>The general principle is that a good bug report includes all the +information necessary for reproduction. Therefore, to enable +investigation, your report should include the following: + + <ul> +<li><a name="index-version-numbers_002c-determining-289"></a>The version number(s) of the program(s) involved, and of Kpathsea +itself. You can get the former by giving a sole option ‘<samp><span class="samp">--version</span></samp>’ +to the program, and the latter by running ‘<samp><span class="samp">kpsewhich --version</span></samp>’. +The <samp><span class="file">NEWS</span></samp> and <samp><span class="file">ChangeLog</span></samp> files also contain the version +number. + + <li><a name="index-uname-290"></a>The hardware, operating system (including version number), compiler, and +<code>make</code> program you are using (the output of <code>uname -a</code> is a +start on the first two, though often incomplete). If the bug involves +the X window system, include X version and supplier information as well +(examples: X11R6 from MIT; X11R4 from HP; OpenWindows 3.3 bundled with +SunOS 4.1.4). + + <li><a name="index-config_002elog-291"></a>Any options you gave to <code>configure</code>. This is recorded in the +<samp><span class="file">config.status</span></samp> files. + + <p><a name="index-configuration-bugs-292"></a><a name="index-config_002estatus-293"></a>If you are reporting a bug in ‘<samp><span class="samp">configure</span></samp>’ itself, it's probably +system-dependent, and it will be unlikely the maintainers can do +anything useful if you merely report that thus-and-such is broken. +Therefore, you need to do some additional work: for some bugs, you can +look in the file <samp><span class="file">config.log</span></samp> where the test that failed should +appear, along with the compiler invocation and source program in +question. You can then compile it yourself by hand, and discover why +the test failed. Other ‘<samp><span class="samp">configure</span></samp>’ bugs do not involve the +compiler; in that case, the only recourse is to inspect the +<code>configure</code> shell script itself, or the Autoconf macros that +generated <code>configure</code>. + + <li>The log of all debugging output, if the bug is in path searching. You +can get this by setting the environment variable <code>KPATHSEA_DEBUG</code> +to ‘<samp><span class="samp">-1</span></samp>’ before running the program. Please look at the log +yourself to make sure the behavior is really a bug before reporting it; +perhaps “old” environment variable settings are causing files not to +be found, for example. + + <li>The contents of any input files necessary to reproduce the bug. For +bugs in DVI-reading programs, for example, this generally means a DVI +file (and any EPS or other files it uses)—TeX source files are +helpful, but the DVI file is necessary, because that's the actual +program input. + + <li><a name="index-context-diff-294"></a><a name="index-sending-patches-295"></a><a name="index-ChangeLog-_0040r_007bentry_007d-296"></a>If you are sending a patch (do so if you can!), please do so in the form +of a context diff (‘<samp><span class="samp">diff -c</span></samp>’) against the original distribution +source. Any other form of diff is either not as complete or harder for +me to understand. Please also include a <samp><span class="file">ChangeLog</span></samp> entry. + + <li><a name="index-stack-trace-297"></a><a name="index-debugger-298"></a><a name="index-crashes_002c-reporting-299"></a><a name="index-core-dumps_002c-reporting-300"></a><a name="index-null-pointers_002c-dereferencing-301"></a><a name="index-gdb_0040r_007b_002c-recommended_007d-302"></a>If the bug involved is an actual crash (i.e., core dump), it is easy and +useful to include a stack trace from a debugger (I recommend the GNU +debugger GDB, available from <a href="ftp://prep.ai.mit.edu/pub/gnu">ftp://prep.ai.mit.edu/pub/gnu</a>). If +the cause is apparent (a <code>NULL</code> value being dereferenced, for +example), please send the details along. If the program involved is +TeX or Metafont, and the crash is happening at apparently-sound code, +however, the bug may well be in the compiler, rather than in the program +or the library (see <a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a>). + + <li>Any additional information that will be helpful in reproducing, +diagnosing, or fixing the bug. +</ul> + +<div class="node"> +<a name="Mailing-lists"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Debugging">Debugging</a>, +Previous: <a rel="previous" accesskey="p" href="#Bug-checklist">Bug checklist</a>, +Up: <a rel="up" accesskey="u" href="#Reporting-bugs">Reporting bugs</a> + +</div> + +<h4 class="subsection">2.6.2 Mailing lists</h4> + +<p><a name="index-mailing-lists-303"></a><a name="index-bug-mailing-list-304"></a><a name="index-announcement-mailing-list-305"></a> +Web2c and Kpathsea in general are discussed on the mailing list +<a href="mailto:tex-k@tug.org">tex-k@tug.org</a>. +<a name="index-tex_002dk_002drequest_0040_0040tug_002eorg-306"></a>To join, email <a href="mailto:tex-k-request@tug.org">tex-k-request@tug.org</a> with a line +consisting of + +<pre class="example"> subscribe <var>you</var>@<var>your.preferred.email.address</var> +</pre> + <p class="noindent">in the body of the message. + + <p>You do not need to join to submit a report, nor will it affect whether +you get a response. There is no Usenet newsgroup equivalent (if you can +be the one to set this up, email ‘<samp><span class="samp">tex-k-request</span></samp>’). Traffic on the +list is fairly light, and is mainly bug reports and enhancement requests +to the software. The best way to decide if you want to join or not is +read some of the archives from <a href="ftp://ftp.tug.org/mail/archives/tex-k/">ftp://ftp.tug.org/mail/archives/tex-k/</a>. + + <p>Be aware that large data files are sometimes included in bug reports. +If this is a problem for you, do not join the list. + + <p><a name="index-g_t_0040TeX_007b_007d-help-mailing-list-307"></a><a name="index-La_0040TeX_007b_007d-help-mailing-list-308"></a><a name="index-Usenet-_0040TeX_007b_007d-newsgroup-309"></a><a name="index-newsgroup-for-_0040TeX_007b_007d-310"></a><a name="index-help_002c-mailing-list-for-general-_0040TeX_007b_007d-311"></a><a name="index-info_002dtex_0040_0040shsu_002eedu-312"></a><a name="index-comp_002etext_002etex-313"></a>If you are looking for general TeX help, such as how to use +LaTeX, please use the mailing list <a href="mailto:texhax@tug.org">texhax@tug.org</a> mailing +list (<a href="http://lists.tug.org/texhax">http://lists.tug.org/texhax</a>) which is gatewayed to the +‘<samp><span class="samp">comp.text.tex</span></samp>’ Usenet newsgroup (or post to the newsgroup; the +gateway is bidirectional). + +<div class="node"> +<a name="Debugging"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Logging">Logging</a>, +Previous: <a rel="previous" accesskey="p" href="#Mailing-lists">Mailing lists</a>, +Up: <a rel="up" accesskey="u" href="#Reporting-bugs">Reporting bugs</a> + +</div> + +<h4 class="subsection">2.6.3 Debugging</h4> + +<p><a name="index-debugging-314"></a><a name="index-runtime-debugging-315"></a><a name="index-options-for-debugging-316"></a> +<a name="index-kpse_002d_003edebug-317"></a><a name="index-debug_002eh-318"></a>Kpathsea provides a number of runtime debugging options, detailed below +by their names and corresponding numeric values. When the files you +expect aren't being found, the thing to do is enable these options and +examine the output. + + <p>You can set these with some runtime argument (e.g., ‘<samp><span class="samp">-d</span></samp>’) to the +program; in that case, you should use the numeric values described in +the program's documentation (which, for Dvipsk and Xdvik, are different +than those below). It's best to give the ‘<samp><span class="samp">-d</span></samp>’ (or whatever) option +first, for maximal output. Dvipsk and Xdvik have additional +program-specific debugging options as well. + + <p><a name="index-KPATHSEA_005fDEBUG-319"></a><a name="index-kpse_002d_003edebug-320"></a>You can also set the environment variable <code>KPATHSEA_DEBUG</code>; in this +case, you should use the numbers below. If you run the program under a +debugger and set the instance variable <code>kpse->debug</code>, also use the numbers +below. + + <p><a name="index-g_t_002d1-_0040r_007bdebugging-value_007d-321"></a>In any case, by far the simplest value to use is ‘<samp><span class="samp">-1</span></samp>’, which will +turn on all debugging output. This is usually better than guessing +which particular values will yield the output you need. + + <p><a name="index-debugging-output-322"></a><a name="index-standard-error-and-debugging-output-323"></a>Debugging output always goes to standard error, so you can redirect it +easily. For example, in Bourne-compatible shells: +<pre class="example"> dvips -d -1 ... 2>/tmp/debug +</pre> + <p><a name="index-Kpsewhich_002c-and-debugging-324"></a>It is sometimes helpful to run the standalone Kpsewhich utility +(see <a href="#Invoking-kpsewhich">Invoking kpsewhich</a>), instead of the original program. + + <p><a name="index-numeric-debugging-values-325"></a>In any case, you can <em>not</em> use the <em>names</em> below; you must +always use somebody's numbers. (Sorry.) To set more than one +option, just sum the corresponding numbers. + + <dl> +<dt><code>KPSE_DEBUG_STAT </code><span class="roman">(1)</span><a name="index-KPSE_005fDEBUG_005fSTAT-_0040r_007b_00281_0029_007d-326"></a><dd>Report ‘<samp><span class="samp">stat</span></samp>’(2) calls. This is useful for verifying that your +directory structure is not forcing Kpathsea to do many additional file +tests (see <a href="#Slow-path-searching">Slow path searching</a>, and see <a href="#Subdirectory-expansion">Subdirectory expansion</a>). If you are using an up-to-date <samp><span class="file">ls-R</span></samp> database +(see <a href="#Filename-database">Filename database</a>), this should produce no output unless a +nonexistent file that must exist is searched for. + + <br><dt><code>KPSE_DEBUG_HASH </code><span class="roman">(2)</span><a name="index-KPSE_005fDEBUG_005fHASH-_0040r_007b_00282_0029_007d-327"></a><dd>Report lookups in all hash tables: <samp><span class="file">ls-R</span></samp> and <samp><span class="file">aliases</span></samp> +(see <a href="#Filename-database">Filename database</a>); font aliases (see <a href="#Fontmap">Fontmap</a>); and config +file values (see <a href="#Config-files">Config files</a>). Useful when expected values are not +being found, e.g.., file searches are looking at the disk instead of +using <samp><span class="file">ls-R</span></samp>. + + <br><dt><code>KPSE_DEBUG_FOPEN </code><span class="roman">(4)</span><a name="index-KPSE_005fDEBUG_005fFOPEN-_0040r_007b_00284_0029_007d-328"></a><dd><a name="index-fopen_0040r_007b_002c-redefined_007d-329"></a>Report file openings and closings. Especially useful when your system's +file table is full, for seeing which files have been opened but never +closed. In case you want to set breakpoints in a debugger: this works by +redefining ‘<samp><span class="samp">fopen</span></samp>’ (‘<samp><span class="samp">fclose</span></samp>’) to be ‘<samp><span class="samp">kpse_fopen_trace</span></samp>’ +(‘<samp><span class="samp">kpse_fclose_trace</span></samp>’). + + <br><dt><code>KPSE_DEBUG_PATHS </code><span class="roman">(8)</span><a name="index-KPSE_005fDEBUG_005fPATHS-_0040r_007b_00288_0029_007d-330"></a><dd><a name="index-kpse_005fformat_005finfo_005ftype-331"></a>Report general path information for each file type Kpathsea is asked to +search. This is useful when you are trying to track down how a +particular path got defined—from <samp><span class="file">texmf.cnf</span></samp>, <samp><span class="file">config.ps</span></samp>, +an environment variable, the compile-time default, etc. This is the +contents of the <code>kpse_format_info_type</code> structure defined in +<samp><span class="file">tex-file.h</span></samp>. + + <br><dt><code>KPSE_DEBUG_EXPAND </code><span class="roman">(16)</span><a name="index-KPSE_005fDEBUG_005fEXPAND-_0040r_007b_002816_0029_007d-332"></a><dd>Report the directory list corresponding to each path element Kpathsea +searches. This is only relevant when Kpathsea searches the disk, since +<samp><span class="file">ls-R</span></samp> searches don't look through directory lists in this way. + + <br><dt><code>KPSE_DEBUG_SEARCH </code><span class="roman">(32)</span><a name="index-KPSE_005fDEBUG_005fSEARCH-_0040r_007b_002832_0029_007d-333"></a><dd>Report on each file search: the name of the file searched for, the path +searched in, whether or not the file must exist (when drivers search for +<samp><span class="file">cmr10.vf</span></samp>, it need not exist), and whether or not we are +collecting all occurrences of the file in the path (as with, e.g., +<samp><span class="file">texmf.cnf</span></samp> and <samp><span class="file">texfonts.map</span></samp>), or just the first (as with +most lookups). This can help you correlate what Kpathsea is doing with +what is in your input file. + + <br><dt><code>KPSE_DEBUG_VARS </code><span class="roman">(64)</span><a name="index-KPSE_005fDEBUG_005fVARS-_0040r_007b_002864_0029_007d-334"></a><dd>Report the value of each variable Kpathsea looks up. This is useful for +verifying that variables do indeed obtain their correct values. + + <br><dt><code>GSFTOPK_DEBUG </code><span class="roman">(128)</span><a name="index-GSFTOPK_005fDEBUG-_0040r_007b_0028128_0029_007d-335"></a><dd>Activates debugging printout specific to <code>gsftopk</code> program. + + <br><dt><code>MAKETEX_DEBUG </code><span class="roman">(512)</span><a name="index-MAKETEX_005fDEBUG-_0040r_007b_0028512_0029_007d-336"></a><dd>If you use the optional <code>mktex</code> programs instead of the +traditional shell scripts, this will report the name of the site file +(<samp><span class="file">mktex.cnf</span></samp> by default) which is read, directories created by +<code>mktexdir</code>, the full path of the <samp><span class="file">ls-R</span></samp> database built by +<code>mktexlsr</code>, font map searches, <code>MT_FEATURES</code> in effect, +parameters from <code>mktexnam</code>, filenames added by +<code>mktexupd</code>, and some subsidiary commands run by the programs. + + <br><dt><code>MAKETEX_FINE_DEBUG </code><span class="roman">(1024)</span><a name="index-MAKETEX_005fFINE_005fDEBUG-_0040r_007b_00281024_0029_007d-337"></a><dd>When the optional <code>mktex</code> programs are used, this will print +additional debugging info from functions internal to these programs. +</dl> + + <p><a name="index-g_t_0040samp_007bkdebug_003a_007d-338"></a><a name="index-hash_005fsummary_005fonly-_0040r_007bvariable-for-debugging_007d-339"></a><a name="index-hash-table-buckets_002c-printing-340"></a>Debugging output from Kpathsea is always written to standard error, and +begins with the string ‘<samp><span class="samp">kdebug:</span></samp>’. (Except for hash table buckets, +which just start with the number, but you can only get that output +running under a debugger. See comments at the <code>hash_summary_only</code> +variable in <samp><span class="file">kpathsea/db.c</span></samp>.) + +<div class="node"> +<a name="Logging"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Common-problems">Common problems</a>, +Previous: <a rel="previous" accesskey="p" href="#Debugging">Debugging</a>, +Up: <a rel="up" accesskey="u" href="#Reporting-bugs">Reporting bugs</a> + +</div> + +<h4 class="subsection">2.6.4 Logging</h4> + +<p><a name="index-log-file-341"></a> +<a name="index-logging-successful-searches-342"></a><a name="index-recording-successful-searches-343"></a><a name="index-usage-patterns_002c-finding-344"></a><a name="index-disk-usage_002c-reducing-345"></a>Kpathsea can record the time and filename found for each successful +search. This may be useful in finding good candidates for deletion when +your filesystem is full, or in discovering usage patterns +at your site. + + <p><a name="index-TEXMFLOG-346"></a>To do this, define the environment or config file variable +<code>TEXMFLOG</code>. The value is the name of the file to append the +information to. The file is created if it doesn't exist, and appended +to if it does. + + <p><a name="index-epoch_002c-seconds-since-347"></a><a name="index-time-_0040r_007bsystem-call_007d-348"></a>Each successful search turns into one line in the log file: two words +separated by a space. The first word is the time of the search, as the +integer number of seconds since “the epoch”, i.e., UTC midnight 1 +January 1970 (more precisely, the result of the <code>time</code> system +call). The second word is the filename. + + <p>For example, after <code>setenv TEXMFLOG /tmp/log</code>, running Dvips on +<samp><span class="file">story.dvi</span></samp> appends the following lines: + +<pre class="example"> 774455887 /usr/local/share/texmf/dvips/config.ps + 774455887 /usr/local/share/texmf/dvips/psfonts.map + 774455888 /usr/local/share/texmf/dvips/texc.pro + 774455888 /usr/local/share/texmf/fonts/pk/ljfour/public/cm/cmbx10.600pk + 774455889 /usr/local/share/texmf/fonts/pk/ljfour/public/cm/cmsl10.600pk + 774455889 /usr/local/share/texmf/fonts/pk/ljfour/public/cm/cmr10.600pk + 774455889 /usr/local/share/texmf/dvips/texc.pro +</pre> + <p><a name="index-privacy_002c-semblance-of-349"></a>Only filenames that are absolute are recorded, to preserve +some semblance of privacy. + + <p>In addition to this Kpathsea-specific logging, <samp><span class="command">pdftex</span></samp> +provides an option <samp><span class="option">-recorder</span></samp> to write the names of all files +accessed during a run to the file <samp><var>basefile</var><span class="file">.fls</span></samp>. + + <p>Finally, most systems provide a general tool to output each system +call, thus including opening and closing files. It might be named +<samp><span class="command">strace</span></samp>, <samp><span class="command">truss</span></samp>, <samp><span class="command">struss</span></samp>, or something +else. + +<div class="node"> +<a name="Common-problems"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Logging">Logging</a>, +Up: <a rel="up" accesskey="u" href="#Reporting-bugs">Reporting bugs</a> + +</div> + +<h4 class="subsection">2.6.5 Common problems</h4> + +<p><a name="index-common-problems-350"></a><a name="index-problems_002c-common-351"></a><a name="index-FAQ_002c-Kpathsea-352"></a> +Here are some common problems with configuration, compilation, linking, +execution, <small class="dots">...</small> + +<ul class="menu"> +<li><a accesskey="1" href="#Unable-to-find-files">Unable to find files</a>: If your program can't find fonts (or whatever). +<li><a accesskey="2" href="#Slow-path-searching">Slow path searching</a>: If it takes forever to find anything. +<li><a accesskey="3" href="#Unable-to-generate-fonts">Unable to generate fonts</a>: If mktexpk fails. +<li><a accesskey="4" href="#TeX-or-Metafont-failing">TeX or Metafont failing</a>: Likely compiler bugs. + +<li><a accesskey="5" href="#Empty-Makefiles">Empty Makefiles</a>: When configure produces empty makefiles. +<li><a accesskey="6" href="#XtStrings">XtStrings</a>: When _XtStrings is undefined. +<li><a accesskey="7" href="#dlopen">dlopen</a>: When dlopen is undefined. +<li><a accesskey="8" href="#ShellWidgetClass">ShellWidgetClass</a>: For dynamic linking troubles under OpenWindows. +<li><a accesskey="9" href="#Pointer-combination-warnings">Pointer combination warnings</a>: For old compilers that don't grok char *. +</ul> + +<div class="node"> +<a name="Unable-to-find-files"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Slow-path-searching">Slow path searching</a>, +Up: <a rel="up" accesskey="u" href="#Common-problems">Common problems</a> + +</div> + +<h5 class="subsubsection">2.6.5.1 Unable to find files</h5> + +<p><a name="index-unable-to-find-files-353"></a><a name="index-files_002c-unable-to-find-354"></a> +If a program complains it cannot find fonts (or other input files), any +of several things might be wrong. In any case, you may find the +debugging options helpful. See <a href="#Debugging">Debugging</a>. + + <ul> +<li>Perhaps you simply haven't installed all the necessary files; the basic +fonts and input files are distributed separately from the programs. +See <a href="#unixtex_002eftp">unixtex.ftp</a>. + + <li><a name="index-g_t_002fetc_002fprofile-355"></a><a name="index-environment-variables_002c-old-356"></a>You have (perhaps unknowingly) told Kpathsea to use search paths that +don't reflect where the files actually are. One common cause is having +environment variables set from a previous installation, thus overriding +what you carefully set in <samp><span class="file">texmf.cnf</span></samp> (see <a href="#Supported-file-formats">Supported file formats</a>). System <samp><span class="file">/etc/profile</span></samp> or other files such may be the +culprit. + + <li><a name="index-symbolic-links-not-found-357"></a><a name="index-leaf-directories-wrongly-guessed-358"></a>Your files reside in a directory that is only pointed to via a symbolic +link, in a leaf directory and is not listed in <samp><span class="file">ls-R</span></samp>. + + <p>Unfortunately, Kpathsea's subdirectory searching has an irremediable +deficiency: If a directory <var>d</var> being searched for subdirectories +contains plain files and symbolic links to other directories, but no +true subdirectories, <var>d</var> will be considered a leaf directory, i.e., +the symbolic links will not be followed. See <a href="#Subdirectory-expansion">Subdirectory expansion</a>. + + <p>You can work around this problem by creating an empty dummy subdirectory +in <var>d</var>. Then <var>d</var> will no longer be a leaf, and the symlinks will +be followed. + + <p>The directory immediately followed by the ‘<samp><span class="samp">//</span></samp>’ in the path +specification, however, is always searched for subdirectories, even if +it is a leaf. Presumably you would not have asked for the directory to +be searched for subdirectories if you didn't want it to be. + + <li>If the fonts (or whatever) don't already exist, <code>mktexpk</code> (or +<code>mktexmf</code> or <code>mktextfm</code>) will try to create them. If +these rather complicated shell scripts fail, you'll eventually get an +error message saying something like ‘<samp><span class="samp">Can't find font +</span><var>fontname</var></samp>’. The best solution is to fix (or at least report) the +bug in <code>mktexpk</code>; the workaround is to generate the necessary +fonts by hand with Metafont, or to grab them from a CTAN site +(see <a href="#unixtex_002eftp">unixtex.ftp</a>). + + <li>There is a bug in the library. See <a href="#Reporting-bugs">Reporting bugs</a>. +</ul> + +<div class="node"> +<a name="Slow-path-searching"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Unable-to-generate-fonts">Unable to generate fonts</a>, +Previous: <a rel="previous" accesskey="p" href="#Unable-to-find-files">Unable to find files</a>, +Up: <a rel="up" accesskey="u" href="#Common-problems">Common problems</a> + +</div> + +<h5 class="subsubsection">2.6.5.2 Slow path searching</h5> + +<p><a name="index-excessive-startup-time-359"></a><a name="index-slow-startup-time-360"></a><a name="index-startup-time_002c-excessive-361"></a> +If your program takes an excessively long time to find fonts or other +input files, but does eventually succeed, here are some possible culprits: + + <ul> +<li>Most likely, you just have a lot of directories to search, and that +takes a noticeable time. The solution is to create and maintain a +separate <samp><span class="file">ls-R</span></samp> file that lists all the files in your main TeX +hierarchy. See <a href="#Filename-database">Filename database</a>. Kpathsea always uses <samp><span class="file">ls-R</span></samp> +if it's present; there's no need to recompile or reconfigure any of the +programs. + + <li>Your recursively-searched directories (e.g., +<samp><span class="file">/usr/local/share/texmf/fonts//</span></samp>), contain a mixture of files and +directories. This prevents Kpathsea from using a useful optimization +(see <a href="#Subdirectory-expansion">Subdirectory expansion</a>). + + <p>It is best to have only directories (and perhaps a <samp><span class="file">README</span></samp>) in the +upper levels of the directory structure, and it's very important to have +<em>only</em> files, and no subdirectories, in the leaf directories where +the dozens of TFM, PK, or whatever files reside. +</ul> + + <p>In any case, you may find the debugging options helpful in determining +precisely when the disk or network is being pounded. See <a href="#Debugging">Debugging</a>. + +<div class="node"> +<a name="Unable-to-generate-fonts"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#TeX-or-Metafont-failing">TeX or Metafont failing</a>, +Previous: <a rel="previous" accesskey="p" href="#Slow-path-searching">Slow path searching</a>, +Up: <a rel="up" accesskey="u" href="#Common-problems">Common problems</a> + +</div> + +<h5 class="subsubsection">2.6.5.3 Unable to generate fonts</h5> + +<p><a name="index-unable-to-generate-fonts-362"></a><a name="index-font-generation-failures-363"></a> +Metafont outputs fonts in bitmap format, tuned for a particular +device at a particular resolution, in order to allow for the +highest-possible quality of output. Some DVI-to-whatever programs, +such as Dvips, try to generate these on the fly when they are needed, +but this generation may fail in several cases. + + <p><a name="index-g_t_0040code_007bmktexpk_007d-can_0027t-guess-mode-364"></a>If <code>mktexpk</code> runs, but fails with this error: +<pre class="example"> mktexpk: Can't guess mode for <var>nnn</var> dpi devices. + mktexpk: Use a config file to specify the mode, or update me. +</pre> + <p>you need to ensure the resolution and mode match; just +specifying the resolution, as in <code>-D 360</code>, is not enough. + + <p>You can specify the mode name with the <code>-mode</code> option on the +Dvips command line, or in a Dvips configuration file (see <a href="dvips.html#Config-files">Config files</a>), such as <samp><span class="file">config.ps</span></samp> in your document +directory, <samp><span class="file">~/.dvipsrc</span></samp> in your home directory, or in a system +directory (again named <samp><span class="file">config.ps</span></samp>). (Other drivers use other +files, naturally.) + + <p>For example, if you need 360<span class="dmn">dpi</span> fonts, you could include this in +a configuration file: +<pre class="example"> D 360 + M lqmed +</pre> + <p><a name="index-Metafont-using-the-wrong-device-365"></a><a name="index-device_002c-wrong-366"></a>If Metafont runs, but generates fonts at the wrong resolution or for +the wrong device, most likely <code>mktexpk</code>'s built-in guess for the +mode is wrong, and you should override it as above. + + <p>See <a href="ftp://ftp.tug.org/tex/modes.mf">ftp://ftp.tug.org/tex/modes.mf</a> for a list of resolutions and +mode names for most devices (additional submissions are welcome). + + <p><a name="index-g_t_002e2602gf-367"></a><a name="index-g_t2602gf-368"></a><a name="index-Metafont-making-too_002dlarge-fonts-369"></a><a name="index-proof-mode-370"></a><a name="index-online-Metafont-display_002c-spurious-371"></a>If Metafont runs but generates fonts at a resolution of 2602<span class="dmn">dpi</span> +(and prints out the name of each character as well as just a character +number, and maybe tries to display the characters), then your Metafont +base file probably hasn't been made properly. (It's using the default +<code>proof</code> mode, instead of an actual device mode.) To make a proper +<samp><span class="file">plain.base</span></samp>, assuming the local mode definitions are contained in +a file <samp><span class="file">modes.mf</span></samp>, run the following command (assuming Unix): + +<pre class="example"> inimf "plain; input modes; dump" +</pre> + <p class="noindent"><a name="index-plain_002ebase-372"></a>Then copy the <samp><span class="file">plain.base</span></samp> file from the current directory to where +the base files are stored on your system +(<samp><span class="file">/usr/local/share/texmf/web2c</span></samp> by default), and make a link +(either hard or soft) from <samp><span class="file">plain.base</span></samp> to <samp><span class="file">mf.base</span></samp> in that +directory. +See <a href="web2c.html#inimf-invocation">inimf invocation</a>. + + <p><a name="index-Metafont-installation-373"></a>If <code>mf</code> is a command not found at all by <code>mktexpk</code>, then you +need to install Metafont (see <a href="#unixtex_002eftp">unixtex.ftp</a>). + +<div class="node"> +<a name="TeX-or-Metafont-failing"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Empty-Makefiles">Empty Makefiles</a>, +Previous: <a rel="previous" accesskey="p" href="#Unable-to-generate-fonts">Unable to generate fonts</a>, +Up: <a rel="up" accesskey="u" href="#Common-problems">Common problems</a> + +</div> + +<h5 class="subsubsection">2.6.5.4 TeX or Metafont failing</h5> + +<p><a name="index-g_t_0040TeX_007b_007d-failures-374"></a><a name="index-Metafont-failures-375"></a><a name="index-compiler-bugs-376"></a>If TeX or Metafont get a segmentation fault or otherwise fail while +running a normal input file, the problem is usually a compiler bug +(unlikely as that may sound). Even if the trip and trap tests are +passed, problems may lurk. Optimization occasionally causes trouble in +programs other than TeX and Metafont themselves, too. + + <p>Insufficient swap space may also cause core dumps or other erratic +behavior. + + <p><a name="index-optimization-caveat-377"></a>For a workaround, if you enabled any optimization flags, it's best to +omit optimization entirely. In any case, the way to find the facts is +to run the program under the debugger and see where it's failing. + + <p><a name="index-GNU-C-compiler-bugs-378"></a><a name="index-system-C-compiler-bugs-379"></a>Also, if you have trouble with a system C compiler, I advise trying the +GNU C compiler. And vice versa, unfortunately; but in that case I also +recommend reporting a bug to the GCC mailing list; see <a href="gcc.html#Bugs">Bugs</a>. + + <p><a name="index-compiler-bugs_002c-finding-380"></a>To report compiler bugs effectively requires perseverance and +perspicacity: you must find the miscompiled line, and that usually +involves delving backwards in time from the point of error, checking +through TeX's (or whatever program's) data structures. Things are +not helped by all-too-common bugs in the debugger itself. Good luck. + + <p><a name="index-ANSI-C-381"></a><a name="index-HP_002dUX_002c-compiling-on-382"></a><a name="index-compiling-on-HP_002dUX-383"></a>One known cause of trouble is the way arrays are handled. Some of the +Pascal arrays have a lower index other than 0, and the C code will take +the pointer to the allocated memory, subtract the lower index, and use +the resulting pointer for the array. While this trick often works, ANSI +C doesn't guarantee that it will. It it known to fail on HP-UX 10 +machines when the native compiler is used, unless the ‘<samp><span class="samp">+u</span></samp>’ compiler +switch was specified. Using GCC will work on this platform as well. + +<div class="node"> +<a name="Empty-Makefiles"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#XtStrings">XtStrings</a>, +Previous: <a rel="previous" accesskey="p" href="#TeX-or-Metafont-failing">TeX or Metafont failing</a>, +Up: <a rel="up" accesskey="u" href="#Common-problems">Common problems</a> + +</div> + +<h5 class="subsubsection">2.6.5.5 Empty Makefiles</h5> + +<p><a name="index-Makefiles_002c-empty-384"></a><a name="index-sed-_0040r_007berror-from-_0040code_007bconfigure_007d_007d-385"></a><a name="index-configure-_0040r_007berror-from-_0040code_007bsed_007d_007d-386"></a><a name="index-NetBSD-_0040code_007bconfigure_007d-error-387"></a><a name="index-FreeBSD-_0040code_007bconfigure_007d-error-388"></a><a name="index-Mach10-_0040code_007bconfigure_007d-error-389"></a><a name="index-AIX-4_002e1-_0040code_007bconfigure_007d-error-390"></a><a name="index-NeXT-_0040code_007bsed_007d-error-391"></a> +On some systems (NetBSD, FreeBSD, AIX 4.1, and Mach10), <code>configure</code> +may fail to properly create the Makefiles. Instead, you get an error +which looks something like this: + +<pre class="example"> prompt$ ./configure + ... + creating Makefile + sed: 1: "\\@^ac_include make/pat ...": \ can not + be used as a string delimiter +</pre> + <p>So far as I know, the bug here is in <code>/bin/sh</code> on these systems. I +don't have access to a machine running any of them, so if someone can +find a workaround that avoids the quoting bug, I'd be most +grateful. (Search for <code>ac_include</code> in the <code>configure</code> script +to get to the problematic code.) + + <p>It should work to run <code>bash configure</code>, instead of using +<code>/bin/sh</code>. You can get Bash from +<a href="ftp://prep.ai.mit.edu/pub/gnu">ftp://prep.ai.mit.edu/pub/gnu</a> and mirrors. + + <p>Another possible cause (reported for NeXT) is a bug in the <code>sed</code> +command. In that case the error may look like this: + +<pre class="example"> Unrecognized command: \@^ac_include make/paths.make@r make/paths.make +</pre> + <p>In this case, installing GNU <code>sed</code> should solve the problem. You +can get GNU <code>sed</code> from the same places as Bash. + +<div class="node"> +<a name="XtStrings"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#dlopen">dlopen</a>, +Previous: <a rel="previous" accesskey="p" href="#Empty-Makefiles">Empty Makefiles</a>, +Up: <a rel="up" accesskey="u" href="#Common-problems">Common problems</a> + +</div> + +<h5 class="subsubsection">2.6.5.6 <code>XtStrings</code></h5> + +<p><a name="index-XtStrings-392"></a>You may find that linking X programs results in an error from the linker +that ‘<samp><span class="samp">XtStrings</span></samp>’ is undefined, something like this: + +<pre class="example"> gcc -o virmf ... + .../x11.c:130: undefined reference to `XtStrings' +</pre> + <p>This generally happens because of a mismatch between the X include files +with which you compiled and the X libraries with which you linked; +often, the include files are from MIT and the libraries from Sun. + + <p>The solution is to use the same X distribution for compilation and +linking. Probably ‘<samp><span class="samp">configure</span></samp>’ was unable to guess the proper +directories from your installation. You can use the <code>configure</code> +options ‘<samp><span class="samp">--x-includes=</span><var>path</var></samp>’ and +‘<samp><span class="samp">--x-libraries=</span><var>path</var></samp>’ to explicitly specify them. + +<div class="node"> +<a name="dlopen"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#ShellWidgetClass">ShellWidgetClass</a>, +Previous: <a rel="previous" accesskey="p" href="#XtStrings">XtStrings</a>, +Up: <a rel="up" accesskey="u" href="#Common-problems">Common problems</a> + +</div> + +<h5 class="subsubsection">2.6.5.7 <code>dlopen</code></h5> + +<p><a name="index-static-linking-and-_0040code_007bdlsym_007d-393"></a><a name="index-dlopen-394"></a><a name="index-dlsym-395"></a><a name="index-dlclose-396"></a><a name="index-wcstombs-397"></a><a name="index-libdl_002ea-398"></a>(This section adapted from the file <samp><span class="file">dlsym.c</span></samp> in the X distribution.) + + <p>The <code>Xlib</code> library uses the standard C function <code>wcstombs</code>. +Under SunOS 4.1, <code>wcstombs</code> uses the ‘<samp><span class="samp">dlsym</span></samp>’ interface defined +in <samp><span class="file">libdl.so</span></samp>. Unfortunately, the SunOS 4.1 distribution does not +include a static ‘<samp><span class="samp">libdl.a</span></samp>’ library. + + <p>As a result, if you try to link an X program statically under SunOS, you +may get undefined references to <code>dlopen</code>, <code>dlsym</code>, and +<code>dlclose</code>. One workaround is to include these definitions +when you link: + +<pre class="example"> void *dlopen() { return 0; } + void *dlsym() { return 0; } + int dlclose() { return -1; } +</pre> + <p><a name="index-dlsym_002ec-399"></a>These are contained in the <samp><span class="file">dlsym.c</span></samp> file in the MIT X +distribution. + +<div class="node"> +<a name="ShellWidgetClass"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Pointer-combination-warnings">Pointer combination warnings</a>, +Previous: <a rel="previous" accesskey="p" href="#dlopen">dlopen</a>, +Up: <a rel="up" accesskey="u" href="#Common-problems">Common problems</a> + +</div> + +<h5 class="subsubsection">2.6.5.8 <code>ShellWidgetClass</code></h5> + +<p><a name="index-dynamic-linking-problems-with-OpenWin-libraries-400"></a><a name="index-OpenWin-libraries_002c-dynamic-linking-problems-401"></a><a name="index-get_005fwmShellWidgetClass-402"></a><a name="index-get_005fapplicationShellWidgetClass-403"></a> +<a name="index-comp_002esys_002esun_002eadmin-_0040r_007bFAQ_007d-404"></a><a name="index-FAQ_002c-_0040t_007bcomp_002esys_002esun_002eadmin_007d-405"></a>(This section adapted from the <tt>comp.sys.sun.admin</tt> FAQ.) + + <p>If you are linking with Sun's OpenWindows libraries in SunOS 4.1.x, you +may get undefined symbols <code>_get_wmShellWidgetClass</code> and +<code>_get_applicationShellWidgetClass</code> when linking. This problem does +not arise using the standard MIT X libraries under SunOS. + + <p><a name="index-Xmu-_0040r_007blibrary-problems_007d-406"></a>The cause is bugs in the <code>Xmu</code> shared library as shipped from Sun. +There are several fixes: + + <ul> +<li>Install the free MIT distribution from ‘<samp><span class="samp">ftp.x.org</span></samp>’ and mirrors. + + <li>Get the OpenWindows patches listed below. + + <li>Statically link the <code>Xmu</code> library into the executable. + + <li>Avoid using <code>Xmu</code> at all. If you are compiling +Metafont, see <a href="web2c.html#Online-Metafont-graphics">Online Metafont graphics</a>. If you are +compiling Xdvi, see the <code>-DNOTOOL</code> option in <samp><span class="file">xdvik/INSTALL</span></samp>. + + <li>Ignore the errors. The binary runs fine regardless. + + </ul> + + <p><a name="index-Sun-OpenWin-patches-407"></a><a name="index-patches_002c-Sun-OpenWin-408"></a>Here is the information for getting the two patches: + +<pre class="display"> Patch ID: 100512-02 + Bug ID's: 1086793, 1086912, 1074766 + Description: 4.1.x OpenWindows 3.0 <code>libXt</code> jumbo patch + + Patch ID: 100573-03 + Bug ID: 1087332 + Description: 4.1.x OpenWindows 3.0 undefined symbols when using shared <code>libXmu</code>. +</pre> + <p><a name="index-static-linking-409"></a>The way to statically link with <code>libXmu</code> depends on whether you are +using a Sun compiler (e.g., <code>cc</code>) or <code>gcc</code>. If the latter, +alter the <code>x_libs</code> Make variable to include + + <p><a name="index-g_t_002dstatic-410"></a><a name="index-g_t_002ddynamic-411"></a> +<pre class="example"> -static -lXmu -dynamic +</pre> + <p><a name="index-g_t_002dBstatic-412"></a><a name="index-g_t_002dBdynamic-413"></a>If you are using the Sun compiler, use ‘<samp><span class="samp">-Bstatic</span></samp>’ and ‘<samp><span class="samp">-Bdynamic</span></samp>’. + +<div class="node"> +<a name="Pointer-combination-warnings"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#ShellWidgetClass">ShellWidgetClass</a>, +Up: <a rel="up" accesskey="u" href="#Common-problems">Common problems</a> + +</div> + +<h5 class="subsubsection">2.6.5.9 Pointer combination warnings</h5> + +<p><a name="index-warnings_002c-pointer-combinations-414"></a><a name="index-pointer-combination-warnings-415"></a><a name="index-illegal-pointer-combination-warnings-416"></a><a name="index-cc-_0040r_007bwarnings_007d-417"></a>When compiling with old C compilers, you may get some warnings about +“illegal pointer combinations”. These are spurious; just ignore them. +I decline to clutter up the source with casts to get rid of them. + +<!-- This isn't worth including any more, OSF 1.x is too old. --> +<!-- The other XtInherit problem (R4 Xlib on Suns) should never come up, --> +<!-- but the answer from the X faq is included anyway. --> +<!-- @node XtInherit --> +<!-- @subsubsection @code{XtInherit} --> +<!-- @findex XtInherit @r{bug on OSF/1} --> +<!-- @cindex OSF/1 loader bug and @code{XtInherit} --> +<!-- @cindex Alpha OSF/1 loader bug and @code{XtInherit} --> +<!-- On DEC OSF/1 1.x systems, the loader has a bug that manifests itself in --> +<!-- the following error (all on one line, but for the sake of the paper --> +<!-- width it's broken here): --> +<!-- @example --> +<!-- xdvik/xdvi: /sbin/loader: Fatal Error: search_for_undefineds: --> +<!-- symbol _XtInherit should not have any relocation entry --> +<!-- @end example --> +<!-- @noindent According to Michael Rickabaugh @code{<mjr@@quarry.enet.dec.com>}: --> +<!-- @quotation --> +<!-- This is a bug fixed in DEC OSF/1 2.0. --> +<!-- If you know how, installing @file{/sbin/loader} from a 2.0 system onto a --> +<!-- 1.3 system will work. Make sure that @file{/usr} is @emph{not} mounted --> +<!-- when you do this. (If you forget about umounting @code{/usr}, it is --> +<!-- possible most of your filesystems will become corrupted.) --> +<!-- Otherwise, I suggest getting a later CD and running --> +<!-- @file{/usr/sbin/installupdate}. --> +<!-- @end quotation --> +<!-- Alternatively, you may be able to use the freely available X11 libraries --> +<!-- that come with the MIT distribution (on @file{ftp.x.org}, for example). --> +<!-- Linking statically, perhaps only with some of the X libraries, may also --> +<!-- work. --> +<!-- The Sun XtInherit weirdness, from the comp.windows.x FAQ: --> +<!-- Subject: 126)! What are these problems with "*_XtInherit* not found" on the Sun? --> +<!-- When I link a X program that I wrote on a SunOS 4.0.3 or 4.1 machine I get the --> +<!-- error "ld.so: symbol not found *_XtInherit*". --> +<!-- What you are seeing is a side-effect of a kludge in the R4 libXt.a to --> +<!-- get Sun shared libraries working. Apparently, you can't share a function that --> +<!-- is both called and compared, as *_XtInherit* is. This was handled by putting --> +<!-- *_XtInherit* in the same file as a function that is always used, thereby --> +<!-- guaranteeing that it would be loaded - that is, in Initialize.c, where --> +<!-- XtToolkitInitialize() and XtInitialize() reside. These routines would normally --> +<!-- be called. --> +<!-- You are probably seeing this error because your program is not a normal --> +<!-- Xt-based program and does not call XtToolkitInitialize() anywhere. --> +<!-- 1) it may be a program that uses Xt functions but never opens a --> +<!-- connection to the X server. [OSF/Motif's 1.1.0 UIL had this problem; it called --> +<!-- XtMalloc() and other Xt functions.] The solution is to add the call to your --> +<!-- program; the function does not have to be executed, just linked in. --> +<!-- 2) alternatively, your program doesn't need any Xt functions and is --> +<!-- correct in not calling XtToolkitInitialize() - it may be an Xlib or XView --> +<!-- program. In this case, you can remove -lXt from your link command. --> +<!-- It should not be necessary to link the shared libraries statically, --> +<!-- although this will certainly solve the problem. --> +<!-- * Empty Makefiles:: If configure gives you sed errors. --> +<!-- * wchar_t:: For wchar_t difficulties. --> +<div class="node"> +<a name="Path-searching"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#TeX-support">TeX support</a>, +Previous: <a rel="previous" accesskey="p" href="#Installation">Installation</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">3 Path searching</h2> + +<p><a name="index-path-searching-418"></a> +This chapter describes the generic path searching mechanism Kpathsea +provides. For information about searching for particular file types +(e.g., TeX fonts), see the next chapter. + +<ul class="menu"> +<li><a accesskey="1" href="#Searching-overview">Searching overview</a>: Basic scheme for searching. +<li><a accesskey="2" href="#Path-sources">Path sources</a>: Where search paths can be defined. +<li><a accesskey="3" href="#Path-expansion">Path expansion</a>: Special constructs in search paths. +<li><a accesskey="4" href="#Filename-database">Filename database</a>: Using an externally-built list to search. +<li><a accesskey="5" href="#Invoking-kpsewhich">Invoking kpsewhich</a>: Standalone path lookup. +</ul> + +<div class="node"> +<a name="Searching-overview"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Path-sources">Path sources</a>, +Up: <a rel="up" accesskey="u" href="#Path-searching">Path searching</a> + +</div> + +<h3 class="section">3.1 Searching overview</h3> + +<p><a name="index-searching-overview-419"></a><a name="index-path-searching_002c-overview-420"></a><a name="index-overview-of-path-searching-421"></a> +<a name="index-search-path_002c-defined-422"></a>A <dfn>search path</dfn> is a colon-separated list of <dfn>path elements</dfn>, +which are directory names with a few extra frills. A search path can +come from (a combination of) many sources; see below. To look up a file +‘<samp><span class="samp">foo</span></samp>’ along a path ‘<samp><span class="samp">.:/dir</span></samp>’, Kpathsea checks each element of +the path in turn: first <samp><span class="file">./foo</span></samp>, then <samp><span class="file">/dir/foo</span></samp>, returning +the first match (or possibly all matches). + + <p><a name="index-magic-characters-423"></a><a name="index-g_t_003a-_0040r_007bmay-not-be-_003a_007d-424"></a><a name="index-g_t_002f-_0040r_007bmay-not-be-_002f_007d-425"></a>The “colon” and “slash” mentioned here aren't necessarily ‘<samp><span class="samp">:</span></samp>’ +and ‘<samp><span class="samp">/</span></samp>’ on non-Unix systems. Kpathsea tries to adapt to other +operating systems' conventions. + + <p><a name="index-database-search-426"></a><a name="index-searching-the-database-427"></a>To check a particular path element <var>e</var>, Kpathsea first sees if a +prebuilt database (see <a href="#Filename-database">Filename database</a>) applies to <var>e</var>, i.e., +if the database is in a directory that is a prefix of <var>e</var>. If so, +the path specification is matched against the contents of the database. + + <p><a name="index-floating-directories-428"></a><a name="index-filesystem-search-429"></a><a name="index-disk-search-430"></a><a name="index-searching-the-disk-431"></a>If the database does not exist, or does not apply to this path element, +or contains no matches, the filesystem is searched (if this was not +forbidden by the specification with ‘<samp><span class="samp">!!</span></samp>’ and if the file being +searched for must exist). Kpathsea constructs the list of directories +that correspond to this path element, and then checks in each for the +file being searched for. (To help speed future lookups of files in the +same directory, the directory in which a file is found is floated to the +top of the directory list.) + + <p><a name="index-must-exist-432"></a><a name="index-VF-files_002c-not-found-433"></a><a name="index-cmr10_002evf-434"></a><a name="index-g_t_005copenin-435"></a>The “file must exist” condition comes into play with VF files and +input files read by the TeX ‘<samp><span class="samp">\openin</span></samp>’ command. These files +might very well not exist (consider <samp><span class="file">cmr10.vf</span></samp>), and so it would +be wrong to search the disk for them. Therefore, if you fail to +update <samp><span class="file">ls-R</span></samp> when you install a new VF file, it will not be +found. + + <p>Each path element is checked in turn: first the database, then the disk. +If a match is found, the search stops and the result is returned. This +avoids possibly-expensive processing of path specifications that are +never needed on a particular run. (Unless the search explicitly +requested all matches.) + + <p><a name="index-expansion_002c-path-element-436"></a>Although the simplest and most common path element is a directory name, +Kpathsea supports additional features in search paths: layered default +values, environment variable names, config file values, users' home +directories, and recursive subdirectory searching. Thus, we say that +Kpathsea <dfn>expands</dfn> a path element, meaning transforming all the +magic specifications into the basic directory name or names. This +process is described in the sections below. It happens in the same +order as the sections. + + <p><a name="index-absolute-filenames-437"></a><a name="index-relative-filenames-438"></a><a name="index-explicitly-relative-filenames-439"></a><a name="index-filenames_002c-absolute-or-explicitly-relative-440"></a>Exception to all of the above: If the filename being searched for is +absolute or explicitly relative, i.e., starts with ‘<samp><span class="samp">/</span></samp>’ or ‘<samp><span class="samp">./</span></samp>’ +or ‘<samp><span class="samp">../</span></samp>’, Kpathsea simply checks if that file exists. + + <p><a name="index-permission-denied-441"></a><a name="index-unreadable-files-442"></a><a name="index-access-warnings-443"></a><a name="index-warnings_002c-file-access-444"></a><a name="index-lost_002bfound-_0040r_007bdirectory_007d-445"></a><a name="index-TEX_005fHUSH-446"></a>Ordinarily, if Kpathsea tries to access a file or directory that +cannot be read, it gives a warning. This is so you will be alerted to +directories or files that accidentally lack any read permission (for +example, a <samp><span class="file">lost+found</span></samp> directory). If you prefer not to see +these warnings, include the value ‘<samp><span class="samp">readable</span></samp>’ in the +<code>TEX_HUSH</code> environment variable or config file value. + + <p>This generic path searching algorithm is implemented in +<samp><span class="file">kpathsea/pathsearch.c</span></samp>. It is employed by a higher-level +algorithm when searching for a file of a particular type (see <a href="#File-lookup">File lookup</a>, and <a href="#Glyph-lookup">Glyph lookup</a>). + +<div class="node"> +<a name="Path-sources"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Path-expansion">Path expansion</a>, +Previous: <a rel="previous" accesskey="p" href="#Searching-overview">Searching overview</a>, +Up: <a rel="up" accesskey="u" href="#Path-searching">Path searching</a> + +</div> + +<h3 class="section">3.2 Path sources</h3> + +<p><a name="index-path-sources-447"></a><a name="index-sources-for-search-paths-448"></a> +A search path can come from many sources. In the order in which +Kpathsea uses them: + + <ol type=1 start=1> +<li><a name="index-environment-variable_002c-source-for-path-449"></a>A user-set environment variable, e.g., <code>TEXINPUTS</code>. +Environment variables with an underscore and the program name appended +override; for example, <code>TEXINPUTS_latex</code> overrides <code>TEXINPUTS</code> +if the program being run is named ‘<samp><span class="samp">latex</span></samp>’. + + <li>A program-specific configuration file, e.g., an ‘<samp><span class="samp">S /a:/b</span></samp>’ line in +Dvips' <samp><span class="file">config.ps</span></samp> (see <a href="dvips.html#Config-files">Config files</a>). + + <li><a name="index-configuration-file_002c-source-for-path-450"></a><a name="index-Kpathsea-config-file_002c-source-for-path-451"></a><a name="index-texmf_002ecnf_0040r_007b_002c-source-for-path_007d-452"></a>A line in a Kpathsea configuration file <samp><span class="file">texmf.cnf</span></samp>, e.g., +‘<samp><span class="samp">TEXINPUTS=/c:/d</span></samp>’ (see below). + + <li><a name="index-compilation-value_002c-source-for-path-453"></a>The compile-time default (specified in <samp><span class="file">kpathsea/paths.h</span></samp>). + </ol> + + <p>You can see each of these values for a given search path by using the +debugging options (see <a href="#Debugging">Debugging</a>). + + <p>These sources may be combined via default expansion (see <a href="#Default-expansion">Default expansion</a>). + +<ul class="menu"> +<li><a accesskey="1" href="#Config-files">Config files</a>: Kpathsea's runtime config files (texmf.cnf). +</ul> + +<div class="node"> +<a name="Config-files"></a> +<p><hr> +Up: <a rel="up" accesskey="u" href="#Path-sources">Path sources</a> + +</div> + +<h4 class="subsection">3.2.1 Config files</h4> + +<p><a name="index-config-files-454"></a><a name="index-texmf_002ecnf_0040r_007b_002c-definition-for_007d-455"></a> +<a name="index-runtime-configuration-files-456"></a><a name="index-TEXMFCNF-457"></a>As mentioned above, Kpathsea reads <dfn>runtime configuration files</dfn> +named <samp><span class="file">texmf.cnf</span></samp> for search path and other definitions. The +search path used to look for these configuration files is named +<code>TEXMFCNF</code>, and is constructed in the usual way, as described +above, except that configuration files cannot be used to define the +path, naturally; also, an <samp><span class="file">ls-R</span></samp> database is not used to search for +them. + + <p>Kpathsea reads <em>all</em> <samp><span class="file">texmf.cnf</span></samp> files in the search path, not +just the first one found; definitions in earlier files override those in +later files. Thus, if the search path is ‘<samp><span class="samp">.:$TEXMF</span></samp>’, values from +<samp><span class="file">./texmf.cnf</span></samp> override those from <samp><span class="file">$TEXMF/texmf.cnf</span></samp>. + + <p><a name="index-KPATHSEA_005fWARNING-458"></a><a name="index-warning_002c-about-missing-_0040file_007btexmf_002ecnf_007d-459"></a><a name="index-g_t_0040file_007btexmf_002ecnf_007d-missing_002c-warning-about-460"></a>If Kpathsea cannot find any <samp><span class="file">texmf.cnf</span></samp> file, it reports a +warning including all the directories it checked. If you don't want +to see this warning, set the environment variable +<samp><span class="env">KPATHSEA_WARNING</span></samp> to the single character ‘<samp><span class="samp">0</span></samp>’ (zero, not +oh). + + <p>While (or instead of) reading this description, you may find it helpful +to look at the distributed <samp><span class="file">texmf.cnf</span></samp>, which uses or at least +mentions most features. The format of <samp><span class="file">texmf.cnf</span></samp> files follows: + + <ul> +<li><a name="index-comments_002c-in-_0040file_007btexmf_002ecnf_007d-461"></a>Comments start with ‘<samp><span class="samp">%</span></samp>’, either at the beginning of a line or +preceded by whitespace, and continue to the end of the line. That is, +as with most shells, a ‘<samp><span class="samp">%</span></samp>’ in the “middle” of a value does not +start a comment. Examples: + + <pre class="example"> % this is a comment + var = a%b % but the value of var will be "a%b". +</pre> + <li><a name="index-blank-lines_002c-in-_0040file_007btexmf_002ecnf_007d-462"></a>Blank lines are ignored. + + <li><a name="index-backslash_002dnewline-463"></a><a name="index-continuation-character-464"></a><a name="index-whitespace_002c-not-ignored-on-continuation-lines-465"></a><a name="index-g_t_005c_0040r_007b_002c-line-continuation-in-_0040file_007btexmf_002ecnf_007d_007d-466"></a>A ‘<samp><span class="samp">\</span></samp>’ at the end of a line acts as a continuation character, i.e., +the next line is appended. Whitespace at the beginning of continuation +lines is not ignored. + + <li>Each remaining line must look like + + <pre class="example"> <var>variable</var> <span class="roman">[</span>. <var>progname</var><span class="roman">]</span> <span class="roman">[</span>=<span class="roman">]</span> <var>value</var> +</pre> + <p class="noindent">where the ‘<samp><span class="samp">=</span></samp>’ and surrounding whitespace is optional. + + <li><a name="index-identifiers_002c-characters-valid-in-467"></a>The <var>variable</var> name may contain any character other than whitespace, +‘<samp><span class="samp">=</span></samp>’, or ‘<samp><span class="samp">.</span></samp>’, but sticking to ‘<samp><span class="samp">A-Za-z_</span></samp>’ is safest. + + <li>If ‘<samp><span class="samp">.</span><var>progname</var></samp>’ is present, the definition only +applies if the program that is running is named (i.e., the last +component of <code>argv[0]</code> is) <var>progname</var> or +<samp><var>progname</var><span class="file">.{exe,bat,cmd,...}</span></samp>. Most notably, this allows +different flavors of TeX to have different search paths. + + <li><a name="index-right_002dhand-side-of-variable-assignments-468"></a><var>value</var> may contain any characters except ‘<samp><span class="samp">%</span></samp>’ and ‘<samp><span class="samp">@</span></samp>’. +(These restrictions are only necessary because of the processing done +on <samp><span class="file">texmf.cnf</span></samp> at build time, so you can stick those characters +in after installation if you have to.) The +‘<samp><span class="samp">$</span><var>var</var><span class="samp">.</span><var>prog</var></samp>’ feature is not available on the +right-hand side; instead, you must use an additional variable (see +below for example). A ‘<samp><span class="samp">;</span></samp>’ in <var>value</var> is translated to +‘<samp><span class="samp">:</span></samp>’ if running under Unix; this is useful to write a single +<samp><span class="file">texmf.cnf</span></samp> which can be used under both Unix and Windows. + + <li>All definitions are read before anything is expanded, so you can +use variables before they are defined (like Make, unlike most other +programs). +</ul> + +<p class="noindent">Here is a configuration file fragment illustrating most of +these points: + +<pre class="example"> % TeX input files -- i.e., anything to be found by \input or \openin ... + latex209_inputs = .:$TEXMF/tex/latex209//:$TEXMF/tex// + latex2e_inputs = .:$TEXMF/tex/latex//:$TEXMF/tex// + TEXINPUTS = .:$TEXMF/tex// + TEXINPUTS.latex209 = $latex209_inputs + TEXINPUTS.latex2e = $latex2e_inputs + TEXINPUTS.latex = $latex2e_inputs +</pre> + <p><a name="index-shell-scripts-as-configuration-files-469"></a><a name="index-configuration-files-as-shell-scripts_002e-470"></a>This format has obvious similarities to Bourne shell scripts—change +the comment character to <code>#</code>, disallow spaces around the +<code>=</code>, and get rid of the <code>.</code><var>name</var> convention, and it +could be run through the shell. However, there seemed little +advantage in this, since all the information would have to passed back +to Kpathsea and parsed there anyway, since the <code>sh</code> process +couldn't affect its parent's environment. + + <p><a name="index-cnf_002ec-471"></a>The implementation of all this is in <samp><span class="file">kpathsea/cnf.c</span></samp>. + +<div class="node"> +<a name="Path-expansion"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Filename-database">Filename database</a>, +Previous: <a rel="previous" accesskey="p" href="#Path-sources">Path sources</a>, +Up: <a rel="up" accesskey="u" href="#Path-searching">Path searching</a> + +</div> + +<h3 class="section">3.3 Path expansion</h3> + +<p><a name="index-path-expansion-472"></a><a name="index-expansion_002c-search-path-473"></a> +Kpathsea recognizes certain special characters and constructions in +search paths, similar to that in shells. As a general example: +‘<samp><span class="samp">~$USER/{foo,bar}//baz</span></samp>’ expands to all subdirectories under +directories <samp><span class="file">foo</span></samp> and <samp><span class="file">bar</span></samp> in <tt>$USER</tt>'s home directory that +contain a directory or file <samp><span class="file">baz</span></samp>. These expansions are explained +in the sections below. + +<ul class="menu"> +<li><a accesskey="1" href="#Default-expansion">Default expansion</a>: a: or :a or a::b expands to a default. +<li><a accesskey="2" href="#Variable-expansion">Variable expansion</a>: $foo and ${foo} expand to environment values. +<li><a accesskey="3" href="#Tilde-expansion">Tilde expansion</a>: ~ and ~user expand to home directories. +<li><a accesskey="4" href="#Brace-expansion">Brace expansion</a>: a{foo,bar}b expands to afoob abarb. +<li><a accesskey="5" href="#KPSE_005fDOT-expansion">KPSE_DOT expansion</a>: . is replaced with $KPSE_DOT if it is defined. +<li><a accesskey="6" href="#Subdirectory-expansion">Subdirectory expansion</a>: a// and a//b recursively expand to subdirs. +</ul> + +<div class="node"> +<a name="Default-expansion"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Variable-expansion">Variable expansion</a>, +Up: <a rel="up" accesskey="u" href="#Path-expansion">Path expansion</a> + +</div> + +<h4 class="subsection">3.3.1 Default expansion</h4> + +<p><a name="index-g_t_003a_003a-_0040r_007bexpansion_007d-474"></a><a name="index-doubled-colons-475"></a><a name="index-leading-colons-476"></a><a name="index-trailing-colons-477"></a><a name="index-extra-colons-478"></a><a name="index-default-expansion-479"></a><a name="index-expansion_002c-default-480"></a> +If the highest-priority search path (see <a href="#Path-sources">Path sources</a>) contains an +<dfn>extra colon</dfn> (i.e., leading, trailing, or doubled), Kpathsea +inserts at that point the next-highest-priority search path that is +defined. If that inserted path has an extra colon, the same happens +with the next-highest. (An extra colon in the compile-time default +value has unpredictable results, so installers beware.) + + <p>For example, given an environment variable setting + +<pre class="example"> setenv TEXINPUTS /home/karl: +</pre> + <p class="noindent">and a <code>TEXINPUTS</code> value from <samp><span class="file">texmf.cnf</span></samp> of + +<pre class="example"> .:$TEXMF//tex +</pre> + <p class="noindent">then the final value used for searching will be: + +<pre class="example"> /home/karl:.:$TEXMF//tex +</pre> + <p>Put another way, default expansion works on “formats” (search +paths), and not directly on environment variables. Example, showing +the trailing ‘<samp><span class="samp">:</span></samp>’ ignored in the first case and expanded in the second: + +<pre class="example"> $ env TTFONTS=/tmp: kpsewhich --expand-path '$TTFONTS' + /tmp + $ env TTFONTS=/tmp: kpsewhich --show-path=.ttf + /tmp:.:/home/olaf/texmf/fonts/truetype//:... +</pre> + <p>Since Kpathsea looks for multiple configuration files, it would be +natural to expect that (for example) an extra colon in +<samp><span class="file">./texmf.cnf</span></samp> would expand to the path in <samp><span class="file">$TEXMF/texmf.cnf</span></samp>. +Or, with Dvips' configuration files, that an extra colon in +<samp><span class="file">config.$PRINTER</span></samp> would expand to the path in <samp><span class="file">config.ps</span></samp>. +This doesn't happen. It's not clear this would be desirable in all +cases, and trying to devise a way to specify the path to which the extra +colon should expand seemed truly baroque. +<a name="index-Bach_002c-Johann-Sebastian-481"></a> +Technicality: Since it would be useless to insert the default value in +more than one place, Kpathsea changes only one extra ‘<samp><span class="samp">:</span></samp>’ and leaves +any others in place (they will eventually be ignored). Kpathsea checks +first for a leading ‘<samp><span class="samp">:</span></samp>’, then a trailing ‘<samp><span class="samp">:</span></samp>’, then a doubled +‘<samp><span class="samp">:</span></samp>’. + + <p><a name="index-kdefault_002ec-482"></a>You can trace this by debugging “paths” (see <a href="#Debugging">Debugging</a>). +Default expansion is implemented in the source file +<samp><span class="file">kpathsea/kdefault.c</span></samp>. + +<div class="node"> +<a name="Variable-expansion"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Tilde-expansion">Tilde expansion</a>, +Previous: <a rel="previous" accesskey="p" href="#Default-expansion">Default expansion</a>, +Up: <a rel="up" accesskey="u" href="#Path-expansion">Path expansion</a> + +</div> + +<h4 class="subsection">3.3.2 Variable expansion</h4> + +<p><a name="index-g_t_0024-_0040r_007bexpansion_007d-483"></a><a name="index-environment-variables-in-paths-484"></a><a name="index-variable-expansion-485"></a><a name="index-expansion_002c-variable-486"></a><a name="index-texmf_002ecnf_0040r_007b_002c-and-variable-expansion_007d-487"></a> +‘<samp><span class="samp">$foo</span></samp>’ or ‘<samp><span class="samp">${foo}</span></samp>’ in a path element is replaced by (1) the +value of an environment variable ‘<samp><span class="samp">foo</span></samp>’ (if defined); (2) the value +of ‘<samp><span class="samp">foo</span></samp>’ from <samp><span class="file">texmf.cnf</span></samp> (if defined); (3) the empty string. + + <p>If the character after the ‘<samp><span class="samp">$</span></samp>’ is alphanumeric or ‘<samp><span class="samp">_</span></samp>’, the +variable name consists of all consecutive such characters. If the +character after the ‘<samp><span class="samp">$</span></samp>’ is a ‘<samp><span class="samp">{</span></samp>’, the variable name consists +of everything up to the next ‘<samp><span class="samp">}</span></samp>’ (braces may not be nested around +variable names). Otherwise, Kpathsea gives a warning and ignores the +‘<samp><span class="samp">$</span></samp>’ and its following character. + + <p><a name="index-quoting-variable-values-488"></a><a name="index-shell-variables-489"></a>You must quote the <tt>$</tt>'s and braces as necessary for your shell. +<em>Shell</em> variable values cannot be seen by Kpathsea, i.e., ones +defined by <code>set</code> in C shells and without <code>export</code> in Bourne +shells. + + <p>For example, given +<pre class="example"> setenv tex /home/texmf + setenv TEXINPUTS .:$tex:${tex}prev +</pre> + <p class="noindent">the final <code>TEXINPUTS</code> path is the three directories: +<pre class="example"> .:/home/texmf:/home/texmfprev +</pre> + <p>The ‘<samp><span class="samp">.</span><var>progname</var></samp>’ suffix on variables and +‘<samp><span class="samp">_</span><var>progname</var></samp>’ on environment variable names are not implemented +for general variable expansions. These are only recognized when search +paths are initialized (see <a href="#Path-sources">Path sources</a>). + + <p><a name="index-variable_002ec-490"></a>Variable expansion is implemented in the source file +<samp><span class="file">kpathsea/variable.c</span></samp>. + +<div class="node"> +<a name="Tilde-expansion"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Brace-expansion">Brace expansion</a>, +Previous: <a rel="previous" accesskey="p" href="#Variable-expansion">Variable expansion</a>, +Up: <a rel="up" accesskey="u" href="#Path-expansion">Path expansion</a> + +</div> + +<h4 class="subsection">3.3.3 Tilde expansion</h4> + +<p><a name="index-g_t_007e-_0040r_007bexpansion_007d-491"></a><a name="index-home-directories-in-paths-492"></a><a name="index-tilde-expansion-493"></a><a name="index-expansion_002c-tilde-494"></a> +<a name="index-HOME_0040r_007b_002c-as-_007e-expansion_007d-495"></a><a name="index-USERPROFILE_0040r_007b_002c-as-_007e-expansion_007d-496"></a>A leading ‘<samp><span class="samp">~</span></samp>’ in a path element is replaced by the value of the +environment variable <code>HOME</code>, or <samp><span class="file">.</span></samp> if <code>HOME</code> is not +set. On Windows, the environment variable <code>USERPROFILE</code> is +checked instead of <code>HOME</code>. + + <p>A leading ‘<samp><span class="samp">~</span><var>user</var></samp>’ in a path element is replaced by +<var>user</var>'s home directory from the system <samp><span class="file">passwd</span></samp> database. + + <p>For example, +<pre class="example"> setenv TEXINPUTS ~/mymacros: +</pre> + <p class="noindent">will prepend a directory <samp><span class="file">mymacros</span></samp> in your home +directory to the default path. + + <p><a name="index-g_t_0040t_007broot_007d-user-497"></a><a name="index-trailing-_0040samp_007b_002f_007d-in-home-directory-498"></a><a name="index-g_t_002f_0040r_007b_002c-trailing-in-home-directory_007d-499"></a>As a special case, if a home directory ends in ‘<samp><span class="samp">/</span></samp>’, the trailing +slash is dropped, to avoid inadvertently creating a ‘<samp><span class="samp">//</span></samp>’ construct +in the path. For example, if the home directory of the user ‘<samp><span class="samp">root</span></samp>’ +is ‘<samp><span class="samp">/</span></samp>’, the path element ‘<samp><span class="samp">~root/mymacros</span></samp>’ expands to just +‘<samp><span class="samp">/mymacros</span></samp>’, not ‘<samp><span class="samp">//mymacros</span></samp>’. + + <p><a name="index-tilde_002ec-500"></a>Tilde expansion is implemented in the source file <samp><span class="file">kpathsea/tilde.c</span></samp>. + +<div class="node"> +<a name="Brace-expansion"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#KPSE_005fDOT-expansion">KPSE_DOT expansion</a>, +Previous: <a rel="previous" accesskey="p" href="#Tilde-expansion">Tilde expansion</a>, +Up: <a rel="up" accesskey="u" href="#Path-expansion">Path expansion</a> + +</div> + +<h4 class="subsection">3.3.4 Brace expansion</h4> + +<p><a name="index-g_t_0040_007b-_0040r_007bexpansion_007d-501"></a><a name="index-brace-expansion-502"></a> +‘<samp><span class="samp">x{</span><var>a</var><span class="samp">,</span><var>b</var><span class="samp">}y</span></samp>’ expands to ‘<samp><span class="samp">x</span><var>a</var><span class="samp">y:x</span><var>b</var><span class="samp">y</span></samp>’. +For example: + +<pre class="example"> foo/{1,2}/baz +</pre> + <p class="noindent">expands to ‘<samp><span class="samp">foo/1/baz:foo/2/baz</span></samp>’. ‘<samp><span class="samp">:</span></samp>’ is the path +separator on the current system; e.g., on a DOS system, it's ‘<samp><span class="samp">;</span></samp>’. + + <p>Braces can be nested; for example, ‘<samp><span class="samp">x{A,B{1,2}}y</span></samp>’ expands to +‘<samp><span class="samp">xAy:xB1y:xB2y</span></samp>’. + + <p>Multiple non-nested braces are expanded from right to left; for example, +‘<samp><span class="samp">x{A,B}{1,2}y</span></samp>’ expands to ‘<samp><span class="samp">x{A,B}1y:x{A,B}2y</span></samp>’, which +expands to ‘<samp><span class="samp">xA1y:xB1y:xA2y:xB2y</span></samp>’. + + <p><a name="index-multiple-_0040TeX_007b_007d-hierarchies-503"></a>This feature can be used to implement multiple TeX hierarchies, by +assigning a brace list to <code>$TEXMF</code>, as mentioned in +<samp><span class="file">texmf.in</span></samp>. + + <p>You can also use the path separator instead of the comma. The last +example could have been written ‘<samp><span class="samp">x{A:B}{1:2}y</span></samp>’. + + <p><a name="index-expand_002ec-504"></a>Brace expansion is implemented in the source file +<samp><span class="file">kpathsea/expand.c</span></samp>. + +<div class="node"> +<a name="KPSE_DOT-expansion"></a> +<a name="KPSE_005fDOT-expansion"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Subdirectory-expansion">Subdirectory expansion</a>, +Previous: <a rel="previous" accesskey="p" href="#Brace-expansion">Brace expansion</a>, +Up: <a rel="up" accesskey="u" href="#Path-expansion">Path expansion</a> + +</div> + +<h4 class="subsection">3.3.5 <code>KPSE_DOT</code> expansion</h4> + +<p><a name="index-KPSE_005fDOT-_0040r_007bexpansion_007d-505"></a> +When <code>KPSE_DOT</code> is defined in the environment, it names a directory +that should be considered the current directory for the purpose of +looking up files in the search paths. This feature is needed by the +‘<samp><span class="samp">mktex...</span></samp>’ scripts <a href="#mktex-scripts">mktex scripts</a>, because these +change the working directory. You should not ever define it yourself. + +<div class="node"> +<a name="Subdirectory-expansion"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#KPSE_005fDOT-expansion">KPSE_DOT expansion</a>, +Up: <a rel="up" accesskey="u" href="#Path-expansion">Path expansion</a> + +</div> + +<h4 class="subsection">3.3.6 Subdirectory expansion</h4> + +<p><a name="index-g_t_002f_002f-506"></a><a name="index-subdirectory-searching-507"></a><a name="index-expansion_002c-subdirectory-508"></a> +<a name="index-alphabetical-order_002c-not-509"></a>Two or more consecutive slashes in a path element following a directory +<var>d</var> is replaced by all subdirectories of <var>d</var>: first those +subdirectories directly under <var>d</var>, then the subsubdirectories under +those, and so on. At each level, the order in which the directories are +searched is unspecified. (It's “directory order”, and definitely not +alphabetical.) + + <p>If you specify any filename components after the ‘<samp><span class="samp">//</span></samp>’, only +subdirectories which match those components are included. For example, +‘<samp><span class="samp">/a//b</span></samp>’ would expand into directories <samp><span class="file">/a/1/b</span></samp>, <samp><span class="file">/a/2/b</span></samp>, +<samp><span class="file">/a/1/1/b</span></samp>, and so on, but not <samp><span class="file">/a/b/c</span></samp> or <samp><span class="file">/a/1</span></samp>. + + <p>You can include multiple ‘<samp><span class="samp">//</span></samp>’ constructs in the path. + + <p>‘<samp><span class="samp">//</span></samp>’ at the beginning of a path is ignored; you didn't really want +to search every directory on the system, did you? + + <p><a name="index-trick-for-detecting-leaf-directories-510"></a><a name="index-leaf-directory-trick-511"></a><a name="index-Farwell_002c-Matthew-512"></a><a name="index-MacKenzie_002c-David-513"></a>I should mention one related implementation trick, which I took from GNU +find. Matthew Farwell suggested it, and David MacKenzie implemented it. + + <p><a name="index-st_005fnlink-514"></a>The trick is that in every real Unix implementation (as opposed to the +POSIX specification), a directory which contains no subdirectories will +have exactly two links (namely, one for <samp><span class="file">.</span></samp> and one for <samp><span class="file">..</span></samp>). +That is to say, the <code>st_nlink</code> field in the ‘<samp><span class="samp">stat</span></samp>’ structure +will be two. Thus, we don't have to stat everything in the bottom-level +(leaf) directories—we can just check <code>st_nlink</code>, notice it's two, +and do no more work. + + <p>But if you have a directory that contains a single subdirectory and 500 +regular files, <code>st_nlink</code> will be 3, and Kpathsea has to stat every +one of those 501 entries. Therein lies slowness. + + <p><a name="index-ST_005fNLINK_005fTRICK-515"></a>You can disable the trick by undefining <code>ST_NLINK_TRICK</code> in +<samp><span class="file">kpathsea/config.h</span></samp>. (It is undefined by default except under Unix.) + + <p><a name="index-elt_002ddirs_002ec-516"></a>Unfortunately, in some cases files in leaf directories are +<code>stat</code>'d: if the path specification is, say, +‘<samp><span class="samp">$TEXMF/fonts//pk//</span></samp>’, then files in a subdirectory +‘<samp><span class="samp">.../pk</span></samp>’, even if it is a leaf, are checked. The reason cannot +be explained without reference to the implementation, so read +<samp><span class="file">kpathsea/elt-dirs.c</span></samp> (search for ‘<samp><span class="samp">may descend</span></samp>’) if you are +curious. And if you can find a way to <em>solve</em> the problem, please +let me know. + + <p><a name="index-elt_002ddirs_002ec-517"></a>Subdirectory expansion is implemented in the source file +<samp><span class="file">kpathsea/elt-dirs.c</span></samp>. + +<div class="node"> +<a name="Filename-database"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Invoking-kpsewhich">Invoking kpsewhich</a>, +Previous: <a rel="previous" accesskey="p" href="#Path-expansion">Path expansion</a>, +Up: <a rel="up" accesskey="u" href="#Path-searching">Path searching</a> + +</div> + +<h3 class="section">3.4 Filename database (<code>ls-R</code>)</h3> + +<p><a name="index-filename-database-518"></a><a name="index-database_002c-for-filenames-519"></a><a name="index-externally_002dbuilt-filename-database-520"></a> +Kpathsea goes to some lengths to minimize disk accesses for searches +(see <a href="#Subdirectory-expansion">Subdirectory expansion</a>). Nevertheless, in practice searching +each possible directory in typical TeX installations takes an +excessively long time. + + <p>Therefore, Kpathsea can use an externally-built <dfn>filename +database</dfn> file named <samp><span class="file">ls-R</span></samp> that maps files to directories, thus +avoiding the need to exhaustively search the disk. + + <p>A second database file <samp><span class="file">aliases</span></samp> allows you to give additional +names to the files listed in <samp><span class="file">ls-R</span></samp>. This can be helpful to adapt +to “8.3” filename conventions in source files. + + <p>The <samp><span class="file">ls-R</span></samp> and <samp><span class="file">aliases</span></samp> features are implemented in the +source file <samp><span class="file">kpathsea/db.c</span></samp>. + +<ul class="menu"> +<li><a accesskey="1" href="#ls_002dR">ls-R</a>: The main filename database. +<li><a accesskey="2" href="#Filename-aliases">Filename aliases</a>: Aliases for those names. +<li><a accesskey="3" href="#Database-format">Database format</a>: Syntax details of the database file. +</ul> + +<div class="node"> +<a name="ls-R"></a> +<a name="ls_002dR"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Filename-aliases">Filename aliases</a>, +Up: <a rel="up" accesskey="u" href="#Filename-database">Filename database</a> + +</div> + +<h4 class="subsection">3.4.1 <samp><span class="file">ls-R</span></samp></h4> + +<p><a name="index-ls_002dR-_0040r_007bdatabase-file_007d-521"></a><a name="index-TEXMFDBS-522"></a> +As mentioned above, you must name the main filename database +<samp><span class="file">ls-R</span></samp>. You can put one at the root of each TeX installation +hierarchy you wish to search (<code>$TEXMF</code> by default); most sites have +only one hierarchy. Kpathsea looks for <samp><span class="file">ls-R</span></samp> files along the +<code>TEXMFDBS</code> path, so that should presumably match the list of +hierarchies. + + <p>The recommended way to create and maintain ‘<samp><span class="samp">ls-R</span></samp>’ is to run the +<code>mktexlsr</code> script, which is installed in ‘<samp><span class="samp">$(bindir)</span></samp>’ +(<samp><span class="file">/usr/local/bin</span></samp> by default). That script goes to some trouble to +follow symbolic links as necessary, etc. It's also invoked by the +distributed ‘<samp><span class="samp">mktex...</span></samp>’ scripts. + + <p><a name="index-ls_002dR_0040r_007b_002c-simplest-build_007d-523"></a>At its simplest, though, you can build <samp><span class="file">ls-R</span></samp> with the command +<pre class="example"> cd <var>/your/texmf/root</var> && ls -LAR ./ >ls-R +</pre> + <p class="noindent"><a name="index-g_t_002d_002dcolor_003dtty-524"></a><a name="index-g_t_002fetc_002fprofile-_0040r_007band-aliases_007d-525"></a>presuming your <code>ls</code> produces the right output format (see the +section below). GNU <code>ls</code>, for example, outputs in this format. +Also presuming your <code>ls</code> hasn't been aliased in a system file +(e.g., <samp><span class="file">/etc/profile</span></samp>) to something problematic, e.g., ‘<samp><span class="samp">ls +--color=tty</span></samp>’. In that case, you will have to disable the alias before +generating <samp><span class="file">ls-R</span></samp>. For the precise definition of the file format, +see <a href="#Database-format">Database format</a>. + + <p>Regardless of whether you use the supplied script or your own, you will +almost certainly want to invoke it via <code>cron</code>, so when you make +changes in the installed files (say if you install a new LaTeX +package), <samp><span class="file">ls-R</span></samp> will be automatically updated. + + <p><a name="index-g_t_002dA-_0040r_007boption-to-_0040code_007bls_007d_007d-526"></a><a name="index-dot-files-527"></a><a name="index-g_t_002e-_0040r_007bfiles_007d-528"></a><a name="index-g_t_002e-_0040r_007bdirectories_002c-ignored_007d-529"></a><a name="index-g_t_002etex-_0040r_007bfile_002c-included-in-_0040file_007bls_002dR_007d_007d-530"></a>The ‘<samp><span class="samp">-A</span></samp>’ option to <code>ls</code> includes files beginning with ‘<samp><span class="samp">.</span></samp>’ +(except for <samp><span class="file">.</span></samp> and <samp><span class="file">..</span></samp>), such as the file <samp><span class="file">.tex</span></samp> +included with the LaTeX tools package. (On the other hand, +<em>directories</em> whose names begin with ‘<samp><span class="samp">.</span></samp>’ are always ignored.) + + <p><a name="index-symbolic-links_002c-and-_0040file_007bls_002dR_007d-531"></a><a name="index-g_t_002dL-_0040r_007boption-to-_0040code_007bls_007d_007d-532"></a>If your system does not support symbolic links, omit the ‘<samp><span class="samp">-L</span></samp>’. + + <p><a name="index-automounter_002c-and-_0040file_007bls_002dR_007d-533"></a><a name="index-NFS-and-_0040file_007bls_002dR_007d-534"></a><code>ls -LAR </code><var>/your/texmf/root</var> will also work. But using +‘<samp><span class="samp">./</span></samp>’ avoids embedding absolute pathnames, so the hierarchy can be +easily transported. It also avoids possible trouble with automounters +or other network filesystem conventions. + + <p><a name="index-warning-about-unusable-_0040file_007bls_002dR_007d-535"></a><a name="index-unusable-_0040file_007bls_002dR_007d-warning-536"></a>Kpathsea warns you if it finds an <samp><span class="file">ls-R</span></samp> file, but the file does +not contain any usable entries. The usual culprit is running plain +‘<samp><span class="samp">ls -R</span></samp>’ instead of ‘<samp><span class="samp">ls -LR ./</span></samp>’ or ‘<samp><span class="samp">ls -R +</span><var>/your/texmf/root</var></samp>’. Another possibility is some system directory +name starting with a ‘<samp><span class="samp">.</span></samp>’ (perhaps if you are using AFS); Kpathsea +ignores everything under such directories. + + <p><a name="index-g_t_0021_0021-_0040r_007bin-path-specifications_007d-537"></a><a name="index-disk-searching_002c-avoiding-538"></a>Because the database may be out-of-date for a particular run, if a file +is not found in the database, by default Kpathsea goes ahead and +searches the disk. If a particular path element begins with ‘<samp><span class="samp">!!</span></samp>’, +however, <em>only</em> the database will be searched for that element, +never the disk. If the database does not exist, nothing will be +searched. Because this can surprise users (“I see the font +<samp><span class="file">foo.tfm</span></samp> when I do an <code>ls</code>; why can't Dvips find it?”), it +is not in any of the default search paths. + +<div class="node"> +<a name="Filename-aliases"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Database-format">Database format</a>, +Previous: <a rel="previous" accesskey="p" href="#ls_002dR">ls-R</a>, +Up: <a rel="up" accesskey="u" href="#Filename-database">Filename database</a> + +</div> + +<h4 class="subsection">3.4.2 Filename aliases</h4> + +<p><a name="index-filename-aliases-539"></a><a name="index-aliases_002c-for-filenames-540"></a> +In some circumstances, you may wish to find a file under several names. +For example, suppose a TeX document was created using a DOS system +and tries to read <samp><span class="file">longtabl.sty</span></samp>. But now it's being run on a Unix +system, and the file has its original name, <samp><span class="file">longtable.sty</span></samp>. The +file won't be found. You need to give the actual file +<samp><span class="file">longtable.sty</span></samp> an alias ‘<samp><span class="samp">longtabl.sty</span></samp>’. + +<!-- As another example, suppose you are creating a @TeX{} distribution on a --> +<!-- CD-ROM or a DOS system; then the file @file{mf.base} gets stored as --> +<!-- @file{mf.bas}. But Metafont on Unix wants to find @file{mf.base}. Here --> +<!-- you need to give the actual file @file{mf.bas} an alias @samp{mf.base}. --> + <p>You can handle this by creating a file <samp><span class="file">aliases</span></samp> as a companion to +the <samp><span class="file">ls-R</span></samp> for the hierarchy containing the file in question. (You +must have an <samp><span class="file">ls-R</span></samp> for the alias feature to work.) + + <p>The format of <samp><span class="file">aliases</span></samp> is simple: two whitespace-separated words +per line; the first is the real name <samp><span class="file">longtable.sty</span></samp>, and second is +the alias (<samp><span class="file">longtabl.sty</span></samp>). These must be base filenames, with no +directory components. <samp><span class="file">longtable.sty</span></samp> must be in the sibling +<samp><span class="file">ls-R</span></samp>. + + <p>Also, blank lines and lines starting with ‘<samp><span class="samp">%</span></samp>’ or ‘<samp><span class="samp">#</span></samp>’ are +ignored in <samp><span class="file">aliases</span></samp>, to allow for comments. + + <p>If a real file <samp><span class="file">longtabl.sty</span></samp> exists, it is used regardless of any +aliases. + +<div class="node"> +<a name="Database-format"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Filename-aliases">Filename aliases</a>, +Up: <a rel="up" accesskey="u" href="#Filename-database">Filename database</a> + +</div> + +<h4 class="subsection">3.4.3 Database format</h4> + +<p><a name="index-format-of-external-database-541"></a><a name="index-database_002c-format-of-542"></a> +The “database” read by Kpathsea is a line-oriented file of plain +text. The format is that generated by GNU (and most other) <code>ls</code> +programs given the ‘<samp><span class="samp">-R</span></samp>’ option, as follows. + + <ul> +<li>Blank lines are ignored. + + <li>If a line begins with ‘<samp><span class="samp">/</span></samp>’ or ‘<samp><span class="samp">./</span></samp>’ or ‘<samp><span class="samp">../</span></samp>’ and ends with +a colon, it's the name of a directory. (‘<samp><span class="samp">../</span></samp>’ lines aren't useful, +however, and should not be generated.) + + <li>All other lines define entries in the most recently seen directory. +<tt>/</tt>'s in such lines will produce possibly-strange results. + + <li>Files with no preceding directory line are ignored. +</ul> + + <p>For example, here's the first few lines of <samp><span class="file">ls-R</span></samp> (which totals +about 30K bytes) on my system: + +<pre class="example"> bibtex + dvips + fonts + ls-R + metafont + metapost + tex + web2c + + ./bibtex: + bib + bst + doc + + ./bibtex/bib: + asi.bib + btxdoc.bib + ... +</pre> + <div class="node"> +<a name="Invoking-kpsewhich"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Filename-database">Filename database</a>, +Up: <a rel="up" accesskey="u" href="#Path-searching">Path searching</a> + +</div> + +<h3 class="section">3.5 <code>kpsewhich</code>: Standalone path searching</h3> + +<p><a name="index-kpsewhich-543"></a><a name="index-path-searching_002c-standalone-544"></a><a name="index-standalone-path-searching-545"></a> +The Kpsewhich program exercises the path searching functionality +independent of any particular application. This can also be useful as a +sort of <code>find</code> program to locate files in your TeX hierarchies, +perhaps in administrative scripts. It is used heavily in the +distributed ‘<samp><span class="samp">mktex...</span></samp>’ scripts. + + <p>Synopsis: + +<pre class="example"> kpsewhich <var>option</var>... <var>filename</var>... +</pre> + <p>The options and filename(s) to look up can be intermixed. +Options can start with either ‘<samp><span class="samp">-</span></samp>’ or ‘<samp><span class="samp">--</span></samp>’, and any unambiguous +abbreviation is accepted. + +<ul class="menu"> +<li><a accesskey="1" href="#Path-searching-options">Path searching options</a>: Changing the mode, resolution, etc. +<li><a accesskey="2" href="#Specially_002drecognized-files">Specially-recognized files</a>: Default formats for texmf.cnf, etc. +<li><a accesskey="3" href="#Auxiliary-tasks">Auxiliary tasks</a>: Path and variable expansion. +<li><a accesskey="4" href="#Standard-options">Standard options</a>: --help and --version. +</ul> + +<div class="node"> +<a name="Path-searching-options"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Specially_002drecognized-files">Specially-recognized files</a>, +Up: <a rel="up" accesskey="u" href="#Invoking-kpsewhich">Invoking kpsewhich</a> + +</div> + +<h4 class="subsection">3.5.1 Path searching options</h4> + +<p><a name="index-path-searching-options-546"></a> +Kpsewhich looks up each non-option argument on the command line as a +filename, and returns the first file found. + + <p>Various options alter the path searching behavior: + + <dl> +<dt>‘<samp><span class="samp">--all</span></samp>’<dd><a name="index-g_t_002d_002dall-547"></a><a name="index-all-matches_002c-finding-548"></a>Report all matches found, one per line. By default, if there is more +than one match, just one will be reported (chosen effectively at random). + + <br><dt>‘<samp><span class="samp">--dpi=</span><var>num</var></samp>’<dd><a name="index-g_t_002d_002ddpi_003d_0040var_007bnum_007d-549"></a><a name="index-g_t_002dD-_0040var_007bnum_007d-550"></a><a name="index-resolution_002c-setting-551"></a>Set the resolution to <var>num</var>; this only affects ‘<samp><span class="samp">gf</span></samp>’ and +‘<samp><span class="samp">pk</span></samp>’ lookups. ‘<samp><span class="samp">-D</span></samp>’ is a synonym, for compatibility with +Dvips. Default is 600. + + <br><dt>‘<samp><span class="samp">--engine=</span><var>name</var></samp>’<dd><a name="index-g_t_002d_002dengine_003d_0040var_007bname_007d-552"></a><a name="index-engine-name-553"></a>Set the engine name to <var>name</var>. By default it is not set. The +engine name is used in some search paths to allow files with the same +name but used by different engines to coexist. + + <p>In particular, since the memory dump files +(<samp><span class="file">.fmt</span></samp>/<samp><span class="file">.base</span></samp>/<samp><span class="file">.mem</span></samp>) are now stored in +subdirectories named for the engine (<samp><span class="file">tex</span></samp>, <samp><span class="file">pdftex</span></samp>, +<samp><span class="file">xetex</span></samp>, etc.), you must specify an engine name in order to find +them. For example, <samp><span class="file">cont-en.fmt</span></samp> typically exists for both +<samp><span class="file">pdftex</span></samp> and <samp><span class="file">xetex</span></samp>. With the default path settings, you +can use ‘<samp><span class="samp">--engine=/</span></samp>’ to look for any dump file, regardless of +engine; if a dump file exists for more than one engine, it's +indeterminate which one is returned. (The ‘<samp><span class="samp">/</span></samp>’ ends up specifying +a normal recursive search along the path where the dumps are stored, +namely ‘<samp><span class="samp">$TEXMF/web2c{/$engine,}</span></samp>’.) + + <br><dt>‘<samp><span class="samp">--format=</span><var>name</var></samp>’<dd><a name="index-g_t_002d_002dformat_003d_0040var_007bname_007d-554"></a>Set the format for lookup to <var>name</var>. By default, the format is +guessed from the filename, with ‘<samp><span class="samp">tex</span></samp>’ being used if nothing else +fits. The recognized filename extensions (including any leading +‘<samp><span class="samp">.</span></samp>’) are also allowable <var>name</var>s. + + <p>All formats also have a name, which is the only way to specify formats +with no associated suffix. For example, for Dvips configuration files +you can use ‘<samp><span class="samp">--format="dvips config"</span></samp>’. (The quotes are for the +sake of the shell.) + + <p>Here's the current list of recognized names and the associated suffixes. +See <a href="#Supported-file-formats">Supported file formats</a>, for more information on each of these. + + <p>The strings in parentheses are abbreviations recognized only by +<code>kpsewhich</code> (not the underlying library calls). They are +provided when it would otherwise require an argument containing a +space to specify the format, to simplify quoting of calls from shells. + + <pre class="example"> gf: gf + pk: pk + bitmap font (bitmapfont): + tfm: .tfm + afm: .afm + base: .base + bib: .bib + bst: .bst + cnf: .cnf + ls-R: ls-R ls-r + fmt: .fmt + map: .map + mem: .mem + mf: .mf + mfpool: .pool + mft: .mft + mp: .mp + mppool: .pool + MetaPost support (mpsupport): + ocp: .ocp + ofm: .ofm .tfm + opl: .opl .pl + otp: .otp + ovf: .ovf .vf + ovp: .ovp .vpl + graphic/figure: .eps .epsi + tex: .tex .sty .cls .fd .aux .bbl .def .clo .ldf + TeX system documentation (doc): + texpool: .pool + TeX system sources (source): .dtx .ins + PostScript header: .pro + Troff fonts (trofffont): + type1 fonts: .pfa .pfb + vf: .vf + dvips config (dvipsconfig): + ist: .ist + truetype fonts: .ttf .ttc .TTF .TTC .dfont + type42 fonts: .t42 .T42 + web2c files (web2c): + other text files (othertext): + other binary files (otherbin): + misc fonts (miscfont): + web: .web .ch + cweb: .w .web .ch + enc files: .enc + cmap files (cmap): + subfont definition files: .sfd + opentype fonts: .otf + pdftex config (pdftexconfig): + lig files: .lig + texmfscripts: + lua: .luc .luctex .texluc .lua .luatex .texlua + font feature files: .fea + cid maps: .cid .cidmap + mlbib: .mlbib .bib + mlbst: .mlbst .bst + clua: .dll .so + ris: .ris + bltxml: .bltxml +</pre> + <p>This option and ‘<samp><span class="samp">--path</span></samp>’ are mutually exclusive. + + <br><dt>‘<samp><span class="samp">--interactive</span></samp>’<dd><a name="index-g_t_002d_002dinteractive-555"></a><a name="index-interactive-query-556"></a>After processing the command line, read additional filenames to look up +from standard input. + + <br><dt>‘<samp><span class="samp">--mktex=</span><var>filetype</var></samp>’<dt>‘<samp><span class="samp">--no-mktex=</span><var>filetype</var></samp>’<dd><a name="index-g_t_002d_002dmktex_003d_0040var_007bfiletype_007d-557"></a><a name="index-g_t_002d_002dno_002dmktex_003d_0040var_007bfiletype_007d-558"></a>Turn on or off the ‘<samp><span class="samp">mktex</span></samp>’ script associated with <var>filetype</var>. +Usual values for <var>filetype</var> are ‘<samp><span class="samp">pk</span></samp>’, ‘<samp><span class="samp">mf</span></samp>’, ‘<samp><span class="samp">tex</span></samp>’, +and ‘<samp><span class="samp">tfm</span></samp>’. By default, all are off in Kpsewhich, even if they +are enabled for TeX. This option implies setting +<code>--must-exist</code>. See <a href="#mktex-scripts">mktex scripts</a>. + + <br><dt>‘<samp><span class="samp">--mode=</span><var>string</var></samp>’<dd><a name="index-g_t_002d_002dmode_003d_0040var_007bstring_007d-559"></a>Set the mode name to <var>string</var>; this also only affects ‘<samp><span class="samp">gf</span></samp>’ and +‘<samp><span class="samp">pk</span></samp>’ lookups. No default: any mode will be found. See <a href="#mktex-script-arguments">mktex script arguments</a>. + + <br><dt>‘<samp><span class="samp">--must-exist</span></samp>’<dd><a name="index-g_t_002d_002dmust_002dexist-560"></a>Do everything possible to find the files, notably including searching +the disk and running the ‘<samp><span class="samp">mktex</span></samp>’ scripts. By default, only the +<samp><span class="file">ls-R</span></samp> database is checked, in the interest of efficiency. + + <br><dt>‘<samp><span class="samp">--path=</span><var>string</var></samp>’<dd><a name="index-g_t_002d_002dpath_003d_0040var_007bstring_007d-561"></a>Search along the path <var>string</var> (colon-separated as usual), instead +of guessing the search path from the filename. ‘<samp><span class="samp">//</span></samp>’ and all the +usual expansions are supported (see <a href="#Path-expansion">Path expansion</a>). This option +and ‘<samp><span class="samp">--format</span></samp>’ are mutually exclusive. To output the complete +directory expansion of a path, instead of doing a one-shot lookup, see +‘<samp><span class="samp">--expand-path</span></samp>’ and ‘<samp><span class="samp">--show-path</span></samp>’ in the following section. + + <br><dt>‘<samp><span class="samp">--progname=</span><var>name</var></samp>’<dd><a name="index-g_t_002d_002dprogname_003d_0040var_007bname_007d-562"></a>Set the program name to <var>name</var>; default is ‘<samp><span class="samp">kpsewhich</span></samp>’. This +can affect the search paths via the ‘<samp><span class="samp">.</span><var>prognam</var></samp>’ feature in +configuration files (see <a href="#Config-files">Config files</a>). + + <br><dt>‘<samp><span class="samp">--safe-in-name=</span><var>name</var></samp>’<dt>‘<samp><span class="samp">--safe-out-name=</span><var>name</var></samp>’<dd><a name="index-g_t_002d_002dsafe_002din_002dname_003d_0040var_007bname_007d-563"></a><a name="index-g_t_002d_002dsafe_002dout_002dname_003d_0040var_007bname_007d-564"></a>Exit successfully if <var>name</var> is safe to open for reading or +writing, respectively, else unsuccessfully. No output is written. +These tests take account of the related Kpathsea configuration +settings (see <a href="#Calling-sequence">Calling sequence</a>). + + <br><dt>‘<samp><span class="samp">--subdir=</span><var>string</var></samp>’<dd><a name="index-g_t_002d_002dsubdir_003d_0040var_007bstring_007d-565"></a>Report only those matches whose directory part <em>ends</em> with +<var>string</var> (compared literally, except case is ignored on a +case-insensitive operating system). For example, suppose there are +two matches for a given name: + + <pre class="example"> kpsewhich foo.sty + ⇒ /some/where/foo.sty + /another/place/foo.sty +</pre> + <p class="noindent">Then we can narrow the result to what we are interested in with +<samp><span class="option">--subdir</span></samp>: + + <pre class="example"> kpsewhich --subdir=where foo.sty + ⇒ /some/where/foo.sty + + kpsewhich --subdir=place foo.sty + ⇒ /another/place/foo.sty +</pre> + <p class="noindent">The string to match must be at the end of the directory part of the +match, and it is taken literally, with no pattern matching: + + <pre class="example"> kpsewhich --subdir=another foo.sty + ⇒ +</pre> + <p class="noindent">The string to match may cross directory components: + + <pre class="example"> kpsewhich --subdir=some/where foo.sty + ⇒ /some/where/foo.sty +</pre> + <p class="noindent"><samp><span class="option">--subdir</span></samp> implies <samp><span class="option">--all</span></samp>; if there is more than one +match, they will all be reported (in our example, both ‘<samp><span class="samp">where</span></samp>’ +and ‘<samp><span class="samp">place</span></samp>’ end in ‘<samp><span class="samp">e</span></samp>’): + + <pre class="example"> kpsewhich --subdir=e + ⇒ /some/where/foo.sty + /another/place/foo.sty +</pre> + <p class="noindent">Because of the above rules, the presence of a leading ‘<samp><span class="samp">/</span></samp>’ is +important, since it “anchors” the match to a full component name: + + <pre class="example"> kpsewhich --subdir=/lace foo.sty + ⇒ +</pre> + <p class="noindent">However, a trailing ‘<samp><span class="samp">/</span></samp>’ is immaterial (and ignored), since the +match always takes place at the end of the directory part: + + <pre class="example"> kpsewhich --subdir=lace/ foo.sty + ⇒ /another/place/foo.sty +</pre> + <p class="noindent">The purpose of these rules is to make it convenient to find results +only within a particular area of the tree. For instance, a given +script named <samp><span class="file">foo.lua</span></samp> might exist within both +<samp><span class="file">texmf-dist/scripts/pkg1/</span></samp> and <samp><span class="file">texmf-dist/scripts/pkg2/</span></samp>. +By specifying, say, ‘<samp><span class="samp">--subdir=/pkg1</span></samp>’, you can be sure of getting +the one you are interested in. + + <p>We only match at the end because a site might happen to install TeX +in <samp><span class="file">/some/coincidental/pkg1/path/</span></samp>, and we wouldn't want to match +<samp><span class="file">texmf-dist/scripts/pkg2/</span></samp> that when searching for ‘<samp><span class="samp">/pkg1</span></samp>’. + + </dl> + +<div class="node"> +<a name="Specially-recognized-files"></a> +<a name="Specially_002drecognized-files"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Auxiliary-tasks">Auxiliary tasks</a>, +Previous: <a rel="previous" accesskey="p" href="#Path-searching-options">Path searching options</a>, +Up: <a rel="up" accesskey="u" href="#Invoking-kpsewhich">Invoking kpsewhich</a> + +</div> + +<h4 class="subsection">3.5.2 Specially-recognized files for <samp><span class="command">kpsewhich</span></samp></h4> + +<p><samp><span class="command">kpsewhich</span></samp> recognizes a few special filenames on the command +line and defaults to using the `known' file formats for them, merely +to save the time and trouble of specifying the format. This is only a +feature of <samp><span class="command">kpsewhich</span></samp>; when using the Kpathsea library +itself, none of these special filenames are recognized, and it's still +up to the caller to specify the desired format. + + <p>Here is the list of special filenames to <samp><span class="command">kpsewhich</span></samp>, along +with their corresponding format: + + +<a name="index-config_002eps-566"></a> +<dl><dt><samp><span class="file">config.ps</span></samp><dd><code>dvips config</code> + + <p><a name="index-dvipdfmx_002ecfg-567"></a><br><dt><samp><span class="file">dvipdfmx.cfg</span></samp><dd>‘<samp><span class="samp">other text files</span></samp>’ + + <p><a name="index-fmtutil_002ecnf-568"></a><br><dt><samp><span class="file">fmtutil.cnf</span></samp><dd>‘<samp><span class="samp">web2c files</span></samp>’ + + <p><a name="index-glyphlist_002etxt-569"></a><br><dt><samp><span class="file">glyphlist.txt</span></samp><dd>‘<samp><span class="samp">map</span></samp>’ + + <p><a name="index-mktex_002ecnf-570"></a><br><dt><samp><span class="file">mktex.cnf</span></samp><dd>‘<samp><span class="samp">web2c files</span></samp>’ + + <p><a name="index-pdfglyphlist_002etxt-571"></a><br><dt><samp><span class="file">pdfglyphlist.txt</span></samp><dd>‘<samp><span class="samp">map</span></samp>’ + + <p><a name="index-pdftex_002ecfg-572"></a><a name="index-pdftexconfig_002etex-573"></a><br><dt><samp><span class="file">pdftex.cfg</span></samp><dd>‘<samp><span class="samp">pdftex config</span></samp>’ (although <samp><span class="file">pdftex.cfg</span></samp> is not used any more; +look for the file <samp><span class="file">pdftexconfig.tex</span></samp> instead.) + + <p><a name="index-texmf_002ecnf-574"></a><br><dt><samp><span class="file">texmf.cnf</span></samp><dd>‘<samp><span class="samp">cnf</span></samp>’ + + <p><a name="index-XDvi-575"></a><br><dt><samp><span class="file">XDvi</span></samp><dd>‘<samp><span class="samp">other text files</span></samp>’ + + </dl> + + <p>A user-specified format will override the above defaults. + + <p><a name="index-tcfmgr_002emap-576"></a>Another useful configuration file in this regard is <samp><span class="file">tcfmgr.map</span></samp>, +found in <samp><span class="file">texmf/texconfig/tcfmgr.map</span></samp>, which records various +information about the above configuration files (among others). + +<div class="node"> +<a name="Auxiliary-tasks"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Standard-options">Standard options</a>, +Previous: <a rel="previous" accesskey="p" href="#Specially_002drecognized-files">Specially-recognized files</a>, +Up: <a rel="up" accesskey="u" href="#Invoking-kpsewhich">Invoking kpsewhich</a> + +</div> + +<h4 class="subsection">3.5.3 Auxiliary tasks</h4> + +<p><a name="index-auxiliary-tasks-577"></a> +Kpsewhich provides some additional features not strictly related to path +lookup: + + <ul> +<li><a name="index-g_t_002d_002ddebug_003d_0040var_007bnum_007d-578"></a>‘<samp><span class="samp">--debug=</span><var>num</var></samp>’ sets the debugging options to <var>num</var>. +See <a href="#Debugging">Debugging</a>. + + <li><a name="index-g_t_002d_002dvar_002dvalue_003d_0040var_007bvariable_007d-579"></a>‘<samp><span class="samp">--var-value=</span><var>variable</var></samp>’ outputs the value of <var>variable</var>, +expanding ‘<samp><span class="samp">$</span></samp>’ (see <a href="#Variable-expansion">Variable expansion</a> and ‘<samp><span class="samp">~</span></samp>’ (see <a href="#Tilde-expansion">Tilde expansion</a>) constructs, but not performing other expansions. + + <li><a name="index-g_t_002d_002dexpand_002dbraces_003d_0040var_007bstring_007d-580"></a>‘<samp><span class="samp">--expand-braces=</span><var>string</var></samp>’ outputs the variable and brace +expansion of <var>string</var>. See <a href="#Path-expansion">Path expansion</a>. + + <li><a name="index-g_t_002d_002dexpand_002dvar_003d_0040var_007bstring_007d-581"></a>‘<samp><span class="samp">--expand-var=</span><var>string</var></samp>’ outputs the variable and tilde +expansion of <var>string</var>. For example, the ‘<samp><span class="samp">mktex...</span></samp>’ +scripts run ‘<samp><span class="samp">kpsewhich --expand-var='$TEXMF'</span></samp>’ to find the root of +the TeX system hierarchy. See <a href="#Path-expansion">Path expansion</a>. + + <li><a name="index-g_t_002d_002dexpand_002dpath_003d_0040var_007bstring_007d-582"></a>‘<samp><span class="samp">--expand-path=</span><var>string</var></samp>’ outputs the complete expansion of +<var>string</var>, with each element separated by the usual path separator +on the current system (‘<samp><span class="samp">;</span></samp>’ on Windows, ‘<samp><span class="samp">:</span></samp>’ otherwise). +This may be useful to construct a custom search path for a format not +otherwise supported. To retrieve the search path for a format that is +already supported, see ‘<samp><span class="samp">--show-path</span></samp>’, next. + + <p>Nonexistent directories are culled from the output: + + <pre class="example"> $ kpsewhich --expand-path '/tmp' + ⇒ /tmp + $ kpsewhich --expand-path '/nonesuch' + ⇒ +</pre> + <p>For one-shot uses of an arbitrary (not built in to Kpathsea) path, see +‘<samp><span class="samp">--path</span></samp>’ in the previous section. + + <li><a name="index-g_t_002d_002dshow_002dpath_003d_0040var_007bname_007d-583"></a>‘<samp><span class="samp">--show-path=</span><var>name</var></samp>’ shows the path that would be used for file +lookups of file type <var>name</var>. Either a filename extension +(‘<samp><span class="samp">pk</span></samp>’, ‘<samp><span class="samp">.vf</span></samp>’, etc.) or an integer can be used, just as with +‘<samp><span class="samp">--format</span></samp>’, described in the previous section. + + </ul> + +<div class="node"> +<a name="Standard-options"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Auxiliary-tasks">Auxiliary tasks</a>, +Up: <a rel="up" accesskey="u" href="#Invoking-kpsewhich">Invoking kpsewhich</a> + +</div> + +<h4 class="subsection">3.5.4 Standard options</h4> + +<p><a name="index-standard-options-584"></a> +Kpsewhich accepts the standard GNU options: + + <ul> +<li><a name="index-g_t_002d_002dhelp-585"></a>‘<samp><span class="samp">--help</span></samp>’ prints a help message on standard output and exits +successfully. + + <li><a name="index-g_t_002d_002dversion-586"></a>‘<samp><span class="samp">--version</span></samp>’ prints the Kpathsea version number and exits successfully. +</ul> + +<div class="node"> +<a name="TeX-support"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Programming">Programming</a>, +Previous: <a rel="previous" accesskey="p" href="#Path-searching">Path searching</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">4 TeX support</h2> + +<p><a name="index-g_t_0040TeX_007b_007d-support-587"></a> +Although the basic features in Kpathsea can be used for any type of path +searching, it came about (like all libraries) with a specific +application in mind: I wrote Kpathsea specifically for TeX system +programs. I had been struggling with the programs I was using (Dvips, +Xdvi, and TeX itself) having slightly different notions of how to +specify paths; and debugging was painful, since no code was shared. + + <p>Therefore, Kpathsea provides some TeX-specific formats and features. +Indeed, many of the supposedly generic path searching features were +provided because they seemed useful in that conTeXt (font lookup, +particularly). + + <p>Kpathsea provides a standard way to search for files of any of the +supported file types; glyph fonts are a bit different than all the rest. +Searches are based solely on filenames, not file contents—if a GF +file is named <samp><span class="file">cmr10.600pk</span></samp>, it will be found as a PK file. + +<ul class="menu"> +<li><a accesskey="1" href="#Supported-file-formats">Supported file formats</a>: File types Kpathsea knows about. +<li><a accesskey="2" href="#File-lookup">File lookup</a>: Searching for most kinds of files. +<li><a accesskey="3" href="#Glyph-lookup">Glyph lookup</a>: Searching for bitmap fonts. +<li><a accesskey="4" href="#Suppressing-warnings">Suppressing warnings</a>: Avoiding warnings via TEX_HUSH. +</ul> + +<div class="node"> +<a name="Supported-file-formats"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#File-lookup">File lookup</a>, +Up: <a rel="up" accesskey="u" href="#TeX-support">TeX support</a> + +</div> + +<h3 class="section">4.1 Supported file formats</h3> + +<p><a name="index-supported-file-formats-588"></a><a name="index-file-formats_002c-supported-589"></a> +<a name="index-environment-variables-for-_0040TeX_007b_007d-590"></a><a name="index-g_t_0040TeX_007b_007d-environment-variables-591"></a> +Kpathsea has support for a number of file types. Each file type has a +list of environment and config file variables that are checked to define +the search path, and most have a default suffix that plays a role in +finding files (see the next section). Some also define additional +suffixes, and/or a program to be run to create missing files on the fly. + + <p><a name="index-program_002dvarying-paths-592"></a>Since environment variables containing periods, such as +‘<samp><span class="samp">TEXINPUTS.latex</span></samp>’, are not allowed on some systems, Kpathsea looks +for environment variables with an underscore, e.g., +‘<samp><span class="samp">TEXINPUTS_latex</span></samp>’ (see <a href="#Config-files">Config files</a>). + + <p>The following table lists the above information. + + <dl> +<dt>‘<samp><span class="samp">afm</span></samp>’<dd><a name="index-g_t_002eafm-593"></a><a name="index-AFMFONTS-594"></a>(Adobe font metrics, see <a href="dvips.html#Metric-files">Metric files</a>) +<code>AFMFONTS</code>; +suffix ‘<samp><span class="samp">.afm</span></samp>’. + + <br><dt>‘<samp><span class="samp">base</span></samp>’<dd><a name="index-g_t_002ebase-595"></a><a name="index-MFBASES-596"></a><a name="index-TEXMFINI-597"></a>(Metafont memory dump, see <a href="web2c.html#Memory-dumps">Memory dumps</a>) +<code>MFBASES</code>, <code>TEXMFINI</code>; +suffix ‘<samp><span class="samp">.base</span></samp>’. + + <br><dt>‘<samp><span class="samp">bib</span></samp>’<dd><a name="index-g_t_002ebib-598"></a><a name="index-BIBINPUTS-599"></a><a name="index-TEXBIB-600"></a>(BibTeX bibliography source, see <a href="web2c.html#bibtex-invocation">bibtex invocation</a>) +<code>BIBINPUTS</code>, <code>TEXBIB</code>; +suffix ‘<samp><span class="samp">.bib</span></samp>’. + + <br><dt>‘<samp><span class="samp">bst</span></samp>’<dd><a name="index-g_t_002ebst-601"></a><a name="index-BSTINPUTS-602"></a>(BibTeX style, see <a href="web2c.html#Basic-BibTeX-style-files">Basic BibTeX style files</a>) +<code>BSTINPUTS</code>; +suffix ‘<samp><span class="samp">.bst</span></samp>’. + + <br><dt>‘<samp><span class="samp">cmap</span></samp>’<dd><a name="index-g_t_002ecmap-603"></a><a name="index-CMAPFONTS-604"></a>(character map files) +<code>CMAPFONTS</code>; +suffix ‘<samp><span class="samp">.cmap</span></samp>’. + + <br><dt>‘<samp><span class="samp">cnf</span></samp>’<dd><a name="index-g_t_002ecnf-605"></a><a name="index-TEXMFCNF-606"></a>(Runtime configuration files, see <a href="#Config-files">Config files</a>) +<code>TEXMFCNF</code>; +suffix ‘<samp><span class="samp">.cnf</span></samp>’. + + <br><dt>‘<samp><span class="samp">cweb</span></samp>’<dd><a name="index-g_t_002ew-607"></a><a name="index-g_t_002eweb-608"></a><a name="index-CWEBINPUTS-609"></a>(CWEB input files) +<code>CWEBINPUTS</code>; +suffixes ‘<samp><span class="samp">.w</span></samp>’, ‘<samp><span class="samp">.web</span></samp>’; +additional suffix ‘<samp><span class="samp">.ch</span></samp>’. + + <br><dt>‘<samp><span class="samp">dvips config</span></samp>’<dd><a name="index-TEXCONFIG-610"></a><a name="index-config_002eps_0040r_007b_002c-search-path-for_007d-611"></a>(Dvips ‘<samp><span class="samp">config.*</span></samp>’ files, such as <samp><span class="file">config.ps</span></samp>, see <a href="dvips.html#Config-files">Config files</a>) +<code>TEXCONFIG</code>. + + <br><dt>‘<samp><span class="samp">enc files</span></samp>’<dd><a name="index-g_t_002eenc-612"></a><a name="index-ENCFONTS-613"></a>(encoding vectors) +<code>ENCFONTS</code>; +suffix ‘<samp><span class="samp">.enc</span></samp>’. + + <br><dt>‘<samp><span class="samp">fmt</span></samp>’<dd><a name="index-g_t_002efmt-614"></a><a name="index-TEXFORMATS-615"></a><a name="index-TEXMFINI-616"></a>(TeX memory dump, see <a href="web2c.html#Memory-dumps">Memory dumps</a>) +<code>TEXFORMATS</code>, <code>TEXMFINI</code>; +suffix ‘<samp><span class="samp">.fmt</span></samp>’. + + <br><dt>‘<samp><span class="samp">font cid map</span></samp>’<dd><a name="index-g_t_002ecid-617"></a><a name="index-FONTCIDMAPS-618"></a>(CJK mapping) +<code>FONTCIDMAPS</code> +suffix ‘<samp><span class="samp">.cid</span></samp>’. + + <br><dt>‘<samp><span class="samp">font feature files</span></samp>’<dd><a name="index-g_t_002efea-619"></a><a name="index-FONTFEATURES-620"></a>(primarily for OpenType font features) +<code>FONTFEATURES</code> +suffix ‘<samp><span class="samp">.fea</span></samp>’. + + <br><dt>‘<samp><span class="samp">gf</span></samp>’<dd><a name="index-gf-621"></a><a name="index-GFFONTS-622"></a><a name="index-GLYPHFONTS-623"></a><a name="index-TEXFONTS-624"></a>(generic font bitmap, see <a href="dvips.html#Glyph-files">Glyph files</a>) +<var>program</var><code>FONTS</code>, <code>GFFONTS</code>, <code>GLYPHFONTS</code>, <code>TEXFONTS</code>; +suffix ‘<samp><span class="samp">gf</span></samp>’. + + <br><dt>‘<samp><span class="samp">graphic/figure</span></samp>’<dd><a name="index-g_t_002eeps-625"></a><a name="index-g_t_002eepsi-626"></a><a name="index-TEXPICTS-627"></a><a name="index-TEXINPUTS-628"></a>(Encapsulated PostScript figures, see <a href="dvips.html#PostScript-figures">PostScript figures</a>) +<code>TEXPICTS</code>, <code>TEXINPUTS</code>; +additional suffixes: ‘<samp><span class="samp">.eps</span></samp>’, ‘<samp><span class="samp">.epsi</span></samp>’. + + <br><dt>‘<samp><span class="samp">ist</span></samp>’<dd><a name="index-g_t_002eist-629"></a><a name="index-TEXINDEXSTYLE-630"></a><a name="index-INDEXSTYLE-631"></a>(makeindex style files) +<code>TEXINDEXSTYLE</code>, <code>INDEXSTYLE</code>; +suffix ‘<samp><span class="samp">.ist</span></samp>’. + + <br><dt>‘<samp><span class="samp">lig files</span></samp>’<dd><a name="index-g_t_002elig-632"></a><a name="index-LIGFONTS-633"></a>(ligature definition files) +<code>LIGFONTS</code>; +suffix ‘<samp><span class="samp">.lig</span></samp>’. + + <br><dt>‘<samp><span class="samp">ls-R</span></samp>’<dd><a name="index-ls_002dR-634"></a><a name="index-TEXMFDBS-635"></a>(Filename databases, see <a href="#Filename-database">Filename database</a>) +<code>TEXMFDBS</code>. + + <br><dt>‘<samp><span class="samp">map</span></samp>’<dd><a name="index-g_t_002emap-636"></a><a name="index-TEXFONTMAPS-637"></a>(Fontmaps, see <a href="#Fontmap">Fontmap</a>) +<code>TEXFONTMAPS</code>; +suffix ‘<samp><span class="samp">.map</span></samp>’. + + <br><dt>‘<samp><span class="samp">mem</span></samp>’<dd><a name="index-g_t_002emem-638"></a><a name="index-MPMEMS-639"></a><a name="index-TEXMFINI-640"></a>(MetaPost memory dump, see <a href="web2c.html#Memory-dumps">Memory dumps</a>) +<code>MPMEMS</code>, <code>TEXMFINI</code>; +suffix ‘<samp><span class="samp">.mem</span></samp>’. + + <br><dt>‘<samp><span class="samp">MetaPost support</span></samp>’<dd><a name="index-MPSUPPORT-641"></a>(MetaPost support files, used by DMP; see <a href="web2c.html#dmp-invocation">dmp invocation</a>) +<code>MPSUPPORT</code>. + + <br><dt>‘<samp><span class="samp">mf</span></samp>’<dd><a name="index-g_t_002emf-642"></a><a name="index-MFINPUTS-643"></a>(Metafont source, see <a href="web2c.html#mf-invocation">mf invocation</a>) +<code>MFINPUTS</code>; +suffix ‘<samp><span class="samp">.mf</span></samp>’; +dynamic creation program: <code>mktexmf</code>. + + <br><dt>‘<samp><span class="samp">mfpool</span></samp>’<dd><a name="index-g_t_002epool-644"></a><a name="index-MFPOOL-645"></a>(Metafont program strings, see <a href="web2c.html#pooltype-invocation">pooltype invocation</a>) +<code>MFPOOL</code>, <code>TEXMFINI</code>; +suffix ‘<samp><span class="samp">.pool</span></samp>’. + + <br><dt>‘<samp><span class="samp">mft</span></samp>’<dd><a name="index-g_t_002emft-646"></a><a name="index-MFTINPUTS-647"></a>(<code>MFT</code> style file, see <a href="web2c.html#mft-invocation">mft invocation</a>) +<code>MFTINPUTS</code>; +suffix ‘<samp><span class="samp">.mft</span></samp>’. + + <br><dt>‘<samp><span class="samp">misc fonts</span></samp>’<dd><a name="index-MISCFONTS-648"></a>(font-related files that don't fit the other categories) +<code>MISCFONTS</code> + + <br><dt>‘<samp><span class="samp">mlbib</span></samp>’<dd><a name="index-g_t_002emlbib-649"></a><a name="index-MLBIBINPUTS-650"></a><a name="index-BIBINPUTS-651"></a><a name="index-TEXBIB-652"></a>(MlBibTeX bibliography source) +<code>MLBIBINPUTS</code>, <code>BIBINPUTS</code>, <code>TEXBIB</code>; +suffixes ‘<samp><span class="samp">.mlbib</span></samp>’, ‘<samp><span class="samp">.mlbib</span></samp>’. + + <br><dt>‘<samp><span class="samp">mlbst</span></samp>’<dd><a name="index-g_t_002emlbst-653"></a><a name="index-MLBSTINPUTS-654"></a><a name="index-BSTINPUTS-655"></a>(MlBibTeX style) +<code>MLBSTINPUTS</code>, <code>BSTINPUTS</code>; +suffixes ‘<samp><span class="samp">.mlbst</span></samp>’, ‘<samp><span class="samp">.bst</span></samp>’. + + <br><dt>‘<samp><span class="samp">mp</span></samp>’<dd><a name="index-g_t_002emp-656"></a><a name="index-MPINPUTS-657"></a>(MetaPost source, see <a href="web2c.html#mpost-invocation">mpost invocation</a>) +<code>MPINPUTS</code>; +suffix ‘<samp><span class="samp">.mp</span></samp>’. + + <br><dt>‘<samp><span class="samp">mppool</span></samp>’<dd><a name="index-g_t_002epool-658"></a><a name="index-MPPOOL-659"></a>(MetaPost program strings, see <a href="web2c.html#pooltype-invocation">pooltype invocation</a>) +<code>MPPOOL</code>, <code>TEXMFINI</code>; +suffix ‘<samp><span class="samp">.pool</span></samp>’. + + <br><dt>‘<samp><span class="samp">ocp</span></samp>’<dd><a name="index-g_t_002eocp-660"></a><a name="index-OCPINPUTS-661"></a>(Omega compiled process files) +<code>OCPINPUTS</code>; <br> +suffix ‘<samp><span class="samp">.ocp</span></samp>’; +dynamic creation program: <code>MakeOmegaOCP</code>. + + <br><dt>‘<samp><span class="samp">ofm</span></samp>’<dd><a name="index-g_t_002eofm-662"></a><a name="index-OFMFONTS-663"></a>(Omega font metrics) +<code>OFMFONTS</code>, <code>TEXFONTS</code>; <br> +suffixes ‘<samp><span class="samp">.ofm</span></samp>’, ‘<samp><span class="samp">.tfm</span></samp>’; +dynamic creation program: <code>MakeOmegaOFM</code>. + + <br><dt>‘<samp><span class="samp">opentype fonts</span></samp>’<dd><a name="index-OPENTYPEFONTS-664"></a>(OpenType fonts) +<code>OPENTYPEFONTS</code>. + + <br><dt>‘<samp><span class="samp">opl</span></samp>’<dd><a name="index-g_t_002eopl-665"></a>(Omega property lists) +<code>OPLFONTS</code>, <code>TEXFONTS</code>; +suffix ‘<samp><span class="samp">.opl</span></samp>’. + + <br><dt>‘<samp><span class="samp">otp</span></samp>’<dd><a name="index-g_t_002eotp-666"></a><a name="index-OTPINPUTS-667"></a>(Omega translation process files) +<code>OTPINPUTS</code>; +suffix ‘<samp><span class="samp">.otp</span></samp>’. + + <br><dt>‘<samp><span class="samp">ovf</span></samp>’<dd><a name="index-g_t_002eovf-668"></a><a name="index-OVFFONTS-669"></a>(Omega virtual fonts) +<code>OVFFONTS</code>, <code>TEXFONTS</code>; +suffix ‘<samp><span class="samp">.ovf</span></samp>’. + + <br><dt>‘<samp><span class="samp">ovp</span></samp>’<dd><a name="index-g_t_002eovp-670"></a><a name="index-OVPFONTS-671"></a>(Omega virtual property lists) +<code>OVPFONTS</code>, <code>TEXFONTS</code>; +suffix ‘<samp><span class="samp">.ovp</span></samp>’. + + <br><dt>‘<samp><span class="samp">pdftex config</span></samp>’<dd><a name="index-PDFTEXCONFIG-672"></a>(PDFTeX-specific configuration files) +<code>PDFTEXCONFIG</code>. + + <br><dt>‘<samp><span class="samp">pk</span></samp>’<dd><a name="index-g_t_002epk-673"></a><a name="index-PKFONTS-674"></a><a name="index-TEXPKS-675"></a><a name="index-GLYPHFONTS-676"></a><a name="index-TEXFONTS-677"></a>(packed bitmap fonts, see <a href="dvips.html#Glyph-files">Glyph files</a>) +<var>PROGRAM</var><code>FONTS</code> (<var>program</var> being ‘<samp><span class="samp">XDVI</span></samp>’, etc.), +<code>PKFONTS</code>, <code>TEXPKS</code>, <code>GLYPHFONTS</code>, <code>TEXFONTS</code>; +suffix ‘<samp><span class="samp">pk</span></samp>’; +dynamic creation program: <code>mktexpk</code>. + + <br><dt>‘<samp><span class="samp">PostScript header</span></samp>’<dd><a name="index-g_t_002epro-678"></a><a name="index-TEXPSHEADERS-679"></a><a name="index-PSHEADERS-680"></a>(downloadable PostScript, see <a href="dvips.html#Header-files">Header files</a>) +<code>TEXPSHEADERS</code>, <code>PSHEADERS</code>; +additional suffix ‘<samp><span class="samp">.pro</span></samp>’. + + <br><dt>‘<samp><span class="samp">subfont definition files</span></samp>’<dd><a name="index-g_t_002esfd-681"></a><a name="index-SFDFONTS-682"></a>(subfont definition files) +<code>SFDFONTS</code> +suffix ‘<samp><span class="samp">.sfd</span></samp>’. + + <br><dt>‘<samp><span class="samp">tex</span></samp>’<dd><a name="index-g_t_002etex-683"></a><a name="index-TEXINPUTS-684"></a>(TeX source, see <a href="web2c.html#tex-invocation">tex invocation</a>) +<code>TEXINPUTS</code>; +suffix ‘<samp><span class="samp">.tex</span></samp>’; +additional suffixes: none, because such a list cannot be complete; +dynamic creation program: <code>mktextex</code>. + + <br><dt>‘<samp><span class="samp">TeX system documentation</span></samp>’<dd><a name="index-doc-files-685"></a><a name="index-TEXDOCS-686"></a>(Documentation files for the TeX system) +<code>TEXDOCS</code>. + + <br><dt>‘<samp><span class="samp">TeX system sources</span></samp>’<dd><a name="index-source-files-687"></a><a name="index-TEXSOURCES-688"></a>(Source files for the TeX system) +<code>TEXSOURCES</code>. + + <br><dt>‘<samp><span class="samp">texmfscripts</span></samp>’<dd><a name="index-TEXMFSCRIPTS-689"></a>(Architecture-independent executables distributed in the texmf trees) +<code>TEXMFSCRIPTS</code>. + + <br><dt>‘<samp><span class="samp">texpool</span></samp>’<dd><a name="index-g_t_002epool-690"></a><a name="index-TEXPOOL-691"></a>(TeX program strings, see <a href="web2c.html#pooltype-invocation">pooltype invocation</a>) +<code>TEXPOOL</code>, <code>TEXMFINI</code>; +suffix ‘<samp><span class="samp">.pool</span></samp>’. + + <br><dt>‘<samp><span class="samp">tfm</span></samp>’<dd><a name="index-g_t_002etfm-692"></a><a name="index-TFMFONTS-693"></a><a name="index-TEXFONTS-694"></a>(TeX font metrics, see <a href="dvips.html#Metric-files">Metric files</a>) +<code>TFMFONTS</code>, <code>TEXFONTS</code>; +suffix ‘<samp><span class="samp">.tfm</span></samp>’; +dynamic creation program: <code>mktextfm</code>. + + <br><dt>‘<samp><span class="samp">Troff fonts</span></samp>’<dd><a name="index-TRFONTS-695"></a>(Troff fonts, used by DMP; see <a href="web2c.html#DMP-invocation">DMP invocation</a>) +<code>TRFONTS</code>. + + <br><dt>‘<samp><span class="samp">truetype fonts</span></samp>’<dd><a name="index-g_t_002ettf-696"></a><a name="index-g_t_002ettc-697"></a><a name="index-TTFONTS-698"></a>(TrueType outline fonts) <code>TTFONTS</code>; suffixes ‘<samp><span class="samp">.ttf</span></samp>’ and +‘<samp><span class="samp">.TTF</span></samp>’, ‘<samp><span class="samp">.ttc</span></samp>’ and ‘<samp><span class="samp">.TTC</span></samp>’, ‘<samp><span class="samp">.dfont</span></samp>’. + + <br><dt>‘<samp><span class="samp">type1 fonts</span></samp>’<dd><a name="index-g_t_002epfa-699"></a><a name="index-g_t_002epfb-700"></a><a name="index-T1FONTS-701"></a><a name="index-T1INPUTS-702"></a><a name="index-TEXPSHEADERS-703"></a><a name="index-DVIPSHEADERS-704"></a>(Type 1 PostScript outline fonts, see <a href="dvips.html#Glyph-files">Glyph files</a>) +<code>T1FONTS</code>, <code>T1INPUTS</code>, <code>TEXPSHEADERS</code>, <code>DVIPSHEADERS</code>; +suffixes ‘<samp><span class="samp">.pfa</span></samp>’, ‘<samp><span class="samp">.pfb</span></samp>’. + + <br><dt>‘<samp><span class="samp">type42 fonts</span></samp>’<dd><a name="index-T42FONTS-705"></a>(Type 42 PostScript outline fonts) <code>T42FONTS</code>. + + <br><dt>‘<samp><span class="samp">vf</span></samp>’<dd><a name="index-g_t_002evf-706"></a><a name="index-VFFONTS-707"></a><a name="index-TEXFONTS-708"></a>(virtual fonts, see <a href="dvips.html#Virtual-fonts">Virtual fonts</a>) +<code>VFFONTS</code>, <code>TEXFONTS</code>; +suffix ‘<samp><span class="samp">.vf</span></samp>’. + + <br><dt>‘<samp><span class="samp">web</span></samp>’<dd><a name="index-g_t_002eweb-709"></a><a name="index-WEBINPUTS-710"></a>(WEB input files) +<code>WEBINPUTS</code>; +suffix ‘<samp><span class="samp">.web</span></samp>’; +additional suffix ‘<samp><span class="samp">.ch</span></samp>’. + + <br><dt>‘<samp><span class="samp">web2c files</span></samp>’<dd><a name="index-WEB2C-711"></a>(files specific to the web2c implementation) +<code>WEB2C</code>. +</dl> + + <p>There are two special cases, because the paths and environment variables +always depend on the name of the program: the variable name is +constructed by converting the program name to upper case, and then +appending ‘<samp><span class="samp">INPUTS</span></samp>’. Assuming the program is called ‘<samp><span class="samp">foo</span></samp>’, +this gives us the following table. + + <dl> +<dt>‘<samp><span class="samp">other text files</span></samp>’<dd><a name="index-FOOINPUTS-712"></a>(text files used by ‘<samp><span class="samp">foo</span></samp>’) +<code>FOOINPUTS</code>. + + <br><dt>‘<samp><span class="samp">other binary files</span></samp>’<dd><a name="index-FOOINPUTS-713"></a>(binary files used by ‘<samp><span class="samp">foo</span></samp>’) +<code>FOOINPUTS</code>. +</dl> + + <p>If an environment variable by these names are set, the corresponding +<samp><span class="file">texmf.cnf</span></samp> definition won't be looked at (unless, as usual, the +environment variable value has an extra ‘<samp><span class="samp">:</span></samp>’). See <a href="#Default-expansion">Default expansion</a>. + + <p>For the font variables, the intent is that: + <ul> +<li><code>TEXFONTS</code> is the default for everything. + + <li><code>GLYPHFONTS</code> is the default for bitmap (or, more precisely, +non-metric) files. + + <li>Each font format has a variable of its own. + + <li><a name="index-XDVIFONTS-714"></a><a name="index-DVIPSFONTS-715"></a>Each program has its own font override path as well; e.g., +<code>DVIPSFONTS</code> for Dvipsk. Again, this is for bitmaps, not metrics. + + </ul> + +<div class="node"> +<a name="File-lookup"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Glyph-lookup">Glyph lookup</a>, +Previous: <a rel="previous" accesskey="p" href="#Supported-file-formats">Supported file formats</a>, +Up: <a rel="up" accesskey="u" href="#TeX-support">TeX support</a> + +</div> + +<h3 class="section">4.2 File lookup</h3> + +<p><a name="index-file-lookup-716"></a><a name="index-searching-for-files-717"></a><a name="index-g_t_0040TeX_007b_007d-file-lookup-718"></a> +This section describes how Kpathsea searches for most files (bitmap font +searches are the exception, as described in the next section). + + <p>Here is the search strategy for a file <var>name</var>: + + <ol type=1 start=1> +<li>If the file format defines default suffixes, and the suffix of +<var>name</var> name is not already a known suffix for that format, try the +name with each default appended, and use alternative names found in +the fontmaps if necessary. Example: given ‘<samp><span class="samp">foo.bar</span></samp>’, look for +‘<samp><span class="samp">foo.bar.tex</span></samp>’. + + <li>Search for <var>name</var>, and if necessary for alternative names found in +the fontmaps. Example: given ‘<samp><span class="samp">foo.bar</span></samp>’, we also look for +‘<samp><span class="samp">foo.bar</span></samp>’. + + <li>If the file format defines a program to invoke to create missing files, +run it (see <a href="#mktex-scripts">mktex scripts</a>). + </ol> + + <p><a name="index-extensions_002c-filename-719"></a><a name="index-suffixes_002c-filename-720"></a><a name="index-try_005fstd_005fextension_005ffirst-721"></a>The order in which we search for “suffixed” name (item 1) or +the “as-is” name (item 2) is controlled by the +<samp><span class="file">try_std_extension_first</span></samp> configuration value. The default set +in <samp><span class="file">texmf.cnf</span></samp> is true, since common suffixes are already +recognized: ‘<samp><span class="samp">babel.sty</span></samp>’ will only look for ‘<samp><span class="samp">babel.sty</span></samp>’, not +‘<samp><span class="samp">babel.sty.tex</span></samp>’, regardless of this setting. + + <p>When the suffix is unknown (e.g., ‘<samp><span class="samp">foo.bar</span></samp>’), both names are +always tried; the difference is the order in which they are tried. + + <p><samp><span class="file">try_std_extension_first</span></samp> only affects names being looked up +which *already* have an extension. A name without an extension (e.g., +‘<samp><span class="samp">tex story</span></samp>’) will always have an extension added first. + + <p><a name="index-tex_002dfile_002ec-722"></a><a name="index-kpathsea_005ffind_005ffile-723"></a>This algorithm is implemented in the function +<code>kpathsea_find_file</code> in the source file +<samp><span class="file">kpathsea/tex-file.c</span></samp>. You can watch it in action with the +debugging options (see <a href="#Debugging">Debugging</a>). + +<div class="node"> +<a name="Glyph-lookup"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Suppressing-warnings">Suppressing warnings</a>, +Previous: <a rel="previous" accesskey="p" href="#File-lookup">File lookup</a>, +Up: <a rel="up" accesskey="u" href="#TeX-support">TeX support</a> + +</div> + +<h3 class="section">4.3 Glyph lookup</h3> + +<p><a name="index-glyph-lookup-724"></a><a name="index-searching-for-glyphs-725"></a><a name="index-g_t_0040TeX_007b_007d-glyph-lookup-726"></a> +This section describes how Kpathsea searches for a bitmap font in GF or +PK format (or either) given a font name (e.g., ‘<samp><span class="samp">cmr10</span></samp>’) and a +resolution (e.g., 600). + + <p>Here is an outline of the search strategy (details in the sections +below) for a file <var>name</var> at resolution <var>dpi</var>. The search stops +at the first successful lookup. + + <ol type=1 start=1> +<li>Look for an existing file <var>name</var>.<var>dpi</var><var>format</var> in the +specified format(s). + + <li>If <var>name</var> is an alias for a file <var>f</var> in the fontmap +file <samp><span class="file">texfonts.map</span></samp>, look for <var>f</var>.<var>dpi</var>. + + <li>Run an external program (typically named ‘<samp><span class="samp">mktexpk</span></samp>’) to +generate the font (see <a href="#mktex-scripts">mktex scripts</a>) + + <li>Look for <var>fallback</var>.<var>dpi</var>, where <var>fallback</var> is some +last-resort font (typically ‘<samp><span class="samp">cmr10</span></samp>’). + </ol> + + <p><a name="index-tex_002dglyph_002ec-727"></a><a name="index-kpathsea_005ffind_005fglyph-728"></a>This is implemented in <code>kpathsea_find_glyph</code> in +<samp><span class="file">kpathsea/tex-glyph.c</span></samp>. + +<ul class="menu"> +<li><a accesskey="1" href="#Basic-glyph-lookup">Basic glyph lookup</a>: Features common to all glyph lookups. +<li><a accesskey="2" href="#Fontmap">Fontmap</a>: Aliases for fonts. +<li><a accesskey="3" href="#Fallback-font">Fallback font</a>: Resolutions and fonts of last resort. +</ul> + +<div class="node"> +<a name="Basic-glyph-lookup"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Fontmap">Fontmap</a>, +Up: <a rel="up" accesskey="u" href="#Glyph-lookup">Glyph lookup</a> + +</div> + +<h4 class="subsection">4.3.1 Basic glyph lookup</h4> + +<p><a name="index-basic-glyph-lookup-729"></a><a name="index-common-features-in-glyph-lookup-730"></a> +When Kpathsea looks for a bitmap font <var>name</var> at resolution <var>dpi</var> +in a format <var>format</var>, it first checks each directory in the search +path for a file ‘<samp><var>name</var><span class="samp">.</span><var>dpi</var><var>format</var></samp>’; for example, +‘<samp><span class="samp">cmr10.600pk</span></samp>’. Kpathsea looks for a PK file first, then a GF file. + + <p>If that fails, Kpathsea looks for +‘<samp><span class="samp">dpi</span><var>dpi</var><span class="samp">/</span><var>name</var><span class="samp">.</span><var>format</var></samp>’; for example, +‘<samp><span class="samp">dpi600/cmr10.pk</span></samp>’. This is how fonts are typically stored on +filesystems (such as DOS) that permit only three-character extensions. + + <p><a name="index-tolerance-for-glyph-lookup-731"></a><a name="index-glyph-lookup-bitmap-tolerance-732"></a><a name="index-KPSE_005fBITMAP_005fTOLERANCE-733"></a>If that fails, Kpathsea looks for a font with a close-enough <var>dpi</var>. +“Close enough” is defined by the macro <code>KPSE_BITMAP_TOLERANCE</code> in +<samp><span class="file">kpathsea/tex-glyph.h</span></samp> to be <var>dpi</var><code> / 500 + 1</code>. This is +slightly more than the 0.2% minimum allowed by the DVI standard +(<a href="<var>CTAN:</var>/dviware/driv-standard/level-0"><var>CTAN:</var>/dviware/driv-standard/level-0</a>). + +<div class="node"> +<a name="Fontmap"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Fallback-font">Fallback font</a>, +Previous: <a rel="previous" accesskey="p" href="#Basic-glyph-lookup">Basic glyph lookup</a>, +Up: <a rel="up" accesskey="u" href="#Glyph-lookup">Glyph lookup</a> + +</div> + +<h4 class="subsection">4.3.2 Fontmap</h4> + +<p><a name="index-fontmap-files-734"></a><a name="index-font-alias-files-735"></a><a name="index-aliases-for-fonts-736"></a> +<a name="index-texfonts_002emap-737"></a>If a bitmap font or metric file is not found with the original name (see +the previous section), Kpathsea looks through any <dfn>fontmap</dfn> files +for an <dfn>alias</dfn> for the original font name. These files are named +<samp><span class="file">texfonts.map</span></samp> and searched for along the <code>TEXFONTMAPS</code> +environment/config file variable. All <samp><span class="file">texfonts.map</span></samp> files that +are found are read; earlier definitions override later ones. + + <p>This feature is intended to help in two respects: + + <ol type=1 start=1> + + <li><a name="index-fontnames_002c-arbitrary-length-738"></a>An alias name is limited in length only by available memory, not by your +filesystem. Therefore, if you want to ask for ‘<samp><span class="samp">Times-Roman</span></samp>’ +instead of <samp><span class="file">ptmr</span></samp>, you can (you get ‘<samp><span class="samp">ptmr8r</span></samp>’). + + <li><a name="index-circle-fonts-739"></a><a name="index-lcircle10-740"></a>A few fonts have historically had multiple names: specifically, +LaTeX's “circle font” has variously been known as <samp><span class="file">circle10</span></samp>, +<samp><span class="file">lcircle10</span></samp>, and <samp><span class="file">lcirc10</span></samp>. Aliases can make all the names +equivalent, so that it no longer matters what the name of the installed +file is; TeX documents will find their favorite name. + + </ol> + + <p>The format of fontmap files is straightforward: + + +<a name="index-comments_002c-in-fontmap-files-741"></a> +<ul><li>Comments start with ‘<samp><span class="samp">%</span></samp>’ and continue to the end of the line. +<a name="index-whitespace_002c-in-fontmap-files-742"></a><li>Blank lines are ignored. +<li>Each nonblank line is broken up into a series of <dfn>words</dfn>: + a sequence of non-whitespace characters. +<a name="index-include-_0040r_007bfontmap-directive_007d-743"></a><li>If the first word is ‘<samp><span class="samp">include</span></samp>’, the second word is used as + a filename, and it is searched for and read. +<li>Otherwise, the first word on each line is the true filename; +<li>the second word is the alias; +<li>subsequent words are ignored. +</ul> + + <p>If an alias has an extension, it matches only those files with that +extension; otherwise, it matches anything with the same root, regardless +of extension. For example, an alias ‘<samp><span class="samp">foo.tfm</span></samp>’ matches only when +<samp><span class="file">foo.tfm</span></samp> is being searched for; but an alias ‘<samp><span class="samp">foo</span></samp>’ matches +<samp><span class="file">foo.vf</span></samp>, <samp><span class="file">foo.600pk</span></samp>, etc. + + <p>As an example, here is an excerpt from the <samp><span class="file">texfonts.map</span></samp> in the +Web2c distribution. It makes the circle fonts equivalent and includes +automatically generated maps for most PostScript fonts available from +various font suppliers. + +<pre class="example"> circle10 lcircle10 + circle10 lcirc10 + lcircle10 circle10 + lcircle10 lcirc10 + lcirc10 circle10 + lcirc10 lcircle10 + ... + include adobe.map + include apple.map + include bitstrea.map + ... +</pre> + <p>Fontmaps are implemented in the file <samp><span class="file">kpathsea/fontmap.c</span></samp>. +The Fontname distribution has much more information on font naming +(see <a href="fontname.html#Introduction">Introduction</a>). + +<div class="node"> +<a name="Fallback-font"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Fontmap">Fontmap</a>, +Up: <a rel="up" accesskey="u" href="#Glyph-lookup">Glyph lookup</a> + +</div> + +<h4 class="subsection">4.3.3 Fallback font</h4> + +<p><a name="index-fallback-font-744"></a><a name="index-fallback-resolutions-745"></a><a name="index-font-of-last-resort-746"></a><a name="index-resolutions_002c-last_002dresort-747"></a><a name="index-last_002dresort-font-748"></a> +<a name="index-DVIPSSIZES-749"></a><a name="index-XDVISIZES-750"></a><a name="index-DVILJSIZES-751"></a><a name="index-TEXSIZES-752"></a><a name="index-default_005ftexsizes-753"></a>If a bitmap font cannot be found or created at the requested size, +Kpathsea looks for the font at a set of <dfn>fallback resolutions</dfn>. You +specify these resolutions as a colon-separated list (like search paths). +Kpathsea looks first for a program-specific environment variable (e.g., +<code>DVIPSSIZES</code> for Dvipsk), then the environment variable +<code>TEXSIZES</code>, then a default specified at compilation time (the Make +variable <code>default_texsizes</code>). You can set this list to be empty if +you prefer to find fonts at their stated size or not at all. + + <p><a name="index-cmr10_0040r_007b_002c-as-fallback-font_007d-754"></a><a name="index-kpathsea_005finit_005fprog-755"></a>Finally, if the font cannot be found even at the fallback resolutions, +Kpathsea looks for a fallback font, typically <samp><span class="file">cmr10</span></samp>. Programs +must enable this feature by calling <code>kpathsea_init_prog</code> +(see <a href="#Calling-sequence">Calling sequence</a>); the default is no fallback font. + +<div class="node"> +<a name="Suppressing-warnings"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Glyph-lookup">Glyph lookup</a>, +Up: <a rel="up" accesskey="u" href="#TeX-support">TeX support</a> + +</div> + +<h3 class="section">4.4 Suppressing warnings</h3> + +<p><a name="index-warnings_002c-suppressing-756"></a><a name="index-suppressing-warnings-757"></a> +<a name="index-TEX_005fHUSH-758"></a>Kpathsea provides a way to suppress selected usually-harmless warnings; +this is useful at large sites where most users are not administrators, +and thus the warnings are merely a source of confusion, not a help. To +do this, you set the environment variable or configuration file value +<code>TEX_HUSH</code> to a colon-separated list of values. Here are the +possibilities: + + <dl> +<dt>‘<samp><span class="samp">all</span></samp>’<a name="index-all-759"></a><dd>Suppress everything possible. + + <br><dt>‘<samp><span class="samp">checksum</span></samp>’<a name="index-checksum-760"></a><dd><a name="index-mismatched-checksum-warnings-761"></a>Suppress mismatched font checksum warnings. + + <br><dt>‘<samp><span class="samp">lostchar</span></samp>’<a name="index-lostchar-762"></a><dd><a name="index-missing-character-warnings-763"></a>Suppress warnings when a character is missing from a font that a DVI or +VF file tries to typeset. + + <br><dt>‘<samp><span class="samp">none</span></samp>’<a name="index-none-764"></a><dd>Don't suppress any warnings. + + <br><dt>‘<samp><span class="samp">readable</span></samp>’<a name="index-readable-765"></a><dd><a name="index-unreadable-file-warnings-766"></a>Suppress warnings about attempts to access a file whose permissions +render it unreadable. + + <br><dt>‘<samp><span class="samp">special</span></samp>’<a name="index-special-767"></a><dd><a name="index-unknown-special-warnings-768"></a><a name="index-g_t_005cspecial_0040r_007b_002c-suppressing-warnings-about_007d-769"></a>Suppresses warnings about an unimplemented or unparsable +‘<samp><span class="samp">\special</span></samp>’ command. +</dl> + +<p class="noindent"><samp><span class="file">tex-hush.c</span></samp> defines the function that checks the +variable value. Each driver implements its own checks where +appropriate. + +<div class="node"> +<a name="Programming"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Index">Index</a>, +Previous: <a rel="previous" accesskey="p" href="#TeX-support">TeX support</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">5 Programming</h2> + +<p>This chapter is for programmers who wish to use Kpathsea. +See <a href="#Introduction">Introduction</a>, for the conditions under which you may do so. + +<ul class="menu"> +<li><a accesskey="1" href="#Programming-overview">Overview</a>: Introduction. +<li><a accesskey="2" href="#Calling-sequence">Calling sequence</a>: Specifics of what to call. +<li><a accesskey="3" href="#Program_002dspecific-files">Program-specific files</a>: How to handle these. +<li><a accesskey="4" href="#Programming-with-config-files">Config</a>: Getting info from texmf.cnf. +</ul> + +<div class="node"> +<a name="Programming-overview"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Calling-sequence">Calling sequence</a>, +Up: <a rel="up" accesskey="u" href="#Programming">Programming</a> + +</div> + +<h3 class="section">5.1 Programming overview</h3> + +<p><a name="index-programming-overview-770"></a><a name="index-overview-of-programming-with-Kpathsea-771"></a> +Aside from this manual, your best source of information is the source +to the programs that use Kpathsea (see <a href="#Introduction">Introduction</a>). Of those, +Dviljk is probably the simplest, and hence a good place to start. +Xdvik adds VF support and the complication of X resources. Dvipsk +adds the complication of its own config files. Web2c is source code I +also maintain, so it uses Kpathsea rather straightforwardly, but is of +course complicated by the Web to C translation. Finally, Kpsewhich is +a small utility program whose sole purpose is to exercise the main +path-searching functionality. + + <p><a name="index-re_002dentrant-API-772"></a><a name="index-API_002c-re_002dentrant-773"></a>When looking at these program sources, you should know that previous +versions of the library had a different programming interface, to +support re-entrancy. In that interface the library function names +were prefixed with <code>kpse_</code> instead of <code>kpathsea_</code>, and they +did not need an instance variable as first argument. This change was +made in 2009. Some of the programs mentioned above may still be using +the previous interface. + + <p><a name="index-pathsearch_002eh-774"></a><a name="index-tex_002dfile_002eh-775"></a><a name="index-tex_002dglyph_002eh-776"></a><a name="index-kpathsea_002eh-777"></a>Beyond these examples, the <samp><span class="file">.h</span></samp> files in the Kpathsea source +describe the interfaces and functionality (and of course the <samp><span class="file">.c</span></samp> +files define the actual routines, which are the ultimate documentation). +<samp><span class="file">pathsearch.h</span></samp> declares the basic searching routine. +<samp><span class="file">tex-file.h</span></samp> and <samp><span class="file">tex-glyph.h</span></samp> define the interfaces for +looking up particular kinds of files. In view of the way the headers +depend on each other, it is recommended to use <code>#include +<kpathsea/kpathsea.h></code>, which includes every Kpathsea header. + + <p><a name="index-config_002eh-778"></a><a name="index-c_002dauto_002eh-779"></a>If you want to include only specific headers, you should still consider +including <samp><span class="file">kpathsea/config.h</span></samp> before including any other Kpathsea +header, as it provides symbols used in the other headers. Note that +<samp><span class="file">kpathsea/config.h</span></samp> includes <samp><span class="file">kpathsea/c-auto.h</span></samp>, which is +generated by Autoconf. + + <p><a name="index-file-types_002c-registering-new-780"></a>The library provides no way for an external program to register new file +types: <samp><span class="file">tex-file.[ch]</span></samp> must be modified to do this. For example, +Kpathsea has support for looking up Dvips config files, even though no +program other than Dvips will likely ever want to do so. I felt this +was acceptable, since along with new file types should also come new +defaults in <samp><span class="file">texmf.cnf</span></samp> (and its descendant <samp><span class="file">paths.h</span></samp>), since +it's simplest for users if they can modify one configuration file for +all kinds of paths. + + <p>Kpathsea does not parse any formats itself; it barely opens any files. +Its primary purpose is to return filenames. The GNU font utilities does +contain libraries to read TFM, GF, and PK files, as do the programs +above, of course. + +<div class="node"> +<a name="Calling-sequence"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Program_002dspecific-files">Program-specific files</a>, +Previous: <a rel="previous" accesskey="p" href="#Programming-overview">Programming overview</a>, +Up: <a rel="up" accesskey="u" href="#Programming">Programming</a> + +</div> + +<h3 class="section">5.2 Calling sequence</h3> + +<p><a name="index-programming-with-Kpathsea-781"></a><a name="index-calling-sequence-782"></a> +The typical way to use Kpathsea in your program goes something like this: + + <ol type=1 start=1> + + <li><a name="index-kpathsea_005fnew-783"></a>Call <code>kpathsea_new</code> to create a new library instance. This variable +must be passed as the first argument to all the following library functions. +The rest of this manual will be using <code>kpse</code> as a placeholder for +the name of this variable. + + <li><a name="index-kpathsea_005fset_005fprogram_005fname-784"></a><a name="index-argv_005b0_005d-785"></a>Call <code>kpathsea_set_program_name</code> with <code>argv[0]</code> as the second +argument; the third argument is a string or <code>NULL</code>. The third +argument is used by Kpathsea as the program name for the +<code>.</code><var>program</var> feature of config files (see <a href="#Config-files">Config files</a>). +If the third argument is <code>NULL</code>, the value of the second argument +is used. This function must be called before any other use of the +Kpathsea library. + + <p><a name="index-kpse_002d_003einvocation_005fname-786"></a><a name="index-kpse_002d_003einvocation_005fshort_005fname-787"></a><a name="index-kpse_002d_003eprogram_005fname-788"></a><a name="index-error-message-macros-789"></a><code>kpathsea_set_program_name</code> always sets the variables +<code>kpse->invocation_name</code> and <code>kpse->invocation_short_name</code>. +These variables are used in the error message macros defined in +<samp><span class="file">kpathsea/lib.h</span></samp>. It sets the variable +<code>kpse->program_name</code> to the program name it uses. + + <p><a name="index-KPATHSEA_005fDEBUG-790"></a>It also initializes debugging options based on the environment +variable <code>KPATHSEA_DEBUG</code> (if that is set). + + <p><a name="index-SELFAUTOLOC-791"></a><a name="index-SELFAUTODIR-792"></a><a name="index-SELFAUTOPARENT-793"></a><a name="index-symlinks_002c-resolving-794"></a><a name="index-expanding-symlinks-795"></a>Finally, it sets the environment variables <code>SELFAUTOLOC</code>, <code>SELFAUTODIR</code> +and <code>SELFAUTOPARENT</code> to the location, parent and grandparent +directory of the executable, removing <samp><span class="file">.</span></samp> and <samp><span class="file">..</span></samp> path +elements and resolving symbolic links. These are used in the default +configuration file to allow people to invoke TeX from anywhere. You +can use ‘<samp><span class="samp">kpsewhich --expand-var=\$SELFAUTOLOC</span></samp>’, etc., to see the +values. + + <li><a name="index-kpse_002d_003edebug-_0040r_007bvariable_007d-796"></a><a name="index-debugging-options_002c-in-Kpathsea_002dusing-program-797"></a>Set debugging options. See <a href="#Debugging">Debugging</a>. If your program doesn't have a +debugging option already, you can define one and set +<code>kpse->debug</code> to the number that the user supplies (as in Dviljk +and Web2c), or you can just omit this altogether (people can always set +<code>KPATHSEA_DEBUG</code>). If you do have runtime debugging already, you +need to merge Kpathsea's options with yours (as in Dvipsk and Xdvik). + + <li><a name="index-client_005fpath-_0040r_007bin-_0040code_007bkpse_002d_003eformat_005finfo_007d_007d-798"></a><a name="index-kpse_002d_003eformat_005finfo-799"></a><a name="index-resident_002ec-800"></a><a name="index-config-files_002c-for-Kpathsea_002dusing-programs-801"></a>If your program has its own configuration files that can define search +paths, you should assign those paths to the <code>client_path</code> member in +the appropriate element of the <code>kpse->format_info</code> array. (This +array is indexed by file type; see <samp><span class="file">tex-file.h</span></samp>.) See +<samp><span class="file">resident.c</span></samp> in Dvipsk for an example. + + <li><a name="index-kpathsea_005finit_005fprog-802"></a><a name="index-proginit_002eh-803"></a>Call <code>kpathsea_init_prog</code> (see <samp><span class="file">proginit.c</span></samp>). It's useful for the +DVI drivers, at least, but for other programs it may be simpler to +extract the parts of it that actually apply. This does not initialize +any paths, it just looks for (and sets) certain environment variables +and other random information. (A search path is always initialized at +the first call to find a file of that type; this eliminates much useless +work, e.g., initializing the BibTeX search paths in a DVI driver.) + + <li><a name="index-kpathsea_005ffind_005ffile-804"></a>The routine to actually find a file of type <var>format</var> is +<samp><span class="file">kpathsea_find_file</span></samp>. You can call +<code>kpathsea_find_file</code> after doing only the first and second of the +initialization steps above—Kpathsea automatically reads the +<samp><span class="file">texmf.cnf</span></samp> generic config files, looks for environment variables, +and does expansions at the first lookup. + + <li>To find PK and/or GF bitmap fonts, the routine +is <code>kpathsea_find_glyph</code>, defined in +<samp><span class="file">tex-glyph.h</span></samp>. This returns a structure in addition to the +resultant filename, because fonts can be found in so many ways. See the +documentation in the source. + + <li><a name="index-kpathsea_005fopen_005ffile-805"></a>To actually open a file, not just return a filename, call +<code>kpathsea_open_file</code>. This function takes the name to look up and a +Kpathsea file format as arguments, and returns the usual <code>FILE *</code>. +It always assumes the file must exist, and thus will search the disk if +necessary (unless the search path specified ‘<samp><span class="samp">!!</span></samp>’, etc.). In other +words, if you are looking up a VF or some other file that need not +exist, don't use this. + + <li><a name="index-kpathsea_005fout_005fname_005fok-806"></a>TeX can write output files, via the <code>\openout</code> primitive; this opens +a security hole vulnerable to Trojan horse attack: an unwitting user could +run a TeX program that overwrites, say, <samp><span class="file">~/.rhosts</span></samp>. Analogous +security holes exist for many other programs. To alleviate this, there is a +configuration variable <code>openout_any</code>, which selects one of three levels +of security. When it is set to ‘<samp><span class="samp">a</span></samp>’ (for “any”), no restrictions are +imposed. When it is set to ‘<samp><span class="samp">r</span></samp>’ (for “restricted”), filenames +beginning with ‘<samp><span class="samp">.</span></samp>’ are disallowed (except <samp><span class="file">.tex</span></samp> because LaTeX +needs it). When it is set to ‘<samp><span class="samp">p</span></samp>’ (for “paranoid”) additional +restrictions are imposed: an absolute filename must refer to a file in (a +subdirectory) of <code>TEXMFOUTPUT</code>, and any attempt to go up a directory +level is forbidden (that is, paths may not contain a ‘<samp><span class="samp">..</span></samp>’ component). +The paranoid setting is the default. (For backwards compatibility, ‘<samp><span class="samp">y</span></samp>’ +and ‘<samp><span class="samp">1</span></samp>’ are synonyms of ‘<samp><span class="samp">a</span></samp>’, while ‘<samp><span class="samp">n</span></samp>’ and ‘<samp><span class="samp">0</span></samp>’ are +synonyms for ‘<samp><span class="samp">r</span></samp>’.) The function <code>kpathsea_out_name_ok</code>, with a +filename as second argument, returns <code>true</code> if that filename is +acceptable to be opend for output or <code>false</code> otherwise. + + <li><a name="index-kpathsea_005fin_005fname_005fok-807"></a>Similarly, the function <code>kpathsea_in_name_ok</code>, with a filename as +second argument, returns <code>true</code> if that filename is acceptable to be +opend for input or <code>false</code> otherwise, depending on the value of the +configuration variable <code>openin_any</code> (with ‘<samp><span class="samp">a</span></samp>’ as default). + + <li><a name="index-kpathsea_005ffinish-808"></a>To close the kpathsea library instance you are using, call +<code>kpathsea_finish</code>. This function closes any open log files and +frees the memory used by the instance. + + </ol> + + <p><a name="index-hash-table-routines-809"></a><a name="index-memory-allocation-routines-810"></a><a name="index-string-routines-811"></a><a name="index-reading-arbitrary_002dlength-lines-812"></a><a name="index-input-lines_002c-reading-813"></a><a name="index-lines_002c-reading-arbitrary_002dlength-814"></a>Kpathsea also provides many utility routines. Some are generic: hash +tables, memory allocation, string concatenation and copying, string +lists, reading input lines of arbitrary length, etc. Others are +filename-related: default path, tilde, and variable expansion, +<code>stat</code> calls, etc. (Perhaps someday I'll move the former to a +separate library.) + + <p><a name="index-c_002d_002a_002eh-815"></a><a name="index-autoconf_0040r_007b_002c-recommended_007d-816"></a>The <samp><span class="file">c-*.h</span></samp> header files can also help your program adapt to many +different systems. You will almost certainly want to use Autoconf and +probably Automake for configuring and building your software if you use +Kpathsea; I strongly recommend using Autoconf and Automake regardless. +They are available from <a href="ftp://ftp.gnu.og/pub/gnu/">ftp://ftp.gnu.og/pub/gnu/</a>. + +<div class="node"> +<a name="Program-specific-files"></a> +<a name="Program_002dspecific-files"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Programming-with-config-files">Programming with config files</a>, +Previous: <a rel="previous" accesskey="p" href="#Calling-sequence">Calling sequence</a>, +Up: <a rel="up" accesskey="u" href="#Programming">Programming</a> + +</div> + +<h3 class="section">5.3 Program-specific files</h3> + +<p>Many programs will need to find some configuration files. Kpathsea +contains some support to make it easy to place them in their own +directories. The Standard TeX directory structure (see <a href="tds.html#Top">Introduction</a>), specifies +that such files should go into a subdirectory named after the program, +like ‘<samp><span class="samp">texmf/ttf2pk</span></samp>’. + + <p>Two formats, ‘<samp><span class="samp">kpse_program_text_format</span></samp>’ and +‘<samp><span class="samp">kpse_program_binary_format</span></samp>’, use <code>.:$TEXMF/</code><var>program</var><code>//</code> +as their compiled-in search path. To override this default, you can +use the variable <var>PROGRAM</var><code>INPUTS</code> in the environment and/or +‘<samp><span class="samp">texmf.cnf</span></samp>’. That is to say, the name of the variable is +constructed by converting the name of the program to upper case, and +appending <code>INPUTS</code>. + + <p>The only difference between these two formats is whether +<code>kpathsea_open_file</code> will open the files it finds in text or binary +mode. + +<div class="node"> +<a name="Programming-with-config-files"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Program_002dspecific-files">Program-specific files</a>, +Up: <a rel="up" accesskey="u" href="#Programming">Programming</a> + +</div> + +<h3 class="section">5.4 Programming with config files</h3> + +<p><a name="index-programming-with-config-files-817"></a><a name="index-config-files_002c-programming-with-818"></a> +You can (and probably should) use the same <code>texmf.cnf</code> +configuration file that Kpathsea uses for your program. This helps +installers by keeping all configuration in one place. + + <p><a name="index-kpathsae_005fvar_005fvalue-819"></a><a name="index-variable_002eh-820"></a><a name="index-shell_005fescape_0040r_007b_002c-example-for-code_007d-821"></a>To retrieve a value <var>var</var> from config files, the best way is to call +<code>kpathsea_var_value</code> on the string <var>var</var>. This will look +first for an environment variable <var>var</var>, then a config file value. +The result will be the value found or ‘<samp><span class="samp">NULL</span></samp>’. This function is +declared in <samp><span class="file">kpathsea/variable.h</span></samp>. For an example, see the +<code>shell_escape</code> code in <samp><span class="file">web2c/lib/texmfmp.c</span></samp>. + + <p>The routine to do variable expansion in the context of a search path (as +opposed to simply retrieving a value) is <code>kpathsea_var_expand</code>, also +declared in <samp><span class="file">kpathsea/variable.h</span></samp>. It's generally only necessary +to set the search path structure components as explained in the previous +section, rather than using this yourself. + + <p><a name="index-kpathsea_005fcnf_005fget-822"></a><a name="index-cnf_002eh-823"></a>If for some reason you want to retrieve a value <em>only</em> from a +config file, not automatically looking for a corresponding environment +variable, call <code>kpathsea_cnf_get</code> (declared in <samp><span class="file">kpathsea/cnf.h</span></samp>) +with the string <var>var</var>. + + <p>No initialization calls are needed. + +<div class="node"> +<a name="Index"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Programming">Programming</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="unnumbered">Index</h2> + +<ul class="index-cp" compact> +<li><a href="#index-g_t_0021_0021-_0040r_007bin-path-specifications_007d-537"><code>!! </code><span class="roman">in path specifications</span></a>: <a href="#ls_002dR">ls-R</a></li> +<li><a href="#index-g_t_0024-_0040r_007bexpansion_007d-483"><code>$ </code><span class="roman">expansion</span></a>: <a href="#Variable-expansion">Variable expansion</a></li> +<li><a href="#index-g_t_002d_002dall-547"><code>--all</code></a>: <a href="#Path-searching-options">Path searching options</a></li> +<li><a href="#index-g_t_002d_002dcolor_003dtty-524"><code>--color=tty</code></a>: <a href="#ls_002dR">ls-R</a></li> +<li><a href="#index-g_t_002d_002ddebug_003d_0040var_007bnum_007d-578"><code>--debug=</code><var>num</var></a>: <a href="#Auxiliary-tasks">Auxiliary tasks</a></li> +<li><a href="#index-g_t_002d_002ddisable_002dstatic-110"><code>--disable-static</code></a>: <a href="#configure-options">configure options</a></li> +<li><a href="#index-g_t_002d_002ddpi_003d_0040var_007bnum_007d-549"><code>--dpi=</code><var>num</var></a>: <a href="#Path-searching-options">Path searching options</a></li> +<li><a href="#index-g_t_002d_002denable-_0040r_007boptions_007d-106"><code>--enable </code><span class="roman">options</span></a>: <a href="#configure-options">configure options</a></li> +<li><a href="#index-g_t_002d_002denable_002dmaintainer_002dmode-111"><code>--enable-maintainer-mode</code></a>: <a href="#configure-options">configure options</a></li> +<li><a href="#index-g_t_002d_002denable_002dshared-139"><code>--enable-shared</code></a>: <a href="#Shared-library">Shared library</a></li> +<li><a href="#index-g_t_002d_002denable_002dshared-109"><code>--enable-shared</code></a>: <a href="#configure-options">configure options</a></li> +<li><a href="#index-g_t_002d_002dengine_003d_0040var_007bname_007d-552"><code>--engine=</code><var>name</var></a>: <a href="#Path-searching-options">Path searching options</a></li> +<li><a href="#index-g_t_002d_002dexpand_002dbraces_003d_0040var_007bstring_007d-580"><code>--expand-braces=</code><var>string</var></a>: <a href="#Auxiliary-tasks">Auxiliary tasks</a></li> +<li><a href="#index-g_t_002d_002dexpand_002dpath_003d_0040var_007bstring_007d-582"><code>--expand-path=</code><var>string</var></a>: <a href="#Auxiliary-tasks">Auxiliary tasks</a></li> +<li><a href="#index-g_t_002d_002dexpand_002dvar_003d_0040var_007bstring_007d-581"><code>--expand-var=</code><var>string</var></a>: <a href="#Auxiliary-tasks">Auxiliary tasks</a></li> +<li><a href="#index-g_t_002d_002dformat_003d_0040var_007bname_007d-554"><code>--format=</code><var>name</var></a>: <a href="#Path-searching-options">Path searching options</a></li> +<li><a href="#index-g_t_002d_002dhelp-585"><code>--help</code></a>: <a href="#Standard-options">Standard options</a></li> +<li><a href="#index-g_t_002d_002dinteractive-555"><code>--interactive</code></a>: <a href="#Path-searching-options">Path searching options</a></li> +<li><a href="#index-g_t_002d_002dmktex_003d_0040var_007bfiletype_007d-557"><code>--mktex=</code><var>filetype</var></a>: <a href="#Path-searching-options">Path searching options</a></li> +<li><a href="#index-g_t_002d_002dmode_003d_0040var_007bstring_007d-559"><code>--mode=</code><var>string</var></a>: <a href="#Path-searching-options">Path searching options</a></li> +<li><a href="#index-g_t_002d_002dmust_002dexist-560"><code>--must-exist</code></a>: <a href="#Path-searching-options">Path searching options</a></li> +<li><a href="#index-g_t_002d_002dno_002dmktex_003d_0040var_007bfiletype_007d-558"><code>--no-mktex=</code><var>filetype</var></a>: <a href="#Path-searching-options">Path searching options</a></li> +<li><a href="#index-g_t_002d_002dpath_003d_0040var_007bstring_007d-561"><code>--path=</code><var>string</var></a>: <a href="#Path-searching-options">Path searching options</a></li> +<li><a href="#index-g_t_002d_002dprogname_003d_0040var_007bname_007d-562"><code>--progname=</code><var>name</var></a>: <a href="#Path-searching-options">Path searching options</a></li> +<li><a href="#index-g_t_002d_002dsafe_002din_002dname_003d_0040var_007bname_007d-563"><code>--safe-in-name=</code><var>name</var></a>: <a href="#Path-searching-options">Path searching options</a></li> +<li><a href="#index-g_t_002d_002dsafe_002dout_002dname_003d_0040var_007bname_007d-564"><code>--safe-out-name=</code><var>name</var></a>: <a href="#Path-searching-options">Path searching options</a></li> +<li><a href="#index-g_t_002d_002dshow_002dpath_003d_0040var_007bname_007d-583"><code>--show-path=</code><var>name</var></a>: <a href="#Auxiliary-tasks">Auxiliary tasks</a></li> +<li><a href="#index-g_t_002d_002dsrcdir_0040r_007b_002c-for-building-multiple-architectures_007d-129"><code>--srcdir</code><span class="roman">, for building multiple architectures</span></a>: <a href="#configure-scenarios">configure scenarios</a></li> +<li><a href="#index-g_t_002d_002dsubdir_003d_0040var_007bstring_007d-565"><code>--subdir=</code><var>string</var></a>: <a href="#Path-searching-options">Path searching options</a></li> +<li><a href="#index-g_t_002d_002dvar_002dvalue_003d_0040var_007bvariable_007d-579"><code>--var-value=</code><var>variable</var></a>: <a href="#Auxiliary-tasks">Auxiliary tasks</a></li> +<li><a href="#index-g_t_002d_002dversion-586"><code>--version</code></a>: <a href="#Standard-options">Standard options</a></li> +<li><a href="#index-g_t_002d_002dwith-_0040r_007boptions_007d-105"><code>--with </code><span class="roman">options</span></a>: <a href="#configure-options">configure options</a></li> +<li><a href="#index-g_t_002d_002dwith_002dmktextex_002ddefault-200"><code>--with-mktextex-default</code></a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-g_t_002d_002dwithout_002dmktexfmt_002ddefault-194"><code>--without-mktexfmt-default</code></a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-g_t_002d_002dwithout_002dmktexmf_002ddefault-195"><code>--without-mktexmf-default</code></a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-g_t_002d_002dwithout_002dmktexocp_002ddefault-196"><code>--without-mktexocp-default</code></a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-g_t_002d_002dwithout_002dmktexofm_002ddefault-197"><code>--without-mktexofm-default</code></a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-g_t_002d_002dwithout_002dmktexpk_002ddefault-198"><code>--without-mktexpk-default</code></a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-g_t_002d_002dwithout_002dmktextfm_002ddefault-199"><code>--without-mktextfm-default</code></a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-g_t_002d1-_0040r_007bdebugging-value_007d-321"><code>-1 </code><span class="roman">debugging value</span></a>: <a href="#Debugging">Debugging</a></li> +<li><a href="#index-g_t_002dA-_0040r_007boption-to-_0040code_007bls_007d_007d-526"><code>-A </code><span class="roman">option to </span><code>ls</code></a>: <a href="#ls_002dR">ls-R</a></li> +<li><a href="#index-g_t_002dBdynamic-413"><code>-Bdynamic</code></a>: <a href="#ShellWidgetClass">ShellWidgetClass</a></li> +<li><a href="#index-g_t_002dBstatic-412"><code>-Bstatic</code></a>: <a href="#ShellWidgetClass">ShellWidgetClass</a></li> +<li><a href="#index-g_t_002dD-_0040var_007bnum_007d-550"><code>-D </code><var>num</var></a>: <a href="#Path-searching-options">Path searching options</a></li> +<li><a href="#index-g_t_002ddynamic-411"><code>-dynamic</code></a>: <a href="#ShellWidgetClass">ShellWidgetClass</a></li> +<li><a href="#index-g_t_002dg_0040r_007b_002c-compiling-without_007d-135"><code>-g</code><span class="roman">, compiling without</span></a>: <a href="#configure-scenarios">configure scenarios</a></li> +<li><a href="#index-g_t_002dL-_0040r_007boption-to-_0040code_007bls_007d_007d-532"><code>-L </code><span class="roman">option to </span><code>ls</code></a>: <a href="#ls_002dR">ls-R</a></li> +<li><a href="#index-g_t_002dO_0040r_007b_002c-compiling-with_007d-134"><code>-O</code><span class="roman">, compiling with</span></a>: <a href="#configure-scenarios">configure scenarios</a></li> +<li><a href="#index-g_t_002dstatic-410"><code>-static</code></a>: <a href="#ShellWidgetClass">ShellWidgetClass</a></li> +<li><a href="#index-g_t_002e-_0040r_007bdirectories_002c-ignored_007d-529"><code>. </code><span class="roman">directories, ignored</span></a>: <a href="#ls_002dR">ls-R</a></li> +<li><a href="#index-g_t_002e-_0040r_007bfiles_007d-528"><code>. </code><span class="roman">files</span></a>: <a href="#ls_002dR">ls-R</a></li> +<li><a href="#index-g_t_002e2602gf-367"><code>.2602gf</code></a>: <a href="#Unable-to-generate-fonts">Unable to generate fonts</a></li> +<li><a href="#index-g_t_002eafm-593"><code>.afm</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002ebase-595"><code>.base</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002ebib-598"><code>.bib</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002ebst-601"><code>.bst</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002ecid-617"><code>.cid</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002ecmap-603"><code>.cmap</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002ecnf-605"><code>.cnf</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002eenc-612"><code>.enc</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002eeps-625"><code>.eps</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002eepsi-626"><code>.epsi</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002efea-619"><code>.fea</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002efmt-614"><code>.fmt</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002eist-629"><code>.ist</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002elig-632"><code>.lig</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002emap-636"><code>.map</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002emem-638"><code>.mem</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002emf-642"><code>.mf</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002emft-646"><code>.mft</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002emlbib-649"><code>.mlbib</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002emlbst-653"><code>.mlbst</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002emp-656"><code>.mp</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002eocp-660"><code>.ocp</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002eofm-662"><code>.ofm</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002eopl-665"><code>.opl</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002eotp-666"><code>.otp</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002eovf-668"><code>.ovf</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002eovp-670"><code>.ovp</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002epfa-699"><code>.pfa</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002epfb-700"><code>.pfb</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002epk-673"><code>.pk</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002epool-644"><code>.pool</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002epro-678"><code>.pro</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002erhosts_0040r_007b_002c-writable-by-_0040TeX_007b_007d_007d-258"><code>.rhosts</code><span class="roman">, writable by TeX</span></a>: <a href="#Security">Security</a></li> +<li><a href="#index-g_t_002esfd-681"><code>.sfd</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002etex-683"><code>.tex</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002etex-_0040r_007bfile_002c-included-in-_0040file_007bls_002dR_007d_007d-530"><code>.tex </code><span class="roman">file, included in </span><samp><span class="file">ls-R</span></samp></a>: <a href="#ls_002dR">ls-R</a></li> +<li><a href="#index-g_t_002etfm-692"><code>.tfm</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002ettc-697"><code>.ttc</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002ettf-696"><code>.ttf</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002evf-706"><code>.vf</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002ew-607"><code>.w</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002eweb-608"><code>.web</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_002f-_0040r_007bmay-not-be-_002f_007d-425"><code>/ </code><span class="roman">may not be /</span></a>: <a href="#Searching-overview">Searching overview</a></li> +<li><a href="#index-g_t_002f_0040r_007b_002c-trailing-in-home-directory_007d-499"><code>/</code><span class="roman">, trailing in home directory</span></a>: <a href="#Tilde-expansion">Tilde expansion</a></li> +<li><a href="#index-g_t_002f_002f-506"><code>//</code></a>: <a href="#Subdirectory-expansion">Subdirectory expansion</a></li> +<li><a href="#index-g_t_002fafs_002f_0040dots_007b_007d-_0040r_007b_002c-installing-into_007d-173"><code>/afs/... </code><span class="roman">, installing into</span></a>: <a href="#Installing-files">Installing files</a></li> +<li><a href="#index-g_t_002fetc_002fprofile-355"><code>/etc/profile</code></a>: <a href="#Unable-to-find-files">Unable to find files</a></li> +<li><a href="#index-g_t_002fetc_002fprofile-_0040r_007band-aliases_007d-525"><code>/etc/profile </code><span class="roman">and aliases</span></a>: <a href="#ls_002dR">ls-R</a></li> +<li><a href="#index-g_t_002fvar_002ftmp_002ftexfonts-229"><code>/var/tmp/texfonts</code></a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-g_t2602gf-368"><code>2602gf</code></a>: <a href="#Unable-to-generate-fonts">Unable to generate fonts</a></li> +<li><a href="#index-g_t8_002e3-filenames_002c-using-211">8.3 filenames, using</a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-g_t_003a-_0040r_007bmay-not-be-_003a_007d-424"><code>: </code><span class="roman">may not be :</span></a>: <a href="#Searching-overview">Searching overview</a></li> +<li><a href="#index-g_t_003a_003a-_0040r_007bexpansion_007d-474"><code>:: </code><span class="roman">expansion</span></a>: <a href="#Default-expansion">Default expansion</a></li> +<li><a href="#index-g_t_0040_0040_0040var_007bvar_007d_0040_0040-substitutions-87">@<var>var</var>@ substitutions</a>: <a href="#Running-configure">Running configure</a></li> +<li><a href="#index-g_t_005c_0040r_007b_002c-line-continuation-in-_0040file_007btexmf_002ecnf_007d_007d-466"><code>\</code><span class="roman">, line continuation in </span><samp><span class="file">texmf.cnf</span></samp></a>: <a href="#Config-files">Config files</a></li> +<li><a href="#index-g_t_005copenin-435"><code>\openin</code></a>: <a href="#Searching-overview">Searching overview</a></li> +<li><a href="#index-g_t_005cspecial_0040r_007b_002c-suppressing-warnings-about_007d-769"><code>\special</code><span class="roman">, suppressing warnings about</span></a>: <a href="#Suppressing-warnings">Suppressing warnings</a></li> +<li><a href="#index-absolute-filenames-437">absolute filenames</a>: <a href="#Searching-overview">Searching overview</a></li> +<li><a href="#index-ac_005finclude_0040r_007b_002c-Autoconf-extension_007d-86"><code>ac_include</code><span class="roman">, Autoconf extension</span></a>: <a href="#Running-configure">Running configure</a></li> +<li><a href="#index-access-warnings-443">access warnings</a>: <a href="#Searching-overview">Searching overview</a></li> +<li><a href="#index-AFMFONTS-594"><code>AFMFONTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-AFS-171">AFS</a>: <a href="#Installing-files">Installing files</a></li> +<li><a href="#index-AIX-4_002e1-_0040code_007bconfigure_007d-error-390">AIX 4.1 <code>configure</code> error</a>: <a href="#Empty-Makefiles">Empty Makefiles</a></li> +<li><a href="#index-AIX-shells-and-_0040code_007bconfigure_007d-96">AIX shells and <code>configure</code></a>: <a href="#configure-shells">configure shells</a></li> +<li><a href="#index-aliases-for-fonts-736">aliases for fonts</a>: <a href="#Fontmap">Fontmap</a></li> +<li><a href="#index-aliases_002c-for-filenames-540">aliases, for filenames</a>: <a href="#Filename-aliases">Filename aliases</a></li> +<li><a href="#index-all-759"><code>all</code></a>: <a href="#Suppressing-warnings">Suppressing warnings</a></li> +<li><a href="#index-all-matches_002c-finding-548">all matches, finding</a>: <a href="#Path-searching-options">Path searching options</a></li> +<li><a href="#index-alphabetical-order_002c-not-509">alphabetical order, not</a>: <a href="#Subdirectory-expansion">Subdirectory expansion</a></li> +<li><a href="#index-Amiga-support-42">Amiga support</a>: <a href="#Custom-installation">Custom installation</a></li> +<li><a href="#index-Andrew-File-System_002c-installing-with-172">Andrew File System, installing with</a>: <a href="#Installing-files">Installing files</a></li> +<li><a href="#index-announcement-mailing-list-305">announcement mailing list</a>: <a href="#Mailing-lists">Mailing lists</a></li> +<li><a href="#index-ANSI-C-381">ANSI C</a>: <a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></li> +<li><a href="#index-API_002c-re_002dentrant-773">API, re-entrant</a>: <a href="#Programming-overview">Programming overview</a></li> +<li><a href="#index-append_002donly-directories-and-_0040code_007bmktexpk_007d-262">append-only directories and <code>mktexpk</code></a>: <a href="#Security">Security</a></li> +<li><a href="#index-appendonlydir-207"><code>appendonlydir</code></a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-architecture_002d_0028in_0029dependent-files_002c-installing-only-167">architecture-(in)dependent files, installing only</a>: <a href="#Installing-files">Installing files</a></li> +<li><a href="#index-architectures_002c-compiling-multiple-127">architectures, compiling multiple</a>: <a href="#configure-scenarios">configure scenarios</a></li> +<li><a href="#index-arguments-to-_0040file_007bmktex_007d-253">arguments to <samp><span class="file">mktex</span></samp></a>: <a href="#mktex-script-arguments">mktex script arguments</a></li> +<li><a href="#index-argv_005b0_005d-785"><code>argv[0]</code></a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-ash_0040r_007b_002c-losing-with-_0040code_007bconfigure_007d_007d-97"><code>ash</code><span class="roman">, losing with </span><code>configure</code></a>: <a href="#configure-shells">configure shells</a></li> +<li><a href="#index-autoconf_0040r_007b_002c-recommended_007d-816"><code>autoconf</code><span class="roman">, recommended</span></a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-automounter_002c-and-configuration-133">automounter, and configuration</a>: <a href="#configure-scenarios">configure scenarios</a></li> +<li><a href="#index-automounter_002c-and-_0040file_007bls_002dR_007d-533">automounter, and <samp><span class="file">ls-R</span></samp></a>: <a href="#ls_002dR">ls-R</a></li> +<li><a href="#index-auxiliary-tasks-577">auxiliary tasks</a>: <a href="#Auxiliary-tasks">Auxiliary tasks</a></li> +<li><a href="#index-Babel-164">Babel</a>: <a href="#Running-make">Running make</a></li> +<li><a href="#index-Babel-61">Babel</a>: <a href="#Kpathsea-application-distributions">Kpathsea application distributions</a></li> +<li><a href="#index-Bach_002c-Johann-Sebastian-481">Bach, Johann Sebastian</a>: <a href="#Default-expansion">Default expansion</a></li> +<li><a href="#index-backslash_002dnewline-463">backslash-newline</a>: <a href="#Config-files">Config files</a></li> +<li><a href="#index-bash_0040r_007b_002c-recommended-for-running-_0040code_007bconfigure_007d_007d-92"><code>bash</code><span class="roman">, recommended for running </span><code>configure</code></a>: <a href="#configure-shells">configure shells</a></li> +<li><a href="#index-basic-glyph-lookup-729">basic glyph lookup</a>: <a href="#Basic-glyph-lookup">Basic glyph lookup</a></li> +<li><a href="#index-Berry_002c-Karl-15">Berry, Karl</a>: <a href="#History">History</a></li> +<li><a href="#index-BIBINPUTS-599"><code>BIBINPUTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-blank-lines_002c-in-_0040file_007btexmf_002ecnf_007d-462">blank lines, in <samp><span class="file">texmf.cnf</span></samp></a>: <a href="#Config-files">Config files</a></li> +<li><a href="#index-brace-expansion-502">brace expansion</a>: <a href="#Brace-expansion">Brace expansion</a></li> +<li><a href="#index-BSD-universe-159">BSD universe</a>: <a href="#Running-make">Running make</a></li> +<li><a href="#index-bsh_0040r_007b_002c-ok-with-_0040code_007bconfigure_007d_007d-94"><code>bsh</code><span class="roman">, ok with </span><code>configure</code></a>: <a href="#configure-shells">configure shells</a></li> +<li><a href="#index-BSTINPUTS-602"><code>BSTINPUTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-bug-address-286">bug address</a>: <a href="#Reporting-bugs">Reporting bugs</a></li> +<li><a href="#index-bug-checklist-288">bug checklist</a>: <a href="#Bug-checklist">Bug checklist</a></li> +<li><a href="#index-bug-mailing-list-304">bug mailing list</a>: <a href="#Mailing-lists">Mailing lists</a></li> +<li><a href="#index-bugs_002c-reporting-284">bugs, reporting</a>: <a href="#Reporting-bugs">Reporting bugs</a></li> +<li><a href="#index-c_002d_002a_002eh-815"><code>c-*.h</code></a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-c_002dauto_002eh-779"><code>c-auto.h</code></a>: <a href="#Programming-overview">Programming overview</a></li> +<li><a href="#index-c_002dauto_002ein-84"><code>c-auto.in</code></a>: <a href="#Running-configure">Running configure</a></li> +<li><a href="#index-cache-of-fonts_002c-local-260">cache of fonts, local</a>: <a href="#Security">Security</a></li> +<li><a href="#index-calling-sequence-782">calling sequence</a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-CC-112"><code>CC</code></a>: <a href="#configure-environment">configure environment</a></li> +<li><a href="#index-cc-_0040r_007bwarnings_007d-417"><code>cc </code><span class="roman">warnings</span></a>: <a href="#Pointer-combination-warnings">Pointer combination warnings</a></li> +<li><a href="#index-cc_0040r_007b_002c-compiling-with_007d-114"><code>cc</code><span class="roman">, compiling with</span></a>: <a href="#configure-environment">configure environment</a></li> +<li><a href="#index-CFLAGS-115"><code>CFLAGS</code></a>: <a href="#configure-environment">configure environment</a></li> +<li><a href="#index-ChangeLog-_0040r_007bentry_007d-296"><code>ChangeLog </code><span class="roman">entry</span></a>: <a href="#Bug-checklist">Bug checklist</a></li> +<li><a href="#index-checklist-for-bug-reports-287">checklist for bug reports</a>: <a href="#Bug-checklist">Bug checklist</a></li> +<li><a href="#index-checksum-760"><code>checksum</code></a>: <a href="#Suppressing-warnings">Suppressing warnings</a></li> +<li><a href="#index-circle-fonts-739">circle fonts</a>: <a href="#Fontmap">Fontmap</a></li> +<li><a href="#index-clean-_0040r_007bMake-target_007d-178"><code>clean </code><span class="roman">Make target</span></a>: <a href="#Cleaning-up">Cleaning up</a></li> +<li><a href="#index-client_005fpath-_0040r_007bin-_0040code_007bkpse_002d_003eformat_005finfo_007d_007d-798"><code>client_path </code><span class="roman">in </span><code>kpse->format_info</code></a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-CMAPFONTS-604"><code>CMAPFONTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-cmr10_0040r_007b_002c-as-fallback-font_007d-754"><code>cmr10</code><span class="roman">, as fallback font</span></a>: <a href="#Fallback-font">Fallback font</a></li> +<li><a href="#index-cmr10_002evf-434"><code>cmr10.vf</code></a>: <a href="#Searching-overview">Searching overview</a></li> +<li><a href="#index-cnf_002ec-471"><code>cnf.c</code></a>: <a href="#Config-files">Config files</a></li> +<li><a href="#index-cnf_002eh-823"><code>cnf.h</code></a>: <a href="#Programming-with-config-files">Programming with config files</a></li> +<li><a href="#index-code-sharing-140">code sharing</a>: <a href="#Shared-library">Shared library</a></li> +<li><a href="#index-color-printers_002c-configuring-35">color printers, configuring</a>: <a href="#Simple-installation">Simple installation</a></li> +<li><a href="#index-comments_002c-in-fontmap-files-741">comments, in fontmap files</a>: <a href="#Fontmap">Fontmap</a></li> +<li><a href="#index-comments_002c-in-_0040file_007btexmf_002ecnf_007d-461">comments, in <samp><span class="file">texmf.cnf</span></samp></a>: <a href="#Config-files">Config files</a></li> +<li><a href="#index-comments_002c-making-5">comments, making</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-common-features-in-glyph-lookup-730">common features in glyph lookup</a>: <a href="#Basic-glyph-lookup">Basic glyph lookup</a></li> +<li><a href="#index-common-problems-350">common problems</a>: <a href="#Common-problems">Common problems</a></li> +<li><a href="#index-comp_002esys_002esun_002eadmin-_0040r_007bFAQ_007d-404"><code>comp.sys.sun.admin </code><span class="roman">FAQ</span></a>: <a href="#ShellWidgetClass">ShellWidgetClass</a></li> +<li><a href="#index-comp_002etext_002etex-313"><code>comp.text.tex</code></a>: <a href="#Mailing-lists">Mailing lists</a></li> +<li><a href="#index-compilation-28">compilation</a>: <a href="#Installation">Installation</a></li> +<li><a href="#index-compilation-value_002c-source-for-path-453">compilation value, source for path</a>: <a href="#Path-sources">Path sources</a></li> +<li><a href="#index-compiler-bugs-376">compiler bugs</a>: <a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></li> +<li><a href="#index-compiler-bugs_002c-finding-380">compiler bugs, finding</a>: <a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></li> +<li><a href="#index-compiler-options_002c-additional-149">compiler options, additional</a>: <a href="#Running-make">Running make</a></li> +<li><a href="#index-compiler-options_002c-specifying-116">compiler options, specifying</a>: <a href="#configure-environment">configure environment</a></li> +<li><a href="#index-compiler_002c-changing-156">compiler, changing</a>: <a href="#Running-make">Running make</a></li> +<li><a href="#index-compiling-on-HP_002dUX-383">compiling on HP-UX</a>: <a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></li> +<li><a href="#index-conditions-for-use-7">conditions for use</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-config-files-454">config files</a>: <a href="#Config-files">Config files</a></li> +<li><a href="#index-config-files_002c-for-Kpathsea_002dusing-programs-801">config files, for Kpathsea-using programs</a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-config-files_002c-programming-with-818">config files, programming with</a>: <a href="#Programming-with-config-files">Programming with config files</a></li> +<li><a href="#index-config_002eh-778"><code>config.h</code></a>: <a href="#Programming-overview">Programming overview</a></li> +<li><a href="#index-config_002elog-291"><code>config.log</code></a>: <a href="#Bug-checklist">Bug checklist</a></li> +<li><a href="#index-config_002eps-566"><code>config.ps</code></a>: <a href="#Specially_002drecognized-files">Specially-recognized files</a></li> +<li><a href="#index-config_002eps_0040r_007b_002c-search-path-for_007d-611"><code>config.ps</code><span class="roman">, search path for</span></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-config_002estatus-293"><code>config.status</code></a>: <a href="#Bug-checklist">Bug checklist</a></li> +<li><a href="#index-configuration-27">configuration</a>: <a href="#Installation">Installation</a></li> +<li><a href="#index-configuration-bugs-292">configuration bugs</a>: <a href="#Bug-checklist">Bug checklist</a></li> +<li><a href="#index-configuration-compiler-options-118">configuration compiler options</a>: <a href="#configure-environment">configure environment</a></li> +<li><a href="#index-configuration-file_002c-source-for-path-450">configuration file, source for path</a>: <a href="#Path-sources">Path sources</a></li> +<li><a href="#index-configuration-files-as-shell-scripts_002e-470">configuration files as shell scripts.</a>: <a href="#Config-files">Config files</a></li> +<li><a href="#index-configuration-of-_0040file_007bmktex_007d-scripts-190">configuration of <samp><span class="file">mktex</span></samp> scripts</a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-configuration-of-optional-features-107">configuration of optional features</a>: <a href="#configure-options">configure options</a></li> +<li><a href="#index-configure-_0040r_007berror-from-_0040code_007bsed_007d_007d-386"><code>configure </code><span class="roman">error from </span><code>sed</code></a>: <a href="#Empty-Makefiles">Empty Makefiles</a></li> +<li><a href="#index-g_t_0040code_007bconfigure_007d-options-104"><code>configure</code> options</a>: <a href="#configure-options">configure options</a></li> +<li><a href="#index-g_t_0040code_007bconfigure_007d-options-for-_0040file_007bmktex_007d-scripts-193"><code>configure</code> options for <samp><span class="file">mktex</span></samp> scripts</a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-configure_0040r_007b_002c-running_007d-83"><code>configure</code><span class="roman">, running</span></a>: <a href="#Running-configure">Running configure</a></li> +<li><a href="#index-context-diff-294">context diff</a>: <a href="#Bug-checklist">Bug checklist</a></li> +<li><a href="#index-continuation-character-464">continuation character</a>: <a href="#Config-files">Config files</a></li> +<li><a href="#index-core-dumps_002c-reporting-300">core dumps, reporting</a>: <a href="#Bug-checklist">Bug checklist</a></li> +<li><a href="#index-CPPFLAGS-117"><code>CPPFLAGS</code></a>: <a href="#configure-environment">configure environment</a></li> +<li><a href="#index-crashes_002c-reporting-299">crashes, reporting</a>: <a href="#Bug-checklist">Bug checklist</a></li> +<li><a href="#index-custom-installation-39">custom installation</a>: <a href="#Custom-installation">Custom installation</a></li> +<li><a href="#index-CWEBINPUTS-609"><code>CWEBINPUTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-database-search-426">database search</a>: <a href="#Searching-overview">Searching overview</a></li> +<li><a href="#index-database_002c-for-filenames-519">database, for filenames</a>: <a href="#Filename-database">Filename database</a></li> +<li><a href="#index-database_002c-format-of-542">database, format of</a>: <a href="#Database-format">Database format</a></li> +<li><a href="#index-debug_002eh-318"><code>debug.h</code></a>: <a href="#Debugging">Debugging</a></li> +<li><a href="#index-debugger-298">debugger</a>: <a href="#Bug-checklist">Bug checklist</a></li> +<li><a href="#index-debugging-314">debugging</a>: <a href="#Debugging">Debugging</a></li> +<li><a href="#index-debugging-options_002c-in-Kpathsea_002dusing-program-797">debugging options, in Kpathsea-using program</a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-debugging-output-322">debugging output</a>: <a href="#Debugging">Debugging</a></li> +<li><a href="#index-debugging-with-_0040samp_007b_002dg_007d_002c-disabling-137">debugging with ‘<samp><span class="samp">-g</span></samp>’, disabling</a>: <a href="#configure-scenarios">configure scenarios</a></li> +<li><a href="#index-DEC-shells-and-_0040code_007bconfigure_007d-101">DEC shells and <code>configure</code></a>: <a href="#configure-shells">configure shells</a></li> +<li><a href="#index-default-expansion-479">default expansion</a>: <a href="#Default-expansion">Default expansion</a></li> +<li><a href="#index-default-path-features-66">default path features</a>: <a href="#Default-path-features">Default path features</a></li> +<li><a href="#index-default-paths_002c-changing-74">default paths, changing</a>: <a href="#Default-path-generation">Default path generation</a></li> +<li><a href="#index-default-paths_002c-how-they_0027re-made-78">default paths, how they're made</a>: <a href="#Default-path-generation">Default path generation</a></li> +<li><a href="#index-default_005ftexsizes-753"><code>default_texsizes</code></a>: <a href="#Fallback-font">Fallback font</a></li> +<li><a href="#index-DEFS-119"><code>DEFS</code></a>: <a href="#configure-environment">configure environment</a></li> +<li><a href="#index-depot-132"><code>depot</code></a>: <a href="#configure-scenarios">configure scenarios</a></li> +<li><a href="#index-device_002c-wrong-366">device, wrong</a>: <a href="#Unable-to-generate-fonts">Unable to generate fonts</a></li> +<li><a href="#index-directories_002c-changing-default-installation-77">directories, changing default installation</a>: <a href="#Default-path-generation">Default path generation</a></li> +<li><a href="#index-directories_002c-making-append_002donly-208">directories, making append-only</a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-directory-permissions-267">directory permissions</a>: <a href="#Security">Security</a></li> +<li><a href="#index-directory-structure_002c-for-_0040TeX_007b_007d-files-271">directory structure, for TeX files</a>: <a href="#TeX-directory-structure">TeX directory structure</a></li> +<li><a href="#index-disabling-_0040file_007bmktex_007d-scripts-192">disabling <samp><span class="file">mktex</span></samp> scripts</a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-disk-search-430">disk search</a>: <a href="#Searching-overview">Searching overview</a></li> +<li><a href="#index-disk-searching_002c-avoiding-538">disk searching, avoiding</a>: <a href="#ls_002dR">ls-R</a></li> +<li><a href="#index-disk-space_002c-needed-46">disk space, needed</a>: <a href="#Disk-space">Disk space</a></li> +<li><a href="#index-disk-usage_002c-reducing-345">disk usage, reducing</a>: <a href="#Logging">Logging</a></li> +<li><a href="#index-distclean-_0040r_007bMake-target_007d-176"><code>distclean </code><span class="roman">Make target</span></a>: <a href="#Cleaning-up">Cleaning up</a></li> +<li><a href="#index-distributions_002c-compiling-simultaneously-49">distributions, compiling simultaneously</a>: <a href="#Kpathsea-application-distributions">Kpathsea application distributions</a></li> +<li><a href="#index-distributions_002c-not-compiling-52">distributions, not compiling</a>: <a href="#Kpathsea-application-distributions">Kpathsea application distributions</a></li> +<li><a href="#index-dlclose-396"><code>dlclose</code></a>: <a href="#dlopen">dlopen</a></li> +<li><a href="#index-dlopen-394"><code>dlopen</code></a>: <a href="#dlopen">dlopen</a></li> +<li><a href="#index-dlsym-395"><code>dlsym</code></a>: <a href="#dlopen">dlopen</a></li> +<li><a href="#index-dlsym_002ec-399"><code>dlsym.c</code></a>: <a href="#dlopen">dlopen</a></li> +<li><a href="#index-doc-files-685"><code>doc files</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-DOS-compatible-names-212">DOS compatible names</a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-DOS-support-43">DOS support</a>: <a href="#Custom-installation">Custom installation</a></li> +<li><a href="#index-dosnames-210"><code>dosnames</code></a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-dot-files-527">dot files</a>: <a href="#ls_002dR">ls-R</a></li> +<li><a href="#index-doubled-colons-475">doubled colons</a>: <a href="#Default-expansion">Default expansion</a></li> +<li><a href="#index-dpi_0040var_007bnnn_007d-directories-213"><code>dpi</code><var>nnn</var><code> directories</code></a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-DVI-drivers-55">DVI drivers</a>: <a href="#Kpathsea-application-distributions">Kpathsea application distributions</a></li> +<li><a href="#index-DVILJMAKEPK-248"><code>DVILJMAKEPK</code></a>: <a href="#mktex-script-names">mktex script names</a></li> +<li><a href="#index-DVILJSIZES-751"><code>DVILJSIZES</code></a>: <a href="#Fallback-font">Fallback font</a></li> +<li><a href="#index-dvipdfmx_002ecfg-567"><code>dvipdfmx.cfg</code></a>: <a href="#Specially_002drecognized-files">Specially-recognized files</a></li> +<li><a href="#index-DVIPSFONTS-715"><code>DVIPSFONTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-DVIPSHEADERS-704"><code>DVIPSHEADERS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-DVIPSMAKEPK-246"><code>DVIPSMAKEPK</code></a>: <a href="#mktex-script-names">mktex script names</a></li> +<li><a href="#index-DVIPSSIZES-749"><code>DVIPSSIZES</code></a>: <a href="#Fallback-font">Fallback font</a></li> +<li><a href="#index-dynamic-creation-of-files-186">dynamic creation of files</a>: <a href="#mktex-scripts">mktex scripts</a></li> +<li><a href="#index-dynamic-linking-problems-with-OpenWin-libraries-400">dynamic linking problems with OpenWin libraries</a>: <a href="#ShellWidgetClass">ShellWidgetClass</a></li> +<li><a href="#index-EC-fonts_002c-and-dynamic-source-creation-188">EC fonts, and dynamic source creation</a>: <a href="#mktex-scripts">mktex scripts</a></li> +<li><a href="#index-elt_002ddirs_002ec-516"><code>elt-dirs.c</code></a>: <a href="#Subdirectory-expansion">Subdirectory expansion</a></li> +<li><a href="#index-enabling-_0040file_007bmktex_007d-scripts-191">enabling <samp><span class="file">mktex</span></samp> scripts</a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-ENCFONTS-613"><code>ENCFONTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-engine-name-553">engine name</a>: <a href="#Path-searching-options">Path searching options</a></li> +<li><a href="#index-environment-variable_002c-source-for-path-449">environment variable, source for path</a>: <a href="#Path-sources">Path sources</a></li> +<li><a href="#index-environment-variables-for-_0040TeX_007b_007d-590">environment variables for TeX</a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-environment-variables-in-paths-484">environment variables in paths</a>: <a href="#Variable-expansion">Variable expansion</a></li> +<li><a href="#index-environment-variables_002c-old-356">environment variables, old</a>: <a href="#Unable-to-find-files">Unable to find files</a></li> +<li><a href="#index-epoch_002c-seconds-since-347">epoch, seconds since</a>: <a href="#Logging">Logging</a></li> +<li><a href="#index-error-message-macros-789">error message macros</a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-excessive-startup-time-359">excessive startup time</a>: <a href="#Slow-path-searching">Slow path searching</a></li> +<li><a href="#index-expand_002ec-504"><code>expand.c</code></a>: <a href="#Brace-expansion">Brace expansion</a></li> +<li><a href="#index-expanding-symlinks-795">expanding symlinks</a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-expansion_002c-default-480">expansion, default</a>: <a href="#Default-expansion">Default expansion</a></li> +<li><a href="#index-expansion_002c-path-element-436">expansion, path element</a>: <a href="#Searching-overview">Searching overview</a></li> +<li><a href="#index-expansion_002c-search-path-473">expansion, search path</a>: <a href="#Path-expansion">Path expansion</a></li> +<li><a href="#index-expansion_002c-subdirectory-508">expansion, subdirectory</a>: <a href="#Subdirectory-expansion">Subdirectory expansion</a></li> +<li><a href="#index-expansion_002c-tilde-494">expansion, tilde</a>: <a href="#Tilde-expansion">Tilde expansion</a></li> +<li><a href="#index-expansion_002c-variable-486">expansion, variable</a>: <a href="#Variable-expansion">Variable expansion</a></li> +<li><a href="#index-explicitly-relative-filenames-439">explicitly relative filenames</a>: <a href="#Searching-overview">Searching overview</a></li> +<li><a href="#index-extensions_002c-filename-719">extensions, filename</a>: <a href="#File-lookup">File lookup</a></li> +<li><a href="#index-externally_002dbuilt-filename-database-520">externally-built filename database</a>: <a href="#Filename-database">Filename database</a></li> +<li><a href="#index-extra-colons-478">extra colons</a>: <a href="#Default-expansion">Default expansion</a></li> +<li><a href="#index-extraclean-_0040r_007bMake-target_007d-180"><code>extraclean </code><span class="roman">Make target</span></a>: <a href="#Cleaning-up">Cleaning up</a></li> +<li><a href="#index-failed-_0040code_007bmktex_0040dots_007b_007d_007d-script-invocation-250">failed <code>mktex...</code> script invocation</a>: <a href="#mktex-script-names">mktex script names</a></li> +<li><a href="#index-fallback-font-744">fallback font</a>: <a href="#Fallback-font">Fallback font</a></li> +<li><a href="#index-fallback-resolutions-745">fallback resolutions</a>: <a href="#Fallback-font">Fallback font</a></li> +<li><a href="#index-fallback-resolutions_002c-overriding-144">fallback resolutions, overriding</a>: <a href="#Running-make">Running make</a></li> +<li><a href="#index-FAQ_002c-_0040t_007bcomp_002esys_002esun_002eadmin_007d-405">FAQ, <tt>comp.sys.sun.admin</tt></a>: <a href="#ShellWidgetClass">ShellWidgetClass</a></li> +<li><a href="#index-FAQ_002c-Kpathsea-352">FAQ, Kpathsea</a>: <a href="#Common-problems">Common problems</a></li> +<li><a href="#index-Farwell_002c-Matthew-512">Farwell, Matthew</a>: <a href="#Subdirectory-expansion">Subdirectory expansion</a></li> +<li><a href="#index-features_002c-of-default-paths-67">features, of default paths</a>: <a href="#Default-path-features">Default path features</a></li> +<li><a href="#index-file-formats_002c-supported-589">file formats, supported</a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-file-lookup-716">file lookup</a>: <a href="#File-lookup">File lookup</a></li> +<li><a href="#index-file-permissions-265">file permissions</a>: <a href="#Security">Security</a></li> +<li><a href="#index-file-types_002c-registering-new-780">file types, registering new</a>: <a href="#Programming-overview">Programming overview</a></li> +<li><a href="#index-filename-aliases-539">filename aliases</a>: <a href="#Filename-aliases">Filename aliases</a></li> +<li><a href="#index-filename-database-518">filename database</a>: <a href="#Filename-database">Filename database</a></li> +<li><a href="#index-filename-database-generation-181">filename database generation</a>: <a href="#Filename-database-generation">Filename database generation</a></li> +<li><a href="#index-filenames_002c-absolute-or-explicitly-relative-440">filenames, absolute or explicitly relative</a>: <a href="#Searching-overview">Searching overview</a></li> +<li><a href="#index-files_002c-unable-to-find-354">files, unable to find</a>: <a href="#Unable-to-find-files">Unable to find files</a></li> +<li><a href="#index-filesystem-search-429">filesystem search</a>: <a href="#Searching-overview">Searching overview</a></li> +<li><a href="#index-floating-directories-428">floating directories</a>: <a href="#Searching-overview">Searching overview</a></li> +<li><a href="#index-fmtutil-239"><code>fmtutil</code></a>: <a href="#mktex-script-names">mktex script names</a></li> +<li><a href="#index-fmtutil_002ecnf-568"><code>fmtutil.cnf</code></a>: <a href="#Specially_002drecognized-files">Specially-recognized files</a></li> +<li><a href="#index-fmtutils_002ecnf-201"><code>fmtutils.cnf</code></a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-font-alias-files-735">font alias files</a>: <a href="#Fontmap">Fontmap</a></li> +<li><a href="#index-font-generation-failures-363">font generation failures</a>: <a href="#Unable-to-generate-fonts">Unable to generate fonts</a></li> +<li><a href="#index-font-of-last-resort-746">font of last resort</a>: <a href="#Fallback-font">Fallback font</a></li> +<li><a href="#index-font-set_002c-infinite-185">font set, infinite</a>: <a href="#mktex-scripts">mktex scripts</a></li> +<li><a href="#index-FONTCIDMAPS-618"><code>FONTCIDMAPS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-FONTFEATURES-620"><code>FONTFEATURES</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-fontmap-files-734">fontmap files</a>: <a href="#Fontmap">Fontmap</a></li> +<li><a href="#index-fontmaps-214"><code>fontmaps</code></a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-fontname-216">fontname</a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-fontnames_002c-arbitrary-length-738">fontnames, arbitrary length</a>: <a href="#Fontmap">Fontmap</a></li> +<li><a href="#index-fonts_002c-being-created-36">fonts, being created</a>: <a href="#Simple-installation">Simple installation</a></li> +<li><a href="#index-FOOINPUTS-712"><code>FOOINPUTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-fopen_0040r_007b_002c-redefined_007d-329"><code>fopen</code><span class="roman">, redefined</span></a>: <a href="#Debugging">Debugging</a></li> +<li><a href="#index-format-of-external-database-541">format of external database</a>: <a href="#Database-format">Database format</a></li> +<li><a href="#index-FreeBSD-_0040code_007bconfigure_007d-error-388">FreeBSD <code>configure</code> error</a>: <a href="#Empty-Makefiles">Empty Makefiles</a></li> +<li><a href="#index-FreeBSD-shells-and-_0040code_007bconfigure_007d-99">FreeBSD shells and <code>configure</code></a>: <a href="#configure-shells">configure shells</a></li> +<li><a href="#index-ftp_002ecs_002estanford_002eedu-280"><code>ftp.cs.stanford.edu</code></a>: <a href="#unixtex_002eftp">unixtex.ftp</a></li> +<li><a href="#index-ftp_002etug_002eorg-279"><code>ftp.tug.org</code></a>: <a href="#unixtex_002eftp">unixtex.ftp</a></li> +<li><a href="#index-fundamental-purpose-of-Kpathsea-2">fundamental purpose of Kpathsea</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-gcc_0040r_007b_002c-compiling-with_007d-113"><code>gcc</code><span class="roman">, compiling with</span></a>: <a href="#configure-environment">configure environment</a></li> +<li><a href="#index-gdb_0040r_007b_002c-recommended_007d-302"><code>gdb</code><span class="roman">, recommended</span></a>: <a href="#Bug-checklist">Bug checklist</a></li> +<li><a href="#index-generation-of-filename-database-182">generation of filename database</a>: <a href="#Filename-database-generation">Filename database generation</a></li> +<li><a href="#index-get_005fapplicationShellWidgetClass-403"><code>get_applicationShellWidgetClass</code></a>: <a href="#ShellWidgetClass">ShellWidgetClass</a></li> +<li><a href="#index-get_005fwmShellWidgetClass-402"><code>get_wmShellWidgetClass</code></a>: <a href="#ShellWidgetClass">ShellWidgetClass</a></li> +<li><a href="#index-gf-621"><code>gf</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-GFFONTS-622"><code>GFFONTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-globally-writable-directories-261">globally writable directories</a>: <a href="#Security">Security</a></li> +<li><a href="#index-glyph-lookup-724">glyph lookup</a>: <a href="#Glyph-lookup">Glyph lookup</a></li> +<li><a href="#index-glyph-lookup-bitmap-tolerance-732">glyph lookup bitmap tolerance</a>: <a href="#Basic-glyph-lookup">Basic glyph lookup</a></li> +<li><a href="#index-GLYPHFONTS-623"><code>GLYPHFONTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-glyphlist_002etxt-569"><code>glyphlist.txt</code></a>: <a href="#Specially_002drecognized-files">Specially-recognized files</a></li> +<li><a href="#index-GNU-C-compiler-bugs-378">GNU C compiler bugs</a>: <a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></li> +<li><a href="#index-GNU-General-Public-License-9">GNU General Public License</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-group_002dwritable-directories-263">group-writable directories</a>: <a href="#Security">Security</a></li> +<li><a href="#index-GSFTOPK_005fDEBUG-_0040r_007b_0028128_0029_007d-335"><code>GSFTOPK_DEBUG </code><span class="roman">(128)</span></a>: <a href="#Debugging">Debugging</a></li> +<li><a href="#index-hash-table-buckets_002c-printing-340">hash table buckets, printing</a>: <a href="#Debugging">Debugging</a></li> +<li><a href="#index-hash-table-routines-809">hash table routines</a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-hash_005fsummary_005fonly-_0040r_007bvariable-for-debugging_007d-339"><code>hash_summary_only </code><span class="roman">variable for debugging</span></a>: <a href="#Debugging">Debugging</a></li> +<li><a href="#index-help_002c-mailing-list-for-general-_0040TeX_007b_007d-311">help, mailing list for general TeX</a>: <a href="#Mailing-lists">Mailing lists</a></li> +<li><a href="#index-history-of-Kpathsea-11">history of Kpathsea</a>: <a href="#History">History</a></li> +<li><a href="#index-home-directories-in-paths-492">home directories in paths</a>: <a href="#Tilde-expansion">Tilde expansion</a></li> +<li><a href="#index-HOME_0040r_007b_002c-as-_007e-expansion_007d-495"><code>HOME</code><span class="roman">, as ~ expansion</span></a>: <a href="#Tilde-expansion">Tilde expansion</a></li> +<li><a href="#index-HP_002dUX_002c-compiling-on-382">HP-UX, compiling on</a>: <a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></li> +<li><a href="#index-identifiers_002c-characters-valid-in-467">identifiers, characters valid in</a>: <a href="#Config-files">Config files</a></li> +<li><a href="#index-illegal-pointer-combination-warnings-416">illegal pointer combination warnings</a>: <a href="#Pointer-combination-warnings">Pointer combination warnings</a></li> +<li><a href="#index-include-_0040r_007bfontmap-directive_007d-743"><code>include </code><span class="roman">fontmap directive</span></a>: <a href="#Fontmap">Fontmap</a></li> +<li><a href="#index-INDEXSTYLE-631"><code>INDEXSTYLE</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-info_002dtex_0040_0040shsu_002eedu-312"><code>info-tex@shsu.edu</code></a>: <a href="#Mailing-lists">Mailing lists</a></li> +<li><a href="#index-input-lines_002c-reading-813">input lines, reading</a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-install_002ddata-_0040r_007bMake-target_007d-170"><code>install-data </code><span class="roman">Make target</span></a>: <a href="#Installing-files">Installing files</a></li> +<li><a href="#index-install_002dexec-_0040r_007bMake-target_007d-169"><code>install-exec </code><span class="roman">Make target</span></a>: <a href="#Installing-files">Installing files</a></li> +<li><a href="#index-installation-26">installation</a>: <a href="#Installation">Installation</a></li> +<li><a href="#index-installation-testing-255">installation testing</a>: <a href="#Installation-testing">Installation testing</a></li> +<li><a href="#index-installation_002c-architecture_002d_0028in_0029dependent-files-only-168">installation, architecture-(in)dependent files only</a>: <a href="#Installing-files">Installing files</a></li> +<li><a href="#index-installation_002c-changing-default-directories-76">installation, changing default directories</a>: <a href="#Default-path-generation">Default path generation</a></li> +<li><a href="#index-installation_002c-customized-40">installation, customized</a>: <a href="#Custom-installation">Custom installation</a></li> +<li><a href="#index-installation_002c-getting-executables-instead-of-32">installation, getting executables instead of</a>: <a href="#Simple-installation">Simple installation</a></li> +<li><a href="#index-installation_002c-simple-30">installation, simple</a>: <a href="#Simple-installation">Simple installation</a></li> +<li><a href="#index-installing-files-165">installing files</a>: <a href="#Installing-files">Installing files</a></li> +<li><a href="#index-interactive-query-556">interactive query</a>: <a href="#Path-searching-options">Path searching options</a></li> +<li><a href="#index-interface_002c-not-frozen-4">interface, not frozen</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-introduction-1">introduction</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-g_t_0040samp_007bkdebug_003a_007d-338">‘<samp><span class="samp">kdebug:</span></samp>’</a>: <a href="#Debugging">Debugging</a></li> +<li><a href="#index-kdefault_002ec-482"><code>kdefault.c</code></a>: <a href="#Default-expansion">Default expansion</a></li> +<li><a href="#index-Knuth_002c-Donald-E_002e-12">Knuth, Donald E.</a>: <a href="#History">History</a></li> +<li><a href="#index-Knuth_002c-Donald-E_002e_002c-archive-of-programs-by-282">Knuth, Donald E., archive of programs by</a>: <a href="#unixtex_002eftp">unixtex.ftp</a></li> +<li><a href="#index-Korn-shell_0040r_007b_002c-losing-with-_0040code_007bconfigure_007d_007d-95">Korn shell<span class="roman">, losing with </span><code>configure</code></a>: <a href="#configure-shells">configure shells</a></li> +<li><a href="#index-kpathsae_005fvar_005fvalue-819"><code>kpathsae_var_value</code></a>: <a href="#Programming-with-config-files">Programming with config files</a></li> +<li><a href="#index-Kpathsea-config-file_002c-source-for-path-451">Kpathsea config file, source for path</a>: <a href="#Path-sources">Path sources</a></li> +<li><a href="#index-Kpathsea-version-number-51">Kpathsea version number</a>: <a href="#Kpathsea-application-distributions">Kpathsea application distributions</a></li> +<li><a href="#index-kpathsea_002eh-777"><code>kpathsea.h</code></a>: <a href="#Programming-overview">Programming overview</a></li> +<li><a href="#index-kpathsea_002fREADME_002eCONFIGURE-90"><code>kpathsea/README.CONFIGURE</code></a>: <a href="#Running-configure">Running configure</a></li> +<li><a href="#index-kpathsea_005fcnf_005fget-822"><code>kpathsea_cnf_get</code></a>: <a href="#Programming-with-config-files">Programming with config files</a></li> +<li><a href="#index-KPATHSEA_005fDEBUG-790"><code>KPATHSEA_DEBUG</code></a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-KPATHSEA_005fDEBUG-319"><code>KPATHSEA_DEBUG</code></a>: <a href="#Debugging">Debugging</a></li> +<li><a href="#index-kpathsea_005ffind_005ffile-804"><code>kpathsea_find_file</code></a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-kpathsea_005ffind_005ffile-723"><code>kpathsea_find_file</code></a>: <a href="#File-lookup">File lookup</a></li> +<li><a href="#index-kpathsea_005ffind_005fglyph-728"><code>kpathsea_find_glyph</code></a>: <a href="#Glyph-lookup">Glyph lookup</a></li> +<li><a href="#index-kpathsea_005ffinish-808"><code>kpathsea_finish</code></a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-kpathsea_005fin_005fname_005fok-807"><code>kpathsea_in_name_ok</code></a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-kpathsea_005finit_005fprog-802"><code>kpathsea_init_prog</code></a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-kpathsea_005finit_005fprog-755"><code>kpathsea_init_prog</code></a>: <a href="#Fallback-font">Fallback font</a></li> +<li><a href="#index-kpathsea_005fnew-783"><code>kpathsea_new</code></a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-kpathsea_005fopen_005ffile-805"><code>kpathsea_open_file</code></a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-kpathsea_005fout_005fname_005fok-806"><code>kpathsea_out_name_ok</code></a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-kpathsea_005fset_005fprogram_005fname-784"><code>kpathsea_set_program_name</code></a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-KPATHSEA_005fWARNING-458"><code>KPATHSEA_WARNING</code></a>: <a href="#Config-files">Config files</a></li> +<li><a href="#index-kpse_002d_003edebug-317"><code>kpse->debug</code></a>: <a href="#Debugging">Debugging</a></li> +<li><a href="#index-kpse_002d_003edebug-_0040r_007bvariable_007d-796"><code>kpse->debug </code><span class="roman">variable</span></a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-kpse_002d_003eformat_005finfo-799"><code>kpse->format_info</code></a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-kpse_002d_003einvocation_005fname-786"><code>kpse->invocation_name</code></a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-kpse_002d_003einvocation_005fshort_005fname-787"><code>kpse->invocation_short_name</code></a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-kpse_002d_003eprogram_005fname-788"><code>kpse->program_name</code></a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-KPSE_005fBITMAP_005fTOLERANCE-733"><code>KPSE_BITMAP_TOLERANCE</code></a>: <a href="#Basic-glyph-lookup">Basic glyph lookup</a></li> +<li><a href="#index-KPSE_005fDEBUG_005fEXPAND-_0040r_007b_002816_0029_007d-332"><code>KPSE_DEBUG_EXPAND </code><span class="roman">(16)</span></a>: <a href="#Debugging">Debugging</a></li> +<li><a href="#index-KPSE_005fDEBUG_005fFOPEN-_0040r_007b_00284_0029_007d-328"><code>KPSE_DEBUG_FOPEN </code><span class="roman">(4)</span></a>: <a href="#Debugging">Debugging</a></li> +<li><a href="#index-KPSE_005fDEBUG_005fHASH-_0040r_007b_00282_0029_007d-327"><code>KPSE_DEBUG_HASH </code><span class="roman">(2)</span></a>: <a href="#Debugging">Debugging</a></li> +<li><a href="#index-KPSE_005fDEBUG_005fPATHS-_0040r_007b_00288_0029_007d-330"><code>KPSE_DEBUG_PATHS </code><span class="roman">(8)</span></a>: <a href="#Debugging">Debugging</a></li> +<li><a href="#index-KPSE_005fDEBUG_005fSEARCH-_0040r_007b_002832_0029_007d-333"><code>KPSE_DEBUG_SEARCH </code><span class="roman">(32)</span></a>: <a href="#Debugging">Debugging</a></li> +<li><a href="#index-KPSE_005fDEBUG_005fSTAT-_0040r_007b_00281_0029_007d-326"><code>KPSE_DEBUG_STAT </code><span class="roman">(1)</span></a>: <a href="#Debugging">Debugging</a></li> +<li><a href="#index-KPSE_005fDEBUG_005fVARS-_0040r_007b_002864_0029_007d-334"><code>KPSE_DEBUG_VARS </code><span class="roman">(64)</span></a>: <a href="#Debugging">Debugging</a></li> +<li><a href="#index-KPSE_005fDOT-_0040r_007bexpansion_007d-505"><code>KPSE_DOT </code><span class="roman">expansion</span></a>: <a href="#KPSE_005fDOT-expansion">KPSE_DOT expansion</a></li> +<li><a href="#index-kpse_005fformat_005finfo_005ftype-331"><code>kpse_format_info_type</code></a>: <a href="#Debugging">Debugging</a></li> +<li><a href="#index-kpse_005finit_005fprog_0040r_007b_002c-and-_0040code_007bMAKETEX_005fMODE_007d_007d-70"><code>kpse_init_prog</code><span class="roman">, and </span><code>MAKETEX_MODE</code></a>: <a href="#Default-path-features">Default path features</a></li> +<li><a href="#index-kpsewhich-543"><code>kpsewhich</code></a>: <a href="#Invoking-kpsewhich">Invoking kpsewhich</a></li> +<li><a href="#index-Kpsewhich_002c-and-debugging-324">Kpsewhich, and debugging</a>: <a href="#Debugging">Debugging</a></li> +<li><a href="#index-ksh_0040r_007b_002c-losing-with-_0040code_007bconfigure_007d_007d-93"><code>ksh</code><span class="roman">, losing with </span><code>configure</code></a>: <a href="#configure-shells">configure shells</a></li> +<li><a href="#index-LaserJet-drive-57">LaserJet drive</a>: <a href="#Kpathsea-application-distributions">Kpathsea application distributions</a></li> +<li><a href="#index-last_002dresort-font-748">last-resort font</a>: <a href="#Fallback-font">Fallback font</a></li> +<li><a href="#index-La_0040TeX_007b_007d-help-mailing-list-308">LaTeX help mailing list</a>: <a href="#Mailing-lists">Mailing lists</a></li> +<li><a href="#index-lcircle10-740"><code>lcircle10</code></a>: <a href="#Fontmap">Fontmap</a></li> +<li><a href="#index-LDFLAGS-121"><code>LDFLAGS</code></a>: <a href="#configure-environment">configure environment</a></li> +<li><a href="#index-leading-colons-476">leading colons</a>: <a href="#Default-expansion">Default expansion</a></li> +<li><a href="#index-leaf-directories-wrongly-guessed-358">leaf directories wrongly guessed</a>: <a href="#Unable-to-find-files">Unable to find files</a></li> +<li><a href="#index-leaf-directory-trick-511">leaf directory trick</a>: <a href="#Subdirectory-expansion">Subdirectory expansion</a></li> +<li><a href="#index-libdl_002ea-398"><code>libdl.a</code></a>: <a href="#dlopen">dlopen</a></li> +<li><a href="#index-libraries_002c-changing-157">libraries, changing</a>: <a href="#Running-make">Running make</a></li> +<li><a href="#index-libraries_002c-specifying-additional-124">libraries, specifying additional</a>: <a href="#configure-environment">configure environment</a></li> +<li><a href="#index-LIBS-123"><code>LIBS</code></a>: <a href="#configure-environment">configure environment</a></li> +<li><a href="#index-libucb_0040r_007b_002c-avoiding_007d-162"><code>libucb</code><span class="roman">, avoiding</span></a>: <a href="#Running-make">Running make</a></li> +<li><a href="#index-license-for-using-the-library-8">license for using the library</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-LIGFONTS-633"><code>LIGFONTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-lines_002c-reading-arbitrary_002dlength-814">lines, reading arbitrary-length</a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-Linux-File-System-Standard-231">Linux File System Standard</a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-Linux-shells-and-_0040code_007bconfigure_007d-100">Linux shells and <code>configure</code></a>: <a href="#configure-shells">configure shells</a></li> +<li><a href="#index-lndir-_0040r_007bfor-building-symlink-trees_007d-130"><code>lndir </code><span class="roman">for building symlink trees</span></a>: <a href="#configure-scenarios">configure scenarios</a></li> +<li><a href="#index-loader-options-122">loader options</a>: <a href="#configure-environment">configure environment</a></li> +<li><a href="#index-loader-options_002c-final-153">loader options, final</a>: <a href="#Running-make">Running make</a></li> +<li><a href="#index-loader-options_002c-initial-151">loader options, initial</a>: <a href="#Running-make">Running make</a></li> +<li><a href="#index-local-cache-of-fonts-259">local cache of fonts</a>: <a href="#Security">Security</a></li> +<li><a href="#index-log-file-341">log file</a>: <a href="#Logging">Logging</a></li> +<li><a href="#index-logging-successful-searches-342">logging successful searches</a>: <a href="#Logging">Logging</a></li> +<li><a href="#index-lost_002bfound-_0040r_007bdirectory_007d-445"><code>lost+found </code><span class="roman">directory</span></a>: <a href="#Searching-overview">Searching overview</a></li> +<li><a href="#index-lostchar-762"><code>lostchar</code></a>: <a href="#Suppressing-warnings">Suppressing warnings</a></li> +<li><a href="#index-ls_002dR-634"><code>ls-R</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-ls_002dR-_0040r_007band-AFS_007d-174"><code>ls-R </code><span class="roman">and AFS</span></a>: <a href="#Installing-files">Installing files</a></li> +<li><a href="#index-ls_002dR-_0040r_007bdatabase-file_007d-521"><code>ls-R </code><span class="roman">database file</span></a>: <a href="#ls_002dR">ls-R</a></li> +<li><a href="#index-ls_002dR_0040r_007b_002c-simplest-build_007d-523"><code>ls-R</code><span class="roman">, simplest build</span></a>: <a href="#ls_002dR">ls-R</a></li> +<li><a href="#index-Mach10-_0040code_007bconfigure_007d-error-389">Mach10 <code>configure</code> error</a>: <a href="#Empty-Makefiles">Empty Makefiles</a></li> +<li><a href="#index-MacKenzie_002c-David-513">MacKenzie, David</a>: <a href="#Subdirectory-expansion">Subdirectory expansion</a></li> +<li><a href="#index-MacKenzie_002c-David-21">MacKenzie, David</a>: <a href="#History">History</a></li> +<li><a href="#index-magic-characters-423">magic characters</a>: <a href="#Searching-overview">Searching overview</a></li> +<li><a href="#index-mailing-lists-303">mailing lists</a>: <a href="#Mailing-lists">Mailing lists</a></li> +<li><a href="#index-maintainer_002dclean-_0040r_007bMake-target_007d-179"><code>maintainer-clean </code><span class="roman">Make target</span></a>: <a href="#Cleaning-up">Cleaning up</a></li> +<li><a href="#index-Make-arguments_002c-additional-155">Make arguments, additional</a>: <a href="#Running-make">Running make</a></li> +<li><a href="#index-make_0040r_007b_002c-running_007d-141"><code>make</code><span class="roman">, running</span></a>: <a href="#Running-make">Running make</a></li> +<li><a href="#index-Makefile_002ein-85"><code>Makefile.in</code></a>: <a href="#Running-configure">Running configure</a></li> +<li><a href="#index-Makefiles_002c-empty-384">Makefiles, empty</a>: <a href="#Empty-Makefiles">Empty Makefiles</a></li> +<li><a href="#index-MAKETEX_005fDEBUG-_0040r_007b_0028512_0029_007d-336"><code>MAKETEX_DEBUG </code><span class="roman">(512)</span></a>: <a href="#Debugging">Debugging</a></li> +<li><a href="#index-MAKETEX_005fFINE_005fDEBUG-_0040r_007b_00281024_0029_007d-337"><code>MAKETEX_FINE_DEBUG </code><span class="roman">(1024)</span></a>: <a href="#Debugging">Debugging</a></li> +<li><a href="#index-MAKETEX_005fMODE-68"><code>MAKETEX_MODE</code></a>: <a href="#Default-path-features">Default path features</a></li> +<li><a href="#index-memory-allocation-routines-810">memory allocation routines</a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-metafont-driver-files-218">metafont driver files</a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-Metafont-failures-375">Metafont failures</a>: <a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></li> +<li><a href="#index-Metafont-installation-373">Metafont installation</a>: <a href="#Unable-to-generate-fonts">Unable to generate fonts</a></li> +<li><a href="#index-Metafont-making-too_002dlarge-fonts-369">Metafont making too-large fonts</a>: <a href="#Unable-to-generate-fonts">Unable to generate fonts</a></li> +<li><a href="#index-Metafont-using-the-wrong-device-365">Metafont using the wrong device</a>: <a href="#Unable-to-generate-fonts">Unable to generate fonts</a></li> +<li><a href="#index-MFBASES-596"><code>MFBASES</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-MFINPUTS-643"><code>MFINPUTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-MFPOOL-645"><code>MFPOOL</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-MFTINPUTS-647"><code>MFTINPUTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-MISCFONTS-648"><code>MISCFONTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-mismatched-checksum-warnings-761">mismatched checksum warnings</a>: <a href="#Suppressing-warnings">Suppressing warnings</a></li> +<li><a href="#index-missfont_002elog-249"><code>missfont.log</code></a>: <a href="#mktex-script-names">mktex script names</a></li> +<li><a href="#index-MISSFONT_005fLOG-252"><code>MISSFONT_LOG</code></a>: <a href="#mktex-script-names">mktex script names</a></li> +<li><a href="#index-missing-character-warnings-763">missing character warnings</a>: <a href="#Suppressing-warnings">Suppressing warnings</a></li> +<li><a href="#index-mkocp-241"><code>mkocp</code></a>: <a href="#mktex-script-names">mktex script names</a></li> +<li><a href="#index-mkofm-242"><code>mkofm</code></a>: <a href="#mktex-script-names">mktex script names</a></li> +<li><a href="#index-g_t_0040file_007bmktex_007d-script-configuration-189"><samp><span class="file">mktex</span></samp> script configuration</a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-g_t_0040file_007bmktex_007d-script-names-236"><samp><span class="file">mktex</span></samp> script names</a>: <a href="#mktex-script-names">mktex script names</a></li> +<li><a href="#index-g_t_0040file_007bmktex_007d-scripts-183"><samp><span class="file">mktex</span></samp> scripts</a>: <a href="#mktex-scripts">mktex scripts</a></li> +<li><a href="#index-mktex_002ecnf-570"><code>mktex.cnf</code></a>: <a href="#Specially_002drecognized-files">Specially-recognized files</a></li> +<li><a href="#index-mktex_002ecnf-202"><code>mktex.cnf</code></a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-mktex_002eopt-203"><code>mktex.opt</code></a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-mktexdir-209"><code>mktexdir</code></a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-mktexfmt-238"><code>mktexfmt</code></a>: <a href="#mktex-script-names">mktex script names</a></li> +<li><a href="#index-mktexmf-240"><code>mktexmf</code></a>: <a href="#mktex-script-names">mktex script names</a></li> +<li><a href="#index-mktexpk-243"><code>mktexpk</code></a>: <a href="#mktex-script-names">mktex script names</a></li> +<li><a href="#index-mktexpk-_0040r_007b_002c-initial-runs_007d-37"><code>mktexpk </code><span class="roman">, initial runs</span></a>: <a href="#Simple-installation">Simple installation</a></li> +<li><a href="#index-g_t_0040code_007bmktexpk_007d-can_0027t-guess-mode-364"><code>mktexpk</code> can't guess mode</a>: <a href="#Unable-to-generate-fonts">Unable to generate fonts</a></li> +<li><a href="#index-mktextex-244"><code>mktextex</code></a>: <a href="#mktex-script-names">mktex script names</a></li> +<li><a href="#index-mktextfm-245"><code>mktextfm</code></a>: <a href="#mktex-script-names">mktex script names</a></li> +<li><a href="#index-MLBIBINPUTS-650"><code>MLBIBINPUTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-MLBSTINPUTS-654"><code>MLBSTINPUTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-mode-directory_002c-omitting-220">mode directory, omitting</a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-Morgan_002c-Tim-13">Morgan, Tim</a>: <a href="#History">History</a></li> +<li><a href="#index-mostlyclean-_0040r_007bMake-target_007d-177"><code>mostlyclean </code><span class="roman">Make target</span></a>: <a href="#Cleaning-up">Cleaning up</a></li> +<li><a href="#index-MPINPUTS-657"><code>MPINPUTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-MPMEMS-639"><code>MPMEMS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-MPPOOL-659"><code>MPPOOL</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-MPSUPPORT-641"><code>MPSUPPORT</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-MT_005fFEATURES-206"><code>MT_FEATURES</code></a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-multiple-architectures_002c-compiling-on-126">multiple architectures, compiling on</a>: <a href="#configure-scenarios">configure scenarios</a></li> +<li><a href="#index-multiple-architectures_002c-directories-for-131">multiple architectures, directories for</a>: <a href="#configure-scenarios">configure scenarios</a></li> +<li><a href="#index-multiple-architectures_002c-installing-on-166">multiple architectures, installing on</a>: <a href="#Installing-files">Installing files</a></li> +<li><a href="#index-multiple-_0040TeX_007b_007d-hierarchies-503">multiple TeX hierarchies</a>: <a href="#Brace-expansion">Brace expansion</a></li> +<li><a href="#index-must-exist-432">must exist</a>: <a href="#Searching-overview">Searching overview</a></li> +<li><a href="#index-names-for-_0040file_007bmktex_007d-scripts-237">names for <samp><span class="file">mktex</span></samp> scripts</a>: <a href="#mktex-script-names">mktex script names</a></li> +<li><a href="#index-NetBSD-_0040code_007bconfigure_007d-error-387">NetBSD <code>configure</code> error</a>: <a href="#Empty-Makefiles">Empty Makefiles</a></li> +<li><a href="#index-NetBSD-shells-and-_0040code_007bconfigure_007d-98">NetBSD shells and <code>configure</code></a>: <a href="#configure-shells">configure shells</a></li> +<li><a href="#index-Neumann_002c-Gustaf-24">Neumann, Gustaf</a>: <a href="#History">History</a></li> +<li><a href="#index-newsgroup-for-_0040TeX_007b_007d-310">newsgroup for TeX</a>: <a href="#Mailing-lists">Mailing lists</a></li> +<li><a href="#index-NeXT-_0040code_007bsed_007d-error-391">NeXT <code>sed</code> error</a>: <a href="#Empty-Makefiles">Empty Makefiles</a></li> +<li><a href="#index-NeXT_002c-lacking-X11-53">NeXT, lacking X11</a>: <a href="#Kpathsea-application-distributions">Kpathsea application distributions</a></li> +<li><a href="#index-NFS-and-_0040file_007bls_002dR_007d-534">NFS and <samp><span class="file">ls-R</span></samp></a>: <a href="#ls_002dR">ls-R</a></li> +<li><a href="#index-nomfdrivers-217"><code>nomfdrivers</code></a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-nomode-219"><code>nomode</code></a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-non_002dEnglish-typesetting-62">non-English typesetting</a>: <a href="#Kpathsea-application-distributions">Kpathsea application distributions</a></li> +<li><a href="#index-non_002dUnix-operating-systems-41">non-Unix operating systems</a>: <a href="#Custom-installation">Custom installation</a></li> +<li><a href="#index-none-764"><code>none</code></a>: <a href="#Suppressing-warnings">Suppressing warnings</a></li> +<li><a href="#index-null-pointers_002c-dereferencing-301">null pointers, dereferencing</a>: <a href="#Bug-checklist">Bug checklist</a></li> +<li><a href="#index-numeric-debugging-values-325">numeric debugging values</a>: <a href="#Debugging">Debugging</a></li> +<li><a href="#index-obtaining-_0040TeX_007b_007d-274">obtaining TeX</a>: <a href="#unixtex_002eftp">unixtex.ftp</a></li> +<li><a href="#index-OCPINPUTS-661"><code>OCPINPUTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-OFMFONTS-663"><code>OFMFONTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-online-Metafont-display_002c-spurious-371">online Metafont display, spurious</a>: <a href="#Unable-to-generate-fonts">Unable to generate fonts</a></li> +<li><a href="#index-OPENTYPEFONTS-664"><code>OPENTYPEFONTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-OpenWin-libraries_002c-dynamic-linking-problems-401">OpenWin libraries, dynamic linking problems</a>: <a href="#ShellWidgetClass">ShellWidgetClass</a></li> +<li><a href="#index-optimization-caveat-377">optimization caveat</a>: <a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></li> +<li><a href="#index-optimization_002c-enabling-136">optimization, enabling</a>: <a href="#configure-scenarios">configure scenarios</a></li> +<li><a href="#index-options-for-debugging-316">options for debugging</a>: <a href="#Debugging">Debugging</a></li> +<li><a href="#index-options-to-_0040code_007bconfigure_007d-108">options to <code>configure</code></a>: <a href="#configure-options">configure options</a></li> +<li><a href="#index-OS_002f2-support-44">OS/2 support</a>: <a href="#Custom-installation">Custom installation</a></li> +<li><a href="#index-OTPINPUTS-667"><code>OTPINPUTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-overview-of-path-searching-421">overview of path searching</a>: <a href="#Searching-overview">Searching overview</a></li> +<li><a href="#index-overview-of-programming-with-Kpathsea-771">overview of programming with Kpathsea</a>: <a href="#Programming-overview">Programming overview</a></li> +<li><a href="#index-OVFFONTS-669"><code>OVFFONTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-OVPFONTS-671"><code>OVPFONTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-patches_002c-Sun-OpenWin-408">patches, Sun OpenWin</a>: <a href="#ShellWidgetClass">ShellWidgetClass</a></li> +<li><a href="#index-path-expansion-472">path expansion</a>: <a href="#Path-expansion">Path expansion</a></li> +<li><a href="#index-path-searching-418">path searching</a>: <a href="#Path-searching">Path searching</a></li> +<li><a href="#index-path-searching-options-546">path searching options</a>: <a href="#Path-searching-options">Path searching options</a></li> +<li><a href="#index-path-searching_002c-overview-420">path searching, overview</a>: <a href="#Searching-overview">Searching overview</a></li> +<li><a href="#index-path-searching_002c-standalone-544">path searching, standalone</a>: <a href="#Invoking-kpsewhich">Invoking kpsewhich</a></li> +<li><a href="#index-path-sources-447">path sources</a>: <a href="#Path-sources">Path sources</a></li> +<li><a href="#index-paths_002c-changing-default-75">paths, changing default</a>: <a href="#Default-path-generation">Default path generation</a></li> +<li><a href="#index-paths_002c-changing-default-64">paths, changing default</a>: <a href="#Changing-search-paths">Changing search paths</a></li> +<li><a href="#index-paths_002c-device-name-included-in-69">paths, device name included in</a>: <a href="#Default-path-features">Default path features</a></li> +<li><a href="#index-paths_002eh-82"><code>paths.h</code></a>: <a href="#Default-path-generation">Default path generation</a></li> +<li><a href="#index-paths_002eh_0040r_007b_002c-creating_007d-143"><code>paths.h</code><span class="roman">, creating</span></a>: <a href="#Running-make">Running make</a></li> +<li><a href="#index-pathsearch_002eh-774"><code>pathsearch.h</code></a>: <a href="#Programming-overview">Programming overview</a></li> +<li><a href="#index-pc-_0040r_007bPascal-compiler_007d-19"><code>pc </code><span class="roman">Pascal compiler</span></a>: <a href="#History">History</a></li> +<li><a href="#index-PCL-driver-56">PCL driver</a>: <a href="#Kpathsea-application-distributions">Kpathsea application distributions</a></li> +<li><a href="#index-PDF-generation-58">PDF generation</a>: <a href="#Kpathsea-application-distributions">Kpathsea application distributions</a></li> +<li><a href="#index-pdfglyphlist_002etxt-571"><code>pdfglyphlist.txt</code></a>: <a href="#Specially_002drecognized-files">Specially-recognized files</a></li> +<li><a href="#index-pdftex_002ecfg-572"><code>pdftex.cfg</code></a>: <a href="#Specially_002drecognized-files">Specially-recognized files</a></li> +<li><a href="#index-PDFTEXCONFIG-672"><code>PDFTEXCONFIG</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-pdftexconfig_002etex-573"><code>pdftexconfig.tex</code></a>: <a href="#Specially_002drecognized-files">Specially-recognized files</a></li> +<li><a href="#index-permission-denied-441">permission denied</a>: <a href="#Searching-overview">Searching overview</a></li> +<li><a href="#index-permissions_002c-directory-268">permissions, directory</a>: <a href="#Security">Security</a></li> +<li><a href="#index-permissions_002c-file-266">permissions, file</a>: <a href="#Security">Security</a></li> +<li><a href="#index-PKFONTS-674"><code>PKFONTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-plain_002ebase-372"><code>plain.base</code></a>: <a href="#Unable-to-generate-fonts">Unable to generate fonts</a></li> +<li><a href="#index-pointer-combination-warnings-415">pointer combination warnings</a>: <a href="#Pointer-combination-warnings">Pointer combination warnings</a></li> +<li><a href="#index-PostScript-driver-59">PostScript driver</a>: <a href="#Kpathsea-application-distributions">Kpathsea application distributions</a></li> +<li><a href="#index-PostScript-fonts_002c-additional-34">PostScript fonts, additional</a>: <a href="#Simple-installation">Simple installation</a></li> +<li><a href="#index-precompiled-executables_002c-instead-of-installation-31">precompiled executables, instead of installation</a>: <a href="#Simple-installation">Simple installation</a></li> +<li><a href="#index-preprocessor-options-120">preprocessor options</a>: <a href="#configure-environment">configure environment</a></li> +<li><a href="#index-preprocessor-options_002c-additional-147">preprocessor options, additional</a>: <a href="#Running-make">Running make</a></li> +<li><a href="#index-printer-configuration-files-33">printer configuration files</a>: <a href="#Simple-installation">Simple installation</a></li> +<li><a href="#index-privacy_002c-semblance-of-349">privacy, semblance of</a>: <a href="#Logging">Logging</a></li> +<li><a href="#index-problems_002c-common-351">problems, common</a>: <a href="#Common-problems">Common problems</a></li> +<li><a href="#index-proginit_002ec-71"><code>proginit.c</code></a>: <a href="#Default-path-features">Default path features</a></li> +<li><a href="#index-proginit_002eh-803"><code>proginit.h</code></a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-program_002dvarying-paths-592">program-varying paths</a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-programming-overview-770">programming overview</a>: <a href="#Programming-overview">Programming overview</a></li> +<li><a href="#index-programming-with-config-files-817">programming with config files</a>: <a href="#Programming-with-config-files">Programming with config files</a></li> +<li><a href="#index-programming-with-Kpathsea-781">programming with Kpathsea</a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-programs-using-the-library-3">programs using the library</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-proof-mode-370">proof mode</a>: <a href="#Unable-to-generate-fonts">Unable to generate fonts</a></li> +<li><a href="#index-PSHEADERS-680"><code>PSHEADERS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-pxp-_0040r_007bPascal-preprocessor_007d-18"><code>pxp </code><span class="roman">Pascal preprocessor</span></a>: <a href="#History">History</a></li> +<li><a href="#index-quoting-variable-values-488">quoting variable values</a>: <a href="#Variable-expansion">Variable expansion</a></li> +<li><a href="#index-re_002dentrant-API-772">re-entrant API</a>: <a href="#Programming-overview">Programming overview</a></li> +<li><a href="#index-readable-765"><code>readable</code></a>: <a href="#Suppressing-warnings">Suppressing warnings</a></li> +<li><a href="#index-reading-arbitrary_002dlength-lines-812">reading arbitrary-length lines</a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-README_002eCONFIGURE-89"><code>README.CONFIGURE</code></a>: <a href="#Running-configure">Running configure</a></li> +<li><a href="#index-recording-successful-searches-343">recording successful searches</a>: <a href="#Logging">Logging</a></li> +<li><a href="#index-relative-filenames-438">relative filenames</a>: <a href="#Searching-overview">Searching overview</a></li> +<li><a href="#index-relative-filenames-in-_0040file_007bls_002dR_007d-175">relative filenames in <samp><span class="file">ls-R</span></samp></a>: <a href="#Installing-files">Installing files</a></li> +<li><a href="#index-reporting-bugs-283">reporting bugs</a>: <a href="#Reporting-bugs">Reporting bugs</a></li> +<li><a href="#index-resident_002ec-800"><code>resident.c</code></a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-resolution_002c-setting-551">resolution, setting</a>: <a href="#Path-searching-options">Path searching options</a></li> +<li><a href="#index-resolutions_002c-last_002dresort-747">resolutions, last-resort</a>: <a href="#Fallback-font">Fallback font</a></li> +<li><a href="#index-retrieving-_0040TeX_007b_007d-275">retrieving TeX</a>: <a href="#unixtex_002eftp">unixtex.ftp</a></li> +<li><a href="#index-right_002dhand-side-of-variable-assignments-468">right-hand side of variable assignments</a>: <a href="#Config-files">Config files</a></li> +<li><a href="#index-Rokicki_002c-Tom-14">Rokicki, Tom</a>: <a href="#History">History</a></li> +<li><a href="#index-g_t_0040t_007broot_007d-user-497"><tt>root</tt> user</a>: <a href="#Tilde-expansion">Tilde expansion</a></li> +<li><a href="#index-runtime-configuration-files-456">runtime configuration files</a>: <a href="#Config-files">Config files</a></li> +<li><a href="#index-runtime-debugging-315">runtime debugging</a>: <a href="#Debugging">Debugging</a></li> +<li><a href="#index-Sauter-fonts_002c-and-dynamic-source-creation-187">Sauter fonts, and dynamic source creation</a>: <a href="#mktex-scripts">mktex scripts</a></li> +<li><a href="#index-scripts-for-file-creation-184">scripts for file creation</a>: <a href="#mktex-scripts">mktex scripts</a></li> +<li><a href="#index-search-path_002c-defined-422">search path, defined</a>: <a href="#Searching-overview">Searching overview</a></li> +<li><a href="#index-search-paths_002c-changing-default-63">search paths, changing default</a>: <a href="#Changing-search-paths">Changing search paths</a></li> +<li><a href="#index-searching-for-files-717">searching for files</a>: <a href="#File-lookup">File lookup</a></li> +<li><a href="#index-searching-for-glyphs-725">searching for glyphs</a>: <a href="#Glyph-lookup">Glyph lookup</a></li> +<li><a href="#index-searching-overview-419">searching overview</a>: <a href="#Searching-overview">Searching overview</a></li> +<li><a href="#index-searching-the-database-427">searching the database</a>: <a href="#Searching-overview">Searching overview</a></li> +<li><a href="#index-searching-the-disk-431">searching the disk</a>: <a href="#Searching-overview">Searching overview</a></li> +<li><a href="#index-security-considerations-256">security considerations</a>: <a href="#Security">Security</a></li> +<li><a href="#index-sed-_0040r_007berror-from-_0040code_007bconfigure_007d_007d-385"><code>sed </code><span class="roman">error from </span><code>configure</code></a>: <a href="#Empty-Makefiles">Empty Makefiles</a></li> +<li><a href="#index-SELFAUTODIR-792">SELFAUTODIR</a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-SELFAUTOLOC-791">SELFAUTOLOC</a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-SELFAUTOPARENT-793">SELFAUTOPARENT</a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-sending-patches-295">sending patches</a>: <a href="#Bug-checklist">Bug checklist</a></li> +<li><a href="#index-setgid-scripts-264">setgid scripts</a>: <a href="#Security">Security</a></li> +<li><a href="#index-SFDFONTS-682"><code>SFDFONTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-sh5_0040r_007b_002c-ok-with-_0040code_007bconfigure_007d_007d-103"><code>sh5</code><span class="roman">, ok with </span><code>configure</code></a>: <a href="#configure-shells">configure shells</a></li> +<li><a href="#index-shared-library_002c-making-138">shared library, making</a>: <a href="#Shared-library">Shared library</a></li> +<li><a href="#index-shell-scripts-as-configuration-files-469">shell scripts as configuration files</a>: <a href="#Config-files">Config files</a></li> +<li><a href="#index-shell-variables-489">shell variables</a>: <a href="#Variable-expansion">Variable expansion</a></li> +<li><a href="#index-shell_005fescape_0040r_007b_002c-example-for-code_007d-821"><code>shell_escape</code><span class="roman">, example for code</span></a>: <a href="#Programming-with-config-files">Programming with config files</a></li> +<li><a href="#index-shells-and-_0040code_007bconfigure_007d-91">shells and <code>configure</code></a>: <a href="#configure-shells">configure shells</a></li> +<li><a href="#index-simple-installation-29">simple installation</a>: <a href="#Simple-installation">Simple installation</a></li> +<li><a href="#index-site-overrides-for-_0040code_007bmktex_0040dots_007b_007d_007d-204">site overrides for <code>mktex...</code></a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-size-of-distribution-archives-48">size of distribution archives</a>: <a href="#Disk-space">Disk space</a></li> +<li><a href="#index-skeleton-_0040TeX_007b_007d-directory-272">skeleton TeX directory</a>: <a href="#TeX-directory-structure">TeX directory structure</a></li> +<li><a href="#index-slow-startup-time-360">slow startup time</a>: <a href="#Slow-path-searching">Slow path searching</a></li> +<li><a href="#index-Solaris-BSD-compatibility_002c-not-161">Solaris BSD compatibility, not</a>: <a href="#Running-make">Running make</a></li> +<li><a href="#index-source-files-687"><code>source files</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-sources-for-search-paths-448">sources for search paths</a>: <a href="#Path-sources">Path sources</a></li> +<li><a href="#index-special-767"><code>special</code></a>: <a href="#Suppressing-warnings">Suppressing warnings</a></li> +<li><a href="#index-st_005fnlink-514"><code>st_nlink</code></a>: <a href="#Subdirectory-expansion">Subdirectory expansion</a></li> +<li><a href="#index-ST_005fNLINK_005fTRICK-515"><code>ST_NLINK_TRICK</code></a>: <a href="#Subdirectory-expansion">Subdirectory expansion</a></li> +<li><a href="#index-stack-trace-297">stack trace</a>: <a href="#Bug-checklist">Bug checklist</a></li> +<li><a href="#index-standalone-path-searching-545">standalone path searching</a>: <a href="#Invoking-kpsewhich">Invoking kpsewhich</a></li> +<li><a href="#index-standard-error-and-debugging-output-323">standard error and debugging output</a>: <a href="#Debugging">Debugging</a></li> +<li><a href="#index-standard-options-584">standard options</a>: <a href="#Standard-options">Standard options</a></li> +<li><a href="#index-startup-time_002c-excessive-361">startup time, excessive</a>: <a href="#Slow-path-searching">Slow path searching</a></li> +<li><a href="#index-static-linking-409">static linking</a>: <a href="#ShellWidgetClass">ShellWidgetClass</a></li> +<li><a href="#index-static-linking-and-_0040code_007bdlsym_007d-393">static linking and <code>dlsym</code></a>: <a href="#dlopen">dlopen</a></li> +<li><a href="#index-string-routines-811">string routines</a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-strip-225"><code>strip</code></a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-stripsupplier-221"><code>stripsupplier</code></a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-striptypeface-223"><code>striptypeface</code></a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-subdirectory-searching-507">subdirectory searching</a>: <a href="#Subdirectory-expansion">Subdirectory expansion</a></li> +<li><a href="#index-suffixes_002c-filename-720">suffixes, filename</a>: <a href="#File-lookup">File lookup</a></li> +<li><a href="#index-suggestions_002c-making-6">suggestions, making</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-Sun-2-17">Sun 2</a>: <a href="#History">History</a></li> +<li><a href="#index-Sun-OpenWin-patches-407">Sun OpenWin patches</a>: <a href="#ShellWidgetClass">ShellWidgetClass</a></li> +<li><a href="#index-supplier-directory_002c-omitting-222">supplier directory, omitting</a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-supported-file-formats-588">supported file formats</a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-suppressing-warnings-757">suppressing warnings</a>: <a href="#Suppressing-warnings">Suppressing warnings</a></li> +<li><a href="#index-symbolic-link-trees_002c-for-multiple-architectures-128">symbolic link trees, for multiple architectures</a>: <a href="#configure-scenarios">configure scenarios</a></li> +<li><a href="#index-symbolic-links-not-found-357">symbolic links not found</a>: <a href="#Unable-to-find-files">Unable to find files</a></li> +<li><a href="#index-symbolic-links_002c-and-_0040file_007bls_002dR_007d-531">symbolic links, and <samp><span class="file">ls-R</span></samp></a>: <a href="#ls_002dR">ls-R</a></li> +<li><a href="#index-symlinks_002c-resolving-794">symlinks, resolving</a>: <a href="#Calling-sequence">Calling sequence</a></li> +<li><a href="#index-system-C-compiler-bugs-379">system C compiler bugs</a>: <a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></li> +<li><a href="#index-system-dependencies-88">system dependencies</a>: <a href="#Running-configure">Running configure</a></li> +<li><a href="#index-system-V-universe-160">system V universe</a>: <a href="#Running-make">Running make</a></li> +<li><a href="#index-T1FONTS-701"><code>T1FONTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-T1INPUTS-702"><code>T1INPUTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-T42FONTS-705"><code>T42FONTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-tcfmgr_002emap-576"><code>tcfmgr.map</code></a>: <a href="#Specially_002drecognized-files">Specially-recognized files</a></li> +<li><a href="#index-TDS-273">TDS</a>: <a href="#TeX-directory-structure">TeX directory structure</a></li> +<li><a href="#index-TDS-72">TDS</a>: <a href="#Default-path-features">Default path features</a></li> +<li><a href="#index-testing_002c-post_002dinstallation-254">testing, post-installation</a>: <a href="#Installation-testing">Installation testing</a></li> +<li><a href="#index-tests_002c-simple-38">tests, simple</a>: <a href="#Simple-installation">Simple installation</a></li> +<li><a href="#index-g_t_0040TeX_007b_007d-directory-structure-270">TeX directory structure</a>: <a href="#TeX-directory-structure">TeX directory structure</a></li> +<li><a href="#index-g_t_0040TeX_007b_007d-directory-structure-73">TeX directory structure</a>: <a href="#Default-path-features">Default path features</a></li> +<li><a href="#index-g_t_0040TeX_007b_007d-environment-variables-591">TeX environment variables</a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-g_t_0040TeX_007b_007d-failures-374">TeX failures</a>: <a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></li> +<li><a href="#index-g_t_0040TeX_007b_007d-file-lookup-718">TeX file lookup</a>: <a href="#File-lookup">File lookup</a></li> +<li><a href="#index-g_t_0040TeX_007b_007d-glyph-lookup-726">TeX glyph lookup</a>: <a href="#Glyph-lookup">Glyph lookup</a></li> +<li><a href="#index-g_t_0040TeX_007b_007d-help-mailing-list-307">TeX help mailing list</a>: <a href="#Mailing-lists">Mailing lists</a></li> +<li><a href="#index-g_t_0040TeX_007b_007d-hierarchy_002c-one-125">TeX hierarchy, one</a>: <a href="#configure-scenarios">configure scenarios</a></li> +<li><a href="#index-g_t_0040TeX_007b_007d-support-587">TeX support</a>: <a href="#TeX-support">TeX support</a></li> +<li><a href="#index-g_t_0040TeX_007b_007d-Users-Group-10">TeX Users Group</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-tex_002dfile_002ec-722"><code>tex-file.c</code></a>: <a href="#File-lookup">File lookup</a></li> +<li><a href="#index-tex_002dfile_002eh-775"><code>tex-file.h</code></a>: <a href="#Programming-overview">Programming overview</a></li> +<li><a href="#index-tex_002dglyph_002ec-727"><code>tex-glyph.c</code></a>: <a href="#Glyph-lookup">Glyph lookup</a></li> +<li><a href="#index-tex_002dglyph_002eh-776"><code>tex-glyph.h</code></a>: <a href="#Programming-overview">Programming overview</a></li> +<li><a href="#index-tex_002dk_002drequest_0040_0040tug_002eorg-306"><code>tex-k-request@tug.org</code></a>: <a href="#Mailing-lists">Mailing lists</a></li> +<li><a href="#index-tex_002dk_0040_0040tug_002eorg-_0040r_007b_0028bug-address_0029_007d-285"><code>tex-k@tug.org </code><span class="roman">(bug address)</span></a>: <a href="#Reporting-bugs">Reporting bugs</a></li> +<li><a href="#index-tex_002eweb-281"><code>tex.web</code></a>: <a href="#unixtex_002eftp">unixtex.ftp</a></li> +<li><a href="#index-TEX_005fHUSH-758"><code>TEX_HUSH</code></a>: <a href="#Suppressing-warnings">Suppressing warnings</a></li> +<li><a href="#index-TEX_005fHUSH-446"><code>TEX_HUSH</code></a>: <a href="#Searching-overview">Searching overview</a></li> +<li><a href="#index-TEXBIB-600"><code>TEXBIB</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-TEXCONFIG-610"><code>TEXCONFIG</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-TEXDOCS-686"><code>TEXDOCS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-TEXFONTMAPS-637"><code>TEXFONTMAPS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-TEXFONTS-624"><code>TEXFONTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-texfonts_002emap-737"><code>texfonts.map</code></a>: <a href="#Fontmap">Fontmap</a></li> +<li><a href="#index-TEXFORMATS-615"><code>TEXFORMATS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-TEXINDEXSTYLE-630"><code>TEXINDEXSTYLE</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-TEXINPUTS-628"><code>TEXINPUTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-TEXMF-269"><code>TEXMF</code></a>: <a href="#TeX-directory-structure">TeX directory structure</a></li> +<li><a href="#index-texmf_002ecnf-574"><code>texmf.cnf</code></a>: <a href="#Specially_002drecognized-files">Specially-recognized files</a></li> +<li><a href="#index-g_t_0040file_007btexmf_002ecnf_007d-missing_002c-warning-about-460"><samp><span class="file">texmf.cnf</span></samp> missing, warning about</a>: <a href="#Config-files">Config files</a></li> +<li><a href="#index-texmf_002ecnf_0040r_007b_002c-and-variable-expansion_007d-487"><code>texmf.cnf</code><span class="roman">, and variable expansion</span></a>: <a href="#Variable-expansion">Variable expansion</a></li> +<li><a href="#index-texmf_002ecnf_0040r_007b_002c-creating_007d-142"><code>texmf.cnf</code><span class="roman">, creating</span></a>: <a href="#Running-make">Running make</a></li> +<li><a href="#index-texmf_002ecnf_0040r_007b_002c-definition-for_007d-455"><code>texmf.cnf</code><span class="roman">, definition for</span></a>: <a href="#Config-files">Config files</a></li> +<li><a href="#index-texmf_002ecnf_0040r_007b_002c-generated_007d-81"><code>texmf.cnf</code><span class="roman">, generated</span></a>: <a href="#Default-path-generation">Default path generation</a></li> +<li><a href="#index-texmf_002ecnf_0040r_007b_002c-source-for-path_007d-452"><code>texmf.cnf</code><span class="roman">, source for path</span></a>: <a href="#Path-sources">Path sources</a></li> +<li><a href="#index-texmf_002ein-80"><code>texmf.in</code></a>: <a href="#Default-path-generation">Default path generation</a></li> +<li><a href="#index-texmf_002ein_0040r_007b_002c-editing_007d-65"><code>texmf.in</code><span class="roman">, editing</span></a>: <a href="#Changing-search-paths">Changing search paths</a></li> +<li><a href="#index-texmf_002esed-79"><code>texmf.sed</code></a>: <a href="#Default-path-generation">Default path generation</a></li> +<li><a href="#index-TEXMFCNF-606"><code>TEXMFCNF</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-TEXMFCNF-457"><code>TEXMFCNF</code></a>: <a href="#Config-files">Config files</a></li> +<li><a href="#index-TEXMFDBS-635"><code>TEXMFDBS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-TEXMFDBS-522"><code>TEXMFDBS</code></a>: <a href="#ls_002dR">ls-R</a></li> +<li><a href="#index-TEXMFINI-597"><code>TEXMFINI</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-TEXMFLOG-346"><code>TEXMFLOG</code></a>: <a href="#Logging">Logging</a></li> +<li><a href="#index-TEXMFOUTPUT-251"><code>TEXMFOUTPUT</code></a>: <a href="#mktex-script-names">mktex script names</a></li> +<li><a href="#index-TEXMFSCRIPTS-689"><code>TEXMFSCRIPTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-TEXMFVAR-234"><code>TEXMFVAR</code></a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-texmfvar-233"><code>texmfvar</code></a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-TEXPICTS-627"><code>TEXPICTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-TEXPKS-675"><code>TEXPKS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-TEXPOOL-691"><code>TEXPOOL</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-TEXPSHEADERS-679"><code>TEXPSHEADERS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-TEXSIZES-752"><code>TEXSIZES</code></a>: <a href="#Fallback-font">Fallback font</a></li> +<li><a href="#index-TEXSOURCES-688"><code>TEXSOURCES</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-TFMFONTS-693"><code>TFMFONTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-tilde-expansion-493">tilde expansion</a>: <a href="#Tilde-expansion">Tilde expansion</a></li> +<li><a href="#index-tilde_002ec-500"><code>tilde.c</code></a>: <a href="#Tilde-expansion">Tilde expansion</a></li> +<li><a href="#index-time-_0040r_007bsystem-call_007d-348"><code>time </code><span class="roman">system call</span></a>: <a href="#Logging">Logging</a></li> +<li><a href="#index-tolerance-for-glyph-lookup-731">tolerance for glyph lookup</a>: <a href="#Basic-glyph-lookup">Basic glyph lookup</a></li> +<li><a href="#index-total-disk-space-47">total disk space</a>: <a href="#Disk-space">Disk space</a></li> +<li><a href="#index-trailing-_0040samp_007b_002f_007d-in-home-directory-498">trailing ‘<samp><span class="samp">/</span></samp>’ in home directory</a>: <a href="#Tilde-expansion">Tilde expansion</a></li> +<li><a href="#index-trailing-colons-477">trailing colons</a>: <a href="#Default-expansion">Default expansion</a></li> +<li><a href="#index-TRFONTS-695"><code>TRFONTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-trick-for-detecting-leaf-directories-510">trick for detecting leaf directories</a>: <a href="#Subdirectory-expansion">Subdirectory expansion</a></li> +<li><a href="#index-trojan-horse-attack-257">trojan horse attack</a>: <a href="#Security">Security</a></li> +<li><a href="#index-try_005fstd_005fextension_005ffirst-721"><code>try_std_extension_first</code></a>: <a href="#File-lookup">File lookup</a></li> +<li><a href="#index-TTFONTS-698"><code>TTFONTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-tug_002eorg-277"><code>tug.org</code></a>: <a href="#unixtex_002eftp">unixtex.ftp</a></li> +<li><a href="#index-typeface-directory_002c-omitting-224">typeface directory, omitting</a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-ucbinclude_0040r_007b_002c-avoiding_007d-163"><code>ucbinclude</code><span class="roman">, avoiding</span></a>: <a href="#Running-make">Running make</a></li> +<li><a href="#index-Ultrix-shells-and-_0040code_007bconfigure_007d-102">Ultrix shells and <code>configure</code></a>: <a href="#configure-shells">configure shells</a></li> +<li><a href="#index-unable-to-find-files-353">unable to find files</a>: <a href="#Unable-to-find-files">Unable to find files</a></li> +<li><a href="#index-unable-to-generate-fonts-362">unable to generate fonts</a>: <a href="#Unable-to-generate-fonts">Unable to generate fonts</a></li> +<li><a href="#index-uname-290"><code>uname</code></a>: <a href="#Bug-checklist">Bug checklist</a></li> +<li><a href="#index-universe_002c-BSD-vs_002e_0040_003a-system-V-158">universe, BSD vs. system V</a>: <a href="#Running-make">Running make</a></li> +<li><a href="#index-unixtex_002eftp-276"><code>unixtex.ftp</code></a>: <a href="#unixtex_002eftp">unixtex.ftp</a></li> +<li><a href="#index-unknown-special-warnings-768">unknown special warnings</a>: <a href="#Suppressing-warnings">Suppressing warnings</a></li> +<li><a href="#index-unreadable-file-warnings-766">unreadable file warnings</a>: <a href="#Suppressing-warnings">Suppressing warnings</a></li> +<li><a href="#index-unreadable-files-442">unreadable files</a>: <a href="#Searching-overview">Searching overview</a></li> +<li><a href="#index-unusable-_0040file_007bls_002dR_007d-warning-536">unusable <samp><span class="file">ls-R</span></samp> warning</a>: <a href="#ls_002dR">ls-R</a></li> +<li><a href="#index-usage-patterns_002c-finding-344">usage patterns, finding</a>: <a href="#Logging">Logging</a></li> +<li><a href="#index-USE_005fTEXMFVAR-235"><code>USE_TEXMFVAR</code></a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-USE_005fVARTEXFONTS-232"><code>USE_VARTEXFONTS</code></a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-Usenet-_0040TeX_007b_007d-newsgroup-309">Usenet TeX newsgroup</a>: <a href="#Mailing-lists">Mailing lists</a></li> +<li><a href="#index-USERPROFILE_0040r_007b_002c-as-_007e-expansion_007d-496"><code>USERPROFILE</code><span class="roman">, as ~ expansion</span></a>: <a href="#Tilde-expansion">Tilde expansion</a></li> +<li><a href="#index-varfonts-228"><code>varfonts</code></a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-variable-expansion-485">variable expansion</a>: <a href="#Variable-expansion">Variable expansion</a></li> +<li><a href="#index-variable_002ec-490"><code>variable.c</code></a>: <a href="#Variable-expansion">Variable expansion</a></li> +<li><a href="#index-variable_002eh-820"><code>variable.h</code></a>: <a href="#Programming-with-config-files">Programming with config files</a></li> +<li><a href="#index-VARTEXFONTS-230"><code>VARTEXFONTS</code></a>: <a href="#mktex-configuration">mktex configuration</a></li> +<li><a href="#index-VAX-11_002f750-16">VAX 11/750</a>: <a href="#History">History</a></li> +<li><a href="#index-version-number_002c-of-Kpathsea-50">version number, of Kpathsea</a>: <a href="#Kpathsea-application-distributions">Kpathsea application distributions</a></li> +<li><a href="#index-version-numbers_002c-determining-289">version numbers, determining</a>: <a href="#Bug-checklist">Bug checklist</a></li> +<li><a href="#index-VF-files_002c-not-found-433">VF files, not found</a>: <a href="#Searching-overview">Searching overview</a></li> +<li><a href="#index-VFFONTS-707"><code>VFFONTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-VMS-support-45">VMS support</a>: <a href="#Custom-installation">Custom installation</a></li> +<li><a href="#index-Vojta_002c-Paul-20">Vojta, Paul</a>: <a href="#History">History</a></li> +<li><a href="#index-Walsh_002c-Norman-23">Walsh, Norman</a>: <a href="#History">History</a></li> +<li><a href="#index-warning-about-unusable-_0040file_007bls_002dR_007d-535">warning about unusable <samp><span class="file">ls-R</span></samp></a>: <a href="#ls_002dR">ls-R</a></li> +<li><a href="#index-warning_002c-about-missing-_0040file_007btexmf_002ecnf_007d-459">warning, about missing <samp><span class="file">texmf.cnf</span></samp></a>: <a href="#Config-files">Config files</a></li> +<li><a href="#index-warnings_002c-file-access-444">warnings, file access</a>: <a href="#Searching-overview">Searching overview</a></li> +<li><a href="#index-warnings_002c-pointer-combinations-414">warnings, pointer combinations</a>: <a href="#Pointer-combination-warnings">Pointer combination warnings</a></li> +<li><a href="#index-warnings_002c-suppressing-756">warnings, suppressing</a>: <a href="#Suppressing-warnings">Suppressing warnings</a></li> +<li><a href="#index-wcstombs-397"><code>wcstombs</code></a>: <a href="#dlopen">dlopen</a></li> +<li><a href="#index-WEB2C-711"><code>WEB2C</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-Weber_002c-Olaf-25">Weber, Olaf</a>: <a href="#History">History</a></li> +<li><a href="#index-WEBINPUTS-710"><code>WEBINPUTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-whitespace_002c-in-fontmap-files-742">whitespace, in fontmap files</a>: <a href="#Fontmap">Fontmap</a></li> +<li><a href="#index-whitespace_002c-not-ignored-on-continuation-lines-465">whitespace, not ignored on continuation lines</a>: <a href="#Config-files">Config files</a></li> +<li><a href="#index-www_002etug_002eorg-278"><code>www.tug.org</code></a>: <a href="#unixtex_002eftp">unixtex.ftp</a></li> +<li><a href="#index-X11-previewer-60">X11 previewer</a>: <a href="#Kpathsea-application-distributions">Kpathsea application distributions</a></li> +<li><a href="#index-X11_002c-lacking-on-NeXT-54">X11, lacking on NeXT</a>: <a href="#Kpathsea-application-distributions">Kpathsea application distributions</a></li> +<li><a href="#index-XCFLAGS-148"><code>XCFLAGS</code></a>: <a href="#Running-make">Running make</a></li> +<li><a href="#index-XCPPFLAGS-145"><code>XCPPFLAGS</code></a>: <a href="#Running-make">Running make</a></li> +<li><a href="#index-XDEFS-146"><code>XDEFS</code></a>: <a href="#Running-make">Running make</a></li> +<li><a href="#index-XDvi-575"><code>XDvi</code></a>: <a href="#Specially_002drecognized-files">Specially-recognized files</a></li> +<li><a href="#index-XDVIFONTS-714"><code>XDVIFONTS</code></a>: <a href="#Supported-file-formats">Supported file formats</a></li> +<li><a href="#index-XDVIMAKEPK-247"><code>XDVIMAKEPK</code></a>: <a href="#mktex-script-names">mktex script names</a></li> +<li><a href="#index-XDVISIZES-750"><code>XDVISIZES</code></a>: <a href="#Fallback-font">Fallback font</a></li> +<li><a href="#index-XLDFLAGS-150"><code>XLDFLAGS</code></a>: <a href="#Running-make">Running make</a></li> +<li><a href="#index-XLOADLIBES-152"><code>XLOADLIBES</code></a>: <a href="#Running-make">Running make</a></li> +<li><a href="#index-XMAKEARGS-154"><code>XMAKEARGS</code></a>: <a href="#Running-make">Running make</a></li> +<li><a href="#index-Xmu-_0040r_007blibrary-problems_007d-406"><code>Xmu </code><span class="roman">library problems</span></a>: <a href="#ShellWidgetClass">ShellWidgetClass</a></li> +<li><a href="#index-XtStrings-392"><code>XtStrings</code></a>: <a href="#XtStrings">XtStrings</a></li> +<li><a href="#index-zuhn_002c-david-22">zuhn, david</a>: <a href="#History">History</a></li> +<li><a href="#index-g_t_0040_007b-_0040r_007bexpansion_007d-501"><code>{ </code><span class="roman">expansion</span></a>: <a href="#Brace-expansion">Brace expansion</a></li> +<li><a href="#index-g_t_007e-_0040r_007bexpansion_007d-491"><code>~ </code><span class="roman">expansion</span></a>: <a href="#Tilde-expansion">Tilde expansion</a></li> + </ul></body></html> + diff --git a/Master/texmf-dist/doc/kpathsea/kpathsea.pdf b/Master/texmf-dist/doc/kpathsea/kpathsea.pdf Binary files differnew file mode 100644 index 00000000000..bd7c6392ae9 --- /dev/null +++ b/Master/texmf-dist/doc/kpathsea/kpathsea.pdf diff --git a/Master/texmf-dist/doc/man/Makefile b/Master/texmf-dist/doc/man/Makefile new file mode 100644 index 00000000000..b0d665adbb4 --- /dev/null +++ b/Master/texmf-dist/doc/man/Makefile @@ -0,0 +1,24 @@ +# Public domain. Originally written by Manuel Pegourie-Gonnard, 2008. + +DIR = man1 man5 + +export GROFF = groff +export PDFOPTS = -man -t -rS11 +export PSPDF = ps2pdf -sPAPERSIZE=a4 + +all: $(DIR) +pdf: $(DIR) +clean: $(DIR) + +# we don't cd to the new dir, since otherwise '.so man1/XXXX.1' doesn't work +$(DIR): + $(MAKE) -f $@/Makefile $(MAKECMDGOALS) +.PHONY: $(DIR) + +# The rules for the .so pages are generated by this target. +# Compare by hand against man1/Makefile. +so_pattern = ^\(.*\)\.1:\.so \(.*\)\.1$$ +so_replace = \1.man1.pdf: \1.1 \2.1\n\t$$(MKPDF)\n +so.rules: + grep '^\.so ' man1/* \ + | sed -e 's/$(so_pattern)/$(so_replace)/' diff --git a/Master/texmf-dist/doc/man/man1/Makefile b/Master/texmf-dist/doc/man/man1/Makefile new file mode 100644 index 00000000000..19c5ce20a31 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/Makefile @@ -0,0 +1,96 @@ +# $Id$ +# Public domain. Originally written by Manuel Pegourie-Gonnard, 2008. + +SRC = $(wildcard man1/*.1) +PDF = $(patsubst %.1, %.man1.pdf, $(SRC)) + +MKPDF = $(GROFF) $(PDFOPTS) $< | $(PSPDF) - $@.tmp && mv $@.tmp $@ || rm $@.tmp + +all: pdf +pdf: $(PDF) + +clean: + @echo 'Removing pdf files.' + @rm -f -- $(PDF) + +%.man1.pdf: %.1 + $(MKPDF) + +# +# See ../Makefile for the so.rules target which generates this list of rules. + +man1/ctangle.man1.pdf: man1/ctangle.1 man1/cweb.1 + $(MKPDF) + +man1/cweave.man1.pdf: man1/cweave.1 man1/cweb.1 + $(MKPDF) + +man1/dvigif.man1.pdf: man1/dvigif.1 man1/dvipng.1 + $(MKPDF) + +man1/dvilj2p.man1.pdf: man1/dvilj2p.1 man1/dvilj.1 + $(MKPDF) + +man1/dvilj4.man1.pdf: man1/dvilj4.1 man1/dvilj.1 + $(MKPDF) + +man1/dvilj4l.man1.pdf: man1/dvilj4l.1 man1/dvilj.1 + $(MKPDF) + +man1/dvilj6.man1.pdf: man1/dvilj6.1 man1/dvilj.1 + $(MKPDF) + +man1/ebb.man1.pdf: man1/ebb.1 man1/extractbb.1 + $(MKPDF) + +man1/fmtutil-sys.man1.pdf: man1/fmtutil-sys.1 man1/fmtutil.1 + $(MKPDF) + +man1/kpsepath.man1.pdf: man1/kpsepath.1 man1/kpsetool.1 + $(MKPDF) + +man1/kpsexpand.man1.pdf: man1/kpsexpand.1 man1/kpsetool.1 + $(MKPDF) + +man1/lamed.man1.pdf: man1/lamed.1 man1/aleph.1 + $(MKPDF) + +man1/mf-nowin.man1.pdf: man1/mf-nowin.1 man1/mf.1 + $(MKPDF) + +man1/mktexfmt.man1.pdf: man1/mktexfmt.1 man1/fmtutil.1 + $(MKPDF) + +man1/odvicopy.man1.pdf: man1/odvicopy.1 man1/dvicopy.1 + $(MKPDF) + +man1/odvitype.man1.pdf: man1/odvitype.1 man1/dvitype.1 + $(MKPDF) + +man1/otangle.man1.pdf: man1/otangle.1 man1/tangle.1 + $(MKPDF) + +man1/pdfclose.man1.pdf: man1/pdfclose.1 man1/pdfopen.1 + $(MKPDF) + +man1/pdflatex.man1.pdf: man1/pdflatex.1 man1/pdftex.1 + $(MKPDF) + +man1/repstopdf.man1.pdf: man1/repstopdf.1 man1/epstopdf.1 + $(MKPDF) + +man1/texconfig-sys.man1.pdf: man1/texconfig-sys.1 man1/texconfig.1 + $(MKPDF) + +man1/texhash.man1.pdf: man1/texhash.1 man1/mktexlsr.1 + $(MKPDF) + +man1/texlua.man1.pdf: man1/texlua.1 man1/luatex.1 + $(MKPDF) + +man1/texluac.man1.pdf: man1/texluac.1 man1/luatex.1 + $(MKPDF) + +man1/updmap-sys.man1.pdf: man1/updmap-sys.1 man1/updmap.1 + $(MKPDF) + diff --git a/Master/texmf-dist/doc/man/man1/a2ping.1 b/Master/texmf-dist/doc/man/man1/a2ping.1 new file mode 100644 index 00000000000..ec06d892da8 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/a2ping.1 @@ -0,0 +1,380 @@ +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.13 +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sh \" Subsection heading +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. | will give a +.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to +.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' +.\" expand to `' in nroff, nothing in troff, for use with C<>. +.tr \(*W-|\(bv\*(Tr +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.\" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.hy 0 +.if n .na +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "A2PING 1" +.TH A2PING 1 "2004-05-26" "perl v5.8.1" "User Contributed Perl Documentation" +.ds pts-dev \*[.T] +.do if '\*[.T]'ascii' .ds pts-dev tty +.do if '\*[.T]'ascii8' .ds pts-dev tty +.do if '\*[.T]'latin1' .ds pts-dev tty +.do if '\*[.T]'nippon' .ds pts-dev tty +.do if '\*[.T]'utf8' .ds pts-dev tty +.do if '\*[.T]'cp1047' .ds pts-dev tty +.do if '\*[pts-dev]'tty' \{\ +.ll 79 +.pl 33333v +.nr IN 2n +.\} +.ad n + +.SH "NAME" +a2ping.pl \-\- convert between PS, EPS and PDF and other page description +formats +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\& \fBa2ping.pl\fR [\fB\-\-\fR]\fBhelp\fR + \fBa2ping.pl\fR [\fB\-\-\fR]\fBdoc\fR + \fBa2ping.pl\fR [\fIoptions\fR] <\fIinputfile\fR> [[\fIoutformat\fR:] \fIoutputfile\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +\&\fBa2ping\fR is a \s-1UNIX\s0 command line utility written in Perl that +converts many raster image and vector graphics formats to \s-1EPS\s0 or \s-1PDF\s0 and +other page description formats. Accepted input file formats are: \s-1PS\s0 +(PostScript), \s-1EPS\s0, \s-1PDF\s0, \s-1PNG\s0, \s-1JPEG\s0, \s-1TIFF\s0, \s-1PNM\s0, \s-1BMP\s0, \s-1GIF\s0, \s-1LBM\s0, \s-1XPM\s0, \s-1PCX\s0, +\&\s-1TGA\s0. Accepted output formats are: \s-1EPS\s0, \s-1PCL5\s0, \s-1PDF\s0, \s-1PDF1\s0, \s-1PBM\s0, \s-1PGM\s0, \s-1PPM\s0, +\&\s-1PS\s0, markedEPS, markedPS, \s-1PNG\s0, \s-1XWD\s0, \s-1BMP\s0, \s-1TIFF\s0, \s-1JPEG\s0, \s-1GIF\s0, \s-1XPM\s0. +\&\fBa2ping\fR delegates the low-level work to +Ghostscript (\s-1GS\s0), \fBpdftops\fR and \fBsam2p\fR. \fBa2ping\fR fixes many glitches +during the \s-1EPS\s0 to \s-1EPS\s0 conversion, so its output is often more compatible +and better embeddable than its input. +.PP +Without the \f(CW\*(C`\-\-below\*(C'\fR option, it is guarenteed to start at the 0,0 +coordinate. \f(CW\*(C`\-\-below\*(C'\fR, \f(CW\*(C`\-\-hires\*(C'\fR and \f(CW\*(C`\-v\*(C'\fR are recommended options. +.PP +The page size is set exactly corresponding to the BoundingBox. +This means that when Ghostscript renders it, the result needs no +cropping, and the \s-1PDF\s0 MediaBox is correct. +.PP +If the bounding box is not right, of course, you have problems. If you +feed crap in, you get crap. But you can supply the +\&\fB\-\-bboxfrom=compute\-gs\fR option to make \s-1GS\s0 recompute the bounding box. +.PP +The name of the input file doesn't matter \*(-- \fBa2ping\fR detects the file +format based on the first few bytes of the file. The name of the output +file matters if \fIoutformat\fR is missing from the command line: then the +extension of the output file determines the FileFormat (\fIoutformat\fR). +.SH "EXTERNAL PROGRAMS" +.IX Header "EXTERNAL PROGRAMS" +The internal file format of \fBa2ping.pl\fR is \s-1PS/EPS\s0. Everything read is +first converted to \s-1PS\s0 or \s-1EPS\s0, then processed by \fBa2ping.pl\fR, then +converted to the output format. +.PP +To analyse the bounding box and other properties of non-EPS \s-1PS\s0 files +(and \s-1EPS\s0 files with option \fB\-\-bboxfrom\fR other than \fB=guess\fR), \s-1GS\s0 is +used. Converting \s-1PS\s0 to \s-1EPS\s0 involves this analysis. +.PP +To write \s-1PDF\s0 files, \s-1GS\s0 is used. +.PP +To read \s-1PDF\s0 files, \fBpdftops\fR from the \fBxpdf\fR package is used. +.PP +Sampled input formats are \s-1PNG\s0, \s-1JPEG\s0, \s-1TIFF\s0, \s-1PNM\s0, \s-1BMP\s0, \s-1GIF\s0, \s-1LBM\s0, \s-1XPM\s0, \s-1PCX\s0 +and \s-1TGA\s0. To read sampled input formats, \fBsam2p\fR is used. \fBsam2p\fR is +a raster image converter written in \*(C+ by the author of \fBa2ping.pl\fR. +.PP +Extra output formats are \s-1PNG\s0, \s-1XWD\s0, \s-1BMP\s0, \s-1TIFF\s0, \s-1JPEG\s0, \s-1GIF\s0 and \s-1XPM\s0. To +write extra output formats, \fBsam2p\fR and \s-1GS\s0 are used. +.PP +\&\s-1PNM\s0 output formats are \s-1PGM\s0, \s-1PGM\s0 and \s-1PPM\s0. To write \s-1PNM\s0 output formats, \s-1GS\s0 +is used. +.SH "TIPS AND TRICKS" +.IX Header "TIPS AND TRICKS" +.IP "\(bu" 2 +Call with the \fB\-v\fR option to see progress and debug messages. +.IP "\(bu" 2 +If your \s-1EPS\s0 contains a wrong bounding box, you can fix it by running +\&\f(CW\*(C`a2ping.pl \-v \-\-bboxfrom=compute\-gs thefile.eps \-\-\*(C'\fR +.IP "\(bu" 2 +You can specify \fB\-\fR as \fIinputfile\fR to get stdin and as \fIoutputfile\fR +to get stdout. This works even for \s-1PDF\s0 files (which must be seekable), +because \fBa2ping\fR copies them to a temporary file automatically. +.IP "\(bu" 2 +If \fIinputfile\fR and \fIoutputfile\fR are the same, \fBa2ping\fR copies the +\&\fIinputfile\fR to a temporary location first. However, this usage is +recommended only if there is a backup of the file to be restored in case +\&\fBa2ping\fR doesn't produce the desired result. +.IP "\(bu" 2 +If you specify \fB\-\-\fR as \fIoutputfile\fR, it will be the same as \fIinputfile\fR. +.IP "\(bu" 2 +\&\fBa2ping\fR respects \fB\-\-Duplex\fR for FileFormat \s-1PCL5\s0, even though \s-1GS\s0 doesn't. +.IP "\(bu" 2 +If you have an incompatible \s-1PS\s0 that \s-1GS\s0 can read but your printer cannot print, +just run \f(CW\*(C`a2ping.pl foo.ps PDF: \- | a2ping.pl \- PS: foo.ps\*(C'\fR +.IP "\(bu" 2 +If you have a \s-1PS\s0 coming from Win32 (often with extension \f(CW\*(C`.prn\*(C'\fR), run +it through \fBa2ping\fR. It will remove the resolution changes and the +progress text printed to the terminal (which confuses \fIgv\fR\|(1) and makes +some filters in the print queue emit incorrect output). +.IP "\(bu" 2 +\&\fBa2ping\fR does antialiasing (\fB\-\-antialias=scale3no\fR) of glyphs and +curves when emitting a sampled image (FileFormats such as \s-1PGM\s0 and \s-1PPM\s0). +This improves readability of the glyphs. \fB=yes\fR instructs \s-1GS\s0 to do +internal antialiasing, but it usually doesn't improve much. \fB=scale3no\fR +turns off \s-1GS\s0 internal antialiasing, but makes it render everything 3x3 +as big, and then scales it back down. \fB=scale3no\fR turns on both 3x3 +scaling and \s-1GS\s0 internal antialiasing, which results in thicker lines and +worse quality in general. +.IP "\(bu" 2 +When creating a \s-1PBM\s0 file, antialiasing usually doesn't improve the +quality, so it is switched off by default. But if you set +\&\fB\-\-antialias=scale3no\fR or \fB\-\-antialias=scale3yes\fR, \s-1GS\s0 will render a \s-1PGM\s0 file, +and the value of \fB\-\-threshold\fR determines the minimum intensity for white in +the final \s-1PBM\s0. +.IP "\(bu" 2 +If you need a bigger sampled output file, specify a larger +\&\fB\-\-Resolution\fR. The default is \fB\-\-Resolution=72\fR. If your sampled output file +is going to be really big, you should specify \fB\-\-AntiAlias=yes\fR instead of +the default \fB\-\-AntiAlias=scale3no\fR to speed up conversion. +.SH "MISC" +.IX Header "MISC" +.IP "\(bu" 2 +Doesn't depend on the filename or extension of the input file. +.IP "\(bu" 2 +Conversion from \s-1EPS\s0 to \s-1PDF:\s0 fixes glitches etc., calls gs +\&\-sDEVICE=pdfwrite +.IP "\(bu" 2 +Conversion from \s-1EPS\s0 to \s-1EPS:\s0 fixes various glitches, moves (llx,lly) to +(0,0), removes binary junk from the beginning of the \s-1EPS\s0 etc. +.IP "\(bu" 2 +Conversion from \s-1PDF\s0 to \s-1PDF:\s0 keeps the file intact +.IP "\(bu" 2 +Conversion from \s-1PDF\s0 to \s-1EPS:\s0 calls pdftops \-eps (of the xpdf package) +.IP "\(bu" 2 +Conversion from \s-1PS\s0 to \s-1EPS:\s0 keeps 1st page only, removes setpagedevice etc. +.SH "AUTHORS" +.IX Header "AUTHORS" +The author of \fBa2ping\fR is Szabó Péter <\fIpts@fazekas.hu\fR>. +.PP +\&\fBa2ping\fR is inspired by and historically based on the \fBepstopdf\fR Perl +script modified by Thomas Esser, Sept. 1998, but his modifications have +been removed from \fBa2ping\fR, and also \fBa2ping\fR and \fBepstopdf\fR do not +share common code anymore. \fBepstopdf\fR is written by Sebastian Rahtz, +for Elsevier Science. \fBepstopdf\fR contained extra tricks from Hans Hagen's +texutil. +.SH "HISTORY" +.IX Header "HISTORY" +.Sh "1999/05/06 v2.5 (Heiko Oberdiek)" +.IX Subsection "1999/05/06 v2.5 (Heiko Oberdiek)" +.Vb 14 +\& * New options: --hires, --exact, --filter, --help. +\& * Many cosmetics: title, usage, ... +\& * New code for debug, warning, error +\& * Detecting of cygwin perl +\& * Scanning for %%{Hires,Exact,}BoundingBox. +\& * Scanning only the header in order not to get a wrong +\& BoundingBox of an included file. +\& * (atend) supported. +\& * uses strict; (earlier error detecting). +\& * changed first comment from '%!PS' to '%!'; +\& * corrected (atend) pattern: '\es*\e(atend\e)' +\& * using of $bbxpat in all BoundingBox cases, +\& correct the first white space to '...Box:\es*$bb...' +\& * corrected first line (one line instead of two before 'if 0;'; +.Ve +.Sh "2000/11/05 v2.6 (Heiko Oberdiek)" +.IX Subsection "2000/11/05 v2.6 (Heiko Oberdiek)" +.Vb 1 +\& * %%HiresBoundingBox corrected to %%HiResBoundingBox +.Ve +.Sh "2001/03/05 v2.7 (Heiko Oberdiek)" +.IX Subsection "2001/03/05 v2.7 (Heiko Oberdiek)" +.Vb 2 +\& * Newline before grestore for the case that there is no +\& whitespace at the end of the eps file. +.Ve +.Sh "2003/02/02 (Szabó Péter)" +.IX Subsection "2003/02/02 (Szabó Péter)" +.Vb 10 +\& * option --below +\& * removes DOS EPSF binary junk correctly +\& * adds all 3 BoundingBox DSC comments +\& * reads all 3 BoundingBox DSC comments, and picks the best +\& * forces BoundingBox to be an integer +\& * adds %%EndComments and proper %!PS-Adobe-?-? EPSF-?.? header +\& * adds %%Pages: +\& * adds invocation syntax: a2ping <infile.eps> <outfile.eps|pdf> +\& * can convert PDF to EPS (by calling pdftops(1)) and PDF to PDF +\& * emulates work for PDF input +.Ve +.Sh "2003/04/16 (Szabó Péter)" +.IX Subsection "2003/04/16 (Szabó Péter)" +.Vb 7 +\& * added PS and sam2p support, renamed to a2ping +\& * sam2p and pdftops if $InputFilename eq '-'; +\& * remove PJL UEL header from the beginning +\& * works for PS non-EPS files for input +\& * input support for PNG JPEG TIFF PNM BMP GIF LBM XPM PCX TGA via sam2p +\& * removes ^L (form feed) from end of EPS file +\& * -x=-c:rle to add sam2p options +.Ve +.Sh "2003/04/26 (Szabó Péter)" +.IX Subsection "2003/04/26 (Szabó Péter)" +.Vb 14 +\& * omit the unnecessary setpagedevice calls when creating normal eps +\& * --noverbose --nocompress supported differently +\& * no more option defaults :-( +\& * justlib2 +\& * multi-page output with PS:, PDF:, PCL5: +\& * after `a2ping -pa4', file out.pcl says: `HP PCL printer data - A4 page +\& size', instead of `US letter' +\& * justlib2-ified doesn't depend on Getopt::Long anymore +\& * fully supports filtering (stdin and/or stdout), PDF and PCL5 output to +\& pipe (!$$ll_zero) +\& * adds DSC ``%%DocumentMedia: plain 612 792 0 () ()'' +\& * BoundingBox precedence for EPS input: --PageSize, %%*BoundingBox, +\& setpagedevice. Precedence for other inputs: --PageSize, setpagedevice, +\& %%*BoundingBox +.Ve +.Sh "2003/09/25 (Szabó Péter)" +.IX Subsection "2003/09/25 (Szabó Péter)" +.Vb 7 +\& * --bboxfrom=adsc: %%BoundingBox overrides -sDEVICE=bbox +\& * improved bbox discovery +\& * many bugfixes +\& * MetaPost EPS input fixes for prologues:=0; +\& * a2ping.pl -v --papersize=50,60 --bboxfrom=compute-gs t.ps t2.ps +\& * consistent bbox, --PageSize, /PageSize handling +\& * consistent --Resolution and --Duplex handling +.Ve +.Sh "2003/12/02 (Szabó Péter)" +.IX Subsection "2003/12/02 (Szabó Péter)" +.Vb 1 +\& * --bboxfrom=compute-gs option to fix PS -> EPS bbox (gs -sDEVICE=bbox), tuzv.eps +.Ve +.Sh "2004/02/10 v2.77 (Szabó Péter)" +.IX Subsection "2004/02/10 v2.77 (Szabó Péter)" +.Vb 7 +\& * the compute-pipe routine is now run unless --bboxfrom=guess with EPS +\& * added --gsextra= +\& * added --antialias= +\& * added FileFormat PBM, PGM, PPM +\& * separated FileFormat features to FL_* constants +\& * added --doc +\& * there is no default FileFormat (PDF) anymore +.Ve diff --git a/Master/texmf-dist/doc/man/man1/a2ping.man1.pdf b/Master/texmf-dist/doc/man/man1/a2ping.man1.pdf Binary files differnew file mode 100644 index 00000000000..4921e218674 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/a2ping.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/afm2afm.1 b/Master/texmf-dist/doc/man/man1/afm2afm.1 new file mode 100644 index 00000000000..3f66df9a8bb --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/afm2afm.1 @@ -0,0 +1,199 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "AFM2AFM 1" +.TH AFM2AFM 1 "2012-03-06" "fontools" "Marc Penninga" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +afm2afm \- reencode an afm file +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +.IP "\fBafm2afm\fR" 8 +.IX Item "afm2afm" +[\fB\-help\fR] +[\fB\-encoding\fR \fIencodingfile\fR] +[\fB\-output\fR \fIoutputfile\fR] +\&\fBafmfile\fR +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +\&\fBafm2afm\fR re-encodes an \fIafm\fR file. +.PP +Metrics (including kerning data) for characters not present in the +chosen encoding are excluded from the output, which resuls in +much smaller files. +.PP +Note that if you don't specify an encoding file, the \fIafm\fR file +isn't re-encoded, but the unused data is still pruned. +.PP +The program also generates an entry for a \fIdvips\fR\-style map file, +but only if the \fIafm\fR file has been re-encoded and +the output was written to file +(i.e., if both the \fI\-encoding\fR and \fI\-output\fR options were specified). +.SH "OPTIONS AND ARGUMENTS" +.IX Header "OPTIONS AND ARGUMENTS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print a short description of the syntax +.IP "\fB\-encoding\fR \fIencodingfile\fR" 4 +.IX Item "-encoding encodingfile" +Re-encode to the enconding in \fIencodingfile\fR +.IP "\fB\-output\fR \fIoutputfile\fR" 4 +.IX Item "-output outputfile" +Write the result to \fIoutputfile\fR instead of \f(CW\*(C`stdout\*(C'\fR. +.IP "\fBafmfile\fR" 4 +.IX Item "afmfile" +The \fIafm\fR file to be re-encoded. +.PP +Option names may be shortened to a unique prefix. +.SH "AUTHOR" +.IX Header "AUTHOR" +Marc Penninga <marcpenninga@gmail.com> +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright (C) 2005\-2012 Marc Penninga. +.SH "LICENSE" +.IX Header "LICENSE" +This program is free software; you can redistribute it and/or modify +it under the terms of the \s-1GNU\s0 General Public License as published +by the Free Software Foundation, either version 2 of the License, +or (at your option) any later version. +A copy of the \s-1GNU\s0 General Public License is included with \fBautoinst\fR; +see the file \fIGPLv2.txt\fR. +.SH "DISCLAIMER" +.IX Header "DISCLAIMER" +This program is distributed in the hope that it will be useful, +but \s-1WITHOUT\s0 \s-1ANY\s0 \s-1WARRANTY\s0; without even the implied warranty of +\&\s-1MERCHANTABILITY\s0 or \s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0. +See the \s-1GNU\s0 General Public License for more details. +.SH "RECENT CHANGES" +.IX Header "RECENT CHANGES" +(See the source code for the rest of the story.) +.IP "\fI2012\-02\-01\fR" 12 +.IX Item "2012-02-01" +Refactored the code; added the \*(L"no re-encoding, only pruning\*(R" +functionality. diff --git a/Master/texmf-dist/doc/man/man1/afm2afm.man1.pdf b/Master/texmf-dist/doc/man/man1/afm2afm.man1.pdf Binary files differnew file mode 100644 index 00000000000..2e6b61eeac4 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/afm2afm.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/afm2pl.1 b/Master/texmf-dist/doc/man/man1/afm2pl.1 new file mode 100644 index 00000000000..bceec28b937 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/afm2pl.1 @@ -0,0 +1,464 @@ +.\" Title: afm2pl +.\" Author: +.\" Generator: DocBook XSL Stylesheets v1.73.2 <http://docbook.sf.net/> +.\" Date: May 2009 +.\" Manual: afm2pl +.\" Source: +.\" +.TH "AFM2PL" "1" "May 2009" "" "afm2pl" +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.SH "NAME" +afm2pl \- convert AFM font metrics to TeX pl font metrics +.SH "SYNOPSIS" +.HP 7 +\fBafm2pl\fR [\fB\-p\fR\ \fIencoding_file\fR] [\fB\-o\fR] [\fB\-e\fR\ \fIextension_factor\fR] [\fB\-s\fR\ \fIslant_factor\fR] [\fB\-f\fR\ \fIfont_dimensions\fR] [\fB\-k\fR] [\fB\-m\fR\ \fIletter_spacing\fR] [\fB\-l\fR\ \fIligkern_spec\fR] [\fB\-L\fR\ \fIligkern_spec\fR] [\fB\-n\fR] \fIinput_file[\&.afm]\fR [\fIoutput_file[\&.pl]\fR] +.HP 7 +\fBafm2pl\fR [\-\-help] | [\-\-version] +.SH "DESCRIPTION" +.PP +afm2pl converts an afm (Adobe Font Metric) file into a pl (Property List) file, which in its turn can be converted to a tfm (TeX Font Metric) file\&. It normally preserves kerns and ligatures, but also offers additional control over them\&. +.PP +afm2pl is meant to be a partial replacement for afm2tfm, on which it is based\&. With afm2tfm, preserving kerns and ligatures is possible only in a roundabout way, and handling of them is hard\-wired\&. +.PP +For text fonts, Y&Y\'s texnansi is a good encoding to be used with afm2pl\&. Its character set includes all the accented characters likely to be needed for Western languages, plus many typographic symbols, without a need for either virtual fonts or a separate text companion font\&. +.PP +Full LaTeX support for this encoding is available in the form of the texnansi package, which is already part of TeX Live and teTeX\&. These distributions also contain the encoding file texnansi\&.enc\&. +.PP +The distribution contains uppercased and lowercased versions of texnansi, viz\&. texnanuc and texnanlc, to allow font\-based rather than macro\-based uppercasing and lowercasing, and the familiar old ot1 encoding plus some variations in PostScript \&.enc format (I included these because they seem to be absent from teTeX/TeX Live)\&. However, +check your mapfiles +if you have old afm2pl\-generated fonts using these\&. +.PP +Return value: 0 if no error; a negative number indicating the number of missing glyphs if conversion was otherwise successfull but glyphs are missing, and 1 in case of error\&. +.SH "OPTIONS" +.PP +\fB\-p\fR \fIencoding_file\fR +.RS 4 +The default is the encoding specified in the afm file, which had better match the encoding in the fontfile (pfa or pfb)\&. If +afm2pl\-name\&.enc +exists, afm2pl will use this file instead of +name\&.enc, unless an option +\-n +is given\&. The generated mapfile entry (see below) instructs pdftex or the dvi driver to reencode the font on the fly\&. On\-the\-fly reencoding does not require virtual fonts\&. +.RE +.PP +\fB\-o\fR +.RS 4 +Use octal for all character codes in the pl file\&. +.RE +.PP +\fB\-e\fR \fIextend_factor\fR +.RS 4 +Widen or narrow characters by +\fIextend_factor\fR\&. Default is 1\&.0 (natural width)\&. Not recommended\&[1]\&. +.RE +.PP +\fB\-s\fR \fIslant_factor\fR +.RS 4 +Oblique (slant) characters by +\fIslant_factor\fR\&. Not recommended either\&. +.RE +.PP +\fB\-f\fR \fIfont_dimensions\fR +.RS 4 +The value is either the keyword +afm2tfm +or a comma\-separated list of up to five integers\&. The parameters are listed below, with their defaults and their value when the afm2tfm keyword is specified\&. \(oqSpace\(cq means the width of a space in the target font, except of course in the last row\&. Keep in mind that the design size is 1000, and that all numbers must be nonnegative integers\&. +.TS +allbox tab(:); +lB lB lB. +T{ +Font dimension +T}:T{ +Default value +T}:T{ +Afm2tfm value +T} +.T& +l l l +l l l +l l l +l l l +l l l. +T{ +\fIstretch\fR +T}:T{ +space div 2 +T}:T{ +300 \(mu \fIextend_factor\fR +T} +T{ +\fIshrink\fR +T}:T{ +space div 3 +T}:T{ +100 \(mu \fIextend_factor\fR +T} +T{ +\fIextra space\fR +T}:T{ +space div 3 +T}:T{ +missing +T} +T{ +\fIquad\fR +T}:T{ +2 \(mu width of \(oq0\(cq +T}:T{ +1000 \(mu \fIextend_factor\fR +T} +T{ +\fIspace\fR +T}:T{ +(space source font) \(mu \fIextend_factor\fR +T}:T{ +(space source font) \(mu \fIextend_factor\fR +T} +.TE +.sp +For fixed\-pitch fonts, different values apply: +.TS +allbox tab(:); +lB lB lB. +T{ +Font dimension +T}:T{ +Default value +T}:T{ +Afm2tfm value +T} +.T& +l l l +l l l +l l l +l l l +l l l. +T{ +\fIstretch\fR +T}:T{ +0 +T}:T{ +0 +T} +T{ +\fIshrink\fR +T}:T{ +0 +T}:T{ +0 +T} +T{ +\fIextra space\fR +T}:T{ +space +T}:T{ +missing +T} +T{ +\fIquad\fR +T}:T{ +2 \(mu character width +T}:T{ +1000 \(mu \fIextend_factor\fR +T} +T{ +\fIspace\fR +T}:T{ +character width +T}:T{ +character width +T} +.TE +.sp +Specify just a non\-default stretch and shrink with e\&.g\&. +150,70 +and just a non\-default extra space with +,,10\&. +.RE +.PP +\fB\-k\fR +.RS 4 +Keep original ligatures\&. This option only has effect in combination with positive letterspacing; see the section on +letterspacing and extra ligkern info\&. +.RE +.PP +\fB\-m\fR \fIletter_spacing\fR +.RS 4 +Letterspace by +\fIletter_spacing\fR/1000 em (integer)\&. This is useful for making all\-caps typesetting look better\&. Try a value of e\&.g\&. 50 or 100\&. But see the section on +letterspacing and extra ligkern info +for details\&. A better alternative, though, is letting pdftex do the letterspacing\&. The +microtype +package gives LaTeX users access to this feature\&. +.RE +.PP +\fB\-l\fR \fIligkern_spec\fR, \fB\-L\fR \fIligkern_spec\fR +.RS 4 +See the section on +extra ligkern info +for details\&. +.RE +.PP +\fB\-n\fR +.RS 4 +No prefix\&. For \&.enc\- and \&.lig files, the program normally first prefixes the name with `afm2pl\-\'\&. Only if the prefixed filename is not found, will it search for the original filename\&. This option prevents searching for the prefixed filename\&. +.RE +.PP +\fB\-V\fR +.RS 4 +Verbose\&. If turned on, it reports the number of missing glyphs to stderr and their names to stdout\&. +.RE +.PP +\fB\-\-help\fR +.RS 4 +Display a short usage message\&. +.RE +.PP +\fB\-\-version\fR +.RS 4 +Display the version number of afm2pl\&. +.RE +.SH "MAPFILE ENTRIES" +.PP +afm2pl writes a mapfile entry to a file with the same basename as the pl output file, but with extension \&.map\&. It can be used for the dvips mapfile and for the pdftex mapfile\&. It is assumed that the pfb file has the same basename as the afm file and must be downloaded\&. +\fIYou may have to hand\-edit this entry\&.\fR +.PP +You can configure dvips and pdftex to read this additional mapfile or otherwise add the entry to an existing mapfile\&. +.PP +\fBCheck your mapfiles!\fR +To reduce the likelihood of name conflicts, the \&.enc\- files which are part of afm2pl (ot1, ot1csc, ot1ital, ot1tt, texnanlc and texnanuc) have now been prepended with +afm2pl\-\&. The \&.enc files are referenced in mapfiles\&. If you have old afm2pl\-generated \&.tfm files using these, then you should update their mapfile fragments and rerun updmap or updmap\-sys\&. Or you can copy the relevant enc files to your personal or local texmf tree under their previous non\-prefixed names\&. +.SH "EXTRA LIGKERN INFO" +.PP +\fIMost users are well\-advised to leave this mess alone and to accept the default behavior\&.\fR +.PP +The ligatures and kerns present in the afm file can be modified in various ways\&. Default, the encoding file is scanned for extra ligkern specifications, whose format will be described below\&. If there are no ligkern specifications in the encoding file, then extra ligkern specifications will be read from a file [afm2pl\-]default\&.lig\&. A value of 0 for +\fIligkern_spec\fR +means that the ligatures and kerns from the afm file won\'t be tampered with and a value of 1 specifies default behavior\&. One can also specify a comma\-separated list of files with extra ligkerns specs\&. +.PP +If afm2pl is compiled with the kpathsea library, then these files will be searched for under $TEXMF/fonts/lig\&. +.PP +\fINote that ligatures and kerns are hints for the typesetting application; there is no need to download this information to the printer or to make it available to a dvi driver\&.\fR +.PP +The parser for ligkern info has been inherited from afm2tfm virtually without change\&. A ligkern specification can have one of the following forms: +.sp +.RS 4 +.nf +\fIglyph_name1\fR \fIglyph_name2\fR \fIlig_op\fR \fIglyph_name3\fR ; +.fi +.RE +.PP +This specifies a ligature\&. Possible values for +\fIlig_op\fR +are +=:, +|=:, +|=:>, +=:|, +=:|>, +|=:|, +|=:|> +and +|=:|>>\&. These correspond to +LIG, +/LIG, +/LIG>, +LIG/, +LIG/>, +/LIG/, +/LIG/>, +/LIG/>> +in \&.pl syntax; see the pltotf documentation and the \&.lig files in the distribution\&. +.sp +.RS 4 +.nf +\fIglyph_name1\fR <> \fIglyph_name2\fR ; +.fi +.RE +.PP +Kern +\fIglyph_name1\fR +as +\fIglyph_name2\fR\&. +.sp +.RS 4 +.nf +\fIglyph_name1\fR {} \fIglyph_name2\fR ; +.fi +.RE +.PP +Remove the kern between +\fIglyph_name1\fR +and +\fIglyph_name2\fR\&. A value of +* +for either glyph name is interpreted as a wildcard\&. +.sp +.RS 4 +.nf +|| = \fIglyph\fR ; +.fi +.RE +.PP +Set the (right) boundary character to +\fIglyph\fR\&. +\fIglyph\fR +may be either a glyphname or a slot in the encoding vector\&. Choosing a glyph which doesn\'t occur in the output encoding is equivalent to not specifying a boundarychar at all\&. It is ok to pick an encoded glyphname which does not occur in the afm\&. In fact, this is what default\&.lig does: +|| = cwm ;\&. +.PP +You can copy the kerns of an unencoded character to the boundarychar\&. Below, +space +is the unencoded character: +.sp +.RS 4 +.nf +|| <> space ; +.fi +.RE +.PP +This ligkern specification should occur before the one that deletes space kerns\&. +.PP +A ligkern specification should be contained within one line\&. One line may contain several ligkern specifications, separated by spaces\&. Note that +; +(space followed by semicolon) is considered part of the ligkern specification\&. See the lig files included in this distribution\&. Example: +.sp +.RS 4 +.nf +one {} * ; * {} one ; two {} * ; * {} two ; +.fi +.RE +.PP +Lines with ligkern specifications inside an encoding file should start with +% LIGKERN\&. Ligkern specifications in a lig file may optionally start this way\&. +.SH "LETTERSPACING AND EXTRA LIGKERN INFO" +.PP +Letterspacing has various side\-effects for ligkern info\&. Instead of simply applying the extra ligkern info (see previous section), the following is done: +.sp +.RS 4 +\h'-04' 1.\h'+02'In case of positive letterspacing, native ligatures are removed, unless the \-k option is specified\&. +.RE +.sp +.RS 4 +\h'-04' 2.\h'+02'Extra ligkern info is applied as usual, except that in case of positive letterspacing different defaults apply: +\-l 0 +is quietly ignored, ligkern comments in the encoding file are ignored, and defpre\&.lig is read instead of default\&.lig\&. +.RE +.sp +.RS 4 +\h'-04' 3.\h'+02'Letterspacing is applied\&. This adds a lot of kerns, and modifies existing kerns\&. +.RE +.sp +.RS 4 +\h'-04' 4.\h'+02'The extra ligkern info specified with \-L is applied\&. The only ligkern specs which are allowed here, are removals of kerning pairs (with the +{} +operator)\&. Values 0 and 1 have a similar meaning as for the \-l parameter\&. +\fIThe tfm format has room for only about 180x180 ligatures and kerning pairs\&.\fR +This is enough for OT1 encoding, but for texnansi encoding quite a few ligkern specifications have to be removed\&. The pltotf program will remove +\fIall\fR +ligkern info if too many ligatures and kerns remain\&. The default lig file is defpost\&.lig\&. This file throws out kerning pairs which are unlikely to be involved in letterspacing, such as kerns involving accents or kerns with a punctuation character or right bracket at the left\&. It does not add letterspacing kerns involving boundarychars\&. Instead, fontspace is increased by twice the letterspacing\&. defpost\&.lig throws out enough kerns in case of texnansi encoding\&. With other encodings, you may have to throw out additional kerning pairs\&. +.RE +.SH "FONT-BASED UPPER- AND LOWERCASING" +.PP +The distribution includes encoding vectors texnanuc\&.enc and texnanlc\&.enc which produce all\-uppercase and all\-lowercase fonts +.PP +The principal uses for an all\-uppercase font are page headers and section heads\&. If these contain math, then macro\-based uppercasing would create unpleasant complications\&. Example: +.sp +.RS 4 +.nf +afm2pl \-p texnanuc ptmr8a ptmup8y +pltotf ptmup8y +.fi +.RE +.sp +For best results, you should add some letterspacing\&. In LaTeX, this is best done with the +microtype +package; see the documentation of that package\&. But it can also be done with +afm2pl: +.sp +.RS 4 +.nf +afm2pl \-p texnanuc \-m 100 ptmr8a ptmup8y +.fi +.RE +.sp +This requires caution; see +above\&. +.PP +You can use this new font within the context of LaTeX font selection as follows: +.sp +.RS 4 +.nf + +<preamble commands> +\emakeatletter +{\enfss@catcodes +\eDeclareFontShape{LY1}{ptm}{m}{upp}{<\-> ptmup8y}{}} +\emakeatother +\&.\&.\&. +\ebegin{document} +\&.\&.\&. +{\efontshape{upp}\eselectfont uppercase text} + +.fi +.RE +.sp +Note that +upp +is simply a newly made\-up shape name\&. +.SS "The sz ligature \(ss" +.PP +Note that the texnanuc encoding provides no glyph for the sz ligature \(ss; you\'ll either have to substitute ss or provide a macro\-based solution\&. The following code uses either the usual glyph or substitutes the letters ss, depending on whether the glyph exists in the current font: +.sp +.RS 4 +.nf + +\edef\ess{% + \esetbox0\ehbox{\echar25}% + \eifnum\ewd0=0 ss\eelse\ebox0\efi +} + +.fi +.RE +.PP +In LaTeX, this code appears to work well enough, although on occasion you may need to insert +\eprotect\&. A better solution might involve the sixth parameter of the +\eDeclareFontShape +macro, but I failed to get that to work\&. +.SH "AFM2PL, FONTINST AND ARTIFICIAL SMALLCAPS" +.PP +Afm2pl doesn\'t do virtual fonts\&. That means that for things such as artificial smallcaps you have to turn elsewhere, e\&.g\&. to the fontinst package, which is part of any mainstream TeX distribution\&. +.PP +Look under texmf/tex/fontinst for fontinst support files, which allow you to generate a smallcaps font (tfm and vf files) from an afm2pl\-generated tfm file\&. This package only supports texnansi encoding\&. +.PP +There should be no real problem in doing the same for OT1 encoding\&. However, there are several variations of the OT1 encoding to take care of\&. Also, there are as far as I know no officially sanctioned PostScript names for all the variations of the OT1 encoding; the fontinst names contain spaces and are therefore not useable as PostScript names\&. +.SH "CHANGED IN VERSION 0.7.1" +.PP +In order to avoid name conflicts, the \&.enc\- and \&.lig files distributed with afm2pl got +afm2pl\- +prepended to their name\&. The program itself now first searches for the thus prepended name\&. If the \&.enc\- or \&.lig file is not found it will look for the original filename\&. The renaming of the afm2pl \&.enc files may require modification of some mapfiles\&. +.SH "URLS" +.PP +The afm2pl homepage is +\fIhttp://tex\&.aanhet\&.net/afm2pl/\fR\&. +.PP +The paper +\fIFont installation the shallow way\fR\&[2] +(EuroTeX 2006 Proceedings, published as +\fITUGboat\fR\&[3] +issue 27\&.1) illustrates the use of afm2pl\&. +.SH "NOTES" +.IP " 1." 4 +Except that arguably a narrowed Courier is less jarring than a full-width Courier, when used in combination with a normal proportional font. For Courier, choose .833 to match the width of cmtt. Better yet, don't use Courier at all; most TeX distributions offer various good replacements. +.IP " 2." 4 +Font installation the shallow way +.RS 4 +\%http://www.tug.org/TUGboat/Articles/tb27-1/tb86kroonenberg-fonts.pdf +.RE +.IP " 3." 4 +TUGboat +.RS 4 +\%http://www.tug.org/TUGboat/ +.RE diff --git a/Master/texmf-dist/doc/man/man1/afm2pl.man1.pdf b/Master/texmf-dist/doc/man/man1/afm2pl.man1.pdf Binary files differnew file mode 100644 index 00000000000..48a1487a9a4 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/afm2pl.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/afm2tfm.1 b/Master/texmf-dist/doc/man/man1/afm2tfm.1 new file mode 100644 index 00000000000..32822173aa4 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/afm2tfm.1 @@ -0,0 +1,25 @@ +.\" man page for afm2tfm +.TH AFM2TFM 1 "9 August 1990" +.SH NAME +afm2tfm \- convert Adobe font metrics to TeX font metrics +.SH DESCRIPTION +PostScript fonts are (or should be) accompanied by font metric files +such as +.B Times-Roman.afm, +which describes the characteristics of the font called Times-Roman. +To use such fonts with TeX, we need TFM files that contain similar +information. This program does that conversion. For more +information, print out the dvips manual. +.SH FILES +.I psfonts.map +in the config directory used by dvips (update this). +.br +.I ../afm/Makefile +in the dvips sources (look at this for examples). +.SH "SEE ALSO" +dvips(1), tex(1), vptovf(1) +.SH BUGS +An option to add letterspacing to the virtual font was rejected by Knuth +because it would make the fi and fl ligatures break the normal rhythmic pattern. +.SH AUTHORS +Tomas Rokicki <rokicki@cs.stanford.edu> and Donald E. Knuth diff --git a/Master/texmf-dist/doc/man/man1/afm2tfm.man1.pdf b/Master/texmf-dist/doc/man/man1/afm2tfm.man1.pdf Binary files differnew file mode 100644 index 00000000000..04fbfc5ee7f --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/afm2tfm.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/aleph.1 b/Master/texmf-dist/doc/man/man1/aleph.1 new file mode 100644 index 00000000000..0ce1172402f --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/aleph.1 @@ -0,0 +1,240 @@ +.TH ALEPH 1 "1 March 2011" "Web2C 2012" +.\"===================================================================== +.if n .ds MF Metafont +.if t .ds MF M\s-2ETAFONT\s0 +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.el .ds OX TeX for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.if t .ds AX \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(TX +.if n .ds AX AmSTeX +.if t .ds AY \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(LX +.if n .ds AY AmSLaTeX +.\"===================================================================== +.SH NAME +aleph \- extended Unicode TeX +.SH SYNOPSIS +.B aleph +.RI [ options ] +.RI [ \fB&\fPformat ] +.RI [ file | \fB\e\fPcommands ] +.\"===================================================================== +.SH DESCRIPTION +Run the Aleph typesetter on +.IR file , +usually creating +.IR file.dvi . +If the file argument has no extension, ".tex" will be appended to it. +Instead of a filename, a set of Aleph commands can be given, the first +of which must start with a backslash. +With a +.BI & format +argument Aleph uses a different set of precompiled commands, +contained in +.IR format\fB.fmt\fP ; +it is usually better to use the +.B -fmt +.I format +option instead. +.PP +Aleph is a version of the \*(TX program modified for multilingual +typesetting. It uses Unicode, and has additional primitives for +(among other things) bidirectional typesetting. +.PP +Aleph's command line options are similar to those of \*(TX. +.PP +Aleph is no longer being actively developed; see LuaTeX for current +activity. +.\"===================================================================== +.SH OPTIONS +Run aleph --help to see the complete list of options; this is not +exhaustive. +.TP +.BI --fmt \ format +Use +.I format +as the name of the format to be used, instead of the name by which +Aleph was called or a +.I %& +line. +.TP +.B --halt-on-error +Exit with an error code when an error is encountered during processing. +.TP +.B --help +Print help message and exit. +.TP +.B --ini +Be `initial' Aleph for dumping formats; this is implicitly true if the +program is called as +.BR inialeph . +.TP +.BI --interaction \ mode +Sets the interaction mode. The mode can be one of +.IR batchmode , +.IR nonstopmode , +.IR scrollmode , +and +.IR errorstopmode . +The meaning of these modes is the same as that of the corresponding +\ecommands. +.TP +.B --ipc +Send DVI output to a socket as well as the usual output file. Whether +this option is available is the choice of the installer. +.TP +.B --ipc-start +As +.BR --ipc , +and starts the server at the other end as well. Whether this option +is available is the choice of the installer. +.TP +.BI --kpathsea-debug \ bitmask +Sets path searching debugging flags according to the bitmask. See the +.I Kpathsea +manual for details. +.TP +.BI --maketex \ fmt +Enable +.RI mktex fmt , +where +.I fmt +must be one of +.I tex +or +.IR tfm . +.TP +.BI --no-maketex \ fmt +Disable +.RI mktex fmt , +where +.I fmt +must be one of +.I tex +or +.IR tfm . +.TP +.BI --output-comment \ string +Use +.I string +for the DVI file comment instead of the date. +.TP +.BI --output-directory \ directory +Write output files in +.I directory +instead of the current directory. Look up input files in +.I directory +first, the along the normal search path. +.TP +.B --parse-first-line +If the first line of the main input file begins with +.I %& +parse it to look for a dump name. +.TP +.BI --progname \ name +Pretend to be program +.IR name . +This affects both the format used and the search paths. +.TP +.B --recorder +Enable the filename recorder. This leaves a trace of the files opened +for input and output in a file with extension +.IR .ofl . +(This option is always on.) +.TP +.B --shell-escape +Enable the +.BI \ewrite18{ command } +construct. The +.I command +can be any Bourne shell command. By default, this construct is +enabled in a restricted mode, for security reasons. +.TP +.B --version +Print version information and exit. +.\"===================================================================== +.SH ENVIRONMENT +See the Kpathsearch library documentation (the `Path specifications' +node) for precise details of how the environment variables are used. +The +.B kpsewhich +utility can be used to query the values of the variables. +.PP +One caveat: In most Aleph formats, you cannot use ~ in a filename you +give directly to Aleph, because ~ is an active character, and hence is +expanded, not taken as part of the filename. Other programs, such as +\*(MF, do not have this problem. +.PP +.TP +.B TEXMFOUTPUT +Normally, Aleph puts its output files in the current directory. If +any output file cannot be opened there, it tries to open it in the +directory specified in the environment variable TEXMFOUTPUT. +There is no default value for that variable. For example, if you say +.I tex paper +and the current directory is not writable, if TEXMFOUTPUT has +the value +.IR /tmp , +Aleph attempts to create +.I /tmp/paper.log +(and +.IR /tmp/paper.dvi , +if any output is produced.) TEXMFOUTPUT is also checked for input +files, as \*(TX often generates files that need to be subsequently +read; for input, no suffixes (such as ``.tex'') are added by default, +the input name is simply checked as given. +.TP +.B TEXINPUTS +Search path for +.I \einput +and +.I \eopenin +files. +This should start with ``.'', so +that user files are found before system files. An empty path +component will be replaced with the paths defined in the +.I texmf.cnf +file. For example, set TEXINPUTS to ".:/home/user/tex:" to prepend the +current direcory and ``/home/user/tex'' to the standard search path. +.TP +.B TEXEDIT +Command template for switching to editor. The default, usually +.BR vi , +is set when Aleph is compiled. +.\"===================================================================== +.SH NOTES +This manual page is not meant to be exhaustive. The complete +documentation for this version of Aleph can be found in the info +manual +.IR "Web2C: A TeX implementation" . +See http://tug/org/web2c. +.\"===================================================================== +.SH BUGS +This version of Aleph implements a number of optional extensions. +In fact, many of these extensions conflict to a greater or lesser +extent with the definition of Aleph. When such extensions are +enabled, the banner printed when Aleph starts is changed to print +.B Alephk +instead of +.BR Aleph . +.PP +This version of Aleph fails to trap arithmetic overflow when +dimensions are added or subtracted. Cases where this occurs are rare, +but when it does the generated +.I DVI +file will be invalid. +.\"===================================================================== +.SH "SEE ALSO" +.BR tex (1), +.BR mf (1) +.\"===================================================================== +.SH AUTHORS +The primary authors of Aleph are John Plaice and Yannis Haralambous. +It is currently maintained (for severe bug fixes only) by Taco Hoekwater. diff --git a/Master/texmf-dist/doc/man/man1/aleph.man1.pdf b/Master/texmf-dist/doc/man/man1/aleph.man1.pdf Binary files differnew file mode 100644 index 00000000000..b561b31fb5a --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/aleph.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/allcm.1 b/Master/texmf-dist/doc/man/man1/allcm.1 new file mode 100644 index 00000000000..fe75f4ef6d3 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/allcm.1 @@ -0,0 +1,28 @@ +.TH allcm 1 "11/94" "teTeX" "teTeX" +.SH NAME +allcm \- force the most important Computer\-Modern\-fonts to be calculated +.SH SYNOPSIS +.B allcm [-r] +.SH DESCRIPTION +.I allcm +forces a large number of Computer Modern Fonts to be calculated as pixel files. +This is done through running +.IR dvips (1) +over a certain test-file. Therefore, the fonts are created in the resolution +needed by dvips. + +If the \-r flag is specified, the command +.IR dvired (1) +will be used instead of dvips. + +.I allcm +does not recalculate existing fonts (as long as the Metafont mode does not change). + +.SH "SEE ALSO" +allec(1), +allneeded(1), +dvips(1), +dvired(1). + +.SH AUTHOR +Thomas Esser <te@dbs.uni-hannover.de> diff --git a/Master/texmf-dist/doc/man/man1/allcm.man1.pdf b/Master/texmf-dist/doc/man/man1/allcm.man1.pdf Binary files differnew file mode 100644 index 00000000000..650e2431abd --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/allcm.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/allec.1 b/Master/texmf-dist/doc/man/man1/allec.1 new file mode 100644 index 00000000000..56bf87a60c5 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/allec.1 @@ -0,0 +1,28 @@ +.TH alldc 1 "11/94" "teTeX" "teTeX" +.SH NAME +allec \- force the most important ec\-fonts to be calculated +.SH SYNOPSIS +.B allec [\-r] +.SH DESCRIPTION +.I allec +forces a large number of ec-style Fonts to be calculated as pixel files. +This is done through running +.IR dvips (1) +over a certain test-file. Therefore, the fonts are created in the resolution +needed by dvips. + +If the \-r flag is specified, the command +.IR dvired (1) +will be used instead of dvips. + +.I alldc +does not recalculate existing fonts (as long as the Metafont mode does not change). + +.SH "SEE ALSO" +allcm(1), +allneeded(1), +dvips(1), +dvired(1). + +.SH AUTHOR +Thomas Esser <te@dbs.uni-hannover.de> diff --git a/Master/texmf-dist/doc/man/man1/allec.man1.pdf b/Master/texmf-dist/doc/man/man1/allec.man1.pdf Binary files differnew file mode 100644 index 00000000000..5aac00771e0 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/allec.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/allneeded.1 b/Master/texmf-dist/doc/man/man1/allneeded.1 new file mode 100644 index 00000000000..7d9a67548b7 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/allneeded.1 @@ -0,0 +1,30 @@ +.TH allneeded 1 "11/94" "teTeX" "teTeX" +.SH NAME +allneeded \- force the calculation of all fonts now needed +.SH SYNOPSIS +.B allneeded [\-r] files ... +.SH DESCRIPTION +.I allneeded +forces the calculation of all fonts that are needed to preview a set of +dvi files. Just specify where the program should search for files on the +commandline. +The fonts generation is triggered by running +.IR dvips (1) +over all accessible dvi\-files. Therefore, the fonts are created in the resolution +needed by dvips. + +If the \-r flag is specified, the command +.IR dvired (1) +will be used instead of dvips. + +.I allneeded +does not recalculate existing fonts (as long as the Metafont mode does not change). + +.SH "SEE ALSO" +allec(1), +allcm(1), +dvips(1), +dvired(1). + +.SH AUTHOR +Thomas Esser <te@dbs.uni-hannover.de> diff --git a/Master/texmf-dist/doc/man/man1/allneeded.man1.pdf b/Master/texmf-dist/doc/man/man1/allneeded.man1.pdf Binary files differnew file mode 100644 index 00000000000..f428f811da0 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/allneeded.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/amstex.1 b/Master/texmf-dist/doc/man/man1/amstex.1 new file mode 100644 index 00000000000..af05e2639ee --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/amstex.1 @@ -0,0 +1,63 @@ +.TH AMSTEX 1 "14 May 2010" "Web2C 2012" +.\"===================================================================== +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.if t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP\" for troff +.if n .ds OX TeX\" for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.if t .ds AX \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(TX +.if n .ds AX AmSTeX +.if t .ds AY \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(LX +.if n .ds AY AmSLaTeX +.\"===================================================================== +.SH NAME +amstex \- structured text formatting and typesetting +.SH SYNOPSIS +.B amstex +.RI [ first-line ] +.\"===================================================================== +.SH DESCRIPTION +This manual page is not meant to be exhaustive. The complete +documentation for this version of \*(TX can be found in the info file +or manual +.IR "Web2C: A TeX implementation" . +.PP +The \*(AX language is described in the book +.IR "The Joy of \*(OX" . +\*(AX is a \*(TX macro package, not a modification to the \*(TX source +program, so all the capabilities described in +.BR tex (1) +are present. +.PP +The \*(AX macros encourage writers to think about the content of their +documents, rather than the form. The ideal, not always realized, is to +have no formatting commands (like \(lqswitch to italic\(rq or \(lqskip 2 +picas\(rq) in the document at all; instead, everything is done +by specific markup instructions: \(lqemphasize\(rq, \(lqstart a section\(rq. +.PP +For authors more familiar with \*(LX, an AMS-supported package called +.I amsmath.sty +is available, among others. +.\"===================================================================== +.SH FILES +.TP +.I amsguide.tex +Documentation for \*(AX, typesettable by \*(TX. +.TP +.I amfndoc.tex +Documentation for AMS fonts, typesettable by \*(TX. +.\"===================================================================== +.SH "SEE ALSO" +.BR latex (1), +.BR tex (1), +.BR slitex (1). +.br +Michael Spivak, +.IR "The Joy of \*(OX" , +2nd edition, American Mathematical Society, 1990, ISBN 0-8218-2997-1. diff --git a/Master/texmf-dist/doc/man/man1/amstex.man1.pdf b/Master/texmf-dist/doc/man/man1/amstex.man1.pdf Binary files differnew file mode 100644 index 00000000000..8755fd9f42a --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/amstex.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/arlatex.1 b/Master/texmf-dist/doc/man/man1/arlatex.1 new file mode 100644 index 00000000000..2db9327c252 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/arlatex.1 @@ -0,0 +1,279 @@ +.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "ARLATEX 1" +.TH ARLATEX 1 "2011-05-01" "v1.02" "User Commands" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +arlatex \- archive a number of ancillary LaTeX files into a master +\&\fI.tex\fR file +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +arlatex +[\fB\-\-outfile\fR=\fIfilename\fR\fI.tex\fR] +\&\fB\-\-document\fR=\fIfilename\fR\fI.tex\fR +\&\fIfilename\fR +\&... +.PP +arlatex +\&\fB\-\-version\fR +.PP +arlatex +\&\fB\-\-help\fR +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +\&\fBarlatex\fR is an archiving program like \fBshar\fR, \fBtar\fR, \fBzip\fR, etc. +Unlike those other archivers, however, \fBarlatex\fR is designed +specifically for use with LaTeX. \fBarlatex\fR takes the name of a +master \fI.tex\fR file and a number of ancillary files used by that +master file (e.g., \fI.tex\fR, \fI.sty\fR, \fI.cls\fR, and \fI.eps\fR files). +From these, \fBarlatex\fR outputs a single file that, when it's run +through \fBlatex\fR, both regenerates the ancillary files and compiles +the document into a \fI.dvi\fR file. +.PP +\&\fBarlatex\fR has a few advantages over other archiving programs: +.IP "\(bu" 4 +The \fI.tex\fR files produced by \fBarlatex\fR are in a plain-text format. +They are therefore perfectly portable and trivial to e\-mail to +colleagues. +.IP "\(bu" 4 +\&\fBarlatex\fR needs only LaTeX to run. There is no dependence on any +external tools. +.IP "\(bu" 4 +There is no explicit extraction step. As the generated document is +run through \fBlatex\fR, it extracts the ancillary files and builds the +document in the same step. The user running \fBlatex\fR may not even +notice that additional files are being produced. +.PP +\&\fBarlatex\fR works by writing a number of \f(CW\*(C`\ebegin{filecontents*}\*(C'\fR\ ... +\&\f(CW\*(C`\eend{filecontents*}\*(C'\fR blocks to the output file, followed by the +contents of the master file. (In fact, any LaTeX comments at the +beginning of the master file are hoisted to the top of the generated +file. This enables the author to draw attention, if so desired, to +the fact that ancillary files will be generated.) The +\&\f(CW\*(C`filecontents*\*(C'\fR environment, part of standard LaTeX2e, writes its +contents verbatim to a specified file. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-\-version\fR" 4 +.IX Item "--version" +Output the \fBarlatex\fR script's version number. +.IP "\fB\-\-help\fR" 4 +.IX Item "--help" +Output brief \fBarlatex\fR usage information. +.IP "\fB\-\-document\fR=\fI.tex file\fR" 4 +.IX Item "--document=.tex file" +Specify the master document. The output from \fBarlatex\fR is this file +with all of the other files named on the command line prepended to it. +Note that \f(CW\*(C`\-\-document\*(C'\fR is a \fImandatory\fR parameter; \fBarlatex\fR will +abort with an error message if \f(CW\*(C`\-\-document\*(C'\fR is not specified. +.IP "\fB\-\-outfile\fR=\fI.tex file\fR" 4 +.IX Item "--outfile=.tex file" +Specify the output file. The output file looks just like the master +document, but with a number of \f(CW\*(C`filecontents*\*(C'\fR environments preceding +the \f(CW\*(C`\edocumentclass\*(C'\fR line. If \f(CW\*(C`\-\-outfile\*(C'\fR is not specified, output +will be written to the standard output device. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +Suppose you have a paper called \fIpaper.tex\fR that loads a custom +package with \f(CW\*(C`\eusepackage{mypackage}\*(C'\fR. You want to submit the paper +to a conference, but you want to be absolutely certain that +\&\fImypackage.sty\fR doesn't get lost as your paper is shuttled from +person to person. Here's how \fBarlatex\fR can be of use: +.PP +.Vb 1 +\& arlatex \-\-document=paper.tex mypackage.sty \-\-outfile=paper\-submit.tex +.Ve +.PP +When \fIpaper\-submit.tex\fR is processed with \fBlatex\fR, it builds just +like the original \fIpaper.tex\fR, except that it additionally creates a +\&\fImypackage.sty\fR in the current directory: +.PP +.Vb 5 +\& This is TeX, Version 3.14159 (Web2C 7.3.1) +\& (paper\-submit.tex +\& LaTeX2e <1999/12/01> patch level 1 +\& Babel <v3.6Z> and hyphenation patterns for american, french, german, +\& ngerman, italian, nohyphenation, loaded. +\& +\& LaTeX Warning: Writing file \`./mypackage.sty\*(Aq. +\& +\& (/usr/share/texmf/tex/latex/base/article.cls +\& Document Class: article 1999/09/10 v1.4a Standard LaTeX document class +\& (/usr/share/texmf/tex/latex/base/size12.clo)) (mypackage.sty) +\& . +\& . +\& . +.Ve +.PP +As another example, here's how you could bundle together all of the +files needed to build a large document for longevity: +.PP +.Vb 4 +\& arlatex \-\-document=thesis.tex abstract.tex introduction.tex +\& background.tex approach.tex experiments.tex relatedwork.tex +\& conclusions.tex before.eps after.eps fast.eps slow.eps +\& podunkUthesis.cls \-\-outfile=thesis\-all.tex +.Ve +.PP +As the number of files to archive together increases it becomes more +cumbersome to run \fBarlatex\fR manually. Fortunately, using \fBarlatex\fR +with \fBbundledoc\fR is straightforward. \fBbundledoc\fR finds all of the +files needed to build the document, and \fBarlatex\fR combines them into +a single file. The following are examples of the \f(CW\*(C`bundle:\*(C'\fR line you +might use in a \fBbundledoc\fR configuration file: +.IP "Unix:" 1 +.IX Item "Unix:" +.Vb 2 +\& bundle: (arlatex \-\-document=$BDBASE.tex $BDINPUTS \e +\& \-\-outfile=$BDBASE\-all.tex) +.Ve +.IP "Windows:" 1 +.IX Item "Windows:" +.Vb 2 +\& bundle: arlatex \-\-document=%BDBASE%.tex %BDINPUTS% \e +\& \-\-outfile=%BDBASE%\-all.tex +.Ve +.PP +See the \fBbundledoc\fR documentation for more information. +.SH "CAVEATS" +.IX Header "CAVEATS" +\&\fBarlatex\fR makes use of LaTeX2e's \f(CW\*(C`filecontents*\*(C'\fR environment. +\&\f(CW\*(C`filecontents*\*(C'\fR refuses to overwrite an existing file. However, it +also refuses to create a file that exists \fIanywhere\fR that LaTeX can +find it. That is, if the user running \fBlatex\fR on an +\&\fBarlatex\fR\-generated \fI.tex\fR file already has a +\&\fI/usr/share/texmf/tex/latex/whatever/whatever.sty\fR file then +\&\f(CW\*(C`filecontents*\*(C'\fR will refuse to create a \fIwhatever.sty\fR file, even in +a different directory. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIbundledoc\fR\|(1), \fIlatex\fR\|(1), \fIshar\fR\|(1), \fItar\fR\|(1), \fIzip\fR\|(1) +.SH "AUTHOR" +.IX Header "AUTHOR" +Scott Pakin, \fIscott+bdoc@pakin.org\fR diff --git a/Master/texmf-dist/doc/man/man1/arlatex.man1.pdf b/Master/texmf-dist/doc/man/man1/arlatex.man1.pdf Binary files differnew file mode 100644 index 00000000000..38a80c458bd --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/arlatex.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/asy.1 b/Master/texmf-dist/doc/man/man1/asy.1 new file mode 100644 index 00000000000..7f3d2a40772 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/asy.1 @@ -0,0 +1,294 @@ +.\" Hey, EMACS: -*- nroff -*- +.TH ASY 1 "1 Dec 2004" +.SH NAME +asy \- Asymptote: a script-based vector graphics language +.SH SYNOPSIS +.B asy +.RI [ options ] +.RI [ file \ ...] +.SH DESCRIPTION +\fBAsymptote\fP is a powerful descriptive vector graphics language for +technical drawings, inspired by MetaPost but with an improved C++-like syntax. +Asymptote provides for figures the same high-quality level of typesetting that +LaTeX does for scientific text. +.SH OPTIONS +If no arguments are given, Asymptote runs in interactive mode. +.PP +If "\-" is given as the file argument, Asymptote reads from standard input. +.PP +A summary of options is included below. The effect of most options +can be negated by prepending +.B no +to the option name. +Default values for most options may also be entered in the +file +.B .asy/config.asy +in the user's home directory using the long form: +.PP + import settings; + batchView=true; +.PP +For a complete +description, see the Info files. +.TP +.B \-V,\-View +View output; command-line only. +.TP +.B \-a,\-align C|B|T|Z +Center, Bottom, Top, or Zero page alignment [C]. +.TP +.B \-antialias n +Antialiasing width for rasterized output [2]. +.TP +.B \-arcballradius pixels +Arcball radius [750]. +.TP +.B \-auto3D +Automatically activate 3D scene [true]. +.TP +.B \-autobillboard +3D labels always face viewer by default [true]. +.TP +.B \-autoimport string +Module to automatically import. +.TP +.B \-autoplain +Enable automatic importing of plain [true]. +.TP +.B \-autoplay +Autoplay 3D animations [false]. +.TP +.B \-autorotate +Enable automatic PDF page rotation [false]. +.TP +.B \-batchMask +Mask fpu exceptions in batch mode [false]. +.TP +.B \-batchView +View output in batch mode [false]. +.TP +.B \-bw +Convert all colors to black and white [false]. +.TP +.B \-cd directory +Set current directory; command-line only. +.TP +.B \-cmyk +Convert rgb colors to cmyk [false]. +.TP +.B \-c,\-command string +Command to autoexecute. +.TP +.B \-compact +Conserve memory at the expense of speed [false]. +.TP +.B \-d,\-debug +Enable debugging messages [false]. +.TP +.B \-divisor n +Garbage collect using purge(divisor=n) [2]. +.TP +.B \-doubleclick ms +Emulated double-click timeout [200]. +.TP +.B \-embed +Embed rendered preview image [true]. +.TP +.B \-exitonEOF +Exit interactive mode on EOF [true]. +.TP +.B \-fitscreen +Fit rendered image to screen [true]. +.TP +.B \-framedelay ms +Additional frame delay [0]. +.TP +.B \-framerate frames/s +Animation speed [30]. +.TP +.B \-globalwrite +Allow write to other directory [false]. +.TP +.B \-gray +Convert all colors to grayscale [false]. +.TP +.B \-h,\-help +Show summary of options; command-line only. +.TP +.B \-historylines n +Retain n lines of history [1000]. +.TP +.B \-iconify +Iconify rendering window [false]. +.TP +.B \-inlineimage +Generate inline embedded image [false]. +.TP +.B \-inlinetex +Generate inline TeX code [false]. +.TP +.B \-interactiveMask +Mask fpu exceptions in interactive mode [true]. +.TP +.B \-interactiveView +View output in interactive mode [true]. +.TP +.B \-interactiveWrite +Write expressions entered at the prompt to stdout [true]. +.TP +.B \-k,\-keep +Keep intermediate files [false]. +.TP +.B \-keepaux +Keep intermediate LaTeX .aux files [false]. +.TP +.B \-level n +Postscript level [3]. +.TP +.B \-l,\-listvariables +List available global functions and variables [false]. +.TP +.B \-localhistory +Use a local interactive history file [false]. +.TP +.B \-loop +Loop 3D animations [false]. +.TP +.B \-m,\-mask +Mask fpu exceptions; command-line only. +.TP +.B \-maxtile pair +Maximum rendering tile size [(1024,768)]. +.TP +.B \-maxviewport pair +Maximum viewport size [(2048,2048)]. +.TP +.B \-multiline +Input code over multiple lines at the prompt [false]. +.TP +.B \-multipleView +View output from multiple batch-mode files [false]. +.TP +.B \-multisample n +Multisampling width for screen images [4]. +.TP +.B \-offscreen +Use offscreen rendering [false]. +.TP +.B \-O,\-offset pair +PostScript offset [(0,0)]. +.TP +.B \-f,\-outformat format +Convert each output file to specified format. +.TP +.B \-o,\-outname name +Alternative output directory/filename. +.TP +.B \-p,\-parseonly +Parse file [false]. +.TP +.B \-pdfreload +Automatically reload document in pdfviewer [false]. +.TP +.B \-pdfreloaddelay usec +Delay before attempting initial pdf reload [750000]. +.TP +.B \-position pair +Initial 3D rendering screen position [(0,0)]. +.TP +.B \-prc +Embed 3D PRC graphics in PDF output [true]. +.TP +.B \-prompt string +Prompt [> ]. +.TP +.B \-prompt2 string +Continuation prompt for multiline input [..]. +.TP +.B \-q,\-quiet +Suppress welcome message [false]. +.TP +.B \-render n +Render 3D graphics using n pixels per bp (-1=auto) [-1]. +.TP +.B \-resizestep step +Resize step [1.2]. +.TP +.B \-reverse +reverse 3D animations [false]. +.TP +.B \-rgb +Convert cmyk colors to rgb [false]. +.TP +.B \-safe +Disable system call [true]. +.TP +.B \-scroll n +Scroll standard output n lines at a time [0]. +.TP +.B \-spinstep deg/s +Spin speed [60]. +.TP +.B \-svgemulation +Emulate unimplemented SVG shading [false]. +.TP +.B \-tabcompletion +Interactive prompt auto-completion [true]. +.TP +.B \-tex engine +latex|pdflatex|xelatex|tex|pdftex|context|none [latex]. +.TP +.B \-thick +Render thick 3D lines [true]. +.TP +.B \-thin +Render thin 3D lines [true]. +.TP +.B \-threads +Use POSIX threads for 3D rendering [true]. +.TP +.B \-toolbar +Show 3D toolbar in PDF output [true]. +.TP +.B \-s,\-translate +Show translated virtual machine code [false]. +.TP +.B \-twice +Run LaTeX twice (to resolve references) [false]. +.TP +.B \-twosided +Use two-sided 3D lighting model for rendering [true]. +.TP +.B \-u,\-user string +General purpose user string. +.TP +.B \-v,\-verbose +Increase verbosity level (can specify multiple times) [0]. +.TP +.B \-version +Show version; command-line only. +.TP +.B \-wait +Wait for child processes to finish before exiting [false]. +.TP +.B \-warn string +Enable warning; command-line only. +.TP +.B \-where +Show where listed variables are declared [false]. +.TP +.B \-zoomfactor factor +Zoom step factor [1.05]. +.TP +.B \-zoomstep step +Mouse motion zoom step [0.1]. + +.SH SEE ALSO +Asymptote is documented fully in the asymptote Info page. +The manual can also be accessed in interactive mode with the "help" command. + +.SH AUTHOR +Asymptote was written by Andy Hammerlindl, John Bowman, and Tom Prince. +.PP +This manual page was written by Hubert Chan for the Debian project (but may +be used by others). diff --git a/Master/texmf-dist/doc/man/man1/asy.man1.pdf b/Master/texmf-dist/doc/man/man1/asy.man1.pdf Binary files differnew file mode 100644 index 00000000000..4cd462f1d30 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/asy.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/autoinst.1 b/Master/texmf-dist/doc/man/man1/autoinst.1 new file mode 100644 index 00000000000..ffb1ffaca14 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/autoinst.1 @@ -0,0 +1,669 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "AUTOINST 1" +.TH AUTOINST 1 "2013-02-06" "fontools" "Marc Penninga" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +autoinst \- wrapper around the LCDF TypeTools, +for installing OpenType fonts in LaTeX. +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBautoinst\fR [\fIoptions\fR] \fBfont(s)\fR +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +Eddie Kohler's \fITypeTools\fR, especially \fIotftotfm\fR, are superb tools +for installing OpenType fonts in LaTeX, but their use +(even in automatic mode) is complicated: they need many long +command lines and don't generate the \fIfd\fR and \fIsty\fR files LaTeX needs. +\&\fBautoinst\fR simplifies the font installation process with \fIotftotfm\fR +by generating and executing all command lines +and by creating and installing all \fIfd\fR and \fIsty\fR files. +.PP +Given a family of font files (in either \fIotf\fR or \fIttf\fR format), +\&\fBautoinst\fR will create several LaTeX font families: +.RS 2 +.IP "\-" 3 +Four text families (with lining and oldstyle digits, in both tabular +and proportional variants), each with the following shapes: +.RS 3 +.RS 2 +.IP "\fIn\fR" 6 +.IX Item "n" +Roman text +.IP "\fIsc\fR" 6 +.IX Item "sc" +Small caps +.IP "\fInw\fR" 6 +.IX Item "nw" +\&\*(L"Upright swash\*(R"; usually normal text with some extra \*(L"oldstyle\*(R" ligatures, +such as ct, sp and st. +.IP "\fItl\fR" 6 +.IX Item "tl" +Titling shape. Meant for all-caps text only (even though it sometimes contains +lowercase glyphs as well), where letterspacing and the positioning of +punctuation characters have been adjusted to suit all-caps text. +This shape is generated only for the families with lining digits, +since old-style digits make no sense with all-caps text. +.IP "\fIit\fR" 6 +.IX Item "it" +Italic (or oblique) text +.IP "\fIscit\fR" 6 +.IX Item "scit" +Italic small caps +.IP "\fIsw\fR" 6 +.IX Item "sw" +Swash +.IP "\fItlit\fR" 6 +.IX Item "tlit" +Italic titling +.RE +.RS 2 +.RE +.RE +.RS 3 +.RE +.IP "\-" 3 +For each text family: a family of TS1\-encoded symbol fonts, +in roman and italic shapes. +.IP "\-" 3 +Four families with superiors, inferiors, numerators and denominators, +in roman and italic shapes. +.IP "\-" 3 +An ornament family, in roman and italic shapes. +.RE +.RS 2 +.RE +.PP +Of course, if the fonts don't contain oldstyle digits, small caps etc., +the corresponding shapes and families are not created. +Furthermore, the creation of most families and shapes can be controlled by +command-line options (see \*(L"COMMAND-LINE \s-1OPTIONS\s0\*(R" below). +.PP +The generated font families are named \fI<FontFamily>\-<Suffix>\fR, +where \fI<Suffix>\fR is one of +.IP "\fI\s-1LF\s0\fR" 8 +.IX Item "LF" +proportional (i.e., figures have varying widths) lining figures +.IP "\fI\s-1TLF\s0\fR" 8 +.IX Item "TLF" +tabular (i.e., all figures have the same width) lining figures +.IP "\fIOsF\fR" 8 +.IX Item "OsF" +proportional oldstyle figures +.IP "\fITOsF\fR" 8 +.IX Item "TOsF" +tabular oldstyle figures +.IP "\fISup\fR" 8 +.IX Item "Sup" +superior characters (many fonts have only an incomplete set of superior +characters: digits, some punctuation and the letters \fIabdeilmnorst\fR; +normal forms will then be used for the other characters) +.IP "\fIInf\fR" 8 +.IX Item "Inf" +inferior characters; usually only digits and punctuation, +normal forms for the other characters +.IP "\fIOrn\fR" 8 +.IX Item "Orn" +ornaments +.IP "\fINumr\fR" 8 +.IX Item "Numr" +numerators +.IP "\fIDnom\fR" 8 +.IX Item "Dnom" +denominators +.PP +The generated fonts are named \fI<FontName>\-<suffix>\-<shape>\-<enc>\fR, +where \fI<suffix>\fR is the same as above (but in lowercase), +\&\fI<shape>\fR is either empty, \*(L"sc\*(R", \*(L"swash\*(R" or \*(L"titling\*(R", +and \fI<enc>\fR is the encoding. +A typical name in this scheme would be \*(L"MinionPro\-Regular\-osf\-sc\-ly1\*(R". +.SS "On the choice of text encoding" +.IX Subsection "On the choice of text encoding" +By default, \fBautoinst\fR generates text fonts with \s-1OT1\s0, T1 and \s-1LY1\s0 +encodings, and the generated style files use \s-1LY1\s0 as the default text encoding. +\&\s-1LY1\s0 has been chosen over T1 because it has some empty slots to accomodate +the additional ligatures and alternate glyphs provided by many OpenType fonts. +Different encodings can be selected using the \fI\-encoding\fR +command-line option (see \*(L"COMMAND-LINE \s-1OPTIONS\s0\*(R" below). +.SS "Using the fonts in your LaTeX documents" +.IX Subsection "Using the fonts in your LaTeX documents" +\&\fBautoinst\fR generates a style file for using the font in LaTeX documents, +named \fI<FontFamily>.sty\fR. This style file also takes care of loading the +\&\fIfontenc\fR and \fItextcomp\fR packages, if necessary. +To use the font, simply put \f(CW\*(C`\eusepackage{\f(CI<FontFamily>\f(CW}\*(C'\fR +in the preamble of your document. +.PP +This style file defines a number of options: +.IP "\fIlining, oldstyle, tabular, proportional\fR" 4 +.IX Item "lining, oldstyle, tabular, proportional" +Choose which digits will be used for the text fonts. +The defaults are \*(L"oldstyle\*(R" and \*(L"proportional\*(R" (if available). +.IP "\fIultrablack, ultrabold, heavy, extrablack, black, extrabold, demibold, semibold, bold\fR" 4 +.IX Item "ultrablack, ultrabold, heavy, extrablack, black, extrabold, demibold, semibold, bold" +Choose the weight that LaTeX will use for the \*(L"bold\*(R" weight +(i.e., the value of \f(CW\*(C`\ebfdefault\*(C'\fR). +.IP "\fIlight, medium, regular\fR" 4 +.IX Item "light, medium, regular" +Choose the weight that LaTeX will use for the \*(L"regular\*(R" weight +(i.e., the value of \f(CW\*(C`\emddefault\*(C'\fR). +.IP "\fIscaled=<scale>\fR" 4 +.IX Item "scaled=<scale>" +Scale the font by a factor of \fI<scale>\fR. +For example: to increase the size of the font by 5%, use the command +\&\f(CW\*(C`\eusepackage[scaled=1.05]{\f(CI<FontFamily>\f(CW}\*(C'\fR. +.Sp +This option is only available when the \fIxkeyval\fR package is found +in your TeX installation. +.PP +The style file will also try to load the \fIfontaxes\fR package, +which gives easy access to various font shapes and styles. +It is available from \s-1CTAN\s0 +(\fIhttp://www.ctan.org/tex\-archive/macros/latex/contrib/fontaxes\fR). +Using the machinery set up by \fIfontaxes\fR, the generated style file also +defines a number of commands (which take the text to be typeset as argument) +and declarations (which don't take arguments, but affect all text up to +the end of the current group) of its own: +.PP +.Vb 1 +\& DECLARATION COMMAND SHORT FORM OF COMMAND +\& +\& \etlshape \etexttitling \etexttl +\& \esufigures \etextsuperior \etextsu +\& \einfigures \etextinferior \etextin +.Ve +.PP +In addition, the \f(CW\*(C`\eswshape\*(C'\fR and \f(CW\*(C`\etextsw\*(C'\fR commands are redefined to place +swash on the secondary shape axis (\fIfontaxes\fR places it on the primary +shape axis); this makes these commands behave properly when nested, so that +\&\f(CW\*(C`\eswshape\eupshape\*(C'\fR will give upright swash. +.PP +There are no commands for accessing the numerator and denominator +fonts; these can be selected using \fIfontaxes\fR' standard commands, +e.g., \f(CW\*(C`\efontfigurestyle{numerator}\eselectfont\*(C'\fR. +.PP +The style file also provides a command \f(CW\*(C`\eornament{\f(CI<number>\f(CW}\*(C'\fR, +where \f(CW\*(C`\f(CI<number>\f(CW\*(C'\fR is a number from 0 to the total number of +ornaments minus one. Ornaments are always typeset using the current family, +series and shape. A list of all ornaments in a font can be created by +running LaTeX on the file \fInfssfont.tex\fR (part of a standard +LaTeX installation) and supplying the name of the ornament font. +.PP +To access the ornaments, \fBautoinst\fR creates a font-specific encoding file +\&\fI<FontFamily>_orn.enc\fR, +but only if that file doesn't yet exist in the current directory. +This is a deliberate feature that allows you to provide your own +encoding vector, e.g. if your fonts use non-standard glyph names for ornaments. +.PP +These commands are only generated for shapes and number styles +that actually exist; no commands are generated for shapes and styles +that don't exist, or whose generation has been turned off +using command-line options (see below). +Please also note that these commands are built on top of \fIfontaxes\fR; +if that package cannot be found, you're limited to using the +lower-level commands from standard \s-1NFSS\s0 (\f(CW\*(C`\efontfamily\*(C'\fR, \f(CW\*(C`\efontseries\*(C'\fR, +\&\f(CW\*(C`\efontshape\*(C'\fR etc.). +.SS "Using multiple font families in one document" +.IX Subsection "Using multiple font families in one document" +If you want to use more than one font family in a document, be aware +that style files generated by versions of \fBautoinst\fR older dan 2009 +are incompatible with those generated by newer versions. +.SS "\s-1NFSS\s0 codes" +.IX Subsection "NFSS codes" +\&\s-1NFSS\s0 identifies fonts by a combination of family, series (weight plus width), +shape and size. +\&\fBautoinst\fR parses the output of \f(CW\*(C`otfinfo \-\-info\*(C'\fR to determine +these parameters. When this fails +(e.g., because the font family contains uncommon widths or weights), +\&\fBautoinst\fR would end up with different fonts having the \fIsame\fR values +for these font parameters, which means that these fonts cannot be used in \s-1NFSS\s0. +In this case, \fBautoinst\fR will split the font family into multiple subfamilies +(based on each font file's \*(L"Subfamily\*(R" value) and try again. +(Since many font vendors misunderstand the \*(L"Subfamily\*(R" concept +and make each font file its own separate subfamily, +this strategy is only used as a last resort.) +.PP +If such a proliferation of font families is unwanted, +either run \fBautoinst\fR on a smaller set of fonts (omitting the ones that +failed to parse correctly) +or else add the missing widths, weights and shapes to the tables \f(CW%FD_WIDTH\fR, +\&\f(CW%FD_WEIGHT\fR and \f(CW%FD_SHAPE\fR, near the top of the source code. +Please also send a bug report (see \s-1AUTHOR\s0 below). +.PP +\&\fBautoinst\fR maps widths, weights and shapes to \s-1NFSS\s0 codes using +the following tables. These are based both on the standard \fIFontname\fR scheme +and on the tables in Philipp Lehman's \fIFont Installation Guide\fR, +but some changes had to be made to avoid name clashes in font families +with many different widths and weights. +.PP +.Vb 1 +\& WEIGHT WIDTH +\& +\& Thin t Ultra Compressed up +\& Ultra Light ul Extra Compressed ep +\& Extra Light el Compressed, Compact p +\& Light l Compact p +\& Book [1] Ultra Condensed uc +\& Regular [1] Extra Condensed ec +\& Medium mb Condensed c +\& Demibold db Narrow n +\& Semibold sb Semicondensed sc +\& Bold b Regular [1] +\& Extra Bold eb Semiextended sx +\& Ultra ub Extended x +\& Ultra Bold ub Expanded e +\& Black k Wide w +\& Extra Black ek +\& Ultra Black uk +\& Heavy h SHAPE +\& Poster r +\& Roman, Upright n [2] +\& Italic it +\& Cursive, Kursiv it +\& Oblique, Slanted it [3] +\& Incline(d) it [3] +.Ve +.PP +\fINotes:\fR +.IX Subsection "Notes:" +.IP "[1]" 4 +.IX Item "[1]" +When \fIboth\fR weight and width are empty, the \*(L"series\*(R" attribute becomes \*(L"m\*(R". +.IP "[2]" 4 +.IX Item "[2]" +Adobe Silentium Pro contains two \*(L"Roman\*(R" shapes (\*(L"RomanI\*(R" and \*(L"RomanII\*(R"); +the first of these is mapped to \*(L"n\*(R", the second one to \*(L"it\*(R". +.IP "[3]" 4 +.IX Item "[3]" +Mapping the \*(L"Slanted\*(R", \*(L"Oblique\*(R" or \*(L"Inclined\*(R" shape to \*(L"it\*(R" instead of \*(L"sl\*(R" +simplifies \fBautoinst\fR. Since font families with both italic and slanted +shapes do \- to the best of my knowledge \- not exist +(apart from Computer Modern, of course), +this shouldn't cause problems in real life. +.SS "A note for MiKTeX users" +.IX Subsection "A note for MiKTeX users" +Automatically installing the fonts into a suitable \s-1TEXMF\s0 tree +(as \fBautoinst\fR does by default) requires a TeX-installation that uses +the \fIkpathsea\fR library; with TeX distributions that implement their +own directory searching (such as MiKTeX), \fBautoinst\fR will complain that +it cannot find the \fIkpsewhich\fR program and install all generated files +into subdirectories of the current directory. +If you use such a TeX distribution, you should either move these files +to their correct destinations by hand, or use the \fI\-target\fR option +(see \*(L"COMMAND-LINE \s-1OPTIONS\s0\*(R" below) to specify a \s-1TEXMF\s0 tree. +.PP +Also, some OpenType fonts lead to \fIpl\fR and \fIvpl\fR files that +are too big for MiKTeX's \fIpltotf\fR and \fIvptovf\fR; +the versions that come with W32TeX (\fIhttp://www.w32tex.org\fR) +and TeXLive (\fIhttp://tug.org/texlive\fR) don't have this problem. +.SH "COMMAND-LINE OPTIONS" +.IX Header "COMMAND-LINE OPTIONS" +You may use either one or two dashes before options, +and option names may be shortened to a unique prefix +(e.g., \fB\-encoding\fR may be abbreviated to \fB\-enc\fR or even \fB\-en\fR, +but \fB\-e\fR is ambiguous (\fB\-encoding\fR, \fB\-extra\fR). +.IP "\fB\-encoding\fR=\fIencoding[,encoding]\fR" 4 +.IX Item "-encoding=encoding[,encoding]" +Use the specified encodings for the text fonts. The default is \*(L"\s-1OT1\s0,T1,LY1\*(R". +For each encoding, a file \fI<encoding>.enc\fR (in all \fIlowercase\fR) +should be somewhere where \fIotftotfm\fR can find it. Suitable encoding files +for \s-1OT1\s0, T1/TS1 and \s-1LY1\s0 come with \fBautoinst\fR. (Note that these files are +called \fIfontools_ot1.enc\fR etc. to avoid name clashes with other packages; +the \*(L"fontools_\*(R" prefix doesn't need to be specified.) +.Sp +Multiple text encodings can be specified as a comma-separated list: +\&\f(CW\*(C`\-encoding=OT1,T1\*(C'\fR. The encodings are passed to \fIfontenc\fR in the order +specified, so the last one will be the default text encoding. +.IP "\fB\-sanserif\fR" 4 +.IX Item "-sanserif" +Install the font as a sanserif font, accessed via \f(CW\*(C`\esffamily\*(C'\fR and \f(CW\*(C`\etextsf\*(C'\fR. +Note that the generated style file redefines \f(CW\*(C`\efamilydefault\*(C'\fR, +so including it will still make this font the default text font. +.IP "\fB\-typewriter\fR" 4 +.IX Item "-typewriter" +Install the font as a typewriter font, accessed via \f(CW\*(C`\ettfamily\*(C'\fR and +\&\f(CW\*(C`\etexttt\*(C'\fR. +Note that the generated style file redefines \f(CW\*(C`\efamilydefault\*(C'\fR, +so including it will still make this font the default text font. +.IP "\fB\-ts1\fR" 4 +.IX Item "-ts1" +.PD 0 +.IP "\fB\-nots1\fR" 4 +.IX Item "-nots1" +.PD +Turn the creation of TS1\-encoded fonts on or off. The default is \fB\-ts1\fR +if the text encodings (see \fI\-encoding\fR above) include T1, +\&\fB\-nots1\fR otherwise. +.IP "\fB\-smallcaps\fR" 4 +.IX Item "-smallcaps" +.PD 0 +.IP "\fB\-nosmallcaps\fR" 4 +.IX Item "-nosmallcaps" +.PD +Turn the creation of small caps fonts on or off. The default is +\&\fB\-smallcaps\fR. +.IP "\fB\-swash\fR" 4 +.IX Item "-swash" +.PD 0 +.IP "\fB\-noswash\fR" 4 +.IX Item "-noswash" +.PD +Turn the creation of swash fonts on or off. The default is \fB\-swash\fR. +.IP "\fB\-titling\fR" 4 +.IX Item "-titling" +.PD 0 +.IP "\fB\-notitling\fR" 4 +.IX Item "-notitling" +.PD +Turn the creation of titling fonts on or off. The default is \fB\-titling\fR. +.IP "\fB\-superiors\fR" 4 +.IX Item "-superiors" +.PD 0 +.IP "\fB\-nosuperiors\fR" 4 +.IX Item "-nosuperiors" +.PD +Turn the creation of fonts with superior characters on or off. +The default is \fB\-superiors\fR. +.IP "\fB\-inferiors\fR" 4 +.IX Item "-inferiors" +.PD 0 +.IP "\fB\-noinferiors\fR" 4 +.IX Item "-noinferiors" +.PD +Turn the creation of fonts with inferior digits on or off. +The default is \fB\-noinferiors\fR. +.IP "\fB\-fractions\fR" 4 +.IX Item "-fractions" +.PD 0 +.IP "\fB\-nofractions\fR" 4 +.IX Item "-nofractions" +.PD +Turn the creation of fonts with numerators and denominators on or off. +The default is \fB\-nofractions\fR. +.IP "\fB\-ornaments\fR" 4 +.IX Item "-ornaments" +.PD 0 +.IP "\fB\-noornaments\fR" 4 +.IX Item "-noornaments" +.PD +Turn the creation of ornament fonts on or off. The default is \fB\-ornaments\fR. +.IP "\fB\-verbose\fR" 4 +.IX Item "-verbose" +Verbose mode; print detailed info about what \fBautoinst\fR thinks it's doing. +.IP "\fB\-extra\fR=\fItext\fR" 4 +.IX Item "-extra=text" +Pass \fItext\fR as options to \fIotftotfm\fR. To prevent \fItext\fR from accidentily +being interpreted as options to \fBautoinst\fR, it should be properly quoted. +.IP "\fB\-figurekern\fR" 4 +.IX Item "-figurekern" +.PD 0 +.IP "\fB\-nofigurekern\fR" 4 +.IX Item "-nofigurekern" +.PD +Some fonts provide kerning pairs for tabular figures. +This is very probably not what you want +(e.g., numbers in tables won't line up exactly). +The option \fB\-nofigurekern\fR adds extra \fI \-\-ligkern\fR options +to the command lines for \fIotftotfm\fR to suppress such kerns +(but of course only for the \*(L"\s-1TLF\s0\*(R" and \*(L"TOsF\*(R" families). +Since this leads to very long command lines (it adds one hundred such options) +and the problem only occurs in very few fonts, +the default is \fB\-figurekern\fR. +.IP "\fB\-manual\fR" 4 +.IX Item "-manual" +Manual mode. By default, \fBautoinst\fR executes all \fIotftotfm\fR +command lines it generates; with the \fB\-manual\fR option, these commands are +instead written to a file \fIautoinst.bat\fR. +Also, the generated \fIotftotfm\fR command lines specify the \fI \-\-pl\fR option +(which tells \fIotftotfm\fR to generate readable/editable \fIpl\fR and \fIvpl\fR files +instead of the default \fItfm\fR and \fIvf\fR files) +and leave out the \fI \-\-automatic\fR option (which tells \fIotftotfm\fR to +leave all generated files in the current directory, rather than install +them into your \s-1TEXMF\s0 tree). +.Sp +When using this option, you should run \fIpltotf\fR and \fIvptovf\fR after +executing all commands, +to convert the \fIpl\fR and \fIvf\fR files to \fItfm\fR and \fIvf\fR format. +.PP +The following options are only meaningful in automatic mode, +and hence ignored in manual mode: +.IP "\fB\-target\fR=\fI\s-1DIRECTORY\s0\fR" 4 +.IX Item "-target=DIRECTORY" +Install all generated files into the \s-1TEXMF\s0 tree at \fI\s-1DIRECTORY\s0\fR. +.Sp +By default, \fBautoinst\fR searches your \f(CW$TEXMFLOCAL\fR and \f(CW$TEXMFHOME\fR paths +and installs all files into subdirectories of the first writable \s-1TEXMF\s0 tree +it finds (or into subdirectories of the current directory, +if no writable directory is found). +.IP "\fB\-vendor\fR=\fI\s-1VENDOR\s0\fR" 4 +.IX Item "-vendor=VENDOR" +.PD 0 +.IP "\fB\-typeface\fR=\fI\s-1TYPEFACE\s0\fR" 4 +.IX Item "-typeface=TYPEFACE" +.PD +These options are equivalent to \fIotftotfm\fR's \fI \-\-vendor\fR and \fI \-\-typeface\fR +options: they change the \*(L"vendor\*(R" and \*(L"typeface\*(R" parts of the names of the +subdirectories in the \s-1TEXMF\s0 tree where generated files will be stored. +The default values are \*(L"lcdftools\*(R" and the font's FontFamily name. +.Sp +Please note that these options change \fIonly\fR directory names, +not the names of any generated files. +.IP "\fB\-updmap\fR" 4 +.IX Item "-updmap" +.PD 0 +.IP "\fB\-noupdmap\fR" 4 +.IX Item "-noupdmap" +.PD +Control whether or not \fIupdmap\fR is called after the last call to \fIotftotfm\fR. +The default is \fB\-updmap\fR. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +Eddie Kohler's TypeTools (\fIhttp://www.lcdf.org/type\fR). +.PP +Perl is pre-installed on most Linux and Unix systems; +on Windows, try ActiveState's ActivePerl +(available from \fIhttp://www.activestate.com\fR) +or Strawberry Perl (\fIhttp://strawberryperl.com\fR). +.PP +XeTeX (\fIhttp://www.tug.org/xetex\fR) and LuaTeX (\fIhttp://www.luatex.org\fR) +are TeX extensions that can use many types of font +(including both flavours of OpenType) without TeX-specific support files. +.PP +The FontPro project (\fIhttps://github.com/sebschub/FontPro\fR) +offers very complete support for Adobe's Minion Pro and Myriad Pro +(including math), and is currently working on Cronos Pro as well. +.PP +John Owens' \fIotfinst\fR (available from \s-1CTAN\s0) is another wrapper +around \fIotftotfm\fR, and may work for you when \fBautoinst\fR doesn't. +.SH "AUTHOR" +.IX Header "AUTHOR" +Marc Penninga <marcpenninga@gmail.com> +.PP +When sending a bug report, please give as much relevant information as +possible; this includes at least (but may not be limited to) the output +from running \fBautoinst\fR with the \fI\-verbose\fR option. +Please make sure that this output includes all (if any) error messages. +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright (C) 2005\-2013 Marc Penninga. +.SH "LICENSE" +.IX Header "LICENSE" +This program is free software; you can redistribute it and/or modify +it under the terms of the \s-1GNU\s0 General Public License as published +by the Free Software Foundation, either version 2 of the License, +or (at your option) any later version. +A copy of the text of the \s-1GNU\s0 General Public License is included in +the \fIfontools\fR distribution; see the file \fIGPLv2.txt\fR. +.SH "DISCLAIMER" +.IX Header "DISCLAIMER" +This program is distributed in the hope that it will be useful, +but \s-1WITHOUT\s0 \s-1ANY\s0 \s-1WARRANTY\s0; without even the implied warranty of +\&\s-1MERCHANTABILITY\s0 or \s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0. See the +\&\s-1GNU\s0 General Public License for more details. +.SH "RECENT CHANGES" +.IX Header "RECENT CHANGES" +(See the source code for the rest of the story.) +.IP "\fI2013\-02\-06\fR" 12 +.IX Item "2013-02-06" +Bugfix: the directory names for map and encoding files contained +the \*(L"vendor\*(R" instead of the \*(L"typeface\*(R". +.IP "\fI2013\-01\-03\fR" 12 +.IX Item "2013-01-03" +Added extra \*(L"ssub\*(R" rules to the \fIfd\fR files that substitute \*(L"b\*(R" for \*(L"bx\*(R". +Verbose mode now also prints all generated commands before they're executed. +.IP "\fI2012\-10\-25\fR" 12 +.IX Item "2012-10-25" +Added extra \*(L"ssub\*(R" rules to the \fIfd\fR files that substitute italic +shapes for slanted ones. +.IP "\fI2012\-09\-25\fR" 12 +.IX Item "2012-09-25" +Added the \fI\-vendor\fR, \fI\-typeface\fR and \fI\-(no)updmap\fR command line options. +.IP "\fI2012\-07\-06\fR" 12 +.IX Item "2012-07-06" +Documentation update. +.IP "\fI2012\-03\-06\fR" 12 +.IX Item "2012-03-06" +Implemented the \*(L"splitting the font family into multiple subfamilies\*(R" +emergency strategy when font info parsing fails. +Added recognition for a number of unusual widths, weights and shapes. +.IP "\fI2012\-02\-29\fR" 12 +.IX Item "2012-02-29" +Fixed a bug in the font parsing code, +where possible widths, weights and shapes where tested in the wrong order; +this led to \*(L"ExtraLight\*(R" fonts being recognised as \*(L"Light\*(R". +Added recognition for \*(L"Narrow\*(R" and \*(L"Wide\*(R" widths. +Also added the \fI\-(no)figurekern\fR command-line option. +.IP "\fI2012\-02\-01\fR" 12 +.IX Item "2012-02-01" +Reorganised the code, and fixed some bugs in the process. +Added the \fI\-target\fR command-line option. +Made \fBautoinst\fR install the \fIfd\fR and \fIsty\fR files in +the same \s-1TEXMF\s0 tree as the other generated files. +Generate \s-1OT1\s0, T1 and \s-1LY1\s0 encoded text fonts by default. +Made \fI\-titling\fR a default option (instead of \fI\-notitling\fR). +Updated the documentation. diff --git a/Master/texmf-dist/doc/man/man1/autoinst.man1.pdf b/Master/texmf-dist/doc/man/man1/autoinst.man1.pdf Binary files differnew file mode 100644 index 00000000000..ae6a665e9b0 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/autoinst.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/bbox.1 b/Master/texmf-dist/doc/man/man1/bbox.1 new file mode 100644 index 00000000000..64696f32645 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/bbox.1 @@ -0,0 +1,71 @@ +.\" This manpage has been automatically generated by docbook2man +.\" from a DocBook document. This tool can be found at: +.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> +.\" Please send any bug reports, improvements, comments, patches, +.\" etc. to Steve Cheng <steve@ggi-project.org>. +.TH "BBOX" "1" "31 August 2010" "" "" + +.SH NAME +bbox \- prints out the bounding box of a rawppm or rawpbm image +.SH SYNOPSIS + +\fBbbox\fR [ \fB-l\fR ] [ \fB-r\fR ] [ \fB-h\fR ] [ \fB-V\fR ] [ \fB\fIrawpbmfile\fB\fR ] + +.SH "DESCRIPTION" +.PP +\fBbbox\fR reads a rawppm or rawpbm file +and prints out the bounding box of the image (as postscript comment and +in postscript points, i.e. 1/72dpi) as well as the high resolution +bounding box. Input is read from standard input if no filename is +specified. +Example output: + +.nf + %%BoundingBox: 12 253 829 837 + %%HiResBoundingBox: 12.500000 253.000000 828.500000 837.00000 + +.fi +.PP +\fBbbox\fR has only very limited memory requirements +as it reads the input line by line and thus needs to store only one picture +line in memory. +.SH "OPTIONS" +.TP +\fB-h | --help \fR +Show summary of options. +.TP +\fB-V \fR +Show version of program. +.TP +\fB-r \fR +resolution of picture in dpi +.TP +\fB-l \fR +loose bounding box (integer bounding box is expanded by 1 +point, hires bounding box is expanded by 0.5 points) +.SH "SEE ALSO" +.PP +ps2eps (1) +.SH "AUTHOR" +.PP +\fBbbox\fR was written by Roland Bless. +.SS "ACKNOWLEDGMENTS" +.PP +Special thanks goes to Michael Sharpe from UCSD who suggested a lot of improvements for +bbox to become more precise and robust, especially for small drawings. +.PP +An earlier version of this manual page was originally written by +Rafael Laboissiere <rafael@debian.org> for +the Debian system. Thank you Rafael! Permission is +granted to copy, distribute and/or modify this document under +the terms of the GNU Free Documentation +License, Version 1.1 or any later version published by the Free +Software Foundation; with no Invariant Sections, no Front-Cover +Texts and no Back-Cover Texts. +.SH "BUGS" +.PP +Though the code is quite small and the probability for bugs +is now small, there may be some left somewhere between the lines. +In case you find one, please send a short description with +\fBbbox\fR version number to <roland@bless.de> (please allow some time +to reply). diff --git a/Master/texmf-dist/doc/man/man1/bbox.man1.pdf b/Master/texmf-dist/doc/man/man1/bbox.man1.pdf Binary files differnew file mode 100644 index 00000000000..113beebfb8d --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/bbox.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/bg5conv.1 b/Master/texmf-dist/doc/man/man1/bg5conv.1 new file mode 100644 index 00000000000..4ee4815cfef --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/bg5conv.1 @@ -0,0 +1,110 @@ +.\" man page for bg5conv +.\" Copyright (C) 1994-2012 Werner Lemberg <wl@gnu.org> +.\" +.\" This program is free software; you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation; either version 2 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program in doc/COPYING; if not, write to the Free +.\" Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +.\" MA 02110-1301 USA +. +.TH BG5CONV 1 07-May-2012 "CJK Version 4.8.3" +. +.\" ==== +.\" ==== macro definitions +.\" ==== +. +.\" here we define \TeX for troff and nroff +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +. +.\" and here the same for \LaTeX +.if t \{\ +.ie '\*(.T'dvi' \ +.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX +.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX +.\} +.if n .ds LX LaTeX +. +.\" \LaTeXe +.\" note that we need \vareps for TeX instead of \eps which can only be +.\" accessed with the \N escape sequence (in the Math Italic font) +.if t \{\ +.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v' +.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v' +.\} +.if n .ds LE LaTeX\ 2e +. +.\" a typewriter font +.if t \{\ +.de C +\fC\\$1\fP\\$2 +.. +.\} +.if n \{\ +.de C +\\$1\\$2 +.. +.\} +. +.\" ==== +.\" ==== end of macro definitions +.\" ==== +. +. +. +.SH NAME +bg5conv \- convert a TeX document in Big\ 5 encoding into `preprocessed' +form. +. +. +.SH SYNOPSIS +.B bg5conv +< +.I infile +> +.I outfile +. +. +.SH DESCRIPTION +Big\ 5 encoding for traditional Chinese uses the characters +.C { , +.C } , +and +.C \e +which have special meanings in \*(TX +documents. +.PP +After processing a \*(LE +document which contains Big\ 5 characters with +.B bg5conv +you need not care about these special characters. +.PP +This filter is part of the +.B CJK +macro package for \*(LE. +. +. +.SH "SEE ALSO" +.BR \%sjisconv (1), +.BR \%cefconv (1), +.BR cef5conv (1), +.BR \%cefsconv (1), +.BR \%extconv (1), +.br +the +.B CJK +documentation files. +. +. +.SH AUTHOR +Werner Lemberg +.C <wl@gnu.org> diff --git a/Master/texmf-dist/doc/man/man1/bg5conv.man1.pdf b/Master/texmf-dist/doc/man/man1/bg5conv.man1.pdf Binary files differnew file mode 100644 index 00000000000..93d54c85c5b --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/bg5conv.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/bibtex.1 b/Master/texmf-dist/doc/man/man1/bibtex.1 new file mode 100644 index 00000000000..671acdbf6d7 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/bibtex.1 @@ -0,0 +1,136 @@ +.TH BIBTEX 1 "1 February 2010" "bibtex 0.99d" "Web2C 2012" +.\"===================================================================== +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.el .ds OX TeX for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\\s-2A\\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.\"===================================================================== +.SH NAME +bibtex \- make a bibliography for (La)TeX +.SH SYNOPSIS +.B bibtex +.RB [ \-min-crossrefs=\fInumber\fP ] +.RB [ \-terse ] +.IR auxname [ \fB.aux\fP ] +.\"===================================================================== +.SH DESCRIPTION +This manual page is not meant to be exhaustive. The complete +documentation for this version of \*(TX can be found in the info file +or manual +.IR "Web2C: A TeX implementation" . +.PP +\*(BX reads the top-level auxiliary +.RB ( .aux ) +file +.I auxname +that was output during the running of +.BR latex (1) +or +.BR tex (1) +and creates a bibliography +.RB ( .bbl ) +file that will be incorporated into the document on subsequent runs of +\*(LX or \*(TX. +.PP +\*(BX looks up, in bibliographic database +.RB ( .bib ) +files specified by the \\bibliography command, +the entries specified by the \\cite and \\nocite commands +in the \*(LX or \*(TX source file. +It formats the information from those entries +according to instructions in a bibliography style +.RB ( .bst ) +file (specified by the \\bibliographystyle command, +and it outputs the results to the +.B .bbl +file. +.PP +The \*(LX manual +explains what a \*(LX source file must contain to work with \*(BX. +Appendix B of the manual describes the format of the +.B .bib +files. The `\*(BXing' document describes extensions and details of +this format, and it gives other useful hints for using \*(BX. +.\"===================================================================== +.SH OPTIONS +The +.B \-min-crossrefs +option defines the minimum number of +.B crossref +required for automatic inclusion of the crossref'd entry on the citation +list; the default is two. +With the +.B \-terse +option, \*(BX operates silently. Without it, a banner and progress +reports are printed on +.IR stdout . +.PP +.\"===================================================================== +.SH ENVIRONMENT +\*(BX searches the directories in the +path defined by the BSTINPUTS environment variable for +.B .bst +files. If BSTINPUTS is not set, it uses the system default. +For +.B .bib +files, it uses the BIBINPUTS environment variable if that is set, +otherwise the default. +See +.BR tex (1) +for the details of the searching. +.PP +If the environment variable +TEXMFOUTPUT is set, \*(BX attempts to put its output +files in it, if they cannot be put in the current directory. Again, see +.BR tex (1). +No special searching is done for the +.B .aux +file. +.\"===================================================================== +.SH FILES +.TP +.I *.bst +Bibliography style files. +.TP +.I btxdoc.tex +``\*(BXing'' \- \*(LXable documentation for general \*(BX users +.TP +.I btxhak.tex +``Designing \*(BX Styles'' \- \*(LXable documentation for style designers +.TP +.I btxdoc.bib +database file for those two documents +.TP +.I xampl.bib +database file giving examples of all standard entry types +.TP +.I btxbst.doc +template file and documentation for the standard styles +.PP +All those files should be available somewhere on your system. +.PP +The host math.utah.edu has a vast collection of +.B .bib +files available for anonymous ftp, including references for all the +standard \*(TX books and a complete bibliography for TUGboat. +.\"===================================================================== +.SH "SEE ALSO" +.BR latex (1), +.BR tex (1). +.br +Leslie Lamport, +.IR "\*(LX \- A Document Preparation System" , +Addison-Wesley, 1985, ISBN 0-201-15790-X. +.\"===================================================================== +.SH AUTHOR +Oren Patashnik, Stanford University. This man page describes the web2c +version of \*(BX. Other ports of \*(BX, such as Donald Knuth's version +using the Sun Pascal compiler, do not have the same path searching +implementation, or the command-line options. diff --git a/Master/texmf-dist/doc/man/man1/bibtex.man1.pdf b/Master/texmf-dist/doc/man/man1/bibtex.man1.pdf Binary files differnew file mode 100644 index 00000000000..c0ce9f44a4d --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/bibtex.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/bundledoc.1 b/Master/texmf-dist/doc/man/man1/bundledoc.1 new file mode 100644 index 00000000000..c96c0fc8ec6 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/bundledoc.1 @@ -0,0 +1,516 @@ +.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "BUNDLEDOC 1" +.TH BUNDLEDOC 1 "2011-05-02" "v3.1" "User Commands" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +bundledoc \- bundle all the files needed by a LaTeX document +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +bundledoc +[\fB\-\-version\fR] +[\fB\-\-help\fR] +[\fB\-\-\fR[\fBno\fR]\fBverbose\fR] +[\fB\-\-texfile\fR=\fIfile\fR] +[\fB\-\-directory\fR=\fIdirectory\fR] +[\fB\-\-\fR[\fBno\fR]\fBlocalonly\fR] +[\fB\-\-exclude\fR=\fIstring\fR] +[\fB\-\-include\fR=\fIfilespec\fR] +[\fB\-\-manifest\fR=\fIfile\fR] +[\fB\-\-\fR\fBlistdeps\fR=[yes|no|only|rel]...] +[\fB\-\-\fR[\fBno\fR]\fBkeepdirs\fR] +[\fB\-\-config\fR=\fIfile\fR] +\&\fI.dep file\fR +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +\&\fBbundledoc\fR is a post-processor for the \fBsnapshot\fR package that +bundles together all the classes, packages, and files needed to build +a given LaTeX document. It reads the \fI.dep\fR file that \fBsnapshot\fR +produces, finds each of the files mentioned therein, and packages them +into a single archive file (e.g., a \fI.tar.gz\fR file), suitable for +moving across systems, transmitting to a colleague, etc. +.PP +As the simplest example possible, consider a LaTeX file called, say, +\&\fIhello.tex\fR: +.PP +.Vb 2 +\& \eRequirePackage{snapshot} % Needed by bundledoc +\& \edocumentclass[11pt]{article} +\& +\& \ebegin{document} +\& Hello, world! +\& \eend{document} +.Ve +.PP +The \f(CW\*(C`\eRequirePackage{snapshot}\*(C'\fR causes a \fIhello.dep\fR file to be produced. +When \fBbundledoc\fR is then given \f(CW\*(C`hello.dep\*(C'\fR as an argument, it locates the +dependent files \*(-- \fIsnapshot.sty\fR, \fIarticle.cls\fR, and \fIsize11.clo\fR \*(-- +and bundles them into a single archive file, along with \fIhello.tex\fR and a +\&\fI\s-1MANIFEST\s0\fR file (described in \*(L"\s-1OPTIONS\s0\*(R", below). +.SH "OPTIONS" +.IX Header "OPTIONS" +In the following descriptions, \fIsomefile\fR refers to the name of your +main LaTeX document (no extension). +.PP +\&\fBbundledoc\fR requires the name of the dependency file produced by +\&\fBsnapshot\fR (normally \fIsomefile\fR\fI.dep\fR). The following options may +also be given: +.IP "\fB\-\-version\fR" 4 +.IX Item "--version" +Output the \fBbundledoc\fR script's version number. This overrides all +of the remaining options. +.IP "\fB\-\-help\fR" 4 +.IX Item "--help" +Give a brief usage message. This overrides all of the remaining options. +.ie n .IP "\fB\-\-\fR[\fBno\fR]\fBverbose\fR (default: ""noverbose"")" 4 +.el .IP "\fB\-\-\fR[\fBno\fR]\fBverbose\fR (default: \f(CWnoverbose\fR)" 4 +.IX Item "--[no]verbose (default: noverbose)" +\&\fBbundledoc\fR normally does not output anything except error messages. +With \f(CW\*(C`\-\-verbose\*(C'\fR, it outputs copious status messages. +.IP "\fB\-\-texfile\fR=\fImain .tex file\fR (default: \fIsomefile\fR\fI.tex\fR)" 4 +.IX Item "--texfile=main .tex file (default: somefile.tex)" +\&\fBsnapshot\fR's dependency file does not list the main LaTeX file (the +one that gets passed to \fBlatex\fR). In order for \fBbundledoc\fR to find +and bundle that file, \fBbundledoc\fR assumes it has the same name as the +\&\fBsnapshot\fR dependency file but with a \fI.tex\fR extension. If this is +not the case, then use \f(CW\*(C`\-\-texfile\*(C'\fR to specify the correct filename. +.IP "\fB\-\-directory\fR=\fIarchive directory\fR (default: \fIsomefile\fR)" 4 +.IX Item "--directory=archive directory (default: somefile)" +When \fBbundledoc\fR creates an archive (e.g., a \fI.tar\fR or \fI.zip\fR file) +containing the document's files, it puts all of them in a directory to +avoid cluttering the current directory with files. If the given +dependency file is called \fIsomefile\fR\fI.dep\fR then the resulting +archive will, by default, store all the dependent files in a +\&\fIsomefile\fR directory. To change the directory name use the +\&\f(CW\*(C`\-\-directory\*(C'\fR option. +.ie n .IP "\fB\-\-\fR[\fBno\fR]\fBlocalonly\fR (default: ""nolocalonly"")" 4 +.el .IP "\fB\-\-\fR[\fBno\fR]\fBlocalonly\fR (default: \f(CWnolocalonly\fR)" 4 +.IX Item "--[no]localonly (default: nolocalonly)" +Although \fBbundledoc\fR normally archives all of the files named in the +\&\fI.dep\fR file, the \f(CW\*(C`\-\-localonly\*(C'\fR option tells \fBbundledoc\fR to exclude +all files located in a directory other than the \fI.tex\fR file's +directory or one of its subdirectories. +.IP "\fB\-\-exclude\fR=\fIstring\fR (default: \fInone\fR)" 4 +.IX Item "--exclude=string (default: none)" +While \f(CW\*(C`\-\-localonly\*(C'\fR causes files outside of the \fI.tex\fR file's +directory tree to be omitted from the archive, \f(CW\*(C`\-\-exclude\*(C'\fR provides +finer-grained control over files to omit from the archive. The +\&\f(CW\*(C`\-\-exclude\*(C'\fR option, which can be specified repeatedly on the command +line, causes all files whose name contains \fIstring\fR to be omitted +from the archive. +.IP "\fB\-\-include\fR=\fIfilespec\fR (default: \fInone\fR)" 4 +.IX Item "--include=filespec (default: none)" +The \f(CW\*(C`\-\-include\*(C'\fR option, which can be specified repeatedly on the +command line, instructs \fBbundledoc\fR to include in the archive all of +the files matching \fIfilespec\fR, even if they're not referenced in the +\&\fI.dep\fR file. +.IP "\fB\-\-manifest\fR=\fImanifest file\fR (default: \fI\s-1MANIFEST\s0\fR)" 4 +.IX Item "--manifest=manifest file (default: MANIFEST)" +In addition to the dependent files, \fBbundledoc\fR includes in the +archive file one extra file called, by default, ``\fI\s-1MANIFEST\s0\fR''. +\&\fI\s-1MANIFEST\s0\fR is a text file that lists the original filenames of all +the dependencies. To change the filename from ``\fI\s-1MANIFEST\s0\fR'' to +something else, use the \f(CW\*(C`\-\-manifest\*(C'\fR option. As a special case, +\&\f(CW\*(C`\-\-manifest=""\*(C'\fR tells \fBbundledoc\fR not to include a manifest file at +all. +.ie n .IP "\fB\-\-listdeps\fR=[yes|no|only|rel]...] (default: ""no"")" 4 +.el .IP "\fB\-\-listdeps\fR=[yes|no|only|rel]...] (default: \f(CWno\fR)" 4 +.IX Item "--listdeps=[yes|no|only|rel]...] (default: no)" +\&\f(CW\*(C`\-\-listdeps\*(C'\fR accepts one or more of \f(CW\*(C`yes\*(C'\fR, \f(CW\*(C`no\*(C'\fR, \f(CW\*(C`only\*(C'\fR, or \f(CW\*(C`rel\*(C'\fR +as a comma-separated list. As long as \f(CW\*(C`no\*(C'\fR does not appear in this +list, \fBbundledoc\fR outputs all of the main LaTeX file's dependencies. +If the list contains \f(CW\*(C`rel\*(C'\fR, then \fBbundledoc\fR outputs the list of +dependencies with relative pathnames. If the list contains \f(CW\*(C`only\*(C'\fR, +then \fBbundledoc\fR exits after displaying the list, without producing +an archive. +.ie n .IP "\fB\-\-\fR[\fBno\fR]\fBkeepdirs\fR (default: ""nokeepdirs"")" 4 +.el .IP "\fB\-\-\fR[\fBno\fR]\fBkeepdirs\fR (default: \f(CWnokeepdirs\fR)" 4 +.IX Item "--[no]keepdirs (default: nokeepdirs)" +Normally, the archive file that \fBbundledoc\fR produces contains a +single directory \*(-- and subdirectories, if the document refers +explicitly to them \*(-- in which all the dependent files lie. If +\&\f(CW\*(C`\-\-keepdirs\*(C'\fR is specified, all the dependent files are stored with +their original pathnames. For example, if \fIsomefile.tex\fR depends on +\&\fIfigures/somefigure.eps\fR, \fIarticle.cls\fR, and \fIsnapshot.sty\fR, then +the \fIsomefile\fR archive will normally contain the following files: +.RS 4 +.IP "\(bu" 4 +\&\fIsomefile/somefile.tex\fR +.IP "\(bu" 4 +\&\fIsomefile/figures/somefigure.eps\fR +.IP "\(bu" 4 +\&\fIsomefile/article.cls\fR +.IP "\(bu" 4 +\&\fIsomefile/snapshot.sty\fR +.IP "\(bu" 4 +\&\fIsomefile/MANIFEST\fR +.RE +.RS 4 +.Sp +However, \f(CW\*(C`\-\-keepdirs\*(C'\fR will cause the \fIsomefile\fR archive to contain +the following sorts of filenames instead: +.IP "\(bu" 4 +\&\fIhome/me/mydocs/somefile.tex\fR +.IP "\(bu" 4 +\&\fIhome/me/mydocs/figures/somefigure.eps\fR +.IP "\(bu" 4 +\&\fIusr/share/texmf/tex/latex/base/article.cls\fR +.IP "\(bu" 4 +\&\fIusr/share/texmf/tex/latex/snapshot/snapshot.sty\fR +.RE +.RS 4 +.Sp +\&\f(CW\*(C`\-\-directory\*(C'\fR is not used when \f(CW\*(C`\-\-keepdirs\*(C'\fR is in effect. In +addition, no manifest file is written to the archive file as it +contains redundant information. +.RE +.IP "\fB\-\-config\fR=\fIconfiguration file\fR (default: <none>)" 4 +.IX Item "--config=configuration file (default: <none>)" +The \f(CW\*(C`\-\-config\*(C'\fR option is used to point \fBbundledoc\fR to the +appropriate configuration (\fI.cfg\fR) file for your TeX distribution and +operating system. \fBbundledoc\fR comes with a few configuration files +and it's easy to write more. See \*(L"\s-1CONFIGURATION\s0 \s-1FILES\s0\*(R" (below) for +a description of the configuration file format. +.SH "CONFIGURATION FILES" +.IX Header "CONFIGURATION FILES" +.SS "Format" +.IX Subsection "Format" +Configuration files follow a fairly simple format. Lines beginning with +\&\f(CW\*(C`#\*(C'\fR are comments. Blank lines are ignored. All other lines are of the +form: +.PP +.Vb 1 +\& variable: value +.Ve +.PP +The current version of \fBbundledoc\fR recognizes the following variables: +.IP "\fBbundle\fR" 4 +.IX Item "bundle" +The command to use to bundle a set of files into a single archive file +.IP "\fBsink\fR" 4 +.IX Item "sink" +The affix to a command to discard its output +.IP "\fBfind\fR" 4 +.IX Item "find" +The command to find a file within the TeX tree(s). +.PP +Values that are too long for one line can be split across multiple lines +by using \f(CW\*(C`\e\*(C'\fR as the line-continuation symbol. +.PP +There are two environment variables that \fBbundledoc\fR makes available +for use by configuration-file commands: \f(CW\*(C`BDBASE\*(C'\fR, which is set to +\&\fIsomefile\fR (as in \*(L"\s-1OPTIONS\s0\*(R"), and \f(CW\*(C`BDINPUTS\*(C'\fR, which is set to a +space-separated list of files that a command is to operate upon. That +is, when the command associated with \f(CW\*(C`bundle\*(C'\fR is running, \f(CW\*(C`BDINPUTS\*(C'\fR +contains the list of all the files that are to be archived. In +contrast, when the command associated with \f(CW\*(C`find\*(C'\fR is running, +\&\f(CW\*(C`BDINPUTS\*(C'\fR contains the name of the file to search for. +.SS "Examples" +.IX Subsection "Examples" +The following configuration file parallels \fBbundledoc\fR's default +values of the various configuration-file variables, which represents a +kpathsea-based TeX distribution running on a generic Unix system, +which doesn't necessarily have any of the \s-1GNU\s0 tools, such as \fBgzip\fR +or \s-1GNU\s0 \fBtar\fR: +.PP +.Vb 2 +\& # "Default" configuration file +\& # By Scott Pakin <scott+bdoc@pakin.org> +\& +\& bundle: (tar \-cvf \- $BDINPUTS | compress > $BDBASE.tar.Z) +\& sink: > /dev/null 2>&1 +\& find: kpsewhich \-progname=latex $BDINPUTS +.Ve +.PP +The parentheses in the \f(CW\*(C`bundle:\*(C'\fR line tell the Unix shell to run the +command in a subshell. This is to make the \f(CW\*(C`sink:\*(C'\fR affix work +properly (i.e., so there aren't two \f(CW\*(C`>\*(C'\fR's in the same command). +.PP +Notice how the commands treat \f(CW\*(C`BDBASE\*(C'\fR and \f(CW\*(C`BDINPUTS\*(C'\fR like any other +environment variables in a Unix shell, using \f(CW\*(C`$\*(C'\fR to take their value. +Other operating systems use different conventions for referring to +environment variables. For instance, a configuration file for a +Windows-based TeX distribution would use \f(CW\*(C`%BDBASE%\*(C'\fR and \f(CW\*(C`%BDINPUTS%\*(C'\fR +instead. +.PP +The value for \f(CW\*(C`sink:\*(C'\fR is specific to an operating system. The value +for \f(CW\*(C`find:\*(C'\fR is specific to a TeX distribution. \f(CW\*(C`bundle:\*(C'\fR is where +the most opportunity for customization lies. You can use \f(CW\*(C`bundle:\*(C'\fR +to specify your favorite archive format. For example, you can produce +a shar file on Unix with something like: +.PP +.Vb 1 +\& bundle: (shar \-\-archive\-name="$BDBASE" $BDINPUTS > $BDBASE.sh) +.Ve +.PP +or a \s-1CAB\s0 file on Microsoft Windows with something like: +.PP +.Vb 1 +\& bundle: cabarc \-r \-p N %BDBASE%.cab %BDINPUTS% +.Ve +.SH "EXAMPLES" +.IX Header "EXAMPLES" +Assume that \fImyfile.dep\fR was produced from \fImyfile.tex\fR by following +the instructions in the Description section. The +following command produces a \fI.zip\fR file with the MikTeX TeX +distribution running on Microsoft Windows: +.PP +.Vb 1 +\& bundledoc \-\-config=miktex.cfg myfile.dep +.Ve +.PP +(In practice, it's probably necessary to specify to \f(CW\*(C`\-\-config\*(C'\fR the +complete path to \fBbundledoc\fR's \fImiktex.cfg\fR configuration file.) +.PP +The following builds a \fI.tar.gz\fR archive with the TeX Live +distribution running on a Unix-like operating system. \fBbundledoc\fR +will produce verbose output describing its operations. All files not +in the same directory tree as \fImyfile.tex\fR and all files containing +\&\*(L".fd\*(R" or \*(L".sty\*(R" in their names are omitted. However, all \fI.bib\fR +files in the current directory will be included in the archive even +though none of them are referenced by \fImyfile.dep\fR. Finally, no +\&\fI\s-1MANIFEST\s0\fR file will be produced. +.PP +.Vb 3 +\& bundledoc \-\-config=texlive\-unix.cfg \-\-verbose \-\-localonly \e +\& \-\-exclude=.fd \-\-exclude=.cfg \-\-include="*.bib" \-\-manifest="" \e +\& myfile.dep +.Ve +.SH "FILES" +.IX Header "FILES" +The user must have previously installed \fIsnapshot.sty\fR and used it to +produce a dependency file for his document. Besides that, the set of +external files needed by \fBbundledoc\fR is system-specific and depends on the +configuration file used. (See \*(L"\s-1CONFIGURATION\s0 \s-1FILES\s0\*(R", above.) +.PP +\&\fBbundledoc\fR currently comes with two configuration files: +.IP "\fItexlive\-unix.cfg\fR" 4 +.IX Item "texlive-unix.cfg" +Configuration file for TeX Live installations on Unix or Linux. TeX +Live is a kpathsea-based TeX distribution that runs on various flavors +of Unix and Microsoft Windows. \fItexlive\-unix.cfg\fR assumes you have +\&\fBgzip\fR and uses it to produce a \fI.tar.gz\fR archive file. The +configuration file has \fBbundledoc\fR use \fBkpsewhich\fR to find LaTeX +files. +.IP "\fImiktex.cfg\fR" 4 +.IX Item "miktex.cfg" +Configuration file for MikTeX installations. MikTeX is a popular TeX +distribution for Microsoft Windows. \fImiktex.cfg\fR assumes you have +\&\fBzip\fR and uses it to produce a \fI.zip\fR archive file. The +configuration file has \fBbundledoc\fR use the rather nonstandard +\&\fBinitexmf\fR to find LaTeX files. +.SH "NOTES" +.IX Header "NOTES" +.SS "Including and excluding files" +.IX Subsection "Including and excluding files" +The \f(CW\*(C`\-\-localonly\*(C'\fR, \f(CW\*(C`\-\-exclude\*(C'\fR, and \f(CW\*(C`\-\-include\*(C'\fR options provide +control over the archive's contents. \f(CW\*(C`\-\-exclude\*(C'\fR and \f(CW\*(C`\-\-include\*(C'\fR +can be specified repeatedly on the command line. The order in which +these options are specified is immaterial; \fBbundledoc\fR processes file +inclusions and exclusions in the following order: +.IP "1." 4 +All files referenced by the \fI.dep\fR file are added to the list of +files to archive. +.IP "2." 4 +If \f(CW\*(C`\-\-localonly\*(C'\fR is specified, all files not found in the \fI.tex\fR +file's directory are removed from the list. +.IP "3." 4 +For each \f(CW\*(C`\-\-exclude\*(C'\fR string specified, all files containing that +string are removed from the list. +.IP "4." 4 +For each \f(CW\*(C`\-\-include\*(C'\fR file specification, the set of files designated +by its expansion are added to the list. +.SS "Issues When Running Under Microsoft Windows" +.IX Subsection "Issues When Running Under Microsoft Windows" +First, because \fBbundledoc\fR is a Perl script, you should do one of the +following to run it under Windows: +.IP "\(bu" 4 +\&\f(CW\*(C`perl bundledoc\*(C'\fR +.IP "\(bu" 4 +Rename \fIbundledoc\fR to \fIbundledoc.pl\fR and run \f(CW\*(C`bundledoc.pl\*(C'\fR. (This +is assuming you have a file association set up for \fI.pl\fR.) +.IP "\(bu" 4 +Run the \fBpl2bat\fR script (if you have it) to convert \fIbundledoc\fR to +\&\fIbundledoc.bat\fR, then run \f(CW\*(C`bundledoc\*(C'\fR. +.PP +Second, Windows uses a multi-rooted filesystem (i.e., multiple drive +letters). I wouldn't be surprised if bad things were to happen if the +files to be bundled are scattered across drives. In addition, Windows +supports ``\s-1UNC\s0'' filenames, which have no drive letter at all, just a +machine and share name. \s-1UNC\s0 filenames are also untested waters for +\&\fBbundledoc\fR. Be careful! +.SS "Testing Status" +.IX Subsection "Testing Status" +I have tested \fBbundledoc\fR only with Perl v5.6.0 and later and only on +the following platforms: +.IP "\(bu" 4 +Linux + TeX Live +.IP "\(bu" 4 +Linux + teTeX +.IP "\(bu" 4 +Windows \s-1NT\s0 + MiKTeX +.IP "\(bu" 4 +Solaris + ??? (something kpathsea-based) +.PP +It is my hope that \fBbundledoc\fR works on many more platforms than +those. I tried to make the program itself fairly independent of the +operating system; only the configuration files should have to change +to run \fBbundledoc\fR on a different system. +.SS "Future Work" +.IX Subsection "Future Work" +I'd like \fBbundledoc\fR to work on as wide a variety of TeX +distributions as possible. If your platform is significantly +different from the ones listed in \*(L"Testing Status\*(R" (e.g., if you're +running MacOS) and you need to create a substantially different +configuration file from \fItexlive\-unix.cfg\fR and \fImiktex.cfg\fR, please +send it to me at the address listed in \*(L"\s-1AUTHOR\s0\*(R" so I can include it +in a future version of \fBbundledoc\fR. (I make no promises, though). +.PP +Once \fBbundledoc\fR works on all the major operating systems and TeX +distributions it would be really convenient if I could get +\&\fBbundledoc\fR to detect the platform it's running on and automatically +select an appropriate configuration file. +.PP +Finally, it would be handy for \fBbundledoc\fR to include fonts in the +archive file. At a minimum, it should include \fI.tfm\fR files, but it +would be even better if it included \fI.mf\fR, \fI.pfb\fR, \fI.ttf\fR, and +other common font formats, as well. +.SS "Acknowledgments" +.IX Subsection "Acknowledgments" +Thanks to Fabien Vignes-Tourneret for suggesting what became the +\&\f(CW\*(C`\-\-localonly\*(C'\fR option and for a discussion that led to the +\&\f(CW\*(C`\-\-exclude\*(C'\fR and \f(CW\*(C`\-\-include\*(C'\fR options; and to Marius Kleiner for +updating \fBbundledoc\fR to properly handle document subdirectories. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIgzip\fR\|(1), \fIkpsewhich\fR\|(1), \fIlatex\fR\|(1), \fIperl\fR\|(1), \fIzip\fR\|(1), the \fBsnapshot\fR +documentation +.SH "AUTHOR" +.IX Header "AUTHOR" +Scott Pakin, \fIscott+bdoc@pakin.org\fR diff --git a/Master/texmf-dist/doc/man/man1/bundledoc.man1.pdf b/Master/texmf-dist/doc/man/man1/bundledoc.man1.pdf Binary files differnew file mode 100644 index 00000000000..e2d458a6830 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/bundledoc.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/cef5conv.1 b/Master/texmf-dist/doc/man/man1/cef5conv.1 new file mode 100644 index 00000000000..e1d2c6a7ad8 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/cef5conv.1 @@ -0,0 +1,127 @@ +.\" man page for cef5conv +.\" Copyright (C) 1994-2012 Werner Lemberg <wl@gnu.org> +.\" +.\" This program is free software; you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation; either version 2 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program in doc/COPYING; if not, write to the Free +.\" Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +.\" MA 02110-1301 USA +. +.TH CEF5CONV 1 07-May-2012 "CJK Version 4.8.3" +. +.\" ==== +.\" ==== macro definitions +.\" ==== +. +.\" here we define \TeX for troff and nroff +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +. +.\" and here the same for \LaTeX +.if t \{\ +.ie '\*(.T'dvi' \ +.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX +.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX +.\} +.if n .ds LX LaTeX +. +.\" \LaTeXe +.\" note that we need \vareps for TeX instead of \eps which can only be +.\" accessed with the \N escape sequence (in the Math Italic font) +.if t \{\ +.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v' +.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v' +.\} +.if n .ds LE LaTeX\ 2e +. +.\" a typewriter font +.if t \{\ +.de C +\fC\\$1\fP +.. +.\} +.if n \{\ +.de C +\\$1 +.. +.\} +. +.\" ==== +.\" ==== end of macro definitions +.\" ==== +. +. +. +.SH NAME +cef5conv \- convert a TeX document in Big\ 5 encoding containing CEF macros +into `preprocessed' form. +. +. +.SH SYNOPSIS +.B cef5conv +< +.I infile +> +.I outfile +. +. +.SH DESCRIPTION +The +.B Chinese Encoding Framework +.RB ( CEF ) +developed by Christian Wittern +.C <cwittern@conline.central.de> +makes it possible to include CJK characters in various encodings using the +SGML macros +.B &CX-aabb; +for Big\ 5 and CNS encoding and +.B &U-aabb; +for Unicode +.RB ( X +denotes a number between 0 and 7; 0 represents Big\ 5 encoding, 1-7 CNS +encoding planes 1-7. +.B aabb +is either a decimal or hexadecimal number). +.PP +.B cef5conv +converts the CEF macros of a Big\ 5 encoded document together with the Big\ +5 encoding itself into a form which can directly processed with \*(LE. +It is identical to +.IP +.B bg5conv +< +.I infile +| +.B cefconv +> +.I outfile +.PP +This filter is part of the +.B CJK +macro package for \*(LE. +. +. +.SH "SEE ALSO" +.BR \%sjisconv (1), +.BR bg5conv (1), +.BR \%cefconv (1), +.BR \%cefsconv (1), +.BR \%extconv (1), +.br +the +.B CJK +documentation files. +. +. +.SH AUTHOR +Werner Lemberg +.C <wl@gnu.org> diff --git a/Master/texmf-dist/doc/man/man1/cef5conv.man1.pdf b/Master/texmf-dist/doc/man/man1/cef5conv.man1.pdf Binary files differnew file mode 100644 index 00000000000..8cabb2e1a89 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/cef5conv.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/cefconv.1 b/Master/texmf-dist/doc/man/man1/cefconv.1 new file mode 100644 index 00000000000..312740d7d1c --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/cefconv.1 @@ -0,0 +1,117 @@ +.\" man page for cefconv +.\" Copyright (C) 1994-2012 Werner Lemberg <wl@gnu.org> +.\" +.\" This program is free software; you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation; either version 2 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program in doc/COPYING; if not, write to the Free +.\" Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +.\" MA 02110-1301 USA +. +.TH CEFCONV 1 07-May-2012 "CJK Version 4.8.3" +. +.\" ==== +.\" ==== macro definitions +.\" ==== +. +.\" here we define \TeX for troff and nroff +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +. +.\" and here the same for \LaTeX +.if t \{\ +.ie '\*(.T'dvi' \ +.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX +.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX +.\} +.if n .ds LX LaTeX +. +.\" \LaTeXe +.\" note that we need \vareps for TeX instead of \eps which can only be +.\" accessed with the \N escape sequence (in the Math Italic font) +.if t \{\ +.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v' +.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v' +.\} +.if n .ds LE LaTeX\ 2e +. +.\" a typewriter font +.if t \{\ +.de C +\fC\\$1\fP +.. +.\} +.if n \{\ +.de C +\\$1 +.. +.\} +. +.\" ==== +.\" ==== end of macro definitions +.\" ==== +. +. +. +.SH NAME +cefconv \- convert a TeX document containing CEF macros into `preprocessed' +form. +. +. +.SH SYNOPSIS +.B cefconv +< +.I infile +> +.I outfile +. +. +.SH DESCRIPTION +The +.B Chinese Encoding Framework +.RB ( CEF ) +developed by Christian Wittern +.C <cwittern@conline.central.de> +makes it possible to include CJK characters in various encodings using the +SGML macros +.B &CX-aabb; +for Big\ 5 and CNS encoding and +.B &U-aabb; +for Unicode +.RB ( X +denotes a number between 0 and 7; 0 represents Big\ 5 encoding, 1-7 CNS +encoding planes 1-7. +.B aabb +is either a decimal or hexadecimal number) +.PP +.B \%cefconv +converts the CEF macros into a form which can directly processed with \*(LE. +.PP +This filter is part of the +.B CJK +macro package for \*(LE. +. +. +.SH "SEE ALSO" +.BR \%sjisconv (1), +.BR bg5conv (1), +.BR cef5conv (1), +.BR \%cefsconv (1), +.BR \%extconv (1), +.br +the +.B CJK +documentation files. +. +. +.SH AUTHOR +Werner Lemberg +.C <wl@gnu.org> diff --git a/Master/texmf-dist/doc/man/man1/cefconv.man1.pdf b/Master/texmf-dist/doc/man/man1/cefconv.man1.pdf Binary files differnew file mode 100644 index 00000000000..0f2054a1a0e --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/cefconv.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/cefsconv.1 b/Master/texmf-dist/doc/man/man1/cefsconv.1 new file mode 100644 index 00000000000..d9c2d578acd --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/cefsconv.1 @@ -0,0 +1,127 @@ +.\" man page for cefsconv +.\" Copyright (C) 1994-2012 Werner Lemberg <wl@gnu.org> +.\" +.\" This program is free software; you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation; either version 2 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program in doc/COPYING; if not, write to the Free +.\" Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +.\" MA 02110-1301 USA +. +.TH CEFSCONV 1 07-May-2012 "CJK Version 4.8.3" +. +.\" ==== +.\" ==== macro definitions +.\" ==== +. +.\" here we define \TeX for troff and nroff +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +. +.\" and here the same for \LaTeX +.if t \{\ +.ie '\*(.T'dvi' \ +.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX +.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX +.\} +.if n .ds LX LaTeX +. +.\" \LaTeXe +.\" note that we need \vareps for TeX instead of \eps which can only be +.\" accessed with the \N escape sequence (in the Math Italic font) +.if t \{\ +.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v' +.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v' +.\} +.if n .ds LE LaTeX\ 2e +. +.\" a typewriter font +.if t \{\ +.de C +\fC\\$1\fP +.. +.\} +.if n \{\ +.de C +\\$1 +.. +.\} +. +.\" ==== +.\" ==== end of macro definitions +.\" ==== +. +. +. +.SH NAME +cefsconv \- convert a TeX document in SJIS encoding containing CEF macros +into `preprocessed' form. +. +. +.SH SYNOPSIS +.B cefsconv +< +.I infile +> +.I outfile +. +. +.SH DESCRIPTION +The +.B Chinese Encoding Framework +.RB ( CEF ) +developed by Christian Wittern +.C <cwittern@conline.central.de> +makes it possible to include CJK characters in various encodings using the +SGML macros +.B &CX-aabb; +for Big\ 5 and CNS encoding and +.B &U-aabb; +for Unicode +.RB ( X +denotes a number between 0 and 7; 0 represents Big\ 5 encoding, 1-7 CNS +encoding planes 1-7. +.B aabb +is either a decimal or hexadecimal number). +.PP +.B \%cefsconv +converts the CEF macros of a SJIS encoded document together with the SJIS +encoding itself into a form which can directly processed with \*(LE. +It is identical to +.IP +.B sjisconv +< +.I infile +| +.B cefconv +> +.I outfile +.PP +This filter is part of the +.B CJK +macro package for \*(LE. +. +. +.SH "SEE ALSO" +.BR \%sjisconv (1), +.BR bg5conv (1), +.BR \%cefconv (1), +.BR cef5conv (1), +.BR \%extconv (1), +.br +the +.B CJK +documentation files. +. +. +.SH AUTHOR +Werner Lemberg +.C <wl@gnu.org> diff --git a/Master/texmf-dist/doc/man/man1/cefsconv.man1.pdf b/Master/texmf-dist/doc/man/man1/cefsconv.man1.pdf Binary files differnew file mode 100644 index 00000000000..f4c0e0102ea --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/cefsconv.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/cfftot1.1 b/Master/texmf-dist/doc/man/man1/cfftot1.1 new file mode 100644 index 00000000000..7cefb03d69e --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/cfftot1.1 @@ -0,0 +1,87 @@ +.ds V 2.92 +.de M +.BR "\\$1" "(\\$2)\\$3" +.. +.de Sp +.if n .sp +.if t .sp 0.4 +.. +.TH CFFTOT1 1 "LCDF Typetools" "Version \*V" +.SH NAME +cfftot1 \- convert PostScript font from CFF to Type 1 +.SH SYNOPSIS +.B cfftot1 +\%[\fB\-a\fR] +\%[\fIinput\fR [\fIoutput\fR]] +.SH DESCRIPTION +.BR Cfftot1 +converts PostScript font programs in the Compact Font Format (CFF) into +Type 1 font programs in PFB or PFA format, preserving all hints that can be +represented in Type 1. The input file should be a raw CFF file or a +PostScript-flavored OpenType font. If the file +.I output +is not specified output goes to the standard output. +If the file +.I input +is not specified input comes from the standard input. +' +.SH OPTIONS +.PD 0 +.TP 5 +.BI \-a "\fR, " \-\-pfa +Output font in ASCII PFA format. +' +.Sp +.TP 5 +.BI \-b "\fR, " \-\-pfb +Output font in binary PFB format. This is the default. +' +.Sp +.TP 5 +.BI \-n " name\fR, " \-\-name " name" +Output the CFF's component font named +.IR name . +CFF files can contain more than one font, although few do. Use this option +to select a particular font from a multi-font collection. By default +cfftot1 chooses the collection's first font. +' +.Sp +.TP 5 +.BI \-o " file\fR, " \-\-output " file" +Write output font to +.IR file +instead of the standard output. +' +.Sp +.TP 5 +.BR \-q ", " \-\-quiet +Do not generate any error messages. +' +.Sp +.TP 5 +.BR \-h ", " \-\-help +Print usage information and exit. +' +.Sp +.TP 5 +.BR \-v ", " \-\-version +Print the version number and some short non-warranty information and exit. +.PD +' +.SH "SEE ALSO" +.LP +.M t1binary 1 , +.M t1ascii 1 +.LP +.I "Adobe Type 1 Font Format" +.LP +Adobe Technical Notes #5176, +.IR "The Compact Font Format Specification" , +and #5177, +.I "The Type 2 Charstring Format" +.LP +.IR "OpenType Specification" , +Version 1.4 +' +.SH AUTHOR +Eddie Kohler (ekohler@gmail.com) diff --git a/Master/texmf-dist/doc/man/man1/cfftot1.man1.pdf b/Master/texmf-dist/doc/man/man1/cfftot1.man1.pdf Binary files differnew file mode 100644 index 00000000000..9bc34d8e0d5 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/cfftot1.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/chktex.1 b/Master/texmf-dist/doc/man/man1/chktex.1 new file mode 100644 index 00000000000..914076926a8 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/chktex.1 @@ -0,0 +1,139 @@ +.TH chktex 1 "March 30, 2001" +.AT 3 +.SH NAME +chktex \- finds typographic errors in LaTeX. +.SH SYNOPSIS +.B chktex +.I [-hiqrW] [-v[0-...]] [-l <rcfile>] [-[wemn] <[1-42]|all>] +.I [-d[0-...]] [-p <name>] [-o <outfile>] [-[btxgI][0|1]] +.B file1 file2 ... +.SH DESCRIPTION +.I chktex +finds typographic errors in +.I LaTeX +. +.SH OPTIONS +.PP +Miscellaneous options: +.TP +.B "-h --help" +Print a help screen. +.TP +.B "-i --license" +Show distribution information. +.TP +.B "-l --localrc" +Read local .chktexrc formatted file. +.TP +.B "-d --debug" +Debug information. Give it a number. +.TP +.B "-r --reset" +Reset settings to default. +.PP +Muting warning messages: +.TP +.B "-w --warnon" +Makes msg # given a warning and turns it on. +.TP +.B "-e --erroron" +Makes msg # given an error and turns it on. +.TP +.B "-m --msgon" +Makes msg # given a message and turns it on. +.TP +.B "-n --nowarn" +Mutes msg # given. + +.PP +Output control flags: +.TP +.B "-v --verbosity" +How errors are displayed. +Default 1, 0=Less, 2=Fancy, 3=lacheck. +.TP +.B "-V --pipeverb" +How errors are displayed when stdout != tty. +Defaults to the same as -v. +.TP +.B "-s --splitchar" +String used to split fields when doing -v0 +.TP +.B "-o --output" +Redirect error report to a file. +.TP +.B "-q --quiet" +Shuts up about version information. +.TP +.B "-p --pseudoname" +Input file-name when reporting. +.TP +.B "-f --format" +Format to use for output + +.PP +Boolean switches (1 -> enables / 0 -> disables): +.TP +.B "-b --backup" +Backup output file. +.TP +.B "-x --wipeverb" +Ignore contents of `\\verb' commands. +.TP +.B "-g --globalrc" +Read global .chktexrc file. +.TP +.B "-I --inputfiles" +Execute \\input statements. +.TP +.B "-H --headererr" +Show errors found in front of \\begin{document} +.PP Miscellaneous switches: +.TP +.B "-W --version" +Version information + +.PP +If no LaTeX files are specified on the command line, we will read from +stdin. For explanation of warning/error messages, please consult the +main document /usr/share/doc/chktex/ChkTeX.dvi.gz. + +.SH DISTRIBUTION +Copyright (C) 1996 Jens T. Berger Thielemann +.PP +This program is free software; you can redistribute it and/or modify +it under the terms of the +.I GNU General Public License +as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. +.PP +This program is distributed in the hope that it will be useful, +but +.B WITHOUT ANY WARRANTY; +without even the implied warranty of +.B MERCHANTABILITY +or +.B FITNESS FOR A PARTICULAR PURPOSE. +See the +.I GNU General Public License +for more details. +.PP +You should have received a copy of the +.B GNU General Public License +along with this program; if not, write to the +.I Free Software Foundation, Inc., +59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +.SH ENVIRONMENT +No environment variables are used. +.SH FILES +None. +.SH AUTHOR +Jens T. Berger Thielemann, +.I <jensthi@ifi.uio.no> +.PP +This manual page was cobbled together by Clint Adams <schizo@debian.org>, +based on the output of "chktex --help" and deweb(1). +.SH "SEE ALSO" +.B deweb(1), chkweb(1) diff --git a/Master/texmf-dist/doc/man/man1/chktex.man1.pdf b/Master/texmf-dist/doc/man/man1/chktex.man1.pdf Binary files differnew file mode 100644 index 00000000000..877defeb6ff --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/chktex.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/chkweb.1 b/Master/texmf-dist/doc/man/man1/chkweb.1 new file mode 100644 index 00000000000..5cb7063f786 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/chkweb.1 @@ -0,0 +1,132 @@ +.TH chkweb 1 "March 30, 2001" +.AT 3 +.SH NAME +chkweb \- runs the LaTeX parts of a CWEB file through chktex +.SH SYNOPSIS +.B chkweb +.I [-hiqrW] [-l <rcfile>] [-[wemn] <[1-42]|all>] +.I [-d[0-...]] [-o <outfile>] [-[btxgI][0|1]] +.B file1 file2 ... +.SH DESCRIPTION +.I chkweb +runs the +.I LaTeX +parts of a CWEB file through chktex. +.SH OPTIONS +.PP +Miscellaneous options: +.TP +.B "-h --help" +Print a help screen. +.TP +.B "-i --license" +Show distribution information. +.TP +.B "-l --localrc" +Read local .chktexrc formatted file. +.TP +.B "-d --debug" +Debug information. Give it a number. +.TP +.B "-r --reset" +Reset settings to default. +.PP +Muting warning messages: +.TP +.B "-w --warnon" +Makes msg # given a warning and turns it on. +.TP +.B "-e --erroron" +Makes msg # given an error and turns it on. +.TP +.B "-m --msgon" +Makes msg # given a message and turns it on. +.TP +.B "-n --nowarn" +Mutes msg # given. + +.PP +Output control flags: +.TP +.B "-V --pipeverb" +How errors are displayed when stdout != tty. +Defaults to the same as -v. +.TP +.B "-s --splitchar" +String used to split fields when doing -v0 +.TP +.B "-o --output" +Redirect error report to a file. +.TP +.B "-q --quiet" +Shuts up about version information. +.TP +.B "-f --format" +Format to use for output + +.PP +Boolean switches (1 -> enables / 0 -> disables): +.TP +.B "-b --backup" +Backup output file. +.TP +.B "-x --wipeverb" +Ignore contents of `\\verb' commands. +.TP +.B "-g --globalrc" +Read global .chktexrc file. +.TP +.B "-I --inputfiles" +Execute \\input statements. +.TP +.B "-H --headererr" +Show errors found in front of \\begin{document} +.PP Miscellaneous switches: +.TP +.B "-W --version" +Version information + +.PP +If no LaTeX files are specified on the command line, we will read from +stdin. For explanation of warning/error messages, please consult the +main document /usr/share/doc/chktex/ChkTeX.dvi.gz. + +.SH DISTRIBUTION +Copyright (C) 1996 Jens T. Berger Thielemann +.PP +This program is free software; you can redistribute it and/or modify +it under the terms of the +.I GNU General Public License +as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. +.PP +This program is distributed in the hope that it will be useful, +but +.B WITHOUT ANY WARRANTY; +without even the implied warranty of +.B MERCHANTABILITY +or +.B FITNESS FOR A PARTICULAR PURPOSE. +See the +.I GNU General Public License +for more details. +.PP +You should have received a copy of the +.B GNU General Public License +along with this program; if not, write to the +.I Free Software Foundation, Inc., +59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +.SH ENVIRONMENT +No environment variables are used. +.SH FILES +None. +.SH AUTHOR +Jens T. Berger Thielemann, +.I <jensthi@ifi.uio.no> +.PP +This manual page was cobbled together by Clint Adams <schizo@debian.org>, +based on the output of "chktex --help" and deweb(1). +.SH "SEE ALSO" +.B deweb(1), chktex(1) diff --git a/Master/texmf-dist/doc/man/man1/chkweb.man1.pdf b/Master/texmf-dist/doc/man/man1/chkweb.man1.pdf Binary files differnew file mode 100644 index 00000000000..23b2ca39e38 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/chkweb.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/context.1 b/Master/texmf-dist/doc/man/man1/context.1 new file mode 100644 index 00000000000..254d9b87468 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/context.1 @@ -0,0 +1,140 @@ +.TH "CONTEXT" "1" "June 2011" "context 0.52" "ConTeXt" +.de URL +\\$2 \(laURL: \\$1 \(ra\\$3 +.. +.if \n[.g] .mso www.tmac +.de EX +.in +3 +.nf +.ft CW +.. +.de EE +.in -3 +.ft R +.fi +.. + +.SH "NAME" +context \- front end to the new ConTeXt typesetting system + +.SH "SYNOPSIS" +\fBcontext\fP [ \fIOPTION\fP ... ] \fIFILE\fP [ ... ] + +.SH "DESCRIPTION" + +\fBcontext\fP, a \fBtexlua\fP(1) script, +is the command-line front end to the new version of the +ConTeXt typesetting system, an extensive macro package +built on the \fBtex\fP(1) family of typesetting programs. +\fBcontext\fP provides several facilties: +.IP \(bu +Process a ConTeXt source file, +performing as many runs as +necessary of \fBluatex\fP(1). Options control the output +format, the pages to process, paper size, and so forth. +.IP \(bu +Create new ConTeXt formats, useful during installation. +.IP \(bu +Post-process existing PDF files, including merging multiple +files, and extracting and rearranging pages within a file, +similar to the facilities provided for PostScript files by +\fBpsnup\fP(1) or for PDF files by \fBpdftk\fP(1). +.IP +.SH "OPTIONS" + +All switches should always be specified in full. With no options, +\fBcontext\fP assumes that +the file on the command line is a ConTeXt source file, i.e. a TeX file +in the ConTeXt dialect, and produces a PDF file using the source file. + +.IP "\fB--run\fP" +process (one or more) files (default action) +.IP "\fB--make\fP" +create context formats +.IP "\fB--ctx\fP\fI=\fP\fIname\fP" +use ctx file (process management specification) +.IP "\fB--interface\fP" +use specified user interface (default: en) +.IP "\fB--autopdf\fP" +close pdf file in viewer and start pdf viewer afterwards +.IP "\fB--purge(all)\fP" +purge files either or not after a run (\fB--pattern\fP\fI=\fP\fI...\fP) +.IP "\fB--usemodule\fP\fI=\fP\fIlist\fP" +load the given module or style, normally part o fthe distribution +.IP "\fB--environment\fP\fI=\fP\fIlist\fP" +load the given environment file first (document styles) +.IP "\fB--mode\fP\fI=\fP\fIlist\fP" +enable given the modes (conditional processing in styles) +.IP "\fB--path\fP\fI=\fP\fIlist\fP" +also consult the given paths when files are looked for +.IP "\fB--arguments\fP\fI=\fP\fIlist\fP" +set variables that can be consulted during a run (key/value pairs) +.IP "\fB--randomseed\fP\fI=\fP\fInumber\fP" +set the randomseed +.IP "\fB--result\fP\fI=\fP\fIname\fP" +rename the resulting output to the given name +.IP "\fB--trackers\fP\fI=\fP\fIlist\fP" +set tracker variables (show list with \fB--showtrackers\fP) +.IP "\fB--directives\fP\fI=\fP\fIlist\fP" +set directive variables (show list with \fB--showdirectives\fP) +.IP "\fB--silent\fP\fI=\fP\fIlist\fP" +disable logcatgories (show list with \fB--showlogcategories\fP) +.IP "\fB--noconsole\fP" +disable logging to the console (logfile only) +.IP "\fB--purgeresult\fP" +purge result file before run +.IP "\fB--forcexml\fP" +force xml stub (optional flag: \fB--mkii\fP) +.IP "\fB--forcecld\fP" +force cld (context lua document) stub +.IP "\fB--arrange\fP" +run extra imposition pass, given that the style sets up imposition +.IP "\fB--noarrange\fP" +ignore imposition specifications in the style +.IP "\fB--once\fP" +only run once (no multipass data file is produced) +.IP "\fB--batchmode\fP" +run without stopping and don't show messages on the console +.IP "\fB--nonstopmode\fP" +run without stopping +.IP "\fB--generate\fP" +generate file database etc. (as \fBmtxrun\fP does) +.IP "\fB--paranoid\fP" +don't descend to .. and ../.. +.IP "\fB--version\fP" +report installed context version +.IP "\fB--expert\fP" +show expert options + + +.SH "INITIALIZATION" + +.PP +The \fBcontext\fP command is just a stub that runs the larger \fBmtxrun\fP +script, which is a scripting framework written for \fBtexlua\fP(1) that +supports loading of extra modules, of which \fBcontext\fP is one. The +implementation actually resides in a file named \fBmtx-context.lua\fP +deep within the TDS structure. + +If \fBcontext\fP complains about \fBUnknown script 'context'\fP, this +can usually be fixed by executing \fBmtxrun --generate\fP on the +command line: this command regenerates the database that \fBmtxrun\fP +uses to find its extra modules. + +.SH "SEE ALSO" +.PP +\fBtex\fP(1), \fBluatex\fP(1), \fBtexlua\fP(1), \fBpsnup\fP(1), \fBpdftk\fP(1). +.PP +.URL "http://www.contextgarden.net" "ConTeXt wiki" . +.PP +.URL "http://www.ntg.nl/mailman/listinfo/ntg-context" "ConTeXt mailing list home" . + +.SH "BUGS" + +.PP +This manpage is horribly incomplete. + +.SH "AUTHOR" +This partial manpage was written by Taco Hoekwater +<taco@metatex.org>. +It is based on the \fB--help\fP output of \fBcontext\fP. diff --git a/Master/texmf-dist/doc/man/man1/context.man1.pdf b/Master/texmf-dist/doc/man/man1/context.man1.pdf Binary files differnew file mode 100644 index 00000000000..8863439d028 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/context.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/ctangle.1 b/Master/texmf-dist/doc/man/man1/ctangle.1 new file mode 100644 index 00000000000..197f7c83e94 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ctangle.1 @@ -0,0 +1 @@ +.so man1/cweb.1 diff --git a/Master/texmf-dist/doc/man/man1/ctangle.man1.pdf b/Master/texmf-dist/doc/man/man1/ctangle.man1.pdf Binary files differnew file mode 100644 index 00000000000..e84bb7f852b --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ctangle.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/ctanify.1 b/Master/texmf-dist/doc/man/man1/ctanify.1 new file mode 100644 index 00000000000..f2758913f57 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ctanify.1 @@ -0,0 +1,376 @@ +.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "CTANIFY 1" +.TH CTANIFY 1 "2009-08-02" "v1.1" "" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +ctanify \- Prepare a package for upload to CTAN +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +ctanify +[\fB\-\-pkgname\fR=\fIstring\fR] +[\fB\-\-\fR[\fBno\fR]\fBauto\fR] +[\fB\-\-tdsonly\fR=\fIfilespec\fR ...] +[\fB\-\-\fR[\fBno\fR]\fBunixify\fR] +[\fB\-\-\fR[\fBno\fR]\fBskip\fR] +\&\fIfilespec\fR[=\fIdirname\fR] ... +.PP +ctanify +[\fB\-\-help\fR] +.PP +ctanify +[\fB\-\-version\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +\&\fBctanify\fR is intended for developers who have a L\h'-0.36'\v'-0.15'\s-2A\s+2\v'0.15'\h'-0.15'T\h'-0.1667'\v'0.2'E\v'-0.2'\h'-0.125'X package that +they want to distribute via the Comprehensive T\h'-0.1667'\v'0.2'E\v'-0.2'\h'-0.125'X Archive Network +(\s-1CTAN\s0). Given a list of filenames, \fBctanify\fR creates a tarball (a +\&\fI.tar.gz\fR file) with the files laid out in \s-1CTAN\s0's preferred +structure. The tarball additionally contains a \s-1ZIP\s0 (\fI.zip\fR) file +with copies of all files laid out in the standard T\h'-0.1667'\v'0.2'E\v'-0.2'\h'-0.125'X Directory +Structure (\s-1TDS\s0), which facilitates inclusion of the package in the T\h'-0.1667'\v'0.2'E\v'-0.2'\h'-0.125'X +Live distribution. +.SH "OPTIONS" +.IX Header "OPTIONS" +\&\fBctanify\fR accepts the following command-line options: +.IP "\fB\-h\fR, \fB\-\-help\fR" 5 +.IX Item "-h, --help" +Output basic usage information and exit. +.IP "\fB\-V\fR, \fB\-\-version\fR" 5 +.IX Item "-V, --version" +Output \fBctanify\fR's version number and exit. +.IP "\fB\-p\fR \fIstring\fR, \fB\-\-pkgname\fR=\fIstring\fR" 5 +.IX Item "-p string, --pkgname=string" +Specify explicitly a package name. Normally, \fBctanify\fR uses the base +name of the first \fI.ins\fR or \fI.sty\fR file listed as the package name. +The package name forms the base name of the tarball that \fBctanify\fR +produces. +.IP "\fB\-\-noauto\fR" 5 +.IX Item "--noauto" +Do not automatically add files to the tarball. Normally, \fBctanify\fR +automatically includes all files mentioned in a \fI.ins\fR file. +.IP "\fB\-t\fR \fIfilespec\fR, \fB\-\-tdsonly\fR=\fIfilespec\fR" 5 +.IX Item "-t filespec, --tdsonly=filespec" +Specify a subset of the files named on the command line to include +only in the \s-1TDS\s0 \s-1ZIP\s0 file, not in the \s-1CTAN\s0 package directory. +Wildcards are allowed (quoted if necessary), and \fB\-\-tdsonly\fR can be +used multiple times on the same command line. +.PP +At least one filename must be specified on the command line. +\&\fBctanify\fR automatically places files in the \s-1TDS\s0 tree based on their +extension, but this can be overridden by specifying explicitly a +target \s-1TDS\s0 directory using the form \fIfilespec\fR=\fIdirname\fR. Wildcards +are allowed for the filespec (quoted if necessary). +.SH "ADDITIONAL OPTIONS" +.IX Header "ADDITIONAL OPTIONS" +The following options are unlikely to be necessary in ordinary usage. +They are provided for special circumstances that may arise. +.IP "\fB\-d\fR \fIdirname\fR, \fB\-\-tdsdir\fR=\fIdirname\fR" 5 +.IX Item "-d dirname, --tdsdir=dirname" +Instead of creating a tarball for \s-1CTAN\s0, merely create the package \s-1TDS\s0 +tree rooted in directory \fIdirname\fR. +.IP "\fB\-nou\fR, \fB\-\-no\-unixify\fR" 5 +.IX Item "-nou, --no-unixify" +Store text files unmodified instead of converting their end-of-line +character to Unix format (a single linefeed character with no +carriage-return character), even though \s-1CTAN\s0 prefers receiving all +files with Unix-format end-of-line characters. +.IP "\fB\-nok\fR, \fB\-\-no\-skip\fR" 5 +.IX Item "-nok, --no-skip" +Force \fBctanify\fR to include files such as Unix hidden files, Emacs +backup files, and version-control metadata files, all of which \s-1CTAN\s0 +dislikes receiving. +.IP "\fB\-m\fR, \fB\-\-miscify\fR" 5 +.IX Item "-m, --miscify" +Rename directories containing a single file to \f(CW\*(C`misc\*(C'\fR. (For example, +rename \f(CW\*(C`tex/latex/mypackage/mypackage.sty\*(C'\fR to +\&\f(CW\*(C`tex/latex/misc/mypackage.sty\*(C'\fR.) This was common practice in the +past but is now strongly discouraged. +.SH "DIAGNOSTICS" +.IX Header "DIAGNOSTICS" +.ie n .IP """Failed to copy \f(CIfilename\f(CW (No such file or directory)""" 5 +.el .IP "\f(CWFailed to copy \f(CIfilename\f(CW (No such file or directory)\fR" 5 +.IX Item "Failed to copy filename (No such file or directory)" +This message is typically caused by a \fI.ins\fR file that generates +\&\fIfilename\fR but that has not already been run through \fItex\fR or +\&\fIlatex\fR to actually produce \fIfilename\fR. \fBctanify\fR does not +automatically run \fItex\fR or \fIlatex\fR; this needs to be done manually +by the user. See \*(L"\s-1CAVEATS\s0\*(R" for more information. +.ie n .IP """Modified \f(CIfilename\f(CW to use Unix line endings (use \-\-no\-unixify to prevent this)""" 5 +.el .IP "\f(CWModified \f(CIfilename\f(CW to use Unix line endings (use \-\-no\-unixify to prevent this)\fR" 5 +.IX Item "Modified filename to use Unix line endings (use --no-unixify to prevent this)" +For consistency, \s-1CTAN\s0 stores all text files with Unix-style line +endings (a single linefeed character with no carriage-return +character). To help in this effort, \fBctanify\fR automatically replaces +non-Unix-style line endings. The preceding merely message notifies +the user that he should not be alarmed to see a different size for +\&\fIfilename\fR in the tarball versus the original \fIfilename\fR on disk +(which \fBctanify\fR never modifies). If there's a good reason to +preserve the original line endings (and there rarely is), the +\&\fB\-\-no\-unixify\fR option can be used to prevent \fBctanify\fR from altering +any files when storing them in the tarball. +.ie n .IP """Excluding \f(CIfilename\f(CW (use \-\-no\-skip to force inclusion)""" 5 +.el .IP "\f(CWExcluding \f(CIfilename\f(CW (use \-\-no\-skip to force inclusion)\fR" 5 +.IX Item "Excluding filename (use --no-skip to force inclusion)" +\&\fBctanify\fR normally ignores files\*(--even when specified explicitly on +the command line\*(--that \s-1CTAN\s0 prefers not receiving. These include +files whose names start with "\fI.\fR\*(L" (Unix hidden files), end in \*(R"\fI~\fR" +(Emacs automatic backups), or that come from a \fI\s-1CVS\s0\fR or \fI.svn\fR +directory (version-control metadata files). If there's a good reason +to submit such files to \s-1CTAN\s0 (and there rarely is), the \fB\-\-no\-skip\fR +option can be used to prevent \fBctanify\fR from ignoring them. +.ie n .IP """CTAN prefers having only PDF documentation (re: \f(CIfilename\f(CW)""" 5 +.el .IP "\f(CWCTAN prefers having only PDF documentation (re: \f(CIfilename\f(CW)\fR" 5 +.IX Item "CTAN prefers having only PDF documentation (re: filename)" +Because of the popularity of the \s-1PDF\s0 format, \s-1CTAN\s0 wants to have as +much documentation as possible distributed in \s-1PDF\s0. The preceding +message asks the user to replace any PostScript or \s-1DVI\s0 documentation +with \s-1PDF\s0 if possible. (\fBctanify\fR will still include PostScript and +\&\s-1DVI\s0 documentation in the tarball; the preceding message is merely a +polite request.) +.ie n .IP """Not including \f(CIfilename\f(CW in the TDS tree (unknown extension)""" 5 +.el .IP "\f(CWNot including \f(CIfilename\f(CW in the TDS tree (unknown extension)\fR" 5 +.IX Item "Not including filename in the TDS tree (unknown extension)" +\&\fBctanify\fR places files in the \s-1TDS\s0 tree based on a table of file +extensions. For example, all \fI.sty\fR files are placed in +\&\fItex/latex/\fIpackage-name\fI\fR. If \fBctanify\fR does not know where to +put a file it does not put it anywhere. See the last paragraph of +\&\*(L"\s-1OPTIONS\s0\*(R" for an explanation of how to specify explicitly a file's +target location in the \s-1TDS\s0 tree. For common file extensions that +happen to be absent from \fBctanify\fR's table, consider also notifying +\&\fBctanify\fR's author at the address shown below under \*(L"\s-1AUTHOR\s0\*(R". +.SH "EXAMPLES" +.IX Header "EXAMPLES" +.SS "The Common Case" +.IX Subsection "The Common Case" +Normally, all that's needed is to tell \fBctanify\fR the name of the +\&\fI.ins\fR file (or \fI.sty\fR if the package does not use DocStrip) and the +prebuilt documentation, if any: +.PP +.Vb 1 +\& $ ctanify mypackage.ins mypackage.pdf README +\& +\& 490347 mypackage.tar.gz +\& +\& 1771 mypackage/README +\& 15453 mypackage/mypackage.dtx +\& 1957 mypackage/mypackage.ins +\& 277683 mypackage/mypackage.pdf +\& 246935 mypackage.tds.zip +\& +\& 1771 doc/latex/mypackage/README +\& 277683 doc/latex/mypackage/mypackage.pdf +\& 15453 source/latex/mypackage/mypackage.dtx +\& 1957 source/latex/mypackage/mypackage.ins +\& 1725 tex/latex/mypackage/mypackage.sty +.Ve +.Ve +.PP +\&\fBctanify\fR outputs the size in bytes of the resulting tarball, each +file within it, and each file within the contained \s-1ZIP\s0 file. In the +preceding example, notice how \fBctanify\fR automatically performed all +of the following operations: +.IP "\(bu" 5 +including \fImypackage.dtx\fR (found by parsing \fImypackage.ins\fR) in both +the \fImypackage\fR directory and the \s-1ZIP\s0 file, +.IP "\(bu" 5 +including \fImypackage.sty\fR (found by parsing \fImypackage.ins\fR) in the +\&\s-1ZIP\s0 file but, because it's a generated file, not in the \fImypackage\fR +directory, and +.IP "\(bu" 5 +placing all files into appropriate \s-1TDS\s0 directories (documentation, +source, main package) within the \s-1ZIP\s0 file. +.PP +Consider what it would take to manually produce an equivalent +\&\fImypackage.tar.gz\fR file. \fBctanify\fR is definitely a simpler, quicker +alternative. +.SS "Advanced Usage" +.IX Subsection "Advanced Usage" +\&\fBctanify\fR assumes that PostScript files are documentation and +therefore stores them under \fIdoc/latex/\fIpackage-name\fI/\fR in the \s-1TDS\s0 +tree within the \s-1ZIP\s0 File. Suppose, however, that a L\h'-0.36'\v'-0.15'\s-2A\s+2\v'0.15'\h'-0.15'T\h'-0.1667'\v'0.2'E\v'-0.2'\h'-0.125'X package uses +a set of PostScript files to control \fBdvips\fR's output. In this case, +\&\fBctanify\fR must be told to include those PostScript files in the +package directory, not the documentation directory. +.PP +.Vb 1 +\& $ ctanify mypackage.ins "mypackage*.ps=tex/latex/mypackage" +.Ve +.Ve +.SH "FILES" +.IX Header "FILES" +.IP "\fIperl\fR" 5 +.IX Item "perl" +\&\fBctanify\fR is written in Perl and needs a Perl installation to run. +.IP "\fItar\fR, \fIgzip\fR" 5 +.IX Item "tar, gzip" +\&\fBctanify\fR requires the \s-1GNU\s0 \fItar\fR and \fIgzip\fR programs to create a +compressed tarball (\fI.tar.gz\fR). +.IP "\fIzip\fR" 5 +.IX Item "zip" +\&\fBctanify\fR uses a \fIzip\fR program to archive the \s-1TDS\s0 tree within the +main tarball. +.SH "CAVEATS" +.IX Header "CAVEATS" +\&\fBctanify\fR does not invoke \fItex\fR or \fIlatex\fR on its own, e.g.,\ to +process a \fI.ins\fR file. The reason is that \fBctanify\fR does not know +in the general case how to produce all of a package's generated files. +It was deemed better to do nothing than to risk overwriting existing +\&\fI.sty\fR (or other) files or to include outdated generated files in the +tarball. In short, before running \fBctanify\fR you should manually +process any \fI.ins\fR files and otherwise generate any files that should +be sent to \s-1CTAN\s0. +.PP +\&\fBctanify\fR has been tested only on Linux. It may work on MacOS\ X. +It probably does not work on Windows. Volunteers willing to help port +\&\fBctanify\fR to other platforms are extremely welcome. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fItar\fR\|(1), +\&\fIzip\fR\|(1), +\&\fIlatex\fR\|(1), +Guidelines for uploading TDS-Packaged materials to \s-1CTAN\s0 +(<http://www.ctan.org/TDS\-guidelines.html>), +A Directory Structure for T\h'-0.1667'\v'0.2'E\v'-0.2'\h'-0.125'X Files (<http://tug.org/tds/>), +.SH "AUTHOR" +.IX Header "AUTHOR" +Scott Pakin, \fIscott+ctify@pakin.org\fR +.SH "COPYRIGHT AND LICENSE" +.IX Header "COPYRIGHT AND LICENSE" +Copyright 2009 Scott Pakin +.PP +This work may be distributed and/or modified under the conditions of +the L\h'-0.36'\v'-0.15'\s-2A\s+2\v'0.15'\h'-0.15'T\h'-0.1667'\v'0.2'E\v'-0.2'\h'-0.125'X Project Public License, either version\ 1.3c of this +license or (at your option) any later version. The latest version of +this license is in +.PP +<http://www.latex\-project.org/lppl.txt> +.PP +and version\ 1.3c or later is part of all distributions of L\h'-0.36'\v'-0.15'\s-2A\s+2\v'0.15'\h'-0.15'T\h'-0.1667'\v'0.2'E\v'-0.2'\h'-0.125'X +version 2008/05/04 or later. diff --git a/Master/texmf-dist/doc/man/man1/ctanify.man1.pdf b/Master/texmf-dist/doc/man/man1/ctanify.man1.pdf Binary files differnew file mode 100644 index 00000000000..c2e30e4380d --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ctanify.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/ctie.1 b/Master/texmf-dist/doc/man/man1/ctie.1 new file mode 100644 index 00000000000..2a8e2ee9ea6 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ctie.1 @@ -0,0 +1,59 @@ +.TH CTIE 1 "7 April 2010" "Web2C 2012" +.\"===================================================================== +.SH NAME +ctie \- merge or apply CWEB change files +.\"===================================================================== +.SH SYNOPSIS +.B ctie +.BR \-c | \-m +.I outputfile masterfile +.IR changefile .\|.\|. +.\"===================================================================== +.SH DESCRIPTION +The +.B ctie +program is used to process multiple change files used with the CWEB +system for literate programming. The CWEB programs allow one to apply +patches to a source file (the +.IR masterfile ) +by means of a single change file. +.B ctie +can be used to either merge up to 32 change files into a single one or +to apply the changes to the +.I masterfile +in order to create a new master file. Output of either the new change +file or the patched master file goes into +.IR outputfile . +Any include files (indicated using the CWEB +.B @i +command) are fully expanded during +.B ctie +processing, which means that the change files are able to modify the +contents of any included files. +.SH OPTIONS +.TP +.B \-c +Create a single change file from the given +.IR changefile s. +.TP +.B \-m +Create a new master file by applying the given +.IR changefile s. +.\"===================================================================== +.SH ENVIRONMENT +The environment variable CWEBINPUTS is used to search for the input files, +or the system default if CWEBINPUTS is not set. See +.BR tex (1) +for the details of the searching. +.\"===================================================================== +.SH "SEE ALSO" +.BR cweb (1), +.IR ctiedoc.tex , +.BR tie (1), +.BR web (1). +.\"===================================================================== +.SH "AUTHOR" +Julian Gilbey, jdg@debian.org. The original TIE program was by Klaus +Guntermann, TH Darmstadt, Institut f. Theoretische Informatik. The +TIE man page was by Joachim Schnitter, TH Darmstadt, Phys. Chemie I, +and was modified for CTIE by Julian Gilbey. diff --git a/Master/texmf-dist/doc/man/man1/ctie.man1.pdf b/Master/texmf-dist/doc/man/man1/ctie.man1.pdf Binary files differnew file mode 100644 index 00000000000..836ce5cb085 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ctie.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/ctxtools.1 b/Master/texmf-dist/doc/man/man1/ctxtools.1 new file mode 100644 index 00000000000..c22263d4267 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ctxtools.1 @@ -0,0 +1,89 @@ +.de URL +\\$2 \(laURL: \\$1 \(ra\\$3 +.. +.if \n[.g] .mso www.tmac +.de EX +.in +3 +.nf +.ft CW +.. +.de EE +.in -3 +.ft R +.fi +.. +.TH CTXTOOLS "1" "January 2007" "ctxtools 1.3.3" "ConTeXt" + +.SH NAME +ctxtools \- clean up temporary ConTeXt files, install latest ConTeXt + +.SH "SYNOPSIS" +\fBctxtools\fP [ \fIOPTION\fP ... ] + +.SH DESCRIPTION +\fBctxtools\fP is useful for dealing with ConTeXt source and generated +files and for installing new versions of ConTeXt. + +.SH "OPTIONS" +.TP +.B --help +Print the available options. +.TP +.B --purgefiles +Get rid of many temporary files generated by ConTeXt. You can give the +.B --all +option to remove a larger fraction of those files, +and the +.B --recurse +option to remove these files also in subdirectories. +.TP +.B --contextversion +Show the date of the ConTeXt macros and the format file. Useful after +upgrading ConTeXt (perhaps using \fB--updatecontext\fP) to check +whether the new formats and macros are visible to the TeX path +searches (see +.BR kpsewhich (1). +.TP +.B --updatecontext +Download the latest ConTeXt distribution and install it in the +TEXMFLOCAL tree (see +.BR kpsewhich (1) +for information on +TeX path searching). TEXMFLOCAL usually points to a system-wide +location. If you want to install the new ConTeXt in your home +directory (i.e. an install for one user), then set the TEXMFLOCAL +environment variable while running +.BR ctxtools . +For example, using the syntax of the Bourne shell +.BR sh (1): +.EX +TEXMFLOCAL=$HOME/texmf ctxtools --updatecontext +.EE +.TP +.B --documentation +Generate a \fI.ted\fP file from the source file. See also the +\fB--module\fP option to +.BR texexec (1). +.TP +\fB--patternfiles\fP [languagecode] +Generate pattern files. You can also give the +\fB--all\fP, \fB--xml\fP, and \fB--utf8\fP options. + +.SH "ENVIRONMENT" +.TP +TEXMFLOCAL +Used by \f(CW--updatecontext\fP to decide where to install the distribution. + +.SH "SEE ALSO" +.PP +.BR texexec (1), +.BR texmfstart (1). +.PP +.URL "http://www.contextgarden.net" "ConTeXt wiki" . + +.SH BUGS +This manual page is not complete. + +.SH "AUTHOR" +This manual page was written by Sanjoy Mahajan <sanjoy@mit.edu>. It is in +the public domain. diff --git a/Master/texmf-dist/doc/man/man1/ctxtools.man1.pdf b/Master/texmf-dist/doc/man/man1/ctxtools.man1.pdf Binary files differnew file mode 100644 index 00000000000..b5e180f96c1 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ctxtools.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/cweave.1 b/Master/texmf-dist/doc/man/man1/cweave.1 new file mode 100644 index 00000000000..197f7c83e94 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/cweave.1 @@ -0,0 +1 @@ +.so man1/cweb.1 diff --git a/Master/texmf-dist/doc/man/man1/cweave.man1.pdf b/Master/texmf-dist/doc/man/man1/cweave.man1.pdf Binary files differnew file mode 100644 index 00000000000..174019027a3 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/cweave.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/cweb.1 b/Master/texmf-dist/doc/man/man1/cweb.1 new file mode 100644 index 00000000000..0312568de95 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/cweb.1 @@ -0,0 +1,152 @@ +.TH CWEB 1 "7 April 2010" "Web2C 2012" +.\"===================================================================== +.SH NAME +ctangle, cweave \- translate CWEB to C and/or TeX +.\"===================================================================== +.SH SYNOPSIS +.na +.B ctangle +.RB [ \-bhp ] +.RB [ +s ] +.IR webfile [ \fB.w\fP ] +.RI [{ changefile [ \fB.ch\fP ]| \fB\-\fP } +.RI [ outfile [ \fB.c\fP ]]] +.br +.B cweave +.RB [ \-befhpx ] +.RB [ +s ] +.IR webfile [ \fB.w\fP ] +.RI [{ changefile [ \fB.ch\fP ]| \fB\-\fP } +.RI [ outfile [ \fB.tex\fP ]]] +.ad +.\"===================================================================== +.SH DESCRIPTION +The +.B ctangle +program converts a CWEB +source document into a C\ program that may be compiled in the usual way. +The output file includes #line specifications so that debugging can be +done in terms of the CWEB source file. +.PP +The +.B cweave +program converts the same CWEB file into a TeX file that may be +formatted and printed in the usual way. +It takes appropriate care of typographic details like page +layout and the use of indentation, italics, boldface, etc., and it supplies +extensive cross-index information that it gathers automatically. +.PP +CWEB allows you to prepare a single +document containing all the information that is needed both to produce +a compilable C\ program and to produce a well-formatted document +describing the program in as much detail as the writer may desire. +The user of CWEB ought to be familiar with TeX as well as\ C. +.PP +The command line should have one, two, or three names on it. +The first is taken as the CWEB file (and +.B .w +is added if there is no extension). +If that file cannot be opened, the extension +.B .web +is tried instead. (But +.B .w +is recommended, since +.B .web +usually implies Pascal.) +If there is a second name, it is a change file (and +.B .ch +is added if there is no extension). +The change file overrides parts of the WEB file, +as described in the documentation. +If there is a third name, it overrides +the default name of the output file, which is ordinarily the same as +the name of the input file (but on the current directory) with the +extension +.B .c +or +.BR .tex . +.PP +Options in the command line may be either turned off with\ \- +(if they are on by default) or turned on with\ + (if they are off by +default). +In fact, the options are processed from left to right, +so a sequence like -f\ +f corresponds to +f (which is the default). +.PP +The +.B \-b +option suppresses the banner line that normally appears on your terminal +when ctangle or cweave begins. +The +.B \-h +option suppresses the happy message that normally appears if the processing +was successful. +The +.B \-p +option suppresses progress reports (starred module numbers) as the processing +takes place. +If you say +.BR \-bhp , +you get nothing but error messages. +.PP +The +.B +s +option prints statistics about memory usage at the end of a run +(assuming that the programs have been compiled with the -DSTAT switch). +.PP +There are three other options applicable to +.B cweave +only: +.B \-f +means do not force a newline after every statement in the formatted output. +.B \-e +inhibits the enclosure of C\ material formatted by +.I cweave +in brackets +\ePB{.\|.\|.}. +Such brackets are normally inserted so that special hooks +can be used by +.I cweb-latex +and similar programs. +.B \-x +means omit the index and table of contents. +.\"===================================================================== +.SH ENVIRONMENT +The environment variable CWEBINPUTS is used to search for the input files, +or the system default if CWEBINPUTS is not set. See +.BR tex (1) +for the details of the searching. +.\"===================================================================== +.SH FILES +The location of the files mentioned below varies from system to +system. Use the +.B kpsewhich +utility to find their locations. +.TP +.I cwebmac.tex +TeX macros used by cweave output. +.TP +.I cwebman.tex +The user manual. +.\"===================================================================== +.SH "SEE ALSO" +.TP +.I Literate Programming +by D. E. Knuth. +.TP +.I Weaving a Program +by Wayne Sewell. +.TP +.I The CWEB System of Structured Documentation +by Donald E. Knuth and Silvio Levy (hardcopy version of cwebman.tex +and the source code listings). +.PP +.BR tex (1), +.BR cc (1). +.\"===================================================================== +.SH AUTHORS +Don Knuth wrote WEB for TeX and Pascal. +Silvio Levy designed and developed CWEB +by adapting the WEB conventions to\ C and by recoding everything in CWEB. +Knuth began using CWEB and made further refinements. +Many other helpers are acknowledged in the CWEB manual. + diff --git a/Master/texmf-dist/doc/man/man1/cweb.man1.pdf b/Master/texmf-dist/doc/man/man1/cweb.man1.pdf Binary files differnew file mode 100644 index 00000000000..64fd033c6fd --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/cweb.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/detex.1 b/Master/texmf-dist/doc/man/man1/detex.1 new file mode 100644 index 00000000000..93e71005746 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/detex.1 @@ -0,0 +1,126 @@ +.TH DETEX 1L "12 August 1993" "Purdue University" +.SH NAME +detex \- a filter to strip \fITeX\fP commands from a .tex file. +.SH SYNOPSIS +.B detex +[ \fB\-clnstw\fR ] [ \fB\-e\fI environment-list\fR ] [ \fIfilename\fR[.tex] ... ] +.SH DESCRIPTION +.I Detex +(Version 2.6) +reads each file in sequence, removes all comments and +.I TeX +control sequences +and writes the remainder on the standard output. +All text in math mode and display mode is removed. +By default, +.I detex +follows \\input commands. +If a file cannot be opened, a warning message is +printed and the command is ignored. +If the +.B \-n +option is used, no \\input or \\include commands will be processed. +This allows single file processing. +If no input file is given on the command line, +.I detex +reads from standard input. +.PP +If the magic sequence ``\\begin{document}'' appears in the text, +.I detex +assumes it is dealing with +.I LaTeX +source and +.I detex +recognizes additional constructs used in +.IR LaTeX . +These include the \\include and \\includeonly commands. +The +.B \-l +option can be used to force +.I LaTeX +mode and the +.B \-t +option can be used to force +.I TeX +mode regardless of input content. +.PP +Text in various environment modes of +.I LaTeX +is ignored. The default modes are array, eqnarray, equation, figure, +mathmatica, picture, table and verbatim. The +.B \-e +option can be used to specify a comma separated +.I environment-list +of environments to ignore. The list replaces the defaults so specifying an +empty list effectively causes no environments to be ignored. +.PP +The +.B \-c +option can be used in +.I LaTeX +mode to have detex echo the arguments to \\cite, +\\ref, and \\pageref macros. This can be useful when sending the output to +a style checker. +.PP +.I Detex +assumes the standard character classes are being used for +.IR TeX . +.I Detex +allows white space between control sequences +and magic characters like `{' when recognizing things like +.I LaTeX +environments. +.PP +If the +.B \-w +flag is given, the output is a word list, one `word' (string of two or more +letters and apostrophes beginning with a letter) +per line, and all other characters ignored. +Without \fB\-w\fR the output follows the original, +with the deletions mentioned above. Newline characters are +preserved where possible +so that the lines of output match the input as closely as possible. +.PP +The TEXINPUTS environment variable is used to find \\input and \\include +files. Like \fITeX\fP, it interprets a leading or trailing `:' as the default +TEXINPUTS. It does \fInot\fP support the `//' directory expansion magic sequence. +.PP +Detex now handles the basic \fITeX\fP ligatures as a special case, replacing the +ligatures with acceptable charater substitutes. This eliminates +spelling errors introduced by merely removing them. The ligatures are +\\aa, \\ae, \\oe, \\ss, \\o, \\l (and their upper-case +equivalents). The special "dotless" characters \\i and \\j are also +replaced with i and j respectively. +.PP +Note that previous versions of +.I detex +would replace control sequences with a space character to prevent words +from running together. +However, this caused accents in the middle of words to break words, generating +"spelling errors" that were not desirable. +Therefore, the new version merely removes these accents. +The old functionality can be essentially duplicated by using the +.B \-s +option. +.SH SEE ALSO +tex(1L) +.SH DIAGNOSTICS +Nesting of \\input is allowed but the number of opened files must not +exceed the system's limit on the number of simultaneously opened files. +.I Detex +ignores unrecognized option characters after printing a warning message. +.SH AUTHOR +Daniel Trinkle, Computer Science Department, Purdue University +.SH BUGS +.I Detex +is not a complete +.I TeX +interpreter, so it can be confused by some constructs. +Most errors result in too much rather than too little output. +.PP +Running \fILaTeX\fR +source without a ``\\begin{document}'' +through \fIdetex\fR may produce +errors. +.PP +Suggestions for improvements are (mildly) encouraged. diff --git a/Master/texmf-dist/doc/man/man1/detex.man1.pdf b/Master/texmf-dist/doc/man/man1/detex.man1.pdf Binary files differnew file mode 100644 index 00000000000..b0c7174acc4 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/detex.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/deweb.1 b/Master/texmf-dist/doc/man/man1/deweb.1 new file mode 100644 index 00000000000..43770aa1fd3 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/deweb.1 @@ -0,0 +1,116 @@ +.TH deweb 1 "June 8, 1996" +.AT 3 +.SH NAME +deweb \- strips away C & CWEB commands from CWEB sources +.SH SYNOPSIS +.B deweb +[ +.B file1 file2 ... +] +.SH DESCRIPTION +.I deweb +filters away all C & CWEB commands from a CWEB source code. This +leaves only the +.I LaTeX +code. This stripped code, in turn, may then +be passed to a suitable syntax checker for LaTeX, like +.I ChkTeX +and +.I lacheck, +or spell-checkers like +.I ispell. +.PP +The +.I chkweb +tool, included in the +.I ChkTeX +distribution will do just this; writing similar scripts should be +trivial. +.PP +When +.I deweb +strips away the C code from your CWEB source, it tries to preserve line breaks. +This means that the error reports from +.I <your favorite tool> +will be correct regarding to line numbers. In most cases, +the column position +will also be correct. This significantly simplifies +finding the errors in the +.I LaTeX +source (in contrast to the output from +.I cweave, +which output is truly difficult to figure anything out from). +.PP +.I deweb +accepts a list of filenames on the argument line, and will send its output +to +.I stdout. +If no filenames are given, it will read from stdin, acting as +a filter. No options are currently accepted. +.PP +Macho users may try to pipe the output from +.I deweb +directly into +.I LaTeX, +theoretically, this should work. This would ease the debugging +of the +.I LaTeX +code significantly, as when +.I LaTeX +complains about wrong syntax, you'll be able to find the erroneous +line much more easily. Don't expect that the output looks very much +like the final one, though. +.PP +.I deweb +should now understand all correct +.I CWEB +opcodes. If it complains about not understanding a correct opcode, +please inform the author. +.SH DISTRIBUTION +Copyright (C) 1996 Jens T. Berger Thielemann +.PP +This program is free software; you can redistribute it and/or modify +it under the terms of the +.I GNU General Public License +as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. +.PP +This program is distributed in the hope that it will be useful, +but +.B WITHOUT ANY WARRANTY; +without even the implied warranty of +.B MERCHANTABILITY +or +.B FITNESS FOR A PARTICULAR PURPOSE. +See the +.I GNU General Public License +for more details. +.PP +You should have received a copy of the +.B GNU General Public License +along with this program; if not, write to the +.I Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +.SH ENVIRONMENT +No environment variables are used. +.SH FILES +None. +.SH AUTHOR +Jens T. Berger Thielemann, +.I <jensthi@ifi.uio.no> +.SH "SEE ALSO" +.B cweave(1), perl(1), chktex, lacheck(1), ispell(1) +.SH BUGS +Doesn't even +.B compile +under +.I Perl +versions before perl v5. Unfortunately, this means that we can't even +tell the user why we failed; +.I Perl +will just complain about not being able to compile the regexps. +.PP +The program will try to swallow the whole input file at once, instead of +processing it on a line\-by\-line basis. +.ex diff --git a/Master/texmf-dist/doc/man/man1/deweb.man1.pdf b/Master/texmf-dist/doc/man/man1/deweb.man1.pdf Binary files differnew file mode 100644 index 00000000000..448092cac02 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/deweb.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/disdvi.1 b/Master/texmf-dist/doc/man/man1/disdvi.1 new file mode 100644 index 00000000000..e59ce5ce46b --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/disdvi.1 @@ -0,0 +1,27 @@ +.TH DISDVI 1 "27 October 2010" +.SH NAME +disdvi \- `disassemble' a (p)TeX or XeTeX DVI file +.SH SYNOPSIS +.B disdvi +.RB [ \-p ] +.RI [ dvi_file [ \fB.dvi\fP ]] +.br +.B disdvi \-x +.RI [ xdv_file [ \fB.xdv\fP ]] +.br +.B disdvi \-h +.SH DESCRIPTION +.I disdvi +interprets the contents of +.IR dvi_file +or +.IR xdv_file +printing the DVI commands and text in a human-readable ASCII format on +the standard output. +.SH "SEE ALSO" +.BR dvi2tty (1) +.SH AUTHOR +Marcel J.E. Mol, Delft University of Technology, The Netherlands +.br +marcel@mesa.nl, MESA Consulting + diff --git a/Master/texmf-dist/doc/man/man1/disdvi.man1.pdf b/Master/texmf-dist/doc/man/man1/disdvi.man1.pdf Binary files differnew file mode 100644 index 00000000000..c0b4da7e2e9 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/disdvi.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/dosepsbin.1 b/Master/texmf-dist/doc/man/man1/dosepsbin.1 new file mode 100644 index 00000000000..6f2fa66b2b1 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dosepsbin.1 @@ -0,0 +1,275 @@ +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.13 +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sh \" Subsection heading +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. | will give a +.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to +.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' +.\" expand to `' in nroff, nothing in troff, for use with C<>. +.tr \(*W-|\(bv\*(Tr +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.\" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.hy 0 +.if n .na +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "DOSEPSBIN 1" +.TH DOSEPSBIN 1 "2012-03-22 v1.2" "perl v5.8.1" "User Contributed Perl Documentation" +.SH "NAME" +dosepsbin \-\- Extract PS/WMF/TIFF sections from DOS EPS binary files +.SH "VERSION" +.IX Header "VERSION" +2012\-03\-22 v1.2 +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +The progam \fBdosepsbin\fR analyses an \s-1EPS\s0 file that is not +a plain \s-1ASCII\s0 PostScript file but given as \s-1DOS\s0 \s-1EPS\s0 binary file. +.PP +.Vb 1 +\& dosepsbin [options] <input file> +.Ve +.PP +First it analyzes the \fIinput file\fR, validates its header +and summarizes the available sections. Depending on the +given options, the sections are then written to files. +.PP +Options: +.PP +.Vb 9 +\& --eps-file <file> Write PS section to <file>. +\& --wmf-file <file> Write WMF section to <file>. +\& --tiff-file <file> Write TIFF section to <file>. +\& --inputfile <file> The name of the input file. +\& --verbose Verbose output. +\& --quiet Only errors and warnings are printed. +\& --help Brief help message. +\& --man Full documentation. +\& --version Print version identification. +.Ve +.PP +The files for output must be different from the input file. +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +.Sh "\s-1DOS\s0 \s-1EPS\s0 Binary File Format" +.IX Subsection "DOS EPS Binary File Format" +A Encapsulated PostScript (\s-1EPS\s0) file can also given in a special +binary format to support the inclusion of a thumbnail. The file +format starts with a binary header that contains the positions of +the possible sections: +.IP "* Postscript (\s-1PS\s0)" 4 +.IX Item "Postscript (PS)" +.PD 0 +.IP "* Windows Metafile Format (\s-1WMF\s0)" 4 +.IX Item "Windows Metafile Format (WMF)" +.IP "* Tag Image File Format (\s-1TIFF\s0)" 4 +.IX Item "Tag Image File Format (TIFF)" +.PD +.PP +The \s-1PS\s0 section must be present and either the \s-1WMF\s0 file or the \s-1TIFF\s0 +file should be given. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-\fR\fB\-eps\-file\fR=<\fIfile\fR>" 4 +.IX Item "--eps-file=<file>" +The \s-1PS\s0 section is written to <\fIfile\fR>. The output file must +be different from the input file. +.IP "\fB\-\fR\fB\-wmf\-file\fR=<\fIfile\fR>" 4 +.IX Item "--wmf-file=<file>" +The \s-1WMF\s0 section is written to <\fIfile\fR> if present. The output +file must be different from the input file. +.IP "\fB\-\fR\fB\-tiff\-file\fR=<\fIfile\fR>" 4 +.IX Item "--tiff-file=<file>" +The \s-1TIFF\s0 section is written to <\fIfile\fR> if present. The output +file must be different from the input file. +.IP "\fB\-\fR\fB\-inputfile\fR=<\fIfile\fR>" 4 +.IX Item "--inputfile=<file>" +The input file can also be given directly on the command line. +If the file does not exist, then the file with extension `.eps' +is tried. +.IP "\fB\-\fR\fB\-verbose\fR" 4 +.IX Item "--verbose" +Verbose messages. +.IP "\fB\-\fR\fB\-quiet\fR" 4 +.IX Item "--quiet" +No messages are printed except for errors and warnings. +.IP "\fB\-\fR\fB\-help\fR" 4 +.IX Item "--help" +Display help screen. +.IP "\fB\-\fR\fB\-man\fR" 4 +.IX Item "--man" +Prints manual page. +.IP "\fB\-\fR\fB\-version\fR" 4 +.IX Item "--version" +Print version identification and exit. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +The following command extracts the \s-1PS\s0 section from file \fItest.eps\fR +and stores the result in file \fItest\-ps.eps\fR: +.PP +.Vb 1 +\& dosepsbin --eps-file test-ps.eps test.eps +.Ve +.SH "AUTHOR" +.IX Header "AUTHOR" +Heiko Oberdiek, email: heiko.oberdiek at googlemail.com +.SH "COPYRIGHT AND LICENSE" +.IX Header "COPYRIGHT AND LICENSE" +Copyright 2011\-2012 by Heiko Oberdiek. +.PP +This library is free software; you may redistribute it and/or +modify it under the same terms as Perl itself +(Perl Artistic License/GNU General Public License, version 2). +.SH "SEE ALSO" +.IX Header "SEE ALSO" +The \s-1DOS\s0 \s-1EPS\s0 binary file format is described +in section \*(L"5.2 Windows Metafile or \s-1TIFF\s0\*(R": +.PP +.Vb 5 +\& Adobe Developer Support, +\& Encapsulated PostScript File Format Specification, +\& Version 3.0, +\& 1992-05-01, +\& http://partners.adobe.com/public/developer/en/ps/5002.EPSF_Spec.pdf +.Ve +.SH "HISTORY" +.IX Header "HISTORY" +.IP "\fB2011/11/10 v1.0\fR" 2 +.IX Item "2011/11/10 v1.0" +.RS 2 +.PD 0 +.IP "* First version." 2 +.IX Item "First version." +.RE +.RS 2 +.RE +.IP "\fB2011/12/05 v1.1\fR" 2 +.IX Item "2011/12/05 v1.1" +.RS 2 +.IP "* Typo fixed in help text (thanks Peter Breitenlohner)." 2 +.IX Item "Typo fixed in help text (thanks Peter Breitenlohner)." +.RE +.RS 2 +.RE +.IP "\fB2012/03/22 v1.2\fR" 2 +.IX Item "2012/03/22 v1.2" +.RS 2 +.IP "* Fix in validation test for offset of \s-1PS\s0 section." 2 +.IX Item "Fix in validation test for offset of PS section." +.RE +.RS 2 +.RE diff --git a/Master/texmf-dist/doc/man/man1/dosepsbin.man1.pdf b/Master/texmf-dist/doc/man/man1/dosepsbin.man1.pdf Binary files differnew file mode 100644 index 00000000000..ebbd02f8166 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dosepsbin.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/dt2dv.1 b/Master/texmf-dist/doc/man/man1/dt2dv.1 new file mode 100644 index 00000000000..26783c9ecc8 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dt2dv.1 @@ -0,0 +1,160 @@ +.\" This file is public domain. +.\" Originally written 1995, Geoffrey Tobin. +.\" The author has expressed the hope that any modification will retain enough content to remain useful. He would also appreciate being acknowledged as the original author in the documentation. +.\" This declaration added 2008/11/14 by Clea F. Rees with the permission of Geoffrey Tobin. +.\" ==================================================================== +.\" @Troff-man-file{ +.\" author = "Nelson H. F. Beebe and Geoffrey R. D. Tobin", +.\" version = "0.6.0", +.\" date = "08 March 1995", +.\" time = "19:57:00 GMT +11", +.\" filename = "dt2dv.man", +.\" address = "Center for Scientific Computing +.\" Department of Mathematics +.\" University of Utah +.\" Salt Lake City, UT 84112 +.\" USA", +.\" telephone = "+1 801 581 5254", +.\" FAX = "+1 801 581 4148", +.\" checksum = "03708 156 634 4989", +.\" email = "beebe@math.utah.edu (Internet)", +.\" codetable = "ISO/ASCII", +.\" keywords = "DVI, TeX", +.\" supported = "no", +.\" docstring = "This file contains the UNIX manual pages +.\" for the dt2dv utility, a program for +.\" converting a DTL text representation of a TeX +.\" DVI file, usually produced by the companion +.\" dv2dt utility, back to a binary DVI file. +.\" +.\" The checksum field above contains a CRC-16 +.\" checksum as the first value, followed by the +.\" equivalent of the standard UNIX wc (word +.\" count) utility output of lines, words, and +.\" characters. This is produced by Robert +.\" Solovay's checksum utility.", +.\" } +.\" ==================================================================== +.if t .ds Te T\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X +.if n .ds Te TeX +.TH DT2DV 1 "08 March 1995" "Version 0.6.0" +.\"====================================================================== +.SH NAME +dt2dv \- convert a DTL text representation of a TeX DVI file to a binary DVI file +.\"====================================================================== +.SH SYNOPSIS +.B dt2dv +.RB [ \-debug ] +.RB [ \-group ] +.RB [ \-si ] +.RB [ \-so ] +.I [input-DTL-file] +.I [output-DVI-file] +.PP +In the absence of the +.B \-si +and +.B \-so +options, +both file arguments are +.IR required +in the order +.B input-DTL-file output-DVI-file . +But also see the OPTIONS section below. +No default file extensions are supplied. +.\"====================================================================== +.SH DESCRIPTION +.B dt2dv +converts a text representation of a \*(Te\& DVI +file, usually produced by the companion +.BR dv2dt (1) +utility, back to a binary DVI file. DTL +.RI ( "DVI Text Language" ) +files can be edited, with care, and then restored +to DVI form for processing by any \*(Te\& DVI +driver program. In DTL files, font directory names +and font names are preceded by a length field, +which must be updated if the names are modified. +.PP +.BR dvitype (1) +can also display a textual representation of DVI +files, but in some implementations at least, it +cannot be used in batch mode, and its output is +not well-suited for conversion back to a DVI file. +.PP +The format of \*(Te\& DVI files is fully described +in +Donald E. Knuth, +.IR "\*(Te\&: The Program" , +Addison-Wesley (1986), ISBN 0-201-13437-3, as well +as in the +.BR dvitype (1) +literate program source code. Brief descriptions +of the DTL and DVI formats are given in +.BR dv2dt (1). +.\"====================================================================== +.SH OPTIONS +.\"----------------------------------------------- +.TP \w'\-debug'u+3n +.B \-debug +Turn on detailed debugging output. +.\"----------------------------------------------- +.TP +.B \-group +Expect each DTL command to be in parentheses. +.\"----------------------------------------------- +.TP +.B \-si +Read all DTL commands from standard input. +.\"----------------------------------------------- +.TP +.B \-so +Write all DVI commands to standard output. +.\"====================================================================== +.SH "SEE ALSO" +.BR dv2dt (1), +.BR dvitype (1), +.BR tex (1). +.\"====================================================================== +.SH FILES +.TP \w'\fI*.dvi\fP'u+3n +.I *.dvi +binary \*(Te\& DVI file. +.TP +.I *.dtl +text representation of a \*(Te\& DVI file in +.I "DVI Text Language" +format. +.\"====================================================================== +.SH AUTHOR +.B dt2dv +and +.BR dv2dt (1) +were written by +.RS +.nf +Geoffrey Tobin +Department of Electronic Engineering +La Trobe University +Bundoora, Victoria 3083 +Australia +Tel: +61 3 479 3736 +FAX: +61 3 479 3025 +Email: <G.Tobin@ee.latrobe.edu.au> +.fi +.RE +.PP +These manual pages were written primarily by +.RS +.nf +Nelson H. F. Beebe, Ph.D. +Center for Scientific Computing +Department of Mathematics +University of Utah +Salt Lake City, UT 84112 +Tel: +1 801 581 5254 +FAX: +1 801 581 4148 +Email: <beebe@math.utah.edu> +.fi +.RE +.\"==============================[The End]============================== diff --git a/Master/texmf-dist/doc/man/man1/dt2dv.man1.pdf b/Master/texmf-dist/doc/man/man1/dt2dv.man1.pdf Binary files differnew file mode 100644 index 00000000000..3d820816096 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dt2dv.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/dv2dt.1 b/Master/texmf-dist/doc/man/man1/dv2dt.1 new file mode 100644 index 00000000000..9b5b40a02f3 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dv2dt.1 @@ -0,0 +1,719 @@ +.\" This file is public domain. +.\" Originally written 1995, Geoffrey Tobin. +.\" The author has expressed the hope that any modification will retain enough content to remain useful. He would also appreciate being acknowledged as the original author in the documentation. +.\" This declaration added 2008/11/14 by Clea F. Rees with the permission of Geoffrey Tobin. +.\" ==================================================================== +.\" @Troff-man-file{ +.\" author = "Nelson H. F. Beebe and Geoffrey Tobin", +.\" version = "0.6.0", +.\" date = "08 March 1995", +.\" time = "19:52:00 GMT +11", +.\" filename = "dv2dt.man", +.\" address = "Center for Scientific Computing +.\" Department of Mathematics +.\" University of Utah +.\" Salt Lake City, UT 84112 +.\" USA", +.\" telephone = "+1 801 581 5254", +.\" FAX = "+1 801 581 4148", +.\" checksum = "32328 715 2191 12898", +.\" email = "beebe@math.utah.edu (Internet)", +.\" codetable = "ISO/ASCII", +.\" keywords = "DVI, TeX", +.\" supported = "no", +.\" docstring = "This file contains the UNIX manual pages +.\" for the dv2dt utility, a program for +.\" converting a binary TeX DVI file to an +.\" editable text representation in DTL (DVI Text +.\" Language). The companion dt2dv utility can +.\" convert the output DTL file back to a binary +.\" DVI file. +.\" +.\" The checksum field above contains a CRC-16 +.\" checksum as the first value, followed by the +.\" equivalent of the standard UNIX wc (word +.\" count) utility output of lines, words, and +.\" characters. This is produced by Robert +.\" Solovay's checksum utility.", +.\" } +.\" ==================================================================== +.if t .ds Te T\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X +.if n .ds Te TeX +.if t .ds Xe X\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'T +.if n .ds Xe XeT +.TH DV2DT 1 "08 March 1995" "Version 0.6.0" +.\"====================================================================== +.SH NAME +dv2dt \- convert a binary TeX DVI file to DTL text representation +.\"====================================================================== +.SH SYNOPSIS +.B dv2dt +.I input-DVI-file +.I output-DTL-file +.PP +If the filenames are omitted, then +.I stdin +and +.I stdout +are assumed. +.\"====================================================================== +.SH DESCRIPTION +.B dv2dt +converts a binary \*(Te\& DVI file to an editable +text file in DTL +.RI ( "DVI Text Language" ) +format. The companion +.BR dt2dv (1) +utility can convert the DTL file back to a binary +DVI file. +.\"====================================================================== +.SH "DVI COMMAND DESCRIPTION" +\*(Te\& DVI files contain a compact binary +description of typeset pages, as a stream of +operation code bytes, each immediately followed by +zero or more parameter bytes. The format of DVI +files is fully described in Donald E. Knuth, +.IR "\*(Te\&: The Program" , +Addison-Wesley (1986), ISBN 0-201-13437-3, as well +as in the +.BR dvitype (1) +literate program source code. +.PP +For convenience, we provide a summary of DVI +commands here. In the following list, operation +code bytes are given as unsigned decimal values, +followed by their symbolic names (not present in +the DVI file), and a short description. A +designation like +.I b[+n] +means that the operation code byte is followed by +a parameter +.I b +which uses +.I n +bytes, and is signed. Without the plus sign, the +parameter is unsigned. Signed integer parameter +values are always represented in two's complement +arithmetic, which is the system followed by most +computers manufactured today, including all +personal computers and workstations. +.if n .TP \w'\fI128_set1__c[1]\fP'u+3n +.if t .TP \w'\fI243_fnt_def1__k[1]_c[4]_s[4]_d[4]_a[1]_l[1]_n[a+l]\fP'u+3n +.I "0 set_char_0" +Set character 0 from current font. +.TP +.I .\|.\|. +.TP +.I "127 set_char_127" +Set character 127 from current font. +.TP +.I "128 set1 c[1]" +Set 1-byte unsigned character (uchar) number +.IR c . +.TP +.I "129 set2 c[2]" +Set 2-byte uchar number +.IR c . +.TP +.I "130 set3 c[3]" +Set 3-byte uchar number +.IR c . +.TP +.I "131 set4 c[+4]" +Set 4-byte signed character (schar) number +.IR c . +.TP +.I "132 set_rule a[+4] b[+4]" +Set rule, height +.IR a , +width +.IR b . +.TP +.I "133 put1 c[1]" +Put 1-byte uchar +.IR c . +.TP +.I "134 put2 c[2]" +Put 2-byte uchar +.IR c . +.TP +.I "135 put3 c[3]" +Put 3-byte uchar +.IR c . +.TP +.I "136 put4 c[+4]" +Put 4-byte schar +.IR c . +.TP +.I "137 put_rule a[+4] b[+4]" +Put rule, height +.IR a , +width +.IR b . +.TP +.I "138 nop" +Do nothing. +.TP +.I "139 bop c0[+4] .\|.\|. c9[+4] p[+4]" +Beginning of page. The parameters +.I "c0 .\|.\|. c9" +are the \*(Te\& page counters, the contents of +\*(Te\& count registers +.IR "\ecount0 .\|.\|. \ecount9" . +The parameter +.I p +is the byte offset from the beginning of the DVI +file of the previous +.I bop +operation code byte. The first such command in +the file has +.IR "p = \-1" . +.TP +.I "140 eop" +End of page. +.TP +.I "141 push" +Push +.RI ( h,v,w,x,y,z ) +onto stack. +.TP +.I "142 pop" +Pop +.RI ( h,v,w,x,y,z ) +from stack. +.TP +.I "143 right1 b[+1]" +Move right +.I b +units. +.TP +.I "144 right2 b[+2]" +Move right +.I b +units. +.TP +.I "145 right3 b[+3]" +Move right +.I b +units. +.TP +.I "146 right4 b[+4]" +Move right +.I b +units. +.TP +.I "147 w0" +Move right +.I w +units. +.TP +.I "148 w1 b[+1]" +Move right +.I b +units, and set +.IR "w = b" . +.TP +.I "149 w2 b[+2]" +Move right +.I b +units, and set +.IR "w = b" . +.TP +.I "150 w3 b[+3]" +Move right +.I b +units, and set +.IR "w = b" . +.TP +.I "151 w4 b[+4]" +Move right +.I b +units, and set +.IR "w = b" . +.TP +.I "152 x0" +Move right +.I x +units. +.TP +.I "153 x1 b[+1]" +Move right +.I b +units, and set +.IR "x = b" . +.TP +.I "154 x2 b[+2]" +Move right +.I b +units, and set +.IR "x = b" . +.TP +.I "155 x3 b[+3]" +Move right +.I b +units, and set +.IR "x = b" . +.TP +.I "156 x4 b[+4]" +Move right +.I b +units, and set +.IR "x = b" . +.TP +.I "157 down1 a[+1]" +Move down +.I a +units. +.TP +.I "158 down2 a[+2]" +Move down +.I a +units. +.TP +.I "159 down3 a[+3]" +Move down +.I a +units. +.TP +.I "160 down4 a[+4]" +Move down +.I a +units. +.TP +.I "161 y0" +Move right +.I y +units. +.TP +.I "162 y1 a[+1]" +Move right +.I a +units, and set +.IR "y = a" . +.TP +.I "163 y2 a[+2]" +Move right +.I a +units, and set +.IR "y = a" . +.TP +.I "164 y3 a[+3]" +Move right +.I a +units, and set +.IR "y = a" . +.TP +.I "165 y4 a[+4]" +Move right +.I a +units, and set +.IR "y = a" . +.TP +.I "166 z0" +Move right +.I z +units. +.TP +.I "167 z1 a[+1]" +Move right +.I a +units, and set +.IR "z = a" . +.TP +.I "168 z2 a[+2]" +Move right +.I a +units, and set +.IR "z = a" . +.TP +.I "169 z3 a[+3]" +Move right +.I a +units, and set +.IR "z = a" . +.TP +.I "170 z4 a[+4]" +Move right +.I a +units, and set +.IR "z = a" . +.TP +.I "171 fnt_num_0" +Set current font number +.IR "(f) = 0" . +.TP +.I .\|.\|. +.TP +.I "234 fnt_num_63" +Set +.IR "f = 63" . +.TP +.I "235 fnt1 k[1]" +Set +.IR "f = k" . +.TP +.I "236 fnt2 k[2]" +Set +.IR "f = k" . +.TP +.I "237 fnt3 k[3]" +Set +.IR "f = k" . +.TP +.I "238 fnt4 k[+4]" +Set +.IR "f = k" . +.TP +.I "239 xxx1 k[1] x[k]" +Special string +.I x +with +.I k +bytes. +.TP +.I "240 xxx2 k[2] x[k]" +Special string +.I x +with +.I k +bytes. +.TP +.I "241 xxx3 k[3] x[k]" +Special string +.I x +with +.I k +bytes. +.TP +.I "242 xxx4 k[4] x[k]" +Special string +.I x +with (unsigned) +.I k +bytes. +.TP +.I "243 fnt_def1 k[1] c[4] s[4] d[4] a[1] l[1] n[a+l]" +Define font +.IR k . +The parameters are: +.RS +.TP \w'\fIm\fP'u+3n +.I c +Checksum for TFM file. +.TP +.I s +Scale factor, in DVI units. +.TP +.I d +Design size, in DVI units. +.TP +.I a +Length of the ``area'' or directory. +.TP +.I l +Length of the font name. +.TP +.I n +Area and font name string(s). +.RE +.TP +.I "244 fnt_def2 k[2] c[4] s[4] d[4] a[1] l[1] n[a+l]" +Define font +.IR k . +.TP +.I "245 fnt_def3 k[3] c[4] s[4] d[4] a[1] l[1] n[a+l]" +Define font +.IR k . +.TP +.I "246 fnt_def4 k[+4] c[4] s[4] d[4] a[1] l[1] n[a+l]" +Define font +.IR k . +.TP +.I "247 pre i[1] num[4] den[4] mag[4] k[1] x[k]" +Begin preamble. The parameters are: +.RS +.TP \w'\fInum\fP'u+3n +.I i +DVI format. Standard \*(Te\& has +.IR "ID = 2" , +and \*(Te\&-\*(Xe\& has +.IR "ID = 3" . +.TP +.I num +Numerator of 100 nm / DVI unit. +.TP +.I den +Denominator of 100 nm / DVI unit. +.TP +.I mag +1000 * magnification. +.TP +.I k +Comment length. +.TP +.I x +Comment string. +.RE +.TP +.I "248 post p[4] num[4] den[4] mag[4] l[4] u[4] s[2] t[2]" +Begin postamble. The parameters are: +.RS +.TP \w'\fInum\fP'u+3n +.I p +Pointer to final bop. +.TP +.I "num, den, mag" +Duplicates of values in preamble. +.TP +.I l +Height-plus-depth of tallest page, in DVI units. +.TP +.I u +Width of widest page, in DVI units. +.TP +.I s +Maximum stack depth needed to process this DVI file. +.TP +.I t +Total number of pages +.RI ( bop +commands) present. +.RE +.TP +.I "249 post_post q[4] i[1] 223 .\|.\|. 223" +End postamble. The parameters are: +.RS +.TP \w'\fI223\fP'u+3n +.I q +Byte offset from the beginning of the DVI file to +the +.I post +command that started the postamble. +.TP +.I i +DVI format ID, as in the preamble. +.TP +.I +223 +At least four +.I 223 +bytes. +.RE +.TP +.I "250" +Undefined. +.TP +.I .\|.\|. +.TP +.I "255" +Undefined. +.\"====================================================================== +.SH "DTL COMMAND DESCRIPTION" +A DTL file contains one line per command, with a +limit of 1024 characters per line. Each command +contains a symbolic operation name, followed by +zero or more parameter values. The parameter +value descriptions are not repeated here; they can +be found in the previous section. +.TP \w'\fIw0,_w1,_w2,_w3,_w4\fP'u+3n +variety <variety-name> +This command specifies the name of the DTL file +type; it has no DVI file equivalent. +.TP +.I (text) +Series of set_char commands, for printable ASCII text. +.TP +.I \e( +Literal ASCII left parenthesis in (text). +.TP +.I \e) +Literal ASCII right parenthesis in (text). +.TP +.I \e\e +Literal ASCII backslash in (text). +.TP +.I \e" +Literal ASCII double quote in (text). +.TP +.I \eXY +Set_char for character with hexadecimal code XY, +not in parentheses, but by itself for readability. +.TP +.I "s1, s2, s2, s3" +Set, with (1,2,3,4)-byte charcodes. +.TP +.I sr +.IR set_rule . +.TP +.I "p1, p2, p2, p3" +Put, with (1,2,3,4)-byte charcodes. +.TP +.I pr +.IR put_rule . +.TP +.I nop +.I nop +(do nothing). +.TP +.I bop +.I bop +(beginning of page). +.TP +.I eop +.I eop +(end of page). +.TP +.I [ +Push. +.TP +.I ] +Pop. +.TP +.I "r1, r2, r3, r4" +Right, with (1,2,3,4)-byte argument. +.TP +.I "w0, w1, w2, w3, w4" +As in DVI. +.TP +.I "x0, x1, x2, x3, x4" +As in DVI. +.TP +.I "d1, d2, d3, d4" +Down, with (1,2,3,4)-byte argument. +.TP +.I "y0, y1, y2, y3, y4" +As in DVI. +.TP +.I "z0, z1, z2, z3, z4" +As in DVI. +.TP +.I fn +.I fnt_num +(set current font to font number in 0 to 63). +.TP +.I "f1, f2, f3, f4" +.I fnt +(set current font to (1,2,3,4)-byte font number). +.TP +.I special +.I xxx +(special commands with (1,2,3,4)-byte string length). +.TP +.I fd +.I fnt_def +(assign a number to a named font). +.TP +.I pre +Preamble. +.TP +.I post +.I post +(begin postamble). +.TP +.I post_post +.I post_post +(end postamble). +.TP +.I opcode +Undefined DVI command (250 to 255). +.\"====================================================================== +.SH "SAMPLE DTL FILE" +The following 2-line \*(Te\& file +.RS +.nf +Hello. +\ebye +.fi +.RE +when processed with the commands +.RS +.nf +tex hello.tex +dv2dt hello.dvi hello.dtl +.fi +.RE +produces this DTL file: +.RS +.nf +variety sequences-6 +pre 2 25400000 473628672 1000 27 ' TeX output 1995.03.02:2334' +bop 1 0 0 0 0 0 0 0 0 0 -1 +[ +d3 -917504 +] +d4 42152922 +[ +d4 -41497562 +[ +r3 1310720 +fd1 0 11374260171 655360 655360 0 5 '' 'cmr10' +fn0 +(Hello.) +] +] +d3 1572864 +[ +r4 15229091 +(1) +] +eop +post 42 25400000 473628672 1000 43725786 30785863 2 1 +fd1 0 11374260171 655360 655360 0 5 'cmr10' +post_post 152 2 223 223 223 223 +.fi +.RE +The command +.RS +.nf +dt2dv hello.dtl hello.dvi +.fi +.RE +will reconstruct the original DVI file. +.\"====================================================================== +.SH "SEE ALSO" +.BR dt2dv (1), +.BR dvitype (1), +.BR tex (1). +.\"====================================================================== +.SH FILES +.TP \w'\fI*.dvi\fP'u+3n +.I *.dvi +binary \*(Te\& DVI file. +.TP +.I *.dtl +text representation of a \*(Te\& DVI file in +.I "DVI Text Language" +format. +.\"====================================================================== +.SH AUTHOR +.B dv2dt +and +.BR dt2dv (1) +were written by +.RS +.nf +Geoffrey Tobin +Department of Electronic Engineering +La Trobe University +Bundoora, Victoria 3083 +Australia +Tel: +61 3 479 3736 +FAX: +61 3 479 3025 +Email: <G.Tobin@ee.latrobe.edu.au> +.fi +.RE +.PP +These manual pages were primarily written by +.RS +.nf +Nelson H. F. Beebe, Ph.D. +Center for Scientific Computing +Department of Mathematics +University of Utah +Salt Lake City, UT 84112 +Tel: +1 801 581 5254 +FAX: +1 801 581 4148 +Email: <beebe@math.utah.edu> +.fi +.RE +.\"==============================[The End]============================== diff --git a/Master/texmf-dist/doc/man/man1/dv2dt.man1.pdf b/Master/texmf-dist/doc/man/man1/dv2dt.man1.pdf Binary files differnew file mode 100644 index 00000000000..4d350f4fba9 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dv2dt.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/dvi2fax.1 b/Master/texmf-dist/doc/man/man1/dvi2fax.1 new file mode 100644 index 00000000000..f7c436d6e33 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvi2fax.1 @@ -0,0 +1,22 @@ +.TH DVI2FAX 1 "October 30, 1999" +.\" man page by Jim Van Zandt <jrv@vanzandt.mv.com> -*- nroff -*- +.SH NAME +dvi2fax \- convert a TeX DVI file to G3 fax format +.SH SYNOPSIS +\fBdvi2fax\fP [\fB-hi\fP|\fB-lo\fP] \fIfile\fP[.dvi] [\fIoptions for dvips\fP] +.SH DESCRIPTION +\fBdvi2fax\fP uses \fBdvips\fP(1) to convert a TeX DVI file to PostScript, +then \fBgs\fP(1) to convert the PostScript to G3 fax file format. +.SH OPTIONS +.LP +.B -hi +use high fax resolution (204x196 dpi) (default). +.LP +.B -lo +use low fax resolution (204x98). +.PP +\fBdvips\fP options can follow the file name. +.SH EXAMPLE +Example: dvi2fax foo -l 2 +.SH SEE ALSO +\fBdvips\fP(1), \fBgs\fP(1). diff --git a/Master/texmf-dist/doc/man/man1/dvi2fax.man1.pdf b/Master/texmf-dist/doc/man/man1/dvi2fax.man1.pdf Binary files differnew file mode 100644 index 00000000000..6f3b5ca29fc --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvi2fax.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/dvi2tty.1 b/Master/texmf-dist/doc/man/man1/dvi2tty.1 new file mode 100644 index 00000000000..0c3a7da6177 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvi2tty.1 @@ -0,0 +1,172 @@ +.TH DVI2TTY 1 "13 November 1990" +.SH NAME +dvi2tty \- preview a TeX DVI\-file on an ordinary ascii terminal +.SH SYNOPSIS +.B dvi2tty +[ options ] dvi\-file +.SH DESCRIPTION +.I dvi2tty +converts a TeX DVI\-file to a format that is appropriate for terminals +and line printers. The program is intended to be used for +preliminary proofreading of TeX-ed documents. +By default the output is directed to the terminal, +possibly through a pager (depending on how the program was installed), +but it can be directed to a file or a pipe. +.PP +The output leaves much to be desired, but is still +useful if you want to avoid walking to the +laser printer (or whatever) for each iteration of your +document. +.br +Since +.I dvi2tty +produces output for terminals and line printers the +representation of documents is naturally quite primitive. +In principle Font Changes are totally ignored, but +.I dvi2tty +recognizes +a few mathematical and special symbols that can be be displayed on an +ordinary ascii terminal, such as the '+' and '-' symbol. +.PP +If the width of the output text requires more columns than fits +in one line (c.f. the \-w option) it is broken into several lines by +.I dvi2tty +although they will be printed as one line on regular TeX output +devices (e.g. laser printers). To show that a broken line is really +just one logical line an asterisk (``*'') in the last position +means that the logical line is continued on the next physical +line output by +.I dvi2tty. +Such a continuation line is started with a a space and an asterisk +in the first two columns. +.PP +Options may be specified in the environment variable DVI2TTY. +Any option on the command line, conflicting with one in the +environment, will override the one from the environment. +.PP +.B Options: +.PP +.TP +.B \-o file +Write output to file ``file''. +.TP +.B \-p list +Print the pages chosen by list. +Numbers refer to TeX\-page numbers (known as \\count0). +An example of format for list is ``1,3:6,8'' +to choose pages 1, 3 through 6 and 8. +Negative numbers can be used exactly as in TeX, +e g \-1 comes before \-4 as in ``\-p\-1:\-4,17''. +.TP +.B \-P list +Like \-p except that page numbers refer to +the sequential ordering of the pages in the dvi\-file. +Negative numbers don't make a lot of sense here... +.TP +.B \-w n +Specify terminal width +.I n. +Legal range 16\-132. +Default is 80. If your terminal has the +ability to display in 132 columns it might +be a good idea to use \-w132 and toggle the +terminal into this mode as output will +probably look somewhat better. +.TP +.B \-v +Specify height of lines. Default value 450000. Allows to adjust linespacing. +.TP +.B \-q +Don't pipe the output through a pager. +This may be the default on some systems +(depending on the whims of the person installing the program). +.TP +.B \-e n +This option can be used to influence the spacing between words. +With a negative value the number of spaces +between words becomes less, with a positive value it becomes more. +\-e\-11 seems to worked well. +.TP +.B \-f +Pipe through a pager, $PAGER if defined, or whatever the installer of +the program compiled +in (often ``more''). This may be the default, but it is still okay +to redirect output with ``>'', the pager will not be used if output +is not going to a terminal. +.TP +.B \-F +Specify the pager program to be used. +This overrides the $PAGER and the default pager. +.TP +.B \-Fprog +Use ``prog'' as program to pipe output into. Can be used to choose an +alternate pager (e g ``-Fless''). +.TP +.B \-t +\\tt fonts were used (instead of cm) to produce dvi file. (screen.sty +is a powerfull mean to do that with LaTeX). +.TP +.B \-a +Dvi2tty normally tries to output accented characters. With the -a option, +accented characters are output without the accent sign. +.TP +.B \-l +Mark page breaks with the two-character sequence ``^L''. The default is +to mark them with a form-feed character. +.TP +.B \-c +Do not attempt to translate any characters (like the Scandinavion/latin1 mode) +except when running in tt-font. +.TP +.B \-u +Toggle option to process certain latin1 characters. Use this if your output +devices supports latin1 cahracters. +Note this may interfere with -s. Best not to use -u and -s together. +.TP +.B \-s +Toggle option to process the special Scandinavian characters that on most (?) +terminals in Scandinavia are mapped to ``{|}[\\]''. +Note this may interfere with -u. Best not to use -u and -s together. +.TP +.B \-J +Auto detect NTT JTeX, ASCII pTeX, and upTeX dvi format. +.TP +.B \-N +Display NTT JTeX dvi. +.TP +.B \-A +Display ASCII pTeX dvi. +.TP +.B \-U +Display upTeX dvi. +.TP +.B \-Eenc +Set output Japanese encoding. The enc argument 'e', 's', 'j', and 'u' +denotes EUC-JP, Shift_JIS, ISO-2022-JP, and UTF-8, respectively. +.TP +.B \-bdelim +Print the name of fonts when switching to it (and ending it). The delim +argument is used to delimit the fontname. +.SH FILES +/bin/more \ \ \ \ +probably the default pager. +.SH ENVIRONMENT +PAGER \ \ \ \ \ \ \ \ \ \ \ \ +the pager to use. +.br +DVI2TTY \ \ \ \ \ \ \ \ \ \ \ +can be set to hold command-line options. +.SH "SEE ALSO" +TeX, dvi2ps +.SH AUTHOR +Original Pascal verion: Svante Lindahl, Royal Institute of Technology, Stockholm +.br +Improved C version: Marcel Mol +.br +marcel@mesa.nl, MESA Consulting +.SH BUGS +Blanks between words get lost quite easy. This is less +likely if you are using a wider output than the default 80. +.PP +Only one file may be specified on the command line. + diff --git a/Master/texmf-dist/doc/man/man1/dvi2tty.man1.pdf b/Master/texmf-dist/doc/man/man1/dvi2tty.man1.pdf Binary files differnew file mode 100644 index 00000000000..735508fb809 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvi2tty.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/dvibook.1 b/Master/texmf-dist/doc/man/man1/dvibook.1 new file mode 100644 index 00000000000..01ee1d6b05e --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvibook.1 @@ -0,0 +1,55 @@ +.\" Copyright (c) 1987-2012 UMD-CS, released under the X11 license; +.\" see README and source files. +.TH DVIBOOK 1 +.SH NAME +dvibook \- rearrange pages in DVI file into signatures +.SH SYNOPSIS +.B dvibook +[ +.B \-q +] [ +.B \-s\fI<num> +] [ +.B \-i +.I infile +] [ +.B \-o +.I outfile +] +[ +.I infile +[ +.I outfile +] ] +.SH DESCRIPTION +.I Dvibook +rearranges pages from a DVI file produced by TeX into ``signatures'' for +printing books or booklets, creating a new DVI file +usable by any of the TeX conversion programs. +.PP +The +.I \-s +option selects the size of signature which will be used. The signature size is +the number of sides which will be folded and bound together; the number given +should be a multiple of four. The default is to use one signature for the +whole file. Extra blank sides will be added if the file does not contain a +multiple of four pages. +.PP +Dvibook normally prints the page numbers of the pages rearranged; the +.I \-q +option suppresses this. +.SH AUTHOR +Angus Duggan, from dviselect(1), by +Chris Torek, University of Maryland +.SH "SEE ALSO" +dviconcat(1), dviselect(1), latex(1), tex(1) +.br +.I "MC-TeX User's Guide" +.br +.I "The TeXbook" +.SH BUGS +.I Dvibook +does not adjust the parameters in the postamble; however, since these +values are normally used only to size certain structures in the output +conversion programs, and the parameters never need to be adjusted upward, +this has not proven to be a problem. diff --git a/Master/texmf-dist/doc/man/man1/dvibook.man1.pdf b/Master/texmf-dist/doc/man/man1/dvibook.man1.pdf Binary files differnew file mode 100644 index 00000000000..540ecd89613 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvibook.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/dviconcat.1 b/Master/texmf-dist/doc/man/man1/dviconcat.1 new file mode 100644 index 00000000000..b148786820e --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dviconcat.1 @@ -0,0 +1,48 @@ +.\" Copyright (c) 1987-2012 UMD-CS, released under the X11 license; +.\" see README and source files. +.TH DVICONCAT 1 +.SH NAME +dviconcat \- concatenate DVI files +.SH SYNOPSIS +.B dviconcat +[ +.B \-m +.I magnification +] [ +.B \-o +.I outfile +] +.I "list of files" +.SH DESCRIPTION +.I Dviconcat +concatenates the named +.IR file s +(or standard input, if no file names are given) +onto the standard output +or the given +.IR outfile , +creating a new DVI file +usable by any of the TeX conversion programs, +or even by +.I dviconcat +itself. +.PP +The magnification of the output file +is the same as that of the first input file +unless the +.B \-m +option is given. +When +.I dviconcat +changes the magnification of any input file, +it prints a warning to this effect. +.SH AUTHOR +Chris Torek, University of Maryland +.SH "SEE ALSO" +dviselect(1), latex(1), tex(1) +.br +.I "MC-TeX User's Guide" +.SH BUGS +The program should be called +.IR dvicat , +but that name was taken (for the driver for the C/A/T typesetter). diff --git a/Master/texmf-dist/doc/man/man1/dviconcat.man1.pdf b/Master/texmf-dist/doc/man/man1/dviconcat.man1.pdf Binary files differnew file mode 100644 index 00000000000..8c2da08b481 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dviconcat.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/dvicopy.1 b/Master/texmf-dist/doc/man/man1/dvicopy.1 new file mode 100644 index 00000000000..7d6e7f34d06 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvicopy.1 @@ -0,0 +1,52 @@ +.TH DVICOPY 1 TeX "24 January 1999" "Web2C 2012" +.\"===================================================================== +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.\"===================================================================== +.SH NAME +dvicopy, odvicopy \- produce modified copy of DVI file +.SH SYNOPSIS +.B dvicopy +.RI [ options ] +.RI [ infile [ \fB.dvi\fP ] +.RI [ outfile [ \fB.dvi\fP ]]] +.\"===================================================================== +.SH DESCRIPTION +This manual page is not meant to be exhaustive. The complete +documentation for this version of \*(TX can be found in the info file +or manual +.IR "Web2C: A TeX implementation" . +.PP +.B dvicopy +reads a DVI file, expands any references to virtual fonts to base +fonts, and writes the resulting DVI file. Thus you can use virtual +fonts even if your DVI processor does not support them, by passing the +documents through +.B dvicopy +first. +.\"===================================================================== +.SH OPTIONS +.TP +.BI \-magnification= NUMBER +Override existing magnification with +.IR NUMBER . +.PP +.TP +.BI \-max-pages= NUMBER +Process +.I NUMBER +pages; default one million. +.PP +.TP +.BI \-page-start= PAGE-SPEC +Start at +.IR PAGE-SPEC , +for example `2' or `5.*.-2'. +.\"===================================================================== +.SH "SEE ALSO" +.BR dviselect (1), +.BR dvitype (1). +.\"===================================================================== +.SH AUTHORS +Peter Breitenlohner wrote the program. Klaus Guntermann originally ported +it to Unix. diff --git a/Master/texmf-dist/doc/man/man1/dvicopy.man1.pdf b/Master/texmf-dist/doc/man/man1/dvicopy.man1.pdf Binary files differnew file mode 100644 index 00000000000..e3ac7a5d812 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvicopy.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/dvidvi.1 b/Master/texmf-dist/doc/man/man1/dvidvi.1 new file mode 100644 index 00000000000..0e464f4d3e0 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvidvi.1 @@ -0,0 +1,128 @@ +.TH DVIDVI L "February 2011" +.SH NAME +.PP +dvidvi \- selects and/or re-arranges pages in a TeX dvi file +.SH SYNOPSIS +.PP +dvidvi [param] infile outfile +.SH DESCRIPTION +.SS Introduction +.PP +The dvidvi program converts a dvi file into another dvi file, with perhaps +certain changes. +.br +.SS Parameters +.PP +-f n page n is first page selected +.br +-l n page n is last page selected +.in +10 +.ti -10 +-n n select at most n pages. Notice that n is the number of pages +selected, independently of the number of pages actually +contained in a sheet +.ti -10 +-i { n1..n2 | n1 }[,...] +.br +include pages (ranges allowed). When this option is +used, ONLY the specified pages are selected. However, +we can exclude from these pages with the option -x +.ti -10 +-x { n1..n2 | n1 }[,...] +.br +exclude pages (ranges allowed) +.ti -10 +-q work in quiet mode, that is do not print in the screen +messages of how the work is being done. +.ti -10 +-r reverse the order of the pages. +.PP +The page numbers for the above options -f -l -i and -x can be specified +in different ways. +.in +4 +.ti -4 +1) If a number n is given, it is interpreted as the n'th page from the +beginning of the .dvi file. Of course, this number is independent of the +page number assigned by TeX. +.ti -4 +2) TeX page numbers are those who are actually written in the page; +these page numbers can be modified, for example, by using the TeX commands +\\pagenumbering, \\setcounter{page}{n}, and \\addtocounter{page}{n}. +A TeX page number can be specified by preceding the number n with the +character @. Thus, if you specify -f @25 -l @30 you select the pages +between 25 and 30, these numbers being those assigned by TeX. +.ti -4 +3) However, several pages can have the same TeX page number in a .dvi file. +For example, the introductory pages in a book are numbered i, ii, and so on +until the first chapter begins and then, the pages are numbered 1, 2, etc. +In this case, the pages numbered i and 1 in the .dvi file have the same TeX +page number. If you want to select for example the second occurrence of the +page numbered 1, you can specify a page number as (@2)1. Thus @1 is equivalent +to (@1)1. For example, if you specify -f (@2)1 -l(@2)10 you select the pages +between 1 and 10 of the first chapter, not the introductory pages between +i and x. +.PP +There is another parameter that tells dvidvi how you want to change page +layout and specifications. This is the -m parameter. +.in +4 +.ti -4 +* The number preceding the colon is the modulo value. Everything will be +done in chunks of pages this big. If there is no colon, than the default +value is assumed to be one. The last chunk of pages is padded with as many +blank pages as necessary. +.ti -4 +* Following the colon is a comma-separated list of page numbers. These +page numbers are with respect to the current chunk of pages, and must lie +in the range zero to the modulo value less one. If a negative sign +precedes the number, then the page is taken from the mirror chunk; if there +are m chunks, then the mirror chunk of chunk n is the chunk numbered m-n-1. +Put simply, it is the chunk numbered the same, only from the end. This can +be used to reverse pages. If no number is given, the page number defaults +to 1. +.ti -4 +* Following each page number is an optional offset value in parenthesis, +which consists of a pair of comma-separated dimensions. Each dimension is +a decimal number with an optional unit of measure. The default unit of +measure is inches, or the last unit of measure used. All units are in true +dimensions. Allowable units of measure are the same that TeX allows: in, +mm, cm, pt, pc, dd, and cc. +.SS Copyright +dvidvi 1.0, Copyright (C) 1988-2011, Radical Eye Software +Anyone may freely use, modify and/or distribute this program and +documentation, or any portion thereof, without limitation. +.SH EXAMPLES +.PP +.in +10 +.ti -10 +-m - Reverses the order of the pages. This time, both the modulo and the +page number are defaulted. +.ti -10 +-m 2:0 Selects the first, third, fifth, etc. pages from the file. Print +this one after printing the next, taking the paper out of the +feed tray and reinserting it into the paper feed. +.ti -10 +-m 2:-1 Selects the second, fourth, etc. pages, and writes them in reverse +order. +.ti -10 +-m 4:-1,2(4.25in,0in) +.ti -10 +-m 4:-3,0(4.25in,0in) +.br +Useful for printing a little booklet, four pages to a sheet, +double-sided, for stapling in the middle. Print the first one, +put the stack back into the printer upside down, and print the +second. The `in' specifications are superfluous. +.ti -10 +-m ,(1pt,1) +.br +Scare your system administrator! Actually, things are so blurry with this +option, you may want to send enemies letters printed like this. *Long* +letters. +.ti -10 +-m 4:0(5.5in,4.25),3(0,4.25) +.ti -10 +-m 4:1(0in,4.25),2(5.5,4.25) +.br +Print a four-page card on one sheet. Print the first, rotate the paper 180 +degrees and feed it again. (PostScript people can do funny tricks with +PostScript so this isn't necessary.) diff --git a/Master/texmf-dist/doc/man/man1/dvidvi.man1.pdf b/Master/texmf-dist/doc/man/man1/dvidvi.man1.pdf Binary files differnew file mode 100644 index 00000000000..2e080b5302c --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvidvi.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/dvigif.1 b/Master/texmf-dist/doc/man/man1/dvigif.1 new file mode 100644 index 00000000000..537ea8bfa35 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvigif.1 @@ -0,0 +1 @@ +.so man1/dvipng.1 diff --git a/Master/texmf-dist/doc/man/man1/dvigif.man1.pdf b/Master/texmf-dist/doc/man/man1/dvigif.man1.pdf Binary files differnew file mode 100644 index 00000000000..35194cc5459 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvigif.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/dvihp.1 b/Master/texmf-dist/doc/man/man1/dvihp.1 new file mode 100644 index 00000000000..9627bb312ee --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvihp.1 @@ -0,0 +1,49 @@ +.TH DVIHP 1 "December 24, 2009" +.\" man page by Jim Van Zandt <jrv@vanzandt.mv.com> -*- nroff -*- +.SH NAME +dvihp \- convert a TeX DVI file to Hewlett-Packard PCL +.SH SYNOPSIS +\fBdvihp\fP [\fIoptions\fP] \fIdvifile\fP[.dvi] +.SH DESCRIPTION +\fBdvihp\fP translates the given \fIdvifile\fP to Hewlett-Packard PCL +using \fBdvicopy\fP(1) then $DVILJ (dvilj4 by default). +.P +In the absence of other options, pipe the PCL to $SPOOL (lpr by default). +.SH OPTIONS +Options are recognized from dvips where possible: +.IP \fB-A\fP +print odd pages +.IP \fB-B\fP +print even pages +.IP "\fB-d\fP \fIn\fP" +set debug bits to \fIn\fP (see documentation) +.IP "\fB-D\fP \fIn\fP" +set resolution to \fIn\fP +.IP \fB-f\fP +run as filter +.IP "\fB-l\fP \fIn\fP" +don't print pages after \fIn\fP +.IP \fB-m\fP +manual feed +.IP "\fB-n\fP \fIn\fP" +print \fIn\fP pages +.IP "\fB-O\fP \fIa\fP,\fIb\fP" +set/change paper offset to \fIa\fP,\fIb\fP mm. +.IP "\fB-o\fP \fIs\fP" +output to \fIs\fP instead of spooling +.IP "\fB-p\fP \fIn\fP" +don't print pages before \fIn\fP. +.IP \fB-Ps\fP +pass directly to lpr. +.IP \fB-v\fP +verbose operation. +.IP "\fB-x\fP \fIn\fP" +set magnification to \fIn\fP. +.IP \fB--help\fP +write usage summary. +.P +Other options are passed to the dvilj program. +.SH BUGS +Email bug reports to tex-k@tug.org. +.SH SEE ALSO +\fBdvicopy\fP(1), \fBdvilj4\fP(1). diff --git a/Master/texmf-dist/doc/man/man1/dvihp.man1.pdf b/Master/texmf-dist/doc/man/man1/dvihp.man1.pdf Binary files differnew file mode 100644 index 00000000000..dadd6dbcaaf --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvihp.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/dvilj.1 b/Master/texmf-dist/doc/man/man1/dvilj.1 new file mode 100644 index 00000000000..af00f982db4 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvilj.1 @@ -0,0 +1,688 @@ +.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.04) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sh \" Subsection heading +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "DVILJ 1" +.TH DVILJ 1 "2012-03-12" "Version 2.6p5" "TeX-Live" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +dvilj4, dvilj4l, dvilj2p, dvilj \- convert a TeX DVI file to PCL, for HP LaserJet printers +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +.Vb 4 +\& dvilj [\-\-Dnumber] [\-ccopies] [\-dmode] [\-D] [\-E] [\-eoutputfile] +\& [\-ffrompage] [\-g] [\-hheaderfile] [\-l] [\-Mflag] [\-mmag] [\-ppages] +\& [\-q] [\-r] [\-ttopage] [\-spagesize] [\-v] [\-Vmode] [\-w] [\-xxoff(mm)] +\& [\-yyoff(mm)] [\-Xxoff(dots)] [\-Yyoff(dots)] [\-z] [filename] +.Ve +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +\&\fBdvilj\fR and siblings convert TeX-output \f(CW\*(C`.dvi\*(C'\fR files into \s-1PCL\s0 (the +Hewlett-Packard Printer Control Language) commands suitable for +printing on a \s-1HP\s0 LaserJet+, \s-1HP\s0 LaserJet \s-1IIP\s0 (using \fBdvilj2p\fR), \s-1HP\s0 +LaserJet 4 (using \fBdvilj4\fR), and fully compatible printers. +.PP +\&\fBdvilj4\fR also provides support for the builtin Intellifont and +TrueType fonts; \s-1TFM\s0 and \s-1VF\s0 files are provided in the distribution. +Virtual fonts are not supported directly by \fBdvilj\fR, so you must run +\&\fIdvicopy\fR\|(1) first, or otherwise expand the virtual fonts +.PP +All programs are generated from one source file \fIdvi2xx.c\fR. They are +usually called via a shell script or as a line printer filter. One +such script, \fIdvihp\fR\|(1), is included in the distribution. It provides +command-line options similar to those of \fIdvips\fR\|(1). +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-\-D\fR\fInumber\fR" 4 +.IX Item "--Dnumber" +Debug according to the bits of \fInumber\fR; see the \fIkpathsea\fR\|(3) manual +for values. Also turns on general verbosity. +.IP "\fB\-c\fR\fInumber\fR" 4 +.IX Item "-cnumber" +Print each page \fInumber\fR times (including original) +.IP "\fB\-d\fR\fInumber\fR" 4 +.IX Item "-dnumber" +print in duplex mode. The option \fB\-d1\fR means long edge binding, +\&\fB\-d2\fR stands for short edge binding. This option is only selectable +in \fBdvilj4\fR and \fBdvilj2p\fR. +.IP "\fB\-D\fR\fI[\-12]\fR" 4 +.IX Item "-D[-12]" +Double-sided printing \- see below; \fB\-D1\fR prints odd sides only, +\&\fB\-D2\fR is for even pages, a trailing \fB\-\fR suppresses printing of empty +padding pages. +.IP "\fB\-E\fR" 4 +.IX Item "-E" +Switch printer into econo mode (\fBdvilj4\fR only). +.IP "\fB\-e\fR\fIoutfile\fR" 4 +.IX Item "-eoutfile" +Send output to \fIoutfile\fR instead of the basename of dvi file extended +with \f(CW\*(C`.lj\*(C'\fR. If outfile is \fB\-\fR (as in \f(CW\*(C`\-e\-\*(C'\fR) the output is directed +to standard output and can be directly piped into a spooler. +.IP "\fB\-f\fR\fIpagenum\fR" 4 +.IX Item "-fpagenum" +Print pages with TeX page numbers greater than or equal to \fIpagenum\fR. +.IP "\fB\-g\fR" 4 +.IX Item "-g" +\&\fIGo\fR mode: do not reset printer at start of job. +.IP "\fB\-h\fR\fIheaderfile\fR" 4 +.IX Item "-hheaderfile" +Copy \fIheaderfile\fR to output before translation of the \s-1DVI\s0 file. Used +to send arbitrary commands to the laserprinter. +.IP "\fB\-l\fR" 4 +.IX Item "-l" +Print output in landscape mode; supported only by \fBdvilj2p\fR and +\&\fBdvilj4\fR. +.IP "\fB\-M\fR\fIflag\fR" 4 +.IX Item "-Mflag" +Do (not) call \fImktexpk\fR\|(1) to generate fonts on demand. \fB\-M1\fR and \fB\-M\fR +are equivalent. \fB\-M0\fR enables invoking \fImktexpk\fR\|(1). (This is the same +as in \fIdvips\fR\|(1).) The default behavior (i.e., if no \fB\-M\fR option is +given) is chosen at compile-time; as distributed, mktexpk is enabled. +.IP "\fB\-m\fR\fImagnification\fR" 4 +.IX Item "-mmagnification" +Specify the magnification to use. The following are available: +.Sp +.Vb 9 +\& \-m#usermag e.g., #900 +\& \-m0 equivalent to \-m#1000 +\& \-mh equivalent to \-m#1095 +\& \-m1 equivalent to \-m#1200 +\& \-mq equivalent to \-m#1250 +\& \-m2 equivalent to \-m#1440 +\& \-m3 equivalent to \-m#1728 +\& \-m4 equivalent to \-m#2074 +\& \-m5 equivalent to \-m#2488 +.Ve +.IP "\fB\-p\fR\fIpagecount\fR" 4 +.IX Item "-ppagecount" +Print \fIpagecount\fR pages after the starting page. +.IP "\fB\-q\fR" 4 +.IX Item "-q" +Quiet operation: omit final statistics, etc. +.IP "\fB\-r\fR" 4 +.IX Item "-r" +Toggle page reversal. +.IP "\fB\-s\fR\fIpagesize\fR" 4 +.IX Item "-spagesize" +Specify the page size: +.Sp +.Vb 10 +\& \-s1: Executive (7.25" x 10.5") +\& \-s2: Letter (8.5" x 11") +\& \-s3: Legal (8.5" x 14") +\& \-s6: Ledger (11" x 17") +\& \-s25: A5 paper (148mm x 210mm) +\& \-s26: A4 paper (210mm x 297mm) +\& \-s27: A3 (297mm x 420mm) +\& \-s45: JIS B5 paper (182mm x 257mm) +\& \-s46: JIS B4 paper (250mm x 354mm) +\& \-s71: Hagaki postcard (100mm x 148mm) +\& \-s72: Oufuku\-Hagaki postcard (200mm x 148mm) +\& \-s80: Monarch Envelope (3 7/8" x 7 1/2") +\& \-s81: Commercial Envelope 10 (4 1/8" x 9 1/2") +\& \-s90: International DL (110mm x 220mm) +\& \-s91: International C5 (162mm x 229mm) +\& \-s100: International B5 (176mm x 250mm) +.Ve +.Sp +These values are from the \s-1PCL\s0 5 technical reference manual. If the +\&\fB\-s\fR commandline option is omitted, no clipping is performed at the +bottom of the page. (But printing below the paper bottom should not +disturb any correctly behaving \s-1PCL\s0 printer.) Please remember that the +correct paper tray must be installed for selected paper size, so use +this option only if you have full control over your print destination. +.IP "\fB\-t\fR\fIpagenum\fR" 4 +.IX Item "-tpagenum" +Print pages with TeX page numbers less than or equal to \fIpagenum\fR. +.IP "\fB\-v\fR" 4 +.IX Item "-v" +Verbose mode: list fonts used, etc. +.IP "\fB\-V\fR\fImode\fR" 4 +.IX Item "-Vmode" +Compatibility mode. As \fImode\fR, use \f(CW\*(C`K\*(C'\fR for Kyocera, \f(CW\*(C`B\*(C'\fR for +Brother, \f(CW6\fR for \s-1LJ6\s0 printers. +.IP "\fB\-w\fR" 4 +.IX Item "-w" +Omit warnings. +.IP "\fB\-x\fR\fIoffset\fR" 4 +.IX Item "-xoffset" +Global x\-offset in mm on output page relative to 1 inch/1 inch origin. +.IP "\fB\-y\fR\fIoffset\fR" 4 +.IX Item "-yoffset" +Global y\-offset in mm on output page relative to 1 inch/1 inch origin. +.IP "\fB\-X\fR\fIoffset\fR" 4 +.IX Item "-Xoffset" +Global x\-offset in dots on output page (overrides 1 inch/1 inch +origin). +.IP "\fB\-Y\fR\fIoffset\fR" 4 +.IX Item "-Yoffset" +Global y\-offset in dots on output page (overrides 1 inch/1 +inch origin). +.IP "\fB\-z\fR" 4 +.IX Item "-z" +Print a test page with the page counter at end of job. +.SH "OPERANDS" +.IX Header "OPERANDS" +If no operands are specified a brief usage message is displayed. +.IP "\fIfilename\fR" 4 +.IX Item "filename" +The \s-1DVI\s0 file name that shall be converted by \fBdvilj\fR. It must always +be seekable. +.Sp +The output file name is constructed from \fIfilename\fR. Either an +extension \f(CW\*(C`.dvi\*(C'\fR is replaced by \f(CW\*(C`.lj\*(C'\fR, or the extension \f(CW\*(C`.lj\*(C'\fR is +appended. +.Sp +If \fIfilename\fR is \fB\-\fR, the \s-1DVI\s0 file is read from standard input and +the resulting \s-1PCL\s0 document is written to standard output. (Please +remember that thhe \s-1DVI\s0 file must be seekable, even if it's stdin.) +.SH "SUPPORTED TeX \especial COMMANDS" +.IX Header "SUPPORTED TeX special COMMANDS" +\&\f(CW\*(C`\especial\*(C'\fR commands supported by \fBdvilj\fR have the generic syntax +.PP +.Vb 2 +\& \especial{key1=value key1="value with space"} +\& \especial{key3 = value key4 = \*(Aqnote optional spaces around equal sign\*(Aq} +.Ve +.PP +I.e., specials are a sequence of key/value pairs, separated by an +equal sign. Spaces around the equal sign are ignored. The value is +either a space separated word, or a quoted string. Both double and +single quotes can be used, alternatively. There is no support for +quoting quote characters in values; if you want both double and single +quotes in one value, you're out of luck. +.PP +The following key/value combinations are valid: +.IP "\fBhpfile\fR=\fIfile\fR" 4 +.IX Item "hpfile=file" +Insert \fIfile\fR at the current position. \fIfile\fR is searched with +\&\fIkpathsea\fR\|(3), see below. +.Sp +The file content must be valid for this printer, i.e., it should +contain \s-1PCL\s0 escape sequences or \s-1HP\-GL/2\s0 commands. If the file is a +graphics file, this typically means that the upper left corner of the +graphics is placed at the current position. +.Sp +\&\s-1PCL\s0 absolute positioning escape sequences in \fIfile\fR are rewritten to +be relative positioning commands; the lowest appearing coordinate is +used as reference. +.IP "\fBhpfile_verbatim\fR=\fIfile\fR" 4 +.IX Item "hpfile_verbatim=file" +Insert \fIfile\fR verbatim at the current position, without any changes +of the file content. \fIfile\fR is searched with \fIkpathsea\fR\|(3), see below. +.Sp +This is mostly used to keep absolute positions in \s-1PCL\s0 files. +.IP "\fBpsfile\fR=\fIfile\fR \fBllx\fR=\fIx0\fR \fBlly\fR=\fIy0\fR \fBurx\fR=\fIx1\fR \fBury\fR=\fIy1\fR \fBrwi\fR=\fIs\fR" 4 +.IX Item "psfile=file llx=x0 lly=y0 urx=x1 ury=y1 rwi=s" +Convert Postscript file \fIfile\fR to \s-1HP\s0 \s-1PCL\s0, by Ghostscript with device +\&\f(CW\*(C`ljetplus\*(C'\fR, and insert the resulting graphics file at the current +position, rewriting absolute position escape sequences. \fIfile\fR is +searched with \fIkpathsea\fR\|(3), see below. +.Sp +The accompanying key/value pairs are mandatory, they can be specified +in an arbitrary order. Values \fIx0\fR, \fIx1\fR, \fIy0\fR, \fIy1\fR, and \fIs\fR are +integers. (\fIx0\fR,\fIy0\fR) is the lower left corner, (\fIx1\fR,\fIy1\fR) the +upper right corner of the image. +.Sp +\&\fBPlease note: The specific semantics of this special is not known.\fR +In particular, the \fBrwi\fR parameter is some scale factor; but even +looking at the source code it is not quite clear what the special's +author intended to implement here. In addition, it is unclear what +dimensions are used to specify the corners, Postscript points or \s-1PCL\s0 +dots. +.Sp +\&\fIIf you happen to know the psfile semantics, or if you spent the work +analyzing them, please inform us at tex\-k@tug.org, so that we can +update this man page with the relevant information.\fR +.IP "\fBdvilj-psfile-syntax\fR=\fIsyntax\fR" 4 +.IX Item "dvilj-psfile-syntax=syntax" +where \fIsyntax\fR is either \f(CW\*(C`dvilj\*(C'\fR or \f(CW\*(C`ignore\*(C'\fR. This is a very crude +way to tell the driver what to do with \fBpsfile\fR specials. +.Sp +If the value is \f(CW\*(C`ignore\*(C'\fR, all \fBpsfile\fR specials that are processed +afterwards are ignored, until the next \fBdvilj-psfile-syntax\fR special is +processed. +.Sp +If the value is \f(CW\*(C`dvilj\*(C'\fR, \fBpsfiles\fR specials are processed as +explained above, until the next \fBdvilj-psfile-syntax\fR special is +processed. +.Sp +An obvious, planned, extension is the value \f(CW\*(C`dvips\*(C'\fR, but this has not +been implemented yet. +.Sp +That special is not as simple as it sounds at first. Since its +semantics is defined by processing order, it is only of use if it is +placed on the same page as the \fBpsfile\fR special. Having it once in a +file (e.g., on the first page) does not help if you print just one +page of the document \*(-- \fBdvilj\fR does not do prescanning of first-page +specials like some other drivers do. (Patches would be welcome, of +course.) +.IP "\fBcomment\fR=\fIarbitrary text\fR" 4 +.IX Item "comment=arbitrary text" +.PD 0 +.IP "\fBcomment\fR \fIarbitrary text\fR" 4 +.IX Item "comment arbitrary text" +.PD +This causes the rest of the special to be ignored; it may be used to +add meta-information to a \s-1DVI\s0 file. +.Sp +With the first form, the comment may appear anywhere in the special. +When it appears first, the processing of this special is terminated +and all other text behind is ignored. +.Sp +The second form is a speciality that has been introduced for +compatibility with other drivers. If the first keyword of the special +is \fBcomment\fR and has no value, it is taken as a valid comment syntax, +too; the rest of the special is ignored. +.IP "\fBorientation\fR=\fIpo\fR" 4 +.IX Item "orientation=po" +Position the page on the physical paper. The value \fIpo\fR may be one of +the following values: +.Sp +.Vb 4 +\& 0 for portrait +\& 1 for landscape +\& 2 for reverse portrait +\& 3 for reverse landscape +.Ve +.IP "\fBdefpoint\fR=\fIn(x,y)\fR" 4 +.IX Item "defpoint=n(x,y)" +Define the point number \fIn\fR. This point can be referred to later in +other special commands to specify areas that shall be filled with some +pattern. \fIn\fR must be between 0 and 79. +.Sp +\&\fIx\fR and \fIy\fR are the position of that point and have the form \f(CW\*(C`?pt\*(C'\fR +where \f(CW\*(C`?\*(C'\fR is a floating point number. The positions are relative to +the \s-1DVI\s0 page origin; i.e., coordinates increase moving right and down, +the point of origin is (1in,1in) in the upper left corner, altered by +options \fB\-x\fR, \fB\-y\fR, \fB\-X\fR, and \fB\-Y\fR, but not by \ehoffset and +\&\evoffset. +.Sp +\&\fIx\fR and \fIy\fR can be omitted, i.e., the values \f(CW3\fR or \f(CW\*(C`4(,)\*(C'\fR are +valid. Then the current page position is used as position for point +\&\fIn\fR. +.ie n .IP "\fBresetpoints\fR=""all""" 4 +.el .IP "\fBresetpoints\fR=\f(CWall\fR" 4 +.IX Item "resetpoints=all" +This undefines all points again. +.IP "\fBgray\fR=\fIgray_scale\fR" 4 +.IX Item "gray=gray_scale" +.PD 0 +.IP "\fBgrey\fR=\fIgray_scale\fR" 4 +.IX Item "grey=gray_scale" +.PD +This sets the fill mode for the next \fBfill\fR special, the area will be +filled with gray color. (\fBgrey\fR is an alias for \fBgray\fR.) Any pattern +specification is reset. +.Sp +\&\fIgray_scale\fR is the percentage of gray that shall be used here; with +\&\f(CW0\fR meaning white and \f(CW100\fR meaning black. +.Sp +Caveat: That special is actually a misnomer. \s-1PCL\s0 names these gray +scales \fIshading patterns\fR and they are created by placing dots in the +area. The gray scale selects how far spread the dots are. In the lower +ranges, this doesn't look very gray on close sight, but more like a +dotted background. Furthermore, the gray scales are not as +fine-grained as the value range 0..100 might make you believe. In +reality, there are only 8 different gray patterns available: +.Sp +.Vb 8 +\& 1 \- 2% +\& 3 \- 10% +\& 11 \- 20% +\& 21 \- 35% +\& 36 \- 55% +\& 56 \- 80% +\& 81 \- 99% +\& 100% +.Ve +.Sp +One of these patterns is selected according to the \fIgray_scale\fR value. +.IP "\fBpattern\fR=\fIpat\fR" 4 +.IX Item "pattern=pat" +This sets the fill mode for the next \fBfill\fR special, the area will be +filled with a pattern. Any gray color specification is reset. +.Sp +\&\fIpat\fR is one of the following values: +.Sp +.Vb 6 +\& 1 horizontal lines +\& 2 vertical lines +\& 3 diagonal lines, from lower left corner to upper right corner +\& 4 diagonal lines, from upper right corner to lower left corner +\& 5 crossed lines, vertically +\& 6 crossed lines, diagonally +.Ve +.IP "\fBfill\fR=\fIa/b\fR" 4 +.IX Item "fill=a/b" +Fill the area between the points \fIa\fR and \fIb\fR, according to the +current fill mode. +.Sp +Point \fIa\fR \fBmust\fR be the upper left corner and point \fIb\fR \fBmust\fR be the +lower left corner of the rectangle. Otherwise the result is garbage. +.Sp +The default fill mode is 10% gray color filling. +.IP "\fIfilename\fR" 4 +.IX Item "filename" +This is a legacy special, its use is depreciated. If the special is +just one word that names an existing file, that file is verbatim +included. Contrary to other file inclusion means, the file is not +searched with \fIkpathsea\fR\|(3). \fIYou are not supposed to use this special +and we won't fix any problems with it.\fR +.PP +It should be noted that the special parser does sometimes accept +constructs that are not valid as in the documentation above. Then, the +output is most often damaged in some way. +.Sh "Searching for Included Files" +.IX Subsection "Searching for Included Files" +Proper file include specials search the file with \fIkpathsea\fR\|(3). The +search path is configured by variable \f(CW\*(C`DVILJINPUTS\*(C'\fR and, if the file +is not found in that search path, by variable \f(CW\*(C`TEXINPUTS\*(C'\fR. +.PP +Search via \f(CW\*(C`DVILJINPUTS\*(C'\fR covers the use case that one has common +site-wide graphics that shall be included in documents, e.g., scanned +signatures. Search via \f(CW\*(C`TEXINPUTS\*(C'\fR covers the use case that one has +graphics as part of ones current document. +.PP +\&\f(CW\*(C`dvilj\*(C'\fR is used as the \f(CW\*(C`.PROGRAM\*(C'\fR name in \fItexmf.cnf\fR, for all +driver variants, independent of the actual program name. +.ie n .Sh "Unknown Specials and ""TEX_HUSH"" configuration" +.el .Sh "Unknown Specials and \f(CWTEX_HUSH\fP configuration" +.IX Subsection "Unknown Specials and TEX_HUSH configuration" +\&\fIKpathsea\fR\|(3) has the concept of warning suppression with the +configuration variable \f(CW\*(C`TEX_HUSH\*(C'\fR, please refer to its Info node +\&\fITeX support / Suppressing warnings\fR. That variable holds a +colon-separated identifiers that specifies the to-be-suppressed +warnings. +.PP +If \f(CW\*(C`special\*(C'\fR is among the listed values, \fBdvilj\fR does not output +warnings any more about specials that it doesn't know about. But if +there is a recognized special and if that special has an invalid +parameter, then a warning is output nevertheless, independent of the +content of \f(CW\*(C`TEX_HUSH\*(C'\fR. +.SH "DOUBLE PAGE PRINTING" +.IX Header "DOUBLE PAGE PRINTING" +If the printer has a duplex unit installed, duplex printing can be +demanded with the \fB\-d\fR option. +.PP +Otherwise, the command line option \fB\-D\fR causes the printer to print +in doublepage mode, that is, roughly speaking, printing first the even +pages and then the odd pages of a document. If \fB\-D\fR is used to print +both even and odd pages (\fB\-D\fR is used without the optional 1 or 2) +the following will happen after half of the pages is printed: \s-1LJ:\s0 the +printer stops, shows message \*(L"\s-1FEED\s0\*(R" and switches on manual feed led. +The printer continues when either the printed pages are fed into the +manual page feeder, or the operator pushes the continue button (after +placing first the printed pages into the paper tray). +.PP +If \fB\-D1\fR was specified only odd pages will be printed, \fB\-D2\fR can be +used for even pages. A trailing \f(CW\*(C`\-\*(C'\fR (as in \fB\-D\-\fR, \fB\-D1\-\fR or +\&\fB\-D2\-\fR) supresses printing of empty pages which are generated for +padding otherwise. +.PP +The driver allows the \fB\-D\fR option for both print-directions +(front-to-back or back-to-front printing). It tries to be clever in +certain cases: when a document has an odd number of pages it inserts +in the right place an empty page when a document starts with page 0 +the driver inserts an empty page after the 0\-page when a piece of a +document is printed that starts with an even page-number it prints +this page at the backside of the first page to ensure that the odd +sides are always on the frontside. The 0\-page is treated like an odd +page. +.PP +The doubleside option works for all LJs, not only for the new D model +with does doubleside-printing (actually, I don't know whether it makes +much sense on the new \s-1LJ\s0 \s-1II\s0 D at all). +.PP +Caveat on the doubleside-option: When it is used frequently or on very +large files, it might become necessary to clean the printer much more +frequently. +.PP +The command line option \fB\-p\fR\fIX\fR can be used to abort printing after +the output of \fIX\fR pages (can lead to strange results together with +\&\fB\-D\fR). I personally dislike this option. The secure way of printing a +part of a document is using \fB\-f\fR (from) and \fB\-t\fR (to). +.SH "ENVIRONMENT" +.IX Header "ENVIRONMENT" +\&\fBdvilj\fR uses the same environment variables and algorithms for finding +font files as TeX and its friends do. See the documentation for the +\&\fIkpathsea\fR\|(3) library for details. (Repeating it here is too cumbersome.) +.ie n .IP """DVILJFONTS""" 4 +.el .IP "\f(CWDVILJFONTS\fR" 4 +.IX Item "DVILJFONTS" +If set, overrides all other font paths. +.ie n .IP """DVILJMAKEPK""" 4 +.el .IP "\f(CWDVILJMAKEPK\fR" 4 +.IX Item "DVILJMAKEPK" +If set, overrides \fImktexpk\fR\|(1) as the name of the command to execute to +create a \s-1PK\s0 file if one isn't found. +.ie n .IP """DVILJSIZES""" 4 +.el .IP "\f(CWDVILJSIZES\fR" 4 +.IX Item "DVILJSIZES" +May be set to indicate which sizes of fonts are available. It should +consist of a list of numbers separated by colons. If the list begins +with a colon, the system default sizes are used, as well. Sizes are +expressed in dots per inch; decimals may be used for \f(CW\*(C`pxl\*(C'\fR files: for +example, a 300 dots per inch file magnified by half a step comes out +to 1643 dots per five inches, which should be encoded as 328.6. +\&\fBdvilj\fR tries the actual size of the font before trying any of the +given sizes. +.ie n .IP """DVILJINPUTS""" 4 +.el .IP "\f(CWDVILJINPUTS\fR" 4 +.IX Item "DVILJINPUTS" +Primary search path for include files. +.ie n .IP """TEXINPUTS""" 4 +.el .IP "\f(CWTEXINPUTS\fR" 4 +.IX Item "TEXINPUTS" +Secondary search path for include files. +.ie n .IP """TEX_HUSH""" 4 +.el .IP "\f(CWTEX_HUSH\fR" 4 +.IX Item "TEX_HUSH" +Colon separated list of identifiers that name situations where no +warning shall be output. The following identifiers are used: +.Sp +.Vb 5 +\& checksum suppress mismatched font checksum warnings +\& readable suppress warnings about unreadable files +\& special suppress warnings about unknown specials +\& all suppress all warning classes above +\& none suppress no warnings +.Ve +.ie n .IP """KPATHSEA_DEBUG""" 4 +.el .IP "\f(CWKPATHSEA_DEBUG\fR" 4 +.IX Item "KPATHSEA_DEBUG" +Trace \fIkpathsea\fR\|(3) lookups; set to \-1 for complete tracing. +.ie n .IP """GS_PATH""" 4 +.el .IP "\f(CWGS_PATH\fR" 4 +.IX Item "GS_PATH" +On Windows, this may be the path to Ghostscript; there the default is +\&\fIgswin32c.exe\fR. +.Sp +On Unix, this environment variable is not used. Ghostscript is called +as \fIgs\fR\|(1) and must be found over \f(CW$PATH\fR. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIdvihp\fR\|(1), \fIdvicopy\fR\|(1), \fIdvips\fR\|(1), \fIxdvi\fR\|(1), \fImktexpk\fR\|(1), \fIgs\fR\|(1), +\&\fIkpathsea\fR\|(3) +.PP +Email bug reports to tex\-k@tug.org. +.PP +Source is at <http://mirror.ctan.org/dviware/dviljk/>; but for +compilation the texk build environment is needed, from +<svn://tug.org/texlive/*/Build/source>. +.PP +As of July 2007, \s-1PCL\s0 reference documentation is found at \s-1HP\s0's Web site +at +<http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=bpl04568>. +At the end of that page are links to reference manuals for \s-1PCL\s0 and \s-1PJL\s0. +.PP +In case that page is changed, here are the URLs of these documents. +All have the form +<http://h20000.www2.hp.com/bc/docs/support/SupportManual/bpl<\s-1ID\s0>/bpl<\s-1ID\s0>.pdf>, +where \f(CW\*(C`<ID>\*(C'\fR is the following document \s-1ID:\s0 +.IP "\fB13205\fR" 4 +.IX Item "13205" +\&\s-1PCL\s0 5 Technical Quick Reference Guide. This is the 1st thing to look up +if you have questions about \s-1PCL\s0 escape sequences. +.IP "\fB13210\fR and \fB13211\fR" 4 +.IX Item "13210 and 13211" +\&\s-1PCL\s0 5 Technical Reference Manual (part I and \s-1II\s0). This is the +full-detailled explanation that you need to look up if you don't +understand how the printer works. Part I is the actual manual, part \s-1II\s0 +explains \s-1HP\-GL/2\s0 and has overall tips. +.IP "\fB13208\fR and \fB13207\fR" 4 +.IX Item "13208 and 13207" +\&\s-1PJL\s0 Technical Reference Manual (and addendum) +.IP "\fB13212\fR" 4 +.IX Item "13212" +\&\s-1PCL\s0 5 Color Manual. This explains color specials for the newer \s-1HP\s0 +printers. (Not of much use today; for practical purposes we would need +to add color specials to \fBdvilj\fR first.) +.IP "\fB13206\fR and \fB13209\fR" 4 +.IX Item "13206 and 13209" +Comparison Guide (and addendum) that documents which \s-1PCL\s0 escape +sequences are supported on which \s-1HP\s0 printers. +.SH "AUTHOR" +.IX Header "AUTHOR" +dvi2xx by Gustaf Neumann, Wirtschaftsuniversitaet Wien. +.PP +dviljk fork by Karl Berry. +.PP +Joachim Schrod <jschrod@acm.org> supplied security fixes and updated +this man page. +.SH "LICENSE" +.IX Header "LICENSE" +dvi2xx is public domain software. dviljk changes are covered by the +\&\s-1GNU\s0 General Public License. diff --git a/Master/texmf-dist/doc/man/man1/dvilj.man1.pdf b/Master/texmf-dist/doc/man/man1/dvilj.man1.pdf Binary files differnew file mode 100644 index 00000000000..e095f4ce198 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvilj.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/dvilj2p.1 b/Master/texmf-dist/doc/man/man1/dvilj2p.1 new file mode 100644 index 00000000000..e133513e289 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvilj2p.1 @@ -0,0 +1 @@ +.so man1/dvilj.1 diff --git a/Master/texmf-dist/doc/man/man1/dvilj2p.man1.pdf b/Master/texmf-dist/doc/man/man1/dvilj2p.man1.pdf Binary files differnew file mode 100644 index 00000000000..70b40b341d9 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvilj2p.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/dvilj4.1 b/Master/texmf-dist/doc/man/man1/dvilj4.1 new file mode 100644 index 00000000000..e133513e289 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvilj4.1 @@ -0,0 +1 @@ +.so man1/dvilj.1 diff --git a/Master/texmf-dist/doc/man/man1/dvilj4.man1.pdf b/Master/texmf-dist/doc/man/man1/dvilj4.man1.pdf Binary files differnew file mode 100644 index 00000000000..22ede011923 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvilj4.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/dvilj4l.1 b/Master/texmf-dist/doc/man/man1/dvilj4l.1 new file mode 100644 index 00000000000..e133513e289 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvilj4l.1 @@ -0,0 +1 @@ +.so man1/dvilj.1 diff --git a/Master/texmf-dist/doc/man/man1/dvilj4l.man1.pdf b/Master/texmf-dist/doc/man/man1/dvilj4l.man1.pdf Binary files differnew file mode 100644 index 00000000000..21d8d0962bb --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvilj4l.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/dvilj6.1 b/Master/texmf-dist/doc/man/man1/dvilj6.1 new file mode 100644 index 00000000000..e133513e289 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvilj6.1 @@ -0,0 +1 @@ +.so man1/dvilj.1 diff --git a/Master/texmf-dist/doc/man/man1/dvilj6.man1.pdf b/Master/texmf-dist/doc/man/man1/dvilj6.man1.pdf Binary files differnew file mode 100644 index 00000000000..5e142d3aed8 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvilj6.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/dvipdfm.1 b/Master/texmf-dist/doc/man/man1/dvipdfm.1 new file mode 100644 index 00000000000..b72633f76ae --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvipdfm.1 @@ -0,0 +1,358 @@ +.de EX +.sp +.in +5 +.nf +.ft CW +.. +.de EE +.in -5 +.ft R +.sp +.fi +.. +.TH "DVIPDFM" "1" "28 April 2011" "20120420" "DVIPDFMx" +.SH NAME +dvipdfm \- produce PDF files directly from DVI files + +.SH SYNOPSIS +.B dvipdfm +.RI [ options ] +.I file\c +.RB [ .dvi ] + +.SH DESCRIPTION +In TeX Live, +.B dvipdfm +is another incarnation of +.B dvipdfmx +rather than a separate program. Compatibility is attempted as best as +possible. (The change was made due to duplicated security and +configuration issues arising repeatedly.) Please report problems with +this +.B dvipdfm +to the +.B dvipdfmx +maintainers at dvipdfmx (at) ktug.or.kr. + +The program +.B dvipdfm +generates a +.SM PDF +file from a +.SM DVI +file. +.SM DVI +files are the output format +produced by TeX. +Output from +.B groff +can be converted to +.SM DVI +format +using +.BR grodvi . + +The program +.B dvipdfm +recognizes several commonly used +.BR \especial +commands, which are extensions to the +.SM DVI +format. +Specifically, it understands +color specials, papersize specials, +tpic specials (which allow it to be used with +.BR pic ), +hypertex specials, and some PostScript +specials. These extensions allow documents +to contain color, figures, and hyperlinks. +The program tries to mimic +the behavior of +.B dvips +so that many +macro packages produced for use with +.B dvips +will work with +.B dvipdfm. +Dvipdfm understands its own specific +.B \especial +commands to allow access to PDF features +such as annotations and bookmarks. + +For issues related to bounding boxes (and hence image sizes), please see +.BR extractbb (1). + +.SH OPTIONS + +.TP 5 +.B \-\^c +Ignore color +.BR \especials . +The +.B \-\^c +toggles a flag that disables color +.B \especial +processing. +Unless changed in the configuration file, +that flag is off, and color +.BR \especial "s" +are interpreted normally. +The +.B \-\^c +option may be used to produce a black and white document +from a document containing color TeX +.B \especial +commands. + +.TP 5 +.B \-\^d +Remove thumbnail images after including them. +(See the +.B \-\^t +option for more information.) + +.TP 5 +.B \-\^e +Toggle partial font embedding flag. If partial +font embedding is off, embedded fonts are +.I fully +embedded. +The default, if not changed in the configuration file, +is to embed only those glyphs actually used in the document. + +.TP 5 +.B \-\^f map_file +Set the name of the font map file to +.IR map_file . +The format of the font map file +is documented in the +.IR "Dvipdfm User's Manual" . + +.TP 5 +.B \-\^l +Select landscape mode. In other words, exchange the +.I x +and +.I y +dimensions of the paper. + +.TP 5 +.B \-\^m " mag" +Magnify the input document by +.IR mag . + +.TP 5 +.B \-\^o " name" +Generate PDF output file having the name +.IR name . +By default, the name of the output +file is +.IR file .pdf. + +.TP 5 +.B \-\^p " paper" +Select the papersize by name (e.g., +.BR letter ", " legal ", " ledger ", " tabloid ", " a3 ", " a4 ", or " a5 +) + +.TP 5 +.B \-\^r " size" +Set resolution of bitmapped fonts to +.B size +dots per inch. Bitmapped fonts are generated +by the Kpathsea library, which uses Metafont. Bitmapped +fonts are included as type 3 fonts in the PDF output file. + +.TP 5 +.B \-\^s " page_specifications" +Select the pages of the +.SM DVI +file to be converted. +The +.I page_specifications +consists of a comma separated list of +.I page_ranges: + +.EX +.IR "page_specifications := page_specification" "[," page_specifications "]" +.EE + +where + +.EX +.IR "page_specification := single_page" | page_range + +.IR "page_range := " [ first_page ]\^\-\^[ last_page ] +.EE + +An empty +.I first_page +is implied to be the first page of the +.SM DVI +file. +An empty +.I last_page +is treated as the last page of the +.SM DVI +file. + +Examples: +.RS +.TP 5 +.B "\-\^s 1,3,5" +includes pages 1, 3, and 5; +.TP 5 +.B "\-\^s \-" +includes all pages; +.TP 5 +.B "\-\^s \-,\-" +includes two copies of all pages in the +.SM DVI +file; +and +.TP 5 +.B "\-\^s 1\-10" +includes the first ten pages of the +.SM DVI +file. +.RE +.TP 5 +.B \-\^t +Search for thumbnail images of each page +in the directory named by the +.B TMPDIR +environment variable. +The thumbnail images must be named in a specific format. +They must have the same base name +as the +.SM DVI +file and they must have the page number as the extension +to the file name. Dvipdfm does not +generate the thumbnails itself, but it is distributed with a wrapper +program named +.B dvipdft +that does so. + +.TP 5 +.B \-\^v +Increase verbosity. +Results of the +.B \-\^v +option are cumulative (e.g., +.B \-\^vv +) increases the verbosity by two increments. + +.TP 5 +.B \-\^x x_offset +Set the left margin to +.IR x_offset . +The default left margin is +.BR 1.0in . +The dimension may be specified in any units understood by TeX (e.g., +.BR bpt ", " pt ", " in ", " cm +) + +.TP 5 +.B \-\^y y_offset +Set the top margin to +.IR y_offset . +The default top margin is +.BR 1.0in . +The dimension may be specified in any units understood by TeX (e.g., +.BR bpt ", " pt ", " in ", " cm +) + +.TP 5 +.B \-\^z compression_level +Set the compression level to +.IR compression_level . +Compressions levels range from 0 (no compression) to +9 (maximum compression) and correspond to the values understood by zlib. + +.SH "IMAGE BOUNDING BOXES" + +When including images with +.BR dvipdfm , +their bounding boxes should be generated by running +.BR ebb , +or extractbb -m. +The result will be in an +.B .bb +file. + +When including images with +.BR dvipdfmx , +their bounding boxes should be generated by running +.BR extractbb . +The result will be in an +.B .xbb +file; the xbb information is the same as for the PDF format. + +.SH ENVIRONMENT + +.B Dvipdfm +uses the +.B kpathsea +library for locating the files that it opens. Hence, +the environment variables documented in the +.I Kpathsea library +documentation influence +.B dvipdfm. + +Dvipdfm also reads the following environment variables: + +.TP 5 +TMP +The directory to search for thumbnail images of each page. + +.SH FILES +The precise location of the following files is determined by the +.I Kpathsea library +configuration. The location may be determined by using kpsewhich, e.g., +.nf +.B kpsewhich \-progname=dvipdfm \-format='other text files' config +.fi + +.TP 5 +.I config +Startup options + +.TP 5 +.I t1fonts.map +The default font map file (this name may be changed in the config file). + +.TP 5 +.I *.tfm +TeX font metrics + +.TP 5 +.I *.vf +TeX virtual font files + +.TP 5 +.I *.pfb +PostScript Type 1 font files + +.TP 5 +.I +texmf.cnf +The Kpathsea library configuration file. +The location of this file may be found by typing +.nf +.B kpsewhich texmf.cnf +.fi + + +.SH "SEE ALSO" +.BR dvipdft "(1), " +.BR tex "(1), " dvips "(1), " groff "(1), " grodvi "(1), " pic "(1), " +.BR extractbb "(1), " +and the +.I "Kpathsea library" +info documentation. + +.SH AUTHOR +Mark A. Wicks. But for the version in TeX Live, all bugs and other +reports should go to the +.B dvipdfmx +maintainers at dvipdfmx (at) ktug.or.kr. diff --git a/Master/texmf-dist/doc/man/man1/dvipdfm.man1.pdf b/Master/texmf-dist/doc/man/man1/dvipdfm.man1.pdf Binary files differnew file mode 100644 index 00000000000..889cf439be2 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvipdfm.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/dvipdft.1 b/Master/texmf-dist/doc/man/man1/dvipdft.1 new file mode 100644 index 00000000000..50646022ef0 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvipdft.1 @@ -0,0 +1,40 @@ +.TH "dvipdft" "1" "May 2004" "teTeX" "teTeX" +.PP +.SH "NAME" +dvipdft \- create thumbnail images for use with dvipdfm +.PP +.SH "SYNOPSIS" +.PP +.B dvipdft +.RI [ DVIPDFM-OPTIONS \&.\&.\&.] +.I filename\c +.RB [ .dvi ] +.PP +.SH "DESCRIPTION" +.PP +.B dvipdft +creates thumbnail pictures of the pages in your file +and subsequently runs dvipdfm to create a PDF file with these +thumbnails. +.PP +.SH "OPTIONS" +.HP +All options are simply handed on to dvipdfm +.HP +.SH "SEE ALSO" +.IP +\fBdvipdfm\fP(1) +.PP +.SH "BUGS" +.PP +None known\&. +.PP +.SH "AUTHOR" +.PP +\fBdvipdft\fP was written by Mark A. Wicks and Thomas Esser. +.PP +This manual page was written by Frank K\[:u]ster <frank@kuesterei\&.ch>, +for the Debian GNU/Linux system\&. It may be used by others without +contacting the author\&. Any mistakes or omissions in the manual page +are my fault; inquiries about or corrections to this manual page +should be directed to me (and not to the primary author)\&. diff --git a/Master/texmf-dist/doc/man/man1/dvipdft.man1.pdf b/Master/texmf-dist/doc/man/man1/dvipdft.man1.pdf Binary files differnew file mode 100644 index 00000000000..fb58e415c4a --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvipdft.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/dvipng.1 b/Master/texmf-dist/doc/man/man1/dvipng.1 new file mode 100644 index 00000000000..934a7c9aac5 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvipng.1 @@ -0,0 +1,521 @@ +.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sh \" Subsection heading +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "DVIPNG 1" +.TH DVIPNG 1 "2010-12-15" "dvipng 1.14" "User commands" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +dvipng \- A DVI\-to\-PNG translator +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +dvipng [options] filename +.PP +dvipng [options] [filename] \- +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +This program makes \s-1PNG\s0 and/or \s-1GIF\s0 graphics from \s-1DVI\s0 files as obtained +from TeX and its relatives. +.PP +If \s-1GIF\s0 support is enabled, \s-1GIF\s0 output is chosen by using the +\&\fBdvigif\fR binary or with the \fB\-\-gif\fR option. +.PP +The benefits of \fBdvipng\fR/\fBdvigif\fR include +.IP "\(bu" 4 +Speed. It is a very fast bitmap-rendering code for \s-1DVI\s0 files, which +makes it suitable for generating large amounts of images on-the-fly, +as needed in preview-latex, WeBWorK and others. +.IP "\(bu" 4 +It does not read the postamble, so it can be started before TeX +finishes. There is a \fB\-\-follow\fR switch that makes dvipng wait at +end-of-file for further output, unless it finds the \s-1POST\s0 marker that +indicates the end of the \s-1DVI\s0. +.IP "\(bu" 4 +Interactive query of options. dvipng can read options interactively +through stdin, and all options are usable. It is even possible to change +the input file through this interface. +.IP "\(bu" 4 +Supports \s-1PK\s0, \s-1VF\s0, PostScript Type1, and TrueType fonts, subfonts (i.e., +as used in CJK-LaTeX), color specials, and inclusion of PostScript, +\&\s-1PNG\s0, \s-1JPEG\s0 or \s-1GIF\s0 images. +.IP "\(bu" 4 +and more... +.SH "OPTIONS" +.IX Header "OPTIONS" +Many of the parameterless options listed here can be turned off by +suffixing the option with a zero (\fB0\fR); for instance, to turn off +page reversal, use \fB\-r0\fR. Such options are marked with a trailing +\&\fB*\fR. +.IP "\fB\-\fR" 4 +.IX Item "-" +Read additional options from standard input after processing the command +line. +.IP "\fB\-\-help\fR" 4 +.IX Item "--help" +Print a usage message and exit. +.IP "\fB\-\-version\fR" 4 +.IX Item "--version" +Print the version number and exit. +.IP "\fB\-bd\fR \fInum\fR" 4 +.IX Item "-bd num" +.PD 0 +.IP "\fB\-bd\fR \fIcolor_spec\fR" 4 +.IX Item "-bd color_spec" +.IP "\fB\-bd '\fR\fInum\fR\fB \fR\fIcolor_spec\fR\fB'\fR" 4 +.IX Item "-bd 'num color_spec'" +.PD +Set the pixel width of the transparent border (default 0). Using this +option will make the image edges transparent, but it only affects pixels +with the background color. Giving a \fIcolor_spec\fR will set the +fallback color, to be used in viewers that cannot handle transparency +(the default is the background color). The color spec should be in +TeX color \especial syntax, e.g., 'rgb 1.0 0.0 0.0'. Setting the +fallback color makes the default border width 1 px. +.IP "\fB\-\-bdpi\fR \fInum\fR" 4 +.IX Item "--bdpi num" +This option only has an effect when using bitmapped (\s-1PK\s0) fonts. The +option sets the base (Metafont) resolution, both horizontal and +vertical, to \fInum\fR dpi (dots per inch). This option is necessary +when manually selecting Metafont mode with the \-\-mode option (see +below). +.IP "\fB\-bg\fR \fIcolor_spec\fR" 4 +.IX Item "-bg color_spec" +Choose background color for the images. This option will be ignored if +there is a background color \especial in the \s-1DVI\s0. The color spec should +be in TeX color \especial syntax, e.g., 'rgb 1.0 0.0 0.0'. You can +also specify 'Transparent' or 'transparent' which will give you a +transparent background with the normal background as a fallback color. A +capitalized 'Transparent' will give a full-alpha transparency, while an +all-lowercase 'transparent' will give a simple fully transparent +background with non-transparent antialiased pixels. The latter would be +suitable for viewers who cannot cope with a true alpha channel. \s-1GIF\s0 +images do not support full alpha transparency, so in case of \s-1GIF\s0 output, +both variants will use the latter behaviour. +.IP "\fB\-d\fR \fInum\fR" 4 +.IX Item "-d num" +Set the debug flags, showing what dvipng (thinks it) is doing. This will +work unless dvipng has been compiled without the \f(CW\*(C`DEBUG\*(C'\fR option +(not recommended). Set the flags as you need them, use \fB\-d \-1\fR as +the first option for maximum output. +.IP "\fB\-D\fR \fInum\fR" 4 +.IX Item "-D num" +Set the output resolution, both horizontal and vertical, to \fInum\fR +dpi (dots per inch). +.Sp +One may want to adjust this to fit a certain text font size (e.g., on +a web page), and for a text font height of \fIfont_px\fR pixels (in +Mozilla) the correct formula is +.Sp +.Vb 1 +\& <dpi> = <font_px> * 72.27 / 10 [px * TeXpt/in / TeXpt] +.Ve +.Sp +The last division by ten is due to the standard font height 10pt in +your document, if you use 12pt, divide by 12. Unfortunately, some +proprietary browsers have font height in pt (points), not pixels. You +have to rescale that to pixels, using the screen resolution (default +is usually 96 dpi) which means the formula is +.Sp +.Vb 1 +\& <font_px> = <font_pt> * 96 / 72 [pt * px/in / (pt/in)] +.Ve +.Sp +On some high-res screens, the value is instead 120 dpi. Good luck! +.IP "\fB\-\-depth*\fR" 4 +.IX Item "--depth*" +Report the depth of the image. This only works reliably when the +LaTeX style \fIpreview.sty\fR from preview-latex is used with +the \fBactive\fR option. It reports the number of pixels from the +bottom of the image to the baseline of the image. This can be used for +vertical positioning of the image in, e.g., web documents, where one +would use (Cascading StyleSheets 1) +.Sp +.Vb 1 +\& <IMG SRC="<filename.png>" STYLE="vertical\-align: \-<depth>px"> +.Ve +.Sp +The depth is a negative offset in this case, so the minus sign is +necessary, and the unit is pixels (px). +.IP "\fB\-\-dvinum*\fR" 4 +.IX Item "--dvinum*" +Set this option to make the output page number be the TeX page +numbers rather than the physical page number. See the \fB\-o\fR switch. +.IP "\fB\-fg\fR \fIcolor_spec\fR" 4 +.IX Item "-fg color_spec" +Choose foreground color for the images. This option will be ignored if +there is a foreground color \especial in the \s-1DVI\s0. The color spec should +be in TeX color \especial syntax, e.g., 'rgb 1.0 0.0 0.0'. +.IP "\fB\-\-follow*\fR" 4 +.IX Item "--follow*" +Wait for data at end-of-file. One of the benefits of dvipng is that it +does not read the postamble, so it can be started before TeX +finishes. This switch makes dvipng wait at end-of-file for further +output, unless it finds the \s-1POST\s0 marker that indicates the end of the +\&\s-1DVI\s0. This is similar to \fBtail \-f\fR but for DVI-to-PNG conversion. +.IP "\fB\-\-freetype*\fR" 4 +.IX Item "--freetype*" +Enable/disable FreeType font rendering (default on). This option is +available if the FreeType2 font library was present at compilation time. +If this is the case, dvipng will have direct support for PostScript +Type1 and TrueType fonts internally, rather than using \fBgsftopk\fR +for rendering the fonts. If you have PostScript versions of Computer +Modern installed, there will be no need to generate bitmapped (\s-1PK\s0) +variants on disk of these. Then, you can render images at different (and +unusual) resolutions without cluttering the disk with lots of bitmapped +fonts. Note that if you have both FreeType and T1lib on your system, +FreeType will be preferred by dvipng. If you for some reason would want +to use T1lib rendering, use this option. +.IP "\fB\-\-gamma\fR \fInum\fR" 4 +.IX Item "--gamma num" +Control the interpolation of colors in the greyscale anti-aliasing +color palette. Default value is 1.0. For 0 < \fInum\fR < 1, the +fonts will be lighter (more like the background), and for \fInum\fR > +1, the fonts will be darker (more like the foreground). +.IP "\fB\-\-gif*\fR" 4 +.IX Item "--gif*" +The images are output in the \s-1GIF\s0 format, if \s-1GIF\s0 support is enabled. +This is the default for the \fBdvigif\fR binary, which only will be +available when \s-1GIF\s0 support is enabled. \s-1GIF\s0 images are palette images +(see the \fB\-\-palette\fR option) and does not support true alpha +channels (see the \fB\-\-bg\fR option). See also the \fB\-\-png\fR +option. +.IP "\fB\-\-height*\fR" 4 +.IX Item "--height*" +Report the height of the image. This only works reliably when the +LaTeX style \fIpreview.sty\fR from preview-latex is used with +the \fBactive\fR option. It reports the number of pixels from the top +of the image to the baseline of the image. The total height of the +image is obtained as the sum of the values reported from +\&\fB\-\-height\fR and \fB\-\-depth\fR. +.IP "\fB\-l [=]\fR\fInum\fR" 4 +.IX Item "-l [=]num" +The last page printed will be the first one numbered \fInum\fR. Default +is the last page in the document. If \fInum\fR is prefixed by an equals +sign, then it (and the argument to the \fB\-p\fR option, if specified) +is treated as a physical (absolute) page number, rather than a value to +compare with the TeX \fB\ecount0\fR values stored in the \s-1DVI\s0 file. +Thus, using \fB\-l =9\fR will end with the ninth page of the document, +no matter what the pages are actually numbered. +.IP "\fB\-\-mode\fR \fImode\fR" 4 +.IX Item "--mode mode" +This option only has an effect when using bitmapped (\s-1PK\s0) fonts. Use +\&\fImode\fR as the Metafont device name for the \s-1PK\s0 fonts (both for path +searching and font generation). This needs to be augmented with the base +device resolution, given with the \fB\-\-bdpi\fR option. See the file +<\fBftp://ftp.tug.org/tex/modes.mf\fR> for a list of resolutions and mode +names for most devices. +.IP "\fB\-M*\fR" 4 +.IX Item "-M*" +This option only has an effect when using bitmapped (\s-1PK\s0) fonts. It turns +off automatic \s-1PK\s0 font generation (\fImktexpk\fR). +.IP "\fB\-\-nogs*\fR" 4 +.IX Item "--nogs*" +This switch prohibits the internal call to GhostScript for displaying +PostScript specials. \fB\-\-nogs0\fR turns the call back on. +.IP "\fB\-\-nogssafer*\fR" 4 +.IX Item "--nogssafer*" +Normally, if GhostScript is used to render PostScript specials, the +GhostScript interpreter is run with the option \fB\-dSAFER\fR. The +\&\fB\-\-nogssafer\fR option runs GhostScript without \fB\-dSAFER\fR. The +\&\fB\-dSAFER\fR option in Ghostscript disables PostScript operators such +as deletefile, to prevent possibly malicious PostScript programs from +having any effect. +.IP "\fB\-\-norawps*\fR" 4 +.IX Item "--norawps*" +Some packages generate raw PostScript specials, even non-rendering such +specials. This switch turns off the internal call to GhostScript +intended to display these raw PostScript specials. \fB\-\-norawps0\fR +turns the call back on. +.IP "\fB\-o\fR \fIname\fR" 4 +.IX Item "-o name" +Send output to the file \fIname\fR. A single occurrence of \fB\f(CB%d\fB\fR or +\&\fB\f(CB%01d\fB\fR, ..., \fB\f(CB%09d\fB\fR will be exchanged for the physical +page number (this can be changed, see the \fB\-\-dvinum\fR switch). The +default output filename is \fIfile\fR\fB\f(CB%d\fB.png\fR where the input \s-1DVI\s0 +file was \fIfile\fR\fB.dvi\fR. +.IP "\fB\-O\fR \fIx\-offset\fR\fB,\fR\fIy\-offset\fR" 4 +.IX Item "-O x-offset,y-offset" +Move the origin by \fIx\-offset\fR,\fIy\-offset\fR, a comma-separated +pair of dimensions such as \fB.1in,\-.3cm\fR. +The origin of the page is shifted from the default position +(of one inch down, one inch to the right from the upper left corner of +the paper) by this amount. +.IP "\fB\-p [=]\fR\fInum\fR" 4 +.IX Item "-p [=]num" +The first page printed will be the first one numbered \fInum\fR. Default +is the first page in the document. If \fInum\fR is prefixed by an +equals sign, then it (and the argument to the \fB\-l\fR option, if +specified) is treated as a physical (absolute) page number, rather than +a value to compare with the TeX \fB\ecount0\fR values stored in the +\&\s-1DVI\s0 file. Thus, using \fB\-p =3\fR will start with the third page of +the document, no matter what the pages are actually numbered. +.IP "\fB\-\-palette*\fR" 4 +.IX Item "--palette*" +When an external image is included, \fBdvipng\fR will automatically +switch to truecolor mode, to avoid unnecessary delay and quality +reduction, and enable the \s-1EPS\s0 translator to draw on a transparent +background and outside of the boundingbox. This switch will force +palette (256\-color) output and make \fBdvipng\fR revert to opaque +clipped image inclusion. This will also override the \fB\-\-truecolor\fR +switch if present. +.IP "\fB\-\-picky*\fR" 4 +.IX Item "--picky*" +No images are output when a warning occurs. Normally, dvipng will +output an image in spite of a warning, but there may be something +missing in this image. One reason to use this option would be if you +have a more complete but slower fallback converter. Mainly, this is +useful for failed figure inclusion and unknown \especial occurrences, +but warnings will also occur for missing or unknown color specs and +missing \s-1PK\s0 fonts. +.IP "\fB\-\-png*\fR" 4 +.IX Item "--png*" +The images are output in the \s-1PNG\s0 format. This is the default for the +\&\fBdvipng\fR binary. See also the \fB\-\-gif\fR option. +.IP "\fB\-pp\fR \fIfirstpage\fR\fB\-\fR\fIlastpage\fR" 4 +.IX Item "-pp firstpage-lastpage" +Print pages \fIfirstpage\fR through \fIlastpage\fR; but not quite +equivalent to \fB\-p\fR \fIfirstpage\fR \fB\-l\fR \fIlastpage\fR. For example, +when rendering a book, there may be several instances of a page in the +\&\s-1DVI\s0 file (one in \f(CW\*(C`\efrontmatter\*(C'\fR, one in \f(CW\*(C`\emainmatter\*(C'\fR, and one +in \f(CW\*(C`\ebackmatter\*(C'\fR). In case of several pages matching, \fB\-pp\fR +\&\fIfirstpage\fR\fB\-\fR\fIlastpage\fR will render \fIall\fR pages that +matches the specified range, while \fB\-p\fR \fIfirstpage\fR \fB\-l\fR +\&\fIlastpage\fR will render the pages from the \fIfirst\fR occurrence +of \fIfirstpage\fR to the \fIfirst\fR occurrence of \fIlastpage\fR. +This is the (undocumented) behaviour of dvips. In dvipng you can give +both kinds of options, in which case you get all pages that matches the +range in \fB\-pp\fR between the pages from \fB\-p\fR to \fB\-l\fR. Also +multiple \fB\-pp\fR options accumulate, unlike \fB\-p\fR and \fB\-l\fR. +The \fB\-\fR separator can also be \fB:\fR. Note that \fB\-pp \-1\fR +will be interpreted as \*(L"all pages up to and including 1\*(R", if you want a +page numbered \-1 (only the table of contents, say) put \fB\-pp \-1\-\-1\fR, +or more readable, \fB\-pp \-1:\-1\fR. +.IP "\fB\-q*\fR" 4 +.IX Item "-q*" +Run quietly. Don't chatter about pages converted, etc. to standard +output; report no warnings (only errors) to standard error. +.IP "\fB\-Q\fR \fInum\fR" 4 +.IX Item "-Q num" +Set the quality to \fInum\fR. That is, choose the number of antialiasing +levels for bitmapped fonts (\s-1PK\s0) and fonts rendered using T1lib, to be +\&\fInum\fR*\fInum\fR+1. The default value is 4 which gives 17 levels of +antialiasing for antialiased fonts from these two. If FreeType is +available, its rendering is unaffected by this option. +.IP "\fB\-r*\fR" 4 +.IX Item "-r*" +Toggle output of pages in reverse/forward order. By default, the first +page in the \s-1DVI\s0 is output first. +.IP "\fB\-\-strict*\fR" 4 +.IX Item "--strict*" +The program exits when a warning occurs. Normally, dvipng will output +an image in spite of a warning, but there may be something missing in +this image. One reason to use this option would be if you have a more +complete but slower fallback converter. See the \fB\-\-picky\fR option +above for a list of when warnings occur. +.IP "\fB\-T\fR \fIimage_size\fR" 4 +.IX Item "-T image_size" +Set the image size to \fIimage_size\fR which can be either of +\&\fBbbox\fR, \fBtight\fR, or a comma-separated pair of dimensions +\&\fIhsize\fR,\fIvsize\fR such as \fB.1in,.3cm\fR. The default is +\&\fBbbox\fR which produces a \s-1PNG\s0 that includes all ink put on the page +and in addition the \s-1DVI\s0 origin, located 1in from the top and 1in from +the left edge of the paper. This usually gives whitespace above and to +the left in the produced image. The value \fBtight\fR will make dvipng +only include all ink put on the page, producing neat images. +.IP "\fB\-\-t1lib*\fR" 4 +.IX Item "--t1lib*" +Enable T1lib font rendering (default on). This option is available if +the T1lib font library was present at compilation time. If this is the +case, dvipng will have direct support for PostScript Type1 fonts +internally, rather than using \fBgsftopk\fR for rendering the fonts. If +you have PostScript versions of Computer Modern installed, there will be +no need to generate bitmapped variants on disk of these. Then, you can +render images at different (and unusual) resolutions without cluttering +the disk with lots of bitmapped fonts. Note that if you have both +FreeType and T1lib on your system, FreeType will be preferred by dvipng, +and if you for some reason rather want to use T1lib, give the option +\&\fB\-\-freetype0\fR (see above). +.IP "\fB\-\-truecolor*\fR" 4 +.IX Item "--truecolor*" +This will make \fBdvipng\fR generate truecolor output. Note that +truecolor output is automatic if you include an external image in your +\&\s-1DVI\s0, e.g., via a PostScript special (i.e., the \fBgraphics\fR or +\&\fBgraphicx\fR package). This switch is overridden by the +\&\fB\-\-palette\fR switch. +.IP "\fB\-v*\fR" 4 +.IX Item "-v*" +Enable verbose operation. This will currently indicate what fonts is +used, in addition to the usual output. +.IP "\fB\-\-width*\fR" 4 +.IX Item "--width*" +Report the width of the image. See also \fB\-\-height\fR and +\&\fB\-\-depth\fR. +.IP "\fB\-x\fR \fInum\fR" 4 +.IX Item "-x num" +This option is deprecated; it should not be used. It is much better to +select the output resolution directly with the \fB\-D\fR option. This +option sets the magnification ratio to \fInum\fR/1000 and +overrides the magnification specified in the \s-1DVI\s0 file. Must be between +10 and 100000. It is recommended that you use standard magstep values +(1095, 1200, 1440, 1728, 2074, 2488, 2986, and so on) to help reduce the +total number of \s-1PK\s0 files generated. \fInum\fR may be a real number, not +an integer, for increased precision. +.IP "\fB\-z\fR \fInum\fR" 4 +.IX Item "-z num" +Set the \s-1PNG\s0 compression level to \fInum\fR. This option is enabled if +your \fBlibgd\fR is new enough. The default compression level is 1, +which selects maximum speed at the price of slightly larger PNGs. For an +older \fBlibgd\fR, the hard-soldered value 5 is used. The include file +\&\fBpng.h\fR says +\&\*(L"Currently, valid values range from 0 \- 9, corresponding directly to +the zlib compression levels 0 \- 9 (0 \- no compression, 9 \- \*(R"maximal\*(L" +compression). Note that tests have shown that zlib compression levels +3\-6 usually perform as well as level 9 for \s-1PNG\s0 images, and do +considerably fewer calculations. In the future, these values may not +correspond directly to the zlib compression levels.\*(R" +.SH "NOTES" +.IX Header "NOTES" +The full manual is accessible in info format, on most systems by typing +.PP +.Vb 1 +\& info dvipng +.Ve +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +This program is released under the \s-1GNU\s0 Lesser General Public License +version 3, see the \s-1COPYING\s0 file in the dvipng distribution or +<\fBhttp://www.gnu.org/licenses/gpl.html\fR>. +.PP +Copyright (c) 2002\-2010 Jan-AAke Larsson diff --git a/Master/texmf-dist/doc/man/man1/dvipng.man1.pdf b/Master/texmf-dist/doc/man/man1/dvipng.man1.pdf Binary files differnew file mode 100644 index 00000000000..82b64f33ce5 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvipng.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/dvipos.1 b/Master/texmf-dist/doc/man/man1/dvipos.1 new file mode 100644 index 00000000000..b62172e3fae --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvipos.1 @@ -0,0 +1,153 @@ +.TH "DVIPOS" "1" "January 2007" "dvipos 20070107 (KPATHSEA)" "ConTeXt" +.de URL +\\$2 \(laURL: \\$1 \(ra\\$3 +.. +.if \n[.g] .mso www.tmac +.de EX +.in +3 +.nf +.ft CW +.. +.de EE +.in -3 +.ft R +.fi +.. + +.SH NAME +dvipos \- compute positions in a DVI file + +.SH SYNOPSIS +\fBdvipos\fP [ \fIOPTION\fP... ] \fIinfile[.dvi]\fP + +.SH DESCRIPTION +\fBdvipos\fP parses a DVI file looking for \fIpos:\fP specials. It +currently recognizes \fIpos:pxy\fP, \fIpos:pxywhd\fP, +\fIpos:pxyplus\fP, \fIpos:begbox\fP, \fIpos:endbox\fP, +\fIpos:beglines\fP, and \fIpos:endlines\fP. It then outputs the +information from those specials along with information that only a DVI +postprocessor could determine, such as the current \fIx\fP and \fIy\fP +location. The output looks like: +.EX +\\pospxywhd{text:54}{54}{10663sp}{8535sp}{21326sp}{34081sp}{0sp} +.EE +and is suitable for including in a +.BR tex (1) +or +.BR pdftex (1) +auxilliary file, such as \fIdocument.tuo\fP, to be read in by the next +run of the +.BR tex (1) +or similar typesetting engine. + +.SH OPTIONS + +.TP +\fB-h, --help\fR +print usage. +.TP +\fB-W, --warning\fR +print warnings. +.TP +\fB-v, --verbose\fR +print verbose output. +.TP +\fB-d, --debug\fR +print +.BR dvitype (1) +debugging data. +.TP +\fB-s, --smashchars\fR +regard height and depth as zero. +.TP +\fB-o, --output=\fIFILE\fR +send all output to FILE. Without this option, output goes to stdout. +.TP +\fB-b, --bbox[=\fP\fIFILE\fP]\fR +send bounding box to FILE (default FILE is \fIinfile.pos\fP). +.TP +\fB-f, --framed[=\fP\fIBASE\fP]\fR +request copy of DVI file, \fIBASE.dvi\fP, with bounding boxes +\fBframed\fP (default FILE is \fIinfile_frames.dvi\fP). See the +\fB--framesize\fP option. +.TP +\fB-m, --mag=\fIINT\fR +override +.BR tex (1) +magnification by INT. +.TP +\fB-w, --framesize=\fIINT\fR +set frame rule size by INT (default 6554 = .1pt). +.TP +\fB-p, --pages=\fIX:Y\fR +set page ranges from X to Y. + +.SH USAGE +.B dvipos +is run mostly behind the scenes by ConTeXt's +.BR texexec (1) +between runs of +.BR tex (1) +or +.BR pdftex (1), +in order to provide information to and get information about +positional graphics. These graphics are provided by the MetaFun +interface to +.BR mpost (1). +\fBdvipos\fP is not used (or needed) in PDF-output mode but is +needed for DVI-output mode. +.BR pdftex (1) +starting with version 1.40 can produce position information even in +DVI mode, so once the ConTeXt macros take advantage of this feature, +the need for \fBdvipos\fP will fade. + +Until then, here is a typical use of \fBdvipos\fP: +.EX +dvipos notes.dvi +.EE +The position information that is output is collected by +.BR texexec (1) +to include in the \fInotes.tuo\fP auxilliary file to use in the next +run. + + +.SH EXAMPLES +.TP +Extract positions from \fIdoc.dvi\fP, with output to \fIdoc.loc\fP: +\f(CWdvipos -o doc.loc doc.dvi\fP +.TP +Same as above, but also send bbox information to \fIdoc.pos\fP: +\f(CWdvipos -b -o doc.loc doc.dvi\fP +.TP +Instead send bbox information to \fI/tmp/debug.pos\fP: +\f(CWdvipos -b=/tmp/debug.pos -o doc.loc doc.dvi\fP + +.SH "SEE ALSO" +.BR dvips (1), +.BR dvitype (1), +.BR mpost (1), +.BR pdftex (1), +.BR tex (1), +.BR texexec (1). + +For more about positional graphics, see the MetaFun documentation on +the +.URL "http://wiki.contextgarden.net/MetaFun" "ConTeXt wiki" . + +.SH BUGS +If you specify a file for the \fB-b\fP option, you must join the +option and name with \fB=\fP rather than (the more common) space: +.EX +dvipos -b=/tmp/debug.pos notes.dvi +.EE +works, but +.EX +dvipos -b /tmp/debug.pos notes.dvi +.EE +does not. + +.SH AUTHOR +.B dvipos +is written by Jin-Hwan Cho <chofchof@ktug.or.kr>. It is free +software (GPLv2 or later). This manpage was written by Sanjoy +Mahajan <sanjoy@mit.edu> and is in the public domain. diff --git a/Master/texmf-dist/doc/man/man1/dvipos.man1.pdf b/Master/texmf-dist/doc/man/man1/dvipos.man1.pdf Binary files differnew file mode 100644 index 00000000000..b40fd3ab717 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvipos.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/dvips.1 b/Master/texmf-dist/doc/man/man1/dvips.1 new file mode 100644 index 00000000000..c8bd77995d4 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvips.1 @@ -0,0 +1,531 @@ +.TH DVIPS 1 "4 May 2010" +.SH NAME +dvips \- convert a TeX DVI file to PostScript +.SH SYNOPSIS +.B dvips +.RI [ OPTIONS ] +.IR file [\fB.dvi\fP] +.SH DESCRIPTION +THIS MAN PAGE IS OBSOLETE! +See the Texinfo documentation instead. +You can read it either in Emacs or with the standalone +.B info +program which comes with the GNU texinfo distribution as +ftp.gnu.org:pub/gnu/texinfo/texinfo*.tar.gz. +.PP +The program +.B dvips +takes a DVI file +.IR file [\fB.dvi\fP] +produced by TeX (or by some other processor such as GFtoDVI) and +converts it to PostScript, sending the output to a file or directly to a +printer. The DVI file may be specified without the +.B .dvi +extension. Fonts used may either be resident in the printer or defined +as bitmaps in PK files, or a `virtual' combination of both. If the +.B mktexpk +program is installed, +.B dvips +will automatically invoke METAFONT to generate fonts that don't already +exist. +.PP +For more information, see the Texinfo manual +.IR dvips.texi , +which should be installed somewhere on your system, hopefully accessible +through the standard Info tree. +.SH OPTIONS +.TP +.B -a +Conserve memory by making three passes over the .dvi file instead of two +and only loading those characters actually used. Generally only useful +on machines with a very limited amount of memory, like some PCs. +.TP +.B -A +Print only odd pages (TeX pages, not sequence pages). +.TP +.B -b num +Generate +.I num +copies of each page, but duplicating the page body rather than using the +.I #numcopies +option. This can be useful in conjunction with a header file setting +.I \ebop-hook +to do color separations or other neat tricks. +.TP +.B -B +Print only even pages (TeX pages, not sequence pages). +.TP +.B -c num +Generate +.I num +copies of every page. Default is 1. (For collated copies, see the +.I -C +option below.) +.TP +.B -C num +Create +.I num +copies, but collated (by replicating the data in the PostScript file). +Slower than the +.I -c +option, but easier on the hands, and faster than resubmitting the same +PostScript file multiple times. +.TP +.B -d num +Set the debug flags. This is intended only for emergencies or for +unusual fact-finding expeditions; it will work only if +.B dvips +has been compiled with the DEBUG option. If nonzero, prints additional +information on standard error. For maximum information, you can use +`-1'. See the Dvips Texinfo manual for more details. +.TP +.B -D num +Set the resolution in dpi (dots per inch) to +.IR num . +This affects the choice of bitmap fonts that are loaded and also the +positioning of letters in resident PostScript fonts. Must be between 10 +and 10000. This affects both the horizontal and vertical resolution. +If a high resolution (something greater than 400 dpi, say) is selected, +the +.I -Z +flag should probably also be used. +.TP +.B -e num +Make sure that each character is placed at most this many pixels from +its `true' resolution-independent position on the page. The default +value of this parameter is resolution dependent. Allowing individual +characters to `drift' from their correctly rounded positions by a few +pixels, while regaining the true position at the beginning of each new +word, improves the spacing of letters in words. +.TP +.B -E +makes +.B dvips +attempt to generate an EPSF file with a tight bounding box. This only +works on one-page files, and it only looks at marks made by characters +and rules, not by any included graphics. In addition, it gets the glyph +metrics from the +.I tfm +file, so characters that lie outside their enclosing +.I tfm +box may confuse it. In addition, the bounding box might be a bit too +loose if the character glyph has significant left or right side +bearings. Nonetheless, this option works well for creating small EPSF +files for equations or tables or the like. (Note, of course, that +.B dvips +output is resolution dependent and thus does not make very good EPSF +files, especially if the images are to be scaled; use these EPSF files +with a great deal of care.) +.TP +.B -f +Run as a filter. Read the +.I .dvi +file from standard input and write the PostScript to standard output. +The standard input must be seekable, so it cannot be a pipe. If you +must use a pipe, write a shell script that copies the pipe output to a +temporary file and then points +.B dvips +at this file. This option also disables the automatic reading of the +.I PRINTER +environment variable, and turns off the automatic sending of control D +if it was turned on with the +.I -F +option or in the configuration file; use +.I -F +after this option if you want both. +.TP +.B -F +Causes Control-D (ASCII code 4) to be appended as the very last +character of the PostScript file. This is useful when +.B dvips +is driving the printer directly instead of working through a spooler, +as is common on extremely small systems. NOTE! DO NOT USE THIS OPTION! +.TP +.B -G +Causes +.B dvips +to shift non-printing characters to higher-numbered positions. +This may be useful sometimes. +.TP +.B -h name +Prepend file +.I name +as an additional header file. (However, if the name is simply `-' +suppress all header files from the output.) This header file gets added +to the PostScript +.IR userdict . +.TP +.B -i +Make each section be a separate file. Under certain circumstances, +.B dvips +will split the document up into `sections' to be processed +independently; this is most often done for memory reasons. Using this +option tells +.B dvips +to place each section into a separate file; the new file names are +created replacing the suffix of the supplied output file name by a +three-digit sequence number. This option is most often used in +conjunction with the +.I -S +option which sets the maximum section length in pages. For instance, +some phototypesetters cannot print more than ten or so consecutive pages +before running out of steam; these options can be used to automatically +split a book into ten-page sections, each to its own file. +.TP +.B -j +Download only needed characters from Type 1 fonts. This is the +default in the current release. Some debugging flags trace this operation. +You can also control partial downloading on a per-font basis, via the +.B psfonts.map +file. +.TP +.B -k +Print crop marks. This option increases the paper size (which should be +specified, either with a paper size special or with the +.I -T +option) by a half inch in each dimension. It translates each page by a +quarter inch and draws cross-style crop marks. It is mostly useful with +typesetters that can set the page size automatically. +.TP +.B -K +This option causes comments in included PostScript graphics, font files, +and headers to be removed. This is sometimes necessary to get around +bugs in spoolers or PostScript post-processing programs. Specifically, +the %%Page comments, when left in, often cause difficulties. Use of +this flag can cause some included graphics to fail, since the PostScript +header macros from some software packages read portions of the input +stream line by line, searching for a particular comment. This option +has been turned off by default because PostScript previewers and +spoolers have been getting better. +.TP +.B -l num +The last page printed will be the first one numbered +.I num +Default is the last page in the document. If the +.I num +is prefixed by an equals sign, then it (and any argument to the +.I -p +option) is treated as a sequence number, rather than a value to compare +with +.I \ecount0 +values. Thus, using +.I -l =9 +will end with the ninth page of the document, no matter what the pages +are actually numbered. +.TP +.B -m +Specify manual feed for printer. +.TP +.B -mode mode +Use +.I mode +as the Metafont device name for path searching and font +generation. This overrides any value from configuration files. With +the default paths, explicitly specifying the mode also makes the program +assume the fonts are in a subdirectory named +.IR mode . +.TP +.B -M +Turns off the automatic font generation facility. If any fonts are +missing, commands to generate the fonts are appended to the file +.I missfont.log +in the current directory; this file can then be executed and deleted to +create the missing fonts. +.TP +.B -n num +At most +.I num +pages will be printed. Default is 100000. +.TP +.B -N +Turns off structured comments; this might be necessary on some systems +that try to interpret PostScript comments in weird ways, or on some +PostScript printers. Old versions of TranScript in particular cannot +handle modern Encapsulated PostScript. +.TP +.BR -noomega +This will disable the use of Omega extensions when interpreting DVI +files. By default, the additional opcodes +.I 129 +and +.I 134 +are recognized by dvips as Omega or pTeX extensions and interpreted as +requests to set 2-byte characters. +.TP +.BR -noptex +This will disable the use of pTeX extensions when interpreting DVI files. +By default, the additional opcodes +.I 130 +and +.I 135 +are recognized by dvips as pTeX extensions and interpreted as requests to +set 3-byte characters, and +.I 255 +as request to change the typesetting direction. +.sp +The only drawback is that the virtual font array will (at least temporarily) +require 65536 or more positions instead of the default 256 positions, i.e., +the memory requirements of dvips will be somewhat larger. If you find this +unacceptable or encounter another problem with the Omega or pTeX extensions, +you can switch off the pTeX extension by using +.BR -noptex , +or both by using +.B -noomega +(but please do send a bug report if you find such problems - see the bug +address in the +.B AUTHORS +section below). +.TP +.B -o name +The output will be sent to file +.I name +If no file name is given (i.e., -o is last on the command line), the +default name is +.I file.ps +where the .dvi file was called +.IR file.dvi ; +if this option isn't given, any default in the configuration file is +used. If the first character of the supplied output file name is an +exclamation mark, then the remainder will be used as an argument to +.IR popen ; +thus, specifying +.I !lpr +as the output file will automatically queue the file for printing. +This option also disables the automatic reading of the +.I PRINTER +environment variable, and turns off the automatic sending of control D +if it was turned on with the +.I -F +option or in the configuration file; use +.I -F +after this option if you want both. +.TP +.B -O offset +Move the origin by a certain amount. The +.I offset +is a comma-separated pair of dimensions, such as +.I .1in,-.3cm +(in the same syntax used in the +.I papersize +special). The origin of the page is shifted from the +default position (of one inch down, one inch to the right from the upper +left corner of the paper) by this amount. +.TP +.B -p num +The first page printed will be the first one numbered +.IR num . +Default is the first page in the document. If the +.I num +is prefixed by an equals sign, then it (and any argument to the +.I -l +option) is treated as a sequence number, rather than a value to compare +with +.I \ecount0 +values. Thus, using +.I -p =3 +will start with the third page of the document, no matter what the pages +are actually numbered. +.TP +.B -pp pagelist +A comma-separated list of pages and ranges (a-b) may be given, which +will be interpreted as +.I \ecount0 +values. Pages not specified will not be printed. Multiple +.B -pp +options may be specified or all pages and page ranges can be +specified with one +.B -pp +option. +.TP +.B -P printername +Sets up the output for the appropriate printer. This is implemented by +reading in +.I config.printername +, which can then set the output pipe (as in, +.I !lpr -Pprintername +as well as the font paths and any other +.I config.ps +defaults for that printer only. Note that +.I config.ps +is read before +.I config.printername +In addition, another file called +.I ~/.dvipsrc +is searched for immediately after +.IR config.ps ; +this file is intended for user defaults. If no +.I -P +command is given, the environment variable +.I PRINTER +is checked. If that variable exists, and a corresponding configuration +file exists, that configuration file is read in. +.TP +.B -q +Run in quiet mode. Don't chatter about pages converted, etc.; report +nothing but errors to standard error. +.TP +.B -r +Stack pages in reverse order. Normally, page 1 will be printed first. +.TP +.B -R[0|1|2] +Run securely. +.BR -R2 +disables both shell command execution in +.I \especial'{} +(via backticks +.BR ` +) and config files (via the +.I E +option), and opening of any absolute filenames. +.BR -R1 +, the default, forbids shell escapes but allows absolute filenames. +.BR -R0 +allows both. The config file option is +.I z +.TP +.B -s +Causes the entire global output to be enclosed in a save/restore pair. +This causes the file to not be truly conformant, and is thus not +recommended, but is useful if you are driving the printer directly and +don't care too much about the portability of the output. +.TP +.B -S num +Set the maximum number of pages in each `section'. This option is most +commonly used with the +.I -i +option; see that documentation above for more information. +.TP +.B -t papertype +This sets the paper type to +.IR papertype . +The +.I papertype +should be defined in one of the configuration files, along with the +appropriate code to select it. (Currently known types include +.BR letter , +.BR legal , +.BR ledger , +.BR a4 , +.BR a3 ). +You can also specify +.BR -t " " landscape , +which rotates a document by 90 degrees. To rotate a document whose size +is not letter, you can use the +.I -t +option twice, once for the page size, and once for landscape. +You should not use any +.I -t +option when the DVI file already contains a +.I papersize +special, as is done by some LaTeX packages, notably hyperref.sty. + +The upper left corner of each page in the +.I .dvi +file is placed one inch from the left and one inch from the top. Use of +this option is highly dependent on the configuration file. Note that +executing the +.B letter +or +.B a4 +or other PostScript operators cause the document to be nonconforming and +can cause it not to print on certain printers, so the paper size should +not execute such an operator if at all possible. +.TP +.B -T papersize +Set the paper size to the given pair of dimensions. This option takes +its arguments in the same style as +.IR -O . +It overrides any paper size special in the dvi file. +.TP +.B -u psmapfile +Set +.I psmapfile +to be the file that dvips uses for looking up PostScript font aliases. If +.I psmapfile +begins with a +.B + +character, then the rest of the name is used as the name of the map file, +and the map file is appended to the list of map files (instead of replacing +the list). In either case, if +.I psmapfile +has no extension, then +.B .map +is added at the end. +.TP +.B -U +Disable a PostScript virtual memory saving optimization that stores the +character metric information in the same string that is used to store +the bitmap information. This is only necessary when driving the Xerox +4045 PostScript interpreter. It is caused by a bug in that interpreter +that results in `garbage' on the bottom of each character. Not +recommended unless you must drive this printer. +.TP +.B -v +Print the +.B dvips +version number and exit. +.TP +.B -V +Download non-resident PostScript fonts as bitmaps. This requires use of +`gsftopk' or `pstopk' or some other such program(s) in order to generate +the required bitmap fonts; these programs are supplied with +.BR dvips . +.TP +.B -x num +Set the +magnification ratio to +.IR num /1000. +Overrides the magnification specified in the .dvi file. Must be +between 10 and 100000. Instead of an integer, +.I num +may be a real number for increased precision. +.TP +.B -X num +Set the horizontal resolution in dots per inch to +.IR num . +.TP +.B -y num +Set the +magnification ratio to +.IR num /1000 +times the magnification specified in the .dvi file. +See +.B -x +above. +.TP +.B -Y num +Set the vertical resolution in dots per inch to +.IR num . +.TP +.B -z +Pass +.B html +hyperdvi specials through to the output for eventual +distillation into PDF. This is not enabled by default to avoid +including the header files unnecessarily, and use of temporary files in +creating the output. +.TP +.B -Z +Causes bitmapped fonts to be compressed before they are downloaded, +thereby reducing the size of the PostScript font-downloading +information. Especially useful at high resolutions or when very large +fonts are used. Will slow down printing somewhat, especially on early +68000-based PostScript printers. +.SH "SEE ALSO" +mf(1), afm2tfm(1), tex(1), latex(1), lpr(1), +.IR dvips.texi , +http://tug.org/dvips. +.SH ENVIRONMENT +Dvipsk uses the same environment variables and algorithms for finding +font files as TeX and its friends do. See the documentation for the +Kpathsea library for details. (Repeating it here is too cumbersome.) +.PP +KPATHSEA_DEBUG: Trace Kpathsea lookups; set to -1 for complete tracing. +.PP +PRINTER: see above. +.SH NOTES +PostScript is a registered trademark of Adobe Systems Incorporated. +.SH AUTHOR +Tomas Rokicki <rokicki@cs.stanford.edu>; extended to virtual fonts +by Don Knuth. Path searching and configuration modifications by +Karl Berry. diff --git a/Master/texmf-dist/doc/man/man1/dvips.man1.pdf b/Master/texmf-dist/doc/man/man1/dvips.man1.pdf Binary files differnew file mode 100644 index 00000000000..ae1c25f7e8c --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvips.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/dvired.1 b/Master/texmf-dist/doc/man/man1/dvired.1 new file mode 100644 index 00000000000..f76e58087a3 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvired.1 @@ -0,0 +1,63 @@ +.TH dvired 1 "09/94" "teTeX" "teTeX" +.SH NAME +dvired \- print dvi-files +.SH SYNOPSIS +.B dvired +[ +.B options +] +.B file +.SH DESCRIPTION +.I dvired +behaves like +.IR dvips , +except for the fact that two logical pages are put onto each physical +sheet of paper. + +For +.IR options , +see +.IR dvips (1). +This program only interprets the following options: + +.I \-o file +\- redirect output into +.I file. + +.I \-P printer +\- direct output to +.I printer. + +.I \-f +\- direct output to stdout. + +Any other option is passed directly to +.IR dvips . + +.SH EXAMPLES +It is assumed that the PRINTER-variable is set. + +.B dvired \-Plw foo +\- send output to printer +.IR lw . +.br +.B dvired \-o foo.ps foo +\- send output to file +.IR foo.ps . +.br +.B dvired \-pp4-7 foo +\- send 4 pages (reduced onto 2 sheets) of +.I foo +to the printer. +.br +.B dvired foo \-f | ghostview \- +\- preview output with ghostview. + +.SH "SEE ALSO" +.IR dvips (1) +.SH BUGS +.I dvired +is fixed on A4 paper size. If you want to use it with other paper, you have +to change the settings within the source. +.SH AUTHOR +Thomas Esser <te@dbs.uni-hannover.de> diff --git a/Master/texmf-dist/doc/man/man1/dvired.man1.pdf b/Master/texmf-dist/doc/man/man1/dvired.man1.pdf Binary files differnew file mode 100644 index 00000000000..3b80e9055fa --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvired.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/dviselect.1 b/Master/texmf-dist/doc/man/man1/dviselect.1 new file mode 100644 index 00000000000..735cacd0ba7 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dviselect.1 @@ -0,0 +1,131 @@ +.\" Copyright (c) 1987-2012 UMD-CS, released under the X11 license; +.\" see README and source files. +.TH DVISELECT 1 +.SH NAME +dviselect \- extract pages from DVI files +.SH SYNOPSIS +.B dviselect +[ +.B \-s +] [ +.B \-i +.I infile +] [ +.B \-o +.I outfile +] +.I "list of pages" +[ +.I infile +[ +.I outfile +] ] +.SH DESCRIPTION +.I Dviselect +selects pages from a DVI file produced by TeX, +creating a new DVI file +usable by any of the TeX conversion programs, +or even by +.I dviselect +itself. +.PP +A +.I range +is a string of the form +.IR even , +.IR odd , +or +.I first:last +where both +.I first +and +.I last +are optional numeric strings, with negative numbers indicated by +a leading underscore character ``_''. If both +.I first +and +.I last +are omitted, the colon may also be omitted, or may be replaced +with an asterisk ``*''. A +.I page range +is a list of ranges separated by periods. A +.I "list of pages" +is described by a set of page ranges separated by commas and/or white space. +.PP +.I Dviselect +actually looks at the ten +.I count +variables that TeX writes; the first of these (\ecount0) is the +page number, with \ecount1 through \ecount9 having varied uses +depending on which macro packages are in use. (Typically \ecount1 +might be a chapter or section number.) A page is included in +.IR dviselect 's +output if all its \ecount values match any one of the ranges +listed on the command line. For example, the command +``dviselect *.1,35:'' +might select everything in chapter 1, as well as pages 35 and up. +``dviselect 10:30'' would select pages 10 through 30 (inclusive). +``:43'' means everything up to and including page 43 (including +negative-numbered pages). +To get all even-numbered pages, use ``even''; +to get all odd-numbered pages, use ``odd''. +If a Table of Contents has negative page numbers, ``:_1'' will select it. +Note that ``*'' must be quoted from the shell; +the empty string is more convenient to use, if harder to read. +.PP +Instead of \ecount values, +.I dviselect +can also select by ``absolute page number'', where the first page +is page 1, the second page 2, and so forth. Absolute page numbers +are indicated by a leading equal sign ``=''. Ranges of absolute +pages are also allowed: ``dviselect =3:7'' will extract the third +through seventh pages. Dot separators are not legal in absolute +ranges, and there are no negative absolute page numbers. +Even/odd specifiers, however, are legal; +``dviselect =even'' selects every other page, +starting with the second. +.PP +More precisely, an asterisk or an empty string implies no limit; +an equal sign means absolute page number rather than \ecounts; +a leading colon means everything up to and including the given page; a +trailing colon means everything from the given page on; +the word ``even'' means only even values shall be accepted; +the word ``odd'' means only odd values shall be accepted; and +a period indicates that the next \ecount should be examined. +If fewer than 10 ranges are specified, the remaining \ecounts +are left unrestricted (that is, ``1:5'' and ``1:5.*'' are equivalent). +A single number \fIn\fP is treated as if it were the range \fIn:n\fP. +An arbitrary number of page selectors may be given, separated by commas +or whitespace; a page is selected if any of the selectors matches +its \ecounts or absolute page number. +.PP +Dviselect normally prints the page numbers of the pages selected; the +.I \-s +option suppresses this. +.SH AUTHOR +Chris Torek, University of Maryland +.SH "SEE ALSO" +dviconcat(1), latex(1), tex(1) +.br +.I "MC-TeX User's Guide" +.br +.I "The TeXbook" +.SH BUGS +A leading ``-'' ought to be allowed for negative numbers, but it +is currently used as a synonym for ``:'', for backwards compatibility. +.PP +Section or subsection selection will sometimes fail, for the DVI +file lists only the \ecount values that were active when the page +ended. Clever macro packages can alleviate this by making use of +other ``free'' \ecount registers. Chapters normally begin on new +pages, and do not suffer from this particular problem. +.PP +The heuristic that decides which arguments are page selectors +and which are file names is often wrong. +Using shell redirection or the \-i and \-o options is safest. +.PP +.I Dviselect +does not adjust the parameters in the postamble; however, since these +values are normally used only to size certain structures in the output +conversion programs, and the parameters never need to be adjusted upward, +this has not proven to be a problem. diff --git a/Master/texmf-dist/doc/man/man1/dviselect.man1.pdf b/Master/texmf-dist/doc/man/man1/dviselect.man1.pdf Binary files differnew file mode 100644 index 00000000000..95e56039095 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dviselect.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/dvisvgm.1 b/Master/texmf-dist/doc/man/man1/dvisvgm.1 new file mode 100644 index 00000000000..0be9c2352ea --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvisvgm.1 @@ -0,0 +1,961 @@ +'\" t +.\" Title: dvisvgm +.\" Author: [see the "AUTHOR" section] +.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/> +.\" Date: 03/09/2012 +.\" Manual: dvisvgm Manual +.\" Source: dvisvgm 1.0.11 +.\" Language: English +.\" +.TH "DVISVGM" "1" "03/09/2012" "dvisvgm 1\&.0\&.11" "dvisvgm Manual" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +dvisvgm \- converts DVI files to the XML\-based SVG format +.SH "SYNOPSIS" +.sp +\fBdvisvgm\fR [ \fIoptions\fR ] \fIfile\fR [\&.dvi] +.SH "DESCRIPTION" +.sp +The command\-line utility \fBdvisvgm\fR converts DVI files, as generated by TeX/LaTeX, to the XML\-based scalable vector graphics format SVG\&. Since the current SVG standard 1\&.1 doesn\(cqt specify multi\-page graphics, dvisvgm creates separate SVG files for each DVI page\&. Because of compatibility reasons, only the first page is converted by default\&. In order to select a different page or arbitrary page sequences, use option \fB\-p\fR which is described below\&. +.sp +dvisvgm should properly convert all pages that are made up of fonts and rules only\&. However, the utility also supports a couple of DVI extensions defined in terms of \fIDVI specials\fR\&. For a more detailed overview, see section \fBsupport of specials\fR below\&. +.sp +As SVG is a vector based graphics format, dvisvgm tries to convert the glyph outlines of all used fonts into scalable path descriptions\&. The fastest way to do that is to extract the path information from PFB (PostScript Type 1) files\&. So, if dvisvgm is able to find a PFB file for a required font, it will read the necessary information from this file\&. +.sp +TeX\(cqs main source for font descriptions is Metafont though, which produces bitmap output\&. That\(cqs why not all obtainable TeX fonts are available in PFB format\&. In these cases, dvisvgm tries to vectorize Metafont\(cqs output (GF fonts) by tracing the glyph bitmaps\&. The results are not as perfect as most (manually optimized) PFB outlines but are nonetheless really nice in most cases\&. +.SH "OPTIONS" +.PP +\fB\-a, \-\-trace\-all\fR=[\fIretrace\fR] +.RS 4 +This option forces dvisvgm to trace not only the actually needed glyphs but all glyphs of all bitmap fonts used in the DVI file\&. Since the tracing results are stored in the font cache, all following DVI conversions (without option +\fB\-\-trace\-all\fR) where these fonts are involved, will be much faster\&. By default, dvisvgm traces only the actually needed glyphs, and adds them to the cache\&. The boolean option +\fIretrace\fR +determines how to handle glyphs already stored in the cache\&. By default, these glyphs are skipped\&. Setting argument +\fIretrace\fR +to +\fIyes\fR +or +\fItrue\fR +forces dvisvgm to trace the corresponding bitmaps again\&. +.if n \{\ +.sp +.\} +.RS 4 +.it 1 an-trap +.nr an-no-space-flag 1 +.nr an-break-flag 1 +.br +.ps +1 +\fBNote\fR +.ps -1 +.br +This option only takes affect if font caching is active\&. Thus, +\fB\-\-trace\-all\fR +cannot be combined with option +\fB\-\-cache=none\fR\&. +.sp .5v +.RE +.RE +.PP +\fB\-b, \-\-bbox\fR=\fIfmt\fR +.RS 4 +Sets the bounding box of the generated graphic to the specified format\&. The parameter +\fIfmt\fR +takes either one of the format specifiers listed below, or a sequence of four comma\- or whitespace\-separated length values +\fIx1\fR, +\fIy1\fR, +\fIx2\fR +and +\fIy2\fR\&. The latter define two diagonal corners of the bounding box\&. Each length value consists of a floating point number and an optional length unit (pt, bp, cm, mm, in, or pc)\&. If the unit is omitted, TeX points (pt) are assumed\&. +.sp +It\(cqs also possible to give only one length value +\fIl\fR\&. In this case, the minimal bounding box is computed and enlarged by adding (\-\fIl\fR,\-\fIl\fR) to the upper left and (\fIl\fR,\fIl\fR) to the lower right corner\&. +.sp +Alternatively, the following format specifiers are supported: +.PP +\fBInternational DIN/ISO paper sizes\fR +.RS 4 +A\fIn\fR, B\fIn\fR, C\fIn\fR, D\fIn\fR, where +\fIn\fR +is a non\-negative integer, e\&.g\&. A4 or a4 for DIN/ISO A4 format (210mm \(mu 297mm)\&. +.RE +.PP +\fBNorth American paper sizes\fR +.RS 4 +invoice, executive, legal, letter, ledger +.RE +.PP +\fBSpecial bounding box sizes\fR +.RS 4 +.TS +tab(:); +lt lt +lt lt +lt lt. +T{ +\fBdvi\fR +T}:T{ +page size stored in the DVI file +T} +T{ +\fBmin\fR +T}:T{ +computes the minimal/tightest bounding box +T} +T{ +\fBnone\fR +T}:T{ +no bounding box is assigned +T} +.TE +.sp 1 +.RE +.RE +.PP +\fBPage orientation\fR +.RS 4 +The default page orientation for DIN/ISO and American paper sizes is +\fIportrait\fR, i\&.e\&. +\fIwidth\fR +< +\fIheight\fR\&. Appending +\fB\-landscape\fR +or simply +\fB\-l\fR +to the format string switches to +\fIlandscape\fR +mode (\fIwidth\fR +> +\fIheight\fR)\&. For symmetry reasons you can also explicitly add +\fB\-portrait\fR +or +\fB\-p\fR +to indicate the default portrait format\&. Note that these suffixes are part of the size string and not separate options\&. Thus, they must directly follow the size specifier without additional blanks\&. Furthermore, the orientation suffixes can\(cqt be used with +\fBdvi\fR, +\fBmin\fR, and +\fBnone\fR\&. +.if n \{\ +.sp +.\} +.RS 4 +.it 1 an-trap +.nr an-no-space-flag 1 +.nr an-break-flag 1 +.br +.ps +1 +\fBNote\fR +.ps -1 +.br +Option +\fB\-b, \-\-bbox\fR +only affects the bounding box and does not transform the page content\&. Hence, if you choose a landscape format, the page won\(cqt be rotated\&. +.sp .5v +.RE +.RE +.PP +\fB\-c, \-\-scale\fR=\fIsx\fR[,\fIsy\fR] +.RS 4 +Scales the page content horizontally by +\fIsx\fR +and vertically by +\fIsy\fR\&. This option is equivalent to +\fB\-TS\fR\fIsx\fR,\fIsy\fR\&. +.RE +.PP +\fB\-C, \-\-cache\fR[=\fIdir\fR] +.RS 4 +To speed up the conversion process of bitmap fonts, dvisvgm saves intermediate conversion information in cache files\&. By default, these files are stored in $HOME/\&.dvisvgm/cache\&. If you prefer a different location, use option +\fB\-\-cache\fR +to overwrite the default\&. Furthermore, it is also possible to disable the font caching mechanism completely with option +\fB\-\-cache=none\fR\&. If argument +\fIdir\fR +is omitted, dvisvgm prints the path of the default cache directory and some information about the stored fonts\&. Additionally, outdated and corrupted cache files are removed\&. +.RE +.PP +\fB\-\-color\fR +.RS 4 +Enables colorization of messages printed during the conversion process\&. The colors can be customized via the environment variable +DVISVGM_COLORS\&. See the ENVIRONMENT section below for further information\&. +.RE +.PP +\fB\-e, \-\-exact\fR +.RS 4 +If this option is given, dvisvgm computes the precise bounding box of each character\&. By default, the values stored in a font\(cqs TFM file are used to determine a glyph\(cqs extent\&. As these values are intended to realize optimal character placements and are not designed to represent the exact dimensions, they don\(cqt necessarily correspond with the bounds of the visual glyphs\&. Thus, width and/or height of some glyphs may be larger than the respective TFM values\&. As a result, this can lead to clipped characters at the bounds of the SVG graphic\&. With option +\fB\-\-exact\fR, dvisvgm analyzes the actual shape of each character and derives a usually tight bounding box\&. +.RE +.PP +\fB\-h, \-\-help\fR +.RS 4 +Prints a short summary of all available command\-line options\&. This is also the default action if dvisvgm is called without parameters\&. +.RE +.PP +\fB\-\-libgs=filename\fR +.RS 4 +This option is only available if the Ghostscript library is not directly linked to dvisvgm and if PostScript support was not completely disabled during compilation\&. In this case, dvisvgm tries to load the shared GS library dynamically during runtime\&. By default, it expects the library\(cqs name to be libgs\&.so (on Unix\-like systems) or gsdll32\&.dll (Windows)\&. Option +\fB\-\-libgs\fR +can be used to give a different name\&. Alternatively, it\(cqs also possible to set the GS library name by the environment variable +LIBGS\&. The latter has less precedence than the command\-line option\&. +.RE +.PP +\fB\-l, \-\-list\-specials\fR +.RS 4 +Prints a list of registered special handlers and exits\&. Each handler processes a set of special statements belonging to the same category\&. In most cases, the categories are identified by the prefix of the special statements\&. It\(cqs usually a leading word separated from the rest of the statement by a colon or a blank, e\&.g\&. +\fIcolor\fR +or +\fIps\fR\&. +.RE +.PP +\fB\-\-keep\fR +.RS 4 +Disables the removal of temporary files as created by Metafont (usually \&.gf, \&.tfm, and \&.log files)\&. +.RE +.PP +\fB\-m, \-\-map\-file\fR=\fIfile\fR +.RS 4 +Sets the map file used to look up font names and encodings\&. dvisvgm does not provide its own map file but tries to read available ones coming with dvips or dvipdfm\&. If option +\fB\-m\fR +is not given, dvisvgm looks for +ps2pk\&.map, +dvipdfm\&.map, and +psfonts\&.map +(in this order)\&. Without further options, the file specified by option +\fB\-m\fR +will be used instead of the default maps\&. If you want dvisgvm to load the given file additionally to the default maps, add a leading +\fI+\fR +to the file/path, e\&.g\&. +\-\-map\-file=+myfonts\&.map\&. For further information about the map file formats, see the manuals of dvips and dvipdfm\&. +.RE +.PP +\fB\-M, \-\-mag\fR=\fIfactor\fR +.RS 4 +Sets the maginfication factor applied in conjunction with Metafont calls prior tracing the glyphs\&. The larger this value, the better the tracing results\&. Nevertheless, large magnification values can cause Metafont arithmetic errors due to number overflows\&. So, use this option with care\&. The default setting usually produces nice results\&. +.RE +.PP +\fB\-n, \-\-no\-fonts\fR[=\fIvariant\fR] +.RS 4 +If this option is given, dvisvgm doesn\(cqt create SVG +\fIfont\fR +elements but uses +\fIpaths\fR +instead\&. The resulting SVG files tends to be larger but concurrently more compatible with most applications that don\(cqt support SVG fonts yet\&. The optional argument +\fIvariant\fR +selects the method how to substitute fonts by paths\&. Variant 0 creates +\fIpath\fR +and +\fIuse\fR +elements\&. Variant 1 creates +\fIpath\fR +elements only\&. Option +\fB\-\-no\-fonts\fR +implies +\fB\-\-no\-styles\fR\&. +.RE +.PP +\fB\-S, \-\-no\-specials\fR[=\fInames\fR] +.RS 4 +Disable processing of special commands embedded in the DVI file\&. If no further parameter is given, all specials are ignored\&. To selectively disable sets of specials, an optional comma\-separated list of names can be appended to this option\&. A +\fIname\fR +is the unique identifier referencing the intended special handler\&. Option +\fB\-\-list\-specials\fR +lists all currently available handlers and their names\&. All unsupported special statements are silently ignored\&. +.RE +.PP +\fB\-\-no\-styles\fR +.RS 4 +By default, dvisvgm creates CSS styles and class attributes to reference fonts because it\(cqs more compact than repeatedly set the complete font information in each text element\&. However, if you prefer direct font references, the default behavior can be disabled with option +\fB\-\-no\-styles\fR\&. +.RE +.PP +\fB\-\-no\-mktexmf\fR +.RS 4 +Suppresses the generation of missing font files\&. If dvisvgm can\(cqt find a font file through the kpathsea lookup mechanism, it calls the external tools mktextfm or mktexmf by\&. This option disables these calls\&. +.RE +.PP +\fB\-o, \-\-output\fR=\fIpattern\fR +.RS 4 +Sets the name pattern of the output file\&. Parameter +\fIpattern\fR +is a string that may contain the variables +\fB%f\fR +and +\fB%p\fR\&. +\fB%f\fR +stands for the base name of the DVI file, i\&.e\&. the DVI filename without suffix, and +\fB%p\fR +is the current page number\&. The default pattern is +\fB%f\-%p\&.svg\fR +if the DVI file consists of more than one page, and +\fB%f\&.svg\fR +otherwise\&. That means, a DVI file +\fIfoo\&.dvi\fR +is converted to +\fIfoo\&.svg\fR +if +\fIfoo\&.dvi\fR +is a single\-page document\&. Otherwise, multiple SVG files +\fIfoo\-01\&.svg\fR, +\fIfoo\-02\&.svg\fR, etc\&. are produced\&. In Windows environments, the percent sign indicates dereferenced environment variables, and must therefore be protected by a second percent sign, e\&.g\&. +\fB\-\-output=%%f\-%%p\fR\&. +.RE +.PP +\fB\-p, \-\-page\fR=\fIranges\fR +.RS 4 +This option sets the pages to be processed\&. Parameter +\fIranges\fR +consists of a comma\-separated list of single page numbers and/or page ranges\&. A page range is a pair of numbers separated by a hyphen, e\&.g\&. 5\-12\&. Thus, a page sequence might look like this: 2\-4,6,9\-12,15\&. It doesn\(cqt matter if a page is given more than once or if page ranges overlap\&. dvisvgm always extracts the page numbers in ascending order and converts them only once\&. In order to stay compatible with previous versions, the default page sequence is 1\&. dvisvgm therefore converts only the first page and not the whole document in case option +\fB\-\-page\fR +is omitted\&. Usually, page ranges consist of two numbers denoting the first and last page to be converted\&. If the conversion is to be started at page 1, or if it should continue up to the last DVI page, the first or second range number can be omitted, respectively\&. Example: +\fB\-\-page=\-10\fR +converts all pages up to page 10, +\fB\-\-page=10\-\fR +converts all pages starting with page 10\&. Please consider that the page values don\(cqt refer to the page numbers printed on the page\&. Instead, the physical page count is expected, where the first page always gets number 1\&. +.RE +.PP +\fB\-P, \-\-progress\fR[=\fIdelay\fR] +.RS 4 +Enables a simple progress indicator shown when time\-consuming operations like PostScript specials are processed\&. The indicator doesn\(cqt appear before the given delay (in seconds) has elapsed\&. The default delay value is 0\&.5 seconds\&. +.RE +.PP +\fB\-r, \-\-rotate\fR=\fIangle\fR +.RS 4 +Rotates the page content clockwise by +\fIangle\fR +degrees around the page center\&. This option is equivalent to +\fB\-TR\fR\fIangle\fR\&. +.RE +.PP +\fB\-s, \-\-stdout\fR +.RS 4 +Don\(cqt write the SVG output to a file but redirect it to +\fBstdout\fR\&. +.RE +.PP +\fB\-t, \-\-translate\fR=\fItx\fR[,\fIty\fR] +.RS 4 +Translates (moves) the page content in direction of vector (\fItx\fR,\fIty\fR)\&. This option is equivalent to +\fB\-TT\fR\fItx\fR,\fIty\fR\&. +.RE +.PP +\fB\-T, \-\-transform\fR=\fIcommands\fR +.RS 4 +Applies a sequence of transformations to the SVG content\&. Each transformation is described by a +\fIcommand\fR +beginning with a capital letter followed by a list of comma\-separated parameters\&. Following transformation commands are supported: +.PP +\fBT\fR \fItx\fR[,\fIty\fR] +.RS 4 +Translates (moves) the page in direction of vector (\fItx\fR,\fIty\fR)\&. If +\fIty\fR +is omitted, +\fIty\fR=0 is assumed\&. The expected unit length of +\fItx\fR +and +\fIty\fR +are TeX points (1pt = 1/72\&.27in)\&. However, there are several constants defined to simplify the unit conversion (see below)\&. +.RE +.PP +\fBS\fR \fIsx\fR[,\fIsy\fR] +.RS 4 +Scales the page horizontally by +\fIsx\fR +and vertically by +\fIsy\fR\&. If +\fIsy\fR +is omitted, +\fIsy\fR=\fIsx\fR +is assumed\&. +.RE +.PP +\fBR\fR \fIangle\fR[,\fIx\fR,\fIy\fR] +.RS 4 +Rotates the page clockwise by +\fIangle\fR +degrees around point (\fIx\fR,\fIy\fR)\&. If the optional arguments +\fIx\fR +and +\fIy\fR +are omitted, the page will be rotated around its center depending on the chosen page format\&. When option +\fB\-bnone\fR +is given, the rotation center is origin (0,0)\&. +.RE +.PP +\fBKX\fR \fIangle\fR +.RS 4 +Skews the page along the +\fIx\fR\-axis by +\fIangle\fR +degrees\&. Argument +\fIangle\fR +can take any value except 90+180\fIk\fR, where +\fIk\fR +is an integer\&. +.RE +.PP +\fBKY\fR \fIangle\fR +.RS 4 +Skews the page along the +\fIy\fR\-axis by +\fIangle\fR +degrees\&. Argument +\fIangle\fR +can take any value except 90+180\fIk\fR, where +\fIk\fR +is an integer\&. +.RE +.PP +\fBFH\fR [\fIy\fR] +.RS 4 +Mirrors (flips) the page at the horizontal line through point (0,\fIy\fR)\&. Omitting the optional argument leads to +\fIy\fR=\fIh\fR/2, where +\fIh\fR +denotes the page height (see +\fIpre\-defined constants\fR +below)\&. +.RE +.PP +\fBFV\fR [\fIx\fR] +.RS 4 +Mirrors (flips) the page at the vertical line through point (\fIx\fR,0)\&. Omitting the optional argument leads to +\fIx\fR=\fIw\fR/2, where +\fIw\fR +denotes the page width (see +\fIpre\-defined constants\fR +below)\&. +.RE +.PP +\fBM\fR \fIm1\fR,\&...,\fIm6\fR +.RS 4 +Applies a transformation described by the 3\(mu3 matrix ((\fIm1\fR,\fIm2\fR,\fIm3\fR),(\fIm4\fR,\fIm5\fR,\fIm6\fR),(0,0,1)), where the inner triples denote the rows\&. +.if n \{\ +.sp +.\} +.RS 4 +.it 1 an-trap +.nr an-no-space-flag 1 +.nr an-break-flag 1 +.br +.ps +1 +\fBNote\fR +.ps -1 +.br +All transformation commands of option +\fB\-T, \-\-transform\fR +are applied in the order of their appearance\&. Multiple commands can optionally be separated by spaces\&. In this case the whole transformation string has to be enclosed in double quotes\&. All parameters are expressions of floating point type\&. You can either give plain numbers or arithmetic terms combined by the operators +\fB+\fR +(addition), +\fB\-\fR +(subtraction), +\fB*\fR +(multiplication), +\fB/\fR +(division) or +\fB%\fR +(modulo) with common associativity and precedence rules\&. Parentheses may be used as well\&. +.sp +Additionally, some pre\-defined constants are provided: +.TS +tab(:); +lt lt +lt lt +lt lt +lt lt. +T{ +\fBux\fR +T}:T{ +horizontal position of upper left page corner in TeX point units +T} +T{ +\fBuy\fR +T}:T{ +vertical position of upper left page corner in TeX point units +T} +T{ +\fBh\fR +T}:T{ +page height in TeX point units (0 in case of +\fB\-bnone\fR) +T} +T{ +\fBw\fR +T}:T{ +page width in TeX point units (0 in case of +\fB\-bnone\fR) +T} +.TE +.sp 1 +Furthermore, you can use the length constants +\fBpt\fR, +\fBmm\fR, +\fBcm\fR +and +\fBin\fR, e\&.g\&. +2cm +or +1\&.6in\&. Thus, option +\-TT1in,0R45 +moves the page content 1 inch to the right and rotates it by 45 degrees around the page center afterwards\&. +.sp +For single transformations you can also use options +\fB\-c\fR, +\fB\-t\fR +and +\fB\-r\fR\&. Note that the order in which these options are given is not significant, i\&.e\&. you can\(cqt use them to describe transformation sequences\&. They are simply independent shorthand options for common transformations\&. +.sp .5v +.RE +.RE +.RE +.PP +\fB\-v, \-\-verbosity\fR=\fIlevel\fR +.RS 4 +Controls the type of messages printed during a dvisvgm run: +.TS +tab(:); +lt lt +lt lt +lt lt +lt lt. +T{ +\fB0\fR +T}:T{ +no message output +T} +T{ +\fB1\fR +T}:T{ +error messages only +T} +T{ +\fB2\fR +T}:T{ +warning messages only +T} +T{ +\fB4\fR +T}:T{ +informational messages only +T} +.TE +.sp 1 +.if n \{\ +.sp +.\} +.RS 4 +.it 1 an-trap +.nr an-no-space-flag 1 +.nr an-break-flag 1 +.br +.ps +1 +\fBNote\fR +.ps -1 +.br +By adding these values you can combine the categories\&. The default level is 7, i\&.e\&. all messages are printed\&. +.sp .5v +.RE +.RE +.PP +\fB\-V, \-\-version\fR[=\fIextended\fR] +.RS 4 +Prints the version of dvisvgm and exits\&. If the optional argument is set to +\fIyes\fR, the version numbers of the linked libraries are printed as well\&. +.RE +.PP +\fB\-z, \-\-zip\fR[=\fIlevel\fR] +.RS 4 +Creates a compressed SVG file with suffix \&.svgz\&. The optional argument specifies the compression level\&. Valid values are in the range of 1 to 9 (default value is 9)\&. Larger values cause better compression results but take more computation time\&. +.if n \{\ +.sp +.\} +.RS 4 +.it 1 an-trap +.nr an-no-space-flag 1 +.nr an-break-flag 1 +.br +.ps +1 +\fBCaution\fR +.ps -1 +.br +This option cannot be combined with +\fB\-s, \-\-stdout\fR\&. +.sp .5v +.RE +.RE +.SH "SUPPORT OF SPECIALS" +.sp +dvisvgm supports several sets of \fIspecial commands\fR that can be used to enrich DVI files with additional features, like color, graphics or hyperlinks\&. The evaluation of special commands is delegated to various handlers\&. Each handler is responsible for all special statements of the same command set, i\&.e\&. commands beginning with the same prefix\&. To get a list of actually provided special handlers, use option \fB\-\-list\-specials\fR (see above)\&. +.PP +\fBbgcolor\fR +.RS 4 +Special statement for changing the background/page color\&. Since SVG 1\&.1 doesn\(cqt support background colors, dvisvgm inserts a rectangle of the chosen color\&. In the current version, this rectangle always gets the size of the minimal bounding box\&. This command is part of the color special set but is handled separately in order to let the user turn it off\&. For an overview of the command syntax, see the documentation of dvips, for instance\&. +.RE +.PP +\fBcolor\fR +.RS 4 +Statements of this command set provide instructions to change the text/paint color\&. For an overview of the exact syntax, see the documentation of dvips, for instance\&. +.RE +.PP +\fBdvisvgm\fR +.RS 4 +dvisvgm offers its own small set of specials\&. The following list gives a brief overview\&. +.PP +\fBdvisvgm:raw\fR \fItext\fR +.RS 4 +Adds an arbitrary sequence of characters to the SVG output\&. dvisvgm does not perform any validation here, thus the user has to ensure that the resulting SVG is still valid\&. Parameter +\fItext\fR +may contain the macros +\fB{?x}\fR, +\fB{?y}\fR, and +\fB{?color}\fR +that are expanded to the current +\fIx\fR +or +\fIy\fR +coordinate and the current color, respectively\&. Also, macro +\fB{?nl}\fR +expands to a newline character\&. +.RE +.PP +\fBdvisvgm:img\fR \fIwidth\fR \fIheight\fR \fIfile\fR +.RS 4 +Creates an image element at the current graphic position referencing the given file\&. JPEG, PNG, and SVG images can be used here\&. However, dvisvgm does not check the file format or the file name suffix\&. The lengths +\fIwidth\fR +and +\fIheight\fR +must be given as plain floating point numbers in TeX point units (1in = 72\&.27pt)\&. +.RE +.PP +\fBdvisvgm:bbox\fR n[ew] \fIname\fR +.RS 4 +Defines or resets a local bounding box called +\fIname\fR\&. The name may consist of letters and digits\&. While processing a DVI page, dvisvgm continuously updates the (global) bounding box of the current page in order to determine the minimal rectangle containing all visible page components (characters, images, drawing elements etc\&.) Additionally to the global bounding box, the user can request an arbitrary number of named local bounding boxes\&. Once defined, these boxes are updated together with the global bounding box starting with the first character that follows the definition\&. Thus, the local boxes can be used to compute the extent of parts of the page\&. This is useful for scenarios where the generated SVG file is post\-processed\&. In conjunction with special dvisvgm:raw, the macro +\fB{?bbox \fR\fB\fIname\fR\fR\fB}\fR +expands to the four values +\fIx\fR, +\fIy\fR, +\fIw\fR, and +\fIh\fR +(separated by spaces) specifying the coordinates of the upper left corner, width, and height of the local box +\fIname\fR\&. If box +\fIname\fR +wasn\(cqt previously defined, all four values equal zero\&. +.RE +.PP +\fBdvisvgm:bbox\fR \fIwidth\fR \fIheight\fR [\fIdepth\fR] +.RS 4 +Updates the bounding box of the current page by embedding a virtual rectangle (\fIx\fR, +\fIy\fR, +\fIwidth\fR, +\fIheight\fR) where the lower left corner is located at the current DVI drawing position (\fIx\fR,\fIy\fR)\&. If the optional parameter +\fIdepth\fR +is specified, dvisvgm embeds a second rectangle (\fIx\fR, +\fIy\fR, +\fIwidth\fR, \-\fIdepth\fR)\&. The lengths +\fIwidth\fR, +\fIheight\fR +and +\fIdepth\fR +must be given as plain floating point numbers in TeX point units (1in = 72\&.27pt)\&. Depending on size and position of the virtual rectangle, this command either enlarges the overall bounding box or leaves it as is\&. It\(cqs not possible to reduce its extent\&. This special should be used in conjunction with +\fBdvisvgm:raw\fR +in order to update the viewport of the page properly\&. +.RE +.PP +\fBdvisvgm:bbox\fR a[bs] \fIx1\fR \fIy1\fR \fIx2\fR \fIy2\fR +.RS 4 +This variant of the bbox special updates the bounding box by embedding a virtual rectangle (\fIx1\fR,\fIy1\fR,\fIx2\fR,\fIy2\fR)\&. The points (\fIx1\fR,\fIy1\fR) and (\fIx2\fR,\fIy2\fR) denote two diagonal corners of the rectangle given in TeX point units\&. +.RE +.PP +\fBdvisvgm:bbox\fR f[ix] \fIx1\fR \fIy1\fR \fIx2\fR \fIy2\fR +.RS 4 +This variant of the bbox special assigns an absolute (final) bounding box to the resulting SVG\&. After executing this command, dvisvgm doesn\(cqt further alter the bounding box coordinates, except this special is called again later\&. The points (\fIx1\fR,\fIy1\fR) and (\fIx2\fR,\fIy2\fR) denote two diagonal corners of the rectangle given in TeX point units\&. +.sp +The following TeX snippet adds two raw SVG elements to the output and updates the bounding box accordingly: +.sp +.if n \{\ +.RS 4 +.\} +.nf +\especial{dvisvgm:raw <circle cx=\*(Aq{?x}\*(Aq cy=\*(Aq{?y}\*(Aq r=\*(Aq10\*(Aq stroke=\*(Aqblack\*(Aq fill=\*(Aqred\*(Aq/>} +\especial{dvisvgm:bbox 20 10 10} + +\especial{dvisvgm:raw <path d=\*(AqM50 200 L10 250 H100 Z\*(Aq stroke=\*(Aqblack\*(Aq fill=\*(Aqblue\*(Aq/>} +\especial{dvisvgm:bbox abs 10 200 100 250} +.fi +.if n \{\ +.RE +.\} +.RE +.RE +.PP +\fBem\fR +.RS 4 +These specials were introduced with the emTeX distribution by Eberhard Mattes\&. They provide line drawing statements, instructions for embedding MSP, PCX, and BMP image files, as well as two PCL commands\&. dvisvgm supports only the line drawing statements and ignores all other em specials silently\&. A description of the command syntax can be found in the DVI driver documentation coming with emTeX (see CTAN)\&. +.RE +.PP +\fBps\fR +.RS 4 +The famous DVI driver dvips introduced its own set of specials in order to embed PostScript code into DVI files, which greatly improves the capabilities of DVI documents\&. One aim of dvisvgm is to completely evaluate all PostScript snippets and to convert a large amount of it to SVG\&. However, in contrast to dvips, dvisvgm uses floating point arithmetics to compute the precise position of each graphic element, i\&.e\&. it doesn\(cqt round the corrdinates\&. Therefore, the relative locations of the graphic elements may slightly differ from those computed by dvips\&. +.sp +Since PostScript is a rather complex language, dvisvgm does not try to implement its own PostScript interpreter but relies on Ghostscript instead\&. If the Ghostscript library was not linked while building dvisvgm, it is looked up and dynamically loaded during runtime\&. In this case, dvisvgm looks for +\fIlibgs\&.so\fR +on Unix\-like systems, and for +\fIgsdll32\&.dll\fR +on Windows\&. You can override these default file names with the environment variable +LIBGS\&. The library must be installed and must be reachable through the ld search path (*nix) or the PATH environment variable (Windows)\&. If it cannot be found, the evaluation of PostScript specials is disabled\&. Use option +\fB\-\-list\-specials\fR +to check whether PS support is available, i\&.e\&. the entry +\fIps\fR +is present\&. +.RE +.PP +\fBtpic\fR +.RS 4 +The TPIC special set defines instructions for drawing simple geometric objects\&. Some LaTeX packages, like eepic and tplot, use these specials to describe graphics\&. +.RE +.SH "EXAMPLES" +.sp +.if n \{\ +.RS 4 +.\} +.nf +dvisvgm file +.fi +.if n \{\ +.RE +.\} +.sp +Converts the first page of \fIfile\&.dvi\fR to \fIfile\&.svg\fR\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +dvisvgm \-z file +.fi +.if n \{\ +.RE +.\} +.sp +Converts the first page of \fIfile\&.dvi\fR to \fIfile\&.svgz\fR with default compression level 9\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +dvisvgm \-p5 \-z3 \-ba4\-l \-onewfile file +.fi +.if n \{\ +.RE +.\} +.sp +Converts the fifth page of \fIfile\&.dvi\fR to \fInewfile\&.svgz\fR with compression level 3\&. The bounding box is set to DIN/ISO A4 in landscape format\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +dvisvgm \-\-transform="R20,w/3,2h/5 T1cm,1cm S2,3" file +.fi +.if n \{\ +.RE +.\} +.sp +Converts the first page of \fIfile\&.dvi\fR to \fIfile\&.svg\fR where three transformations are applied\&. +.SH "ENVIRONMENT" +.sp +dvisvgm uses the \fBkpathsea\fR library for locating the files that it opens\&. Hence, the environment variables described in the library\(cqs documentation influence the converter\&. +.sp +If dvisvgm was linked without the Ghostscript library, and if PostScript support has not been disabled, the shared Ghostscript library is looked up during runtime via dlopen()\&. The environment variable LIBGS can be used to specify path and file name of the library\&. +.sp +The pre\-compiled Windows version of dvisvgm requires a working installation of MiKTeX 2\&.9 or above\&. To enable evaluation of PostScript specials, the original Ghostscript DLL \fIgsdll32\&.dll\fR must be present and reachable through the search path\&. +.sp +The environment variable DVISVGM_COLORS specifies the colors used to highlight various parts of dvisvgm\(cqs message output\&. It is only evaluated if option \fB\-\-color\fR is given\&. The value of DVISVGM_COLORS is a list of colon\-separated entries of the form \fIgg\fR=\fIBF\fR, where \fIgg\fR denotes one of the color group indicators listed below, and \fIBF\fR are two hexadecimal digits specifying the background (first digit) and foreground/text color (second digit)\&. The color color values are defined as follows: 0=black, 1=red, 2=green, 3=yellow, 4=blue, 5=magenta, 6=cyan, 7=gray, 8=bright red, 9=bright green, A=bright yellow, B=bright blue, C=bright magenta, D=bright cyan, E=bright gray, F=white\&. Depending on the terminal, the colors may differ\&. Rather than changing both the text and background color, it\(cqs also possible to change only one of them: An asterisk (*) in place of a hexadecimal digit indicates the default text or background color of the terminal\&. +.sp +All malformed entries in the list are silently ignored\&. +.TS +tab(:); +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt. +T{ +.sp +\fBer\fR +T}:T{ +.sp +error messages +T} +T{ +.sp +\fBwn\fR +T}:T{ +.sp +warning messages +T} +T{ +.sp +\fBpn\fR +T}:T{ +.sp +messages about page numbers +T} +T{ +.sp +\fBps\fR +T}:T{ +.sp +page size messages +T} +T{ +.sp +\fBfw\fR +T}:T{ +.sp +information about the files written +T} +T{ +.sp +\fBsm\fR +T}:T{ +.sp +state messages +T} +T{ +.sp +\fBtr\fR +T}:T{ +.sp +messages of the glyph tracer +T} +T{ +.sp +\fBpi\fR +T}:T{ +.sp +progress indicator +T} +.TE +.sp 1 +.sp +\fBExample:\fR er=01:pi=*5 sets the colors of error messages (er) to red (1) on black (0), and those of progress indicators (pi) to cyan (5) on default background (*)\&. +.SH "FILES" +.sp +The location of the following files is determined by the kpathsea library\&. To check the actual kpathsea configuration you can use the \fBkpsewhich\fR utility\&. +.TS +tab(:); +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt. +T{ +.sp +\fB*\&.enc\fR +T}:T{ +.sp +Font encoding files +T} +T{ +.sp +\fB*\&.fgd\fR +T}:T{ +.sp +Font glyph data files (cache files created by dvisvgm) +T} +T{ +.sp +\fB*\&.map\fR +T}:T{ +.sp +Font map files +T} +T{ +.sp +\fB*\&.mf\fR +T}:T{ +.sp +Metafont input files +T} +T{ +.sp +\fB*\&.pfb\fR +T}:T{ +.sp +PostScript Type 1 font files +T} +T{ +.sp +\fB*\&.pro\fR +T}:T{ +.sp +PostScript header/prologue files +T} +T{ +.sp +\fB*\&.tfm\fR +T}:T{ +.sp +TeX font metric files +T} +T{ +.sp +\fB*\&.ttf\fR +T}:T{ +.sp +TrueType font files +T} +T{ +.sp +\fB*\&.vf\fR +T}:T{ +.sp +Virtual font files +T} +.TE +.sp 1 +.SH "SEE ALSO" +.sp +\fBtex(1), mf(1), mktexmf(1), grodvi(1), potrace(1)\fR, and the \fBkpathsea library\fR info documentation\&. +.SH "RESOURCES" +.PP +Project home page +.RS 4 + +http://dvisvgm\&.sourceforge\&.net +.RE +.PP +SourceForge project site +.RS 4 + +http://sourceforge\&.net/projects/dvisvgm +.RE +.SH "AUTHOR" +.sp +Written by Martin Gieseking <martin\&.gieseking@uos\&.de> +.SH "COPYING" +.sp +Copyright \(co 2005\-2012 Martin Gieseking\&. Free use of this software is granted under the terms of the GNU General Public License (GPL) version 3 or, (at your option) any later version\&. diff --git a/Master/texmf-dist/doc/man/man1/dvisvgm.man1.pdf b/Master/texmf-dist/doc/man/man1/dvisvgm.man1.pdf Binary files differnew file mode 100644 index 00000000000..4b26f30b533 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvisvgm.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/dvitodvi.1 b/Master/texmf-dist/doc/man/man1/dvitodvi.1 new file mode 100644 index 00000000000..20a22722ece --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvitodvi.1 @@ -0,0 +1,139 @@ +.\" Copyright (c) 1987-2012 UMD-CS, released under the X11 license; +.\" see README and source files. +.TH DVITODVI 1 +.SH NAME +dvitodvi \- rearrange pages in a DVI file +.SH SYNOPSIS +.B dvitodvi +[ +.B \-q +] [ +.B \-i +.I infile +] [ +.B \-o +.I outfile +] +[ +.B \-w\fIwidth\fR +] +[ +.B \-h\fIheight\fR +] +.I pagespecs +[ +.I infile +[ +.I outfile +] ] +.SH DESCRIPTION +.I Dvitodvi +rearranges pages from a DVI file, creating a new DVI file. +.I Dvitodvi +can be used to perform a large number of arbitrary re-arrangements of +Documents, including arranging for printing 2-up, 4-up, booklets, reversing, +selecting front or back sides of documents, scaling, etc. +.PP +.I pagespecs +follow the syntax: +.RS +.TP 12 +.I pagespecs +.I = [modulo:][mag@]specs +.TP +.I specs +.I = spec[+specs][,specs] +.TP +.I spec +.I = [-]pageno[(xoff,yoff)] +.RE +.sp +.I modulo +is the number of pages in each block. The value of +.I modulo +should be greater than 0; the default value is 1. +The optional +.I mag +parameter adjusts the file's magnification by the magnification specified. The +magnification and modulo can be specified in reverse order if desired. +.I specs +are the page specifications for the pages in each block. The value of the +.I pageno +in each +.I spec +should be between 0 (for the first page in the block) and \fImodulo\fR-1 +(for the last page in each block) inclusive. +The optional dimensions +.I xoff +and +.I yoff +shift the page by the specified (positive) amount. +.I xoff +and +.I yoff +are in PostScript's points, but may be followed by the units +.B "cm" +or +.B "in" +to convert to centimetres or inches, or the flag +.B "w" +or +.B "h" +to specify as a multiple of the width or height. +If the optional minus sign is specified, the page is relative to the end of +the document, instead of the start. + +If page \fIspec\fRs are separated by +.B + +the pages will be merged into one page; if they are separated by +.B , +they will be on separate pages. +If there is only one page specification, with +.I pageno +zero, the \fIpageno\fR may be omitted. +.PP +The +.I \-w +option gives the width which is used by the +.B "w" +dimension specifier, and the +.I \-h +option gives the height which is used by the +.B "h" +dimension specifier. These dimensions are also used (after scaling) to set the +clipping path for each page. +.PP +Dvitodvi normally prints the page numbers of the pages re-arranged; the +.I \-q +option suppresses this. +.SH EXAMPLES +This section contains some sample re-arrangements. To put two pages on one +sheet (of landscaped A3 paper), the pagespec to use is: +.sp +.ce +2:0+1(21cm,0) +.sp +To reduce an A3 page to A4 size, the pagespec to use is: +.sp +.ce +700@(-.3in,-.3in) +.sp +To select all of the odd pages in reverse order, use: +.sp +.ce +2:-0 +.sp +.SH AUTHOR +Angus Duggan, from dviselect(1), by +Chris Torek, University of Maryland +.SH "SEE ALSO" +dviconcat(1), dvibook(1), dviselect(1), latex(1), tex(1) +.br +.I "MC-TeX User's Guide" +.br +.I "The TeXbook" +.SH BUGS +.I Dvitodvi +does not adjust some of the parameters in the postamble. This may be a problem +if these values are used to size certain structures in the output +conversion programs. diff --git a/Master/texmf-dist/doc/man/man1/dvitodvi.man1.pdf b/Master/texmf-dist/doc/man/man1/dvitodvi.man1.pdf Binary files differnew file mode 100644 index 00000000000..1ee781413c5 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvitodvi.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/dvitomp.1 b/Master/texmf-dist/doc/man/man1/dvitomp.1 new file mode 100644 index 00000000000..452af4dc601 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvitomp.1 @@ -0,0 +1,26 @@ +.TH DVITOMP 1 "5 April 2011" "dvitomp 1.504" +.\" man page by Jim Van Zandt <jrv@vanzandt.mv.com> -*- nroff -*- +.SH NAME +dvitomp \- convert a TeX DVI file to a MetaPost MPXFILE +.SH SYNOPSIS +.B dvitomp +.RI [ OPTIONS ] +.IR dvifile [ \fB.dvi\fP ] +.RI [ mpxfile [ \fB.mpx\fP ]] +.PP +.B mpost +.B --dvitomp +.IR dvifile [ \fB.dvi\fP ] +.RI [ mpxfile [ \fB.mpx\fP ]] +.SH DESCRIPTION +\fBdvitomp\fP translates the given \fIdvifile\fP to a MetaPost +MPXFILE. The default \fImpxfile\fP is the basename of \fIdvifile\fP +extended with +.BR .mpx . +.SH OPTIONS +.IP \fB-help\fP +write usage summary and exit. +.IP \fB-version\fP +output version information and exit. +.SH BUGS +Email bug reports to metapost@tug.org. diff --git a/Master/texmf-dist/doc/man/man1/dvitomp.man1.pdf b/Master/texmf-dist/doc/man/man1/dvitomp.man1.pdf Binary files differnew file mode 100644 index 00000000000..311c3210dfd --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvitomp.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/dvitype.1 b/Master/texmf-dist/doc/man/man1/dvitype.1 new file mode 100644 index 00000000000..4eedcfc2a5d --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvitype.1 @@ -0,0 +1,102 @@ +.TH DVITYPE 1 "19 December 1994" "Web2C 2012" +.\"===================================================================== +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.el .ds OX TeX for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.\"===================================================================== +.SH NAME +dvitype, odvitype \- translate a dvi file for humans +.SH SYNOPSIS +.B dvitype +.IR dvi_name [ \fB.dvi\fP ] +.\"===================================================================== +.SH DESCRIPTION +This manual page is not meant to be exhaustive. The complete +documentation for this version of \*(TX can be found in the info file +or manual +.IR "Web2C: A TeX implementation" . +.PP +The +.B dvitype +program translates a DVI (DeVice Independent) file output by (for example) +.BR tex (1) +or +.BR gftodvi (1), +to a file that humans can read. It also serves as a DVI file-validating +program (i.e., if +.B dvitype +can read it, it's correct) and as an example of a DVI-reading +program for future device drivers. +.PP +The output file can include all commands, just the important +ones, or none at all (in which case only errors are reported). +A subinterval of pages may be selected for transliteration; the +magnification and resolution of the ``output device'' may be +changed; and so on. All options are specified with an on-line dialog. +.PP +The +.B .dvi +extension is supplied if omitted from +.IR dvi_name . +The output goes to +.IR stdout . +.\"===================================================================== +.SH OPTIONS +.TP +.BI \-dpi= REAL +Set resolution to +.I REAL +pixels per inch; default 300.0. +.PP +.TP +.BI \-magnification= NUMBER +Override existing magnification with +.IR NUMBER . +.PP +.TP +.BI \-max-pages= NUMBER +Process +.I NUMBER +pages; default one million. +.PP +.TP +.BI \-output-level= NUMBER +Verbosity level, from 0 to 4; default 4. +.PP +.TP +.BI \-page-start= PAGE-SPEC +Start at +.IR PAGE-SPEC , +for example `2' or `5.*.-2'. +.PP +.TP +.B \-show-opcodes +Show numeric opcodes (in decimal). +.\"===================================================================== +.SH ENVIRONMENT +The environment variable TEXFONTS is used to search for the TFM files +used in the DVI file. See +.BR tex (1) +for the details of the searching. +If TEXFONTS is not set, it uses the system default. +.\"===================================================================== +.SH "SEE ALSO" +.BR gftype (1), +.BR pktype (1). +.br +Donald E. Knuth, +.IR "\*(OXware" . +.\"===================================================================== +.SH AUTHORS +Donald E. Knuth wrote the program. It was published as part of the +.I \*(OXware +technical report, available from the \*(TX Users Group. +Howard Trickey and Pavel Curtis originally ported it to Unix. diff --git a/Master/texmf-dist/doc/man/man1/dvitype.man1.pdf b/Master/texmf-dist/doc/man/man1/dvitype.man1.pdf Binary files differnew file mode 100644 index 00000000000..9eb65a9170d --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/dvitype.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/e2pall.1 b/Master/texmf-dist/doc/man/man1/e2pall.1 new file mode 100644 index 00000000000..b102568b53a --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/e2pall.1 @@ -0,0 +1,55 @@ +.TH "e2pall" "1" "August 2000" "teTeX" "teTeX" +.PP +.SH "NAME" +e2pall \- convert all EPS files in a LaTeX document to PDF +.PP +.SH "SYNOPSIS" +.PP +\fBe2pall\fP \fITEXFILE\fP +.PP +.SH "DESCRIPTION" +.PP +\fBe2pall\fP searches through \fITEXFILE\fP for \eincludegraphics +commands to find the base names of image files\&. When it finds one, +\fBe2pall\fP runs \fBepstopdf\fP(1) to create a PDF file from the EPS +file\&. +.PP +\fBe2pall\fP will check to be sure that an existing PDF file is +up-to-date with the EPS file, and will not run \fBepstopdf\fP(1) if +the PDF file is newer than the EPS file\&. +.PP +.SH "BUGS" +.PP +.IP "" +Seems to be broken +.IP "" +Cannot handle \einput{\fIfilename\fP} or +\eincludegraphics{\fIfilename\fP} split over more than one +line +.IP "" +Must be run from same directory as the LaTeX file +.IP "" +Does not look down $TEXINPUTS +.IP "" +Cannot handle documents that use \einclude commands +.IP "" +Assumes \fIall\fP files included with \eincludegraphics are EPS +files +.IP +.PP +.SH "SEE ALSO" +.PP +\fBepstopdf\fP(1) +.PP +.SH "AUTHOR" +.PP +\fBe2pall\fP was written by Jody Klymak <jklymak@apl\&.washington\&.edu> and published in a posting to +the <pdftex@tug\&.org> (mailing list)\&. +.PP +This manual page was written by C\&.M\&. Connelly +<c@eskimo\&.com>, for +the Debian GNU/Linux system\&. It may be used by other distributions +without contacting the author\&. Any mistakes or omissions in the +manual page are my fault; inquiries about or corrections to this +manual page should be directed to me (and not to the primary author)\&. +.PP diff --git a/Master/texmf-dist/doc/man/man1/e2pall.man1.pdf b/Master/texmf-dist/doc/man/man1/e2pall.man1.pdf Binary files differnew file mode 100644 index 00000000000..8f3e4f51615 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/e2pall.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/ebb.1 b/Master/texmf-dist/doc/man/man1/ebb.1 new file mode 100644 index 00000000000..76ef525ec91 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ebb.1 @@ -0,0 +1 @@ +.so man1/extractbb.1 diff --git a/Master/texmf-dist/doc/man/man1/ebb.man1.pdf b/Master/texmf-dist/doc/man/man1/ebb.man1.pdf Binary files differnew file mode 100644 index 00000000000..8bdb4c85b2e --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ebb.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/eplain.1 b/Master/texmf-dist/doc/man/man1/eplain.1 new file mode 100644 index 00000000000..64193a5f4d6 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/eplain.1 @@ -0,0 +1,87 @@ +.TH EPLAIN 1 "7 February 2013" "Eplain 3.5" +.\"===================================================================== +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.el .ds OX TeX for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.if t .ds AX \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(TX +.if n .ds AX AmSTeX +.if t .ds AY \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(LX +.if n .ds AY AmSLaTeX +.\"===================================================================== +.SH NAME +eplain \- expanded plain TeX +.SH SYNOPSIS +.B eplain +[ first-line ] +.\"===================================================================== +.SH DESCRIPTION +.B eplain +is an extension of plain \*(TX originally described in the book +.IR "\*(OX for the Impatient" . +It adds these features (among others) to plain \*(TX: +.TP \w'\(bu'u+2n +\(bu +left-justified displays +.TP +\(bu +double-column output +.TP +\(bu +tables of contents +.TP +\(bu +.I \ehrule +and +.I \evrule +with a different default than 0.4pt +.TP +\(bu +time of day +.TP +\(bu +verbatim file listing +.TP +\(bu +generalized footnotes +.TP +\(bu +blank and black boxes +.TP +\(bu +citations using \*(BX +.\"===================================================================== +.SH FILES +.TP +.I eplain/doc/eplain.texi +\*(TXable documentation of +.B etex +macros in +.B texinfo +format. +.TP +.I eplain.info* +Online GNU Emacs +.BR info (1) +files produced from +.IR eplain.texi . +.\"===================================================================== +.SH "SEE ALSO" +.BR texinfo (5), +.BR tex (1), +.br +Karl Berry, +.IR eplain , +TUGboat 11(4), 571--572, 1990, +http://tug.org/TUGboat/tb11-4/tb30resources.pdf. +.br +Paul W. Abrahams with Karl Berry and Kathryn A. Hargreaves, +.IR "\*(OX for the Impatient" , +http://www.gnu.org/software/teximpatient. diff --git a/Master/texmf-dist/doc/man/man1/eplain.man1.pdf b/Master/texmf-dist/doc/man/man1/eplain.man1.pdf Binary files differnew file mode 100644 index 00000000000..c9d10369f9c --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/eplain.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/epsffit.1 b/Master/texmf-dist/doc/man/man1/epsffit.1 new file mode 100644 index 00000000000..68da969661a --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/epsffit.1 @@ -0,0 +1,51 @@ +.TH EPSFFIT 1 "PSUtils Release 1 Patchlevel 17" +.SH NAME +epsffit \- fit encapsulated PostScript file (EPSF) into constrained size +.SH SYNOPSIS +.B epsffit +[ +.B \-c +] [ +.B \-r +] [ +.B \-a +] [ +.B \-m +] [ +.B \-s +] +.I "llx lly urx ury" +[ +.B infile +[ +.B outfile +] ] +.SH DESCRIPTION +.I Epsffit +fits an EPSF file (encapsulated PostScript) to a given bounding box. +The coordinates of the box are given by \fB(llx,lly)\fR for the lower +left, and \fB(urx,ury)\fR for the upper right, in PostScript units (points). +.PP +If no input or output files are specified, +.I epsffit +read from the standard input and writes to the standard output. +.SH OPTIONS +.IP \fB\-c\fP 1i +Center the image in the given bounding box. +.IP \fB\-r\fP 1i +Rotate the image by 90 degrees counter-clockwise. +.IP \fB\-a\fP 1i +Adjust the aspect ratio to fit the bounding box. The default is to preserve +the aspect ratio. +.IP \fB\-m\fP 1i +Rotates the image to maximise the size if it would fit the specified bounding +box better. +.IP \fB\-s\fP 1i +Add a \fIshowpage\fP at the end of the file to force the image to print. +.SH AUTHOR +Copyright (C) Angus J. C. Duggan 1991-1995 +.SH "SEE ALSO" +epsffit(1), psbook(1), psnup(1), psresize(1), psselect(1), pstops(1), extractres(1), fixdlsrps(1), fixfmps(1), fixpsditps(1), fixpspps(1), fixscribeps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), includeres(1), psmerge(1), getafm(1) +.SH TRADEMARKS +.B PostScript +is a trademark of Adobe Systems Incorporated. diff --git a/Master/texmf-dist/doc/man/man1/epsffit.man1.pdf b/Master/texmf-dist/doc/man/man1/epsffit.man1.pdf Binary files differnew file mode 100644 index 00000000000..b7fd5d82307 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/epsffit.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/epstopdf.1 b/Master/texmf-dist/doc/man/man1/epstopdf.1 new file mode 100644 index 00000000000..ac57d1dc7d2 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/epstopdf.1 @@ -0,0 +1,88 @@ +.TH EPSTOPDF 1 "18 March 2010" +.\" $Id: epstopdf.1 18160 2010-05-09 00:02:00Z karl $ +.SH NAME +epstopdf, repstopdf \- convert an EPS file to PDF +.SH SYNOPSIS +\fBepstopdf\fP [\fIoptions\fP] [\fIepsfile\fP] +.SH DESCRIPTION +\fBepstopdf\fP transforms the Encapsulated PostScript file \fIepsfile\fP +(or standard input) so that it is guaranteed to start at the 0,0 +coordinate, and it sets a page size exactly corresponding to the +BoundingBox. This means that when Ghostscript renders it, the result +needs no cropping, and the PDF MediaBox is correct. By default, the +result is piped to Ghostscript and a PDF version written. +.P +If the bounding box is not right, of course, there are problems. +.SH OPTIONS +.IP "\fB--outfile\fP=\fIfile\fP" +write result to \fIfile\fP. If this option is not given, and +\fB--nogs\fP or \fB--filter\fP is specified, write to standard output; +otherwise, the default is to construct the output file name by replacing +any extension in the input file with \fI.pdf\fP. +.IP "\fB--\fP[\fBno\fP]\fBcompress\fP" +use compression (default: on). +.IP "\fB--\fP[\fBno\fP]\fBdebug\fP" +write debugging info (default: off). +.IP "\fB--\fP[\fBno\fP]\fBembed\fP" +embed fonts (default: on). +.IP "\fB--\fP[\fBno\fP]\fBexact\fP" +scan ExactBoundingBox (default: off). +.IP "\fB--\fP[\fBno\fP]\fBfilter\fP" +read standard input and (unless \fB--outfile\fP is given) write standard +output(default: off). +.IP "\fB--\fP[\fBno\fP]\fBgs\fP" +run Ghostscript (default: on). With \fB--nogs\fP, output (to standard +output by default) the PostScript that would normally be converted; that +is, the input PostScript as modified by \fBepstopdf\fP. +.IP "\fB--\fP[\fBno\fP]\fBhires\fP" +scan HiresBoundingBox (default: off). +.IP "\fB--gscmd\fP=\fIval\fP" +pipe output to \fIval\fP (default: [\fBgswin32c\fP on Windows, else \fBgs\fP]) +.IP "\fB--res\fP=\fIdpi\fP" +set image resolution (default: [use gs default]) +.IP "\fB--autorotate\fP=\fIval\fP" +set AutoRotatePages (default: None); recognized \fIval\fP choices: +None, All, PageByPage. For EPS files, PageByPage is equivalent to All. +.IP "\fB--restricted\fP=\fIval\fP" +turn on restricted mode (default: [on for repstopdf, else off]); +this forbids the use of \fB--gscmd\fP and imposes restrictions on the input and +output file names according to the values of openin_any and openout_any (see +the Web2c manual, http://tug.org/web2c). +.IP "\fB--help\fP +display help message and exit +.IP "\fB--version\fP +display version information and exit +.SH EXAMPLES +Examples which produce "test.pdf": +.nf +epstopdf test.eps +produce postscript | epstopdf --filter >test.pdf +produce postscript | epstopdf -f -d -o=test.pdf +.fi +Example: look for HiresBoundingBox and produce corrected PostScript: +.nf +epstopdf -d --nogs --hires test.ps >testcorr.ps +.fi +.SH BUGS +The case of "%%BoundingBox: (atend)" when input is not seekable (e.g., +from a pipe) is not supported. +.PP +Report bugs in the program or this man page to tex-k@tug.org. When +reporting bugs, please include an input file and the command line +options specified, so the problem can be reproduced. +.SH SEE ALSO +\fBgs\fP(1), +\fBpdfcrop\fP(1). +.PP +The epstopdf LaTeX package, part of the oberdiek bundle, which automates +running this script on the fly under TeX: http://ctan.org/pkg/epstopdf-pkg. +.SH AUTHOR +The script was originally written by Sebastian Rahtz, for Elsevier +Science, with subsequent contributions from Thomas Esser, Gerben Wierda +and many others. Currently maintained by Karl Berry. +.PP +Man page originally written by Jim Van Zandt. +.PP +epstopdf home page: http://tug.org/epstopdf. +.PP +You may freely use, modify and/or distribute this file. diff --git a/Master/texmf-dist/doc/man/man1/epstopdf.man1.pdf b/Master/texmf-dist/doc/man/man1/epstopdf.man1.pdf Binary files differnew file mode 100644 index 00000000000..6ce7b6592b2 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/epstopdf.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/etex.1 b/Master/texmf-dist/doc/man/man1/etex.1 new file mode 100644 index 00000000000..1cede7e4b7a --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/etex.1 @@ -0,0 +1,387 @@ +.TH ETEX 1 "1 March 2011" "Web2C 2011" +.\"===================================================================== +.if n .ds MF Metafont +.if t .ds MF M\s-2ETAFONT\s0 +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.if n .ds MF Metafont +.if t .ds MF M\s-2ETAFONT\s0 +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.el .ds OX TeX for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.if t .ds AX \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(TX +.if n .ds AX AmSTeX +.if t .ds AY \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(LX +.if n .ds AY AmSLaTeX +.if n .ds WB Web +.if t .ds WB W\s-2EB\s0 +.\"===================================================================== +.SH NAME +etex \- extended (plain) TeX +.SH SYNOPSIS +.B etex +.RI [ options ] +.RI [ \fB&\fPformat ] +.RI [ file | \fB\e\fPcommands ] +.\"===================================================================== +.SH DESCRIPTION +Run the e-\*(TX typesetter on +.IR file , +by default creating +.IR file.dvi . +If the file argument has no extension, ".tex" will be appended to it. +Instead of a filename, a set of e-\*(TX commands can be given, the first +of which must start with a backslash. +With a +.BI & format +argument e-\*(TX uses a different set of precompiled commands, +contained in +.IR format\fB.fmt\fP ; +it is usually better to use the +.B -fmt +.I format +option instead. +.PP +e-\*(TX is the first concrete result of an international research & +development project, the NTS Project, which was established under the +aegis of DANTE e.V. during 1992. The aims of the project are to +perpetuate and develop the spirit and philosophy of \*(TX, whilst +respecting Knuth's wish that \*(TX should remain frozen. +.PP +e-\*(TX can be used in two different modes: in +.I compatibility mode +it is supposed to be completely interchangable with standard \*(TX. +In +.I extended mode +several new primitives are added that facilitate (among other things) +bidirectional typesetting. +.PP +An extended mode format is generated by prefixing the name of the +source file for the format with an asterisk (*). +.PP +e-\*(TX's handling of its command-line arguments is similar to that of +the other \*(TX programs in the +.I web2c +implementation. +.\"===================================================================== +.SH OPTIONS +This version of e-\*(TX understands the following command line options. +.TP +.BI -fmt \ format +Use +.I format +as the name of the format to be used, instead of the name by which +e-\*(TX was called or a +.I %& +line. +.TP +.B -enc +Enable the enc\*(TX extensions. This option is only effective in +combination with +.BR -ini . +For documentation of the enc\*(TX extensions see +.BR http://www.olsak.net/enctex.html . +.TP +.B -etex +Enable the e-\*(TX extensions. This option is only effective in +combination with +.BR -ini . +.TP +.B -file-line-error +Print error messages in the form +.I file:line:error +which is similar to the way many compilers format them. +.TP +.B -no-file-line-error +Disable printing error messages in the +.I file:line:error +style. +.TP +.B -file-line-error-style +This is the old name of the +.B -file-line-error +option. +.TP +.B -halt-on-error +Exit with an error code when an error is encountered during processing. +.TP +.B -help +Print help message and exit. +.TP +.B -ini +Start in +.I INI +mode, which is used to dump formats. The +.I INI +mode can be used for typesetting, but no format is preloaded, and +basic initializations like setting catcodes may be required. +.TP +.BI -interaction \ mode +Sets the interaction mode. The mode can be either +.IR batchmode , +.IR nonstopmode , +.IR scrollmode , +and +.IR errorstopmode . +The meaning of these modes is the same as that of the corresponding +\ecommands. +.TP +.B -ipc +Send DVI output to a socket as well as the usual output file. Whether +this option is available is the choice of the installer. +.TP +.B -ipc-start +As +.BR -ipc , +and starts the server at the other end as well. Whether this option +is available is the choice of the installer. +.TP +.BI -jobname \ name +Use +.I name +for the job name, instead of deriving it from the name of the input file. +.TP +.BI -kpathsea-debug \ bitmask +Sets path searching debugging flags according to the bitmask. See the +.I Kpathsea +manual for details. +.TP +.BI -mktex \ fmt +Enable +.RI mktex fmt , +where +.I fmt +must be either +.I tex +or +.IR tfm . +.TP +.B -mltex +Enable ML\*(TX extensions. Only effective in combination with +.BR -ini . +.TP +.BI -no-mktex \ fmt +Disable +.RI mktex fmt , +where +.I fmt +must be either +.I tex +or +.IR tfm . +.TP +.BI -output-comment \ string +Use +.I string +for the +.I DVI +file comment instead of the date. +.TP +.BI -output-directory \ directory +Write output files in +.I directory +instead of the current directory. Look up input files in +.I directory +first, the along the normal search path. +.TP +.B -parse-first-line +If the first line of the main input file begins with +.I %& +parse it to look for a dump name or a +.B -translate-file +option. +.TP +.B -no-parse-first-line +Disable parsing of the first line of the main input file. +.TP +.BI -progname \ name +Pretend to be program +.IR name . +This affects both the format used and the search paths. +.TP +.B -recorder +Enable the filename recorder. This leaves a trace of the files opened +for input and output in a file with extension +.IR .fls . +.TP +.B -shell-escape +Enable the +.BI \ewrite18{ command } +construct. The +.I command +can be any shell command. This construct is normally +disallowed for security reasons. +.TP +.B -no-shell-escape +Disable the +.BI \ewrite18{ command } +construct, even if it is enabled in the +.I texmf.cnf +file. +.TP +.B -src-specials +Insert source specials into the +.I DVI +file. +.TP +.BI -src-specials \ where +Insert source specials in certain placed of the +.I DVI +file. +.I where +is a comma-separated value list: +.IR cr , +.IR display , +.IR hbox , +.IR math , +.IR par , +.IR parent , +or +.IR vbox . +.TP +.BI -translate-file \ tcxname +Use the +.I tcxname +translation table to set the mapping of input characters and +re-mapping of output characters. +.TP +.BI -default-translate-file \ tcxname +Like +.B -translate-file +except that a +.I %& +line can overrule this setting. +.TP +.B -version +Print version information and exit. +.\"===================================================================== +.SH ENVIRONMENT +See the Kpathsearch library documentation (the `Path specifications' +node) for precise details of how the environment variables are used. +The +.B kpsewhich +utility can be used to query the values of the variables. +.PP +One caveat: In most e-\*(TX formats, you cannot use ~ in a filename you +give directly to e-\*(TX, because ~ is an active character, and hence is +expanded, not taken as part of the filename. Other programs, such as +\*(MF, do not have this problem. +.PP +.TP +.B TEXMFOUTPUT +Normally, e-\*(TX puts its output files in the current directory. If +any output file cannot be opened there, it tries to open it in the +directory specified in the environment variable TEXMFOUTPUT. +There is no default value for that variable. For example, if you say +.I etex paper +and the current directory is not writable, if TEXMFOUTPUT has +the value +.IR /tmp , +e-\*(TX attempts to create +.I /tmp/paper.log +(and +.IR /tmp/paper.dvi , +if any output is produced.) TEXMFOUTPUT is also checked for input +files, as \*(TX often generates files that need to be subsequently +read; for input, no suffixes (such as ``.tex'') are added by default, +the input name is simply checked as given. +.TP +.B TEXINPUTS +Search path for +.I \einput +and +.I \eopenin +files. +This should start with ``.'', so +that user files are found before system files. An empty path +component will be replaced with the paths defined in the +.I texmf.cnf +file. For example, set TEXINPUTS to ".:/home/user/tex:" to prepend the +current direcory and ``/home/user/tex'' to the standard search path. +.TP +.B TEXFORMATS +Search path for format files. +.TP +.B TEXPOOL +search path for +.B etex +internal strings. +.TP +.B TEXEDIT +Command template for switching to editor. The default, usually +.BR vi , +is set when e-\*(TX is compiled. +.TP +.B TFMFONTS +Search path for font metric +.RI ( .tfm ) +files. +.\"===================================================================== +.SH FILES +The location of the files mentioned below varies from system to +system. Use the +.B kpsewhich +utility to find their locations. +.TP +.I etex.pool +Text file containing e-\*(TX's internal strings. +.TP +.I texfonts.map +Filename mapping definitions. +.TP +.I *.tfm +Metric files for e-\*(TX's fonts. +.TP +.I *.fmt +Predigested e-\*(TX format (.\|fmt) files. +.\"===================================================================== +.SH NOTES +Starting with version 1.40, pdf\*(TX incorporates the e-\*(TX +extensions, so in this installation e\*(TX may be just a symbolic link to +pdf\*(TX. See +.BR pdftex (1). +This manual page is not meant to be exhaustive. The complete +documentation for this version of e-\*(TX can be found in the info +manual +.IR "Web2C: A TeX implementation" . +.\"===================================================================== +.SH BUGS +This version of e-\*(TX implements a number of optional extensions. +In fact, many of these extensions conflict to a greater or lesser +extent with the definition of e-\*(TX. When such extensions are +enabled, the banner printed when e-\*(TX starts is changed to print +.B e-TeXk +instead of +.BR e-TeX . +.PP +This version of e-\*(TX fails to trap arithmetic overflow when +dimensions are added or subtracted. Cases where this occurs are rare, +but when it does the generated +.I DVI +file will be invalid. +.\"===================================================================== +.SH "SEE ALSO" +.BR pdftex (1), +.BR tex (1), +.BR mf (1). +.\"===================================================================== +.SH AUTHORS +e-\*(TX was developed by Peter Breitenlohner and the NTS team; Peter +later continued its development outside of the team. +.PP +\*(TX was designed by Donald E. Knuth, +who implemented it using his \*(WB system for Pascal programs. +It was ported to Unix at Stanford by Howard Trickey, and +at Cornell by Pavel Curtis. +The version now offered with the Unix \*(TX distribution is that +generated by the \*(WB to C system +.RB ( web2c ), +originally written by Tomas Rokicki and Tim Morgan. +.PP +The enc\*(TX extensions were written by Petr Olsak. diff --git a/Master/texmf-dist/doc/man/man1/etex.man1.pdf b/Master/texmf-dist/doc/man/man1/etex.man1.pdf Binary files differnew file mode 100644 index 00000000000..ef74336cd71 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/etex.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/extconv.1 b/Master/texmf-dist/doc/man/man1/extconv.1 new file mode 100644 index 00000000000..e09bfefb544 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/extconv.1 @@ -0,0 +1,111 @@ +.\" man page for bg5conv +.\" +.\" Copyright (C) 1994-2012 Werner Lemberg <wl@gnu.org> +.\" +.\" This program is free software; you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation; either version 2 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program in doc/COPYING; if not, write to the Free +.\" Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +.\" MA 02110-1301 USA +. +.TH EXTCONV 1 07-May-2012 "CJK Version 4.8.3" +. +.\" ==== +.\" ==== macro definitions +.\" ==== +. +.\" here we define \TeX for troff and nroff +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +. +.\" and here the same for \LaTeX +.if t \{\ +.ie '\*(.T'dvi' \ +.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX +.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX +.\} +.if n .ds LX LaTeX +. +.\" \LaTeXe +.\" note that we need \vareps for TeX instead of \eps which can only be +.\" accessed with the \N escape sequence (in the Math Italic font) +.if t \{\ +.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v' +.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v' +.\} +.if n .ds LE LaTeX\ 2e +. +.\" a typewriter font +.if t \{\ +.de C +\fC\\$1\fP\\$2 +.. +.\} +.if n \{\ +.de C +\\$1\\$2 +.. +.\} +. +.\" ==== +.\" ==== end of macro definitions +.\" ==== +. +. +. +.SH NAME +extconv \- convert a TeX document in either Big\ 5+ or GBK encoding into +`preprocessed' form. +. +. +.SH SYNOPSIS +.B extconv +< +.I infile +> +.I outfile +. +. +.SH DESCRIPTION +Big\ 5+ and GBK encodings use the characters +.C { , +.C } , +and +.C \e +which have special meanings in \*(TX +documents. +.PP +After processing a \*(LE +document which contains such characters with +.B \%extconv +you need not care about these special characters. +.PP +This filter is part of the +.B CJK +macro package for \*(LE. +. +. +.SH "SEE ALSO" +.BR bg5conv (1), +.BR \%sjisconv (1), +.BR \%cefconv (1), +.BR cef5conv (1), +.BR \%cefsconv (1), +.br +the +.B CJK +documentation files. +. +. +.SH AUTHOR +Werner Lemberg +.C <wl@gnu.org> diff --git a/Master/texmf-dist/doc/man/man1/extconv.man1.pdf b/Master/texmf-dist/doc/man/man1/extconv.man1.pdf Binary files differnew file mode 100644 index 00000000000..d43f99978b9 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/extconv.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/extractbb.1 b/Master/texmf-dist/doc/man/man1/extractbb.1 new file mode 100644 index 00000000000..34b6d348580 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/extractbb.1 @@ -0,0 +1,99 @@ +.TH "EXTRACTBB" "1" "20 April 2012" "20120420" "DVIPDFMx" +.PP +.SH "NAME" +extractbb, ebb \- extract bounding box information from graphics files +.PP +.SH "SYNOPSIS" +.PP +.B extractbb +.RB [ \-v | \-q ] +.RB [ \-O ] +.RB [ \-m | \-x ] +.IR file \&.\&.\&. +.PP +.SH "DESCRIPTION" +.PP +For each +.SM JPEG\c +, +.SM PNG\c +, or +.SM PDF +file given on the command line, +.B extractbb +extracts the bounding box information and writes it into a file with extension +.BR .xbb , +together with some header information. These files can then be used by +.B dvipdfmx +or other programs. For +.SM PDF +files, the number of pages and the +.SM PDF +version number are reported as well. +The input filename extension may be in upper or lower case. +.PP +If called as +.BR ebb , +the output is written in the ``bb'' format (and with extension +.BR .bb ) +as used by +.BR dvipdfm . +.B Xbb +may be defined as a synomym for +.B extractbb +on your system. +.PP +.SH "OPTIONS" +.PD 0 +.TP 10 +.B -v +Be verbose. +.TP +.B -q +Be quiet. +.TP +.B -O +Write output to standard output. +.TP +.B -m +Write output in dvipdfm's ``bb'' format. +.TP +.B -x +Write output in dvipdfmx's ``xbb'' format (default), which is the same +as that used by pdfTeX. +.PD +.PP +.SH "OUTPUT FORMATS" +.PP +Here are more details about the bb and xbb formats: +.PP +The original ebb (from dvipdfm) ignored density information in bitmap +images, and generated bounding boxes with 100px = 72bp = 1in. +Unfortunately, screenshots (especially) tend to look bad with this +approach. +.PP +So, extractbb (from dvipdfmx) uses density information if present. +Otherwise, it generates bounding box with 100px = 100bp. This is what +pdfTeX does. +.SH "BUGS" +.PP +There is currently no way to specify which bounding box is taken +for +.SM PDF +files. It will always be the first one from the following +list: ArtBox, TrimBox, BleedBox, MediaBox. (Often only MediaBox +is defined.) Moreover, the reported bounding box always refers +to the first page in a +.SM PDF +file. +.PP +.SH "AUTHOR" +.PP +\fBextractbb\fP was written by the DVIPDFMx project team +<dvipdfmx@ktug.or.kr>, based on the program \fBebb\fP by Mark A. Wicks. +.PP +This manual page was also written by the DVIPDFMx project team, +based on a manual page Frank K\[:u]ster <frank@kuesterei\&.ch> +wrote for the Debian GNU/Linux system\&. +It may be used, modified, and/or redistributed by others without +contacting the authors\&. diff --git a/Master/texmf-dist/doc/man/man1/extractbb.man1.pdf b/Master/texmf-dist/doc/man/man1/extractbb.man1.pdf Binary files differnew file mode 100644 index 00000000000..933a82da09e --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/extractbb.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/extractres.1 b/Master/texmf-dist/doc/man/man1/extractres.1 new file mode 100644 index 00000000000..272b633794e --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/extractres.1 @@ -0,0 +1,47 @@ +.TH EXTRACTRES 1 "PSUtils Release 1 Patchlevel 17" +.SH NAME +extractres \- filter to extract resources from a PostScript document +.SH SYNOPSIS +.B extractres +[ +.B \-m +] < +.I document.ps +> +.I output.ps +.SH DESCRIPTION +.I Extractres +extracts resources (fonts, procsets, patterns, files, etc) appearing in a +PostScript document, and puts appropriate +.I %%IncludeResource +comments in the document prologue. The extracted resources are written to +files with the same name as the resource, and an appropriate extension. The +pipeline +.sp +.ce +extractres file.ps | includeres >out.ps +.sp +will move all resources appearing in a document to the document prologue, +removing redundant copies. The output file can then be put through page +re-arrangement filters such as +.I psnup +or +.I pstops +safely. +.PP +The +.B \-m +option combines the resources of the same name into one file; this must be +used for some programs which download fonts a bit at a time. +.SH AUTHOR +Copyright (C) Angus J. C. Duggan 1991-1995 +.SH "SEE ALSO" +epsffit(1), psbook(1), psnup(1), psresize(1), psselect(1), pstops(1), extractres(1), fixdlsrps(1), fixfmps(1), fixpsditps(1), fixpspps(1), fixscribeps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), includeres(1), psmerge(1), getafm(1) +.SH TRADEMARKS +.B PostScript +is a trademark of Adobe Systems Incorporated. +.SH BUGS +.I extractres +does not alter the +.I %%DocumentSuppliedResources +comments. diff --git a/Master/texmf-dist/doc/man/man1/extractres.man1.pdf b/Master/texmf-dist/doc/man/man1/extractres.man1.pdf Binary files differnew file mode 100644 index 00000000000..39debaaaa34 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/extractres.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/findhyph.1 b/Master/texmf-dist/doc/man/man1/findhyph.1 new file mode 100644 index 00000000000..4e46a4d311d --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/findhyph.1 @@ -0,0 +1,247 @@ +.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "FINDHYPH 1" +.TH FINDHYPH 1 "2012-11-21" "perl v5.10.1" "" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +\&\fBfindhyph\fR \*(-- find words hyphenated by TeX in a document +.SH "INSTALLATION" +.IX Header "INSTALLATION" +Copy \fBfindhyph\fR or \fBfindhyph.bat\fR (depending on \s-1OS\s0 used) to a directory +included in system \s-1PATH\s0. Perl interpreter is required to be in +\&\f(CW\*(C`/usr/bin/\*(C'\fR for Unix-like systems or in \s-1PATH\s0 when using \fBfindhyph.bat\fR. +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +.IP "1)" 4 +.IX Item "1)" +set \f(CW\*(C`\etracingparagraphs=1\*(C'\fR in a TeX document \fIfoo.tex\fR and run: +.IP "2)" 4 +.IX Item "2)" +\&\fBtex\fR \fIfoo.tex\fR +.IP "3)" 4 +.IX Item "3)" +\&\fBfindhyph [options]\fR \fIfoo.log\fR +.PP +If you are setting \f(CW\*(C`\elooseness=<N>\*(C'\fR to optimize paragraphs, +you need to pass that information to the file \fIfoo.log\fR in a form +\&\f(CW\*(C`@looseness=<N>\*(C'\fR (on a separate line). You can use a macro like +\&\f(CW\*(C`\edef\esetlooseness#1{\elooseness=#1 \eimmediate\ewrite\-1{@looseness=#1}}\*(C'\fR +for this purpose. If the paragraph contains material in display math mode, +you need to use the macro in all split parts of the paragraph. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-c\fR" 4 +.IX Item "-c" +display hyphenated words in context +.IP "\fB\-f\fR" 4 +.IX Item "-f" +display font selectors and other strings starting with a backslash character +.IP "\fB\-v\fR" 4 +.IX Item "-v" +display program version +.IP "\fB\-p\fR" 4 +.IX Item "-p" +generate file containing information about one-letter prepositions and +conjunctions left at the end of line +.IP "\fB\-l=STRING\fR" 4 +.IX Item "-l=STRING" +use prepositions/conjunctions listed in \s-1STRING\s0 instead of default list of +prepositions and conjunctions \f(CW\*(C`kKsSvVzZoOuUiIA\*(C'\fR used for Slovak and Czech +language +.SH "OUTPUT FILES" +.IX Header "OUTPUT FILES" +.IP "\fIfoo.hyph\fR" 4 +.IX Item "foo.hyph" +List of hyphenated words. All punctuation characters, parentheses and +other character immediately preceding or following displayed words are included +in this list. TeX constructs which are too difficult to display (\f(CW\*(C`\ehbox{}\*(C'\fR, +\&\f(CW\*(C`\emark{}\*(C'\fR etc.) are shown as \f(CW\*(C`[]\*(C'\fR. Math mode is indicated by \f(CW\*(C`$\*(C'\fR sign. +.Sp +Page numbers in square brackets refer to \s-1LOG\s0 file and may occasionally differ +from the typeset document. The reason is that TeX may need to break more +paragraphs than it would eventually fit on the page in order to find a page +break. +.Sp +Words hyphenated in footnotes are listed before the words hyphenated in the +paragraph in which the footnote is referenced. +.IP "\fIfoo.prep\fR" 4 +.IX Item "foo.prep" +List of prepositions if option \fB\-p\fR is used. +.SH "HISTORY" +.IX Header "HISTORY" +1.0 (2001\-04\-08) +.IX Subsection "1.0 (2001-04-08)" +.IP "\(bu" 4 +public release +.PP +2.0 (2009\-08\-10) +.IX Subsection "2.0 (2009-08-10)" +.IP "\(bu" 4 +fixes in line breaks detection algorithm; support for the third pass of line +breaking algorithm in TeX (positive \eemergencystretch); support for +discretionary breaks in the first pass +.IP "\(bu" 4 +page number detection improved (recognized negative page numbers, compound page +numbers when \f(CW\*(C`\ecount1\*(C'\fR to \f(CW\*(C`\ecount9\*(C'\fR registers are non-zero +and \f(CW\*(C`[nn{mapfile}]\*(C'\fR, \f(CW\*(C`[nn<picture>]\*(C'\fR and \f(CW\*(C`[nn<newline>\*(C'\fR +formats used by pdfTeX; false page number detection should be much more rare) +.IP "\(bu" 4 +configurable list of prepositions and conjunctions +.IP "\(bu" 4 +hyphenated words can be displayed in context +.IP "\(bu" 4 +suggestions and testing by Pavel Striz +.PP +3.0 (2012\-02\-01) +.IX Subsection "3.0 (2012-02-01)" +.IP "\(bu" 4 +fixed a bug when total paragraph demerits are negative +.IP "\(bu" 4 +\&\f(CW\*(C`\elooseness\*(C'\fR setting is now taken into account (thanks to Karel Horak +for identifying the issue) +.PP +3.1 (2012\-11\-03) +.IX Subsection "3.1 (2012-11-03)" +.IP "\(bu" 4 +fixed displaying of hyphenated ligatures (bug reported by Karel Horak) +.PP +3.2 (2012\-11\-21) +.IX Subsection "3.2 (2012-11-21)" +.IP "\(bu" 4 +improved example definition of the \f(CW\*(C`\esetlooseness\*(C'\fR macro +(thanks to Karl Berry) +.SH "LICENSE" +.IX Header "LICENSE" +This program is free software; you can redistribute it and/or modify +it under the terms of the \s-1GNU\s0 General Public License as published by +the Free Software Foundation; either version 2 of the License, or +any later version. +.SH "AUTHOR" +.IX Header "AUTHOR" +Copyright (c) Martin Budaj <m.b@speleo.sk> 2000, 2001, 2009, 2012 diff --git a/Master/texmf-dist/doc/man/man1/findhyph.man1.pdf b/Master/texmf-dist/doc/man/man1/findhyph.man1.pdf Binary files differnew file mode 100644 index 00000000000..b0884f47327 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/findhyph.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/fixdlsrps.1 b/Master/texmf-dist/doc/man/man1/fixdlsrps.1 new file mode 100644 index 00000000000..c59bea2ad71 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/fixdlsrps.1 @@ -0,0 +1,24 @@ +.TH FIXDLSRPS 1 "PSUtils Release 1 Patchlevel 17" +.SH NAME +fixdlsrps \- filter to fix DviLaser/PS documents to work with PSUtils +.SH SYNOPSIS +.B fixdlsrps +< +.I dvilaser.ps +> +.I Fixed.ps +.SH DESCRIPTION +.I Fixdlsrps +is a +.I perl +filter which "fixes" PostScript generated from the DviLaser/PS driver so +that it works correctly with Angus Duggan's +.B psutils +package. +.SH AUTHOR +Copyright (C) Angus J. C. Duggan 1991-1995 +.SH "SEE ALSO" +epsffit(1), psbook(1), psnup(1), psresize(1), psselect(1), pstops(1), extractres(1), fixdlsrps(1), fixfmps(1), fixpsditps(1), fixpspps(1), fixscribeps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), includeres(1), psmerge(1), getafm(1) +.SH TRADEMARKS +.B PostScript +is a trademark of Adobe Systems Incorporated. diff --git a/Master/texmf-dist/doc/man/man1/fixdlsrps.man1.pdf b/Master/texmf-dist/doc/man/man1/fixdlsrps.man1.pdf Binary files differnew file mode 100644 index 00000000000..9427ce49ff7 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/fixdlsrps.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/fixfmps.1 b/Master/texmf-dist/doc/man/man1/fixfmps.1 new file mode 100644 index 00000000000..1b7bbc060fe --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/fixfmps.1 @@ -0,0 +1,24 @@ +.TH FIXFMPS 1 "PSUtils Release 1 Patchlevel 17" +.SH NAME +fixfmps \- filter to fix Framemaker documents so PSUtils work +.SH SYNOPSIS +.B fixfmps +< +.I Framemaker.ps +> +.I Fixed.ps +.SH DESCRIPTION +.I Fixfmps +is a +.I perl +filter which "fixes" PostScript from Framemaker so +that it works correctly with Angus Duggan's +.B psutils +package. +.SH AUTHOR +Copyright (C) Angus J. C. Duggan 1991-1995 +.SH "SEE ALSO" +epsffit(1), psbook(1), psnup(1), psresize(1), psselect(1), pstops(1), extractres(1), fixdlsrps(1), fixfmps(1), fixpsditps(1), fixpspps(1), fixscribeps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), includeres(1), psmerge(1), getafm(1) +.SH TRADEMARKS +.B PostScript +is a trademark of Adobe Systems Incorporated. diff --git a/Master/texmf-dist/doc/man/man1/fixfmps.man1.pdf b/Master/texmf-dist/doc/man/man1/fixfmps.man1.pdf Binary files differnew file mode 100644 index 00000000000..796096a5669 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/fixfmps.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/fixpsditps.1 b/Master/texmf-dist/doc/man/man1/fixpsditps.1 new file mode 100644 index 00000000000..87df4171ab5 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/fixpsditps.1 @@ -0,0 +1,24 @@ +.TH FIXPSDITPS 1 "PSUtils Release 1 Patchlevel 17" +.SH NAME +fixpsditps \- filter to fix Transcript psdit documents so PSUtils work +.SH SYNOPSIS +.B fixpsditps +< +.I psdit.ps +> +.I Fixed.ps +.SH DESCRIPTION +.I Fixpsditps +is a +.I perl +filter which "fixes" PostScript from Transcript's psdit program so +that it works correctly with Angus Duggan's +.B psutils +package. +.SH AUTHOR +Copyright (C) Angus J. C. Duggan 1991-1995 +.SH "SEE ALSO" +epsffit(1), psbook(1), psnup(1), psresize(1), psselect(1), pstops(1), extractres(1), fixdlsrps(1), fixfmps(1), fixpsditps(1), fixpspps(1), fixscribeps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), includeres(1), psmerge(1), getafm(1) +.SH TRADEMARKS +.B PostScript +is a trademark of Adobe Systems Incorporated. diff --git a/Master/texmf-dist/doc/man/man1/fixpsditps.man1.pdf b/Master/texmf-dist/doc/man/man1/fixpsditps.man1.pdf Binary files differnew file mode 100644 index 00000000000..d38a0f09825 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/fixpsditps.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/fixpspps.1 b/Master/texmf-dist/doc/man/man1/fixpspps.1 new file mode 100644 index 00000000000..7309574b43b --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/fixpspps.1 @@ -0,0 +1,24 @@ +.TH FIXPSPPS 1 "PSUtils Release 1 Patchlevel 17" +.SH NAME +fixpspps \- filter to fix PSPrint PostScript so PSUtils work +.SH SYNOPSIS +.B fixpspps +< +.I PSPrint.ps +> +.I Fixed.ps +.SH DESCRIPTION +.I Fixpspps +is a +.I perl +filter which "fixes" PostScript from PSPrint so +that it works correctly with Angus Duggan's +.B psutils +package. +.SH AUTHOR +Copyright (C) Angus J. C. Duggan 1991-1995 +.SH "SEE ALSO" +epsffit(1), psbook(1), psnup(1), psresize(1), psselect(1), pstops(1), extractres(1), fixdlsrps(1), fixfmps(1), fixpsditps(1), fixpspps(1), fixscribeps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), includeres(1), psmerge(1), getafm(1) +.SH TRADEMARKS +.B PostScript +is a trademark of Adobe Systems Incorporated. diff --git a/Master/texmf-dist/doc/man/man1/fixpspps.man1.pdf b/Master/texmf-dist/doc/man/man1/fixpspps.man1.pdf Binary files differnew file mode 100644 index 00000000000..7995d1c0da6 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/fixpspps.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/fixscribeps.1 b/Master/texmf-dist/doc/man/man1/fixscribeps.1 new file mode 100644 index 00000000000..18c24a56276 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/fixscribeps.1 @@ -0,0 +1,24 @@ +.TH FIXSCRIBEPS 1 "PSUtils Release 1 Patchlevel 17" +.SH NAME +fixscribeps \- filter to fix Scribe documents so PSUtils work +.SH SYNOPSIS +.B fixscribeps +< +.I Scribe.ps +> +.I Fixed.ps +.SH DESCRIPTION +.I Fixscribeps +is a +.I perl +filter which "fixes" PostScript from Scribe so +that it works correctly with Angus Duggan's +.B psutils +package. +.SH AUTHOR +Copyright (C) Angus J. C. Duggan 1991-1995 +.SH "SEE ALSO" +epsffit(1), psbook(1), psnup(1), psresize(1), psselect(1), pstops(1), extractres(1), fixdlsrps(1), fixfmps(1), fixpsditps(1), fixpspps(1), fixscribeps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), includeres(1), psmerge(1), getafm(1) +.SH TRADEMARKS +.B PostScript +is a trademark of Adobe Systems Incorporated. diff --git a/Master/texmf-dist/doc/man/man1/fixscribeps.man1.pdf b/Master/texmf-dist/doc/man/man1/fixscribeps.man1.pdf Binary files differnew file mode 100644 index 00000000000..9177e9d10b8 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/fixscribeps.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/fixtpps.1 b/Master/texmf-dist/doc/man/man1/fixtpps.1 new file mode 100644 index 00000000000..7b3991c7ad4 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/fixtpps.1 @@ -0,0 +1,24 @@ +.TH FIXTPPS 1 "PSUtils Release 1 Patchlevel 17" +.SH NAME +fixtpps \- filter to fix Tpscript documents to work with PSUtils +.SH SYNOPSIS +.B fixtpps +< +.I Tpscript.ps +> +.I Fixed.ps +.SH DESCRIPTION +.I Fixtpps +is a +.I perl +filter which "fixes" PostScript generated from the Troff Tpscript driver so +that it works correctly with Angus Duggan's +.B psutils +package. +.SH AUTHOR +Copyright (C) Angus J. C. Duggan 1991-1995 +.SH "SEE ALSO" +epsffit(1), psbook(1), psnup(1), psresize(1), psselect(1), pstops(1), extractres(1), fixdlsrps(1), fixfmps(1), fixpsditps(1), fixpspps(1), fixscribeps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), includeres(1), psmerge(1), getafm(1) +.SH TRADEMARKS +.B PostScript +is a trademark of Adobe Systems Incorporated. diff --git a/Master/texmf-dist/doc/man/man1/fixtpps.man1.pdf b/Master/texmf-dist/doc/man/man1/fixtpps.man1.pdf Binary files differnew file mode 100644 index 00000000000..665a5e8d4eb --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/fixtpps.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/fixwfwps.1 b/Master/texmf-dist/doc/man/man1/fixwfwps.1 new file mode 100644 index 00000000000..00d147bc39a --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/fixwfwps.1 @@ -0,0 +1,24 @@ +.TH FIXWFWPS 1 "PSUtils Release 1 Patchlevel 17" +.SH NAME +fixwfwps \- filter to fix Word for Windows documents so PSUtils work +.SH SYNOPSIS +.B fixwfwps +< +.I WordforWindows.ps +> +.I Fixed.ps +.SH DESCRIPTION +.I Fixwfwps +is a +.I perl +filter which "fixes" PostScript from Word for Windows so +that it works correctly with Angus Duggan's +.B psutils +package. +.SH AUTHOR +Copyright (C) Angus J. C. Duggan 1991-1995 +.SH "SEE ALSO" +epsffit(1), psbook(1), psnup(1), psresize(1), psselect(1), pstops(1), extractres(1), fixdlsrps(1), fixfmps(1), fixpsditps(1), fixpspps(1), fixscribeps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), includeres(1), psmerge(1), getafm(1) +.SH TRADEMARKS +.B PostScript +is a trademark of Adobe Systems Incorporated. diff --git a/Master/texmf-dist/doc/man/man1/fixwfwps.man1.pdf b/Master/texmf-dist/doc/man/man1/fixwfwps.man1.pdf Binary files differnew file mode 100644 index 00000000000..a8dd34caa73 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/fixwfwps.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/fixwpps.1 b/Master/texmf-dist/doc/man/man1/fixwpps.1 new file mode 100644 index 00000000000..af2e2d87a14 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/fixwpps.1 @@ -0,0 +1,24 @@ +.TH FIXWPPS 1 "PSUtils Release 1 Patchlevel 17" +.SH NAME +fixwpps \- filter to fix WP documents so PSUtils work +.SH SYNOPSIS +.B fixwpps +< +.I WordPerfect.ps +> +.I Fixed.ps +.SH DESCRIPTION +.I Fixwpps +is a +.I perl +filter which "fixes" PostScript from WordPerfect 5.0 and 5.1 so +that it works correctly with Angus Duggan's +.B psutils +package. +.SH AUTHOR +Copyright (C) Angus J. C. Duggan 1991-1995 +.SH "SEE ALSO" +epsffit(1), psbook(1), psnup(1), psresize(1), psselect(1), pstops(1), extractres(1), fixdlsrps(1), fixfmps(1), fixpsditps(1), fixpspps(1), fixscribeps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), includeres(1), psmerge(1), getafm(1) +.SH TRADEMARKS +.B PostScript +is a trademark of Adobe Systems Incorporated. diff --git a/Master/texmf-dist/doc/man/man1/fixwpps.man1.pdf b/Master/texmf-dist/doc/man/man1/fixwpps.man1.pdf Binary files differnew file mode 100644 index 00000000000..f0dd52f8345 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/fixwpps.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/fixwwps.1 b/Master/texmf-dist/doc/man/man1/fixwwps.1 new file mode 100644 index 00000000000..99165c8b4c3 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/fixwwps.1 @@ -0,0 +1,24 @@ +.TH FIXWWPS 1 "PSUtils Release 1 Patchlevel 17" +.SH NAME +fixwwps \- filter to fix Windows Write documents so PSUtils work +.SH SYNOPSIS +.B fixwwps +< +.I WinWrite.ps +> +.I Fixed.ps +.SH DESCRIPTION +.I Fixwwps +is a +.I perl +filter which "fixes" PostScript from Windows Write so +that it works correctly with Angus Duggan's +.B psutils +package. +.SH AUTHOR +Copyright (C) Angus J. C. Duggan 1991-1995 +.SH "SEE ALSO" +epsffit(1), psbook(1), psnup(1), psresize(1), psselect(1), pstops(1), extractres(1), fixdlsrps(1), fixfmps(1), fixpsditps(1), fixpspps(1), fixscribeps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), includeres(1), psmerge(1), getafm(1) +.SH TRADEMARKS +.B PostScript +is a trademark of Adobe Systems Incorporated. diff --git a/Master/texmf-dist/doc/man/man1/fixwwps.man1.pdf b/Master/texmf-dist/doc/man/man1/fixwwps.man1.pdf Binary files differnew file mode 100644 index 00000000000..28ec9338205 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/fixwwps.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/fmtutil-sys.1 b/Master/texmf-dist/doc/man/man1/fmtutil-sys.1 new file mode 100644 index 00000000000..71c6a947903 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/fmtutil-sys.1 @@ -0,0 +1 @@ +.so man1/fmtutil.1 diff --git a/Master/texmf-dist/doc/man/man1/fmtutil-sys.man1.pdf b/Master/texmf-dist/doc/man/man1/fmtutil-sys.man1.pdf Binary files differnew file mode 100644 index 00000000000..a97fcdbfd73 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/fmtutil-sys.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/fmtutil.1 b/Master/texmf-dist/doc/man/man1/fmtutil.1 new file mode 100644 index 00000000000..39ed57bf8b5 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/fmtutil.1 @@ -0,0 +1,113 @@ +.TH FMTUTIL 1 "June 2011" "TeX Live" "TeX Live" +.SH "NAME" +fmtutil \- utility for maintaining TeX format files +.PP +fmtutil-sys \- utility for maintaining TeX format files system\-wide +.SH "SYNOPSIS" +.B fmtutil\fP +.RI [ OPTION .\|.\|.] +.I COMMAND +.PP +.B fmtutil-sys +.RI [ OPTION .\|.\|.] +.I COMMAND +.SH "DESCRIPTION" +\fBfmtutil\fP is used to create or recreate format and hyphenation +files or show information about format files\&. +.PP +\fICOMMAND\fP is one of: +.PP +.TP +.B --all +recreate all format files +.TP +.BI --byengine \ enginename +(re)create formats that depend on the +engine \fIenginename\fP +.TP +.BI --byfmt \ formatname +(re)create the format for +format \fIformatname\fP +.TP +.BI --byhyphen \ hyphenfile +(re)create formats that depend on the +hyphenation file \fIhyphenfile\fP +.TP +.B --catcfg +output the content of the config file +.TP +.BI --disablefmt \ formatname +disable +.I formatname +in config file +.TP +.B --edit +no-op in TeX Live +.TP +.BI --enablefmt \ formatname +ensable +.I formatname +in config file +.TP +.B --help +print a summary of commands and options +.TP +.B --listcfg +list (enabled and disabled) configurations, filtered to available formats +.TP +.B --missing +create all missing format files +.TP +.B --refresh +recreate only existing format files +.TP +.BI --showhyphen \ formatname +print the name of the +hyphenation file for the format +\fIformatname\fP +.TP +.B --version +show version info +.SH "OPTIONS" +.TP +.BI --cnffile \ file +specify the configuration +\fIfile\fP \fBfmtutil\fP should use +.TP +.B --dolinks +(not implemented, just for compatibility) +.TP +.BI --fmtdir \ directory +set the destination +directory for format files generated by +\fBfmtutil\fP to \fIdirectory\fP +.TP +.B --force +(not implemented, just for compatibility) +.TP +.B --no-engine-subdir +don't use engine-specific subdir of the fmtdir +.TP +.B --no-error-if-no-format +exit successfully if no format is selected +.TP +.B --quiet +be silent +.TP +.B --test +(not implemented, just for compatibility) +.SH "FILES" +.TP +.I fmtutil\&.cnf +default configuration file +.SH "SEE ALSO" +.BR kpsewhich (1) +.SH "BUGS" +None known, but report any bugs found to <tex-k@tug.org> (mailing list). +.SH "AUTHOR" +\fBfmtutil\fP was written by Thomas Esser +<te@dbs\&.uni-hannover\&.de> and is in the public domain. +.PP +This manual page was written by C\&.M\&. Connelly +<c@eskimo\&.com>, for +the Debian GNU/Linux system and later slightly adapted for the teTeX 3 release\&. diff --git a/Master/texmf-dist/doc/man/man1/fmtutil.man1.pdf b/Master/texmf-dist/doc/man/man1/fmtutil.man1.pdf Binary files differnew file mode 100644 index 00000000000..f3dfec982d3 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/fmtutil.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/fontinst.1 b/Master/texmf-dist/doc/man/man1/fontinst.1 new file mode 100644 index 00000000000..b907280d90d --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/fontinst.1 @@ -0,0 +1,45 @@ +.TH "fontinst" "1" "May 2000" "teTeX" "teTeX" +.PP +.SH "NAME" +fontinst \- utility to run TeX as fontinst +.PP +.SH "SYNOPSIS" +.PP +\fBfontinst\fP \fIpackage\fP +.PP +.SH "DESCRIPTION" +.PP +\fBfontinst\fP runs \fBtex\fP(1) with the \fB--progname\fP flag set to +pretend to be the program fontinst (affecting Karl Berry paths)\&. +.PP +Typing +.PP +\f(CWfontinst fontinst\&.sty\fP +.PP +will start \fBtex\fP(1) and give the user an interactive prompt +(\f(CW*\fP) where fontinst commands can be typed (such as +\f(CW\elatinfamily{ptm}{}\ebye\fP)\&. +.PP +.SH "SEE ALSO" +.PP +\fBtex\fP(1) +.PP +The fontinst manual, \fIfontinst\&.tex\fP\&. +.PP +Web page: <http://tug\&.org/applications/fontinst/> +.PP +.SH "BUGS" +.PP +None known, but report any bugs found to tex-fonts@tug\&.org (mailing list)\&. +.PP +.SH "AUTHOR" +.PP +Thomas Esser +<te@dbs\&.uni-hannover\&.de> +.PP +This manual page was written by C\&.M\&. Connelly +<c@eskimo\&.com>, for +the Debian GNU/Linux system\&. It may be used by other distributions +without contacting the author\&. Any mistakes or omissions in the +manual page are my fault; inquiries about or corrections to this +manual page should be directed to me (and not to the primary author)\&. diff --git a/Master/texmf-dist/doc/man/man1/fontinst.man1.pdf b/Master/texmf-dist/doc/man/man1/fontinst.man1.pdf Binary files differnew file mode 100644 index 00000000000..358de905ac8 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/fontinst.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/getafm.1 b/Master/texmf-dist/doc/man/man1/getafm.1 new file mode 100644 index 00000000000..fd3e1d78e36 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/getafm.1 @@ -0,0 +1,29 @@ +.TH GETAFM 1 "PSUtils Release 1 Patchlevel 17" +.SH NAME +getafm \- create an AFM file for a PostScript font. +.SH SYNOPSIS +.B getafm +.I FontName +> +.I output.ps +.SH DESCRIPTION +.I Getafm +generates a PostScript file which prints an AFM file for a font to the +printer's output channel. The output of +.I getafm +should be sent to a printer, or to GhostScript. For example, +.sp +.ce +getafm Times-Roman | gsnd - >Times-Roman.afm +.sp +.SH AUTHOR +Robert Joop (rj@rainbow.in-berlin.de), Angus Duggan +.SH "SEE ALSO" +epsffit(1), psbook(1), psnup(1), psresize(1), psselect(1), pstops(1), extractres(1), fixdlsrps(1), fixfmps(1), fixpsditps(1), fixpspps(1), fixscribeps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), includeres(1), psmerge(1), getafm(1) +.SH TRADEMARKS +.B PostScript +is a trademark of Adobe Systems Incorporated. +.SH BUGS +Kerning information is not generated by +.I getafm; +it is best to use original AFM files if possible. diff --git a/Master/texmf-dist/doc/man/man1/getafm.man1.pdf b/Master/texmf-dist/doc/man/man1/getafm.man1.pdf Binary files differnew file mode 100644 index 00000000000..b379c0f1ea5 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/getafm.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/gftodvi.1 b/Master/texmf-dist/doc/man/man1/gftodvi.1 new file mode 100644 index 00000000000..9f6366e1e1f --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/gftodvi.1 @@ -0,0 +1,160 @@ +.TH GFTODVI 1 "20 April 2007" "Web2C 2012" +.\"===================================================================== +.if n .ds MF Metafont +.if t .ds MF M\s-2ETAFONT\s0 +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.el .ds OX TeX for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.\"===================================================================== +.SH NAME +gftodvi \- make proof sheets from generic font files +.SH SYNOPSIS +.B gftodvi +.RB [ \-overflow-label-offset=\fIreal\fP ] +.RB [ \-verbose ] +.I gf_file_name +.\"===================================================================== +.SH DESCRIPTION +This manual page is not meant to be exhaustive. The complete +documentation for this version of \*(TX can be found in the info file +or manual +.IR "Web2C: A TeX implementation" . +.PP +The +.B gftodvi +program converts a generic font +.RI ( gf ) +file output by, for example, +.BR mf (1), +to a device independent (DVI) file (that can then be typeset using the same +software that has already been written for \*(TX). The characters in the +.I gf +file will appear one per page, with labels, titles, and annotations +as specified in Appendix H (Hardcopy Proofs) of +.IR "The \*(MFbook" . +.PP +.B gftodvi +uses other fonts in addition to the main +.I gf +file. +A `gray' font is used to typeset the +pixels that actually make up the character. (We wouldn't +want all the pixels to be simply black, since then labels, +key points, and other information would be lost.) A `title' font +is used for the information at the top of the page. A `label' font +is used for the labels on key points of the figure. A `slant' +font is used to typeset diagonal lines, which +otherwise have to be simulated using horizontal and vertical rules. +The default gray, title, and label fonts are +.IR gray , +.IR cmr8 , +and +.IR cmtt10 , +respectively; there is no default slant font. +.PP +To change the default fonts, you can give +.BR special +commands in your +\*(MF source file, or you can change the fonts online. An online dialog +ensues if you end the +.I gf_file_name +with a `/'. For example, +.br +.ti +2 +gftodvi cmr10.300gf/ +.br +.ti +2 +Special font substitution: grayfont black +.br +.ti +2 +OK; any more? grayfontarea /home/art/don/ +.br +.ti +2 +OK; any more? slantfont /home/fonts/slantimagen6 +.br +.ti +2 +OK; any more? <RET> +.br +will use +.I /home/art/don/black +as the `gray' font and +.I /home/fonts/slantimagen6 +as the `slant' font (this name indicates +a font for lines with slope 1/6 at the resolution of an Imagen printer). +.PP +The +.I gf_file_name +on the command line must be complete. Because +the resolution is part of the extension, it would not make +sense to append a default extension as is done with \*(TX or +DVI-reading software. The output file name uses the same +root as the +.I gf +file, with the +.B .dvi +extension added. For example, the input file +.I cmr10.2602gf +would become +.IR cmr10.dvi . +.\"===================================================================== +.SH OPTIONS +The argument to +.B \-overflow-label-offset +specifies the distance from the right edge of the character +bounding box at which the overflow equations (if any) are typeset. +The value is given in \*(TX points. The default is a little over two +inches. +.PP +Without the +.B \-verbose +option, +.B gftodvi +operates silently. With it, a banner and progress report are printed on +.IR stdout . +.\"===================================================================== +.SH ENVIRONMENT +.B gftodvi +looks for +.I gf_file_name +using the +environment variable GFFONTS. If that is not set, it uses the variable +TEXFONTS. If that is not set, it uses the system default. +.PP +See +.BR tex (1) +for the details of the searching. +.\"===================================================================== +.SH FILES +.TP +.I {gray.tfm,.\|.\|.} +The default fonts. +.TP +.I {gray.mf,.\|.\|.} +The \*(MF sources. +.\"===================================================================== +.SH "SEE ALSO" +.BR tex (1), +.BR mf (1). +.br +Donald E. Knuth, +.I "The \*(MFbook" +(Volume C of +.IR "Computers and Typesetting" ), +Addison-Wesley, 1986, ISBN 0-201-13445-4. +.br +Donald E. Knuth et al., +.IR \*(MFware . +.\"===================================================================== +.SH AUTHORS +Donald E. Knuth wrote the program. It was published as part of the +.I \*(MFware +technical report, available from the \*(TX Users Group. +Paul Richards ported it to Unix. diff --git a/Master/texmf-dist/doc/man/man1/gftodvi.man1.pdf b/Master/texmf-dist/doc/man/man1/gftodvi.man1.pdf Binary files differnew file mode 100644 index 00000000000..a31b530b6a1 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/gftodvi.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/gftopk.1 b/Master/texmf-dist/doc/man/man1/gftopk.1 new file mode 100644 index 00000000000..61777acfb8e --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/gftopk.1 @@ -0,0 +1,99 @@ +.TH GFTOPK 1 "14 December 1993" "Web2C 2012" +.\"===================================================================== +.if n .ds MF Metafont +.if t .ds MF M\s-2ETAFONT\s0 +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.el .ds OX TeX for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.\"===================================================================== +.SH NAME +gftopk \- convert generic font files to packed font files +.SH SYNOPSIS +.B gftopk +.RB [ \-v ] +.I gf_file_name +.RI [ pk_file_name ] +.\"===================================================================== +.SH DESCRIPTION +This manual page is not meant to be exhaustive. The complete +documentation for this version of \*(TX can be found in the info file +or manual +.IR "Web2C: A TeX implementation" . +.PP +The +.B gftopk +program converts a generic font file output by, for example, +.BR mf (1), +to a +packed font file for use by DVI-reading programs. Packed +font files +.RI ( pk " files)" +are much smaller than the corresponding +.I gf +files, +so they are generally the font format of choice. +.PP +The +.I gf_file_name +on the command line must be complete. Because +the resolution is part of the extension, it would not make +sense to append a default extension as is done with \*(TX or +DVI-reading software. The +.I pk_file_name +defaults to the same (stripped) name as +.IR gf_file_name , +and it is placed in the current +working directory with the +.B pk +suffix replacing +.BR gf . +For example, the input file +.I cmr10.300gf +would become +.IR cmr10.300pk . +.\"===================================================================== +.SH OPTIONS +Unless the +.B \-v +switch is given, +.B gftopk +operates silently. With +.BR \-v , +the version number of the program and statistics about the +packing are output to +.IR stdout . +.\"===================================================================== +.SH ENVIRONMENT +.B gftopk +looks for +.I gf_file_name +first in the current directory. If it is not present there, it uses the +environment variable GFFONTS. If that is not set, it uses the variable +TEXFONTS. If that is not set, it uses the system default. +.PP +See +.BR tex (1) +for the details of the searching. +.\"===================================================================== +.SH "SEE ALSO" +.BR gftype (1), +.BR pktogf (1), +.BR pktype (1). +.br +Donald E. Knuth et al., +.IR \*(MFware . +.\"===================================================================== +.SH AUTHORS +Tomas Rokicki wrote the program. It was published as +part of the +.I \*(MFware +technical report, available from the \*(TX Users Group. +Paul Richards originally ported it to Unix. diff --git a/Master/texmf-dist/doc/man/man1/gftopk.man1.pdf b/Master/texmf-dist/doc/man/man1/gftopk.man1.pdf Binary files differnew file mode 100644 index 00000000000..05294ce5a5f --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/gftopk.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/gftype.1 b/Master/texmf-dist/doc/man/man1/gftype.1 new file mode 100644 index 00000000000..383f1b1b7d6 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/gftype.1 @@ -0,0 +1,91 @@ +.TH GFTYPE 1 "14 December 1993" "Web2C 2012" +.\"===================================================================== +.if n .ds MF Metafont +.if t .ds MF M\s-2ETAFONT\s0 +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.el .ds OX TeX for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.\"===================================================================== +.SH NAME +gftype \- translate a generic font file for humans to read +.SH SYNOPSIS +.B gftype +.RB [ \-i ] +.RB [ \-m ] +.I gf_file_name +.RI [ output_file_name ] +.\"===================================================================== +.SH DESCRIPTION +This manual page is not meant to be exhaustive. The complete +documentation for this version of \*(TX can be found in the info file +or manual +.IR "Web2C: A TeX implementation" . +.PP +The +.B gftype +program +translates a +.I gf +(generic font) file output by, for example, +.BR mf (1), +to a file that humans can read. +It also serves as a +.I gf +file-validating +program (i.e., if +.B gftype +can read it, it's correct) and as an example of a +.IR gf -reading +program for other software that wants to read +.I gf +files. +.PP +The +.I gf_file_name +on the command line must be complete. Because +the resolution is part of the extension, it would not make +sense to append a default extension as is done with \*(TX or +DVI-reading software. If no +.I output_file_name +is specified, the output goes to +.IR stdout . +.\"===================================================================== +.SH OPTIONS +The output file includes +bitmap images of the characters, if +.B \-i +is given on the command line, and a symbolic listing of the +.I gf +commands, if +.B \-m +is specified. +.\"===================================================================== +.SH ENVIRONMENT +.B gftype +looks for +.I gf_file_name +using the +environment variable GFFONTS. If that is not set, it uses the variable +TEXFONTS. If that is not set, it uses the system default. +.\"===================================================================== +.SH "SEE ALSO" +.BR dvitype (1), +.BR pktype (1). +.br +Donald E. Knuth et al., +.IR \*(MFware . +.\"===================================================================== +.SH AUTHORS +David Fuchs and Don Knuth wrote the program. It was published as +part of the +.I \*(MFware +technical report, available from the \*(TX Users Group. +Paul Richards originally ported it to Unix. diff --git a/Master/texmf-dist/doc/man/man1/gftype.man1.pdf b/Master/texmf-dist/doc/man/man1/gftype.man1.pdf Binary files differnew file mode 100644 index 00000000000..d9628a4d951 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/gftype.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/gsftopk.1 b/Master/texmf-dist/doc/man/man1/gsftopk.1 new file mode 100644 index 00000000000..cbbafa8e609 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/gsftopk.1 @@ -0,0 +1,301 @@ +.\" Copyright (c) 1993-1998 Paul Vojta +.\" +.\" Permission is hereby granted, free of charge, to any person obtaining a copy +.\" of this software and associated documentation files (the "Software"), to +.\" deal in the Software without restriction, including without limitation the +.\" rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +.\" sell copies of the Software, and to permit persons to whom the Software is +.\" furnished to do so, subject to the following conditions: +.\" +.\" The above copyright notice and this permission notice shall be included in +.\" all copies or substantial portions of the Software. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +.\" PAUL VOJTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +.\" IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +.\" CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +.\" + +.\" small and boldface (not all -man's provide it) +.de SB +\&\fB\s-1\&\\$1 \\$2\s0\fR +.. +.TH GSFTOPK 1 "28 November 1998" +.SH NAME +gsftopk \- render a ghostscript font in TeX pk form +.SH SYNOPSIS +.B gsftopk +[\-i \fIpath\fP] +[\-q] +[\-t] +[\-\-debug=\fIn\fP] +[\-\-dosnames] +[\-\-interpreter=\fIpath\fP] +[\-\-mapline=\fIline\fP] +[\-\-mapfile=\fIfile\fP] +[\-\-quiet] +[\-\-test] +[\-\-help] +[\-\-version] +.I font +.I dpi +.SH ARGUMENTS +.IP \fIfont\fP \w'\fIfont\fP'u+2m +Name of the font to be created. +.IP \fIdpi\fP +Desired resolution of the font to be created, in dots per inch. This may +be a real number. +.SH DESCRIPTION +.B gsftopk +is a program which calls up the ghostscript program +.BR gs (1) +to render a given font at a given resolution. It packs the resulting +characters into the +.B pk +file format and writes them to a file whose name is formed from the font +name and the resolution (rounded to the nearest integer). The font may +be in any format acceptable to Ghostscript, including +.RI . pfa , +.RI . pfb , +.RI . gsf , +and +.RI . ttf +files. +.PP +This program should normally be called by a script, such as +.BR mktexpk , +to create fonts on demand. +.PP +.B gsftopk +obtains the character widths from the +.RI . tfm +file, which must exist in the standard search path. It also must be +able to find the font in a map file (such as +.BR psfonts.map ), +formatted as in +.BR dvips (1)), +unless the +.B \-\-mapline +option is used. The set of map files is given by the +.B \-\-mapfile +option, or in the files +.BR config.ps , +.BR $HOME/.dvipsrc , +and +.B config.gsftopk +(as would be used by +.BR "dvips -Pgsftopk" ). +.PP +The following +.B pk +"specials" are added at the end of the output file, to provide an internal +check on the contents of the file: +"\fBjobname=\fP\fIfont\fP", +"\fBmag=1\fP", +"\fBmode=modeless\fP", and +"\fBpixels_per_inch=\fP\fIdpi\fP". +This is in accordance with the TeX Directory Standard (TDS). +.SH OPTIONS +.TP +.B \-\-debug=\fIn\fP +Set the +.B Kpathsea +debug flags according to the integer +.IR n . +.TP +.B \-\-dosnames +Use a name of the form +.IB font .pk +instead of +.IB font . dpi pk\fR.\fP +.TP +.B \-h\fR,\fP \-\-help +Print a brief help synopsis and exit. +.TP +.B \-i \fIpath\fP\fR,\fP \-\-interpreter=\fIpath\fP +Use +.I path +as the Ghostscript interpreter. +.TP +.B \-\-mapfile=\fIfile\fP +Use +.I file +to look for the map information for +.IR font . +This should be the full name of the file (in other words, no path searching +algorithms are applied). +.TP +.B \-\-mapline=\fIline\fP +Use +.I line +instead of looking for an entry in a map file. +The first word of +.I line +must match +.IR font . +.TP +.B \-q\fR,\fP \-\-quiet +Operate quietly; i.e., without writing any messages to the standard output. +.TP +.B \-t\fR,\fP \-\-test +Test run: return zero status if the font can be found in the map file(s), +and nonzero status if it cannot. If this option is specified, then the +.I dpi +argument is optional (since the font will not be generated). +.TP +.B \-v\fR,\fP \-\-version +Print the version number and exit. +.SH ENVIRONMENT VARIABLES +.IP \fBDVIPSRC\fP \w'\fBGSFTOPKHEADERS\fP'u+2m +Name of file to read instead of +.BR $HOME/.dvipsrc . +This should be the full name of the file (in other words, no path searching +algorithms are applied). +.IP \fBGSFTOPKFONTS\fP +See +.SB TFMFONTS. +.IP \fBGSFTOPKHEADERS\fP +See +.SB TEXPSHEADERS. +.IP \fBPSHEADERS\fP +See +.SB TEXPSHEADERS. +.IP \fBTEXCONFIG\fP +Colon-separated list of paths to search for map files. +An extra colon in the list will include the +compiled-in default paths at that point. A double slash will enable recursive +subdirectory searching at that point in the path. +.IP \fBTFMFONTS\fP +Colon-separated list of paths to search for the +.RI . tfm +file associated with the font. Double slashes and extra colons behave as with +.SB TEXCONFIG. +This information may also be supplied by using the environment variables +.SB TFMFONTS +or +.SB GSFTOPKFONTS. +These environment variables are checked in the order +.SB GSFTOPKFONTS, +.SB TFMFONTS, +.SB TFMFONTS; +the first one (if any) having a value is used. +.IP \fBTEXPSHEADERS\fP +Colon-separated list of paths to search for the Ghostscript driver file +.B render.ps +and for any PostScript header or font files +.RI (. enc , +.RI . pfa , +.RI . pfb , +.RI . gsf , +or +.RI . ttf +files). Double slashes and extra colons behave as with +.SB TEXCONFIG. +This information may also be supplied by using the environment variables +.SB PSHEADERS +or +.SB GSFTOPKHEADERS. +These environment variables are checked in the order +.SB GSFTOPKHEADERS, +.SB TEXPSHEADERS, +.SB PSHEADERS; +the first one (if any) having a value is used. +.IP \fBTFMFONTS\fP +See +.SB TFMFONTS. +.SH CONFIGURATION +In order to determine the set of map files to be used and the path for +finding PostScript files, +.B gsftopk +reads, in order, the files +.BR config.ps , +.BR .dvipsrc , +and +.BR config.gsftopk . +The files +.B config.ps +and +.B config.gsftopk +are searched for using the environment variable +.SB TEXCONFIG, +the +.B Kpathsea +configuration file, +or the compiled-in default paths. The file +.B .dvipsrc +is searched for in the user's home directory. +.PP +These files are in the same format as for +.B dvips +(as well as being in the same locations). The entries used by +.B gsftopk +are as follows. +.TP +.RI "H " path +Indicates that the Ghostscript driver file +.B render.ps +and the PostScript header and font files are to be searched for using +.IR path . +.TP +.RI "p " file +Indicates that the list of map files is to be erased and replaced by +.IR file . +.TP +.RI "p +" file +Indicates that +.I file +is to be added to the list of map files. +.PP +All other entries are ignored. +.PP +This is similar to the handling of these options when running +.BR "dvips -Pgsftopk" . +For more details, see the +.B Kpathsea +manual. +.SH BUGS +.B gsftopk +sometimes has trouble with fonts with very complicated characters +(such as the Seal of the University of California). This is because +.B gsftopk +uses the +.B charpath +operator to determine the bounding box of each character. If the character +is too complicated, then old versions of Ghostscript fail, causing +.B gsftopk +to terminate with an error message +.IP +.B "Call to gs stopped by signal 10" +.LP +(The number may vary from system to system; it corresponds to a bus error +or a segmentation fault.) The best way to fix this bug is to install a +current version of ghostscript. As an alternative, +.B gsftopk +can be instructed to use the bounding box provided with the font (if one +exists) instead of finding a bounding box for each character. To do this, +include the string +.IP +.B /usefontbbox true def +.LP +in the font map file; +.IR e.g. , +.IP +.B ucseal """/usefontbbox true def""" +.LP +This will not affect use of the font by +.BR dvips . +.SH SEE ALSO +.BR gs (1), +.BR gftopk (1), +.BR tex (1), +.BR xdvi (1), +.BR dvips (1) +.SH AUTHOR +Written by Paul Vojta. This program was inspired by Karl Berry's +.BR gsrenderfont . +.SH MODIFICATIONS +Modified by Yves Arrouye to use Karl Berry's +.B Kpathsea +library. diff --git a/Master/texmf-dist/doc/man/man1/gsftopk.man1.pdf b/Master/texmf-dist/doc/man/man1/gsftopk.man1.pdf Binary files differnew file mode 100644 index 00000000000..51ea11f7cc0 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/gsftopk.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/hbf2gf.1 b/Master/texmf-dist/doc/man/man1/hbf2gf.1 new file mode 100644 index 00000000000..55bfddf57fa --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/hbf2gf.1 @@ -0,0 +1,718 @@ +.\" man page for hbf2gf +.\" +.\" Copyright (C) 1994-2012 Werner Lemberg <wl@gnu.org> +.\" +.\" This program is free software; you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation; either version 2 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program in doc/COPYING; if not, write to the Free +.\" Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +.\" MA 02110-1301 USA +.\" +. +.TH HBF2GF 1 07-May-2012 "CJK Version 4.8.3" +.SH NAME +hbf2gf \- convert a CJK bitmap font into subfonts usable by TeX and Omega. +. +. +.SH SYNOPSIS +.na +.nh +.B hbf2gf +.RB [ \-q ] +.IR \%configuration-file [ .cfg ] +.br +.B hbf2gf +'in +\n(.ku +.RB [ \-q ] +.RB [ \-p ] +.RB [ \-g ] +.RB [ \-n ] +.I \%subfont-name \%x-resolution +.RI [ \%y-scale \ | \ \%y-resolution ] +.br +.in +.B hbf2gf +.B \-t +.RB [ \-q ] +.I \%subfont-name +.br +.B "hbf2gf \-\-version" +| +.B \-\-help +.ad +.hy +. +. +. +.\" ==== +.\" ==== macro definitions +.\" ==== +. +.\" here we define \TeX for troff and nroff +.if t .ds TX \fRT\h'-0.1667m'\v'0.20v'E\v'-0.20v'\h'-0.125m'X\fP +.if n .ds TX TeX +. +.\" and here the same for \LaTeX +.if t \{\ +.ie '\*(.T'dvi' \ +.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX +.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX +.\} +.if n .ds LX LaTeX +. +.\" \LaTeXe +.\" note that we need \vareps for TeX instead of \eps which can only be +.\" accessed with the \N escape sequence (in the Math Italic font) +.if t \{\ +.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v' +.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v' +.\} +.if n .ds LE LaTeX\ 2e +. +.\" a definition for \Delta +.if t .ds DE \(*D +.if n .ds DE Delta_ +. +.\" a typewriter font +.if t \{\ +.de C +\fC\\$1\fP\\$2 +.. +.\} +.if n \{\ +.de C +\\$1\\$2 +.. +.\} +. +.\" an addition to .TP to allow two labels for the same item +.de TQ +.br +.ns +.TP +.. +. +.\" ==== +.\" ==== end of macro definitions +.\" ==== +. +. +. +.SH DESCRIPTION +CJK bitmap fonts can't be directly used with \*(TX +because the number of characters in such fonts exceeds\ 256, the limit of a +\*(TX +font. +Thus it is necessary to split these fonts into subfonts, and this is +exactly what +.B hbf2gf +does. +.PP +As the name says, +.B hbf2gf +uses CJK fonts in a certain format which is called +.B Hanzi Bitmap Font +.RB ( HBF ) +format. +It simply consists of the CJK bitmap file(s) and a text file in a format +very similar to the BDF format of the X\ Window System which describes the +bitmap font files: the encoding, the size, etc. +The produced +.C GF +files can then be converted with +.B gftopk +into standard +.C PK +files. +.PP +.B hbf2gf +can be called in three modes: +. +.PP +.in +2m +.B hbf2gf +.RB [ \-q ] +.IR configuration-file [ .cfg ] +.PP +.in +5m +This call normally creates a set of +.C GF +files, one +.C PL +file, and a batch file which must be executed after +.B hbf2gf +has finished. +This script will then call +.B gftopk +to convert all +.C GF +files into +.C PK +files, and it will call +.B pltotf +to convert the +.C PL +file into a +.C TFM +file. +Finally it will copy the +.C TFM +file so that each +.C PK +file has its +.C TFM +file (which are all identical). +.PP +.in +5m +If +.B ofm_file +is set to \(oqyes\(cq in the configuration file, +.C OFM +and +.C OVF +files will be created too. +. +.PP +.in +5m +.B \-q +makes +.B hbf2gf +quiet. +.PP +.in +2m +.na +.nh +.B hbf2gf +'in +\n(.ku +.RB [ \-q ] +.RB [ \-p ] +.RB [ \-g ] +.RB [ \-n ] +.I \%subfont-name \%x-resolution +.RI [ \%y-scale \ | \ \%y-resolution ] +.ad +.hy +.PP +.in +5m +This mode is intended for use with +.B \%mktexpk +and its derivates. +Only one +.C GF +file together with a +.C PL +file for the given subfont will be computed, taking the horizontal +resolution and a vertical scaling factor (if the value is smaller than\ 10) +resp. the vertical resolution (otherwise) from the command line, ignoring +the +.B nmb_fonts +parameter of the configuration file. +The last two characters (which are interpreted as the subfont number) are +stripped to get the name for the configuration file (which must end with +\(oq\c +.C \&.cfg \(cq). +No job file will be created. +If option +.B \-p +is set, no +.C PL +file is created. +If +.B \-g +is set, no +.C GF +file is created. +The extension can be controlled with +.BR \-n ; +if set, the extension is \(oq\c +.C \&.gf \(cq, +otherwise \(oq\c +.C \&. <\c +.IR resolution >\c +.C gf \(cq. +.B \-q +makes +.B hbf2gf +quiet. +. +.PP +.in +2m +.na +.nh +.B hbf2gf +'in +\n(.ku +.B \-t +.RB [ \-q ] +.I \%subfont-name +.ad +.hy +.PP +.in +5m +This mode is intended for use with scripts like +.BR \%mktexpk ; +it tests whether the specified subfont name leads to an +.B hbf2gf +configuration file. +It returns 0 on success and prints out the name of that configuration file +(provided the +.B \-q +switch isn't set). +This test isn't a thorough one; it only removes the last two characters +and checks whether a configuration file with that name exists. +.PP +See the next section for more details about configuration files. +.PP +Specifying the option +.B \-\-version +returns the current version of +.B hbf2gf +and the used file search library (e.g.\ \c +.BR kpathsea ). +Usage information is shown with the +.B \-\-help +parameter. +. +. +.SH "CONFIGURATION FILE" +Here a sample configuration file (\c +.C gsfs14.cfg ) +for a 56\(mu56 Chinese font in GB encoding; note that all information +about the font is in the +.C jfs56.hbf +file. +See the +.B "FILE SEARCHING" +section how HBF fonts and +.B hbf2gf +configuration files are found. +See the +.B AVAILABILITY +section where to get CJK fonts together with its +.C HBF +files: +.PP +.if t \fC +.nf + hbf_header jfs56.hbf + mag_x 1 + threshold 128 + comment jianti fansongti 56x56 pixel font + + design_size 14.4 + + y_offset \-13 + + nmb_files \-1 + + output_name gsfs14 + + checksum 123456789 + + dpi_x 300 + + pk_files no + tfm_files yes + + coding codingscheme GuoBiao encoded TeX text + + pk_directory $HBF_TARGET/pk/modeless/gb2312/gsfs14/ + tfm_directory $HBF_TARGET/tfm/gb2312/gsfs14/ +.fi +.if t \fP +.PP +A configuration file is a plain text file consisting of keywords and its +arguments. +A keyword must start a line, otherwise the whole line will be ignored. +If the word starting a line is not a keyword, the line will be ignored too. +Empty lines will also be skipped. +The search for keywords is case insensitive; in contrast, the arguments will +be taken exactly as given (except \(oqyes\(cq and \(oqno\(cq which can be written with +uppercase or lowercase letters). +Each keyword has one argument which must be separated by whitespace (blanks +or tabs) from the keyword and must be on the same line. +Each line must not be longer than 256 characters. +.PP +You can use environment variables in the configuration file. +The escape character starting an environment variable in the configuration +file is always \(oq\c +.C $ \(cq, +even for operating systems like DOS which has other conventions. +.B hbf2gf +recognizes only environment variable names which start with a letter or an +underscore, followed by alphanumeric characters or underscores. +You can surround the variable with braces to indicate where the variable +name ends, for example +.C ${FOO} . +To get a dollar sign you must write \(oq\c +.C $$ \(cq. +The expansion of environment variables in hbf2gf itself (without the help of +either kpathsea, emtexdir, or MiKTeX searching routines) is very limited; +this feature has been carried over from previous versions. +It can't expand variables set in texmf.cnf; it also can't handle more than +one directory as the variable's value. +.B Don't use it except for the \(oqpk_directory\(cq and \(oqtfm_directory\(cq +.B parameters! +.PP +This is the list of all necessary keywords: +.TP +.B hbf_header +The HBF header file name of the input font(s). +.B hbf2gf +uses the given searching mechanism (kpathsea, emtexdir, or MiKTeX) to locate +this file. +.TP +.B output_name +The name stem of the output files. +A running two digit decimal number starting with \(oq\c +.C 01 \(cq +will be appended. +For Unicode fonts see the keyword +.B unicode +below. +This value is in almost all cases identical to the name of the configuration +file. +.PP +And now all optional keywords: +.TP +.B x_offset +Increases the character width. +Will be applied on both sides; default for non-rotated glyphs is the value +given in the HBF header +.RB ( HBF_BITMAP_BOUNDING_BOX ) +scaled to +.B design_size +(in pixels). +.TP +.B y_offset +Shifts all characters up or down; default for non-rotated glyphs is the value +given in the HBF header +.RB ( HBF_BITMAP_BOUNDING_BOX ) +scaled to +.B design_size +(in pixels). +.TP +.B design_size +The design size (in points) of the font. +.B x_offset +and +.B y_offset +refer to this size. +Default is\ 10.0. +.TP +.B slant +The slant of the font (given as \*(DEx\ /\ \*(DEy). +Only values in the range 0\ \(<=\ \fBslant\fP\ \(<=\ 1 are allowed. +Default is\ 0.0. +.TP +.B rotation +If set to \(oqyes\(cq, all glyphs will be rotated 90\ degrees counter-clockwise. +The default offsets as given in the HBF header will be ignored (and set +to\ 0). +Default is \(oqno\(cq. +.TP +.B mag_x +.TQ +.B mag_y +Scaling values of the characters to reach design size. +If only one magnification is given, x and y values are assumed to be equal. +Default is \fBmag_x\fP\ =\ \fBmag_y\fP\ =\ 1.0. +.PP +.TP +.B threshold +A value between 1 and\ 254 defining a threshold for converting the internal +graymap into the output bitmap; lower values cut more pixels. +Default value is\ 128. +.PP +.TP +.B comment +A comment describing the font; default is none. +.PP +.TP +.B nmb_fonts +The number of subfonts to create. +Default value is \-1 for creating all fonts. +.TP +.B unicode +If \(oqyes\(cq, a two digit hexadecimal number will be used as a running number, +starting with the value of the first byte of the first code range. +Default is \(oqno\(cq. +.TP +.B min_char +The minimum value of the encoding. +You should set this value to get correct subfile offsets if it is not +identical to the lowest character code in the HBF file. +.PP +.TP +.B dpi_x +.TQ +.B dpi_y +The horizontal and vertical resolution (in dpi) of the printer. +If only one resolution is given, x and y values are assumed to be equal. +Default is\ 300. +.TP +.B checksum +A checksum to identify the +.C GF +files with the appropriate +.C TFM +files. +The default value of this unsigned 32bit integer is\ 0. +.TP +.B coding +A comment describing the coding scheme; default is none. +.PP +.TP +.B pk_directory +The destination directory of the +.C PK +files; default: none. +Attention! +The batch file will not check whether this directory exists. +.TP +.B tfm_directory +The destination directory of the +.C TFM +files; default: none. +Attention! +The batch file will not check whether this directory exists. +.TP +.B pk_files +Whether to create +.C PK +files or not; default is \(oqyes\(cq. +.TP +.B tfm_files +Whether to create +.C TFM +files or not; default is \(oqyes\(cq. +.TP +.B ofm_file +Whether to create an +.C OPL +file or not; default is \(oqno\(cq. +The batch file will then use +.B ovp2ovf +of the Omega distribution to convert it into an +.C OFM +and an +.C OVF +file. +The +.C OPL +file simply maps all subfonts back to a single Omega font. +.TP +.B long_extension +If \(oqyes\(cq, +.C PK +files will include the resolution in the extension (e.g. +.C gsso1201.300pk ). +This affects the batch file only (default is \(oqyes\(cq). +.TP +.B rm_command +The shell command to remove files; default: \(oqrm\(cq. +.TP +.B cp_command +The shell command to copy files; default: \(oqcp\(cq. +.TP +.B job_extension +The extension of the batch file which calls +.B gftopk +and +.B pltotf +to convert the +.C GF +and the +.C PL +files into +.C PK +and +.C TFM +files respectively; default is none. +. +. +.SH "FILE SEARCHING" +.B hbf2gf +uses either the +.BR kpathsea , +.BR emtexdir , +or +.B MiKTeX +library for searching files +.RB ( emtexdir +will work only on operating systems which have an MS-DOSish background, +i.e., MS-DOS, OS/2, Windows; +.B MiKTeX +is for Win32 systems). +. +.SS kpathsea +The actual version of kpathsea is displayed on screen if you call +.B hbf2gf +.BR \-\-version . +.PP +Here is a table of the file type and the corresponding +.B kpathsea +variables. +.PP +.in +4m +.ta 2i +.br +.C "\&.hbf MISCFONTS" +.br +.C "\&.cfg HBF2GFINPUTS" +.PP +Please consult the info files of +.B kpathsea +for details on these variables. +The decision which naming scheme to use for variables will be done during +compilation. +.PP +You should set the +.C TEXMFCNF +variable to the directory where your +.C texmf.cnf +configuration file resides. +.PP +Here is the proper command to find out to which value a +.B kpathsea +variable is set (we use +.C MISCFONTS +as an example). +This is especially useful if a variable isn't set in +.C texmf.cnf +or in the environment, thus pointing to the default value which is +hard-coded into the +.B kpathsea +library. +.PP +.in +2m +.C "kpsewhich \-progname=hbf2gf \-expand\-var='$MISCFONTS'" +.PP +We select the program name also since it is possible to specify +variables which are searched only for a certain program \(en in our +example it would be +.C MISCFONTS.hbf2gf . +.PP +A similar but not identical method is to say +.PP +.in +2m +.C "kpsewhich \-progname=hbf2gf \-show\-path='misc fonts'" +.PP +[A full list of format types can be obtained by saying \(oq\c +.C "kpsewhich \-\-help" \(cq +on the command line prompt.] +This is exactly how +.B hbf2gf +searches for files; the disadvantage is that all variables are expanded +which can cause very long strings. +. +.SS emtexdir +.PP +Here the list of suffixes and its related environment variables to be set in +.C autoexec.bat +(resp. in +.C config.sys +for OS/2): +.PP +.in +4m +.ta 2i +.br +.C "\&.hbf HBFONTS" +.br +.C "\&.cfg HBFCFG" +.PP +If one of the variables isn't set, a warning message is emitted. +The current directory will always be searched. +As usual, one exclamation mark appended to a directory path causes +subdirectories one level deep to be searched, two exclamation marks causes +all subdirectories to be searched. +Example: +.PP +.in +2m +.C HBFONTS=c:\\\\fonts\\\\hbf!!;d:\\\\myfonts\\\\hbf! +.PP +Constructions like \(oq\c +.C c:\\\\fonts!!\\\\hbf \(cq +aren't possible. +. +.SS MikTeX +.PP +Please consult the documentation files of +.B MiKTeX +for more details. +. +. +.SH LIMITATIONS +The x and y output size must not exceed +.BR MAX_CHAR_SIZE , +which is defined at compile time; its default value is 1023\ (pixel). +. +. +.SH "SEE ALSO" +.BR ttf2pk (1) +.PP +.C hbf2gf.w : +'in +\n(.ku +this is the source code written in +.B CWEB +which can be converted into a pretty-printed \*(TX +document using +.BR cweave . +The CJK package also contains a preformatted +.C hbf2gf.pdf +file. +.PP +the +.B CJK +documentation files (\c +.C hbf2gf.txt ). +.PP +the +.B Hanzi Bitmap File +.RB ( HBF ) +standard version\ 1.3; available at +.C \%ftp.ifcss.org . +.PP +the Omega documentation available at +.C ftp.ens.fr +and the CTAN hosts and mirrors. +. +. +.SH FILES +.TP +.C *.cfg +The +.B hbf2gf +configuration scripts. +.TP +.C *.hbf +HBF header files which describe fixed-width bitmap fonts. +Note that the bitmap font name(s) themselves as specified in the header files +are irrelevant for +.BR hbf2gf . +. +. +.SH AVAILABILITY +.B hbf2gf +is part of the CJK macro package for \*(LE +available at the CTAN hosts and its mirrors. +.PP +CJK fonts together with HBF header files can be found at +.C ftp.ifcss.org +and its mirrors. +. +. +.SH AUTHORS +Werner Lemberg +.C <wl@gnu.org> +.br +Ross Paterson (the HBF API) +.C <ross@soi.city.ac.uk> diff --git a/Master/texmf-dist/doc/man/man1/hbf2gf.man1.pdf b/Master/texmf-dist/doc/man/man1/hbf2gf.man1.pdf Binary files differnew file mode 100644 index 00000000000..f5fca2e9233 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/hbf2gf.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/includeres.1 b/Master/texmf-dist/doc/man/man1/includeres.1 new file mode 100644 index 00000000000..e157716df36 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/includeres.1 @@ -0,0 +1,40 @@ +.TH INCLUDERES 1 "PSUtils Release 1 Patchlevel 17" +.SH NAME +includeres \- filter to include resources in a PostScript document +.SH SYNOPSIS +.B includeres +< +.I document.ps +> +.I output.ps +.SH DESCRIPTION +.I Includeres +includes resources (fonts, procsets, patterns, files, etc) in place of +.I %%IncludeResource +comments in a PostScript document. The resources are searched for in the +current directory and the system default directory under the resource name, +and with an appropriate extension. +The pipeline +.sp +.ce +extractres file.ps | includeres >out.ps +.sp +will move all resources appearing in a document to the document prologue, +removing redundant copies. The output file can then be put through page +re-arrangement filters such as +.I psnup +or +.I pstops +safely. +.SH AUTHOR +Copyright (C) Angus J. C. Duggan 1991-1995 +.SH "SEE ALSO" +epsffit(1), psbook(1), psnup(1), psresize(1), psselect(1), pstops(1), extractres(1), fixdlsrps(1), fixfmps(1), fixpsditps(1), fixpspps(1), fixscribeps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), includeres(1), psmerge(1), getafm(1) +.SH TRADEMARKS +.B PostScript +is a trademark of Adobe Systems Incorporated. +.SH BUGS +.I includeres +does not alter the +.I %%DocumentNeededResources +comments. diff --git a/Master/texmf-dist/doc/man/man1/includeres.man1.pdf b/Master/texmf-dist/doc/man/man1/includeres.man1.pdf Binary files differnew file mode 100644 index 00000000000..a3a2d561da5 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/includeres.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/install-tl.1 b/Master/texmf-dist/doc/man/man1/install-tl.1 new file mode 100644 index 00000000000..44cd5a8e78c --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/install-tl.1 @@ -0,0 +1,434 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "INSTALL-TL 1" +.TH INSTALL-TL 1 "2012-10-31" "perl v5.16.2" "User Contributed Perl Documentation" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +install\-tl \- TeX Live cross\-platform installer +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +install-tl [\fIoption\fR]... +.PP +install\-tl.bat [\fIoption\fR]... +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +This installer creates a runnable TeX Live installation from various +media, including over the network. The installer works across all +platforms supported by TeX Live. For information on initially +downloading the TeX Live, see <http://tug.org/texlive/acquire.html>. +.PP +The basic idea of TeX Live installation is to choose one of the +top-level \fIschemes\fR, each of which is defined as a different set of +\&\fIcollections\fR and \fIpackages\fR, where a collection is a set of packages, +and a package is what contains actual files. +.PP +Within the installer, you can choose a scheme, and further customize the +set of collections to install, but not the set of the packages. To do +that, use \f(CW\*(C`tlmgr\*(C'\fR (reference below) after the initial installation is +completely. +.PP +The default is \f(CW\*(C`scheme\-full\*(C'\fR, to install everything, and this is highly +recommended. +.SH "REFERENCES" +.IX Header "REFERENCES" +Post-installation configuration, package updates, and much more, are +handled through \fBtlmgr\fR(1), the TeX Live Manager +(<http://tug.org/texlive/tlmgr.html>). +.PP +The most up-to-date version of this documentation is on the Internet at +http://tug.org/texlive/doc/install\-tl.html <http://tug.org/texlive/doc/install-tl.html>. +.PP +For the full documentation of TeX Live, see +<http://tug.org/texlive/doc>. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-gui\fR [[=]\fImodule\fR]" 4 +.IX Item "-gui [[=]module]" +If no \fImodule\fR is given starts the \f(CW\*(C`perltk\*(C'\fR (see below) \s-1GUI\s0 installer. +.Sp +If \fImodule\fR is given loads the given installer module. Currently the +following modules are supported: +.RS 4 +.ie n .IP """text""" 8 +.el .IP "\f(CWtext\fR" 8 +.IX Item "text" +The text mode user interface (default on Unix systems). Same as the +\&\f(CW\*(C`\-no\-gui\*(C'\fR option. +.ie n .IP """wizard""" 8 +.el .IP "\f(CWwizard\fR" 8 +.IX Item "wizard" +The wizard mode user interface (default on Windows), asking only minimal +questions before installing all of TeX Live. +.ie n .IP """perltk""" 8 +.el .IP "\f(CWperltk\fR" 8 +.IX Item "perltk" +The expert \s-1GUI\s0 installer, providing access to more options. +Can also be invoked on Windows by running \f(CW\*(C`install\-tl\-advanced.bat\*(C'\fR. +.RE +.RS 4 +.Sp +The \f(CW\*(C`perltk\*(C'\fR and \f(CW\*(C`wizard\*(C'\fR modules, and thus also when calling with a +bare \f(CW\*(C`\-gui\*(C'\fR (without \fImodule\fR), requires the Perl/Tk module +(<http://tug.org/texlive/distro.html#perltk>); if Perl/Tk is not +available, installation continues in text mode. +.RE +.IP "\fB\-no\-gui\fR" 4 +.IX Item "-no-gui" +Use the text mode installer (default except on Windows). +.IP "\fB\-lang\fR \fIllcode\fR" 4 +.IX Item "-lang llcode" +By default, the \s-1GUI\s0 tries to deduce your language from the environment +(on Windows via the registry, on Unix via \f(CW\*(C`LC_MESSAGES\*(C'\fR). If that fails +you can select a different language by giving this option with a +language code (based on \s-1ISO\s0 639\-1). Currently supported (but not +necessarily completely translated) are: English (en, default), Czech +(cs), German (de), French (fr), Italian (it), Japanese (ja), Dutch (nl), +Polish (pl), Brazilian Portuguese (pt_BR), Russian (ru), Slovak (sk), +Slovenian (sl), Serbian (sr), Vietnamese (vi), simplified Chinese +(zh_CN), and traditional Chinese (zh_TW). +.IP "\fB\-repository\fR \fIurl|path\fR" 4 +.IX Item "-repository url|path" +Specify the package repository to be used as the source of the +installation, either a local directory via \f(CW\*(C`/path/to/directory\*(C'\fR or a +\&\f(CW\*(C`file:/\*(C'\fR url, or a network location via a \f(CW\*(C`http://\*(C'\fR or \f(CW\*(C`ftp://\*(C'\fR url. +(No other protocols are supported.) +.Sp +The default is to pick a mirror automatically, using +<http://mirror.ctan.org/systems/texlive/tlnet>; the chosen mirror is +used for the entire download. You can use the special argument \f(CW\*(C`ctan\*(C'\fR +as an abbreviation for this. See <http://ctan.org> for more about \s-1CTAN\s0 +and its mirrors. +.Sp +If the repository is on the network, trailing \f(CW\*(C`/\*(C'\fR characters and/or +trailing \f(CW\*(C`/tlpkg\*(C'\fR and \f(CW\*(C`/archive\*(C'\fR components are ignored. For example, +you could choose a particular \s-1CTAN\s0 mirror with something like this: +.Sp +.Vb 1 +\& \-repository http://ctan.example.org/its/ctan/dir/systems/texlive/tlnet +.Ve +.Sp +Of course a real hostname and its particular top-level \s-1CTAN\s0 path +have to be specified. The list of \s-1CTAN\s0 mirrors is available at +<http://ctan.org/mirrors>. +.Sp +If the repository is local, the installation type (compressed or live) is +automatically determined, by checking for the presence of a +\&\f(CW\*(C`archive\*(C'\fR directory relative to the root. Compressed is +preferred if both are available, since it is faster. Here's an example +of using a local directory: +.Sp +.Vb 1 +\& \-repository /local/TL/repository +.Ve +.Sp +After installation is complete, you can use that installation as the +repository for another installation. If you chose to install less than +the full scheme containing all packages, the list of available schemes +will be adjusted accordingly. +.Sp +For backward compatibility and convenience, \f(CW\*(C`\-\-location\*(C'\fR and \f(CW\*(C`\-\-repo\*(C'\fR +are accepted as aliases for this option. +.IP "\fB\-select\-repository\fR" 4 +.IX Item "-select-repository" +This option allows manual selection of a mirror from the current list of +active \s-1CTAN\s0 mirrors. This option is supported in all installer modes +(text, wizard, perltk), and will also offer to install from local media +if available, or from a repository specified on the command line (see +above). It's useful when the (default) automatic redirection does not +choose a good host for you. +.IP "\fB\-all\-options\fR" 4 +.IX Item "-all-options" +Normally options not regarding the current platform are not shown. +Giving this cmd line option allows to configure settings in the +final tlpdb that do not have any immediate effect. +.IP "\fB\-custom\-bin\fR \fIpath\fR" 4 +.IX Item "-custom-bin path" +If you have built your own binaries for your system (probably because +your platform was not supported by TeX Live out of the box), this option +allows you to give the \fIpath\fR to a directory where the binaries for the +current system are present. The installation will continue as usual, but +at the end all files from \fIpath\fR are copied over to \f(CW\*(C`bin/custom\*(C'\fR in +your installation folder and this directory will be added to the path +for the post-install actions. +.IP "\fB\-debug\-translation\fR" 4 +.IX Item "-debug-translation" +In \s-1GUI\s0 mode, this switch makes \f(CW\*(C`tlmgr\*(C'\fR report any missing, or more +likely untranslated, messages to standard error. Helpful for +translators to see what remains to be done. +.IP "\fB\-\-help\fR, \fB\-help\fR, \fB\-?\fR" 4 +.IX Item "--help, -help, -?" +Display this help and exit. +.IP "\fB\-logfile\fR \fIfile\fR" 4 +.IX Item "-logfile file" +Write both all messages (informational, debugging, warnings) to \fIfile\fR, +in addition to standard output or standard error. +.Sp +If this option is not given, the installer will create a log file +in the root of the writable installation tree, +for example, \f(CW\*(C`/usr/local/texlive/YYYY/install\-tl.log\*(C'\fR for the \fI\s-1YYYY\s0\fR +release. +.IP "\fB\-force\-platform\fR \fIplatform\fR" 4 +.IX Item "-force-platform platform" +Instead of auto-detecting the current platform, use \fIplatform\fR. +Binaries for this platform must be present and they must actually be +runnable, or installation will fail. \f(CW\*(C`\-force\-arch\*(C'\fR is a synonym. +.IP "\fB\-no\-cls\fR" 4 +.IX Item "-no-cls" +(only for text mode installer) do not clear the screen when entering +a new menu (for debugging purposes). +.IP "\fB\-non\-admin\fR" 4 +.IX Item "-non-admin" +For Windows only: configure for the current user, not for all users. +.IP "\fB\-\-persistent\-downloads\fR" 4 +.IX Item "--persistent-downloads" +.PD 0 +.IP "\fB\-\-no\-persistent\-downloads\fR" 4 +.IX Item "--no-persistent-downloads" +.PD +For net installs, activating this option makes the installer try to set up a +persistent connection using the Net::LWP Perl module. +This opens only one connection between your computer and the server +per session and reuses it, instead of initiating a new download for +each package. +.Sp +This option is turned on by default, and the installation program will +fall back to using \f(CW\*(C`wget\*(C'\fR if this is not possible. To disable usage of +\&\s-1LWP\s0 and persistent connections, use \f(CW\*(C`\-\-no\-persistent\-downloads\*(C'\fR. +.IP "\fB\-portable\fR" 4 +.IX Item "-portable" +Install for portable use on e.g. a \s-1USB\s0 stick. Also selectable from +within the perltk\- and text installers. +.IP "\fB\-in\-place\fR" 4 +.IX Item "-in-place" +This is a quick-and-dirty installation option in case you already +have an rsync\- or svn checkout of TeX Live. It will use the checkout +as-is and will just do the necessary post-install. Be warned that +the file tlpkg/texlive.tlpdb may be rewritten, that removal has +to be done manually, and that the only realistic way to maintain +this installation is to redo it from time to time. This option is +not available via the installer interface. \s-1USE\s0 \s-1AT\s0 \s-1YOUR\s0 \s-1OWN\s0 \s-1RISK\s0. +.IP "\fB\-print\-platform\fR" 4 +.IX Item "-print-platform" +Print the TeX Live identifier for the detected platform +(hardware/operating system) combination to standard output, and exit. +\&\f(CW\*(C`\-print\-arch\*(C'\fR is a synonym. +.IP "\fB\-profile\fR \fIprofile\fR" 4 +.IX Item "-profile profile" +Load the file \fIprofile\fR and do the installation with no user +interaction, that is, a batch (unattended) install. +.Sp +A \fIprofile\fR file contains all the values needed to perform an +installation. After a normal installation has finished, a profile for +that exact installation is written to the file +DEST/tlpkg/texlive.profile. That file can be given as the argument to +\&\f(CW\*(C`\-profile\*(C'\fR to redo the exact same installation on a different system, +for example. Alternatively, you can use a custom profile, most easily +created by starting from a generated one and changing values, or an +empty file, which will take all the defaults. +.Sp +Normally a profile has to specify the value \f(CW1\fR for each collection to +be installed, even if the scheme is specified. This follows from the +logic of the installer in that you can first select a scheme and then +change the collections being installed. But there is one exception to +this, for convenience: If the profile contains a variable for +\&\f(CW\*(C`selected_scheme\*(C'\fR and \fIno\fR collection variables are defined in the +profile at all, then the collections which the specified scheme requires +are installed. +.Sp +Thus, a line \f(CW\*(C`selected_scheme scheme\-medium\*(C'\fR together with the +definitions of the installation directories (\f(CW\*(C`TEXDIR\*(C'\fR, \f(CW\*(C`TEXMFHOME\*(C'\fR, +\&\f(CW\*(C`TEXMFLOCAL\*(C'\fR, \f(CW\*(C`TEXMFSYSCONFIG\*(C'\fR, \f(CW\*(C`TEXMFSYSVAR\*(C'\fR) suffices to install +the medium scheme with all default options. +.IP "\fB\-q\fR" 4 +.IX Item "-q" +Omit normal informational messages. +.IP "\fB\-scheme\fR \fIscheme\fR" 4 +.IX Item "-scheme scheme" +Schemes are the highest level of package grouping in TeX Live; the +default is to use the \f(CW\*(C`full\*(C'\fR scheme, which includes everything. This +option overrides that default. You can change the scheme again before +the actual installation with the usual menu. The \fIscheme\fR argument may +optionally have a prefix \f(CW\*(C`scheme\-\*(C'\fR. The list of supported scheme names +depends on what your package repository provides; see the interactive +menu list. +.IP "\fB\-v\fR" 4 +.IX Item "-v" +Include debugging messages; repeat for maximum debugging, as in \f(CW\*(C`\-v +\&\-v\*(C'\fR. (Further repeats are accepted but ignored.) +.IP "\fB\-\-version\fR, \fB\-version\fR" 4 +.IX Item "--version, -version" +Output version information and exit. +If \f(CW\*(C`\-v\*(C'\fR has been given the revisions of the used modules are reported, too. +.PP +As usual, all options can be specified with either \f(CW\*(C`\-\*(C'\fR or \f(CW\*(C`\-\-\*(C'\fR, and +arguments can be separated from their options by either a space or \f(CW\*(C`=\*(C'\fR. +.SH "ENVIRONMENT VARIABLES" +.IX Header "ENVIRONMENT VARIABLES" +For ease in scripting and debugging, \f(CW\*(C`install\-tl\*(C'\fR will look for the +following environment variables. They are not of interest in normal +user installations. +.ie n .IP """TEXLIVE_INSTALL_ENV_NOCHECK""" 4 +.el .IP "\f(CWTEXLIVE_INSTALL_ENV_NOCHECK\fR" 4 +.IX Item "TEXLIVE_INSTALL_ENV_NOCHECK" +Omit the check for environment variables containing the string \f(CW\*(C`tex\*(C'\fR. +People developing TeX-related software are likely to have many such +variables. +.ie n .IP """TEXLIVE_INSTALL_NO_CONTEXT_CACHE""" 4 +.el .IP "\f(CWTEXLIVE_INSTALL_NO_CONTEXT_CACHE\fR" 4 +.IX Item "TEXLIVE_INSTALL_NO_CONTEXT_CACHE" +Omit creating the ConTeXt cache. This is useful for redistributors. +.ie n .IP """TEXLIVE_INSTALL_PREFIX""" 4 +.el .IP "\f(CWTEXLIVE_INSTALL_PREFIX\fR" 4 +.IX Item "TEXLIVE_INSTALL_PREFIX" +.PD 0 +.ie n .IP """TEXLIVE_INSTALL_TEXMFCONFIG""" 4 +.el .IP "\f(CWTEXLIVE_INSTALL_TEXMFCONFIG\fR" 4 +.IX Item "TEXLIVE_INSTALL_TEXMFCONFIG" +.ie n .IP """TEXLIVE_INSTALL_TEXMFHOME""" 4 +.el .IP "\f(CWTEXLIVE_INSTALL_TEXMFHOME\fR" 4 +.IX Item "TEXLIVE_INSTALL_TEXMFHOME" +.ie n .IP """TEXLIVE_INSTALL_TEXMFLOCAL""" 4 +.el .IP "\f(CWTEXLIVE_INSTALL_TEXMFLOCAL\fR" 4 +.IX Item "TEXLIVE_INSTALL_TEXMFLOCAL" +.ie n .IP """TEXLIVE_INSTALL_TEXMFSYSCONFIG""" 4 +.el .IP "\f(CWTEXLIVE_INSTALL_TEXMFSYSCONFIG\fR" 4 +.IX Item "TEXLIVE_INSTALL_TEXMFSYSCONFIG" +.ie n .IP """TEXLIVE_INSTALL_TEXMFSYSVAR""" 4 +.el .IP "\f(CWTEXLIVE_INSTALL_TEXMFSYSVAR\fR" 4 +.IX Item "TEXLIVE_INSTALL_TEXMFSYSVAR" +.ie n .IP """TEXLIVE_INSTALL_TEXMFVAR""" 4 +.el .IP "\f(CWTEXLIVE_INSTALL_TEXMFVAR\fR" 4 +.IX Item "TEXLIVE_INSTALL_TEXMFVAR" +.PD +Specify the respective directories. +.SH "AUTHORS AND COPYRIGHT" +.IX Header "AUTHORS AND COPYRIGHT" +This script and its documentation were written for the TeX Live +distribution (<http://tug.org/texlive>) and both are licensed under the +\&\s-1GNU\s0 General Public License Version 2 or later. diff --git a/Master/texmf-dist/doc/man/man1/install-tl.man1.pdf b/Master/texmf-dist/doc/man/man1/install-tl.man1.pdf Binary files differnew file mode 100644 index 00000000000..e5f608d5bae --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/install-tl.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/kpseaccess.1 b/Master/texmf-dist/doc/man/man1/kpseaccess.1 new file mode 100644 index 00000000000..35edd2312c2 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/kpseaccess.1 @@ -0,0 +1,66 @@ +.TH KPSEACCESS 1 "1 March 2011" "Kpathsea 6.1.0" +.\"===================================================================== +.if n .ds MP MetaPost +.if t .ds MP MetaPost +.if n .ds MF Metafont +.if t .ds MF M\s-2ETAFONT\s0 +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.el .ds OX TeX for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.\"===================================================================== +.SH NAME +kpseaccess \- determine whether a file can be accessed +.SH SYNOPSIS +.B kpseaccess +.I mode +.I file +.\"===================================================================== +.SH DESCRIPTION +Exit successfully if +.I file +can be accessed with the specified +.IR mode . +The +.I mode +is an optional dash +.RB (` \- ') +followed by zero or more letters of +.BR rwx , +where +.B r +is for readable, +.B w +is for writable, and +.B x +is for executable. +.PP +The difference between +.B kpseaccess +and +.B test +is that the latter looks at the permission bits, while the former +checks using the +.BR access (2) +system call. This makes a difference when file systems have been +mounted read-only. +.\"===================================================================== +.SH OPTIONS +.B kpseaccess +accepts the following options: +.TP +.B --help +Print help message and exit. +.TP +.B --version +Print version information and exit. +.\"===================================================================== +.SH "SEE ALSO" +.BR access (2) diff --git a/Master/texmf-dist/doc/man/man1/kpseaccess.man1.pdf b/Master/texmf-dist/doc/man/man1/kpseaccess.man1.pdf Binary files differnew file mode 100644 index 00000000000..1ba039a338e --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/kpseaccess.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/kpsepath.1 b/Master/texmf-dist/doc/man/man1/kpsepath.1 new file mode 100644 index 00000000000..8fb7435c2aa --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/kpsepath.1 @@ -0,0 +1 @@ +.so man1/kpsetool.1 diff --git a/Master/texmf-dist/doc/man/man1/kpsepath.man1.pdf b/Master/texmf-dist/doc/man/man1/kpsepath.man1.pdf Binary files differnew file mode 100644 index 00000000000..1ad20ed01a4 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/kpsepath.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/kpsereadlink.1 b/Master/texmf-dist/doc/man/man1/kpsereadlink.1 new file mode 100644 index 00000000000..f94c62ce161 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/kpsereadlink.1 @@ -0,0 +1,30 @@ +.TH KPSEREADLINK 1 "1 March 2011" "Kpathsea 6.1.0" +.\"===================================================================== +.SH NAME +kpsereadlink \- print contents of symbolic link +.SH SYNOPSIS +.B kpsereadlink +.I file +.\"===================================================================== +.SH DESCRIPTION +If +.I file +is a symbolic link, print its contents (what it links to), and exit +successfully. Exit with a failure otherwise. +.PP +On systems that do not support symbolic links, +.B kpsereadlink +will always fail. +.\"===================================================================== +.SH OPTIONS +.B kpsereadlink +accepts the following options: +.TP +.B --help +Print help message and exit. +.TP +.B --version +Print version information and exit. +.\"===================================================================== +.SH "SEE ALSO" +.BR readlink (2) diff --git a/Master/texmf-dist/doc/man/man1/kpsereadlink.man1.pdf b/Master/texmf-dist/doc/man/man1/kpsereadlink.man1.pdf new file mode 100644 index 00000000000..df406db62af --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/kpsereadlink.man1.pdf @@ -0,0 +1,116 @@ +%PDF-1.4 +%Çì¢ +5 0 obj +<</Length 6 0 R/Filter /FlateDecode>> +stream +xœ¥UËrÚ@¼ë+æ©Êlö¡ÕjssbĈÑ%9(BÅBÂ’âȯä3« cç’â@ÕnOO÷L³<%¨ùtßÑÖz¯`]YÖ֣ŚKè¾¢-|àãÑ‚ÄjË(ÊåÄ…`kqå®<ö–}=›ïÇ—W7“»ë¥Í–œ8ÁkD ÇÚÉ50n˜ÜXöÝ¥óÅàS„úJc»`eÙ·cS7ÐÂ9‚È âm<쪸ŒÃU–æðveš×yçuEÕóö{‘¥DKÚk M\¦5rjB…ö›Öó¯wÓÙ|2?`{Gt§`ÑvwPºÖ’Ùç[ð+=–z’¸>¹ßYüB£.Ñ”µB\ÊØÕxþé~2&Ó»³aœi±'I:m‹—Èæ½l{º`E¸pý‡L›©.ì´‚p8º‹n¶)Žõ0ߥ½ß„æ¬TPKçÂ|±ÃÐ’§¥ýo«§(Š«*yʲçf<F@d tÂ=·“Hšµ·yÄçýÄÇ>7vqbÌ`F—DxâdIx`ð±‡OeçIKš=•1õ&.÷i“†Ç
R0ÍÑ~UÇ[4e,® +Ècd·+Êz8šêâ,+œ"«×Íõß99Ù†'P +n¿5½O³Âlà˜+"“=âh–qâIuhø\Aâ /å¾²Ã4#]³cô%#.UÃÄM›°ýwòßr´°CŒÁ®6#!)²¬p¸Ä™fó5»:-òêÃQlÏ3ê‰K6q¶{óÇÑ55¹5HØbÃu|’P_{&]ä•–¯½ìù³¬®—ê=wýʼZ?›žšù])¤yR”ÛÐØ>¥ÜšÚ)ŸøFÇ`góñ.oæÓ>&ZÚ·‹2>GÉ=Ù¿ÝÏÞ^?F¥:ÐÒæÝ»ŽŠþ1ÀÈ•yšÛë]Xoª80B
Œ%ü&½Tî÷ùf·ÇôbŽÜXFà”±¦Øe„kÖט£q`}ÁÏ_4Aµendstream +endobj +6 0 obj +774 +endobj +4 0 obj +<</Type/Page/MediaBox [0 0 612 792] +/Rotate 0/Parent 3 0 R +/Resources<</ProcSet[/PDF /Text] +/ExtGState 11 0 R +/Font 12 0 R +>> +/Contents 5 0 R +>> +endobj +3 0 obj +<< /Type /Pages /Kids [ +4 0 R +] /Count 1 +>> +endobj +1 0 obj +<</Type /Catalog /Pages 3 0 R +/Metadata 15 0 R +>> +endobj +7 0 obj +<</Type/ExtGState +/OPM 1>>endobj +11 0 obj +<</R7 +7 0 R>> +endobj +12 0 obj +<</R10 +10 0 R/R9 +9 0 R/R8 +8 0 R>> +endobj +10 0 obj +<</BaseFont/Times-Italic/Type/Font +/Encoding 13 0 R/Subtype/Type1>> +endobj +13 0 obj +<</Type/Encoding/Differences[ +140/fi]>> +endobj +9 0 obj +<</BaseFont/Times-Bold/Type/Font +/Subtype/Type1>> +endobj +8 0 obj +<</BaseFont/Times-Roman/Type/Font +/Encoding 14 0 R/Subtype/Type1>> +endobj +14 0 obj +<</Type/Encoding/Differences[ +173/minus]>> +endobj +15 0 obj +<</Type/Metadata +/Subtype/XML/Length 1344>>stream +<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?> +<?adobe-xap-filters esc="CRLF"?> +<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'> +<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'> +<rdf:Description rdf:about='uuid:b66edcf7-e107-11ec-0000-9e06288d7e57' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.05'/> +<rdf:Description rdf:about='uuid:b66edcf7-e107-11ec-0000-9e06288d7e57' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2012-05-28T19:32:57+02:00</xmp:ModifyDate> +<xmp:CreateDate>2012-05-28T19:32:57+02:00</xmp:CreateDate> +<xmp:CreatorTool>groff version 1.21</xmp:CreatorTool></rdf:Description> +<rdf:Description rdf:about='uuid:b66edcf7-e107-11ec-0000-9e06288d7e57' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:b66edcf7-e107-11ec-0000-9e06288d7e57'/> +<rdf:Description rdf:about='uuid:b66edcf7-e107-11ec-0000-9e06288d7e57' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description> +</rdf:RDF> +</x:xmpmeta> + + +<?xpacket end='w'?> +endstream +endobj +2 0 obj +<</Producer(GPL Ghostscript 9.05) +/CreationDate(D:20120528193257+02'00') +/ModDate(D:20120528193257+02'00') +/Creator(groff version 1.21)>>endobj +xref +0 16 +0000000000 65535 f +0000001097 00000 n +0000003050 00000 n +0000001038 00000 n +0000000878 00000 n +0000000015 00000 n +0000000859 00000 n +0000001162 00000 n +0000001488 00000 n +0000001423 00000 n +0000001283 00000 n +0000001203 00000 n +0000001233 00000 n +0000001367 00000 n +0000001570 00000 n +0000001629 00000 n +trailer +<< /Size 16 /Root 1 0 R /Info 2 0 R +/ID [<CF80ABD85349F450E0D95E463B413486><CF80ABD85349F450E0D95E463B413486>] +>> +startxref +3202 +%%EOF diff --git a/Master/texmf-dist/doc/man/man1/kpsestat.1 b/Master/texmf-dist/doc/man/man1/kpsestat.1 new file mode 100644 index 00000000000..eb134a6c2f3 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/kpsestat.1 @@ -0,0 +1,51 @@ +.TH KPSESTAT 1 "1 March 2011" "Kpathsea 6.1.0" +.\"===================================================================== +.if n .ds MP MetaPost +.if t .ds MP MetaPost +.if n .ds MF Metafont +.if t .ds MF M\s-2ETAFONT\s0 +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.el .ds OX TeX for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.\"===================================================================== +.SH NAME +kpsestat \- compute octal mode from mode of existing file +.SH SYNOPSIS +.B kpsestat +.I mode +.I file +.\"===================================================================== +.SH DESCRIPTION +.B kpsestat +prints the octal permission of +.I file +modified according to +.I mode +on standard output. The +.I mode +parameter accepts a subset of the symbolic permissions accepted by +.BR chmod (1). +Use +.B = +as the mode to obtain the unchanged permissions. +.\"===================================================================== +.SH OPTIONS +.B kpsestat +accepts the following options: +.TP +.B --help +Print help message and exit. +.TP +.B --version +Print version information and exit. +.\"===================================================================== +.SH "SEE ALSO" +.BR chmod (1). diff --git a/Master/texmf-dist/doc/man/man1/kpsestat.man1.pdf b/Master/texmf-dist/doc/man/man1/kpsestat.man1.pdf new file mode 100644 index 00000000000..ea50836943f --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/kpsestat.man1.pdf @@ -0,0 +1,117 @@ +%PDF-1.4 +%Çì¢ +5 0 obj +<</Length 6 0 R/Filter /FlateDecode>> +stream +xœ•UËvÓ@Ýû+´tæeÏç°(Ey´¥1NËÂu&‰!ŽíRø~…D3¶ó¨Ã¡œ,œc]IWÒ•ü
(a@ݯfEðìZÁª (¬‚oóFèY/h|ALÉ2èÜ(Jr"!)‚ðíÕ|6O&É—`ÊgÌ¡I$DŒàd„gÞJ "4ãAˆˆÊ!yÂÛÝNàt,CŒdÿˆÕðž”péìÏ®
yOe.L‘“_œí£(Bµ2}”÷3g8*šs"‡)¦óÎÔñ½ ¿VmÚ´…ß•EußZ(³6Ý@Q.,,ë²èþ•K°&‰Q1äM›oWðkc'Ÿ“7‡…!’ƒy¡ÂhOgþéâòj~>ïH™=©=ºgµãÓAÝc%#Ré¾BN¸Ö¾ãž#2ÄîxhJ´Aˆç!Ýt0øëÙüÕõùUr~yñßTô1múQR"yì™Tu¾mh×C+[yÓäåÛ7.ˆ I¿+áP¨1Q’é}¢h(9ÿefYY/Ü ÚòDxJQ½ªïÚ4ÖŠF©‚4±Üí"PÞ·¨â<†BÃdmÇY¦’1Â…õ×T2¢»R”é¦W¥uZØÖÖ®[aûRhîïÛ:ŹV6?‹»r“gÝlz0¶àîçxT«Ó‘ÎÖHgÄF0Ùc„oÓn{ |lì(*Þ tZñbÑ¥t43mü +£ ˆ”úÑÒ…®,/Û¶„ò®Mó¯ô~›Óí +«:(•<ÒõÉýºô’þÿõ:Ö4y¿]7á0
ÇkYn6å„G˜O˜ðÁé¬ZGîù~ûôÐ:Z¼étm7Õx=¿>é•[ pH(lÓ¤+(ÇþîhãÝAIŽSžêÉ
æü>A‘míšÙ»ž °kÐ@â»Ïi˜î]!ß.˺H]Ù¤”|Ä©’ÒD;ÇGp6ƒ³wóË'Lé ¢íµêe¦°å‘0•1b»o«´]76…˜ ÕÁ8QB»O§¯ç Uöþðbäî¤u¶NóÎ8V¾»þÕ, >àï4ß!endstream +endobj +6 0 obj +799 +endobj +4 0 obj +<</Type/Page/MediaBox [0 0 612 792] +/Rotate 0/Parent 3 0 R +/Resources<</ProcSet[/PDF /Text] +/ExtGState 11 0 R +/Font 12 0 R +>> +/Contents 5 0 R +>> +endobj +3 0 obj +<< /Type /Pages /Kids [ +4 0 R +] /Count 1 +>> +endobj +1 0 obj +<</Type /Catalog /Pages 3 0 R +/Metadata 15 0 R +>> +endobj +7 0 obj +<</Type/ExtGState +/OPM 1>>endobj +11 0 obj +<</R7 +7 0 R>> +endobj +12 0 obj +<</R10 +10 0 R/R9 +9 0 R/R8 +8 0 R>> +endobj +10 0 obj +<</BaseFont/Times-Italic/Type/Font +/Encoding 13 0 R/Subtype/Type1>> +endobj +13 0 obj +<</Type/Encoding/Differences[ +140/fi]>> +endobj +9 0 obj +<</BaseFont/Times-Bold/Type/Font +/Subtype/Type1>> +endobj +8 0 obj +<</BaseFont/Times-Roman/Type/Font +/Encoding 14 0 R/Subtype/Type1>> +endobj +14 0 obj +<</Type/Encoding/Differences[ +140/fi +173/minus]>> +endobj +15 0 obj +<</Type/Metadata +/Subtype/XML/Length 1344>>stream +<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?> +<?adobe-xap-filters esc="CRLF"?> +<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'> +<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'> +<rdf:Description rdf:about='uuid:ba9afa77-e107-11ec-0000-483378f4c7da' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.05'/> +<rdf:Description rdf:about='uuid:ba9afa77-e107-11ec-0000-483378f4c7da' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2012-05-28T19:33:04+02:00</xmp:ModifyDate> +<xmp:CreateDate>2012-05-28T19:33:04+02:00</xmp:CreateDate> +<xmp:CreatorTool>groff version 1.21</xmp:CreatorTool></rdf:Description> +<rdf:Description rdf:about='uuid:ba9afa77-e107-11ec-0000-483378f4c7da' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:ba9afa77-e107-11ec-0000-483378f4c7da'/> +<rdf:Description rdf:about='uuid:ba9afa77-e107-11ec-0000-483378f4c7da' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description> +</rdf:RDF> +</x:xmpmeta> + + +<?xpacket end='w'?> +endstream +endobj +2 0 obj +<</Producer(GPL Ghostscript 9.05) +/CreationDate(D:20120528193304+02'00') +/ModDate(D:20120528193304+02'00') +/Creator(groff version 1.21)>>endobj +xref +0 16 +0000000000 65535 f +0000001122 00000 n +0000003082 00000 n +0000001063 00000 n +0000000903 00000 n +0000000015 00000 n +0000000884 00000 n +0000001187 00000 n +0000001513 00000 n +0000001448 00000 n +0000001308 00000 n +0000001228 00000 n +0000001258 00000 n +0000001392 00000 n +0000001595 00000 n +0000001661 00000 n +trailer +<< /Size 16 /Root 1 0 R /Info 2 0 R +/ID [<9C7C36C0EC05715B340B03B4D980BD01><9C7C36C0EC05715B340B03B4D980BD01>] +>> +startxref +3234 +%%EOF diff --git a/Master/texmf-dist/doc/man/man1/kpsetool.1 b/Master/texmf-dist/doc/man/man1/kpsetool.1 new file mode 100644 index 00000000000..addd9b08344 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/kpsetool.1 @@ -0,0 +1,106 @@ +.TH "kpsetool" "1" "September 2000" "teTeX" "teTeX" +.PP +.SH "NAME" +kpsetool \- script to make teTeX-style \fBkpsetool\fP, +\fBkpsexpand\fP, and \fBkpsepath\fP available +.PP +.SH "SYNOPSIS" +.PP +\fBkpsetool \fP [ \fIOPTIONS\fP\&.\&.\&. ] \fICOMMAND\fP +.PP +\fBkpsexpand\fP [ \fIOPTIONS\fP\&.\&.\&. ] \fISTRING\fP +.PP +\fBkpsepath\fP [ \fIOPTIONS\fP\&.\&.\&. ] \fIPATHTYPE\fP +.PP +.SH "DESCRIPTION" +.PP +\fBkpsetool\fP is a Bourne shell script that makes a teTeX-style +\fBkpsetool\fP, \fBkpsexpand\fP, and \fBkpsepath\fP available\&. +\fBkpsetool\fP uses \fBweb2c\fP\'s (new) \fBkpsexpand\fP binary, so the +syntax for \fBkpsexpand\fP is incompatible with teTeX\'s as of version +0\&.4\&. +.PP +.SH "OPTIONS" +.PP +.IP "\fB-m\fP \fImode\fP" +set Metafont mode +.IP "\fB-n\fP \fIprogname\fP" +pretend to be \fIprogname\fP to kpathsea +.IP "\fB-p\fP" +act like \fBkpsepath\fP(1) +.IP "\fB-v\fP" +act like \fBkpsexpand\fP(1) +.IP "\fB-w\fP" +act like \fBkpsewhich\fP(1) +.PP +.SH "USAGE" +.PP +\fIPATHTYPE\fP can be +.PP +.IP "\fBbase\fP" +Metafont memory dump +.IP "\fBbib\fP" +BibTeX bibliography source +.IP "\fBbst\fP" +BibTeX style files +.IP "\fBcnf\fP" +Kpathsea runtime configuration files +.IP "\fBdvips_config\fP" +dvips config files +.IP "\fBdvips_header\fP" +dvips header files +.IP "\fBfmt\fP" +TeX memory dump +.IP "\fBgf\fP" +generic font bitmap +.IP "\fBmem\fP" +MetaPost memory dump +.IP "\fBmf\fP" +Metafont source +.IP "\fBmfpool\fP" +Metafont program strings +.IP "\fBmp\fP" +MetaPost source +.IP "\fBmppool\fP" +MetaPost program strings +.IP "\fBmpsupport\fP" +MetaPost support files +.IP "\fBpict\fP" +Other kinds of figures +.IP "\fBpk\fP" +packed bitmap font +.IP "\fBtex\fP" +TeX source +.IP "\fBtexpool\fP" +TeX program strings +.IP "\fBtfm\fP" +TeX font metrics +.IP "\fBtroff_font\fP" +troff fonts +.IP "\fBvf\fP" +virtual font +.PP +.SH "SEE ALSO" +.PP +\fBkpsewhich\fP(1) +.PP +\fIKpathsea: A library for path searching\fP (info or DVI file) +.PP +Web page: <http://tug\&.org/teTeX/> +.PP +.SH "BUGS" +.PP +None known, but report any bugs found to <tetex@dbs\&.uni-hannover\&.de> (mailing list)\&. +.PP +.SH "AUTHOR" +.PP +\fBkpsetool\fP was written by Thomas Esser +<te@dbs\&.uni-hannover\&.de> in March, 1997\&. \fBkpsetool\fP +is in the public domain\&. +.PP +This manual page was written by C\&.M\&. Connelly +<c@eskimo\&.com>, for +the Debian GNU/Linux system\&. It may be used by other distributions +without contacting the author\&. Any mistakes or omissions in the +manual page are my fault; inquiries about or corrections to this +manual page should be directed to me (and not to the primary author)\&. diff --git a/Master/texmf-dist/doc/man/man1/kpsetool.man1.pdf b/Master/texmf-dist/doc/man/man1/kpsetool.man1.pdf Binary files differnew file mode 100644 index 00000000000..37dda84b47a --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/kpsetool.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/kpsewhere.1 b/Master/texmf-dist/doc/man/man1/kpsewhere.1 new file mode 100644 index 00000000000..76700ed33fe --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/kpsewhere.1 @@ -0,0 +1,50 @@ +.TH "kpsewhere" "1" "March 2004" "teTeX" "teTeX" +.PP +.SH "NAME" +kpsewhere \- Expanding \fBkpsewhich\fP to separately iterate over each +texmf tree listed in $TEXMF. +.PP +.SH "SYNOPSIS" +.PP +\fBkpsewhere \fP [ \fIkpsewhich-OPTIONS\fP\&.\&.\&. ] \fICOMMAND\fP +.PP +.SH "DESCRIPTION" +.PP +\fBkpsewhere\fP is an extension to \fBkpsewhich\fP (as \fBwhere\fP is +for \fBwhich\fP in tcsh). The intention is to provide a way to check +for conflicts/shadowed files. It will, however, only find \fBone\fP +file per TEXMF tree. +.PP +.SH "OPTIONS" +.PP +.IP "\fB-h|--help\fP" +show a short help message +.IP "\fB\&*\fP" +all other options are directly handed to kpsewhich +.PP +.SH "SEE ALSO" +.PP +\fBkpsewhich\fP(1) +.PP +\fIKpathsea: A library for path searching\fP (info or DVI file) +.PP +Web page: <http://tug\&.org/teTeX/> +.PP +.SH "BUGS" +.PP +None known, but report any bugs found to <tetex@dbs\&.uni-hannover\&.de> (mailing list)\&. +.PP +.SH "AUTHOR" +.PP +\fBkpsewhere\fP was written by Hans Fredrik Nordhaug +<hans\&.fredrik@nordhaug\&.no>, additions by +Thomas Esser +<te@dbs\&.uni-hannover\&.de>, in 2003 and 2004\&. \fBkpsewhere\fP +is in the public domain\&. +.PP +This manual page was written by Frank Küster <frank@kuesterei\&.ch>, +for the Debian GNU/Linux system\&. It is also in the public domain +and may be used and changed by others without contacting the author\&. +Any mistakes or omissions in the manual page are my fault; inquiries +about or corrections to this manual page should be directed to me (and +not to the primary author)\&. diff --git a/Master/texmf-dist/doc/man/man1/kpsewhere.man1.pdf b/Master/texmf-dist/doc/man/man1/kpsewhere.man1.pdf Binary files differnew file mode 100644 index 00000000000..1186e8269ed --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/kpsewhere.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/kpsewhich.1 b/Master/texmf-dist/doc/man/man1/kpsewhich.1 new file mode 100644 index 00000000000..116347fac39 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/kpsewhich.1 @@ -0,0 +1,144 @@ +.TH KPSEWHICH 1 "1 March 2011" "Kpathsea 6.1.0" +.\"===================================================================== +.if n .ds MP MetaPost +.if t .ds MP MetaPost +.if n .ds MF Metafont +.if t .ds MF M\s-2ETAFONT\s0 +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.el .ds OX TeX for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.\"===================================================================== +.SH NAME +kpsewhich \- standalone path lookup and and expansion for kpathsea +.SH SYNOPSIS +.B kpsewhich +.RI [ options ] +.RI [ filenames ] +.\"===================================================================== +.SH DESCRIPTION +This manual page is not meant to be exhaustive. The complete +documentation for this version of \*(TX can be found in the info file +or manual +.IR "Kpathsea: A library for path searching" . +.PP +.B kpsewhich +is used as a standalone front-end of the kpathsea library that can be +used to examine variables and find files. When the +.B -format +option is not given, the search path used when looking for a file is +inferred from the name given, by looking for a known extension. If +no known extension is found, the search path for \*(TX source files is +used. +.\"===================================================================== +.SH OPTIONS +.B kpsewhich +accepts the following options: +.TP +.BI -debug \ num +Set debugging flags. +.TP +.BI -D \ num +Use a base resolution of +.IR num ; +the default, set by the installer, is typically 600. +.TP +.BI -dpi \ num +As +.BR -D. +.TP +.BI -engine \ string +Set +.I $engine +in the environment, which is used in some search paths. +.TP +.BI -expand-braces \ string +Print variable and brace expansion of +.IR string . +.TP +.BI -expand-path \ string +Print complete path expansion of +.IR string . +.TP +.BI -expand-var \ string +Print variable expansion of +.IR string . +.TP +.BI -format \ name +Use file type +.IR name . +See the info manual for a list of valid names, or use the +.B -help +option to print the list. +.TP +.B -help +Print help message and exit. +.TP +.B -interactive +Ask for additional filenames to look up. +.TP +.BI -mktex \ fmt +enable +.RI mktex fmt +generation. +.RI ( fmt =pk/mf/tex/tfm) +.TP +.BI -mode \ string +Set device name for +.I $MAKETEX_MODE +to +.IR string ; +no default. +.TP +.B -must-exist +Search the disk as well as ls-R if necessary. +.TP +.BI -no-mktex \ fmt +disable +.RI mktex fmt +generation. +.RI ( fmt =pk/mf/tex/tfm) +.TP +.BI -path \ string +Search in the path +.IR string . +.TP +.BI -progname \ string +Set program name to +.IR string . +.\" .TP +.\" .BI -separator \ string +.\" .rb +.\" .I string +.\" separates components in +.\" .B -path +.\" output; default is +.\" .I : +.\" on UNIX systems. +.TP +.BI -show-path \ name +Output search path for file type +.IR name . +See the info manual for a list of valid names, or use the +.B -help +option to print the list. +.TP +.BI -var-value \ variable +Print the expansion of +.IR variable . +.TP +.B -version +Print version information and exit. +.\"===================================================================== +.SH "SEE ALSO" +.BR mktexlsr (1), +.BR mktexmf (1), +.BR mktexpk (1), +.BR mktextfm (1). diff --git a/Master/texmf-dist/doc/man/man1/kpsewhich.man1.pdf b/Master/texmf-dist/doc/man/man1/kpsewhich.man1.pdf Binary files differnew file mode 100644 index 00000000000..d5a701044fc --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/kpsewhich.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/kpsexpand.1 b/Master/texmf-dist/doc/man/man1/kpsexpand.1 new file mode 100644 index 00000000000..8fb7435c2aa --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/kpsexpand.1 @@ -0,0 +1 @@ +.so man1/kpsetool.1 diff --git a/Master/texmf-dist/doc/man/man1/kpsexpand.man1.pdf b/Master/texmf-dist/doc/man/man1/kpsexpand.man1.pdf Binary files differnew file mode 100644 index 00000000000..e01719e075c --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/kpsexpand.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/lacheck.1 b/Master/texmf-dist/doc/man/man1/lacheck.1 new file mode 100644 index 00000000000..11064b28e54 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/lacheck.1 @@ -0,0 +1,110 @@ +.TH "LaCheck" "1" "2010-12-10" "Release 1.26" +.SH NAME +lacheck - A consistency checker for LaTeX documents. +.SH SYNOPSIS +.B lacheck +.IR filename [ \fB.tex\fP ] +.SH DESCRIPTION +LaCheck is a general purpose consistency checker for LaTeX documents. +It reads a LaTeX document and displays warning messages, if it finds +bad sequences. It should be noted, that the badness is +.I very +subjective. LaCheck is designed to help find common mistakes in LaTeX +documents, especially those made by beginners. +.LP +The things checked are: +.LP +Mismatched groups (braces), environments and math mode +delimiters. When a mismatch is found, line numbers for +.I "both" +start and end of the mismatch is given. The error messages comes in +pairs, one for the end match and one for the beginning, marked with +\`<-\' and \`->\' respectively. +.LP +Bad spacing including missing a \`\\ \' after an abbreviation, missing +an \`\\@\' before a punctuation mark in a paragraph that is ended by +an capital letter, double spaces like \` \~\', bad usage of ellipsis +(like using ... instead of \\ldots, or using \\ldots where \\cdots +should be used), missing \~ before a \\cite or \\ref commands, space +before footnotes, italic corrections before comma, point, or italic +text, italic correction after normal text, missing italic correction +when switching from italic to normal text, and double italic +correction. +.LP +Badly placed punctuation marks around end of math mode +delimiters. This is, punctuation placed right after display math end +or punctuation placed right before text math end. Sequences of +whitespace followed by punctuation marks are also caught. +.LP +Bad use of quotation characters, i.e. constructs like "\'word" or +"word\`" are warned about, tabs in verbatim environments are caught, +certain TeX primitives are frowned upon, attempts to give font +specifiers arguments such as \\em{text} are noted, and use of @ in +LaTeX macros are reported. +.LP +LaCheck will read files that are input using \\input or \\include. +Files with suffix \`.sty\' are omitted, as they probably will cause +LaCheck to crash. +.LP +LaCheck may be invoked from within Emacs(1) using compile: + +To run: +.B "M-x compile RET lacheck RET" +, and then +.B "C-x `" +to parse the messages + +.SH OUTPUT +The output is UNIX-error like, and may be parsed using Emacs(1) +compile mode. Here is a sample: + +.PD 0 +lacheck compiler +.TP +"/usr/mef/compiler.tex", line 34: missing \`\\\\\\\\ \' after "etc." +.TP +"/usr/mef/compiler.tex", line 179: double space at " ~" +.TP +"/usr/mef/compiler.tex", line 186: <- unmatched "}" +.TP +"/usr/mef/compiler.tex", line 181: -> unmatched "$$" +.PD 1 +.LP +A control space \`\\ \' should be inserted at line 34, to prevent an +end-of-sentence space. +Also, at line 179, the first space of the sequence " ~" should +probably be deleted. +The last two lines is an example, where the user mistyped, and +probably inserted an extra "}" somewhere. + +.SH DIAGNOSTICS +Some special cases should be explained. In cases where a sentence ends +with something that LaCheck thinks is an abbreviation an missing \`\\ +\' error may also occur, if the following sentence begins with a +lowercase letter. +.LP +A mismatch error may cause more to follow, due to the chosen +algorithm. In such cases just correct the +.I "first" +error and run LaCheck again +.LP +Braces, environments and math mode must be balanced within a file. +.LP +LaCheck may be confused by unmatched stuff placed inside verbatim-like +environments called something else than exactly \`verbatim\'. +.SH FILES +lacheck +.SH SEE ALSO +tex(1), emacs(1), latex(1) +.SH BUGS +LaCheck gets confused by advanced macros, is fooled by simple macros, +can't figure out if you use a non-standard way to switch italic on or +off, does not like TeX at all, does not provide any options to turn +off specific warnings, and is at best a crude approximation. +.LP +Ideas for improvements and bug reports are very welcome. Such +should be directed to the maintainers, their email address is +<auc-tex_mgr@sunsite.auc.dk>. +.SH AUTHOR +Kresten Krab Thorup with modifications by Per Abrahamsen. + diff --git a/Master/texmf-dist/doc/man/man1/lacheck.man1.pdf b/Master/texmf-dist/doc/man/man1/lacheck.man1.pdf Binary files differnew file mode 100644 index 00000000000..3e3e6367454 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/lacheck.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/lamed.1 b/Master/texmf-dist/doc/man/man1/lamed.1 new file mode 100644 index 00000000000..bda63f2adb8 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/lamed.1 @@ -0,0 +1 @@ +.so man1/aleph.1 diff --git a/Master/texmf-dist/doc/man/man1/lamed.man1.pdf b/Master/texmf-dist/doc/man/man1/lamed.man1.pdf Binary files differnew file mode 100644 index 00000000000..1242c5ed0e4 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/lamed.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/latex.1 b/Master/texmf-dist/doc/man/man1/latex.1 new file mode 100644 index 00000000000..8f9d255ec21 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/latex.1 @@ -0,0 +1,86 @@ +.TH LATEX 1 "14 May 2010" "Web2C 2012" +.\"===================================================================== +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP\" for troff +.el .ds OX TeX\" for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.\"===================================================================== +.SH NAME +latex, elatex, lambda, pdflatex \- structured text formatting and typesetting +.SH SYNOPSIS +.B latex +.RI [ first-line ] +.\"===================================================================== +.SH DESCRIPTION +.PP +This manual page is not meant to be exhaustive. The complete +documentation for this version of \*(TX can be found in the info file +or manual +.IR "Web2C: A TeX implementation" . +.PP +The \*(LX language is described in the book +.IR "\*(LX \- A Document Preparation System" . +\*(LX is a \*(TX macro package, not a modification to the \*(TX source +program, so all the capabilities described in +.BR tex (1) +are present. +.PP +The \*(LX macros encourage writers to think about the content of their +documents, rather than the form. The ideal, very difficult to realize, is to +have no formatting commands (like ``switch to italic'' or ``skip 2 +picas'') in the document at all; instead, everything is done +by specific markup instructions: ``emphasize'', ``start a section''. +.PP +The primary source of documentation for \*(LX is the \*(LX manual +referenced below, and the local guide in the file +.I local-guide.tex +or +.I local.tex +or some such. +.PP +.B elatex +is the e-\*(TX extended mode version of \*(LX format. +.PP +.B lambda +is the Omega version of the \*(LX format. +.PP +.B pdflatex +is the pdf\*(TX version of the \*(LX format. +.PP +On some systems +.B latex209 +and +.B slitex +are available for compatibility with older versions of \*(LX. These +should not be used for new texts. +.\"===================================================================== +.PP +.SH "SEE ALSO" +.BR amslatex (1), +.BR amstex (1), +.BR pdflatex (1), +.BR pdftex (1), +.BR tex (1). +.PP +Leslie Lamport, +.IR "\*(LX \- A Document Preparation System" , +Addison-Wesley, 1985, ISBN 020115790X. +.PP +Frank Mittelbach, Michel Goossens, Johannes Braams, David Carlisle, +and Chris Rowley, +.IR "LaTeX Companion" , +Addison-Wesley, 2004, ISBN 0201362996 (2nd edition). +.PP +\fILaTeX Graphics Companion\fP, available as part of a boxed set: +\fIThe LaTeX Companions, Revised Boxed Set : A Complete Guide and +Reference for Preparing, Illustrating, and Publishing Technical +Documents\fP (2nd Edition), by Frank Mittelbach, Michel Goossens, +Sebastian Rahtz, Helmut Kopka, Patrick W. Daly (Addison-Wesley, 2004, +ISBN 0321269446). diff --git a/Master/texmf-dist/doc/man/man1/latex.man1.pdf b/Master/texmf-dist/doc/man/man1/latex.man1.pdf Binary files differnew file mode 100644 index 00000000000..fc051d7dff4 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/latex.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/latexdiff-vc.1 b/Master/texmf-dist/doc/man/man1/latexdiff-vc.1 new file mode 100644 index 00000000000..497b8fed20b --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/latexdiff-vc.1 @@ -0,0 +1,246 @@ +.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "LATEXDIFF-VC 1" +.TH LATEXDIFF-VC 1 "2012-12-16" "perl v5.12.4" " " +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +latexdiff\-vc \- wrapper script that calls latexdiff for different versions of a file under version management (CVS, RCS or SVN) +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBlatexdiff-vc\fR [ \fIlatexdiff-options\fR ] [ \fIlatexdiff-vc-options\fR ] \fB\-r\fR [\fIrev1\fR] [\fB\-r\fR \fIrev2\fR] \fIfile1.tex\fR [ \fIfile2.tex\fR ...] +.PP +.Vb 1 +\& or +.Ve +.PP +\&\fBlatexdiff-vc\fR [ \fIlatexdiff-options\fR ] [ \fIlatexdiff-vc-options\fR ][ \fB\-\-postscript\fR | \fB\-\-pdf\fR ] \fIold.tex\fR \fInew.tex\fR +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +\&\fIlatexdiff-vc\fR is a wrapper script that applies \fIlatexdiff\fR to a +file, or multiple files under version control (\s-1CVS\s0, \s-1RCS\s0 or \s-1SVN\s0), and optionally runs the +sequence of \f(CW\*(C`latex\*(C'\fR and \f(CW\*(C`dvips\*(C'\fR or \f(CW\*(C`pdflatex\*(C'\fR commands necessary to +produce pdf or postscript output of the difference tex file(s). It can +also be applied to a pair of files to automatise the generation of difference +file in postscript or pdf format. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-\-rcs\fR, \fB\-\-svn\fR, \fB\-\-cvs\fR, or \fB\-\-git\fR" 4 +.IX Item "--rcs, --svn, --cvs, or --git" +Set the version system. +If no version system is specified, latexdiff-vc will venture a guess. +.Sp +latexdiff-cvs and latexdiff-rcs are variants of latexdiff-vc which default to +the respective versioning system. However, this default can still be overridden using the options above. +.IP "\fB\-r\fR, \fB\-r\fR \fIrev\fR or \fB\-\-revision\fR, \fB\-\-revision=\fR\fIrev\fR" 4 +.IX Item "-r, -r rev or --revision, --revision=rev" +Choose revision (under \s-1RCS\s0, \s-1CVS\s0, \s-1SVN\s0 or \s-1GIT\s0). One or two \fB\-r\fR options can be +specified, and they result in different behaviour: +.RS 4 +.IP "\fBlatexdiff-vc\fR \-r \fIfile.tex\fR ..." 4 +.IX Item "latexdiff-vc -r file.tex ..." +compares \fIfile.tex\fR with the most recent version checked into \s-1RCS\s0. +.IP "\fBlatexdiff-vc\fR \-r \fIrev1\fR \fIfile.tex\fR ..." 4 +.IX Item "latexdiff-vc -r rev1 file.tex ..." +compares \fIfile.tex\fR with revision \fIrev1\fR. +.IP "\fBlatexdiff-vc\fR \-r \fIrev1\fR \-r \fIrev2\fR \fIfile.tex\fR ..." 4 +.IX Item "latexdiff-vc -r rev1 -r rev2 file.tex ..." +compares revisions \fIrev1\fR and \fIrev2\fR of \fIfile.tex\fR. +.Sp +Multiple files can be specified for all of the above options. All files must have the +extension \f(CW\*(C`.tex\*(C'\fR, though. +.IP "\fBlatexdiff-vc\fR \fIold.tex\fR \fInew.tex\fR" 4 +.IX Item "latexdiff-vc old.tex new.tex" +compares two files. +.RE +.RS 4 +.Sp +The name of the difference file is generated automatically and +reported to stdout. +.RE +.IP "\fB\-d\fR or \fB\-\-dir\fR \fB\-d\fR \fIpath\fR or \fB\-\-dir=\fR\fIpath\fR" 4 +.IX Item "-d or --dir -d path or --dir=path" +Rather than appending the string \f(CW\*(C`diff\*(C'\fR and optionally the version +numbers given to the output-file, this will prepend a directory name \f(CW\*(C`diff\*(C'\fR +to the +original filename, creating the directory and subdirectories should they not exist already. This is particularly useful in order to clone a +complete directory hierarchy. Optionally, a pathname \fIpath\fR can be specified, which is prepended instead of \f(CW\*(C`diff\*(C'\fR. +.IP "\fB\-\-fast\fR or \fB\-\-so\fR" 4 +.IX Item "--fast or --so" +Use \f(CW\*(C`latexdiff\-fast\*(C'\fR or \f(CW\*(C`latexdiff\-so\*(C'\fR, respectively (instead of \f(CW\*(C`latexdiff\*(C'\fR). +.IP "\fB\-\-ps\fR or \fB\-\-postscript\fR" 4 +.IX Item "--ps or --postscript" +Generate postscript output from difference file. This will run the +sequence \f(CW\*(C`latex; latex; dvips\*(C'\fR on the difference file (do not use +this option in the rare cases, where three \f(CW\*(C`latex\*(C'\fR commands are +required if you care about correct referencing). If the difference +file contains a \f(CW\*(C`\ebibliography\*(C'\fR tag, run the sequence \f(CW\*(C`latex; +bibtex; latex; latex; dvips\*(C'\fR. +.IP "\fB\-\-pdf\fR" 4 +.IX Item "--pdf" +Generate pdf output from difference file using \f(CW\*(C`pdflatex\*(C'\fR. This will +run the sequence \f(CW\*(C`pdflatex; pdflatex\*(C'\fR on the difference file, or +\&\f(CW\*(C`pdflatex; bibtex; pdflatex; pdflatex\*(C'\fR for files requiring bibtex. +.IP "\fB\-\-force\fR" 4 +.IX Item "--force" +Overwrite existing diff files without asking for confirmation. Default +behaviour is to ask for confirmation before overwriting an existing difference +file. +.IP "\fB\-\-help\fR or \fB\-h\fR" 4 +.IX Item "--help or -h" +Show help text +.IP "\fB\-\-version\fR" 4 +.IX Item "--version" +Show version number +.PP +All other options are passed on to \f(CW\*(C`latexdiff\*(C'\fR. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +latexdiff +.SH "PORTABILITY" +.IX Header "PORTABILITY" +\&\fIlatexdiff-vc\fR uses external commands and is therefore +limited to Unix-like systems. It also requires the \s-1RCS\s0 version control +system and latex to be installed on the system. Modules from Perl 5.8 +or higher are required. +.SH "BUG REPORTING" +.IX Header "BUG REPORTING" +.Vb 6 +\& Please submit bug reports through +\&the latexdiff project page I<http://developer.berlios.de/projects/latexdiff/> or send +\&to I<tilmann@gfz\-potsdam.de>. Include the serial number of I<latexdiff\-vc> +\&(option C<\-\-version>) +\&. +\&=head1 AUTHOR +.Ve +.PP +Copyright (C) 2005,2012 Frederik Tilmann +.PP +This program is free software; you can redistribute it and/or modify +it under the terms of the \s-1GNU\s0 General Public License Version 3 +Contributors: S Utcke, H Bruyninckx diff --git a/Master/texmf-dist/doc/man/man1/latexdiff-vc.man1.pdf b/Master/texmf-dist/doc/man/man1/latexdiff-vc.man1.pdf Binary files differnew file mode 100644 index 00000000000..779eaa29e23 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/latexdiff-vc.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/latexdiff.1 b/Master/texmf-dist/doc/man/man1/latexdiff.1 new file mode 100644 index 00000000000..2f075daa0a9 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/latexdiff.1 @@ -0,0 +1,758 @@ +.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "LATEXDIFF 1" +.TH LATEXDIFF 1 "2012-12-16" "perl v5.12.4" " " +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +latexdiff \- determine and markup differences between two latex files +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBlatexdiff\fR [ \fB\s-1OPTIONS\s0\fR ] \fIold.tex\fR \fInew.tex\fR > \fIdiff.tex\fR +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +Briefly, \fIlatexdiff\fR is a utility program to aid in the management of +revisions of latex documents. It compares two valid latex files, here +called \f(CW\*(C`old.tex\*(C'\fR and \f(CW\*(C`new.tex\*(C'\fR, finds significant differences +between them (i.e., ignoring the number of white spaces and position +of line breaks), and adds special commands to highlight the +differences. Where visual highlighting is not possible, e.g. for changes +in the formatting, the differences are +nevertheless marked up in the source. +.PP +The program treats the preamble differently from the main document. +Differences between the preambles are found using line-based +differencing (similarly to the Unix diff command, but ignoring white +spaces). A comment, "\f(CW\*(C`%DIF\ >\*(C'\fR" is appended to each added line, i.e. a +line present in \f(CW\*(C`new.tex\*(C'\fR but not in \f(CW\*(C`old.tex\*(C'\fR. Discarded lines + are deactivated by prepending "\f(CW\*(C`%DIF\ <\*(C'\fR". Changed blocks are preceded by +comment lines giving information about line numbers in the original files. Where there are insignificant +differences, the resulting file \f(CW\*(C`diff.tex\*(C'\fR will be similar to +\&\f(CW\*(C`new.tex\*(C'\fR. At the end of the preamble, the definitions for \fIlatexdiff\fR markup commands are inserted. +In differencing the main body of the text, \fIlatexdiff\fR attempts to +satisfy the following guidelines (in order of priority): +.IP "1." 3 +If both \f(CW\*(C`old.tex\*(C'\fR and \f(CW\*(C`new.tex\*(C'\fR are valid LaTeX, then the resulting +\&\f(CW\*(C`diff.tex\*(C'\fR should also be valid LateX. (\s-1NB\s0 If a few plain TeX commands +are used within \f(CW\*(C`old.tex\*(C'\fR or \f(CW\*(C`new.tex\*(C'\fR then \f(CW\*(C`diff.tex\*(C'\fR is not +guaranteed to work but usually will). +.IP "2." 3 +Significant differences are determined on the level of +individual words. All significant differences, including differences +between comments should be clearly marked in the resulting source code +\&\f(CW\*(C`diff.tex\*(C'\fR. +.IP "3." 3 +If a changed passage contains text or text-producing commands, then +running \f(CW\*(C`diff.tex\*(C'\fR through LateX should produce output where added +and discarded passages are highlighted. +.IP "4." 3 +Where there are insignificant differences, e.g. in the positioning of +line breaks, \f(CW\*(C`diff.tex\*(C'\fR should follow the formatting of \f(CW\*(C`new.tex\*(C'\fR +.PP +For differencing the same algorithm as \fIdiff\fR is used but words +instead of lines are compared. An attempt is made to recognize +blocks which are completely changed such that they can be marked up as a unit. +Comments are differenced line by line +but the number of spaces within comments is ignored. Commands including +all their arguments are generally compared as one unit, i.e., no mark-up +is inserted into the arguments of commands. However, for a selected +number of commands (for example, \f(CW\*(C`\ecaption\*(C'\fR and all sectioning +commands) the last argument is known to be text. This text is +split into words and differenced just as ordinary text (use options to +show and change the list of text commands, see below). As the +algorithm has no detailed knowledge of LaTeX, it assumes all pairs of +curly braces immediately following a command (i.e. a sequence of +letters beginning with a backslash) are arguments for that command. +As a restriction to condition 1 above it is thus necessary to surround +all arguments with curly braces, and to not insert +extraneous spaces. For example, write +.PP +.Vb 1 +\& \esection{\etextem{This is an emphasized section title}} +.Ve +.PP +and not +.PP +.Vb 1 +\& \esection {\etextem{This is an emphasized section title}} +.Ve +.PP +or +.PP +.Vb 1 +\& \esection\etextem{This is an emphasized section title} +.Ve +.PP +even though all varieties are the same to LaTeX (but see +\&\fB\-\-allow\-spaces\fR option which allows the second variety). +.PP +For environments whose content does not conform to standard LaTeX or +where graphical markup does not make sense all markup commands can be +removed by setting the \s-1PICTUREENV\s0 configuration variable, set by +default to \f(CW\*(C`picture\*(C'\fR and \f(CW\*(C`DIFnomarkup\*(C'\fR environments; see \fB\-\-config\fR +option). The latter environment (\f(CW\*(C`DIFnomarkup\*(C'\fR) can be used to +protect parts of the latex file where the markup results in illegal +markup. You have to surround the offending passage in both the old and +new file by \f(CW\*(C`\ebegin{DIFnomarkup}\*(C'\fR and \f(CW\*(C`\eend{DIFnomarkup}\*(C'\fR. You must +define the environment in the preambles of both old and new +documents. I prefer to define it as a null-environment, +.PP +\&\f(CW\*(C`\enewenvironment{DIFnomarkup}{}{}\*(C'\fR +.PP +but the choice is yours. Any markup within the environment will be +removed, and generally everything within the environment will just be +taken from the new file. +.PP +It is also possible to difference files which do not have a preamble. + In this case, the file is processed in the main document +mode, but the definitions of the markup commands are not inserted. +.PP +All markup commands inserted by \fIlatexdiff\fR begin with "\f(CW\*(C`\eDIF\*(C'\fR". Added +blocks containing words, commands or comments which are in \f(CW\*(C`new.tex\*(C'\fR +but not in \f(CW\*(C`old.tex\*(C'\fR are marked by \f(CW\*(C`\eDIFaddbegin\*(C'\fR and \f(CW\*(C`\eDIFaddend\*(C'\fR. +Discarded blocks are marked by \f(CW\*(C`\eDIFdelbegin\*(C'\fR and \f(CW\*(C`\eDIFdelend\*(C'\fR. +Within added blocks all text is highlighted with \f(CW\*(C`\eDIFadd\*(C'\fR like this: +\&\f(CW\*(C`\eDIFadd{Added text block}\*(C'\fR +Selected `safe' commands can be contained in these text blocks as well +(use options to show and change the list of safe commands, see below). +All other commands as well as braces \*(L"{\*(R" and \*(L"}\*(R" are never put within +the scope of \f(CW\*(C`\eDIFadd\*(C'\fR. Added comments are marked by prepending +"\f(CW\*(C`%DIF\ >\ \*(C'\fR". +.PP +Within deleted blocks text is highlighted with \f(CW\*(C`\eDIFdel\*(C'\fR. Deleted +comments are marked by prepending "\f(CW\*(C`%DIF\ <\ \*(C'\fR\*(L". Non-safe command +and curly braces within deleted blocks are commented out with +\&\*(R"\f(CW\*(C`%DIFDELCMD\ <\ \*(C'\fR". +.SH "OPTIONS" +.IX Header "OPTIONS" +.SS "Preamble" +.IX Subsection "Preamble" +The following options determine the visual markup style by adding the appropriate +command definitions to the preamble. See the end of this section for a description of +available styles. +.IP "\fB\-\-type=markupstyle\fR or \fB\-t markupstyle\fR" 4 +.IX Item "--type=markupstyle or -t markupstyle" +Add code to preamble for selected markup style. This option defines +\&\f(CW\*(C`\eDIFadd\*(C'\fR and \f(CW\*(C`\eDIFdel\*(C'\fR commands. +Available styles: +.Sp +\&\f(CW\*(C`UNDERLINE CTRADITIONAL TRADITIONAL CFONT FONTSTRIKE INVISIBLE +CHANGEBAR CCHANGEBAR CULINECHBAR CFONTCBHBAR\*(C'\fR +.Sp +[ Default: \f(CW\*(C`UNDERLINE\*(C'\fR ] +.IP "\fB\-\-subtype=markstyle\fR or \fB\-s markstyle\fR" 4 +.IX Item "--subtype=markstyle or -s markstyle" +Add code to preamble for selected style for bracketing +commands (e.g. to mark changes in margin). This option defines +\&\f(CW\*(C`\eDIFaddbegin\*(C'\fR, \f(CW\*(C`\eDIFaddend\*(C'\fR, \f(CW\*(C`\eDIFdelbegin\*(C'\fR and \f(CW\*(C`\eDIFdelend\*(C'\fR commands. +Available styles: \f(CW\*(C`SAFE MARGINAL COLOR DVIPSCOL\*(C'\fR +.Sp +[ Default: \f(CW\*(C`SAFE\*(C'\fR ] +.IP "\fB\-\-floattype=markstyle\fR or \fB\-f markstyle\fR" 4 +.IX Item "--floattype=markstyle or -f markstyle" +Add code to preamble for selected style which +replace standard marking and markup commands within floats +(e.g., marginal remarks cause an error within floats +so marginal marking can be disabled thus). This option defines all +\&\f(CW\*(C`\eDIF...FL\*(C'\fR commands. +Available styles: \f(CW\*(C`FLOATSAFE TRADITIONALSAFE IDENTICAL\*(C'\fR +.Sp +[ Default: \f(CW\*(C`FLOATSAFE\*(C'\fR ] +.IP "\fB\-\-encoding=enc\fR or \fB\-e enc\fR" 4 +.IX Item "--encoding=enc or -e enc" +Specify encoding of old.tex and new.tex. Typical encodings are +\&\f(CW\*(C`ascii\*(C'\fR, \f(CW\*(C`utf8\*(C'\fR, \f(CW\*(C`latin1\*(C'\fR, \f(CW\*(C`latin9\*(C'\fR. A list of available encodings can be +obtained by executing +.Sp +\&\f(CW\*(C`perl \-MEncode \-e \*(Aqprint join ("\en",Encode\-\*(C'\fRencodings( \*(L":all\*(R" )) ;' > +.Sp +[Default encoding is utf8 unless the first few lines of the preamble contain +an invocation \f(CW\*(C`\eusepackage[..]{inputenc}\*(C'\fR in which case the +encoding chosen by this command is asssumed. Note that \s-1ASCII\s0 (standard +latex) is a subset of utf8] +.IP "\fB\-\-preamble=file\fR or \fB\-p file\fR" 4 +.IX Item "--preamble=file or -p file" +Insert file at end of preamble instead of generating +preamble. The preamble must define the following commands +\&\f(CW\*(C`\eDIFaddbegin, \eDIFaddend, \eDIFadd{..}, +\&\eDIFdelbegin,\eDIFdelend,\eDIFdel{..},\*(C'\fR +and varieties for use within floats +\&\f(CW\*(C`\eDIFaddbeginFL, \eDIFaddendFL, \eDIFaddFL{..}, +\&\eDIFdelbeginFL, \eDIFdelendFL, \eDIFdelFL{..}\*(C'\fR +(If this option is set \fB\-t\fR, \fB\-s\fR, and \fB\-f\fR options +are ignored.) +.IP "\fB\-\-packages=pkg1,pkg2,..\fR" 4 +.IX Item "--packages=pkg1,pkg2,.." +Tell latexdiff that .tex file is processed with the packages in list +loaded. This is normally not necessary if the .tex file includes the +preamble, as the preamble is automatically scanned for \f(CW\*(C`\eusepackage\*(C'\fR commands. +Use of the \fB\-\-packages\fR option disables automatic scanning, so if for any +reason package specific parsing needs to be switched off, use \fB\-\-packages=none\fR. +The following packages trigger special behaviour: +.RS 4 +.ie n .IP """amsmath""" 8 +.el .IP "\f(CWamsmath\fR" 8 +.IX Item "amsmath" +Configuration variable amsmath is set to \f(CW\*(C`align*\*(C'\fR (Default: \f(CW\*(C`eqnarray*\*(C'\fR) +.ie n .IP """endfloat""" 8 +.el .IP "\f(CWendfloat\fR" 8 +.IX Item "endfloat" +Ensure that \f(CW\*(C`\ebegin{figure}\*(C'\fR and \f(CW\*(C`\eend{figure}\*(C'\fR always appear by themselves on a line. +.ie n .IP """hyperref""" 8 +.el .IP "\f(CWhyperref\fR" 8 +.IX Item "hyperref" +Change name of \f(CW\*(C`\eDIFadd\*(C'\fR and \f(CW\*(C`\eDIFdel\*(C'\fR commands to \f(CW\*(C`\eDIFaddtex\*(C'\fR and \f(CW\*(C`\eDIFdeltex\*(C'\fR and +define new \f(CW\*(C`\eDIFadd\*(C'\fR and \f(CW\*(C`\eDIFdel\*(C'\fR commands, which provide a wrapper for these commands, +using them for the text but not for the link defining command (where any markup would cause +errors). +.RE +.RS 4 +.Sp +[ Default: scan the preamble for \f(CW\*(C`\e\eusepackage\*(C'\fR commands to determine + loaded packages.] +.RE +.IP "\fB\-\-show\-preamble\fR" 4 +.IX Item "--show-preamble" +Print generated or included preamble commands to stdout. +.SS "Configuration" +.IX Subsection "Configuration" +.ie n .IP "\fB\-\-exclude\-safecmd=exclude\-file\fR or \fB\-A exclude-file\fR or \fB\-\-exclude\-safecmd=""cmd1,cmd2,...""\fR" 4 +.el .IP "\fB\-\-exclude\-safecmd=exclude\-file\fR or \fB\-A exclude-file\fR or \fB\-\-exclude\-safecmd=``cmd1,cmd2,...''\fR" 4 +.IX Item "--exclude-safecmd=exclude-file or -A exclude-file or --exclude-safecmd=cmd1,cmd2,..." +.PD 0 +.IP "\fB\-\-replace\-safecmd=replace\-file\fR" 4 +.IX Item "--replace-safecmd=replace-file" +.ie n .IP "\fB\-\-append\-safecmd=append\-file\fR or \fB\-a append-file\fR or \fB\-\-append\-safecmd=""cmd1,cmd2,...""\fR" 4 +.el .IP "\fB\-\-append\-safecmd=append\-file\fR or \fB\-a append-file\fR or \fB\-\-append\-safecmd=``cmd1,cmd2,...''\fR" 4 +.IX Item "--append-safecmd=append-file or -a append-file or --append-safecmd=cmd1,cmd2,..." +.PD +Exclude from, replace or append to the list of regular expressions (RegEx) +matching commands which are safe to use within the +scope of a \f(CW\*(C`\eDIFadd\*(C'\fR or \f(CW\*(C`\eDIFdel\*(C'\fR command. The file must contain +one Perl-RegEx per line (Comment lines beginning with # or % are +ignored). Note that the RegEx needs to match the whole of +the token, i.e., /^regex$/ is implied and that the initial +\&\*(L"\e\*(R" of the command is not included. +The \fB\-\-exclude\-safecmd\fR and \fB\-\-append\-safecmd\fR options can be combined with the \-\fB\-\-replace\-safecmd\fR +option and can be used repeatedly to add cumulatively to the lists. + \fB\-\-exclude\-safecmd\fR +and \fB\-\-append\-safecmd\fR can also take a comma separated list as input. If a +comma for one of the regex is required, escape it thus \*(L"\e,\*(R". In most cases it +will be necessary to protect the comma-separated list from the shell by putting +it in quotation marks. +.ie n .IP "\fB\-\-exclude\-textcmd=exclude\-file\fR or \fB\-X exclude-file\fR or \fB\-\-exclude\-textcmd=""cmd1,cmd2,...""\fR" 4 +.el .IP "\fB\-\-exclude\-textcmd=exclude\-file\fR or \fB\-X exclude-file\fR or \fB\-\-exclude\-textcmd=``cmd1,cmd2,...''\fR" 4 +.IX Item "--exclude-textcmd=exclude-file or -X exclude-file or --exclude-textcmd=cmd1,cmd2,..." +.PD 0 +.IP "\fB\-\-replace\-textcmd=replace\-file\fR" 4 +.IX Item "--replace-textcmd=replace-file" +.ie n .IP "\fB\-\-append\-textcmd=append\-file\fR or \fB\-x append-file\fR or \fB\-\-append\-textcmd=""cmd1,cmd2,...""\fR" 4 +.el .IP "\fB\-\-append\-textcmd=append\-file\fR or \fB\-x append-file\fR or \fB\-\-append\-textcmd=``cmd1,cmd2,...''\fR" 4 +.IX Item "--append-textcmd=append-file or -x append-file or --append-textcmd=cmd1,cmd2,..." +.PD +Exclude from, replace or append to the list of regular expressions +matching commands whose last argument is text. See +entry for \fB\-\-exclude\-safecmd\fR directly above for further details. +.IP "\fB\-\-replace\-context1cmd=replace\-file\fR" 4 +.IX Item "--replace-context1cmd=replace-file" +.PD 0 +.ie n .IP "\fB\-\-append\-context1cmd=append\-file\fR or =item \fB\-\-append\-context1cmd=""cmd1,cmd2,...""\fR" 4 +.el .IP "\fB\-\-append\-context1cmd=append\-file\fR or =item \fB\-\-append\-context1cmd=``cmd1,cmd2,...''\fR" 4 +.IX Item "--append-context1cmd=append-file or =item --append-context1cmd=cmd1,cmd2,..." +.PD +Replace or append to the list of regex matching commands +whose last argument is text but which require a particular +context to work, e.g. \ecaption will only work within a figure +or table. These commands behave like text commands, except when +they occur in a deleted section, when they are disabled, but their +argument is shown as deleted text. +.IP "\fB\-\-replace\-context2cmd=replace\-file\fR" 4 +.IX Item "--replace-context2cmd=replace-file" +.PD 0 +.ie n .IP "\fB\-\-append\-context2cmd=append\-file\fR or =item \fB\-\-append\-context2cmd=""cmd1,cmd2,...""\fR As corresponding commands for context1. The only difference is that context2 commands are completely disabled in deleted sections, including their arguments." 4 +.el .IP "\fB\-\-append\-context2cmd=append\-file\fR or =item \fB\-\-append\-context2cmd=``cmd1,cmd2,...''\fR As corresponding commands for context1. The only difference is that context2 commands are completely disabled in deleted sections, including their arguments." 4 +.IX Item "--append-context2cmd=append-file or =item --append-context2cmd=cmd1,cmd2,... As corresponding commands for context1. The only difference is that context2 commands are completely disabled in deleted sections, including their arguments." +.IP "\fB\-\-config var1=val1,var2=val2,...\fR or \fB\-c var1=val1,..\fR" 4 +.IX Item "--config var1=val1,var2=val2,... or -c var1=val1,.." +.IP "\fB\-c configfile\fR" 4 +.IX Item "-c configfile" +.PD +Set configuration variables. The option can be repeated to set different +variables (as an alternative to the comma-separated list). +Available variables (see below for further explanations): +.Sp +\&\f(CW\*(C`MINWORDSBLOCK\*(C'\fR (integer) +.Sp +\&\f(CW\*(C`FLOATENV\*(C'\fR (RegEx) +.Sp +\&\f(CW\*(C`PICTUREENV\*(C'\fR (RegEx) +.Sp +\&\f(CW\*(C`MATHENV\*(C'\fR (RegEx) +.Sp +\&\f(CW\*(C`MATHREPL\*(C'\fR (String) +.Sp +\&\f(CW\*(C`MATHARRENV\*(C'\fR (RegEx) +.Sp +\&\f(CW\*(C`MATHARRREPL\*(C'\fR (String) +.Sp +\&\f(CW\*(C`ARRENV\*(C'\fR (RegEx) +.Sp +\&\f(CW\*(C`COUNTERCMD\*(C'\fR (RegEx) +.IP "\fB\-\-show\-safecmd\fR" 4 +.IX Item "--show-safecmd" +Print list of RegEx matching and excluding safe commands. +.IP "\fB\-\-show\-textcmd\fR" 4 +.IX Item "--show-textcmd" +Print list of RegEx matching and excluding commands with text argument. +.IP "\fB\-\-show\-config\fR" 4 +.IX Item "--show-config" +Show values of configuration variables. +.IP "\fB\-\-show\-all\fR" 4 +.IX Item "--show-all" +Combine all \-\-show commands. +.Sp +\&\s-1NB\s0 For all \-\-show commands, no \f(CW\*(C`old.tex\*(C'\fR or \f(CW\*(C`new.tex\*(C'\fR file needs to be specified, and no +differencing takes place. +.SS "Other configuration options:" +.IX Subsection "Other configuration options:" +.IP "\fB\-\-allow\-spaces\fR" 4 +.IX Item "--allow-spaces" +Allow spaces between bracketed or braced arguments to commands. Note +that this option might have undesirable side effects (unrelated scope +might get lumpeded with preceding commands) so should only be used if the +default produces erroneous results. (Default requires arguments to +directly follow each other without intervening spaces). +.IP "\fB\-\-math\-markup=level\fR" 4 +.IX Item "--math-markup=level" +Determine granularity of markup in displayed math environments: +Possible values for level are (both numerical and text labels are acceptable): +.Sp +\&\f(CW\*(C`off\*(C'\fR or \f(CW0\fR: suppress markup for math environments. Deleted equations will not +appear in diff file. This mode can be used if all the other modes +cause invalid latex code. +.Sp +\&\f(CW\*(C`whole\*(C'\fR or \f(CW1\fR: Differencing on the level of whole equations. Even trivial changes +to equations cause the whole equation to be marked changed. This +mode can be used if processing in coarse or fine mode results in +invalid latex code. +.Sp +\&\f(CW\*(C`coarse\*(C'\fR or \f(CW2\fR: Detect changes within equations marked up with a coarse +granularity; changes in equation type (e.g.displaymath to equation) +appear as a change to the complete equation. This mode is recommended +for situations where the content and order of some equations are still +being changed. [Default] +.Sp +\&\f(CW\*(C`fine\*(C'\fR or \f(CW3\fR: Detect small change in equations and mark up at fine granularity. +This mode is most suitable, if only minor changes to equations are +expected, e.g. correction of typos. +.IP "\fB\-\-disable\-citation\-markup\fR" 4 +.IX Item "--disable-citation-markup" +Suppress citation markup in styles using ulem (\s-1UNDERLINE\s0, +\&\s-1FONTSTRIKE\s0, \s-1CULINECHBAR\s0) +.IP "\fB\-\-enable\-citation\-markup\fR" 4 +.IX Item "--enable-citation-markup" +Protect citation commands in changed sections with \e\embox command [i.e. use default behaviour for ulem package for other packages] +.SS "Miscellaneous" +.IX Subsection "Miscellaneous" +.RS 4 +Output various status information to stderr during processing. +Default is to work silently. +.Sp +\&\fB\-\-driver=type\fR +.Sp +Choose driver for changebar package (only relevant for styles using + changebar: \s-1CCHANGEBAR\s0 \s-1CFONTCHBAR\s0 \s-1CULINECHBAR\s0 \s-1CHANGEBAR\s0). Possible +drivers are listed in changebar manual, e.g. pdftex,dvips,dvitops + [Default: dvips] +.Sp +\&\fB\-\-ignore\-warnings\fR +.Sp +Suppress warnings about inconsistencies in length between input and +parsed strings and missing characters. These warning messages are +often related to non-standard latex or latex constructions with a +syntax unknown to \f(CW\*(C`latexdiff\*(C'\fR but the resulting difference argument +is often fully functional anyway, particularly if the non-standard +latex only occurs in parts of the text which have not changed. +.Sp +\&\fB\-\-label=label\fR or +\&\fB\-L label\fR +.Sp +Sets the labels used to describe the old and new files. The first use +of this option sets the label describing the old file and the second +use of the option sets the label for the new file, i.e. set both +labels like this \f(CW\*(C`\-L labelold \-L labelnew\*(C'\fR. +[Default: use the filename and modification dates for the label] +.Sp +\&\fB\-\-no\-label\fR +.Sp +Suppress inclusion of old and new file names as comment in output file +.Sp +\&\fB\-\-visble\-label\fR +.Sp +Include old and new filenames (or labels set with \-\-label option) as +visible output. +.Sp +\&\fB\-\-flatten\fR +.Sp +Replace \f(CW\*(C`\einput\*(C'\fR and \f(CW\*(C`\einclude\*(C'\fR commands within body by the content +of the files in their argument. If \f(CW\*(C`\eincludeonly\*(C'\fR is present in the +preamble, only those files are expanded into the document. However, +no recursion is done, i.e. \f(CW\*(C`\einput\*(C'\fR and \f(CW\*(C`\einclude\*(C'\fR commands within +included sections are not expanded. The included files are assumed to + be located in the same directories as the old and new master files, +respectively, making it possible to organise files into old and new directories. +\&\-\-flatten is applied recursively, so inputted files can contain further +\&\f(CW\*(C`\einput\*(C'\fR statements. +.Sp +Use of this option might result in prohibitive processing times for +larger documents, and the resulting difference document +no longer reflects the structure of the input documents. +.Sp +\&\fB\-\-help\fR or +\&\fB\-h\fR +.Sp +Show help text +.Sp +\&\fB\-\-version\fR +.Sp +Show version number +.RE +.SS "Predefined styles" +.IX Subsection "Predefined styles" +.SS "Major types" +.IX Subsection "Major types" +The major type determine the markup of plain text and some selected latex commands outside floats by defining the markup commands \f(CW\*(C`\eDIFadd{...}\*(C'\fR and \f(CW\*(C`\eDIFdel{...}\*(C'\fR . +.ie n .IP """UNDERLINE""" 10 +.el .IP "\f(CWUNDERLINE\fR" 10 +.IX Item "UNDERLINE" +Added text is wavy-underlined and blue, discarded text is struck out and red +(Requires color and ulem packages). Overstriking does not work in displayed math equations such that deleted parts of equation are underlined, not struck out (this is a shortcoming inherent to the ulem package). +.ie n .IP """CTRADITIONAL""" 10 +.el .IP "\f(CWCTRADITIONAL\fR" 10 +.IX Item "CTRADITIONAL" +Added text is blue and set in sans-serif, and a red footnote is created for each discarded +piece of text. (Requires color package) +.ie n .IP """TRADITIONAL""" 10 +.el .IP "\f(CWTRADITIONAL\fR" 10 +.IX Item "TRADITIONAL" +Like \f(CW\*(C`CTRADITIONAL\*(C'\fR but without the use of color. +.ie n .IP """CFONT""" 10 +.el .IP "\f(CWCFONT\fR" 10 +.IX Item "CFONT" +Added text is blue and set in sans-serif, and discarded text is red and very small size. +.ie n .IP """FONTSTRIKE""" 10 +.el .IP "\f(CWFONTSTRIKE\fR" 10 +.IX Item "FONTSTRIKE" +Added tex is set in sans-serif, discarded text small and struck out +.ie n .IP """CCHANGEBAR""" 10 +.el .IP "\f(CWCCHANGEBAR\fR" 10 +.IX Item "CCHANGEBAR" +Added text is blue, and discarded text is red. Additionally, the changed text is marked with a bar in the margin (Requires color and changebar packages). +.ie n .IP """CFONTCHBAR""" 10 +.el .IP "\f(CWCFONTCHBAR\fR" 10 +.IX Item "CFONTCHBAR" +Like \f(CW\*(C`CFONT\*(C'\fR but with additional changebars (Requires color and changebar packages). +.ie n .IP """CULINECHBAR""" 10 +.el .IP "\f(CWCULINECHBAR\fR" 10 +.IX Item "CULINECHBAR" +Like \f(CW\*(C`UNDERLINE\*(C'\fR but with additional changebars (Requires color, ulem and changebar packages). +.ie n .IP """CHANGEBAR""" 10 +.el .IP "\f(CWCHANGEBAR\fR" 10 +.IX Item "CHANGEBAR" +No mark up of text, but mark margins with changebars (Requires changebar package). +.ie n .IP """INVISIBLE""" 10 +.el .IP "\f(CWINVISIBLE\fR" 10 +.IX Item "INVISIBLE" +No visible markup (but generic markup commands will still be inserted. +.SS "Subtypes" +.IX Subsection "Subtypes" +The subtype defines the commands that are inserted at the begin and end of added or discarded blocks, irrespectively of whether these blocks contain text or commands (Defined commands: \f(CW\*(C`\eDIFaddbegin, \eDIFaddend, \eDIFdelbegin, \eDIFdelend\*(C'\fR) +.ie n .IP """SAFE""" 10 +.el .IP "\f(CWSAFE\fR" 10 +.IX Item "SAFE" +No additional markup (Recommended choice) +.ie n .IP """MARGIN""" 10 +.el .IP "\f(CWMARGIN\fR" 10 +.IX Item "MARGIN" +Mark beginning and end of changed blocks with symbols in the margin nearby (using +the standard \f(CW\*(C`\emarginpar\*(C'\fR command \- note that this sometimes moves somewhat +from the intended position. +.ie n .IP """COLOR""" 10 +.el .IP "\f(CWCOLOR\fR" 10 +.IX Item "COLOR" +An alternative way of marking added passages in blue, and deleted ones in red. +(It is recommeneded to use instead the main types to effect colored markup, +although in some cases coloring with dvipscol can be more complete, for example +with citation commands). +.ie n .IP """DVIPSCOL""" 10 +.el .IP "\f(CWDVIPSCOL\fR" 10 +.IX Item "DVIPSCOL" +An alternative way of marking added passages in blue, and deleted ones in red. Note +that \f(CW\*(C`DVIPSCOL\*(C'\fR only works with the dvips converter, e.g. not pdflatex. +(it is recommeneded to use instead the main types to effect colored markup, +although in some cases coloring with dvipscol can be more complete). +.SS "Float Types" +.IX Subsection "Float Types" +Some of the markup used in the main text might cause problems when used within +floats (e.g. figures or tables). For this reason alternative versions of all +markup commands are used within floats. The float type defines these alternative commands. +.ie n .IP """FLOATSAFE""" 10 +.el .IP "\f(CWFLOATSAFE\fR" 10 +.IX Item "FLOATSAFE" +Use identical markup for text as in the main body, but set all commands marking the begin and end of changed blocks to null-commands. You have to choose this float type if your subtype is \f(CW\*(C`MARGIN\*(C'\fR as \f(CW\*(C`\emarginpar\*(C'\fR does not work properly within floats. +.ie n .IP """TRADITIONALSAFE""" 10 +.el .IP "\f(CWTRADITIONALSAFE\fR" 10 +.IX Item "TRADITIONALSAFE" +Mark additions the same way as in the main text. Deleted environments are marked by angular brackets \e[ and \e] and the deleted text is set in scriptscript size. This float type should always be used with the \f(CW\*(C`TRADITIONAL\*(C'\fR and \f(CW\*(C`CTRADITIONAL\*(C'\fR markup types as the \efootnote command does not work properly in floating environments. +.ie n .IP """IDENTICAL""" 10 +.el .IP "\f(CWIDENTICAL\fR" 10 +.IX Item "IDENTICAL" +Make no difference between the main text and floats. +.SS "Configuration Variables" +.IX Subsection "Configuration Variables" +.ie n .IP """MINWORDSBLOCK""" 10 +.el .IP "\f(CWMINWORDSBLOCK\fR" 10 +.IX Item "MINWORDSBLOCK" +Minimum number of tokens required to form an independent block. This value is +used in the algorithm to detect changes of complete blocks by merging identical text parts of less than \f(CW\*(C`MINWORDSBLOCK\*(C'\fR to the preceding added and discarded parts. +.Sp +[ Default: 3 ] +.ie n .IP """FLOATENV""" 10 +.el .IP "\f(CWFLOATENV\fR" 10 +.IX Item "FLOATENV" +Environments whose name matches the regular expression in \f(CW\*(C`FLOATENV\*(C'\fR are +considered floats. Within these environments, the \fIlatexdiff\fR markup commands +are replaced by their \s-1FL\s0 variaties. +.Sp +[ Default: \f(CW\*(C`(?:figure|table|plate)[\ew\ed*@]*\*(C'\fR\ ] +.ie n .IP """PICTUREENV""" 10 +.el .IP "\f(CWPICTUREENV\fR" 10 +.IX Item "PICTUREENV" +Within environments whose name matches the regular expression in \f(CW\*(C`PICTUREENV\*(C'\fR +all latexdiff markup is removed (in pathologic cases this might lead to + inconsistent markup but this situation should be rare). +.Sp +[ Default: \f(CW\*(C`(?:picture|DIFnomarkup)[\ew\ed*@]*\*(C'\fR\ ] +.ie n .IP """MATHENV"",""MATHREPL""" 10 +.el .IP "\f(CWMATHENV\fR,\f(CWMATHREPL\fR" 10 +.IX Item "MATHENV,MATHREPL" +If both \ebegin and \eend for a math environment (environment name matching \f(CW\*(C`MATHENV\*(C'\fR +or \e[ and \e]) +are within the same deleted block, they are replaced by a \ebegin and \eend commands for \f(CW\*(C`MATHREPL\*(C'\fR +rather than being commented out. +.Sp +[ Default: \f(CW\*(C`MATHENV\*(C'\fR=\f(CW\*(C`(?:displaymath|equation)\*(C'\fR\ , \f(CW\*(C`MATHREPL\*(C'\fR=\f(CW\*(C`displaymath\*(C'\fR\ ] +.ie n .IP """MATHARRENV"",""MATHARRREPL""" 10 +.el .IP "\f(CWMATHARRENV\fR,\f(CWMATHARRREPL\fR" 10 +.IX Item "MATHARRENV,MATHARRREPL" +as \f(CW\*(C`MATHENV\*(C'\fR,\f(CW\*(C`MATHREPL\*(C'\fR but for equation arrays +.Sp +[ Default: \f(CW\*(C`MATHARRENV\*(C'\fR=\f(CW\*(C`eqnarray\e*?\*(C'\fR\ , \f(CW\*(C`MATHREPL\*(C'\fR=\f(CW\*(C`eqnarray\*(C'\fR\ ] +.ie n .IP """ARRENV""" 10 +.el .IP "\f(CWARRENV\fR" 10 +.IX Item "ARRENV" +If a match to \f(CW\*(C`ARRENV\*(C'\fR is found within an inline math environment within a deleted or added block, then the inlined math +is surrounded by \f(CW\*(C`\embox{\*(C'\fR...\f(CW\*(C`}\*(C'\fR. This is necessary as underlining does not work within inlined array environments. +.Sp +[ Default: \f(CW\*(C`ARRENV\*(C'\fR=\f(CW\*(C`(?:array|[pbvBV]matrix)\*(C'\fR\ +.ie n .IP """COUNTERCMD""" 10 +.el .IP "\f(CWCOUNTERCMD\fR" 10 +.IX Item "COUNTERCMD" +If a command in a deleted block which is also in the textcmd list matches \f(CW\*(C`COUNTERCMD\*(C'\fR then an +additional command \f(CW\*(C`\eaddtocounter{\*(C'\fR\fIcntcmd\fR\f(CW\*(C`}{\-1}\*(C'\fR, where \fIcntcmd\fR is the matching command, is appended in the diff file such that the numbering in the diff file remains synchronized with the +numbering in the new file. +.Sp +[ Default: \f(CW\*(C`COUNTERCMD\*(C'\fR=\f(CW\*(C`(?:footnote|part|section|subsection\*(C'\fR ... +.Sp +\&\f(CW\*(C`|subsubsection|paragraph|subparagraph)\*(C'\fR ] +.SH "COMMON PROBLEMS" +.IX Header "COMMON PROBLEMS" +.IP "Citations result in overfull boxes" 10 +.IX Item "Citations result in overfull boxes" +There is an incompatibility between the \f(CW\*(C`ulem\*(C'\fR package, which \f(CW\*(C`latexdiff\*(C'\fR uses for underlining and striking out in the \s-1UNDERLINE\s0 style, +the default style. In order to be able to mark up citations properly, they are placed with an \f(CW\*(C`\embox\*(C'\fR command in post-processing. As mboxes +cannot be broken across lines, this procedure frequently results in overfull boxes, possibly obscuring the content as it extends beyond the right margin. If this is a problem, you have two possibilities: +.Sp +1. Use \f(CW\*(C`COLOR\*(C'\fR or \f(CW\*(C`DVIPSCOL\*(C'\fR subtype markup (option \f(CW\*(C`\-s COLOR\*(C'\fR): If this markup is chosen, then changed citations are no longer marked up +with the wavy line (additions) or struck out (deletions), but are still highlighted in the appropriate color. +.Sp +2. Choose option \f(CW\*(C`\-\-disable\-citation\-markup\*(C'\fR which turns off the marking up of citations: deleted citations are no longer shown, and +added ctations are shown without markup. (This was the default behaviour of latexdiff at versions 0.6 and older) +.IP "Changes in complicated mathematical equations result in latex processing errors" 10 +.IX Item "Changes in complicated mathematical equations result in latex processing errors" +Try options \f(CW\*(C`\-\-math\-markup=whole\*(C'\fR. If even that fails, you can turn off mark up for equations with \f(CW\*(C`\-\-math\-markup=off\*(C'\fR. +.SH "BUGS" +.IX Header "BUGS" +Option allow-spaces not implemented entirely consistently. It breaks +the rules that number and type of white space does not matter, as +different numbers of inter-argument spaces are treated as significant. +.PP +Please submit bug reports on the latexdiff project page \fIhttp://latexdiff.berlios.de\fR, +send them to user discussion list \f(CW\*(C`latexdiff\-users@lists.berlios,de\*(C'\fR (prior subscription +to list required, also on project webpage) +or send them to \fItilmann@gfz\-potsdam.de\fR. Include the serial number of \fIlatexdiff\fR +(from comments at the top of the source or use \fB\-\-version\fR). If you come across latex +files that are error-free and conform to the specifications set out +above, and whose differencing still does not result in error-free +latex, please send me those files, ideally edited to only contain the +offending passage as long as that still reproduces the problem. If your +file relies on non-standard class files, you must include those. I will not +look at examples where I have trouble to latex the original files. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +latexrevise, latexdiff-vc +.SH "PORTABILITY" +.IX Header "PORTABILITY" +\&\fIlatexdiff\fR does not make use of external commands and thus should run +on any platform supporting Perl 5.6 or higher. If files with encodings +other than \s-1ASCII\s0 or \s-1UTF\-8\s0 are processed, Perl 5.8 or higher is required. +.PP +The standard version of \fIlatexdiff\fR requires installation of the Perl package +\&\f(CW\*(C`Algorithm::Diff\*(C'\fR (available from \fIwww.cpan.org\fR \- +\&\fIhttp://search.cpan.org/~nedkonz/Algorithm\-Diff\-1.15\fR) but a stand-alone +version, \fIlatexdiff-so\fR, which has this package inlined, is available, too. +\&\fIlatexdiff-fast\fR requires the \fIdiff\fR command to be present. +.SH "AUTHOR" +.IX Header "AUTHOR" +Version 1.0.2 +Copyright (C) 2004\-2012 Frederik Tilmann +.PP +This program is free software; you can redistribute it and/or modify +it under the terms of the \s-1GNU\s0 General Public License Version 3 +.PP +Contributors of fixes and additions: V. Kuhlmann, J. Paisley, N. Becker, T. Doerges, K. Huebner, +T. Connors, Sebastian Gouezel and many others. +Thanks to the many people who send in bug reports, feature suggestions, and other feedback. +.SH "POD ERRORS" +.IX Header "POD ERRORS" +Hey! \fBThe above document had some coding errors, which are explained below:\fR +.IP "Around line 2942:" 4 +.IX Item "Around line 2942:" +=over should be: '=over' or '=over positive_number' +.Sp +You can't have =items (as at line 2948) unless the first thing after the =over is an =item diff --git a/Master/texmf-dist/doc/man/man1/latexdiff.man1.pdf b/Master/texmf-dist/doc/man/man1/latexdiff.man1.pdf Binary files differnew file mode 100644 index 00000000000..efa57b96109 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/latexdiff.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/latexmk.1 b/Master/texmf-dist/doc/man/man1/latexmk.1 new file mode 100644 index 00000000000..64567ed25f4 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/latexmk.1 @@ -0,0 +1,2511 @@ +.TH LATEXMK 1L "11 November 2012" "" +.SH NAME +latexmk \- generate LaTeX document +.SH SYNOPSIS +.B latexmk [options] [file ...] +.SH DESCRIPTION +.I Latexmk +completely automates the process of compiling a LaTeX document. +Essentially, it is like a specialized relative of the general +\fImake\fR utility, but one which determines dependencies +automatically and has some other very useful features. In its basic +mode of operation \fIlatexmk\fR is given the name of the primary +source file for a document, and it issues the appropriate sequence of +commands to generate a .dvi, .ps, .pdf and/or hardcopy version of the +document. +.PP +By default \fIlatexmk\fR will run the commands necessary to generate +a .dvi file. +.PP +\fILatexmk\fR can also be set to run continuously with a suitable +previewer. In that case the LaTeX program, etc, are rerun whenever +one of the source files is modified, and the previewer automatically +updates the on-screen view of the compiled document. +.PP +\fILatexmk\fR determines which are the source files by examining the +log file. (Optionally, it also examines the list of input and output +files generated by the \fB-recorder\fR option of modern versions of +\fIlatex\fR and \fIpdflatex\fR. See the documentation for the +\fB-recorder\fR option of \fIlatexmk\fR below.) +When \fIlatexmk\fR is run, it examines properties of the +source files, and if any have been changed since the last document +generation, \fIlatexmk\fR will run the various LaTeX processing +programs as necessary. In particular, it will repeat the run of LaTeX +(or pdflatex) often enough to resolve all cross references; depending +on the macro packages used. With some macro packages and document +classes, four, or even more, runs may be needed. If necessary, +\fIlatexmk\fR will also run bibtex, biber, and/or makeindex. In addition, +\fIlatexmk\fR can be configured to generate other necessary files. +For example, from an updated figure file it can automatically generate +a file in encapsulated postscript or another suitable format for +reading by LaTeX. +.PP +\fILatexmk\fR has two different previewing options. In the simple +\fB-pv\fR option, a dvi, postscript or pdf previewer is automatically +run after generating the dvi, postscript or pdf version of the +document. The type of file to view is selected according to +configuration settings and command line options. +.PP +The second previewing option is the powerful \fB-pvc\fR option +(mnemonic: "preview continuously"). In this case, \fIlatexmk\fR runs +continuously, regularly monitoring all the source files to see if any +have changed. Every time a change is detected, \fIlatexmk\fR runs all +the programs necessary to generate a new version of the document. A +good previewer (like \fIgv\fR) will then automatically update its +display. Thus the user can simply edit a file and, when the changes +are written to disk, \fIlatexmk\fR completely automates the cycle of +updating the .dvi (and possibly the .ps and .pdf) file, and refreshing +the previewer's display. It's not quite WYSIWYG, but usefully close. +.PP +For other previewers, the user may have to manually make the previewer +update its display, which can be (some versions of xdvi and gsview) as +simple as forcing a redraw of its display. +.PP +\fILatexmk\fR has the ability to print a banner in gray diagonally +across each page when making the postscript file. It can also, if +needed, call an external program to do other postprocessing on +generated dvi and postscript files. (See the options \fB-dF\fR and +\fB-pF\fR, and the documentation for the \fI$dvi_filter\fR and +\fI$ps_filter\fR configuration variables.) These capabilities are +leftover from older versions of \fIlatexmk\fR. More flexibility can +be obtained in current versions, since the command strings for running +latex, pdflatex, etc can now be configured to run multiple commands. +This also extends the possibility of postprocessing generated files to +pdf files. +files. +.PP +\fILatexmk\fR is highly configurable, both from the command line and +in configuration files, so that it can accommodate a wide variety of +user needs and system configurations. Default values are set +according to the operating system, so \fIlatexmk\fR often works +without special configuration on MS-Windows, cygwin, Linux, OS-X, and +other UNIX systems (notably Solaris). +.PP +A very annoying complication handled very reliably by \fILatexmk\fR, +is that LaTeX is a multiple pass system. On each run, LaTeX reads in +information generated on a previous run, for things like cross +referencing and indexing. In the simplest cases, a second run of +LaTeX suffices, and often the log file contains a message about the +need for another pass. However, there is a wide variety of add-on +macro packages to LaTeX, with a variety of behaviors. The result is +to break simple-minded determinations of how many runs are needed and +of which programs. In its new version, \fIlatexmk\fR has a highly +general and efficient solution to these issues. The solution involves +retaining between runs information on the source files, and a symptom +is that \fIlatexmk\fR generates an extra file (with extension +\fI.fdb_latexmk\fR, by default) that contains the source file +information. + +.SH LATEXMK OPTIONS AND ARGUMENTS ON COMMAND LINE +In general the command line to invoke \fIlatexmk\fR has the form + + latexmk [options] [file] + +All options can be introduced by single or double "-" characters, +e.g., "latexmk -help" or "latexmk --help". + +\fBNote\fR: In addition to the options in the list below, +\fIlatexmk\fR recognizes almost all the options recognized by the +\fIlatex\fR and \fIpdflatex\fR programs in one of both of their +current TeXLive and MiKTeX implementations. Some of the options for +these programs also trigger special action or behavior by +\fIlatexmk\fR, in which case they are in this list. Otherwise, they +are just passed through to a called \fIlatex\fR or \fIpdflatex\fR +program. Run \fIlatexmk\fR with the \fB-showextraoptions\fR to get a +list of the options that \fIlatexmk\fR accepts and that are simply +passed through to \fIlatex\fR or \fIpdflatex\fR. See also the +explanation of the \fB-showextraoptions\fR option for more +information. + +\fBDefinitions of options and arguments\fR + +.TP +.B file +One or more files can be specified. If no files are specified, +\fIlatexmk\fR will, by default, run on all files in the current working directory +with a ".tex" extension. This behavior can be changed: see the +description concerning the \fI@default_files\fR variable in the +section "List of configuration variables usable in initialization +files". +.PP +If a file is specified without an extension, then the ".tex" extension +is automatically added, just as LaTeX does. Thus, if you specify: + + latexmk foo + +then \fIlatexmk\fR will operate on the file "foo.tex". +.TP + +.B -auxdir=FOO or -aux-directory=FOO + +Sets the directory for auxiliary output files of (pdf)latex +(.aux, .log etc). This +achieves its effect by the \fB-aux-directory\fR option of (pdf)latex, +which currently is only implemented on the MiKTeX version of +(pdf)latex. + +See also the \fB-outdir\fR/\fB-output-directory\fR options, and the +\fI$aux_dir\fR, \fI$out_dir\fR, and \fI$search_path_separator\fR +configuration variables of \fIlatexmk\fR. In particular, see the +documentation of \fI$out_dir\fR for some complications on what +directory names are suitable. + +.TP + +.B -bibtex +When the source file uses bbl files for bibliography, run bibtex or +biber as needed to regenerate the bbl files. + +This property can also be configured by setting the \fI$bibtex_use\fR +variable to 2 in a configuration file +.TP +.B -bibtex- +Never run bibtex or biber. + +A common use for this option is when a document comes from an external +source, complete with its bbl file(s), and the user does not have the +corresponding bib files available. In this situation use of the +\fB-bibtex-\fR option will prevent \fIlatexmk\fR from trying to run +\fIbibtex\fR or \fIbiber\fR, which would result in overwriting of the +bbl files. +.TP +.B -bibtex-cond +When the source file uses bbl file(s) for the bibliography, run +\fIbibtex\fR or \fIbiber\fR as needed to regenerate the bbl files, but +only if the +relevant bib file(s) exist. Thus when the bib files are not +available, \fIbibtex\fR or \fIbiber\fR is not run, thereby avoiding +overwriting of +the bbl file(s). This is the default setting. + +(Note that it is possible for \fIlatexmk\fR to decide that the bib +file does not exist, even though the bib file does exist and +\fIbibtex\fR or \fIbiber\fR finds it. The problem is that the bib +file may not be in +the current directory but in some search path; the places +\fIlatexmk\fR and \fIbibtex\fR or \fIbiber\fR cause to be searched need not be +identical. On modern installations of TeX and related programs this +problem should not arise, since \fIlatexmk\fR uses the \fIkpsewhich\fR +program to do the search, and \fIkpsewhich\fR should use the same +search path as \fIbibtex\fR and \fIbiber\fR. If this problem arises, use the +\fB-bibtex\fR option when invoking \fIlatexmk\fR.) +.TP +.B -bm <message> +A banner message to print diagonally across each page when converting +the dvi file to postscript. The message must be a single argument on +the command line so be careful with quoting spaces and such. + +Note that if the \fB-bm\fR option is specified, the \fB-ps\fR option is +assumed. +.TP +.B -bi <intensity> +How dark to print the banner message. A decimal number between 0 and 1. +0 is black and 1 is white. The default is 0.95, which is OK unless your +toner cartridge is getting low. +.TP +.B -bs <scale> +A decimal number that specifies how large the banner message will be +printed. Experimentation is necessary to get the right scale for your +message, as a rule of thumb the scale should be about equal to 1100 +divided by the number of characters in the message. The default is 220.0 +which is just right for 5 character messages. +.TP +.B -commands +List the commands used by \fIlatexmk\fR for processing files, and then +exit. +.TP +.B -c +Clean up (remove) all regeneratable files generated by \fIlatex\fR and +\fIbibtex\fR or \fIbiber\fR except dvi, postscript and pdf. These files are a +combination of log files, aux files, \fIlatexmk\fR's database file of +source file information, +and those with extensions +specified in the \fI@generated_exts\fR configuration variable. In addition, +files with extensions by the \fI$clean_ext\fR configuration variable are +removed. + +This cleanup is instead of a regular make. See the \fB-gg\fR option +if you want to do a cleanup then a make. + +If \fI$bibtex_use\fR is set to 0 or 1, bbl files are counted as +non-regeneratable. + +If \fI$cleanup_includes_cusdep_generated\fR is nonzero, regeneratable +files are considered as including those generated by custom +dependencies and are also deleted. Otherwise these files are not deleted. +.TP +.B -C +Clean up (remove) all regeneratable files generated by \fIlatex\fR and +\fIbibtex\fR or \fIbiber\fR. This is the same as the \fB-c\fR option with the +addition of dvi, postscript and pdf files, and those with extensions +in the \fI$clean_full_ext\fR configuration variable. + +This cleanup is instead of a regular make. See the \fB-gg\fR option +if you want to do a cleanup than a make. + +If \fI$bibtex_use\fR is set to 0 or 1, bbl files are counted as +non-regeneratable. + +If \fI$cleanup_includes_cusdep_generated\fR is nonzero, regeneratable +files are considered as including those generated by custom +dependencies and are also deleted. Otherwise these files are not deleted. +.TP +.B -CA +(Obsolete). Now equivalent to the \fB-C\fR option. See that option +for details. +.TP +.B -CF +Remove the file containing the database of source file information, +before doing the other actions requested. +.TP +.B -d +Set draft mode. This prints the banner message "DRAFT" across your +page when converting the dvi file to postscript. Size and intensity +can be modified with the \fB-bs\fR and \fB-bi\fR options. The \fB-bm\fR +option will override this option as this is really just a short way of +specifying: + + latexmk -bm DRAFT + +Note that if the \fB-d\fR option is specified, the \fB-ps\fR option is +assumed. +.TP +.B -deps +Show a list of dependent files after processing. This is in the form +of a dependency list of the form used by the \fImake\fR program, and +it is therefore suitable for use in a Makefile. It gives an overall +view of the files without listing intermediate files, as well as +\fIlatexmk\fR can determine them. + +By default the list of dependent files is sent to stdout (i.e., +normally to the screen unless you've redirected \fIlatexmk\fR's +output). But you can set the filename where the list is sent by the +\fB-deps-out=\fR option. + +See the section "USING \fIlatexmk\fR WITH \fImake\fR" for +an example of how to use a dependency list with \fImake\fR. + +Users familiar with GNU \fIautomake\fR and \fIgcc\fR will find that +the \fB-deps\fR option is very similar in its purpose and results to +the \fB-M\fR option to \fIgcc\fR. (In fact, \fIlatexmk\fR also has +options \fB-M\fR, \fB-MF\fR, and \fB-MP\fR options that behave like +those of \fIgcc\fR.) +.TP +.B -dependents +Equivalent to \fB-deps\fR. +.TP +.B -deps- +Do not show a list of dependent files after processing. (This is the +default.) +.TP +.B -dependents- +Equivalent to \fB-deps-\fR. +.TP +.B -deps-out=FILENAME +Set the filename to which the list of dependent files is written. If +the FILENAME argument is omitted or set to "-", then the output is +sent to stdout. + +Use of this option also turns on the output of the list of dependent +files after processing. +.TP +.B -dF +Dvi file filtering. The argument to this option is a filter which will +generate a filtered dvi file with the extension ".dviF". All extra +processing (e.g. conversion to postscript, preview, printing) will then +be performed on this filtered dvi file. + +Example usage: To use dviselect to select only the even pages of the dvi file: + + latexmk -dF "dviselect even" foo.tex +.TP +.B -diagnostics +Print detailed diagnostics during a run. This may help for debugging +problems or to understand \fIlatexmk\fR's behavior in difficult +situations. +.TP +.B -dvi +Generate dvi version of document. +.TP +.B -dvi- +Turn off generation of dvi version of document. (This may get +overridden, if some other file is made (e.g., a .ps file) that is +generated from the dvi file, or if no generated file at all is +requested.) +.TP +.B -e <code> +Execute the specified initialization code before processing. The code +is \fIPerl\fR code of the same form as is used in \fIlatexmk\fR's +initialization files -- for more details, see the information on the +\fB-r\fR option, and the section about "Configuration/initialization +(RC) files". The code is typically a sequence of assignment +statements separated by semicolons. + +The code is executed when the \fB-e\fR option is encountered during +\fIlatexmk\fR's parsing of its command line. See the \fB-r\fR option +for a way of executing initialization code from a file. An error +results in \fIlatexmk\fR stopping. Multiple instances of the \fB-r\fR +and \fB-e\fR options can be used, and they are executed in the order +they appear on the command line. + +Some care is needed to deal with proper quoting of special characters +in the code on the command line. For example, suppose you want +to set the latex command to use its -shell-escape option, then under +UNIX/LINUX you could use the line + + latexmk -e '$latex=q/latex %O -shell-escape %S/' file.tex + +Note that the single quotes block normal UNIX/LINUX command shells +from treating the characters inside the quotes as special. +(In this example, the q/.../ construct is a +\fIPerl\fR idiom equivalent to using +single quotes. This avoids the complications of getting a quote +character inside an already quoted string in a way that is independent +of both the shell and the operating-system.) + +The above command line will NOT work under MS-Windows with cmd.exe or +command.com or 4nt.exe. For MS-Windows with these command shells you +could use + + latexmk -e "$latex=q/latex %O -shell-escape %S/" file.tex + +or + + latexmk -e "$latex='latex %O -shell-escape %S'" file.tex + +The last two examples will NOT work with UNIX/LINUX command shells. +.TP +.B -f +Force \fIlatexmk\fR to continue document processing despite errors. +Normally, when \fIlatexmk\fR detects that LaTeX or another program has +found an error which will not be resolved by further processing, no +further processing is carried out. +.TP +.B -f- +Turn off the forced processing-past-errors such as is set by the +\fB-f\fR option. This could be used to override a setting in a +configuration file. +.TP +.B -g +Force \fIlatexmk\fR to process document fully, even under situations +where \fIlatexmk\fR would normally decide that no changes in the +source files have occurred since the previous run. +This option is useful, for example, if you change some options and +wish to reprocess the files. +.TP +.B -g- +Turn off \fB-g\fR. +.TP +.B -gg +"Super go mode" or "clean make": clean out generated files as if +\fB-C\fR had been given, and then do a regular make. +.TP +.B -h, -help +Print help information. +.TP +.B -jobname=STRING +Set the basename of output files(s) to STRING, instead of the default, +which is the basename of the specified TeX file. + +This is like the same option for current implementations of the +\fIlatex\fR and \fIpdflatex\fR, and the passing of this option to +these programs is part of \fIlatexmk\fR's implementation of +\fB-jobname\fR. + +.TP +.B -l +Run in landscape mode, using the landscape mode for the previewers and +the dvi to postscript converters. This option is not normally needed +nowadays, since current previewers normally determine this information +automatically. +.TP +.B -l- +Turn off \fB-l\fR. +.TP +.B -latex="COMMAND" +This sets the string specifying the command to run latex, and is +typically used to add desired options. Since the string normally +contains spaces, it should be quoted, e.g., + + latex -latex="latex --shell-escape %O %S" foo.tex + +The specification of the contents of the string are the same as for +the \fI$latex\fR configuration variable. Depending on your +operating system and the command-line shell you are using, you may +need to change the single quotes to double quotes (or something +else). + +To set the command for running pdflatex (rather than the command for +latex) see the \fB-pdflatex\fR option. + +Note that the effect of this option can also be achieved by using +the \fB-e\fR option with a suitable line of Perl code to set the +\fI$latex\fR variable. See the explanation of the \fB-e\fR option. +.TP +.B -M +Show list of dependent files after processing. This is equivalent to +the \fB-deps\fR option. +.TP +.B -MF file +If a list of dependents is made, the \fB-MF\fR specifies the file to +write it to. +.TP +.B -MP +If a list of dependents is made, includes phony target for each source +file. If you use the dependents list in a Makefile, the dummy rules +work around errors make gives if you remove header files without +updating the Makefile to match. +.TP +.B -new-viewer +When in continuous-preview mode, always start a new viewer to view the +generated file. By default, \fIlatexmk\fR will, in continuous-preview +mode, test for a previously running previewer for the same file and +not start a new one if a previous previewer is running. However, its +test sometimes fails (notably if there is an already-running previewer +that is viewing a file of the same name as the current file, but in a +different directory). This option turns off the default behavior. +.TP +.B -new-viewer- +The inverse of the \fB-new-viewer\fR option. It puts \fIlatexmk\fR +in its normal behavior that in preview-continuous mode it checks for +an already-running previewer. +.TP +.B -nobibtex +Never run bibtex or biber. + +A common use for this option is when a document comes from an external +source, complete with its bbl file(s), and the user does not have the +corresponding bib files available. In this situation use of the +\fB-nobibtex\fR option will prevent \fIlatexmk\fR from trying to run +\fIbibtex\fR or \fIbiber\fR, which would result in overwriting of the +bbl files. +.TP +.B -norc +Turn off the automatic reading of initialization (rc) files. + +N.B. Normally the initialization files are read and obeyed, and then +command line options are obeyed in the order they are encountered. +Then \fB-norc\fR is an exception to this rule: it is acted on first, +no matter where is occurs on the command line. +.TP + +.B -outdir=FOO or -output-directory=FOO + +Sets the directory for the output files of (pdf)latex. This achieves +its effect by the \fB-output-directory\fR option of (pdf)latex, which +currently (Dec. 2011) is implemented on the common versions of +(pdf)latex, i.e., MiKTeX and TeXLive. It may not be present in other +versions. + +See also the \fB-auxdir\fR/\fB-aux-directory\fR options, and the +\fI$aux_dir\fR, \fI$out_dir\fR, and \fI$search_path_separator\fR +configuration variables of \fIlatexmk\fR. In particular, see the +documentation of \fI$out_dir\fR for some complications on what +directory names are suitable. + +.TP + +.B -p +Print out the document. By default it is +the generated postscript file that is printed. But you can use the +\fB-print=...\fR option to print the dvi or pdf files instead, and you +can configure this in a start up file (by setting the +\fI$print_type\fR variable). + +However, printing is enabled by default only under UNIX/LINUX systems, +where the default is to use the lpr command. In general, the correct +behavior for printing very much depends on your system's software. In +particular, under MS-Windows you must have suitable program(s) +available, and you must have configured the print commands used by +\fIlatexmk\fR. This can be non-trivial. See the documentation on the +\fI$lpr\fR, \fI$lpr_dvi\fR, and \fI$lpr_pdf\fR configuration variables +to see how to set the commands for printing. + +This option is incompatible with the \fB-pv\fR and \fB-pvc\fR options, +so it turns them off. +.TP +.B -pdf +Generate pdf version of document using pdflatex. (See the +\fB-xelatex\fR if you wish to use \fIxelatex\fR to make your pdf +file(s).) +.TP +.B -pdfdvi +Generate pdf version of document from the dvi file, by default using dvipdf. +.TP +.B -pdfps +Generate pdf version of document from the ps file, by default using +ps2pdf. +.TP +.B -pdf- +Turn off generation of pdf version of document. +(This can be used to override a setting in a configuration file. +It may get overridden if some other option requires the generation of +a pdf file.) +.TP +.B -pdflatex="COMMAND" +This sets the string specifying the command to run pdflatex, and is +typically used to add desired options. Since the string normally +contains spaces, it should be quoted, e.g., + + latex -pdf -pdflatex="pdflatex --shell-escape %O %S" foo.tex + +The specification of the contents of the string are the same as for +the \fI$pdflatex\fR configuration variable. Depending on your +operating system and the command-line shell you are using, you may +need to change the single quotes to double quotes (or something +else). + +To set the command for running latex (rather than the command for +pdflatex) see the \fB-latex\fR option. + +Note that the effect of this option can also be achieved by using +the \fB-e\fR option with a suitable line of Perl code to set the +\fI$pdflatex\fR variable. See the explanation of the \fB-e\fR option. +.TP +.B -print=dvi, -print=ps, -print=pdf +Define which kind of file is printed. This option also ensures that +the requisite file is made, and turns on printing. The default is to +print a postscript file. +.TP +.B -ps +Generate postscript version of document. +.TP +.B -ps- +Turn off generation of postscript version of document. +This can be used to override a setting in a configuration file. +(It may get overridden by some other option that requires a postscript +file, for example a request for printing.) +.TP +.B -pF +Postscript file filtering. The argument to this option is a filter +which will generate a filtered postscript file with the extension +".psF". All extra processing (e.g. preview, printing) will then be +performed on this filtered postscript file. + +Example of usage: Use psnup to print two pages on the one page: + + latexmk -ps -pF 'psnup -2' foo.tex + +or + + latexmk -ps -pF "psnup -2" foo.tex + +Whether to use single or double quotes round the "psnup -2" will +depend on your command interpreter, as used by the particular version +of perl and the operating system on your computer. +.TP +.B -pv +Run file previewer. If the \fB-view\fR option is used, this will select +the kind of file to be previewed (dvi, ps or pdf). +Otherwise the viewer views the "highest" kind of file selected, by the +\fB-dvi\fR, \fB-ps\fR, \fB-pdf\fR, \fB-pdfps\fR options, in the +order dvi, ps, pdf (low to high). +If no file type has been selected, the dvi previewer will be used. +This option is incompatible with the \fB-p\fR and \fB-pvc\fR options, +so it turns them off. +.TP +.B -pv- +Turn off \fB-pv\fR. +.TP +.B -pvc +Run a file previewer and continually update the .dvi, .ps, and/or .pdf +files whenever changes are made to source files (see the Description +above). Which of these files is generated and which is viewed is +governed by the other options, and is the same as for the \fB-pv\fR +option. +The preview-continuous option \fB-pvc\fR can only work with one file. +So in this case you will normally only specify one filename on +the command line. It is also incompatible with the +\fB-p\fR and \fB-pv\fR options, so it turns these options off. + +The \fB-pvc\fR option also turns off force mode (\fB-f\fR), as is +normally best for continuous preview mode. If you really want force +mode, use the options in the order \fB-pvc -f\fR. + +With a good previewer the display will be automatically updated. +(Under \fIsome but not all\fR versions of UNIX/Linux "gv -watch" does +this for postscript files; this can be set by a configuration +variable. This would also work for pdf files except for an apparent +bug in gv that causes an error when the newly updated pdf file is +read.) Many other previewers will need a manual update. + +\fBImportant note\fR: the acroread program on MS-Windows locks the pdf file, +and prevents new versions being written, so it is a bad idea to use +acroread to view pdf files in preview-continuous mode. +It is better to use a different viewer: SumatraPDF and gsview are +good possibilities. + +There are some other methods for arranging an update, notably useful +for many versions of xdvi and xpdf. These are best set in +\fIlatexmk\fR's configuration; see below. + +Note that if \fIlatexmk\fR dies or is stopped by the user, the +"forked" previewer will continue to run. Successive invocations with +the \fB-pvc\fR option will not fork new previewers, but \fIlatexmk\fR +will normally use the existing previewer. (At least this will happen +when \fIlatexmk\fR is running under an operating system where it knows +how to determine whether an existing previewer is running.) +.TP +.B -pvc- +Turn off \fB-pvc\fR. +.TP +.B -quiet +Same as -silent +.TP +.B -r <rcfile> +Read the specified initialization file ("RC file") before processing. + +Be careful about the ordering: (1) Standard initialization files -- +see the section below on "Configuration/initialization (RC) files" -- +are read first. (2) Then the options on the command line are acted on +in the order they are given. Therefore if an initialization file is +specified by the \fB-r\fR option, it is read during this second step. +Thus an initialization file specified with the \fB-r\fR option can +override both the standard initialization files and \fIpreviously\fR +specified options. But all of these can be overridden by \fIlater\fR +options. + +The contents of the RC file just comprise a piece of code in the +\fIPerl\fR programming language +(typically a sequence of assignment statements); they are executed +when the \fB-r\fR option is encountered during \fIlatexmk\fR's parsing +of its command line. See the \fB-e\fR option for a way of giving +initialization code directly on \fIlatexmk\fR's command line. An +error results in \fIlatexmk\fR stopping. Multiple instances of the +\fB-r\fR and \fB-e\fR options can be used, and they are executed in +the order they appear on the command line. +.TP +.B -recorder +Use the -recorder option with \fIlatex\fR and \fIpdflatex\fR. In +(most) modern versions of these programs, this results in a file of +extension \fI.fls\fR containing a list of the files that these +programs have read and written. \fILatexmk\fR will then use this file +to improve its detection of source files and generated files after a +run of \fIlatex\fR or \fIpdflatex\fR. + +For further information, see the documentation for the \fI$recorder\fR +configuration variable. +.TP +.B -recorder- +Do not use the -recorder option with \fIlatex\fR and \fIpdflatex\fR. +.TP +.B -rules +Show a list of \fIlatemk\fR's rules and dependencies after processing. +.TP +.B -rules- +Do not show a list of \fIlatexmk\fR's rules and dependencies after +processing. (This is the default.) +.TP +.B -showextraoptions +Show the list of extra \fIlatex\fR and \fIpdflatex\fR options that +\fIlatexmk\fR recognizes. These are options for the \fIlatex\fR and +\fIpdflatex\fR that \fIlatexmk\fR recognizes, but simply passes +through to these programs when they are run. These options are +(currently) a combination of those allowed by the TeXLive and MiKTeX +implementations. (If a particular option is given to \fIlatexmk\fR +but is not handled by the particular implementation of \fIlatex\fR or +\fIpdflatex\fR that is being used, that program will probably give an +error message.) These options are very numerous, but are not listed +in this documentation because they have no effect on \fIlatexmk\fR's +actions. + +There are a few options (\fB-includedirectory=dir\fR, +\fB-initialize\fR, \fB-ini\fR) that are not recognized, either because +they don't fit with \fIlatexmk\fR's intended operations, or because +they need special processing by \fIlatexmk\fR that isn't implemented +(at least, not yet). + +There are also options that are accepted by \fIlatex\fR etc, but +instead trigger actions by \fIlatexmk\fR: \fB-help\fR, +\fB-version\fR. + +Finally, there are certain options for \fIlatex\fR and \fIpdflatex\fR +(e.g., \fB-recorder\fR) that trigger special actions or behavior by +\fIlatexmk\fR itself as well as being passed in some form to the +called \fIlatex\fR and \fIpdflatex\fR program, or that affect other +programs as well. These options do have entries in this +documentation. These options are: +\fB-jobname=STRING\fR, \fB-aux-directory=dir\fR, +\fB-output-directory=DIR\fR, \fB-quiet\fR, and \fB-recorder\fR. + +.TP +.B -silent +Run commands silently, i.e., with options that reduce the amount of +diagnostics generated. For example, with the default settings, the +command "latex -interaction=batchmode" is used for latex. + +Also reduce the number of informational messages that \fIlatexmk\fR +generates. + +To change the options used to make the commands run silently, you need +to configure \fIlatexmk\fR with changed values of its configuration +variables, the relevant ones being \fI$bibtex_silent_switch\fR, +\fI$biber_silent_switch\fR, \fI$dvipdf_silent_switch\fR, +\fI$dvips_silent_switch\fR, \fI$latex_silent_switch\fR, +\fI$makeindex_silent_switch\fR, and \fI$pdflatex_silent_switch\fR. +.TP +.B -use-make +When after a run of \fIlatex\fR or \fIpdflatex\fR, there are warnings +about missing files (e.g., as requested by the LaTeX \\input, \\include, +and \\includgraphics), \fIlatexmk\fR tries to make them by a custom +dependency. If no relevant custom dependency with an appropriate +source file is found, and if the -use-make option is set, then +\fIlatexmk\fR will try as a resort using the make program to try to +make the missing files. + +Note that the filename may be specified without an extension, e.g., +by \\includegraphics{drawing} in a LaTeX file. In that case, +\fIlatexmk\fR will try making drawing.ext with ext set in turn to the +possible extensions that are relevant for \fIlatex\fR (or as +appropriate \fIpdflatex\fR). + +See also the documentation for the \fI$use_make_for_missing_files\fR +configuration variable. +.TP +.B -use-make- +Do not use the make program to try to make missing files. (Default.) +.TP +.B -v, -version +Print version number of \fIlatexmk\fR. +.TP +.B -verbose +Opposite of \fB-silent\fR. This is the default setting. +.TP +.B -view=default, -view=dvi, -view=ps, -view=pdf +Set the kind of file used when previewing is requested (e.g., by the +\fB-pv\fR or \fB-pvc\fR switches). The default is to view the "highest" +kind of requested file (in the order dvi, ps, pdf). +.TP +.B -xelatex +Use xelatex. That is, use xelatex to process the source file(s) to +pdf (in place of pdflatex). This option is exactly equivalent to +specifying the following sequence of options: + + -pdflatex="xelatex %O %S" -pdf -dvi- -ps + +.PP +The preview-continuous option \fB-pvc\fR can only work with one file. +So in this case you will normally only specify one filename on +the command line. +.PP +Options \fB-p\fR, \fB-pv\fR and \fB-pvc\fR are mutually exclusive. So +each of these options turns the others off. + +.SH EXAMPLES +.nf +.ta 2i +% \fBlatexmk thesis\fR \fI# run latex enough times to resolve + cross-references\fR + +% \fBlatexmk -pvc -ps thesis\fR \fI# run latex enough times to resolve + cross-references, make a postscript + file, start a previewer. Then + watch for changes in the source + file thesis.tex and any files it + uses. After any changes rerun latex + the appropriate number of times and + remake the postscript file. If latex + encounters an error, latexmk will + keep running, watching for + source file changes. + +% \fBlatexmk -c\fR \fI# remove .aux, .log, .bbl, .blg, .dvi, + .pdf, .ps & .bbl files\fR + + +.SH CONFIGURATION/INITIALIZATION (RC) FILES +.PP +\fILatexmk\fR can be customized using initialization files, which are +read at startup in the following order: +.PP +1) The system RC file, if it exists. + On a UNIX system, \fIlatexmk\fR searches for following places for its +system RC file, in the following order, and reads the first it finds: + "/opt/local/share/latexmk/LatexMk", + "/usr/local/share/latexmk/LatexMk", + "/usr/local/lib/latexmk/LatexMk". + On a MS-WINDOWS system it looks for "C:\\latexmk\\LatexMk". + On a cygwin system (i.e., a MS-Windows system in which perl is +that of cygwin), \fIlatexmk\fR reads for the first it finds of + "/cygdrive/c/latexmk/LatexMk", + "/opt/local/share/latexmk/LatexMk", + "/usr/local/share/latexmk/LatexMk", + "/usr/local/lib/latexmk/LatexMk". +.PP +2) The user's RC file, "$HOME/.latexmkrc", if it exists. Here $HOME +is the user's home directory. [\fILatexmk\fR determines the user's +home directory as follows: It is the value of the environment variable +HOME, if this variable exists, which normally is the case on UNIX-like +systems (including LINUX and OS-X). Otherwise the environment +variable USERPROFILE is used, if it exists, which normally is the case +on MS-Windows systems. Otherwise a blank string is used instead of $HOME.] +.PP +3) The RC file in the current working directory. This file can be +named either "latexmkrc" or ".latexmkrc", and the first of these to be +found is used, if any. +.PP +4) Any RC file(s) specified on the command line with the \fB-r\fR option. +.PP +Each RC file is a sequence of \fIPerl\fR commands. Naturally, a user can use +this in creative ways. But for most purposes, one simply uses a +sequence of assignment statements that override some of the built-in +settings of \fILatexmk\fR. Straightforward cases can be handled +without knowledge of the \fIPerl\fR language by using the examples in this +document as templates. Comment lines are introduced by the "#" +character. + +Note that command line options are obeyed in the order in which +they are written; thus any RC file specified on the command line with +the \fB-r\fR option can override previous options but can be itself +overridden by later options on the command line. There is also the +\fB-e\fR option, which allows initialization code to be specified in +\fIlatexmk\fR's command line. + +\fI +For possible examples of code for in an RC file, see the directory +example_rcfiles in the distribution of latexmk (e.g., at +http://ctan.tug.org/tex-archive/support/latexmk/example_rcfiles). +\fR + +.SH HOW TO SET VARIABLES IN INITIALIZATION FILES +.PP +The important variables that can be configured are described in the +section "List of configuration variables usable in initialization +files". Syntax for setting these variables is of the following forms: +.PP + $bibtex = 'bibtex %O %B'; +.PP +for the setting of a string variable, +.PP + $preview_mode = 1; +.PP +for the setting of a numeric variable, and +.PP + @default_files = ('paper', 'paper1'); +.PP +for the setting of an array of strings. It is possible to append an +item to an array variable as follows: + + push @default_files, 'paper2'; + +Note that simple "scalar" variables have names that begin with a $ +character and array variables have names that begin with a @ +character. Each statement ends with a semicolon. + +Strings should be enclosed in single quotes. (You could use double +quotes, as in many programming languages. But then the \fIPerl\fR +programming language brings into play some special rules for +interpolating variables into strings. People not fluent in \fIPerl\fR +will want to avoid these complications.) + +You can do much more complicated things, but for this you will need to +consult a manual for the \fIPerl\fR programming language. + + + +.SH FORMAT OF COMMAND SPECIFICATIONS + +Some of the variables set the commands that \fIlatexmk\fR uses for +carrying out its work, for example to generate a dvi file from a tex +file or to view a postscript file. This section describes some +important features of how the commands are specified. + +\fBPlaceholders\fR: Supposed you wanted \fIlatexmk\fR to use the +command elatex in place of the regular latex command, and suppose +moreover that you wanted to give it the option "--shell-escape". You +could do this by the following setting: +.PP + $latex = 'elatex --shell-escape %O %S'; +.PP +The two items starting with the % character are placeholders. These +are substituted by appropriate values before the command is run. Thus +%S will be replaced by the source file that elatex will be applied to, +and %O will be replaced by any options that \fIlatexmk\fR has decided +to use for this command. (E.g., if you used the -silent option it +would replace %O by "-interaction=batchmode".) + +The available placeholders are: +.TP +.B %B +base of filename for current command. E.g., if a postscript file +document.ps is being made from the dvi file document.dvi, then the +basename is document. +.TP +.B %D +destination file (e.g., the name of the postscript file when +converting a dvi file to postscript). +.TP +.B %O +options +.TP +.B %R +root filename. This is the base name for the main tex file. +.TP +.B %S +source file (e.g., the name of the dvi file when converting a dvi file +to ps). +.TP +.B %T +The name of the primary tex file. +.TP +.B %Y +Name of directory for auxiliary output files (see the configuration +variable \fI$aux_dir\fR). A directory separation character ('/') is +appended if \fI$aux_dir\fR is non-empty and does not end in a suitable +character, with suitable characters being those appropriate to UNIX +and MS-Windows, i.e., ':', '/' and '\\'. +.TP +.B %Z +Name of directory for output files (see the configuration +variable \fI$out_dir\fR). A directory separation character ('/') is +appended if \fI$out_dir\fR is non-empty and does not end in a suitable +character, with suitable characters being those appropriate to UNIX +and MS-Windows, i.e., ':', '/' and '\\'. +.PP +If for some reason you need a literal % character in your string not +subject to the above rules, use a pair of these characters. Thus with +the command specification $ps_previewer = 'latex -ad=%%Sfile.ad %S', +the %%S will become %S when the command is executed, but the %S will +be replaced by the source filename, which in this case would be the +name of a postscript file to be viewed. +.PP +Appropriate quoting will be applied to the filename substitutions, so +you mustn't supply them yourself even if the names of your files have +spaces in them. (But if your TeX filenames have spaces in them, +beware that many versions of the TeX program cannot correctly handle +filenames containing spaces.) In case latexmk's quoting does not work +correctly on your system, you can turn it off -- see the documentation +for the variable \fI$quote_filenames\fR. +.PP +The distinction between %B and %R needs a bit of care, since they are +often the same, but not always. For example on a simple document, the +basename of a bibtex run is the same as for the texfile. But in a +document with several bibliographies, the bibliography files will have +a variety of names. Since bibtex is invoked with the basename of the +bibliography file, the setting for the bibtex command should therefore +be +.PP + $bibtex = 'bibtex %O %B'; +.PP +Generally, you should use %B rather than %R. Similarly for most +purposes, the name %T of the primary texfile is not a useful +placeholder. + +See the default values in the section "List of configuration variables +usable in initialization files" for what is normally the most +appropriate usage. + +If you omit to supply any placeholders whatever in the specification +of a command, \fIlatexmk\fR will supply what its author thinks are +appropriate defaults. This gives compatibility with configuration +files for previous versions of \fIlatexmk\fR, which didn't use +placeholders. + +\fB"Detaching" a command\fR: Normally when \fIlatexmk\fR runs a +command, it waits for the command to run to completion. This is +appropriate for commands like latex, of course. But for previewers, +the command should normally run detached, so that \fIlatexmk\fR gets +the previewer running and then returns to its next task (or exits if +there is nothing else to do). To achieve this effect of detaching a +command, you need to precede the command name with "start ", as in +.PP + $dvi_previewer = 'start xdvi %O %S'; +.PP +This will be translated to whatever is appropriate for your operating +system. + +Notes: (1) In some circumstances, \fIlatex\fR will always run a +command detached. This is the case for a previewer in preview +continuous mode, since otherwise previewing continuously makes no +sense. (2) This precludes the possibility of running a command named +start. (3) If the word start occurs more than once at the beginning +of the command string, that is equivalent to having just one. (4) +Under cygwin, some complications happen, since cygwin amounts to a +complicated merging of UNIX and MS-Windows. See the source code for +how I've handled the problem. + +\fBCommand names containing spaces\fR: Under MS-Windows it is common +that the name of a command includes spaces, since software is often +installed in a subdirectory of "C:\\Program Files". Such command names +should be enclosed in double quotes, as in +.PP + $lpr_pdf = '"c:/Program Files/Ghostgum/gsview/gsview32.exe" /p %S'; + $pdf_previewer = 'start "c:/Program Files/SumatraPDF/SumatraPDF.exe" %O %S'; + $pdf_previewer = 'start "c:/Program Files/SumatraPDF (x86)/SumatraPDF.exe" %O %S'; + +.PP +(Note about the above example: Forward slashes are equivalent to +backslashes in filenames under MS-Windows, provided that the filename +is inside double quotes. It is easier to use forward slashes in +examples like the one above, since then one does not have to worry +about the rules for dealing with forward slashes in strings in the +Perl language.) + +\fBCommand names under Cygwin\fR: If latexmk is executed by Cygwin's +perl, \fI be particularly certain that pathnames in commands have +\fBforward\fI slashes\fR not the usual backslashes for the separator +of pathname components. See the above examples. Backslashes often +get misinterpreted by the Unix shell used by Cygwin's Perl to execute +external commands. Forward slashes don't suffer from this problem, +and (when quoted, as above) are equally acceptable to MS-Windows. + +\fBUsing MS-Windows file associations\fR: A useful trick under modern +versions of MS-Windows (e.g., WinXP) is to use just the +command 'start' by itself: +.PP + $dvi_previewer = 'start %S'; +.PP +Under recent versions of MS-Windows, this will cause to be run +whatever program the system has associated with dvi files. (The same +applies for a postscript viewer and a pdf viewer.) But note that this +trick is not always suitable for the pdf previwer, if your system has +acroread for the default pdf viewer. As explained elsewhere, acroread +under MS-Windows does not work well with \fIlatex\fR and +\fIlatexmk\fR, because acroread locks the pdf file. + +\fBNot using a certain command\fR: If a command is not to be run, the +command name NONE is used, as in +.PP + $lpr = 'NONE lpr'; +.PP +This typically is used when an appropriate command does not exist on +your system. The string after the "NONE" is effectively a comment. + +\fBOptions to commands\fR: +Setting the name of a command can be used not only for changing the +name of the command called, but also to add options to command. +Suppose you want \fIlatexmk\fR to use latex with source specials +enabled. Then you might use the following line in an initialization +file: +.PP + $latex = 'latex --src-specials %O %S'; +.PP + +\fBRunning a subroutine instead of an external command\fR: Use a +specification starting with "internal", as in +.PP + $latex = 'internal mylatex %O %S'; + sub mylatex { + my @args = @_; + # Possible preprocessing here + return system 'latex', @args; + } +.PP + +\fBAdvanced tricks\fR: Normally one specifies a single command for the +commands invoked by \fIlatexmk\fR. Naturally, if there is some +complicated additional processing you need to do in your special +situation, you can write a script (or batch file) to do the +processing, and then configure \fIlatexmk\fR to use your script in +place of the standard program. + +It is also possible to configure \fIlatexmk\fR to run multiple +commands. For example, if when running pdflatex to generate a pdf +file from a tex file you need to run another program after pdflatex to +perform some extra processing, you could do something like: + + $pdflatex = 'pdflatex --shell-escape %O %S; pst2pdf_for_latexmk %B'; + +This definition assumes you are using a UNIX-like system (which +includes Linux and OS-X), so that the +two commands to be run are separated by the semicolon in the middle of +the string. + +If you are using MS-Windows, you would replace the above line by + + $pdflatex = 'cmd /c pdflatex --shell-escape %O %S' + . '&& pst2pdf_for_latexmk %B'; + +Here, the UNIX command separator ; is replaced by &&. In addition, +there is a problem that some versions of \fIPerl\fR on MS-Windows do +not obey the command separator; this problem is overcome by explicitly +invoking the MS-Windows command-line processor \fIcmd.exe\fR. + +.SH LIST OF CONFIGURATION VARIABLES USABLE IN INITIALIZATION FILES +.PP +Default values are indicated in brackets. +.TP +.B $always_view_file_via_temporary [0] +Whether ps and pdf files are initially to be made in a temporary +directory and then moved to the final location. (This applies to +dvips, dvipdf, and ps2pdf operations, and the filtering operators on +dvi and ps files. It does not apply to pdflatex, unfortunately.) + +This use of a temporary file solves a problem that the making of these +files can occupy a substantial time. If a viewer sees that the file +has changed, it reads the new file, and this can cause havoc if the +program writing the file has not yet finished its work. + +See the \fI$pvc_view_file_via_temporary\fR variable for a setting that +applies only if preview-continuous mode (-pvc option) is used. See +\fI$tmpdir\fR for the setting of the directory where the temporary +file is created. + +.TP +.B $auto_rc_use [1] +Whether to automatically read the standard initialization (rc) files, +which are the system RC file, the user's RC file, and the RC file in +the current directory. The command line option \fB-norc\fR can be +used to turn this setting off. Each RC file could also turn this +setting off, i.e., it could set \fI$auto_rc_use\fR to zero to prevent +automatic reading of the later RC files. + +This variable does not affect the reading of RC files specified on the +command line by the \fB-r\fR option. + +.TP +.B $aux_dir [""] +The directory in which auxiliary files (aux, log, etc) are to be +written by a run of (pdf)latex. If this variable is not set, but +\fI$out_dir\fR is set, then \fI$aux_dir\fR is set to \fI$out_dir\fR, +which is the directory to which general output files are to be +written. + +\fBImportant note\fR: The effect of \fI$aux_dir\fR, if different from +\fI$out_dir\fR, is achieved by giving (pdf)latex the +\fB-aux-directory\fR. Currently (Dec. 2011) this only works on the +MiKTeX version of (pdf)latex. + +See also the documentation of \fI$out_dir\fR for some complications on +what directory names are suitable. + +.TP +.B $banner [0] +If nonzero, the banner message is printed across each page when +converting the dvi file to postscript. Without modifying the variable +\fI$banner_message\fR, this is equivalent to specifying the \fB-d\fR +option. + +Note that if \fB$banner\fR is nonzero, the \fB$postscript_mode\fR is +assumed and the postscript file is always generated, even if it is newer +than the dvi file. +.TP +.B $banner_intensity [0.95] +Equivalent to the \fB-bi\fR option, this is a decimal number between 0 +and 1 that specifies how dark to print the banner message. 0 is black, +1 is white. The default is just right if your toner cartridge isn't +running too low. +.TP +.B $banner_message ["DRAFT"] +The banner message to print across each page when converting the dvi +file to postscript. This is equivalent to the \fB-bm\fR option. +.TP +.B $banner_scale [220.0] +A decimal number that specifies how large the banner message will be +printed. Experimentation is necessary to get the right scale for your +message, as a rule of thumb the scale should be about equal to 1100 +divided by the number of characters in the message. The Default is +just right for 5 character messages. This is equivalent to the +\fB-bs\fR option. +.TP +.B @BIBINPUTS +This is an array variable, now mostly obsolete, that specifies +directories where +\fIlatexmk\fR should look for .bib files. By default it is set from +the BIBINPUTS environment variable of the operating system. If that +environment variable is not set, a single element list consisting of +the current directory is set. The format of the directory names +depends on your operating system, of course. Examples for setting +this variable are: + + @BIBINPUTS = ( ".", "C:\\bibfiles" ); + @BIBINPUTS = ( ".", "\\\\server\\bibfiles" ); + @BIBINPUTS = ( ".", "C:/bibfiles" ); + @BIBINPUTS = ( ".", "//server/bibfiles" ); + @BIBINPUTS = ( ".", "/usr/local/texmf/bibtex/bib" ); + +Note that under MS Windows, either a forward slash "/" or a backward +slash "\(rs" can be used to separate pathname components, so the first +two and the second two examples are equivalent. Each backward slash +should be doubled to avoid running afoul of \fIPerl\fR's rules for writing +strings. + +\fIImportant note:\fR This variable is now mostly obsolete in the +current version of \fIlatexmk\fR, +since it has a better method of searching for files using the +kpsewhich command. However, if your system is an unusual one without +the kpsewhich command, you may need to set the variable \fI@BIBINPUTS\fR. +.TP +.B $biber ["biber %O %S"] +The biber processing program. +.TP +.B $biber_silent_switch ["--onlylog"] +\fBSwitch(es)\fR for the biber processing program when silent mode is on. +.TP +.B $bibtex ["bibtex %O %S"] +The BibTeX processing program. +.TP +.B $bibtex_silent_switch ["-terse"] +\fBSwitch(es)\fR for the BibTeX processing program when silent mode is on. +.TP +.B $bibtex_use [1] +Under what conditions to run BibTeX or biber. When \fIlatexmk\fR discovers +from the log file that one (or more) BibTeX/biber-generated bibliographies +are used, it can run BibTeX or biber whenever it appears necessary to +regenerate the bbl file(s) from their source bib database file(s). + +But sometimes, the bib file(s) are not available (e.g., for a document +obtained from an external archive), but the bbl files are provided. +In that case use of BibTeX or biber will result in incorrect +overwriting of the precious bbl files. The variable \fI$bibtex_use\fR +controls whether this happens. Its possible values are: 0: never use +BibTeX or biber. 1: only use BibTeX or biber if the bib files exist. +2: run BibTeX or biber whenever it appears necessary to update the bbl +files, without testing for the existence of the bib files. +.TP +.B $cleanup_includes_cusdep_generated [0] +If nonzero, specifies that cleanup also deletes files that are +generated by custom dependencies. +(When doing a clean up, e.g., by use of the \fB-C\fR option, custom +dependencies are those listed in the \fI.fdb_latexmk\fR file from a +previous run.) +.TP +.B $cleanup_includes_generated [0] +If nonzero, specifies that cleanup also deletes files that are +detected in log file as being generated (see the \\openout lines in +the log file). It will also include files made from these first +generation generated files. +.TP +.B $cleanup_mode [0] +If nonzero, specifies cleanup mode: 1 for full cleanup, 2 for cleanup +except for dvi, ps and pdf files, 3 for cleanup except for dep and aux +files. (There is also extra cleaning as specified by the +\fI$clean_ext\fR, \fI$clean_full_ext\fR and \fI@generated_exts\fR +variables.) + +This variable is equivalent to specifying one of +the \fB-c\fR or \fB-C\fR options. But there should be no need +to set this variable from an RC file. +.TP +.B $clean_ext [""] +Extra extensions of files for \fIlatexmk\fR to remove when any of the +clean-up options (\fB-c\fR or \fB-C\fR) is selected. +The value of this variable is a string containing the extensions +separated by spaces. + +It is also possible to specify a more general pattern of file to be +deleted, by using the place holder %R, as in commands. Thus setting + + $clean_ext = "out %R-blx.bib"; + +in an initialization file will imply that when a clean-up operation is +specified, not only is the standard set of files deleted, but also +files of the form FOO.out and FOO-blx.bib, where FOO stands for the +basename of the file being processed (as in FOO.tex). + +.TP +.B $clean_full_ext [""] +Extra extensions of files for \fIlatexmk\fR to remove when the \fB-C\fR +option is selected, i.e., extensions of files to remove when the .dvi, +etc files are to be cleaned-up. + +More general patterns are allowed, as for \fI$clean_ext\fR. + +.TP +.B $compiling_cmd [undefined], $failure_cmd [undefined], $success_cmd [undefined] + +These variables specify commands that are executed at certain points +of compilations during preview-continuous mode. One motivation for +their existance is to allow convenient visual indications of +compilation status even when the window receiving the screen output of +the compilation is hidden. + +The commands are executed at the following points: +$compiling_cmd at the start of compilation, $success_cmd at the end of +a successful compilation, and $failure_cmd at the end of an +unsuccessful compilation. If any of above variables is undefined (the +default situation) or blank, then the corresponding command is not +executed. + +An example of a typical setting of these variables is as follows + + $compiling_cmd = "xdotool search --name \\"%D\\" set_window --name \\"%D compiling\\""; + $success_cmd = "xdotool search --name \\"%D\\" set_window --name \\"%D OK\\""; + $failure_cmd = "xdotool search --name \\"%D\\" set_window --name \\"%D FAILURE\\""; + +These assume that the program \fIxdotool\fR is installed, that the +previewer is using an X-Window system for display, and that the title +of the window contains the name of the displayed file, as it normally +does. When the commands are executed, the placeholder string %D is replaced by +the name of the destination file, which is the previewed file. The +above commands result in an appropriate string being appended to the +filename in the window title: " compiling", " OK", or " FAILURE". + +Other placeholders that can be used are %S, %T, and %R, with %S and %T +normally being identical. These can be useful for a command changing +the title of the edit window. The visual indication in a window title +can useful, since the user does not have to keep shifting attention to +the (possibly hidden) compilation window to know the status of the +compilation. + +.TP +.B @cus_dep_list [()] +Custom dependency list -- see section on "Custom Dependencies". + +.TP +.B @default_files [("*.tex")] +Default list of files to be processed. + +Normally, if no filenames are specified on the command line, +\fIlatexmk\fR processes all tex files specified in the \fI@default_files\fR +variable, which by default is set to all tex files ("*.tex") in the +current directory. This is a convenience: just run \fIlatexmk\fR and +it will process an appropriate set of files. But sometimes you want +only some of these files to be processed. In this case you set the +\fI@default_files\fR in an initialization file +(e.g., the file "latexmkrc" in the current directory). Then if no +files are specified on the command line then the files you specify by +setting \fI@default_files\fR are processed. + +Three examples: + + @default_files = ("paper_current"); + + @default_files = ("paper1", "paper2.tex"); + + @default_files = ("*.tex", "*.dtx"); + +Note that more than file may be given, and that the default extension +is ".tex". Wild cards are allowed. The parentheses are because +\fI@default_files\fR is an array variable, i.e., a sequence of +filename specifications is possible. +.TP +.B $dependents_phony [0] +If a list of dependencies is output, this variable determines whether +to include a phony target for each source file. If you use the +dependents list in a Makefile, the dummy rules work around errors make +gives if you remove header files without updating the Makefile to +match. +.TP +.B $dependents_list [0] +Whether to display a list(s) of dependencies at the end of a run. +.TP +.B $dvi_filter [empty] +The dvi file filter to be run on the newly produced dvi file before +other processing. Equivalent to specifying the \fB-dF\fR option. +.TP +.B $dvi_mode [See below for default] +If nonzero, generate a dvi version of the document. +Equivalent to the \fB-dvi\fR option. + +The variable $dvi_mode defaults to 0, but if no explicit requests are +made for other types of file (postscript, pdf), then $dvi_mode will be +set to 1. In addition, if a request for a file for which a .dvi file +is a prerequisite, then $dvi_mode will be set to 1. +.TP +.B $dvi_previewer ["start xdvi %O %S" under UNIX] +The command to invoke a dvi-previewer. +[Default is "start" under MS-WINDOWS; under more recent versions of +Windows, this will cause to be run whatever command the system has +associated with .dvi files.] + +\fBImportant note\fR: Normally you will want to have a previewer run +detached, so that \fIlatexmk\fR doesn't wait for the previewer to +terminate before continuing its work. So normally you should prefix +the command by "start ", which flags to \fIlatexmk\fR that it should +do the detaching of the previewer itself (by whatever method is +appropriate to the operating system). But sometimes letting +\fIlatexmk\fR do the detaching is not appropriate (for a variety of +non-trivial reasons), so you should put the "start " bit in +yourself, whenever it is needed. + +.TP +.B $dvi_previewer_landscape ["start xdvi %O %S"] +The command to invoke a dvi-previewer in landscape mode. +[Default is "start" under MS-WINDOWS; under more recent versions of +Windows, this will cause to be run whatever command the system has +associated with .dvi files.] +.TP +.B $dvipdf ["dvipdf %O %S %D"] +Command to convert dvi to pdf file. A common reconfiguration is to +use the dvipdfm command, which needs its arguments in a different order: + + $dvipdf = "dvipdfm %O -o %D %S"; + +WARNING: The default dvipdf script generates pdf files with bitmapped +fonts, which do not look good when viewed by acroread. That script +should be modified to give dvips the options "-P pdf" to ensure that +type 1 fonts are used in the pdf file. +.TP +.B $dvipdf_silent_switch ["-q"] +Switch(es) for dvipdf program when silent mode is on. + +N.B. The standard dvipdf program runs silently, so adding the silent +switch has no effect, but is actually innocuous. But if an +alternative program is used, e.g., dvipdfmx, then the silent switch +has an effect. The default setting is correct for dvipdfm and dvipdfmx. +.TP +.B $dvips ["dvips %O -o %D %S"] +The program to used as a filter to convert a .dvi file to a .ps file. +If pdf is going to be generated from pdf, then the value of the +$dvips_pdf_switch -- see below -- will be included in the options +substituted for "%O". +.TP +.B $dvips_landscape ["dvips -tlandscape %O -o %D %S"] +The program to used as a filter to convert a .dvi file to a .ps file +in landscape mode. +.TP +.B $dvips_pdf_switch ["-P pdf"] +Switch(es) for dvips program when pdf file is to be generated from +ps file. +.TP +.B $dvips_silent_switch ["-q"] +Switch(es) for dvips program when silent mode is on. +.TP +.B $dvi_update_command [""] +When the dvi previewer is set to be updated by running a command, this +is the command that is run. See the information for the variable +\fI$dvi_update_method\fR for further information, and see information +on the variable \fI$pdf_update_method\fR for an example for the +analogous case of a pdf previewer. +.TP +.B $dvi_update_method [2 under UNIX, 1 under MS-Windows] +How the dvi viewer updates its display when the dvi file has changed. +The values here apply equally to the \fI$pdf_update_method\fR and to +the \fI$ps_update_method\fR variables. + 0 => update is automatic, + 1=> manual update by user, which may only mean a mouse click on the +viewer's window or may mean a more serious action. + 2 => Send the signal, whose number is in the variable +\fI$dvi_update_signal\fR. The default value under UNIX is +suitable for xdvi. + 3 => Viewer cannot do an update, because it locks the file. (As with +acroread under MS-Windows.) + 4 => run a command to do the update. The command is specified by +the variable \fI$dvi_update_command\fR. + +See information on the variable \fI$pdf_update_method\fR for an +example of updating by command. +.TP +.B $dvi_update_signal [Under UNIX: SIGUSR1, which is a system-dependent value] +The number of the signal that is sent to the dvi viewer when it is +updated by sending a signal -- see the information on the variable +\fI$dvi_update_method\fR. The default value is the one appropriate +for xdvi on a UNIX system. +.TP +.B $failure_cmd [undefined] +See the documentation for $compiling_cmd. +.TP +.B $fdb_ext ["fdb_latexmk"] +The extension of the file which \fIlatexmk\fR generates to contain a +database of information on source files. You will not normally need +to change this. +.TP +.B $force_mode [0] +If nonzero, continue processing past minor \fIlatex\fR errors +including unrecognized cross references. Equivalent to specifying the +\fB-f\fR option. +.TP +.B @generated_exts [( "aux", "bbl", "idx", "ind", "lof", "lot", "out", "toc", $fdb_ext )] +This contains a list of extensions for files that are generated during +a LaTeX run and that are read in by LaTeX in later runs, either +directly or indirectly. + +This list has two uses: (a) to set the kinds of file to be deleted in +a cleanup operation (with the \fB-c\fR, \fB-C\fR, \fB-CA\fR, \fB-g\fR +and \fB-gg\fR options), and (b) in the determination of whether a +rerun of (pdf)LaTeX is needed after a run that gives an error. + +(Normally, a change of a source file during a run should provoke a +rerun. This includes a file generated by LaTeX, e.g., an aux file, +that is read in on subsequent runs. But after a run that results in +an error, a new run should occur until the user has made a change in +the files. But the user may have corrected an error in a source .tex +file during the run. So \fIlatexmk\fR needs to distinguish +user-generated and automatically generated files; it determines the +automatically generated files as those with extensions in the list in +@generated_exts.) + +A convenient way to add an extra extension to the list, without losing +the already defined ones is to use a push command in the line in an +RC file. E.g., + + push @generated_exts, "end"; + +adds the extension "end" to the list of predefined generated +extensions. (This extension is used by the RevTeX package, for +example.) +.TP +.B $go_mode [0] +If nonzero, process files regardless of timestamps, and is then +equivalent to the \fB-g\fR option. +.TP +.B %hash_calc_ignore_pattern +\fB!!!This variable is for experts only!!!\fR + +The general rule \fIlatexmk\fR uses for determining when an extra run +of some program is needed is that one of the source files has changed. +But consider for example a latex package that causes an encapsulated +postscript file (an "eps" file) to be made that is to be read in on +the next run. The file contains a comment line giving its creation +date and time. On the next run the time changes, \fIlatex\fR sees +that the eps file has changed, and therefore reruns latex. This +causes an infinite loop, that is only terminated becaues \fIlatexmk\fR +has a limit +on the number of runs to guard against pathological situations. + +But the changing line has no real effect, since it is a comment. You +can instruct \fIlatex\fR to ignore the offending line as follows: + + $hash_calc_ignore_pattern{'eps'} = '^%%CreationDate: '; + +This creates a rule for files with extension \fI.eps\fR about lines to +ignore. The left-hand side is a \fIPerl\fR idiom for setting an item +in a hash. Note that the file extension is specified without a +period. The value, on the right-hand side, is a string containing a +regular expresssion. (See documentation on \fIPerl\fR for how they +are to be specified in general.) This particular regular expression +specifies that lines beginning with "%%CreationDate: " are to be +ignored in deciding whether a file of the given extension \fI.eps\fR +has changed. + +There is only one regular expression available for each extension. If +you need more one pattern to specify lines to ignore, then you need to +combine the patterns into a single regular expression. The simplest +method is separate the different simple patterns by a vertical bar +character (indicating "alternation" in the jargon of regular +expressions). For example, + + $hash_calc_ignore_pattern{'eps'} = '^%%CreationDate: |^%%Title: '; + +causes lines starting with either "^%%CreationDate: " or "^%%Title: " +to be ignored. + +It may happen that a pattern to be ignored is specified in, for +example, in a system or user initialization file, and you wish to +remove this in a file read later. To do this, you use perl's delete +function, e.g., + + delete $hash_calc_ignore_pattern{'eps'}; + +.TP +.B $kpsewhich ["kpsewhich %S"] +The program called to locate a source file when the name alone is not +sufficient. Most filenames used by \fIlatexmk\fR have sufficient path +information to be found directly. But sometimes, notably +when .bib files are found from the log file of a bibtex or biber run, +the name of +the file, but not its path is known. The program specified by +$kpsewhich is used to find it. + +See also the \fI@BIBINPUTS\fR variable for another way that \fIlatexmk\fR +also uses to try to locate files; it applies only in the case of .bib +files. +.TP +.B $landscape_mode [0] +If nonzero, run in landscape mode, using the landscape mode previewers and +dvi to postscript converters. Equivalent to the \fB-l\fR option. +Normally not needed with current previewers. +.TP +.B $latex ["latex %O %S"] +The LaTeX processing program. Note that as with other programs, you +can use this variable not just to change the name of the program used, +but also specify options to the program. E.g., + + $latex = "latex --src-specials"; +.TP +.B %latex_input_extensions +This variable specifies the extensions tried by latexmk when it finds +that a LaTeX run resulted in an error that a file has not been found, +and the file is given without an extension. This typically happens when +LaTeX commands of the form \\input{file} or \\includegraphics{figure}, +when the relevant source file does not exist. + +In this situation, latexmk searches for custom dependencies to make +the missing file(s), but restricts it to the extensions specified by +the variable %latex_input_extensions. The default extensions +are 'tex' and 'eps'. + +(For Perl experts: %latex_input_extensions is a hash whose keys are +the extensions. The values are irrelevant.) Two subroutines are +provided for manipulating this and the related variable +%pdflatex_input_extensions, add_input_ext and remove_input_ext. They +are used as in the following examples are possible lines in an +initialization file: + + remove_input_ext( 'latex', 'tex' ); + +removes the extension 'tex' from latex_input_extensions + + add_input_ext( 'latex', 'asdf' ); + +add the extension 'asdf to latex_input_extensions. (Naturally with +such an extension, you should have made an appropriate custom +dependency for latexmk, and should also have done the appropriate +programming in the LaTeX source file to enable the file to be read. +The standard extensions are handled by LaTeX and its graphics/graphicx +packages. + +.TP +.B $latex_silent_switch ["-interaction=batchmode"] +Switch(es) for the LaTeX processing program when silent mode is on. + +If you use MikTeX, you may prefer the results if you configure the +options to include -c-style-errors, e.g., by the following line in an +initialization file + + $latex_silent_switch = "-interaction=batchmode -c-style-errors"; + +.TP +.B $lpr ["lpr %O %S" under UNIX/LINUX, \(dqNONE lpr\(dq under MS-WINDOWS] +The command to print postscript files. + +Under MS-Windows (unlike UNIX/LINUX), there is no standard program for +printing files. But there are ways you can do it. For example, if +you have gsview installed, you could use it with the option "/p": + + $lpr = '"c:/Program Files/Ghostgum/gsview/gsview32.exe" /p'; + +If gsview is installed in a different directory, you will need to make +the appropriate change. Note the combination of single and double +quotes around the name. The single quotes specify that this is a +string to be assigned to the configuration variable \fI$lpr\fR. The double +quotes are part of the string passed to the operating system to get +the command obeyed; this is necessary because one part of the command +name ("Program Files") contains a space which would otherwise be +misinterpreted. +.TP +.B $lpr_dvi ["NONE lpr_dvi"] +The printing program to print dvi files. +.TP +.B $lpr_pdf ["NONE lpr_pdf"] +The printing program to print pdf files. + +Under MS-Windows you could set this to use gsview, if it is installed, +e.g., + + $lpr = '"c:/Program Files/Ghostgum/gsview/gsview32.exe" /p'; + +If gsview is installed in a different directory, you will need to make +the appropriate change. Note the double quotes around the name: this +is necessary because one part of the command name ("Program Files") +contains a space which would otherwise be misinterpreted. + +.TP +.B $make ["make"] +The make processing program. + +.TP +.B $makeindex ["makeindex %O -o %D %S"] +The index processing program. +.TP +.B $makeindex_silent_switch ["-q"] +\fBSwitch(es)\fR for the index processing program when silent mode is on. +.TP +.B $max_repeat [5] +The maximum number of times \fIlatexmk\fR will run latex/pdflatex +before deciding that there may be an infinite loop and that it needs +to bail out, rather than rerunning latex/pdflatex again to resolve +cross-references, etc. The default value covers all normal cases. + +(Note that the "etc" covers a lot of cases where one run of +latex/pdflatex generates files to be read in on a later run.) +.TP +.B $MSWin_back_slash [1] +This configuration variable only has an effect when \fIlatexmk\fR is +running under MS-Windows. It determines whether, when a command is +executed under MS-Windows, there should be substituted "\\" for the +separator character between components of a directory name. +Internally, \fIlatexmk\fR uses "/" for the directory separator +character, which is the character used by Unix-like systems. + +For many programs under MS-Windows, both "\\" and "/" are acceptable +as the directory separator character. But some programs only accept +"\\". So for safety \fIlatexmk\fR makes a translation, by default. +It is conceivable that under certain situations this is undesirable, +so the configuration can be changed. (A possible example might be +when some of the software is implemented using Cygwin, which provides +an Unix-like environment inside MS-Windows.) + +.TP +.B $new_viewer_always [0] +This variable applies to \fIlatexmk\fR \fBonly\fR in +continuous-preview mode. If \fI$new_viewer_always\fR is 0, +\fIlatexmk\fR will check for a previously running previewer on the +same file, and if one is running will not start a new one. If +\fI$new_viewer_always\fR is non-zero, this check will be skipped, and +\fIlatexmk\fR will behave as if no viewer is running. +.TP + +.B $out_dir [""] +The directory in which output files are to be written by a run of +(pdf)latex. See also the variable \fI$aux_dir\fR. + +The effect of this variable (when non-blank) is achieved by using the +\fB-output-directory\fR option of (pdf)latex. This exists in the +usual current (Dec. 2011) implementations of TeX, i.e., MiKTeX and +TeXLive. But it may not be present in other versions. + +Commonly, the directory specified for output files is a subdirectory +of the current working directory. However, if you specify some other +directory, e.g., "/tmp/foo" or "../output", be aware that this could +cause problems, e.g., with \fImakeindex\fR or \fIbibtex\fR. This is +because modern versions of these programs, by default, will refuse to +work when they find that they are asked to write to a file in a +directory that appears not to be the current working directory or one +of its subdirectories. This is part of security measures by the whole +TeX system that try to prevent malicious or errant TeX documents from +incorrectly messing with a user's files. If for \fI$out_dir\fR or +\fI$aux_dir\fR you really do need to specify an absolute pathname +(e.g., "/tmp/foo") or a path (e.g., "../output") that includes a +higher-level directory, then you need to disable the security measures +(and assume any risks). This can be done by temporarily setting the +operating system's environment variable openout_any to "a" (as in +"all"), to override the default "paranoid" setting. +.TP + +.B $pdf_mode [0] +If zero, do NOT generate a pdf version of the document. +If equal to 1, generate a pdf version of the document using pdflatex. +If equal to 2, generate a pdf version of the document from the ps +file, by using the command specified by the \fI$ps2pdf\fR variable. +If equal to 3, generate a pdf version of the document from the dvi +file, by using the command specified by the \fI$dvipdf\fR variable. + +Equivalent to the \fB-pdf-\fR, \fB-pdf\fR, \fB-pdfdvi\fR, +\fB-pdfps\fR options. +.TP + +.B $pdflatex ["pdflatex %O %S"] +The LaTeX processing program in the version that makes a pdf file instead +of a dvi file. + +An example of the use of this variable is to arrange for \fIxelatex\fR +to be used instead of \fIpdflatex\fR, when you could set + + $pdflatex = "xelatex %O %S"; + +Note that \fIxelatex\fR only produces .pdf files (and not .dvi), so to +use it you will also need to turn on production of .pdf files, and to +turn off the production of .dvi (and .ps) files, either by command +line options or by the following settings in an initialization file + + $pdf_mode = 1; $postscript_mode = $dvi_mode = 0; + + +.TP +.B %pdflatex_input_extensions +This variable specifies the extensions tried by latexmk when it finds +that a pdfLaTeX run resulted in an error that a file has not been found, +and the file is given without an extension. This typically happens when +LaTeX commands of the form \\input{file} or \\includegraphics{figure}, +when the relevant source file does not exist. + +In this situation, latexmk searches for custom dependencies to make +the missing file(s), but restricts it to the extensions specified by +the variable %pdflatex_input_extensions. The default extensions +are 'tex', 'pdf', 'jpg, and 'png'. + +(For Perl experts: %pdflatex_input_extensions is a hash whose keys are +the extensions. The values are irrelevant.) Two subroutines are +provided for manipulating this and the related variable +%latex_input_extensions, add_input_ext and remove_input_ext. They +are used as in the following examples are possible lines in an +initialization file: + + remove_input_ext( 'pdflatex', 'tex' ); + +removes the extension 'tex' from pdflatex_input_extensions + + add_input_ext( 'pdflatex', 'asdf' ); + +add the extension 'asdf to pdflatex_input_extensions. (Naturally with +such an extension, you should have made an appropriate custom +dependency for latexmk, and should also have done the appropriate +programming in the LaTeX source file to enable the file to be read. +The standard extensions are handled by pdflatex and its graphics/graphicx +packages.) + +.TP +.B $pdflatex_silent_switch ["-interaction=batchmode"] +Switch(es) for the pdflatex program (specified in the variable +\fI$pdflatex\fR when silent mode is on. + +If you use MikTeX, you may prefer the results if you configure the +options to include -c-style-errors, e.g., by the following line in an +initialization file + + $latex_silent_switch = "-interaction=batchmode -c-style-errors"; + +.TP +.B $pdf_previewer ["start acroread %O %S"] +The command to invoke a pdf-previewer. + +On MS-WINDOWS, the default is changed to "cmd /c start """; under more recent versions of +Windows, this will cause to be run whatever command the system has +associated with .pdf files. But this may be undesirable if this +association is to \fIacroread\fR -- see the notes in the explanation +of the \fB-pvc\fR option.] + +On OS-X the default is changed to "open %S", which results in OS-X +starting up (and detaching) the viewer associated with the file. By +default, for pdf files this association is to OS-X's preview, which is +quite satisfactory. + +\fBWARNING\fR: Problem under MS-Windows: +if acroread is used as the pdf previewer, and it is +actually viewing a pdf file, the pdf file cannot be updated. Thus +makes acroread a bad choice of previewer if you use \fIlatexmk\fR's +previous-continuous mode (option \fB-pvc\fR) under MS-windows. +This problem does not occur if, for example, SumatraPDF or gsview is +used to view pdf files. + +\fBImportant note\fR: Normally you will want to have a previewer run +detached, so that \fIlatexmk\fR doesn't wait for the previewer to +terminate before continuing its work. So normally you should prefix +the command by "start ", which flags to \fIlatexmk\fR that it should +do the detaching of the previewer itself (by whatever method is +appropriate to the operating system). But sometimes letting +\fIlatexmk\fR do the detaching is not appropriate (for a variety of +non-trivial reasons), so you should put the "start " bit in +yourself, whenever it is needed. + +.TP +.B $pdf_update_command [""] +When the pdf previewer is set to be updated by running a command, this +is the command that is run. See the information for the variable +\fI$pdf_update_method\fR. +.TP +.B $pdf_update_method [1 under UNIX, 3 under MS-Windows] +How the pdf viewer updates its display when the pdf file has +changed. See the information on the variable \fI$dvi_update_method\fR +for the codes. (Note that information needs be changed slightly so +that for the value 4, to run a command to do the update, the command +is specified by the variable \fI$pdf_update_command\fR, and for the +value 2, to specify update by signal, the signal is specified by +\fI$pdf_update_signal\fR.) + +Note that acroread under MS-Windows (but not UNIX) locks the pdf file, so +the default value is then 3. + +Arranging to use a command to get a previewer explicitly updated +requires three variables to be set. For example: + + $pdf_previewer = "start xpdf -remote %R %O %S"; + $pdf_update_method = 4; + $pdf_update_command = "xpdf -remote %R -reload"; + +The first setting arranges for the xpdf program to be used in its +"remote server mode", with the server name specified as the rootname +of the TeX file. The second setting arranges for updating to be done +in response to a command, and the third setting sets the update command. + +.TP +.B $pdf_update_signal [Under UNIX: SIGHUP, which is a system-dependent value] +The number of the signal that is sent to the pdf viewer when it is +updated by sending a signal -- see the information on the variable +\fI$pdf_update_method\fR. The default value is the one appropriate +for gv on a UNIX system. +.TP +.B $pid_position[1 under UNIX, -1 under MS-Windows] +The variable \fI$pid_position\fR is used to +specify which word in lines of the output from \fI$pscmd\fR +corresponds to the process ID. The first word in the line is numbered +0. The default value of 1 (2nd word in line) is correct for Solaris +2.6 and Linux. Setting the variable to -1 is used to indicate that +\fI$pscmd\fR is not to be used. +.TP +.B $postscript_mode [0] +If nonzero, generate a postscript version of the document. +Equivalent to the \fB-ps\fR option. + +If some other request is made for which a postscript file is needed, +then $postscript_mode will be set to 1. +.TP +.B $preview_continuous_mode [0] +If nonzero, run a previewer to view the document, and +continue running \fIlatexmk\fR to keep .dvi up-to-date. Equivalent to +the \fB-pvc\fR option. +Which previewer is run depends on the other settings, see the command +line options \fB-view=\fR, and the variable \fI$view\fR. +.TP +.B $preview_mode [0] +If nonzero, run a previewer to preview the document. +Equivalent to the \fB-pv\fR option. +Which previewer is run depends on the other settings, see the command +line options \fB-view=\fR, and the variable \fI$view\fR. +.TP +.B $printout_mode [0] +If nonzero, print the document using \fIlpr\fR. Equivalent to the +\fB-p\fR option. This is recommended \fBnot\fR to be set from an RC +file, otherwise you could waste lots of paper. +.TP +.B $print_type = ["ps"] +Type of file to printout: possibilities are "dvi", "none", "pdf", or "ps". +.TP +.B $pscmd +Command used to get all the processes currently run by the user. The +-pvc option uses the command specified by the variable \fI$pscmd\fR to +determine if there is an already running previewer, and to find the +process ID (needed if \fIlatexmk\fR needs to signal the previewer +about file changes). + +Each line of the output of this command is assumed to correspond to +one process. See the \fI$pid_position\fR variable for how the process +number is determined. + +The default for \fIpscmd\fR is "NONE" under MS-Windows and cygwin +(i.e., the command is not used), "ps --width 200 -f -u $ENV{USER}" +under linux, "ps -ww -u $ENV{USER}" under darwin (Macintosh OS-X), and +"ps -f -u $ENV{USER}" under other operating systems (including other +flavors of UNIX). In these specifications "$ENV{USER}" is substituted +by the username. +.TP +.B $ps2pdf ["ps2pdf %O %S %D"] +Command to convert ps to pdf file. +.TP +.B $ps_filter [empty] +The postscript file filter to be run on the newly produced postscript +file before other processing. Equivalent to specifying the \fB-pF\fR +option. +.TP +.B $ps_previewer ["start gv %O %S", but "start %O %S" under MS-WINDOWS] +The command to invoke a ps-previewer. (The default under MS-WINDOWS +will cause to be run whatever command the system has associated +with .ps files.) + +Note that gv could be used with the -watch option updates its display +whenever the postscript file changes, whereas ghostview does not. +However, different versions of gv have slightly different ways of +writing this option. You can configure this variable apppropriately. + +\fBWARNING\fR: Linux systems may have installed one (or more) versions +of gv under different names, e.g., ggv, kghostview, etc, but perhaps +not one called gv. + +\fBImportant note\fR: Normally you will want to have a previewer run +detached, so that \fIlatexmk\fR doesn't wait for the previewer to +terminate before continuing its work. So normally you should prefix +the command by "start ", which flags to \fIlatexmk\fR that it should +do the detaching of the previewer itself (by whatever method is +appropriate to the operating system). But sometimes letting +\fIlatexmk\fR do the detaching is not appropriate (for a variety of +non-trivial reasons), so you should put the "start " bit in +yourself, whenever it is needed. + +.TP +.B $ps_previewer_landscape ["start gv -swap %O %S", but "start %O %S" under MS-WINDOWS] +The command to invoke a ps-previewer in landscape mode. +.TP +.B $ps_update_command [""] +When the postscript previewer is set to be updated by running a command, this +is the command that is run. See the information for the variable +\fI$ps_update_method\fR. +.TP +.B $ps_update_method [0 under UNIX, 1 under MS-Windows] +How the postscript viewer updates its display when the ps file has +changed. See the information on the variable \fI$dvi_update_method\fR +for the codes. (Note that information needs be changed slightly so +that for the value 4, to run a command to do the update, the command +is specified by the variable \fI$ps_update_command\fR, and for the +value 2, to specify update by signal, the signal is specified by +\fI$ps_update_signal\fR.) + +.TP +.B $ps_update_signal [Under UNIX: SIGHUP, which is a system-dependent value] +The number of the signal that is sent to the pdf viewer when it is +updated by sending a signal -- see \fI$ps_update_method\fR. The +default value is the one appropriate for gv on a UNIX system. + +.TP +.B $pvc_view_file_via_temporary [1] +The same as \fI$always_view_file_via_temporary\fR, except that it only +applies in preview-continuous mode (-pvc option). + +.TP +.B $quote_filenames [1] +This specifies whether substitutions for placeholders in command +specifications (as in \fI$pdflatex\fR) are surrounded by double +quotes. If this variable is 1 (or any other value Perl regards as +true), then quoting is done. Otherwise quoting is omitted. + +The quoting method used by latexmk is tested to work correctly under +UNIX systems (including Linux and Mac OS-X) and under MS-Windows. It +allows the use of filenames containing special characters, notably +spaces. (But note that many versions of LaTeX and PdfLaTeX cannot +correctly deal with TeX files whose names contain spaces. Latexmk's +quoting only ensures that such filenames are correctly treated by the +operating system in passing arguments to programs.) +.TP +.B $recorder [0] +Whether to use the \fB-recorder\fR option to \fIlatex\fR and +\fIpdflatex\fR. Use of this option results in a file of extension +\fI.fls\fR containing a list of the files that these programs have +read and written. \fILatexmk\fR will then use this file to improve +its detection of source files and generated files after a run of +\fIlatex\fR or \fIpdflatex\fR. + +It is generally recommended to use this option (or to configure the +\fI$recorder\fR variable to be on.) But it only works if +\fI(pdf)latex\fR supports the -recorder option, which is true for most +current implementations + +\fINote about the name of the .fls file:\fR Most implementations of +\fI(pdf)latex\fR produce an .fls file with the same basename as the +main document's LaTeX, e.g., for Document.tex, the .fls file is +Document.fls. However, some implementations instead produce files +named for the program, i.e., latex.fls or pdflatex.fls. In this +second case, \fIlatexmk\fR copies the latex.fls or pdflatex.fls to a +file with the basename of the main LaTeX document, e.g., Document.fls. + +.TP +.B $search_path_separator [See below for default] +The character separating paths in the environment variables TEXINPUTS, +BIBINPUTS, and BSTINPUTS. This variable is mainly used by +\fIlatexmk\fR when the \fB-outdir\fR, \fB-output-directory\fR, +\fB-auxdir\fR, and/or \fB-aux-directory\fR options are used. In that +case \fIlatexmk\fR needs to communicate appropriately modified search +paths to $\fIbibtex\fR, \fIdvipdf\fR, \fIdvips\fR, and +\fI(pdf)latex\fR. + +[Comment to technically savvy readers: \fI(pdf)latex\fR doesn't +actually need the modified search path, because it corrects it +internally. But, surprisingly, \fIdvipdf\fR and \fIdvips\fR do, +because sometimes graphics files get generated in the output or aux +directories.] + +The default under MSWin and Cygwin is ';' and under UNIX-like +operating systems (including Linux and OS-X) is ':'. Normally the +defaults give correct behavior. But there can be difficulties if your +operating system is of one kind, but some of your software is running +under an emulator for the other kind of operating system; in that case +you'll need to find out what is needed, and set +\fI$search_path_separator\fR explicitly. (The same goes, of course, +for unusual operating systems that are not in the MSWin, Linux, OS-X, +Unix collection.) + +.TP +.B $sleep_time [2] +The time to sleep (in seconds) between checking for source file +changes when running with the \fB-pvc\fR option. This is subject to a +minimum of one second delay, except that zero delay is also allowed. + +A value of exactly 0 gives no delay, and typically results in 100% CPU +usage, which may not be desirable. +.TP +.B $texfile_search [""] +This is an obsolete variable, replaced by the \fI@default_files\fR +variable. + +For backward compatibility, if you choose to set +\fI$texfile_search\fR, it is a string of space-separated filenames, and +then \fIlatexmk\fR replaces \fI@default_files\fR with the filenames in +\fI$texfile_search\fR to which is added "*.tex". + +.TP +.B $success_cmd [undefined] +See the documentation for $compiling_cmd. + +.TP +.B $tmpdir [See below for default] +Directory to store temporary files that \fIlatexmk\fR may generate while +running. + +The default under MSWindows (including cygwin), is to set +\fI$tmpdir\fR to the value of the first of whichever of the system +environment variables TMPDIR or TEMP exists, otherwise to the current +directory. Under other operating systems (expected to be UNIX/Linux, +including OS-X), the default is the value of the system environment +variable TMPDIR if it exists, otherwise "/tmp". +.TP +.B $use_make_for_missing_files [0] +Whether to use \fImake\fR to try and make files that are missing after +a run of \fIlatex\fR or \fIpdflatex\fR, and for which a custom +dependency has not been found. This is generally useful only when +\fIlatexmk\fR is used as part of a bigger project which is built by +using the \fImake\fR program. + +Note that once a missing file has been made, no further calls to +\fImake\fR will be made on a subsequent run of \fIlatexmk\fR to update +the file. Handling this problem is the job of a suitably defined +Makefile. See the section "USING \fIlatexmk\fR WITH \fImake\fR" for +how to do this. The intent of calling \fImake\fR from \fIlatexmk\fR +is merely to detect dependencies. +.TP +.B $view ["default"] +Which kind of file is to be previewed if a previewer is used. The +possible values are "default", "dvi", "ps", "pdf". The value +of "default" means that the "highest" of the kinds of file generated is +to be used (among dvi, ps and pdf). + +.SH CUSTOM DEPENDENCIES +.PP +In any RC file a set of custom dependencies can be set up to convert a +file with one extension to a file with another. An example use of this +would be to allow \fIlatexmk\fR to convert a \fI.fig\fR file to +\fI.eps\fR to be included in the \fI.tex\fR file. + +The old method of configuring \fIlatexmk\fR was to directly manipulate +the \fB@cus_dep_list\fR array that contains information defining the +custom dependencies. This method still works. But now there are +subroutines that allow convenient manipulations of the custom +dependency list. These are + + add_cus_dep( fromextension, toextension, must, subroutine ) + remove_cus_dep( fromextension, toextension ) + show_cus_dep() + +The custom dependency is a list of rules, each of which is specified +as follow: +.TP +.B from extension: +The extension of the file we are converting from (e.g. "fig"). +It is specified without a period. +.TP +.B to extension: +The extension of the file we are converting to (e.g. "eps"). +It is specified without a period. +.TP +.B must: +If non-zero, the file from which we are converting \fBmust\fR exist, if it +doesn't exist \fIlatexmk\fR will give an error message and exit unless +the \fB-f\fR option is specified. If \fImust\fR is zero and the file +we are converting from doesn't exist, then no action is taken. +.TP +.B function: +The name of the subroutine that \fIlatexmk\fR should call to perform the +file conversion. The first argument to the subroutine is the base name +of the file to be converted without any extension. The subroutines are +declared in the syntax of \fIPerl\fR. The function should return 0 if +it was successful and a nonzero number if it failed. +.PP +It is invoked whenever \fIlatexmk\fR detects that a run of +latex/pdflatex needs to read a file, like a graphics file, whose +extension is the to-extension of a custom dependency. Then +\fIlatexmk\fR examines whether a file exists with the same name, but +with the corresponding from-extension, as specified in the +custom-dependency rule. If it does, then whenever the destination +file (the one with the to-extension) is out-of-date with respect to +the corresponding source file. + +To make the new destination file, the \fIPerl\fR subroutine specified in the +rule is invoked, with an argument that is the base name of the files +in question. Simple cases just involve a subroutine invoking an +external program; this can be done by following the templates below, +even by those without knowledge of the \fIPerl\fR programming language. Of +course, experts could do something much more elaborate. + +One other item in each custom-dependency rule labelled "must" above +specifies how the rule should be applied when the source file fails to +exist. + +A simple and typical example of code in an initialization rcfile is + + add_cus_dep( 'fig', 'eps', 0, 'fig2eps' ); + sub fig2eps { + system( "fig2dev -Leps \"$_[0].fig\" \"$_[0].eps\"" ); + } + +The first line adds a custom dependency that converts a file with +extension "fig", as created by the xfig program, to an encapsulated +postscript file, with extension "eps". The remaining lines define a +subroutine that carries out the conversion. If a rule for converting +"fig" to "eps" files already exists (e.g., from a previously read-in +initialization file), the \fIlatexmk\fR will delete this rule before +making the new one. + +Suppose \fIlatexmk\fR is using this rule to convert a file +"figure.fig" to "figure.eps". Then it will invoke the fig2eps +subroutine defined in the above code with a single argument "figure", +which is the basename of each of the files (possibly with a path +component). This argument is referred to by \fIPerl\fR as $_[0]. In +the example above, the subroutine uses the \fIPerl\fR command system +to invoke the program fig2dev. The double quotes around the string +are a \fIPerl\fR idiom that signify that each string of the form of a +variable name, $_[0] in this case, is to be substituted by its value. + +If the return value of the subroutine is non-zero, then \fIlatexmk\fR +will assume an error occurred during the execution of the subroutine. +In the above example, no explicit return value is given, and instead +the return value is the value returned by the last (and only) +statement, i.e., the invocation of system, which returns the value 0 +on success. + +If you use pdflatex instead of latex, then you will probably prefer to +convert your graphics files to pdf format, in which case you would +replace the above code in an initialization file by + + add_cus_dep( 'fig', 'pdf, 0, 'fig2pdf' ); + sub fig2pdf { + system( "fig2dev -Lpdf \"$_[0].fig\" \"$_[0].pdf\"" ); + } + +\fBNote 1:\fR In the command lines given in the system commands in the +above examples, double quotes have been inserted around the file names +(implemented by '\"' in the Perl language). They immunize the running +of the program against special characters in filenames. Very often +these quotes are not necessary, i.e., they can be omitted. But it is +normally safer to keep them in. Even though the rules for quoting +vary between operating systems, command shells and individual pieces +of software, the quotes in the above examples do not cause problems in +the cases I have tested. + +\fBNote 2:\fR One case in which the quotes are important is when the +files are in a subdirectory and your operating system is Microsoft +Windows. Then the separator character for directory components can be +either a forward slash '/' or Microsoft's more usual backward slash +'\\'. Forward slashes are generated by latexmk, to maintain its +sanity from software like MiKTeX that mixes both directory +separators; but their correct use normally requires quoted filenames. +(See a log file from a run of MiKTeX (at least in v. 2.9) for an +example of the use of both directory separators.) + +If you have some general custom dependencies defined in the system or +user initialization file, you may find that for a particular project +they are undesirable. So you might want to delete the unneeded ones. +For example, you remove any "fig" to "eps" rule by the line + + remove_cus_dep( 'fig', 'eps' ); + +If you have complicated sets of custom dependencies, you may want to +get a listing of the custom dependencies. This is done by using the +line + + show_cus_dep(); + +in an initialization file. + +Another example of a custom dependency overcomes a limitation of +\fIlatexmk\fR concerning index files. The only index-file conversion +built-in to \fIlatexmk\fR is from an ".idx" file written on one run of +latex/pdflatex to an ".ind" file to be read in on a subsequent run. +But with the index.sty package you can create extra indexes with +extensions that you configure. \fILatexmk\fR does not know how to +deduce the extensions from the information it has. But you can easily +write a custom dependency. For example if your latex file uses the +command "\\newindex{special}{ndx}{nnd}{Special index}" you will need to +convert files with the extension \fI.ndx\fR to \fI.nnd\fR. The +following lines in an initialization RC file will cause this to +happen: + + add_cus_dep('ndx', 'nnd', 0, 'makendx2nnd'); + sub makendx2nnd { + system( "makeindex -o \"$_[0].nnd\" \"$_[0].ndx"\" ); + } + +(You will need to modify this code if you use filenames +with spaces in them, to provide correct quoting of the filenames.) + +Those of you with experience with Makefiles, will undoubtedly be +concerned that the \fI.ndx\fR file is written during a run of +latex/pdflatex and is always later than the \fI.nnd\fR last read in. +Thus the \fI.nnd\fR appears to be perpetually out-of-date. This +situation, of circular dependencies, is endemic to latex, and +\fIlatexmk\fR in its current version works correctly with circular +dependencies. It examines the contents of the files (by use of an md5 +checksum), and only does a remake when the file contents have actually +changed. + +Of course if you choose to write random data to the \fI.nnd\fR (or and +\fI.aux\fR file, etc) that changes on each new run, then you will have +a problem. For real experts: See the \fI%hash_cal_ignore_pattern\fR +if you have to deal with such problems. + +Glossaries can be dealt with similarly. + +.SH OLD METHOD OF DEFINING CUSTOM DEPENDENCIES +In previous versions of \fIlatexmk\fR, the only method of defining +custom dependencies was to directly manipulate the table of custom +dependencies. This is contained in the \fB@cus_dep_list\fR array. It +is an array of strings, and each string in the array has four items in +it, each separated by a space, the from-extension, the to-extension, +the "must" item, and the name of the subroutine for the custom +dependency. These were all defined above. +.PP +An example of the old method of defining custom dependencies is as +follows. It is the code in an RC file to ensure automatic conversion +of \fI.fig\fR files to \fI.eps\fR files: + + push @cus_dep_list, "fig eps 0 fig2eps"; + sub fig2eps { + system( "fig2dev -Lps \"$_[0].fig\" \"$_[0].eps\"" ); + } + +This method still works, and is equivalent to the earlier code using +the add_cus_dep subroutine, except that it doesn't delete any previous +custom-dependency for the same conversion. So the new method is +preferable. + + + +.SH USING \fIlatexmk\fR WITH \fImake\fR + +This section is targeted only at advanced users who use the \fImake\fR +program for complex projects, as for software development, with the +dependencies specified by a Makefile. + +Now the basic task of \fIlatexmk\fR is to run the appropriate programs +to make a viewable version of a LaTeX document. However, the usual +\fImake\fR program is not suited to this purpose for at least two +reasons. First is that the use of LaTeX involves circular +dependencies (e.g., via .aux files), and these cannot be handled by +the standard \fImake\fR program. Second is that in a large document +the set of source files can change quite frequently, particularly with +included graphics files; in this situation keeping a Makefile manually +updated is inappropriate and error-prone, especially when the +depedencies can be determined automatically. \fILatexmk\fR solves +both of these problems robustly. + +Thus for many standard LaTeX documents \fIlatexmk\fR can be used by +itself without the \fImake\fR program. In a complex project it simply +needs to be suitably configured. A standard configuration would be to +define custom dependencies to make graphics files from their source +files (e.g., as created by the \fIxfig\fR program). Custom +dependencies are \fIlatexmk\fR's equivalent of pattern rules in +Makefiles. + +Nevertheless there are projects for which a Makefile is appropriate, +and it is useful to know how to use \fIlatexmk\fR from a Makefile. A +typical example would be to generate documentation for a software +project. Potentially the interaction with the rest of the rules in +the Makefile could be quite complicated, for example if some of the +source files for a LaTeX document are generated by the project's +software. + +In this section, I give a couple of examples of how \fIlatexmk\fR can +be usefully invoked from a Makefile. The examples use specific +features of current versions of GNU \fImake\fR, which is the default +on both linux and OS-X systems. They may need modifications for other +versions of \fImake\fR. + +The simplest method is simply to delegate all the relevant tasks to +\fIlatexmk\fR, as is suitable for a straightforward LaTeX document. +For this a suitable Makefile is like + + .PHONY : FORCE_MAKE + all : try.pdf + %.pdf : %.tex FORCE_MAKE + latexmk -pdf -dvi- -ps- $< + +(Note: the last line must be introduced by a tab for the Makefile to +function correctly!) Naturally, if making try.pdf from its associated +LaTeX file try.tex were the only task to be performed, a direct use of +\fIlatexmk\fR without a Makefile would normally be better. The +benefit of using a Makefile for a LaTeX document would be in a larger +project, where lines such as the above would be only be a small part +of a larger Makefile. + +The above example has a pattern rule for making a .pdf file from +a .tex file, and it is defined to use latexmk in the obvious way. +There is a conventional default target named "all", with a +prerequisite of try.pdf. So when \fImake\fR is invoked, by default it +makes try.pdf. The only complication is that there may be many source +files beyond try.tex, but these aren't specified in the Makefile, so +changes in them will not by themselves cause \fIlatexmk\fR to be +invoked. Instead, the pattern rule is equipped with a "phony" +prerequisite FORCE_MAKE; this has the effect of causing the rule to be +always out-of-date, so that \fIlatexmk\fR is always run. It is +\fIlatexmk\fR that decides whether any action is needed, e.g., a rerun +of \fIpdflatex\fR. Effectively the Makefile delegates all decisions +to \fIlatexmk\fR, while \fImake\fR has no knowledge of the list of +source files except for primary LaTeX file for the document. If +there are, for example, graphics files to be made, these must be +made by custom dependencies configured in \fIlatexmk\fR. + +But something better is needed in more complicated situations, for +example, when the making of graphics files needs to be specified by +rules in the Makefile. To do this, one can use a Makefile like the +following: + + TARGETS = document1.pdf document2.pdf + DEPS_DIR = .deps + LATEXMK = latexmk -recorder -use-make -deps \\ + -e 'warn qq(In Makefile, turn off custom dependencies\n);' \\ + -e '@cus_dep_list = ();' \\ + -e 'show_cus_dep();' + all : $(TARGETS) + $(foreach file,$(TARGETS),$(eval -include $(DEPS_DIR)/$(file)P)) + $(DEPS_DIR) : + mkdir $@ + %.pdf : %.tex + if [ ! -e $(DEPS_DIR) ]; then mkdir $(DEPS_DIR); fi + $(LATEXMK) -pdf -dvi- -ps- -deps-out=$(DEPS_DIR)/$@P $< + %.pdf : %.fig + fig2dev -Lpdf $< $@ + +(Again, the lines containing the commands for the rules should be +started with tabs.) This example was inspired by how GNU +\fIautomake\fR handles automatic dependency tracking of C source +files. + +After each run of latexmk, dependency information is put in a file +in the .deps subdirectory. The Makefile causes these dependency files +to be read by \fImake\fR, which now has the full dependency +information for each target .pdf file. To make things less trivial it +is specificed that two files document1.pdf and document2.pdf are the +targets. The dependency files are .deps/document1.pdfP +and .deps/document2.pdfP. + +There is now no need for the phony prerequisite for the rule to +make .pdf files from .tex files. But I have added a rule to +make .pdf files from .fig files produced by the \fIxfig\fR program; +these are commonly used for graphics insertions in LaTeX documents. +\fILatexmk\fR is arranged to output a dependency file after each run. +It is given the \fB-recorder\fR option, which improves its detection +of files generated during a run of \fIpdflatex\fR; such files should +not be in the dependency list. The \fB-e\fR options are used to turn +off all custom dependencies, and to document this. Instead the +\fB-use-make\fR is used to delegate the making of missing files to +\fImake\fR itself. + +Suppose in the LaTeX file there is a command \\includegraphics{graph}, +and an \fIxfig\fR file "graph.fig" exists. On a first run, +\fIpdflatex\fR reports a missing file, named "graph". \fILatexmk\fR +succeeds in making "graph.pdf" by calling "make graph.pdf", and after +completion of its work, it lists "fig.pdf" among the dependents of the +file \fIlatexmk\fR is making. Then let "fig.fig" be updated, and then +let \fImake\fR be run. \fIMake\fR first remakes "fig.pdf", and only +then reruns \fIlatexmk\fR. + +Thus we now have a method by which all the subsidiary processing is +delegated to \fImake\fR. + +.SH SEE ALSO +latex(1), bibtex(1). +.SH BUGS +Sometimes a viewer (gv) tries to read an updated .ps or .pdf file +after its creation is started but before the file is complete. Work +around: manually refresh (or reopen) display. Or use one of the other +previewers and update methods. + +(The following isn't really a bug, but concerns features of previewers.) +Preview continuous mode only works perfectly with certain previewers: +Xdvi on UNIX/LINUX works for dvi files. +Gv on UNIX/LINUX works for both postscript and pdf. +Ghostview on UNIX/LINUX needs a manual update (reopen); it views +postscript and pdf. +Gsview under MS-Windows works for both postscript and pdf, +but only reads the updated file when its screen is refreshed. +Acroread under UNIX/LINUX views pdf, but the file needs to be closed +and reopened to view an updated version. +Under MS-Windows, acroread locks its input file and so the +pdf file cannot be updated. (Remedy: configure \fIlatexmk\fR to use +\fIsumatrapdf\fR instead.) +.SH THANKS TO +Authors of previous versions. Many users with their feedback, and +especially +David Coppit (username david at node coppit.org) who made many useful +suggestions that contributed to version 3, and Herbert Schulz. +(Please note that the +e-mail addresses are not written in their standard form to avoid being +harvested by worms and viruses.) +.SH AUTHOR +Current version, by John Collins (username collins at node phys.psu.edu). +(Version 4.35). + +Released version can be obtained from CTAN: +<http://www.tug.org/tex-archive/support/latexmk/>, and from the +author's website <http://www.phys.psu.edu/~collins/software/latexmk/>. +.br +Modifications and enhancements by Evan McLean (Version 2.0) +.br +Original script called "go" by David J. Musliner (RCS Version 3.2) + +\" LocalWords: fR fIlatexmk dvi ps fILatexmk pdflatex bibtex makeindex fB pv +\" LocalWords: pvc fIgv xdvi gsview cygwin fdb TP tex bm bs fIlatex fIbibtex +\" LocalWords: gg regeneratable dep exts dF dviF dviselect fI fR's lpr pdfps +\" LocalWords: pdfdvi dvipdf pF psF psnup fIsome gv acroread xpdf rcfile cus +\" LocalWords: batchmode latexmkrc elatex basename texfile WinXP BIBINPUTS +\" LocalWords: kpsewhich BibTeX dtx dvipdfm dvips fpTeX MikTeX fBWARNING pid +\" LocalWords: pscmd fIlpr fBnot ENV OSX SIGHUP tmpdir MSWindows tmp eps dev +\" LocalWords: fImust fIperl Lps fIfig diff --git a/Master/texmf-dist/doc/man/man1/latexmk.man1.pdf b/Master/texmf-dist/doc/man/man1/latexmk.man1.pdf Binary files differnew file mode 100644 index 00000000000..638b81efb45 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/latexmk.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/latexrevise.1 b/Master/texmf-dist/doc/man/man1/latexrevise.1 new file mode 100644 index 00000000000..b8d0d2da807 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/latexrevise.1 @@ -0,0 +1,235 @@ +.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "LATEXREVISE 1" +.TH LATEXREVISE 1 "2012-12-16" "perl v5.12.4" " " +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +latexrevise \- selectively remove markup and text from latexdiff output +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBlatexrevise\fR [ \fB\s-1OPTIONS\s0\fR ] [ \fIdiff.tex\fR ] > \fIrevised.tex\fR +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +\&\fIlatexrevise\fR reads a file \f(CW\*(C`diff.tex\*(C'\fR (output of \fIlatexdiff\fR), and remove the markup commands. +If no filename is given the input is read from standard input. The command can be used +in \fI\s-1ACCEPT\s0\fR, \fI\s-1DECLINE\s0\fR, or \fI\s-1SIMPLIFY\s0\fR mode, or can be used to remove user-defined +latex commands from the input (see \fB\-c\fR, \fB\-e\fR, \fB\-m\fR, and \fB\-n\fR below). +In \fI\s-1ACCEPT\s0\fR mode, all appended text fragments (or preamble lines) +are kept, and all discarded text fragments (or preamble lines) are +deleted. +In \fI\s-1DECLINE\s0\fR mode, all discarded text fragments are kept, and all appended +text fragments are deleted. +If you wish to keep some changes, edit the diff.tex file in +advance, and manually remove those tokens which would otherwise be +deleted. Note that \fIlatexrevise\fR only pays attention to the \f(CW\*(C`\eDIFaddbegin\*(C'\fR, +\&\f(CW\*(C`\eDIFaddend\*(C'\fR, \f(CW\*(C`\eDIFdelbegin\*(C'\fR, and \f(CW\*(C`\eDIFdelend\*(C'\fR tokens and corresponding \s-1FL\s0 +varieties. All \f(CW\*(C`\eDIFadd\*(C'\fR and \f(CW\*(C`\eDIFdel\*(C'\fR commands (but not their contents) are +simply deleted. The commands added by latexdiff to the preamble are also +removed. +In \fI\s-1SIMPLIFY\s0\fR mode, \f(CW\*(C`\eDIFaddbegin, \eDIFaddend, \eDIFdelbegin, \eDIFdelend\*(C'\fR +tokens and their corresponding \f(CW\*(C`FL\*(C'\fR varieties are kept but all other markup (e.g. \f(CW\*(C`DIFadd\*(C'\fR and <\eDIFdel>) is removed. The result +will not in general be valid latex-code but it will be easier to read and edit in +preparation for a subsequent run in \fI\s-1ACCEPT\s0\fR or \fI\s-1DECLINE\s0\fR mode. +In \fI\s-1SIMPLIFY\s0\fR mode the preamble is left unmodified. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-a\fR or \fB\-\-accept\fR" 4 +.IX Item "-a or --accept" +Run in \fI\s-1ACCEPT\s0\fR mode (delete all blocks marked by \f(CW\*(C`\eDIFdelbegin\*(C'\fR and \f(CW\*(C`\eDIFdelend\*(C'\fR). +.IP "\fB\-d\fR or \fB\-\-decline\fR" 4 +.IX Item "-d or --decline" +Run in \fI\s-1DECLINE\s0\fR mode (delete all blocks marked by \f(CW\*(C`\eDIFaddbegin\*(C'\fR +and \f(CW\*(C`\eDIFaddend\*(C'\fR). +.IP "\fB\-s\fR or \fB\-\-simplify\fR" 4 +.IX Item "-s or --simplify" +Run in \fI\s-1SIMPLIFY\s0\fR mode (Keep all \f(CW\*(C`\eDIFaddbegin\*(C'\fR, \f(CW\*(C`\eDIFaddend\*(C'\fR, +\&\f(CW\*(C`\eDIFdelbegin\*(C'\fR, \f(CW\*(C`\eDIFdelend\*(C'\fR tokens, but remove all other latexdiff +markup from body). +.PP +Note that the three mode options are mutually exclusive. If no mode option is given, +\&\fIlatexrevise\fR simply removes user annotations and markup according to the following four +options. +.IP "\fB\-c cmd\fR or \fB\-\-comment=cmd\fR" 4 +.IX Item "-c cmd or --comment=cmd" +Remove \f(CW\*(C`\ecmd{...}\*(C'\fR sequences. \f(CW\*(C`cmd\*(C'\fR is supposed to mark some explicit +anotations which should be removed from the file before +release. +.IP "\fB\-e envir\fR or \fB\-\-comment\-environment=envir\fR" 4 +.IX Item "-e envir or --comment-environment=envir" +Remove explicit annotation environments from the text, i.e. remove +.Sp +.Vb 3 +\& \ebegin{envir} +\& ... +\& \eend{envir} +.Ve +.Sp +blocks. +.IP "\fB\-m cmd\fR or \fB\-\-markup=cmd\fR" 4 +.IX Item "-m cmd or --markup=cmd" +Remove the markup command \f(CW\*(C`\ecmd\*(C'\fR but leave its argument, i.e. +turn \f(CW\*(C`\ecmd{abc}\*(C'\fR into \f(CW\*(C`abc\*(C'\fR. +.IP "\fB\-n envir\fR or \fB\-\-markup\-environment=envir\fR" 4 +.IX Item "-n envir or --markup-environment=envir" +Similarly, remove \f(CW\*(C`\ebegin{envir}\*(C'\fR and \f(CW\*(C`\eend{envir}\*(C'\fR commands but +leave content of the environment in the text. +.IP "\fB\-V\fR or \fB\-\-verbose\fR" 4 +.IX Item "-V or --verbose" +Verbose output +.IP "\fB\-q\fR or \fB\-\-no\-warnings\fR" 4 +.IX Item "-q or --no-warnings" +Do not warn users about \f(CW\*(C`\eDIDadd{..}\*(C'\fR or \f(CW\*(C`\eDIFdel{..}\*(C'\fR statements +which should have been removed already. +.SH "BUGS" +.IX Header "BUGS" +The current version is a beta version which has not yet been +extensively tested, but worked fine locally. Please submit bug reports through +the latexdiff project page \fIhttp://developer.berlios.de/projects/latexdiff/\fR or send +to \fItilmann@gfz\-potsdam.de\fR. Include the serial number of \fIlatexrevise\fR +(from comments at the top of the source). If you come across latexdiff +output which is not processed correctly by \fIlatexrevise\fR please include the +problem file as well as the old and new files on which it is based, +ideally edited to only contain the offending passage as long as that still +reproduces the problem. +.PP +Note that \fIlatexrevise\fR gets confused by commented \f(CW\*(C`\ebegin{document}\*(C'\fR or +\&\f(CW\*(C`\eend{document}\*(C'\fR statements +.SH "SEE ALSO" +.IX Header "SEE ALSO" +latexdiff +.SH "PORTABILITY" +.IX Header "PORTABILITY" +\&\fIlatexrevise\fR does not make use of external commands and thus should run +on any platform supporting \s-1PERL\s0 v5 or higher. +.SH "AUTHOR" +.IX Header "AUTHOR" +Copyright (C) 2004 Frederik Tilmann +.PP +This program is free software; you can redistribute it and/or modify +it under the terms of the \s-1GNU\s0 General Public License Version 3 diff --git a/Master/texmf-dist/doc/man/man1/latexrevise.man1.pdf b/Master/texmf-dist/doc/man/man1/latexrevise.man1.pdf Binary files differnew file mode 100644 index 00000000000..623a87d27af --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/latexrevise.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/luatex.1 b/Master/texmf-dist/doc/man/man1/luatex.1 new file mode 100644 index 00000000000..696e26d52f8 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/luatex.1 @@ -0,0 +1,251 @@ +.TH LUATEX 1 "12 April 2011" "luatex 0.70" "Web2C 2012" +.\"===================================================================== +.if n .ds MF Metafont +.if t .ds MF M\s-2ETAFONT\s0 +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.if n .ds WB Web +.if t .ds WB W\s-2EB\s0 +.\"===================================================================== +.SH NAME +luatex, texlua, texluac \- An extended version of pdfTeX using Lua as +an embedded scripting language +.\"===================================================================== +.SH SYNOPSIS +.B luatex +.RB [ \-\-lua=\fIFILE\fP ] +.RI [ OPTION ].\|.\|. +.RI [ TEXNAME [ \fB.tex\fP ]] +.RI [ COMMANDS ] +.br +.B luatex +.RB [ \-\-lua=\fIFILE\fP ] +.RI [ OPTION ].\|.\|. +.BI \e FIRST\-LINE +.br +.B luatex +.RB [ \-\-lua=\fIFILE\fP ] +.RI [ OPTION ].\|.\|. +.BI & FMT +.RI [ ARGS ] +.\"===================================================================== +.SH DESCRIPTION +Run the lua\*(TX typesetter on +.IR TEXNAME , +usually creating +.IR TEXNAME\fB.pdf\fP . +Any remaining +.I COMMANDS +are processed as lua\*(TX input, after +.I TEXNAME +is read. + +Alternatively, if the first non\-option argument begins with a backslash, +interpret all non\-option arguments as a line of lua\*(TX input. + +Alternatively, if the first non\-option argument begins with a \fB&\fR, +the +next word is taken as the \fIFMT\fR to read, overriding all else. Any +remaining arguments are processed as above. + +If no arguments or options are specified, prompt for input. + +If called as \fBtexlua\fR it acts as lua interpreter. +If called as \fBtexluac\fR it acts as lua bytecode compiler. + +Lua\*(TX is an extended version of pdf\*(TX with Unicode and OpenType +font support, embeded \fBLua\fR scripting language, the \fBe-\*(TX\fR +and \fBOmega\fR extensions, as well as integrated MetaPost engine, that +can create \fIPDF\fR files as well as \fIDVI\fR files. +For more information about luatex, see http://www.luatex.org, you can +read Lua\*(TX manual using texdoc utility (\fBtexdoc luatex\fR). + +All Lua\*(TX text input and output is considered to be Unicode text. + +In \fIDVI\fR mode, lua\*(TX can be used as a complete replacement for +the \*(TX engine. + +In \fIPDF\fR mode, lua\*(TX can natively handle the \fIPDF\fR, \fIJPG\fR, +\fIJBIG2\fR, and \fIPNG\fR graphics formats. lua\*(TX cannot include +PostScript or Encapsulated PostScript (EPS) graphics files; first convert +them to PDF using \fBepstopdf\fR (1). + +.\"===================================================================== +.SH "OPTIONS" +When the Lua\*(TX executable starts, it looks for the \fB\-\-lua\fR +commandline option. +If there is no \fB\-\-lua\fR option, the commandline is interpreted in a +similar fashion as in traditional pdf\*(TX and Aleph. But if the option +is present, Lua\*(TX will enter an alternative mode of commandline parsing +in comparison to the standard web2c programs. The presence of \fB--lua\fR +makes most of other options unreliable, because the lua initialization +file can disable kpathsea and/or hook functions into various callbacks. +.ig +Here is the list of possibly affected switches/functionality, and why: +.. +.TP +.BI "\-\-lua=" FILE +The lua initialization file. +.PP +The following two options alter the executable behaviour: +.TP +.B \-\-luaonly +Start Lua\*(TX as a Lua interpreter. In this mode, it will set Lua's +\fIarg[0]\fR to the found script name, pushing preceding options in +negative values and the rest of the commandline in the positive values, +just like the Lua interpreter. Lua\*(TX will exit immediately after +executing the specified Lua script. +.TP +.BI \-\-luaconly +Start Lua\*(TX as a Lua byte compiler. In this mode, Lua\*(TX is exactly +like \fBluac\fR from the standalone Lua distribution, except that it +does not have the \fB\-l\fR switch, and that it accepts (but ignores) +the \fB\-\-luaconly\fR switch. +.PP +Then the regular web2c options: +.TP +.B \-\-debug\-format +.br +Debug format loading. +.TP +.B \-\-draftmode +Sets \epdfdraftmode so lua\*(TX doesn't write a PDF and doesn't read +any included images, thus speeding up execution. +.TP +.B \-\-enable\-write18 +.br +Synonym for \fB\-\-shell\-escape\fR. +.TP +.B \-\-disable\-write18 +.br +Synonym for \fB\-\-no\-shell\-escape\fR. +.TP +.B \-\-shell\-escape +.br +Enable the +.BI \ewrite18{ command } +construct, and Lua functions \fBos.execute()\fR, \fBos.exec()\fR, +\fBos.spawn()\fR, and \fBio.popen()\fR. The \fIcommand\fR can be any +shell command. This construct is normally disallowed for security +reasons. +.TP +.B \-\-no\-shell-escape +.br +Disable the +.BI \ewrite18{ command } +construct and the other Lua functions, even if it is enabled in the +\fItexmf.cnf\fR file. +.TP +.B \-\-shell-restricted +Enable restricted version of \fB\ewrite18\fR, \fBos.execute()\fR, +\fBos.exec()\fR, \fBos.spawn()\fR, and \fBio.popen()\fR, only commands +listed in \fItexmf.cnf\fR file are allowed. +.TP +.B \-\-file\-line\-error +Print error messages in the form \fIfile:line:error\fR which is similar +to the way many compilers format them. +.TP +.B \-\-no\-file\-line\-error +Disable printing error messages in the \fIfile:line:error\fR style. +.TP +.BI "\-\-fmt=" FORMAT +Use \fIFORMAT\fR as the name of the format to be used, instead of the +name by which lua\*(TX was called or a \fI%&\fR line. +.TP +.B \-\-help +Print help message and exit. +.TP +.B \-\-ini +Start in \fIINI\fR mode, which is used to dump formats. The \fIINI\fR +mode can be used for typesetting, but no format is preloaded, and basic +initializations like setting catcodes may be required. +.TP +.BI "\-\-interaction=" MODE +Sets the interaction mode. The \fIMODE\fR can be either +.IR batchmode , +.IR nonstopmode , +.IR scrollmode , +and +.IR errorstopmode . +The meaning of these modes is the same as that of the corresponding +\ecommands. +.TP +.BI "\-\-jobname=" NAME +Use \fINAME\fR for the job name, instead of deriving it from the name +of the input file. +.TP +.BI "\-\-kpathsea-debug=" BITMASK +Sets path searching debugging flags according to the \fIBITMASK\fR. +See the \fIKpathsea\fR manual for details. +.TP +.BI "\-\-mktex=" FMT +Enable mktex\fIFMT\fR generation, where \fIFMT\fR must be either \fItex\fR +or \fItfm\fR. +.TP +.B \-\-nosocket +Disable the luasocket (network) library. +.TP +.TP +.BI "\-\-output\-comment=" STRING +In \fIDVI\fR mode, use \fISTRING\fR for the \fIDVI\fR file comment +instead of the date. This option is ignored in\fIPDF\fR mode. +.TP +.BI "\-\-output\-directory=" DIRECTORY +Write output files in \fIDIRECTORY\fR instead of the current directory. +Look up input files in \fIDIRECTORY\fR first, then along the normal +search path. +.TP +.BI "\-\-output\-format=" FORMAT +Set the output format mode, where \fIFORMAT\fR must be either \fIpdf\fR +or \fIdvi\fR. +This also influences the set of graphics formats understood by lua\*(TX. +.TP +.BI "\-\-progname=" NAME +Pretend to be program \fINAME\fR (only for kpathsea). +.TP +.B \-\-recorder +Enable the filename recorder. +This leaves a trace of the files opened for input and output +in a file with extension \fI.fls\fR. +.TP +.B \-\-safer +Disable some Lua commands that can easily be abused by a malicious +document. +.TP +.BI "\-\-synctex=" NUMBER +Enable/disable Sync\*(TX extension. +.TP +.B \-\-version +Print version information and exit. +.TP +.B \-\-credits +Print credits and version details. +.TP +The following options are ignored: +.TP +.BR \-\-8bit ,\ \-\-etex ,\ \-\-parse\-first\-line ,\ \-\-no\-parse\-first\-line +These are always on. +.TP +.BR \-\-default\-translate\-file=\fITCXNAME\fP ,\ \-\-translate\-file=\fITCXNAME\fP +These are always off. + +.\"===================================================================== +.SH "SEE ALSO" +.BR pdftex (1), +.BR etex (1), +.BR aleph (1), +.BR omega (1), +.BR lua (1). +.\"===================================================================== +.SH "AUTHORS" +The primary authors of Lua\*(TX are Hartmut Henkel, Taco Hoekwater, +and Hans Hagen, with help from Martin Schr\[:o]der, Karel Skoupy, and +Han The Thanh. +.PP +\*(TX was designed by Donald E. Knuth, who implemented it using his +\*(WB system for Pascal programs. +It was ported to Unix at Stanford by Howard Trickey, and at Cornell by +Pavel Curtis. +The version now offered with the Unix \*(TX distribution is that generated +by the \*(WB to C system (\fBweb2c\fR), originally written by Tomas +Rokicki and Tim Morgan. diff --git a/Master/texmf-dist/doc/man/man1/luatex.man1.pdf b/Master/texmf-dist/doc/man/man1/luatex.man1.pdf Binary files differnew file mode 100644 index 00000000000..98d4ed4b61c --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/luatex.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/m-tx.1 b/Master/texmf-dist/doc/man/man1/m-tx.1 new file mode 100644 index 00000000000..c9552ab3937 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/m-tx.1 @@ -0,0 +1,106 @@ +.\" This manpage is licensed under the GNU Public License +.TH m-tx 1 2012-04-09 "m-tx script, version 0.3" "" + +.SH NAME +m-tx \- This script processes mtx files then deletes intermediate files + +.SH SYNOPSIS +[ texlua ] +.B m-tx[.lua] +{ +.IR option +| +.IR jobname +[ .mtx ] +} ... +.TP +The default effect is to process each file using +.TP 12 +.BR prepmx (1) +(pre-pre-processing pass) +.TP +.BR pmxab (1) +(pre-processing pass) +.TP +.BR etex (1) +(first pass) +.TP +.BR musixflx (1) +(second pass) +.TP +.BR etex (1) +(third pass) +.TP +.BR dvips (1) +(dvi to Postscript) +.TP +.BR ps2pdf (1) +(Postscript to Portable Document Format) +.TP +followed by removal of intermediate files. + +.SH OPTIONS +.TP 8 +.B -v +output program name and version number, and quit +.TP +.B -h +output usage summary and quit +.TP +.B -l +changes the TeX processor to +.BR latex (1) +or +.BR pdflatex (1) +.TP +.B -p +changes the TeX processor to +.BR pdfetex (1) +or +.BR pdflatex (1) +(and doesn't run +.BR dvips (1) +and +.BR ps2pdf (1) +or +.BR dvipdfm (1) +) +.TP +.B -d +changes the dvi processor to +.BR dvipdfm (1) +.TP +.B -s +stops processing at the dvi file +.TP +.B -t +stops processing at the tex (and midi) files +.TP +.B -m +stops processing at the pmx file +.TP +.B -i +retain intermediate files +.TP +.B -f +default processing +.TP 0 +Options affect processing of all succeeding mtx files unless changed by another option. + +.SH SEE ALSO +.BR prepmx (1) +.BR pmxab (1) +.BR scor2prt (1) +.BR etex (1), +.BR latex (1), +.BR pdfetex (1), +.BR pdflatex (1), +.BR musixflx (1), +.BR dvipdfm (1), +.BR dvips (1), +.BR ps2pdf (1). +.br +mtx260.pdf + +.SH AUTHOR +This manual page was written by Bob Tennent <rdt@cs.queensu.ca>. diff --git a/Master/texmf-dist/doc/man/man1/m-tx.man1.pdf b/Master/texmf-dist/doc/man/man1/m-tx.man1.pdf Binary files differnew file mode 100644 index 00000000000..8e8f9d8e231 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/m-tx.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/mag.1 b/Master/texmf-dist/doc/man/man1/mag.1 new file mode 100644 index 00000000000..8d9f2d4a261 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mag.1 @@ -0,0 +1,68 @@ +.\" e +.TH MAG 1 UMFT +.de EX +.sp +.in +5 +.nf +.ft CW +.. +.de EE +.in -5 +.ft R +.sp +.fi +.. +.SH NAME +mag \- computes fontsizes and magsteps +.SH SYNOPSIS +.B +mag +[-\fBR\fIdpi\fP\fP] magstep . . . + +.B +mag +[-\fBr\fP] [-\fBR\fP\fIdpi\fP] fontsize . . . + +.SH DESCRIPTION +.EQ +delim $$ +.EN +This tool calculates fontsizes given magsteps. TeXfonts are provided as +true sized fonts or as magnifications. The fontsize of a true sized +font equals the resolution of the printer (ex. 300). The fontsize +of a font magnified $n$ \fImagsteps\fP equals: +.EQ +1.2 sup{n} times 300 +delim off +.EN +rounded to its nearest integer value. Fontnames for TeX fonts normally +consists of the name (\fIcmr\fP), pointsize (\fI10\fP), type (\fIpk\fP) +and fontsize (\fI360\fP), for example: \fIcmr10.360pk\fP. + +.SH EXAMPLES +The result of \fImag -R240 -2 0 0.5 1\fP will be: +.EX +167 240 263 288 +.EE + +The inverse function is computed with the \fI-r\fP option. The result of +\fImag -r -R240 167 240 263 288\fP +will be the fontsteps: +.EX +-2 0 0.5 1 +.EE + +The UNIX shells allow command substitution. One can write: +.EX +mag -r -R240 `mag -R240 -2 0 0.5 1` +.EE + +.SH DATE +18 December, 1989 + +.SH AUTHOR +.nf +Piet Tutelaers +University of Technology Eindhoven +<rcpt@urc.tue.nl> + diff --git a/Master/texmf-dist/doc/man/man1/mag.man1.pdf b/Master/texmf-dist/doc/man/man1/mag.man1.pdf Binary files differnew file mode 100644 index 00000000000..fd715cc1dd7 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mag.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/makeindex.1 b/Master/texmf-dist/doc/man/man1/makeindex.1 new file mode 100644 index 00000000000..92d641b32d3 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/makeindex.1 @@ -0,0 +1,1216 @@ +.if t .ds LX L\\h'-0.36m'\\v'-0.15v'\\s-2A\\s+2\\h'-0.15m'\\v'0.15v'T\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X +.if n .ds LX LaTeX +.if t .ds TX T\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X +.if n .ds TX TeX +.ds Ts T\s-2RAN\s+2S\s-2CRIPT\s+2 +.if t .ds Uc \fIU\\h'-0.12m'C\\v'0.27m'\\h'-.23m'S\\h'-0.11m'F\\v'-0.27m'\fP +.if n .ds Uc UCSF +.ds Et \\f(boE\\h'-0.1667m'\\v'-0.20v'T\\v'0.20v'\\h'-0.125m'T\\fP +.TH MAKEINDEX 1 "24 September 2011" "TeX Live" "TeX Live" +.\"===================================================================== +.SH NAME +makeindex \- a general purpose, formatter-independent index processor +.SH SYNOPSIS +.B makeindex +.RB [ \-c ] +.RB [ \-g ] +.RB [ \-i ] +.RB [ \-l ] +.RB [ \-o +.IR ind ] +.RB [ \-p +.IR num ] +.RB [ \-q ] +.RB [ \-r ] +.RB [ \-s +.IR sfile ] +.RB [ \-t +.IR log ] +.RB [ \-L ] +.RB [ \-T ] +.RI [ idx0 +.I idx1 +.IR idx2 .\|.\|.] +.\"===================================================================== +.SH DESCRIPTION +The program +.I makeindex +is a general purpose hierarchical index generator; it accepts one or +more input files (often produced by a text formatter such as \*(TX +.RI ( tex (1L)) +or +.IR troff (1), +sorts the entries, and produces an output file which can be formatted. +The index can have up to three levels (0, 1, and 2) of subitem nesting. +The way in which words are flagged for indexing within the main document +is specific to the formatter used; +.I makeindex +does +.I not +automate the process of selecting these words. As the output index +is hierarchical, +.I makeindex +can be considered complimentary to the +.IR awk (1)-based +.IR make.index (1L) +system of Bentley and Kernighan, which is specific to +.IR troff (1), +generates non-hierarchical indices, and employs a much simpler syntax +for indicating index entries. For illustration of use with +.I troff +and +.IR \*(TX , +see the section \s-2EXAMPLES\s+2 below. +.LP +The formats of the input and output files are +specified in a style file; by default, input is assumed to be a +.I \&.idx +file, as generated by \*(LX. +.LP +Unless specified explicitly, the base name of the first input file +.RI ( idx0 ) +is used to determine the names of other files. For each input file +name specified, a file of that name is sought. If this file is not +found and the file name has no extension, the extension +.I \&.idx +is appended. If no file with this name is found, +.I makeindex +aborts. +.LP +If exactly one input file was given and no explicit style file was +specified using +.BR \-s , +.I makeindex +uses a file with the extension +.I \&.mst +as default style file (when present). +.LP +For important notes on how to select index keywords, see the document +by Lamport cited below. As an issue separate from selecting index +keywords, a systematic mechanism for placing index terms in a document +is suggested in +.IR "Index Preparation and Processing" , +a paper cited below. +.\"===================================================================== +.SH OPTIONS +.TP 10 +.B \-c +Compress intermediate blanks (ignoring leading and trailing blanks and +tabs). By default, blanks in the index key are retained. +.TP 10 +.B \-g +Employ German word ordering in the index, in accord with rules set forth +in DIN 5007. By default, +.I makeindex +employs a word ordering in which precedence is: symbols, numbers, +uppercase letters, lowercase letters. The sequence in German word +ordering is: symbols, lowercase letters, uppercase letters, numbers. +Additionally, this option enables +.I makeindex +to recognize the German \*(TX-commands {"a, "o, "u and "s} as {ae, oe, +ue and ss} during the sorting of the entries. The quote character +must be redefined in a style file (for example, redefine quote +as '+'). If the quote character is not redefined, +.I makeindex +will produce an error message and abort. +.TP 10 +.B \-i +Take input from +.IR stdin . +When this option is specified and +.B \-o +is not, output is written to +.IR stdout . +.TP 10 +.B \-l +Letter ordering; by default, word ordering is used (see +the \s-2ORDERING\s+2 section). +.TP 10 +.BI \-o " ind" +Employ +.I ind +as the output index file. By default, the file name +is created by appending the extension +.I .ind +to the base name of +the first input file +.RI ( idx0 ). +.TP 10 +.BI \-p " num" +Set the starting page number of the output index file to be +.I num +(useful when the index file is to be formatted separately). The +argument +.I num +may be numerical or one of the following: +.RS +.TP 10 +.I any +The starting page is the last source page number plus 1. +.TP +.I odd +The starting page is the first odd page following the last source page +number. +.TP +.I even +The starting page is the first even page following the last source +page number. +.RE +.IP +The last source page is obtained by searching backward in the log file +for the first instance of a number included within paired square +brackets +.RB ( [ .\|.\|. ] ). +If a page number is missing or the log file is not found, no attempt +will be made to set the starting page number. The source log file +name is determined by appending the extension +.I \&.log +to the base name of the first input file +.RI ( idx0 ). +.TP 10 +.B \-q +Quiet mode; send no messages to +.IR stderr . +By default, progress +and error messages are sent to +.I stderr +as well as to the +transcript file. +.TP 10 +.B \-r +Disable implicit page range formation; page ranges must be created by +using explicit range operators; see \s-2SPECIAL EFFECTS\s+2 below. By +default, three or more successive pages are automatically abbreviated +as a range (e.g. 1\(em5). +.TP 10 +.BI \-s " sty" +Employ +.I sty +as the style file (no default). The environment +variable \s-2INDEXSTYLE\s+2 defines the path where the style file +should be found. +.TP 10 +.BI \-t " log" +Employ +.I log +as the transcript file. By default, the file name is +created by appending the extension +.I .ilg +to the base name of the +first input file +.RI ( idx0 ). +.TP 10 +.BR \-L +sort based on locale settings. Not available on all systems. +.TP 10 +.BR \-T +special support for Thai documents. Not available on all systems. +.\"===================================================================== +.SH "STYLE FILE" +The style file informs +.I makeindex +about the format of the +.I \&.idx +input files and the intended format of the final output file; examples +appear below. This file can reside anywhere in the path defined by +the environment variable \s-2INDEXSTYLE\s+2. The style file contains +a list of +.RI < specifier , " attribute" > +pairs. There are two types of specifiers: input and output. +Pairs do not have to appear in any particular order. +A line begun by `%' is a comment. In the following list of +specifiers and arguments, <string> is an arbitrary string delimited by +double quotes (".\|.\|."), <char> is a single letter embraced by +single quotes ('.\|.\|.'), and <number> is a nonnegative integer. +The maximum length of a <string> is 2048. A literal backslash or +quote must be escaped (by a backslash). Anything not specified in the +style file will be assigned a default value, which is shown at the +head of the rightmost column. +.\"---------------------------------------------------------------------- +.SS "INPUT STYLE SPECIFIERS" +.TP 25 +.BR actual " <char>" +\'@\' +.RS +Symbol indicating that the next entry is to appear in the output file. +.RE +.TP +.BR arg_close " <char>" +\'}\' +.RS +Closing delimiter for the index entry argument. +.RE +.TP +.BR arg_open " <char>" +\'{\' +.RS +Opening delimiter for the index entry argument. +.RE +.TP +.BR encap " <char>" +\'|\' +.RS +Symbol indicating that the rest of the argument list +is to be used as the encapsulating command for the page number. +.RE +.TP +.BR escape " <char>" +\'\\\\\' +.RS +Symbol which escapes the following letter, unless its preceding letter +is +.BR escape . +Note: +.B quote +is used to escape the letter which immediately follows it, but if it is +preceded by +.BR escape , +it is treated as a ordinary character. These two symbols +.I must +be distinct. +.RE +.TP +.BR keyword " <string>" +"\\\\indexentry" +.RS +Command which tells +.I makeindex +that its argument is an index entry. +.RE +.TP +.BR level " <char>" +\'!\' +.RS +Delimiter denoting a new level of subitem. +.RE +.TP +.BR page_compositor " <string>" +"-" +.RS +Delimiter separating parts of a composite page number (see +\s-2SPECIAL EFFECTS\s+2 below). +.RE +.TP +.BR quote " <char>" +\'"\' +.RS +Note: +.B quote +is used to escape the letter which immediately follows it, but if it is +preceded by +.BR escape , +it is treated as a ordinary character. These two symbols +.I must +be distinct. +.RE +.TP +.BR range_close " <char>" +\')\' +.RS +Closing delimiter indicating the end of an explicit page range. +.RE +.TP +.BR range_open " <char>" +\'(\' +.RS +Opening delimiter indicating the beginning of an explicit page range. +.RE +.\"--------------------------------------------------------------------- +.SS "OUTPUT STYLE SPECIFIERS" +.TP 25 +.BR preamble " <string>" +"\\\\begin{theindex}\\n" +.RS +Preamble of output file. +.RE +.TP +.BR postamble " <string>" +"\\n\\n\\\\end{theindex}\\n" +.RS +Postamble of output file. +.RE +.TP +.BR setpage_prefix " <string>" +"\\n \\\\setcounter{page}{" +.RS +Prefix of command which sets the starting page number. +.RE +.TP +.BR setpage_suffix " <string>" +"}\\n" +.RS +Suffix of command which sets the starting page number. +.RE +.TP +.BR group_skip " <string>" +"\\n\\n \\\\indexspace\\n" +.RS +Vertical space to be inserted before a new group begins. +.RE +.TP +.BR headings_flag " <string>" +0 +.RS +Flag indicating treatment of new group headers, which are inserted +when before a new group (symbols, numbers, and the 26 letters): +positive values cause an uppercase letter to be inserted between +prefix and suffix, and negative values cause a lowercase letter to be +inserted (default is 0, which produces no header). +.RE +.TP +.BR heading_prefix " <string>" +"" +.RS +Header prefix to be inserted before a new letter begins. +.RE +.TP +.BR symhead_positive " <string>" +"Symbols" +.RS +Heading for symbols to be inserted if +.B headings_flag +is positive. +.RE +.TP +.BR symhead_negative " <string>" +"symbols" +.RS +Heading for symbols to be inserted if +.B headings_flag +is negative. +.RE +.TP +.BR numhead_positive " <string>" +"Numbers" +.RS +Heading for numbers to be inserted if +.B headings_flag +is positive. +.RE +.TP +.BR numhead_negative " <string>" +"numbers" +.RS +Heading for numbers to be inserted if +.B headings_flag +is negative. +.RE +.TP +.BR item_0 " <string>" +"\\n \\\\item " +.RS +Command to be inserted between two primary (level 0) items. +.RE +.TP +.BR item_1 " <string>" +"\\n \\\\subitem " +.RS +Command to be inserted between two secondary (level 1) items. +.RE +.TP +.BR item_2 " <string>" +"\\n \\\\subsubitem " +.RS +Command to be inserted between two level 2 items. +.RE +.TP +.B item_01 " <string>" +"\\n \\\\subitem " +.RS +Command to be inserted between a level 0 item and a level 1 item. +.RE +.TP +.BR item_x1 " <string>" +"\\n \\\\subitem " +.RS +Command to be inserted between a level 0 item and a level 1 item, +where the level 0 item does not have associated page numbers. +.RE +.TP +.BR item_12 " <string>" +"\\n \\\\subsubitem " +.RS +Command to be inserted between a level 1 item and a level 2 item. +.RE +.TP +.BR item_x2 " <string>" +"\\n \\\\subsubitem " +.RS +Command to be inserted between a level 1 item and a level 2 item, +where the level 1 item does not have associated page numbers. +.RE +.TP +.BR delim_0 " <string>" +", " +.RS +Delimiter to be inserted between a level 0 key and its first page number +(default: comma followed by a blank). +.RE +.TP +.BR delim_1 " <string>" +", " +.RS +Delimiter to be inserted between a level 1 key and its first page number +(default: comma followed by a blank). +.RE +.TP +.BR delim_2 " <string>" +", " +.RS +Delimiter to be inserted between a level 2 key and its first page number +(default: comma followed by a blank). +.RE +.TP +.BR delim_n " <string>" +", " +.RS +Delimiter to be inserted between two page numbers for the same key +in any level (default: comma followed by a blank). +.RE +.TP +.BR delim_r " <string>" +"--" +.RS +Delimiter to be inserted between the starting and ending page numbers +of a range. +.RE +.TP +.BR delim_t " <string>" +"" +.RS +Delimiter to be inserted at the end of a page list. This delimiter +has no effect on entries which have no associated page list. +.RE +.TP +.BR encap_prefix " <string>" +"\\\\" +.RS +First part of prefix for the command which encapsulates the page number. +.RE +.TP +.BR encap_infix " <string>" +"{" +.RS +Second part of prefix for the command which encapsulates the page +number. +.RE +.TP +.BR encap_suffix " <string>" +"}". +.RS +Suffix for the command which encapsulates the page number. +.RE +.TP +.BR line_max " <number>" +72 +.RS +Maximum length of a line in the output, beyond which a line wraps. +.RE +.TP +.BR indent_space " <string>" +"\\t\\t" +.RS +Space to be inserted in front of a wrapped line (default: two tabs). +.RE +.TP +.BR indent_length " <number>" +16 +.RS +Length of +.B indent_space +(default: 16, equivalent to 2 tabs). +.RE +.TP +.BR suffix_2p " <string>" +"" +.RS +Delimiter to replace the range delimiter and the second page number of +a two page list. When present, it overrides +.BR delim_r . +Example: "f.". +.RE +.TP +.BR suffix_3p " <string>" +"" +.RS +Delimiter to replace the range delimiter and the second page number of +a three page list. When present, it overrides +.B delim_r +and +.BR suffix_mp . +Example: "ff.". +.RE +.TP +.BR suffix_mp " <string>" +"" +.RS +Delimiter to replace the range delimiter and the second page number of +a multiple page list (three or more pages). When present, it overrides +.BR delim_r . +Example: "f.". +.RE +.\"===================================================================== +.SH EXAMPLES +.\"--------------------------------------------------------------------- +.SS "\*(TX EXAMPLE" +The following example shows a style file called +.IR book.ist , +which defines an index for a book which can be formatted independently +of the main source: +.LP +.RS +.nf +\fCpreamble +"\\\\documentstyle[12pt]{book} +\\\\begin{document} +\\\\begin{theindex} +{\\\\small\\n" +postamble +"\\n\\n} +\\\\end{theindex} +\\\\end{document}\\n\fP" +.fi +.RE +.LP +Assuming that a particular book style requires the index (as well as any +chapters) to start from an odd page number, and that the input file is +named +.IR foo.idx , +the following command line produces output in file +.IR footmp.ind : +.LP +.RS +\fCmakeindex \-s book.ist \-o footmp.ind \-p odd foo\fP +.RE +.LP +Here a non-default output file name is used to avoid clobbering the +output for the book itself (presumably +.IR foo.dvi , +which would have been the default name for the index output file!). +.\"--------------------------------------------------------------------- +.SS "TROFF EXAMPLE" +A sample control file for creating an index, which we will assume +resides in the file +.IR sample.ist : +.LP +.RS +.nf +\&\fCkeyword "IX:" +\&preamble +\&".\\\\\\" start of index output +\&\\".\\\\\\" enter two column mode +\&.2C +\&.SH +\&.ce +\&INDEX +\&.XS +\&INDEX +\&.XE +\&.R +\&.ps 9p +\&.vs 11p +\&.sp +\&.de I1 +\&.ti 0.25i +\&.. +\&.de I2 +\&.ti 0.5i +\&.." +\&postamble "\\n.\\\\\\" end of index output" +\&setpage_prefix "\\n.nr % " +\&setpage_suffix "" +\&group_skip "\\n.sp 1.0" +\&headings_flag 1 +\&heading_prefix "\\n.IS\\n" +\&heading_suffix "\\n.IE" +\&item_0 "\\n.br\\n" +\&item_1 "\\n.I1\\n" +\&item_2 "\\n.I2\\n" +\&item_01 "\\n.I1\\n" +\&item_x1 "\\n.I1\\n" +\&item_12 "\\n.I2\\n" +\&item_x2 "\\n.I2\\n" +\&delim_0 ", " +\&delim_1 ", " +\&delim_2 ", " +\&delim_r "-" +\&delim_t "." +\&encap_prefix "\\\\fB" +\&encap_infix "" +\&encap_suffix "\\\\fP" +\&indent_space "" +\&indent_length 0\fP +.fi +.RE +.LP +The local macro package may require modification, as in this example +of an extension to the +.B \-ms +macros (note that at some sites, this macro should +.I replace +a pre-existing macro of the same name): +.LP +.RS +.nf +\fC\&.\" IX - index words to stderr +\&.de IX +\&.ie '\\\\n(.z'' .tm IX: \\\\$1 \\\\$2 \\\\$3 \\\\$4 \\\\$5 \\\\$6 \\\\$7 \\\\$8 \\\\$9 {\\\\n(PN} +\&.el \\\\!.IX \\\\$1 \\\\$2 \\\\$3 \\\\$4 \\\\$5 \\\\$6 \\\\$7 \\\\$8 \\\\$9 {\\\\n(PN} +\&..\fP +.fi +.RE +.LP +(note that the string {\fC\\\\n(PN\fP} is separated from the rest of the +line by a tab. +If your local macro package does not contain this extension, +just include those lines at the beginning of your file. +Here is a simple +.IR troff (1) +input file, which we will assume is named +.IR sample.txt : +.LP +.RS +.nf +\fC\&This is a sample file to test the \\fImakeindex\\fP(1L) +\&program, and see +\&.IX {indexing!programs!C language} +\&.IX {makeindex@\\fImakeindex\\fP(1L)} +\&.bp +\&.rs +\&.IX {Knuth} +\&.IX {typesetting!computer-aided} +\&how well it functions in the \\fItroff\\fP(1) environment.\fP +.fi +.RE +.LP +Note that index entries are indicated by the +.B .IX +macro, which +causes the following text to be written to +.I stdout +along with the +current page number. +.\"--------------------------------------------------------------------- +.SS "CREATING THE INDEX FILE IN THE BOURNE SHELL" +To create an input file for +.IR makeindex , +.B "in the Bourne shell" +environment, do the equivalent at your site of the command: +.LP +.nf +\fCpsroff -ms -Tpsc -t sample.txt > /dev/null 2> sample.tmp\fP +.fi +.LP +Some sites will require +.I ditroff +instead of +.IR psroff . +To filter out any genuine error messages, invoke +.IR grep (1): +.LP +.RS +\fCgrep '^IX: ' sample.tmp > sample.idx\fP +.RE +.\"--------------------------------------------------------------------- +.SS "CREATING THE INDEX FILE USING \*(Uc ENHANCED TROFF/\*(Ts" +With \*(Uc Enhanced troff/\*(Ts, the +.B \-I +option of +.IR psroff (1L) +can produce both formatter output and an index file: +.LP +.RS +\fCpsroff -ms -I sample.inp -Tpsc sample.txt\fP +.RE +.LP +If it is wished to suppress the formatter output: +.RS +.LP +.nf +\fCpsroff -ms -I sample.inp -Tpsc -t sample.txt > /dev/null\fP +.fi +.RE +.\"--------------------------------------------------------------------- +.SS "COMPLETING THE INDEX" +Any of the above procedures leaves the input for +.I makeindex +in +.IR sample.inp . +The next step is to invoke +.IR makeindex : +.LP +.RS +\fCmakeindex -s sample.ist sample.idx\fP +.RE +.LP +This leaves +.IR troff (1)-ready +output in the file +.IR sample.ind . +.\"===================================================================== +.SH "ORDERING" +By default, +.I makeindex +assumes +.IR "word ordering" ; +if the +.B \-l +option is in effect, +.I "letter ordering" +is used. In word ordering, a blank precedes any letter in the +alphabet, whereas in letter ordering, it does not count at all. This +is illustrated by the following example: +.LP +.RS +\fIword order letter order\fP +.br +sea lion seal +.br +seal sea lion +.RE +.LP +Numbers are always sorted in numeric order. For instance, +.LP +.RS +9 (nine), 123 +.br +10 (ten), see Derek, Bo +.RE +.LP +Letters are first sorted without regard to case; when words are +identical, the uppercase version precedes its lowercase counterpart. +.LP +A special symbol is defined here to be any character not appearing in +the union of digits and the English alphabetic characters. Patterns +starting with special symbols precede numbers, which precede patterns +starting with letters. As a special case, a string starting with a +digit but mixed with non-digits is considered to be a pattern starting +with a special character. +.\"===================================================================== +.SH "SPECIAL EFFECTS" +Entries such as +.LP +.RS +.nf +\fC\\indexentry{alpha}{1} +\\indexentry{alpha!beta}{3} +\\indexentry{alpha!beta!gamma}{10}\fP +.fi +.RE +.LP +in the input file will be converted to +.LP +.RS +.nf +\fC\\item alpha, 1 +\0\0\0\\subitem beta, 3 +\0\0\0\0\0\0\\subsubitem gamma, 10\fP +.fi +.RE +.LP +in the output index file. +Notice that the +.B level +symbol (`!') is used above to delimit +hierarchical levels. +.LP +It is possible to make an item appear in a designated form by +using the +.B actual +(`@') operator. For instance, +.LP +.RS +\fC\\indexentry{alpha@{\\it alpha\\/}}{1}\fP +.RE +.LP +will become +.LP +.RS +\fC\\item {\\it alpha\\/}, 1\fP +.RE +.LP +after processing. The pattern preceding `@' is +used as sort key, whereas the one following it is written to the +output file. Note that two appearances of the same key, one with and +one without the +.B actual +operator, are regarded as +.I distinct +entries. +.LP +The item, subitem, and subsubitem fields may have individual sort keys: +.LP +.RS +.nf +\fC\\indexentry{aa@{\\it aa\\/}!bb@{\\it bb\\/}!cc@{\\it cc\\/}}{1}\fP +.fi +.RE +.LP +This will be converted to +.LP +.RS +.nf +\fC\\item {\\it aa}, 1 +\0\0\0\\subitem {\\it bb}, 3 +\0\0\0\0\0\0\\subsubitem {\\it cc}, 10\fP +.fi +.RE +.LP +It is possible to encapsulate a page number with a designated +command using the +.B encap +(`|') operator: +.LP +.RS +\fC\\indexentry{alpha|bold}{1}\fP +.RE +.LP +will be converted to +.LP +.RS +\fC\\item alpha, \\bold{1}\fP +.RE +.LP +where, with a suitable definition for \*(TX, \fC\\bold{n}\fP +will expand to \fC{\\bf n}\fP. +In this example, the three output attributes associated with page +encapsulation +.BR encap_prefix , +.BR encap_infix , +and +.BR encap_suffix , +correspond to backslash, left brace, and right brace, respectively. +This mechanism allows page numbers to be set in different fonts. For +example, the page where the definition of a keyword appears can be in +one font, the location of a primary example can be in another font, +and other appearances in yet a third font. +.LP +The +.B encap +operator can also be used to create cross references in +the index: +.LP +.RS +\fC\\indexentry{alpha|see{beta}}{1}\fP +.RE +.LP +will become +.LP +.RS +\fC\\item alpha, \\see{beta}{1}\fP +.RE +.LP +in the output file, where +.LP +.RS +\fC\\see{beta}{1}\fP +.RE +.LP +will expand to +.LP +.RS +\fC{\\it see\\/} beta\fP +.RE +.LP +Note that in a cross reference like this the page number disappears. +.LP +A pair of +.B encap +concatenated with +.B range_open +(`|(') and +.B range_close +(`|)') creates an explicit page range: +.LP +.RS +.nf +\fC\\indexentry{alpha|(}{1} +\\indexentry{alpha|)}{5}\fP +.fi +.RE +.LP +will become +.LP +.RS +\fC\\item alpha, 1\(em5\fP +.RE +.LP +Intermediate pages indexed by the same key will be merged into the +range implicitly. This is especially useful when an entire section +about a particular subject is to be indexed, in which case only the +range opening and closing operators need to be inserted at the +beginning and end of the section. Explicit page range formation can +also include an extra command to set the page range in a designated +font: +.LP +.RS +.nf +\fC\\indexentry{alpha|(bold}{1} +\\indexentry{alpha|)}{5}\fP +.fi +.RE +.LP +will become +.LP +.RS +\fC\\item alpha, \\bold{1--5}\fP +.RE +.LP +Several potential problems are worth mentioning. First, entries like +.LP +.RS +.nf +\fC\\indexentry{alpha|(}{1} +\\indexentry{alpha|bold}{3} +\\indexentry{alpha|)}{5}\fP +.fi +.RE +.LP +will be interpreted as +.LP +.RS +\fC\\item alpha, \\bold{3}, 1--5\fP +.RE +.LP +but with a warning message in the transcript about encountering an +inconsistent page encapsulator. +An explicit range beginning in a Roman page number and ending +in Arabic is also considered an error. In this instance, (if +possible) the range is broken into two subranges, one in Roman and the +other in Arabic. For instance, +.LP +.RS +.nf +\fC\\indexentry{alpha|(}{i} +\\indexentry{alpha}{iv} +\\indexentry{alpha}{3} +\\indexentry{alpha|)}{7}\fP +.fi +.RE +.LP +will be turned into +.LP +.RS +\fC\\item alpha, i--iv, 3--7\fP +.RE +.LP +with a warning message in the transcript file complaining about an +illegal range formation. +.LP +Every special symbol mentioned in this section may be +escaped by the +.B quote +operator (`"'). Thus +.LP +.RS +\fC\\indexentry{alpha"@beta}{1}\fP +.RE +.LP +will actually become +.LP +.RS +\fC\\item alpha@beta, 1\fP +.RE +.LP +as a result of executing +.IR makeindex . +The quoting power of +.B quote +is eliminated if it is immediately preceded +by +.B escape +(`\\'). For example, +.LP +.RS +\fC\\indexentry{f\\"ur}{1}\fP +.RE +.LP +becomes +.LP +.RS +\fC\\item f\\"ur, 1\fP +.RE +.LP +which represents an umlaut-accented `u' to the \*(TX family of +processors. +.LP +A page number can be a composite of one or more fields +separated by the delimiter bound to +.B page_compositor +(`-'), e.g., II-12 for page 12 of Chapter II. Page numbers may +contain up to ten fields. +.PP +Since version 2.11 of +.IR makeindex , +the +.B quote +operator may quote +.I any +character in the range 1 .\|.\|. 255. Character 0 is excluded because +it is used internally in the +.I makeindex +source code as a string terminator. With this change, sort keys can +be created for all eight-bit characters except 0. The sorting order +is +.RS +.nf + +punctuation characters (in ASCII order), +digits, +control characters (1 .\|.\|. 31), +space (32), +letters (ignoring case), +characters 127 .\|.\|. 255. + +.fi +.RE +Here is an example showing the indexing of all printable ASCII +characters other than letters and digits, assuming the default +\*(TX format. For convenience, the page number references are +the corresponding ASCII ordinal values. +.RS +.nf + +\fC\\indexentry{" @" (space)}{32} +\\indexentry{"!@"! (exclamation point)}{33} +\\indexentry{""@"" (quotation mark)}{34} +\\indexentry{"#@"\\# (sharp sign)}{35} +\\indexentry{"$@"\\$ (dollar sign)}{36} +\\indexentry{"%@"\\% (percent sign)}{37} +\\indexentry{"&@"\\& (ampersand)}{38} +\\indexentry{"<@"$<$ (left angle bracket)}{60} +\\indexentry{"=@"= (equals)}{61} +\\indexentry{">@"$>$ (right angle bracket)}{62} +\\indexentry{"?@"? (query)}{63} +\\indexentry{"@@"@ (at sign)}{64} +\\indexentry{"[@"[ (left square bracket)}{91} +\\indexentry{"\\@"\\verb=\\= (backslash)}{92} +\\indexentry{"]@"] (right square bracket)}{93} +\\indexentry{"^@"\\verb=^= (caret)}{94} +\\indexentry{"_@"\\verb=_= (underscore)}{95} +\\indexentry{"`@"\\verb=~= (grave accent)}{96} +\\indexentry{"{@"\\"{ (left brace)}{123} +\\indexentry{"|@"\\verb="|= (vertical bar)}{124} +\\indexentry{"}@"\\"} (right brace)}{125} +\\indexentry{"~@"\\verb=~= (tilde)}{126}\fP + +.fi +.RE +Characters in the actual fields following the `@' character which +have special significance to \*(TX must be represented as control +sequences, or as math mode characters. Note particularly how the +entries for the at sign, left and right braces, and the vertical +bar, are coded. The index file output by +.I makeindex +for this example looks like this: +.RS +.nf + +\fC\\begin{theindex} + + \\item ! (exclamation point), 33 + \\item " (quotation mark), 34 + \\item \\# (sharp sign), 35 + \\item \\$ (dollar sign), 36 + \\item \\% (percent sign), 37 + \\item \\& (ampersand), 38 + \\item $<$ (left angle bracket), 60 + \\item = (equals), 61 + \\item $>$ (right angle bracket), 62 + \\item ? (query), 63 + \\item @ (at sign), 64 + \\item [ (left square bracket), 91 + \\item \\verb=\\= (backslash), 92 + \\item ] (right square bracket), 93 + \\item \\verb=^= (caret), 94 + \\item \\verb=_= (underscore), 95 + \\item \\verb=~= (grave accent), 96 + \\item \\{ (left brace), 123 + \\item \\verb=|= (vertical bar), 124 + \\item \\} (right brace), 125 + \\item \\verb=~= (tilde), 126 + + \\indexspace + + \\item (space), 32 + +\\end{theindex}\fP +.fi +.RE +.\"===================================================================== +.SH "FILES" +.TP 2.2i +.I makeindex +executable file +.TP +.I $TEXMFMAIN/tex/plain/misc/idxmac.tex +\*(TX macro file used by +.I makeindex +.TP +.I $TEXMFMAIN/tex/latex/base/makeidx.sty +\*(TX macro file used by +.I makeindex +.\"===================================================================== +.SH "SEE ALSO" +ditroff(1L), +latex(1L), +make.index (1L), +qsort(3), +tex(1L), +troff(1L) +.LP +.IR "\*(Uc Enhanced troff/\*(Ts \(em An Overview" , +R. P. C. Rodgers and Conrad Huang, LSMB Technical Report 90-2, +UCSF School of Pharmacy, San Francisco, 1990. +.LP +.IR "Index Preparation and Processing" , +Pehong Chen and Michael A. Harrison, +.IR "Software: Practice and Experience" , +.BR 19 (9), +897\(en915, +September 1988. +.LP +.IR "Automating Index Preparation" , +Pehong Chen and Michael A. Harrison. Technical Report 87/347, +Computer Science Division, University of California, Berkeley, 1987 +(a \*(LX document supplied with +.IR makeindex ). +.LP +.IR "MakeIndex: An Index Processor for \*(LX" , +Leslie Lamport, February 1987 (a \*(LX document supplied +with +.IR makeindex ). +.LP +.IR "Tools for Printing Indices" , +Jon L. Bentley and Brian W. Kernighan, +.IR "Electronic Publishing \(em Origination, Dissemination, and Design" , +1(1), 3\(en18, June 1988 (also available as: Computing Science +Technical Report No. 128, +AT&T Bell Laboratories, Murray Hill, NJ 07974, 1986). +.\"===================================================================== +.SH "AUTHOR" +Pehong Chen, Chen & Harrison International Systems, Inc. +Palo Alto, California, USA. +.br +Manual page extensively revised and corrected, and +.IR troff (1) +examples created by Rick P. C. Rodgers, UCSF School +of Pharmacy <rodgers@cca.ucsf.edu>. +.\"===================================================================== +.SH ACKNOWLEDGMENTS +Leslie Lamport contributed significantly to the design. +Michael Harrison provided valuable comments and suggestions. +Nelson Beebe improved on the portable version, and maintains the +source distribution for the \*(TX Users Group. +Andreas Brosig contributed to the German word ordering. +The modification to the +.B \-ms +macros was derived from a method proposed by Ravi Sethi of AT&T +Bell Laboratories. +The +.I LOG +and +.I CONTRIB +files in the +.I makeindex +source distribution record other contributions. diff --git a/Master/texmf-dist/doc/man/man1/makeindex.man1.pdf b/Master/texmf-dist/doc/man/man1/makeindex.man1.pdf Binary files differnew file mode 100644 index 00000000000..395944c181f --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/makeindex.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/mendex.1 b/Master/texmf-dist/doc/man/man1/mendex.1 new file mode 100644 index 00000000000..9b1f5e15bbc --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mendex.1 @@ -0,0 +1,496 @@ +.if t .ds TX "T\h'-.15m'\v'.2v'E\v'-.2v'\h'-.12m'X +.if t .ds LX L\v'-.22m'a\v'.22m'T\h'-.1667m'\v'.22m'E\h'-.125m'\v'-.22m'X +.TH MENDEX L +.SH ̾¾Î +mendex \- º÷°úÀ°·Á¥Ä¡¼¥ë +.SH »ÈÍÑË¡ +\fBmendex\fR [-ilqrcg] [\fB-s\fI sty\fR] [\fB-d\fI dic\fR] [\fB-o\fI ind\fR] [\fB-d\fI dic\fR] [\fB-t\fI log\fR] [\fB-p\fI no\fR] [\fI idx0 idx1 idx2 ...\fR] +.SH ²òÀâ +.PP +\fImendex\fR ¤Ïʸ½ñ¤Îº÷°ú¤òºîÀ®¤¹¤ë¥Ä¡¼¥ë¤Ç¤¹¡£ LaTeX ¤Ë¤è¤êÃê½Ð¤µ¤ì¤¿º÷°ú¥ê¥¹¥È¥Õ¥¡¥¤¥ë(\fI.idx\fR)¤òʤÙÂؤ¨¡¢¼ÂºÝ¤Îº÷°ú¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î·Á¤ËÀ°·Á¤·¤Þ¤¹¡£ \fImakeindex\fR ¤È¸ß´¹À¤¬¤¢¤ê¡¢¤µ¤é¤Ë¡ÖÆɤߡפΰ·¤¤¤Î¼ê´Ö¤ò¸º¤é¤¹¤è¤¦¤ËÆü첽¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ +.RE +½ÐÎϤµ¤ì¤ëº÷°ú¤Î·Á¼°¤Ï¡¢¥¹¥¿¥¤¥ë¥Õ¥¡¥¤¥ë¤Ë½¾¤Ã¤Æ·èÄꤵ¤ì¤Þ¤¹¡£¤Þ¤¿¡¢¼½ñ¥Õ¥¡¥¤¥ë¤òÍ¿¤¨¤ë¤³¤È¤Ë¤è¤ê¡¢º÷°úÃæ¤Î½Ï¸ì¤ÎÆɤߤ¬ÅÐÏ¿¤µ¤ì¤Þ¤¹¡£ +.RE +º÷°ú¤Î³¬Áؤϣ³Ãʳ¬¤Þ¤ÇºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ +.SH ¥ª¥×¥·¥ç¥ó +.PP +.TP 10 +\fB-i\fR +º÷°ú¥ê¥¹¥È¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ç¤â¡¢É¸½àÆþÎϤòº÷°ú¥ê¥¹¥È¤È¤·¤Æ»ÈÍѤ·¤Þ¤¹¡£ +.TP 10 +\fB-l\fR +º÷°ú¤Î¥½¡¼¥È¤òʸ»ú½ç¤Ç¹Ô¤¤¤Þ¤¹¡£»ØÄꤵ¤ì¤Ê¤±¤ì¤Ðñ¸ì½ç¤Î¥½¡¼¥È¤Ë¤Ê¤ê¤Þ¤¹(¥½¡¼¥ÈÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¸å½Ò)¡£ +.TP 10 +\fB-q\fR +ÀŽͥ⡼¥É¤Ç¤¹¡£¥¨¥é¡¼¤ª¤è¤Ó·Ù¹ð°Ê³°¤Ïɸ½à¥¨¥é¡¼½ÐÎϤ˽ÐÎϤ·¤Þ¤»¤ó¡£ +.TP 10 +\fB-r\fR +¥Ú¡¼¥¸ÈÏ°Ïɽ¸½¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£»ØÄꤷ¤Ê¤¤¤È¡¢Ï¢Â³¤·¤Æ½Ð¤Æ¤¯¤ëº÷°ú¤Ë¤Ä¤¤¤Æ¤Ï "1--5" ¤Î¤è¤¦¤Ë¥Ú¡¼¥¸ÈϰϤÇɽ¸½¤µ¤ì¤Þ¤¹¡£ +.TP 10 +\fB-c\fR +¥¹¥Ú¡¼¥¹¤ä¥¿¥Ö¤È¤¤¤Ã¤¿¥Ö¥é¥ó¥¯¤òû½Ì¤·¤Æ¡¢¤¹¤Ù¤Æ£±¸Ä¤ÎȾ³Ñ¥¹¥Ú¡¼¥¹¤Ë¤·¤Þ¤¹¡£¤Þ¤¿¡¢Á°¸å¤Î¥Ö¥é¥ó¥¯¤Ïºï½ü¤µ¤ì¤Þ¤¹¡£ +.TP 10 +\fB-g\fR +ÆüËܸì¤ÎƬʸ»ú¤Î¶èÀÚ¤ê¤ò "¤¢¤«¤µ¤¿¡¦¡¦¡¦¤ï" ¤Ë¤·¤Þ¤¹¡£»ØÄꤷ¤Ê¤¤¤È "¤¢¤¤¤¦¤¨¡¦¡¦¡¦¤ï¤ò¤ó" ¤Ë¤Ê¤ê¤Þ¤¹¡£ +.TP 10 +\fB-f\fR +¼½ñ¥Õ¥¡¥¤¥ë¤Ë¤Ê¤¤´Á»ú¤â¶¯À©Åª¤Ë½ÐÎϤ¹¤ë¥â¡¼¥É¤Ç¤¹¡£ +.TP 10 +\fB-s\fI sty\fR +\fIsty\fR ¥Õ¥¡¥¤¥ë¤ò¥¹¥¿¥¤¥ë¥Õ¥¡¥¤¥ë¤È¸«¤Ê¤·¤Þ¤¹¡£¥¹¥¿¥¤¥ë¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¡¢¥Ç¥Õ¥©¥ë¥È¤Îº÷°ú·Á¼°¤ÇºîÀ®¤·¤Þ¤¹¡£ +.TP 10 +\fB-d\fI dic\fR +\fIdic\fR ¥Õ¥¡¥¤¥ë¤ò¼½ñ¥Õ¥¡¥¤¥ë¤È¸«¤Ê¤·¤Þ¤¹¡£¼½ñ¥Õ¥¡¥¤¥ë¤ÏÆüËܸì¤Î <\fI½Ï¸ì\fR\ \fIÆɤß\fR> ¤Î¥ê¥¹¥È¤Ç¹½À®¤µ¤ì¤Þ¤¹¡£ +.TP 10 +\fB-o\fI ind\fR +\fIind\fR ¥Õ¥¡¥¤¥ë¤ò½ÐÎÏ¥Õ¥¡¥¤¥ë¤È¸«¤Ê¤·¤Þ¤¹¡£»ØÄ꤬¤Ê¤¤¾ì¹ç¤ÏºÇ½é¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤Î³ÈÄ¥»Ò¤ò.ind¤È¤·¤¿¤â¤Î¡¢ÆþÎÏ¥Õ¥¡¥¤¥ë¤¬É¸½àÆþÎϤΤߤǤ¢¤ì¤Ðɸ½à½ÐÎϤ˽ÐÎϤ·¤Þ¤¹¡£ +.TP 10 +\fB-t\fI log\fR +\fIlog\fR ¥Õ¥¡¥¤¥ë¤ò¥í¥°¥Õ¥¡¥¤¥ë¤È¸«¤Ê¤·¤Þ¤¹¡£»ØÄ꤬¤Ê¤¤¾ì¹ç¤ÏºÇ½é¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤Î³ÈÄ¥»Ò¤ò.ilg¤È¤·¤¿¤â¤Î¡¢ÆþÎÏ¥Õ¥¡¥¤¥ë¤¬É¸½àÆþÎϤΤߤǤ¢¤ì¤Ðɸ½à¥¨¥é¡¼½ÐÎϤΤߤ˽ÐÎϤµ¤ì¤Þ¤¹¡£ +.TP 10 +\fB-p\fI no\fR +\fIno\fR ¤òº÷°ú¥Ú¡¼¥¸¤ÎÀèƬ¥Ú¡¼¥¸¤È¤·¤Æ»ØÄꤷ¤Þ¤¹¡£¤Þ¤¿¡¢TeX¤Î.log ¥Õ¥¡¥¤¥ë¤ò»²¾È¤¹¤ë¤³¤È¤Ë¤è¤ê \fIany\fR(ºÇ½ª¥Ú¡¼¥¸¤Î¼¡¤Î¥Ú¡¼¥¸¤«¤é)¡¢\fIodd\fR(ºÇ½ª¥Ú¡¼¥¸¤Î¼¡¤Î´ñ¿ô¥Ú¡¼¥¸¤«¤é)¡¢\fIeven\fR(ºÇ½ª¥Ú¡¼¥¸¤Î¼¡¤Î¶ö¿ô¥Ú¡¼¥¸¤«¤é)¤È¤¤¤Ã¤¿»ØÄê¤Î»ÅÊý¤â²Äǽ¤Ç¤¹¡£ +.TP 10 +\fB-E\fR +´Á»ú¥³¡¼¥É¤òEUC¤Ë»ØÄꤷ¤Þ¤¹¡£ÆþÎÏ¥Õ¥¡¥¤¥ë¡¢½ÐÎÏ¥Õ¥¡¥¤¥ë¤È¤âEUC¤È¤·¤Æ°·¤¤¤Þ¤¹¡£ +.TP 10 +\fB-J\fR +´Á»ú¥³¡¼¥É¤òJIS¤Ë»ØÄꤷ¤Þ¤¹¡£ÆþÎÏ¥Õ¥¡¥¤¥ë¡¢½ÐÎÏ¥Õ¥¡¥¤¥ë¤È¤âJIS¤È¤·¤Æ°·¤¤¤Þ¤¹¡£ +.TP 10 +\fB-S\fR +´Á»ú¥³¡¼¥É¤òShiftJIS¤Ë»ØÄꤷ¤Þ¤¹¡£ÆþÎÏ¥Õ¥¡¥¤¥ë¡¢½ÐÎÏ¥Õ¥¡¥¤¥ë¤È¤âShiftJIS¤È¤·¤Æ°·¤¤¤Þ¤¹¡£ +.TP 10 +\fB-U\fR +´Á»ú¥³¡¼¥É¤òUTF-8¤Ë»ØÄꤷ¤Þ¤¹¡£ÆþÎÏ¥Õ¥¡¥¤¥ë¡¢½ÐÎÏ¥Õ¥¡¥¤¥ë¤È¤âUTF-8¤È¤·¤Æ°·¤¤¤Þ¤¹¡£ + + +.SH ¥¹¥¿¥¤¥ë¥Õ¥¡¥¤¥ë +¥¹¥¿¥¤¥ë¥Õ¥¡¥¤¥ë¤Ï makeindex ¤Î¤â¤Î¤È¾å°Ì¸ß´¹¤Ç¤¹¡£ ·Á¼°¤Ï <\fI¥¹¥¿¥¤¥ë¥Ñ¥é¥á¡¼¥¿\fR\ \fI°ú¿ô\fR> ¤Î¥ê¥¹¥È¤Ç¹½À®¤µ¤ì¤Þ¤¹¡£¥Ñ¥é¥á¡¼¥¿¤Î½ç½ø¤Ï¼«Í³¤Ç¤¹¡£ +°Ê²¼¤Ë¥¹¥¿¥¤¥ë¥Ñ¥é¥á¡¼¥¿¤Î°ìÍ÷¤ò¼¨¤·¤Þ¤¹¡£ +`%'°Ê¹ß¤Ï¥³¥á¥ó¥È¤È¸«¤Ê¤µ¤ì¤Þ¤¹¡£ +.PP +\fB ÆþÎÏ¥Õ¥¡¥¤¥ë¥¹¥¿¥¤¥ë¥Ñ¥é¥á¡¼¥¿\fR +.TP 30 +\fBkeyword\fR <ʸ»úÎó> +"\\\\indexentry" +.RS +º÷°ú¥¨¥ó¥È¥ê¤ò°ú¿ô¤È¤·¤Æ»ý¤Ä¥³¥Þ¥ó¥É¡£ +.RE +.TP 30 +\fBarg_open\fR <ʸ»ú> +\'{\' +.RS +º÷°ú¥¨¥ó¥È¥êʸ»úÎ󳫻Ϥòɽ¤¹Ê¸»ú¡£ +.RE +.TP 30 +\fBarg_close\fR <ʸ»ú> +\'}\' +.RS +º÷°ú¥¨¥ó¥È¥êʸ»úÎó½ªÎ»¤òɽ¤¹Ê¸»ú¡£ +.RE +.TP 30 +\fBrange_open\fR <ʸ»ú> +\'(\' +.RS +¥Ú¡¼¥¸ÈϰϤγ«»Ï¤ò¼¨¤¹Ê¸»ú¡£ +.RE +.TP 30 +\fBrange_close\fR <ʸ»ú> +\')\' +.RS +¥Ú¡¼¥¸ÈϰϤνªÎ»¤ò¼¨¤¹Ê¸»ú¡£ +.RE +.TP 30 +\fBlevel\fR <ʸ»ú> +\'!\' +.RS +½¾Â°¥ì¥Ù¥ë¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹Ê¸»ú¡£ +.RE +.TP 30 +\fBactual\fR <ʸ»ú> +\'@\' +.RS +¤³¤Î¥·¥ó¥Ü¥ë¤Ë³¤¯Ê¸»úÎ󤬼ºݤκ÷°úʸ»úÎó¤È¤·¤Æ½ÐÎÏ¥Õ¥¡¥¤¥ë¤Ë½ñ¤«¤ì¤ë¡£ +.RE +.TP 30 +\fBencap\fR <ʸ»ú> +\'|\' +.RS +¤³¤Î¥·¥ó¥Ü¥ë¤Ë³¤¯Ê¸»úÎ󤬡¢¥Ú¡¼¥¸ÈÖ¹æ¤ËÉÕ¤¯¥³¥Þ¥ó¥É̾¤È¤·¤Æ»È¤ï¤ì¤ë¡£ +.RE +.TP 30 +\fBpage_compositor\fR <ʸ»úÎó> +"-" +.RS +³¬Áز½¤µ¤ì¤¿¥Ú¡¼¥¸ÈÖ¹æ¤Ë¤ª¤±¤ë³¬Áش֤ζèÀÚ¤êʸ»ú¡£ +.RE +.TP 30 +\fBpage_precedence\fR <ʸ»úÎó> +"rnaRA" +.RS +¥Ú¡¼¥¸ÈÖ¹æ¤ÎµË¡¤ÎÍ¥Àè½ç°Ì¡£\'R\'¤ª¤è¤Ó\'r\'¤Ï¥í¡¼¥Þ¿ô»ú¡¢\'n\'¤Ï¥¢¥é¥Ó¥¢¿ô»ú¡¢\'A\'¤ª¤è¤Ó\'a\'¤Ï¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤Ë¤è¤ëµË¡¤òɽ¤¹¡£ +.RE +.TP 30 +\fBquote\fR <ʸ»ú> +\'"\' +.RS +mendex¤Î¥Ñ¥é¥á¡¼¥¿Ê¸»ú¤ËÂФ¹¤ë¥¨¥¹¥±¡¼¥×¥¥ã¥é¥¯¥¿¡£ +.RE +.TP 30 +\fBescape\fR <ʸ»ú> +\'\\\\\' +.RS +°ìÈÌŪ¤Êʸ»ú¤ËÂФ¹¤ë¥¨¥¹¥±¡¼¥×¥¥ã¥é¥¯¥¿¡£ +.RE + +\fB ½ÐÎÏ¥Õ¥¡¥¤¥ë¥¹¥¿¥¤¥ë¥Ñ¥é¥á¡¼¥¿\fR + +\fBpreamble\fR <ʸ»úÎó> +"\\\\begin{theindex}\\n" +.RS +½ÐÎÏ¥Õ¥¡¥¤¥ë¤Îʸ»úÎó¡£ +.RE +.TP 30 +\fBpostamble\fR <ʸ»úÎó> +"\\n\\n\\\\end{theindex}\\n" +.RS +½ÐÎÏ¥Õ¥¡¥¤¥ë¤ÎËöÈø¤Îʸ»úÎó¡£ +.RE +.TP 30 +\fBsetpage_prefix\fR <ʸ»úÎó> +"\\n \\\\setcounter{page}{" +.RS +³«»Ï¥Ú¡¼¥¸¤òÀßÄꤹ¤ë¤È¤¤Î¡¢¥Ú¡¼¥¸ÈÖ¹æ¤ÎÁ°¤ËÉÕ¤±¤ëʸ»úÎó¡£ +.RE +.TP 30 +\fBsetpage_suffix\fR <ʸ»úÎó> +"}\\n" +.RS +³«»Ï¥Ú¡¼¥¸¤òÀßÄꤹ¤ë¤È¤¤Î¡¢¥Ú¡¼¥¸ÈÖ¹æ¤Î¸å¤ËÉÕ¤±¤ëʸ»úÎó¡£ +.RE +.TP 30 +\fBgroup_skip\fR <ʸ»úÎó> +"\\n\\n \\\\indexsapce\\n" +.RS +¿·¹àÌÜ(Ƭʸ»ú)¤ÎÁ°¤ËÁÞÆþ¤¹¤ë½Ä¥¹¥Ú¡¼¥¹¤òɽ¤¹Ê¸»úÎó¡£ +.RE +.TP 30 +\fBlethead_prefix\fR <ʸ»úÎó> +"" +.RS +Ƭʸ»ú¤ÎÁ°¤ËÉÕ¤±¤ë¥³¥Þ¥ó¥Éʸ»úÎó¡£ +.RE +.TP 30 +\fBheading_prefix\fR <ʸ»úÎó> +"" +.RS +lethead_prefix¤ÈƱ¤¸¡£ +.RE +.TP 30 +\fBlethead_suffix\fR <ʸ»úÎó> +"" +.RS +Ƭʸ»ú¤Î¸å¤ËÉÕ¤±¤ë¥³¥Þ¥ó¥Éʸ»úÎó¡£ +.RE +.TP 30 +\fBheading_suffix\fR <ʸ»úÎó> +"" +.RS +lethead_suffix¤ÈƱ¤¸¡£ +.RE +.TP 30 +\fBlethead_flag\fR <ʸ»úÎó> +0 +.RS +Ƭʸ»ú¤Î½ÐÎϤΥե饰¡£0¤Î¤È¤½ÐÎϤ·¤Ê¤¤¡£0¤è¤êÂ礤¤¤È¤¤Ï±Ñ»ú¤òÂçʸ»ú¤Ç¡¢0¤è¤ê¾®¤µ¤¤¤È¤¤Ï¾®Ê¸»ú¤Ç½ÐÎϤ¹¤ë¡£ +.RE +.TP 30 +\fBheading_flag\fR <ʸ»úÎó> +0 +.RS +lethead_flag¤ÈƱ¤¸¡£ +.RE +.TP 30 +\fBitem_0\fR <ʸ»úÎó> +"\\n \\\\item " +.RS +¼ç¥¨¥ó¥È¥ê´Ö¤ËÁÞÆþ¤¹¤ë¥³¥Þ¥ó¥É¡£ +.RE +.TP 30 +\fBitem_1\fR <ʸ»úÎó> +"\\n \\\\subitem " +.RS +¥µ¥Ö¥¨¥ó¥È¥ê´Ö¤ËÁÞÆþ¤¹¤ë¥³¥Þ¥ó¥É¡£ +.RE +.TP 30 +\fBitem_2\fR <ʸ»úÎó> +"\\n \\\\subsubitem " +.RS +¥µ¥Ö¥µ¥Ö¥¨¥ó¥È¥ê´Ö¤ËÁÞÆþ¤¹¤ë¥³¥Þ¥ó¥É¡£ +.RE +.TP 30 +\fBitem_01\fR <ʸ»úÎó> +"\\n \\\\subitem " +.RS +¼ç¡Á¥µ¥Ö¥¨¥ó¥È¥ê´Ö¤ËÁÞÆþ¤¹¤ë¥³¥Þ¥ó¥É¡£ +.RE +.TP 30 +\fBitem_x1\fR <ʸ»úÎó> +"\\n \\\\subitem " +.RS +¼ç¡Á¥µ¥Ö¥¨¥ó¥È¥ê´Ö¤ËÁÞÆþ¤¹¤ë¥³¥Þ¥ó¥É¡£(¼ç¥¨¥ó¥È¥ê¤Ë¥Ú¡¼¥¸Èֹ椬¤Ê¤¤¤È¤) +.RE +.TP 30 +\fBitem_12\fR <ʸ»úÎó> +"\\n \\\\subsubitem " +.RS +¥µ¥Ö¡Á¥µ¥Ö¥µ¥Ö¥¨¥ó¥È¥ê´Ö¤ËÁÞÆþ¤¹¤ë¥³¥Þ¥ó¥É¡£ +.RE +.TP 30 +\fBitem_x2\fR <ʸ»úÎó> +"\\n \\\\subsubitem " +.RS +¥µ¥Ö¡Á¥µ¥Ö¥µ¥Ö¥¨¥ó¥È¥ê´Ö¤ËÁÞÆþ¤¹¤ë¥³¥Þ¥ó¥É¡£(¥µ¥Ö¥¨¥ó¥È¥ê¤Ë¥Ú¡¼¥¸Èֹ椬¤Ê¤¤¤È¤) +.RE +.TP 30 +\fBdelim_0\fR <ʸ»úÎó> +", " +.RS +¼ç¥¨¥ó¥È¥ê¤ÈºÇ½é¤Î¥Ú¡¼¥¸ÈÖ¹æ¤Î´Ö¤Î¶èÀÚ¤êʸ»úÎó¡£ +.RE +.TP 30 +\fBdelim_1\fR <ʸ»úÎó> +", " +.RS +¥µ¥Ö¥¨¥ó¥È¥ê¤ÈºÇ½é¤Î¥Ú¡¼¥¸ÈÖ¹æ¤Î´Ö¤Î¶èÀÚ¤êʸ»úÎó¡£ +.RE +.TP 30 +\fBdelim_2\fR <ʸ»úÎó> +", " +.RS +¥µ¥Ö¥µ¥Ö¥¨¥ó¥È¥ê¤ÈºÇ½é¤Î¥Ú¡¼¥¸ÈÖ¹æ¤Î´Ö¤Î¶èÀÚ¤êʸ»úÎó¡£ +.RE +.TP 30 +\fBdelim_n\fR <ʸ»úÎó> +", " +.RS +¥Ú¡¼¥¸ÈÖ¹æ´Ö¤Î¶èÀÚ¤êʸ»úÎ󡣤ɤΥ¨¥ó¥È¥ê¥ì¥Ù¥ë¤Ë¤â¶¦ÄÌ¡£ +.RE +.TP 30 +\fBdelim_r\fR <ʸ»úÎó> +"--" +.RS +¥Ú¡¼¥¸ÈϰϤò¼¨¤¹¤È¤¤Î¡¢¥Ú¡¼¥¸ÈÖ¹æ´Ö¤Î¶èÀÚ¤êʸ»úÎó¡£ +.RE +.TP 30 +\fBdelim_t\fR <ʸ»úÎó> +"" +.RS +¥Ú¡¼¥¸ÈÖ¹æ¤Î¥ê¥¹¥È¤Î½ªÃ¼¤Ë½ÐÎϤ¹¤ëʸ»úÎó¡£ +.RE +.TP 30 +\fBsuffix_2p\fR <ʸ»úÎó> +"" +.RS +¥Ú¡¼¥¸Èֹ椬2¥Ú¡¼¥¸Ï¢Â³¤¹¤ë¾ì¹ç¤Ë¡¢delim_n ¤È2¥Ú¡¼¥¸ÌܤÎÈÖ¹æ¤ÎÂå¤ï¤ê¤ËÉղ乤ëʸ»úÎó¡£ +.RE +ʸ»úÎó¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Î¤ß͸ú¡£ +.RE +.TP 30 +\fBsuffix_3p\fR <ʸ»úÎó> +"" +.RS +¥Ú¡¼¥¸Èֹ椬3¥Ú¡¼¥¸Ï¢Â³¤¹¤ë¾ì¹ç¤Ë¡¢delim_r ¤È3¥Ú¡¼¥¸ÌܤÎÈÖ¹æ¤ÎÂå¤ï¤ê¤ËÉղ乤ëʸ»úÎó¡£suffix_mp ¤è¤êÍ¥À褵¤ì¤ë¡£ +.RE +ʸ»úÎó¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Î¤ß͸ú¡£ +.RE +.TP 30 +\fBsuffix_mp\fR <ʸ»úÎó> +"" +.RS +¥Ú¡¼¥¸Èֹ椬3¥Ú¡¼¥¸¤Þ¤¿¤Ï¤½¤ì°Ê¾åϢ³¤¹¤ë¾ì¹ç¤Ë¡¢delim_r ¤ÈËöÈø¤Î¥Ú¡¼¥¸ÈÖ¹æ¤ÎÂå¤ï¤ê¤ËÉղ乤ëʸ»úÎó¡£ +.RE +ʸ»úÎó¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Î¤ß͸ú¡£ +.RE +.TP 30 +\fBencap_prefix\fR <ʸ»úÎó> +"\\\\" +.RS +¥Ú¡¼¥¸ÈÖ¹æ¤Ë¥³¥Þ¥ó¥É¤òÉÕ¤±¤ë¤È¤¤Î¡¢¥³¥Þ¥ó¥É̾¤ÎÁ°¤ËÉÕ¤±¤ëʸ»úÎó¡£ +.RE +.TP 30 +\fBencap_infix\fR <ʸ»úÎó> +"{" +.RS +¥Ú¡¼¥¸ÈÖ¹æ¤Ë¥³¥Þ¥ó¥É¤òÉÕ¤±¤ë¤È¤¤Î¡¢¥Ú¡¼¥¸ÈÖ¹æ¤ÎÁ°¤ËÉÕ¤±¤ëʸ»úÎó¡£ +.RE +.TP 30 +\fBencap_suffix\fR <ʸ»úÎó> +"}". +.RS +¥Ú¡¼¥¸ÈÖ¹æ¤Ë¥³¥Þ¥ó¥É¤òÉÕ¤±¤ë¤È¤¤Î¡¢¥Ú¡¼¥¸ÈÖ¹æ¤Î¸å¤ËÉÕ¤±¤ëʸ»úÎó¡£ +.RE +.TP 30 +\fBline_max\fR <¿ôÃÍ> +72 +.RS +£±¹Ô¤ÎºÇÂçʸ»ú¿ô¡£¤½¤ì¤òĶ¤¨¤ë¤ÈÀÞ¤êÊÖ¤¹¡£ +.RE +.TP 30 +\fBindent_space\fR <ʸ»úÎó> +"\t\t" +.RS +ÀÞ¤êÊÖ¤·¤¿¹Ô¤ÎƬ¤ËÁÞÆþ¤¹¤ë¥¹¥Ú¡¼¥¹¡£ +.RE +.TP 30 +\fBindent_length\fR <¿ôÃÍ> +16 +.RS +ÀÞ¤êÊÖ¤·¤¿¹Ô¤ÎƬ¤ËÁÞÆþ¤µ¤ì¤ë¥¹¥Ú¡¼¥¹¤ÎŤµ¡£ +.RE +.TP 30 +\fBsymhead_positive\fR <ʸ»úÎó> +"Symbols" +.RS +lethead_flag ¤Þ¤¿¤Ï heading_flag ¤¬Àµ¿ô¤Î¾ì¹ç¤Ë¿ô»ú¡¦µ¹æ¤ÎƬʸ»ú¤È¤·¤Æ½ÐÎϤ¹¤ëʸ»úÎó¡£ +.RE +.TP 30 +\fBsymhead_negative\fR <ʸ»úÎó> +"symbols" +.RS +lethead_flag ¤Þ¤¿¤Ï heading_flag ¤¬Éé¿ô¤Î¾ì¹ç¤Ë¿ô»ú¡¦µ¹æ¤ÎƬʸ»ú¤È¤·¤Æ½ÐÎϤ¹¤ëʸ»úÎó¡£ +.RE +.TP 30 +\fBsymbol\fR <ʸ»úÎó> +"" +.RS +symbol_flag ¤¬0¤Ç¤Ê¤¤¾ì¹ç¤Ë¡¢¿ô»ú¡¦µ¹æ¤ÎƬʸ»ú¤È¤·¤Æ½ÐÎϤ¹¤ëʸ»úÎó¡£ +.RE +ʸ»úÎó¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢symhead_positive ¤ª¤è¤Ó symhead_negative ¤è¤êÍ¥À褵¤ì¤ë¡£(mendexÀìÍÑ) +.RE +¤³¤Î¥Ñ¥é¥á¡¼¥¿¤¬ÄêµÁ¤µ¤ì¤¿¾ì¹ç¡¢symhead_positive ¤ª¤è¤Ó symhead_negative ¤è¤êÍ¥À褵¤ì¤ë¡£(mendexÀìÍÑ) +.RE +.TP 30 +\fBsymbol_flag\fR <¿ôÃÍ> +1 +.RS +¿ô»ú¡¦µ¹æ¤ÎƬʸ»ú¤Î½ÐÎϥե饰¡£0¤Î¤È¤½ÐÎϤ·¤Ê¤¤¡£(mendexÀìÍÑ) +.RE +.TP 30 +\fBletter_head\fR <¿ôÃÍ> +1 +.RS +ÆüËܸì¤ÎƬʸ»ú¤Î½ÐÎϤΥե饰¡£0¤Î¤È¤½ÐÎϤ·¤Ê¤¤¡£1¤Î¤È¤¥«¥¿¥«¥Ê¡¢2¤Î¤È¤¤Ò¤é¤¬¤Ê¤Ç½ÐÎϤ¹¤ë¡£(mendexÀìÍÑ) +.RE +.TP 30 +\fBpriority\fR <¿ôÃÍ> +0 +.RS +±Ñ»ú¤ÈÆüËܸì¤È¤Îº®ºß¤·¤¿º÷°ú¸ì¤Î¥½¡¼¥ÈÊýË¡¤Ë¤Ä¤¤¤Æ¤Î¥Õ¥é¥°¡£0¤Ç¤Ê¤±¤ì¤Ð±Ñ»ú¤ÈÆüËܸì¤È¤Î´Ö¤ËȾ³Ñ¥¹¥Ú¡¼¥¹¤òÆþ¤ì¤¿¾õÂ֤ǥ½¡¼¥È¤¹¤ë¡£(mendexÀìÍÑ) +.RE +.TP 30 +\fBcharacter_order\fR <ʸ»úÎó> +"SEJ" +.RS +µ¹æ¡¢±Ñ»ú¡¢ÆüËܸì¤ÎÍ¥Àè½ç°Ì¡£\'S\'¤Ïµ¹æ¡¢\'E\'¤Ï±Ñ»ú¡¢\'J\'¤ÏÆüËܸì¤òɽ¤¹¡£(mendexÀìÍÑ) +.RE +.PP +.SH ÆüËܸì¤Î°·¤¤¤Ë¤Ä¤¤¤Æ +.PP +\fImendex\fR ¤ÏÆüËܸì¤Îº÷°ú¤ò¤Ç¤¤ë¤À¤±³Ú¤Ë°·¤¨¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ +.RE +makeindex¤Ç¤ÏÆüËܸì¤Îº÷°ú¤¬Àµ¤·¤¯¼½ñ½ç¤Ë¥½¡¼¥È¤¹¤ë¤¿¤á¤Ë¤Ï¤Ò¤é¤¬¤Ê¤Þ¤¿¤Ï¥«¥¿¥«¥Ê¤Ë·¤¨¡¢Ù¹²»¡¢Ùû²»¡¢ÂùÅÀ¤ò½ü¤¤¤¿ÆɤߤòÉÕ¤±¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¤Ç¤·¤¿(¼«Æ°Åª¤Ë·¤¨¤ë¥Ð¡¼¥¸¥ç¥ó¤â¤¢¤ë)¡£ +.RE +mendex¤Ç¤Ï¥«¥Ê¤Ë¤Ä¤¤¤Æ¤Ï¤¹¤Ù¤Æ¼«Æ°Åª¤Ë·¤¨¡¢¤Þ¤¿´Á»ú¤Ë¤Ä¤¤¤Æ¤Ï¼½ñ¥Õ¥¡¥¤¥ë¤òÀßÄꤹ¤ë¤³¤È¤Ë¤è¤ê³Æº÷°ú¸ì¤´¤È¤ËÆɤߤòÉÕ¤±¤ëºî¶È¤ò¤«¤Ê¤ê²ò¾Ã¤Ç¤¤Þ¤¹¡£ + +.LP +°Ê²¼¤ËÆâÉô¤Ç¤Î¥«¥Ê¤ÎÊÑ´¹Îã¤ò¼¨¤·¤Þ¤¹¡£ +.PP +.RS +.br +¤«¤Ö¤·¤¤¬¤¤¤·¤ã ¤«¤Õ¤·¤¤«¤¤¤·¤ä +.br +¥Þ¥Ã¥¥ó¥È¥Ã¥·¥å ¤Þ¤Ä¤¤ó¤È¤Ä¤·¤æ +.br +¥ï¡¼¥×¥í ¤ï¤¢¤Õ¤í +.RE +.LP +¼½ñ¥Õ¥¡¥¤¥ë¤Ï<\fI½Ï¸ì\ \ Æɤß\fR>¤Î¥ê¥¹¥È¤Ç¹½À®¤µ¤ì¤Þ¤¹¡£ +½Ï¸ì¤ÈÆɤߤζèÀÚ¤ê¤Ï¥¿¥Ö¤Þ¤¿¤Ï¥¹¥Ú¡¼¥¹¤Ç¤¹¡£ +.RE +°Ê²¼¤Ë¼½ñ¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£ +.PP +.RS +.br +´Á»ú ¤«¤ó¤¸ +.br +ÆÉ¤ß ¤è¤ß +.br +´Ä¶ ¤«¤ó¤¤ç¤¦ +.br +¦Á ¥¢¥ë¥Õ¥¡ +.RE +.LP +¼½ñ¤ËÅÐÏ¿¤¹¤ë½Ï¸ì¤Ë¤Ä¤¤¤Æ¤Ï¡¢ÆɤßÊý¤¬£±Ä̤ê¤Ë¤Ê¤ë¤è¤¦Á÷¤ê²¾Ì¾¤òÉÕ¤±¤Æ¤¯¤À¤µ¤¤¡£ +¡Öɽ¡×¡¢¡ÖÀ¼Á¡×¤Î¤è¤¦¤ËÁ÷¤ê²¾Ì¾¤Ë¤è¤é¤º£²Ä̤ê¤ÎÆɤßÊý¤¬¤Ç¤¤ë¸ì¤Ë¤Ä¤¤¤Æ¤Ï¤É¤Á¤é¤«£±¤Ä¤·¤«ÅÐÏ¿¤Ç¤¤Þ¤»¤ó¡£Â¾¤ÎÆɤßÊý¤Ë¤Ä¤¤¤Æ¤Ï³Æº÷°ú¸ì¤ØÆɤߤòÉÕ¤±¤ë¤³¤È¤ÇÂбþ¤·¤Æ¤¯¤À¤µ¤¤¡£ +.RE +¤Þ¤¿¡¢´Ä¶ÊÑ¿ô<\fIINDEXDEFAULTDICTIONARY\fR>¤Ë¼½ñ¥Õ¥¡¥¤¥ë¤òÅÐÏ¿¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢¼«Æ°Åª¤Ë¼½ñ¤ò»²¾È¤·¤Þ¤¹¡£´Ä¶ÊÑ¿ô¤ËÅÐÏ¿¤·¤¿¼½ñ¤Ï -d ¤Ç»ØÄꤷ¤¿¼½ñ¤ÈÊ»ÍѤǤ¤Þ¤¹¡£ +.PP +.SH ¥½¡¼¥ÈÊýË¡¤Ë¤Ä¤¤¤Æ +.PP +\fImendex\fR ¤ÏÄ̾ï¤ÏÆþÎϤµ¤ì¤¿º÷°ú¸ì¤ò¤½¤Î¤Þ¤Þ¥½¡¼¥È¤·¤Þ¤¹¡£\fI-l\fR¥ª¥×¥·¥ç¥ó¤¬ÉÕ¤±¤é¤ì¤¿¾ì¹ç¡¢Ê£¿ô¤Îñ¸ì¤Ç¹½À®¤µ¤ì¤ëº÷°ú¸ì¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥½¡¼¥È¤¹¤ë¤È¤¤Ëñ¸ì¤Èñ¸ì¤Î´Ö¤Î¥¹¥Ú¡¼¥¹¤òµÍ¤á¤Æ¥½¡¼¥È¤·¤Þ¤¹¡£ +¤³¤³¤Ç¤ÏÁ°¼Ô¤òñ¸ì½ç¥½¡¼¥È¡¢¸å¼Ô¤òʸ»ú½ç¥½¡¼¥È¤È¸Æ¤Ö¤³¤È¤Ë¤·¤Þ¤¹¡£ +.RE +ʸ»ú½ç¥½¡¼¥È¤Î¾ì¹ç¡¢¼ÂºÝ¤Ë½ÐÎϤµ¤ì¤ëʸ»úÎó¤Ï¥¹¥Ú¡¼¥¹¤ò´Þ¤ó¤À¾õÂ֤Τâ¤Î¤Ç¤¹¤Î¤Ç¡¢º÷°ú¸ì¼«ÂΤ¬ÊѲ½¤¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£ +.RE +°Ê²¼¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.PP +.RS +\fIñ¸ì½ç¥½¡¼¥È ʸ»ú½ç¥½¡¼¥È\fR +.br +X Window Xlib +.br +Xlib XView +.br +XView X Window +.RE +.LP +¤Þ¤¿¡¢ÆüËܸì¡Á±Ñ»ú´Ö¤Ç¤â»÷¤¿¤è¤¦¤Ê¥½¡¼¥ÈÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£¥¹¥¿¥¤¥ë¥Õ¥¡¥¤¥ë¤Ç\fIpriority\fR¤ò£°°Ê³°¤Ë»ØÄꤷ¤¿¾ì¹ç¡¢ÎÙÀܤ·¤¿ÆüËܸì¤È±Ñ»ú¤Î´Ö¤Ë¥¹¥Ú¡¼¥¹¤òÆþ¤ì¤Æ¥½¡¼¥È¤·¤Þ¤¹¡£ +.RE +°Ê²¼¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£ +.PP +.RS +\fIpriority=0 priority=1\fR +.br +index sort ind¥Õ¥¡¥¤¥ë +.br +ind¥Õ¥¡¥¤¥ë index sort +.RE +.PP +.SH ´Ä¶ÊÑ¿ô +\fImendex\fR ¤Ç¤Ï°Ê²¼¤Î¤è¤¦¤Ê´Ä¶ÊÑ¿ô¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£ +.PP +.TP 10 +\fIINDEXSTYLE\fR +º÷°ú¥¹¥¿¥¤¥ë¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê +.TP 10 +\fIINDEXDEFAULTSTYLE\fR +¥Ç¥Õ¥©¥ë¥È¤Ç»²¾È¤¹¤ëº÷°ú¥¹¥¿¥¤¥ë¥Õ¥¡¥¤¥ë +.TP 10 +\fIINDEXDICTIONARY\fR +¼½ñ¤¬¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê +.TP 10 +\fIINDEXDEFAULTDICTIONARY\fR +¾ï¤Ë»²¾È¤¹¤ë¼½ñ¥Õ¥¡¥¤¥ë +.PP +.SH ¾ÜºÙ¤Ë¤Ä¤¤¤Æ +¤½¤Î¾¡¢¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï \fImakeindex\fR ¤Ë½àµò¡£ +.PP +.SH ÌäÂêÅÀÅù +¥Õ¥¡¥¤¥ë̾¤ÎÀèƬ¤Îʸ»ú¤¬ '-' ¤Ç¤¢¤ë¥Õ¥¡¥¤¥ë¤Ï°·¤¨¤Þ¤»¤ó¡£ + +Ê£¿ô¤Î¥Ú¡¼¥¸µË¡¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥Ú¡¼¥¸½ç¤Ë.idx¥Õ¥¡¥¤¥ë¤òÍ¿¤¨¤Ê¤¤¤È¥Ú¡¼¥¸ÈÖ¹æ¤ò¸íǧ¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ +.PP +.SH »²¾È +tex(l), latex(l), makeindex(l) +.RE diff --git a/Master/texmf-dist/doc/man/man1/mendex.man1.pdf b/Master/texmf-dist/doc/man/man1/mendex.man1.pdf Binary files differnew file mode 100644 index 00000000000..0c86d8a3eb5 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mendex.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/mf-nowin.1 b/Master/texmf-dist/doc/man/man1/mf-nowin.1 new file mode 100644 index 00000000000..3ba4214d4c6 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mf-nowin.1 @@ -0,0 +1 @@ +.so man1/mf.1 diff --git a/Master/texmf-dist/doc/man/man1/mf-nowin.man1.pdf b/Master/texmf-dist/doc/man/man1/mf-nowin.man1.pdf Binary files differnew file mode 100644 index 00000000000..b25a7ab3e43 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mf-nowin.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/mf.1 b/Master/texmf-dist/doc/man/man1/mf.1 new file mode 100644 index 00000000000..344020c1b02 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mf.1 @@ -0,0 +1,484 @@ +.\" t +.TH MF 1 "1 March 2011" "Web2C 2012" +.\"===================================================================== +.if n .ds MF Metafont +.if t .ds MF M\s-2ETAFONT\s0 +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.el .ds OX TeX for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.if n .ds WB Web +.if t .ds WB W\s-2EB\s0 +.\"===================================================================== +.SH NAME +mf, mf-nowin, inimf, virmf \- Metafont, a language for font and logo design +.SH SYNOPSIS +.B mf +.RI [ options ] +.RI [ commands ] +.\"===================================================================== +.SH DESCRIPTION +\*(MF reads the program in the specified files +and outputs font rasters (in +.I gf +format) and font metrics (in +.I tfm +format). The \*(MF +language is described in +.IR "The \*(MF\^book" . +.PP +Like +\*(TX, \*(MF +is normally used with a large body of precompiled macros, and font generation +in particular requires the support of several macro files. This +version of \*(MF looks at its command line to see what name it was +called under. Both +.B inimf +and +.B virmf +are symlinks to the +.B mf +executable. When called as +.BR inimf +(or when the +.B -ini +option is given) it can be used to precompile macros into a +.I .base +file. When called as +.B virmf +it will use the +.I plain +base. When called under any other name, \*(MF will use that name as +the name of the base to use. For example, when called as +.B mf +the +.I mf +base is used, which is identical to the +.I plain +base. Other bases than +.I plain +are rarely used. +.PP +The +.I commands +given on the command line to the \*(MF program are passed to it as the +first input line. (But it is often easier to type extended arguments +as the first input line, since UNIX shells tend to gobble up or +misinterpret \*(MF's favorite symbols, like semicolons, unless you +quote them.) As described in +.IR "The \*(MF\^book" , +that first line should begin with a filename, a +.RI \e controlsequence , +or a +.IR &basename . +.PP +The normal usage is to say +.IP +\fBmf\ \fP '\\\|mode=<printengine>\^;\^ [\^mag=magstep(\fI\^n\fP\^)\^;\^]' input\ \^\fI font \fP +.PP +to start processing +.IR font.mf . +The single quotes are the best way of keeping the Unix +shell from misinterpreting the semicolons and +from removing the \\ character, which is needed here to +keep \*(MF from thinking that you want to produce a font called +.IR mode . +(Or you can just say +.I mf +and give the other stuff on the next line, without quotes.) Other +control sequences, such as +.I batchmode +(for silent operation) can also appear. +The name +.I font +will be the ``jobname'', and is used in forming +output file names. +If \*(MF doesn't get a file name in the first line, +the jobname is +.IR mfput . +The default extension, +.IR .mf , +can be overridden by specifying an extension explicitly. +.PP +A log of error messages goes into the file \fIjobname\fP\fB\^.\^\fP\fIlog\fP. +The output files are \fIjobname\fP\fB\^.\^\fP\fItfm\fP and +\fIjobname\fP\fB\^.\^\fP\fI<\fP\^number\^\fI>gf\fP, where <number> depends on +the resolution and magnification of the font. The +.I mode +in this +example is shown generically as <printengine>, a symbolic term for which +the name of an actual device or, most commonly, the name +.I localfont +(see below) must +be substituted. If the mode is not specified or is not valid for your +site, \*(MF will default to +.I proof +mode which produces +large character images for use in font design and refinement. Proof +mode can be recognized by the suffix +.I .2602gf +after the jobname. Examples of proof mode output can be found +in +.I "Computer Modern Typefaces" +(Volume E of +.IR "Computers and Typesetting" ). +The system of +.I magsteps +is identical to the system used by +\*(TX, +with values generally in the range 0.5, 1.0, 2.0, 3.0, 4.0 and 5.0. +A listing of +.I gf +numbers for 118-dpi, 240-dpi and 300-dpi fonts +is shown below. +.TS +tab(:); +c c c c +l l l l. +MAGSTEP:118 dpi:240 dpi:300 dpi +mag=magstep(0):118:240:300 +mag=magstep(0.5):129:263:329 +mag=magstep(1):142:288:360 +mag=magstep(2):170:346:432 +mag=magstep(3):204:415:518 +mag=magstep(4):245:498:622 +mag=magstep(5):294:597:746 +.TE +.PP +Magnification can also be specified not as a magstep but as an +arbitrary value, such as 1.315, to create special character sizes. +.PP +Before font production can begin, it is necessary to set up the +appropriate base files. The minimum set of components for font +production for a given print-engine is the +.I plain.mf +macro file +and the local +.I mode_def +file. The macros in +.I plain.mf +can be +studied in an appendix to the +.IR "\*(MF\^book" ; +they were developed by Donald E. Knuth, and this file should never be +altered except when it is officially upgraded. +Each +.I mode_def +specification helps adapt fonts to a particular print-engine. +There is a regular discussion of +.IR mode_def s +in +.IR TUGboat , +the journal of the +\*(TX +Users Group. +The local ones in use on this computer should be in +.IR modes.mf . +.PP +The +.I e +response to \*(MF\|'s error-recovery mode invokes the +system default +editor at the erroneous line of the source file. +There is an environment variable, MFEDIT, +that overrides the default editor. +It should contain a string with "%s" indicating where the +filename goes and "%d" indicating where the decimal linenumber (if any) goes. +For example, an MFEDIT string for the +.B vi +editor can be set with the +.B csh +command +.RS +\fIsetenv MFEDIT "vi +%d %s"\fP +.RE +.PP +A convenient file in the library is +.IR null.mf , +containing nothing. +When +.B mf +can't find the file it thinks you want to input, it keeps +asking you for another file name; responding `null' gets you out +of the loop if you don't want to input anything. +.\"===================================================================== +.SH "ONLINE GRAPHICS OUTPUT" +\*(MF can use most modern displays, so you can see its output +without printing. Chapter 23 of +.I "The \*(MF\^book" +describes what you can do. This implementation of \*(MF uses +environment variables to determine which display device you want to use. +First it looks for a variable MFTERM, and then for TERM. +If it can't find either, you get no online output. Otherwise, the value +of the variable determines the device to use: +.BR hp2627 , +.B sun +(for old SunView), +.BR tek , +.B uniterm +(for an Atari ST Tek 4014 emulator), +.B xterm +(for either X10 or X11). +Some of these devices may not be supported in all \*(MF +executables; the choice is made at compilation time. +.PP +On some systems, there are two \*(MF binaries, +.B mf +and +.BR mf-nowin . +On those systems the +.B mf +binary supports graphics, while the +.B mf-nowin +binary does not. The +.B mf-nowin +binary is used by scripts like +.B mktexpk +where graphics support is a nuisance rather than something helpful. +.\"===================================================================== +.SH OPTIONS +This version of \*(MF understands the following command line options. +.TP +.BI -base \ base +Use +.I base +as the name of the base to be used, instead of the name by which +\*(MF was called or a +.I %& +line. +.TP +.B -file-line-error +Print error messages in the form +.I file:line:error +which is similar to the way many compilers format them. +.TP +.B -no-file-line-error +Disable printing error messages in the +.I file:line:error +style. +.TP +.B -file-line-error-style +This is the old name of the +.B -file-line-error +option. +.TP +.B -halt-on-error +Exit with an error code when an error is encountered during processing. +.TP +.B -help +Print help message and exit. +.TP +.B -ini +Be +.BR inimf , +for dumping bases; this is implicitly true if the program is called +as +.BR inimf . +.TP +.BI -interaction \ mode +Sets the interaction mode. The mode can be one of +.IR batchmode , +.IR nonstopmode , +.IR scrollmode , +and +.IR errorstopmode . +The meaning of these modes is the same as that of the corresponding +commands. +.TP +.BI -jobname \ name +Use +.I name +for the job name, instead of deriving it from the name of the input file. +.TP +.BI -kpathsea-debug \ bitmask +Sets path searching debugging flags according to the bitmask. See the +.I Kpathsea +manual for details. +.TP +.BI -maketex \ fmt +Enable +.RI mktex fmt , +where +.I fmt +must be +.IR mf . +.TP +.BI -no-maketex \ fmt +Disable +.RI mktex fmt , +where +.I fmt +must be +.IR mf . +.TP +.BI -output-directory \ directory +Write output files in +.I directory +instead of the current directory. Look up input files in +.I directory +first, the along the normal search path. +.TP +.B -parse-first-line +If the first line of the main input file begins with +.I %& +parse it to look for a dump name or a +.B -translate-file +option. +.TP +.B -no-parse-first-line +Disable parsing of the first line of the main input file. +.TP +.BI -progname \ name +Pretend to be program +.IR name . +This affects both the format used and the search paths. +.TP +.B -recorder +Enable the filename recorder. This leaves a trace of the files opened +for input and output in a file with extension +.IR .fls . +.TP +.BI -translate-file \ tcxname +Use the +.I tcxname +translation table. +.TP +.B -version +Print version information and exit. +.\"===================================================================== +.SH ENVIRONMENT +See the Kpathsearch library documentation (the `Path specifications' +node) for the details of how the environment variables are use when +searching. The +.B kpsewhich +utility can be used to query the values of the variables. +.PP +If the environment variable +.B TEXMFOUTPUT +is set, \*(MF attempts to put its output +files in it, if they cannot be put in the current directory. Again, see +.BR tex (1). +.TP +.B MFINPUTS +Search path for +.I input +and +.I openin +files. +.TP +.B MFEDIT +Command template for switching to editor. +.TP +.B MFTERM +Determines the online graphics display. If MFTERM is not set, +and DISPLAY is set, the Metafont window support for X is used. +(DISPLAY must be set to a valid X server specification, as usual.) +If neither MFTERM nor DISPLAY is set, TERM is used to guess the window +support to use. +.\"===================================================================== +.SH "FONT UTILITIES" +A number of utility programs are available. +The following is a partial list of available utilities and their purpose. +Consult your local \*(MF guru for details. +.br +.TP \w'gftodvi'u+2n +.B gftopk +Takes a +.I gf +file and produces a more tightly packed +.I pk +font file. +.TP +.B gftodvi +Produces proof sheets for fonts. +.TP +.B gftype +Displays the contents of a +.I gf +file in mnemonics and/or images. +.TP +.B pktype +Mnemonically displays the contents of a +.I pk +file. +.TP +.B mft +Formats a source file as shown in +.IR "Computer Modern Typefaces" . +.\"===================================================================== +.SH "FILES" +.TP +.I "mf.pool" +Encoded text of \*(MF's messages. +.TP +.I *.base +Predigested \*(MF base files. +.TP +.I $TEXMFMAIN/metafont/base/plain.mf +The standard base. +.TP +.I $TEXMFMAIN/metafont/misc/modes.mf +The file of +.IR mode_def s +for your site's various printers +.\"===================================================================== +.SH NOTES +This manual page is not meant to be exhaustive. The complete +documentation for this version of \*(MF can be found in the info manual +.IR "Web2C: A TeX implementation" . +.\"===================================================================== +.SH BUGS +On January 4, 1986 the ``final'' bug in \*(MF was discovered +and removed. If an error still lurks in the code, Donald E. Knuth promises to +pay a finder's fee which doubles every year to the first person who finds +it. Happy hunting. +.\"===================================================================== +.SH "SUGGESTED READING" +Donald E. Knuth, +.I "The \*(MF\^book" +(Volume C of +.IR "Computers and Typesetting" ), +Addison-Wesley, 1986, ISBN 0-201-13445-4. +.br +Donald E. Knuth, +.I "\*(MF:\^ The Program" +(Volume D of +.IR "Computers and Typesetting" ), +Addison-Wesley, 1986, ISBN 0-201-13438-1. +.br +Donald E. Knuth, +.I Computer Modern Typefaces +(Volume E of +.IR "Computers and Typesetting" ), +Addison-Wesley, 1986, ISBN 0-201-13446-2. +.br +.I TUGboat +(the journal of the \*(TX Users Group). +.\"===================================================================== +.SH COMMENTS +Warning: ``Type design can be hazardous to your other interests. +Once you get hooked, you will develop intense feelings about letterforms; +the medium will intrude on the messages that you read. +And you will perpetually be thinking of improvements to the fonts that +you see everywhere, especially those of your own design.'' +.\"===================================================================== +.SH "SEE ALSO" +.BR gftopk (1), +.BR gftodvi (1), +.BR gftype (1), +.BR mft (1), +.BR pltotf (1), +.BR tftopl (1). +.\"===================================================================== +.SH AUTHORS +\*(MF was designed by Donald E. Knuth, who implemented it +using his \*(WB system for Pascal programs. It was originally +ported to Unix by Paul Richards at the University of Illinois at +Urbana-Champaign. This page was mostly written by Pierre MacKay. diff --git a/Master/texmf-dist/doc/man/man1/mf.man1.pdf b/Master/texmf-dist/doc/man/man1/mf.man1.pdf Binary files differnew file mode 100644 index 00000000000..4b999616f6b --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mf.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/mft.1 b/Master/texmf-dist/doc/man/man1/mft.1 new file mode 100644 index 00000000000..dfcaebfb690 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mft.1 @@ -0,0 +1,134 @@ +.TH MFT 1 "14 December 1993" "Web2C 2012" +.\"===================================================================== +.if n .ds MP MetaPost +.if t .ds MP MetaPost +.if n .ds MF Metafont +.if t .ds MF M\s-2ETAFONT\s0 +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.el .ds OX TeX for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.\"===================================================================== +.SH NAME +mft \- translate Metafont or MetaPost code to TeX code for prettyprinting +.SH SYNOPSIS +.B mft +.RI [ OPTIONS ] +.BR \fImf_file_name\fP [ .mf | .mp ] +.\"===================================================================== +.SH DESCRIPTION +This manual page is not meant to be exhaustive. The complete +documentation for this version of \*(TX can be found in the info file +or manual +.IR "Web2C: A TeX implementation" . +.PP +The +.B mft +program creates a \*(TX file from a \*(MF or \*(MP program. +It takes appropriate care of typographic details like page +layout and the use of indentation, italics, boldface, etc., as illustrated +in the book +.IR "Computer Modern Typefaces" . +Special conventions in \*(MF and \*(MP comments allow you to control things that +would not otherwise come out right; section 1 of the MFT source program +in the +.I \*(MFware +report explains these rules. +.PP +The +.B mft +program uses an optional change file (which works just as the change files to +.BR tangle (1) +and +.BR weave (1) +do) +and one or several style files (which are prepended to everything). +If no style file is specified, the style file +.B plain.mft +for \*(MF (or +.B mplain.mft +for \*(MP) is automatically used. +.PP +The +.IR mf_file_name , +optional +.IR change_file_name , +and +.I style_file_name +files are searched for using the MFINPUTS (for \*(MF) or MPINPUTS (for +\*(MP) and MFTINPUTS environment variables if you have set them, or else the +corresponding system defaults. +.PP +The output \*(TX file name is formed by using +.B .tex +in place of the extension of +.IR mf_file_name . +.\"===================================================================== +.SH OPTIONS +.TP +.BI \-change= change_file_name \fR[\fP.ch\fR]\fP +Apply the change file +.I change_file_name +to +.IR mf_file_name . +.PP +.TP +.B \-metapost +Assume +.I mf_file_name +is a \*(MP source file (this is the default if +.I mf_file_name +has the extension +.BR .mp ). +.PP +.TP +.BI \-style= style_file_name \fR[\fP.mft\fR]\fP +Use the style file +.I style_file_name +insted of +.B plain.mft +(or +.BR mplain.mft ); +this option can be given more than once. +.\"===================================================================== +.SH FILES +.TP +.I mftmac.tex +\*(TX macros used by +.B mft +output. +.TP +.IR plain.mft ", " mplain.mft +Default style files. +.TP +.I cmbase.mft +Style file for Computer Modern. +.\"===================================================================== +.SH "SEE ALSO" +.BR mf (1), +.BR weave (1). +.br +Donald E. Knuth, +.I Computer Modern Typefaces +(Volume E of +.IR "Computers and Typesetting" ), +Addison-Wesley, 1986, ISBN 0-201-13446-2. +.br +Donald E. Knuth et al., +.IR \*(MFware . +.\"===================================================================== +.SH AUTHORS +Donald E. Knuth wrote the program, and he ported it to Unix with the help of +Pierre MacKay and the Unix port of +.B weave +by Howard Trickey and Pavel Curtis. +The program is published in the +.I \*(MFware +technical report, available from the \*(TX Users Group. diff --git a/Master/texmf-dist/doc/man/man1/mft.man1.pdf b/Master/texmf-dist/doc/man/man1/mft.man1.pdf Binary files differnew file mode 100644 index 00000000000..fefafb972ab --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mft.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/mkindex.1 b/Master/texmf-dist/doc/man/man1/mkindex.1 new file mode 100644 index 00000000000..503b70020fd --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mkindex.1 @@ -0,0 +1,42 @@ +.TH "mkindex" "1" "September 2000" "teTeX" "teTeX" +.PP +.SH "NAME" +mkindex \- script to process LaTeX index and glossary files +.PP +.SH "SYNOPSIS" +.PP +\fBmkindex\fP \fIBASENAME\fP[\&.idx] \&.\&.\&. +.PP +.SH "DESCRIPTION" +.PP +\fBmkindex\fP runs \fBmakeindex\fP(1) on any index +(\f(CW\&.idx\fP) or glossary (\f(CW\&.glo\fP) files created by TeXing the file +\fI\fIBASENAME\fP\&.tex\fP\&. +.PP +.SH "FILES" +.IP "\fIgind\&.ist\fP" +MakeIndex index style file +.IP +.IP "\fIgglo\&.ist\fP" +MakeIndex glossary style file +.IP +.PP +.SH "SEE ALSO" +.PP +\fBmakeindex\fP(1) +.PP +.SH "BUGS" +.PP +None known, but report any bugs found to <tetex@informatik\&.uni-hannover\&.de> (mailing list)\&. +.PP +.SH "AUTHOR" +.PP +Written by Thomas Esser +<te@informatik\&.uni-hannover\&.de>\&. +.PP +This manual page was written by C\&.M\&. Connelly +<c@eskimo\&.com>, for +the Debian GNU/Linux system\&. It may be used by other distributions +without contacting the author\&. Any mistakes or omissions in the +manual page are my fault; inquiries about or corrections to this +manual page should be directed to me (and not to the primary author)\&. diff --git a/Master/texmf-dist/doc/man/man1/mkindex.man1.pdf b/Master/texmf-dist/doc/man/man1/mkindex.man1.pdf Binary files differnew file mode 100644 index 00000000000..f0ae1ca6489 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mkindex.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/mkjobtexmf.1 b/Master/texmf-dist/doc/man/man1/mkjobtexmf.1 new file mode 100644 index 00000000000..b3fa622580f --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mkjobtexmf.1 @@ -0,0 +1,501 @@ +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.13 +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sh \" Subsection heading +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. | will give a +.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to +.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' +.\" expand to `' in nroff, nothing in troff, for use with C<>. +.tr \(*W-|\(bv\*(Tr +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.\" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.hy 0 +.if n .na +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "MKJOBTEXMF 1" +.TH MKJOBTEXMF 1 "2011-11-10 v0.8" "perl v5.8.1" "User Contributed Perl Documentation" +.SH "NAME" +mkjobtexmf \-\- Generate a texmf tree for a particular job +.SH "VERSION" +.IX Header "VERSION" +2011\-11\-10 v0.8 +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +The progam \fBmkjobtexmf\fR runs a program and tries to +find the used file names. Two methods are available, +option \f(CW\*(C`\-recorder\*(C'\fR of TeX (Web2C) or the program \fBstrace\fR. +.PP +Then it generates a directory with a texmf tree. It checks +the found files and tries sort them in this texmf tree. +.PP +It can be used for archiving purposes or to speed up +following TeX runs. +.PP +.Vb 1 +\& mkjobtexmf [options] +.Ve +.PP +This runs TeX that can be configured by options. +Both methods for getting the used file names are available. +.PP +.Vb 1 +\& mkjobtexmf [options] -- <cmd> [args] +.Ve +.PP +The latter form runs program \fIcmd\fR with arguments \fIargs\fR +instead of TeX. As method only program \fBstrace\fR is available. +.PP +Options: +.PP +.Vb 25 +\& --jobname <name> Name of the job (mandatory). +\& Usually this is the TeX file +\& without extension +\& --texname <file> Input file for TeX. Default is the +\& job name with extension '.tex' +\& --texopt <option> Option for TeX run +\& --destdir <directory> Destination directory, +\& default is `<jobname>.mjt' +\& --output Add also output files +\& --strace Use strace instead of TeX's +\& option -recorder +\& --copy Copy files instead of creating +\& symbol links +\& --flat Junk paths, do not make directories +\& inside the destination directory +\& --(no)texhash Run texhash, use --notexhash for MiKTeX +\& --exclude-ext <ext> Exclude files with extension <ext>. +\& --cmd-tex <cmd> Command for the TeX compiler +\& --cmd-kpsewhich <cmd> Command for kpsewhich +\& --cmd-texhash <cmd> Command for texhash +\& --cmd-strace <cmd> Command for strace +\& --verbose Verbose output +\& --help Brief help message +\& --man Full documentation +\& --version Print version identification +.Ve +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +.Sh "Running the program" +.IX Subsection "Running the program" +First \fBmkjobtexmf\fR runs a program, usually TeX. The TeX compiler +is configured by option \f(CW\*(C`\-\-cmd\-tex\*(C'\fR. Option \f(CW\*(C`\-\-texname\*(C'\fR can +be used, if the file name extension differs from \fI.tex\fR: +.PP +.Vb 1 +\& mkjobtexmf --jobname foo --texname foo.ltx +.Ve +.PP +Even more complicate cases are possible: +.PP +.Vb 1 +\& mkjobtexmf --jobname foo --texname '\edef\eabc{...}\einput{foo}' +.Ve +.PP +If another program than TeX should be used (dvips, ...), +then this program can be given after \f(CW\*(C`\-\-\*(C'\fR: +.PP +.Vb 1 +\& mkjobtexmf --jobname foo -- dvips foo +.Ve +.Sh "File recording" +.IX Subsection "File recording" +Two methods are available to get the used file names: +.IP "Recorder of TeX" 4 +.IX Item "Recorder of TeX" +Some TeX distributions (e.g. Web2C) support the option \fB\-recorder\fR +for its TeX compilers. Then the TeX compiler generates a file with +extension \fI.fls\fR that records the used input and output files. +.IP "Program strace" 4 +.IX Item "Program strace" +This program traces system calls and signals. It is used here +to log the used files. +.Sh "Analyze and link/copy found files" +.IX Subsection "Analyze and link/copy found files" +The result directory \fI\fIjobname\fI.mjt\fR is generated. Inside the +result \s-1TEXMF\s0 tree is created. Each found file is compared against +a list of paths of \s-1TEXMF\s0 trees. If a match is found, the file is +linked/copied into the \s-1TEXMF\s0 tree. The list of paths is generated by +program \fBkpsewhich\fR. +.PP +If the file cannot be mapped to a \s-1TEXMF\s0 tree and the file is +a relative file name, then it is directly linked/copied into the +result directory \fI\fIjobname\fI.mjt\fR. Absolute file names +are not supported and neither paths with links to parent directories. +.PP +Symbolic links are created by default. The files are copied +if option \f(CW\*(C`\-\-copy\*(C'\fR is given or symbolic linking is not available. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-\fR\fB\-jobname\fR=<\fIjobname\fR>" 4 +.IX Item "--jobname=<jobname>" +It is the name of the job. `<\fIjobname\fR>.tex' serves as default for +the TeX file and <\fIjobname\fR> is used for naming various directories +and files. See section \*(L"\s-1FILES\s0\*(R". +.IP "\fB\-\fR\fB\-texname\fR=<\fIname\fR>" 4 +.IX Item "--texname=<name>" +The name of the TeX input file, if it differs from <\fIjobname\fR>.tex. +.IP "\fB\-\fR\fB\-texopt\fR=<\fIopt\fR>" 4 +.IX Item "--texopt=<opt>" +Additional option for the TeX compiler, examples are \f(CW\*(C`\-\-ini\*(C'\fR or +\&\f(CW\*(C`\-\-shell\-escape\*(C'\fR. This option can be given more than once. +.IP "\fB\-\fR\fB\-destdir\fR=<\fIdirectory\fR>" 4 +.IX Item "--destdir=<directory>" +Specifies the name of the destination directory where the result +is collected. As default a directory is generated in the current +directory with the job name and extension `.mjt'. +.IP "\fB\-\fR\fB\-output\fR" 4 +.IX Item "--output" +Also add output files. +.IP "\fB\-\fR\fB\-strace\fR" 4 +.IX Item "--strace" +Use method with program \fBstrace\fR, see \*(L"\s-1DESCRIPTION\s0\*(R". +.IP "\fB\-\fR\fB\-copy\fR" 4 +.IX Item "--copy" +Files are copied instead of creating symbolic links. +.IP "\fB\-\fR\fB\-flat\fR" 4 +.IX Item "--flat" +Files are linked or copied without path elements. +The destination directory will contain a flat list of +files or links without directory. +.Sp +The files `ls\-R' and `aliases' are ignored. +.IP "\fB\-\fR\fB\-exclude\-ext\fR=<\fIext\fR>" 4 +.IX Item "--exclude-ext=<ext>" +Files with extension <\fIext\fR> are excluded. The option can be +given several times or a comma separated list of extensions +can be used. Examples: +.Sp +.Vb 1 +\& --exclude-ext aux --exclude-ext log --exclude-ext toc +.Ve +.Sp +is the same as +.Sp +.Vb 1 +\& --exclude-ext aux,log,toc +.Ve +.IP "\fB\-\fR\fB\-(no)texhash\fR" 4 +.IX Item "--(no)texhash" +As default the file `ls\-R' is generated in the `texmf' tree, +because this is the file name database that might be used +in TeX Live. Because MiKTeX uses a different mechanism, its +`texhash' does not generate the `ls\-R' files and \f(CW\*(C`\-\-notexhash\*(C'\fR +suppresses the call of `texhash'. +.IP "\fB\-\fR\fB\-cmd\-tex\fR=<\fIcmd\fR>" 4 +.IX Item "--cmd-tex=<cmd>" +Command for the TeX compiler. Default is pdflatex. +.IP "\fB\-\fR\fB\-cmd\-kpsewhich\fR=<\fIcmd\fR>" 4 +.IX Item "--cmd-kpsewhich=<cmd>" +Command for kpsewhich. +.IP "\fB\-\fR\fB\-cmd\-texhash\fR=<\fIcmd\fR>" 4 +.IX Item "--cmd-texhash=<cmd>" +Command for updating the file name database of the generated +texmf tree. Default is texmf. +.IP "\fB\-\fR\fB\-cmd\-strace\fR=<\fIcmd\fR>" 4 +.IX Item "--cmd-strace=<cmd>" +Command for strace. +.IP "\fB\-\fR\fB\-verbose\fR" 4 +.IX Item "--verbose" +Verbose messages. +.IP "\fB\-\fR\fB\-help\fR" 4 +.IX Item "--help" +Display help screen. +.IP "\fB\-\fRB(\-man>" 4 +.IX Item "-B(-man>" +Print manual page. +.IP "\fB\-\fR\fB\-version\fR" 4 +.IX Item "--version" +Print version identification and exit. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +TeX file \fItest.tex\fR using TeX's recorder method: +.PP +.Vb 1 +\& mkjobtexmf --jobname test +.Ve +.PP +TeX file \fItest.tex\fR using LaTeX: +.PP +.Vb 1 +\& mkjobtexmf --jobname test --cmd-tex latex +.Ve +.PP +Format generation: +.PP +.Vb 1 +\& mkjobtexmf --jobname test --texopt -ini --texname pdflatex.ini +.Ve +.PP +Example, how the new texmf tree (Linux/bash) can be used: +.PP +.Vb 1 +\& TEXMF=!!test.mjt/texmf pdflatex test +.Ve +.PP +Example for generating a zip archive (Linux/bash): +.PP +.Vb 1 +\& (cd test.mjt && zip -9r ../test .) +.Ve +.PP +Example for generating a tar archive: +.PP +.Vb 1 +\& tar cjhvf test.tar.bz2 -C test.mjt . +.Ve +.SH "UNSOLVED ISSUES, CAVEATS, TODOS" +.IX Header "UNSOLVED ISSUES, CAVEATS, TODOS" +.IP "Experimental software" 4 +.IX Item "Experimental software" +Options, defaults, how the program works might change in +future versions. +.IP "\fItexmf.cnf\fR" 4 +.IX Item "texmf.cnf" +Currently the method with \fBstrace\fR records this files. +TeX's recorder does not. Useful are \fItexmf.cnf\fR files for +variable settings. Because we have just one \s-1TEXMF\s0 tree, +the path sections should probably rewritten. +.IP "Settings in environment variables" 4 +.IX Item "Settings in environment variables" +They are not stored at all. +.IP "Collisions" 4 +.IX Item "Collisions" +The program uses one destination directory and at most +one \s-1TEXMF\s0 tree for the result. However, the source files +can come from different directories and \s-1TEXMF\s0 trees. +Therefore name collisions are possible. +.Sp +The program follows the strategy not to delete files +in the destination directory. That allows to collect files +from differnt runs. Thus collisions are resolved +in the manner that the first entry that is made in +the destination directory wins. +.IP "Configuration file" 4 +.IX Item "Configuration file" +It would save the user from retyping the same options again and again. +.IP "Uncomplete recording" 4 +.IX Item "Uncomplete recording" +Bugs in TeX's file recording might result in incomplete +file recording (e.g. pdfTeX 1.40.3 does not record .pfb and +\&.pk files). +.IP "..." 4 +.SH "FILES" +.IX Header "FILES" +.PD 0 +.IP "\fI<jobname>.mjt/\fR" 4 +.IX Item "<jobname>.mjt/" +.PD +Directory where the resulting texmf tree and symbol links +are stored. It can be changed by option \f(CW\*(C`\-\-destdir\*(C'\fR. +.IP "\fI<jobname>.fls\fR" 4 +.IX Item "<jobname>.fls" +Name of TeX's recorder file. +.IP "\fI<jobname>.strace\fR" 4 +.IX Item "<jobname>.strace" +Log file where the result of \fBstrace\fR is stored. +.SH "AUTHOR" +.IX Header "AUTHOR" +Heiko Oberdiek, email: heiko.oberdiek at googlemail.com +.SH "COPYRIGHT AND LICENSE" +.IX Header "COPYRIGHT AND LICENSE" +Copyright 2007, 2008, 2011 by Heiko Oberdiek. +.PP +This library is free software; you may redistribute it and/or +modify it under the same terms as Perl itself +(Perl Artistic License/GNU General Public License, version 2). +.SH "HISTORY" +.IX Header "HISTORY" +.IP "\fB2007/04/16 v0.1\fR" 2 +.IX Item "2007/04/16 v0.1" +.RS 2 +.PD 0 +.IP "* First experimental version." 2 +.IX Item "First experimental version." +.RE +.RS 2 +.RE +.IP "\fB2007/05/09 v0.2\fR" 2 +.IX Item "2007/05/09 v0.2" +.RS 2 +.IP "* Typo in option name fixed." 2 +.IX Item "Typo in option name fixed." +.RE +.RS 2 +.RE +.IP "\fB2007/09/03 v0.3\fR" 2 +.IX Item "2007/09/03 v0.3" +.RS 2 +.ie n .IP "* New options: ""\-\-copy""\fR, \f(CW""\-\-flat""\fR, \f(CW""\-\-destdir""" 2 +.el .IP "* New options: \f(CW\-\-copy\fR, \f(CW\-\-flat\fR, \f(CW\-\-destdir\fR" 2 +.IX Item "New options: --copy, --flat, --destdir" +.RE +.RS 2 +.RE +.IP "\fB2007/09/04 v0.4\fR" 2 +.IX Item "2007/09/04 v0.4" +.RS 2 +.IP "* Bug fix in map_files_texmf." 2 +.IX Item "Bug fix in map_files_texmf." +.RE +.RS 2 +.RE +.IP "\fB2007/09/06 v0.5\fR" 2 +.IX Item "2007/09/06 v0.5" +.RS 2 +.IP "* Support for `configure' added. (Thanks to Norbert Preining for writing a first version of the configure stuff.)" 2 +.IX Item "Support for `configure' added. (Thanks to Norbert Preining for writing a first version of the configure stuff.)" +.RE +.RS 2 +.RE +.IP "\fB2008/04/05 v0.6\fR" 2 +.IX Item "2008/04/05 v0.6" +.RS 2 +.IP "* Tiny fix in target `uninstall' in file `Makefile.in'. (Thanks to Karl Berry)" 2 +.IX Item "Tiny fix in target `uninstall' in file `Makefile.in'. (Thanks to Karl Berry)" +.RE +.RS 2 +.RE +.IP "\fB2008/06/28 v0.7\fR" 2 +.IX Item "2008/06/28 v0.7" +.RS 2 +.ie n .IP "* Fix for unknown option `""\-\-cmd\-strace""'. (Thanks to Juho Niemelä)" 2 +.el .IP "* Fix for unknown option `\f(CW\-\-cmd\-strace\fR'. (Thanks to Juho Niemelä)" 2 +.IX Item "Fix for unknown option `--cmd-strace'. (Thanks to Juho Niemelä)" +.RE +.RS 2 +.RE +.IP "\fB2011/11/10 v0.8\fR" 2 +.IX Item "2011/11/10 v0.8" +.RS 2 +.IP "* Remove colon from drive specification when making directories." 2 +.IX Item "Remove colon from drive specification when making directories." +.ie n .IP "* Option ""\-\-(no)texhash"" added." 2 +.el .IP "* Option \f(CW\-\-(no)texhash\fR added." 2 +.IX Item "Option --(no)texhash added." +.IP "* Some support for MiKTeX (thanks Ulrike Fischer)." 2 +.IX Item "Some support for MiKTeX (thanks Ulrike Fischer)." +.IP "* Various fixes in the generation of the documentation." 2 +.IX Item "Various fixes in the generation of the documentation." +.ie n .IP "* Options ""\-\-exclude\-ext""\fR and \f(CW""\-\-version"" added." 2 +.el .IP "* Options \f(CW\-\-exclude\-ext\fR and \f(CW\-\-version\fR added." 2 +.IX Item "Options --exclude-ext and --version added." +.RE +.RS 2 +.RE diff --git a/Master/texmf-dist/doc/man/man1/mkjobtexmf.man1.pdf b/Master/texmf-dist/doc/man/man1/mkjobtexmf.man1.pdf Binary files differnew file mode 100644 index 00000000000..bd42549a2cf --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mkjobtexmf.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/mkocp.1 b/Master/texmf-dist/doc/man/man1/mkocp.1 new file mode 100644 index 00000000000..74a90dc6581 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mkocp.1 @@ -0,0 +1,48 @@ +.TH "mkocp" "1" "September 2000" "Omega" "Omega" +.PP +.SH "NAME" +mkocp \- frontend to \fBotp2ocp\fP(1) +.SH "SYNOPSIS" +.B mkocp +.I OTPFILE +.SH "DESCRIPTION" +.PP +\fBmkocp\fP is used to create or recreate Omega Compiled Process files +(binary) from Omega Translation Process (text) files\&. +.PP +Omega Translation Processes are used to translate one character set to +another and to choose between characters with one or more +context-sensitive variants\&. OTPs could also be used to change the +case or hyphenation of text\&. +.PP +OTPs are defined in text files, and compiled into binary code (OCPs) +using \fBmkocp\fP (this script) or directly with \fBotp2ocp\fP(1)\&. +.PP +.SH "FILES" +.IP "\fIOTPFILE\fP" +An Omega Typesetting Process filter file\&. +.PP +.SH "SEE ALSO" +.PP +\fBomega\fP(1), \fBotp2ocp\fP(1)\&. +.PP +\fIDraft Manual for the Omega System\fP (\fIomega-manual\&.dvi\fP)\&. +.PP +Web page: <http://www\&.gutenberg\&.eu\&.org/omega/> +.PP +.SH "BUGS" +.PP +None known, but report any bugs found to <omega@ens\&.fr> (mailing list)\&. +.PP +.SH "AUTHOR" +.PP +\fBmkocp\fP is part of Omega\&. The primary authors of Omega are John Plaice +<plaice@cse\&.unsw\&.edu\&.au> and Yannis Haralambous +<yannis@fluxus-virus\&.com>\&. +.PP +This manual page was written by C\&.M\&. Connelly +<cmc@debian\&.org>, for +the Debian GNU/Linux system\&. It may be used by other distributions +without contacting the author\&. Any mistakes or omissions in the +manual page are my fault; inquiries about or corrections to this +manual page should be directed to me (and not to the primary author)\&. diff --git a/Master/texmf-dist/doc/man/man1/mkocp.man1.pdf b/Master/texmf-dist/doc/man/man1/mkocp.man1.pdf Binary files differnew file mode 100644 index 00000000000..37c4ff0f02d --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mkocp.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/mkofm.1 b/Master/texmf-dist/doc/man/man1/mkofm.1 new file mode 100644 index 00000000000..f676d0e22f0 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mkofm.1 @@ -0,0 +1,31 @@ +.TH "mkofm" "1" "September 2000" "teTeX" "teTeX" +.PP +.SH "NAME" +mkofm \- front end to \fBmktextfm\fP(1) +.SH "SYNOPSIS" +.B mkofm +.I ARGS +.SH "DESCRIPTION" +.PP +\fBmkofm\fP takes all \fIARGS\fP and passes them to +\fBmktextfm\fP(1)\&. For more information about appropriate +arguments, see \fBmktextfm\fP(1)\&. +.PP +.SH "SEE ALSO" +.PP +\fBmktextfm\fP(1) +.PP +.SH "BUGS" +.PP +None known\&. +.PP +.SH "AUTHOR" +.PP +Author unknown\&. +.PP +This manual page was written by C\&.M\&. Connelly +<cmc@debian\&.org>, for +the Debian GNU/Linux system\&. It may be used by other distributions +without contacting the author\&. Any mistakes or omissions in the +manual page are my fault; inquiries about or corrections to this +manual page should be directed to me (and not to the primary author)\&. diff --git a/Master/texmf-dist/doc/man/man1/mkofm.man1.pdf b/Master/texmf-dist/doc/man/man1/mkofm.man1.pdf new file mode 100644 index 00000000000..3bc6a079fea --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mkofm.man1.pdf @@ -0,0 +1,115 @@ +%PDF-1.4 +%Çì¢ +5 0 obj +<</Length 6 0 R/Filter /FlateDecode>> +stream +xœUÛnÛF}çWÌ[¨"Úì…ä.Ñ¢¨â¸‰GN,h÷’V2k‘”É%}Tÿ1³»¤nP¸àòìÌ™3gfÔ>ý{Qon%¬Û€Â:x˜û ýkQÂÛ +?4†løc$qAVaù0Êþ ˜ JEø7[L +’HÙSÖ«ò.dw#0:³8Î)I"uä¨ÿ‰SAhÂ<bÞþSÂ1çI¥À¸e4Ž„$q*`,‡ŸN,’Z“„*™ö>^Ú'åpN„à0Fîî0µD¾Ú‚Bã$±Ùá_X5ue@WK0õèï쟈’biÊ£¿™Uù,Y“„&IÛ×tT +SœPÇ'Åwªpö×ôæÓìj¶ÇñDJ"–¦öžxDÒ„+K¼gÊèÑI˜à}—ÂÉíûÙ™8æÂSˆ(w¸w—³‹Û«OÙÕÍô³8B`…ù< “öá’õM§H"ö¦h!ßl|ÖãBxB’X>«ã8‹í`4@rìÝ6o[Œgîuiûx^‰’DH¿¨H:õîuý$ð»3°$Ñà[J䡲n4ÕªnÊÜuù¼îäÛmSo›bì<Îë'õÌ•¹Ñ7#4uª®»RW¦}
ÖÏ=©aûørO’sS&Š°(=3åå%L®g7ÿm‡ÏθÍ|2ã*&”#ôÄ•o¿5¬”ð^À9W’˜tZWªzÄ16S"|ªˆ“ó'géEI09I/¹VöáæöG’”©c“ÎÜ£'ºj`!h¼g±ÏtbÌy,ûék˜Ý-”yÕåôóZÓ_Uœ…yOMaŒ®`¾ƒò‘ÀE]Uz³ÙÁ/‹rñÛRÏ‹¼"µ÷2׿¾4£ xçþÂûé—7×EÕ}ó4Ûë ÂÒ¹¸ÝµF—®ÌèU£Vé~é[L™ï`®¡kõÒR©1|Ë¢5M1÷³N‰LÔá˜rÇ:;XDºàT,pçæSTkÇ/wr9w2Éq½“:©ì7ËÐõÍ.6wå¡K +!ýgä’÷w
‰e4˜·ªcMÑ÷‘8ôiªÔb]m먕£vÜ'¼ÜÁʵ…+æÝÆüŒÈÇ®h +»ÎÜȣ苺iôÂ×ljtÚY§?õš£›¥•tYØ#ÚÞCPj¸s{ª —H™7»^,;̯Žì ºûë/c{ió´_vÒS1ÜÅ3½ÅFϵӃԗö2±Ô:Ž9 §·²…\fÁg|¾ +aendstream +endobj +6 0 obj +970 +endobj +4 0 obj +<</Type/Page/MediaBox [0 0 612 792] +/Rotate 0/Parent 3 0 R +/Resources<</ProcSet[/PDF /Text] +/ExtGState 11 0 R +/Font 12 0 R +>> +/Contents 5 0 R +>> +endobj +3 0 obj +<< /Type /Pages /Kids [ +4 0 R +] /Count 1 +>> +endobj +1 0 obj +<</Type /Catalog /Pages 3 0 R +/Metadata 14 0 R +>> +endobj +7 0 obj +<</Type/ExtGState +/OPM 1>>endobj +11 0 obj +<</R7 +7 0 R>> +endobj +12 0 obj +<</R10 +10 0 R/R9 +9 0 R/R8 +8 0 R>> +endobj +10 0 obj +<</BaseFont/Times-Italic/Type/Font +/Subtype/Type1>> +endobj +9 0 obj +<</BaseFont/Times-Bold/Type/Font +/Subtype/Type1>> +endobj +8 0 obj +<</BaseFont/Times-Roman/Type/Font +/Encoding 13 0 R/Subtype/Type1>> +endobj +13 0 obj +<</Type/Encoding/Differences[ +173/minus]>> +endobj +14 0 obj +<</Type/Metadata +/Subtype/XML/Length 1344>>stream +<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?> +<?adobe-xap-filters esc="CRLF"?> +<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'> +<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'> +<rdf:Description rdf:about='uuid:c7b7e978-e107-11ec-0000-c3bd0edf572f' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.05'/> +<rdf:Description rdf:about='uuid:c7b7e978-e107-11ec-0000-c3bd0edf572f' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2012-05-28T19:33:26+02:00</xmp:ModifyDate> +<xmp:CreateDate>2012-05-28T19:33:26+02:00</xmp:CreateDate> +<xmp:CreatorTool>groff version 1.21</xmp:CreatorTool></rdf:Description> +<rdf:Description rdf:about='uuid:c7b7e978-e107-11ec-0000-c3bd0edf572f' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:c7b7e978-e107-11ec-0000-c3bd0edf572f'/> +<rdf:Description rdf:about='uuid:c7b7e978-e107-11ec-0000-c3bd0edf572f' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description> +</rdf:RDF> +</x:xmpmeta> + + +<?xpacket end='w'?> +endstream +endobj +2 0 obj +<</Producer(GPL Ghostscript 9.05) +/CreationDate(D:20120528193326+02'00') +/ModDate(D:20120528193326+02'00') +/Creator(groff version 1.21)>>endobj +xref +0 15 +0000000000 65535 f +0000001293 00000 n +0000003174 00000 n +0000001234 00000 n +0000001074 00000 n +0000000015 00000 n +0000001055 00000 n +0000001358 00000 n +0000001612 00000 n +0000001547 00000 n +0000001479 00000 n +0000001399 00000 n +0000001429 00000 n +0000001694 00000 n +0000001753 00000 n +trailer +<< /Size 15 /Root 1 0 R /Info 2 0 R +/ID [<B10BB8F7A5BA2D58C0EDF647E8329C81><B10BB8F7A5BA2D58C0EDF647E8329C81>] +>> +startxref +3326 +%%EOF diff --git a/Master/texmf-dist/doc/man/man1/mktexfmt.1 b/Master/texmf-dist/doc/man/man1/mktexfmt.1 new file mode 100644 index 00000000000..71c6a947903 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mktexfmt.1 @@ -0,0 +1 @@ +.so man1/fmtutil.1 diff --git a/Master/texmf-dist/doc/man/man1/mktexfmt.man1.pdf b/Master/texmf-dist/doc/man/man1/mktexfmt.man1.pdf Binary files differnew file mode 100644 index 00000000000..ea8b3517eb5 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mktexfmt.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/mktexlsr.1 b/Master/texmf-dist/doc/man/man1/mktexlsr.1 new file mode 100644 index 00000000000..d248d6a00a7 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mktexlsr.1 @@ -0,0 +1,44 @@ +.TH MKTEXLSR 1 "1 March 2011" "Kpathsea 6.1.0" +.\"===================================================================== +.if n .ds MP MetaPost +.if t .ds MP MetaPost +.if n .ds MF Metafont +.if t .ds MF M\s-2ETAFONT\s0 +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.el .ds OX TeX for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.\"===================================================================== +.SH NAME +mktexlsr \- create ls-R databases +.SH SYNOPSIS +.B mktexlsr +.RI [ directories ] +.\"===================================================================== +.SH DESCRIPTION +This manual page is not meant to be exhaustive. The complete +documentation for this version of \*(TX can be found in the info file +or manual +.IR "Kpathsea: A library for path searching" . +.PP +.B mktexlsr +is used to generate the ls-R databases used by the kpathsea library. +It will create them for the specified directories, or for a default +list if no directories are specified. +.\"===================================================================== +.SH OPTIONS +.B mktexlsr +accepts the following options: +.TP +.B --help +Print help message and exit. +.TP +.B --version +Print version information and exit. diff --git a/Master/texmf-dist/doc/man/man1/mktexlsr.man1.pdf b/Master/texmf-dist/doc/man/man1/mktexlsr.man1.pdf Binary files differnew file mode 100644 index 00000000000..8137fc3f22d --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mktexlsr.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/mktexmf.1 b/Master/texmf-dist/doc/man/man1/mktexmf.1 new file mode 100644 index 00000000000..0d12dd8ec9f --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mktexmf.1 @@ -0,0 +1,57 @@ +.TH MKTEXMF 1 "1 March 2011" "Kpathsea 6.1.0" +.\"===================================================================== +.if n .ds MP MetaPost +.if t .ds MP MetaPost +.if n .ds MF Metafont +.if t .ds MF M\s-2ETAFONT\s0 +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.el .ds OX TeX for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.\"===================================================================== +.SH NAME +mktexmf \- create a Metafont source file +.SH SYNOPSIS +.B mktexmf +.I font +.\"===================================================================== +.SH DESCRIPTION +This manual page is not meant to be exhaustive. The complete +documentation for this version of \*(TX can be found in the info file +or manual +.IR "Kpathsea: A library for path searching" . +.PP +.B mktexmf +is used to generate the \*(MF source file for +.IR font , +if possible. For example, +.I ecrm1200 +or +.IR cmr11 . +.PP +The name of the generated file is printed on standard output. +.PP +.B mktexmf +is typically called by other programs, rather than from the command +line. +.\"===================================================================== +.SH OPTIONS +.B mktexmf +accepts the following options: +.TP +.B --help +Print help message and exit. +.TP +.B --version +Print version information and exit. +.\"===================================================================== +.SH "SEE ALSO" +.BR mktexpk (1), +.BR mktextfm (1). diff --git a/Master/texmf-dist/doc/man/man1/mktexmf.man1.pdf b/Master/texmf-dist/doc/man/man1/mktexmf.man1.pdf Binary files differnew file mode 100644 index 00000000000..1331b33941d --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mktexmf.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/mktexpk.1 b/Master/texmf-dist/doc/man/man1/mktexpk.1 new file mode 100644 index 00000000000..c8147841227 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mktexpk.1 @@ -0,0 +1,115 @@ +.TH MKTEXPK 1 "1 March 2011" "Kpathsea 6.1.0" +.\"===================================================================== +.if n .ds MP MetaPost +.if t .ds MP MetaPost +.if n .ds MF Metafont +.if t .ds MF M\s-2ETAFONT\s0 +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.el .ds OX TeX for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.\"===================================================================== +.SH NAME +mktexpk \- create a PK file for a font +.SH SYNOPSIS +.B mktexpk +.RI [ options ] +.I font +.RI [ redirect ] +.\"===================================================================== +.SH DESCRIPTION +This manual page is not meant to be exhaustive. The complete +documentation for this version of \*(TX can be found in the info file +or manual +.IR "Kpathsea: A library for path searching" . +.PP +.B mktexpk +is used to generate a +.I pk +file from the \*(MF source files or type1 sources for +.IR font , +if possible. +.PP +If +.I redirect +is given, it must be string of the form +.BI >& n +where +.I n +is the number of the file descriptor which is to receive, instead of +standard output, the name of the generated file. +.PP +.B mktexpk +is typically called by other programs, rather than from the command +line. +.\"===================================================================== +.SH OPTIONS +.B mktexpk +accepts the following options: +.TP +.BI --bdpi \ num +Set the base device resolution. +.TP +.BI --dpi \ num +Generate the font at resolution +.IR num . +.TP +.B --help +Print help message and exit. +.TP +.BI --mag \ mag +The \*(MF magnification that corresponds to the combination of +.I bdpi +and +.I dpi +that has been specified. +.TP +.BI --mfmode \ mode +The \*(MF mode to use. +.TP +.BI --destdir \ dir +A directory name. If the directory is absolute, it is used as-is. +Otherwise, it is appended to the root destination directory set in the +script. +.TP +.B --version +Print version information and exit. +.\"===================================================================== +.SH BUGS +If the +.I mode +is not specified, +.B mktexpk +tries to determine it from +.IR bdpi . +The manner in which this is done is primitive. Since +.I bpdi +doesn't provide sufficient information to uniquely determine a +.I mode +it is strongly recommended that it be specified explicitly. +.PP +If the +.I mode +and +.I bpdi +don't match, the +.I mode +is discarded. +.PP +The +.I dpi +parameter is redundant, but is not checked for consistency. Worse, +the program will fail if the wrong +.I dpi +is specified. +.\"===================================================================== +.SH "SEE ALSO" +.BR mktexmf (1), +.BR mktextfm (1). diff --git a/Master/texmf-dist/doc/man/man1/mktexpk.man1.pdf b/Master/texmf-dist/doc/man/man1/mktexpk.man1.pdf Binary files differnew file mode 100644 index 00000000000..8f59b330ecb --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mktexpk.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/mktextfm.1 b/Master/texmf-dist/doc/man/man1/mktextfm.1 new file mode 100644 index 00000000000..14958a26c67 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mktextfm.1 @@ -0,0 +1,65 @@ +.TH MKTEXTFM 1 "1 March 2011" "Kpathsea 6.1.0" +.\"===================================================================== +.if n .ds MP MetaPost +.if t .ds MP MetaPost +.if n .ds MF Metafont +.if t .ds MF M\s-2ETAFONT\s0 +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.el .ds OX TeX for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.\"===================================================================== +.SH NAME +mktextfm \- create a TFM file for a font +.SH SYNOPSIS +.B mktextfm +.RI [ options ] +.I font +.\"===================================================================== +.SH DESCRIPTION +This manual page is not meant to be exhaustive. The complete +documentation for this version of \*(TX can be found in the info file +or manual +.IR "Kpathsea: A library for path searching" . +.PP +.B mktextfm +is used to generate a +.I tfm +file from the \*(MF source files for +.IR font , +if possible. If +.I destdir +is given, the generated file will be installed there, otherwise a +(rather complicated) heuristic is used. +.PP +The name of the generated file is printed on standard output. +.PP +.B mktextfm +is typically called by other programs, rather than from the command +line. +.\"===================================================================== +.SH OPTIONS +.B mktextfm +accepts the following options: +.TP +.BI --destdir \ dir +A directory name. If the directory is absolute, it is used as-is. +Otherwise, it is appended to the root destination directory set in the +script. +.TP +.B --help +Print help message and exit. +.TP +.B --version +Print version information and exit. +.\"===================================================================== +.SH "SEE ALSO" +.BR mktexmf (1), +.BR mktexpk (1). diff --git a/Master/texmf-dist/doc/man/man1/mktextfm.man1.pdf b/Master/texmf-dist/doc/man/man1/mktextfm.man1.pdf Binary files differnew file mode 100644 index 00000000000..cb009def8ee --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mktextfm.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/mmafm.1 b/Master/texmf-dist/doc/man/man1/mmafm.1 new file mode 100644 index 00000000000..82942ad329e --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mmafm.1 @@ -0,0 +1,178 @@ +.\" -*-nroff-*- +.ds V 2.92 +.de M +.BR "\\$1" "(\\$2)\\$3" +.. +.ds E " \-\- +.if t .ds E \(em +.de Op +.BR "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" +.. +.de Oy +.BI "\\$1\fR=" "\\$2\fR, " "\\$3\& " "\\$4" "\\$5" "\\$6" +.. +.de Ol +.BI "\\$1\fR=" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" +.. +.de Sp +.if n .sp +.if t .sp 0.4 +.. +.de Es +.Sp +.RS 5 +.nf +.. +.de Ee +.fi +.RE +.PP +.. +.TH MMAFM 1 "LCDF Typetools" "Version \*V" +.SH NAME +mmafm \- creates AFM font metrics for multiple master fonts +' +.SH SYNOPSIS +.B mmafm +\%[OPTIONS...] +.I font +' +.SH DESCRIPTION +.B Mmafm +creates AFM font metrics for PostScript multiple master fonts by +interpolation. You pass it an AMFM file (multiple master font metrics) and +options specifying the design point you want, and it writes the resulting +AFM file to the standard output. +.PP +Each +.I font +argument is either the filename of an AFM or AMFM font metrics file, or a +PostScript font name. If you give a font name, +.B mmafm +will look up the actual font metrics file using the PSRESOURCEPATH +environment variable. This colon-separated path is searched for `PSres.upr' +files, an Adobe method for indexing PostScript resources. +.PP +You can also give the name of a multiple master font instance, like +`MinionMM_367_400_12_'. +.B Mmafm +will parse the font name and create that instance for you. `PSres.upr' +files must be set up for this to work. +.PP +Any multiple master font should be distributed with a single AMFM file and +several AFM files (one for each master). For Myriad, for example, the AMFM +file is MyriadMM.amfm and the AFM files are MyriadMM-LightCn.afm, +MyriadMM-LightSemiEx.afm, MyriadMM-BlackCn.afm, and +MyriadMM-BlackSemiEx.afm. +.B Mmafm +needs to find all these files to function. For fonts in the Adobe type +library, you can download the necessary files from +<http://www.lcdf.org/type>; look for the mm-metrics package. +.PP +You must always supply the AMFM file (or its font name) on the command +line, but +.B mmafm +will look for any required AFM files you don't supply yourself. It tries +the PSRESOURCEPATH environment variable, and also looks for files named +`\fIFontName\fR.afm' or `\fIFontName\fR.AFM' in the directory that +contained the AMFM file. (The Myriad filenames given above fit this +pattern.) +.PP +.B Mmafm +supports fonts with intermediate masters, like Adobe Jenson and Kepler. If +your PSRESOURCEPATH environment variable is set up, it will handle these +fonts automatically. Otherwise, you must first run +.RB ` "mmpfb \-\-amcp\-info" ' +on the font outline files to create auxiliary AMCP files for these fonts. +Each AMCP file should be in the same directory as its corresponding AMFM +file and should have the same root filename, but with a `.amcp' extension +instead of `.amfm'. See +.M mmpfb 1 +for more information. +' +' +.SH EXAMPLE +' +.nf +% mmafm \-\-weight=400 \-\-width=600 MyriadMM.amfm > MyriadMM_400_600_.afm +.fi +' +.SH OPTIONS +Long options may be abbreviated to their unique prefixes. +' +.TP 5 +.Oy \-\-output file \-o file +Send output to +.I file +instead of standard output. +' +.TP +.Oy \-\-weight N \-w N +Set the weight axis to +.IR N . +' +.TP +.Oy \-\-width N \-W N +Set the width axis to +.IR N . +' +.TP +.Oy \-\-optical\-size N \-O N +Set the optical size axis to +.IR N . +' +.TP +.Ol \-\-style N +Set the style axis to +.IR N . +.TP +\fB\-\-1\fR=\fIN\fR (\fB\-\-2\fR=\fIN\fR, \fB\-\-3\fR=\fIN\fR, \fB\-\-4\fR=\fIN\fR) +Set the first (second, third, fourth) axis to +.IR N . +' +.TP +.Oy \-\-precision N \-p N +Round output numbers so they have at most +.I N +digits after the decimal point. Smaller numbers are less precise; `\fB\-p +\fR0' rounds all numbers to integers. The default precision is 3. +' +.TP +.Oy \-\-min\-kern N \-k N +Only output kerning pairs whose absolute value is +.IR N +or larger. Smaller minimum kerns make kerning more precise and the output +AFM file bigger. The default minimum kern is 2.0. +' +.SH TROUBLESHOOTING +.PP +Some programs, such as TeX's +.BR fontinst , +can choke on AFM files that include fractional numbers. Therefore, if you +have trouble with an AFM file, try rerunning +.B mmafm +with the +.Op \-\-precision=0 +option. +' +.SH SEE ALSO +.M mmpfb 1 +' +.SH DIAGNOSTICS +.TP 5 +\fIFont\fR requires intermediate master conversion programs +You haven't yet created an AMCP file for \fIFont\fR. +' +.SH AUTHOR +.na +Eddie Kohler, ekohler@gmail.com +.PP +The latest version is available from: +.br +http://www.lcdf.org/type/ +.br +AMFM and AFM files for Adobe Type Library fonts are also available at that +URL. +.PP +Thanks to Melissa O'Neill for suggestions and patient +debugging. diff --git a/Master/texmf-dist/doc/man/man1/mmafm.man1.pdf b/Master/texmf-dist/doc/man/man1/mmafm.man1.pdf Binary files differnew file mode 100644 index 00000000000..7278392f823 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mmafm.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/mmpfb.1 b/Master/texmf-dist/doc/man/man1/mmpfb.1 new file mode 100644 index 00000000000..850be8e85f8 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mmpfb.1 @@ -0,0 +1,206 @@ +.\" -*-nroff-*- +.ds V 2.92 +.de M +.BR "\\$1" "(\\$2)\\$3" +.. +.ds E " \-\- +.if t .ds E \(em +.de Op +.BR "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" +.. +.de Oy +.BI "\\$1\fR=" "\\$2\fR, " "\\$3\& " "\\$4" "\\$5" "\\$6" +.. +.de Ol +.BI "\\$1\fR=" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" +.. +.de Sp +.if n .sp +.if t .sp 0.4 +.. +.TH MMPFB 1 "LCDF Typetools" "Version \*V" +.SH NAME +mmpfb \- creates single-master fonts from multiple master fonts +' +.SH SYNOPSIS +.B mmpfb +\%[OPTIONS...] +.I font +' +.SH DESCRIPTION +.B Mmpfb +creates a normal, single-master PostScript font from a multiple master font +by interpolation. You pass it a PFB or PFA font and options specifying the +design point you want; it writes the resulting PFB or PFA font to the +standard output. +.PP +The fonts +.B mmpfb +creates are interpolated at a low level to remove multiple master +instructions from individual characters. Therefore, they can be used by +programs that don't normally understand multiple master fonts, like +.BR ps2pk (1). +.PP +.B Mmpfb +supports fonts with intermediate masters, like Adobe Jenson and Kepler. It +can also create AMCP (Adobe Multiple Master Conversion Program) files for +use by +.M mmafm 1 ; +see +.B \-\-amcp\-info +below. +.PP +The +.I font +argument is either the name of a PFA or PFB font file, or a PostScript font +name. If you give a font name, +.B mmpfb +will find the actual outline file using the PSRESOURCEPATH environment +variable. This colon-separated path is searched for `PSres.upr' files, an +Adobe method for indexing PostScript resources. +.PP +You can also give the name of a multiple +master font instance, like `MinionMM_367_400_12_'. +.B Mmpfb +will parse the font name and create that instance for you. `PSres.upr' +files must be set up for this to work. +' +' +.SH EXAMPLE +' +.nf +% mmpfb \-\-weight=400 \-\-width=600 MyriadMM.pfb > MyriadMM_400_600_.pfb +.fi +' +.SH OPTIONS +Long options may be abbreviated to their unique prefixes. +' +.TP 5 +.Oy \-\-output file \-o file +' +Send output to +.I file +instead of standard output. +' +.TP +.BR \-\-pfb ", " \-b +' +Output a PFB font. This is the default. +' +.TP +.BR \-\-pfa ", " \-a +' +Output a PFA font. +' +.TP +.Op \-\-amcp\-info +' +Do not create a font; instead, output an AMCP file for use by +.M mmafm 1 . +A message is printed if the font doesn't have intermediate masters, in +which case no AMCP file is necessary. +' +.TP +.Oy \-\-weight N \-w N +' +Set the weight axis to +.IR N . +' +.TP +.Oy \-\-width N \-W N +' +Set the width axis to +.IR N . +' +.TP +.Oy \-\-optical\-size N \-O N +' +Set the optical size axis to +.IR N . +' +.TP +.Ol \-\-style N +' +Set the style axis to +.IR N . +.TP +\fB\-\-1\fR=\fIN\fR (\fB\-\-2\fR=\fIN\fR, \fB\-\-3\fR=\fIN\fR, \fB\-\-4\fR=\fIN\fR) +' +Set the first (second, third, fourth) axis to +.IR N . +' +.TP +.Oy \-\-precision N \-p N +' +Set the output precision to +.IR N . +Higher values mean the control points in the output font will be more +exactly aligned; lower values (1 or 2) create smaller output font +files, and are close enough for most purposes. A precision of +.IR N +means that each point will be within +.RI 1/ N +font units of the exact interpolated value. (A font unit is generally +1/7200 inch for a 10-point font.) The default is 5. +' +.TP +.Ol \-\-subrs N +' +Limit the output font to at most +.IR N +subroutines. 256 is a good value for +.IR N . +' +.TP +.BR \-\-no\-minimize +' +Do not minimize the output font definition. By default, +.B mmpfb +removes extra PostScript code and dictionary definitions from the font. +Supply the +.B \-\-no\-minimize +option to avoid this behavior. +' +.SH TROUBLESHOOTING +.LP +The "IBM" Type 1 font interpreter shipped as part of the X font server and +.B ps2pk +(among others) is inappropriately strict about PostScript code embedded in +a font. The +.B \-\-minimize +option (now the default) fixes this problem. +.LP +Some versions of Adobe Acrobat Distiller may report "Warning: unable to +embed font X. Invalid character outline data" when distilling an instance +generated by +.BR mmpfb . +This is due to a limitation in the number of font subroutines Distiller can +accept. (Multiple master fonts, and the single-master fonts generated by +.BR mmpfb , +tend to have a lot of subroutines.) Try limiting the number of subroutines +in the generated font with the +.Op \-\-subrs +option. +' +.SH SEE ALSO +.M mmafm 1 +' +.SH DIAGNOSTICS +.TP 5 +reducing \fIfont\fR to minimum number of subroutines (\fIN\fR) +You tried to reduce the number of subroutines to less than \fIN\fR using +the +.Op \-\-subrs +option, but the font needs at least \fIN\fR to function. The output font +will have \fIN\fR subroutines. +' +.SH AUTHOR +.na +Eddie Kohler, ekohler@gmail.com +.PP +The latest version is available from: +.br +http://www.lcdf.org/type/ +.PP +Thanks to Melissa O'Neill for suggestions and patient +debugging. diff --git a/Master/texmf-dist/doc/man/man1/mmpfb.man1.pdf b/Master/texmf-dist/doc/man/man1/mmpfb.man1.pdf Binary files differnew file mode 100644 index 00000000000..47f6b40c391 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mmpfb.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/mpost.1 b/Master/texmf-dist/doc/man/man1/mpost.1 new file mode 100644 index 00000000000..d16a8f264e5 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mpost.1 @@ -0,0 +1,167 @@ +.TH MPOST 1 "5 April 2011" "MetaPost 1.504" +.\"===================================================================== +.de URL +\\$2 \(laURL: \\$1 \(ra\\$3 +.. +.if \n[.g] .mso www.tmac +.if n .ds MP MetaPost +.if t .ds MP MetaPost +.if n .ds MF Metafont +.if t .ds MF M\s-2ETAFONT\s0 +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.el .ds OX TeX for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.if n .ds WB Web +.if t .ds WB W\s-2EB\s0 +.\"===================================================================== +.SH NAME +mpost \- MetaPost, a system for creating graphics +.SH SYNOPSIS +.B mpost +.RI [ options ] +.RI [ commands ] +.PP +.B mpost +.B --dvitomp +.IR dvifile [\fB.dvi\fP] +.RI [ mpxfile [\fB.mpx\fP]] + +.\"===================================================================== +.SH DESCRIPTION +\*(MP interprets the \*(MP language and produces PostScript (EPS) +or Scalable Vector Graphics (SVG) pictures. The \*(MP language is similar +to Knuth's \*(MF with additional features for including +.BR tex (1) +or +.BR troff (1) +commands and accessing features of PostScript not found in \*(MF. +.PP +\*(MP is normally used with some preloaded macros, and it +will use its executable name as the name of the preload +file to use. For example, when called as +.B mpost +the +.I mpost.mp +file is used, which is identical to +.I plain.mp. +When the +.B --ini +option is given, preloading does not happen. +.PP +The +.I commands +given on the command line to the \*(MP program are passed to it as the +first input line. (But it is often easier to type extended arguments +as the first input line, since UNIX shells tend to gobble up or +misinterpret \*(MP's favorite symbols, like semicolons, unless you +quote them.) The normal usage is to say +.I mpost figs +to process the file +.IR figs.mp . +The basename of +.I figs +becomes the ``jobname'', +and is used in forming output file names. If no file is named, the +jobname becomes +.IR mpout . +The default extension, +.IR .mp , +can be overridden by specifying an extension explicitly. +.PP +When the +.B --dvitomp +option is given, \*(MP acts as DVI-to-MPX converter only. +See dvitomp (1) for details. +.PP +This manual page is not meant to be exhaustive. The complete +documentation for this version of \*(MP can be found in the +User Manual that should have been installed along with the program and +is also available from http://tug.org/metapost. +See the FILES section below. +.PP +The \*(MP language is similar to \*(MF, but the manual +assumes no knowledge of \*(MF. \*(MP does not have bitmap +output commands or \*(MF's online display mechanism. + +.\"===================================================================== +.SH FILES +.TP +.I plain.mp +The standard preload file. +.TP +.I mfplain.mp +The \*(MF-compatible preload file. +.TP +.I $TEXMFMAIN/metapost/base/*.mp +The standard \*(MP macros included in the original distribution. +.TP +.I $TEXMFMAIN/metapost/support/* +Various tables for handling included +.I tex +and +.IR troff . +.TP +.I $TEXMFMAIN/metapost/support/trfonts.map +Table of corresponding font names for +.I troff +and PostScript. +.TP +.I psfonts.map +Table of corresponding font names for +.I tex +and PostScript. +.TP +.I $TEXMFMAIN/doc/metapost/* +The \*(MP manual and tutorial source, also including sample figures +.\"===================================================================== +.SH "SUGGESTED READING" +Donald E. Knuth, +.I "The \*(MF\^book" +(Volume C of +.IR "Computers and Typesetting" ), +Addison-Wesley, 1986, ISBN 0-201-13445-4. +.br +.I TUGboat +(the journal of the \*(TX Users Group). +.\"===================================================================== +.SH "SEE ALSO" +.PP +.BR dvitomp (1), +.BR epstopdf (1), +.BR mf (1), +.BR mptopdf (1), +.BR tex (1), +.PP +.URL "http://foundry.supelec.fr/gf/project/metapost/" "MetaPost source code" . +.br +.URL "http://tug.org/metapost/" "MetaPost home page" . +.\"===================================================================== +.SH AUTHORS +\*(MP was designed by John D. Hobby, incorporating algorithms from +\*(MF by Donald E. Knuth. It was originally implemented on Unix, +incorporating system-dependent routines from +.BR web2c , +while not relying on it except for the actual \*(WB-to-C translator. +.PP +Ulrik Vieth adapted \*(MP to take advantage of the advanced path +searching features in more recent versions of +.B web2c +and worked towards fully integrating \*(MP into the canonical Unix +\*(TX distribution. +.PP +The current, CWEB based version of MetaPost is maintained by +Taco Hoekwater. +.PP +The manual and tutorial are maintained by Stephan Hennig and +Troy Henderson. +.\"===================================================================== +.SH BUGS +Email bug reports to metapost@tug.org. diff --git a/Master/texmf-dist/doc/man/man1/mpost.man1.pdf b/Master/texmf-dist/doc/man/man1/mpost.man1.pdf Binary files differnew file mode 100644 index 00000000000..8002ad29b86 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mpost.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/mptopdf.1 b/Master/texmf-dist/doc/man/man1/mptopdf.1 new file mode 100644 index 00000000000..3c547f06aa8 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mptopdf.1 @@ -0,0 +1,104 @@ +.TH "MPTOPDF" "1" "January 2007" "mptopdf 1.3.2" "ConTeXt" +.de URL +\\$2 \(laURL: \\$1 \(ra\\$3 +.. +.if \n[.g] .mso www.tmac +.de EX +.in +3 +.nf +.ft CW +.. +.de EE +.in -3 +.ft R +.fi +.. + +.SH "NAME" +mptopdf \- convert MetaPost to PDF + +.SH "SYNOPSIS" +\fBmptopdf\fP \fIFILE\fP [ ... ] + +.SH "DESCRIPTION" + +\fBmptopdf\fP can convert MetaPost-generated EPS files to PDF, or it +can process a MetaPost source file directly (see +.BR mpost (1)) +and convert the generated EPS files to PDF. + +.SH "OPTIONS" +All switches are specified in full here but can be abbreviated to the +shortest unique prefix. Thus, \fB--metaf\fP works the same as +\fB--metafun\fP. +.IP \fB--help\fP +Print a terse help message. +.IP "\fB--metafun\fP" +Use the metafun pre-compiled format to process the MetaPost source +file. You usually don't need this option, since metafun input is +usually produced and processed as part of a +.BR texexec (1) +run. Needs the \fB--rawmp\fP switch to take effect. +.IP \fB--rawmp\fP +Process the source file with +.BR mpost (1) +directly, rather than with +.BR texexec (1). +This option is needed if you want to specify \fB--metafun\fP. +.IP \fB--latex\fP +Typeseting labels using +.BR latex (1) +rather than plain +.BR tex (1). + +.SH "USAGE" + +To convert \fImanfig.20\fP to \fImanfig-20.pdf\fI: +.EX +mptopdf manfig.20 +.EE + +You can convert more than one EPS file at once: +.EX +mptopdf manfig.20 otherfig.17 finalfig.8 +.EE + +Or you can give +.BR mptopdf (1) +a pattern that it will expand: +.EX +mptopdf 'manfig.*' +.EE +Note the single quotes to protect the * from the shell. Of course, +usually you can let the shell do the wildcard expansion and therefore +leave off the quotes. + +To convert +.I figs.mp +to \fIfigs-1.pdf\fP, \fIfigs-2.pdf\fP, ... +.EX +mptopdf figs.mp +.EE + +If the labels are typeset with +.BR latex (1): +.EX +mptopdf --latex figs.mp +.EE + +.SH "SEE ALSO" +.PP +.BR tex (1), +.BR latex (1), +.BR mpost (1), +.BR pdftex (1), +.BR texexec (1). +.PP +.URL "http://www.contextgarden.net" "ConTeXt wiki" . + +.SH "AUTHOR" +.BR mptopdf (1) +is part of the ConTeXt system by Hans Hagen et al, which is available from +.URL "http://www.pragma-ade.com/" "PRAGMA ADE" . +This manpage was written by Sanjoy Mahajan <sanjoy@mit.edu> and is in +the public domain. diff --git a/Master/texmf-dist/doc/man/man1/mptopdf.man1.pdf b/Master/texmf-dist/doc/man/man1/mptopdf.man1.pdf Binary files differnew file mode 100644 index 00000000000..81e95d69381 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/mptopdf.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/musixflx.1 b/Master/texmf-dist/doc/man/man1/musixflx.1 new file mode 100644 index 00000000000..a3c214535e2 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/musixflx.1 @@ -0,0 +1,43 @@ +.\" This manpage is licensed under the GNU Public License +.TH MUSIXFLX 1 2011-04-21 "musixflx-0.83.3lua7" "" + +.SH NAME +musixflx \- process mx1 files (the second pass of 3-pass MusiXTeX typesetting) + +.SH SYNOPSIS +[ texlua ] +.B musixflx[.lua] +.I jobname +[ .mx1 | .tex ] +[ +.I debugmode +] + +where +.I debugmode +can be +.br + d output debugging information to the screen +.br + m output line numbers to the screen +.br + f output debugging information to jobname.mxl (not mx1) +.br + s output computed lines to the screen + +To allow for ease of use with a batch file, \fB musixflx.lua\fR +can be fed with either \fI jobname.mx1\fP, \fI jobname.tex\fP, +or just \fI jobname\fP, any of which open \fI jobname.mx1\fP +and create \fI jobname.mx2\fP. + +.SH SEE ALSO +.BR musixtex (1) +.br +musixdoc.pdf + +.SH AUTHOR +This manual page was written by Andreas Tille +<tille@debian.org> for the Debian GNU/Linux system (but may be used +by others). Corrections to the synopsis were pointed out by Peter +Breitenlohner <peb@mppmu.mpg.de> and implemented by Bob Tennent +<rdt@cs.queensu.ca>. diff --git a/Master/texmf-dist/doc/man/man1/musixflx.man1.pdf b/Master/texmf-dist/doc/man/man1/musixflx.man1.pdf Binary files differnew file mode 100644 index 00000000000..4f6c87f4a28 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/musixflx.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/musixtex.1 b/Master/texmf-dist/doc/man/man1/musixtex.1 new file mode 100644 index 00000000000..669f8bd2ff5 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/musixtex.1 @@ -0,0 +1,94 @@ +.\" This manpage is licensed under the GNU Public License +.TH MUSIXTEX 1 2012-09-14 "musixtex version 0.6" "" + +.SH NAME +musixtex \- processes MusiXTeX files, deleting intermediate files + +.SH SYNOPSIS +[ texlua ] +.B musixtex[.lua] +{ +.IR option +| +.IR jobname +[ .tex ] +} ... +.TP +The default effect is to process each file using +.TP 12 +.BR etex (1) +(first pass) +.TP +.BR musixflx (1) +(second pass) +.TP +.BR etex (1) +(third pass) +.TP +.BR dvips (1) +(dvi to Postscript) +.TP +.BR ps2pdf (1) +(Postscript to Portable Document Format) +.TP +followed by removal of intermediate files. + +.SH OPTIONS +.TP 8 +.B -v +output program name and version number, and quit +.TP +.B -h +output usage summary and quit +.TP +.B -l +changes the TeX processor to +.BR latex (1) +or +.BR pdflatex (1) +.TP +.B -p +changes the TeX processor to +.BR pdfetex (1) +or +.BR pdflatex (1) +(and doesn't run +.BR dvips (1) +and +.BR ps2pdf (1) +or +.BR dvipdfm (1) +) +.TP +.B -d +changes the dvi processor to +.BR dvipdfm (1) +.TP +.B -s +stops processing at the dvi file +.TP +.B -i +retain intermediate files +.TP +.B -1 +one-pass [pdf][la]tex processing +.TP +.B -f +default processing +.TP 0 +Options affect processing of all succeeding MusiXTeX files unless changed by another option. + +.SH SEE ALSO +.BR etex (1), +.BR latex (1), +.BR pdfetex (1), +.BR pdflatex (1), +.BR musixflx (1), +.BR dvipdfm (1), +.BR dvips (1), +.BR ps2pdf (1). +.br +musixdoc.pdf + +.SH AUTHOR +This manual page was written by Bob Tennent <rdt@cs.queensu.ca>. diff --git a/Master/texmf-dist/doc/man/man1/musixtex.man1.pdf b/Master/texmf-dist/doc/man/man1/musixtex.man1.pdf Binary files differnew file mode 100644 index 00000000000..a1a8bf2d114 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/musixtex.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/odvicopy.1 b/Master/texmf-dist/doc/man/man1/odvicopy.1 new file mode 100644 index 00000000000..95c66c4fde0 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/odvicopy.1 @@ -0,0 +1 @@ +.so man1/dvicopy.1 diff --git a/Master/texmf-dist/doc/man/man1/odvicopy.man1.pdf b/Master/texmf-dist/doc/man/man1/odvicopy.man1.pdf Binary files differnew file mode 100644 index 00000000000..be762d4d1cd --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/odvicopy.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/odvips.man1.pdf b/Master/texmf-dist/doc/man/man1/odvips.man1.pdf Binary files differnew file mode 100644 index 00000000000..95728fffbf0 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/odvips.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/odvitype.1 b/Master/texmf-dist/doc/man/man1/odvitype.1 new file mode 100644 index 00000000000..0841cb2a4c3 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/odvitype.1 @@ -0,0 +1 @@ +.so man1/dvitype.1 diff --git a/Master/texmf-dist/doc/man/man1/odvitype.man1.pdf b/Master/texmf-dist/doc/man/man1/odvitype.man1.pdf Binary files differnew file mode 100644 index 00000000000..9b2ad0149d6 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/odvitype.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/ofm2opl.1 b/Master/texmf-dist/doc/man/man1/ofm2opl.1 new file mode 100644 index 00000000000..5eb363d8ecc --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ofm2opl.1 @@ -0,0 +1,92 @@ +.TH "ofm2opl" "1" "September 2000" "Omega" "Omega" +.PP +.SH "NAME" +ofm2opl \- convert Omega and TeX font-metric files to property-list files +.PP +.SH "SYNOPSIS" +.PP +.B ofm2opl +.RI [ OPTIONS ] +.IR OFMNAME [ \fB.ofm\fP ] +.RI [ OPLFILE [ \fB.opl\fP ]] +.PP +.SH "DESCRIPTION" +.PP +\fBofm2opl\fP translates a binary Omega Font Metrics file, +\fIOFMNAME\fP, into a human-readable property-list form\&. The +program writes to standard output (by default) or to a file specified +as \fIOPLFILE\fP\&. +.PP +The program also works with TeX TFM files, producing TeX PL files\&. +(\fBofm2opl\fP is based on the WEB source code for \fBtftopl\fP(1)\&.) +.PP +.SH "OPTIONS" +.PP +.IP +.IP "\fB-charcode-format=\fP\fITYPE\fP" +output character codes +according to \fITYPE\fP, +which can be either `hex\&' +or `ascii\&'\&. Default is +`hex\&'\&. ascii specifes all +ASCII letters and digits; +hex gets you everything +else\&. +.IP +.IP "\fB-help\fP" +display a brief summary of syntax and options +.IP "\fB-verbose\fP" +display progress reports +.IP "\fB-version\fP" +output version information and exit +.IP +.PP +.SH "FILES" +.PP +.IP "\fIOFMNAME\fP" +an Omega Font Metric file +.IP "\fIOPLFILE\fP" +an Omega Property List file +.PP +.SH "BUGS" +.PP +None known, but report any found to <omega@ens\&.fr> (mailing list)\&. You may also want to +check to see if the same bug is present in \fBpltotf\fP(1)\&. +.PP +.SH "SEE ALSO" +.PP +\fBomega\fP(1), \fBopl2ofm\fP(1), \fBpltotf\fP(1), +\fBtftopl\fP(1)\&. +.PP +\fIDraft Manual for the Omega System\fP (\fIomega-manual\&.dvi\fP)\&. +.PP +Web page: <http://www\&.gutenberg\&.eu\&.org/omega/> +.PP +.SH "AUTHOR" +.PP +According to the WEB documentation: +.PP +.RS +The first \fBTFtoPL\fP program was designed by Leo Guibas in the +summer of 1978\&. Contributions by Frank Liang, Doug Wyatt, and Lyle +Ramshaw also had a significant effect on the evolution of the present +code\&. +.PP +Extensions for an enhanced ligature mechanism were added by D\&.E\&. Knuth +in 1989\&. +.PP +Extensions to handle extended font metric files (``OFM\&'\&') were added +by John Plaice in December 1995 and January 1996, resulting in the new +program \fBOFM2OPL\fP\&. +.RE +.PP +The primary authors of Omega are John Plaice +<plaice@cse\&.unsw\&.edu\&.au> and Yannis Haralambous +<yannis@fluxus-virus\&.com>\&. +.PP +This manual page was written by C\&.M\&. Connelly +<cmc@debian\&.org>, for +the Debian GNU/Linux system\&. It may be used by other distributions +without contacting the author\&. Any mistakes or omissions in the +manual page are my fault; inquiries about or corrections to this +manual page should be directed to me (and not to the primary author)\&. diff --git a/Master/texmf-dist/doc/man/man1/ofm2opl.man1.pdf b/Master/texmf-dist/doc/man/man1/ofm2opl.man1.pdf Binary files differnew file mode 100644 index 00000000000..878a7b07616 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ofm2opl.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/opl2ofm.1 b/Master/texmf-dist/doc/man/man1/opl2ofm.1 new file mode 100644 index 00000000000..8aa00d8c104 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/opl2ofm.1 @@ -0,0 +1,75 @@ +.TH "opl2ofm" "1" "September 2000" "Omega" "Omega" +.PP +.SH "NAME" +opl2ofm \- convert Omega and TeX property-list files to font-metric files +.PP +.SH "SYNOPSIS" +.PP +.B opl2ofm +.RI [ OPTIONS ] +.IR OPLFILE [ \fB.opl\fP ] +.RI [ OFMFILE [ \fB.ofm\fP ]] +.PP +.SH "DESCRIPTION" +.PP +\fBopl2ofm\fP translates a property-list format file, \fIOPLFILE\fP, +into the binary Omega Font Metric format\&. The program writes to +standard output (by default) or to a file specified as +\fIOFMFILE\fP\&. +.PP +The program also works with TeX PL files, producing TeX TFM files\&. +(\fBopl2ofm\fP is based on the WEB source code for \fBpltotf\fP(1)\&.) +.PP +.SH "OPTIONS" +.PP +.IP +.IP "\fB-help\fP" +display a brief summary of syntax and options +.IP "\fB-verbose\fP" +display progress reports +.IP "\fB-version\fP" +output version information and exit +.IP +.PP +.SH "BUGS" +.PP +None known, but report any found to <omega@ens\&.fr> (mailing list)\&. You should also +check to see if the bug is present in \fBpltotf\fP(1)\&. +.PP +.SH "SEE ALSO" +.PP +\fBomega\fP(1), \fBofm2opl\fP(1), \fBpltotf\fP(1), +\fBtftopl\fP(1)\&. +.PP +\fIDraft Manual for the Omega System\fP (\fIomega-manual\&.dvi\fP)\&. +.PP +Web page: <http://www\&.gutenberg\&.eu\&.org/omega/> +.PP +.SH "AUTHOR" +.PP +According to the WEB documentation: +.PP +.RS +The first \fBPLtoTF\fP program was designed by Leo Guibas in the +summer of 1978\&. Contributions by Frank Liang, Doug Wyatt, and Lyle +Ramshaw also had a significant effect on the evolution of the present +code\&. +.PP +Extensions for an enhanced ligature mechanism were added by D\&.E\&. Knuth +in 1989\&. +.PP +Extensions to handle extended font metric files (``OFM\&'\&') were added +by John Plaice in December 1995 and January 1996, resulting in the new +program \fBOPL2OFM\fP\&. +.RE +.PP +The primary authors of Omega are John Plaice +<plaice@cse\&.unsw\&.edu\&.au> and Yannis Haralambous +<yannis@fluxus-virus\&.com>\&. +.PP +This manual page was written by C\&.M\&. Connelly +<cmc@debian\&.org>, for +the Debian GNU/Linux system\&. It may be used by other distributions +without contacting the author\&. Any mistakes or omissions in the +manual page are my fault; inquiries about or corrections to this +manual page should be directed to me (and not to the primary author)\&. diff --git a/Master/texmf-dist/doc/man/man1/opl2ofm.man1.pdf b/Master/texmf-dist/doc/man/man1/opl2ofm.man1.pdf Binary files differnew file mode 100644 index 00000000000..b8c7561fa11 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/opl2ofm.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/ot2kpx.1 b/Master/texmf-dist/doc/man/man1/ot2kpx.1 new file mode 100644 index 00000000000..853982cfffb --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ot2kpx.1 @@ -0,0 +1,213 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "OT2KPX 1" +.TH OT2KPX 1 "2012-03-06" "fontools" "Marc Penninga" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +ot2kpx \- extract kerning information from OpenType fonts +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +.IP "\fBot2kpx\fR" 8 +.IX Item "ot2kpx" +\&\fBfontfile\fR +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +\&\fBot2kpx\fR extract the kerning data from OpenType fonts (both \fIotf\fR +and \fIttf\fR formats) and prints it (in \fIafm\fR format) to \f(CW\*(C`stdout\*(C'\fR. +.SH "OPTIONS AND ARGUMENTS" +.IX Header "OPTIONS AND ARGUMENTS" +.IP "\fBfontfile\fR" 4 +.IX Item "fontfile" +The OpenType font (in either \fIotf\fR or \fIttf\fR format). +.SH "RESTRICTIONS" +.IX Header "RESTRICTIONS" +.IP "\fB\-\fR" 4 +.IX Item "-" +\&\fBot2kpx\fR doesn't implement all of the OpenType specification. +Things that are missing include: support for font files containing +multiple fonts, LookupTables with LookupTypes other than 2, +\&\*(L"kern\*(R" tables with format other than 0 and ValueRecords with +other types of data than just XAdvance data. +.Sp +Most of these limitations don't really matter, since the missing features +are rare (the only fonts I know of that use them are the non-western fonts +that come with Adobe Reader). Furthermore, some of these features concern +(according to the OpenType specification) \fI\*(L"define subtle, device-dependent +adjustments at specific font sizes or device resolutions\*(R"\fR. +Since there's no way to express such adjustments in \fIafm\fR format, +ignoring them seems to be the only option anyway. +.IP "\fB\-\fR" 4 +.IX Item "-" +\&\fBot2kpx\fR collects kerning data first from the \*(L"kern\*(R" table, then from +all LookupTables associated with the \*(L"kern\*(R" feature; if a kerning pair +occurs multiple times, the first value seen is chosen. +There are (or may be) several issues with this approach: +.RS 4 +.IP "\-" 4 +The OpenType specification says that fonts in \fIotf\fR format shouldn't +use the \*(L"kern\*(R" table at all, just the lookups from the \*(L"\s-1GPOS\s0\*(R" table. +Many such fonts do, however, contain a \*(L"kern\*(R" table, but no \*(L"\s-1GPOS\s0\*(R" table; +so we use the \*(L"kern\*(R" table anyway. +.IP "\-" 4 +Instead of reading all LookupTables, it might be better to let the user +specify a script and language and process only the LookupTables for +those values. +However, at least in the fonts I checked, all script/language combinations +eventually point to the \fIsame\fR \*(L"kern\*(R" LookupTables, so this approach +wouldn't make any difference (apart from further complicating the code). +.RE +.RS 4 +.RE +.SH "AUTHOR" +.IX Header "AUTHOR" +Marc Penninga <marcpenninga@gmail.com> +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright (C) 2005\-2012 Marc Penninga. +.SH "LICENSE" +.IX Header "LICENSE" +This program is free software; you can redistribute it and/or modify +it under the terms of the \s-1GNU\s0 General Public License as published +by the Free Software Foundation, either version 2 of the License, +or (at your option) any later version. +A copy of the \s-1GNU\s0 General Public License is included with \fBautoinst\fR; +see the file \fIGPLv2.txt\fR. +.SH "DISCLAIMER" +.IX Header "DISCLAIMER" +This program is distributed in the hope that it will be useful, +but \s-1WITHOUT\s0 \s-1ANY\s0 \s-1WARRANTY\s0; without even the implied warranty of +\&\s-1MERCHANTABILITY\s0 or \s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0. +See the \s-1GNU\s0 General Public License for more details. +.SH "RECENT CHANGES" +.IX Header "RECENT CHANGES" +(See the source code for the rest of the story.) +.IP "\fI2012\-02\-01\fR" 12 +.IX Item "2012-02-01" +Refactored the code, and fixed a number of bugs in the process. +Updated the documentation. diff --git a/Master/texmf-dist/doc/man/man1/ot2kpx.man1.pdf b/Master/texmf-dist/doc/man/man1/ot2kpx.man1.pdf Binary files differnew file mode 100644 index 00000000000..e8cbce9096b --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ot2kpx.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/otangle.1 b/Master/texmf-dist/doc/man/man1/otangle.1 new file mode 100644 index 00000000000..6c242cba957 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/otangle.1 @@ -0,0 +1 @@ +.so man1/tangle.1 diff --git a/Master/texmf-dist/doc/man/man1/otangle.man1.pdf b/Master/texmf-dist/doc/man/man1/otangle.man1.pdf Binary files differnew file mode 100644 index 00000000000..3531a91345f --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/otangle.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/otfinfo.1 b/Master/texmf-dist/doc/man/man1/otfinfo.1 new file mode 100644 index 00000000000..c3f76691c5b --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/otfinfo.1 @@ -0,0 +1,195 @@ +'\"t +.ds V 2.92 +.de M +.BR "\\$1" "(\\$2)\\$3" +.. +.de Sp +.if n .sp +.if t .sp 0.4 +.. +.TH OTFINFO 1 "LCDF Typetools" "Version \*V" +.SH NAME +otfinfo \- report information about OpenType fonts +.SH SYNOPSIS +.B otfinfo +\%[\fB-sfzpvag\fR] +\%[\fIFILE...\fR] +' +.SH DESCRIPTION +.BR Otfinfo +reports information about the named OpenType font +.IR FILE s +(or standard input, if no +.IR FILE s +are given). Results are printed to standard output. Each line is prefaced +with the relevant +.I FILE +if more than one +.I FILE +was supplied. +' +.SH OPTIONS +With long options, you need type only as many characters as will make the +option unique. +.SS Query options +.PD 0 +.PD 0 +.TP 5 +.BR \-s ", " \-\-scripts +Print supported scripts and language systems. The scripts are printed one +per line, with human-readable descriptions; for example: +.nf + cyrl Cyrillic + grek Greek + latn Latin + latn.TUR Latin/Turkish +.fi +' +.Sp +.TP 5 +.BR \-f ", " \-\-features +Print GSUB and GPOS features supported by the selected script (see the +.B \-\-script +option below). The scripts are printed one per line, with human-readable +descriptions; for example: +.nf + aalt Access All Alternates + c2sc Small Capitals From Capitals + case Case-Sensitive Forms + cpsp Capital Spacing + \&... + zero Slashed Zero +.fi +' +.Sp +.TP 5 +.BR \-z ", " \-\-optical\-size +Print optical size information. For example: +.nf + design size 11 pt, size range (8.4 pt, 13 pt], subfamily ID 11, subfamily name Semibold Italic +.fi +' +.Sp +.TP 5 +.BR \-p ", " \-\-postscript\-name +Print each font's PostScript name. For example: +.nf + MinionPro-SemiboldItCapt +.fi +' +.Sp +.TP 5 +.BR \-a ", " \-\-family +Print each font's family name. For example: +.nf + Minion Pro +.fi +' +.Sp +.TP 5 +.BR \-v ", " \-\-font\-version +Print font version information, if available. For example: +.nf + OTF 1.013;PS 001.000;Core 1.0.27;makeotf.lib(1.11) +.fi +' +.Sp +.TP 5 +.BR \-i ", " \-\-info +Print each font's name, version, designer, vendor, copyright, and license +information. For example: +.nf + Family: Minion Pro + Subfamily: Regular + Full name: Minion Pro + PostScript name: MinionPro-Regular + Version: OTF 1.011;PS 001.000;Core 1.0.27;makeotf.lib1.3.1 + Unique ID: 1.011;ADBE;MinionPro-Regular + Designer: Robert Slimbach + Vendor URL: http://www.adobe.com/type/ + Trademark: Minion is either a registered trademark or a trademark of Adobe Systems Incorporated in the United States and/or other countries. + Copyright: \(co 2000 Adobe Systems Incorporated. All Rights Reserved. U.S. Patent Des. 337,604. Other patents pending. + License URL: http://www.adobe.com/type/legal.html +.fi +' +.Sp +.TP 5 +.BR \-g ", " \-\-glyphs +Print the name of every glyph in each font, one per line. For example: +.nf + \&.notdef + space + exclam + \&... + ncommaaccent.end + lje.alt +.fi +Works for PostScript-flavored OpenType fonts only. +' +.Sp +.TP 5 +.BR \-t ", " \-\-tables +Print the size and name of every OpenType table in the font. For example: +.nf + 52 BASE + 87723 CFF + 4940 DSIG + 21366 GPOS + \&... +.fi +' +.Sp +.TP 5 +.BR \-T ", " \-\-dump\-table \fItable\fR +Print the contents of the font's OpenType table \fItable\fR. +' +.PD +' +' +.SS Miscellaneous options +' +.PD 0 +.TP 5 +.BI \-\-script= "script\fR[.\fIlang\fR]" +Select the script system +.I script +and language system +.IR lang +used to look up features by +.BR \-\-features . +Examples include "latn" (Latin script), "grek" (Greek script), and "yi.YIC" +(Yi script with classic characters). If +.I lang +is not specified, otfinfo will use the default language system for that +script. Defaults to "latn". +' +.Sp +.TP 5 +.BR \-V ", " \-\-verbose +Write progress messages to standard error. +' +.Sp +.TP 5 +.BR \-q ", " \-\-quiet +Do not generate any error messages. +' +.Sp +.TP 5 +.BR \-h ", " \-\-help +Print usage information and exit. +' +.Sp +.TP 5 +.BR \-\-version +Print the version number and some short non-warranty information and exit. +.PD +' +.SH "SEE ALSO" +.LP +.M otftotfm 1 +.LP +.IR "OpenType Specification" , +Version 1.4 +' +.SH AUTHOR +Eddie Kohler (ekohler@gmail.com) diff --git a/Master/texmf-dist/doc/man/man1/otfinfo.man1.pdf b/Master/texmf-dist/doc/man/man1/otfinfo.man1.pdf Binary files differnew file mode 100644 index 00000000000..94ca01709ee --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/otfinfo.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/otftotfm.1 b/Master/texmf-dist/doc/man/man1/otftotfm.1 new file mode 100644 index 00000000000..d83263f40b4 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/otftotfm.1 @@ -0,0 +1,1654 @@ +'\"t +.ds V 2.92 +.de M +.BR "\\$1" "(\\$2)\\$3" +.. +.de Sp +.if n .sp +.if t .sp 0.4 +.. +.de Bp +.IP \(bu 3n +.. +.TH OTFTOTFM 1 "LCDF Typetools" "Version \*V" +.SH NAME +otftotfm \- create TeX font metrics from OpenType fonts +.SH SYNOPSIS +.B otftotfm +\%[\fB\-a\fR] +\%[\fBoptions\fR] +\%\fIfontfile\fR [\fItexname\fR] +' +.SH DESCRIPTION +.BR Otftotfm +creates the font metric and encoding files required to use an OpenType font +with TeX. You supply an OpenType ".otf" or ".ttf" font file, +a base ".enc" encoding, +and a TeX name "\fItexname\fR" for the resulting font, and say which +OpenType features should be turned on. Then +.B otftotfm +generates and installs the corresponding TeX-related metric files (".tfm" +TeX font metrics, ".vf" virtual fonts, and ".enc" encoding files). It +works on both PostScript-flavored and TrueType-flavored OpenType fonts, +although TrueType-flavor support will only work easily with pdftex. +.LP +The easiest way to use +.B otftotfm +is with the +.B \-a +option; see Automatic Mode below. Without +.BR \-a , +.B otftotfm +writes all its output files to the current directory. +.LP +After running "\fBotftotfm\fR \fIfontfile\fR \fItexname\fR" and +installing the results (manually or with +.BR \-a ), +you can use the OpenType font in plain TeX with a command like this: +.Sp +.nf + \efont\emyfont=\fItexname\fR at 10pt + {\emyfont This text uses the OpenType font.} +.fi +.Sp +LaTeX users will generally make a ".fd" input file so that commands like +"\erenewcommand{\ermdefault}{TeXName}" work correctly. See the EXAMPLE +section for more; check the DIAGNOSTICS and FREQUENTLY ASKED QUESTIONS +sections if you have trouble. +' +.SS "OpenType Features" +.LP +OpenType fonts support optional +.I features +that change their appearance. Use the +.B \-f +option to turn on selected features. For example, "\fB\-f\fRsmcp" replaces +lower-case letters with the corresponding small capitals, in fonts that +support this. +' +.PP +You'll generally provide at least the "\fB\-f\fRkern" and "\fB\-f\fRliga" +options, which activate pair kerns and f-ligatures. Other interesting +features include "\fB\-f\fRcpsp", for capital spacing; "\fB\-f\fRdlig", for +optional ligatures; "\fB\-f\fRlnum", "\fB\-f\fRonum", "\fB\-f\fRpnum", and +"\fB\-f\fRtnum", to control digit glyphs; "\fB\-f\fRsmcp", for small +capitals; "\fB\-f\fRswsh", for swash variants; and "\fB\-f\fRcswh", for +contextual swash. See the FEATURE DIRECTORY section below for more. The +.M otfinfo 1 +program will report which features a font supports; run "\fBotfinfo\fR +\fB\-f\fR \fIfontfile\fR". +' +.PP +Feature options can also apply a feature to a subset of characters in the +font. For example, "\fB\-\-lf\fR smcp" +.I only +replaces letters with small capitals, whereas "\fB\-f\fRsmcp" might +additionally replace digits and punctuation marks with small-capital +versions. +' +.SS Automatic Mode +.PP +Automatic mode, triggered by the +.BR \-a / \-\-automatic +option, installs font metrics and encoding files where TeX can find them, +and additionally installs a Type 1 font and mapping for +.M dvips 1 . +This requires a TeX installation that follows the TeX Directory Structure +standard (http://www.tug.org/tds/), such as most Unix TeX installations. +' +.PP +Automatic mode should run seamlessly out of the box. +.B Otftotfm +will install metrics files, encodings, map files, and Type\~1 fonts into +.I $HOME/.texmf-var +or any other writable TEXMF directory, and run +.M updmap 1 +to update the global lists of installed fonts. (On older teTeX +installations, you may first need to copy the system's +.I updmap.cfg +file to +.I $HOME/texmf/web2c +and run +.M mktexlsr 1 . +On newer TeXLive installations, you may need to set the TEXMFVAR environment +variable.) +You can then run "\fBotftotfm\fR +.B \-a +.IR fontfile +.IR texname \&" +and immediately refer to the font in TeX using the +.I texname +you supplied. Again, you will have to write ".fd" files and/or typescripts +to make the font conveniently accessible from LaTeX or ConTeXt. See the +DIAGNOSTICS section if you have problems with these instructions. +' +.PP +In automatic mode, +.B otftotfm +searches your $TEXMFVAR or $TEXMF path for a writable directory, then +installs files under that directory tree as follows: +' +.TS +l l l . +\fBFile type\fR \fBDirectory\fR \fBFilename\fR +TFM TEXMF/fonts/tfm/\fIvendor\fR/\fItypeface\fR/ \fItexname\fR[\-\-base].tfm +VF TEXMF/fonts/vf/\fIvendor\fR/\fItypeface\fR/ \fItexname\fR.vf +PL TEXMF/fonts/pl/\fIvendor\fR/\fItypeface\fR/ \fItexname\fR[\-\-base].pl +VPL TEXMF/fonts/vpl/\fIvendor\fR/\fItypeface\fR/ \fItexname\fR.vpl +encoding TEXMF/fonts/enc/dvips/\fIvendor\fR/ a_\fIsignature\fR.enc + or TEXMF/dvips/\fIvendor\fR/ +font map TEXMF/fonts/map/dvips/\fIvendor\fR/ \fIvendor\fR.map + or TEXMF/dvips/\fIvendor\fR/ +.TE +.PP +"TEXMF" stands for the writable TEXMF directory. \fITexname\fR is the +font name supplied as +.BR otftotfm 's +second argument. The \fIvendor\fR and \fItypeface\fR strings are required +by TDS; they default to "lcdftools" and the font's family name, +respectively, but see the +.B \-\-vendor +and +.B \-\-typeface +options. \fISignature\fR is an opaque 6-character encoding signature. +.PP +.B Otftotfm +also installs a font file suitable for printing. PostScript-flavored +OpenType fonts are translated to Type 1 format and installed as PFB fonts. +TrueType-flavored fonts are normally installed as is, since pdftex and +pdflatex can read TrueType directly; but if you provide the +.B \-\-type42 +option, +.B otftotfm +will translate TrueType fonts to Type 42 format, which dvips understands. +.B Otftotfm +does not overwrite existing font files. +.PP +The installation paths are as follows, where \fIPSname\fR is the font's +PostScript name. +.TS +l l l . +PFB TEXMF/fonts/type1/\fIvendor\fR/\fItypeface\fR/ \fIPSname\fR.pfb +TrueType TEXMF/fonts/truetype/\fIvendor\fR/\fItypeface\fR/ \fIfontfile\fR +Type 42 TEXMF/fonts/type42/\fIvendor\fR/\fItypeface\fR/ \fIPSname\fR.t42 +.TE +.PP +You can override these directories with environment variables and options +as follows. Options take precedence over environment variables. +' +.TS +l l l . +\fBFile type\fR \fBEnvironment variable\fR \fBOption\fR +TFM TFMDESTDIR \-\-tfm\-directory +VF VFDESTDIR \-\-vf\-directory +PL PLDESTDIR \-\-pl\-directory +VPL VPLDESTDIR \-\-vpl\-directory +encoding ENCODINGDESTDIR \-\-encoding\-directory +PFB T1DESTDIR \-\-type1\-directory +TrueType TRUETYPEDESTDIR \-\-truetype\-directory +Type 42 T42DESTDIR \-\-type42\-directory +font map \- \-\-map\-file +.TE +.PP +.B Otftotfm +will update the +.I TEXMF/ls-R +file when installing files under TEXMF. It will also run the +.M updmap 1 +program after changing a map file, unless the +.B \-\-no\-updmap +option was supplied. However, if an executable file called +.IR TEXMF/dvips/updmap +exists, this file is executed (from the +.I TEXMF/dvips +directory) rather than the global +.BR updmap . +This is so you can write a fast, customized version of +.B updmap +if desired. +' +.SH EXAMPLE +This section uses MinionPro to show one way to install OpenType fonts for +LaTeX. We begin with six fonts: "MinionPro-Regular.otf", +"MinionPro-It.otf", "MinionPro-Semibold.otf", "MinionPro-SemiboldIt.otf", +"MinionPro-Bold.otf", and "MinionPro-BoldIt.otf". +.PP +Our first task is to decide how to encode the fonts. The "encoding scheme" +is used by TeX to decide how to typeset accents and symbols like "$". The +"LY1" encoding scheme has reasonable accent support and is a good choice +for many OpenType fonts. LY1 corresponds to the "texnansx.enc" encoding +file, so we will supply +.B otftotfm +with the "\fB\-e\fR texnansx" option. +.RS +.LP +Expert note: Strictly speaking, LY1 corresponds to the "texnansi.enc" +encoding file. Since the "texnansx.enc" version omits duplicate +characters, it has more room for font-specific glyphs and is generally a +better choice; but if you plan to type characters like "ae" directly into +your editor, rather than using TeX commands like \eae, you should use +"texnansi.enc". +.RE +.PP +Next, we decide on a naming scheme for the font metric files. Let's use +the OpenType font names as a base. (There's generally no need to follow +the six-character "Karl Berry" naming scheme.) Just in case we come back +later and add a different encoding scheme, we'll prepend "LY1--" to each +name. +.PP +We're now ready to run +.B otftotfm +for the first set of fonts. Note the "\fB\-f\fRkern \fB\-f\fRliga" +options, which access pair kerns and the default "f" ligatures. +.Sp +.nf + \fBotftotfm\fR \fB\-a\fR \fB\-e\fR texnansx MinionPro\-Regular.otf \e + \fB\-f\fRkern \fB\-f\fRliga LY1\-\-MinionPro\-Regular + \fBotftotfm\fR \fB\-a\fR \fB\-e\fR texnansx MinionPro\-It.otf \e + \fB\-f\fRkern \fB\-f\fRliga LY1\-\-MinionPro\-It + \fBotftotfm\fR \fB\-a\fR \fB\-e\fR texnansx MinionPro\-Semibold.otf \e + \fB\-f\fRkern \fB\-f\fRliga LY1\-\-MinionPro\-Semibold + \fBotftotfm\fR \fB\-a\fR \fB\-e\fR texnansx MinionPro\-SemiboldIt.otf \e + \fB\-f\fRkern \fB\-f\fRliga LY1\-\-MinionPro\-SemiboldIt + \fBotftotfm\fR \fB\-a\fR \fB\-e\fR texnansx MinionPro\-Bold.otf \e + \fB\-f\fRkern \fB\-f\fRliga LY1\-\-MinionPro\-Bold + \fBotftotfm\fR \fB\-a\fR \fB\-e\fR texnansx MinionPro\-BoldIt.otf \e + \fB\-f\fRkern \fB\-f\fRliga LY1\-\-MinionPro\-BoldIt +.fi +.Sp +The small-caps fonts are generated with an additional "\fB\-f\fRsmcp" +option. We append "\-\-fsmcp" to the font metric names as well, +differentiating them from the regular fonts. Although MinionPro's italic +fonts support small-caps, the LaTeX font selection scheme can't access them +easily, so we've left them off. +.Sp +.nf + \fBotftotfm\fR \fB\-a\fR \fB\-e\fR texnansx MinionPro\-Regular.otf \e + \fB\-f\fRkern \fB\-f\fRliga \fB\-f\fRsmcp LY1\-\-MinionPro-Regular\-\-fsmcp + \fBotftotfm\fR \fB\-a\fR \fB\-e\fR texnansx MinionPro\-Semibold.otf \e + \fB\-f\fRkern \fB\-f\fRliga \fB\-f\fRsmcp LY1\-\-MinionPro\-Semibold\-\-fsmcp + \fBotftotfm\fR \fB\-a\fR \fB\-e\fR texnansx MinionPro\-Bold.otf \e + \fB\-f\fRkern \fB\-f\fRliga \fB\-f\fRsmcp LY1\-\-MinionPro\-Bold\-\-fsmcp +.fi +.Sp +To get old-style numerals, just add the "\fB\-f\fRonum" option to each +invocation -- and, to reduce confusion, append "\-\-fonum" to the font metric +names. +.PP +At this point, all our font metric files are installed, and it's finally +time to create the ".fd" file. (The ".fd" format is documented in +.IR "The LaTeX Companion" .) +Let's call the LaTeX font family "MinionPro". Then the ".fd" file is +"LY1MinionPro.fd", and it contains: +.Sp +.nf + \eDeclareFontFamily{LY1}{MinionPro}{} + \eDeclareFontShape{LY1}{MinionPro}{m}{n}% + { <\-> LY1\-\-MinionPro\-Regular }{} + \eDeclareFontShape{LY1}{MinionPro}{m}{it}{ <\-> LY1\-\-MinionPro\-It }{} + \eDeclareFontShape{LY1}{MinionPro}{m}{sc}% + { <\-> LY1\-\-MinionPro\-Regular\-\-fsmcp }{} + \eDeclareFontShape{LY1}{MinionPro}{sb}{n}% + { <\-> LY1\-\-MinionPro\-Semibold }{} + \eDeclareFontShape{LY1}{MinionPro}{sb}{it}% + { <\-> LY1\-\-MinionPro\-SemiboldIt }{} + \eDeclareFontShape{LY1}{MinionPro}{sb}{sc}% + { <\-> LY1\-\-MinionPro\-Semibold\-\-fsmcp }{} + \eDeclareFontShape{LY1}{MinionPro}{b}{n}{ <\-> LY1\-\-MinionPro-Bold }{} + \eDeclareFontShape{LY1}{MinionPro}{b}{it}% + { <\-> LY1\-\-MinionPro\-BoldIt }{} + \eDeclareFontShape{LY1}{MinionPro}{b}{sc}% + { <\-> LY1\-\-MinionPro\-Bold\-\-fsmcp }{} + \eDeclareFontShape{LY1}{MinionPro}{bx}{n}% + { <\-> ssub * MinionPro/b/n }{} + \eDeclareFontShape{LY1}{MinionPro}{bx}{it}% + { <\-> ssub * MinionPro/b/it }{} + \eDeclareFontShape{LY1}{MinionPro}{bx}{sc}% + { <\-> ssub * MinionPro/b/sc }{} +.fi +.PP +We're now ready to use MinionPro in LaTeX, with lines like this in the +document preamble: +.Sp +.nf + \eusepackage[LY1]{fontenc} + \erenewcommand{\ermdefault}{MinionPro} + \erenewcommand{\ebfdefault}{b} +.fi +.PP +Of course, we're free at any time to add more MinionPro variants with +.BR otftotfm ; +they'll become accessible to LaTeX as soon as we edit the "MinionPro.fd" +file. +' +.SH OPTIONS +With long options, you need type only as many characters as will make the +option unique. +.SS Font Feature and Transformation Options +.PD 0 +.TP 5 +.BI \-s " script\fR[.\fIlang\fR], " \-\-script= "script\fR[.\fIlang\fR]" +Apply features suitable to the script system +.I script +and language system +.IR lang . +Scripts and language systems are two-to-four-letter names assigned by +Microsoft and Adobe. Examples include "latn" (Latin script), "grek" (Greek +script), and "yi.YIC" (Yi script with classic characters). If +.I lang +is not specified, +.B otftotfm +will use the default language system for that +script. You can give this option multiple times. Run "\fBotfinfo\fR +\-s \fIfont\fR" to see the list of scripts and languages a +font supports. Defaults to "latn". +' +.Sp +.TP 5 +.BI \-f " feature\fR, " \-\-feature= "feature" +Activate the feature named +.IR feature . +Features are four-letter names assigned by Microsoft and Adobe; they are +meant to correspond to font behaviors, such as kerning or small-capitals. +Examples include "liga" (default ligatures), "dlig" (discretionary +ligatures), "kern" (kerning), and "c2sc" (replacing capitals with small +capitals). Give this option multiple times to apply multiple features. Run +"\fBotfinfo\fR \-f [\-\-script option] \fIfont\fR" to see the list +of features a font supports for a specified script. +Defaults to any features required by the selected scripts. +' +.Sp +.TP 5 +.BI \-\-lf " feature\fR, " \-\-letter\-feature= "feature" +Activate the feature named +.IR feature , +but only for letters. For instance, the "\-f smcp" option will apply the +small-caps feature to all characters in the encoding; this may result in +changes to punctuation and numbers as well as letters. The "\-\-lf smcp" +option will apply the small-caps feature only to letters, meaning +characters with the "Letter" Unicode property. +' +.Sp +.TP 5 +.BI \-\-subs\-filter " pattern" +.TP 5 +.BI \-\-include\-subs " pattern" +.TP 5 +.BI \-\-exclude\-subs " pattern" +.TP 5 +.BI \-\-clear\-subs +Limit the characters that +.B otftotfm +will substitute. Substitution is allowed on an input character if it +matches at least one of the +.B \-\-include +patterns, and none of the +.B \-\-exclude +patterns. Each pattern applies to all following features, except that the +.B \-\-clear +option clears any accumulated patterns. The +.BI \-\-subs\-filter " pattern" +option acts like +.B \-\-clear\-subs +followed by +.BI \-\-include\-subs " pattern\fR. " +For pattern syntax, see GLYPH PATTERNS, below. +.Sp +In the command line below, the \&'<Number>' pattern will force the "onum" +feature to substitute only numbers (and not, for example, punctuation). +The "salt" feature can still substitute any character. +.nf + \fBotftotfm\fR \fB\-f\fRsalt \fB\-\-include\-subs\fR="<Number>" \fB\-f\fRonum \.\.\. +.fi +' +.Sp +.TP 5 +.BI \-E " fac\fR, " \-\-extend= fac +Widen, or extend, the font by a factor of +.IR fac . +Like +.M afm2tfm 1 's +.B \-e +option. +' +.Sp +.TP 5 +.BI \-S " amt\fR, " \-\-slant= amt +Oblique, or slant, the font by +.IR amt . +Like +.M afm2tfm 1 's +.B \-s +option. +' +.Sp +.TP 5 +.BI \-L " amt\fR, " \-\-letterspacing= amt +Letterspace each character by +.IR amt +units, where 1000 units equals one em. The width of each character +increases by +.IR amt , +with half the space distributed to each sidebearing. Boundary-character +kerns are added to maintain alignment at the ends of lines. +' +.Sp +.TP 5 +.BR \-\-math\-spacing "[=\fIskewchar\fR]" +Ignore the font's claimed character widths, deriving horizontal metrics +from bounding boxes instead. This results in similar spacing as the +Computer Modern Math Italic font, with increased sidebearings for letters +like f and j. +.Sp +If you provide +.IR skewchar , +a number between 0 and 255 or a single character, then +.B otftotfm +adds heuristically-derived kerns to the font that may improve accent +positions in math mode. To get the benefits, you must tell TeX about the +.I skewchar +with a command like "\eskewchar\efont=\fIskewchar\fR". +' +.Sp +.TP 5 +.BI "\-k " "N\fR, " \-\-min\-kern= N +Only output kerning pairs whose absolute value is +.IR N +or larger. Larger minimum kerns make kerning less precise, but shrink the +output TFM file. The default minimum kern is 2.0, or 0.002 em. +' +.Sp +.TP 5 +.BI \-\-space\-factor= fac +Scale the width of the inter-word space by a factor of +.IR fac . +' +.Sp +.TP 5 +.BI \-\-design\-size= size +Set the output font's design size to +.IR size , +a value in TeX points. This value is mostly just documentation, since LaTeX +essentially ignores fonts' design sizes, but plain TeX may occasionally use +the design size to decide how large a font should be. (Loading a font in +TeX "at" a particular size effectively ignores the design size; loading a +font plain or "scaled" by a given factor uses the design size.) The default +is taken from the input font's optical size feature, or 10pt if it has no +such feature. +' +.Sp +.TP 5 +.BI \-\-fixed\-width +Set the font to fixed-width (its space character will have no stretch or +shrink). Normally you won't need this option; the font will tell +.B otftotfm +whether it is fixed width. The opposite of +.B \-\-fixed\-width +is +.BR \-\-proportional\-width . +' +.Sp +.TP 5 +.BI \-\-italic\-angle= angle +Set the output font's default italic angle to +.IR angle , +a number of degrees. This value is used by TeX to position +accents. Normally you won't need this option; the font will tell +.B otftotfm +its italic angle. +.PD +' +' +.SS Encoding Options +' +.PD 0 +.TP 5 +.BI \-e " encoding\fR, " \-\-encoding= encoding +Select the output metrics's base +.M dvips 1 +encoding. +.B Otftotfm +will search for +.IR encoding [.enc] +the same way that +.B dvips +would, so you may not need to give a full pathname. Say +.B \-e \- +to start with the font's default encoding. +See ENCODINGS, below, +for more information. +' +.Sp +.TP 5 +.BI \-\-boundary\-char= char +Set the font's boundary character to +.IR char , +which should either be a single non-digit character, or a number between \-1 +and 255. The default is taken from the encoding. +' +.Sp +.TP 5 +.BI \-\-altselector\-char= char +Set the font's alternate selector character to +.IR char , +which should either be a single non-digit character, or a number between +\&\-1 and 255. Alternate selectors let TeX authors explicitly choose +between versions of a character. For instance, the +\&'\-\-altselector\-char="*"' option turns the "*" character into a special +switch that cycles between alternates. For instance, the TeX input "A" +would produce the normal version of the "A" Unicode character, "A*" would +produce the first alternate, "A**" would produce the second alternate, and +so forth. Furthermore, "s*t" will activate any discretionary "s_t" +ligature in the font. +.Sp +The +.B \-\-altselector\-char +mechanism uses the features specified by +.BR \-\-altselector\-feature +options. +.Sp +The alternate-selector character may also be specified in the encoding; see +ENCODINGS, below. See Sivan Toledo's article cited in the SEE ALSO section +for more information. +' +.Sp +.TP 5 +.BI \-\-altselector\-feature= feature +Activate the feature named +.I feature +for the +.B \-\-altselector\-char +mechanism. Give this option multiple times to activate multiple +features. This option activates features only for use with +.BR \-\-altselector\-char ; +use the +.B \-\-feature +option to activate features globally. Defaults to the +.I salt +and +.I dlig +features. +' +.Sp +.TP 5 +.BI \-\-alternates\-filter= pattern +.TP 5 +.BI \-\-include\-alternates= pattern +.TP 5 +.BI \-\-exclude\-alternates= pattern +.TP 5 +.BI \-\-clear\-alternates +Limit the alternate characters that +.B otftotfm +will select. An alternate is used if it matches at least one of the +.B \-\-include +patterns, and none of the +.B \-\-exclude +patterns. Each pattern applies to all following features, except that the +.B \-\-clear +option clears any accumulated patterns. The +.BI \-\-alternates\-filter " pattern" +option acts like +.B \-\-clear\-alternates +followed by +.BI \-\-include\-alternates " pattern\fR. " +For pattern syntax, see GLYPH PATTERNS, below. +.Sp +OpenType fonts can have many alternates per character, most of which aren't +interesting. For example, the character "a" in WarnockPro-Regular has five +alternates, "ordfeminine", "Asmall", "asuperior", "a.end", and +"orn.013". The +.B \-\-altselector\-char +option lets you cycle through these alternates, but it's better to leave +out the ones you don't want, to avoid overfull encodings. Thus, if you were +only interested in ".end" variants, you might supply an +\&'\-\-include\-alternates="*.end"' +option. +.Sp +In the command line below, the \&'*.end' pattern will apply to "aalt" +alternates, but not to "salt" alternates. +.nf + \fBotftotfm\fR \fB\-f\fRsalt \fB\-\-include\-alternates\fR="*.end" \fB\-f\fRaalt \.\.\. +.fi +' +.Sp +.TP 5 +.BI \-\-ligkern= command +Add a LIGKERN +.IR command +to the encoding. For example, \&'\fB\-\-ligkern\fR "T {L} h"' suppresses any +T_h ligature in the font. You can supply multiple +.B \-\-ligkern +options. See ENCODINGS, below. +' +.Sp +.TP 5 +.BI \-\-position= command +Add a POSITION +.IR command +to the encoding. For example, \&'\fB\-\-position\fR "T 10 0 20"' adds ten +units of space to either side of the "T" character. You can supply +multiple +.B \-\-position +options. See ENCODINGS, below. +' +.Sp +.TP 5 +.BI \-\-unicoding= command +Add a UNICODING +.IR command +to the encoding. For example, \&'\fB\-\-unicoding\fR "pi1 =: uni03D6"' tells +.B otftotfm +to encode "/pi1" as U+03D6 GREEK PI SYMBOL. You can supply multiple +.B \-\-unicoding +options. See ENCODINGS, below. +' +.Sp +.TP 5 +.BI \-\-no\-encoding\-commands +Ignore any LIGKERN and/or UNICODING commands in the encoding file. +' +.Sp +.TP 5 +.BI \-\-no\-default\-ligkern +Don't include +.BR otftotfm 's +default LIGKERN commands. +' +.Sp +.TP 5 +.BI \-\-coding\-scheme= scheme +Add a CODINGSCHEME to the encoding. See ENCODINGS, below. +' +.Sp +.TP 5 +.BI \-\-warn\-missing +Warn about encoded characters not supported by the font. See the +WARNMISSING command in ENCODINGS, below. +' +.Sp +.TP 5 +.BI \-\-literal\-encoding= encoding +Select the +.M dvips 1 +encoding used for the font. No glyph substitutions will be permitted, so +the output encoding will equal the input encoding (and +.B otftotfm +will not generate an output encoding). +' +.Sp +.TP 5 +.BI \-\-base\-encodings= file +.B Experts only. +Allow the output font to refer to existing "base" fonts. This can greatly +reduce the number of base fonts generated by +.BR otftotfm ". " +Each line in the +.I file +argument contains a TeX font name (as for +.BR \-\-name ) +and a corresponding literal encoding file (as for +.BR \-\-literal\-encoding ); +for example: +.nf + WarnoProReg\-\-eka eka + WarnoProReg\-\-exp1 exp1 +.fi +The named fonts must have been created by prior runs of +.B otftotfm +on the same input OpenType font, with the same +.BR \-\-extend +and +.BR \-\-slant +options as the current run. The current output font will refer to glyphs +from the named base fonts when possible. If the base fonts cover all +glyphs required by the output font, +.B otftotfm +won't generate any new base fonts at all. The +.I file +can also refer to dotless-J fonts using the following syntax: +.nf + WarnoProReg\-\-lcdfj \- dotlessj +.fi +' +.PD +' +' +.SS Automatic Mode Options +' +.PD 0 +.TP 5 +.BI \-a "\fR, " \-\-automatic +Select automatic mode. +' +.Sp +.TP 5 +.BI \-v " vendor\fR, " \-\-vendor= vendor +Set the font vendor name, which is used to locate files within the TDS. +Defaults to "lcdftools". +.Sp +In automatic mode, TeX and friends will generally find required font files +independently of the vendor you select. +' +.Sp +.TP 5 +.BI \-\-typeface= typeface +Set the font typeface name, which is used to locate files within the TDS. +Defaults to the current font's family name with unsuiable characters +removed. +' +.Sp +.TP 5 +.BI \-\-no\-type1 +Do not use +.M cfftot1 1 +to create Type 1 fonts corresponding to the OpenType input fonts. +' +.Sp +.TP 5 +.BI \-\-no\-dotlessj +Do not use +.M t1dotlessj 1 +to create a special dotless-j font when the input font doesn't have +dotless-j. +' +.Sp +.TP 5 +.BI \-\-no\-truetype +Do not install TrueType-flavored fonts. +' +.Sp +.TP 5 +.BI \-\-type42 +Install TrueType-flavored fonts in translated Type 42 format. +' +.Sp +.TP 5 +.BI \-\-no\-updmap +Do not run an +.M updmap 1 +program. This can be useful if you're installing a bunch of fonts; it is +much faster to run +.B updmap +once, at the end, than to run it once per font. +.PD +' +' +.SS Output Options +.PD 0 +.TP 5 +.BI \-n " texname\fR, " \-\-name= texname +Set the TeX name of the output font, which is used in font map files and, +in automatic mode, to generate the output filename. The default is derived +from the OpenType font's name and the features you selected. +' +.Sp +.TP 5 +.BI \-p "\fR, " \-\-pl +Output human-readable PL and VPL metrics, not binary TFM and VF metrics. +Note: +.BR Otftotfm 's +PL and VPL output files are legal, but the +.B fontinst +program may not accept them (it has a picky parser). Make sure to supply a +.BR \-\-coding\-scheme ; +if that doesn't help, run the TFM output through +.M tftopl 1 . +' +.Sp +.TP 5 +.BI \-\-no\-virtual +Do not generate virtual fonts (VFs and VPLs). +.B Otftotfm +will warn if the selected font features cannot be implemented without +virtual fonts. +' +.Sp +.TP 5 +.BI \-\-no\-encoding +Do not generate an encoding file. +' +.Sp +.TP 5 +.BR \-\-output\-encoding [=\fIfile\fR] +Only generate an encoding file; do not generate any other output. The +encoding file is written to +.IR file , +or to standard output if no +.I file +argument is supplied. +' +.Sp +.TP 5 +.BI \-\-no\-map +Do not generate a font map line for the font. +' +.\" .Sp +.\" .TP 5 +.\" .BI \-\-base\-name name +.\" Experts only: Set the TeX name of the "base" output font. When +.\" .B otftotfm +.\" needs to make a virtual font (because of font features and/or +.\" letterspacing), it must generate at least two TFM metrics files, one for +.\" the base font and one for the virtual font. In some cases, multiple +.\" virtual fonts can share the same base metrics, reducing the number of +.\" installed metrics files. This option lets you explicitly set the name of +.\" the base output font independently from the main output font, and thus +.\" force fonts to share base metrics. The default base name is derived from +.\" the TeX name, with "\f(CW\-\-base\fR" appended. +.PD +' +' +.SS File Location Options +.PD 0 +.TP 5 +.BI \-\-tfm\-directory= dir +.TP 5 +.BI \-\-pl\-directory= dir +.TP 5 +.BI \-\-vf\-directory= dir +.TP 5 +.BI \-\-vpl\-directory= dir +.TP 5 +.BI \-\-encoding\-directory= dir +.TP 5 +.BI \-\-type1\-directory= dir +.TP 5 +.BI \-\-truetype\-directory= dir +.TP 5 +.BI \-\-type42\-directory= dir +Set the directory used for various output types. Each directory may be set +by an environment variable, and defaults to a TDS directory in automatic +mode, or to "." otherwise. Environment variable names and default TDS +locations are described in the Automatic Mode section above. +' +.Sp +.TP 5 +.BI \-\-map\-file= filename +Set file in which +.B otftotfm +will write a font map +line for the font. The default is the standard output in manual mode, and +"TEXMF/fonts/map/dvips/\fIvendor\fR/\fIvendor\fR.map" (or +"TEXMF/dvips/\fIvendor\fR/\fIvendor\fR.map" on older installations) in +automatic mode. +.PD +' +' +.SS Miscellaneous Options +.PD 0 +.TP 5 +.BI \-\-glyphlist= file +Use +.I file +as a Adobe glyph list, which helps translate glyph names to Unicode code +points. Give multiple options to include multiple files. +See ENCODINGS, below, for more information. +' +.Sp +.TP 5 +.BR \-V ", " \-\-verbose +Write progress messages to standard error. +' +.Sp +.TP 5 +.BR \-\-no\-create +Do not create or modify any files. Instead, write messages about the +program's hypothetical progress to standard error. +' +.Sp +.TP 5 +.BR \-\-force +Generate all files, even if it looks like versions are already installed. +' +.Sp +.TP 5 +.BR \-q ", " \-\-quiet +Do not generate any error messages. +' +.Sp +.TP 5 +.BI \-\-kpathsea\-debug= flags +Set path searching debugging flags. See the +.I Kpathsea +manual for details. +' +.Sp +.TP 5 +.BR \-h ", " \-\-help +Print usage information and exit. +' +.Sp +.TP 5 +.BR \-\-version +Print the version number and some short non-warranty information and exit. +.PD +' +.SH ENCODINGS +.B Otftotfm +interprets encoding files as Unicode. For example, say an input encoding +has "/dotlessi" at position 10. +.B Otftotfm +detects that position 10 should contain Unicode character U+0131 LATIN +SMALL LETTER DOTLESS I, and uses the font's glyph for that character +(possibly modified by any active features). The selected glyph might not +be named "dotlessi"; only the Unicode value matters. +.PP +.B Otftotfm +assigns Unicode values to glyph names using a table published by Adobe (SEE +ALSO has a reference), with extensions for TeX. For more fine-grained +control, add UNICODING commands to the input encoding file. These commands +have the following format: +.nf + % UNICODING \fIglyph\fR =: \fIchoice1\fR [\fIchoice2\fR ...] ; +.fi +This tells +.B otftotfm +that the glyph named +.I glyph +translates into the first Unicode value in the +.I choice +list that has a character in the font. \fIGlyph\fR and the +.IR choice s +are PostScript glyph names; the initial "%" sign is required; and each +UNICODING line can contain multiple commands, separated by spaced +semicolons. For example, +.nf + % UNICODING pi1 =: uni03D6 ; +.fi +encodes the character "/pi1" as U+03D6 GREEK PI SYMBOL, +and +.nf + % UNICODING Delta =: uni0394 uni2206 ; +.fi +makes U+0394 GREEK CAPITAL LETTER DELTA preferred to +U+2206 INCREMENT as an encoding for "/Delta". You can also supply +glyph names: +.nf + % UNICODING Delta =: Deltagreek Delta ; +.fi +A mapping with no Unicode values removes that glyph from the input +encoding. For instance, this erases any f-ligature characters from the +encoding: +.nf + % UNICODING ff =: ; fi =: ; fl =: ; ffi =: ; ffl =: ; +.fi +The slots are available for +.BR otftfm 's +own use, for example for other characters required by the font. (If the +f-ligatures themselves are required by the font, for instance by a \&'liga' +feature, then they will be stored into their old slots when possible.) Map +a glyph to \&'emptyslot' if you don't want +.B otftotfm +to use the slot. For example, this will leave the \&'ff' slot unused if +the font has no \&'ff' glyph: +.nf + % UNICODING ff =: ff emptyslot ; +.fi +(Note that most OpenType fonts provide a visible representation for unused +encoding slots, namely a box with an X inside.) +.PP +LIGKERN comments in the encoding can add ligatures and inhibit kerns, as in +.M afm2tfm 1 . +To add a ligature, say: +.nf + % LIGKERN \fIglyph1\fR \fIglyph2\fR =: \fIresult\fR ; +.fi +The "=:" operator indicates a normal ligature, where both the input glyphs +are removed and replaced by +.IR result . +To preserve the left-hand glyph, for an effect like "\fIglyph1\fR +\fIglyph2\fR =: \fIglyph1\fR \fIresult\fR", use "|=:" instead; to preserve +the right-hand glyph, use "=:|". +.\" The other five ligature operators are not yet supported. +To remove all kerns between two characters, say: +.nf + % LIGKERN \fIglyph1\fR {} \fIglyph2\fR ; +.fi +A "*" matches any character, so +.nf + % LIGKERN a {} * ; +.fi +removes all kerns with "a" as the left-hand character, and +.nf + % LIGKERN * {} * ; +.fi +removes all kerns. +.PP +.B Otftotfm +also supports extended syntax for setting kern values and inhibiting +ligatures. To add an \fIn\fR-unit kern between two glyphs, say: +.nf + % LIGKERNX \fIglyph1\fR {\fIn\fR} \fIglyph2\fR ; +.fi +where \fIn\fR is an integer. This: +.nf + % LIGKERNX \fIglyph1\fR {L} \fIglyph2\fR ; +.fi +inhibits any ligature between +.I glyph1 +and +.IR glyph2 . +"{LK}" and "{KL}" inhibit both ligatures and kerns. +.PP +You can set the +.B \-\-boundary\-char +and +.B \-\-altselector\-char +from an encoding file with commands like this: +.nf + % LIGKERN || = \fIboundarychar\fR ; + % LIGKERNX ^^ = \fIaltselectorchar\fR ; +.fi +As with UNICODING, each LIGKERN or LIGKERNX line can contain multiple +commands, separated by spaced semicolons. +.PP +.B Otftotfm +has a default set of eight ligatures, namely: +.nf + space l =: lslash ; space L =: Lslash ; + question quoteleft =: questiondown ; exclam quoteleft =: exclamdown ; + hyphen hyphen =: endash ; endash hyphen =: emdash ; + quoteleft quoteleft =: quotedblleft ; + quoteright quoteright =: quotedblright +.fi +LIGKERN commands in the encoding file and +.B \-\-ligkern +options can override these defaults, or supply the +.B \-\-no\-default\-ligkern +option to turn them off. +.PP +The POSITION command shifts a glyph within its bounding box. The syntax is +.nf + % POSITION \fIglyph\fR \fIpdx\fR \fIpdy\fR \fIadx\fR ; +.fi +This will add +.I pdx +units of space to +.IR glyph 's +left edge; raise it up by +.I pdy +units; and add +.I adx +units to its width. For example, to add 10 units of space to either side +of the "T" glyph, supply +.nf + % POSITION T 10 0 20 +.fi +To move the "degree" symbol up by 20 units, supply +.nf + % POSITION degree 0 20 0 +.fi +.PP +The CODINGSCHEME command specifies the coding scheme for fonts using this +encoding. This is a string, less than 40 characters long and containing no +parentheses, that classifies the encoding for TeX's purposes. Sample +coding schemes include "TEX TEXT", "TEX MATH ITALIC", and "EXTENDED TEX +FONT ENCODING - LATIN". For example: +.nf + % CODINGSCHEME EXTENDED TEX FONT ENCODING - LATIN +.fi +Most tools ignore the coding scheme; fontinst is an exception. +.B Otftotfm +uses the encoding's PostScript name for the default coding scheme. +.PP +Finally, the WARNMISSING command makes any glyphs not supported by the +input font appear as black boxes. The +.M dvips 1 +processor will also print a warning when encountering these glyphs. For +example: +.nf + % WARNMISSING yes +.fi +.PP +The +.BR \-\-unicoding , +.BR \-\-ligkern , +.BR \-\-position , +.BR \-\-coding\-scheme , +and +.B \-\-warn\-missing +options add UNICODING, LIGKERN/LIGKERNX, POSITION, CODINGSCHEME, and +WARNMISSING commands to an encoding, and can override commands in the +encoding itself. Some common encoding files have commands that are +inappropriate for OpenType fonts; for example, "t1.enc" hard-codes +f-ligatures, which can cause problems with small-cap fonts. Supply the +.B \-\-no\-encoding\-commands +option to ignore all commands from the encoding file. Commands from +options like +.B \-\-ligkern +are processed in any case. +' +.SS New Glyphs +.PP +New glyphs, such as ligatures and contextual substitutions, are added to +the encoding in any empty spaces, using their original locations when +possible. If the encoding doesn't have enough space for all new glyphs, +shorter ligatures composed of unaccented letters get precedence. +' +.SS Synthetic Glyphs +.PP +.B Otftotfm +can synthesize some glyphs using virtual font manipulations, if a required +glyph is not available in the input font. Specifically, it will synthesize: +.Sp +.PD 0 +.TP 22 +cwm +TeX's compound word mark (a zero-width "strut" rule with height equal to the font's x-height) +.TP +ascendercompwordmark +"cwm" with height equal to the font's ascenders +.TP +capitalcompwordmark +"cwm" with height equal to the font's capitals +.TP +visualspace +A square cup used to represent spaces +.TP +dotlessj +A dotless "j", synthesized with +.M t1dotlessj 1 +.TP +dblbracketleft +Kerned version of "[[" +.TP +dblbracketright +Kerned version of "]]" +.TP +bardbl +The parallel symbol "||" +.TP +asteriskmath +Vertically-centered "*" +.TP +ringfitted +Ring accent centered on the width of "A" +.TP +twelveudash +2/3-em-wide dash +.TP +threequartersemdash +3/4-em-wide dash +.TP +centigrade +"(degrees)C" +.TP +interrobang +Combined "?!" symbol +.TP +interrobangdown +Inverted interrobang +.TP +pertenthousand +Per-ten-thousand sign (% with two extra 0s) +.TP +IJ +"IJ" ligature +.TP +ij +"ij" ligature +.TP +Germandbls +"SS" (a capital sharp-s) +.TP +SSsmall +Small-capital version of "SS" +.TP +FFsmall +Small-capital version of "FF" +.TP +FIsmall +Small-capital version of "FI" +.TP +FLsmall +Small-capital version of "FL" +.TP +FFIsmall +Small-capital version of "FFI" +.TP +FFLsmall +Small-capital version of "FFL" +.PD +' +' +.SH "GLYPH PATTERNS" +.LP +The +.BR \-\-include\-subs +and +.BR \-\-include\-alternates +options, and their +.B \-\-exclude +and +.B \-\-*\-filter +variants, accept the following types of pattern. +.Bp +Glyph names. Example: "Aacute". For PostScript-flavored fonts, use +.M otfinfo 1 's +.B \-g +option to see a font's glyph names, and "\fBcfftot1\fR \fIfont\fR.otf | +\fBt1testpage\fR" to generate a PostScript file showing each glyph. +.Bp +Glyph name patterns using the shell-style glob-matching rules: "*" matches +any number of characters, "?" matches any single character, and "[...]" +matches any character in a set. Example: "*.end". +.Bp +Unicode category properties in angle brackets. Examples: "<Letter>", +"<UppercaseLetter>", "<Lu>". The complete list of both short and long +names: Letter/L, UppercaseLetter/Lu, LowercaseLetter/Ll, +TitlecaseLetter/Lt, ModifierLetter/Lm, OtherLetter/Lo; Number/N, +DecimalNumber/Nd, LetterNumber/Nl, OtherNumber/No; Punctuation/P, +ConnectorPunctuation/Pc, DashPunctuation/Pd, OpenPunctuation/Ps, +ClosePunctuation/Pe, InitialPunctuation/Pi, FinalPunctuation/Pf, +OtherPunctuation/Po; Symbol/S, MathSymbol/Sm, CurrencySymbol/Sc, +ModifierSymbol/Sk, OtherSymbol/So; Mark/M, SpacingMark/Mc, +EnclosingMark/Me, NonspacingMark/Mn; Separator/Z, SpaceSeparator/Zs, +LineSeparator/Zl, ParagraphSeparator/Zp; Other/C, Surrogate/Cs, Format/Cf, +Control/Cc, PrivateUse/Co, Unassigned/Cn. Category values current as of +Unicode 4.0. +.Bp +Unicode ranges. Example: "U+007f-U+008C". +.PP +The "!" prefix negates a pattern, and you can separate multiple patterns by +spaces. +' +.SH "FEATURE DIRECTORY" +.LP +This section lists features common to Western OpenType fonts and describes +how +.B otftotfm +handles them for common fonts. Please send the author mail if +.B otftotfm +does not handle a feature you need, or you believe it handles some feature +incorrectly. +.Sp +.PD 0 +.TP 5 +.IR aalt ", Access All Alternates" +Lets the user choose between all available alternate forms for a character. +This includes things like superscript and subscript variants, different +styles (swash, for example), and even ornaments. The +.BR \-\-altselector\-feature= aalt +option can help an +.BR \-\-altselector\-char +provide useful access to alternates, but the +.I aalt +feature isn't usually useful on its own. Try the +.IR salt " and " calt +features instead. +.TP 5 +.IR c2sc ", Small Capitals From Capitals" +Replaces capital letters with small capitals: a sort of converse of the +more conventional +.I smcp +feature, which replaces lower-case letters with small capitals. Supported. +.TP 5 +.IR calt ", Contextual Alternates" +Lets the user choose between context-appropriate swash forms for each +character. For example, given the word "DREW" in a cursive typeface, the "R +E W" might be translated to calmer forms than the initial "D". There may be +more than one choice for a given letter, in which case the user should be +able to select among them. TeX can't support complex contextual alternates, +or alternate selection, but +.B otftotfm +supports some fonts quite well. The input encoding should have lots of +empty space for variants, and it should specify a boundary character. See +also +.IR cswh . +.TP 5 +.IR case ", Case-Sensitive Forms" +Shifts punctuation marks up to a position that works well with +all-capital-letter sequences. For example, the hyphen character, which +generally centers vertically on the x-height, is raised up to center +vertically on a capital letter. Also replaces text figures with lining +figures, and accent marks with forms more appropriate for capitals. +Supported. +.TP 5 +.IR cpsp ", Capital Spacing" +Adds a bit of space on either side of each capital letter. Supported. +(However, the OpenType tag registry suggests that +.I cpsp +be on by default, but applying to all-caps text only; TeX cannot easily +implement that contextual intelligence.) +.TP 5 +.IR cswh ", Contextual Swash" +Lets the user choose between context-appropriate swash forms for each +character. For example, in the words "Ab AC", the first "A" might be +translated to a swash form, while the second might not. There may be more +than one choice for a given letter, in which case the user should be able +to select among them. +.B Otftotfm +supports some fonts quite well. The input encoding should have lots of +empty space for swash variants, and it should specify a boundary +character. See also +.IR calt " and " swsh . +.TP 5 +.IR dlig ", Discretionary Ligatures" +Activates uncommon ligatures, such as "c_t", "s_p", and "s_t". Supported. +.TP 5 +.IR dnom ", Denominators" +Replaces digits and some punctuation marks with smaller forms sitting on +the baseline, intended for fraction denominators. Supported. +.TP 5 +.IR fina ", Terminal Forms" +Substitutes appropriate forms for letters occurring at the ends of words. +This feature doesn't select swash variants; it's intended for normal use, +and the specification recommends that it be on by default. Partially +supported: TeX will only treat spaces as the ends of words, where a correct +implementation would probably include punctuation too. See +.IR cswh +for selecting swash variants active at the ends of words. +.TP 5 +.IR frac ", Fractions" +Replaces simple sequences like "1/2" with nice-looking fractions. +Supported, but beware: many fonts will translate "11/32" into "1" + "1/3" + +"2". +.TP 5 +.IR hist ", Historical Forms" +Replaces characters with historical variants. Usually, this means at least +translating regular "s" to long "s". Supported. +.TP 5 +.IR kern ", Kerning" +Adjusts the space between characters (pair kerning). Generally supported, +and you should probably turn it on. As a special case, "\fB\-f\fRkern" can +also read kerning information from the "kern" table in conventional +TrueType fonts. +.TP 5 +.IR liga ", Standard Ligatures" +Activates common ligatures, such as "f_f", "f_i", "f_f_j", and (in some +Adobe fonts) "T_h". Generally supported, and you should probably turn it +on. +.TP 5 +.IR lnum ", Lining Figures" +Uses lining figures, the set of digits that are all about as high as +capital letters. +Supported. Compare +.IR onum ; +see also +.IR pnum +and +.IR tnum. +.TP 5 +.IR numr ", Numerators" +Replaces digits and some punctuation marks with smaller, raised forms +intended for fraction numerators. Supported, but not usually useful. +.TP 5 +.IR onum ", Oldstyle Figures" +Uses old-style figures, also known as text figures. This is the set of +digits that have ascenders and descenders like lower-case letters. +Supported. Compare +.IR lnum ; +see also +.IR pnum +and +.IR tnum . +.TP 5 +.IR ordn ", Ordinals" +Designed for Spanish and French. Replaces ordinal numbers, such as "2.o", +with forms where the "o" is raised, and replaces the sequence "No" with an +integrated glyph. Supported. +.TP 5 +.IR ornm ", Ornaments" +Replaces some alphabetic characters in the font with ornaments, and links +the bullet character to a set of all bullet-like ornaments, from which the +user can choose. Partially supported: TeX can handle alphabetic +substitutions, but not bullet choice. +.TP 5 +.IR pnum ", Proportional Figures" +Digits will have different widths. Supported. Compare +.IR tnum ; +see also +.IR lnum +and +.IR onum. +.TP 5 +.IR salt ", Stylistic Alternates" +Lets the user choose between stylistic alternate forms for a character. +The +.BR \-\-altselector\-char +mechanism provides useful access to this feature. If you turn on +.IR salt +globally, +.B otftotfm +takes the first alternate form whenever there's more than one choice. See +also +.IR aalt +and +.IR ss01 ; +.IR salt +is generally more useful than +.IR aalt +for TeX, since it refers exclusively to stylistic alternates. +.TP 5 +.IR sinf ", Scientific Inferiors" +Replaces digits and some punctuation marks with smaller, lowered forms +intended for subscripts. Supported. Compare +.IR subs . +.TP 5 +.IR size ", Optical Size" +This feature stores information about the range of optical sizes for which +the font was intended. There is no point in selecting it with +.BR otftotfm , +since it should not change the font's appearance in any way. +.TP 5 +.IR smcp ", Small Capitals" +Replaces lower-case letters with small capitals. Supported. Compare +.IR c2sc . +.TP 5 +.IR ss01 - ss20 ", Stylistic Sets 1-20" +Replaces characters with a uniform set of stylistic alternates. Differs +from features like +.I salt +in that a Stylistic Set is uniform: an +.I ssXX +feature should never involve selection from a set of possible alternate +characters. Supported. +.TP 5 +.IR subs ", Subscript" +Replaces characters with smaller, lowered forms intended for subscripts. +Supported. Compare +.IR sinf ; +some fonts support +.I sinf +but not +.IR subs . +.TP 5 +.IR sups ", Superscript" +Replaces digits, some punctuation marks, and some lower-case letters with +smaller, raised forms intended for superscripts. Supported. +.TP 5 +.IR swsh ", Swash" +Activates all swash forms for each character. There may be more than one +swash form, in which case +.B otftotfm +will pick the first one listed. Supported, except that swash variants +other than the first are inaccessible. Note that some fonts with swash +variants support the +.I cswh +feature exclusively. +.TP 5 +.IR tnum ", Tabular Figures" +All digits will have the same width, so that tables and the like will align +visually. Supported. Compare +.IR pnum ; +see also +.IR lnum +and +.IR onum. +.TP 5 +.IR zero ", Slashed Zero" +Replaces the zero character with a slashed zero. Supported. +.PD +' +.SH "DIAGNOSTICS AND TROUBLESHOOTING" +' +.TP 5 +no writable directory found in $TEXMF +' +.B Otftotfm +could not find a writable directory in your $TEXMFVAR or $TEXMF path. Did +you create a +.I $HOME/.texmf-var +or +.I $HOME/texmf +directory? If so, run the command "kpsewhich \-\-expand\-path='$TEXMF'" to +verify that directory is not being found. You may need to set your TEXMF +environment variable, to \&'{!!'"$HOME"'/texmf,!!$TEXMFMAIN}', for instance +(note the different kinds of quotes; on my machine, this expands to +\&'{!!/home/kohler/texmf,!!$TEXMFMAIN}'). +' +.TP 5 +\&'\fIchar\fR' has no encoding, ignoring kern removal +.PD 0 +.TP 5 +(or ligature removal, lig/kern removal, or ligature) +.PD +' +These messages indicate a slight problem with your encoding file: one of +the LIGKERN commands referred to a character not present in the encoding. +This might be due to a misspelling in the LIGKERN command or the encoding +file, or it might be an oversight. Either fix the encoding file or ignore +the warning. +' +.TP 5 +can't map \&'\fIchar\fR' to Unicode +' +Another encoding file problem: One of the glyph names in an UNICODING block +could not be converted to Unicode. This is problematic since UNICODING +exists wholly to translate glyph names into Unicode. Fix the encoding file +or ignore the warning. +' +.TP 5 +not enough room in encoding, ignoring \fIN\fR glyph(s) ... +' +There wasn't space in the encoding for all the glyphs referred to by the +features you selected. For example, maybe the font had more ligatures than +there were empty slots in the encoding. Fix this warning by selecting fewer +features, or by using an encoding with more empty slots, such as the 7t.enc +encoding distributed with +.BR otftotfm . +' +.TP 5 +The \&'\fB\-a\fR' option did not install my font correctly. +' +Try again with the \&'\fB\-\-verbose\fR' option, which causes +.BR otftotfm +to explain its behavior. Note that by default, +.BR otftotfm +will not re-install files already present in your system's TeX search paths +(in the current directory, for instance). Use \&'\fB\-\-force\fR' to +override this behavior. +' +.SH "FREQUENTLY ASKED QUESTIONS" +.TP 5 +How can I get a small-caps "SS" in place of the German sharp-S? +' +Supply the option \&'\fB\-\-unicoding\fR "germandbls =: SSsmall"'. +' +.TP 5 +How can I prevent f-ligatures from forming in a small-caps font? +' +This should happen automatically, but some overzealous encoding files add +f-ligatures even when the font doesn't request them. Try the +"\fB\-\-no\-encoding\-commands\fR" option if this is a problem for you. +' +.TP 5 +\fBOtftotfm\fR seems to take a long time. +' +Use the +.B \-V +option to see what it's doing. Often the culprit is the +.M updmap 1 +program; if you're planning to run +.B otftotfm +multiple times, give it the +.B \-\-no\-updmap +option and run +.B updmap +manually when you're done. +' +.TP 5 +How can I refer to the different forms of phi? +' +\fBOtftotfm\fR follows TeX practice and widely-distributed TeX encoding +vectors, so "/phi" in an input encoding vector should map to a "straight" +phi and "/phi1" should map to a "loopy" phi. Note that TeX practice +differs from the PostScript standard naming conventions, in which "/phi" is +"loopy" and "/phi1" is "straight"; this means that \fBotftotfm\fR may map +"/phi" in an input encoding vector to a font's "/phi1" glyph, and vice +versa. Perhaps most unambiguously, you can use "/uni03D5" for the +"straight" form and "/uni03C6" for the "loopy" form. +' +.TP 5 +How can I get lining figures (that is, normal line-height digits) with small caps ('\fB\-f\fRsmcp')? +' +Many fonts use old-style figures by default with small caps. Since the +default is not specified, it's wise to explicitly supply \&'\fB\-f\fRlnum' or +\&'\fB-f\fRonum'. +' +.SH "BUGS" +.\" .LP +.\" Presumably some context-sensitive positionings and ligatures could be +.\" implemented with TeX's boundary character, but +.\" .B otftotfm +.\" doesn't do that yet. +.LP +See the documentation for +.B \-\-pl +above if you have problems running +.BR otftotfm 's +output through +.BR fontinst . +' +.SH "SEE ALSO" +.LP +.M pltotf 1 , +.M tftopl 1 , +.M vptovf 1 , +.M afm2tfm 1 , +.M dvips 1 , +.M cfftot1 1 , +.M otfinfo 1 , +.M t1dotlessj 1 , +.M t1testpage 1 , +.M ttftotype42 1 , +.M kpsewhich 1 , +.M updmap 1 +.LP +.I "Adobe Type 1 Font Format" +.LP +Adobe Technical Notes #5176, +.IR "The Compact Font Format Specification" , +and #5177, +.I "The Type 2 Charstring Format" +.LP +.IR "OpenType Specification" , +Version 1.4 +.LP +.IR "A Directory Structure for TeX Files" , +http://www.tug.org/tds/ +.LP +.IR "Kpathsea: A library for path searching" , +http://www.tug.org/kpathsea/ +.LP +Sivan Toledo, +.IR "Exploiting Rich Fonts" , +TUGboat 21(2), 2000, +http://www.tug.org/TUGboat/Articles/tb21-2/tb67tole.pdf +.LP +Michel Goossens, Frank Mittelbach, and Alexander Samarin, +.IR "The LaTeX Companion" +(for information on the .fd file format) +.LP +Adobe Systems, "Unicode and Glyph Names". Refers to the glyphlist.txt file +used to translate glyph names to Unicode code points. +http://partners.adobe.com/public/developer/opentype/index_glyph.html +' +.SH AUTHOR +Eddie Kohler (ekohler@gmail.com) +.PP +Thanks to Karl Berry, Marco Kuhlmann, Adam Lindsay, Bruce D'Arcus, Thomas +Esser, Claire Connelly, Nelson H.F. Beebe, and Ryuji Suzuki for +suggestions, bug reports, and help. Particular thanks to Achim Blumensath +and Michael Zedler for suggestions and patches, some of them extensive. diff --git a/Master/texmf-dist/doc/man/man1/otftotfm.man1.pdf b/Master/texmf-dist/doc/man/man1/otftotfm.man1.pdf Binary files differnew file mode 100644 index 00000000000..7296bef28f9 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/otftotfm.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/otp2ocp.1 b/Master/texmf-dist/doc/man/man1/otp2ocp.1 new file mode 100644 index 00000000000..fcb4d0ad117 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/otp2ocp.1 @@ -0,0 +1,40 @@ +.TH "otp2ocp" "1" "September 2000" "Omega" "Omega" +.PP +.SH "NAME" +otp2ocp \- convert Omega Translation Process files to Omega +Compiled Process files +.SH "SYNOPSIS" +.B otp2ocp +.IR OTPFILE [ \fB.otp\fP ] +.RI [ OCPFILE [ \fB.ocp\fP ]] +.SH "DESCRIPTION" +.PP +\fBotp2ocp\fP is used to create or recreate Omega Compiled Process +files (binary) from Omega Translation Process (text) files\&. +.PP +Omega Translation Processes are rules used to translate one character +set to another and to choose between characters with one or more +context-sensitive variants\&. OTPs could also be used to change the +case or hyphenation of text\&. +.PP +.SH "SEE ALSO" +.PP +\fBmkocp\fP(1), \fBomega\fP(1)\&. +.PP +\fIDraft Manual for the Omega System\fP (\fIomega-manual\&.dvi\fP)\&. +.PP +Web page: <http://www\&.gutenberg\&.eu\&.org/omega/> +.PP +.SH "AUTHOR" +.PP +The primary authors of Omega are John Plaice +<plaice@cse\&.unsw\&.edu\&.au> and Yannis Haralambous +<yannis@fluxus-virus\&.com>\&. +.PP +This manual page was written by C\&.M\&. Connelly +<cmc@debian\&.org>, for +the Debian GNU/Linux system\&. It may be used by other distributions +without contacting the author\&. Any mistakes or omissions in the +manual page are my fault; inquiries about or corrections to this +manual page should be directed to me (and not to the primary author)\&. +.PP diff --git a/Master/texmf-dist/doc/man/man1/otp2ocp.man1.pdf b/Master/texmf-dist/doc/man/man1/otp2ocp.man1.pdf Binary files differnew file mode 100644 index 00000000000..21af14f2653 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/otp2ocp.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/outocp.1 b/Master/texmf-dist/doc/man/man1/outocp.1 new file mode 100644 index 00000000000..9f41f3ba967 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/outocp.1 @@ -0,0 +1,42 @@ +.TH "outocp" "1" "September 2000" "Omega" "Omega" +.PP +.SH "NAME" +outocp \- debug an OCP file +.SH "SYNOPSIS" +.B outocp +.IR OCPFILE [ \fB.ocp\fP ] +.SH "DESCRIPTION" +.PP +\fBoutocp\fP is used for debugging Omega Compiled Translation Process +(OCP) files\&. It generates some statistics about the OCP file, and +then runs through the states that the file defines\&. +.PP +Omega Translation Processes are rules used to translate one character +set to another and to choose between characters with one or more +context-sensitive variants\&. OTPs could also be used to change the +case or hyphenation of text\&. +.PP +.SH "BUGS" +.PP +None known, but report any found to <omega@ens\&.fr> (mailing list)\&. +.PP +.SH "SEE ALSO" +.PP +\fBocp2otp\fP(1), \fBotp2ocp\fP(1), \fBomega\fP(1)\&. +.PP +\fIDraft Manual for the Omega System\fP (\fIomega-manual\&.dvi\fP)\&. +.PP +Web page: <http://www\&.gutenberg\&.eu\&.org/omega/> +.PP +.SH "AUTHOR" +.PP +The primary authors of Omega are John Plaice +<plaice@cse\&.unsw\&.edu\&.au> and Yannis Haralambous +<yannis@fluxus-virus\&.com>\&. +.PP +This manual page was written by C\&.M\&. Connelly +<cmc@debian\&.org>, for +the Debian GNU/Linux system\&. It may be used by other distributions +without contacting the author\&. Any mistakes or omissions in the +manual page are my fault; inquiries about or corrections to this +manual page should be directed to me (and not to the primary author)\&. diff --git a/Master/texmf-dist/doc/man/man1/outocp.man1.pdf b/Master/texmf-dist/doc/man/man1/outocp.man1.pdf Binary files differnew file mode 100644 index 00000000000..f4252c66195 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/outocp.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/ovf2ovp.1 b/Master/texmf-dist/doc/man/man1/ovf2ovp.1 new file mode 100644 index 00000000000..ae60d5588e0 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ovf2ovp.1 @@ -0,0 +1,89 @@ +.TH "ovf2ovp" "1" "September 2000" "Omega" "Omega" +.PP +.SH "NAME" +ovf2ovp \- convert a virtual font file and its associated font metric file into property-list format +.PP +.SH "SYNOPSIS" +.PP +.B ovf2ovp +.RI [ OPTIONS ] +.IR OVFNAME [ \fB.ovf\fP ] +.RI [ OFMNAME [ \fB.ofm\fP ] +.RI [ OVPFILE [ \fB.ovp\fP ]]] +.PP +.SH "DESCRIPTION" +.PP +\fBovf2ovp\fP translates a virtual font (OVF) file, \fIOVFNAME\fP, +and its companion font metric (OFM) file, \fIOFMNAME\fP, into a +human-readable property-list format\&. The program writes to standard +output (by default) or to a file specified as \fIOVPNAME\fP\&. +.PP +The program also works with TeX VF and TFM files, producing TeX VP +files\&. (\fBovf2ovp\fP is based on the WEB source code for +\fBvftovp\fP(1)\&.) +.PP +.SH "OPTIONS" +.PP +.IP +.IP "\fB-charcode-format=\fP\fITYPE\fP" +output character codes +according to \fITYPE\fP, which can be either `hex\&' or `ascii\&'\&. +Default is `hex\&'\&. ascii specifes all ASCII letters and digits; hex +gets you everything else\&. +.IP +.IP "\fB-help\fP" +display a brief summary of syntax and options +.IP "\fB-verbose\fP" +display progress reports +.IP "\fB-version\fP" +output version information and exit +.IP +.PP +.SH "FILES" +.PP +.IP "\fIOVPFILE\fP" +Omega Virtual Property List file +.IP "\fIOFMNAME\fP" +Omega Font Metric file +.IP "\fIOVFNAME\fP" +Omega Virtual Font file +.PP +.SH "BUGS" +.PP +None known, but report any found to <omega@ens\&.fr> (mailing list)\&. You should also +check to see if the bug is also in \fBvftovp\fP(1)\&. +.PP +.SH "SEE ALSO" +.PP +\fBomega\fP(1), \fBofm2opl\fP(1), \fBovp2ovf\fP(1), +\fBpltotf\fP(1), \fBtftopl\fP(1), \fBvftovp\fP(1), +\fBvptovf\fP(1) +.PP +\fIDraft Manual for the Omega System\fP (\fIomega-manual\&.dvi\fP)\&. +.PP +Web page: <http://www\&.gutenberg\&.eu\&.org/omega/> +.PP +.SH "AUTHOR" +.PP +According to the WEB documentation: +.PP +.RS +\fBVFtoVP\fP is an extended version of the program \fBTFtoPL\fP, +which is part of the standard tex()ware library\&. The idea of a +virtual font was inspired by the work of David R\&. Fuchs who designed a +similar set of conventions in 1984 while developing a device driver +for ArborText, Inc\&. He wrote a somewhat similar program called +\fBAMFtoXPL\fP\&. +.RE +.PP +The primary authors of Omega are John Plaice +<plaice@cse\&.unsw\&.edu\&.au> and Yannis Haralambous +<yannis@fluxus-virus\&.com>\&. +.PP +This manual page was written by C\&.M\&. Connelly +<cmc@debian\&.org>, for +the Debian GNU/Linux system\&. It may be used by other distributions +without contacting the author\&. Any mistakes or omissions in the +manual page are my fault; inquiries about or corrections to this +manual page should be directed to me (and not to the primary author)\&. +.PP diff --git a/Master/texmf-dist/doc/man/man1/ovf2ovp.man1.pdf b/Master/texmf-dist/doc/man/man1/ovf2ovp.man1.pdf Binary files differnew file mode 100644 index 00000000000..f1c030cc8a9 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ovf2ovp.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/ovp2ovf.1 b/Master/texmf-dist/doc/man/man1/ovp2ovf.1 new file mode 100644 index 00000000000..558837e40f9 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ovp2ovf.1 @@ -0,0 +1,79 @@ +.TH "ovp2ovf" "1" "September 2000" "Omega" "Omega" +.PP +.SH "NAME" +ovp2ovf \- convert a virtual property-list file into a virtual font file and its associated font metric file +.PP +.SH "SYNOPSIS" +.B ovp2ovf +.RI [ OPTIONS ] +.IR OVPFILE [ \fB.ovp\fP ] +.RI [ OVFFILE [ \fB.ovf\fP ] +.RI [ OFMFILE [ \fB.ofm\fP ]]] +.PP +.SH "DESCRIPTION" +.PP +\fBovp2ovf\fP translates a human-readable virtual property list (OVP) +file, \fIOVPFILE\fP, into a virtual font (OVF) file, \fIOVFFILE\fP +and its companion font metric (OFM) file, \fIOFMFILE\fP\&. +.PP +The program also works with TeX VP files, producing VF and TFM files\&. +(\fBovp2ovf\fP is based on the WEB source code for \fBvptovf\fP(1)\&.) +.PP +.SH "OPTIONS" +.PP +.IP "\fB-help\fP" +display a brief summary of syntax and options +.IP "\fB-verbose\fP" +display progress reports +.IP "\fB-version\fP" +output version information and exit +.IP +.PP +.SH "FILES" +.IP "\fIOFMFILE\fP" +Omega Font Metric file +.IP "\fIOVFFILE\fP" +Omega Virtual Font file +.IP "\fIOVPFILE\fP" +Omega Virtual Property List file +.PP +.SH "BUGS" +.PP +None known, but report any found to <omega@ens\&.fr> (mailing list)\&. You should also +check to see if the bug is in \fBvptovf\fP(1)\&. +.PP +.SH "SEE ALSO" +.PP +\fBomega\fP(1), \fBofm2opl\fP(1), \fBovf2ovp\fP(1), +\fBpltotf\fP(1), \fBtftopl\fP(1), \fBvftovp\fP(1), +\fBvptovf\fP(1) +.PP +\fIDraft Manual for the Omega System\fP (\fIomega-manual\&.dvi\fP)\&. +.PP +Web page: <http://www\&.gutenberg\&.eu\&.org/omega/> +.PP +.SH "AUTHOR" +.PP +According to the WEB documentation: +.PP +.RS +\fBVPtoVF\fP is an extended version of the program \fBPLtoTF\fP, +which is part of the standard TeXware library\&. \fBOVP2OVF\fP is an +extended version of \fBVPtoVF\fP that allows much larger fonts\&. The +idea of a virtual font was inspired by the work of David R\&. Fuchs who +designed a similar set of conventions in 1984 while developing a +device driver for ArborText, Inc\&. He wrote a somewhat similar program +called \fBPLFONT\fP\&. +.RE +.PP +The primary authors of Omega are John Plaice +<plaice@cse\&.unsw\&.edu\&.au> and Yannis Haralambous +<yannis@fluxus-virus\&.com>\&. +.PP +This manual page was written by C\&.M\&. Connelly +<cmc@debian\&.org>, for +the Debian GNU/Linux system\&. It may be used by other distributions +without contacting the author\&. Any mistakes or omissions in the +manual page are my fault; inquiries about or corrections to this +manual page should be directed to me (and not to the primary author)\&. +.PP diff --git a/Master/texmf-dist/doc/man/man1/ovp2ovf.man1.pdf b/Master/texmf-dist/doc/man/man1/ovp2ovf.man1.pdf Binary files differnew file mode 100644 index 00000000000..54705cf0c2e --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ovp2ovf.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/patgen.1 b/Master/texmf-dist/doc/man/man1/patgen.1 new file mode 100644 index 00000000000..afc3a54c863 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/patgen.1 @@ -0,0 +1,191 @@ +.TH PATGEN 1 "7 April 2010" "Web2C 2012" +.\"===================================================================== +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.el .ds OX TeX +.\" that's for nroff. +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.\"===================================================================== +.SH NAME +patgen \- generate patterns for TeX hyphenation +.SH SYNOPSIS +.B patgen +.I dictionary_file pattern_file patout_file translate_file +.\"===================================================================== +.SH DESCRIPTION +This manual page is not meant to be exhaustive. +See also the Info file or manual +.IR "Web2C: A TeX implementation" . +.PP +The +.I patgen +program reads the +.I dictionary_file +containing a list of hyphenated words and the +.I pattern_file +containing previously-generated patterns (if any) for a particular +language (not a complete TeX source file; see below), and produces the +.I patout_file +with (previously- plus newly-generated) hyphenation patterns for that +language. The +.I translate_file +defines language specific values for the parameters +.IR left_hyphen_min " and " right_hyphen_min +used by \*(TX's hyphenation algorithm and the external representation +of the lower and upper case version(s) of all \`letters' of that +language. Further details of the pattern generation process such as +hyphenation levels and pattern lengths are requested interactively from +the user's terminal. Optionally +.I patgen +creates a new dictionary file +.BI pattmp. n +showing the good and bad hyphens found by the generated patterns, where +.I n +is the highest hyphenation level. +.PP +The patterns generated by +.I patgen +can be read by +.B initex +for use in hyphenating words. For a real-life example of +.IR patgen 's +output, see +.IR $TEXMFMAIN/tex/generic/hyphen/hyphen.tex , +which contains the patterns \*(TX uses for English by default. +At some sites, patterns for (many) other languages may be available, +and the local +.B tex +programs may have them preloaded. +.PP +All filenames must be complete; no adding of default +extensions or path searching is done. +.\"===================================================================== +.SH FILE FORMATS +.TP \w'@@'u+2n +.B Letters +When +.B initex +digests hyphenation patterns, \*(TX first expands macros and the result +must entirely consist of digits (hyphenation levels), dots (\`.', edge +of a word), and letters. In pattern files for non-English languages +letters are often represented by macros or other expandable constructs. +For the purpose of +.I patgen +these are just character sequences, subject to the condition that no +such sequence is a prefix of another one. +.TP \w'@@'u+2n +.B Dictionary file +A dictionary file contains a weighted list of hyphenated words, one word +per line starting in column 1. A digit in column 1 indicates a global +word weight (initially =1) applicable to all following words up to the +next global word weight. A digit at some intercharacter position +indicates a weight for that position only. + +The hyphens in a word are indicated by \`-', \`*', or \`.' (or their +replacements as defined in the translate file) for hyphens yet to be +found, \`good' hyphens (correctly found by the patterns), and \`bad' +hyphens (erroneously found by the patterns) respectively; when reading a +dictionary file \`*' is treated like \`-' and \`.' is ignored. +.TP +.B Pattern file +A pattern file contains only patterns in the format above, e.g., from a +previous run of patgen. It may \fInot\fR contain any \*(TX comments or +control sequences. For instance, this is not a valid pattern file: +.nf + +% this is a pattern file read by TeX. +\\patterns{% + .\|.\|. +} +.fi +It can only contain the actual patterns, i.e., the `.\|.\|.'. +.TP +.B Translate file +A translate file starts with a line containing the values of +.I left_hyphen_min +in columns 1-2, +.I right_hyphen_min +in columns 3-4, and either a blank or the replacement for one of the +"hyphen" characters \`-', \`*', and \`.' in columns 5, 6, and 7. (Input +lines are padded with blanks as for many \*(TX related programs.) + +Each following line defines one \`letter': an arbitrary delimiter +character in column 1, followed by one or more external representations +of that character (first the \`lower' case one used for output), each +one terminated by the delimiter and the whole sequence terminated by +another delimiter. + +If the translate file is empty, the values +.IR left_hyphen_min "=2, " right_hyphen_min "=3," +and the 26 lower case letters +.BR a .\|.\|. z +with their upper case representations +.BR A .\|.\|. Z +are assumed. +.TP +.B Terminal input +After reading the +.I translate_file +and any previously-generated patterns from +.IR pattern_file , +.I patgen +requests input from the user's terminal. + +First the integer values of +.IR hyph_start " and " hyph_finish , +the lowest and highest hyphenation level for which patterns are to be +generated. The value of +.I hyph_start +should be larger than any hyphenation level already present in +.IR pattern_file . + +Then, for each hyphenation level, the integer values of +.IR pat_start " and " pat_finish , +the smallest and largest pattern length to be analyzed, as well as +.IR "good weight" ", " "bad weight" ", and " threshold , +the weights for good and bad hyphens and a weight threshold for useful +patterns. + +Finally the decision (\`y' or \`Y' vs. anything else) whether or not to +produce a hyphenated word list. +.\"===================================================================== +.SH FILES +.TP \w'@@'u+2n +.I $TEXMFMAIN/tex/generic/hyphen/hyphen.tex +The original hyphenation patterns for English, by Donald Knuth and Frank +Liang. +.TP +.I $TEXMFMAIN/tex/generic/hyphen/ushyphmax.tex +Maximal hyphenation patterns for English, extended by Gerard Kuiken. +.TP +.I http://www.ctan.org/tex-archive/language/ +Patterns and support for many other languages +.\"===================================================================== +.SH "SEE ALSO" +Frank Liang and Peter Breitenlohner, +patgen.web. +.PP +Frank Liang, +.IR "Word hy-phen-a-tion by com-puter" , +STAN-CS-83-977, +Stanford University Ph.D. thesis, 1983, +http://tug.org/docs/liang. +.PP +Donald E. Knuth, +.IR "The \*(OXbook" , +Addison-Wesley, 1986, ISBN 0-201-13447-0, Appendix H. +.\"===================================================================== +.SH AUTHORS +Frank Liang wrote the first version of this program. Peter +Breitenlohner made a +substantial revision in 1991 for \*(TX 3. +The first version was published as the appendix to the +.I \*(OXware +technical report. Howard Trickey originally ported it to Unix. diff --git a/Master/texmf-dist/doc/man/man1/patgen.man1.pdf b/Master/texmf-dist/doc/man/man1/patgen.man1.pdf Binary files differnew file mode 100644 index 00000000000..b53063d1c8a --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/patgen.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/pdf180.1 b/Master/texmf-dist/doc/man/man1/pdf180.1 new file mode 100644 index 00000000000..08f47b5a9c0 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdf180.1 @@ -0,0 +1,74 @@ +.TH "pdf180" "1" "10 March 2010" "" "" +.SH "NAME" +pdf180 \- rotate the pages of pdf files +.SH "SYNOPSIS" +.PP +pdf180 [OPTION [OPTION] \&.\&.\&.] [SRC [PAGESPEC] [SRC [PAGESPEC]] \&.\&.\&.] +.PP +.SH "DESCRIPTION" +.PP +pdf180 rotates the pages of files in the Adobe Portable Document Format (PDF) +through 180 degrees\&. +.PP +If no source PDF file ('SRC') is specified, input +is from /dev/stdin. If 'PAGESPEC' is omitted, all pages are processed. +.PP +Source files are processed sequentially into a single output +unless the '--batch' option is used, in which case they are processed +separately. +.PP +pdf180 operates on one or more PDF files, and (either with the '--batch' +option or with '--outfile DIR' where 'DIR' is a directory) the +resulting files have +the suffix '-rotated180' applied to their names by default. To change +the suffix, +use the '--suffix' option, for example +.PP +.RS +.B pdf180 --suffix 'upturned' --batch myfile1.pdf myfile2.pdf +.RE +.PP +will result in files named 'myfile1-upturned.pdf' and 'myfile2-upturned.pdf'. +.PP +pdf180 is a simple wrapper for pdfjam, which is a front end to many of the capabilities of the pdfpages +package for pdflatex\&. A working installation of pdflatex with +the pdfpages package is required\&. +.PP +pdf180 is part of the "PDFjam" package of tools, whose homepage is at +http://go.warwick.ac.uk/pdfjam\&. +.PP +.SH "SETUP" +.PP +See http://go.warwick.ac.uk/pdfjam . +.PP +.SH "USAGE" +.PP +For the available options and site/user defaults, see the output of +.PP +.RS + pdfjam --help +.RE +.PP +For further information and some examples see +http://go.warwick.ac.uk/pdfjam \&. +.PP +.SH "LIMITATIONS AND BUGS" +.PP +pdf180 does not work with encrypted PDF files, and does not +preserve hyperlinks. +.PP +Please report bugs! See the website at +http://go.warwick.ac.uk/pdfjam \&. +.PP +.SH "SEE ALSO" +.PP +pdfjam(1)\&. +.PP +.SH "LICENSE" +.PP +PDFjam is distributed under the GNU public license\&. +.PP +.SH "AUTHOR" +.PP +pdf180 is written and maintained by David Firth as part of the PDFjam package\&. + diff --git a/Master/texmf-dist/doc/man/man1/pdf180.man1.pdf b/Master/texmf-dist/doc/man/man1/pdf180.man1.pdf Binary files differnew file mode 100644 index 00000000000..a843ddbc4bc --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdf180.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/pdf270.1 b/Master/texmf-dist/doc/man/man1/pdf270.1 new file mode 100644 index 00000000000..b229678cf82 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdf270.1 @@ -0,0 +1,74 @@ +.TH "pdf270" "1" "10 March 2010" "" "" +.SH "NAME" +pdf270 \- rotate the pages of pdf files +.SH "SYNOPSIS" +.PP +pdf270 [OPTION [OPTION] \&.\&.\&.] [SRC [PAGESPEC] [SRC [PAGESPEC]] \&.\&.\&.] +.PP +.SH "DESCRIPTION" +.PP +pdf270 rotates the pages of files in the Adobe Portable Document Format (PDF) +through 90 degrees (clockwise)\&. +.PP +If no source PDF file ('SRC') is specified, input +is from /dev/stdin. If 'PAGESPEC' is omitted, all pages are processed. +.PP +Source files are processed sequentially into a single output +unless the '--batch' option is used, in which case they are processed +separately. +.PP +pdf270 operates on one or more PDF files, and (either with the '--batch' +option or with '--outfile DIR' where 'DIR' is a directory) the +resulting files have +the suffix 'rotated270' applied to their names by default. To change +the suffix, +use the '--suffix' option, for example +.PP +.RS +.B pdf270 --suffix '-turned' --batch myfile1.pdf myfile2.pdf +.RE +.PP +will result in files named 'myfile1-turned.pdf' and 'myfile2-turned.pdf'. +.PP +pdf270 is a simple wrapper for pdfjam, which is a front end to many of the capabilities of the pdfpages +package for pdflatex\&. A working installation of pdflatex with +the pdfpages package is required\&. +.PP +pdf270 is part of the "PDFjam" package of tools, whose homepage is at +http://go.warwick.ac.uk/pdfjam\&. +.PP +.SH "SETUP" +.PP +See http://go.warwick.ac.uk/pdfjam . +.PP +.SH "USAGE" +.PP +For the available options and site/user defaults, see the output of +.PP +.RS + pdfjam --help +.RE +.PP +For further information and some examples see +http://go.warwick.ac.uk/pdfjam . +.PP +.SH "LIMITATIONS AND BUGS" +.PP +pdf270 does not work with encrypted PDF files, and does not +preserve hyperlinks. +.PP +Please report bugs! See the website at +http://go.warwick.ac.uk/pdfjam \&. +.PP +.SH "SEE ALSO" +.PP +pdfjam(1)\&. +.PP +.SH "LICENSE" +.PP +PDFjam is distributed under the GNU public license\&. +.PP +.SH "AUTHOR" +.PP +pdf270 is written and maintained by David Firth as part of the PDFjam package\&. + diff --git a/Master/texmf-dist/doc/man/man1/pdf270.man1.pdf b/Master/texmf-dist/doc/man/man1/pdf270.man1.pdf Binary files differnew file mode 100644 index 00000000000..f9f3c2f2bd1 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdf270.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/pdf90.1 b/Master/texmf-dist/doc/man/man1/pdf90.1 new file mode 100644 index 00000000000..c04a36137af --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdf90.1 @@ -0,0 +1,74 @@ +.TH "pdf90" "1" "10 March 2010" "" "" +.SH "NAME" +pdf90 \- rotate the pages of pdf files +.SH "SYNOPSIS" +.PP +pdf90 [OPTION [OPTION] \&.\&.\&.] [SRC [PAGESPEC] [SRC [PAGESPEC]] \&.\&.\&.] +.PP +.SH "DESCRIPTION" +.PP +pdf90 rotates the pages of files in the Adobe Portable Document Format (PDF) +through 90 degrees (anti-clockwise)\&. +.PP +If no source PDF file ('SRC') is specified, input +is from /dev/stdin. If 'PAGESPEC' is omitted, all pages are processed. +.PP +Source files are processed sequentially into a single output +unless the '--batch' option is used, in which case they are processed +separately. +.PP +pdf90 operates on one or more PDF files, and (either with the '--batch' +option or with '--outfile DIR' where 'DIR' is a directory) the +resulting files have +the suffix 'rotated90' applied to their names by default. To change +the suffix, +use the '--suffix' option, for example +.PP +.RS +.B pdf90 --suffix '-turned' --batch myfile1.pdf myfile2.pdf +.RE +.PP +will result in files named 'myfile1-turned.pdf' and 'myfile2-turned.pdf'. +.PP +pdf90 is a simple wrapper for pdfjam, which is a front end to many of the capabilities of the pdfpages +package for pdflatex\&. A working installation of pdflatex with +the pdfpages package is required\&. +.PP +pdf90 is part of the "PDFjam" package of tools, whose homepage is at +http://go.warwick.ac.uk/pdfjam\&. +.PP +.SH "SETUP" +.PP +See http://go.warwick.ac.uk/pdfjam . +.PP +.SH "USAGE" +.PP +For the available options and site/user defaults, see the output of +.PP +.RS + pdfjam --help +.RE +.PP +For further information and some examples see +http://go.warwick.ac.uk/pdfjam . +.PP +.SH "LIMITATIONS AND BUGS" +.PP +pdf90 does not work with encrypted PDF files, and does not +preserve hyperlinks. +.PP +Please report bugs! See the website at +http://go.warwick.ac.uk/pdfjam \&. +.PP +.SH "SEE ALSO" +.PP +pdfjam(1)\&. +.PP +.SH "LICENSE" +.PP +PDFjam is distributed under the GNU public license\&. +.PP +.SH "AUTHOR" +.PP +pdf90 is written and maintained by David Firth as part of the PDFjam package\&. + diff --git a/Master/texmf-dist/doc/man/man1/pdf90.man1.pdf b/Master/texmf-dist/doc/man/man1/pdf90.man1.pdf Binary files differnew file mode 100644 index 00000000000..faa6ce0be31 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdf90.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/pdfbook.1 b/Master/texmf-dist/doc/man/man1/pdfbook.1 new file mode 100644 index 00000000000..75f72bd5aef --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdfbook.1 @@ -0,0 +1,86 @@ +.TH "pdfbook" "1" "10 March 2010" "" "" +.SH "NAME" +pdfbook \- put the pages of PDF files into 2-up signatures +.SH "SYNOPSIS" +.PP +pdfbook [--short-edge] [OPTION [OPTION] \&.\&.\&.] [SRC [PAGESPEC] [SRC [PAGESPEC]] \&.\&.\&.] +.PP +.SH "DESCRIPTION" +.PP +pdfbook makes 2-up versions of PDF files, with the pages ordered as +signatures. The default signature size is 4: to change this, use the +option '--signature N', where N is a multiple of 4 (alternatively use '--signature* N' for +right-edge binding). +.PP +The default is to make pages suitable for long-edge binding. For short-edge +binding, use '--short-edge' as the first argument; this will only work if the LaTeX package 'everyshi' is installed. +.PP +The default output page orientation is +landscape. To change this, use the '--no-landscape' option. +.PP +By default, the option '--booklet true' is used (see the pdfpages manual +for details). To turn this off, just specify '--booklet false'. +.PP +If no source PDF file ('SRC') is specified, input +is from /dev/stdin. If 'PAGESPEC' is omitted, all pages are processed. +.PP +Source files are processed sequentially into a single output +unless the '--batch' option is used, in which case they are processed +separately. +.PP +pdfbook is a simple wrapper for pdfjam, which provides a front end to +many of the capabilities of the pdfpages +package for pdflatex\&. A working installation of pdflatex, with +the pdfpages package, is required\&. +.PP +pdfbook operates on one or more PDF files, and (either with the '--batch' +option or with '--outfile DIR' where 'DIR' is a directory) the +resulting files have +the suffix '-book' applied to their names by default. To change the suffix, +use the '--suffix' option, for example +.PP +.RS +.B pdfbook --suffix 'sig4' --batch myfile1.pdf myfile2.pdf +.RE +.PP +will result in files named 'myfile1-sig4.pdf' and 'myfile2-sig4.pdf'. +.PP +pdfbook is part of the "PDFjam" package of tools, whose homepage is at +http://www.warwick.ac.uk/go/pdfjam\&. +.PP +.SH "SETUP" +.PP +See http://go.warwick.ac.uk/pdfjam . +.PP +.SH "USAGE" +.PP +For the other available options and +site/user defaults, see the output of +.PP +.RS +.B pdfjam --help +.RE +.PP +For further information and some examples see +http://go.warwick.ac.uk/pdfjam . +.PP +.SH "LIMITATIONS AND BUGS" +.PP +pdfbook does not work with encrypted PDF files, and does not +preserve hyperlinks. +.PP +Please report bugs! See the website at +http://www.warwick.ac.uk/go/pdfjam \&. +.PP +.SH "LICENSE" +.PP +PDFjam is distributed under the GNU public license\&. +.PP +.SH "SEE ALSO" +.PP +pdfjam(1)\&. +.PP +.SH "AUTHOR" +.PP +pdfbook is written and maintained by David Firth as part of the PDFjam package\&. + diff --git a/Master/texmf-dist/doc/man/man1/pdfbook.man1.pdf b/Master/texmf-dist/doc/man/man1/pdfbook.man1.pdf Binary files differnew file mode 100644 index 00000000000..4462f827e67 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdfbook.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/pdfclose.1 b/Master/texmf-dist/doc/man/man1/pdfclose.1 new file mode 100644 index 00000000000..d6621f5f70d --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdfclose.1 @@ -0,0 +1 @@ +.so man1/pdfopen.1 diff --git a/Master/texmf-dist/doc/man/man1/pdfclose.man1.pdf b/Master/texmf-dist/doc/man/man1/pdfclose.man1.pdf Binary files differnew file mode 100644 index 00000000000..0c9a0b8fd60 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdfclose.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/pdfetex.1 b/Master/texmf-dist/doc/man/man1/pdfetex.1 new file mode 100644 index 00000000000..986192148ef --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdfetex.1 @@ -0,0 +1,37 @@ +.TH PDFETEX 1 "14 May 2010" "pdftex 1.40" "Web2C 2012" +.\"===================================================================== +.if n .ds MF Metafont +.if t .ds MF M\s-2ETAFONT\s0 +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.if n .ds MF Metafont +.if t .ds MF M\s-2ETAFONT\s0 +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP\" for troff +.el .ds OX TeX\" for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.if t .ds AX \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(TX +.if n .ds AX AmSTeX +.if t .ds AY \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(LX +.if n .ds AY AmSLaTeX +.\"===================================================================== +.SH NAME +pdfetex \- PDF output from e-TeX +.SH SYNOPSIS +.B pdfetex +.RI [ options ] +.RI [ \fB&\fPformat ] +.RI [ file | \fB\e\fPcommands ] +.\"===================================================================== +.SH DESCRIPTION +pdfe\*(TX is another name for pdf\*(TX; they behave identically. +See pdftex(1) for all information. +.\"===================================================================== +.SH "SEE ALSO" +.BR pdftex (1), +http://pdftex.org, http://tug.org/web2c. diff --git a/Master/texmf-dist/doc/man/man1/pdfetex.man1.pdf b/Master/texmf-dist/doc/man/man1/pdfetex.man1.pdf Binary files differnew file mode 100644 index 00000000000..744f738fdf2 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdfetex.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/pdfflip.1 b/Master/texmf-dist/doc/man/man1/pdfflip.1 new file mode 100644 index 00000000000..9761790d9f6 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdfflip.1 @@ -0,0 +1,73 @@ +.TH "pdfflip" "1" "10 March 2010" "" "" +.SH "NAME" +pdfflip \- rotate the pages of pdf files +.SH "SYNOPSIS" +.PP +pdfflip [OPTION [OPTION] \&.\&.\&.] [SRC [PAGESPEC] [SRC [PAGESPEC]] \&.\&.\&.] +.PP +.SH "DESCRIPTION" +.PP +pdfflip reflects (left-right) the pages of files in the Adobe Portable Document Format (PDF)\&. +.PP +If no source PDF file ('SRC') is specified, input +is from /dev/stdin. If 'PAGESPEC' is omitted, all pages are processed. +.PP +Source files are processed sequentially into a single output +unless the '--batch' option is used, in which case they are processed +separately. +.PP +pdfflip operates on one or more PDF files, and (either with the '--batch' +option or with '--outfile DIR' where 'DIR' is a directory) the +resulting files have +the suffix '-flipped' applied to their names by default. To change +the suffix, +use the '--suffix' option, for example +.PP +.RS +.B pdfflip --suffix 'reflected' --batch myfile1.pdf myfile2.pdf +.RE +.PP +will result in files named 'myfile1-reflected.pdf' and 'myfile2-reflected.pdf'. +.PP +pdfflip is a simple wrapper for pdfjam, which is a front end to many of the capabilities of the pdfpages +package for pdflatex\&. A working installation of pdflatex with +the pdfpages package is required\&. +.PP +pdfflip is part of the "PDFjam" package of tools, whose homepage is at +http://go.warwick.ac.uk/pdfjam\&. +.PP +.SH "SETUP" +.PP +See http://go.warwick.ac.uk/pdfjam . +.PP +.SH "USAGE" +.PP +For the available options and site/user defaults, see the output of +.PP +.RS + pdfjam --help +.RE +.PP +For further information and some examples see +http://go.warwick.ac.uk/pdfjam . +.PP +.SH "LIMITATIONS AND BUGS" +.PP +pdfflip does not work with encrypted PDF files, and does not +preserve hyperlinks. +.PP +Please report bugs! See the website at +http://go.warwick.ac.uk/pdfjam \&. +.PP +.SH "SEE ALSO" +.PP +pdfjam(1)\&. +.PP +.SH "LICENSE" +.PP +PDFjam is distributed under the GNU public license\&. +.PP +.SH "AUTHOR" +.PP +pdfflip is written and maintained by David Firth as part of the PDFjam package\&. + diff --git a/Master/texmf-dist/doc/man/man1/pdfflip.man1.pdf b/Master/texmf-dist/doc/man/man1/pdfflip.man1.pdf Binary files differnew file mode 100644 index 00000000000..4e77b43f4c0 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdfflip.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/pdfjam-pocketmod.1 b/Master/texmf-dist/doc/man/man1/pdfjam-pocketmod.1 new file mode 100644 index 00000000000..4c51ef78806 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdfjam-pocketmod.1 @@ -0,0 +1,63 @@ +.TH "pdfjam-pocketmod" "1" "10 March 2010" "" "" +.SH "NAME" +pdfjam-pocketmod +\- make an 8-page PDF document into a pocket-sized booklet +.SH "SYNOPSIS" +.PP +.B pdfjam-pocketmod SRC [PAGESPEC] [OPTION [OPTION] \&.\&.\&.] +.PP +.SH "DESCRIPTION" +.PP +pdfjam-pocketmod converts 8 pages of a PDF file into a single 8-up page, with pages ordered and oriented for folding into pocket-sized booklet +( as described at http://repocketmod.com/ )\&. +.PP +SRC must be a regular PDF file (not /dev/stdin). +.PP +If PAGESPEC is omitted, the first 8 pages are processed. +.PP +OPTION is any option to pdfjam(1) other than --batch. +.PP +pdfjam-pocketmod is a simple wrapper for pdfjam, which provides a front end to some of the capabilities of the pdfpages +package for pdflatex\&. A working installation of pdflatex, with +the pdfpages package, is required\&. +.PP +pdfjam-pocketmod is part of the "PDFjam" package of tools, whose homepage is at +http://go.warwick.ac.uk/pdfjam \&. +.PP +.SH "SETUP" +.PP +See http://go.warwick.ac.uk/pdfjam . +.PP +.SH "USAGE" +.PP +For the available options and site/user defaults, see the output of +.PP +.RS +.B pdfjam --help +.RE +.PP +For further information and some examples see +http://go.warwick.ac.uk/pdfjam \&. +.PP +.SH "LIMITATIONS AND BUGS" +.PP +pdfjam-pocketmod does not work with encrypted PDF files, and does not preserve hyperlinks. +.PP +The '--keepinfo' option does not work. +.PP +Please report bugs! See the website at +http://www.warwick.ac.uk/go/pdfjam\&. +.PP +.SH "LICENSE" +.PP +PDFjam is distributed under the GNU public license\&. +.PP +.SH "SEE ALSO" +.PP +pdfjam(1)\&. +.PP +.SH "AUTHOR" +.PP +pdfjam-pocketmod is written and maintained by David Firth as part of the PDFjam +package\&. + diff --git a/Master/texmf-dist/doc/man/man1/pdfjam-pocketmod.man1.pdf b/Master/texmf-dist/doc/man/man1/pdfjam-pocketmod.man1.pdf Binary files differnew file mode 100644 index 00000000000..43cc467d13b --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdfjam-pocketmod.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/pdfjam-slides3up.1 b/Master/texmf-dist/doc/man/man1/pdfjam-slides3up.1 new file mode 100644 index 00000000000..09227631a10 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdfjam-slides3up.1 @@ -0,0 +1,88 @@ +.TH "pdfjam-slides3up" "1" "10 March 2010" "" "" +.SH "NAME" +pdfjam-slides3up \- put presentation slides onto 3-up pages +.SH "SYNOPSIS" +.PP +pdfjam-slides3up [--pagenumbering SWITCH] [OPTION [OPTION] \&.\&.\&.] [SRC [PAGESPEC] [SRC [PAGESPEC]] \&.\&.\&.] +.PP +.SH "DESCRIPTION" +.PP +pdfjam-slides3up converts PDF files whose pages are presentation slides (with +4:3 aspect ratio) into 3-up versions suitable for making a handout with space +for handwritten side notes +(for example). By default, the 3-up pages do not themselves have page numbers. +.PP +To put page numbers on the output pages, use either '--pagenumbering true' +or, for example, '--pagenumbering 3.4cm' to place the page numbers a bit +lower on the page than the default position. The value of 'SWITCH' must +be either 'true', 'false' or a dimension that can be used by LateX. (To +be precise, it's the value of the 'footskip' dimension in LaTeX; by default, +pdfjam-slides3up sets that as 3.1cm, which works pretty well in +conjunction with both '--paper a4paper' and '--paper letterpaper'.) +.PP +If no source PDF file ('SRC') is specified, input +is from /dev/stdin. If 'PAGESPEC' is omitted, all pages are processed. +.PP +Source files are processed sequentially into a single output +unless the '--batch' option is used, in which case they are processed +separately. +.PP +pdfjam-slides3up is a simple wrapper for pdfjam, which provides a front end to +many of the capabilities of the pdfpages +package for pdflatex\&. A working installation of pdflatex, with +the pdfpages package, is required\&. +.PP +pdfjam-slides3up operates on one or more PDF files, and (either with +the '--batch' option or with '--outfile DIR' where 'DIR' is a directory) the +resulting files have +the suffix '-3up' applied to their names by default. To change the suffix, +use the '--suffix' option, for example +.PP +.RS +.B pdfjam-slides3up --suffix '1x3' --batch myslides1.pdf myslides2.pdf +.RE +.PP +will result in files named 'myslides1-1x3.pdf' and 'myslides2-1x3.pdf'. +.PP +By default a narrow line frame is printed around every slide. This can be +turned off if required by using the option '--frame false'. +.PP +pdfjam-slides3up is part of the "PDFjam" package of tools, whose homepage is at +http://www.warwick.ac.uk/go/pdfjam \&. +.PP +.SH "SETUP" +.PP +See http://go.warwick.ac.uk/pdfjam . +.PP +.SH "USAGE" +.PP +For the other available options and +site /user defaults, see the output of +.PP +.RS +.B pdfjam --help +.RE +.PP +For further information and some examples see +http://go.warwick.ac.uk/pdfjam \&. +.PP +.SH "LIMITATIONS AND BUGS" +.PP +pdfjam-slides3up does not work with encrypted PDF files, and does not +preserve hyperlinks. +.PP +Please report bugs! See the website at +http://www.warwick.ac.uk/go/pdfjam \&. +.PP +.SH "LICENSE" +.PP +PDFjam is distributed under the GNU public license\&. +.PP +.SH "SEE ALSO" +.PP +pdfjam(1) pdfjam-slides6up(1) \&. +.PP +.SH "AUTHOR" +.PP +pdfjam-slides3up is written and maintained by David Firth as part of the PDFjam package\&. + diff --git a/Master/texmf-dist/doc/man/man1/pdfjam-slides3up.man1.pdf b/Master/texmf-dist/doc/man/man1/pdfjam-slides3up.man1.pdf Binary files differnew file mode 100644 index 00000000000..0a59e160e35 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdfjam-slides3up.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/pdfjam-slides6up.1 b/Master/texmf-dist/doc/man/man1/pdfjam-slides6up.1 new file mode 100644 index 00000000000..6e90363bc6f --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdfjam-slides6up.1 @@ -0,0 +1,87 @@ +.TH "pdfjam-slides6up" "1" "10 March 2010" "" "" +.SH "NAME" +pdfjam-slides6up \- put presentation slides onto 6-up pages +.SH "SYNOPSIS" +.PP +pdfjam-slides6up [--pagenumbering SWITCH] [OPTION [OPTION] \&.\&.\&.] [SRC [PAGESPEC] [SRC [PAGESPEC]] \&.\&.\&.] +.PP +.SH "DESCRIPTION" +.PP +pdfjam-slides6up converts PDF files whose pages are presentation slides (with +4:3 aspect ratio) into 6-up versions suitable for making a handout +(for example). By default, the 6-up pages do not themselves have page numbers. +.PP +To put page numbers on the output pages, use either '--pagenumbering true' +or, for example, '--pagenumbering 3.0cm' to place the page numbers a bit +lower on the page than the default position. The value of 'SWITCH' must +be either 'true', 'false' or a dimension that can be used by LateX. (To +be precise, it's the value of the 'footskip' dimension in LaTeX; by default, +pdfjam-slides6up sets that as 2.7cm, which works pretty well in +conjunction with both '--paper a4paper' and '--paper letterpaper'.) +.PP +If no source PDF file ('SRC') is specified, input +is from /dev/stdin. If 'PAGESPEC' is omitted, all pages are processed. +.PP +Source files are processed sequentially into a single output +unless the '--batch' option is used, in which case they are processed +separately. +.PP +pdfjam-slides6up is a simple wrapper for pdfjam, which provides a front end to +many of the capabilities of the pdfpages +package for pdflatex\&. A working installation of pdflatex, with +the pdfpages package, is required\&. +.PP +pdfjam-slides6up operates on one or more PDF files, and (either with +the '--batch' option or with '--outfile DIR' where 'DIR' is a directory) the +resulting files have +the suffix '-6up' applied to their names by default. To change the suffix, +use the '--suffix' option, for example +.PP +.RS +.B pdfjam-slides6up --suffix '2x3' --batch myslides1.pdf myslides2.pdf +.RE +.PP +will result in files named 'myslides1-2x3.pdf' and 'myslides2-2x3.pdf'. +.PP +By default a narrow line frame is printed around every slide. This can be +turned off if required by using the option '--frame false'. +.PP +pdfjam-slides6up is part of the "PDFjam" package of tools, whose homepage is at +http://www.warwick.ac.uk/go/pdfjam \&. +.PP +.SH "SETUP" +.PP +See http://go.warwick.ac.uk/pdfjam . +.PP +.SH "USAGE" +.PP +For the other available options and +site/user defaults, see the output of +.PP +.RS +.B pdfjam --help +.RE +.PP +For further information and some examples see +http://go.warwick.ac.uk/pdfjam \&. +.PP +.SH "LIMITATIONS AND BUGS" +.PP +pdfjam-slides6up does not work with encrypted PDF files, and does not +preserve hyperlinks. +.PP +Please report bugs! See the website at +http://www.warwick.ac.uk/go/pdfjam \&. +.PP +.SH "LICENSE" +.PP +PDFjam is distributed under the GNU public license\&. +.PP +.SH "SEE ALSO" +.PP +pdfjam(1) pdfjam-slides3up(1) \&. +.PP +.SH "AUTHOR" +.PP +pdfjam-slides6up is written and maintained by David Firth as part of the PDFjam package\&. + diff --git a/Master/texmf-dist/doc/man/man1/pdfjam-slides6up.man1.pdf b/Master/texmf-dist/doc/man/man1/pdfjam-slides6up.man1.pdf Binary files differnew file mode 100644 index 00000000000..2d6c520fe87 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdfjam-slides6up.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/pdfjam.1 b/Master/texmf-dist/doc/man/man1/pdfjam.1 new file mode 100644 index 00000000000..49a0e4990c2 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdfjam.1 @@ -0,0 +1,58 @@ +.TH "pdfjam" "1" "10 March 2010" "" "" +.SH "NAME" +pdfjam \- A shell script for manipulating PDF files +.SH "SYNOPSIS" +.PP +pdfjam [OPTION [OPTION] \&.\&.\&.] [SRC [PAGESPEC] [SRC [PAGESPEC]] \&.\&.\&.] +.PP +.SH "DESCRIPTION" +.PP +pdfjam provides a front end to most capabilities of the +"pdfpages" package (by Andreas Matthias) of pdflatex. +Detailed information can be found via +"pdfjam --help", and also in the web page mentioned below \&. +.PP +A working installation of pdflatex, with +the pdfpages package, is required\&. +.PP +The pdfjam script is distributed as (the main) part of the PDFjam package. The homepage of PDFjam is at +http://go.warwick.ac.uk/pdfjam \&. +.PP +.SH "SETUP" +.PP +See http://go.warwick.ac.uk/pdfjam . +.PP +.PP +For further information and some examples see +http://go.warwick.ac.uk/pdfjam \&. +.PP +.SH "CONFIGURATION FILES" +.PP +Configuration of the PDFjam utilities +involves specifying the location of pdflatex, +the location of temporary files, specification of default page size, +etc. This is done in a block of lines near the top of the pdfjam script; +settings made there are over-ridden by any that +are found at a site-wide configuration file +(at /etc/pdfjam.conf, +/usr/share/etc/pdfjam.conf, /usr/local/share/pdfjam.conf, or +/usr/local/etc/pdfjam.conf), which +in turn are over-ridden by any that are found in a user-defaults +file at ~/.pdfjam.conf\&. +.PP +.SH "LIMITATIONS AND BUGS" +.PP +pdfjam does not work with encrypted PDF files, and does not +preserve hyperlinks. +.PP +Please report bugs! See the website at +http://go.warwick.ac.uk/pdfjam \&. +.PP +.SH "LICENSE" +.PP +PDFjam is distributed under the GNU public license\&. +.PP +.SH "AUTHOR" +.PP +The PDFjam package is written and maintained by David Firth\&. + diff --git a/Master/texmf-dist/doc/man/man1/pdfjam.man1.pdf b/Master/texmf-dist/doc/man/man1/pdfjam.man1.pdf Binary files differnew file mode 100644 index 00000000000..023726a7c7b --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdfjam.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/pdfjoin.1 b/Master/texmf-dist/doc/man/man1/pdfjoin.1 new file mode 100644 index 00000000000..c55b4a4938c --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdfjoin.1 @@ -0,0 +1,66 @@ +.TH "pdfjoin" "1" "10 March 2010" "" "" +.SH "NAME" +pdfjoin +\- join together pages from multiple PDF files +.SH "SYNOPSIS" +.PP +.B pdfjoin [OPTION [OPTION] \&.\&.\&.] [SRC [PAGESPEC] [SRC [PAGESPEC]] \&.\&.\&.] +.PP +.SH "DESCRIPTION" +.PP +pdfjoin +concatenates the pages of multiple Portable Document Format (PDF) +files together into a single file.\&. +.PP +If no source PDF file ('SRC') is specified, input (but just one file -- not +very useful here! +is from /dev/stdin. If 'PAGESPEC' is omitted, all pages are processed. +.PP +Source files are processed sequentially into a single output. +The '--batch' option of pdfjam(1) cannot be used. +.PP +pdfjoin is a simple wrapper for pdfjam, which provides a front end to many of the capabilities of the pdfpages +package for pdflatex\&. A working installation of pdflatex, with +the pdfpages package, is required\&. +.PP +pdfjoin is part of the "PDFjam" package of tools, whose homepage is at +http://go.warwick.ac.uk/pdfjam \&. +.PP +.SH "SETUP" +.PP +See http://go.warwick.ac.uk/pdfjam . +.PP +.SH "USAGE" +.PP +For the available options and site/user defaults, see the output of +.PP +.RS +.B pdfjam --help +.RE +.PP +For further information and some examples see +http://go.warwick.ac.uk/pdfjam \&. +.PP +.SH "LIMITATIONS AND BUGS" +.PP +The pages of the output file will all have the same size and orientation. +.PP +pdfjoin does not work with encrypted PDF files, and does not +preserve hyperlinks. The output pages are all one size. +.PP +Please report bugs! See the website at +http://www.warwick.ac.uk/go/pdfjam \&. +.PP +.SH "LICENSE" +.PP +PDFjam is distributed under the GNU public license\&. +.PP +.SH "SEE ALSO" +.PP +pdfjam(1)\&. +.PP +.SH "AUTHOR" +.PP +pdfjoin is written and maintained by David Firth as part of the PDFjam +package\&. + diff --git a/Master/texmf-dist/doc/man/man1/pdfjoin.man1.pdf b/Master/texmf-dist/doc/man/man1/pdfjoin.man1.pdf Binary files differnew file mode 100644 index 00000000000..83732dfb3fb --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdfjoin.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/pdflatex.1 b/Master/texmf-dist/doc/man/man1/pdflatex.1 new file mode 100644 index 00000000000..8e9a6b03670 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdflatex.1 @@ -0,0 +1 @@ +.so man1/pdftex.1 diff --git a/Master/texmf-dist/doc/man/man1/pdflatex.man1.pdf b/Master/texmf-dist/doc/man/man1/pdflatex.man1.pdf Binary files differnew file mode 100644 index 00000000000..25d38073d17 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdflatex.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/pdfnup.1 b/Master/texmf-dist/doc/man/man1/pdfnup.1 new file mode 100644 index 00000000000..86953387e89 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdfnup.1 @@ -0,0 +1,78 @@ +.TH "pdfnup" "1" "10 March 2010" "" "" +.SH "NAME" +pdfnup \- n-up the pages of pdf files +.SH "SYNOPSIS" +.PP +pdfnup [OPTION [OPTION] \&.\&.\&.] [SRC [PAGESPEC] [SRC [PAGESPEC]] \&.\&.\&.] +.PP +.SH "DESCRIPTION" +.PP +pdfnup converts files in the Adobe Portable Document Format (PDF) +to "n-up" PDF files, that is, with multiple input pages +per output page, for +more economical printing etc\&. The default processing is to 2-up +landscape output with no frame around pages, equivalent to using the +options '--nup 2x1 --landscape true --frame false'. +.PP +If no source PDF file ('SRC') is specified, input +is from /dev/stdin. If 'PAGESPEC' is omitted, all pages are processed. +.PP +Source files are processed sequentially into a single output +unless the '--batch' option is used, in which case they are processed +separately. +.PP +pdfnup operates on one or more PDF files, and (either with the '--batch' +option or with '--outfile DIR' where 'DIR' is a directory) the +resulting files have +the suffix '-nup' applied to their names by default. To change +the suffix, +use the '--suffix' option, for example +.PP +.RS +.B pdfnup --nup 2x2 --suffix '2x2' --batch myfile1.pdf myfile2.pdf +.RE +.PP +will result in files named 'myfile1-2x2.pdf' and 'myfile2-2x2.pdf'. +.PP +pdfnup is a simple wrapper for pdfjam, which provides a front end to many of the capabilities of the pdfpages +package for pdflatex\&. A working installation of pdflatex, with +the pdfpages and geometry packages, is required\&. +.PP +pdfnup is part of the "PDFjam" package of tools, whose homepage is at +http://www.warwick.ac.uk/go/pdfjam \&. +.PP +.SH "SETUP" +.PP +See http://go.warwick.ac.uk/pdfjam . +.PP +.SH "USAGE" +.PP +For the available options and site/user defaults, see the output of +.PP +.RS +.B pdfjam --help +.RE +.PP +For further information and some examples see +http://go.warwick.ac.uk/pdfjam . +.PP +.SH "LIMITATIONS AND BUGS" +.PP +pdfnup does not work with encrypted PDF files, and does not +preserve hyperlinks. +.PP +Please report bugs! See the website at +http://www.warwick.ac.uk/go/pdfjam \&. +.PP +.SH "LICENSE" +.PP +PDFjam is distributed under the GNU public license\&. +.PP +.SH "SEE ALSO" +.PP +pdfjam(1) pdfpun(1) \&. +.PP +.SH "AUTHOR" +.PP +pdfnup is written and maintained by David Firth as part of the PDFjam package\&. + diff --git a/Master/texmf-dist/doc/man/man1/pdfnup.man1.pdf b/Master/texmf-dist/doc/man/man1/pdfnup.man1.pdf Binary files differnew file mode 100644 index 00000000000..f387885524f --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdfnup.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/pdfopen.1 b/Master/texmf-dist/doc/man/man1/pdfopen.1 new file mode 100644 index 00000000000..82239785469 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdfopen.1 @@ -0,0 +1,160 @@ +.\" This manpage is licensed under the GNU Public License +.TH PDFOPEN 1 2012-01-28 "pdfopen 0.83" "" +. +.SH NAME +pdfopen, pdfclose \- open or close a PDF file viewer +. +.SH SYNOPSIS +.B pdfopen +[\fIOPTION\fP] +\fIFILE.PDF\fP +.br +.B pdfclose +\fIFILE.PDF\fP +. +.SH OPTIONS +.TP 8 +.B -h, --help +output help and exit +.TP +.B -v, --version +output the version number and exit +.TP +.B -r, --reset_focus +after sending commands to the PDF viewer, attempt to reset the input focus to +the window which had focus before the commands were sent +.TP +.B -viewer +<\fIar9\fP|\fIar9-tab\fP|\fIar8\fP|\fIar7\fP|\fIar5\fP|\fIxpdf\fP|\fIevince\fP> +use (respectively) Adobe Reader 9 (in a new window), Adobe Reader 9 +(in a new tab of a running AR9, if any), +Adobe Reader 8, Adobe Reader 7, Adobe Reader 5, xpdf or evince as the +PDF viewer program. +Adobe Reader 9 (in a new window) is the default. +. +.SH RATIONALE +At certain points of TeX document preparation, many people repeat a +"edit-compile-view" cycle. Since PDF viewers such as Adobe's Acrobat +Reader ("\fBacroread\fP") do not automatically refresh the display when the +PDF file changes, this cycle can be more cumbersome than desired. +The +.B pdfopen +program provides the ability to automate the reloading of the PDF +document when it is changed. + +Note: there seems to be little need for +.B pdfclose +under GNU/Linux, since (unlike the situation for MS windows) +.B acroread +does not lock the PDF file, which would prevent +.B pdftex +(or a DVI to PDF converter) from creating a new version of the PDF +output file. However, +.B pdfclose +is provided in case someone finds it useful. +. +.SH DESCRIPTION +.B pdfopen +searches for an instance of the specified (or default) PDF viewer +displaying the specified PDF file. +If there is already an instance of the given viewer displaying the +given file, the viewer is instructed to reload the file. If no such +instance is found, \fBpdfopen\fP attempts to run the specified viewer +on the specified document. + +The default viewer is "\fBacroread\fP", which could start any one +of a number of versions of Acrobat Reader, depending on what is +installed on your system. However, the commands to reload the current +document vary from one version of \fBacroread\fP to another; +consequently, if you are using a version of \fBacroread\fP other than +AR9, you should explicitly specify the viewer program. + +Version 0.83 of \fBpdfopen\fP accepts the following viewer options: +.br +\fIar9\fP, \fIar9-tab\fP, \fIar8\fP, \fIar7\fP, \fIar5\fP, \fIxpdf\fP, +and \fIevince\fP. +.br +The difference between \fIar9\fP and \fIar9-tab\fP is significant +when there is no instance of AR9 already displaying the requested +document. In this situation, while \fIar9\fP will +request \fBacroread\fP to create a new instance of \fBacroread\fP +(and thus open a new window) by using the \fB-openInNewInstance\fP +argument, \fIar9-tab\fP starts \fBacroread\fP without this argument; +if there is already an instance of \fBacroread\fP running, a new +tab will be opened in an existing window. + +.B pdfclose +searches for one of the above PDF viewers displaying the given file +and instructs the viewer to "close" the window. In most cases, the +PDF viewer continues to run, possibly now displaying just a blank +window. (This behaviour varies somewhat from one PDF viewer to another.) +. +.SH PORTABILITY AND AVAILABILITY +Users familiar with the Windows version of +.B pdfopen +might wonder about the lack of a +.B --page +.IR <pagenumber> +option. Unfortunately, to date no GNU/Linux versions of +.B acroread +support this feature. Anyone having a friend at Adobe is encouraged +to ask them to implement a +"\fB-page \fP\fI<pagenumber>\fP" +command line option for \fBacroread\fP. + +These programs have been tested on Slackware64 Version 13.37 and a few +other versions / distributions of GNU/Linux. The code is reasonably +generic and should work out of the box using most recent X11 +implementations. (Reports to the contrary are welcome, particularly +if they come with robust fixes.) + +These programs are designed for X11-based systems. If you somehow +find compiled versions of these programs on a system using another +window system, they are very unlikely to be of any use to you. + +Source and binaries of the programs can be downloaded from +CTAN://support/xpdfopen/ +(e.g., http://mirror.ctan.org/support/xpdfopen). +. +.SH CAVEATS +If you use +.I ar9-tab +to reload the PDF document and the instance +of +.B acroread +with the given document is currently displaying some other document, +the command causes your document to be displayed, but not reloaded. + +.B pdfopen +works by looking for a window with a name (window title) matching that +expected for the given viewer and document. If for some reason your +viewer's window name is not as expected, +.B pdfopen +may not work for you. + +With at least AR9 and some window managers, using +.B pdfopen +to reload the document gives focus to the +.B acroread +window, even though the mouse cursor is not necessarily in that +window. This can be annoying. The \fB-reset_focus\fP option can be +used to deal with this problem. +. +.SH AUTHOR +This manual page was written by Jim Diamond <Jim.Diamond@acadiau.ca>. +I am the current maintainer of the X11 versions of +.B pdfopen +and +\fBpdfclose\fP. +Report any bugs you find to me. Feature enhancement requests are +welcome, coded enhancements even more so. + +Past authors: +Fabrice Popineau wrote the MS-windows versions of +.B pdfopen +and +.B pdfclose +upon which these programs were originally based. +Taco Hoekwater created the GNU/Linux versions, up to Version 0.61 +(including some documentation which inspired parts of this man page). + diff --git a/Master/texmf-dist/doc/man/man1/pdfopen.man1.pdf b/Master/texmf-dist/doc/man/man1/pdfopen.man1.pdf Binary files differnew file mode 100644 index 00000000000..06fa98d5993 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdfopen.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/pdfpun.1 b/Master/texmf-dist/doc/man/man1/pdfpun.1 new file mode 100644 index 00000000000..0e4b3415429 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdfpun.1 @@ -0,0 +1,68 @@ +.TH "pdfpun" "1" "10 March 2010" "" "" +.SH "NAME" +pdfpun \- n-up the pages of a pdf file, with right-to-left ordering +.SH "SYNOPSIS" +.PP +pdfpun SRC [PAGESPEC] --outfile FILENAME [OPTION [OPTION] \&.\&.\&.] +.PP +.SH "DESCRIPTION" +.PP +pdfpun converts a file in the Adobe Portable Document Format (PDF) +to a "n-up" PDF file, that is, with multiple input pages +per output page, for +more economical printing etc\&. The pages are ordered right-to-left in the +output. The default processing is to 2-up +landscape output with no frame around pages, equivalent to using the +options '--nup 2x1 --landscape --frame false'. +.PP +SRC must be a PDF file; '/dev/stdin' can be used for PDF input via a pipeline. +.PP +If PAGESPEC is omitted, all pages are processed (equivalent to '-' as PAGESPEC) +.PP +OPTION is any option of pdfjam(1) other than --batch. +.PP +pdfpun is a simple wrapper for pdfjam, which provides a front end to many +of the capabilities of the pdfpages package for pdflatex\&. +A working installation of pdflatex, with +the pdfpages package, is required\&. +.PP +pdfpun is part of the "PDFjam" package of tools, whose homepage is at +http://www.warwick.ac.uk/go/pdfjam\&. +.PP +.SH "SETUP" +.PP +See http://go.warwick.ac.uk/pdfjam . +.PP +.SH "USAGE" +.PP +For the available options and site/user defaults, see the output of +.PP +.RS +.B pdfjam --help +.RE +.PP +For further information and some examples see +http://go.warwick.ac.uk/pdfjam \&. +.PP +.SH "LIMITATIONS AND BUGS" +.PP +pdfpun does not work with encrypted PDF files, and does not +preserve hyperlinks. +.PP +The '--keepinfo' option does not work. +.PP +Please report bugs! See the website at +http://www.warwick.ac.uk/go/pdfjam \&. +.PP +.SH "LICENSE" +.PP +PDFjam is distributed under the GNU public license\&. +.PP +.SH "SEE ALSO" +.PP +pdfjam(1) pdfnup(1)\&. +.PP +.SH "AUTHOR" +.PP +pdfpun is written and maintained by David Firth as part of the PDFjam package\&. + diff --git a/Master/texmf-dist/doc/man/man1/pdfpun.man1.pdf b/Master/texmf-dist/doc/man/man1/pdfpun.man1.pdf Binary files differnew file mode 100644 index 00000000000..3d11c6d8ad6 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdfpun.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/pdftex.1 b/Master/texmf-dist/doc/man/man1/pdftex.1 new file mode 100644 index 00000000000..d94e290be96 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdftex.1 @@ -0,0 +1,476 @@ +.TH PDFTEX 1 "1 March 2011" "pdftex 1.40" "Web2C 2012" +.\"===================================================================== +.if n .ds MF Metafont +.if t .ds MF M\s-2ETAFONT\s0 +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.if n .ds MF Metafont +.if t .ds MF M\s-2ETAFONT\s0 +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.el .ds OX TeX for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.if t .ds AX \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(TX +.if n .ds AX AmSTeX +.if t .ds AY \fRA\\h'-0.1667m'\\v'0.20v'M\\v'-0.20v'\\h'-0.125m'S\fP\*(LX +.if n .ds AY AmSLaTeX +.if n .ds WB Web +.if t .ds WB W\s-2EB\s0 +.\"===================================================================== +.SH NAME +pdftex, pdfinitex, pdfvirtex \- PDF output from TeX +.SH SYNOPSIS +.B pdftex +.RI [ options ] +.RI [ \fB&\fPformat ] +.RI [ file | \fB\e\fPcommands ] +.\"===================================================================== +.SH DESCRIPTION +Run the pdf\*(TX typesetter on +.IR file , +usually creating +.IR file.pdf . +If the file argument has no extension, ".tex" will be appended to it. +Instead of a filename, a set of pdf\*(TX commands can be given, the first +of which must start with a backslash. +With a +.BI & format +argument pdf\*(TX uses a different set of precompiled commands, +contained in +.IR format\fB.fmt\fP ; +it is usually better to use the +.B -fmt +.I format +option instead. +.PP +pdf\*(TX is a version of \*(TX, with the e-\*(TX extensions, that can create +.I PDF +files as well as +.I DVI +files. +.PP +In +.I DVI +mode, pdf\*(TX can be used as a complete replacement for the \*(TX +engine. +.PP +The typical use of pdf\*(TX is with a pregenerated formats for which +PDF output has been enabled. The +.B pdftex +command uses the equivalent of the plain \*(TX format, and the +.B pdflatex +command uses the equivalent of the \*(LX format. +To generate formats, use the +.B -ini +switch. +.PP +The +.B pdfinitex +and +.B pdfvirtex +commands are pdf\*(TX's analogues to the +.B initex +and +.B virtex +commands. In this installation, if the links exist, they are symbolic +links to the +.B pdftex +executable. +.PP +In +.I PDF +mode, pdf\*(TX can natively handle the +.IR PDF , +.IR JPG , +.IR JBIG2 , +and +.I PNG +graphics formats. pdf\*(TX cannot include PostScript or Encapsulated +PostScript (EPS) graphics files; first convert them to PDF using +.BR epstopdf (1). +pdf\*(TX's handling of its command-line arguments is similar to that of +of the other \*(TX programs in the +.I web2c +implementation. +.\"===================================================================== +.SH OPTIONS +This version of pdf\*(TX understands the following command line options. +.TP +.B -draftmode +Sets \epdfdraftmode so pdf\*(TX doesn't write a PDF and doesn't read any +included images, thus speeding up execution. +.TP +.B -enc +Enable the enc\*(TX extensions. This option is only effective in +combination with +.BR -ini . +For documentation of the enc\*(TX extensions see +.BR http://www.olsak.net/enctex.html . +.TP +.B -etex +Enable the e-\*(TX extensions. This option is only effective in +combination with +.BR -ini . +See +.BR etex (1). +.TP +.B -file-line-error +Print error messages in the form +.I file:line:error +which is similar to the way many compilers format them. +.TP +.B -no-file-line-error +Disable printing error messages in the +.I file:line:error +style. +.TP +.B -file-line-error-style +This is the old name of the +.B -file-line-error +option. +.TP +.BI -fmt \ format +Use +.I format +as the name of the format to be used, instead of the name by which +pdf\*(TX was called or a +.I %& +line. +.TP +.B -halt-on-error +Exit with an error code when an error is encountered during processing. +.TP +.B -help +Print help message and exit. +.TP +.B -ini +Start in +.I INI +mode, which is used to dump formats. The +.I INI +mode can be used for typesetting, but no format is preloaded, and +basic initializations like setting catcodes may be required. +.TP +.BI -interaction \ mode +Sets the interaction mode. The mode can be either +.IR batchmode , +.IR nonstopmode , +.IR scrollmode , +and +.IR errorstopmode . +The meaning of these modes is the same as that of the corresponding +\ecommands. +.TP +.B -ipc +Send DVI or PDF output to a socket as well as the usual output file. +Whether this option is available is the choice of the installer. +.TP +.B -ipc-start +As +.BR -ipc , +and starts the server at the other end as well. Whether this option +is available is the choice of the installer. +.TP +.BI -jobname \ name +Use +.I name +for the job name, instead of deriving it from the name of the input file. +.TP +.BI -kpathsea-debug \ bitmask +Sets path searching debugging flags according to the bitmask. See the +.I Kpathsea +manual for details. +.TP +.BI -mktex \ fmt +Enable +.RI mktex fmt , +where +.I fmt +must be either +.I tex +or +.IR tfm . +.TP +.B -mltex +Enable ML\*(TX extensions. Only effective in combination with +.BR -ini . +.TP +.BI -no-mktex \ fmt +Disable +.RI mktex fmt , +where +.I fmt +must be either +.I tex +or +.IR tfm . +.TP +.BI -output-comment \ string +In +.I DVI +mode, use +.I string +for the +.I DVI +file comment instead of the date. This option is ignored +in +.I PDF +mode. +.TP +.BI -output-directory \ directory +Write output files in +.I directory +instead of the current directory. Look up input files in +.I directory +first, the along the normal search path. +.TP +.BI -output-format \ format +Set the output format mode, where +.I format +must be either +.I pdf +or +.IR dvi . +This also influences the set of graphics formats understood by pdf\*(TX. +.TP +.B -parse-first-line +If the first line of the main input file begins with +.I %& +parse it to look for a dump name or a +.B -translate-file +option. +.TP +.B -no-parse-first-line +Disable parsing of the first line of the main input file. +.TP +.BI -progname \ name +Pretend to be program +.IR name . +This affects both the format used and the search paths. +.TP +.B -recorder +Enable the filename recorder. +This leaves a trace of the files opened for input and output +in a file with extension +.IR .fls . +.TP +.B -shell-escape +Enable the +.BI \ewrite18{ command } +construct. The +.I command +can be any shell command. This construct is normally +disallowed for security reasons. +.TP +.B -no-shell-escape +Disable the +.BI \ewrite18{ command } +construct, even if it is enabled in the +.I texmf.cnf +file. +.TP +.B -src-specials +In +.I DVI +mode, insert source specials into the +.I DVI +file. +This option is ignored in +.I PDF +mode. +.TP +.BI -src-specials \ where +In +.I DVI +mode, insert source specials in certain placed of the +.I DVI +file. +.I where +is a comma-separated value list: +.IR cr , +.IR display , +.IR hbox , +.IR math , +.IR par , +.IR parent , +or +.IR vbox . +This option is ignored in +.I PDF +mode. +.TP +.BI -translate-file \ tcxname +Use the +.I tcxname +translation table to set the mapping of input characters and +re-mapping of output characters. +.TP +.BI -default-translate-file \ tcxname +Like +.B -translate-file +except that a +.I %& +line can overrule this setting. +.TP +.B -version +Print version information and exit. +.\"===================================================================== +.SH ENVIRONMENT +See the Kpathsearch library documentation (the `Path specifications' +node) for precise details of how the environment variables are used. +The +.B kpsewhich +utility can be used to query the values of the variables. +.PP +One caveat: In most pdf\*(TX formats, you cannot use ~ in a filename you +give directly to pdf\*(TX, because ~ is an active character, and hence is +expanded, not taken as part of the filename. Other programs, such as +\*(MF, do not have this problem. +.PP +.TP +.B TEXMFOUTPUT +Normally, pdf\*(TX puts its output files in the current directory. If +any output file cannot be opened there, it tries to open it in the +directory specified in the environment variable TEXMFOUTPUT. +There is no default value for that variable. For example, if you say +.I pdftex paper +and the current directory is not writable and TEXMFOUTPUT has +the value +.IR /tmp , +pdf\*(TX attempts to create +.I /tmp/paper.log +(and +.IR /tmp/paper.pdf , +if any output is produced.) TEXMFOUTPUT is also checked for input +files, as \*(TX often generates files that need to be subsequently +read; for input, no suffixes (such as ``.tex'') are added by default, +the input name is simply checked as given. +.TP +.B TEXINPUTS +Search path for +.I \einput +and +.I \eopenin +files. +This should start with ``.'', so +that user files are found before system files. An empty path +component will be replaced with the paths defined in the +.I texmf.cnf +file. For example, set TEXINPUTS to ".:/home/user/tex:" to prepend the +current directory and ``/home/user/tex'' to the standard search path. +.TP +.B TEXFORMATS +Search path for format files. +.TP +.B TEXPOOL +search path for +.B pdftex +internal strings. +.TP +.B TEXEDIT +Command template for switching to editor. The default, usually +.BR vi , +is set when pdf\*(TX is compiled. +.TP +.B TFMFONTS +Search path for font metric +.RI ( .tfm ) +files. +.\"===================================================================== +.SH FILES +The location of the files mentioned below varies from system to +system. Use the +.B kpsewhich +utility to find their locations. +.TP +.I pdftex.pool +Text file containing pdf\*(TX's internal strings. +.TP +.I pdftex.map +Filename mapping definitions. +.TP +.I *.tfm +Metric files for pdf\*(TX's fonts. +.TP +.I *.fmt +Predigested pdf\*(TX format (.\|fmt) files. +.br +.\"===================================================================== +.SH NOTES +Starting with version 1.40, pdf\*(TX incorporates the e-\*(TX +extensions, and pdfe\*(TX is just a copy of pdf\*(TX. See +.BR etex (1). +This manual page is not meant to be exhaustive. The complete +documentation for this version of pdf\*(TX can be found in the +.IR "pdf\*(TX manual" +and the info manual +.IR "Web2C: A TeX implementation" . +.\"===================================================================== +.SH BUGS +This version of pdf\*(TX implements a number of optional extensions. +In fact, many of these extensions conflict to a greater or lesser +extent with the definition of pdf\*(TX. When such extensions are +enabled, the banner printed when pdf\*(TX starts is changed to print +.B pdfTeXk +instead of +.BR pdfTeX . +.PP +This version of pdf\*(TX fails to trap arithmetic overflow when +dimensions are added or subtracted. Cases where this occurs are rare, +but when it does the generated +.I DVI +file will be invalid. Whether a generated +.I PDF +file would be usable is unknown. +.\"===================================================================== +.SH AVAILABILITY +pdf\*(TX is available for a large variety of machine architectures +and operation systems. +pdf\*(TX is part of all major \*(TX distributions. +.P +Information on how to get pdf\*(TX and related information +is available at the +.B http://www.pdftex.org +.IR "pdf\*(TX" +web site. +.P +The following pdfe\*(TX related mailing list is available: +.BR pdftex@tug.org . +This is a mailman list; +to subscribe send a message containing +.I subscribe +to +.BR pdftex-request@tug.org . +A web interface and list archives can be found at the +.B "http://lists.tug.org/pdftex" +mailing list web site. +.\"===================================================================== +.SH "SEE ALSO" +.BR epstopdf (1), +.BR etex (1), +.BR latex (1), +.BR mptopdf (1), +.BR tex (1), +.BR mf (1). +http://tug.org/applications/pdftex, http://tug.org/web2c. +.\"===================================================================== +.SH AUTHORS +The primary authors of pdf\*(TX are Han The Thanh, Petr Sojka, +Jiri Zlatuska, and Peter Breitenlohner (e\*(TX). +.PP +\*(TX was designed by Donald E. Knuth, +who implemented it using his \*(WB system for Pascal programs. +It was ported to Unix at Stanford by Howard Trickey, and +at Cornell by Pavel Curtis. +The version now offered with the Unix \*(TX distribution is that +generated by the \*(WB to C system +.RB ( web2c ), +originally written by Tomas Rokicki and Tim Morgan. +.PP +The enc\*(TX extensions were written by Petr Olsak. +.\" vim: syntax=nroff diff --git a/Master/texmf-dist/doc/man/man1/pdftex.man1.pdf b/Master/texmf-dist/doc/man/man1/pdftex.man1.pdf Binary files differnew file mode 100644 index 00000000000..e66da00c779 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdftex.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/pdftosrc.1 b/Master/texmf-dist/doc/man/man1/pdftosrc.1 new file mode 100644 index 00000000000..847f912e5f3 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdftosrc.1 @@ -0,0 +1,237 @@ +.\" Process this file with +.\" groff -man -Tascii pdftosrc.1 +.\" +.\" $Id: pdftosrc.1,v 1.5 2006/12/22 23:46:23 hhenkel Exp $ +.\" +.TH pdftosrc 1 "23 December 2006" "User Manuals" +.SH NAME +pdftosrc \- extract source file or stream from PDF file +.SH SYNOPSIS +.B pdftosrc +.I PDF-file +.RI [ stream-object-number ] +.SH DESCRIPTION +If only +.I PDF-file +is given as argument, +.B pdftosrc +extracts the embedded source file +from the first found stream object +with /Type /SourceFile within the +.I PDF-file +and writes it to a file with the name /SourceName +as defined in that PDF stream object +(see application example below). + +If both +.I PDF-file +and +.I stream-object-number +are given as arguments, and +.I stream-object-number +is positive, +.B pdftosrc +extracts and uncompresses the PDF stream of the object +given by its +.I stream-object-number +from the +.I PDF-file +and writes it to a file named +.IR PDF-file . stream-object-number +with the ending +.B .pdf +or +.B .PDF +stripped from the original +.I PDF-file +name. + +A special case is related to XRef object streams that are part +of the PDF standard from PDF-1.5 onward: +If +.I stream-object-number +equals -1, +then +.B pdftosrc +decompresses the XRef stream from the PDF file and writes it +in human-readable PDF cross-reference table format to a file named +.IB PDF-file .xref +(these XRef streams can not be extracted just by giving their object number). + +In any case +an existing file with the output file name will be overwritten. +.SH OPTIONS +None. +.SH FILES +Just the executable +.BR pdftosrc . +.SH ENVIRONMENT +None. +.SH DIAGNOSTICS +At success the exit code of +.B pdftosrc +is 0, else 1. + +All messages go to stderr. +At program invocation, +.B pdftosrc +issues the current version number of the program +.BR xpdf , +on which +.B pdftosrc +is based: + +.RS +pdftosrc version 3.01 + +.RE +When +.B pdftosrc +was successful with the output file writing, +one of the following messages will be issued: + +.RS +Source file extracted to +.I source-file-name + +.RE +or + +.RS +Stream object extracted to +.IR PDF-file . stream-object-number + +.RE +or + +.RS +Cross-reference table extracted to +.IR PDF-file .xref + +.RE + +.RE +When the object given by the +.I stream-object-number +does not contain a stream, +.B pdftosrc +issues the following error message: + +.RS +Not a Stream object + +.RE +When the +.I PDF-file +can't be opened, the error message is: + +.RS +Error: Couldn't open file +.RI ' PDF-file '. + +.RE +When +.B pdftosrc +encounters an invalid PDF file, +the error message (several lines) is: + +.RS +Error: May not be a PDF file (continuing anyway) +.RE +.RS +(more lines) +.RE +.RS +Invalid PDF file + +.RE +There are also more error messages from +.B pdftosrc +for various kinds of broken PDF files. +.SH NOTES +An embedded source file will be written out unchanged, +i. e. it will not be uncompressed in this process. + +Only the stream of the object will be written, +i. e. not the dictionary of that object. + +Knowing which +.I stream-object-number +to query requires information about the PDF file +that has to be gained elsewhere, +e. g. by looking into the PDF file with an editor. + +The stream extraction capabilities of +.B pdftosrc +(e. g. regarding understood PDF versions and filter types) +follow the capabilities of the underlying +.B xpdf +program version. + +Currently the generation number of the stream object +is not supported. +The default value 0 (zero) is taken. + +The wording +.I stream-object-number +has nothing to do with the `object streams' introduced +by the Adobe PDF Reference, +5th edition, version 1.6. +.SH EXAMPLES +When using pdftex, +a source file can be embedded into some +.I PDF-file +by using pdftex primitives, +as illustrated by the following example: + +\\immediate\\pdfobj +.RE + stream attr {/Type /SourceFile /SourceName (myfile.zip)} +.RS +.RE + file{myfile.zip} +.RS +.RE +\\pdfcatalog{/SourceObject \\the\\pdflastobj\\space 0 R} + +Then this zip file can be extracted from the +.I PDF-file +by calling +.B pdftosrc +.IR PDF-file . +.SH BUGS +Not all embedded source files will be extracted, +only the first found one. + +Email bug reports to +.B pdftex@tug.org. +.SH SEE ALSO +.BR xpdf (1), +.BR pdfimages (1), +.BR pdftotext (1), +.BR pdftex (1), +.SH AUTHORS +.B pdftosrc +written by Han The Thanh, using +.B xpdf +functionality from Derek Noonburg. + +Man page written by Hartmut Henkel. +.SH COPYRIGHT +Copyright (c) 1996-2006 Han The Thanh, <thanh@pdftex.org> + +This file is part of pdfTeX. + +pdfTeX is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +pdfTeX is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with pdfTeX; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA diff --git a/Master/texmf-dist/doc/man/man1/pdftosrc.man1.pdf b/Master/texmf-dist/doc/man/man1/pdftosrc.man1.pdf Binary files differnew file mode 100644 index 00000000000..522d4fb7f05 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pdftosrc.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/perltex.1 b/Master/texmf-dist/doc/man/man1/perltex.1 new file mode 100644 index 00000000000..28c0508e680 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/perltex.1 @@ -0,0 +1,280 @@ +.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "PERLTEX 1" +.TH PERLTEX 1 "2010-07-10" "v2.1" " " +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +perltex \- enable LaTeX macros to be defined in terms of Perl code +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +perltex +[\fB\-\-help\fR] +[\fB\-\-latex\fR=\fIprogram\fR] +[\fB\-\-\fR[\fBno\fR]\fBsafe\fR] +[\fB\-\-permit\fR=\fIfeature\fR] +[\fB\-\-makesty\fR] +[\fIlatex options\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +LaTeX \*(-- through the underlying TeX typesetting system \*(-- produces +beautifully typeset documents but has a macro language that is +difficult to program. In particular, support for complex string +manipulation is largely lacking. Perl is a popular general-purpose +programming language whose forte is string manipulation. However, it +has no typesetting capabilities whatsoever. +.PP +Clearly, Perl's programmability could complement LaTeX's typesetting +strengths. \fBperltex\fR is the tool that enables a symbiosis between +the two systems. All a user needs to do is compile a LaTeX document +using \fBperltex\fR instead of \fBlatex\fR. (\fBperltex\fR is actually a +wrapper for \fBlatex\fR, so no \fBlatex\fR functionality is lost.) If the +document includes a \f(CW\*(C`\eusepackage{perltex}\*(C'\fR in its preamble, then +\&\f(CW\*(C`\eperlnewcommand\*(C'\fR and \f(CW\*(C`\eperlrenewcommand\*(C'\fR macros will be made +available. These behave just like LaTeX's \f(CW\*(C`\enewcommand\*(C'\fR and +\&\f(CW\*(C`\erenewcommand\*(C'\fR except that the macro body contains Perl code instead +of LaTeX code. +.SH "OPTIONS" +.IX Header "OPTIONS" +\&\fBperltex\fR accepts the following command-line options: +.IP "\fB\-\-help\fR" 4 +.IX Item "--help" +Display basic usage information. +.IP "\fB\-\-latex\fR=\fIprogram\fR" 4 +.IX Item "--latex=program" +Specify a program to use instead of \fBlatex\fR. For example, +\&\f(CW\*(C`\-\-latex=pdflatex\*(C'\fR would typeset the given document using +\&\fBpdflatex\fR instead of ordinary \fBlatex\fR. +.IP "\fB\-\-\fR[\fBno\fR]\fBsafe\fR" 4 +.IX Item "--[no]safe" +Enable or disable sandboxing. With the default of \fB\-\-safe\fR, +\&\fBperltex\fR executes the code from a \f(CW\*(C`\eperlnewcommand\*(C'\fR or +\&\f(CW\*(C`\eperlrenewcommand\*(C'\fR macro within a protected environment that +prohibits ``unsafe'' operations such as accessing files or executing +external programs. Specifying \fB\-\-nosafe\fR gives the LaTeX document +\&\fIcarte blanche\fR to execute any arbitrary Perl code, including that +which can harm the user's files. See Safe for more information. +.IP "\fB\-\-permit\fR=\fIfeature\fR" 4 +.IX Item "--permit=feature" +Permit particular Perl operations to be performed. The \fB\-\-permit\fR +option, which can be specified more than once on the command line, +enables finer-grained control over the \fBperltex\fR sandbox. See +Opcode for more information. +.IP "\fB\-\-makesty\fR" 4 +.IX Item "--makesty" +Generate a LaTeX style file called \fInoperltex.sty\fR. Replacing the +document's \f(CW\*(C`\eusepackage{perltex}\*(C'\fR line with \f(CW\*(C`\eusepackage{noperltex}\*(C'\fR +produces the same output but does not require PerlTeX, making the +document suitable for distribution to people who do not have PerlTeX +installed. The disadvantage is that \fInoperltex.sty\fR is specific to +the document that produced it. Any changes to the document's PerlTeX +macro definitions or macro invocations necessitates rerunning +\&\fBperltex\fR with the \fB\-\-makesty\fR option. +.PP +These options are then followed by whatever options are normally +passed to \fBlatex\fR (or whatever program was specified with +\&\f(CW\*(C`\-\-latex\*(C'\fR), including, for instance, the name of the \fI.tex\fR file to +compile. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +In its simplest form, \fBperltex\fR is run just like \fBlatex\fR: +.PP +.Vb 1 +\& perltex myfile.tex +.Ve +.PP +To use \fBpdflatex\fR instead of regular \fBlatex\fR, use the \fB\-\-latex\fR +option: +.PP +.Vb 1 +\& perltex \-\-latex=pdflatex myfile.tex +.Ve +.PP +If LaTeX gives a ``\f(CW\*(C`trapped by operation mask\*(C'\fR'' error and you trust +the \fI.tex\fR file you're trying to compile not to execute malicious +Perl code (e.g., because you wrote it yourself), you can disable +\&\fBperltex\fR's safety mechansisms with \fB\-\-nosafe\fR: +.PP +.Vb 1 +\& perltex \-\-nosafe myfile.tex +.Ve +.PP +The following command gives documents only \fBperltex\fR's default +permissions (\f(CW\*(C`:browse\*(C'\fR) plus the ability to open files and invoke the +\&\f(CW\*(C`time\*(C'\fR command: +.PP +.Vb 2 +\& perltex \-\-permit=:browse \-\-permit=:filesys_open +\& \-\-permit=time myfile.tex +.Ve +.SH "ENVIRONMENT" +.IX Header "ENVIRONMENT" +\&\fBperltex\fR honors the following environment variables: +.IP "\s-1PERLTEX\s0" 4 +.IX Item "PERLTEX" +Specify the filename of the LaTeX compiler. The LaTeX compiler +defaults to ``\f(CW\*(C`latex\*(C'\fR''. The \f(CW\*(C`PERLTEX\*(C'\fR environment variable +overrides this default, and the \fB\-\-latex\fR command-line option (see +\&\*(L"\s-1OPTIONS\s0\*(R") overrides that. +.SH "FILES" +.IX Header "FILES" +While compiling \fIjobname.tex\fR, \fBperltex\fR makes use of the following +files: +.IP "\fIjobname.lgpl\fR" 4 +.IX Item "jobname.lgpl" +log file written by Perl; helpful for debugging Perl macros +.IP "\fIjobname.topl\fR" 4 +.IX Item "jobname.topl" +information sent from LaTeX to Perl +.IP "\fIjobname.frpl\fR" 4 +.IX Item "jobname.frpl" +information sent from Perl to LaTeX +.IP "\fIjobname.tfpl\fR" 4 +.IX Item "jobname.tfpl" +``flag'' file whose existence indicates that \fIjobname.topl\fR contains +valid data +.IP "\fIjobname.ffpl\fR" 4 +.IX Item "jobname.ffpl" +``flag'' file whose existence indicates that \fIjobname.frpl\fR contains +valid data +.IP "\fIjobname.dfpl\fR" 4 +.IX Item "jobname.dfpl" +``flag'' file whose existence indicates that \fIjobname.ffpl\fR has been +deleted +.IP "\fInoperltex\-#.tex\fR" 4 +.IX Item "noperltex-#.tex" +file generated by \fInoperltex.sty\fR for each PerlTeX macro invocation +.SH "NOTES" +.IX Header "NOTES" +\&\fBperltex\fR's sandbox defaults to what Opcode calls ``\f(CW\*(C`:browse\*(C'\fR''. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIlatex\fR\|(1), \fIpdflatex\fR\|(1), \fIperl\fR\|(1), \fISafe\fR\|(3pm), \fIOpcode\fR\|(3pm) +.SH "AUTHOR" +.IX Header "AUTHOR" +Scott Pakin, \fIscott+pt@pakin.org\fR diff --git a/Master/texmf-dist/doc/man/man1/perltex.man1.pdf b/Master/texmf-dist/doc/man/man1/perltex.man1.pdf Binary files differnew file mode 100644 index 00000000000..1aab77154c5 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/perltex.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/pfb2pfa.1 b/Master/texmf-dist/doc/man/man1/pfb2pfa.1 new file mode 100644 index 00000000000..f81abb8ed2f --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pfb2pfa.1 @@ -0,0 +1,19 @@ +.TH PFB2PFA 1 TeX +.SH NAME +pfb2pfa \- convert a type1 pfb file (binary MSDOS) into a pfa (ASCII) +.SH SYNOPSIS +pfb2pfa [-v] pfbfile [pfafile] +.SH DESCRIPTION +Program converts a binary MSDOS representation for a type1 PostScript +font into a readable ASCII version. The MSDOS newline (\\r) is converted +into the UNIX newline (\\n). The output is written in a file whose name +is the name that is provided on the command line or the basename of the +input file plus extension ".pfa". +.PP +With the -v option you get some information about what the +program is doing. +.SH AUTHOR +.nf +Piet Tutelaers <rcpt@urc.tue.nl> + + diff --git a/Master/texmf-dist/doc/man/man1/pfb2pfa.man1.pdf b/Master/texmf-dist/doc/man/man1/pfb2pfa.man1.pdf Binary files differnew file mode 100644 index 00000000000..add89aa8a73 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pfb2pfa.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/pk2bm.1 b/Master/texmf-dist/doc/man/man1/pk2bm.1 new file mode 100644 index 00000000000..5b9c6d599db --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pk2bm.1 @@ -0,0 +1,39 @@ +.TH PK2BM 1 TeX +.SH NAME +pk2bm \- create a bitmap from a TeX pkfont +.SH SYNOPSIS: +pk2bm [-bh] [-W\fIwidth\fP] [-H\fIheight\fP] -c\fIchar\fP pkfont + +pk2bm [-bh] [-W\fIwidth\fP] [-H\fIheight\fP] -o\fIoctchar\fP pkfont +.SH DESCRIPTION +This program generates a bitmap (ASCII file) which can be used +to create X11 applications. The bitmap file consists of all pixels +of the specified character (via the -c or -o option) from +the given pkfont. The format is described in bitmap(X11). +.PP +The pkfont is a packed fontfile generated by gftopk(TeX) from a +gffont. A gffont is the output of METAFONT a program to design fonts +in a device independant way. +.PP +With the -b flag a bitmap is generated in which all black pixels are +drawn as a `*' and all white bits as a `.'. With the -h flag a +hexadecimal bitmap dump is generated. +.PP +The -W and/or -H options can be used to create a bitmap of +respectivally `width' and `height' pixels. The pk-bitmap will in +this case be centered according to these new dimensions. +.PP +The output is written to the standard output. +.SH SEE ALSO +.nf +`METAFONT', Donald Knuth. +`The PKtype processor', belonging to the METAFONTware. +bitmap(X11), +gftopk(TeX), +pktype(TeX), +ps2pk(1) + +.SH AUTHOR +.nf +Piet Tutelaers <rcpt@urc.tue.nl> + diff --git a/Master/texmf-dist/doc/man/man1/pk2bm.man1.pdf b/Master/texmf-dist/doc/man/man1/pk2bm.man1.pdf Binary files differnew file mode 100644 index 00000000000..1e2e52f0319 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pk2bm.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/pkfix-helper.1 b/Master/texmf-dist/doc/man/man1/pkfix-helper.1 new file mode 100644 index 00000000000..c0c170fdbe8 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pkfix-helper.1 @@ -0,0 +1,516 @@ +.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "PKFIX-HELPER 1" +.TH PKFIX-HELPER 1 "2011-06-11" "v1.4" " " +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +pkfix\-helper \- preprocess dvips\-produced PostScript documents before passing them to pkfix +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +pkfix-helper +[\fB\-\-help\fR] +[\fB\-\-verbose\fR] +[\fB\-\-force\fR=\fIname\fR=\fIfontspec\fR] +[\fB\-\-ps\fR=\fIfilename.ps\fR] +[\fB\-\-tex\fR=\fIfilename.tex\fR] +[\fB\-\-cache\fR=\fIfilename\fR] +[\fB\-\-include\fR=\fIfontspec\fR] +[\fB\-\-exclude\fR=\fIregexp\fR] +[\fB\-\-keep\fR=\fIfontspec\fR] +[\fB\-\-quiet\fR] +[\fB\-\-no\-repeats\fR] +[\fB\-\-spp\fR=\fInumber\fR] +[\fIinput.ps\fR [\fIoutput.ps\fR]] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +.SS "Motivation" +.IX Subsection "Motivation" +PostScript documents created with old versions of \fBdvips\fR almost +invariably utilize bitmapped (PostScript Type\ 3) fonts. The +problem with bitmapped fonts is that they target a specific device +resolution; a PostScript file produced using 300\ \s-1DPI\s0 fonts will +look grainy on a 600\ \s-1DPI\s0 printer. Even worse, \fIall\fR bitmapped +fonts look grainy when zoomed in on screen. The solution is to use +vector (PostScript Type\ 1) fonts, which are resolution-independent +and appear crisp at any size or scale. +.PP +While it is no longer difficult to configure \fBdvips\fR to use vector +fonts, it is not always possible to rerun \fBdvips\fR on an old \fI.dvi\fR +file. The \fI.dvi\fR file and document source may have been lost; or, +the source may no longer compile because packages it depends upon may +no longer be available. +.PP +Heiko Oberdiek's \fBpkfix\fR script replaces bitmapped fonts in +\&\fBdvips\fR\-produced PostScript files with the corresponding vector +fonts. It works by parsing the PostScript comments with which +\&\fBdvips\fR surrounds bitmapped-font definitions. For example, a font +definition beginning with the comment \f(CW\*(C`%DVIPSBitmapFont: Fi cmss10 11 +28\*(C'\fR and ending with a matching \f(CW%EndDVIPSBitmapFont\fR is known to +define font \f(CW\*(C`Fi\*(C'\fR as \f(CW\*(C`cmss10\*(C'\fR (Computer Modern Sans Serif at a design +size of 10\ points) scaled to \f(CW11\fR\ points. Only the \f(CW28\fR +characters actually used by the document are defined. \fBpkfix\fR then +replaces the font definition with one that defines \f(CW\*(C`Fi\*(C'\fR using the +same set of characters but taken from the \fIcmss10.pfb\fR vector font +file. +.PP +Unfortunately, \fBpkfix\fR works only with versions of \fBdvips\fR newer +than v5.58 (ca.\ 1996). Naturally, the older a PostScript document, +the less likely its sources still exist and can still be recompiled. +Older versions of \fBdvips\fR lack \f(CW%DVIPSBitmapFont\fR comments and +various other PostScript comments on which \fBpkfix\fR relies. Without +PostScript comments to guide it, \fBpkfix\fR is unable to determine which +vector fonts correspond with which bitmapped fonts. +.SS "Overview" +.IX Subsection "Overview" +The \fBpkfix-helper\fR script is a preprocessor for \fBpkfix\fR that +attempts to determine the association between each document-font name +(e.g.,\ \f(CW\*(C`Fi\*(C'\fR) in a PostScript file and the original font (e.g.,\ \f(CW\*(C`cmss10\*(C'\fR) and fonts size (e.g., \f(CW11\fR\ points). It then +fabricates the PostScript comments that \fBpkfix\fR expects to see so +that \fBpkfix\fR can do its job. +.PP +\&\fBpkfix-helper\fR works by comparing every document font against every +\&\fI.tfm\fR font file it knows about (assuming that each such font has a +corresponding \fI.pfb\fR vector version) and selecting the best matching +\&\fI.tfm\fR file for every document font. \fBpkfix-helper\fR has access only +to the widths of characters and only to those characters actually used +in the document. Also, the program recognizes only a limited set of +the most popular \fI.tfm\fR files and scaling factors. Consequently, the +comparison is imperfect and \fBpkfix-helper\fR may attribute an incorrect +font to a given name. Fonts comprising only one or two characters +actually used in a document are particularly problematic for +\&\fBpkfix-helper\fR because many fonts may be near-enough matches to fool +the problem. +.PP +\&\fBpkfix-helper\fR is designed so that a user can guide the +font-selection process by manually designating matching fonts. With a +modicum of diligence and patience a user can correct any mismatched +fonts and help the program provide proper input to \fBpkfix\fR. +.SH "OPTIONS" +.IX Header "OPTIONS" +\&\fBpkfix-helper\fR accepts on the command line the filename of a +PostScript document to process (with the default being the standard +input device) and the filename of a modified PostScript document to +create (with the default being the standard output device). The +program also accepts the following command-line options: +.SS "Frequently Used Options" +.IX Subsection "Frequently Used Options" +.IP "\fB\-h\fR, \fB\-\-help\fR" 4 +.IX Item "-h, --help" +Display usage information and exit. The \fB\-\-verbose\fR and \fB\-\-quiet\fR +options can be used to increase and decrease the amount of information +presented. +.IP "\fB\-v\fR, \fB\-\-verbose\fR" 4 +.IX Item "-v, --verbose" +Increase the amount of status information that \fBpkfix-helper\fR +displays as it runs. Additional instances of \fB\-\-verbose\fR on the +command line further increase the program's verbosity. By default, +only major operations are displayed. A single \fB\-\-verbose\fR +additionally displays information about individual font comparisons. +A second \fB\-\-verbose\fR additionally displays details about some of the +program's internal operations. +.IP "\fB\-f\fR \fIname\fR=\fIfontspec\fR, \fB\-\-force\fR=\fIname\fR=\fIfontspec\fR" 4 +.IX Item "-f name=fontspec, --force=name=fontspec" +Force \fBpkfix-helper\fR to associate a specific font with a given font +name appearing the document. \fIname\fR is a two-character \fBdvips\fR font +name such as \f(CW\*(C`Fa\*(C'\fR. \fIfontspec\fR is a font specification such as +\&\f(CW\*(C`cmmi8\*(C'\fR or \f(CW\*(C`cmsy10\ @\ 1.1X\*(C'\fR. An asterisk used in the name of the +base font (e.g.,\ \f(CW\*(C`cmti*\*(C'\fR) will automatically try all integral test +font sizes from 5 to 17 points (\f(CW\*(C`cmti5\*(C'\fR, \f(CW\*(C`cmti6\*(C'\fR,\ ..., +\&\f(CW\*(C`cmti17\*(C'\fR). An asterisk used as a scale value (e.g.,\ \f(CW\*(C`cmsy10\ @\ *\*(C'\fR) will be replaced by the scale value that gives the best match to +the original font's metrics. The \fB\-\-force\fR option can be specified +repeatedly on the command line. +.IP "\fB\-p\fR \fIfilename.ps\fR, \fB\-\-ps\fR=\fIfilename.ps\fR" 4 +.IX Item "-p filename.ps, --ps=filename.ps" +Create a PostScript file called \fIfilename.ps\fR that shows the \fBdvips\fR +name and a font sample of every font used by the input document. +.IP "\fB\-t\fR \fIfilename.tex\fR, \fB\-\-tex\fR=\fIfilename.tex\fR" 4 +.IX Item "-t filename.tex, --tex=filename.tex" +Create a Plain TeX file called \fIfilename.tex\fR that shows the \fBdvips\fR +name and a font sample of every font that \fBpkfix-helper\fR used in the +output document. +.SS "Infrequently Used Options" +.IX Subsection "Infrequently Used Options" +.IP "\fB\-C\fR \fIfilename\fR, \fB\-\-cache\fR=\fIfilename\fR" 4 +.IX Item "-C filename, --cache=filename" +Speed up \s-1TFM\s0 file processing by caching character metrics into file +\&\fIfilename\fR. On some systems it takes a long time to read a \s-1TFM\s0 file, +spawn \fItftopl\fR to convert it to \s-1PL\s0 format, and extract from the \s-1PL\s0 +data the metrics for each character. The first time \fB\-\-cache\fR is +specified, \fBpkfix-helper\fR proceeds as normal then writes all of the +extracted character metrics to \fIfilename\fR. On subsequent runs in +which \fB\-\-cache\fR=\fIfilename\fR is specified, \fBpkfix-helper\fR reads the +previously extracted metrics from \fIfilename\fR, going through the +\&\fItftopl\fR\-based process only for \s-1TFM\s0 files that were not previously +encountered. +.IP "\fB\-q\fR, \fB\-\-quiet\fR" 4 +.IX Item "-q, --quiet" +Instruct \fBpkfix-helper\fR to produce no output during its run except +for fatal error messages. +.IP "\fB\-1\fR, \fB\-\-no\-repeats\fR" 4 +.IX Item "-1, --no-repeats" +Prevent \fBpkfix-helper\fR from associating the same \fIfontspec\fR with +more than one \fBdvips\fR font name. +.IP "\fB\-i\fR \fIfontspec\fR, \fB\-\-include\fR=\fIfontspec\fR" 4 +.IX Item "-i fontspec, --include=fontspec" +Add \fIfontspec\fR to the list of font specifications against which +\&\fBpkfix-helper\fR compares \fIevery\fR document font. (In contrast, +\&\fB\-\-force\fR designates a font specification to use only for a +\&\fIspecific\fR document font.) The \fB\-\-include\fR option can be specified +repeatedly on the command line. +.IP "\fB\-x\fR \fIregexp\fR, \fB\-\-exclude\fR=\fIregexp\fR" 4 +.IX Item "-x regexp, --exclude=regexp" +Remove all font specifications matching regular expression \fIregexp\fR +from \fBpkfix-helper\fR's list of known fonts. The \fB\-\-exclude\fR option +can be specified repeatedly on the command line. +.IP "\fB\-k\fR \fIfontspec\fR, \fB\-\-keep\fR=\fIfontspec\fR" 4 +.IX Item "-k fontspec, --keep=fontspec" +Do not substitute a vector font for bitmapped font \fIfontspec\fR (\f(CW\*(C`Fa\*(C'\fR, +\&\f(CW\*(C`Fb\*(C'\fR, etc.). This is useful when converting documents that use +obscure bitmapped fonts for which there is no vector equivalent. For +example, it was somewhat common in the past to include graphics such +as university or corporate logos into a document by converting the +bitmapped image into a single-character font and using that font in +LaTeX. \fB\-\-keep\fR prevents such fonts from being replaced. The +\&\fB\-\-keep\fR option can be specified repeatedly on the command line. +.IP "\fB\-a\fR, \fB\-\-any\-scale\fR" 4 +.IX Item "-a, --any-scale" +Allow any value to be used to scale a font when "\f(CW\*(C`*\*(C'\fR" is specified as +the scale factor. Normally, \fBpkfix-helper\fR considers only integer +multiples of 0.1 that are greater than or equal to 1.0 (i.e., +\&\fIfontname\fR\f(CW@1X\fR, \f(CW\*(C`@1.1X\*(C'\fR, \f(CW\*(C`@1.2X\*(C'\fR, \f(CW\*(C`@1.3X\*(C'\fR, etc.). +.IP "\fB\-s\fR, \fB\-\-spp\fR" 4 +.IX Item "-s, --spp" +Specify the number of font samples per page to print to the files +indicated using the \fB\-\-ps\fR and \fB\-\-tex\fR options. The default +value,\ 25, should work well in most circumstances. +.SH "DIAGNOSTICS" +.IX Header "DIAGNOSTICS" +.ie n .IP """Best match for \f(CIname\f(CW is rather poor""" 4 +.el .IP "\f(CWBest match for \f(CIname\f(CW is rather poor\fR" 4 +.IX Item "Best match for name is rather poor" +The best font \fBpkfix-helper\fR found for \fBdvips\fR font name \fIname\fR has +a mismatch value greater than or equal to\ 1.0. (The mismatch value +is the sum of the squares of the difference between the character +widths of a document font and a potential replacement font.) Use the +\&\fB\-\-force\fR option to designate an alternative replacement font or +scaling amount. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +For the purpose of the following examples, assume that \fIoldfile.ps\fR +is the name of a PostScript file produced by an old version of +\&\fBdvips\fR and utilizing at least one bitmapped font. It's always worth +verifying that \fBpkfix\fR can't convert the file on its own: +.PP +.Vb 3 +\& $ pkfix oldfile.ps newfile.ps +\& PKFIX 1.3, 2005/02/25 \- Copyright (c) 2001, 2005 by Heiko Oberdiek. +\& ==> no fonts converted +.Ve +.PP +(Alternatively \fBpkfix\fR may issue an error message such as \f(CW\*(C`!!! +Error: Parse error (@start parameters)!\*(C'\fR.) Only when \fBpkfix\fR can't +replace bitmapped fonts with vector fonts is \fBpkfix-helper\fR needed. +In its simplest form, \fBpkfix-helper\fR takes the name of an input file +(\fIoldfile.ps\fR in this example) and the name of an output file +(\fIpkfix\-oldfile.ps\fR), which will have the same contents as the input +file but serve as suitable input for \fBpkfix\fR: +.PP +.Vb 10 +\& $ pkfix\-helper oldfile.ps pkfix\-oldfile.ps +\& Reading oldfile.ps ... done. +\& Number of Type 3 fonts encountered: 10 +\& Bitmapped fonts are typeset at 600 DPI. +\& Finding character widths ... done. +\& Reading TFM files ... done (103 TFMs in 193 scaling variations). +\& Matching fonts: +\& Processing Fi ... done (cmr10 @ 1X, mismatch=0.11683). +\& Processing Fa ... done (cmti10 @ 1X, mismatch=0.08892). +\& Processing Fb ... done (cmr8 @ 1X, mismatch=0.07133). +\& Processing Ff ... done (cmbx12 @ 1.2X, mismatch=0.02948). +\& Processing Fh ... done (cmtt10 @ 1X, mismatch=0.06895). +\& Processing Fd ... done (cmmi10 @ 1X, mismatch=0.03966). +\& Processing Fj ... done (cmbx12 @ 1X, mismatch=0.03972). +\& Processing Fe ... done (cmbx10 @ 1X, mismatch=0.00762). +\& Processing Fg ... done (cmsy10 @ 1X, mismatch=0.00875). +\& Processing Fc ... done (cmr6 @ 1X, mismatch=0.00284). +\& +\& $ pkfix pkfix\-oldfile.ps newfile.ps +\& PKFIX 1.3, 2005/02/25 \- Copyright (c) 2001, 2005 by Heiko Oberdiek. +\& *** Font conversion: \`cmti10\*(Aq \-> \`CMTI10\*(Aq. +\& *** Font conversion: \`cmr8\*(Aq \-> \`CMR8\*(Aq. +\& *** Font conversion: \`cmr6\*(Aq \-> \`CMR6\*(Aq. +\& *** Font conversion: \`cmmi10\*(Aq \-> \`CMMI10\*(Aq. +\& *** Font conversion: \`cmbx10\*(Aq \-> \`CMBX10\*(Aq. +\& *** Font conversion: \`cmbx12\*(Aq \-> \`CMBX12\*(Aq. +\& *** Font conversion: \`cmsy10\*(Aq \-> \`CMSY10\*(Aq. +\& *** Font conversion: \`cmtt10\*(Aq \-> \`CMTT10\*(Aq. +\& *** Font conversion: \`cmr10\*(Aq \-> \`CMR10\*(Aq. +\& *** Font conversion: \`cmbx12\*(Aq \-> \`CMBX12\*(Aq. +\& *** Merging font \`CMBX12\*(Aq (2). +\& ==> 10 converted fonts. +\& ==> 1 merged font. +.Ve +.PP +Although \fBpkfix-helper\fR tries to automate as much as possible the +font-detection process, some fonts will invariably be incorrectly +identified. The program outputs a warning message if it \fIknows\fR a +match is bad but the lack of a warning message does not necessarily +indicate that \fBpkfix-helper\fR did a good job. It is therefore +strongly recommended that the user produce \*(L"before\*(R" and \*(L"after\*(R" font +sheets: +.PP +.Vb 2 +\& $ pkfix\-helper \-q oldfile.ps pkfix\-oldfile.ps \e +\& \-\-ps=oldfonts.ps \-\-tex=newfonts.tex +\& +\& $ tex newfonts.tex +\& This is TeX, Version 3.14159 (Web2C 7.4.5) +\& (./newfonts.tex [1] ) +\& Output written on newfonts.dvi (1 page, 1292 bytes). +\& Transcript written on newfonts.log. +\& +\& $ dvips newfonts.dvi \-o newfonts.ps +\& This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) +\& \*(Aq TeX output 2006.06.11:1636\*(Aq \-> newfonts.ps +\& <texc.pro><8r.enc><texps.pro>. <cmr6.pfb><cmsy10.pfb><cmbx10.pfb><cmbx12.pfb> +\& <cmmi10.pfb><cmtt10.pfb><cmr8.pfb><cmti10.pfb><cmr10.pfb>[1] +.Ve +.PP +After running the preceding commands, \fIoldfonts.ps\fR shows samples of +the fonts in \fIoldfile.ps\fR and \fInewfonts.ps\fR shows samples of the +replacement fonts that \fBpkfix-helper\fR used to produce +\&\fIpkfix\-oldfile.ps\fR. Print \fIoldfonts.ps\fR and \fInewfonts.ps\fR and +compare them carefully for incorrect fonts and sizes. +.PP +Suppose that the choice of \f(CW\*(C`cmbx12 @ 1.2X\*(C'\fR for font \f(CW\*(C`Ff\*(C'\fR looks +wrong; say the characters look taller in \fIoldfonts.ps\fR than in +\&\fInewfonts.ps\fR. This is where the trial-and-error stage begins. +Let's hypothesize that \f(CW\*(C`cmb12\*(C'\fR is a better match than \f(CW\*(C`cmbx12\*(C'\fR but +we don't know how much to scale the font. Fortunately, +\&\fBpkfix-helper\fR allows \f(CW\*(C`*\*(C'\fR to be used as a scaling factor to tell the +program to automatically detect an optimal scaling factor, even if +doing so means choosing a nonstandard font size: +.PP +.Vb 7 +\& $ pkfix\-helper oldfile.ps pkfix\-oldfile.ps \-\-force="Ff=cmb12 @ *" +\& Reading oldfile.ps ... done. +\& Number of Type 3 fonts encountered: 10 +\& Bitmapped fonts are typeset at 600 DPI. +\& Finding character widths ... done. +\& Reading TFM files ... failed. +\& pkfix\-helper: Unable to process user\-specified TFM file "cmb12" +.Ve +.PP +Oops, it looks like we don't have a \fIcmb12.tfm\fR file on our system. +Let's try scaling up \fIcmb10.tfm\fR instead: +.PP +.Vb 10 +\& $ pkfix\-helper oldfile.ps pkfix\-oldfile.ps \-\-force="Ff=cmb10 @ *" +\& Reading oldfile.ps ... done. +\& Number of Type 3 fonts encountered: 10 +\& Bitmapped fonts are typeset at 600 DPI. +\& Finding character widths ... done. +\& Reading TFM files ... done (103 TFMs in 193 scaling variations). +\& Matching fonts: +\& Processing Fi ... done (cmr10 @ 1X, mismatch=0.11683). +\& Processing Fa ... done (cmti10 @ 1X, mismatch=0.08892). +\& Processing Fb ... done (cmr8 @ 1X, mismatch=0.07133). +\& Processing Ff ... done (cmb10 @ 1.5X, mismatch=0.00035). +\& Processing Fh ... done (cmtt10 @ 1X, mismatch=0.06895). +\& Processing Fd ... done (cmmi10 @ 1X, mismatch=0.03966). +\& Processing Fj ... done (cmbx12 @ 1X, mismatch=0.03972). +\& Processing Fe ... done (cmbx10 @ 1X, mismatch=0.00762). +\& Processing Fg ... done (cmsy10 @ 1X, mismatch=0.00875). +\& Processing Fc ... done (cmr6 @ 1X, mismatch=0.00284). +.Ve +.PP +The match has definitely improved, although 15\ pt. is certainly an +odd size for a font. Then again, many documents \fIdo\fR use nonstandard +sizes so this may in fact be correct. The best way to verify is once +again to produce, print, and compare a pair of font samples and +iterate until all of the fonts look correct. Use one instance of +\&\fB\-\-force\fR for each font you want to alter. +.SH "ENVIRONMENT" +.IX Header "ENVIRONMENT" +\&\fBpkfix-helper\fR honors the following environment variables: +.IP "\s-1GS\s0" 8 +.IX Item "GS" +The name of the Ghostscript interpreter (default: \fIgs\fR) +.IP "\s-1TFTOPL\s0" 8 +.IX Item "TFTOPL" +The name of a utility for converting \fI.tfm\fR files to \fI.pl\fR files +(default: \fItftopl\fR) +.SH "BUGS" +.IX Header "BUGS" +Even when \fBpkfix-helper\fR finds a perfect match (i.e.,\ the correct +font in the correct size) the mismatch value is still typically +nonzero. The same error is probably what causes \fBpkfix-helper\fR +sometimes to consider the wrong font as being a better match than the +correct font. Suggestions for fixing these bugs are welcome. +.SH "RESTRICTIONS" +.IX Header "RESTRICTIONS" +\&\fBpkfix-helper\fR works only with PostScript files produced by \fBdvips\fR, +not with arbitrary PostScript files. The program has not been tested +with output from versions of \fBdvips\fR older than v5.490 (ca.\ 1992); +output from older versions may or may not work. Only bitmapped fonts +loaded by \fBdvips\fR can be analyzed, not bitmapped fonts loaded by +embedded graphics. +.PP +\&\fBpkfix-helper\fR works by comparing character widths, not the actual +glyphs. Consequently, it is misled by sets of fonts with similar +character widths (at least for those characters used by a given +document). As an extreme example, all Computer Modern Teletype fonts +of a given design size (e.g., \f(CW\*(C`cmtt10\*(C'\fR, \f(CW\*(C`cmsltt10\*(C'\fR, and \f(CW\*(C`cmitt10\*(C'\fR) +use exactly the same widths for all characters. Human assistance is +generally needed to guide \fBpkfix-helper\fR's font-matching procedures. +.SH "NOTES" +.IX Header "NOTES" +Files produced using the \fB\-\-tex\fR option are Plain TeX files and +therefore must be compiled with \fItex\fR (or a variation such as +\&\fIpdftex\fR, \fIluatex\fR, etc.), \fInot\fR with \fIlatex\fR. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIpkfix\fR\|(1), \fIdvips\fR\|(1), \fItex\fR\|(1), \fIgs\fR\|(1) +.PP +PostScript Language Reference, Third Edition. +Published by Addison-Wesley, \s-1ISBN\s0 0\-201\-37922\-8, +<http://www.adobe.com/products/postscript/pdfs/PLRM.pdf>. +.SH "AUTHOR" +.IX Header "AUTHOR" +Scott Pakin, \fIscott+pkfh@pakin.org\fR +.SH "COPYRIGHT AND LICENSE" +.IX Header "COPYRIGHT AND LICENSE" +Copyright (C) 2011, Scott Pakin +.PP +This file may be distributed and/or modified under the conditions of +the LaTeX Project Public License, either version 1.3c of this license +or (at your option) any later version. The latest version of this +license is in <http://www.latex\-project.org/lppl.txt> and version +1.3c or later is part of all distributions of LaTeX version 2006/05/20 +or later. diff --git a/Master/texmf-dist/doc/man/man1/pkfix-helper.man1.pdf b/Master/texmf-dist/doc/man/man1/pkfix-helper.man1.pdf Binary files differnew file mode 100644 index 00000000000..cc8001d7d9c --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pkfix-helper.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/pktogf.1 b/Master/texmf-dist/doc/man/man1/pktogf.1 new file mode 100644 index 00000000000..d966aaa6349 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pktogf.1 @@ -0,0 +1,99 @@ +.TH PKTOGF 1 "14 December 1993" "Web2C 2012" +.\"===================================================================== +.if n .ds MF Metafont +.if t .ds MF M\s-2ETAFONT\s0 +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.el .ds OX TeX for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.\"===================================================================== +.SH NAME +pktogf \- convert packed font files to generic font files +.SH SYNOPSIS +.B pktogf +.RB [ \-v ] +.I pk_file_name +.RI [ gf_file_name ] +.\"===================================================================== +.SH DESCRIPTION +This manual page is not meant to be exhaustive. The complete +documentation for this version of \*(TX can be found in the info file +or manual +.IR "Web2C: A TeX implementation" . +.PP +The +.B pktogf +program converts a packed font file +.RI ( pk ) +to a generic font file +.RI ( gf ). +Packed +font files are much smaller than the corresponding +.I gf +files, +but some DVI readers only understand +.I gf +files. +.PP +The +.I pk_file_name +on the command line must be complete. Because +the resolution is part of the extension, it would not make +sense to append a default extension as is done with \*(TX or +DVI-reading software. The +.I gf_file_name +defaults to the same (stripped) name as +.IR pk_file_name , +and it is placed in the current +working directory with the +.B gf +suffix replacing +.BR pk . +For example, the input file +.I io.300pk +would become +.IR io.300gf . +.\"===================================================================== +.SH OPTIONS +Unless the +.B \-v +switch is given, +.B pktogf +operates silently. With +.BR \-v , +the version number of the program and statistics about the +unpacking are output to +.IR stdout . +.\"===================================================================== +.SH ENVIRONMENT +.B pktogf +looks for +.I pk_file_name +using the +environment variable PKFONTS. If that is not set, it uses the variable +TEXPKS. If that is not set, it uses TEXFONTS. If that is not set, it +uses the system default. +.PP +See +.BR tex (1) +for the details of the searching. +.\"===================================================================== +.SH "SEE ALSO" +.BR gftopk (1), +.BR gftype (1), +.BR pktype (1). +.br +Donald E. Knuth et al., +.IR \*(MFware . +.\"===================================================================== +.SH AUTHORS +Tomas Rokicki wrote the program. +Pierre MacKay adapted it for compilation with +.BR web2c . diff --git a/Master/texmf-dist/doc/man/man1/pktogf.man1.pdf b/Master/texmf-dist/doc/man/man1/pktogf.man1.pdf Binary files differnew file mode 100644 index 00000000000..85a532c2728 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pktogf.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/pktype.1 b/Master/texmf-dist/doc/man/man1/pktype.1 new file mode 100644 index 00000000000..7fad6d25411 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pktype.1 @@ -0,0 +1,76 @@ +.TH PKTYPE 1 "5 May 2011" "Web2C 2012" +.\"===================================================================== +.if n .ds MF Metafont +.if t .ds MF M\s-2ETAFONT\s0 +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.el .ds OX TeX for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.\"===================================================================== +.SH NAME +pktype \- verify and translate a packed font bitmap file to plain text +.SH SYNOPSIS +.B pktype +.IR pk_file [pk] +.\"===================================================================== +.SH DESCRIPTION +This manual page is not meant to be exhaustive. The complete +documentation for this version of \*(TX can be found in the info file +or manual +.IR "Web2C: A TeX implementation" . +.PP +The +.B pktype +program translates a packed font file +.RI ( pk ) +(output by, for example, +.BR gftopk (1) +to a file that humans can read. It also serves as a +.I pk +file-validating program (i.e., if +.B pktype +can read it, it's correct) and as an example of a +.IR pk -reading +program for other software that wants to read +.I pk +files. +.PP +The input +.I pk_file +on the command line may omit the suffix `pk. +The plain text translation is always written to standard output. +.PP +The output file gives a compact encoding of the packed encoding, using +conventions described in the source code. Run lengths of black pixels +alternate with parenthesized run lengths of white pixels, and brackets +are used to indicate when a row should be repeated. +.\"===================================================================== +.SH ENVIRONMENT +.B pktype +looks for +.I pk_file +in the usual places according to Kpathsea. +.PP +See +.BR tex (1) +for the details of the searching. +.\"===================================================================== +.SH "SEE ALSO" +.BR dvitype (1), +.BR gftopk (1), +.BR gftype (1). +.br +Donald E. Knuth et al., +.IR \*(MFware . +.\"===================================================================== +.SH AUTHORS +Tomas Rokicki wrote the program, +Donald E. Knuth originally ported it to Unix, +Pierre MacKay originally adapted it for compilation with Web2c. diff --git a/Master/texmf-dist/doc/man/man1/pktype.man1.pdf b/Master/texmf-dist/doc/man/man1/pktype.man1.pdf Binary files differnew file mode 100644 index 00000000000..e83ed33ca43 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pktype.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/pltotf.1 b/Master/texmf-dist/doc/man/man1/pltotf.1 new file mode 100644 index 00000000000..8be43fa518b --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pltotf.1 @@ -0,0 +1,84 @@ +.TH PLTOTF 1 "27 December 1992" "Web2C 2012" +.\"===================================================================== +.if n .ds MF Metafont +.if t .ds MF M\s-2ETAFONT\s0 +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.el .ds OX TeX for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.if n .ds WB Web +.if t .ds WB W\s-2EB\s0 +.\"===================================================================== +.SH NAME +pltotf \- convert property list files to TeX font metric (tfm) format +.SH SYNOPSIS +.B pltotf +.RB [ \-verbose ] +.IR pl_file_name [ \fB.pl\fP ] +.RI [ tfm_file_name [ \fB.tfm\fP ]] +.\"===================================================================== +.SH DESCRIPTION +This manual page is not meant to be exhaustive. The complete +documentation for this version of \*(TX can be found in the info file +or manual +.IR "Web2C: A TeX implementation" . +.PP +The +.B pltotf +program translates a (human-oriented) property list file to a +(program-oriented) \*(TX font metric file. Thus, after editing the property +list file, a TFM file can be generated for use with, for example, +.BR tex (1). +.PP +The +.I pl_file_name +is extended with +.B .pl +if it lacks a suffix. No path searching is done. +.PP +If no +.I tfm_file_name +is given, the basename of +.I pl_file_name +with suffix +.B .tfm +is used; otherwise +.I tfm_file_name +is extended with +.B .tfm +if it lacks a suffix. +.\"===================================================================== +.SH OPTIONS +Without the +.B \-verbose +option, +.B pltotf +operates silently. With it, a banner and progress report are printed on +.IR stdout . +.\"===================================================================== +.SH "SEE ALSO" +.BR tftopl (1). +.br +Donald E. Knuth, +.IR "\*(OXware" . +.br +Donald E. Knuth, +.IR "The \*(MFbook" , +(Volume C of +.IR "Computers and Typesetting" ), +Addison-Wesley, 1986, ISBN 0-201-13445-4. +.\"===================================================================== +.SH AUTHORS +Donald E. Knuth wrote the program. It was published as +part of the +.I \*(OXware +technical report, available from the \*(TX Users Group. +Howard Trickey, Pavel Curtis, and Richard Furuta originally ported it to +Unix. diff --git a/Master/texmf-dist/doc/man/man1/pltotf.man1.pdf b/Master/texmf-dist/doc/man/man1/pltotf.man1.pdf Binary files differnew file mode 100644 index 00000000000..6db4125bd0b --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pltotf.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/pmx2pdf.1 b/Master/texmf-dist/doc/man/man1/pmx2pdf.1 new file mode 100644 index 00000000000..9ffcf094377 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pmx2pdf.1 @@ -0,0 +1,101 @@ +.\" This manpage is licensed under the GNU Public License +.TH pmx2pdf 1 2012-05-15 "pmx2pdf script, version 0.2.1" "" + +.SH NAME +pmx2pdf \- This script processes pmx files and then deletes intermediate files + +.SH SYNOPSIS +[ texlua ] +.B pmx2pdf +{ +.IR option +| +.IR jobname +[ .pmx ] +} ... +.TP +The default effect is to process each file using +.TP 12 +.BR pmxab (1) +(pre-processing pass) +.TP +.BR etex (1) +(first pass) +.TP +.BR musixflx (1) +(second pass) +.TP +.BR etex (1) +(third pass) +.TP +.BR dvips (1) +(dvi to Postscript) +.TP +.BR ps2pdf (1) +(Postscript to Portable Document Format) +.TP +followed by removal of intermediate files. + +.SH OPTIONS +.TP 8 +.B -v +output program name and version number, and quit +.TP +.B -h +output usage summary and quit +.TP +.B -l +changes the TeX processor to +.BR latex (1) +or +.BR pdflatex (1) +.TP +.B -p +changes the TeX processor to +.BR pdfetex (1) +or +.BR pdflatex (1) +(and doesn't run +.BR dvips (1) +and +.BR ps2pdf (1) +or +.BR dvipdfm (1) +) +.TP +.B -d +changes the dvi processor to +.BR dvipdfm (1) +.TP +.B -s +stops processing at the dvi file +.TP +.B -t +stops processing at the tex (and midi) files +.TP +.B -i +retain intermediate files +.TP +.B -f +default processing +.TP 0 +Options affect processing of all succeeding PMX files unless changed by another option. + +.SH SEE ALSO +.BR pmxab (1) +.BR scor2prt (1) +.BR etex (1), +.BR latex (1), +.BR pdfetex (1), +.BR pdflatex (1), +.BR musixflx (1), +.BR dvipdfm (1), +.BR dvips (1), +.BR ps2pdf (1). +.br +pmx260.pdf +.br +pmxccn.pdf + +.SH AUTHOR +This manual page was written by Bob Tennent <rdt@cs.queensu.ca>. diff --git a/Master/texmf-dist/doc/man/man1/pmx2pdf.man1.pdf b/Master/texmf-dist/doc/man/man1/pmx2pdf.man1.pdf Binary files differnew file mode 100644 index 00000000000..501f47d9a35 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pmx2pdf.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/pmxab.1 b/Master/texmf-dist/doc/man/man1/pmxab.1 new file mode 100644 index 00000000000..806efcce76c --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pmxab.1 @@ -0,0 +1,24 @@ +.TH pmxab 1 "19 Jan 2013" "Version 2.6.19" "PMX Manual Page" +.SH NAME +pmxab \- a MusiXTeX preprocessor +.SH SYNOPSIS +.B pmxab +.RI basename [.pmx] + +.SH DESCRIPTION +pmxab is a preprocessor for MusiXTeX. +It's usually invoked by a frontend pmx2pdf(1). +To use it to its full benefit you should have installed MusiXTeX Version 1.15 +or higher, and TeX itself. +The goal of PMX is to faciliate the efficient typesetting of scores and parts +that have an almost professional appearance. To learn more about typesetting +with PMX, please read the PMX Manual. + +When invoked directly, pmxab produces tex output utilizing the MusiXTeX +macro set. +.SH SEE ALSO +pmx2pdf(1), scor2prt(1), musixtex(1) +.SH AUTHORS +PMX was written by Don Simons <dsimons@roadrunner.com>. +This manual page was written by Roland Stigge <stigge@antcom.de> for the Debian +project and revised by Bob Tennent <rdt@cs.queensu.ca>. diff --git a/Master/texmf-dist/doc/man/man1/pmxab.man1.pdf b/Master/texmf-dist/doc/man/man1/pmxab.man1.pdf Binary files differnew file mode 100644 index 00000000000..88cc83f46b4 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pmxab.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/pooltype.1 b/Master/texmf-dist/doc/man/man1/pooltype.1 new file mode 100644 index 00000000000..9a91fb8f5ae --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pooltype.1 @@ -0,0 +1,45 @@ +.TH POOLTYPE 1 "27 December 1992" "Web2C 2012" +.\"===================================================================== +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.el .ds OX TeX for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.if n .ds WB Web +.if t .ds WB W\s-2EB\s0 +.\"===================================================================== +.SH NAME +pooltype \- display a WEB pool file +.SH SYNOPSIS +.B pooltype +.I pool_file_name +.\"===================================================================== +.SH DESCRIPTION +This manual page is not meant to be exhaustive. The complete +documentation for this version of \*(TX can be found in the info file +or manual +.IR "Web2C: A TeX implementation" . +.PP +The +.B pooltype +program translates a (program-oriented) \*(WB string pool file to a +(human-oriented) text file. +.PP +The +.I pool_file_name +must be complete; no adding of default extensions or path searching is done. +.\"===================================================================== +.SH "SEE ALSO" +.BR tangle (1). +.\"===================================================================== +.SH AUTHORS +Donald E. Knuth wrote the program and originally ported it to Unix. It was +published as part of the +.I \*(OXware +technical report, available from the \*(TX Users Group. diff --git a/Master/texmf-dist/doc/man/man1/pooltype.man1.pdf b/Master/texmf-dist/doc/man/man1/pooltype.man1.pdf Binary files differnew file mode 100644 index 00000000000..62b2b2d73e9 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pooltype.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/prepmx.1 b/Master/texmf-dist/doc/man/man1/prepmx.1 new file mode 100644 index 00000000000..299591e2e9d --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/prepmx.1 @@ -0,0 +1,95 @@ +.TH prepmx 1 "01 September 2005" "M-Tx Version 0.60" "prepmx Manual Page" +.SH NAME +prepmx \- preprocessor for PMX, easy music typesetting program +.SH SYNOPSIS +.B prepmx +.RI [ options ] +.I jobname +.RI [ outdir/ ] +.RI [ stylefile ] +.SH DESCRIPTION +.B M-Tx +is an easy to use preprocessor language for the +.B PMX +music typesetting program, aimed at people who are not experts. For an +easy example, have a look at the following example: + + c2+ e4 g | b4d- c1 d c2 | + c8 g+ e g c- g+ e g | d g f g c- g+ e g | + +For syntax reference, please look at the M-Tx manual written by Dirk +Laurie, the creator of the M-Tx language and the author of prepmx, its +command line utility. + +.B prepmx +processes the file +.IR jobname .mtx +to generate +.IR jobname .pmx. +You can then process this file using the `pmx' command. +.B PMX +is a preprocessor for MusiXTeX. + +.I outdir/ +is the directory where `pmx' will put the final .tex file. Note that the +trailing slash is mandatory. You can provide a +.I stylefile +for M-Tx. If omitted, the file `mtxstyle.txt' in the current +directory is used, if there is one. +.SH OPTIONS +Options can also be specified in a `Options:' line in the preamble, +which takes precedence over the command line. +.TP +.B \-b +never unbeam eighth notes and shorter +.TP +.B \-c +main music lines only \- ignore chords +.TP +.B \-D +enable debug mode +.TP +.B \-f +use tonic sol\-fa note names +.TP +.B \-i +ignore errors +.TP +.B \-m +music only \- ignore lyrics +.TP +.B \-n +indent first system and print default instrument names +.TP +.B \-t +ignore uptext lines +.TP +.B \-u +uptext synchronizes with notes only, not rests +.TP +.B \-v +verbose progress report +.TP +.B \-w +enable pedantic warnings +.TP +.BI \- n +select specified case of multiple score +.SH EXIT STATUS +If no error was found, +.B prepmx +exits with return code 0. In case of an error, the line number of the +processed line is returned. This may not always be the line containing +the actual error. A return status of 10000 means that the input file was +empty or could not be opened. +.SH SEE ALSO +.B M-Tx +User's Guide (mtx060.pdf) +.br +pmx(1), musixtex(1) +.SH AUTHORS +prepmx was written by Dirk Laurie <dpl@sun.ac.za>. +This manual page was written by Roland Stigge <stigge@antcom.de> for the Debian +project. It was revised and extended by Nis Martensen +<nis.martensen@web.de>, mostly by copying text from Dirk Laurie's M-Tx +User's Guide. diff --git a/Master/texmf-dist/doc/man/man1/prepmx.man1.pdf b/Master/texmf-dist/doc/man/man1/prepmx.man1.pdf Binary files differnew file mode 100644 index 00000000000..d4cc74f0001 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/prepmx.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/ps2eps.1 b/Master/texmf-dist/doc/man/man1/ps2eps.1 new file mode 100644 index 00000000000..d74e88ca34f --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ps2eps.1 @@ -0,0 +1,366 @@ +.\" This manpage has been automatically generated by docbook2man +.\" from a DocBook document. This tool can be found at: +.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> +.\" Please send any bug reports, improvements, comments, patches, +.\" etc. to Steve Cheng <steve@ggi-project.org>. +.TH "PS2EPS" "1" "31 August 2010" "" "" + +.SH NAME +ps2eps \- convert PostScript to EPS (Encapsulated PostScript) files +.SH SYNOPSIS + +\fBps2eps\fR [ \fB-f\fR ] [ \fB-q\fR ] [ \fB-N\fR ] [ \fB-O\fR ] [ \fB-n\fR ] [ \fB-P\fR ] [ \fB-c\fR ] [ \fB-C\fR ] [ \fB-m\fR ] [ \fB-B\fR ] [ \fB-E\fR ] [ \fB-s \fIpagedim\fB\fR ] [ \fB-t \fIoffset\fB\fR ] [ \fB-r \fIresolution\fB\fR ] [ \fB-R \fI+|-|^\fB\fR ] [ \fB-l\fR ] [ \fB-g\fR ] [ \fB-H\fR ] [ \fB-d\fR ] [ \fB-h|--help\fR ] [ \fB-a\fR ] [ \fB-W\fR ] [ \fB-L\fR ] [ \fB-V|--version\fR ] [ \fB--\fR ] [ \fB\fIpsfile1\fB\fR ] [ \fB\fIpsfile2\fB\fR ] [ \fB\fI\&...\fB\fR ] + +.SH "DESCRIPTION" +.PP +This manual page documents \fBps2eps\fR version 1.68. +.PP +\fBps2eps\fR is a tool (written in Perl) to produce +Encapsulated PostScript Files (EPS/EPSF) from usual one-paged Postscript +documents. It calculates correct Bounding Boxes for those EPS files and +filters some special postscript command sequences that can produce +erroneous results on printers. EPS files are often needed for including +(scalable) graphics of high quality into TeX/LaTeX (or even Word) documents. +.PP +Without any argument, ps2eps reads from standard input +and writes to standard output. +If filenames are given as arguments they are processed +one by one and output files are written to filenames +with extension \fI\&.eps\fR\&. If input filenames have the +extension \fI\&.ps\fR or \fI\&.prn\fR, this extension is replaced with \fI\&.eps\fR\&. +In all other cases \fI\&.eps\fR is appended to the input filename. +Please note that PostScript files for input should contain +only one single page (you can possibly use the \fBpsselect\fR from the +psutils package to extract a single page from a document that +contains multiple pages). +.PP +If BoundingBox in output seems to be wrong, please try options \fB--size\fR or +\fB--ignoreBB\fR\&. See also section TROUBLESHOOTING. +.SH "OPTIONS" +.PP +\fBps2eps\fR follows the usual GNU command line syntax, +with long options starting with two dashes (`-'). A summary of +options is included below. +.TP +\fB-h, --help \fR +Show summary of options. +.TP +\fB-V, --version \fR +Show version of program. +.TP +\fB-f, --force \fR +Force overwriting existing files. \fBps2eps\fR +will not overwrite files by default to avoid deleting original EPS +files accidently. +.TP +\fB-q, --quiet \fR +quiet operation (no output while processing files, except errors). +.TP +\fB-N, --noinsert \fR +do not insert any postscript code. Normally a few postscript +instructions are added around the original postscript code by +\fBps2eps\fR which can be turned off by this option. +.TP +\fB-O, --preserveorientation \fR +do not filter %%Orientation: header comment. +.TP +\fB-n, --nofix \fR +do not try to fix postscript code by filtering some instructions. +.TP +\fB-P, --removepreview \fR +remove preview image (smaller file, but no preview anymore). +.TP +\fB-F, --fixps \fR +fix postscript code unconditionally. Otherwise, filtering is +usually triggered by detection of certain drivers only. +.TP +\fB-c, --comments \fR +preserve document structure comments. +.TP +\fB-C, --clip \fR +insert postscript code for clipping. Unless +\fB--nohires\fR is specified, the HiResBoundingBox +(enlarged by 0.1 points) is used for clipping. +.TP +\fB-m, --mono \fR +use black/white bitmap as base for calculation (default: off). +.TP +\fB-s, --size=pagedim \fR +where pagedim is a pre-defined standard page size +(e.g., a4,a0,b0,letter,...) or explicitly specified in a +format pagedim:=\fIX\fRx\fIY\fR[cm|in], +where \fIX\fR and \fIY\fR are numbers (floating points are accepted) followed by +units centimeter (cm) or inch (in), (default: cm). +Use \fB--size=list\fR to list pre-defined pagesizes. +See also environment variable PS2EPS_SIZE\&. +.TP +\fB-t, --translate=x,y \fR +specify an x,y offset (may be negative) in postscript points +(1/72 dpi) for drawing. This option may be required +if your drawing has negative coordinates which usually lets ghostscript +cut the negative part of your picture, because it starts to render +at positive coordinates. The resulting output will +also be shifted. +.TP +\fB-r, --resolution=dpi \fR +specify a resolution in dpi (dots per inch) for drawing under +ghostscript. Default +resolution is 144 dpi which is the double of the typical 72 dpi. +This option may help if there is a hardware dependent resolution +encoded in the postscript, e.g., 600dpi. Example: +\fBps2eps -l -r 600 test.ps\fR +.TP +\fB-R, --rotate=direction \fR +This option rotates the resulting EPS output. +The parameter direction determines the direction of +rotation: + means +90 degrees (clockwise),- means -90 degrees +(counter-clockwise), and ^ means 180 degrees (up-side down). +.TP +\fB-l, --loose \fR +expand the original tight bounding box by one point in each +direction. +.TP +\fB-B, --ignoreBB \fR +do not use existing bounding box as page size for +rendering. +.TP +\fB-E, --ignoreEOF \fR +do not use %%EOF as hint for end of file. Otherwise, \fBps2eps\fR assumes +that postscript code ends after the last %%EOF comment, because +some drivers add trailing binary ``garbage'' code which gets deleted +by \fBps2eps\fR by default. +.TP +\fB-g, --gsbbox \fR +use internal bbox device of ghostscript instead of the external C +program \fBbbox\fR\&. The internal bbox device of ghostscript +generates different values (sometimes even incorrect), +so using the provided \fBbbox\fR should be more robust. +See also environment variable PS2EPS_GSBBOX\&. +.TP +\fB-H, --nohires \fR +do not generate a %%HiResBoundingBox comment for output. +.TP +\fB-a, --accuracy \fR +increase the accuracy by turning subsample antialiasing on (may be slower) +.TP +\fB-L, --license \fR +show licensing information. +.TP +\fB-d, --debuggs \fR +show ghostscript call. This may be helpful for solving problems that +occur during a ghostscript call. +.TP +\fB-W, --warnings \fR +show warnings about sanity of generated EPS file. Certain +postscript commands should not be contained in an EPS file. +With this option set \fBps2eps\fR will issue a warning if it +detects at least one of them. +.SH "TROUBLESHOOTING" +.PP +Based on the given postscript source code (in most cases generated by +some postscript printer driver) there are many potential obstacles or +problems that may occur when trying to create proper EPS files. Please +read this section carefully to be aware of common pitfalls. +.SS "INCOMPLETE/CLIPPED IMAGES" +.PP +or how to determine the right size for ghostscript. +.PP +If you have documents that are larger than your +ghostscript default (usually A4 or US letter), you have to +specify the page dimensions explicitly using the +\fB-s\fR option. Otherwise your EPS +might be cut off during rasterizing by ghostscript resulting +in a wrongly calculated bounding box. You can pass +all pre-defined page sizes to \fB-s\fR that ghostscript understands. These are +currently: 11x17, ledger, legal, letter, lettersmall, archA, archB, archC, archD, archE +a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, isob0, isob1, isob2, isob3, isob4, isob5, isob6, +b0, b1, b2, b3, b4, b5, c0, c1, c2, c3, c4, c5, c6, jisb0, jisb1, +jisb2, jisb3, jisb4, jisb5, jisb6, flsa, flse, halfletter. +Unfortunately, all sizes are currently only available in portrait +orientation (not landscape). +.PP +By default, \fBps2eps\fR uses an already given %%BoundingBox +from the source file, which often corresponds to the size of +the physical page format for which the document was +printed. However, you should be aware that this already +specified bounding box may be not correct, thus resulting in a +wrongly cropped (or even no usable) \fI\&.eps\fR-file. +\fBps2eps\fR can only do as good as ghostscript does in rendering the original +postscript file (though \fBps2eps\fR even works with negative and +fractional values are contained in the original bounding box by using +automatic translation). Therefore, if the given bounding box is to +small or incorrect anyway, you can ignore the existing bounding box with the \fB-B\fR +option, which will cause ghostscript to use its internal +default size (or use \fB-s\fR). However, if the +BoundingBox has negative coordinates, which is not allowed by +the specification, \fBps2eps\fR will shift the output to positive values. +.PP +Hint: to avoid rotating the picture +if you have the original drawing in landscape format, you may +use the ``Encapsulated Postscript'' option in the printer driver +which should generate an EPS file (but with a bounding box of +the sheet size!). But some Windows printer drivers are drawing +the image with an offset from the bottom of the portrait page, +so that a part of it is drawn outside the landscape oriented +page. In this case, you'll have to specify a square size of +the page using the maximum length, e.g., 29.7cm x 29.7cm for +an A4 page. +.SS "CLIPPING" +.PP +or why gets some of my text deleted above the included \fI\&.eps\fR file? +.PP +Some postscript drivers draw a white rectangle from the top left +corner of the page to the right lower corner of the object. This may +erase some or even all text above your imported/included EPS file, +which is very annoying. In order to prevent this, most programs have a +clipping option for imported \fI\&.eps\fR files (within LaTeX you can use +\\includegraphics*{}) for this purpose. If this is unfortunately not +the case, you can use the \fB-C\fR option of \fBps2eps\fR which will (hopefully) +do it for you. Unfortunately, PScript.dll 5.2 (Windows XP) introduced +new very badly behaving Postscript code (initclip) which will even +override the outer clipping! Thus, a new filter had to be installed +in \fBps2eps\fR which will fix it. +.PP +However, because most programs clip directly on the bounding box, +you still may loose some pixels of your image, because the bounding +box is described in the coarse resolution of postscript points, +i.e. 72 dpi. In order to prevent this, you can use the \fB-l\fR +option or \fB-C\fR option (for the latter, clipping by the importing program +should be disabled then) to allow for a 1 point larger bounding box. +\fB-C\fR clips around a 1 point enlarged bounding box and \fB-l\fR enlarges the +bounding box values by 1 point (you can also combine both options). +.SS "INCLUDED FILTERS" +.PP +Some postscript sequences, e.g., for using specific printer +features (featurebegin ...), are not working well within an \fI\&.eps\fR +file, so \fBps2eps\fR tries to filter them out. But please note that +filters for postscript code may not work properly for your printer +driver (\fBps2eps\fR was mainly tested with HP and Adobe printer +drivers, although it may work for all printers using the +PScript.dll). In this case you can try to turn of filtering by +using option \fB-n\fR, or try to find the bad sequence in the postscript +code and adapt the filter rule in the \fBps2eps\fR script (variables +$linefilter, $rangefilter_begin, $rangefilter_end; linefilter is +an expression for filtering single lines, rangefilter_... are +expressions that filter all lines between a pattern matching +$rangefilter_begin and $rangefilter_end; drop me an e-mail with +your modifications). However, things may change as the printer +drivers (e.g., PScript.dll) or postscript language evolve. +.PP +Some applications or drivers generate postscript code with leading +or trailing binary code, which often confuses older postscript +interpreters. \fBps2eps\fR tries to remove such code, but it may +sometimes make a wrong guess about start and end of the real +postscript code (drop me an e-mail with a zipped postscript +source, see section BUGS). +.PP +Comment lines or even blank lines are removed +(which is the default to make .eps files smaller), which may corrupt your +output. Please check the next section how to fix this. +\fBps2eps\fR removes blank lines and also <CR> (carriage ceturn +``\\r'') at the end of lines. However, nicely formatted postscript code +gives a hint by using ``%%BeginBinary'' ``%%EndBinary'' comments. When +\fBps2eps\fR detects these comments it will refrain from any filtering +action within the marked binary sections. +.PP +\fBps2eps\fR filters also %%Orientation: comments by +default (you can use option \fB-O\fR to turn off filtering), +because ghostscript may ``automagically'' rotate images when generating PDF +images, which is not desired in most cases. Hint: you can turn off that +feature in ghostscript unconditionally by specifying -dAutoRotatePages=/None. +.SS "CORRUPTED OUTPUT" +.PP +Some postscript code may get corrupted when comment lines or even blank +lines are removed (which is the default to make .eps files smaller), +because those files may contain encoded images +which also have a % as first character in a line or use a special +comment as end of image delimiter. If this is the case, use the \fB-c\fR +option to prevent filtering comments. +.SS "COLOR AND MEMORY" +.PP +\fBps2eps\fR supports colored postscript, consequently +letting ghostscript consume more resources for drawing its bitmap +(roughly 6MBytes for an A4 page). \fBbbox\fR is reading +the bitmap line by line so it consumes only minimal memory. If you experience problems +with memory consumption of ghostscript, you may use the \fB-m\fR option +for using a monochrome image. But this will probably result in wrongly +determined bounding boxes with colored +images, because ghostscript has to do black/white dithering and may thus suppress +objects drawn in light colors. +.PP +Another option in case of memory problems and too long run times +is to use the much more memory efficient internal ghostscript bbox by using the +\fB-g\fR option. +.SH "ENVIRONMENT VARIABLES" +.PP +Please note that a command line option always takes precedence over +the related environment variable. +.PP +The environment variable PS2EPS_SIZE can be used +to specify a default page size and take any argument that +\fB--size\fR accepts. Examples: \fBexport PS2EPS_SIZE=a0\fR (bash-like syntax) +or \fBsetenv PS2EPS_SIZE letter\fR (csh syntax). +.PP +If the environment variable PS2EPS_GSBBOX is set +the internal bbox device of ghostscript will be used instead of the external +command \fBbbox\fR\&. Examples: \fBexport PS2EPS_GSBBOX=true\fR (bash-like syntax) +or \fBsetenv PS2EPS_GSBBOX 1\fR (csh syntax). +.SH "EXAMPLES" +.PP +The usual call is simply: +\fBps2eps -l \fIfile\fB\fR +.PP +A relatively failsafe call would be (if your postscript is smaller +than iso b0 [100cm x 141.4cm] and you have a fast computer with enough memory): +\fBps2eps -l -B -s b0 -c -n \fIfile\fB\fR +.PP +If output is not correct try: +\fBps2eps -l -B -s b0 -F \fIfile\fB\fR +.SH "AUTHOR" +.PP +\fBps2eps\fR was written by Roland Bless. +.SS "WHY?" +.PP +Other programs like \fBps2epsi\fR do not calculate the +bounding box always correctly (because the values are put on the +postscript stack which may get corrupted by bad postscript code) or +rounded it off so that clipping the EPS cut off some part of the +image. \fBps2eps\fR uses a double precision resolution +of 144 dpi and appropriate rounding to get a proper bounding +box. The internal bbox device of ghostscript generates different values +(sometimes even incorrect), so using the provided \fBbbox\fR +should be more robust. +However, because normal clipping has only a resolution of 1/72dpi +(postscript point), the clipping process may still erase parts of your +EPS image. In this case please use the \fB-l\fR option to add +an additional point of white space around the tight bounding box. +.SS "ACKNOWLEDGMENTS" +.PP +Some people contributed code or suggestions to improve \fBps2eps\fR\&. Here +are at least some names (sorry if I forgot your name): +Christophe Druet, Hans Ecke, Berend Hasselman, Erik Joergensen, Koji Nakamaru, Hans Fredrik Nordhaug, Michael Sharpe. +Special thanks goes to Michael Sharpe from UCSD who suggested a lot of useful features for ps2eps and +who fixed bbox to become more precise and robust. +.PP +An earlier version of this manual page was originally written by +Rafael Laboissiere <rafael at debian.org> for +the Debian system. Thank you Rafael! +.PP +Permission is granted to copy, distribute and/or modify this document under +the terms of the GNU Free Documentation +License, Version 1.1 or any later version published by the Free +Software Foundation; with no Invariant Sections, no Front-Cover +Texts and no Back-Cover Texts. +.SH "BUGS" +.PP +If you experience problems, please check carefully all hints in the section +TROUBLESHOOTING +first. Otherwise, check for an updated +version at <URL:http://www.tm.uka.de/~bless/ps2eps> +or send a gzipped file of +relevant postscript source code with your error description +and \fBps2eps\fR version number to <roland at bless.de> (please allow some time +to reply). +.SH "SEE ALSO" +.PP +bbox (1), gs (1), ps2epsi (1) diff --git a/Master/texmf-dist/doc/man/man1/ps2eps.man1.pdf b/Master/texmf-dist/doc/man/man1/ps2eps.man1.pdf Binary files differnew file mode 100644 index 00000000000..0a6f618c0dc --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ps2eps.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/ps2frag.1 b/Master/texmf-dist/doc/man/man1/ps2frag.1 new file mode 100644 index 00000000000..b572c5733c1 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ps2frag.1 @@ -0,0 +1,41 @@ +.TH ps2frag 1 "Feb 95" TeXware +.SH NAME +ps2frag - obsolete shell script for the PSfrag system. +.SH IMPORTANT NOTICE +The new PSfrag system no longer requires the ps2frag script; instead, it +handles the processing entirely within TeX/LaTeX and DVIPS. I'm sure you +will agree that never needing to run ps2frag again is a nice convenience! +.P +However, there are two significant differences in the way this new version +of PSfrag works. Please make yourself aware of them: +.P +1) XDvi is no longer able to determine where your PSfrag replacements +should +go, so instead it lines them up in a vertical list to the left of the +figure. This allows you to confirm that they have been typeset properly, at +least. However, to confirm that PSfrag +.B positions +your replacements properly, you will have to view the PostScript +version of your file with a viewer like GhostView, or print it out. +This seems to be the +only disadvantage to the elimination of the pre-processing step. +.P +2) If you embed '\\tex' commands inside your figures, you now need to +explicitly _tell_ PSfrag to process these commands. To do so, use +\\usepackage[scanall]{psfrag} +instead of +\\usepackage{psfrag} +at the beginning of your LaTeX file. +.P +If you only use '\\tex' commands in a small number of figures, then a +more efficient might be to turn on '\\tex'-scanning only for those +figures. To do that, add the command '\\psfragscanon' immediately before +each relevant \\includegraphics or \\epsfbox command. +.P +.SH NOTES +See the PSfrag documentation for further information. +.SH "SEE ALSO" +dvips(1), gs(1), ghostview(1), latex(1) +.SH AUTHORS +.IP psfrag@rascals.stanford.edu +The PSfrag maintainer's mailing list. diff --git a/Master/texmf-dist/doc/man/man1/ps2frag.man1.pdf b/Master/texmf-dist/doc/man/man1/ps2frag.man1.pdf Binary files differnew file mode 100644 index 00000000000..82dc2bffad8 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ps2frag.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/ps2pk.1 b/Master/texmf-dist/doc/man/man1/ps2pk.1 new file mode 100644 index 00000000000..dbeed0cdbfc --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ps2pk.1 @@ -0,0 +1,156 @@ +.TH PS2PK 1 TeX +.SH NAME +ps2pk \- creates a TeX pkfont from a type1 PostScript font +.SH SYNOPSIS +ps2pk +[ -v ] +[ -e\fIenc\fP ] +[ -X\fIxres\fP ] +[ -E\fIexpansion\fP ] +[ -S\fIslant\fP ] +[ -P\fIpointsize\fP ] +[ -R\fIbaseres\fP ] +[ -r\fIaspectratio\fP ] +[ -Y\fIyres\fP ] +[ -a\fIAFMfile\fP ] +[ -m\fImodename\fP ] +type1 [pkfont] +.SH DESCRIPTION +This program renders a given type1 PostScript font at a given pointsize +(default 10.0 points) and resolution (default 300dpi) into a TeX pkfont. +.PP +To generate the pkfont ps2pk needs a valid type1 font file (for +example Utopia-Regular, Utopia-Regula.pfb or Utopia-Regula.pfa) and +its corresponding AFM-file (Utopia-Regular.afm) with the font metrics. +The program accepts both the binary type1 format (Utopia-Regula.pfb) +and its ASCII equivalent (Utopia-Regular or Utopia-Regula.pfa). To +locate the files, ps2pk uses the kpathsea library (see the info page +on kpathsea). Additionally, pfb and pfa files are searched for in the +directory specified in the environment variable T1INPUTS, and afm +files are searched in AFMFONTS, if they are set (the -v flag will +report which filenames are looked for). +.PP +The program will make a pkfont in which the character codes are derived +from their AFM (Adobe Font Metrics) defined values. This can be +overruled by specifying an explicit encoding file via the -e option. +The encoding file \fIenc\fP +should contain a valid PostScript encoding containing PostScript names +like /hyphen. Here is an incomplete example (see afm2tfm for complete +syntax): + +.RS +.nf +% This is the EC encoding. +/ECEncoding [ % now 256 chars follow +% 0x00 + /grave /acute /circumflex /tilde /dieresis /hungarumlaut + /ring /caron /breve /macron /dotaccent /cedilla + /ogonek /quotesinglbase /guilsinglleft /guilsinglright + + (Rest of lines omitted.) + +% 0xF0 + /eth /ntilde /ograve /oacute /ocircumflex /otilde + /odieresis /oe /oslash /ugrave /uacute /ucircumflex + /udieresis /yacute /thorn /germandbls ] def +.fi +.RE +.PP +Options and arguments: +.IP -a\fIAFMfile\fP 12 +Overrules the name that is used to locate the AFM file. + +.IP -e\fIenc\fP 12 +Name of a file containing an encoding scheme +(default \- the encoding named in the AFM-file is used). +The actual PostScript name of the encoding scheme is written +as a "special" at the end of the pkfont. + +.IP -E\fIextension\fP 12 +The extension factor (real value, default 1.0). + +.IP -m\fImodename\fP 12 +A modename such as would be used by METAFONT (default "Unknown mode"). + +.IP -P\fIpointsize\fP 12 +The desired pointsize (real value, default 10.0 points). + +.IP -R\fIbaseres\fP 12 +The desired base resolution (integer value, default 300 dpi). +If this differs from the value of \fIxres\fP, the appropriate +magnification will be shown in the "specials" at the end +of the pkfont. If possible, this will be expressed as a +magstep, otherwise as a real number. For example, a pkfont with an \fIxres\fP +of 329, using the default base resolution of 300, +will include the "special" text "mag=magstep(0.5)" at the +end of the font. + +.IP -r\fIaspectratio\fP 12 +The desired aspect ratio (expression, integerY/integerX, default 300/300). +This will be shown in the "specials" at the end +of the pkfont. Setting the aspect ratio creates a value for +\fIyres\fP but an explicit \fIyres\fP value will take precedence. +Argument must be in "" if spaces are left around `/'. + +.IP -S\fIslant\fP 12 +The slant (real value, default 0.0). + +.IP -X\fIxres\fP 12 +The resolution in the X direction (integer value, default 300 dpi). + +.IP -Y\fIyres\fP 12 +The resolution in the Y direction (integer value, default the value +of \fIxres\fP). If \fIyres\fP differs from \fIxres\fP, a "special" +text giving the aspect ratio will be written at the end of the +pkfont. + +.IP -v 12 +Verbose flag. (Tells what the program is doing.) + +.IP type1 12 +The name of the PostScript type1 font. The name of the AFM-file will be +constructed from this name by removing the extension (if suplied) and +adding ".afm". The PostScript "FontName" is extracted from the +AFM-file and written into a "special" at the end of the pkfont. + +.IP [pkfont] 12 +The name of the resulting pkfont can be overruled with this name. The +default name of pkfont is derived from the basename of the type1 +font, the pointsize and \fIxres\fP. For example +`ps2pk -P17.28 Utopia-Regular' will result in `Utopia-Regular17.300pk'. +An explicit value for the name of the pkfont is necessary when +the type1 font name already shows the point size, otherwise +the \fIpointsize\fP value is catenated on to the pkfont basename +which is usually not what is wanted. + +.PP +The following PK "specials" provide an internal check on the +characteristics of the pkfont, in accordance with the recommendations +of the TeX Working Group on the TeX Directory Standard (TWG-TDS): +.br +"fontid=\fIFontName\fP", "codingscheme=\fIEncoding\fP", "fontfacebyte", "mag", +"mode=(ps2pk)\fImodename\fP", "pixels-per-inch", and "aspect-ratio" if it +is other than unity. + +.SH ACKNOWLEDGEMENT +This program uses the type1 hinting and rendering software IBM +has donated to the X-consortium. + +.SH SEE ALSO +.nf +`METAFONT: The Program', Donald Knuth. +`The GFtoPK processor', belonging to the METAFONTware. +`Adobe Font Metric Files', Version 3.0, PostScript Developer +Support Group. +afm2tfm(1) +pk2bm(1) +kpsewhich(1) +info kpathsea + +.SH VERSION +1.4 (January 1994) + +.SH AUTHOR +Piet Tutelaers <rcpt@urc.tue.nl>. +Modified for ps2pkm by Pierre A. Mackay <mackay@cs.washington.edu>, +This manpage was adapted to teTeX by Frank Kuester <frank@kuesterei.ch>. diff --git a/Master/texmf-dist/doc/man/man1/ps2pk.man1.pdf b/Master/texmf-dist/doc/man/man1/ps2pk.man1.pdf Binary files differnew file mode 100644 index 00000000000..62beb4f7847 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ps2pk.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/psbook.1 b/Master/texmf-dist/doc/man/man1/psbook.1 new file mode 100644 index 00000000000..de88949e4b6 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/psbook.1 @@ -0,0 +1,42 @@ +.TH PSBOOK 1 "PSUtils Release 1 Patchlevel 17" +.SH NAME +psbook \- rearrange pages in PostScript file into signatures +.SH SYNOPSIS +.B psbook +[ +.B \-q +] [ +.B \-s\fIsignature\fR +] [ +.I infile +[ +.I outfile +] ] +.SH DESCRIPTION +.I Psbook +rearranges pages from a PostScript document into ``signatures'' for +printing books or booklets, creating a new PostScript file. The +input PostScript file should follow the Adobe Document Structuring +Conventions. +.PP +The +.I \-s +option selects the size of signature which will be used. The signature size is +the number of sides which will be folded and bound together; the number given +should be a multiple of four. The default is to use one signature for the +whole file. Extra blank sides will be added if the file does not contain a +multiple of four pages. +.PP +Psbook normally prints the page numbers of the pages rearranged; the +.I \-q +option suppresses this. +.SH AUTHOR +Copyright (C) Angus J. C. Duggan 1991-1995 +.SH "SEE ALSO" +epsffit(1), psbook(1), psnup(1), psresize(1), psselect(1), pstops(1), extractres(1), fixdlsrps(1), fixfmps(1), fixpsditps(1), fixpspps(1), fixscribeps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), includeres(1), psmerge(1), getafm(1) +.SH TRADEMARKS +.B PostScript +is a trademark of Adobe Systems Incorporated. +.SH BUGS +.I Psbook +does not accept all DSC comments. diff --git a/Master/texmf-dist/doc/man/man1/psbook.man1.pdf b/Master/texmf-dist/doc/man/man1/psbook.man1.pdf Binary files differnew file mode 100644 index 00000000000..3dd7fe034e5 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/psbook.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/pslatex.1 b/Master/texmf-dist/doc/man/man1/pslatex.1 new file mode 100644 index 00000000000..c206596a6a0 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pslatex.1 @@ -0,0 +1,44 @@ +.TH "pslatex" "1" "September 2000" "teTeX" "teTeX" +.PP +.SH "NAME" +pslatex \- utility to typeset LaTeX files using PostScript fonts +.PP +.SH "SYNOPSIS" +.PP +\fBpslatex\fP [\fILATEXARGS\fP] \fILATEXFILE\fP[\&.tex] +.PP +.SH "DESCRIPTION" +.PP +\fBpslatex\fP allows you to typeset a LaTeX source file using basic +Adobe Type 1 PostScript fonts (Times, Helvetica, and Courier) +\fIwithout\fP editing the file to load the necessary packages\&. +.PP +It takes any arguments that \fBlatex\fP(1) can take\&. +.PP +.SH "OPTIONS" +.PP +None\&. +.PP +.SH "FILES" +.PP +Many\&. See the readme file for \fIpslatex\&.sty\fP\&. +.PP +.SH "SEE ALSO" +.PP +\fBlatex\fP(1), \fI\fITEXMF\fP/latex/pslatex/00readme\&.txt\fP +.PP +.SH "BUGS" +.PP +None known\&. Report any found to the author\&. +.PP +.SH "AUTHOR" +.PP +\fBpslatex\fP was written by David Carlisle +<david@dcarlisle\&.demon\&.co\&.uk>\&. +.PP +This manual page was written by C\&.M\&. Connelly +<c@eskimo\&.com>, for +the Debian GNU/Linux system\&. It may be used by other distributions +without contacting the author\&. Any mistakes or omissions in the +manual page are my fault; inquiries about or corrections to this +manual page should be directed to me (and not to the primary author)\&. diff --git a/Master/texmf-dist/doc/man/man1/pslatex.man1.pdf b/Master/texmf-dist/doc/man/man1/pslatex.man1.pdf Binary files differnew file mode 100644 index 00000000000..f187da030ff --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pslatex.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/psmerge.1 b/Master/texmf-dist/doc/man/man1/psmerge.1 new file mode 100644 index 00000000000..55d95ff7d61 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/psmerge.1 @@ -0,0 +1,36 @@ +.TH PSMERGE 1 "PSUtils Release 1 Patchlevel 17" +.SH NAME +psmerge \- filter to merge several PostScript files into one +.SH SYNOPSIS +.B psmerge +[ +.B \-o\fIout.ps\fB +] +[ +.I file.ps ... +] +.SH DESCRIPTION +.I Psmerge +merges PostScript documents into a single document. It only works in the +specific case the the files were created using the same application, with the +same device setup and resources (fonts, procsets, patterns, files, etc) +loaded. + +If the +.B \-o +option is used, output will be sent to the file named, otherwise it will go to +standard output. + +.I Psmerge +will merge multiple files concatenated into a single file as if they +were in separate files. +.SH AUTHOR +Copyright (C) Angus J. C. Duggan 1991-1995 +.SH "SEE ALSO" +epsffit(1), psbook(1), psnup(1), psresize(1), psselect(1), pstops(1), extractres(1), fixdlsrps(1), fixfmps(1), fixpsditps(1), fixpspps(1), fixscribeps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), includeres(1), psmerge(1), getafm(1) +.SH TRADEMARKS +.B PostScript +is a trademark of Adobe Systems Incorporated. +.SH BUGS +.I psmerge +is for a very specific case; it does not merge files in the general case. diff --git a/Master/texmf-dist/doc/man/man1/psmerge.man1.pdf b/Master/texmf-dist/doc/man/man1/psmerge.man1.pdf Binary files differnew file mode 100644 index 00000000000..a8dda27ec33 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/psmerge.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/psnup.1 b/Master/texmf-dist/doc/man/man1/psnup.1 new file mode 100644 index 00000000000..06922e43575 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/psnup.1 @@ -0,0 +1,160 @@ +.TH PSNUP 1 "PSUtils Release 1 Patchlevel 17" +.SH NAME +psnup \- multiple pages per sheet +.SH SYNOPSIS +.B psnup +[ +.B \-w\fIwidth\fR +] [ +.B \-h\fIheight\fR +] [ +.B \-p\fIpaper\fR +] [ +.B \-W\fIwidth\fR +] [ +.B \-H\fIheight\fR +] [ +.B \-P\fIpaper\fR +] [ +.B \-l +] [ +.B \-r +] [ +.B \-f +] [ +.B \-c +] [ +.B \-m\fImargin\fR +] [ +.B \-b\fIborder\fR +] [ +.B \-d\fIlwidth\fR +] [ +.B \-s\fIscale\fR +] [ +.B \-\fInup\fR +] [ +.B \-q +] [ +.I infile +[ +.I outfile +] ] +.SH DESCRIPTION +.I Psnup +puts multiple logical pages onto each physical sheet of paper. +The input PostScript file should follow the Adobe Document Structuring +Conventions. +.PP +The +.I \-w +option gives the paper width, and the +.I \-h +option gives the paper height, +normally specified in +.B "cm" +or +.B "in" +to convert +PostScript's points (1/72 of an inch) +to centimeters or inches. +The +.I \-p +option can be used as an alternative, to set the paper size to +.B a3, a4, a5, b5, letter, legal, tabloid, statement, executive, folio, quarto +or +.B 10x14. +The default paper size is +.B a4. +The +.I \-W, \-H, +and +.I \-P +options set the input paper size, if it is different from the output +size. This makes it easy to impose pages of one size on a different size of +paper. +.PP +The +.I \-l +option should be used for pages which are in landscape orientation (rotated 90 +degrees anticlockwise). The +.I \-r +option should be used for pages which are in seascape orientation (rotated 90 +degrees clockwise), and the +.I \-f +option should be used for pages which have the width and height interchanged, +but are not rotated. +.PP +.I Psnup +normally uses `row-major' layout, where adjacent pages are placed in rows +across the paper. +The +.I \-c +option changes the order to `column-major', where successive pages are placed +in columns down the paper. +.PP +A margin to leave around the whole page can be specified with the +.I \-m +option. This is useful for sheets of `thumbnail' pages, because the normal +page margins are reduced by putting multiple pages on a single sheet. +.PP +The +.I \-b +option is used to specify an additional margin around each page on a sheet. +.PP +The +.I \-d +option draws a line around the border of each page, of the specified width. +If the \fIlwidth\fR parameter is omitted, a default linewidth of 1 point is +assumed. The linewidth is relative to the original page dimensions, +\fIi.e.\fR it is scaled down with the rest of the page. +.PP +The scale chosen by +.I psnup +can be overridden with the +.I \-s +option. This is useful to merge pages which are already reduced. +.PP +The +.I \-\fInup\fR +option selects the number of logical pages to put on each sheet of paper. This +can be any whole number; +.I psnup +tries to optimise the layout so that the minimum amount of space is wasted. If +.I psnup +cannot find a layout within its tolerance limit, it will abort with an error +message. The alternative form +.I \i \fInup\fR +can also be used, for compatibility with other n-up programs. +.PP +.I Psnup +normally prints the page numbers of the pages re-arranged; the +.I \-q +option suppresses this. +.SH EXAMPLES +The potential use of this utility is varied but one particular +use is in conjunction with +.I psbook(1). +For example, using groff to create a PostScript document and lpr as +the +.SM UNIX +print spooler a typical command line might look like this: +.sp +groff -Tps -ms \fIfile\fP | psbook | psnup -2 | lpr +.sp +Where file is a 4 page document this command will result in a +two page document printing two pages of \fIfile\fP per page and +rearranges the page order to match the input pages 4 and 1 +on the first output page and +pages 2 then 3 of the input document +on the second output page. +.SH AUTHOR +Copyright (C) Angus J. C. Duggan 1991-1995 +.SH "SEE ALSO" +epsffit(1), psbook(1), psnup(1), psresize(1), psselect(1), pstops(1), extractres(1), fixdlsrps(1), fixfmps(1), fixpsditps(1), fixpspps(1), fixscribeps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), includeres(1), psmerge(1), getafm(1) +.SH TRADEMARKS +.B PostScript +is a trademark of Adobe Systems Incorporated. +.SH BUGS +.I Psnup +does not accept all DSC comments. diff --git a/Master/texmf-dist/doc/man/man1/psnup.man1.pdf b/Master/texmf-dist/doc/man/man1/psnup.man1.pdf Binary files differnew file mode 100644 index 00000000000..77df07fb5a4 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/psnup.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/psresize.1 b/Master/texmf-dist/doc/man/man1/psresize.1 new file mode 100644 index 00000000000..2fa06f9f6d0 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/psresize.1 @@ -0,0 +1,81 @@ +.TH PSRESIZE 1 "PSUtils Release 1 Patchlevel 17" +.SH NAME +psresize \- multiple pages per sheet +.SH SYNOPSIS +.B psresize +[ +.B \-w\fIwidth\fR +] [ +.B \-h\fIheight\fR +] [ +.B \-p\fIpaper\fR +] [ +.B \-W\fIwidth\fR +] [ +.B \-H\fIheight\fR +] [ +.B \-P\fIpaper\fR +] [ +.B \-q +] [ +.I infile +[ +.I outfile +] ] +.SH DESCRIPTION +.I Psresize +rescales and centres a document on a different size of paper. +The input PostScript file should follow the Adobe Document Structuring +Conventions. +.PP +The +.I \-w +option gives the output paper width, and the +.I \-h +option gives the output paper height, normally specified in +.B "cm" +or +.B "in" +to convert +PostScript's points (1/72 of an inch) +to centimeters or inches. +The +.I \-p +option can be used as an alternative, to set the output paper size to +.B a3, a4, a5, b5, letter, legal, tabloid, statement, executive, folio, quarto +or +.B 10x14. +The default output paper size is +.B a4. +.PP +The +.I \-W +option gives the input paper width, and the +.I \-H +option gives the input paper height. +The +.I \-P +option can be used as an alternative, to set the input paper size. +The default input paper size is +.B a4. +.PP +.I Psresize +normally prints the page numbers of the pages output; the +.I \-q +option suppresses this. +.SH EXAMPLES +The following command can be used to convert a document on A4 size paper to +letter size paper: +.sp +psresize -PA4 -pletter in.ps out.ps +.sp +.SH AUTHOR +Copyright (C) Angus J. C. Duggan 1991-1995 +.SH "SEE ALSO" +epsffit(1), psbook(1), psnup(1), psresize(1), psselect(1), pstops(1), extractres(1), fixdlsrps(1), fixfmps(1), fixpsditps(1), fixpspps(1), fixscribeps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), includeres(1), psmerge(1), getafm(1) +.SH TRADEMARKS +.B PostScript +is a trademark of Adobe Systems Incorporated. +.SH BUGS +.I Psresize +does not accept all DSC comments. diff --git a/Master/texmf-dist/doc/man/man1/psresize.man1.pdf b/Master/texmf-dist/doc/man/man1/psresize.man1.pdf Binary files differnew file mode 100644 index 00000000000..5caf06fd1a2 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/psresize.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/psselect.1 b/Master/texmf-dist/doc/man/man1/psselect.1 new file mode 100644 index 00000000000..005888306b5 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/psselect.1 @@ -0,0 +1,84 @@ +.TH PSSELECT 1 "PSUtils Release 1 Patchlevel 17" +.SH NAME +psselect \- select pages from a PostScript file +.SH SYNOPSIS +.B psselect +[ +.B \-q +] [ +.B \-e +] [ +.B \-o +] [ +.B \-r +] [ +.B \-p\fIpages\fR +] [ +.I pages +] [ +.I infile +[ +.I outfile +] ] +.SH DESCRIPTION +.I Psselect +selects pages from a PostScript document, creating a new PostScript file. The +input PostScript file should follow the Adobe Document Structuring +Conventions. +.PP +The +.I \-e +option selects all of the even pages; it may be used in conjunction with the +other page selection options to select the even pages from a range of pages. +.PP +The +.I \-o +option selects all of the odd pages; it may be used in conjunction with the +other page selection options. +.PP +The +.I \-p\fIpages\fR +option specifies the pages which are to be selected. +.I Pages +is a comma separated list of page ranges, each of which may be a page number, +or a page range of the form \fIfirst\fR-\fIlast\fR. If \fIfirst\fR is omitted, +the +first page is assumed, and if \fIlast\fR is omitted, the last page is assumed. + +The prefix character `_' indicates that the page number is relative to the end +of the document, counting backwards. If just this character with no page +number is used, a blank page will be inserted. +.PP +The +.I \-r +option causes +.I psselect +to output the selected pages in reverse order. +.PP +Psselect normally prints the page numbers of the pages rearranged; the +.I \-q +option suppresses this. +.PP +If any of the +.I \-r, \-e, +or +.I \-o +options are specified, the page range must be given with the +.I \-p +option. This is for backwards compatibility with previous versions. + +.SH NOTES +The page number given to +.I psselect +is the number of the page counting from the start or end of the file, starting +at one. The actual page number in the document may be different. +.SH AUTHOR +Copyright (C) Angus J. C. Duggan 1991-1995 +.SH "SEE ALSO" +epsffit(1), psbook(1), psnup(1), psresize(1), psselect(1), pstops(1), extractres(1), fixdlsrps(1), fixfmps(1), fixpsditps(1), fixpspps(1), fixscribeps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), includeres(1), psmerge(1), getafm(1) +.SH TRADEMARKS +.B PostScript +is a trademark of Adobe Systems Incorporated. +.SH BUGS +.I Psselect +does not accept all DSC comments. diff --git a/Master/texmf-dist/doc/man/man1/psselect.man1.pdf b/Master/texmf-dist/doc/man/man1/psselect.man1.pdf Binary files differnew file mode 100644 index 00000000000..ca055be91fe --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/psselect.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/pstopdf.1 b/Master/texmf-dist/doc/man/man1/pstopdf.1 new file mode 100644 index 00000000000..972f364cb19 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pstopdf.1 @@ -0,0 +1,75 @@ +.TH "PSTOPDF" "1" "December 2006" "pstopdf 2.0" "ConTeXt" +.de URL +\\$2 \(laURL: \\$1 \(ra\\$3 +.. +.if \n[.g] .mso www.tmac +.de EX +.in +3 +.nf +.ft CW +.. +.de EE +.in -3 +.ft R +.fi +.. + +.SH "NAME" +pstopdf \- convert EPS to PDF + +.SH "SYNOPSIS" +\fBpstopdf\fP [ \fIOPTION\fP ... ] \fIFILE\fP [ ... ] + +.SH "DESCRIPTION" + +\fBpstopdf\fP converts EPS (encapsulated PostScript) to PDF. + +.SH OPTIONS +.TP +.B --help +Print usage and version information. +.TP +.B --convert +Convert EPS to PDF. This option is assumed if none is given. +.TP +.BI --method=\fIstring\fP +What method to use for bounding boxes when converting to PDF. +Specify one of \fBcrop\fP, \fBbounded\fP (the default), or \fBraw\fP. +Older versions of ConTeXt used numerical methods (1, 2, or 3). +.TP +.BI --resolution=\fIstring\fP +The resolution to use when when converting to pdf. +Specify one of \fBlow\fP, \fBnormal\fP, \fBmedium\fP, \fBhigh\fP, +\fBprinter\fP, \fBprint\fP, \fBscreen\fP, \fBebook\fP, or +\fBdefault\fP. +.TP +.B --request +Handle exa request file. +.TP +.B --watch +Watch folders for conversions (\fIuntested\fP). + +.SH EXAMPLES + +To make \fIcow.pdf\fP: +.EX +pstopdf cow.eps +.EE +or (one of several equivalents): +.EX +pstopdf --convert cow.eps cow.pdf +.EE + + +.SH "SEE ALSO" +.PP +.BR epstopdf (1), +.BR mptopdf (1), +.BR ps2pdf (1), +.BR texexec (1). +.PP +.URL "http://www.contextgarden.net" "ConTeXt wiki" . + +.SH "AUTHOR" +This (incomplete) manual page was written by Sanjoy Mahajan +<sanjoy@mit.edu>. It is in the public domain. diff --git a/Master/texmf-dist/doc/man/man1/pstopdf.man1.pdf b/Master/texmf-dist/doc/man/man1/pstopdf.man1.pdf Binary files differnew file mode 100644 index 00000000000..3c67c3ebcd4 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pstopdf.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/pstops.1 b/Master/texmf-dist/doc/man/man1/pstops.1 new file mode 100644 index 00000000000..cc4d160c890 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pstops.1 @@ -0,0 +1,166 @@ +.TH PSTOPS 1 "PSUtils Release 1 Patchlevel 17" +.SH NAME +pstops \- shuffle pages in a PostScript file +.SH SYNOPSIS +.B pstops +[ +.B \-q +] [ +.B \-b +] [ +.B \-w\fIwidth\fR +] [ +.B \-h\fIheight\fR +] [ +.B \-p\fIpaper\fR +] [ +.B \-d\fIlwidth\fR +] +.I pagespecs +[ +.I infile +[ +.I outfile +] ] +.SH DESCRIPTION +.I Pstops +rearranges pages from a PostScript document, creating a new PostScript file. +The input PostScript file should follow the Adobe Document Structuring +Conventions. +.I Pstops +can be used to perform a large number of arbitrary re-arrangements of +Documents, including arranging for printing 2-up, 4-up, booklets, reversing, +selecting front or back sides of documents, scaling, etc. +.PP +.I pagespecs +follow the syntax: +.RS +.TP 12 +.I pagespecs +.I = [modulo:]specs +.TP +.I specs +.I = spec[+specs][,specs] +.TP +.I spec +.I = [-]pageno[L][R][U][@scale][(xoff,yoff)] +.RE +.sp +.I modulo +is the number of pages in each block. The value of +.I modulo +should be greater than 0; the default value is 1. +.I specs +are the page specifications for the pages in each block. The value of the +.I pageno +in each +.I spec +should be between 0 (for the first page in the block) and \fImodulo\fR-1 +(for the last page in each block) inclusive. +The optional dimensions +.I xoff +and +.I yoff +shift the page by the specified amount. +.I xoff +and +.I yoff +are in PostScript's points, but may be followed by the units +.B "cm" +or +.B "in" +to convert to centimetres or inches, or the flag +.B "w" +or +.B "h" +to specify as a multiple of the width or height. +The optional parameters \fIL\fR, \fIR\fR, and \fIU\fR rotate the page left, +right, or upside-down. +The optional +.I scale +parameter scales the page by the fraction specified. +If the optional minus sign is specified, the page is relative to the end of +the document, instead of the start. + +If page \fIspec\fRs are separated by +.B \+ +the pages will be merged into one page; if they are separated by +.B \, +they will be on separate pages. +If there is only one page specification, with +.I pageno +zero, the \fIpageno\fR may be omitted. + +The shift, rotation, and scaling are performed +in that order regardless of which order +they appear on the command line. +.PP +The +.I \-w +option gives the width which is used by the +.B "w" +dimension specifier, and the +.I \-h +option gives the height which is used by the +.B "h" +dimension specifier. These dimensions are also used (after scaling) to set the +clipping path for each page. +The +.I \-p +option can be used as an alternative, to set the paper size to +.B a3, a4, a5, b5, letter, legal, tabloid, statement, executive, folio, quarto +or +.B 10x14. +The default paper size is +.B a4. +.PP +The +.I \-b +option prevents any +.B bind +operators in the PostScript prolog from binding. This may be needed in cases +where complex multi-page re-arrangements are being done. +.PP +The +.I \-d +option draws a line around the border of each page, of the specified width. +If the \fIlwidth\fR parameter is omitted, a default linewidth of 1 point is +assumed. The linewidth is relative to the original page dimensions, +\fIi.e.\fR it is scaled up or down with the rest of the page. +.PP +Pstops normally prints the page numbers of the pages re-arranged; the +.I \-q +option suppresses this. +.SH EXAMPLES +This section contains some sample re-arrangements. To put two pages on one +sheet (of A4 paper), the pagespec to use is: +.sp +.ce +2:0L@.7(21cm,0)+1L@.7(21cm,14.85cm) +.sp +To select all of the odd pages in reverse order, use: +.sp +.ce +2:-0 +.sp +To re-arrange pages for printing 2-up booklets, use +.sp +.ce +4:-3L@.7(21cm,0)+0L@.7(21cm,14.85cm) +.sp +for the front sides, and +.sp +.ce +4:1L@.7(21cm,0)+-2L@.7(21cm,14.85cm) +.sp +for the reverse sides (or join them with a comma for duplex printing). +.SH AUTHOR +Copyright (C) Angus J. C. Duggan 1991-1995 +.SH "SEE ALSO" +epsffit(1), psbook(1), psnup(1), psresize(1), psselect(1), pstops(1), extractres(1), fixdlsrps(1), fixfmps(1), fixpsditps(1), fixpspps(1), fixscribeps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), includeres(1), psmerge(1), getafm(1) +.SH TRADEMARKS +.B PostScript +is a trademark of Adobe Systems Incorporated. +.SH BUGS +.I Pstops +does not accept all DSC comments. diff --git a/Master/texmf-dist/doc/man/man1/pstops.man1.pdf b/Master/texmf-dist/doc/man/man1/pstops.man1.pdf Binary files differnew file mode 100644 index 00000000000..9b44ee48ab4 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/pstops.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/purifyeps.1 b/Master/texmf-dist/doc/man/man1/purifyeps.1 new file mode 100644 index 00000000000..0b3121ab24f --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/purifyeps.1 @@ -0,0 +1,350 @@ +.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "PURIFYEPS 1" +.TH PURIFYEPS 1 "2010-11-28" "v1.1" "" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +purifyeps \- make an Encapsulated PostScript file work with both dvips and +pdflatex +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +purifyeps +\&\fB\-\-help\fR +.PP +purifyeps +\&\fB\-\-version\fR +.PP +purifyeps +[\fB\-\-fontmap\fR=\fI.fmp file\fR] +[\fI.eps input file\fR [\fI.eps output file\fR]] +.PP +purifyeps +\&\fB\-\-make\-man\fR[=\fIfilename\fR] [\fB\-\-section\fR=\fIsection\fR] +.PP +purifyeps +\&\fB\-\-make\-ps\-man\fR[=\fIfilename\fR] [\fB\-\-section\fR=\fIsection\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +While \fBpdflatex\fR has a number of nice features, its primary +shortcoming relative to standard \fBlatex\fR+\fBdvips\fR is that it is +unable to read ordinary Encapsulated PostScript (\s-1EPS\s0) files, the most +common graphics format in the LaTeX world. \fBpdflatex\fR can read only +the following types of graphics files: +.IP "\s-1PDF\s0" 4 +.IX Item "PDF" +Most people who use \fBpdflatex\fR convert their documents to \s-1PDF\s0 using a +utility such as \fBepstopdf\fR. This works well and preserves the vector +nature of the original \s-1EPS\s0. Unfortunately, \fBdvips\fR does not read +\&\s-1PDF\s0, so two versions of the graphic must be maintained if the document +is to be processed with both \fBlatex\fR+\fBdvips\fR and \fBpdflatex\fR. +.IP "\s-1PNG\s0" 4 +.IX Item "PNG" +\&\s-1PNG\s0 is a bitmap format and therefore scales poorly. Also, \fBdvips\fR +does not read \s-1PNG\s0, so two versions of the graphic must be maintained +if the document is to be processed with both \fBlatex\fR+\fBdvips\fR and +\&\fBpdflatex\fR. +.IP "\s-1JPEG\s0" 4 +.IX Item "JPEG" +\&\s-1JPEG\s0 is a bitmap format and therefore scales poorly. Also, \fBdvips\fR +does not read \s-1JPEG\s0, so two versions of the graphic must be maintained +if the document is to be processed with both \fBlatex\fR+\fBdvips\fR and +\&\fBpdflatex\fR. +.IP "\s-1MPS\s0" 4 +.IX Item "MPS" +This is probably the least-used \fBpdflatex\fR\-compatible graphics +format. \s-1MPS\s0 is actually a stylized version of \s-1EPS\s0 that MetaPost +outputs. Like \s-1PDF\s0, \s-1MPS\s0 is a vector format and remains as such when +imported into a \fBpdflatex\fR document. Also like \s-1PDF\s0, \fBdvips\fR does +not read \s-1MPS\s0, so two versions of the graphic must be maintained if the +document is to be processed with both \fBlatex\fR+\fBdvips\fR and +\&\fBpdflatex\fR. +.PP +The insight behind \fBpurifyeps\fR is that there are only a few, small +differences between \s-1MPS\s0 and \s-1EPS\s0 and that a file can be converted into +a format that matches both the \s-1MPS\s0 and \s-1EPS\s0 specifications +simultaneously. \fBpurifyeps\fR inputs an \s-1EPS\s0 file, uses \fBpstoedit\fR's +\&\f(CW\*(C`mpost\*(C'\fR filter to convert the file to MetaPost (\fI.mp\fR), runs +\&\fBmpost\fR on the file to convert it to \s-1MPS\s0, and finally performs some +touchups on the result to convert the file back to \s-1EPS\s0, while +preserving its ability to be parsed by \fBpdflatex\fR. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-\-help\fR" 4 +.IX Item "--help" +Display \*(L"Usage\*(R" and \*(L"Options\*(R" from the \fBpurifyeps\fR documentation. +.IP "\fB\-V\fR, \fB\-\-version\fR" 4 +.IX Item "-V, --version" +Display the \fBpurifyeps\fR version number, copyright, and license. +.IP "\fB\-\-fontmap\fR=\fI.fmp file\fR" 4 +.IX Item "--fontmap=.fmp file" +Specify the name of a file that tells \fBpurifyeps\fR how to map from TeX +font names to PostScript font names. [Default: \fImpost.fmp\fR] +.IP "\fB\-\-make\-man\fR [=\fIfilename\fR]] [\fB\-\-section\fR=\fIsection\fR]" 4 +.IX Item "--make-man [=filename]] [--section=section]" +Automatically create a Unix man page for \fBpurifyeps\fR. \fIsection\fR +specifies the section [default: \f(CW1\fR (User Commands)]. \fIfilename\fR +defaults to \fIpurifyeps.1\fR or an analogous filename if \fIsection\fR is +specified. +.IP "\fB\-\-make\-ps\-man\fR [=\fIfilename\fR]] [\fB\-\-section\fR=\fIsection\fR]" 4 +.IX Item "--make-ps-man [=filename]] [--section=section]" +Automatically create a PostScript version of the \fBpurifyeps\fR +documentation. The documentation is formatted like a Unix man page. +\&\fIsection\fR specifies the section [default: \f(CW1\fR (User Commands)]. +\&\fIfilename\fR defaults to \fIpurifyeps.ps\fR. +.PP +In normal operation (i.e., when not run with \f(CW\*(C`\-\-help\*(C'\fR, \f(CW\*(C`\-\-make\-man\*(C'\fR, +or \f(CW\*(C`\-\-make\-ps\-man\*(C'\fR), \fBpurifyeps\fR takes the name of an input file and +output file. The same filename can safely be used for both files. If +the output filename is omitted, output will go to the standard output +device. If the input filename is omitted, \fBpurifyeps\fR will read from +the standard input device. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +Create a PostScript version of the \fBpurifyeps\fR documentation, but +call it \fIhappydoc.ps\fR instead of the default, \fIpurifyeps.ps\fR: +.PP +.Vb 1 +\& purifyeps \-\-make\-ps\-man=happydoc.ps +.Ve +.PP +Create a Unix man page for \fBpurifyeps\fR (in the usual roff format), +but indicate that it belongs in section \f(CW\*(C`LOCAL\*(C'\fR instead of the +default of section \f(CW1\fR: +.PP +.Vb 1 +\& purifyeps \-\-make\-man \-\-section=LOCAL +.Ve +.PP +Purify \fIsample.eps\fR (\fImpost.fmp\fR is in the current directory): +.PP +.Vb 1 +\& purifyeps sample.eps sample.eps +.Ve +.PP +Purify \fIsample.eps\fR (\fImpost.fmp\fR is in a different location): +.PP +.Vb 1 +\& purifyeps \-\-fontmap=/usr/share/pstoedit/mpost.fmp sample.eps sample.eps +.Ve +.PP +Rename the purified version while purifying: +.PP +.Vb 1 +\& purifyeps sample.eps sample\-pure.eps +.Ve +.PP +Do the same, but in a Unix pipeline: +.PP +.Vb 1 +\& cat sample.eps | purifyeps > sample\-pure.eps +.Ve +.PP +When you run \fBpurifyeps\fR, you should see the output from both +\&\fBpstoedit\fR and \fBmpost\fR, followed by a success message from +\&\fBpurifyeps\fR: +.PP +.Vb 8 +\& % cat sample.eps | purifyeps > sample\-pure.eps +\& pstoedit: version 3.30 / DLL interface 107 (build Mar 14 2002) : +\& Copyright (C) 1993 \- 2001 Wolfgang Glunz +\& Interpreter finished. Return status 0 +\& This is MetaPost, Version 0.641 (Web2C 7.3.1) +\& (/tmp/purifyeps\-jdeGPkh9.mp [1] ) +\& 1 output file written: purifyeps\-jdeGPkh9.1 +\& Transcript written on purifyeps\-jdeGPkh9.log. +\& +\& File seems to have been purified successfully. +.Ve +.SH "FILES" +.IX Header "FILES" +.IP "\fImpost.fmp\fR" 4 +.IX Item "mpost.fmp" +File containing mappings between TeX and PostScript font names. See +\&\*(L"\s-1NOTES\s0\*(R" for a description of this file's contents. +.SH "BUGS" +.IX Header "BUGS" +Error reporting could definitely stand to be improved. Error messages +produced by \fBpstoedit\fR and \fBmpost\fR are sometimes silently ignored. +Also, errors sometimes cause \fBpurifyeps\fR to leave temporary files +(\fIpurifyeps\-\fR\fI#####\fR) lying around. +.PP +\&\fBpurifyeps\fR is subject to all of the limitations that affect +\&\fBpstoedit\fR and especially the \f(CW\*(C`mpost\*(C'\fR backend to \fBpstoedit\fR. As a +result, \fBpurifyeps\fR ignores certain PostScript constructs, such as +nonuniformly scaled text. +.SH "NOTES" +.IX Header "NOTES" +\&\fBpurifyeps\fR needs a file that tells it how to map from TeX font names +to PostScript font names. This file must contain two, space-separated +columns. The first lists a PostScript font name, and the second lists +the TeX equivalent. Blank lines and lines that start with \f(CW\*(C`%\*(C'\fR are +ignored. The following is a sample \fI.fmp\fR file: +.PP +.Vb 10 +\& % This is a sample font map for purifyeps. +\& Times\-Bold ptmb +\& Times\-Italic ptmri +\& Times\-Roman ptmr +\& Helvetica phvr +\& Helvetica\-Bold phvb +\& Helvetica\-Oblique phvro +\& Courier pcrr +\& Courier\-Bold pcrb +\& Courier\-Oblique pcrro +.Ve +.PP +Note that this is exactly the same format that \fBpstoedit\fR uses. By +default, \fBpurifyeps\fR looks in the current directory for a font map +called \fImpost.fmp\fR. The \f(CW\*(C`\-\-fontmap\*(C'\fR command-line option tells +\&\fBpurifyeps\fR to use a different font map, which will typically be the +\&\fImpost.fmp\fR file that comes with \fBpstoedit\fR. +.PP +Once you create purified \s-1EPS\s0 files with \fBpurifyeps\fR, you need to +instruct \fBpdflatex\fR to use them. The pdfLaTeX configuration of the +\&\f(CW\*(C`graphics\*(C'\fR and \f(CW\*(C`graphicx\*(C'\fR packages (\fIpdftex.def\fR) normally ignores +\&\fI.eps\fR files. Putting the following LaTeX code in your document's +preamble tells \fBpdflatex\fR that all \fI.eps\fR files are in \s-1MPS\s0 format: +.PP +.Vb 9 +\& % Tell pdfLaTeX that all .eps files were produced by MetaPost. +\& \eusepackage{graphicx} % or graphics +\& \eusepackage{ifpdf} +\& \eifpdf +\& \eDeclareGraphicsRule{.eps}{mps}{*}{} +\& \emakeatletter +\& \eg@addto@macro\eGin@extensions{,.eps} +\& \emakeatother +\& \efi +.Ve +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIdvips\fR\|(1), \fIepstopdf\fR\|(1), \fIlatex\fR\|(1), \fImpost\fR\|(1), \fIpdflatex\fR\|(1), \fIpstoedit\fR\|(1) +.SH "AUTHOR" +.IX Header "AUTHOR" +Scott Pakin, \fIscott+peps@pakin.org\fR diff --git a/Master/texmf-dist/doc/man/man1/purifyeps.man1.pdf b/Master/texmf-dist/doc/man/man1/purifyeps.man1.pdf Binary files differnew file mode 100644 index 00000000000..b8ffd46d04e --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/purifyeps.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/repstopdf.1 b/Master/texmf-dist/doc/man/man1/repstopdf.1 new file mode 100644 index 00000000000..a48cf2cd9c3 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/repstopdf.1 @@ -0,0 +1 @@ +.so man1/epstopdf.1 diff --git a/Master/texmf-dist/doc/man/man1/repstopdf.man1.pdf b/Master/texmf-dist/doc/man/man1/repstopdf.man1.pdf Binary files differnew file mode 100644 index 00000000000..f504bf57450 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/repstopdf.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/rubibtex.1 b/Master/texmf-dist/doc/man/man1/rubibtex.1 new file mode 100644 index 00000000000..0142072a769 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/rubibtex.1 @@ -0,0 +1,63 @@ +.TH "rubibtex" "1" "October 2000" "teTeX" "teTeX" +.PP +.SH "NAME" +rubibtex \- make a bibliography for (La)TeX using Russian +letters as item names +.PP +.SH "SYNOPSIS" +.PP +\fBrubibtex\fP \fIBASENAME\fP +.PP +.SH "DESCRIPTION" +.PP +\fBrubibtex\fP is used to run \fBbibtex\fP(1) on auxiliary files with +Russian characters in item names (citation keys)\&. It is part of the +T2 package\&. +.PP +\fBrubibtex\fP copies the auxiliary file to \fI/tmp\fP, uses +\fBsed\fP(1) to convert Cyrillic character commands to their 8-bit +ASCII equivalents; runs \fBbibtex\fP(1) on the modified file; and +finally moves the original auxiliary file back (overwriting the +modified file)\&. +.PP +\fBrubibtex\fP assumes that the \fBbibtex\fP(1) database (\f(CWbib\fP) +files are encoded with the KOI8-R encoding\&. +.PP +.SH "FILES" +.PP +.IP +.IP "\fIbasename\&.aux\fP" +LaTeX auxiliary file +.IP +.PP +.SH "BUGS" +.PP +None known, but report any bugs found to the authors\&. +.PP +.SH "COPYRIGHT" +.PP +The T2 package is Copyright 1997-1999 Werner Lemberg, Vladimir +Volovich and any individual authors listed elsewhere in package files\&. +.PP +It may be distributed under the conditions of the LaTeX Project Public +License, either version 1\&.1 of this license or (at your option) any +later version\&. +.PP +.SH "SEE ALSO" +.PP +\fBbibtex\fP(1), \fBsed\fP(1), +<ftp://ftp\&.vsu\&.ru/pub/tex/T2/README>\&. +.PP +.SH "AUTHOR" +.PP +Werner Lemberg +<wl@gnu\&.org>, Vladimir Volovich +<TeX@vvv\&.vsu\&.ru>\&. +.PP +This manual page was written by C\&.M\&. Connelly +<c@eskimo\&.com>, for +the Debian GNU/Linux system\&. It may be used by other distributions +without contacting the author\&. Any mistakes or omissions in the +manual page are my fault; inquiries about or corrections to this +manual page should be directed to me (and not to the primary author)\&. +.PP diff --git a/Master/texmf-dist/doc/man/man1/rubibtex.man1.pdf b/Master/texmf-dist/doc/man/man1/rubibtex.man1.pdf Binary files differnew file mode 100644 index 00000000000..cab5d19f3ed --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/rubibtex.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/rumakeindex.1 b/Master/texmf-dist/doc/man/man1/rumakeindex.1 new file mode 100644 index 00000000000..0fb271841d0 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/rumakeindex.1 @@ -0,0 +1,63 @@ +.TH "rumakeindex" "1" "September 2000" "teTeX" "teTeX" +.PP +.SH "NAME" +rumakeindex \- process a LaTeX index using Russian Cyrillic +characters +.PP +.SH "SYNOPSIS" +.PP +\fBrumakeindex\fP \fIbasename\fP +.PP +.SH "DESCRIPTION" +.PP +\fBrumakeindex\fP is used to run \fBmakeindex\fP(1) on \f(CWidx\fP files +that use Russian characters\&. It is part of the T2 package\&. +.PP +\fBrumakeindex\fP runs \fBsed\fP(1) on the \f(CWidx\fP file to convert +Cyrillic character commands to 8-bit ASCII characters; pipes the +results through \fBmakeindex\fP(1); and then through \fBtr\fP(1) +to do some final conversions\&. The results are placed in a KOI8-R +encoded \f(CWind\fP file\&. +.PP +.SH "FILES" +.PP +.IP +.IP "\fIbasename\&.idx\fP" +LaTeX index entry file +.IP "\fIbasename\&.ilg\fP" +LaTeX index log file +.IP "\fIbasename\&.ind\fP" +LaTeX processed index file +.IP +.PP +.SH "BUGS" +.PP +None known, but report any bugs found to the authors\&. +.PP +.SH "COPYRIGHT" +.PP +The T2 package is Copyright 1997-1999 Werner Lemberg, Vladimir +Volovich and any individual authors listed elsewhere in package files\&. +.PP +It may be distributed under the conditions of the LaTeX Project Public +License, either version 1\&.1 of this license or (at your option) any +later version\&. +.PP +.SH "SEE ALSO" +.PP +\fBmakeindex\fP(1), \fBsed\fP(1), \fBtr\fP(1), +<ftp://ftp\&.vsu\&.ru/pub/tex/T2/README>\&. +.PP +.SH "AUTHOR" +.PP +Werner Lemberg +<wl@gnu\&.org>, Vladimir Volovich +<TeX@vvv\&.vsu\&.ru>\&. +.PP +This manual page was written by C\&.M\&. Connelly +<c@eskimo\&.com>, for +the Debian GNU/Linux system\&. It may be used by other distributions +without contacting the author\&. Any mistakes or omissions in the +manual page are my fault; inquiries about or corrections to this +manual page should be directed to me (and not to the primary author)\&. +.PP diff --git a/Master/texmf-dist/doc/man/man1/rumakeindex.man1.pdf b/Master/texmf-dist/doc/man/man1/rumakeindex.man1.pdf Binary files differnew file mode 100644 index 00000000000..3513d6a39c5 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/rumakeindex.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/scor2prt.1 b/Master/texmf-dist/doc/man/man1/scor2prt.1 new file mode 100644 index 00000000000..4e38a161cb0 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/scor2prt.1 @@ -0,0 +1,18 @@ +.TH scor2prt 1 "5 March 2012" "Version 2.6.17" "scor2prt Manual Page" +.SH NAME +scor2prt \- source-parts separation program for pmx, a MusiXTeX preprocessor +.SH SYNOPSIS +.B scor2prt +.RI basename [.pmx] +.SH DESCRIPTION +scor2prt is part of pmx(1), a preprocessor for MusiXTeX. It can automatically +create parts from a score by generating a set of .pmx files, one for each part, +from a single .pmx file for the score. The appearance of the parts can be +controlled by special commands in the main file. Read the PMX Manual for more +information about that. +.SH SEE ALSO +pmx(1), pmxab(1), musixtex(1), PMX Manual +.SH AUTHORS +PMX was written by Don Simons <dsimons@roadrunner.com>. +This manual page was written by Roland Stigge <stigge@antcom.de> for the Debian +project and revised by Bob Tennent <rdt@cs.queensu.ca>. diff --git a/Master/texmf-dist/doc/man/man1/scor2prt.man1.pdf b/Master/texmf-dist/doc/man/man1/scor2prt.man1.pdf Binary files differnew file mode 100644 index 00000000000..1ea46b9b310 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/scor2prt.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/sjisconv.1 b/Master/texmf-dist/doc/man/man1/sjisconv.1 new file mode 100644 index 00000000000..87eb59e4859 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/sjisconv.1 @@ -0,0 +1,110 @@ +.\" man page for sjisconv +.\" Copyright (C) 1994-2012 Werner Lemberg <wl@gnu.org> +.\" +.\" This program is free software; you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation; either version 2 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program in doc/COPYING; if not, write to the Free +.\" Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +.\" MA 02110-1301 USA +. +.TH SJISCONV 1 07-May-2012 "CJK Version 4.8.3" +. +.\" ==== +.\" ==== macro definitions +.\" ==== +. +.\" here we define \TeX for troff and nroff +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +. +.\" and here the same for \LaTeX +.if t \{\ +.ie '\*(.T'dvi' \ +.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX +.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX +.\} +.if n .ds LX LaTeX +. +.\" \LaTeXe +.\" note that we need \vareps for TeX instead of \eps which can only be +.\" accessed with the \N escape sequence (in the Math Italic font) +.if t \{\ +.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v' +.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v' +.\} +.if n .ds LE LaTeX\ 2e +. +.\" a typewriter font +.if t \{\ +.de C +\fC\\$1\fP\\$2 +.. +.\} +.if n \{\ +.de C +\\$1\\$2 +.. +.\} +. +.\" ==== +.\" ==== end of macro definitions +.\" ==== +. +. +. +.SH NAME +sjisconv \- convert a TeX document in SJIS encoding into `preprocessed' +form. +. +. +.SH SYNOPSIS +.B sjisconv +< +.I infile +> +.I outfile +. +. +.SH DESCRIPTION +SJIS encoding for Japanese uses the characters +.C { , +.C } , +and +.C \e +which have special meanings in \*(TX +documents. +.PP +After processing a \*(LE +document which contains SJIS characters with +.B \%sjisconv +you need not care about these special characters. +.PP +This filter is part of the +.B CJK +macro package for \*(LE. +. +. +.SH "SEE ALSO" +.BR bg5conv (1), +.BR \%cefconv (1), +.BR cef5conv (1), +.BR \%cefsconv (1), +.BR \%extconv (1), +.br +the +.B CJK +documentation files. +. +. +.SH AUTHOR +Werner Lemberg +.C <wl@gnu.org> diff --git a/Master/texmf-dist/doc/man/man1/sjisconv.man1.pdf b/Master/texmf-dist/doc/man/man1/sjisconv.man1.pdf Binary files differnew file mode 100644 index 00000000000..1950d4efc45 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/sjisconv.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/splitindex.1 b/Master/texmf-dist/doc/man/man1/splitindex.1 new file mode 100644 index 00000000000..ac8988b0cd8 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/splitindex.1 @@ -0,0 +1,64 @@ +.TH SPLITINDEX "1" "April 2013" "splitindex 0.2a" "User Commands" +.SH NAME +splitindex \- manual page for splitindex 0.2a +.SH SYNOPSIS +.B splitindex.pl +[\fIOPTION\fR] ... \fIINTERMEDIATE-INDEX-FILE \fR[\fIMAKEINDEX-OPTION\fR] ... +.PP +.B splitindex +[\fIOPTION\fR] ... \fIINTERMEDIATE-INDEX-FILE \fR[\fIMAKEINDEX-OPTION\fR] ... +.PP +.B java splitindex +[\fIOPTION\fR] ... \fIINTERMEDIATE-INDEX-FILE \fR[\fIMAKEINDEX-OPTION\fR] ... +.PP +.B tex splitindex +.SH DESCRIPTION +splitindex 0.2a +Copyright (c) 2002 Markus Kohm <kohm@gmx.de> +.PP +Split a single intermediate index file into multiple raw index files. +.PP +Example: splitindex.pl foo.idx. +.SH OPTIONS +.TP +\fB\-h\fR, \fB\-\-help\fR +show this help and terminate +.TP +\fB\-m\fR, \fB\-\-makeindex\fR PROGNAME +call PROGNAME instead of default `makeindex'. +.TP +\fB\-i\fR, \fB\-\-identify\fR EXPRESSION +use regular EXPRESSION to match entries +(see also option \fB\-\-resultis\fR and \fB\-\-suffixis\fR). +Default is `^(\e\eindexentry)\e[([^]]*)\e](.*)$'. +.TP +\fB\-r\fR, \fB\-\-resultis\fR PATTERN +create line to be written from PATTERN after matching +lines (see also option \fB\-\-identify\fR). +Default is `$1$3'. +.TP +\fB\-s\fR, \fB\-\-suffixis\fR PATTERN +create suffix to be used from PATTERN after matching +lines (see also option \fB\-\-identify\fR). +Default is `-$2'. +.TP +\fB\-v\fR, \fB\-\-verbose\fR +be more verbose +(can be used multiple to increase verbosity) +.TP +\fB\-\-version\fR +show version and terminate +.SH COPYRIGHT +Copyright \(co 2002 Markus Kohm <kohm@gmx.de> +.SH "SEE ALSO" +The full documentation for +.B splitindex +is maintained as a LaTeX manual. If the +.B texdoc +and +.B splitindex +programs are properly installed at your site, the command +.IP +.B texdoc splitidx +.PP +should give you access to the complete manual. diff --git a/Master/texmf-dist/doc/man/man1/splitindex.man1.pdf b/Master/texmf-dist/doc/man/man1/splitindex.man1.pdf Binary files differnew file mode 100644 index 00000000000..854a85b8138 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/splitindex.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/sty2dtx.1 b/Master/texmf-dist/doc/man/man1/sty2dtx.1 new file mode 100644 index 00000000000..692dad8320e --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/sty2dtx.1 @@ -0,0 +1,340 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "STY2DTX 1" +.TH STY2DTX 1 "2012-11-07" "perl v5.14.2" "User Contributed Perl Documentation" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +sty2dtx \-\- Converts a LaTeX .sty file to a documented .dtx file +.SH "VERSION" +.IX Header "VERSION" +Version: v2.3 +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright (c) 2010\-2012 Martin Scharrer <martin@scharrer\-online.de> +.PP +This program is free software: you can redistribute it and/or modify +it under the terms of the \s-1GNU\s0 General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. +.PP +This program is distributed in the hope that it will be useful, +but \s-1WITHOUT\s0 \s-1ANY\s0 \s-1WARRANTY\s0; without even the implied warranty of +\&\s-1MERCHANTABILITY\s0 or \s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0. See the +\&\s-1GNU\s0 General Public License for more details. +.PP +You should have received a copy of the \s-1GNU\s0 General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +Converts a .sty file (LaTeX package) to .dtx format (documented LaTeX source), +by surrounding macro definitions with 'macro' and 'macrocode' environments. +The macro name is automatically inserted as an argument to the 'macro' +environemnt. +Code lines outside macro definitions are wrapped only in 'macrocode' +environments. Empty lines are removed. +The script is not thought to be fool proof and 100% accurate but rather +as a good start to convert undocumented style files to .dtx files. +.SS "Basic Usage" +.IX Subsection "Basic Usage" +.Vb 1 +\& perl sty2dtx.pl infile [infile ...] outfile +.Ve +.PP +or +.PP +.Vb 1 +\& perl sty2dtx.pl < file.sty > file.dtx +.Ve +.SS "Supported Definitions" +.IX Subsection "Supported Definitions" +The following macro definitions are detected when they are at the start of a +line (can be prefixed by \eglobal, \elong, \eprotected and/or \eouter): +.PP +.Vb 8 +\& \edef \eedef \egdef \exdef +\& \enewcommand{\ename} \enewcommand*{\ename} +\& \enewcommand\ename \enewcommand*\ename +\& \erenewcommand{\ename} \erenewcommand*{\ename} +\& \erenewcommand\ename \erenewcommand*\ename +\& \eprovidecommand{\ename} \eprovidecommand*{\ename} +\& \eprovidecommand\ename \eprovidecommand*\ename +\& \e@namedef{\ename} \e@namedef\ename +.Ve +.PP +The following environment definitions are detected when they are at the start +of a line: +.PP +.Vb 1 +\& \enewenvironment{name} \erenewenvironemnt{name} \eprovideenvironment{name} +.Ve +.PP +The macro and environment definition must either end at the same line or with +a '\f(CW\*(C`}\*(C'\fR' on its own on a line. +.SH "USAGE" +.IX Header "USAGE" +.Vb 1 +\& sty2dtx [<options>] [\-\-<VAR>=<VALUE> ...] [\-\-] [<infile(s)>] [<outfile>] +.Ve +.SS "Files" +.IX Subsection "Files" +.IP "\(bu" 2 +can be '\f(CW\*(C`\-\*(C'\fR' for \s-1STDIN\s0 or \s-1STDOUT\s0, which is the default if no files are given +.IP "\(bu" 2 +multiple input files are merged to one output file +.SS "Variables" +.IX Subsection "Variables" +Variables can be defined using +.PP +.Vb 1 +\& \-\-<VAR>=<VALUE> +.Ve +.PP +or +.PP +.Vb 1 +\& \-\-<VAR> <VALUE> +.Ve +.PP +and will be used for substitutions in the template file. +.PP +\fICommon variables:\fR +.IX Subsection "Common variables:" +.PP +.Vb 4 +\& author, email, maintainer, year (for copyright), +\& version, date, description (of package/class), +\& type (either \*(Aqpackage\*(Aq default or \*(Aqclass\*(Aq), +\& filebase (automatically set from output or input file name), +.Ve +.SS "Options" +.IX Subsection "Options" +.IP "\fB\-h\fR \ \ \ \ \ \ \ \ \ \ Print this help text" 8 +.IX Item "-h Print this help text" +.PD 0 +.IP "\fB\-H\fR \ \ \ \ \ \ \ \ \ \ Print extended help" 8 +.IX Item "-H Print extended help" +.IP "\fB\-V\fR \ \ \ \ \ \ \ \ \ \ Print version and copyright" 8 +.IX Item "-V Print version and copyright" +.IP "\fB\-v\fR \ \ \ \ \ \ \ \ \ \ Be verbose" 8 +.IX Item "-v Be verbose" +.IP "\fB\-o\fR \fIoutput\fR \ \ \ Use given file as output" 8 +.IX Item "-o output Use given file as output" +.IP "\fB\-O\fR \ \ \ \ \ \ \ \ \ \ Overwrite already existing output file(s)" 8 +.IX Item "-O Overwrite already existing output file(s)" +.IP "\fB\-B\fR \ \ \ \ \ \ \ \ \ \ Use basename of single input file for output file" 8 +.IX Item "-B Use basename of single input file for output file" +.IP "\fB\-I\fR \ \ \ \ \ \ \ \ \ \ Also create .ins (install) file" 8 +.IX Item "-I Also create .ins (install) file" +.IP "\fB\-c\fR \ \ \ \ \ \ \ \ \ \ Only use code section (like v1.0)" 8 +.IX Item "-c Only use code section (like v1.0)" +.IP "\fB\-r\fR \ \ \ \ \ \ \ \ \ \ Remove existing 'macro', 'macrocode', etc. environments." 8 +.IX Item "-r Remove existing 'macro', 'macrocode', etc. environments." +.IP "\fB\-R\fR \ \ \ \ \ \ \ \ \ \ Do not remove existing 'macro', 'macrocode', etc. environments." 8 +.IX Item "-R Do not remove existing 'macro', 'macrocode', etc. environments." +.IP "\fB\-i\fR \fIins-file\fR \ Create .ins file with given name" 8 +.IX Item "-i ins-file Create .ins file with given name" +.IP "\fB\-t\fR \fItemplate\fR \ Use this file as template instead of the default one" 8 +.IX Item "-t template Use this file as template instead of the default one" +.IP "\fB\-T\fR \fItemplate\fR \ Use this file as template for the .ins file" 8 +.IX Item "-T template Use this file as template for the .ins file" +.IP "\fB\-e\fR \fIfile\fR \ \ \ \ \ Export default .dtx template to file and exit" 8 +.IX Item "-e file Export default .dtx template to file and exit" +.IP "\fB\-E\fR \fIfile\fR \ \ \ \ \ Export default .ins template to file and exit" 8 +.IX Item "-E file Export default .ins template to file and exit" +.IP "\fB\-D\fR \ \ \ \ \ \ \ \ \ \ Use current date as file date" 8 +.IX Item "-D Use current date as file date" +.IP "\fB\-F\fR \fIfile\fR \ \ \ \ \ Read more options and variables from file." 8 +.IX Item "-F file Read more options and variables from file." +.IP "\fB\-N\fR \ \ \ \ \ \ \ \ \ \ Do not read default config file; must be the first option" 8 +.IX Item "-N Do not read default config file; must be the first option" +.PD +.SS "Config files" +.IX Subsection "Config files" +A default config file either named 'sty2dtx.cfg' or '.sty2dtx.cfg' is searched +in the current directory, the users home directory and the directory of this +script, in this order. The first one found is loaded. If none is found the +\&'texmf' tree is searched for a 'sty2dtx.cfg' config file. As with \-F files the +config file should contain one option or variable per line. +Lines starting with '\f(CW\*(C`%\*(C'\fR' or '\f(CW\*(C`#\*(C'\fR' are ignored. +.SH "Examples" +.IX Header "Examples" +Produce 'file.dtx' from 'file.sty': +.PP +.Vb 1 +\& sty2dtx.pl < file.sty > file.dtx +.Ve +.PP +or +.PP +.Vb 1 +\& sty2dtx.pl file.sty file.dtx +.Ve +.PP +or +.PP +.Vb 1 +\& sty2dtx.pl \-B file.sty +.Ve +.PP +Produce 'file.dtx' and 'file.ins' from 'file.sty': +.PP +.Vb 1 +\& sty2dtx.pl \-I file.sty file.dtx +.Ve +.PP +or +.PP +.Vb 1 +\& sty2dtx.pl file.sty \-i file.sty file.dtx +.Ve +.PP +or +.PP +.Vb 1 +\& sty2dtx.pl \-IB file.sty +.Ve +.PP +Set custom variable values: +.PP +.Vb 1 +\& sty2dtx.pl \-\-author Me \-\-email me@there.com mypkg.sty mypkg.dtx +.Ve +.PP +Produce \s-1DTX\s0 file for a class: +.PP +.Vb 1 +\& sty2dtx.pl \-\-type class mycls.sty mycls.dtx +.Ve +.SH "AUTHOR" +.IX Header "AUTHOR" +Martin Scharrer +.PP +E\-mail: martin@scharrer\-online.de +.PP +\&\s-1WWW:\s0 http://www.scharrer\-online.de <http://www.scharrer-online.de> diff --git a/Master/texmf-dist/doc/man/man1/sty2dtx.man1.pdf b/Master/texmf-dist/doc/man/man1/sty2dtx.man1.pdf Binary files differnew file mode 100644 index 00000000000..962b7ebefaf --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/sty2dtx.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/synctex.1 b/Master/texmf-dist/doc/man/man1/synctex.1 new file mode 100644 index 00000000000..5bb2bf4f98e --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/synctex.1 @@ -0,0 +1,34 @@ +.Dd 03/13/12 \" DATE +.Dt synctex 1 \" Program name and manual section number +.Sh NAME +.Nm synctex +.Nd command line client tool to support the Synchronize TeXnology available in recent TeX engines. +.Sh SYNOPSIS +.Nm +\fIcommand\fP [\fIoptions\fP] [\fIargs\fP] +.Sh OVERVIEW +The Synchronization TeXnology is a new feature of recent TeX engines. +It allows to synchronize between input and output, +which means to navigate from the source document to the typeset material +and vice versa. +.Pp +Run `synctex help' to access the built-in tool documentation. +.Sh SEE ALSO +.\" List links in ascending order by section, alphabetically within a section. +.\" Please do not reference files that do not exist without filing a bug report +.Xr synctex 5 +.Xr tex 1 +.Sh AUTHOR +The Synchronize TeXnology is essentially due to Jerome Laurens, +with useful suggestions by some well known actors of the TeX world. +.\" .Sh BUGS \" Document known, unremedied bugs +.Sh HISTORY \" Document history if command behaves in a unique manner +This document has never been updated. +.\" nroff -man synctex.1 | less +.\"groff -man -Tascii synctex.1 | less +.\"To convert a man page to plain pre-formatted text (e.g for spell checking) use: +.\"nroff -man synctex.1 | col -b > synctex.1.txt +.\"To convert it to Postscript (for printing or further conversion to pdf) use: +.\"groff -man -Tps synctex.1 > synctex.1.ps +.\"To convert the man page to html use: +.\"man2html synctex.1 diff --git a/Master/texmf-dist/doc/man/man1/synctex.man1.pdf b/Master/texmf-dist/doc/man/man1/synctex.man1.pdf Binary files differnew file mode 100644 index 00000000000..c63e0f9e622 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/synctex.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/t1ascii.1 b/Master/texmf-dist/doc/man/man1/t1ascii.1 new file mode 100644 index 00000000000..0ee3b6e5db8 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/t1ascii.1 @@ -0,0 +1,51 @@ +.ds V 1.37 +.de M +.BR "\\$1" "(\\$2)\\$3" +.. +.TH T1ASCII 1 "" "Version \*V" +.SH NAME +t1ascii \- convert PostScript Type 1 font from binary to ASCII +.SH SYNOPSIS +.B t1ascii +\%[\fB\-l\fR \fIlength\fR] +\%[\fIinput\fR [\fIoutput\fR]] +.SH DESCRIPTION +.BR t1ascii +converts Adobe Type 1 font programs in PFB (binary) format to PFA +(hexadecimal) format. If the file +.I output +is not specified output goes to the standard output. +If the file +.I input +is not specified input comes from the standard input. +' +.SH OPTIONS +.TP 5 +.BI \-\-line\-length= "num\fR, " \-l " num" +Set the maximum length of encrypted lines in the output to +.I num. +(These are the lines consisting wholly of hexadecimal digits.) The default +is 64. +' +.TP 5 +.BR \-\-warnings ", " \-w +Warn when the input font contains lines longer than 255 characters. +Long lines don't strictly conform to Adobe's Document Structuring +Conventions, and may cause problems with older software. +' +.SH "SEE ALSO" +.LP +.M t1binary 1 , +.M t1unmac 1 , +.M t1mac 1 , +.M t1asm 1 , +.M t1disasm 1 +.LP +.I "Adobe Type 1 Font Format" +.SH AUTHORS +Lee Hetherington (ilh@lcs.mit.edu) +.br +Eddie Kohler (ekohler@gmail.com) +.PP +Ported to Microsoft C/C++ Compiler and MS-DOS operating system by +Kai-Uwe Herbing (herbing@netmbx.netmbx.de). diff --git a/Master/texmf-dist/doc/man/man1/t1ascii.man1.pdf b/Master/texmf-dist/doc/man/man1/t1ascii.man1.pdf Binary files differnew file mode 100644 index 00000000000..03647c0c020 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/t1ascii.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/t1asm.1 b/Master/texmf-dist/doc/man/man1/t1asm.1 new file mode 100644 index 00000000000..12e79a3729c --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/t1asm.1 @@ -0,0 +1,96 @@ +.ds V 1.37 +.de M +.BR "\\$1" "(\\$2)\\$3" +.. +.TH T1ASM 1 "" "Version \*V" +.SH NAME +t1asm \- assemble PostScript Type 1 font +.SH SYNOPSIS +.B t1asm +\%[\fB\-a\fR|\fB\-b\fR] +\%[\fB\-l\fR \fIlength\fR] +\%[\fIinput\fR [\fIoutput\fR]] +.SH DESCRIPTION +.B t1asm +assembles Adobe Type 1 font programs into either PFA (hexadecimal) or PFB +(binary) formats from a human-readable form. If the file +.I output +is not specified output goes to the standard output. If the file +.I input +is not specified input comes from the standard input. + +.B t1asm +tokenizes the charstring data and performs eexec and charstring encryption +as specified in the ``black book,'' +.I "Adobe Type 1 Font Format." + +The input must have a line of the form +.RS +.nf +.ft B +/-|{string currentfile exch readstring pop}executeonly def +.ft R +.fi +.RE +which defines the command, in this case `\-|', that is to start charstring +data. It is an error not to define such a command. Another common name for +this command is `RD'. + +After the start of the +.B Subrs +array in the input, all open braces `{' not in a comment begin a +charstring. Such a charstring is terminated by the next non-comment close +brace `}'. Within such a charstring, only comments, integers, and valid +charstring commands are allowed. Valid charstring command names can be +found in +.I "Adobe Type 1 Font Format" +and other documents describing the newer Type 2 opcodes. The format within +a charstring is unimportant as long as integers and commands are separated +by at least a one whitespace (space, tab, newline) character. Note that +within charstrings, comments are discarded because they cannot be encoded. +.SH OPTIONS +.TP 5 +.BR \-\-pfa ", " \-a +Output in PFA (ASCII) format. +.TP 5 +.BR \-\-pfb ", " \-b +Output in PFB (binary) format. This is the default. +.TP +.BI \-\-block\-length= "num\fR, " \-l " num" +PFB only: Set the maximum output block length to +.I num. +The default length is as large as memory allows. +.TP +.BI \-\-line\-length= "num\fR, " \-l " num" +PFA only: Set the maximum length of encrypted lines in the output to +.I num. +(These are the lines consisting wholly of hexadecimal digits.) The default +is 64. +.SH EXAMPLES +.LP +.nf +% t1asm Utopia-Regular.raw > Utopia-Regular.pfb +% t1asm -a Utopia-Regular.raw > Utopia-Regular.pfa +.fi +.SH "SEE ALSO" +.LP +.M t1disasm 1 , +.M t1ascii 1 , +.M t1binary 1 , +.M t1unmac 1 , +.M t1mac 1 +.LP +.I "Adobe Type 1 Font Format" +is available free from Adobe as a PDF file. +http://partners.adobe.com/asn/developer/PDFS/TN/T1_SPEC.PDF +.LP +.I "The Type 2 Charstring Format," +also available from Adobe as a PDF file, describes the newer Type 2 +operators, which are also used in some multiple-master Type 1 fonts like +Adobe Jenson and Kepler. +http://partners.adobe.com/asn/developer/PDFS/TN/5177.Type2.pdf +' +.SH AUTHORS +Lee Hetherington (ilh@lcs.mit.edu) +.br +Eddie Kohler (ekohler@gmail.com) diff --git a/Master/texmf-dist/doc/man/man1/t1asm.man1.pdf b/Master/texmf-dist/doc/man/man1/t1asm.man1.pdf Binary files differnew file mode 100644 index 00000000000..22a6a978a9f --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/t1asm.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/t1binary.1 b/Master/texmf-dist/doc/man/man1/t1binary.1 new file mode 100644 index 00000000000..8f55e93c48d --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/t1binary.1 @@ -0,0 +1,42 @@ +.ds V 1.37 +.de M +.BR "\\$1" "(\\$2)\\$3" +.. +.TH T1BINARY 1 "" "Version \*V" +.SH NAME +t1binary \- convert PostScript Type 1 font from ASCII to binary +.SH SYNOPSIS +.B t1binary +\%[\fB\-l\fR \fIlength\fR] +\%[\fIinput\fR [\fIoutput\fR]] +.SH DESCRIPTION +.B t1binary +converts Adobe Type 1 font programs in PFA (hexadecimal) format to PFB +(binary) format. If the file +.I output +is not specified output goes to the standard output. +If the file +.I input +is not specified input comes from the standard input. +.SH OPTIONS +.TP 5 +.BI \-\-block\-length= "length\fR, " \-l " length" +Set the maximum length of sections in PFB output to +.I length. +The default length is as large as memory allows. +.SH "SEE ALSO" +.LP +.M t1ascii 1 , +.M t1unmac 1 , +.M t1mac 1 , +.M t1disasm 1 , +.M t1asm 1 +.LP +.I "Adobe Type 1 Font Format" +.SH AUTHORS +Lee Hetherington (ilh@lcs.mit.edu) +.br +Eddie Kohler (ekohler@gmail.com) +.PP +Ported to Microsoft C/C++ Compiler and MS-DOS operating system by +Kai-Uwe Herbing (herbing@netmbx.netmbx.de). diff --git a/Master/texmf-dist/doc/man/man1/t1binary.man1.pdf b/Master/texmf-dist/doc/man/man1/t1binary.man1.pdf Binary files differnew file mode 100644 index 00000000000..1f5bca341ba --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/t1binary.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/t1disasm.1 b/Master/texmf-dist/doc/man/man1/t1disasm.1 new file mode 100644 index 00000000000..4458fb46ea1 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/t1disasm.1 @@ -0,0 +1,96 @@ +.ds V 1.37 +.de M +.BR "\\$1" "(\\$2)\\$3" +.. +.TH T1DISASM 1 "" "Version \*V" +.SH NAME +t1disasm \- disassemble PostScript Type 1 font +.SH SYNOPSIS +.B t1disasm +\%[\fIinput\fR [\fIoutput\fR]] +.SH DESCRIPTION +.B t1disasm +disassembles Adobe Type 1 font programs in either PFA (hexadecimal) or PFB +(binary) formats into human-readable form. If the file +.I output +is not specified output goes to the standard output. +If the file +.I input +is not specified input comes from the standard input. + +.B t1disasm +performs eexec and charstring decryption as specified in the ``black +book'', +.I "Adobe Type 1 Font Format." +Additionally, the charstring binary tokens are expanded into human-readable +text form, using the names given in the black book and later documents +describing Type 2 opcodes. +.SH EXAMPLES +.LP +.nf +% t1disasm Utopia-Regular.pfb Utopia-Regular.raw +% t1disasm Utopia-Regular.pfa Utopia-Regular.raw +.fi + +In +.B Subrs +entries in Utopia-Regular.raw will look like +.RS +.nf +.ft B +dup 5 { + 8 111 vstem + \-12 128 hstem + 707 \-20 hstem + return + } | +.ft R +.fi +.RE +and the +.B CharStrings +entries like +.RS +.nf +.ft B +/exclam { + 58 242 hsbw + 6 callsubr + 5 4 callsubr + 63 707 rmoveto + \-54 0 \-5 \-22 4 \-45 rrcurveto + 40 \-431 rlineto + 29 hlineto + 42 431 rlineto + 4 45 \-5 22 \-55 0 rrcurveto + closepath + 6 4 callsubr + \-719 vmoveto + 243 callsubr + endchar + } |\- +.ft R +.fi +.RE +.SH "SEE ALSO" +.LP +.M t1asm 1 , +.M t1ascii 1 , +.M t1binary 1 , +.M t1unmac 1 , +.M t1mac 1 +.LP +.I "Adobe Type 1 Font Format" +is available free from Adobe as a PDF file: +http://partners.adobe.com/asn/developer/PDFS/TN/T1_SPEC.PDF +.LP +.I "The Type 2 Charstring Format," +also available from Adobe as a PDF file, describes the newer Type 2 +operators, which are also used in some multiple-master Type 1 fonts like +Adobe Jenson and Kepler: +http://partners.adobe.com/asn/developer/PDFS/TN/5177.Type2.pdf +' +.SH AUTHORS +Lee Hetherington (ilh@lcs.mit.edu) +.br +Eddie Kohler (ekohler@gmail.com) diff --git a/Master/texmf-dist/doc/man/man1/t1disasm.man1.pdf b/Master/texmf-dist/doc/man/man1/t1disasm.man1.pdf Binary files differnew file mode 100644 index 00000000000..81c58b6a6a5 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/t1disasm.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/t1dotlessj.1 b/Master/texmf-dist/doc/man/man1/t1dotlessj.1 new file mode 100644 index 00000000000..779914d281f --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/t1dotlessj.1 @@ -0,0 +1,96 @@ +.ds V 2.92 +.de M +.BR "\\$1" "(\\$2)\\$3" +.. +.de Sp +.if n .sp +.if t .sp 0.4 +.. +.TH T1DOTLESSJ 1 "LCDF Typetools" "Version \*V" +.SH NAME +t1dotlessj \- create a dotless-j PostScript Type 1 font +.SH SYNOPSIS +.B t1dotlessj +\%[OPTIONS...] +.I font +.RI [ outputfile ] +.SH DESCRIPTION +.BR T1dotlessj +creates a PostScript Type\~1 font whose only character is a dotless 'j' +matching the input font's design. It works simply by removing the dot from +the input font's 'j'. The output font has three characters: '.notdef', +\&'space', and 'uni0237', where 'uni0237' is the dotless 'j'. The command +fails if the input font already has a dotless 'j' character, or if there +seems to be no dot to remove. T1dotlessj writes the created PFA or PFB font +to the standard output (but see the +.B \-\-output +option); if no input file is supplied, it reads a PFA or PFB font from the +standard input. +' +.SH OPTIONS +.PD 0 +.TP 5 +.BR \-\-output "=\fIfile\fR, " \-o " \fIfile" +Send output to +.I file +instead of standard output. +' +.Sp +.TP 5 +.BR \-\-pfb ", " \-b +Output a PFB font. This is the default. +' +.Sp +.TP 5 +.BR \-\-pfa ", " \-a +Output a PFA font. +' +.Sp +.TP 5 +.BR \-\-name "=\fIname\fR, " \-n " \fIname" +Set the output font's PostScript name to +.IR name . +The default is +.IR InputFontName "LCDFJ." +' +.Sp +.TP 5 +.BR \-q ", " \-\-quiet +Do not generate any error messages. +' +.Sp +.TP 5 +.BR \-h ", " \-\-help +Print usage information and exit. +' +.Sp +.TP 5 +.BR \-v ", " \-\-version +Print the version number and some short non-warranty information and exit. +.PD +' +.SH "RETURN VALUES" +.B T1dotlessj +exits with one of the following values: +.TP 5 +0 +A dotless-j font was successfully generated. +.TP 5 +1 +The font already contained a dotless-j character. +.TP 5 +2 +The font's "j" character had no dot to remove. +.TP 5 +3 +The font had no "j" character. +.TP 5 +>3 +An error occurred. +' +.SH "SEE ALSO" +.LP +.I "Adobe Type 1 Font Format" +' +.SH AUTHOR +Eddie Kohler (ekohler@gmail.com) diff --git a/Master/texmf-dist/doc/man/man1/t1dotlessj.man1.pdf b/Master/texmf-dist/doc/man/man1/t1dotlessj.man1.pdf Binary files differnew file mode 100644 index 00000000000..6014d534617 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/t1dotlessj.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/t1lint.1 b/Master/texmf-dist/doc/man/man1/t1lint.1 new file mode 100644 index 00000000000..bebd5fec146 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/t1lint.1 @@ -0,0 +1,48 @@ +.ds V 2.92 +.de M +.BR "\\$1" "(\\$2)\\$3" +.. +.de Sp +.if n .sp +.if t .sp 0.4 +.. +.TH T1LINT 1 "LCDF Typetools" "Version \*V" +.SH NAME +t1lint \- check a PostScript Type 1 font for correctness +.SH SYNOPSIS +.B t1lint +\%\fIfont\fR [\fIfont\fR...] +.SH DESCRIPTION +.BR T1lint +checks PostScript Type 1 font programs for correctness. Any errors or +variances from the specification are reported to standard error. If there +are no errors, the command prints nothing. It exits with status 0 if all +fonts were OK, and status 1 otherwise. If no input files are supplied, +t1lint reads a font from the standard input. +' +.SH OPTIONS +.PD 0 +.TP 5 +.BR \-q ", " \-\-quiet +Do not generate any error messages. The only output will be the exit +status. +' +.Sp +.TP 5 +.BR \-h ", " \-\-help +Print usage information and exit. +' +.Sp +.TP 5 +.BR \-v ", " \-\-version +Print the version number and some short non-warranty information and exit. +.PD +' +.SH "SEE ALSO" +.LP +.M t1disasm 1 +.LP +.I "Adobe Type 1 Font Format" +' +.SH AUTHOR +Eddie Kohler (ekohler@gmail.com) diff --git a/Master/texmf-dist/doc/man/man1/t1lint.man1.pdf b/Master/texmf-dist/doc/man/man1/t1lint.man1.pdf Binary files differnew file mode 100644 index 00000000000..452a0473995 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/t1lint.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/t1mac.1 b/Master/texmf-dist/doc/man/man1/t1mac.1 new file mode 100644 index 00000000000..4a759716e51 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/t1mac.1 @@ -0,0 +1,62 @@ +.ds V 1.37 +.de M +.BR "\\$1" "(\\$2)\\$3" +.. +.TH T1MAC 1 "" "Version \*V" +.SH NAME +t1mac \- translate a PFA or PFB PostScript Type 1 font into Macintosh format +.SH SYNOPSIS +.B t1mac +\%[\fB\-\-macbinary\fR | \fB\-\-applesingle\fR | +\fB\-\-appledouble\fR | \fB\-\-binhex\fR | \fB\-\-raw\fR] +\%[\fB\-\-filename\fR \fIname\fR] +\%[\fIinput\fR [\fIoutput\fR]] +.SH DESCRIPTION +.B t1mac +reads a PFA (hexadecimal) or PFB (binary) PostScript Type 1 font file and +generates an equivalent Macintosh Type 1 font file. The output file can be +in MacBinary II, AppleSingle, AppleDouble, or BinHex format, or it can be a +raw resource fork. The default is MacBinary II; use an option to choose a +different format. If the +.I output +file is not specified output goes to the standard output. +.PP +WARNING: The output of +.B t1mac +is not sufficient to use the font, since Macintoshes can't read raw Type 1 +fonts. You will need to create a font suitcase containing bitmap fonts if +you do not have such a suitcase for the font already. +.B t1mac +cannot help you do this. +.SH OPTIONS +.TP 5 +.BR \-\-raw ", " \-r +Indicates that output should be a raw resource fork. +.TP 5 +.BR \-\-macbinary +Indicates that output should be in MacBinary I or II format. This is the +default. +.TP 5 +.BR \-\-applesingle +Indicates that output should be in AppleSingle format. +.TP 5 +.BR \-\-appledouble +Indicates that output should be in AppleDouble format. +.TP 5 +.BR \-\-binhex +Indicates that output should be in BinHex 4.0 format. +.TP 5 +.BR \-\-filename "=\fIname\fR, " \-n " \fIname\fR" +Sets the Macintosh filename of the output font to \fIname\fR. The default +is to construct the filename from the font's name using established +Macintosh conventions. This option is not useful when output is a raw +resource fork. +.SH "SEE ALSO" +.LP +.M t1unmac 1 , +.M t1ascii 1 , +.M t1binary 1 , +.M t1asm 1 , +.M t1disasm 1 +.SH AUTHORS +Eddie Kohler (ekohler@gmail.com) diff --git a/Master/texmf-dist/doc/man/man1/t1mac.man1.pdf b/Master/texmf-dist/doc/man/man1/t1mac.man1.pdf Binary files differnew file mode 100644 index 00000000000..ee34f88affb --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/t1mac.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/t1rawafm.1 b/Master/texmf-dist/doc/man/man1/t1rawafm.1 new file mode 100644 index 00000000000..15925e273c3 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/t1rawafm.1 @@ -0,0 +1,59 @@ +.ds V 2.92 +.de M +.BR "\\$1" "(\\$2)\\$3" +.. +.de Sp +.if n .sp +.if t .sp 0.4 +.. +.TH T1RAWAFM 1 "LCDF Typetools" "Version \*V" +.SH NAME +t1rawafm \- produce raw AFM metrics from a PostScript Type 1 font +.SH SYNOPSIS +.B t1rawafm +\%\-e ENCODING +\%[OPTIONS...] +.I font +.RI [ outputfile ] +.SH DESCRIPTION +.BR T1rawafm +generates an AFM file with the information available in a PostScript +Type\~1 font. The AFM file will lack kerns, ligature information, and +composite characters, but is otherwise usable. The AFM file is written to +the standard output (but see the +.B \-\-output +option). If no input font file is supplied, +.B t1rawafm +reads a PFA or PFB font from the standard input. +' +.SH OPTIONS +.PD 0 +.TP 5 +.BR \-\-output "=\fIfile\fR, " \-o " \fIfile" +Send output to +.I file +instead of standard output. +' +.Sp +.TP 5 +.BR \-h ", " \-\-help +Print usage information and exit. +' +.Sp +.TP 5 +.BR \-\-version +Print the version number and some short non-warranty information and exit. +.PD +' +.SH "RETURN VALUES" +.B T1rawafm +exits with value 0 if an AFM metrics file was successfully generated, and 1 +otherwise. +' +.SH "SEE ALSO" +.LP +.IR "Adobe Type 1 Font Format" , +.IR "Adobe Font Metrics File Format Specification v4.1" +' +.SH AUTHOR +Eddie Kohler (ekohler@gmail.com) diff --git a/Master/texmf-dist/doc/man/man1/t1rawafm.man1.pdf b/Master/texmf-dist/doc/man/man1/t1rawafm.man1.pdf Binary files differnew file mode 100644 index 00000000000..e27e03b6b47 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/t1rawafm.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/t1reencode.1 b/Master/texmf-dist/doc/man/man1/t1reencode.1 new file mode 100644 index 00000000000..a5a6d98a06c --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/t1reencode.1 @@ -0,0 +1,205 @@ +.ds V 2.92 +.de M +.BR "\\$1" "(\\$2)\\$3" +.. +.de Sp +.if n .sp +.if t .sp 0.4 +.. +.TH T1REENCODE 1 "LCDF Typetools" "Version \*V" +.SH NAME +t1reencode \- reencode a PostScript Type 1 font +.SH SYNOPSIS +.B t1reencode +\%\-e ENCODING +\%[OPTIONS...] +.I font +.RI [ outputfile ] +.SH DESCRIPTION +.BR T1reencode +changes a PostScript Type\~1 font's embedded encoding. The reencoded font +is written to the standard output (but see the +.B \-\-output +option). If no input font file is supplied, +.B t1reencode +reads a PFA or PFB font from the standard input. +' +.SH OPTIONS +.PD 0 +.TP 5 +.BR \-\-encoding "=\fIfile\fR, " \-e " \fIfile" +Read the encoding from +.IR file , +which must contain an encoding in +.M dvips 1 +format. Alternatively, +.I file +can be one of the following special names, in which case the corresponding +standard encoding is used. +.Sp +.RS +.TP 23 +.B Name +.B Source +.TP +StandardEncoding +Adobe +.TP +ISOLatin1Encoding +Adobe/ISO (synonym: ISO_8859_1_Encoding) +.TP +ExpertEncoding +Adobe +.TP +ExpertSubsetEncoding +Adobe +.TP +SymbolEncoding +Adobe +.TP +ISOLatin2Encoding +ISO (synonym: ISO_8859_2_Encoding) +.TP +ISOLatin3Encoding +ISO (synonym: ISO_8859_3_Encoding) +.TP +ISOLatin4Encoding +ISO (synonym: ISO_8859_4_Encoding) +.TP +ISOCyrillicEncoding +ISO (synonym: ISO_8859_5_Encoding) +.TP +ISOGreekEncoding +ISO (synonym: ISO_8859_7_Encoding) +.TP +ISOLatin5Encoding +ISO (synonym: ISO_8859_9_Encoding) +.TP +ISOLatin6Encoding +ISO (synonym: ISO_8859_10_Encoding) +.TP +ISOThaiEncoding +ISO (synonym: ISO_8859_11_Encoding) +.TP +ISOLatin7Encoding +ISO (synonym: ISO_8859_13_Encoding) +.TP +ISOLatin8Encoding +ISO (synonym: ISO_8859_14_Encoding) +.TP +ISOLatin9Encoding +ISO (synonym: ISO_8859_15_Encoding) +.TP +KOI8REncoding +- +.RE +' +.Sp +.TP 5 +.BR \-\-encoding\-text "=\fItext\fR, " \-E " \fItext" +Use the encoding in the +.I text +argument, which must be formatted as a +.M dvips 1 +encoding. One of +.B \-\-encoding +and +.B \-\-encoding\-text +must be supplied. +' +.Sp +.TP 5 +.BR \-\-name "=\fIname\fR, " \-n " \fIname" +Set the output font's PostScript name to +.IR name . +The default is the input font name followed by the encoding's name. +' +.Sp +.TP 5 +.BR \-\-full-name "=\fIname\fR, " \-N " \fIname" +Set the output font's FullName to +.IR name . +The default is the input FullName followed by the encoding's name. +' +.Sp +.TP 5 +.BR \-\-output "=\fIfile\fR, " \-o " \fIfile" +Send output to +.I file +instead of standard output. +' +.Sp +.TP 5 +.BR \-\-pfb ", " \-b +Output a PFB font. This is the default. +' +.Sp +.TP 5 +.BR \-\-pfa ", " \-a +Output a PFA font. +' +.Sp +.TP 5 +.BR \-h ", " \-\-help +Print usage information and exit. +' +.Sp +.TP 5 +.BR \-\-version +Print the version number and some short non-warranty information and exit. +.PD +' +.SH "RETURN VALUES" +.B T1reencode +exits with value 0 if a reencoded font was successfully generated, and 1 +otherwise. +' +.SH "NOTES" +.LP +.B T1reencode +should be used only in special situations. It's generally much better to +use PostScript commands to reencode a font; for instance, executing the +PostScript commands to generate two differently-encoded versions of a +single font will take up much less memory than loading two +.BR t1reencode d +fonts. +' +.SH "EXAMPLES" +.PP +This command reencodes Frutiger Roman in the ISO Latin\~1 encoding. The new +font will have the PostScript name Frutiger-RomanISOLatin1Encoding. +.Sp +.nf + \fBt1reencode\fR \fB\-e\fR ISOLatin1Encoding FrutiRom.pfb \e + \fB\-o\fR FrutiRomISOL1.pfb +.fi +.Sp +This series of commands, which use +.M cfftot1 1 +and +.M otftotfm 1 +as well as +.B t1reencode +itself, generate a version of Warnock Pro Regular with old-style figures in +the slots for numbers (because of +.BR otftotfm 's +.BR \-f onum +option). The new font will be called WarnockPro-RegularOsF. +.Sp +.nf + \fBotftotfm\fR \fB\-f\fRonum WarnockPro-Regular.otf \e + \fB\-\-output\-encoding\fR /tmp/osf.enc + \fBcfftot1\fR WarnockPro-Regular.otf | \fBt1reencode\fR \fB\-e\fR /tmp/osf.enc \e + \fB\-n\fR WarnockPro-RegularOsF \fB\-N\fR "Warnock Pro Regular OsF" \e + \fB\-o\fR WarnoProRegOsF.pfb +.fi +' +.SH "SEE ALSO" +.LP +.IR "Adobe Type 1 Font Format" , +.M dvips 1 , +.M cfftot1 1 , +.M otftotfm 1 +' +.SH AUTHOR +Eddie Kohler (ekohler@gmail.com) diff --git a/Master/texmf-dist/doc/man/man1/t1reencode.man1.pdf b/Master/texmf-dist/doc/man/man1/t1reencode.man1.pdf Binary files differnew file mode 100644 index 00000000000..03265e55f30 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/t1reencode.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/t1testpage.1 b/Master/texmf-dist/doc/man/man1/t1testpage.1 new file mode 100644 index 00000000000..d9b328cc24c --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/t1testpage.1 @@ -0,0 +1,66 @@ +.ds V 2.92 +.de M +.BR "\\$1" "(\\$2)\\$3" +.. +.de Sp +.if n .sp +.if t .sp 0.4 +.. +.TH T1TESTPAGE 1 "LCDF Typetools" "Version \*V" +.SH NAME +t1testpage \- create a PostScript proof for a Type 1 font +.SH SYNOPSIS +.B t1testpage +\%[\fIfont...\fR] +.SH DESCRIPTION +.BR T1testpage +creates a PostScript proof document for the specified Type 1 font file and +writes it to the standard output. The proof shows every glyph in the +font, including its glyph name and encoding. The +.I font +argument should be the name of a PFA or PFB font file. If more than one +.I font +is given, the output proof contains all the fonts in order. If +.I font +is omitted, +t1testpage will read a font file from the standard input. +.PP +T1testpage is preliminary software. +' +.SH OPTIONS +.PD 0 +.TP 5 +.BR \-g " \fIglyphs\fR, " \-\-glyph= \fIglyphs +Print only glyphs matching +.IR glyphs . +The argument is a glyph pattern, using shell-like matching rules; thus, +.BR "\-g " 'A*' +will match the glyphs 'A', 'Atilde', and 'Ampersand', among others. You +can give this option multiple times, or supply multiple space-separated +patterns in a single option. +' +.Sp +.TP 5 +.BR \-s ", " \-\-smoke +Print smoke proofs, one glyph per page. This option is preliminary. +' +.Sp +.TP 5 +.BR \-o " \fIfile\fR, " \-\-output= \fIfile +Write the output proof to +.I file +instead of the standard output. +' +.Sp +.TP 5 +.BR \-h ", " \-\-help +Print usage information and exit. +' +.Sp +.TP 5 +.BR \-v ", " \-\-version +Print the version number and some short non-warranty information and exit. +.PD +' +.SH AUTHOR +Eddie Kohler (ekohler@gmail.com) diff --git a/Master/texmf-dist/doc/man/man1/t1testpage.man1.pdf b/Master/texmf-dist/doc/man/man1/t1testpage.man1.pdf Binary files differnew file mode 100644 index 00000000000..a030bbba5f0 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/t1testpage.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/t1unmac.1 b/Master/texmf-dist/doc/man/man1/t1unmac.1 new file mode 100644 index 00000000000..081ec31569f --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/t1unmac.1 @@ -0,0 +1,79 @@ +.ds V 1.37 +.de M +.BR "\\$1" "(\\$2)\\$3" +.. +.TH T1UNMAC 1 "" "Version \*V" +.SH NAME +t1unmac \- translate a Mac PostScript Type 1 font into PFA or PFB format +.SH SYNOPSIS +.B t1unmac +\%[\fB\-a\fR|\fB\-b\fR] +\%[\fB\-r\fR] +\%[\fIinput\fR [\fIoutput\fR]] +.SH DESCRIPTION +.B t1unmac +extracts POST resources from a Macintosh PostScript font file and creates a +PFA (hexadecimal) or PFB (binary) font file. The file +.I input +should be in MacBinary I or II, AppleSingle, AppleDouble, or BinHex format, +or it can be a raw resource fork. If the file is a raw resource fork, you +need to give the `\-\-raw' option; otherwise +.B t1unmac +should automatically figure out what kind of file you have. If the file +.I output +is not specified output goes to the standard output. +.SH OPTIONS +.TP 5 +.BR \-\-pfa ", " \-a +Output in PFA (ASCII) format. +.TP 5 +.BR \-\-pfb ", " \-b +Output in PFB (binary) format. This is the default. +.TP 5 +.BR \-\-raw ", " \-r +Indicates that the input is a raw resource fork. +.TP 5 +.BR \-\-macbinary +Indicates that the input is in MacBinary I or II format. +.TP 5 +.BR \-\-applesingle +Indicates that the input is in AppleSingle format. +.TP 5 +.BR \-\-appledouble +Indicates that the input is in AppleDouble format. +.TP 5 +.BR \-\-binhex +Indicates that the input is in BinHex 4.0 format. +.TP +.BI \-\-block\-length= "num\fR, " \-l " num" +PFB only: Set the maximum output block length to +.I num. +The default length is as large as memory allows. +.TP +.BI \-\-line\-length= "num\fR, " \-l " num" +PFA only: Set the maximum length of encrypted lines in the output to +.I num. +(These are the lines consisting wholly of hexadecimal digits.) The default +is 64. +.SH EXAMPLES +.LP +On Mac OS X, you can use +.B t1unmac +to translate a font into PFA or PFB format as follows: +.nf +% \fBt1unmac\fR \-\-raw FONTFILENAME/..namedfork/rsrc > OUTPUT +.fi +.SH "SEE ALSO" +.LP +.M t1mac 1 , +.M t1ascii 1 , +.M t1binary 1 , +.M t1asm 1 , +.M t1disasm 1 +.SH AUTHORS +Lee Hetherington (ilh@lcs.mit.edu) +.br +Eddie Kohler (ekohler@gmail.com) +.PP +Ported to Microsoft C/C++ Compiler and MS-DOS operating system by +Kai-Uwe Herbing (herbing@netmbx.netmbx.de). diff --git a/Master/texmf-dist/doc/man/man1/t1unmac.man1.pdf b/Master/texmf-dist/doc/man/man1/t1unmac.man1.pdf Binary files differnew file mode 100644 index 00000000000..5b54b01a89b --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/t1unmac.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/tangle.1 b/Master/texmf-dist/doc/man/man1/tangle.1 new file mode 100644 index 00000000000..a89f1726c41 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/tangle.1 @@ -0,0 +1,173 @@ +.TH TANGLE 1 "1 March 2011" "Web2C 2012" +.\"===================================================================== +.if n .ds MF Metafont +.if t .ds MF M\s-2ETAFONT\s0 +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.el .ds OX TeX for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.if n .ds WB Web +.if t .ds WB W\s-2EB\s0 +.\"===================================================================== +.SH NAME +tangle \- translate WEB to Pascal +.SH SYNOPSIS +.B tangle +.RI [ options ] +.IR webfile [ \fB.web\fP ] +.RI [ changefile [ \fB.ch\fP ]] +.\"===================================================================== +.SH DESCRIPTION +This manual page is not meant to be exhaustive. The complete +documentation for this version of \*(TX can be found in the info file +or manual +.IR "Web2C: A TeX implementation" . +.PP +The +.B tangle +program converts a \*(WB +source document into a Pascal program that may be compiled in the usual +way with the on-line Pascal compiler (e.g., +.BR pc (1)). +The output file is packed into lines of 72 characters or less, with +the only concession to readability being the termination of lines at +semicolons when this can be done conveniently. +.PP +The \*(WB language allows you to prepare a single document containing all +the information that is needed both to produce a compilable Pascal +program and to produce a well-formatted document describing the program +in as much detail as the writer may desire. The user of \*(WB must be +familiar with both \*(TX and Pascal. \*(WB also provides a relatively +simple, although adequate, macro facility that permits a Pascal program +to be written in small easily-understood modules. +.PP +The command line should have either one or two names on it. +The first is taken as the \*(WB file (and +.B .web +is added if there is no +extension). +If there is another name, it is a change file (and +.B .ch +is added if there is +no extension). The change file overrides parts of the \*(WB file, +as described in the \*(WB system documentation. +.PP +The output files are a Pascal file and a string pool file, +whose names are formed by adding +.B .p +and +.B .pool +respectively to the root of the \*(WB file name. +.\"===================================================================== +.SH "OPTIONS" +This version of +.B tangle +understands the following options. Note that some of these options +may render the output unsuitable for processing by a Pascal compiler. +.TP +.B --help +Print help message and exit. +.TP +.BI --length \ number +Compare only the first +.I number +characters of identifiers when checking for collisions. The default +is 32, the original +.B tangle +used 7. +.TP +.B --loose +When checking for collisions between identifiers, honor the settings +of the +.BR --lowercase , +.BR --mixedcase , +.BR --uppercase , +and +.B --underline +options. This is the default. +.TP +.B --lowercase +Convert all identifiers to lowercase. +.TP +.B --mixedcase +Retain the case of identifiers. This is the default. +.TP +.B --strict +When checking for collisions between identifiers, strip underlines and +convert all identifiers to uppercase first. +.TP +.B --underline +Retain underlines (also known as underscores) in identifiers. +.TP +.B --uppercase +Convert all identifiers to uppercase. This is the behaviour of the +original +.BR tangle . +.TP +.B --version +Print version information and exit. +.\"===================================================================== +.SH ENVIRONMENT +The environment variable WEBINPUTS is used to search for the input files, +or the system default if WEBINPUTS is not set. See +.BR tex (1) +for the details of the searching. +.\"===================================================================== +.SH "SEE ALSO" +.BR pc (1), +.BR pxp (1) +(for formatting +.B tangle +output when debugging), +.BR tex (1). +.PP +Donald E. Knuth, +.IR "The \*(WB System of Structured Documentation" . +.PP +Donald E. Knuth, +.IR "Literate Programming" , +Computer Journal +.BR 27 , +97\-111, 1984. +.PP +Wayne Sewell, +.IR "Weaving a Program" , +Van Nostrand Reinhold, 1989, ISBN 0-442-31946-0. +.PP +Donald E. Knuth, +.I "\*(OX: The Program" +(Volume B of +.IR "Computers and Typesetting" ), +Addison-Wesley, 1986, ISBN 0-201-13437-3. +.PP +Donald E. Knuth, +.I "\*(MF: The Program" +(Volume D of +.IR "Computers and Typesetting" ), +Addison-Wesley, 1986, ISBN 0-201-13438-1. +.PP +These last two are by far the largest extant examples of \*(WB +programs. +.PP +There is an active Internet electronic mail discussion list on the +subject of literate programming; send a subscription request to +.I litprog-request@shsu.edu +to join. +.\"===================================================================== +.SH AUTHORS +\*(WB was designed by Donald E. Knuth, based on an earlier system +called DOC (implemented by Ignacio Zabala). +The +.B tangle +and +.B weave +programs are themselves written in \*(WB. The system +was originally ported to Unix at Stanford by Howard Trickey, and at +Cornell by Pavel Curtis. diff --git a/Master/texmf-dist/doc/man/man1/tangle.man1.pdf b/Master/texmf-dist/doc/man/man1/tangle.man1.pdf Binary files differnew file mode 100644 index 00000000000..0b3a287d050 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/tangle.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/tex.1 b/Master/texmf-dist/doc/man/man1/tex.1 new file mode 100644 index 00000000000..cea6e08d54c --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/tex.1 @@ -0,0 +1,517 @@ +.TH TEX 1 "1 March 2011" "Web2C 2012" +.\"===================================================================== +.if n .ds MF Metafont +.if t .ds MF M\s-2ETAFONT\s0 +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.if n .ds MF Metafont +.if t .ds MF M\s-2ETAFONT\s0 +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.el .ds OX TeX for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.if n .ds WB Web +.if t .ds WB W\s-2EB\s0 +.\" EX and EE are used for displays that are pure code +.de EX +.nf +.ft CW +.. +.de EE +.ft R +.fi +.. +.\"===================================================================== +.SH NAME +tex, virtex, initex \- text formatting and typesetting +.SH SYNOPSIS +.B tex +.RI [ options ] +.RI [ \fB&\fPformat ] +.RI [ file | \fB\e\fPcommands ] +.\"===================================================================== +.SH DESCRIPTION +Run the \*(TX typesetter on +.IR file , +usually creating +.IR file.dvi . +If the file argument has no extension, ".tex" will be appended to it. +Instead of a filename, a set of \*(TX commands can be given, the first +of which must start with a backslash. +With a +.BI & format +argument \*(TX uses a different set of precompiled commands, +contained in +.IR format\fB.fmt\fP ; +it is usually better to use the +.B -fmt +.I format +option instead. +.PP +\*(TX +formats the interspersed text and commands contained in the named +files +and outputs a typesetter independent file (called +.IR DVI , +which is short for +.IR "DeVice Independent" ). +\*(TX's capabilities and language are described in +.IR "The \*(OXbook" . +\*(TX +is normally used with a large body of precompiled macros, +and there are several specific formatting systems, such as +\*(LX, +which require the support of several macro files. +.PP +This version of \*(TX looks at its command line to see what name it +was called under. If they exist, then both +.B initex +and +.B virtex +are symbolic links to the +.B tex +executable. When called as +.BR initex +(or when the +.B -ini +option is given) it can be used to precompile macros into a +.I .fmt +file. When called as +.B virtex +it will use the +.I plain +format. When called under any other name, \*(TX will use that name as +the name of the format to use. For example, when called as +.B tex +the +.I tex +format is used, which is identical to the +.I plain +format. The commands defined by the +.I plain +format are documented in +.IR "The \*(OXbook" . +Other formats that are often available include +.I latex +and +.IR amstex . +.PP +The non-option command line arguments to the +\*(TX +program are passed to it as the first input line. (But it is often +easier to type extended arguments as the first input line, since UNIX +shells tend to gobble up or misinterpret \*(TX's favorite symbols, +like backslashes, unless you quote them.) +As described in +.IR "The \*(OXbook" , +that first line should begin with a filename, a +.IR \econtrolsequence , +or a +.IR &formatname . +.PP +The normal usage is to say +.EX +tex paper +.EE +to start processing +.IR paper.tex . +The name +.I paper +will be the ``jobname'', and is used in forming +output filenames. +If \*(TX doesn't get a filename in the first line, the jobname is +.IR texput . +When looking for a file, \*(TX looks for the name with and without the +default extension +.RI ( .tex ) +appended, unless the name already contains that extension. If +.I paper +is the ``jobname'', +a log of error messages, with rather more detail than normally appears +on the screen, will appear in +.IR paper.log , +and the output file will be in +.IR paper.dvi . +.PP +This version of \*(TX can look in the first line of the file +.I paper.tex +to see if it begins with the magic sequence +.IR %& . +If the first line begins with +.BI %& format +.BI -translate-file \ tcxname +then \*(TX will use the named format and translation table +.I tcxname +to process the source file. Either the format name or the +.B -translate-file +specification may be omitted, but not both. This overrides the +format selection based on the name by which the program is invoked. +The +.B -parse-first-line +option or the +.B parse_first_line +configuration variable controls whether this behaviour is enabled. +.PP +The +.I e +response to \*(TX's error prompt causes the system default editor to +start up at the current line of the current file. The environment +variable TEXEDIT can be used to change the editor used. It may +contain a string with "%s" indicating where the filename goes and "%d" +indicating where the decimal line number (if any) goes. For example, +a TEXEDIT string for +.B emacs +can be set with the +.B sh +command +.EX +\fITEXEDIT="emacs +%d %s"; export TEXEDIT\fP +.EE +.PP +A convenient file in the library is +.IR null.tex , +containing nothing. +When \*(TX can't find a file it thinks you want to input, it keeps +asking you for another filename; responding `null' gets you out +of the loop if you don't want to input anything. You can also type your +EOF character (usually control-D). +.PP +.\"===================================================================== +.SH OPTIONS +This version of \*(TX understands the following command line options. +.TP +.B -enc +Enable the enc\*(TX extensions. This option is only effective in +combination with +.BR -ini . +For documentation of the enc\*(TX extensions see +.BR http://www.olsak.net/enctex.html . +.TP +.B -file-line-error +Print error messages in the form +.I file:line:error +which is similar to the way many compilers format them. +.TP +.B -no-file-line-error +Disable printing error messages in the +.I file:line:error +style. +.TP +.B -file-line-error-style +This is the old name of the +.B -file-line-error +option. +.TP +.BI -fmt \ format +Use +.I format +as the name of the format to be used, instead of the name by which +\*(TX was called or a +.I %& +line. +.TP +.B -halt-on-error +Exit with an error code when an error is encountered during processing. +.TP +.B -help +Print help message and exit. +.TP +.B -ini +Start in +.I INI +mode, which is used to dump formats. The +.I INI +mode can be used for typesetting, but no format is preloaded, and +basic initializations like setting catcodes may be required. +.TP +.BI -interaction \ mode +Sets the interaction mode. The mode can be either +.IR batchmode , +.IR nonstopmode , +.IR scrollmode , +and +.IR errorstopmode . +The meaning of these modes is the same as that of the corresponding +\ecommands. +.TP +.B -ipc +Send DVI output to a socket as well as the usual output file. Whether +this option is available is the choice of the installer. +.TP +.B -ipc-start +As +.BR -ipc , +and starts the server at the other end as well. Whether this option +is available is the choice of the installer. +.TP +.BI -jobname \ name +Use +.I name +for the job name, instead of deriving it from the name of the input file. +.TP +.BI -kpathsea-debug \ bitmask +Sets path searching debugging flags according to the bitmask. See the +.I Kpathsea +manual for details. +.TP +.BI -mktex \ fmt +Enable +.RI mktex fmt , +where +.I fmt +must be either +.I tex +or +.IR tfm . +.TP +.B -mltex +Enable ML\*(TX extensions. Only effective in combination with +.BR -ini . +.TP +.BI -no-mktex \ fmt +Disable +.RI mktex fmt , +where +.I fmt +must be either +.I tex +or +.IR tfm . +.TP +.BI -output-comment \ string +Use +.I string +for the +.I DVI +file comment instead of the date. +.TP +.BI -output-directory \ directory +Write output files in +.I directory +instead of the current directory. Look up input files in +.I directory +first, then along the normal search path. See also description of the +TEXMFOUTPUT environment variable. +.TP +.B -parse-first-line +If the first line of the main input file begins with +.I %& +parse it to look for a dump name or a +.B -translate-file +option. +.TP +.B -no-parse-first-line +Disable parsing of the first line of the main input file. +.TP +.BI -progname \ name +Pretend to be program +.IR name . +This affects both the format used and the search paths. +.TP +.B -recorder +Enable the filename recorder. This leaves a trace of the files opened +for input and output in a file with extension +.IR .fls . +.TP +.B -shell-escape +Enable the +.BI \ewrite18{ command } +construct. The +.I command +can be any shell command. This construct is normally +disallowed for security reasons. +.TP +.B -no-shell-escape +Disable the +.BI \ewrite18{ command } +construct, even if it is enabled in the +.I texmf.cnf +file. +.TP +.B -src-specials +Insert source specials into the +.I DVI +file. +.TP +.BI -src-specials \ where +Insert source specials in certain places of the +.I DVI +file. +.I where +is a comma-separated value list: +.IR cr , +.IR display , +.IR hbox , +.IR math , +.IR par , +.IR parent , +or +.IR vbox . +.TP +.BI -translate-file \ tcxname +Use the +.I tcxname +translation table to set the mapping of input characters and +re-mapping of output characters. +.TP +.BI -default-translate-file \ tcxname +Like +.B -translate-file +except that a +.I %& +line can overrule this setting. +.TP +.B -version +Print version information and exit. +.\"===================================================================== +.SH ENVIRONMENT +See the Kpathsearch library documentation (the `Path specifications' +node) for precise details of how the environment variables are used. +The +.B kpsewhich +utility can be used to query the values of the variables. +.PP +One caveat: In most \*(TX formats, you cannot use ~ in a filename you +give directly to \*(TX, because ~ is an active character, and hence is +expanded, not taken as part of the filename. Other programs, such as +\*(MF, do not have this problem. +.PP +.TP +.B TEXMFOUTPUT +Normally, \*(TX puts its output files in the current directory. If +any output file cannot be opened there, it tries to open it in the +directory specified in the environment variable TEXMFOUTPUT. +There is no default value for that variable. For example, if you say +.I tex paper +and the current directory is not writable, if TEXMFOUTPUT has +the value +.IR /tmp , +\*(TX attempts to create +.I /tmp/paper.log +(and +.IR /tmp/paper.dvi , +if any output is produced.) TEXMFOUTPUT is also checked for input +files, as \*(TX often generates files that need to be subsequently +read; for input, no suffixes (such as ``.tex'') are added by default, +the input name is simply checked as given. +.TP +.B TEXINPUTS +Search path for +.I \einput +and +.I \eopenin +files. +This probably start with ``.'', so +that user files are found before system files. An empty path +component will be replaced with the paths defined in the +.I texmf.cnf +file. For example, set TEXINPUTS to ".:/home/user/tex:" to prepend the +current directory and ``/home/user/tex'' to the standard search path. +.TP +.B TEXFORMATS +Search path for format files. +.TP +.B TEXPOOL +search path for +.B tex +internal strings. +.TP +.B TEXEDIT +Command template for switching to editor. The default, usually +.BR vi , +is set when \*(TX is compiled. +.TP +.B TFMFONTS +Search path for font metric +.RI ( .tfm ) +files. +.\"===================================================================== +.SH FILES +The location of the files mentioned below varies from system to +system. Use the +.B kpsewhich +utility to find their locations. +.TP +.I texmf.cnf +Configuration file. This contains definitions of search paths as well +as other configuration parameters like +.BR parse_first_line . +.TP +.I tex.pool +Text file containing \*(TX's internal strings. +.TP +.I texfonts.map +Filename mapping definitions. +.TP +.I *.tfm +Metric files for \*(TX's fonts. +.TP +.I *.fmt +Predigested \*(TX format (.\|fmt) files. +.TP +.I $TEXMFMAIN/tex/plain/base/plain.tex +The basic macro package described in the \*(OXbook. +.br +.\"===================================================================== +.SH NOTES +This manual page is not meant to be exhaustive. The complete +documentation for this version of \*(TX can be found in the info manual +.IR "Web2C: A TeX implementation" . +.\"===================================================================== +.SH BUGS +This version of \*(TX implements a number of optional extensions. +In fact, many of these extensions conflict to a greater or lesser +extent with the definition of \*(TX. When such extensions are +enabled, the banner printed when \*(TX starts is changed to print +.B TeXk +instead of +.BR TeX . +.PP +This version of \*(TX fails to trap arithmetic overflow when +dimensions are added or subtracted. Cases where this occurs are rare, +but when it does the generated +.I DVI +file will be invalid. +.\"===================================================================== +.SH "SEE ALSO" +.BR mf (1), +.br +Donald E. Knuth, +.IR "The \*(OXbook" , +Addison-Wesley, 1986, ISBN 0-201-13447-0. +.br +Leslie Lamport, +.IR "\*(LX \- A Document Preparation System" , +Addison-Wesley, 1985, ISBN 0-201-15790-X. +.br +K. Berry, +.IR "Eplain: Expanded plain \*(TX" , +ftp://ftp.cs.umb.edu/pub/tex/eplain/doc. +.br +Michael Spivak, +.IR "The Joy of \*(OX" , +2nd edition, Addison-Wesley, 1990, ISBN 0-8218-2997-1. +.br +.I TUGboat +(the journal of the \*(TX Users Group). +.\"===================================================================== +.SH TRIVIA +\*(TX, pronounced properly, rhymes with ``blecchhh.'' The proper +spelling in typewriter-like fonts is ``TeX'' and not ``TEX'' or ``tex.'' +.\"===================================================================== +.SH AUTHORS +\*(TX was designed by Donald E. Knuth, +who implemented it using his \*(WB system for Pascal programs. +It was ported to Unix at Stanford by Howard Trickey, and +at Cornell by Pavel Curtis. +The version now offered with the Unix \*(TX distribution is that +generated by the \*(WB to C system +.RB ( web2c ), +originally written by Tomas Rokicki and Tim Morgan. +.PP +The enc\*(TX extensions were written by Petr Olsak. diff --git a/Master/texmf-dist/doc/man/man1/tex.man1.pdf b/Master/texmf-dist/doc/man/man1/tex.man1.pdf Binary files differnew file mode 100644 index 00000000000..f276a2144cb --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/tex.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/tex2xindy.1 b/Master/texmf-dist/doc/man/man1/tex2xindy.1 new file mode 100644 index 00000000000..2a26a7ae265 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/tex2xindy.1 @@ -0,0 +1,213 @@ +.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sh \" Subsection heading +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "tex2xindy 1" +.TH tex2xindy 1 "2010-05-10" "Version 1.24" "xindy" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +tex2xindy \- a preprocessor of the xindy index processor +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +.Vb 1 +\& tex2xindy [\-o] [attr_file] +.Ve +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +\&\fBtex2xindy\fR transforms a LaTeX index file \f(CW\*(C`.idx\*(C'\fR (or an \f(CW\*(C`.aux\*(C'\fR +file) into a \fBxindy\fR raw index file. +.PP +It is a filter that reads from \fIstdin\fR a file in the input format of +LaTeX's raw index file, i.e., with \f(CW\*(C`\eindexentry\*(C'\fR tags. It outputs on +\&\fIstdout\fR a \fBxindy\fR raw index file, i.e., with \f(CW\*(C`indexentry\*(C'\fR clauses. +.PP +If the option \fB\-o\fR is not specified, \fBtex2xindy\fR handles ^^\-notation +of TeX and outputs the octet that is represented: \f(CW\*(C`^^ab\*(C'\fR in the input +gets output as the octet 0xab. If \f(CW\*(C`^^^^abcd\*(C'\fR or \f(CW\*(C`^^^^^^^^abcdefab\*(C'\fR +are detected, they are output as is. +.PP +If the option \fB\-o\fR is specified, \fBtex2xindy\fR operates in \fIOmega +mode\fR and handles its ^^\-notation: Then \f(CW\*(C`^^ab\*(C'\fR, \f(CW\*(C`^^^^abcd\*(C'\fR, and +\&\f(CW\*(C`^^^^^^^^abcdefab\*(C'\fR represent Unicode characters with code points +0xab, 0xabcd, and 0xabcdefab respectively. They are output in \s-1UTF\-8\s0 +encoding. +.PP +If the optional argument \fIattr_file\fR is specified, \fBtex2xindy\fR +writes all index key attributes into this file. +.SH "DEFICITS" +.IX Header "DEFICITS" +This program was written since it was not easily possible to extract +the parser from the old makeindex system. Therefore it does not find +all errors in the input as the \fImakeindex\fR\|(1) version. +.PP +Additionally it uses only the default input specifiers of +\&\fImakeindex\fR\|(1). If other input specifiers (cf. manual page of +\&\fImakeindex\fR\|(1)) are needed, the input specifiers (starting from the +pattern \f(CW\*(C`KEYWORD\*(C'\fR, see below) must be changed and the program must be +recompiled. +.PP +The particular missing feature is configuration of the quote and the +actual characters, maybe also the escape, subitem (level), and encap +characters. Argument and range delimiters seem to be less of a problem. +.PP +In fact, input markup handling (and thus \fBtex2xindy\fR) should be +incorporated into the \fBxindy\fR kernel, to be able to specify +configuration in xindy style files. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fItexindy\fR\|(1), +\&\fIxindy\fR\|(1), +\&\fImakeindex\fR\|(1) +.SH "AUTHOR" +.IX Header "AUTHOR" +Roger Kehr, Institut fuer Theoretische Informatik, \s-1TU\s0 Darmstadt +.SH "COPYRIGHT AND LICENSE" +.IX Header "COPYRIGHT AND LICENSE" +Copyright (c) 1996,1997 Roger Kehr. +Copyright (c) 2006 Joachim Schrod. +.PP +This program is free software; you can redistribute it and/or modify +it under the terms of the \s-1GNU\s0 General Public License as published by +the Free Software Foundation; either version 2 of the License, or (at +your option) any later version. +.PP +This program is distributed in the hope that it will be useful, but +\&\s-1WITHOUT\s0 \s-1ANY\s0 \s-1WARRANTY\s0; without even the implied warranty of +\&\s-1MERCHANTABILITY\s0 or \s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0. See the \s-1GNU\s0 +General Public License for more details. +.PP +You should have received a copy of the \s-1GNU\s0 General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, \s-1MA\s0 02139, \s-1USA\s0. diff --git a/Master/texmf-dist/doc/man/man1/tex2xindy.man1.pdf b/Master/texmf-dist/doc/man/man1/tex2xindy.man1.pdf Binary files differnew file mode 100644 index 00000000000..240d5ce0e68 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/tex2xindy.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/texconfig-sys.1 b/Master/texmf-dist/doc/man/man1/texconfig-sys.1 new file mode 100644 index 00000000000..4a1ec004e56 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/texconfig-sys.1 @@ -0,0 +1 @@ +.so man1/texconfig.1 diff --git a/Master/texmf-dist/doc/man/man1/texconfig-sys.man1.pdf b/Master/texmf-dist/doc/man/man1/texconfig-sys.man1.pdf Binary files differnew file mode 100644 index 00000000000..12dae43ed2f --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/texconfig-sys.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/texconfig.1 b/Master/texmf-dist/doc/man/man1/texconfig.1 new file mode 100644 index 00000000000..8087f1e6dd1 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/texconfig.1 @@ -0,0 +1,215 @@ +.TH texconfig 1 "August 2011" "TeX Live" "TeX Live" +.SH NAME +texconfig \- configures teTeX or TeX Live +.LP +texconfig-sys \- configures teTeX or TeX Live system\-wide +.SH SYNOPSIS +.B texconfig +.LP +.B texconfig +[\fB commands\fR ...] +.LP +.B texconfig-sys +.SH DESCRIPTION +.I texconfig +allows one to configure and maintain TeX +in an easy and convenient manner, offering a series of dialog boxes to +the user. +.PP +The +.I tlmgr +program has subsumed this function for TeX Live. This program +is still supported, but the tlmgr interface is much more actively +developed and tested. +.PP +After choosing settings or options, the appropriate files +are changed automatically and the new settings are applied for the +user. If needed, copies of files in +.I TEXMFDIST +or +.I TEXMFMAIN +will be made in the user's +.I TEXMFCONFIG +tree. +.PP +.I texconfig +uses either the +.IR whiptail (1) +or +.IR dialog (1) +program to communicate with the user, so must be run in a terminal. +.PP +For making system-wide changes, which will apply to all users of TeX +(for example, default paper size and so on), run +.I texconfig-sys +instead. Changed or generated files will be placed in +.IR TEXMFSYSCONFIG . +(You may need to be root to do this.) +.PP +.I texconfig +also offers a non-interactive batch mode which can be accessed with +the following commands +.SH COMMANDS +Commands that accept further options usually display available options +if called without them. For example, +.B texconfig dvipdfm paper +will inform about valid paper settings. +.PP +.B +.IP conf +Display the system configuration. +.PP +.TP +.B dvipdfm paper [letter|legal|ledger|tabloid|a4|a3] +Set up dvipdfm to use papersize PAPER by default. +.TP +.B dvips add PRINTERNAME +Create a new (empty) configuration file +.I TEXMFCONFIG/dvips/config/config.PRINTERNAME. +This file can later be filled with the +.B mode, offset +or +.B printcmd +options +.TP +.B dvips del PRINTERNAME +Remove +.I config.PRINTERNAME +.TP +.B dvips mode +List available MetaFont modes. +.TP +.B dvips [-P PRINTER] mode MODE +Change the MetaFont mode to +.I MODE +for +.I PRINTER +or for all output files +.I (config.ps), +if no +.B -P +option is given. +.TP +.B dvips [-P PRINTER] offset x-OFFSET,y-OFFSET +Set printer offset for +.I PRINTER +or for all output files +.I (config.ps), +if no +.B -P +option is given. Offsets must be given with units, e.g. +.I 0pt,10pt +You can use testpage.tex from the LaTeX distribution to find these +numbers. +.TP +.B dvips [-P PRINTER] printcmd CMD +Set the printing command for +.I PRINTER +or for all output files +.I (config.ps), +if no +.B -P +option is given. Commands might be +.B lp +or +.B lpr. +See the description of the +.I o +option in +.B info dvips +or the +.I -O +option in +.B dvips(1). +.TP +.B faq +Display the list of Frequently Asked Questions about +.B teTeX +(and their answers). +.TP +.B font vardir DIR, font ro, font rw +.TP +.B formats +This command allows to edit +.B fmtutil.cnf(5) +and (re)creates any new or changed formats afterwards. +.TP +.B hyphen FORMAT +This command allows to edit the hyphenation configuration file for +formats that support this, and recreates the formats afterwards to +enable the new languages. Available formats are shown when no +.I FORMAT +is given. +.IP +Note that for formats that use LaTeX's +.I language.dat, + e.g. +.I (pdf)jadetex +and +.I latex +itself, this change is not persistent, since this file is a generated +file. You should not use this command in these cases, read +.B update-language(1) +for alternatives. +.TP +.B init [format] +Recreate +.I format +or all formats if none is given, and the font information. This is +the same as calling +.B fmtutil --byfmt format +or +.B fmtutil --all, +respectively, followed by +.B updmap. +.TP +.B mode-list +List available printer modes, together with the printers they were +developed for, and their DPI resolution +.TP +.B mode MODE +Set the default printer mode in +.I /etc/texmf/web2c/mktex.cnf +or the respective user file in +.I $TEXMFCONFIG/web2c +to +.B MODE. +.TP +.B paper [a4|letter] +Set the default papersize for +.B dvips, dvipdfm, pdftex +and +.B xdvi. +The set is restricted because not all programs understand all sizes. +.TP +.B pdftex paper [a4|letter] +Set the default paper size for +.B pdftex. +.TP +.B rehash +Call +.B mktexlsr. +.TP +.B xdvi paper PAPER +Set the default paper size for +.B xdvi. +The (long) list is available with +.B texconfig xdvi paper. + +.SH ENVIRONMENT +To let you change files, +.B texconfig +will open the editor specified in the VISUAL or EDITOR variables, or +.B sensible-editor +if both are unset. +.SH "SEE ALSO" +.IR whiptail (1), +.IR dialog (1), +.IR tlmgr (1), +.IR tex (1), +.IR mf (1), +.IR vi (1), +.IR EDITOR +environment variable. +.SH AUTHOR +Thomas Esser diff --git a/Master/texmf-dist/doc/man/man1/texconfig.man1.pdf b/Master/texmf-dist/doc/man/man1/texconfig.man1.pdf Binary files differnew file mode 100644 index 00000000000..61fad807ac1 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/texconfig.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/texdiff.1 b/Master/texmf-dist/doc/man/man1/texdiff.1 new file mode 100644 index 00000000000..32317947d83 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/texdiff.1 @@ -0,0 +1,220 @@ +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sh \" Subsection heading +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. | will give a +.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to +.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' +.\" expand to `' in nroff, nothing in troff, for use with C<>. +.tr \(*W-|\(bv\*(Tr +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.\" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.hy 0 +.if n .na +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "TEXDIFF 1" +.TH TEXDIFF 1 "2009-09-24" "perl v5.8.8" "User Contributed Perl Documentation" +.SH "NAME" +\&\fBtexdiff\fR \- Compares two (La)TeX documents to create a merged version showing changes, similar to that of 'Change Tracking' in some word processors. +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +texdiff [\-\-nofloats|\-n] old.tex new.tex [diff.tex] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The first two files are compared and a new TeX file is output. When +the output file is processed with (La)TeX it marks new changes with +blue and old text with red with a strike-through line. Furthermore, +passages with changes are marked at the margin with grey bars by the +LaTeX \f(CW\*(C`changebar\*(C'\fR package (although only after running \f(CW\*(C`dvips\*(C'\fR, in +\&\f(CW\*(C`xdvi\*(C'\fR the bars are one inch too far left to compensate the one inch +offset inserted by TeX printer drivers). +.PP +\&\f(CW\*(C`texdiff\*(C'\fR uses and therefore requires the \f(CW\*(C`wdiff\*(C'\fR command to insert +these marks. If LaTeX macros are included in those striked out or +underlined passages, the latex run will most likely fail. The source +of most problems lies in \f(CW\*(C`wdiff\*(C'\fR tearing apart pairs of +braces. Therefore \f(CW\*(C`texdiff\*(C'\fR is a perl script that calls \f(CW\*(C`wdiff\*(C'\fR internally +and fixes \f(CW\*(C`wdiff\*(C'\fR's output by re-pairing braces again and handling some +commonly used LaTeX macros. +.PP +For texdiff to work, the following LaTeX code must be inserted in the +preamble of the LaTeX document: +.PP +.Vb 3 +\& \eusepackage{xcolor} \eusepackage{ulem} \eusepackage{changebar} +\& \enewcommand\eTLSins[1]{\ecbstart{}\etextcolor{ins}{\euline{#1}}\ecbend{}} +\& \enewcommand\eTLSdel[1]{\ecbdelete{}\etextcolor{del}{\esout{#1}}} +.Ve +.PP +Define editing colors \f(CW\*(C`ins\*(C'\fR and \f(CW\*(C`del\*(C'\fR with existing \f(CW\*(C`xcolor\*(C'\fR color names: + \ecolorlet{ins}{blue} \ecolorlet{del}{red} +.PP +Or from scratch: + \edefinecolor{ins}{rgb}{0, 0.5, 0} +.PP +These macros are \s-1NOT\s0 automatically interted at \ebegin{document} like +the original scripts did (see the \fB\s-1ACKNOWLEDGMENTS\s0\fR section below), +because this will not work on files of a multi-file document (those +included by \einclude or \einput). Furthermore, if you insert the +macros manually, you can tune them as you like, i. e. change text +color or position of changebars. Have a look at the documentation of +the ulem and changebar packages on how to do this! +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-\-nofloats\fR, \fB\-n\fR" 4 +.IX Item "--nofloats, -n" +If given, skips contents of figure environments, but does show +insertions and deletions in the caption commands. This is done to +avoid complex messups in subfloat or complex figure environments. +.IP "\fB\-\-debug\fR, \fB\-d\fR" 4 +.IX Item "--debug, -d" +Turns on debugging. Temporary files that contain numbered braces are +kept and a raw difference file is written as output file name appended +with '\-wdiff.tex'. In addition, several regular expression diagnostics +are printed. \fBWarning: produces a lot of output.\fR +.SH "AUTHOR" +.IX Header "AUTHOR" +Mark Doll <markdoll<\s-1AT\s0>gmx.net>, Cengiz Gunay <cengique<\s-1AT\s0>users.sf.net>. +.SH "ACKNOWLEDGMENTS" +.IX Header "ACKNOWLEDGMENTS" +.IP "\fB*\fR" 4 +.IX Item "*" +Version 0.4, by \s-1CG\s0, 2009/09/15. Added use of GetOpt to take an optional +parameter to skip float (e.g., figure or table) contents. Added an +optional debug mode. Embedded \s-1POD\s0 documentation. Fixed problem +with insertion and deletions appearing in the middle of sectioning +commands by throwing off LaTeX. +.IP "\fB*\fR" 4 +.IX Item "*" +Version 0.3, modified by Cengiz Gunay <cengique@users.sf.net>, +2009/06/30. Added some Latex commands that should be excluded and +fixed handling of '\e%' characters. +.IP "\fB*\fR" 4 +.IX Item "*" +Version 0.2, is a perl implementation of TeXdiff by Mark Doll +<markdoll@gmx.net>, 2006/08/09. It was derived from the original bash +and perl scripts created by Robert Maron <robmar@mimuw.edu.pl>, +available at http://www.robmar.net/TexDiff/. This version of texdiff +is available at http://mark.doll.name/texdiff/. +.SH "COPYRIGHT AND LICENSE" +.IX Header "COPYRIGHT AND LICENSE" +Copyleft 2006\-2009, Mark Doll and Cengiz Gunay +.PP +This library is free software; you may redistribute it and/or modify +it under the same terms as Perl itself. diff --git a/Master/texmf-dist/doc/man/man1/texdiff.man1.pdf b/Master/texmf-dist/doc/man/man1/texdiff.man1.pdf Binary files differnew file mode 100644 index 00000000000..5eeaf01aaa3 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/texdiff.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/texdirflatten.1 b/Master/texmf-dist/doc/man/man1/texdirflatten.1 new file mode 100644 index 00000000000..0da2a4fa74f --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/texdirflatten.1 @@ -0,0 +1,176 @@ +.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "TEXDIRFLATTEN 1" +.TH TEXDIRFLATTEN 1 "2009-04-17" "perl v5.10.0" "User Contributed Perl Documentation" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +\&\fBtexdirflatten\fR \- Collects all components of a (La)TeX file in a +single output directory \*(-- i.e., flattens its hierarchy. +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +texdirflatten \-f input.tex [\-o outputdir] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +It parses the source file, following its included children (La)TeX +files recursively, to collect together its components, such as +graphics and BiBTeX bibliography files in different directories. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-f\fR \fIinput.tex\fR" 4 +.IX Item "-f input.tex" +Specifies input (La)TeX file. +.IP "\fB\-o\fR \fIoutputdir\fR" 4 +.IX Item "-o outputdir" +Directory to collect all files. \fBtexdirflatten\fR will copy each source +file, graphics and bibliography file to this directory. It will be +created if it is unexistent. If unspecified, it defaults to \f(CW\*(C`flat/\*(C'\fR. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +The following example scans \f(CW\*(C`manuscript.tex\*(C'\fR in the current directory +and gathers it and all its components in the \f(CW\*(C`submit_01/\*(C'\fR directory: +.PP +.Vb 1 +\& $ texdirflatten \-f manuscript.tex \-o submit_01 +.Ve +.SH "CAVEATS" +.IX Header "CAVEATS" +Please take backups before running this command. No warranties +whatsoever provided. +.SH "BUGS" +.IX Header "BUGS" +Bug reports and patches are welcome. +.SH "AUTHOR" +.IX Header "AUTHOR" +Cengiz Gunay <cengique<\s-1AT\s0>users.sf.net> +.SH "COPYRIGHT AND LICENSE" +.IX Header "COPYRIGHT AND LICENSE" +Copyleft 2003\-2009, Cengiz Gunay +.PP +This library is free software; you may redistribute it and/or modify +it under the same terms as Perl itself. diff --git a/Master/texmf-dist/doc/man/man1/texdirflatten.man1.pdf b/Master/texmf-dist/doc/man/man1/texdirflatten.man1.pdf Binary files differnew file mode 100644 index 00000000000..69bea837ba7 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/texdirflatten.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/texdoc.1 b/Master/texmf-dist/doc/man/man1/texdoc.1 new file mode 100644 index 00000000000..bfaba2396af --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/texdoc.1 @@ -0,0 +1,80 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.40.9. +.TH TEXDOC "1" "June 2012" "texdoc 0.84" "User Commands" +.SH NAME +texdoc \- find & view documentation in TeX Live +.SH SYNOPSIS +.B texdoc +[\fIOPTION\fR]... \fINAME\fR... +.br +.B texdoc +\fIACTION\fR +.SH DESCRIPTION +Try to find appropriate TeX documentation for the specified NAME(s). +Alternatively, perform the given ACTION and exit. +.SS "Actions:" +.TP +\fB\-h\fR, \fB\-\-help\fR +Print this help message. +.TP +\fB\-V\fR, \fB\-\-version\fR +Print the version number. +.TP +\fB\-f\fR, \fB\-\-files\fR +Print the list of configuration files used. +.TP +\fB\-\-just\-view\fR file +Display file, given with full path (no searching). +.SH OPTIONS +.TP +\fB\-w\fR, \fB\-\-view\fR +Use view mode: start a viewer. (default) +.TP +\fB\-m\fR, \fB\-\-mixed\fR +Use mixed mode (view or list). +.TP +\fB\-l\fR, \fB\-\-list\fR +Use list mode: show a list of results. +.TP +\fB\-s\fR, \fB\-\-showall\fR +Use showall mode: show also "bad" results. +.TP +\fB\-i\fR, \fB\-\-interact\fR +Use interactive menus. (default) +.TP +\fB\-I\fR, \fB\-\-nointeract\fR +Use plain lists, no interaction required. +.TP +\fB\-M\fR, \fB\-\-machine\fR +Machine\-readable output for lists (implies \fB\-I\fR). +.TP +\fB\-q\fR, \fB\-\-quiet\fR +Suppress warnings and most error messages. +.TP +\fB\-v\fR, \fB\-\-verbose\fR +Print additional information (eg, viewer command). +.TP +\fB\-d\fR, \fB\-\-debug\fR[=\fIlist\fR] +Activate debug output (restricted to list). +.SH ENVIRONMENT +.IP +PAGER, BROWSER, PDFVIEWER, PSVIEWER, DVIVIEWER. +.SH FILES +.IP +<texmf>/texdoc/texdoc.cnf, see output of the \fB\-\-files\fR option. +.SH "REPORTING BUGS" +Report bugs to <texdoc@tug.org>. +.br +Texdoc home page: <http://tug.org/texdoc/> +.br +Source: <https://github.com/mpg/texdoc> +.SH COPYRIGHT +Copyright \(co 2008\-2011 Manuel P'egouri'e\-Gonnard. +License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. +.br +This is free software: you are free to change and redistribute it. +.SH "SEE ALSO" +The full documentation is maintained as a PDF manual. The command +.IP +.B texdoc texdoc +.PP +should give you access to the complete manual. diff --git a/Master/texmf-dist/doc/man/man1/texdoc.man1.pdf b/Master/texmf-dist/doc/man/man1/texdoc.man1.pdf Binary files differnew file mode 100644 index 00000000000..516ce867e32 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/texdoc.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/texdoctk.1 b/Master/texmf-dist/doc/man/man1/texdoctk.1 new file mode 100644 index 00000000000..e7aebb7098a --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/texdoctk.1 @@ -0,0 +1,217 @@ +.TH TEXDOCTK 1 +.SH NAME +texdoctk \- GUI for easier access of TeX package and program documentations +.SH SYNOPSIS +.B texdoctk +-[aq] +.SH "DESCRIPTION" +.B texdoctk +is a GUI for easier access to a large part of the vast amount +of package and program documentations and tutorials for TeX and its +different derivatives (mainly LaTeX). It is optimized and included in +the teTeX and fpTeX distributions and also available with TeXLive. +.PP +The documentation is grouped into 17 categories; the 18th button of the main +panel is inactive by default and intended for use with local additions (see +section +.B CONFIGURATION +below). +.PP +In the settings window you see a checkbox in the html->ps and text->ps +converter menus for switching on/off output redirect. This is due to the fact +that some converters do not write their output into a file but to stdout by +default, so a redirect is needed, e.g. +.PP +a2ps myfile.txt >myfile.ps +.SH "OPTIONS" +.TP +.I "\-v" +verbose: enable some viewer messages which are otherwise sent to stderr, +as well as some warning popup windows. This can also be set in a +configuration file. +.TP +.I "\-a" +autoview: autostart viewer if a listbox contains only one item (this will +frequently happen in search results). This can also be set in a configuration +file. +.SH "CONFIGURATION" +.PP +The configuration is controlled by the system default configuration file +($TEXMFMAIN)/texdoctk/texdocrc.defaults, most of whose entries can though be +overridden by the users' own optional ~/.texdocrc files and/or command line +options. +.SS The Settings menu and configuration files +.PP +The Settings menu is used to change the user-definable settings of \fBtexdoctk\fP +for the duration of the program call or as new defaults. The latter case is +the purpose of the Save button, which generates or rewrites the user's own +~/.texdocrc file. The system defaults cannot be edited with the Settings +menu. +.TP +Paths +The TEXMF-type paths on the system are reported, and the user can specify the +name of the subdirectory of $HOMETEXMF, where the personal documentation is +stored. +.TP +General viewer behaviour + +.I Suppress error messages +toggle verbose mode (see option -v); default is off. + +.I Autostart viewer for one-item listboxes +if a listbox contains only one item (see option -a) + +.I Use text viewer for unknown file format +i.e. treat the file as plain text. \fBtexdoctk\fP should recognize the usual file +formats and also relate names like README to plain text, but some docs may have +freely invented names. Default is on; if switched off, trying to view such +files will raise an error. The switch does not influence printing: unrecognized +formats cannot be printed. + +.I Change viewer colours +using either RGB triplets in the format #rrggbb or the standardized names. +.TP +DVI/PostScript/PDF/HTML/Plain text +For text files, \fBtexdoctk\fP provides an own viewer. If this viewer is disabled, +but no alternative viewer is specified, \fBtexdoctk\fP tries to read the content +of the environment variable $PAGER. + +If you want to print the documentations, you will need converters to turn +non-PS files into PostScript. Here are some suggestions: + +\& dvi->ps: +dvips (is part of teTeX) (http://www.radicaleye.com/dvips.html) + +\& pdf->ps: +pdf2ps (http://www.cs.wisc.edu/~ghost) or +Acrobat Reader (http://www.adobe.com) + +\& html->ps: html2ps (http://user.it.uu.se/~jan/html2ps.html) + +\& plain text->ps: a2ps (http://www-inf.enst.fr/~demaille/a2ps/) + +The html->ps and text->ps converter menus for switching on/off output redirect. +This is due to the fact that some converters do not write their output into a +file but to stdout by default, so a redirect is needed, e.g. +.B a2ps myfile.txt >myfile.ps +.PP +The system-wide configuration file is ($TEXMFMAIN)/texdoctk/texdocrc.defaults +and should only be writable by the administrator of the installation using any +text editor. The optional user configuration file is ~/.texdocrc and can +override all but those system settings which affect the installation as a +whole. The preferred way of changing it is through the Settings menu. +.SS The databases +\fBtexdoctk\fP comes with a default database file ($TEXMFMAIN)/texdoctk/texdoctk.dat +with a special format. It is divided into 17 sections corresponding to the +17 buttons that are active by default. Each section begins with a line + +@\fIsection_name\fP + +where +.I section_name +is the text as it appears in the button. This title is +followed by the descriptive entries for each documentation, which have this +format: + +\fIpackage-label\fP;Short description for listbox (opt. \fIpackage-name\fP);path in doc directory;optional keywords + +(without breaking the line!). Comments (initiated with a #) and empty lines +are ignored by the program. The second field is the text displayed in the +selection listboxes of \fBtexdoctk\fP, and you will usually want to mention the name +of the package in parens along with it; the first field is a \fBunique\fP label +for the package for internal use of the program which will usually be chosen +identical to the package name, but can be different if there is more than one +documentation file coming with a package. +.PP +The administrator will probably install additional packages in the local texmf +tree. The corresponding documentation can be made accessible by an additional +database $TEXMFLOCAL/texdoctk/texdoctk-local.dat. Furthermore, individual +users possibly install additional packages in an texmf subdirectory of their +$HOME, for which they can make an individual database themselves as +$TEXMFHOME/texdoctk/texdoctk-pers.dat. After creating such files, texhash +must be executed. +.PP +Both types of databases must have the same structure as the system database, +although they need (and should) not include all its sections if there are no +additional entries. For example, if the the package +.I foo +is added to the local tree such that its documentation file is +($TEXMFLOCAL)/doc/latex/foo/foo.dvi and it is decided that it fits best into +the existing category Graphics, texdoctk-local.dat would look like this: + +@Graphics +.br +foo;Create bells and whistles (foo);latex/foo/foo.dvi;decoration + +The entry for +.I foo +will then be appended to the list of entries in the Graphics category. The 18th +button can be activated in the same way, but using a new category name; +possible entries at the beginning of the database which have not been assigned +to a category will be assigned to the default Miscellaneous, making the 18th +button active with that label. Note that you cannot have more than 18 +categories; if there are more, only the one defined last will appear and be +used. +.PP +If the documentation is included in the .sty file instead of a proper +documentation file, the optional keywords should start with +-?- directly after the semicolon, where ? is 0, 1, 2 or 3; these are flags +which indicate in which part of the .sty the instructions are placed and +should help \fBtexdoctk\fP to extract the documentation from the style and present +it without the code, which would normally be of little use. +.TP +0 +no specific place, scattered between the code +.TP +1 +at end, behind \\endinput; some .sty files have well-organized documentation +behind the end of the actual code, where TeX doesn't see it upon compilation +.TP +2 +at beginning, terminated by %%%%%%; in some other cases, some usage information +is at the beginning of the .sty as a comment terminated by a line full of % +.TP +3 +as 2, but with a blank line as termination +.PP +See the system database for plenty of examples. + +.SH "FILES" +.PP +\& $TEXMFMAIN/texdoctk/texdocrc.defaults +system-wide configuration file +.PP +\& ~/.texdocrc +(optional) personal configuration file; can also be created with the Settings menu +.PP +\& $TEXMFMAIN/texdoctk/texdoctk.dat +default database file for documentation files of the distribution +.PP +\& $TEXMFLOCAL/texdoctk/texdoctk-local.dat +(optional) local database file for documentation files +.PP +\& $TEXMFHOME/texdoctk/texdoctk-pers.dat +(optional) personal database file of individual users for documentation files +.SH BUGS +Widget placement in topic toplevels becomes ugly when the toplevel is stretched +or shrunk. +.PP +The font in the frame labels of the Settings menu are not forced to the default +font; this will become visible e.g. at hi-res screens, where the label font is +not scaled up. +.PP +Netscape and Mozilla error output will be written to stderr even if the quiet +mode was set. +.SH AUTHOR +.B texdoctk +was written by Thomas Ruedas <tr@geol.ku.dk>. +.PP +This manual page was originally written by Adrian Bunk <bunk@fs.tum.de> for +the Debian GNU/Linux system (but may be used by others). It is now maintained +by Thomas Ruedas. + +.SH COPYRIGHT +Copyright (C) 2000-2004 Thomas Ruedas +.br +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. diff --git a/Master/texmf-dist/doc/man/man1/texdoctk.man1.pdf b/Master/texmf-dist/doc/man/man1/texdoctk.man1.pdf Binary files differnew file mode 100644 index 00000000000..e756cd7b8da --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/texdoctk.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/texexec.1 b/Master/texmf-dist/doc/man/man1/texexec.1 new file mode 100644 index 00000000000..19f56dab96b --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/texexec.1 @@ -0,0 +1,602 @@ +.TH "TEXEXEC" "1" "December 2006" "texexec 6.2" "ConTeXt" +.de URL +\\$2 \(laURL: \\$1 \(ra\\$3 +.. +.if \n[.g] .mso www.tmac +.de EX +.in +3 +.nf +.ft CW +.. +.de EE +.in -3 +.ft R +.fi +.. + +.SH "NAME" +texexec \- front end to the ConTeXt typesetting system + +.SH "SYNOPSIS" +\fBtexexec\fP [ \fIOPTION\fP ... ] \fIFILE\fP [ ... ] + +.SH "DESCRIPTION" + +\fBtexexec\fP, a \fBruby\fP(1) script, +is the command-line front end to the ConTeXt typesetting +system, an extensive macro package +built on the \fBtex\fP(1) family of typesetting programs. +\fBtexexec\fP provides several facilties: +.IP \(bu +Process a ConTeXt source file, +performing as many runs as +necessary of \fBtex\fP(1), \fBtexutil\fP(1), and +MetaPost (\fBmpost\fP(1)). Options control the output +format, the pages to process, paper size, and so forth. +.IP \(bu +Create new ConTeXt formats, useful during installation. +.IP \(bu +Post-process existing PDF files, including merging multiple +files, and extracting and rearranging pages within a file, +similar to the facilities provided for PostScript files by +\fBpsnup\fP(1) or for PDF files by \fBpdftk\fP(1). +.IP \(bu +Extract or strip documentation from ConTeXt source files +using \fBtexutil\fP(1). +.IP \(bu +Run MetaPost (\fBmpost\fP(1)) to generate figures from MetaPost source. +.IP \(bu +Produce proof sheets of figures used in a ConTeXt source file. +.IP +.SH "OPTIONS" + +All switches are specified in full here but can be abbreviated to the +shortest unique prefix. Thus, \fB--env\fP works the same as +\fB--environment\fP. With no options, \fBtexexec\fP assumes that +the file on the command line is a ConTeXt source file, i.e. a TeX file +in the ConTeXt dialect, and produces a PDF file using the source file. + +.SS "General Options" + +.IP "\fB--alone\fP" +Avoid calling other programs when possible. For +example, \fB--alone\fP will prevent \fBtexexec\fP from +using \fBfmtutil\fP(1) to generate formats (this prevention can +be handy when tracing installation problems). +.IP "\fB--environments\fP\fI=\fP\fIfile[,file[,...]]\fP" +Specify ConTeXt environment file(s), separated by commas, to use when +processing the source file. This option is useful when converting +from non-ConTeXt file formats without environment or layout settings. +.IP "\fB--help\fP" +Produce a summary of switches +and arguments. A more detailed help is produced by including +\fB--all\fP. +.IP "\fB--interface=\fP\fIlanguage\fP" +Specify the language +ConTeXt should use to communicate with you. +Options are +.IP +.RS +.IP "\fBen\fP" +US English +.IP "\fBnl\fP" +Dutch +.IP "\fBde\fP" +German +.IP "\fBuk\fP" +British English +.IP "\fBcz\fP" +Czech +.IP "\fBit\fP" +Italian +.RE +.IP "\fB--keep\fP" +Preserve a few of the temporary files generated while processing by +appending \fI.keep\fP to their name. For example, after +.EX +texexec --keep document.tex +.EE +you will find (besides \fIdocument.pdf\fP) \fIdocument.log.keep\fP +and \fIdocument.top.keep\fP. The \fIdocument.top\fP file is where +\fBtexexec\fP wraps \fIdocument.tex\fP with the proper ConTeXt macro +commands to set the output format, etc. +.IP "\fB--once\fP" +Process a file exactly once. (By default, +\fBtexexec\fP processes the file as many times as +necessary to sort out all references, typeset +\fBMetaPost\fP code, and so forth.) +.IP "\fB--purge\fP" +Get rid of most temporary files generated while processing the source +file. For example, +.EX +texexec --purge somefile.tex +.EE +will generate \fIsomefile.pdf\fP, cleaning up after itself and leaving +only one extra file, \fIsomefile.tuo\fP. See also the \fB--purge\fP +option of +.BR ctxtools (1) +.IP "\fB--purgeall\fP" +Get rid of all temporary files generated while processing the source +file, including the \fIfilename.tuo\fP file. See also the \fB--purge +--all\fP option combination of +.BR ctxtools (1) +.IP "\fB--randomseed=\fP\fINNNN\fP" +Set the random seed. +.IP "\fB--result=\fP\fIFILENAME\fP" +Allows you to change the +basename of the output file. See +\fB--mode\fP for an example. +.IP "\fB--runs=\fP\fINUMBER\fP" +Specify the number of runs to +perform on a file. Overrides +\fBtexexec\fP's calculations. +.IP "\fB--separation\fP" +Perform color separations. +.IP "\fB--silent\fP" +Suppress a few diagnostic and progress messages. +.IP "\fB--timeout=\fP\fINNN\fP" +Abort the run if a subprocess waits for more than \fINNN\fP seconds; +e.g. while waiting for user input when \fBtex\fP reports an undefined +control sequence. Useful for automated testing scripts, to make sure +the runs finish. +.IP "\fB--usemodules=\fP\fImodule1[,module2,[...]]\fP +Use the comma-separated list of modules. For example, to typeset +\fIdocument.tex\fP using the \fIbib\fP and \fIunits\fP modules: +.EX +texexec --usemodules=bib,units document.tex +.EE +.IP "\fB--verbose\fP" +Output extra diagnostic information. +.IP "\fB--version\fP" +Print the version number. +.IP + +.SS "Processing ConTeXt Source Files" + +Including specifying paper sizes, formats, and so forth. + +.IP "\fB--arrange\fP" +Perform page rearrangements, which are used to produce booklets. This +option tells ConTeXt to the first \fIn\fP-1 runs without taking +account of arrangements, then on the last run to pay attention to +the arrangement commands in the source file. +.IP "\fB--batchmode\fP" +Process the file in batchmode, which means +to typeset the whole document even if there are errors. More +imformation about \f(CWbatchmode\fP can be found in Donald +E. Knuth's \fITeXbook\fP. +.IP "\fB--nonstopmode\fP" +Process the file in nonstopmode, which means +to typeset the document and report errors, but not to stop at any +error. It is similar to batchmode but more verbose. More +imformation about \f(CWnonstopmode\fP can be found in Donald +E. Knuth's \fITeXbook\fP. +.IP "\fB--bodyfont=\fP\fIfont\fP" +The name of a font to preload for use in +setting the body of the text (OBSOLETE). +.IP "\fB--centerpage\fP" +Center the document on the page. +.IP "\fB--color\fP" +Turn on color mode. Color mode can also be set by +commands embedded in the document. These commands +override the \fB--color\fP option. +.IP "\fB--convert=\fP\fIFORMAT\fP" +Convert the input file to +ConTeXt format from \fIFORMAT\fP before +processing. In most cases, this conversion will result +in a TeX file. Currently supported input +\fIFORMAT\fPs are \fBxml\fP and +\fBsgml\fP. +.IP "\fB--dvipdfmx, --dvipdfm, --dpx, --dpm\fP" +Use the TeX engine (e.g. \fBpdftex\fP or \fBpdfetex\fP) +to make a DVI file and \fBdvipdfmx\fP(1) to turn it +into PDF. +.IP "\fB--dvi, --ps, --dvips\fP" +Use the TeX engine (e.g. \fBpdftex\fP or \fBpdfetex\fP) +to make a DVI file and \fBdvips\fP(1) to turn it +into PostScript. It's counterintuitive that \fB--dvi\fP produces +a PostScript file in addition to the DVI file. But that's because +\fB--dvi\fP is shorthand for \fB--dvips\fP; adding the \fB--nobackend\fP +option prevents \fBtexexec\fP's running \fBdvips\fP(1). See also the +\fB--engine\fP option. +.IP "\fB--fast\fP" +Typeset the document(s) as fast as possible without +causing problems. +.IP "\fB--final\fP" +Perform a final run without skipping anything. +This option is typically used with \fB--fast\fP. +.IP "\fB--language=\fP\fILANGUAGE\fP" +Set the language for +hyphenation. Can be specified in your source file. +Options are the same as those for \fB--interface\fP. +.IP "\fB--mode=\fP\fIMODELIST\fP, \fB--modes=\fP\fIMODELIST\fP" +Allows you to change the mode used while typesetting the +source file. The \fIMODELIST\fP is a comma separated list of modes. +Modes are a conditional-compilation facility +like \f(CW#ifdef\fP in C. So one source file can be used to produce +several typeset documents: one for A4 paper, one for +screen display in full color, one for letter paper, etc. For +example: +.IP +.EX +\f(CWtexexec --pdf --mode=A4 --result=manual-a manual-t.tex\fP +\f(CWtexexec --pdf --mode=letter --result=manual-l manual-t.tex\fP +\f(CWtexexec --pdf --mode=screen --result=manual-s manual-t.tex\fP +.EE +.IP +Here the \fB--mode\fP tells ConTeXt which +mode directives to use when typesetting the source file. The +\fB--result\fP option tells ConTeXt +where to put the output file. +.IP "\fB--modefile=\fP\fIfile\fP" +Load this file before most of the usual processing; usually used for +mode-related material. +.IP "\fB--noarrange\fP" +Ignore arrangement commands in the source file. +.IP "\fB--nobackend\fP" +Do not run the backend, e.g. \fBdvips\fP(1) or \fBdvipdfmx\fP(1). See +the \fB--dvips\fP or \fB--dvipdfmx\fP options. Why would you give one +of those options to choose a backend, yet tell \fBtexexec\fP not to +run the backend? Because each backend has its own syntax for +\f(CW\\special\fP calls. Specifying the backend allows the ConTeXt +macros to use the correct syntax so that when you later run the +backend to produce PostScript or PDF, the specials will be interpreted +correctly. +.IP "\fB--pages=\fP\fIPAGENUMBERLIST\fP" +Specify the pages or page +range to appear in the output file. +\fIPAGENUMBERLIST\fP may be the keyword \fBodd\fP +or \fBeven\fP; or one or more pages or page ranges separated by commas. +For example, +.EX +\f(CWtexexec --pages=1,7,8-11,14 somefile.tex\fP +.EE +.IP "\fB--paperformat=\fP\fIKEY\fP" +For typesetting multiple pages on a +single piece of paper. \fIKEY\fP has the form \fBa4a3\fP +(for printing A4 pages on A3 paper), \fBa5a4\fP +(for printing A5 pages on A4 paper), or in general \fBaMaN\fP. +The actual layout of the pages is specified with the +\fB--printformat\fP option. +.IP "\fB--pdf, --pdftex\fP" +Use \fBpdftex\fP(1) to produce a pdf document (the default). +.IP "\fB--printformat=\fP\fIKEY\fP" +Specify the layout of the final +output. \fIKEY\fP can be \fBup\fP, resulting in 2 +pages per sheet, double sided; or \fBdown\fP, resulting +in 2 rotated pages per sheet, double sided. Use the +\fB--paperformat\fP option to specify the original page +and sheet size. +.IP "\fB--utfbom\fP" +Turn on UTF-8 encoding. +.IP "\fB--xetex, --xtx\fP" +Use \fBxetex\fP(1) to produce a pdf document. +.IP + +.SS "Creating ConTeXt Format Files" + +.IP "\fB--make\fP" +Generate a ConTeXt format file. For example, to make +\fIcont-en.fmt\fP and have it placed in a default format directory: +.EX +texexec --make de +.EE +The most common invocation, which is used by scripts that install a new version +of ConTeXt (see \fBctxtools\fP(1)), uses \fB--all\fP +so that \fBtexexec\fP makes the usual formats: +.EX +texexec --make --all +.EE +.IP "\fB--local\fP" +When searching for TeX or MetaPost formats, look in the current directory +rather than in the location set by the kpse library. See +.BR kpathsea (1) +for more information on path searching. +.IP "\fB--check\fP" +Check and report information about the ConTeXt version, the +distribution, the TeX engine, and the language interfaces/formats. + +.SS "Expert options" + +You should know what you're doing if you use these options! +.IP "\fB--alpha" +Use the TEXMFALPHA environment variable to find and +run an alpha release of ConTeXt. +.IP "\fB--beta" +Use the TEXMFBETA environment variable to find and +run a beta release of ConTeXt. +.IP "\fB--distribution\fP\fI=dist\fP" +Usually one of \fBstandard\fP, \fBweb2c\fP, or \fBmiktex\fP. +\fBtexexec\fP should figure it out automatically, and you shouldn't +need to use this option. +.IP "\fB--engine\fP\fI=texengine\fP" +Specify the program to do the hard work of typesetting. Currently +either \fBpdftex\fP (the default), \fBxetex\fP, or \fBaleph\fP. +The \fBluatex\fP value is experimental. The \fB--engine\fP +option is not usually needed. Instead, let +\fBtexexec\fP figure out the setting based on other command-line +information. See for example the \fB--xetex\fP or \fB--pdf\fP +switches. + +.SS "Postprocess PDF Files" + +.IP "\fB--combination=\fP\fIROWS\fP\fB*\fP\fICOLS\fP" +Specify the number of pages to show on a single page. Use with +\fB--pdfcombine\fP. +.IP "\fB--pdfarrange\fP" +For rearranging pages in PDF files. +.EX +\f(CWtexexec --pdfarrange --paperformat=a5a4 --printformat=up foo.pdf\fP +.EE +This command creates an A5 booklet from a PDF file +\fIfoo.pdf\fP. \fB--pdfarrange\fP is used in +conjunction with the following options. +.IP "\fB--pdfcopy\fP" +Copy and perhaps process pages from the pdf file. +The resulting file is \fItexexec.pdf\fP by default, but you can change +that using \fB--result\fP. Use the \fB--scale\fP option to magnify or +demagnify the original pages and the \fB--pages\fP option to select +the pages to copy. Here is an example using all these options: +.EX +texexec --pages=4-7 --pdfcopy --scale=750 --result=one images.pdf +.EE +It takes pages 4-7 from \fIimages.pdf\fP, scales them by 75%, +and copies them to \fIone.pdf\fP. +.IP "\fB--scale=\fP\fIinteger\fP" +If the integer is less than 10, then it is taken as an (integer) +magnification factor. Otherwise, it is taken as a magnification +factor in TeX terms, i.e. with 1000 meaning full scale. +.IP "\fB--paperoffset=\fP\fIdimen\fP" +Specify the space between the +edge of the pages and the beginning of the text block. +.IP "\fB--backspace=\fP\fIdimen\fP" +Specify the inside (gutter) margins. +.IP "\fB--topspace=\fP\fIdimen\fP" +Specify the top and bottom margin. +.IP "\fB--markings\fP" +Add crop marks. +.IP "\fB--addempty=\fP\fIPAGES\fP" +Add empty pages after the pages specified in \fIPAGES\fP. (Useful +for, among other things, adding blank pages after a table of +contents.) +.IP "\fB--textwidth=\fP\fIWIDTH\fP" +Set the width of +the original text. Specifying this parameter with a +single-sided original will allow ConTeXt to adjust +the page layout for double-sided output, producing much +more attractive results. + +With the \fB--pdfarrange\fP flag, specifying more +than one file will result in all of the files being +combined in the final result, allowing you to add title +pages, decorated part separators, and so forth. + +You can also do more complex manipulations, such as +adding additional text to the page by setting up a +small file with layout definitions and a simple figure +insertion loop. +.IP "\fB--pdfcombine\fP" +Combine multiple pages. Requires the \fB--combination\fP option. +.IP "\fB--pdfselect\fP" +Extract pages from a file. Use in combination with the +\fB--selection\fP switch, as in +.EX +\f(CWtexexec --pdfselect --paperformat=S6 +--selection=1,9,14 file-1\fP +.EE +which extracts pages 1, 9, and 14 from +\fIfile-1.pdf\fP, and places them in +\fItexexec.pdf\fP (the default output filename if +an output file isn't specified). + +See \fB--pdfarrange\fP for other +options. +.IP "\fB--selection=\fP\fIPAGES\fP" +Specify pages to be affected by +another option. See \fB--pdfarrange\fP and +\fB--pdfselect\fP for examples. + +.SS "XML handling" +.IP "\fB--filters=\fP\fIfilter1[,filter2[,...]]\fP +Specify XML filters to use. + +.SS "Extract or Strip Out Documentation" + +.IP "\fB--listing\fP" +Produce a typeset version of the source code in +\fIFILE\fP. You can specify the format of the output +file. For example, use +.EX +\f(CWtexexec --ps --listing readme.now\fP +.EE +to produce a PostScript file called +\fItexexec.ps\fP. + +See also \fB--backspace\fP, \fB--topspace\fP, and \fB--result\fP. +.IP "\fB--module\fP" +Create documentation for ConTeXt, +MetaPost (see \fBmpost\fP(1)), +.BR perl (1), +and +.BR ruby (1) +modules. +Converts the documentation to ConTeXt format and +then typesets a documentated version of the source file. + +Documentation lines in ConTeXt source files are +specified by beginning lines with these strings: + +\f(CW%C\fP : Copyright information + +\f(CW%D\fP : Documentation lines + +\f(CW%I\fP : TeXEdit information lines (mostly in Dutch) + +\f(CW%M\fP : Macro code needed to processs the documentation + +\f(CW%S\fP : Suppressed lines + +The same forms can be used for Perl or ruby scripts, except that the \f(CW%\fP +character (the TeX comment character) is replaced by \f(CW#\fP (the +Perl comment character). + +See also the \fB--documentation\fP option to +.BR ctxtools (1). + +.SS "Process MetaPost Figures" + +.IP "\fB--mpsformats=\fP\fIname\fP" +The name of a MetaPost format file, e.g. \fBmetafun\fP (the default). +.IP "\fB--mptex\fP" +Strips out and typesets TeX code embedded in a +MetaPost file. +.IP "\fB--nomp\fP" +Do not run \fBmpost\fP(1), even if needed. +.IP "\fB--nomprun\fP" +Do not run \fBmpost\fP(1) on embedded +MetaPost code. + +.SS "Producing Proof Sheets of Figures" + +Generate information and proof sheets of one or more (non-EPS) +graphics files. For example, +.EX +texexec --figures *.png *.jpg +.EE +scans the current directory for PNG and JPG files +and extracts useful information about their sizes and types. By +default, this information is stored in +.IR rlxtools.rli . +Then the given figures are made into a proof sheet (by default +\fItexexec.pdf\fP) according to the method specified by the +\fB--method\fP option. Note that newer versions of +.BR pdftex (1) +do not support TIFF inclusion. +.IP "\fB--method=\fP\fIALTERNATIVE\fP" +Specify one of three options to produce the document containing the images +used in the source file: + +\fBa\fP : A proof sheet with additional +information provided for each figure (the default) + +\fBb\fP : A proof sheet with the graphics only + +\fBc\fP : One figure per page, with the page +clipped to the bounding box of the +figure + +See also \fB--paperoffset\fP, +which allows you to specify an offset to be added to +the page, as in +.EX +texexec --figures --method=c --paperoffset=.5cm *.pdf *.png *.jpg +.EE + +.SH "USAGE" + +Each ConTeXt user interface (language) has its own format. The +following command generates two formats, one using the English +interface for typesetting in English, and one for Dutch: +.EX +\f(CWtexexec --make en nl\fP +.EE + +By default, the language used for typesetting matches the +user-interface language (set with +\fB--interface\fP. It is possible to use one +language for typesetting and another for messages by changing the +relevant settings in \fIcont-usr.tex\fP. These languages can +also be changed on the command line with a command such as +.IP +.RS +\f(CWtexexec --make --language=pl,cz,sk en\fP +.RE +.IP +That command generates a ConTeXt format file with an English user +interface, and the main language set to Polish (\fBpl\fP). Czech +and Slovak hyphenation patterns are also loaded +so that Czech and Slovak text included in a source file will be +typeset properly (\fBcz\fP and \fBsk\fP). +.IP o +When the appropriate formats are present, a file can be typeset +by typing +.EX +\f(CWtexexec test\fP +.EE +.IP +\fBtexexec\fP tries to determine what interface it should use to +typeset \fItest.tex\fP by looking for a line such as +.IP +.EX +\f(CW% interface=en tex=pdftex output=pdftex\fP +.EE +.IP +at the top of the file (i.e., on the very first line). This line is +equivalent to \fBTeX\fP's format line, ``&\fIFORMAT\fP''). +.IP +By default, \fBtexexec\fP will produce a PDF file using \fBpdftex\fP(1). The +\fB--dvips\fP flag tells \fBtexexec\fP to produce a PostScript +file instead. +.IP +After an error-free run, \fBtexexec\fP will run \fBtexutil\fP(1) to +determine whether additional runs of \fBtex\fP(1) (or +\fBpdftex\fP(1)) or any utility programs (e.g., \fBbibtex\fP(1), +\fBmakeindex\fP(1)) are necessary. You can suppress these +additional runs by specifying the \fB--once\fP or +\fB--runs\fP flags: +.IP +.EX +\f(CWtexexec --once test\fP +\f(CWtexexec --runs=2 test\fP +.EE +.IP + +.SH EXAMPLES +.TP +Produce PDF from ConTeXt source (the .tex extension is optional): +\f(CWtexexec file.tex\fP +.TP +Same as the above but without rerunning for crossreferences, etc.: +\f(CWtexexec --once file.tex\fP +.TP +Produce PostScript from ConTeXt source: +\f(CWtexexec --ps file.tex\fP +.TP +Produce file-a4.pdf using conditional compilation (modes): +\f(CWtexexec --mode=a4 --result=file-a4 file.tex\fP +.TP +Generate format (.fmt) files used by ConTeXt (used during installation): +\f(CWtexexec --make --all\fP + + +.SH "INITIALIZATION" +.IP +\fBtexexec\fP requires ruby. On Unix and Unix-like systems, no special +steps have to be taken to get \fBtexexec\fP to work beyond installing +ruby and having the \fBruby\fP(1) binary in your path. + +.SH "SEE ALSO" +.PP +\fBbibtex\fP(1), \fBctxtools\fP(1), \fBdvipdfmx\fP(1), \fBdvips\fP(1), +\fBfmtutil\fP(1), \fBmakeindex\fP(1), \fBmpost\fP(1), +\fBmptopdf\fP(1), \fBpdftex\fP(1), \fBpdftk\fP(1), \fBruby\fP(1), +\fBpsnup\fP(1), \fBtex\fP(1), \fBtexfont\fP(1), \fBtexmfstart\fP(1), +\fBtexshow\fP(1), +\fBtexutil\fP(1), \fBxetex\fP(1). +.PP +The texexec manual +.IR mtexexec.pdf , +available from +.URL "http://www.pragma-ade.com/dir/general/manuals/" "PRAGMA ADE" . +.PP +Donald E. Knuth's \fIThe TeXbook\fP. +.PP +.URL "http://www.contextgarden.net" "ConTeXt wiki" . + +.SH "AUTHOR" +This manpage was written by Tobias Burnus +<burnus@gmx.de> and C.M. Connelly +<c@eskimo.com> and updated by Sanjoy Mahajan <sanjoy@mit.edu>. +It is based on the +.I mtexexec.pdf +manual written by Hans Hagen <pragma@wxs.nl>. diff --git a/Master/texmf-dist/doc/man/man1/texexec.man1.pdf b/Master/texmf-dist/doc/man/man1/texexec.man1.pdf Binary files differnew file mode 100644 index 00000000000..5823672f6af --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/texexec.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/texhash.1 b/Master/texmf-dist/doc/man/man1/texhash.1 new file mode 100644 index 00000000000..9ef4b884346 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/texhash.1 @@ -0,0 +1 @@ +.so man1/mktexlsr.1 diff --git a/Master/texmf-dist/doc/man/man1/texhash.man1.pdf b/Master/texmf-dist/doc/man/man1/texhash.man1.pdf Binary files differnew file mode 100644 index 00000000000..c620703b914 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/texhash.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/texindy.1 b/Master/texmf-dist/doc/man/man1/texindy.1 new file mode 100644 index 00000000000..d1b4417af93 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/texindy.1 @@ -0,0 +1,446 @@ +.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.04) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sh \" Subsection heading +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "texindy 1" +.TH texindy 1 "2010-05-10" "Version 1.11" "xindy" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +texindy \- create sorted and tagged index from raw LaTeX index +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +.Vb 2 +\& texindy [\-V?h] [\-qv] [\-iglr] [\-d magic] [\-o outfile.ind] [\-t log] \e +\& [\-L lang] [\-C codepage] [\-M module] [idx0 idx1 ...] +.Ve +.Sh "GNU-Style Long Options for Short Options:" +.IX Subsection "GNU-Style Long Options for Short Options:" +.Vb 10 +\& \-V / \-\-version +\& \-? / \-h / \-\-help +\& \-q / \-\-quiet +\& \-v / \-\-verbose +\& \-i / \-\-stdin +\& \-g / \-\-german +\& \-l / \-\-letter\-ordering +\& \-r / \-\-no\-ranges +\& \-d / \-\-debug (multiple times) +\& \-o / \-\-out\-file +\& \-t / \-\-log\-file +\& \-L / \-\-language +\& \-C / \-\-codepage +\& \-M / \-\-module (multiple times) +\& \-I / \-\-input\-markup (supported: latex, omega) +.Ve +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +\&\fBtexindy\fR is the LaTeX-specific command of xindy, the flexible +indexing system. It takes a raw index as input, and produces a merged, +sorted and tagged index. Merging, sorting, and tagging is controlled +by xindy modules, with a convenient set already preloaded. +.PP +Files with the raw index are passed as arguments. If no arguments are +passed, the raw index will be read from standard input. +.PP +A good introductionary description of \fBtexindy\fR appears in the +indexing chapter of the LaTeX Companion (2nd ed.) +.PP +If you want to produce an index for LaTeX documents with special index +markup, the command \fIxindy\fR\|(1) is probably more of interest for you. +.PP +\&\fBtexindy\fR is an approach to merge support for the \fImake-rules\fR +framework, own xindy modules (e.g., for special LaTeX commands in the +index), and a reasonable level of MakeIndex compatibility. There are +other older approaches, eventually they will get a description on the +xindy Web Site, http://www.xindy.org/. +.SH "OPTIONS" +.IX Header "OPTIONS" +.ie n .IP """\-\-version""\fR / \fB\-V" 4 +.el .IP "\f(CW\-\-version\fR / \fB\-V\fR" 4 +.IX Item "--version / -V" +output version numbers of all relevant components and exit. +.ie n .IP """\-\-help""\fR / \fB\-h\fR / \fB\-?" 4 +.el .IP "\f(CW\-\-help\fR / \fB\-h\fR / \fB\-?\fR" 4 +.IX Item "--help / -h / -?" +output usage message with options explanation. +.ie n .IP """\-\-quiet""\fR / \fB\-q" 4 +.el .IP "\f(CW\-\-quiet\fR / \fB\-q\fR" 4 +.IX Item "--quiet / -q" +Don't output progress messages. Output only error messages. +.ie n .IP """\-\-verbose""\fR / \fB\-v" 4 +.el .IP "\f(CW\-\-verbose\fR / \fB\-v\fR" 4 +.IX Item "--verbose / -v" +Output verbose progress messages. +.ie n .IP """\-\-debug""\fR \fImagic\fR / \fB\-d\fR \fImagic" 4 +.el .IP "\f(CW\-\-debug\fR \fImagic\fR / \fB\-d\fR \fImagic\fR" 4 +.IX Item "--debug magic / -d magic" +Output debug messages, this option may be specified multiple times. +\&\fImagic\fR determines what is output: +.Sp +.Vb 6 +\& magic remark +\& \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- +\& script internal progress messages of driver scripts +\& keep_tmpfiles don\*(Aqt discard temporary files +\& markup output markup trace, as explained in xindy manual +\& level=n log level, n is 0 (default), 1, 2, or 3 +.Ve +.ie n .IP """\-\-out\-file""\fR \fIoutfile.ind\fR / \fB\-o\fR \fIoutfile.ind" 4 +.el .IP "\f(CW\-\-out\-file\fR \fIoutfile.ind\fR / \fB\-o\fR \fIoutfile.ind\fR" 4 +.IX Item "--out-file outfile.ind / -o outfile.ind" +Output index to file \fIoutfile.ind\fR. If this option is not passed, the +name of the output file is the base name of the first argument and the +file extension \fIind\fR. If the raw index is read from standard input, +this option is mandatory. +.ie n .IP """\-\-log\-file""\fR \fIlog.ilg\fR / \fB\-t\fR \fIlog.ilg" 4 +.el .IP "\f(CW\-\-log\-file\fR \fIlog.ilg\fR / \fB\-t\fR \fIlog.ilg\fR" 4 +.IX Item "--log-file log.ilg / -t log.ilg" +Output log messages to file \fIlog.ilg\fR. These log messages are +independent from the progress messages that you can influence with +\&\f(CW\*(C`\-\-debug\*(C'\fR or \f(CW\*(C`\-\-verbose\*(C'\fR. +.ie n .IP """\-\-language""\fR \fIlang\fR / \fB\-L\fR \fIlang" 4 +.el .IP "\f(CW\-\-language\fR \fIlang\fR / \fB\-L\fR \fIlang\fR" 4 +.IX Item "--language lang / -L lang" +The index is sorted according to the rules of language \fIlang\fR. These +rules are encoded in a xindy module created by \fImake-rules\fR. +.Sp +If no input encoding is specified via \f(CW\*(C`\-\-codepage\*(C'\fR, a xindy module +for that language is searched with a latin, a cp, an iso, or ascii +encoding, in that order. +.ie n .IP """\-\-codepage""\fR \fIenc\fR / B <\-C> \fIenc" 4 +.el .IP "\f(CW\-\-codepage\fR \fIenc\fR / B <\-C> \fIenc\fR" 4 +.IX Item "--codepage enc / B <-C> enc" +The raw input is in input encoding \fIenc\fR. This information is used to +select the correct xindy sort module and also the \fIinputenc\fR target +encoding for \f(CW\*(C`latex\*(C'\fR input markup. +.Sp +When \f(CW\*(C`omega\*(C'\fR input markup is used, \f(CW\*(C`utf8\*(C'\fR is always used as the sort +codepage and no inputenc module is loaded. Then this option is +ignored. +.ie n .IP """\-\-module""\fR \fImodule\fR / \fB\-M\fR \fImodule" 4 +.el .IP "\f(CW\-\-module\fR \fImodule\fR / \fB\-M\fR \fImodule\fR" 4 +.IX Item "--module module / -M module" +Load the xindy module \fImodule.xdy\fR. This option may be specified +multiple times. The modules are searched in the xindy search path that +can be changed with the environment variable \f(CW\*(C`XINDY_SEARCHPATH\*(C'\fR. +.ie n .IP """\-\-input\-markup""\fR \fIinput\fR / \fB\-I\fR \fIinput" 4 +.el .IP "\f(CW\-\-input\-markup\fR \fIinput\fR / \fB\-I\fR \fIinput\fR" 4 +.IX Item "--input-markup input / -I input" +Specifies the input markup of the raw index. Supported values for +\&\fIinput\fR are \f(CW\*(C`latex\*(C'\fR and \f(CW\*(C`omega\*(C'\fR. +.Sp +\&\f(CW\*(C`latex\*(C'\fR input markup is the one that is emitted by default from the +LaTeX kernel, or by the \f(CW\*(C`index\*(C'\fR macro package of David Jones. +^^\-notation of single byte characters is supported. Usage of LaTeX's +\&\fIinputenc\fR package is assumed as well. +.Sp +\&\f(CW\*(C`omega\*(C'\fR input markup is like \f(CW\*(C`latex\*(C'\fR input markup, but with Omega's +^^\-notation as encoding for non-ASCII characters. LaTeX \fIinputenc\fR +encoding is not used then, and \f(CW\*(C`utf8\*(C'\fR is enforced to be the codepage +for sorting. +.SH "SUPPORTED LANGUAGES / CODEPAGES" +.IX Header "SUPPORTED LANGUAGES / CODEPAGES" +The following languages are supported: +.Sh "Latin scripts" +.IX Subsection "Latin scripts" +.Vb 10 +\& albanian gypsy portuguese +\& croatian hausa romanian +\& czech hungarian russian\-iso +\& danish icelandic slovak\-small +\& english italian slovak\-large +\& esperanto kurdish\-bedirxan slovenian +\& estonian kurdish\-turkish spanish\-modern +\& finnish latin spanish\-traditional +\& french latvian swedish +\& general lithuanian turkish +\& german\-din lower\-sorbian upper\-sorbian +\& german\-duden norwegian vietnamese +\& greek\-iso polish +.Ve +.PP +German recognizes two different sorting schemes to handle umlauts: +normally, \f(CW\*(C`a\*:\*(C'\fR is sorted like \f(CW\*(C`ae\*(C'\fR, but in phone books or +dictionaries, it is sorted like \f(CW\*(C`a\*(C'\fR. The first scheme is known as +\&\fI\s-1DIN\s0 order\fR, the second as \fIDuden order\fR. +.PP +\&\f(CW\*(C`*\-iso\*(C'\fR language names assume that the raw index entries are in \s-1ISO\s0 +8859\-9 encoding. +.PP +\&\f(CW\*(C`gypsy\*(C'\fR is a northern Russian dialect. +.Sh "Cyrillic scripts" +.IX Subsection "Cyrillic scripts" +.Vb 3 +\& belarusian mongolian serbian +\& bulgarian russian ukrainian +\& macedonian +.Ve +.Sh "Other scripts" +.IX Subsection "Other scripts" +.Vb 1 +\& greek klingon +.Ve +.Sh "Available Codepages" +.IX Subsection "Available Codepages" +This is not yet written. You can look them up in your xindy +distribution, in the \fImodules/lang/language/\fR directory (where +\&\fIlanguage\fR is your language). They are named +\&\fIvariant\-codepage\-lang.xdy\fR, where \fIvariant\-\fR is most often empty +(for german, it's \f(CW\*(C`din5007\*(C'\fR and \f(CW\*(C`duden\*(C'\fR; for spanish, it's \f(CW\*(C`modern\*(C'\fR +and \f(CW\*(C`traditional\*(C'\fR, etc.) +.PP +.Vb 1 +\& < Describe available codepages for each language > +\& +\& < Describe relevance of codepages (as internal representation) for +\& LaTeX inputenc > +.Ve +.SH "TEXINDY STANDARD MODULES" +.IX Header "TEXINDY STANDARD MODULES" +There is a set of \fBtexindy\fR standard modules that help to process +LaTeX index files. Some of them are automatically loaded. Some of them +are loaded by default, this can be turned off with a \fBtexindy\fR +option. Others may be specified as \f(CW\*(C`\-\-module\*(C'\fR argument to achieve a +specific effect. +.PP +.Vb 1 +\& xindy Module Category Description +.Ve +.Sh "Sorting" +.IX Subsection "Sorting" +.Vb 10 +\& word\-order Default A space comes before any letter in the +\& alphabet: \`\`index style\*(Aq\*(Aq is listed before +\& \`\`indexing\*(Aq\*(Aq. Turn it off with option \-l. +\& letter\-order Add\-on Spaces are ignored: \`\`index style\*(Aq\*(Aq +\& is sorted after \`\`indexing\*(Aq\*(Aq. +\& keep\-blanks Add\-on Leading and trailing white space (blanks +\& and tabs) are not ignored; intermediate +\& white space is not changed. +\& ignore\-hyphen Add\-on Hyphens are ignored: +\& \`\`ad\-hoc\*(Aq\*(Aq is sorted as \`\`adhoc\*(Aq\*(Aq. +\& ignore\-punctuation Add\-on All kinds of punctuation characters are +\& ignored: hyphens, periods, commas, slashes, +\& parentheses, and so on. +\& numeric\-sort Auto Numbers are sorted numerically, not like +\& characters: \`\`V64\*(Aq\*(Aq appears before \`\`V128\*(Aq\*(Aq. +.Ve +.Sh "Page Numbers" +.IX Subsection "Page Numbers" +.Vb 10 +\& page\-ranges Default Appearances on more than two consecutive +\& pages are listed as a range: \`\`1\-\-4\*(Aq\*(Aq. +\& Turn it off with option \-r. +\& ff\-ranges Add\-on Uses implicit \`\`ff\*(Aq\*(Aq notation for ranges +\& of three pages, and explicit ranges +\& thereafter: 2f, 2ff, 2\-\-6. +\& ff\-ranges\-only Add\-on Uses only implicit ranges: 2f, 2ff. +\& book\-order Add\-on Sorts page numbers with common book numbering +\& scheme correctly \-\- Roman numerals first, then +\& Arabic numbers, then others: i, 1, A. +.Ve +.Sh "Markup and Layout" +.IX Subsection "Markup and Layout" +.Vb 10 +\& tex Auto Handles basic TeX conventions. +\& latex\-loc\-fmts Auto Provides LaTeX formatting commands +\& for page number encapsulation. +\& latex Auto Handles LaTeX conventions, both in raw +\& index entries and output markup; implies +\& tex. +\& makeindex Auto Emulates the default MakeIndex input syntax +\& and quoting behavior. +\& latin\-lettergroups Auto Layout contains a single Latin letter +\& above each group of words starting with the +\& same letter. +\& german\-sty Add\-on Handles umlaut markup of babel\*(Aqs german +\& and ngerman options. +.Ve +.SH "COMPATIBILITY TO MAKEINDEX" +.IX Header "COMPATIBILITY TO MAKEINDEX" +\&\fBxindy\fR does not claim to be completely compatible with MakeIndex, +that would prevent some of its enhancements. That said, we strive to +deliver as much compatibility as possible. The most important +incompatibilities are +.IP "\(bu" 4 +For raw index entries in LaTeX syntax, \f(CW\*(C`\eindex{aaa|bbb}\*(C'\fR is +interpreted differently. For MakeIndex \f(CW\*(C`bbb\*(C'\fR is markup that is output +as a LaTeX tag for this page number. For \fBxindy\fR, this is a location +attribute, an abstract identifier that will be later associated with +markup that should be output for that attribute. +.Sp +For straight-forward usage, when \f(CW\*(C`bbb\*(C'\fR is \f(CW\*(C`textbf\*(C'\fR or similar, we +supply location attribute definitions that mimic MakeIndex's +behaviour. +.Sp +For more complex usage, when \f(CW\*(C`bbb\*(C'\fR is not an identifier, no such +compatibility definitions exist and may also not been created with +current \fBxindy\fR. In particular, this means that by default the LaTeX +package \f(CW\*(C`hyperref\*(C'\fR will create raw index files that cannot be +processed with \fBxindy\fR. This is not a bug, this is the unfortunate +result of an intented incompatibility. It is currently not possible to +get both hyperref's index links and use \fBxindy\fR. +.Sp +A similar situation is reported to exist for the \f(CW\*(C`memoir\*(C'\fR LaTeX +class. +.Sp +Programmers who know Common Lisp and Lex and want to work on a remedy +should please contact the author. +.IP "\(bu" 4 +The MakeIndex compatibility definitions support only the default raw +index syntax and markup definition. It is not possible to configure +raw index parsing or use a MakeIndex style file to describe output +markup. +.SH "ENVIRONMENT" +.IX Header "ENVIRONMENT" +.ie n .IP """TEXINDY_AUTO_MODULE""" 4 +.el .IP "\f(CWTEXINDY_AUTO_MODULE\fR" 4 +.IX Item "TEXINDY_AUTO_MODULE" +This is the name of the xindy module that loads all auto-loaded +modules. The default is \f(CW\*(C`texindy\*(C'\fR. +.SH "AUTHOR" +.IX Header "AUTHOR" +Joachim Schrod +.SH "LEGALESE" +.IX Header "LEGALESE" +\&\fBtexindy\fR is free software; you can redistribute it and/or modify it +under the terms of the \s-1GNU\s0 General Public License as published by the +Free Software Foundation; either version 2 of the License, or (at your +option) any later version. +.PP +This program is distributed in the hope that it will be useful, +but \s-1WITHOUT\s0 \s-1ANY\s0 \s-1WARRANTY\s0; without even the implied warranty of +\&\s-1MERCHANTABILITY\s0 or \s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0. See the +\&\s-1GNU\s0 General Public License for more details. diff --git a/Master/texmf-dist/doc/man/man1/texindy.man1.pdf b/Master/texmf-dist/doc/man/man1/texindy.man1.pdf Binary files differnew file mode 100644 index 00000000000..a5dea855ff8 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/texindy.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/texlinks.1 b/Master/texmf-dist/doc/man/man1/texlinks.1 new file mode 100644 index 00000000000..75e7effcb15 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/texlinks.1 @@ -0,0 +1,66 @@ +.TH "texlinks" "8" "November 2007" "teTeX" "teTeX" +.PP +.SH "NAME" +texlinks \- maintain symbolic links from format to engine +.PP +.SH "SYNOPSIS" +.PP +\fBtexlinks\fP [ \fIOPTIONS\fP\&.\&.\&. ] \fIDIRECTORIES\fP\&.\&.\&. +.PP +.SH "DESCRIPTION" +.PP +\fBtexlinks\fP is used to create or recreate symbolic links from +formats to engines according to the information in +\fIfmtutil\&.cnf\fP or a file specified with \fB--cnffile\fP\&. +.PP +\fIDIRECTORIES\fP is an optional list of directories in which to +operate\&. If no directories are specified the list of directories +depends on the \fB--multiplatform\fP option\&. +.PP +.SH "OPTIONS" +.PP +.IP "\fB--cnffile\fP \fIFILE\fP or \fB-f\fP \fIFILE\fP" +use file as configuration file (default: +\fIfmtutil\&.cnf\fP) +.IP "\fB--help\fP or \fB-h\fP" +show some help text +.IP "\fB--multiplatform\fP or \fB-m\fP" +operate in all +platform-specific directories (default: +operate only in the directory for this +platform) +.IP "\fB--silent\fP or \fB-s\fP" +silently skip over existing +scripts/binaries instead of printing a warning +.IP "\fB--unlink\fP or \fB-u\fP" +Unlink previously created symlinks +.IP "\fB--verbose\fP or \fB-v\fP" ++set verbose mode on (default: off) +.PP +.SH "FILES" +.PP +.IP "\fIfmtutil\&.cnf\fP" +default configuration file +.PP +.SH "SEE ALSO" +.PP +\fBfmtutil\fP(1), \fBfmtutil\&.cnf\fP(5) +.PP +Web page: <http://tug\&.org/teTeX/> +.PP +.SH "BUGS" +.PP +None known, but report any bugs found to <tex-k@tug\&.org> (mailing list)\&. +.PP +.SH "AUTHOR" +.PP +\fBtexlinks\fP was written by Thomas Esser +<te@dbs\&.uni-hannover\&.de> in 1999\&. +\fBtexlinks\fP has been released into the public domain\&. +.PP +This manual page was written by C\&.M\&. Connelly +<c@eskimo\&.com>, for +the Debian GNU/Linux system\&. It may be used by other distributions +without contacting the author\&. Any mistakes or omissions in the +manual page are my fault; inquiries about or corrections to this +manual page should be directed to me (and not to the primary author)\&. diff --git a/Master/texmf-dist/doc/man/man1/texlinks.man1.pdf b/Master/texmf-dist/doc/man/man1/texlinks.man1.pdf Binary files differnew file mode 100644 index 00000000000..b6be384c6f9 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/texlinks.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/texlua.1 b/Master/texmf-dist/doc/man/man1/texlua.1 new file mode 100644 index 00000000000..0dbf6fb682e --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/texlua.1 @@ -0,0 +1 @@ +.so man1/luatex.1 diff --git a/Master/texmf-dist/doc/man/man1/texlua.man1.pdf b/Master/texmf-dist/doc/man/man1/texlua.man1.pdf Binary files differnew file mode 100644 index 00000000000..b3ac63389c1 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/texlua.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/texluac.1 b/Master/texmf-dist/doc/man/man1/texluac.1 new file mode 100644 index 00000000000..0dbf6fb682e --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/texluac.1 @@ -0,0 +1 @@ +.so man1/luatex.1 diff --git a/Master/texmf-dist/doc/man/man1/texluac.man1.pdf b/Master/texmf-dist/doc/man/man1/texluac.man1.pdf Binary files differnew file mode 100644 index 00000000000..6ac45a45ef8 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/texluac.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/texmfstart.1 b/Master/texmf-dist/doc/man/man1/texmfstart.1 new file mode 100644 index 00000000000..e99ab230bd1 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/texmfstart.1 @@ -0,0 +1,362 @@ +.TH "TEXMFSTART" "1" "December 2006" "texmfstart 2.0" "ConTeXt" +.de URL +\\$2 \(laURL: \\$1 \(ra\\$3 +.. +.if \n[.g] .mso www.tmac +.de EX +.in +3 +.nf +.ft CW +.. +.de EE +.in -3 +.ft R +.fi +.. + +.SH "NAME" +texmfstart \- run ConTeXt scripts, make ConTeXt wrapper scripts, view documents + +.SH "SYNOPSIS" +\fB texmfstart\fP [ \fIoptions ...\fP ] [ \fIfilename\fP ] [ \fIarguments ...\fP ] + +.SH "DESCRIPTION" +ConTeXt is a typesetting system based on the +.BR tex (1) +family of programs. +.B texmfstart +is a ConTeXt meta-script that can run subordinate +scripts (subscripts?) such as +.BR texexec (1), +.BR ctxtools (1), +or +.BR pdftools (1). +It can also generate short wrapper scripts to simplify common uses. +These scripts are often called +.I stubs +in the ConTeXt documentation. The options control +.BR texmfstart 's +behaviour, and the arguments are passed +to the program identified by +.IR filename . + +If the filename is a document, then +.B texmfstart +will start a viewer for that document. For example: +.EX +texmfstart showcase.pdf +.EE +will start an appropriate viewer for +.IR showcase.pdf . +See the +.B EXAMPLES +section. + +.SH OPTIONS + +.SS General: +.TP +.B --help, --version +print version information, usage, and examples. +.TP +.B --verbose +print status and progress information, for example what commands are +being executed. +.TP +.B --clear +don't pass info about locations to child processes. + +.SS Running a program: +.TP +.B --arguments=\fIstr\fP +an alternative for providing the arguments to be passed. For example, +.EX +texmfstart --arguments=b.tex texexec +.EE +will pass +.I b.tex +as the argument to +.BR texexec . +.TP +.B --report +dry run: report what command would be run, but do not run it +.TP +.B --locate +dry run: like \f(CW--report\fP but doesn't print the trailing newline. +.TP +.B --browser +view the document in a web browser (for Windows). +.TP +.B --file=\fIfilename\fP +an alternative way to specify the file (the program to run or document +to open). +.TP +.B --direct +run a program without searching for its location (assumes that the +program is on the PATH). +.TP +.B --execute +use the +.BR ruby (1) +.I exec +function instead of its +.I system +function. +.TP +.B --program=\fIstr\fP +the program space where +.BR kpsewhich (1) +will search (default: context). This information is given to +.B kpsewhich +as its \f(CW-progname\fP option. Usually you don't need this option. + +.SS Creating startup scripts: +.TP +.B --make +create a wrapper script or batch file to run the given file. +The wrapper scripts are put in the current path, which usually means +the current directory. If +\fIall\fP is given as the file, e.g. +.EX +texmfstart --make all +.EE +then make all the ConTeXt wrapper scripts (the stubs). +.TP +.B --windows +when making a wrapper script (stub), create a Windows batch (.bat) file. +Usually you +do not need to specify this option, as +.B texmfstart +will figure out what operating system you are using. +.TP +.B --linux +when making a wrapper script, create a Unix shell script. Usually you +do not need to specify this option, as +.B texmfstart +will figure out what operating system you are using. +.TP +.B --stubpath=\fIpath\fP +specify where to put the wrapper scripts (stubs). +.TP +.B --indirect +always use +.I texmfstart +in the wrapper script (stub). + +.SS Document viewing: +.TP +.B --page=\fInumber\fP +open the document at this page. + +.SS Environments and paths: +.TP +.B --path=\fIstr\fP +change to the specified path. +.TP +.B --tree=\fIstr\fP +use the given TEXMF tree. +.TP +.B --autotree +automatically determine the TEXMF tree to use (the default). +.TP +.B --environment=\fIstr\fP +use the given environment file. Its syntax is given in the +.I mtexmfstart.pdf +manual. +.TP +.B --showenv +print the environment variables known at runtime + +.SS Conditional execution: +.TP +.B --iftouched=\fIfile1,file2\fP +run only when the given files have different timestamps. +.TP +.B --ifchanged=\fIstr\fP +run only when the given file has changed (based on its last-computed MD5 +checksum). + +.SS Special features: +.TP +.B --edit +open the given file in an editor. + +.SH "FILENAME PREFIXES" +.SS +Optional prefixes determine the method used to search for the specified file: +.TP +.I bin:filename +expanded name based on the PATH environment variable +.TP +.I kpse:filename +expanded name based on +.BR kpsewhich (1) +result +.TP +.I rel:filename +expanded name relative to the current directory +.TP +.I env:name +expanded pathname based on environment variable +.I name +.TP +.I path:filename +path part of filename as located by +.BR kpsewhich (1) + +.SH EXAMPLES +.TP +\f(CWtexmfstart texexec.rb file.tex\fP +Locate the +.I texexec.rb +script and run it with +.I file.tex +as its argument. In other words, make +.I file.pdf +from +.IR file.tex . +If +.BR texexec (1) +is properly installed on your system, +this common invocation can be shortened to +.EX +\f(CWtexexec file.tex\fP +.EE +.TP +\f(CWtexmfstart texexec file.tex\fP +Locate the +.BR texexec (1) +program (currently a +.BR ruby (1) +script, +.IR texexec.rb ) +and run it with +.I file.tex +as its argument, producing +.I file.pdf. +This invocation can be shortened to +.EX +texexec file.tex +.EE +.TP +\f(CWtexmfstart ctxtools --updatecontext\fP +Run the +.BR ctxtools (1) +script, updating the ConTeXt installation. This +invocation is equivalent to +.EX +ctxtools --updatecontext +.EE +.TP +\f(CWtexmfstart pstopdf --method=3 cow.eps\fP +Convert +.I cow.eps +to PDF using method 3 of +.BR pstopdf (1). +This invocation is equivalent to +.EX +pstopdf --method=3 cow.eps +.EE +.TP +\f(CWtexmfstart --make --stubpath=/usr/local/bin texexec\fP +Make a wrapper script (stub), either a shell script +.I /usr/local/bin/texexec +on Unix, or a batch file \fI\\usr\\local\\bin\\texexec.bat\fP +on Windows. On Unix (and maybe on Windows?), you need to make +the script executable; see +.BR chmod (1). +.TP +\f(CWtexmfstart --edit kpse:cont-sys.tex\fP +Locate and edit the \fIcont-sys.tex\fP configuration file. +.TP +\f(CWtexmfstart --ifchanged=whatever.mp texexec --mpgraphic whatever.mp\fP +Rerun +.B texexec +if +.I whatever.mp +has changed since the last use of +.IR --ifchanged . +.TP +\f(CWtexmfstart --ifchanged=whatever.mp bin:echo rerun MetaPost\fP +If the +.I whatever.mp +source file has changed since the last use of +.IR --ifchanged , +then use the +.BR echo (1) +command to tell the user to rerun MetaPost +.RB "(see " mpost (1)). +This example shows that +.B texmfstart +can be used to run any script, not just ConTeXt scripts. The +\f(CWbin:\fP prefix tells +.B texmfstart +not to search for +.I echo +in the TEXMF tree(s), but to assume that it's an executable somewhere +on the PATH. +.TP +\f(CWtexmfstart --ifchanged=whatever.mp --direct echo rerun MetaPost\fP +This invocation has the same effect as the preceding example, but +using \f(CW--direct\fP instead of the \f(CWbin:\fP prefix, again to tell +.B texmfstart +not to search for the +.I echo +command. + +.SH FILES +.TP +.I file.md5 +MD5 checksum file used for the \f(CW--ifchanged\fP option. + +.SH ENVIRONMENT +.TP +PATH +For expanding filenames given with a +.I bin +prefix. +.TP +TEXMFSTART_EDITOR, EDITOR, editor +Editor to use with +.IR --edit . +The environment variables are looked up in that order, with the first +setting found taking priority. + +.SH "SEE ALSO" +.PP +.BR ctxtools (1), +.BR kpsewhich (1), +.BR makempy (1), +.BR mpost (1), +.BR pdftools (1), +.BR pstopdf (1), +.BR texexec (1), +.BR texfont (1), +.BR texutil (1). +.PP +.URL "http://www.contextgarden.net" "ConTeXt wiki" . +.PP +The +.B texmfstart +manual, +.IR mtexmfstart.pdf , +available from +.URL "http://www.pragma-ade.com/dir/general/manuals/" "PRAGMA ADE" . + +.SH BUGS +On Unix, opening a PDF document first tries +.B pdfopen +then +.BR acroread , +neither of which may be present on your system. + +The \f(CW--report\fP option doesn't work if you specify a filename +prefix (i.e. it does a real run instead of a dry run). + +.SH "AUTHOR" +ConTeXt is written and maintained by +.URL "http://www.pragma-ade.com" "Hans Hagen" . +This man page, which is in the public domain, was written by Sanjoy +Mahajan <sanjoy@mit.edu> based on the +.I mtexmfstart.pdf +manual. diff --git a/Master/texmf-dist/doc/man/man1/texmfstart.man1.pdf b/Master/texmf-dist/doc/man/man1/texmfstart.man1.pdf Binary files differnew file mode 100644 index 00000000000..9e34aaa82b2 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/texmfstart.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/tftopl.1 b/Master/texmf-dist/doc/man/man1/tftopl.1 new file mode 100644 index 00000000000..45a872b363a --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/tftopl.1 @@ -0,0 +1,108 @@ +.TH TFTOPL 1 "17 December 1994" "Web2C 2012" +.\"===================================================================== +.if n .ds MF Metafont +.if t .ds MF M\s-2ETAFONT\s0 +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.el .ds OX TeX for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.\"===================================================================== +.SH NAME +tftopl \- convert TeX font metric (tfm) files to property lists +.SH SYNOPSIS +.B tftopl +.RI [ OPTIONS ] +.IR tfm_name [ \fB.tfm\fP ] +.RI [ pl_name [ \fB.pl\fP ]] +.\"===================================================================== +.SH DESCRIPTION +This manual page is not meant to be exhaustive. The complete +documentation for this version of \*(TX can be found in the info file +or manual +.IR "Web2C: A TeX implementation" . +.PP +The +.B tftopl +program translates a (program-oriented) font metric file to a +(human-oriented) property list file. Thus, you can edit the contents of +the TFM files, if the font designer has not done his or her job +properly, or if you're encountering strange difficulties, or if you're +just curious. It also serves as a TFM-file validating program, i.e., if +no error messages are given, the input file is correct. +.PP +The +.I pl_name +is extended with +.B .pl +if it lacks a suffix. +If +.I pl_name +is not given, standard output is used. Likewise, +.I tfm_name +is extended with +.B .tfm +if it lacks a suffix. Also, path searching is done for the TFM file +using the environment variable TEXFONTS. If that is not set, +.B tftopl +uses the system default. +.PP +See +.BR tex (1) +for the details of the searching. +.\"===================================================================== +.SH OPTIONS +.TP +.BI \-charcode-format= format +The argument +.I format +specifies how character codes are output in the PL file. By +default, only letters and digits are output using the +.B C +integer code (i.e., in ASCII); the others are output in octal. (Unless +the font's coding scheme starts with +.B "TeX math sy" +or +.BR "TeX math ex" , +in which case all character codes are output in octal.) If +.I format +is +.BR ascii , +all character codes that correspond to graphic characters, besides the +left and right parentheses, are output in ASCII. Finally, if +.I format +is +.BR octal , +all character codes are output in octal. +.PP +.TP +.B \-verbose +Without this option, +.B tftopl +operates silently. With it, a banner and progress report are printed on +.IR stdout . +.\"===================================================================== +.SH "SEE ALSO" +.BR pltotf (1), +.br +Donald E. Knuth, +.IR "\*(OXware" . +.br +Donald E. Knuth, +.I "The \*(MFbook" +(Volume C of +.IR "Computers and Typesetting" ), +Addison-Wesley, 1986, ISBN 0-201-13445-4. +.\"===================================================================== +.SH AUTHORS +Donald E. Knuth wrote the program. It was published as +part of the +.I \*(OXware +technical report, available from the \*(TX Users Group. +Howard Trickey and Pavel Curtis originally ported it to Unix. diff --git a/Master/texmf-dist/doc/man/man1/tftopl.man1.pdf b/Master/texmf-dist/doc/man/man1/tftopl.man1.pdf Binary files differnew file mode 100644 index 00000000000..b9deb0a252d --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/tftopl.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/thumbpdf.1 b/Master/texmf-dist/doc/man/man1/thumbpdf.1 new file mode 100644 index 00000000000..d1d7e358f9a --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/thumbpdf.1 @@ -0,0 +1,100 @@ +.TH "thumbpdf" "1" "September 2000" "teTeX" "teTeX" +.PP +.SH "NAME" +thumbpdf \- generate thumbnail images for a PDF file +created with \fBpdftex\fP +.PP +.SH "SYNOPSIS" +.PP +\fBthumbpdf\fP [ \fIOPTION\fP\&.\&.\&. ] \fIPDF_FILE\fP +.PP +.SH "DESCRIPTION" +.PP +\fBthumbpdf\fP is used to create thumbnail images of individual pages +within a PDF (Portable Document Format) document\&. +.PP +.SH "USAGE" +.PP +First run \fBpdftex\fP(1) on your document to create a PDF file\&. +Then run \fBthumbpdf\fP to generate the thumbnails, a PDF file +containing the thumbnails, and a pdfTeX file to include the thumbnails +in the PDF file\&. Finally, run \fBpdftex\fP(1) on your file again to +create the final PDF file\&. +.PP +\fBthumbpdf\fP calls \fBgs\fP(1) to generate PNG images of the pages +within \fIPDF_FILE\fP, and \fBpdftex\fP(1) to create a PDF file +containing the thumbnail images\&. +.PP +.SH "OPTIONS" +.PP +.IP "\fB--help\fP" +print usage +.IP "\fB--(no)makepng\fP" +make PNG thumbnail images (default: true) +.IP "\fB--(no)makepdf\fP" +generate new PDF file containing the +thumbnails (default: true) +.IP "\fB--(no)makedef\fP" +create a TeX file for \fBpdftex\fP(1) to +read in (default: true) +.IP "\fB--(no)quiet\fP" +suppress messages (default: false) +.IP "\fB--(no)verbose\fP" +verbose messages (default: false) +.IP "\fB--(no)debug\fP" +print debugging information while parsing +(default: false) +.IP "\fB--resolution\fP \fIres\fP" +resolution for GhostScript step +(default: 9) +.IP "\fB--compress\fP \fIn\fP" +\epdfcompresslevel for \fBthumbpdf\&.pdf\fP +(0-9; default: 9) +.IP "\fB--device\fP | \fBpng\fP\fIdev\fP" +GhostScript PNG device; +\fIdev\fP = `mono\', `gray\', +`16\', `256\', `16m\' (default: +`png16m\') +.PP +.SH "FILES" +.PP +.IP "\fIthumb\fPnn\fI\&.png\fP" +PNG thumbnail images +.IP "\fIthumbpdf\&.pdf\fP" +PDF file containing thumbnail images +.IP "\fIthumbpdf\&.tex\fP" +A pdfTeX program to include the thumbnails +file +.IP "\fIthumbpdf\&.log\fP" +pdfTeX log file +.IP "\fIthumbpdf\&.sty\fP" +a LaTeX package to be included in files +for which a user wants to generate thumbnails +.PP +.SH "SEE ALSO" +.PP +\fBgs\fP(1), \fBpdftex\fP(1)\&. +.PP +Web page: <http://tug\&.org/teTeX/> +.PP +.SH "BUGS" +.PP +None known, but report any bugs found to the author\&. +.PP +.SH "COPYRIGHT" +.PP +Copyright © 1999\&. \fBthumbpdf\fP is distributed under +version 1, or (at your option) a later version of the LaTeX Project +Public License\&. +.PP +.SH "AUTHOR" +.PP +\fBthumbpdf\fP was written by Heiko Oberdiek +<oberdiek@ruf\&.uni-freiburg\&.de>\&. +.PP +This manual page was written by C\&.M\&. Connelly +<c@eskimo\&.com>, for +the Debian GNU/Linux system\&. It may be used by other distributions +without contacting the author\&. Any mistakes or omissions in the +manual page are my fault; inquiries about or corrections to this +manual page should be directed to me (and not to the primary author)\&. diff --git a/Master/texmf-dist/doc/man/man1/thumbpdf.man1.pdf b/Master/texmf-dist/doc/man/man1/thumbpdf.man1.pdf Binary files differnew file mode 100644 index 00000000000..a9364053792 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/thumbpdf.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/tie.1 b/Master/texmf-dist/doc/man/man1/tie.1 new file mode 100644 index 00000000000..ca00ca77c70 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/tie.1 @@ -0,0 +1,52 @@ +.TH TIE 1 "7 April 2010" "Web2C 2012" +.\"===================================================================== +.SH NAME +tie \- merge or apply WEB change files +.\"===================================================================== +.SH SYNOPSIS +.B tie +.BR \-c | \-m +.I outputfile masterfile +.IR changefile .\|.\|. +.\"===================================================================== +.SH DESCRIPTION +The +.B tie +program is used to process multiple change files used with the WEB +system for literate programming. The WEB programs allow to apply +patches to a source file (the +.IR masterfile ) +by means of a number of change files (often only a single change file +is allowed). +.B Tie +can be used to either merge up to 32 change files into a single one +or to apply the changes to the +.I masterfile +in order to create a new one. Output of either the new change file or +the patched master file goes into +.IR outputfile . +.\"===================================================================== +.SH OPTIONS +.TP +.B \-c +Create a single change file from the given +.IR changefile s. +.TP +.B \-m +Create a new master file by applying the given +.IR changefile s. +.\"===================================================================== +.SH ENVIRONMENT +The environment variable WEBINPUTS is used to search for the input files, +or the system default if WEBINPUTS is not set. See +.BR tex (1) +for the details of the searching. +.\"===================================================================== +.SH "SEE ALSO" +.BR web (1), +.BR ctie (1), +.BR cweb (1). +.\"===================================================================== +.SH "AUTHOR" +Klaus Guntermann, TH Darmstadt, Institut f. Theoretische Informatik. Man page +by Joachim Schnitter, TH Darmstadt, Phys. Chemie I. diff --git a/Master/texmf-dist/doc/man/man1/tie.man1.pdf b/Master/texmf-dist/doc/man/man1/tie.man1.pdf Binary files differnew file mode 100644 index 00000000000..8da238113cf --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/tie.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/tlmgr.1 b/Master/texmf-dist/doc/man/man1/tlmgr.1 new file mode 100644 index 00000000000..a30588224e3 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/tlmgr.1 @@ -0,0 +1,1655 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "TLMGR 1" +.TH TLMGR 1 "2013-04-02" "perl v5.16.3" "User Contributed Perl Documentation" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +tlmgr \- the TeX Live Manager +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +tlmgr [\fIoption\fR]... \fIaction\fR [\fIoption\fR]... [\fIoperand\fR]... +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +\&\fBtlmgr\fR manages an existing TeX Live installation, both packages and +configuration options. For information on initially downloading and +installing TeX Live, see <http://tug.org/texlive/acquire.html>. +.PP +The most up-to-date version of this documentation (updated nightly from +the development sources) is available at +<http://tug.org/texlive/tlmgr.html>, along with procedures for updating +\&\f(CW\*(C`tlmgr\*(C'\fR itself and information about test versions. +.PP +TeX Live is organized into a few top-level \fIschemes\fR, each of which is +specified as a different set of \fIcollections\fR and \fIpackages\fR, where a +collection is a set of packages, and a package is what contains actual +files. Schemes typically contain a mix of collections and packages, but +each package is included in exactly one collection, no more and no less. +A TeX Live installation can be customized and managed at any level. +.PP +See <http://tug.org/texlive/doc> for all the TeX Live documentation +available. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +After successfully installing TeX Live, here are a few common operations +with \f(CW\*(C`tlmgr\*(C'\fR: +.ie n .IP """tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet""" 4 +.el .IP "\f(CWtlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet\fR" 4 +.IX Item "tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet" +Tell \f(CW\*(C`tlmgr\*(C'\fR to use a nearby \s-1CTAN\s0 mirror for future updates; useful if +you installed TeX Live from the \s-1DVD\s0 image and want continuing updates. +.ie n .IP """tlmgr update \-\-list""" 4 +.el .IP "\f(CWtlmgr update \-\-list\fR" 4 +.IX Item "tlmgr update --list" +Report what would be updated without actually updating anything. +.ie n .IP """tlmgr update \-\-all""" 4 +.el .IP "\f(CWtlmgr update \-\-all\fR" 4 +.IX Item "tlmgr update --all" +Make your local TeX installation correspond to what is in the package +repository (typically useful when updating from \s-1CTAN\s0). +.ie n .IP """tlmgr info"" \fIpkg\fR" 4 +.el .IP "\f(CWtlmgr info\fR \fIpkg\fR" 4 +.IX Item "tlmgr info pkg" +Display detailed information about \fIpkg\fR, such as the installation +status and description. +.PP +For all the capabilities and details of \f(CW\*(C`tlmgr\*(C'\fR, please read the +following voluminous information. +.SH "OPTIONS" +.IX Header "OPTIONS" +The following options to \f(CW\*(C`tlmgr\*(C'\fR are global options, not specific to +any action. All options, whether global or action-specific, can be +given anywhere on the command line, and in any order. The first +non-option argument will be the main action. In all cases, +\&\f(CW\*(C`\-\-\*(C'\fR\fIoption\fR and \f(CW\*(C`\-\*(C'\fR\fIoption\fR are equivalent, and an \f(CW\*(C`=\*(C'\fR is optional +between an option name and its value. +.IP "\fB\-\-repository\fR \fIurl|path\fR" 4 +.IX Item "--repository url|path" +Specifies the package repository from which packages should be installed +or updated, overriding the default package repository found in the +installation's TeX Live Package Database (a.k.a. the \s-1TLPDB\s0, defined +entirely in the file \f(CW\*(C`tlpkg/texlive.tlpdb\*(C'\fR). The documentation for +\&\f(CW\*(C`install\-tl\*(C'\fR has more details about this +(http://tug.org/texlive/doc/install\-tl.html <http://tug.org/texlive/doc/install-tl.html>). +.Sp +\&\f(CW\*(C`\-\-repository\*(C'\fR changes the repository location only for the current +run; to make a permanent change, use \f(CW\*(C`option repository\*(C'\fR (see the +option action). +.Sp +For backward compatibility and convenience, \f(CW\*(C`\-\-location\*(C'\fR and \f(CW\*(C`\-\-repo\*(C'\fR +are accepted as aliases for this option. +.IP "\fB\-\-gui\fR [\fIaction\fR]" 4 +.IX Item "--gui [action]" +\&\f(CW\*(C`tlmgr\*(C'\fR has a graphical interface as well as the command-line +interface. You can give this option, \f(CW\*(C`\-\-gui\*(C'\fR, together with an action +to be brought directly into the respective screen of the \s-1GUI\s0. For +example, running +.Sp +.Vb 1 +\& tlmgr \-\-gui update +.Ve +.Sp +starts you directly at the update screen. Without any action, the +\&\s-1GUI\s0 will be started at the main screen. +.IP "\fB\-\-gui\-lang\fR \fIllcode\fR" 4 +.IX Item "--gui-lang llcode" +By default, the \s-1GUI\s0 tries to deduce your language from the environment +(on Windows via the registry, on Unix via \f(CW\*(C`LC_MESSAGES\*(C'\fR). If that fails +you can select a different language by giving this option with a +language code (based on \s-1ISO\s0 639\-1). Currently supported (but not +necessarily completely translated) are: English (en, default), Czech +(cs), German (de), French (fr), Italian (it), Japanese (ja), Dutch (nl), +Polish (pl), Brazilian Portuguese (pt_BR), Russian (ru), Slovak (sk), +Slovenian (sl), Serbian (sr), Vietnamese (vi), simplified Chinese +(zh_CN), and traditional Chinese (zh_TW). +.IP "\fB\-\-machine\-readable\fR" 4 +.IX Item "--machine-readable" +Instead of the normal output intended for human consumption, write (to +standard output) a fixed format more suitable for machine parsing. See +the \*(L"MACHINE-READABLE \s-1OUTPUT\s0\*(R" section below. +.IP "\fB\-\-package\-logfile\fR \fIfile\fR" 4 +.IX Item "--package-logfile file" +\&\f(CW\*(C`tlmgr\*(C'\fR logs all package actions (install, remove, update, failed +updates, failed restores) to a separate log file, by default +\&\f(CW\*(C`TEXMFSYSVAR/web2c/tlmgr.log\*(C'\fR. This option allows you to specific a +different file for the log. +.IP "\fB\-\-pause\fR" 4 +.IX Item "--pause" +This option makes \f(CW\*(C`tlmgr\*(C'\fR wait for user input before exiting. Useful on +Windows to avoid disappearing command windows. +.IP "\fB\-\-persistent\-downloads\fR" 4 +.IX Item "--persistent-downloads" +.PD 0 +.IP "\fB\-\-no\-persistent\-downloads\fR" 4 +.IX Item "--no-persistent-downloads" +.PD +For network-based installations, this option (on by default) makes +\&\f(CW\*(C`tlmgr\*(C'\fR try to set up a persistent connection (using the Net::LWP +Perl module). The idea is to open and reuse only one connection per +session between your computer and the server, instead of initiating a +new download for each package. +.Sp +If this is not possible, \f(CW\*(C`tlmgr\*(C'\fR will fall back to using \f(CW\*(C`wget\*(C'\fR. To +disable these persistent connections, use \f(CW\*(C`\-\-no\-persistent\-downloads\*(C'\fR. +.IP "\fB\-\-no\-execute\-actions\fR" 4 +.IX Item "--no-execute-actions" +Suppress the execution of the execute actions as defined in the tlpsrc +files. Documented only for completeness, as this is only useful in +debugging. +.IP "\fB\-\-debug\-translation\fR" 4 +.IX Item "--debug-translation" +In \s-1GUI\s0 mode, this switch makes \f(CW\*(C`tlmgr\*(C'\fR report any missing, or more +likely untranslated, messages to standard error. This can help +translators to see what remains to be done. +.PP +The standard options for TeX Live programs are also accepted: +\&\f(CW\*(C`\-\-help/\-h/\-?\*(C'\fR, \f(CW\*(C`\-\-version\*(C'\fR, \f(CW\*(C`\-q\*(C'\fR (no informational messages), \f(CW\*(C`\-v\*(C'\fR +(debugging messages, can be repeated). For the details about these, see +the TeXLive::TLUtils documentation. +.PP +The \f(CW\*(C`\-\-version\*(C'\fR option shows version information about the TeX Live +release and about the \f(CW\*(C`tlmgr\*(C'\fR script itself. If \f(CW\*(C`\-v\*(C'\fR is given as +well, revision number for the used TeX Live Perl modules are shown, too. +.SH "ACTIONS" +.IX Header "ACTIONS" +.SS "help" +.IX Subsection "help" +Gives this help information (same as \f(CW\*(C`\-\-help\*(C'\fR). +.SS "version" +.IX Subsection "version" +Gives version information (same as \f(CW\*(C`\-\-version\*(C'\fR). +.PP +If \f(CW\*(C`\-v\*(C'\fR has been given the revisions of the used modules are reported, too. +.SS "backup [\-\-clean[=\fIN\fP]] [\-\-backupdir \fIdir\fP] [\-\-all | \fIpkg\fP]..." +.IX Subsection "backup [--clean[=N]] [--backupdir dir] [--all | pkg]..." +If the \f(CW\*(C`\-\-clean\*(C'\fR option is not specified, this action makes a backup of +the given packages, or all packages given \f(CW\*(C`\-\-all\*(C'\fR. These backups are +saved to the value of the \f(CW\*(C`\-\-backupdir\*(C'\fR option, if that is an existing and +writable directory. If \f(CW\*(C`\-\-backupdir\*(C'\fR is not given, the \f(CW\*(C`backupdir\*(C'\fR +option setting in the \s-1TLPDB\s0 is used, if present. If both are missing, +no backups are made. +.PP +If the \f(CW\*(C`\-\-clean\*(C'\fR option is specified, backups are pruned (removed) +instead of saved. The optional integer value \fIN\fR may be specified to +set the number of backups that will be retained when cleaning. If \f(CW\*(C`N\*(C'\fR +is not given, the value of the \f(CW\*(C`autobackup\*(C'\fR option is used. If both are +missing, an error is issued. For more details of backup pruning, see +the \f(CW\*(C`option\*(C'\fR action. +.PP +Options: +.IP "\fB\-\-backupdir\fR \fIdirectory\fR" 4 +.IX Item "--backupdir directory" +Overrides the \f(CW\*(C`backupdir\*(C'\fR option setting in the \s-1TLPDB\s0. +The \fIdirectory\fR argument is required and must specify an existing, +writable directory where backups are to be placed. +.IP "\fB\-\-all\fR" 4 +.IX Item "--all" +If \f(CW\*(C`\-\-clean\*(C'\fR is not specified, make a backup of all packages in the TeX +Live installation; this will take quite a lot of space and time. If +\&\f(CW\*(C`\-\-clean\*(C'\fR is specified, all packages are pruned. +.IP "\fB\-\-clean\fR[=\fIN\fR]" 4 +.IX Item "--clean[=N]" +Instead of making backups, prune the backup directory of old backups, as +explained above. The optional integer argument \fIN\fR overrides the +\&\f(CW\*(C`autobackup\*(C'\fR option set in the \s-1TLPDB\s0. You must use \f(CW\*(C`\-\-all\*(C'\fR or a list +of packages together with this option, as desired. +.IP "\fB\-\-dry\-run\fR" 4 +.IX Item "--dry-run" +Nothing is actually backed up or removed; instead, the actions to be +performed are written to the terminal. +.SS "candidates" +.IX Subsection "candidates" +.IP "\fBcandidates \f(BIpkg\fB\fR" 4 +.IX Item "candidates pkg" +Shows the available candidate repositories for package \fIpkg\fR. +See \*(L"\s-1MULTIPLE\s0 \s-1REPOSITORIES\s0\*(R" below. +.SS "check [\fIoption\fP]... [files|depends|executes|runfiles|all]" +.IX Subsection "check [option]... [files|depends|executes|runfiles|all]" +Executes one (or all) check(s) on the consistency of the installation. +.IP "\fBfiles\fR" 4 +.IX Item "files" +Checks that all files listed in the local \s-1TLPDB\s0 (\f(CW\*(C`texlive.tlpdb\*(C'\fR) are +actually present, and lists those missing. +.IP "\fBdepends\fR" 4 +.IX Item "depends" +Lists those packages which occur as dependencies in an installed collections, +but are themselves not installed, and those packages that are not +contained in any collection. +.Sp +If you call \f(CW\*(C`tlmgr check collections\*(C'\fR this test will be carried out +instead since former versions for \f(CW\*(C`tlmgr\*(C'\fR called it that way. +.IP "\fBexecutes\fR" 4 +.IX Item "executes" +Check that the files referred to by \f(CW\*(C`execute\*(C'\fR directives in the TeX +Live Database are present. +.IP "\fBrunfiles\fR" 4 +.IX Item "runfiles" +List those filenames that are occurring more than one time in the runfiles. +.PP +Options: +.IP "\fB\-\-use\-svn\fR" 4 +.IX Item "--use-svn" +Use the output of \f(CW\*(C`svn status\*(C'\fR instead of listing the files; for +checking the \s-1TL\s0 development repository. +.SS "conf [texmf|tlmgr [\fIkey\fP [\fIvalue\fP]]]" +.IX Subsection "conf [texmf|tlmgr [key [value]]]" +With only \f(CW\*(C`conf\*(C'\fR, show general configuration information for TeX Live, +including active configuration files, path settings, and more. This is +like the \f(CW\*(C`texconfig conf\*(C'\fR call, but works on all supported platforms. +.PP +With either \f(CW\*(C`conf texmf\*(C'\fR or \f(CW\*(C`conf tlmgr\*(C'\fR given in addition, shows all +key/value pairs (i.e., all settings) as saved in \f(CW\*(C`ROOT/texmf.cnf\*(C'\fR or +the tlmgr configuration file (see below), respectively. +.PP +If \fIkey\fR is given in addition, shows the value of only that given +\&\fIkey\fR in the respective file. +.PP +If \fIvalue\fR is given in addition, \fIkey\fR is set to \fIvalue\fR in the +respective file. \fINo error checking is done!\fR +.PP +Practical application: if the execution of (some or all) system commands +via \f(CW\*(C`\ewrite18\*(C'\fR was left enabled during installation, you can disable +it afterwards: +.PP +.Vb 1 +\& tlmgr conf texmf shell_escape 0 +.Ve +.PP +Warning: The general facility is here, but tinkering with settings in +this way is very strongly discouraged. Again, no error checking is +done, so any sort of breakage is possible. +.SS "dump-tlpdb [\-\-local|\-\-remote]" +.IX Subsection "dump-tlpdb [--local|--remote]" +Dump complete local or remote \s-1TLPDB\s0 to standard output, as-is. The +output is analogous to the \f(CW\*(C`\-\-machine\-readable\*(C'\fR output; see +\&\*(L"MACHINE-READABLE \s-1OUTPUT\s0\*(R" section. +.PP +Options: +.IP "\fB\-\-local\fR" 4 +.IX Item "--local" +Dump the local tlpdb. +.IP "\fB\-\-remote\fR" 4 +.IX Item "--remote" +Dump the remote tlpdb. +.PP +Exactly one of \f(CW\*(C`\-\-local\*(C'\fR and \f(CW\*(C`\-\-remote\*(C'\fR must be given. +.PP +In either case, the first line of the output specifies the repository +location, in this format: +.PP +.Vb 1 +\& "location\-url" "\et" location +.Ve +.PP +where \f(CW\*(C`location\-url\*(C'\fR is the literal field name, followed by a tab, and +\&\fIlocation\fR is the file or url to the repository. +.PP +Line endings may be either \s-1LF\s0 or \s-1CRLF\s0 depending on the current platform. +.SS "generate [\fIoption\fP]... \fIwhat\fP" +.IX Subsection "generate [option]... what" +.IP "\fBgenerate language\fR" 4 +.IX Item "generate language" +.PD 0 +.IP "\fBgenerate language.dat\fR" 4 +.IX Item "generate language.dat" +.IP "\fBgenerate language.def\fR" 4 +.IX Item "generate language.def" +.IP "\fBgenerate language.dat.lua\fR" 4 +.IX Item "generate language.dat.lua" +.IP "\fBgenerate fmtutil\fR" 4 +.IX Item "generate fmtutil" +.PD +.PP +The \f(CW\*(C`generate\*(C'\fR action overwrites any manual changes made in the +respective files: it recreates them from scratch based on the +information of the installed packages, plus local adaptions. +The TeX Live installer and \f(CW\*(C`tlmgr\*(C'\fR routinely call \f(CW\*(C`generate\*(C'\fR for +all of these files. +.PP +For managing your own fonts, please read the \f(CW\*(C`updmap \-\-help\*(C'\fR +information and/or <http://tug.org/fonts/fontinstall.html>. +.PP +In more detail: \f(CW\*(C`generate\*(C'\fR remakes any of the configuration files +\&\f(CW\*(C`language.dat\*(C'\fR, \f(CW\*(C`language.def\*(C'\fR, \f(CW\*(C`language.dat.lua\*(C'\fR, and +\&\f(CW\*(C`fmtutil.cnf\*(C'\fR, from the information present in the local \s-1TLPDB\s0, plus +locally-maintained files. +.PP +The locally-maintained files are \f(CW\*(C`language\-local.dat\*(C'\fR, +\&\f(CW\*(C`language\-local.def\*(C'\fR, \f(CW\*(C`language\-local.dat.lua\*(C'\fR, or +\&\f(CW\*(C`fmtutil\-local.cnf\*(C'\fR, searched for in \f(CW\*(C`TEXMFLOCAL\*(C'\fR in the respective +directories. If local additions are present, the final file is made by +starting with the main file, omitting any entries that the local file +specifies to be disabled, and finally appending the local file. +.PP +(Historical note: The formerly supported \f(CW\*(C`updmap\-local.cfg\*(C'\fR is no longer +read, since \f(CW\*(C`updmap\*(C'\fR now supports multiple \f(CW\*(C`updmap.cfg\*(C'\fR files. Thus, +local additions can and should be put into an \f(CW\*(C`updmap.cfg\*(C'\fR file in +\&\f(CW\*(C`TEXMFLOCAL\*(C'\fR. The \f(CW\*(C`generate updmap\*(C'\fR action no longer exists.) +.PP +Local files specify entries to be disabled with a comment line, namely +one of these: +.PP +.Vb 3 +\& #!NAME +\& %!NAME +\& \-\-!NAME +.Ve +.PP +where \f(CW\*(C`fmtutil.cnf\*(C'\fR uses \f(CW\*(C`#\*(C'\fR, \f(CW\*(C`language.dat\*(C'\fR and \f(CW\*(C`language.def\*(C'\fR use +\&\f(CW\*(C`%\*(C'\fR, and \f(CW\*(C`language.dat.lua\*(C'\fR use \f(CW\*(C`\-\-\*(C'\fR. In all cases, the \fIname\fR is +the respective format name or hyphenation pattern identifier. +Examples: +.PP +.Vb 3 +\& #!pdflatex +\& %!german +\& \-\-!usenglishmax +.Ve +.PP +(Of course, you're not likely to actually want to disable those +particular items. They're just examples.) +.PP +After such a disabling line, the local file can include another entry +for the same item, if a different definition is desired. In general, +except for the special disabling lines, the local files follow the same +syntax as the master files. +.PP +The form \f(CW\*(C`generate language\*(C'\fR recreates all three files \f(CW\*(C`language.dat\*(C'\fR, +\&\f(CW\*(C`language.def\*(C'\fR, and \f(CW\*(C`language.dat.lua\*(C'\fR, while the forms with an +extension recreates only that given language file. +.PP +Options: +.IP "\fB\-\-dest\fR \fIoutput_file\fR" 4 +.IX Item "--dest output_file" +specifies the output file (defaults to the respective location in +\&\f(CW\*(C`TEXMFSYSVAR\*(C'\fR). If \f(CW\*(C`\-\-dest\*(C'\fR is given to \f(CW\*(C`generate language\*(C'\fR, it +serves as a basename onto which \f(CW\*(C`.dat\*(C'\fR will be appended for the name of +the \f(CW\*(C`language.dat\*(C'\fR output file, \f(CW\*(C`.def\*(C'\fR will be appended to the value +for the name of the \f(CW\*(C`language.def\*(C'\fR output file, and \f(CW\*(C`.dat.lua\*(C'\fR to the +name of the \f(CW\*(C`language.dat.lua\*(C'\fR file. (This is just to avoid +overwriting; if you want a specific name for each output file, we +recommend invoking \f(CW\*(C`tlmgr\*(C'\fR twice.) +.IP "\fB\-\-localcfg\fR \fIlocal_conf_file\fR" 4 +.IX Item "--localcfg local_conf_file" +specifies the (optional) local additions (defaults to the respective +location in \f(CW\*(C`TEXMFLOCAL\*(C'\fR). +.IP "\fB\-\-rebuild\-sys\fR" 4 +.IX Item "--rebuild-sys" +tells tlmgr to run necessary programs after config files have been +regenerated. These are: +\&\f(CW\*(C`fmtutil\-sys \-\-all\*(C'\fR after \f(CW\*(C`generate fmtutil\*(C'\fR, +\&\f(CW\*(C`fmtutil\-sys \-\-byhyphen .../language.dat\*(C'\fR after \f(CW\*(C`generate language.dat\*(C'\fR, +and +\&\f(CW\*(C`fmtutil\-sys \-\-byhyphen .../language.def\*(C'\fR after \f(CW\*(C`generate language.def\*(C'\fR. +.Sp +These subsequent calls cause the newly-generated files to actually take +effect. This is not done by default since those calls are lengthy +processes and one might want to made several related changes in +succession before invoking these programs. +.PP +The respective locations are as follows: +.PP +.Vb 4 +\& tex/generic/config/language.dat (and language\-local.dat); +\& tex/generic/config/language.def (and language\-local.def); +\& tex/generic/config/language.dat.lua (and language\-local.dat.lua); +\& web2c/fmtutil.cnf (and fmtutil\-local.cnf); +.Ve +.SS "gui" +.IX Subsection "gui" +Start the graphical user interface. See \fB\s-1GUI\s0\fR below. +.SS "info [\fIoption\fP...] [collections|schemes|\fIpkg\fP...]" +.IX Subsection "info [option...] [collections|schemes|pkg...]" +With no argument, lists all packages available at the package +repository, prefixing those already installed with \f(CW\*(C`i\*(C'\fR. +.PP +With the single word \f(CW\*(C`collections\*(C'\fR or \f(CW\*(C`schemes\*(C'\fR as the argument, lists +the request type instead of all packages. +.PP +With any other arguments, display information about \fIpkg\fR: the name, +category, short and long description, installation status, and TeX Live +revision number. If \fIpkg\fR is not locally installed, searches in the +remote installation source. +.PP +It also displays information taken from the TeX Catalogue, namely the +package version, date, and license. Consider these, especially the +package version, as approximations only, due to timing skew of the +updates of the different pieces. By contrast, the \f(CW\*(C`revision\*(C'\fR value +comes directly from \s-1TL\s0 and is reliable. +.PP +The former actions \f(CW\*(C`show\*(C'\fR and \f(CW\*(C`list\*(C'\fR are merged into this action, +but are still supported for backward compatibility. +.PP +Options: +.IP "\fB\-\-list\fR" 4 +.IX Item "--list" +If the option \f(CW\*(C`\-\-list\*(C'\fR is given with a package, the list of contained +files is also shown, including those for platform-specific dependencies. +When given with schemes and collections, \f(CW\*(C`\-\-list\*(C'\fR outputs their +dependencies in a similar way. +.IP "\fB\-\-only\-installed\fR" 4 +.IX Item "--only-installed" +If this options is given, the installation source will +not be used; only locally installed packages, collections, or schemes +are listed. +(Does not work for listing of packages for now) +.IP "\fB\-\-taxonomy\fR" 4 +.IX Item "--taxonomy" +.PD 0 +.IP "\fB\-\-keyword\fR" 4 +.IX Item "--keyword" +.IP "\fB\-\-functionality\fR" 4 +.IX Item "--functionality" +.IP "\fB\-\-characterization\fR" 4 +.IX Item "--characterization" +.PD +In addition to the normal data displayed, also display information for +given packages from the corresponding taxonomy (or all of them). See +\&\*(L"\s-1TAXONOMIES\s0\*(R" below for details. +.SS "install [\fIoption\fP]... \fIpkg\fP..." +.IX Subsection "install [option]... pkg..." +Install each \fIpkg\fR given on the command line. By default this installs +all packages on which the given \fIpkg\fRs are dependent, also. Options: +.IP "\fB\-\-file\fR" 4 +.IX Item "--file" +Instead of fetching a package from the installation repository, use +the packages files given on the command line. These files need +to be proper TeX Live package files (with contained tlpobj file). +.IP "\fB\-\-reinstall\fR" 4 +.IX Item "--reinstall" +Reinstall a package (including dependencies for collections) even if it +seems to be already installed (i.e, is present in the \s-1TLPDB\s0). This is +useful to recover from accidental removal of files in the hierarchy. +.Sp +When re-installing, only dependencies on normal packages are followed +(not those of category Scheme or Collection). +.IP "\fB\-\-no\-depends\fR" 4 +.IX Item "--no-depends" +Do not install dependencies. (By default, installing a package ensures +that all dependencies of this package are fulfilled.) +.IP "\fB\-\-no\-depends\-at\-all\fR" 4 +.IX Item "--no-depends-at-all" +When you install a package which ships binary files the respective +binary package will also be installed. That is, for a package \f(CW\*(C`foo\*(C'\fR, +the package \f(CW\*(C`foo.i386\-linux\*(C'\fR will also be installed on an \f(CW\*(C`i386\-linux\*(C'\fR +system. This switch suppresses this behavior, and also implies +\&\f(CW\*(C`\-\-no\-depends\*(C'\fR. Don't use it unless you are sure of what you are +doing. +.IP "\fB\-\-dry\-run\fR" 4 +.IX Item "--dry-run" +Nothing is actually installed; instead, the actions to be performed are +written to the terminal. +.IP "\fB\-\-force\fR" 4 +.IX Item "--force" +If updates to \f(CW\*(C`tlmgr\*(C'\fR itself (or other parts of the basic +infrastructure) are present, \f(CW\*(C`tlmgr\*(C'\fR will bail out and not perform the +installation unless this option is given. Not recommended. +.SS "option" +.IX Subsection "option" +.IP "\fBoption [show]\fR" 4 +.IX Item "option [show]" +.PD 0 +.IP "\fBoption showall\fR" 4 +.IX Item "option showall" +.IP "\fBoption \f(BIkey\fB [\f(BIvalue\fB]\fR" 4 +.IX Item "option key [value]" +.PD +.PP +The first form shows the global TeX Live settings currently saved in the +\&\s-1TLPDB\s0 with a short description and the \f(CW\*(C`key\*(C'\fR used for changing it in +parentheses. +.PP +The second form is similar, but also shows options which can be defined +but are not currently set to any value. +.PP +In the third form, if \fIvalue\fR is not given, the setting for \fIkey\fR is +displayed. If \fIvalue\fR is present, \fIkey\fR is set to \fIvalue\fR. +.PP +Possible values for \fIkey\fR are (run \f(CW\*(C`tlmgr option showall\*(C'\fR for +the definitive list): +.PP +.Vb 10 +\& repository (default package repository), +\& formats (create formats at installation time), +\& postcode (run postinst code blobs) +\& docfiles (install documentation files), +\& srcfiles (install source files), +\& backupdir (default directory for backups), +\& autobackup (number of backups to keep). +\& sys_bin (directory to which executables are linked by the path action) +\& sys_man (directory to which man pages are linked by the path action) +\& sys_info (directory to which Info files are linked by the path action) +\& desktop_integration (Windows\-only: create Start menu shortcuts) +\& fileassocs (Windows\-only: change file associations) +\& multiuser (Windows\-only: install for all users) +.Ve +.PP +One common use of \f(CW\*(C`option\*(C'\fR is to permanently change the installation to +get further updates from the Internet, after originally installing from +\&\s-1DVD\s0. To do this, you can run +.PP +.Vb 1 +\& tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet +.Ve +.PP +The \f(CW\*(C`install\-tl\*(C'\fR documentation has more information about the possible +values for \f(CW\*(C`repository\*(C'\fR. (For backward compatibility, \f(CW\*(C`location\*(C'\fR can +be used as alternative name for \f(CW\*(C`repository\*(C'\fR.) +.PP +If \f(CW\*(C`formats\*(C'\fR is set (this is the default), then formats are regenerated +when either the engine or the format files have changed. Disable this +only when you know what you are doing. +.PP +The \f(CW\*(C`postcode\*(C'\fR option controls execution of per-package +postinstallation action code. It is set by default, and again disabling +is not likely to be of interest except perhaps to developers. +.PP +The \f(CW\*(C`docfiles\*(C'\fR and \f(CW\*(C`srcfiles\*(C'\fR options control the installation of +their respective files of a package. By default both are enabled (1). +This can be disabled (set to 0) if disk space is (very) limited. +.PP +The options \f(CW\*(C`autobackup\*(C'\fR and \f(CW\*(C`backupdir\*(C'\fR determine the defaults for +the actions \f(CW\*(C`update\*(C'\fR, \f(CW\*(C`backup\*(C'\fR and \f(CW\*(C`restore\*(C'\fR. These three actions +need a directory in which to read or write the backups. If +\&\f(CW\*(C`\-\-backupdir\*(C'\fR is not specified on the command line, the \f(CW\*(C`backupdir\*(C'\fR +option value is used (if set). +.PP +The \f(CW\*(C`autobackup\*(C'\fR option (de)activates automatic generation of backups. +Its value is an integer. If the \f(CW\*(C`autobackup\*(C'\fR value is \f(CW\*(C`\-1\*(C'\fR, no +backups are removed. If \f(CW\*(C`autobackup\*(C'\fR is 0 or more, it specifies the +number of backups to keep. Thus, backups are disabled if the value is +0. In the \f(CW\*(C`\-\-clean\*(C'\fR mode of the \f(CW\*(C`backup\*(C'\fR action this option also +specifies the number to be kept. +.PP +To setup \f(CW\*(C`autobackup\*(C'\fR to \f(CW\*(C`\-1\*(C'\fR on the command line, use either: +.PP +.Vb 1 +\& tlmgr option autobackup infty +.Ve +.PP +or: +.PP +.Vb 1 +\& tlmgr option \-\- autobackup \-1 +.Ve +.PP +The \f(CW\*(C`\-\-\*(C'\fR avoids having the \f(CW\*(C`\-1\*(C'\fR treated as an option. (\f(CW\*(C`\-\-\*(C'\fR stops +parsing for options at the point where it appears; this is a general +feature across most Unix programs.) +.PP +The \f(CW\*(C`sys_bin\*(C'\fR, \f(CW\*(C`sys_man\*(C'\fR, and \f(CW\*(C`sys_info\*(C'\fR options are used on +Unix-like systems to control the generation of links for executables, +info files and man pages. See the \f(CW\*(C`path\*(C'\fR action for details. +.PP +The last three options control behaviour on Windows installations. If +\&\f(CW\*(C`desktop_integration\*(C'\fR is set, then some packages will install items in +a sub-folder of the Start menu for \f(CW\*(C`tlmgr gui\*(C'\fR, documentation, etc. If +\&\f(CW\*(C`fileassocs\*(C'\fR is set, Windows file associations are made (see also the +\&\f(CW\*(C`postaction\*(C'\fR action). Finally, if \f(CW\*(C`multiuser\*(C'\fR is set, then adaptions +to the registry and the menus are done for all users on the system +instead of only the current user. All three options are on by default. +.SS "paper" +.IX Subsection "paper" +.IP "\fBpaper [a4|letter]\fR" 4 +.IX Item "paper [a4|letter]" +.PD 0 +.IP "\fB[xdvi|pdftex|dvips|dvipdfmx|dvipdfm|context]\ paper\ [\f(BIpapersize\fB|\-\-list]\fR" 4 +.IX Item "[xdvi|pdftex|dvips|dvipdfmx|dvipdfm|context]paper[papersize|--list]" +.PD +.PP +With no arguments (\f(CW\*(C`tlmgr paper\*(C'\fR), shows the default paper size setting +for all known programs. +.PP +With one argument (e.g., \f(CW\*(C`tlmgr paper a4\*(C'\fR), sets the default for all +known programs to that paper size. +.PP +With a program given as the first argument and no paper size specified +(e.g., \f(CW\*(C`tlmgr dvips paper\*(C'\fR), shows the default paper size for that +program. +.PP +With a program given as the first argument and a paper size as the last +argument (e.g., \f(CW\*(C`tlmgr dvips paper a4\*(C'\fR), set the default for that +program to that paper size. +.PP +With a program given as the first argument and \f(CW\*(C`\-\-list\*(C'\fR given as the +last argument (e.g., \f(CW\*(C`tlmgr dvips paper \-\-list\*(C'\fR), shows all valid paper +sizes for that program. The first size shown is the default. +.PP +Incidentally, this syntax of having a specific program name before the +\&\f(CW\*(C`paper\*(C'\fR keyword may seem strange. It is inherited from the +longstanding \f(CW\*(C`texconfig\*(C'\fR script, which supports other configuration +settings for some programs, notably \f(CW\*(C`dvips\*(C'\fR. \f(CW\*(C`tlmgr\*(C'\fR does not support +those extra settings at present. +.SS "path [\-\-w32mode=user|admin] [add|remove]" +.IX Subsection "path [--w32mode=user|admin] [add|remove]" +On Unix, merely adds or removes symlinks for binaries, man pages, and +info pages in the system directories specified by the respective options +(see the option description above). Does not change any +initialization files, either system or personal. +.PP +On Windows, the registry part where the binary directory is added or +removed is determined in the following way: +.PP +If the user has admin rights, and the option \f(CW\*(C`\-\-w32mode\*(C'\fR is not given, +the setting \fIw32_multi_user\fR determines the location (i.e., if it is +on then the system path, otherwise the user path is changed). +.PP +If the user has admin rights, and the option \f(CW\*(C`\-\-w32mode\*(C'\fR is given, this +option determines the path to be adjusted. +.PP +If the user does not have admin rights, and the option \f(CW\*(C`\-\-w32mode\*(C'\fR +is not given, and the setting \fIw32_multi_user\fR is off, the user path +is changed, while if the setting \fIw32_multi_user\fR is on, a warning is +issued that the caller does not have enough privileges. +.PP +If the user does not have admin rights, and the option \f(CW\*(C`\-\-w32mode\*(C'\fR +is given, it must be \fBuser\fR and the user path will be adjusted. If a +user without admin rights uses the option \f(CW\*(C`\-\-w32mode admin\*(C'\fR a warning +is issued that the caller does not have enough privileges. +.SS "pinning" +.IX Subsection "pinning" +The \f(CW\*(C`pinning\*(C'\fR action manages the pinning file, see Pinning below. +.ie n .IP """pinning show""" 4 +.el .IP "\f(CWpinning show\fR" 4 +.IX Item "pinning show" +Shows the current pinning data. +.ie n .IP """pinning add \f(CIrepo\f(CW \f(CIpkgglob\f(CW...""" 4 +.el .IP "\f(CWpinning add \f(CIrepo\f(CW \f(CIpkgglob\f(CW...\fR" 4 +.IX Item "pinning add repo pkgglob..." +Pins the packages matching the \fIpkgglob\fR(s) to the repository +\&\fIrepo\fR. +.ie n .IP """pinning remove \f(CIrepo\f(CW \f(CIpkgglob\f(CW...""" 4 +.el .IP "\f(CWpinning remove \f(CIrepo\f(CW \f(CIpkgglob\f(CW...\fR" 4 +.IX Item "pinning remove repo pkgglob..." +Any packages recorded in the pinning file matching the <pkgglob>s for +the given repository \fIrepo\fR are removed. +.ie n .IP """pinning remove \f(CIrepo\f(CW \-\-all""" 4 +.el .IP "\f(CWpinning remove \f(CIrepo\f(CW \-\-all\fR" 4 +.IX Item "pinning remove repo --all" +Remove all pinning data for repository \fIrepo\fR. +.SS "platform list|add|remove \fIplatform\fP..." +.IX Subsection "platform list|add|remove platform..." +.SS "platform set \fIplatform\fP" +.IX Subsection "platform set platform" +.SS "platform set auto" +.IX Subsection "platform set auto" +\&\f(CW\*(C`platform list\*(C'\fR lists the TeX Live names of all the platforms +(a.k.a. architectures), (\f(CW\*(C`i386\-linux\*(C'\fR, ...) available at the package +repository. +.PP +\&\f(CW\*(C`platform add\*(C'\fR \fIplatform\fR... adds the executables for each given platform +\&\fIplatform\fR to the installation from the repository. +.PP +\&\f(CW\*(C`platform remove\*(C'\fR \fIplatform\fR... removes the executables for each given +platform \fIplatform\fR from the installation, but keeps the currently +running platform in any case. +.PP +\&\f(CW\*(C`platform set\*(C'\fR \fIplatform\fR switches TeX Live to always use the given +platform instead of auto detection. +.PP +\&\f(CW\*(C`platform set auto\*(C'\fR switches TeX Live to auto detection mode for platform. +.PP +Platform detection is needed to select the proper \f(CW\*(C`xz\*(C'\fR, \f(CW\*(C`xzdec\*(C'\fR and +\&\f(CW\*(C`wget\*(C'\fR binaries that are shipped with TeX Live. +.PP +\&\f(CW\*(C`arch\*(C'\fR is a synonym for \f(CW\*(C`platform\*(C'\fR. +.PP +Options: +.IP "\fB\-\-dry\-run\fR" 4 +.IX Item "--dry-run" +Nothing is actually installed; instead, the actions to be performed are +written to the terminal. +.SS "postaction [\-\-w32mode=user|admin] [\-\-fileassocmode=1|2] [\-\-all] [install|remove] [shortcut|fileassoc|script] [\fIpkg\fP]..." +.IX Subsection "postaction [--w32mode=user|admin] [--fileassocmode=1|2] [--all] [install|remove] [shortcut|fileassoc|script] [pkg]..." +Carry out the postaction \f(CW\*(C`shortcut\*(C'\fR, \f(CW\*(C`fileassoc\*(C'\fR, or \f(CW\*(C`script\*(C'\fR given +as the second required argument in install or remove mode (which is the +first required argument), for either the packages given on the command +line, or for all if \f(CW\*(C`\-\-all\*(C'\fR is given. +.PP +If the option \f(CW\*(C`\-\-w32mode\*(C'\fR is given the value \f(CW\*(C`user\*(C'\fR, all actions will +only be carried out in the user-accessible parts of the +registry/filesystem, while the value \f(CW\*(C`admin\*(C'\fR selects the system-wide +parts of the registry for the file associations. If you do not have +enough permissions, using \f(CW\*(C`\-\-w32mode=admin\*(C'\fR will not succeed. +.PP +\&\f(CW\*(C`\-\-fileassocmode\*(C'\fR specifies the action for file associations. If it is +set to 1 (the default), only new associations are added; if it is set to +2, all associations are set to the TeX Live programs. (See also +\&\f(CW\*(C`option fileassocs\*(C'\fR.) +.SS "print-platform" +.IX Subsection "print-platform" +Print the TeX Live identifier for the detected platform +(hardware/operating system) combination to standard output, and exit. +\&\f(CW\*(C`\-\-print\-arch\*(C'\fR is a synonym. +.SS "restore [\-\-backupdir \fIdir\fP] [\-\-all | \fIpkg\fP [\fIrev\fP]]" +.IX Subsection "restore [--backupdir dir] [--all | pkg [rev]]" +Restore a package from a previously-made backup. +.PP +If \f(CW\*(C`\-\-all\*(C'\fR is given, try to restore the latest revision of all +package backups found in the backup directory. +.PP +Otherwise, if neither \fIpkg\fR nor \fIrev\fR are given, list the available backup +revisions for all packages. +.PP +With \fIpkg\fR given but no \fIrev\fR, list all available backup revisions of +\&\fIpkg\fR. +.PP +When listing available packages tlmgr shows the revision and in +parenthesis the creation time if available (in format yyyy-mm-dd hh:mm). +.PP +With both \fIpkg\fR and \fIrev\fR, tries to restore the package from the +specified backup. +.PP +Options: +.IP "\fB\-\-all\fR" 4 +.IX Item "--all" +Try to restore the latest revision of all package backups found in the +backup directory. Additional non-option arguments (like \fIpkg\fR) are not +allowed. +.IP "\fB\-\-backupdir\fR \fIdirectory\fR" 4 +.IX Item "--backupdir directory" +Specify the directory where the backups are to be found. If not given it +will be taken from the configuration setting in the \s-1TLPDB\s0. +.IP "\fB\-\-dry\-run\fR" 4 +.IX Item "--dry-run" +Nothing is actually restored; instead, the actions to be performed are +written to the terminal. +.IP "\fB\-\-force\fR" 4 +.IX Item "--force" +Don't ask questions. +.SS "remove [\fIoption\fP]... \fIpkg\fP..." +.IX Subsection "remove [option]... pkg..." +Remove each \fIpkg\fR specified. Removing a collection removes all package +dependencies (unless \f(CW\*(C`\-\-no\-depends\*(C'\fR is specified), but not any +collection dependencies of that collection. However, when removing a +package, dependencies are never removed. Options: +.IP "\fB\-\-no\-depends\fR" 4 +.IX Item "--no-depends" +Do not remove dependent packages. +.IP "\fB\-\-no\-depends\-at\-all\fR" 4 +.IX Item "--no-depends-at-all" +See above under \fBinstall\fR (and beware). +.IP "\fB\-\-force\fR" 4 +.IX Item "--force" +By default, removal of a package or collection that is a dependency of +another collection or scheme is not allowed. With this option, the +package will be removed unconditionally. Use with care. +.Sp +A package that has been removed using the \f(CW\*(C`\-\-force\*(C'\fR option because it +is still listed in an installed collection or scheme will not be +updated, and will be mentioned as \fBforcibly removed\fR in the output of +\&\fBtlmgr update \-\-list\fR. +.IP "\fB\-\-dry\-run\fR" 4 +.IX Item "--dry-run" +Nothing is actually removed; instead, the actions to be performed are +written to the terminal. +.SS "repository" +.IX Subsection "repository" +.IP "\fBrepository list\fR" 4 +.IX Item "repository list" +.PD 0 +.IP "\fBrepository list \f(BIpath|tag\fB\fR" 4 +.IX Item "repository list path|tag" +.IP "\fBrepository add \f(BIpath\fB [\f(BItag\fB]\fR" 4 +.IX Item "repository add path [tag]" +.IP "\fBrepository remove \f(BIpath|tag\fB\fR" 4 +.IX Item "repository remove path|tag" +.IP "\fBrepository set \f(BIpath\fB[#\f(BItag\fB] [\f(BIpath\fB[#\f(BItag\fB] ...]\fR" 4 +.IX Item "repository set path[#tag] [path[#tag] ...]" +.PD +This action manages the list of repositories. See \*(L"\s-1MULTIPLE\s0 +\&\s-1REPOSITORIES\s0\*(R" below for detailed explanations. +.Sp +The first form (\f(CW\*(C`list\*(C'\fR) lists all configured repositories and the +respective tags if set. If a path, url, or tag is given after the +\&\f(CW\*(C`list\*(C'\fR keyword, it is interpreted as source from where to +initialize a TeX Live Database and lists the contained packages. +This can also be an up-to-now not used repository, both locally +and remote. If one pass in addition \f(CW\*(C`\-\-with\-platforms\*(C'\fR, for each +package the available platforms (if any) are listed, too. +.Sp +The third form (\f(CW\*(C`add\*(C'\fR) adds a repository +(optionally attaching a tag) to the list of repositories. The forth +form (\f(CW\*(C`remove\*(C'\fR) removes a repository, either by full path/url, or by +tag. The last form (\f(CW\*(C`set\*(C'\fR) sets the list of repositories to the items +given on the command line, not keeping previous settings +.Sp +In all cases, one of the repositories must be tagged as \f(CW\*(C`main\*(C'\fR; +otherwise, all operations will fail! +.SS "search [\fIoption\fP...] \fIwhat\fP" +.IX Subsection "search [option...] what" +\fIsearch [\fIoption\fI...] \-\-file \fIwhat\fI\fR +.IX Subsection "search [option...] --file what" +.PP +\fIsearch [\fIoption\fI...] \-\-taxonomy \fIwhat\fI\fR +.IX Subsection "search [option...] --taxonomy what" +.PP +\fIsearch [\fIoption\fI...] \-\-keyword \fIwhat\fI\fR +.IX Subsection "search [option...] --keyword what" +.PP +\fIsearch [\fIoption\fI...] \-\-functionality \fIwhat\fI\fR +.IX Subsection "search [option...] --functionality what" +.PP +\fIsearch [\fIoption\fI...] \-\-characterization \fIwhat\fI\fR +.IX Subsection "search [option...] --characterization what" +.PP +\fIsearch [\fIoption\fI...] \-\-all \fIwhat\fI\fR +.IX Subsection "search [option...] --all what" +.PP +By default, search the names, short descriptions, and long descriptions +of all locally installed packages for the argument \fIwhat\fR, interpreted +as a regular expression. +.PP +Options: +.IP "\fB\-\-global\fR" 4 +.IX Item "--global" +Search the TeX Live Database of the installation medium, instead of the +local installation. +.IP "\fB\-\-word\fR" 4 +.IX Item "--word" +Restrict the search to match only full words. For example, searching for +\&\f(CW\*(C`table\*(C'\fR with this option will not output packages containing the +word \f(CW\*(C`tables\*(C'\fR (unless they also contain the word \f(CW\*(C`table\*(C'\fR on its own). +.IP "\fB\-\-list\fR" 4 +.IX Item "--list" +If a search for any (or all) taxonomies is done, by specifying one of +the taxonomy options below, then instead of searching for packages, list +the entire corresponding taxonomy (or all of them). See +\&\*(L"\s-1TAXONOMIES\s0\*(R" below. +.PP +Other search options are selected by specifying one of the following: +.IP "\fB\-\-file\fR" 4 +.IX Item "--file" +List all filenames containing \fIwhat\fR. +.IP "\fB\-\-taxonomy\fR" 4 +.IX Item "--taxonomy" +.PD 0 +.IP "\fB\-\-keyword\fR" 4 +.IX Item "--keyword" +.IP "\fB\-\-functionality\fR" 4 +.IX Item "--functionality" +.IP "\fB\-\-characterization\fR" 4 +.IX Item "--characterization" +.PD +Search in the corresponding taxonomy (or all) instead of the package +descriptions. See \*(L"\s-1TAXONOMIES\s0\*(R" below. +.IP "\fB\-\-all\fR" 4 +.IX Item "--all" +Search for package names, descriptions, and taxonomies, but not files. +.SS "uninstall" +.IX Subsection "uninstall" +Uninstalls the entire TeX Live installation. Options: +.IP "\fB\-\-force\fR" 4 +.IX Item "--force" +Do not ask for confirmation, remove immediately. +.SS "update [\fIoption\fP]... [\fIpkg\fP]..." +.IX Subsection "update [option]... [pkg]..." +Updates the packages given as arguments to the latest version available +at the installation source. Either \f(CW\*(C`\-\-all\*(C'\fR or at least one \fIpkg\fR name +must be specified. Options: +.IP "\fB\-\-all\fR" 4 +.IX Item "--all" +Update all installed packages except for \f(CW\*(C`tlmgr\*(C'\fR itself. Thus, if +updates to \f(CW\*(C`tlmgr\*(C'\fR itself are present, this will simply give an error, +unless also the option \f(CW\*(C`\-\-force\*(C'\fR or \f(CW\*(C`\-\-self\*(C'\fR is given. (See below.) +.Sp +In addition to updating the installed packages, during the update of a +collection the local installation is (by default) synchronized to the +status of the collection on the server, for both additions and removals. +.Sp +This means that if a package has been removed on the server (and thus +has also been removed from the respective collection), \f(CW\*(C`tlmgr\*(C'\fR will +remove the package in the local installation. This is called +``auto\-remove'' and is announced as such when using the option +\&\f(CW\*(C`\-\-list\*(C'\fR. This auto-removal can be suppressed using the option +\&\f(CW\*(C`\-\-no\-auto\-remove\*(C'\fR. +.Sp +Analogously, if a package has been added to a collection on the server +that is also installed locally, it will be added to the local +installation. This is called ``auto\-install'' and is announced as such +when using the option \f(CW\*(C`\-\-list\*(C'\fR. This auto-installation can be +suppressed using the option \f(CW\*(C`\-\-no\-auto\-install\*(C'\fR. +.Sp +An exception to the collection dependency checks (including the +auto-installation of packages just mentioned) are those that have been +``forcibly removed'' by you, that is, you called \f(CW\*(C`tlmgr remove \-\-force\*(C'\fR +on them. (See the \f(CW\*(C`remove\*(C'\fR action documentation.) To reinstall any +such forcibly removed packages use \f(CW\*(C`\-\-reinstall\-forcibly\-removed\*(C'\fR. +.Sp +If you want to exclude some packages from the current update run (e.g., +due to a slow link), see the \f(CW\*(C`\-\-exclude\*(C'\fR option below. +.IP "\fB\-\-self\fR" 4 +.IX Item "--self" +Update \f(CW\*(C`tlmgr\*(C'\fR itself (that is, the infrastructure packages) if updates +to it are present. On Windows this includes updates to the private Perl +interpreter shipped inside TeX Live. +.Sp +If this option is given together with either \f(CW\*(C`\-\-all\*(C'\fR or a list of +packages, then \f(CW\*(C`tlmgr\*(C'\fR will be updated first and, if this update +succeeds, the new version will be restarted to complete the rest of the +updates. +.Sp +In short: +.Sp +.Vb 4 +\& tlmgr update \-\-self # update infrastructure only +\& tlmgr update \-\-self \-\-all # update infrastructure and all packages +\& tlmgr update \-\-force \-\-all # update all packages but *not* infrastructure +\& # ... this last at your own risk, not recommended! +.Ve +.IP "\fB\-\-dry\-run\fR" 4 +.IX Item "--dry-run" +Nothing is actually installed; instead, the actions to be performed are +written to the terminal. This is a more detailed report than \f(CW\*(C`\-\-list\*(C'\fR. +.IP "\fB\-\-list\fR [\fIpkg\fR]" 4 +.IX Item "--list [pkg]" +Concisely list the packages which would be updated, newly installed, or +removed, without actually changing anything. +If \f(CW\*(C`\-\-all\*(C'\fR is also given, all available updates are listed. +If \f(CW\*(C`\-\-self\*(C'\fR is given, but not \f(CW\*(C`\-\-all\*(C'\fR, only updates to the +critical packages (tlmgr, texlive infrastructure, perl on Windows, etc.) +are listed. +If neither \f(CW\*(C`\-\-all\*(C'\fR nor \f(CW\*(C`\-\-self\*(C'\fR is given, and in addition no \fIpkg\fR is +given, then \f(CW\*(C`\-\-all\*(C'\fR is assumed (thus, \f(CW\*(C`tlmgr update \-\-list\*(C'\fR is the +same as \f(CW\*(C`tlmgr update \-\-list \-\-all\*(C'\fR). +If neither \f(CW\*(C`\-\-all\*(C'\fR nor \f(CW\*(C`\-\-self\*(C'\fR is given, but specific package names are +given, those packages are checked for updates. +.IP "\fB\-\-exclude\fR \fIpkg\fR" 4 +.IX Item "--exclude pkg" +Exclude \fIpkg\fR from the update process. If this option is given more +than once, its arguments accumulate. +.Sp +An argument \fIpkg\fR excludes both the package \fIpkg\fR itself and all +its related platform-specific packages \fIpkg.ARCH\fR. For example, +.Sp +.Vb 1 +\& tlmgr update \-\-all \-\-exclude a2ping +.Ve +.Sp +will not update \f(CW\*(C`a2ping\*(C'\fR, \f(CW\*(C`a2ping.i386\-linux\*(C'\fR, or +any other \f(CW\*(C`a2ping.\*(C'\fR\fI\s-1ARCH\s0\fR package. +.Sp +If this option specifies a package that would otherwise be a candidate +for auto-installation, auto-removal, or reinstallation of a forcibly +removed package, \f(CW\*(C`tlmgr\*(C'\fR quits with an error message. Excludes are not +supported in these circumstances. +.IP "\fB\-\-no\-auto\-remove\fR [\fIpkg\fR]..." 4 +.IX Item "--no-auto-remove [pkg]..." +Under normal circumstances \f(CW\*(C`tlmgr\*(C'\fR tries to remove packages which have +disappeared on the server, as described above under \f(CW\*(C`\-\-all\*(C'\fR. This +option prevents any such removals, either for all packages (with +\&\f(CW\*(C`\-\-all\*(C'\fR), or the given \fIpkg\fR names. +.IP "\fB\-\-no\-auto\-install\fR [\fIpkg\fR]..." 4 +.IX Item "--no-auto-install [pkg]..." +Under normal circumstances \f(CW\*(C`tlmgr\*(C'\fR will install packages which are new +on the server, as described above under \f(CW\*(C`\-\-all\*(C'\fR. This option prevents +any such automatic installation, either for all packages (with +\&\f(CW\*(C`\-\-all\*(C'\fR), or the given \fIpkg\fR names. +.Sp +Furthermore, after the \f(CW\*(C`tlmgr\*(C'\fR run using this has finished, the +packages that would have been auto-installed \fIwill be considered as +forcibly removed\fR. So, if \f(CW\*(C`foobar\*(C'\fR is the only new package on the +server, then +.Sp +.Vb 1 +\& tlmgr update \-\-all \-\-no\-auto\-install +.Ve +.Sp +is equivalent to +.Sp +.Vb 2 +\& tlmgr update \-\-all +\& tlmgr remove \-\-force foobar +.Ve +.IP "\fB\-\-reinstall\-forcibly\-removed\fR" 4 +.IX Item "--reinstall-forcibly-removed" +Under normal circumstances \f(CW\*(C`tlmgr\*(C'\fR will not install packages that have +been forcibly removed by the user; that is, removed with \f(CW\*(C`remove +\&\-\-force\*(C'\fR, or whose installation was prohibited by \f(CW\*(C`\-\-no\-auto\-install\*(C'\fR +during an earlier update. +.Sp +This option makes \f(CW\*(C`tlmgr\*(C'\fR ignore the forcible removals and re-install +all such packages. This can be used to completely synchronize an +installation with the server's idea of what is available: +.Sp +.Vb 1 +\& tlmgr update \-\-reinstall\-forcibly\-removed \-\-all +.Ve +.IP "\fB\-\-backup\fR and \fB\-\-backupdir\fR \fIdirectory\fR" 4 +.IX Item "--backup and --backupdir directory" +These two options control the creation of backups of packages \fIbefore\fR +updating; that is, backup of packages as currently installed. If +neither of these options are given, no backup package will be saved. If +\&\f(CW\*(C`\-\-backupdir\*(C'\fR is given and specifies a writable directory then a backup +will be made in that location. If only \f(CW\*(C`\-\-backup\*(C'\fR is given, then a +backup will be made to the directory previously set via the \f(CW\*(C`option\*(C'\fR +action (see below). If both are given then a backup will be made to the +specified \fIdirectory\fR. +.Sp +You can set options via the \f(CW\*(C`option\*(C'\fR action to automatically create +backups for all packages, and/or keep only a certain number of +backups. Please see the \f(CW\*(C`option\*(C'\fR action for details. +.Sp +\&\f(CW\*(C`tlmgr\*(C'\fR always makes a temporary backup when updating packages, in case +of download or other failure during an update. In contrast, the purpose +of this \f(CW\*(C`\-\-backup\*(C'\fR option is to allow you to save a persistent backup +in case the actual \fIcontent\fR of the update causes problems, e.g., +introduces an incompatibility. +.Sp +The \f(CW\*(C`restore\*(C'\fR action explains how to restore from a backup. +.IP "\fB\-\-no\-depends\fR" 4 +.IX Item "--no-depends" +If you call for updating a package normally all depending packages +will also be checked for updates and updated if necessary. This switch +suppresses this behavior. +.IP "\fB\-\-no\-depends\-at\-all\fR" 4 +.IX Item "--no-depends-at-all" +See above under \fBinstall\fR (and beware). +.IP "\fB\-\-force\fR" 4 +.IX Item "--force" +Force update of normal packages, without updating \f(CW\*(C`tlmgr\*(C'\fR itself +(unless the \f(CW\*(C`\-\-self\*(C'\fR option is also given). Not recommended. +.Sp +Also, \f(CW\*(C`update \-\-list\*(C'\fR is still performed regardless of this option. +.PP +If the package on the server is older than the package already installed +(e.g., if the selected mirror is out of date), \f(CW\*(C`tlmgr\*(C'\fR does not +downgrade. Also, packages for uninstalled platforms are not installed. +.SH "TLMGR CONFIGURATION FILE" +.IX Header "TLMGR CONFIGURATION FILE" +A small subset of the command line options can be set in a config file +for \f(CW\*(C`tlmgr\*(C'\fR which resides in \f(CW\*(C`TEXMFCONFIG/tlmgr/config\*(C'\fR. By default, the +config file is in \f(CW\*(C`~/.texliveYYYY/texmf\-config/tlmgr/config\*(C'\fR (replacing +\&\f(CW\*(C`YYYY\*(C'\fR with the year of your TeX Live installation). This is \fInot\fR +\&\f(CW\*(C`TEXMFSYSVAR\*(C'\fR, so that the file is specific to a single user. +.PP +In this file, empty lines and lines starting with # are ignored. All +other lines must look like +.PP +.Vb 1 +\& key = value +.Ve +.PP +where the allowed keys are +\&\f(CW\*(C`gui\-expertmode\*(C'\fR (values 0 or 1), +\&\f(CW\*(C`persistent\-downloads\*(C'\fR (values 0 or 1), \f(CW\*(C`auto\-remove\*(C'\fR (values 0 or 1), +and \f(CW\*(C`gui\-lang\*(C'\fR (values like the command line arguments). +\&\f(CW\*(C`persistent\-downloads\*(C'\fR, \f(CW\*(C`gui\-lang\*(C'\fR, and \f(CW\*(C`auto\-remove\*(C'\fR correspond to the +respective command line options of the same name. +\&\f(CW\*(C`gui\-expertmode\*(C'\fR switches between the full +\&\s-1GUI\s0 and a simplified \s-1GUI\s0 with only the important and mostly used +settings. +.SH "TAXONOMIES" +.IX Header "TAXONOMIES" +tlmgr allows searching and listing of various categorizations, which we +call \fItaxonomies\fR, as provided by an enhanced TeX Catalogue (available +for testing at <http://az.ctan.org>). This is useful when, for +example, you don't know a specific package name but have an idea of the +functionality you need; or when you want to see all packages relating to +a given area. +.PP +There are three different taxonomies, specified by the following +options: +.IP "\fB\-\-keyword\fR" 4 +.IX Item "--keyword" +The keywords, as specified at <http://az.ctan.org/keyword>. +.IP "\fB\-\-functionality\fR" 4 +.IX Item "--functionality" +The ``by\-topic'' categorization created by J\e"urgen Fenn, as specified +at http://az.ctan.org/characterization/by\-function <http://az.ctan.org/characterization/by-function>. +.IP "\fB\-\-characterization\fR" 4 +.IX Item "--characterization" +Both the primary and secondary functionalities, as specified at +<http://az.ctan.org/characterization/choose_dimen>. +.IP "\fB\-\-taxonomy\fR" 4 +.IX Item "--taxonomy" +Operate on all the taxonomies. +.PP +The taxonomies are updated nightly and stored within TeX Live, so +Internet access is not required to search them. +.PP +Examples: +.PP +.Vb 5 +\& tlmgr search \-\-taxonomy exercise # check all taxonomies for "exercise" +\& tlmgr search \-\-taxonomy \-\-word table # check for "table" on its own +\& tlmgr search \-\-list \-\-keyword # dump entire keyword taxonomy +\& tlmgr show \-\-taxonomy pdftex # show pdftex package information, +\& # including all taxonomy entries +.Ve +.SH "MULTIPLE REPOSITORIES" +.IX Header "MULTIPLE REPOSITORIES" +The main TeX Live repository contains a vast array of packages. +Nevertheless, additional local repositories can be useful to provide +locally-installed resources, such as proprietary fonts and house styles. +Also, alternative package repositories distribute packages that cannot +or should not be included in TeX Live, for whatever reason. +.PP +The simplest and most reliable method is to temporarily set the +installation source to any repository (with the \f(CW\*(C`\-repository\*(C'\fR or +\&\f(CW\*(C`option repository\*(C'\fR command line options), and perform your operations. +.PP +When you are using multiple repositories over a sustained time, however, +explicitly switching between them becomes inconvenient. Thus, it's +possible to tell \f(CW\*(C`tlmgr\*(C'\fR about additional repositories you want to use. +The basic command is \f(CW\*(C`tlmgr repository add\*(C'\fR. The rest of this section +explains further. +.PP +When using multiple repositories, one of them has to be set as the main +repository, which distributes most of the installed packages. When you +switch from a single repository installation to a multiple repository +installation, the previous sole repository will be set as the main +repository. +.PP +By default, even if multiple repositories are configured, packages are +\&\fIstill\fR \fIonly\fR installed from the main repository. Thus, simply +adding a second repository does not actually enable installation of +anything from there. You also have to specify which packages should be +taken from the new repository, by specifying so-called ``pinning'' +rules, described next. +.SS "Pinning" +.IX Subsection "Pinning" +When a package \f(CW\*(C`foo\*(C'\fR is pinned to a repository, a package \f(CW\*(C`foo\*(C'\fR in any +other repository, even if it has a higher revision number, will not be +considered an installable candidate. +.PP +As mentioned above, by default everything is pinned to the main +repository. Let's now go through an example of setting up a second +repository and enabling updates of a package from it. +.PP +First, check that we have support for multiple repositories, and have +only one enabled (as is the case by default): +.PP +.Vb 3 +\& $ tlmgr repository list +\& List of repositories (with tags if set): +\& /var/www/norbert/tlnet +.Ve +.PP +Ok. Let's add the \f(CW\*(C`tlcontrib\*(C'\fR repository (this is a real +repository, hosted at <http://tlcontrib.metatex.org>, maintained by +Taco Hoekwater et al.), with the tag \f(CW\*(C`tlcontrib\*(C'\fR: +.PP +.Vb 1 +\& $ tlmgr repository add http://tlcontrib.metatex.org/2012 tlcontrib +.Ve +.PP +Check the repository list again: +.PP +.Vb 4 +\& $ tlmgr repository list +\& List of repositories (with tags if set): +\& http://tlcontrib.metatex.org/2012 (tlcontrib) +\& /var/www/norbert/tlnet (main) +.Ve +.PP +Now we specify a pinning entry to get the package \f(CW\*(C`context\*(C'\fR from +\&\f(CW\*(C`tlcontrib\*(C'\fR: +.PP +.Vb 1 +\& $ tlmgr pinning add tlcontrib context +.Ve +.PP +Check that we can find \f(CW\*(C`context\*(C'\fR: +.PP +.Vb 6 +\& $ tlmgr show context +\& tlmgr: package repositories: +\& ... +\& package: context +\& repository: tlcontrib/26867 +\& ... +.Ve +.PP +\&\- install \f(CW\*(C`context\*(C'\fR: +.PP +.Vb 4 +\& $ tlmgr install context +\& tlmgr: package repositories: +\& ... +\& [1/1, ??:??/??:??] install: context @tlcontrib [ +.Ve +.PP +In the output here you can see that the \f(CW\*(C`context\*(C'\fR package has been +installed from the \f(CW\*(C`tlcontrib\*(C'\fR repository (\f(CW@tlcontrib\fR). +.PP +Finally, \f(CW\*(C`tlmgr pinning\*(C'\fR also supports removing certain or all packages +from a given repository: +.PP +.Vb 2 +\& $ tlmgr pinning remove tlcontrib context # remove just context +\& $ tlmgr pinning remove tlcontrib \-\-all # take nothing from tlcontrib +.Ve +.PP +A summary of the \f(CW\*(C`tlmgr pinning\*(C'\fR actions is given above. +.SH "GUI FOR TLMGR" +.IX Header "GUI FOR TLMGR" +The graphical user interface for \f(CW\*(C`tlmgr\*(C'\fR needs Perl/Tk to be installed. +For Windows the necessary modules are shipped within TeX Live, for all +other (i.e., Unix-based) systems Perl/Tk (as well as Perl of course) has +to be installed. <http://tug.org/texlive/distro.html#perltk> has a +list of invocations for some distros. +.PP +When started with \f(CW\*(C`tlmgr gui\*(C'\fR the graphical user interface will be +shown. The main window contains a menu bar, the main display, and a +status area where messages normally shown on the console are displayed. +.PP +Within the main display there are three main parts: the \f(CW\*(C`Display +configuration\*(C'\fR area, the list of packages, and the action buttons. +.PP +Also, at the top right the currently loaded repository is shown; this +also acts as a button and when clicked will try to load the default +repository. To load a different repository, see the \f(CW\*(C`tlmgr\*(C'\fR menu item. +.PP +Finally, the status area at the bottom of the window gives additional +information about what is going on. +.SS "Main display" +.IX Subsection "Main display" +\fIDisplay configuration area\fR +.IX Subsection "Display configuration area" +.PP +The first part of the main display allows you to specify (filter) which +packages are shown. By default, all are shown. Changes here are +reflected right away. +.IP "Status" 4 +.IX Item "Status" +Select whether to show all packages (the default), only those installed, +only those \fInot\fR installed, or only those with update available. +.IP "Category" 4 +.IX Item "Category" +Select which categories are shown: packages, collections, and/or +schemes. These are briefly explained in the \*(L"\s-1DESCRIPTION\s0\*(R" section +above. +.IP "Match" 4 +.IX Item "Match" +Select packages matching for a specific pattern. By default, this uses +the same algorithm as \f(CW\*(C`tlmgr search\*(C'\fR, i.e., searches everything: +descriptions, taxonomies, and/or filenames. You can also select any +subset for searching. +.IP "Selection" 4 +.IX Item "Selection" +Select packages to those selected, those not selected, or all. Here, +``selected'' means that the checkbox in the beginning of the line of a +package is ticked. +.IP "Display configuration buttons" 4 +.IX Item "Display configuration buttons" +To the right there are three buttons: select all packages, select none +(a.k.a. deselect all), and reset all these filters to the defaults, +i.e., show all available. +.PP +\fIPackage list area\fR +.IX Subsection "Package list area" +.PP +The second are of the main display lists all installed packages. If a +repository is loaded, those that are available but not installed are +also listed. +.PP +Double clicking on a package line pops up an informational window with +further details: the long description, included files, etc. +.PP +Each line of the package list consists of the following items: +.IP "a checkbox" 4 +.IX Item "a checkbox" +Used to select particular packages; some of the action buttons (see +below) work only on the selected packages. +.IP "package name" 4 +.IX Item "package name" +The name (identifier) of the package as given in the database. +.IP "local revision (and version)" 4 +.IX Item "local revision (and version)" +If the package is installed the TeX Live revision number for the +installed package will be shown. If there is a catalogue version given +in the database for this package, it will be shown in parentheses. +However, the catalogue version, unlike the \s-1TL\s0 revision, is not +guaranteed to reflect what is actually installed. +.IP "remote revision (and version)" 4 +.IX Item "remote revision (and version)" +If a repository has been loaded the revision of the package in the +repository (if present) is shown. As with the local column, if a +catalogue version is provided it will be displayed. And also as with +the local column, the catalogue version may be stale. +.IP "short description" 4 +.IX Item "short description" +The short description of the package. +.PP +\fIMain display action buttons\fR +.IX Subsection "Main display action buttons" +.PP +Below the list of packages are several buttons: +.IP "Update all installed" 4 +.IX Item "Update all installed" +This calls \f(CW\*(C`tlmgr update \-\-all\*(C'\fR, i.e., tries to update all available +packages. Below this button is a toggle to allow reinstallation of +previously removed packages as part of this action. +.Sp +The other four buttons only work on the selected packages, i.e., those +where the checkbox at the beginning of the package line is ticked. +.IP "Update" 4 +.IX Item "Update" +Update only the selected packages. +.IP "Install" 4 +.IX Item "Install" +Install the selected packages; acts like \f(CW\*(C`tlmgr install\*(C'\fR, i.e., also +installs dependencies. Thus, installing a collection installs all its +constituent packages. +.IP "Remove" 4 +.IX Item "Remove" +Removes the selected packages; acts like \f(CW\*(C`tlmgr remove\*(C'\fR, i.e., it will +also remove dependencies of collections (but not dependencies of normal +packages). +.IP "Backup" 4 +.IX Item "Backup" +Makes a backup of the selected packages; acts like \f(CW\*(C`tlmgr backup\*(C'\fR. This +action needs the option \f(CW\*(C`backupdir\*(C'\fR set (see \f(CW\*(C`Options \-\*(C'\fR General>). +.SS "Menu bar" +.IX Subsection "Menu bar" +The following entries can be found in the menu bar: +.IP "\fBtlmgr\fR menu" 4 +.IX Item "tlmgr menu" +The items here load various repositories: the default as specified in +the TeX Live database, the default network repository, the repository +specified on the command line (if any), and an arbitrarily +manually-entered one. Also has the so-necessary \f(CW\*(C`quit\*(C'\fR operation. +.IP "\fBOptions menu\fR" 4 +.IX Item "Options menu" +Provides access to several groups of options: \f(CW\*(C`Paper\*(C'\fR (configuration of +default paper sizes), \f(CW\*(C`Platforms\*(C'\fR (only on Unix, configuration of the +supported/installed platforms), \f(CW\*(C`GUI Language\*(C'\fR (select language used in +the \s-1GUI\s0 interface), and \f(CW\*(C`General\*(C'\fR (everything else). +.Sp +Several toggles are also here. The first is \f(CW\*(C`Expert options\*(C'\fR, which is +set by default. If you turn this off, the next time you start the \s-1GUI\s0 a +simplified screen will be shown that display only the most important +functionality. This setting is saved in the configuration file of +\&\f(CW\*(C`tlmgr\*(C'\fR; see \*(L"\s-1CONFIGURATION\s0 \s-1FILE\s0\*(R" for details. +.Sp +The other toggles are all off by default: for debugging output, to +disable the automatic installation of new packages, and to disable the +automatic removal of packages deleted from the server. Playing with the +choices of what is or isn't installed may lead to an inconsistent TeX Live +installation; e.g., when a package is renamed. +.IP "\fBActions menu\fR" 4 +.IX Item "Actions menu" +Provides access to several actions: update the filename database (aka +\&\f(CW\*(C`ls\-R\*(C'\fR, \f(CW\*(C`mktexlsr\*(C'\fR, \f(CW\*(C`texhash\*(C'\fR), rebuild all formats (\f(CW\*(C`fmtutil\-sys +\&\-\-all\*(C'\fR), update the font map database (\f(CW\*(C`updmap\-sys\*(C'\fR), restore from a backup +of a package, and use of symbolic links in system directories (not on +Windows). +.Sp +The final action is to remove the entire TeX Live installation (also not +on Windows). +.IP "\fBHelp menu\fR" 4 +.IX Item "Help menu" +Provides access to the TeX Live manual (also on the web at +<http://tug.org/texlive/doc.html>) and the usual ``About'' box. +.SH "MACHINE-READABLE OUTPUT" +.IX Header "MACHINE-READABLE OUTPUT" +With the \f(CW\*(C`\-\-machine\-readable\*(C'\fR option, \f(CW\*(C`tlmgr\*(C'\fR writes to stdout in the +fixed line-oriented format described here, and the usual informational +messages for human consumption are written to stderr (normally they are +written to stdout). The idea is that a program can get all the +information it needs by reading stdout. +.PP +Currently this option only applies to the +update, the +install, and the +option actions. +.SS "update and install actions" +.IX Subsection "update and install actions" +The output format is as follows: +.PP +.Vb 7 +\& fieldname "\et" value +\& ... +\& "end\-of\-header" +\& pkgname status localrev serverrev size runtime esttot +\& ... +\& "end\-of\-updates" +\& other output from post actions, not in machine readable form +.Ve +.PP +The header section currently has two fields: \f(CW\*(C`location\-url\*(C'\fR (the +repository source from which updates are being drawn), and +\&\f(CW\*(C`total\-bytes\*(C'\fR (the total number of bytes to be downloaded). +.PP +The \fIlocalrev\fR and \fIserverrev\fR fields for each package are the +revision numbers in the local installation and server repository, +respectively. The \fIsize\fR field is the number of bytes to be +downloaded, i.e., the size of the compressed tar file for a network +installation, not the unpacked size. The runtime and esttot fields +are only present for updated and auto-install packages, and contain +the currently passed time since start of installation/updates +and the estimated total time. +.PP +Line endings may be either \s-1LF\s0 or \s-1CRLF\s0 depending on the current platform. +.ie n .IP """location\-url"" \fIlocation\fR" 4 +.el .IP "\f(CWlocation\-url\fR \fIlocation\fR" 4 +.IX Item "location-url location" +The \fIlocation\fR may be a url (including \f(CW\*(C`file:///foo/bar/...\*(C'\fR), or a +directory name (\f(CW\*(C`/foo/bar\*(C'\fR). It is the package repository from which +the new package information was drawn. +.ie n .IP """total\-bytes"" \fIcount\fR" 4 +.el .IP "\f(CWtotal\-bytes\fR \fIcount\fR" 4 +.IX Item "total-bytes count" +The \fIcount\fR is simply a decimal number, the sum of the sizes of all the +packages that need updating or installing (which are listed subsequently). +.PP +Then comes a line with only the literal string \f(CW\*(C`end\-of\-header\*(C'\fR. +.PP +Each following line until a line with literal string \f(CW\*(C`end\-of\-updates\*(C'\fR +reports on one package. The fields on +each line are separated by a tab. Here are the fields. +.IP "\fIpkgname\fR" 4 +.IX Item "pkgname" +The TeX Live package identifier, with a possible platform suffix for +executables. For instance, \f(CW\*(C`pdftex\*(C'\fR and \f(CW\*(C`pdftex.i386\-linux\*(C'\fR are given +as two separate packages, one on each line. +.IP "\fIstatus\fR" 4 +.IX Item "status" +The status of the package update. One character, as follows: +.RS 4 +.ie n .IP """d""" 8 +.el .IP "\f(CWd\fR" 8 +.IX Item "d" +The package was removed on the server. +.ie n .IP """f""" 8 +.el .IP "\f(CWf\fR" 8 +.IX Item "f" +The package was removed in the local installation, even though a +collection depended on it. (E.g., the user ran \f(CW\*(C`tlmgr remove +\&\-\-force\*(C'\fR.) +.ie n .IP """u""" 8 +.el .IP "\f(CWu\fR" 8 +.IX Item "u" +Normal update is needed. +.ie n .IP """r""" 8 +.el .IP "\f(CWr\fR" 8 +.IX Item "r" +Reversed non-update: the locally-installed version is newer than the +version on the server. +.ie n .IP """a""" 8 +.el .IP "\f(CWa\fR" 8 +.IX Item "a" +Automatically-determined need for installation, the package is new on +the server and is (most probably) part of an installed collection. +.ie n .IP """i""" 8 +.el .IP "\f(CWi\fR" 8 +.IX Item "i" +Package will be installed and isn't present in the local installation +(action install). +.ie n .IP """I""" 8 +.el .IP "\f(CWI\fR" 8 +.IX Item "I" +Package is already present but will be reinstalled (action install). +.RE +.RS 4 +.RE +.IP "\fIlocalrev\fR" 4 +.IX Item "localrev" +The revision number of the installed package, or \f(CW\*(C`\-\*(C'\fR if it is not +present locally. +.IP "\fIserverrev\fR" 4 +.IX Item "serverrev" +The revision number of the package on the server, or \f(CW\*(C`\-\*(C'\fR if it is not +present on the server. +.IP "\fIsize\fR" 4 +.IX Item "size" +The size in bytes of the package on the server. The sum of all the +package sizes is given in the \f(CW\*(C`total\-bytes\*(C'\fR header field mentioned above. +.IP "\fIruntime\fR" 4 +.IX Item "runtime" +The run time since start of installations or updates. +.IP "\fIesttot\fR" 4 +.IX Item "esttot" +The estimated total time. +.SS "option action" +.IX Subsection "option action" +The output format is as follows: +.PP +.Vb 1 +\& key "\et" value +.Ve +.PP +If a value is not saved in the database the string \f(CW\*(C`(not set)\*(C'\fR is shown. +.PP +If you are developing a program that uses this output, and find that +changes would be helpful, do not hesitate to write the mailing list. +.SH "AUTHORS AND COPYRIGHT" +.IX Header "AUTHORS AND COPYRIGHT" +This script and its documentation were written for the TeX Live +distribution (<http://tug.org/texlive>) and both are licensed under the +\&\s-1GNU\s0 General Public License Version 2 or later. +.SH "POD ERRORS" +.IX Header "POD ERRORS" +Hey! \fBThe above document had some coding errors, which are explained below:\fR +.IP "Around line 6509:" 4 +.IX Item "Around line 6509:" +Unterminated C<...> sequence +.IP "Around line 6514:" 4 +.IX Item "Around line 6514:" +Unterminated C<...> sequence diff --git a/Master/texmf-dist/doc/man/man1/tlmgr.man1.pdf b/Master/texmf-dist/doc/man/man1/tlmgr.man1.pdf Binary files differnew file mode 100644 index 00000000000..cc1effc84b2 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/tlmgr.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/tpic2pdftex.1 b/Master/texmf-dist/doc/man/man1/tpic2pdftex.1 new file mode 100644 index 00000000000..2be7c0737e1 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/tpic2pdftex.1 @@ -0,0 +1,73 @@ +.TH TPIC2PDFTEX 1 2008-08-01 GNU "Tex Live Manpage" + +.\"$Id: tpic2pdftex.1,v 1.15 2010/01/16 12:13:17 hahe Exp hahe $ +.\" +.\" Copyright (C) 2002--2008 by Hartmut Henkel +.\" +.\" This program is free software; you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation; either version 2 of the License, or (at +.\" your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, but +.\" WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +.\" See the GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program; if not, write to the +.\" Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, +.\" MA 02111-1307 USA + +.SH NAME +tpic2pdftex \- convert tpic \\specials for use by pdftex + +.SH SYNOPSIS +.B pic +-t +.I somefile.pic +| +.B tpic2pdftex +> +.I somefile.tex + +Process +.IR somefile.tex +by +.BR pdftex/pdflatex. + +.SH DESCRIPTION +Experimental +.B awk +script for conversion of +.B tpic +\\specials as produced +by +.B (groff-)pic +into +.B pdfTeX +\\pdfliteral sections for further processing +by +.B pdftex. + +.SH NOTES +Current version: 1.97. + +.B tpic +\\special +description see e. g.: +Goossens, Rahtz, Mittelbach: The LaTeX Graphics Companion, +Addison-Wesley, 1997, pp. 464. + +.SH BUGS +Spline curve shapes not fully authentic (unknown algorithm). +Bounding box does not care for line thickness (groff pic feature). +Splines might be outside bounding box. +Fill color does not work correctly for arrowheads (pic limitation). + +.SH SEE ALSO +.BR pic (1), +.BR grap (1), +.BR groff (1), +.BR awk (1), +.BR pdftex (1). diff --git a/Master/texmf-dist/doc/man/man1/tpic2pdftex.man1.pdf b/Master/texmf-dist/doc/man/man1/tpic2pdftex.man1.pdf Binary files differnew file mode 100644 index 00000000000..76bdd705644 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/tpic2pdftex.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/ttf2afm.1 b/Master/texmf-dist/doc/man/man1/ttf2afm.1 new file mode 100644 index 00000000000..5c5d059ae54 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ttf2afm.1 @@ -0,0 +1,75 @@ +.TH "ttf2afm" "1" "September 2000" "pdfTeX" "pdfTeX" +.PP +.SH "NAME" +ttf2afm \- utility to generate AFM files for TrueType fonts +.PP +.SH "SYNOPSIS" +.B ttf2afm +.RI [ OPTIONS ] +.I FONTFILE +.PP +.SH "DESCRIPTION" +.PP +\fBttf2afm\fP is used to generate Adobe Font Metrics (AFM) files for +TrueType (TTF) fonts to allow them to be used with TeX\&. +.PP +\fBttf2afm\fP takes the name of a TrueType font file as a required +argument\&. It may also take one or more options from the list below +(note that \fB-d\fP and \fB-h\fP are mutually exclusive)\&. +.PP +.SH "OPTIONS" +.PP +.IP "\fB-a\fP" +print all glyphs +.IP "\fB-i\fP" +read names in encoding vector in form +`index\fInum\fP\&' +.IP "\fB-d\fP" +print glyph names in the form +`index\fIdecimal_num\fP\&' +.IP "\fB-h\fP" +print glyph names in the form +`index\fIhex_num\fP\&' +.IP "\fB-c\fP \fIname\fP" +print encoding tables to file +\fIname\&.eMN\fP, where \fIM\fP is the platform +number and \fIN\fP is the encoding +.IP "\fB-e\fP \fIenc\fP" +use encoding from file \fIenc\fP +.IP "\fB-o\fP \fIoutput\fP" +output to file \fIoutput\fP instead +of stdout +.PP +Platform numbers can be one of +.IP "0" +Apple Unicode +.IP "1" +Macintosh +.IP "2" +ISO +.IP "3" +Microsoft +.PP +Encodings can be +.IP "0" +Roman (if platform is Macintosh) +.IP "0" +Symbol (if platform is Microsoft) +.IP "1" +Unicode (if platform is Microsoft) +.PP +.SH "BUGS" +.PP +None known, but submit bug reports to <pdftex@tug\&.org> (mailing list)\&. +.PP +.SH "AUTHOR" +.PP +\fBttf2afm\fP is part of pdfTeX and was written by Han The Thanh +<thanh@informatics\&.muni\&.cz>\&. +.PP +This manual page was written by C\&.M\&. Connelly +<cmc@debian\&.org>, for +the Debian GNU/Linux system\&. It may be used by other distributions +without contacting the author\&. Any mistakes or omissions in the +manual page are my fault; inquiries about or corrections to this +manual page should be directed to me (and not to the primary author)\&. diff --git a/Master/texmf-dist/doc/man/man1/ttf2afm.man1.pdf b/Master/texmf-dist/doc/man/man1/ttf2afm.man1.pdf Binary files differnew file mode 100644 index 00000000000..628c49af597 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ttf2afm.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/ttf2pk.1 b/Master/texmf-dist/doc/man/man1/ttf2pk.1 new file mode 100644 index 00000000000..516a3081223 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ttf2pk.1 @@ -0,0 +1,311 @@ +.\" man page for ttf2pk +. +.TH TTF2PK 1 10-Jan-2002 "FreeType version 1.5" +.SH NAME +ttf2pk \- convert a TrueType font into TeX's PK format +.SH SYNOPSIS +.na +.nh +.B ttf2pk +.RB [ \-q ] +.RB [ \-n ] +.I "\%font-name \%resolution" +.br +.B ttf2pk +.B \-t +.RB [ \-q ] +.I \%font-name +.br +.B "ttf2pk \-\^\-version" +| +.B \-\^\-help +.ad +.hy +. +. +. +.\" ==== +.\" ==== macro definitions +.\" ==== +. +.\" here we define \TeX for troff and nroff +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +. +.\" and here the same for \LaTeX +.if t \{\ +.ie '\*(.T'dvi' \ +.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX +.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX +.\} +.if n .ds LX LaTeX +. +.\" \LaTeXe +.\" note that we need \vareps for TeX instead of \eps which can only be +.\" accessed with the \N escape sequence (in the Math Italic font) +.if t \{\ +.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v' +.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v' +.\} +.if n .ds LE LaTeX\ 2e +. +.\" a typewriter font +.if t \{\ +.de C +\fC\\$1\fP\\$2 +.. +.\} +.if n \{\ +.de C +\\$1\\$2 +.. +.\} +. +.\" ==== +.\" ==== end of macro definitions +.\" ==== +. +. +. +.SH DESCRIPTION +This program converts a TrueType font into a +.C PK +file; the created font can then be used with \*(TX +or \*(LX. +.PP +CJKV (Chinese/Japanese/Korean/old Vietnamese) subfonts as created by +.B ttf2tfm +are also supported. +.PP +.B ttf2pk +always assumes 10pt as the design size for the written \*(TX +font. +. +. +.SH PARAMETERS +.TP +.B \-q +This optional switch makes +.B ttf2pk +quiet. +It suppresses any informational output except warning and error +messages. +.TP +.B \-n +Use only `\c +.C \&.pk ' +as the extension instead of `\c +.C \&. \c +.RI < \%resolution >\c +.C pk '. +.TP +.B \-t +Test for the existence of +.IR \%font-name . +Returns 0 on success and prints out the corresponding line of +a map file (default: +.C \%ttfonts.map ), +provided the +.B \-q +switch isn't set. +.TP +.I font-name +The \*(TX +name of the font. +.B ttf2pk +looks this name up in a map file (see below) for further information how +to process the font. +.TP +.I resolution +The resolution, given in dots per inch. +Currently the horizontal resolution is equal to the vertical +resolution. +The design size is always assumed to be 10pt. +.TP +.B \-\^\-version +Shows the current version of +.B ttf2pk +and the used file search library (e.g.\ \c +.BR kpathsea ). +.TP +.B \-\^\-help +Shows usage information. +.PP +Environment variables for file searching are described in the manual page +of +.BR ttf2tfm . +. +. +.SH "THE CONFIGURATION FILE" +.B ttf2pk +uses a small configuration file called +.C ttf2pk.cfg ; +in each line it contains a keyword with its value, separated by whitespace. +Comment lines can start with any of the following characters: `*', `#', +`;', and `%'. +Leading whitespace is ignored. +.PP +Currently, only one keyword, `map', is recognized in this file; it takes +a map file name as a parameter. +If no extension is given to the map file name, +.C \&.map +is appended. +No whitespace is allowed in the map file name. +The `map' keyword can be given more than once to specify multiple map +files; if the map file name is prepended by a plus sign, it is added to +the list of map files to be used. +Example: +.PP +.in +2m +.C "map foo" +.br +.C "map +bar" +.PP +This makes +.B ttf2pk +to first read +.C foo.map , +then +.C bar.map . +.PP +If the configuration file is not found, +.B ttf2pk +tries to use +.C \%ttfonts.map +instead. +. +. +.SH "MAP FILES" +Parameters specified to +.B ttf2tfm +are preserved for +.B ttf2pk +in map files\(em\c +.B ttf2tfm +writes out to standard output, as the last line, a proper entry for a +map file. +.PP +As an example, a call to +.PP +.in +2m +.C "ttf2tfm arial -p T1.enc -s 0.25 -P 1 -E 0 arials" +.PP +will produce the following line: +.PP +.in +2m +.C "arials arial Slant=0.25 Pid=1 Eid=0 Encoding=T1.enc" +.PP +See +.BR ttf2tfm (1) +and +.BR afm2tfm (1) +of the +.B dvips +package for a detailed description of encoding files. +.PP +Here a table listing the various +.B ttf2tfm +parameters and the corresponding entries in a map file: +.PP +.in +4m +.ta 2i +-s Slant +.br +-e Extend +.br +-p Encoding +.br +-f Fontindex +.br +-P Pid +.br +-E Eid +.br +-n PS=Yes +.br +-N PS=Only +.br +-R Replacement +.br +-x Rotate=Yes +.br +-y Y-Offset +.PP +Single replacement glyph names given to +.B ttf2tfm +with `\c +.BI \-r \ old-glyphname\ new-glyphname\c +\&' +are directly specified with `\c +.IR old-glyphname = new-glyphname '. +They will be ignored if in subfont mode or if no encoding file is given. +.PP +One additional parameter in a map file is unique to +.BR ttf2pk : +`Hinting', which can take the values `On' or `Off'. +Some fonts (e.g.\ the CJK part of +.C \%cyberbit.ttf ) +are rendered incorrectly if hinting is activated. +Default is `On' (you can also use `Yes', `No', `1', and `0'). +.PP +For a description of subfonts (i.e., entries of the form `\c +.I <namestem>\c +.C @\c +.I <sfd-filename>\c +.C @ ') +please refer to +.BR ttf2tfm (1). +.PP +The format of a map file is simple. +Each line defines a font; first comes the \*(TX +font name, then its TrueType font file name, followed by the +parameters in any order. +Case is significant (even for parameter names); the parameters are +separated from its values by an equal sign, with whitespace possibly +surrounding it. +.B ttf2pk +reads in all map files line by line in the order given in the +configuration file, continuing until the \*(TX font specified on the +command line is found, otherwise the programs exits with error code\ 2. +Thus you can use any character invalid in a \*(TX +font name to start a comment line. +.PP +You can use `\\' as the final character of a line to indicate that the +input is continued on the next line. +The backslash and the following newline character will be removed. +.PP +.B ttf2pk +will abort if it can't find or read the \*(TX +font metrics file of the given \*(TX +font name. +. +. +.SH "RETURN VALUE" +If the call was successful, 0\ will be returned. +In case of error, the return value is\ 1. +Finally, if the font can't be found in the map files, +2\ is returned. +This simplifies the inclusion of +.B ttf2pk +into scripts like +.B mktexpk +for automatic font generation. +. +. +.SH "SEE ALSO" +.BR ttf2tfm (1), +.BR afm2tfm (1) +. +. +.SH AVAILABILITY +.B ttf2pk +is part of the FreeType\ 1 package, a high quality TrueType rendering +library. +. +. +.SH AUTHORS +Werner LEMBERG +.C <wl@gnu.org> +.br +Fr\('ed\('eric LOYER +.C <loyer@ensta.fr> diff --git a/Master/texmf-dist/doc/man/man1/ttf2pk.man1.pdf b/Master/texmf-dist/doc/man/man1/ttf2pk.man1.pdf Binary files differnew file mode 100644 index 00000000000..9cdb3301cb8 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ttf2pk.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/ttf2tfm.1 b/Master/texmf-dist/doc/man/man1/ttf2tfm.1 new file mode 100644 index 00000000000..482f2ee1ff4 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ttf2tfm.1 @@ -0,0 +1,1189 @@ +.\" man page for ttf2tfm +. +.TH TTF2TFM 1 10-Jan-2002 "FreeType version 1.5" +.SH NAME +ttf2tfm \- build TeX metric files from a TrueType font +.SH SYNOPSIS +.na +.nh +.B ttf2tfm +'in +\n(.ku +.IR ttffile [ .ttf | .ttc ] +[\c +.BI \-c \ \%caps-height-factor\c +] +[\c +.BI \-e \ \%extension-factor\c +] +[\c +.BI \-E \ \%encoding-id\^\c +] +[\c +.BI \-f \ \%font-index\c +] +[\c +.B \-l\c +] +[\c +.B \-L\ \c +.IR \%ligature-file [ .sfd ]\c +] +[\c +.B \-n\c +] +[\c +.B \-N\c +] +[\c +.B \-O\c +] +[\c +.B \-p\ \c +.IR \%inencfile [ .enc ]\c +] +[\c +.BI \-P \ \%platform-id\^\c +] +[\c +.B \-q\c +] +[\c +.BI \-r \ \%old-glyphname\ \%new-glyphname\c +] +[\c +.B \-R\ \c +.IR \%replacement-file [ .rpl ]\c +] +[\c +.BI \-s \ \%slant-factor\c +] +[\c +.B \-t\ \c +.IR \%outencfile [ .enc ]\c +] +[\c +.B \-T\ \c +.IR \%inoutencfile [ .enc ]\c +] +[\c +.B \-u\c +] +[\c +.B \-v\ \c +.IR \%vplfile [ .vpl ]\c +] +[\c +.B \-V\ \c +.IR \%scvplfile [ .vpl ]\c +] +[\c +.B \-w\c +] +[\c +.B \-x\c +] +[\c +.BI \-y \ \%vertical-shift-factor\c +] +[\c +.IR \%tfmfile [ .tfm ]\c +] +.br +.in +.B "ttf2tfm \-\^\-version" +| +.B \-\^\-help +.ad +.hy +. +. +. +.\" ==== +.\" ==== macro definitions +.\" ==== +. +.\" here we define \TeX for troff and nroff +.if t .ds TX T\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X +.if n .ds TX TeX +. +.\" and here the same for \LaTeX +.if t \{\ +.ie '\*(.T'dvi' \ +.ds LX L\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\*(TX +.el .ds LX L\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\*(TX +.\} +.if n .ds LX LaTeX +. +.\" \LaTeXe +.\" note that we need \vareps for TeX instead of \eps which can only be +.\" accessed with the \N escape sequence (in the Math Italic font) +.if t \{\ +.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v' +.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v' +.\} +.if n .ds LE LaTeX\ 2e +. +.\" a typewriter font +.if t \{\ +.de C +\fC\\$1\fP\\$2\fC\\$3\fP\\$4 +.. +.\} +.if n \{\ +.de C +\\$1\\$2\\$3\\$4 +.. +.\} +. +.\" ==== +.\" ==== end of macro definitions +.\" ==== +. +. +. +.SH DESCRIPTION +This program extracts the metric and kerning information of a TrueType +font and converts it into metric files usable by \*(TX +(quite similar to +.B afm2tfm +which is part of the +.B dvips +package; please consult its info files for more details on the various +parameters (especially encoding files). +.PP +Since a TrueType font often contains more than 256\ glyphs, some means +are necessary to map a subset of the TrueType glyphs onto a \*(TX +font. +To do this, two mapping tables are needed: the first (called `input' or +`raw' encoding) maps the TrueType font to a raw \*(TX font (this mapping +table is used by both +.B ttf2tfm +and +.BR ttf2pk ), +and the second (called `output' or `virtual' encoding) maps the raw \*(TX +font to another (virtual) \*(TX +font, providing all kerning and ligature information needed by \*(TX. +.PP +This two stage mapping has the advantage that one raw font can be +accessed with various \*(LX +encodings (e.g.\ T1 and OT1) via the virtual font mechanism, and just +one +.C PK +file is necessary. +.PP +For CJKV (Chinese/Japanese/Korean/old Vietnamese) fonts, a different +mechanism is provided (see +.B "SUBFONT DEFINITION FILES" +below). +. +. +.SH PARAMETERS +Most of the command line switch names are the same as in +.B afm2tfm +for convenience. +One or more space characters between an option and its value is mandatory; +options can't be concatenated. +For historical reasons, the first parameter can +.I not +be a switch but must be the font name. +.TP +.BI \-c \ caps-height-factor +The height of small caps made with the +.B \-V +switch. +Default value of this real number is\ 0.8 times the height of uppercase +glyphs. +.IP +Will be ignored in subfont mode. +.TP +.BI \-e \ extension-factor +The extension factor to stretch the characters horizontally. +Default value of this real number is\ 1.0; if less than\ 1.0, you get a +condensed font. +.TP +.BI \-E \ encoding-id +The TrueType encoding ID. +Default value of this non-negative integer is\ 1. +.IP +Will be ignored if +.B \-N +is used. +.TP +.BI \-f \ font-index +The font index in a TrueType Collection. +Default is the first font (index\ 0). +[TrueType collections are usually found in some CJK fonts; e.g.\ the first +font index specifies glyphs and metrics for horizontal writing, and the +second font index does the same for vertical writing. +TrueType collections usually have the extension `\c +.C \&.ttc '.] +.IP +Will be ignored for ordinary TrueType fonts. +.TP +.B \-l +Create ligatures in subfonts between first and second bytes of all the +original character codes. +Example: Character code\ 0xABCD maps to character position\ 123 in +subfont\ 45. +Then a ligature in subfont\ 45 between position 0xAB and\ 0xCD pointing +to character\ 123 will be produced. +The fonts of the Korean H\*(LX +package use this feature. +Note that this option generates correct ligatures only for TrueType fonts +where the input cmap is identical to the output encoding. +In case of H\*(LX, TTFs must have platform ID\ 3 and encoding ID\ 5. +.IP +Will be ignored if not in subfont mode. +.TP +.BI \-L \ ligature-file +Same as +.BR \-l , +but character codes for ligatures are specified in +.IR \%ligature-file . +For example, `\c +.C \-L\ \%KS-HLaTeX ' +generates correct ligatures for the Korean H\*(LX +package regardless of the platform and encoding ID of the used TrueType +font (the file +.C KS-HLaTeX.sfd +is part of the ttf2pk package). +.IP +Ligature files have the same format and extension as +.C SFD +files. +This option will be ignored if not in subfont mode. +.TP +.B \-n +Use PS names (of glyphs) of the TrueType font. +Only glyphs with a valid entry in the selected cmap are used. +.IP +Will be ignored in subfont mode. +.TP +.B \-N +Use only PS names of the TrueType font. +No cmap is used, thus the switches +.B \-E +and +.B \-P +have no effect, causing a warning message. +.IP +Will be ignored in subfont mode. +.TP +.B \-O +Use octal values for all character codes in the +.C VPL +file rather than names; this is useful for symbol or CJK fonts where +character names such as `A' are meaningless. +.TP +.BI \-p \ inencfile +The input encoding file name for the TTF\(->raw\ \*(TX +mapping. +This parameter has to be specified in a map file +(default: +.C \%ttfonts.map ) +recorded in +.C \%ttf2pk.cfg +for successive +.B ttf2pk +calls. +.IP +Will be ignored in subfont mode. +.TP +.BI \-P \ platform-id +The TrueType platform ID. +Default value of this non-negative integer is\ 3. +.IP +Will be ignored if +.B \-N +is used. +.TP +.B \-q +Make +.B ttf2tfm +quiet. +It suppresses any informational output except warning and error +messages. +For CJK fonts, the output can get quite large if you don't specify +this switch. +.TP +.BI \-r \ old-glyphname\ new-glyphname +Replaces +.I \%old-glyphname +with +.IR \%new-glyphname . +This switch is useful if you want to give an unnamed glyph (i.e., a glyph +which can be represented with `.gXXX' or `.cXXX' only) a name or if you want +to rename an already existing glyph name. +You can't use the `.gXXX' or `.cXXX' glyph name constructs for +.IR \%new-glyphname ; +multiple occurrences of +.B \-r +are possible. +.IP +If in subfont mode or if no encoding file is specified, this switch is +ignored. +.TP +.BI \-R \ replacement-file +Use this switch if you have many replacement pairs; they can be collected +in a file which should have `\c +.C \&.rpl ' +as extension. +The syntax used in such replacement files is simple: Each non-empty +line must contain a pair `\c +.IR "\%old-glyphname \%new-glyphname" ' +separated by whitespace (without the quotation marks). +A percent sign starts a line comment; you can continue a line on the next +line with a backslash as the last character. +.IP +If in subfont mode or if no encoding file is specified, this switch is +ignored. +.TP +.BI \-s \ slant-factor +The obliqueness factor to slant the font, usually much smaller than\ 1. +Default of this real number is\ 0.0; if the value is larger than zero, +the characters slope to the right, otherwise to the left. +.TP +.BI \-t \ outencfile +The output encoding file name for the virtual font(s). +Only characters in the raw \*(TX +font are used. +.IP +Will be ignored in subfont mode. +.TP +.BI \-T \ inoutencfile +This is equivalent to +.RB ` \-p +.I inoutencfile +.B \-t +.IR inoutencfile '. +.IP +Will be ignored in subfont mode. +.TP +.B \-u +Use only those characters specified in the output encoding, and no +others. +By default, +.B ttf2tfm +tries to include all characters in the virtual font, even those not +present in the encoding for the virtual font (it puts them into +otherwise-unused positions, rather arbitrarily). +.IP +Will be ignored in subfont mode. +.TP +.BI \-v \ vplfile +Output a +.C VPL +file in addition to the +.C TFM +file. +If no output encoding file is specified, +.B ttf2tfm +uses a default font encoding (cmtt10). +.B Note: +Be careful to use different names for the virtual font and the raw font! +.IP +Will be ignored in subfont mode. +.TP +.BI \-V \ scvplfile +Same as +.BR \-v , +but the virtual font generated is a pseudo small caps font obtained by +scaling uppercase letters by\ 0.8 (resp. the value specified with +.BR \-c ) +to typeset lowercase. +This font handles accented letters and retains proper kerning. +.IP +Will be ignored in subfont mode. +.TP +.B \-w +Generate PostScript encoding vectors containing glyph indices, primarily +used to embed TrueType fonts in pdf\*(TX. +.B ttf2tfm +takes the +.C TFM +names and replaces the suffix with +.C \&.enc ; +that is, for files +.C foo01.tfm , +.C foo02.tfm ,\ \&.\|.\|.\& +it creates +.C foo01.enc , +.C foo02.enc ,\ \&.\|.\|.\|\& +at the same place. +.IP +Will be ignored if not in subfont mode. +.TP +.B \-x +Rotate all glyphs by 90 degrees counter-clockwise. +If no +.B \-y +parameter is given, the rotated glyphs are shifted down vertically +by\ 0.25em. +.IP +Will be ignored if not in subfont mode. +.TP +.BI \-y \ vertical-shift-factor +Shift down rotated glyphs by the given amount (the unit is +.IR em ). +.IP +Ignored if not in subfont mode or glyphs are not rotated. +.TP +.B \-\^\-version +Shows the current version of +.B ttf2tfm +and the used file search library (e.g. +.BR kpathsea ). +.TP +.B \-\^\-help +Shows usage information. +.PP +If no +.C TFM +file name is given, the name of the +.C TTF +file is used, including the full path and replacing the extension with `\c +.C \&.tfm '. +. +. +.SH CMAPS +Contrary to Type\ 1 PostScript fonts (but similar to the new CID +PostScript font format), most TrueType fonts have more than one native +mapping table, also called `cmap', which maps the (internal) TTF glyph +indices to the (external) TTF character codes. +Common examples are a mapping table to Unicode encoded character +positions, and the standard Macintosh mapping. + +To specify a TrueType mapping table, use the options +.B \-P +and +.BR \-E . +With +.B \-P +you specify the platform ID; defined values are: +.PP +.in +4m +.ta 3iC +.I "platform platform ID (pid)" +.sp +.ta 3iR +Apple Unicode 0 +.br +Macintosh 1 +.br +ISO 2 +.br +Microsoft 3 +.PP +The encoding ID depends on the platform. +For pid=0, we ignore the +.B \-E +parameter (setting it to zero) since the mapping table is always +Unicode version\ 2.0. +For pid=1, the following table lists the defined values: +.PP +.in +4m +.ta 3iC +.ti -2m +platform ID = 1 +.sp +.I "script encoding ID (eid)" +.sp +.ta 3iR +Roman 0 +.br +Japanese 1 +.br +Chinese 2 +.br +Korean 3 +.br +Arabic 4 +.br +Hebrew 5 +.br +Greek 6 +.br +Russian 7 +.br +Roman Symbol 8 +.br +Devanagari 9 +.br +Gurmukhi 10 +.br +Gujarati 11 +.br +Oriya 12 +.br +Bengali 13 +.br +Tamil 14 +.br +Telugu 15 +.br +Kannada 16 +.br +Malayalam 17 +.br +Sinhalese 18 +.br +Burmese 19 +.br +Khmer 20 +.br +Thai 21 +.br +Laotian 22 +.br +Georgian 23 +.br +Armenian 24 +.br +Maldivian 25 +.br +Tibetan 26 +.br +Mongolian 27 +.br +Geez 28 +.br +Slavic 29 +.br +Vietnamese 30 +.br +Sindhi 31 +.br +Uninterpreted 32 +.PP +Here are the ISO encoding IDs: +.PP +.in +4m +.ta 3iC +.ti -2m +platform ID = 2 +.sp +.I "encoding encoding ID (eid)" +.sp +.ta 3iR +ASCII 0 +.br +ISO 10646 1 +.br +ISO 8859-1 2 +.PP +And finally, the Microsoft encoding IDs: +.PP +.in +4m +.ta 3iC +.ti -2m +platform ID = 3 +.sp +.I "encoding encoding ID (eid)" +.sp +.ta 3iR +Symbol 0 +.br +Unicode 2.0 1 +.br +Shift JIS 2 +.br +GB 2312 (1980) 3 +.br +Big 5 4 +.br +KS X 1001 (Wansung) 5 +.br +KS X 1001 (Johab) 6 +.br +UCS-4 10 +.PP +The program will abort if you specify an invalid platform/encoding ID +pair. +It will then show the possible pid/eid pairs. +Please note that most fonts have at most two or three cmaps, usually +corresponding to the pid/eid pairs (1,0), (3,0), or (3,1) in case of +Latin based fonts. +Valid Microsoft fonts should have a (3,1) mapping table, but some +fonts exist (mostly Asian fonts) which have a (3,1) cmap not encoded +in Unicode. +The reason for this strange behavior is the fact that some old +MS\ Windows versions will reject fonts having a non-(3,1) cmap (since +all non-Unicode Microsoft encoding IDs are for Asian MS\ Windows +versions). +.PP +The +.B \-P +and +.B \-E +options of +.B ttf2tfm +must be equally specified for +.BR ttf2pk ; +the corresponding parameters in a map file are `Pid' and `Eid', +respectively. +.PP +The default pid/eid pair is (3,1). +.PP +Similarly, an +.B \-f +option must be specified as `Fontindex' parameter in a map file. +.PP +If you use the +.B \-N +switch, all cmaps are ignored, using only the PostScript names in the +TrueType font. +The corresponding option in a map file is \%`PS=Only'. +If you use the +.B \-n +switch, the default glyph names built into +.B ttf2tfm +are replaced with the PS glyph names found in the font. +In many cases this is not what you want because the glyph names in the +font are often incorrect or non-standard. +The corresponding option in a map file is \%`PS=Yes'. +.PP +Single replacement glyph names specified with +.B \-r +must be given directly as `\c +.IR "old-glyphname new-glyphname" ' +in a map file; +.B \-R +is equivalent to the `Replacement' option. +. +. +.SH INPUT AND OUTPUT ENCODINGS +You must specify the encoding vectors from the TrueType font to the +raw \*(TX +font and from the raw \*(TX +font to the virtual \*(TX +font exactly as with +.BR afm2tfm , +but you have more possibilities to address the character codes. +[With `encoding vector' a mapping table with 256\ entries in form of a +PostScript vector is meant; see the file +.C \%T1-WGL4.enc +of this package for an example.] +With +.BR afm2tfm , +you must access each glyph with its Adobe glyph name, e.g.\ \c +\%`/quotedsingle' or \%`/Acircumflex'. +This has been extended with +.BR ttf2tfm ; +now you can (and sometimes must) access the code points and/or glyphs +directly, using the following syntax for specifying the character position +in decimal, octal, or hexadecimal notation: +`/.c\c +.IR <decimal-number> ', +`/.c0\c +.IR <octal-number> ', +or `/.c0x\c +.IR <hexadecimal-number> '. +Examples: \%`/.c72', \%`/.c0646', \%`/.c0x48'. +To access a glyph index directly, use the character `g' instead of `c' in +the just introduced notation. +Example: \%`/.g0x32'. +[Note: The `.cXXX' notation makes no sense if +.B \-N +is used.] +.PP +For pid/eid pairs (1,0) and (3,1), both +.B ttf2tfm +and +.B ttf2pk +recognize built-in default Adobe glyph names; the former follows the names +given in Appendix\ E of the book `Inside Macintosh', volume\ 6, the latter +uses the names given in the TrueType Specification (WGL4, a Unicode subset). +Note that Adobe names for a given glyph are often not unique and do +sometimes differ, e.g., many PS fonts have the glyph `mu', whereas this +glyph is called `mu1' in the WGL4 character set to distinguish it from the +real Greek letter mu. +Be also aware that OpenType (i.e. TrueType\ 2.0) fonts use an updated WGL4 +table; we use the data from the latest published TrueType specification +(1.66). +You can find those mapping tables in the source code file +.C \%ttfenc.c . +.PP +On the other hand, the switches +.B \-n +and +.B \-N +makes +.B ttf2tfm +read in and use the PostScript names in the TrueType font itself (stored +in the `post' table) instead of the default Adobe glyph names. +.PP +Use the +.B \-r +switch to remap single glyph names and +.B \-R +to specify a file containing replacement glyph name pairs. +.PP +If you don't select an input encoding, the first 256\ glyphs of the +TrueType font with a valid entry in the selected cmap will be mapped +to the \*(TX +raw font (without the +.B \-q +option, +.B ttf2tfm +prints this mapping table to standard output), followed by all glyphs +not yet addressed in the selected cmap. +However, some code points for the (1,0) pid/eid pair are omitted since +they do not represent glyphs useful for \*(TX: +0x00 (null), 0x08 (backspace), 0x09 (horizontal tabulation), 0x0d +(carriage return), and 0x1d (group separator). +The `invalid character' with glyph index\ 0 will be omitted too. +.PP +If you select the +.B \-N +switch, the first 256\ glyphs of the TrueType font with a valid PostScript +name will be used in case no input encoding is specified. +Again, some glyphs are omitted: `.notdef', `.null', and +`nonmarkingreturn'. +.PP +If you don't select an output encoding, +.B ttf2tfm +uses the same mapping table as +.B afm2tfm +would use (you can find it in the source code file +.C \%texenc.c ); +it corresponds to \*(TX +typewriter text. +Unused positions (either caused by empty code points in the mapping +table or missing glyphs in the TrueType font) will be filled (rather +arbitrarily) with characters present in the input encoding but not +specified in the output encoding (without the +.B \-q +option +.B ttf2tfm +prints the final output encoding to standard output). +Use the +.B \-u +option if you want only glyphs in the virtual font which are defined +in the output encoding file, and nothing more. +.PP +One feature missing in +.B afm2tfm +has been added which is needed by \*(LX's T1 encoding: +.B ttf2tfm +will construct the glyph `Germandbls' (by simply concatenating two `S' +glyphs) even for normal fonts if possible. +It appears in the glyph list as the last item, marked with an asterisk. +Since this isn't a real glyph it will be available only in the virtual +font. +.PP +For both input and output encoding, an empty code position is +represented by the glyph name \%`/.notdef'. +.PP +In encoding files, you can use `\\' as the final character of a line to +indicate that the input is continued on the next line. +The backslash and the following newline character will be removed. +.PP +. +. +.SH SUBFONT DEFINITION FILES +CJKV (Chinese/Japanese/Korean/old Vietnamese) fonts usually contain +several thousand glyphs; to use them with \*(TX +it is necessary to split such large fonts into subfonts. +Subfont definition files (usually having the extension `\c +.C \&.sfd ') +are a simple means to do this smoothly. +.PP +A subfont file name usually consists of a prefix, a subfont infix, and +a postfix (which is empty in most cases), e.g. +.PP +.in +2m +ntukai23 \(-> prefix: ntukai, infix: 23, postfix: (empty) +.PP +Here the syntax of a line in an +.C SFD +file, describing one subfont: +.in +2m +.TP +.I <whitespace> <infix> <whitespace> <ranges> <whitespace> +.sp +.TP +.IR <infix> \ := +anything except whitespace. +It is best to use only alphanumerical characters. +.TP +.IR <whitespace> \ := +space, formfeed, carriage return, horizontal and vertical tabs -- no +newline characters. +.TP +.IR <ranges> \ := +.IR "<ranges> <whitespace> <codepoint>" \ | +.br +.IR "<ranges> <whitespace> <range>" \ | +.br +.I <ranges> <whitespace> <offset> <whitespace> <range> +.TP +.IR <codepoint> \ := +.I <number> +.br +.TP +.IR <range> \ := +.IR <number> \ `_' \ <number> +.br +.TP +.IR <offset> \ := +.IR <number> \ `:' +.TP +.IR <number> \ := +hexadecimal (prefix `0x'), decimal, or octal (prefix `0') +.PP +A line can be continued on the next line with a backslash ending the line. +The ranges must not overlap; offsets have to be in the range 0-255. +.PP +Example: +.PP +.in +2m +The line +.PP +.in +4m +.C "03 10: 0x2349 0x2345_0x2347" +.PP +.in +2m +assigns to the code positions 10, 11, 12, and\ 13 of the subfont +having the infix `03' the character codes 0x2349, 0x2345, 0x2346, and +0x2347 respectively. +.PP +The +.C SFD +files in the distribution are customized for the CJK package for +\*(LX. +.PP +You have to embed the +.C SFD +file name into the +.C TFM +font name (at the place where the infix will appear) surrounded by two +`@' signs, on the command line resp.\ a map file; +both +.B ttf2tfm +and +.B ttf2pk +switch then to subfont mode. +.PP +It is possible to use more than a single +.C SFD +file by separating them with commata and no whitespace; for a given +subfont, the first file is scanned for an entry, then the next file, +and so on. +Later entries override entries found earlier (possibly only partially). +For example, the first +.C SFD +file sets up range 0x10-0xA0, and the next one modifies entries +0x12 and 0x25. +As can be easily seen, this algorithm allows for adding and replacing, +but not for removing entries. +.PP +Subfont mode disables the options +.BR \-n , +.BR \-N , +.BR \-p , +.BR \-r , +.BR \-R , +.BR \-t , +.BR \-T , +.BR \-u , +.BR \-v , +.BR \-V +and +.B \-w +for +.BR ttf2tfm ; +similarly, no `Encoding' or `Replacement' parameter is allowed in +a map file. +Single replacement glyph names are ignored too. +.PP +.B ttf2tfm +will create all subfont +.C TFM +files specified in the +.C SFD +files (provided the subfont contains glyphs) in one run. +.PP +Example: +.PP +.in +2m +The call +.PP +.in +4m +.C "ttf2tfm ntukai.ttf ntukai@Big5,Big5-supp@" +.PP +.in +2m +will use +.C Big5.sfd +and +.C Big5-supp.sfd , +producing +.I all +subfont files +.C ntukai01.tfm , +.C ntukai02.tfm , +etc. +. +. +.SH "RETURN VALUE" +ttf2tfm returns 0 on success and 1 on error; warning and error +messages are written to standard error. +. +. +.SH "SOME NOTES ON FILE SEARCHING" +Both +.B ttf2pk +and +.B ttf2tfm +use either the +.BR kpathsea , +.BR emtexdir , +or +.B MiK\*(TX +library for searching files +.RB ( emtexdir +will work only on operating systems which have an MS-DOSish background, i.e. +MS-DOS, OS/2, Windows; +.B Mik\*(TX +is specific to MS Windows). +.PP +As a last resort, both programs can be compiled without a search library; +the searched files must be then in the current directory or specified with a +path. +Default extensions will be appended also (with the exception that only `\c +.C \&.ttf ' +is appended and not `\c +.C \&.ttc '). +. +. +.SS kpathsea +Please note that older versions of +.B kpathsea +(<3.2) have no special means to seach for TrueType fonts and related +files, thus we use the paths for PostScript related stuff. +The actual version of kpathsea is displayed on screen if you call +either +.B ttf2pk +or +.B ttf2tfm +with the +.B \-\^\-version +command line switch. +.PP +Here is a table of the file type and the corresponding +.B kpathsea +variables. +.C TTF2PKINPUTS +and +.C TTF2TFMINPUTS +are program specific environment variables introduced in +.B kpathsea +version\ 3.2: +.PP +.in +4m +.ta 2i +.C \&.ttf \ and "\ .ttc TTFONTS" +.br +.C "ttf2pk.cfg TTF2PKINPUTS" +.br +.C "\&.map TTF2PKINPUTS" +.br +.C "\&.enc TTF2PKINPUTS, TTF2TFMINPUTS" +.br +.C "\&.rpl TTF2PKINPUTS, TTF2TFMINPUTS" +.br +.C "\&.tfm TFMFONTS" +.br +.C "\&.sfd TTF2PKINPUTS, TTF2TFMINPUTS" +.PP +And here the same for pre-3.2-versions of +.B kpathsea: +.PP +.in +4m +.ta 2i +.C \&.ttf \ and "\ .ttc T1FONTS" +.br +.C "ttf2pk.cfg TEXCONFIG" +.br +.C "\&.map TEXCONFIG" +.br +.C "\&.enc TEXPSHEADERS" +.br +.C "\&.rpl TEXPSHEADERS" +.br +.C "\&.tfm TFMFONTS" +.br +.C "\&.sfd TEXPSHEADERS" +.PP +Finally, the same for pre-3.0-versions (as used e.g. in te\*(TX\ 0.4): +.PP +.in +4m +.ta 2i +.C \&.ttf \ and "\ .ttc DVIPSHEADERS" +.br +.C "ttf2pk.cfg TEXCONFIG" +.br +.C "\&.map TEXCONFIG" +.br +.C "\&.enc DVIPSHEADERS" +.br +.C "\&.rpl DVIPSHEADERS" +.br +.C "\&.tfm TFMFONTS" +.br +.C "\&.sfd DVIPSHEADERS" +.PP +Please consult the info files of +.B kpathsea +for details on these variables. +The decision whether to use the old or the new scheme will be done +during compilation. +.PP +You should set the +.C TEXMFCNF +variable to the directory where your +.C texmf.cnf +configuration file resides. +.PP +Here is the proper command to find out to which value a +.B kpathsea +variable is set (we use +.C TTFONTS +as an example). +This is especially useful if a variable isn't set in +.C texmf.cnf +or in the environment, thus pointing to the default value which is +hard-coded into the +.B kpathsea +library. +.PP +.in +2m +.C "kpsewhich -progname=ttf2tfm -expand-var='$TTFONTS'" +.PP +We select the program name also since it is possible to specify +variables which are searched only for a certain program -- in our +example it would be +.C TTFONTS.ttf2tfm . +.PP +A similar but not identical method is to say +.PP +.in +2m +.C "kpsewhich -progname=ttf2tfm -show-path='truetype fonts'" +.PP +[A full list of format types can be obtained by saying `\c +.C "kpsewhich --help" ' +on the command line prompt.] +This is exactly how +.B ttf2tfm +(and +.BR ttf2pk ) +searches for files; the disadvantage is that all variables are expanded +which can cause very long strings. +. +. +.SS emtexdir +Here the list of suffixes and their related environment variables to be +set in +.C autoexec.bat +(resp. in +.C config.sys +for OS/2): +.PP +.in +4m +.ta 2i +.C \&.ttf \ and "\ .ttc TTFONTS" +.br +.C "ttf2pk.cfg TTFCFG" +.br +.C "\&.map TTFCFG" +.br +.C "\&.enc TTFCFG" +.br +.C "\&.rpl TTFCFG" +.br +.C "\&.tfm TEXTFM" +.br +.C "\&.sfd TTFCFG" +.PP +If one of the variables isn't set, a warning message is emitted. +The current directory will always be searched. +As usual, one exclamation mark appended to a directory path causes +subdirectories one level deep to be searched, two exclamation marks cause +all subdirectories to be searched. +Example: +.PP +.in +2m +.C TTFONTS=c:\\\\fonts\\\\truetype!!;d:\\\\myfonts\\\\truetype! +.PP +Constructions like `\c +.C c:\\\\fonts!!\\\\truetype ' +aren't possible. +. +. +.SS MiK\*(TX +Both +.B ttf2tfm +and +.B ttf2pk +have been fully integrated into +.BR MiK\*(TX . +Please refer to the documentation of +.B MiK\*(TX +for more details on file searching. +. +. +.SH PROBLEMS +Many +.B vptovf +implementations allow only 100\ bytes for the +.C TFM +header (the limit is 1024 in the +.C TFM +file format itself): 8\ bytes for checksum and design size, 40\ bytes for the +family name, 20\ bytes for the encoding, and 4\ bytes for a face byte. +There remain only 28\ bytes for some additional information which is used by +.B ttf2tfm +for an identification string (which is essentially a copy of the command +line), and this limit is always exceeded. + +The optimal solution is to increase the value of +.I \%max_header_bytes +in the file +.C vptovf.web +(and probably +.C pltotf.web +too) to, say,\ 400 +and recompile +.B vptovf +(and +.BR pltotf ). +Otherwise you'll get some (harmless) error messages like +.PP +.in +2m +.C "This HEADER index is too big for my present table size" +.PP +which can be safely ignored. +. +. +.SH "SEE ALSO" +.BR ttf2pk (1), +.BR afm2tfm (1), +.BR vptovf (1), +.br +the info pages for +.B dvips +and +.B kpathsea +. +. +.SH AVAILABILITY +.B ttf2tfm +is part of the FreeType\ 1 package, a high quality TrueType rendering +library. +. +. +.SH AUTHORS +Werner LEMBERG +.C <wl@gnu.org> +.br +Fr\('ed\('eric LOYER +.C <loyer@ensta.fr> diff --git a/Master/texmf-dist/doc/man/man1/ttf2tfm.man1.pdf b/Master/texmf-dist/doc/man/man1/ttf2tfm.man1.pdf Binary files differnew file mode 100644 index 00000000000..63b2716fef4 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ttf2tfm.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/ttfdump.1 b/Master/texmf-dist/doc/man/man1/ttfdump.1 new file mode 100644 index 00000000000..f0d5e4cd4d8 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ttfdump.1 @@ -0,0 +1,143 @@ +.TH TTFDUMP 1 "14 November 2011" "ILX Project" +.SH NAME +ttfdump \- Dumping the contents of a TrueType Font file +.SH SYNOPSIS +.B ttfdump +.RB [ \-h ] +.RB [ \-t +.IR tablename ] +.RB [ \-g +.IR glyphnumber ] +.RB [ \-c +.IR collection ] +.RB [ \-o +.IR dumpfile ] +.RB [ \-i ] +.I ttfile +.SH DESCRIPTION +\fBttfdump\fP dumps the contents of a TrueType font file in ASCII form. +A TrueType font file is consist of various tables. Those table are divided into +two categories - \fIRequired Tables\fP and \fIOptional Tables\fP. Mulitiple +TrueType fonts can be merged to a TrueType Collection. +.SS Options +.TP +\fB-h\fP +Print a help message on standard output and exit. +.TP +\fB-t\fI tablename\fR +If this option is specified then dump the table \fI"tablename"\fP, otherwise +dump every tables in \fIttfile\fP. +\fITablename\fP can be one of the following: +.RS +.TP +\fBRequired Tables\fR +.TP +\fIcmap\fP +character to glyph mapping table +.TP +\fIglyf\fP +glyph data +.TP +\fIhead\fP +font header +.TP +\fIhhea\fP +horizontal header +.TP +\fIhmtx\fP +horizontal metrics +.TP +\fIloca\fP +index to location +.TP +\fImaxp\fP +maximum profile +.TP +\fIname\fP +naming table +.TP +\fIpost\fP +PostScript information +.TP +\fIOS/2\fP +OS/2 and windows specific metrics +.TP +\fBOptional Tables\fR +.TP +\fIcvt\fP +control value table +.TP +\fIfpgm\fP +font program; \fInot implemented yet.\fP +.TP +\fIgasp\fP +grid-fitting and scan conversion procedure (grayscale) +.TP +\fIhdmx\fP +horizontal device metrics +.TP +\fIkern\fP +kerning table +.TP +\fILTSH\fP +Linear threshold table +.TP +\fIprep\fP +CVT program; \fInot implemented yet\fP +.TP +\fIPCLT\fP +PCL5 table +.TP +\fIVDMX\fP +Vertical Device Metrics table +.TP +\fIvhea\fP +vertical metrics header +.TP +\fIvmtx\fP +vertical metrics +.TP +\fBAdditional OpenType Tables\fR +.TP +\fIGPOS\fP +glyph positioning table +.TP +\fIGSUB\fP +glyph substitution table +.RE +.TP +\fB-g\fI glyphnumber\fR +If this option is specified then dump the glyph with index \fIglyphnumber\fP, +otherwise dump all glyphs in \fIttfile\fP. +.TP +\fB-c\fI collection\fR +Select a TrueType font in a TrueType Collection. +.TP +\fB-o\fI dumpfile\fR +Output of the dump. If this option is not specified, dump to stdout. +.TP +\fB-i\fI ttfile\fR +TrueType font file to be dumped. +.RE +.SH EXAMPLE +To dump all information in the TrueType font file times.ttf: +.RS +ttfdump times.ttf +.RE + +To dump the required table \fIcmap\fP in the file: +.RS +ttfdump -t cmap times.ttf +.RE + +To dump a single glyph with index 50: +.RS +ttfdump -g 50 times.ttf +.RE + +.SH SEE ALSO +TrueType 1.0 Font Files, \fI Technical Specification Revision 1.66 November 1995\fR +.SH NOTE +Instruction disassembler in not implemented. +.SH AUTHOR +Li-Da Lho, ollie@ms1.hinet.net diff --git a/Master/texmf-dist/doc/man/man1/ttfdump.man1.pdf b/Master/texmf-dist/doc/man/man1/ttfdump.man1.pdf Binary files differnew file mode 100644 index 00000000000..698572a1ffd --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ttfdump.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/ttftotype42.1 b/Master/texmf-dist/doc/man/man1/ttftotype42.1 new file mode 100644 index 00000000000..9a63e69ac09 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ttftotype42.1 @@ -0,0 +1,78 @@ +.ds V 2.92 +.de M +.BR "\\$1" "(\\$2)\\$3" +.. +.de Sp +.if n .sp +.if t .sp 0.4 +.. +.TH TTFTOTYPE42 1 "LCDF Typetools" "Version \*V" +.SH NAME +ttftotype42 \- create PostScript Type 42 wrapper of TrueType font +.SH SYNOPSIS +.B ttftotype42 +\%[\fIinput\fR [\fIoutput\fR]] +.SH DESCRIPTION +.BR Ttftotype42 +converts TrueType or TrueType-flavored OpenType font programs into +PostScript Type 42 format, which is a wrapper for the TrueType outlines. +This conversion preserves all outlines and hint information from the +original TrueType font. The Type 42 wrapper uses glyph names identical to +those expected by +.M pdflatex 1 +or +.M otftotfm 1 , +so encoding files suitable for TrueType fonts and +.B pdflatex +will also work for the Type 42 fonts and +.M dvips 1 . +If the file +.I output +is not specified output goes to the standard output. +If the file +.I input +is not specified input comes from the standard input. +' +.SH OPTIONS +.PD 0 +.TP 5 +.BI \-o " file\fR, " \-\-output " file" +Write output font to +.IR file +instead of the standard output. +' +.Sp +.TP 5 +.BR \-q ", " \-\-quiet +Do not generate any error messages. +' +.Sp +.TP 5 +.BR \-h ", " \-\-help +Print usage information and exit. +' +.Sp +.TP 5 +.BR \-v ", " \-\-version +Print the version number and some short non-warranty information and exit. +.PD +' +.SH "SEE ALSO" +.LP +.M cfftot1 1 , +.M otftotfm 1 , +.M pdftex 1 , +.M dvips 1 +.LP +Adobe Technical Note #5012, +.IR "The Type 42 Font Format Specification" +.LP +.IR "OpenType Specification" , +Version 1.4 +' +.SH AUTHOR +Eddie Kohler (ekohler@gmail.com) +.PP +The latest version is available from: +.br +http://www.lcdf.org/type/ diff --git a/Master/texmf-dist/doc/man/man1/ttftotype42.man1.pdf b/Master/texmf-dist/doc/man/man1/ttftotype42.man1.pdf Binary files differnew file mode 100644 index 00000000000..7a096fdc0e0 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/ttftotype42.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/updmap-sys.1 b/Master/texmf-dist/doc/man/man1/updmap-sys.1 new file mode 100644 index 00000000000..07038dda3c4 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/updmap-sys.1 @@ -0,0 +1 @@ +.so man1/updmap.1 diff --git a/Master/texmf-dist/doc/man/man1/updmap-sys.man1.pdf b/Master/texmf-dist/doc/man/man1/updmap-sys.man1.pdf Binary files differnew file mode 100644 index 00000000000..fb87dbd51c6 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/updmap-sys.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/updmap.1 b/Master/texmf-dist/doc/man/man1/updmap.1 new file mode 100644 index 00000000000..41b80248ec3 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/updmap.1 @@ -0,0 +1,360 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.40.10. +.TH UPDMAP "1" "June 2012" "TeX Live" "User Commands" +.SH NAME +updmap \- manage TeX font maps, per-user +.br +updmap-sys \- manage TeX font maps, system-wide +.SH SYNOPSIS +.B updmap +[\fIOPTION\fR] ... [\fICOMMAND\fR] +.br +.B updmap-sys +[\fIOPTION\fR] ... [\fICOMMAND\fR] +.SH DESCRIPTION +updmap (TeX Live, multi) version $Id: updmap.pl 26891 2012\-06\-10 22:41:49Z karl $ +.PP +Update the default font map files used by pdftex, dvips, and dvipdfm(x), +and optionally pxdvi, as determined by all configuration files updmap.cfg +(the ones returned by running "kpsewhich \fB\-\-all\fR updmap.cfg", but see below). +.PP +Among other things, these map files are used to determine which fonts +should be used as bitmaps and which as outlines, and to determine which +font files are included in the PDF or PostScript output. +.PP +By default, the TeX filename database (ls\-R) is also updated. +.SH OPTIONS +.TP +\fB\-\-cnffile\fR FILE +read FILE for the updmap configuration +(can be given multiple times, in which case +all the files are used) +.TP +\fB\-\-dvipdfmxoutputdir\fR DIR +specify output directory (dvipdfm(x) syntax) +.TP +\fB\-\-dvipsoutputdir\fR DIR +specify output directory (dvips syntax) +.TP +\fB\-\-pdftexoutputdir\fR DIR +specify output directory (pdftex syntax) +.TP +\fB\-\-pxdvioutputdir\fR DIR +specify output directory (pxdvi syntax) +.TP +\fB\-\-outputdir\fR DIR +specify output directory (for all files) +.TP +\fB\-\-copy\fR +cp generic files rather than using symlinks +.TP +\fB\-\-force\fR +recreate files even if config hasn't changed +.TP +\fB\-\-nomkmap\fR +do not recreate map files +.TP +\fB\-\-nohash\fR +do not run texhash +.TP +\fB\-n\fR, \fB\-\-dry\-run\fR +only show the configuration, no output +.TP +\fB\-\-quiet\fR, \fB\-\-silent\fR +reduce verbosity +.SS "Commands:" +.TP +\fB\-\-help\fR +show this message and exit +.TP +\fB\-\-version\fR +show version information and exit +.TP +\fB\-\-showoption\fR OPTION +show the current setting of OPTION +.TP +\fB\-\-showoptions\fR OPTION +show possible settings for OPTION +.TP +\fB\-\-setoption\fR OPTION VALUE +set OPTION to value; option names below +.TP +\fB\-\-setoption\fR OPTION=VALUE +as above, just different syntax +.TP +\fB\-\-enable\fR MAPTYPE MAPFILE +add "MAPTYPE MAPFILE" to updmap.cfg, +where MAPTYPE is Map, MixedMap, or KanjiMap +.TP +\fB\-\-enable\fR Map=MAPFILE +add "Map MAPFILE" to updmap.cfg +.HP +\fB\-\-enable\fR MixedMap=MAPFILE add "MixedMap MAPFILE" to updmap.cfg +.HP +\fB\-\-enable\fR KanjiMap=MAPFILE add "KanjiMap MAPFILE" to updmap.cfg +.TP +\fB\-\-disable\fR MAPFILE +disable MAPFILE, of whatever type +.TP +\fB\-\-listmaps\fR +list all active and inactive maps +.TP +\fB\-\-listavailablemaps\fR +same as \fB\-\-listmaps\fR, but without +unavailable map files +.TP +\fB\-\-syncwithtrees\fR +disable unavailable map files in updmap.cfg +.PP +Explanation of the map types: the (only) difference between Map and +MixedMap is that MixedMap entries are not added to psfonts_pk.map. +The purpose is to help users with devices that render Type 1 outline +fonts worse than mode\-tuned Type 1 bitmap fonts. So, MixedMap is used +for fonts that are available as both Type 1 and Metafont. +KanjiMap entries are added to psfonts_t1.map and kanjix.map. +.PP +Explanation of the OPTION names for \fB\-\-showoptions\fR, \fB\-\-showoptions\fR, \fB\-\-setoption\fR: +.TP +dvipsPreferOutline +true|false (default true) +.IP +Whether dvips uses bitmaps or outlines, when both are available. +.TP +dvipsDownloadBase35 +true|false (default true) +.IP +Whether dvips includes the standard 35 PostScript fonts in its output. +.TP +pdftexDownloadBase14 +true|false (default true) +.IP +Whether pdftex includes the standard 14 PDF fonts in its output. +.TP +pxdviUse +true|false (default false) +.IP +Whether maps for pxdvi (Japanese\-patched xdvi) are under updmap's control. +.TP +kanjiEmbed +(any string) +.TP +kanjiVariant +(any string) +.IP +See below. +.TP +LW35 +URWkb|URW|ADOBEkb|ADOBE (default URWkb) +.IP +Adapt the font and file names of the standard 35 PostScript fonts. +URWkb URW fonts with "berry" filenames (e.g. uhvbo8ac.pfb) +URW URW fonts with "vendor" filenames (e.g. n019064l.pfb) +ADOBEkb Adobe fonts with "berry" filenames (e.g. phvbo8an.pfb) +ADOBE Adobe fonts with "vendor" filenames (e.g. hvnbo___.pfb) +.IP +These options are only read and acted on by updmap; dvips, pdftex, etc., +do not know anything about them. They work by changing the default map +file which the programs read, so they can be overridden by specifying +command\-line options or configuration files to the programs, as +explained at the beginning of updmap.cfg. +.IP +The options kanjiEmbed and kanjiVariant specify special replacements +in the map lines. If a map contains the string @kanjiEmbed@, then +this will be replaced by the value of that option; similarly for +kanjiVariant. In this way, users of Japanese TeX can select different +fonts to be included in the final output. +.SH ENVIRONMENT +.PP +Explanation of trees and files normally used: +.IP +If \fB\-\-cnffile\fR is specified on the command line (possibly multiple +times), its value(s) are used. Otherwise, updmap reads all the +updmap.cfg files found by running `kpsewhich \fB\-all\fR updmap.cfg', in the +order returned by kpsewhich, with one exception: an updmap.cfg found +in TEXMFLOCAL is given higher priority than the updmap.cfg in +TEXMFMAIN, to ensure that local adjustments by administrators take +precedence over what is shipped in TeX Live. +.IP +In any case, if multiple updmap.cfg files are found, all the maps +mentioned in all the updmap.cfg files are merged. +.IP +Thus, if updmap.cfg files are present in all trees, and the default +layout is used as shipped with TeX Live, the following files are +read, in the given order. +.nf +.IP +For updmap\-sys: +TEXMFSYSCONFIG $TEXLIVE/YYYY/texmf\-config/web2c/updmap.cfg +TEXMFSYSVAR $TEXLIVE/YYYY/texmf\-var/web2c/updmap.cfg +TEXMFLOCAL $TEXLIVE/texmf\-local/web2c/updmap.cfg +TEXMFMAIN $TEXLIVE/YYYY/texmf/web2c/updmap.cfg +TEXMFDIST $TEXLIVE/YYYY/texmf\-dist/web2c/updmap.cfg +.IP +For updmap: +TEXMFCONFIG $HOME/.texliveYYYY/texmf\-config/web2c/updmap.cfg +TEXMFVAR $HOME/.texliveYYYY/texmf\-var/web2c/updmap.cfg +TEXMFHOME $HOME/texmf/web2c/updmap.cfg +TEXMFSYSCONFIG $TEXLIVE/YYYY/texmf\-config/web2c/updmap.cfg +TEXMFSYSVAR $TEXLIVE/YYYY/texmf\-var/web2c/updmap.cfg +TEXMFLOCAL $TEXLIVE/texmf\-local/web2c/updmap.cfg +TEXMFMAIN $TEXLIVE/YYYY/texmf/web2c/updmap.cfg +TEXMFDIST $TEXLIVE/YYYY/texmf\-dist/web2c/updmap.cfg +.IP +(where YYYY is the TeX Live release version). +.fi +.IP +There is another exception to keep upgradability from earlier versions +of TeX Live: if a file TEXMFLOCAL/web2c/updmap\-local.cfg exists +(formerly used by tlmgr to merge local fonts), then the file +TEXMFLOCAL/web2c/updmap.cfg is ignored (if it exists) and that +updmap\-local.cfg is used instead. In this case, updmap recognizes the +previous syntax for disabling map files in updmap\-local.cfg (this +syntax is different from what is used now). +.IP +According to the actions, updmap might write to one of the given files +or create a new updmap.cfg, described further below. +.IP +Where changes are saved: if config files are given on the command +line, then the first one given will be used to save any changes from +\fB\-\-setoption\fR, \fB\-\-enable\fR or \fB\-\-disable\fR. If the config files are taken +from kpsewhich output, then the algorithm is more complex: +.IP +1) If $TEXMFCONFIG/web2c/updmap.cfg or $TEXMFHOME/web2c/updmap.cfg +appears in the list of used files, then the one listed first by +kpsewhich \fB\-\-all\fR (equivalently, the one returned by kpsewhich +updmap.cfg), is used. +.IP +2) If neither of the above two are present and changes are made, a +new config file is created in $TEXMFCONFIG/web2c/updmap.cfg. +.IP +Resolving multiple definitions of a font: +.IP +If a font is defined in more than one map file, then the definition +coming from the first\-listed updmap.cfg is used. If a font is +defined multiple times within the same map file, one is chosen +arbitrarily. In both cases a warning is issued. +.IP +Disabling maps: +.IP +updmap.cfg files with higher priority (listed earlier) can disable +maps mentioned in lower priority (listed later) updmap.cfg files by +writing, e.g., +.IP +#! Map mapname.map +.IP +or +.IP +#! MixedMap mapname.map +.IP +in the higher\-priority updmap.cfg file. +.IP +As an example, suppose you have a copy of MathTime Pro fonts +and want to disable the Belleek version of the fonts; that is, +disable the map belleek.map. You can create the file +$TEXMFCONFIG/web2c/updmap.cfg with the content +.IP +#! Map belleek.map +Map mt\-plus.map +Map mt\-yy.map +.IP +and call updmap. +.IP +updmap writes the map files for dvips (psfonts.map) and pdftex +(pdftex.map) to the TEXMFVAR/fonts/map/updmap/{dvips,pdftex}/ +directories. +.IP +The log file is written to TEXMFVAR/web2c/updmap.log. +.IP +When updmap\-sys is run, TEXMFSYSCONFIG and TEXMFSYSVAR are used +instead of TEXMFCONFIG and TEXMFVAR, respectively. This is the only +difference between updmap\-sys and updmap. +.IP +Other locations may be used if you give them on the command line, or +these trees don't exist, or you are not using the original TeX Live. +.IP +To see the precise locations of the various files that +will be read and written, give the \fB\-n\fR option (or read the source). +.SH EXAMPLES +.PP +For step\-by\-step instructions on making new fonts known to TeX, read +http://tug.org/fonts/fontinstall.html. For even more terse +instructions, read the beginning of updmap.cfg. +.SH FILES +Configuration and input files: +.IP "\fIupdmap\&.cfg\fP" +Main configuration file\&. In +\fItexmf/web2c\fP by default, but may be located elsewhere +depending on your distribution\&. Each texmf tree read should have its +own \fIupdmap.cfg\fP. +.IP "\fIdvips35\&.map\fP" +Map file for standard 35 PostScript fonts for +use with \fBdvips\fP(1)\&. +.IP "\fIpdftex35\&.map\fP" +Map file for standard 35 PostScript fonts for +use with \fBpdftex\fP(1)\&. +.IP "\fIps2pk35\&.map\fP" +Map file for standard 35 PostScript fonts for +use with \fBps2pk\fP(1)\&. +.PP +Output files: +.IP "\fIpsfonts\&.map\fP" +For \fBdvips\fP(1)\&. +Same as \fIpsfonts_t1\&.map\fP if option \fBdvipsPreferOutline\fP active, +else as \fIpsfonts_pk\&.map\fP. +.IP "\fIpsfonts_pk\&.map\fP" +For \fBdvips\fP(1)\&. +Without information from MixedMap files\&. +(Setting of \fBdvipsPreferOutline\fP ignored\&.) +.IP "\fIpsfonts_t1\&.map\fP" +For \fBdvips\fP(1)\&. +With information from MixedMap files\&. +(Setting of \fBdvipsPreferOutline\fP ignored\&.) +.IP "\fIdownload35\&.map\fP" +For \fBdvips\fP(1)\&. +Always downloads the standard 35 fonts\&. +(Setting of \fBdvipsDownloadBase35\fP ignored\&.) +.IP "\fIbuiltin35\&.map\fP" +For \fBdvips\fP(1)\&. +Never downloads the standard 35 fonts\&. +(Setting of \fBdvipsDownloadBase35\fP ignored\&.) +.IP "\fIpdftex\&.map\fP" +For \fBpdftex\fP(1)\&. +Same as \fIpdftex_dl14\&.map\fP if option \fBpdftexDownloadBase14\fP active, +else as \fIpdftex_ndl14\&.map\fP. +.IP "\fIpdftex_dl14\&.map\fP" +For \fBpdftex\fP(1)\&. +Always downloads the standard 14 fonts\&. +.IP "\fIpdftex_ndl14\&.map\fP" +For \fBpdftex\fP(1)\&. +Never downloads the standard 14 fonts\&. +.IP "\fIps2pk\&.map\fP" +Similar to \fIpsfonts.map\fP file, but +forces all fonts to be downloaded, so this map file can be used with +\fBxdvi\fP(1) and \fBps2pk\fP(1)\&. +.PP +Configuration files for \fBdvips\fP(1): +.IP "\fIconfig\&.builtin35\fP" +Loads \fIbuiltin35\&.map\fP instead +of \fIpsfonts\&.map\fP\&. +.IP "\fIconfig\&.download35\fP" +Loads \fIdownload35\&.map\fP instead +of \fIpsfonts\&.map\fP\&. +.IP "\fIconfig\&.outline\fP" +Loads \fIpsfonts_t1\&.map\fP instead +of \fIpsfonts\&.map\fP\&. +.IP "\fIconfig\&.pdf\fP" +Loads \fIpsfonts_t1\&.map\fP instead +of \fIpsfonts\&.map\fP and has additional optimizations for PDF generation\&. +.IP "\fIconfig\&.pk\fP" +Loads \fIpsfonts_pk\&.map\fP instead +of \fIpsfonts\&.map\fP\&. +.IP "\fIconfig\&.www\fP" +Loads \fIpsfonts_t1\&.map\fP instead +of \fIpsfonts\&.map\fP\&. +(For compatibility with old versions\&.) +.IP "\fIconfig\&.gstopk\fP" +Loads \fIpsfonts_t1\&.map\fP instead +of \fIpsfonts\&.map\fP\&. +.SH "REPORTING BUGS" +Report bugs to: tex\-k@tug.org +.br +TeX Live home page: <http://tug.org/texlive/> diff --git a/Master/texmf-dist/doc/man/man1/updmap.man1.pdf b/Master/texmf-dist/doc/man/man1/updmap.man1.pdf Binary files differnew file mode 100644 index 00000000000..12d6c9327f6 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/updmap.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/vftovp.1 b/Master/texmf-dist/doc/man/man1/vftovp.1 new file mode 100644 index 00000000000..9fe58331fdb --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/vftovp.1 @@ -0,0 +1,93 @@ +.TH VFTOVP 1 "19 December 1994" "Web2C 2012" +.\"===================================================================== +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.el .ds OX TeX for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.\"===================================================================== +.SH NAME +vftovp \- convert virtual font (vf) files to virtual property lists (vpl) +.SH SYNOPSIS +.B vftovp +.RI [ OPTIONS ] +.IR vf_name [ \fB.vf\fP ] +.RI [ tfm_name [ \fB.tfm\fP ] +.RI [ vpl_name [ \fB.vpl\fP ]]] +.\"===================================================================== +.SH DESCRIPTION +This manual page is not meant to be exhaustive. The complete +documentation for this version of \*(TX can be found in the info file +or manual +.IR "Web2C: A TeX implementation" . +.PP +The +.B vftovp +program translates a (program-oriented) virtual font file and its +accompanying \*(TX font metric file to a (human-oriented) property list file. +Thus, the virtual font can be edited, and its exact contents can be +displayed mnemonically. It also serves as a VF-file validating program; +if no error messages are given, the input files are correct. +.PP +The filenames are extended with the appropriate extension if necessary. +.\"===================================================================== +.SH OPTIONS +.TP +.BI \-charcode-format= format +The argument +.I format +specifies how character codes are output in the VPL file. By +default, only letters and digits are output using the +.B C +integer code (i.e., in ASCII); the others are output in octal. (Unless +the font's coding scheme starts with +.B "TeX math sy" +or +.BR "TeX math ex" , +when all are output in octal.) If +.I format +is +.BR ascii , +all character codes that correspond to graphic characters, besides the +left and right parentheses, are output in ASCII. On the other hand, if +.I format +is +.BR octal , +all character codes are output in octal. +.PP +.TP +.B \-verbose +Without this option, +.B vftovp +operates silently. With it, a banner and progress report are printed on +.IR stdout . +.\"===================================================================== +.SH ENVIRONMENT +.B vftovp +looks for +.I vf_name +using the +environment variable VFFONTS. If that is not set, it uses the variable +TEXFONTS. If that is not set, it uses the system default. +.PP +See +.BR tex (1) +for the details of the searching. +.\"===================================================================== +.SH "SEE ALSO" +.BR pltotf (1), +.BR tftopl (1), +.BR vptovf (1). +.\"===================================================================== +.SH AUTHORS +Donald E. Knuth wrote the program, based in part on an idea of David Fuchs, +starting with the code for +.BR tftopl (1). +Karl Berry adapted it for compilation with +.BR web2c . diff --git a/Master/texmf-dist/doc/man/man1/vftovp.man1.pdf b/Master/texmf-dist/doc/man/man1/vftovp.man1.pdf Binary files differnew file mode 100644 index 00000000000..deb7719819d --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/vftovp.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/vlna.1 b/Master/texmf-dist/doc/man/man1/vlna.1 new file mode 100644 index 00000000000..691b3cb7128 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/vlna.1 @@ -0,0 +1,163 @@ +.\" $Id$ +.TH VLNA 1 "March 30 2009" +.nh +.SH NAME +vlna \- adds tilde after each non-syllabic preposition +.SH USAGE +.B vlna +[\fIoptions\fP] +[\fIfilenames\fP] +.SH PREFACE +There exists a special Czech and Slovak typographical rule: you cannot +leave the non-syllabic preposition on the end of one line and continue +writting text on next line. For example, +you cannot write down the text "v lese" (in a forest) like +"v<new-line>lese". The program vlna adds the asciitilde +between such preposition and the next word and removes the space(s) in +this place. It means, the program converts "v lese" to "v~lese". You +can use this program as a preporcessor before TeXing. Moreower, you +can set another sequence to store instead asciitilte (see the +\fB\-x\fP option). +.SH DESCRIPTION +The program +.B vlna +processes one or more files, searches the non-syllabic prepositions +followed by space(s) in these files and converts this/these space(s) +to asciitilde for each such occurrence. +.PP +In the processed file, the activity of the program can be blocked by +\fB%~-\fP sequence and the activity can be restored again by the +\fB%~+\fP sequence. These sequences can include spaces, it means that +\fB% ~-\fP is a correct sequence too. +.PP +The rule to recognize a preposition follows: +The arbitrary number of opening parentheses can be written before the +preposition and before these (optional) parentheses must be the space, +tabelator or new-line. The preposition itself is one-letter word, the letters +have to be from this set: {KkSsVvZzOoUuAI}. See the \fB\-v\fP option if you +want to change this set of letters. From version 1.2, the TeX sequence +can be written before preposition and before the brace. Example: +"<new-line>([V lese" is converted to "<new-line>([V~lese". +Another example: "\\uv{V lese}" is converted to "\\uv{V~lese}". +.PP +One or more blank-spaces have to be included after preposition +before next word. The blank-space means space or tabelator. +One <new-line> can be here too. +All these characters are removed and replaced by asciitilde (or by +another string, see \fB\-x\fP option). If <new-line> is deleted, another +<new-line> is created before preposition (and before optional parentheses) +in order to the number of lines is kept unchanged. +Example: "... V<new-line><tabelator>lese" is converted to +"...<new-line>V~lese". +.PP +The program checks the consintence of TeX's math environments +(if \fB\-m\fP option isn't used). For example the "$...$$...$" sequence +(it means the display mode switch inside the text-math mode) +generates a warning. Empty line inside display mode generates +a warning too and the program processes next text like +in normal (non-math) mode. The existence of the "$" inside display mode +are accepted because the constructions like +$$..\\hbox{..$..$}..$$ are allowed and common. +.PP +The consistence of verbatim mode is checked on the end of the file. +If the file ends but the verbatim mode does not end the warning is printed. +This behavior can be switched off by \fB\-n\fP or \fB\-w\fP options. +.PP +The program suppresses the tilde changing after letters like prepositions +but they are not prepositions because the \fB\\TeX\fP or \fB\\LaTeX\fP +sequence precedes. Example: "vlastnosti \\TeX u jsou" is not converted to +"vlastnosti \\TeX u~jsou", because this text is printed (after TeX +processing) like "vlastnosti TeXu jsou". The letter "u" is a suffix here, +no preposition. +.SH OPTIONS +The options are optional and can be written in arbitrarty order separated +by space. +.TP +.B \-f +Filter. The [\fIfilenames\fP] are treated as follows: +.RS +.TP 4 +.B vlna \-f \fIfilename1 filename2\fP +Input is \fIfilename1\fP, output is \fIfilename2\fP. +.TP 4 +.B vlna \-f \fIfilename1\fP +Input is \fIfilename1\fP, output is \fIstdout\fP. +.TP 4 +.B vlna \-f +Input is \fIstdin\fP, output is \fIstdout\fP. +.TP 4 +\fBvlna\fP \fIfilename1\fP [\fIfilename2\fP [\fIfilename3\fP ...]] +If the \fB\-f\fP option is omitted then each file is processed +independently and it is re-written. +.RE +.TP +.B \-s +The silent mode. No messages, warnings, statistics are printed. +Only errors which terminates the program untimely are printed. +If this parameter is omitted then banner, warnings and statistics +are printed to \fIstderr\fP. +.TP +.B \-r +Do not create the backups. The option \fB\-r\fP is irrelevant if +the \fB\-f\fP option is used. If the \fB\-f\fP and \fB\-r\fP options +aren't used then each re-written file is stored with its original contents +to a backup file (the name of backup file is the same as filename, only +the tilde is used instead of the last character). +.TP +.B \-v \fIcharacters\fP +The set of characters treated as non-syllabic prepositions is declared +by this option. Default: \fB\-v\ KkSsVvZzOoUuAI\fP. +The space between \fB\-v\fP and \fIcharacters\fP is required. +.TP +.B \-x \fIcode\fP +The \fIcode\fP is a string written in hexadecimal notation +(even hexa digits is required). This string will be saved after prepositions +instead asciitilde which is default. +The example: \fB\-x C2A0\fP two bytes are stored after each +non-syllabic preposition, first byte has C2 code and second byte +has A0 code. This example means that +NO-BREAK SPACE in UTF8 encoding will be used after prepositions. +Another example: \fB\-x 00A0\fP the NO-BREAK SPACE in UTF16 encoding. +Another example: \fB\-x 48454C4C4F\fP the string HELLO will be used. +The space between \fB\-x\fP and \fIcode\fP is required. +.TP +.B \-m +The math-modes (\fB$\fP...\fB$\fP and \fB$$\fP...\fB$$\fP) are ignored. +It means that non-syllabic prepositions is searched in math-mode too. +Default (without \fB\-m\fP option): no changes in math modes are done +because (for example) "v" is variable in math-mode, no preposition. +.TP +.B \-n +The verbatim mode (\fB\\verb\fP\fI<char>\fP...\fI<char>\fP, +\fB\\begtt\fP...\fB\\endtt\fP) is ignored, it means the program can +do a changes in verbatim environment. +Default (without \fB\-n\fP option): no changes in verbatim mode are done. +.TP +.B \-l +The LaTeX mode. The following environments are treated as display mode: +\fB\\begin{display}\fP...\fB\\end{display}\fP and +\fB\\begin{equation}\fP...\fB\\end{equation}\fP and the following +environment is treated as verbatim mode: +\fB\\begin{verbatim}\fP...\fB\\end{verbatim}\fP. +.TP +.B \-w +The web mode (Knuth's web, no www:-). The following sequences are +treated as verbatim: +\fB@<\fP, \fB@d\fP...\fB@*\fP, \fB@\fP\fIspace\fP or \fB@>|\fP. +It means program code is unchanged in *.w or *.web files, only +web-comments are processed. +.SH EXAMPLES +.TP +.B vlna \-m \-n \-s \-r \fIfile\fP +The program has a behavior similar to the old \fBvlnka\fP program. +.TP +.B vlna *.tex +All files with .tex suffix in current directory will be processed +(and possibly changed). (The "*" is UNIX-shell feautre). +.TP +.B vlna \-f file > /dev/null +Only the consistence checking of math and verbatim modes is processed. +No changes are done. +.SH AUTHORS +Petr Olsak <olsak@math.feld.cvut.cz>. +Man page (Czech original) and Makefile is created by Rulolf Cejka diff --git a/Master/texmf-dist/doc/man/man1/vlna.man1.pdf b/Master/texmf-dist/doc/man/man1/vlna.man1.pdf Binary files differnew file mode 100644 index 00000000000..2a6e6411c42 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/vlna.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/vptovf.1 b/Master/texmf-dist/doc/man/man1/vptovf.1 new file mode 100644 index 00000000000..5883eeeed43 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/vptovf.1 @@ -0,0 +1,66 @@ +.TH VPTOVF 1 "16 December 1994" "Web2C 2012" +.\"===================================================================== +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.el .ds OX TeX for nroff +.\" the same but obliqued +.\" BX definition must follow TX so BX can use TX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.if n .ds BX BibTeX +.\" LX definition must follow TX so LX can use TX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds LX LaTeX +.\"===================================================================== +.SH NAME +vptovf \- convert virtual property lists to virtual font metrics +.SH SYNOPSIS +.B vptovf +.RB [ \-verbose ] +.IR vpl_name [ \fB.vpl\fP ] +.RI [ vfm_name [ \fB.vf\fP ] +.RI [ tfm_name [ \fB.tfm\fP ]]] +.\"===================================================================== +.SH DESCRIPTION +This manual page is not meant to be exhaustive. The complete +documentation for this version of \*(TX can be found in the info file +or manual +.IR "Web2C: A TeX implementation" . +.PP +The +.B vptovf +program translates a (human-oriented) property list file to a pair of +(program-oriented) files in the VF (virtual font) and TFM (\*(TX font metric) +formats. Thus, a virtual font +file can be edited and its exact contents +can be displayed mnemonically. +New virtual fonts, which map characters as seen by \*(TX into an arbitrary +sequence of low-level typesetting operations, +can also be created in this way. +.PP +All three filenames, +.IR vpl_name , +.IR vf_name , +and +.IR tfm_name , +are extended with the appropriate suffix, if they lack one. +.\"===================================================================== +.SH OPTIONS +Without the +.B \-verbose +option, +.B vptovf +operates silently. With it, a banner and progress report are printed on +.IR stdout . +.\"===================================================================== +.SH "SEE ALSO" +.BR pltotf (1), +.BR tftopl (1), +.BR vftovp (1). +.\"===================================================================== +.SH AUTHORS +Donald E. Knuth wrote the program, based in part on an idea of David Fuchs, +starting with the code for +.BR pltotf (1). +Karl Berry adapted it for compilation with +.BR web2c . diff --git a/Master/texmf-dist/doc/man/man1/vptovf.man1.pdf b/Master/texmf-dist/doc/man/man1/vptovf.man1.pdf Binary files differnew file mode 100644 index 00000000000..f6674a03303 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/vptovf.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/weave.1 b/Master/texmf-dist/doc/man/man1/weave.1 new file mode 100644 index 00000000000..0e137613f9e --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/weave.1 @@ -0,0 +1,79 @@ +.TH WEAVE 1 "7 April 2010" "Web2C 2012" +.\"===================================================================== +.if n .ds MF Metafont +.if t .ds MF M\s-2ETAFONT\s0 +.if n .ds TX TeX +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.\" the same but obliqued +.el .ds OX TeX for nroff +.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff +.\" BX definition must follow TX so BX can use TX +.if n .ds BX BibTeX +.if t .ds BX \fRB\s-2IB\s0\fP\*(TX +.\" LX definition must follow TX so LX can use TX +.if n .ds LX LaTeX +.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX +.if n .ds WB Web +.if t .ds WB W\s-2EB\s0 +.\"===================================================================== +.SH NAME +weave \- translate WEB to TeX +.SH SYNOPSIS +.B weave +.RB [ \-x ] +.IR webfile [ \fB.web\fP ] +.RI [ changefile [ \fB.ch\fP ]] +.\"===================================================================== +.SH DESCRIPTION +This manual page is not meant to be exhaustive. The complete +documentation for this version of \*(TX can be found in the info file +or manual +.IR "Web2C: A TeX implementation" . +.PP +The +.B weave +program is used to create a \*(TX file for viewing a \*(WB program. +It takes appropriate care of typographic details like page +layout and the use of indentation, italics, boldface, etc., and it supplies +extensive cross-index information that it gathers automatically. +The command line arguments are the same as for +.B tangle +except for the option: +.B \-x +says to omit the index, module name list, and table of contents pages. +(A +.I CONTENTS.tex +file will still be written when the \*(TX file is processed, +however, unless some macros in +.I webmac.tex +are redefined.) +.PP +The output \*(TX file name is formed by adding +.B .tex +to the root of the \*(WB file name. +.PP +There are several macros +that probably should be redefined by +the programmer at the beginning of the \*(WB file. +It is a good idea to set \\title +to the name of the program. +And, to cause output of only changed modules, one can say +\\let\\maybe=\\iffalse (usually as the first change in the +change file). +.\"===================================================================== +.SH ENVIRONMENT +The environment variable WEBINPUTS is used to search for the input files, +or the system default if WEBINPUTS is not set. See +.BR tex (1) +for the details of the searching. +.\"===================================================================== +.SH FILES +.TP \w'@@'u+2n +.I $TEXMFMAIN/tex/plain/base/webmac.tex +\*(TX macros used by +.B weave +output. +.\"===================================================================== +.SH "SEE ALSO" +.BR tangle (1) +for references, authors, and other information. diff --git a/Master/texmf-dist/doc/man/man1/weave.man1.pdf b/Master/texmf-dist/doc/man/man1/weave.man1.pdf Binary files differnew file mode 100644 index 00000000000..4d50f3095cd --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/weave.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/xasy.1 b/Master/texmf-dist/doc/man/man1/xasy.1 new file mode 100644 index 00000000000..e882db25212 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/xasy.1 @@ -0,0 +1,27 @@ +.\" Hey, EMACS: -*- nroff -*- +.TH XASY 1x "27 Nov 2007" +.SH NAME +asy \- script-based vector graphics language +.SH SYNOPSIS +.B xasy +.RI " [-x magnification] [filename]" +.SH DESCRIPTION +\fBAsymptote\fP is a powerful descriptive vector graphics language for +technical drawing, inspired by MetaPost but with an improved C++\-like syntax. +Asymptote provides for figures the same high\-quality level of typesetting that +LaTeX does for scientific text. +.PP +\fBxasy\fP is a GUI for Asymptote that allows for final figure adjustments. + +.SH OPTIONS +.TP +.B \-x magnification +Initial zoom. + +.SH SEE ALSO +Asymptote and xasy are documented fully in the Asymptote Info page. +.SH AUTHOR +Asymptote was written by Andy Hammerlindl, John Bowman, and Tom Prince. +.PP +This manual page was written by Hubert Chan for the Debian project (but may +be used by others). diff --git a/Master/texmf-dist/doc/man/man1/xasy.man1.pdf b/Master/texmf-dist/doc/man/man1/xasy.man1.pdf Binary files differnew file mode 100644 index 00000000000..ebad4890ee3 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/xasy.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/xdvi.1 b/Master/texmf-dist/doc/man/man1/xdvi.1 new file mode 100644 index 00000000000..32933b9d63f --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/xdvi.1 @@ -0,0 +1,4075 @@ +.\" Copyright (c) 1990-2004 Paul Vojta and others +.\" +.\" This is Paul's license, included here only for reference, it does not apply +.\" to all parts of the k version. +.\" ---- +.\" Permission is hereby granted, free of charge, to any person obtaining a copy +.\" of this software and associated documentation files (the "Software"), to +.\" deal in the Software without restriction, including without limitation the +.\" rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +.\" sell copies of the Software, and to permit persons to whom the Software is +.\" furnished to do so, subject to the following conditions: +.\" +.\" The above copyright notice and this permission notice shall be included in +.\" all copies or substantial portions of the Software. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +.\" PAUL VOJTA OR ANY OTHER AUTHOR OF THIS SOFTWARE BE LIABLE FOR ANY CLAIM, +.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +.\" DEALINGS IN THE SOFTWARE. +.\" ---- +.\" This is the xdvik license: +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" following is UGLY ... use La\*(Te\& instead: +.\" .if t .ds La L\\h'-0.1667m'\\v'-0.20v'A\\v'0.20v'\\h'-0.1667m'T\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X +.\" .if n .ds La LaTeX +.if t .ds Te T\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X +.if n .ds Te TeX +.\" # small and boldface (not all -man's provide it) +.de SB +\&\fB\s-1\&\\$1 \\$2\s0\fR +.. +.TH XDVI 1 "2012-04-01" "Xdvik 22.85" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.SH NAME +xdvi \- DVI Previewer for the X Window System +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.SH SYNOPSIS +.B xdvi +.nh +[\fB+\fP[\fIpage\fP]] +[\fB\--help\fP] +[\fB\-allowshell\fP] +[\fB\-altfont\fP \fIfont\fP] +[\fB\-bg\fP \fIcolor\fP] +[\fB\-browser\fP \fIWWWbrowser\fP] +[\fB\-copy\fP] +[\fB\-cr\fP \fIcolor\fP] +[\fB\-debug\fP \fIbitmask\fP|\fIstring[,string ...]\fP] +[\fB\-display\fP \fIhost:display\fP] +[\fB\-dvipspath\fP \fIpath\fP] +[\fB\-editor\fP \fIcommand\fP] +[\fB\-expert\fP] +[\fB\-expertmode\fP \fIflag\fP] +[\fB\-fg\fP \fIcolor\fP] +[\fB\-findstring\fP \fIstring\fP] +[\fB\-text-encoding\fP \fIencoding\fP] +[\fB\-font\fP \fIfont\fP] +[\fB\-fullscreen \fP] +[\fB\-gamma\fP \fIg\fP] +[\fB\-geometry\fP \fIgeometry\fP] +[\fB\-gsalpha\fP] +[\fB\-gspalette\fP \fIpalette\fP] +[\fB\-h\fP] +[\fB\-help\fP] +[\fB\-hl\fP \fIcolor\fP] +[\fB\-anchorposition\fP \fIanchor\fP] +[\fB\-hush\fP] +[\fB\-hushchars\fP] +[\fB\-hushchecksums\fP] +[\fB\-warnpecials\fP] +[\fB\-hushstdout\fP] +[\fB\-hushbell\fP] +[\fB\-icongeometry\fP \fIgeometry\fP] +[\fB\-iconic\fP] +[\fB\-install\fP] +[\fB\-interpreter\fP \fIpath\fP] +[\fB\-keep\fP] +[\fB\-l\fP] +[\fB\-license\fP] +[\fB\-linkcolor\fP \fIcolor\fP] +[\fB\-linkstyle\fP \fI0|1|2|3\fP] +[\fB\-margins\fP \fIdimen\fP] +[\fB\-mfmode\fP \fImode-def\fP[\fB:\fP\fIdpi\fP]] +[\fB\-mgs\fP[\fIn\fP] \fIsize\fP] +[\fB\-mousemode\fP \fI0|1|2\fP] +[\fB\-nocolor\fP] +[\fB\-nofork\fP] +[\fB\-noghostscript\fP] +[\fB\-nogrey\fP] +[\fB\-nogssafer\fP] +[\fB\-noinstall\fP] +[\fB\-nomakepk\fP] +[\fB\-nomatchinverted\fP] +[\fB\-noomega\fP] +[\fB\-noscan\fP] +[\fB\-not1lib\fP] +[\fB\-notempfile\fP] +[\fB\-offsets\fP \fIdimen\fP] +[\fB\-p\fP \fIpixels\fP] +[\fB\-paper\fP \fIpapertype\fP] +[\fB\-pause\fP] +[\fB\-pausespecial\fP \fIspecial-string\fP] +[\fB\-postscript\fP \fIflag\fP] +[\fB\-rulecolor\fP \fIcolor\fP] +[\fB\-rv\fP] +[\fB\-S\fP \fIdensity\fP] +[\fB\-s\fP \fIshrink\fP] +[\fB\-safer\fP] +[\fB\-sidemargin\fP \fIdimen\fP] +[\fB\-sourceposition\fP \fIline\fP[\fB:\fP\fIcol\fP][\ ]\fIfilename\fP] +[\fB\-statusline\fP] +[\fB\-thorough\fP] +[\fB\-topmargin\fP \fIdimen\fP] +[\fB\-unique\fP] +[\fB\-version\fP] +[\fB\-visitedlinkcolor\fP \fIcolor\fP] +[\fB\-warnspecials\fP] +[\fB\-watchfile\fP \fIsecs\fP] +[\fB\-wheelunit\fP \fIpixels\fP] +[\fB\-xoffset\fP \fIdimen\fP] +[\fB\-yoffset\fP \fIdimen\fP] +[\fIdvi_file\fP] +.hy +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.SH DESCRIPTION +.B Xdvi +is a program for previewing +.I dvi +files, as produced e.g. by the +.BR tex (1) +program, under the X window system. +.PP +.B Xdvi +can show the file shrunken by various +integer factors, and it has a ``magnifying glass'' for viewing +parts of the page enlarged (see the section MAGNIFIER below). This version +of +.B xdvi +is also referred to as +.B xdvik +since it uses the kpathsea library to locate and generate font files. +In addition to that, it supports the following features: +.RS 2 +.TP 2 +- +hyperlinks in DVI files (section HYPERLINKS), +.TP +- +direct rendering of Postscript<tm> Type1 fonts (section T1LIB), +.TP +- +source specials in the DVI file (section SOURCE SPECIALS), +.TP +- +string search in DVI files (section STRING SEARCH), +.TP +- +saving or printing (parts of) the DVI file (sections PRINT DIALOG and SAVE DIALOG). +.RE +.PP +.B Xdvi +can be compiled with the Motif toolkit or the Xaw (Athena) toolkit +(and variants of it), and the Motif version has a slightly different GUI; +these differences are noted below. +.PP +Before displaying a page of a DVI file, +.B xdvi +will check to see if the file has changed since the last time it was +displayed. If this is the case, it will reload the file. This +feature allows you to preview many versions of the same file while +running +.B xdvi +only once. Since it cannot read partial DVI files, +.B xdvik +versions starting from 22.74.3 will create a temporary copy of the +DVI file being viewed, to ensure that the file can be viewed without +interruptions. (The +.B \-notempfile +can be used to turn off this feature). +.PP +.B Xdvi +can show PostScript<tm> specials by any of three methods. +It will try first to use Display PostScript<tm>, then NeWS, then it +will try to use Ghostscript to render the images. All of these options +depend on additional software to work properly; moreover, some of them +may not be compiled into this copy of +.BR xdvi . +.PP +For performance reasons, +.B xdvi +does not render PostScript specials in the magnifying glass. +.PP +If no file name has been specified on the command line, +xdvi will try to open the most recently opened file; if the file +history (accessible via the +.B File > Open Recent +menu) is empty, or if none of the files in the history are valid DVI files, +it will pop up a file selector for choosing a file name. +(In previous versions, which didn't have a file history, the file selector +was always used; you can set the X resource +.B noFileArgUseHistory +to +.I false +to get back the old behaviour.) +.PP +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.SH OPTIONS +In addition to specifying the +.I dvi +file (with or without the +.B .dvi +extension), +.B xdvi +supports the following command line options. If the option begins with a +.RB ` + ' +instead of a +.RB ` \- ', +the option is restored to its default value. By default, these options can +be set via the resource names given in parentheses in the description of +each option. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI + page +Specifies the first page to show. If +.B + +is given without a number, the last page is assumed; the first page is +the default. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B \-allowshell +.RB ( .allowShell ) +This option enables the shell escape in PostScript specials. +(For security reasons, shell escapes are disabled by default.) +This option should be rarely used; in particular it should not be used just +to uncompress files: that function is done automatically if the file name +ends in +.BR .Z , +.BR .gz , +or +.BR .bz2 . +Shell escapes are always turned off if the +.B \-safer +option is used. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-altfont " font" +.RB ( .altFont ) +Declares a default font to use when the font in the +.I dvi +file cannot be found. This is useful, for example, with PostScript <tm> fonts. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-background " color" +.RB ( .background ) +Determines the color of the background. Same as +.BR -bg . +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-bg " color" +.RB ( .background ) +Determines the color of the background. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-browser " browser" +.RB ( .wwwBrowser ) +Defines the web browser used for handling external URLs. The value of this +option or resource has the same syntax as the +.B BROWSER +environment variable; see the explanation of that variable in the +section `ENVIRONMENT' below for a detailed description. +If neither the option nor the X resource +.I wwwBrowser +is specified, the environment variables +.B BROWSER +and +.B WWWBROWSER +(in that order) are used to determine the browser command. If these are +not set either, the following default value is used: +\fBxdg-open %s:htmlview %s:firefox -remote -remote "openURL(%s,new-window)":mozilla -remote "openURL(%s,new-window)":netscape -raise -remote "openURL(%s,new-window)":xterm -e w3m %s:xterm -e lynx %s:xterm -e wget %s\fP +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B \-copy +.RB ( .copy ) +Always use the +.I copy +operation when writing characters to the display. +This option may be necessary for correct operation on a color display, but +overstrike characters will be incorrect. +If greyscale anti-aliasing is in use, the +.B \-copy +operation will disable the use of colorplanes and make overstrikes come +out incorrectly. +See also +.BR \-thorough . +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-cr " color" +.RB ( .cursorColor ) +Determines the color of the mouse cursor. The default is the same as +the foreground color. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-debug " bitmask|string[,string ...]" +.RB ( .debugLevel ) +If nonzero, prints additional information on standard output. The +argument can be either a bitmask specified as a decimal number, or +comma-separated list of strings. +.br +For the bitmask representation, multiple values can +be specified by adding the numbers that represent the individual bits; +e.g. to debug all all file searching and opening commands, use 4032 +(= 2048 + 1024 + 512 + 256 + 128 + 64). Use -1 to turn on debugging +of everything (this will produce huge output). +.br +For the string representation, use the strings listed in the following +table, with a comma to separate the values; e.g. to debug +all file searching and opening commands, use +.BR search,expand,paths,hash,stat,open . +(The option `kpathsea' is provided as a shorthand for these.) +Note that such a list may need to be quoted to prevent the shell +from interpreting commas or spaces in the list. +.br +The individual numbers and strings have the following meanings: +.nf +.sp 1n +.ta 1L +8L +12L + 1 bitmap Bitmap creation + 2 dvi DVI translation + 4 pk PK fonts + 8 batch Batch mode: Exit after + reading the DVI file + 16 event Event handling + 32 ps PostScript interpreter calls + 64 stat Kpathsea stat(2) calls + 128 hash Kpathsea hash table lookups + 256 open Kpathsea file opening + 512 paths Kpathsea path definitions + 1024 expand Kpathsea path expansion + 2048 search Kpathsea searching + 4032 kpathsea All Kpathsea options + 4096 htex Hypertex specials + 8192 src Source specials + 16384 client Client/server mode (see -unique + and -sourceposition options) + 32768 t1 Type1 font library messages + 65536 t1_verbose Verbose Type1 library messages + 131072 gui GUI elements +.sp 1n +.fi +Some of the Kpathsea debugging options are actually provided by Kpathsea; +see the Debugging section in the Kpathsea manual for more information on +these. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-density " density" +.RB ( .densityPercent ) +Determines the density used when shrinking bitmaps for fonts. +A higher value produces a lighter font. The default value is 40. +If greyscaling is in use, this argument does not apply; use +.B \-gamma +instead. +See also the +.RB ` S ' +keystroke. +Same as +.BR \-S . +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-display " host" : display +Specifies the host and screen to be used for displaying the +.I dvi +file. By default this is obtained from the environment variable +.SB DISPLAY. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-dvipspath " path" +.RB ( .dvipsPath ) +Use +.I path +as the +.B dvips +program to use when printing. The default for this is +.BR dvips . +The program or script should read the DVI file from standard input, +and write the Postscript file to standard output. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-editor " editor" +.RB ( .editor ) +Specifies the editor that will be invoked when the +.I source-special() +action is triggered to start a reverse search (by default via Ctrl-Mouse 1). +The argument to this option is a format string in which occurrences of +.RB `` %f '' +are replaced by the file name, occurrences of +.RB `` %l '' +are replaced by the line number within the file, and optional +occurrences of +.RB `` %c '' +are replaced by the column number within the line. +.sp +If neither the option nor the X resource +.I .editor +is specified, the following environment variables are checked +to determine the editor command: +.BR XEDITOR , +.BR VISUAL , +and +.B EDITOR +(in this sequence). If the string is found as the value +of the +.SB VISUAL +or +.SB EDITOR +environment variables, then +.RI `` "xterm -e "'' +is prepended to the string; if the editor is specified by other means, then +it must be in the form of a shell command to pop up an X window with an +editor in it. If none of these variables is set, a warning message is displayed +and the command +.RI `` "xterm -e vi +%l %f"'' +is used. +.sp +If no +.RB `` %f '' +or +.RB `` %l '' +occurs in the string, the missing format strings are appended automatically. +(This is for compatibility with other programs when using one of the environment +variables). +.sp +A new instance of the editor is started each time this command is used; +therefore it is preferable to use an editor that can be invoked in +`client' mode to load new files into the same instance. Example +settings are: +.RS 7 +.TP 7 +.SB emacsclient --no-wait +(older Emacsen) +.TP +.SB gnuclient -q +(XEmacs and newer Emacsen) +.TP +.SB gvim --servername xdvi --remote +(VIM v6.0+; the `--servername xdvi' option will cause gvim to run a +dedicated instance for the files opened by xdvi.) +.TP +.SB nc +(nedit) +.PP +.sp +Note that those strings need to be enclosed +into quotes when using them on the command-line +to protect them from the shell; when using them +as argument for the +.I .editor +resource in an X resource file, no quotes should be used. +.sp +.B NOTE ON SECURITY: +The argument of this option isn't executed as a shell command, +but via +.I exec() +to prevent evil tricks with the contents of source specials. +.RE +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B \-expert +This option is only supported for backwards compatibility; +it is equivalent to +.BR "\-expertmode 0" , +which should be preferred. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-expertmode " flag" +.RB ( .expertMode ) +With an argument of +.IR 0 , +this option switches off the display of the buttons, scrollbars, +the toolbar (Motif only), +the statusline and the page list. These GUI elements +can also be (de)activated separately, by combining the +appropriate values in the +.I flag +argument. This acts similar to the +.B \-debug +option: The integer +.I flag +is treated as a bitmap where each bit represents one +element. If the bit has the value +.IR 1 , +the element is switched on, if it has the value +.IR 0 , +the element is switched off. The meaning of the bits +is as follows: +.nf +.sp 1n +.ta 1L +8L +12L + 1 statusline + 2 scrollbars + 4 Motif: pagelist, Xaw: buttons and pagelist + 8 toolbar (Motif only) + 16 menubar (Motif only) +.sp 1n +.fi +For example, to turn on only the statusline and the scrollbars, +use 3 (= 1 + 2). +See also the +.RB ` x ' +keystroke, where the bits are addressed by their positions, from 1 to +3 (Xaw) or 5 (Motif), respectively. +.PP +If the statusline is not active, all messages +that would normally be printed to the statusline will be printed to +.IR stdout , +unless the +.B \-hushstdout +option is used. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-fg " color" +.RB ( .foreground ) +Determines the color of the text (foreground). +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-text-encoding " encoding" +.RB ( .textEncoding ) +Use +.I encoding +as text encoding of the string in the "Find" window. Usually, +this shouldn't be needed since the encoding is determined from the locale settings. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B \-findstring\fP \fIstring\fP +This option triggers a search for +.I string +in the DVI file mentioned on the command-line, similar to forward search +(see the description of the +.B sourceposition +option): +If there is already another +instance of +.B xdvi +running on the displaying that DVI file, it will cause that instance +to perform the search instead. The search starts at the top of the current +page of the DVI file. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-font " font" +.RB ( *font ) +Sets the font used in menus, buttons etc., as described in the +.I X(7x) +man page. The font for child windows can be set separately, +e.g.: +.RS 7 +.nf +.ft 3 +.sp 1n +xdvi*statusline*font: \e + -*-helvetica-medium-r-*-*-12-*-*-*-*-*-*-* +.sp 1n +.ft +.fi +.RE +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-foreground " color" +Same as +.BR -fg . +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-fullscreen +When this option is used, xdvi will (try to) run in fullscreen mode, with +no window decorations. +This option is not guaranteed to work with all windowmanagers/desktops; +if you're experiencing problems with it, please use the +.B \-geometry +option instead, and a suitable window manager setting to remove +the window decorations. +When using this option for presentations, you might want +to get rid of all the control widgets as well, using the +.B -expertmode +option. This option can also be toggled at runtime using the +.B fullscreen +action (by default bound to Ctrl-l). +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-gamma " gamma" +.RB ( .gamma ) +Controls the interpolation of colors in the greyscale anti-aliasing color +palette. Default value is 1.0. For 0 < +.I gamma +< 1, the fonts will be lighter (more like the background), and for +.I gamma +> 1, the fonts will be darker (more like the foreground). Negative +values behave the same way, but use a slightly different algorithm. +For color and grayscale displays; for monochrome, see +.BR \-density . +See also the +.RB ` S ' +keystroke. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-geometry " geometry" +.RB ( .geometry ) +Specifies the initial geometry of the main window, +as described in the +.I X(7x) +man page. The geometry of child windows can be set +separately, e.g.: +.br +.I xdvi*helpwindow.geometry: 600x800 +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B \-gsalpha +.RB ( .gsAlpha ) +Causes +.B Ghostscript +to be called with the +.B x11alpha +driver instead of the +.B x11 +driver. The +.B x11alpha +driver enables anti-aliasing in PostScript specials, for a nicer appearance. +It is available on newer versions of +.BR Ghostscript . +This option can also be toggled with the +.RB ` V ' +keystroke. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-gspalette " palette" +.RB ( .palette ) +Specifies the palette to be used when using Ghostscript for rendering +PostScript specials. Possible values are +.BR Color , +.BR Greyscale , +and +.BR Monochrome . +The default is +.BR Color . +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BR \-h , " \-help" , " \--help" +Prints a short help text with an overview of the command-line options +to standard output. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-hl " color" +.RB ( .highlight ) +Determines the color of the page border, of the ruler in `ruler mode', +and of the highlighting markers in forward search and string search. +The default is the foreground color. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-anchorposition " anchor" +Jump to +.I anchor +after opening the DVI file. This is only useful when invoking +.B xdvi +from other applications. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B \-hush +.RB ( .Hush ) +Causes +.B xdvi +to suppress all suppressible warnings. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B \-hushchars +.RB ( .hushLostChars ) +Causes +.B xdvi +to suppress warnings about references to characters which are not defined +in the font. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B \-hushchecksums +.RB ( .hushChecksums ) +Causes +.B xdvi +to suppress warnings about checksum mismatches between the +.I dvi +file and the font file. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B \-hushstdout +.RB ( .hushStdout ) +Suppresses printing of status messages to +.IR stdout . +Note that errors or warnings will still be printed to +.I stderr +even if this option is used. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B \-hushbell +.RB ( .hushBell ) +Don't sound the X bell when an error occurs. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-icongeometry " geometry" +.RB ( .iconGeometry ) +Specifies the initial position for the icon. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B \-iconic +.RB ( .iconic ) +Causes the +.B xdvi +window to start in the iconic state. The default is to start with the +window open. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B \-install +.RB ( .install ) +If +.B xdvi +is running under a +.B PseudoColor +visual, then (by default) it will check for +.B TrueColor +visuals with more bits per pixel, and switch to such a visual if one exists. +If no such visual exists, it will use the current visual and colormap. If +.B \-install +is selected, however, it will still use a +.B TrueColor +visual with a greater depth, if one is available; otherwise, it will +install its own colormap on the current visual. If the current visual is not +.BR PseudoColor , +then +.B xdvi +will not switch the visual or colormap, regardless of its options. +The default value of the +.B install +resource is the special value, +.BR maybe . +There is no +.B +install +option. See also +.BR \-noinstall , +and the GREYSCALING AND COLORMAPS section. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-interpreter " filename" +.RB ( .interpreter ) +Use +.I filename +as the Ghostscript interpreter. By default it uses +.BR gs . +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B \-keep +.RB ( .keepPosition ) +Sets a flag to indicate that +.B xdvi +should not move to the home position when moving to a new page. See also the +.RB ` k ' +keystroke. This flag is honored by all page switching actions and by +.B up-or-previous() / +.BR down-or-next() , +although the latter only honor the horizontal postion, not the vertical one. +This allows for a "continuous" scrolling back an forth through a document with +a display window narrower than a page width. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B \-l +.RB ( .listFonts ) +List the names of all fonts used. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B \-license +Prints licensing information. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-linkcolor +.RB ( .linkColor ) +Color used for unvisited hyperlinks (`Blue2' by default). Hyperlinks +are unvisited before you click on them, or after the DVI file has been reloaded. +The value should be either a valid X color name (such as +.IR DarkGoldenrod4 ) +or a hexadecimal color string (such as +.IR #8b6508 ). +See also +.B \-visitedlinkcolor +and +.BR \-linkstyle . +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-linkstyle +.RB ( .LinkStyle ) +Determines the style in which hyperlinks are displayed. Possible +values and their meanings are: +.nf +.sp 1n +.ta 1L +8L + 0 No highlighting of links + 1 Underline links with \fIlink color\fR + 2 No underlining, color text with \fIlink color\fR + 3 Underline and display text colored with + \fIlink color\fR +.sp 1n +.fi +The values for \fIlink color\fR are specified by the options/resources +.BI \-linkcolor +and +.BI \-visitedlinkcolor +(which see). +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-margins " dimen" +.RB ( .Margin ) +Specifies the size of both the top margin and side margin. +This determines the ``home'' position of the page within the window as +follows. If the entire page fits in the window, then the margin settings +are ignored. If, even after removing the margins from the left, right, +top, and bottom, the page still cannot fit in the window, then the page +is put in the window such that the top and left margins are hidden, and +presumably the upper left-hand corner of the text on the page will be +in the upper left-hand corner of the window. +Otherwise, the text is centered in the window. +The dimension should be a decimal number optionally followed by +any of the two-letter abbreviations for units accepted by \*(Te\& +.RB ( pt , +.BR pc , +.BR in , +.BR bp , +.BR cm , +.BR mm , +.BR dd , +.BR cc , +or +.BR sp ). +By default, the unit will be +.BR cm " (centimeters)". +See also +.BR \-sidemargin ", " \-topmargin , +and the keystroke +.RB ` M .' +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-mfmode " mode-def" +.RB ( .mfMode ) +Specifies a +.I mode-def +string, which can be used in searching for fonts (see ENVIRONMENT, below). +Generally, when changing the +.IR mode-def , +it is also necessary to change the font size to the appropriate value +for that mode. This is done by adding a colon and the value in dots per inch; +for example, +.BR "\-mfmode ljfour:600" . +This method overrides any value given by the +.B pixelsPerInch +resource or the +.B \-p +command-line argument. +The metafont mode is also passed to +.B metafont +during automatic creation of fonts. +By default, it is +.BR "unspecified" . +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-mgs " size" +Same as +.BR \-mgs1 . +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-mgs[ n ] " size" +.RB ( .magnifierSize\fR[\fIn\fR] ) +Specifies the size of the window to be used for the ``magnifying glass'' +for Button +.IR n . +The size may be given as an integer (indicating that the magnifying glass +is to be square), or it may be given in the form +.IR width x height . +See the MOUSE ACTIONS section. Defaults are 200x150, 400x250, 700x500, +1000x800, and 1200x1200. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-mousemode " " [ 0 | 1 | 2 ] +.RB ( .mouseMode ) +Specifies the default mode of xdvi at startup: Magnifier (0), Text Selection Mode (1) +or Ruler Mode (2). See the section +.BR MODES , +below, for more information. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B \-nocolor +.RB ( .color ) +Turns off the use of color specials. This option can be toggled with the +.RB ` C ' +keystroke. +(Note: +.B \-nocolor +corresponds to +.BR color:off ; +.B +nocolor +to +.BR color:on .) +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B \-nofork +.RB ( .fork ) +With the +.B \-sourceposition +and +.B \-unique +options, the default behavior is for +.B xdvi +to put itself into the background (like a daemon) if there +is no appropriate instance of +.B xdvi +already running. +This argument makes it run in the foreground instead. This is useful +for debugging, or if your client application cannot deal well with +a program self-backgrounding itself in this way -- e.g., the IPC functions +in +.B emacs +are known to have problems with this. +If no +.B \-sourceposition +or +.B \-unique +argument is given, then this option has no effect. +(Note: +.B \-nofork +corresponds to +.BR fork:off ; +.B +nofork +to +.BR fork:on .) +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B \-noghostscript +.RB ( .ghostscript ) +Inhibits the use of Ghostscript for displaying PostScript<tm> specials. +(Note: +.B \-noghostscript +corresponds to +.BR ghostscript:off ; +.B +noghostscript +to +.BR ghostscript:on .) +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B \-nogrey +.RB ( .grey ) +Turns off the use of greyscale anti-aliasing when printing shrunken bitmaps. +(Note: +.B \-nogrey +corresponds to +.BR grey:off ; +.B +nogrey +to +.BR grey:on .) +See also the +.RB ` G ' +keystroke. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B \-nogssafer +.RB ( .gsSafer ) +Normally, if Ghostscript is used to render PostScript specials, the Ghostscript +interpreter is run with the option +.BR \-dSAFER . +The +.B \-nogssafer +option runs Ghostscript without +.BR \-dSAFER . +The +.B \-dSAFER +option in Ghostscript disables PostScript operators such as +.BR deletefile , +to prevent possibly malicious PostScript programs from having any effect. +If the +.B \-safer +option is specified, then this option has no effect; in that case Ghostscript +is always run with +.BR \-dSAFER . +(Note: +.B \-nogssafer +corresponds to +.BR gsSafer:off ; +.B +nogssafer +to +.BR gsSafer:on .) +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B \-noinstall +.RB ( .install ) +Inhibit the default behavior of switching to a +.B TrueColor +visual if one is available with more bits per pixel than the current visual. +(Note: +\-noinstall +corresponds +.BR install:off ; +there is no +.B +noinstall +option.) +See also +.BR \-install , +and the GREYSCALING AND COLORMAPS section. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B \-nomakepk +.RB ( .makePk ) +Turns off automatic generation of font files that cannot be found by other +means. +(Note: +.B \-nomakepk +corresponds to +.BR makePk:off ; +.B +nomakepk +to +.BR makePK:on .) +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B \-nomatchinverted +.RB ( .matchInverted ) +Don't highlight string search matches in inverted color; instead, draw a rectangle in +.I highlight +color (see the +.B \-hl +option) around the match. This option is activated automatically if +the display isn't running in TrueColor. +(Note: +.B \-nomatchinverted +corresponds to +.BR matchInverted:off ; +.B +nomatchinverted +to +.BR matchInverted:on .) +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-noomega +.RB ( .omega ) +This will disable the use of Omega extensions when interpreting DVI files. +By default, the additional opcodes +.I 129 +and +.I 134 +are recognized by xdvi as Omega extensions and interpreted as requests +to set 2-byte characters. The only drawback is that the virtual font +array will require 65536 positions instead of the default 256 positions, +i.e. the memory requirements of xdvi will be slightly larger. If you find +this unacceptable or encounter another problem with the Omega extensions, +you can switch this extension off by using +.B \-noomega +(but please do send a bug report if you find such problems - see the bug +address in the +.B AUTHORS +section below). +.br +(Note: +.B \-noomega +corresponds to +.BR "omega: off" ; +.B +noomega +to +.BR "omega: on" .) +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B \-noscan +.RB ( .prescan ) +By default, +.B xdvi +does a preliminary scan of the +.I dvi +file to process any +.B papersize +specials; this is especially important at startup since the paper size may be +needed to determine the window size. +If PostScript<tm> is in use, then prescanning is also necessary in order to +properly process header files. +In addition, prescanning is needed to correctly determine the background color +of a page. +This option turns off such prescanning. +(Prescanning will be automatically be turned back on if +.B xdvi +detects any of the specials mentioned above.) +(Note: +.B \-noscan +corresponds to +.BR prescan:off ; +.B +noscan +to +.BR prescan:on .) +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-not1lib +.RB ( .t1lib ) +This will disable the use of T1Lib to display PostScript<tm> fonts. +Use this option as a workaround when you encounter problems with the +display of T1Lib (but please don't forget to send a bug report in +this case, to the URL mentioned in the section AUTHORS below). +.br +(Note: +.B \-not1lib +corresponds to +.BR t1lib:off ; +.B +not1lib +to +.BR t1lib:on .) +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B \-notempfile +.RB ( .tempFile ) +As mentioned in the section +.B DESCRIPTION +above, xdvi will create a temporary copy of the DVI file so that it +can be accessed without interruptions even while the file is being +rewritten by +.BR TeX . +Since this introduces the overhead of copying the file every time +it has changed, the +.B \-notempfile +allows you to turn off this behaviour. In this case, exposing parts of the +window while the DVI file is being written by \*(Te\& will erase the current +window contents until the DVI file can be completely reread. +.br +(Note: +.B \-notempfile +corresponds to +.BR tempFile:off ; +.B +notempfile +to +.BR tempFile:on .) +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-offsets " dimen" +.RB ( .Offset ) +Specifies the size of both the horizontal and vertical offsets of the +output on the page. By decree of the Stanford \*(Te\& Project, +the default \*(Te\& page origin is always 1 inch over and down from +the top-left page corner, even when non-American paper sizes are used. +Therefore, the default offsets are 1.0 inch. +The argument +.I dimen +should be a decimal number optionally followed by any of the two-letter +abbreviations for units accepted by \*(Te\& +.RB ( pt , +.BR pc , +.BR in , +.BR bp , +.BR cm , +.BR mm , +.BR dd , +.BR cc , +or +.BR sp ). +By default, the unit will be +.BR cm " (centimeters)". +See also +.B \-xoffset +and +.BR \-yoffset . +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-p " pixels" +.RB ( .pixelsPerInch ) +Defines the size of the fonts to use, in pixels per inch. The +default value is 600. This option is provided only for backwards +compatibility; the preferred way is to set both the resolution +and the Metafont mode via the +.B \-mfmode +option (which see). +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-paper " papertype" +.RB ( .paper ) +Specifies the size of the printed page. Note that in most cases it's +best to specify the paper size in the TeX input file via the line +.sp +.B \eusepackage[dvips]{geometry} +.sp +which will be recognized by both dvips and xdvi; in that case the +use of a `-paper' option should be unnecessary. +.br +The paper size may be specified in the form +\fIwidth\fBx\fIheight\fR optionally followed by a unit, where +.I width +and +.I height +are decimal numbers giving the width and height of the paper, respectively, +and the unit is any of the two-letter abbreviations for units accepted +by \*(Te\& +.RB ( pt , +.BR pc , +.BR in , +.BR bp , +.BR cm , +.BR mm , +.BR dd , +.BR cc , +or +.BR sp ). +By default, the unit is +.BR cm " (centimeters)"\fR. +.br +There are also synonyms which may be used: +.B us +(8.5x11in), +.B legal +(8.5x14in), +.B foolscap +(13.5x17in), +as well as the ISO sizes +.BR a1 - a7 , +.BR b1 - b7 , +.BR c1 - c7 . +Each of these also has a landscape or `rotated' variant: +.B usr +(11x8.5in), +.BR a1r - a7r , +etc. For compatibility with +.BR dvips , +the formats +.B letter +(8.5x11in), +.B ledger +(17x11in) +and +.B tabloid +(11x17in) +are also supported (these don't have rotated variants). +.br +Any of the above sizes may be preceded by a plus sign +.RB (` + '); +this causes the paper size given here to override any paper size given in the +.I dvi +file. The default paper size is 21 x 29.7 cm (A4 size). +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B \-pause +.RB ( .pause ) +This option provides a simple implementation of incremental +(stepwise) display, which can be used for presentations. +When this option is used, +.B xdvi +will pause the display of the current page whenever it encounters a +special +.I special-string +.RI ( xdvi:pause +by default; the string can be customized via +.IR \-pausespecial , +see below), and the cursor will change its shape. The action +.B unpause-or-next() +(by default bound to the +.B Space +key) will display the next portion of the page up to the following +.IR special-string , +or until the end of the page is reached. +When the option is not used, specials containing +.I special-string +will be ignored. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-pausespecial " special-string" +.RB ( .pauseSpecial ) +Sets the special string that causes xdvi to pause when the +.I -pause +option is active. The default value of +.I special-string +is +.IR xdvi:pause . +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-postscript " flag" +.RB ( .postscript ) +If +.I flag = 0, +rendering of PostScript<tm> specials is disabled; instead, bounding +boxes will be displayed (if available). A value of +.I 1 +(the default) switches PostScript<tm> specials on. With a value of +.IR 2 , +the PostScript<tm> specials are displayed along with their +bounding boxes; this allows you to visually check the correctness +of the bounding boxes. The values can also be toggled at runtime +with the +.RB ` v ' +keystroke and the corresponding numerical prefix arguments 0, 1 and 2. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-ps2pdfpath " path" +.RB ( .ps2pdfPath ) +Use +.I path +as a conversion program from Postscript to PDF. The program or script +should accept two command-line arguments: The Postscript file as first +argument, and the PDF output file as second argument. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-rulecolor " color" +.RB ( .ruleColor ) +Determines the color of the rules used for the the magnifier +(default: foreground color). +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-q +.RB ( .noInitFile ) +Ignore the +.I $HOME/.xdvirc +startup file (i.e. don't read it at startup, and don't write it +at exit). This forces the defaults defined in +.I $HOME/.Xdefaults +to be used. See +.B FILES +for more information on +.IR $HOME/.xdvirc . +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B \-rv +.RB ( .reverseVideo ) +Causes the page to be displayed with white characters on a black background, +instead of vice versa. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-S " density" +.RB ( .densityPercent ) +Same as +.B \-density +(which see). +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-s " shrink" +.RB ( .shrinkFactor ) +Defines the initial shrink factor. The default value is 8. If +.I shrink +is given as 0, then the initial shrink factor is computed so that the +page fits within the window (as if the `s' keystroke were given without +a number). +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B \-safer +.RB ( .safer ) +This option turns on all available security options; it is designed for use when +.B xdvi +is called by a browser that obtains a +.I dvi +or \*(Te\& file from another site. +This option selects +.B +nogssafer +and +.BR +allowshell . +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-sidemargin " dimen" +.RB ( .sideMargin ) +Specifies the side margin (see +.BR \-margins ). +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-sourceposition " line" [: col "][ ]" filename +This option makes +.B xdvi +search in the +.I dvi +file for the place corresponding to the indicated line (and, optionally, +column) in the .tex source file, and highlight the place found by drawing a +rectangle in the +.I highlight +color (see the +.B \-hl +option) around the corresponding text. In addition, when run with this +argument (and the +.B \-nofork +option is not given, which see), +.B xdvi +will always return immediately: if it finds another instance of +.B xdvi +already showing +.I dvi_file, +then it will cause that instance to raise its window and move to the given +place in the +.I dvi +file; otherwise it will start up its own instance in the background. +If several instances of xdvi are displaying the respective +.I dvi +file, the instance which was last raised to the foreground will be used. +.sp +The space before +.I filename +is only needed if the filename starts +with a digit. When the space is used, the argument +needs to be enclosed in quotes to prevent the shell from +misinterpreting the space as argument separator. +.sp +This option requires that +.I dvi_file +be prepared with source special information. See the section on SOURCE SPECIALS +for details on how to do this. +.sp +Here is a more detailed description of how the filename in the +.I \-sourceposition +argument is matched with the filename in the source specials: +.RS 7 +.TP 3 +1. +If neither of the filenames contains a path name component, the filenames +are compared ignoring the +.RI ` .tex ' +extensions in both filenames. +.TP +2. +Otherwise, if one of the filenames does contain a path component (e.g.: +.IR ./test.tex , +.IR ../test.tex , +.IR /my/homedir/tex/test.tex +or any combination of these), both filenames are expanded to a full path, +with any occurrences of +.I ../ +and +.I ./ +expanded, and multiple slashes removed. +.br +The pathname in the +.I \-sourceposition +is expanded relative to the current working directory of the +.I xdvi \-sourceposition +invocation, and the pathnames in the source specials are expanded +relative to the path of the current DVI file being viewed. +.br +The path names are then compared ignoring the +.RI ` .tex ' +extensions in both path names. +.RE +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B \-statusline\fP +.RB ( .statusline ) +This option is obsolete; use +\fB\-expertmode \fP \fIflag\fP +instead (which see). +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B \-thorough +.RB ( .thorough ) +.B Xdvi +will usually try to ensure that overstrike characters (e.g., +.BR \enotin ) +are printed correctly. On monochrome displays, this is always possible +with one logical operation, either +.I and +or +.IR or . +On color displays, however, this may take two operations, one to set the +appropriate bits and one to clear other bits. If this is the case, then +by default +.B xdvi +will instead use the +.I copy +operation, which does not handle overstriking correctly. The +.B \-thorough +option chooses the slower but more correct choice. See also +.BR \-copy . +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-topmargin " dimen" +.RB ( .topMargin ) +Specifies the top and bottom margins (see +.BR \-margins ). +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B \-unique +.RB ( .unique ) +This option will make another instance of xdvi running on the same display +act as a `server'. For example, the invocation +.sp +.B xdvi -unique +5 file.dvi +.sp +will cause this other instance to load +.I file.dvi +on page 5 in place of the file that it is currently displaying. If there is +already another instance of xdvi already displaying the file +.IR file.dvi , +then it will just jump to page 5. +If the other instance of xdvi is displaying a different file, it will load +.I file.dvi +instead. Otherwise, if no other instance of +xdvi is currently running on the display, this option instead +starts a new instance of xdvi in the background (unless the +.I \-nofork +option is specified, which see) displaying page 5 of +.IR file.dvi . +.br +The filename and the +.B +n +option for the page number are the only options available for +controlling a remote instance of xdvi like this; all other options are +currently ignored. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-useTeXpages +Use logical \*(Te\& pages (the values of the +.I \ecount0 +register) instead of physical pages for the pagelist labels and +when jumping to a page in a document with the `g' keystroke (or the +.B goto-page() +action). +This option can be toggled via the +.RB ` T ' +keystroke. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-version +Print information on the version of +.BR xdvi . +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-visitedlinkcolor +.RB ( .visitedLinkColor ) +Color used for visited hyperlinks (`Purple4' by default). Hyperlinks become +visited once you click on them. As for +.BR linkColor , +the value should be either a valid X color name or a hexadecimal color string. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B \-warnspecials +.RB ( .warnSpecials ) +Causes +.B xdvi +to print warnings about +.B \especial +strings that it cannot process to stderr. These warnings are suppressed by default. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-watchfile " n" +.RB ( .watchFile ) +If this option is set to a value larger than 0, xdvi will check +the DVI file for changes every +.I n +seconds. If the DVI file has been completely written by TeX, it will +be reloaded automatically. Fractional values (e.g. `2.5') are +possible. The default for this option is 0, i.e. no watching. +.br +Since xdvi cannot handle partial DVI files, it tries not to reload +the file while it is being rewritten. However, use of the magnifier +or switching of pages requires reading (a part of) the DVI file, and +if the +.B tempfile +option is switched off, this will erase the current contents of the window +until the DVI file can be read entirely. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-wheelunit " pixels" +.RB ( .wheelUnit ) +Sets the number of pixels that a motion of a wheel mouse will move the +image up, down, left, or right. (See the +.B wheel +and +.B hwheel +actions, below, for more information on this.) +If set to zero, the wheel mouse functionality is (essentially) disabled. +The default value is 80. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-xoffset " dimen" +.RB ( .xOffset ) +Specifies the size of the horizontal offset of the output on the page. See +.BR \-offsets . +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BI \-yoffset " dimen" +.RB ( .yOffset ) +Specifies the size of the vertical offset of the output on the page. See +.BR -offsets . +.PP + + + +.SH KEYSTROKES +.B Xdvi +recognizes the following keystrokes when typed in its window. +Each may optionally be preceded by a (positive or negative) number, a +`prefix argument', whose interpretation will depend on the particular keystroke. +This prefix argument can be discarded by pressing the ``Escape'' key. +If present, the ``Help'', ``Prior'' and ``Next'' keys are synonyms for +.RB ` ? ', +.RB ` b ', +and +.RB ` f ' +keys, respectively. +.PP +The key bindings listed here are those that +.B xdvi +assigns by default. The names appearing in brackets at the beginning +of the descriptions are the names of the actions associated with the +keys; these can be used to customize the key bindings, as explained in +more detail in the section +.B CUSTOMIZATION +below. If only a lowercase binding is listed, both upper- and lowercase +keys will work for that binding. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\" +.\" SPECIAL KEYS +.\" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BR ESC " key" +.RB [ discard-number() ] +The escape key discards the numerical prefix for all actions +(useful when you mistyped a number). +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BR Return " key" +.RB [ forward-page() ] +Moves to the next page (or to the +.IR n th +next page if a number is given). Synonyms are +.RB ` n ', +.RB ` f ' +and Line Feed. +.TP +.BR Backspace " key" +.RB [ back-pagee() ] +Moves to the previous page (or back +.I n +pages). Synonyms are +.RB ` p ', +.RB ` b ' +and +.BR Ctrl-h . +.TP +.BR Delete " key" +.RB [ up-or-previous() ] +Moves up two-thirds of a window-full, or to the top of the previous page +if already at the top of the page. With a float argument, moves up the +corresponding fraction of a window-full. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BR Space " key" +.RB [ unpause-or-next() ] +Moves down two-thirds of a window-full, or to the next page if already at +the bottom of the page. +.br +When the option +.BI \-pause " special-string" +is used and the display is currently paused, this key will instead +display the next portion of the page until the next +.I special-string +or the end of the page is encountered. See the description of the +.B \-pause +option for details. The action +.RB [ down-or-next() ] +does a similar thing, but without pausing; it is not bound to a key +by default. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BR Ctrl-Home " (Xaw), " Ctrl-osfBeginLine " (Motif)" +.RB [ goto-page(1) ] +Moves to the first page of the document. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BR Ctrl-End " (Xaw), " Ctrl-osfEndLine " (Motif)" +.RB [ goto-page() ] +Moves to the last page of the document. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BR Home " (Xaw), " osfBeginLine " (Motif)" +.RB [ home-or-top() ] +Move to the ``home'' position of the page, or to the top of the page if +the +.I keep +flag is set (in this case, the page doesn't scroll horizontally). +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BR End " (Xaw), " osfEndLine " (Motif)" +.RB [ end-or-bottom() ] +Move to the ``end'' position of the page (the lower right-hand corner), +or to the bottom of the page if the +.I keep +flag is set (in this case, the page doesn't scroll horizontally). +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\" +.\" ARROW KEYS +.\" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B Down arrow +.RB [ down(0.015) ] +Scrolls page down. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B Up arrow +.RB [ up(0.015) ] +Scrolls page up. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B Right arrow +.RB [ right(0.015) ] +Scrolls page right. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B Left arrow +.RB [ left(0.015) ] +Scrolls page left. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\" +.\" ORDINARY KEYS. Note that the special symbols ([ ] + - etc.) are not in +.\" strict ASCII order (found that more intuitive). Sequence for each letter +.\" is: Alt-Ctrl, Ctrl, uppercase, lowercase. +.\" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B Alt-Ctrl-+ +.RB [ change-density(25) ] +Increase the darkness of the fonts in the DVI window by adding to the gamma value +(see also the +.RB ` S ' +keystroke). +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B Alt-Ctrl-- +.RB [ change-density(-25) ] +Decrease the darkness of the fonts in the DVI window by subtracting from the gamma value +(see also the +.RB ` S ' +keystroke). +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B Ctrl-+ +.RB [ set-shrink-factor(+) ] +Increase the shrink factor (see also the +.RB ` s ' +keystroke). +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B Ctrl-- +.RB [ set-shrink-factor(-) ] +Decrease the shrink factor (see also the +.RB ` s ' +keystroke). +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B Ctr-[ +.RB [ pagehistory-delete-backward() ] +Delete the current item in the page history and move to the history +item before the deleted one. With a prefix argument +.BR n , +delete +.B n +previous history items. See +.B PAGE HISTORY +for details. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B [ +.RB [ pagehistory-back() ] +Move back in the page history (see +.B PAGE HISTORY +for details). With a prefix argument +.BR n , +move back +.B n +history items. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B Ctr-] +.RB [ pagehistory-delete-forward() ] +Delete the current item in the page history and move to the history +item after the deleted one. With a prefix argument +.BR n , +delete +.B n +next history items. See +.B PAGE HISTORY +for details. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B ] +.RB [ pagehistory-forward() ] +Move forward in the page history (see +.B PAGE HISTORY +for details). With a prefix argument +.BR n , +move forward +.B n +history items. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.BR ^ +.RB [ home() ] +Move to the ``home'' position of the page. This is normally the upper +left-hand corner of the page, depending on the margins as described in the +.B \-margins +option, above. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B ? +.RB [ help() ] +Same as the +.B h +key (which see). +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B B +.RB [ htex-back() ] +This key jumps back to the previous hyperlink anchor. See the +section +.B HYPERLINKS +for more information on navigating the links. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B b +.RB [ back-page() ] +Moves to the previous page (or back +.I n +pages). Synonyms are +.RB ` p ', +.B Ctrl-h +and +.BR Backspace . +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B C +.RB [ set-color() ] +This key toggles the use of color specials. The key sequences +.RB ` 0C ' +and +.RB ` 1C ' +turn interpretation of color specials off and on, respectively. +See also the +.B \-nocolor +option. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B c +.RB [ center() ] +Moves the page so that the point currently beneath the mouse cursor is moved to +the middle of the window, and warps the mouse cursor to the same place. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B D +.RB [ toggle-grid-mode() ] +This key toggles the use of a grid on the displayed page. +If no number is given, the grid mode is switched on or off. +By prepending a number from 1 to 3, 3 different grid levels can be set. +The units of the grid are inches or centimeters, depending +on whether the paper format is letter (in) or a4 (cm). +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B d +.RB [ down() ] +Moves page down two thirds of a window-full. With a float argument to ``down'', +moves down the corresponding fraction of a window-full. +.\" Therefore, a more +.\" ``smooth'' scrolling using the ``Up'' and ``Down'' keys can be +.\" achieved by the the following setting: +.\" .sp +.\" xdvi.mainTranslations: #override\e +.\" .br +.\" <Key>Up:up(0.01)\en\e +.\" .br +.\" <Key>Down:down(0.01)\en +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B Ctrl-f +.RB [ find() ] +Pop up a window to search for a string in the DVI file. See the section +.BR "STRING SEARCH" , +below, for more details. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B f +.RB [ forward-page() ] +Moves to the next page (or to the +.IR n th +next page if a number is given). Synonyms are +.RB ` n ', +Return, and Line Feed. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B G +.RB [ set-greyscaling() ] +This key toggles the use of greyscale anti-aliasing for displaying shrunken +bitmaps. In addition, the key sequences +.RB ` 0G ' +and +.RB ` 1G ' +clear and set this flag, respectively. See also the +.B \-nogrey +option. +.sp +If given a numeric argument that is not 0 or 1, greyscale anti-aliasing is +turned on, and the gamma resource is set to the value divided by +100. E.g., +.RB ` 150G ' +turns on greyscale and sets gamma to 1.5. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B Ctrl-g +.RB [ find-next() ] +Find the next match string in the DVI file; this can be used instead +of pressing the `Find' button in the search window. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B g +.RB [ goto-page() ] +Moves to the page with the given number. If no page number is given, xdvi jumps to the last page. +.br +If the option/resource +.B useTeXpages +is active, the numbers correspond to the actual page numbers in the TeX file; +otherwise, absolute page numbers (starting from 1) are used. In the latter case, +the page numbers can be changed with the +.RB ` P ' +keystroke, below. +Note that with the +.B useTeXpages +option it is possible that the same page number occurs multiple +times; in such a case, xdvi will use the first page number that matches. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B h +Pops up a help window with a short explanation of the most important key +bindings and concepts. +.\" +.\" Ummh, surely nobody will use the following ... +.\" +.\" For I18n purposes, the help texts and menu entries are configurable +.\" via the following X resources: +.\" .BR helpGeneral , +.\" #ifhyper +.\" .BR helpHypertex , +.\" #endif +.\" .BR helpOthercommands , +.\" .BR helpMarking , +.\" .BR helpPagemotion , +.\" .BR helpMousebuttons , +.\" .BR helpRulermode , +.\" .BR helpSearch and +.\" .BR helpSourcespecials . +.\" The values of this resource should be a text string, the first line of +.\" which should contain two fields separated by `\en'. The first field is +.\" used as list entry for the list of help topics on the left of the help +.\" window, and the second field is used as the heading on the right-hand side. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B k +.RB [ set-keep-flag() ] +Normally when +.B xdvi +switches pages, it moves to the home position as well. The +.RB ` k ' +keystroke toggles a `keep-position' flag which, when set, will keep +the same position when moving between pages. Also +.RB ` 0k ' +and +.RB ` 1k ' +clear and set this flag, respectively. See also the +.B \-keep +option. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B Ctrl-l +.RB [ fullscreen(toggle) ] +Toggles fullscreen mode (see the description of the +.B \-fullscreen +option for more information on this). This is even more flaky than +using the command-line option: There is no universal standard +how a window could change its own geometry or window decorations at +run-time, so this will not work with most window managers or +desktops. Generally, it's better to use the window manager controls to +change the size or decorations of the xdvi window. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B l +.RB [ left() ] +Moves page left two thirds of a window-full. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B M +.RB [ set-margins() ] +Sets the margins so that the point currently under the mouse cursor defines +the upper left-hand corner of the text in the page. Note that the command +does +.I not +move the image, but only determines the margins +for the page switching commands. For details on how the margins +are used, see the +.B \-margins +option. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B m +.RB [ toggle-mark() ] +Toggles the mark for the current page in the page list. When a page +is marked, it is displayed with a small star `*' next to the page number. +The marked pages can then be printed or saved to a file. +A page or several pages can also be marked by clicking or dragging +.B Mouse-2 +in the page list. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B Ctrl-n +.RB [ toggle-mark()forward-page() ] +Toggles the mark for the current page in the page list, and moves to +the next page. This lets you quickly mark a series of subsequent pages. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B n +.RB [ forward-page() ] +Moves to the next page (or to the +.IR n th +next page if a number is given). Synonyms are +.RB ` f ', +Return, and Line Feed. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B Ctrl-o +.RB [ select-dvi-file() ] +Read a new +.I dvi +file. A file-selection widget is popped up for you to choose the DVI +file from. If a prefix argument +.I n +is given, the +.I n th +file from the file history is opened instead. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B P +.RB [ declare-page-number() ] +``This is page number +.IR n .'' +This can be used to make the +.RB ` g ' +keystroke refer to a different page number than the physical page. +(If you want to use `logical' or \*(Te\& page numbers instead of physical pages, +consider using the option +.B \-useTeXpages +instead.) +The argument +.I n +should be given as prefix to this key. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B Ctrl-p +.RB [ print() ] +Opens a popup window for printing the DVI file, or parts of it. +See the section +.B PRINT DIALOG +for an explanation of the options available, and the resources to customize +the default behaviour. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B p +.RB [ back-page() ] +Moves to the previous page (or back +.I n +pages). Synonyms are +.RB ` b ', +.B Ctrl-h +and +.BR Backspace . +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B q +.RB [ quit() ] +Quits the program. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B Ctrl-r +.RB [ forward-page(0) ] +Redisplays the current page. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B R +.RB [ reread-dvi-file() ] +Forces the +.I dvi +file to be reread. This allows you to preview many versions of the same +file while running +.B xdvi +only once. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B r +.RB [ right() ] +Moves page right two thirds of a window-full. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B Ctrl-s +.RB [ save() ] +Opens a popup window for saving the DVI file, or parts of it. See the section +SAVE DIALOG below for more information on this. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B S +.RB [ set-density() ] +Sets the density factor to be used when shrinking bitmaps. This should +be a number between 0 and 100; higher numbers produce lighter characters. +If greyscaling mode is in effect, this changes the value of gamma instead. +The new value of gamma is the given number divided by 100; negative values +are allowed. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B s +.RB [ set-shrink-factor() ] +Changes the shrink factor to the given number. If no number is given, the +smallest factor that makes the entire page fit in the window will be used. +(Margins are ignored in this computation.) +.\" NOTE: following only works in action string, not interactively!!! +.\" Two special values are +.\" .B + +.\" and +.\" .B - +.\" which zoom in and out respectively, by decrementing/incrementing the +.\" shrinkfactor by one step. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B T +.RB [ use-tex-pages() ] +Use logical \*(Te\& pages (the values of the +.I \ecount0 +register) instead of physical pages for the pagelist labels and +when jumping to a page in a document via +.BR goto-page() . +See also the +.B \-useTeXpages +option. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B t +.RB [ switch-magnifier-units() ] +Switches the units used for the magnifier tick marks, and for reporting +the distance between the mouse pointer and the ruler centre in +ruler mode (see the section +.BR MODES ). +The default value is specified by the X resource +.B tickUnits +(`mm' by default). The units toggle through the following +values; except for `px', they all correspond to \*(Te\&'s units: +.I mm +(millimeters) +.I pt +(\*(Te\& points), +.I in +(inches), +.I sp +(scaled points, the unit used internally by \*(Te\&) +.I bp +(big points or `Postscript points'), +.I cc +(cicero points), +.I dd +(didot points), +.I pc +(pica), and +.I px +(screen pixels). +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B Ctrl-u +.RB [ back-page()toggle-mark() ] +Moves to the previous page, and toggles the mark for that page. This +is the dual action to +.BR Ctrl-n . +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B u +.RB [ up() ] +Moves page up two thirds of a window-full. With a float argument to ``up'', +moves up the corresponding fraction of a window-full. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B Ctrl-v +.RB [ show-source-specials() ] +Show bounding boxes for every source special on the current page, and print +the strings contained in these specials to stderr. With prefix 1, +show every bounding box on the page. This is for debugging purposes mainly. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B V +.RB [ set-gs-alpha() ] +This key toggles the anti-aliasing of PostScript<tm> specials when +.B Ghostscript +is used as renderer. In addition the key sequences +.RB ` 0V ' +and +.RB ` 1V ' +clear and set this flag, respectively. See also the +.B \-gsalpha +option. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B v +.RB [ set-ps() ] +This key toggles the rendering of PostScript<tm> specials between 3 states: +.RS 7 +.TP 0 +.SB - specials (like EPS graphics) are displayed; +.TP +.SB - specials are displayed along with their bounding box (if available); +.TP +.SB - only the bounding box is displayed. +.PP +.sp +The states can also be selected directly by using +.RB ` 1v ', +.RB ` 2v ' +and +.RB ` 0v ' +respectively. +See also the +.B \-postscript +option. +.RE +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B Ctrl-x +.RB [ source-what-special() ] +Display information about the source special next to the mouse cursor in the +statusline. This is the same special that would be found by +.IR source-special() , +but without invoking the editor. For debugging purposes. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B x +.RB [ set-expert-mode() ] +Toggles expert mode, in which +the statusline, the scrollbars, the menu buttons, the toolbar (Motif only) +and the page list are not shown. +Typing +.RB ` 1x ' +toggles the display of the statusline at the bottom of +the window. Typing +.RB ` 2x ' +toggles the scrollbars (if available). For Xaw, +.RB ` 3x ' +toggles the menu buttons and the page list, for Motif, +it toggles the page list. In Motif, the additional bindings +.RB ` 4x ' +toggle the toolbar, and +.RB ` 5x ' +the menu bar. +.br +Without a prefix argument, all of the mentioned GUI elements are either +switched on (if they had been invisible before) or off. +.br +Toggling the scrollbars may behave erratically with the +Xaw widgets; e.g. the scrollbars may reappear after +resizing the window, and at certain window sizes one of the +scrollbars may fail to disappear. +.br +See also the option +.B \-expertmode +(the numbers above correspond to the bits in the argument to +.BR \-expertmode ). +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.SH MOUSE ACTIONS IN THE MAIN WINDOW +The mouse actions can be customized by setting the X resource +.BR mouseTranslations . +Since there are three different mouse modes (see the section +.B MODES +below), there is a special action +.B mouse-modes +which lists the actions for each of the three modes: +\fBmouse-modes("ACTIONS-FOR-MODE1", "ACTIONS-FOR-MODE2", "ACTIONS-FOR-MODE3")\fR. +If only one argument is specified, this action is used for all modes. +The default bindings are as follows: +.RS 5 +.nf +.ft 3 +.sp 1n +xdvi.mouseTranslations: \e +Shift<Btn1Down>:mouse-modes("drag(+)")\en\e +Shift<Btn2Down>:mouse-modes("drag(|)")\en\e +Shift<Btn3Down>:mouse-modes("drag(-)")\en\e +Ctrl<Btn1Down>:mouse-modes("source-special()")\en\e +<Btn1Down>: mouse-modes("do-href()magnifier(*2)", "text-selection()", "ruler()")\en\e +<Btn2Down>: mouse-modes("do-href-newwindow()magnifier(*2)", "text-selection()", "ruler()")\en\e +<Btn3Down>: mouse-modes("magnifier(*3)")\en\e +<Btn4Down>: mouse-modes("wheel(-0.2)")\en\e +<Btn5Down>: mouse-modes("wheel(0.2)")\en\e +<Btn6Down>: mouse-modes("hwheel(-0.2)")\en\e +<Btn7Down>: mouse-modes("hwheel(0.2)")\en\e +.sp 1n +.ft +.fi +.RE +All of these actions are described in more detail below. +Note the use of quote symbols around the action strings, which are necessary +to group them into one argument. +Buttons 4, 5, 6, and 7 refer to wheel movements (wheel up/down/left/right) +on wheel mice. Not all mice support horizontal scrolling. +.PP +The X Toolkit routines that implement translations do not support event +types of +.B Btn6Down +or +.BR Btn7Down . +Because of this, +.B xdvi +implements its own parser for translations given in +.BR mouseTranslations . +This parser is more limited than the parser built in to the X Toolkit. +The string given in +.B mouseTranslations +should not begin with +.RB `` #replace '', +.RB `` #augment '', +or +.RB `` #override ''. +Modifiers of the form +.BI @ keysym +are not supported, and the event type must be of the form +.B BtnDown +or +.BI Btn n Down\fR,\fP +where +.I n +is a positive integer without leading zeroes. Also, some limitations apply +to the action field. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B do-href() +.TP +.B do-href-newwindow() +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +Usually, if a binding specifies more then one action, all actions +are executed in a sequence. The hyperlink bindings +.B do-href() +and +.B do-href-newwindow() +are special in that they are used as an +.I alternative +to other actions that might follow them +.I if +the mouse is currently located on a hyperlink. +In this case, none of the other actions will be executed; +otherwise, only the other actions are executed. +.br +The action +.B do-href() +jumps to the link target in the current xdvi +window (eventually switching to another page), and +.B do-href-newwindow() +opens a new instance of xdvi for the link target. +In both cases, the location of the target is +indicated by a small arrow drawn in the same color +as a visited link +in the left corner of the window. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B magnifier(n x m) +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B magnifier(*n) +This action will pop up a ``magnifying glass'' which shows the unshrunk +image of the region around the mouse pointer. The magnifier disappears when +the mouse button is released. Moving the mouse cursor while holding the button down will move the +magnifier. +.br +Different mouse buttons produce different sized +windows, as indicated by the +the argument of the +.I magnifier() +action. Its argument is either a string of the form +.IR width x height , +as in the +.BI \-mgs n +command-line option, or one of the strings +.B *1 +through +.BR *5 , +referring to the value specified by the corresponding +.BI \-mgs n +option. +.\" Note that in order to assign magnifier actions to +.\" the buttons 4 or 5, you need to use the resource +.\" .B wheelTranslations +.\" (more about this resource below), e.g.: +.\" .sp +.\" xdvi.wheelTranslations: <Btn4Down>: magnifier(*4)\en\e +.\" <Btn5Down>: magnifier(*5)\en +.\" .sp +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B drag(+) +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B drag(|) +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B drag(-) +Drags the page with the mouse. This action should have one parameter, the character +.RB `` | '', +.RB `` - '', +or +.RB `` + '', +indicating vertical dragging only, horizontal dragging only, or dragging in all +directions. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B source-special() +This action starts a ``reverse search'', +opening the editor at the location in the \*(Te\& file corresponding +to the pointer location in the DVI file. +See the section on SOURCE SPECIALS, below, for more information on this. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B wheel() +This action can be used to scroll the image with a wheel mouse, where it +is usually bound to mouse button 4 (wheel up) or 5 (wheel down). +The action takes one parameter, giving the distance to scroll the +image. If the parameter contains a decimal point, the distance is +given in wheel units; otherwise, pixels. A negative value scrolls up, +a positive value scrolls down. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B hwheel() +This action can be used to scroll the image horizontally with a wheel mouse, +where it is usually bound to mouse button 6 (wheel left) or 7 (wheel right). +The action takes one parameter, giving the distance to scroll the +image. If the parameter contains a decimal point, the distance is +given in wheel units; otherwise, pixels. A negative value scrolls left, +a positive value scrolls right. Not all mice support horizontal scrolling; +this is mostly for touchpads, trackpads, etc. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B text-selection() +This action allows you to mark a rectangular region of text in the DVI file. +The text is put into the X selection buffer and can be pasted into other +applictions (e.g. text editors). This works similar to the Plain text option +in the +.B Save +dialog; see the discussion there for more information on encoding issues. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B ruler() +This action creates a cross-shaped ruler. Moving the mouse and holding +the button down drags the ruler and lets you measure distances on the page. +See the section +.B Ruler Mode +for more information on this. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.SH UNBOUND ACTIONS +The following actions are not bound to a key by default, but are available +for customization. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B quit-confirm() +Pops up a confirmation window to quit xdvi. To bind it to the +.RB ` q ' +key instead of the default `quit()' action, put the following into your +.I ~/.Xdefaults +file: +.sp +xdvi.mainTranslations: #override\e +.br +<Key>q: quit-confirm()\en +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B down-or-next() +Similar to +.IR unpause-or-next() : +Moves down two-thirds of a window-full, or to the next page if already +at the bottom of the page. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B shrink-to-dpi() +This action takes one (required) argument. It sets the shrink factor to +an integer so as to approximate the use of fonts with the corresponding +number of dots per inch. If +.B xdvi +is using fonts scaled for +.I p +dots per inch, and the argument to +.B shrink-to-dpi +is +.IR n , +then the corresponding shrink factor is the ratio +.IR p / n , +rounded to the nearest integer. +.PP +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.SH CUSTOMIZATION +Key and mouse button assignments can be changed by setting the +.B mainTranslations +resource to a string of translations as defined in the documentation for the +X toolkit. The actions should take the form of action names listed in the +KEYSTROKES and MOUSE ACTIONS sections. +.PP +An exception to this are the Motif keys +.IR osfPageUp " (" PgUp ), +.IR osfPageDown " (" PgDown ), +.IR osfBeginLine " (" Home ) +and +.IR osfEndLine " (" End ) +which are currently not customizable in the Motif version. +.PP +Key actions will usually be without arguments; if they are passed an argument, +it represents the optional number or `prefix argument' typed prior to the action. +.PP +Some key actions may take special arguments, as follows: The argument of +.B goto-page +may be the letter +.RB ` e ', +indicating the action of going to the end of the document. +The argument of +.B set-shrink-factor +may be the letter +.RB ` a ', +indicating that the shrink factor should be set to the smallest value such that +the page will fit in the window, or one of the signs +.RB ` + ' +or +.RB ` - ', +indicating that the shrink factor should be increased or decreased, respectively. +Finally, actions that would perform a toggle, such as +.BR set-keep-flag , +may receive an argument +.RB ` t ', +indicating that the action should toggle regardless of the current prefix argument. +.PP +Mouse actions should refer only to +.B ButtonPress +events (e.g., +.BR "<Btn1Down>:magnifier(*1)" ). +The corresponding motion and release events will be handled internally. +A key action may be bound to a mouse event, but not vice versa. +.PP +Usually the string of translations should begin with +.RB `` #override '', +indicating that the default key and mouse button assignments should not +be discarded. +.PP +When keys or mouse buttons involving modifiers (such as Ctrl or Shift) +are customized together with their non-modified equivalents, the modified +keys should come first, for example: +.RS 5 +.nf +.ft 3 +.sp 1n +xdvi.mainTranslations: #override \e +Shift<Key>s: select-dvi-file()\en\e +Ctrl<Key>s: save()\en\e +<Key>s: find()\en +.sp 1n +.ft +.fi +.RE +.PP +Because +.B xdvi +needs to capture pointer motion events, and because the X Toolkit +translations mechanism cannot accommodate both motion events and double-click +events at the same time, it is not possible to specify double-click +actions in +.B xdvi +customizations. For information on this and other aspects of translations, +see the X Toolkit Intrinsics documentation. +.PP +There is no command-line option to set the +.B mainTranslations +resource, since changing this resource on the command line would be cumbersome. +To set the resource for testing purposes, use the +.B -xrm +command-line option provided by the X toolkit. For example, +\fBxdvi \-xrm 'XDvi.mainTranslations: #override "z":quit()' ...\fR +or +.B "xdvi \-xrm 'XDvi.mainTranslations: #override <Key>z:quit()' ..." +will cause the key +.RB ` z ' +to quit +.BR xdvi . +.PP +Some resources are provided to allow customization of the geometry of +the Xaw command buttons. Again, they are not changeable via command-line +options, other than via the +.B \-xrm +option. All of these resources take integer values. +.TP +.B buttonSideSpacing +The number of pixels to be placed on either side of the buttons. +The default value is 6. +.TP +.B buttonTopSpacing +The number of pixels between the top button and the top of the window. +The default value is 50. +.TP +.B buttonBetweenSpacing +The number of pixels between the buttons. +The default value is 20. +.TP +.B buttonBetweenExtra +The number of pixels of additional space to be inserted if the +.B buttonTranslations +resource string contains an extra newline character. +The default value is 50. +.TP +.B buttonBorderWidth +The border width of the button windows. The default value is 1. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.SH PAGE LIST +The scrollable page list on the right of the main window allows you to +jump directly to a page in the DVI file. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B Mouse-1 +Jumps to the page the mouse is located on. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B Mouse-2 +.RB [ toggle-mark() ] +Toggle the mark of the current page. The marks are used by the `Print' +and `Save to file' dialogs to select only marked pages from the DVI file. +.PP +When the mouse pointer is inside the page list, the mouse wheel switches +to the next or previous page. +.PP +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.SH SCROLLBARS +The scrollbars (if present) behave in the standard way: pushing Button 2 +in a scrollbar moves the top or left edge of the scrollbar to that point +and optionally drags it; +pushing Button 1 moves the image up or right by an amount equal to the distance +from the button press to the upper left-hand corner of the window; pushing +Button 3 moves the image down or left by the same amount. +.PP +The scrollbars can be removed via the +.I -expertmode +flag/keystroke (which see). +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.SH MAGNIFIER +By default, the mouse buttons 1 to 5 will pop up a ``magnifying glass'' +that shows an unshrunken image of the page (i.e. an image at the resolution +determined by the option/X resource +.B pixels +or +.BR mfmode ) +at varying sizes. When the magnifier is moved, small ruler-like +tick marks are displayed at the edges of the magnifier (unless +the X resource +.B delayRulers +is set to false, in which case the tick marks will always be displayed). +The unit of the marks is determined by the X resource +.B tickUnits +(mm by default). This unit can be changed at runtime via the action +.BR switch-magnifier-units() , +by default bound to the keystroke +.RB ` t ' +(see the description of that key, and of switch-magnifier-units() for +more details on the units available). +.br +The length of the tick marks can be changed via the X resource +.B tickLength +(4 by default). A zero or negative value suppresses the tick marks. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.SH PAGE HISTORY +.B Xdvi +keeps a history of viewed pages, and you can move through the history +and delete items using the keys +.B [ +.RI ( pagehistory-back() ), +.B ] +.RI ( pagehistory-forward() ), +.B Ctr-[ +.RI ( pagehistory-delete-backward() ) +and +.B Ctr-] +.RI ( pagehistory-delete-forward() ). +.PP +When one of the history commands is used, the page history is displayed +in the status line at the bottom of the window, with the current list +item marked by square brackets `[', `]' and a left and right context of +at most 10 items. File boundaries are marked by `#'. +.PP +The size of the history can be customized with the X resource +.B pageHistorySize +(the default size is 1000 items). If the size is set to 0, the +history commands are disabled. +.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.SH HYPERLINKS +The actions +.B do-href() +and +.B do-href-newwindow() +(by default bound to Mouse-1 and Mouse-2 if the pointer is currently located +on a hyperlink) can be used to open the link target in the same window +.RB ( do-href() ) +or in a new window +.RB ( do-href-newwindow() ). +.PP +If the link target is not a file on the local disk, +xdvi tries to launch a web browser (as specified by the +.B -browser +command line option, the +.B BROWSER +environment variable or the +.B wwwBrowser +X resource, in this order) to retrieve the document. See the description +of the +.B BROWSER +environment variable, below, for an example setting. +.PP +If the file is a local file, xdvi tries to determine if it is a DVI +file. If it is, xdvi will try to display the file; otherwise it will +try to determine the MIME type of the file, and from that an +application suitable for opening the file. +This is done by parsing the files specified by the environment variable +.B EXTENSIONMAPS +for a mapping of filename extensions to MIME types, +and the files determined by the environment variable +.B MAILCAPS +for a mapping of MIME types to application programs. +See the descriptions of these variables in the section +.BR ENVIRONMENT , +below, for a more detailed description and the default values of these +variables. If no suitable files are found, a set of built-in default +MIME types and applications is used. +.PP +.B Xdvi +currently uses no heuristics apart from the filename suffix +to determine the mime type of a file. If a filename has no suffix, +the value of the resource +.B noMimeSuffix +is used (by default +.IR application/x-unknown ). +If the suffix doesn't match any of the suffixes in +.BR mime.types , +the value of the resource +.B unknownMimeSuffix +is used (by default +.IR application/x-unknown ). +If the +.B mailcap +entries do not list a viewer for a given mime type, xdvi will show +a warning popup. If you want to avoid this warning, and for example +want to always use the netscape browser for unknown MIME types, +you could add the following line to your ~/.mailcap file: +.RS 4 +.nf +.ft 3 +.sp 1n +application/xdvi-unknown; \e + netscape -raise -remote 'openURL(%s,new-window)' +.sp 1n +.ft +.fi +.RE +.\" As an example, consider the following settings, which are the default +.\" settings for buttons 1 and 2: +.\" .RS 5 +.\" .nf +.\" .ft 3 +.\" .sp 1n +.\" xdvi.mainTranslations: #override \e +.\" <Btn1Down>: do-href()magnifier(*1)\en\e +.\" <Btn2Down>: do-href-newwindow()magnifier(*2)\en\e +.\" <Btn3Down>: magnifier(*3)\en +.\" .sp 1n +.\" .ft +.\" .fi +.\" .RE +.\" .PP +.\" If a link points to a file which is not a DVI file (e.g. HTML, or +.\" PostScript), the files +.\" .B mime.types +.\" and +.\" .B mailcap +.\" are parsed to determine a suitable viewer; if no suitable +.\" .B mailcap +.\" entry was found, if the +.\" .SB WWWBROWSER +.\" environment variable is set, or +.\" .B \-browser +.\" was specified on the command line, the browser is launched to load the file. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.SH STRING SEARCH +The keystroke +.I Ctrl-f +or the menu entry +.I File > Find ... +(or the `Binoculars' symbol in the toolbar, for Motif) +opens a dialog window to search for a text string or +a regular expression in the DVI file. +The keystroke +.I Ctrl-g +jumps to the next match (like pressing the `Find' button in the search window). +.PP +By default, the matches are highlighted in inverted color. +If the display isn't running in TrueColor, or if the X resource +.B matchHighlightInverted +is set to false or the command-line option +.B \-nomatchinverted +is used, xdvi will instead draw a rectangle in +.I highlight +color (see the +.B \-hl +option) around the match. +.PP +If a match crosses a page boundary, only the part on the +first page is highlighted. +.B Xdvi +will scan up to 2 adjacent pages to match strings crossing page +boundaries; but note that header or footer +lines, or intervening float pages will be treated as parts of the +scanned text. Such text will usually cause multi-page matching to fail. +.PP +This emphasizes the fact that searching in the +formatted text (the DVI output) works differently from +searching in the source text: Searching in the DVI file makes it easier to +skip formatting instructions, and makes it possible to search for e.g. +hyphenation and equation numbers; but sometimes the +formatting results can also get in the way, e.g. in the case of +footnotes. In these cases it's better to search in the \*(Te\& source +instead. The use of +.I source specials +will make switching between the +xdvi display and the editor with the \*(Te\& source easier; see the +section +.B SOURCE SPECIALS +below for more information on this. +.PP +The text extracted from the DVI file is in encoded in UTF-8 +(you can view that text by saving the file in UTF-8 format via the +.I File > Save as ... +menu item). +If xdvi has been compiled with locale, +.I nl_langinfo() +and +.I iconv +support, the search term is converted from the character set +specified by the current locale into UTF-8. (See the output of +.B locale -a +for a list of locale settings available on your system). +If +.I nl_langinfo() +is not available, but +.I iconv +is, you can specify the input encoding for +.I iconv +via the X resource +.I textEncoding +(see the output of +.B iconv -l +for a list of valid encodings). If +.I iconv +support is not available, only the encodings +.I ISO-8859-1 +and +.I UTF-8 +are supported (these names are case-insensitive). +.PP +Ideographic characters from CJKV fonts are treated specially: All white space +(spaces and newlines) before and after such characters is ignored in +the search string and in the DVI file. +.PP +To match a newline character, use \fI\en\fR in the search string; +to match the string \fI\en\fR, use \fI\e\en\fR. +.PP +If the checkbox +.I Regular Expression +is activated, the string is treated as a regular expression in +extended POSIX syntax, with the following properties: +.RS 2 +.TP 2 +- +\fIa?\fR matches \fIa\fR zero or one times. +.TP +- +\fIa*\fR matches \fIa\fR zero or more times. +.TP +- +\fIa+\fR matches \fIa\fR one or more times. +Note that \fI*\fR and \fI+\fR are greedy, i.e. they match the longest possible substring. +.TP +- +The pattern \fI.\fR matches any character except for newline. To also match a newline, use `\fI(.|\en)\fR'. +.TP +- +\fIa{n}\fR matches \fIa\fR exactly n times. +.TP +- +\fIa{n,m}\fR matches \fIa\fR at least n and no more than m times. +.TP +- +\fIa|b\fR matches \fIa\fR or \fIb\fR. Brackets can be used +for grouping, e.g.: \fI(a|b)|c\fR. +.TP +- +The string matched by the nth group can be referenced by \fI\en\fR, e.g. \fI\e1\fR refers to the +first match. +.TP +- +The characters \fI^\fR and \fI$\fR match the beginning and the end of a line, respectively. +.TP +- +\fI[abc]\fR matches any of the letters a, b, c, and \fI[a-z]\fR matches all characters from a to z. +.TP +- +Each item in a regular expression can also be one of the following POSIX +character classes: +.br +.nf +.I [[:alnum:]] [[:alpha:]] [[:blank:]] [[:cntrl:]] [[:digit:]] +.I [[:graph:]] [[:lower:]] [[:print:]] [[:space:]] [[:upper:]] +.fi + + +These can be negated by inserting a \fI^\fR symbol after the first bracket: +.I [^[:alpha:]] + +For more details on POSIX regular expressions, see e.g. the +.B IEEE Std 1003.1 +standard definition available online from: + +.nf +http://www.opengroup.org/onlinepubs/007904975/basedefs/xbd_chap09.html +.fi +.TP +- +As a non-standard extension, the following Perl-like abbreviations +can be used instead of the POSIX classes: +.nf +.sp 1n +.ta 1L +8L +30L +Symbol Meaning POSIX Class + + \fI\ew\fR an alphanumeric character \fI[[:alnum:]]\fR + \fI\eW\fR a non-alphanumeric character \fI[^[:alnum:]]\fR + \fI\ed\fR a digit character \fI[[:digit:]]\fR + \fI\eD\fR a non-digit character \fI[^[:digit:]]\fR + \fI\es\fR a whitespace character \fI[[:space:]]\fR + \fI\eS\fR a non-whitespace character \fI[^[:space:]]\fR +.sp 1n +.fi +.TP +- +The following characters are special symbols; they need to be escaped +with \fI\e\fR in order to match them literally: \fI ( ) [ ] . * ? + ^ $ \e\fR. +.TP +- +Matches of length zero are silently skipped. +.RE +.PP +The dialog also provides checkboxes to: +.RS 2 +.TP 2 +- +search backwards; +.TP +- +match in a case-sensitive manner (the default is to ignore case, i.e. a search +string +.I Test +will match both the strings +.I test +and +.I TEST +in the DVI file); +.TP +- +ignore line breaks and hyphens: This removes all hyphens at the ends +of lines and the following newline characters, and replaces all +remaining newline characters by white spaces. So hyphenated words will +appear as one word to the search, and a search for two words with a space +in between will also match the words if they are separated by a linebreak. +.br +Note that the hyphen removal may cause unwanted side effects for compound words +containing hyphens that are wrapped after the hyphen, and that replacing the +newlines affects the interpretation of regular expressions as follows: +The \fI.\fR pattern will also match newlines, and \fI^\fR and \fI$\fR won't match +begin and end of lines any more. (Since currently there is no option for turning +off the greediness of \fI*\fR and \fI+\fR, turning on this option will usually +result in matches that are longer than desired.) +.RE +.PP +The current checkbox settings are saved in the +.I ~/.xdvirc +file. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.SH PRINT DIALOG +The print dialog window allows you to print all pages, marked pages +(click or drag Mouse-2 in the page list to mark them), or a range +of pages. Note that the page numbers always refer to physical pages, +so if you're using the option `use TeX pages', you may want to disable +it to make it easier to determine the correct page numbers (or avoid this +problem altogether by marking the pages to be printed). +.PP +The value of the +.B Printer +text filed is passed to +.B dvips +via the +.B -o! +mechanism, as a single argument after the `!'. Any arguments +listed in the +.B Dvips options +field are segmented at whitespaces and passed as separate arguments to dvips. +If you e.g. want to print the file 2-up, you should enter +the following string into the +.B Printer +field: +.RS 5 +.nf +.sp 1n + \fIpsnup -2 -q | lpr -Plp\fP +.sp 1n +.fi +.RE +.PP +There are several resources for customizing the behaviour and the default entries +of the print dialog: +.TP +.B dvipsPrinterString +.TP +.B dvipsOptionsString +These can be used to provide default entries for the +.B Printer +and the +.B Dvips options +text fields, respectively. If no paper size is specified in the DVI file +(via e.g. \eusepackage[dvips]{geometry} - this is the preferred method), +the input field is initialized with the current value of the +command line option/X resource +.BR paper . +E.g., the option +.I -paper a4r +is translated into the dvips options +.IR "-t a4 -t landscape" . +Note that no check is performed whether dvips actually understands these +options (it will ignore them if it can't); currently not all options +used by xdvi are also covered by dvips. +.TP +.B dvipsHangTime +.TP +.B dvipsFailHangTime +These specify the time (in milliseconds) that the printing progress window will +stay open after the +.B dvips +process has terminated. The value of +.BR dvipsHangTime +is used if the process terminates successfully; +.B dvipsFailHangTime +is used if it terminates with an error. The default values are 1.5 and 5 seconds, respectively. +If both values are negative, the window will stay open until it is closed by the user. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.SH SAVE DIALOG +This dialog allows you to save all or selected/marked pages in the current +DVI file. You can save in one of the following formats: +.RS 2 +.TP 2 +- +Postscript (uses +.B dvips +to convert the DVI file to a Postscript file, just like when printing +to a Postscript file). +.TP +- +PDF (first uses +.B dvips +to convert the DVI file to a Postscript file, then uses +.B ps2pdf +to convert the Postscript file to PDF). +.TP +- +Plain text in ISO-8859-1 or UTF-8 encoding. The latter will preserve more +of the special LaTeX characters e.g. from mathematical mode. Note however +that e.g. only few of LaTeX's mathematical symbols can be rendered correctly +as text; so this funcionality works best for plain text documents. +If a character cannot be displayed in the selected +charset, it is replaced by `\e' followed by the hexadecimal character code. +If a character is not recognized at all, it is replaced by `?'. +.RE +.PP +The programs for Postscript and PDF conversion can be customized via +the command line options or X resources +.BR -dvipspath / .dvipsPath +and +.BR -ps2pdfpath / .ps2pdfPath , +respectively; see the explanation of these options above for more details. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.SH MODES +The keystroke +.B Ctrl-m +[\fBswitch-mode()\fR] +switches between three different mouse bindings, +which can also be activated via the +.B Modes +menu (in Motif, this is a submenu of the +.B Options +menu called +.BR "Mouse Mode" ). +The default mode at startup can be customized via the X resource +.B mouseMode +or the command-line option +.BR \-mousemode . +The default startup mode is Magnifier Mode. +.PP +.B Note: +The modes are implemented by changing the +.I magnifier() +action. Switching the mode will not work if +.B Mouse-1 +has been customized to an action sequence that does +not contain the magnifier() action. +.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B "Magnifier Mode" +In this mode, the mouse buttons 1 to 5 pop up a ``magnifying glass'' +that shows an unshrunken image of the page (i.e. an image at the resolution +determined by the option/X resource +.B pixels +or +.BR mfmode ) +at varying sizes. When the magnifier is moved, small ruler-like +tick marks are displayed at the edges of the magnifier (unless +the X resource +.B delayRulers +is set to false, in which case the tick marks are always displayed). +The unit of the marks is determined by the X resource +.B tickUnits +(mm by default). This unit can be changed at runtime via the action +.BR switch-magnifier-units() , +by default bound to the keystroke +.RB ` t ' +(see the description of that key, and of switch-magnifier-units() for +more details on the units available). +.br +The length of the tick marks can be changed via the X resource +.B tickLength +(4 by default). A zero or negative value suppresses the tick marks. +.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B "Text Selection Mode" +This mode allows you to select a rectangular region of text in the DVI +file by holding down +.B Mouse-1 +and moving the mouse. The text is put into +the X primary selection so that it can be pasted into other X applications +with +.B Mouse-2 +as usual. +.br +If xdvi has been compiled with locale, +.I nl_langinfo() +and +.I iconv +support, the selected text is converted into the character set of the +current locale (see the output of +.B locale -a +for a list of locale settings available on your system). +If +.I nl_langinfo() +is not available, but +.I iconv +is, you can specify the input encoding for +.I iconv +via the X resource +.I textEncoding +(see the output of +.B iconv -l +for a list of valid encodings). If +.I iconv +support is not available, only the encodings +.I ISO-8859-1 +and +.I UTF-8 +are supported (these names are case-insensitive). +.br +Note that UTF-8 is +the only encoding that can render all characters (e.g. mathematical +symbols) of a DVI file. If ISO-8859-1 is active, characters that cannot be displayed +are replaced by `\e' followed by the hexadecimal character code. +For other encodings, such characters may trigger iconv error messages. +If a character is not recognized at all, it is replaced by `?'. +.br +To extract larger portions of text, you can alternatively +save selected pages or the entire file in text format via the +.B File > Save as ... +menu. +.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.B "Ruler Mode" +This mode provides a simple way of measuring distances on the page. +.br +When this mode is activated, the mouse cursor changes into a +thin cross, and a larger, cross-shaped ruler is drawn in the +highlight color at the mouse location. The ruler doesn't have +units attached to it; instead, the current distance between the +ruler and the mouse cursor is continuously printed to the +statusline. +.br +When activating Ruler Mode, the ruler is at first attached to +the mouse and can be moved around. It can then be positioned at +a fixed place by clicking +.BR Mouse-1 . +After that, the mouse cursor +can be moved to measure the horizontal +.RI ( dx ), +vertical +.RI ( dy ) +and direct (shortest) +.RI ( dr ) +distance between the ruler center point and the mouse. +.br +Clicking +.B Mouse-1 +again will move the ruler to the current mouse +position, and holding down +.B Mouse-1 +will drag the ruler around. +.br +In Ruler Mode, the following special keybindings extend or +replace the default bindings: +.RS 7 +.TP 7 +.B o +.RB [ ruler-snap-origin() ] +Snap the ruler back to the origin coordinate (0,0). +.TP +.B t +\fR[overrides \fBswitch-magnifier-units()\fP] +Toggle between various ruler units, which can be specified by the X +resource +.B tickUnits +(`mm' by default). +.TP +.B P +\fR[overrides \fBdeclare-page-number()\fP] +Print the distances shown in the statusline to standard output. +.RE +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.SH TOOLBAR (Motif only) +The Motif toolbar can also be customized. The XPM file used for the +toolbar icons can be specified via the resource +.BR toolbarPixmapFile , +which should contain a filename that can be found in one of +.B XFILESEARCHPATH +or +.B XDVIINPUTS +(see the section +.B FILE SEARCHING +below for more information on these variables). +.B Xdvi +will try to split this pixmap horizontally into +.I n +pieces, where each piece is as wide as the pixmap is high +and is treated as an image for toolbar button +.IR n . +This means that each icon should be a square, and that the entire +pixmap should have width +\fIn\fR x \fIh\fR if \fIh\fR is the height of the pixmap. +.PP +The resource +.B toolbarTranslations +can be used to map icons/buttons to specific actions. +The resource should contain a string separated by newline characters, +similar to the resources +.B mainTranslations +and +.BR menuTranslations . +Every line must contain either a spacer definition, or an icon definition: +.PP +A spacer definition is a string \fBSPACER(\fIn\fB)\fR, +where +.I n +is the number of pixels inserted as separator to the following button. +.PP +An icon definition is a colon-separated list containing the following elements: +.RS 2 +.TP 2 +.SB - the index of an icon in the pixmap file (starting from zero); +.TP +.SB - a long tooltip string, displayed in the status area; +.TP +.SB - a short tooltip string, displayed as popup; +.TP +.SB - a sequence of actions to be performed when the corresponding toolbar button is pushed. +.RE +.PP +To illustrate this, the default value of +.B toolbarTranslations +looks as follows: +.RS 5 +.nf +.ft 3 +.sp 1n +xdvi.toolbarTranslations: \e + SPACER(5)\en\e + 0:Open a new document (Key\e\e: Ctrl-f):\e + Open file:select-dvi-file()\en\e + SPACER(10)\en\e + 1:Reread this document (Key\e\e: R):\e + Reread file:reread-dvi-file()\en\e + SPACER(10)\en\e + 2:Go to the first page of this document (Key\e\e: 1g):\e + Go to first page:goto-page(1)\en\e + 3:Go to the previous page of this document (Key\e\e: p):\e + Go to previous page:back-page(1)\en\e + 4:Go to the next page of this document (Key\e\e: n):\e + Go to next page:forward-page(1)\en\e + 5:Go to the last page of this document (Key\e\e: g):\e + Go to last page:goto-page()\en\e + SPACER(10)\en\e + 6:Enlarge the display (Key\e\e: Ctrl-+):Zoom in:\e + set-shrink-factor(+)\en\e + 7:Shrink the display (Key\e\e: Ctrl--):Zoom out:\e + set-shrink-factor(-)\en\e + SPACER(10)\en\e + 8:Jump back to the previous hyperlink (Key\e\e: B):\e + Back hyperlink:htex-back()\en\e + SPACER(10)\en\e + 10:Print this document:Print:print()\en\e + SPACER(10)\en\e + 11:Toggle marks for odd pages (Key\e\e: 1m):\e + Toggle odd:toggle-mark(1)\en\e + 12:Toggle marks for even pages (Key\e\e: 2m):\e + Toggle even:toggle-mark(2)\en\e + 13:Toggle mark for current page (Key\e\e: 2m):\e + Toggle current:toggle-mark()\en\e + 14:Unmark all pages (Key\e\e: 0m):\e + Unmark all:toggle-mark(0)\en\e + SPACER(10)\en\e + 18:Display fonts darker (Key\e\e: Alt-Ctrl-+):\e + Fonts darker:change-density(5)\en\e + 19:Display fonts lighter (Key\e\e: Alt-Ctrl--):\e + Fonts lighter:change-density(-5)\en +.sp 1n +.ft +.fi +.RE +.PP +When the mouse remains over a toolbar button for a certain period, a `tooltip' +window is shown, describing what the button does using the +.I short tooltip string +from the above resource. At the same time, the +.I long tooltip string +is displayed in the statusline. +The appearance and behaviour of these tooltips can be customized via +the following resources: +.TP +.B tipShell.background +Background color of the tooltip window. +.TP +.B tipShell.fontSet +Font used for the tooltip. +.TP +.B tipShell.waitPeriod +The time (in milliseconds) the mouse pointer needs to be over +the button before the tooltip is shown. Set it to a negative value +to suppress the tooltips altogether. + +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.SH GREYSCALING AND COLORMAPS +The greyscale anti-aliasing feature in +.B xdvi +will not work at its best if the display does not have enough colors available. +This can happen if other applications are using most of the colormap +(even if they are iconified). If this occurs, then +.B xdvi +will print an error message and turn on the +.B -copy +option. This will result in overstrike characters appearing wrong; +it may also result in poor display quality if the number of available +colors is very small. +.PP +Typically this problem occurs on displays that allocate eight bits +of video memory per pixel. To see how many bits per pixel your display +uses, type +.B xwininfo +in an +.B xterm +window, and then click the mouse on the root window when asked. The +``Depth:'' entry will tell you how many bits are allocated per pixel. +.PP +Displays using at least 15 bits per pixel are typically +.B TrueColor +visuals, which do not have this problem, since their colormap is +permanently allocated and available to all applications. (The visual +class is also displayed by +.BR xwininfo .) +For more information on visual classes see the documentation for the +X Window System. +.PP +To alleviate this problem, therefore, one may (a) run with more bits +per pixel (this may require adding more video memory or replacing the video +card), (b) shut down other applications that may be using much of the colormap +and then restart +.BR xdvi , +or (c) run +.B xdvi +with the +.B \-install +option. +.PP +One application which is often the cause of this problem is +.BR Netscape . +In this case there are two more alternatives to remedying the situation. +One can run +.RB `` "netscape -install" '' +to cause +.B Netscape +to install a private colormap. This can cause colors to change in +bizarre ways when the mouse is moved to a different window. +Or, one can run +.RB `` "netscape -ncols 220" '' +to limit +.B Netscape +to a smaller number of colors. A smaller number will ensure that +other applications have more colors available, but will degrade the +color quality in the +.B Netscape +window. + +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.SH HANDLING OF POSTSCRIPT FIGURES +.B Xdvi +can display Encapsulated PostScript (EPS) files included in the +.I dvi +file. Such files are first searched for in the directory where the +.I dvi +file is, and then using normal +.B Kpathsea +rules. There is an exception to this, however: if the file name begins +with a backtick +.RB ( ` ), +then the remaining characters in the file name give a shell command (often +.BR zcat ) +which is executed; its standard output is then sent to be interpreted as +PostScript. +Since the execution of arbitrary shell commands with the user's +permissions is a huge security risk, evaluation of these backtick +commands is disabled by default. It needs to be activated via the +.B \-allowshell +command-line option. +.B NOTE: +You should never use this option when viewing documents that you +didn't compile yourself. The backtick specials are not needed for +uncompressing gzipped Postscript files, since +.B xdvi +can do that on the fly if the filename ends with +.I .eps.gz +or +.I .eps.Z +(and if the first bytes of the file indicate that the file is indeed +compressed). This is both safer and more flexible than the backtick +approach, since the default file searching rules will apply to such +filenames too. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.SH T1LIB +Using T1Lib, a library written by Rainer Menzner +(see ftp://sunsite.unc.edu/pub/Linux/libs/graphics/), +.B xdvi +can render Postscript<tm> Type1 fonts directly, without the +route via \*(Te\& pixel (pk) +fonts. The advantage of this is that only one size of each font needs +to be stored on disk. +Unless the +.B -not1lib +option is used, +.B xdvi +will try to render every font using T1Lib. Only as a fallback it will +invoke an external program (like +.BR mktexpk , +which in turn may invoke utilities like +.B ps2pk +or +.BR gsftopk ) +to generate a pixel font from the Type1 source. The direct rendering +of the +.B Computer Modern +fonts should work out-of-the box, whereas other Type1 fonts such as +the 35 `standard' Postscript<tm> fonts resident in printers may need +to be made accessible for use with xdvi, unless your system +administrator or TeX distribution has already done so (which is the case +e.g. for current teTeX systems). The +.B xdvik +distribution comes with a utility called +.B t1mapper +to make these fonts available for xdvi; +see the manual page for t1mapper(1) for usage details. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.SH SPECIALS (GENERALLY) +Any of the specials used by +.B xdvi +may be preceded by the characters +.RB `` xdvi: ''. +Doing so does not change the behavior of the special under +.BR xdvi , +but it tells other dvi drivers (such as e.g. dvips) to ignore the special. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.SH SOURCE SPECIALS +Some \*(Te\& implementations or macro packages provide the facility to +automatically include so-called `source specials' into a DVI file. +These contain the line number, eventually a column number, and the +filename of the .tex source. This makes it possible to jump from a .dvi +file to the corresponding place in the .tex source and vice versa (also +called `inverse search' - jumping from the DVI file to the TeX file is +also known as `reverse search', and jumping from the TeX file to the +DVI file as `forward search'). +.P +To be usable with +.BR xdvi , +source specials in the +.I dvi +file must have one of the following formats: +.RS 5 +.nf +.sp 1n + \fBsrc:\fP\fIline\fP[ ]\fIfilename\fP + \fBsrc:\fP\fIline\fP\fB:\fP\fIcol\fP[ ]\fIfilename\fP + \fBsrc:\fP\fIline\fP + \fBsrc:\fP\fIline\fP\fB:\fP\fIcol\fP + \fBsrc::\fP\fIcol\fP +.sp 1n +.fi +.RE +If +.I filename +or +.I line +are omitted, the most recent values are used. The first source special on +each page must be in one of the first two forms, since defaults are not +inherited across pages. +.sp +You will need a \*(Te\& implementation that provides an appropriate +switch (e.g. +.IR -src ) +or a macro package +(such as +.I srcltx.sty +or +.IR srctex.sty , +available from CTAN:macros/latex/contrib/supported/srcltx/) +to insert such source specials into the DVI file. +.sp +For reverse search, the combination +.I Ctrl-Mouse 1 +will make xdvi open an editor (the value of the +.I \-editor +command line option) with the file and the line number of the .tex +source. See the description of the +.I \-editor +option for more information +and example settings. +.P +For forward search, +.B xdvi +has a +.I \-sourceposition +option that makes +.B xdvi +jump to the page in +the DVI file corresponding to the given line (or the closest +line having a source special) of the specified file and highlight +the found region. See the description of the +.I \-sourceposition +option for more details. +.PP +More information on setting up various editors for use with source +specials can be found at: +.RS 5 +.nf +.sp 1n +http://xdvi.sourceforge.net/inverse-search.html +.sp 1n +.fi +.RE +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.SH PAPERSIZE SPECIALS +.B xdvi +accepts specials to set the paper size for the document. These specials +should be of the form +.RS 5 +.nf +.sp 1n + \fBpapersize=\fP[\fB*\fP]\fIwidth\fP,\fIheight\fP +.sp 1n +.fi +.RE +.PP +where +.I width +and +.I height +give the width and height of the paper, respectively. Each of these should +appear in the form of a decimal number followed by any of the two-letter +abbreviations for units accepted by \*(Te\& +.RB ( pt , +.BR pc , +.BR in , +.BR bp , +.BR cm , +.BR mm , +.BR dd , +.BR cc , +or +.BR sp ). +If an asterisk +.RB ( * ) +appears just before the width, then the measurements refer to the document +dimensions (e.g., +.B pt +as opposed to +.BR truept ). +This allows a macro package to vary the page size according to elements +of the document; e.g., +.RS 5 +.ft 3 +.nf +.sp 1n +\especial{xdvi: papersize=*\enumber\ewd\emybox sp, + \enumber\eht\emybox sp} +.sp 1n +.ft +.fi +.RE +.PP +Except for the asterisk, this format is compatible with +.BR dvips . +.P +The last +.B papersize +special on a page determines the size of that page. If there is no such +special on a given page, the most recent +.B papersize +is used, or, if there are no +.B papersize +specials on any preceding page, then the value of the +.B paper +resource (or +.B \-paper +option on the command line) is used. Thus the paper size may vary for +different pages of the +.I dvi +file. +.P +If the +.B paper +resource (or +.B \-paper +command-line option) begins with a plus sign +.RB (` + '), +then all +.B papersize +specials in the +.I dvi +file are ignored. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.SH COLOR SPECIALS +The color specials supported by +.B xdvi +are the same as those supported by +.BR dvips , +except that the literal PostScript color specification (as in the +.B AggiePattern +example in the +.B dvips +documentation) is not supported. +There are also some restrictions due to the way xdvi's drawing routines +are implemented; e.g. the +.B \ecolorbox +and +.B \efcolorbox +macros don't work with +.BR xdvi . +See the section LIMITATIONS below for more information on these restrictions. +.B Xdvi +supports the same list of named colors as +.B dvips +does, namely: +.P +.BR Apricot , +.BR Aquamarine , +.BR Bittersweet , +.BR Black , +.BR Blue , +.BR BlueGreen , +.BR BlueViolet , +.BR BrickRed , +.BR Brown , +.BR BurntOrange , +.BR CadetBlue , +.BR CarnationPink , +.BR Cerulean , +.BR CornflowerBlue , +.BR Cyan , +.BR Dandelion , +.BR DarkOrchid , +.BR Emerald , +.BR ForestGreen , +.BR Fuchsia , +.BR Goldenrod , +.BR Gray , +.BR Green , +.BR GreenYellow , +.BR JungleGreen , +.BR Lavender , +.BR LimeGreen , +.BR Magenta , +.BR Mahogany , +.BR Maroon , +.BR Melon , +.BR MidnightBlue , +.BR Mulberry , +.BR NavyBlue , +.BR OliveGreen , +.BR Orange , +.BR OrangeRed , +.BR Orchid , +.BR Peach , +.BR Periwinkle , +.BR PineGreen , +.BR Plum , +.BR ProcessBlue , +.BR Purple , +.BR RawSienna , +.BR Red , +.BR RedOrange , +.BR RedViolet , +.BR Rhodamine , +.BR RoyalBlue , +.BR RoyalPurple , +.BR RubineRed , +.BR Salmon , +.BR SeaGreen , +.BR Sepia , +.BR SkyBlue , +.BR SpringGreen , +.BR Tan , +.BR TealBlue , +.BR Thistle , +.BR Turquoise , +.BR Violet , +.BR VioletRed , +.BR White , +.BR WildStrawberry , +.BR Yellow , +.BR YellowGreen , +.BR YellowOrange . +.P +Note that these names are case sensitive. +.P +The documentation of the La\*(Te\& +.B color +package provides more details on how to use such specials with +La\*(Te\&; see the +.B dvips +documentation for a detailed description of the +syntax and semantics of the color specials. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.SH SIGNALS +When +.B xdvi +receives a +.SB SIGUSR1 +signal, it rereads the +.I dvi +file. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.SH ENVIRONMENT +.B Xdvik +uses the same environment variables and algorithms for searching for +font files as \*(Te\& and friends. See the documentation for the +.B Kpathsea +library, +.BR kpathsea.dvi , +for a detailed description of these. +.PP +In addition, +.B xdvik +accepts the following variables: +.TP +.SB DISPLAY +Specifies which graphics display terminal to use. +.TP +.SB KPATHSEA_DEBUG +Trace +.B Kpathsea +lookups; set it to +.B -1 +(= all bits on) for complete tracing. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.SB EXTENSIONMAPS +A list of files to be searched for mime types entries (as for Acrobat Reader). +Earlier entries in one of these files override later ones. +If this variable is not set, the following default path is used: +.RS 7 +.nf +.ft 3 +.sp 1n +$HOME/.mime.types:/etc/mime.types:\e + /usr/etc/mime.types:/usr/local/etc/mime.types +.sp 1n +.ft +.fi +.RE + +.TP +.SB MAILCAPS +A list of files to be searched for mailcap entries, as defined by RFC +1343. See this RFC or the +.BR mailcap (4) +manual page for a detailed description of the mailcap file format. +Currently, only the following mailcap features are supported: +.RS 7 +.TP 7 +.BI test= command +The entry is only used if +.I command +can be executed via the +.B system() +call and if the system() call returns with value 0 (success). +The +.I command +string may contain the format string +.IR %s , +which will be replaced by the file name. +.TP +.BI needsterminal +If this flag is used, the command will be executed in a new xterm +window by prepending +.RI `` "xterm -e "'' +to the command string. +.RE +.PP +.RS 7 +All other fields in the mailcap entry are ignored by xdvi. +Earlier entries in one of these files override later ones. +If the variable is not defined, the following default path is used: +.RS 4 +.nf +.ft 3 +.sp 1n +$HOME/.mailcap:/etc/mailcap:/usr/etc/mailcap:\e + /usr/local/etc/mailcap +.sp 1n +.ft +.fi +.RE +.br +For security reasons, some special characters (i.e.: ( ) ` \e ;) +are escaped in the argument before passing it to +.BR system() . +.RE +.TP +.SB BROWSER +Determines the web browser used to open external links (i.e., all URLs that don't +start with the +.RI ` file: ' +scheme and are not relative links in the local DVI file), and to open links +for which no viewer has been specified in the +.B mailcap +files. The value of this variable is a colon-separated list of commands. Xdvi +will try each of them in sequence until one succeeds (i.e. doesn't immediately +return with status 0). This allows you to +specify your favourite browser at the beginning, +and fallback browsers at the end. Every occurrence of +.I %s +in the string is replaced by the target URL; every occurrence of +.I %% +is replaced by a single +.IR % . +If no +.I %s +is present, the URL string is added as an extra argument. +.br +An example setting is: +.RS 7 +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP 7 +.SB "netscape -raise -remote 'openURL(%s,new-window)':xterm -e lynx %s:xterm -e wget %s:lynx %s:wget %s" +.TP +See +.TP +.SB http://www.catb.org/~esr/BROWSER/ +.PP +for more details on the +.B BROWSER +environment variable. +.RE +.TP +.SB TMPDIR +The directory to use for storing temporary files created when uncompressing +PostScript files. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.SB XEDITOR +Determines the editor command used for source special `reverse +search', if neither the +.I \-editor +command-line option +nor the +.I .editor +resource are specified. See the description of the +.I \-editor +command line option for details on the format. +.TP +.SB VISUAL +Determines an editor to be opened in an xterm +window if neither of +.IR -editor , +.IR .editor , +or +.I XEDITOR +is specified. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.SB EDITOR +Determines an editor to be opened in an xterm +window if neither of +.IR -editor , +.IR .editor , +.I XEDITOR +or +.I VISUAL +is specified. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.TP +.SB WWWBROWSER +Obsolete; use +.B BROWSER +instead. +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.SH LIMITATIONS +.B xdvi +accepts many but not all types of PostScript specials accepted by +.BR dvips . +For example, it accepts most specials generated by +.B epsf +and +.BR psfig . +It does not, however, support +.B bop\-hook +or +.BR eop\-hook , +nor does it allow PostScript commands to affect the rendering of things that +are not PostScript (for example, the ``NEAT'' and rotated ``A'' examples in the +.B dvips +manual). These restrictions are due to the design of +.BR xdvi ; +in all likelihood they will always remain. +.PP +La\*(Te\&2e rotation specials are currently not supported. +.PP +.B MetaPost +files containing included text are not supported. +.PP +.BR Xdvi 's +color handling doesn't support the +.B \ecolorbox +and +.B \efcolorbox +macros; this is not likely to change in the near future. This also +means that e.g. colored tables (as created by the +.I colortbl +package) may render incorrectly: Text in colors different from the +default foreground color may not be displayed. When the page is +redrawn (e.g. after using the magnifier), the background color of the +cells may overdraw the text. +.SH FILES +.TP +.SB $HOME/.xdvirc +A file that holds all settings that the user changed via the keys, the `Options' +and the Xaw `Modes' menu and the dialogs, as X resources. These resources override the +settings in +.BR $HOME/.Xdefaults . +This file is ignored if the +.B \-q +option is used or the +.B noInitFile +X resource is set. +.TP +.SB xdvi.cfg +A configuration file for the T1 font setup which needs to be supplied +in the directory determined by the +.B XDVIINPUTS +environment variable. Please see the file +.B http://xdvi.sourceforge.net/README.t1fonts +if that file is missing. +.SH SEE ALSO +.BR X (1), +.BR dvips (1), +.BR mktexpk (1), +.BR ps2pk (1), +.BR gsftopk (1), +.BR t1mapper (1), +.BR mailcap (4), +the +.B Kpathsea +documentation, +and the Xdvik home page at +.BR http://xdvi.sourceforge.net/ . +.SH AUTHORS +Eric Cooper, CMU, did a version for direct output to a QVSS. Modified +for X by Bob Scheifler, MIT Laboratory for Computer Science. Modified +for X11 by Mark Eichin, MIT SIPB. Additional enhancements by many +others. +.PP +The current maintainer of the original +.B xdvi +is Paul Vojta, U.C. Berkeley. +.PP +Code for the xdvik variant has been contributed +by many people, whose names are scattered across the +source files. Xdvik is hosted on +.B CTAN:dviware/xdvik +and on SourceForge; for the most up-to-date information, please +visit: +.PP +.B http://xdvi.sourceforge.net +.PP +Please report all bugs to the SourceForge bug tracker: +.PP +.nf +.B http://sourceforge.net/tracker/?func=add&group_id=23164&atid=377580 +.PP + diff --git a/Master/texmf-dist/doc/man/man1/xdvi.man1.pdf b/Master/texmf-dist/doc/man/man1/xdvi.man1.pdf Binary files differnew file mode 100644 index 00000000000..d3498c813db --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/xdvi.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/xindy.1 b/Master/texmf-dist/doc/man/man1/xindy.1 new file mode 100644 index 00000000000..506fcf972e9 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/xindy.1 @@ -0,0 +1,422 @@ +.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.04) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sh \" Subsection heading +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "xindy 1" +.TH xindy 1 "2010-05-10" "Version 1.16" "xindy" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +xindy \- create sorted and tagged index from raw index +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +.Vb 4 +\& xindy [\-V?h] [\-qv] [\-d magic] [\-o outfile.ind] [\-t log] \e +\& [\-L lang] [\-C codepage] [\-M module] [\-I input] \e +\& [\-\-interactive] [\-\-mem\-file=xindy.mem] \e +\& [idx0 idx1 ...] +.Ve +.Sh "GNU-Style Long Options for Short Options:" +.IX Subsection "GNU-Style Long Options for Short Options:" +.Vb 11 +\& \-V / \-\-version +\& \-? / \-h / \-\-help +\& \-q / \-\-quiet +\& \-v / \-\-verbose +\& \-d / \-\-debug (multiple times) +\& \-o / \-\-out\-file +\& \-t / \-\-log\-file +\& \-L / \-\-language +\& \-C / \-\-codepage +\& \-M / \-\-module (multiple times) +\& \-I / \-\-input\-markup (supported: latex, omega, xindy) +.Ve +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +\&\fBxindy\fR is the formatter-indepedent command of xindy, the flexible +indexing system. It takes a raw index as input, and produces a merged, +sorted and tagged index. Merging, sorting, and tagging is controlled +by xindy style files. +.PP +Files with the raw index are passed as arguments. If no arguments are +passed, the raw index will be read from standard input. +.PP +\&\fBxindy\fR is completely described in its manual that you will find on +its Web Site, http://www.xindy.org/. A good introductionary +description appears in the indexing chapter of the LaTeX Companion (2nd ed.) +.PP +If you want to produce an index for LaTeX documents, the command +\&\fItexindy\fR\|(1) is probably more of interest for you. It is a wrapper for +\&\fBxindy\fR that turns on many LaTeX conventions by default. +.SH "OPTIONS" +.IX Header "OPTIONS" +.ie n .IP """\-\-version""\fR / \fB\-V" 4 +.el .IP "\f(CW\-\-version\fR / \fB\-V\fR" 4 +.IX Item "--version / -V" +output version numbers of all relevant components and exit. +.ie n .IP """\-\-help""\fR / \fB\-h\fR / \fB\-?" 4 +.el .IP "\f(CW\-\-help\fR / \fB\-h\fR / \fB\-?\fR" 4 +.IX Item "--help / -h / -?" +output usage message with options explanation. +.ie n .IP """\-\-quiet""\fR / \fB\-q" 4 +.el .IP "\f(CW\-\-quiet\fR / \fB\-q\fR" 4 +.IX Item "--quiet / -q" +Don't output progress messages. Output only error messages. +.ie n .IP """\-\-verbose""\fR / \fB\-v" 4 +.el .IP "\f(CW\-\-verbose\fR / \fB\-v\fR" 4 +.IX Item "--verbose / -v" +Output verbose progress messages. +.ie n .IP """\-\-debug""\fR \fImagic\fR / \fB\-d\fR \fImagic" 4 +.el .IP "\f(CW\-\-debug\fR \fImagic\fR / \fB\-d\fR \fImagic\fR" 4 +.IX Item "--debug magic / -d magic" +Output debug messages, this option may be specified multiple times. +\&\fImagic\fR determines what is output: +.Sp +.Vb 6 +\& magic remark +\& \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- +\& script internal progress messages of driver scripts +\& keep_tmpfiles don\*(Aqt discard temporary files +\& markup output markup trace, as explained in xindy manual +\& level=n log level, n is 0 (default), 1, 2, or 3 +.Ve +.ie n .IP """\-\-out\-file""\fR \fIoutfile.ind\fR / \fB\-o\fR \fIoutfile.ind" 4 +.el .IP "\f(CW\-\-out\-file\fR \fIoutfile.ind\fR / \fB\-o\fR \fIoutfile.ind\fR" 4 +.IX Item "--out-file outfile.ind / -o outfile.ind" +Output index to file \fIoutfile.ind\fR. If this option is not passed, the +name of the output file is the base name of the first argument and the +file extension \fIind\fR. If the raw index is read from standard input, +this option is mandatory. +.ie n .IP """\-\-log\-file""\fR \fIlog.ilg\fR / \fB\-t\fR \fIlog.ilg" 4 +.el .IP "\f(CW\-\-log\-file\fR \fIlog.ilg\fR / \fB\-t\fR \fIlog.ilg\fR" 4 +.IX Item "--log-file log.ilg / -t log.ilg" +Output log messages to file \fIlog.ilg\fR. These log messages are +independent from the progress messages that you can influence with +\&\f(CW\*(C`\-\-debug\*(C'\fR or \f(CW\*(C`\-\-verbose\*(C'\fR. +.ie n .IP """\-\-language""\fR \fIlang\fR / \fB\-L\fR \fIlang" 4 +.el .IP "\f(CW\-\-language\fR \fIlang\fR / \fB\-L\fR \fIlang\fR" 4 +.IX Item "--language lang / -L lang" +The index is sorted according to the rules of language \fIlang\fR. These +rules are encoded in a xindy module created by \fImake-rules\fR. +.Sp +If no input encoding is specified via \f(CW\*(C`\-\-codepage\*(C'\fR, a xindy module +for that language is searched with a latin, a cp, an iso, or ascii +encoding, in that order. +.ie n .IP """\-\-codepage""\fR \fIenc\fR / \fB\-C\fR \fIenc" 4 +.el .IP "\f(CW\-\-codepage\fR \fIenc\fR / \fB\-C\fR \fIenc\fR" 4 +.IX Item "--codepage enc / -C enc" +The raw input is in input encoding \fIenc\fR. This information is used to +select the correct xindy sort module and also the \fIinputenc\fR target +encoding for \f(CW\*(C`latex\*(C'\fR input markup. +.Sp +When \f(CW\*(C`omega\*(C'\fR input markup is used, \f(CW\*(C`utf8\*(C'\fR is always used as +codepage, this option is then ignored. +.ie n .IP """\-\-module""\fR \fImodule\fR / \fB\-M\fR \fImodule" 4 +.el .IP "\f(CW\-\-module\fR \fImodule\fR / \fB\-M\fR \fImodule\fR" 4 +.IX Item "--module module / -M module" +Load the xindy module \fImodule.xdy\fR. This option may be specified +multiple times. The modules are searched in the xindy search path that +can be changed with the environment variable \f(CW\*(C`XINDY_SEARCHPATH\*(C'\fR. +.ie n .IP """\-\-input\-markup""\fR \fIinput\fR / \fB\-I\fR \fIinput" 4 +.el .IP "\f(CW\-\-input\-markup\fR \fIinput\fR / \fB\-I\fR \fIinput\fR" 4 +.IX Item "--input-markup input / -I input" +Specifies the input markup of the raw index. Supported values for +\&\fIinput\fR are \f(CW\*(C`latex\*(C'\fR, \f(CW\*(C`omega\*(C'\fR, and \f(CW\*(C`xindy\*(C'\fR. +.Sp +\&\f(CW\*(C`latex\*(C'\fR input markup is the one that is emitted by default from the +LaTeX kernel, or by the \f(CW\*(C`index\*(C'\fR macro package of David Jones. +^^\-notation of single byte characters is supported. Usage of LaTeX's +\&\fIinputenc\fR package is assumed as well. +.Sp +\&\f(CW\*(C`omega\*(C'\fR input markup is like \f(CW\*(C`latex\*(C'\fR input markup, but with Omega's +^^\-notation as encoding for non-ASCII characters. LaTeX \fIinputenc\fR +encoding is not used then, and \f(CW\*(C`utf8\*(C'\fR is enforced to be the codepage. +.Sp +\&\f(CW\*(C`xindy\*(C'\fR input markup is specified in the xindy manual. +.ie n .IP """\-\-interactive""" 4 +.el .IP "\f(CW\-\-interactive\fR" 4 +.IX Item "--interactive" +Start xindy in interactive mode. You will be in a xindy read-eval-loop +where xindy language expressions are read and evaluated interactively. +.ie n .IP """\-\-mem\-file""\fR \fIxindy.mem" 4 +.el .IP "\f(CW\-\-mem\-file\fR \fIxindy.mem\fR" 4 +.IX Item "--mem-file xindy.mem" +This option is only usable for developers or in very rare situations. +The compiled xindy kernel is stored in a so-called \fImemory file\fR, +canonically named \fIxindy.mem\fR, and located in the xindy library +directory. This option allows to use another xindy kernel. +.SH "SUPPORTED LANGUAGES / CODEPAGES" +.IX Header "SUPPORTED LANGUAGES / CODEPAGES" +The following languages are supported: +.Sh "Latin scripts" +.IX Subsection "Latin scripts" +.Vb 10 +\& albanian gypsy portuguese +\& croatian hausa romanian +\& czech hungarian russian\-iso +\& danish icelandic slovak\-small +\& english italian slovak\-large +\& esperanto kurdish\-bedirxan slovenian +\& estonian kurdish\-turkish spanish\-modern +\& finnish latin spanish\-traditional +\& french latvian swedish +\& general lithuanian turkish +\& german\-din lower\-sorbian upper\-sorbian +\& german\-duden norwegian vietnamese +\& greek\-iso polish +.Ve +.PP +German recognizes two different sorting schemes to handle umlauts: +normally, \f(CW\*(C`a\*:\*(C'\fR is sorted like \f(CW\*(C`ae\*(C'\fR, but in phone books or +dictionaries, it is sorted like \f(CW\*(C`a\*(C'\fR. The first scheme is known as +\&\fI\s-1DIN\s0 order\fR, the second as \fIDuden order\fR. +.PP +\&\f(CW\*(C`*\-iso\*(C'\fR language names assume that the raw index entries are in \s-1ISO\s0 +8859\-9 encoding. +.PP +\&\f(CW\*(C`gypsy\*(C'\fR is a northern Russian dialect. +.Sh "Cyrillic scripts" +.IX Subsection "Cyrillic scripts" +.Vb 3 +\& belarusian mongolian serbian +\& bulgarian russian ukrainian +\& macedonian +.Ve +.Sh "Other scripts" +.IX Subsection "Other scripts" +.Vb 1 +\& greek klingon +.Ve +.Sh "Available Codepages" +.IX Subsection "Available Codepages" +This is not yet written. You can look them up in your xindy +distribution, in the \fImodules/lang/language/\fR directory (where +\&\fIlanguage\fR is your language). They are named +\&\fIvariant\-codepage\-lang.xdy\fR, where \fIvariant\-\fR is most often empty +(for german, it's \f(CW\*(C`din5007\*(C'\fR and \f(CW\*(C`duden\*(C'\fR; for spanish, it's \f(CW\*(C`modern\*(C'\fR +and \f(CW\*(C`traditional\*(C'\fR, etc.) +.PP +.Vb 1 +\& < Describe available codepages for each language > +\& +\& < Describe relevance of codepages (as internal representation) for +\& LaTeX inputenc > +.Ve +.SH "ENVIRONMENT" +.IX Header "ENVIRONMENT" +.ie n .IP """XINDY_SEARCHPATH""" 4 +.el .IP "\f(CWXINDY_SEARCHPATH\fR" 4 +.IX Item "XINDY_SEARCHPATH" +A list of directories where the xindy modules are searched in. No +subtree searching is done (as in TDS-conformant TeX). +.Sp +If this environment variable is not set, the default is used: +\&\f(CW\*(C`.:\*(C'\fR\fImodules_dir\fR\f(CW\*(C`:\*(C'\fR\fImodules_dir\fR\f(CW\*(C`/base\*(C'\fR. \fImodules_dir\fR is +determined at run time, relative to the \fBxindy\fR command location: +Either it's \fI../modules\fR, that's the case for \fIopt\fR\-installations. +Or it's \fI../lib/xindy/modules\fR, that's the case for +\&\fIusr\fR\-installations. +.ie n .IP """XINDY_LIBDIR""" 4 +.el .IP "\f(CWXINDY_LIBDIR\fR" 4 +.IX Item "XINDY_LIBDIR" +Library directory where \fIxindy.mem\fR is located. +.Sp +The modules directory may be a subdirectory, too. +.SH "COMPATIBILITY TO MAKEINDEX" +.IX Header "COMPATIBILITY TO MAKEINDEX" +\&\fBxindy\fR does not claim to be completely compatible with MakeIndex, +that would prevent some of its enhancements. That said, we strive to +deliver as much compatibility as possible. The most important +incompatibilities are +.IP "\(bu" 4 +For raw index entries in LaTeX syntax, \f(CW\*(C`\eindex{aaa|bbb}\*(C'\fR is +interpreted differently. For MakeIndex \f(CW\*(C`bbb\*(C'\fR is markup that is output +as a LaTeX tag for this page number. For \fBxindy\fR, this is a location +attribute, an abstract identifier that will be later associated with +markup that should be output for that attribute. +.Sp +For straight-forward usage, when \f(CW\*(C`bbb\*(C'\fR is \f(CW\*(C`textbf\*(C'\fR or similar, we +supply location attribute definitions that mimic MakeIndex's +behaviour. +.Sp +For more complex usage, when \f(CW\*(C`bbb\*(C'\fR is not an identifier, no such +compatibility definitions exist and may also not been created with +current \fBxindy\fR. In particular, this means that by default the LaTeX +package \f(CW\*(C`hyperref\*(C'\fR will create raw index files that cannot be +processed with \fBxindy\fR. This is not a bug, this is the unfortunate +result of an intented incompatibility. It is currently not possible to +get both hyperref's index links and use \fBxindy\fR. +.Sp +A similar situation is reported to exist for the \f(CW\*(C`memoir\*(C'\fR LaTeX +class. +.Sp +Programmers who know Common Lisp and Lex and want to work on a remedy +should please contact the author. +.IP "\(bu" 4 +The MakeIndex compatibility definitions support only the default raw +index syntax and markup definition. It is not possible to configure +raw index parsing or use a MakeIndex style file to describe output +markup. +.SH "KNOWN ISSUES" +.IX Header "KNOWN ISSUES" +Option \fB\-q\fR also prevents output of error messages. Error messages +should be output on stderr, progress messages on stdout. +.PP +There should be a way to output the final index to stdout. This would +imply \fB\-q\fR, of course. +.PP +LaTeX raw index parsing should be configurable. +.PP +Codepage \f(CW\*(C`utf8\*(C'\fR should be supported for all languages, and should be +used as internal codepage for LaTeX inputenc re-encoding. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fItexindy\fR\|(1), +\&\fItex2xindy\fR\|(1) +.SH "AUTHOR" +.IX Header "AUTHOR" +Joachim Schrod +.SH "LEGALESE" +.IX Header "LEGALESE" +Copyright (c) 2004\-2010 by Joachim Schrod. +.PP +\&\fBxindy\fR is free software; you can redistribute it and/or modify it +under the terms of the \s-1GNU\s0 General Public License as published by the +Free Software Foundation; either version 2 of the License, or (at your +option) any later version. +.PP +This program is distributed in the hope that it will be useful, +but \s-1WITHOUT\s0 \s-1ANY\s0 \s-1WARRANTY\s0; without even the implied warranty of +\&\s-1MERCHANTABILITY\s0 or \s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0. See the +\&\s-1GNU\s0 General Public License for more details. diff --git a/Master/texmf-dist/doc/man/man1/xindy.man1.pdf b/Master/texmf-dist/doc/man/man1/xindy.man1.pdf Binary files differnew file mode 100644 index 00000000000..ce63a6b3d37 --- /dev/null +++ b/Master/texmf-dist/doc/man/man1/xindy.man1.pdf diff --git a/Master/texmf-dist/doc/man/man5/Makefile b/Master/texmf-dist/doc/man/man5/Makefile new file mode 100644 index 00000000000..c0afb8965a5 --- /dev/null +++ b/Master/texmf-dist/doc/man/man5/Makefile @@ -0,0 +1,17 @@ +# Public domain. Originally written by Manuel Pegourie-Gonnard, 2008. + +SRC = $(wildcard man5/*.5) +PDF = $(patsubst %.5, %.man5.pdf, $(SRC)) + +MKPDF = $(GROFF) $(PDFOPTS) $< | $(PSPDF) - $@.tmp && mv $@.tmp $@ || rm $@.tmp + +all: pdf +pdf: $(PDF) + +clean: + @echo 'Removing pdf files.' + @rm -f -- $(PDF) + +%.man5.pdf: %.5 + $(MKPDF) + diff --git a/Master/texmf-dist/doc/man/man5/fmtutil.cnf.5 b/Master/texmf-dist/doc/man/man5/fmtutil.cnf.5 new file mode 100644 index 00000000000..4efedcf590c --- /dev/null +++ b/Master/texmf-dist/doc/man/man5/fmtutil.cnf.5 @@ -0,0 +1,77 @@ +.TH "fmtutil\&.cnf" "5" "October 2000" "teTeX" "teTeX" +.PP +.SH "NAME" +fmtutil\&.cnf \- configuration file for fmtutil +.PP +.SH "DESCRIPTION" +.PP +The \fIfmtutil\&.cnf\fP file contains the configuration information +for \fBfmtutil\fP(8)\&. Each line contains the name of the format +(e\&.g\&., ``tex\'\', ``latex\'\', ``omega\'\'), the name of the engine that +is used by that format (e\&.g\&., ``tex\'\', ``etex\'\', ``omega\'\'), the pattern +file (e\&.g\&., \fIlanguage\&.dat\fP, \fIlanguage\&.def\fP), and any +arguments (name of an \fI\&.ini\fP file)\&. +.PP +Fields are separated by whitespace\& and complete lines can be commented +out with ``#\'\'\&. The ``pattern file\'\' field cannot be used to +define a file that is used while building the format\&. +It tells \fBfmtutil\fP which files (separated by commas) the +format creation procedure reads\& and it has an effect to the options +\fI--showhyphen\fP and \fI--byhyphen\fP\&. +If the format has no way to +customize hyphenation, a ``-\'\' can be used to indicate this\&. +.PP +.SH "NOTES" +.PP +The \fBtex\fP(1) and \fBamstex\fP(1) formats always load +\fIhyphen\&.tex\fP\&. No customization by a pattern file is available +for these formats\&. Therefore, the pattern-file field for the +\fBtex\fP and \fBamstex\fP is usually indicated to be empty (``-\'\')\&. +.PP +You can, however, build customized formats on top of plain +\fBtex\fP(1) or \fBamstex\fP(1) by using \fIbplain\&.tex\fP instead of +\fIplain\&.tex\fP (b for the \fIBabel\fP system). See, for example, +the \fIbplain\&.ini\fP file for the bplain format)\&. +.PP +\fBetex\fP(1) loads \fIlanguage\&.def\fP, not +\fIlanguage\&.dat\fP\&. +.PP +Symbolic links to the correct engines (e\&.g\&., bplain -> tex) +are generated by the \fBtexlinks\fP(8) script\&. Remember to run +\fBtexlinks\fP(8) if you run \fBfmtutil\fP(8) yourself, rather +than using the FORMATS option in \fBtexconfig\fP(8)\&. +.PP +.SH "FILES" +.PP +.IP "\fIfmtutil\&.cnf\fP" +default configuration file +.IP "\fIlanguage\&.dat\fP" +hyphenation pattern file +.IP "\fIlanguage\&.def\fP" +hyphenation pattern file +.IP "\fIlanguage\&.dat.lua\fP" +hyphenation pattern file +.PP +.SH "SEE ALSO" +.PP +\fBamstex\fP(1), \fBetex\fP(1), \fBfmtutil\fP(8), +\fBtex\fP(1), \fBtexconfig\fP(8), \fBtexlinks\fP(8)\&. +.PP +Web page: <http://tug\&.org/teTeX/> +.PP +.SH "BUGS" +.PP +None known, but report any bugs found to <tetex@dbs\&.uni-hannover\&.de> (mailing list)\&. +.PP +.SH "AUTHOR" +.PP +\fIfmtutil\&.cnf\fP was written by Thomas Esser +<te@dbs\&.uni-hannover\&.de>, and is Copyright 1998, +1999 but released into the public domain\&. +.PP +This manual page was written by C\&.M\&. Connelly +<c@eskimo\&.com>, for +the Debian GNU/Linux system\&. It may be used by other distributions +without contacting the author\&. Any mistakes or omissions in the +manual page are my fault; inquiries about or corrections to this +manual page should be directed to me (and not to the primary author)\&. diff --git a/Master/texmf-dist/doc/man/man5/fmtutil.cnf.man5.pdf b/Master/texmf-dist/doc/man/man5/fmtutil.cnf.man5.pdf Binary files differnew file mode 100644 index 00000000000..0409ae0ec49 --- /dev/null +++ b/Master/texmf-dist/doc/man/man5/fmtutil.cnf.man5.pdf diff --git a/Master/texmf-dist/doc/man/man5/synctex.5 b/Master/texmf-dist/doc/man/man5/synctex.5 new file mode 100644 index 00000000000..3b331efe0bd --- /dev/null +++ b/Master/texmf-dist/doc/man/man5/synctex.5 @@ -0,0 +1,319 @@ +.Dd Mar 13, 2012 +.Dt SYNCTEX 5 +.Os "Independant" +.\" +.\" +.Sh NAME +.Nm synctex +.Nd Synchronize TeXnology help file +.\" +.\" +.Sh DESCRIPTION +Synchronize TeXnology help file +.Pq synctexs +are text files that help input/output synchronization during document preparation with the TeX typesetting system. +.Sh BASICS +The structure of this file should not be considered public, in the sense that no one should need to parse its contents, except the synctex command line utility, and the synctex_parser library. +Unless it is absolutely not avoidable, access to the contents of the synctex file should only be made through requests made to the synctex command line utility. +.\" +.Sh STRUCTURE +The element structure of a synctex file is a list of text line records as follows. +.Sq \&* , +.Sq \&+ , +and +.Sq \&? +have their usual EBNF meanings: +.Sq \&* +means zero or more, +.Sq \&+ +means one or more, and +.Sq \&? +means zero or one +.Pq i.e., optional . +.Pp +.Bl -item -offset indent +.\" +.It +.Li <SyncTeX> ::= +.Pq The whole contents in 4 sections +.Bl -item -offset indent +.It +.Li <Preamble> +.It +.Li <Content> +.It +.Li <Postamble> +.It +.Li <Post Scriptum> +.El +.\" +.El +.Pp +Each section starts with the first occurrence of a sectioning line, and ends with the next section, if any. +In the following definitions, we do not mention the section ending condition. +.Sh The preamble +.Bl -item -offset indent +.\" +.It +.Li <Preamble> ::= +.Bl -item -offset indent +.It +.Qq SyncTeX Version: +<Version Number> <EOL> +.It +.Li <Input Line>* +.It +.Qq Magnification: +<TeX magnification> <EOL> +.It +.Qq Unit: +<unit in scaled point> <EOL> +.It +.Qq X Offset: +<horizontal offset in scaled point> <EOL> +.It +.Qq Y Offset: +<vertical offset in scaled point> <EOL> +.El +.It +.Li <Input Line> ::= +.Qq Input: +<tag> +.Qq \&: +<File Name> <EOL> +.\" +.El +.Sh The content +.Bl -item -offset indent +.It +.Li <Content> ::= +.Bl -item -offset indent +.It +.Li <byte offset record> +.It +.Qq Content: +<EOL> +.It +.Li <sheet(1)> +.It +.Li <Input Line>* +.It +.Li <sheet(2)> +.It +.Li <Input Line>* +.It +.Li ... +.It +.Li <sheet(N)> +.It +.Li <Input Line>* +.El +.It +.Li <byte offset record> ::= +.Qq \&! +<byte offset> <end of record> +.Pp +.El +.Pp +.Bl -item -offset indent +.It +.Li <sheet(n)> ::= +.Bl -item -offset indent +.It +.Li <byte offset record> +.It +.Qq \&{ +<the integer n> <end of record>/ +.It +.Li <box content>* +.It +.Li <byte offset record> +.It +.Qq \&} +<the integer n> <end of record> +.El +.El +.Pp +The <box content> describes what is inside a box. +It is either a vertical or horizontal box, +with some records related to glue, kern or math nodes. +.Bl -item -offset indent +.It +.Li <box content> ::= +.Bl -item -offset indent +.It +.Li <vbox section>|<hbox section> +.It +.Li |<void vbox record>|<void hbox record> +.It +.Li |<current record>|<glue record>|<kern record>|<math record> +.El +.It +.Li <vbox section> ::= +.Bl -item -offset indent +.It +.Qq \&[ +<link> +.Qq \&: +<point> +.Qq \&: +<size> <end of record> +.It +.Li <box content>* +.It +.Qq \&] +<end of record> +.El +.It +.Li <hbox section> ::= +.Bl -item -offset indent +.It +.Li \&( +<link> +.Qq \&: +<point> +.Qq \&: +<size> <end of record> +.It +.Li <box content>* +.It +.Qq \&) +<end of record> +.El +.El +.Pp +Void boxes: +.Bl -item -offset indent +.It +.Li <void vbox record> ::= +.Qq v +<link> +.Qq \&: +<point> +.Qq \&: +<size> <end of record> +.It +.Li <void hbox record> ::= +.Qq h +<link> +.Qq \&: +<point> +.Qq \&: +<size> <end of record> +.It +.Li <size> ::= <Width> +.Qq \&, +<Height> +.Qq \&, +<Depth> +.It +.Li <Width> ::= <integer> +.It +.Li <Height> ::= <integer> +.It +.Li <Depth> ::= <integer> +.It +.Li <link> ::= <tag> +.Qq \&, +<line>( +.Qq \&, +<column>)? +.It +.Li <line> ::= <integer> +.It +.Li <column> ::= <integer> +.El +.Pp +The forthcoming records are basic one liners. +.Bl -item -offset indent +.It +.Li <current record> ::= +.Qq x +<link> +.Qq \&: +<point> <end of record> +.It +.Li <kern record> ::= +.Qq k +<link> +.Qq \&: +<point> +.Qq \&: +<Width> <end of record> +.It +.Li <glue record> ::= +.Qq g +<link> +.Qq \&: +<point> <end of record> +.It +.Li <math record> ::= +.Qq $ +<link> +.Qq \&: +<point> <end of record> +.El +.Pp +.\" .Sx underline, .Dq double quotes, .Pq enclosed in parenthesis +.Sh The postamble +The postamble closes the file +If there is no postamble, it means that the typesetting process did not end correctly. +.Bl -item -offset indent +.\" +.It +.Li <Postamble>::= +.Bl -item -offset indent +.It +.Li <byte offset record> +.It +.Qq Count: +<Number of records> <EOL> +.El +.El +.Sh The post scriptum +The post scriptum contains material possibly added by 3rd parties. +It allows to append some transformation (shift and magnify). +Typically, one applies a dvi to pdf filter with offset options and magnification, +then he appends the same options to the synctex file, for example +.Bd -literal -offset indent + synctex update -o foo.pdf -m 0.486 -x 9472573sp -y 13.3dd source.dvi +.Ed +.Bl -item -offset indent +.\" +.It +.Li <Post Scriptum>::= +.\" +.Bl -item -offset indent +.It +.Li <byte offset record> +.It +.Qq Post Scriptum: +<EOL> +.It +.Qq Magnification: +<number> <EOL> +.Pq Set additional magnification +.It +.Qq X Offset: +<dimension> <EOL> +.Pq Set horizontal offset +.It +.Qq Y Offset: +<dimension> <EOL> +.Pq Set vertical offset +.El +.El +This second information will override the offset and magnification previously available in the preamble section. +All the numbers are encoded using the decimal representation with "C" locale. +.Sh USAGE +.Pp +The <current record> is used to compute the visible size of hbox's. +The byte offset is an implicit anchor to navigate the synctex file from sheet to sheet. +.\" nroff -man synctex.5 | less +.\"groff -man -Tascii synctex.5 | less +.\"To convert a man page to plain pre-formatted text (e.g for spell checking) use: +.\"nroff -man synctex.5 | col -b > synctex.5.txt +.\"To convert it to Postscript (for printing or further conversion to pdf) use: +.\"groff -man -Tps synctex.5 > synctex.5.ps +.\"To convert the man page to html use: +.\"man2html synctex.5 diff --git a/Master/texmf-dist/doc/man/man5/synctex.man5.pdf b/Master/texmf-dist/doc/man/man5/synctex.man5.pdf Binary files differnew file mode 100644 index 00000000000..e1c12badd77 --- /dev/null +++ b/Master/texmf-dist/doc/man/man5/synctex.man5.pdf diff --git a/Master/texmf-dist/doc/man/man5/updmap.cfg.5 b/Master/texmf-dist/doc/man/man5/updmap.cfg.5 new file mode 100644 index 00000000000..43a7cc2d23f --- /dev/null +++ b/Master/texmf-dist/doc/man/man5/updmap.cfg.5 @@ -0,0 +1,155 @@ +.\" Hey, Emacs! This is an -*- nroff -*- source file. +.\" +.\" Copyright (C) 2004, 2012 Hilmar Preusse <hille42@web.de> +.\" Copyright (C) 2012 Norbert Preining <preining@logic.at> +.\" +.\" This is free software; you can redistribute it and/or modify it under +.\" the terms of the GNU General Public License as published by the Free +.\" Software Foundation; either version 2, or (at your option) any later +.\" version. +.\" +.\" This is distributed in the hope that it will be useful, but WITHOUT +.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +.\" for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. if not, see <http://www.gnu.org/licenses/>. +.\" +.TH "UPDMAP.CFG" "20" "November 2012" "TeX Live" "TeX Live" +.SH "NAME" +\fBupdmap.cfg\fR \- configuration of font mapping/inclusion for dvips and +friends. +.SH "DESCRIPTION" +The file \fBupdmap.cfg\fR is the central font configuration file of a +teTeX system and is read by \fBupdmap\fP(1). It describes if and how +fonts should be included (or not included) into PS-/PDF-files. This +works for Outline (Postscript Type1) and Bitmap Fonts (Postscript +Type3) mostly coming from MetaFont. +.PP +\fBupdmap\fP is a utility that creates font configuration files for +\fBdvips\fP(1), \fBpdftex\fP(1), \fBxdvi\fP(1), \fBps2pk\fP(1), +\fBgsftopk\fP(1), and \fBdvipdfmx\fP(1)\&. In +an ideal world, updmap would be unnecessary -- each of these programs +would read the same configuration file to learn what fonts are +available and how they should be treated\&. As things stand, however, +each of these tools has subtly different requirements and thereby +needs its own font configuration file\&. \fBupdmap\fP creates font +configuration files for all of these programs from several sources, +namely all \fBupdmap.cfg\fR, allowing you to easily keep all the different +configuration files in sync\&. +.P +Running "updmap --help" will output the main documentation for using +\fBupdmap\fR. +.P +\fBdvipsPreferOutline\fR +.br +Configures if \fBdvips\fR (by default) should prefer bitmap fonts or outline fonts +if both are available? Independent of this setting, outlines can be forced +by putting "p psfonts_t1.map" into a config file that dvips reads. Bitmaps +can be forced by putting "p psfonts_pk.map" into a config file. We provide +such config files which can be enabled via +\fBdvips\fR \fI-Poutline\fR (resp. \fBdvips\fR \fI-Ppk\fR). +.br +Valid settings for dvipsPreferOutline are \fItrue\fR / \fIfalse\fR. +.P +\fBLW35\fR +.br +Which fonts of the "Basic 35 Laserwriter Fonts" do you want to use and +how are the filenames chosen? Valid settings: +.br +URW: URW fonts with "vendor" filenames (e.g. n019064l.pfb) +.br +URWkb: URW fonts with "berry" filenames (e.g. uhvbo8ac.pfb) +.br +ADOBE: Adobe fonts with "vendor" filenames (e.g. hvnbo___.pfb) +.br +ADOBEkb: Adobe fonts with "berry" filenames (e.g. phvbo8an.pfb) +.P +\fBdvipsDownloadBase35\fR +.br +Configures if \fBdvips\fR (by default) should download the 35 base +PostScript fonts into the document (set \fItrue\fR) or should these +fonts be used from the ps interpreter / printer (set \fIfalse\fR). +.br +The user can override the default by specifying \fBdvips\fR \fI-Pdownload35\fR +(resp. \fBdvips\fR \fI-Pbuiltin35\fR) to download the LW35 fonts +(resp. use the built-in fonts). +.br +Valid settings are \fItrue\fR / \fIfalse\fR. +.P +\fBpdftexDownloadBase14\fR +.br +Should \fBpdftex\fR download the 14 base PDF fonts? Since some configurations +(ps / pdf tools / printers) use bad default fonts, it is safer to download +the fonts. The pdf files get bigger, but that is the cost. +.br +Valid settings are \fItrue\fR (download the fonts) or \fIfalse\fR (don't +download the fonts). Adobe recommends embedding all fonts. +.P +\fBpxdviUse\fR +.br +Should special map files for pxdvi be created? pxdvi is an adaption of xdvi +with support for reading and displaying files generated by the ptex family +of engines. +.br +Valid settings are \fItrue\fR (generate configuration) or \fIfalse\fR. See +http://www.tug.org/texlive/updmap-kanji.html for detailed discussion. +.P +\fBkanjiEmbed\fR +.br +\fBkanjiVariant\fR +.br +The options \fBkanjiEmbed\fR and \fBkanjiVariant\fR specify special +replacements in the map lines. In a map, the string "@kanjiEmbed@" +will be replaced by the value of that option; similarly for +\fBkanjiVariant\fR. In this way, users of Japanese TeX can select +different fonts to be included in the final output. +.P +\fBMap\fR +.br +Points to a map file, which describes a mapping from a font (called in the TeX +document) to the pfb file containing the Postscript code. +.br +Usage: \fBMap\fR filename.map +.P +The syntax of map files is the same as \fBdvips\fP(1) uses, see the +section "psfonts.map" in the manual of \fBdvips\fP(1). +.P +\fBMixedMap\fR +.br +Similar to \fBMap\fR. It should be used when there is Type1 and a bitmap +implementation of the font (the latter mostly coming from MetaFont). These +entries will not be used in the default map of \fBdvips\fR if +\fBdvipsPreferOutline\fR is set to \fIfalse\fR. +.br +Usage: \fBMixedMap\fR filename.map +.P +\fBKanjiMap\fR +.br +Similar to \fBMap\fR. This should be used for kanji fonts. +.br +Usage: \fBKanjiMap\fR filename.map +.P +The sign \fB#\fR precedes a comment. +.P +Map files not to be used should be commented out using the string +\fB#!\fR at the beginning of the line. Such entries can be +(de-)activated using \fBupdmap\fR with the options \fI--enable\fR and +\fI--disable\fR, respectively. + +.SH "AUTHOR" +This manual page was written by Hilmar Preusse <hille42@web.de> and +extended by Norbert Preining <preining@logic.at>, for +the Debian GNU/Linux system by simply copying the comments from +\fBupdmap.cfg\fR and rewriting some of them. It may be used by other +distributions without contacting the author. Any mistakes or omissions in +the manual page are our fault; inquiries about or corrections to this manual +page should be directed to tex-live@tug.org. + +.SH "SEE ALSO" +updmap(1), dvips(1) + +.SH "THANKS TO" +Frank Kuester, +Thomas Esser. diff --git a/Master/texmf-dist/doc/man/man5/updmap.cfg.man5.pdf b/Master/texmf-dist/doc/man/man5/updmap.cfg.man5.pdf Binary files differnew file mode 100644 index 00000000000..3fff19ac64c --- /dev/null +++ b/Master/texmf-dist/doc/man/man5/updmap.cfg.man5.pdf diff --git a/Master/texmf-dist/doc/sjisconv/sjisconv.pdf b/Master/texmf-dist/doc/sjisconv/sjisconv.pdf Binary files differnew file mode 100644 index 00000000000..09ab3db3866 --- /dev/null +++ b/Master/texmf-dist/doc/sjisconv/sjisconv.pdf diff --git a/Master/texmf-dist/doc/tetex/TETEXDOC.pdf b/Master/texmf-dist/doc/tetex/TETEXDOC.pdf Binary files differnew file mode 100644 index 00000000000..69649b88a8c --- /dev/null +++ b/Master/texmf-dist/doc/tetex/TETEXDOC.pdf diff --git a/Master/texmf-dist/doc/tetex/teTeX-FAQ b/Master/texmf-dist/doc/tetex/teTeX-FAQ new file mode 100644 index 00000000000..025a668de92 --- /dev/null +++ b/Master/texmf-dist/doc/tetex/teTeX-FAQ @@ -0,0 +1,440 @@ +This is the FAQ for teTeX -- a TeX distribution for UNIX compatible +systems. If you have questions about some points that remain unclear, +or if you think that things could be described better, just drop me +a line. My Email address: + + Thomas Esser <te@dbs.uni-hannover.de> + + +This article includes answers to: + 0) Where can I get the teTeX distribution? + 1) Is there a mailing list for teTeX? + 2) Now that I know that there is a mailing list: is there an archive + 6) I added some files in the texmf tree. But they are not found. + 7) When running some old dvi files through a dvi driver, I get warnings + 8) What is the best method to get pk fonts in a batch job? + 9) What to do if I need the fonts for several modes? + 10) Can I share the teTeX directory tree between different platforms? + 11) After mktexpk and mktextfm successfully generate fonts, kpathsea + 12) mktextfm runs Metafont with a mode that I do not like. + 14) How about adding program XYY or a macro package ABC to teTeX? + 15) I want to keep my files separate from the system's files. What do + I need to do to make sure that tex+friends will find my files? + 16) How do I deinstall an old version of teTeX? + 17) How do I manage to execute the right binaries on each platform? + 20) Using the Shrink* Buttons in xdvi, I cannot get back to see the full + 21) Which is the right way of using the AMS fonts/macros with LaTeX? + 23) Some things do not work properly. What should I do now? + 24) I get a error message about "TeX capacity exceeded". What can I do? + 25) The scrollbars of xdvi do not make sense to me. How do I move backwards? + 26) Is teTeX freely redistributable? + 27) dvips, pdftex, dvipdfm and xdvi use the European A4 size as default + 28) Why does ghostview display of my texts look so much worse than + 29) Metafont does not support the X display. + 32) How can I get the Euro currency symbol? + 33) Font map files and enc files from my local texmf tree are not + found by dvips / pdftex etc. + 34) texconfig, updmap and fmtutil just change my personal settings. How + can I change global defaults in a multi-user setup? + +Answers: + +0) Where can I get the teTeX distribution? + + teTeX can be downloaded from CTAN and CTAN mirrors, e.g.: + ftp://ftp.dante.de/tex-archive/systems/unix/teTeX/ + ftp://ftp.tex.ac.uk/tex-archive/systems/unix/teTeX/ + ftp://ftp.duke.edu/tex-archive/systems/unix/teTeX/ + ftp://sunsite.auc.dk/pub/tex/ctan/systems/unix/teTeX/ + +1) Is there a mailing list for teTeX? + + Yes. There is one list for discussion and one (moderated) list for + announcements. The discussion list is + tetex@dbs.uni-hannover.de + and the announcement list is + tetex-announce@dbs.uni-hannover.de + To subscribe to one of these lists, send a message containing the line + subscribe tetex + or + subscribe tetex-announce + resp. to majordomo@dbs.uni-hannover.de . The majordomo server + understands a few more commands. To get more help about our + server, send a mail with the line 'help' in the body. + Note that announcements are posted into both lists, so if you are + interested in discussions and announcements, you only need to + subscribe to the tetex list. + +2) Now that I know that there is a mailing list: is there an archive + of the list? + + Yes. Just send a message with the line + get tetex archive + to majordomo@dbs.uni-hannover.de . + +6) I added some files in the texmf tree. But they are not found. + + You need to run texhash to update the ls-R file. See answer to 15) + as well... + +7) When running some old dvi files through a dvi driver, I get warnings + about checksum errors. + + The Postscript fonts are completely rearranged and the tfm files have + different checksums. If you have the (La)TeX source of your document, + you can get rid of the messages by running the sources through (La)TeX + again. + +8) What is the best method to get pk fonts in a batch job? + + If you do have lots of dvi files (e.g. the documentation of teTeX), + just run the allneeded script on them. It runs all those files + through dvips (but output is send to /dev/null and not to a printer), + and thus calculates all fonts that are needed to print these files + (or preview with the same mode). + + Example: + allneeded `kpsexpand '$TEXMFMAIN'`/doc >& /tmp/allneeded.log & + + The above command calculates the pk files for all the installed + documentation in a background job. + + If you do not have many dvi files, you can use the allcm and/or + allec scripts (allcm is for Computer Modern fonts, and allec for the + ec fonts). You need to have LaTeX installed and the scripts calculate + the fonts for all sizes and shapes that are used in typical LaTeX + documents. + +9) What to do if I need the fonts for several modes? + + You only need the modes together with a printer or for previewing. You + should add a dvips configuration file for each printer using texconfig + and use the most common printing mode for previewing. + Then, any of the above scripts in 8) (allneeded, allcm, allec) can be + given an argument of the form -P PRINTER (where PRINTER must be a known + printer for dvips). This will calculate the fonts with the mode of + the printer PRINTER. + + Example: + For dvips I have configured the printer lp to have the mode + ljfour. To get all ec fonts with ljfour mode, I would enter: + + allec -P lp + + If you do not have a dvips configuration file that corresponds to a + specific mode, you can still enter the mode on the command line. + Note however, that you should specify the corresponding resolution + as well. + + Example: + To get all fonts in cx mode (CanonCX mode is used by many 300dpi + printers), give the command: + + allcm -D 300 -mode cx + + The flags -D and -mode are directly passed down to dvips. + +10) Can I share the teTeX directory tree between different platforms? + + Yes. The only platform-specific directory is $TETEXDIR/bin. If you + want to use the same teTeX tree on different platforms, just put + the binaries for each platform into a different subdirectory of + $prefix/bin, e.g + /usr/local/teTeX/bin/i486-linux + /usr/local/teTeX/bin/sparc-solaris2.4 + You can then mount the whole /usr/local/teTeX tree on all machines + and share almost all the files between them. + +11) After mktexpk and mktextfm successfully generate fonts, kpathsea + complains and does not use the newly generated font. + + If you happen to see output like this: + ... + Transcript written on ecti1000.log. + /usr/local/teTeX/texmf/fonts/tfm/jknappen/ec/ecti1000.tfm + kpathsea: Appending font creation commands to missfont.log. + ... + then your shell is probably very broken. This problem is known with + the original bash 1.14.3 that has many problems with exit codes and + trap handling. Try the following line: + + sh -c 'exit 1'; echo $? + + The buggy bash gives 127 as result. Fixes for these problems have been + available e.g. from the internet newsgroup gnu.bash.bug, so not all + instances of bash 1.14.3 are broken. Later versions of bash should not + have that bug. + +12) mktextfm runs Metafont with a mode that I do not like. + + Use texconfig and select a different mode as default mode. + +14) How about adding program XYY or a macro package ABC to teTeX? + + Well, there are some things to take into account: + - I want to keep the size of the distribution small. + - I have only a limited amount of time. + - teTeX can be installed with a simple + ./configure && make && make install + on the most common UNIX platforms. Adding a new program could + break the whole thing. + Please, think about this before asking me to add something. But if a + really useful thing can be added without much effort and disk space + usage, I may decide to do that. + + Another possibility is, that things are added to the contrib directory + of teTeX. + +15) I want to keep my files separate from the system's files. What do + I need to do to make sure that tex+friends will find my files? + + If you are a local site administrator, please make use of the texmf + tree $TEXMFLOCAL; a single user installation of local additions + should go into the texmf tree $HOME/texmf. Mirror the structure + of the distributed texmf tree $TEXMFDIST. You can query the system + about these locations (TEXMFLOCAL / TEXMFDIST) by running e.g. + kpsewhich -var-value TEXMFLOCAL + + The structure of these trees follows the TeX Directory Structure + (TDS) standard (revision 1.1). You can view this document by running + the command + texdoc tds + + The following sections of the uktug faq deal with this topic: + $TEXMFDIST/doc/help/faq/uktug-faq/FAQ-instpackages.html + $TEXMFDIST/doc/help/faq/uktug-faq/FAQ-wherefiles.html + $TEXMFDIST/doc/help/faq/uktug-faq/FAQ-privinst.html + + If texdoc properly knows how to load some html code into your browser, + you can view these pages by running e.g. + texdoc FAQ-instpackages.html + + One thing mentioned in the uktug faq is so important that I want to + repeat here: you should always run the command + texhash + after you have added some file into a texmf tree. + +16) How do I deinstall an old version of teTeX? + + Well, the simple answer is: rm -rf. But there may be some more things + you want to do. You may keep a backup of your .pk fonts or of some + local files you added to $TEXMF before you remove the old directory + tree. Note, however that from teTeX 0.2 to 0.3, there has been an + update of the CM fonts (Knuth has updated the Metafont sources). So + you may want to remove your old .pk files and have them recreated + with the new sources. + + Another problem is, that there may be some symbolic links in + /usr/local/{bin,man} (or a similar directory) after you remove the + old teTeX directory tree and you may want to remove those links, + too. A simple way to do this, is the following: + + cd /usr/local/bin + sh -c 'for i in *; do test -s $i || echo $i; done' + + This loop echo'es all files with zero length, especially all stale + symbolic links. If you want to remove all files that are shown by the + command above, you can do this with: + + sh -c 'for i in *; do test -s $i || rm -f $i; done' + + You can repeat the above steps for other directories, as well + (e.g. /usr/local/man/man1 and /usr/local/man/man5). + +17) How do I manage to execute the right binaries on each platform? + + Assuming that you have binaries for several platforms installed, your + binaries are in $TETEXDIR/bin/PLATFORM. The first thing you can try is + to set up your PATH with + SYSDIR=`uname -m`-`uname -s` + PATH=$TETEXDIR/bin/$SYSDIR:... + You may need to rename the PLATFORM directories for this method. + + Another thing that may help is to include a local directory in your + PATH (e.g. /usr/local/bin) and create symbolic links for the binaries: + linux# ln -sf /usr/local/teTeX/bin/i486-linux/* /usr/local/bin + sun# ln -sf /usr/local/teTeX/bin/sparc-solaris2.4/* /usr/local/bin + ... + + If you do not like the uname-method for your PATH and the symlink + method, you may consider installing a small wrapper program that + calls the programs for the right platform. Install the wrapper in + $TETEXDIR/bin and create a symbolic link for each binary. + + Here an example: + TETEXDIR=/usr/local/teTeX + cd $TETEXDIR/bin + vi platf_wrapper # see script below ... + chmod +x platf_wrapper + list=`ls i486-linux` # get a list of programs. + for i in $list; do + ln -s platf_wrapper $i + done + + Tell your users to include $TETEXDIR/bin in their PATH. Make sure + that TETEXDIR is either set to an absolute path (e.g. /usr/local/teTeX) + or to $SELFAUTODIR (but not $SELFAUTOPARENT), since the programs are + now found one directory level earlier. + + Now the sample wrapper. Customize, if you need: + + #!/bin/sh + + # the path to the directories with the subdirs for each platform + BINDIR=/usr/local/teTeX/bin + + # export the variable. If we are called again, + # we do not need to recalculate. + export THIS_PLATFORM + + case "$THIS_PLATFORM" in + "") + case "`uname -s`" in + Linux) + THIS_PLATFORM=i486-linux;; + SunOS) + THIS_PLATFORM=sparc-solaris2.4;; + IRIX) + THIS_PLATFORM=mips-irix5.3;; + *) + echo "$0: fatal error: system not detected." >&2 + exit 1 + esac;; + esac + + exec $BINDIR/$THIS_PLATFORM/`basename $0` "$@" + +20) Using the Shrink* Buttons in xdvi, I cannot get back to see the full + page on the screen. + + The four buttons can be configured via X resources. Just add + them either to your personal X resources (usually ~/.Xdefaults) + or to xdvi's global configuration file XDvi which resides in + $TEXMFMAIN/xdvi. Such a resource setting might look like this: + XDvi*shrinkButton3: 6 + (This example configures button 3 to do a shrinking by a factor of 6). + + +21) Which is the right way of using the AMS fonts/macros with LaTeX? + + Just \usepackage{amsmath} and/or \usepackage{amsfonts}. Read + the documentation in doc/latex/amsmath, doc/latex/amsfonts and + doc/latex/amscls included in the distributed texmf tree. + + Do *not* \usepackage{amstex} (amstex.sty is just for compatibility + with old documents and only for use in LaTeX's 2.09 compatibility mode). + + Add \usepackage{amssymb} to get full access to all AMS symbols. + +23) Some things do not work properly. What should I do now? + + First, make sure that your "environment" is ok and run + texconfig confall + This gives you an idea about which binaries are found along your + PATH and if you have set some environment variables that might + confuse teTeX's programs. If in doubt, unset all variables that + are set in the "environment variables" section of the output. + + If binaries other than teTeX's are found, then change the definition + of your PATH. Put the directory containing teTeX's binaries earlier + into your PATH, so that teTeX's binaries are found before any other + TeX related stuff. + + Then, your ls-R file might be out of date. Run + texhash + and see if your problem goes away. + + If your problem is due to old LaTeX209 files that do not work with + LaTeX2e, then read $TEXMF/doc/latex/base/clsguide.dvi. + + If you cannot solve your problem by yourself, then + a) if you think your problem is a general question about TeX/LaTeX: + ask in some Newsgroup, such as comp.text.tex for help, or try to + contact a local TeX user group. + b) if you think there is a bug in a package contained in teTeX: + contact the maintainer of the package with a good bug report. Add my + Email address in the Cc field of your bug report, if you want. + c) if your problem seems to be teTeX specific (e.g. a problem with + one of the binaries or shell-scripts), then report it to the + teTeX mailing list (tetex@dbs.uni-hannover.de). Please + provide the following information: + + * The version of teTeX you have. For example + teTeX version is 3.0 + (the version information is displayed by running "texconfig conf"). + + * The flavor of Unix you are running (Solaris, HP, Linux, etc), and + its version. For example + The system is Solaris 2.4 + + * The output of the command + texconfig conf + + * Possibly a *short* TeX file you have problem running, and + the whole output of `texcommand filename', say, until the + first error. + +24) I get a error message about "TeX capacity exceeded". What can I do? + + If there is a constant in the system's texmf.cnf file, just enlarge + this (by editing the texmf.cnf file) and run the command + texconfig init + +25) The scrollbars of xdvi do not make sense to me. How do I move backwards? + + The scrollbars are what one calls Athena scrollbars. To scroll + forward, click the left mouse button on the location you would want + to scroll to the beginning of the displayed area. To scroll backward, + click the right mouse button on where you want to scroll the beginning + of the displayed area to. Click the middle mouse button for "dragging" + the beginning of the displayed area around. + +26) Is teTeX freely redistributable? + + Yes. All parts of teTeX have been classified as being free software. + +27) dvips, pdftex, dvipdfm and xdvi use the European A4 size as default + papersize. How do I change this to make letterpaper the default? + + Simple answer: use texconfig. + texconfig paper letter + +28) Why does ghostview display of my texts look so much worse than + with xdvi? + + xdvi does antialiasing. If your version of ghostscript is + sufficiently new, it has the x11alpha device. Check for this with + gs -h + If it has, then putting + Ghostview*arguments: -sDEVICE=x11alpha + in your .Xdefault file (typically) will make ghostview use an + anti-aliasing display as well, at the cost of display speed. + +29) Metafont does not support the X display. + It may be that your Metafont binary is compiled without support for + the X windows system. If there exists a mfw binary, that one + has the missing X support you need. + +32) How can I get the Euro currency symbol? + + In LaTeX, use the marvosym package (documentation: texdoc marvodoc). + It provides several Euro symbol by the command \EUR. The variants + \EURtm, \EURhv and \EURcr match are designed to be used together + with the fonts Times, Helvetica and Courier respectively. + +33) Font map files and enc files from my local texmf tree are not found + by dvips / pdftex etc. + + With version 1.1 of the TeX Directory Structure, the location for + these files was changed. These files are font files and are now + stored in fonts/{map,enc}/<syntax>/<package>. So, the solution to + your problem is to rearrange these files in your tree and then call + the command texhash. More help is given in the release notes section + of the teTeX manual (run the command "texdoc TETEXDOC" to read it) + and on the web page http://www.tug.org/texlive/mapenc.html. + +34) texconfig, updmap and fmtutil just change my personal settings. How + can I change global defaults in a multi-user setup? + + Simple answer: use the -sys variant of the tool: texconfig-sys, + updmap-sys and fmtutil-sys. diff --git a/Master/texmf-dist/doc/texlive/index.html b/Master/texmf-dist/doc/texlive/index.html new file mode 100644 index 00000000000..951ec4e1e7e --- /dev/null +++ b/Master/texmf-dist/doc/texlive/index.html @@ -0,0 +1,63 @@ +<html><head> +<!-- $Id$ --> +<title>TeX Live</title></head><body> + +<h2>TeX Live documentation</h2> + +<p>The principal documentation available on TeX Live: + +<ul> +<li><a href="../../../readme-html.dir/readme.en.html">top-level + README in English</a> (<a href="../../../index.html">translations</a>). + <p> + +<li><a href="texlive-en/texlive-en.html">TeX Live manual in English</a> + (also available as <a href="texlive-en/texlive-en.pdf">PDF</a>). +<li>Translations of the TeX Live manual: + <ul> + <li><a href="texlive-cz/texlive-cz.html">Czech/Slovak</a> (<a + href="texlive-cz/texlive-cz.pdf">PDF</a>) + <li><a href="texlive-de/texlive-de.html">German</a> (<a + href="texlive-de/texlive-de.pdf">PDF</a>) + <li><a href="texlive-fr/texlive-fr.html">French</a> (<a + href="texlive-fr/texlive-fr.pdf">PDF</a>) + <li><a href="texlive-it/texlive-it.html">Italian</a> (<a + href="texlive-it/texlive-it.pdf">PDF</a>) + <li><a href="texlive-pl/texlive-pl.html">Polish</a> (<a + href="texlive-pl/texlive-pl.pdf">PDF</a>) + <li><a href="texlive-ru/texlive-ru.html">Russian</a> (<a + href="texlive-ru/texlive-ru.pdf">PDF</a>) + <li><a href="texlive-sr/texlive-sr.html">Serbian</a> (<a + href="texlive-sr/texlive-sr.pdf">PDF</a>) + <li><a href="texlive-zh-cn/texlive-zh-cn.pdf">Simplified Chinese</a> + </ul> + <small>(Some versions may not be available if you did not install the full + TeX Live.)</small><p> + +<li><a href="../../../doc.html">Available package documentation</a> + <small>(some 1200 entries)</small>.<p> + +<li>Some TeX Live web pages: + <ul> + <li>Documentation on + <a href="http://tug.org/texlive/doc/install-tl.html">install-tl</a> + and <a href="http://tug.org/texlive/doc/tlmgr.html">tlmgr</a>. + <br><small>(Or run the programs with the sole option + <tt>--help</tt>.)</small> + <li><a href="http://tug.org/texlive/quickinstall.html">Quick + installation recipe (Unix-like systems).</a> + <li><a href="http://tug.org/texlive/windows.html">Installation and + other notes on Windows</a>. + </ul> + <p> + +<li>Finally, the <a href="http://tug.org/texdoc/">texdoc program</a>, + installed with TeX Live, may be useful in finding and viewing + documentation of packages and programs. + +</ul> + + + +<hr><small><a href="http://tug.org/texlive/">TeX Live home page.</a></small> +</body></html> diff --git a/Master/texmf-dist/doc/texlive/texlive-common/examples/ex5.tex b/Master/texmf-dist/doc/texlive/texlive-common/examples/ex5.tex new file mode 100644 index 00000000000..51a49fb670e --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-common/examples/ex5.tex @@ -0,0 +1,6 @@ +TEXMF = {$TEXMFLOCAL,!!$TEXMFMAIN} +TEXINPUTS.latex = .;$TEXMF/tex/{latex,generic;}// +TEXINPUTS.fontinst = .;$TEXMF/tex//;$TEXMF/fonts/afm// +% e-TeX related files +TEXINPUTS.elatex = .;$TEXMF/{etex,tex}/{latex,generic;}// +TEXINPUTS.etex = .;$TEXMF/{etex,tex}/{eplain,plain,generic;}// diff --git a/Master/texmf-dist/doc/texlive/texlive-common/examples/ex6.tex b/Master/texmf-dist/doc/texlive/texlive-common/examples/ex6.tex new file mode 100644 index 00000000000..7a56896e61c --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-common/examples/ex6.tex @@ -0,0 +1,56 @@ +\begin{figure*}[tp] +\centering +\begin{BVerbatim}[fontsize=\small] +debug:start search(file=texmf.cnf, must_exist=1, find_all=1, + path=.:/usr/local/bin/texlive:/usr/local/bin: + /usr/local/bin/texmf/web2c:/usr/local: + /usr/local/texmf/web2c:/.:/./teTeX/TeX/texmf/web2c:). +kdebug:start search(file=ls-R, must_exist=1, find_all=1, + path=~/tex:/usr/local/texmf). +kdebug:search(ls-R) =>/usr/local/texmf/ls-R +kdebug:start search(file=aliases, must_exist=1, find_all=1, + path=~/tex:/usr/local/texmf). +kdebug:search(aliases) => /usr/local/texmf/aliases +kdebug:start search(file=config.ps, must_exist=0, find_all=0, + path=.:~/tex:!!/usr/local/texmf/dvips//). +kdebug:search(config.ps) => /usr/local/texmf/dvips/config/config.ps +kdebug:start search(file=/root/.dvipsrc, must_exist=0, find_all=0, + path=.:~/tex:!!/usr/local/texmf/dvips//). +search(file=/home/goossens/.dvipsrc, must_exist=1, find_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//). +kdebug:search($HOME/.dvipsrc) => +kdebug:start search(file=config.cms, must_exist=0, find_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//). +kdebug:search(config.cms) +=>/usr/local/texmf/dvips/cms/config.cms +\end{BVerbatim} +\caption{Finding configuration files}\label{fig:dvipsdbga} + +\bigskip + +\begin{BVerbatim}[fontsize=\small] +kdebug:start search(file=texc.pro, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro +\end{BVerbatim} +\caption{Finding the prolog file}\label{fig:dvipsdbgb} + +\bigskip + +\begin{BVerbatim}[fontsize=\small] +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{BVerbatim} +\caption{Finding the font file}\label{fig:dvipsdbgc} +\end{figure*} diff --git a/Master/texmf-dist/doc/texlive/texlive-common/examples/ex6a.tex b/Master/texmf-dist/doc/texlive/texlive-common/examples/ex6a.tex new file mode 100644 index 00000000000..bbc9f5b42a7 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-common/examples/ex6a.tex @@ -0,0 +1,24 @@ +\begin{BVerbatim}[fontsize=\small] +debug:start search(file=texmf.cnf, must_exist=1, find_all=1, + path=.:/usr/local/bin/texlive:/usr/local/bin: + /usr/local/bin/texmf/web2c:/usr/local: + /usr/local/texmf/web2c:/.:/./teTeX/TeX/texmf/web2c:). +kdebug:start search(file=ls-R, must_exist=1, find_all=1, + path=~/tex:/usr/local/texmf). +kdebug:search(ls-R) =>/usr/local/texmf/ls-R +kdebug:start search(file=aliases, must_exist=1, find_all=1, + path=~/tex:/usr/local/texmf). +kdebug:search(aliases) => /usr/local/texmf/aliases +kdebug:start search(file=config.ps, must_exist=0, find_all=0, + path=.:~/tex:!!/usr/local/texmf/dvips//). +kdebug:search(config.ps) => /usr/local/texmf/dvips/config/config.ps +kdebug:start search(file=/root/.dvipsrc, must_exist=0, find_all=0, + path=.:~/tex:!!/usr/local/texmf/dvips//). +search(file=/home/goossens/.dvipsrc, must_exist=1, find_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//). +kdebug:search($HOME/.dvipsrc) => +kdebug:start search(file=config.cms, must_exist=0, find_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//). +kdebug:search(config.cms) +=>/usr/local/texmf/dvips/cms/config.cms +\end{BVerbatim}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/texlive/texlive-common/examples/ex6b.tex b/Master/texmf-dist/doc/texlive/texlive-common/examples/ex6b.tex new file mode 100644 index 00000000000..5a5a92f1f22 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-common/examples/ex6b.tex @@ -0,0 +1,6 @@ +\begin{BVerbatim}[fontsize=\small] +kdebug:start search(file=texc.pro, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro +\end{BVerbatim}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/texlive/texlive-common/examples/ex6c.tex b/Master/texmf-dist/doc/texlive/texlive-common/examples/ex6c.tex new file mode 100644 index 00000000000..5daaeaa184b --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-common/examples/ex6c.tex @@ -0,0 +1,14 @@ +\begin{BVerbatim}[fontsize=\small] +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{BVerbatim}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/texlive/texlive-common/install-lnx-main.png b/Master/texmf-dist/doc/texlive/texlive-common/install-lnx-main.png Binary files differnew file mode 100644 index 00000000000..977a69bceee --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-common/install-lnx-main.png diff --git a/Master/texmf-dist/doc/texlive/texlive-common/psview.png b/Master/texmf-dist/doc/texlive/texlive-common/psview.png Binary files differnew file mode 100644 index 00000000000..8322bdda693 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-common/psview.png diff --git a/Master/texmf-dist/doc/texlive/texlive-common/stdcoll.png b/Master/texmf-dist/doc/texlive/texlive-common/stdcoll.png Binary files differnew file mode 100644 index 00000000000..1d20b66a70c --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-common/stdcoll.png diff --git a/Master/texmf-dist/doc/texlive/texlive-common/tlmgr-general-options.png b/Master/texmf-dist/doc/texlive/texlive-common/tlmgr-general-options.png Binary files differnew file mode 100644 index 00000000000..75fe72dfc9f --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-common/tlmgr-general-options.png diff --git a/Master/texmf-dist/doc/texlive/texlive-common/tlmgr-gui.png b/Master/texmf-dist/doc/texlive/texlive-common/tlmgr-gui.png Binary files differnew file mode 100644 index 00000000000..84de559dd8d --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-common/tlmgr-gui.png diff --git a/Master/texmf-dist/doc/texlive/texlive-common/tlmgr-paper-options.png b/Master/texmf-dist/doc/texlive/texlive-common/tlmgr-paper-options.png Binary files differnew file mode 100644 index 00000000000..dc339688f7d --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-common/tlmgr-paper-options.png diff --git a/Master/texmf-dist/doc/texlive/texlive-common/tray-menu.png b/Master/texmf-dist/doc/texlive/texlive-common/tray-menu.png Binary files differnew file mode 100644 index 00000000000..6b3921f229c --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-common/tray-menu.png diff --git a/Master/texmf-dist/doc/texlive/texlive-common/wizard-w32.png b/Master/texmf-dist/doc/texlive/texlive-common/wizard-w32.png Binary files differnew file mode 100644 index 00000000000..9d740fb838e --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-common/wizard-w32.png diff --git a/Master/texmf-dist/doc/texlive/texlive-cz/Makefile b/Master/texmf-dist/doc/texlive/texlive-cz/Makefile new file mode 100644 index 00000000000..cd38cae0227 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-cz/Makefile @@ -0,0 +1,2 @@ +include ../texlive-en/Makefile +doc = texlive-cz diff --git a/Master/texmf-dist/doc/texlive/texlive-cz/csquote.sty b/Master/texmf-dist/doc/texlive/texlive-cz/csquote.sty new file mode 100644 index 00000000000..3644143647b --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-cz/csquote.sty @@ -0,0 +1,181 @@ +%%%%%%%%%%%%%%%%%%%%%% cut here %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% File: CSQUOTE.TEX/STY +% Version: 1.1 +% +% Authors: Hunter Goatley <goathunter@wkuvx1.bitnet> +% (parts from QUOTE.TEX/STY) +% Petr Sojka <sojka@ics.muni.cs> +% +% Warranty: +% +% Copyright (c) 1992 by Hunter Goatley, Petr Sojka +% Permission to copy all or part of this work is granted, provided +% that the copies are not made or distributed for resale, and that +% the copyright notice and this notice are retained. +% +% THIS WORK IS PROVIDED ON AN "AS IS" BASIS. THE AUTHOR PROVIDES NO +% WARRANTY WHATSOEVER, EITHER EXPRESS OR IMPLIED, REGARDING THE WORK, +% INCLUDING WARRANTIES WITH RESPECT TO ITS MERCHANTABILITY OR FITNESS +% FOR ANY PARTICULAR PURPOSE. +% +% If you make any improvements, I'd like to hear about them. +% +% History: +% +% Oct 26, 92 - V1.0 first release +% Dec 14, 92 - V1.1 \uv added +% +% Abstract: +% +% This file defines the macros \csdoublequoteson and \csdoublequotesoff. +% These macros allows switching between standard and following behaviour: +% TeX replace the double-quote character (") with Czech +% left and right double-quotes. For example: +% +% "This is a test." ---> ,,This is a test.'' +% +% The double-quote character is still available via \dq. +% \" is still treated as the umlaut accent. +% +% This macro makes a couple of assumptions about the double-quotes: +% +% 1. Double-quotes are assumed to come in pairs. When replacing +% double-quotes, the macro alternates between ,, and ''. The only +% exception to this is noted in (2) below. +% 2. A double-quote at the beginning of a paragraph is always treated +% as ,,. This correctly handles the case where a quotation is +% continued into a second paragraph: +% +% "This is the first paragraph.\par +% "This is the second paragraph of the same quote." +% +% Normal TeX spacing after ,, and '' is maintained by saving and +% restoring the \spacefactor. +% +% Macros work both with plainTex and LaTeX. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% HOW IT WORKS: +% +% The double-quote character (") is made active by \csdoublequoteson. +% The " macro keeps track of left-quote/right-quote pairs and inserts +% the appropriate ,, and '' in its place. +% +% Each character has a \spacefactor associated with it, which specifies +% the amount of stretch or shrink that a space following the character +% can have. Most characters have a factor of 1000, but some punctuation +% marks have higher spacefactors, most notably the period, which has a +% \spacefactor of 3000. This means the space following a period can +% stretch up to 3 times more than the space after a regular character, +% accounting for the increased space at the end of sentences. +% +% The ,, and '' ligatures are assigned \spacefactor's of 0, so that the +% \spacefactor that is applied to the next character is the same as that +% of the character preceding the quotes. Because " has been redefined as +% a macro, any spaces following " are swallowed by TeX. It was necessary +% to have this macro re-insert any needed space so that the following +% cases worked correctly: +% +% "This is a test," she said. --> ,,This is a test,'' she said. +% "This is in a list"; etc. --> ,,This is in a list''; etc. +% +% Without the added space, the first example becomes: +% +% ,,This is a test,''she said. +% +% The solution was to save the current \spacefactor before inserting a +% right double-quote, then resetting the \spacefactor after the +% insertion. The net effect was that the " macro has a \spacefactor +% of 0, which matches the way TeX treats ,, and ''. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +{% % Begin a group for which " is active +\catcode`\"=\active % Make " an active character +\catcode`\@=11 % Make @ an active character +% +% \csdoublequoteson +% +% This macro makes " an active character, resets the control sequence +% \dblqu@te to L (left), and defines \dq as a replacement for ". +% +\gdef\csdoublequoteson{% % \csdoublequoteson enables " + \gdef"{\czechquotes}% % Define " as \czechquotes + \global\catcode`\"=\active% % Make " an active character + \global\chardef\dq=`\"% % Double-quote char. via \dq + \global\let\dblqu@te=L% % Always start with a left double-quote + } % End of macro +% +% \bq, \eq +% +% These macros define default characters for czech left and right +% double quotes. Czech opening quote is created from two commas with +% kerning depending on fontdimen four parameter of current font. +% Better solution should be specially designed character with +% proper kernings; if you have such characters in fonts +% (e.g. in DC-fonts), use it instead. (e.g. define +% macros \bq and \eq e.g. \def\bq{\char"130 } +% in your document/style file-- not in csquote.sty!) +% Similar solution is used for czech right quote. +% +% \cs existence test, stolen from TeXbook exercise 7.7 +\def\ifundefined#1{\expandafter\ifx\csname#1\endcsname\relax }% +% +% another macro to be more efficient in time and space +\global\chardef\f@@r=4 +% +\ifundefined{bq}% +\gdef\bq{\kern-.25\fontdimen\f@@r\font,\kern-.8\fontdimen\f@@r\font,% + \kern-.35\fontdimen\f@@r\font}% +\fi +\ifundefined{eq}% +\gdef\eq{\kern-.35\fontdimen\f@@r\font`\kern-.8\fontdimen\f@@r\font`% + \kern-.25\fontdimen\f@@r\font} +\fi +% +% Macro \uv for other usage of \bq and \eq. +% +\ifundefined{uv}% + \gdef\uv#1{\bq #1\eq} +\fi +% +% Define the macro that will be executed whenever " is encountered. +% +\gdef\czechquotes{% + % If the double-quote is the first character in a new paragraph, + % make sure it becomes a left double-quote. This case can be + % detected by checking to see if TeX is currently in vertical mode. + % If so, the double-quote is at the beginning of the paragraph + % (since " hasn't actually generated any horizontal mode tokens + % yet, TeX is still in vertical mode). If the mode is vertical, + % set \dblqu@te equal to L. + % + \ifinner\else\ifvmode\let\dblqu@te=L\fi\fi% + % + % Now insert the appropriate left or right double-quote. + % + % If \dblqu@te is L, insert an opening quote and set \dblqu@te to R. + % + \if L\dblqu@te\bq\global\let\dblqu@te=R% + % + % Otherwise, save the current \spacefactor, insert '', set \dblqu@te + % to L, and reset the original \spacefactor. + % + \else% + \let\xxx=\spacefactor% % Save the \spacefactor + \eq% % Insert ending quote + \global\let\dblqu@te=L% % and reset \dblqu@te + \spacefactor\xxx% % Reset the \spacefactor + \fi% % End of \if L\dblqu@te... + } % End of " macro +} % End of group + +\gdef\csdoublequotesoff{% + \catcode`\"=12% % Set " back to other + } +% +% Czech quotes are default +% +\csdoublequoteson + diff --git a/Master/texmf-dist/doc/texlive/texlive-cz/ec-lmr10-19.png b/Master/texmf-dist/doc/texlive/texlive-cz/ec-lmr10-19.png Binary files differnew file mode 100644 index 00000000000..9b6ee191860 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-cz/ec-lmr10-19.png diff --git a/Master/texmf-dist/doc/texlive/texlive-cz/live4ht.cfg b/Master/texmf-dist/doc/texlive/texlive-cz/live4ht.cfg new file mode 100644 index 00000000000..54985bf6219 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-cz/live4ht.cfg @@ -0,0 +1,47 @@ +% tex4ht configuration file for the TeX Live documentation. +% Accumulated over many years. Public domain. +% +% html specifies the main output format. +% info for extra debugging info in the log files. + +% better approach is to have html in one piece (including footnotes). +% also the newest TeX4ht could produce UTF-8 output (-utf8 option) +\Preamble{charset=utf8,html,info,fn-in} + +% add extra stylesheet +\Configure{@HEAD}{\HCode{% +<link rel="stylesheet" type="text/css" href="\jobname.css" />\Hnewline +<link rel="stylesheet" type="text/css" href="tex-live.css" />\Hnewline +}} + +% or LaTeX complains it is missing. +\begin{document} + +\EndPreamble + +% simplify output for HTML. We leave TeX and LaTeX alone, since tex4ht +% actually does the lowered E (and raised A) in CSS. +\def\OMEGA{Omega} +\def\LaTeXe{LaTeX2e} +\def\eTeX{e-\TeX} +\def\acro#1{#1} +\def\MF{Metafont} +\def\BibTeX{BibTeX} +\def\warningbox{} +\def\endwarningbox{} + +\newif\ifhackliterals +\ifx\tldocenglish\undefined \else \hackliteralstrue \fi +\ifx\tldocrussian\undefined \else \hackliteralstrue \fi +\ifx\tldocgerman\undefined \else \hackliteralstrue \fi +% +\ifhackliterals + % these definitions cause "missing } inserted" at \end{tabularx} in + % French and Czech. don't know why. + % + % don't make these into links, as happens with \path. We only have a couple + % special characters that actually occur. + \def\dirname{\texttt\bgroup\catcode`\$=12 \catcode`\_=12 \finishliteral} + \def\finishliteral#1{#1\egroup} + \let\filename=\dirname +\fi diff --git a/Master/texmf-dist/doc/texlive/texlive-cz/tex-live.css b/Master/texmf-dist/doc/texlive/texlive-cz/tex-live.css new file mode 100644 index 00000000000..5062bc0d229 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-cz/tex-live.css @@ -0,0 +1,44 @@ +/* $Id$ + Simple CSS for TeX Live that adds margins and a little color. + original by Bzyl Wlodzimierz, edited by Karl Berry, 2005. + Public domain. */ + +html { + // top left bottom right + margin: 15pt 15pt 15pt 15pt; + background: rgb(255,255,224); +} + +body { + margin: 0 5pt 0 5pt; + padding: 0; + //matw: background: rgb(224,255,224); + // (It looks better to me to have a consistent background --karl) +// fonts in browser are low resolution; +// therefore generated serif are poor quality, +// so they disturb reading (that is my opinion) + font-family: sans-serif; + font-style: normal; +} + +/* (It looks better to me to not vary colors at every level --karl) */ + +h3.sectionHead { + padding: 12pt 10pt 12pt 20pt; + //matw: background: rgb(192,224,255); + background: rgb(224,224,255); + color: rgb(0,0,32); +} + +h4.subsectionHead { + padding: 7pt 10pt 7pt 40pt; + background: rgb(224,224,255); + color: rgb(0,0,32); +} + +h5.subsubsectionHead { + padding: 3pt 10pt 3pt 40pt; + //matw: background: rgb(224,255,255); + background: rgb(224,224,255); + color: rgb(0,0,32); +} diff --git a/Master/texmf-dist/doc/texlive/texlive-cz/texlive-cz.css b/Master/texmf-dist/doc/texlive/texlive-cz/texlive-cz.css new file mode 100644 index 00000000000..440a888f594 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-cz/texlive-cz.css @@ -0,0 +1,353 @@ + +/* start css.sty */ +.ec-lmr-10x-x-109{} +.ec-lmr-17{font-size:154%;} +.ec-lmss-17x-x-120{font-size:185%; font-family: sans-serif;} +.ec-lmss-17x-x-120{ font-family: sans-serif;} +.ec-lmss-17x-x-120{ font-family: sans-serif;} +.ec-lmss-17x-x-120{ font-family: sans-serif;} +.ec-lmss-17x-x-120{ font-family: sans-serif;} +.ec-lmss-17x-x-120{ font-family: sans-serif;} +.ec-lmss-17x-x-120{ font-family: sans-serif;} +.ec-lmss-17x-x-120{ font-family: sans-serif;} +.ec-lmss-17x-x-120{ font-family: sans-serif;} +.ec-lmss-17x-x-120{ font-family: sans-serif;} +.ec-lmss-17x-x-120{ font-family: sans-serif;} +.ec-lmss-17x-x-120{ font-family: sans-serif;} +.ec-lmss-17x-x-120{ font-family: sans-serif;} +.ec-lmss-17x-x-120{ font-family: sans-serif;} +.ec-lmss-17x-x-120{ font-family: sans-serif;} +.ec-lmss-17x-x-120{ font-family: sans-serif;} +.ec-lmss-17x-x-120{ font-family: sans-serif;} +.ec-lmr-12{font-size:109%;} +.ec-lmtt-12{font-size:109%; font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-10x-x-109{ font-family: monospace;} +.ec-lmtt-10x-x-109{ font-family: monospace;} +.ec-lmtt-10x-x-109{ font-family: monospace;} +.ec-lmtt-10x-x-109{ font-family: monospace;} +.ec-lmtt-10x-x-109{ font-family: monospace;} +.ec-lmtt-10x-x-109{ font-family: monospace;} +.ec-lmtt-10x-x-109{ font-family: monospace;} +.ec-lmtt-10x-x-109{ font-family: monospace;} +.ec-lmtt-10x-x-109{ font-family: monospace;} +.ec-lmtt-10x-x-109{ font-family: monospace;} +.ec-lmtt-10x-x-109{ font-family: monospace;} +.ec-lmtt-10x-x-109{ font-family: monospace;} +.ec-lmtt-10x-x-109{ font-family: monospace;} +.ec-lmtt-10x-x-109{ font-family: monospace;} +.ec-lmtt-10x-x-109{ font-family: monospace;} +.ec-lmtt-10x-x-109{ font-family: monospace;} +.ec-lmtt-10x-x-109{ font-family: monospace;} +.ec-lmss-10x-x-109{ font-family: sans-serif;} +.ec-lmss-10x-x-109{ font-family: sans-serif;} +.ec-lmss-10x-x-109{ font-family: sans-serif;} +.ec-lmss-10x-x-109{ font-family: sans-serif;} +.ec-lmss-10x-x-109{ font-family: sans-serif;} +.ec-lmss-10x-x-109{ font-family: sans-serif;} +.ec-lmss-10x-x-109{ font-family: sans-serif;} +.ec-lmss-10x-x-109{ font-family: sans-serif;} +.ec-lmss-10x-x-109{ font-family: sans-serif;} +.ec-lmss-10x-x-109{ font-family: sans-serif;} +.ec-lmss-10x-x-109{ font-family: sans-serif;} +.ec-lmss-10x-x-109{ font-family: sans-serif;} +.ec-lmss-10x-x-109{ font-family: sans-serif;} +.ec-lmss-10x-x-109{ font-family: sans-serif;} +.ec-lmss-10x-x-109{ font-family: sans-serif;} +.ec-lmss-10x-x-109{ font-family: sans-serif;} +.ec-lmss-10x-x-109{ font-family: sans-serif;} +.lmmi-10x-x-109{} +.lmsy-10x-x-109{} +.ec-lmbx-10x-x-109{ font-weight: bold;} +.ec-lmbx-10x-x-109{ font-weight: bold;} +.ec-lmbx-10x-x-109{ font-weight: bold;} +.ec-lmbx-10x-x-109{ font-weight: bold;} +.ec-lmbx-10x-x-109{ font-weight: bold;} +.ec-lmbx-10x-x-109{ font-weight: bold;} +.ec-lmbx-10x-x-109{ font-weight: bold;} +.ec-lmbx-10x-x-109{ font-weight: bold;} +.ec-lmbx-10x-x-109{ font-weight: bold;} +.ec-lmbx-10x-x-109{ font-weight: bold;} +.ec-lmbx-10x-x-109{ font-weight: bold;} +.ec-lmbx-10x-x-109{ font-weight: bold;} +.ec-lmbx-10x-x-109{ font-weight: bold;} +.ec-lmbx-10x-x-109{ font-weight: bold;} +.ec-lmbx-10x-x-109{ font-weight: bold;} +.ec-lmbx-10x-x-109{ font-weight: bold;} +.ec-lmbx-10x-x-109{ font-weight: bold;} +.ec-lmri-10x-x-109{ font-style:italic;} +.ec-lmri-10x-x-109{ font-style:italic;} +.ec-lmri-10x-x-109{ font-style:italic;} +.ec-lmri-10x-x-109{ font-style:italic;} +.ec-lmri-10x-x-109{ font-style:italic;} +.ec-lmri-10x-x-109{ font-style:italic;} +.ec-lmri-10x-x-109{ font-style:italic;} +.ec-lmri-10x-x-109{ font-style:italic;} +.ec-lmri-10x-x-109{ font-style:italic;} +.ec-lmri-10x-x-109{ font-style:italic;} +.ec-lmri-10x-x-109{ font-style:italic;} +.ec-lmri-10x-x-109{ font-style:italic;} +.ec-lmri-10x-x-109{ font-style:italic;} +.ec-lmri-10x-x-109{ font-style:italic;} +.ec-lmri-10x-x-109{ font-style:italic;} +.ec-lmri-10x-x-109{ font-style:italic;} +.ec-lmri-10x-x-109{ font-style:italic;} +.ec-lmtk-10x-x-109{ font-family: monospace;} +.ec-lmtk-10x-x-109{ font-family: monospace;} +.ec-lmtk-10x-x-109{ font-family: monospace;} +.ec-lmtk-10x-x-109{ font-family: monospace;} +.ec-lmtk-10x-x-109{ font-family: monospace;} +.ec-lmtk-10x-x-109{ font-family: monospace;} +.ec-lmtk-10x-x-109{ font-family: monospace;} +.ec-lmtk-10x-x-109{ font-family: monospace;} +.ec-lmtk-10x-x-109{ font-family: monospace;} +.ec-lmtk-10x-x-109{ font-family: monospace;} +.ec-lmtk-10x-x-109{ font-family: monospace;} +.ec-lmtk-10x-x-109{ font-family: monospace;} +.ec-lmtk-10x-x-109{ font-family: monospace;} +.ec-lmtk-10x-x-109{ font-family: monospace;} +.ec-lmtk-10x-x-109{ font-family: monospace;} +.ec-lmtk-10x-x-109{ font-family: monospace;} +.ec-lmtk-10x-x-109{ font-family: monospace;} +.ec-lmr-9{font-size:81%;} +.ec-lmtt-9{font-size:81%; font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmro-10x-x-109{ font-style: oblique;} +.ec-lmro-10x-x-109{ font-style: oblique;} +.ec-lmro-10x-x-109{ font-style: oblique;} +.ec-lmro-10x-x-109{ font-style: oblique;} +.ec-lmro-10x-x-109{ font-style: oblique;} +.ec-lmro-10x-x-109{ font-style: oblique;} +.ec-lmro-10x-x-109{ font-style: oblique;} +.ec-lmro-10x-x-109{ font-style: oblique;} +.ec-lmro-10x-x-109{ font-style: oblique;} +.ec-lmro-10x-x-109{ font-style: oblique;} +.ec-lmro-10x-x-109{ font-style: oblique;} +.ec-lmro-10x-x-109{ font-style: oblique;} +.ec-lmro-10x-x-109{ font-style: oblique;} +.ec-lmro-10x-x-109{ font-style: oblique;} +.ec-lmro-10x-x-109{ font-style: oblique;} +.ec-lmro-10x-x-109{ font-style: oblique;} +.ec-lmro-10x-x-109{ font-style: oblique;} +.ec-lmr-10{font-size:90%;} +.ec-lmtt-10{font-size:90%; font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmr-8{font-size:72%;} +.ec-lmtt-8{font-size:72%; font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.htf-calligraphy {font-family:cursive} +.htf-calligraphy-bold {font-family:cursive ; font-weight: bold; } +p.noindent { text-indent: 0em } +td p.noindent { text-indent: 0em; margin-top:0em; } +p.nopar { text-indent: 0em; } +p.indent{ text-indent: 1.5em } +@media print {div.crosslinks {visibility:hidden;}} +a img { border-top: 0; border-left: 0; border-right: 0; } +center { margin-top:1em; margin-bottom:1em; } +td center { margin-top:0em; margin-bottom:0em; } +.Canvas { position:relative; } +img.math{vertical-align:middle;} +li p.indent { text-indent: 0em } +li p:first-child{ margin-top:0em; } +li p:last-child, li div:last-child { margin-bottom:0.5em; } +li p~ul:last-child, li p~ol:last-child{ margin-bottom:0.5em; } +.enumerate1 {list-style-type:decimal;} +.enumerate2 {list-style-type:lower-alpha;} +.enumerate3 {list-style-type:lower-roman;} +.enumerate4 {list-style-type:upper-alpha;} +div.newtheorem { margin-bottom: 2em; margin-top: 2em;} +.obeylines-h,.obeylines-v {white-space: nowrap; } +div.obeylines-v p { margin-top:0; margin-bottom:0; } +.overline{ text-decoration:overline; } +.overline img{ border-top: 1px solid black; } +td.displaylines {text-align:center; white-space:nowrap;} +.centerline {text-align:center;} +.rightline {text-align:right;} +div.verbatim {font-family: monospace; white-space: nowrap; text-align:left; clear:both; } +.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +div.fbox {display:table} +div.center div.fbox {text-align:center; clear:both; padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +div.minipage{width:100%;} +div.center, div.center div.center {text-align: center; margin-left:1em; margin-right:1em;} +div.center div {text-align: left;} +div.flushright, div.flushright div.flushright {text-align: right;} +div.flushright div {text-align: left;} +div.flushleft {text-align: left;} +.underline{ text-decoration:underline; } +.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; } +.framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +.framebox-c {text-align:center;} +.framebox-l {text-align:left;} +.framebox-r {text-align:right;} +span.thank-mark{ vertical-align: super } +span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript{ font-size:80%; } +div.footnotes{border-top:solid 1px black; border-bottom:solid 1px black; padding-bottom:1ex; padding-top:0.5ex; margin-right:15%; margin-top:2ex; font-style:italic; font-size:85%;} +div.footnotes p{margin-top:0; margin-bottom:0; text-indent:0;} +div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; } +table.tabular td p{margin-top:0em;} +table.tabular {margin-left: auto; margin-right: auto;} +td p:first-child{ margin-top:0em; } +td p:last-child{ margin-bottom:0em; } +div.td00{ margin-left:0pt; margin-right:0pt; } +div.td01{ margin-left:0pt; margin-right:5pt; } +div.td10{ margin-left:5pt; margin-right:0pt; } +div.td11{ margin-left:5pt; margin-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +td.td00{ padding-left:0pt; padding-right:0pt; } +td.td01{ padding-left:0pt; padding-right:5pt; } +td.td10{ padding-left:5pt; padding-right:0pt; } +td.td11{ padding-left:5pt; padding-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +.hline hr, .cline hr{ height : 1px; margin:0px; } +.tabbing-right {text-align:right;} +span.TEX {letter-spacing: -0.125em; } +span.TEX span.E{ position:relative;top:0.5ex;left:-0.0417em;} +a span.TEX span.E {text-decoration: none; } +span.LATEX span.A{ position:relative; top:-0.5ex; left:-0.4em; font-size:85%;} +span.LATEX span.TEX{ position:relative; left: -0.4em; } +div.float, div.figure {margin-left: auto; margin-right: auto;} +div.float img {text-align:center;} +div.figure img {text-align:center;} +.marginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;} +.marginpar p{margin-top:0.4em; margin-bottom:0.4em;} +table.equation {width:100%;} +.equation td{text-align:center; } +td.equation { margin-top:1em; margin-bottom:1em; } +td.equation-label { width:5%; text-align:center; } +td.eqnarray4 { width:5%; white-space: normal; } +td.eqnarray2 { width:5%; } +table.eqnarray-star, table.eqnarray {width:100%;} +div.eqnarray{text-align:center;} +div.array {text-align:center;} +div.pmatrix {text-align:center;} +table.pmatrix {width:100%;} +span.pmatrix img{vertical-align:middle;} +div.pmatrix {text-align:center;} +table.pmatrix {width:100%;} +span.bar-css {text-decoration:overline;} +img.cdots{vertical-align:middle;} +div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; } +table.tabular td p{margin-top:0em;} +table.tabular {margin-left: auto; margin-right: auto;} +td p:first-child{ margin-top:0em; } +td p:last-child{ margin-bottom:0em; } +div.td00{ margin-left:0pt; margin-right:0pt; } +div.td01{ margin-left:0pt; margin-right:5pt; } +div.td10{ margin-left:5pt; margin-right:0pt; } +div.td11{ margin-left:5pt; margin-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +td.td00{ padding-left:0pt; padding-right:0pt; } +td.td01{ padding-left:0pt; padding-right:5pt; } +td.td10{ padding-left:5pt; padding-right:0pt; } +td.td11{ padding-left:5pt; padding-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +.hline hr, .cline hr{ height : 1px; margin:0px; } +div.array {text-align:center;} +.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; font-weight:bold; font-size:110%;} +.index-item, .index-subitem, .index-subsubitem {display:block} +div.caption {text-indent:-2em; margin-left:3em; margin-right:1em; text-align:left;} +div.caption span.id{font-weight: bold; white-space: nowrap; } +h1.partHead{text-align: center} +p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } +p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } +.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;} +.subparagraphHead, .likesubparagraphHead { font-weight: bold;} +.quote {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; margin-right:1em; text-align:justify;} +.verse{white-space:nowrap; margin-left:2em} +div.maketitle {text-align:center;} +h2.titleHead{text-align:center;} +div.maketitle{ margin-bottom: 2em; } +div.author, div.date {text-align:center;} +div.thanks{text-align:left; margin-left:10%; font-size:85%; font-style:italic; } +.quotation {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; } +.abstract p {margin-left:5%; margin-right:5%;} +div.abstract {width:100%;} +.alltt P { margin-bottom : 0em; margin-top : 0em; } +.alltt { margin-bottom : 1em; margin-top : 1em; } +.figure img.graphics {margin-left:10%;} +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +div.longtable{text-align:center;} +.uline{ text-decoration:underline; } +.uuline{ text-decoration:underline; } +span.sout {text-decoration: line-through } +span.xout {text-decoration: line-through } +span.uwave {text-decoration:underline } +P.fancyvrb {white-space: nowrap; margin:0em;} +div#fancyvrb1{ border-top: solid 0.4pt; } +div#fancyvrb1{ border-left: solid 0.4pt; } +div#fancyvrb1{ border-bottom: solid 0.4pt; } +div#fancyvrb1{ border-right: solid 0.4pt; } +div#fancyvrb2{ border-top: solid 0.4pt; } +div#fancyvrb2{ border-left: solid 0.4pt; } +div#fancyvrb2{ border-bottom: solid 0.4pt; } +div#fancyvrb2{ border-right: solid 0.4pt; } +div#fancyvrb3{ border-top: solid 0.4pt; } +div#fancyvrb3{ border-left: solid 0.4pt; } +div#fancyvrb3{ border-bottom: solid 0.4pt; } +div#fancyvrb3{ border-right: solid 0.4pt; } +div#fancyvrb4{ border-top: solid 0.4pt; } +div#fancyvrb4{ border-left: solid 0.4pt; } +div#fancyvrb4{ border-bottom: solid 0.4pt; } +div#fancyvrb4{ border-right: solid 0.4pt; } +/* end css.sty */ + diff --git a/Master/texmf-dist/doc/texlive/texlive-cz/texlive-cz.html b/Master/texmf-dist/doc/texlive/texlive-cz/texlive-cz.html new file mode 100644 index 00000000000..8b72f2c6e22 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-cz/texlive-cz.html @@ -0,0 +1,6639 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" + "http://www.w3.org/TR/html4/loose.dtd"> +<html xml:lang="cs" > +<head> + <title>TeX Live 2012 +P[Pleaseinsertintopreamble][Pleaseinsertintopreamble]ru[Pleaseinsertintopreamble]ka TEX Live, CS +verze 1.44</title> +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> +<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> +<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> +<!-- charset=iso-8859-1,html,info,fn-in --> +<meta name="src" content="texlive-cz.tex"> +<meta name="date" content="2012-06-08 21:26:00"> +<link rel="stylesheet" type="text/css" href="texlive-cz.css"> +<link rel="stylesheet"type="text/css"href="texlive-cz.css\T1\guillemotright +<link rel="stylesheet"type="text/css"href="tex-live.css\T1\guillemotright +</head><body +> + <div class="maketitle"> + + + + + +<h2 class="titleHead"><span class="TEX">T<span +class="E">E</span>X</span> Live 2012<br /> +Příručka <span class="TEX">T<span +class="E">E</span>X</span> Live, CS verze 1.44</h2> + <div class="author" ><span +class="ec-lmr-12">Karl Berry, editor</span> +<br /> <a +href="http://tug.org/texlive/" class="url" ><span +class="ec-lmtt-12">http://tug.org/texlive/</span></a><br /></div><br /> +<div class="date" ><span +class="ec-lmr-12">8.</span><span +class="ec-lmr-12"> </span><span +class="ec-lmr-12">června 2012</span></div> + </div> +<!--l. 176--><p class="indent" > Překlad 2004–2012 Ján Buša, 2001 Janka Chlebíková, 2003–2012 Petr Sojka a 2003 Petra +Sojková je šířen pod GNU FDL licencí. +<!--l. 183--><p class="indent" > Permission is granted to copy, distribute and/or modify this document under the terms of the +GNU Free Documentation License, Version 1.2 or any later version published by the Free +Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover +Texts. + <h3 class="likesectionHead"><a + id="x1-1000"></a>Obsah</h3> + <div class="tableofcontents"> + <span class="sectionToc" >1 <a +href="#x1-20001" id="QQ2-1-2">Úvodem</a></span> +<br />  <span class="subsectionToc" >1.1 <a +href="#x1-30001.1" id="QQ2-1-3">TEX Live a kolekce TEXu</a></span> +<br />  <span class="subsectionToc" >1.2 <a +href="#x1-40001.2" id="QQ2-1-4">Podpora operačních systémů</a></span> +<br />  <span class="subsectionToc" >1.3 <a +href="#x1-50001.3" id="QQ2-1-5">Základní instalace <span class="TEX">T<span +class="E">E</span>X</span> Live</a></span> +<br />  <span class="subsectionToc" >1.4 <a +href="#x1-60001.4" id="QQ2-1-6">Úvahy o bezpečnosti</a></span> +<br />  <span class="subsectionToc" >1.5 <a +href="#x1-70001.5" id="QQ2-1-7">Nápověda</a></span> +<br /> <span class="sectionToc" >2 <a +href="#x1-80002" id="QQ2-1-8">Přehled <span class="TEX">T<span +class="E">E</span>X</span> Live</a></span> +<br />  <span class="subsectionToc" >2.1 <a +href="#x1-90002.1" id="QQ2-1-9">Kolekce <span class="TEX">T<span +class="E">E</span>X</span>u: TEX Live, proTEXt, MacTEX</a></span> +<br />  <span class="subsectionToc" >2.2 <a +href="#x1-100002.2" id="QQ2-1-10">Popis kořenových adresářů TEX Live</a></span> +<br />  <span class="subsectionToc" >2.3 <a +href="#x1-110002.3" id="QQ2-1-11">Přehled předdefinovaných stromů texmf</a></span> +<br />  <span class="subsectionToc" >2.4 <a +href="#x1-120002.4" id="QQ2-1-12">Rozšíření <span class="TEX">T<span +class="E">E</span>X</span>u</a></span> +<br />  <span class="subsectionToc" >2.5 <a +href="#x1-130002.5" id="QQ2-1-13">Další za zmínku stojící programy na <span class="TEX">T<span +class="E">E</span>X</span> Live</a></span> +<br />  <span class="subsectionToc" >2.6 <a +href="#x1-140002.6" id="QQ2-1-14">Fonty v <span class="TEX">T<span +class="E">E</span>X</span> Live</a></span> +<br /> <span class="sectionToc" >3 <a +href="#x1-150003" id="QQ2-1-15">Instalace</a></span> +<br />  <span class="subsectionToc" >3.1 <a +href="#x1-160003.1" id="QQ2-1-16">Spuštění instalačního programu</a></span> +<br />   <span class="subsubsectionToc" >3.1.1 <a +href="#x1-170003.1.1" id="QQ2-1-17">Unix</a></span> +<br />   <span class="subsubsectionToc" >3.1.2 <a +href="#x1-180003.1.2" id="QQ2-1-18">MacOSX</a></span> +<br />   <span class="subsubsectionToc" >3.1.3 <a +href="#x1-190003.1.3" id="QQ2-1-19">Windows</a></span> +<br />   <span class="subsubsectionToc" >3.1.4 <a +href="#x1-200003.1.4" id="QQ2-1-23">Cygwin</a></span> +<br />   <span class="subsubsectionToc" >3.1.5 <a +href="#x1-210003.1.5" id="QQ2-1-24">Textový instalační program</a></span> +<br />   <span class="subsubsectionToc" >3.1.6 <a +href="#x1-220003.1.6" id="QQ2-1-25">Grafický instalační program pro zkušené</a></span> +<br />   <span class="subsubsectionToc" >3.1.7 <a +href="#x1-230003.1.7" id="QQ2-1-26">Jednoduchý průvodce instalací</a></span> +<br />  <span class="subsectionToc" >3.2 <a +href="#x1-240003.2" id="QQ2-1-27">Spuštění instalačního programu</a></span> +<br />   <span class="subsubsectionToc" >3.2.1 <a +href="#x1-250003.2.1" id="QQ2-1-28">Nabídka binárních systémů (pouze Unix)</a></span> +<br />   <span class="subsubsectionToc" >3.2.2 <a +href="#x1-260003.2.2" id="QQ2-1-30">Volba obsahu instalace</a></span> +<br />   <span class="subsubsectionToc" >3.2.3 <a +href="#x1-270003.2.3" id="QQ2-1-33">Adresáře</a></span> +<br />   <span class="subsubsectionToc" >3.2.4 <a +href="#x1-280003.2.4" id="QQ2-1-34">Volby</a></span> +<br />  <span class="subsectionToc" >3.3 <a +href="#x1-290003.3" id="QQ2-1-36">Volby příkazového řádku pro install-tl</a></span> +<br />   <span class="subsubsectionToc" >3.3.1 <a +href="#x1-300003.3.1" id="QQ2-1-37">Volba <span +class="ec-lmtt-10x-x-109">-repository</span></a></span> +<br />  <span class="subsectionToc" >3.4 <a +href="#x1-310003.4" id="QQ2-1-38">Poinstalační činnosti</a></span> +<br />   <span class="subsubsectionToc" >3.4.1 <a +href="#x1-320003.4.1" id="QQ2-1-39">Proměnné prostředí pro Unix</a></span> + + +<br />   <span class="subsubsectionToc" >3.4.2 <a +href="#x1-330003.4.2" id="QQ2-1-40">Proměnné prostředí: globální konfigurace</a></span> +<br />   <span class="subsubsectionToc" >3.4.3 <a +href="#x1-340003.4.3" id="QQ2-1-41">Internetovské aktualizace po instalaci z DVD</a></span> +<br />   <span class="subsubsectionToc" >3.4.4 <a +href="#x1-350003.4.4" id="QQ2-1-42">Systémová konfigurace fontů pro XeTEX a LuaTEX</a></span> +<br />   <span class="subsubsectionToc" >3.4.5 <a +href="#x1-360003.4.5" id="QQ2-1-43">ConTEXt Mark IV</a></span> +<br />   <span class="subsubsectionToc" >3.4.6 <a +href="#x1-370003.4.6" id="QQ2-1-44">Začleňování lokálních a osobních maker</a></span> +<br />   <span class="subsubsectionToc" >3.4.7 <a +href="#x1-380003.4.7" id="QQ2-1-45">Začleňování fontů třetích stran</a></span> +<br />  <span class="subsectionToc" >3.5 <a +href="#x1-390003.5" id="QQ2-1-46">Testování instalace</a></span> +<br />  <span class="subsectionToc" >3.6 <a +href="#x1-400003.6" id="QQ2-1-47">Odkazy na doplňkový software s možností stažení z Internetu</a></span> +<br /> <span class="sectionToc" >4 <a +href="#x1-410004" id="QQ2-1-48">Specializované instalace</a></span> +<br />  <span class="subsectionToc" >4.1 <a +href="#x1-420004.1" id="QQ2-1-49">Instalace sdílené uživateli (nebo cross-machine)</a></span> +<br />  <span class="subsectionToc" >4.2 <a +href="#x1-430004.2" id="QQ2-1-50">Mobilní USB instalace</a></span> +<br />  <span class="subsectionToc" >4.3 <a +href="#x1-440004.3" id="QQ2-1-51">ISO (nebo DVD) instalace</a></span> +<br /> <span class="sectionToc" >5 <a +href="#x1-450005" id="QQ2-1-52"><span +class="ec-lmss-10x-x-109">tlmgr</span>: správa vaší instalace</a></span> +<br />  <span class="subsectionToc" >5.1 <a +href="#x1-460005.1" id="QQ2-1-56">GUI režim <span +class="ec-lmss-10x-x-109">tlmgr</span></a></span> +<br />  <span class="subsectionToc" >5.2 <a +href="#x1-470005.2" id="QQ2-1-57">Vzorové realizace <span +class="ec-lmss-10x-x-109">tlmgr </span>z příkazového řádku</a></span> +<br /> <span class="sectionToc" >6 <a +href="#x1-480006" id="QQ2-1-58">Poznámky o Windows</a></span> +<br />  <span class="subsectionToc" >6.1 <a +href="#x1-490006.1" id="QQ2-1-59">Vlastnosti typické pro Windows</a></span> +<br />  <span class="subsectionToc" >6.2 <a +href="#x1-500006.2" id="QQ2-1-60">Dodatečný obsažený software pod Windows</a></span> +<br />  <span class="subsectionToc" >6.3 <a +href="#x1-510006.3" id="QQ2-1-62">User Profile je Home</a></span> +<br />  <span class="subsectionToc" >6.4 <a +href="#x1-520006.4" id="QQ2-1-63">Registry Windows</a></span> +<br />  <span class="subsectionToc" >6.5 <a +href="#x1-530006.5" id="QQ2-1-64">Oprávnění Windows</a></span> +<br />  <span class="subsectionToc" >6.6 <a +href="#x1-540006.6" id="QQ2-1-65">Zvětšení maxima paměti pod Windows a Cygwin</a></span> +<br /> <span class="sectionToc" >7 <a +href="#x1-550007" id="QQ2-1-66">Používateľská príručka ku systému Web2C</a></span> +<br />  <span class="subsectionToc" >7.1 <a +href="#x1-560007.1" id="QQ2-1-67">Vyhľadávanie ciest knižnicou Kpathsea</a></span> +<br />   <span class="subsubsectionToc" >7.1.1 <a +href="#x1-570007.1.1" id="QQ2-1-68">Zdroje cesty</a></span> +<br />   <span class="subsubsectionToc" >7.1.2 <a +href="#x1-580007.1.2" id="QQ2-1-69">Konfiguračné súbory</a></span> +<br />   <span class="subsubsectionToc" >7.1.3 <a +href="#x1-590007.1.3" id="QQ2-1-70">Expanzia cesty</a></span> +<br />   <span class="subsubsectionToc" >7.1.4 <a +href="#x1-600007.1.4" id="QQ2-1-71">Predvolená expanzia</a></span> +<br />   <span class="subsubsectionToc" >7.1.5 <a +href="#x1-610007.1.5" id="QQ2-1-72">Expanzia zátvoriek</a></span> +<br />   <span class="subsubsectionToc" >7.1.6 <a +href="#x1-620007.1.6" id="QQ2-1-73">Expanzia podadresárov</a></span> +<br />   <span class="subsubsectionToc" >7.1.7 <a +href="#x1-630007.1.7" id="QQ2-1-74">Typy špeciálnych znakov a ich význam: zhrnutie</a></span> +<br />  <span class="subsectionToc" >7.2 <a +href="#x1-640007.2" id="QQ2-1-75">Databázy názvov súborov</a></span> +<br />   <span class="subsubsectionToc" >7.2.1 <a +href="#x1-650007.2.1" id="QQ2-1-76">Súborová databáza</a></span> +<br />   <span class="subsubsectionToc" >7.2.2 <a +href="#x1-660007.2.2" id="QQ2-1-77">kpsewhich: samostatné prehľadávanie cesty</a></span> +<br />   <span class="subsubsectionToc" >7.2.3 <a +href="#x1-670007.2.3" id="QQ2-1-78">Príklady použitia</a></span> +<br />   <span class="subsubsectionToc" >7.2.4 <a +href="#x1-680007.2.4" id="QQ2-1-79">Ladiace činnosti</a></span> +<br />  <span class="subsectionToc" >7.3 <a +href="#x1-690007.3" id="QQ2-1-83">Možnosti nastavenia za behu programu</a></span> +<br /> <span class="sectionToc" >8 <a +href="#x1-700008" id="QQ2-1-84">Poděkování</a></span> +<br /> <span class="sectionToc" >9 <a +href="#x1-710009" id="QQ2-1-85">Historie vydání</a></span> +<br />  <span class="subsectionToc" >9.1 <a +href="#x1-720009.1" id="QQ2-1-86">Minulost</a></span> +<br />   <span class="subsubsectionToc" >9.1.1 <a +href="#x1-730009.1.1" id="QQ2-1-87">2003</a></span> +<br />   <span class="subsubsectionToc" >9.1.2 <a +href="#x1-740009.1.2" id="QQ2-1-88">2004</a></span> +<br />   <span class="subsubsectionToc" >9.1.3 <a +href="#x1-750009.1.3" id="QQ2-1-89">2005</a></span> +<br />   <span class="subsubsectionToc" >9.1.4 <a +href="#x1-760009.1.4" id="QQ2-1-90">2006–2007</a></span> +<br />   <span class="subsubsectionToc" >9.1.5 <a +href="#x1-770009.1.5" id="QQ2-1-91">2008</a></span> +<br />   <span class="subsubsectionToc" >9.1.6 <a +href="#x1-780009.1.6" id="QQ2-1-92">2009</a></span> +<br />   <span class="subsubsectionToc" >9.1.7 <a +href="#x1-790009.1.7" id="QQ2-1-93">2010</a></span> +<br />   <span class="subsubsectionToc" >9.1.8 <a +href="#x1-800009.1.8" id="QQ2-1-94">2011</a></span> +<br />  <span class="subsectionToc" >9.2 <a +href="#x1-810009.2" id="QQ2-1-95">Současnost</a></span> +<br />  <span class="subsectionToc" >9.3 <a +href="#x1-820009.3" id="QQ2-1-96">Budoucnost</a></span> + </div> +<!--l. 194--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">1 </span> <a + id="x1-20001"></a>Úvodem</h3> + + +<!--l. 197--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">1.1 </span> <a + id="x1-30001.1"></a><span class="TEX">T<span +class="E">E</span>X</span> Live a kolekce <span class="TEX">T<span +class="E">E</span>X</span>u</h4> +<!--l. 199--><p class="noindent" >Tento dokument popisuje základní vlastnosti distribuce <span class="TEX">T<span +class="E">E</span>X</span> Live 2012, což je instalace <span class="TEX">T<span +class="E">E</span>X</span>u a +příbuzných programů pro GNU/Linux a další unixové systémy, Mac OS X a (32bitové) systémy +Windows. +<!--l. 203--><p class="indent" > <span class="TEX">T<span +class="E">E</span>X</span> Live můžete získat stažením z internetu, nebo na <span class="TEX"><span +class="ec-lmss-10x-x-109">T</span><span +class="E"><span +class="ec-lmss-10x-x-109">E</span></span><span +class="ec-lmss-10x-x-109">X</span></span><span +class="ec-lmss-10x-x-109">-kolekce </span>DVD. Některé skupiny +uživatelů <span class="TEX">T<span +class="E">E</span>X</span>u distribuují DVD svým členům. Obsah DVD je stručně popsán v oddíle <a +href="#x1-90002.1">2.1<!--tex4ht:ref: sec:tlcoll.dists --></a>. <span class="TEX">T<span +class="E">E</span>X</span> +Live a <span class="TEX"><span +class="ec-lmss-10x-x-109">T</span><span +class="E"><span +class="ec-lmss-10x-x-109">E</span></span><span +class="ec-lmss-10x-x-109">X</span></span><span +class="ec-lmss-10x-x-109">-kolekce </span>spolu jsou výsledkem společného úsilí skupin uživatelů <span class="TEX">T<span +class="E">E</span>X</span>u. Tento dokument +popisuje převážně samotný <span class="TEX">T<span +class="E">E</span>X</span> Live. +<!--l. 209--><p class="indent" > <span class="TEX">T<span +class="E">E</span>X</span> Live obsahuje <span +class="ec-lmtt-10x-x-109">.exe </span>soubory pro <span class="TEX">T<span +class="E">E</span>X</span>, LaTeX2e, Con<span class="TEX">T<span +class="E">E</span>X</span>t, Metafont, MetaPost, BibTeX a +mnoho dalších programů včetně obsáhlého seznamu maker, fontů a dokumentace spolu s podporou +sazby v mnoha různých světových jazycích. +<!--l. 217--><p class="indent" > Krátký seznam hlavních změn v této verzi <span class="TEX">T<span +class="E">E</span>X</span> Live najdete na konci tohoto dokumentu, +v oddílu <a +href="#x1-710009">9<!--tex4ht:ref: sec:history --></a> na straně <a +href="#x1-710009">74<!--tex4ht:ref: sec:history --></a>. +<!--l. 221--><p class="indent" > <a id="platforms"></a> + <h4 class="subsectionHead"><span class="titlemark">1.2 </span> <a + id="x1-40001.2"></a>Podpora operačních systémů</h4> +<!--l. 225--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Live obsahuje binárky pro mnohé unixové platformy, včetně GNU/Linux, Mac OS X a Cygwin. +Obsažené zdrojové texty mohou být zkompilovány pro platformy, pro které neposkytujeme +binárky. +<!--l. 230--><p class="indent" > Co se týče Windows: podporovány jsou Windows XP a pozdější verze. Windows 2000 ještě +bude pravděpodobně z největší části fungovat. Pro Windows nejsou k dispozici 64bitové <span +class="ec-lmtt-10x-x-109">.exe</span> +soubory, ale 32bitové binárky by měly běžet na 64bitových systémech. +<!--l. 236--><p class="indent" > Alternativní řešení pro Windows a Mac OS X najdete v oddíle <a +href="#x1-90002.1">2.1<!--tex4ht:ref: sec:tlcoll.dists --></a>. +<!--l. 239--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">1.3 </span> <a + id="x1-50001.3"></a>Základní instalace <span class="TEX">T<span +class="E">E</span>X</span> Live</h4> +<!--l. 242--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Live můžete nainstalovat buď z DVD nebo z internetu (<a +href="http://tug.org/texlive/acquire.html" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/texlive/acquire.html</span></a>). +Samotný síťový instalační program je malý a vše požadované stáhne z internetu. +<!--l. 246--><p class="indent" > Instalační program na DVD vám umožní instalaci na lokálním disku. <span class="TEX">T<span +class="E">E</span>X</span> Live nemůžete +spustit přímo z DVD (nebo z jeho <span +class="ec-lmtt-10x-x-109">.iso </span>obrazu), avšak můžete připravit spustitelnou instalaci, +například, na klíči USB (viz oddíl <a +href="#x1-430004.2">4.2<!--tex4ht:ref: sec:portable-tl --></a>). Instalace je popsána v následujících sekcích (na +stránce <a +href="#x1-150003">12<!--tex4ht:ref: sec:install --></a>), zde jen souhrn: + <ul class="itemize1"> + <li class="itemize">Instalační dávka se jmenuje <span +class="ec-lmtt-10x-x-109">install-tl </span>. Může pracovat v „průvodcovském režimu“ + po zadání volby <span +class="ec-lmtt-10x-x-109">-gui=wizard </span>(předvolba pro Windows), v textovém režimu zadaném + volbou <span +class="ec-lmtt-10x-x-109">-gui=text </span>(předvoleném pro všechny ostatní systémy), nebo v GUI režimu pro + pokročilé zadaném volbou <span +class="ec-lmtt-10x-x-109">-gui=perltk</span>. + </li> + <li class="itemize">Jednou součástí instalace je program ‘<span class="TEX">T<span +class="E">E</span>X</span> Live Manager’, nazvaný <span +class="ec-lmss-10x-x-109">tlmgr</span>. Podobně jako + instalační program může být použit v režimu GUI nebo v textovém režimu. Můžete + ho použít k nainstalování nebo odinstalování balíků a na různé konfigurační činnosti.</li></ul> +<!--l. 269--><p class="indent" > <a id="security"></a> + <h4 class="subsectionHead"><span class="titlemark">1.4 </span> <a + id="x1-60001.4"></a>Úvahy o bezpečnosti</h4> +<!--l. 273--><p class="noindent" >Podle našeho vědomí, hlavní programy <span class="TEX">T<span +class="E">E</span>X</span>u samotné jsou (a vždycky byly) extrémně robustní. +Nicméně, programy dodané v rámci <span class="TEX">T<span +class="E">E</span>X</span> Live nemusí dosahovat stejnou úroveň, navzdory +nejlepším úsilím všech. Jako vždy, při použití programů pro nedůvěryhodný vstup musíte být +opatrný; pro maximální bezpečnost použijte nový podadresář. +<!--l. 279--><p class="indent" > Tato potřeba opatrnosti je zvláště naléhavá pro Windows, protože Windows obvykle najdou +programy v aktuálním adresáři před jinými, bez ohledu na cestu vyhledávaní. To otevírá +široké varianty možných útoků. Zavřeli jsme mnoho děr, ale nepochybně některé zůstaly, +obzvláště pro programy pocházející odjinud. Proto doporučujeme zkontrolovat podezřelé +programy v aktuálním adresáři, zvláště spustitelné (binárky nebo skripty). Běžně by +neměly být přítomny a rozhodně nemůžou být normálně vytvořeny při zpracování + + +dokumentů. +<!--l. 288--><p class="indent" > Nakonec, <span class="TEX">T<span +class="E">E</span>X</span> (a jeho doprovodné programy) jsou schopny při běhu zapisovat do souborů. Tato +schopnost může rovněž být zneužita mnohými způsoby. Znova, zpracování neznámých dokumentů +v novém podadresáři je nejbezpečnější tip. +<!--l. 294--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">1.5 </span> <a + id="x1-70001.5"></a>Nápověda</h4> +<!--l. 297--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span>ovská komunita je aktivní, vstřícná a většina seriózních otázek je obvykle zodpovězena. +Podpora je neformální, je prováděna příležitostnými čtenáři a dobrovolníky, a proto je důležité, +abyste odpověď na svůj dotaz hledali nejdříve sami, než ho vznesete na fóru. Pokud toužíte po +garantované komerční podpoře, můžete na <span class="TEX">T<span +class="E">E</span>X</span> Live zapomenout a zakoupit komerční distribuci; +viz seznam prodejců na <a +href="http://tug.org/interest.html#vendors" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/interest.html#vendors</span></a>. +<!--l. 305--><p class="indent" > Níže je uveden seznam informačních zdrojů, přibližně v pořadí, ve kterém ho doporučujeme +k použití: + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10x-x-109">prvn</span><span +class="ec-lmbx-10x-x-109">í kroky</span> </dt><dd +class="description">Pokud jste <span class="TEX">T<span +class="E">E</span>X</span>ovský nováček, na stránce <a +href="http://tug.org/begin.html" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/begin.html</span></a> + najdete krátký úvod do systému. + </dd><dt class="description"> +<span class="TEX"><span +class="ec-lmbx-10x-x-109">T</span><span +class="E"><span +class="ec-lmbx-10x-x-109">E</span></span><span +class="ec-lmbx-10x-x-109">X</span></span> <span +class="ec-lmbx-10x-x-109">FAQ</span> </dt><dd +class="description"><span class="TEX">T<span +class="E">E</span>X</span> FAQ je obrovská studnice znalostí obsahující všechny druhy otázek, + od těch základních až po ty nejobskurnější. Dokument najdete na <span class="TEX">T<span +class="E">E</span>X</span> Live + v adresáři <a +href="../../../../texmf-dist/doc/generic/FAQ-en/html/index.html" >texmf-dist/doc/generic/FAQ-en/html/index.html</a> nebo na internetu na + <a +href="http://www.tex.ac.uk/faq" class="url" ><span +class="ec-lmtt-10x-x-109">http://www.tex.ac.uk/faq</span></a>. Prosíme, začněte své hledání odpovědi zde. + </dd><dt class="description"> +<span class="TEX"><span +class="ec-lmbx-10x-x-109">T</span><span +class="E"><span +class="ec-lmbx-10x-x-109">E</span></span><span +class="ec-lmbx-10x-x-109">X</span></span> <span +class="ec-lmbx-10x-x-109">Catalogue</span> </dt><dd +class="description">Pokud hledáte konkrétní balík, font, program + ap., <span class="TEX">T<span +class="E">E</span>X</span> Catalogue je místo, kde začít. Je to obsáhlá sbírka <span class="TEX">T<span +class="E">E</span>X</span>ových položek. Viz + <a +href="http://ftp.cstug.cz/pub/CTAN/help/Catalogue/" class="url" ><span +class="ec-lmtt-10x-x-109">http://ftp.cstug.cz/pub/CTAN/help/Catalogue/</span></a>. + </dd><dt class="description"> +<span class="TEX"><span +class="ec-lmbx-10x-x-109">T</span><span +class="E"><span +class="ec-lmbx-10x-x-109">E</span></span><span +class="ec-lmbx-10x-x-109">X</span></span><span +class="ec-lmbx-10x-x-109">ov</span><span +class="ec-lmbx-10x-x-109">é odkazy na Webu</span> </dt><dd +class="description">Na <a +href="http://tug.org/interest.html" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/interest.html</span></a> najdete mnoho + relevantních odkazů na různé příručky, knihy, manuály a články o všech aspektech + systému <span class="TEX">T<span +class="E">E</span>X</span>. + </dd><dt class="description"> +<span +class="ec-lmbx-10x-x-109">arch</span><span +class="ec-lmbx-10x-x-109">ívy diskusn</span><span +class="ec-lmbx-10x-x-109">ích skupin</span> </dt><dd +class="description"> + <!--l. 330--><p class="noindent" >Dvě základní fóra pro hledání řešení problémů jsou newsová skupina + <a +href="news:comp.text.tex" class="url" ><span +class="ec-lmtt-10x-x-109">news:comp.text.tex</span></a> a emailová diskusní skupina <a +href="mailto:texhax@tug.org" ><span +class="ec-lmtt-10x-x-109">texhax@tug.org</span></a>. V archívech + těchto zdrojů najdete tisíce předchozích dotazů a odpovědí čekajících na vaše + hledání. Nahlédněte na <a +href="http://groups.google.com/groups?group=comp.text.tex" class="url" ><span +class="ec-lmtt-10x-x-109">http://groups.google.com/groups?group=comp.text.tex</span></a>, + respektive na <a +href="http://tug.org/mail-archives/texhax" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/mail-archives/texhax</span></a>. Dotazem do obecného + vyhledávacího stroje jako <a +href="http://google.com/" class="url" ><span +class="ec-lmtt-10x-x-109">http://google.com/</span></a> také nic nepokazíte a pro specifika + češtiny a slovenštiny najdete další zdroje odkazované na <a +href="http://www.cstug.cz/" class="url" ><span +class="ec-lmtt-10x-x-109">http://www.cstug.cz/</span></a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10x-x-109">kladen</span><span +class="ec-lmbx-10x-x-109">í dotazů</span> </dt><dd +class="description">Pokud nemůžete najít odpověď na svou otázku, můžete ji položit + na <a +href="news:comp.text.tex" class="url" ><span +class="ec-lmtt-10x-x-109">news:comp.text.tex</span></a> přes Google nebo newsového klienta nebo emailem + na <a +href="mailto:texhax@tug.org" ><span +class="ec-lmtt-10x-x-109">texhax@tug.org</span></a>. Ale dříve, než tak učiníte, <span +class="ec-lmri-10x-x-109">pros</span><span +class="ec-lmri-10x-x-109">ím, </span>přečtěte si toto + doporučení, abyste maximalizovali vyhlídky na získání užitečné odpovědi: + <a +href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion" class="url" ><span +class="ec-lmtt-10x-x-109">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion</span></a>. Za zmínku stojí + také stránka <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>ovské komunity na <a +href="http://www.latex-community.org/" class="url" ><span +class="ec-lmtt-10x-x-109">http://www.latex-community.org/</span></a> a + její fórum <a +href="http://www.latex-community.org/forum/" class="url" ><span +class="ec-lmtt-10x-x-109">http://www.latex-community.org/forum/</span></a> a <span class="TEX">T<span +class="E">E</span>X</span> StackExchange na + <a +href="http://tex.stackexchange.com/" class="url" ><span +class="ec-lmtt-10x-x-109">http://tex.stackexchange.com/</span></a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10x-x-109">podpora </span><span class="TEX"><span +class="ec-lmbx-10x-x-109">T</span><span +class="E"><span +class="ec-lmbx-10x-x-109">E</span></span><span +class="ec-lmbx-10x-x-109">X</span></span> <span +class="ec-lmbx-10x-x-109">Live</span> </dt><dd +class="description">Pokud chcete poslat chybové hlášení, připomínku nebo poznámku + k distribuci <span class="TEX">T<span +class="E">E</span>X</span> Live, její instalaci nebo dokumentaci, diskusní skupina k tomu určená + je <a +href="mailto:tex-live@tug.org" ><span +class="ec-lmtt-10x-x-109">tex-live@tug.org</span></a>. Pokud však je vaše otázka specifická pro program na <span class="TEX">T<span +class="E">E</span>X</span> Live + umístěný, napište prosím přímo autorovi nebo do diskusní skupiny určené pro tento + program. Spuštění programu s volbou <span +class="ec-lmtt-10x-x-109">--help </span>nezřídka poskytuje adresu pro chybové + hlášení.</dd></dl> + + +<!--l. 366--><p class="noindent" >Druhou stranou mince je odpovídání na dotazy těch, kdo kladou otázky. <a +href="news:comp.text.tex" class="url" ><span +class="ec-lmtt-10x-x-109">news:comp.text.tex</span></a> i list +<span +class="ec-lmtt-10x-x-109">texhax </span>jsou otevřeny pro kohokoliv. Přihlaste se, naslouchejte a začněte odpovídat tam, kde +můžete. +<!--l. 373--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">2 </span> <a + id="x1-80002"></a>Přehled <span class="TEX">T<span +class="E">E</span>X</span> Live</h3> +<!--l. 376--><p class="noindent" >Tento oddíl popisuje obsah <span class="TEX">T<span +class="E">E</span>X</span> Live a <span class="TEX"><span +class="ec-lmss-10x-x-109">T</span><span +class="E"><span +class="ec-lmss-10x-x-109">E</span></span><span +class="ec-lmss-10x-x-109">X</span></span><span +class="ec-lmss-10x-x-109">-kolekce</span>, jejíž je částí. +<!--l. 385--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.1 </span> <a + id="x1-90002.1"></a>Kolekce <span class="TEX">T<span +class="E">E</span>X</span>u: <span class="TEX">T<span +class="E">E</span>X</span> Live, pro<span class="TEX">T<span +class="E">E</span>X</span>t, Mac<span class="TEX">T<span +class="E">E</span>X</span></h4> +<!--l. 388--><p class="noindent" >DVD <span class="TEX"><span +class="ec-lmss-10x-x-109">T</span><span +class="E"><span +class="ec-lmss-10x-x-109">E</span></span><span +class="ec-lmss-10x-x-109">X</span></span><span +class="ec-lmss-10x-x-109">-kolekce </span>zahrnuje následující: +<!--l. 390--><p class="indent" > + <dl class="description"><dt class="description"> +<span class="TEX"><span +class="ec-lmbx-10x-x-109">T</span><span +class="E"><span +class="ec-lmbx-10x-x-109">E</span></span><span +class="ec-lmbx-10x-x-109">X</span></span> <span +class="ec-lmbx-10x-x-109">Live</span> </dt><dd +class="description">Úplný systém <span class="TEX">T<span +class="E">E</span>X</span>, k nainstalování na disk. Jeho domovská stránka je + <a +href="http://tug.org/texlive/" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/texlive/</span></a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10x-x-109">Mac</span><span class="TEX"><span +class="ec-lmbx-10x-x-109">T</span><span +class="E"><span +class="ec-lmbx-10x-x-109">E</span></span><span +class="ec-lmbx-10x-x-109">X</span></span> </dt><dd +class="description">pro Mac OS X, přidává nativní Mac OS X instalační program a jiné aplikace Mac + k <span class="TEX">T<span +class="E">E</span>X</span> Live. Jeho domovská stránka je <a +href="http://tug.org/mactex/" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/mactex/</span></a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10x-x-109">pro</span><span class="TEX"><span +class="ec-lmbx-10x-x-109">T</span><span +class="E"><span +class="ec-lmbx-10x-x-109">E</span></span><span +class="ec-lmbx-10x-x-109">X</span></span><span +class="ec-lmbx-10x-x-109">t</span> </dt><dd +class="description">Rozšíření systému MiK<span class="TEX">T<span +class="E">E</span>X</span> pro Windows. pro<span class="TEX">T<span +class="E">E</span>X</span>t přidává k MiK<span class="TEX">T<span +class="E">E</span>X</span>u + nové doplňkové nástroje a zjednodušuje instalaci. Je plně nezávislý na <span class="TEX">T<span +class="E">E</span>X</span> + Live a má své vlastní příkazy. Domovská stránka projektu pro<span class="TEX">T<span +class="E">E</span>X</span>t je na + <a +href="http://tug.org/protext" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/protext</span></a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10x-x-109">CTAN</span> </dt><dd +class="description">Výpis obrazovky archívu CTAN (<a +href="http://www.ctan.org" class="url" ><span +class="ec-lmtt-10x-x-109">http://www.ctan.org</span></a>). + </dd><dt class="description"> +<span +class="ec-lmtk-10x-x-109">texmf-extra</span> </dt><dd +class="description">Adresář s rozmanitými doplňkovými balíky. + </dd></dl> +<!--l. 416--><p class="indent" > CTAN, <span +class="ec-lmss-10x-x-109">protext </span>a <span +class="ec-lmtt-10x-x-109">texmf-extra </span>nemusí mít stejné podmínky pro kopírování jako <span class="TEX">T<span +class="E">E</span>X</span> Live, +proto buďte pozorní při šíření nebo modifikaci. +<!--l. 421--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.2 </span> <a + id="x1-100002.2"></a>Popis kořenových adresářů <span class="TEX">T<span +class="E">E</span>X</span> Live</h4> +<!--l. 425--><p class="noindent" >Tady uvádíme stručný seznam a popis kořenových adresářů instalace <span class="TEX">T<span +class="E">E</span>X</span> Live. +<!--l. 430--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span +class="ec-lmtt-10x-x-109">bin</span> </dt><dd +class="list"> + <!--l. 431--><p class="noindent" >Binárky systému <span class="TEX">T<span +class="E">E</span>X</span>, s podadresáři dle platforem. + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">readme-*.dir</span> </dt><dd +class="list"> + <!--l. 435--><p class="noindent" >Stručný přehled a užitečné odkazy na <span class="TEX">T<span +class="E">E</span>X</span> Live, v různých jazycích, ve formátu HTML + a textovém. + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">source</span> </dt><dd +class="list"> + <!--l. 438--><p class="noindent" >Zdrojové kódy všech programů, včetně základní distribuce <span class="TEX">T<span +class="E">E</span>X</span>u založené na Web2C. + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">texmf</span> </dt><dd +class="list"> + <!--l. 446--><p class="noindent" >Viz <span +class="ec-lmtt-10x-x-109">TEXMFMAIN </span>níže. + + + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">texmf-dist</span> </dt><dd +class="list"> + <!--l. 448--><p class="noindent" >Viz <span +class="ec-lmtt-10x-x-109">TEXMFDIST </span>níže. + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">tlpkg</span> </dt><dd +class="list"> + <!--l. 452--><p class="noindent" >Skripty, programy a údaje pro správu instalace a přídavnou podporu pro Windows.</dd></dl> +<!--l. 460--><p class="indent" > V kořenovém adresáři distribuce jsou navíc instalační dávky a soubory <span +class="ec-lmtt-10x-x-109">README </span>(v různých +jazycích). +<!--l. 463--><p class="indent" > Co se týče dokumentace, užitečné mohou být obsáhlé odkazy v kořenovém souboru <a +href="../../../../doc.html" >doc.html</a>. +Dokumentace programů (manuály, man-stránky, info-soubory) jsou v <span +class="ec-lmtt-10x-x-109">texmf/doc</span>. Dokumentace +<span class="TEX">T<span +class="E">E</span>X</span>ových balíků a formátů je v <span +class="ec-lmtt-10x-x-109">texmf-dist/doc</span>. K vyhledání veškeré dokumentace na +libovolném místě můžete použít programy <span +class="ec-lmss-10x-x-109">texdoc</span>. +<!--l. 473--><p class="indent" > Samotná tato příručka <span class="TEX">T<span +class="E">E</span>X</span> Live je k dispozici v několika jazycích v adresáři <span +class="ec-lmtt-10x-x-109">texmf-doc</span>: + <ul class="itemize1"> + <li class="itemize">česko-slovenská: <a +href="../../../../texmf/doc/texlive/texlive-cz" >texmf/doc/texlive/texlive-cz</a> + </li> + <li class="itemize">německá: <a +href="../../../../texmf/doc/texlive/texlive-de" >texmf/doc/texlive/texlive-de</a> + </li> + <li class="itemize">anglická: <a +href="../../../../texmf/doc/texlive/texlive-en" >texmf/doc/texlive/texlive-en</a> + </li> + <li class="itemize">francouzská: <a +href="../../../../texmf/doc/texlive/texlive-fr" >texmf/doc/texlive/texlive-fr</a> + </li> + <li class="itemize">italská: <a +href="../../../../texmf/doc/texlive/texlive-it" >texmf/doc/texlive/texlive-it</a> + </li> + <li class="itemize">polská: <a +href="../../../../texmf/doc/texlive/texlive-pl" >texmf/doc/texlive/texlive-pl</a> + </li> + <li class="itemize">ruská: <a +href="../../../../texmf/doc/texlive/texlive-ru" >texmf/doc/texlive/texlive-ru</a> + </li> + <li class="itemize">srbská: <a +href="../../../../texmf/doc/texlive/texlive-sr" >texmf/doc/texlive/texlive-sr</a> + </li> + <li class="itemize">zjednodušená čínština: <a +href="../../../../texmf/doc/texlive/texlive-zh-cn" >texmf/doc/texlive/texlive-zh-cn</a></li></ul> +<!--l. 488--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.3 </span> <a + id="x1-110002.3"></a>Přehled předdefinovaných stromů texmf</h4> +<!--l. 491--><p class="noindent" >Tento oddíl uvádí seznam předdefinovaných proměnných určujících stromy texmf, používaných +systémem, a jejich zamýšlený účel a standardní uspořádání systému <span class="TEX">T<span +class="E">E</span>X</span> Live. Povel <span +class="ec-lmtt-10x-x-109">tlmgr</span><span +class="ec-lmtt-10x-x-109"> conf</span> +ukáže hodnoty těchto proměnných, tedy můžete jednoduše zjistit, jak tyto odpovídají jednotlivým +adresářům ve vaší instalaci. +<!--l. 499--><p class="indent" > Všechny stromy, včetně osobních, musí dodržovat strukturu adresářů <span class="TEX">T<span +class="E">E</span>X</span> Directory Structure +(TDS, <a +href="http://tug.org/tds" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/tds</span></a>), s jejími nesčetnými podadresáři, jinak soubory nebudou k nalezení. +Podrobněji je to popsané v oddíle <a +href="#x1-370003.4.6">3.4.6<!--tex4ht:ref: sec:local_personal_macros --></a> (na straně <a +href="#x1-370003.4.6">40<!--tex4ht:ref: sec:local_personal_macros --></a>). +<!--l. 505--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span +class="ec-lmtt-10x-x-109">TEXMFMAIN</span> </dt><dd +class="list"> + <!--l. 506--><p class="noindent" >Strom obsahující životně důležité části systému, jako konfigurační soubory, pomocné + skripty a dokumentaci programu. + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">TEXMFDIST</span> </dt><dd +class="list"> + <!--l. 510--><p class="noindent" >Strom obsahující hlavní sadu balíků maker, fontů, atd. z původní distribuce. + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">TEXMFLOCAL</span> </dt><dd +class="list"> + <!--l. 512--><p class="noindent" >Strom, který mohou použít administrátoři na instalaci doplňkových nebo upravených + maker, fontů, atd., pro celý systém. + + + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">TEXMFHOME</span> </dt><dd +class="list"> + <!--l. 514--><p class="noindent" >Strom, který mohou použít uživatelé na svoje osobní doplňková nebo upravená makra, + fonty, atd. Rozšíření této proměnné se dynamicky nastaví pro každého uživatele na + jeho vlastní osobní adresář. + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">TEXMFCONFIG</span> </dt><dd +class="list"> + <!--l. 518--><p class="noindent" >Strom (soukromý) používaný nástroji <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">texconfig</span></span></span>, <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">updmap</span></span></span> a <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">fmtutil</span></span></span> na uložení + modifikovaných konfiguračních údajů. + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">TEXMFSYSCONFIG</span> </dt><dd +class="list"> + <!--l. 521--><p class="noindent" >Strom (site-wide) používaný nástroji <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">texconfig-sys</span></span></span>, <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">updmap-sys</span></span></span> a <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">fmtutil-sys</span></span></span> na + uložení modifikovaných konfiguračních údajů. + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">TEXMFVAR</span> </dt><dd +class="list"> + <!--l. 522--><p class="noindent" >Strom (soukromý) používaný programy <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">texconfig</span></span></span>, <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">updmap</span></span></span> a <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">fmtutil</span></span></span> na (cache) + uložení runtime údajů jako jsou soubory formátů a generované map-soubory. + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">TEXMFSYSVAR</span> </dt><dd +class="list"> + <!--l. 527--><p class="noindent" >Strom (site-wide) používaný programy <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">texconfig-sys</span></span></span>, <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">updmap-sys</span></span></span>, <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">fmtutil-sys</span></span></span> a + také <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">tlmgr</span></span></span>, na (cache) uložení runtime údajů jako jsou soubory formátů a generované + map-soubory. + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">TEXMFCACHE</span> </dt><dd +class="list"> + <!--l. 531--><p class="noindent" >Strom(y) používaný Con<span class="TEX">T<span +class="E">E</span>X</span>textem MkIV na uložení (cache) runtime údajů.</dd></dl> +<!--l. 536--><p class="noindent" >Standardní struktura je: + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10x-x-109">system-wide root</span> </dt><dd +class="description">může obsáhnout vícenásobné vydání <span class="TEX">T<span +class="E">E</span>X</span> Live: + <dl class="list2"><dt class="list"> + <span +class="ec-lmtt-10x-x-109">2011</span> </dt><dd +class="list"> + <!--l. 541--><p class="noindent" >Předchozí vydání. + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">2012</span> </dt><dd +class="list"> + <!--l. 542--><p class="noindent" >Nynější vydání. + <dl class="list3"><dt class="list"> + <span +class="ec-lmtt-10x-x-109">bin</span> </dt><dd +class="list"> + <!--l. 544--><p class="noindent" >  + <dl class="list4"><dt class="list"> + <span +class="ec-lmtt-10x-x-109">i386-linux</span> </dt><dd +class="list"> + <!--l. 546--><p class="noindent" >binárky systému GNU/Linux + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">...</span> </dt><dd +class="list"> + <!--l. 547--><p class="noindent" > + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">universal-darwin</span> </dt><dd +class="list"> + <!--l. 548--><p class="noindent" >binárky systému Mac OS X + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">win32</span> </dt><dd +class="list"> + <!--l. 549--><p class="noindent" >binárky systému Windows</dd></dl> + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">texmf</span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span> </dt><dd +class="list"> + <!--l. 551--><p class="noindent" >Toto je <span +class="ec-lmtt-10x-x-109">TEXMFMAIN</span>. + + + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">texmf-dist</span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span> </dt><dd +class="list"> + <!--l. 552--><p class="noindent" ><span +class="ec-lmtt-10x-x-109">TEXMFDIST</span> + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">texmf-var </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span> </dt><dd +class="list"> + <!--l. 554--><p class="noindent" ><span +class="ec-lmtt-10x-x-109">TEXMFSYSVAR</span> + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">texmf-config</span> </dt><dd +class="list"> + <!--l. 555--><p class="noindent" ><span +class="ec-lmtt-10x-x-109">TEXMFSYSCONFIG</span></dd></dl> + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">texmf-local</span> </dt><dd +class="list"> + <!--l. 557--><p class="noindent" ><span +class="ec-lmtt-10x-x-109">TEXMFLOCAL</span>, zamýšlený být zachován od vydání k vydání.</dd></dl> + </dd><dt class="description"> +<span +class="ec-lmbx-10x-x-109">domovsk</span><span +class="ec-lmbx-10x-x-109">ý adres</span><span +class="ec-lmbx-10x-x-109">á</span><span +class="ec-lmbx-10x-x-109">ř u</span><span +class="ec-lmbx-10x-x-109">živatele</span> </dt><dd +class="description">(<span +class="ec-lmtt-10x-x-109">$HOME </span>nebo <span +class="ec-lmtt-10x-x-109">%USERPROFILE%</span>) + <dl class="list2"><dt class="list"> + <span +class="ec-lmtt-10x-x-109">.texlive2011</span> </dt><dd +class="list"> + <!--l. 562--><p class="noindent" >Soukromě generované a konfigurační údaje předchozího vydání. + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">.texlive2012</span> </dt><dd +class="list"> + <!--l. 563--><p class="noindent" >Soukromě generované a konfigurační údaje aktuálního vydání. + <dl class="list3"><dt class="list"> + <span +class="ec-lmtt-10x-x-109">texmf-var</span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span> </dt><dd +class="list"> + <!--l. 565--><p class="noindent" ><span +class="ec-lmtt-10x-x-109">TEXMFVAR</span>, <span +class="ec-lmtt-10x-x-109">TEXMFCACHE</span> + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">texmf-config</span> </dt><dd +class="list"> + <!--l. 566--><p class="noindent" ><span +class="ec-lmtt-10x-x-109">TEXMFCONFIG</span></dd></dl> + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">texmf</span> </dt><dd +class="list"> + <!--l. 568--><p class="noindent" ><span +class="ec-lmtt-10x-x-109">TEXMFHOME </span>Osobní makra atd.</dd></dl> + </dd></dl> +<!--l. 573--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.4 </span> <a + id="x1-120002.4"></a>Rozšíření <span class="TEX">T<span +class="E">E</span>X</span>u</h4> +<!--l. 576--><p class="noindent" >Samotný Knuthův původní <span class="TEX">T<span +class="E">E</span>X</span> je zmrazený, kromě ojedinělých oprav chyb. Stále je v <span class="TEX">T<span +class="E">E</span>X</span> +Live přítomen jako program <span +class="ec-lmss-10x-x-109">tex </span>a tak to zůstane v dohledné budoucnosti. <span class="TEX">T<span +class="E">E</span>X</span> Live obsahuje +několik rozšířených verzí <span class="TEX">T<span +class="E">E</span>X</span>u: +<!--l. 580--><p class="indent" > + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10x-x-109">e-</span><span class="TEX"><span +class="ec-lmbx-10x-x-109">T</span><span +class="E"><span +class="ec-lmbx-10x-x-109">E</span></span><span +class="ec-lmbx-10x-x-109">X</span></span> </dt><dd +class="description">přidává množinu nových příkazů (nazývaných <span class="TEX">T<span +class="E">E</span>X</span>ové primitivy). Nové příkazy + se například týkají makroexpanze, načítání znaků, tříd značek (marks), rozšířených + ladicích možností a rozšíření <span class="TEX">T<span +class="E">E</span>X</span>--XE T pro + obousměrnou sazbu. Implicitně je e-<span class="TEX">T<span +class="E">E</span>X</span> 100% kompatibilní se standardním <span class="TEX">T<span +class="E">E</span>X</span>em. + Viz <a +href="../../../../texmf-dist/doc/etex/base/etex_man.pdf" >texmf-dist/doc/etex/base/etex_man.pdf</a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10x-x-109">pdf</span><span class="TEX"><span +class="ec-lmbx-10x-x-109">T</span><span +class="E"><span +class="ec-lmbx-10x-x-109">E</span></span><span +class="ec-lmbx-10x-x-109">X</span></span> </dt><dd +class="description">vybudován na rozšířeních e-<span class="TEX">T<span +class="E">E</span>X</span>u přidává podporu zápisu ve formátu PDF + stejně jako v DVI a četná rozšíření netýkající se výstupu. Toto je program + používaný pro většinu formátů, například, <span +class="ec-lmss-10x-x-109">etex</span>, <span +class="ec-lmss-10x-x-109">latex</span>, <span +class="ec-lmss-10x-x-109">pdflatex</span>. Jeho stránka je + <a +href="http://www.pdftex.org/" class="url" ><span +class="ec-lmtt-10x-x-109">http://www.pdftex.org/</span></a>. Viz návod <a +href="../../../../texmf-dist/doc/pdftex/manual/pdftex-a.pdf" >texmf-dist/doc/pdftex/manual/pdftex-a.pdf</a> a + <a +href="../../../../texmf/doc/pdftex/manual/samplepdf/samplepdf.tex" >texmf/doc/pdftex/manual/samplepdf/samplepdf.tex</a> pro vzorové použití některých + jeho vlastností. + </dd><dt class="description"> +<span +class="ec-lmbx-10x-x-109">Lua</span><span class="TEX"><span +class="ec-lmbx-10x-x-109">T</span><span +class="E"><span +class="ec-lmbx-10x-x-109">E</span></span><span +class="ec-lmbx-10x-x-109">X</span></span> </dt><dd +class="description">je označován za nástupce pdf<span class="TEX">T<span +class="E">E</span>X</span>/u, se kterým je z větší části (ale ne úplně) + zpětně kompatibilní. Měl by se také stát funkční podmnožinou systému Aleph, + + + viz dále, ačkoli technická kompatibilita není zamýšlena. Zabudovaný interpret Lua + (<a +href="http://www.lua.org/" class="url" ><span +class="ec-lmtt-10x-x-109">http://www.lua.org/</span></a>) umožňuje elegantní řešení mnoha ožehavých <span class="TEX">T<span +class="E">E</span>X</span>ovských + problémů. Volaný povelem <span +class="ec-lmtt-10x-x-109">texlua</span>, funguje jako samostatný interpret Lua, a jako takový + je již použit v rámci <span class="TEX">T<span +class="E">E</span>X</span> Live. Jeho stránka je <a +href="http://www.luatex.org/" class="url" ><span +class="ec-lmtt-10x-x-109">http://www.luatex.org/</span></a> a příručka + je <a +href="../../../../texmf-dist/doc/luatex/luatexref-t.pdf" >texmf-dist/doc/luatex/luatexref-t.pdf</a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10x-x-109">Xe</span><span class="TEX"><span +class="ec-lmbx-10x-x-109">T</span><span +class="E"><span +class="ec-lmbx-10x-x-109">E</span></span><span +class="ec-lmbx-10x-x-109">X</span></span> </dt><dd +class="description">přidává podporu vstupního kódování Unicode a OpenType- a systémových fontů, + implementovaných použitím zejména knihoven třetích stran. Viz + <a +href="http://tug.org/xetex" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/xetex</span></a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10x-x-109">Omega</span><span +class="ec-lmbx-10x-x-109"> (Omega)</span> </dt><dd +class="description">je založena na Unicode. Umožňuje sázet v téměř všech světových + jazycích zároveň. Dociluje toho tzv. překladovými procesy (Omega Translation + Processes, OTP) pro realizaci složitých transformací na jakémkoliv vstupu. Omega už + není součástí <span class="TEX">T<span +class="E">E</span>X</span> Live jako samostatný program; poskytnutý je jenom Aleph: + </dd><dt class="description"> +<span +class="ec-lmbx-10x-x-109">Aleph</span> </dt><dd +class="description">kombinuje rozšíření Omega a e-<span class="TEX">T<span +class="E">E</span>X</span>. Viz <a +href="../../../../texmf-dist/doc/aleph/base" >texmf-dist/doc/aleph/base</a>.</dd></dl> +<!--l. 633--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.5 </span> <a + id="x1-130002.5"></a>Další za zmínku stojící programy na <span class="TEX">T<span +class="E">E</span>X</span> Live</h4> +<!--l. 635--><p class="noindent" >Na <span class="TEX">T<span +class="E">E</span>X</span> Live najdete několik často používaných programů: +<!--l. 637--><p class="indent" > + <dl class="list1"><dt class="list"> + <span +class="ec-lmss-10x-x-109">bibtex, bibtex8</span> </dt><dd +class="list"> + <!--l. 639--><p class="noindent" >podpora práce se seznamem literatury. + </dd><dt class="list"> + <span +class="ec-lmss-10x-x-109">makeindex, xindy</span> </dt><dd +class="list"> + <!--l. 641--><p class="noindent" >vytváření rejstříku. Pro češtinu a slovenštinu však potřebujete verzi programu + s názvem <span +class="ec-lmtt-10x-x-109">csindex </span>(není zatím součástí distribuce, je potřeba instalovat zvlášť). + </dd><dt class="list"> + <span +class="ec-lmss-10x-x-109">dvips</span> </dt><dd +class="list"> + <!--l. 645--><p class="noindent" >pro konverzi DVI do PostScript. + </dd><dt class="list"> + <span +class="ec-lmss-10x-x-109">xdvi</span> </dt><dd +class="list"> + <!--l. 647--><p class="noindent" >prohlížeč DVI pro systém X Window. + </dd><dt class="list"> + <span +class="ec-lmss-10x-x-109">dvilj</span> </dt><dd +class="list"> + <!--l. 649--><p class="noindent" >DVI ovladač tiskáren HP LaserJet. + </dd><dt class="list"> + <span +class="ec-lmss-10x-x-109">dviconcat, dviselect</span> </dt><dd +class="list"> + <!--l. 653--><p class="noindent" >pro kopii a vkládání stránek do/z DVI souborů. + </dd><dt class="list"> + <span +class="ec-lmss-10x-x-109">dvipdfmx</span> </dt><dd +class="list"> + <!--l. 656--><p class="noindent" >konvertor DVI do PDF, alternativní přístup vedle pdf<span class="TEX">T<span +class="E">E</span>X</span>u zmíněného výše. + </dd><dt class="list"> + <span +class="ec-lmss-10x-x-109">psselect, psnup, </span><span +class="ec-lmss-10x-x-109">…</span> </dt><dd +class="list"> + <!--l. 660--><p class="noindent" >programy pro práci s PostScriptem. + </dd><dt class="list"> + <span +class="ec-lmss-10x-x-109">pdfjam, pdfjoin, </span><span +class="ec-lmss-10x-x-109">…</span> </dt><dd +class="list"> + <!--l. 662--><p class="noindent" >pomůcky pro PDF. + + + </dd><dt class="list"> + <span +class="ec-lmss-10x-x-109">texexec, texmfstart</span> </dt><dd +class="list"> + <!--l. 666--><p class="noindent" >wrapper pro Con<span class="TEX">T<span +class="E">E</span>X</span>t a práci s PDF. + </dd><dt class="list"> + <span +class="ec-lmss-10x-x-109">tex4ht</span> </dt><dd +class="list"> + <!--l. 668--><p class="noindent" >konvertor <span class="TEX">T<span +class="E">E</span>X</span>u do HTML. + </dd></dl> +<!--l. 673--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.6 </span> <a + id="x1-140002.6"></a>Fonty v <span class="TEX">T<span +class="E">E</span>X</span> Live</h4> +<!--l. 676--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Live přináší množství vysoce kvalitních vektorových fontů. Viz <a +href="http://tug.org/fonts" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/fonts</span></a> a +<a +href="../../../../texmf-dist/doc/fonts/free-math-font-survey" >texmf-dist/doc/fonts/free-math-font-survey</a>. +<!--l. 681--><p class="indent" > <a id="installation"></a> + <h3 class="sectionHead"><span class="titlemark">3 </span> <a + id="x1-150003"></a>Instalace</h3> +<!--l. 685--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">3.1 </span> <a + id="x1-160003.1"></a>Spuštění instalačního programu</h4> +<!--l. 688--><p class="noindent" >Pro začátek si obstarejte <span class="TEX">T<span +class="E">E</span>X</span> Collection DVD nebo si stáhněte síťový instalační program <span class="TEX">T<span +class="E">E</span>X</span> +Live, a najděte instalační skript: <span +class="ec-lmtt-10x-x-109">install-tl </span>pro Unix, <span +class="ec-lmtt-10x-x-109">install-tl.bat </span>pro Windows. Viz +<a +href="http://tug.org/texlive/acquire.html" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/texlive/acquire.html</span></a> pro více informací a jiné způsoby získání +software. +<!--l. 696--><p class="indent" > + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10x-x-109">S</span><span +class="ec-lmbx-10x-x-109">í</span><span +class="ec-lmbx-10x-x-109">ťov</span><span +class="ec-lmbx-10x-x-109">ý instal</span><span +class="ec-lmbx-10x-x-109">átor:</span> </dt><dd +class="description">stáhněte z CTANu, z adresáře <span +class="ec-lmtt-10x-x-109">systems/texlive/tlnet</span>; + url <a +href="http://mirror.ctan.org/systems/texlive/tlnet" class="url" ><span +class="ec-lmtt-10x-x-109">http://mirror.ctan.org/systems/texlive/tlnet</span></a> vás automaticky přesměruje na + blízký, aktuální mirror. Můžete získat <span +class="ec-lmtt-10x-x-109">install-tl.zip</span>, který může být použit pod + Unixem a Windows nebo jenom pro Unix podstatně menší <span +class="ec-lmtt-10x-x-109">install-unx.tar.gz</span>. Po + rozbalení se <span +class="ec-lmtt-10x-x-109">install-tl </span>a <span +class="ec-lmtt-10x-x-109">install-tl.bat </span>objeví v podadresáři <span +class="ec-lmtt-10x-x-109">install-tl</span>. + </dd><dt class="description"> +<span +class="ec-lmbx-10x-x-109">DVD </span><span class="TEX"><span +class="ec-lmbx-10x-x-109">T</span><span +class="E"><span +class="ec-lmbx-10x-x-109">E</span></span><span +class="ec-lmbx-10x-x-109">X</span></span> <span +class="ec-lmbx-10x-x-109">kolekce:</span> </dt><dd +class="description">vejděte do + podadresáře DVD <span +class="ec-lmtt-10x-x-109">texlive</span>. Pod Windows se instalátor normálně spustí automaticky + po vložení DVD. DVD můžete získat, když se stanete členem skupiny uživatelů <span class="TEX">T<span +class="E">E</span>X</span>u + (vřele doporučujemei <span +class="lmsy-10x-x-109"><span +class="htf-calligraphy">C</span></span><span +class="lmsy-10x-x-109"><span +class="htf-calligraphy">S</span></span> TUG, <a +href="http://tug.org/usergroups.html" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/usergroups.html</span></a>), nebo si ho zvlášť + zakoupíte (<a +href="http://tug.org/store" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/store</span></a>), anebo si vypálíte svoje vlastní z ISO obrazu. Ve + většině systémů můžete ISO namontovat přímo. Jestliže máte po instalaci z DVD nebo + ISO zájem o pokračující aktualizace z Internetu, nahlédněte, prosím, do oddílu <a +href="#x1-340003.4.3">3.4.3<!--tex4ht:ref: sec:dvd-install-net-updates --></a>.</dd></dl> +<!--l. 720--><p class="indent" > Nezávisle na zdroji se spouští tentýž instalátor. Nejvíce viditelný rozdíl mezi dvěma možnostmi +je ten, že po skončení instalace z Internetu získáte balíky, které jsou v současné době k dispozici. +To je v protikladu k DVD a ISO obrazům, které se mezi významnějšími vydáními +neaktualizují. +<!--l. 726--><p class="noindent" >Následující oddíly vysvětlují spuštění instalátoru podrobněji. +<!--l. 729--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.1 </span> <a + id="x1-170003.1.1"></a>Unix</h5> +<!--l. 731--><p class="noindent" >Dále <span +class="ec-lmtt-10x-x-109">> </span>označuje výzvu (prompt shellu); vstup uživatele je <span +class="ec-lmtk-10x-x-109">zv</span><span +class="ec-lmtk-10x-x-109">ýrazn</span><span +class="ec-lmtk-10x-x-109">ěn</span>. Skript <span +class="ec-lmtt-10x-x-109">install-tl </span>je +Perlovský skript. Nejjednodušší způsob jeho spuštění v unixovém systému je následující: +<div class="alltt"> + + +<!--l. 736--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">cd</span><span +class="ec-lmtk-10x-x-109"> /path/to/installer</span> +<br /><span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">perl</span><span +class="ec-lmtk-10x-x-109"> install-tl</span> +</div> +</div> (Nebo můžete vyvolat <span +class="ec-lmtk-10x-x-109">perl /path/to/installer/install-tl</span>, nebo <span +class="ec-lmtk-10x-x-109">./install-tl </span>když je +spustitelný, atd.; nechceme opakovat všechny tyto variace.) Možná zvětšíte okno terminálu tak, aby +ukazovalo celou obrazovku textového instalátora (obr. <a +href="#x1-19067r1">1<!--tex4ht:ref: fig:textmain --></a>). +<!--l. 750--><p class="indent" > K instalaci v pokročilém režimu GUI (obr. <a +href="#x1-19068r2">2<!--tex4ht:ref: fig:guimain --></a>); budete potřebovat modul <span +class="ec-lmtt-10x-x-109">Perl/TK </span>zkompilovaný +s podporou XFT, která je obvyklá v případě systému GNU/Linux, ale ne nevyhnutelně v jiných +systémech. Pak můžete spustit: <div class="alltt"> +<!--l. 755--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">perl</span><span +class="ec-lmtk-10x-x-109"> install-tl</span><span +class="ec-lmtk-10x-x-109"> -gui</span> +</div> +</div> +<!--l. 759--><p class="indent" > Úplný seznam různých voleb získáte povelem: <div class="alltt"> +<!--l. 760--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">perl</span><span +class="ec-lmtk-10x-x-109"> install-tl</span><span +class="ec-lmtk-10x-x-109"> -help</span> +</div> +</div> +<!--l. 764--><p class="indent" > <span +class="ec-lmbx-10x-x-109">Varov</span><span +class="ec-lmbx-10x-x-109">án</span><span +class="ec-lmbx-10x-x-109">í o opr</span><span +class="ec-lmbx-10x-x-109">ávn</span><span +class="ec-lmbx-10x-x-109">ěn</span><span +class="ec-lmbx-10x-x-109">ích Unixu: </span>Vaše nastavení <span +class="ec-lmtt-10x-x-109">umask </span>v čase instalace bude respektováno +instalačním programem <span class="TEX">T<span +class="E">E</span>X</span> Live. Proto, když chcete, aby byla vaše instalace použitelná i +jinými uživateli než vámi, ujistěte se, že jsou vaše nastavení dostatečně tolerantní, +například, <span +class="ec-lmtt-10x-x-109">umask 002</span>. Další informace o nastavení <span +class="ec-lmtt-10x-x-109">umask</span>, hledejte v dokumentaci k vašemu +systému. +<!--l. 770--><p class="indent" > <span +class="ec-lmbx-10x-x-109">Zvl</span><span +class="ec-lmbx-10x-x-109">á</span><span +class="ec-lmbx-10x-x-109">štn</span><span +class="ec-lmbx-10x-x-109">í vysv</span><span +class="ec-lmbx-10x-x-109">ětlivky pro Cygwin: </span>Na rozdíl od jiných unixových systémů, Cygwin +implicitně neobsahuje všechny nezbytné programy, které instalátor <span class="TEX">T<span +class="E">E</span>X</span> Live potřebuje. Pro +podrobnosti viz sekci <a +href="#x1-200003.1.4">3.1.4<!--tex4ht:ref: sec:cygwin --></a>. +<!--l. 775--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.2 </span> <a + id="x1-180003.1.2"></a>MacOSX</h5> +<!--l. 777--><p class="noindent" >Jak již bylo zmíněno v sekci <a +href="#x1-90002.1">2.1<!--tex4ht:ref: sec:tlcoll.dists --></a>, pro Mac OS X je připravena samostatná distribuce, nazvaná +Mac<span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://tug.org/mactex" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/mactex</span></a>). Doporučujeme použít původní instalační program +Mac<span class="TEX">T<span +class="E">E</span>X</span> u namísto instalátoru <span class="TEX">T<span +class="E">E</span>X</span> Live pod Mac OS X, protože původní (nativní) +instalátor provede několik nastavení specifických pro Mac, zejména umožňuje snadné +přepínání mezi různými distribucemi <span class="TEX">T<span +class="E">E</span>X</span>u pro Mac OS X (Mac<span class="TEX">T<span +class="E">E</span>X</span>, Fink, MacPorts, +…). +<!--l. 788--><p class="indent" > Mac<span class="TEX">T<span +class="E">E</span>X</span> je silně založen na <span class="TEX">T<span +class="E">E</span>X</span> Live, a hlavní <span class="TEX">T<span +class="E">E</span>X</span>ovská stromová struktura je přesně +stejná. Přidává několik dalších adresářů s dokumentací a aplikacemi specifickými pro +Mac. +<!--l. 792--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.3 </span> <a + id="x1-190003.1.3"></a>Windows</h5> +<!--l. 794--><p class="noindent" >Jestliže používáte síťový instalátor, nebo instalační program DVD se nespustí automaticky, +klikněte dvakrát na soubor <span +class="ec-lmtt-10x-x-109">install-tl.bat</span>. Pro více voleb pro úpravy, např. výběr určité kolekce +balíků, spusťte namísto něho <span +class="ec-lmtt-10x-x-109">install-tl-advanced.bat</span>. +<!--l. 801--><p class="indent" > Můžete také spustit instalační program z příkazového řádku. Dále <span +class="ec-lmtt-10x-x-109">> </span>označuje prompt shellu; +vstup uživatele je <span +class="ec-lmtk-10x-x-109">polotu</span><span +class="ec-lmtk-10x-x-109">čn</span><span +class="ec-lmtk-10x-x-109">ý</span>. Pokud jste v adresáři instalačního programu, jenom spusťte: +<div class="alltt"> +<!--l. 805--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">install-tl</span> + + +</div> +</div> +<!--l. 809--><p class="indent" > Můžete to také vyvolat zadáním absolutní cesty, jako například: <div class="alltt"> +<!--l. 810--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">D:</span><span +class="ec-lmtt-10x-x-109">\</span><span +class="ec-lmtk-10x-x-109">texlive</span><span +class="ec-lmtt-10x-x-109">\</span><span +class="ec-lmtk-10x-x-109">install-tl</span> +</div> +</div> pro <span class="TEX"><span +class="ec-lmss-10x-x-109">T</span><span +class="E"><span +class="ec-lmss-10x-x-109">E</span></span><span +class="ec-lmss-10x-x-109">X</span></span><span +class="ec-lmss-10x-x-109">-kolekce</span> DVD, za předpokladu, že <span +class="ec-lmtt-10x-x-109">D: </span>je optický disk. Obr. <a +href="#x1-19069r3">3<!--tex4ht:ref: fig:wizard-w32 --></a> zobrazuje průvodcovský +instalátor, který je pro Windows implicitní. +<!--l. 817--><p class="indent" > Pro instalaci v textovém režimu použijte: <div class="alltt"> +<!--l. 818--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">install-tl</span><span +class="ec-lmtk-10x-x-109"> -no-gui</span> +</div> +</div> +<!--l. 822--><p class="indent" > Pro úplný seznam různých voleb zadejte: <div class="alltt"> +<!--l. 823--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">install-tl</span><span +class="ec-lmtk-10x-x-109"> -help</span> +</div> +</div> +<!--l. 827--><p class="indent" > <hr class="figure"><div class="figure" +> + + +<a + id="x1-19067r1"></a> + + +<div class="fancyvrb" id="fancyvrb1"><a + id="x1-19002r1"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> Installing</span><span +class="ec-lmtt-9"> TeX</span><span +class="ec-lmtt-9"> Live</span><span +class="ec-lmtt-9"> 2012</span><span +class="ec-lmtt-9"> from:</span><span +class="ec-lmtt-9"> ...</span><br class="fancyvrb" /><a + id="x1-19004r2"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> Platform:</span><span +class="ec-lmtt-9"> i386-linux</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> ’Intel</span><span +class="ec-lmtt-9"> x86</span><span +class="ec-lmtt-9"> with</span><span +class="ec-lmtt-9"> GNU/Linux’</span><br class="fancyvrb" /><a + id="x1-19006r3"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> Distribution:</span><span +class="ec-lmtt-9"> inst</span><span +class="ec-lmtt-9"> (compressed)</span> +<br class="fancyvrb" /><a + id="x1-19008r4"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ...</span><br class="fancyvrb" /><a + id="x1-19010r5"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> Detected</span><span +class="ec-lmtt-9"> platform:</span><span +class="ec-lmtt-9"> Intel</span><span +class="ec-lmtt-9"> x86</span><span +class="ec-lmtt-9"> with</span><span +class="ec-lmtt-9"> GNU/Linux</span><br class="fancyvrb" /><a + id="x1-19012r6"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><br class="fancyvrb" /><a + id="x1-19014r7"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> <B></span><span +class="ec-lmtt-9"> platforms:</span><span +class="ec-lmtt-9"> 1</span><span +class="ec-lmtt-9"> out</span><span +class="ec-lmtt-9"> of</span><span +class="ec-lmtt-9"> 19</span><br class="fancyvrb" /><a + id="x1-19016r8"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><br class="fancyvrb" /><a + id="x1-19018r9"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> <S></span><span +class="ec-lmtt-9"> Installation</span><span +class="ec-lmtt-9"> scheme</span><span +class="ec-lmtt-9"> (scheme-full)</span> +<br class="fancyvrb" /><a + id="x1-19020r10"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> 84</span><span +class="ec-lmtt-9"> collections</span><span +class="ec-lmtt-9"> out</span><span +class="ec-lmtt-9"> of</span><span +class="ec-lmtt-9"> 85,</span><span +class="ec-lmtt-9"> disk</span><span +class="ec-lmtt-9"> space</span><span +class="ec-lmtt-9"> required:</span><span +class="ec-lmtt-9"> 2600</span><span +class="ec-lmtt-9"> MB</span><br class="fancyvrb" /><a + id="x1-19022r11"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><br class="fancyvrb" /><a + id="x1-19024r12"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> Customizing</span><span +class="ec-lmtt-9"> installation</span><span +class="ec-lmtt-9"> scheme:</span> +<br class="fancyvrb" /><a + id="x1-19026r13"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> <C></span><span +class="ec-lmtt-9"> standard</span><span +class="ec-lmtt-9"> collections</span><br class="fancyvrb" /><a + id="x1-19028r14"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> <L></span><span +class="ec-lmtt-9"> language</span><span +class="ec-lmtt-9"> collections</span><br class="fancyvrb" /><a + id="x1-19030r15"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><br class="fancyvrb" /><a + id="x1-19032r16"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> <D></span><span +class="ec-lmtt-9"> directories:</span><br class="fancyvrb" /><a + id="x1-19034r17"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> TEXDIR</span><span +class="ec-lmtt-9"> (the</span><span +class="ec-lmtt-9"> main</span><span +class="ec-lmtt-9"> TeX</span><span +class="ec-lmtt-9"> directory):</span> +<br class="fancyvrb" /><a + id="x1-19036r18"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> /usr/local/texlive/2012</span><br class="fancyvrb" /><a + id="x1-19038r19"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ...</span><br class="fancyvrb" /><a + id="x1-19040r20"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><br class="fancyvrb" /><a + id="x1-19042r21"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> <O></span><span +class="ec-lmtt-9"> options:</span><br class="fancyvrb" /><a + id="x1-19044r22"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> [</span><span +class="ec-lmtt-9"> ]</span><span +class="ec-lmtt-9"> use</span><span +class="ec-lmtt-9"> letter</span><span +class="ec-lmtt-9"> size</span><span +class="ec-lmtt-9"> instead</span><span +class="ec-lmtt-9"> of</span><span +class="ec-lmtt-9"> A4</span><span +class="ec-lmtt-9"> by</span><span +class="ec-lmtt-9"> default</span><br class="fancyvrb" /><a + id="x1-19046r23"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ...</span><br class="fancyvrb" /><a + id="x1-19048r24"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span> +<br class="fancyvrb" /><a + id="x1-19050r25"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> <V></span><span +class="ec-lmtt-9"> set</span><span +class="ec-lmtt-9"> up</span><span +class="ec-lmtt-9"> for</span><span +class="ec-lmtt-9"> portable</span><span +class="ec-lmtt-9"> installation</span><br class="fancyvrb" /><a + id="x1-19052r26"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><br class="fancyvrb" /><a + id="x1-19054r27"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><br class="fancyvrb" /><a + id="x1-19056r28"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> Actions:</span><br class="fancyvrb" /><a + id="x1-19058r29"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><br class="fancyvrb" /><a + id="x1-19060r30"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><br class="fancyvrb" /><a + id="x1-19062r31"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> <I></span><span +class="ec-lmtt-9"> start</span><span +class="ec-lmtt-9"> installation</span><span +class="ec-lmtt-9"> to</span><span +class="ec-lmtt-9"> hard</span><span +class="ec-lmtt-9"> disk</span><br class="fancyvrb" /><a + id="x1-19064r32"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> <H></span><span +class="ec-lmtt-9"> help</span><br class="fancyvrb" /><a + id="x1-19066r33"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> <Q></span><span +class="ec-lmtt-9"> quit</span></div> +<br /> <div class="caption" +><span class="id">Obrázek 1: </span><span +class="content">Hlavní obrazovka textového instalačního programu (GNU/Linux)</span></div><!--tex4ht:label?: x1-19067r1 --> + + +<!--l. 864--><p class="indent" > </div><hr class="endfigure"> +<!--l. 912--><p class="indent" > <hr class="figure"><div class="figure" +> + + +<a + id="x1-19068r2"></a> + + + +<!--l. 913--><p class="noindent" ><img +src="../texlive-common/install-lnx-main.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Obrázek 2: </span><span +class="content">Obrazovka pokročilého GUI instalátora (GNU/Linux)</span></div><!--tex4ht:label?: x1-19068r2 --> + + +<!--l. 915--><p class="indent" > </div><hr class="endfigure"> +<!--l. 917--><p class="indent" > <hr class="figure"><div class="figure" +> + + +<a + id="x1-19069r3"></a> + + + +<!--l. 918--><p class="noindent" ><img +src="../texlive-common/wizard-w32.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Obrázek 3: </span><span +class="content">Průvodcovská obrazovka instalátora (Windows)</span></div><!--tex4ht:label?: x1-19069r3 --> + + +<!--l. 920--><p class="indent" > </div><hr class="endfigure"> +<!--l. 922--><p class="indent" > <a id="cygwin"></a> + <h5 class="subsubsectionHead"><span class="titlemark">3.1.4 </span> <a + id="x1-200003.1.4"></a>Cygwin</h5> +<!--l. 926--><p class="noindent" >Instalátor <span class="TEX">T<span +class="E">E</span>X</span> Live odporuje pouze Cygwin 1.7. Před začátkem instalace použijte program +Cygwinu <span +class="ec-lmtt-10x-x-109">setup.exe </span>k instalaci programů <span +class="ec-lmtt-10x-x-109">perl </span>a <span +class="ec-lmtt-10x-x-109">wget </span>pokud jste tak ještě neudělali. Doporučené +jsou následující doplňkové balíky: + <ul class="itemize1"> + <li class="itemize"><span +class="ec-lmtt-10x-x-109">fontconfig </span>[potřebný pro Xe<span class="TEX">T<span +class="E">E</span>X</span>] + </li> + <li class="itemize"><span +class="ec-lmtt-10x-x-109">ghostscript </span>[potřebný pro různé pomůcky] + </li> + <li class="itemize"><span +class="ec-lmtt-10x-x-109">libXaw7 </span>[potřebný pro <span +class="ec-lmtt-10x-x-109">xdvi</span>] + </li> + <li class="itemize"><span +class="ec-lmtt-10x-x-109">ncurses </span>[umožní příkaz <span +class="ec-lmtt-10x-x-109">clear </span>používaný instalátorem]</li></ul> +<!--l. 939--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.5 </span> <a + id="x1-210003.1.5"></a>Textový instalační program</h5> +<!--l. 941--><p class="noindent" >Obrázek <a +href="#x1-19067r1">1<!--tex4ht:ref: fig:textmain --></a> ukazuje základní obrazovku textového režimu pod Unixem. Pro Unix je textový +instalační program nastaven implicitně. +<!--l. 944--><p class="indent" > Je to instalátor jenom s příkazovým řádkem; vůbec nemá kurzorovou podporu. Například, +nemůžete se pohybovat v zatrhávacích rámečcích nebo vstupních polích. Jenom napíšete něco +(s rozlišováním velikosti písma) na příkazovém řádku a stlačíte klávesu Enter, poté se celá +obrazovka přepíše s přizpůsobeným obsahem. +<!--l. 946--><p class="indent" > Rozhraní textového instalátoru je tak primitivní z prostého důvodu: je navržené tak, aby se +dalo spustit na tolika platformách jak je to jen možné, dokonce i v Perlu. +<!--l. 951--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.6 </span> <a + id="x1-220003.1.6"></a>Grafický instalační program pro zkušené</h5> +<!--l. 953--><p class="noindent" >Obrázek <a +href="#x1-19068r2">2<!--tex4ht:ref: fig:guimain --></a> ukazuje grafický instalátor pro znalce pod GNU/Linux. Kromě toho, že využívá tlačítka +a nabídky, se tento instalátor velmi neliší od textového. +<!--l. 958--><p class="indent" > Tento režim může být vyvolán explicitně pomocí <div class="alltt"> +<!--l. 959--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">install-tl</span><span +class="ec-lmtk-10x-x-109"> -gui=perltk</span> +</div> +</div> +<!--l. 964--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.7 </span> <a + id="x1-230003.1.7"></a>Jednoduchý průvodce instalací</h5> +<!--l. 966--><p class="noindent" >Pod Windows je implicitně nastaveno spuštění nejjednoduššího instalačního způsobu, který +můžeme doporučit, nazvaného „průvodce“ instalací (obr. <a +href="#x1-19069r3">3<!--tex4ht:ref: fig:wizard-w32 --></a>). Nainstaluje všechno a nezadává skoro +žádné otázky. Pokud si chcete vše nastavení upravit, musíte spustit některý z dalších +instalátorů. +<!--l. 973--><p class="indent" > Tento režim může být vyvolán explicitně povelem <div class="alltt"> +<!--l. 974--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">install-tl</span><span +class="ec-lmtk-10x-x-109"> -gui=wizard</span> +</div> +</div> + + +<!--l. 978--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">3.2 </span> <a + id="x1-240003.2"></a>Spuštění instalačního programu</h4> +<!--l. 981--><p class="noindent" >Instalátor je zamýšlený jako co nejvíce samovysvětlující. Nicméně následuje několik poznámek o +jednotlivých volbách a dílčích nabídkách: +<!--l. 985--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.2.1 </span> <a + id="x1-250003.2.1"></a>Nabídka binárních systémů (pouze Unix)</h5> +<!--l. 988--><p class="noindent" ><hr class="figure"><div class="figure" +> + + +<a + id="x1-25045r4"></a> + + +<div class="fancyvrb" id="fancyvrb2"><a + id="x1-25002r1"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> Available</span><span +class="ec-lmtt-9"> platforms:</span><br class="fancyvrb" /><a + id="x1-25004r2"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ===============================================================================</span><br class="fancyvrb" /><a + id="x1-25006r3"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span> +<br class="fancyvrb" /><a + id="x1-25008r4"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> a</span><span +class="ec-lmtt-9"> [</span><span +class="ec-lmtt-9"> ]</span><span +class="ec-lmtt-9"> alpha-linux</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> DEC</span><span +class="ec-lmtt-9"> Alpha</span><span +class="ec-lmtt-9"> with</span><span +class="ec-lmtt-9"> GNU/Linux</span><br class="fancyvrb" /><a + id="x1-25010r5"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> b</span><span +class="ec-lmtt-9"> [</span><span +class="ec-lmtt-9"> ]</span><span +class="ec-lmtt-9"> amd64-freebsd</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> x86_64</span><span +class="ec-lmtt-9"> with</span><span +class="ec-lmtt-9"> FreeBSD</span> +<br class="fancyvrb" /><a + id="x1-25012r6"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> c</span><span +class="ec-lmtt-9"> [</span><span +class="ec-lmtt-9"> ]</span><span +class="ec-lmtt-9"> amd64-kfreebsd</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> x86_64</span><span +class="ec-lmtt-9"> with</span><span +class="ec-lmtt-9"> GNU/FreeBSD</span><br class="fancyvrb" /><a + id="x1-25014r7"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> d</span><span +class="ec-lmtt-9"> [</span><span +class="ec-lmtt-9"> ]</span><span +class="ec-lmtt-9"> i386-cygwin</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> Intel</span><span +class="ec-lmtt-9"> x86</span><span +class="ec-lmtt-9"> with</span><span +class="ec-lmtt-9"> Cygwin</span> +<br class="fancyvrb" /><a + id="x1-25016r8"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> e</span><span +class="ec-lmtt-9"> [</span><span +class="ec-lmtt-9"> ]</span><span +class="ec-lmtt-9"> i386-freebsd</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> Intel</span><span +class="ec-lmtt-9"> x86</span><span +class="ec-lmtt-9"> with</span><span +class="ec-lmtt-9"> FreeBSD</span><br class="fancyvrb" /><a + id="x1-25018r9"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> f</span><span +class="ec-lmtt-9"> [</span><span +class="ec-lmtt-9"> ]</span><span +class="ec-lmtt-9"> i386-kfreebsd</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> Intel</span><span +class="ec-lmtt-9"> x86</span><span +class="ec-lmtt-9"> with</span><span +class="ec-lmtt-9"> GNU/FreeBSD</span> +<br class="fancyvrb" /><a + id="x1-25020r10"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> g</span><span +class="ec-lmtt-9"> [X]</span><span +class="ec-lmtt-9"> i386-linux</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> Intel</span><span +class="ec-lmtt-9"> x86</span><span +class="ec-lmtt-9"> with</span><span +class="ec-lmtt-9"> GNU/Linux</span><br class="fancyvrb" /><a + id="x1-25022r11"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> h</span><span +class="ec-lmtt-9"> [</span><span +class="ec-lmtt-9"> ]</span><span +class="ec-lmtt-9"> i386-netbsd</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> Intel</span><span +class="ec-lmtt-9"> x86</span><span +class="ec-lmtt-9"> with</span><span +class="ec-lmtt-9"> NetBSD</span> +<br class="fancyvrb" /><a + id="x1-25024r12"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> i</span><span +class="ec-lmtt-9"> [</span><span +class="ec-lmtt-9"> ]</span><span +class="ec-lmtt-9"> i386-solaris</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> Intel</span><span +class="ec-lmtt-9"> x86</span><span +class="ec-lmtt-9"> with</span><span +class="ec-lmtt-9"> Solaris</span><br class="fancyvrb" /><a + id="x1-25026r13"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> j</span><span +class="ec-lmtt-9"> [</span><span +class="ec-lmtt-9"> ]</span><span +class="ec-lmtt-9"> mips-irix</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> SGI</span><span +class="ec-lmtt-9"> IRIX</span><br class="fancyvrb" /><a + id="x1-25028r14"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> k</span><span +class="ec-lmtt-9"> [</span><span +class="ec-lmtt-9"> ]</span><span +class="ec-lmtt-9"> powerpc-aix</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> PowerPC</span><span +class="ec-lmtt-9"> with</span><span +class="ec-lmtt-9"> AIX</span> +<br class="fancyvrb" /><a + id="x1-25030r15"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> l</span><span +class="ec-lmtt-9"> [</span><span +class="ec-lmtt-9"> ]</span><span +class="ec-lmtt-9"> powerpc-linux</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> PowerPC</span><span +class="ec-lmtt-9"> with</span><span +class="ec-lmtt-9"> GNU/Linux</span><br class="fancyvrb" /><a + id="x1-25032r16"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> m</span><span +class="ec-lmtt-9"> [</span><span +class="ec-lmtt-9"> ]</span><span +class="ec-lmtt-9"> sparc-linux</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> Sparc</span><span +class="ec-lmtt-9"> with</span><span +class="ec-lmtt-9"> GNU/Linux</span> +<br class="fancyvrb" /><a + id="x1-25034r17"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> o</span><span +class="ec-lmtt-9"> [</span><span +class="ec-lmtt-9"> ]</span><span +class="ec-lmtt-9"> sparc-solaris</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> Sparc</span><span +class="ec-lmtt-9"> with</span><span +class="ec-lmtt-9"> Solaris</span><br class="fancyvrb" /><a + id="x1-25036r18"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> p</span><span +class="ec-lmtt-9"> [</span><span +class="ec-lmtt-9"> ]</span><span +class="ec-lmtt-9"> universal-darwin</span><span +class="ec-lmtt-9"> universal</span><span +class="ec-lmtt-9"> binaries</span><span +class="ec-lmtt-9"> for</span><span +class="ec-lmtt-9"> MacOSX/Darwin</span> +<br class="fancyvrb" /><a + id="x1-25038r19"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> s</span><span +class="ec-lmtt-9"> [</span><span +class="ec-lmtt-9"> ]</span><span +class="ec-lmtt-9"> win32</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> Windows</span><br class="fancyvrb" /><a + id="x1-25040r20"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> t</span><span +class="ec-lmtt-9"> [</span><span +class="ec-lmtt-9"> ]</span><span +class="ec-lmtt-9"> x86_64-darwin</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> x86_64</span><span +class="ec-lmtt-9"> with</span><span +class="ec-lmtt-9"> MacOSX/Darwin</span> +<br class="fancyvrb" /><a + id="x1-25042r21"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> u</span><span +class="ec-lmtt-9"> [</span><span +class="ec-lmtt-9"> ]</span><span +class="ec-lmtt-9"> x86_64-linux</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> x86_64</span><span +class="ec-lmtt-9"> with</span><span +class="ec-lmtt-9"> GNU/Linux</span><br class="fancyvrb" /><a + id="x1-25044r22"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> v</span><span +class="ec-lmtt-9"> [</span><span +class="ec-lmtt-9"> ]</span><span +class="ec-lmtt-9"> x86_64-solaris</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> x86_64</span><span +class="ec-lmtt-9"> with</span><span +class="ec-lmtt-9"> Solaris</span></div> +<br /> <div class="caption" +><span class="id">Obrázek 4: </span><span +class="content">Nabídka binárek</span></div><!--tex4ht:label?: x1-25045r4 --> + + +<!--l. 1014--><p class="noindent" ></div><hr class="endfigure"> +<!--l. 1016--><p class="indent" > Obrázek <a +href="#x1-25045r4">4<!--tex4ht:ref: fig:bin_text --></a> ukazuje nabídku binárek textového režimu. Standardně budou nainstalovány jenom +binárky vaší aktuální platformy. Z této nabídky si rovněž můžete vybrat instalaci binárek pro jiné +platformy. Toto může být užitečné, pokud sdílíte <span class="TEX">T<span +class="E">E</span>X</span>ovský strom v síti heterogenních strojů, +nebo na systému s dvojitým zaváděcím procesem. + <h5 class="subsubsectionHead"><span class="titlemark">3.2.2 </span> <a + id="x1-260003.2.2"></a>Volba obsahu instalace</h5> +<!--l. 1028--><p class="noindent" ><hr class="figure"><div class="figure" +> + + +<a + id="x1-26023r5"></a> + + +<div class="fancyvrb" id="fancyvrb3"><a + id="x1-26002r1"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> Select</span><span +class="ec-lmtt-9"> a</span><span +class="ec-lmtt-9"> scheme:</span><br class="fancyvrb" /><a + id="x1-26004r2"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ====================================================================</span> +<br class="fancyvrb" /><a + id="x1-26006r3"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> a</span><span +class="ec-lmtt-9"> [</span><span +class="ec-lmtt-9"> ]</span><span +class="ec-lmtt-9"> basic</span><span +class="ec-lmtt-9"> scheme</span><span +class="ec-lmtt-9"> (plain</span><span +class="ec-lmtt-9"> and</span><span +class="ec-lmtt-9"> LaTeX)</span><br class="fancyvrb" /><a + id="x1-26008r4"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> b</span><span +class="ec-lmtt-9"> [</span><span +class="ec-lmtt-9"> ]</span><span +class="ec-lmtt-9"> ConTeXt</span><span +class="ec-lmtt-9"> scheme</span><br class="fancyvrb" /><a + id="x1-26010r5"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> c</span><span +class="ec-lmtt-9"> [X]</span><span +class="ec-lmtt-9"> full</span><span +class="ec-lmtt-9"> scheme</span><span +class="ec-lmtt-9"> (everything)</span><br class="fancyvrb" /><a + id="x1-26012r6"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> d</span><span +class="ec-lmtt-9"> [</span><span +class="ec-lmtt-9"> ]</span><span +class="ec-lmtt-9"> GUST</span><span +class="ec-lmtt-9"> TeX</span><span +class="ec-lmtt-9"> Live</span><span +class="ec-lmtt-9"> scheme</span> +<br class="fancyvrb" /><a + id="x1-26014r7"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> e</span><span +class="ec-lmtt-9"> [</span><span +class="ec-lmtt-9"> ]</span><span +class="ec-lmtt-9"> medium</span><span +class="ec-lmtt-9"> scheme</span><span +class="ec-lmtt-9"> (plain,</span><span +class="ec-lmtt-9"> latex,</span><span +class="ec-lmtt-9"> recommended</span><span +class="ec-lmtt-9"> packages,</span><span +class="ec-lmtt-9"> some</span><span +class="ec-lmtt-9"> languages)</span><br class="fancyvrb" /><a + id="x1-26016r8"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> f</span><span +class="ec-lmtt-9"> [</span><span +class="ec-lmtt-9"> ]</span><span +class="ec-lmtt-9"> minimal</span><span +class="ec-lmtt-9"> scheme</span><span +class="ec-lmtt-9"> (plain</span><span +class="ec-lmtt-9"> only)</span> +<br class="fancyvrb" /><a + id="x1-26018r9"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> g</span><span +class="ec-lmtt-9"> [</span><span +class="ec-lmtt-9"> ]</span><span +class="ec-lmtt-9"> teTeX</span><span +class="ec-lmtt-9"> scheme</span><span +class="ec-lmtt-9"> (more</span><span +class="ec-lmtt-9"> than</span><span +class="ec-lmtt-9"> medium,</span><span +class="ec-lmtt-9"> but</span><span +class="ec-lmtt-9"> nowhere</span><span +class="ec-lmtt-9"> near</span><span +class="ec-lmtt-9"> full)</span><br class="fancyvrb" /><a + id="x1-26020r10"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> h</span><span +class="ec-lmtt-9"> [</span><span +class="ec-lmtt-9"> ]</span><span +class="ec-lmtt-9"> XML</span><span +class="ec-lmtt-9"> scheme</span><br class="fancyvrb" /><a + id="x1-26022r11"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> i</span><span +class="ec-lmtt-9"> [</span><span +class="ec-lmtt-9"> ]</span><span +class="ec-lmtt-9"> custom</span><span +class="ec-lmtt-9"> selection</span><span +class="ec-lmtt-9"> of</span><span +class="ec-lmtt-9"> collections</span></div> +<br /> <div class="caption" +><span class="id">Obrázek 5: </span><span +class="content">Nabídka schémat</span></div><!--tex4ht:label?: x1-26023r5 --> + + +<!--l. 1043--><p class="noindent" ></div><hr class="endfigure"> +<!--l. 1045--><p class="indent" > Obrázek <a +href="#x1-26023r5">5<!--tex4ht:ref: fig:schemetext --></a> ukazuje nabídku schémat <span class="TEX">T<span +class="E">E</span>X</span> Live; tady vybíráte „schéma“, což je souhrn kolekcí +balíků. Předvolené schéma <span +class="ec-lmtt-10x-x-109">full </span>nainstaluje vše, co je k dispozici. To doporučujeme, avšak můžete +také zvolit schéma <span +class="ec-lmtt-10x-x-109">basic </span>pro malý systém, <span +class="ec-lmtt-10x-x-109">minimal </span>pro účely testování, a schéma <span +class="ec-lmtt-10x-x-109">medium </span>nebo +<span +class="ec-lmtt-10x-x-109">teTeX </span>pro získání něčeho mezi tím. K dispozici jsou také různá specializovaná schémata a +schémata specifická pro některé země. +<!--l. 1054--><p class="indent" > <hr class="figure"><div class="figure" +> + + +<a + id="x1-26024r6"></a> + + + +<!--l. 1055--><p class="noindent" ><img +src="../texlive-common/stdcoll.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Obrázek 6: </span><span +class="content">Nabídka kolekcí</span></div><!--tex4ht:label?: x1-26024r6 --> + + +<!--l. 1057--><p class="indent" > </div><hr class="endfigure"> +<!--l. 1059--><p class="indent" > Svůj výběr schématu můžete upřesnit pomocí nabídek ‘standard collections’a ‘language +collections’(obrázek <a +href="#x1-26024r6">6<!--tex4ht:ref: fig:collections.gui --></a>, ukázané pro změnu v režimu GUI). +<!--l. 1062--><p class="indent" > Kolekce jsou o jednu úroveň podrobnější než schémata — v podstatě, schéma je tvořeno +několika kolekcemi, kolekci tvoří jeden nebo více balíků, a balík (nejnižší úroveň seskupování +v <span class="TEX">T<span +class="E">E</span>X</span> Live) obsahuje vlastní soubory <span class="TEX">T<span +class="E">E</span>X</span>ovských maker, soubory fontů, atd. +<!--l. 1067--><p class="indent" > Pokud chcete získat větší kontrolu než jakou poskytuje nabídka kolekcí, po instalaci můžete +použít program <span class="TEX">T<span +class="E">E</span>X</span> Live Manager (<span +class="ec-lmss-10x-x-109">tlmgr</span>) (viz sekci <a +href="#x1-450005">5<!--tex4ht:ref: sec:tlmgr --></a>); jeho použitím můžete řídit instalaci na +úrovni balíků. + <h5 class="subsubsectionHead"><span class="titlemark">3.2.3 </span> <a + id="x1-270003.2.3"></a>Adresáře</h5> +<!--l. 1075--><p class="noindent" >Standardní uspořádání je popsáno v sekci <a +href="#x1-110002.3">2.3<!--tex4ht:ref: sec:texmftrees --></a>, na straně <a +href="#x1-110002.3">8<!--tex4ht:ref: sec:texmftrees --></a>. +<!--l. 1078--><p class="indent" > Standardní umístění adresáře <span +class="ec-lmtt-10x-x-109">TEXDIR </span>je <span +class="ec-lmtt-10x-x-109">/usr/local/texlive/2012 </span>pro Unix a +<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">%SystemDrive%\texlive\2012</span></span></span> pod Windows. +<!--l. 1083--><p class="indent" > Hlavní důvod pro změnu této předvolby je nedostatek práv na zápis pro standardní umístění. +Nemusíte být zrovna rootem nebo administrátorem, když instalujete <span class="TEX">T<span +class="E">E</span>X</span> Live, ale potřebujete +oprávnění na zápis do cílového adresáře. +<!--l. 1088--><p class="indent" > Rozumnou alternativou je adresář uvnitř vašeho domovského adresáře, zvlášť když +chcete být výhradním uživatelem. Na naznačení tohoto použijte ‘<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">~</span></span></span>’, jako například +‘<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">~/texlive/2012</span></span></span>’. +<!--l. 1092--><p class="indent" > Doporučujeme do názvu začlenit rok, co umožní zachování různých vydání <span class="TEX">T<span +class="E">E</span>X</span> Live vedle +sebe. (Můžete chtít vytvořit název nezávislý na verzi, například <span +class="ec-lmtt-10x-x-109">/usr/local/texlive-cur</span> +pomocí symbolického odkazu, který může být později přepsán po přezkoušení nového +vydání.) +<!--l. 1098--><p class="indent" > Změna <span +class="ec-lmtt-10x-x-109">TEXDIR </span>v instalačním programu vyvolá také změny <span +class="ec-lmtt-10x-x-109">TEXMFLOCAL</span>, <span +class="ec-lmtt-10x-x-109">TEXMFSYSVAR </span>a +<span +class="ec-lmtt-10x-x-109">TEXMFSYSCONFIG</span>. +<!--l. 1102--><p class="indent" > <span +class="ec-lmtt-10x-x-109">TEXMFHOME </span>je doporučené umístění osobních souborů maker nebo balíků. Předvolená hodnota +je <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">~/texmf</span></span></span>. Na rozdíl od <span +class="ec-lmtt-10x-x-109">TEXDIR</span>, je nyní <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">~</span></span></span> uchována v nově vytvořených konfiguračních +souborech, protože to užitečně odkazuje na domovský adresář kteréhokoliv běžícího <span class="TEX">T<span +class="E">E</span>X</span>u. +Expanduje se na <span +class="ec-lmtt-10x-x-109">$HOME </span>pod Unixem a <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">%USERPROFILE%</span></span></span> pod Windows. Zvláštní přebytečná +poznámka: <span +class="ec-lmtt-10x-x-109">TEXMFHOME</span>, jako všechny stromy, musí být uspořádaný v souladu s TDS, jinak nemusí +být soubory k nalezení. +<!--l. 1106--><p class="indent" > <span +class="ec-lmtt-10x-x-109">TEXMFVAR </span>je umístění pro uložení většiny generovaných dočasných dat specifických pro +každého uživatele. <span +class="ec-lmtt-10x-x-109">TEXMFCACHE </span>se používá na tento účel Con<span class="TEX">T<span +class="E">E</span>X</span>tem MkIV (viz oddíl <a +href="#x1-360003.4.5">3.4.5<!--tex4ht:ref: sec:context_mkiv --></a>, na +straně <a +href="#x1-360003.4.5">39<!--tex4ht:ref: sec:context_mkiv --></a>). +<!--l. 1113--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.2.4 </span> <a + id="x1-280003.2.4"></a>Volby</h5> +<!--l. 1116--><p class="noindent" ><hr class="figure"><div class="figure" +> + + +<a + id="x1-28023r7"></a> + + +<div class="fancyvrb" id="fancyvrb4"><a + id="x1-28002r1"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> Options</span><span +class="ec-lmtt-9"> setup:</span><br class="fancyvrb" /><a + id="x1-28004r2"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ===============================================================================</span> +<br class="fancyvrb" /><a + id="x1-28006r3"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> <P></span><span +class="ec-lmtt-9"> use</span><span +class="ec-lmtt-9"> letter</span><span +class="ec-lmtt-9"> size</span><span +class="ec-lmtt-9"> instead</span><span +class="ec-lmtt-9"> of</span><span +class="ec-lmtt-9"> A4</span><span +class="ec-lmtt-9"> by</span><span +class="ec-lmtt-9"> default:</span><span +class="ec-lmtt-9"> [</span><span +class="ec-lmtt-9"> ]</span><br class="fancyvrb" /><a + id="x1-28008r4"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> <E></span><span +class="ec-lmtt-9"> execution</span><span +class="ec-lmtt-9"> of</span><span +class="ec-lmtt-9"> restricted</span><span +class="ec-lmtt-9"> list</span><span +class="ec-lmtt-9"> of</span><span +class="ec-lmtt-9"> programs:</span><span +class="ec-lmtt-9"> [X]</span> +<br class="fancyvrb" /><a + id="x1-28010r5"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> <F></span><span +class="ec-lmtt-9"> create</span><span +class="ec-lmtt-9"> format</span><span +class="ec-lmtt-9"> files:</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> [X]</span><br class="fancyvrb" /><a + id="x1-28012r6"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> <D></span><span +class="ec-lmtt-9"> install</span><span +class="ec-lmtt-9"> font/macro</span><span +class="ec-lmtt-9"> doc</span><span +class="ec-lmtt-9"> tree:</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> [X]</span> +<br class="fancyvrb" /><a + id="x1-28014r7"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> <S></span><span +class="ec-lmtt-9"> install</span><span +class="ec-lmtt-9"> font/macro</span><span +class="ec-lmtt-9"> source</span><span +class="ec-lmtt-9"> tree:</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> [X]</span><br class="fancyvrb" /><a + id="x1-28016r8"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> <L></span><span +class="ec-lmtt-9"> create</span><span +class="ec-lmtt-9"> symlinks</span><span +class="ec-lmtt-9"> in</span><span +class="ec-lmtt-9"> standard</span><span +class="ec-lmtt-9"> directories:</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> [</span><span +class="ec-lmtt-9"> ]</span> +<br class="fancyvrb" /><a + id="x1-28018r9"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> binaries</span><span +class="ec-lmtt-9"> to:</span><br class="fancyvrb" /><a + id="x1-28020r10"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> manpages</span><span +class="ec-lmtt-9"> to:</span><br class="fancyvrb" /><a + id="x1-28022r11"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> info</span><span +class="ec-lmtt-9"> to:</span></div> +<br /> <div class="caption" +><span class="id">Obrázek 7: </span><span +class="content">Nabídka voleb (Unix)</span></div><!--tex4ht:label?: x1-28023r7 --> + + +<!--l. 1131--><p class="noindent" ></div><hr class="endfigure"> +<!--l. 1133--><p class="indent" > Obrázek <a +href="#x1-28023r7">7<!--tex4ht:ref: fig:optionstext --></a> ukazuje nabídku voleb textového režimu. Další informace o každé volbě: + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10x-x-109">use letter size instead of A4 by default:</span> </dt><dd +class="description">Výběr standardní velikosti papíru. Jednotlivé + dokumenty mohou a měly by deklarovat zvláštní rozměr papíru, pokud je to žádoucí. + </dd><dt class="description"> +<span +class="ec-lmbx-10x-x-109">execution of restricted list of programs:</span> </dt><dd +class="description">Od <span class="TEX">T<span +class="E">E</span>X</span> Live 2010 je implicitně povoleno + vykonávání několika externích programů. Velmi neúplný seznam povolených programů + je uveden v souboru <span +class="ec-lmtt-10x-x-109">texmf.cnf</span>. Pro další podrobnosti viz novinky 2010 (oddíl <a +href="#x1-790009.1.7">9.1.7<!--tex4ht:ref: sec:2010news --></a>). + </dd><dt class="description"> +<span +class="ec-lmbx-10x-x-109">create format files:</span> </dt><dd +class="description">Přestože si vytvoření nepotřebných formátů vyžaduje čas a diskový + prostor pro uložení, nicméně doporučujeme nechat tuto volbu vyznačenou: když ji + nevyznačíte, budou formátové soubory vytvořené v osobních stromech <span +class="ec-lmtt-10x-x-109">TEXMFVAR</span> + uživatelů, když budou zapotřebí. Na tomto místě nebudou automaticky aktualizované, + když se budou například obnovovat binárky nebo vzory dělení v instalaci a tudíž + můžete skončit s nekompatibilními soubory formátů. + </dd><dt class="description"> +<span +class="ec-lmbx-10x-x-109">install font/macro </span><span +class="ec-lmbx-10x-x-109">…</span><span +class="ec-lmbx-10x-x-109"> tree:</span> </dt><dd +class="description">Tyto + volby vám umožní přeskočit stahování/instalci dokumentace a zdrojových souborů ve + většine balíků. Nedoporučuje se. + </dd><dt class="description"> +<span +class="ec-lmbx-10x-x-109">create symlinks in standard directories</span> </dt><dd +class="description">(pouze Unix): Tato volba obchází potřebu + změny proměnných prostředí. Bez této volby je obvykle potřebné přidat adresáře + <span class="TEX">T<span +class="E">E</span>X</span> Live do proměnných <span +class="ec-lmtt-10x-x-109">PATH</span>, <span +class="ec-lmtt-10x-x-109">MANPATH </span>a <span +class="ec-lmtt-10x-x-109">INFOPATH</span>. Budete muset přidělit práva + na zápis cílovým adresářům. Důrazně doporučujeme <span +class="ec-lmri-10x-x-109">ne</span>přepsat <span class="TEX">T<span +class="E">E</span>X</span>ovský systém, + který přišel s vaším systémem s touto volbou. Toto je v první řadě určeno pro + zpřístupnění systému <span class="TEX">T<span +class="E">E</span>X</span> pomocí adresářů, které již uživatelé znají, jako například + <span +class="ec-lmtt-10x-x-109">/usr/local/bin</span>, které neobsahují žádné <span class="TEX">T<span +class="E">E</span>X</span>ovské soubory.</dd></dl> +<!--l. 1169--><p class="indent" > Když jsou všechna nastavení podle vašeho vkusu, můžete napsat ‘I’a spustit instalační +proces. Po dokončení přeskočte na sekci <a +href="#x1-310003.4">3.4<!--tex4ht:ref: sec:postinstall --></a>, kde se dozvíte, co se případně má udělat +závěrem. + <h4 class="subsectionHead"><span class="titlemark">3.3 </span> <a + id="x1-290003.3"></a>Volby příkazového řádku pro install-tl</h4> +<!--l. 1178--><p class="noindent" >K zobrazení voleb příkazového řádku napište <div class="alltt"> +<!--l. 1179--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">install-tl</span><span +class="ec-lmtk-10x-x-109"> -help</span> +</div> +</div> K uvedení názvu volby mohou být použity <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">-</span></span></span> nebo také <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">--</span></span></span>. Následují nejběžnější +volby: +<!--l. 1185--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span +class="ec-lmtt-10x-x-109">-gui</span> </dt><dd +class="list"> + <!--l. 1186--><p class="noindent" >Podle možností použijte GUI instalátor. Toto si vyžaduje modul Perl/Tk + (<a +href="http://tug.org/texlive/distro.html#perltk" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/texlive/distro.html#perltk</span></a>); skompilovaný s podporou XFT; + pokud Perl/Tk není k dispozici, pokračuje instalace v textovém režimu. + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">-no-gui</span> </dt><dd +class="list"> + <!--l. 1190--><p class="noindent" >Vynutí si použití instalátoru v textovém režimu, dokonce i pod Windows. + + + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">-lang </span><span +class="ec-lmro-10x-x-109">LL</span> </dt><dd +class="list"> + <!--l. 1194--><p class="noindent" >Specifikuje jazyk instalačního rozhraní jako jeho standardní dvoupísmenový kód <span +class="ec-lmro-10x-x-109">LL</span>. + V současné době jsou podporovány jazyky: <span +class="ec-lmtt-10x-x-109">cs </span>(čeština), <span +class="ec-lmtt-10x-x-109">de </span>(němčina), <span +class="ec-lmtt-10x-x-109">en </span>(angličtina, + předvolený) <span +class="ec-lmtt-10x-x-109">fr </span>(francouzština), <span +class="ec-lmtt-10x-x-109">it </span>(italština), <span +class="ec-lmtt-10x-x-109">ja </span>(japonština), <span +class="ec-lmtt-10x-x-109">nl </span>(nizozemština), + <span +class="ec-lmtt-10x-x-109">pl </span>(polština), <span +class="ec-lmtt-10x-x-109">ru </span>(ruština), <span +class="ec-lmtt-10x-x-109">sk </span>(slovenština), <span +class="ec-lmtt-10x-x-109">sl </span>(slovinština), <span +class="ec-lmtt-10x-x-109">sr </span>(srbština), <span +class="ec-lmtt-10x-x-109">vi</span> + (vietnamština), <span +class="ec-lmtt-10x-x-109">zh-cn </span>(zjednodušená čínština), <span +class="ec-lmtt-10x-x-109">zh-tw </span>(tradiční čínština). Instalační + program se sám pokusí určit vhodný jazyk, ale když selže nebo když není správný + jazyk k dispozici, pak použije angličtinu jako nouzové řešení. + <!--l. 1214--><p class="noindent" ><a id="opt-in-place"></a> + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">-in-place</span> </dt><dd +class="list"> + <!--l. 1215--><p class="noindent" >Pokud již máte rsync-, svn-, nebo jinou kopii <span class="TEX">T<span +class="E">E</span>X</span> + Live (viz <a +href="http://tug.org/texlive/acquire-mirror.html" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/texlive/acquire-mirror.html</span></a>), pak tato volba použije to, + co již máte stažené a udělá pouze nezbytné post-instalační úkony. Upozorňujeme, že + soubor <span +class="ec-lmtt-10x-x-109">tlpkg/texlive.tlpdb </span>může být přepsán; jeho uložení je na vaší odpovědnosti. + Odstranění balíků by mělo být také ruční. Toto použijte jen když víte co děláte. Tato + volba se nedá přepnout pomocí rozhraní instalátoru. + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">-portable</span> </dt><dd +class="list"> + <!--l. 1225--><p class="noindent" >Instalace pro přenosné použití, například na klíč USB. Dá se zvolit rovněž v textovém + instalátoru pomocí příkazu <span +class="ec-lmtt-10x-x-109">V </span>a z instalátoru GUI. Viz oddíl <a +href="#x1-430004.2">4.2<!--tex4ht:ref: sec:portable-tl --></a>. + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">-profile </span><span +class="ec-lmro-10x-x-109">soubor</span> </dt><dd +class="list"> + <!--l. 1229--><p class="noindent" >Načtěte instalační profilový soubor a proveďte instalaci bez interakce s uživatelem. + Instalační program vždycky uloží soubor <span +class="ec-lmtt-10x-x-109">texlive.profile </span>do podadresáře <span +class="ec-lmtt-10x-x-109">tlpkg </span>vaší + instalace. Tento soubor může být zadán jako argument například pro znovuvytvoření + identické instalace na jiném systému. Nebo můžete použít uživatelský profil, který + nejjednodušeji vytvoříte změnou hodnot vygenerovaného souboru, nebo odstartováním + s prázdným souborem, který převezme všechny předvolby. + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">-repository </span><span +class="ec-lmro-10x-x-109">soubor-nebo-adres</span><span +class="ec-lmro-10x-x-109">á</span><span +class="ec-lmro-10x-x-109">ř</span> </dt><dd +class="list"> + <!--l. 1240--><p class="noindent" >Určuje repositář balíků, z kterého se má instalovat; viz následující oddíl.</dd></dl> +<!--l. 1244--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.3.1 </span> <a + id="x1-300003.3.1"></a>Volba <span +class="ec-lmtt-10x-x-109">-repository</span></h5> +<!--l. 1247--><p class="noindent" >Implicitní repositář balíků je zrcadlo CTAN zvolené automaticky použitím <a +href="http://mirror.ctan.org" class="url" ><span +class="ec-lmtt-10x-x-109">http://mirror.ctan.org</span></a>. +<!--l. 1250--><p class="indent" > Pokud to chcete přepsat, může být hodnotou umístění adresa url s <span +class="ec-lmtt-10x-x-109">ftp:</span>, <span +class="ec-lmtt-10x-x-109">http: </span>nebo <span +class="ec-lmtt-10x-x-109">file:/</span> +na začátku, nebo jednoduchá cesta k adresáři. (Při zadání umístění <span +class="ec-lmtt-10x-x-109">http:</span> nebo <span +class="ec-lmtt-10x-x-109">ftp:</span> jsou +koncové znaky ‘<span +class="ec-lmtt-10x-x-109">/</span>’a/nebo koncová složka ‘<span +class="ec-lmtt-10x-x-109">/tlpkg</span>’ignorovány.) +<!--l. 1257--><p class="indent" > Ku příkladu můžete zvolit určité zrcadlo CTAN něčím jako: +<a +href="http://ctan.example.org/tex-archive/systems/texlive/tlnet/" class="url" ><span +class="ec-lmtt-10x-x-109">http://ctan.example.org/tex-archive/systems/texlive/tlnet/</span></a>, s nahrazením +<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">ctan.example.org/tex-archive</span></span></span> skutečným hostitelským jménem (hostname) a jeho konkrétní +kořenovou cestou k CTAN (jako třeba <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">ftp.cstug.cz/pub/CTAN</span></span></span>). Seznam zrcadel CTAN je +udržován na <a +href="http://ctan.org/mirrors" class="url" ><span +class="ec-lmtt-10x-x-109">http://ctan.org/mirrors</span></a>. +<!--l. 1264--><p class="indent" > Pokud je zadaný argument lokální (buď cesta nebo <span +class="ec-lmtt-10x-x-109">file:/ </span>url), jsou použity komprimované +soubory v podadresáři <span +class="ec-lmtt-10x-x-109">archive </span>cesty repositáře (i kdyby byly rovněž k dispozici nekomprimované +soubory). +<!--l. 1268--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">3.4 </span> <a + id="x1-310003.4"></a>Poinstalační činnosti</h4> +<!--l. 1271--><p class="noindent" >Po instalaci se mohou hodit některé další úpravy. + + +<!--l. 1282--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.1 </span> <a + id="x1-320003.4.1"></a>Proměnné prostředí pro Unix</h5> +<!--l. 1285--><p class="noindent" >Pokud se rozhodnete vytvořit symbolické odkazy v standardních adresářích (popsaných +v oddíle <a +href="#x1-280003.2.4">3.2.4<!--tex4ht:ref: sec:options --></a>), pak není nutná editace proměnných prostředí. Jinak v systémech Unix musí být +adresář binárek pro vaší platformu přidán k prohledávaným cestám. (Ve Windows se o to postará +instalátor.) +<!--l. 1291--><p class="indent" > Každá podporovaná platforma má svůj vlastní podadresář pod <span +class="ec-lmtt-10x-x-109">TEXDIR/bin</span>. Seznam +podadresářů a odpovídajících platforem je na obrázku <a +href="#x1-25045r4">4<!--tex4ht:ref: fig:bin_text --></a>. +<!--l. 1296--><p class="indent" > Nepovinně můžete rovněž přidat dokumentační manuálové stránky (man pages) a adresáře +Info k jejich příslušejícím vyhledávacím cestám, když chcete, aby je našly systémové +nástroje. Dokumentační stránky můžou být automaticky nalezeny po přidání do proměnné +<span +class="ec-lmtt-10x-x-109">PATH</span>. +<!--l. 1303--><p class="indent" > Například pro Bourne-kompatibilní shell, jako je <span +class="ec-lmss-10x-x-109">bash </span>a používaný Intel x86 GNU/Linux se +standardním nastavením adresářů, může být vhodné editovat soubor <span +class="ec-lmtt-10x-x-109">$HOME/.profile</span>. +<!--l. 1308--><p class="indent" > + <div class="fancyvrb" id="fancyvrb5"><a + id="x1-32002r1"></a><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> PATH=/usr/local/texlive/2012/bin/i386-linux:$PATH;</span><span +class="ec-lmtt-10"> export</span><span +class="ec-lmtt-10"> PATH</span> +<br class="fancyvrb" /><a + id="x1-32004r2"></a><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> MANPATH=/usr/local/texlive/2012/texmf/doc/man:$MANPATH;</span><span +class="ec-lmtt-10"> export</span><span +class="ec-lmtt-10"> MANPATH</span> +<br class="fancyvrb" /><a + id="x1-32006r3"></a><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> INFOPATH=/usr/local/texlive/2012/texmf/doc/info:$INFOPATH;</span><span +class="ec-lmtt-10"> export</span><span +class="ec-lmtt-10"> INFOPATH</span></div> +<!--l. 1314--><p class="indent" > Pro <span +class="ec-lmss-10x-x-109">csh </span>nebo <span +class="ec-lmss-10x-x-109">tcsh </span>je editovaný soubor typicky <span +class="ec-lmtt-10x-x-109">$HOME/.cshrc </span>a řádky k přidání můžou vypadat +jako: + <div class="fancyvrb" id="fancyvrb6"><a + id="x1-32008r1"></a><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> setenv</span><span +class="ec-lmtt-10"> PATH</span><span +class="ec-lmtt-10"> /usr/local/texlive/2012/bin/i386-linux:$PATH</span> +<br class="fancyvrb" /><a + id="x1-32010r2"></a><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> setenv</span><span +class="ec-lmtt-10"> MANPATH</span><span +class="ec-lmtt-10"> /usr/local/texlive/2012/texmf/doc/man:$MANPATH</span> +<br class="fancyvrb" /><a + id="x1-32012r3"></a><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> setenv</span><span +class="ec-lmtt-10"> INFOPATH</span><span +class="ec-lmtt-10"> /usr/local/texlive/2012/texmf/doc/info:$INFOPATH</span></div> +<!--l. 1323--><p class="indent" > Pokud již máte nastavení někde ve vašich „dot“ souborech, adresáře <span class="TEX">T<span +class="E">E</span>X</span> Live by měli, +přirozeně, jednoduše přiměřeně s nimi splynout. +<!--l. 1326--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.2 </span> <a + id="x1-330003.4.2"></a>Proměnné prostředí: globální konfigurace</h5> +<!--l. 1328--><p class="noindent" >Volba, zda učinit tyto změny globálně, anebo pro uživatele právě přidaného do systému, je na vás; +existuje příliš mnoho variací mezi systémy, kde a jak se tato nastavení provádějí. Naše dvě rady +jsou: 1) můžete chtít vyhledat soubor <span +class="ec-lmtt-10x-x-109">/etc/manpath.config </span>a pokud existuje, přidejte řádky +jako +<!--l. 1334--><p class="indent" > + <div class="fancyvrb" id="fancyvrb7"><a + id="x1-33002r1"></a><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> MANPATH_MAP</span><span +class="ec-lmtt-10"> /usr/local/texlive/2012/bin/i386-linux</span><span +class="ec-lmtt-10"> \</span><br class="fancyvrb" /><a + id="x1-33004r2"></a><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texlive/2012/texmf/doc/man</span></div> +<!--l. 1339--><p class="indent" > A 2) vyhledejte soubor <span +class="ec-lmtt-10x-x-109">/etc/environment</span>, který může definovat vyhledávací cestu a další +standardní proměnné prostředí. +<!--l. 1343--><p class="indent" > V každém (Unixovém) adresáři binárek vytváříme také symbolický odkaz na adresář +<span +class="ec-lmtt-10x-x-109">texmf/doc/man </span>s názvem <span +class="ec-lmtt-10x-x-109">man</span>. Některé programy <span +class="ec-lmtt-10x-x-109">man</span>, jako například standardní Mac OS X <span +class="ec-lmtt-10x-x-109">man</span>, +ho automaticky najdou, co odstraňuje potřebu jakéhokoliv nastavování dokumentačních +stránek. +<!--l. 1349--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.3 </span> <a + id="x1-340003.4.3"></a>Internetovské aktualizace po instalaci z DVD</h5> +<!--l. 1352--><p class="noindent" >Pokud jste instalovali <span class="TEX">T<span +class="E">E</span>X</span> Live z DVD a později si přejete získat aktualizace z Internetu, budete +potřebovat spuštění tohoto povelu—<span +class="ec-lmri-10x-x-109">pot</span><span +class="ec-lmri-10x-x-109">é </span>co jste aktualizovali vaši vyhledávací cestu (jako to bylo +popsané v předcházejícím oddíle): + <div class="alltt"> +<!--l. 1357--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">tlmgr</span><span +class="ec-lmtk-10x-x-109"> option</span><span +class="ec-lmtk-10x-x-109"> repository</span><span +class="ec-lmtk-10x-x-109"> http://mirror.ctan.org/systems/texlive/tlnet</span> + + +</div> +</div> +<!--l. 1361--><p class="indent" > Toto řekne programu <span +class="ec-lmss-10x-x-109">tlmgr </span>aby pro následující aktualizace použil nejbližší zrcadlo CTANu. +Pokud se vyskytnou problémy s automatickým výběrem zrcadla, můžete deklarovat konkrétní +zrcadlo CTANu ze seznamu na stránce <a +href="http://ctan.org/mirrors" class="url" ><span +class="ec-lmtt-10x-x-109">http://ctan.org/mirrors</span></a>. Použijte přesnou cestu +k podadresáři <span +class="ec-lmtt-10x-x-109">tlnet </span>tohoto zrcadla, jak jsme uvedli výše. +<!--l. 1368--><p class="indent" > <a id="xetexfontconfig"></a> <a id="sysfontconfig"></a> + <h5 class="subsubsectionHead"><span class="titlemark">3.4.4 </span> <a + id="x1-350003.4.4"></a>Systémová konfigurace fontů pro Xe<span class="TEX">T<span +class="E">E</span>X</span> a Lua<span class="TEX">T<span +class="E">E</span>X</span></h5> +<!--l. 1373--><p class="noindent" >Xe<span class="TEX">T<span +class="E">E</span>X</span> a Lua<span class="TEX">T<span +class="E">E</span>X</span> mohou používat jakýkoli font instalován v systému, nejenom ty, které se +nachází v <span class="TEX">T<span +class="E">E</span>X</span>ovských stromech. Provádí to prostřednictvím podobných, ale ne identických +metod. +<!--l. 1378--><p class="indent" > Pod Windows jsou fonty dodané s <span class="TEX">T<span +class="E">E</span>X</span> Live automaticky dostupné pro Xe<span class="TEX">T<span +class="E">E</span>X</span>. Pokud máte na +unixovém systému nainstalován balík <span +class="ec-lmtt-10x-x-109">xetex</span>, potřebujete dokonfigurovat váš systém chcete-li, aby +byl Xe<span class="TEX">T<span +class="E">E</span>X</span> schopen najít fonty dodané s <span class="TEX">T<span +class="E">E</span>X</span> Live prostřednictvím vyhledávání systémových +jmen a nejen souborů. +<!--l. 1384--><p class="indent" > Pro usnadnění, když se instaluje balík <span +class="ec-lmss-10x-x-109">xetex </span>(buď ve výchozí instalaci nebo později), se vytváří +potřebný konfigurační soubor <span +class="ec-lmtt-10x-x-109">TEXMFSYSVAR/fonts/conf/texlive-fontconfig.conf</span>. +<!--l. 1389--><p class="indent" > Pro nastavení fontů <span class="TEX">T<span +class="E">E</span>X</span> Live pro použití v rámci celého systému (za předpokladu, že máte +odpovídající oprávnění), postupujte následovně: + <ol class="enumerate1" > + <li + class="enumerate" id="x1-35002x1">Zkopírujte soubor <span +class="ec-lmtt-10x-x-109">texlive-fontconfig.conf </span>do adresáře <span +class="ec-lmtt-10x-x-109">/etc/fonts/conf.d/</span> + <span +class="ec-lmtt-10x-x-109">09-texlive.conf</span>. + </li> + <li + class="enumerate" id="x1-35004x2">Spusťte <span +class="ec-lmtk-10x-x-109">fc-cache -fsv</span>.</li></ol> +<!--l. 1397--><p class="noindent" >Pokud nemáte postačující práva k provedení výše popsaných kroků, neboli jednoduše chcete +učinit fonty <span class="TEX">T<span +class="E">E</span>X</span> Live dosažitelnými pro vás jako samostatného uživatele, můžete učinit +následující: + <ol class="enumerate1" > + <li + class="enumerate" id="x1-35006x1">Zkopírujte soubor <span +class="ec-lmtt-10x-x-109">texlive-fontconfig.conf </span>do <span +class="ec-lmtt-10x-x-109">~/.fonts.conf</span>, kde <span +class="ec-lmtt-10x-x-109">~ </span>označuje váš + domovský adresář. + </li> + <li + class="enumerate" id="x1-35008x2">Spusťte <span +class="ec-lmtk-10x-x-109">fc-cache -fv</span>.</li></ol> +<!--l. 1407--><p class="indent" > Pokud chcete uvidět jména všech systémových fontů, můžete spustit příkaz <span +class="ec-lmtt-10x-x-109">fc-list</span>. +Zaklínadlo <span +class="ec-lmtt-10x-x-109">fc-list : family style file spacing </span>(všechny argumenty jsou písmenkové řetězce) +ukáže obecně zajímavou informaci. +<!--l. 1414--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.5 </span> <a + id="x1-360003.4.5"></a>Con<span class="TEX">T<span +class="E">E</span>X</span>t Mark IV</h5> +<!--l. 1417--><p class="noindent" >‘Starý’Con<span class="TEX">T<span +class="E">E</span>X</span>t (Mark II) a ‘nový’Con<span class="TEX">T<span +class="E">E</span>X</span>t (Mark IV) by měly po instalaci <span class="TEX">T<span +class="E">E</span>X</span> Live fungovat bez +dalších zásahů a neměly by vyžadovat zvláštní pozornost, pokud budete k aktualizacím používat +<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">tlmgr</span></span></span>. +<!--l. 1422--><p class="indent" > Nicméně, protože Con<span class="TEX">T<span +class="E">E</span>X</span>t MkIV nepoužívá knihovnu kpathsea, nějaké nastavení bude +požadováno vždycky, když budete instalovat nové soubory ručně (bez použití <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">tlmgr</span></span></span>). Po ukončení +takové instalace musí každý uživatel MkIV spustit: + <div class="fancyvrb" id="fancyvrb8"><a + id="x1-36002r1"></a><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> context</span><span +class="ec-lmtt-10"> --generate</span></div> +<!--l. 1429--><p class="noindent" >pro obnovení diskových cache údajů Con<span class="TEX">T<span +class="E">E</span>X</span>tu. Výslední soubory jsou uloženy do <span +class="ec-lmtt-10x-x-109">TEXMFCACHE</span>, kterého +přednastavená hodnota v <span class="TEX">T<span +class="E">E</span>X</span> Live je <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">TEXMSYSVAR;TEXMFVAR</span></span></span>. +<!--l. 1433--><p class="indent" > Con<span class="TEX">T<span +class="E">E</span>X</span>t MkIV bude číst ze všech cest uvedených v <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">TEXMFCACHE</span></span></span> a zapisovat do první +zapisovatelné cesty. Při čtení v případě duplicitních údajů v paměti cache získá přednost +poslední nalezený prvek. +<!--l. 1438--><p class="indent" > Pro další informace viz <a +href="http://wiki.contextgarden.net/Running_Mark_IV" class="url" ><span +class="ec-lmtt-10x-x-109">http://wiki.contextgarden.net/Running_Mark_IV</span></a>. + + +<!--l. 1442--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.6 </span> <a + id="x1-370003.4.6"></a>Začleňování lokálních a osobních maker</h5> +<!--l. 1445--><p class="noindent" >Toto je již implicitně zmíněno v sekci <a +href="#x1-110002.3">2.3<!--tex4ht:ref: sec:texmftrees --></a>: adresář <span +class="ec-lmtt-10x-x-109">TEXMFLOCAL </span>(standardně +<span +class="ec-lmtt-10x-x-109">/usr/local/texlive/texmf-local </span>nebo <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">%SystemDrive%\texlive\texmf-local</span></span></span> pod Windows) je +určen pro rozsáhlé systémové lokální fonty a makra; a adresář <span +class="ec-lmtt-10x-x-109">TEXMFHOME </span>(standardně +<span +class="ec-lmtt-10x-x-109">$HOME/texmf </span>nebo <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">%USERPROFILE%\texmf</span></span></span>), je pro osobní fonty a makra. Pro oba stromy musí být +soubory umístěné v patřičných podadresářích TDS (<span class="TEX">T<span +class="E">E</span>X</span> Directory Structure); viz +<a +href="http://tug.org/tds" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/tds</span></a> nebo nahlédni do souboru <span +class="ec-lmtt-10x-x-109">texmf/web2c/texmf.cnf</span>. Například, +<span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>ovský styl, třída nebo makrobalík by měl být umístěn v <span +class="ec-lmtt-10x-x-109">TEXMFLOCAL/tex/latex </span>nebo +<span +class="ec-lmtt-10x-x-109">TEXMFHOME/tex/latex</span>, nebo v jejich podadresářích. +<!--l. 1461--><p class="indent" > <span +class="ec-lmtt-10x-x-109">TEXMFLOCAL </span>vyžaduje aktuální databázi jmen souborů, jinak nebudou soubory nalezeny. Můžete +ji obnovit povelem <span +class="ec-lmss-10x-x-109">mktexlsr </span>nebo použít tlačítko ‘Reinit file database’na konfigurační záložce +programu <span class="TEX">T<span +class="E">E</span>X</span> Live Manager v režimu GUI. +<!--l. 1467--><p class="indent" > Standardně je každá z těchto proměnných definována jako samostatný adresář, jak je +ukázáno. To však není nezbytně nutné. Pokud potřebujete přepínat mezi dvěma verzemi +velkých balíků, například můžete udržovat více stromů pro vaše vlastní potřeby. Toho se +dosáhne nastavením <span +class="ec-lmtt-10x-x-109">TEXMFHOME </span>na seznam adresářů uvnitř složených závorek oddělených +čárkami: + + + <div class="verbatim" id="verbatim-1"> + <div class="fancyvrb" id="fancyvrb9"><a + id="x1-37002r1"></a>    TEXMFHOME = {/my/dir1,/mydir2,/a/third/dir}</div> +</div> +<!--l. 1477--><p class="nopar" > +<!--l. 1479--><p class="indent" > Další popis expanze závorek je v oddíle <a +href="#x1-610007.1.5">7.1.5<!--tex4ht:ref: sec:brace-expansion --></a>. +<!--l. 1481--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.7 </span> <a + id="x1-380003.4.7"></a>Začleňování fontů třetích stran</h5> +<!--l. 1482--><p class="noindent" >Toto je naneštěstí nepříjemné téma. Zapomeňte na něj pokud se nechcete probírat v mnoha +podrobnostech instalace <span class="TEX">T<span +class="E">E</span>X</span>u. Nezapomeňte si nejdříve prohlédnout fonty, které jsou zdarma +součástí distribuce, viz sekci <a +href="#x1-140002.6">2.6<!--tex4ht:ref: sec:tlfonts --></a>. +<!--l. 1488--><p class="indent" > Možnou alternativou je použití Xe<span class="TEX">T<span +class="E">E</span>X</span>u nebo Lua<span class="TEX">T<span +class="E">E</span>X</span>u (viz sekci <a +href="#x1-120002.4">2.4<!--tex4ht:ref: sec:tex.extensions --></a>), které vám umožní +používat fonty operačního systému bez jakékoliv instalace v <span class="TEX">T<span +class="E">E</span>X</span>u. Pokud to potřebujete udělat, +vyvinuli jsme maximální úsilí k popsání postupu, viz <a +href="http://tug.org/fonts/fontinstall.html" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/fonts/fontinstall.html</span></a>. +Pokud pečlivě udržujete mapy svých lokálních fontů, <span +class="ec-lmtt-10x-x-109">tlmgr generate updmap </span><span +class="ec-lmri-10x-x-109">mů</span><span +class="ec-lmri-10x-x-109">že </span>být užitečné, +například při přechodu od vydání k vydání; viz dokumentaci <span +class="ec-lmss-10x-x-109">tlmgr</span>. +<!--l. 1497--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">3.5 </span> <a + id="x1-390003.5"></a>Testování instalace</h4> +<!--l. 1500--><p class="noindent" >Po nainstalování <span class="TEX">T<span +class="E">E</span>X</span> Live přirozeně chcete systém otestovat a začít vytvářet nádherné +dokumenty nebo fonty. +<!--l. 1503--><p class="indent" > Tento oddíl popisuje základní postupy testování funkčnosti nového systému pod Unixem. Pod +Mac OS X a Windows budete patrně spouštět testy přes uživatelské grafické rozhraní (GUI), ale +principy jsou stejné. +<!--l. 1508--><p class="indent" > + <ol class="enumerate1" > + <li + class="enumerate" id="x1-39002x1">Nejprve ověřte, zda se spustí program <span +class="ec-lmss-10x-x-109">tex</span>: + <div class="alltt"> + <!--l. 1511--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">tex</span><span +class="ec-lmtk-10x-x-109"> --version</span> + <br /><span +class="ec-lmtt-10x-x-109">TeX</span><span +class="ec-lmtt-10x-x-109"> 3.1415926</span><span +class="ec-lmtt-10x-x-109"> (TeX</span><span +class="ec-lmtt-10x-x-109"> Live</span><span +class="ec-lmtt-10x-x-109"> ...)</span> + <br /><span +class="ec-lmtt-10x-x-109">kpathsea</span><span +class="ec-lmtt-10x-x-109"> version</span><span +class="ec-lmtt-10x-x-109"> 6.0.1</span> + <br /><span +class="ec-lmtt-10x-x-109">Copyright</span><span +class="ec-lmtt-10x-x-109"> ...</span><span +class="ec-lmtt-10x-x-109"> D.E.</span><span +class="ec-lmtt-10x-x-109"> Knuth.</span> + <br /><span +class="ec-lmtt-10x-x-109">...</span> +</div> + </div> Pokud obdržíte hlášku s ‘command not found’místo výše uvedeného, nebo se starší verzí, + patrně nemáte nastavený správný podadresář <span +class="ec-lmtt-10x-x-109">bin </span>v proměnné prostředí <span +class="ec-lmtt-10x-x-109">PATH</span>. Vraťte se + k informacím o jejich nastavování na straně <a +href="#x1-320003.4.1">38<!--tex4ht:ref: sec:env --></a>. + </li> + <li + class="enumerate" id="x1-39004x2">Přeložte ukázkový soubor <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>u: <div class="alltt"> + <!--l. 1524--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">latex</span><span +class="ec-lmtk-10x-x-109"> sample2e.tex</span> + <br /><span +class="ec-lmtt-10x-x-109">pdfTeX</span><span +class="ec-lmtt-10x-x-109"> 3.1415926-...</span><span +class="ec-lmtt-10x-x-109"> (TeX</span><span +class="ec-lmtt-10x-x-109"> Live</span><span +class="ec-lmtt-10x-x-109"> ...)</span> + <br /><span +class="ec-lmtt-10x-x-109">...</span> + <br /><span +class="ec-lmtt-10x-x-109">Output</span><span +class="ec-lmtt-10x-x-109"> written</span><span +class="ec-lmtt-10x-x-109"> on</span><span +class="ec-lmtt-10x-x-109"> sample2e.dvi</span><span +class="ec-lmtt-10x-x-109"> (3</span><span +class="ec-lmtt-10x-x-109"> pages,</span><span +class="ec-lmtt-10x-x-109"> 7484</span><span +class="ec-lmtt-10x-x-109"> bytes).</span> + <br /><span +class="ec-lmtt-10x-x-109">Transcript</span><span +class="ec-lmtt-10x-x-109"> written</span><span +class="ec-lmtt-10x-x-109"> on</span><span +class="ec-lmtt-10x-x-109"> sample2e.log.</span> + + +</div> + </div> Pokud selže nalezení souboru <span +class="ec-lmtt-10x-x-109">sample2e.tex </span>nebo jiných souborů, nejspíše máte aktivní + stará nastavení proměnných prostředí nebo konfiguračních souborů; pro začátek + doporučujeme zrušit nastavení všech proměnných prostředí souvisejících s <span class="TEX">T<span +class="E">E</span>X</span>em. Pro + hlubší analýzu a dohledání problému můžete kdykoliv požádat <span class="TEX">T<span +class="E">E</span>X</span> o detaily toho, co a kde + hledá: viz „Ladicí činnosti“ na straně <a +href="#x1-680007.2.4">66<!--tex4ht:ref: sec:debugging --></a>. + </li> + <li + class="enumerate" id="x1-39006x3">Prohlédněte si výsledek na obrazovce: <div class="alltt"> + <!--l. 1540--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">xdvi</span><span +class="ec-lmtk-10x-x-109"> sample2e.dvi</span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> #</span><span +class="ec-lmtt-10x-x-109"> Unix</span> + <br /><span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">dviout</span><span +class="ec-lmtk-10x-x-109"> sample2e.dvi</span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> #</span><span +class="ec-lmtt-10x-x-109"> Windows</span> +</div> + </div> Mělo by se otevřít nové okno s pěkným dokumentem popisujícím základy <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>u. + (Mimochodem, stojí za přečtení, pokud začínáte s <span class="TEX">T<span +class="E">E</span>X</span>em.) Musíte mít spuštěny + X Window, aby <span +class="ec-lmss-10x-x-109">xdvi </span>pracovalo. Pokud tomu tak není nebo máte špatně nastavenou + proměnnou prostředí <span +class="ec-lmtt-10x-x-109">DISPLAY</span>, dostanete chybovou hlášku ‘Can’t open display’. + </li> + <li + class="enumerate" id="x1-39008x4">Vytvořte PostScriptový soubor pro tisk nebo prohlížení: <div class="alltt"> + <!--l. 1552--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">dvips</span><span +class="ec-lmtk-10x-x-109"> sample2e.dvi</span><span +class="ec-lmtk-10x-x-109"> -o</span><span +class="ec-lmtk-10x-x-109"> sample2e.ps</span> +</div> + </div> + </li> + <li + class="enumerate" id="x1-39010x5">Vytvořte PDF soubor místo DVI; tento příkaz ze souboru <span +class="ec-lmtt-10x-x-109">.tex </span>vytvoří PDF přímo: + <div class="alltt"> + <!--l. 1558--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">pdflatex</span><span +class="ec-lmtk-10x-x-109"> sample2e.tex</span> +</div> + </div> + </li> + <li + class="enumerate" id="x1-39012x6">Prohlédněte si PDF soubor: <div class="alltt"> + <!--l. 1563--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">gv</span><span +class="ec-lmtk-10x-x-109"> sample2e.pdf</span> + <br />nebo: + <br /><span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">xpdf</span><span +class="ec-lmtk-10x-x-109"> sample2e.pdf</span> +</div> + </div> Ani <span +class="ec-lmss-10x-x-109">gv </span>ani <span +class="ec-lmss-10x-x-109">xpdf </span>nejsou zařazeny na <span class="TEX">T<span +class="E">E</span>X</span> Live a musíte je instalovat separátně. Viz + <a +href="http://www.gnu.org/software/gv" class="url" ><span +class="ec-lmtt-10x-x-109">http://www.gnu.org/software/gv</span></a> resp. <a +href="http://www.foolabs.com/xpdf" class="url" ><span +class="ec-lmtt-10x-x-109">http://www.foolabs.com/xpdf</span></a>. Existuje také velké + množství jiných prohlížečů PDF. Pro Windows doporučujeme vyzkoušet Sumatra PDF + (<a +href="http://blog.kowalczyk.info/software/sumatrapdf" class="url" ><span +class="ec-lmtt-10x-x-109">http://blog.kowalczyk.info/software/sumatrapdf</span></a>). + </li> + <li + class="enumerate" id="x1-39014x7">Standardní testovací soubory, které mohou být užitečné kromě <span +class="ec-lmtt-10x-x-109">sample2e.tex</span>: + <!--l. 1579--><p class="noindent" > + + + <dl class="list2"><dt class="list"> + <span +class="ec-lmtt-10x-x-109">small2e.tex</span> </dt><dd +class="list"> + <!--l. 1582--><p class="noindent" >Ukázkový dokument, ještě kratší než <span +class="ec-lmtt-10x-x-109">sample2e</span>. + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">testpage.tex</span> </dt><dd +class="list"> + <!--l. 1584--><p class="noindent" >Test, jestli vaše tiskárna neposunuje tiskové zrcadlo. + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">nfssfont.tex</span> </dt><dd +class="list"> + <!--l. 1585--><p class="noindent" >Pro tisk tabulek fontů a testů fontů. + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">testfont.tex</span> </dt><dd +class="list"> + <!--l. 1586--><p class="noindent" >Pro totéž, ale pro plain <span class="TEX">T<span +class="E">E</span>X</span>. + </dd><dt class="list"> + <span +class="ec-lmtt-10x-x-109">story.tex</span> </dt><dd +class="list"> + <!--l. 1587--><p class="noindent" >Základní (plain) <span class="TEX">T<span +class="E">E</span>X</span>ový testovací soubor. Musíte napsat ‘<span +class="ec-lmtt-10x-x-109">\bye</span>’ na výzvu <span +class="ec-lmtt-10x-x-109">* </span>po + ‘<span +class="ec-lmtt-10x-x-109">tex story.tex</span>’.</dd></dl> + </li> + <li + class="enumerate" id="x1-39016x8">Pokud máte nainstalovaný balík <span +class="ec-lmtt-10x-x-109">xetex </span>package, můžete prověřit jeho přístup k systémovým + fontům následovně: <div class="alltt"> + <!--l. 1594--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">xetex</span><span +class="ec-lmtk-10x-x-109"> opentype-info.tex</span> + <br /><span +class="ec-lmtt-10x-x-109">This</span><span +class="ec-lmtt-10x-x-109"> is</span><span +class="ec-lmtt-10x-x-109"> XeTeX,</span><span +class="ec-lmtt-10x-x-109"> Version</span><span +class="ec-lmtt-10x-x-109"> 3.1415926</span><span +class="ec-lmtt-10x-x-109">…</span> + <br /><span +class="ec-lmtt-10x-x-109">...</span> + <br /><span +class="ec-lmtt-10x-x-109">Output</span><span +class="ec-lmtt-10x-x-109"> written</span><span +class="ec-lmtt-10x-x-109"> on</span><span +class="ec-lmtt-10x-x-109"> opentype-info.pdf</span><span +class="ec-lmtt-10x-x-109"> (1</span><span +class="ec-lmtt-10x-x-109"> page).</span> + <br /><span +class="ec-lmtt-10x-x-109">Transcript</span><span +class="ec-lmtt-10x-x-109"> written</span><span +class="ec-lmtt-10x-x-109"> on</span><span +class="ec-lmtt-10x-x-109"> opentype-info.log.</span> +</div> + </div> (Nebo to samé pro <span +class="ec-lmtt-10x-x-109">luatex</span>.) + <!--l. 1603--><p class="noindent" >Jestliže obdržíte chybové hlášení „Invalid fontname ‘Latin Modern Roman/ICU’…“, pak + potřebujete nakonfigurovat váš systém tak, aby Xe<span class="TEX">T<span +class="E">E</span>X</span> mohl najít fonty dodané s <span class="TEX">T<span +class="E">E</span>X</span> Live. + Viz oddíl <a +href="#x1-350003.4.4">3.4.4<!--tex4ht:ref: sec:font-conf-sys --></a>.</li></ol> +<!--l. 1609--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">3.6 </span> <a + id="x1-400003.6"></a>Odkazy na doplňkový software s možností stažení z Internetu</h4> +<!--l. 1611--><p class="noindent" >Pokud jste <span class="TEX">T<span +class="E">E</span>X</span>ový začátečník nebo potřebujete pomoc se psaním <span class="TEX">T<span +class="E">E</span>X</span>ových, respektive +<span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>ových dokumentů, navštivte <a +href="http://tug.org/begin.html" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/begin.html</span></a>, kde najdete úvodní informace +k instalaci. +<!--l. 1616--><p class="indent" > Odkazy na některé další pomůcky, o instalaci kterých můžete uvažovat: + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10x-x-109">Ghostscript</span> </dt><dd +class="description"><a +href="http://www.cs.wisc.edu/~ghost/" class="url" ><span +class="ec-lmtt-10x-x-109">http://www.cs.wisc.edu/~ghost/</span></a> + </dd><dt class="description"> +<span +class="ec-lmbx-10x-x-109">Perl</span> </dt><dd +class="description"><a +href="http://www.perl.org/" class="url" ><span +class="ec-lmtt-10x-x-109">http://www.perl.org/</span></a> s doplňujícími balíky z CPAN, <a +href="http://www.cpan.org/" class="url" ><span +class="ec-lmtt-10x-x-109">http://www.cpan.org/</span></a> + </dd><dt class="description"> +<span +class="ec-lmbx-10x-x-109">ImageMagick</span> </dt><dd +class="description"><a +href="http://www.imagemagick.com" class="url" ><span +class="ec-lmtt-10x-x-109">http://www.imagemagick.com</span></a>, k zpracování a konverzi grafiky + </dd><dt class="description"> +<span +class="ec-lmbx-10x-x-109">NetPBM</span> </dt><dd +class="description"><a +href="http://netpbm.sourceforge.net/" class="url" ><span +class="ec-lmtt-10x-x-109">http://netpbm.sourceforge.net/</span></a>, rovněž pro grafiku. + </dd><dt class="description"> +<span class="TEX"><span +class="ec-lmbx-10x-x-109">T</span><span +class="E"><span +class="ec-lmbx-10x-x-109">E</span></span><span +class="ec-lmbx-10x-x-109">X</span></span><span +class="ec-lmbx-10x-x-109">ovsky orientovan</span><span +class="ec-lmbx-10x-x-109">é editory</span> </dt><dd +class="description">Existuje široký výběr a je to záležitost vkusu uživatele. Tady je + výběr v abecedním řazení (několik málo je pouze pro Windows). + + + <ul class="itemize1"> + <li class="itemize"><span +class="ec-lmss-10x-x-109">GNU Emacs </span>je přirozeně k dispozici pod Windows, viz + <a +href="http://www.gnu.org/software/emacs/windows/ntemacs.html" class="url" ><span +class="ec-lmtt-10x-x-109">http://www.gnu.org/software/emacs/windows/ntemacs.html</span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10x-x-109">Emacs </span>s Auc<span class="TEX">T<span +class="E">E</span>X</span>em pro Windows je k dispozici z CTANu. Jeho domovská stránka + je <a +href="http://www.gnu.org/software/auctex" class="url" ><span +class="ec-lmtt-10x-x-109">http://www.gnu.org/software/auctex</span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10x-x-109">LEd </span>je k dostání z <a +href="http://mirror.ctan.org/support/LEd" class="url" ><span +class="ec-lmtt-10x-x-109">http://mirror.ctan.org/support/LEd</span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10x-x-109">SciTE </span>je k dostání z <a +href="http://www.scintilla.org/SciTE.html" class="url" ><span +class="ec-lmtt-10x-x-109">http://www.scintilla.org/SciTE.html</span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10x-x-109">Texmaker </span>je volný (free) software, k dispozici + z <a +href="http://www.xmlmath.net/texmaker" class="url" ><span +class="ec-lmtt-10x-x-109">http://www.xmlmath.net/texmaker</span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10x-x-109">TexMakerX </span>je odbočka programu <span +class="ec-lmss-10x-x-109">Texmaker </span>s dodatečnými rysy; + <a +href="http://texmakerx.sourceforge.net" class="url" ><span +class="ec-lmtt-10x-x-109">http://texmakerx.sourceforge.net</span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10x-x-109">TeXnicCenter </span>je volný software, k dispozici z <a +href="http://www.texniccenter.org" class="url" ><span +class="ec-lmtt-10x-x-109">http://www.texniccenter.org</span></a> a + v distribuci pro<span class="TEX">T<span +class="E">E</span>X</span>t. + </li> + <li class="itemize"><span +class="ec-lmss-10x-x-109">TeXworks </span>je volný software, k dispozici z <a +href="http://tug.org/texworks" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/texworks</span></a> a je + nainstalovaný pro Windows a Mac OS X jako součást <span class="TEX">T<span +class="E">E</span>X</span> Live. + </li> + <li class="itemize"><span +class="ec-lmss-10x-x-109">Vim </span>je volný software, k dispozici z <a +href="http://www.vim.org" class="url" ><span +class="ec-lmtt-10x-x-109">http://www.vim.org</span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10x-x-109">WinEdt </span>je shareware dostupný třeba na <a +href="http://tug.org/winedt" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/winedt</span></a> nebo na + <a +href="http://www.winedt.com" class="url" ><span +class="ec-lmtt-10x-x-109">http://www.winedt.com</span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10x-x-109">WinShell </span>je k dispozici z <a +href="http://www.winshell.de" class="url" ><span +class="ec-lmtt-10x-x-109">http://www.winshell.de</span></a>.</li></ul> + </dd></dl> +<!--l. 1653--><p class="noindent" >Pro mnohem delší seznam balíků a programů, viz <a +href="http://tug.org/interest.html" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/interest.html</span></a>. +<!--l. 1656--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">4 </span> <a + id="x1-410004"></a>Specializované instalace</h3> +<!--l. 1658--><p class="noindent" >Předcházející oddíly popisovaly základní instalační proces. Teď se zaměříme na některé speciální +případy. +<!--l. 1661--><p class="indent" > <a id="tlsharedinstall"></a> + <h4 class="subsectionHead"><span class="titlemark">4.1 </span> <a + id="x1-420004.1"></a>Instalace sdílené uživateli (nebo cross-machine)</h4> +<!--l. 1665--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Live byl navržený tak, aby se dal sdílet mezi různými uživateli jednoho systému a/nebo mezi +různými systémy na síti. Se standardní strukturou adresářů se nekonfigurují žádné pevné plné +cesty: umístění souborů potřebných pro programy <span class="TEX">T<span +class="E">E</span>X</span> Live je zřízeno relativně k programům. +Můžete to najít v nejdůležitějším konfiguračním souboru <span +class="ec-lmtt-10x-x-109">$TEXMFMAIN/web2c/texmf.cnf</span>, který +obsahuje řádky jako jsou + <div class="fancyvrb" id="fancyvrb10"><a + id="x1-42002r1"></a><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> TEXMFMAIN</span><span +class="ec-lmtt-10"> =</span><span +class="ec-lmtt-10"> $SELFAUTOPARENT/texmf</span><br class="fancyvrb" /><a + id="x1-42004r2"></a><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> ...</span><br class="fancyvrb" /><a + id="x1-42006r3"></a><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> TEXMFLOCAL</span><span +class="ec-lmtt-10"> =</span><span +class="ec-lmtt-10"> $SELFAUTOPARENT/../texmf-local</span></div> +<!--l. 1678--><p class="noindent" >To znamená, že k získání funkčního nastavení stačí přidat ke své vyhledávací cestě adresář binárek +<span class="TEX">T<span +class="E">E</span>X</span> Live pro jejich platformu. +<!--l. 1683--><p class="indent" > Stejným způsobem můžete nainstalovat <span class="TEX">T<span +class="E">E</span>X</span> Live lokálně a pak přesunout celou hierarchii +později na místo na síti. +<!--l. 1686--><p class="indent" > Pro Windows můžete stáhnout z <a +href="http://tug.org/texlive/w32client.html" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/texlive/w32client.html</span></a> vzorový +skript síťové instalace nazvaný <span +class="ec-lmtt-10x-x-109">w32client</span>. Vytváří nastavení a nabídkové zkratky +k užívání stávající instalace <span class="TEX">T<span +class="E">E</span>X</span> Live na LAN. Registruje také program k odinstalování +<span +class="ec-lmtt-10x-x-109">w32unclient</span>, je po ruce ve stejném zip-souboru. Pro další informace odkazujeme na webovou +stránku. +<!--l. 1694--><p class="indent" > <a id="tlportable"></a> + + + <h4 class="subsectionHead"><span class="titlemark">4.2 </span> <a + id="x1-430004.2"></a>Mobilní USB instalace</h4> +<!--l. 1698--><p class="noindent" >Volba instalačního programu <span +class="ec-lmtt-10x-x-109">-portable </span>(nebo příkaz <span +class="ec-lmtt-10x-x-109">V </span>v textové verzi instalátoru nebo +odpovídající volba GUI) vytváří úplně samostatnou instalaci <span class="TEX">T<span +class="E">E</span>X</span> Live pod společným kořenem a +předcházející integraci systému. Takovou instalaci můžete vytvořit přímo na klíči USB, nebo ji +zkopírovat na klíč USB později. +<!--l. 1705--><p class="indent" > Ke spuštění <span class="TEX">T<span +class="E">E</span>X</span> při použití této přenosné instalace musíte přidat příslušný adresář binárek +k vyhledávané cestě během vaší práce na terminálu, jako obvykle. Pod Windows můžete dvakrát +kliknout na <span +class="ec-lmtt-10x-x-109">tl-tray-menu </span>v kořenovém adresáři instalace a zvolit si mezi několika běžnými úkoly, +jak je to ukázáno na této obrazovce: + +<!--l. 1713--><p class="indent" > <img +src="../texlive-common/tray-menu.png" alt="pict" +> +<!--l. 1716--><p class="noindent" >Vstup ‘More…’vysvětluje, jak si můžete přizpůsobit tuto nabídku. +<!--l. 1720--><p class="indent" > <a id="tlisoinstall"></a> + <h4 class="subsectionHead"><span class="titlemark">4.3 </span> <a + id="x1-440004.3"></a>ISO (nebo DVD) instalace</h4> +<!--l. 1724--><p class="noindent" >Pokud nepotřebujete příliš často aktualizovat nebo jiným způsobem měnit vaši instalaci a/nebo +máte více systémů, na kterých provozujete <span class="TEX">T<span +class="E">E</span>X</span> Live, může pro vás být užitečné vytvořit +ISO obraz vaší instalace <span class="TEX">T<span +class="E">E</span>X</span> Live, protože: + <ul class="itemize1"> + <li class="itemize">Kopírování ISO obrazů mezi různými počítači je mnohem rychlejší než zkopírování + obyčejné instalace. + </li> + <li class="itemize">Pokud máte duální zavádění různých operačních systémů a chcete sdílet instalaci <span class="TEX">T<span +class="E">E</span>X</span> + Live, instalace ISO není svázaná výstřednostmi a ohraničeními vzájemně rozdílných + podporovaných souborových systémů (FAT32, NTFS, HFS+). + </li> + <li class="itemize">Virtuální stroj dokáže jednoduše namontovat takové ISO.</li></ul> +<!--l. 1742--><p class="indent" > Samozřejmě si můžete také napálit ISO obraz na DVD, pokud to uznáte za užitečné. +<!--l. 1745--><p class="indent" > Systémy GNU/Linux/Unix s pracovní plochou, včetně Mac OS X, jsou schopné namontovat +ISO. Nezávisle na tom se nic nemění v porovnání s běžnou instalací na pevném disku, viz oddíl +<a +href="#x1-320003.4.1">3.4.1<!--tex4ht:ref: sec:env --></a>. +<!--l. 1750--><p class="indent" > Při přípravě takové ISO instalace je nejlepší vynechat podadresář roku vydání a mít +<span +class="ec-lmtt-10x-x-109">texmf-local </span>na stejné úrovni jako ostatní stromy (<span +class="ec-lmtt-10x-x-109">texmf</span>, <span +class="ec-lmtt-10x-x-109">texmf-dist </span>atd.). Toto můžete udělat +pomocí obyčejných voleb adresářů v instalátoru. +<!--l. 1756--><p class="indent" > Pro fyzický (spíše než virtuální) systém Windows můžete napálit ISO obraz na DVD. Avšak, +může stát za to prozkoumat svobodné volby ISO-montování. Pro Windows XP, Microsoft nabízí +<span +class="ec-lmtt-10x-x-109">winxpvirtualcdcontrolpanel</span>. +<!--l. 1762--><p class="indent" > Pro integraci systému Windows, můžete zahrnout skripty <span +class="ec-lmtt-10x-x-109">w32client</span>a popsané v oddíle <a +href="#x1-420004.1">4.1<!--tex4ht:ref: sec:sharedinstall --></a> a +na <a +href="http://tug.org/texlive/w32client.html" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/texlive/w32client.html</span></a>, které pracují téměř stejně dobře pro ISO jako pro +síťovou instalaci. +<!--l. 1767--><p class="indent" > Pod Mac OS X, TeXShop a <span class="TEX">T<span +class="E">E</span>X</span>works jsou schopny použít DVD instalaci pokud symbolický +odkaz <span +class="ec-lmtt-10x-x-109">/usr/texbin </span>ukazuje na příslušný adresář binárek, například, + + + <div class="verbatim" id="verbatim-2"> + <div class="fancyvrb" id="fancyvrb11"><a + id="x1-44002r1"></a>  sudo ln -s /Volumes/MyTeXLive/bin/universal-darwin /usr/texbin</div> +</div> +<!--l. 1772--><p class="nopar" > +<!--l. 1774--><p class="indent" > Historická poznámka: <span class="TEX">T<span +class="E">E</span>X</span> Live 2010 byla první edice <span class="TEX">T<span +class="E">E</span>X</span> Live, která už již není +distribuovaná ‘live’. Nicméně, spouštění z DVD nebo ISO si vždy vyžadovalo jistou obratnost; +především nebyla možnost nastavení alespoň jedné dodatečné proměnné prostředí. Pokud +vytváříte vaše ISO ze stávající instalace, není to potřebné. +<!--l. 1781--><p class="indent" > <a id="tlmgr"></a> + <h3 class="sectionHead"><span class="titlemark">5 </span> <a + id="x1-450005"></a><span +class="ec-lmss-10x-x-109">tlmgr</span>: správa vaší instalace</h3> +<!--l. 1785--><p class="noindent" ><hr class="figure"><div class="figure" +> + + +<a + id="x1-45001r8"></a> + + + +<!--l. 1786--><p class="noindent" ><img +src="../texlive-common/tlmgr-gui.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Obrázek 8: </span><span +class="content"><span +class="ec-lmss-10x-x-109">tlmgr </span>v režimu GUI: hlavní okno, po kliknutí na tlačítko ‘Load’.</span></div><!--tex4ht:label?: x1-45001r8 --> + + +<!--l. 1790--><p class="noindent" ></div><hr class="endfigure"> +<!--l. 1792--><p class="indent" > <hr class="figure"><div class="figure" +> + + +<a + id="x1-45002r9"></a><a + id="x1-45003r10"></a> + + + +<!--l. 1796--><p class="noindent" ><img +src="../texlive-common/tlmgr-general-options.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Obrázek 9: </span><span +class="content"><span +class="ec-lmtt-10x-x-109">tlmgr </span>v režimu GUI: Obecné volby</span></div><!--tex4ht:label?: x1-45002r9 --> +<!--l. 1803--><p class="noindent" ><img +src="../texlive-common/tlmgr-paper-options.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Obrázek 10: </span><span +class="content"><span +class="ec-lmtt-10x-x-109">tlmgr </span>v režimu GUI: +Volby rozměru papíru</span></div><!--tex4ht:label?: x1-45003r10 --> + + +<!--l. 1808--><p class="indent" > </div><hr class="endfigure"> +<!--l. 1810--><p class="indent" > <span class="TEX">T<span +class="E">E</span>X</span> Live obsahuje program nazvaný <span +class="ec-lmss-10x-x-109">tlmgr </span>pro správu <span class="TEX">T<span +class="E">E</span>X</span> Live po výchozí instalaci. Programy +<span +class="ec-lmss-10x-x-109">updmap</span>, <span +class="ec-lmss-10x-x-109">fmtutil </span>a <span +class="ec-lmss-10x-x-109">texconfig </span>jsou dosud zahrnuté a zůstanou i v budoucnosti, avšak preferovaným +rozhraním je nyní <span +class="ec-lmss-10x-x-109">tlmgr</span>. Jeho schopnosti zahrnují: + <ul class="itemize1"> + <li class="itemize">instalaci, aktualizaci, zálohování, obnovení a odinstalování jednotlivých balíků, + volitelně i se započítáním závislostí mezi balíky; + </li> + <li class="itemize">vyhledávání a přehled balíků, atd.; + </li> + <li class="itemize">výpis seznamu, přidání a odstranění platforem; + </li> + <li class="itemize">změna instalačních voleb jako například velikosti papíru a umístění zdrojů (viz + sekci <a +href="#x1-300003.3.1">3.3.1<!--tex4ht:ref: sec:location --></a>).</li></ul> + <h4 class="subsectionHead"><span class="titlemark">5.1 </span> <a + id="x1-460005.1"></a>GUI režim <span +class="ec-lmss-10x-x-109">tlmgr</span></h4> +<!--l. 1827--><p class="noindent" ><span +class="ec-lmss-10x-x-109">tlmgr </span>může být spuštěn v režimu GUI (obrázek <a +href="#x1-45001r8">8<!--tex4ht:ref: fig:tlmgr_gui --></a>) povelem <div class="alltt"> +<!--l. 1829--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">tlmgr</span><span +class="ec-lmtk-10x-x-109"> -gui</span> +</div> +</div> nebo ve Windows prostřednictvím Start menu: <span +class="ec-lmtt-10x-x-109">Start</span>, <span +class="ec-lmtt-10x-x-109">Programs</span>, <span +class="ec-lmtt-10x-x-109">TeX Live 2012</span>, <span +class="ec-lmtt-10x-x-109">TeX</span> +<span +class="ec-lmtt-10x-x-109">Live Manager</span>. Po kliknutí na ‘Load’se zobrazí seznam balíků, které jsou k dispozici, a +nainstalovaných balíků. Pochopitelně se předpokládá, že instalační zdroj je platný a +dosažitelný. +<!--l. 1839--><p class="indent" > Obrázky <a +href="#x1-45002r9">9<!--tex4ht:ref: fig:tlmgr_general_options --></a> a <a +href="#x1-45003r10">10<!--tex4ht:ref: fig:tlmgr_paper_options --></a> ukazují obrazovky obecných voleb a volby rozměru papíru. +<!--l. 1842--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">5.2 </span> <a + id="x1-470005.2"></a>Vzorové realizace <span +class="ec-lmss-10x-x-109">tlmgr </span>z příkazového řádku</h4> +<!--l. 1844--><p class="noindent" >Po výchozí instalaci můžete svůj systém aktualizovat na nejnovější dostupnou verzi pomocí: +<div class="alltt"> +<!--l. 1846--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">tlmgr</span><span +class="ec-lmtk-10x-x-109"> update</span><span +class="ec-lmtk-10x-x-109"> -all</span> +</div> +</div> Pokud vás to znepokojuje, zkuste nejdříve <div class="alltt"> +<!--l. 1850--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">tlmgr</span><span +class="ec-lmtk-10x-x-109"> update</span><span +class="ec-lmtk-10x-x-109"> -all</span><span +class="ec-lmtk-10x-x-109"> -dry-run</span> +</div> +</div> nebo (méně upovídané): <div class="alltt"> +<!--l. 1854--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">tlmgr</span><span +class="ec-lmtk-10x-x-109"> update</span><span +class="ec-lmtk-10x-x-109"> -list</span> +</div> +</div> +<!--l. 1858--><p class="indent" > Tento složitější příklad přidá z místního adresáře kolekci pro nástroj (engine) +Xe<span class="TEX">T<span +class="E">E</span>X</span>: + <div class="alltt"> +<!--l. 1861--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">tlmgr</span><span +class="ec-lmtk-10x-x-109"> -repository</span><span +class="ec-lmtk-10x-x-109"> /local/mirror/tlnet</span><span +class="ec-lmtk-10x-x-109"> install</span><span +class="ec-lmtk-10x-x-109"> collection-xetex</span> + + +</div> +</div> Vytvoří následující výstup (zkrácené): + <div class="fancyvrb" id="fancyvrb12"><a + id="x1-47002r1"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> install:</span><span +class="ec-lmtt-9"> collection-xetex</span><br class="fancyvrb" /><a + id="x1-47004r2"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> install:</span><span +class="ec-lmtt-9"> arabxetex</span><br class="fancyvrb" /><a + id="x1-47006r3"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ...</span><br class="fancyvrb" /><a + id="x1-47008r4"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> install:</span><span +class="ec-lmtt-9"> xetex</span><br class="fancyvrb" /><a + id="x1-47010r5"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> install:</span><span +class="ec-lmtt-9"> xetexconfig</span> +<br class="fancyvrb" /><a + id="x1-47012r6"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> install:</span><span +class="ec-lmtt-9"> xetex.i386-linux</span><br class="fancyvrb" /><a + id="x1-47014r7"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> running</span><span +class="ec-lmtt-9"> post</span><span +class="ec-lmtt-9"> install</span><span +class="ec-lmtt-9"> action</span><span +class="ec-lmtt-9"> for</span><span +class="ec-lmtt-9"> xetex</span><br class="fancyvrb" /><a + id="x1-47016r8"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> install:</span><span +class="ec-lmtt-9"> xetex-def</span><br class="fancyvrb" /><a + id="x1-47018r9"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ...</span><br class="fancyvrb" /><a + id="x1-47020r10"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> running</span><span +class="ec-lmtt-9"> mktexlsr</span> +<br class="fancyvrb" /><a + id="x1-47022r11"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> mktexlsr:</span><span +class="ec-lmtt-9"> Updating</span><span +class="ec-lmtt-9"> /usr/local/texlive/2012/texmf/ls-R...</span><br class="fancyvrb" /><a + id="x1-47024r12"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ...</span><br class="fancyvrb" /><a + id="x1-47026r13"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> running</span><span +class="ec-lmtt-9"> fmtutil-sys</span><span +class="ec-lmtt-9"> --missing</span><br class="fancyvrb" /><a + id="x1-47028r14"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ...</span> +<br class="fancyvrb" /><a + id="x1-47030r15"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> Transcript</span><span +class="ec-lmtt-9"> written</span><span +class="ec-lmtt-9"> on</span><span +class="ec-lmtt-9"> xelatex.log.</span><br class="fancyvrb" /><a + id="x1-47032r16"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> fmtutil:</span><span +class="ec-lmtt-9"> /usr/local/texlive/2012/texmf-var/web2c/xetex/xelatex.fmt</span><span +class="ec-lmtt-9"> installed.</span></div> +<!--l. 1884--><p class="indent" > Jak můžete vidět, <span +class="ec-lmss-10x-x-109">tlmgr </span>nainstaluje závislosti a postará se o všechny potřebné poinstalační +činnosti, včetně aktualizace databáze názvů souborů a (znovu)vygenerování formátů. Výše jsme +vytvořili nové formáty pro Xe<span class="TEX">T<span +class="E">E</span>X</span>. +<!--l. 1890--><p class="indent" > K popisu balíku (nebo kolekce či schémy) zadejte: <div class="alltt"> +<!--l. 1891--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">tlmgr</span><span +class="ec-lmtk-10x-x-109"> show</span><span +class="ec-lmtk-10x-x-109"> collection-latexextra</span> +</div> +</div> co vytvoří + <div class="fancyvrb" id="fancyvrb13"><a + id="x1-47034r1"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> package:</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> collection-latexextra</span><br class="fancyvrb" /><a + id="x1-47036r2"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> category:</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> Collection</span><br class="fancyvrb" /><a + id="x1-47038r3"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> shortdesc:</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> LaTeX</span><span +class="ec-lmtt-9"> supplementary</span><span +class="ec-lmtt-9"> packages</span> +<br class="fancyvrb" /><a + id="x1-47040r4"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> longdesc:</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> A</span><span +class="ec-lmtt-9"> large</span><span +class="ec-lmtt-9"> collection</span><span +class="ec-lmtt-9"> of</span><span +class="ec-lmtt-9"> add-on</span><span +class="ec-lmtt-9"> packages</span><span +class="ec-lmtt-9"> for</span><span +class="ec-lmtt-9"> LaTeX.</span><br class="fancyvrb" /><a + id="x1-47042r5"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> installed:</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> Yes</span><br class="fancyvrb" /><a + id="x1-47044r6"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> revision:</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> 14675</span></div> +<!--l. 1904--><p class="indent" > Nakonec to nejdůležitější – úplnou dokumentaci najdete na <a +href="http://tug.org/texlive/tlmgr.html" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/texlive/tlmgr.html</span></a> +nebo zadáním: <div class="alltt"> +<!--l. 1906--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">tlmgr</span><span +class="ec-lmtk-10x-x-109"> -help</span> +</div> +</div> +<!--l. 1910--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">6 </span> <a + id="x1-480006"></a>Poznámky o Windows</h3> +<!--l. 1913--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">6.1 </span> <a + id="x1-490006.1"></a>Vlastnosti typické pro Windows</h4> +<!--l. 1915--><p class="noindent" >Pod Windows dělá instalační program některé dodatečné věci: + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10x-x-109">Nab</span><span +class="ec-lmbx-10x-x-109">ídky a zkratky.</span> </dt><dd +class="description">Je nainstalována nová položka ‘<span class="TEX">T<span +class="E">E</span>X</span> Live’nabídky Start, obsahující + vstupy pro některé programy GUI (<span +class="ec-lmss-10x-x-109">tlmgr</span>, <span +class="ec-lmss-10x-x-109">texdoctk</span>, prohlížeč PostScriptu PS_View + (<span +class="ec-lmss-10x-x-109">psv</span>)) a trochu dokumentace. + </dd><dt class="description"> +<span +class="ec-lmbx-10x-x-109">P</span><span +class="ec-lmbx-10x-x-109">řidru</span><span +class="ec-lmbx-10x-x-109">žen</span><span +class="ec-lmbx-10x-x-109">í souborů.</span> </dt><dd +class="description">Pokud je to povoleno, <span +class="ec-lmss-10x-x-109">TeXworks</span>, <span +class="ec-lmss-10x-x-109">Dviout </span>a <span +class="ec-lmss-10x-x-109">PS_view </span>se buď stávají + předvolenými programy pro jejich příslušné typy souborů, nebo pro tyto typu + souborů získávají položku v nabídce ‘Otevřít pomocí’dostupnou kliknutím pravým + tlačítkem. + </dd><dt class="description"> +<span +class="ec-lmbx-10x-x-109">Konvertor bitmap na soubory form</span><span +class="ec-lmbx-10x-x-109">átu EPS.</span> </dt><dd +class="description">Různé formáty bitmapových souborů + mohou být vstupem programu <span +class="ec-lmss-10x-x-109">bitmap2eps </span>v jejich položce ‘Otevřít pomocí’nabídky + dostupné kliknutím pravým tlačítkem. <span +class="ec-lmss-10x-x-109">Bitmap2eps </span>je jednoduchý skript, který + skutečnou práci ponechává na programech <span +class="ec-lmss-10x-x-109">sam2p </span>nebo <span +class="ec-lmss-10x-x-109">bmeps</span>. + </dd><dt class="description"> +<span +class="ec-lmbx-10x-x-109">Automatick</span><span +class="ec-lmbx-10x-x-109">é nastaven</span><span +class="ec-lmbx-10x-x-109">í prom</span><span +class="ec-lmbx-10x-x-109">ěnn</span><span +class="ec-lmbx-10x-x-109">é path.</span> </dt><dd +class="description">Nevyžadují se žádné kroky ruční + konfigurace. + </dd><dt class="description"> +<span +class="ec-lmbx-10x-x-109">Odinstal</span><span +class="ec-lmbx-10x-x-109">átor.</span> </dt><dd +class="description">Instalační program vytvoří položku pro <span class="TEX">T<span +class="E">E</span>X</span> Live pod nabídkou + ‘Add/Remove Programs’. Vztahuje se k tomu záložka ‘Uninstallation’GUI programu + <span class="TEX">T<span +class="E">E</span>X</span> Live Manager.</dd></dl> + + +<!--l. 1939--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">6.2 </span> <a + id="x1-500006.2"></a>Dodatečný obsažený software pod Windows</h4> +<!--l. 1941--><p class="noindent" >Pro úplnost, instalace <span class="TEX">T<span +class="E">E</span>X</span> Live potřebuje další balíky a programy, které na stroji s Windows +obvykle nenajdete. <span class="TEX">T<span +class="E">E</span>X</span> Live poskytuje chybějící součásti: + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10x-x-109">Perl a Ghostscript.</span> </dt><dd +class="description">Kvůli důležitosti Perlu a Ghostscriptu zahrnuje <span class="TEX">T<span +class="E">E</span>X</span> Live ‘skryté’kopie + těchto programů. Programy <span class="TEX">T<span +class="E">E</span>X</span> Live, které je potřebují, vědí, kde je najdou, ale + neprozrazují jejich přítomnost nastavením proměnných prostředí nebo registrů. Nejsou + to úplné instalace a neměly by překážet žádným systémovým instalacím Perlu nebo + Ghostscriptu. + </dd><dt class="description"> +<span +class="ec-lmbx-10x-x-109">PS_View.</span> </dt><dd +class="description">Nainstalován je také PS_View, prohlížeč PostScript a PDF souborů; viz obr. <a +href="#x1-50001r11">11<!--tex4ht:ref: fig:psview --></a>. + <!--l. 1955--><p class="noindent" ><hr class="figure"><div class="figure" +><a + id="x1-50001r11"></a> <img +src="../texlive-common/psview.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Obrázek 11: </span><span +class="content">PS_View: k dispozici jsou velmi vysoká zvětšení!</span></div><!--tex4ht:label?: x1-50001r11 --> + <!--l. 1958--><p class="noindent" ></div><hr class="endfigure"> + </dd><dt class="description"> +<span +class="ec-lmbx-10x-x-109">dviout.</span> </dt><dd +class="description">Nainstalován je také <span +class="ec-lmss-10x-x-109">dviout</span>, prohlížeč DVI souborů. Nejdříve, když prohlížíte soubory + pomocí <span +class="ec-lmss-10x-x-109">dviout</span>, vytvoří tento fonty, protože fonty pro obrazovku nebyly nainstalovány. Po + chvilce budete mít vytvořenu většinu fontů pro použití a okno vytváření fontů uvidíte už + jen zřídka. Více informací je možné nalézt ve (velmi doporučené) odpovídající + nápovědě. + </dd><dt class="description"> +<span class="TEX"><span +class="ec-lmbx-10x-x-109">T</span><span +class="E"><span +class="ec-lmbx-10x-x-109">E</span></span><span +class="ec-lmbx-10x-x-109">X</span></span><span +class="ec-lmbx-10x-x-109">works.</span> </dt><dd +class="description"><span class="TEX">T<span +class="E">E</span>X</span>works je <span class="TEX">T<span +class="E">E</span>X</span>ovsky orientovaný editor se zabudovaným prohlížečem PDF. Je již + pro <span class="TEX">T<span +class="E">E</span>X</span> Live nakonfigurován. + </dd><dt class="description"> +<span +class="ec-lmbx-10x-x-109">N</span><span +class="ec-lmbx-10x-x-109">ástroje p</span><span +class="ec-lmbx-10x-x-109">ř</span><span +class="ec-lmbx-10x-x-109">íkazov</span><span +class="ec-lmbx-10x-x-109">ého </span><span +class="ec-lmbx-10x-x-109">ř</span><span +class="ec-lmbx-10x-x-109">ádku.</span> </dt><dd +class="description">Řada běžných unixových programů řízených z příkazového + řádku je nainstalovaných pod Windows spolu s běžnými binárkami <span class="TEX">T<span +class="E">E</span>X</span> Live. Tyto zahrnují + programy <span +class="ec-lmss-10x-x-109">gzip</span>, <span +class="ec-lmss-10x-x-109">unzip </span>programy ze skupiny <span +class="ec-lmss-10x-x-109">xpdf </span>(<span +class="ec-lmss-10x-x-109">pdfinfo</span>, <span +class="ec-lmss-10x-x-109">pdffonts</span>, …) a běžné unixové programy + užívané na příkazové řádce. Samotný prohlížeč <span +class="ec-lmss-10x-x-109">xpdf </span>není k dispozici pro Windows. + Namísto něho si můžete z <a +href="http://blog.kowalczyk.info/software/sumatrapdf" class="url" ><span +class="ec-lmtt-10x-x-109">http://blog.kowalczyk.info/software/sumatrapdf</span></a> + stáhnout prohlížeč PDF Sumatra, který je založen na <span +class="ec-lmss-10x-x-109">xpdf</span>, společně s dalšími + možnostmi. + </dd><dt class="description"> +<span +class="ec-lmbx-10x-x-109">fc-list, fc-cache, </span><span +class="ec-lmbx-10x-x-109">…</span> </dt><dd +class="description">Nástroj z knihovny fontconfig pomáhá Xe<span class="TEX">T<span +class="E">E</span>X</span>u efektivněji zacházet s fonty + pod Windows. Můžete použít <span +class="ec-lmss-10x-x-109">fc-list </span>k určení jmen fontů k předání příkazu Xe<span class="TEX">T<span +class="E">E</span>X</span>u <span +class="ec-lmtt-10x-x-109">\font</span> + s rozšířenou funkcionalitou. Pokud je to potřebné, nejdříve spusťte <span +class="ec-lmss-10x-x-109">fc-cache </span>k aktualizaci + informací o fontech.</dd></dl> +<!--l. 1992--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">6.3 </span> <a + id="x1-510006.3"></a>User Profile je Home</h4> +<!--l. 1994--><p class="noindent" >Windowsovský protějšek domovského (home) adresáře Unixu je adresář <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">%USERPROFILE%</span></span></span>. Pod +Windows XP je to obvykle <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">C:\Documents</span><span +class="ec-lmtt-10x-x-109"> and</span><span +class="ec-lmtt-10x-x-109"> Settings\<username></span></span></span> a pod Windows Vista a +Windows 7 je to <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">C:\Users\<username></span></span></span>. V souboru <span +class="ec-lmtt-10x-x-109">texmf.cnf </span>a obecně pro Kpathsea, se bude <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">~</span></span></span> +expandovat přiměřeně v obou systémech Windows a Unix. +<!--l. 2002--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">6.4 </span> <a + id="x1-520006.4"></a>Registry Windows</h4> +<!--l. 2004--><p class="noindent" >Windows ukládá téměř všechny konfigurační údaje do svých registrů. Registr obsahuje soubor +hierarchicky uspořádaných klíčů, s několika kořenovými klíči. Nejdůležitější pro instalační +programy jsou stručně řečeno <span +class="ec-lmtt-10x-x-109">HKEY_CURRENT_USER </span>a <span +class="ec-lmtt-10x-x-109">HKEY_LOCAL_MACHINE</span>, <span +class="ec-lmtt-10x-x-109">HKCU </span>a <span +class="ec-lmtt-10x-x-109">HKLM</span>. Část <span +class="ec-lmtt-10x-x-109">HKCU</span> +registru je v domovském adresáři uživatele (viz sekci <a +href="#x1-510006.3">6.3<!--tex4ht:ref: sec:winhome --></a>). <span +class="ec-lmtt-10x-x-109">HKLM </span>je obvykle v podadresáři adresáře +Windows. + + +<!--l. 2012--><p class="indent" > V některých případech je možné získat systémové informace z proměnných prostředí, ale pro +další informace, kupříkladu umístění zkratek, je nutné nahlédnout do registrů. Trvalé nastavení +proměnných prostředí si rovněž vyžaduje přístup k registrům. +<!--l. 2017--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">6.5 </span> <a + id="x1-530006.5"></a>Oprávnění Windows</h4> +<!--l. 2020--><p class="noindent" >V novějších verzích Windows se dělá rozdíl mezi běžnými uživateli a administrátory, když pouze +posledně zmínění mají volný přístup k celému operačnímu systému. Ve skutečnosti můžete tyto +třídy uživatelů raději označit jako neprivilegovaní uživatelé a normální uživatelé: být +administrátorem je pravidlo, ne výjimka. Přesto jsme se snažili učinit <span class="TEX">T<span +class="E">E</span>X</span> Live instalovatelným bez +administrativních výsad. +<!--l. 2027--><p class="indent" > Pokud je uživatelem administrátor, je možnost instalovat i pro všechny uživatele počítače. +Pokud je tato volba zvolena, odkazy (shortcuts) se vytvářejí pro všechny uživatele a systémové +prostředí se upravuje. Jinak jsou odkazy a položky nabídky vytvářeny pouze pro aktuálního +uživatele a upravuje se jen jeho prostředí. +<!--l. 2036--><p class="indent" > Bez ohledu na status administrátora je standardní kořenový adresář <span class="TEX">T<span +class="E">E</span>X</span> Live navržený +instalačním programem vždycky pod <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">%SystemDrive%</span></span></span>. Instalátor vždy testuje, zda je kořenový +adresář zapisovatelný pro aktuálního uživatele. +<!--l. 2041--><p class="indent" > Problém se může vyskytnout, pokud uživatel není administrátor a <span class="TEX">T<span +class="E">E</span>X</span> již existuje ve +vyhledávací cestě. Protože skutečná cesta se sestává ze systémové cesty následované uživatelskou +cestou, nový <span class="TEX">T<span +class="E">E</span>X</span> Live by nikdy neměl získat přednost. Jako bezpečnostní opatření vytváří +instalátor odkaz na příkazový řádek (command-prompt), ve kterém je adresář binárek nového <span class="TEX">T<span +class="E">E</span>X</span> +Live předřazený lokální vyhledávací cestě. Nový <span class="TEX">T<span +class="E">E</span>X</span> Live bude pořád použitelný, když bude +běžet v relaci příkazového řádku spuštěné z takového odkazu. Odkaz na <span class="TEX">T<span +class="E">E</span>X</span>works, pokud je +nainstalován, rovněž předřadí <span class="TEX">T<span +class="E">E</span>X</span> Live k vyhledávací cestě, proto by měl být imunní vůči +tomuto problému cest. +<!--l. 2052--><p class="indent" > Pro Windows Vista a Windows 7 je tady jiná zrůdnost: dokonce i když jste přihlášen jako +správce, musíte explicitně požádat o správcovské práva. Ve skutečnosti nemá význam +přihlašovat se jako správce. Místo toho, kliknutí pravým tlačítkem na program nebo +odkaz, který chcete použít, vám obvykle nabídne volbu ‘Spustit jako správce/Run as +administrator’. +<!--l. 2061--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">6.6 </span> <a + id="x1-540006.6"></a>Zvětšení maxima paměti pod Windows a Cygwin</h4> +<!--l. 2064--><p class="noindent" >Uživatelé Windows a Cygwin (pro zvláštnosti instalace Cygwin viz oddíl <a +href="#x1-200003.1.4">3.1.4<!--tex4ht:ref: sec:cygwin --></a>) mohou zjistit, že +při běhu některých programů dodaných s <span class="TEX">T<span +class="E">E</span>X</span> Live, trpí nedostatkem paměti. Například, <span +class="ec-lmss-10x-x-109">asy</span> +zhavaruje pro nedostatek paměti pokud se pokusíte alokovat pole 25,000,000 reálných čísel a +Lua<span class="TEX">T<span +class="E">E</span>X</span> může mít málo paměti pokud zkusíte zpracovat dokument s velkým množstvím +rozsáhlých fontů. +<!--l. 2072--><p class="indent" > Pro Cygwin můžete zvětšit množství dostupné paměti podle návodu v příručce the Cygwin +User’s Guide (<a +href="http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html" class="url" ><span +class="ec-lmtt-10x-x-109">http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html</span></a>). +<!--l. 2076--><p class="indent" > Pro Windows musíte vytvořit soubor, například <span +class="ec-lmtt-10x-x-109">moremem.reg</span>, obsahující tyto čtyři +řádky: +<!--l. 2079--><p class="indent" > + <div class="fancyvrb" id="fancyvrb14"><a + id="x1-54002r1"></a><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> Windows</span><span +class="ec-lmtt-10"> Registry</span><span +class="ec-lmtt-10"> Editor</span><span +class="ec-lmtt-10"> Version</span><span +class="ec-lmtt-10"> 5.00</span><br class="fancyvrb" /><a + id="x1-54004r2"></a><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><br class="fancyvrb" /><a + id="x1-54006r3"></a><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> [HKEY_LOCAL_MACHINE\Software\Cygwin]</span><br class="fancyvrb" /><a + id="x1-54008r4"></a><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> "heap_chunk_in_mb"=dword:ffffff00</span></div> +<!--l. 2086--><p class="noindent" >a pak spustit povel <span +class="ec-lmtt-10x-x-109">regedit /s moremem.reg </span>jako administrátor. (Pokud si přejete změnit paměť +pouze pro stávajícího uživatele místo všech, použijte <span +class="ec-lmtt-10x-x-109">HKEY_CURRENT_USER</span>.) +<!--l. 2094--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">7 </span> <a + id="x1-550007"></a>Používateľská príručka ku systému Web2C</h3> +<!--l. 2095--><p class="noindent" >Web2C obsahuje množinu <span class="TEX">T<span +class="E">E</span>X</span>-príbuzných programov, t.j. samotný <span class="TEX">T<span +class="E">E</span>X</span>, Metafont, MetaPost, +BibTeX, atď. Je to srdce systému <span class="TEX">T<span +class="E">E</span>X</span> Live. Domovská stránka Web2C, s aktuálnou príručkou a +ďalšími vecami, je <a +href="http://tug.org/web2c" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/web2c</span></a>. + + +<!--l. 2100--><p class="indent" > Trochu histórie: originálna implementácia pochádza od Thomasa Rokického, ktorý +v roku 1987 vyvinul prvý <span class="TEX">T<span +class="E">E</span>X</span>-to-C systém založený na zmenových súboroch systému +pre Unix, ktoré boli v prvom rade pôvodnou prácou Howarda Trickeya a Pavla Curtisa. +Tim Morgan sa stal spravovateľom systému a počas jeho obdobia sa meno zmenilo na +Web-to-C. V roku 1990 Karl Berry prebral túto prácu, asistoval pri tuctoch dodatočných +príspevkov a v roku 1997 podal taktovku Olafovi Weberovi, ktorý ju v roku 2006 vrátil +Karlovi. +<!--l. 2109--><p class="indent" > Web2C systém beží pod Unixom, 32bitovými Windows, MacOSX a inými operačnými +systémami. Používa originálne <span class="TEX">T<span +class="E">E</span>X</span> zdrojové súbory od Knutha a ostatné základné programy +napísané v systéme kultivovaného programovania <span +class="ec-lmtt-10x-x-109">WEB</span>, ktoré sú preložené do zdrojového kódu +jazyka C. Základné programy <span class="TEX">T<span +class="E">E</span>X</span>u sú spracované týmto spôsobom: + <dl class="description"><dt class="description"> +<span +class="ec-lmss-10x-x-109">bibtex</span> </dt><dd +class="description">Spravovanie bibliografií. + </dd><dt class="description"> +<span +class="ec-lmss-10x-x-109">dvicopy</span> </dt><dd +class="description">Vytváranie modifikovanej kópie DVI súboru. + </dd><dt class="description"> +<span +class="ec-lmss-10x-x-109">dvitomp</span> </dt><dd +class="description">Konverzia DVI do MPX (MetaPost obrázky). + </dd><dt class="description"> +<span +class="ec-lmss-10x-x-109">dvitype</span> </dt><dd +class="description">Konverzia DVI do ľudsky čitateľného textu. + </dd><dt class="description"> +<span +class="ec-lmss-10x-x-109">gftodvi</span> </dt><dd +class="description">Generovanie fontov pre náhľad. + </dd><dt class="description"> +<span +class="ec-lmss-10x-x-109">gftopk</span> </dt><dd +class="description">Konverzia gf formátu fontov do pakovaných fontov. + </dd><dt class="description"> +<span +class="ec-lmss-10x-x-109">gftype</span> </dt><dd +class="description">Konverzia gf formátu fontov do ľudsky čitateľného textu. + </dd><dt class="description"> +<span +class="ec-lmss-10x-x-109">mf</span> </dt><dd +class="description">Metafont – vytváranie rodín fontov. + </dd><dt class="description"> +<span +class="ec-lmss-10x-x-109">mft</span> </dt><dd +class="description">Preddefinované Metafontové zdrojové súbory. + </dd><dt class="description"> +<span +class="ec-lmss-10x-x-109">mpost</span> </dt><dd +class="description">MetaPost – tvorba technických diagramov. + </dd><dt class="description"> +<span +class="ec-lmss-10x-x-109">patgen</span> </dt><dd +class="description">Vytváranie vzorov rozdeľovania slov. + </dd><dt class="description"> +<span +class="ec-lmss-10x-x-109">pktogf</span> </dt><dd +class="description">Konverzia pakovaných formátov fontov do gf formátov. + </dd><dt class="description"> +<span +class="ec-lmss-10x-x-109">pktype</span> </dt><dd +class="description">Konverzia pakovaných písiem do ľudsky čitateľného textu. + </dd><dt class="description"> +<span +class="ec-lmss-10x-x-109">pltotf</span> </dt><dd +class="description">Konverzia ‘Property list’do TFM. + </dd><dt class="description"> +<span +class="ec-lmss-10x-x-109">pooltype</span> </dt><dd +class="description">Zobrazovanie ,<span +class="ec-lmtt-10x-x-109">WEB </span>pool‘ súborov. + </dd><dt class="description"> +<span +class="ec-lmss-10x-x-109">tangle</span> </dt><dd +class="description">Konverzia <span +class="ec-lmtt-10x-x-109">WEB </span>súborov do Pascalu. + </dd><dt class="description"> +<span +class="ec-lmss-10x-x-109">tex</span> </dt><dd +class="description"><span class="TEX">T<span +class="E">E</span>X</span> – sadzba. + </dd><dt class="description"> +<span +class="ec-lmss-10x-x-109">tftopl</span> </dt><dd +class="description">Konverzia TFM do ‘property list’. + + + </dd><dt class="description"> +<span +class="ec-lmss-10x-x-109">vftovp</span> </dt><dd +class="description">Konverzia virtuálneho fontu do virtuálneho ‘property list’. + </dd><dt class="description"> +<span +class="ec-lmss-10x-x-109">vptovf</span> </dt><dd +class="description">Konverzia virtuálneho ‘property list’do virtuálneho fontu. + </dd><dt class="description"> +<span +class="ec-lmss-10x-x-109">weave</span> </dt><dd +class="description">Konverzia <span +class="ec-lmtt-10x-x-109">WEB </span>súborov do <span class="TEX">T<span +class="E">E</span>X</span>u.</dd></dl> +<!--l. 2143--><p class="noindent" >Presné funkcie a syntax týchto programov sú popísané v dokumentáciách jednotlivých balíkov alebo +v dokumentácii Web2C. Napriek tomu, poznanie niekoľkých princípov, ktoré platia pre celý balík +programov, vám pomôže vyťažiť čo najviac z vašej Web2C inštalácie. +<!--l. 2149--><p class="indent" > Všetky programy dodržiavajú štandardné GNU voľby: +<!--l. 2151--><p class="indent" > + <dl class="description"><dt class="description"> +<span +class="ec-lmtk-10x-x-109">–help</span> </dt><dd +class="description">Vypisuje prehľad základného používania. + </dd><dt class="description"> +<span +class="ec-lmtk-10x-x-109">–verbose</span> </dt><dd +class="description">Vypisuje detailnú správu spracovania. + </dd><dt class="description"> +<span +class="ec-lmtk-10x-x-109">–version</span> </dt><dd +class="description">Vypisuje informáciu o verzii, potom skončí.</dd></dl> +<!--l. 2157--><p class="indent" > Na vyhľadávanie súborov používajú Web2C programy prehľadávaciu knižnicu Kpathsea +(<a +href="http://tug.org/kpathsea" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/kpathsea</span></a>). Táto knižnica používa kombináciu premenných prostredia a +niekoľkých konfiguračných súborov na optimalizáciu prehľadávania adresárového stromu <span class="TEX">T<span +class="E">E</span>X</span>u. +Web2C zvládne prácu s viacerými adresárovými stromami súčasne, čo je užitočné, ak niekto chce +udržiavať štandardnú distribúciu <span class="TEX">T<span +class="E">E</span>X</span>u a jeho lokálne a osobné rozšírenia v rozličných +stromoch. Na urýchlenie vyhľadávania súborov, koreň každého stromu obsahuje súbor <span +class="ec-lmtt-10x-x-109">ls-R </span>so +záznamom obsahujúcim meno a relatívnu cestu ku všetkým súborom umiestneným pod týmto +koreňom. +<!--l. 2170--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">7.1 </span> <a + id="x1-560007.1"></a>Vyhľadávanie ciest knižnicou Kpathsea</h4> +<!--l. 2172--><p class="noindent" >Najprv popíšeme všeobecný mechanizmus vyhľadávania ciest knižnicou Kpathsea. +<!--l. 2175--><p class="indent" > <span +class="ec-lmri-10x-x-109">Vyh</span><span +class="ec-lmri-10x-x-109">ľad</span><span +class="ec-lmri-10x-x-109">ávacou cestou </span>nazveme zoznam <span +class="ec-lmri-10x-x-109">elementov cesty</span>, ktorými sú v prvom rade mená adresárov +oddelené dvojbodkou alebo bodkočiarkou. Vyhľadávacia cesta môže pochádzať z viacerých zdrojov. +Pri vyhľadávaní súboru ‘<span +class="ec-lmtt-10x-x-109">my-file</span>’ podľa cesty ‘<span +class="ec-lmtt-10x-x-109">.:/dir</span>’, Kpathsea skontroluje každý element cesty: +najprv <span +class="ec-lmtt-10x-x-109">./my-file</span>, potom <span +class="ec-lmtt-10x-x-109">/dir/my-file</span>, vracajúc prvý zodpovedajúci nájdený prvok (alebo +prípadne všetky zodpovedajúce prvky). +<!--l. 2184--><p class="indent" > Aby bolo dosiahnuté prispôsobenie sa konvenciám čo možno najviac operačných systémov, na +neunixových systémoch Kpathsea môže používať oddeľovače názvov súborov rôzne od dvojbodky +(‘<span +class="ec-lmtt-10x-x-109">:</span>’) a lomítka (‘<span +class="ec-lmtt-10x-x-109">/</span>’). +<!--l. 2189--><p class="indent" > Pri kontrolovaní určitého elementu cesty <span +class="ec-lmro-10x-x-109">p </span>Kpathsea najprv overí, či sa na naň nevzťahuje +vopred vybudovaná databáza (pozri ,Databáza názvov súborov‘ na strane <a +href="#x1-640007.2">63<!--tex4ht:ref: sec:filename.database --></a>), t. j., či sa databáza +nachádza v adresári, ktorý je prefixom <span +class="ec-lmro-10x-x-109">p</span>. Ak to tak je, špecifikácia cesty sa porovnáva s obsahom +databázy. +<!--l. 2196--><p class="indent" > Ak databáza neexistuje, alebo sa nevzťahuje na tento element cesty, alebo sa v nej hľadaný +súbor nevyskytuje, celý systém súborov je prehľadaný (pokiaľ to nebolo zakázané špecifikáciou +začínajúcou ‘<span +class="ec-lmtt-10x-x-109">!!</span>’ a hľadaný súbor musí existovať). Kpathsea zostrojí zoznam adresárov +zodpovedajúcich tomuto elementu cesty a potom skontroluje každý z nich, či sa v ňom nenachádza +hľadaný súbor. +<!--l. 2203--><p class="indent" > Podmienka ,súbor musí existovať‘ sa týka napr. súborov typu ‘<span +class="ec-lmtt-10x-x-109">.vf</span>’ a vstupných súborov +čítaných príkazom <span class="TEX">T<span +class="E">E</span>X</span>u <span +class="ec-lmtt-10x-x-109">\openin</span>. Takéto súbory nemusia existovať (napr. <span +class="ec-lmtt-10x-x-109">cmr10.vf</span>) a nebolo by +dobré prehľadávať kvôli nim celý disk. Preto, ak zabudnete aktualizovať <span +class="ec-lmtt-10x-x-109">ls-R </span>pri inštalácii +nového ‘<span +class="ec-lmtt-10x-x-109">.vf</span>’ súboru, súbor nebude nikdy nájdený. Každý element cesty sa prekontroluje: +najprv databáza, potom disk. Keď je súbor nájdený, vyhľadávanie sa zastaví a výsledok je +vrátený. + + +<!--l. 2212--><p class="indent" > Hoci najjednoduchší a najbežnejší element cesty je meno adresáru, Kpathsea podporuje aj iné +zdroje vo vyhľadávacích cestách: dedičné (layered) štandardné hodnoty, mená premenných +prostredia, hodnoty súboru <span +class="ec-lmtt-10x-x-109">config</span>, domáce adresáre používateľov a rekurzívne prehľadávanie +podadresárov. Preto, ak hovoríme, že Kpathsea <span +class="ec-lmri-10x-x-109">rozbal</span><span +class="ec-lmri-10x-x-109">í </span>element cesty, znamená to, že +pretransformuje všetky špecifikácie do základného mena alebo mien adresárov. Toto je popísané +v nasledujúcich odsekoch. +<!--l. 2221--><p class="indent" > Všimnite si, že keď je meno hľadaného súboru vyjadrené absolútne alebo explicitne relatívne, +t. j. začína ‘<span +class="ec-lmtt-10x-x-109">/</span>’ alebo ‘<span +class="ec-lmtt-10x-x-109">./</span>’ alebo ‘<span +class="ec-lmtt-10x-x-109">../</span>’, Kpathsea jednoducho skontroluje, či taký súbor +existuje. +<!--l. 2235--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">7.1.1 </span> <a + id="x1-570007.1.1"></a>Zdroje cesty</h5> +<!--l. 2237--><p class="noindent" >Vyhľadávacia cesta môže byť vytvorená z rôznych zdrojov. Kpathsea ich používa v tomto +poradí: + <ol class="enumerate1" > + <li + class="enumerate" id="x1-57002x1">Používateľom nastavená premenná prostredia, napríklad <span +class="ec-lmtt-10x-x-109">TEXINPUTS</span>. Premenné + prostredia s pridanou bodkou a menom programu majú prednosť pred premennými + rovnakého mena, ale bez prípony. Napríklad, keď ‘<span +class="ec-lmtt-10x-x-109">latex</span>’ je meno práve bežiaceho + programu, potom premenná <span +class="ec-lmtt-10x-x-109">TEXINPUTS.latex </span>prepíše <span +class="ec-lmtt-10x-x-109">TEXINPUTS</span>. + </li> + <li + class="enumerate" id="x1-57004x2">Programovo-špecifický konfiguračný súbor, napríklad riadok ,<span +class="ec-lmtt-10x-x-109">S /a:/b</span>‘ v súbore + <span +class="ec-lmtt-10x-x-109">config.ps </span><span +class="ec-lmss-10x-x-109">dvips</span>. + </li> + <li + class="enumerate" id="x1-57006x3">Konfiguračný súbor Kpathsea — <span +class="ec-lmtt-10x-x-109">texmf.cnf</span>, obsahujúci riadok ako ‘<span +class="ec-lmtt-10x-x-109">TEXINPUTS=/c:/d</span>’ + (pozri ďalej). + </li> + <li + class="enumerate" id="x1-57008x4">Predvolené hodnoty počas kompilácie.</li></ol> +<!--l. 2253--><p class="noindent" >Všetky tieto hodnoty vyhľadávacej cesty môžete prezerať použitím ladiacích možností (pozri +,Ladenie‘ na strane <a +href="#x1-680007.2.4">66<!--tex4ht:ref: sec:debugging --></a>). +<!--l. 2257--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">7.1.2 </span> <a + id="x1-580007.1.2"></a>Konfiguračné súbory</h5> +<!--l. 2259--><p class="noindent" >Kpathsea číta počas behu z <span +class="ec-lmri-10x-x-109">konfigura</span><span +class="ec-lmri-10x-x-109">čn</span><span +class="ec-lmri-10x-x-109">ých s</span><span +class="ec-lmri-10x-x-109">úborov </span>s menom <span +class="ec-lmtt-10x-x-109">texmf.cnf </span>vyhľadávaciu cestu a +ďalšie definície. Vyhľadávacia cesta používaná na hľadanie týchto súborov sa volá <span +class="ec-lmtt-10x-x-109">TEXMFCNF</span>, ale +neodporúčame nastavovať túto (ani iné) premennú prostredia. +<!--l. 2265--><p class="indent" > Namiesto toho normálna inštalácia vyústi do súboru <span +class="ec-lmtt-10x-x-109">.../2012/texmf.cnf</span>. Ak musíte +vykonať zmeny implicitných nastavení (obyčajne to nie je nutné), toto je miesto, kam sa +majú vložiť. Hlavný konfiguračný súbor je <span +class="ec-lmtt-10x-x-109">.../2012/texmf/web2c/texmf.cnf</span>. Nesmiete +editovať tento neskorší súbor, pretože vaše zmeny budú stratené pri obnove šírenej +verzie. +<!--l. 2272--><p class="indent" > <span +class="ec-lmri-10x-x-109">V</span><span +class="ec-lmri-10x-x-109">šetky </span>súbory <span +class="ec-lmtt-10x-x-109">texmf.cnf </span>vo vyhľadávacej ceste budú prečítané a definície v starších súboroch +prepíšu definície v novších súboroch. Napríklad, pri vyhľadávacej ceste <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">.:$TEXMF</span></span></span>, hodnoty +z <span +class="ec-lmtt-10x-x-109">./texmf.cnf </span>prepíšu hodnoty z <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">$TEXMF/texmf.cnf</span></span></span>. + <ul class="itemize1"> + <li class="itemize">Komentáre začínajú znakom ,<span +class="ec-lmtt-10x-x-109">%</span>‘ a pokračujú do konca riadku. + </li> + <li class="itemize">Prázdne riadky sú ignorované. + </li> + <li class="itemize">Znak <span +class="ec-lmtt-10x-x-109">\ </span>na konci riadku slúži ako pokračovací znak, t.j. nasledujúci riadok je k nemu + pripojený. Prázdne znaky na začiatku pripájaných riadkov nie sú ignorované. + + + </li> + <li class="itemize">Všetky ostatné riadky majú tvar: <div class="alltt"> + <!--l. 2290--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmro-10x-x-109">variable</span><span +class="ec-lmtt-10x-x-109">[.</span><span +class="ec-lmro-10x-x-109">progname</span><span +class="ec-lmtt-10x-x-109">]</span><span +class="ec-lmtt-10x-x-109"> [=]</span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmro-10x-x-109">value</span> +</div> + </div>kde ‘<span +class="ec-lmtt-10x-x-109">=</span>’ a prázdne znaky naokolo sú nepovinné. + </li> + <li class="itemize">Meno premennej ,<span +class="ec-lmro-10x-x-109">variable</span>‘ môže obsahovať akékoľvek znaky okrem prázdnych znakov, ‘<span +class="ec-lmtt-10x-x-109">=</span>’, + alebo ‘<span +class="ec-lmtt-10x-x-109">.</span>’, ale obmedziť sa na znaky ‘<span +class="ec-lmtt-10x-x-109">A-Za-z_</span>’ je najbezpečnejšie. + </li> + <li class="itemize">Ak je ,<span +class="ec-lmtt-10x-x-109">.</span><span +class="ec-lmro-10x-x-109">progname</span>‘ neprázdne, definícia sa použije iba vtedy, keď práve bežiaci program má + meno <span +class="ec-lmro-10x-x-109">progname </span>alebo <span +class="ec-lmro-10x-x-109">progname</span><span +class="ec-lmtt-10x-x-109">.exe</span>. Toto umožňuje napríklad mať pre rôzne nadstavby + <span class="TEX">T<span +class="E">E</span>X</span>u rôzne vyhľadávacie cesty. + </li> + <li class="itemize">Hodnota ,<span +class="ec-lmro-10x-x-109">value</span>‘ môže obsahovať akékoľvek znaky okrem ,<span +class="ec-lmtt-10x-x-109">%</span>‘ a ‘<span +class="ec-lmtt-10x-x-109">@</span>’. Na pravej strane nie je + možné použiť ,<span +class="ec-lmtt-10x-x-109">$</span><span +class="ec-lmro-10x-x-109">var</span><span +class="ec-lmtt-10x-x-109">.</span><span +class="ec-lmro-10x-x-109">prog</span>‘; namiesto toho musíte použiť ďalšiu premennú. Znak + ‘<span +class="ec-lmtt-10x-x-109">;</span>’ vo ,<span +class="ec-lmro-10x-x-109">value</span>‘ je preložený do ‘<span +class="ec-lmtt-10x-x-109">:</span>’ ak sme pod operačným systémom Unix. Toto je + užitočné, keď chceme mať jediný <span +class="ec-lmtt-10x-x-109">texmf.cnf </span>súbor pre systémy Unix, MSDOS a + Windows. + </li> + <li class="itemize">Všetky definície sú prečítané skôr, ako sa expandujú. Preto môžu existovať referencie na + premenné skôr, ako sú tieto definované.</li></ul> +<!--l. 2315--><p class="noindent" >Ukážkový úsek konfiguračného súboru, ilustrujúci väčšinu týchto bodov: + <div class="fancyvrb" id="fancyvrb15"> +<a + id="x1-58002r1"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> TEXMF</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> =</span><span +class="ec-lmtt-8"> {$TEXMFLOCAL,!!$TEXMFMAIN}</span> +<br class="fancyvrb" /><a + id="x1-58004r2"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> TEXINPUTS.latex</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> =</span><span +class="ec-lmtt-8"> .;$TEXMF/tex/{latex,generic;}//</span> +<br class="fancyvrb" /><a + id="x1-58006r3"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> TEXINPUTS.fontinst</span><span +class="ec-lmtt-8"> =</span><span +class="ec-lmtt-8"> .;$TEXMF/tex//;$TEXMF/fonts/afm//</span> +<br class="fancyvrb" /><a + id="x1-58008r4"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> %</span><span +class="ec-lmtt-8"> e-TeX</span><span +class="ec-lmtt-8"> related</span><span +class="ec-lmtt-8"> files</span> +<br class="fancyvrb" /><a + id="x1-58010r5"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> TEXINPUTS.elatex</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> =</span><span +class="ec-lmtt-8"> .;$TEXMF/{etex,tex}/{latex,generic;}//</span> +<br class="fancyvrb" /><a + id="x1-58012r6"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> TEXINPUTS.etex</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> =</span><span +class="ec-lmtt-8"> .;$TEXMF/{etex,tex}/{eplain,plain,generic;}//</span> + </div> +<!--l. 2323--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">7.1.3 </span> <a + id="x1-590007.1.3"></a>Expanzia cesty</h5> +<!--l. 2326--><p class="noindent" >Kpathsea rozpoznáva určité zvláštne znaky a konštrukcie vo vyhľadávacích cestách podobné tým, +čo existujú v prostrediach unixovských interprétov príkazového riadku (shells). Ako +všeobecný príklad uvedieme komplexnú cestu <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">~$USER/{foo,bar}//baz</span></span></span>, ktorá sa expanduje do +všetkých podadresárov pod adresármi <span +class="ec-lmtt-10x-x-109">foo </span>a <span +class="ec-lmtt-10x-x-109">bar </span>v domovskom adresári používateľa +<span +class="ec-lmtt-10x-x-109">$USER</span>, ktorý obsahuje adresár alebo súbor <span +class="ec-lmtt-10x-x-109">baz</span>. Tieto konštrukcie sú popísané v ďalších +odsekoch. + <h5 class="subsubsectionHead"><span class="titlemark">7.1.4 </span> <a + id="x1-600007.1.4"></a>Predvolená expanzia</h5> +<!--l. 2338--><p class="noindent" >Ak vyhľadávacia cesta s najväčšou prioritou (pozri ,Zdroje cesty‘ na strane <a +href="#x1-570007.1.1">58<!--tex4ht:ref: sec:pathsources --></a>) obsahuje <span +class="ec-lmri-10x-x-109">dvojbodku</span> +<span +class="ec-lmri-10x-x-109">navy</span><span +class="ec-lmri-10x-x-109">še </span>(t.j. začiatočnú, koncovú, alebo zdvojenú), Kpathsea vloží na toto miesto vyhľadávaciu +cestu s druhou najvyššou prioritou, ktorá je definovaná. Ak táto vložená cesta obsahuje dvojbodku +navyše, to isté sa stane s ďalšou najvýznamnejšou cestou. Keby sme mali napríklad dané takéto +nastavenie premennej prostredia <div class="alltt"> +<!--l. 2345--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109">>></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">setenv</span><span +class="ec-lmtk-10x-x-109"> TEXINPUTS</span><span +class="ec-lmtk-10x-x-109"> /home/karl:</span> + + +</div> +</div> a hodnotu <span +class="ec-lmtt-10x-x-109">TEXINPUTS </span>v súbore <span +class="ec-lmtt-10x-x-109">texmf.cnf </span><div class="alltt"> +<!--l. 2349--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> .:$TEXMF//tex</span> +</div> +</div> potom konečná hodnota použitá na vyhľadávanie by bola: <div class="alltt"> +<!--l. 2353--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> /home/karl:.:$TEXMF//tex</span> +</div> +</div> Keďže by bolo zbytočné vkladať predvolenú hodnotu na viac ako jedno miesto, Kpathsea mení iba +nadbytočnú ‘<span +class="ec-lmtt-10x-x-109">:</span>’ a všetko ostatné ponecháva na mieste. Najprv kontroluje začiatočnú ‘<span +class="ec-lmtt-10x-x-109">:</span>’, potom +koncovú ‘<span +class="ec-lmtt-10x-x-109">:</span>’ a potom zdvojenú ‘<span +class="ec-lmtt-10x-x-109">:</span>’. +<!--l. 2361--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">7.1.5 </span> <a + id="x1-610007.1.5"></a>Expanzia zátvoriek</h5> +<!--l. 2364--><p class="noindent" >Užitočná črta je expanzia zátvoriek, ktorá funguje tak, že napríklad <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">v{a,b}w</span></span></span> sa expanduje na +<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">vaw:vbw</span></span></span>. Vnáranie je povolené. Toto sa používa na implementáciu viacnásobných <span class="TEX">T<span +class="E">E</span>X</span>ovských +hierarchií, priradením hodnoty <span +class="ec-lmtt-10x-x-109">$TEXMF </span>s použitím zátvoriek. Napríklad v súbore <span +class="ec-lmtt-10x-x-109">texmf.cnf</span> +nájdete definíciu podobnú tejto (zjednodušenú pre tento príklad): + + + <div class="verbatim" id="verbatim-3"> + <div class="fancyvrb" id="fancyvrb16"><a + id="x1-61002r1"></a>    TEXMF = {$HOMETEXMF,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN}</div> +</div> +<!--l. 2372--><p class="nopar" >Keď potom napíšete niečo podobné ako + + + <div class="verbatim" id="verbatim-4"> + <div class="fancyvrb" id="fancyvrb17"><a + id="x1-61004r1"></a>    TEXINPUTS = .;$TEXMF/tex//</div> +</div> +<!--l. 2376--><p class="nopar" >bude to znamenať, že po hľadaní v aktuálnom adresári sa najprv prehľadá celý strom +<span +class="ec-lmtt-10x-x-109">$HOMETEXMF/tex</span>, <span +class="ec-lmtt-10x-x-109">$TEXMFLOCAL/tex</span>, <span +class="ec-lmtt-10x-x-109">$TEXMFVAR/tex </span>a <span +class="ec-lmtt-10x-x-109">$TEXMFMAIN/tex </span>(posledné dva s použitím +databázových súborov <span +class="ec-lmtt-10x-x-109">ls-R</span>). Je to vhodný spôsob ako spúšťať dve paralelné <span class="TEX">T<span +class="E">E</span>X</span> štruktúry, jednu +nemennú (napríklad na CD) a druhú neustále aktualizovanú novými verziami, akonáhle sú dostupné. +Použitím premennej <span +class="ec-lmtt-10x-x-109">$TEXMF </span>vo všetkých definíciách máme istotu, že sa vždy ako prvý prehľadá +aktuálny strom. +<!--l. 2388--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">7.1.6 </span> <a + id="x1-620007.1.6"></a>Expanzia podadresárov</h5> +<!--l. 2391--><p class="noindent" >Dva alebo viac za sebou nasledujúcich znakov ‘<span +class="ec-lmtt-10x-x-109">/</span>’ v elemente cesty nasledujúcom za adresárom <span +class="ec-lmro-10x-x-109">d </span>je +nahradených všetkými podadresármi <span +class="ec-lmro-10x-x-109">d</span>: najprv podadresármi priamo pod <span +class="ec-lmro-10x-x-109">d</span>, potom podadresármi +pod nimi, atď. Poradie, v akom sú prehľadávané podadresáre na každej úrovni, <span +class="ec-lmri-10x-x-109">nie je</span> +<span +class="ec-lmri-10x-x-109">špecifikovan</span><span +class="ec-lmri-10x-x-109">é</span>. +<!--l. 2397--><p class="indent" > Ak po ‘<span +class="ec-lmtt-10x-x-109">//</span>’ špecifikujete akékoľvek komponenty mena súboru, pridajú sa iba podadresáre so +zodpovedajúcimi komponentami. Napríklad, ‘<span +class="ec-lmtt-10x-x-109">/a//b</span>’ sa expanduje do adresárov <span +class="ec-lmtt-10x-x-109">/a/1/b</span>, <span +class="ec-lmtt-10x-x-109">/a/2/b</span>, +<span +class="ec-lmtt-10x-x-109">/a/1/1/b</span>, atď, ale nie do <span +class="ec-lmtt-10x-x-109">/a/b/c </span>alebo <span +class="ec-lmtt-10x-x-109">/a/1</span>. +<!--l. 2403--><p class="indent" > Viacnásobné konštrukcie ‘<span +class="ec-lmtt-10x-x-109">//</span>’ v ceste sú možné, ale použitie ‘<span +class="ec-lmtt-10x-x-109">//</span>’ na začiatku cesty je +ignorované. +<!--l. 2406--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">7.1.7 </span> <a + id="x1-630007.1.7"></a>Typy špeciálnych znakov a ich význam: zhrnutie</h5> +<!--l. 2407--><p class="noindent" >Nasledujúci zoznam zahŕňa zvláštne znaky v konfiguračných súboroch Kpathsea. +<!--l. 2413--><p class="indent" > + <dl class="description"><dt class="description"> +<span +class="ec-lmtk-10x-x-109">:</span> </dt><dd +class="description">Oddeľovač v špecifikácii cesty; na začiatku alebo na konci cesty nahrádza predvolenú + expanziu cesty. + </dd><dt class="description"> +<span +class="ec-lmtk-10x-x-109">;</span> </dt><dd +class="description">Oddeľovač v neunixových systémoch (správa sa ako ‘<span +class="ec-lmtt-10x-x-109">:</span>’). + </dd><dt class="description"> +<span +class="ec-lmtk-10x-x-109">$</span> </dt><dd +class="description">Expanzia premennej. + </dd><dt class="description"> +<span +class="ec-lmtk-10x-x-109">~</span> </dt><dd +class="description">Reprezentuje domovský adresár používateľa. + </dd><dt class="description"> +<span +class="ec-lmtk-10x-x-109">{...}</span> </dt><dd +class="description">Expanzia zátvoriek, napr. z <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">a{1,2}b</span></span></span> sa stane <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">a1b:a2b</span></span></span>. + </dd><dt class="description"> +<span +class="ec-lmtk-10x-x-109">//</span> </dt><dd +class="description">Expanzia podadresárov. (Môže sa vyskytnúť kdekoľvek v ceste, okrem jej začiatku). + </dd><dt class="description"> +<span +class="ec-lmtk-10x-x-109">%</span> </dt><dd +class="description">Začiatok komentáru. + </dd><dt class="description"> +<span +class="ec-lmtt-10x-x-109">\</span> </dt><dd +class="description">Znak pokračovania riadku (umožňuje viacriadkové vstupy). + </dd><dt class="description"> +<span +class="ec-lmtk-10x-x-109">!!</span> </dt><dd +class="description">Povel na hľadanie súboru <span +class="ec-lmri-10x-x-109">iba </span>v databáze, neprehľadáva disk.</dd></dl> + + +<!--l. 2430--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">7.2 </span> <a + id="x1-640007.2"></a>Databázy názvov súborov</h4> +<!--l. 2433--><p class="noindent" >Kpathsea minimalizuje prístupy na disk pri vyhľadávaní. Predsa však pri inštaláciách +s dostatočným množstvom adresárov hľadanie súboru v každom možnom adresári môže zabrať +prehnane veľa času (toto platí zvlášť vtedy, keď musia byť prejdené stovky adresárov s fontami). +Kpathsea preto používa externe vytvorený ,databázový‘ súbor nazývaný <span +class="ec-lmtt-10x-x-109">ls-R</span>, ktorý +mapuje súbory v adresároch a pomáha tak vyhnúť sa vyčerpávajúcemu prehľadávaniu +disku. +<!--l. 2441--><p class="indent" > Skratky mien (<span +class="ec-lmtt-10x-x-109">aliases</span>) v druhom databázovom súbore vám umožňujú dať dodatočné mená +súborom nachádzajúcim sa v zozname <span +class="ec-lmtt-10x-x-109">ls-R</span>. Toto môže byť užitočné pri prispôsobovaní sa +súborovým konvenciám 8.3 DOSu v zdrojových súboroch. +<!--l. 2446--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">7.2.1 </span> <a + id="x1-650007.2.1"></a>Súborová databáza</h5> +<!--l. 2449--><p class="noindent" >Ako bolo vysvetlené hore, meno hlavnej databázy súborov musí byť <span +class="ec-lmtt-10x-x-109">ls-R</span>. Môžete umiestniť jednu +do koreňa každej hierarchie <span class="TEX">T<span +class="E">E</span>X</span>u vo svojej inštalácii, ktorú chcete, aby bola prehľadávaná +(predvolená je <span +class="ec-lmtt-10x-x-109">$TEXMF</span>). Kpathsea hľadá <span +class="ec-lmtt-10x-x-109">ls-R </span>súbory podľa cesty v <span +class="ec-lmtt-10x-x-109">TEXMFDBS</span>. +<!--l. 2457--><p class="indent" > Odporúčaný spôsob ako vytvoriť a udržiavať ‘<span +class="ec-lmtt-10x-x-109">ls-R</span>’ je spustiť skript <span +class="ec-lmtt-10x-x-109">mktexlsr </span>zahrnutý +v distribúcii. Je vyvolávaný rôznymi ‘<span +class="ec-lmtt-10x-x-109">mktex...</span>’ skriptami. Tento skript v princípe iba spúšťa +príkaz <div class="alltt"> +<!--l. 2461--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109">cd</span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmro-10x-x-109">/your/texmf/root</span><span +class="ec-lmtt-10x-x-109"> &&</span><span +class="ec-lmtt-10x-x-109"> \ls</span><span +class="ec-lmtt-10x-x-109"> -1LAR</span><span +class="ec-lmtt-10x-x-109"> ./</span><span +class="ec-lmtt-10x-x-109"> >ls-R</span> +</div> +</div> predpokladajúc, že <span +class="ec-lmtt-10x-x-109">ls </span>vášho systému vytvára správny výstup (výstup GNU <span +class="ec-lmtt-10x-x-109">ls </span>je v poriadku). Aby +ste sa ubezpečili, že databáza bude vždy aktuálna, najjednoduchšie je pravidelne ju prebudovávať +cez <span +class="ec-lmtt-10x-x-109">cron</span>, takže po zmenách v inštalovaných súboroch —  napríklad pri inštalácii alebo aktualizácii +balíka <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>u —  bude súbor <span +class="ec-lmtt-10x-x-109">ls-R </span>automaticky aktualizovaný. +<!--l. 2472--><p class="indent" > Ak súbor nie je v databáze nájdený, podľa predvoleného nastavenia Kpathsea začne vyhľadávať +na disku. Ak však určitý element cesty začína ‘<span +class="ec-lmtt-10x-x-109">!!</span>’, bude prehľadávaná <span +class="ec-lmri-10x-x-109">iba </span>databáza, nikdy nie +disk. +<!--l. 2477--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">7.2.2 </span> <a + id="x1-660007.2.2"></a>kpsewhich: samostatné prehľadávanie cesty</h5> +<!--l. 2480--><p class="noindent" >Program <span +class="ec-lmtt-10x-x-109">kpsewhich </span>vykonáva prehľadávanie cesty nezávislé od každej aplikácie. Môže byť +užitočný ako vyhľadávací <span +class="ec-lmtt-10x-x-109">find </span>program na nájdenie súborov v hierarchiách <span class="TEX">T<span +class="E">E</span>X</span>u (veľmi sa +využíva v distribuovaných ‘<span +class="ec-lmtt-10x-x-109">mktex</span>’… skriptoch). + <div class="alltt"> +<!--l. 2485--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109">>></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">kpsewhich</span><span +class="ec-lmtk-10x-x-109"> </span><span +class="ec-lmro-10x-x-109">option</span><span +class="ec-lmtk-10x-x-109">…</span><span +class="ec-lmtk-10x-x-109"> </span><span +class="ec-lmro-10x-x-109">filename</span><span +class="ec-lmtk-10x-x-109">…</span> +</div> +</div> Voľby špecifikované v ,<span +class="ec-lmro-10x-x-109">option</span>‘ môžu začínať buď ‘<span +class="ec-lmtt-10x-x-109">-</span>’ alebo ‘<span +class="ec-lmtt-10x-x-109">--</span>’ a každá skratka, ktorá nie je +viacznačná, je akceptovaná. +<!--l. 2492--><p class="indent" > Kpathsea považuje každý element vstupného riadku, ktorý nie je argumentom nejakej +voľby, za meno súboru, ktorý hľadá, a vracia prvý súbor, ktorý nájde. Neexistuje voľba +umožňujúca vrátiť všetky súbory s určitým menom (na to môžete použiť nástroj Unixu +‘<span +class="ec-lmtt-10x-x-109">find</span>’). +<!--l. 2498--><p class="indent" > Najbežnejšie voľby sú popísané nižšie. + <dl class="description"><dt class="description"> +<span +class="ec-lmtk-10x-x-109">–dpi=num</span></dt><dd +class="description"> + Nastav rozlíšenie na ,<span +class="ec-lmro-10x-x-109">num</span>‘; toto má vplyv iba na ‘<span +class="ec-lmtt-10x-x-109">gf</span>’ a ‘<span +class="ec-lmtt-10x-x-109">pk</span>’ vyhľadávanie. ‘<span +class="ec-lmtt-10x-x-109">-D</span>’ je + synonymom, kvôli kompatibilite s <span +class="ec-lmss-10x-x-109">dvips</span>. Predvolená hodnota je 600. + + + </dd><dt class="description"> +<span +class="ec-lmtk-10x-x-109">–format=name</span></dt><dd +class="description"> + Nastav formát na vyhľadávanie na ,<span +class="ec-lmro-10x-x-109">name</span>‘. Podľa predvoleného nastavenia je formát + uhádnutý z mena súboru. Pre formáty, ktoré nemajú asociovanú jednoznačnú príponu, + ako napríklad podporné súbory MetaPostu a konfiguračné súbory <span +class="ec-lmss-10x-x-109">dvips</span>, musíte + špecifikovať meno ako známe pre Kpathsea, také ako <span +class="ec-lmtt-10x-x-109">tex </span>alebo <span +class="ec-lmtt-10x-x-109">enc files</span>. Zoznam + získate spustením <span +class="ec-lmtt-10x-x-109">kpsewhich --help</span>. + </dd><dt class="description"> +<span +class="ec-lmtk-10x-x-109">–mode=</span><span +class="ec-lmro-10x-x-109">string</span> </dt><dd +class="description"><br +class="newline" />Nastav meno módu na ,<span +class="ec-lmro-10x-x-109">string</span>‘; toto má vplyv iba na ‘<span +class="ec-lmtt-10x-x-109">gf</span>’ a ‘<span +class="ec-lmtt-10x-x-109">pk</span>’ vyhľadávanie. Žiadna + predvolená hodnota: každý mód bude nájdený. + </dd><dt class="description"> +<span +class="ec-lmtk-10x-x-109">–must-exist</span> </dt><dd +class="description"><br +class="newline" />Urob všetko preto, aby si našiel súbory. Ak je to potrebné, vrátane hľadania na disku. + Normálne je v záujme efektívnosti prehľadávaná iba databáza <span +class="ec-lmtt-10x-x-109">ls-R</span>. + </dd><dt class="description"> +<span +class="ec-lmtk-10x-x-109">–path=</span><span +class="ec-lmro-10x-x-109">string</span> </dt><dd +class="description"><br +class="newline" />Vyhľadávaj podľa cesty ,<span +class="ec-lmro-10x-x-109">string</span>‘ (oddeľovaná dvojbodkou ako zvyčajne) namiesto + hádania vyhľadávacej cesty z mena súboru. Podporované sú ‘<span +class="ec-lmtt-10x-x-109">//</span>’ a všetky bežné + expanzie. Voľby ‘<span +class="ec-lmtt-10x-x-109">–path</span>’ a ‘<span +class="ec-lmtt-10x-x-109">–format</span>’ sa vzájomne vylučujú. + </dd><dt class="description"> +<span +class="ec-lmtk-10x-x-109">–progname=</span><span +class="ec-lmro-10x-x-109">name</span> </dt><dd +class="description"><br +class="newline" />Nastav meno programu na ,<span +class="ec-lmro-10x-x-109">name</span>‘. Toto nastavenie ovplyvňuje použitie vyhľadávacej + cesty cez nastavenie ,<span +class="ec-lmtt-10x-x-109">.</span><span +class="ec-lmro-10x-x-109">progname</span>‘ v konfiguračných súboroch. Predvolená hodnota je + ‘<span +class="ec-lmtt-10x-x-109">kpsewhich</span>’. + </dd><dt class="description"> +<span +class="ec-lmtk-10x-x-109">–show-path=</span><span +class="ec-lmro-10x-x-109">name</span> </dt><dd +class="description"><br +class="newline" />Zobrazí cestu použitú na vyhľadávanie súboru s typom ,<span +class="ec-lmro-10x-x-109">name</span>‘. Môže byť použitá buď + súborová prípona (‘<span +class="ec-lmtt-10x-x-109">.pk</span>’, ‘<span +class="ec-lmtt-10x-x-109">.vf</span>’ a pod.) alebo meno, podobne ako vo voľbe ‘<span +class="ec-lmtt-10x-x-109">–format</span>’. + </dd><dt class="description"> +<span +class="ec-lmtk-10x-x-109">–debug=</span><span +class="ec-lmro-10x-x-109">num</span> </dt><dd +class="description"><br +class="newline" />Nastaví masku výberu ladiacích možností na ,<span +class="ec-lmro-10x-x-109">num</span>‘.</dd></dl> +<!--l. 2539--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">7.2.3 </span> <a + id="x1-670007.2.3"></a>Príklady použitia</h5> +<!--l. 2542--><p class="noindent" >Pozrime sa na Kpathsea v akcii. Za podčiarknutým príkazom nasleduje výsledok vyhľadávania +v nasledujúcich riadkoch. <div class="alltt"> +<!--l. 2544--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">kpsewhich</span><span +class="ec-lmtk-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109"> article.cls</span> +<br /><span +class="ec-lmtt-10x-x-109">/usr/local/texmf-dist/tex/latex/base/article.cls</span> +</div> +</div> Hľadáme súbor <span +class="ec-lmtt-10x-x-109">article.cls</span>. Keďže prípona ‘<span +class="ec-lmtt-10x-x-109">.cls</span>’ je jednoznačná, nemusíme špecifikovať, že +hľadáme súbor typu ,tex‘ (zdrojový súbor <span class="TEX">T<span +class="E">E</span>X</span>). Nájdeme ho v podadresári <span +class="ec-lmtt-10x-x-109">tex/latex/base </span>pod +koreňovým adresárom ‘<span +class="ec-lmtt-10x-x-109">TEXMF-dist</span>’. Podobne, všetky nasledujúce súbory budú nájdené bez +problémov vďaka ich jednoznačnej prípone. <div class="alltt"> +<!--l. 2554--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">kpsewhich</span><span +class="ec-lmtk-10x-x-109"> array.sty</span> +<br /><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> /usr/local/texmf-dist/tex/latex/tools/array.sty</span> +<br /><span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">kpsewhich</span><span +class="ec-lmtk-10x-x-109"> latin1.def</span> + + +<br /><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> /usr/local/texmf-dist/tex/latex/base/latin1.def</span> +<br /><span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">kpsewhich</span><span +class="ec-lmtk-10x-x-109"> size10.clo</span> +<br /><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> /usr/local/texmf-dist/tex/latex/base/size10.clo</span> +<br /><span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">kpsewhich</span><span +class="ec-lmtk-10x-x-109"> small2e.tex</span> +<br /><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> /usr/local/texmf-dist/tex/latex/base/small2e.tex</span> +<br /><span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">kpsewhich</span><span +class="ec-lmtk-10x-x-109"> tugboat.bib</span> +<br /><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> /usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib</span> +</div> +</div> +<!--l. 2567--><p class="indent" > Mimochodom, posledným súborom je bibliografická databáza BibTeXu pre články +<span +class="ec-lmro-10x-x-109">TUGBoatu</span>. + <div class="alltt"> +<!--l. 2570--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">kpsewhich</span><span +class="ec-lmtk-10x-x-109"> cmr10.pk</span> +</div> +</div> Bitmapové súbory fontov typu <span +class="ec-lmtt-10x-x-109">.pk </span>sa používajú zobrazovacími programami ako <span +class="ec-lmss-10x-x-109">dvips </span>a <span +class="ec-lmss-10x-x-109">xdvi</span>. +V tomto prípade je vrátený prázdny výsledok, keďže neexistujú žiadne vopred generované +Computer Modern ‘<span +class="ec-lmtt-10x-x-109">.pk</span>’ súbory v našom systéme (vzhľadom na to, že v <span class="TEX">T<span +class="E">E</span>X</span> Live implicitne +používame verzie Type1 ). <div class="alltt"> +<!--l. 2578--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">kpsewhich</span><span +class="ec-lmtk-10x-x-109"> wsuipa10.pk</span> +<br /><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk</span> +</div> +</div> Pre tieto fonty (fonetickú abecedu z University of Washington) sme museli vygenerovať ‘<span +class="ec-lmtt-10x-x-109">.pk</span>’ +súbory. Keďže predvolený mód Metafontu v našej inštalácii je <span +class="ec-lmtt-10x-x-109">ljfour </span>so základným rozlíšením +600 dpi (dots per inch), je vrátená táto inštancia. <div class="alltt"> +<!--l. 2588--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">kpsewhich</span><span +class="ec-lmtk-10x-x-109"> -dpi=300</span><span +class="ec-lmtk-10x-x-109"> wsuipa10.pk</span> +</div> +</div> V tomto prípade po špecifikovaní, že nás zaujíma rozlíšenie 300 dpi (<span +class="ec-lmtt-10x-x-109">-dpi=300</span>), vidíme, že taký +font nie je v systéme k dispozícii. Programy ako <span +class="ec-lmss-10x-x-109">dvips </span>alebo <span +class="ec-lmss-10x-x-109">xdvi </span>by v tomto prípade vytvorili +požadované <span +class="ec-lmtt-10x-x-109">.pk </span>súbory, použijúc skript <span +class="ec-lmss-10x-x-109">mktexpk</span>. +<!--l. 2596--><p class="indent" > Teraz obráťme našu pozornosť na hlavičkové a konfiguračné súbory <span +class="ec-lmss-10x-x-109">dvips</span>. Najprv sa +pozrieme na jeden z bežne používaných súborov, všeobecný prológový <span +class="ec-lmtt-10x-x-109">tex.pro </span>na podporu +<span class="TEX">T<span +class="E">E</span>X</span>u, potom pohľadáme konfiguračný súbor (<span +class="ec-lmtt-10x-x-109">config.ps</span>) a PostScriptovú mapu fontov +<span +class="ec-lmtt-10x-x-109">psfonts.map </span>— mapové a kódové súbory majú svoje vlastné cesty na vyhľadávanie a +nové umiestnenie v stromoch <span +class="ec-lmtt-10x-x-109">texmf</span>. Keďže prípona ‘<span +class="ec-lmtt-10x-x-109">.ps</span>’ je nejednoznačná, musíme pre +súbor <span +class="ec-lmtt-10x-x-109">config.ps </span>špecifikovať explicitne, o ktorý typ sa zaujímame (<span +class="ec-lmtt-10x-x-109">dvips config</span>). +<div class="alltt"> +<!--l. 2606--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">kpsewhich</span><span +class="ec-lmtk-10x-x-109"> tex.pro</span> +<br /><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> /usr/local/texmf/dvips/base/tex.pro</span> +<br /><span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">kpsewhich</span><span +class="ec-lmtk-10x-x-109"> –format=‘dvips</span><span +class="ec-lmtk-10x-x-109"> config’</span><span +class="ec-lmtk-10x-x-109"> config.ps</span> +<br /><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> /usr/local/texmf/dvips/config/config.ps</span> +<br /><span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">kpsewhich</span><span +class="ec-lmtk-10x-x-109"> psfonts.map</span> +<br /><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map</span> +</div> +</div> Teraz sa pozrieme na podporné súbory URW Times PostScript. V Berryho schéme meno pre tieto +pomenovania fontov je „<span +class="ec-lmtt-10x-x-109">utm</span>“. Prvý súbor, ktorý hľadáme, je konfiguračný súbor, ktorý obsahuje +meno mapového súboru: <div class="alltt"> + + +<!--l. 2619--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">kpsewhich</span><span +class="ec-lmtk-10x-x-109"> –format="dvips</span><span +class="ec-lmtk-10x-x-109"> config"</span><span +class="ec-lmtk-10x-x-109"> config.utm</span> +<br /><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> /usr/local/texmf-dist/dvips/psnfss/config.utm</span> +</div> +</div> Obsah tohoto súboru je <div class="alltt"> +<!--l. 2624--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> p</span><span +class="ec-lmtt-10x-x-109"> +utm.map</span> +</div> +</div> čo odkazuje na súbor <span +class="ec-lmtt-10x-x-109">utm.map</span>, ktorý ideme ďalej hľadať. <div class="alltt"> +<!--l. 2628--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">kpsewhich</span><span +class="ec-lmtk-10x-x-109"> utm.map</span> +<br /><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> /usr/local/texmf-dist/fonts/map/dvips/times/utm.map</span> +</div> +</div> Tento mapový súbor definuje mená súborov fontov typu Type1 PostScript v kolekcii URW. Jeho +obsah vyzerá takto (zobrazili sme iba jeho časť): <div class="alltt"> +<!--l. 2635--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> utmb8r</span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> NimbusRomNo9L-Medi</span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> ...</span><span +class="ec-lmtt-10x-x-109"> <utmb8a.pfb</span> +<br /><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> utmbi8r</span><span +class="ec-lmtt-10x-x-109"> NimbusRomNo9L-MediItal...</span><span +class="ec-lmtt-10x-x-109"> <utmbi8a.pfb</span> +<br /><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> utmr8r</span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> NimbusRomNo9L-Regu</span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> ...</span><span +class="ec-lmtt-10x-x-109"> <utmr8a.pfb</span> +<br /><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> utmri8r</span><span +class="ec-lmtt-10x-x-109"> NimbusRomNo9L-ReguItal...</span><span +class="ec-lmtt-10x-x-109"> <utmri8a.pfb</span> +<br /><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> utmbo8r</span><span +class="ec-lmtt-10x-x-109"> NimbusRomNo9L-Medi</span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> ...</span><span +class="ec-lmtt-10x-x-109"> <utmb8a.pfb</span> +<br /><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> utmro8r</span><span +class="ec-lmtt-10x-x-109"> NimbusRomNo9L-Regu</span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> ...</span><span +class="ec-lmtt-10x-x-109"> <utmr8a.pfb</span> +</div> +</div> Zoberme napríklad inštanciu Times Regular <span +class="ec-lmtt-10x-x-109">utmr8a.pfb </span>a nájdime jej pozíciu v adresárovom +strome <span +class="ec-lmtt-10x-x-109">texmf </span>použitím vyhľadávania fontových súborov Type1: <div class="alltt"> +<!--l. 2646--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">kpsewhich</span><span +class="ec-lmtk-10x-x-109"> utmr8a.pfb</span> +<br /><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb</span> +</div> +</div> +<!--l. 2653--><p class="indent" > Z týchto príkladov by malo byť zrejmé, ako ľahko môžete nájsť umiestnenie daného súboru. +Toto je zvlášť dôležité, keď máte podozrenie, že ste narazili na zlú verziu súboru, pretože <span +class="ec-lmss-10x-x-109">kpsewhich</span> +emuluje vyhľadávanie úplne rovnakým spôsobom ako skutočný program (<span class="TEX">T<span +class="E">E</span>X</span>, dvips a +pod). +<!--l. 2659--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">7.2.4 </span> <a + id="x1-680007.2.4"></a>Ladiace činnosti</h5> +<!--l. 2661--><p class="noindent" >Niekedy je potrebné vyšetriť, ako program rozpoznáva referencie na súbory. Aby toto bolo možné +vhodne uskutočniť, Kpathsea ponúka rôzne stupne ladenia: + <ul class="itemize1"> + <li class="itemize">Volania <span +class="ec-lmtt-10x-x-109">stat </span>(testy súborov). Pri behu s aktuálnou <span +class="ec-lmtt-10x-x-109">ls-R </span>databázou by nemal dať takmer + žiaden výstup. + </li> + <li class="itemize">Referencie do hašovacích tabuliek (ako <span +class="ec-lmtt-10x-x-109">ls-R </span>databázy, mapové súbory, konfiguračné + súbory). + </li> + <li class="itemize">Operácie otvárania a zatvárania súboru. + + + </li> + <li class="itemize">Všeobecná informácia o ceste pre typy súborov hľadaných Kpathsea. Toto je užitočné + pri zisťovaní, kde bola definovaná určitá cesta pre daný súbor. + </li> + <li class="itemize">Adresárový zoznam pre každý element cesty (vzťahuje sa iba na vyhľadávanie na disku). + </li> + <li class="itemize">Vyhľadávanie súborov. + </li> + <li class="itemize">Premenlivé hodnoty.</li></ul> +<!--l. 2678--><p class="noindent" >Hodnota <span +class="ec-lmtt-10x-x-109">-1 </span>nastaví všetky horeuvedené voľby, v praxi pravdepodobne vždy použijete tieto úrovne, ak +budete potrebovať akékoľvek ladenie. +<!--l. 2682--><p class="indent" > Podobne s programom <span +class="ec-lmss-10x-x-109">dvips </span>nastavením kombinácie ladiacich prepínačov môžete detailne +sledovať, odkiaľ sa berú používané súbory. Aktuálny popis parametrov je možné nájsť +v <span +class="ec-lmtt-10x-x-109">../texmf/doc/html/dvips/dvips_2.html</span>. Alternatívne, keď súbor nie je nájdený, ladiaca cesta +ukazuje, v ktorých adresároch program daný súbor hľadal, čo môže naznačovať, v čom sa asi +vyskytol problém. Všeobecne povedané, keďže väčšina programov volá knižnicu Kpathsea vnútorne, +ladiace voľby je možné nastaviť pomocou premennej prostredia <span +class="ec-lmtt-10x-x-109">KPATHSEA_DEBUG </span>na potrebnú +kombináciu, ako je to popísané v horeuvedenom zozname. (Poznámka pre používateľov Windows: +nie je jednoduché presmerovať všetky hlášky v tomto systéme do súboru. Na diagnostické účely +môžete dočasne priradiť <br +class="newline" /><span +class="ec-lmtt-10x-x-109">SET KPATHSEA_DEBUG_OUTPUT=err.log</span>). Uvažujme ako príklad malý zdrojový súbor <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>u, +<span +class="ec-lmtt-10x-x-109">hello-world.tex</span>, ktorý obsahuje nasledujúci vstup. + + + <div class="verbatim" id="verbatim-5"> + <div class="fancyvrb" id="fancyvrb18"><a + id="x1-68002r1"></a>    \documentclass{article}<br class="fancyvrb" /><a + id="x1-68004r2"></a>    \begin{document}<br class="fancyvrb" /><a + id="x1-68006r3"></a>    Hello World!<br class="fancyvrb" /><a + id="x1-68008r4"></a>    \end{document}</div> +</div> +<!--l. 2704--><p class="nopar" >Tento malý súbor používa iba font <span +class="ec-lmtt-10x-x-109">cmr10</span>, takže pozrime sa, ako <span +class="ec-lmss-10x-x-109">dvips </span>pripravuje PostScriptový +súbor (chceme použiť Type1 verziu písiem Computer Modern, preto je nastavená voľba +<span +class="ec-lmtt-10x-x-109">-Pcms</span><span class="footnote-mark"><a +href="#fn1x0" id="fn1x0-bk"><sup class="textsuperscript">1</sup></a></span><a + id="x1-68009f1"></a>. +<div class="alltt"> +<!--l. 2711--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">dvips</span><span +class="ec-lmtk-10x-x-109"> -d4100</span><span +class="ec-lmtk-10x-x-109"> hello-world</span><span +class="ec-lmtk-10x-x-109"> -Pcms</span><span +class="ec-lmtk-10x-x-109"> -o</span> +</div> +</div> V tomto prípade sme skombinovali <span +class="ec-lmss-10x-x-109">dvips </span>ladiacu triedu 4 (cesty k fontom) s expanziou elementu +cesty Kpathsea (pozri Referenčný Manuál <span +class="ec-lmss-10x-x-109">dvips</span>, <a +href="../../../../texmf/doc/html/dvips/dvips_toc.html" >texmf/doc/html/dvips/dvips_toc.html</a>). Výstup, +trochu preusporiadaný, je zobrazený na obrázku <a +href="#x1-68032r12">12<!--tex4ht:ref: fig:dvipsdbga --></a>. + + +<!--l. 2727--><p class="indent" > <a + id="x1-68032r12"></a><a + id="x1-68037r13"></a><a + id="x1-68050r14"></a><hr class="float"><div class="float" +> + + +<div class="BVerbatimInput"><span +class="ec-lmtt-10">debug:start</span><span +class="ec-lmtt-10"> search(file=texmf.cnf,</span><span +class="ec-lmtt-10"> must_exist=1,</span><span +class="ec-lmtt-10"> find_all=1,</span><br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> path=.:/usr/local/bin/texlive:/usr/local/bin:</span><br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/bin/texmf/web2c:/usr/local:</span><br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf/web2c:/.:/./teTeX/TeX/texmf/web2c:).</span><br /><span +class="ec-lmtt-10">kdebug:start</span><span +class="ec-lmtt-10"> search(file=ls-R,</span><span +class="ec-lmtt-10"> must_exist=1,</span><span +class="ec-lmtt-10"> find_all=1,</span><br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> path=~/tex:/usr/local/texmf).</span><br /><span +class="ec-lmtt-10">kdebug:search(ls-R)</span><span +class="ec-lmtt-10"> =>/usr/local/texmf/ls-R</span><br /><span +class="ec-lmtt-10">kdebug:start</span><span +class="ec-lmtt-10"> search(file=aliases,</span><span +class="ec-lmtt-10"> must_exist=1,</span><span +class="ec-lmtt-10"> find_all=1,</span><br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> path=~/tex:/usr/local/texmf).</span><br /><span +class="ec-lmtt-10">kdebug:search(aliases)</span><span +class="ec-lmtt-10"> =></span><span +class="ec-lmtt-10"> /usr/local/texmf/aliases</span><br /><span +class="ec-lmtt-10">kdebug:start</span><span +class="ec-lmtt-10"> search(file=config.ps,</span><span +class="ec-lmtt-10"> must_exist=0,</span><span +class="ec-lmtt-10"> find_all=0,</span><br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> path=.:~/tex:!!/usr/local/texmf/dvips//).</span><br /><span +class="ec-lmtt-10">kdebug:search(config.ps)</span><span +class="ec-lmtt-10"> =></span><span +class="ec-lmtt-10"> /usr/local/texmf/dvips/config/config.ps</span><br /><span +class="ec-lmtt-10">kdebug:start</span><span +class="ec-lmtt-10"> search(file=/root/.dvipsrc,</span><span +class="ec-lmtt-10"> must_exist=0,</span><span +class="ec-lmtt-10"> find_all=0,</span><br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> path=.:~/tex:!!/usr/local/texmf/dvips//).</span><br /><span +class="ec-lmtt-10">search(file=/home/goossens/.dvipsrc,</span><span +class="ec-lmtt-10"> must_exist=1,</span><span +class="ec-lmtt-10"> find_all=0,</span><br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//).</span><br /><span +class="ec-lmtt-10">kdebug:search($HOME/.dvipsrc)</span><span +class="ec-lmtt-10"> =></span><br /><span +class="ec-lmtt-10">kdebug:start</span><span +class="ec-lmtt-10"> search(file=config.cms,</span><span +class="ec-lmtt-10"> must_exist=0,</span><span +class="ec-lmtt-10"> find_all=0,</span><br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//).</span><br /><span +class="ec-lmtt-10">kdebug:search(config.cms)</span><br /><span +class="ec-lmtt-10">=>/usr/local/texmf/dvips/cms/config.cms</span></div> + <div class="caption" +><span class="id">Obr. 12: </span><span +class="content">Hľadanie konfiguračných súborov</span></div><!--tex4ht:label?: x1-68032r12 --> +<div class="BVerbatimInput"><span +class="ec-lmtt-10">kdebug:start</span><span +class="ec-lmtt-10"> search(file=texc.pro,</span><span +class="ec-lmtt-10"> must\_exist=0,</span><span +class="ec-lmtt-10"> find\_all=0,</span><br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:</span><br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).</span><br /><span +class="ec-lmtt-10">kdebug:search(texc.pro)</span><span +class="ec-lmtt-10"> =></span><span +class="ec-lmtt-10"> /usr/local/texmf/dvips/base/texc.pro</span></div> + <div class="caption" +><span class="id">Obr. 13: </span><span +class="content">Hľadanie ,prolog‘ súboru</span></div><!--tex4ht:label?: x1-68037r13 --> +<div class="BVerbatimInput"><span +class="ec-lmtt-10">kdebug:start</span><span +class="ec-lmtt-10"> search(file=cmr10.tfm,</span><span +class="ec-lmtt-10"> must\_exist=1,</span><span +class="ec-lmtt-10"> find\_all=0,</span><br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//:</span><br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /var/tex/fonts/tfm//).</span><br /><span +class="ec-lmtt-10">kdebug:search(cmr10.tfm)</span><span +class="ec-lmtt-10"> =></span><span +class="ec-lmtt-10"> /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm</span><br /><span +class="ec-lmtt-10">kdebug:start</span><span +class="ec-lmtt-10"> search(file=texps.pro,</span><span +class="ec-lmtt-10"> must\_exist=0,</span><span +class="ec-lmtt-10"> find\_all=0,</span><br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> ...</span><br /><span +class="ec-lmtt-10"><texps.pro></span><br /><span +class="ec-lmtt-10">kdebug:start</span><span +class="ec-lmtt-10"> search(file=cmr10.pfb,</span><span +class="ec-lmtt-10"> must\_exist=0,</span><span +class="ec-lmtt-10"> find\_all=0,</span><br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:</span><br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).</span><br /><span +class="ec-lmtt-10">kdebug:search(cmr10.pfb)</span><span +class="ec-lmtt-10"> =></span><span +class="ec-lmtt-10"> /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb</span><br /><span +class="ec-lmtt-10"><cmr10.pfb>[1]</span></div> + <div class="caption" +><span class="id">Obr. 14: </span><span +class="content">Hľadanie súboru fontu</span></div><!--tex4ht:label?: x1-68050r14 --> + + + </div><hr class="endfloat" /> +<!--l. 2746--><p class="indent" > <span +class="ec-lmss-10x-x-109">dvips </span>začne lokáciou svojich pracovných súborov. Najprv je nájdený <span +class="ec-lmtt-10x-x-109">texmf.cnf</span>, ktorý obsahuje +definície vyhľadávacích ciest ostatných súborov, potom databáza súborov <span +class="ec-lmtt-10x-x-109">ls-R </span>(na optimalizáciu +vyhľadávania súborov) a skratky mien súborov (<span +class="ec-lmtt-10x-x-109">aliases</span>), čo robí možným deklarovať viacero mien +(napr. krátke meno typu ,8.3‘ ako v DOSe a dlhšiu prirodzenejšiu verziu) pre ten istý súbor. Potom +<span +class="ec-lmss-10x-x-109">dvips </span>pokračuje v hľadaní všeobecného konfiguračného súboru <span +class="ec-lmtt-10x-x-109">config.ps </span>skôr, ako začne hľadať +súbor nastavení <span +class="ec-lmtt-10x-x-109">.dvipsrc </span>(ktorý, v tomto prípade, <span +class="ec-lmri-10x-x-109">nie je n</span><span +class="ec-lmri-10x-x-109">ájden</span><span +class="ec-lmri-10x-x-109">ý</span>). Nakoniec, <span +class="ec-lmss-10x-x-109">dvips</span> +nájde konfiguračný súbor pre font Computer Modern PostScript, <span +class="ec-lmtt-10x-x-109">config.cms </span>(toto bolo +iniciované voľbou<span +class="ec-lmtt-10x-x-109">-Pcms </span>v príkaze <span +class="ec-lmss-10x-x-109">dvips</span>). Tento súbor obsahuje zoznam „mapových“ súborov, +ktoré definujú vzťah medzi menami fontov v <span class="TEX">T<span +class="E">E</span>X</span>u, PostScripte a systéme súborov. +<div class="alltt"> +<!--l. 2761--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10x-x-109">></span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtk-10x-x-109">more</span><span +class="ec-lmtk-10x-x-109"> /usr/local/texmf/dvips/cms/config.cms</span> +<br /><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> p</span><span +class="ec-lmtt-10x-x-109"> +ams.map</span> +<br /><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> p</span><span +class="ec-lmtt-10x-x-109"> +cms.map</span> +<br /><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> p</span><span +class="ec-lmtt-10x-x-109"> +cmbkm.map</span> +<br /><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> </span><span +class="ec-lmtt-10x-x-109"> p</span><span +class="ec-lmtt-10x-x-109"> +amsbkm.map</span> +</div> +</div> <span +class="ec-lmss-10x-x-109">dvips </span>preto pokračuje v hľadaní všetkých týchto súborov plus všeobecného mapového súboru +<span +class="ec-lmtt-10x-x-109">psfonts.map</span>, ktorý sa načíta vždy (obsahuje deklarácie bežne používaných PostScriptových +fontov; pozri poslednú časť sekcie <a +href="#x1-670007.2.3">7.2.3<!--tex4ht:ref: sec:examplesofuse --></a>, kde sa nachádza viac detailov o narábaní s mapovými +súbormi PostScriptu). +<!--l. 2774--><p class="indent" > V tomto bode sa <span +class="ec-lmss-10x-x-109">dvips </span>identifikuje používateľovi …<div class="alltt"> +<!--l. 2775--><p class="noindent" ><div class="obeylines-v"> +<br /><span +class="ec-lmtt-10x-x-109">This</span><span +class="ec-lmtt-10x-x-109"> is</span><span +class="ec-lmtt-10x-x-109"> dvips(k)</span><span +class="ec-lmtt-10x-x-109"> 5.92b</span><span +class="ec-lmtt-10x-x-109"> Copyright</span><span +class="ec-lmtt-10x-x-109"> 2002</span><span +class="ec-lmtt-10x-x-109"> Radical</span><span +class="ec-lmtt-10x-x-109"> Eye</span><span +class="ec-lmtt-10x-x-109"> Software</span><span +class="ec-lmtt-10x-x-109"> (www.radicaleye.com)</span> +</div> +</div>…potom pokračuje v hľadaní prológového súboru <span +class="ec-lmtt-10x-x-109">texc.pro</span>: + <div class="alltt"> +<!--l. 2783--><p class="noindent" ><div class="obeylines-v"> +<br /><span +class="ec-lmtt-10">kdebug:start</span><span +class="ec-lmtt-10"> search(file=texc.pro,</span><span +class="ec-lmtt-10"> must_exist=0,</span><span +class="ec-lmtt-10"> find_all=0,</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> kdebug:search(texc.pro)</span><span +class="ec-lmtt-10"> =></span><span +class="ec-lmtt-10"> /usr/local/texmf/dvips/base/texc.pro</span> +</div> +</div> +<!--l. 2794--><p class="indent" > Po nájdení tohoto súboru, <span +class="ec-lmss-10x-x-109">dvips </span>vypíše na výstup dátum a čas a informuje nás, že vygeneruje +súbor <span +class="ec-lmtt-10x-x-109">hello-world.ps</span>, že potrebuje súbor s fontom <span +class="ec-lmtt-10x-x-109">cmr10</span>, ktorý bude deklarovaný ako +„rezidentný“: <div class="alltt"> +<!--l. 2798--><p class="noindent" ><div class="obeylines-v"> +<br /><span +class="ec-lmtt-10">TeX</span><span +class="ec-lmtt-10"> output</span><span +class="ec-lmtt-10"> 1998.02.26:1204’</span><span +class="ec-lmtt-10"> -></span><span +class="ec-lmtt-10"> hello-world.ps</span> +<br /><span +class="ec-lmtt-10">Defining</span><span +class="ec-lmtt-10"> font</span><span +class="ec-lmtt-10"> ()</span><span +class="ec-lmtt-10"> cmr10</span><span +class="ec-lmtt-10"> at</span><span +class="ec-lmtt-10"> 10.0pt</span> +<br /><span +class="ec-lmtt-10">Font</span><span +class="ec-lmtt-10"> cmr10</span><span +class="ec-lmtt-10"> <CMR10></span><span +class="ec-lmtt-10"> is</span><span +class="ec-lmtt-10"> resident.</span> +</div> +</div> Teraz sa rozbehne hľadanie súboru <span +class="ec-lmtt-10x-x-109">cmr10.tfm</span>, ktorý je nájdený, potom je referencovaných ešte +niekoľko prológových súborov (nezobrazené) a nakoniec je nájdená inštancia fontu Type1, +<span +class="ec-lmtt-10x-x-109">cmr10.pfb</span>, ktorá je pridaná do výstupného súboru (pozri posledný riadok). <div class="alltt"> +<!--l. 2808--><p class="noindent" ><div class="obeylines-v"> +<br /><span +class="ec-lmtt-10">kdebug:start</span><span +class="ec-lmtt-10"> search(file=cmr10.tfm,</span><span +class="ec-lmtt-10"> must_exist=1,</span><span +class="ec-lmtt-10"> find_all=0,</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//:</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /var/tex/fonts/tfm//).</span> + + +<br /><span +class="ec-lmtt-10">kdebug:search(cmr10.tfm)</span><span +class="ec-lmtt-10"> =></span><span +class="ec-lmtt-10"> /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm</span> +<br /><span +class="ec-lmtt-10">kdebug:start</span><span +class="ec-lmtt-10"> search(file=texps.pro,</span><span +class="ec-lmtt-10"> must_exist=0,</span><span +class="ec-lmtt-10"> find_all=0,</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> ...</span> +<br /><span +class="ec-lmtt-10"><texps.pro></span> +<br /><span +class="ec-lmtt-10">kdebug:start</span><span +class="ec-lmtt-10"> search(file=cmr10.pfb,</span><span +class="ec-lmtt-10"> must_exist=0,</span><span +class="ec-lmtt-10"> find_all=0,</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).</span> +<br /><span +class="ec-lmtt-10">kdebug:search(cmr10.pfb)</span><span +class="ec-lmtt-10"> =></span><span +class="ec-lmtt-10"> /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb</span> +<br /><span +class="ec-lmtt-10"><cmr10.pfb>[1]</span> +</div> +</div> + <h4 class="subsectionHead"><span class="titlemark">7.3 </span> <a + id="x1-690007.3"></a>Možnosti nastavenia za behu programu</h4> +<!--l. 2825--><p class="noindent" >Ďalšou z pekných čŕt distribúcie Web2C je možnosť kontroly množstva pamäťových parametrov +(najmä veľkosti polí) za behu prostredníctvom súboru <span +class="ec-lmtt-10x-x-109">texmf.cnf</span>, ktorý číta knižnica Kpathsea. +Nastavenia všetkých parametrov môžete nájsť v časti 3 tohto súboru. Najdôležitejšie riadiace +premenné (čísla riadkov sa vzťahujú na súbor <span +class="ec-lmtt-10x-x-109">texmf.cnf</span>): +<!--l. 2832--><p class="indent" > + <dl class="description"><dt class="description"> +<span +class="ec-lmtk-10x-x-109">main_memory</span> </dt><dd +class="description">Celkový počet dostupných slov v pamäti pre <span class="TEX">T<span +class="E">E</span>X</span>, Metafont a MetaPost. + Musíte vytvoriť nový formátový súbor pre každé odlišné nastavenie. Napríklad + môžete vygenerovať „obrovskú“ verziu <span class="TEX">T<span +class="E">E</span>X</span>u a zavolať súbor s formátom <span +class="ec-lmtt-10x-x-109">hugetex.fmt</span>. + S použitím štandardnej špecifikácie mena programu používaného knižnicou Kpathsea, + konkrétna hodnota premennej <span +class="ec-lmtt-10x-x-109">main_memory </span>sa načíta zo súboru <span +class="ec-lmtt-10x-x-109">texmf.cnf</span>. + </dd><dt class="description"> +<span +class="ec-lmtk-10x-x-109">extra_mem_bot</span> </dt><dd +class="description">Dodatočný priestor pre „veľké“ dátové štruktúry <span class="TEX">T<span +class="E">E</span>X</span>u: „boxy“, „glue“, + „breakpoint(y)“ a podobne. Je to užitočné hlavne ak používate PI C<span class="TEX">T<span +class="E">E</span>X</span>. + </dd><dt class="description"> +<span +class="ec-lmtk-10x-x-109">font_mem_size</span> </dt><dd +class="description">Počet dostupných slov pre informáciu o fontoch v <span class="TEX">T<span +class="E">E</span>X</span>u. Toto je viac-menej + celková veľkosť všetkých prečítaných TFM súborov. + </dd><dt class="description"> +<span +class="ec-lmtk-10x-x-109">hash_extra</span> </dt><dd +class="description">Dodatočný priestor pre hašovaciu tabuľku mien riadiacej sekvencie. Len <span +class="lmsy-10x-x-109">≈</span>10 000 + riadiacich sekvencií môže byť uložených v hlavnej hašovacej tabuľke; ak máte + veľkú knihu s mnohými krížovými odkazmi, toto nemusí stačiť. Implicitná hodnota + <span +class="ec-lmtt-10x-x-109">hash_extra </span>je <span +class="ec-lmtt-10x-x-109">50000</span>.</dd></dl> +<!--l. 2858--><p class="noindent" >Samozrejme, tento prvok nemôže nahradiť naozajstné dynamické polia a alokácie pamäte, ale +keďže tieto sa veľmi ťažko implementujú v súčasnej verzii <span class="TEX">T<span +class="E">E</span>X</span>u, tieto parametre počas +behu programu poskytujú praktický kompromis, ktorý dovoľuje aspoň nejakú flexibilitu. +<!--l. 2960--><p class="indent" > <a id="ack"></a> + <h3 class="sectionHead"><span class="titlemark">8 </span> <a + id="x1-700008"></a>Poděkování</h3> +<!--l. 2963--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Live je výsledkem společného úsilí téměř všech skupin uživatelů <span class="TEX">T<span +class="E">E</span>X</span>u. Toto vydání editoval +<span class="TEX">T<span +class="E">E</span>X</span> Live Karl Berry. Seznam ostatních hlavních přispěvatelů, minulých i současných, následuje. +Děkujeme: + <ul class="itemize1"> + <li class="itemize">Anglickému, německému, holandskému a polskému sdružení uživatelů <span class="TEX">T<span +class="E">E</span>X</span>u (TUG, + DANTE e.V., NTG resp. GUST), kteří společně zajistily nezbytnou technickou a + administrativní infrastrukturu. Připojte se, prosím, k <span class="TEX">T<span +class="E">E</span>X</span>ovskému sdružení ve vaší + blízkosti (CSTUG)! (Viz <a +href="http://tug.org/usergroups.html" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/usergroups.html</span></a>.) + </li> + <li class="itemize">Týmu CTANu, pozoruhodně Robinu Fairbairnsovi, Jimu Hefferonovi a Raineru + Schöpfovi, který distribuuje obrazy <span class="TEX">T<span +class="E">E</span>X</span> Live a poskytuje společnou infrastrukturu pro + aktualizaci balíků, na kterých je <span class="TEX">T<span +class="E">E</span>X</span> Live závislý. + + + </li> + <li class="itemize">Johnu Bowmanovi, za vykonání mnoha změn v jeho pokročilém grafickém programu + Asymptote, aby tento fungoval v <span class="TEX">T<span +class="E">E</span>X</span> Live. + </li> + <li class="itemize">Peteru Breitenlohnerovi a e-<span class="TEX">T<span +class="E">E</span>X</span> týmu, kteří poskytují stabilní základ budoucnosti + <span class="TEX">T<span +class="E">E</span>X</span>u, a výslovně Peteru za hvězdnou pomoc s používáním osobních nástrojů + GNU v celém <span class="TEX">T<span +class="E">E</span>X</span> Live. + </li> + <li class="itemize">Jin-Hwan Choovi a celému týmu DVIPDFM<span +class="lmmi-10x-x-109">x</span>, za jejich vynikajíci ovladač a za schopnost + reagovat na konfigurační problémy. + </li> + <li class="itemize">Thomasi Esserovi, za překrásný balík te<span class="TEX">T<span +class="E">E</span>X</span>, bez něhož by <span class="TEX">T<span +class="E">E</span>X</span> Live nikdy + neexistovala. + </li> + <li class="itemize">Michelu Goossensovi, který je spoluautorem původní dokumentace. + </li> + <li class="itemize">Eitanu Gurarimu, jehož <span class="TEX">T<span +class="E">E</span>X</span>4ht je použito pro HTML verzi této dokumentace a který + každý rok obratem pracoval neúnavně na jeho rozšířeních. Eitan nás předčasně opustil + v červnu 2009 a tuto dokumentaci věnujeme jeho památce. + </li> + <li class="itemize">Hansi Hagenovi, za mnohá testování a přípravu jeho formátu + Con<span class="TEX">T<span +class="E">E</span>X</span>t (<a +href="http://pragma-ade.com" class="url" ><span +class="ec-lmtt-10x-x-109">http://pragma-ade.com</span></a>) pracujícího uvnitř systému <span class="TEX">T<span +class="E">E</span>X</span> Live. + </li> + <li class="itemize">Hàn Thế Thànhovi, Martinu Schröderovi a pdf<span class="TEX">T<span +class="E">E</span>X</span> týmu (<a +href="http://pdftex.org" class="url" ><span +class="ec-lmtt-10x-x-109">http://pdftex.org</span></a>) za + pokračující rozšiřování možností <span class="TEX">T<span +class="E">E</span>X</span>u. + </li> + <li class="itemize">Hartmutu Henkelovi, za významný příspěvek k vývoji pdf<span class="TEX">T<span +class="E">E</span>X</span>u, Lua<span class="TEX">T<span +class="E">E</span>X</span>u atp. + </li> + <li class="itemize">Taco Hoekwaterovi, za významné úsilí při obnovení vývoje MetaPostu i samotného + (Lua)<span class="TEX">T<span +class="E">E</span>X</span>u (<a +href="http://luatex.org" class="url" ><span +class="ec-lmtt-10x-x-109">http://luatex.org</span></a>), za začlenění Con<span class="TEX">T<span +class="E">E</span>X</span>tu do systému <span class="TEX">T<span +class="E">E</span>X</span> Live, za + přidání vícevláknové funkčnosti programu Kpathsea a mnoho dalšího. + </li> + <li class="itemize">Pawłu Jackowskému, za windowsový instalátor <span +class="ec-lmss-10x-x-109">tlpm</span>, a Tomaszi Łuczakovi, za <span +class="ec-lmss-10x-x-109">tlpmgui</span>, + používaný v předchozích vydáních. + </li> + <li class="itemize">Akirovi Kakuto, za poskytnutí windowsovských binárek z jeho distribuce W32TEX pro + japonský <span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://w32tex.org" class="url" ><span +class="ec-lmtt-10x-x-109">http://w32tex.org</span></a>) a za množství dalších příspěvků k vývoji. + </li> + <li class="itemize">Jonathanu Kewovi a SIL, za vyvinutí pozoruhodného systému Xe<span class="TEX">T<span +class="E">E</span>X</span>u a za čas a + trápení při jeho integraci do <span class="TEX">T<span +class="E">E</span>X</span> Live, právě tak za výchozí verzi instalačního + programu Mac<span class="TEX">T<span +class="E">E</span>X</span>a kromě toho za námi doporučený pomocný program <span class="TEX">T<span +class="E">E</span>X</span>works. + </li> + <li class="itemize">Dicku Kochovi, za údržbu Mac<span class="TEX">T<span +class="E">E</span>X</span>u (<a +href="http://tug.org/mactex" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/mactex</span></a>) ve velmi blízkém + tandemu s <span class="TEX">T<span +class="E">E</span>X</span> Live, a za jeho skvělé veselí přitom. + </li> + <li class="itemize">Reinhardovi Kotuchovi za důležitý příspěvek k infrastruktuře a instalačnímu programu + <span class="TEX">T<span +class="E">E</span>X</span> Live 2008, rovněž za úsilí při výzkumu Windows, za skript <span +class="ec-lmtt-10x-x-109">getnonfreefonts </span>a + mnoho dalšího. + </li> + <li class="itemize">Siep Kroonenbergové, rovněž za důležitý příspěvek k infrastruktuře a instalačnímu + programu <span class="TEX">T<span +class="E">E</span>X</span> Live 2008, zvláště pod Windows a za množství práce při aktualizaci + této příručky, popisující tyto vlastnosti. + </li> + <li class="itemize">Heikovi Oberdiekovi, za balík <span +class="ec-lmss-10x-x-109">epstopdf </span>a mnohé další, za kompresi velikánských + datových souborů <span +class="ec-lmss-10x-x-109">pst-geo </span>tak, že jsme je mohli zařadit do instalace a především za jeho + mimořádnou práci na balíku <span +class="ec-lmss-10x-x-109">hyperref</span>. + </li> + <li class="itemize">Petru Olšákovi, který koordinoval a kontroloval velmi pečlivě českou a slovenskou + podporu na <span class="TEX">T<span +class="E">E</span>X</span> Live. + </li> + + + <li class="itemize">Toshio Oshima za jeho windowsový prohlížeč <span +class="ec-lmss-10x-x-109">dviout</span>. + </li> + <li class="itemize">Manueli Pégourié-Gonnardovi, za pomoc při aktualizaci balíků, vylepšení dokumentace + a rozvoj dokumentu <span +class="ec-lmss-10x-x-109">texdoc</span>. + </li> + <li class="itemize">Fabrice Popineau, za původní podporu Windows na <span class="TEX">T<span +class="E">E</span>X</span> Live a za francouzskou + dokumentaci. + </li> + <li class="itemize">Norbertovi Preiningovi, přednímu architektovi infrastruktury a instalačního programu + <span class="TEX">T<span +class="E">E</span>X</span> Live 2008 a také za koordinaci Debian verze <span class="TEX">T<span +class="E">E</span>X</span> Live (společně s Frankem + Küsterem), za mnohé průběžné návrhy na zlepšení. + </li> + <li class="itemize">Sebastian Rahtz, za původní vytvoření systému <span class="TEX">T<span +class="E">E</span>X</span> Live a za jeho údržbu po mnoho + let. + </li> + <li class="itemize">Philu Taylorovi, za zřízení stahování BitTorrentu. + </li> + <li class="itemize">Tomasz Trzeciak, za rozsáhlou pomoc s Windows. + </li> + <li class="itemize">Vladimir Volovich, za významnou pomoc s portováním a jinými problémy údržby, + obzvláště za to, že udělal realizovatelným zahrnutí <span +class="ec-lmss-10x-x-109">xindy</span>. + </li> + <li class="itemize">Staszku Wawrykiewiczovi, hlavnímu testérovi všeho na <span class="TEX">T<span +class="E">E</span>X</span> Live a koordinátorovi + mnoha důležitých polských příspěvků: fontů, windowsové instalace a dalších. + </li> + <li class="itemize">Olafu Weberovi, pro jeho pečlivou údržbu Web2C. + </li> + <li class="itemize">Gerbenu Wierdovi, za vytvoření a údržbu původní podpory Mac OS X a za mnohou + integraci a testování. + </li> + <li class="itemize">Grahamu Williamsovi, na jehož práci na katalogu <span class="TEX">T<span +class="E">E</span>X</span>ovských balíků závisíme. + </li></ul> +<!--l. 3078--><p class="noindent" >Tvůrci binárek: Ettore Aldrovandi (<span +class="ec-lmss-10x-x-109">i386-solaris</span>, <span +class="ec-lmss-10x-x-109">x86_64-solaris</span>), Alan Braslau (<span +class="ec-lmss-10x-x-109">amd64-kfreebsd</span>, +<span +class="ec-lmss-10x-x-109">i386-kfreebsd</span>), Peter Breitenlohner (<span +class="ec-lmss-10x-x-109">x86_64-linux</span>), Karl Berry (<span +class="ec-lmss-10x-x-109">i386-linux</span>), Akira Kakuto (<span +class="ec-lmss-10x-x-109">win32</span>), +Dick Koch (<span +class="ec-lmss-10x-x-109">universal-darwin</span>, <span +class="ec-lmss-10x-x-109">x86_64-darwin</span>), Nikola Lečić (<span +class="ec-lmss-10x-x-109">amd64-freebsd</span>, <span +class="ec-lmss-10x-x-109">i386-freebsd</span>), Mojca +Miklavec (<span +class="ec-lmss-10x-x-109">mipsel-linux</span>), Norbert Preining (<span +class="ec-lmss-10x-x-109">alpha-linux</span>), Jukka Salmi (<span +class="ec-lmss-10x-x-109">i386-netbsd</span>), Thomas +Schmitz (<span +class="ec-lmss-10x-x-109">powerpc-linux</span>), Boris Veytsman (<span +class="ec-lmss-10x-x-109">armel-linux</span>), Vladimir Volovich (<span +class="ec-lmss-10x-x-109">powerpc-aix</span>, +<span +class="ec-lmss-10x-x-109">sparc-solaris</span>), Olaf Weber (<span +class="ec-lmss-10x-x-109">mips-irix</span>). Pro informaci o procesu budování <span class="TEX">T<span +class="E">E</span>X</span> Live, viz +<a +href="http://tug.org/texlive/build.html" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/texlive/build.html</span></a>. +<!--l. 3096--><p class="indent" > Překladatelé této příručky: Boris Veytsman (Ruština), Jjgod Jiang, Jinsong Zhao, Yue Wang, & +Helin Gai (Čínština), Uwe Ziegenhagen (Němčina), Manuel Pégourié-Gonnard (Francouzština), +Marco Pallante (Italština), Nikola Lečić (Srbština), Petr Sojka & Ján Buša (Čeština/ +Slovenština),<span class="footnote-mark"><a +href="#fn2x0" id="fn2x0-bk"><sup class="textsuperscript">2</sup></a></span><a + id="x1-70001f2"></a> +Staszek Wawrykiewicz (Polština). Webovská stránka dokumentace <span class="TEX">T<span +class="E">E</span>X</span> Live je +<a +href="http://tug.org/texlive/doc.html" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/texlive/doc.html</span></a>. Samozřejmě, nejdůležitější poděkování patří Donaldu +Knuthovi, především za vymyšlení <span class="TEX">T<span +class="E">E</span>X</span>u a také za to, že ho věnoval světu. +<!--l. 3119--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">9 </span> <a + id="x1-710009"></a>Historie vydání</h3> +<!--l. 3122--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">9.1 </span> <a + id="x1-720009.1"></a>Minulost</h4> +<!--l. 3124--><p class="noindent" >Diskuse začala koncem roku 1993, kdy holandská skupina uživatelů <span class="TEX">T<span +class="E">E</span>X</span>u NTG začala práci na CD +4All<span class="TEX">T<span +class="E">E</span>X</span> pro uživatele MS-DOSu, doufajíc, že doba nazrála pro vydání jednoho CD pro +všechny systémy. Byl to na svou dobu příliš ambiciózní cíl, ale nenastartoval jen velmi +úspěšné 4All<span class="TEX">T<span +class="E">E</span>X</span> CD, ale také pracovní skupinu TUGu o <span class="TEX"><span +class="ec-lmri-10x-x-109">T</span><span +class="E"><span +class="ec-lmri-10x-x-109">E</span></span><span +class="ec-lmri-10x-x-109">X</span></span> <span +class="ec-lmri-10x-x-109">Directory Structure</span> + + +(<a +href="http://tug.org/tds" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/tds</span></a>), která specifikovala, jak vytvořit konzistentní a spravovatelnou kolekci +<span class="TEX">T<span +class="E">E</span>X</span>ových souborů. Kompletní draft TDS byl publikován v prosincovém čísle časopisu +<span +class="ec-lmro-10x-x-109">TUGboat </span>v roce 1995 a hned ze začátku bylo jasné, že jedním z žádaných produktů +bude vzorová struktura CD. Distribuce, kterou nyní máte, je přímým výstupem práce +této pracovní skupiny. Evidentní úspěch CD 4All<span class="TEX">T<span +class="E">E</span>X</span> ukázal, že i unixoví uživatelé by +toužili po podobně jednoduchém systému, a to je také jedno z hlavních aktiv <span class="TEX">T<span +class="E">E</span>X</span> +Live. +<!--l. 3140--><p class="indent" > Nejprve jsme vytvořili unixové TDS CD na podzim 1995 a rychle identifikovali te<span class="TEX">T<span +class="E">E</span>X</span> Thomase +Essera jako ideální systém, jelikož již měl multiplatformní podporu a byl koncipován +s perspektivou přenositelnosti. Thomas souhlasil s pomocí a seriózní práce započala začátkem roku +1996. První vydání se uskutečnilo v květnu 1996. Začátkem 1997 Karl Berry dokončil nové hlavní +vydání Web2C, které obsahovalo téměř všechny vlastnosti, které Thomas Esser přidal do te<span class="TEX">T<span +class="E">E</span>X</span>u, +a tak jsme se rozhodli druhé vydání CD postavit na standardním Web2C, s přidáním +skriptu <span +class="ec-lmtt-10x-x-109">texconfig </span>z te<span class="TEX">T<span +class="E">E</span>X</span>u. Třetí vydání CD bylo založeno na další revizi Web2C, 7.2, +provedené Olafem Weberem; a jelikož zároveň byla hotova nová verze te<span class="TEX">T<span +class="E">E</span>X</span>u, <span class="TEX">T<span +class="E">E</span>X</span> Live +obsahoval téměř všechna její vylepšení. Podobně čtvrté vydání používalo novou verzi +te<span class="TEX">T<span +class="E">E</span>X</span>u a nové vydání Web2C (7.3). <span class="TEX">T<span +class="E">E</span>X</span> Live nyní obsahuje i kompletní systém pro +Windows. +<!--l. 3158--><p class="indent" > Pro páté vydání (březen 2000) bylo mnoho částí CD revidováno a zkontrolováno a byly +aktualizovány stovky balíků. Detaily o balících byly uloženy v souborech XML. Ale hlavní změnou +pro <span class="TEX">T<span +class="E">E</span>X</span> Live 5 bylo vynětí softwaru, na kterém byla jakákoliv omezení na šíření (non-free +software). Vše uložené na <span class="TEX">T<span +class="E">E</span>X</span> Live je nyní slučitelné s tzv. ‘Debian Free Software +Guidelines’(<a +href="http://www.debian.org/intro/free" class="url" ><span +class="ec-lmtt-10x-x-109">http://www.debian.org/intro/free</span></a>); udělali jsme vše možné, abychom +zkontrolovali licenční podmínky všech balíků, ale budeme vděčni za upozornění na jakékoli +chyby. +<!--l. 3169--><p class="indent" > Šesté vydání (červenec 2001) mělo aktualizovaného materiálu ještě více. Hlavní změnou byl +nový instalační přístup: uživatel může volit instalační kolekce. Byly kompletně reorganizovány +jazykové kolekce, takže jejich výběrem se instalují nejen makra, fonty, ale je také připraven +odpovídající soubor <span +class="ec-lmtt-10x-x-109">language.dat</span>. +<!--l. 3177--><p class="indent" > Sedmé vydání v roce 2002 mělo podstatné rozšíření v přidání podpory Mac OS X, kromě +množství aktualizací balíků a programů. Důležitým cílem byla opětná integrace s te<span class="TEX">T<span +class="E">E</span>X</span>em a +korekce odchylek z pátého a šestého vydání. +<!--l. 3182--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">9.1.1 </span> <a + id="x1-730009.1.1"></a>2003</h5> +<!--l. 3184--><p class="noindent" >V roce 2003 se neustálou smrští oprav a rozšíření stalo to, že velikost <span class="TEX">T<span +class="E">E</span>X</span> Live již neumožnila +jeho směstnání na jedno CD, a tak došlo k rozdělení na tři různé distribuce (viz oddíl <a +href="#x1-90002.1">2.1<!--tex4ht:ref: sec:tlcoll.dists --></a> na +straně <a +href="#x1-90002.1">7<!--tex4ht:ref: sec:tlcoll.dists --></a>). Navíc: + <ul class="itemize1"> + <li class="itemize">Na žádost <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> týmu jsme změnili standardní příkazy <span +class="ec-lmss-10x-x-109">latex </span>a <span +class="ec-lmss-10x-x-109">pdflatex </span>tak, že nyní + používají e-<span class="TEX">T<span +class="E">E</span>X</span> (viz strana <a +href="#x1-120002.4">10<!--tex4ht:ref: text:etex --></a>). + </li> + <li class="itemize">Byly přidány a jsou nyní doporučovány k používání nové fonty Latin Modern. + </li> + <li class="itemize">Byla zrušena podpora OS Alpha OSF (podpora HPUX byla zrušena již dříve), jelikož + se nenašel nikdo, kdo by na těchto platformách zkompiloval nové binárky. + </li> + <li class="itemize">Instalační program Windows byl změněn podstatným způsobem; poprvé bylo + integrováno uživatelské prostředí založené na XEmacsu. + </li> + <li class="itemize">Důležité pomocné programy pro Windows (Perl, Ghostscript, ImageMagick, Ispell) jsou + nyní instalovány do instalačního adresáře <span class="TEX">T<span +class="E">E</span>X</span> Live. + </li> + <li class="itemize">Mapovací soubory jmen fontů pro <span +class="ec-lmss-10x-x-109">dvips</span>, <span +class="ec-lmss-10x-x-109">dvipdfm </span>a <span +class="ec-lmss-10x-x-109">pdftex </span>jsou nyní generovány novým + programem <span +class="ec-lmss-10x-x-109">updmap </span>a instalovány do <span +class="ec-lmtt-10x-x-109">texmf/fonts/map</span>. + </li> + <li class="itemize"><span class="TEX">T<span +class="E">E</span>X</span>, Metafont a MetaPost nyní dávají na výstup většinu vstupních znaků (32 a + + + výš) bez konverze (například do souborů zapisovaných pomocí <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">\write</span></span></span>, souborů log, na + terminál), a tedy <span +class="ec-lmri-10x-x-109">nejsou p</span><span +class="ec-lmri-10x-x-109">řekl</span><span +class="ec-lmri-10x-x-109">ád</span><span +class="ec-lmri-10x-x-109">ány </span>do sedmibitové <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">^^</span></span></span> notace. V <span class="TEX">T<span +class="E">E</span>X</span> Live 7 bylo toto + mapování závislé na nastavení systémových locale; nyní již nastavení locale <span +class="ec-lmri-10x-x-109">neovlivn</span><span +class="ec-lmri-10x-x-109">í</span> + chování <span class="TEX">T<span +class="E">E</span>X</span>u. Pokud z nějakých důvodů potřebujete výstup s <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">^^</span></span></span>, přejmenujte soubor + <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">texmf/web2c/cp8bit.tcx</span></span></span>. Příští verze bude mít čistší řešení. + </li> + <li class="itemize">Tato dokumentace byla podstatným způsobem přepracována. + </li> + <li class="itemize">Konečně, jelikož čísla verzí <span class="TEX">T<span +class="E">E</span>X</span> Live již příliš narostla, verze je nyní identifikována + rokem vydání: <span class="TEX">T<span +class="E">E</span>X</span> Live 2004.</li></ul> +<!--l. 3231--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">9.1.2 </span> <a + id="x1-740009.1.2"></a>2004</h5> +<!--l. 3232--><p class="noindent" >Rok 2004 přinesl mnoho změn: + <ul class="itemize1"> + <li class="itemize">Pokud máte lokálně instalovány fonty, které využívají své vlastní podpůrné soubory + <span +class="ec-lmtt-10x-x-109">.map </span>nebo (mnohem méně pravděpodobně) <span +class="ec-lmtt-10x-x-109">.enc</span>, možná budete nuceni tyto soubory + přesunout. + <!--l. 3240--><p class="noindent" >Soubory <span +class="ec-lmtt-10x-x-109">.map </span>jsou nyní vyhledávány jen v podaresářích <span +class="ec-lmtt-10x-x-109">fonts/map </span>(v každém + stromě <span +class="ec-lmtt-10x-x-109">texmf</span>), podle cesty <span +class="ec-lmtt-10x-x-109">TEXFONTMAPS</span>. Podobně, soubory <span +class="ec-lmtt-10x-x-109">.enc </span>jsou hledány jen + v podadresářích <span +class="ec-lmtt-10x-x-109">fonts/enc</span>, podle cesty <span +class="ec-lmtt-10x-x-109">ENCFONTS</span>. <span +class="ec-lmss-10x-x-109">updmap </span>se pokusí vypsat varování + o problematických souborech. + <!--l. 3247--><p class="noindent" >O metodách zpracování té které informace, prosíme viz + <a +href="http://tug.org/texlive/mapenc.html" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/texlive/mapenc.html</span></a>. + </li> + <li class="itemize"><span class="TEX"><span +class="ec-lmss-10x-x-109">T</span><span +class="E"><span +class="ec-lmss-10x-x-109">E</span></span><span +class="ec-lmss-10x-x-109">X</span></span><span +class="ec-lmss-10x-x-109">-kolekce</span> byla rozšířena přidáním instalovatelného CD, založeného na MiK<span class="TEX">T<span +class="E">E</span>X</span>u, + pro ty, kteří dávají přednost této implementaci před Web2C. Viz oddíl <a +href="#x1-80002">2<!--tex4ht:ref: sec:overview.tl --></a> (stránka <a +href="#x1-80002">7<!--tex4ht:ref: sec:overview.tl --></a>). + </li> + <li class="itemize">Uvnitř <span class="TEX">T<span +class="E">E</span>X</span> Live byl velký strom <span +class="ec-lmtt-10x-x-109">texmf </span>předešlých vydání nahrazen třemi: <span +class="ec-lmtt-10x-x-109">texmf</span>, + <span +class="ec-lmtt-10x-x-109">texmf-dist </span>a <span +class="ec-lmtt-10x-x-109">texmf-doc</span>. Viz oddíl <a +href="#x1-100002.2">2.2<!--tex4ht:ref: sec:tld --></a> (stránka <a +href="#x1-100002.2">7<!--tex4ht:ref: sec:tld --></a>) a soubory <span +class="ec-lmtt-10x-x-109">README </span>pro každý z nich. + </li> + <li class="itemize">Všechny vstupní soubory týkajíci se <span class="TEX">T<span +class="E">E</span>X</span>u jsou teď soustředěny v podadresáři <span +class="ec-lmtt-10x-x-109">tex</span> + stromů <span +class="ec-lmtt-10x-x-109">texmf* </span>a nemají oddělené sourozenecké adresáře <span +class="ec-lmtt-10x-x-109">tex</span>, <span +class="ec-lmtt-10x-x-109">etex</span>, <span +class="ec-lmtt-10x-x-109">pdftex</span>, <span +class="ec-lmtt-10x-x-109">pdfetex</span> + atd. Viz <a +href="../../../../texmf.doc/doc/english/tds/tds.html#Extensions" ><span +class="ec-lmtt-10x-x-109">texmf-doc/doc/english/tds/tds.html#Extensions</span></a>. + </li> + <li class="itemize">Pomocné dávky (neměly by být volány uživateli) jsou teď umístěny v novém + podadresáři <span +class="ec-lmtt-10x-x-109">scripts </span>stromů <span +class="ec-lmtt-10x-x-109">texmf* </span>a mohou být vyhledávány prostřednictvím + <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">kpsewhich</span><span +class="ec-lmtt-10x-x-109"> -format=texmfscripts</span></span></span>. Když tedy máte programy volající tyto dávky, + budou muset být nastaveny. Viz <a +href="../../../../texmf.doc/doc/english/tds/tds.html#Scripts" ><span +class="ec-lmtt-10x-x-109">texmf-doc/doc/english/tds/tds.html#Scripts</span></a>. + </li> + <li class="itemize">Téměř všechny formáty umožňují většinu znaků tisknout bez konverze pomocí + překladového souboru <span +class="ec-lmtt-10x-x-109">cp227.tcx</span>, místo jejich konverze pomocí <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">^^</span></span></span> notace. Konkrétně, + znaky na pozicích 32–256, plus „tab“, „vertikální tab“ a „form feed“ jsou považovány + za tisknutelné a nejsou konvertovány. Výjimky tvoří plain <span class="TEX">T<span +class="E">E</span>X</span> (jen 32–127 jsou + tisknutelné), Con<span class="TEX">T<span +class="E">E</span>X</span>t (0–255 tisknutelné) a formáty systému Omega. Toto implicitní + chování je téměř stejné jak na <span class="TEX">T<span +class="E">E</span>X</span> Live 2003, ale je implementováno čistěji, + s více možnostmi přizpůsobení. Viz <a +href="../../../../texmf/doc/web2c/web2c.html#TCX-files" ><span +class="ec-lmtt-10x-x-109">texmf/doc/web2c/web2c.html#TCX-files</span></a>. + (Mimochodem, se vstupem Unicode, může <span class="TEX">T<span +class="E">E</span>X</span> na výstupu vypsat posloupnosti + částečných znaků při výpisu chybových kontextů, protože je bytově orientován.) + </li> + <li class="itemize"><span +class="ec-lmss-10x-x-109">pdfetex </span>je teď implicitní stroj pro všechny formáty kromě samotného (plain) <span +class="ec-lmss-10x-x-109">tex</span>u. (Ten + jistěže generuje DVI, když je spuštěn jako <span +class="ec-lmss-10x-x-109">latex </span>atd.) To znamená, kromě jiných věcí, že + mikrotypografické rozšíření <span +class="ec-lmss-10x-x-109">pdftex</span>u jsou dostupné v <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>u, Con<span class="TEX">T<span +class="E">E</span>X</span>tu atd., stejně + jako rozšíření e-<span class="TEX">T<span +class="E">E</span>X</span>u (<a +href="../../../../texmf-dist/doc/etex/base/" >texmf-dist/doc/etex/base/</a>). + + + <!--l. 3294--><p class="noindent" >To také znamená, že užití balíku <span +class="ec-lmss-10x-x-109">ifpdf </span>(pracuje s plainem i <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>em) nebo + ekvivalentního kódu je <span +class="ec-lmri-10x-x-109">důle</span><span +class="ec-lmri-10x-x-109">žit</span><span +class="ec-lmri-10x-x-109">ěj</span><span +class="ec-lmri-10x-x-109">š</span><span +class="ec-lmri-10x-x-109">í ne</span><span +class="ec-lmri-10x-x-109">ž kdykoliv p</span><span +class="ec-lmri-10x-x-109">ředt</span><span +class="ec-lmri-10x-x-109">ím</span>, protože jednoduché testování, + zda je <span +class="ec-lmtt-10x-x-109">\pdfoutput </span>nebo nějaký jiný primitiv definován, není spolehlivý způsob určení, + zda je generován PDF výstup. Tento zpětný krok jsme udělali co nejvíc kompatibilní + letos, ale v příštím roce <span +class="ec-lmtt-10x-x-109">\pdfoutput </span>může být definován, dokonce i když se zapisuje + do DVI. + </li> + <li class="itemize">pdf<span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://pdftex.org/" class="url" ><span +class="ec-lmtt-10x-x-109">http://pdftex.org/</span></a>) má množství nových vlastností: + <ul class="itemize2"> + <li class="itemize"><span +class="ec-lmtt-10x-x-109">\pdfmapfile </span>a <span +class="ec-lmtt-10x-x-109">\pdfmapline </span>poskytují podporu mapování fontů uvnitř + dokumentu. + </li> + <li class="itemize">Mikrotypografické rozšíření fontu může být použito jednodušeji.<br +class="newline" /><a +href="http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html" class="url" ><span +class="ec-lmtt-10x-x-109">http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html</span></a> + </li> + <li class="itemize">Všechny parametry, které byly předtím nastavovány ve zvláštním konfiguračním + souboru <span +class="ec-lmtt-10x-x-109">pdftex.cfg</span>, musí teď být nastaveny pomocí primitivů, obyčejně + v <span +class="ec-lmtt-10x-x-109">pdftexconfig.tex</span>; <span +class="ec-lmtt-10x-x-109">pdftex.cfg </span>není dále podporován. Všechny existující <span +class="ec-lmtt-10x-x-109">.fmt</span> + soubory musí být znovu vytvořeny při změně souboru <span +class="ec-lmtt-10x-x-109">pdftexconfig.tex</span>. + </li> + <li class="itemize">Další informace viz manuál pdf<span class="TEX">T<span +class="E">E</span>X</span>u: <a +href="../../../../texmf/doc/pdftex/manual" >texmf/doc/pdftex/manual</a>. + </li></ul> + </li> + <li class="itemize">Primitiv <span +class="ec-lmtt-10x-x-109">\input </span>v <span +class="ec-lmss-10x-x-109">tex</span>u (a <span +class="ec-lmss-10x-x-109">mf </span>a <span +class="ec-lmss-10x-x-109">mpost</span>) teď akceptuje dvojité uvozovky se jmény obsahujícími + mezery a s jinými zvláštními znaky. Typické příklady: + + + <div class="verbatim" id="verbatim-6"> + <div class="fancyvrb" id="fancyvrb19"><a + id="x1-74002r1"></a>  \input "filename with spaces"   % plain<br class="fancyvrb" /><a + id="x1-74004r2"></a>  \input{"filename with spaces"}  % latex</div></div> + <!--l. 3329--><p class="nopar" >Pro další informace viz manuál Web2C: <a +href="../../../../texmf/doc/web2c" >texmf/doc/web2c</a>. + </li> + <li class="itemize">Podpora enc<span class="TEX">T<span +class="E">E</span>X</span>u je nyní zahrnuta uvnitř Web2C, v důsledku toho ve všech + <span class="TEX">T<span +class="E">E</span>X</span>ových programech, použitím volby <span +class="ec-lmtt-10x-x-109">-enc </span>— <span +class="ec-lmri-10x-x-109">jen v</span><span +class="ec-lmri-10x-x-109"> p</span><span +class="ec-lmri-10x-x-109">ř</span><span +class="ec-lmri-10x-x-109">ípad</span><span +class="ec-lmri-10x-x-109">ě, </span><span +class="ec-lmri-10x-x-109">že form</span><span +class="ec-lmri-10x-x-109">áty jsou</span> + <span +class="ec-lmri-10x-x-109">vytvo</span><span +class="ec-lmri-10x-x-109">řeny</span>. enc<span class="TEX">T<span +class="E">E</span>X</span> podporuje obecné překódování vstupu a výstupu, čímž umožňuje + plnou podporu kódování Unicode (v UTF-8). Viz <a +href="../../../../texmf-dist/doc/generic/enctex/" >texmf-dist/doc/generic/enctex/</a> a + <a +href="http://www.olsak.net/enctex.html" class="url" ><span +class="ec-lmtt-10x-x-109">http://www.olsak.net/enctex.html</span></a>. + </li> + <li class="itemize">Aleph, nový stroj kombinující e-<span class="TEX">T<span +class="E">E</span>X</span> a Omega, je nyní k dispozici. Trochu informace najdete + na <a +href="../../../../texmf-dist/doc/aleph/base" >texmf-dist/doc/aleph/base</a> a <a +href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph" class="url" ><span +class="ec-lmtt-10x-x-109">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph</span></a>. + Formát pro Aleph, založený na <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>u se jmenuje <span +class="ec-lmss-10x-x-109">lamed</span>. + </li> + <li class="itemize">Nejnovější vydání <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>u má novou verzi LPPL — teď oficiálně schválená Debian licence. + Rozmanité další aktualizace najdete v souborech <span +class="ec-lmtt-10x-x-109">ltnews </span>v <a +href="../../../../texmf-dist/doc/latex/base" >texmf-dist/doc/latex/base</a>. + </li> + <li class="itemize">Je dodán <span +class="ec-lmss-10x-x-109">dvipng</span>, nový program pro konvertování DVI na obrazové soubory PNG. Viz + <a +href="../../../../texmf/doc/man/man1/dvipng.1" >texmf/doc/man/man1/dvipng.1</a>. + </li> + <li class="itemize">Zredukovali jsme balík <span +class="ec-lmss-10x-x-109">cbgreek </span>na „středně“ velkou sadu fontů, se souhlasem a na radu autora + (Claudio Beccari). Odstraněné fonty jsou neviditelné, obrysové, a průhledné, relativně + zřídka se používají a my jsme potřebovali místo. Úplná sada je dostupná z CTAN + (<a +href="http://mirror.ctan.org/tex-archive/fonts/greek/cb" class="url" ><span +class="ec-lmtt-10x-x-109">http://mirror.ctan.org/tex-archive/fonts/greek/cb</span></a>). + </li> + <li class="itemize"><span +class="ec-lmss-10x-x-109">oxdvi </span>byl odebrán; použijte jednoduše <span +class="ec-lmss-10x-x-109">xdvi</span>. + </li> + <li class="itemize">Příkazy <span +class="ec-lmss-10x-x-109">ini </span>a <span +class="ec-lmss-10x-x-109">vir </span>(linky) pro <span +class="ec-lmss-10x-x-109">tex</span>, <span +class="ec-lmss-10x-x-109">mf </span>a <span +class="ec-lmss-10x-x-109">mpost </span>se již nevytvářejí, například <span +class="ec-lmss-10x-x-109">initex</span>. Funkčnost + instrukce <span +class="ec-lmss-10x-x-109">ini </span>byla po celá léta přístupna prostřednictvím volby <span +class="ec-lmtt-10x-x-109">-ini </span>na příkazovém + řádku. + </li> + <li class="itemize">Podpora platformy <span +class="ec-lmss-10x-x-109">i386-openbsd </span>byla zrušena. Jelikož balíček <span +class="ec-lmss-10x-x-109">tetex </span>v BSD Ports systému je + dostupný a GNU/Linux a FreeBSD binárky byly dostupné, zdálo se nám, že čas dobrovolníků + může být využit lépe někde jinde. + </li> + <li class="itemize">Na <span +class="ec-lmss-10x-x-109">sparc-solaris </span>(přinejmenším) jste možná museli nastavovat proměnné prostředí + <span +class="ec-lmtt-10x-x-109">LD_LIBRARY_PATH</span>, aby běžely programy <span +class="ec-lmss-10x-x-109">t1utils</span>. Je to tím, že jsou kompilovány v C++, a + neexistuje standardní umístění ,runtime‘ knihoven. (To není novinka roku 2004, ale nebylo to + dřív zdokumentováno.) Podobně, na <span +class="ec-lmss-10x-x-109">mips-irix</span>, ‘runtime’knihovny pro MIPS 7.4 jsou + nezbytné.</li></ul> +<!--l. 3381--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">9.1.3 </span> <a + id="x1-750009.1.3"></a>2005</h5> +<!--l. 3383--><p class="noindent" >Rok 2005 přinesl jako obvykle množství modernizací balíčků a programů. Infrastruktura zůstala +relativně stabilní z roku 2004, ale nutně také nastaly nějaké změny: + <ul class="itemize1"> + <li class="itemize">Byly zavedeny nové skripty <span +class="ec-lmss-10x-x-109">texconfig-sys</span>, <span +class="ec-lmss-10x-x-109">updmap-sys </span>a <span +class="ec-lmss-10x-x-109">fmtutil-sys</span>, které mění + konfiguraci v systémových stromech. Skripty <span +class="ec-lmss-10x-x-109">texconfig</span>, <span +class="ec-lmss-10x-x-109">updmap </span>a <span +class="ec-lmss-10x-x-109">fmtutil </span>teď mění + uživatelské (user-specific) soubory v <span +class="ec-lmtt-10x-x-109">$HOME/.texlive2005</span>. + + + </li> + <li class="itemize">Na specifikaci stromů obsahujících konfigurační soubory (uživatelské resp. systémové) + byly zavedeny odpovídající nové proměnné <span +class="ec-lmtt-10x-x-109">TEXMFCONFIG </span>resp. <span +class="ec-lmtt-10x-x-109">TEXMFSYSCONFIG</span>. Tedy, + možná budete potřebovat přesunout osobní verze souborů <span +class="ec-lmtt-10x-x-109">fmtutil.cnf </span>a <span +class="ec-lmtt-10x-x-109">updmap.</span> + <span +class="ec-lmtt-10x-x-109">cfg </span>na tato místa; jiná volba je předefinování <span +class="ec-lmtt-10x-x-109">TEXMFCONFIG </span>nebo <span +class="ec-lmtt-10x-x-109">TEXMFSYSCONFIG</span> + v souboru <span +class="ec-lmtt-10x-x-109">texmf.cnf</span>. V každém případě skutečná pozice těchto souborů a hodnoty + <span +class="ec-lmtt-10x-x-109">TEXMFCONFIG </span>a <span +class="ec-lmtt-10x-x-109">TEXMFSYSCONFIG </span>se musejí shodovat. Viz oddíl <a +href="#x1-110002.3">2.3<!--tex4ht:ref: sec:texmftrees --></a>, strana <a +href="#x1-110002.3">8<!--tex4ht:ref: sec:texmftrees --></a>. + </li> + <li class="itemize">Loni jsme ponechali <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">\pdfoutput</span></span></span> a jiné primitivy nedefinovány pro výstup DVI, přestože + byl používán program <span +class="ec-lmss-10x-x-109">pdfetex</span>. Letos, jak jsme slíbili, jsme odstranili toto zpětně + kompatibilní opatření. Tedy když váš dokument používá <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">\ifx\pdfoutput\undefined</span></span></span> + na testování výstupu do formátu PDF, je nutné ho změnit. Můžete k tomu použít + balík <span +class="ec-lmss-10x-x-109">ifpdf.sty </span>(který funguje v plain <span class="TEX">T<span +class="E">E</span>X</span>u i <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>u), nebo použít jeho logiku. + </li> + <li class="itemize">Loni jsme změnili většinu formátů tak, aby vypisovaly (8bitové) znaky tak jak jsou (viz + předcházející sekci). Nový TCX soubor <span +class="ec-lmtt-10x-x-109">empty.tcx </span>teď poskytuje jednodušší cestu + k dosažení původního zápisu <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">^^</span></span></span> když si tak budete přát, jako v případě: + + + <div class="verbatim" id="verbatim-7"> + <div class="fancyvrb" id="fancyvrb20"><a + id="x1-75002r1"></a>  latex --translate-file=empty.tcx yourfile.tex</div></div> + <!--l. 3420--><p class="nopar" > + </li> + <li class="itemize">Nový program <span +class="ec-lmss-10x-x-109">dvipdfmx </span>je zařazen pro převedení z DVI do PDF; ten je platnou aktualizací + programu <span +class="ec-lmss-10x-x-109">dvipdfm </span>(který je též ještě k dispozici, i když ho nedoporučujeme). + </li> + <li class="itemize">Nové programy <span +class="ec-lmss-10x-x-109">pdfopen </span>a <span +class="ec-lmss-10x-x-109">pdfclose </span>byly přidány, aby poskytly možnost znovu otevřít PDF + soubory v programe Adobe Acrobat Reader bez jeho restartu. (Jiné prohlížeče PDF, + především <span +class="ec-lmss-10x-x-109">xpdf</span>, <span +class="ec-lmss-10x-x-109">gv </span>a <span +class="ec-lmss-10x-x-109">gsview</span>, nikdy netrpěly tímto problémem.) + </li> + <li class="itemize">Kvůli důslednosti proměnné <span +class="ec-lmtt-10x-x-109">HOMETEXMF </span>a <span +class="ec-lmtt-10x-x-109">VARTEXMF </span>byly přejmenovány na <span +class="ec-lmtt-10x-x-109">TEXMFHOME </span>resp. na + <span +class="ec-lmtt-10x-x-109">TEXMFSYSVAR</span>. Je tu také <span +class="ec-lmtt-10x-x-109">TEXMFVAR</span>, která je implicitně uživatelsky závislá (user-specific). Viz + první bod výše.</li></ul> +<!--l. 3439--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">9.1.4 </span> <a + id="x1-760009.1.4"></a>2006–2007</h5> +<!--l. 3441--><p class="noindent" >V letech 2006–2007 byl rozsáhlým přírustkem na <span class="TEX">T<span +class="E">E</span>X</span> Live program Xe<span class="TEX">T<span +class="E">E</span>X</span>, přístupný jako +programy <span +class="ec-lmtt-10x-x-109">xetex </span>a <span +class="ec-lmtt-10x-x-109">xelatex</span>; viz <a +href="http://scripts.sil.org/xetex" class="url" ><span +class="ec-lmtt-10x-x-109">http://scripts.sil.org/xetex</span></a>. +<!--l. 3445--><p class="indent" > MetaPost byl také podstatně aktualizován, s mnoha plány do budoucnosti +(<a +href="http://tug.org/metapost/articles" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/metapost/articles</span></a>), podobně pdf<span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://tug.org/applications/pdftex" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/applications/pdftex</span></a>). +<!--l. 3449--><p class="indent" > Formát <span class="TEX">T<span +class="E">E</span>X</span> <span +class="ec-lmtt-10x-x-109">.fmt </span>(vysokorychlostní formát) a podobně soubory MetaPost a Metafont jsou teď +uloženy v podadresářích <span +class="ec-lmtt-10x-x-109">texmf/web2c</span>, namísto přímého uložení v něm (ačkoliv je adresář stále +prohledáván, v zájmu stávajících formátů <span +class="ec-lmtt-10x-x-109">.fmt</span>). Podadresáře nesou jména používaných +programů, například <span +class="ec-lmtt-10x-x-109">tex </span>nebo <span +class="ec-lmtt-10x-x-109">pdftex </span>nebo <span +class="ec-lmtt-10x-x-109">xetex</span>. Tato změna by měla při běžném používání +zůstat nepostřehnuta. +<!--l. 3457--><p class="indent" > Program (plain) <span +class="ec-lmtt-10x-x-109">tex </span>již nečte první řádky <span +class="ec-lmtt-10x-x-109">%& </span>aby určil, jaký formát má spustit; je to čistý +knuthovský <span class="TEX">T<span +class="E">E</span>X</span>. (<span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> a všechny ostatní programy stále čtou řádky <span +class="ec-lmtt-10x-x-109">%&</span>). Pochopitelně se +během roku (jako obvykle) vyskytly stovky jiných aktualizací balíků a programů. Jako obyčejně, +zkontrolujte, prosím, aktualizace na CTANu (<a +href="http://mirror.ctan.org" class="url" ><span +class="ec-lmtt-10x-x-109">http://mirror.ctan.org</span></a>). +<!--l. 3464--><p class="indent" > Vnitřně, strom zdrojových textů je nyní uložen v Subversion, se standardním webovským +rozhraní m pro jeho prohlížení, kam směruje odkaz z naší domovské stránky. Třebaže není +v konečné verzi viditelný, očekáváme, že to poskytne základ pro stabilní rozvoj v letech +následujících. +<!--l. 3470--><p class="indent" > Nakonec, v květnu 2006 Thomas Esser oznámil, že už nebude aktualizovat te<span class="TEX">T<span +class="E">E</span>X</span> +(<a +href="http://tug.org/tetex" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/tetex</span></a>). Výsledkem je nárůst zájmu o <span class="TEX">T<span +class="E">E</span>X</span> Live, především mezi distributory +GNU/Linuxu. (Na <span class="TEX">T<span +class="E">E</span>X</span> Live se nachází nové instalační schéma <span +class="ec-lmtt-10x-x-109">tetex</span>u, poskytující +přibližný ekvivalent.) Doufáme, že to možná povede ke zlepšení prostředí <span class="TEX">T<span +class="E">E</span>X</span>u pro +všechny. +<!--l. 3477--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">9.1.5 </span> <a + id="x1-770009.1.5"></a>2008</h5> +<!--l. 3479--><p class="noindent" >V roce 2008 byla celá infrastruktura <span class="TEX">T<span +class="E">E</span>X</span> Live přebudována a znovu implementována. Úplná +informace o instalaci je nyní uložena v textovém souboru <span +class="ec-lmtt-10x-x-109">tlpkg/texlive.tlpdb</span>. +<!--l. 3483--><p class="indent" > Mezi dalšími věcmi je konečně možná aktualizace instalace <span class="TEX">T<span +class="E">E</span>X</span> Live z internetu po předchozí +instalaci. Tuto vlastnost poskytoval MiK<span class="TEX">T<span +class="E">E</span>X</span> již řadu let. Předpokládáme pravidelnou aktualizaci +nových balíků po jejich vydání na CTANu. +<!--l. 3488--><p class="indent" > Obsažený je významnější nový stroj (engine) Lua<span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://luatex.org" class="url" ><span +class="ec-lmtt-10x-x-109">http://luatex.org</span></a>); kromě lepší +přizpůsobivosti v sázení je možno tento vynikající skriptovací jazyk použít jak uvnitř, tak +i mimo <span class="TEX">T<span +class="E">E</span>X</span>ovské dokumenty. +<!--l. 3492--><p class="indent" > Podpora Windows a unixových platforem je nyní jednotnější. Zejména, většina skriptů +Perlu a Lua je teď k dispozici pod Windows, s použitím Perlu distribuovaného na <span class="TEX">T<span +class="E">E</span>X</span> +Live. + + +<!--l. 3496--><p class="indent" > Nový skript <span +class="ec-lmss-10x-x-109">tlmgr </span>(sekce <a +href="#x1-450005">5<!--tex4ht:ref: sec:tlmgr --></a>) je všeobecné rozhraní pro správu <span class="TEX">T<span +class="E">E</span>X</span> Live po předchozí instalaci. +Ovládá aktualizaci balíků a následující znovuvytvoření formátů, mapovacích souborů a +jazykových souborů, volitelně zahrnující lokální doplňky. +<!--l. 3501--><p class="indent" > S příchodem programu <span +class="ec-lmss-10x-x-109">tlmgr</span>, činnosti programu <span +class="ec-lmss-10x-x-109">texconfig </span>na editaci formátů a konfiguračních +souborů dělení slov jsou nyní blokované. +<!--l. 3505--><p class="indent" > Program <span +class="ec-lmss-10x-x-109">xindy </span>pro tvorbu rejstříků (<a +href="http://xindy.sourceforge.net/" class="url" ><span +class="ec-lmtt-10x-x-109">http://xindy.sourceforge.net/</span></a>) je nyní zahrnut na +většině platforem. Nástroj <span +class="ec-lmss-10x-x-109">kpsewhich </span>může nyní ohlásit všechny výskyty pro daný soubor (option +<span +class="ec-lmtt-10x-x-109">–all</span>) a omezené výskyty pro daný podadresář (option <span +class="ec-lmtt-10x-x-109">–subdir</span>). +<!--l. 3513--><p class="indent" > Program <span +class="ec-lmss-10x-x-109">dvipdfmx </span>zahrnuje nyní funkčnost extrakce informace o ‘bounding boxu’, pomocí +povelu <span +class="ec-lmss-10x-x-109">extractbb</span>; toto byl jeden z posledních rysů, které poskytoval <span +class="ec-lmss-10x-x-109">dvipdfm</span>, avšak ne +<span +class="ec-lmss-10x-x-109">dvipdfmx</span>. +<!--l. 3518--><p class="indent" > Fontové přezdívky <span +class="ec-lmtt-10x-x-109">Times-Roman</span>, <span +class="ec-lmtt-10x-x-109">Helvetica</span>, atd. byly odstraněné. Různé balíky očekávaly +jejich různé chování (především, že budou mít různé kódování) a nenalezlo se vhodné řešení +tohoto problému. +<!--l. 3522--><p class="indent" > Formát <span +class="ec-lmss-10x-x-109">platex </span>byl odstraněn pro konflikt jmen s japonštinou <span +class="ec-lmss-10x-x-109">platex</span>; podporu polštiny nyní +zajišťuje balík <span +class="ec-lmss-10x-x-109">polski</span>. +<!--l. 3526--><p class="indent" > Soubory <span +class="ec-lmtt-10x-x-109">WEB</span>ovských řetězců (pool) jsou nyní zkompilované do binárek pro usnadnění +aktualizací. +<!--l. 3529--><p class="indent" > A nakonec, v tomto vydání jsou zahrnuty změny provedené Donaldem Knuthem v jeho úpravách <span class="TEX">T<span +class="E">E</span>X</span>u +roku 2008 (‘<span class="TEX">T<span +class="E">E</span>X</span> tuneup of 2008’). Viz <a +href="http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf</span></a>. +<!--l. 3533--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">9.1.6 </span> <a + id="x1-780009.1.6"></a>2009</h5> +<!--l. 3535--><p class="noindent" >Od roku 2009 je standardní výstupní formát Lua(L<span +class="ec-lmr-8">A</span> )<span class="TEX">T<span +class="E">E</span>X</span> PDF, pro využití výhody Lua<span class="TEX">T<span +class="E">E</span>X</span>ovské +podpory OpenType a jiné. Nové binárky nazvané <span +class="ec-lmtt-10x-x-109">dviluatex </span>a <span +class="ec-lmtt-10x-x-109">dvilualatex </span>spouští Lua<span class="TEX">T<span +class="E">E</span>X</span> při +výstupu DVI. Domovská stránka Lua<span class="TEX">T<span +class="E">E</span>X</span>u je <a +href="http://luatex.org" class="url" ><span +class="ec-lmtt-10x-x-109">http://luatex.org</span></a>. +<!--l. 3540--><p class="indent" > Původní systém (engine) Omega a formát Lambda format byly odstraněny po diskusích +s autory systému Omega. Zůstaly aktualizované programy Aleph a Lamed, podobně jako pomocné +programy systému Omega. +<!--l. 3544--><p class="indent" > Obsažené je nové vydání fontů AMS Type 1, včetně Computer Modern: do zdrojáků Metafontu +bylo zapracováno několik málo změn tvarů, které za léta udělal Don Knuth a byl aktualizován +hinting fontů. Tvary fontů Euler byly důkladně překresleny Hermannem Zapfem (viz +<a +href="http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf</span></a>). Ve všech případech zůstaly +metriky <span +class="ec-lmri-10x-x-109">nezm</span><span +class="ec-lmri-10x-x-109">ěn</span><span +class="ec-lmri-10x-x-109">ěny</span>. Domovská stránka AMS fontů je <a +href="http://www.ams.org/tex/amsfonts.html" class="url" ><span +class="ec-lmtt-10x-x-109">http://www.ams.org/tex/amsfonts.html</span></a>. +<!--l. 3553--><p class="indent" > Pomocný program – nový GUI editor – <span class="TEX">T<span +class="E">E</span>X</span>works je zahrnut pro Windows, ale také +v Mac<span class="TEX">T<span +class="E">E</span>X</span>u. Pro jiné platformy a další informace, viz domovskou stránku <span class="TEX">T<span +class="E">E</span>X</span>works +<a +href="http://tug.org/texworks" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/texworks</span></a>. Je to multi-platformní prostředí inspirované editorem TeXShop +v Mac OS X, zaměřené na jednoduché použití. +<!--l. 3562--><p class="indent" > Grafický program Asymptote je zahrnutý pro více platforem. Realizuje textově založený jazyk +pro popis grafiky, blízký k MetaPostu, avšak s pokročilou podporou 3D a jinými vlastnostmi. Jeho +domovská stránka je <a +href="http://asymptote.sourceforge.net" class="url" ><span +class="ec-lmtt-10x-x-109">http://asymptote.sourceforge.net</span></a>. +<!--l. 3567--><p class="indent" > Samostatný program <span +class="ec-lmtt-10x-x-109">dvipdfm </span>byl nahrazen programem <span +class="ec-lmtt-10x-x-109">dvipdfmx</span>, který pod tímto jménem +pracuje ve zvláštním režimu kompatibility. <span +class="ec-lmtt-10x-x-109">dvipdfmx </span>zahrnuje podporu CJK a má nahromaděny +mnohé další úpravy za léta od posledního vydání <span +class="ec-lmtt-10x-x-109">dvipdfm</span>. Domovská stránka DVIPDFMx je +<a +href="http://project.ktug.or.kr/dvipdfmx" class="url" ><span +class="ec-lmtt-10x-x-109">http://project.ktug.or.kr/dvipdfmx</span></a>. +<!--l. 3575--><p class="indent" > Binárky pro platformy <span +class="ec-lmss-10x-x-109">cygwin </span>a <span +class="ec-lmss-10x-x-109">i386-netbsd </span>jsou nyní v <span class="TEX">T<span +class="E">E</span>X</span> Live zahrnuty, zatímco nám bylo +oznámeno, že uživatelé OpenBSD získají <span class="TEX">T<span +class="E">E</span>X</span> pomocí jejich systémů balíků a navíc se +objevily potíže při vytváření binárek, které by měli šanci fungovat ve více než jedné +verzi. +<!--l. 3580--><p class="indent" > Z dalších menších změn: nyní používáme <span +class="ec-lmss-10x-x-109">xz </span>kompresi, stabilní náhradu za <span +class="ec-lmss-10x-x-109">lzma</span> +(<a +href="http://tukaani.org/xz/" class="url" ><span +class="ec-lmtt-10x-x-109">http://tukaani.org/xz/</span></a>); a literál <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">$</span></span></span> je povolen v názvech souborů pokud není uveden na +začátku jména známé proměnné; knihovna Kpathsea je teď vícevláknová (použitelné +v MetaPostu); budování celého <span class="TEX">T<span +class="E">E</span>X</span> Live je nyní založeno na systému Automake. +<!--l. 3588--><p class="indent" > Závěrečná poznámka o minulosti: všechna vydání <span class="TEX">T<span +class="E">E</span>X</span> Live, spolu s podpůrným materiálem +jako např. CD labels jsou dostupná na <a +href="ftp://tug.org/historic/systems/texlive" class="url" ><span +class="ec-lmtt-10x-x-109">ftp://tug.org/historic/systems/texlive</span></a>. +<!--l. 3592--><p class="noindent" > + + + <h5 class="subsubsectionHead"><span class="titlemark">9.1.7 </span> <a + id="x1-790009.1.7"></a>2010</h5> +<!--l. 3595--><p class="noindent" >V roce 2010 je předvolenou verzí pro výstup PDF verze 1.5, umožňující větší kompresi. To +se týká všech nástrojú <span class="TEX">T<span +class="E">E</span>X</span>u používaných na vytváření PDF a <span +class="ec-lmtt-10x-x-109">dvipdfmx</span>. Načtením +<span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>ovského balíčku <span +class="ec-lmss-10x-x-109">pdf14 </span>se provede zpětná změna na PDF 1.4, nebo nastavte +<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">\pdfminorversion=4</span></span></span>. +<!--l. 3600--><p class="indent" > pdf(L<span +class="ec-lmr-8">A</span> )<span class="TEX">T<span +class="E">E</span>X</span> nyní <span +class="ec-lmri-10x-x-109">automaticky </span>konvertuje požadovaný soubor ve formátu Encapsulated +PostScript (EPS) na PDF, prostřednictvím balíku <span +class="ec-lmss-10x-x-109">epstopdf</span>, když a pokud je načten konfigurační +soubor <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>u <span +class="ec-lmtt-10x-x-109">graphics.cfg </span>a pokud je výstup do PDF. Implicitní nastavení jsou +zamýšlené pro eliminaci možností přepsání ručně vytvořených PDF souborů, ale můžete +také docela zakázat načtení <span +class="ec-lmtt-10x-x-109">epstopdf </span>zadáním <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">\newcommand{\DoNotLoadEpstopdf}{}</span></span></span> +(nebo <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">\def...</span></span></span>) před deklarací <span +class="ec-lmtt-10x-x-109">\documentclass</span>. Balík <span +class="ec-lmss-10x-x-109">epstopdf </span>nebude zaveden rovněž +pokud bude použit balík <span +class="ec-lmss-10x-x-109">pst-pdf</span>. Pro další podrobnosti viz dokumentaci balíku <span +class="ec-lmss-10x-x-109">epstopdf</span> +(<a +href="http://ctan.org/pkg/epstopdf-pkg" class="url" ><span +class="ec-lmtt-10x-x-109">http://ctan.org/pkg/epstopdf-pkg</span></a>). +<!--l. 3611--><p class="indent" > Další podobnou změnou je, že vykonání několika málo externích příkazů z <span class="TEX">T<span +class="E">E</span>X</span>u, +prostřednictvím vlastnosti <span +class="ec-lmtt-10x-x-109">\write18</span>, je nyní implicitně povoleno. Tyto příkazy jsou <span +class="ec-lmtt-10x-x-109">repstopdf</span>, +<span +class="ec-lmtt-10x-x-109">makeindex</span>, <span +class="ec-lmtt-10x-x-109">kpsewhich</span>, <span +class="ec-lmtt-10x-x-109">bibtex </span>a <span +class="ec-lmtt-10x-x-109">bibtex8</span>; seznam je uveden v <span +class="ec-lmtt-10x-x-109">texmf.cnf</span>. Prostředí, která musí +zakázat všechny takové externí povely můžou zrušit tuto volbu v instalátoru (viz oddíl <a +href="#x1-280003.2.4">3.2.4<!--tex4ht:ref: sec:options --></a>), +nebo po instalaci přepsat hodnotu spuštěním <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">tlmgr</span><span +class="ec-lmtt-10x-x-109"> conf</span><span +class="ec-lmtt-10x-x-109"> texmf</span><span +class="ec-lmtt-10x-x-109"> shell_escape</span><span +class="ec-lmtt-10x-x-109"> 0</span></span></span>. +<!--l. 3620--><p class="indent" > Ještě další podobnou změnou je to, že BibTeX a Makeindex nyní implicitně odmítají zapsat +své výstupní soubory do libovolného adresáře (jako samotný <span class="TEX">T<span +class="E">E</span>X</span>). Je to proto, že nyní můžou být +povolené pro použití omezeným <span +class="ec-lmtt-10x-x-109">\write18</span>. Aby se to změnilo, může být nastavena proměnná +prostředí <span +class="ec-lmtt-10x-x-109">TEXMFOUTPUT</span>, nebo změnené nastavení <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10x-x-109">openout_any</span></span></span>. +<!--l. 3626--><p class="indent" > Xe<span class="TEX">T<span +class="E">E</span>X</span> nyní podporuje posun (kerning) okrajů podél stejných linií jako pdf<span class="TEX">T<span +class="E">E</span>X</span>. (Expanze +fontů není aktuálně podporována.) +<!--l. 3629--><p class="indent" > Program <span +class="ec-lmss-10x-x-109">tlmgr </span>nyní standardně ukládá jednu zálohu každého aktualizovaného balíku (<span +class="ec-lmtt-10x-x-109">tlmgr</span> +<span +class="ec-lmtt-10x-x-109">option autobackup 1</span>), tudíž přerušené aktualizace balíků mohou být snadno vráceny příkazem +<span +class="ec-lmtt-10x-x-109">tlmgr restore</span>. Pokud děláte poinstalační aktualizace a nemáte dostek místa na disku pro zálohy, +spusťte <span +class="ec-lmtt-10x-x-109">tlmgr option autobackup 0</span>. +<!--l. 3635--><p class="indent" > Byly zařazeny nové programy: nástroj (engine) p<span class="TEX">T<span +class="E">E</span>X</span> a příbuzné pomůcky pro sazbu +Japonštiny; program BibTeXU pro BibTeXumožňující použití Unicode; utility <span +class="ec-lmss-10x-x-109">chktex</span> +(<a +href="http://baruch.ev-en.org/proj/chktex" class="url" ><span +class="ec-lmtt-10x-x-109">http://baruch.ev-en.org/proj/chktex</span></a>) na kontrolu dokumentů (L<span +class="ec-lmr-8">A</span> )<span class="TEX">T<span +class="E">E</span>X</span>u; překladač <span +class="ec-lmss-10x-x-109">dvisvgm</span> +z DVI do SVG (<a +href="http://dvisvgm.sourceforge.net" class="url" ><span +class="ec-lmtt-10x-x-109">http://dvisvgm.sourceforge.net</span></a>). +<!--l. 3641--><p class="indent" > Jsou dodány binárky těchto nových platforem: <span +class="ec-lmtt-10x-x-109">amd64-freebsd</span>, <span +class="ec-lmtt-10x-x-109">amd64-kfreebsd</span>, <span +class="ec-lmtt-10x-x-109">i386-freebsd</span>, +<span +class="ec-lmtt-10x-x-109">i386-kfreebsd</span>, <span +class="ec-lmtt-10x-x-109">x86_64-darwin</span>, <span +class="ec-lmtt-10x-x-109">x86_64-solaris</span>. +<!--l. 3645--><p class="indent" > Změna <span class="TEX">T<span +class="E">E</span>X</span> Live 2009, kterou jsme si nevšimli: četné binárky týkající se <span class="TEX">T<span +class="E">E</span>X</span>4ht +(<a +href="http://tug.org/tex4ht" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/tex4ht</span></a>) byly odstraněny z adresářů binárek. Obecně použitelný (generic) +program <span +class="ec-lmtt-10x-x-109">mk4ht </span>může být použit na spuštění libovolné z rozličných kombinací <span +class="ec-lmtt-10x-x-109">tex4ht</span>. +<!--l. 3650--><p class="indent" > Nakonec, vydání <span class="TEX">T<span +class="E">E</span>X</span> Live na <span class="TEX">T<span +class="E">E</span>X</span> Collection DVD již nemůže být (kupodivu) spouštěné +živě. Samostatné DVD již nemá dostatek místa. Jednou výhodou je, že instalace z fyzického +DVD je mnohem rychlejší. +<!--l. 3654--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">9.1.8 </span> <a + id="x1-800009.1.8"></a>2011</h5> +<!--l. 3656--><p class="noindent" >Binárky Mac OS X (<span +class="ec-lmtt-10x-x-109">universal-darwin </span>a <span +class="ec-lmtt-10x-x-109">x86_64-darwin</span>) nyní pracují jenom pro Leopard nebo +pozdější; Panther a Tiger již nejsou podporovány. +<!--l. 3660--><p class="indent" > Program <span +class="ec-lmtt-10x-x-109">biber </span>pro zpracování bibliografie je zahrnut pro běžné platformy. Jeho rozvoj je úzce +spojený s balíkem <span +class="ec-lmtt-10x-x-109">biblatex</span>, který úplně přebudovává bibliografické prostředky poskytované +<span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>em. +<!--l. 3665--><p class="indent" > Program MetaPost (<span +class="ec-lmtt-10x-x-109">mpost</span>) již nevytváří nebo nepoužívá soubory <span +class="ec-lmtt-10x-x-109">.mem</span>. Potřebné soubory, jako +je <span +class="ec-lmtt-10x-x-109">plain.mp</span>, se jednoduše načítají při každém spuštění. To souvisí s podporou MetaPostu jako +knihovny, což je další důležitá změna, třebas neviditelná pro uživatele. +<!--l. 3670--><p class="indent" > Implementace <span +class="ec-lmtt-10x-x-109">updmap </span>v programu Perl, předtím používána pouze pod Windows, byla +vylepšena a nyní je používána na všech platformách. Výsledkem toho je, že uživatel by neměl vidět +žádné změny, kromě toho, že program běží mnohem rychleji. +<!--l. 3676--><p class="indent" > <a id="news"></a> + <h4 class="subsectionHead"><span class="titlemark">9.2 </span> <a + id="x1-810009.2"></a>Současnost</h4> + + +<!--l. 3680--><p class="noindent" ><span +class="ec-lmtt-10x-x-109">tlmgr </span>podporuje aktualizace z vícenásobných síťových repositářů. Více obsahuje oddíl o +vícenásobných repositářích ve výstupu příkazu <span +class="ec-lmtt-10x-x-109">tlmgr help</span>. +<!--l. 3684--><p class="indent" > Parametr <span +class="ec-lmtt-10x-x-109">\XeTeXdashbreakstate </span>je implicitně nastaven na 1, pro <span +class="ec-lmtt-10x-x-109">xetex </span>i <span +class="ec-lmtt-10x-x-109">xelatex</span>. To +umožňuje zalomení řádek po pomlčkách a spojovnících, co vždycky bylo chováním plain <span class="TEX">T<span +class="E">E</span>X</span>u, +<span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>u, Lua<span class="TEX">T<span +class="E">E</span>X</span>u, atd. Stávající dokumenty Xe<span class="TEX">T<span +class="E">E</span>X</span>u, které si musí udržet perfektní +kompatibilitu zalomení řádek musí explicitně nastavit hodnotu <span +class="ec-lmtt-10x-x-109">\XeTeXdashbreakstate</span> +na 0. +<!--l. 3693--><p class="indent" > Výstupní soubory generované programy <span +class="ec-lmtt-10x-x-109">pdftex </span>a <span +class="ec-lmtt-10x-x-109">dvips</span>, mimo jiné, můžou teď převýšit +2gb. +<!--l. 3696--><p class="indent" > Do výstupu programu <span +class="ec-lmtt-10x-x-109">dvips </span>je implicitně zahrnuto 35 standardních PostScriptových fontů, +protože existuje tolik jejich různých verzí. +<!--l. 3699--><p class="indent" > V omezeném režimu vykonávání <span +class="ec-lmtt-10x-x-109">\write18</span>, který je implicitně nastaven, <span +class="ec-lmtt-10x-x-109">mpost </span>je teď povoleným +programem. +<!--l. 3702--><p class="indent" > Soubor <span +class="ec-lmtt-10x-x-109">texmf.cnf </span>je také k nalezení v adresáři <span +class="ec-lmtt-10x-x-109">../texmf-local</span>, například, +<span +class="ec-lmtt-10x-x-109">/usr/local/texlive/texmf-local/web2c/texmf.cnf</span>, pokud existuje. +<!--l. 3706--><p class="indent" > Skript <span +class="ec-lmtt-10x-x-109">updmap </span>čte soubor <span +class="ec-lmtt-10x-x-109">updmap.cfg </span>podle stromu místo globálního konfiguračního souboru. +Tato zména by neměla být viditelná, pokud needitujete vaše soubory updmap.cfg přímo. Více +obsahuje výstup příkazu <span +class="ec-lmtt-10x-x-109">updmap –help</span>. +<!--l. 3711--><p class="indent" > Platformy: byly přidány <span +class="ec-lmss-10x-x-109">armel-linux </span>a <span +class="ec-lmss-10x-x-109">mipsel-linux</span>; <span +class="ec-lmss-10x-x-109">sparc-linux </span>není více v základní distribuci, +ale je dostupný pro instalaci jako jedna z uživatelských binárek, společně s různýma jinýma +platformami: <a +href="http://tug.org/texlive/custom-bin.html" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/texlive/custom-bin.html</span></a>. +<!--l. 3716--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">9.3 </span> <a + id="x1-820009.3"></a>Budoucnost</h4> +<!--l. 3718--><p class="noindent" ><span class="TEX"><span +class="ec-lmri-10x-x-109">T</span><span +class="E"><span +class="ec-lmri-10x-x-109">E</span></span><span +class="ec-lmri-10x-x-109">X</span></span> <span +class="ec-lmri-10x-x-109">Live nen</span><span +class="ec-lmri-10x-x-109">í dokonal</span><span +class="ec-lmri-10x-x-109">ý! </span>A nikdy nebude. Máme v úmyslu pokračovat v pravidelných vydáních a +rádi bychom poskytovali více podpůrných materiálů, programů, včetně instalačních, a +jistěže aktualizovaný a lépe zkontrolovaný strom maker a fontů. Tato práce je prováděna +dobrovolníky v jejich limitovaném volném čase a tedy vždycky je co dělat. Viz, prosím, +<a +href="http://tug.org/texlive/contribute.html" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/texlive/contribute.html</span></a>. +<!--l. 3726--><p class="indent" > Prosíme, pošlete opravy, návrhy, náměty a nabídky pomoci na: + <div class="quote"> + <!--l. 3728--><p class="noindent" ><a +href="mailto:tex-live@tug.org" ><span +class="ec-lmtt-10x-x-109">tex-live@tug.org</span></a><br +class="newline" /><a +href="http://tug.org/texlive" class="url" ><span +class="ec-lmtt-10x-x-109">http://tug.org/texlive</span></a></div> +<!--l. 3732--><p class="noindent" ><span +class="ec-lmro-10x-x-109">Š</span><span +class="ec-lmro-10x-x-109">ťastn</span><span +class="ec-lmro-10x-x-109">é </span><span class="TEX"><span +class="ec-lmro-10x-x-109">T</span><span +class="E"><span +class="ec-lmro-10x-x-109">E</span></span><span +class="ec-lmro-10x-x-109">X</span></span><span +class="ec-lmro-10x-x-109">ov</span><span +class="ec-lmro-10x-x-109">án</span><span +class="ec-lmro-10x-x-109">í!</span> + <div class="footnotes"><!--l. 2710--><p class="indent" > <span class="footnote-mark"><a +href="#fn1x0-bk" id="fn1x0"><sup class="textsuperscript">1</sup></a></span><span +class="ec-lmr-9">Od verzie </span><span class="TEX"><span +class="ec-lmr-9">T</span><span +class="E"><span +class="ec-lmr-9">E</span></span><span +class="ec-lmr-9">X</span></span> <span +class="ec-lmr-9">Live</span><span +class="ec-lmr-9"> 7 nie je nutn</span><span +class="ec-lmr-9">é t</span><span +class="ec-lmr-9">úto vo</span><span +class="ec-lmr-9">ľbu nastavova</span><span +class="ec-lmr-9">ť, preto</span><span +class="ec-lmr-9">že Type</span><span +class="ec-lmr-9"> 1 fonty s</span><span +class="ec-lmr-9">ú na</span><span +class="ec-lmr-9">č</span><span +class="ec-lmr-9">ítan</span><span +class="ec-lmr-9">é</span> +<span +class="ec-lmr-9">implicitne.</span> +<!--l. 3108--><p class="indent" > <span class="footnote-mark"><a +href="#fn2x0-bk" id="fn2x0"><sup class="textsuperscript">2</sup></a></span><span +class="ec-lmr-9">Ke korektu</span><span +class="ec-lmr-9">ře </span><span +class="ec-lmr-9">česk</span><span +class="ec-lmr-9">ého a slovensk</span><span +class="ec-lmr-9">ého p</span><span +class="ec-lmr-9">řekladu p</span><span +class="ec-lmr-9">řisp</span><span +class="ec-lmr-9">ěli v</span><span +class="ec-lmr-9"> letech 2003–2012 krom</span><span +class="ec-lmr-9">ě autorů Jarom</span><span +class="ec-lmr-9">ír Kuben,</span> +<span +class="ec-lmr-9">Milan Matl</span><span +class="ec-lmr-9">ák, Tom</span><span +class="ec-lmr-9">á</span><span +class="ec-lmr-9">š Ob</span><span +class="ec-lmr-9">š</span><span +class="ec-lmr-9">íva</span><span +class="ec-lmr-9">č, Karel P</span><span +class="ec-lmr-9">í</span><span +class="ec-lmr-9">ška, Tom</span><span +class="ec-lmr-9">á</span><span +class="ec-lmr-9">š Pole</span><span +class="ec-lmr-9">šovsk</span><span +class="ec-lmr-9">ý, Libor </span><span +class="ec-lmr-9">Škarvada, Zden</span><span +class="ec-lmr-9">ěk Wagner a dal</span><span +class="ec-lmr-9">š</span><span +class="ec-lmr-9">í.</span> +<span +class="ec-lmr-9">Pod</span><span +class="ec-lmr-9">ěkov</span><span +class="ec-lmr-9">án</span><span +class="ec-lmr-9">í pat</span><span +class="ec-lmr-9">ř</span><span +class="ec-lmr-9">í tak</span><span +class="ec-lmr-9">é Michalu M</span><span +class="ec-lmr-9">ádrovi, kter</span><span +class="ec-lmr-9">ý dokon</span><span +class="ec-lmr-9">čil editaci souboru cs.po a p</span><span +class="ec-lmr-9">řelo</span><span +class="ec-lmr-9">žil tak</span><span +class="ec-lmr-9">é soubor</span> +<span +class="ec-lmr-9">README.EN.</span> </div> + +</body></html> + + + + diff --git a/Master/texmf-dist/doc/texlive/texlive-cz/texlive-cz.pdf b/Master/texmf-dist/doc/texlive/texlive-cz/texlive-cz.pdf Binary files differnew file mode 100644 index 00000000000..104a1128097 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-cz/texlive-cz.pdf diff --git a/Master/texmf-dist/doc/texlive/texlive-cz/texlive-cz.tex b/Master/texmf-dist/doc/texlive/texlive-cz/texlive-cz.tex new file mode 100644 index 00000000000..eff9dc28583 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-cz/texlive-cz.tex @@ -0,0 +1,3734 @@ +% +% texlive-cz/texlive-cz.tex - TeXlive 2012 documentation +% CzechoSlovak translation (part is in Czech and part is in Slovak :-) +% +% TeX Live documentation. Originally written by Sebastian Rahtz and +% Michel Goossens, now maintained by Karl Berry and others. +% Public domain. +% +% 2012/06/09: v1.44 further typos (PS) +% 2012/06/05: v1.43 typos, checking 2012 modifications (PS) +% 2012/05/21: v1.42 translation of 2012 modifications (JB) +% 2011/06/28: v1.41 switch to utf8, typos (PS) +% 2011/06/24: v1.40 small fixes, deactivation of - (babel) (PS) +% 2011/06/16: v1.39 translation of new things for 2011 (JB) +% 2010/06/26: v1.38 translation of new things for 2010 (JB) +% 2009/10/20: v1.37 typos (by Piska) fixed, together with other edits (PS) +% 2009/09/23: v1.36 first 2009 version commited to TL 2009 (PS) +% 2009/09/02: v1.35 translation of new things for 2009 (JB) +% 2008/08/12: v1.34 prvni korektury prekladu 2008 +% 2008/08/02: v1.33 aktualizacia prekladu 2008 +% 2007/01/24: v1.32 XeTeX URL and HH (config.manpath) change +% 2007/01/22: v1.31 last minute corrections by Staszek (2x) and ZW +% 2007/01/15: v1.30 corrections and typos +% 2007/01/14: v1.29 texlive2007 version (JB&PS) +% 2005/11/01: v1.28 last minute Staszek additions +% 2005/10/31: v1.27 texlive2005 version (JB&PS) +% 2004/11/18: v1.26 final release cleanup, latest changes by Staszek +% 2004/11/17: v1.24,25 typos corrected +% 2004/11/15: v1.21,22,23 corrections by KB, JB and others entered +% 2004/11/14: v1.20 first texlive2004 version (JB&PS) +% 2004/01/30: v1.19 postbulletin version release for CSTUG web +% 2004/01/22: v1.18 minor changes before final-2003 source release +% 2004/01/19: v1.16, v1.17 last-minute corrections before sending +% CSTUG Bulletin to print +% 2004/01/18: modifications for CS bulletin by Z. Wagner +% 2004/01/07: version 1.15 +% 2003/12/08-10: Slovak and other Czech typos corrected +% 2003/12/06: Czech language typos/errors entered +% 2003/09/23: prepositions checked, v1.03 +% 2003/09/23: some typos, jch's email, v1.02 +% 2003/09/22: further error corrections, v1.01 +% 2003/09/18: final checking and error corrections, v1.0 release +% 2003/09/17: another changes in English version incorporated +% 2003/09/08: changes in English version from 09/04 to 09/06 incorporated +% 2003/09/06: fixes from Staszek +% 2003/09/05: touched by Karl +% 2003/09/04: fixes from Staszek and Fabrice +% 2003/09/05: translation started from English version as of Sep 1st by +% Petra & Petr S. +% 2003/09/01: fixes from Volker. +% 2003/08/12: fixes from Christer Gustafsson <gustaf@powertech.no>. +% 2003/07/07: substantial revisions by karl. +% ... deleted +% +% TODO +% +% -- Priklady ve slovenske casti aktualizovat z~anglicke verze +% (zustaly dosud z verze TeXlive 6). +% +% Translations: +% Copyright (c) 2003--2012 Petr Sojka +% Copyright (c) 2004--2012 Ján BuÅ¡a +% Copyright (c) 2003 Petra Sojková +% Copyright (c) 2001 Janka ChlebÃková +% Permission is granted to copy, distribute and/or modify this document +% under the terms of the GNU Free Documentation License, Version 1.2 +% or any later version published by the Free Software Foundation; +% with no Invariant Sections, no Front-Cover Texts, and no +% Back-Cover Texts. A copy of the license is included in +% the section entitled "GNU Free Documentation License". + +\newif\ifforbulletin +\forbulletinfalse +%\forbulletintrue +\newcommand\cstlversion{1.44} +\newcommand\cstldate{8.\ \v cervna 2012} +\ifforbulletin + \providecommand\Status{3} % version for CSTUG bulletin Zpravodaj + \else + \providecommand\Status{1} % 2 html alebo 1 pdf +\fi +% +\ifnum\Status=2 % e.g. html generation via tex4ht + \def\classname{article} % need different doc class for html + \def\classoptions{11pt} +\else + \ifnum\Status=3 % Zpravodaj + \def\classname{article} + \def\classoptions{twoside,a5paper} +% \pdfpaperwidth=147.5mm +% \pdfpaperheight=210mm + \else \def\classname{artikel1} + \def\classoptions{11pt} + \fi +\fi + +\listfiles +\documentclass[\classoptions,slovak,english,czech]{\classname} +\usepackage{tex-live} +\usepackage[T1]{fontenc} +\usepackage[utf8x]{inputenc} +\usepackage[czech]{babel}% +\usepackage{csquote} % do define \uv +\newcommand{\singleuv}[1]{,#1`} +\newcommand{\ctt}{\url{news:comp.text.tex}} +\newcommand{\kB}{KiB} +\newcommand{\MB}{MiB} +\newcommand{\CSTUG}{\CS TUG} +\providecommand*{\GS}{Ghost\-script\xspace} +\newcommand\TKCS{\textsf{\TeX-kolekce}} +\clubpenalty 10000 +\widowpenalty 10000 +\def\p.{na stranÄ›~} +\newcommand\tubreflect[1]{% + \@ifundefined{reflectbox}{% + \message{A graphics package must be loaded for \string\XeTeX}% + }{% + \ifdim \fontdimen1\font>0pt + \raise 1.75ex \hbox{\kern.1em\rotatebox{180}{#1}}\kern-.1em + \else + \reflectbox{#1}% + \fi + }% +} +\def\tubhideheight#1{\setbox0=\hbox{#1}\ht0=0pt \dp0=0pt \box0 } + +\begin{document} +\ifnum\Status=2 + % this ugliness is because the normal definition of ' for tex4ht + % tries to go into math mode. I don't under + \def'{\char`\'} +\fi + +\selectlanguage{czech} +\hyphenation{Meta-Postu} +\errorcontextlines=20 +\shorthandoff{-} +\title{{\huge\textsf{\TL{} 2012}}\\[3mm] + PÅ™ÃruÄka \protect\TeXLive{}, CS verze \cstlversion} +\date{\cstldate} + +\author{Karl Berry, editor \\[3mm] + \url{http://tug.org/texlive/}\\[3mm] +%B% \ifnum \Status=2 +%B% \includegraphics[bb=0 0 824 741]{../pictures/front} \\[5mm] +%B%\else +%B%\ifnum \Status=3 +%B% \includegraphics[width=.5\linewidth]{../pictures/bw-front2} \\[5mm] +%B%\else +%B% \includegraphics[width=.5\linewidth]{../pictures/front} \\[5mm] +%B%\fi \fi +%B% \small \textit{Kontaktnà osoby pro tuto dokumentaci:}\\[3mm] +%B% \small \begin{tabular}{lcr} +%B% Czech/Slovak & Petr Sojka & \email{sojka (at) fi.muni.cz} \\ +%B% & Ján BuÅ¡a & \email{jan.busa (at) tuke.sk} \\ +%B% English & Karl Berry & \email{karl (at) freefriends.org} \\ +%B% French & Fabrice Popineau & \email{fabrice.popineau (at) supelec.fr} \\ +%B% German & Volker R.\,W.\ Schaa & \email{volker (at) dante.de} \\ +%B% Polish & Staszek Wawrykiewicz & \email{staw (at) gust.org.pl} \\ +%B% Russian & Boris Veytsman & \email{borisv (at) lk.net} +%B% \end{tabular} +% \tlimage{front}{bb=0 0 824 741}{.7\linewidth} + } + +% comes out too close to the toc, and we know it's page one anyway. +\thispagestyle{empty} +\maketitle + +\ifnum\Status=3 + \thispagestyle{csbul} + \ifforbulletin \setcounter{page}{113} % valid for 3-4/2003 + \else \raggedbottom + \fi +\fi + + PÅ™eklad + 2004--2012 Ján BuÅ¡a, + 2001 Janka ChlebÃková, + 2003--2012 Petr Sojka a + 2003 Petra Sojková + je Å¡ÃÅ™en pod GNU FDL licencÃ. + + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.2 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no + Back-Cover Texts. + +%\begin{multicols}{2} +\tableofcontents +%\listoftables +%\end{multicols} + +\section{Úvodem} +\label{sec:intro} + +\subsection{\TeX\ Live a kolekce \TeX{}u} + +Tento dokument popisuje základnà vlastnosti distribuce \TeXLive{} 2012, +což je instalace \TeX{}u a pÅ™Ãbuzných programů pro \acro{GNU}/Linux a dalÅ¡Ã +unixové systémy, \MacOSX{} a (32bitové) systémy Windows. + +\TL{} můžete zÃskat staženÃm z~internetu, nebo na \TKCS{} \DVD. +NÄ›které skupiny uživatelů \TeX{}u distribuujà \DVD\ svým Älenům. +Obsah \DVD\ je struÄnÄ› popsán v~oddÃle~\ref{sec:tlcoll.dists}. +\TL{} a \TKCS{} spolu jsou výsledkem spoleÄného úsilà +skupin uživatelů \TeX u. Tento dokument popisuje pÅ™evážnÄ› samotný \TL{}. + +\TL{} obsahuje \file{.exe} soubory pro \TeX, \LaTeXe, \ConTeXt, +\MF, \MP, \BibTeX{} a mnoho dalÅ¡Ãch programů vÄetnÄ› obsáhlého +seznamu maker, fontů a dokumentace spolu s~podporou +sazby v~mnoha různých svÄ›tových jazycÃch. + +%Aktuálnà verze použitého software je v~archÃvu +%\acro{CTAN} na \url{http://www.ctan.org/}. + +Krátký seznam hlavnÃch zmÄ›n v~této verzi \TL{} +najdete na konci tohoto dokumentu, v~oddÃlu~\ref{sec:history} +na stranÄ›~\pageref{sec:history}. + +\htmlanchor{platforms} +\subsection{Podpora operaÄnÃch systémů} +\label{sec:os.support} + +\TL{} obsahuje binárky pro mnohé unixové platformy, +vÄetnÄ› \GNU/Linux, \MacOSX a Cygwin. +Obsažené zdrojové texty mohou být zkompilovány +pro platformy, pro které neposkytujeme binárky. + +Co se týÄe Windows: podporovány jsou Windows \acro{XP} +a pozdÄ›jÅ¡Ã verze. Windows~2000 +jeÅ¡tÄ› bude pravdÄ›podobnÄ› z~nejvÄ›tÅ¡Ã Äásti fungovat. +Pro Windows nejsou k~dispozici 64bitové \file{.exe} soubory, ale +32bitové binárky by mÄ›ly běžet na 64bitových systémech. + +Alternativnà řeÅ¡enà pro Windows a \MacOSX{} najdete +v~oddÃle~\ref{sec:tlcoll.dists}. + +\subsection{Základnà instalace \protect\TL{}} +\label{sec:basic} + +\TL{} můžete nainstalovat buÄ z~\DVD{} nebo z~internetu +(\url{http://tug.org/texlive/acquire.html}). Samotný sÃÅ¥ový +instalaÄnà program je malý a vÅ¡e požadované stáhne z~internetu. + +InstalaÄnà program na \DVD{} vám umožnà instalaci na lokálnÃm +disku. \TL{} nemůžete spustit pÅ™Ãmo z~\DVD{} +(nebo z~jeho \code{.iso} obrazu), avÅ¡ak můžete pÅ™ipravit +spustitelnou instalaci, napÅ™Ãklad, na klÃÄi \USB{} (viz +oddÃl~\ref{sec:portable-tl}). Instalace je popsána v~následujÃcÃch +sekcÃch (na stránce~\pageref{sec:install}), zde jen souhrn: +\begin{itemize*} +\item InstalaÄnà dávka se jmenuje \filename{install-tl}\,. +Může pracovat v~\uv{průvodcovském režimu} po zadánà +volby \code{-gui=wizard} (pÅ™edvolba pro Windows), +v~textovém režimu zadaném volbou \code{-gui=text} +(pÅ™edvoleném pro vÅ¡echny ostatnà systémy), +nebo v~\GUI{} režimu pro pokroÄilé zadaném volbou \code{-gui=perltk}. +% Jednotlivé režimy dosáhnete volbou \code{-gui} nebo \code{-no-gui}. + +\item Jednou souÄástà instalace je program +`\TL\ Manager', nazvaný \prog{tlmgr}. +PodobnÄ› jako instalaÄnà program může být použit +v~režimu \GUI{} nebo v~textovém režimu. +Můžete ho použÃt k~nainstalovánà nebo odinstalovánà +balÃků a na různé konfiguraÄnà Äinnosti. +\end{itemize*} + +\htmlanchor{security} +\subsection{Úvahy o bezpeÄnosti} +\label{sec:security} + +Podle naÅ¡eho vÄ›domÃ, hlavnà programy \TeX{u} samotné jsou (a vždycky byly) +extrémnÄ› robustnÃ. NicménÄ›, programy dodané v~rámci \TeX\ Live nemusà dosahovat +stejnou úroveň, navzdory nejlepÅ¡Ãm úsilÃm vÅ¡ech. Jako vždy, pÅ™i použità programů +pro nedůvÄ›ryhodný vstup musÃte být opatrný; pro maximálnà bezpeÄnost použijte +nový podadresář. + +Tato potÅ™eba opatrnosti je zvláštÄ› naléhavá pro Windows, protože +Windows obvykle najdou programy v~aktuálnÃm adresáři pÅ™ed jinými, +bez ohledu na cestu vyhledávanÃ. To otevÃrá Å¡iroké varianty možných +útoků. ZavÅ™eli jsme mnoho dÄ›r, ale nepochybnÄ› nÄ›které zůstaly, +obzvláštÄ› pro programy pocházejÃcà odjinud. Proto doporuÄujeme +zkontrolovat podezÅ™elé programy v~aktuálnÃm adresáři, zvláštÄ› spustitelné +(binárky nebo skripty). BěžnÄ› by nemÄ›ly být pÅ™Ãtomny a rozhodnÄ› +nemůžou být normálnÄ› vytvoÅ™eny pÅ™i zpracovánà dokumentů. + +Nakonec, \TeX\ (a jeho doprovodné programy) jsou schopny pÅ™i bÄ›hu +zapisovat do souborů. Tato schopnost může rovněž být zneužita +mnohými způsoby. Znova, zpracovánà neznámých dokumentů v~novém podadresáři +je nejbezpeÄnÄ›jÅ¡Ã tip. + + +\subsection{NápovÄ›da} +\label{sec:help} + +\TeX{}ovská komunita je aktivnÃ, vstÅ™Ãcná a vÄ›tÅ¡ina +serióznÃch otázek je obvykle zodpovÄ›zena. Podpora je +neformálnÃ, je provádÄ›na pÅ™Ãležitostnými Ätenáři a dobrovolnÃky, +a proto je důležité, abyste odpovÄ›Ä na svůj dotaz hledali nejdÅ™Ãve sami, +než ho vznesete na fóru. Pokud toužÃte po garantované komerÄnà podpoÅ™e, +můžete na \TL{} zapomenout a zakoupit komerÄnà distribuci; viz +seznam prodejců na \url{http://tug.org/interest.html#vendors}. + +NÞe je uveden seznam informaÄnÃch zdrojů, pÅ™ibližnÄ› v~poÅ™adÃ, ve kterém +ho doporuÄujeme k~použitÃ: +\begin{description} +\item [prvnà kroky] Pokud jste \TeX ovský nováÄek, na stránce +\url{http://tug.org/begin.html} najdete krátký úvod do systému. +\item [\TeX{} \acro{FAQ}] \TeX{} \acro{FAQ} je obrovská studnice + znalostà obsahujÃcà vÅ¡echny druhy otázek, od tÄ›ch základnÃch až po + ty nejobskurnÄ›jÅ¡Ã. Dokument najdete na \TL{} v~adresáři +% \OnCD{texmf-doc/doc/english/FAQ-en/html/index.html} + \OnCD{texmf-dist/doc/generic/FAQ-en/html/index.html} + nebo na internetu na \url{http://www.tex.ac.uk/faq}. + ProsÃme, zaÄnÄ›te své hledánà odpovÄ›di zde. + +\item [\TeX{} Catalogue] Pokud hledáte konkrétnà balÃk, + font, program ap., \TeX{} Catalogue je mÃsto, kde zaÄÃt. + Je to obsáhlá sbÃrka \TeX{}ových položek. Viz +% \url{http://mirror.ctan.org/help/Catalogue/}. + \url{http://ftp.cstug.cz/pub/CTAN/help/Catalogue/}. + + +\item [\TeX{}ové odkazy na Webu] Na \url{http://tug.org/interest.html} + najdete mnoho relevantnÃch odkazů na různé pÅ™ÃruÄky, + knihy, manuály a Älánky o vÅ¡ech aspektech systému \TeX{}. + +\item [archÃvy diskusnÃch skupin] + \sloppypar DvÄ› základnà fóra pro hledánà řeÅ¡enà problémů jsou + newsová skupina \ctt{} a emailová diskusnà + skupina \email{texhax@tug.org}. V~archÃvech tÄ›chto zdrojů + najdete tisÃce pÅ™edchozÃch dotazů a odpovÄ›dà ÄekajÃcÃch na vaÅ¡e + hledánÃ. NahlédnÄ›te na + \url{http://groups.google.com/groups?group=comp.text.tex}, + res\-pek\-ti\-ve na + \url{http://tug.org/mail-archives/texhax}. Dotazem do obecného + vyhledávacÃho stroje jako \url{http://google.com/} také nic nepokazÃte + a pro specifika ÄeÅ¡tiny a slovenÅ¡tiny najdete dalÅ¡Ã zdroje + odkazované na \url{http://www.cstug.cz/}. + +\item [kladenà dotazů] Pokud nemůžete najÃt odpovÄ›Ä na svou otázku, + můžete ji položit na \ctt{} pÅ™es Google nebo + newsového klienta nebo emailem na \email{texhax@tug.org}. + Ale dÅ™Ãve, než tak uÄinÃte, \emph{prosÃm,} pÅ™eÄtÄ›te + si toto doporuÄenÃ, abyste maximalizovali vyhlÃdky na + zÃskánà užiteÄné odpovÄ›di: + \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. + Za zmÃnku stojà také stránka \LaTeX{}ovské komunity na + \url{http://www.latex-community.org/} a jejà fórum + \url{http://www.latex-community.org/forum/} a + \TeX\ Stack\-Exchange na \url{http://tex.stackexchange.com/}. + + +\item [podpora \TL{}] Pokud chcete poslat + chybové hlášenÃ, pÅ™ipomÃnku nebo poznámku k~distribuci + \TL{}, jejà instalaci nebo dokumentaci, + diskusnà skupina k~tomu urÄená je \email{tex-live@tug.org}. + Pokud vÅ¡ak je vaÅ¡e otázka specifická pro program na + \TL{} umÃstÄ›ný, napiÅ¡te prosÃm pÅ™Ãmo autorovi nebo do diskusnà + skupiny urÄené pro tento program. SpuÅ¡tÄ›nà programu + s~volbou \code{-{}-help} nezÅ™Ãdka + poskytuje adresu pro chybové hlášenÃ. +\end{description} + +\noindent +Druhou stranou mince je odpovÃdánà na dotazy tÄ›ch, kdo kladou otázky. +\ctt{} i~list \code{texhax} jsou otevÅ™eny pro kohokoliv. +PÅ™ihlaste se, naslouchejte a zaÄnÄ›te odpovÃdat tam, kde můžete. + +% don't use \TL so the \uppercase in the headline works. Also so +% tex4ht ends up with the right TeX. Likewise the \protect's. +\section{PÅ™ehled \protect\TeX\protect\ Live} +\label{sec:overview.tl} + +Tento oddÃl popisuje obsah \TL{} a \TKCS{}, jejÞ~je ÄástÃ. + +%DvÄ› hlavnà instalaÄnà dávky pro Unix a \MacOSX{} jsou +%\texttt{install-tl.sh} a \texttt{install-pkg.sh}. Jsou +%popsány v~oddÃle~\ref{sec:unix.install} na +%stranÄ›~\pageref{sec:unix.install}. +%V~dalÅ¡Ãm oddÃle popÃÅ¡eme strukturu a obsah \TL{}. + + +\subsection{Kolekce \protect\TeX{}u: \TL, pro\TeX{}t, Mac\TeX} +\label{sec:tlcoll.dists} + +\DVD{} \TKCS{} zahrnuje následujÃcÃ: + +\begin{description} +\item [\TL] Úplný systém \TeX{}, k~nainstalovánà na disk. +Jeho domovská stránka je \url{http://tug.org/texlive/}. + +\item [Mac\TeX] pro \MacOSX, pÅ™idává nativnà \MacOSX\ instalaÄnà +program a jiné aplikace Mac k~\TL{}. Jeho domovská stránka je +\url{http://tug.org/mactex/}. + +\item [pro\TeX{}t] RozÅ¡ÃÅ™enà systému \MIKTEX\ pro Windows. +\ProTeXt\ pÅ™idává k~\MIKTEX u nové doplňkové nástroje +a zjednoduÅ¡uje instalaci. Je plnÄ› nezávislý na \TL{} +a má své vlastnà pÅ™Ãkazy. +Domovská stránka projektu \ProTeXt\ je na \url{http://tug.org/protext}. + +\item [CTAN] Výpis obrazovky archÃvu \CTAN{} (\url{http://www.ctan.org}). + +\item [\texttt{texmf-extra}] Adresář s~rozmanitými doplňkovými balÃky. + +%\item [demo] systém spustitelný pÅ™Ãmo z~\CD. Aby to bylo možné, +%byli jsme nuceni vypustit velké kolekce pro sazbu +%ÄÃnÅ¡tiny, japonÅ¡tiny a korejÅ¡tiny \acro{CJK}, +%podporu sazby not, nÄ›která ménÄ› Äasto použÃvaná pÃsma. +%Distribuce funguje jen pod Linuxem, \MacOSX{} a systémy Windows. + +\end{description} + +\CTAN{}, \pkgname{protext} a \dirname{texmf-extra} +nemusà mÃt stejné podmÃnky pro kopÃrovánà jako \TL{}, +proto buÄte pozornà pÅ™i Å¡ÃÅ™enà nebo modifikaci. + + +\subsection{Popis koÅ™enových adresářů \TL{}} +\label{sec:tld} + +%V~koÅ™enovém adresáři distribuce \TL{} najdete následujÃcà podadresáře. +Tady uvádÃme struÄný seznam a popis koÅ™enových adresářů instalace \TL{}. +%Na %\pkgname{live} +%\TK{} \DVD\ je celá \TL{} hierarchie v~podaresáři +%\dirname{texlive}, a ne v~koÅ™enovém adresáři disku. + +\begin{ttdescription} +\item[bin] Binárky systému \TeX{}, s~podadresáři dle platforem. +% +%\item[readme.html] Webovské stránky se struÄnými úvody a užiteÄnými +%odkazy, v~různých jazycÃch. +\item[readme-*.dir] StruÄný pÅ™ehled a užiteÄné odkazy +na \TL{}, v~různých jazycÃch, ve formátu \HTML{} a textovém. +% +\item[source] Zdrojové kódy vÅ¡ech programů, vÄetnÄ› základnà distribuce + \TeX{}u založené na \Webc{}. +% +%\item[support] Různé pomocné balÃky a programy. Automaticky +% \emph{nejsou} instalovány. Toto zahrnuje editory +% a \TeX{}ová vývojová prostÅ™edà různých druhů. + +% +\item[texmf] Viz \dirname{TEXMFMAIN} nÞe. +% +\item[texmf-dist] Viz \dirname{TEXMFDIST} nÞe. +% +%\item[texmf-doc] Strom samostatné Äisté dokumentace, uspořádán podle jazyků. +% +\item[tlpkg] Skripty, programy a údaje pro správu instalace a +pÅ™Ãdavnou podporu pro Windows. +%Obsahuje rovněž neveÅ™ejné kopie Perlu a Ghostscriptu pro Windows, které jsou mimo +%\TL{} neviditelné, a nový prohlÞeÄ PostScriptu pro Windows PSView. +\end{ttdescription} + +\smallskip + +V~koÅ™enovém adresáři distribuce jsou navÃc instalaÄnà dávky a soubory +\filename{README} (v~různých jazycÃch). + +Co se týÄe dokumentace, užiteÄné mohou +být obsáhlé odkazy v~koÅ™enovém souboru \OnCD{doc.html}. +%Adresář \dirname{texmf-doc} obsahuje dokumentaci, která nenà +%souÄástà nÄ›jakého konkrétnÃho balÃku nebo programu. +Dokumentace programů (manuály, man-stránky, info-soubory) +jsou v~\dirname{texmf/doc}. Dokumentace \TeX ových +balÃků a formátů je v~\dirname{texmf-dist/doc}. +K~vyhledánà veÅ¡keré dokumentace na libovolném mÃstÄ› můžete +použÃt programy \cmdname{texdoc}. % nebo \cmdname{texdoctk}. + +Samotná tato pÅ™ÃruÄka \TL\ je k~dispozici v~nÄ›kolika +jazycÃch v~adresáři \dirname{texmf-doc}: + +\begin{itemize*} +\item{Äesko-slovenská:} \OnCD{texmf/doc/texlive/texlive-cz} +\item{nÄ›mecká:} \OnCD{texmf/doc/texlive/texlive-de} +\item{anglická:} \OnCD{texmf/doc/texlive/texlive-en} +\item{francouzská:} \OnCD{texmf/doc/texlive/texlive-fr} +\item{italská:} \OnCD{texmf/doc/texlive/texlive-it} +\item{polská:} \OnCD{texmf/doc/texlive/texlive-pl} +\item{ruská:} \OnCD{texmf/doc/texlive/texlive-ru} +\item{srbská:} \OnCD{texmf/doc/texlive/texlive-sr} +\item{zjednoduÅ¡ená ÄÃnÅ¡tina:} \OnCD{texmf/doc/texlive/texlive-zh-cn} +\end{itemize*} + +\subsection{PÅ™ehled pÅ™eddefinovaných stromů texmf} +\label{sec:texmftrees} + +Tento oddÃl uvádà seznam %vÅ¡ech +pÅ™eddefinovaných promÄ›nných urÄujÃcÃch stromy +texmf, použÃvaných systémem, a jejich zamýšlený úÄel +a standardnà uspořádánà systému \TL. +Povel \texttt{tlmgr~conf} %\texttt{texconfig conf} vám +ukáže hodnoty tÄ›chto promÄ›nných, tedy můžete jednoduÅ¡e zjistit, +jak tyto odpovÃdajà jednotlivým adresářům ve vaÅ¡Ã instalaci. + +VÅ¡echny stromy, vÄetnÄ› osobnÃch, musà dodržovat strukturu adresářů \TeX\ +Directory Structure (\TDS, \url{http://tug.org/tds}), s~jejÃmi nesÄetnými +podadresáři, jinak soubory nebudou k~nalezenÃ. PodrobnÄ›ji je to +popsané v~oddÃle~\ref{sec:local_personal_macros} +(\p.\pageref{sec:local_personal_macros}). + +\begin{ttdescription} +\item [TEXMFMAIN] Strom obsahujÃcà životnÄ› důležité Äásti +systému, jako konfiguraÄnà soubory, pomocné skripty a dokumentaci programu. +%(napÅ™. \verb+web2c/mktexdir+) a jiné podpůrné soubory a jejich dokumentaci. +%Neobsahuje \TeX ovské formáty a balÃky. +\item [TEXMFDIST] Strom obsahujÃcà hlavnà sadu balÃků maker, +fontů, atd. z~původnà distribuce. +\item [TEXMFLOCAL] Strom, který mohou použÃt administrátoÅ™i na instalaci +doplňkových nebo upravených maker, fontů, atd., pro celý systém. +\item [TEXMFHOME] Strom, který mohou použÃt uživatelé +na svoje osobnà doplňková nebo upravená makra, fonty, atd. +RozÅ¡ÃÅ™enà této promÄ›nné se dynamicky nastavà pro +každého uživatele na jeho vlastnà osobnà adresář. +\item [TEXMFCONFIG] Strom (soukromý) použÃvaný nástroji +\verb+texconfig+, \verb+updmap+ a \verb+fmtutil+ na uloženà +modifikovaných konfiguraÄnÃch údajů. %ImplicitnÄ› pod \envname{TEXMFHOME}. %$ +\item [TEXMFSYSCONFIG] Strom (site-wide) použÃvaný nástroji \verb+texconfig-sys+, \verb+updmap-sys+ a \verb+fmtutil-sys+ na uloženà modifikovaných konfiguraÄnÃch údajů. +\item [TEXMFVAR] Strom (soukromý) použÃvaný programy \verb+texconfig+, +\verb+updmap+ a \verb+fmtutil+ na (cache) uloženà runtime +údajů jako jsou soubory formátů a generované map-soubory. + % PoužÃvá ho rovněž \ConTeXt\ Mk\acro{IV}. + %ImplicitnÄ› pod \envname{TEXMFHOME}. %$ +\item [TEXMFSYSVAR] Strom (site-wide) použÃvaný programy +\verb+texconfig-sys+, \verb+updmap-sys+, \verb+fmtutil-sys+ +a také \verb+tlmgr+, na (cache) uloženà runtime +údajů jako jsou soubory formátů a generované map-soubory. +\item [TEXMFCACHE] Strom(y) použÃvaný \ConTeXt{}extem Mk\acro{IV} +na uloženà (cache) runtime údajů. +\end{ttdescription} + + +\noindent +Standardnà struktura je: +\begin{description} + \item[system-wide root] může obsáhnout vÃcenásobné vydánà \TL{}: + \begin{ttdescription} + \item[2011] PÅ™edchozà vydánÃ. + \item[2012] NynÄ›jÅ¡Ã vydánÃ. + \begin{ttdescription} + \item [bin] ~ + \begin{ttdescription} + \item [i386-linux] binárky systému \GNU/Linux + \item [...] + \item [universal-darwin] binárky systému \MacOSX + \item [win32] binárky systému Windows + \end{ttdescription} + \item [texmf\ \ \ \ \ \ \ ] Toto je \envname{TEXMFMAIN}. + \item [texmf-dist\ \ ] \envname{TEXMFDIST} +% \item [texmf-doc] \envname{TEXMFDOC} + \item [texmf-var \ \ ] \envname{TEXMFSYSVAR} + \item [texmf-config] \envname{TEXMFSYSCONFIG} + \end{ttdescription} + \item [texmf-local] \envname{TEXMFLOCAL}, zamýšlený být zachován od vydánà k~vydánÃ. + \end{ttdescription} + \item[domovský adresář uživatele] (\texttt{\$HOME} nebo + \texttt{\%USERPROFILE\%}) + \begin{ttdescription} + \item[.texlive2011] SoukromÄ› generované a konfiguraÄnà údaje pÅ™edchozÃho vydánÃ. + \item[.texlive2012] SoukromÄ› generované a konfiguraÄnà údaje aktuálnÃho vydánÃ. + \begin{ttdescription} + \item [texmf-var\ \ \ ] \envname{TEXMFVAR}, \envname{TEXMFCACHE} + \item [texmf-config] \envname{TEXMFCONFIG} + \end{ttdescription} + \item[texmf] \envname{TEXMFHOME} Osobnà makra atd. + \end{ttdescription} +\end{description} + + +\subsection{RozÅ¡ÃÅ™enà \protect\TeX{}u} +\label{sec:tex.extensions} + +Samotný Knuthův původnà \TeX{} je zmrazený, kromÄ› ojedinÄ›lých oprav chyb. +Stále je v~\TL\ pÅ™Ãtomen jako program \prog{tex} a tak to zůstane +v~dohledné budoucnosti. \TL{} obsahuje nÄ›kolik rozÅ¡ÃÅ™ených verzà \TeX{}u: + +\begin{description} + +\item [\eTeX] pÅ™idává množinu nových +pÅ™Ãkazů (nazývaných \TeX{}ové primitivy). +\label{text:etex} +Nové pÅ™Ãkazy se napÅ™Ãklad týkajà makroexpanze, naÄÃtánà znaků, +tÅ™Ãd znaÄek (marks), rozÅ¡ÃÅ™ených ladicÃch možnostà +a rozÅ¡ÃÅ™enà \TeXXeT{} pro obousmÄ›rnou sazbu. ImplicitnÄ› +je \eTeX{} 100\% kompatibilnà se standardnÃm \TeX{}em. +Viz~\OnCD{texmf-dist/doc/etex/base/etex_man.pdf}. +%B% \eTeX{} je nynà sázecÃm programem pro \LaTeX{} i pdf\LaTeX{}. + +\item [pdf\TeX] vybudován na rozÅ¡ÃÅ™enÃch \eTeX{}u pÅ™idává podporu +zápisu ve formátu \acro{PDF} stejnÄ› jako v~\dvi{} a +Äetná rozÅ¡ÃÅ™enà netýkajÃcà se výstupu. +Toto je program použÃvaný pro vÄ›tÅ¡inu formátů, +napÅ™Ãklad, \prog{etex}, \prog{latex}, +\prog{pdflatex}. Jeho stránka je \url{http://www.pdftex.org/}. Viz +návod \OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf} +%v~adresáři \OnCD{texmf/doc/pdftex/manual/} +a \OnCD{texmf/doc/pdftex/manual/samplepdf/samplepdf.tex} +pro vzorové použità nÄ›kterých jeho vlastnostÃ. %v~adresáři + +\item [Lua\TeX] je oznaÄován za nástupce pdf\TeX/{}u, se kterým %by mÄ›l být +je z~vÄ›tÅ¡Ã Äásti (ale ne úplnÄ›) zpÄ›tnÄ› kompatibilnÃ. +MÄ›l by se také stát funkÄnà podmnožinou systému %nahradit +Aleph, viz dále, aÄkoli technická kompatibilita nenà zamýšlena. +Zabudovaný interpret Lua (\url{http://www.lua.org/}) +umožňuje elegantnà řeÅ¡enà mnoha ožehavých +\TeX ovských problémů. Volaný povelem \filename{texlua}, funguje +jako samostatný interpret Lua, a jako takový je již použit +v~rámci \TL. Jeho stránka je \url{http://www.luatex.org/} a pÅ™ÃruÄka je +\OnCD{texmf-dist/doc/luatex/luatexref-t.pdf}. + +\item [\XeTeX] pÅ™idává podporu vstupnÃho kódovánà +Unicode a OpenType- a systémových fontů, implementovaných +použitÃm zejména knihoven tÅ™etÃch stran. +Viz \url{http://tug.org/xetex}. + +\item [\OMEGA\ (Omega)] je založena na Unicode. +Umožňuje sázet v~téměř vÅ¡ech +svÄ›tových jazycÃch zároveň. Dociluje toho tzv. +pÅ™ekladovými procesy (\OMEGA{} Translation Processes, +\acro{OTP}) pro realizaci složitých transformacà na jakémkoliv vstupu. +%Viz \OnCD{texmf/doc-dist/omega/base/doc-1.8.tex} (dokumentace vÅ¡ak nenà zcela aktuálnÃ). +Omega už nenà souÄástà \TL{} jako samostatný program; poskytnutý je jenom Aleph: + +\item [Aleph] kombinuje rozÅ¡ÃÅ™enà \OMEGA\ a \eTeX. +%Pro minimálnà dokumentaci +Viz \OnCD{texmf-dist/doc/aleph/base}. +\end{description} + + +\subsection{DalÅ¡Ã za zmÃnku stojÃcà programy na \protect\TeXLive} + +Na \TL{} najdete nÄ›kolik Äasto použÃvaných programů: + +\begin{cmddescription} + +\item [bibtex, bibtex8] podpora práce se seznamem literatury. + +\item [makeindex, xindy] vytvářenà rejstÅ™Ãku. Pro ÄeÅ¡tinu a slovenÅ¡tinu +vÅ¡ak potÅ™ebujete verzi programu s~názvem \texttt{csindex} (nenà zatÃm +souÄástà distribuce, je potÅ™eba instalovat zvlášť). + +\item [dvips] pro konverzi \dvi{} do \PS{}. + +\item [xdvi] prohlÞeÄ \dvi{} pro systém X~Window. + +\item [dvilj] \dvi{} ovladaÄ tiskáren HP Laser\-Jet. + +%\item [dv2dt, dt2dv] pro konverzi \dvi{} do/z~ascii textu. + +\item [dviconcat, dviselect] pro kopii a vkládánà stránek +do/z \dvi{} souborů. + +\item [dvipdfmx] konvertor \dvi{} do \acro{PDF}, alternativnà +pÅ™Ãstup vedle pdf\TeX{}u zmÃnÄ›ného výše. +%Srovnej balÃky \pkgname{ps4pdf} a \pkgname{pdftricks} pro dalÅ¡Ã alternativy. + +\item [psselect, psnup, \ldots] programy pro práci s~\PS{}em. + +\item [pdfjam, pdfjoin, \ldots] pomůcky pro \acro{PDF}. + +%\item [lacheck] pro kontrolu syntaxe \LaTeX{}u. + +\item [texexec, texmfstart] wrapper pro Con\TeX{}t a práci s~\acro{PDF}. + +\item [tex4ht] konvertor \TeX{}u do \acro{HTML}. + +\end{cmddescription} + + +\subsection{Fonty v~\protect\TL} +\label{sec:tlfonts} + +\TL{} pÅ™inášà množstvà vysoce kvalitnÃch vektorových % ?scalable fonts. +fontů. Viz \url{http://tug.org/fonts} a +\OnCD{texmf-dist/doc/fonts/free-math-font-survey}. +%\OnCD{texmf-doc/english/free-math-fonts-survey}. + +\htmlanchor{installation} +\section{Instalace} +\label{sec:install} + +\subsection{SpuÅ¡tÄ›nà instalaÄnÃho programu} +\label{sec:inst.start} + +Pro zaÄátek si obstarejte \TK{} \DVD{} nebo si stáhnÄ›te +sÃÅ¥ový instalaÄnà program \TL{}, +a najdÄ›te instalaÄnà skript: \filename{install-tl} pro Unix, +\filename{install-tl.bat} pro Windows. +Viz \url{http://tug.org/texlive/acquire.html} +pro vÃce informacà a jiné způsoby zÃskánà software. %softvéru. + + +\begin{description} +\item [SÃÅ¥ový instalátor:] stáhnÄ›te z~\CTAN{}u, +z~adresáře \dirname{systems/texlive/tlnet}; url +\url{http://mirror.ctan.org/systems/texlive/tlnet} +vás automaticky pÅ™esmÄ›ruje na blÃzký, aktuálnà mirror. +Můžete zÃskat \filename{install-tl.zip}, který může +být použit pod Unixem a Windows nebo jenom pro Unix +podstatnÄ› menÅ¡Ã \filename{install-unx.tar.gz}. +Po rozbalenà se \filename{install-tl} a +\filename{install-tl.bat} objevà v~podadresáři \dirname{install-tl}. + +\item [\DVD{} \TeX{} kolekce:] vejdÄ›te do podadresáře \DVD{} \dirname{texlive}. +Pod Windows se instalátor normálnÄ› spustà %by se instalátor mÄ›l spustit +automaticky po vloženà \DVD. \DVD\ můžete zÃskat, když se stanete Älenem +skupiny uživatelů \TeX u (vÅ™ele doporuÄujemei \CSTUG, +\url{http://tug.org/usergroups.html}), nebo si ho zvlášť zakoupÃte +(\url{http://tug.org/store}), anebo si vypálÃte svoje vlastnà z~\ISO\ +obrazu. %(\url{http://tug.org/texlive/acquire.html}). +Ve vÄ›tÅ¡inÄ› systémů můžete \ISO\ namontovat pÅ™Ãmo. +Jestliže máte po instalaci z \DVD\ nebo \ISO{} +zájem o pokraÄujÃcà aktualizace z~Internetu, +nahlédnÄ›te, prosÃm, do oddÃlu \ref{sec:dvd-install-net-updates}. +\end{description} + +Nezávisle na zdroji se spouÅ¡tà tentýž instalátor. NejvÃce +viditelný rozdÃl mezi dvÄ›ma možnostmi je ten, že po skonÄenà +instalace z~Internetu zÃskáte balÃky, které jsou v~souÄasné +dobÄ› k~dispozici. To je v~protikladu k~\DVD\ a +\ISO\ obrazům, které se mezi významnÄ›jÅ¡Ãmi vydánÃmi neaktualizujÃ. + +\noindent +NásledujÃcà oddÃly vysvÄ›tlujà spuÅ¡tÄ›nà instalátoru podrobnÄ›ji. + +\subsubsection{Unix} + +Dále \texttt{>} oznaÄuje výzvu (prompt shellu); vstup +uživatele je \Ucom{\texttt{zvýraznÄ›n}}. +%terminálu je : +Skript \filename{install-tl} je Perlovský skript. NejjednoduÅ¡Å¡Ã způsob jeho +spuÅ¡tÄ›nà v~unixovém systému je následujÃcÃ: +\begin{alltt} +> \Ucom{cd /path/to/installer} +> \Ucom{perl install-tl} +\end{alltt} +(Nebo můžete vyvolat \Ucom{perl /path/to/installer/install-tl}, nebo +\Ucom{./install-tl} když je spustitelný, atd.; nechceme opakovat vÅ¡echny tyto variace.) +Možná zvÄ›tÅ¡Ãte okno terminálu tak, aby ukazovalo celou +obrazovku textového instalátora (obr.~\ref{fig:textmain}). + +%To install in expert \GUI\ mode (figure~\ref{fig:gui-main}), you'll +%need the \dirname{Perl/TK} module +%compiled with \acro{XFT} support, +%which is generally the case with \GNU/Linux, but not necessarily other +%systems. Given that, you can run: +K~instalaci v~pokroÄilém režimu \GUI\ (obr.~\ref{fig:guimain}); +budete potÅ™ebovat modul \dirname{Perl/TK} zkompilovaný +s~podporou \acro{XFT}, která je obvyklá v~pÅ™ÃpadÄ› systému +\GNU/Linux, ale ne nevyhnutelnÄ› v~jiných systémech. +Pak můžete spustit: +\begin{alltt} +> \Ucom{perl install-tl -gui} +\end{alltt} + +Úplný seznam různých voleb zÃskáte povelem: +\begin{alltt} +> \Ucom{perl install-tl -help} +\end{alltt} + +\textbf{Varovánà o oprávnÄ›nÃch Unixu:} VaÅ¡e nastavenà \code{umask} v~Äase instalace +bude respektováno instalaÄnÃm programem \TL{}. Proto, když chcete, aby byla vaÅ¡e +instalace použitelná i jinými uživateli než vámi, ujistÄ›te se, že jsou vaÅ¡e +nastavenà dostateÄnÄ› tolerantnÃ, napÅ™Ãklad, \code{umask +002}. DalÅ¡Ã informace o nastavenà \code{umask}, hledejte v~dokumentaci k~vaÅ¡emu systému. + +\textbf{Zvláštnà vysvÄ›tlivky pro Cygwin:} Na rozdÃl od jiných +unixových systémů, Cygwin implicitnÄ› +neobsahuje vÅ¡echny nezbytné programy, které instalátor \TL{} potÅ™ebuje. +Pro podrobnosti viz sekci~\ref{sec:cygwin}. + +\subsubsection{MacOSX} + +Jak již bylo zmÃnÄ›no v~sekci~\ref{sec:tlcoll.dists}, pro \MacOSX je +pÅ™ipravena samostatná distribuce, nazvaná +Mac\TeX\ (\url{http://tug.org/mactex}). +DoporuÄujeme použÃt původnà instalaÄnà program +Mac\TeX\ u namÃsto instalátoru \TL\ +pod \MacOSX, protože původnà (nativnÃ) instalátor provede +nÄ›kolik nastavenà specifických pro Mac, zejména umožňuje +snadné pÅ™epÃnánà mezi různými distribucemi \TeX u pro \MacOSX\ +(Mac\TeX, %gw\TeX, +Fink, MacPorts, \ldots). + +Mac\TeX\ je silnÄ› založen na \TL, a hlavnà \TeX ovská stromová +struktura je pÅ™esnÄ› stejná. PÅ™idává nÄ›kolik dalÅ¡Ãch adresářů +s~dokumentacà a aplikacemi specifickými pro Mac. + +\subsubsection{Windows} + +Jestliže použÃváte sÃÅ¥ový instalátor, nebo instalaÄnà +program \DVD\ se nespustà automaticky, kliknÄ›te +dvakrát na soubor \filename{install-tl.bat}. +Pro vÃce voleb pro úpravy, napÅ™. výbÄ›r urÄité +kolekce balÃků, spusÅ¥te namÃsto nÄ›ho +\filename{install-tl-advanced.bat}. + +Můžete také spustit instalaÄnà program z~pÅ™Ãkazového řádku. +Dále \texttt{>} oznaÄuje prompt shellu; +vstup uživatele je \Ucom{\texttt{polotuÄný}}. +Pokud jste v~adresáři instalaÄnÃho programu, jenom spusÅ¥te: +\begin{alltt} +> \Ucom{install-tl} +\end{alltt} + +Můžete to také vyvolat zadánÃm absolutnà cesty, jako napÅ™Ãklad: +\begin{alltt} +> \Ucom{D:\bs{}texlive\bs{}install-tl} +\end{alltt} +pro \TKCS\ \DVD, za pÅ™edpokladu, že \dirname{D:} je optický disk. +Obr.~\ref{fig:wizard-w32} zobrazuje průvodcovský +instalátor, který je pro Windows implicitnÃ. + +Pro instalaci v~textovém režimu použijte: +\begin{alltt} +> \Ucom{install-tl -no-gui} +\end{alltt} + +Pro úplný seznam různých voleb zadejte: +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} + +\begin{figure}[tb] +\begin{boxedverbatim} +Installing TeX Live 2012 from: ... +Platform: i386-linux => 'Intel x86 with GNU/Linux' +Distribution: inst (compressed) +... + Detected platform: Intel x86 with GNU/Linux + + <B> platforms: 1 out of 19 + + <S> Installation scheme (scheme-full) + 84 collections out of 85, disk space required: 2600 MB + + Customizing installation scheme: + <C> standard collections + <L> language collections + + <D> directories: + TEXDIR (the main TeX directory): + /usr/local/texlive/2012 + ... + + <O> options: + [ ] use letter size instead of A4 by default + ... + + <V> set up for portable installation + + +Actions: + + + <I> start installation to hard disk + <H> help + <Q> quit +\end{boxedverbatim} +\caption{Hlavnà obrazovka textového instalaÄnÃho programu (\GNU/Linux)}\label{fig:textmain} +\end{figure} + +%\begin{figure}[tb] +%\begin{boxedverbatim} +%Instalace TeX Live 2009 z: ... +%Platforma: i386-linux => 'Intel x86 with GNU/Linux' +%Distribuce: live (uncompressed) +%... +% ZjiÅ¡tÄ›ná platforma: Intel x86 with GNU/Linux +% +% <B> binárnà systémy: 1 out of 14 +% +% <S> InstalaÄnà schéma (scheme-full) +% 83 kolekcà z 84, požadovaný prostor na disku: 1882 MB +% +% PÅ™izpůsobenà instalaÄnà schémy: +% <C> standardnà kolekce +% <L> jazykové kolekce +% +% <D> adresáře: +% TEXDIR (hlavnà adresář TeXu): +% /usr/local/texlive/2009 +% TEXMFLOCAL (adresář pro umÃstÄ›nà lokálnÃch souborů): +% /usr/local/texlive/texmf-local +% TEXMFSYSVAR (aresář pro mÄ›nÃcà se a automaticky generované údaje): +% /usr/local/texlive/2009/texmf-var +% TEXMFSYSCONFIG (adresář pro lokálnà konfiguraci): +% /usr/local/texlive/2009/texmf-config +% TEXMFHOME (adresář pro uživatelské soubory): +% ~/texmf +% +% <O> volby: +% [ ] imlicitnÄ› použÃt výchozà velikost papÃru letter mÃsto A4 +% [X] vytvoÅ™it vÅ¡echny formáty +% [X] nainstaluj strom dokumentace maker/fontů +% [X] nainstaluj strom zdrojových souborů maker/fontů +% [ ] vytvoÅ™it symbolické odkazy na standardnà adresáře +% +% <V> nastavenà pro spouÅ¡tÄ›nà z DVD +% +%DalÅ¡Ã Äinnosti: +% <I> zaÄÃt instalaci na pevný disk +% <H> pomoc +% <Q> ukonÄit +%\end{boxedverbatim} +%\caption{Hlavnà obrazovka textového instalaÄnÃho programu (\GNU/Linux)}\label{fig:textmaincs} +%\end{figure} + +\begin{figure}[tb] +\tlpng{install-lnx-main}{\linewidth,trim=10 4 0 20,clip} +\caption{Obrazovka pokroÄilého \GUI{} instalátora (\GNU/Linux)}\label{fig:guimain} +\end{figure} + +\begin{figure}[tb] +\tlpng{wizard-w32}{\linewidth,trim=0 4 0 0,clip} +\caption{Průvodcovská obrazovka instalátora (Windows)}\label{fig:wizard-w32} +\end{figure} + +\htmlanchor{cygwin} +\subsubsection{Cygwin} +\label{sec:cygwin} + +Instalátor \TL{} odporuje pouze Cygwin 1.7. +PÅ™ed zaÄátkem instalace použijte program Cygwinu +\filename{setup.exe} k~instalaci programů +\filename{perl} a \filename{wget} pokud jste tak jeÅ¡tÄ› neudÄ›lali. +DoporuÄené jsou následujÃcà doplňkové balÃky: +\begin{itemize*} +\item \filename{fontconfig} [potÅ™ebný pro \XeTeX] +\item \filename{ghostscript} [potÅ™ebný pro různé pomůcky] +\item \filename{libXaw7} [potÅ™ebný pro \code{xdvi}] +\item \filename{ncurses} [umožnà pÅ™Ãkaz + \code{clear} použÃvaný instalátorem] +\end{itemize*} + +\subsubsection{Textový instalaÄnà program} + +Obrázek~\ref{fig:textmain} ukazuje základnà obrazovku textového režimu pod Unixem. +Pro Unix je textový instalaÄnà program nastaven implicitnÄ›. + +Je to instalátor jenom s~pÅ™Ãkazovým řádkem; vůbec nemá kurzorovou podporu. NapÅ™Ãklad, nemůžete se pohybovat v~zatrhávacÃch rámeÄcÃch nebo vstupnÃch polÃch. Jenom napÃÅ¡ete nÄ›co (s~rozliÅ¡ovánÃm velikosti pÃsma) na pÅ™Ãkazovém řádku a stlaÄÃte klávesu Enter, poté se celá obrazovka pÅ™epÃÅ¡e s~pÅ™izpůsobeným obsahem. + +Rozhranà textového instalátoru je tak primitivnà z~prostého důvodu: je +navržené tak, aby se dalo spustit na tolika platformách jak je to jen +možné, dokonce i~v~Perlu. +% (pro Windows je zaÅ™azena podmožina Perlu). + +\subsubsection{Grafický instalaÄnà program pro zkuÅ¡ené} + +Obrázek~\ref{fig:guimain} ukazuje grafický instalátor pro +znalce pod \GNU/Linux. KromÄ› toho, že využÃvá tlaÄÃtka +a nabÃdky, se tento instalátor velmi neliÅ¡Ã od textového. +% (obr.~\ref{fig:textmain}). + +Tento režim může být vyvolán explicitnÄ› pomocà +\begin{alltt} +> \Ucom{install-tl -gui=perltk} +\end{alltt} + + +\subsubsection{Jednoduchý průvodce instalacÃ} + +Pod Windows je implicitnÄ› nastaveno spuÅ¡tÄ›nà nejjednoduÅ¡Å¡Ãho +instalaÄnÃho způsobu, který můžeme doporuÄit, +nazvaného \uv{průvodce} instalacà (obr.~\ref{fig:wizard-w32}). Nainstaluje +vÅ¡echno a nezadává skoro žádné otázky. Pokud si +chcete vÅ¡e nastavenà upravit, musÃte spustit nÄ›který +z~dalÅ¡Ãch instalátorů. + +Tento režim může být vyvolán explicitnÄ› povelem +\begin{alltt} +> \Ucom{install-tl -gui=wizard} +\end{alltt} + +\subsection{SpuÅ¡tÄ›nà instalaÄnÃho programu} +\label{sec:runinstall} + +Instalátor je zamýšlený jako co nejvÃce samovysvÄ›tlujÃcÃ. +NicménÄ› následuje nÄ›kolik poznámek o jednotlivých volbách +a dÃlÄÃch nabÃdkách: + +\subsubsection{NabÃdka binárnÃch systémů (pouze Unix)} +\label{sec:binary} + +\begin{figure}[tb] +\begin{boxedverbatim} +Available platforms: +=============================================================================== + + a [ ] alpha-linux DEC Alpha with GNU/Linux + b [ ] amd64-freebsd x86_64 with FreeBSD + c [ ] amd64-kfreebsd x86_64 with GNU/FreeBSD + d [ ] i386-cygwin Intel x86 with Cygwin + e [ ] i386-freebsd Intel x86 with FreeBSD + f [ ] i386-kfreebsd Intel x86 with GNU/FreeBSD + g [X] i386-linux Intel x86 with GNU/Linux + h [ ] i386-netbsd Intel x86 with NetBSD + i [ ] i386-solaris Intel x86 with Solaris + j [ ] mips-irix SGI IRIX + k [ ] powerpc-aix PowerPC with AIX + l [ ] powerpc-linux PowerPC with GNU/Linux + m [ ] sparc-linux Sparc with GNU/Linux + o [ ] sparc-solaris Sparc with Solaris + p [ ] universal-darwin universal binaries for MacOSX/Darwin + s [ ] win32 Windows + t [ ] x86_64-darwin x86_64 with MacOSX/Darwin + u [ ] x86_64-linux x86_64 with GNU/Linux + v [ ] x86_64-solaris x86_64 with Solaris +\end{boxedverbatim} +\caption{NabÃdka binárek}\label{fig:bin_text} +\end{figure} + +Obrázek~\ref{fig:bin_text} ukazuje nabÃdku binárek textového +režimu. StandardnÄ› budou nainstalovány jenom binárky +vaÅ¡Ã aktuálnà platformy. Z~této nabÃdky si rovněž můžete +vybrat instalaci binárek pro jiné platformy. Toto +může být užiteÄné, pokud sdÃlÃte \TeX ovský strom +v~sÃti heterogennÃch strojů, nebo na systému +s~dvojitým zavádÄ›cÃm procesem. + + +\subsubsection{Volba obsahu instalace} +\label{sec:components} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Select a scheme: +==================================================================== + a [ ] basic scheme (plain and LaTeX) + b [ ] ConTeXt scheme + c [X] full scheme (everything) + d [ ] GUST TeX Live scheme + e [ ] medium scheme (plain, latex, recommended packages, some languages) + f [ ] minimal scheme (plain only) + g [ ] teTeX scheme (more than medium, but nowhere near full) + h [ ] XML scheme + i [ ] custom selection of collections +\end{boxedverbatim} +\caption{NabÃdka schémat}\label{fig:schemetext} +\end{figure} + +Obrázek~\ref{fig:schemetext} ukazuje nabÃdku schémat \TL; tady +vybÃráte \uv{schéma}, což je souhrn kolekcà balÃků. +PÅ™edvolené schéma \optname{full} nainstaluje vÅ¡e, +co je k~dispozici. To doporuÄujeme, avÅ¡ak +můžete také zvolit schéma \optname{basic} pro malý systém, +\optname{minimal} pro úÄely testovánÃ, a schéma \optname{medium} nebo +\optname{teTeX} pro zÃskánà nÄ›Äeho mezi tÃm. K~dispozici jsou také různá +specializovaná schémata a schémata specifická pro nÄ›které zemÄ›. + +\begin{figure}[tb] +\tlpng{stdcoll}{.7\linewidth,trim=0 4 0 0,clip} +\caption{NabÃdka kolekcÃ}\label{fig:collections.gui} +\end{figure} + +Svůj výbÄ›r schématu můžete upÅ™esnit pomocà nabÃdek `standard collections' a +`language collections' (obrázek~\ref{fig:collections.gui}, ukázané pro zmÄ›nu v~režimu \GUI). + +Kolekce jsou o jednu úroveň podrobnÄ›jÅ¡Ã než schémata\Dash v~podstatÄ›, +schéma je tvoÅ™eno nÄ›kolika kolekcemi, kolekci tvořà jeden nebo vÃce +balÃků, a balÃk (nejnižšà úroveň seskupovánà v~\TL) obsahuje vlastnà +soubory \TeX ovských maker, soubory fontů, atd. + +Pokud chcete zÃskat vÄ›tÅ¡Ã kontrolu než jakou poskytuje nabÃdka kolekcÃ, +po instalaci můžete použÃt program \TeX\ Live Manager (\prog{tlmgr}) +(viz sekci~\ref{sec:tlmgr}); jeho použitÃm můžete Å™Ãdit +instalaci na úrovni balÃků. + +\subsubsection{Adresáře} +\label{sec:directories} + +Standardnà uspořádánà je popsáno v~sekci~\ref{sec:texmftrees}, +\p.\pageref{sec:texmftrees}. + +Standardnà umÃstÄ›nà adresáře \dirname{TEXDIR} je +\dirname{/usr/local/texlive/2012} pro Unix +a |%SystemDrive%\texlive\2012| pod Windows. + + +Hlavnà důvod pro zmÄ›nu této pÅ™edvolby je nedostatek práv +na zápis pro standardnà umÃstÄ›nÃ. +NemusÃte být zrovna rootem nebo administrátorem, když +instalujete \TL, ale potÅ™ebujete oprávnÄ›nà na zápis do cÃlového adresáře. + +Rozumnou alternativou je adresář uvnitÅ™ vaÅ¡eho domovského +adresáře, zvlášť když chcete být výhradnÃm uživatelem. +Na naznaÄenà tohoto použijte `|~|', jako napÅ™Ãklad `|~/texlive/2012|'. + +DoporuÄujeme do názvu zaÄlenit rok, co umožnà zachovánà +různých vydánà \TL{} vedle sebe. (Můžete chtÃt vytvoÅ™it +název nezávislý na verzi, napÅ™Ãklad +\dirname{/usr/local/texlive-cur} pomocà symbolického odkazu, +který může být pozdÄ›ji pÅ™epsán po pÅ™ezkouÅ¡enà nového vydánÃ.) + +ZmÄ›na \dirname{TEXDIR} v~instalaÄnÃm programu vyvolá také zmÄ›ny +\dirname{TEXMFLOCAL}, \dirname{TEXMFSYSVAR} a +\dirname{TEXMFSYSCONFIG}. + +\dirname{TEXMFHOME} je doporuÄené umÃstÄ›nà osobnÃch souborů maker nebo balÃků. PÅ™edvolená hodnota je |~/texmf|. Na rozdÃl od \dirname{TEXDIR}, je nynà |~| uchována v~novÄ› vytvoÅ™ených konfiguraÄnÃch souborech, protože to užiteÄnÄ› odkazuje na domovský adresář kteréhokoliv běžÃcÃho \TeX u. Expanduje se na \dirname{$HOME} pod Unixem a \verb|%USERPROFILE%| pod Windows. +Zvláštnà pÅ™ebyteÄná poznámka: \envname{TEXMFHOME}, jako vÅ¡echny stromy, musà být uspořádaný v~souladu s~\TDS, jinak nemusà být soubory k~nalezenÃ. + + +\dirname{TEXMFVAR} je umÃstÄ›nà pro uloženà vÄ›tÅ¡iny +generovaných doÄasných dat specifických pro každého uživatele. +% is the location for storing most cached runtime data specific to each user, +\dirname{TEXMFCACHE} se použÃvá na tento úÄel \ConTeXt{}em +Mk\acro{IV} (viz oddÃl~\ref{sec:context_mkiv}, +na stranÄ›~\pageref{sec:context_mkiv}). + +\subsubsection{Volby} +\label{sec:options} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Options setup: +=============================================================================== + <P> use letter size instead of A4 by default: [ ] + <E> execution of restricted list of programs: [X] + <F> create format files: [X] + <D> install font/macro doc tree: [X] + <S> install font/macro source tree: [X] + <L> create symlinks in standard directories: [ ] + binaries to: + manpages to: + info to: +\end{boxedverbatim} +\caption{NabÃdka voleb (Unix)}\label{fig:optionstext} +\end{figure} + +Obrázek~\ref{fig:optionstext} ukazuje nabÃdku voleb textového režimu. +DalÅ¡Ã informace o~každé volbÄ›: + +\begin{description} +\item[use letter size instead of A4 by default:] VýbÄ›r standardnà velikosti papÃru. +Jednotlivé dokumenty mohou a mÄ›ly by deklarovat zvláštnà +rozmÄ›r papÃru, pokud je to žádoucÃ. + +\item[execution of restricted list of programs:] +Od \TL\ 2010 je implicitnÄ› povoleno vykonávánà +nÄ›kolika externÃch programů. Velmi neúplný seznam +povolených programů je uveden v~souboru \filename{texmf.cnf}. +Pro dalÅ¡Ã podrobnosti viz novinky 2010 (oddÃl~\ref{sec:2010news}). + +\item[create format files:] PÅ™estože si vytvoÅ™enà nepotÅ™ebných formátů +vyžaduje Äas a diskový prostor pro uloženÃ, nicménÄ› doporuÄujeme nechat +tuto volbu vyznaÄenou: když ji nevyznaÄÃte, budou formátové soubory +vytvoÅ™ené v~osobnÃch stromech \dirname{TEXMFVAR} uživatelů, když budou +zapotÅ™ebÃ. Na tomto mÃstÄ› nebudou automaticky aktualizované, když se budou +napÅ™Ãklad obnovovat binárky nebo vzory dÄ›lenà v~instalaci a tudÞ můžete +skonÄit s~nekompatibilnÃmi soubory formátů. + +\item[install font/macro \ldots\ tree:] Tyto volby vám umožnà pÅ™eskoÄit stahovánÃ/instalci dokumentace a zdrojových souborů ve vÄ›tÅ¡ine balÃků. NedoporuÄuje se. + +\item[create symlinks in standard directories] (pouze Unix): +Tato volba obcházà potÅ™ebu zmÄ›ny promÄ›nných prostÅ™edÃ. Bez této +volby je obvykle potÅ™ebné pÅ™idat adresáře \TL{} do promÄ›nných +\envname{PATH}, \envname{MANPATH} a \envname{INFOPATH}. +Budete muset pÅ™idÄ›lit práva na zápis cÃlovým adresářům. +DůraznÄ› doporuÄujeme \emph{ne}pÅ™epsat \TeX ovský systém, +který pÅ™iÅ¡el s~vaÅ¡Ãm systémem s~touto volbou. Toto je v~prvnà +Å™adÄ› urÄeno pro zpÅ™ÃstupnÄ›nà systému \TeX\ pomocà adresářů, +které již uživatelé znajÃ, jako napÅ™Ãklad \dirname{/usr/local/bin}, +které neobsahujà žádné \TeX ovské soubory. +\end{description} + +Když jsou vÅ¡echna nastavenà podle vaÅ¡eho vkusu, můžete napsat +`I' a spustit instalaÄnà proces. Po dokonÄenà pÅ™eskoÄte na +sekci~\ref{sec:postinstall}, kde se dozvÃte, co se pÅ™ÃpadnÄ› +má udÄ›lat závÄ›rem. + + +\subsection{Volby pÅ™Ãkazového řádku pro install-tl} +\label{sec:cmdline} + +K~zobrazenà voleb pÅ™Ãkazového řádku napiÅ¡te +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} +K~uvedenà názvu volby mohou být použity |-| nebo také |--|. +Následujà nejběžnÄ›jÅ¡Ã volby: + +\begin{ttdescription} +\item[-gui] Podle možnostà použijte \GUI{} instalátor. Toto si vyžaduje modul + Perl/Tk (\url{http://tug.org/texlive/distro.html#perltk}); + skompilovaný s~podporou \acro{XFT}; + pokud Perl/Tk nenà k~dispozici, pokraÄuje instalace v~textovém režimu. +\item[-no-gui] Vynutà si použità instalátoru v~textovém režimu, + dokonce i pod Windows. +%; můžete to potÅ™ebovat, pokud chcete spustit instalaci s~volbou `from \DVD', ponÄ›vadž tato +% nenà k~dispozici v~režimu \GUI{}. +\item[-lang {\sl LL}] Specifikuje jazyk instalaÄnÃho rozhranà jako +jeho standardnà dvoupÃsmenový kód \textsl{\acro{LL}}. +V~souÄasné dobÄ› jsou podporovány jazyky: + \texttt{cs} (ÄeÅ¡tina), + \texttt{de} (nÄ›mÄina), + \texttt{en} (angliÄtina, pÅ™edvolený) + \texttt{fr} (francouzÅ¡tina), + \texttt{it} (italÅ¡tina), + \texttt{ja} (japonÅ¡tina), + \texttt{nl} (nizozemÅ¡tina), + \texttt{pl} (polÅ¡tina), + \texttt{ru} (ruÅ¡tina), + \texttt{sk} (slovenÅ¡tina), + \texttt{sl} (slovinÅ¡tina), + \texttt{sr} (srbÅ¡tina), + \texttt{vi} (vietnamÅ¡tina), + \texttt{zh-cn} (zjednoduÅ¡ená ÄÃnÅ¡tina), + \texttt{zh-tw} (tradiÄnà ÄÃnÅ¡tina). + InstalaÄnà program se sám pokusà urÄit vhodný jazyk, ale když selže nebo když nenà správný jazyk k~dispozici, pak použije angliÄtinu jako nouzové Å™eÅ¡enÃ. + +\htmlanchor{opt-in-place} +\item[-in-place] Pokud již máte rsync-, svn-, nebo jinou kopii + \TL{} (viz \url{http://tug.org/texlive/acquire-mirror.html}), + pak tato volba použije to, co již máte stažené a udÄ›lá pouze nezbytné + post-instalaÄnà úkony. Upozorňujeme, že soubor + \filename{tlpkg/texlive.tlpdb} může být pÅ™epsán; + jeho uloženà je na vaÅ¡Ã odpovÄ›dnosti. OdstranÄ›nà + balÃků by mÄ›lo být také ruÄnÃ. + Toto použijte jen když vÃte co dÄ›láte. + Tato volba se nedá pÅ™epnout pomocà rozhranà instalátoru. + +\item[-portable] Instalace pro pÅ™enosné použitÃ, napÅ™Ãklad na klÃÄ \USB{}. + Dá se zvolit rovněž v~textovém instalátoru pomocà pÅ™Ãkazu \code{V} + a z~instalátoru \GUI{}. Viz oddÃl~\ref{sec:portable-tl}. + +\item[-profile {\sl soubor}] NaÄtÄ›te instalaÄnà profilový + soubor a proveÄte instalaci bez interakce s~uživatelem. + InstalaÄnà program vždycky uložà soubor + \filename{texlive.profile} do podadresáře \dirname{tlpkg} vaÅ¡Ã instalace. + Tento soubor může být zadán jako argument napÅ™Ãklad pro znovuvytvoÅ™enà + identické instalace na jiném systému. Nebo můžete + použÃt uživatelský profil, který nejjednoduÅ¡eji + vytvoÅ™Ãte zmÄ›nou hodnot vygenerovaného + souboru, nebo odstartovánÃm s~prázdným souborem, + který pÅ™evezme vÅ¡echny pÅ™edvolby. + +\item [-repository {\sl soubor-nebo-adresář}] UrÄuje + repositář balÃků, z~kterého se má instalovat; viz následujÃcà oddÃl. +\end{ttdescription} + +\subsubsection{Volba \optname{-repository}} +\label{sec:location} + +Implicitnà repositář balÃků je zrcadlo CTAN zvolené automaticky použitÃm +\url{http://mirror.ctan.org}. + +Pokud to chcete pÅ™epsat, může být hodnotou umÃstÄ›nà +adresa url s~\texttt{ftp:}, \texttt{http:} nebo +\texttt{file:/} na zaÄátku, nebo jednoduchá cesta k~adresáři. +(PÅ™i zadánà umÃstÄ›nà \texttt{http:}\ nebo \texttt{ftp:}\ +jsou koncové znaky `\texttt{/}' a/nebo koncová složka + `\texttt{/tlpkg}' ignorovány.) + +Ku pÅ™Ãkladu můžete zvolit urÄité zrcadlo \CTAN\ nÄ›ÄÃm +jako: \url{http://ctan.example.org/tex-archive/systems/texlive/tlnet/}, +s~nahrazenÃm |ctan.example.org/tex-archive| skuteÄným +hostitelským jménem (hostname) a jeho konkrétnà koÅ™enovou +cestou k~\CTAN\ (jako tÅ™eba |ftp.cstug.cz/pub/CTAN|). +Seznam zrcadel \CTAN\ je udržován na \url{http://ctan.org/mirrors}. + +Pokud je zadaný argument lokálnà (buÄ cesta nebo \texttt{file:/} url), +jsou použity komprimované soubory v~podadresáři \dirname{archive} +cesty repositáře (i kdyby byly rovněž k~dispozici nekomprimované soubory). + +\subsection{PoinstalaÄnà Äinnosti} +\label{sec:postinstall} + +Po instalaci se mohou hodit nÄ›které dalšà úpravy. + +%\subsubsection{Windows} + +%AvÅ¡ak pod Windows se instalaÄnà program o~vÅ¡e postará. + +%\subsubsection{Pokud byly vytvoÅ™eny symbolické odkazy} + +%Pokud jste zvolili vytvoÅ™enà symbolických odkazů v~standardnÃch adresářÃch (zmÃnÄ›ných v~sekci~\ref{sec:options}), pak nenà potÅ™eba editovat promÄ›nné prostÅ™edÃ. + + +\subsubsection{PromÄ›nné prostÅ™edà pro Unix} +\label{sec:env} + +Pokud se rozhodnete vytvoÅ™it symbolické odkazy v~standardnÃch adresářÃch +(popsaných v~oddÃle~\ref{sec:options}), pak nenà nutná editace promÄ›nných +prostÅ™edÃ. Jinak v~systémech Unix musà být adresář binárek pro vaÅ¡Ã platformu +pÅ™idán k~prohledávaným cestám. (Ve Windows se o to postará instalátor.) + +%Adresář binárek pro vaÅ¡i platformu musà být pÅ™idán k~vyhledávacÃm cestám. +Každá podporovaná platforma má svůj vlastnà podadresář +pod \dirname{TEXDIR/bin}. +Seznam podadresářů a odpovÃdajÃcÃch platforem je na +obrázku~\ref{fig:bin_text}. + +NepovinnÄ› můžete rovněž pÅ™idat dokumentaÄnà manuálové +stránky (man pages) a adresáře Info k~jejich +pÅ™ÃsluÅ¡ejÃcÃm vyhledávacÃm cestám, když chcete, +aby je naÅ¡ly systémové nástroje. +DokumentaÄnà stránky můžou být automaticky +nalezeny po pÅ™idánà do promÄ›nné \envname{PATH}. + +NapÅ™Ãklad pro Bourne-kompatibilnà shell, jako je +\prog{bash} a použÃvaný Intel x86 +GNU/Linux se standardnÃm nastavenÃm adresářů, může +být vhodné editovat soubor \filename{$HOME/.profile}. + +\begin{sverbatim} +PATH=/usr/local/texlive/2012/bin/i386-linux:$PATH; export PATH +MANPATH=/usr/local/texlive/2012/texmf/doc/man:$MANPATH; export MANPATH +INFOPATH=/usr/local/texlive/2012/texmf/doc/info:$INFOPATH; export INFOPATH +\end{sverbatim} + +Pro \prog{csh} nebo \prog{tcsh} je editovaný soubor +typicky \filename{$HOME/.cshrc} a +řádky k~pÅ™idánà můžou vypadat jako: +\begin{sverbatim} +setenv PATH /usr/local/texlive/2012/bin/i386-linux:$PATH +setenv MANPATH /usr/local/texlive/2012/texmf/doc/man:$MANPATH +setenv INFOPATH /usr/local/texlive/2012/texmf/doc/info:$INFOPATH +\end{sverbatim} + +Pokud již máte nastavenà nÄ›kde ve vaÅ¡ich \uv{dot} souborech, +adresáře \TL\ by mÄ›li, pÅ™irozenÄ›, jednoduÅ¡e pÅ™iměřenÄ› s~nimi splynout. + +\subsubsection{PromÄ›nné prostÅ™edÃ: globálnà konfigurace} +\label{sec:envglobal} +Volba, zda uÄinit tyto zmÄ›ny globálnÄ›, anebo pro uživatele právÄ› +pÅ™idaného do systému, je na vás; existuje pÅ™ÃliÅ¡ mnoho variacà mezi +systémy, kde a jak se tato nastavenà provádÄ›jÃ. +NaÅ¡e dvÄ› rady jsou: 1)~můžete chtÃt vyhledat soubor +\filename{/etc/manpath.config} a pokud existuje, pÅ™idejte řádky jako + +\begin{sverbatim} +MANPATH_MAP /usr/local/texlive/2012/bin/i386-linux \ + /usr/local/texlive/2012/texmf/doc/man +\end{sverbatim} + +A 2)~vyhledejte soubor \filename{/etc/environment}, +který může definovat vyhledávacà cestu a dalÅ¡Ã standardnà +promÄ›nné prostÅ™edÃ. + +V~každém (Unixovém) adresáři binárek vytvářÃme také symbolický +odkaz na adresář \dirname{texmf/doc/man} s~názvem \code{man}. +NÄ›které programy \code{man}, jako napÅ™Ãklad standardnà +\MacOSX\ \code{man}, ho automaticky najdou, co odstraňuje +potÅ™ebu jakéhokoliv nastavovánà dokumentaÄnÃch stránek. + +\subsubsection{Internetovské aktualizace po instalaci z~\DVD} +\label{sec:dvd-install-net-updates} + +Pokud jste instalovali \TL\ z~\DVD\ a pozdÄ›ji si pÅ™ejete +zÃskat aktualizace z~Internetu, budete potÅ™ebovat spuÅ¡tÄ›nà +tohoto povelu---\emph{poté} co jste aktualizovali vaÅ¡i +vyhledávacà cestu (jako to bylo popsané v~pÅ™edcházejÃcÃm oddÃle): + +\begin{alltt} +> \Ucom{tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet} +\end{alltt} + +Toto Å™ekne programu \cmdname{tlmgr} aby pro následujÃcà +aktualizace použil nejbližšà zrcadlo \CTAN{}u. +Pokud se vyskytnou problémy s~automatickým výbÄ›rem zrcadla, +můžete deklarovat konkrétnà zrcadlo \CTAN{}u ze seznamu na stránce +\url{http://ctan.org/mirrors}. Použijte pÅ™esnou cestu k~podadresáři +\dirname{tlnet} tohoto zrcadla, jak jsme uvedli výše. + +\htmlanchor{xetexfontconfig} % keep historical anchor working +\htmlanchor{sysfontconfig} +\subsubsection{Systémová konfigurace fontů pro \XeTeX\ a Lua\TeX} +\label{sec:font-conf-sys} + +\XeTeX\ a Lua\TeX\ mohou použÃvat jakýkoli font instalován +v~systému, nejenom ty, které se nacházà +v~\TeX{}ovských stromech. Provádà to prostÅ™ednictvÃm +podobných, ale ne identických metod. + +Pod Windows jsou fonty dodané s~\TL\ automaticky dostupné pro \XeTeX. +Pokud máte na unixovém systému nainstalován balÃk \filename{xetex}, +potÅ™ebujete dokonfigurovat váš systém chcete-li, %TODO +aby byl \XeTeX\ schopen najÃt fonty dodané s~\TL\ +prostÅ™ednictvÃm vyhledávánà systémových jmen a nejen souborů. + +Pro usnadnÄ›nÃ, když se instaluje balÃk \pkgname{xetex} +(buÄ ve výchozà instalaci nebo pozdÄ›ji), +se vytvářà potÅ™ebný konfiguraÄnà soubor +\filename{TEXMFSYSVAR/fonts/conf/texlive-fontconfig.conf}. + +Pro nastavenà fontů \TL{} pro použità v~rámci +celého systému (za pÅ™edpokladu, že máte odpovÃdajÃcà oprávnÄ›nÃ), +postupujte následovnÄ›: +\begin{enumerate*} +\item ZkopÃrujte soubor \filename{texlive-fontconfig.conf} do adresáře +\dirname{/etc/fonts/conf.d/09-texlive.conf}. +\item SpusÅ¥te \Ucom{fc-cache -fsv}. +\end{enumerate*} +Pokud nemáte postaÄujÃcà práva k~provedenà výše popsaných kroků, +neboli jednoduÅ¡e chcete uÄinit fonty \TL{} dosažitelnými pro vás jako +samostatného uživatele, můžete uÄinit následujÃcÃ: +\begin{enumerate*} +\item ZkopÃrujte soubor \filename{texlive-fontconfig.conf} do + \filename{~/.fonts.conf}, kde \filename{~} oznaÄuje váš + domovský adresář. +\item SpusÅ¥te \Ucom{fc-cache -fv}. +\end{enumerate*} + +Pokud chcete uvidÄ›t jména vÅ¡ech systémových fontů, můžete +spustit pÅ™Ãkaz \code{fc-list}. +ZaklÃnadlo \code{fc-list : family style file spacing} +(vÅ¡echny argumenty jsou pÃsmenkové Å™etÄ›zce) +ukáže obecnÄ› zajÃmavou informaci. + + +\subsubsection{\ConTeXt{} Mark IV} +\label{sec:context_mkiv} + +`Starý' \ConTeXt{} (Mark \acro{II}) a `nový' \ConTeXt{} +(Mark \acro{IV}) by mÄ›ly po instalaci \TL{} fungovat bez dalÅ¡Ãch zásahů +a nemÄ›ly by vyžadovat zvláštnà pozornost, pokud budete k~aktualizacÃm +použÃvat \verb+tlmgr+. + +NicménÄ›, protože \ConTeXt{} Mk\acro{IV} nepoužÃvá knihovnu kpathsea, +nÄ›jaké nastavenà bude požadováno vždycky, když budete instalovat nové +soubory ruÄnÄ› (bez použità \verb+tlmgr+). Po ukonÄenà takové instalace +musà každý uživatel Mk\acro{IV} spustit: +\begin{sverbatim} +context --generate +\end{sverbatim} +pro obnovenà diskových cache údajů \ConTeXt{}u. +Výslednà soubory jsou uloženy do \code{TEXMFCACHE}, +kterého pÅ™ednastavená hodnota v~\TL\ je \verb+TEXMSYSVAR;TEXMFVAR+. + +\ConTeXt\ Mk\acro{IV} bude ÄÃst ze vÅ¡ech cest uvedených +v~\verb+TEXMFCACHE+ a zapisovat do prvnà zapisovatelné cesty. +PÅ™i Ätenà v~pÅ™ÃpadÄ› duplicitnÃch údajů v~pamÄ›ti cache zÃská +pÅ™ednost poslednà nalezený prvek. + +Pro dalÅ¡Ã informace viz +\url{http://wiki.contextgarden.net/Running_Mark_IV}. +% a\url{http://wiki.contextgarden.net/TeX_Live_2010}. + +\subsubsection{ZaÄleňovánà lokálnÃch a osobnÃch maker} +\label{sec:local_personal_macros} + +Toto je již implicitnÄ› zmÃnÄ›no v~sekci~\ref{sec:texmftrees}: +adresář \dirname{TEXMFLOCAL} (standardnÄ› +\dirname{/usr/local/texlive/texmf-local} nebo +\verb|%SystemDrive%\texlive\texmf-local| pod Windows) +je urÄen pro rozsáhlé systémové % system-wide +lokálnà fonty a makra; a adresář +\dirname{TEXMFHOME} (standardnÄ› \dirname{$HOME/texmf} nebo +\verb|%USERPROFILE%\texmf|), je pro osobnà fonty a makra. +Pro oba stromy musà být soubory umÃstÄ›né v~patÅ™iÄných +podadresářÃch \TDS\ (\TeX\ Directory Structure); +viz \url{http://tug.org/tds} nebo nahlédni do souboru +\filename{texmf/web2c/texmf.cnf}. NapÅ™Ãklad, \LaTeX{}ovský +styl, tÅ™Ãda nebo makrobalÃk by mÄ›l být umÃstÄ›n + v~\dirname{TEXMFLOCAL/tex/latex} nebo +\dirname{TEXMFHOME/tex/latex}, nebo v~jejich podadresářÃch. + +\dirname{TEXMFLOCAL} vyžaduje aktuálnà databázi jmen souborů, jinak +nebudou soubory nalezeny. +Můžete ji obnovit povelem \cmdname{mktexlsr} nebo použÃt tlaÄÃtko +`Reinit file database' na konfiguraÄnà záložce programu +\TeX\ Live Manager v~režimu \GUI. + +StandardnÄ› je každá z~tÄ›chto promÄ›nných definována jako +samostatný adresář, jak je ukázáno. +To vÅ¡ak nenà nezbytnÄ› nutné. %This is not a hard-and-fast requirement. +Pokud potÅ™ebujete pÅ™epÃnat mezi dvÄ›ma verzemi velkých +balÃků, napÅ™Ãklad můžete udržovat vÃce stromů pro vaÅ¡e vlastnà potÅ™eby. +Toho se dosáhne nastavenÃm \dirname{TEXMFHOME} na seznam adresářů uvnitÅ™ +složených závorek oddÄ›lených Äárkami: + +\begin{verbatim} + TEXMFHOME = {/my/dir1,/mydir2,/a/third/dir} +\end{verbatim} + +DalÅ¡Ã popis expanze závorek je v~oddÃle~\ref{sec:brace-expansion}. + +\subsubsection{ZaÄleňovánà fontů tÅ™etÃch stran} +Toto je naneÅ¡tÄ›stà nepÅ™Ãjemné téma. Zapomeňte na nÄ›j +pokud se nechcete probÃrat v~mnoha +podrobnostech instalace \TeX u. Nezapomeňte si nejdÅ™Ãve +prohlédnout fonty, které jsou +zdarma souÄástà distribuce, viz sekci~\ref{sec:tlfonts}. + +Možnou alternativou je použità \XeTeX{}u nebo Lua\TeX{}u +(viz sekci~\ref{sec:tex.extensions}), které vám +umožnà použÃvat fonty operaÄnÃho systému bez jakékoliv instalace v~\TeX{}u. +Pokud to potÅ™ebujete udÄ›lat, vyvinuli jsme maximálnà úsilà +k~popsánà postupu, viz \url{http://tug.org/fonts/fontinstall.html}. +Pokud peÄlivÄ› udržujete mapy svých lokálnÃch fontů, +\texttt{tlmgr generate updmap} \textit{může} být užiteÄné, napÅ™Ãklad pÅ™i +pÅ™echodu od vydánà k~vydánÃ; viz dokumentaci \cmdname{tlmgr}. + +\subsection{Testovánà instalace} +\label{sec:test.install} + +Po nainstalovánà \TL{} pÅ™irozenÄ› chcete +systém otestovat a zaÄÃt vytvářet nádherné dokumenty nebo fonty. + +Tento oddÃl popisuje základnà postupy testovánà funkÄnosti nového +systému pod Unixem. Pod \MacOSX{} a +Windows budete patrnÄ› spouÅ¡tÄ›t testy pÅ™es uživatelské grafické rozhranà +(\acro{GUI}), ale principy jsou stejné. + +\begin{enumerate} +\item Nejprve ověřte, zda se spustà program \cmdname{tex}: + +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.1415926 (TeX Live ...) +kpathsea version 6.0.1 +Copyright ... D.E. Knuth. +... +\end{alltt} +Pokud obdržÃte hlášku s~`command not found' mÃsto výše +uvedeného, nebo se starÅ¡Ã verzÃ, patrnÄ› nemáte nastavený správný podadresář +\dirname{bin} v~promÄ›nné prostÅ™edà \envname{PATH}. VraÅ¥te se +k~informacÃm o~jejich nastavovánà na stranÄ›~\pageref{sec:env}. + +\item PÅ™eložte ukázkový soubor \LaTeX{}u: +\begin{alltt} +> \Ucom{latex sample2e.tex} +pdfTeX 3.1415926-... (TeX Live ...) +... +Output written on sample2e.dvi (3 pages, 7484 bytes). +Transcript written on sample2e.log. +\end{alltt} +Pokud selže nalezenà souboru \filename{sample2e.tex} nebo jiných +souborů, nejspÃÅ¡e máte aktivnà stará nastavenà promÄ›nných prostÅ™edà nebo +konfiguraÄnÃch souborů; pro zaÄátek doporuÄujeme zruÅ¡it +nastavenà vÅ¡ech promÄ›nných prostÅ™edà souvisejÃcÃch s~\TeX{}em. +Pro hlubÅ¡Ã analýzu a dohledánà problému můžete kdykoliv požádat +\TeX{} o detaily toho, co a kde hledá: viz \uv{Ladicà Äinnosti} +na stranÄ›~\pageref{sec:debugging}. + +\item ProhlédnÄ›te si výsledek na obrazovce: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} # Unix +> \Ucom{dviout sample2e.dvi} # Windows +\end{alltt} +MÄ›lo by se otevÅ™Ãt nové okno s~pÄ›kným dokumentem popisujÃcÃm základy +\LaTeX{}u. (Mimochodem, stojà za pÅ™eÄtenÃ, pokud zaÄÃnáte s~\TeX em.) +MusÃte mÃt spuÅ¡tÄ›ny +X~Window, aby \cmdname{xdvi} pracovalo. Pokud tomu tak nenà nebo máte +Å¡patnÄ› nastavenou promÄ›nnou prostÅ™edà +\envname{DISPLAY}, dostanete chybovou hlášku `Can't open display'. + +\item VytvoÅ™te \PS{}ový soubor pro tisk nebo prohlÞenÃ: +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item VytvoÅ™te \acro{PDF} soubor mÃsto \dvi{}; tento pÅ™Ãkaz +ze~souboru \filename{.tex} vytvořà \acro{PDF} pÅ™Ãmo: +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item ProhlédnÄ›te si \acro{PDF} soubor: +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{nebo:} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} +Ani \cmdname{gv} ani \cmdname{xpdf} nejsou zaÅ™azeny na +\TL{} a musÃte je instalovat separátnÄ›. Viz +\url{http://www.gnu.org/software/gv} resp. +\url{http://www.foolabs.com/xpdf}. Existuje také velké množstvà +jiných prohlÞeÄů \acro{PDF}. +Pro Windows doporuÄujeme vyzkouÅ¡et Sumatra PDF +(\url{http://blog.kowalczyk.info/software/sumatrapdf}). + +\item Standardnà testovacà soubory, které mohou být +užiteÄné kromÄ› \filename{sample2e.tex}: + +\begin{ttdescription} +%B% \item [docstrip.tex] VytvoÅ™enà \TeX{}ového zdroje Äi dokumentace ze +%B% souboru~\samp{.dtx}. +\item [small2e.tex] Ukázkový dokument, jeÅ¡tÄ› kratÅ¡Ã než +\filename{sample2e}. +\item [testpage.tex] Test, jestli vaÅ¡e tiskárna neposunuje tiskové zrcadlo. +\item [nfssfont.tex] Pro tisk tabulek fontů a testů fontů. +\item [testfont.tex] Pro totéž, ale pro plain \TeX{}. +\item [story.tex] Základnà (plain) \TeX{}ový testovacà soubor. +MusÃte napsat \samp{\bs bye} na výzvu \code{*} po \samp{tex +story.tex}. +\end{ttdescription} + +\item Pokud máte nainstalovaný balÃk \filename{xetex} package, +můžete prověřit jeho pÅ™Ãstup k~systémovým fontům následovnÄ›: +\begin{alltt} +> \Ucom{xetex opentype-info.tex} +This is XeTeX, Version 3.1415926\dots +... +Output written on opentype-info.pdf (1 page). +Transcript written on opentype-info.log. +\end{alltt} +(Nebo to samé pro \filename{luatex}.) + +Jestliže obdržÃte chybové hlášenà \uv{Invalid fontname `Latin Modern +Roman/ICU'\dots}, pak potÅ™ebujete nakonfigurovat váš systém tak, aby +\XeTeX{} mohl najÃt fonty dodané s~\TL. Viz +oddÃl~\ref{sec:font-conf-sys}. +\end{enumerate} + +\subsection{Odkazy na doplňkový software s~možnostà staženà z~Internetu} + +Pokud jste \TeX{}ový zaÄáteÄnÃk nebo potÅ™ebujete pomoc se psanÃm +\TeX{}ových, respektive \LaTeX{}ových dokumentů, navÅ¡tivte +\url{http://tug.org/begin.html}, kde najdete úvodnà informace +k~instalaci. + +Odkazy na nÄ›které dalÅ¡Ã pomůcky, o instalaci kterých můžete uvažovat: +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.perl.org/} + s~doplňujÃcÃmi balÃky z~\acro{CPAN}, \url{http://www.cpan.org/} +\item[ImageMagick] \url{http://www.imagemagick.com}, k~zpracovánà + a konverzi grafiky +\item[NetPBM] \url{http://netpbm.sourceforge.net/}, rovněž pro grafiku. + +\item[\TeX ovsky orientované editory] Existuje Å¡iroký výbÄ›r a je to +záležitost vkusu uživatele. Tady je výbÄ›r v~abecednÃm Å™azenà +(nÄ›kolik málo je pouze pro Windows). + \begin{itemize*} + \item \cmdname{GNU Emacs} je pÅ™irozenÄ› k~dispozici pod Windows, viz + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html}. + \item \cmdname{Emacs} s~Auc\TeX em pro Windows je k~dispozici z~\CTAN{}u. + Jeho domovská stránka je \url{http://www.gnu.org/software/auctex}. + \item \cmdname{LEd} je k~dostánà z~\url{http://mirror.ctan.org/support/LEd}. + \item \cmdname{SciTE} je k~dostánà z~\url{http://www.scintilla.org/SciTE.html}. + \item \cmdname{Texmaker} je volný (free) software, k~dispozici + z~\url{http://www.xmlmath.net/texmaker}. + \item \cmdname{TexMakerX} je odboÄka programu \cmdname{Texmaker} + s~dodateÄnými rysy; \url{http://texmakerx.sourceforge.net}. + \item \cmdname{TeXnicCenter} je volný software, + k~dispozici z~\url{http://www.texniccenter.org} + a v~distribuci pro\TeX{}t. + \item \cmdname{TeXworks} je volný software, k~dispozici + z~\url{http://tug.org/texworks} + a je nainstalovaný pro Windows a \MacOSX\ jako souÄást \TL. + \item \cmdname{Vim} je volný software, k~dispozici + z~\url{http://www.vim.org}. + \item \cmdname{WinEdt} je shareware dostupný tÅ™eba + na \url{http://tug.org/winedt} + nebo na \url{http://www.winedt.com}. + \item \cmdname{WinShell} je k~dispozici z~\url{http://www.winshell.de}. + \end{itemize*} +\end{description} +Pro mnohem delÅ¡Ã seznam balÃků a programů, viz +\url{http://tug.org/interest.html}. + +\section{Specializované instalace} + +PÅ™edcházejÃcà oddÃly popisovaly základnà instalaÄnà proces. +TeÄ se zaměřÃme na nÄ›které speciálnà pÅ™Ãpady. + +\htmlanchor{tlsharedinstall} +\subsection{Instalace sdÃlené uživateli (nebo cross-machine)} +\label{sec:sharedinstall} + +\TL{} byl navržený tak, aby se dal sdÃlet mezi různými +uživateli jednoho systému a/nebo mezi různými systémy na sÃti. +Se standardnà strukturou adresářů se nekonfigurujà +žádné % no hard paths are configured +pevné plné cesty: umÃstÄ›nà souborů potÅ™ebných pro programy \TL{} +je zÅ™Ãzeno relativnÄ› k~programům. Můžete to +najÃt v~nejdůležitÄ›jÅ¡Ãm konfiguraÄnÃm souboru +\filename{$TEXMFMAIN/web2c/texmf.cnf}, který obsahuje řádky jako jsou +\begin{sverbatim} +TEXMFMAIN = $SELFAUTOPARENT/texmf +... +TEXMFLOCAL = $SELFAUTOPARENT/../texmf-local +\end{sverbatim} +To znamená, že k~zÃskánà funkÄnÃho nastavenà staÄà +pÅ™idat ke své vyhledávacà cestÄ› adresář binárek \TL{} +pro jejich platformu. + +%By the same token, +Stejným způsobem můžete nainstalovat \TL{} lokálnÄ› a +pak pÅ™esunout celou hierarchii pozdÄ›ji na mÃsto na sÃti. + +Pro Windows můžete stáhnout z~\url{http://tug.org/texlive/w32client.html} +vzorový skript sÃÅ¥ové instalace nazvaný +\filename{w32client}. Vytvářà nastavenà a nabÃdkové +zkratky k~užÃvánà stávajÃcà instalace \TL{} na \acro{LAN}. +Registruje také program k~odinstalovánà \filename{w32unclient}, +je po ruce ve stejném zip-souboru. Pro dalÅ¡Ã informace +odkazujeme na webovou stránku. + +\htmlanchor{tlportable} +\subsection{Mobilnà \USB{} instalace} +\label{sec:portable-tl} + +Volba instalaÄnÃho programu \code{-portable} (nebo +pÅ™Ãkaz \code{V} v~textové verzi instalátoru nebo +odpovÃdajÃcà volba \GUI{}) vytvářà úplnÄ› samostatnou +instalaci \TL{} pod spoleÄným koÅ™enem a pÅ™edcházejÃcà integraci systému. +Takovou instalaci můžete vytvoÅ™it pÅ™Ãmo na klÃÄi \USB{}, +nebo ji zkopÃrovat na klÃÄ \USB{} pozdÄ›ji. + +Ke spuÅ¡tÄ›nà \TeX\ pÅ™i použità této pÅ™enosné instalace musÃte pÅ™idat +pÅ™ÃsluÅ¡ný adresář binárek k~vyhledávané cestÄ› +bÄ›hem vaÅ¡Ã práce na terminálu, jako obvykle. +Pod Windows můžete dvakrát kliknout +na \filename{tl-tray-menu} v~koÅ™enovém adresáři instalace a zvolit si mezi +nÄ›kolika běžnými úkoly, jak je to ukázáno na této obrazovce: + +\medskip +\tlpng{tray-menu}{4cm} +\smallskip + +\noindent Vstup `More\ldots' vysvÄ›tluje, jak si můžete +pÅ™izpůsobit tuto nabÃdku. + + +\htmlanchor{tlisoinstall} +\subsection{\ISO\ (nebo \DVD) instalace} +\label{sec:isoinstall} + +Pokud nepotÅ™ebujete pÅ™ÃliÅ¡ Äasto aktualizovat nebo jiným +způsobem mÄ›nit vaÅ¡i instalaci +a\slash nebo máte vÃce systémů, na kterých provozujete \TL{}, +může pro vás být užiteÄné vytvoÅ™it +\ISO\ obraz vaÅ¡Ã instalace \TL{}, protože: + +\begin{itemize} +\item KopÃrovánà \ISO\ obrazů mezi různými poÄÃtaÄi je mnohem rychlejÅ¡Ã +než zkopÃrovánà obyÄejné instalace. +\item Pokud máte duálnà zavádÄ›nà různých operaÄnÃch systémů a chcete +sdÃlet instalaci \TL, instalace \ISO{} nenà svázaná výstÅ™ednostmi +a ohraniÄenÃmi % is not tied to the idiosyncrasies +vzájemnÄ› rozdÃlných podporovaných souborových systémů +(\acro{FAT32}, \acro{NTFS}, \acro{HFS+}). +\item Virtuálnà stroj dokáže jednoduÅ¡e namontovat takové \ISO. +\end{itemize} + + +SamozÅ™ejmÄ› si můžete také napálit \ISO\ obraz na \DVD, pokud +to uznáte za užiteÄné. + +Systémy \GNU/Linux/Unix s~pracovnà plochou, vÄetnÄ› \MacOSX, +jsou schopné namontovat \ISO. Nezávisle na tom se nic +nemÄ›nà v~porovnánà s~běžnou instalacà na pevném disku, +viz oddÃl \ref{sec:env}. + +PÅ™i pÅ™ÃpravÄ› takové \ISO\ instalace je nejlepÅ¡Ã vynechat +podadresář roku vydánà a mÃt +\filename{texmf-local} na stejné úrovni jako ostatnà stromy +(\filename{texmf}, \filename{texmf-dist} atd.). Toto můžete udÄ›lat pomocà +obyÄejných voleb adresářů v~instalátoru. + +Pro fyzický (spÃÅ¡e než virtuálnÃ) systém Windows můžete +napálit \ISO\ obraz na \acro{DVD}. AvÅ¡ak, může stát za +to prozkoumat svobodné volby \ISO-montovánÃ. +Pro Windows \acro{XP}, Microsoft nabÃzà +\filename{winxpvirtualcdcontrolpanel}. + +Pro integraci systému Windows, můžete zahrnout skripty \filename{w32client}a +popsané v~oddÃle~\ref{sec:sharedinstall} a na +\url{http://tug.org/texlive/w32client.html}, které pracujà téměř stejnÄ› +dobÅ™e pro \ISO\ jako pro sÃÅ¥ovou instalaci. + +Pod \MacOSX, TeXShop a \TeX{}works jsou schopny použÃt \acro{DVD} +instalaci pokud symbolický odkaz \filename{/usr/texbin} ukazuje na +pÅ™ÃsluÅ¡ný adresář binárek, napÅ™Ãklad, +\begin{verbatim} +sudo ln -s /Volumes/MyTeXLive/bin/universal-darwin /usr/texbin +\end{verbatim} + +Historická poznámka: \TL{} 2010 byla prvnà edice \TL{}, která už již nenà +distribuovaná `live'. NicménÄ›, spouÅ¡tÄ›nà z~\DVD\ nebo \ISO\ si vždy +vyžadovalo jistou obratnost; +pÅ™edevÅ¡Ãm nebyla možnost nastavenà alespoň jedné dodateÄné +promÄ›nné prostÅ™edÃ. Pokud vytvářÃte vaÅ¡e \ISO\ ze stávajÃcà +instalace, nenà to potÅ™ebné. + +\htmlanchor{tlmgr} +\section{\cmdname{tlmgr}: správa vaÅ¡Ã instalace} +\label{sec:tlmgr} + +\begin{figure}[tb] +\tlpng{tlmgr-gui}{\linewidth} +\caption{\prog{tlmgr} v~režimu \GUI: hlavnà okno, po kliknutà +na tlaÄÃtko `Load'.} +\label{fig:tlmgr_gui} +\end{figure} + +\begin{figure}[tb] +\hbox to \hsize{% + \vtop{\hsize=.59\linewidth + \null % make figures align at the top + \tlpng{tlmgr-general-options}{\hsize} + \caption{\texttt{tlmgr} v~režimu \GUI: Obecné volby} + \label{fig:tlmgr_general_options} + } + \hfil + \vtop{\hsize=.39\linewidth + \null + \tlpng{tlmgr-paper-options}{\hsize} + \caption{\texttt{tlmgr} v~režimu \GUI: Volby rozmÄ›ru papÃru} + \label{fig:tlmgr_paper_options} + } +} +\end{figure} + +\TL{} obsahuje program nazvaný \prog{tlmgr} pro správu \TL{} +po výchozà instalaci. Programy \prog{updmap}, +\prog{fmtutil} a \prog{texconfig} jsou dosud zahrnuté a +zůstanou i v~budoucnosti, avÅ¡ak preferovaným rozhranÃm je +nynà \prog{tlmgr}. Jeho schopnosti zahrnujÃ: +\begin{itemize*} +%\item výpis seznamů schémat, kolekcà a balÃků; +\item instalaci, aktualizaci, zálohovánÃ, obnovenà a odinstalovánà +jednotlivých balÃků, volitelnÄ› i se zapoÄÃtánÃm závislostà mezi +balÃky; % optionally taking dependencies into account; +\item vyhledávánà a pÅ™ehled balÃků, atd.; +\item výpis seznamu, pÅ™idánà a odstranÄ›nà platforem; +\item zmÄ›na instalaÄnÃch voleb jako napÅ™Ãklad velikosti papÃru a umÃstÄ›nà +zdrojů (viz sekci~\ref{sec:location}). +\end{itemize*} + +\subsection{GUI režim \cmdname{tlmgr}} +\prog{tlmgr} může být spuÅ¡tÄ›n v~režimu \GUI{} +(obrázek~\ref{fig:tlmgr_gui}) povelem +\begin{alltt} +> \Ucom{tlmgr -gui} +\end{alltt} +nebo ve Windows prostÅ™ednictvÃm Start menu: \texttt{Start}, \texttt{Programs}, +\texttt{TeX Live 2012}, \texttt{TeX Live Manager}. Po kliknutà na `Load' +se zobrazà seznam balÃků, které jsou k~dispozici, a nainstalovaných +balÃků. +%\Dash poslednÄ› zmÃnÄ›né jsou oznaÄeny `(i)'. +PochopitelnÄ› se pÅ™edpokládá, že instalaÄnà zdroj je platný a dosažitelný. + +Obrázky~\ref{fig:tlmgr_general_options} a~\ref{fig:tlmgr_paper_options} +ukazujà obrazovky obecných voleb a volby rozmÄ›ru papÃru. + +\subsection{Vzorové realizace \cmdname{tlmgr} z~pÅ™Ãkazového řádku} + +Po výchozà instalaci můžete svůj systém aktualizovat +na nejnovÄ›jÅ¡Ã dostupnou verzi pomocÃ: +\begin{alltt} +> \Ucom{tlmgr update -all} +\end{alltt} +Pokud vás to znepokojuje, zkuste nejdÅ™Ãve +\begin{alltt} +> \Ucom{tlmgr update -all -dry-run} +\end{alltt} +nebo (ménÄ› upovÃdané): +\begin{alltt} +> \Ucom{tlmgr update -list} +\end{alltt} + +Tento složitÄ›jÅ¡Ã pÅ™Ãklad pÅ™idá z~mÃstnÃho adresáře kolekci +pro nástroj (engine) \XeTeX: + +\begin{alltt} +> \Ucom{tlmgr -repository /local/mirror/tlnet install collection-xetex} +\end{alltt} +Vytvořà následujÃcà výstup (zkrácené): +\begin{fverbatim} +install: collection-xetex +install: arabxetex +... +install: xetex +install: xetexconfig +install: xetex.i386-linux +running post install action for xetex +install: xetex-def +... +running mktexlsr +mktexlsr: Updating /usr/local/texlive/2012/texmf/ls-R... +... +running fmtutil-sys --missing +... +Transcript written on xelatex.log. +fmtutil: /usr/local/texlive/2012/texmf-var/web2c/xetex/xelatex.fmt installed. +\end{fverbatim} + +Jak můžete vidÄ›t, \prog{tlmgr} nainstaluje závislosti +a postará se o~vÅ¡echny potÅ™ebné poinstalaÄnà Äinnosti, +vÄetnÄ› aktualizace databáze názvů souborů +a (znovu)vygenerovánà formátů. Výše jsme vytvoÅ™ili +nové formáty pro \XeTeX. + +K~popisu balÃku (nebo kolekce Äi schémy) zadejte: +\begin{alltt} +> \Ucom{tlmgr show collection-latexextra} +\end{alltt} +co vytvořà +\begin{fverbatim} +package: collection-latexextra +category: Collection +shortdesc: LaTeX supplementary packages +longdesc: A large collection of add-on packages for LaTeX. +installed: Yes +revision: 14675 +\end{fverbatim} + +Nakonec to nejdůležitÄ›jÅ¡Ã -- úplnou dokumentaci najdete na +\url{http://tug.org/texlive/tlmgr.html} nebo zadánÃm: +\begin{alltt} +> \Ucom{tlmgr -help} +\end{alltt} + +\section{Poznámky o Windows} +\label{sec:windows} + +\subsection{Vlastnosti typické pro Windows} %Windows-specific features +\label{sec:winfeatures} +Pod Windows dÄ›lá instalaÄnà program nÄ›které dodateÄné vÄ›ci: +\begin{description} +\item[NabÃdky a zkratky.] Je nainstalována nová položka `\TL{}' nabÃdky + Start, obsahujÃcà vstupy pro nÄ›které programy \GUI{} + (\prog{tlmgr}, \prog{texdoctk}, prohlÞeÄ PostScriptu PS\_View (\prog{psv})) + a trochu dokumentace. +\item[PÅ™idruženà souborů.] Pokud je to povoleno, \prog{TeXworks}, \prog{Dviout} + a \prog{PS\_view} se buÄ stávajà pÅ™edvolenými programy pro jejich pÅ™ÃsluÅ¡né + typy souborů, nebo pro tyto typu souborů zÃskávajà položku v~nabÃdce + `OtevÅ™Ãt pomocÃ' dostupnou kliknutÃm pravým tlaÄÃtkem. +\item[Konvertor bitmap na soubory formátu EPS.] Různé formáty + bitmapových souborů mohou být vstupem programu + \cmdname{bitmap2eps} v~jejich položce `OtevÅ™Ãt pomocÃ' + nabÃdky dostupné kliknutÃm pravým tlaÄÃtkem. \cmdname{Bitmap2eps} + je jednoduchý skript, který skuteÄnou práci ponechává + na programech \cmdname{sam2p} nebo \cmdname{bmeps}. +\item[Automatické nastavenà promÄ›nné path.] Nevyžadujà se žádné + kroky ruÄnà konfigurace. +\item[Odinstalátor.] InstalaÄnà program vytvořà položku + pro \TL{} pod nabÃdkou `Add/Remove + Programs'. Vztahuje se k~tomu záložka `Uninstallation' \GUI\ + programu \TeX\ Live Manager. +\end{description} + +\subsection{DodateÄný obsažený software pod Windows} + +Pro úplnost, instalace \TL{} potÅ™ebuje dalÅ¡Ã balÃky a programy, +které na stroji s~Windows obvykle nenajdete. +\TL{} poskytuje chybÄ›jÃcà souÄásti: +\begin{description} +\item[Perl a Ghostscript.] Kvůli důležitosti Perlu a Ghostscriptu + zahrnuje \TL{} `skryté' kopie tÄ›chto programů. + Programy \TL{}, které je potÅ™ebujÃ, vÄ›dÃ, kde je najdou, ale + neprozrazujà jejich pÅ™Ãtomnost nastavenÃm promÄ›nných prostÅ™edà nebo + registrů. Nejsou to úplné instalace a nemÄ›ly by pÅ™ekážet žádným + systémovým instalacÃm Perlu nebo Ghostscriptu. + +\item[PS\_View.] Nainstalován je také PS\_View, prohlÞeÄ \PS{} + a \acro{PDF} souborů; viz obr.~\ref{fig:psview}. + +\begin{figure}[tb] +\tlpng{psview}{.6\linewidth} +\caption{PS\_View: k~dispozici jsou velmi vysoká zvÄ›tÅ¡enÃ!}\label{fig:psview} +\end{figure} + +\item[dviout.] Nainstalován je také \prog{dviout}, prohlÞeÄ + \acro{DVI} souborů. NejdÅ™Ãve, když prohlÞÃte soubory pomocà + \cmdname{dviout}, vytvořà tento fonty, + protože fonty pro obrazovku nebyly nainstalovány. Po chvilce + budete mÃt vytvoÅ™enu vÄ›tÅ¡inu fontů pro použità a okno + vytvářenà fontů uvidÃte už jen zÅ™Ãdka. VÃce informacà + je možné nalézt ve (velmi doporuÄené) odpovÃdajÃcà nápovÄ›dÄ›. +\item[\TeX{}works.] \TeX{}works je \TeX ovsky orientovaný + editor se zabudovaným prohlÞeÄem \acro{PDF}. + Je již pro \TL\ nakonfigurován. + +\item[Nástroje pÅ™Ãkazového řádku.] Řada běžných unixových + programů Å™Ãzených z~pÅ™Ãkazového řádku je nainstalovaných + pod Windows spolu s~běžnými binárkami \TL. Tyto zahrnujà + programy \cmdname{gzip}, %\cmdname{chktex}, \cmdname{jpeg2ps}, + \cmdname{unzip} %, \cmdname{wget} + programy ze skupiny \cmdname{xpdf} (\cmdname{pdfinfo}, + \cmdname{pdffonts}, \ldots) a běžné unixové programy + užÃvané na pÅ™Ãkazové řádce. + Samotný prohlÞeÄ \cmdname{xpdf} nenà k~dispozici pro Windows. + NamÃsto nÄ›ho si můžete z~\url{http://blog.kowalczyk.info/software/sumatrapdf} stáhnout prohlÞeÄ \acro{PDF} Sumatra, + který je založen na \cmdname{xpdf}, spoleÄnÄ› s~dalÅ¡Ãmi možnostmi. + +\item[fc-list, fc-cache, \ldots] Nástroj z~knihovny + fontconfig pomáhá \XeTeX{}u efektivnÄ›ji zacházet s~fonty pod Windows. + Můžete použÃt \prog{fc-list} k~urÄenà jmen fontů + k~pÅ™edánà %to pass to Xe\TeX's extended \cs{font} command. + pÅ™Ãkazu \XeTeX{}u \cs{font} s~rozÅ¡ÃÅ™enou funkcionalitou. + Pokud je to potÅ™ebné, nejdÅ™Ãve spusÅ¥te \prog{fc-cache} k~aktualizaci + informacà o~fontech. +\end{description} + +\subsection{User Profile je Home} +\label{sec:winhome} +Windowsovský protÄ›jÅ¡ek domovského (home) adresáře Unixu je adresář +\verb|%USERPROFILE%|. Pod Windows \acro{XP} je to obvykle +\verb|C:\Documents and Settings\<username>| a pod +Windows Vista a Windows 7 je to +\verb|C:\Users\<username>|. V~souboru +\filename{texmf.cnf} a obecnÄ› pro \KPS{}, se bude \verb|~| expandovat +pÅ™iměřenÄ› v~obou systémech Windows a Unix. + +\subsection{Registry Windows} +\label{sec:registry} +Windows ukládá téměř vÅ¡echny konfiguraÄnà údaje do svých registrů. Registr +obsahuje soubor hierarchicky uspořádaných klÃÄů, s~nÄ›kolika koÅ™enovými klÃÄi. +NejdůležitÄ›jÅ¡Ã pro instalaÄnà programy jsou struÄnÄ› Å™eÄeno +\path{HKEY_CURRENT_USER} a \path{HKEY_LOCAL_MACHINE}, \path{HKCU} a +\path{HKLM}. Část \path{HKCU} registru je v~domovském adresáři +uživatele (viz sekci~\ref{sec:winhome}). \path{HKLM} je +obvykle v~podadresáři adresáře Windows. + +V~nÄ›kterých pÅ™Ãpadech je možné zÃskat systémové informace z~promÄ›nných +prostÅ™edÃ, ale pro dalÅ¡Ã informace, kupÅ™Ãkladu umÃstÄ›nà zkratek, je nutné +nahlédnout do registrů. Trvalé nastavenà promÄ›nných prostÅ™edà si rovněž +vyžaduje pÅ™Ãstup k~registrům. + +\subsection{OprávnÄ›nà Windows} +\label{sec:winpermissions} + +V~novÄ›jÅ¡Ãch verzÃch Windows se dÄ›lá rozdÃl mezi běžnými uživateli a +administrátory, když pouze poslednÄ› zmÃnÄ›nà majà volný pÅ™Ãstup k~celému +operaÄnÃmu systému. Ve skuteÄnosti můžete tyto tÅ™Ãdy uživatelů radÄ›ji +oznaÄit jako neprivilegovanà uživatelé a normálnà uživatelé: být +administrátorem je pravidlo, ne výjimka. PÅ™esto jsme se snažili uÄinit +\TL{} instalovatelným bez administrativnÃch výsad. + +Pokud je uživatelem administrátor, je možnost instalovat +i pro vÅ¡echny uživatele poÄÃtaÄe. Pokud je tato volba zvolena, +odkazy (shortcuts) se vytvářejà pro +vÅ¡echny uživatele a systémové prostÅ™edà se upravuje. Jinak jsou odkazy a +položky nabÃdky vytvářeny pouze pro aktuálnÃho uživatele a upravuje +se jen jeho prostÅ™edÃ. +%Použijte volbu \optname{non-admin} pro \prog{install-tl}, pokud +%upÅ™ednostňujete nastavenà podle uživatele dokonce jako administrátor. + +Bez ohledu na status administrátora je standardnà koÅ™enový adresář \TL{} +navržený instalaÄnÃm programem vždycky pod \verb|%SystemDrive%|. +Instalátor vždy testuje, zda je koÅ™enový adresář +zapisovatelný pro aktuálnÃho uživatele. + +Problém se může vyskytnout, pokud uživatel nenà administrátor a \TeX{} již +existuje ve vyhledávacà cestÄ›. Protože skuteÄná cesta se sestává ze +systémové cesty následované uživatelskou cestou, +nový \TL{} by nikdy nemÄ›l zÃskat pÅ™ednost. +Jako bezpeÄnostnà opatÅ™enà vytvářà instalátor odkaz na pÅ™Ãkazový řádek +(command-prompt), ve kterém je adresář binárek nového \TL{} +pÅ™edÅ™azený lokálnà vyhledávacà cestÄ›. Nový \TL{} bude pořád použitelný, když +bude běžet v~relaci pÅ™Ãkazového řádku spuÅ¡tÄ›né z~takového odkazu. Odkaz na +\TeX{}works, pokud je nainstalován, rovněž pÅ™edÅ™adà \TL{} +k~vyhledávacà cestÄ›, proto by mÄ›l být imunnà vůÄi tomuto problému cest. + +Pro Windows Vista a Windows~7 je tady jiná zrůdnost: % fÃgl, finta =twist +dokonce i když jste pÅ™ihlášen jako správce, +musÃte explicitnÄ› požádat o správcovské práva. Ve skuteÄnosti nemá význam +pÅ™ihlaÅ¡ovat se jako správce. MÃsto toho, kliknutà pravým +tlaÄÃtkem na program nebo odkaz, +který chcete použÃt, vám obvykle nabÃdne volbu +`Spustit jako správce/Run as administrator'. + + +\subsection{ZvÄ›tÅ¡enà maxima pamÄ›ti pod Windows a Cygwin} +\label{sec:cygwin-maxmem} + +Uživatelé Windows a Cygwin (pro zvláštnosti instalace Cygwin viz oddÃl~\ref{sec:cygwin}) +mohou zjistit, že pÅ™i bÄ›hu nÄ›kterých programů dodaných s~\TL, +trpà nedostatkem pamÄ›ti. NapÅ™Ãklad, \prog{asy} zhavaruje pro +nedostatek pamÄ›ti +pokud se pokusÃte alokovat pole 25,000,000 reálných ÄÃsel a +Lua\TeX\ může mÃt málo pamÄ›ti pokud zkusÃte zpracovat dokument +s~velkým množstvÃm rozsáhlých fontů. + +Pro Cygwin můžete zvÄ›tÅ¡it množstvà dostupné pamÄ›ti podle +návodu v~pÅ™ÃruÄce the Cygwin User's Guide +(\url{http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html}). + +Pro Windows musÃte vytvoÅ™it soubor, napÅ™Ãklad \code{moremem.reg}, obsahujÃcà +tyto ÄtyÅ™i řádky: + +\begin{sverbatim} +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\Software\Cygwin] +"heap_chunk_in_mb"=dword:ffffff00 +\end{sverbatim} + +\noindent a pak spustit povel \code{regedit /s moremem.reg} jako +administrátor. (Pokud si pÅ™ejete zmÄ›nit paměť pouze pro +stávajÃcÃho uživatele mÃsto vÅ¡ech, použijte \code{HKEY\_CURRENT\_USER}.) + + +\begin{otherlanguage}{slovak} +\frenchspacing +% don't use \Webc so the \uppercase in the headline works. +\section{PoužÃvateľská prÃruÄka ku systému Web2C} +\Webc{} obsahuje množinu \TeX-prÃbuzných programov, t.j.\ samotný \TeX{}, +\MF{}, \MP, \BibTeX{}, atÄ. Je to srdce systému \TL{}. +Domovská stránka \Webc{}, s~aktuálnou prÃruÄkou a ÄalÅ¡Ãmi vecami, je +\url{http://tug.org/web2c}. + +Trochu histórie: originálna implementácia pochádza +od Thomasa Rokického, ktorý v~roku 1987 vyvinul prvý +\TeX{}-to-C systém založený na zmenových súboroch systému pre Unix, ktoré +boli v~prvom rade pôvodnou prácou Howarda Trickeya a Pavla Curtisa. +Tim Morgan sa stal spravovateľom systému a poÄas jeho obdobia sa meno zmenilo +na Web-to-C\@. V~roku 1990 Karl Berry prebral túto prácu, +asistoval pri tuctoch dodatoÄných prÃspevkov a v~roku 1997 podal +taktovku Olafovi Weberovi, ktorý ju v~roku 2006 vrátil Karlovi. + +\Webc{} systém bežà pod Unixom, 32bitovými Windows, +\acro{MacOSX} a inými operaÄnými systémami. PoužÃva originálne +\TeX{} zdrojové súbory od Knutha a ostatné základné programy napÃsané +v~systéme kultivovaného programovania \web{}, ktoré sú preložené do zdrojového kódu jazyka C. +Základné programy \TeX{}u sú spracované týmto spôsobom: +\begin{description} +\renewcommand{\makelabel}[1]{\descriptionlabel{\mdseries\cmdname{#1}}} +\item[bibtex] Spravovanie bibliografiÃ. +%\item[dmp] Konverzia \cmdname{troff} do MPX (\MP{} obrázky). +\item[dvicopy] Vytváranie modifikovanej kópie \dvi{} súboru. +\item[dvitomp] Konverzia \dvi{} do MPX (\MP{} obrázky). +\item[dvitype] Konverzia \dvi{} do ľudsky Äitateľného textu. +\item[gftodvi] Generovanie fontov pre náhľad. +\item[gftopk] Konverzia gf formátu fontov do pakovaných fontov. +\item[gftype] Konverzia gf formátu fontov do ľudsky Äitateľného textu. +%\item[makempx] \MP{} znaÄkové sádzanie. +\item[mf] \MF{} -- vytváranie rodÃn fontov. +\item[mft] Preddefinované \MF ové zdrojové súbory. +\item[mpost] \MP{} -- tvorba technických diagramov. +%\item[mpto] \MP{} -- znaÄkový výber. +%\item[newer] Porovnanie modifikaÄných Äasov. +\item[patgen] Vytváranie vzorov rozdeľovania slov. +\item[pktogf] Konverzia pakovaných formátov fontov do +gf formátov. +\item[pktype] Konverzia pakovaných pÃsiem do ľudsky Äitateľného textu. +\item[pltotf] Konverzia `Property list' do TFM. +\item[pooltype] Zobrazovanie \singleuv{\web{} pool} súborov. +\item[tangle] Konverzia \web{} súborov do Pascalu. +\item[tex] \TeX{} -- sadzba. +\item[tftopl] Konverzia TFM do `property list'. +\item[vftovp] Konverzia virtuálneho fontu do virtuálneho `property list'. +\item[vptovf] Konverzia virtuálneho `property list' do virtuálneho fontu. +\item[weave] Konverzia \web{} súborov do \TeX u. +\end{description} +\noindent Presné funkcie a syntax týchto programov sú popÃsané +v~dokumentáciách jednotlivých balÃkov alebo v~dokumentácii +\Webc{}. Napriek tomu, poznanie niekoľkých princÃpov, ktoré +platia pre celý balÃk programov, vám pomôže vyÅ¥ažiÅ¥ Äo najviac +z~vaÅ¡ej \Webc{} inÅ¡talácie. + +VÅ¡etky programy dodržiavajú Å¡tandardné \GNU{} voľby: + +\begin{description} +\item[\texttt{--help}] Vypisuje prehľad základného použÃvania. +\item[\texttt{--verbose}] Vypisuje detailnú správu spracovania. +\item[\texttt{--version}] Vypisuje informáciu o~verzii, potom skonÄÃ. +\end{description} + +Na vyhľadávanie súborov použÃvajú \Webc{} programy prehľadávaciu +knižnicu \KPS{} (\url{http://tug.org/kpathsea}). +Táto knižnica použÃva kombináciu premenných +prostredia a niekoľkých konfiguraÄných súborov na optimalizáciu +prehľadávania adresárového stromu \TeX u{}. \Webc{} zvládne +prácu s~viacerými adresárovými stromami súÄasne, Äo je +užitoÄné, ak niekto chce udržiavaÅ¥ Å¡tandardnú distribúciu \TeX u a jeho +lokálne a osobné rozÅ¡Ãrenia v~rozliÄných stromoch. Na urýchlenie +vyhľadávania súborov, koreň každého stromu obsahuje súbor +\file{ls-R} so záznamom obsahujúcim meno a relatÃvnu cestu ku +vÅ¡etkým súborom umiestneným pod týmto koreňom. + + +\subsection{Vyhľadávanie ciest knižnicou Kpathsea} +\label{sec:kpathsea} +Najprv popÃÅ¡eme vÅ¡eobecný mechanizmus vyhľadávania ciest +knižnicou \KPS{}. + +\emph{Vyhľadávacou cestou} nazveme zoznam \emph{elementov cesty}, +ktorými sú v~prvom rade mená adresárov +oddelené dvojbodkou alebo bodkoÄiarkou. +Vyhľadávacia cesta môže pochádzaÅ¥ z~viacerých zdrojov. +Pri vyhľadávanà súboru \samp{my-file} podľa cesty \samp{.:/dir}, +\KPS{} skontroluje každý element cesty: najprv \file{./my-file}, +potom \file{/dir/my-file}, vracajúc prvý zodpovedajúci nájdený +prvok (alebo prÃpadne vÅ¡etky zodpovedajúce prvky). + +Aby bolo dosiahnuté prispôsobenie sa konvenciám Äo možno najviac +operaÄných systémov, na neunixových systémoch \KPS{} môže použÃvaÅ¥ +oddeľovaÄe názvov súborov rôzne od dvojbodky (\samp{:}) a +lomÃtka (\samp{/}). + +Pri kontrolovanà urÄitého elementu cesty \var{p} \KPS{} najprv +overÃ, Äi sa na naň nevzÅ¥ahuje vopred vybudovaná databáza (pozri +\singleuv{Data\-báza názvov súborov} na +strane~\pageref{sec:filename.database}), t.\,j., Äi sa databáza nachádza +v~adresári, ktorý je prefixom \var{p}. Ak to tak je, Å¡pecifikácia +cesty sa porovnáva s~obsahom databázy. + +Ak databáza neexistuje, alebo sa nevzÅ¥ahuje na tento element cesty, alebo +sa v~nej hľadaný súbor nevyskytuje, celý systém súborov je prehľadaný +(pokiaľ to nebolo zakázané Å¡pecifikáciou zaÄÃnajúcou \samp{!!} a +hľadaný súbor musà existovaÅ¥). \KPS{} zostrojà zoznam adresárov +zodpovedajúcich tomuto elementu cesty a potom skontroluje každý +z~nich, Äi sa v~ňom nenachádza hľadaný súbor. + +Podmienka \singleuv{súbor musà existovaÅ¥\kern1pt} sa týka napr.\ súborov typu +\samp{.vf} a vstupných súborov ÄÃtaných prÃkazom \TeX u \cs{openin}. +Takéto súbory nemusia existovaÅ¥ (napr.\ \file{cmr10.vf}) a nebolo +by dobré prehľadávaÅ¥ kvôli nim celý disk. Preto, ak zabudnete +aktualizovaÅ¥ \file{ls-R} pri inÅ¡talácii nového \samp{.vf} súboru, +súbor nebude nikdy nájdený. Každý element cesty sa prekontroluje: najprv +databáza, potom disk. KeÄ je súbor nájdený, vyhľadávanie sa zastavà +a výsledok je vrátený. + +Hoci najjednoduchÅ¡Ã a najbežnejÅ¡Ã element cesty je meno adresáru, +\KPS{} podporuje aj iné zdroje vo vyhľadávacÃch cestách: dediÄné +(layered) Å¡tandardné hodnoty, mená premenných prostredia, hodnoty +súboru \file{config}, domáce adresáre použÃvateľov a rekurzÃvne +prehľadávanie podadresárov. Preto, ak hovorÃme, že \KPS{} +\emph{rozbalÃ} element cesty, znamená to, že pretransformuje vÅ¡etky +Å¡pecifikácie do základného mena alebo mien adresárov. Toto je +popÃsané v~nasledujúcich odsekoch. + +VÅ¡imnite si, že keÄ je meno hľadaného súboru vyjadrené absolútne +alebo explicitne relatÃvne, t.\,j.\ zaÄÃna \samp{/} alebo \samp{./} +alebo \samp{../}, \KPS{} jednoducho skontroluje, Äi taký súbor +existuje. +\ifSingleColumn +\else +\begin{figure*} +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{IlustraÄný prÃklad konfiguraÄného súboru} + \label{fig:configsample} +\end{figure*} +\fi + +\subsubsection{Zdroje cesty} +\label{sec:pathsources} +Vyhľadávacia cesta môže byÅ¥ vytvorená z~rôznych zdrojov. +\KPS{} ich použÃva v~tomto poradÃ: +\begin{enumerate} +\item + PoužÃvateľom nastavená premenná prostredia, naprÃklad \envname{TEXINPUTS}\@. + Premenné prostredia s~pridanou bodkou a menom programu majú prednosÅ¥ pred +premennými rovnakého mena, ale bez prÃpony. + NaprÃklad, keÄ \samp{latex} je meno práve bežiaceho programu, potom + premenná \envname{TEXINPUTS.latex} prepÃÅ¡e \envname{TEXINPUTS}. +\item + Programovo-Å¡pecifický konfiguraÄný súbor, naprÃklad riadok + \singleuv{\texttt{S /a:/b}} v~súbore \file{config.ps} \cmdname{dvips}. +\item KonfiguraÄný súbor \KPS{} \Dash{} \file{texmf.cnf}, obsahujúci riadok + ako \samp{TEXINPUTS=/c:/d} (pozri Äalej). +\item Predvolené hodnoty poÄas kompilácie. +\end{enumerate} +\noindent VÅ¡etky tieto hodnoty vyhľadávacej cesty môžete prezeraÅ¥ +použitÃm ladiacÃch možnostà (pozri \singleuv{Ladenie} na +strane~\pageref{sec:debugging}). + +\subsubsection{KonfiguraÄné súbory} + +\KPS{} ÄÃta poÄas behu z~\emph {konfiguraÄných súborov} +s~menom \file{texmf.cnf} vyhľadávaciu cestu a ÄalÅ¡ie definÃcie. +Vyhľadávacia cesta použÃvaná na hľadanie týchto súborov sa +volá \envname{TEXMFCNF}, ale neodporúÄame nastavovaÅ¥ túto (ani iné) +premennú prostredia. + +Namiesto toho normálna inÅ¡talácia vyústi do súboru +\file{.../2012/texmf.cnf}. Ak musÃte vykonaÅ¥ zmeny implicitných +nastavenà (obyÄajne to nie je nutné), toto je miesto, kam sa majú vložiÅ¥. +Hlavný konfiguraÄný súbor je \file{.../2012/texmf/web2c/texmf.cnf}. +Nesmiete editovaÅ¥ tento neskorÅ¡Ã súbor, pretože vaÅ¡e zmeny budú stratené +pri obnove Å¡Ãrenej verzie. + +\emph{VÅ¡etky} súbory +\file{texmf.cnf} vo vyhľadávacej ceste budú preÄÃtané a definÃcie +v~starÅ¡Ãch súboroch prepÃÅ¡u definÃcie v~novÅ¡Ãch súboroch. +NaprÃklad, pri vyhľadávacej ceste \verb|.:$TEXMF|, +hodnoty z~\file{./texmf.cnf} prepÃÅ¡u hodnoty z~\verb|$TEXMF/texmf.cnf|. + +\begin{itemize} +\item + Komentáre zaÄÃnajú znakom \singleuv{\texttt{\%}} a pokraÄujú do konca + riadku. +\item + Prázdne riadky sú ignorované. +\item + Znak \bs{} na konci riadku slúži ako pokraÄovacà znak, t.j.\ + nasledujúci riadok je k~nemu pripojený. Prázdne znaky na zaÄiatku + pripájaných riadkov nie sú ignorované. +\item + VÅ¡etky ostatné riadky majú tvar: +\begin{alltt} + \var{variable}[.\var{progname}] [=] \var{value} +\end{alltt}% + kde \samp{=} a prázdne znaky naokolo sú nepovinné. +\item + Meno premennej \singleuv{\texttt{\var{variable}}} môže obsahovaÅ¥ + akékoľvek znaky okrem prázdnych znakov, \samp{=}, alebo \samp{.}, + ale obmedziÅ¥ sa na znaky \samp{A-Za-z\_} je najbezpeÄnejÅ¡ie. +\item + Ak je \singleuv{\texttt{.\var{progname}}} neprázdne, definÃcia sa + použije iba vtedy, keÄ práve bežiaci program má meno + \texttt{\var{progname}} alebo \texttt{\var{progname}.exe}. + Toto umožňuje naprÃklad maÅ¥ pre rôzne nadstavby \TeX u rôzne + vyhľadávacie cesty. +\item Hodnota \singleuv{\texttt{\var{value}}} môže obsahovaÅ¥ akékoľvek + znaky okrem \singleuv{\texttt{\%}} a \samp{@}. Na pravej strane nie je + možné použiÅ¥ \singleuv{\texttt{\$\var{var}.\var{prog}}}; namiesto toho + musÃte použiÅ¥ ÄalÅ¡iu premennú. Znak \samp{;} vo + \singleuv{\texttt{\var{value}}} je preložený do \samp{:} ak sme pod + operaÄným systémom Unix. Toto je užitoÄné, keÄ chceme maÅ¥ jediný + \file{texmf.cnf} súbor pre systémy Unix, MSDOS a Windows. +\item + VÅ¡etky definÃcie sú preÄÃtané skôr, ako sa expandujú. Preto môžu + existovaÅ¥ referencie na premenné skôr, ako sú tieto definované. +\end{itemize} +Ukážkový úsek konfiguraÄného súboru, ilustrujúci väÄÅ¡inu +týchto bodov\ifSingleColumn +\ignorespaces: +\verbatiminput{examples/ex5.tex} +\else +\space je na obrázku~\ref{fig:configsample}. +\fi + +\subsubsection{Expanzia cesty} +\label{sec:pathexpansion} + +\KPS{} rozpoznáva urÄité zvláštne znaky a konÅ¡trukcie vo +vyhľadávacÃch cestách podobné tým, Äo existujú v~prostrediach +unixovských interprétov prÃkazového riadku (shells). Ako vÅ¡eobecný +prÃklad uvedieme komplexnú cestu \verb+~$USER/{foo,bar}//baz+, %$ +ktorá sa expanduje do vÅ¡etkých podadresárov pod adresármi +\file{foo} a \file{bar} +v~domovskom adresári použÃvateľa \texttt{\$USER}, ktorý obsahuje +adresár alebo súbor \file{baz}. Tieto konÅ¡trukcie sú popÃsané +v~ÄalÅ¡Ãch odsekoch. +\subsubsection{Predvolená expanzia} +\label{sec:defaultexpansion} + +Ak vyhľadávacia cesta s~najväÄÅ¡ou prioritou (pozri \singleuv{Zdroje cesty} +na strane~\pageref{sec:pathsources}) obsahuje \emph{dvojbodku +navyÅ¡e} (t.j.\ zaÄiatoÄnú, koncovú, alebo zdvojenú), \KPS{} vložà na +toto miesto vyhľadávaciu cestu s~druhou najvyÅ¡Å¡ou prioritou, ktorá +je definovaná. Ak táto vložená cesta obsahuje dvojbodku navyÅ¡e, to +isté sa stane s~ÄalÅ¡ou najvýznamnejÅ¡ou cestou. Keby sme mali +naprÃklad dané takéto nastavenie premennej prostredia +\begin{alltt} +>> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} +a hodnotu \code{TEXINPUTS} v~súbore \file{texmf.cnf} +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} +potom koneÄná hodnota použitá na vyhľadávanie by bola: +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} +KeÄže by bolo zbytoÄné vkladaÅ¥ predvolenú hodnotu na viac ako jedno +miesto, \KPS{} menà iba nadbytoÄnú \samp{:}\ a vÅ¡etko ostatné +ponecháva na mieste. Najprv kontroluje zaÄiatoÄnú \samp{:}, potom +koncovú \samp{:} a potom zdvojenú \samp{:}. + +\subsubsection{Expanzia zátvoriek} +\label{sec:brace-expansion} + +UžitoÄná Ärta je expanzia zátvoriek, ktorá funguje tak, že +naprÃklad \verb+v{a,b}w+ sa expanduje na \verb+vaw:vbw+. Vnáranie je +povolené. Toto sa použÃva na implementáciu viacnásobných +\TeX{}ovských hierarchiÃ, priradenÃm hodnoty \code{\$TEXMF} +s~použitÃm zátvoriek. NaprÃklad v~súbore \file{texmf.cnf} nájdete +definÃciu podobnú tejto (zjednoduÅ¡enú pre tento prÃklad): +\begin{verbatim} + TEXMF = {$HOMETEXMF,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN} +\end{verbatim} +KeÄ potom napÃÅ¡ete nieÄo podobné ako +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +bude to znamenaÅ¥, že po hľadanà v~aktuálnom adresári sa najprv prehľadá celý +strom \code{\$HOMETEXMF/tex}, \code{\$TEXMFLOCAL/tex}, +\code{\$TEXMFVAR/tex} a \code{\$TEXMFMAIN/tex} (posledné dva +s~použitÃm databázových súborov \file{ls-R}). Je to vhodný spôsob ako +spúšťaÅ¥ dve paralelné \TeX{} Å¡truktúry, jednu nemennú +(naprÃklad na \CD) a druhú neustále aktualizovanú novými +verziami, akonáhle sú dostupné. PoužitÃm premennej +\code{\$TEXMF} vo vÅ¡etkých definÃciách máme istotu, že sa vždy ako +prvý prehľadá aktuálny strom. + +\subsubsection{Expanzia podadresárov} +\label{sec:subdirectory.expansion} + +Dva alebo viac za sebou nasledujúcich znakov \samp{/} +v~elemente cesty nasledujúcom za adresárom \var{d} je nahradených vÅ¡etkými +podadresármi \var{d}: najprv podadresármi priamo pod \var{d}, potom +podadresármi pod nimi, atÄ. Poradie, v~akom sú prehľadávané +podadresáre na každej úrovni, \emph{nie je Å¡pecifikované}. + +Ak po \samp{//} Å¡pecifikujete akékoľvek komponenty mena súboru, +pridajú sa iba pod\-adre\-sáre so zodpovedajúcimi komponentami. +NaprÃklad, \samp{/a//b} sa expanduje do +adresárov \file{/a/1/b}, \file{/a/2/b}, +\file{/a/1/1/b}, atÄ, ale nie do \file{/a/b/c} alebo \file{/a/1}. + +Viacnásobné konÅ¡trukcie \samp{//} v~ceste sú možné, ale +použitie \samp{//} na zaÄiatku cesty je ignorované. + +\subsubsection{Typy Å¡peciálnych znakov a ich význam: zhrnutie} +Nasledujúci zoznam zahŕňa %B% význam +zvláštne znaky v~konfiguraÄných +súboroch \KPS{}. + +% need a wider space for the item labels here. 3em instead of 2em +\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} +\begin{description} +\item[\CODE{:}]OddeľovaÄ v~Å¡pecifikácii cesty; na zaÄiatku alebo + na konci cesty nahrádza predvolenú expanziu cesty.\par +\item[\CODE{;}]OddeľovaÄ v~neunixových systémoch (správa sa ako + \samp{:}). +\item[\CODE{\$}]Expanzia premennej. +\item[\CODE{\string~}] Reprezentuje domovský adresár použÃvateľa. +\item[\CODE{\char`\{...\char`\}}] Expanzia zátvoriek, napr.\ + z~\verb+a{1,2}b+ sa stane \verb+a1b:a2b+. +\item[\CODE{//}] Expanzia podadresárov. (Môže sa + vyskytnúť kdekoľvek v~ceste, okrem jej zaÄiatku). +\item[\CODE{\%}] ZaÄiatok komentáru. +\item[\CODE{\bs}] Znak pokraÄovania riadku (umožňuje viacriadkové vstupy). +\item[\CODE{!!}] Povel na hľadanie súboru \emph{iba} v~databáze, + neprehľadáva disk. +\end{description} + +\subsection{Databázy názvov súborov} +\label{sec:filename.database} + +\KPS{} minimalizuje prÃstupy na disk pri vyhľadávanÃ. Predsa vÅ¡ak +pri inÅ¡taláciách s~dostatoÄným množstvom adresárov hľadanie súboru +v~každom možnom adresári môže zabraÅ¥ prehnane veľa Äasu (toto platà +zvlášť vtedy, keÄ musia byÅ¥ prejdené stovky adresárov s~fontami). +\KPS{} preto použÃva externe vytvorený \singleuv{databázový} súbor +nazývaný \file{ls-R}, ktorý mapuje súbory v~adresároch a pomáha tak +vyhnúť sa vyÄerpávajúcemu prehľadávaniu disku. + +Skratky mien (\file{aliases}) v~druhom databázovom súbore vám +umožňujú daÅ¥ dodatoÄné mená súborom nachádzajúcim sa +v~zozname \file{ls-R}. Toto môže byÅ¥ užitoÄné pri prispôsobovanà sa +súborovým konvenciám 8.3 DOSu v~zdrojových súboroch. + +\subsubsection{Súborová databáza} +\label{sec:ls.R} + +Ako bolo vysvetlené hore, meno hlavnej databázy súborov musà +byÅ¥ \file{ls-R}. Môžete umiestniÅ¥ jednu do koreňa každej hierarchie +\TeX u{} vo svojej inÅ¡talácii, ktorú chcete, aby bola prehľadávaná +(predvolená je \code{\$TEXMF}). +%; väÄÅ¡inou sa jedná iba o~jednu hierarchiu. +\KPS{} hľadá \file{ls-R} súbory podľa cesty +v~\code{TEXMFDBS}. + +OdporúÄaný spôsob ako vytvoriÅ¥ a udržiavaÅ¥ \samp{ls-R} je spustiÅ¥ +skript \code{mktexlsr} zahrnutý v~distribúcii. Je vyvolávaný +rôznymi \samp{mktex...} skriptami. Tento skript v~princÃpe iba +spúšťa prÃkaz +\begin{alltt} +cd \var{/your/texmf/root} && \path|\|ls -1LAR ./ >ls-R +\end{alltt} +predpokladajúc, že \code{ls} vášho systému vytvára správny výstup +(výstup \GNU \code{ls} je v~poriadku). Aby ste sa ubezpeÄili, +že databáza bude vždy aktuálna, najjednoduchÅ¡ie je pravidelne ju +prebudovávaÅ¥ cez \code{cron}, +takže po zmenách v~inÅ¡talovaných +súboroch \Dash\ naprÃklad pri inÅ¡talácii alebo aktualizácii balÃka +\LaTeX u{} \Dash\ bude súbor \file{ls-R} automaticky aktualizovaný. + +Ak súbor nie je v~databáze nájdený, podľa predvoleného nastavenia +\KPS{} zaÄne vyhľadávaÅ¥ na disku. Ak vÅ¡ak urÄitý element cesty +zaÄÃna \samp{!!}, bude prehľadávaná \emph{iba} databáza, nikdy nie +disk. + +\subsubsection{kpsewhich: samostatné prehľadávanie cesty} +\label{sec:invoking.kpsewhich} + +Program \texttt{kpsewhich} vykonáva prehľadávanie cesty nezávislé +od každej aplikácie. Môže byÅ¥ užitoÄný ako vyhľadávacà \code{find} +program na nájdenie súborov v~hierarchiách \TeX u{} (veľmi sa +využÃva v~distribuovaných \samp{mktex}\dots\ skriptoch). + +\begin{alltt} +>> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} +\end{alltt} +Voľby Å¡pecifikované v~\singleuv{\texttt{\var{option}}} môžu zaÄÃnaÅ¥ buÄ +\samp{-} alebo \samp{-{}-} a každá skratka, ktorá nie je viacznaÄná, je +akceptovaná. + +\KPS{} považuje každý element vstupného riadku, ktorý nie je +argumentom nejakej voľby, za meno súboru, ktorý hľadá, a +vracia prvý súbor, ktorý nájde. Neexistuje voľba umožňujúca +vrátiÅ¥ vÅ¡etky súbory s~urÄitým menom (na to môžete použiÅ¥ +nástroj Unixu \samp{find}). + +NajbežnejÅ¡ie voľby sú popÃsané nižšie. +\begin{description} +\item[\CODE{--dpi=num}]\hfill\break + Nastav rozlÃÅ¡enie na \singleuv{\texttt{\var{num}}}; toto má vplyv iba na + \samp{gf} a \samp{pk} vyhľadávanie. \samp{-D} je synonymom, kvôli + kompatibilite s~\cmdname{dvips}. Predvolená hodnota je~600. +\item[\CODE{--format=name}]\hfill\break + Nastav formát na vyhľadávanie na \singleuv{\texttt{\var{name}}}. Podľa + predvoleného nastavenia je formát uhádnutý z~mena súboru. Pre formáty, +ktoré nemajú asociovanú jednoznaÄnú prÃponu, ako naprÃklad podporné + súbory \MP u a konfiguraÄné súbory \cmdname{dvips}, musÃte + Å¡pecifikovaÅ¥ meno ako známe pre \KPS{}, také ako + \texttt{tex} alebo \texttt{enc files}. Zoznam zÃskate spustenÃm + \texttt{kpsewhich -{}-help}. + +\item[\texttt{--mode=\var{string}}]\mbox{}\\ + Nastav meno módu na \singleuv{\texttt{\var{string}}}; toto má vplyv iba na + \samp{gf} a \samp{pk} vyhľadávanie. Žiadna predvolená hodnota: + každý mód bude nájdený. +\item[\texttt{--must-exist}]\mbox{}\\ + Urob vÅ¡etko preto, aby si naÅ¡iel súbory. Ak je to potrebné, +vrátane hľadania na disku. Normálne je v~záujme efektÃvnosti + prehľadávaná iba databáza \file{ls-R}. +\item[\texttt{--path=\var{string}}]\mbox{}\\ + Vyhľadávaj podľa cesty \singleuv{\texttt{\var{string}}} (oddeľovaná dvojbodkou + ako zvyÄajne) namiesto hádania vyhľadávacej cesty z~mena súboru. + Podporované sú \samp{//} a vÅ¡etky bežné expanzie. Voľby \samp{--path} + a \samp{--format} sa vzájomne vyluÄujú. +\item[\texttt{--progname=\var{name}}]\mbox{}\\ + Nastav meno programu na \singleuv{\texttt{\var{name}}}. Toto nastavenie ovplyvňuje + použitie vyhľadávacej cesty cez nastavenie \singleuv{\texttt{.\var{progname}}} + v~konfiguraÄných súboroch. Predvolená hodnota je \samp{kpsewhich}. +\item[\texttt{--show-path=\var{name}}]\mbox{}\\ + Zobrazà cestu použitú na vyhľadávanie súboru s~typom +\singleuv{\texttt{\var{name}}}. + Môže byÅ¥ použitá buÄ súborová prÃpona (\samp{.pk}, \samp{.vf} a pod.) + alebo meno, podobne ako vo voľbe \samp{--format}. +\item[\texttt{--debug=\var{num}}]\mbox{}\\ + Nastavà masku výberu ladiacÃch možnostà na \singleuv{\texttt{\var{num}}}. +\end{description} + +\subsubsection{PrÃklady použitia} +\label{sec:examplesofuse} + +Pozrime sa na \KPS{} v~akcii. Za podÄiarknutým prÃkazom nasleduje +výsledok vyhľadávania v~nasledujúcich riadkoch. +\begin{alltt} +> \Ucom{kpsewhich article.cls} +/usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} +Hľadáme súbor \file{article.cls}. KeÄže prÃpona \samp{.cls} je +jednoznaÄná, nemusÃme Å¡pecifikovaÅ¥, že hľadáme súbor typu \singleuv{tex} +(zdrojový súbor \TeX{}). Nájdeme ho v~podadresári +\file{tex/latex/base} pod koreňovým adresárom +\samp{TEXMF-dist}. Podobne, vÅ¡etky nasledujúce súbory budú nájdené bez +problémov vÄaka ich jednoznaÄnej prÃpone. +\begin{alltt} +> \Ucom{kpsewhich array.sty} + /usr/local/texmf-dist/tex/latex/tools/array.sty +> \Ucom{kpsewhich latin1.def} + /usr/local/texmf-dist/tex/latex/base/latin1.def +> \Ucom{kpsewhich size10.clo} + /usr/local/texmf-dist/tex/latex/base/size10.clo +> \Ucom{kpsewhich small2e.tex} + /usr/local/texmf-dist/tex/latex/base/small2e.tex +> \Ucom{kpsewhich tugboat.bib} + /usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib +\end{alltt} + +Mimochodom, posledným súborom je bibliografická databáza \BibTeX u pre +Älánky \textsl{TUGBoatu}. + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} +Bitmapové súbory fontov typu \file{.pk} sa použÃvajú zobrazovacÃmi +programami ako \cmdname{dvips} a \cmdname{xdvi}. V~tomto prÃpade +je vrátený prázdny výsledok, keÄže neexistujú žiadne vopred +generované Computer Modern \samp{.pk} súbory v~naÅ¡om systéme +(vzhľadom na to, že v~\TL{} implicitne použÃvame verzie Type1 ). +\begin{alltt} +> \Ucom{kpsewhich wsuipa10.pk} +\ifSingleColumn /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk +\else /usr/local/texmf-var/fonts/pk/ljfour/public/ +... wsuipa/wsuipa10.600pk +\fi\end{alltt} +Pre tieto fonty (fonetickú abecedu z~University of Washington) sme museli vygenerovaÅ¥\ +\samp{.pk} súbory. KeÄže predvolený mód \MF u v~naÅ¡ej inÅ¡talácii +je \texttt{ljfour} so základným rozlÃÅ¡enÃm 600~dpi (dots per inch), +je vrátená táto inÅ¡tancia. +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} +V~tomto prÃpade po Å¡pecifikovanÃ, že nás zaujÃma rozlÃÅ¡enie 300~dpi +(\texttt{-dpi=300}), vidÃme, že taký font nie je v~systéme +k~dispozÃcii. Programy ako \cmdname{dvips} alebo \cmdname{xdvi} +by v~tomto prÃpade vytvorili požadované \texttt{.pk} súbory, použijúc skript \cmdname{mktexpk}. + +Teraz obráťme naÅ¡u pozornosÅ¥ na hlaviÄkové a konfiguraÄné súbory +\cmdname{dvips}. Najprv sa pozrieme na jeden z~bežne použÃvaných +súborov, vÅ¡eobecný prológový \file{tex.pro} na pod\-poru \TeX u{}, +potom pohľadáme konfiguraÄný súbor (\file{config.ps}) a +PostScriptovú mapu fontov \file{psfonts.map} \Dash %B% as of 2004, +mapové a kódové súbory majú svoje vlastné cesty na vyhľadávanie a nové umiestnenie v~stromoch \dirname{texmf}. +KeÄže prÃpona +\samp{.ps} je ne\-jed\-no\-znaÄná, musÃme pre súbor \texttt{config.ps} +Å¡pecifikovaÅ¥ explicitne, o ktorý typ sa zaujÃmame (\optname{dvips +config}). +\begin{alltt} +> \Ucom{kpsewhich tex.pro} + /usr/local/texmf/dvips/base/tex.pro +> \Ucom{kpsewhich --format=`dvips config' config.ps} + /usr/local/texmf/dvips/config/config.ps +> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map +\end{alltt} +Teraz sa pozrieme na podporné súbory URW Times PostScript. +V~Berryho schéme meno pre +tieto pomenovania fontov je \uv{\texttt{utm}}. Prvý +súbor, ktorý hľadáme, je konfiguraÄný súbor, ktorý obsahuje meno +mapového súboru: +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" config.utm} + /usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} +Obsah tohoto súboru je +\begin{alltt} + p +utm.map +\end{alltt} +Äo odkazuje na súbor \file{utm.map}, ktorý ideme Äalej hľadaÅ¥. +\begin{alltt} +> \Ucom{kpsewhich utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} +Tento mapový súbor definuje mená súborov fontov typu Type1 +PostScript v~kolekcii URW. Jeho obsah vyzerá takto (zobrazili sme +iba jeho ÄasÅ¥): +\begin{alltt} + utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb + utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb + utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb + utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb + utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb + utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} +Zoberme naprÃklad inÅ¡tanciu Times Regular \file{utmr8a.pfb} a +nájdime jej pozÃciu v~adresárovom strome \file{texmf} použitÃm +vyhľadávania fontových súborov Type1: +\begin{alltt} +> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +\else /usr/local/texmf-dist/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + +Z~týchto prÃkladov by malo byÅ¥ zrejmé, ako ľahko môžete nájsÅ¥ +umiestnenie daného súboru. Toto je zvlášť dôležité, keÄ máte +podozrenie, že ste narazili na zlú verziu súboru, +pretože \cmdname{kpsewhich} emuluje vyhľadávanie +úplne rovnakým spôsobom ako skutoÄný program (\TeX{}, dvips a pod). + +\subsubsection{Ladiace Äinnosti} +\label{sec:debugging} +Niekedy je potrebné vyÅ¡etriÅ¥, ako program rozpoznáva referencie na +súbory. Aby toto bolo možné vhodne uskutoÄniÅ¥, \KPS{} ponúka rôzne +stupne ladenia: +\begin{itemize} +\item[\texttt{\ 1}] Volania \texttt{stat} (testy súborov). Pri behu + s~aktuálnou \file{ls-R} databázou by nemal daÅ¥ takmer žiaden výstup. +\item[\texttt{\ 2}] Referencie do haÅ¡ovacÃch tabuliek (ako \file{ls-R} + databázy, mapové súbory, konfiguraÄné súbory). +\item[\texttt{\ 4}] Operácie otvárania a zatvárania súboru. +\item[\texttt{\ 8}] VÅ¡eobecná informácia o ceste pre typy súborov + hľadaných \KPS. Toto je užitoÄné pri zisÅ¥ovanÃ, kde bola definovaná + urÄitá cesta pre daný súbor. +\item[\texttt{16}] Adresárový zoznam pre každý element cesty (vzÅ¥ahuje + sa iba na vyhľadávanie na disku). +\item[\texttt{32}] Vyhľadávanie súborov. +\item[\texttt{64}] Premenlivé hodnoty. +\end{itemize} +Hodnota \texttt{-1} nastavà vÅ¡etky horeuvedené voľby, v~praxi +pravdepodobne vždy použijete tieto úrovne, ak budete potrebovaÅ¥ +akékoľvek ladenie. + +Podobne s~programom \cmdname{dvips} nastavenÃm kombinácie +ladiacich prepÃnaÄov môžete detailne sledovaÅ¥, odkiaľ sa berú +použÃvané súbory. Aktuálny popis parametrov je možné nájsÅ¥ +v~\path{../texmf/doc/html/dvips/dvips_2.html}. AlternatÃvne, +keÄ súbor nie je nájdený, +ladiaca cesta ukazuje, v~ktorých adresároch program daný súbor +hľadal, Äo môže naznaÄovaÅ¥, v~Äom sa asi vyskytol problém. +VÅ¡eobecne povedané, keÄže väÄÅ¡ina programov volá knižnicu \KPS{} +vnútorne, ladiace voľby je možné nastaviÅ¥ pomocou premennej +prostredia \envname{KPATHSEA\_DEBUG} na potrebnú kombináciu, ako je +to popÃsané v~horeuvedenom zozname. +(Poznámka pre použÃvateľov Windows: nie je jednoduché +presmerovaÅ¥ vÅ¡etky hlášky v~tomto systéme do súboru. +Na diagnostické úÄely môžete doÄasne priradiÅ¥\hfill\\ +\texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log}). +Uvažujme ako prÃklad malý zdrojový súbor +\LaTeX u{}, \file{hello-world.tex}, ktorý obsahuje nasledujúci vstup. +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +Tento malý súbor použÃva iba font \file{cmr10}, takže pozrime sa, +ako \cmdname{dvips} pripravuje PostScriptový súbor (chceme použiÅ¥ +Type1 verziu pÃsiem Computer Modern, preto je nastavená +voľba \texttt{-Pcms}\footnote{Od verzie \TL{}~7 nie +je nutné túto voľbu nastavovaÅ¥, pretože Type~1 fonty sú +naÄÃtané implicitne.}. +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +V~tomto prÃpade sme skombinovali \cmdname{dvips} ladiacu +triedu~4 (cesty k~fontom) s~expanziou elementu cesty \KPS\ +(pozri ReferenÄný Manuál +\cmdname{dvips}, \OnCD{texmf/doc/html/dvips/dvips_toc.html}). +%\ifSingleColumn +%We get something +%like the following (we have rearranged the output for easier display): +%\begin{alltt}\small +%\input{examples/ex6.tex} +%\end{alltt} +%\else +Výstup, trochu preusporiadaný, je zobrazený na obrázku~\ref{fig:dvipsdbga}. + +\begin{figure*}[tp] +\centering +\input{examples/ex6a.tex} +\caption{Hľadanie konfiguraÄných súborov}\label{fig:dvipsdbga} + +\bigskip + +\input{examples/ex6b.tex} +\caption{Hľadanie \singleuv{prolog} súboru}\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{Hľadanie súboru fontu}\label{fig:dvipsdbgc} +\end{figure*} + +%\input{examples/ex6skfromtl6.tex} % TODO: Janka -- treba aktualizovat +% z ../examples/ex6*.tex + +\cmdname{dvips} zaÄne lokáciou svojich pracovných súborov. Najprv je +nájdený \file{texmf.cnf}, ktorý obsahuje definÃcie vyhľadávacÃch +ciest ostatných súborov, potom databáza súborov \file{ls-R} (na +optimalizáciu vyhľadávania súborov) a skratky mien súborov +(\file{aliases}), Äo robà možným deklarovaÅ¥ viacero mien (napr.\ +krátke meno typu \singleuv{8.3} ako v~\acro{DOS}e a dlhÅ¡iu prirodzenejÅ¡iu +verziu) pre ten istý súbor. Potom \cmdname{dvips} pokraÄuje +v~hľadanà vÅ¡eobecného konfiguraÄného súboru \file{config.ps} skôr, +ako zaÄne hľadaÅ¥ súbor nastavenà \file{.dvipsrc} (ktorý, v~tomto +prÃpade, \emph{nie je nájdený}). Nakoniec, \cmdname{dvips} nájde +konfiguraÄný súbor pre font Computer Modern PostScript, +\file{config.cms} (toto bolo iniciované voľbou\texttt{-Pcms} +v~prÃkaze \cmdname{dvips}). Tento súbor obsahuje zoznam \uv{mapových} +súborov, ktoré definujú vzÅ¥ah medzi menami fontov v~\TeX u, +PostScripte a systéme súborov. +\begin{alltt} +> \Ucom{more /usr/local/texmf/dvips/cms/config.cms} + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map +\end{alltt} +\cmdname{dvips} preto pokraÄuje v~hľadanà vÅ¡etkých týchto súborov plus +vÅ¡eobecného mapového súboru \file{psfonts.map}, ktorý sa naÄÃta +vždy (obsahuje deklarácie bežne použÃvaných PostScriptových fontov; +pozri poslednú ÄasÅ¥ sekcie~\ref{sec:examplesofuse}, kde sa nachádza +viac detailov o narábanà s~mapovými súbormi PostScriptu). + +V~tomto bode sa \cmdname{dvips} identifikuje použÃvateľovi\,\ldots +\begin{alltt}\ifSingleColumn +This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) +\else\small{}This is dvips(k) 5.92b Copyright 2002 Radical Eye ... +\fi\end{alltt}% decided to accept slight overrun in tub case +\ifSingleColumn +\noindent\ldots potom pokraÄuje v~hľadanà prológového súboru +\file{texc.pro}: + +\begin{alltt}\small +kdebug:start search(file=texc.pro, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). + kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro +\end{alltt} +\else +potom pokraÄuje v~hľadanà prológového súboru +\file{texc.pro} (pozri obrázok~\ref{fig:dvipsdbgb}). +\fi + +Po nájdenà tohoto súboru, \cmdname{dvips} vypÃÅ¡e na výstup dátum a +Äas a informuje nás, že vygeneruje súbor \file{hello-world.ps}, že +potrebuje súbor s~fontom \file{cmr10}, ktorý bude deklarovaný ako +\uv{rezidentný}: +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} +Teraz sa rozbehne hľadanie súboru \file{cmr10.tfm}, ktorý je +nájdený, potom je referencovaných eÅ¡te niekoľko prológových súborov +(nezobrazené) a nakoniec je nájdená inÅ¡tancia fontu +Type1, \file{cmr10.pfb}, ktorá je pridaná do výstupného súboru +(pozri posledný riadok). +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{Možnosti nastavenia za behu programu} + +ÄŽalÅ¡ou z~pekných ÄÅ•t distribúcie \Webc{} je možnosÅ¥ kontroly +množstva pamäťových parametrov (najmä veľkosti polÃ) za behu +prostrednÃctvom súboru \file{texmf.cnf}, +ktorý ÄÃta knižnica \KPS{}. Nastavenia vÅ¡etkých parametrov môžete +nájsÅ¥ v~Äasti~3 tohto súboru. NajdôležitejÅ¡ie riadiace +premenné (ÄÃsla riadkov sa vzÅ¥ahujú na súbor \file{texmf.cnf}): + +\begin{description} +\item[\texttt{main\_memory}] + Celkový poÄet dostupných slov v~pamäti pre \TeX{}, \MF{} a \MP. + MusÃte vytvoriÅ¥ nový formátový súbor pre každé odliÅ¡né nastavenie. + NaprÃklad môžete vygenerovaÅ¥ \uv{obrovskú} verziu \TeX u{} + a zavolaÅ¥ súbor s~formátom \texttt{hugetex.fmt}. S~po\-užitÃm + Å¡tandardnej Å¡pecifikácie mena programu použÃvaného knižnicou + \KPS{}, konkrétna hodnota premennej \texttt{main\_memory} sa naÄÃta zo + súboru \file{texmf.cnf}. + %B% (porovnaj vÅ¡eobecnú hodnotu a \uv{obrovskú} hodnotu, ktorá sa inÅ¡tancuje cez \texttt{hugetex}, atÄ.). +\item[\texttt{extra\_mem\_bot}] + DodatoÄný priestor pre \uv{veľké} dátové Å¡truktúry \TeX u{}: + \uv{boxy}, \uv{glue}, \uv{break\-point(y)} a podobne. + Je to užitoÄné hlavne ak použÃvate \PiCTeX{}. +\item[\texttt{font\_mem\_size}] + PoÄet dostupných slov pre informáciu o fontoch v~\TeX u. Toto je + viac-menej celková veľkosÅ¥ vÅ¡etkých preÄÃtaných \acro{TFM} súborov. +\item[\texttt{hash\_extra}] + DodatoÄný priestor pre haÅ¡ovaciu tabuľku mien riadiacej sekvencie. + Len $\approx$10\,000 riadiacich sekvencià môže byÅ¥ uložených v~hlavnej + haÅ¡ovacej tabuľke; ak máte veľkú knihu s~mnohými krÞovými odkazmi, + toto nemusà staÄiÅ¥. Implicitná hodnota \texttt{hash\_extra} je \texttt{50000}. + %B% VidÃte, že obidve volania programov \cmdname{hugetex} a \cmdname{pdftex} požadujú + %B% dodatoÄných 15\,000 riadiacich sekvencià (preddefinovaná hodnota + %B% hash\_extra je nula). +\end{description} +Samozrejme, tento prvok nemôže nahradiÅ¥ naozajstné dynamické polia +a alokácie pamäte, ale keÄže tieto sa veľmi Å¥ažko implementujú +v~súÄasnej verzii \TeX u, tieto parametre poÄas behu programu +poskytujú praktický kompromis, ktorý dovoľuje aspoň nejakú +flexi\-bilitu. +\end{otherlanguage} + +\begin{comment} +\section{PÅ™eklad pro novou unixovou platformu} +Pokud použÃváte platformu, pro kterou neposkytujeme binárky, nezbude vám +nic jiného, než si je vytvoÅ™it ze zdrojáků sami. +Nenà to tak těžké, jak se traduje Äi zdá. VÅ¡e, co je tÅ™eba, najdete +v~adresáři \texttt{source} distribuce. + +\subsection{PÅ™edpoklady úspÄ›chu} +Budete potÅ™ebovat alespoň 100~Mebibytů diskového prostoru na kompilaci +celého \TeX{}u a podpůrných programů. Budete také potÅ™ebovat kompilátor +\acro{ANSI}~C, program \cmdname{make}, lexikálnà analyzátor a generátor +pÅ™ekladaÄe. DoporuÄujeme \GNU{} verze tÄ›chto programů +(\cmdname{gcc}, \GNU \cmdname{make}, \cmdname{m4}, \cmdname{flex}, +\cmdname{bison}). Možná uspÄ›jete i s~jinými verzemi kompilátoru~C, +programu \cmdname{make} a dalÅ¡Ãch programů, ale budete potÅ™ebovat +dobrou znalost kompilace unixových programů pro Å™eÅ¡enà kolizÃ. +Také pÅ™Ãkaz \texttt{uname} musà vracet rozumné hodnoty. + +\subsection{Konfigurace} + +Pro zaÄátek proveÄte normálnà instalaci \TL{} na váš disk (viz +oddÃl~\ref{sec:install.disk} na +stranÄ›~\pageref{sec:install.disk}). Můžete pÅ™eskoÄit instalaci +vÅ¡ech pÅ™edkompilovaných binárek. + +Potom rozbalte zdroje z~komprimovaného \texttt{tar} archÃvu z~adresáře +\dirname{source} na svůj disk a pÅ™ejdÄ›te do adresáře, kam jste zdroje +rozbalili. + +Potom spusÅ¥te program \cmdname{configure} napÅ™Ãklad takto: +\begin{alltt} +> \Ucom{sh configure -prefix=/usr/local/TeX} +\end{alltt} + +Adresář udaný pÅ™epÃnaÄem \optname{-prefix} je ten, kam jste instalovali +pomocný texmf strom; struktura adresářů bude jak je popsáno nÞe (pÅ™iÄemž +\$TEXDIR je adresář, který jste zvolili): + +\noindent +\begin{tabularx}{\textwidth}{@{}>{\ttfamily}lX@{}} + \dirname{$TEXDIR/share/texmf} & hlavnà strom s~fonty, makry, atp.\\ + \dirname{$TEXDIR/man} & unixové manuálové stránky\\ + \dirname{$TEXDIR/info} & \GNU style Info manuály\\ + \dirname{$TEXDIR/bin/$PLATFORM} & binárky +\end{tabularx} +%$ + +Pokud chcete zruÅ¡it extra úroveň adresářů \dirname{$PLATFORM} pro každou +platformu, t.j.\ uložit binárky do adresáře \dirname{$TEXDIR/bin}, +specifikujte volbu \verb|--disable-multiplatform| pro \cmdname{configure}. + +PodÃvejte se na výstup pÅ™Ãkazu \verb|./configure --help| pro popis +dalÅ¡Ãch pÅ™epÃnaÄů, které můžete chtÃt použÃt. NapÅ™Ãklad můžete chtÃt +vynechat pÅ™eklad \OMEGA{}y Äi \eTeX{}u. + +\subsection{SpuÅ¡tÄ›nà \cmdname{make}} + +Ověřte, zda promÄ›nná prostÅ™edà nebo volba \texttt{noclobber} nenà nastavena. + +Potom spusÅ¥te hlavnà \cmdname{make} takto: +\begin{alltt} +> \Ucom{make world} +\end{alltt} +a dejte si chvÃli oddechu\ldots +PÅ™ÃpadnÄ› si můžete zaznamenat vÅ¡echen výstup takto: +\begin{alltt} +> \Ucom{sh -c \string"make world >world.log 2>\&1\string" \&} +\end{alltt} +PÅ™edtÃm než uvěřÃte, že vÅ¡echno je v~pořádku, zkontrolujte +logovacà soubor na chyby: \GNU \cmdname{make} vždy použÃvá Å™etÄ›zec +\samp{***}, kdykoliv pÅ™Ãkaz selže. Také zkontrolujte, zda vÅ¡echny programy +byly opravdu pÅ™eloženy: +\begin{alltt} +> \Ucom{cd \var{TEXDIR}/bin/\var{archname}} +> \Ucom{ls | wc} +\end{alltt} +Výsledkem by mÄ›lo být pÅ™es 200 programů (můžete zkontrolovat pÅ™esný +poÄet s~adresáři \dirname{bin} na~distribuÄnÃm médiu). + +Pro závÄ›reÄný \texttt{make install} budete potÅ™ebovat rootovské +oprávnÄ›nÃ, takže můžete rozdÄ›lit \samp{make world} na dvÄ› Äásti: +\begin{alltt} +> \Ucom{make all} +> \Ucom{su} +> \Ucom{make install strip} +\end{alltt} + +Poté, co instalujete vÅ¡echny binárky, mÄ›li byste provést +normálnà postinstalaÄnà proceduru, jak je popsána +v~oddÃle~\ref{sec:postinstall} na stranÄ›~\pageref{sec:postinstall}. + +Rovněž, když budete chtÃt zpÅ™Ãstupnit svoje binárky ostatnÃm, +prosÃme kontaktujte nás. Rádi je umÃstÃme na webové stránky \TL. +\end{comment} + +\htmlanchor{ack} +\section{PodÄ›kovánÃ} + +\TL{} je výsledkem spoleÄného úsilà téměř vÅ¡ech skupin uživatelů \TeX u. +Toto vydánà editoval \TL{} Karl Berry. +Seznam ostatnÃch hlavnÃch pÅ™ispÄ›vatelů, minulých i souÄasných, následuje. +DÄ›kujeme: +%B% Kaja Christiansen provádÄ›la neúnavnÄ› opakované +%B% rekompilace na různých unixových platformách. Vladimir Volovich odvedl +%B% vynikajÃcà práci na vyÄiÅ¡tÄ›nà zdrojových textů a provedl mnohá +%B% vylepÅ¡enÃ, zatÃmco Gerben Wierda dÄ›lal veÅ¡kerou práci pro \MacOSX. + +\begin{itemize*} +\item Anglickému, nÄ›meckému, holandskému a polskému sdruženà +uživatelů \TeX{}u (\acro{TUG}, \acro{DANTE} e.V., +\acro{NTG} resp. \acro{GUST}), kteřà spoleÄnÄ› zajistily +nezbytnou technickou a administrativnà infrastrukturu. +PÅ™ipojte se, prosÃm, k~\TeX ovskému sdruženà ve vaÅ¡Ã +blÃzkosti (\acro{CSTUG})! +(Viz \url{http://tug.org/usergroups.html}.) + +\item Týmu \acro{CTAN}u, pozoruhodnÄ› %nejpozoruhodnÄ›jÅ¡Ãm +Robinu Fairbairnsovi, Jimu Hef{}feronovi +a Raineru Sch\"opfovi, který distribuuje obrazy \TL{} a +poskytuje spoleÄnou infrastrukturu pro aktualizaci balÃků, +na kterých je \TL{} závislý. + +\item Johnu Bowmanovi, za vykonánà mnoha zmÄ›n v~jeho pokroÄilém +grafickém programu Asymptote, aby tento fungoval v~\TL. + +\item Peteru Breitenlohnerovi a \eTeX\ týmu, kteřà poskytujà +stabilnà základ budoucnosti \TeX u, a výslovnÄ› Peteru za +hvÄ›zdnou pomoc s~použÃvánÃm osobnÃch nástrojů \GNU\ v~celém \TL. + +%B% \item Karlu Berrymu, který poskytl původnà distribuci \Webc{}, a +%B% pokraÄoval v~poskytovánà cenných rad, povzbuzenà a pomocÃ. + +\item Jin-Hwan Choovi a celému týmu DVIPDFM$x$, za jejich vynikajÃci +ovladaÄ a za schopnost reagovat na konfiguraÄnà problémy. +\item Thomasi Esserovi, za pÅ™ekrásný balÃk \teTeX{}, bez nÄ›hož by \TL{} +nikdy neexistovala. +\item Michelu Goossensovi, který je spoluautorem původnà dokumentace. + +\item Eitanu Gurarimu, jehož \TeX{}4ht je použito pro +\HTML{} verzi této dokumentace a který každý rok obratem +pracoval neúnavnÄ› na jeho rozÅ¡ÃÅ™enÃch. Eitan nás pÅ™edÄasnÄ› +opustil v~Äervnu 2009 a tuto dokumentaci vÄ›nujeme jeho památce. +\item Hansi Hagenovi, za mnohá testovánà a pÅ™Ãpravu jeho formátu \ConTeXt\ +(\url{http://pragma-ade.com}) pracujÃcÃho uvnitÅ™ systému \TL. + +\item \Thanh ovi, Martinu Schröderovi a pdf\TeX\ týmu (\url{http://pdftex.org}) +za pokraÄujÃcà rozÅ¡iÅ™ovánà možnostà \TeX u. + +\item Hartmutu Henkelovi, za významný pÅ™ÃspÄ›vek k~vývoji +pdf\TeX u, Lua\TeX u atp. + +\item Taco Hoekwaterovi, za významné úsilà pÅ™i obnovenà vývoje \MP u i +samotného (Lua)\TeX{}u (\url{http://luatex.org}), za zaÄlenÄ›nà \ConTeXt{}u do systému \TL, +za pÅ™idánà vÃcevláknové funkÄnosti programu Kpathsea a mnoho dalÅ¡Ãho. +\item Paw{\l}u Jackowskému, za windowsový instalátor \cmdname{tlpm}, +a Tomaszi {\L}uczakovi, za \cmdname{tlpmgui}, použÃvaný v~pÅ™edchozÃch vydánÃch. + +\item Akirovi Kakuto, za poskytnutà windowsovských binárek +z~jeho distribuce \acro{W32TEX} pro japonský \TeX{} +(\url{http://w32tex.org}) a za množstvà dalÅ¡Ãch pÅ™ÃspÄ›vků k~vývoji. + +\item Jonathanu Kewovi a \acro{SIL}, za vyvinutà pozoruhodného systému \XeTeX{}u a +za Äas a trápenà pÅ™i jeho integraci do \TL{}, +právÄ› tak za výchozà verzi instalaÄnÃho programu Mac\TeX a kromÄ› toho za námi +doporuÄený pomocný program \TeX{}works. % front-end + +\item Dicku Kochovi, za údržbu Mac\TeX{}u (\url{http://tug.org/mactex}) +ve velmi blÃzkém tandemu s~\TL{}, a za jeho skvÄ›lé veselà pÅ™itom. % for his great good cheer in doing so. + +\item Reinhardovi Kotuchovi za důležitý pÅ™ÃspÄ›vek k~infrastruktuÅ™e a +instalaÄnÃmu programu \TL{} 2008, rovněž za úsilà pÅ™i výzkumu Windows, +za skript \texttt{getnonfreefonts} a mnoho dalÅ¡Ãho. + +\item Siep Kroonenbergové, rovněž za důležitý pÅ™ÃspÄ›vek k~infrastruktuÅ™e +a instalaÄnÃmu programu \TL{} 2008, zvláštÄ› pod Windows a za množstvà práce +pÅ™i aktualizaci této pÅ™ÃruÄky, popisujÃcà tyto vlastnosti. +\item Heikovi Oberdiekovi, za balÃk \pkgname{epstopdf} a mnohé dalÅ¡Ã, +za kompresi velikánských datových souborů \pkgname{pst-geo} tak, že +jsme je mohli zaÅ™adit do instalace a pÅ™edevÅ¡Ãm za jeho mimořádnou práci +na balÃku \pkgname{hyperref}. + +\item Petru Olšákovi, který koordinoval a kontroloval velmi peÄlivÄ› +Äeskou a slovenskou podporu na \TeXLive. + +\item Toshio Oshima za jeho windowsový prohlÞeÄ \cmdname{dviout}. + +\item Manueli Pégourié-Gonnardovi, za pomoc pÅ™i aktualizaci balÃků, +vylepÅ¡enà dokumentace a rozvoj dokumentu \cmdname{texdoc}. + +\item Fabrice Popineau, za původnà podporu Windows na \TL{} a za francouzskou dokumentaci. + +\item Norbertovi Preiningovi, pÅ™ednÃmu architektovi infrastruktury a +instalaÄnÃho programu \TL{} 2008 a také za koordinaci Debian +verze \TL{} (spoleÄnÄ› s~Frankem K\"usterem), +za mnohé průběžné návrhy na zlepÅ¡enÃ. +\item Sebastian Rahtz, za původnà vytvoÅ™enà systému \TL{} a za jeho údržbu po mnoho let. + +\item Philu Taylorovi, za zÅ™Ãzenà stahovánà Bit\-Torrentu. + +\item Tomasz Trzeciak, za rozsáhlou pomoc s~Windows. % Å¡irokopásmovou ? wide-ranging + +\item Vladimir Volovich, za významnou pomoc s~portovánÃm % with porting +a jinými problémy údržby, obzvláštÄ› za to, že udÄ›lal realizovatelným zahrnutà \cmdname{xindy}. + +\item Staszku Wawrykiewiczovi, hlavnÃmu testérovi vÅ¡eho na \TL{} a +koordinátorovi mnoha důležitých polských pÅ™ÃspÄ›vků: fontů, windowsové instalace a dalÅ¡Ãch. +\item Olafu Weberovi, pro jeho peÄlivou údržbu \Webc. + +\item Gerbenu Wierdovi, za vytvoÅ™enà a údržbu původnà podpory \MacOSX\ a +za mnohou integraci a testovánÃ. +\item Grahamu Williamsovi, na jehož práci na katalogu \TeX{}ovských balÃků závisÃme. + +\end{itemize*} +Tvůrci binárek: +Ettore Aldrovandi (\pkgname{i386-solaris}, \pkgname{x86\_64-solaris}), +Alan Braslau (\pkgname{amd64-kfreebsd}, \pkgname{i386-kfreebsd}), +Peter Breitenlohner (\pkgname{x86\_64-linux}), +Karl Berry (\pkgname{i386-linux}), +Akira Kakuto (\pkgname{win32}), +Dick Koch (\pkgname{universal-darwin}, \pkgname{x86\_64-darwin}), +Nikola LeÄić (\pkgname{amd64-freebsd}, \pkgname{i386-freebsd}), +Mojca Miklavec (\pkgname{mipsel-linux}), +Norbert Preining (\pkgname{alpha-linux}), +Jukka Salmi (\pkgname{i386-netbsd}), +Thomas Schmitz (\pkgname{powerpc-linux}), +Boris Veytsman (\pkgname{armel-linux}), +Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-solaris}), +Olaf Weber (\pkgname{mips-irix}). +Pro informaci o procesu budovánà \TL{}, viz +\url{http://tug.org/texlive/build.html}. + +PÅ™ekladatelé této pÅ™ÃruÄky: +Boris Veytsman (RuÅ¡tina), Jjgod Jiang, Jinsong Zhao, Yue Wang, \& Helin Gai (ÄŒÃnÅ¡tina), +Uwe Ziegenhagen (NÄ›mÄina), +Manuel Pégourié-Gonnard (FrancouzÅ¡tina), +Marco Pallante (ItalÅ¡tina), +Nikola LeÄić (SrbÅ¡tina), +Petr Sojka \& Ján BuÅ¡a (ÄŒeÅ¡tina\slash SlovenÅ¡tina),% +\footnote{Ke korektuÅ™e Äeského a slovenského pÅ™ekladu pÅ™ispÄ›li +v~letech 2003--2012 kromÄ› autorů JaromÃr Kuben, Milan Matlák, Tomáš ObÅ¡ÃvaÄ, +Karel PÃÅ¡ka, Tomáš PoleÅ¡ovský, Libor Å karvada, ZdenÄ›k Wagner a dalÅ¡Ã. +%Libor Å karvada korigoval i letoÅ¡nà verzi. +PodÄ›kovánà patřà také Michalu Mádrovi, +který dokonÄil editaci souboru cs.po a pÅ™eložil také soubor README.EN.} +Staszek Wawrykiewicz (PolÅ¡tina). +Webovská stránka dokumentace \TL{} je \url{http://tug.org/texlive/doc.html}. +%B% Dále Gerhard Wilhelms, Volker Schaa, Fabrice Popineau, Janka +%B% ChlebÃková, Petra Sojková, Staszek Wawrykiewicz, +%B% Erik Frambach a Ulrik Vieth laskavÄ› pÅ™eložili v~různých +%B% obdobÃch dokumentaci do svých mateÅ™ských jazyků a poskytli +%B% vÃtanou zpÄ›tnou reakci. +SamozÅ™ejmÄ›, nejdůležitÄ›jÅ¡Ã podÄ›kovánà patřà Donaldu Knuthovi, +pÅ™edevÅ¡Ãm za vymyÅ¡lenà \TeX u a také za to, že ho vÄ›noval svÄ›tu. + +\section{Historie vydánÃ} +\label{sec:history} + +\subsection{Minulost} + +Diskuse zaÄala koncem roku 1993, kdy holandská skupina uživatelů \TeX{}u +NTG zaÄala práci na \CD{} 4All\TeX{} pro uživatele \acro{MS-DOS}u, doufajÃc, +že doba nazrála pro vydánà jednoho \CD{} pro vÅ¡echny +systémy. Byl to na svou dobu pÅ™ÃliÅ¡ ambicióznà cÃl, ale +nenastartoval jen velmi úspěšné 4All\TeX{} \CD{}, ale také +pracovnà skupinu \acro{TUG}u o \emph{\TeX{} Directory Structure} +(\url{http://tug.org/tds}), která specifikovala, +jak vytvoÅ™it konzistentnà a spravovatelnou +kolekci \TeX{}ových souborů. Kompletnà draft \TDS{} byl publikován +v~prosincovém ÄÃsle Äasopisu \textsl{TUGboat} v~roce 1995 a +hned ze zaÄátku bylo jasné, že jednÃm z~žádaných produktů bude +vzorová struktura \CD{}. Distribuce, kterou nynà máte, je pÅ™Ãmým +výstupem práce této pracovnà skupiny. Evidentnà úspÄ›ch \CD{} 4All\TeX{} +ukázal, že i unixovà uživatelé by toužili po podobnÄ› jednoduchém +systému, a to je také jedno z~hlavnÃch aktiv~\TeXLive. + +Nejprve jsme vytvoÅ™ili unixové \TDS{} \CD{} na podzim +1995 a rychle identifikovali \teTeX{} Thomase Essera +jako ideálnà systém, jelikož již mÄ›l multi\-platformnà +podporu a byl koncipován s~perspektivou +pÅ™enositelnosti. Thomas souhlasil s~pomocà a serióznà práce zapoÄala +zaÄátkem roku 1996. Prvnà vydánà se uskuteÄnilo +v~kvÄ›tnu 1996. ZaÄátkem 1997 Karl Berry dokonÄil nové hlavnà +vydánà \Webc, které obsahovalo téměř vÅ¡echny vlastnosti, +které Thomas Esser pÅ™idal do \teTeX{}u, a tak jsme se rozhodli +druhé vydánà \CD{} postavit na standardnÃm +\Webc, s~pÅ™idánÃm skriptu \texttt{texconfig} z~\teTeX{}u. +TÅ™età vydánà \CD{} bylo založeno na dalÅ¡Ã revizi +\Webc, 7.2, provedené Olafem Weberem; a jelikož zároveň +byla hotova nová verze \teTeX{}u, \TL{} obsahoval +téměř vÅ¡echna jejà vylepÅ¡enÃ. PodobnÄ› Ätvrté vydánà použÃvalo novou +verzi \teTeX{}u a nové vydánà \Webc{} (7.3). +\TL{} nynà obsahuje i kompletnà systém pro Windows. + +Pro páté vydánà (bÅ™ezen 2000) bylo mnoho Äástà \CD{} revidováno +a zkontrolováno a byly aktualizovány stovky +balÃků. Detaily o balÃcÃch byly uloženy v~souborech \acro{XML}. +Ale hlavnà zmÄ›nou pro \TeX\ Live~5 bylo vynÄ›tà +softwaru, na kterém byla jakákoliv omezenà na Å¡ÃÅ™enà +(non-free software). VÅ¡e uložené na \TL{} je nynà +sluÄitelné s~tzv.\ `Debian Free Software Guide\-lines' +(\url{http://www.debian.org/intro/free}); udÄ›lali jsme vÅ¡e možné, +abychom zkontrolovali licenÄnà podmÃnky vÅ¡ech balÃků, +ale budeme vdÄ›Äni za upozornÄ›nà na jakékoli chyby. + +Å esté vydánà (Äervenec 2001) mÄ›lo aktualizovaného materiálu +jeÅ¡tÄ› vÃce. Hlavnà zmÄ›nou byl nový instalaÄnà pÅ™Ãstup: +uživatel může volit instalaÄnà kolekce. +Byly kompletnÄ› reorganizovány jazykové kolekce, +takže jejich výbÄ›rem se instalujà +nejen makra, fonty, ale je také pÅ™ipraven odpovÃdajÃcà +soubor \texttt{language.dat}. + +Sedmé vydánà v~roce 2002 mÄ›lo podstatné rozÅ¡ÃÅ™enà v~pÅ™idánà +podpory \MacOSX{}, kromÄ› množstvà aktualizacà balÃků a programů. +Důležitým cÃlem byla opÄ›tná integrace s~\teTeX{}em +a korekce odchylek z~pátého a Å¡estého vydánÃ. + +\subsubsection{2003} + +V~roce 2003 se neustálou smrÅ¡tà oprav a rozÅ¡ÃÅ™enà stalo to, že +velikost \TL{} již neumožnila jeho smÄ›stnánà +na jedno \CD{}, a tak doÅ¡lo k~rozdÄ›lenà na tÅ™i různé distribuce +(viz oddÃl~\ref{sec:tlcoll.dists} na +stranÄ›~\pageref{sec:tlcoll.dists}). NavÃc: + +\begin{itemize*} +\item Na žádost \LaTeX{} týmu jsme zmÄ›nili standardnà pÅ™Ãkazy + \cmdname{latex} a \cmdname{pdflatex} tak, že nynà použÃvajà + \eTeX{} (viz strana~\pageref{text:etex}). +\item Byly pÅ™idány a jsou nynà doporuÄovány k~použÃvánà + nové fonty Latin Modern. +\item Byla zruÅ¡ena podpora OS Alpha \acro{OSF} + (podpora \acro{HPUX} byla zruÅ¡ena již dÅ™Ãve), jelikož se + nenaÅ¡el nikdo, kdo by na tÄ›chto platformách zkompiloval nové binárky. +\item InstalaÄnà program Windows byl zmÄ›nÄ›n podstatným způsobem; poprvé + bylo integrováno uživatelské prostÅ™edà založené na XEmacsu. +\item Důležité pomocné programy pro Windows + (Perl, \GS{}, Image\-Magick, Ispell) jsou nynà instalovány + do instalaÄnÃho adresáře \TL{}. +\item Mapovacà soubory jmen fontů pro \cmdname{dvips}, \cmdname{dvipdfm} + a \cmdname{pdftex} jsou nynà generovány novým programem + \cmdname{updmap} a instalovány do \dirname{texmf/fonts/map}. +%+\item \TeX{}, \MF{}, and \MP{} now output 8-bit input +%+ characters as themselves in output (e.g., \verb|\write|) files, +%+ log files, and the terminal, i.e., \emph{not} translated using the +%+ \verb|^^| notation. In \TL{}~7, this translation was +%+ dependent on the system locale settings; now, locale settings do +%+ not influence the \TeX{} programs' behavior. If for some reason +%+ you need the \verb|^^| output, rename the file +%+ \verb|texmf/web2c/cp8bit.tcx|. (Future releases will have cleaner +%+ ways to control this.) +\item \TeX{}, \MF{} a \MP{} nynà dávajà na výstup %B% 8-bitové + vÄ›tÅ¡inu vstupnÃch + znaků (32 a výš) bez konverze (napÅ™Ãklad do souborů + zapisovaných pomocà \verb|\write|, + souborů log, na terminál), a tedy \emph{nejsou pÅ™ekládány} do + sedmibitové \verb|^^| notace. V~\TL{}~7 bylo toto mapovánà + závislé na nastavenà systémových locale; nynà již nastavenà locale + \emph{neovlivnÃ} chovánà \TeX{}u. Pokud z~nÄ›jakých důvodů + potÅ™ebujete výstup s~\verb|^^|, pÅ™ejmenujte soubor + \verb|texmf/web2c/cp8bit.tcx|. PÅ™ÃÅ¡tà verze bude mÃt ÄistÅ¡Ã Å™eÅ¡enÃ. +\item Tato dokumentace byla podstatným způsobem pÅ™epracována. +\item KoneÄnÄ›, jelikož ÄÃsla verzà \TL{} již pÅ™ÃliÅ¡ narostla, + verze je nynà identifikována rokem vydánÃ: \TL{} 2004. +\end{itemize*} + +\subsubsection{2004} +Rok 2004 pÅ™inesl mnoho zmÄ›n: +\begin{itemize} + +\item Pokud máte lokálnÄ› instalovány fonty, které +využÃvajà své vlastnà podpůrné soubory +\filename{.map} nebo (mnohem ménÄ› pravdÄ›podobnÄ›) \filename{.enc}, +možná budete nuceni tyto soubory pÅ™esunout. + +Soubory \filename{.map} jsou nynà vyhledávány jen v~podaresářÃch +\dirname{fonts/map} (v~každém stromÄ› \filename{texmf}), podle cesty +\envname{TEXFONTMAPS}. PodobnÄ›, soubory \filename{.enc} jsou hledány +jen v~podadresářÃch \dirname{fonts/enc}, podle cesty \envname{ENCFONTS}. +\cmdname{updmap} se pokusà vypsat varovánà o~problematických souborech. +% + +O~metodách zpracovánà té které informace, prosÃme viz +\url{http://tug.org/texlive/mapenc.html}. + +\item \TKCS\ byla rozÅ¡ÃÅ™ena pÅ™idánÃm instalovatelného \CD, +založeného na \MIKTEX u, pro ty, kteřà dávajà pÅ™ednost +této implementaci pÅ™ed Web2C. +%Také loňské demo \CD{} bylo nahrazeno instalovatelným \CD{} pro Windows. +Viz oddÃl~\ref{sec:overview.tl} (stránka~\pageref{sec:overview.tl}). + +\item UvnitÅ™ \TL byl velký strom \dirname{texmf} pÅ™edeÅ¡lých vydánà nahrazen tÅ™emi: \dirname{texmf}, +\dirname{texmf-dist} a \dirname{texmf-doc}. Viz oddÃl~\ref{sec:tld} (stránka~\pageref{sec:tld}) a soubory \filename{README} pro každý z~nich. + +\item VÅ¡echny vstupnà soubory týkajÃci se \TeX u jsou teÄ soustÅ™edÄ›ny +v~podadresáři \dirname{tex} stromů \dirname{texmf*} a nemajà oddÄ›lené +sourozenecké adresáře \dirname{tex}, \dirname{etex}, +\dirname{pdftex}, \dirname{pdfetex} atd. Viz +\CDref{texmf.doc/doc/english/tds/tds.html\#Extensions} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Extensions}}. + +\item Pomocné dávky (nemÄ›ly by být volány uživateli) jsou teÄ +umÃstÄ›ny v~novém podadresáři \dirname{scripts} stromů \dirname{texmf*} +a mohou být vyhledávány prostÅ™ednictvÃm +\verb|kpsewhich -format=texmfscripts|. Když tedy máte programy +volajÃcà tyto dávky, budou muset být nastaveny. Viz +\CDref{texmf.doc/doc/english/tds/tds.html\#Scripts} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Scripts}}. + +\item Téměř vÅ¡echny formáty umožňujà vÄ›tÅ¡inu znaků tisknout +bez konverze pomocà pÅ™ekladového souboru +\filename{cp227.tcx}, mÃsto jejich konverze pomocà +\verb|^^| notace. KonkrétnÄ›, znaky na pozicÃch 32--256, +plus \uv{tab}, \uv{vertikálnà tab} a \uv{form feed} jsou považovány +za tisknutelné a nejsou konvertovány. Výjimky tvořà plain \TeX\ +(jen 32--127 jsou tisknutelné), \ConTeXt\ (0--255 tisknutelné) a formáty +systému \OMEGA. Toto implicitnà chovánà je téměř stejné jak na +\TL\,2003, ale je implementováno ÄistÄ›ji, s~vÃce možnostmi pÅ™izpůsobenÃ. +Viz \CDref{texmf/doc/web2c/web2c.html\#TCX-files} +{\texttt{texmf/doc/web2c/web2c.html\#TCX-files}}. +(Mimochodem, se vstupem Unicode, může \TeX\ na výstupu vypsat posloupnosti +ÄásteÄných znaků pÅ™i výpisu chybových kontextů, protože je bytovÄ› orientován.) +\item \textsf{pdfetex} je teÄ implicitnà stroj pro vÅ¡echny formáty +kromÄ› samotného (plain) \textsf{tex}u. (Ten jistěže generuje \acro{DVI}, + když je spuÅ¡tÄ›n jako \textsf{latex} atd.) To znamená, kromÄ› jiných + vÄ›cÃ, že mikrotypografické rozÅ¡ÃÅ™enà \textsf{pdftex}u jsou dostupné + v~\LaTeX u, \ConTeXt u atd., stejnÄ› jako rozÅ¡ÃÅ™enà +\eTeX u (\OnCD{texmf-dist/doc/etex/base/}). + +To také znamená, že užità balÃku \pkgname{ifpdf} (pracuje s~plainem +i \LaTeX em) nebo ekvivalentnÃho kódu je \emph{důležitÄ›jÅ¡Ã +než kdykoliv pÅ™edtÃm}, protože jednoduché testovánÃ, zda +je \cs{pdfoutput} nebo nÄ›jaký jiný primitiv definován, +nenà spolehlivý způsob urÄenÃ, zda je generován \acro{PDF} +výstup. Tento zpÄ›tný krok jsme udÄ›lali co nejvÃc kompatibilnà +letos, ale v~pÅ™ÃÅ¡tÃm roce \cs{pdfoutput} může +být definován, dokonce i když se zapisuje do \acro{DVI}. + +\item pdf\TeX\ (\url{http://pdftex.org/}) má množstvà nových vlastnostÃ: + + \begin{itemize*} + + \item \cs{pdfmapfile} a \cs{pdfmapline} poskytujà podporu mapovánà + fontů uvnitÅ™ dokumentu. + \item Mikrotypografické rozÅ¡ÃÅ™enà fontu může být použito jednoduÅ¡eji.\\ + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} + + \item VÅ¡echny parametry, které byly pÅ™edtÃm nastavovány ve + zvláštnÃm konfiguraÄnÃm souboru \filename{pdftex.cfg}, musà + teÄ být nastaveny pomocà primitivů, obyÄejnÄ› + v~\filename{pdftexconfig.tex}; \filename{pdftex.cfg} nenà + dále podporován. VÅ¡echny existujÃcà \filename{.fmt} soubory + musà být znovu vytvoÅ™eny pÅ™i zmÄ›nÄ› souboru \filename{pdftexconfig.tex}. + + \item DalÅ¡Ã informace viz manuál pdf\TeX u: \OnCD{texmf/doc/pdftex/manual}. + + \end{itemize*} + +\item Primitiv \cs{input} v~\cmdname{tex}u (a \cmdname{mf} a +\cmdname{mpost}) teÄ akceptuje dvojité uvozovky se jmény obsahujÃcÃmi +mezery a s~jinými zvláštnÃmi znaky. Typické pÅ™Ãklady: +\begin{verbatim} +\input "filename with spaces" % plain +\input{"filename with spaces"} % latex +\end{verbatim} +Pro dalÅ¡Ã informace viz manuál Web2C: \OnCD{texmf/doc/web2c}. + +\item Podpora enc\TeX u je nynà zahrnuta uvnitÅ™ Web2C, +v~důsledku toho ve vÅ¡ech \TeX ových programech, použitÃm +volby \optname{-enc} \Dash \emph{jen v~pÅ™ÃpadÄ›, že formáty +jsou vytvoÅ™eny}. enc\TeX\ podporuje obecné pÅ™ekódovánà +vstupu a výstupu, ÄÃmž umožňuje plnou podporu kódovánà +Unicode (v~\acro{UTF}-8). Viz \OnCD{texmf-dist/doc/generic/enctex/} a +\url{http://www.olsak.net/enctex.html}. + +\item Aleph, nový stroj kombinujÃcà \eTeX\ a \OMEGA, je nynà k~dispozici. +Trochu informace najdete na \OnCD{texmf-dist/doc/aleph/base} +a \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph}. Formát pro +Aleph, založený na \LaTeX u se jmenuje \textsf{lamed}. + +\item NejnovÄ›jÅ¡Ã vydánà \LaTeX u má novou verzi \acro{LPPL} \Dash teÄ +oficiálnÄ› schválená Debian licence. Rozmanité dalÅ¡Ã aktualizace najdete +v~souborech \filename{ltnews} v~\OnCD{texmf-dist/doc/latex/base}. + +\item Je dodán \cmdname{dvipng}, nový program pro konvertovánà \acro{DVI} na +obrazové soubory \acro{PNG}. Viz \OnCD{texmf/doc/man/man1/dvipng.1}. + +\item Zredukovali jsme balÃk \pkgname{cbgreek} na \uv{stÅ™ednÄ›} velkou +sadu fontů, se souhlasem a na radu autora (Claudio Beccari). +OdstranÄ›né fonty jsou neviditelné, obrysové, a průhledné, +relativnÄ› zÅ™Ãdka se použÃvajà a my jsme potÅ™ebovali mÃsto. +Úplná sada je dostupná z~\acro{CTAN} +(\url{http://mirror.ctan.org/tex-archive/fonts/greek/cb}). + +\item \cmdname{oxdvi} byl odebrán; použijte jednoduÅ¡e \cmdname{xdvi}. + +\item PÅ™Ãkazy \cmdname{ini} a \cmdname{vir} (linky) pro +\cmdname{tex}, \cmdname{mf} a \cmdname{mpost} se již nevytvářejÃ, +napÅ™Ãklad \cmdname{initex}. FunkÄnost instrukce \cmdname{ini} byla po +celá léta pÅ™Ãstupna prostÅ™ednictvÃm volby \optname{-ini} na~pÅ™Ãkazovém řádku. + +\item Podpora platformy \textsf{i386-openbsd} byla zruÅ¡ena. +Jelikož balÃÄek \pkgname{tetex} v~\acro{BSD} Ports systému +je dostupný a \acro{GNU/}Linux a Free\acro{BSD} binárky byly +dostupné, zdálo se nám, že Äas dobrovolnÃků může být využit +lépe nÄ›kde jinde. +\item Na \textsf{sparc-solaris} (pÅ™inejmenÅ¡Ãm) jste možná +museli nastavovat promÄ›nné prostÅ™edà +\envname{LD\_LIBRARY\_PATH}, aby běžely programy \pkgname{t1utils}. +Je to tÃm, že jsou kompilovány v~C++, +a neexistuje standardnà umÃstÄ›nà \singleuv{runtime} knihoven. +(To nenà novinka roku 2004, ale nebylo to dÅ™Ãv zdokumentováno.) +PodobnÄ›, na \textsf{mips-irix}, `runtime' knihovny pro \acro{MIPS} +7.4 jsou nezbytné. +\end{itemize} + +\subsubsection{2005} + +Rok 2005 pÅ™inesl jako obvykle množstvà modernizacà balÃÄků a programů. +Infrastruktura zůstala relativnÄ› stabilnà z~roku 2004, ale nutnÄ› také +nastaly nÄ›jaké zmÄ›ny: + +\begin{itemize} + +\item Byly zavedeny nové skripty \cmdname{texconfig-sys}, \cmdname{updmap-sys} a + \cmdname{fmtutil-sys}, které mÄ›nà konfiguraci v~systémových stromech. + Skripty \cmdname{texconfig}, + \cmdname{updmap} a \cmdname{fmtutil} teÄ mÄ›nà uživatelské (user-specific) soubory + v~\dirname{$HOME/.texlive2005}. %$ + +\item Na specifikaci stromů obsahujÃcÃch konfiguraÄnà soubory (uživatelské resp. systémové) + byly zavedeny odpovÃdajÃcà nové promÄ›nné \envname{TEXMFCONFIG} resp. + \envname{TEXMFSYSCONFIG}. Tedy, možná budete potÅ™ebovat pÅ™esunout osobnà verze + souborů \filename{fmtutil.cnf} a \filename{updmap.cfg} na tato mÃsta; jiná volba je + pÅ™edefinovánà \envname{TEXMFCONFIG} nebo \envname{TEXMFSYSCONFIG} v~souboru + \filename{texmf.cnf}. V~každém pÅ™ÃpadÄ› skuteÄná pozice tÄ›chto souborů a + hodnoty \envname{TEXMFCONFIG} a \envname{TEXMFSYSCONFIG} + se musejà shodovat. Viz oddÃl~\ref{sec:texmftrees}, + strana~\pageref{sec:texmftrees}. + +\item Loni jsme ponechali \verb|\pdfoutput| a jiné primitivy nedefinovány + pro výstup \dvi, pÅ™estože byl použÃván program \cmdname{pdfetex}. + Letos, jak jsme slÃbili, jsme odstranili toto zpÄ›tnÄ› kompatibilnà + opatÅ™enÃ. Tedy když váš dokument použÃvá + \verb|\ifx\pdfoutput\undefined| + na testovánà výstupu do formátu \acro{PDF}, je nutné ho zmÄ›nit. Můžete + k~tomu použÃt balÃk \pkgname{ifpdf.sty} (který funguje + v~plain \TeX u i \LaTeX u), nebo použÃt jeho logiku. + +\item Loni jsme zmÄ›nili vÄ›tÅ¡inu formátů tak, aby vypisovaly (8bitové) znaky + tak jak jsou (viz pÅ™edcházejÃcà sekci). Nový TCX soubor + \filename{empty.tcx} teÄ poskytuje jednoduÅ¡Å¡Ã cestu k~dosaženà + původnÃho zápisu \verb|^^| když si tak budete přát, jako v~pÅ™ÃpadÄ›: +\begin{verbatim} +latex --translate-file=empty.tcx yourfile.tex +\end{verbatim} + +\item Nový program \cmdname{dvipdfmx} je zaÅ™azen pro +pÅ™evedenà z~\acro{DVI} do \acro{PDF}; +ten je platnou aktualizacà programu +\cmdname{dvipdfm} (který je též jeÅ¡tÄ› k~dispozici, i když ho nedoporuÄujeme). + +\item Nové programy \cmdname{pdfopen} a \cmdname{pdfclose} byly pÅ™idány, aby +poskytly možnost znovu otevÅ™Ãt \acro{PDF} +soubory v~programe Adobe Acrobat Reader bez jeho restartu. +(Jiné prohlÞeÄe \acro{PDF}, pÅ™edevÅ¡Ãm \cmdname{xpdf}, +\cmdname{gv} a \cmdname{gsview}, nikdy netrpÄ›ly tÃmto problémem.) + +\item Kvůli důslednosti promÄ›nné \envname{HOMETEXMF} a + \envname{VARTEXMF} byly pÅ™ejmenovány na \envname{TEXMFHOME} resp. na + \envname{TEXMFSYSVAR}. Je tu také \envname{TEXMFVAR}, která je + implicitnÄ› uživatelsky závislá (user-specific). Viz prvnà bod výše. +\end{itemize} + +\subsubsection{2006--2007} + +V~letech 2006--2007 byl rozsáhlým pÅ™Ãrustkem na \TL{} program \XeTeX{}, +pÅ™Ãstupný jako programy \texttt{xetex} a \texttt{xelatex}; viz +\url{http://scripts.sil.org/xetex}. + +\MP\ byl také podstatnÄ› aktualizován, s~mnoha plány do budoucnosti +(\url{http://tug.org/metapost/articles}), podobnÄ› pdf\TeX{} +(\url{http://tug.org/applications/pdftex}). + +Formát \TeX\ \filename{.fmt} (vysokorychlostnà formát) a podobnÄ› soubory +\MP\ a \MF\ jsou teÄ uloženy v~podadresářÃch \dirname{texmf/web2c}, +namÃsto pÅ™Ãmého uloženà v~nÄ›m (aÄkoliv je adresář stále prohledáván, +v~zájmu stávajÃcÃch formátů \filename{.fmt}). Podadresáře nesou jména +použÃvaných programů, napÅ™Ãklad \filename{tex} +nebo \filename{pdftex} nebo \filename{xetex}. Tato zmÄ›na by mÄ›la pÅ™i +běžném použÃvánà zůstat nepostÅ™ehnuta. + +Program (plain) \texttt{tex} již neÄte prvnà řádky \texttt{\%\&} aby +urÄil, jaký formát má spustit; je to Äistý knuthovský \TeX. +(\LaTeX\ a vÅ¡echny ostatnà programy stále Ätou řádky \texttt{\%\&}). +PochopitelnÄ› se bÄ›hem roku (jako obvykle) vyskytly stovky jiných +aktualizacà balÃků a programů. Jako obyÄejnÄ›, zkontrolujte, prosÃm, +aktualizace na \acro{CTAN}u (\url{http://mirror.ctan.org}). + +VnitÅ™nÄ›, strom zdrojových textů je nynà uložen v~Subversion, se +standardnÃm webovským rozhranà m pro jeho prohlÞenÃ, kam smÄ›ruje +odkaz z~naÅ¡Ã domovské stránky. TÅ™ebaže nenà v~koneÄné verzi +viditelný, oÄekáváme, že to poskytne základ pro stabilnà rozvoj +v~letech následujÃcÃch. + +Nakonec, v~kvÄ›tnu 2006 Thomas Esser oznámil, že už nebude aktualizovat +te\TeX{} (\url{http://tug.org/tetex}). Výsledkem je nárůst zájmu o~\TL{}, +pÅ™edevÅ¡Ãm mezi distributory \GNU/Linuxu. +(Na \TL{} se nacházà nové instalaÄnà schéma \texttt{tetex}u, +poskytujÃcà pÅ™ibližný ekvivalent.) Doufáme, že to možná povede +ke zlepÅ¡enà prostÅ™edà \TeX{}u pro vÅ¡echny. + +\subsubsection{2008} + +V~roce 2008 byla celá infrastruktura \TL{} pÅ™ebudována a znovu +implementována. Úplná informace o~instalaci je nynà +uložena v~textovém souboru \filename{tlpkg/texlive.tlpdb}. + +Mezi dalÅ¡Ãmi vÄ›cmi je koneÄnÄ› možná aktualizace instalace \TL{} +z~internetu po pÅ™edchozà instalaci. Tuto vlastnost poskytoval +MiK\TeX\ již Å™adu let. PÅ™edpokládáme pravidelnou aktualizaci nových +balÃků po jejich vydánà na \CTAN{}u. + +Obsažený je významnÄ›jÅ¡Ã nový stroj (engine) Lua\TeX\ (\url{http://luatex.org}); +kromÄ› lepÅ¡Ã pÅ™izpůsobivosti v~sázenà je možno tento vynikajÃcà skriptovacà jazyk +použÃt jak uvnitÅ™, tak i~mimo \TeX{}ovské dokumenty. + +Podpora Windows a unixových platforem je nynà jednotnÄ›jÅ¡Ã. +Zejména, vÄ›tÅ¡ina skriptů Perlu a Lua je teÄ k~dispozici pod Windows, +s~použitÃm Perlu distribuovaného na~\TL. + +Nový skript \cmdname{tlmgr} (sekce~\ref{sec:tlmgr}) je vÅ¡eobecné rozhranà +pro správu \TL{} po pÅ™edchozà instalaci. Ovládá aktualizaci balÃků +a následujÃcà znovuvytvoÅ™enà formátů, mapovacÃch souborů a jazykových souborů, +volitelnÄ› zahrnujÃcà lokálnà doplňky. + +S~pÅ™Ãchodem programu \cmdname{tlmgr}, Äinnosti programu +\cmdname{texconfig} na editaci formátů a konfiguraÄnÃch souborů dÄ›lenà +slov jsou nynà blokované. + +Program \cmdname{xindy} pro tvorbu rejstÅ™Ãků +(\url{http://xindy.sourceforge.net/}) je nynà zahrnut na vÄ›tÅ¡inÄ› +platforem. +Nástroj \cmdname{kpsewhich} může nynà ohlásit vÅ¡echny výskyty +pro daný soubor +(option \optname{--all}) a omezené výskyty pro daný podadresář +(option \optname{--subdir}). + +Program \cmdname{dvipdfmx} zahrnuje nynà funkÄnost extrakce informace +o `bounding boxu', pomocà povelu \cmdname{extractbb}; toto +byl jeden z~poslednÃch rysů, které poskytoval \cmdname{dvipdfm}, avÅ¡ak ne +\cmdname{dvipdfmx}. + +Fontové pÅ™ezdÃvky \filename{Times-Roman}, \filename{Helvetica}, atd. +byly odstranÄ›né. Různé balÃky oÄekávaly jejich různé chovánà (pÅ™edevÅ¡Ãm, +že budou mÃt různé kódovánÃ) a nenalezlo se vhodné Å™eÅ¡enà tohoto problému. + +Formát \pkgname{platex} byl odstranÄ›n pro konflikt jmen s~japonÅ¡tinou +\pkgname{platex}; +podporu polÅ¡tiny nynà zajiÅ¡Å¥uje balÃk \pkgname{polski}. + +Soubory \web{}ovských Å™etÄ›zců (pool) jsou nynà zkompilované do binárek pro +usnadnÄ›nà aktualizacÃ. + +A nakonec, v~tomto vydánà jsou zahrnuty zmÄ›ny provedené Donaldem Knuthem +v~jeho úpravách \TeX u roku 2008 (`\TeX\ tuneup of 2008'). +Viz \url{http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}. + +\subsubsection{2009} + +Od roku 2009 je standardnà výstupnà formát Lua\AllTeX\ PDF, pro využità +výhody Lua\TeX{}ovské podpory Open\-Type a jiné. Nové binárky nazvané +\code{dviluatex} a \code{dvilualatex} spouÅ¡tà Lua\TeX\ pÅ™i výstupu DVI. +Domovská stránka Lua\TeX{}u je \url{http://luatex.org}. + +Původnà systém (engine) Omega a formát Lambda format byly odstranÄ›ny +po diskusÃch s~autory systému Omega. Zůstaly aktualizované +programy Aleph a Lamed, podobnÄ› jako pomocné programy systému Omega. + +Obsažené je nové vydánà fontů AMS \TypeI, vÄetnÄ› Computer +Modern: do zdrojáků Metafontu bylo zapracováno nÄ›kolik málo zmÄ›n tvarů, +které za léta udÄ›lal Don Knuth a byl aktualizován hinting fontů. +% and the hinting has been updated. +Tvary fontů Euler byly důkladnÄ› pÅ™ekresleny Hermannem Zapfem (viz +\url{http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf}). Ve vÅ¡ech +pÅ™Ãpadech zůstaly metriky \emph{nezmÄ›nÄ›ny}. Domovská stránka AMS fontů je +\url{http://www.ams.org/tex/amsfonts.html}. + +Pomocný program -- nový GUI editor -- \TeX{}works +je zahrnut pro Windows, ale také v~Mac\TeX u. +Pro jiné platformy a dalÅ¡Ã informace, viz domovskou +stránku \TeX{}works \url{http://tug.org/texworks}. +Je to multi-platformnà prostÅ™edà +%It is a cross-platform front end +inspirované editorem TeXShop v~\MacOSX, zaměřené +na jednoduché použitÃ. + +Grafický program Asymptote je zahrnutý pro vÃce platforem. Realizuje +textovÄ› založený jazyk pro popis grafiky, blÃzký k~MetaPostu, +avÅ¡ak s~pokroÄilou podporou 3D a jinými vlastnostmi. +Jeho domovská stránka je \url{http://asymptote.sourceforge.net}. + +Samostatný program \code{dvipdfm} byl nahrazen programem +\code{dvipdfmx}, který pod tÃmto jménem pracuje ve zvláštnÃm +režimu kompatibility. % under that name +\code{dvipdfmx} zahrnuje podporu \acro{CJK} a má nahromadÄ›ny +mnohé dalšà úpravy za léta od poslednÃho vydánà +\code{dvipdfm}. Domovská stránka DVIPDFMx je +\url{http://project.ktug.or.kr/dvipdfmx}. + +Binárky pro platformy \pkgname{cygwin} a \pkgname{i386-netbsd} jsou nynà +v~\TL{} zahrnuty, zatÃmco nám bylo oznámeno, že uživatelé Open\acro{BSD} zÃskajà \TeX\ pomocà jejich +systémů balÃků a navÃc se objevily potÞe pÅ™i vytvářenà binárek, +které by mÄ›li Å¡anci fungovat ve vÃce než jedné verzi. + +Z dalÅ¡Ãch menÅ¡Ãch zmÄ›n: nynà použÃváme \pkgname{xz} kompresi, +stabilnà náhradu za \pkgname{lzma} +(\url{http://tukaani.org/xz/}); a literál |$| je povolen v~názvech +souborů pokud nenà uveden na zaÄátku jména známé promÄ›nné; +knihovna Kpathsea je teÄ vÃcevláknová +(použitelné v~MetaPostu); budovánà celého \TL{} je nynà založeno na +systému Automake. + +ZávÄ›reÄná poznámka o minulosti: vÅ¡echna vydánà \TL{}, spolu s~podpůrným +materiálem jako napÅ™. \CD\ labels jsou dostupná na +\url{ftp://tug.org/historic/systems/texlive}. + +\subsubsection{2010} + +\label{sec:2010news} % keep with 2010 +V~roce 2010 je pÅ™edvolenou verzà pro výstup PDF verze 1.5, umožňujÃcà vÄ›tÅ¡Ã kompresi. +To se týká vÅ¡ech nástrojú \TeX{}u použÃvaných na vytvářenà PDF a \code{dvipdfmx}. +NaÄtenÃm \LaTeX{}ovského balÃÄku \pkgname{pdf14} se provede zpÄ›tná zmÄ›na na PDF~1.4, +nebo nastavte |\pdfminorversion=4|. + +pdf\AllTeX\ nynà \emph{automaticky} konvertuje požadovaný soubor ve formátu Encapsulated +PostScript (EPS) na PDF, prostÅ™ednictvÃm balÃku \pkgname{epstopdf}, když a pokud je naÄten +konfiguraÄnà soubor \LaTeX{}u \code{graphics.cfg} a pokud je výstup do PDF. +Implicitnà nastavenà jsou zamýšlené pro eliminaci možnostà pÅ™epsánà +ruÄnÄ› vytvoÅ™ených PDF souborů, ale můžete také docela zakázat naÄtenà \code{epstopdf} zadánÃm +|\newcommand{\DoNotLoadEpstopdf}{}| (nebo |\def...|) pÅ™ed deklaracà +\cs{documentclass}. BalÃk \pkgname{epstopdf} nebude zaveden rovněž +pokud bude použit balÃk \pkgname{pst-pdf}. +Pro dalÅ¡Ã podrobnosti viz dokumentaci balÃku \pkgname{epstopdf} +(\url{http://ctan.org/pkg/epstopdf-pkg}). + +DalÅ¡Ã podobnou zmÄ›nou je, že vykonánà nÄ›kolika málo externÃch pÅ™Ãkazů z~\TeX{}u, +prostÅ™ednictvÃm vlastnosti \cs{write18}, je nynà implicitnÄ› povoleno. Tyto +pÅ™Ãkazy jsou \code{repstopdf}, \code{makeindex}, \code{kpsewhich}, +\code{bibtex} a \code{bibtex8}; seznam je uveden v~\code{texmf.cnf}. +ProstÅ™edÃ, která musà zakázat vÅ¡echny takové externà povely +můžou zruÅ¡it tuto volbu v~instalátoru (viz +oddÃl~\ref{sec:options}), nebo po instalaci pÅ™epsat hodnotu +spuÅ¡tÄ›nÃm |tlmgr conf texmf shell_escape 0|. + +JeÅ¡tÄ› dalÅ¡Ã podobnou zmÄ›nou je to, že \BibTeX\ a Makeindex nynà implicitnÄ› odmÃtajà zapsat +své výstupnà soubory do libovolného adresáře (jako samotný \TeX). +Je to proto, že nynà můžou být povolené pro použità omezeným \cs{write18}. +Aby se to zmÄ›nilo, může být nastavena promÄ›nná prostÅ™edà \envname{TEXMFOUTPUT}, +nebo zmÄ›nené nastavenà |openout_any|. + +\XeTeX\ nynà podporuje posun (kerning) okrajů podél stejných linià jako pdf\TeX. +(Expanze fontů nenà aktuálnÄ› podporována.) + +Program \prog{tlmgr} nynà standardnÄ› ukládá jednu zálohu každého +aktualizovaného balÃku (\code{tlmgr option autobackup 1}), +tudÞ pÅ™eruÅ¡ené aktualizace balÃků mohou být snadno vráceny pÅ™Ãkazem \code{tlmgr restore}. +Pokud dÄ›láte poinstalaÄnà aktualizace a nemáte dostek mÃsta na disku pro zálohy, +spusÅ¥te \code{tlmgr option autobackup 0}. + +Byly zaÅ™azeny nové programy: nástroj (engine) p\TeX\ a pÅ™Ãbuzné pomůcky pro sazbu JaponÅ¡tiny; +program \BibTeX{}U pro \BibTeX umožňujÃcà použità Unicode; utility \prog{chktex} +(\url{http://baruch.ev-en.org/proj/chktex}) +na kontrolu dokumentů \AllTeX{}u; pÅ™ekladaÄ \prog{dvisvgm} z~DVI do SVG +(\url{http://dvisvgm.sourceforge.net}). + +Jsou dodány binárky tÄ›chto nových platforem: \code{amd64-freebsd}, +\code{amd64-kfreebsd}, \code{i386-freebsd}, \code{i386-kfreebsd}, +\code{x86\_64-darwin}, \code{x86\_64-solaris}. + +ZmÄ›na \TL{} 2009, kterou jsme si nevÅ¡imli: Äetné binárky týkajÃcà se \TeX4ht +(\url{http://tug.org/tex4ht}) byly odstranÄ›ny z~adresářů binárek. +ObecnÄ› použitelný (generic) program \code{mk4ht} může být použit na spuÅ¡tÄ›nà +libovolné z~rozliÄných kombinacà \code{tex4ht}. + +Nakonec, vydánà \TL{} na \TK\ \DVD\ již nemůže být (kupodivu) spouÅ¡tÄ›né živÄ›. +Samostatné \DVD\ již nemá dostatek mÃsta. +Jednou výhodou je, že instalace z~fyzického \DVD\ je mnohem rychlejÅ¡Ã. + +\subsubsection{2011} + +Binárky \MacOSX\ (\code{universal-darwin} a +\code{x86\_64-darwin}) nynà pracujà jenom pro Leopard nebo pozdÄ›jÅ¡Ã; Panther a +Tiger již nejsou podporovány. + +Program \code{biber} pro zpracovánà bibliografie je zahrnut pro běžné platformy. +Jeho rozvoj je úzce spojený s~balÃkem +\code{biblatex}, který úplnÄ› pÅ™ebudovává %which completely reimplements +bibliografické prostÅ™edky poskytované \LaTeX{}em. + +Program MetaPost (\code{mpost}) již nevytvářà nebo nepoužÃvá soubory +\code{.mem}. PotÅ™ebné soubory, jako je \code{plain.mp}, se jednoduÅ¡e naÄÃtajà +pÅ™i každém spuÅ¡tÄ›nÃ. To souvisà s~podporou MetaPostu jako knihovny, +což je dalÅ¡Ã důležitá zmÄ›na, tÅ™ebas neviditelná pro uživatele. + +Implementace \code{updmap} v~programu Perl, pÅ™edtÃm použÃvána pouze +pod Windows, byla vylepÅ¡ena a nynà je použÃvána na vÅ¡ech +platformách. Výsledkem toho je, že uživatel by nemÄ›l +vidÄ›t žádné zmÄ›ny, kromÄ› toho, že program běžà mnohem rychleji. + +% +\htmlanchor{news} +\subsection{SouÄasnost} +\label{sec:tlcurrent} + +\code{tlmgr} podporuje aktualizace z~vÃcenásobných +sÃÅ¥ových repositářů. VÃce obsahuje oddÃl o vÃcenásobných +repositářÃch ve výstupu pÅ™Ãkazu \code{tlmgr help}. + +Parametr \cs{XeTeXdashbreakstate} je implicitnÄ› nastaven na~1, pro +\code{xetex} i \code{xelatex}. To umožňuje zalomenà řádek po +pomlÄkách a spojovnÃcÃch, % a em-dashes and en-dashes, +co vždycky bylo chovánÃm %which has always been the behavior of plain +plain \TeX{}u, \LaTeX{}u, Lua\TeX{}u, atd. StávajÃcà dokumenty +\XeTeX{}u, které si musà udržet perfektnà kompatibilitu +zalomenà řádek musà explicitnÄ› nastavit hodnotu +\cs{XeTeXdashbreakstate} na~0. + +Výstupnà soubory generované programy \code{pdftex} a \code{dvips}, mimo jiné, +můžou teÄ pÅ™evýšit 2gb. + +Do výstupu programu \code{dvips} je implicitnÄ› zahrnuto 35 standardnÃch +PostScriptových fontů, protože existuje tolik jejich různých verzÃ. + +V omezeném režimu vykonávánà \cs{write18}, který je implicitnÄ› nastaven, +\code{mpost} je teÄ povoleným programem. + +Soubor \code{texmf.cnf} je také k nalezenà v adresáři \filename{../texmf-local}, +napÅ™Ãklad, \filename{/usr/local/texlive/texmf-local/web2c/texmf.cnf}, +pokud existuje. + +Skript \code{updmap} Äte soubor \code{updmap.cfg} podle stromu mÃsto +globálnÃho konfiguraÄnÃho souboru. Tato zména by nemÄ›la být viditelná, +pokud needitujete vaÅ¡e soubory updmap.cfg pÅ™Ãmo. +VÃce obsahuje výstup pÅ™Ãkazu \code{updmap --help}. + +Platformy: byly pÅ™idány \pkgname{armel-linux} a \pkgname{mipsel-linux}; +\pkgname{sparc-linux} nenà vÃce v~základnà distribuci, ale je dostupný +pro instalaci jako jedna z~uživatelských binárek, spoleÄnÄ› s~různýma +jinýma platformami: \url{http://tug.org/texlive/custom-bin.html}. + +\subsection{Budoucnost} + +\emph{\TL{} nenà dokonalý!} A~nikdy nebude. Máme v~úmyslu +pokraÄovat v~pravidelných vydánÃch a rádi bychom poskytovali +vÃce podpůrných materiálů, programů, vÄetnÄ› instalaÄnÃch, a jistěže +aktualizovaný a lépe zkontrolovaný strom maker a fontů. Tato práce je +provádÄ›na dobrovolnÃky v~jejich limitovaném volném Äase a tedy vždycky je +co dÄ›lat. Viz, prosÃm, +\url{http://tug.org/texlive/contribute.html}. + +ProsÃme, poÅ¡lete opravy, návrhy, námÄ›ty a nabÃdky pomoci na: +\begin{quote} +\email{tex-live@tug.org}\\ +\url{http://tug.org/texlive} +\end{quote} +\smallskip\nobreak +\noindent \textsl{Šťastné \TeX ovánÃ!} + +\end{document} diff --git a/Master/texmf-dist/doc/texlive/texlive-de/Makefile b/Master/texmf-dist/doc/texlive/texlive-de/Makefile new file mode 100644 index 00000000000..37063a9db3e --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-de/Makefile @@ -0,0 +1,2 @@ +include ../texlive-en/Makefile +doc = texlive-de diff --git a/Master/texmf-dist/doc/texlive/texlive-de/lmsy10-40.png b/Master/texmf-dist/doc/texlive/texlive-de/lmsy10-40.png Binary files differnew file mode 100644 index 00000000000..55c7772320b --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-de/lmsy10-40.png diff --git a/Master/texmf-dist/doc/texlive/texlive-de/texlive-de-new.tex b/Master/texmf-dist/doc/texlive/texlive-de/texlive-de-new.tex new file mode 100644 index 00000000000..eb8ea421e10 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-de/texlive-de-new.tex @@ -0,0 +1,2151 @@ +%\pdfoutput=0
+\documentclass[12pt,ngerman,a4paper,fullparskip]{scrreprt}
+
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{booktabs}
+\usepackage{babel}
+\usepackage{graphicx}
+\usepackage{csquotes}
+\usepackage{paralist}
+\usepackage{xcolor}
+\usepackage{xspace}
+\usepackage{url}
+\usepackage{multicol}
+\usepackage{showlabels}
+\usepackage[tocindentauto]{tocstyle}
+\usepackage{alltt}
+
+
+\usepackage{bera}
+\usepackage[]{ulem}
+
+\newcommand{\tlcurrentyear}{2013}
+\newcommand{\TL}{\TeX\ Live\xspace}
+\newcommand{\email}[1]{\texttt{#1}}
+\newcommand{\acro}[1]{\texttt{#1}}
+\newcommand{\cmdname}[1]{\texttt{#1}}
+\newcommand{\code}[1]{\texttt{#1}}
+\newcommand{\prog}[1]{\texttt{#1}}
+\newcommand{\optname}[1]{\texttt{#1}}
+\newcommand{\OnCD}[1]{\texttt{#1}}
+\newcommand{\file}[1]{\texttt{#1}}
+\renewcommand{\filename}[1]{\texttt{#1}}
+\newcommand{\dirname}[1]{\texttt{#1}}
+\newcommand{\pkgname}[1]{\texttt{#1}}
+\newcommand{\Webc}[1]{\texttt{#1}}
+\newcommand{\envname}[1]{\texttt{#1}}
+\newcommand{\TeXXeT}{TeXXeT}
+\newcommand{\KPS}{Kpathsea\xspace}
+\newcommand{\var}[1]{\texttt{#1}}
+
+
+\newcommand{\samp}[1]{\texttt{#1}}
+\newcommand{\Ucom}[1]{\textbf{\texttt{#1}}}
+\newcommand{\bs}{\protect\normalfont\ttfamily\char'134}
+
+\usepackage{fancyvrb}
+\DefineVerbatimEnvironment{boxedverbatim}{Verbatim}{fontsize=\footnotesize,frame=single}
+
+
+\setlength{\parskip}{1em}
+\setlength{\parindent}{0pt}
+
+
+\def\TK{\TeX\ Collection}
+
+\newcommand\ConTeXt{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt}
+\newcommand\MIKTEX{MiK\kern-.025em \TeX}% per www.miktex.org
+
+\def\MP{MetaPost}
+\def\MF{MetaFont}
+\def\BibTeX{Bib\TeX}
+
+\providecommand*{\CD}{\acro{CD}\xspace}
+\providecommand*{\CTAN}{\acro{CTAN}\xspace}
+\providecommand*{\DVD}{\texorpdfstring{\acro{DVD}}{DVD}\xspace}
+\providecommand*{\GNU}{\acro{GNU}\xspace}
+\providecommand*{\HTML}{\acro{HTML}\xspace}
+\providecommand*{\ISO}{\texorpdfstring{\acro{ISO}}{ISO}\xspace}
+\providecommand*{\MacOSX}{Mac\,\acro{OS\,X}\xspace}
+\providecommand*{\PS}{Post\-Script\xspace}
+\providecommand*{\TDS}{\acro{TDS}\xspace}
+\providecommand*{\USB}{\texorpdfstring{\acro{USB}}{USB}\xspace}
+\providecommand*{\dvi}{\acro{DVI}\xspace}
+\providecommand*{\web}{\texttt{WEB}\xspace}
+\providecommand*{\XeTeX}{xe\TeX\xspace}
+
+
+\newcommand{\dante}{DANTE~e.\,V\kern-0.15em.}
+
+\usepackage{hyperref}
+\usepackage[]{url}
+\hypersetup{%
+ colorlinks=true, % aktiviert farbige Referenzen
+ linkcolor = blue, % Linkfarbe blau
+ citecolor = blue, % cite-Farbe blau
+ urlcolor = blue, % cite-Farbe blau
+ pdfpagemode=UseNone, % PDF-Viewer startet ohne Inhaltsverzeichnis et.al.
+ pdfstartview=FitH} % PDF-Viewer benutzt beim Start bestimmte Seitenbreite
+
+\hypersetup{%
+ pdftitle={TeX Live Anleitung},%
+ pdfauthor={Uwe Ziegenhagen, ww.uweziegenhagen.de},%
+ pdfsubject={TeX Live },%
+ pdfkeywords={TeX, LaTeX, TeX Live}%
+}
+
+\begin{document}
+
+\begin{titlepage}
+
+\begin{center}
+\vspace*{3cm}
+
+ \Huge Anleitung zu \TL\vspace*{1cm}
+
+\Large Version \tlcurrentyear
+
+\end{center}
+
+\vfill \noindent Karl Berry (Herausgeber) \\
+verantwortlich für die deutsche Ausgabe:\\
+Uwe Ziegenhagen, \href{mailto:ziegenhagen@gmail.com}{ziegenhagen@gmail.com} \\
+Köln, den \today
+\end{titlepage}
+
+\tableofcontents
+
+\listoffigures
+
+\listoftables
+
+
+%
+%
+%\section{Einleitung}\label{sec:intro}
+%\subsection{\TL\ und die \TeX-Collection}
+
+
+\chapter{Einleitung}\label{sec:intro}
+\section{\TL und die \TL-Collection}
+
+Diese Anleitung beschreibt das \TL-System an sich, nicht die Arbeit mit \TeX/\LaTeX.
+
+Die {\TL} Distribution enthält \TeX/\LaTeX-Systeme für Linux, verschiedene \acro{UNIX}-Plattformen, {\MacOSX} und Windows. Sowohl \TL{} als auch die \TK{} sind durch das Engagement vieler Freiwilliger aus vielen \TeX-Vereinen entstanden.
+
+Wahrscheinlich haben Sie \TL{} auf einem von zwei Wegen bezogen, entweder
+per direktem Download von \TL{} oder als Teil der \DVD{} \TK, die von
+vielen \TeX-Vereinen (u.\,a. \dante) an ihre Mitglieder verschickt werden
+und in Deutschland über die Fachbuchhandlung Lehmanns (\url{http://www.lob.de})
+vertrieben wird. Abschnitt~\ref{sec:tl-coll-dists} beschreibt kurz den
+Inhalt der \TK-\DVD.
+
+
+
+{\TL} enthält lauf"|fähige Versionen von \TeX, \LaTeXe, \ConTeXt, \MF, \MP, {\BibTeX} und vielen
+anderen Programmen, sowie eine umfassende Auswahl an Makros, Zeichensätzen und
+Beschreibungen, die gemäß der Standard"=\TeX"=Verzeichnisstruktur (\TDS) abgelegt sind.
+
+Eine kurze Zusammenfassung der wesentlichen Änderungen der aktuellen \TL-Version
+gegenüber der Vorgängerversion finden Sie im Abschnitt~\ref{sec:tlcurrent} auf
+Seite~\pageref{sec:tlcurrent}.
+
+\section{Unterstützung verschiedener Betriebssysteme}\label{sec:os-support}
+
+\TL{} enthält direkt ausführbare Programme für viele Unix-basierte Betriebssysteme, insbesondere GNU/Linux und \MacOSX\ und Cygwin. Selbst wenn für Ihr Unix-System wider Erwarten keine ausführbaren Programme enthalten sind, sollten Sie in der Lage sein, aus den mitgelieferten Programm-Quellen ein funktionierendes \TeX-System zu kompilieren.
+
+Bezüglich Microsoft Windows werden Versionen ab Windows~XP unterstützt, frühere Versionen werden nicht unterstützt. Es existieren zwar keine 64-Bit-Ver\-sionen der Programme, allerdings sollten die 32-Bit-Programme problemlos auf 64-Bit-Systemen funktionieren.
+
+\section{Einsatzmöglichkeiten des \TL-Systems der \TeX\ Collection}\label{sec:basic}
+
+Sie können das \TL-System wahlweise von der \DVD oder über das
+Internet (\url{http://tug.org/texlive/acquire.html}) installieren.
+Der \prog{Net Installer} ist ein kleines Programm,
+das die benötigten Teile aus dem Internet nachlädt. Dieser Weg bietet
+sich an (eine schnelle und stabile Internetverbindung voraus gesetzt),
+wenn Sie kein komplettes \TL{} installieren wollen, sondern Ihr System nur
+aus bestimmten Paketen bestehen soll.
+
+Wenn Sie die \DVD{} besitzen (oder das ISO-Image der \DVD{} herunter
+geladen haben -- dieses kann auf einigen Systemen sogar direkt als
+virtuelles Medium \enquote{gemountet} werden), können Sie \TL{} nach
+Wunsch auf Ihrer Festplatte installieren. Im Gegensatz zu früher ist
+\TL{} nicht mehr direkt von der \DVD{} lauffähig. Sie können aber
+eine portable Version z.\,B. auf einem USB-Stick installieren, wie im
+Abschnitt~\ref{sec:portable-tl} beschrieben.
+
+Beide Methoden werden in den Abschnitten zur Installation beschrieben.
+Hier daher nur die kurze Zusammenfassung:
+
+\begin{itemize}
+\item Das Hauptinstallationsskript ist \cmdname{install-tl}. Es bietet
+eine grafische Benutzeroberfläche (GUI) für die Standardinstallation
+(den sogenannten \enquote{wizard mode}), einen Textmodus und eine grafische Oberfläche im Expertenmodus.
+Unter Windows ist der grafische \enquote{wizard mode} der Standard, auf allen anderen
+Systemen ist es der Textmodus. Durch die Optionen \code{-gui=wizard}, \code{-gui=text} und \code{-gui=perltk} können Sie gezielt auswählen, ob das Installationsprogramm
+im ">wizard mode"<, Textmodus oder mit der grafischen Oberfläche im Expertenmodus
+starten soll.
+\item \TL installiert u.\,a. den ">\TL Manager"< mit dem Namen
+\prog{tlmgr}. Auch dieser unterstützt Text- und GUI-Mode. Mit diesem
+Programm können Sie einerseits Pakete von \TL installieren oder deinstallieren,
+andererseits \TL konfigurieren.
+\end{itemize}
+
+\section{\TL und Sicherheit}
+
+Nach bestem Wissen und Gewissen kann man sagen, dass die \TeX-Kernprogramme selbst sehr robust sind. Dieses Maß an Robustheit und Sicherheit wird jedoch möglicherweise nicht von allen Programmen erreicht, die Teil von \TL sind. Daher gilt für \TL das, was auch für alle anderen Programme gilt: Vorsicht bei der Verarbeitung von Quellcode, den man nicht genau kennt, zur maximalen Sicherheit sollte man in diesen Fällen die entsprechenden Dateien in einem neuen Unterverzeichnis verarbeiten.
+
+Die Sorge um die Sicherheit gilt vor allem für MS Windows, da Windows-Programme zuerst im aktuellen Verzeichnis suchen, egal wie Pfad-Angaben gesetzt sind. Theoretisch ermöglicht dies eine Reihe von Angriffsszenarien. Viele Sicherheitslücken in Programmen von \TL wurden geschlossen, andere bestehen auch weiterhin, besonders im Umgang mit Drittanbieter-Software.
+
+Aus diesem Grund empfehlen wir bei der Verarbeitung von unbekanntem Quellcode, auf das Vorhandensein von ausführbaren Dateien im Quellcode-Verzeichnis zu achten. Diese sollten nicht vorhanden sein und erst recht nicht durch die Verarbeitung von \TeX-Quellcode erzeugt worden sein.
+
+\TeX und seine Begleitprogramme können in Dateien schreiben, wenn ein Dokument übersetzt wird. Diese Funktion kann auch missbräuchlich eingesetzt werden. Daher ist bei der Verarbeitung von unbekannten Quellen die Nutzung eines neuen Unterverzeichnisses der sicherste Weg!
+
+\section{Hilfe zu \TeX, \LaTeX\ \& Co}\label{sec:help}
+
+Die \TeX-Gemeinschaft ist ebenso aktiv wie hilfsbereit, und es wird
+praktisch jede ernst gemeinte Frage beantwortet. Diese Hilfe ist allerdings
+nicht formal organisiert, sondern wird von Freiwilligen in ihrer
+Freizeit geleistet. Es ist daher wichtig, dass Sie vor einer
+Fragestellung Ihre \enquote{Hausaufgaben} erledigen.
+
+
+Die folgende Liste stellt die leicht zugänglichen Hilfe-Quellen in der
+empfohlenen Reihenfolge vor:
+
+\begin{description}
+\item [Einführung:] Wenn Sie \TeX-Anfänger sind und eine englische Einführung in das System benötigen, sollten Sie \url{http://tug.org/begin.html} lesen.
+
+Für deutschsprachige \LaTeX-Anfänger ist die \enquote{\LaTeXe-Kurzbeschreibung} von großem Nutzen
+ (\OnCD{texmf-doc/doc/german/lshort-german/l2kurz.pdf}).
+
+\item [\TeX-\acro{FAQ}s:]
+ Die \TeX-\acro{FAQ} (im Deutschen \file{de-tex-faq} über
+ das Textsatzsystem TeX und Dante, die Deutschsprachige
+ Anwendervereinigung TeX e.V., ist ein riesiges Kompendium
+ mit Fragen (und Antworten) aller Art, von der einfachsten
+ Anfängerfrage bis zu Expertenwissen.
+
+ Sie finden die deutschsprachige FAQ unter \url{http://www.dante.de/FAQ.html}. Des Weiteren existiert eine englischsprachige FAQ, die im Internet unter \url{http://www.tex.ac.uk/faq} verfügbar ist.
+
+Bitte schauen Sie bei auftretenden Problemen, insbesondere wenn Sie als Anfänger mit \TeX/\LaTeX\ arbeiten, zuerst diese beiden Möglichkeiten.
+
+\item [\TeX-Catalogue:] Wenn Sie auf der Suche nach einem bestimmten Paket,
+ Font, Programm u.\,ä. sind, empfiehlt sich ein Blick in den \TeX-Catalogue unter \url{http://www.ctan.org/tex-archive/help/Catalogue/catalogue.html}. Dieser Katalog enthält eine Liste aller verfügbaren \TeX-spezifischen Dinge.
+
+\item [\TeX-\acro{WWW}-Ressourcen:] Unter \url{http://tug.org/interest.html} finden Sie eine große Anzahl \TeX-spezifischer Links zu Büchern, Handbüchern und Artikeln zu allen Aspekten des \TeX-Systems.
+
+\item [Archive:] Ein Forum für die Hilfestellung sind die Usenet-News-Gruppen\footnote{Für eine Einführung zum Usenet siehe \url{http://de.wikipedia.org/wiki/Usenet}.}
+ \url{news:de.comp.text.tex} (Deutsch), \url{news:comp.text.tex} (Englisch)
+ und die Mailing-Liste \email{texhax@tug.org}.
+
+
+In deren Archiven finden sich die Fragen und Antworten vieler Jahre. Ihre Suche können Sie in Google
+ beispielsweise mit \url{http://groups.google.de/group/de.comp.text.tex/topics}
+ starten -- oder auch in \url{http://tug.org/mail-archives/texhax} durchführen.
+
+ Im Allgemeinen ist es recht erfolgversprechend, eine generelle Suche über Google
+ \url{http://www.google.de/} durchzuführen (entweder im Internet allgemein
+ oder in den o.\,g. News-Gruppen); dies insbesondere, wenn es sich um Fragen über
+ \PS/PDF, \cmdname{Ghostscript} u.\,ä. handelt.
+
+\item [Online-Foren:] Neben den bereits genannten Quellen gibt es Foren im Internet, in denen Sie Ihre Frage stellen können: \url{http://tex.stackexchange.com}, \url{http://golatex.de}, \url{http://mrunix.de/forums/forumdisplay.php?f=38} \\ sind nur einige, die Hilfe zu \TeX\ \& \LaTeX\ anbieten.
+
+Auch hier gilt: Je mehr Mühe Sie sich mit dem Stellen von Fragen geben, desto besser kann Ihnen geholfen werden.
+
+\item [Fragen stellen:]
+ Wenn Sie mit den oben aufgezeigten Möglichkeiten immer noch keine Antwort auf Ihre Frage gefunden haben, können Sie die Frage auch in einer News-Gruppe stellen (neudeutsch: \emph{posten}). Hier bietet sich für den deutschsprachigen Raum die News-Gruppe \url{news:de.comp.text.tex} an.
+ Benutzen Sie am besten für Anfragen Google
+ (\url{http://groups.google.de/group/de.comp.text.tex/topics})
+ oder einen Newsreader. Fragen an die englischsprachige Gruppe
+ \url{news:comp.text.tex}
+ (bei Google: \url{http://groups.google.de/group/comp.text.tex/topics})
+ sollten Sie bitte nur auf Englisch stellen.
+
+ Zusätzlich existieren E-Mail-Listen, wobei hier die deutschsprachige Liste
+ \email{TeX-D-L@listserv.dfn.de} zu nennen ist (das englischsprachige Äquivalent
+ ist \email{texhax@tug.org}). Darüber hinaus bietet sich für Mitglieder
+ von Dante~e.V. der Beraterkreis an (\email{beraterkreis@dante.de}).
+ Wie Sie sich in die E-Mail-Liste \dirname{TeX-D-L} eintragen können,
+ finden Sie in der FAQ unter \enquote{1.3.2 Was ist TeX-D-L?}.
+
+ Bevor Sie eine Frage absenden, lesen Sie \emph{bitte} die entsprechenden
+ Einträge der FAQ zum Thema \enquote{Wie stelle ich eine Frage in einer
+ Newsgroup, damit ich mit hoher Wahrscheinlichkeit eine Antwort bekomme?}, wie
+ z.\,B. \enquote{1.3.1 Was ist 'de.comp.text.tex'?} und \enquote{1.3.7 Was
+ sollte ich gelesen haben, bevor ich eine Frage in 'de.comp.text.tex' oder der
+ Diskussionsliste TeX-D-L stelle?}.
+
+\item [Mithilfe:]
+ Wenn Sie einen Fehler melden wollen oder Empfehlungen und Kommentare
+ zur \TL-Verteilung, -Installation oder -Dokumentation geben möchten, sollten Sie die
+ E-Mail-Liste \email{tex-live@tug.org} nutzen.
+ Korrekturen, Anmerkungen und Erweiterungen für die deutsche Übersetzung können Sie auch
+ an \email{ziegenhagen@gmail.com} direkt senden.
+
+ Fragen zu Programmen, die Sie in der {\TK} finden, sollten Sie besser auf
+ einer der oben genannten Mailing-Listen stellen oder direkt an den Programmautor
+ richten.
+\end{description}
+
+\noindent Auf der anderen Seite können auch Sie mit Ihrem Wissen helfen. Die News-Gruppen
+\url{news:de.comp.text.tex} (in Deutsch), \url{news:comp.text.tex} (in Englisch) und
+die Mailing-Liste \email{TeX-D-L@listserv.dfn.de} (Deutsch) und \email{texhax@tug.org} (Englisch)
+stehen allen offen. Wenn Sie also dort mitlesen, scheuen Sie sich nicht, Fragen,
+zu denen Sie eine Antwort wissen, zu beantworten und damit anderen zu helfen.
+
+Falls Sie auf eine garantierte kommerzielle Unterstützung angewiesen sind oder eine solche
+bevorzugen, sollten Sie die Finger komplett vom \TL-System lassen und in der Liste unter \url{http://tug.org/interest.html#vendors} nach einem geeigneten Händler suchen.
+
+\chapter{Ãœberblick zum \TL-System}\label{sec:overview-tl}
+
+In diesem Abschnitt beschreiben wir die Struktur und den Inhalt des \TL-Systems und der \TK-\DVD.
+
+\subsection[Die \protect\TeX\protect\ Collection: \TL, pro\TeX{}t, Mac\TeX]{Die \protect\TeX\protect\ Collection: \TL, pro\TeX{}t, Mac\TeX}\label{sec:tl-coll-dists}
+
+Die \DVD besteht aus:
+
+\begin{description}
+\item[\TL] Ein komplettes \TeX-System, wahlweise zur Installation auf einer Festplatte oder einem Wechselmedium (USB-Stick). Die Homepage des \TL-Projektes finden Sie unter \url{http://tug.org/texlive/}.
+\item[Mac\TeX] für \MacOSX. Dieses enthält das komplette \TL, bietet zusätzlich aber ein Installationsprogramm für Mac und einige Zusatzprogramme. Nähere Informationen finden Sie auf der Homepage von Mac\TeX{} unter \url{http://tug.org/mactex/}.
+\item[pro\TeX{}t] basiert auf der \MIKTEX-Distribution für Windows. Es enthält noch einige Zusatzprogramme und stellt eine einfache Installationsanleitung bereit, die Schritt für Schritt den Weg zu einem kompletten \TeX-System beschreibt. Die Homepage von pro\TeX{}t findet sich unter \url{http://tug.org/protext}.
+\item[CTAN] Weiterhin ist auf der \DVD{} ein Teil der \TeX-bezogenen Software enthalten, die sich
+in CTAN, dem \emph{Comprehensive \TeX{} Archive Network} (\url{http://www.ctan.org}) befinden.
+\item [\texttt{texmf-extra}] In diesem Verzeichnis befinden sich zusätzliche Pakete, die kein Teil von
+\TL sind.
+\end{description}
+
+\CTAN{}, \pkgname{protext} und \dirname{texmf-extra} unterliegen nicht denselben Lizenzregeln wie \TL. Daher können für Teile hieraus andere Lizenzbedingungen bezüglich einer Weiterverteilung oder
+Modifikation gelten, die Sie unbedingt beachten sollten!
+
+\section{Basisverzeichnisse von \TL}\label{sec:tld}
+
+In diesem Abschnitt beschreiben wir die Basisverzeichnisse einer \TL-Installation.
+
+\begin{center}
+\begin{tabular}{rp{0.8\textwidth}}
+bin & ausführbare Programme des \TeX-Systems. Jeweils für die verschiedenen Rechnerplattformen
+ in Unterverzeichnissen zusammengefasst\\
+readme-*.dir & in diesen Verzeichnissen (!) befinden sich Text- bzw. HTML-Dateien
+ in verschiedenen Sprachen, die als schneller
+ Einstieg in \TL empfehlenswert sind.\\
+source & Quelldateien aller Programme inklusive der
+ \Webc-Quellen für die \TeX-Pakete\\
+texmf & Verzeichnisbaum für Programme mit zugehörigen Hilfsdateien und Anleitungen; enthält keine \TeX-Formate und Pakete (siehe \texttt{TEXMFMAIN} im nächsten Abschnitt).\\
+texmf-dist & Hauptbaum mit Formaten und Paketen (siehe \texttt{TEXMFDIST} im nächsten Abschnitt).\\
+tlpkg & Skripte, Programme und Daten die für die Installation benutzt werden, sowie einige Dinge, die speziell für Windows benötigt werden.
+
+\end{tabular}
+\end{center}
+
+Zusätzlich zu den oben aufgeführten Verzeichnissen finden Sie
+im Wurzelverzeichnis der Distribution
+auch noch die Installationsskripte.
+
+Wenn Sie nach Dokumentation suchen, bietet Ihnen die Datei \OnCD{doc.html} wichtige Links.
+Die Dokumentation für Programme (Handbücher, ">man~pages"<, \acro{GNU}-\acro{info}-Dateien) beispielsweise finden Sie
+im Verzeichnis \OnCD{texmf/doc}. Ähnliches
+gilt für die Dokumentation der \TeX-Pakete und -Formate im Verzeichnis \OnCD{texmf-dist/doc}.
+
+Benutzen Sie das Programm \cmdname{texdoc}, wenn Sie auf der Suche nach irgendeiner
+Dokumentationsdatei sind. Hilfreich in diesem Zusammenhang könnte auch die Link-Sammlung \filename{doc.html} im Wurzelverzeichnis sein.
+
+Die Anleitung zu \TL ist in verschiedenen Sprachen verfügbar auf der \DVD verfügbar:
+\begin{description}
+\item[Deutsch:] \OnCD{texmf/doc/german/texlive-de/texlive-de} (dieses Dokument)
+\item[Englisch:] \OnCD{texmf/doc/english/texlive-en/texlive-en}
+\item[Französisch:] \OnCD{texmf/doc/french/texlive-fr/texlive-fr}
+\item[Italienisch:] \OnCD{texmf/doc/italian/texlive-it/texlive-it}
+\item[Polnisch:] \OnCD{texmf/doc/polish/texlive-pl/texlive-pl}
+\item[Russisch:] \OnCD{texmf/doc/russian/texlive-ru/texlive-ru}
+\item[Serbisch:] \OnCD{texmf/doc/serbian/texlive-sr/texlive-sr}
+\item[Tschechisch/Slowakisch:] \OnCD{texmf/doc/czechslovak/texlive-cz/live}
+\item[Chinesisch:] \OnCD{texmf/doc/chinese/texlive-zh-cn/texlive-zh-cn}
+\end{description}
+
+\section{Überblick über die vordefinierten texmf-Bäume}\label{sec:texmftrees}
+
+
+Dieser Abschnitt listet die vordefinierten texmf-Bäume, die vom System benutzt
+werden, und deren Bedeutung auf. Das Kommando \texttt{tlmgr~conf}
+zeigt Ihnen die aktuellen Einstellungen dieser Variablen an.
+
+\begin{description}
+\item [TEXMFMAIN] In diesem Baum befinden sich wichtige Teile des Systems,
+ wie Konfigurationsdateien, Hilfsprogramme und die Dokumentation.
+\item [TEXMFDIST] In diesem Baum befinden sich die wesentlichen Makro-Pakete,
+ Fonts usw. Dieser Baum enthält systemunabhängige Daten, die prinzipiell
+ von jedem TDS-kompatiblem \TeX-System nutzbar sein sollten.
+\item [TEXMFLOCAL] Dieser Baum ist für Ergänzungen oder Aktualisierungen
+ von Makros, Fonts etc. gedacht, die Administratoren für alle Nutzer
+ installieren.
+\item [TEXMFHOME] In diesem Baum können einzelne Nutzer Ergänzungen oder
+ Aktualisierungen von Makros, Fonts etc. ablegen. Standardmäßig befindet
+ sich dieser Baum unterhalb von \verb+$HOME+, so dass andere Nutzer von
+ Änderungen hier nicht beeinflusst werden.
+\item [TEXMFCONFIG] Dieser benutzerspezifische (!) Baum wird von den Hilfsprogrammen von \TeX{}
+ wie \verb+texconfig+, \verb+updmap+ und \verb+fmtutil+ verwendet.
+ Standardmäßig befindet sich dieser Baum unterhalb von \verb+$HOME+,
+ so dass andere Nutzer von Änderungen hier nicht beeinflusst werden.
+\item [TEXMFSYSCONFIG] Systemweiter Baum, wird von den Hilfsprogrammen
+ \verb+texconfig-sys+, \verb+updmap-sys+ und \verb+fmtutil-sys+
+ verwendet, so dass hier das Verhalten des \TL-Systems für alle Nutzer
+ beeinflusst werden kann.
+\item [TEXMFSYSVAR] Dieser Baum wird von den systemweiten Hilfsprogrammen
+ wie \verb+texconfig-sys+, \verb+updmap-sys+ und \verb+fmtutil-sys+
+ verwendet, um automatisch generierte Konfigurations-Dateien abzulegen.
+\item [TEXMFVAR] Dieser benutzerspezifische Baum wird von Hilfsprogrammen wie \verb+texconfig+,
+ \verb+updmap+ und \verb+fmtutil+ benutzt, um automatisch generierte
+ Konfigurations-Dateien abzulegen.
+\item [TEXMFCACHE] Dieser Baum wird von \ConTeXt\ Mk\acro{IV} genutzt, um Cache-Daten abzulegen.
+\end{description}
+
+Der Standard der Verzeichnisstruktur von \TL sieht wie folgt aus:
+\begin{description}
+ \item[Systemweites Wurzelverzeichnis] kann \TL{}-Versionen aus mehreren Jahren beinhalten:
+ \begin{description}
+ \item[2011] Eine Vorversion von \TL.
+ \item[2012] Die aktuelle Version.
+ \begin{description}
+ \item [bin] ~
+ \begin{description}
+ \item [i386-linux] \GNU/Linux binaries
+ \item [...]
+ \item [universal-darwin] \MacOSX\ binaries
+ \item [win32] Windows binaries
+ \end{description}
+ \item [texmf\ \ \ \ \ \ \ ] Hierauf verweist \envname{TEXMFMAIN}.
+ \item [texmf-dist\ \ ] \envname{TEXMFDIST}
+ \item [texmf-var\ \ ] \envname{TEXMFSYSVAR}
+ \item [texmf-config \ \ ] \envname{TEXMFSYSCONFIG}
+ \end{description}
+ \item [texmf-local] \envname{TEXMFLOCAL}, dieses Verzeichnis gilt für alle installierten \TL-Versionen
+ (aktuelle Version und Vorgängerversion), so dass hier durchgeführte lokale Änderungen über die
+ Jahre hinweg erhalten bleiben.
+ \end{description}
+ \item[Home-Verzeichnis des Benutzers]
+ (\texttt{\$HOME} oder \texttt{\%USERPROFILE\%}):
+ \begin{description}
+ \item[.texlive2011] Vom Nutzer privat erzeugte Dateien und Konfigurationsdaten
+ der Vorversion.
+ \item[.texlive2012] Vom Nutzer privat erzeugte Dateien und Konfigurationsdaten
+ für die aktuelle Version von \TL.
+ \begin{description}
+ \item [texmf-var\ \ \ ] \envname{TEXMFVAR}
+ \item [texmf-config] \envname{TEXMFCONFIG}
+ \end{description}
+ \item[texmf] \envname{TEXMFHOME} Persönliche Makros, Fonts usw. des Nutzers.
+ \end{description}
+\end{description}
+
+
+\section{\TeX\ Erweiterungen}\label{sec:tex-extensions}
+
+
+Unter den \TeX-Systemen der {\TL} befinden sich verschiedene
+\TeX"=Erweiterungen:
+
+\begin{description}
+\item [\eTeX]\label{text:etex} stellt bei 100\%-iger Kompatibilität zum
+ ursprünglichen {\TeX} einen kleinen, aber mächtigen Satz neuer Befehle
+ bereit (für Makroexpansion, Character-Scanning, erweiterte Debug-Möglichkeiten u.\,a.).
+ Zusätzlich gibt es noch die \TeXXeT-Erweiterungen für den bidirektionalen Textsatz,
+ wie er beispielsweise im Arabischen gebraucht wird.
+ Im voreingestellten Modus ist {\eTeX} 100\%-ig kompatibel mit dem ">normalen"< \TeX.
+ Die Dokumentation zu {\eTeX} finden Sie in der Datei
+ \OnCD{texmf-dist/doc/etex/base/etex\textunderscore man.pdf}.
+\item [pdf\TeX] enthält die \eTeX\ Erweiterungen und erlaubt -- neben der Ausgabe in PDF-Dateien -- auch die Erstellung von DVI-Dateien. Für die meisten \TeX-Formate (wie \prog{etex}, \prog{latex}, \prog{pdflatex}) wird tatsächlich pdf\TeX\ aufgerufen. Die Webseite von pdf\TeX\ lautet
+ \url{http://www.pdftex.org}.
+
+Die Dokumentation zu pdf\TeX{} finden Sie unter \OnCD{texmf-dist/doc/pdftex/ manual/pdftex-a.pdf}.
+
+\item [Lua\TeX] befindet sich noch in Entwicklung und ist als zukünftiger Nachfolger von pdf\TeX\ vorgesehen, zu dem es weitgehend abwärtskompatibel bleiben soll. Weiterhin soll es auch Aleph\footnote{\url{http://en.wikipedia.org/wiki/Omega_(TeX)}} ersetzen, auch wenn es nicht kompatibel dazu sein wird. Durch den enthaltenen Lua-Interpreter (siehe \url{http://www.lua.org/})
+können satztechnische Herausforderungen, die in \TeX{} selbst nur mühsam lösbar sind, einfach und elegant gelöst werden.
+
+Wird es unter dem Namen \filename{texlua} aufgerufen, verhält es sich wie ein eigenständiger Lua-Interpreter -- und wird als solcher in vielen Skripten von \TL bereits benutzt. Für weitere Informationen siehe \url{http://www.luatex.org} und \OnCD{texmf-dist/doc/luatex/luatexref-t.pdf}.
+
+\item [XeTeX] bietet die Unterstützung von Unicode-Zeichensätzen und Open\-Type-Schriften, mehr Informationen sind unter \url{http://tug.org/xetex} verfügbar.
+
+\item [OMEGA] (Omega) ist ein \TeX-System, das intern mit Unicode (16-Bit"=Unicode"=Zeichen) arbeitet und damit das gleichzeitige Arbeiten mit nahezu allen auf der Welt eingesetzten Schriften
+ und deren Zeichenkodierungen erlaubt. Außerdem werden über dynamisch
+ geladene, sogenannte \enquote{OMEGA~Translation~Processes} Transformationen zur Verfügung gestellt, die beliebige Eingaben vor der Bearbeitung durch {\TeX} nach bestimmten Regeln
+ umformen. Omega ist nicht länger als eigenständiges Programm Teil von \TL; es wird nur noch Aleph mitgeliefert.
+
+\item [$\aleph$] (Aleph) vereinigt die OMEGA- und \eTeX-Erweiterungen. Eine Minimaldokumentation finden Sie in \OnCD{texmf-dist/doc/aleph/base}.
+\end{description}
+
+\section{Weitere Programme von \TL}
+
+\TL enthält eine ganze Reihe unterstützender Programme wie
+
+
+\begin{description}
+\item[\cmdname{bibtex}, \cmdname{bibtex8}] zum Verwalten von Bibliographien
+\item[\cmdname{biber}], zum Verwalten von Bibliographien, soll \cmdname{bibtex} ablösen
+\item[\cmdname{dviconcat}] Zusammenfügen von DVI-Dateien
+\item[\cmdname{dvips}] Konversion von DVI in {\PS}
+\item[\cmdname{dviselect}] Ausschneiden von Seiten aus DVI-Dateien
+\item[\cmdname{dvipdfmx}] DVI-nach-PDF-Konverter (erzeugt auch \acro{CJK}-konformes PDF aus
+ DVI-Dateien mit OMEGA Erweiterungen)
+\item[\cmdname{dvilj}] Druckertreiber für die HP-LaserJet"=Familie
+\item[\cmdname{makeindex}, \cmdname{xindy}] Erzeugen eines Stichwortverzeichnisses
+\item[\cmdname{mpost}] \MF-ähnliches Grafikprogramm
+\item[\cmdname{psnup}, \cmdname{psselect}] \PS-Tools
+\item[\cmdname{pdfjam}, \cmdname{pdfjoin}] \acro{PDF}-Tools
+\item[\cmdname{tex4ht}] \TeX-nach-\HTML-Konvertierung
+\item[\cmdname{texexec, texmfstart}] \ConTeXt- und PDF"=Prozessor
+\item[\cmdname{xdvi}] DVI-Bildschirmausgabe im X-Window-System
+\end{description}
+
+\section{Fonts in \TL}\label{sec:tl-fonts}
+
+\TL enthält eine Vielzahl qualitativ hochwertiger Vektorschriften. Weitere Informationen hierzu finden sich unter \url{http://tug.org/fonts} und auf dieser DVD unter \OnCD{texmf-dist/doc/fonts/free-math-font-survey/survey}.
+
+\chapter{Installation von \TL}\label{sec:install}
+
+\section{Das Installationsprogramm}\label{sec:inst-start}
+
+Zur Installation von \TL benötigen Sie die \TK-\DVD oder den \enquote{\TL{} Net Installer} aus dem Internet.
+
+\begin{description}
+\item [Net Installer:] Verfügbar von \CTAN, unter
+\dirname{systems/texlive/tlnet}; die URL
+\url{http://mirror.ctan.org/systems/texlive/tlnet} leitet Sie automatisch
+an einen nahe gelegenen Server des \CTAN-Netzwerks weiter.
+Sie können entweder die Datei \filename{install-tl.zip} herunter laden,
+die sowohl für Unix als auch Windows gedacht ist,
+oder die deutlich kleinere Datei \filename{install-unx.tar.gz},
+die aber nur den Installer für Unix enthält.
+Nach dem Auspacken finden Sie die Dateien \filename{install-tl} (Unix)
+bzw.\ \filename{install-tl.bat} (Windows) im Verzeichnis \dirname{install-tl}.
+
+\item [\TeX{} Collection \DVD:] Hier finden Sie die Dateien \filename{install-tl} (Unix)
+bzw.\ unter Windows \filename{install-tl.bat} im Verzeichnis \dirname{texlive}
+der \DVD. Unter Windows startet beim Einlegen der DVD im Allgemeinen automatisch
+ein Programm, bei dem Sie unter anderem das Installationsprogramm von \TL auswählen können. Die \DVD\ erhalten Sie als Mitglied eines \TeX-Vereins (wie \url{http://www.dante.de} für den deutschsprachigen Raum, von der Fachbuchhandlung Lehmanns (\url{http://www.lob.de}) oder international von der \TeX{} Users Group (\url{http://tug.org/store}).
+
+Alternativ können Sie das \ISO-Image der \TL aus dem Internet laden. Nach der Installation von der DVD sollten Sie die Internet-Aktualisierung aktivieren, für Details siehe Abschnitt \ref{sec:dvd-install-net-updates}.
+\end{description}
+
+Egal welche Quelle verwendet wird, es wird der gleiche Installer genutzt. Der hauptsächliche Unterschied ist, dass man bei der Verwendung des Net-Installers die neuesten verfügbaren Pakete direkt aus dem Internet erhält. Bei der Verwendung von \DVD\ and \ISO\ Images erhält man den Stand des letzten Major Release. Zwischen zwei Major Releases gibt es keine Aktualisierung der \DVD\ oder \ISO\ Images.
+
+Die folgenden Abschnitte beschreiben die Installation für die einzelnen Betriebssysteme.
+
+\section{Unix}
+
+Im Folgenden werden die Eingaben des Benutzers nach dem Kommando-Prompt \samp{>} \Ucom{fett} dargestellt.
+
+Das Skript \filename{install-tl} ist ein Perl-Skript. Am Einfachsten starten
+Sie es auf einem Unix-System in der Kommandozeile mit
+\begin{alltt}
+> \Ucom{cd /pfad/zum/installer}
+> \Ucom{perl install-tl}
+\end{alltt}
+
+(Sie können auch direkt \Ucom{perl /pfad/zum/installer/install-tl} eingeben. Wenn Ihre \DVD so gemountet ist, dass als ausführbar gekennzeichnete Skripte direkt gestartet werden können, können Sie im Verzeichnis des Installers auch direkt \Ucom{./install-tl} eingeben.) Eventuell müssen Sie Ihr Terminalfenster
+größer machen, damit Sie den kompletten Text sehen (Abb.~\ref{fig:text-main})
+
+Zum Installieren mit Hilfe einer Benutzeroberfläche (Abb.~\ref{fig:gui-main}) verwenden Sie
+
+\begin{alltt}
+> \Ucom{perl install-tl -gui}
+\end{alltt}
+
+Hierfür muss das \dirname{Perl/TK}-Modul mit \acro{XFT}-Unterstützung (diese ist bei \GNU/Linux in der Regel mit einkompiliert) auf Ihrem System installiert sein.
+
+Alle Optionen des Installationsprogramms werden mit
+\begin{alltt}
+> \Ucom{perl install-tl -help}
+\end{alltt}
+angezeigt.
+
+\textbf{Wichtiger Hinweis zu den Zugriffsrechten unter Unix:} Ihre aktuelle Einstellung von \code{umask} wird bei der Installation von \TL berücksichtigt. Daher müssen Sie darauf achten, dass Sie hierfür einen sinnvollen Wert einstellen (z.\,B. \code{umask002}), wenn Ihre Installation auch durch andere Nutzer als Sie benutzt werden soll. Falls Sie unsicher sind, was dies bedeutet, schauen Sie bitte in die Anleitung zu \code{umask} (indem Sie das Kommando \code{man umask} eingeben oder im Internet danach suchen).
+
+\textbf{Besonderheit bei Cygwin:} Im Gegensatz zu anderen Unix-basierten
+Systemen fehlen bei Cygwin im Allgemeinen einige Programme, die vom Installationsprogramm von \TL vorausgesetzt werden. Bitte lesen Sie den Abschnitt \ref{sec:cygwin}.
+
+
+\section{MacOSX}
+
+Wie in Abschnitt~\ref{sec:tl-coll-dists} bereits erwähnt wurde, existiert mit Mac\TeX{} (\url{http://tug.org/mactex}) ein eigenes \TeX-System für \MacOSX. Dieses enthält ein komplettes \TL mit einem Installationsprogramm, das in Funktionalität und Aussehen der üblichen Installation von Software unter \MacOSX\ entspricht. Weiterhin sind einige Zusatzprogramme enthalten.
+
+Wenn Sie die \TK-\DVD besitzen, empfiehlt es sich daher, Mac\TeX{} zu verwenden.
+
+\section{Windows}
+
+Wenn Sie den \emph{Net Installer} verwenden, oder auf Ihrem System beim Einlegen der \DVD das Installationsprogramm nicht automatisch gestartet wurde, können Sie die Installation von \TL im Windows-Explorer durch einen Doppelklick auf \filename{install-tl.bat} (auf der \DVD befindet sich diese Datei im Verzeichnis \texttt{texlive}) starten.
+
+Falls Sie bei der Installation mehr Optionen benötigen (z.\,B. die Auswahl
+spezifischer Paketgruppen), starten Sie stattdessen \filename{install-tl-advanced.bat}.
+
+Alternativ können Sie eine cmd-Eingabeaufforderung verwenden, dort in das Verzeichnis wechseln, in dem sich das Installationsprogramm befindet und
+
+\begin{alltt}
+D:\bs{}texlive\bs{}> \Ucom{install-tl}
+\end{alltt}
+
+eingeben -- \texttt{...>} kennzeichnet hierbei den Eingabeprompt. Ihre Eingabe ist \Ucom{\texttt{bold/fett}} dargestellt.
+
+Alternativ können Sie die Installation auch aus einem beliebigen Verzeichnis heraus starten:
+
+\begin{alltt}
+> \Ucom{D:\bs{}texlive\bs{}install-tl}
+\end{alltt}
+
+wobei wir hier annehmen, dass sich ihre \TK-\DVD im Laufwerk D: befindet.
+Abb.~\ref{fig:wizard-w32} zeigt das grafische Installationsprogramm im
+">wizard mode"<, das unter Windows standardmäßig verwendet wird.
+
+Zur Installation im Textmodus verwenden Sie:
+\begin{alltt}
+> \Ucom{install-tl -no-gui}
+\end{alltt}
+
+\noindent Alle vorhandenen Optionen, die beim Starten des Installationsprogramms verwendet werden können, werden
+wie folgt angezeigt:
+
+\begin{alltt}
+> \Ucom{install-tl -help}
+\end{alltt}
+
+\begin{figure}[tb]
+\begin{boxedverbatim}
+Installing TeX Live 2012 from: ...
+Platform: i386-linux => 'Intel x86 with GNU/Linux'
+Distribution: inst (compressed)
+...
+ Detected platform: Intel x86 with GNU/Linux
+
+ <B> platforms: 1 out of 19
+
+ <S> installation scheme (scheme-full)
+ 84 collections out of 85, disk space required: 3091 MB
+
+ Customizing installation scheme:
+ <C> standard collections
+ <L> language collections
+
+ <D> directories:
+ TEXDIR (the main TeX directory):
+ /usr/local/texlive/2012
+ ...
+
+ <O> options:
+ [ ] use letter size instead of A4 by default
+ ...
+
+ <V> set up for portable installation
+
+Actions:
+ <I> start installation to hard disk
+ <H> help
+ <Q> quit
+\end{boxedverbatim}
+\caption{Hauptmenü des Installationsprogramms (\GNU/Linux).}\label{fig:text-main}
+\end{figure}
+
+\begin{figure}[tb]
+\includegraphics[width={\linewidth}]{install-lnx-main}
+\caption{Grafische Installation im Expertenmodus (\GNU/Linux).}\label{fig:gui-main}
+\end{figure}
+
+\begin{figure}[tb]
+\includegraphics[width={\linewidth}]{wizard-w32}
+\caption{Wizard mode (Windows)}\label{fig:wizard-w32}
+\end{figure}
+
+\section{Cygwin}\label{sec:cygwin}
+
+Das Installationsskript von \TL\ unterstützt nur Version~1.7 von Cygwin.
+Bevor Sie mit der Installation von \TL\ beginnen, verwenden Sie das
+Installationsprogramm von Cygwin (\filename{setup.exe}) um die Pakete
+\filename{perl} und \filename{wget} gegebenenfalls nachzuinstallieren.
+Wir empfehlen weiterhin die Installation folgender Cygwin-Pakete:
+
+\begin{description}
+\item[fontconfig] für \XeTeX
+\item[ghostscript] wird von verschiedenen Teilen von \TL\ benötigt
+\item[libXaw7] für \code{xdvi}
+\item[ncurses] damit der 'clear'-Befehl im Installer funktioniert
+\end{description}
+
+\section{Installation im Textmodus}
+
+Abb.~\ref{fig:text-main} zeigt den Eingangsbildschirm des Installationsprogramms im Textmodus (Standard unter Unix). Dieser ist ein reiner Textmodus, was zur Folge hatt dass es keine Unterstützung zum Wandern durch die einzelnen Menüpunkte mit den Cursor-Tasten gibt. Alle Befehle wie zum Beispiel die Auswahl von Menüpunkten werden durch Eingabe der entsprechenden Befehle bzw.\ Menükürzel über die Tastatur eingegeben und dann durch Drücken von \emph{Enter} übernommen. Hierbei wird zwischen Groß- und Kleinschreibung unterschieden!
+
+Die Installation im Textmodus ist so spartanisch, weil dieser Modus überall funktionieren soll, selbst mit einer Basisinstallation von Perl (für Windows enthält\TL\ eine Minimalversion von Perl).
+
+\section{Installation mit Benutzeroberfläche im Expertenmodus}
+
+Abb.~\ref{fig:gui-main} zeigt die grafische Installation im Expertenmodus
+unter GNU/Linux. Funktionell unterscheided sich dieser nicht wesentlich
+vom Textmodus, außer dass natürlich mit
+Menüs, Auswahlboxen etc. gearbeitet wird.
+
+Dieser Modus muss explizit mit
+\begin{alltt}
+> \Ucom{install-tl -gui=perltk}
+\end{alltt}
+gestartet werden.
+
+
+\section{Installation mit einfacher Benutzeroberfläche (wizard mode)}
+
+Unter Windows wird automatisch diese einfache Form der Installation verwendet,
+der so genannte ">wizard mode"< (Abb.~\ref{fig:wizard-w32}). Dieser zeichnet sich dadurch aus, dass er \TL\ komplett installiert und dabei vom Benutzer nur wenige Angaben gemacht werden müssen. Falls Sie eine individuell angepasste Version von \TL\ benötigen, verwenden Sie daher bitte einen der beiden anderen Installationsmodi.
+
+Um die Installation explizit im ">wizard mode"< zu starten (insbesondere unter
+Unix), verwenden Sie:
+\begin{alltt}
+> \Ucom{install-tl -gui=wizard}
+\end{alltt}
+
+
+\section{Benutzung des Installationsprogramms}\label{sec:runinstall}
+
+Das Installationsprogramm sollte (wenn Sie die vorherigen Abschnitte zum Aufbau von \TL und der verwendeten Verzeichnisstruktur gelesen haben) weitgehend selbsterklärend sein. Trotzdem wollen wir auf einige Punkte näher eingehen.
+
+
+\section{Auswahl der Binaries (nur für Unix)}\label{sec:binary}
+
+
+\begin{figure}[tb]
+\begin{boxedverbatim}
+Available platforms:
+===============================================================================
+ a [ ] alpha-linux DEC Alpha with GNU/Linux
+ b [ ] amd64-freebsd x86_64 with FreeBSD
+ c [ ] amd64-kfreebsd x86_64 with GNU/kFreeBSD
+ d [ ] armel-linux ARM with GNU/Linux
+ e [ ] i386-cygwin Intel x86 with Cygwin
+ f [ ] i386-freebsd Intel x86 with FreeBSD
+ g [ ] i386-kfreebsd Intel x86 with GNU/kFreeBSD
+ h [X] i386-linux Intel x86 with GNU/Linux
+ i [ ] i386-solaris Intel x86 with Solaris
+ j [ ] mips-irix SGI IRIX
+ k [ ] mipsel-linux mipsel with Linux
+ l [ ] powerpc-aix PowerPC with AIX
+ m [ ] powerpc-linux PowerPC with GNU/Linux
+ o [ ] sparc-solaris Sparc with Solaris
+ p [ ] universal-darwin universal binaries for MacOSX/Darwin
+ s [ ] win32 Windows
+ t [ ] x86_64-darwin x86_64 with MacOSX/Darwin
+ u [ ] x86_64-linux x86_64 with GNU/Linux
+ v [ ] x86_64-solaris x86_64 with Solaris
+\end{boxedverbatim}
+\caption{Auswahlmenü für Binaries}\label{fig:bin-text}
+\end{figure}
+
+\noindent Abb.~\ref{fig:bin-text} zeigt das Auswahlmenü für die Binaries der einzelnen Betriebssysteme im Textmodus. Im Allgemeinen sollte hier schon das richtige System ausgewählt sein. Sie können aber problemlos Binaries
+für verschiedene Systeme parallel auswählen. Dies bietet sich an, wenn Ihre Installation auf verschiedenen Rechnern in einem heterogenen Netzwerk sichtbar ist und von dort aus benutzt werden soll.
+
+\section{Auswahl der zu installierenden Komponenten}\label{sec:components}
+
+\begin{figure}[tbh]
+\begin{boxedverbatim}
+Select a scheme:
+===============================================================================
+ a [X] full scheme (everything)
+ b [ ] medium scheme (small + more packages and languages)
+ c [ ] small scheme (basic + xetex, metapost, a few languages)
+ d [ ] basic scheme (plain and latex)
+ e [ ] minimal scheme (plain only)
+ f [ ] ConTeXt scheme
+ g [ ] GUST TeX Live scheme
+ h [ ] teTeX scheme (more than medium, but nowhere near full)
+ i [ ] XML scheme
+ j [ ] custom selection of collections
+\end{boxedverbatim}
+\caption{Menü zur Auswahl des Schemas}\label{fig:scheme-text}
+\end{figure}
+
+
+\noindent Abb.~\ref{fig:scheme-text} zeigt das Auswahlmenü für ein grundsätzliches Installationsschema der
+\TL. Durch die Auswahl eines Schemas werden automatisch die Komponenten zur Installation ausgewählt, die
+für das gewünschte Schema notwendig bzw.\ sinnvoll sind. Mit einer vollständigen Installation von \TL
+(\emph{full scheme}) sind Sie auf der sicheren Seite, da hier einfach alles installiert wird. Sie können
+aber auch eines der abgespeckten Schemas wie \emph{basic} (für ein sehr schlankes System), \emph{medium}
+oder \emph{minimal} (dies empfiehlt sich aber nur für Testsysteme und weniger zum ernsthaften Arbeiten)
+auswählen. Weiter stehen einige Schemas für spezielle Zwecke oder Sprachen zur Verfügung.
+
+\begin{figure}[tb]
+\includegraphics[width=.7\linewidth]{stdcoll}
+\caption{Menü zur Aus- oder Abwahl von Collections.}\label{fig:collections-gui}
+\end{figure}
+
+Wenn Sie das Schema ausgewählt haben, können Sie dieses in den Menüpunkten \emph{standard collections} und
+\emph{language collections} (s.\,Abb.~\ref{fig:collections-gui}, diesmal zur Abwechslung im GUI-Modus)
+individuell nach Ihren Wünschen anpassen.
+
+Während das Schema nur den grundlegenden Funktionsumfang vorgibt, ist die Auswahl von Komponenten auf der
+Ebene der \emph{Collections} viel feiner. Eine Collection besteht dabei aus mehreren Paketen zu einem Thema,
+wobei jedes der Pakete aus bestimmten Makrodateien, Fontdateien usw. bestehen kann.
+
+Noch mehr Kontrolle über die Komponenten Ihres Systems haben Sie nach der Installation mit dem \TeX\ Live Manager (\prog{tlmgr}), das in Abschnitt~\ref{sec:tlmgr} beschrieben wird. Hier können Sie gezielt einzelne
+Pakete installieren oder entfernen.
+
+\section{Verzeichnisse}\label{sec:directories}
+
+
+Die Verzeichnisstruktur von \TL wurde bereits im Abschnitt~\ref{sec:texmftrees} auf S.~\pageref{sec:texmftrees}
+beschrieben. Als Wurzelverzeichnis für \TL (\dirname{TEXDIR}) wird unter Windows
+(|%SystemDrive%\texlive\2012|) und unter Unix (\dirname{/usr/local/texlive/2012}) angenommen.
+
+Prinzipiell können Sie diesen Pfad problemlos ändern, z.\,B. wenn Sie \TL als normaler Nutzer installieren
+wollen und kein Schreibrecht in dem oben angegebenen Verzeichnis besitzen.
+
+Auf Wunsch können Sie \TL also auch in Ihrem Home-Verzeichnis installieren, wenn Sie sowieso der einzige
+Verwender von \TL sind. Für Ihr Home-Verzeichnis können Sie den Pfad ">|~|"< verwenden und so
+beispielsweise \TL nach |~/texlive/2012| installieren.
+
+Wir empfehlen Ihnen, die Jahreszahl im Verzeichnisnamen beizubehalten. So können Sie von Jahr zu Jahr
+einfach die neue Version testen, ohne die alte zu entsorgen. Bei Bedarf können Sie einen symbolischen
+Link (z.B. \dirname{/usr/local/texlive-cur}) verwenden, der jeweils auf das Verzeichnis der aktuellen
+Version von \TL verweist.
+
+Wenn Sie die Einstellung \dirname{TEXDIR} im Installationsprogramm ändern, werden die Werte für
+\dirname{TEXMFLOCAL}, \dirname{TEXMFSYSVAR} und
+\dirname{TEXMFSYSCONFIG} automatisch angepasst.
+
+Das als \dirname{TEXMFHOME} bezeichnete Verzeichnis ist der Ort, in dem persönliche Makrodateien,
+Schriften o.\,ä. abgelegt werden können. Vorgabewert ist |~/texmf|. Im Gegensatz zu \dirname{TEXDIR}
+wird |~| hier nicht direkt zum Pfad des Home-Verzeichnisses aufgelöst, sondern unverändert in die
+Konfigurationsdateien von \TL übernommen und erst zur Laufzeit aufgelöst. Somit kann jeder Nutzer
+des Systems seinen komplett eigenen Pfad haben, der von \TL verwendet wird, und so nach Wunsch auch
+eigene Konfigurationsänderungen durchführen.
+Zur Laufzeit wird |~| unter Unix durch \dirname{\$HOME} und unter Windows durch \verb|%USERPROFILE%| ersetzt.
+
+Die Variable \dirname{TEXMFVAR} verweist auf das Verzeichnis mit benutzerspezifisch
+erzeugten Konfigurationsdateien, z.\,B. den Konfigurations-Cache von \ConTeXt\ Mk\acro{IV}.
+
+
+
+\section{Optionen}\label{sec:options}
+
+
+\begin{figure}[tbh]
+\begin{boxedverbatim}
+ <P> use letter size instead of A4 by default: [ ]
+ <E> execution of restricted list of programs: [X]
+ <F> create format files: [X]
+ <D> install font/macro doc tree: [X]
+ <S> install font/macro source tree: [X]
+ <L> create symlinks in standard directories: [ ]
+ binaries to:
+ manpages to:
+ info to:
+ <Y> after installation, get package updates from CTAN: [X]
+\end{boxedverbatim}
+\caption{Auswahlmenü für weitere Optionen (Unix).}\label{fig:options-text}
+\end{figure}
+
+\noindent Abb.~\ref{fig:options-text} zeigt das Menü, in dem weitere Einstellungen für die Installation von
+\TL möglich sind. Zur Erläuterung:
+\begin{description}
+\item[use letter size instead of A4 by default:] Verwendung von Letter anstatt DIN\,A4 als
+Standard\-papier\-größe. Natürlich können Sie später unabhängig davon für einzelne Dokumente eine
+beliebige Papiergröße wählen.
+
+\item[execution of restricted list of programs:] Ab \TL\ 2011 können bei einem
+\TeX-Lauf standardmäßig einige externe Programme aufgerufen werden. Die (kurze)
+Liste der erlaubten Programme wird in der Datei \filename{texmf.cnf} definiert.
+Für weitere Informationen siehe Abschnitt~\ref{sec:2011news} über Neuerungen in
+\TL\ 2011.
+
+\item[create format files:] Auch wenn das Erzeugen von Formatdateien für Makropakete, die Sie gar
+ nicht benötigen, Zeit und Platz kostet, empfehlen wir trotzdem, diese Option ausgewählt zu belassen.
+ Falls Sie diese Option abwählen, werden Formatdateien jeweils bei Bedarf erzeugt, und dann
+ im persönlichen \dirname{TEXMFVAR}-Baum des aktuellen Benutzers abgelegt. Dort liegende Formate werden allerdings
+ nicht automatisch neu generiert, wenn z.\,B. Programme oder Silbentrennmuster aktualisiert werden, so dass
+ im Extremfall nach einem Update Inkompatibilitäten entstehen können.
+
+\item[install font/macro \ldots\ tree:] Mit dieser Option können Sie
+ verhindern, dass die Dokumentation und die Quelldateien der Pakete
+ installiert werden. Wir raten aber, die Vorgabe zu übernehmen, also
+ die Dokumentation und Quelldateien zu installieren.
+
+\item[create symlinks in standard directories] (nur unter Unix):
+ Mit dieser Option können Sie symbolische Links für Programme und Dokumentation in den Standard\-verzeichnissen
+ Ihres Systems anlegen, so dass Sie Ihre Umgebungsvariablen \envname{PATH}, \envname{MANPATH} und
+ \envname{INFOPATH} nicht anpassen müssen. Natürlich benötigen Sie für diese Option Schreibrechte in
+ den entsprechenden Verzeichnissen. Hinweis: Diese Option ist nicht dazu gedacht, ein vorhandenes \TeX-System, das
+ z.\,B. als Teil Ihrer Linux-Distribution installiert wurde, zu überschreiben! Sie dient vielmehr dazu,
+ dass Links in Verzeichnissen angelegt werden, wo die Nutzer sie erwarten -- beispielsweise in
+ \dirname{/usr/local/bin} --, aber sich dort noch keine \TeX-Programme befinden.
+
+\item[after installation \dots{} CTAN:] Diese Option ist bei der Installation von DVD standardmäßig gesetzt. Sie sorgt dafür, dass nach der Installation Paket-Ak\-tuali\-sie\-rungen aus dem Internet geladen werden. Es gibt nur einen sinnvollen Grund, diese Option nicht zu aktivieren: wenn nur ein Untermenge von \TL\ installiert wurde und Pakete nach der Installation manuell hinzugefügt werden sollen.
+
+\end{description}
+
+\noindent Wenn Sie alle gewünschten Einstellungen für die Installation vorgenommen haben, können Sie im Hauptmenü nun ">I"< eintippen, um diese zu starten. Lesen Sie dann anschließend Abschnitt~\ref{sec:postinstall} für
+eventuell notwendige Arbeiten zum Abschluss der Installation.
+
+\section{Kommandozeilenoptionen für die Installation}\label{sec:cmdline}
+
+
+Nach Eingabe von
+\begin{alltt}
+> \Ucom{install-tl -help}
+\end{alltt}
+erhalten Sie eine Liste der vorhanden Kommando\-zeilen\-optionen. Sie können diese entweder mit |-| oder |--|
+verwenden. Die wichtigsten sind:
+
+\begin{description}
+\item[-gui] Installation im grafischen Modus. Hierfür muss unter Unix Perl/Tk (mit \acro{XFT}-Unterstützung) installiert sein
+ (\url{http://tug.org/texlive/distro.html#perltk}). Falls dies nicht der Fall ist, wird die Installation
+ im Textmodus durchgeführt.
+
+\item[-no-gui] Installation im Textmodus. Da dies unter Unix Standard ist, wirkt sich diese Option nur
+ unter Windows aus. Da die Installation zum Benutzen von \TL direkt von \DVD im grafischen Modus nicht
+ verfügbar ist, brauchen Sie in diesem Fall unbedingt den Textmodus.
+
+\item[-lang {\sl LL}] Sprache des Installationsprogramms als Sprach-Code in zwei Buchstaben (\textsl{LL}).
+ Derzeit werden unterstützt. Das Installationsprogramm versucht, die gewünschte Sprache anhand des
+ Systems herauszufinden. Falls dies scheitert oder die betreffende Sprache nicht verfügbar ist, wird als
+ Fallback-Sprache Englisch genutzt.
+
+\item[-in-place] Sollten Sie schon ein rsync, svn, oder eine andere Kopie von
+ \TL{} haben (siehe \url{http://tug.org/texlive/acquire-mirror.html}), dann wird diese Option genau das nutzen, was Sie schon haben und nur die notwendigen post-install Operationen durchführen. Eine Warnung: Die Datei \filename{tlpkg/texlive.tlpdb} kann dadurch überschrieben werden; machen Sie vorher gegebenenfalls eine Sicherheitskopie. Die Entfernung von Paketen muss auch manuell vorgenommen werden.
+
+Diese Option kann nicht über die Installer-Schnittstelle gesetzt werden.
+
+\item[-portable] Die Option \code{-portable} (\code{V} im Text-Installer oder die entsprechende Option im grafischen Installer); dient der Installation auf einem USB-Stick oder einer DVD-R. Siehe Abschnitt \ref{sec:portable-tl} für Informationen über die portable Installation von \TL.
+
+\item[-profile {\sl profile}] Das Installationsprogramm schreibt die ausgewählten Optionen in eine Datei
+ \filename{texlive.profile}. Mit dieser Option können
+ Sie eine bereits vorhandene Datei bei der Installation weiter verwenden, z.\,B. wenn Sie äquivalente
+ Installationen auf mehreren Rechnern realisieren wollen, ohne alle Auswahlschritte der Installation immer
+ wieder neu durchführen zu müssen.
+
+\item [-repository {\sl url/path}] zur Auswahl einer Installationsquelle,
+ für weitere Erläuterung siehe den nächsten Abschnitt.
+\end{description}
+
+
+\section{Die Option repository}\label{sec:location}
+
+
+Als Standardquelle für die Installation wird ein \CTAN-Knoten verwendet, der automatisch von \url{http://mirror.ctan.org} ermittelt wird.
+
+Falls Sie eine andere Installationsquelle verwenden wollen, geben Sie eine neue Quelle an, die entweder mit \texttt{ftp:}, \texttt{http:} oder \texttt{file:/} beginnt oder ein Verzeichnispfad auf Ihrem System ist.
+Falls Sie \texttt{http:} oder \texttt{ftp:} verwenden, werden ">\texttt{/}"<-Zeichen am Ende ignoriert.
+
+Sie können also z.\,B. einen bestimmten \CTAN-Knoten auswählen, so etwa
+\url{http://ctan.example.org/tex-archive/systems/texlive/tlnet/},
+wobei Sie natürlich statt |ctan.example.org| einen echten Servernamen
+verwenden und wahrscheinlich auch den Rest der URL anpassen müssen.
+Eine Auflistung von \CTAN-Servern finden Sie unter \url{http://ctan.org/mirrors}.
+
+Falls Sie ein lokales Repository verwenden (also entweder direkt einen
+Verzeichnispfad oder eine mit \texttt{file:/}-URL angeben), so werden
+bevorzugt Archivdateien in einem Unterverzeichnis \dirname{archive} des
+Repository verwendet, selbst wenn ausgepackte Dateien vorhanden sind.
+
+\section{Aufgaben im Anschluss an die Installation}\label{sec:postinstall}
+
+Je nach System kann es notwendig sein, dass im Anschluss an die Installation noch einige Kleinigkeiten erledigt werden müssen.
+
+\subsection{Windows}
+
+Benutzer von Windows sind hier in der glücklichen Position, dass das Installationsprogramm alles komplett erledigt haben sollte.
+
+\subsection{Unix, falls symbolische Links angelegt wurden}
+
+Wenn Sie bei der Installation angegeben haben, dass und wo symbolische Links angelegt werden sollten (s.\,Abschnitt~\ref{sec:options}), dann sollten hier auch keine Nacharbeiten mehr notwendig sein.
+
+\subsection{Umgebungsvariablen für Unix}
+\label{sec:env}
+
+Das Verzeichnis mit den ausführbaren Programmen von \TL muss sich im Suchpfad des Systems befinden.
+Jedes unterstützte System besitzt ein eigenes Verzeichnis unterhalb von \dirname{TEXDIR/bin}, deren
+Namen Sie in Abb.~\ref{fig:bin-text} finden.
+
+Weiterhin können Sie die Verzeichnisse mit den Manual-Pages und Info-Dateien zu den entsprechenden
+Suchpfaden für Dokumentation hinzufügen.
+
+Für Systeme mit einer Bourne-kompatiblen Shell wie \prog{bash} ist hier am Beispiel von GNU/Linux
+aufgeführt, wie die Befehle zum Setzen der Umgebungsvariablen (z.\,B. in \filename{\$HOME/.profile})
+aussehen könnten:
+
+\begin{verbatim}
+export PATH=/usr/local/texlive/2012/bin/i386-linux:$PATH
+export MANPATH=/usr/local/texlive/2012/texmf/doc/man:$MANPATH
+export INFOPATH=/usr/local/texlive/2012/texmf/doc/info:$INFOPATH
+\end{verbatim}
+
+\noindent Für \prog{csh} oder \prog{tcsh} erfolgt die Konfiguration in der Regel in der Datei~\filename{\$HOME/.cshrc}
+und könnte so aussehen:
+
+\begin{verbatim}
+setenv PATH /usr/local/texlive/2012/bin/i386-linux:$PATH
+setenv MANPATH /usr/local/texlive/2012/texmf/doc/man:$MANPATH
+setenv INFOPATH /usr/local/texlive/2012/texmf/doc/info:$INFOPATH
+\end{verbatim}
+
+\subsection{Systemweites Setzen von Umgebungsvariablen}
+\label{sec:envglobal}
+
+
+Wenn Sie als Administrator die Umgebungsvariablen global für das gesamte System setzen wollen,
+gehen wir davon aus, dass Sie sich mit der grundlegenden Systemadministration auskennen.
+
+Daher hier nur zwei Hinweise:
+
+\begin{enumerate}
+\item Schauen Sie nach einer Datei
+\filename{/etc/manpath.config}. Falls diese vorhanden ist, sollte es reichen, folgende Zeilen
+hinzu zu fügen:
+
+\begin{verbatim}
+MANPATH_MAP /usr/local/texlive/2012/bin/i386-linux \
+ /usr/local/texlive/2012/texmf/doc/man
+\end{verbatim}
+
+\item Prüfen Sie, ob es auf Ihrem System eine Datei \filename{/etc/environment} gibt, in der die
+systemweiten Umgebungsvariablen definiert werden.
+
+Zusätzlich wird ein symbolischer Link \code{man} im binary-Verzeichnis unter
+Unix angelegt, der auf \dirname{texmf/doc/man} berweist. Einige Versionen von \code{man}, so z.\,B. unter \MacOSX,
+finden so verlinkte Man-Pages automatisch, so dass hier keine spezielle
+Konfiguration für die Man-Pages mehr erforderlich ist.
+
+\end{enumerate}
+
+\subsection{Internet-Updates nach der Installation von DVD}
+\label{sec:dvd-install-net-updates}
+
+
+Wenn Sie von DVD installiert haben, können Sie mittels des folgenden Befehls die Aktualisierung über das Internet aktivieren. Zuerst müssen Sie, wie im letzten Abschnitt beschrieben, den Suchpfad angepasst haben:
+
+\begin{alltt}
+> \Ucom{tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet}
+\end{alltt}
+
+\noindent Dadurch nutzt \cmdname{tlmgr} beim nächsten Update einen \CTAN\ Mirror. Sollte es Probleme bei der automatischen Wahl eines Mirror-Servers geben, kann ein bestimmter \CTAN\ Server von der unter \url{http://ctan.org/mirrors} verfügbaren Liste ausgewählt werden. Benutzen Sie diesen Pfad dann mit dem oben genannten Befehl.
+
+\subsection{Font configuration für xe\TeX}\label{sec:font-conf-xetex}
+
+
+\XeTeX\ und Lua\TeX\ können nicht nur die Schriften in den \TeX\ Bäumen nutzen, sondern auch die auf dem System vorhandenen Fonts. Die Methoden, wie sie dies tun, ähneln sich, sind aber verschieden.
+
+Unter Windows sind die auf dem System vorhandenen Schriften automatisch nutzbar. Auf einem Unix/Linux System sind Anpassungen notwendig, damit die Schriften per Systemname und nicht nur Dateiname gefunden werden können.
+
+Hierfür wird bei der Installation des \filename{xetex} Pakets die Datei \filename{TEXMFSYSVAR/fonts/conf/texlive-fontconfig.conf}
+erzeugt.
+
+Um die mitgelieferten \TL-Schriften systemweit verwenden zu können,
+gehen Sie bitte folgendermaßen vor:
+
+\begin{enumerate}
+\item Kopieren Sie als root-User \filename{texlive-fontconfig.conf} nach
+\dirname{/etc/fonts/conf.d/09-texlive.conf}.
+\item Führen Sie \Ucom{fc-cache -fsv} aus.
+\end{enumerate}
+
+\noindent Falls Ihnen als normaler Nutzer die entsprechenden Privilegien für die
+obigen Schritte fehlen, können Sie die \TL-Schriften für sich selbst
+als \XeTeX-Nutzer verwendbar machen:
+\begin{enumerate}
+\item Kopieren Sie \filename{texlive-fontconfig.conf} in das Unterverzeichnis
+ \filename{~/.fonts.conf}, wobei \filename{~} Ihr Home-Verzeichnis ist.
+\item Führen Sie \Ucom{fc-cache -fv} aus.
+\end{enumerate}
+
+Führen Sie \code{fc-list} aus, um eine Liste der Systemschriften mit hilfreichen Informationen zu erhalten.
+
+\subsection{Con\TeX t Mark IV}
+\label{sec:context-mkiv}
+
+Sowohl das \enquote{alte} \ConTeXt{} (Mark \acro{II}) als auch das `neue' \ConTeXt{} (Mark \acro{IV}) sollten problemlos nach der \TL{} Installation funktionieren und brauchen keine besondere Aufmerksamkeit, sofern \verb+tlmgr+ für den Update-Prozess genutzt wird.
+
+Da \ConTeXt{} Mk\acro{IV} jedoch nicht die kpathsea-Bibliothek nutzt, ist
+ein wenig manuelle Nacharbeit notwendig, wenn neue Dateien manuell installiert werden (also ohne die Nutzung von
+\verb+tlmgr+).
+
+Nach einer jeden solchen Installation muss jeder Nutzer das das folgende Kommando ausführen, um den \ConTeXt{} Cache zu aktualisieren:
+
+\begin{verbatim}
+context --generate
+\end{verbatim}
+
+Die erzeugten Dateien werden in \code{TEXMFCACHE} gespeichert, dessen Standardwert \verb+TEXMSYSVAR;TEXMFVAR+ ist.
+
+\ConTeXt\ Mk\acro{IV} liest aus allen Pfaden, die in \verb+TEXMFCACHE+ aufgeführt sind und schreibt in die erste Pfadangabe, bei der Schreibrechte existieren. Im Fall identischer Cache-Daten hat der letzte gefundene Pfad Vorrang vor allen anderen Pfaden.
+
+Für weitere Informationen siehe
+\url{http://wiki.contextgarden.net/Running_Mark_IV} und
+\url{http://wiki.contextgarden.net/TeX_Live_2012}.
+
+\subsection{Integrieren lokaler bzw. nutzer-spezifischer Makros}
+\label{sec:local-personal-macros}
+
+Wie bereits in Abschnitt~\ref{sec:texmftrees} erwähnt, ist der Verzeichnisbaum \dirname{TEXMFLOCAL} (im Normalfall \dirname{/usr/local/texlive/texmf-local} oder \verb|%SystemDrive%\texlive\texmf-local|) für lokale Ergänzungen wie Makros und Schriften gedacht, die anschließend allen Benutzern des Systems zur Verfügung stehen. Weiterhin können Benutzer den Verzeichnisbaum \dirname{TEXMFHOME} (im Normalfall \dirname{\$HOME/texmf} oder \verb|%USERPROFILE%\texmf|) für persönliche Ergänzungen verwenden, ohne dass andere Benutzer davon beeinflusst werden.
+
+Diese Verzeichnisse sollen über verschiedene Versionen von \TL hinweg identisch sein, so dass ein Update von \TL auf eine neue Version einfach möglich ist, ohne dass Sie Ihre lokalen Ergänzungen verlieren. Wir empfehlen Ihnen daher, von der vorgegebenen Verzeichnisstruktur nicht abzuweichen.
+
+Für beide oben genannte Verzeichnisbäume erwartet \TL eine Verzeichnisstruktur innerhalb des Baums, die dem \emph{\TeX{} Directory Standard} entspricht, wie er in \url{http://tug.org/tds} bzw. \filename{texmf/web2c/texmf.cnf} definiert ist.
+So gehören Dokumentklassen für \LaTeX{} zum Beispiel in ein Verzeichnis
+unterhalb von \dirname{TEXMFLOCAL/tex/latex} oder \dirname{TEXMFHOME/tex/latex}.
+
+Der Verzeichnisbaum \dirname{TEXMFLOCAL} wird zur Laufzeit nicht direkt nach Dateien durchsucht. Stattdessen wird eine Liste von Dateinamen verwendet, sich sich in einer Datei mit dem Namen~\filename{ls-R} befindet. Denken Sie also daran, nach Änderungen in diesem Baum diese Dateiliste zu aktualisieren. Dies tun Sie
+entweder mit dem Befehl \cmdname{mktexlsr} oder über die Schaltfläche \emph{Reinit file database} in dem Konfigurationsreiter des \TeX\ Live Managers (GUI-Modus).
+
+\subsection{Integrieren von Schriften}
+
+Die Installation von Schriften, die nicht von \TL sind, ist eine recht komplexe Angelegenheit. Sie sollten sich bereits gut mit dem System auskennen, bevor Sie diese Aufgabe beginnen. Schauen Sie vielleicht vorher in Abschnitt~\ref{sec:tl-fonts} nach, welche Schriften bereits bei \TL mitgeliefert werden.
+
+Eine Alternative besteht im Benutzen von \XeTeX\ oder Lua\TeX\ (s.\,Abschnitt~\ref{sec:tex-extensions}), bei dem direkt alle vom Betriebssystem installierten Schriften verwendet werden können, ohne dass die Installation
+einer \TeX-Unterstützung notwendig ist.
+
+Falls Sie wirklich weitere Schriften benötigen, finden Sie unter \url{http://tug.org/fonts/fontinstall.html} eine Beschreibung zur
+Installation weiterer Schriften.
+
+\section{Testen der Installation}
+\label{sec:test-install}
+
+
+Nach der Installation von \TL wollen Sie es natürlich benutzen, um möglichst schöne Dokumente zu setzen.
+
+Dieser Abschnitt beschreibt, wie Sie prüfen können, ob Ihr \TL-System funktioniert.
+Die folgenden Beispiele sind für Unix, sollten unter Windows und \MacOSX aber sehr ähnlich sein. Der Unterschied kann sein, dass Sie dort eventuell eine grafische Benutzeroberfläche verwenden.
+
+\begin{enumerate}
+
+\item Prüfen Sie, ob Sie das Programm \cmdname{tex} ausführen können:
+
+\begin{alltt}
+> \Ucom{tex -{}-version}
+TeX 3.1415926 (TeX Live 2012)
+kpathsea version 5.0.0
+Copyright 2011 D.E. Knuth.
+...
+\end{alltt}
+
+Erhalten Sie als Resultat statt der Versionsnummer die Meldung, dass der Befehl nicht gefunden wurde,
+so haben Sie wahrscheinlich vergessen, das Verzeichnis mit den ausführbaren Programmen
+in Ihren \envname{PATH} aufzunehmen, s.\,Abschnitt~\ref{sec:env} auf S.\,\pageref{sec:env}.
+
+\item Eine einfache \LaTeX{}-Datei übersetzen:
+\begin{alltt}
+> \Ucom{latex sample2e.tex}
+pdfTeX 3.1415926-1.40.11-2.2 (TeX Live 2012)
+...
+Output written on sample2e.dvi (3 pages, 7484 bytes).
+Transcript written on sample2e.log.
+\end{alltt}
+
+Falls dies schief geht, sind wahrscheinlich noch alte Umgebungsvariablen einer vorigen \TeX-Installation
+übrig geblieben. Wir empfehlen, die Umgebungsvariablen, die sich auf \TeX{} beziehen, zu entfernen.
+Für eine weitere Analyse können Sie \TeX{} anzeigen lassen, wo es bestimmte Dateien sucht,
+siehe ">Fehlersuche"< auf Seite~\pageref{sec:debugging}.
+
+\item Ergebnis auf dem Bildschirm anschauen:
+\begin{alltt}
+> \Ucom{xdvi sample2e.dvi} # Unix
+> \Ucom{dviout sample2e.dvi} # Windows
+\end{alltt}
+Nun sollte
+sich ein Vorschaufenster mit dem soeben gesetzten Beispieldokument öffnen, das die Grundlagen von
+\LaTeX{} erläutert (und das Anfänger tatsächlich auch einmal lesen sollten).
+Unter Unix muss ein X-Server laufen, damit \cmdname{xdvi} funktioniert;
+falls dies nicht der Fall ist oder die Umgebungsvariable \envname{DISPLAY} falsch gesetzt ist,
+erhalten Sie die Fehlermeldung \samp{Can't open display}.
+
+\item Eine \PS{}-Datei erzeugen:
+\begin{alltt}
+> \Ucom{dvips sample2e.dvi -o sample2e.ps}
+\end{alltt}
+
+\item Direkt eine \acro{PDF}-Datei erzeugen (statt \dvi{}):
+\begin{alltt}
+> \Ucom{pdflatex sample2e.tex}
+\end{alltt}
+
+\item Eine \acro{PDF}-Datei anschauen:
+\begin{alltt}
+> \Ucom{gv sample2e.pdf}
+\textrm{or:}
+> \Ucom{xpdf sample2e.pdf}
+\end{alltt}
+Weder \cmdname{gv} noch \cmdname{xpdf} sind in \TL{} enthalten, daher müssen diese separat installiert
+werden, siehe \url{http://www.gnu.org/software/gv} bzw.
+\url{http://www.foolabs.com/xpdf}.
+Sie können natürlich auch andere PDF-Viewer verwenden, beispielsweise den Adobe Reader, der allerdings unter Windows das Problem hat dass geöffnete PDF-Dateien
+nicht überschrieben werden können, was zu Fehlern von pdf\TeX\ führt, wenn
+Sie ein Dokument übersetzten wollen und vergessen haben, es vorher im
+Acrobat Reader zu schließen. Unter Windows sollten Sie auch einmal
+Sumatra PDF (\url{http://blog.kowalczyk.info/software/sumatrapdf}) ausprobieren.
+
+\item Weitere nützliche Test-Dateien außer
+\filename{sample2e.tex}:
+
+\begin{description}
+\item [small2e.tex] Einfachere Version von \filename{sample2e}, um den Fehler einzugrenzen, wenn Sie
+beim Ãœbersetzen von \filename{sample2e} Probleme haben.
+\item [testpage.tex] Hiermit können Sie prüfen, ob Ihr Drucker Ihren Ausdruck horizontal oder vertikal verschiebt.
+\item [nfssfont.tex] Zum Testen von Fonts und Erzeugen von Schrifttabellen.
+\item [testfont.tex] Erzeugen von Schrifttabellen, aber mit plain \TeX.
+\item [story.tex] Das einfachste Testdokument von allen (in plain \TeX{}).
+Geben Sie am Ende \samp{\bs bye} ein, wenn nach dem Aufruf von \samp{tex
+story.tex} der \code{*} erscheint.
+\end{description}
+
+\item Falls Sie das \filename{xetex}-Paket installiert haben, können Sie
+das Verwenden von Systemschriften folgendermaßen testen:
+\begin{alltt}
++> \Ucom{xetex opentype-info.tex}
+This is XeTeX, Version 3.1415926\dots
+...
+Output written on opentype-info.pdf (1 page).
+Transcript written on opentype-info.log.
+\end{alltt}
+
+(Oder das gleiche für \filename{luatex}.)
+
+Falls Sie die Fehlermeldung ">Invalid fontname \glq Latin Modern
+Roman\grq\dots"< erhalten, muss Ihr System so konfiguriert werden, dass
+es die von \TL\ mitgelieferten Schriften findet (siehe Abschnitt~\ref{sec:font-conf-xetex}).
+\end{enumerate}
+
+
+\section{Hinweise auf weitere Software}
+
+In vielen Fällen ist die Installation weiterer Software sinnvoll:
+\begin{description}
+\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/}
+\item[Perl] \url{http://www.perl.org/} mit Zusatzpaketen von
+ \acro{CPAN}, \url{http://www.cpan.org/}
+\item[ImageMagick] \url{http://www.imagemagick.com}, für die Bearbeitung
+ und Umwandlung von Bildern in andere Formate,
+\item[NetPBM] \url{http://netpbm.sourceforge.net/}, ebenfalls für Bilder.
+
+\item[\TeX-Oberflächen] Es gibt eine breite Auswahl von Oberflächen bzw.
+ Editoren, die \TeX\ unterstützen, je nach persönlichem Geschmack des
+ Benutzers. Hier ist eine Auswahl, wobei einige davon nur für Windows verfügbar sind:
+ \begin{itemize}
+ \item \cmdname{GNU Emacs} gibt es auch für Windows, siehe
+ \url{http://www.gnu.org/software/emacs/windows/ntemacs.html}.
+ \item \cmdname{Emacs} mit Auc\TeX\ für Windows findet man auf der Homepage \url{http://www.gnu.org/software/auctex}.
+ \item \cmdname{Emacs} mit Auc\TeX\ für Windows findet man auf der Homepage \url{http://www.gnu.org/software/auctex}.
+ \item \cmdname{LEd} findet sich unter \url{http://www.ctan.org/support/LEd}.
+ \item \cmdname{SciTE} findet sich unter
+ \url{http://www.scintilla.org/SciTE.html}.
+ \item \cmdname{Texmaker} ist Freie Software, verfügbar über
+ \url{http://www.xm1math.net/texmaker/}.
+ \item \cmdname{TexMakerX} \url{http://texmakerx.sourceforge.net/}
+ ist eine Version von \cmdname{Texmaker} mit zusätzlichen Features
+ \item \cmdname{TeXnicCenter} ist Freie Software, verfügbar über
+ \url{http://www.texniccenter.org} und als Teil von pro\TeX{}t.
+ \item \cmdname{TeXworks} ist Freie Software, verfügbar über
+ \url{http://tug.org/texworks}. Wird unter Windows und
+ \MacOSX\ als Teil von \TL\ mitinstalliert.
+ \item \cmdname{Vim} ist Freie Software, verfügbar über
+ \url{http://www.vim.org}.
+ \item \cmdname{WinShell} findet sich unter \url{http://www.winshell.de}.
+ \item \cmdname{WinEdt} ist Shareware, verfügbar über
+ \url{http://tug.org/winedt} oder \url{http://www.winedt.com}.
+ Bitte beachten Sie, dass es für Mitglieder von \dante\ ein
+ Lizenzabkommen mit WinEdt zu sehr günstigen Preisen gibt.
+ \end{itemize}
+\end{description}
+Für weitere Programme siehe \url{http://tug.org/interest.html}.
+
+\chapter{Installation für mehrere Maschinen oder Nutzer (Netz-Installation)}
+\label{sec:sharedinstall}
+
+Bei \TL ist nicht nur vorgesehen, dass es von mehreren Benutzern auf einem System verwendet werden kann, sondern auch in einem Netzwerk. In der normalen Konfiguration von \TL werden nur relative und keine absoluten Pfade verwendet. Dies erkennt man an Einstellungen in der Datei \filename{\$TEXMFMAIN/web2c/texmf.cnf}, die Zeilen wie die folgenden enthält, in denen Verzeichnisse relativ zu den Verzeichnissen lokalisiert werden,
+in denen sich die Programme befinden:
+
+\begin{verbatim}
+TEXMFMAIN = $SELFAUTOPARENT/texmf
+...
+TEXMFLOCAL = $SELFAUTOPARENT/../texmf-local
+\end{verbatim}
+
+Daher ist es im Normalfall ausreichend, das Programm-Verzeichnis in den Suchpfad des Systems aufzunehmen, alles weitere bestimmt \TL dann automatisch.
+
+Daher ist es kein Problem, wenn das Grundverzeichnis von \TL als Netzlaufwerk eingebunden ist. Tatsächlich können Sie \TL\ sogar zunächst lokal installieren und dann auf ein Netzlaufwerk verschieben.
+
+Benutzer von Windows können ein Installationsskript namens \filename{w32client}
+für eine Netzwerkinstallation von \url{http://tug.org/texlive/w32client.html} (siehe auch Abschnitt \ref{sec:sharedinstall}) herunterladen. Dieses nimmt die Einstellungen im Startmenü von Windows für das Verwenden von \TL über Netzwerk vor, weiterhin wird ein Skript zur Deinstallation mitgeliefert. Lesen Sie bitte die Beschreibung auf der angegebenen Webseite.
+
+\chapter{Portables \TL auf DVD oder USB-Stick}\label{sec:portable-tl}
+
+Wenn Sie \TL\ im portablen Modus verwenden wollen (z.\,B. auf einem Rechner,
+auf dem Sie "`Gast"' sind), können Sie \TL\ mit der Option \optname{-portable} (bzw. der Option \code{V} im Text-Installer oder der entsprechenden Option im grafischen Installer) auf einem USB-Stick installieren (siehe Abschnitt \ref{sec:cmdline}).
+
+Um \TeX\ von dieser portablen Installation ausführen zu können, muss das entsprechenden Verzeichnis mit den Binaries dem Suchpfad hinzugefügt werden. Unter Windows kann man \filename{tl-tray-menu} im Stammverzeichnis der Installation doppelt klicken, um zwischen verschiedenen Aufgaben zu wählen.
+
+\medskip
+\includegraphics[width=4cm]{tray-menu}
+\smallskip
+
+\noindent Der Eintrag `More\ldots' erläutert, wie Sie dieses Menü anpassen können.
+
+\chapter{tlmgr: Installation verwalten}\label{sec:tlmgr}
+
+
+\begin{figure}[tb]
+\includegraphics[width=\linewidth]{tlmgr-gui}
+\caption{\prog{tlmgr} im GUI-Modus. Hauptfenster nach dem Klicken auf ">Load"<.}\label{fig:tlmgr-gui}
+\end{figure}
+
+\begin{figure}[tb]
+ \includegraphics[width=0.65\linewidth]{tlmgr-general-options}
+ \caption{\texttt{tlmgr} im GUI-Modus: Allgemeine Optionen}
+ \label{fig:tlmgr-general-options}
+\end{figure}
+
+\begin{figure}
+\includegraphics[width=0.65\linewidth]{tlmgr-paper-options}
+ \caption{\texttt{tlmgr} im GUI-Modus: Optionen zur Papiergröße}
+ \label{fig:tlmgr-paper-options}
+\end{figure}
+
+Bei der Installation von \TL wird auch das Programm~\prog{tlmgr} installiert, mit dem Sie anschließend Ihr \TL-System verwalten können. Die hierfür bisher verwendeten Programme~\prog{updmap}, \prog{fmtutil} und \prog{texconfig} sind zwar noch vorhanden, aber inzwischen ist \prog{tlmgr} die vorgesehene Oberfläche zur Konfiguration von \TL. Mit \prog{tlmgr} können Sie folgende Aufgaben erledigen:
+
+\begin{itemize}
+\item Verfügbare Schemas, Collections und Pakete installieren, aktualisieren, wieder
+ herstellen, sichern, deinstallieren, auf Wunsch mit
+ Berücksichtigung von Paketabhängigkeiten.
+\item Suchen nach Paketen.
+\item Anzeigen der Systeme, unter denen \TL läuft; (de)installieren von Binaries für weitere Systeme.
+\item Anpassen der Installation, wie Ändern der Papiergröße oder des Quellverzeichnisses für Komponenten
+ (s.\,Abschnitt~\ref{sec:location}).
+\end{itemize}
+
+\textit{Achtung:} \prog{tlmgr} ist für die Installation im portablen Modus (Abschnitt \ref{sec:portable-tl}) weder gedacht noch getestet.
+
+\section{tlmgr im grafischen Modus}
+
+\prog{tlmgr} im GUI-Modus (siehe Abbildung \ref{fig:tlmgr-gui}) wird durch
+\begin{alltt}
+> \Ucom{tlmgr -gui}
+\end{alltt}
+
+gestartet. Unter Windows finden Sie das Programm im Start menu: \texttt{Start}, \texttt{Programme}, \texttt{TeX Live 2012}, \texttt{TeX Live Manager}. Nach Klicken auf ">Load"< wird eine Liste aller verfügbaren und installierten (letztere durch ">(i)"< gekennzeichnet) angezeigt. Dies setzt voraus, dass das Verzeichnis, aus dem \TL die Pakete lädt, vorhanden bzw.\ erreichbar ist.
+
+Abb.~\ref{fig:tlmgr-general-options} und \ref{fig:tlmgr-paper-options} zeigen die Reiter zur allgemeinen Konfiguration von \TL\ und zur Einstellung der Papiergröße.
+
+
+\section{Beispiel zur Verwendung von tlmgr über Kommandozeile}
+
+
+Nachdem Sie \TL\ installiert haben, können Sie Ihr \TL-System auf den
+neuesten Stand aktualisieren:
+\begin{alltt}
+> \Ucom{tlmgr update -all}
+\end{alltt}
+Falls Sie vorher wissen wollen, was passiert, können Sie zunächst
+\begin{alltt}
+> \Ucom{tlmgr update -all -dry-run}
+\end{alltt}
+oder (weniger ausführlich)
+\begin{alltt}
+> \Ucom{tlmgr update -list}
+\end{alltt}
+verwenden.
+
+Das folgende Beispiel demonstriert, wie die Collection für \XeTeX\ installiert
+wird, wobei sich die Installationsdateien in einem lokalen Verzeichnis
+befinden:
+
+\begin{alltt}
+\Ucom{tlmgr -repository /local/mirror/tlnet install collection-xetex}
+\end{alltt}
+Dies liefert die folgende Ausgabe:
+
+\begin{verbatim}
+install: collection-xetex
+install: arabxetex
+...
+install: xetex
+install: xetexconfig
+install: xetex.i386-linux
+running post install action for xetex
+install: xetex-def
+...
+running mktexlsr
+mktexlsr: Updating /usr/local/texlive/2012/texmf/ls-R...
+...
+running fmtutil-sys --missing
+...
+Transcript written on xelatex.log.
+fmtutil: /usr/local/texlive/2012/texmf-var/web2c/xetex/xelatex.fmt installed.
+\end{verbatim}
+
+Wie man sieht, beachtet \prog{tlmgr} die Abhängigkeiten von Paketen und installiert im obigen Beispiel von \XeTeX{} benötigte Komponenten nach. Weiterhin werden automatisch im Anschluss die Dateilisten der Verzeichnisbäume aktualisiert und fehlende Formate generiert.
+
+Informationen zu einem Paket (oder einer Collection oder einem Schema) anzeigen:
+
+\begin{alltt}
+Ucom{tlmgr show collection-latexextra}
+\end{alltt}
+
+Hier erhält man folgende Ausgabe:
+
+\begin{verbatim}
+package: collection-latexextra
+category: Collection
+shortdesc: LaTeX supplementary packages
+longdesc: A large collection of add-on packages for LaTeX.
+installed: Yes
+revision: 14675
+\end{verbatim}
+
+\noindent Die komplette Dokumentation finden Sie unter \url{http://tug.org/texlive/tlmgr.html}
+oder mit
+\begin{alltt}
+> \Ucom{tlmgr -help}
+\end{alltt}
+
+\chapter{Hinweise zu Windows}
+\label{sec:windows}
+
+Das Installationsprogramm von \TL\ läuft sowohl unter Windows als auch Unix. Dies war nur dadurch möglich, dass ältere Versionen von Windows nicht mehr unterstützt werden. Daher kann \TL\ nur noch ab Windows XP oder später installiert werden.
+
+\section{Windows-spezifische Dinge}
+\label{sec:winfeatures}
+
+
+Unter Windows kümmert sich das Installationsprogramm auch um folgende Dinge:
+\begin{description}
+\item[Menüs und Verknüpfungen.] Im Startmenü wird ein Menü ">\TL{}"< hinzu gefügt. Hier sind Einträge für
+ die grafischen Anwendungen (\prog{tlmgr}, \prog{texdoctk}, den PS\_View (\prog{psv}) PostScript-Previewer)
+ und einige Verknüpfungen zur Dokumentation vorhanden. Für PS\_View wird eine Verknüpfung auf dem
+ Desktop angelegt, auf die Sie \PS-Dateien per Drag~\& Drop ziehen können, um diese zu betrachten.
+\item[Automatisches Setzen der Umgebungsvariablen.] Hierdurch ist das Setzen dieser Variablen
+ von Hand überflüssig geworden.
+\item[Uninstaller.] Es wird ein Eintrag zum Entfernen von \TL in der Systemsteuerung im Punkt Software angelegt.
+ Alternativ können Sie \TL über die GUI \TeX\ Live Manager deinstallieren.
+\item[Dateiverknüpfungen] Wenn diese Option aktiviert wird, werden \prog{TeXworks}, \prog{Dviout}
+ und \prog{PS\_view} entweder die Standard-Programme für die entsprechenden Dateitypen oder erhalten einen Eintrag im `Öffnen mit' Dialog.
+\item[Bitmap nach eps Konverter] Verschiedene Bitmap-Formate erhalten einen Eintrag \cmdname{bitmap2eps} in ihr `Öffnen mit' Menü. Bitmap2eps ist ein einfaches Skript, das im Hintergrund \cmdname{sam2p} oder \cmdname{bmeps} aufruft.
+\item[Automatische Pfad-Anpassung] Erfordert keine manuellen Anpassungen.
+\end{description}
+
+\section{Zusätzlich enthaltene Programme unter Windows}
+
+Zusätzlich werden unter Windows einige Programme installiert, die unter Windows meist noch nicht verfügbar sind:
+
+\begin{description}
+\item[Perl und Ghostscript.] Da Perl und Ghostscript für \TL sehr wichtig ist, werden diese unter Windows mitgeliefert und werden intern von \TL benutzt. Die in \TL enthaltenen Programme, die diese Komponenten benötigen, ">wissen"< wo sich diese befinden, ohne dass diese im System durch Umgebungsvariablen oder Einträge in der Registry sichtbar sind. Es handelt sich um für \TL abgespeckte
+ Versionen, die zu keinen Konflikten mit eventuell bereits vorhandenen Installationen von Perl und Ghostscript führen sollten.
+
+\item[PS\_View.] Weiterhin wird PS\_View installiert, ein neuer PostScript- und PDF-Viewer, der Freie Software ist, s.\,Abb.~\ref{fig:psview}.
+
+\begin{figure}[tb]
+\includegraphics[width=.6\linewidth]{psview}
+\caption{PS\_View: sogar sehr extreme Vergrößerungen sind möglich.}\label{fig:psview}
+\end{figure}
+
+\item[dviout] Weiterhin wird \prog{dviout}, ein \acro{DVI}-Viewer installiert.
+Wenn Sie am Anfang Dokumente mit \cmdname{dviout} anschauen, werden häufig noch Fonts generiert, da keine fertigen Fontdateien für den Bildschirm mitgeliefert werden. Je mehr Fonts generiert wurden, desto seltener müssen Schriften nachgeneriert werden, so dass dieser Effekt nach einiger Zeit nur noch selten
+auftreten wird. Weitere Informationen finden Sie in der (sehr guten) Online-Hilfe.
+
+\item[TeXworks] \TeX{}works ist eine Oberfläche für \TeX\ mit Editor und
+ integriertem \acro{PDF}-Viewer.
+
+\item[Tools für die Kommandozeile.] Für einige unter Unix übliche Programme werden Portierungen für Windows
+ mitgeliefert. Dies sind z.\,B. \cmdname{gzip}, \cmdname{unzip} und einige Programme für die Kommandozeile aus der
+ \cmdname{xpdf}-Suite, wie \cmdname{pdfinfo} und \cmdname{pdffonts}. (Vom
+ \cmdname{xpdf}-Viewer selbst gibt es keine Version für Windows, aber der
+ Sumatra \acro{PDF}-Viewer basiert auf \cmdname{xpdf}:
+ \url{http://blog.kowalczyk.info/software/sumatrapdf}.)
+ \item[\texttt{fc-cache}, \texttt{fc-list} etc.] dienen \XeTeX{} zur effizienteren Benutzung von Schriften. Mit \prog{fc-list} können Sie die Namen der
+ verfügbaren Schriften anzeigen, die Sie dann unter \XeTeX\ mit dem
+ Kommando \texttt{font} benutzen können. Mit \prog{fc-cache} kann die Liste
+ der verfügbaren Schriften aktualisiert werden.
+\end{description}
+
+
+\section{Nutzerprofile unter Windows}
+\label{sec:winhome}
+
+Das Gegenstück von Windows zum HOME-Verzeichnis unter Unix ist das
+Verzeichnis \verb|%USERPROFILE%|.
+
+Unter Windows 7 oder Windows Vista liegt es meist in \verb|C:\Users\<username>|,
+unter Windows XP im Verzeichnis \verb|C:/Dokumente und Einstellungen/<username>|.
+
+In der Datei \filename{texmf.cnf} und in \KPS{} allgemein wird \verb|~|
+sowohl unter Unix und Windows korrekt aufgelöst.
+
+\section{Die Windows-Registry}
+\label{sec:registry}
+
+
+Windows verwaltet fast all seine Konfigurationseinstellungen in der Registry. Diese besteht aus einem hierarchisch aufgebauten Baum von Schlüsseln, wobei mehrere dieser Registry-Bäume existieren. Die wichtigsten sind \path{HKEY_CURRENT_USER} und \path{HKEY_LOCAL_MACHINE}, oft abgekürzt als \path{HKCU} bzw.\ \path{HKLM}. Der \path{HKCU}-Teil der Registry wird im Home-Verzeichnis des Benutzers gespeichert (siehe Abschnitt~\ref{sec:winhome}). \path{HKLM} liegt im
+Normalfall in einem Unterverzeichnis des Windows-Verzeichnisses.
+
+In einigen Fällen sind Systeminformationen aus Umgebungsvariablen ersichtlich, in vielen anderen Fällen liegen diese Informationen aber in der Registry.
+
+\section{Windows Permissions}
+\label{sec:winpermissions}
+
+
+In neueren Versionen von Windows wird zwischen normalen Benutzern und
+Administratoren unterschieden, wobei nur letztere freien Zugang auf
+alle Teile des Betriebsystems haben. Im Gegensatz zu Unix ist es in der
+Praxis allerdings häufig so, dass Benutzer zur Klasse der Administratoren
+gehören und daher doch alle Freiheiten haben. Trotzdem haben wir einigen
+Aufwand getrieben, damit \TL auch unter Windows ohne Administrator-Rechte
+installiert werden kann.
+
+Falls der Benutzer, der \TL installiert, Administrator-Rechte besitzt,
+kann \TL für alle Benutzer des Systems installiert werden, d.\,h. Verknüpfungen,
+Menüs und Systemeinträge werden für alle Nutzer angelegt. Ansonsten werden diese
+nur für den aktuellen Benutzer angelegt.
+
+Unabhängig davon wird grundsätzlich angenommen, dass das Wurzelverzeichnis
+von \TL unter \verb|%SystemDrive%| liegen soll. Allerdings testet das
+Installationsprogramm, ob dieses Verzeichnis für den aktuellen Benutzer
+schreibbar ist.
+
+Ein Problem entsteht, wenn \TL ohne Administrator-Rechte installiert
+wird und sich bereits ein \TeX{}-System im systemweiten Suchpfad
+befindet. Windows benutzt zuerst den Suchpfad des Systems, erst dann
+den spezifischen Suchpfad des Nutzers, so dass hier immer zuerst
+das alte \TeX-System gefunden wird. Als Workaround wird hier eine
+Verknüpfung mit einer Eingabeaufforderung erzeugt, in der das
+Programmverzeichnis von \TL im Suchpfad vor den Standard\-such\-pfad
+geschrieben wird. Dies bedeutet, dass in diesem Fall nur in einer
+Eingabeaufforderung verfügbar ist, die über diese Verknüpfung gestartet
+wird. Die Verknüpfung für \TeX{}works (falls Sie dieses installieren)
+fügt ebenfalls automatisch \TL{} am Anfang des Suchpfades ein, so dass
+es direkt benutzbar ist.
+
+Unter Windows Vista gibt es einen weiteren Fallstrick. Selbst wenn Sie als
+Administrator angemeldet sind, müssen Sie Programme trotzdem explizit
+mit Administratorrechten starten. Insofern ist es tatsächlich nicht sehr
+sinnvoll, sich als Administrator anzumelden. Klicken Sie stattdessen
+auf das gewünschte Programm (bzw. die gewünschte Verknüpfung) mit der
+rechten Maustaste, damit Sie die Option erhalten, dieses mit
+Administratorrechten auszuführen.
+
+\section{Erhöhen des maximal verfügbaren Speichers unter Windows und Cygwin}
+\label{sec:cygwin-maxmem}
+
+
+Unter Windows und Cygwin (s. Abschnitt \ref{sec:cygwin} für die Installation unter
+Cygwin) kann es vorkommen, dass der den in \TL\ enthaltenen Programmen zur
+Verfügung gestellte Speicher nicht ausreicht. Dies kann z.\,B. passieren, wenn
+in \prog{asy} ein Array von 25 Millionen Gleitkommazahlen allokiert wird oder
+ein Dokument mit umfangreichen Schriften mit Lua\TeX\ übersetzt wird.
+
+Für Cygwin ist die Erhöhung des Maximalspeichers im Cygwin-Hanbuch beschrieben
+(\url{http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html}).
+
+Unter Windows können Sie eine Datei \code{moremem.reg} mit folgenden vier
+Zeilen anlegen:
+
+\begin{verbatim}
+Windows Registry Editor Version 5.00
+
+[HKEY_LOCAL_MACHINE\Software\Cygwin]
+"heap_chunk_in_mb"=dword:ffffff00
+\end{verbatim}
+
+Führen Sie dann als Administrator \code{regedit /s moremem.reg} aus.
+(Falls der zur Verfügung stehende Speicher nur für den aktuellen Nutzer
+erhöht werden soll, verwenden Sie stattdessen einfach \code{HKEY\_CURRENT\_USER}).
+
+\chapter{Anleitung zum Web2C-System}
+
+Web2C besteht aus einer Reihe von Programmen, die zusammen ein komplettes
+\TeX-System darstellen. Dazu gehören natürlich \TeX, \MF, \MP, {\BibTeX} usw.
+
+Die erste Implementierung eines \TeX-Systems in der Programmiersprache C stammt von Tomas~Rokicki und datiert zurück in das Jahr 1987. Rokicki benutzte als Basis sog. Change-Files unter \acro{UNIX}, die ursprünglich von Howard~Trickey und Pavel~Curtis entwickelt wurden. Tim~Morgan hat dieses System, für das der Name Web-to-C\@ eingeführt wurde, gepflegt. 1990 hat Karl~Berry mit Unterstützung vieler Helfer die Weiterentwicklung übernommen und 1997 an Olaf~Weber weitergegeben, der es 2006 wieder an Karl zurück gab.
+
+Web2C läuft unter \acro{UNIX}, 32-bit-Versionen von Windows, \MacOSX{}
+und auf weiteren Betriebssystemen. Es benutzt die
+Original-Quelldateien von Donald E.~Knuth und weitere in der
+Sprache \texttt{WEB} entwickelte Programme als Basis und übersetzt diese
+in C-Quell-Code. Darüber hinaus bietet das System viele Makros und
+Funktionen zur Nutzung der originalen \TeX-Software. Hier eine
+Liste der Basisprogramme eines \TeX-Systems:
+
+\begin{description}
+\item[bibtex] Verwalten von Bibliographien
+\item[dvicopy] Umwandeln von virtuellen Zeichensätzen in DVI-Dateien
+\item[dvitomp] DVI-nach-MPX-Konverter (\MP-Bilder)
+\item[dvitype] Textanzeige aus DVI-Dateien
+\item[gftodvi] Erzeugen von Prüfausgaben für Zeichensätze
+\item[gftopk] Packen von Zeichensätzen
+\item[gftype] Anzeige von Zeichensätzen als ASCII-Graphik
+\item[mf] Zeichensatzerzeugung
+\item[mft] formatierte Ausgabe von \MF-Quellen
+\item[mpost] \MF-ähnliches Grafikprogramm
+\item[patgen] Erzeugen von Trennmustern
+\item[pktogf] Entpacken von Zeichensätzen
+\item[pktype] Anzeige gepackter Zeichensätze
+\item[pltotf] Umwandeln von Property-Listen in \file{.tfm}-Dateien
+\item[pooltype] Anzeige der Bildschirmtexte eines WEB-Programms
+\item[tangle] Konverter {\web} nach Pascal
+\item[tex] \TeX-Programm
+\item[tftopl] Umwandeln einer \file{.tfm}-Datei in eine Property-Liste
+\item[vftovp] Umwandeln eines virtuellen Zeichensatzes in eine Property-Liste
+\item[vptovf] Umwandeln einer Property-Liste in einen virtuellen Zeichensatz
+\item[weave] \web-Code als \TeX-Dokumentation
+\end{description}
+
+Die genaue Funktionsweise und die möglichen Parameter sind der
+Beschreibung der jeweiligen Pakete bzw.\ der Web2C-Dokumentation zu entnehmen.
+Trotzdem wird ein Überblick über Zusammenspiel und Funktionsweise der
+Web2C-Programme Ihnen sicherlich helfen, besser mit dem System zurechtzukommen.
+
+Zunächst verstehen alle Programme die grundlegenden Parameter der
+\acro{GNU}-Software:
+
+\begin{description}
+\item[\texttt{-{}-help}] kurzer Hilfstext
+\item[\texttt{-{}-verbose}] ausführliche Ausgaben beim Programmablauf
+\item[\texttt{-{}-version}] Ausgabe der Versionsnummer
+\end{description}
+
+\noindent Die Programme des Web2C-Systems benutzen zum Lokalisieren der benötigten
+Dateien im Dateisystem die \KPS-Bibliothek (\url{http://tug.org/kpathsea}). Diese Bibliothek optimiert und
+beschleunigt den Suchprozess im Dateisystem. Ihre Arbeitsweise wird durch
+einige Umgebungsvariablen und eine Kon"-fi"-gu"-ra"-tions"-da"-tei gesteuert.
+Web2C~7.5 kann mehr als einen Dateibaum gleichzeitig verwalten und ermöglicht
+somit die schon beschriebene \TL-Installation unter Verwendung der
+{\DVD} mit der Ablage modifizierter Konfigurationsdateien
+und zusätzlicher Zeichensätze in einem zweiten Dateibaum. Die Suche
+nach Dateien wird durch die Analyse der Datei \file{ls-R} beschleunigt,
+die in jedem Wurzelverzeichnis eines \TeX-Dateibaums vorhanden ist.
+Sie enthält für jede Datei die genaue Position im Dateibaum relativ
+zum Wurzelverzeichnis.
+
+
+\section{Dateisuche mit der Kpathsea-Bibliothek}
+\label{sec:kpathsea}
+
+Wir beschreiben zunächst den grundlegenden Suchmechanismus der \KPS-Bibliothek.
+
+Ein \emph{Suchpfad} ist eine durch Kommata oder Semikola getrennte Liste von
+\emph{Pfadkomponenten}, die üblicherweise Verzeichnisnamen darstellen.
+Ein Suchpfad kann sich aus vielen Komponenten zusammensetzen. Die Suche nach
+einer Datei \samp{my-file} über den Suchpfad \samp{.:/dir} bewirkt, dass
+{\KPS} jede Komponente nacheinander überprüft, also zunächst
+\samp{./my-file} und dann \samp{/dir/my-file}. Als Ergebnis wird entweder die
+erste gefundene Datei oder eine Liste aller passenden Dateien geliefert.
+
+Um auf allen Dateisystemen effizient arbeiten zu können, verwendet {\KPS} ggf. andere Datei-/""Verzeich"-nis-Separatoren als \samp{:} und \samp{/}.
+
+Beim Überprüfen einer Pfadkomponente \var{p} überprüft {\KPS} zunächst,
+ob eine Dateinamen"=Datenbank (siehe auch Dateinamen"=Datenbank auf
+Seite~\pageref{sec:filename-database}) für die Pfadkomponente zuständig ist,
+d.\,h. beispielsweise steht die Datenbank in einem Verzeichnis, das im Pfad
+vor der zu überprüfenden Komponente \var{p} steht. In diesem Fall wird
+zur Bestimmung der Position der gesuchten Datei die Datenbank herangezogen.
+
+Nur wenn keine passende Datenbank existiert oder wenn die Datei nicht
+in der Datenbank gefunden wird, durchsucht {\KPS} das Dateisystem. Diese
+zeitaufwändige Suche kann über die Spezifikation der Pfadkomponente \var{p}
+mit dem Präfix \samp{!!}\ unterbunden werden. Zur Suche erzeugt {\KPS} eine
+Liste der Verzeichnisse, die im Pfadelement enthalten sind, und durchsucht
+jedes dieser Verzeichnisse nach der gesuchten Datei.
+
+Für Dateien kann auch ein Schalter \samp{file~must~exist} gesetzt werden (">Datei muss vorhanden sein"<). Wenn dieser Schalter nicht gesetzt ist und beispielsweise über das \TeX-Kommando \code{openin} eine VF-Datei wie \file{cmr10.vf} gelesen werden soll, wäre es falsch, nach dieser Datei zu suchen, weil es sie gar
+nicht gibt. Speziell für neu installierte VF-Dateien sollten Sie also unbedingt die Dateinamen"=Datenbank (\cmdname{ls-R}) aktualisieren, weil die Dateien sonst nicht gelesen werden und kein Fehler angezeigt wird. Dieser Vorgang wiederholt sich für jede Komponente eines Suchpfades: zunächst wird die Datenbank
+überprüft, danach ggf. das Dateisystem. Wird die Datei gefunden,
+stoppt die Suche (normalerweise) und als Ergebnis wird der komplette Pfad zur
+gesuchten Datei ausgegeben.
+
+Außer Verzeichnisnamen dürfen Pfadkomponenten für {\KPS} folgende
+Elemente enthalten: (verschachtelte) Vorgaben, Umgebungsvariablen,
+Werte aus der Konfigurationsdatei, Home-Verzeich"-nisse von
+Benutzern und Startverzeichnisse für eine rekursive Suche. Diese
+Elemente werden vor einer Dateisuche von {\KPS} in gewöhnliche
+Verzeichnis- oder Dateinamen expandiert. Diese Expansion wird in
+den folgenden Abschnitten erklärt, und zwar genau in der
+Reihenfolge, wie die Elemente auch von {\KPS} bearbeitet werden.
+
+Beachten Sie, dass {\KPS} bei absoluten und explizit relativen Komponenten,
+d.\,h. wenn die Komponente mit den Zeichen \samp{/}, \samp{./} oder
+\samp{../} beginnt, nur überprüft, ob die Datei existiert.
+
+\begin{verbatim}
+\begin{figure*}[tp]
+\verbatiminput{../texlive-common/examples/ex5.tex}
+\setlength{\abovecaptionskip}{0pt}
+ \caption{An illustrative configuration file sample}
+ \label{fig:config-sample}
+\end{figure*}
+\end{verbatim} % xxxxx todo
+
+\subsection{Bestandteile von Pfadkomponenten}
+\label{sec:path-expansion}
+
+
+Ein Suchpfad kann aus vielen verschiedenen Bestandteilen aufgebaut werden.
+Dies sind in der Reihenfolge, wie {\KPS} sie auswertet:
+
+\begin{enumerate}
+\item
+ eine benutzerdefinierte Umgebungsvariable, z.\,B. \envname{TEXINPUTS}:
+ Wird an den Inhalt der Variablen ein Punkt und ein Programmname angehängt, wie
+ beispielsweise bei \envname{TEXINPUTS.latex}, hat diese Form Vorrang
+ vor den ">gewöhnlichen"< Variablen.
+\item
+ Einträge aus programmspezifischen Konfigurationsdateien,
+ beispielsweise zum Programm \code{dvips} eine Zeile \code{S /a:/b}
+ in der Konfigurationsdatei \file{config.ps}
+\item
+ Einträge aus der \KPS-Konfigurationsdatei \file{texmf.cnf},
+ z.\,B. \code{TEXINPUTS=/c:/d} (siehe folgenden Text)
+\item
+ Einstellung beim Ãœbersetzen der Programme
+\end{enumerate}
+
+\noindent Unter Verwendung der Parameter zur Fehlersuche können Sie sich diese
+Werte für einen Suchpfad auch anzeigen lassen. (Siehe dazu den Abschnitt
+Fehlersuche auf Seite~\pageref{sec:debugging}.)
+
+
+\subsection{Konfigurationsdateien}
+
+Die \KPS-Bibliothek liest zur Laufzeit die \emph{Konfigurationsdateien} mit den Namen \file{texmf.cnf}. Der zugehörige Suchpfad zum Auf"|finden dieser
+Konfigurationsdateien steht in der Umgebungsvariablen \envname{TEXMFCNF}
+(die Voreinstellung ist \file{texmf/web2c}). {\KPS} liest \emph{alle}
+Dateien mit den Namen \file{texmf.cnf}, die es in diesem Suchpfad findet.
+Die zuerst gelesenen Definitionen haben dabei Vorrang vor später gelesenen
+Werten. Wenn der Suchpfad auf \dirname{.:\$TEXMF} steht, überschreiben die Einstellungen in \file{./texmf.cnf} diejenigen in \dirname{\$TEXMF/texmf.cnf}.
+
+Im Folgenden wird die Syntax der Datei \file{texmf.cnf} angegeben.
+Konsultieren Sie zum besseren Verständnis beim Lesen die auf der
+CD-ROM oder DVD enthaltene Konfigurationsdatei.
+
+\begin{itemize}
+\item
+ Kommentare beginnen mit einem \code{\%} und erstrecken sich bis zum
+ Zeilenende.
+\item
+ Leerzeilen werden überlesen.
+\item
+ Ein \samp{\bs} am Zeilenende fasst die aktuelle mit der folgenden Zeile
+ zusammen. Leerraum in der Folgezeile wird \emph{nicht} überlesen.
+\item
+ Sonstige Zeilen haben den folgenden Aufbau:
+
+\begin{alltt}
+ \var{Variable}[.\var{Programmname}] [=] \var{Wert}
+\end{alltt}%
+
+ Das Zeichen ">="< und umgebender Leerraum dürfen entfallen.
+\item
+ Der Name von \var{Variable} kann alle Zeichen außer Leerzeichen,
+ \samp{=} und \samp{.} enthalten. Verwenden Sie am besten nur die Zeichen
+ \samp{A-Za-z\_}.
+\item
+ Wenn das Suffix ">\code{.\var{Programmname}}"< angegeben wird, gilt die
+ Variable nur für das entsprechende Programm ">\var{Programmname}"< oder
+ ">\code{\var{Programmname}.exe}"<. Auf diese Weise können
+ beispielsweise verschiedene
+ \TeX-Formate mit unterschiedlichen Suchpfaden arbeiten.
+\item
+ \texttt{\var{Wert}} darf alle Zeichen außer \texttt{\%} und \texttt{@}
+ enthalten.
+ Die Einschränkung der Werte auf bestimmte Programme über ein Suffix
+ ist nicht zulässig. Ein \samp{;} in \texttt{\var{Wert}} wird unter
+ \acro{UNIX} in \samp{:} umgewandelt. Dadurch ist die Verwendung der gleichen
+ Konfigurationsdateien für \acro{UNIX} und \acro{DOS}/""Windows"=Systeme möglich.
+\item
+ Die Definitionen werden komplett eingelesen, bevor eine Expansion
+ stattfindet. Dadurch können Sie die Variable schon vor Ihrer Definition
+ referieren.
+\end{itemize}
+
+Der Ausschnitt einer Konfigurationsdatei demonstriert diese
+Möglichkeiten.
+
+\begin{verbatim}
+\verbatiminput{../texlive-common/examples/ex5.tex}
+Betrachten Sie Abbildung~\ref{fig:config-sample}.
+\end{verbatim} % xxxx todo
+
+\subsection{Expansion von Pfadkomponenten}
+
+{\KPS} verwendet in Suchpfaden ähnliche Zeichen und Konstrukte wie
+\acro{UNIX}-Shells. Beispielsweise wird die Definition
+\verb|~$USER/{foo,bar}//baz| in alle Unterverzeichnisse von \file{foo} und
+\file{bar} unterhalb vom Home-Verzeichnis von \dirname{\$USER} expandiert,
+die eine Datei oder ein Unterverzeichnis namens \file{baz} enthalten. Der
+Expansionsmechanismus wird im Folgenden erklärt.
+
+\subsection{Expansion der Voreinstellungen}\label{sec:default-expansion}
+
+Wenn der Suchpfad mit der höchsten Priorität (siehe hierzu ">Bestandteile von
+Pfadkomponenten"< auf Seite~\pageref{sec:path-sources}) einen zusätzlichen
+(vorangestellten, nachgestellten oder verdoppelten) Doppelpunkt enthält,
+wird an dieser Stelle der Suchpfad eingefügt, der als nächstes in der
+Hierarchie folgt. Auch bei diesem gilt dieselbe Regel. Wenn beispielsweise
+die Umgebungsvariable
+
+
+\begin{alltt}
+> \Ucom{setenv TEXINPUTS /home/karl:}
+\end{alltt}
+
+gesetzt wird (hier: C-Shell) und in \file{texmf.cnf} die Variable
+\code{TEXINPUTS} folgenden Wert erhält
+
+\begin{alltt}
+ .:\$TEXMF//tex
+\end{alltt}
+
+dann lautet der Suchpfad schließlich:
+
+\begin{alltt}
+ /home/karl:.:\$TEXMF//tex
+\end{alltt}
+
+Da es sinnlos wäre, denselben Pfad mehrfach einzufügen, wird die Ersetzung
+nur einmal vorgenommen, und zwar in der Reihenfolge vorne, hinten und
+Mitte. Mehrfach verdoppelte Doppelpunkte bleiben unverändert.
+
+\subsection{Expansion geschweifter Klammern}
+
+
+Die Expansion geschweifter Klammern ist zur Definition mehrerer \TeX-Hierarchien sehr nützlich. Beispielsweise wird |v{a,b}w| zu |vaw:vbw|. Verschachtelungen sind dabei erlaubt. Diese Technik wird dazu benutzt, durch eine Zuweisung an
+\code{\$TEXMF} verschiedene \TeX-Hierarchien einzuführen. Als Beispiel finden Sie in \file{texmf.cnf} folgende Definition (etwas gekürzt, tatsächlich ist es etwas komplexer):
+
+\begin{verbatim}
+ TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN}
+\end{verbatim}
+
+Eine Anwendung wie
+
+\begin{verbatim}
+ TEXINPUTS = .;$TEXMF/tex//
+\end{verbatim}
+
+führt dann dazu, dass erst im aktuellen Verzeichnis gesucht wird, dann
+im gesamten Dateibaum \code{\$TEXMFHOME/tex} und \code{\$TEXMFLOCAL/tex}
+(auf der Festplatte) und schließlich im gesamten Dateibaum \dirname{\$TEXMFVAR/tex} sowie \code{\$TEXMFMAIN/tex} (nur in der Datenbank \file{ls-R}) durchsucht wird. Dadurch kann man bequem zwei parallel installierte \TeX-Hierarchien durchsuchen, beispielsweise eine unveränderliche auf \acro{CDROM}/{\DVD} und eine dynamisch angepasste auf Festplatte, in der neue Programmversionen und zusätzliche Zeichensätze installiert werden. Durch die Verwendung der Variablen \code{\$TEXMF} in allen Definitionen wird grundsätzlich zuerst der neuere Dateibaum durchsucht.
+
+
+\subsection{Expansion von Unterverzeichnissen}\label{sec:subdirectory-expansion}
+
+Zwei oder mehrere aufeinanderfolgende Schrägstriche (\texttt{//}) in einer Pfadkomponente, die auf einen Verzeichnisnamen \var{d} folgen, werden expandiert zu allen Unterverzeichnissen von \var{d}. Dieser Vorgang findet rekursiv statt, wobei erst alle Verzeichnisse auf einer Ebene bearbeitet werden, dann deren Unterverzeichnisse, usw. Auf den jeweiligen Ebenen ist nicht beeinflussbar, in welcher Reihenfolge die Unterverzeichnisse bearbeitet werden.
+
+Wenn nach den Schrägstrichen Namen angegeben werden, dann werden nur
+Unterverzeichnisse mit passenden Namen in die Suche einbezogen. Beispielsweise wird \code{/a//b} in die Pfade \file{/a/1/b}, \file{/a/2/b}, \file{/a/1/1/b} usw. expandiert, aber nicht zu \file{/a/b/c} oder \file{/a/1}. (Jeweils vorausgesetzt, dass die Verzeichnisse existieren.)
+
+Mehrere \code{//}-Konstruktionen innerhalb einer Pfadkomponente
+sind zulässig, allerdings nicht am Pfadanfang.
+
+
+\subsection{Liste der Sonderzeichen und ihre Bedeutung: eine Zusammenfassung}
+
+
+Die folgende Zusammenfassung fasst alle Sonderzeichen zusammen, die in den
+\KPS"=Konfigurationsdateien auftreten können:
+
+% ++++++++++++++++++++++++ %xxxx todo
+\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}}
+% ++++++++++++++++++++++++
+
+\begin{description}
+\item[\CODE{:}] Trennzeichen für Pfadkomponenten; als erstes
+ oder letztes Zeichen im Pfad bewirkt es die
+ Expansion der Voreinstellungen.
+\item[\CODE{;}] Trennzeichen für Pfadkomponenten für andere
+ Rechnerplattformen als \acro{UNIX} (Verwendung wie
+ ">\code{:}"<)
+\item[\CODE{\$}] Expansion von Variableninhalten
+\item[\CODE{\string~}] Home-Verzeichnis eines Benutzers (Tilde)
+\item[\CODE{\char`\{...\char`\}}] Expansion geschweifter Klammern:
+ beispielsweise wird |a{1,2}b| zu |a1b:a2b|.
+\item[\CODE{//}] Expansion von Unterverzeichnissen: tritt niemals
+ am Anfang einer Pfadkomponente auf.
+\item[\CODE{\%}] Kommentar
+\item[\CODE{\bs}] Konkatenation mit Folgezeile(n)
+\item[\CODE{!!}] Einschränkung der Suche \emph{ausschließlich} auf die
+ Dateinamen"=Datenbank: Das Dateisystem wird \emph{nicht}
+ durchsucht!
+\end{description}
+
+
+
+\section{Dateinamen-Datenbanken}\label{sec:filename-database}
+
+\KPS unternimmt etliche Anstrengungen, um den Zugriff auf Festplatte und
+DVD zur Suche nach Dateien zu reduzieren. Auf \TeX-Systemen mit vielen Unterverzeichnissen kann die Suche in jedem möglichen Verzeichnis nach einer bestimmten Datei eine lange Zeit in Anspruch nehmen, besonders wenn einige Hundert Zeichensatzverzeichnisse durchforstet werden müssen. Um dieses Problem abzumildern, benutzt {\KPS} eine Art Datenbankdatei namens \file{ls-R}, die die Zuordnung von Dateinamen auf Verzeichnisse enthält. Dadurch muss nicht jedesmal die Festplatte durchsucht werden.
+
+Eine zweite Datenbank in der Datei \file{aliases} kann eine Zuordnung zwischen den Namen in \file{ls-R} und weiteren Namen vornehmen und so beispielsweise hilfreich bei der Umsetzung von \samp{8.3}-\acro{DOS}-Dateinamen auf die ">echten"<, aussagekräftigen Dateinamen zur Seite stehen.
+
+\subsection{Die ls-R-Datenbank}\label{sec:ls-R}
+
+
+Wie schon öfters erwähnt, muss die Dateinamen"=Datenbank in der Datei
+\file{ls-R} gespeichert sein. Sie sollten eine solche Datenbank für jede
+\TeX-Hierarchie (normalerweise in \code{\$TEXMF}) Ihres Systems anlegen.
+{\KPS} sucht die Datenbanken \file{ls-R} über den Pfad \code{TEXMFDBS}.
+
+Es wird empfohlen, die Pflege der \code{ls-R}-Dateien dem mitgelieferten
+Skript \cmdname{mktexlsr} zu überlassen. Dieses Skript wird automatisch von den
+verschiedenen \samp{mktex*}-Skripten aufgerufen. Das Skript ruft
+grob gesagt den Befehl
+
+\begin{alltt}
+cd /\var{your}/\var{texmf}/\var{root} && ls -LAR ./ >ls-R
+\end{alltt}
+
+auf, falls das Kommando \code{ls} Ihres Rechners eine Ausgabe im richtigen
+Format liefert. (So wie das \acro{GNU}-\code{ls}.) Wenn Sie ganz sichergehen
+wollen, dass die Datenbank immer auf dem neuesten Stand ist, sollten Sie sie
+in regelmäßigen Abständen mit Hilfe eines \cmdname{crontab}-Eintrags
+aktualisieren lassen. Dadurch wird nach einer Installation eines
+Pakets per Hand trotzdem sichergestellt, dass die Datenbank aktuell ist.
+
+Wenn eine Datei nicht über die Datenbank gefunden wird, sucht
+{\KPS} normalerweise auf der Festplatte weiter. Wenn eine Pfadkomponente
+mit \code{!!} beginnt, wird dagegen niemals die Festplatte durchsucht.
+
+
+\subsection{kpsewhich: Dateisuche}
+\label{sec:invoking-kpsewhich}
+
+
+Mit dem Programm \cmdname{kpsewhich} können Sie unabhängig vom Aufruf
+irgendeines \TeX-Programms nach Dateien in der \TeX-Hierarchie suchen
+(als schnellere Alternative zu dem Befehl \cmdname{find}). Dies
+wird von den verschiedenen \samp{mktex\dots}-Skripten bis zum
+Exzess vorexerziert.
+
+\begin{alltt}
+> \Ucom{kpsewhich \var{option}{\dots} \var{filename}{\dots}}
+\end{alltt}
+
+Die Optionen werden entweder mit \samp{-} oder mit \samp{-{}-} eingeleitet.
+Jede eindeutige Abkürzung ist zulässig.
+
+Argumente der Kommandozeile, die keine Optionen darstellen, werden als
+Dateinamen interpretiert. Für jeden Dateinamen wird der erste passende
+Pfad gemeldet. Um eine Liste aller passenden Pfade zu erhalten, müssen Sie
+das \acro{UNIX}-Kommando \cmdname{find} aufrufen.
+
+Im Folgenden werden die häufiger benutzten Optionen beschrieben.
+
+\begin{description}
+\item[\texttt{-{}-dpi=}\var{num}]\mbox{}\\
+ Stellt die Auf"|lösung für die Suche nach Zeichensätzen
+ (nur \file{.gf} oder \file{.pk}) auf \var{num}\,dpi. Alternativ
+ kann die Option \code{-D} (kommt von dvips) benutzt werden.
+ Voreinstellung ist~600.
+\item[\texttt{-{}-format=}\var{name}]\mbox{}\\
+ Setzt das Format zur Suche auf \var{name}. Per Voreinstellung
+ versucht \cmdname{kpsewhich} das Format über den Dateinamen
+ zu erschließen. Bei Formaten ohne zugeordnete Namens\-endung wie den
+ zu {\MP} gehörenden Dateien und den Konfigurationsdateien zu
+ {dvips} müssen Sie den entsprechenden Namen so eingeben, wie er
+ \KPS{} bekannt ist.
+\item[\texttt{-{}-mode=}\var{string}]\mbox{}\\
+ Setzt für die Zeichensatzsuche den Generierungsmodus (betrifft nur
+ \file{.gf}- oder \file{.pk}-Dateien). Normalerweise werden alle
+ Zeichensätze gemeldet.
+\item[\texttt{-{}-must-exist}]\mbox{}\\
+ Es wird versucht, die Dateien notfalls durch eine Suche auf der
+ Festplatte zu finden. Normalerweise wird nur die \file{ls-R}-Datenbank
+ konsultiert.
+\item[\texttt{-{}-path=}\var{string}]\mbox{}\\
+ Sucht entlang des angegebenen Pfads statt des Standardpfads,
+ der auf Grund der Endung gewählt wird. Alle Expansionen sind
+ zulässig. Bei Verwendung der Option \texttt{-{}-path} darf nicht
+ die Option \texttt{-{}-format} angegeben werden.
+\item[\texttt{-{}-progname=}\var{name}]\mbox{}\\
+ Setzt den Programmnamen für die genauere Variablenspezifikation
+ über \code{.\var{Programmname}}. Voreinstellung ist \code{kpsewhich}.
+
+\item[\texttt{-{}-show-path=}\var{name}]\mbox{}\\
+ Zeigt den Suchpfad für die angegebene Namens\-endung. Diese kann entweder
+ als Namens\-endung (\code{.pk}, \code{.vf}, usw.) oder als Name (wie bei der
+ Option \code{-{}-format}) spezifiziert werden.
+\item[\texttt{-{}-debug=}\var{num}]\mbox{}\\
+ Legt den Umfang für die Fehlersuche fest.
+\end{description}
+
+
+\subsection{Anwendungsbeispiele}
+\label{sec:examples-of-use}
+
+
+Wir schauen uns nun die Funktionsweise von {\KPS} anhand einiger Beispiele an.
+
+\begin{alltt}
+> \Ucom{kpsewhich article.cls}
+ /usr/local/texmf-dist/tex/latex/base/article.cls
+\end{alltt}
+
+Wir suchen unter den \TeX-Quelldateien nach der Datei \file{article.cls}.
+Da die Namens\-endung \samp{.cls} eindeutig ist, müssen wir den Typ
+\samp{.tex} nicht angeben. Die \samp{texmf-dist}-Hierarchie enthält die
+Datei im Unterverzeichnis \dirname{tex/latex/base}. Ähnlich bereiten
+die folgenden Beispiele auf Grund eindeutiger Namens\-endungen keine Probleme.
+
+\begin{alltt}
+> \Ucom{kpsewhich array.sty}
+ /usr/local/texmf-dist/tex/latex/tools/array.sty
+> \Ucom{kpsewhich latin1.def}
+ /usr/local/texmf-dist/tex/latex/base/latin1.def
+> \Ucom{kpsewhich size10.clo}
+ /usr/local/texmf-dist/tex/latex/base/size10.clo
+> \Ucom{kpsewhich small2e.tex}
+ /usr/local/texmf-dist/tex/latex/base/small2e.tex
+> \Ucom{kpsewhich tugboat.bib}
+ /usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib
+\end{alltt}
+
+Beim letzten Beispiel handelt es sich übrigens um eine \BibTeX-Literaturdatenbank für \textsl{TUGBoat}-Artikel.
+
+\begin{alltt}
+> \Ucom{kpsewhich cmr10.pk}
+\end{alltt}
+
+Zeichensatzdateien mit der Namens\-endung \samp{.pk} werden
+von Anzeige- oder Druckaufbereitungsprogrammen wie dvips und
+\cmdname{xdvi} verwendet. Nachdem wir aufgrund der Voreinstellung keine \file{.pk}-Dateien verwenden, sondern die PS-Type1-Zeichensätze, die auf der DVD enthalten sind, wird auch keine \file{.pk}-Datei angezeigt.
+
+\begin{alltt}
+> \Ucom{kpsewhich wsuipa10.pk}
+ /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk
+\end{alltt}
+Für diesen Zeichensatz (Teil der \acro{IPA}-Fonts%
+\footnote{\acro{IPA}: International Phonetic Alphabet}
+von der Universität von Washington) liegen noch keine
+Type1-Umsetzungen vor und \code{.pk}-Dateien müssen generiert werden. Da unser voreingestellter \MF-Modus \code{ljfour} eine Auf"|lösung von 600\,dpi besitzt,
+finden wir (nachdem er schon einmal gebraucht und automatisch
+erzeugt wurde) eine entsprechende Instanz dieses Zeichensatzes.
+
+\begin{alltt}
+> \Ucom{kpsewhich -dpi=300 wsuipa10.pk}
+\end{alltt}
+
+Durch die Angabe ">\code{-dpi=300}"< interessieren wir uns nur
+für Zeichensätze mit der Auf"|lösung 300\,dpi. Es wurde keiner gefunden.
+Programme wie dvips oder \cmdname{xdvi} lassen einen solchen fehlenden
+Zeichensatz durch den Aufruf des Skripts \cmdname{mktexpk} mit entsprechenden
+Parametern automatisch erzeugen.
+
+Als nächstes wenden wir uns den Header- und Konfigurationsdateien
+von dvips zu.
+
+Zunächst suchen wir nach der Konfiguration für die \TeX-Unterstützung,
+dem Prolog \file{tex.pro}. Danach suchen wir die allgemeine Konfigurationsdatei
+(\file{config.ps}) und schließlich die \PS-Zeichensatzzuordnungsdatei
+\file{psfonts.map}. Dateien dieser Art haben seit der 2004er-Version der {\TL} ihre eigenen Suchpfade und einen neuen Aufbewahrungsort im \OnCD{texmf}-Baum. Da die Namens\-endung \code{.ps} nicht eindeutig ist,
+müssen wir den gewünschten Typ (\code{dvips config})
+für die Datei \file{config.ps} spezifizieren.
+
+\begin{alltt}
+> \Ucom{kpsewhich tex.pro}
+ /usr/local/texmf/dvips/base/tex.pro
+> \Ucom{kpsewhich --format="dvips config" config.ps}
+ /usr/local/texmf/dvips/config/config.ps
+> \Ucom{kpsewhich psfonts.map}
+ /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map
+\end{alltt}
+
+Jetzt suchen wir nach den Dateien für den \PS-Zeichensatz ">URW Times"<.
+Nach dem Namensschema von Karl~Berry beginnen die Namen mit ">\texttt{utm}"<.
+Zunächst suchen wir die Konfigurationsdatei, die den Namen der
+Zeichensatzzuordnungsdatei enthält.
+
+\begin{alltt}
+> \Ucom{kpsewhich --format="dvips config" config.utm}
+ /usr/local/texmf-dist/dvips/psnfss/config.utm
+\end{alltt}
+
+Diese Datei enthält folgende Anweisung:
+
+\begin{alltt}
+ p +utm.map
+\end{alltt}
+
+Die angegebene Datei \file{utm.map} wollen wir als nächstes suchen:
+
+\begin{alltt}
+> \Ucom{kpsewhich utm.map}
+ /usr/local/texmf-dist/fonts/map/dvips/times/utm.map
+\end{alltt}
+
+Diese Zuordnungsdatei wird im Unterverzeichnis \file{urw} bei den
+Hilfsdateien für dvips gefunden. Sie enthält die Dateinamen der
+Type1-PS-Zeichensätze, die für URW Times benutzt werden. Ein
+kleiner Auszug aus dieser Datei:
+
+\begin{alltt}
+ utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb
+ utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb
+ utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb
+ utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb
+ utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb
+ utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb
+\end{alltt}
+
+Wenn wir jetzt beispielsweise nach dem Zeichensatz Times Regular
+(\file{utmr8a.pfb}) suchen, finden wir ihn im
+Verzeichnis \OnCD{texmf} unter den Type1-Zeichensätzen:
+
+\begin{alltt}
+> \Ucom{kpsewhich utmr8a.pfb}
+ /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb
+\end{alltt}
+
+Diese Beispiele sollten deutlich gemacht haben, wie leicht bestimmte Dateien
+im \TeX-Dateibaum gefunden werden können. Dies ist sehr wichtig, wenn Sie
+den Verdacht haben, dass eine falsche Version einer Datei verwendet wird:
+Sie lassen sich einfach die verwendete Datei von \cmdname{kpsewhich}
+anzeigen.
+
+\subsection{Fehlersuche}
+\label{sec:debugging}
+
+\label{fig:dvipsdbga}
+\label{fig:dvipsdbgb}
+\label{fig:dvipsdbgc}
+
+
+\section{Einstellungen zur Laufzeit}
+
+\chapter{Danksagungen}
+
+\chapter{Geschichtliches}\label{sec:history}
+
+\section{Vergangenheit}
+
+\section{2003}
+
+\section{2004}
+
+\section{2005}
+
+\section{2006--2007}
+
+\section{2008}
+
+\section{2009}
+
+\section{2010}
+
+\section{2011}
+
+\section{2012}
+
+\section{Gegenwart (\tlcurrentyear)}\label{tlcurrent}
+\label{sec:tlcurrent}
+\label{sec:2012news}
+
+\section{Zukunft}
+
+
+
+
+
+\end{document}
+
+
+
+\\label\{.*\}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/texlive/texlive-de/texlive-de.css b/Master/texmf-dist/doc/texlive/texlive-de/texlive-de.css new file mode 100644 index 00000000000..c60c4d99423 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-de/texlive-de.css @@ -0,0 +1,474 @@ + +/* start css.sty */ +.ec-lmri-12x-x-172{font-size:206%; font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmss-17{font-size:170%; font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmr-12{font-size:120%;} +.ec-lmtt-12{font-size:120%; font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmr-9{font-size:90%;} +.ec-lmri-9{font-size:90%; font-style:italic;} +.ec-lmri-9{ font-style:italic;} +.ec-lmri-9{ font-style:italic;} +.ec-lmri-9{ font-style:italic;} +.ec-lmri-9{ font-style:italic;} +.ec-lmri-9{ font-style:italic;} +.ec-lmri-9{ font-style:italic;} +.ec-lmri-9{ font-style:italic;} +.ec-lmri-9{ font-style:italic;} +.ec-lmri-9{ font-style:italic;} +.ec-lmri-9{ font-style:italic;} +.ec-lmri-9{ font-style:italic;} +.ec-lmri-9{ font-style:italic;} +.ec-lmri-9{ font-style:italic;} +.ec-lmri-9{ font-style:italic;} +.ec-lmri-9{ font-style:italic;} +.ec-lmri-9{ font-style:italic;} +.ec-lmri-9{ font-style:italic;} +.ec-lmri-9{ font-style:italic;} +.ec-lmri-9{ font-style:italic;} +.ec-lmri-9{ font-style:italic;} +.ec-lmtt-9{font-size:90%; font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-9{font-size:90%; font-weight: bold;} +.ec-lmbx-9{ font-weight: bold;} +.ec-lmbx-9{ font-weight: bold;} +.ec-lmbx-9{ font-weight: bold;} +.ec-lmbx-9{ font-weight: bold;} +.ec-lmbx-9{ font-weight: bold;} +.ec-lmbx-9{ font-weight: bold;} +.ec-lmbx-9{ font-weight: bold;} +.ec-lmbx-9{ font-weight: bold;} +.ec-lmbx-9{ font-weight: bold;} +.ec-lmbx-9{ font-weight: bold;} +.ec-lmbx-9{ font-weight: bold;} +.ec-lmbx-9{ font-weight: bold;} +.ec-lmbx-9{ font-weight: bold;} +.ec-lmbx-9{ font-weight: bold;} +.ec-lmbx-9{ font-weight: bold;} +.ec-lmbx-9{ font-weight: bold;} +.ec-lmbx-9{ font-weight: bold;} +.ec-lmbx-9{ font-weight: bold;} +.ec-lmbx-9{ font-weight: bold;} +.ec-lmbx-9{ font-weight: bold;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmr-8{font-size:80%;} +.ec-lmtt-8{font-size:80%; font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmr-7{font-size:70%;} +.ec-lmtt-8x-x-87{font-size:69%; font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +p.noindent { text-indent: 0em } +td p.noindent { text-indent: 0em; margin-top:0em; } +p.nopar { text-indent: 0em; } +p.indent{ text-indent: 1.5em } +@media print {div.crosslinks {visibility:hidden;}} +a img { border-top: 0; border-left: 0; border-right: 0; } +center { margin-top:1em; margin-bottom:1em; } +td center { margin-top:0em; margin-bottom:0em; } +.Canvas { position:relative; } +img.math{vertical-align:middle;} +li p.indent { text-indent: 0em } +li p:first-child{ margin-top:0em; } +li p:last-child, li div:last-child { margin-bottom:0.5em; } +li p~ul:last-child, li p~ol:last-child{ margin-bottom:0.5em; } +.enumerate1 {list-style-type:decimal;} +.enumerate2 {list-style-type:lower-alpha;} +.enumerate3 {list-style-type:lower-roman;} +.enumerate4 {list-style-type:upper-alpha;} +div.newtheorem { margin-bottom: 2em; margin-top: 2em;} +.obeylines-h,.obeylines-v {white-space: nowrap; } +div.obeylines-v p { margin-top:0; margin-bottom:0; } +.overline{ text-decoration:overline; } +.overline img{ border-top: 1px solid black; } +td.displaylines {text-align:center; white-space:nowrap;} +.centerline {text-align:center;} +.rightline {text-align:right;} +div.verbatim {font-family: monospace; white-space: nowrap; text-align:left; clear:both; } +.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +div.fbox {display:table} +div.center div.fbox {text-align:center; clear:both; padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +div.minipage{width:100%;} +div.center, div.center div.center {text-align: center; margin-left:1em; margin-right:1em;} +div.center div {text-align: left;} +div.flushright, div.flushright div.flushright {text-align: right;} +div.flushright div {text-align: left;} +div.flushleft {text-align: left;} +.underline{ text-decoration:underline; } +.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; } +.framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +.framebox-c {text-align:center;} +.framebox-l {text-align:left;} +.framebox-r {text-align:right;} +span.thank-mark{ vertical-align: super } +span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript{ font-size:80%; } +div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; } +table.tabular td p{margin-top:0em;} +table.tabular {margin-left: auto; margin-right: auto;} +td p:first-child{ margin-top:0em; } +td p:last-child{ margin-bottom:0em; } +div.td00{ margin-left:0pt; margin-right:0pt; } +div.td01{ margin-left:0pt; margin-right:5pt; } +div.td10{ margin-left:5pt; margin-right:0pt; } +div.td11{ margin-left:5pt; margin-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +td.td00{ padding-left:0pt; padding-right:0pt; } +td.td01{ padding-left:0pt; padding-right:5pt; } +td.td10{ padding-left:5pt; padding-right:0pt; } +td.td11{ padding-left:5pt; padding-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +.hline hr, .cline hr{ height : 1px; margin:0px; } +.tabbing-right {text-align:right;} +span.TEX {letter-spacing: -0.125em; } +span.TEX span.E{ position:relative;top:0.5ex;left:-0.0417em;} +a span.TEX span.E {text-decoration: none; } +span.LATEX span.A{ position:relative; top:-0.5ex; left:-0.4em; font-size:85%;} +span.LATEX span.TEX{ position:relative; left: -0.4em; } +div.float, div.figure {margin-left: auto; margin-right: auto;} +div.float img {text-align:center;} +div.figure img {text-align:center;} +.marginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;} +.marginpar p{margin-top:0.4em; margin-bottom:0.4em;} +table.equation {width:100%;} +.equation td{text-align:center; } +td.equation { margin-top:1em; margin-bottom:1em; } +td.equation-label { width:5%; text-align:center; } +td.eqnarray4 { width:5%; white-space: normal; } +td.eqnarray2 { width:5%; } +table.eqnarray-star, table.eqnarray {width:100%;} +div.eqnarray{text-align:center;} +div.array {text-align:center;} +div.pmatrix {text-align:center;} +table.pmatrix {width:100%;} +span.pmatrix img{vertical-align:middle;} +div.pmatrix {text-align:center;} +table.pmatrix {width:100%;} +span.bar-css {text-decoration:overline;} +img.cdots{vertical-align:middle;} +div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; } +table.tabular td p{margin-top:0em;} +table.tabular {margin-left: auto; margin-right: auto;} +td p:first-child{ margin-top:0em; } +td p:last-child{ margin-bottom:0em; } +div.td00{ margin-left:0pt; margin-right:0pt; } +div.td01{ margin-left:0pt; margin-right:5pt; } +div.td10{ margin-left:5pt; margin-right:0pt; } +div.td11{ margin-left:5pt; margin-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +td.td00{ padding-left:0pt; padding-right:0pt; } +td.td01{ padding-left:0pt; padding-right:5pt; } +td.td10{ padding-left:5pt; padding-right:0pt; } +td.td11{ padding-left:5pt; padding-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +.hline hr, .cline hr{ height : 1px; margin:0px; } +div.array {text-align:center;} +.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; font-weight:bold; font-size:110%;} +.index-item, .index-subitem, .index-subsubitem {display:block} +div.caption {text-indent:-2em; margin-left:3em; margin-right:1em; text-align:left;} +div.caption span.id{font-weight: bold; white-space: nowrap; } +h1.partHead{text-align: center} +p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } +p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } +.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;} +.subparagraphHead, .likesubparagraphHead { font-weight: bold;} +.quote {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; margin-right:1em; text-align:justify;} +.verse{white-space:nowrap; margin-left:2em} +div.maketitle {text-align:center;} +h2.titleHead{text-align:center;} +div.maketitle{ margin-bottom: 2em; } +div.author, div.date {text-align:center;} +div.thanks{text-align:left; margin-left:10%; font-size:85%; font-style:italic; } +div.author{white-space: nowrap;} +.quotation {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; } +.abstract p {margin-left:5%; margin-right:5%;} +div.abstract {width:100%;} +.alltt P { margin-bottom : 0em; margin-top : 0em; } +.alltt { margin-bottom : 1em; margin-top : 1em; } +.figure img.graphics {margin-left:10%;} +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +div.longtable{text-align:center;} +.uline{ text-decoration:underline; } +.uuline{ text-decoration:underline; } +span.sout {text-decoration: line-through } +span.xout {text-decoration: line-through } +span.uwave {text-decoration:underline } +P.fancyvrb {white-space: nowrap; margin:0em;} +div#fancyvrb1{ border-top: solid 0.4pt; } +div#fancyvrb1{ border-left: solid 0.4pt; } +div#fancyvrb1{ border-bottom: solid 0.4pt; } +div#fancyvrb1{ border-right: solid 0.4pt; } +div#fancyvrb2{ border-top: solid 0.4pt; } +div#fancyvrb2{ border-left: solid 0.4pt; } +div#fancyvrb2{ border-bottom: solid 0.4pt; } +div#fancyvrb2{ border-right: solid 0.4pt; } +div#fancyvrb3{ border-top: solid 0.4pt; } +div#fancyvrb3{ border-left: solid 0.4pt; } +div#fancyvrb3{ border-bottom: solid 0.4pt; } +div#fancyvrb3{ border-right: solid 0.4pt; } +div#fancyvrb4{ border-top: solid 0.4pt; } +div#fancyvrb4{ border-left: solid 0.4pt; } +div#fancyvrb4{ border-bottom: solid 0.4pt; } +div#fancyvrb4{ border-right: solid 0.4pt; } +/* end css.sty */ + diff --git a/Master/texmf-dist/doc/texlive/texlive-de/texlive-de.html b/Master/texmf-dist/doc/texlive/texlive-de/texlive-de.html new file mode 100644 index 00000000000..19e8a7633d9 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-de/texlive-de.html @@ -0,0 +1,2192 @@ +Anleitung zu TE X Live + TE X Live 2012 + Karl Berry (Herausgeber) + http://tug.org/texlive/ + Verantwortlich für die deutsche Ausgabe + Uwe Ziegenhagen, ziegenhagen@gmail.com + (DANTE e. V.) + Juni 2012 + + + INHALTSVERZEICHNIS 2 + Inhaltsverzeichnis +1 Einleitung 4 + 1.1 TE X Live und die TE X-Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 + 1.2 Unterstützung verschiedener Betriebssysteme . . . . . . . . . . . . . . . . . . . . . . . . 4 + 1.3 Einsatzmöglichkeiten des TE X Live-Systems der TE X Collection . . . . . . . . . . . . . . 4 + 1.4 TE X Live und Sicherheit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 + 1.5 Hilfe zu TE X, LATE X & Co . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 + 2 Überblick zum TE XLive-System 6 + 2.1 Die TE X Collection: TE X Live, proTE Xt, MacTE X . . . . . . . . . . . . . . . . . . . . . . 6 + 2.2 Basisverzeichnisse von TE X Live . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 + 2.3 Überblick über die vordefinierten texmf-Bäume . . . . . . . . . . . . . . . . . . . . . . . 7 + 2.4 TE X-Erweiterungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 + 2.5 Weitere Programme von TE X Live . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 + 2.6 Fonts in TE X Live . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 + 3 Installation von TE XLive 10 + 3.1 Das Installationsprogramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 + 3.1.1 Unix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 + 3.1.2 MacOSX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 + 3.1.3 Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 + 3.1.4 Cygwin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 + 3.1.5 Installation im Textmodus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 + 3.1.6 Installation mit Benutzeroberfläche im Expertenmodus . . . . . . . . . . . . . . . 12 + 3.1.7 Installation mit einfacher Benutzeroberfläche (wizard mode) . . . . . . . . . . . . 12 + 3.2 Benutzung des Installationsprogramms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 + 3.2.1 Auswahl der Binaries (nur für Unix) . . . . . . . . . . . . . . . . . . . . . . . . . 12 + 3.2.2 Auswahl der zu installierenden Komponenten . . . . . . . . . . . . . . . . . . . . 13 + 3.2.3 Verzeichnisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 + 3.2.4 Optionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 + 3.3 Kommandozeilenoptionen für die Installation . . . . . . . . . . . . . . . . . . . . . . . . 17 + 3.3.1 Die Option repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 + 3.4 Aufgaben im Anschluss an die Installation . . . . . . . . . . . . . . . . . . . . . . . . . . 17 + 3.4.1 Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 + 3.4.2 Unix, falls symbolische Links angelegt wurden . . . . . . . . . . . . . . . . . . . . 18 + 3.4.3 Umgebungsvariablen für Unix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 + 3.4.4 Systemweites Setzen von Umgebungsvariablen . . . . . . . . . . . . . . . . . . . . 18 + 3.4.5 Internet-Updates nach der Installation von DVD . . . . . . . . . . . . . . . . . . 18 + 3.4.6 Font configuration for XeTE X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 + 3.4.7 ConTE Xt Mark IV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 + 3.4.8 Integrieren lokaler bzw. nutzer-spezifischer Makros . . . . . . . . . . . . . . . . . 19 + 3.4.9 Integrieren von Schriften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 + 3.5 Testen der Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 + 3.6 Hinweise auf weitere Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 + 4 Installation für mehrere Maschinen oder Nutzer (Netz-Installation) 22 + 5 Portables TE X Live auf DVD oder USB-Stick 22 + 6 tlmgr: Installation verwalten 23 + 6.1 tlmgr im grafischen Modus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 + 6.2 Beispiel zur Verwendung von tlmgr über Kommandozeile . . . . . . . . . . . . . . . . . . 24 + 7 Hinweise zu Windows 25 + 7.1 Windows-spezifische Dinge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 + 7.2 Zusätzlich enthaltene Programme unter Windows . . . . . . . . . . . . . . . . . . . . . . 26 + 7.3 Nutzerprofile unter Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 + 7.4 Die Windows-Registry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 + 7.5 Windows Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 + 7.6 Erhöhen des maximal verfügbaren Speichers unter Windows und Cygwin . . . . . . . . 27 + + + ABBILDUNGSVERZEICHNIS 3 + 8 Anleitung zum Web2C-System 28 + 8.1 Dateisuche mit der Kpathsea-Bibliothek . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 + 8.1.1 Bestandteile von Pfadkomponenten . . . . . . . . . . . . . . . . . . . . . . . . . . 29 + 8.1.2 Konfigurationsdateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 + 8.1.3 Expansion von Pfadkomponenten . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 + 8.1.4 Expansion der Voreinstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 + 8.1.5 Expansion geschweifter Klammern . . . . . . . . . . . . . . . . . . . . . . . . . . 31 + 8.1.6 Expansion von Unterverzeichnissen . . . . . . . . . . . . . . . . . . . . . . . . . . 31 + 8.1.7 Liste der Sonderzeichen und ihre Bedeutung: eine Zusammenfassung . . . . . . . 31 + 8.2 Dateinamen-Datenbanken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 + 8.2.1 Die ls-R-Datenbank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 + 8.2.2 kpsewhich: Dateisuche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 + 8.2.3 Anwendungsbeispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 + 8.2.4 Fehlersuche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 + 8.3 Einstellungen zur Laufzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 + 9 Danksagungen 38 + 10 Geschichtliches 39 + 10.1 Vergangenheit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 + 10.2 2003 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 + 10.3 2004 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 + 10.4 2005 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 + 10.5 2006–2007 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 + 10.6 2008 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 + 10.7 2009 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 + 10.8 2010 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 + 10.9 2011 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 + 10.10Gegenwart (2012) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 + 10.11Zukunft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 + Abbildungsverzeichnis + 1 Hauptmenü des Installationsprogramms (GNU/Linux). . . . . . . . . . . . . . . . . . . . 12 + 2 Grafische Installation im Expertenmodus (GNU/Linux). . . . . . . . . . . . . . . . . . . 13 + 3 Wizard mode (Windows) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 + 4 Auswahlmenü für Binaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 + 5 Menü zur Auswahl des Schemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 + 6 Menü zur Aus- oder Abwahl von Collections. . . . . . . . . . . . . . . . . . . . . . . . . 16 + 7 Auswahlmenü für weitere Optionen (Unix). . . . . . . . . . . . . . . . . . . . . . . . . . 16 + 8 tlmgr im GUI-Modus. Hauptfenster nach dem Klicken auf »Load«. . . . . . . . . . . . . 23 + 9 tlmgr im GUI-Modus: Allgemeine Optionen . . . . . . . . . . . . . . . . . . . . . . . . . 24 + 10 tlmgr im GUI-Modus: Optionen zur Papiergröße . . . . . . . . . . . . . . . . . . . . . . 24 + 11 PS_View: sogar sehr extreme Vergrößerungen sind möglich. . . . . . . . . . . . . . . . . 26 + 12 Suche nach Konfigurationsdateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 + 13 Suche nach Prologdateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 + 14 Suche nach Font-Dateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 + + + 1 EINLEITUNG 4 + 1 Einleitung +1.1 TE X Live und die TE X-Collection +Diese Anleitung beschreibt das TE X Live-System. Die TE X Live Distribution enthält TE X/LATE X- +Systeme für Linux, verschiedene UNIX-Plattformen, Mac OS X und Windows. + Wahrscheinlich haben Sie TE X Live auf einem von zwei Wegen bezogen, entweder per direktem +Download von TE X Live oder als Teil der DVD TE X Collection, die von vielen TE X-Vereinen (u. a. +DANTE e. V.) an ihre Mitglieder verschickt werden und in Deutschland über die Fachbuchhandlung +Lehmanns (http://www.lob.de) vertrieben wird. Abschnitt 2.1 beschreibt kurz den Inhalt der TE X +Collection-DVD. + Sowohl TE X Live als auch die TE X Collection sind durch das Engagement vieler Freiwilliger aus +vielen TE X-Vereinen entstanden. Im Übrigen beschränkt sich diese Anleitung auf TE X Live an sich. + TE X Live enthält lauffähige Versionen von TE X, LATE X2ε, ConTE Xt, METAFONT, MetaPost, BibTE X +und vielen anderen Programmen, sowie eine umfassende Auswahl an Makros, Zeichensätzen und Be- +schreibungen, die gemäß der Standard-TE X-Verzeichnisstruktur (TDS) abgelegt sind. + Eine kurze Zusammenfassung der wesentlichen Änderungen der aktuellen TE X Live-Version gegen- +über der Vorgängerversion finden Sie im Abschnitt 10.10 auf Seite 46. +1.2 Unterstützung verschiedener Betriebssysteme +TE X Live enthält direkt ausführbare Programme für viele Unix-basierte Betriebssysteme, insbesondere +GNU/Linux und Mac OS X und Cygwin. Selbst wenn für Ihr Unix-System wider Erwarten keine ausführ- +baren Programme enthalten sind, sollten Sie in der Lage sein, aus den mitgelieferten Programm-Quellen +ein funktionierendes TE X-System zu kompilieren. + Bezüglich Microsoft Windows werden Versionen ab Windows XP unterstützt. TE X Live ist unter +Windows 95/98, ME und NT nicht mehr lauffähig, Windows 2000 sollte funktionieren. Es existieren +zwar keine 64-Bit-Versionen der Programme, allerdings sollten die 32-Bit-Programme problemlos auf +64-Bit-Systemen funktionieren. +1.3 Einsatzmöglichkeiten des TE X Live-Systems der TE X Collection +Sie können das TE X Live-System wahlweise von der DVD oder über das Internet (http://tug.org/texlive/acquire.html) +installieren. Der Net Installer ist ein kleines Programm, das die benötigten Teile aus dem Internet +nachlädt. Dieser Weg bietet sich an (eine schnelle und stabile Internetverbindung voraus gesetzt), wenn +Sie kein komplettes TE X Live installieren wollen, sondern Ihr System nur aus bestimmten Paketen +bestehen soll. + Wenn Sie die DVD besitzen (oder das ISO-Image der DVD herunter geladen haben – dieses kann auf +einigen Systemen sogar direkt als virtuelles Medium “gemountet” werden), können Sie TE X Live nach +Wunsch auf Ihrer Festplatte installieren. Im Gegensatz zu früher ist TE X Live nicht mehr direkt von +der DVD lauffähig. Sie können aber eine portable Version z. B. auf einem USB-Stick installieren, wie im +Abschnitt 5 beschrieben. + Beide Methoden werden in den Abschnitten zur Installation beschrieben. Hier daher nur die kurze +Zusammenfassung: + ∙ Das Hauptinstallationsskript ist install-tl. Es bietet eine grafische Benutzeroberfläche (GUI) für + die Standardinstallation (den sogenannten “wizard mode”), einen Textmodus und eine grafische + Oberfläche im Expertenmodus. Unter Windows ist der grafische “wizard mode” der Standard, auf + allen anderen Systemen ist es der Textmodus. Durch die Optionen -gui=wizard, -gui=text und + -gui=perltk können Sie gezielt auswählen, ob das Installationsprogramm im »wizard mode«, + Textmodus oder mit der grafischen Oberfläche im Expertenmodus starten soll. + ∙ TE X Live installiert u. a. den »TE X Live Manager« mit dem Namen tlmgr. Auch dieser unter- + stützt Text- und GUI-Mode. Mit diesem Programm können Sie einerseits Pakete von TE X Live + installieren oder deinstallieren, andererseits TE X Live konfigurieren. +1.4 TE X Live und Sicherheit +Nach bestem Wissen und Gewissen kann man sagen, dass die TE X-Kernprogramme selbst sehr robust +sind. Dieses Maß an Robustheit und Sicherheit wird jedoch möglicherweise nicht von allen Programmen +erreicht, die Teil von TE X Live sind. Daher gilt für TE X Live das, was auch für alle anderen Programme + + + 1 EINLEITUNG 5 + gilt: Vorsicht bei der Verarbeitung von Quellcode, den man nicht genau kennt, zur maximalen Sicherheit + sollte man in diesen Fällen die entsprechenden Dateien in einem neuen Unterverzeichnis verarbeiten. + Die Sorge um die Sicherheit gilt vor allem für MS Windows, da Windows-Programme zuerst im + aktuellen Verzeichnis suchen, egal wie Pfad-Angaben gesetzt sind. Theoretisch ermöglicht dies eine + Reihe von Angriffsszenarien. Viele Sicherheitslücken in Programmen von TE X Live wurden geschlossen, + andere bestehen auch weiterhin, besonders im Umgang mit Drittanbieter-Software. + Aus diesem Grund empfehlen wir bei der Verarbeitung von unbekanntem Quellcode, auf das Vorhan- + densein von ausführbaren Dateien im Quellcode-Verzeichnis zu achten. Diese sollten nicht vorhanden + sein und erst recht nicht durch die Verarbeitung von TE X-Quellcode erzeugt worden sein. + TE X und seine Begleitprogramme können in Dateien schreiben, wenn ein Dokument übersetzt wird. + Diese Funktion kann auch missbräuchlich eingesetzt werden. Daher ist bei der Verarbeitung von unbe- + kannten Quellen die Nutzung eines neuen Unterverzeichnisses der sicherste Weg! +1.5 Hilfe zu TE X, LATE X & Co +Die TE X-Gemeinschaft ist ebenso aktiv wie hilfsbereit, und es wird praktisch jede ernst gemeinte Frage +beantwortet. Diese Hilfe ist allerdings nicht formal organisiert, sondern wird von Freiwilligen in ihrer +Freizeit geleistet. Es ist daher wichtig, dass Sie vor einer Fragestellung Ihre »Hausaufgaben« gemacht +haben. + Falls Sie auf eine garantierte kommerzielle Unterstützung angewiesen sind oder eine solche be- +vorzugen, sollten Sie die Finger komplett vom TE X Live-System lassen und in der Aufstellung unter +http://tug.org/interest.html#vendors nach einem geeigneten Händler suchen. + Die folgende Liste stellt die leicht zugänglichen Hilfe-Quellen in der empfohlenen Reihenfolge vor: + Einführung: + Wenn Sie TE X-Anfänger sind und eine englische Einführung in das System benötigen, sollten Sie + das WWW-Dokument http://tug.org/begin.html lesen. + Für deutschsprachige LATE X-Anfänger ist die »LATE X2ε-Kurzbeschreibung« von großem Nutzen + (texmf-doc/doc/german/lshort-german/l2kurz.pdf). + TE X-FAQs: + Die TE X-FAQ (im Deutschen de-tex-faq »Fragen und Antworten [FAQ] über das Textsatzsystem + TeX und DANTE, Deutschsprachige Anwendervereinigung TeX e.V.«) ist ein riesiges Kompendium + mit Fragen (und Antworten) aller Art, von der einfachsten Anfängerfrage bis zu Expertenwissen. + Sie finden die deutschsprachige FAQ unter http://www.dante.de/FAQ.html. + Des Weiteren existiert eine englischsprachige FAQ-Sammlung (texmf-dist/doc/generic/ + FAQ-en/html/index.html), die auch im Internet verfügbar ist (http://www.tex.ac.uk/faq). + Bitte nutzen Sie bei Problemen zuerst diese beiden Möglichkeiten. + TE X-Catalogue: + Wenn Sie auf der Suche nach einem bestimmten Paket, Font, Programm u. ä. sind, empfiehlt + sich ein Blick in den TE X-Catalogue. Dieser Katalog enthält eine Liste aller verfügbaren TE X- + spezifischen Dinge (siehe http://www.ctan.org/tex-archive/help/Catalogue/catalogue.html). + TE X-WWW-Ressourcen: + Im WWW-Dokument http://tug.org/interest.html finden Sie eine große Anzahl TE X- + spezifischer Links zu Büchern, Handbüchern und Artikeln zu allen Aspekten des TE X-Systems. + Archive: + Ein Forum für die Hilfestellung sind die Usenet-News-Gruppen news:de.comp.text.tex + (Deutsch), news:comp.text.tex (Englisch) und die Mailing-Liste texhax@tug.org. In deren + Archiven finden sich die Fragen und Antworten vieler Jahre. Ihre Suche können Sie in Google + beispielsweise mit http://groups.google.de/group/de.comp.text.tex/topics starten – oder + auch in http://tug.org/mail-archives/texhax/ durchführen. + Im Allgemeinen ist es recht erfolgversprechend, eine generelle Suche über Google http://www.google.de/ + durchzuführen (entweder im WWW allgemein oder in den News-Gruppen); dies insbesondere, + wenn es sich um Fragen über PostScript/PDF, Ghostscript u. ä. handelt. + Online-Foren: http://tex.stackexchange.com, http://golatex.de, http://mrunix.de/forums/forumdisplay.php?f=38 + sind nur einige Online-Foren, die Hilfe zu TE X & LATE X anbieten. + + + 2 ÜBERBLICK ZUM TE XLIVE-SYSTEM 6 + Auch hier gilt: Je mehr Mühe Sie sich mit dem Stellen von Fragen geben, desto besser kann Ihnen + geholfen werden. + Fragen stellen: + Wenn Sie mit den oben aufgezeigten Möglichkeiten immer noch keine Antwort auf + Ihre Frage gefunden haben, können Sie die Frage auch in einer News-Gruppe stel- + len (neudeutsch: posten). Hier bietet sich für den deutschsprachigen Raum die News- + Gruppe news:de.comp.text.tex an. Benutzen Sie am besten für Anfragen Google + (http://groups.google.de/group/de.comp.text.tex/topics) oder einen Newsreader. Fragen + an die englischsprachige Gruppe news:comp.text.tex (bei Google: http://groups.google.de/group/comp.text.tex/topics) + sollten Sie bitte nur auf Englisch stellen. + Zusätzlich existieren E-Mail-Listen, wobei hier die deutschsprachige Liste TeX-D-L@listserv.dfn.de + zu nennen ist (das englischsprachige Äquivalent ist texhax@tug.org). Darüber hinaus bietet sich + für Mitglieder von DANTE e.V. der Beraterkreis an (beraterkreis@dante.de). Wie Sie sich + in die E-Mail-Liste TeX-D-L eintragen können, finden Sie in der FAQ unter »1.3.2 Was ist + TeX-D-L?«. + Bevor Sie eine Frage absenden, lesen Sie bitte die entsprechenden Einträge der FAQ zum + Thema »Wie stelle ich eine Frage in einer Newsgroup, damit ich mit hoher Wahrscheinlichkeit + eine Antwort bekomme?«. So z. B. »1.3.1 Was ist ‘de.comp.text.tex’?« und »1.3.7 Was + sollte ich gelesen haben, bevor ich eine Frage in ‘de.comp.text.tex’ oder der + Diskussionsliste TeX-D-L stelle?« oder auch http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion. + Mithilfe: + Wenn Sie einen Fehler melden wollen oder Empfehlungen und Kommentare zur TE X Live- + Verteilung, -Installation oder -Dokumentation geben möchten, sollten Sie die E-Mail-Liste + tex-live@tug.org nutzen. Korrekturen, Anmerkungen und Erweiterungen für die deutsche + Übersetzung können Sie auch an cdrom@dante.de oder schriftlich an die Geschäftsstelle von + DANTE e.V. senden. + Fragen zu Programmen, die Sie in der TE X Collection finden, sollten Sie besser auf einer der oben + genannten Mailing-Listen stellen oder direkt an den Programmautor richten. + Auf der anderen Seite können auch Sie mit Ihrem Wissen helfen. Die News-Gruppen news:de.comp.text.tex + (in Deutsch), news:comp.text.tex (in Englisch) und die Mailing-Liste TeX-D-L@listserv.dfn.de + (Deutsch) und texhax@tug.org (Englisch) stehen allen offen. Wenn Sie also dort mitlesen, scheuen Sie + sich nicht, Fragen, zu denen Sie eine Antwort wissen, zu beantworten und damit anderen zu helfen. +2 Überblick zum TE X Live-System +In diesem Abschnitt beschreiben wir die Struktur und den Inhalt des TE X Live-Systems und der über- +geordneten TE X Collection-DVD. +2.1 Die TE X Collection: TE X Live, proTE Xt, MacTE X +Die DVD »TE X Collection« besteht aus: + TE X Live Ein komplettes TE X-System, wahlweise zur Installation auf einer Festplatte oder ei- + nem Wechselmedium (USB-Stick). Die Homepage des TE X Live-Projektes finden Sie unter + http://tug.org/texlive/. + MacTE X für Mac OS X. Dieses enthält das komplette TE X Live, bietet zusätzlich aber ein Installa- + tionsprogramm für Mac und einige Zusatzprogramme. Nähere Informationen finden Sie auf der + Homepage von MacTE X unter http://tug.org/mactex/. + proTE Xt basiert auf der MiKTE X-Distribution für Windows. Es enthält noch einige Zusatzpro- + gramme und stellt eine einfache Installationsanleitung bereit, die Schritt für Schritt den Weg + zu einem kompletten TE X-System beschreibt. Die Homepage von proTE Xt findet sich unter + http://tug.org/protext. + CTAN Weiterhin ist auf der DVD ein Ausschnitt der TE X-bezogenen Software enthalten, die sich in + CTAN, dem Comprehensive TE X Archive Network (http://www.ctan.org) befinden. + + + 2 ÜBERBLICK ZUM TE XLIVE-SYSTEM 7 + texmf-extra In diesem Verzeichnis befinden sich zusätzliche Pakete, die kein Teil von TE X Live sind. + CTAN, protext und texmf-extra unterliegen nicht denselben Lizenzregeln wie TE X Live. Daher + können für Teile hieraus andere Lizenzbedingungen bezüglich einer Weiterverteilung oder Modifikation + gelten, die Sie unbedingt beachten sollten! +2.2 Basisverzeichnisse von TE X Live +In diesem Abschnitt beschreiben wir die Basisverzeichnisse einer TE X Live-Installation. + bin ausführbare Programme des TE X-Systems. Jeweils für die verschiedenen Rech- + nerplattformen in Unterverzeichnissen zusammengefasst + readme-*.dir in diesen Verzeichnissen (!) befinden sich Text- bzw. HTML-Dateien in ver- + schiedenen Sprachen, die als schneller Einstieg in TE X Live empfehlenswert + sind. + source Quelldateien aller Programme inklusive der Web2C-Quellen für die TE X- + Pakete + texmf Verzeichnisbaum für Programme mit zugehörigen Hilfsdateien und Anleitun- + gen; enthält keine TE X-Formate und Pakete (siehe TEXMFMAIN im nächsten + Abschnitt). + texmf-dist Hauptbaum mit Formaten und Paketen (siehe TEXMFDIST im nächsten Ab- + schnitt). + tlpkg Skripte, Programme und Daten die für die Installation benutzt werden, sowie + einige Dinge, die speziell für Windows benötigt werden. +Zusätzlich zu den oben aufgeführten Verzeichnissen finden Sie im Wurzelverzeichnis der Distribution +auch noch die Installationsskripte. + Wenn Sie nach Dokumentation suchen, bietet Ihnen die Datei doc.html wichtige Links. Die Do- +kumentation für Programme (Handbücher, »man pages«, GNU-info-Dateien) beispielsweise finden Sie +im Verzeichnis texmf/doc. Ähnliches gilt für die Dokumentation der TE X-Pakete und -Formate im +Verzeichnis texmf-dist/doc. + Benutzen Sie das Programm texdoc, wenn Sie auf der Suche nach irgendeiner Dokumentationsdatei +sind. Hilfreich in diesem Zusammenhang könnte auch die Link-Sammlung doc.html im Wurzelverzeich- +nis sein. + Die Anleitung zu TE X Live ist in verschiedenen Sprachen verfügbar: + ∙ Tschechisch/Slowakisch: texmf/doc/czechslovak/texlive-cz/live + ∙ Deutsch: texmf/doc/german/texlive-de/texlive-de (dieses Dokument) + ∙ Englisch: texmf/doc/english/texlive-en/texlive-en + ∙ Französisch: texmf/doc/french/texlive-fr/texlive-fr + ∙ Italienisch: texmf/doc/italian/texlive-it/texlive-it + ∙ Polnisch: texmf/doc/polish/texlive-pl/texlive-pl + ∙ Russisch: texmf/doc/russian/texlive-ru/texlive-ru + ∙ Serbisch: texmf/doc/serbian/texlive-sr/texlive-sr + ∙ Chinesisch: texmf/doc/chinese/texlive-zh-cn/texlive-zh-cn +2.3 Überblick über die vordefinierten texmf-Bäume +Dieser Abschnitt listet die vordefinierten texmf-Bäume, die vom System benutzt werden, und deren +Bedeutung auf. Das Kommando tlmgr conf zeigt Ihnen die aktuellen Einstellungen dieser Variablen +an. + TEXMFMAIN In diesem Baum befinden sich wichtige Teile des Systems, wie Konfigurationsdateien, Hilfs- + programme und die Dokumentation. + TEXMFDIST In diesem Baum befinden sich die wesentlichen Makro-Pakete, Fonts usw. Dieser Baum ent- + hält systemunabhängige Daten, die prinzipiell von jedem TDS-kompatiblem TE X-System nutzbar + sein sollten. + TEXMFLOCAL Dieser Baum ist für Ergänzungen oder Aktualisierungen von Makros, Fonts etc. gedacht, + die Administratoren für alle Nutzer installieren. + + + 2 ÜBERBLICK ZUM TE XLIVE-SYSTEM 8 + TEXMFHOME In diesem Baum können einzelne Nutzer Ergänzungen oder Aktualisierungen von Makros, + Fonts etc. ablegen. Standardmäßig befindet sich dieser Baum unterhalb von $HOME, so dass andere + Nutzer von Änderungen hier nicht beeinflusst werden. + TEXMFCONFIG Dieser benutzerspezifische (!) Baum wird von den Hilfsprogrammen von TE X wie + texconfig, updmap und fmtutil verwendet. Standardmäßig befindet sich dieser Baum unterhalb + von $HOME, so dass andere Nutzer von Änderungen hier nicht beeinflusst werden. + TEXMFSYSCONFIG Systemweiter Baum, wird von den Hilfsprogrammen texconfig-sys, updmap-sys + und fmtutil-sys verwendet, so dass hier das Verhalten des TE X Live-Systems für alle Nutzer + beeinflusst werden kann. + TEXMFSYSVAR Dieser Baum wird von den systemweiten Hilfsprogrammen wie texconfig-sys, + updmap-sys und fmtutil-sys verwendet, um automatisch generierte Konfigurations-Dateien + abzulegen. + TEXMFVAR Dieser benutzerspezifische Baum wird von Hilfsprogrammen wie texconfig, updmap und + fmtutil benutzt, um automatisch generierte Konfigurations-Dateien abzulegen. + TEXMFCACHE Dieser Baum wird von ConTE Xt MkIV genutzt, um Cache-Daten abzulegen. + Der Standard der Verzeichnisstruktur von TE X Live sieht wie folgt aus: + Systemweites Wurzelverzeichnis kann TE X Live-Versionen aus mehreren Jahren beinhalten: + 2011 Eine Vorversion von TE X Live. + 2012 Die aktuelle Version. + bin + i386-linux GNU/Linux binaries + ... + universal-darwin Mac OS X binaries + win32 Windows binaries + texmf Hierauf verweist TEXMFMAIN. + texmf-dist TEXMFDIST + texmf-var TEXMFSYSVAR + texmf-config TEXMFSYSCONFIG + texmf-local TEXMFLOCAL, dieses Verzeichnis gilt für alle installierten TE X Live-Versionen (ak- + tuelle Version und Vorgängerversion), so dass hier durchgeführte lokale Änderungen über die + Jahre hinweg erhalten bleiben. + Home-Verzeichnis des Benutzers ($HOME oder %USERPROFILE%): + .texlive2011 Vom Nutzer privat erzeugte Dateien und Konfigurationsdaten der Vorversion. + .texlive2012 Vom Nutzer privat erzeugte Dateien und Konfigurationsdaten für die aktuelle + Version von TE X Live. + texmf-var TEXMFVAR + texmf-config TEXMFCONFIG + texmf TEXMFHOME Persönliche Makros, Fonts usw. des Nutzers. +2.4 TE X-Erweiterungen +Unter den TE X-Systemen der TE X Live befinden sich verschiedene TE X-Erweiterungen: + ε-TE X stellt bei 100%-iger Kompatibilität zum ursprünglichen TE X einen kleinen, aber mächtigen Satz + neuer Befehle bereit (für Makroexpansion, Character-Scanning, zusätzliche Klassen für »marks«, + erweiterte Debug-Möglichkeiten und andere). Zusätzlich gibt es noch die TE X--XE T-Erweiterungen + für den bidirektionalen Textsatz, wie er beispielsweise im Arabischen gebraucht wird. Im vorein- + gestellten Modus ist ε-TE X 100%-ig kompatibel mit dem »normalen« TE X. Die Dokumentation + zu ε-TE X finden Sie in der Datei texmf-dist/doc/etex/base/etex_man.pdf. + pdfTE X enthält die ε-TE X Erweiterungen und erlaubt – neben der Ausgabe in PDF-Dateien – auch + die Erstellung von DVI-Dateien. Für die meisten TE X-Formate (wie etex, latex, pdflatex) wird + tatsächlich pdfTE X aufgerufen. Die Webseite von pdfTE X lautet http://www.pdftex.org. Die + Dokumentation zu pdfTE X finden Sie unter texmf-dist/doc/pdftex/manual/pdftex-a.pdf. In + + + 2 ÜBERBLICK ZUM TE XLIVE-SYSTEM 9 + der Datei texmf-dist/doc/pdftex/manual/samplepdf/samplepdf.tex finden Sie ein Anwen- + dungsbeispiel. Das LATE X-Paket hyperref besitzt die Option pdftex mit der Möglichkeit für aktive + Querverweise (Hypertext) in PDF-Dateien. + LuaTE X befindet sich noch in Entwicklung und ist als zukünftiger Nachfolger von pdfTE X vorgese- + hen, zu dem es weitgehend abwärtskompatibel bleiben soll. Weiterhin soll es auch Aleph ersetzen, + auch wenn es nicht kompatibel dazu sein wird. Durch den enthaltenen Lua-Interpreter (siehe + http://www.lua.org/) können Probleme, die in TE X selbst nur mühsam lösbar sind, einfach + und elegant gelöst werden. Wird es unter dem Namen texlua aufgerufen, verhält es sich wie ein + eigenständiger Lua-Interpreter – und wird als solcher in vielen Skripten von TE X Live bereits be- + nutzt. Für weitere Informationen siehe http://www.luatex.org/ und texmf-dist/doc/luatex/ + luatexref-t.pdf. + XeTeX bietet die Unterstützung von Unicode-Zeichensätzen und OpenType-Schriften durch diverse + zusätzliche Bibliotheken. Mehr Informationen sind unter http://tug.org/xetex verfügbar. + Ω (Omega) ist ein TE X-System, das intern mit Unicode (16-Bit-Unicode-Zeichen) arbeitet und da- + mit das gleichzeitige Arbeiten mit nahezu allen auf der Welt eingesetzten Schriften und deren + Zeichenkodierungen erlaubt. Außerdem werden über dynamisch geladene, sogenannte »Ω Transla- + tion Processes« (OTPs) Transformationen zur Verfügung gestellt, die beliebige Eingaben vor der + Bearbeitung durch TE X nach bestimmten Regeln umformen. Omega ist nicht länger als eigenstän- + diges Programm Teil von TE X Live; es wird nur noch Aleph mitgeliefert. + ℵ (Aleph) vereinigt die Ω- und ε-TE X-Erweiterungen. Eine Minimaldokumentation finden Sie in + texmf-dist/doc/aleph/base. +2.5 Weitere Programme von TE X Live +TE X Live enthält eine ganze Reihe unterstützender Programme wie + bibtex, bibtex8 Verwalten von Bibliographien + dviconcat Zusammenfügen von DVI-Dateien + dvips Konversion von DVI in PostScript + dviselect Ausschneiden von Seiten aus DVI-Dateien + dvipdfmx DVI-nach-PDF-Konverter (erzeugt auch CJK-konformes PDF aus DVI-Dateien mit Ω-Erwei- + terungen), als Alternative zu pdfTE X + dvilj Druckertreiber für die HP-LaserJet-Familie + makeindex, xindy Erzeugen eines Stichwortverzeichnisses + mpost METAFONT-ähnliches Grafikprogramm + psnup, psselect PostScript-Tools + pdfjam, pdfjoin PDF-Tools + tex4ht TE X-nach-HTML-Konvertierung + texexec, texmfstart ConTE Xt- und PDF-Prozessor + xdvi DVI-Bildschirmausgabe im X-Window-System +2.6 Fonts in TE X Live +TE X Live enthält eine Vielzahl qualitativ hochwertiger Vektorschriften. Weitere Informationen hier- +zu finden sich unter http://tug.org/fonts und texmf-dist/doc/fonts/free-math-font-survey/ +survey. + + + 3 INSTALLATION VON TE XLIVE 10 + 3 Installation von TE X Live +3.1 Das Installationsprogramm +Zur Installation von TE X Live benötigen Sie die TE X Collection-DVD oder den TE X Live Net Installer +aus dem Internet. +Net Installer: Verfügbar von CTAN, unter systems/texlive/tlnet; die URL http://mirror.ctan.org/systems/texlive/tlnet + leitet Sie automatisch an einen nahe gelegenen Server des CTAN-Netzwerks weiter. Sie können + entweder die Datei install-tl.zip herunter laden, die sowohl für Unix als auch Windows + gedacht ist, oder die deutlich kleinere Datei install-unx.tar.gz, die aber nur den Installer + für Unix enthält. Nach dem Auspacken finden Sie die Dateien install-tl (Unix) bzw. + install-tl.bat (Windows) im Verzeichnis install-tl. +TE X Collection DVD: Hier finden Sie die Dateien install-tl (Unix) bzw. install-tl.bat (Win- + dows) im Verzeichnis texlive der DVD. Unter Windows startet beim Einlegen der DVD im + Allgemeinen automatisch ein Programm, bei dem Sie unter anderem das Installationsprogramm + von TE X Live auswählen können. Die DVD erhalten Sie als Mitglied eines TE X-Vereins (wie + http://www.dante.de für den deutschsprachigen Raum, von der Fachbuchhandlung Lehmanns + (http://www.lob.de) oder international von der TE X Users Group (http://tug.org/store). + Alternativ können Sie das ISO-Image der TE X Live aus dem Internet laden. Nach der Installation + von der DVD können Sie die Internet-Aktualisierung aktivieren, für Details siehe Abschnitt 3.4.5. +Egal welche Quelle verwendet wird, es wird der gleiche Installer genutzt. Der hauptsächliche Unterschied +ist, dass man bei der Verwendung des Net-Installers die neuesten verfügbaren Pakete erhält. Bei der +Verwendung von DVD and ISO Images erhält man den Stand des letzten Major Release. Zwischen zwei +Major Releases gibt es keine Aktualisierung der DVD oder ISO Images. +Die folgenden Abschnitte beschreiben die Installation für die einzelnen Betriebssysteme. +3.1.1 Unix +Im Folgenden werden die Eingaben des Benutzers nach dem Kommando-Prompt ‘>’ fett dargestellt. + Das Skript install-tl ist ein Perl-Skript. Am Einfachsten starten Sie es auf einem Unix-System +in der Kommandozeile mit +> cd /pfad/zum/installer +> perl install-tl +(Sie können auch direkt perl /pfad/zum/installer/install-tl eingeben. Wenn Ihre DVD so ge- +mountet ist, dass als ausführbar gekennzeichnete Skripte direkt gestartet werden können, können Sie +im Verzeichnis des Installers auch direkt ./install-tl eingeben.) Eventuell müssen Sie Ihr Terminal- +fenster größer machen, damit Sie den kompletten Text sehen (Abb. 1) + Zum Installieren mit Hilfe einer Benutzeroberfläche (Abb. 2) verwenden Sie +> perl install-tl -gui +Hierfür muss das Perl/TK-Modul mit XFT-Unterstützung (diese ist bei GNU/Linux in der Regel mit +einkompiliert) auf Ihrem System installiert sein. + Alle Optionen des Installationsprogramms werden mit +> perl install-tl -help +angezeigt. + Wichtiger Hinweis zu den Zugriffsrechten unter Unix: Ihre aktuelle Einstellung von umask +wird bei der Installation von TE X Live berücksichtigt. Daher müssen Sie darauf achten, dass Sie hierfür +einen sinnvollen Wert einstellen (z. B. umask002), wenn Ihre Installation auch durch andere Nutzer als +Sie benutzt werden soll. Falls Sie unsicher sind, was dies bedeutet, schauen Sie bitte in die Anleitung +zu umask (indem Sie das Kommando man umask eingeben). + Besonderheit bei Cygwin: Im Gegensatz zu anderen Unix-basierten Systemen fehlen bei Cygwin +i. A. einige Programme, die vom Installationsprogramm von TE X Live vorausgesetzt werden. Bitte lesen +Sie den Abschnitt 3.1.4. + + + 3 INSTALLATION VON TE XLIVE 11 + 3.1.2 MacOSX +Wie in Abschnitt 2.1 bereits erwähnt wurde, existiert mit MacTE X (http://tug.org/mactex) ein eige- +nes TE X-System für Mac OS X. Dieses enthält ein komplettes TE X Live mit einem Installationsprogramm, +das in Funktionalität und Aussehen der üblichen Installation von Software unter Mac OS X entspricht. +Weiterhin sind einige Zusatzprogramme enthalten. + Wenn Sie die TE X Collection-DVD besitzen, empfiehlt es sich daher, MacTE X zu verwenden. +3.1.3 Windows +Wenn Sie den Net Installer verwenden, oder auf Ihrem System beim Einlegen der DVD das Installations- +programm nicht automatisch gestartet wurde, können Sie die Installation von TE X Live im Windows- +Explorer durch einen Doppelklick auf install-tl.bat (auf der DVD befindet sich diese Datei im +Verzeichnis texlive) starten. Falls Sie bei der Installation mehr Optionen benötigen (z. B. die Auswahl +spezifischer Paketgruppen), starten Sie stattdessen install-tl-advanced.bat. + Alternativ können Sie eine cmd-Eingabeaufforderung verwenden, dort in das Verzeichnis wechseln, +in dem sich das Installationsprogramm befindet und +D:\texlive\> install-tl +eingeben – ...> kennzeichnet hierbei den Eingabeprompt. Ihre Eingabe ist bold/fett dargestellt. + Alternativ können Sie die Installation auch aus einem beliebigen Verzeichnis heraus starten: +> D:\texlive\install-tl +wobei wir hier annehmen, dass sich ihre TE X Collection-DVD im Laufwerk D: befindet. Abb. 3 zeigt +das grafische Installationsprogramm im »wizard mode«, das unter Windows standardmäßig verwendet +wird. + Zur Installation im Textmodus verwenden Sie: +> install-tl -no-gui +Alle vorhandenen Optionen, die beim Starten des Installationsprogramms verwendet werden können, +werden wie folgt angezeigt: +> install-tl -help +3.1.4 Cygwin +Das Installationsskript von TE X Live unterstützt nur Version 1.7 von Cygwin. Bevor Sie mit der Instal- +lation von TE X Live beginnen, verwenden Sie das Installationsprogramm von Cygwin (setup.exe) um +die Pakete perl und wget gegebenenfalls nachzuinstallieren. Wir empfehlen weiterhin die Installation +folgender Cygwin-Pakete: + ∙ fontconfig [für XeTE X] + ∙ ghostscript [wird von verschiedenen Teilen von TE X Live benötigt] + ∙ libXaw7 [für xdvi] + ∙ ncurses [damit der ’clear’-Befehl im Installer funktioniert] +3.1.5 Installation im Textmodus +Abb. 1 zeigt den Eingangsbildschirm des Installationsprogramms im Textmodus (Standard unter Un- +ix). Dieser ist ein reiner Textmodus, was zur Folge hatt dass es keine Unterstützung zum Wandern +durch die einzelnen Menüpunkte mit den Cursor-Tasten gibt. Alle Befehle wie zum Beispiel die Aus- +wahl von Menüpunkten werden durch Eingabe der entsprechenden Befehle bzw. Menükürzel über die +Tastatur eingegeben und dann durch Drücken von Enter übernommen. Hierbei wird zwischen Groß- +und Kleinschreibung unterschieden! + Die Installation im Textmodus ist so spartanisch, weil dieser Modus überall funktionieren soll, selbst +mit einer Basisinstallation von Perl (für Windows enthältTE X Live eine Minimalversion von Perl). + + + 3 INSTALLATION VON TE XLIVE 12 + ______________________________________________________________________________________________________________________________________ + Installing TeX Live 2012 from: ... + Platform: i386-linux => ’Intel x86 with GNU/Linux’ + Distribution: inst (compressed) + ... + Detected platform: Intel x86 with GNU/Linux + + <B> platforms: 1 out of 19 + + <S> installation scheme (scheme-full) + 84 collections out of 85, disk space required: 3091 MB + + Customizing installation scheme: + <C> standard collections + <L> language collections + + <D> directories: + TEXDIR (the main TeX directory): + /usr/local/texlive/2012 + ... + + <O> options: + [ ] use letter size instead of A4 by default + ... + + <V> set up for portable installation + + Actions: + <I> start installation to hard disk + <H> help + <Q> quit + Abbildung 1: Hauptmenü des Installationsprogramms (GNU/Linux). +3.1.6 Installation mit Benutzeroberfläche im Expertenmodus +Abb. 2 zeigt die grafische Installation im Expertenmodus unter GNU/Linux. Funktionell unterschei- +ded sich dieser nicht wesentlich vom Textmodus, außer dass natürlich mit Menüs, Auswahlboxen etc. +gearbeitet wird. + Dieser Modus muss explizit mit +> install-tl -gui=perltk +gestartet werden. +3.1.7 Installation mit einfacher Benutzeroberfläche (wizard mode) +Unter Windows wird automatisch diese einfache Form der Installation verwendet, der so genannte +»wizard mode« (Abb. 3). Dieser zeichnet sich dadurch aus, dass er TE X Live komplett installiert und +dabei vom Benutzer nur wenige Angaben gemacht werden müssen. Falls Sie eine individuell angepasste +Version von TE X Live benötigen, verwenden Sie daher bitte einen der beiden anderen Installationsmodi. + Um die Installation explizit im »wizard mode« zu starten (insbesondere unter Unix), verwenden Sie: +> install-tl -gui=wizard +3.2 Benutzung des Installationsprogramms +Das Installationsprogramm sollte (wenn Sie die vorherigen Abschnitte zum Aufbau von TE X Live und +der verwendeten Verzeichnisstruktur gelesen haben) weitgehend selbsterklärend sein. Trotzdem wollen +wir auf einige Punkte näher eingehen. +3.2.1 Auswahl der Binaries (nur für Unix) +Abb. 4 zeigt das Auswahlmenü für die Binaries der einzelnen Betriebssysteme im Textmodus. Im Allge- +meinen sollte hier schon das richtige System ausgewählt sein. Sie können aber problemlos Binaries für +verschiedene Systeme parallel auswählen. Dies bietet sich an, wenn Ihre Installation auf verschiedenen +Rechnern in einem heterogenen Netzwerk sichtbar ist und von dort aus benutzt werden soll. + + + 3 INSTALLATION VON TE XLIVE 13 + Abbildung 2: Grafische Installation im Expertenmodus (GNU/Linux). +3.2.2 Auswahl der zu installierenden Komponenten +Abb. 5 zeigt das Auswahlmenü für ein grundsätzliches Installationsschema der TE X Live. Durch die +Auswahl eines Schemas werden automatisch die Komponenten zur Installation ausgewählt, die für das +gewünschte Schema notwendig bzw. sinnvoll sind. Mit einer vollständigen Installation von TE X Live +(full scheme) sind Sie auf der sicheren Seite, da hier einfach alles installiert wird. Sie können aber auch +eines der abgespeckten Schemas wie basic (für ein sehr schlankes System), medium oder minimal (dies +empfiehlt sich aber nur für Testsysteme und weniger zum ernsthaften Arbeiten) auswählen. Weiter +stehen einige Schemas für spezielle Zwecke oder Sprachen zur Verfügung. + Wenn Sie das Schema ausgewählt haben, können Sie dieses in den Menüpunkten standard collections +und language collections (s. Abb. 6, diesmal zur Abwechslung im GUI-Modus) individuell nach Ihren +Wünschen anpassen. + Während das Schema nur den grundlegenden Funktionsumfang vorgibt, ist die Auswahl von Kom- +ponenten auf der Ebene der Collections viel feiner. Eine Collection besteht dabei aus mehreren Paketen +zu einem Thema, wobei jedes der Pakete aus bestimmten Makrodateien, Fontdateien usw. bestehen +kann. + Noch mehr Kontrolle über die Komponenten Ihres Systems haben Sie nach der Installation mit dem +TE X Live Manager (tlmgr), das in Abschnitt 6 beschrieben wird. Hier können Sie gezielt einzelne Pakete +installieren oder entfernen. + + + 3 INSTALLATION VON TE XLIVE 14 + Abbildung 3: Wizard mode (Windows) +3.2.3 Verzeichnisse +Die Verzeichnisstruktur von TE X Live wurde bereits im Abschnitt 2.3 auf S. 7 beschrieben. Als Wur- +zelverzeichnis für TE X Live (TEXDIR) wird unter Windows (%SystemDrive%\texlive\2012) und unter +Unix (/usr/local/texlive/2012) angenommen. + Prinzipiell können Sie diesen Pfad problemlos ändern, z. B. wenn Sie TE X Live als normaler Nutzer +installieren wollen und kein Schreibrecht in dem oben angegebenen Verzeichnis besitzen. + Auf Wunsch können Sie TE X Live also auch in Ihrem Home-Verzeichnis installieren, wenn Sie sowieso +der einzige Verwender von TE X Live sind. Für Ihr Home-Verzeichnis können Sie den Pfad »~« verwenden +und so beispielsweise TE X Live nach ~/texlive/2012 installieren. + Wir empfehlen Ihnen, die Jahreszahl im Verzeichnisnamen beizubehalten. So können Sie von Jahr +zu Jahr einfach die neue Version testen, ohne die alte zu entsorgen. Bei Bedarf können Sie einen symbo- +lischen Link (z.B. /usr/local/texlive-cur) verwenden, der jeweils auf das Verzeichnis der aktuellen +Version von TE X Live verweist. + Wenn Sie die Einstellung TEXDIR im Installationsprogramm ändern, werden die Werte für +TEXMFLOCAL, TEXMFSYSVAR und TEXMFSYSCONFIG automatisch angepasst. + Das als TEXMFHOME bezeichnete Verzeichnis ist der Ort, in dem persönliche Makrodateien, Schriften +o. ä. abgelegt werden können. Vorgabewert ist ~/texmf. Im Gegensatz zu TEXDIR wird ~ hier nicht +direkt zum Pfad des Home-Verzeichnisses aufgelöst, sondern unverändert in die Konfigurationsdateien +von TE X Live übernommen und erst zur Laufzeit aufgelöst. Somit kann jeder Nutzer des Systems +seinen komplett eigenen Pfad haben, der von TE X Live verwendet wird, und so nach Wunsch auch + + + 3 INSTALLATION VON TE XLIVE 15 + ______________________________________________________________________________________________________________________________________ + Available platforms: + =============================================================================== + a [ ] alpha-linux DEC Alpha with GNU/Linux + b [ ] amd64-freebsd x86_64 with FreeBSD + c [ ] amd64-kfreebsd x86_64 with GNU/kFreeBSD + d [ ] armel-linux ARM with GNU/Linux + e [ ] i386-cygwin Intel x86 with Cygwin + f [ ] i386-freebsd Intel x86 with FreeBSD + g [ ] i386-kfreebsd Intel x86 with GNU/kFreeBSD + h [X] i386-linux Intel x86 with GNU/Linux + i [ ] i386-solaris Intel x86 with Solaris + j [ ] mips-irix SGI IRIX + k [ ] mipsel-linux mipsel with Linux + l [ ] powerpc-aix PowerPC with AIX + m [ ] powerpc-linux PowerPC with GNU/Linux + o [ ] sparc-solaris Sparc with Solaris + p [ ] universal-darwin universal binaries for MacOSX/Darwin + s [ ] win32 Windows + t [ ] x86_64-darwin x86_64 with MacOSX/Darwin + u [ ] x86_64-linux x86_64 with GNU/Linux + v [ ] x86_64-solaris x86_64 with Solaris + Abbildung 4: Auswahlmenü für Binaries + ______________________________________________________________________________________________________________________________________ + Select a scheme: + =============================================================================== + a [X] full scheme (everything) + b [ ] medium scheme (small + more packages and languages) + c [ ] small scheme (basic + xetex, metapost, a few languages) + d [ ] basic scheme (plain and latex) + e [ ] minimal scheme (plain only) + f [ ] ConTeXt scheme + g [ ] GUST TeX Live scheme + h [ ] teTeX scheme (more than medium, but nowhere near full) + i [ ] XML scheme + j [ ] custom selection of collections + Abbildung 5: Menü zur Auswahl des Schemas + eigene Konfigurationsänderungen durchführen. Zur Laufzeit wird ~ unter Unix durch $HOME und unter + Windows durch %USERPROFILE% ersetzt. + Die Variable TEXMFVAR verweist auf das Verzeichnis mit benutzerspezifisch erzeugten Konfigurati- + onsdateien, z. B. den Konfigurations-Cache von ConTE Xt MkIV. +3.2.4 Optionen +Abb. 7 zeigt das Menü, in dem weitere Einstellungen für die Installation von TE X Live möglich sind. +Zur Erläuterung: + use letter size instead of A4 by default: Verwendung von Letter anstatt DIN A4 als Standard- + papiergröße. Natürlich können Sie später unabhängig davon für einzelne Dokumente eine beliebige + Papiergröße wählen. + execution of restricted list of programs: Ab TE X Live 2011 können bei einem TE X-Lauf standard- + mäßig einige externe Programme aufgerufen werden. Die (kurze) Liste der erlaubten Programme + wird in der Datei texmf.cnf definiert. Für weitere Informationen siehe Abschnitt ?? über Neue- + rungen in TE X Live 2011. + create format files: Auch wenn das Erzeugen von Formatdateien für Makropakete, die Sie gar nicht + benötigen, Zeit und Platz kostet, empfehlen wir trotzdem, diese Option ausgewählt zu belassen. + Falls Sie diese Option abwählen, werden Formatdateien jeweils bei Bedarf erzeugt, und dann im + persönlichen TEXMFVAR-Baum des aktuellen Benutzers abgelegt. Dort liegende Formate werden + allerdings nicht automatisch neu generiert, wenn z. B. Programme oder Silbentrennmuster aktua- + lisiert werden, so dass im Extremfall nach einem Update Inkompatibilitäten entstehen können. + + + 3 INSTALLATION VON TE XLIVE 16 + Abbildung 6: Menü zur Aus- oder Abwahl von Collections. + ______________________________________________________________________________________________________________________________________ + <P> use letter size instead of A4 by default: [ ] + <E> execution of restricted list of programs: [X] + <F> create format files: [X] + <D> install font/macro doc tree: [X] + <S> install font/macro source tree: [X] + <L> create symlinks in standard directories: [ ] + binaries to: + manpages to: + info to: + <Y> after installation, get package updates from CTAN: [X] + Abbildung 7: Auswahlmenü für weitere Optionen (Unix). + install font/macro . . . tree: Mit dieser Option können Sie verhindern, dass die Dokumentation und + die Quelldateien der Pakete installiert werden. Wir raten aber, die Vorgabe zu übernehmen, also + die Dokumentation und Quelldateien zu installieren. + create symlinks in standard directories (nur unter Unix): Mit dieser Option können Sie symbo- + lische Links für Programme und Dokumentation in den Standardverzeichnissen Ihres Systems + anlegen, so dass Sie Ihre Umgebungsvariablen PATH, MANPATH und INFOPATH nicht anpassen müs- + sen. Natürlich benötigen Sie für diese Option Schreibrechte in den entsprechenden Verzeichnissen. + Hinweis: Diese Option ist nicht dazu gedacht, ein vorhandenes TE X-System, das z. B. als Teil Ih- + rer Linux-Distribution installiert wurde, zu überschreiben! Sie dient vielmehr dazu, dass Links in + Verzeichnissen angelegt werden, wo die Nutzer sie erwarten – beispielsweise in /usr/local/bin + –, aber sich dort noch keine TE X-Programme befinden. + after installation . . . CTAN: Diese Option ist bei der Installation von DVD standardmäßig ge- + setzt. Sie sorgt dafür, dass nach der Installation Paket-Aktualisierungen aus dem Internet geladen + werden. Es gibt nur einen sinnvollen Grund, diese Option nicht zu aktivieren: wenn nur ein Un- + termenge von TE X Live installiert wurde und Pakete nach der Installation manuell hinzugefügt + werden sollen. + Wenn Sie alle gewünschten Einstellungen für die Installation vorgenommen haben, können Sie im Haupt- + menü nun »I« eintippen, um diese zu starten. Lesen Sie dann anschließend Abschnitt 3.4 für eventuell + + + 3 INSTALLATION VON TE XLIVE 17 + notwendige Arbeiten zum Abschluss der Installation. +3.3 Kommandozeilenoptionen für die Installation +Nach Eingabe von +> install-tl -help +erhalten Sie eine Liste der vorhanden Kommandozeilenoptionen. Sie können diese entweder mit - oder +-- verwenden. Die wichtigsten sind: + -gui Installation im grafischen Modus. Hierfür muss unter Unix Perl/Tk (mit XFT-Unterstützung) + installiert sein (http://tug.org/texlive/distro.html#perltk). Falls dies nicht der Fall ist, + wird die Installation im Textmodus durchgeführt. + -no-gui Installation im Textmodus. Da dies unter Unix Standard ist, wirkt sich diese Option nur + unter Windows aus. Da die Installation zum Benutzen von TE X Live direkt von DVD im grafischen + Modus nicht verfügbar ist, brauchen Sie in diesem Fall unbedingt den Textmodus. + -lang LL Sprache des Installationsprogramms als Sprach-Code in zwei Buchstaben (LL). Derzeit + werden unterstützt. Das Installationsprogramm versucht, die gewünschte Sprache anhand des + Systems herauszufinden. Falls dies scheitert oder die betreffende Sprache nicht verfügbar ist, wird + als Fallback-Sprache Englisch genutzt. + -in-place Sollten Sie schon ein rsync, svn, oder eine andere Kopie von TE X Live haben (siehe + http://tug.org/texlive/acquire-mirror.html), dann wird diese Option genau das nutzen, + was Sie schon haben und nur die notwendigen post-install Operationen durchführen. Eine War- + nung: Die Datei tlpkg/texlive.tlpdb kann dadurch überschrieben werden; machen Sie vorher + gegebenenfalls eine Sicherheitskopie. Die Entfernung von Paketen muss auch manuell vorgenom- + men werden. + Diese Option kann nicht über die Installer-Schnittstelle gesetzt werden. + -portable Die Option -portable (V im Text-Installer oder die entsprechende Option im grafischen + Installer); dient der Installation auf einem USB-Stick oder einer DVD-R. Siehe Abschnitt 5 für + Informationen über die portable Installation von TE X Live. + -profile profile Das Installationsprogramm schreibt die ausgewählten Optionen in eine Datei + texlive.profile. Mit dieser Option können Sie eine bereits vorhandene Datei bei der Installati- + on weiter verwenden, z. B. wenn Sie äquivalente Installationen auf mehreren Rechnern realisieren + wollen, ohne alle Auswahlschritte der Installation immer wieder neu durchführen zu müssen. + -repository url/path zur Auswahl einer Installationsquelle, für weitere Erläuterung siehe den nächs- + ten Abschnitt. +3.3.1 Die Option repository +Als Standardquelle für die Installation wird ein CTAN-Knoten verwendet, der automatisch von +http://mirror.ctan.org ermittelt wird. + Falls Sie eine andere Installationsquelle verwenden wollen, geben Sie eine neue Quelle an, die ent- +weder mit ftp:, http: oder file:/ beginnt oder ein Verzeichnispfad auf Ihrem System ist. Falls Sie +http: oder ftp: verwenden, werden »/«-Zeichen am Ende ignoriert. + Sie können also z. B. einen bestimmten CTAN-Knoten auswählen, so etwa http://ctan.example.org/tex-archive/systems/texlive/tlnet/, +wobei Sie natürlich statt ctan.example.org einen echten Servernamen verwenden und wahrscheinlich +auch den Rest der URL anpassen müssen. Eine Auflistung von CTAN-Servern finden Sie unter +http://ctan.org/mirrors. + Falls Sie ein lokales Repository verwenden (also entweder direkt einen Verzeichnispfad oder eine +mit file:/-URL angeben), so werden bevorzugt Archivdateien in einem Unterverzeichnis archive des +Repository verwendet, selbst wenn ausgepackte Dateien vorhanden sind. +3.4 Aufgaben im Anschluss an die Installation +Je nach System kann es notwendig sein, dass im Anschluss an die Installation noch einige Kleinigkeiten +erledigt werden müssen. + + + 3 INSTALLATION VON TE XLIVE 18 + 3.4.1 Windows +Benutzer von Windows sind hier in der glücklichen Position, dass das Installationsprogramm alles +komplett erledigt haben sollte. +3.4.2 Unix, falls symbolische Links angelegt wurden +Wenn Sie bei der Installation angegeben haben, dass und wo symbolische Links angelegt werden sollten +(s. Abschnitt 3.2.4), dann sollten hier auch keine Nacharbeiten mehr notwendig sein. +3.4.3 Umgebungsvariablen für Unix +Das Verzeichnis mit den ausführbaren Programmen von TE X Live muss sich im Suchpfad des Systems +befinden. Jedes unterstützte System besitzt ein eigenes Verzeichnis unterhalb von TEXDIR/bin, deren +Namen Sie in Abb. 4 finden. + Weiterhin können Sie die Verzeichnisse mit den Manual-Pages und Info-Dateien zu den entsprechen- +den Suchpfaden für Dokumentation hinzufügen. + Für Systeme mit einer Bourne-kompatiblen Shell wie bash ist hier am Beispiel von GNU/Linux +aufgeführt, wie die Befehle zum Setzen der Umgebungsvariablen (z. B. in $HOME/.profile) aussehen +könnten: +export PATH=/usr/local/texlive/2012/bin/i386-linux:$PATH +export MANPATH=/usr/local/texlive/2012/texmf/doc/man:$MANPATH +export INFOPATH=/usr/local/texlive/2012/texmf/doc/info:$INFOPATH +Für csh oder tcsh erfolgt die Konfiguration in der Regel in der Datei $HOME/.cshrc und könnte so +aussehen: +setenv PATH /usr/local/texlive/2012/bin/i386-linux:$PATH +setenv MANPATH /usr/local/texlive/2012/texmf/doc/man:$MANPATH +setenv INFOPATH /usr/local/texlive/2012/texmf/doc/info:$INFOPATH +3.4.4 Systemweites Setzen von Umgebungsvariablen +Wenn Sie als Administrator die Umgebungsvariablen global für das gesamte System setzen wollen, gehen +wir davon aus, dass Sie sich mit der grundlegenden Systemadministration auskennen. + Daher hier nur zwei Hinweise: + 1. Schauen Sie nach einer Datei /etc/manpath.config. Falls diese vorhanden ist, sollte es reichen, + folgende Zeilen hinzu zu fügen: + MANPATH_MAP /usr/local/texlive/2012/bin/i386-linux \ + /usr/local/texlive/2012/texmf/doc/man + 2. Prüfen Sie, ob es auf Ihrem System eine Datei /etc/environment gibt, in der die systemweiten + Umgebungsvariablen definiert werden. + Zusätzlich wird ein symbolischer Link man im binary-Verzeichnis unter Unix angelegt, der auf + texmf/doc/man berweist. Einige Versionen von man, so z. B. unter Mac OS X, finden so verlink- + te Man-Pages automatisch, so dass hier keine spezielle Konfiguration für die Man-Pages mehr + erforderlich ist. +3.4.5 Internet-Updates nach der Installation von DVD +Wenn Sie von DVD installiert haben, können Sie mittels des folgenden Befehls die Aktualisierung +über das Internet aktivieren. Zuerst müssen Sie, wie im letzten Abschnitt beschrieben, den Suchpfad +angepasst haben: +> tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet +Dadurch nutzt tlmgr beim nächsten Update einen CTAN Mirror. Sollte es Probleme bei der au- +tomatischen Wahl eines Mirror-Servers geben, kann ein bestimmter CTAN Server von der unter +http://ctan.org/mirrors verfügbaren Liste ausgewählt werden. Benutzen Sie diesen Pfad dann mit +dem oben genannten Befehl. + + + 3 INSTALLATION VON TE XLIVE 19 + 3.4.6 Font configuration for XeTE X +XeTE X und LuaTE X können nicht nur die Schriften in den TE X Bäumen nutzen, sondern auch die auf +dem System vorhandenen Fonts. Die Methoden, wie sie dies tun, ähneln sich, sind aber verschieden. + Unter Windows sind die auf dem System vorhandenen Schriften automatisch nutzbar. Auf einem +Unix/Linux System sind Anpassungen notwendig, damit die Schriften per Systemname und nicht nur +Dateiname gefunden werden können. + Hierfür wird bei der Installation des xetex Pakets die Datei TEXMFSYSVAR/fonts/conf/ +texlive-fontconfig.conf erzeugt. + Um die mitgelieferten TE X Live-Schriften systemweit verwenden zu können, gehen Sie bitte folgen- +dermaßen vor: + 1. Kopieren Sie als root-User texlive-fontconfig.conf nach /etc/fonts/conf.d/09-texlive. + conf. + 2. Führen Sie fc-cache -fsv aus. +Falls Ihnen als normaler Nutzer die entsprechenden Privilegien für die obigen Schritte fehlen, können +Sie die TE X Live-Schriften für sich selbst als XeTE X-Nutzer verwendbar machen: + 1. Kopieren Sie texlive-fontconfig.conf in das Unterverzeichnis ~/.fonts.conf, wobei ~ Ihr + Home-Verzeichnis ist. + 2. Führen Sie fc-cache -fv aus. + Führen Sie fc-list aus, um eine Liste der Systemschriften mit hilfreichen Informationen zu erhalten. +3.4.7 ConTE Xt Mark IV +Sowohl das ‘alte’ ConTE Xt (Mark II) als auch das ‘neue’ ConTE Xt (Mark IV) sollten problemlos nach +der TE X Live Installation funktionieren und brauchen keine besondere Aufmerksamkeit, sofern tlmgr +für den Update-Prozess genutzt wird. + Da ConTE Xt MkIV jedoch nicht die kpathsea-Bibliothek nutzt, ist ein wenig manuelle Nacharbeit +notwendig, wenn neue Dateien manuell installiert werden (also ohne die Nutzung von tlmgr). + Nach einer jeden solchen Installation muss jeder Nutzer das das folgende Kommando ausführen, um +den ConTE Xt Cache zu aktualisieren: +context --generate + Die erzeugten Dateien werden in TEXMFCACHE gespeichert, dessen Standardwert TEXMSYSVAR;TEXMFVAR +ist. + ConTE Xt MkIV liest aus allen Pfaden, die in TEXMFCACHE aufgeführt sind und schreibt in die erste +Pfadangabe, bei der Schreibrechte existieren. Im Fall identischer Cache-Daten hat der letzte gefundene +Pfad Vorrang vor allen anderen Pfaden. + Für weitere Informationen siehe http://wiki.contextgarden.net/Running_Mark_IV und +http://wiki.contextgarden.net/TeX_Live_2011. +3.4.8 Integrieren lokaler bzw. nutzer-spezifischer Makros +Wie bereits in Abschnitt 2.3 erwähnt, ist der Verzeichnisbaum TEXMFLOCAL (im Normalfall /usr/ +local/texlive/texmf-local oder %SystemDrive%\texlive\texmf-local) für lokale Ergänzungen +wie Makros und Schriften gedacht, die anschließend allen Benutzern des Systems zur Verfügung ste- +hen. Weiterhin können Benutzer den Verzeichnisbaum TEXMFHOME (im Normalfall $HOME/texmf oder +%USERPROFILE%\texmf) für persönliche Ergänzungen verwenden, ohne dass andere Benutzer davon be- +einflusst werden. Diese Verzeichnisse sollen über verschiedene Versionen von TE X Live hinweg identisch +sein, so dass ein Update von TE X Live auf eine neue Version einfach möglich ist, ohne dass Sie Ihre +lokalen Ergänzungen verlieren. Wir empfehlen Ihnen daher, von der vorgegebenen Verzeichnisstruktur +nicht abzuweichen. + Für beide oben genannte Verzeichnisbäume erwartet TE X Live eine Verzeichnisstruktur innerhalb +des Baums, die dem TE X Directory Standard entspricht, wie er in http://tug.org/tds bzw. texmf/ +web2c/texmf.cnf definiert ist. So gehören Dokumentklassen für LATE X zum Beispiel in ein Verzeichnis +unterhalb von TEXMFLOCAL/tex/latex oder TEXMFHOME/tex/latex. + Der Verzeichnisbaum TEXMFLOCAL wird zur Laufzeit nicht direkt nach Dateien durchsucht. Stattdes- +sen wird eine Liste von Dateinamen verwendet, sich sich in einer Datei mit dem Namen ls-R befindet. +Denken Sie also daran, nach Änderungen in diesem Baum diese Dateiliste zu aktualisieren. Dies tun +Sie entweder mit dem Befehl mktexlsr oder über die Schaltfläche Reinit file database in dem Konfigura- +tionsreiter des TE X Live Managers (GUI-Modus). + + + 3 INSTALLATION VON TE XLIVE 20 + 3.4.9 Integrieren von Schriften +Die Installation von Schriften, die nicht von TE X Live sind, ist eine recht komplexe Angelegenheit. Sie +sollten sich bereits gut mit dem System auskennen, bevor Sie diese Aufgabe beginnen. Schauen Sie +vielleicht vorher in Abschnitt 2.6 nach, welche Schriften bereits bei TE X Live mitgeliefert werden. + Eine Alternative besteht im Benutzen von XeTE X oder LuaTE X (s. Abschnitt 2.4), bei dem direkt +alle vom Betriebssystem installierten Schriften verwendet werden können, ohne dass die Installation +einer TE X-Unterstützung notwendig ist. + Falls Sie wirklich weitere Schriften benötigen, finden Sie unter http://tug.org/fonts/fontinstall.html +eine Beschreibung zur Installation weiterer Schriften. +3.5 Testen der Installation +Nach der Installation von TE X Live wollen Sie es natürlich benutzen, um möglichst schöne Dokumente +zu setzen. + Dieser Abschnitt beschreibt, wie Sie prüfen können, ob Ihr TE X Live-System funktioniert. Die folgen- +den Beispiele sind für Unix, sollten unter Windows und Mac OS X aber sehr ähnlich sein. Der Unterschied +kann sein, dass Sie dort eventuell eine grafische Benutzeroberfläche verwenden. + 1. Prüfen Sie, ob Sie das Programm tex ausführen können: + > tex --version + TeX 3.1415926 (TeX Live 2012) + kpathsea version 5.0.0 + Copyright 2011 D.E. Knuth. + ... + Erhalten Sie als Resultat statt der Versionsnummer die Meldung, dass der Befehl nicht gefunden + wurde, so haben Sie wahrscheinlich vergessen, das Verzeichnis mit den ausführbaren Programmen + in Ihren PATH aufzunehmen, s. Abschnitt 3.4.3 auf S. 18. + 2. Eine einfache LATE X-Datei übersetzen: + > latex sample2e.tex + pdfTeX 3.1415926-1.40.11-2.2 (TeX Live 2012) + ... + Output written on sample2e.dvi (3 pages, 7484 bytes). + Transcript written on sample2e.log. + Falls dies schief geht, sind wahrscheinlich noch alte Umgebungsvariablen einer vorigen TE X- + Installation übrig geblieben. Wir empfehlen, die Umgebungsvariablen, die sich auf TE X beziehen, + zu entfernen. Für eine weitere Analyse können Sie TE X anzeigen lassen, wo es bestimmte Dateien + sucht, siehe »Fehlersuche« auf Seite 35. + 3. Ergebnis auf dem Bildschirm anschauen: + > xdvi sample2e.dvi # Unix + > dviout sample2e.dvi # Windows + Nun sollte sich ein Vorschaufenster mit dem soeben gesetzten Beispieldokument öffnen, das die + Grundlagen von LATE X erläutert (und das Anfänger tatsächlich auch einmal lesen sollten). Unter + Unix muss ein X-Server laufen, damit xdvi funktioniert; falls dies nicht der Fall ist oder die Umge- + bungsvariable DISPLAY falsch gesetzt ist, erhalten Sie die Fehlermeldung ‘Can’t open display’. + 4. Eine PostScript-Datei erzeugen: + > dvips sample2e.dvi -o sample2e.ps + 5. Direkt eine PDF-Datei erzeugen (statt DVI): + > pdflatex sample2e.tex + + +3 INSTALLATION VON TE XLIVE 21 + 6. Eine PDF-Datei anschauen: + > gv sample2e.pdf + or: + > xpdf sample2e.pdf + Weder gv noch xpdf sind in TE X Live enthalten, daher müssen diese separat installiert werden, + siehe http://www.gnu.org/software/gv bzw. http://www.foolabs.com/xpdf. Sie können na- + türlich auch andere PDF-Viewer verwenden, beispielsweise den Adobe Reader, der allerdings unter + Windows das Problem hat dass geöffnete PDF-Dateien nicht überschrieben werden können, was + zu Fehlern von pdfTE X führt, wenn Sie ein Dokument übersetzten wollen und vergessen haben, + es vorher im Acrobat Reader zu schließen. Unter Windows sollten Sie auch einmal Sumatra PDF + (http://blog.kowalczyk.info/software/sumatrapdf) ausprobieren. + 7. Weitere nützliche Test-Dateien außer sample2e.tex: + small2e.tex Einfachere Version von sample2e, um den Fehler einzugrenzen, wenn Sie beim + Übersetzen von sample2e Probleme haben. + testpage.tex Hiermit können Sie prüfen, ob Ihr Drucker Ihren Ausdruck horizontal oder ver- + tikal verschiebt. + nfssfont.tex Zum Testen von Fonts und Erzeugen von Schrifttabellen. + testfont.tex Erzeugen von Schrifttabellen, aber mit plain TE X. + story.tex Das einfachste Testdokument von allen (in plain TE X). Geben Sie am Ende ‘\bye’ + ein, wenn nach dem Aufruf von ‘tex story.tex’ der * erscheint. + 8. Falls Sie das xetex-Paket installiert haben, können Sie das Verwenden von Systemschriften fol- + gendermaßen testen: + +> xetex opentype-info.tex + This is XeTeX, Version 3.1415926... + ... + Output written on opentype-info.pdf (1 page). + Transcript written on opentype-info.log. + (Oder das gleiche für luatex.) + Falls Sie die Fehlermeldung »Invalid fontname ‚Latin Modern Roman‘...« erhalten, muss Ihr + System so konfiguriert werden, dass es die von TE X Live mitgelieferten Schriften findet (siehe + Abschnitt 3.4.6). +3.6 Hinweise auf weitere Software +In vielen Fällen ist die Installation weiterer Software sinnvoll: +Ghostscript http://www.cs.wisc.edu/~ghost/ +Perl http://www.perl.org/ mit Zusatzpaketen von CPAN, http://www.cpan.org/ +ImageMagick http://www.imagemagick.com, für die Bearbeitung und Umwandlung von Bildern in + andere Formate, +NetPBM http://netpbm.sourceforge.net/, ebenfalls für Bilder. +TE X-Oberflächen Es gibt eine breite Auswahl von Oberflächen bzw. Editoren, die TE X unterstützen, + je nach persönlichem Geschmack des Benutzers. Hier ist eine Auswahl, wobei einige davon nur für + Windows verfügbar sind: + ∙ GNU Emacs gibt es auch für Windows, siehe http://www.gnu.org/software/emacs/windows/ntemacs.html. + ∙ Emacs mit AucTE X für Windows findet man auf der Homepage http://www.gnu.org/software/auctex. + ∙ Emacs mit AucTE X für Windows findet man auf der Homepage http://www.gnu.org/software/auctex. + ∙ LEd findet sich unter http://www.ctan.org/support/LEd. + ∙ SciTE findet sich unter http://www.scintilla.org/SciTE.html. + ∙ Texmaker ist Freie Software, verfügbar über http://www.xm1math.net/texmaker/. + + + 4 INSTALLATION FÜR MEHRERE MASCHINEN ODER NUTZER (NETZ-INSTALLATION) 22 + ∙ TexMakerX http://texmakerx.sourceforge.net/ ist eine Version von Texmaker mit zu- + sätzlichen Features + ∙ TeXnicCenter ist Freie Software, verfügbar über http://www.texniccenter.org und als Teil + von proTE Xt. + ∙ TeXworks ist Freie Software, verfügbar über http://tug.org/texworks. Wird unter Win- + dows und Mac OS X als Teil von TE X Live mitinstalliert. + ∙ Vim ist Freie Software, verfügbar über http://www.vim.org. + ∙ WinShell findet sich unter http://www.winshell.de. + ∙ WinEdt ist Shareware, verfügbar über http://tug.org/winedt oder http://www.winedt.com. + Bitte beachten Sie, dass es für Mitglieder von DANTE e. V. ein Lizenzabkommen mit WinEdt + zu sehr günstigen Preisen gibt. + Für weitere Programme siehe http://tug.org/interest.html. +4 Installation für mehrere Maschinen oder Nutzer (Netz- + Installation) +Bei TE X Live ist nicht nur vorgesehen, dass es von mehreren Benutzern auf einem System verwendet +werden kann, sondern auch in einem Netzwerk. In der normalen Konfiguration von TE X Live werden +nur relative und keine absoluten Pfade verwendet. Dies erkennt man an Einstellungen in der Datei +$TEXMFMAIN/web2c/texmf.cnf, die Zeilen wie die folgenden enthält, in denen Verzeichnisse relativ zu +den Verzeichnissen lokalisiert werden, in denen sich die Programme befinden: +TEXMFMAIN = $SELFAUTOPARENT/texmf +... +TEXMFLOCAL = $SELFAUTOPARENT/../texmf-local +Daher ist es im Normalfall ausreichend, das Programm-Verzeichnis in den Suchpfad des Systems auf- +zunehmen, alles weitere bestimmt TE X Live dann automatisch. + Daher ist es kein Problem, wenn das Grundverzeichnis von TE X Live als Netzlaufwerk eingebunden +ist. Tatsächlich können Sie TE X Live sogar zunächst lokal installieren und dann auf ein Netzlaufwerk +verschieben. + Benutzer von Windows können ein Installationsskript namens w32client für eine Netzwerkinstal- +lation von http://tug.org/texlive/w32client.html (siehe auch Abschnitt 4) herunterladen. Dieses +nimmt die Einstellungen im Startmenü von Windows für das Verwenden von TE X Live über Netzwerk +vor, weiterhin wird ein Skript zur Deinstallation mitgeliefert. Lesen Sie bitte die Beschreibung auf der +angegebenen Webseite. +5 Portables TE X Live auf DVD oder USB-Stick +Wenn Sie TE X Live im portablen Modus verwenden wollen (z. B. auf einem Rechner, auf dem Sie „Gast“ +sind), können Sie TE X Live mit der Option -portable (bzw. der Option V im Text-Installer oder der +entsprechenden Option im grafischen Installer) auf einem USB-Stick installieren (siehe Abschnitt 3.3). + Um TE X von dieser portablen Installation ausführen zu können, muss das entsprechenden Verzeichnis +mit den Binaries dem Suchpfad hinzugefügt werden. Unter Windows kann man tl-tray-menu im +Stammverzeichnis der Installation doppelt klicken, um zwischen verschiedenen Aufgaben zu wählen. + +Der Eintrag ‘More...’ erläutert, wie Sie dieses Menü anpassen können. + + + 6 TLMGR: INSTALLATION VERWALTEN 23 + Abbildung 8: tlmgr im GUI-Modus. Hauptfenster nach dem Klicken auf »Load«. +6 tlmgr: Installation verwalten +Bei der Installation von TE X Live wird auch das Programm tlmgr installiert, mit dem Sie anschließend +Ihr TE X Live-System verwalten können. Die hierfür bisher verwendeten Programme updmap, fmtutil +und texconfig sind zwar noch vorhanden, aber inzwischen ist tlmgr die vorgesehene Oberfläche zur +Konfiguration von TE X Live. Mit tlmgr können Sie folgende Aufgaben erledigen: + ∙ Verfügbare Schemas, Collections und Pakete installieren, aktualisieren, wieder herstellen, sichern, + deinstallieren, auf Wunsch mit Berücksichtigung von Paketabhängigkeiten. + ∙ Suchen nach Paketen. + ∙ Anzeigen der Systeme, unter denen TE X Live läuft; (de)installieren von Binaries für weitere Sys- + teme. + ∙ Anpassen der Installation, wie Ändern der Papiergröße oder des Quellverzeichnisses für Kompo- + nenten (s. Abschnitt 3.3.1). +Achtung: tlmgr ist für die Installation im portalen Modus (Abschnitt 5) weder gedacht noch getestet. +6.1 tlmgr im grafischen Modus +tlmgr im GUI-Modus (siehe Abbildung 8) wird durch + + + 6 TLMGR: INSTALLATION VERWALTEN 24 + Abbildung 9: tlmgr im GUI-Modus: Allgemeine Optionen + Abbildung 10: tlmgr im GUI-Modus: + Optionen zur Papiergröße + > tlmgr -gui + gestartet. Unter Windows finden Sie das Programm im Start menu: Start, Programme, TeX Live 2012, + TeX Live Manager. Nach Klicken auf »Load« wird eine Liste aller verfügbaren und installierten (letztere + durch »(i)« gekennzeichnet) angezeigt. Dies setzt voraus, dass das Verzeichnis, aus dem TE X Live die + Pakete lädt, vorhanden bzw. erreichbar ist. + Abb. 9 und 10 zeigen die Reiter zur allgemeinen Konfiguration von TE X Live und zur Einstellung + der Papiergröße. +6.2 Beispiel zur Verwendung von tlmgr über Kommandozeile +Nachdem Sie TE X Live installiert haben, können Sie Ihr TE X Live-System auf den neuesten Stand +aktualisieren: +> tlmgr update -all +Falls Sie vorher wissen wollen, was passiert, können Sie zunächst +> tlmgr update -all -dry-run +oder (weniger ausführlich) +> tlmgr update -list +verwenden. + Das folgende Beispiel demonstriert, wie die Collection für XeTE X installiert wird, wobei sich die +Installationsdateien in einem lokalen Verzeichnis befinden: +tlmgr -repository /local/mirror/tlnet install collection-xetex +Dies liefert die folgende Ausgabe: +install: collection-xetex +install: arabxetex +... +install: xetex +install: xetexconfig +install: xetex.i386-linux +running post install action for xetex + + + 7 HINWEISE ZU WINDOWS 25 + install: xetex-def + ... + running mktexlsr + mktexlsr: Updating /usr/local/texlive/2012/texmf/ls-R... + ... + running fmtutil-sys --missing + ... + Transcript written on xelatex.log. + fmtutil: /usr/local/texlive/2012/texmf-var/web2c/xetex/xelatex.fmt installed. + Wie man sieht, beachtet tlmgr die Abhängigkeiten von Paketen und installiert im obigen Beispiel + von XeTE X benötigte Komponenten nach. Weiterhin werden automatisch im Anschluss die Dateilisten + der Verzeichnisbäume aktualisiert und fehlende Formate generiert. + Informationen zu einem Paket (oder einer Collection oder einem Schema) anzeigen: + Ucomtlmgr show collection-latexextra + Hier erhält man folgende Ausgabe: + package: collection-latexextra + category: Collection + shortdesc: LaTeX supplementary packages + longdesc: A large collection of add-on packages for LaTeX. + installed: Yes + revision: 14675 + Die komplette Dokumentation finden Sie unter http://tug.org/texlive/tlmgr.html oder mit + > tlmgr -help +7 Hinweise zu Windows +Das Installationsprogramm von TE X Live läuft sowohl unter Windows als auch Unix. Dies war nur +dadurch möglich, dass ältere Versionen von Windows nicht mehr unterstützt werden. Daher kann TE X +Live nur noch ab Windows XP oder später installiert werden. +7.1 Windows-spezifische Dinge +Unter Windows kümmert sich das Installationsprogramm auch um folgende Dinge: + Menüs und Verknüpfungen. Im Startmenü wird ein Menü »TE X Live« hinzu gefügt. Hier sind Ein- + träge für die grafischen Anwendungen (tlmgr, texdoctk, den PS_View (psv) PostScript-Previewer) + und einige Verknüpfungen zur Dokumentation vorhanden. Für PS_View wird eine Verknüpfung + auf dem Desktop angelegt, auf die Sie PostScript-Dateien per Drag & Drop ziehen können, um + diese zu betrachten. + Automatisches Setzen der Umgebungsvariablen. Hierdurch ist das Setzen dieser Variablen von + Hand überflüssig geworden. + Uninstaller. Es wird ein Eintrag zum Entfernen von TE X Live in der Systemsteuerung im Punkt + Software angelegt. Alternativ können Sie TE X Live über die GUI TE X Live Manager deinstallieren. + Dateiverknüpfungen Wenn diese Option aktiviert wird, werden TeXworks, Dviout und PS_view ent- + weder die Standard-Programme für die entsprechenden Dateitypen oder erhalten einen Eintrag + im ‘Öffnen mit’ Dialog. + Bitmap nach eps Konverter Verschiedene Bitmap-Formate erhalten einen Eintrag bitmap2eps in ihr + ‘Öffnen mit’ Menü. Bitmap2eps ist ein einfaches Skript, das im Hintergrund sam2p oder bmeps + aufruft. + Automatische Pfad-Anpassung Erfordert keine manuellen Anpassungen. + + + 7 HINWEISE ZU WINDOWS 26 + Abbildung 11: PS_View: sogar sehr extreme Vergrößerungen sind möglich. +7.2 Zusätzlich enthaltene Programme unter Windows +Zusätzlich werden unter Windows einige Programme installiert, die unter Windows meist noch nicht +verfügbar sind: + Perl und Ghostscript. Da Perl und Ghostscript für TE X Live sehr wichtig ist, werden diese unter + Windows mitgeliefert und werden intern von TE X Live benutzt. Die in TE X Live enthaltenen + Programme, die diese Komponenten benötigen, »wissen« wo sich diese befinden, ohne dass diese im + System durch Umgebungsvariablen oder Einträge in der Registry sichtbar sind. Es handelt sich um + für TE X Live abgespeckte Versionen, die zu keinen Konflikten mit eventuell bereits vorhandenen + Installationen von Perl und Ghostscript führen sollten. + PS_View. Weiterhin wird PS_View installiert, ein neuer PostScript- und PDF-Viewer, der Freie + Software ist, s. Abb. 11. + dviout Weiterhin wird dviout, ein DVI-Viewer installiert. Wenn Sie am Anfang Dokumente mit dviout + anschauen, werden häufig noch Fonts generiert, da keine fertigen Fontdateien für den Bildschirm + mitgeliefert werden. Je mehr Fonts generiert wurden, desto seltener müssen Schriften nachge- + neriert werden, so dass dieser Effekt nach einiger Zeit nur noch selten auftreten wird. Weitere + Informationen finden Sie in der (sehr guten) Online-Hilfe. + TeXworks TE Xworks ist eine Oberfläche für TE X mit Editor und integriertem PDF-Viewer. + Tools für die Kommandozeile. Für einige unter Unix übliche Programme werden Portie- + rungen für Windows mitgeliefert. Dies sind z. B. gzip, unzip und einige Programme für + die Kommandozeile aus der xpdf-Suite, wie pdfinfo und pdffonts. (Vom xpdf-Viewer + selbst gibt es keine Version für Windows, aber der Sumatra PDF-Viewer basiert auf xpdf: + http://blog.kowalczyk.info/software/sumatrapdf.) + fc-cache, fc-list etc. dienen XeTE X zur effizienteren Benutzung von Schriften. Mit fc-list können + Sie die Namen der verfügbaren Schriften anzeigen, die Sie dann unter XeTE X mit dem Kommando + \font benutzen können. Mit fc-cache kann die Liste der verfügbaren Schriften aktualisiert werden. +7.3 Nutzerprofile unter Windows +Das Gegenstück von Windows zum HOME-Verzeichnis unter Unix ist das Verzeichnis %USERPROFILE%. + + + 7 HINWEISE ZU WINDOWS 27 + Unter Windows 7 oder Windows Vista liegt es meist in C:\Users\<username>, unter Windows XP + im Verzeichnis C:/Dokumente und Einstellungen/<username>. + In der Datei texmf.cnf und in Kpathsea allgemein wird ~ sowohl unter Unix und Windows korrekt + aufgelöst. +7.4 Die Windows-Registry +Windows verwaltet fast all seine Konfigurationseinstellungen in der Registry. Diese besteht aus einem +hierarchisch aufgebauten Baum von Schlüsseln, wobei mehrere dieser Registry-Bäume existieren. Die +wichtigsten sind HKEY_CURRENT_USER und HKEY_LOCAL_MACHINE, oft abgekürzt als HKCU bzw. HKLM. Der +HKCU-Teil der Registry wird im Home-Verzeichnis des Benutzers gespeichert (siehe Abschnitt 7.3). HKLM +liegt im Normalfall in einem Unterverzeichnis des Windows-Verzeichnisses. + In einigen Fällen sind Systeminformationen aus Umgebungsvariablen ersichtlich, in vielen anderen +Fällen liegen diese Informationen aber in der Registry. +7.5 Windows Permissions +In neueren Versionen von Windows wird zwischen normalen Benutzern und Administratoren unterschie- +den, wobei nur letztere freien Zugang auf alle Teile des Betriebsystems haben. Im Gegensatz zu Unix ist +es in der Praxis allerdings häufig so, dass Benutzer zur Klasse der Administratoren gehören und daher +doch alle Freiheiten haben. Trotzdem haben wir einigen Aufwand getrieben, damit TE X Live auch unter +Windows ohne Administrator-Rechte installiert werden kann. + Falls der Benutzer, der TE X Live installiert, Administrator-Rechte besitzt, kann TE X Live für alle +Benutzer des Systems installiert werden, d. h. Verknüpfungen, Menüs und Systemeinträge werden für +alle Nutzer angelegt. Ansonsten werden diese nur für den aktuellen Benutzer angelegt. + Unabhängig davon wird grundsätzlich angenommen, dass das Wurzelverzeichnis von TE X Live unter +%SystemDrive% liegen soll. Allerdings testet das Installationsprogramm, ob dieses Verzeichnis für den +aktuellen Benutzer schreibbar ist. + Ein Problem entsteht, wenn TE X Live ohne Administrator-Rechte installiert wird und sich bereits +ein TE X-System im systemweiten Suchpfad befindet. Windows benutzt zuerst den Suchpfad des Sys- +tems, erst dann den spezifischen Suchpfad des Nutzers, so dass hier immer zuerst das alte TE X-System +gefunden wird. Als Workaround wird hier eine Verknüpfung mit einer Eingabeaufforderung erzeugt, in +der das Programmverzeichnis von TE X Live im Suchpfad vor den Standardsuchpfad geschrieben wird. +Dies bedeutet, dass in diesem Fall nur in einer Eingabeaufforderung verfügbar ist, die über diese Ver- +knüpfung gestartet wird. Die Verknüpfung für TE Xworks (falls Sie dieses installieren) fügt ebenfalls +automatisch TE X Live am Anfang des Suchpfades ein, so dass es direkt benutzbar ist. + Unter Windows Vista gibt es einen weiteren Fallstrick. Selbst wenn Sie als Administrator ange- +meldet sind, müssen Sie Programme trotzdem explizit mit Administratorrechten starten. Insofern ist +es tatsächlich nicht sehr sinnvoll, sich als Administrator anzumelden. Klicken Sie stattdessen auf das +gewünschte Programm (bzw. die gewünschte Verknüpfung) mit der rechten Maustaste, damit Sie die +Option erhalten, dieses mit Administratorrechten auszuführen. +7.6 Erhöhen des maximal verfügbaren Speichers unter Windows und Cyg- + win +Unter Windows und Cygwin (s. Abschnitt 3.1.4 für die Installation unter Cygwin) kann es vorkommen, +dass der den in TE X Live enthaltenen Programmen zur Verfügung gestellte Speicher nicht ausreicht. +Dies kann z. B. passieren, wenn in asy ein Array von 25 Millionen Gleitkommazahlen allokiert wird oder +ein Dokument mit umfangreichen Schriften mit LuaTE X übersetzt wird. + Für Cygwin ist die Erhöhung des Maximalspeichers im Cygwin-Hanbuch beschrieben +(http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html). + Unter Windows können Sie eine Datei moremem.reg mit folgenden vier Zeilen anlegen: +Windows Registry Editor Version 5.00 +[HKEY_LOCAL_MACHINE\Software\Cygwin] +"heap_chunk_in_mb"=dword:ffffff00 + Führen Sie dann als Administrator regedit /s moremem.reg aus. (Falls der zur Verfügung ste- +hende Speicher nur für den aktuellen Nutzer erhöht werden soll, verwenden Sie stattdessen einfach +HKEY_CURRENT_USER). + + + 8 ANLEITUNG ZUM WEB2C-SYSTEM 28 + 8 Anleitung zum Web2C-System +Web2C besteht aus einer Reihe von Programmen, die zusammen ein komplettes TE X-System darstellen. +Dazu gehören natürlich TE X, METAFONT, MetaPost, BibTE X usw. + Die erste Implementierung eines TE X-Systems in der Programmiersprache C stammt von Tomas Ro- +kicki und datiert zurück in das Jahr 1987. Rokicki benutzte als Basis sog. Change-Files unter UNIX, die +ursprünglich von Howard Trickey und Pavel Curtis entwickelt wurden. Tim Morgan hat dieses System, +für das der Name Web-to-C eingeführt wurde, gepflegt. 1990 hat Karl Berry mit Unterstützung vieler +Helfer die Weiterentwicklung übernommen und 1997 an Olaf Weber weitergegeben, der es 2006 wieder +an Karl zurück gab. + Web2C läuft unter UNIX, 32-bit-Versionen von Windows, Mac OS X und auf weiteren Betriebssyste- +men. Es benutzt die Original-Quelldateien von Donald E. Knuth und weitere in der Sprache WEB entwi- +ckelte Programme als Basis und übersetzt diese in C-Quell-Code. Darüber hinaus bietet das System viele +Makros und Funktionen zur Nutzung der originalen TE X-Software. Hier eine Liste der Basisprogramme +eines TE X-Systems: +bibtex Verwalten von Bibliographien +dvicopy Umwandeln von virtuellen Zeichensätzen in DVI-Dateien +dvitomp DVI-nach-MPX-Konverter (MetaPost-Bilder) +dvitype Textanzeige aus DVI-Dateien +gftodvi Erzeugen von Prüfausgaben für Zeichensätze +gftopk Packen von Zeichensätzen +gftype Anzeige von Zeichensätzen als ASCII-Graphik +mf Zeichensatzerzeugung +mft formatierte Ausgabe von METAFONT-Quellen +mpost METAFONT-ähnliches Grafikprogramm +patgen Erzeugen von Trennmustern +pktogf Entpacken von Zeichensätzen +pktype Anzeige gepackter Zeichensätze +pltotf Umwandeln von Property-Listen in .tfm-Dateien +pooltype Anzeige der Bildschirmtexte eines WEB-Programms +tangle Konverter WEB nach Pascal +tex TE X-Programm +tftopl Umwandeln einer .tfm-Datei in eine Property-Liste +vftovp Umwandeln eines virtuellen Zeichensatzes in eine Property-Liste +vptovf Umwandeln einer Property-Liste in einen virtuellen Zeichensatz +weave WEB-Code als TE X-Dokumentation + Die genaue Funktionsweise und die möglichen Parameter sind der Beschreibung der jeweiligen Pake- +te bzw. der Web2C-Dokumentation zu entnehmen. Trotzdem wird ein Überblick über Zusammenspiel +und Funktionsweise der Web2C-Programme Ihnen sicherlich helfen, besser mit dem System zurechtzu- +kommen. + Zunächst verstehen alle Programme die grundlegenden Parameter der GNU-Software: +--help kurzer Hilfstext +--verbose ausführliche Ausgaben beim Programmablauf + + + 8 ANLEITUNG ZUM WEB2C-SYSTEM 29 + --version Ausgabe der Versionsnummer + Die Programme des Web2C-Systems benutzen zum Lokalisieren der benötigten Dateien im Dateisystem + die Kpathsea-Bibliothek (http://tug.org/kpathsea). Diese Bibliothek optimiert und beschleunigt den + Suchprozess im Dateisystem. Ihre Arbeitsweise wird durch einige Umgebungsvariablen und eine Konfigu- + rationsdatei gesteuert. Web2C 7.5 kann mehr als einen Dateibaum gleichzeitig verwalten und ermöglicht + somit die schon beschriebene TE X Live-Installation unter Verwendung der DVD mit der Ablage modi- + fizierter Konfigurationsdateien und zusätzlicher Zeichensätze in einem zweiten Dateibaum. Die Suche + nach Dateien wird durch die Analyse der Datei ls-R beschleunigt, die in jedem Wurzelverzeichnis eines + TE X-Dateibaums vorhanden ist. Sie enthält für jede Datei die genaue Position im Dateibaum relativ + zum Wurzelverzeichnis. +8.1 Dateisuche mit der Kpathsea-Bibliothek +Wir beschreiben zunächst den grundlegenden Suchmechanismus der Kpathsea-Bibliothek. + Ein Suchpfad ist eine durch Kommata oder Semikola getrennte Liste von Pfadkomponenten, die +üblicherweise Verzeichnisnamen darstellen. Ein Suchpfad kann sich aus vielen Komponenten zusam- +mensetzen. Die Suche nach einer Datei ‘my-file’ über den Suchpfad ‘.:/dir’ bewirkt, dass Kpathsea +jede Komponente nacheinander überprüft, also zunächst ‘./my-file’ und dann ‘/dir/my-file’. Als +Ergebnis wird entweder die erste gefundene Datei oder eine Liste aller passenden Dateien geliefert. + Um auf allen Dateisystemen effizient arbeiten zu können, verwendet Kpathsea ggf. andere Datei-/ +Verzeichnis-Separatoren als ‘:’ und ‘/’. + Beim Überprüfen einer Pfadkomponente p überprüft Kpathsea zunächst, ob eine Dateinamen-Da- +tenbank (siehe auch Dateinamen-Datenbank auf Seite 32) für die Pfadkomponente zuständig ist, d. h. +beispielsweise steht die Datenbank in einem Verzeichnis, das im Pfad vor der zu überprüfenden Kom- +ponente p steht. In diesem Fall wird zur Bestimmung der Position der gesuchten Datei die Datenbank +herangezogen. + Nur wenn keine passende Datenbank existiert oder wenn die Datei nicht in der Datenbank gefunden +wird, durchsucht Kpathsea das Dateisystem. Diese zeitaufwändige Suche kann über die Spezifikation +der Pfadkomponente p mit dem Präfix ‘!!’ unterbunden werden. Zur Suche erzeugt Kpathsea eine Liste +der Verzeichnisse, die im Pfadelement enthalten sind, und durchsucht jedes dieser Verzeichnisse nach +der gesuchten Datei. + Für Dateien kann auch ein Schalter ‘file must exist’ gesetzt werden (»Datei muss vorhanden +sein«). Wenn dieser Schalter nicht gesetzt ist und beispielsweise über das TE X-Kommando \openin +eine VF-Datei wie cmr10.vf gelesen werden soll, wäre es falsch, nach dieser Datei zu suchen, weil es sie +gar nicht gibt. Speziell für neu installierte VF-Dateien sollten Sie also unbedingt die Dateinamen-Da- +tenbank (ls-R) aktualisieren, weil die Dateien sonst nicht gelesen werden und kein Fehler angezeigt wird. +Dieser Vorgang wiederholt sich für jede Komponente eines Suchpfades: zunächst wird die Datenbank +überprüft, danach ggf. das Dateisystem. Wird die Datei gefunden, stoppt die Suche (normalerweise) +und als Ergebnis wird der komplette Pfad zur gesuchten Datei ausgegeben. + Außer Verzeichnisnamen dürfen Pfadkomponenten für Kpathsea folgende Elemente enthalten: (ver- +schachtelte) Vorgaben, Umgebungsvariablen, Werte aus der Konfigurationsdatei, Home-Verzeichnisse +von Benutzern und Startverzeichnisse für eine rekursive Suche. Diese Elemente werden vor einer Datei- +suche von Kpathsea in gewöhnliche Verzeichnis- oder Dateinamen expandiert. Diese Expansion wird +in den folgenden Abschnitten erklärt, und zwar genau in der Reihenfolge, wie die Elemente auch von +Kpathsea bearbeitet werden. + Beachten Sie, dass Kpathsea bei absoluten und explizit relativen Komponenten, d. h. wenn die +Komponente mit den Zeichen ‘/’, ‘./’ oder ‘../’ beginnt, nur überprüft, ob die Datei existiert. +8.1.1 Bestandteile von Pfadkomponenten +Ein Suchpfad kann aus vielen verschiedenen Bestandteilen aufgebaut werden. Dies sind in der Reihen- +folge, wie Kpathsea sie auswertet: + 1. eine benutzerdefinierte Umgebungsvariable, z. B. TEXINPUTS: Wird an den Inhalt der Variablen + ein Punkt und ein Programmname angehängt, wie beispielsweise bei TEXINPUTS.latex, hat diese + Form Vorrang vor den »gewöhnlichen« Variablen. + 2. Einträge aus programmspezifischen Konfigurationsdateien, beispielsweise zum Programm dvips + eine Zeile ‘S /a:/b’ in der Konfigurationsdatei config.ps + + +8 ANLEITUNG ZUM WEB2C-SYSTEM 30 + 3. Einträge aus der Kpathsea-Konfigurationsdatei texmf.cnf, z. B. ‘TEXINPUTS=/c:/d’ (siehe fol- + genden Text) + 4. Einstellung beim Übersetzen der Programme +Unter Verwendung der Parameter zur Fehlersuche können Sie sich diese Werte für einen Suchpfad auch +anzeigen lassen. (Siehe dazu den Abschnitt Fehlersuche auf Seite 35.) +8.1.2 Konfigurationsdateien +Die Kpathsea-Bibliothek liest zur Laufzeit die Konfigurationsdateien mit den Namen texmf.cnf. Der +zugehörige Suchpfad zum Auffinden dieser Konfigurationsdateien steht in der Umgebungsvariablen +TEXMFCNF (die Voreinstellung ist texmf/web2c). Kpathsea liest alle Dateien mit den Namen texmf.cnf, +die es in diesem Suchpfad findet. Die zuerst gelesenen Definitionen haben dabei Vorrang vor später gele- +senen Werten. Wenn der Suchpfad auf .:\$TEXMF steht, überschreiben die Einstellungen in ./texmf.cnf +diejenigen in \$TEXMF/texmf.cnf. + Im Folgenden wird die Syntax der Datei texmf.cnf angegeben. Konsultieren Sie zum besseren +Verständnis beim Lesen die auf der CDROM oder DVD enthaltene Konfigurationsdatei. + ∙ Kommentare beginnen mit einem ‘%’ und erstrecken sich bis zum Zeilenende. + ∙ Leerzeilen werden überlesen. + ∙ Ein ‘\’ am Zeilenende fasst die aktuelle mit der folgenden Zeile zusammen. Leerraum in der + Folgezeile wird nicht überlesen. + ∙ Sonstige Zeilen haben den folgenden Aufbau: + Variable[.Programmname] [=] Wert + Das Zeichen »=« und umgebender Leerraum dürfen entfallen. + ∙ Der Name von Variable kann alle Zeichen außer Leerzeichen, ‘=’ und ‘.’ enthalten. Verwenden Sie + am besten nur die Zeichen ‘A-Za-z_’. + ∙ Wenn das Suffix ».Programmname« angegeben wird, gilt die Variable nur für das entsprechende + Programm »Programmname« oder »Programmname.exe«. Auf diese Weise können beispielsweise + verschiedene TE X-Formate mit unterschiedlichen Suchpfaden arbeiten. + ∙ Wert darf alle Zeichen außer % und @ enthalten. Die Einschränkung der Werte auf bestimmte + Programme über ein Suffix ist nicht zulässig. Ein ‘;’ in Wert wird unter UNIX in ‘:’ umgewandelt. + Dadurch ist die Verwendung der gleichen Konfigurationsdateien für UNIX und DOS/Windows- + Systeme möglich. + ∙ Die Definitionen werden komplett eingelesen, bevor eine Expansion stattfindet. Dadurch können + Sie die Variable schon vor Ihrer Definition referieren. + Der Ausschnitt einer Konfigurationsdatei demonstriert diese Möglichkeiten. +TEXMF = {$TEXMFLOCAL,!!$TEXMFMAIN} +TEXINPUTS.latex = .;$TEXMF/tex/{latex,generic;}// +TEXINPUTS.fontinst = .;$TEXMF/tex//;$TEXMF/fonts/afm// +% e-TeX related files +TEXINPUTS.elatex = .;$TEXMF/{etex,tex}/{latex,generic;}// +TEXINPUTS.etex = .;$TEXMF/{etex,tex}/{eplain,plain,generic;}// +8.1.3 Expansion von Pfadkomponenten +Kpathsea verwendet in Suchpfaden ähnliche Zeichen und Konstrukte wie UNIX-Shells. Beispielsweise +wird die Definition ~$USER/{foo,bar}//baz in alle Unterverzeichnisse von foo und bar unterhalb +vom Home-Verzeichnis von \$USER expandiert, die eine Datei oder ein Unterverzeichnis namens baz +enthalten. Der Expansionsmechanismus wird im Folgenden erklärt. + + + 8 ANLEITUNG ZUM WEB2C-SYSTEM 31 + 8.1.4 Expansion der Voreinstellungen +Wenn der Suchpfad mit der höchsten Priorität (siehe hierzu »Bestandteile von Pfadkomponenten« auf +Seite 29) einen zusätzlichen (vorangestellten, nachgestellten oder verdoppelten) Doppelpunkt enthält, +wird an dieser Stelle der Suchpfad eingefügt, der als nächstes in der Hierarchie folgt. Auch bei diesem +gilt dieselbe Regel. Wenn beispielsweise die Umgebungsvariable +> setenv TEXINPUTS /home/karl: + gesetzt wird (hier: C-Shell) und in texmf.cnf die Variable TEXINPUTS folgenden Wert erhält + .:$TEXMF//tex + dann lautet der Suchpfad schließlich: + /home/karl:.:$TEXMF//tex + Da es sinnlos wäre, denselben Pfad mehrfach einzufügen, wird die Ersetzung nur einmal vorgenom- +men, und zwar in der Reihenfolge vorne, hinten und Mitte. Mehrfach verdoppelte Doppelpunkte bleiben +unverändert. +8.1.5 Expansion geschweifter Klammern +Die Expansion geschweifter Klammern ist zur Definition mehrerer TE X-Hierarchien sehr nützlich. Bei- +spielsweise wird v{a,b}w zu vaw:vbw. Verschachtelungen sind dabei erlaubt. Diese Technik wird dazu +benutzt, durch eine Zuweisung an $TEXMF verschiedene TE X-Hierarchien einzuführen. Als Beispiel finden +Sie in texmf.cnf folgende Definition (etwas gekürzt, tatsächlich ist es etwas komplexer): + TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN} + Eine Anwendung wie + TEXINPUTS = .;$TEXMF/tex// +führt dann dazu, dass erst im aktuellen Verzeichnis gesucht wird, dann im gesamten Dateibaum +$TEXMFHOME/tex und $TEXMFLOCAL/tex (auf der Festplatte) und schließlich im gesamten Dateibaum +\$TEXMFVAR/tex sowie $TEXMFMAIN/tex (nur in der Datenbank ls-R) durchsucht wird. Dadurch kann +man bequem zwei parallel installierte TE X-Hierarchien durchsuchen, beispielsweise eine unveränderliche +auf CDROM/DVD und eine dynamisch angepasste auf Festplatte, in der neue Programmversionen +und zusätzliche Zeichensätze installiert werden. Durch die Verwendung der Variablen $TEXMF in allen +Definitionen wird grundsätzlich zuerst der neuere Dateibaum durchsucht. +8.1.6 Expansion von Unterverzeichnissen +Zwei oder mehrere aufeinanderfolgende Schrägstriche (//) in einer Pfadkomponente, die auf einen Ver- +zeichnisnamen d folgen, werden expandiert zu allen Unterverzeichnissen von d. Dieser Vorgang findet +rekursiv statt, wobei erst alle Verzeichnisse auf einer Ebene bearbeitet werden, dann deren Unterver- +zeichnisse, usw. Auf den jeweiligen Ebenen ist nicht beeinflussbar, in welcher Reihenfolge die Unterver- +zeichnisse bearbeitet werden. + Wenn nach den Schrägstrichen Namen angegeben werden, dann werden nur Unterverzeichnisse mit +passenden Namen in die Suche einbezogen. Beispielsweise wird ‘/a//b’ in die Pfade /a/1/b, /a/2/b, +/a/1/1/b usw. expandiert, aber nicht zu /a/b/c oder /a/1. (Jeweils vorausgesetzt, dass die Verzeich- +nisse existieren.) + Mehrere ‘//’-Konstruktionen innerhalb einer Pfadkomponente sind zulässig, allerdings nicht am +Pfadanfang. +8.1.7 Liste der Sonderzeichen und ihre Bedeutung: eine Zusammenfassung +Die folgende Zusammenfassung fasst alle Sonderzeichen zusammen, die in den Kpathsea-Konfigurati- +onsdateien auftreten können: +: Trennzeichen für Pfadkomponenten; als erstes oder letztes Zeichen im Pfad bewirkt es die + Expansion der Voreinstellungen. + + + 8 ANLEITUNG ZUM WEB2C-SYSTEM 32 + ; Trennzeichen für Pfadkomponenten für andere Rechnerplattformen als UNIX (Verwendung wie + »:«) + $ Expansion von Variableninhalten + ~ Home-Verzeichnis eines Benutzers (Tilde) + {...} Expansion geschweifter Klammern: beispielsweise wird a{1,2}b zu a1b:a2b. + // Expansion von Unterverzeichnissen: tritt niemals am Anfang einer Pfadkomponente auf. + % Kommentar + \ Konkatenation mit Folgezeile(n) + !! Einschränkung der Suche ausschließlich auf die Dateinamen-Datenbank: Das Dateisystem wird + nicht durchsucht! +8.2 Dateinamen-Datenbanken +Kpathsea unternimmt etliche Anstrengungen, um den Zugriff auf Festplatte und CDROM/DVD zur +Suche nach Dateien zu reduzieren. Auf TE X-Systemen mit vielen Unterverzeichnissen kann die Suche +in jedem möglichen Verzeichnis nach einer bestimmten Datei eine lange Zeit in Anspruch nehmen, +besonders wenn einige Hundert Zeichensatzverzeichnisse durchforstet werden müssen. Um dieses Pro- +blem abzumildern, benutzt Kpathsea eine Art Datenbankdatei namens ls-R, die die Zuordnung von +Dateinamen auf Verzeichnisse enthält. Dadurch muss nicht jedesmal die Festplatte durchsucht werden. + Eine zweite Datenbank in der Datei aliases kann eine Zuordnung zwischen den Namen in ls-R +und weiteren Namen vornehmen und so beispielsweise hilfreich bei der Umsetzung von ‘8.3’-DOS- +Dateinamen auf die »echten«, aussagekräftigen Dateinamen zur Seite stehen. +8.2.1 Die ls-R-Datenbank +Wie schon öfters erwähnt, muss die Dateinamen-Datenbank in der Datei ls-R gespeichert sein. Sie +sollten eine solche Datenbank für jede TE X-Hierarchie (normalerweise in $TEXMF) Ihres Systems anlegen. +Kpathsea sucht die Datenbanken ls-R über den Pfad TEXMFDBS. + Es wird empfohlen, die Pflege der ls-R-Dateien dem mitgelieferten Skript mktexlsr zu überlassen. +Dieses Skript wird automatisch von den verschiedenen ‘mktex*’-Skripten aufgerufen. Das Skript ruft +grob gesagt den Befehl +cd /your/texmf/root && ls -LAR ./ >ls-R + auf, falls das Kommando ls Ihres Rechners eine Ausgabe im richtigen Format liefert. (So wie das +GNU-ls.) Wenn Sie ganz sichergehen wollen, dass die Datenbank immer auf dem neuesten Stand ist, +sollten Sie sie in regelmäßigen Abständen mit Hilfe eines crontab-Eintrags aktualisieren lassen. Dadurch +wird nach einer Installation eines Pakets per Hand trotzdem sichergestellt, dass die Datenbank aktuell +ist. + Wenn eine Datei nicht über die Datenbank gefunden wird, sucht Kpathsea normalerweise auf der +Festplatte weiter. Wenn eine Pfadkomponente mit ‘!!’ beginnt, wird dagegen niemals die Festplatte +durchsucht. +8.2.2 kpsewhich: Dateisuche +Mit dem Programm kpsewhich können Sie unabhängig vom Aufruf irgendeines TE X-Programms nach +Dateien in der TE X-Hierarchie suchen (als schnellere Alternative zu dem Befehl find). Dies wird von den +verschiedenen ‘mktex...’-Skripten bis zum Exzess vorexerziert. +> kpsewhich option... filename... + Die Optionen werden entweder mit ‘-’ oder mit ‘--’ eingeleitet. Jede eindeutige Abkürzung ist +zulässig. + Argumente der Kommandozeile, die keine Optionen darstellen, werden als Dateinamen interpretiert. +Für jeden Dateinamen wird der erste passende Pfad gemeldet. Um eine Liste aller passenden Pfade zu +erhalten, müssen Sie das UNIX-Kommando find aufrufen. + Im Folgenden werden die häufiger benutzten Optionen beschrieben. + + + 8 ANLEITUNG ZUM WEB2C-SYSTEM 33 + --dpi=num + Stellt die Auflösung für die Suche nach Zeichensätzen (nur .gf oder .pk) auf num dpi. Alternativ + kann die Option -D (kommt von dvips) benutzt werden. Voreinstellung ist 600. + --format=name + Setzt das Format zur Suche auf name. Per Voreinstellung versucht kpsewhich das Format über den + Dateinamen zu erschließen. Bei Formaten ohne zugeordnete Namensendung wie den zu MetaPost + gehörenden Dateien und den Konfigurationsdateien zu dvips müssen Sie den entsprechenden Na- + men so eingeben, wie er Kpathsea bekannt ist. + --mode=string + Setzt für die Zeichensatzsuche den Generierungsmodus (betrifft nur .gf- oder .pk-Dateien). Nor- + malerweise werden alle Zeichensätze gemeldet. + --must-exist + Es wird versucht, die Dateien notfalls durch eine Suche auf der Festplatte zu finden. Normalerweise + wird nur die ls-R-Datenbank konsultiert. + --path=string + Sucht entlang des angegebenen Pfads statt des Standardpfads, der auf Grund der Endung gewählt + wird. Alle Expansionen sind zulässig. Bei Verwendung der Option --path darf nicht die Option + --format angegeben werden. + --progname=name + Setzt den Programmnamen für die genauere Variablenspezifikation über ‘.Programmname’. Vor- + einstellung ist ‘kpsewhich’. + --show-path=name + Zeigt den Suchpfad für die angegebene Namensendung. Diese kann entweder als Namensendung + (‘.pk’, ‘.vf’, usw.) oder als Name (wie bei der Option --format) spezifiziert werden. + --debug=num + Legt den Umfang für die Fehlersuche fest. +8.2.3 Anwendungsbeispiele +Wir schauen uns nun die Funktionsweise von Kpathsea anhand einiger Beispiele an. +> kpsewhich article.cls + /usr/local/texmf-dist/tex/latex/base/article.cls + Wir suchen unter den TE X-Quelldateien nach der Datei article.cls. Da die Namensendung ‘.cls’ +eindeutig ist, müssen wir den Typ ‘.tex’ nicht angeben. Die ‘texmf-dist’-Hierarchie enthält die Datei +im Unterverzeichnis tex/latex/base. Ähnlich bereiten die folgenden Beispiele auf Grund eindeutiger +Namensendungen keine Probleme. +> kpsewhich array.sty + /usr/local/texmf-dist/tex/latex/tools/array.sty +> kpsewhich latin1.def + /usr/local/texmf-dist/tex/latex/base/latin1.def +> kpsewhich size10.clo + /usr/local/texmf-dist/tex/latex/base/size10.clo +> kpsewhich small2e.tex + /usr/local/texmf-dist/tex/latex/base/small2e.tex +> kpsewhich tugboat.bib + /usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib + Beim letzten Beispiel handelt es sich übrigens um eine BibTE X-Literaturdatenbank für TUGBoat- +Artikel. +> kpsewhich cmr10.pk + + +8 ANLEITUNG ZUM WEB2C-SYSTEM 34 + Zeichensatzdateien mit der Namensendung ‘.pk’ werden von Anzeige- oder Druckaufbereitungspro- + grammen wie dvips und xdvi verwendet. Nachdem wir aufgrund der Voreinstellung keine .pk-Dateien + verwenden, sondern die PostScript-Type 1-Zeichensätze, die auf der CDROM/DVD enthalten sind, wird + auch keine .pk-Datei angezeigt. + > kpsewhich wsuipa10.pk + /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk + Für diesen Zeichensatz (Teil der IPA-Fonts1 von der Universität von Washington) liegen noch kei- + ne Type 1-Umsetzungen vor und ‘.pk’-Dateien müssen generiert werden. Da unser voreingestellter + METAFONT-Modus ‘ljfour’ eine Auflösung von 600 dpi besitzt, finden wir (nachdem er schon einmal + gebraucht und automatisch erzeugt wurde) eine entsprechende Instanz dieses Zeichensatzes. + > kpsewhich -dpi=300 wsuipa10.pk + Durch die Angabe »-dpi=300« interessieren wir uns nur für Zeichensätze mit der Auflösung 300 dpi. + Es wurde keiner gefunden. Programme wie dvips oder xdvi lassen einen solchen fehlenden Zeichensatz + durch den Aufruf des Skripts mktexpk mit entsprechenden Parametern automatisch erzeugen. + Als nächstes wenden wir uns den Header- und Konfigurationsdateien von dvips zu. Zunächst suchen + wir nach der Konfiguration für die TE X-Unterstützung, dem Prolog tex.pro. Danach suchen wir die + allgemeine Konfigurationsdatei (config.ps) und schließlich die PostScript-Zeichensatzzuordnungsdatei + psfonts.map. Dateien dieser Art haben seit der 2004er-Version der TE X Live ihre eigenen Suchpfade + und einen neuen Aufbewahrungsort im texmf-Baum. Da die Namensendung ‘.ps’ nicht eindeutig ist, + müssen wir den gewünschten Typ (‘dvips config’) für die Datei config.ps spezifizieren. + > kpsewhich tex.pro + /usr/local/texmf/dvips/base/tex.pro +> kpsewhich --format="dvips config" config.ps + /usr/local/texmf/dvips/config/config.ps +> kpsewhich psfonts.map + /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map + Jetzt suchen wir nach den Dateien für den PostScript-Zeichensatz »URW Times«. Nach dem Na- + mensschema von Karl Berry beginnen die Namen mit »utm«. Zunächst suchen wir die Konfigurations- + datei, die den Namen der Zeichensatzzuordnungsdatei enthält. + > kpsewhich --format="dvips config" config.utm + /usr/local/texmf-dist/dvips/psnfss/config.utm + Diese Datei enthält folgende Anweisung: + p +utm.map + Die angegebene Datei utm.map wollen wir als nächstes suchen: + > kpsewhich utm.map + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map + Diese Zuordnungsdatei wird im Unterverzeichnis urw bei den Hilfsdateien für dvips gefunden. Sie + enthält die Dateinamen der Type 1-PostScript-Zeichensätze, die für URW Times benutzt werden. Ein + kleiner Auszug aus dieser Datei: + utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb + utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb + utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb + utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb + utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb + utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb + Wenn wir jetzt beispielsweise nach dem Zeichensatz Times Regular (utmr8a.pfb) suchen, finden wir + ihn im Verzeichnis texmf unter den Type 1-Zeichensätzen: +__________________________________ + 1IPA: International Phonetic Alphabet + + + 8 ANLEITUNG ZUM WEB2C-SYSTEM 35 + > kpsewhich utmr8a.pfb + /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb + Diese Beispiele sollten deutlich gemacht haben, wie leicht bestimmte Dateien im TE X-Dateibaum + gefunden werden können. Dies ist sehr wichtig, wenn Sie den Verdacht haben, dass eine falsche Version + einer Datei verwendet wird: Sie lassen sich einfach die verwendete Datei von kpsewhich anzeigen. +8.2.4 Fehlersuche +Manchmal ist wichtig, bis ins Detail nachzuvollziehen, wie ein Programm eine bestimmte Datei findet. +Zu diesem Zweck bietet die Kpathsea-Bibliothek verschiedene Stufen für den Umfang der Fehlersuche +an. + 1 stat-Aufrufe (Überprüfung, ob Datei existiert); mit einer aktuellen ls-R-Datenbank sollten Sie + fast keine Meldungen erhalten. + 2 Zugriffe auf Suchlisten (wie ls-R-Datenbanken, Zuordnungsdateien (.map), Konfigurationsdatei- + en) + 4 Öffnen und Schließen von Dateien + 8 Auflisten der voreingestellten Pfade für Extensionen + 16 Verzeichnisliste für jede Pfadkomponente (nur bei Festplattenzugriff) + 32 Suchaktionen nach Dateien + 64 Werte von Variablen. + Durch die Angabe von ‘-1’ setzen Sie alle Stufen gleichzeitig. Für eine effiziente Fehlersuche sollten +Sie sich auf die wichtigsten Ausgaben beschränken. + Für dvips gibt es einen ähnlichen Mechanismus zur Erzeugung von Analysemeldungen, um herauszu- +finden, warum bestimmte Dateien geöffnet wurden bzw. wo vielleicht das Problem liegt, wenn Dateien +nicht gefunden werden. + Da fast alle Programme die Kpathsea-Bibliothek benutzen, können Sie die gewünschte Stufe auch +über die Umgebungsvariable KPATHSEA_DEBUG einstellen, indem Sie einen der Werte oder eine additive +Kombination spezifizieren. + Anmerkung für Windows-Benutzer: Es ist nicht einfach, alle Meldungen in eine Datei umzulenken. +Für die Fehlersuche jedoch ist die folgende (temporäre!) Vereinbarung sinnvoll: + SET KPATHSEA_DEBUG_OUTPUT=err.log + Wir betrachten als Beispiel eine kleine LATE X-Quelldatei mit dem Namen hello-world.tex mit +folgendem Inhalt: + \documentclass{article} + \begin{document} + Hello World! + \end{document} + Diese Datei verwendet nur einen Zeichensatz, nämlich cmr10. Wir sehen uns jetzt einmal genau +an, wie dvips die PostScript-Datei erzeugt. Da wir die Type 1-Variante der Computer-Modern-Roman- +Zeichensätze verwenden wollen, haben wir die Option -Pcms verwendet. +> dvips -d4100 hello-world -Pcms -o + Hier haben wir als Stufe zur Fehlersuche eine Kombination der Stufe 4 von dvips (siehe dvips- +Handbuch, texmf/doc/html/dvips/dvips\_toc.html?). Die Ausgabe sieht ungefähr so wie in Abbil- +dung 12 dargestellt aus (die Ausgabe wurde für einen besseren Überblick etwas umgestaltet). + Zunächst sucht dvips (bzw. Kpathsea) seine Konfigurationsdateien, nämlich texmf.cnf (das die Pfa- +de der anderen Dateien enthält), dann die Dateinamen-Datenbank ls-R (zur Optimierung der Suche) +und die Datei aliases, mit deren Hilfe für eine Datei mehrere Namen vereinbart werden können, z. B. +um die kurzen ‘8.3’-DOS-Namen mit aussagefähigen, langen Namen zu assoziieren. Danach wird die +allgemeine dvips-Konfigurationsdatei config.ps, anschließend die benutzerspezifische Konfigurations- +datei .dvipsrc (wird hier nicht gefunden) gesucht. Als letztes sucht dvips die Zuordnungsdatei für +Computer-Modern-PostScript-Zeichensätze config.cms (bedingt durch die Option -Pcms beim Aufruf +von dvips). Diese Datei enthält die Dateinamen der Listen, die die Zuordnung zwischen Dateinamen +und Zeichensatznamen herstellen. + + + 8 ANLEITUNG ZUM WEB2C-SYSTEM 36 + debug:start search(file=texmf.cnf, must_exist=1, find_all=1, + path=.:/usr/local/bin/texlive:/usr/local/bin: + /usr/local/bin/texmf/web2c:/usr/local: + /usr/local/texmf/web2c:/.:/./teTeX/TeX/texmf/web2c:). + kdebug:start search(file=ls-R, must_exist=1, find_all=1, + path=~/tex:/usr/local/texmf). + kdebug:search(ls-R) =>/usr/local/texmf/ls-R + kdebug:start search(file=aliases, must_exist=1, find_all=1, + path=~/tex:/usr/local/texmf). + kdebug:search(aliases) => /usr/local/texmf/aliases + kdebug:start search(file=config.ps, must_exist=0, find_all=0, + path=.:~/tex:!!/usr/local/texmf/dvips//). + kdebug:search(config.ps) => /usr/local/texmf/dvips/config/config.ps + kdebug:start search(file=/root/.dvipsrc, must_exist=0, find_all=0, + path=.:~/tex:!!/usr/local/texmf/dvips//). + search(file=/home/goossens/.dvipsrc, must_exist=1, find_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//). + kdebug:search($HOME/.dvipsrc) => + kdebug:start search(file=config.cms, must_exist=0, find_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//). + kdebug:search(config.cms) + =>/usr/local/texmf/dvips/cms/config.cms + Abbildung 12: Suche nach Konfigurationsdateien + kdebug:start search(file=texc.pro, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). + kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro + Abbildung 13: Suche nach Prologdateien + kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). + kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm + kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... + <texps.pro> + kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). + kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb + <cmr10.pfb>[1] + Abbildung 14: Suche nach Font-Dateien + > more /usr/local/texmf/dvips/cms/config.cms + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map + dvips versucht, diese Dateien und zusätzlich die allgemeine Zeichensatzzuordnungstabelle + psfonts.map zu laden, die immer konsultiert wird; der letzte Teil von Abschnitt 8.2.3 erklärt diese + Tabellen genauer. + Jetzt erfolgt die normale Startmeldung von dvips: + dvips(k) 5.94a +kpathsea version +Copyright (C) 2003 Radical Eye Software. +... + Danach wird nach texc.pro gesucht: + + + 8 ANLEITUNG ZUM WEB2C-SYSTEM 37 + kdebug:start search(file=texc.pro, must_exist=0, find_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). + kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro + Dann gibt dvips Datum und Uhrzeit aus und meldet den Dateinamen der erzeugten PostScript-Datei + hello-world.ps. Jetzt wird die Zeichensatzdatei cmr10 benötigt, die dvips als »resident« meldet. + TeX output 1998.02.26:1204’ -> hello-world.ps + Defining font () cmr10 at 10.0pt + Font cmr10 <CMR10> is resident. + Es geht weiter mit cmr10.tfm und einigen weiteren Prologdateien, deren Ausgaben wir hier weglas- + sen. Letztlich wird die Type 1-Zeichensatzdatei cmr10.pfb gesucht (und gefunden) und in die Ausga- + bedatei integriert (siehe letzte Zeile). + kdebug:start search(file=cmr10.tfm, must_exist=1, find_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). + kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm + kdebug:start search(file=texps.pro, must_exist=0, find_all=0, + ... + <texps.pro> + kdebug:start search(file=cmr10.pfb, must_exist=0, find_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). + kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb + <cmr10.pfb>[1] +8.3 Einstellungen zur Laufzeit +Zu den willkommenen Erweiterungen von Web2C zählt die Möglichkeit, zur Laufzeit einige Speicher- +größen über die Datei texmf.cnf anpassen zu können (insbesondere die Größe einiger Stacks). Eine +ausführliche Liste der veränderbaren Parameter finden Sie in der Datei texmf.cnf. Die wichtigsten +Werte sind: + main_memory + Arbeitsspeicher für TE X, METAFONT und MetaPost in Worten: Für jede Einstellung muss eine + eigene Format-Datei erstellt werden. Allerdings können Sie mehrere Versionen von TE X unter + verschiedenen Namen erzeugen und in der Konfigurationsdatei jeweils eigene Einträge vorsehen. + Hier gibt es ein Monster-TE X namens ‘hugetex’ mit der zugehörigen Format-Datei hugetex.fmt, + wobei der spezielle Wert der Variablen main_memory dann aus der Datei texmf.cnf gelesen wird. + extra_mem_bot + Extraspeicher für »große« TE X-Datenstrukturen wie Boxen, Glue, Breakpoints, usw.: Besonders + bei Anwendung von PI CTE X sollte dieser Wert erhöht werden. + font_mem_size + Anzahl der Worte für Speicherung von Zeichensatzinformationen: Entspricht ungefähr dem + Speicherbedarf der gelesenen TFM-Dateien. + hash_extra + Zusätzlicher Platz für Suchlisten: In der Hauptliste können ca. 10000 Einträge verwaltet werden. + Bei einem Buch mit vielen Querverweisen reicht dieser Platz unter Umständen nicht aus. Die + Voreinstellung für hash_extra ist 50000. + Natürlich sind diese Parameter kein Ersatz für eine wirklich dynamische Speicherverwaltung. Mit der +gegenwärtigen Version von TE X ist dieses Konzept aber nur extrem schwer zu implementieren; darum +stellt dieses Verfahren eine praktikable Lösung dar. + + + 9 DANKSAGUNGEN 38 + 9 Danksagungen +Die TE X Live ist eine gemeinsame Arbeit faktisch aller TE X Users Groups. + Die Entwicklung des vorliegende TE X Live-Release wurde von Karl Berry geleitet; die übrigen Haupt- +Mitarbeiter sind im Folgenden aufgelistet. + ∙ Den englisch-, deutsch-, niederländisch-, und polnisch-sprachigen TE X-Anwendervereinigungen + (TUG, DANTE e.V., NTG, and GUST), die zusammen die technische und administrative Infrastruk- + tur zur Verfügung stellen. Wir würden uns freuen, wenn Sie bei einer der Anwendervereinigungen + Mitglied werden. + ∙ Dem CTAN Team, insbesondere Robin Fairbairns, Jim Hefferon, und Rainer Schöpf, das die TE X + Live-CD-Images und die Infrastruktur für Paketupdates zur Verfügung stellt, von denen TE X Live + abhängt. + ∙ John Bowman, der viele Änderungen an dem Grafikprogramm Asymptote vornam, damit es als + Teil von TE X Live arbeitet. + ∙ Peter Breitenlohner und dem ε-TE XTeam für den stabilen Grundstock zu TE Xs Zukunft, und + Peter speziell für wertvolle Hilfe zum Verwenden von GNU autotools in TE X Live; + ∙ Jin-Hwan Cho und allen Mitgliedern des DVIPDFMx-Teams für deren exzellentes Programm und + Mithilfe bei Konfigurationsfragen. + ∙ Thomas Esser, der mit dem exzellenten teTE X die Basis für dieses TE X Live schuf; + ∙ Michel Goossens, als Coautor der englischen Original-Dokumentation; + ∙ Eitan Gurari, mit dessen TE X4ht die HTML-Version dieser Anleitung erstellt wurde und der + unermüdlich daran gearbeitet hat, es auf Zuruf zu verbessern. Eitan Gurari verstarb leider im + Juni 2009, diese Anleitung ist seinem Andenken gewidmet. + ∙ Hans Hagen, für zahlreiche Tests und Aktivitäten, damit ConTE Xt (http://pragma-ade.com) ein + Teil von TE X Live sein kann; + ∙ Hàn Thê´ Thành, Martin Schröder und das pdfTE X-Team (http://pdftex.org), die die Arbeiten + zur Erweiterung der Möglichkeiten von TE X fortgesetzt haben; + ∙ Taco Hoekwater, für neue Entwicklungen von MetaPost und (Lua)TE X (http://luatex.org), + und ebenfalls für die Unterstützung beim ConTE Xt-Teil von TE X Live, Weiterentwicklungen von + Kpathsea und vieles mehr; + ∙ Klaus Höppner u. a. für die Betreuung dieses Dokuments + ∙ Paweł Jackowski für das Installationsprogramm tlpm für Windows, Tomasz Łuczak für tlpmgui in + früheren Versionen von TE X Live; + ∙ Akira Kakuto, für Windows-Programme im Rahmen seines W32TEX Distribution (http://www.32tex.org/); + ∙ Jonathan Kew für die Entwicklung von XeTE X und die Zeit und Mühe, es in TE X Live zu in- + tegrieren, sowie für die erste Version des MacTE X-Installers, und für das von uns als Oberfläche + empfohlene TE Xworks; + ∙ Dick Koch für die Betreuung von MacTE X (http://tug.org/mactex); + ∙ Reinhard Kotucha, für die Unterstützung bei der Infrastruktur von TE X Live und das Installati- + onsprogramm, für seine Windows-Untersuchungen, für das getnonfreefonts Script, und vieles + mehr; + ∙ Siep Kroonenberg, für wertvolle Beiträge zur Infrastruktur von TE X Live 2008 und den Installer, + insbesondere unter Windows, und für einen Großteil der Arbeit, die Dokumentation dafür zu + schreiben; + ∙ Heiko Oberdiek für das Paket epstopdf (und viele weitere), für die Kompression der riesigen + Datenmengen von pst-geo, so dass sie in TE X Live passten, und natürlich für seine Arbeit an + hyperref. + + + 10 GESCHICHTLICHES 39 + ∙ Petr Olsak, der das tschechische und slowakische Material sehr sorgfältig er- und überarbeitet hat; + ∙ Toshio Oshima, für den dviout-Previewer für Windows; + ∙ Manuel Pégourié-Gonnard, für die Mithilfe beim Aktualisieren von Paketen, der Dokumentation + und Arbeit an texdoc; + ∙ Fabrice Popineau für die erste Windows-Version von TE X Live und Mithilfe bei der französischen + Dokumentation; + ∙ Norbert Preining, Hauptkoordinator für TE X Live-Infrastruktur und den Installer, für die Ko- + ordination der Debian Version von TE X Live (zusammen mit Frank Küster), und die daraus + resultierenden Verbesserungsvorschläge; + ∙ Sebastian Rahtz für die Erfindung von TE X Live und die langjährige Leitung des Projekts; + ∙ Phil Taylor, der die BitTorrent-Downloads eingeführt hat; + ∙ Tomasz Trzeciak für seine Hilfe mit Windows; + ∙ Vladimir Volovich für viele substanzielle Mithilfe, und dafür, dass er es möglich gemacht hat, xindy + in TE X Live aufzunehmen; + ∙ Staszek Wawrykiewicz, der Haupttester für alles, was mit TE X zusammen hängt, Koordinator der + polnischen Beiträge, Windows-Installation und mehr; + ∙ Olaf Weber für die Geduld beim Pflegen von Web2C; + ∙ Gerben Wierda für das Erstellen und Pflegen des ursprünglichen Mac OS X-Teils und für viele + Integrations- und Testarbeiten; + ∙ Graham Williams, dessen Arbeit das Makro- und Paketverzeichnis möglich gemacht hat. + Lauffähige Programme: Alan Braslau (amd64-kfreebsd, i386-kfreebsd), Peter Breitenlohner + (x86_64-linux), Karl Berry (i386-linux, sparc-linux), Ken Brown (i386-cygwin), Akira Kakuto (win32), + Dick Koch (universal-darwin, x86_64-darwin), Nikola Lečić (amd64-freebsd, i386-freebsd), Norbert Prei- + ning (alpha-linux), Jukka Salmi (i386-netbsd), Thomas Schmitz (powerpc-linux), Apostolos Syropoulos + (i386-solaris, x86_64-solaris), Vladimir Volovich (powerpc-aix, sparc-solaris), Olaf Weber (mips-irix). + Informationen dazu, wie Binaries für TE X Live erzeugt werden, finden sich unter http://tug.org/texlive/build.html. + Übersetzungen der Dokumentation: + ∙ Boris Veytsman (Russisch) + ∙ Jjgod Jiang, Jinsong Zhao, Yue Wang, & Helin Gai (Chinesisch) + ∙ Klaus Höppner (Deutsch) + ∙ Manuel Pégourié-Gonnard (Französisch) + ∙ Marco Pallante (Italienisch) + ∙ Nikola Lečić (Serbisch) + ∙ Petr Sojka & Jan Busa (Tschechisch/Slowakisch), + ∙ Staszek Wawrykiewicz (Polnisch). + Natürlich haben wir am meisten Donald Knuth zu danken, einmal dafür, dass er TE X erfand und + dann dafür, dass er es der Welt schenkte. +10 Geschichtliches +Diese Ausgabe der TE X Live ist in Zusammenarbeit der TE X Users Group (TUG), der UKTUG, der fran- +zösischen TE X-Vereinigung GUTenberg und der deutschsprachigen TE X-Anwendervereinigung (DANTE +e. V.) unter Mithilfe der niederländischen, tschechischen/slowakischen, indischen, polnischen und russi- +schen TE X-Benutzergruppen entstanden. + + + 10 GESCHICHTLICHES 40 + 10.1 Vergangenheit +Die niederländische TE X-Benutzergruppe hatte Ende 1993 mit der Produktion der 4AllTE X-CDROM +für MS-DOS die Diskussion angeregt, eine einzige CDROM für alle Rechnersysteme zu entwickeln. Zum +damaligen Zeitpunkt war dieses Ziel zu hoch gesteckt, doch immerhin entstand aus dieser Diskussion +nicht nur die sehr erfolgreiche 4AllTE X-CDROM, sondern auch die TUG-Arbeitsgruppe zur Definition der +TE X Directory Structure TDS, die die zur Arbeit mit TE X notwendigen und hilfreichen Dateien in eine +konsistente und handhabbare Verzeichnisstruktur einbettet. Das »Final Draft«-Dokument, das diese +Verzeichnisstruktur festlegt, wurde in der Dezember-Ausgabe 1995 der TUGBoat veröffentlicht. Schon +frühzeitig war den Beteiligten klar, dass eine CDROM auf der Basis der TDS sehr zu begrüßen wäre. +Die TE X Live-CDROM war das direkte Resultat der Beratungen der TDS-Arbeitsgruppe. Außerdem hat +der Erfolg der 4AllTE X-CDROM klargemacht, dass ein ähnliches System auch für UNIX-Benutzer eine +Erleichterung darstellen würde. Dies war der zweite Beweggrund für die TE X Live-CDROM. + Im Herbst 1995 wurde das Projekt, eine TDS-basierte UNIX-CDROM zu entwickeln, in Angriff ge- +nommen. Sehr schnell stießen die Verantwortlichen auf das teTE X-System von Thomas Esser als idealen +Ausgangspunkt für diese Arbeit, weil es verschiedene Rechnerplattformen unterstützte und für die Ar- +beit mit verschiedenen Dateisystemen vorgesehen war. Anfang 1996 wurde in Zusammenarbeit mit +Thomas Esser ernsthaft mit der Arbeit begonnen und im Mai 1996 die erste Ausgabe der CDROM +veröffentlicht. + Anfang 1997 stellte Karl Berry eine neue Version seines Web2C-TE X-Systems vor, das schon na- +hezu alle Ausstattungsmerkmale aufwies, die Thomas Esser mit teTE X verwirklicht hatte. Die TUG +entschied sich daraufhin, die zweite Version der CDROM auf der Basis von Web2C unter Verwendung +des Installations-Skripts texconfig aus dem teTE X-Paket zu entwickeln. + Die dritte Ausgabe basierte auf der inzwischen von Olaf Weber gepflegten und weiter entwickelten +Web2C Version 7.2; TE X Live unterstützte fast alle Eigenschaften der zur selben Zeit entstandenen +neuen Version von teTE X. + Die vierte Ausgabe folgte demselben Schema, indem ihr neue Versionen von teTE X und Web2C (7.5) +zugrunde lagen. Fast die gesamte CDROM wurde einer kritischen Überprüfung unterzogen, wobei be- +sonders darauf geachtet wurde, dass doppelte Dateien entfernt wurden und die Einordnung der Pakete +konsistent erfolgte. Zudem enthielt diese Ausgabe ein komplettes Windows-Setup. + Für die fünfte Ausgabe im März 2000 wurden wiederum große Teile der CDROM ersetzt, wobei +Hunderte von überarbeiteten Paketen aufgenommen wurden. Ω, pdfTE X und Teile der TE X-Support- +Programme (hier insbesondere xdvi, dvips und tex4ht) lagen in neuer Version vor. Die Hauptänderung bei +der TE X Live 5 betraf die ‘non-free’-Software. Alles auf dieser CDROM war nun in Übereinstimmung +mit den Debian Free Software Guidelines (http://www.debian.org/intro/free). Wir haben unser +Bestes versucht, die Lizenzbedingungen aller Pakete zu überprüfen, sind aber dankbar, wenn wir auf +Fehler hingewiesen werden. + Die sechste Ausgabe der TE X Live vom Juli/August 2001 enthielt die neuesten Versionen aller +Pakete und Programme. Das neue Installationskonzept stellte die größte Änderung dar: Der Benutzer +konnte nun viel genauer gewünschte bzw. nicht erwünschte Sammlungen und Pakete auswählen. Dabei +wurden die sprachspezifischen Sammlungen komplett überarbeitet, so dass sie jetzt automatisch nicht +nur Makros, Fonts usw. installierten, sondern zusätzlich die notwendigen Einträge in language.dat +vornahmen. + Die siebte Ausgabe vom Mai 2002 enthält als größte Änderungen Mac OS X und wieder unzählige +Updates aller Pakete und Programme. Ein wesentliches Ziel war zudem die Wiedererstellung einer ge- +meinsamen Quelle mit teTE X, um das Auseinanderlaufen seit TE X Live 5 und TE X Live 6 zu korrigieren. +10.2 2003 +Im Jahr 2003 war die Flut von Updates und neuen Paketen so groß geworden, dass wir feststellen +mussten: »TE X Live passt nicht mehr auf eine einzelne CDROM«. Und so wurde sie in drei verschiedene +Distributionen aufgeteilt (siehe Abschnitt 2.1 auf Seite 6). Des Weiteren: + ∙ Auf Wunsch des LATE X-Teams wurde der Standard für latex und pdflatex verändert; beide benutzen + nun ε-TE X als Basis (siehe Seite 8). + ∙ Die neuen »Latin Modern Fonts« wurden aufgenommen (und werden zur Benutzung empfohlen). + ∙ Der Support für Alpha-OSF wurde aufgegeben (den HPUX-Support hatte es schon zuvor ereilt), + da niemand mehr in der Lage war, neue Binaries zu kompilieren. + + + 10 GESCHICHTLICHES 41 + ∙ Das Setup für Windows wurde grundlegend überarbeitet. Zum ersten Mal wurde eine integrierte + Umgebung eingeführt, die auf XEmacs basiert. + ∙ Wichtige Hilfsprogramme für Windows (Perl, Ghostscript, ImageMagick, Ispell) werden nun im + TE X Live-Verzeichnis installiert. + ∙ Die von dvips, dvipdfm und pdftex benutzten Font-Mapfiles werden vom neuen Programm updmap + generiert und in texmf/fonts/map installiert. + ∙ TE X, METAFONT und MetaPost geben nun die meisten 8-Bit-Input-Zeichen (Position 32 und + oberhalb) unverändert aus in (\write)-Files, Logfiles und auf dem Terminal. Das bedeutet, dass + sie nicht mit der ^^-Notierung übersetzt ausgegeben werden. Auf der TE X Live 7 war diese Über- + setzung abhängig von der locale-Einstellung des Systems; nun beeinflussen locale-Einstellung nicht + TE Xs Programmverhalten. Falls Sie aus irgendwelchen Gründen die ^^-Ausgabe benötigen, müs- + sen Sie in Ihrem System die Datei texmf/web2c/cp8bit.tcx umbenennen (zukünftige Versionen + werden eine sauberere Schnittstelle zur Kontrolle dieses Verhaltens anbieten). + ∙ Die Dokumentation wurde grundlegend überarbeitet. + ∙ Zum Abschluss einigten wir uns auf eine neue Edition-Nummerierung. Ab diesem Jahr trägt die + TE X Live statt einer fortlaufenden Nummer die Jahreszahl: TE X Live 2003. +10.3 2004 + ∙ Wenn Sie lokal installierte Zeichensätze mit ihren eigenen .map- oder (weniger wahrscheinlich) + .enc-Dateien benutzen, müssen Sie möglicherweise diese Dateien verschieben. + Nach den .map-Dateien wird jetzt in den fonts/map-Unterverzeichnissen im TEXFONTMAPS-Pfad + gesucht (in jedem texmf-Baum). Gleichzeitig werden .enc-Dateien jetzt in den fonts/enc- + Unterverzeichnissen entlang des ENCFONTS-Pfads gesucht. Das Programm updmap versucht, bei + problematischen Dateien zu warnen. + Informationen darüber, wie das gehandhabt wird, und zusätzliche Informationen finden Sie unter + http://tug.org/texlive/mapenc.html. + ∙ Die TE X Collection wurde für all diejenigen, die diese Implementierung Web2C vorziehen, um eine + MiKTE X-basierte und installierbare CDROM erweitert. Siehe dazu auch Abschnitt 2 auf Seite 6. + ∙ In der TE X Live wurde der umfangreiche texmf-Baum früherer Versionen durch drei Teilbäume + ersetzt: texmf, texmf-dist und texmf-doc. Siehe dazu Abschnitt 2.2 auf Seite 7 und die README- + Dateien in den drei Zweigen. + ∙ Alle TE X-relevanten Eingabedateien sind jetzt in den tex-Unterverzeichnissen der texmf*-Bäume + zusammengefasst und nicht mehr in den parallelen Verzeichnissen tex, etex, pdftex, pdfetex, + usw. Siehe dazu texmf-dist/doc/generic/tds/tds.html#Extensions. + ∙ Hilfs-Skripte, die der Anwender nicht selbst aufruft, werden jetzt in den neuen scripts- + Unterverzeichnissen der texmf*-Bäume aufbewahrt. Nach ihnen kann per ‘kpsewhich + -format=texmfscripts’ gesucht werden. Wenn Sie Programme einsetzen, die solche Skripte auf- + rufen, müssen sie angepasst werden. Siehe dazu texmf-dist/doc/generic/tds/tds.html#Scripts. + ∙ (Fast) alle Formate interpretieren – an Stelle einer Übersetzung durch die ^^-Notation – mittels des + »translation files« cp227.tcx die meisten Zeichen als direkt ausgebbar. Insbesondere werden die + Zeichen an den Positionen 32–256, zusätzlich TAB, VT (vertical tab; vertikaler Tab) und FF (form + feed; Seitenvorschub), als druckbar angesehen und daher nicht übersetzt. Ausnahmen sind plain + TE X, bei dem nur die Zeichen an den Positionen 32–127 druckbar sind, ConTE Xt (mit druckbaren + Zeichen an den Positionen 0–255) und die Ω-verwandten Formate. Dieses voreingestellte Verhalten + ist (fast) identisch mit dem in TE X Live 2003; es ist aber jetzt klarer und mit umfangreicheren + Anpassungsmöglichkeiten implementiert. Siehe dazu texmf/doc/web2c/web2c.html#TCX-files. + Anmerkung: Da TE X byte-orientiert ist, können bei einer Unicode-Eingabe (2-Byte-Zeichen) im + Kontext von Fehlermeldungen Folgen von 1-Byte-Zeichen ausgegeben werden. + + + 10 GESCHICHTLICHES 42 + ∙ pdfetex ist jetzt die voreingestellte »Engine« für alle Formate mit Ausnahme von (plain-)tex + selbst (natürlich generiert es DVI-Code, wenn es als latex, usw. aufgerufen wird.). Das bedeutet + unter vielen anderen Dingen, dass die mikrotypographischen Fähigkeiten von pdftex wie auch die + Erweiterungen von ε-TE X in LATE X, ConTE Xtusw. zur Verfügung stehen (texmf-dist/doc/etex/ + base/). + Das bedeutet, dass es wichtiger denn je ist, das Paket ifpdf zu benutzen (es arbeitet sowohl mit + plain TE X als auch mit LATE X), da der einfache Test, ob \pdfoutput oder ein anderer TE X- + Grundbefehl (primitive) definiert ist, nicht verlässlich genug ist für die Entscheidung, ob eine + PDF-Ausgabe erzeugt wird. Wir haben das rückwärts-kompatibel gemacht, so gut wir das dieses + Jahr konnten; nächstes Jahr aber soll \pdfoutput so beschaffen sein, dass dieser Befehl auch dann + definiert ist, wenn DVI-Code erzeugt wird. + ∙ pdfTE X (http://pdftex.org/) hat viele neue Besonderheiten: + – Die Befehle \pdfmapfile und \pdfmapline ermöglichen einen Font-Map-Support innerhalb + eines Dokuments. + – Mikrotypografische Zeichensatz-Expansion (font expansion) kann jetzt viel leichter benutzt + werden http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html. + – Alle Parameter, die früher in der speziellen Konfigurationsdatei pdftex.cfg definiert wur- + den, müssen jetzt mit Hilfe von pdfTE X-Grundbefehlen gesetzt werden, typischerweise in + pdftexconfig.tex; die Konfigurationsdatei pdftex.cfg wird nicht länger unterstützt. Jede + schon bestehende Format-Datei (.fmt) muss neu erstellt werden, wenn pdftexconfig.tex + geändert wird. + – Für zusätzliche Informationen siehe das pdfTE X-Handbuch: texmf-dist/doc/pdftex/ + manual. + ∙ Der Grundbefehl \input in tex (mf und mpost) akzeptiert jetzt doppelte Anführungszeichen und + andere Spezialzeichen. Typische Beispiele: + \input "filename with spaces" % plain + \input{"filename with spaces"} % latex + Für zusätzliche Informationen siehe das Web2C-Handbuch: texmf/doc/web2c. + ∙ encTE X wird jetzt in Web2C und damit auch in allen TE X-Programmen unterstützt. Dazu wird + beim Generieren neuer Formate die Option -enc benutzt. encTE X unterstützt allgemein die Um- + kodierung der Ein- und Ausgabe und ermöglicht eine volle Unicode-Unterstützung (in UTF-8). + Siehe texmf-dist/doc/generic/enctex/ und http://www.olsak.net/enctex.html. + ∙ Aleph (ℵ), eine neue »Engine«, die ε-TE X und Ω vereinigt, ist verfügbar. Ein bisschen Information + darüber finden Sie in texmf-dist/doc/aleph/base und http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph. + Das LATE X-basierte Aleph-Format heißt lamed. + ∙ Das neueste LATE X-Release enthält eine neue Version der LPPL2, die jetzt eine offiziell von Debian + anerkannte Lizenz ist. Zusammen mit anderen Updates finden Sie Informationen dazu in den + ltnews-Dateien in texmf-dist/doc/latex/base. + ∙ dvipng – ein neues Programm zum Konvertieren von DVI-Dateien in PNG-Bilddateien, ist Be- + standteil von TE X Live. Siehe texmf/doc/man/man1/dvipng.1. + ∙ Auf Vorschlag des Autors (Claudio Beccari) haben wir das Paket cbgreek auf einen »mit- + telgroßen« Satz von Fonts reduziert. Herausgenommen wurden die »invisible«, Outline- + und »Transparency«-Fonts, die relativ selten benutzt werden – denn wir benötigen den + Platz. In seinem vollen Umfang ist das Paket natürlich weiterhin auf CTAN verfügbar + (http://www.ctan.org/tex-archive/fonts/greek/cb/). + ∙ oxdvi wurde entfernt; benutzen Sie jetzt xdvi. + ∙ Die ini- und vir-Befehle (Links) für tex, mf and mpost sind nicht mehr länger verfügbar, so auch + initex. Das ist kein richtiger Verlust, da die ini-Funktionalität schon seit mehreren Jahren über + den Aufrufparameter -ini zur Verfügung steht. +__________________________________ + 2LPPL: LaTeX Project Public License + + + 10 GESCHICHTLICHES 43 + ∙ Die Unterstützung der Plattform i386-openbsd wurde entfernt. Da das Paket tetex im BSD-Ports- + System zur Verfügung steht und Binaries für GNU/Linux and FreeBSD erhältlich sind, erschien + es sinnvoll, die Zeit der Freiwilligen besser zu nutzen. + ∙ Zumindest auf sparc-solaris müssen Sie ggf. die Environment-Variable LD_LIBRARY_PATH setzen, + um die t1utils-Programme laufen lassen zu können. Ursache dafür ist, dass die Programme mit + C++ kompiliert wurden und dass es keinen Standard-Platz für Laufzeit-Bibliotheken gibt (das + ist zwar auch im Jahre 2004 nicht neu, wurde aber bisher nicht dokumentiert.) Unter mips-irix + werden die MIPSpro-7.4-Laufzeit-Bibliotheken benötigt. +10.4 2005 +Im Jahr 2005 gab es – wie üblich – viele aktualisierte Pakete und Programme. Die Struktur des Systems +blieb weitgehend gleich, mit folgenden Ausnahmen: + ∙ Die neuen Skripte texconfig-sys, updmap-sys und fmtutil-sys für die systemweite Konfiguration + des Systems wurden hinzugefügt. Die Skripte texconfig, updmap und fmtutil modifizieren nun die + Konfiguration für einen einzelnen Nutzer unter \$HOME/.texlive2005. + ∙ Analog spezifizieren die Pfade TEXMFCONFIG und TEXMFSYSCONFIG nun, wo die Konfigurationsda- + teien gefunden werden (für einen einzelnen Nutzer bzw. systemweit). Möglicherweise müssen Sie + daher vorhandene eigene Versionen von fmtutil.cnf oder updmap.cfg in die entsprechenden Pfa- + de verschieben. Alternativ können Sie TEXMFCONFIG und TEXMFSYSCONFIG in der Datei texmf.cnf + umdefinieren, dass diese auf die Speicherorte Ihrer eigenen Konfigurationsdateien verweisen. Siehe + Abschnitt 2.3 auf Seite 7. + ∙ Im letzten Jahr wurden für die Programme, die DVI als Ausgabeformat erzeugen, die Primi- + tive wie PDFoutput auf undefiniert gesetzt, obwohl immer pdfetex verwendet wurde. In die- + sem Jahr wurde dies wie angekündigt nicht mehr getan. Falls in Dokumenten nun die Abfrage + \ifxPDFoutput\undefined zum Test benutzt wird, ob PDF oder DVI erzeugt wird, müssen die- + se geändert werden! Benutzen Sie das Paket ifpdf.sty, das auch mit dem geänderten Verhalten + funktioniert, oder orientieren Sie sich an dessen Code. + ∙ Im letzten Jahr wurden die Formate so geändert, dass sie Zeichen als 8-bit ausgeben. Die neue + TCX-Datei empty.tcx eröffnet nun einen einfachen Weg, die originale Ausgabe mit ^^-Notation + zu erhalten, wenn Sie es wünschen: + latex --translate-file=empty.tcx yourfile.tex + ∙ Das Programm dvipdfmx für die Konvertierung von DVI nach PDF ist neu hinzugekommen. Dies + ist eine aktiv gepflegte Erweiterung von dvipdfm, das zwar noch verfügbar ist, aber als obsolet + angesehen werden kann. + ∙ Ebenso sind die Programme pdfopen und pdfclose neu hinzugekommen. Diese erlauben ein Reload + von PDF-Dateien im Acrobat Reader, ohne diesen neu starten zu müssen (andere PDF-Viewer + wie xpdf, gv oder gsview hatten damit nie Probleme). + ∙ Aus Konsistenzgründen wurden die Variablen HOMETEXMF und VARTEXMF in TEXMFHOME bzw. + TEXMFSYSVAR umbenannt. Weiterhin existiert TEXMFVAR für einen Baum, der spezifisch für einen + einzelnen Nutzer ist. +10.5 2006–2007 +Der wichtigeste Neuzuwachs in der Ausgabe 2006–2007 von TE X Live war das XeTE X Programm, +verfügbar durch die xetex und xelatex Programme; siehe http://scripts.sil.org/xetex. + Auch MetaPost erhielt ein bemerkenswertes Update, mit weiteren geplannten Änderungen +(http://tug.org/metapost/articles), ebenso pdfTE X (http://tug.org/applications/pdftex). + Das (plain) tex-Programm liest nicht mehr erste Zeilen mit %& um das Format zu bestimmen. Es +ist ein reines Knuth-TE X. (LATE X und alle anderen Formate lesen weiterhin %&-Zeilen). + Weiters wurden wie üblich hunderte von Paketen und Programmen auf einen neueren Stand gebracht. +Für weiter Updates wenden Sie sich bitte an CTAN (http://www.ctan.org). + Die Entwicklungsumgebung wurde auf Subversion umgestellt, was ein Webinterface für den Ent- +wicklungsbaum beisteuerte. Dieses Webinterface ist von der Homepage verlinkt. Obwohl dieser Umstieg + + + 10 GESCHICHTLICHES 44 + in der Distribution nicht zu erkennen ist, erwarten wir uns ein stabiles Fundament für die Entwicklung + in den nächsten Jahren. + Schließlich hat im Mai 2006 Thomas Esser das Ende seiner Entwicklung von teTE X + (http://tug.org/tetex) angekündigt. Als Konsequenz ist das Interesse an TE X Live, besonders unter + den GNU/Linux-Distributoren angestiegen. (TE X Live bietet nun ein tetex-Installationsschema, dass + annähernd den Umfang von teTE X umfasst.) Wir hoffen dass dies schlussendlich zu einer Verbesserung + der TE X-Umgebung für jederman führt. +10.6 2008 +Die komplette Infrastruktur von TE X Live wurde 2008 neu entwickelt. Die gesamten Daten, die für +die Installation benötigt werden, finden sich nun in einer einzigen Textdatei mit dem Namen tlpkg/ +texlive.tlpdb. + Dies ermöglicht es unter anderem, ein Update einer installierten Version von TE X Live über das +Internet durchzuführen, was für MiKTE X schon seit Jahren möglich ist. Wir planen regelmäßige Updates +bereitzustellen, wenn Pakete auf CTAN aktualisiert werden oder neu erscheinen. + Als neues Programm ist LuaTE X (http://luatex.org) enthalten, das neben neuen Möglichkei- +ten innerhalb des Satzsystems eine hervorragende Skriptsprache zur Verfügung stellt, die inner- und +außerhalb von TE X benutzt werden kann. + Die Unterstützung von TE X Live für Windows und Unix ist mittlerweile praktisch äquivalent. Die +meisten Perl- und Lua-Skripte können nun auch unter Windows verwendet werden, da innerhalb von +TE X Live Perl integriert ist. + Das neue tlmgr-Programm (Abschnitt 6) ist eine komplette Oberfläche zum Verwalten von TE X Live +nach der Installation. Es ermöglicht das Aktualisieren von Paketen, die Neugenerierung von Formatda- +teien, Fontmaps und die Konfiguration der TE X-Unterstützung für verschiedene Sprachen. + Nach der Einführung von tlmgr sind die Funktionen von texconfig zur Konfiguration von Formatda- +teien und Trennmustern deaktiviert worden. + Der Index-Prozessor xindy (http://xindy.sourceforge.net/) ist nun für die meisten Betriebssys- +teme integriert. + Das Programm kpsewhich kann nun alle Fundstellen für eine gesuchte Datei anzeigen (Option –all) +oder die Suche auf ein bestimmtes Verzeichnis einschränken (Option –subdir). + Das Programm dvipdfmx kann nun Informationen über die Bounding Box liefern, was über die +Kommandozeile mit dem Befehl extractbb aufgerufen werden kann; dies war die letzte Funktion von +dvipdfm, die noch nicht in dvipdfmx vorhanden war. + Die Font-Aliasnamen Times-Roman, Helvetica usw. wurden abgeschafft. + Das Makro-Format platex wurde entfernt, um den Namenskonflikt mit dem japanischen platex auf +zu lösen; Unterstützung für polnisch wird nun vom Paket polski zur Verfügung gestellt. + Die WEB string pool files wurden in die Programme einkompiliert, um Updates zu vereinfachen. + Und abschließend sind die Änderungen von Donald Knuth in seinem TE X tuneup of 2008 in TE X +Live eingearbeitet, http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf. +10.7 2009 +Das Standardausgabeformat für Lua(LA )TE X ist nun PDF. Hier entfalten die Erweiterungen von +Lua(LA )TE X, wie die Unterstützung von OpenType, ihre volle Wirkung. Die neuen Programme +dviluatex bzw. dvilualatex erzeugen wie früher DVI als Ausgabeformat. Die Homepage von LuaTE X +finden Sie unter http://luatex.org. + Nach Rücksprache mit den Autoren von Omega wurden Omega und das Format Lambda entfernt. +Die aktuelle Version von Aleph und Lamed ist weiterhin in TE X Live enthalten, zusammen mit einigen +Hilfsprogrammen von Omega. + Eine neue Version der AMS Type 1-Fonts wird von TE X Live mitgeliefert, inklusive der +Computer Modern-Schriften. Donald Knuth hat in den letzten Jahren die Gestalt einiger +Zeichen in den Metafont-Quellen geändert, diese wurden übernommen. Weiterhin wurde das +so genannte Hinting verbessert. Die Euler-Schriften wurden kürzlich ebenfalls sorgsam über- +arbeitet (siehe http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf). In al- +len Fällen blieben die Fontmetriken unverändert. Mehr zu den AMS-Fonts finden Sie unter +http://www.ams.org/tex/amsfonts.html. + Die neue TE X-Oberfläche TE Xworks ist für Windows enthalten, analog zu MacTE X. Für andere Syste- +me oder weitere Informationen beachten Sie bitte die Webseite http://tug.org/texworks. TE Xworks + + + 10 GESCHICHTLICHES 45 + ist eine Cross-Plattform-Anwendung, die von dem Editor Mac OS X inspiriert wurde, und somit eine + einfach zu bedienende Oberfläche für TE X bietet. + Das Grafikprogramm Asymptote ist für verschiedene System enthalten. Es bietet eine textbasierte + Beschreibungssprache für Zeichnungen, nicht unähnlich zu MetaPost, aber mit Unterstützung für 3D + und weiteren Vorteilen. Die Homepage befindet sich unter http://asymptote.sourceforge.net. + Das bisher enthaltene eigenständige Programm dvipdfm wurde durch dvipdfmx ersetzt, das beim + Aufruf als dvipdfm in einem Kompatibilitätsmodus läuft. dvipdfmx unterstützt CJK (Chinesich, Japa- + nisch, Koreanisch) und enthält viele Korrekturen und Verbesserungen gegenüber dem alten dvipdfm. + Die Homepage zu DVIPDFMx finden Sie unter http://project.ktug.or.kr/dvipdfmx. + Für cygwin und i386-netbsd werden nun ausführbare Programme mitgeliefert, während einige andere + BSD-Derivate nicht mehr dabei sind. Es wird empfohlen, dass Nutzer von OpenBSD bzw. FreeBSD + TE X über den Paketmanager ihres Systems installieren, da sich gezeigt hat, dass die Bereitstellung von + Binaries, die für mehrere Versionen funktionieren, sehr problematisch ist. + Einige weitere, aber kleine Änderungen: Wir verwenden nun zur Datenkompression xz als stabi- + le Alternative zu lzma (http://tukaani.org/xz/); Dollarzeichen sind in Dateinamen erlaubt, solan- + ge sich zusammen mit den Dollarzeichen kein bekannter Variablenname ergibt; die Kpathsea ist nun + multi-threaded (was von MetaPost verwendet wird); der gesamte Build von TE X Live basiert nun auf + Automake. + Und zum Abschluss: Alle Releases von TE X Live, mit Zusatzmaterial wie den DVD-Labeldrucken, + sind unter ftp://tug.org/historic/systems/texlive verfügbar. +10.8 2010 +Seit 2010 werden PDF-Dateien nach PDF Version 1.5 erzeugt, was eine stärkere Komprimierung der +Dateien ermöglicht. Dies gilt für alle TE X-Kompiler mit dem Ausgabeformat PDF und dvipdfmx. Mit +dem LATE X-Paket pdf14 wird wieder PDF 1.4 erzeugt, alternativ kann \pdfminorversion=4 verwendet +werden. + pdf(LA )TE X konvertiert nun automatisch bei Bedarf unter Verwendung des Paketes epstopdf EPS- +Dateien (Encapsulated PostScript) nach PDF, wenn die Konfigurationsdatei graphics.cfg geladen +wurde und das Ausgabeformat PDF ist. Standardmäßig sollen auf keinen Fall bereits vorhandene (evtl. +mühsam anderweitig erzeugte) PDF-Dateien überschrieben werden. Die automatische Umwandlung +kann komplett abgeschaltet werden, indem am Anfang der LATE X-Datei (vor \documentclass!) die +Zeile \newcommand{\DoNotLoadEpstopdf}{} (oder \def...) eingefügt wird und so das Laden von +epstopdf unterdrückt wird. Für weitere Informationen schauen Sie bitte in die Anleitung des epstopdf- +Pakets (http://ctan.org/pkg/epstopdf-pkg). + Eine wichtige, damit zusammen hängende Änderung ist die Beschränkung des \write18-Befehls von +TE X (das zum Aufruf externer Programme dient) auf einige wenige Programme in der Standardkonfi- +guration von TE X Live. Diese sind z. B. epstopdf, makeindex und bibtex. Konkret wird die Auswahl +zulässiger Programme in der Datei texmf.cnf festgelegt. In Umgebungen, wo aus Sicherheitsgründen +der Aufruf externer Anwendungen über \write18 komplett unterbunden werden soll, kann dies direkt +bei der Installation eingestellt werden (siehe Abschnitt 3.2.4 oder nachträglich in texmf.cnf geändert +werden. + Weiterhin werden BibTE X und Makeindex nun daran (analog zu TE X selbst) gehindert, ihre Ausga- +bedateien in beliebige Verzeichnisse zu schreiben, damit erlaubt werden konnte, dass sie über \write18 +gestartet werden. Falls dies geändert werden soll, muss entweder die Variable TEXMFOUTPUT gesetzt oder +die Konfigurationseinstellung openout_any geändert werden. + XeTE X unterstützt nun wie pdfTE X optischen Randausgleich. + tlmgr speichert eine Sicherheitskopie von aktualisierten Paketen (tlmgr option autobackup 1), so +dass ein fehlerhaftes Update mit tlmgr restore rückgängig gemacht werden kann. Falls Sie hierfür +nicht genug Platz haben, kann dies mit tlmgr +option autobackup 0 abgeschaltet werden. + Neu enthaltene Programme: pTE X und verwandte Programme zum japanischen Schriftsatz, das Pro- +gramm BibTE XU für ein Unicode-fähiges BibTE X, das Programm chktex (http://baruch.ev-en.org/proj/chktex) +zum Überprüfen von (LA )TE X-Dokumenten, dvisvgm (http://dvisvgm.sourceforge.net) zum Kon- +vertieren von DVI nach SVG. + Neu unterstützte Systeme: amd64-freebsd, amd64-kfreebsd, i386-freebsd, i386-kfreebsd, +x86_64-darwin, x86_64-solaris. + Eine Änderung in TE X Live 2009, die nicht dokumentiert wurde: Zahlreiche TE X4ht-bezogene Pro- +gramme fielen weg, hierfür gibt es nun das Programm mk4ht. + Abschließend kann TE X Live nicht mehr direkt von der DVD ausgeführt werden. Eine einzelne DVD +inst nicht mehr groß genug. Als Nebeneffekt sollte die Installation von der DVD schneller als früher sein. + + + 10 GESCHICHTLICHES 46 + 10.9 2011 +In TE X Live gab es relativ wenige Neuerungen. Die Binaries für Mac OS X (universal-darwin und +x86_64-darwin) laufen nur noch unter Mac OS X Versionen ab Leopard; Panther und Tiger werden +nicht mehr unterstützt. + Das biber Programm für die Bearbeitung von Bibliografien wird für die gängigen Plattformen +mitgeliefert, seine Entwicklung ist eng an die Entwicklung des biblatex Pakets geknüpft, das die Art +und Weise, in der LATE X Bibliografien verwaltet, komplett neu implementiert. + MetaPost (mpost) erzeugt oder nutzt keine .mem Dateien mehr. Benötigte Dateien wie plain.mp +werden einfach bei jedem Lauf gelesen. Grund hierfür ist die Tatsache, dass MetaPost auch als Bibliothek +unterstützt wird, eine weitere –wenn auch eher unsichtbare– Änderung. + Die Implementierung von updmap in Perl, bisher nur unter Windows genutzt, wurde überarbeitet +und wird jetzt von allen Plattformen verwandt. Abgesehen von einer deutlichen Steigerung der Ge- +schwindigkeit sollte kein Nutzer davon etwas merken. +10.10 Gegenwart (2012) +tlmgr unterstützt Updates von verschiedenen Netzwerk-Repositories. Siehe dazu den Abschnitt zu +multiplen Repositories in der tlmgr help Ausgabe. + Der Parameter \XeTeXdashbreakstate wird standardmäßig für xetex und xelatex auf ’1’ gesetzt. +Dies erlaubt Zeilenumbrüche nach em-dashes und en-dashes und war seit jeher das Standardverhalten +von TE X, LATE X, LuaTE X, etc. Für perfekte Zeilenumbruch-Kompatibilität bei existierenden Dokument +muss daher \XeTeXdashbreakstate explizit auf ’0’ gesetzt werden. + Die Ausgabedateien von pdftex und dvips, neben anderen, dürfen jetzt größer als 2 GB werden. + Die 35 Standard-Postscript Fonts werden standardmäßig in der Ausgabe von dvips ausgegeben, da +es so viele verschiedene Versionen von ihnen gibt. + Im ’Restricted Execution’ Modus ist mpost standardmäßig erlaubt. + Eine texmf.cnf Datei wird auch in ../texmf-local, wie zum Beispiel /usr/local/texlive/ +texmf-local/web2c/texmf.cnf, gefunden, falls sie dort existiert. + Das updmap Skript liest updmap.cfg pro Verzeichnisbaum anstelle einer globalen Datei. Diese Ände- +rung sollte komplett unsichtbar sein, sofern die updmap.cfg Dateien nicht manuell bearbeitet wurden. +Die Ausgabe von updmap –help hat mehr zum Thema. + Plattformen: armel-linux und mipsel-linux wurden hinzugefügt; sparc-linux und i386-netbsd +sind nicht länger Teil der Haupt-Distribution. Sie können aber in Form spezieller Binaries von +http://tug.org/texlive/custom-bin.html heruntergeladen werden. +10.11 Zukunft +TE X Live ist nicht perfekt! – und wird es auch nie sein. Wir planen Neuauflagen zu produzieren, die +umfangreichere Hilfstexte, mehr Hilfsprogramme, mehr Installationshilfen und (natürlich) den ständig +verbesserten und überprüften Satz der Makros und Zeichensätze enthalten. Diese Arbeit wird von +Freiwilligen in ihrer knappen Freizeit geleistet. Viel Arbeit steht noch an. Wenn Sie uns helfen können, +zögern Sie keine Sekunde, sich bei uns zu melden. + Verbesserungen, Anregungen und Erweiterungen für künftige Ausgaben der TE X Collection senden +Sie bitte an: + tex-live@tug.org + http://tug.org/texlive/ + Neue Versionen, Anmerkungen und zusätzliches Material werden über die CTAN-Server im +Verzeichnis info/texlive zur Verfügung gestellt. Im WWW können Sie sich über die Adresse +http://www.tug.org/tex-live/ informieren und die Bestellformalitäten einsehen. + + + diff --git a/Master/texmf-dist/doc/texlive/texlive-de/texlive-de.pdf b/Master/texmf-dist/doc/texlive/texlive-de/texlive-de.pdf Binary files differnew file mode 100644 index 00000000000..d29778c129c --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-de/texlive-de.pdf diff --git a/Master/texmf-dist/doc/texlive/texlive-de/texlive-de.tex b/Master/texmf-dist/doc/texlive/texlive-de/texlive-de.tex new file mode 100644 index 00000000000..45dd7f6d42e --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-de/texlive-de.tex @@ -0,0 +1,3328 @@ +% $Id$ +% TeX Live documentation. Originally written by Sebastian Rahtz and +% Michel Goossens, now maintained by Karl Berry and others. +% Public domain. +% +%\pdfoutput=0 +\documentclass{article} +\def\Status{1} +\ifnum\Status=1 + % Create A4 pdf + \pdfpageheight297mm + \pdfpagewidth210mm +\fi + +\let\tldocgerman=1 % for live4ht.cfg +\usepackage{ngerman} +\usepackage{tex-live} +\usepackage[utf8]{inputenc} % translators: use your preferred encodings. +\usepackage[]{csquotes} +\usepackage[T1]{fontenc} +\usepackage[printonlyused]{acronym} + +\def\dante{DANTE~e.\,V\kern-0.15em.} +\begin{document} + +\title{% + {\huge \textit{Anleitung zu \TL{}}\\\smallskip}% + {\LARGE \textsf{\TL{} 2012}}% +} + + +\author{Karl Berry (Herausgeber) \\[3mm] + \url{http://tug.org/texlive/}\\[12mm] + \small{\textit{Verantwortlich für die deutsche Ausgabe}}\\[3mm] + \small{Uwe Ziegenhagen, \email{ziegenhagen@gmail.com}} \\ + \small{(\dante)} \\[3mm] + } +\date{Juni 2012} + + +\maketitle +\thispagestyle{empty} + +\newpage + +\begin{multicols}{2} + \tableofcontents + \listoffigures +\end{multicols} + +%\renewcommand{\Status}{0} +%\typeout{Status is \Status} + +\clearpage + +% ============================================================== +\section{Einleitung}\label{sec:intro} +\subsection{\TL\ und die \TeX-Collection} + +Diese Anleitung beschreibt das \TL-System. Die {\TL} Distribution enthält +\TeX/\LaTeX-Systeme für Linux, verschiedene \acro{UNIX}-Plattformen, {\MacOSX} +und Windows. + +Wahrscheinlich haben Sie \TL{} auf einem von zwei Wegen bezogen, entweder +per direktem Download von \TL{} oder als Teil der \DVD{} \TK, die von +vielen \TeX-Vereinen (u.\,a. \dante) an ihre Mitglieder verschickt werden +und in Deutschland über die Fachbuchhandlung Lehmanns (\url{http://www.lob.de}) +vertrieben wird. Abschnitt~\ref{sec:tl-coll-dists} beschreibt kurz den +Inhalt der \TK-\DVD. + +Sowohl \TL{} als auch die \TK{} sind durch das Engagement vieler Freiwilliger aus vielen \TeX-Vereinen entstanden. Im Ãœbrigen +beschränkt sich diese Anleitung auf \TL{} an sich. + +{\TL} enthält lauf"|fähige Versionen von \TeX, \LaTeXe, \ConTeXt, \MF, \MP, {\BibTeX} und vielen +anderen Programmen, sowie eine umfassende Auswahl an Makros, Zeichensätzen und +Beschreibungen, die gemäß der Standard"=\TeX"=Verzeichnisstruktur (\TDS) abgelegt sind. + +Eine kurze Zusammenfassung der wesentlichen Änderungen der aktuellen \TL-Version +gegenüber der Vorgängerversion finden Sie im Abschnitt~\ref{sec:tlcurrent} auf +Seite~\pageref{sec:tlcurrent}. + +\htmlanchor{platforms} +\subsection{Unterstützung verschiedener Betriebssysteme} +\label{sec:os-support} +\TL{} enthält direkt ausführbare Programme für viele Unix-basierte +Betriebssysteme, insbesondere GNU/Linux und \MacOSX\ und Cygwin. +Selbst wenn für Ihr Unix-System wider Erwarten keine ausführbaren Programme +enthalten sind, sollten Sie in der Lage sein, aus den mitgelieferten Programm-Quellen +ein funktionierendes \TeX-System zu kompilieren. + +Bezüglich Microsoft Windows werden Versionen ab Windows~XP unterstützt. +\TL{} ist unter Windows 95/98, ME und NT nicht mehr lauffähig, Windows 2000 +sollte funktionieren. Es existieren zwar keine 64-Bit-Versionen der Programme, +allerdings sollten die 32-Bit-Programme problemlos auf +64-Bit-Systemen funktionieren. + +% ------------------------------------------------------------- +\subsection{Einsatzmöglichkeiten des \TL-Systems der \TK}\label{sec:basic} + +Sie können das \TL-System wahlweise von der \DVD{} oder über das +Internet (\url{http://tug.org/texlive/acquire.html}) installieren. +Der \emph{Net Installer} ist ein kleines Programm, +das die benötigten Teile aus dem Internet nachlädt. Dieser Weg bietet +sich an (eine schnelle und stabile Internetverbindung voraus gesetzt), +wenn Sie kein komplettes \TL{} installieren wollen, sondern Ihr System nur +aus bestimmten Paketen bestehen soll. + +Wenn Sie die \DVD{} besitzen (oder das ISO-Image der \DVD{} herunter +geladen haben -- dieses kann auf einigen Systemen sogar direkt als +virtuelles Medium \enquote{gemountet} werden), können Sie \TL{} nach +Wunsch auf Ihrer Festplatte installieren. Im Gegensatz zu früher ist +\TL{} nicht mehr direkt von der \DVD{} lauffähig. Sie können aber +eine portable Version z.\,B. auf einem USB-Stick installieren, wie im +Abschnitt~\ref{sec:portable-tl} beschrieben. + +Beide Methoden werden in den Abschnitten zur Installation beschrieben. +Hier daher nur die kurze Zusammenfassung: + +\begin{itemize*} +\item Das Hauptinstallationsskript ist \cmdname{install-tl}. Es bietet +eine grafische Benutzeroberfläche (GUI) für die Standardinstallation +(den sogenannten \enquote{wizard mode}), einen Textmodus und eine grafische Oberfläche im Expertenmodus. +Unter Windows ist der grafische \enquote{wizard mode} der Standard, auf allen anderen +Systemen ist es der Textmodus. Durch die Optionen \code{-gui=wizard}, \code{-gui=text} und \code{-gui=perltk} können Sie gezielt auswählen, ob das Installationsprogramm +im ">wizard mode"<, Textmodus oder mit der grafischen Oberfläche im Expertenmodus +starten soll. +\item \TL installiert u.\,a. den ">\TL Manager"< mit dem Namen +\prog{tlmgr}. Auch dieser unterstützt Text- und GUI-Mode. Mit diesem +Programm können Sie einerseits Pakete von \TL installieren oder deinstallieren, +andererseits \TL konfigurieren. +\end{itemize*} + + +\subsection{\TL\ und Sicherheit} + +Nach bestem Wissen und Gewissen kann man sagen, dass die \TeX-Kernprogramme selbst sehr robust sind. Dieses Maß an Robustheit und Sicherheit wird jedoch möglicherweise nicht von allen Programmen erreicht, die Teil von \TL\ sind. Daher gilt für \TL\ das, was auch für alle anderen Programme gilt: Vorsicht bei der Verarbeitung von Quellcode, den man nicht genau kennt, zur maximalen Sicherheit sollte man in diesen Fällen die entsprechenden Dateien in einem neuen Unterverzeichnis verarbeiten. + +Die Sorge um die Sicherheit gilt vor allem für MS Windows, da Windows-Programme zuerst im aktuellen Verzeichnis suchen, egal wie Pfad-Angaben gesetzt sind. Theoretisch ermöglicht dies eine Reihe von Angriffsszenarien. Viele Sicherheitslücken in Programmen von \TL\ wurden geschlossen, andere bestehen auch weiterhin, besonders im Umgang mit Drittanbieter-Software. + +Aus diesem Grund empfehlen wir bei der Verarbeitung von unbekanntem Quellcode, auf das Vorhandensein von ausführbaren Dateien im Quellcode-Verzeichnis zu achten. Diese sollten nicht vorhanden sein und erst recht nicht durch die Verarbeitung von \TeX-Quellcode erzeugt worden sein. + +\TeX\ und seine Begleitprogramme können in Dateien schreiben, wenn ein Dokument übersetzt wird. Diese Funktion kann auch missbräuchlich eingesetzt werden. Daher ist bei der Verarbeitung von unbekannten Quellen die Nutzung eines neuen Unterverzeichnisses der sicherste Weg! + +% ------------------------------------------------------------- +\subsection{Hilfe zu \TeX, \LaTeX\ \& Co}\label{sec:help} + +Die \TeX-Gemeinschaft ist ebenso aktiv wie hilfsbereit, und es wird +praktisch jede ernst gemeinte Frage beantwortet. Diese Hilfe ist allerdings +nicht formal organisiert, sondern wird von Freiwilligen in ihrer +Freizeit geleistet. Es ist daher wichtig, dass Sie vor einer +Fragestellung Ihre ">Hausaufgaben"< gemacht haben. + +Falls Sie auf eine garantierte kommerzielle Unterstützung angewiesen sind oder eine solche +bevorzugen, sollten Sie die Finger komplett vom \TL-System lassen und +in der Aufstellung unter \url{http://tug.org/interest.html#vendors} nach +einem geeigneten Händler suchen. + +Die folgende Liste stellt die leicht zugänglichen Hilfe-Quellen in der +empfohlenen Reihenfolge vor: + +\begin{description} +\item [Einführung:]\mbox{}\\ + Wenn Sie \TeX-Anfänger sind und eine englische Einführung in das System benötigen, + sollten Sie das \acro{WWW}-Dokument \url{http://tug.org/begin.html} lesen. + + Für deutschsprachige \LaTeX-Anfänger ist die ">\LaTeXe-Kurzbeschreibung"< von großem Nutzen + (\OnCD{texmf-doc/doc/german/lshort-german/l2kurz.pdf}). + +\item [\TeX-\acro{FAQ}s:]\mbox{}\\ + Die \TeX-\acro{FAQ} (im Deutschen + \file{de-tex-faq} ">\emph{Fragen und Antworten [\acro{FAQ}] über + das Textsatzsystem TeX und \acro{DANTE}, Deutschsprachige + Anwendervereinigung TeX e.V.}"<) ist ein riesiges Kompendium + mit Fragen (und Antworten) aller Art, von der einfachsten + Anfängerfrage bis zu Expertenwissen. + % Sie ist Bestandteil + % des \TL-Systems (\OnCD{texmf-doc/doc/german/FAQ-de/}) und umfasst zur + % Zeit 182~Seiten als PDF-Datei (\OnCD{texmf-doc/doc/german/FAQ-de/de-tex-faq.pdf}). + % Darüber hinaus ist die + % \acro{FAQ} als \HTML-Datei (\OnCD{texmf-doc/doc/german/FAQ-de/html/index.html}) + % und als durchsuchbare Textdatei + % (\OnCD{texmf-doc/doc/german/FAQ-de/text/index.html}) enthalten. + % Im Internet finden Sie die \acro{FAQ} unter + Sie finden die deutschsprachige \acro{FAQ} unter + \url{http://www.dante.de/FAQ.html}. + + Des Weiteren existiert eine englischsprachige \acro{FAQ}-Sammlung + (\OnCD{texmf-dist/doc/generic/FAQ-en/html/index.html}), die auch im Internet verfügbar ist + (\url{http://www.tex.ac.uk/faq}). + + Bitte nutzen Sie bei Problemen zuerst diese beiden Möglichkeiten. + +\item [\TeX-Catalogue:]\mbox{}\\ + Wenn Sie auf der Suche nach einem bestimmten Paket, + Font, Programm u.\,ä. sind, empfiehlt sich ein Blick in den + \TeX-Catalogue. Dieser Katalog enthält eine Liste aller verfügbaren + \TeX-spezifischen Dinge (siehe + % \OnCD{texmf-doc/doc/english/catalogue} oder + \url{http://www.ctan.org/tex-archive/help/Catalogue/catalogue.html}). + +\item [\TeX-\acro{WWW}-Ressourcen:]\mbox{}\\ + Im \acro{WWW}-Dokument \url{http://tug.org/interest.html} finden Sie eine große Anzahl \TeX-spezifischer + Links zu Büchern, Handbüchern und Artikeln zu allen Aspekten des \TeX-Systems. + +\item [Archive:]\mbox{}\\ + Ein Forum für die Hilfestellung sind die Usenet-News-Gruppen + \url{news:de.comp.text.tex} (Deutsch), \url{news:comp.text.tex} (Englisch) + und die Mailing-Liste \email{texhax@tug.org}. In deren Archiven finden + sich die Fragen und Antworten vieler Jahre. Ihre Suche können Sie in Google + beispielsweise mit \url{http://groups.google.de/group/de.comp.text.tex/topics} + starten -- oder auch in \url{http://tug.org/mail-archives/texhax/} durchführen. + + Im Allgemeinen ist es recht erfolgversprechend, eine generelle Suche über Google + \url{http://www.google.de/} durchzuführen (entweder im \emph{WWW} allgemein + oder in den \emph{News-Gruppen}); dies insbesondere, wenn es sich um Fragen über + \PS/PDF, \cmdname{Ghostscript} u.\,ä. handelt. + +\item [Online-Foren:] \url{http://tex.stackexchange.com}, \url{http://golatex.de}, \url{http://mrunix.de/forums/forumdisplay.php?f=38} sind nur einige Online-Foren, die Hilfe zu \TeX\ \& \LaTeX\ anbieten. + +Auch hier gilt: Je mehr Mühe Sie sich mit dem Stellen von Fragen geben, desto besser kann Ihnen geholfen werden. + +\item [Fragen stellen:]\mbox{}\\ + Wenn Sie mit den oben aufgezeigten Möglichkeiten immer noch keine + Antwort auf Ihre Frage gefunden haben, können Sie die Frage auch in einer + News-Gruppe stellen (neudeutsch: \emph{posten}). Hier bietet sich für + den deutschsprachigen Raum die News-Gruppe \url{news:de.comp.text.tex} an. + Benutzen Sie am besten für Anfragen Google + (\url{http://groups.google.de/group/de.comp.text.tex/topics}) + oder einen Newsreader. Fragen an die englischsprachige Gruppe + \url{news:comp.text.tex} + (bei Google: \url{http://groups.google.de/group/comp.text.tex/topics}) + sollten Sie bitte nur auf Englisch stellen. + + Zusätzlich existieren E-Mail-Listen, wobei hier die deutschsprachige Liste + \email{TeX-D-L@listserv.dfn.de} zu nennen ist (das englischsprachige Äquivalent + ist \email{texhax@tug.org}). Darüber hinaus bietet sich für Mitglieder + von \acro{DANTE}~e.V. der Beraterkreis an (\email{beraterkreis@dante.de}). + Wie Sie sich in die E-Mail-Liste \dirname{TeX-D-L} eintragen können, + finden Sie in der \acro{FAQ} unter ">\texttt{1.3.2 Was ist TeX-D-L?}"<. + + Bevor Sie eine Frage absenden, lesen Sie \emph{bitte} die entsprechenden + Einträge der \acro{FAQ} zum Thema ">\emph{Wie stelle ich eine Frage in einer + Newsgroup, damit ich mit hoher Wahrscheinlichkeit eine Antwort bekomme?}"<. So + z.\,B. ">\texttt{1.3.1 Was ist `de.comp.text.tex'?}"< und ">\texttt{1.3.7 Was + sollte ich gelesen haben, bevor ich eine Frage in `de.comp.text.tex' oder der + Diskussionsliste TeX-D-L stelle?}"< oder auch + \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. + +\item [Mithilfe:]\mbox{}\\ + Wenn Sie einen Fehler melden wollen oder Empfehlungen und Kommentare + zur \TL-Verteilung, -Installation oder -Dokumentation geben möchten, sollten Sie die + E-Mail-Liste \email{tex-live@tug.org} nutzen. + Korrekturen, Anmerkungen und Erweiterungen für die deutsche Ãœbersetzung können Sie auch + an \email{cdrom@dante.de} oder schriftlich an die Geschäftsstelle von + \acro{DANTE}~e.V. senden. + + Fragen zu Programmen, die Sie in der {\TK} finden, sollten Sie besser auf + einer der oben genannten Mailing-Listen stellen oder direkt an den Programmautor + richten. +\end{description} + +\noindent Auf der anderen Seite können auch Sie mit Ihrem Wissen helfen. Die News-Gruppen +\url{news:de.comp.text.tex} (in Deutsch), \url{news:comp.text.tex} (in Englisch) und +die Mailing-Liste \email{TeX-D-L@listserv.dfn.de} (Deutsch) und \email{texhax@tug.org} (Englisch) +stehen allen offen. Wenn Sie also dort mitlesen, scheuen Sie sich nicht, Fragen, +zu denen Sie eine Antwort wissen, zu beantworten und damit anderen zu helfen. + +% ============================================================== +\section[Ãœberblick zum \protect\TeX Live-System]{Ãœberblick zum \TL-System} +\label{sec:overview-tl} +% don't use \TL so the \uppercase in the headline works. Also so +% tex4ht ends up with the right TeX. Likewise the \protect's. + +In diesem Abschnitt beschreiben wir die Struktur und den Inhalt des \TL-Systems und der übergeordneten \TK-\DVD. + +% ------------------------------------------------------------- +\subsection[Die \protect\TeX\protect\ Collection: \TL, pro\TeX{}t, Mac\TeX]% +{Die \protect\TeX\protect\ Collection: \TL, pro\TeX{}t, Mac\TeX}\label{sec:tl-coll-dists} + +Die \DVD ">\TK"< besteht aus: +\begin{description} +\item[\TL] Ein komplettes \TeX-System, wahlweise zur Installation auf einer Festplatte oder einem Wechselmedium (USB-Stick). Die Homepage des \TL-Projektes finden Sie unter \url{http://tug.org/texlive/}. +\item[Mac\TeX] für \MacOSX. Dieses enthält das komplette \TL, bietet zusätzlich aber ein Installationsprogramm +für Mac und einige Zusatzprogramme. Nähere Informationen finden Sie auf der Homepage von Mac\TeX{} unter +\url{http://tug.org/mactex/}. +\item[pro\TeX{}t] basiert auf der \MIKTEX-Distribution für Windows. Es enthält noch einige Zusatzprogramme und +stellt eine einfache Installationsanleitung bereit, die Schritt für Schritt den Weg zu einem kompletten +\TeX-System beschreibt. Die Homepage von pro\TeX{}t findet sich unter \url{http://tug.org/protext}. +\item[CTAN] Weiterhin ist auf der \DVD{} ein Ausschnitt der \TeX-bezogenen Software enthalten, die sich +in CTAN, dem \emph{Comprehensive \TeX{} Archive Network} (\url{http://www.ctan.org}) befinden. +\item [\texttt{texmf-extra}] In diesem Verzeichnis befinden sich zusätzliche Pakete, die kein Teil von +\TL sind. +\end{description} + +\CTAN{}, \pkgname{protext} und \dirname{texmf-extra} unterliegen nicht denselben Lizenzregeln wie \TL. +Daher können für Teile hieraus andere Lizenzbedingungen bezüglich einer Weiterverteilung oder +Modifikation gelten, die Sie unbedingt beachten sollten! + +% ------------------------------------------------------------- +\subsection{Basisverzeichnisse von \TL}\label{sec:tld} + +In diesem Abschnitt beschreiben wir die Basisverzeichnisse einer \TL-Installation. + +\begin{center} +%% \begin{longtable}{@{}>{\ttfamily}lp{.63\hsize}@{}} +%% \hline +%% \rm +%% Verzeichnis & Inhalt \\ +%% \hline +%% \endfirsthead +%% \rm +%% Verzeichnis & Inhalt \\ +%% \hline +%% \endhead +%% \hline +%% \endfoot +\begin{tabular}{@{}>{\ttfamily}lp{.75\linewidth}@{}} +bin & ausführbare Programme des \TeX-Systems. Jeweils für die verschiedenen Rechnerplattformen + in Unterverzeichnissen zusammengefasst\\ +readme-*.dir & in diesen Verzeichnissen (!) befinden sich Text- bzw. HTML-Dateien + in verschiedenen Sprachen, die als schneller + Einstieg in \TL empfehlenswert sind.\\ +source & Quelldateien aller Programme inklusive der + \Webc-Quellen für die \TeX-Pakete\\ +texmf & Verzeichnisbaum für Programme mit zugehörigen Hilfsdateien und Anleitungen; enthält keine \TeX-Formate + und Pakete (siehe \texttt{TEXMFMAIN} im nächsten Abschnitt).\\ +texmf-dist & Hauptbaum mit Formaten und Paketen (siehe \texttt{TEXMFDIST} im nächsten Abschnitt).\\ +tlpkg & Skripte, Programme und Daten die für die Installation benutzt werden, sowie einige Dinge, die speziell für Windows benötigt werden. +%%\end{longtable} +\end{tabular} +\end{center} +% +Zusätzlich zu den oben aufgeführten Verzeichnissen finden Sie +im Wurzelverzeichnis der Distribution +auch noch die Installationsskripte. + +Wenn Sie nach Dokumentation suchen, bietet Ihnen die Datei \OnCD{doc.html} wichtige Links. +Die Dokumentation für Programme (Handbücher, ">man~pages"<, \acro{GNU}-\acro{info}-Dateien) beispielsweise finden Sie +im Verzeichnis \OnCD{texmf/doc}. Ähnliches +gilt für die Dokumentation der \TeX-Pakete und -Formate im Verzeichnis \OnCD{texmf-dist/doc}. + +Benutzen Sie das Programm \cmdname{texdoc}, wenn Sie auf der Suche nach irgendeiner +Dokumentationsdatei sind. Hilfreich in diesem Zusammenhang könnte auch die Link-Sammlung \filename{doc.html} im +Wurzelverzeichnis sein. + +Die Anleitung zu \TL ist in verschiedenen Sprachen verfügbar: +\begin{itemize*} +\item{Tschechisch/Slowakisch:} \OnCD{texmf/doc/czechslovak/texlive-cz/live} +\item{Deutsch:} \OnCD{texmf/doc/german/texlive-de/texlive-de} (dieses Dokument) +\item{Englisch:} \OnCD{texmf/doc/english/texlive-en/texlive-en} +\item{Französisch:} \OnCD{texmf/doc/french/texlive-fr/texlive-fr} +\item{Italienisch:} \OnCD{texmf/doc/italian/texlive-it/texlive-it} +\item{Polnisch:} \OnCD{texmf/doc/polish/texlive-pl/texlive-pl} +\item{Russisch:} \OnCD{texmf/doc/russian/texlive-ru/texlive-ru} +\item{Serbisch:} \OnCD{texmf/doc/serbian/texlive-sr/texlive-sr} +\item{Chinesisch:} \OnCD{texmf/doc/chinese/texlive-zh-cn/texlive-zh-cn} +\end{itemize*} + +% ------------------------------------------------------------- +\subsection{Ãœberblick über die vordefinierten texmf-Bäume} +\label{sec:texmftrees} + +Dieser Abschnitt listet die vordefinierten texmf-Bäume, die vom System benutzt +werden, und deren Bedeutung auf. Das Kommando \texttt{tlmgr~conf} +zeigt Ihnen die aktuellen Einstellungen dieser Variablen an. + +\begin{ttdescription} +\item [TEXMFMAIN] In diesem Baum befinden sich wichtige Teile des Systems, + wie Konfigurationsdateien, Hilfsprogramme und die Dokumentation. +\item [TEXMFDIST] In diesem Baum befinden sich die wesentlichen Makro-Pakete, + Fonts usw. Dieser Baum enthält systemunabhängige Daten, die prinzipiell + von jedem TDS-kompatiblem \TeX-System nutzbar sein sollten. +\item [TEXMFLOCAL] Dieser Baum ist für Ergänzungen oder Aktualisierungen + von Makros, Fonts etc. gedacht, die Administratoren für alle Nutzer + installieren. +\item [TEXMFHOME] In diesem Baum können einzelne Nutzer Ergänzungen oder + Aktualisierungen von Makros, Fonts etc. ablegen. Standardmäßig befindet + sich dieser Baum unterhalb von \verb+$HOME+, so dass andere Nutzer von + Änderungen hier nicht beeinflusst werden. +\item [TEXMFCONFIG] Dieser benutzerspezifische (!) Baum wird von den Hilfsprogrammen von \TeX{} + wie \verb+texconfig+, \verb+updmap+ und \verb+fmtutil+ verwendet. + Standardmäßig befindet sich dieser Baum unterhalb von \verb+$HOME+, + so dass andere Nutzer von Änderungen hier nicht beeinflusst werden. +\item [TEXMFSYSCONFIG] Systemweiter Baum, wird von den Hilfsprogrammen + \verb+texconfig-sys+, \verb+updmap-sys+ und \verb+fmtutil-sys+ + verwendet, so dass hier das Verhalten des \TL-Systems für alle Nutzer + beeinflusst werden kann. +\item [TEXMFSYSVAR] Dieser Baum wird von den systemweiten Hilfsprogrammen + wie \verb+texconfig-sys+, \verb+updmap-sys+ und \verb+fmtutil-sys+ + verwendet, um automatisch generierte Konfigurations-Dateien abzulegen. +\item [TEXMFVAR] Dieser benutzerspezifische Baum wird von Hilfsprogrammen wie \verb+texconfig+, + \verb+updmap+ und \verb+fmtutil+ benutzt, um automatisch generierte + Konfigurations-Dateien abzulegen. +\item [TEXMFCACHE] Dieser Baum wird von \ConTeXt\ Mk\acro{IV} genutzt, um Cache-Daten abzulegen. +\end{ttdescription} + +\noindent +Der Standard der Verzeichnisstruktur von \TL sieht wie folgt aus: +\begin{description} + \item[Systemweites Wurzelverzeichnis] kann \TL{}-Versionen aus mehreren Jahren beinhalten: + \begin{ttdescription} + \item[2011] Eine Vorversion von \TL. + \item[2012] Die aktuelle Version. + \begin{ttdescription} + \item [bin] ~ + \begin{ttdescription} + \item [i386-linux] \GNU/Linux binaries + \item [...] + \item [universal-darwin] \MacOSX\ binaries + \item [win32] Windows binaries + \end{ttdescription} + \item [texmf\ \ \ \ \ \ \ ] Hierauf verweist \envname{TEXMFMAIN}. + \item [texmf-dist\ \ ] \envname{TEXMFDIST} + \item [texmf-var\ \ ] \envname{TEXMFSYSVAR} + \item [texmf-config \ \ ] \envname{TEXMFSYSCONFIG} + \end{ttdescription} + \item [texmf-local] \envname{TEXMFLOCAL}, dieses Verzeichnis gilt für alle installierten \TL-Versionen + (aktuelle Version und Vorgängerversion), so dass hier durchgeführte lokale Änderungen über die + Jahre hinweg erhalten bleiben. + \end{ttdescription} + \item[Home-Verzeichnis des Benutzers] + (\texttt{\$HOME} oder \texttt{\%USERPROFILE\%}): + \begin{ttdescription} + \item[.texlive2011] Vom Nutzer privat erzeugte Dateien und Konfigurationsdaten + der Vorversion. + \item[.texlive2012] Vom Nutzer privat erzeugte Dateien und Konfigurationsdaten + für die aktuelle Version von \TL. + \begin{ttdescription} + \item [texmf-var\ \ \ ] \envname{TEXMFVAR} + \item [texmf-config] \envname{TEXMFCONFIG} + \end{ttdescription} + \item[texmf] \envname{TEXMFHOME} Persönliche Makros, Fonts usw. des Nutzers. + \end{ttdescription} +\end{description} + +% ------------------------------------------------------------- +\subsection{\protect\TeX-Erweiterungen}\label{sec:tex-extensions} + +Unter den \TeX-Systemen der {\TL} befinden sich verschiedene +\TeX"=Erweiterungen: + +\begin{description} +\item [\eTeX]\label{text:etex} stellt bei 100\%-iger Kompatibilität zum + ursprünglichen {\TeX} einen kleinen, aber mächtigen Satz neuer Befehle + bereit (für Makroexpansion, Character-Scanning, zusätzliche + Klassen für ">marks"<, erweiterte Debug-Möglichkeiten und andere). + Zusätzlich gibt es noch die \TeXXeT-Erweiterungen für den bidirektionalen Textsatz, + wie er beispielsweise im Arabischen gebraucht wird. + Im voreingestellten Modus ist {\eTeX} 100\%-ig kompatibel mit dem ">normalen"< \TeX. + Die Dokumentation zu {\eTeX} finden Sie in der Datei + \OnCD{texmf-dist/doc/etex/base/etex_man.pdf}. +\item [pdf\TeX] enthält die \eTeX\ Erweiterungen und erlaubt -- neben der Ausgabe in PDF-Dateien -- auch die Erstellung von DVI-Dateien. Für die meisten \TeX-Formate (wie \prog{etex}, \prog{latex}, \prog{pdflatex}) wird tatsächlich pdf\TeX\ aufgerufen. Die Webseite von pdf\TeX\ lautet + \url{http://www.pdftex.org}. + Die Dokumentation zu pdf\TeX{} finden Sie unter + \OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf}. + In der Datei + \OnCD{texmf-dist/doc/pdftex/manual/samplepdf/samplepdf.tex} finden + Sie ein Anwendungsbeispiel. Das \LaTeX"=Paket \pkgname{hyperref} + besitzt die Option \optname{pdftex} mit der Möglichkeit + für aktive Querverweise (Hypertext) in PDF-Dateien. +\item [Lua\TeX] befindet sich noch in Entwicklung + und ist als zukünftiger Nachfolger von pdf\TeX\ vorgesehen, + zu dem es weitgehend abwärtskompatibel bleiben soll. + Weiterhin soll es auch Aleph ersetzen, auch wenn es nicht kompatibel + dazu sein wird. + Durch den enthaltenen Lua-Interpreter (siehe \url{http://www.lua.org/}) + können Probleme, die in \TeX{} selbst nur mühsam lösbar sind, + einfach und elegant gelöst werden. + Wird es unter dem Namen \filename{texlua} aufgerufen, + verhält es sich wie ein eigenständiger Lua-Interpreter + -- und wird als solcher in vielen Skripten von \TL bereits benutzt. + Für weitere Informationen siehe \url{http://www.luatex.org/} und + \OnCD{texmf-dist/doc/luatex/luatexref-t.pdf}. +\item [XeTeX] bietet die Unterstützung von Unicode-Zeichensätzen und + OpenType-Schriften durch diverse zusätzliche Bibliotheken. + Mehr Informationen sind unter \url{http://tug.org/xetex} + verfügbar. +\item [\OMEGA] (Omega) ist ein \TeX-System, das intern mit Unicode + (16-Bit"=Unicode"=Zeichen) arbeitet und damit das gleichzeitige + Arbeiten mit nahezu allen auf der Welt eingesetzten Schriften + und deren Zeichenkodierungen erlaubt. Außerdem werden über dynamisch + geladene, sogenannte ">{\OMEGA}~Translation~Processes"< (\acro{OTP}s) + Transformationen zur Verfügung gestellt, die beliebige Eingaben + vor der Bearbeitung durch {\TeX} nach bestimmten Regeln + umformen. Omega ist nicht länger als eigenständiges Programm Teil + von \TL; es wird nur noch Aleph mitgeliefert. +\item [$\aleph$] (Aleph) vereinigt die \OMEGA- und \eTeX-Erweiterungen. + Eine Minimaldokumentation finden Sie in \OnCD{texmf-dist/doc/aleph/base}. +\end{description} + +%\clearpage + +% ------------------------------------------------------------- +\subsection{Weitere Programme von \TL} + +{\TL} enthält eine ganze Reihe unterstützender Programme wie + +\smallskip + +\begin{description} +\item[\cmdname{bibtex}, \cmdname{bibtex8}] Verwalten von Bibliographien +\item[\cmdname{dviconcat}] Zusammenfügen von \dvi-Dateien +\item[\cmdname{dvips}] Konversion von {\dvi} in {\PS} +\item[\cmdname{dviselect}] Ausschneiden von Seiten aus \dvi-Dateien +\item[\cmdname{dvipdfmx}] \dvi-nach-PDF-Konverter (erzeugt auch + \acro{CJK}-konformes PDF aus + \dvi-Dateien mit \OMEGA"=Erweiterungen), als Alternative + zu pdf\TeX +\item[\cmdname{dvilj}] Druckertreiber für die HP-LaserJet"=Familie +\item[\cmdname{makeindex}, \cmdname{xindy}] Erzeugen eines Stichwortverzeichnisses +\item[\cmdname{mpost}] \MF-ähnliches Grafikprogramm +\item[\cmdname{psnup}, \cmdname{psselect}] \PS-Tools +\item[\cmdname{pdfjam}, \cmdname{pdfjoin}] \acro{PDF}-Tools +\item[\cmdname{tex4ht}] \TeX-nach-\HTML-Konvertierung +\item[\cmdname{texexec, texmfstart}] \ConTeXt- und PDF"=Prozessor +\item[\cmdname{xdvi}] \dvi-Bildschirmausgabe im X-Window-System +\end{description} + +\subsection{Fonts in \protect\TL} +\label{sec:tl-fonts} + +\TL{} enthält eine Vielzahl qualitativ hochwertiger Vektorschriften. Weitere Informationen hierzu finden sich unter \url{http://tug.org/fonts} und \OnCD{texmf-dist/doc/fonts/free-math-font-survey/survey}. + +% ============================================================== +\section[Installation von \TeX Live]{Installation von \protect\TL} +\label{sec:install} + +\subsection{Das Installationsprogramm} +\label{sec:inst-start} + +Zur Installation von \TL benötigen Sie die \TK{}-\DVD{} oder den \emph{\TL{} Net Installer} aus dem Internet. + +\begin{description} +\item [Net Installer:] Verfügbar von \CTAN, unter +\dirname{systems/texlive/tlnet}; die URL +\url{http://mirror.ctan.org/systems/texlive/tlnet} leitet Sie automatisch +an einen nahe gelegenen Server des \CTAN-Netzwerks weiter. +Sie können entweder die Datei \filename{install-tl.zip} herunter laden, +die sowohl für Unix als auch Windows gedacht ist, +oder die deutlich kleinere Datei \filename{install-unx.tar.gz}, +die aber nur den Installer für Unix enthält. +Nach dem Auspacken finden Sie die Dateien \filename{install-tl} (Unix) +bzw.\ \filename{install-tl.bat} (Windows) im Verzeichnis \dirname{install-tl}. + +\item [\TeX{} Collection \DVD:] Hier finden Sie die Dateien \filename{install-tl} (Unix) +bzw.\ \filename{install-tl.bat} (Windows) im Verzeichnis \dirname{texlive} +der \DVD. Unter Windows startet beim Einlegen der DVD im Allgemeinen automatisch ein Programm, bei dem Sie unter anderem das Installationsprogramm von \TL auswählen können. Die \DVD\ erhalten Sie als Mitglied eines \TeX-Vereins +(wie \url{http://www.dante.de} für den deutschsprachigen Raum, von der Fachbuchhandlung Lehmanns +(\url{http://www.lob.de}) oder international von der \TeX{} Users Group +(\url{http://tug.org/store}). + +Alternativ können Sie das \ISO-Image der \TL aus dem Internet laden. Nach der Installation von der DVD können Sie die Internet-Aktualisierung aktivieren, für Details siehe Abschnitt \ref{sec:dvd-install-net-updates}. +\end{description} + +\noindent Egal welche Quelle verwendet wird, es wird der gleiche Installer genutzt. Der hauptsächliche Unterschied ist, dass man bei der Verwendung des Net-Installers die neuesten verfügbaren Pakete erhält. Bei der Verwendung von \DVD\ and \ISO\ Images erhält man den Stand des letzten Major Release. Zwischen zwei Major Releases gibt es keine Aktualisierung der \DVD\ oder \ISO\ Images. + +\noindent Die folgenden Abschnitte beschreiben die Installation für die einzelnen Betriebssysteme. + +\subsubsection{Unix} + +\noindent +Im Folgenden werden die Eingaben des +Benutzers nach dem Kommando-Prompt \samp{>} \Ucom{fett} dargestellt. + +Das Skript \filename{install-tl} ist ein Perl-Skript. Am Einfachsten starten +Sie es auf einem Unix-System in der Kommandozeile mit +\begin{alltt} +> \Ucom{cd /pfad/zum/installer} +> \Ucom{perl install-tl} +\end{alltt} +(Sie können auch direkt \Ucom{perl /pfad/zum/installer/install-tl} eingeben. Wenn Ihre +\DVD so gemountet ist, dass als ausführbar gekennzeichnete Skripte direkt gestartet werden +können, können Sie im Verzeichnis des Installers auch direkt +\Ucom{./install-tl} eingeben.) Eventuell müssen Sie Ihr Terminalfenster +größer machen, damit Sie den kompletten Text sehen (Abb.~\ref{fig:text-main}) + +Zum Installieren mit Hilfe einer Benutzeroberfläche (Abb.~\ref{fig:gui-main}) verwenden Sie +\begin{alltt} +> \Ucom{perl install-tl -gui} +\end{alltt} +Hierfür muss das \dirname{Perl/TK}-Modul mit \acro{XFT}-Unterstützung (diese ist bei \GNU/Linux in der Regel mit einkompiliert) auf Ihrem System installiert sein. + +Alle Optionen des Installationsprogramms werden mit +\begin{alltt} +> \Ucom{perl install-tl -help} +\end{alltt} +angezeigt. + +\textbf{Wichtiger Hinweis zu den Zugriffsrechten unter Unix:} Ihre aktuelle Einstellung von \code{umask} +wird bei der Installation von \TL{} berücksichtigt. Daher müssen Sie darauf achten, dass Sie hierfür +einen sinnvollen Wert einstellen (z.\,B. \code{umask002}), wenn Ihre Installation auch durch andere Nutzer +als Sie benutzt werden soll. Falls Sie unsicher sind, was dies bedeutet, schauen Sie bitte in die Anleitung +zu \code{umask} (indem Sie das Kommando \code{man umask} eingeben). + +\textbf{Besonderheit bei Cygwin:} Im Gegensatz zu anderen Unix-basierten +Systemen fehlen bei Cygwin i.\,A. einige Programme, die vom Installationsprogramm +von \TL\ vorausgesetzt werden. Bitte lesen Sie den Abschnitt \ref{sec:cygwin}. + +\subsubsection{MacOSX} + +Wie in Abschnitt~\ref{sec:tl-coll-dists} bereits erwähnt wurde, existiert mit Mac\TeX{} (\url{http://tug.org/mactex}) ein eigenes \TeX-System für \MacOSX. Dieses enthält ein +komplettes \TL mit einem Installationsprogramm, das in Funktionalität und Aussehen der üblichen Installation von Software unter \MacOSX\ entspricht. Weiterhin sind einige Zusatzprogramme enthalten. + +Wenn Sie die \TK-\DVD besitzen, empfiehlt es sich daher, Mac\TeX{} zu verwenden. + +\subsubsection{Windows} + +Wenn Sie den \emph{Net Installer} verwenden, oder auf Ihrem System beim Einlegen der \DVD das +Installationsprogramm nicht automatisch gestartet wurde, können Sie die Installation von +\TL im Windows-Explorer durch einen Doppelklick auf \filename{install-tl.bat} (auf der \DVD befindet +sich diese Datei im Verzeichnis \texttt{texlive}) starten. +Falls Sie bei der Installation mehr Optionen benötigen (z.\,B. die Auswahl +spezifischer Paketgruppen), starten Sie stattdessen \filename{install-tl-advanced.bat}. + +Alternativ können Sie eine cmd-Eingabeaufforderung verwenden, dort in das Verzeichnis wechseln, +in dem sich das Installationsprogramm befindet und +\begin{alltt} +D:\bs{}texlive\bs{}> \Ucom{install-tl} +\end{alltt} +eingeben -- \texttt{...>} kennzeichnet hierbei den Eingabeprompt. Ihre Eingabe ist \Ucom{\texttt{bold/fett}} dargestellt. + +Alternativ können Sie die Installation auch aus einem beliebigen Verzeichnis heraus starten: +\begin{alltt} +> \Ucom{D:\bs{}texlive\bs{}install-tl} +\end{alltt} +wobei wir hier annehmen, dass sich ihre \TK-\DVD im Laufwerk D: befindet. +Abb.~\ref{fig:wizard-w32} zeigt das grafische Installationsprogramm im +">wizard mode"<, das unter Windows standardmäßig verwendet wird. + +Zur Installation im Textmodus verwenden Sie: +\begin{alltt} +> \Ucom{install-tl -no-gui} +\end{alltt} + +\noindent Alle vorhandenen Optionen, die beim Starten des Installationsprogramms verwendet werden können, werden +wie folgt angezeigt: +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} + +\begin{figure}[tb] +\begin{boxedverbatim} +Installing TeX Live 2012 from: ... +Platform: i386-linux => 'Intel x86 with GNU/Linux' +Distribution: inst (compressed) +... + Detected platform: Intel x86 with GNU/Linux + + <B> platforms: 1 out of 19 + + <S> installation scheme (scheme-full) + 84 collections out of 85, disk space required: 3091 MB + + Customizing installation scheme: + <C> standard collections + <L> language collections + + <D> directories: + TEXDIR (the main TeX directory): + /usr/local/texlive/2012 + ... + + <O> options: + [ ] use letter size instead of A4 by default + ... + + <V> set up for portable installation + +Actions: + <I> start installation to hard disk + <H> help + <Q> quit +\end{boxedverbatim} +\caption{Hauptmenü des Installationsprogramms (\GNU/Linux).}\label{fig:text-main} +\end{figure} + +\begin{figure}[tb] +\tlpng{install-lnx-main}{\linewidth} +\caption{Grafische Installation im Expertenmodus (\GNU/Linux).}\label{fig:gui-main} +\end{figure} + +\begin{figure}[tb] +\tlpng{wizard-w32}{\linewidth,trim=0 4 0 0,clip} +\caption{Wizard mode (Windows)}\label{fig:wizard-w32} +\end{figure} + +\htmlanchor{cygwin} +\subsubsection{Cygwin} +\label{sec:cygwin} + +Das Installationsskript von \TL\ unterstützt nur Version~1.7 von Cygwin. +Bevor Sie mit der Installation von \TL\ beginnen, verwenden Sie das +Installationsprogramm von Cygwin (\filename{setup.exe}) um die Pakete +\filename{perl} und \filename{wget} gegebenenfalls nachzuinstallieren. +Wir empfehlen weiterhin die Installation folgender Cygwin-Pakete: +\begin{itemize*} +\item \filename{fontconfig} [für \XeTeX] +\item \filename{ghostscript} [wird von verschiedenen Teilen von \TL\ benötigt] +\item \filename{libXaw7} [für \code{xdvi}] +\item \filename{ncurses} [damit der 'clear'-Befehl im Installer funktioniert] +\end{itemize*} + + +\subsubsection{Installation im Textmodus} + +Abb.~\ref{fig:text-main} zeigt den Eingangsbildschirm des Installationsprogramms im Textmodus (Standard unter Unix). +Dieser ist ein reiner Textmodus, was zur Folge hatt dass es keine Unterstützung zum Wandern durch die +einzelnen Menüpunkte mit den Cursor-Tasten gibt. Alle Befehle wie zum Beispiel die Auswahl von Menüpunkten werden +durch Eingabe der entsprechenden Befehle bzw.\ Menükürzel über die Tastatur eingegeben und +dann durch Drücken von \emph{Enter} übernommen. Hierbei wird zwischen Groß- und Kleinschreibung +unterschieden! + +Die Installation im Textmodus ist so spartanisch, weil dieser Modus überall funktionieren soll, selbst mit einer Basisinstallation von Perl (für Windows enthält\TL\ eine Minimalversion von Perl). + +\subsubsection{Installation mit Benutzeroberfläche im Expertenmodus} + +Abb.~\ref{fig:gui-main} zeigt die grafische Installation im Expertenmodus +unter GNU/Linux. Funktionell unterscheided sich dieser nicht wesentlich +vom Textmodus, außer dass natürlich mit +Menüs, Auswahlboxen etc. gearbeitet wird. + +Dieser Modus muss explizit mit +\begin{alltt} +> \Ucom{install-tl -gui=perltk} +\end{alltt} +gestartet werden. + +\subsubsection{Installation mit einfacher Benutzeroberfläche (\emph{wizard mode})} + +Unter Windows wird automatisch diese einfache Form der Installation verwendet, +der so genannte ">wizard mode"< (Abb.~\ref{fig:wizard-w32}). Dieser zeichnet sich dadurch aus, dass er +\TL\ komplett installiert und dabei vom Benutzer nur wenige Angaben gemacht +werden müssen. Falls Sie eine individuell angepasste Version von \TL\ benötigen, +verwenden Sie daher bitte einen der beiden anderen Installationsmodi. + +Um die Installation explizit im ">wizard mode"< zu starten (insbesondere unter +Unix), verwenden Sie: +\begin{alltt} +> \Ucom{install-tl -gui=wizard} +\end{alltt} + + +\subsection{Benutzung des Installationsprogramms} +\label{sec:runinstall} + +Das Installationsprogramm sollte (wenn Sie die vorherigen Abschnitte zum Aufbau von \TL und der +verwendeten Verzeichnisstruktur gelesen haben) weitgehend selbsterklärend sein. Trotzdem wollen wir +auf einige Punkte näher eingehen. + +\subsubsection{Auswahl der Binaries (nur für Unix)} +\label{sec:binary} + +\begin{figure}[tb] +\begin{boxedverbatim} +Available platforms: +=============================================================================== + a [ ] alpha-linux DEC Alpha with GNU/Linux + b [ ] amd64-freebsd x86_64 with FreeBSD + c [ ] amd64-kfreebsd x86_64 with GNU/kFreeBSD + d [ ] armel-linux ARM with GNU/Linux + e [ ] i386-cygwin Intel x86 with Cygwin + f [ ] i386-freebsd Intel x86 with FreeBSD + g [ ] i386-kfreebsd Intel x86 with GNU/kFreeBSD + h [X] i386-linux Intel x86 with GNU/Linux + i [ ] i386-solaris Intel x86 with Solaris + j [ ] mips-irix SGI IRIX + k [ ] mipsel-linux mipsel with Linux + l [ ] powerpc-aix PowerPC with AIX + m [ ] powerpc-linux PowerPC with GNU/Linux + o [ ] sparc-solaris Sparc with Solaris + p [ ] universal-darwin universal binaries for MacOSX/Darwin + s [ ] win32 Windows + t [ ] x86_64-darwin x86_64 with MacOSX/Darwin + u [ ] x86_64-linux x86_64 with GNU/Linux + v [ ] x86_64-solaris x86_64 with Solaris +\end{boxedverbatim} +\caption{Auswahlmenü für Binaries}\label{fig:bin-text} +\end{figure} + +\noindent Abb.~\ref{fig:bin-text} zeigt das Auswahlmenü für die Binaries der einzelnen Betriebssysteme im Textmodus. +Im Allgemeinen sollte hier schon das richtige System ausgewählt sein. Sie können aber problemlos Binaries +für verschiedene Systeme parallel auswählen. Dies bietet sich an, wenn Ihre Installation auf verschiedenen +Rechnern in einem heterogenen Netzwerk sichtbar ist und von dort aus benutzt werden soll. + +\subsubsection{Auswahl der zu installierenden Komponenten} +\label{sec:components} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Select a scheme: +=============================================================================== + a [X] full scheme (everything) + b [ ] medium scheme (small + more packages and languages) + c [ ] small scheme (basic + xetex, metapost, a few languages) + d [ ] basic scheme (plain and latex) + e [ ] minimal scheme (plain only) + f [ ] ConTeXt scheme + g [ ] GUST TeX Live scheme + h [ ] teTeX scheme (more than medium, but nowhere near full) + i [ ] XML scheme + j [ ] custom selection of collections +\end{boxedverbatim} +\caption{Menü zur Auswahl des Schemas}\label{fig:scheme-text} +\end{figure} + +\noindent Abb.~\ref{fig:scheme-text} zeigt das Auswahlmenü für ein grundsätzliches Installationsschema der +\TL. Durch die Auswahl eines Schemas werden automatisch die Komponenten zur Installation ausgewählt, die +für das gewünschte Schema notwendig bzw.\ sinnvoll sind. Mit einer vollständigen Installation von \TL +(\emph{full scheme}) sind Sie auf der sicheren Seite, da hier einfach alles installiert wird. Sie können +aber auch eines der abgespeckten Schemas wie \emph{basic} (für ein sehr schlankes System), \emph{medium} +oder \emph{minimal} (dies empfiehlt sich aber nur für Testsysteme und weniger zum ernsthaften Arbeiten) +auswählen. Weiter stehen einige Schemas für spezielle Zwecke oder Sprachen zur Verfügung. + +\begin{figure}[tb] +\tlpng{stdcoll}{.7\linewidth,trim=0 4 0 0,clip} +\caption{Menü zur Aus- oder Abwahl von Collections.}\label{fig:collections-gui} +\end{figure} + +Wenn Sie das Schema ausgewählt haben, können Sie dieses in den Menüpunkten \emph{standard collections} und +\emph{language collections} (s.\,Abb.~\ref{fig:collections-gui}, diesmal zur Abwechslung im GUI-Modus) +individuell nach Ihren Wünschen anpassen. + +Während das Schema nur den grundlegenden Funktionsumfang vorgibt, ist die Auswahl von Komponenten auf der +Ebene der \emph{Collections} viel feiner. Eine Collection besteht dabei aus mehreren Paketen zu einem Thema, +wobei jedes der Pakete aus bestimmten Makrodateien, Fontdateien usw. bestehen kann. + +Noch mehr Kontrolle über die Komponenten Ihres Systems haben Sie nach der Installation mit dem \TeX\ Live Manager (\prog{tlmgr}), das in Abschnitt~\ref{sec:tlmgr} beschrieben wird. Hier können Sie gezielt einzelne +Pakete installieren oder entfernen. + +\subsubsection{Verzeichnisse} +\label{sec:directories} + +Die Verzeichnisstruktur von \TL wurde bereits im Abschnitt~\ref{sec:texmftrees} auf S.~\pageref{sec:texmftrees} +beschrieben. Als Wurzelverzeichnis für \TL (\dirname{TEXDIR}) wird unter Windows +(|%SystemDrive%\texlive\2012|) und unter Unix (\dirname{/usr/local/texlive/2012}) angenommen. + +Prinzipiell können Sie diesen Pfad problemlos ändern, z.\,B. wenn Sie \TL als normaler Nutzer installieren +wollen und kein Schreibrecht in dem oben angegebenen Verzeichnis besitzen. + +Auf Wunsch können Sie \TL also auch in Ihrem Home-Verzeichnis installieren, wenn Sie sowieso der einzige +Verwender von \TL sind. Für Ihr Home-Verzeichnis können Sie den Pfad ">|~|"< verwenden und so +beispielsweise \TL nach |~/texlive/2012| installieren. + +Wir empfehlen Ihnen, die Jahreszahl im Verzeichnisnamen beizubehalten. So können Sie von Jahr zu Jahr +einfach die neue Version testen, ohne die alte zu entsorgen. Bei Bedarf können Sie einen symbolischen +Link (z.B. \dirname{/usr/local/texlive-cur}) verwenden, der jeweils auf das Verzeichnis der aktuellen +Version von \TL verweist. + +Wenn Sie die Einstellung \dirname{TEXDIR} im Installationsprogramm ändern, werden die Werte für +\dirname{TEXMFLOCAL}, \dirname{TEXMFSYSVAR} und +\dirname{TEXMFSYSCONFIG} automatisch angepasst. + +Das als \dirname{TEXMFHOME} bezeichnete Verzeichnis ist der Ort, in dem persönliche Makrodateien, +Schriften o.\,ä. abgelegt werden können. Vorgabewert ist |~/texmf|. Im Gegensatz zu \dirname{TEXDIR} +wird |~| hier nicht direkt zum Pfad des Home-Verzeichnisses aufgelöst, sondern unverändert in die +Konfigurationsdateien von \TL übernommen und erst zur Laufzeit aufgelöst. Somit kann jeder Nutzer +des Systems seinen komplett eigenen Pfad haben, der von \TL verwendet wird, und so nach Wunsch auch +eigene Konfigurationsänderungen durchführen. +Zur Laufzeit wird |~| unter Unix durch \dirname{$HOME} und unter Windows durch \verb|%USERPROFILE%| ersetzt. + +Die Variable \dirname{TEXMFVAR} verweist auf das Verzeichnis mit benutzerspezifisch +erzeugten Konfigurationsdateien, z.\,B. den Konfigurations-Cache von \ConTeXt\ Mk\acro{IV}. + +\subsubsection{Optionen} +\label{sec:options} + +\begin{figure}[tbh] +\begin{boxedverbatim} + <P> use letter size instead of A4 by default: [ ] + <E> execution of restricted list of programs: [X] + <F> create format files: [X] + <D> install font/macro doc tree: [X] + <S> install font/macro source tree: [X] + <L> create symlinks in standard directories: [ ] + binaries to: + manpages to: + info to: + <Y> after installation, get package updates from CTAN: [X] +\end{boxedverbatim} +\caption{Auswahlmenü für weitere Optionen (Unix).}\label{fig:options-text} +\end{figure} + +\noindent Abb.~\ref{fig:options-text} zeigt das Menü, in dem weitere Einstellungen für die Installation von +\TL möglich sind. Zur Erläuterung: +\begin{description} +\item[use letter size instead of A4 by default:] Verwendung von Letter anstatt DIN\,A4 als +Standard\-papier\-größe. Natürlich können Sie später unabhängig davon für einzelne Dokumente eine +beliebige Papiergröße wählen. + +\item[execution of restricted list of programs:] Ab \TL\ 2011 können bei einem +\TeX-Lauf standardmäßig einige externe Programme aufgerufen werden. Die (kurze) +Liste der erlaubten Programme wird in der Datei \filename{texmf.cnf} definiert. +Für weitere Informationen siehe Abschnitt~\ref{sec:2011news} über Neuerungen in +\TL\ 2011. + +\item[create format files:] Auch wenn das Erzeugen von Formatdateien für Makropakete, die Sie gar + nicht benötigen, Zeit und Platz kostet, empfehlen wir trotzdem, diese Option ausgewählt zu belassen. + Falls Sie diese Option abwählen, werden Formatdateien jeweils bei Bedarf erzeugt, und dann + im persönlichen \dirname{TEXMFVAR}-Baum des aktuellen Benutzers abgelegt. Dort liegende Formate werden allerdings + nicht automatisch neu generiert, wenn z.\,B. Programme oder Silbentrennmuster aktualisiert werden, so dass + im Extremfall nach einem Update Inkompatibilitäten entstehen können. + +\item[install font/macro \ldots\ tree:] Mit dieser Option können Sie + verhindern, dass die Dokumentation und die Quelldateien der Pakete + installiert werden. Wir raten aber, die Vorgabe zu übernehmen, also + die Dokumentation und Quelldateien zu installieren. + +\item[create symlinks in standard directories] (nur unter Unix): + Mit dieser Option können Sie symbolische Links für Programme und Dokumentation in den Standard\-verzeichnissen + Ihres Systems anlegen, so dass Sie Ihre Umgebungsvariablen \envname{PATH}, \envname{MANPATH} und + \envname{INFOPATH} nicht anpassen müssen. Natürlich benötigen Sie für diese Option Schreibrechte in + den entsprechenden Verzeichnissen. Hinweis: Diese Option ist nicht dazu gedacht, ein vorhandenes \TeX-System, das + z.\,B. als Teil Ihrer Linux-Distribution installiert wurde, zu überschreiben! Sie dient vielmehr dazu, + dass Links in Verzeichnissen angelegt werden, wo die Nutzer sie erwarten -- beispielsweise in + \dirname{/usr/local/bin} --, aber sich dort noch keine \TeX-Programme befinden. + +\item[after installation \dots{} CTAN:] Diese Option ist bei der Installation von DVD standardmäßig gesetzt. Sie sorgt dafür, dass nach der Installation Paket-Aktualisierungen aus dem Internet geladen werden. Es gibt nur einen sinnvollen Grund, diese Option nicht zu aktivieren: wenn nur ein Untermenge von \TL\ installiert wurde und Pakete nach der Installation manuell hinzugefügt werden sollen. + +\end{description} + +\noindent Wenn Sie alle gewünschten Einstellungen für die Installation vorgenommen +haben, können Sie im Hauptmenü nun ">I"< eintippen, um diese zu starten. +Lesen Sie dann anschließend Abschnitt~\ref{sec:postinstall} für +eventuell notwendige Arbeiten zum Abschluss der Installation. + +\subsection{Kommandozeilenoptionen für die Installation} +\label{sec:cmdline} + +Nach Eingabe von +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} +erhalten Sie eine Liste der vorhanden Kommando\-zeilen\-optionen. Sie können diese entweder mit |-| oder |--| +verwenden. Die wichtigsten sind: + +\begin{ttdescription} +\item[-gui] Installation im grafischen Modus. Hierfür muss unter Unix Perl/Tk (mit \acro{XFT}-Unterstützung) installiert sein + (\url{http://tug.org/texlive/distro.html#perltk}). Falls dies nicht der Fall ist, wird die Installation + im Textmodus durchgeführt. + +\item[-no-gui] Installation im Textmodus. Da dies unter Unix Standard ist, wirkt sich diese Option nur + unter Windows aus. Da die Installation zum Benutzen von \TL direkt von \DVD im grafischen Modus nicht + verfügbar ist, brauchen Sie in diesem Fall unbedingt den Textmodus. + +\item[-lang {\sl LL}] Sprache des Installationsprogramms als Sprach-Code in zwei Buchstaben (\textsl{LL}). + Derzeit werden unterstützt. Das Installationsprogramm versucht, die gewünschte Sprache anhand des + Systems herauszufinden. Falls dies scheitert oder die betreffende Sprache nicht verfügbar ist, wird als + Fallback-Sprache Englisch genutzt. + +\htmlanchor{opt-in-place} +\item[-in-place] Sollten Sie schon ein rsync, svn, oder eine andere Kopie von + \TL{} haben (siehe \url{http://tug.org/texlive/acquire-mirror.html}), dann wird diese Option genau das nutzen, was Sie schon haben und nur die notwendigen post-install Operationen durchführen. Eine Warnung: Die Datei \filename{tlpkg/texlive.tlpdb} kann dadurch überschrieben werden; machen Sie vorher gegebenenfalls eine Sicherheitskopie. Die Entfernung von Paketen muss auch manuell vorgenommen werden. + +Diese Option kann nicht über die Installer-Schnittstelle gesetzt werden. + +\item[-portable] Die Option \code{-portable} (\code{V} im Text-Installer oder die entsprechende Option im grafischen Installer); dient der Installation auf einem USB-Stick oder einer DVD-R. Siehe Abschnitt \ref{sec:portable-tl} für Informationen über die portable Installation von \TL. + +\item[-profile {\sl profile}] Das Installationsprogramm schreibt die ausgewählten Optionen in eine Datei + \filename{texlive.profile}. Mit dieser Option können + Sie eine bereits vorhandene Datei bei der Installation weiter verwenden, z.\,B. wenn Sie äquivalente + Installationen auf mehreren Rechnern realisieren wollen, ohne alle Auswahlschritte der Installation immer + wieder neu durchführen zu müssen. + +\item [-repository {\sl url/path}] zur Auswahl einer Installationsquelle, + für weitere Erläuterung siehe den nächsten Abschnitt. +\end{ttdescription} + +\subsubsection{Die Option \optname{repository}} +\label{sec:location} + +Als Standardquelle für die Installation wird ein \CTAN-Knoten verwendet, der automatisch von \url{http://mirror.ctan.org} ermittelt wird. + +Falls Sie eine andere Installationsquelle verwenden wollen, geben Sie eine neue Quelle an, die entweder mit \texttt{ftp:}, \texttt{http:} oder \texttt{file:/} beginnt oder ein Verzeichnispfad auf Ihrem System ist. +Falls Sie \texttt{http:} oder \texttt{ftp:} verwenden, werden ">\texttt{/}"<-Zeichen am Ende ignoriert. + +Sie können also z.\,B. einen bestimmten \CTAN-Knoten auswählen, so etwa +\url{http://ctan.example.org/tex-archive/systems/texlive/tlnet/}, +wobei Sie natürlich statt |ctan.example.org| einen echten Servernamen +verwenden und wahrscheinlich auch den Rest der URL anpassen müssen. +Eine Auflistung von \CTAN-Servern finden Sie unter \url{http://ctan.org/mirrors}. + +Falls Sie ein lokales Repository verwenden (also entweder direkt einen +Verzeichnispfad oder eine mit \texttt{file:/}-URL angeben), so werden +bevorzugt Archivdateien in einem Unterverzeichnis \dirname{archive} des +Repository verwendet, selbst wenn ausgepackte Dateien vorhanden sind. + +\subsection{Aufgaben im Anschluss an die Installation} +\label{sec:postinstall} + +Je nach System kann es notwendig sein, dass im Anschluss an die Installation noch einige Kleinigkeiten +erledigt werden müssen. + +\subsubsection{Windows} +Benutzer von Windows sind hier in der glücklichen Position, dass das Installationsprogramm alles komplett +erledigt haben sollte. + +\subsubsection{Unix, falls symbolische Links angelegt wurden} + +Wenn Sie bei der Installation angegeben haben, dass und wo symbolische Links angelegt werden sollten +(s.\,Abschnitt~\ref{sec:options}), dann sollten hier auch keine Nacharbeiten mehr notwendig sein. + +\subsubsection{Umgebungsvariablen für Unix} +\label{sec:env} + +Das Verzeichnis mit den ausführbaren Programmen von \TL muss sich im Suchpfad des Systems befinden. +Jedes unterstützte System besitzt ein eigenes Verzeichnis unterhalb von \dirname{TEXDIR/bin}, deren +Namen Sie in Abb.~\ref{fig:bin-text} finden. + +Weiterhin können Sie die Verzeichnisse mit den Manual-Pages und Info-Dateien zu den entsprechenden +Suchpfaden für Dokumentation hinzufügen. + +Für Systeme mit einer Bourne-kompatiblen Shell wie \prog{bash} ist hier am Beispiel von GNU/Linux +aufgeführt, wie die Befehle zum Setzen der Umgebungsvariablen (z.\,B. in \filename{$HOME/.profile}) +aussehen könnten: + +\begin{sverbatim} +export PATH=/usr/local/texlive/2012/bin/i386-linux:$PATH +export MANPATH=/usr/local/texlive/2012/texmf/doc/man:$MANPATH +export INFOPATH=/usr/local/texlive/2012/texmf/doc/info:$INFOPATH +\end{sverbatim} + +\noindent Für \prog{csh} oder \prog{tcsh} erfolgt die Konfiguration in der Regel in der Datei~\filename{$HOME/.cshrc} +und könnte so aussehen: + +\begin{sverbatim} +setenv PATH /usr/local/texlive/2012/bin/i386-linux:$PATH +setenv MANPATH /usr/local/texlive/2012/texmf/doc/man:$MANPATH +setenv INFOPATH /usr/local/texlive/2012/texmf/doc/info:$INFOPATH +\end{sverbatim} + +\subsubsection{Systemweites Setzen von Umgebungsvariablen} +\label{sec:envglobal} + +Wenn Sie als Administrator die Umgebungsvariablen global für das gesamte System setzen wollen, +gehen wir davon aus, dass Sie sich mit der grundlegenden Systemadministration auskennen. + +Daher hier nur zwei Hinweise: + +\begin{enumerate} +\item Schauen Sie nach einer Datei +\filename{/etc/manpath.config}. Falls diese vorhanden ist, sollte es reichen, folgende Zeilen +hinzu zu fügen: + +\begin{sverbatim} +MANPATH_MAP /usr/local/texlive/2012/bin/i386-linux \ + /usr/local/texlive/2012/texmf/doc/man +\end{sverbatim} + +\item Prüfen Sie, ob es auf Ihrem System eine Datei \filename{/etc/environment} gibt, in der die +systemweiten Umgebungsvariablen definiert werden. + +Zusätzlich wird ein symbolischer Link \code{man} im binary-Verzeichnis unter +Unix angelegt, der auf \dirname{texmf/doc/man} berweist. Einige Versionen von \code{man}, so z.\,B. unter \MacOSX, +finden so verlinkte Man-Pages automatisch, so dass hier keine spezielle +Konfiguration für die Man-Pages mehr erforderlich ist. + +\end{enumerate} + + +\subsubsection{Internet-Updates nach der Installation von DVD} +\label{sec:dvd-install-net-updates} + +Wenn Sie von DVD installiert haben, können Sie mittels des folgenden Befehls die Aktualisierung über das Internet aktivieren. Zuerst müssen Sie, wie im letzten Abschnitt beschrieben, den Suchpfad angepasst haben: + +\begin{alltt} +> \Ucom{tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet} +\end{alltt} + +\noindent Dadurch nutzt \cmdname{tlmgr} beim nächsten Update einen \CTAN\ Mirror. Sollte es Probleme bei der automatischen Wahl eines Mirror-Servers geben, kann ein bestimmter \CTAN\ Server von der unter \url{http://ctan.org/mirrors} verfügbaren Liste ausgewählt werden. Benutzen Sie diesen Pfad dann mit dem oben genannten Befehl. + +\htmlanchor{xetexfontconfig} +\htmlanchor{sysfontconfig} +\subsubsection{Font configuration for \XeTeX} +\label{sec:font-conf-xetex} + +\XeTeX\ und Lua\TeX\ können nicht nur die Schriften in den \TeX\ Bäumen nutzen, sondern auch die auf dem System vorhandenen Fonts. Die Methoden, wie sie dies tun, ähneln sich, sind aber verschieden. + +Unter Windows sind die auf dem System vorhandenen Schriften automatisch nutzbar. Auf einem Unix/Linux System sind Anpassungen notwendig, damit die Schriften per Systemname und nicht nur Dateiname gefunden werden können. + +Hierfür wird bei der Installation des \filename{xetex} Pakets die Datei \filename{TEXMFSYSVAR/fonts/conf/texlive-fontconfig.conf} +erzeugt. + +Um die mitgelieferten \TL-Schriften systemweit verwenden zu können, +gehen Sie bitte folgendermaßen vor: +\begin{enumerate*} +\item Kopieren Sie als root-User \filename{texlive-fontconfig.conf} nach +\dirname{/etc/fonts/conf.d/09-texlive.conf}. +\item Führen Sie \Ucom{fc-cache -fsv} aus. +\end{enumerate*} + +\noindent Falls Ihnen als normaler Nutzer die entsprechenden Privilegien für die +obigen Schritte fehlen, können Sie die \TL-Schriften für sich selbst +als \XeTeX-Nutzer verwendbar machen: +\begin{enumerate*} +\item Kopieren Sie \filename{texlive-fontconfig.conf} in das Unterverzeichnis + \filename{~/.fonts.conf}, wobei \filename{~} Ihr Home-Verzeichnis ist. +\item Führen Sie \Ucom{fc-cache -fv} aus. +\end{enumerate*} + +Führen Sie \code{fc-list} aus, um eine Liste der Systemschriften mit hilfreichen Informationen zu erhalten. + +\subsubsection{\ConTeXt{} Mark IV} +\label{sec:context-mkiv} + +Sowohl das `alte' \ConTeXt{} (Mark \acro{II}) als auch das `neue' \ConTeXt{} +(Mark \acro{IV}) sollten problemlos nach der \TL{} Installation funktionieren und +brauchen keine besondere Aufmerksamkeit, sofern \verb+tlmgr+ für den Update-Prozess +genutzt wird. + +Da \ConTeXt{} Mk\acro{IV} jedoch nicht die kpathsea-Bibliothek nutzt, ist +ein wenig manuelle Nacharbeit notwendig, wenn neue Dateien manuell installiert werden (also ohne die Nutzung von +\verb+tlmgr+). + +Nach einer jeden solchen Installation muss jeder Nutzer das das folgende Kommando ausführen, um den \ConTeXt{} Cache zu aktualisieren: + +\begin{sverbatim} +context --generate +\end{sverbatim} + +Die erzeugten Dateien werden in \code{TEXMFCACHE} gespeichert, dessen Standardwert \verb+TEXMSYSVAR;TEXMFVAR+ ist. + +\ConTeXt\ Mk\acro{IV} liest aus allen Pfaden, die in \verb+TEXMFCACHE+ aufgeführt sind und schreibt in die erste Pfadangabe, bei der Schreibrechte existieren. Im Fall identischer Cache-Daten hat der letzte gefundene Pfad Vorrang vor allen anderen Pfaden. + + +Für weitere Informationen siehe +\url{http://wiki.contextgarden.net/Running_Mark_IV} und +\url{http://wiki.contextgarden.net/TeX_Live_2011}. + +\subsubsection{Integrieren lokaler bzw.\ nutzer-spezifischer Makros} +\label{sec:local-personal-macros} + +Wie bereits in Abschnitt~\ref{sec:texmftrees} erwähnt, ist der Verzeichnisbaum \dirname{TEXMFLOCAL} (im +Normalfall \dirname{/usr/local/texlive/texmf-local} oder \verb|%SystemDrive%\texlive\texmf-local|) +für lokale Ergänzungen wie Makros und Schriften gedacht, die anschließend allen Benutzern des Systems zur +Verfügung stehen. Weiterhin können Benutzer den Verzeichnisbaum \dirname{TEXMFHOME} (im Normalfall +\dirname{$HOME/texmf} oder \verb|%USERPROFILE%\texmf|) für persönliche Ergänzungen verwenden, ohne +dass andere Benutzer davon beeinflusst werden. +Diese Verzeichnisse sollen über verschiedene Versionen von \TL hinweg identisch sein, so dass ein +Update von \TL auf eine neue Version einfach möglich ist, ohne dass Sie Ihre lokalen Ergänzungen +verlieren. Wir empfehlen Ihnen daher, von der vorgegebenen Verzeichnisstruktur nicht abzuweichen. + +Für beide oben genannte Verzeichnisbäume erwartet \TL eine Verzeichnisstruktur innerhalb des Baums, die +dem \emph{\TeX{} Directory Standard} entspricht, wie er in \url{http://tug.org/tds} bzw. +\filename{texmf/web2c/texmf.cnf} definiert ist. +So gehören Dokumentklassen für \LaTeX{} zum Beispiel in ein Verzeichnis +unterhalb von \dirname{TEXMFLOCAL/tex/latex} oder \dirname{TEXMFHOME/tex/latex}. + +Der Verzeichnisbaum \dirname{TEXMFLOCAL} wird zur Laufzeit nicht direkt nach Dateien durchsucht. +Stattdessen wird eine Liste von Dateinamen verwendet, sich sich in einer Datei mit dem Namen~\filename{ls-R} +befindet. Denken Sie also daran, nach Änderungen in diesem Baum diese Dateiliste zu aktualisieren. Dies tun Sie +entweder mit dem Befehl \cmdname{mktexlsr} oder über die Schaltfläche \emph{Reinit file database} in +dem Konfigurationsreiter des \TeX\ Live Managers (\GUI-Modus). + +\subsubsection{Integrieren von Schriften} +Die Installation von Schriften, die nicht von \TL sind, ist eine recht komplexe Angelegenheit. Sie sollten +sich bereits gut mit dem System auskennen, bevor Sie diese Aufgabe beginnen. Schauen Sie vielleicht +vorher in Abschnitt~\ref{sec:tl-fonts} nach, welche Schriften bereits bei \TL mitgeliefert werden. + +Eine Alternative besteht im Benutzen von \XeTeX\ oder Lua\TeX\ (s.\,Abschnitt~\ref{sec:tex-extensions}), bei dem +direkt alle vom Betriebssystem installierten Schriften verwendet werden können, ohne dass die Installation +einer \TeX-Unterstützung notwendig ist. + +Falls Sie wirklich weitere Schriften benötigen, finden Sie unter +\url{http://tug.org/fonts/fontinstall.html} eine Beschreibung zur +Installation weiterer Schriften. + + + +\subsection{Testen der Installation} +\label{sec:test-install} + +Nach der Installation von \TL wollen Sie es natürlich benutzen, um möglichst schöne Dokumente zu setzen. + +Dieser Abschnitt beschreibt, wie Sie prüfen können, ob Ihr \TL-System funktioniert. +Die folgenden Beispiele sind für Unix, sollten unter Windows und \MacOSX aber sehr ähnlich sein. Der Unterschied kann sein, dass Sie dort eventuell eine grafische Benutzeroberfläche verwenden. + +\begin{enumerate} + +\item Prüfen Sie, ob Sie das Programm \cmdname{tex} ausführen können: + +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.1415926 (TeX Live 2012) +kpathsea version 5.0.0 +Copyright 2011 D.E. Knuth. +... +\end{alltt} + +Erhalten Sie als Resultat statt der Versionsnummer die Meldung, dass der Befehl nicht gefunden wurde, +so haben Sie wahrscheinlich vergessen, das Verzeichnis mit den ausführbaren Programmen +in Ihren \envname{PATH} aufzunehmen, s.\,Abschnitt~\ref{sec:env} auf S.\,\pageref{sec:env}. + +\item Eine einfache \LaTeX{}-Datei übersetzen: +\begin{alltt} +> \Ucom{latex sample2e.tex} +pdfTeX 3.1415926-1.40.11-2.2 (TeX Live 2012) +... +Output written on sample2e.dvi (3 pages, 7484 bytes). +Transcript written on sample2e.log. +\end{alltt} + +Falls dies schief geht, sind wahrscheinlich noch alte Umgebungsvariablen einer vorigen \TeX-Installation +übrig geblieben. Wir empfehlen, die Umgebungsvariablen, die sich auf \TeX{} beziehen, zu entfernen. +Für eine weitere Analyse können Sie \TeX{} anzeigen lassen, wo es bestimmte Dateien sucht, +siehe ">Fehlersuche"< auf Seite~\pageref{sec:debugging}. + +\item Ergebnis auf dem Bildschirm anschauen: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} # Unix +> \Ucom{dviout sample2e.dvi} # Windows +\end{alltt} +Nun sollte +sich ein Vorschaufenster mit dem soeben gesetzten Beispieldokument öffnen, das die Grundlagen von +\LaTeX{} erläutert (und das Anfänger tatsächlich auch einmal lesen sollten). +Unter Unix muss ein X-Server laufen, damit \cmdname{xdvi} funktioniert; +falls dies nicht der Fall ist oder die Umgebungsvariable \envname{DISPLAY} falsch gesetzt ist, +erhalten Sie die Fehlermeldung \samp{Can't open display}. + +\item Eine \PS{}-Datei erzeugen: +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item Direkt eine \acro{PDF}-Datei erzeugen (statt \dvi{}): +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item Eine \acro{PDF}-Datei anschauen: +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{or:} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} +Weder \cmdname{gv} noch \cmdname{xpdf} sind in \TL{} enthalten, daher müssen diese separat installiert +werden, siehe \url{http://www.gnu.org/software/gv} bzw. +\url{http://www.foolabs.com/xpdf}. +Sie können natürlich auch andere PDF-Viewer verwenden, beispielsweise den Adobe Reader, der allerdings unter Windows das Problem hat dass geöffnete PDF-Dateien +nicht überschrieben werden können, was zu Fehlern von pdf\TeX\ führt, wenn +Sie ein Dokument übersetzten wollen und vergessen haben, es vorher im +Acrobat Reader zu schließen. Unter Windows sollten Sie auch einmal +Sumatra PDF (\url{http://blog.kowalczyk.info/software/sumatrapdf}) ausprobieren. + +\item Weitere nützliche Test-Dateien außer +\filename{sample2e.tex}: + +\begin{ttdescription} +\item [small2e.tex] Einfachere Version von \filename{sample2e}, um den Fehler einzugrenzen, wenn Sie +beim Ãœbersetzen von \filename{sample2e} Probleme haben. +\item [testpage.tex] Hiermit können Sie prüfen, ob Ihr Drucker Ihren Ausdruck horizontal oder vertikal verschiebt. +\item [nfssfont.tex] Zum Testen von Fonts und Erzeugen von Schrifttabellen. +\item [testfont.tex] Erzeugen von Schrifttabellen, aber mit plain \TeX. +\item [story.tex] Das einfachste Testdokument von allen (in plain \TeX{}). +Geben Sie am Ende \samp{\bs bye} ein, wenn nach dem Aufruf von \samp{tex +story.tex} der \code{*} erscheint. +\end{ttdescription} + +\item Falls Sie das \filename{xetex}-Paket installiert haben, können Sie +das Verwenden von Systemschriften folgendermaßen testen: +\begin{alltt} ++> \Ucom{xetex opentype-info.tex} +This is XeTeX, Version 3.1415926\dots +... +Output written on opentype-info.pdf (1 page). +Transcript written on opentype-info.log. +\end{alltt} + +(Oder das gleiche für \filename{luatex}.) + +Falls Sie die Fehlermeldung ">Invalid fontname \glq Latin Modern +Roman\grq\dots"< erhalten, muss Ihr System so konfiguriert werden, dass +es die von \TL\ mitgelieferten Schriften findet (siehe Abschnitt~\ref{sec:font-conf-xetex}). +\end{enumerate} + +\subsection{Hinweise auf weitere Software} +In vielen Fällen ist die Installation weiterer Software sinnvoll: +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.perl.org/} mit Zusatzpaketen von + \acro{CPAN}, \url{http://www.cpan.org/} +\item[ImageMagick] \url{http://www.imagemagick.com}, für die Bearbeitung + und Umwandlung von Bildern in andere Formate, +\item[NetPBM] \url{http://netpbm.sourceforge.net/}, ebenfalls für Bilder. + +\item[\TeX-Oberflächen] Es gibt eine breite Auswahl von Oberflächen bzw. + Editoren, die \TeX\ unterstützen, je nach persönlichem Geschmack des + Benutzers. Hier ist eine Auswahl, wobei einige davon nur für Windows verfügbar sind: + \begin{itemize*} + \item \cmdname{GNU Emacs} gibt es auch für Windows, siehe + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html}. + \item \cmdname{Emacs} mit Auc\TeX\ für Windows findet man auf der Homepage \url{http://www.gnu.org/software/auctex}. + \item \cmdname{Emacs} mit Auc\TeX\ für Windows findet man auf der Homepage \url{http://www.gnu.org/software/auctex}. + \item \cmdname{LEd} findet sich unter \url{http://www.ctan.org/support/LEd}. + \item \cmdname{SciTE} findet sich unter + \url{http://www.scintilla.org/SciTE.html}. + \item \cmdname{Texmaker} ist Freie Software, verfügbar über + \url{http://www.xm1math.net/texmaker/}. + \item \cmdname{TexMakerX} \url{http://texmakerx.sourceforge.net/} + ist eine Version von \cmdname{Texmaker} mit zusätzlichen Features + \item \cmdname{TeXnicCenter} ist Freie Software, verfügbar über + \url{http://www.texniccenter.org} und als Teil von pro\TeX{}t. + \item \cmdname{TeXworks} ist Freie Software, verfügbar über + \url{http://tug.org/texworks}. Wird unter Windows und + \MacOSX\ als Teil von \TL\ mitinstalliert. + \item \cmdname{Vim} ist Freie Software, verfügbar über + \url{http://www.vim.org}. + \item \cmdname{WinShell} findet sich unter \url{http://www.winshell.de}. + \item \cmdname{WinEdt} ist Shareware, verfügbar über + \url{http://tug.org/winedt} oder \url{http://www.winedt.com}. + Bitte beachten Sie, dass es für Mitglieder von \dante\ ein + Lizenzabkommen mit WinEdt zu sehr günstigen Preisen gibt. + \end{itemize*} +\end{description} +Für weitere Programme siehe \url{http://tug.org/interest.html}. + +\htmlanchor{tlsharedinstall} +\section{Installation für mehrere Maschinen oder Nutzer (Netz-Installation)} +\label{sec:sharedinstall} + +Bei \TL ist nicht nur vorgesehen, dass es von mehreren Benutzern auf einem System verwendet werden kann, +sondern auch in einem Netzwerk. In der normalen Konfiguration von \TL werden nur relative und keine absoluten +Pfade verwendet. Dies erkennt man an Einstellungen in der Datei \filename{$TEXMFMAIN/web2c/texmf.cnf}, +die Zeilen wie die folgenden enthält, in denen Verzeichnisse relativ zu den Verzeichnissen lokalisiert werden, +in denen sich die Programme befinden: + +\begin{sverbatim} +TEXMFMAIN = $SELFAUTOPARENT/texmf +... +TEXMFLOCAL = $SELFAUTOPARENT/../texmf-local +\end{sverbatim} +Daher ist es im Normalfall ausreichend, +das Programm-Verzeichnis in den Suchpfad des Systems aufzunehmen, +alles weitere bestimmt \TL dann automatisch. + +Daher ist es kein Problem, wenn das Grundverzeichnis von \TL als Netzlaufwerk eingebunden ist. Tatsächlich +können Sie \TL\ sogar zunächst lokal installieren und dann auf ein Netzlaufwerk verschieben. + +Benutzer von Windows können ein Installationsskript namens \filename{w32client} +für eine Netzwerkinstallation von \url{http://tug.org/texlive/w32client.html} (siehe auch Abschnitt \ref{sec:sharedinstall}) +herunterladen. Dieses nimmt die Einstellungen im Startmenü von Windows +für das Verwenden von \TL über Netzwerk vor, weiterhin wird ein Skript zur +Deinstallation mitgeliefert. Lesen Sie bitte die Beschreibung auf der +angegebenen Webseite. + +\htmlanchor{tlportable} +\section{Portables \protect\TL{} auf DVD oder USB-Stick} +\label{sec:portable-tl} + +Wenn Sie \TL\ im portablen Modus verwenden wollen (z.\,B. auf einem Rechner, +auf dem Sie "`Gast"' sind), können Sie \TL\ mit der Option \optname{-portable} (bzw. der Option \code{V} +im Text-Installer oder der entsprechenden Option im grafischen Installer) auf einem USB-Stick installieren (siehe Abschnitt \ref{sec:cmdline}). + +Um \TeX\ von dieser portablen Installation ausführen zu können, muss das entsprechenden Verzeichnis mit den Binaries dem Suchpfad hinzugefügt werden. Unter Windows kann man \filename{tl-tray-menu} im Stammverzeichnis der Installation doppelt klicken, um zwischen verschiedenen Aufgaben zu wählen. + +\medskip +\tlpng{tray-menu}{4cm} +\smallskip + +\noindent Der Eintrag `More\ldots' erläutert, wie Sie dieses Menü anpassen können. + +\htmlanchor{tlmgr} +\section{\cmdname{tlmgr}: Installation verwalten} +\label{sec:tlmgr} + +\begin{figure}[tb] +\tlpng{tlmgr-gui}{\linewidth} +\caption{\prog{tlmgr} im \GUI-Modus. Hauptfenster nach dem Klicken auf ">Load"<.}\label{fig:tlmgr-gui} +\end{figure} + +\begin{figure}[tb] +\hbox to \hsize{% + \vtop{\hsize=.59\linewidth + \null % make figures align at the top + \tlpng{tlmgr-general-options}{\hsize} + \caption{\texttt{tlmgr} im \GUI-Modus: Allgemeine Optionen} + \label{fig:tlmgr-general-options} + } + \hfil + \vtop{\hsize=.39\linewidth + \null + \tlpng{tlmgr-paper-options}{\hsize} + \caption{\texttt{tlmgr} im \GUI-Modus: Optionen zur Papiergröße} + \label{fig:tlmgr-paper-options} + } +} +\end{figure} + +Bei der Installation von \TL wird auch das Programm~\prog{tlmgr} installiert, mit dem Sie anschließend +Ihr \TL-System verwalten können. Die hierfür bisher verwendeten Programme~\prog{updmap}, +\prog{fmtutil} und \prog{texconfig} sind zwar noch vorhanden, aber inzwischen +ist \prog{tlmgr} die vorgesehene Oberfläche zur Konfiguration von \TL. +Mit \prog{tlmgr} können Sie folgende Aufgaben erledigen: +\begin{itemize*} +\item Verfügbare Schemas, Collections und Pakete installieren, aktualisieren, wieder + herstellen, sichern, deinstallieren, auf Wunsch mit + Berücksichtigung von Paketabhängigkeiten. +\item Suchen nach Paketen. +\item Anzeigen der Systeme, unter denen \TL läuft; (de)installieren von Binaries für weitere Systeme. +\item Anpassen der Installation, wie Ändern der Papiergröße oder des Quellverzeichnisses für Komponenten + (s.\,Abschnitt~\ref{sec:location}). +\end{itemize*} +\textit{Achtung:} \prog{tlmgr} ist für die Installation im portalen Modus (Abschnitt \ref{sec:portable-tl}) weder gedacht noch getestet. + +\subsection{\cmdname{tlmgr} im grafischen Modus} +\prog{tlmgr} im \GUI-Modus (siehe Abbildung \ref{fig:tlmgr-gui}) wird durch +\begin{alltt} +> \Ucom{tlmgr -gui} +\end{alltt} +gestartet. Unter Windows finden Sie das Programm im Start menu: \texttt{Start}, \texttt{Programme}, +\texttt{TeX Live 2012}, \texttt{TeX Live Manager}. Nach Klicken auf ">Load"< +wird eine Liste aller verfügbaren und installierten (letztere durch ">(i)"< gekennzeichnet) angezeigt. Dies +setzt voraus, dass das Verzeichnis, aus dem \TL die Pakete lädt, vorhanden bzw.\ erreichbar ist. + +Abb.~\ref{fig:tlmgr-general-options} und \ref{fig:tlmgr-paper-options} zeigen die Reiter zur allgemeinen Konfiguration von \TL\ und zur Einstellung der Papiergröße. + +\subsection{Beispiel zur Verwendung von \cmdname{tlmgr} über Kommandozeile} + +Nachdem Sie \TL\ installiert haben, können Sie Ihr \TL-System auf den +neuesten Stand aktualisieren: +\begin{alltt} +> \Ucom{tlmgr update -all} +\end{alltt} +Falls Sie vorher wissen wollen, was passiert, können Sie zunächst +\begin{alltt} +> \Ucom{tlmgr update -all -dry-run} +\end{alltt} +oder (weniger ausführlich) +\begin{alltt} +> \Ucom{tlmgr update -list} +\end{alltt} +verwenden. + +Das folgende Beispiel demonstriert, wie die Collection für \XeTeX\ installiert +wird, wobei sich die Installationsdateien in einem lokalen Verzeichnis +befinden: + +\begin{alltt} +\Ucom{tlmgr -repository /local/mirror/tlnet install collection-xetex} +\end{alltt} +Dies liefert die folgende Ausgabe: +\begin{fverbatim} +install: collection-xetex +install: arabxetex +... +install: xetex +install: xetexconfig +install: xetex.i386-linux +running post install action for xetex +install: xetex-def +... +running mktexlsr +mktexlsr: Updating /usr/local/texlive/2012/texmf/ls-R... +... +running fmtutil-sys --missing +... +Transcript written on xelatex.log. +fmtutil: /usr/local/texlive/2012/texmf-var/web2c/xetex/xelatex.fmt installed. +\end{fverbatim} + +Wie man sieht, beachtet \prog{tlmgr} die Abhängigkeiten von Paketen und installiert im obigen +Beispiel von \XeTeX{} benötigte Komponenten nach. Weiterhin werden automatisch im Anschluss +die Dateilisten der Verzeichnisbäume aktualisiert und fehlende Formate generiert. + +Informationen zu einem Paket (oder einer Collection oder einem Schema) anzeigen: +\begin{alltt} +Ucom{tlmgr show collection-latexextra} +\end{alltt} + +\noindent Hier erhält man folgende Ausgabe: +\begin{fverbatim} +package: collection-latexextra +category: Collection +shortdesc: LaTeX supplementary packages +longdesc: A large collection of add-on packages for LaTeX. +installed: Yes +revision: 14675 +\end{fverbatim} + +\noindent Die komplette Dokumentation finden Sie unter \url{http://tug.org/texlive/tlmgr.html} +oder mit +\begin{alltt} +> \Ucom{tlmgr -help} +\end{alltt} + + +\section{Hinweise zu Windows} +\label{sec:windows} + +Das Installationsprogramm von \TL\ läuft sowohl unter Windows als auch Unix. Dies war nur dadurch möglich, +dass ältere Versionen von Windows nicht mehr unterstützt werden. Daher kann \TL\ nur noch ab Windows XP oder +später installiert werden. + + +\subsection{Windows-spezifische Dinge} +\label{sec:winfeatures} + +Unter Windows kümmert sich das Installationsprogramm auch um folgende Dinge: +\begin{description} +\item[Menüs und Verknüpfungen.] Im Startmenü wird ein Menü ">\TL{}"< hinzu gefügt. Hier sind Einträge für + die grafischen Anwendungen (\prog{tlmgr}, \prog{texdoctk}, den PS\_View (\prog{psv}) PostScript-Previewer) + und einige Verknüpfungen zur Dokumentation vorhanden. Für PS\_View wird eine Verknüpfung auf dem + Desktop angelegt, auf die Sie \PS-Dateien per Drag~\& Drop ziehen können, um diese zu betrachten. +\item[Automatisches Setzen der Umgebungsvariablen.] Hierdurch ist das Setzen dieser Variablen + von Hand überflüssig geworden. +\item[Uninstaller.] Es wird ein Eintrag zum Entfernen von \TL in der Systemsteuerung im Punkt Software angelegt. + Alternativ können Sie \TL über die GUI \TeX\ Live Manager deinstallieren. +\item[Dateiverknüpfungen] Wenn diese Option aktiviert wird, werden \prog{TeXworks}, \prog{Dviout} + und \prog{PS\_view} entweder die Standard-Programme für die entsprechenden Dateitypen oder erhalten einen Eintrag im `Öffnen mit' Dialog. +\item[Bitmap nach eps Konverter] Verschiedene Bitmap-Formate erhalten einen Eintrag \cmdname{bitmap2eps} in ihr `Öffnen mit' Menü. Bitmap2eps ist ein einfaches Skript, das im Hintergrund \cmdname{sam2p} oder \cmdname{bmeps} aufruft. +\item[Automatische Pfad-Anpassung] Erfordert keine manuellen Anpassungen. + +\end{description} + +\subsection{Zusätzlich enthaltene Programme unter Windows} + +Zusätzlich werden unter Windows einige Programme installiert, die unter Windows meist noch nicht verfügbar +sind: +\begin{description} +\item[Perl und Ghostscript.] Da Perl und Ghostscript für \TL sehr wichtig ist, werden diese + unter Windows mitgeliefert und werden intern von \TL benutzt. Die in \TL enthaltenen Programme, die + diese Komponenten benötigen, ">wissen"< wo sich diese befinden, ohne dass diese im System durch + Umgebungsvariablen oder Einträge in der Registry sichtbar sind. Es handelt sich um für \TL abgespeckte + Versionen, die zu keinen Konflikten mit eventuell bereits vorhandenen Installationen von Perl und Ghostscript + führen sollten. +\item[PS\_View.] Weiterhin wird PS\_View installiert, ein neuer PostScript- und PDF-Viewer, der Freie Software ist, + s.\,Abb.~\ref{fig:psview}. +\begin{figure}[tb] +\tlpng{psview}{.6\linewidth} +\caption{PS\_View: sogar sehr extreme Vergrößerungen sind möglich.}\label{fig:psview} +\end{figure} +\item[dviout] Weiterhin wird \prog{dviout}, ein \acro{DVI}-Viewer installiert. +Wenn Sie am Anfang Dokumente mit \cmdname{dviout} anschauen, werden häufig noch Fonts generiert, da +keine fertigen Fontdateien für den Bildschirm mitgeliefert werden. Je mehr Fonts generiert wurden, desto +seltener müssen Schriften nachgeneriert werden, so dass dieser Effekt nach einiger Zeit nur noch selten +auftreten wird. Weitere Informationen finden Sie in der (sehr guten) Online-Hilfe. + +\item[TeXworks] \TeX{}works ist eine Oberfläche für \TeX\ mit Editor und + integriertem \acro{PDF}-Viewer. + +\item[Tools für die Kommandozeile.] Für einige unter Unix übliche Programme werden Portierungen für Windows + mitgeliefert. Dies sind z.\,B. \cmdname{gzip}, \cmdname{unzip} und einige Programme für die Kommandozeile aus der + \cmdname{xpdf}-Suite, wie \cmdname{pdfinfo} und \cmdname{pdffonts}. (Vom + \cmdname{xpdf}-Viewer selbst gibt es keine Version für Windows, aber der + Sumatra \acro{PDF}-Viewer basiert auf \cmdname{xpdf}: + \url{http://blog.kowalczyk.info/software/sumatrapdf}.) + \item[\texttt{fc-cache}, \texttt{fc-list} etc.] dienen \XeTeX{} zur effizienteren Benutzung von Schriften. Mit \prog{fc-list} können Sie die Namen der + verfügbaren Schriften anzeigen, die Sie dann unter \XeTeX\ mit dem + Kommando \cs{font} benutzen können. Mit \prog{fc-cache} kann die Liste + der verfügbaren Schriften aktualisiert werden. + +\end{description} + +\subsection{Nutzerprofile unter Windows} +\label{sec:winhome} + +Das Gegenstück von Windows zum HOME-Verzeichnis unter Unix ist das +Verzeichnis \verb|%USERPROFILE%|. + +Unter Windows 7 oder Windows Vista liegt es meist in \verb|C:\Users\<username>|, +unter Windows XP im Verzeichnis \verb|C:/Dokumente und Einstellungen/<username>|. + +In der Datei \filename{texmf.cnf} und in \KPS{} allgemein wird \verb|~| +sowohl unter Unix und Windows korrekt aufgelöst. + +\subsection{Die Windows-Registry} +\label{sec:registry} + +Windows verwaltet fast all seine Konfigurationseinstellungen in der +Registry. Diese besteht aus einem hierarchisch aufgebauten Baum +von Schlüsseln, wobei mehrere dieser Registry-Bäume existieren. +Die wichtigsten sind \path{HKEY_CURRENT_USER} und \path{HKEY_LOCAL_MACHINE}, +oft abgekürzt als \path{HKCU} bzw.\ \path{HKLM}. +Der \path{HKCU}-Teil der Registry wird im Home-Verzeichnis des Benutzers +gespeichert (siehe Abschnitt~\ref{sec:winhome}). \path{HKLM} liegt im +Normalfall in einem Unterverzeichnis des Windows-Verzeichnisses. + +In einigen Fällen sind Systeminformationen aus Umgebungsvariablen +ersichtlich, in vielen anderen Fällen liegen diese Informationen +aber in der Registry. + +\subsection{Windows Permissions} +\label{sec:winpermissions} + +In neueren Versionen von Windows wird zwischen normalen Benutzern und +Administratoren unterschieden, wobei nur letztere freien Zugang auf +alle Teile des Betriebsystems haben. Im Gegensatz zu Unix ist es in der +Praxis allerdings häufig so, dass Benutzer zur Klasse der Administratoren +gehören und daher doch alle Freiheiten haben. Trotzdem haben wir einigen +Aufwand getrieben, damit \TL auch unter Windows ohne Administrator-Rechte +installiert werden kann. + +Falls der Benutzer, der \TL installiert, Administrator-Rechte besitzt, +kann \TL für alle Benutzer des Systems installiert werden, d.\,h. Verknüpfungen, +Menüs und Systemeinträge werden für alle Nutzer angelegt. Ansonsten werden diese +nur für den aktuellen Benutzer angelegt. + +Unabhängig davon wird grundsätzlich angenommen, dass das Wurzelverzeichnis +von \TL unter \verb|%SystemDrive%| liegen soll. Allerdings testet das +Installationsprogramm, ob dieses Verzeichnis für den aktuellen Benutzer +schreibbar ist. + +Ein Problem entsteht, wenn \TL ohne Administrator-Rechte installiert +wird und sich bereits ein \TeX{}-System im systemweiten Suchpfad +befindet. Windows benutzt zuerst den Suchpfad des Systems, erst dann +den spezifischen Suchpfad des Nutzers, so dass hier immer zuerst +das alte \TeX-System gefunden wird. Als Workaround wird hier eine +Verknüpfung mit einer Eingabeaufforderung erzeugt, in der das +Programmverzeichnis von \TL im Suchpfad vor den Standard\-such\-pfad +geschrieben wird. Dies bedeutet, dass in diesem Fall nur in einer +Eingabeaufforderung verfügbar ist, die über diese Verknüpfung gestartet +wird. Die Verknüpfung für \TeX{}works (falls Sie dieses installieren) +fügt ebenfalls automatisch \TL{} am Anfang des Suchpfades ein, so dass +es direkt benutzbar ist. + +Unter Windows Vista gibt es einen weiteren Fallstrick. Selbst wenn Sie als +Administrator angemeldet sind, müssen Sie Programme trotzdem explizit +mit Administratorrechten starten. Insofern ist es tatsächlich nicht sehr +sinnvoll, sich als Administrator anzumelden. Klicken Sie stattdessen +auf das gewünschte Programm (bzw. die gewünschte Verknüpfung) mit der +rechten Maustaste, damit Sie die Option erhalten, dieses mit +Administratorrechten auszuführen. + +\subsection{Erhöhen des maximal verfügbaren Speichers unter Windows und Cygwin} +\label{sec:cygwin-maxmem} + +Unter Windows und Cygwin (s. Abschnitt \ref{sec:cygwin} für die Installation unter +Cygwin) kann es vorkommen, dass der den in \TL\ enthaltenen Programmen zur +Verfügung gestellte Speicher nicht ausreicht. Dies kann z.\,B. passieren, wenn +in \prog{asy} ein Array von 25 Millionen Gleitkommazahlen allokiert wird oder +ein Dokument mit umfangreichen Schriften mit Lua\TeX\ übersetzt wird. + +Für Cygwin ist die Erhöhung des Maximalspeichers im Cygwin-Hanbuch beschrieben +(\url{http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html}). + +Unter Windows können Sie eine Datei \code{moremem.reg} mit folgenden vier +Zeilen anlegen: +\begin{sverbatim} +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\Software\Cygwin] +"heap_chunk_in_mb"=dword:ffffff00 +\end{sverbatim} + +Führen Sie dann als Administrator \code{regedit /s moremem.reg} aus. +(Falls der zur Verfügung stehende Speicher nur für den aktuellen Nutzer +erhöht werden soll, verwenden Sie stattdessen einfach \code{HKEY\_CURRENT\_USER}). + +% ============================================================== +% don't use \Webc so the \uppercase in the headline works. +\section[Anleitung zum Web2C-System]{Anleitung zum \Webc-System} + +{\Webc} besteht aus einer Reihe von Programmen, die zusammen ein komplettes +\TeX-System darstellen. Dazu gehören natürlich \TeX, +\MF, \MP, {\BibTeX} usw. + +Die erste Implementierung eines \TeX-Systems +in der Programmiersprache C stammt von Tomas~Rokicki und datiert zurück in das +Jahr 1987. Rokicki benutzte als Basis sog. Change-Files unter \acro{UNIX}, die ursprünglich von +Howard~Trickey und Pavel~Curtis entwickelt wurden. Tim~Morgan hat dieses +System, für das der Name Web-to-C\@ eingeführt wurde, gepflegt. +1990 hat Karl~Berry mit Unterstützung vieler Helfer die Weiterentwicklung +übernommen und 1997 an Olaf~Weber weitergegeben, der es 2006 wieder an +Karl zurück gab. + +\Webc{} läuft unter \acro{UNIX}, 32-bit-Versionen von Windows, \MacOSX{} +und auf weiteren Betriebssystemen. Es benutzt die +Original-Quelldateien von Donald E.~Knuth und weitere in der +Sprache {\web} entwickelte Programme als Basis und übersetzt diese +in C-Quell-Code. Darüber hinaus bietet das System viele Makros und +Funktionen zur Nutzung der originalen \TeX-Software. Hier eine +Liste der Basisprogramme eines \TeX-Systems: + +\begin{description} +%\renewcommand{\makelabel}[1]{\descriptionlabel{\mdseries\cmdname{#1}}} +\item[bibtex] Verwalten von Bibliographien +\item[dvicopy] Umwandeln von virtuellen Zeichensätzen in DVI-Dateien +\item[dvitomp] DVI-nach-MPX-Konverter (\MP-Bilder) +\item[dvitype] Textanzeige aus DVI-Dateien +\item[gftodvi] Erzeugen von Prüfausgaben für Zeichensätze +\item[gftopk] Packen von Zeichensätzen +\item[gftype] Anzeige von Zeichensätzen als ASCII-Graphik +\item[mf] Zeichensatzerzeugung +\item[mft] formatierte Ausgabe von \MF-Quellen +\item[mpost] \MF-ähnliches Grafikprogramm +\item[patgen] Erzeugen von Trennmustern +\item[pktogf] Entpacken von Zeichensätzen +\item[pktype] Anzeige gepackter Zeichensätze +\item[pltotf] Umwandeln von Property-Listen in \file{.tfm}-Dateien +\item[pooltype] Anzeige der Bildschirmtexte eines WEB-Programms +\item[tangle] Konverter {\web} nach Pascal +\item[tex] \TeX-Programm +\item[tftopl] Umwandeln einer \file{.tfm}-Datei in eine Property-Liste +\item[vftovp] Umwandeln eines virtuellen Zeichensatzes in eine Property-Liste +\item[vptovf] Umwandeln einer Property-Liste in einen virtuellen Zeichensatz +\item[weave] \web-Code als \TeX-Dokumentation +\end{description} + +Die genaue Funktionsweise und die möglichen Parameter sind der +Beschreibung der jeweiligen Pakete bzw.\ der \Webc-Dokumentation zu entnehmen. +Trotzdem wird ein Ãœberblick über Zusammenspiel und Funktionsweise der +\Webc-Programme Ihnen sicherlich helfen, besser mit dem System zurechtzukommen. + +Zunächst verstehen alle Programme die grundlegenden Parameter der +\acro{GNU}-Software: + +\begin{description} +\item[\texttt{-{}-help}] kurzer Hilfstext +\item[\texttt{-{}-verbose}] ausführliche Ausgaben beim Programmablauf +\item[\texttt{-{}-version}] Ausgabe der Versionsnummer +\end{description} + +\noindent Die Programme des \Webc-Systems benutzen zum Lokalisieren der benötigten +Dateien im Dateisystem die \KPS-Bibliothek (\url{http://tug.org/kpathsea}). Diese Bibliothek optimiert und +beschleunigt den Suchprozess im Dateisystem. Ihre Arbeitsweise wird durch +einige Umgebungsvariablen und eine Kon"-fi"-gu"-ra"-tions"-da"-tei gesteuert. +\Webc~7.5 kann mehr als einen Dateibaum gleichzeitig verwalten und ermöglicht +somit die schon beschriebene \TL-Installation unter Verwendung der +{\DVD} mit der Ablage modifizierter Konfigurationsdateien +und zusätzlicher Zeichensätze in einem zweiten Dateibaum. Die Suche +nach Dateien wird durch die Analyse der Datei \file{ls-R} beschleunigt, +die in jedem Wurzelverzeichnis eines \TeX-Dateibaums vorhanden ist. +Sie enthält für jede Datei die genaue Position im Dateibaum relativ +zum Wurzelverzeichnis. + +% ------------------------------------------------------------- +\subsection[Dateisuche mit der Kpathsea-Bibliothek]{Dateisuche mit der \protect\KPS-Bibliothek} +\label{sec:kpathsea} + +Wir beschreiben zunächst den grundlegenden Suchmechanismus der \KPS-Bibliothek. + +Ein \emph{Suchpfad} ist eine durch Kommata oder Semikola getrennte Liste von +\emph{Pfadkomponenten}, die üblicherweise Verzeichnisnamen darstellen. +Ein Suchpfad kann sich aus vielen Komponenten zusammensetzen. Die Suche nach +einer Datei \samp{my-file} über den Suchpfad \samp{.:/dir} bewirkt, dass +{\KPS} jede Komponente nacheinander überprüft, also zunächst +\samp{./my-file} und dann \samp{/dir/my-file}. Als Ergebnis wird entweder die +erste gefundene Datei oder eine Liste aller passenden Dateien geliefert. + +Um auf allen Dateisystemen effizient arbeiten zu können, verwendet {\KPS} ggf. andere +Datei-/""Verzeich"-nis-Separatoren als \samp{:} und \samp{/}. + +Beim Ãœberprüfen einer Pfadkomponente \var{p} überprüft {\KPS} zunächst, +ob eine Dateinamen"=Datenbank (siehe auch Dateinamen"=Datenbank auf +Seite~\pageref{sec:filename-database}) für die Pfadkomponente zuständig ist, +d.\,h. beispielsweise steht die Datenbank in einem Verzeichnis, das im Pfad +vor der zu überprüfenden Komponente \var{p} steht. In diesem Fall wird +zur Bestimmung der Position der gesuchten Datei die Datenbank herangezogen. + +Nur wenn keine passende Datenbank existiert oder wenn die Datei nicht +in der Datenbank gefunden wird, durchsucht {\KPS} das Dateisystem. Diese +zeitaufwändige Suche kann über die Spezifikation der Pfadkomponente \var{p} +mit dem Präfix \samp{!!}\ unterbunden werden. Zur Suche erzeugt {\KPS} eine +Liste der Verzeichnisse, die im Pfadelement enthalten sind, und durchsucht +jedes dieser Verzeichnisse nach der gesuchten Datei. + +Für Dateien kann auch ein Schalter \samp{file~must~exist} gesetzt +werden (">Datei muss vorhanden sein"<). Wenn dieser Schalter nicht +gesetzt ist und beispielsweise über das \TeX-Kommando +\cs{openin} eine VF-Datei wie \file{cmr10.vf} gelesen werden +soll, wäre es falsch, nach dieser Datei zu suchen, weil es sie gar +nicht gibt. Speziell für neu installierte VF-Dateien sollten Sie +also unbedingt die Dateinamen"=Datenbank (\cmdname{ls-R}) +aktualisieren, weil die Dateien sonst nicht gelesen werden und +kein Fehler angezeigt wird. Dieser Vorgang wiederholt sich für jede +Komponente eines Suchpfades: zunächst wird die Datenbank +überprüft, danach ggf. das Dateisystem. Wird die Datei gefunden, +stoppt die Suche (normalerweise) und als Ergebnis wird der komplette Pfad zur +gesuchten Datei ausgegeben. + +Außer Verzeichnisnamen dürfen Pfadkomponenten für {\KPS} folgende +Elemente enthalten: (verschachtelte) Vorgaben, Umgebungsvariablen, +Werte aus der Konfigurationsdatei, Home-Verzeich"-nisse von +Benutzern und Startverzeichnisse für eine rekursive Suche. Diese +Elemente werden vor einer Dateisuche von {\KPS} in gewöhnliche +Verzeichnis- oder Dateinamen expandiert. Diese Expansion wird in +den folgenden Abschnitten erklärt, und zwar genau in der +Reihenfolge, wie die Elemente auch von {\KPS} bearbeitet werden. + +Beachten Sie, dass {\KPS} bei absoluten und explizit relativen Komponenten, +d.\,h. wenn die Komponente mit den Zeichen \samp{/}, \samp{./} oder +\samp{../} beginnt, nur überprüft, ob die Datei existiert. + +\ifSingleColumn +\else + +\begin{figure*}[tp] +\verbatiminput{../texlive-common/examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{An illustrative configuration file sample} + \label{fig:config-sample} +\end{figure*} +\fi + +% .............................................................. +\subsubsection{Bestandteile von Pfadkomponenten}\label{Path-sources} +\label{sec:path-sources} + +Ein Suchpfad kann aus vielen verschiedenen Bestandteilen aufgebaut werden. +Dies sind in der Reihenfolge, wie {\KPS} sie auswertet: + +\begin{enumerate} +\item + eine benutzerdefinierte Umgebungsvariable, z.\,B. \envname{TEXINPUTS}: + Wird an den Inhalt der Variablen ein Punkt und ein Programmname angehängt, wie + beispielsweise bei \envname{TEXINPUTS.latex}, hat diese Form Vorrang + vor den ">gewöhnlichen"< Variablen. +\item + Einträge aus programmspezifischen Konfigurationsdateien, + beispielsweise zum Programm {\dvips} eine Zeile \samp{S /a:/b} + in der Konfigurationsdatei \file{config.ps} +\item + Einträge aus der \KPS-Konfigurationsdatei \file{texmf.cnf}, + z.\,B. \samp{TEXINPUTS=/c:/d} (siehe folgenden Text) +\item + Einstellung beim Ãœbersetzen der Programme +\end{enumerate} + +\noindent Unter Verwendung der Parameter zur Fehlersuche können Sie sich diese +Werte für einen Suchpfad auch anzeigen lassen. (Siehe dazu den Abschnitt +Fehlersuche auf Seite~\pageref{sec:debugging}.) + +% .............................................................. +\subsubsection{Konfigurationsdateien} + +%\tolerance=3500 +Die \KPS-Bibliothek liest zur Laufzeit die \emph{Konfigurationsdateien} mit den Namen +\file{texmf.cnf}. Der zugehörige Suchpfad zum Auf"|finden dieser +Konfigurationsdateien steht in der Umgebungsvariablen \envname{TEXMFCNF} +(die Voreinstellung ist \file{texmf/web2c}). {\KPS} liest \emph{alle} +Dateien mit den Namen \file{texmf.cnf}, die es in diesem Suchpfad findet. +Die zuerst gelesenen Definitionen haben dabei Vorrang vor später gelesenen +Werten. +Wenn der Suchpfad auf \dirname{.:\$TEXMF} steht, überschreiben die Einstellungen +in \file{./texmf.cnf} diejenigen in \dirname{\$TEXMF/texmf.cnf}. + +%\tolerance=1500 + +Im Folgenden wird die Syntax der Datei \file{texmf.cnf} angegeben. +Konsultieren Sie zum besseren Verständnis beim Lesen die auf der +{\acro{CDROM}} oder {\DVD} enthaltene Konfigurationsdatei. +%, die ab Seite~\pageref{app:texmf.cnf} im Anhang dieser Anleitung +% abgedruckt ist. + +\begin{itemize} +\item + Kommentare beginnen mit einem \samp{\%} und erstrecken sich bis zum + Zeilenende. +\item + Leerzeilen werden überlesen. +\item + Ein \samp{\bs} am Zeilenende fasst die aktuelle mit der folgenden Zeile + zusammen. Leerraum in der Folgezeile wird \emph{nicht} überlesen. +\item + Sonstige Zeilen haben den folgenden Aufbau: + +\begin{alltt} + \var{Variable}[.\var{Programmname}] [=] \var{Wert} +\end{alltt}% + + Das Zeichen ">="< und umgebender Leerraum dürfen entfallen. +\item + Der Name von \var{Variable} kann alle Zeichen außer Leerzeichen, + \samp{=} und \samp{.} enthalten. Verwenden Sie am besten nur die Zeichen + \samp{A-Za-z\_}. +\item + Wenn das Suffix ">\code{.\var{Programmname}}"< angegeben wird, gilt die + Variable nur für das entsprechende Programm ">\var{Programmname}"< oder + ">\code{\var{Programmname}.exe}"<. Auf diese Weise können + beispielsweise verschiedene + \TeX-Formate mit unterschiedlichen Suchpfaden arbeiten. +\item + \texttt{\var{Wert}} darf alle Zeichen außer \texttt{\%} und \texttt{@} + enthalten. + Die Einschränkung der Werte auf bestimmte Programme über ein Suffix + ist nicht zulässig. Ein \samp{;} in \texttt{\var{Wert}} wird unter + \acro{UNIX} in \samp{:} umgewandelt. Dadurch ist die Verwendung der gleichen + Konfigurationsdateien für \acro{UNIX} und \acro{DOS}/""Windows"=Systeme möglich. +\item + Die Definitionen werden komplett eingelesen, bevor eine Expansion + stattfindet. Dadurch können Sie die Variable schon vor Ihrer Definition + referieren. +\end{itemize} + +Der Ausschnitt einer Konfigurationsdatei demonstriert diese +Möglichkeiten. +\ifSingleColumn +\verbatiminput{../texlive-common/examples/ex5.tex} +\else +Betrachten Sie Abbildung~\ref{fig:config-sample}. +\fi + +% .............................................................. +\subsubsection{Expansion von Pfadkomponenten} +\label{sec:path-expansion} + +{\KPS} verwendet in Suchpfaden ähnliche Zeichen und Konstrukte wie +\acro{UNIX}-Shells. Beispielsweise wird die Definition +\verb|~$USER/{foo,bar}//baz| in alle Unterverzeichnisse von \file{foo} und +\file{bar} unterhalb vom Home-Verzeichnis von \dirname{\$USER} expandiert, +die eine Datei oder ein Unterverzeichnis namens \file{baz} enthalten. Der +Expansionsmechanismus wird im Folgenden erklärt. + +% .............................................................. +\subsubsection{Expansion der Voreinstellungen} +\label{sec:default-expansion} + +Wenn der Suchpfad mit der höchsten Priorität (siehe hierzu ">Bestandteile von +Pfadkomponenten"< auf Seite~\pageref{sec:path-sources}) einen zusätzlichen +(vorangestellten, nachgestellten oder verdoppelten) Doppelpunkt enthält, +wird an dieser Stelle der Suchpfad eingefügt, der als nächstes in der +Hierarchie folgt. Auch bei diesem gilt dieselbe Regel. Wenn beispielsweise +die Umgebungsvariable + +\begin{alltt} +> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} + +gesetzt wird (hier: C-Shell) und in \file{texmf.cnf} die Variable +\code{TEXINPUTS} folgenden Wert erhält + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} + +dann lautet der Suchpfad schließlich: + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +Da es sinnlos wäre, denselben Pfad mehrfach einzufügen, wird die Ersetzung +nur einmal vorgenommen, und zwar in der Reihenfolge vorne, hinten und +Mitte. Mehrfach verdoppelte Doppelpunkte bleiben unverändert. + +% .............................................................. +\subsubsection{Expansion geschweifter Klammern} + +Die Expansion geschweifter Klammern ist zur Definition mehrerer +\TeX-Hierarchien sehr nützlich. Beispielsweise wird |v{a,b}w| +zu |vaw:vbw|. Verschachtelungen sind dabei erlaubt. +Diese Technik wird dazu benutzt, durch eine Zuweisung an +\code{\$TEXMF} verschiedene \TeX-Hierarchien einzuführen. +Als Beispiel finden Sie in \file{texmf.cnf} folgende Definition +(etwas gekürzt, tatsächlich ist es etwas komplexer): +%(Zeile 75): %%%% to be checked !!!! checked&corrected vrws 01.06.05 + +\begin{verbatim} + TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN} +\end{verbatim} + +Eine Anwendung wie + +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +führt dann dazu, dass erst im aktuellen Verzeichnis gesucht wird, dann +im gesamten Dateibaum \code{\$TEXMFHOME/tex} und \code{\$TEXMFLOCAL/tex} +(auf der Festplatte) und +schließlich im gesamten Dateibaum \dirname{\$TEXMFVAR/tex} sowie +\code{\$TEXMFMAIN/tex} (nur in der Datenbank \file{ls-R}) +durchsucht wird. Dadurch kann man bequem +zwei parallel installierte \TeX-Hierarchien durchsuchen, +beispielsweise eine unveränderliche auf \acro{CDROM}/{\DVD} und eine dynamisch +angepasste auf Festplatte, in der neue Programmversionen und zusätzliche +Zeichensätze installiert werden. Durch die Verwendung der Variablen +\code{\$TEXMF} in allen Definitionen wird grundsätzlich zuerst der +neuere Dateibaum durchsucht. + +% .............................................................. +\subsubsection{Expansion von Unterverzeichnissen} +\label{sec:subdirectory-expansion} + +Zwei oder mehrere aufeinanderfolgende Schrägstriche (\texttt{//}) in +einer Pfadkomponente, die auf einen Verzeichnisnamen \var{d} folgen, +werden expandiert zu allen Unterverzeichnissen von \var{d}. Dieser +Vorgang findet rekursiv statt, wobei erst alle Verzeichnisse auf +einer Ebene bearbeitet werden, dann deren Unterverzeichnisse, usw. +Auf den jeweiligen Ebenen ist nicht beeinflussbar, in welcher +Reihenfolge die Unterverzeichnisse bearbeitet werden. + +Wenn nach den Schrägstrichen Namen angegeben werden, dann werden nur +Unterverzeichnisse mit passenden Namen in die Suche einbezogen. +Beispielsweise wird \samp{/a//b} in die Pfade \file{/a/1/b}, +\file{/a/2/b}, \file{/a/1/1/b} usw. expandiert, aber nicht +zu \file{/a/b/c} oder \file{/a/1}. +(Jeweils vorausgesetzt, dass die Verzeichnisse existieren.) + +Mehrere \samp{//}-Konstruktionen innerhalb einer Pfadkomponente +sind zulässig, allerdings nicht am Pfadanfang. + +% .............................................................. +\subsubsection{Liste der Sonderzeichen und ihre Bedeutung: eine Zusammenfassung} + +Die folgende Zusammenfassung fasst alle Sonderzeichen zusammen, die in den +\KPS"=Konfigurationsdateien auftreten können: + +% ++++++++++++++++++++++++ +\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} +% ++++++++++++++++++++++++ + +\begin{description} +\item[\CODE{:}] Trennzeichen für Pfadkomponenten; als erstes + oder letztes Zeichen im Pfad bewirkt es die + Expansion der Voreinstellungen. +\item[\CODE{;}] Trennzeichen für Pfadkomponenten für andere + Rechnerplattformen als \acro{UNIX} (Verwendung wie + ">\code{:}"<) +\item[\CODE{\$}] Expansion von Variableninhalten +\item[\CODE{\string~}] Home-Verzeichnis eines Benutzers (Tilde) +\item[\CODE{\char`\{...\char`\}}] Expansion geschweifter Klammern: + beispielsweise wird |a{1,2}b| zu |a1b:a2b|. +\item[\CODE{//}] Expansion von Unterverzeichnissen: tritt niemals + am Anfang einer Pfadkomponente auf. +\item[\CODE{\%}] Kommentar +\item[\CODE{\bs}] Konkatenation mit Folgezeile(n) +\item[\CODE{!!}] Einschränkung der Suche \emph{ausschließlich} auf die + Dateinamen"=Datenbank: Das Dateisystem wird \emph{nicht} + durchsucht! +\end{description} + +% ------------------------------------------------------------- +\subsection{Dateinamen"=Datenbanken} +\label{sec:filename-database} + +{\KPS} unternimmt etliche Anstrengungen, um den Zugriff auf Festplatte und +\acro{CDROM}/{\DVD} zur Suche nach Dateien zu reduzieren. Auf \TeX-Systemen mit +vielen Unterverzeichnissen kann die Suche in jedem möglichen Verzeichnis +nach einer bestimmten Datei eine lange Zeit in Anspruch nehmen, besonders +wenn einige Hundert Zeichensatzverzeichnisse durchforstet werden müssen. +Um dieses Problem abzumildern, benutzt {\KPS} eine Art Datenbankdatei +namens \file{ls-R}, die die Zuordnung von Dateinamen auf Verzeichnisse +enthält. Dadurch muss nicht jedesmal die Festplatte durchsucht werden. + +Eine zweite Datenbank in der Datei \file{aliases} kann eine Zuordnung +zwischen den Namen in \file{ls-R} und weiteren Namen vornehmen und so +beispielsweise hilfreich bei der Umsetzung von \samp{8.3}-\acro{DOS}-Dateinamen +auf die ">echten"<, aussagekräftigen Dateinamen zur Seite stehen. + +% .............................................................. +\subsubsection{Die \texttt{ls-R}-Datenbank} +\label{sec:ls-R} + +Wie schon öfters erwähnt, muss die Dateinamen"=Datenbank in der Datei +\file{ls-R} gespeichert sein. Sie sollten eine solche Datenbank für jede +\TeX-Hierarchie (normalerweise in \code{\$TEXMF}) Ihres Systems anlegen. +{\KPS} sucht die Datenbanken \file{ls-R} über den Pfad \code{TEXMFDBS}. + +Es wird empfohlen, die Pflege der \code{ls-R}-Dateien dem mitgelieferten +Skript \cmdname{mktexlsr} zu überlassen. Dieses Skript wird automatisch von den +verschiedenen \samp{mktex*}-Skripten aufgerufen. Das Skript ruft +grob gesagt den Befehl + +\begin{alltt} +cd /\var{your}/\var{texmf}/\var{root} && ls -LAR ./ >ls-R +\end{alltt} + +auf, falls das Kommando \code{ls} Ihres Rechners eine Ausgabe im richtigen +Format liefert. (So wie das \acro{GNU}-\code{ls}.) Wenn Sie ganz sichergehen +wollen, dass die Datenbank immer auf dem neuesten Stand ist, sollten Sie sie +in regelmäßigen Abständen mit Hilfe eines \cmdname{crontab}-Eintrags +aktualisieren lassen. Dadurch wird nach einer Installation eines +Pakets per Hand trotzdem sichergestellt, dass die Datenbank aktuell ist. + +Wenn eine Datei nicht über die Datenbank gefunden wird, sucht +{\KPS} normalerweise auf der Festplatte weiter. Wenn eine Pfadkomponente +mit \samp{!!} beginnt, wird dagegen niemals die Festplatte durchsucht. + +% .............................................................. +\subsubsection{\cmdname{kpsewhich}: Dateisuche} +\label{sec:invoking-kpsewhich} + +Mit dem Programm \cmdname{kpsewhich} können Sie unabhängig vom Aufruf +irgendeines \TeX-Programms nach Dateien in der \TeX-Hierarchie suchen +(als schnellere Alternative zu dem Befehl \cmdname{find}). Dies +wird von den verschiedenen \samp{mktex\dots}-Skripten bis zum +Exzess vorexerziert. + +\begin{alltt} +> \Ucom{kpsewhich \var{option}{\dots} \var{filename}{\dots}} +\end{alltt} + +Die Optionen werden entweder mit \samp{-} oder mit \samp{-{}-} eingeleitet. +Jede eindeutige Abkürzung ist zulässig. + +Argumente der Kommandozeile, die keine Optionen darstellen, werden als +Dateinamen interpretiert. Für jeden Dateinamen wird der erste passende +Pfad gemeldet. Um eine Liste aller passenden Pfade zu erhalten, müssen Sie +das \acro{UNIX}-Kommando \cmdname{find} aufrufen. + +Im Folgenden werden die häufiger benutzten Optionen beschrieben. + +\begin{description} +\item[\texttt{-{}-dpi=}\var{num}]\mbox{}\\ + Stellt die Auf"|lösung für die Suche nach Zeichensätzen + (nur \file{.gf} oder \file{.pk}) auf \var{num}\,dpi. Alternativ + kann die Option \optname{-D} (kommt von \dvips) benutzt werden. + Voreinstellung ist~600. +\item[\texttt{-{}-format=}\var{name}]\mbox{}\\ + Setzt das Format zur Suche auf \var{name}. Per Voreinstellung + versucht \cmdname{kpsewhich} das Format über den Dateinamen + zu erschließen. Bei Formaten ohne zugeordnete Namens\-endung wie den + zu {\MP} gehörenden Dateien und den Konfigurationsdateien zu + {\dvips} müssen Sie den entsprechenden Namen so eingeben, wie er + \KPS{} bekannt ist. +\item[\texttt{-{}-mode=}\var{string}]\mbox{}\\ + Setzt für die Zeichensatzsuche den Generierungsmodus (betrifft nur + \file{.gf}- oder \file{.pk}-Dateien). Normalerweise werden alle + Zeichensätze gemeldet. +\item[\texttt{-{}-must-exist}]\mbox{}\\ + Es wird versucht, die Dateien notfalls durch eine Suche auf der + Festplatte zu finden. Normalerweise wird nur die \file{ls-R}-Datenbank + konsultiert. +\item[\texttt{-{}-path=}\var{string}]\mbox{}\\ + Sucht entlang des angegebenen Pfads statt des Standardpfads, + der auf Grund der Endung gewählt wird. Alle Expansionen sind + zulässig. Bei Verwendung der Option \texttt{-{}-path} darf nicht + die Option \texttt{-{}-format} angegeben werden. +\item[\texttt{-{}-progname=}\var{name}]\mbox{}\\ + Setzt den Programmnamen für die genauere Variablenspezifikation + über \samp{.\var{Programmname}}. Voreinstellung ist \samp{kpsewhich}. +\item[\texttt{-{}-show-path=}\var{name}]\mbox{}\\ + Zeigt den Suchpfad für die angegebene Namens\-endung. Diese kann entweder + als Namens\-endung (\samp{.pk}, \samp{.vf}, usw.) oder als Name (wie bei der + Option \optname{-{}-format}) spezifiziert werden. +\item[\texttt{-{}-debug=}\var{num}]\mbox{}\\ + Legt den Umfang für die Fehlersuche fest. +\end{description} + +% .............................................................. +\subsubsection{Anwendungsbeispiele} +\label{sec:examples-of-use} + +Wir schauen uns nun die Funktionsweise von {\KPS} anhand einiger Beispiele an. + +\begin{alltt} +> \Ucom{kpsewhich article.cls} + /usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} + +Wir suchen unter den \TeX-Quelldateien nach der Datei \file{article.cls}. +Da die Namens\-endung \samp{.cls} eindeutig ist, müssen wir den Typ +\samp{.tex} nicht angeben. Die \samp{texmf-dist}-Hierarchie enthält die +Datei im Unterverzeichnis \dirname{tex/latex/base}. Ähnlich bereiten +die folgenden Beispiele auf Grund eindeutiger Namens\-endungen keine Probleme. + +\begin{alltt} +> \Ucom{kpsewhich array.sty} + /usr/local/texmf-dist/tex/latex/tools/array.sty +> \Ucom{kpsewhich latin1.def} + /usr/local/texmf-dist/tex/latex/base/latin1.def +> \Ucom{kpsewhich size10.clo} + /usr/local/texmf-dist/tex/latex/base/size10.clo +> \Ucom{kpsewhich small2e.tex} + /usr/local/texmf-dist/tex/latex/base/small2e.tex +> \Ucom{kpsewhich tugboat.bib} + /usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib +\end{alltt} + +Beim letzten Beispiel handelt es sich übrigens um eine \BibTeX-Literaturdatenbank +für \textsl{TUGBoat}-Artikel. + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} + +Zeichensatzdateien mit der Namens\-endung \samp{.pk} werden +von Anzeige- oder Druckaufbereitungsprogrammen wie {\dvips} und +\cmdname{xdvi} verwendet. Nachdem wir aufgrund der Voreinstellung keine \file{.pk}-Dateien verwenden, +sondern die \PS-\TypeI-Zeichensätze, die auf der \acro{CDROM}/{\DVD} enthalten +sind, wird auch keine \file{.pk}-Datei angezeigt. + +\begin{alltt} +> \Ucom{kpsewhich wsuipa10.pk} +\ifSingleColumn /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk +\else /usr/local/texmf-var/fonts/pk/ljfour/public/ +... wsuipa/wsuipa10.600pk +\fi\end{alltt} +Für diesen Zeichensatz (Teil der \acro{IPA}-Fonts% +\footnote{\acro{IPA}: International Phonetic Alphabet} +von der Universität von Washington) liegen noch keine +\TypeI-Umsetzungen vor und \samp{.pk}-Dateien müssen generiert werden. Da unser voreingestellter \MF-Modus +\samp{ljfour} eine Auf"|lösung von 600\,dpi besitzt, +finden wir (nachdem er schon einmal gebraucht und automatisch +erzeugt wurde) eine entsprechende Instanz dieses Zeichensatzes. + +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} + +Durch die Angabe ">\optname{-dpi=300}"< interessieren wir uns nur +für Zeichensätze mit der Auf"|lösung 300\,dpi. Es wurde keiner gefunden. +Programme wie {\dvips} oder \cmdname{xdvi} lassen einen solchen fehlenden +Zeichensatz durch den Aufruf des Skripts \cmdname{mktexpk} mit entsprechenden +Parametern automatisch erzeugen. + +Als nächstes wenden wir uns den Header- und Konfigurationsdateien +von {\dvips} zu. +Zunächst suchen wir nach der Konfiguration für die \TeX-Unterstützung, +dem Prolog \file{tex.pro}. Danach suchen wir die allgemeine Konfigurationsdatei +(\file{config.ps}) und schließlich die \PS-Zeichensatzzuordnungsdatei +\file{psfonts.map}. Dateien dieser Art haben seit der 2004er-Version der {\TL} ihre eigenen Suchpfade und einen neuen Aufbewahrungsort im \OnCD{texmf}-Baum. Da die Namens\-endung \samp{.ps} nicht eindeutig ist, +müssen wir den gewünschten Typ (\samp{dvips config}) +für die Datei \file{config.ps} spezifizieren. + +\begin{alltt} +> \Ucom{kpsewhich tex.pro} + /usr/local/texmf/dvips/base/tex.pro +> \Ucom{kpsewhich --format="dvips config" config.ps} + /usr/local/texmf/dvips/config/config.ps +> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map +\end{alltt} + +Jetzt suchen wir nach den Dateien für den \PS-Zeichensatz ">URW Times"<. +Nach dem Namensschema von Karl~Berry beginnen die Namen mit ">\texttt{utm}"<. +Zunächst suchen wir die Konfigurationsdatei, die den Namen der +Zeichensatzzuordnungsdatei enthält. + +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" config.utm} + /usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} + +Diese Datei enthält folgende Anweisung: + +\begin{alltt} + p +utm.map +\end{alltt} + +Die angegebene Datei \file{utm.map} wollen wir als nächstes suchen: + +\begin{alltt} +> \Ucom{kpsewhich utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} + +Diese Zuordnungsdatei wird im Unterverzeichnis \file{urw} bei den +Hilfsdateien für {\dvips} gefunden. Sie enthält die Dateinamen der +\TypeI-\PS-Zeichensätze, die für URW Times benutzt werden. Ein +kleiner Auszug aus dieser Datei: + +\begin{alltt} + utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb + utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb + utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb + utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb + utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb + utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} + +Wenn wir jetzt beispielsweise nach dem Zeichensatz Times Regular +(\file{utmr8a.pfb}) suchen, finden wir ihn im +Verzeichnis \OnCD{texmf} unter den \TypeI-Zeichensätzen: + +\begin{alltt} +> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +\else /usr/local/texmf-dist/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + +Diese Beispiele sollten deutlich gemacht haben, wie leicht bestimmte Dateien +im \TeX-Dateibaum gefunden werden können. Dies ist sehr wichtig, wenn Sie +den Verdacht haben, dass eine falsche Version einer Datei verwendet wird: +Sie lassen sich einfach die verwendete Datei von \cmdname{kpsewhich} +anzeigen. + +% .............................................................. +\subsubsection{Fehlersuche} +\label{sec:debugging} + +Manchmal ist wichtig, bis ins Detail nachzuvollziehen, wie ein Programm eine +bestimmte Datei findet. Zu diesem Zweck bietet die \KPS-Bibliothek verschiedene +Stufen für den Umfang der Fehlersuche an. + +\begin{itemize} +\item[\texttt{\ 1}] \code{stat}-Aufrufe (Ãœberprüfung, ob Datei + existiert); mit einer aktuellen \file{ls-R}-Datenbank sollten Sie fast + keine Meldungen erhalten. +\item[\texttt{\ 2}] Zugriffe auf Suchlisten (wie \file{ls-R}-Datenbanken, + Zuordnungsdateien (\texttt{.map}), Konfigurationsdateien) +\item[\texttt{\ 4}] Öffnen und Schließen von Dateien +\item[\texttt{\ 8}] Auf"|listen der voreingestellten Pfade für Extensionen +\item[\texttt{16}] Verzeichnisliste für jede Pfadkomponente (nur bei Festplattenzugriff) +\item[\texttt{32}] Suchaktionen nach Dateien +\item[\texttt{64}] Werte von Variablen. +\end{itemize} + +Durch die Angabe von \samp{-1} setzen Sie alle Stufen gleichzeitig. +Für eine effiziente Fehlersuche sollten Sie sich auf die wichtigsten +Ausgaben beschränken. + +Für {\dvips} gibt es einen ähnlichen Mechanismus zur Erzeugung +von Analysemeldungen, um herauszufinden, warum bestimmte Dateien geöffnet +wurden bzw.\ wo vielleicht das Problem liegt, wenn Dateien nicht gefunden +werden. + +Da fast alle Programme die \KPS-Bibliothek benutzen, können Sie die +gewünschte Stufe auch über die Umgebungsvariable \envname{KPATHSEA\_DEBUG} +einstellen, indem Sie einen der Werte oder eine additive Kombination +spezifizieren. + +Anmerkung für Windows-Benutzer: Es ist nicht einfach, alle Meldungen in eine Datei umzulenken. Für die Fehlersuche +jedoch ist die folgende (temporäre!) Vereinbarung sinnvoll: + +\indent\texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log} + +Wir betrachten als Beispiel eine kleine \LaTeX-Quelldatei mit dem Namen +\file{hello-world.tex} mit folgendem Inhalt: + +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} + +Diese Datei verwendet nur einen Zeichensatz, nämlich \file{cmr10}. Wir sehen uns +jetzt einmal genau an, wie {\dvips} die \PS-Datei erzeugt. +Da wir die \TypeI-Variante der Computer-Modern-Roman-Zeichensätze +verwenden wollen, haben wir die Option \optname{-Pcms} verwendet. + +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} + +Hier haben wir als Stufe zur Fehlersuche eine Kombination der Stufe~\code{4} von +{\dvips} (siehe \dvips-Handbuch, +\dirname{texmf/doc/html/dvips/dvips\_toc.html}?). +%\ifSingleColumn +%We get something +%like the following (we have rearranged the output for easier display): +%\begin{alltt}\small +%\input{examples/ex6.tex} +%\end{alltt} +%\else +Die Ausgabe sieht ungefähr so wie in +Abbildung~\ref{fig:dvipsdbga} dargestellt aus (die Ausgabe wurde für einen besseren Ãœberblick +etwas umgestaltet). + +\begin{figure*}[tp] +\centering +\input{examples/ex6a.tex} +\caption{Suche nach Konfigurationsdateien}\label{fig:dvipsdbga} + +\bigskip + +\input{examples/ex6b.tex} +\caption{Suche nach Prologdateien}\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{Suche nach Font-Dateien}\label{fig:dvipsdbgc} +\end{figure*} + +Zunächst sucht {\dvips} (bzw.\ \KPS) seine Konfigurationsdateien, +nämlich \file{texmf.cnf} (das die Pfade der anderen Dateien enthält), +dann die Dateinamen"=Datenbank \file{ls-R} (zur Optimierung der Suche) +und die Datei \file{aliases}, mit deren Hilfe für eine Datei +mehrere Namen vereinbart werden können, z.\,B. um die kurzen +\samp{8.3}-\acro{DOS}-Namen mit aussagefähigen, langen Namen zu assoziieren. +Danach wird die allgemeine \dvips-Konfigurationsdatei +\file{config.ps}, anschließend die benutzerspezifische Konfigurationsdatei +\file{.dvipsrc} (wird hier \emph{nicht} gefunden) gesucht. +Als letztes sucht {\dvips} die Zuordnungsdatei für +Computer-Modern-{\PS}"=Zeichensätze \file{config.cms} (bedingt durch die +Option \optname{-Pcms} beim Aufruf von \dvips). Diese +Datei enthält die Dateinamen der Listen, die die Zuordnung zwischen +Dateinamen und Zeichensatznamen herstellen. + +\begin{alltt} +> \Ucom{more /usr/local/texmf/dvips/cms/config.cms} + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map +\end{alltt} + +{\dvips} versucht, diese Dateien und zusätzlich die +allgemeine Zeichensatzzuordnungstabelle \file{psfonts.map} zu +laden, die immer konsultiert wird; der letzte Teil von +Abschnitt~\ref{sec:examples-of-use} erklärt diese Tabellen genauer. + +Jetzt erfolgt die normale Startmeldung von \dvips: + +\begin{alltt}\ifSingleColumn +dvips(k) 5.94a +kpathsea version +Copyright (C) 2003 Radical Eye Software. +... +\else\small{}dvips(k) 5.94a +kpathsea version +Copyright (C) 2003 Radical Eye Software. +... +\fi\end{alltt}% decided to accept slight overrun in tub case +\ifSingleColumn +Danach wird nach \file{texc.pro} gesucht: + +\begin{alltt}\small +kdebug:start search(file=texc.pro, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro +\end{alltt} +\else +Danach wird nach \file{texc.pro} gesucht (siehe Abbildung~\ref{fig:dvipsdbgb}). +\fi +Dann gibt {\dvips} Datum und Uhrzeit aus und meldet den Dateinamen +der erzeugten \PS-Datei \file{hello-world.ps}. Jetzt wird die +Zeichensatzdatei \file{cmr10} benötigt, die {\dvips} als +">resident"< meldet. + +\enlargethispage{1ex} +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} + +Es geht weiter mit \file{cmr10.tfm} und einigen weiteren Prologdateien, +deren Ausgaben wir hier weglassen. Letztlich wird die \TypeI-Zeichensatzdatei +\file{cmr10.pfb} gesucht (und gefunden) und in die Ausgabedatei integriert +(siehe letzte Zeile). + +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +% ------------------------------------------------------------- +\subsection{Einstellungen zur Laufzeit} + +Zu den willkommenen Erweiterungen von {\Webc} zählt die Möglichkeit, +zur Laufzeit einige Speicher"-größen über die Datei \file{texmf.cnf} anpassen +zu können (insbesondere die Größe einiger Stacks). Eine ausführliche Liste +der veränderbaren Parameter finden Sie in der Datei \file{texmf.cnf}. +Die wichtigsten Werte sind: + +\begin{description} +\item[\texttt{main\_memory}]\mbox{}\\ + Arbeitsspeicher für \TeX, {\MF} und {\MP} in Worten: Für jede Einstellung + muss eine eigene Format-Datei erstellt werden. Allerdings können Sie + mehrere Versionen von {\TeX} unter verschiedenen Namen erzeugen und + in der Konfigurationsdatei jeweils eigene Einträge vorsehen. Hier gibt + es ein Monster-{\TeX} namens \samp{hugetex} mit der zugehörigen Format-Datei + \file{hugetex.fmt}, wobei der spezielle Wert der + Variablen \texttt{main\_memory} dann + aus der Datei \file{texmf.cnf} gelesen wird. +\item[\texttt{extra\_mem\_bot}]\mbox{}\\ + Extraspeicher für ">große"< \TeX-Datenstrukturen wie Boxen, Glue, + Breakpoints, usw.: Besonders bei Anwendung von {\PiCTeX} sollte dieser + Wert erhöht werden. +\item[\texttt{font\_mem\_size}]\mbox{}\\ + Anzahl der Worte für Speicherung von Zeichensatzinformationen: Entspricht + ungefähr dem Speicherbedarf der gelesenen \acro{TFM}-Dateien. +\item[\texttt{hash\_extra}]\mbox{}\\ + Zusätzlicher Platz für Suchlisten: In der Hauptliste können + ca. 10000~Einträge verwaltet werden. Bei einem Buch mit vielen Querverweisen + reicht dieser Platz unter Umständen nicht aus. + Die Voreinstellung für \texttt{hash\_extra} ist \texttt{50000}. +\end{description} + +Natürlich sind diese Parameter kein Ersatz für eine wirklich dynamische +Speicherverwaltung. Mit der gegenwärtigen Version von {\TeX} ist dieses +Konzept aber nur extrem schwer zu implementieren; darum stellt dieses +Verfahren eine praktikable Lösung dar. + +\begin{comment} +%\clearpage +% ============================================================== +\section{Installation von {\TeX} auf einer neuen \acro{UNIX}-Plattform} + +Wenn Sie eine Rechnerplattform einsetzen, für die wir keine Binärdateien +zur Verfügung gestellt haben, müssen Sie {\TeX} und die zugehörigen +Programme mit Hilfe der Quell-Codes selbst übersetzen. Das ist gar nicht so +schwer, wie es klingt. Alles, was Sie brauchen, finden Sie auf der {\DVD} +im Verzeichnis \texttt{source}. + +Zunächst sollten Sie jedoch die von {\TeX} benötigten Dateien durch +eine Installation ohne Binärdateien auf die Festplatte kopieren bzw. +durch ">Mounten"< der {\DVD} verfügbar machen. + +% ------------------------------------------------------------- +\subsection{Voraussetzungen} + +Zum Ãœbersetzen von {\TeX} und allen weiteren benötigten +Programmen benötigen Sie ca. 100\,MB Festplattenkapazität. +Dazu kommen ein \acro{ANSI}-C-Compiler, \cmdname{make} sowie +ein Scanner- und Parser-Generator. Die \acro{GNU}-Programme +(\cmdname{gcc}, \acro{GNU}-\cmdname{make}, \cmdname{m4}, +\cmdname{flex} und \cmdname{bison}) sind praxiserprobt +und auf den meisten Plattformen verfügbar. Eventuell können +Sie auch andere C-Compiler oder \cmdname{make}-Programme einsetzen, +doch dann sollten Sie sich wirklich gut mit Ihrem System auskennen, +wenn es Schwierigkeiten während des Ãœbersetzungsprozesses gibt. +Der Befehl \cmdname{uname} muss einen gültigen Namen liefern. + +% ------------------------------------------------------------- +\subsection{Konfiguration} + +\begin{itemize} +\item Beginnen Sie mit einer ganz normalen \TL-Installation auf +Festplatte (siehe Abschnitt~\ref{sec:install-disk} auf +Seite~\pageref{sec:install-disk}). Das Installieren der +fertigen Binaries können Sie getrost überspringen. + +\item Dann entpacken Sie das komprimierte Archiv (\cmdname{tar}) in +\dirname{source} auf Ihre Festplatte und wechseln in dieses Verzeichnis. + +\item Legen Sie einen Pfad fest, unter dem das \TeX-System +installiert werden soll. Natürlich sollte das derselbe Pfad sein, +den Sie schon zum Kopieren der Daten verwendet haben +(z.\,B. \dirname{/usr/local} oder \dirname{/usr/local/TeX}). +\end{itemize} + +Die automatische Systemerkennung und -anpassung wird durch +\textsf{configure} mit folgendem Aufruf gestartet: + +\begin{alltt} +> \Ucom{./configure -prefix=/usr/local/TeX} +\end{alltt} + +Bei der Option \optname{prefix} geben Sie das Verzeichnis an, in dem sich die +bereits kopierten \TL-Dateien befinden; +dieses Verzeichnis wird weiter strukturiert (\dirname{\$TEXDIR} +ist dabei das Installationsverzeichnis): + + +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{\$TEXDIR/man} & Anleitungen im + \acro{UNIX}-\cmdname{man}-Format\\ + \dirname{\$TEXDIR/share/texmf} & \TeX-Daten mit Zeichensätzen, + Makros, usw.\\ + \dirname{\$TEXDIR/info} & Anleitungen im + \acro{GNU}-\cmdname{info}-Format\\ + \dirname{\$TEXDIR/bin/\$PLATFORM} & ausführbare Programme\\ +\end{tabular} +%$ + +Wenn Sie wollen, können Sie ">\dirname{share/}"< als Namensbestandteil +von \OnCD{texmf} weglassen, da sowohl +\dirname{\$TEXDIR/share/texmf} als auch \dirname{\$TEXDIR/texmf} +automatisch von \cmdname{configure} erkannt werden. Sollten Sie ein anderes +Verzeichnis vorziehen, müssen Sie dieses \cmdname{configure} mit dem +Kommandozeilenparameter \optname{-{}-datadir} mitteilen. + +Wenn Sie die erkannte Plattform nicht als \dirname{\$PLATFORM} im +Pfad der ausführbaren Programme haben wollen, sondern z.\,B. +direkt in \dirname{\$TEXDIR/bin} installieren wollen, verwenden Sie +die Option \optname{-{}-disable-multiplatform}. + +Zum Weglassen spezieller \TeX-Systeme wie {\OMEGA} oder {\eTeX} gibt +es eine Reihe von Optionen, die Sie durch die Eingabe von +\samp{./configure --help} angezeigt bekommen. + +% ------------------------------------------------------------- +\subsection{Aufruf von \cmdname{make}} + +Vergewissern Sie sich, dass die Shell-Variable \envname{noclobber} nicht +gesetzt ist und geben + +\begin{alltt} +> \Ucom{make world} +\end{alltt} + +ein. Jetzt können Sie sich entspannt zurücklehnen oder wie ein +{\TeX}ie sagt: |\relax|. + +Eine gute Idee ist auch das Speichern der Meldungen beim +Ãœbersetzen durch das Anlegen eines Protokolls: + +\begin{alltt} +> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} + +Nehmen Sie nicht fälschlicherweise nach dem Durchlauf von \cmdname{make} +an, dass alles gut gegangen ist, sondern vergewissern sich durch eine +Kontrolle des Protokolls. (\acro{GNU} \cmdname{make} zeigt Fehler +z.\,B. immer mit der Zeichenkette ">\texttt{***}"< an.) +Außerdem sollten Sie sich vergewissern, dass alle ausführbaren +Programme auch erzeugt wurden: + +\begin{alltt} +> \Ucom{cd \var{TEXDIR}/bin/\var{archname}} +> \Ucom{ls | wc} +\end{alltt} + +Das Ergebnis sollte über 200 liegen (Sie können die exakte Zahl +mit der Anzahl der lauf"|fähigen Programme [Binaries] im Verzeichnis \OnCD{bin} vergleichen). +Der Aufruf \samp{make~world} ist übrigens äquivalent zu +\samp{make~all~install~strip}. + +Wenn für den Aufruf von \samp{make~install} besondere +Systemverwalterrechte notwendig sein sollten, können Sie die +Anweisung \samp{make~world} auch in zwei Durchgängen absetzen: + +\begin{alltt} +> \Ucom{make all} +> \Ucom{su} +> \Ucom{make install strip} +\end{alltt} + +Nachdem Sie Ihre Binaries installiert haben, sollten Sie die normalen +Installationsnacharbeiten durchführen, die im Abschnitt~\ref{sec:postinstall} +auf Seite~\pageref{sec:postinstall} beschrieben sind. + +Wenn Sie lauf"|fähige Programme erstellt haben und diese Anderen zur Verfügung stellen wollen, sollten Sie uns kontaktieren. Wir würden uns freuen, sie auf den \TL-\acro{WWW}-Seiten anzubieten. +\end{comment} + +% ============================================================== +\htmlanchor{ack} +\section{Danksagungen} + +Die {\TL} ist eine gemeinsame Arbeit faktisch aller {\TeX} Users +Groups. + +Die Entwicklung des vorliegende \TL-Release wurde von Karl~Berry geleitet; +die übrigen Haupt-Mitarbeiter sind im Folgenden aufgelistet. + +\begin{itemize} +\item Den englisch-, deutsch-, niederländisch-, und polnisch-sprachigen + \TeX-Anwendervereinigun\-gen (\acro{TUG}, \acro{DANTE} e.V., + \acro{NTG}, and \acro{GUST}), + die zusammen die technische und administrative Infrastruktur + zur Verfügung stellen. Wir würden uns freuen, wenn Sie bei einer der + Anwendervereinigungen Mitglied werden. +\item Dem \acro{CTAN} Team, insbesondere Robin Fairbairns, Jim Hef{}feron, + und Rainer Schöpf, das die \TL{}-CD-Images und die Infrastruktur + für Paketupdates zur Verfügung stellt, von denen \TL{} abhängt. +\item John Bowman, der viele Änderungen an dem Grafikprogramm Asymptote + vornam, damit es als Teil von \TL\ arbeitet. +\item Peter Breitenlohner und dem \eTeX\-Team für den stabilen Grundstock zu {\TeX}s Zukunft, und Peter speziell für wertvolle Hilfe zum Verwenden + von GNU autotools in \TL; +\item Jin-Hwan Cho und allen Mitgliedern des DVIPDFM$x$-Teams für deren + exzellentes Programm und Mithilfe bei Konfigurationsfragen. +\item Thomas~Esser, der mit dem exzellenten {\teTeX} die Basis + für dieses {\TL} schuf; +\item Michel~Goossens, als Coautor der englischen Original-Dokumentation; +\item Eitan~Gurari, mit dessen {\TeX4ht} die \HTML-Version dieser + Anleitung erstellt wurde und der unermüdlich daran gearbeitet + hat, es auf Zuruf zu verbessern. Eitan~Gurari verstarb leider im Juni + 2009, diese Anleitung ist seinem Andenken gewidmet. +\item Hans Hagen, für zahlreiche Tests und Aktivitäten, damit \ConTeXt{} + (\url{http://pragma-ade.com}) ein Teil von \TL sein kann; +\item \Thanh, Martin~Schröder und das pdf\TeX-Team (\url{http://pdftex.org}), + die die Arbeiten zur Erweiterung der Möglichkeiten von + {\TeX} fortgesetzt haben; +\item Taco Hoekwater, für neue Entwicklungen von MetaPost und (Lua)\TeX\ + (\url{http://luatex.org}), und ebenfalls für die Unterstützung beim + \ConTeXt-Teil von \TL, Weiterentwicklungen von Kpathsea und vieles mehr; +\item Klaus Höppner u.\,a. für die Betreuung dieses Dokuments +\item Pawe{\l} Jackowski für das Installationsprogramm \cmdname{tlpm} für + Windows, + Tomasz {\L}uczak für \cmdname{tlpmgui} in früheren Versionen von \TL; +\item Akira Kakuto, für Windows-Programme im Rahmen seines + \acro{W32TEX} Distribution + (\url{http://www.32tex.org/}); + +\item Jonathan Kew für die + Entwicklung von Xe\TeX{} und die Zeit und Mühe, es in \TL{} zu + integrieren, sowie für die erste Version des Mac\TeX-Installers, + und für das von uns als Oberfläche empfohlene \TeX works; + +\item Dick Koch für die Betreuung von Mac\TeX\ (\url{http://tug.org/mactex}); + + +\item Reinhard Kotucha, für die Unterstützung bei der Infrastruktur von + \TL{} und das Installationsprogramm, für seine Windows-Untersuchungen, für das \texttt{getnonfreefonts} + Script, und vieles mehr; + +\item Siep Kroonenberg, für wertvolle Beiträge zur Infrastruktur von + \TL\,2008 und den Installer, insbesondere unter Windows, und für einen + Großteil der Arbeit, die Dokumentation dafür zu schreiben; + +\item Heiko Oberdiek für das Paket \pkgname{epstopdf} (und viele weitere), + für die Kompression der riesigen Datenmengen von \pkgname{pst-geo}, + so dass sie in \TL\ passten, und natürlich für seine Arbeit an + \pkgname{hyperref}. + +\item Petr~Olsak, der das tschechische und slowakische Material sehr sorgfältig er- und überarbeitet hat; + +\item Toshio Oshima, für den \cmdname{dviout}-Previewer für Windows; + +\item Manuel P\'egouri\'e-Gonnard, für die Mithilfe beim Aktualisieren + von Paketen, der Dokumentation und Arbeit an \cmdname{texdoc}; + +\item Fabrice Popineau für die erste Windows-Version von \TL und Mithilfe + bei der französischen Dokumentation; + +\item Norbert Preining, Hauptkoordinator für \TL{}-Infrastruktur und + den Installer, für die Koordination der Debian Version von \TL{} + (zusammen mit Frank Küster), und die daraus resultierenden + Verbesserungsvorschläge; + +\item Sebastian Rahtz für die Erfindung von \TL und die langjährige + Leitung des Projekts; + +\item Phil Taylor, der die BitTorrent-Downloads eingeführt hat; + +\item Tomasz Trzeciak für seine Hilfe mit Windows; + +\item Vladimir Volovich für viele substanzielle Mithilfe, und dafür, dass + er es möglich gemacht hat, \cmdname{xindy} in \TL aufzunehmen; + +\item Staszek~Wawrykiewicz, der Haupttester für alles, was mit {\TeX} zusammen hängt, Koordinator der polnischen + Beiträge, Windows-Installation und mehr; + +\item Olaf~Weber für die Geduld beim Pflegen von \Webc; +\item Gerben~Wierda für das Erstellen und Pflegen des ursprünglichen \MacOSX-Teils und für viele Integrations- und Testarbeiten; +\item Graham~Williams, dessen Arbeit das Makro- und Paketverzeichnis möglich gemacht hat. +\end{itemize} + +\textbf{Lauf"|fähige Programme:} +Alan Braslau (\pkgname{amd64-kfreebsd}, \pkgname{i386-kfreebsd}), +Peter Breitenlohner (\pkgname{x86\_64-linux}), +Karl Berry (\pkgname{i386-linux}, \pkgname{sparc-linux}), +Ken Brown (\pkgname{i386-cygwin}), +Akira Kakuto (\pkgname{win32}), +Dick Koch (\pkgname{universal-darwin}, \pkgname{x86\_64-darwin}), +Nikola Le\v{c}i\'c (\pkgname{amd64-freebsd}, \pkgname{i386-freebsd}), +Norbert Preining (\pkgname{alpha-linux}), +Jukka Salmi (\pkgname{i386-netbsd}), +Thomas Schmitz (\pkgname{powerpc-linux}), +Apostolos Syropoulos (\pkgname{i386-solaris}, \pkgname{x86\_64-solaris}), +Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-solaris}), +Olaf Weber (\pkgname{mips-irix}). + +Informationen dazu, wie Binaries für \TL{} erzeugt werden, +finden sich unter \url{http://tug.org/texlive/build.html}. + +\textbf{Ãœbersetzungen der Dokumentation:} + +\begin{itemize*} +\item Boris Veytsman (Russisch) +\item Jjgod Jiang, Jinsong Zhao, Yue Wang, \& Helin Gai (Chinesisch) +\item Klaus Höppner (Deutsch) +\item Manuel P\'egouri\'e-Gonnard (Französisch) +\item Marco Pallante (Italienisch) +\item Nikola Le\v{c}i\'c (Serbisch) +\item Petr~Sojka \& Jan~Busa (Tschechisch/""Slowakisch), +\item Staszek~Wawrykiewicz (Polnisch). +\end{itemize*} + +Natürlich haben wir am meisten Donald~Knuth zu danken, einmal dafür, dass er {\TeX} erfand und dann dafür, dass er es +der Welt schenkte. + +% ------------------------------------------------------------- +\section{Geschichtliches}\label{sec:history} + +Diese Ausgabe der {\TL} ist in Zusammenarbeit der \TeX{} Users Group (\acro{TUG}), der +\acro{UKTUG}, der französischen \TeX-Vereinigung GUTenberg +und der deutschsprachigen \TeX-Anwendervereinigung (DANTE e.\,V.) +unter Mithilfe der niederländischen, tschechischen/""slowakischen, +indischen, polnischen und russischen \TeX-Benutzergruppen +entstanden. + +\subsection{Vergangenheit} + +Die niederländische \TeX-Benutzergruppe hatte Ende 1993 mit der +Produktion der 4All\TeX-{\acro{CDROM}} für \acro{MS-DOS} die Diskussion angeregt, +eine einzige {\acro{CDROM}} für alle Rechnersysteme zu entwickeln. Zum +damaligen Zeitpunkt war dieses Ziel zu hoch gesteckt, doch immerhin +entstand aus dieser Diskussion nicht nur die sehr erfolgreiche +4All\TeX-{\acro{CDROM}}, sondern auch die \acro{TUG}-Arbeitsgruppe zur Definition +der {\TeX} Directory Structure \TDS, die die zur Arbeit mit {\TeX} +notwendigen und hilfreichen Dateien in eine konsistente und +handhabbare Verzeichnisstruktur einbettet. Das ">Final~Draft"<-Dokument, +das diese Verzeichnisstruktur festlegt, wurde in der Dezember-Ausgabe +1995 der TUGBoat veröffentlicht. Schon frühzeitig war den Beteiligten +klar, dass eine {\acro{CDROM}} auf der Basis der {\TDS} sehr zu begrüßen wäre. +Die \TL-{\acro{CDROM}} war das direkte Resultat der Beratungen der +\TDS-Arbeitsgruppe. Außerdem hat der Erfolg der 4All\TeX-{\acro{CDROM}} +klargemacht, dass ein ähnliches System auch für \acro{UNIX}-Benutzer eine +Erleichterung darstellen würde. Dies war der zweite Beweggrund für +die \TL-\acro{CDROM}. + +Im Herbst 1995 wurde das Projekt, eine \TDS-basierte \acro{UNIX}-{\acro{CDROM}} +zu entwickeln, in Angriff genommen. Sehr schnell stießen die +Verantwortlichen auf das \teTeX-System von Thomas~Esser als +idealen Ausgangspunkt für diese Arbeit, weil es verschiedene +Rechnerplattformen unterstützte und für die Arbeit mit verschiedenen +Dateisystemen vorgesehen war. Anfang 1996 wurde in Zusammenarbeit +mit Thomas~Esser ernsthaft mit der Arbeit begonnen und im Mai~1996 +die erste Ausgabe der {\acro{CDROM}} veröffentlicht. + +Anfang 1997 stellte +Karl~Berry eine neue Version seines \Webc-\TeX-Systems vor, das +schon nahezu alle Ausstattungsmerkmale aufwies, die Thomas~Esser +mit {\teTeX} verwirklicht hatte. Die \acro{TUG} entschied sich daraufhin, +die zweite Version der {\acro{CDROM}} auf der Basis von {\Webc} unter +Verwendung des Installations-Skripts \cmdname{texconfig} aus dem +\teTeX-Paket zu entwickeln. + +Die dritte Ausgabe basierte auf der +inzwischen von Olaf~Weber gepflegten und weiter entwickelten +{\Webc}~Version~7.2; {\TL} unterstützte fast alle Eigenschaften +der zur selben Zeit entstandenen neuen Version von \teTeX. + +Die vierte Ausgabe folgte demselben Schema, indem ihr neue +Versionen von {\teTeX} und {\Webc}~(7.5) zugrunde lagen. +Fast die gesamte {\acro{CDROM}} wurde einer kritischen Ãœberprüfung +unterzogen, wobei besonders darauf geachtet wurde, dass doppelte +Dateien entfernt wurden und die Einordnung der Pakete konsistent +erfolgte. Zudem enthielt diese Ausgabe ein komplettes Windows-Setup. + +Für die fünfte Ausgabe im März~2000 wurden wiederum große Teile der +{\acro{CDROM}} ersetzt, wobei Hunderte von überarbeiteten Paketen aufgenommen +wurden. {\OMEGA}, {pdf\TeX} und Teile der \TeX-Support-Programme (hier +insbesondere \cmdname{xdvi}, \cmdname{dvips} und \cmdname{tex4ht}) +lagen in neuer Version vor. +Die Hauptänderung bei der \TL\,5 betraf die \samp{non-free}-Software. +Alles auf dieser {\acro{CDROM}} war nun in Ãœbereinstimmung mit den \emph{Debian +Free Software Guidelines} (\url{http://www.debian.org/intro/free}). +Wir haben unser Bestes versucht, die Lizenzbedingungen aller Pakete +zu überprüfen, sind aber dankbar, wenn wir auf Fehler hingewiesen werden. + +Die sechste Ausgabe der {\TL} vom Juli/August~2001 +enthielt die neuesten Versionen aller Pakete und Programme. +Das neue Installationskonzept stellte die größte Änderung dar: +Der Benutzer konnte nun viel genauer +gewünschte bzw.\ nicht erwünschte Sammlungen +und Pakete auswählen. Dabei wurden die sprachspezifischen Sammlungen +komplett überarbeitet, so dass sie jetzt automatisch nicht nur +Makros, Fonts usw. installierten, sondern zusätzlich die notwendigen +Einträge in \file{language.dat} vornahmen. + +Die siebte Ausgabe vom Mai~2002 enthält als größte +Änderungen {\MacOSX} und wieder unzählige Updates aller Pakete und Programme. +Ein wesentliches Ziel war zudem die Wiedererstellung einer gemeinsamen +Quelle mit {\teTeX}, um das Auseinanderlaufen seit \TL\,5 und \TL\,6 +zu korrigieren. + +\subsection{2003} + +Im Jahr 2003 war die Flut von Updates und neuen Paketen so groß geworden, +dass wir feststellen mussten: ">{\TL} passt nicht mehr auf eine einzelne +\acro{CDROM}"<. Und so wurde sie in drei verschiedene Distributionen aufgeteilt +(siehe Abschnitt~\ref{sec:tl-coll-dists} auf Seite~\pageref{sec:tl-coll-dists}). +Des Weiteren: + +\begin{itemize} +\item Auf Wunsch des \LaTeX-Teams wurde der Standard für \cmdname{latex} + und \cmdname{pdflatex} verändert; beide benutzen nun {\eTeX} als Basis + (siehe Seite~\pageref{text:etex}). +\item Die neuen ">Latin Modern Fonts"< wurden aufgenommen (und werden + zur Benutzung empfohlen). +\item Der Support für Alpha-\acro{OSF} wurde aufgegeben (den + \acro{HPUX}-Support hatte es schon zuvor ereilt), da + niemand mehr in der Lage war, neue Binaries zu kompilieren. +\item Das Setup für Windows wurde grundlegend überarbeitet. + Zum ersten Mal wurde eine integrierte Umgebung eingeführt, + die auf \cmdname{XEmacs} basiert. +\item Wichtige Hilfsprogramme für Windows (Perl, Ghost\-script, + Image\-Magick, Ispell) werden nun im \TL-Verzeichnis + installiert. +\item Die von \cmdname{dvips}, \cmdname{dvipdfm} und \cmdname{pdftex} + benutzten Font-Mapfiles werden vom neuen Programm + \cmdname{updmap} generiert und in \dirname{texmf/fonts/map} + installiert. +\item \TeX, {\MF} und {\MP} geben nun die meisten 8"~Bit-Input"~Zeichen (Position 32 und oberhalb) unverändert + aus in (\verb|\write|)-Files, Logfiles und auf dem Terminal. + Das bedeutet, dass sie \emph{nicht} mit der \verb|^^|-Notierung + übersetzt ausgegeben werden. Auf der \TL\,7 war diese + Ãœbersetzung abhängig von der \cmdname{locale}-Einstellung des + Systems; nun beeinflussen \cmdname{locale}-Einstellung nicht + {\TeX}s Programmverhalten. Falls Sie aus irgendwelchen + Gründen die \verb|^^|-Ausgabe benötigen, müssen Sie in Ihrem System + die Datei \file{texmf/web2c/cp8bit.tcx} umbenennen + (zukünftige Versionen werden eine sauberere Schnittstelle zur + Kontrolle dieses Verhaltens anbieten). +\item Die Dokumentation wurde grundlegend überarbeitet. +\item Zum Abschluss einigten wir uns auf eine neue Edition-Nummerierung. + Ab diesem Jahr trägt die {\TL} statt einer fortlaufenden Nummer + die Jahreszahl: \TL~2003. +\end{itemize} + +\subsection{2004} + +\begin{itemize} +\item Wenn Sie lokal installierte Zeichensätze mit ihren eigenen \filename{.map}- oder (weniger wahrscheinlich) + \filename{.enc}-Dateien benutzen, müssen Sie möglicherweise diese Dateien verschieben. + + Nach den \filename{.map}-Dateien wird jetzt in den \dirname{fonts/map}-Unterverzeichnissen im + \envname{TEXFONTMAPS}-Pfad gesucht (in jedem \filename{texmf}-Baum). + Gleichzeitig werden \filename{.enc}-Dateien jetzt in den \dirname{fonts/enc}-Unterverzeichnissen entlang des + \envname{ENCFONTS}-Pfads gesucht. Das Programm \cmdname{updmap} versucht, bei problematischen Dateien zu warnen. + + Informationen darüber, wie das gehandhabt wird, und zusätzliche Informationen finden Sie unter + \url{http://tug.org/texlive/mapenc.html}. + +\item Die \TK\ wurde für all diejenigen, die diese Implementierung {\Webc} vorziehen, um eine \MIKTEX-basierte und + installierbare {\acro{CDROM}} erweitert. Siehe dazu auch Abschnitt~\ref{sec:overview-tl} auf + Seite~\pageref{sec:overview-tl}. + +\item In der {\TL} wurde der umfangreiche \dirname{texmf}-Baum früherer Versionen durch drei Teilbäume ersetzt: + \OnCD{texmf}, \OnCD{texmf-dist} und \OnCD{texmf-doc}. Siehe dazu Abschnitt~\ref{sec:tld} auf + Seite~\pageref{sec:tld} und die \filename{README}-Dateien in den drei Zweigen. + +\item Alle \TeX-relevanten Eingabedateien sind jetzt in den \dirname{tex}-Unterverzeichnissen der + \dirname{texmf*}-Bäume zusammengefasst und nicht mehr in den parallelen Verzeichnissen \dirname{tex}, + \dirname{etex}, \dirname{pdftex}, \dirname{pdfetex}, usw. Siehe dazu + \CDref{texmf-dist/doc/generic/tds/tds.html\#Extensions}{\texttt{texmf-dist/doc/generic/tds/tds.html\#Extensions}}. + +\item Hilfs-Skripte, die der Anwender nicht selbst aufruft, werden jetzt in den \mbox{neuen} + \dirname{scripts}-Unterverzeichnissen der \dirname{texmf*}-Bäume aufbewahrt. Nach ihnen kann per + \samp{kpsewhich -format=texmfscripts} gesucht werden. Wenn Sie Programme einsetzen, die solche Skripte aufrufen, müssen + sie angepasst werden. Siehe dazu \CDref{texmf-dist/doc/generic/tds/tds.html\#Scripts} +{\texttt{texmf-dist/doc/generic/tds/tds.html\#Scripts}}. + +\item (Fast) alle Formate interpretieren -- an Stelle einer Ãœbersetzung durch die \verb|^^|-Notation -- mittels + des ">translation files"< \filename{cp227.tcx} die meisten Zeichen als direkt ausgebbar. Insbesondere werden + die Zeichen an den Positionen 32--256, zusätzlich \acro{TAB}, \acro{VT} (vertical tab; vertikaler Tab) und + \acro{FF} (form feed; Seitenvorschub), als druckbar angesehen und daher nicht übersetzt. Ausnahmen sind + plain \TeX, bei dem nur die Zeichen an den Positionen 32--127 druckbar sind, {\ConTeXt} (mit druckbaren Zeichen an + den Positionen 0--255) und die \OMEGA-verwandten Formate. Dieses voreingestellte Verhalten ist (fast) identisch + mit dem in \TL\,2003; es ist aber jetzt klarer und mit umfangreicheren Anpassungsmöglichkeiten implementiert. + Siehe dazu \CDref{texmf/doc/web2c/web2c.html\#TCX-files} +{\texttt{texmf/doc/web2c/web2c.html\#TCX-files}}. + + \textbf{Anmerkung:} Da {\TeX} byte-orientiert ist, können bei einer Unicode-Eingabe (2-Byte-Zeichen) im Kontext + von Fehlermeldungen Folgen von 1-Byte-Zeichen ausgegeben werden. + +\item \cmdname{pdfetex} ist jetzt die voreingestellte ">Engine"< für alle Formate mit Ausnahme von + \mbox{(plain-)\cmdname{tex}} selbst (natürlich generiert es \dvi-Code, wenn es als \cmdname{latex}, usw. + aufgerufen wird.). Das bedeutet unter vielen anderen Dingen, dass die mikrotypographischen Fähigkeiten von + \cmdname{pdftex} + wie auch die Erweiterungen von {\eTeX} in \LaTeX, \ConTeXt usw. zur Verfügung stehen + (\OnCD{texmf-dist/doc/etex/base/}). + + Das bedeutet, dass es \emph{wichtiger denn je} ist, das Paket \pkgname{ifpdf} zu benutzen (es arbeitet sowohl mit + {plain \TeX} als auch mit \LaTeX), da der einfache Test, ob \cs{pdfoutput} oder ein anderer \TeX-Grundbefehl + (primitive) definiert ist, nicht verlässlich genug ist für die Entscheidung, ob eine PDF-Ausgabe erzeugt wird. + Wir haben das rückwärts-kompatibel gemacht, so gut wir das dieses Jahr konnten; nächstes Jahr aber soll + \cs{pdfoutput} so beschaffen sein, dass dieser Befehl auch dann definiert ist, wenn {\dvi}-Code erzeugt wird. + +\item pdf\TeX\ (\url{http://pdftex.org/}) hat viele neue Besonderheiten: + \begin{itemize} + \item Die Befehle \cs{pdfmapfile} und \cs{pdfmapline} ermöglichen einen Font"~Map-Support innerhalb eines + Dokuments. + \item Mikrotypografische Zeichensatz-Expansion (font expansion) kann jetzt viel leichter benutzt werden + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html}. + \item Alle Parameter, die früher in der speziellen Konfigurationsdatei \filename{pdftex.cfg} definiert wurden, + müssen jetzt mit Hilfe von pdf\TeX-Grundbefehlen gesetzt werden, typischerweise in + \filename{pdftexconfig.tex}; die Konfigurationsdatei \filename{pdftex.cfg} wird nicht länger unterstützt. + Jede schon bestehende Format-Datei (\filename{.fmt}) muss neu erstellt werden, wenn + \filename{pdftexconfig.tex} geändert wird. + \item Für zusätzliche Informationen siehe das pdf\TeX-Handbuch: \OnCD{texmf-dist/doc/pdftex/manual}. + \end{itemize} + +\item Der Grundbefehl \cs{input} in \cmdname{tex} (\cmdname{mf} und \cmdname{mpost}) akzeptiert jetzt doppelte + Anführungszeichen und andere Spezialzeichen. Typische Beispiele: + +\begin{verbatim} +\input "filename with spaces" % plain +\input{"filename with spaces"} % latex +\end{verbatim} + + Für zusätzliche Informationen siehe das \Webc-Handbuch: \OnCD{texmf/doc/web2c}. + +\item enc\TeX\ wird jetzt in {\Webc} und damit auch in allen \TeX-Programmen unterstützt. Dazu wird \emph{beim + Generieren neuer Formate} die Option \optname{-enc} benutzt. enc\TeX\ unterstützt allgemein die Umkodierung der + Ein- und Ausgabe und ermöglicht eine volle Unicode-Unterstützung (in \acro{UTF}-8). + Siehe \OnCD{texmf-dist/doc/generic/enctex/} und \url{http://www.olsak.net/enctex.html}. + +\item Aleph (\ensuremath{\aleph}), eine neue ">Engine"<, die {\eTeX} und {\OMEGA} vereinigt, ist verfügbar. Ein bisschen + Information darüber finden Sie in \OnCD{texmf-dist/doc/aleph/base} und + \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph}. Das \LaTeX-basierte Aleph-Format heißt + \cmdname{lamed}. + +\item Das neueste \LaTeX-Release enthält eine neue Version der \acro{LPPL}% + \footnote{LPPL: LaTeX Project Public License}, + die jetzt eine offiziell von Debian anerkannte Lizenz ist. Zusammen mit anderen Updates finden Sie Informationen + dazu in den \filename{ltnews}-Dateien in \OnCD{texmf-dist/doc/latex/base}. + +\item \cmdname{dvipng} -- ein neues Programm zum Konvertieren von \dvi-Dateien in \acro{PNG}-Bilddateien, ist + Bestandteil von \TL. Siehe \OnCD{texmf/doc/man/man1/dvipng.1}. + +\item Auf Vorschlag des Autors (Claudio~Beccari) haben wir das Paket \pkgname{cbgreek} auf einen ">mittelgroßen"< Satz + von Fonts reduziert. Herausgenommen wurden die ">invisible"<, Outline- und ">Transparency"<-Fonts, + die relativ selten benutzt werden -- denn wir benötigen den Platz. In seinem vollen Umfang ist das Paket natürlich + weiterhin auf \acro{CTAN} verfügbar (\url{http://www.ctan.org/tex-archive/fonts/greek/cb/}). + +\item \cmdname{oxdvi} wurde entfernt; benutzen Sie jetzt \cmdname{xdvi}. + +\item Die \cmdname{ini}- und \cmdname{vir}-Befehle (Links) für \cmdname{tex}, \cmdname{mf} and \cmdname{mpost} sind + nicht mehr länger verfügbar, so auch \cmdname{initex}. Das ist kein richtiger Verlust, da die + \cmdname{ini}-Funktionalität schon seit mehreren Jahren über den Aufrufparameter \optname{-ini} zur Verfügung + steht. + +\item Die Unterstützung der Plattform \cmdname{i386-openbsd} wurde entfernt. Da das Paket \pkgname{tetex} im + \acro{BSD}-Ports-System zur Verfügung steht und Binaries für \acro{GNU}/""Linux and Free\acro{BSD} erhältlich sind, + erschien es sinnvoll, die Zeit der Freiwilligen besser zu nutzen. + +\item Zumindest auf \cmdname{sparc-solaris} müssen Sie ggf. die En"-viron"-ment-Variable \envname{LD\_LIBRARY\_PATH} + setzen, um die \pkgname{t1utils}-Programme laufen lassen zu können. Ursache dafür ist, dass die Programme mit C++ + kompiliert wurden und dass es keinen Standard-Platz für Laufzeit-Bibliotheken gibt (das ist zwar auch im Jahre + 2004 nicht neu, wurde aber bisher nicht dokumentiert.) Unter \cmdname{mips-irix} werden die + \acro{MIPS}pro-7.4-Laufzeit-Bibliotheken benötigt. +\end{itemize} + +\subsection{2005} + +Im Jahr 2005 gab es -- wie üblich -- viele aktualisierte Pakete und +Programme. Die Struktur des Systems blieb weitgehend gleich, mit folgenden +Ausnahmen: + +\begin{itemize} +\item Die neuen Skripte \cmdname{texconfig-sys}, \cmdname{updmap-sys} und + \cmdname{fmtutil-sys} für die systemweite Konfiguration des Systems wurden + hinzugefügt. Die Skripte \cmdname{texconfig}, \cmdname{updmap} und + \cmdname{fmtutil} modifizieren nun die Konfiguration für einen einzelnen + Nutzer unter \dirname{\$HOME/.texlive2005}. +\item Analog spezifizieren die Pfade \envname{TEXMFCONFIG} und + \envname{TEXMFSYSCONFIG} nun, wo die Konfigurationsdateien gefunden + werden (für einen einzelnen Nutzer bzw.\ systemweit). Möglicherweise + müssen Sie daher vorhandene eigene Versionen von + \filename{fmtutil.cnf} oder \filename{updmap.cfg} in die entsprechenden + Pfade verschieben. Alternativ können Sie \envname{TEXMFCONFIG} und + \envname{TEXMFSYSCONFIG} in der Datei \filename{texmf.cnf} umdefinieren, + dass diese auf die Speicherorte Ihrer eigenen Konfigurationsdateien + verweisen. Siehe Abschnitt~\ref{sec:texmftrees} auf Seite~\pageref{sec:texmftrees}. +\item Im letzten Jahr wurden für die Programme, die DVI als Ausgabeformat + erzeugen, die Primitive wie \verb|PDFoutput| auf undefiniert gesetzt, + obwohl immer \cmdname{pdfetex} verwendet wurde. In diesem Jahr wurde dies + wie angekündigt nicht mehr getan. Falls in Dokumenten nun die Abfrage + \verb|\ifxPDFoutput\undefined| zum Test benutzt wird, ob PDF oder DVI + erzeugt wird, müssen diese geändert werden! Benutzen Sie das Paket + \pkgname{ifpdf.sty}, das auch mit dem geänderten Verhalten funktioniert, + oder orientieren Sie sich an dessen Code. +\item Im letzten Jahr wurden die Formate so geändert, dass sie Zeichen + als 8-bit ausgeben. Die neue TCX-Datei \filename{empty.tcx} eröffnet nun + einen einfachen Weg, die originale Ausgabe mit \verb|^^|-Notation zu + erhalten, wenn Sie es wünschen: +\begin{verbatim} +latex --translate-file=empty.tcx yourfile.tex +\end{verbatim} +\item Das Programm \cmdname{dvipdfmx} für die Konvertierung von DVI nach + PDF ist neu hinzugekommen. Dies ist eine aktiv gepflegte Erweiterung von + \cmdname{dvipdfm}, das zwar noch verfügbar ist, aber als obsolet angesehen + werden kann. +\item Ebenso sind die Programme \cmdname{pdfopen} und \cmdname{pdfclose} neu + hinzugekommen. Diese erlauben ein Reload von PDF-Dateien im Acrobat Reader, + ohne diesen neu starten zu müssen (andere PDF-Viewer wie \cmdname{xpdf}, + \cmdname{gv} oder \cmdname{gsview} hatten damit nie Probleme). +\item Aus Konsistenzgründen wurden die Variablen \envname{HOMETEXMF} und + \envname{VARTEXMF} in \envname{TEXMFHOME} bzw.\ \envname{TEXMFSYSVAR} + umbenannt. Weiterhin existiert \envname{TEXMFVAR} für einen Baum, der + spezifisch für einen einzelnen Nutzer ist. +\end{itemize} + +\subsection{2006--2007} +\label{tlcurrent} + +Der wichtigeste Neuzuwachs in der Ausgabe 2006--2007 von \TL{} war das Xe\TeX{} +Programm, verfügbar durch die \texttt{xetex} und \texttt{xelatex} +Programme; siehe \url{http://scripts.sil.org/xetex}. + +Auch MetaPost erhielt ein bemerkenswertes Update, mit weiteren geplannten +Änderungen (\url{http://tug.org/metapost/articles}), ebenso pdf\TeX{} +(\url{http://tug.org/applications/pdftex}). + +Das (plain) \texttt{tex}-Programm liest nicht mehr erste Zeilen mit +\texttt{\%\&} um das Format zu bestimmen. Es ist ein reines Knuth-\TeX. +(\LaTeX\ und alle anderen Formate lesen weiterhin \texttt{\%\&}-Zeilen). + +Weiters wurden wie üblich hunderte von Paketen und Programmen auf einen +neueren Stand gebracht. Für weiter Updates wenden Sie sich bitte an +\acro{CTAN} (\url{http://www.ctan.org}). + +Die Entwicklungsumgebung wurde auf Subversion umgestellt, was ein Webinterface +für den Entwicklungsbaum beisteuerte. Dieses Webinterface ist von der +Homepage verlinkt. Obwohl dieser Umstieg in der Distribution nicht zu +erkennen ist, erwarten wir uns ein stabiles Fundament für die Entwicklung +in den nächsten Jahren. + +Schließlich hat im Mai~2006 Thomas Esser das Ende seiner Entwicklung von +te\TeX{} (\url{http://tug.org/tetex}) angekündigt. Als Konsequenz ist das +Interesse an \TL{}, besonders unter den \acro{GNU}/Linux-Distributoren +angestiegen. (\TL{} bietet nun ein \texttt{tetex}-Installationsschema, dass +annähernd den Umfang von te\TeX{} umfasst.) Wir hoffen dass dies +schlussendlich zu einer Verbesserung der \TeX-Umgebung für jederman führt. + +\subsection{2008} + +Die komplette Infrastruktur von \TL wurde 2008 neu entwickelt. Die +gesamten Daten, die für die Installation benötigt werden, finden sich +nun in einer einzigen Textdatei mit dem Namen \filename{tlpkg/texlive.tlpdb}. + +Dies ermöglicht es unter anderem, ein Update einer installierten Version +von \TL über das Internet durchzuführen, was für MiK\TeX{} schon seit +Jahren möglich ist. Wir planen regelmäßige Updates bereitzustellen, +wenn Pakete auf \CTAN{} aktualisiert werden oder neu erscheinen. + +Als neues Programm ist Lua\TeX\ (\url{http://luatex.org}) enthalten, +das neben neuen Möglichkeiten innerhalb des Satzsystems eine +hervorragende Skriptsprache zur Verfügung stellt, die inner- und +außerhalb von \TeX{} benutzt werden kann. + +Die Unterstützung von \TL für Windows und Unix ist mittlerweile praktisch +äquivalent. Die meisten Perl- und Lua-Skripte können nun auch unter +Windows verwendet werden, da innerhalb von \TL Perl integriert ist. + +Das neue \cmdname{tlmgr}-Programm (Abschnitt~\ref{sec:tlmgr}) ist +eine komplette Oberfläche zum Verwalten von \TL nach der Installation. +Es ermöglicht das Aktualisieren von Paketen, die Neugenerierung von +Formatdateien, Fontmaps und die Konfiguration der \TeX-Unterstützung +für verschiedene Sprachen. + +Nach der Einführung von \cmdname{tlmgr} sind die Funktionen von +\cmdname{texconfig} zur Konfiguration von Formatdateien und +Trennmustern deaktiviert worden. + +Der Index-Prozessor \cmdname{xindy} (\url{http://xindy.sourceforge.net/}) +ist nun für die meisten Betriebssysteme integriert. + +Das Programm \cmdname{kpsewhich} kann nun alle Fundstellen für eine +gesuchte Datei anzeigen (Option \optname{--all}) oder die Suche +auf ein bestimmtes Verzeichnis einschränken (Option \optname{--subdir}). + +Das Programm \cmdname{dvipdfmx} kann nun Informationen über die +Bounding Box liefern, was über die Kommandozeile mit dem Befehl +\cmdname{extractbb} aufgerufen werden kann; dies war die letzte +Funktion von \cmdname{dvipdfm}, die noch nicht in \cmdname{dvipdfmx} +vorhanden war. + +Die Font-Aliasnamen \filename{Times-Roman}, \filename{Helvetica} usw. +wurden abgeschafft. + +Das Makro-Format \pkgname{platex} wurde entfernt, um den Namenskonflikt +mit dem japanischen \pkgname{platex} auf zu lösen; Unterstützung +für polnisch wird nun vom Paket \pkgname{polski} zur Verfügung gestellt. + +Die \web{} string pool files wurden in die Programme einkompiliert, +um Updates zu vereinfachen. + +Und abschließend sind die Änderungen von Donald Knuth in seinem +\emph{\TeX\ tuneup of 2008} in \TL eingearbeitet, +\url{http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}. + +\subsection{2009} + +Das Standardausgabeformat für Lua\AllTeX\ ist nun PDF. Hier entfalten die +Erweiterungen von Lua\AllTeX, wie die Unterstützung von OpenType, +ihre volle Wirkung. Die neuen Programme \code{dviluatex} bzw. +\code{dvilualatex} erzeugen wie früher DVI als Ausgabeformat. +Die Homepage von Lua\TeX\ finden Sie unter \url{http://luatex.org}. + +Nach Rücksprache mit den Autoren von Omega wurden Omega und das +Format Lambda entfernt. Die aktuelle Version von Aleph und Lamed ist +weiterhin in \TL\ enthalten, zusammen mit einigen Hilfsprogrammen von +Omega. + +Eine neue Version der AMS \TypeI-Fonts wird von \TL\ mitgeliefert, +inklusive der Computer Modern-Schriften. Donald Knuth hat in den letzten +Jahren die Gestalt einiger Zeichen in den Metafont-Quellen geändert, diese +wurden übernommen. Weiterhin wurde das so genannte Hinting verbessert. +Die Euler-Schriften wurden kürzlich ebenfalls sorgsam überarbeitet +(siehe \url{http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf}). +In allen Fällen blieben die Fontmetriken unverändert. Mehr zu den +AMS-Fonts finden Sie unter \url{http://www.ams.org/tex/amsfonts.html}. + +Die neue \TeX-Oberfläche \TeX{}works ist für Windows enthalten, analog +zu Mac\TeX. Für andere Systeme oder weitere Informationen beachten Sie +bitte die Webseite \url{http://tug.org/texworks}. \TeX{}works ist +eine Cross-Plattform-Anwendung, die von dem Editor \MacOSX\ inspiriert +wurde, und somit eine einfach zu bedienende Oberfläche für \TeX\ bietet. + +Das Grafikprogramm Asymptote ist für verschiedene System enthalten. Es +bietet eine textbasierte Beschreibungssprache für Zeichnungen, nicht +unähnlich zu MetaPost, aber mit Unterstützung für 3D und weiteren +Vorteilen. Die Homepage befindet sich unter \url{http://asymptote.sourceforge.net}. + +Das bisher enthaltene eigenständige Programm \code{dvipdfm} wurde durch +\code{dvipdfmx} ersetzt, das beim Aufruf als \code{dvipdfm} in einem +Kompatibilitätsmodus läuft. \code{dvipdfmx} unterstützt \acro{CJK} +(Chinesich, Japanisch, Koreanisch) und enthält viele Korrekturen und +Verbesserungen gegenüber dem alten \code{dvipdfm}. Die Homepage zu +DVIPDFMx finden Sie unter \url{http://project.ktug.or.kr/dvipdfmx}. + +Für \pkgname{cygwin} und \pkgname{i386-netbsd} werden nun ausführbare +Programme mitgeliefert, während einige andere BSD-Derivate nicht mehr +dabei sind. Es wird empfohlen, dass Nutzer von OpenBSD bzw. FreeBSD +\TeX\ über den Paketmanager ihres Systems installieren, da sich gezeigt +hat, dass die Bereitstellung von Binaries, die für mehrere Versionen +funktionieren, sehr problematisch ist. + +Einige weitere, aber kleine Änderungen: Wir verwenden nun zur Datenkompression +\pkgname{xz} als stabile Alternative zu \pkgname{lzma} (\url{http://tukaani.org/xz/}); Dollarzeichen sind in Dateinamen erlaubt, solange sich zusammen +mit den Dollarzeichen kein bekannter Variablenname ergibt; die Kpathsea +ist nun multi-threaded (was von MetaPost verwendet wird); der gesamte +Build von \TL\ basiert nun auf Automake. + +Und zum Abschluss: Alle Releases von \TL, mit Zusatzmaterial wie den +DVD-Labeldrucken, sind unter \url{ftp://tug.org/historic/systems/texlive} +verfügbar. +% ------------------------------------------------------------- +\subsection{2010} + +Seit 2010 werden PDF-Dateien nach PDF Version 1.5 erzeugt, was eine +stärkere Komprimierung der Dateien ermöglicht. Dies gilt für alle +\TeX-Kompiler mit dem Ausgabeformat PDF und \code{dvipdfmx}. +Mit dem \LaTeX-Paket \pkgname{pdf14} wird wieder PDF 1.4 erzeugt, +alternativ kann |\pdfminorversion=4| verwendet werden. + +pdf\AllTeX\ konvertiert nun \emph{automatisch} bei Bedarf unter +Verwendung des Paketes \pkgname{epstopdf} + EPS-Dateien (Encapsulated PostScript) nach PDF, wenn +die Konfigurationsdatei \code{graphics.cfg} geladen wurde und das +Ausgabeformat PDF ist. Standardmäßig sollen auf keinen Fall bereits +vorhandene (evtl. mühsam anderweitig erzeugte) PDF-Dateien überschrieben +werden. Die automatische Umwandlung kann komplett abgeschaltet werden, +indem am Anfang der \LaTeX-Datei (vor \cs{documentclass}!) die Zeile +|\newcommand{\DoNotLoadEpstopdf}{}| (oder |\def...|) eingefügt wird und +so das Laden von \code{epstopdf} unterdrückt wird. Für weitere Informationen +schauen Sie bitte in die Anleitung des \pkgname{epstopdf}-Pakets +(\url{http://ctan.org/pkg/epstopdf-pkg}). + +Eine wichtige, damit zusammen hängende Änderung ist die Beschränkung +des \cs{write18}-Befehls von \TeX\ (das zum Aufruf externer Programme +dient) auf einige wenige Programme in der Standardkonfiguration von +\TL. Diese sind z.\,B. \code{epstopdf}, \code{makeindex} und \code{bibtex}. +Konkret wird die Auswahl zulässiger Programme in der Datei \code{texmf.cnf} +festgelegt. In Umgebungen, wo aus Sicherheitsgründen der Aufruf externer +Anwendungen über \cs{write18} komplett unterbunden werden soll, kann dies +direkt bei der Installation eingestellt werden (siehe Abschnitt~\ref{sec:options} +oder nachträglich in \code{texmf.cnf} geändert werden. + +Weiterhin werden \BibTeX\ und Makeindex nun daran (analog zu \TeX\ selbst) +gehindert, ihre Ausgabedateien in beliebige Verzeichnisse zu schreiben, +damit erlaubt werden konnte, dass sie über \cs{write18} gestartet +werden. Falls dies geändert werden soll, muss entweder die Variable +\envname{TEXMFOUTPUT} gesetzt oder die Konfigurations"-einstellung +|openout_any| geändert werden. + +\XeTeX\ unterstützt nun wie pdf\TeX\ optischen Randausgleich. + +\prog{tlmgr} speichert eine Sicherheitskopie von aktualisierten Paketen +(\code{tlmgr option autobackup 1}), so dass ein fehlerhaftes Update mit +\code{tlmgr restore} rückgängig gemacht werden kann. Falls Sie hierfür +nicht genug Platz haben, kann dies mit \code{tlmgr ++option autobackup 0} abgeschaltet werden. + +Neu enthaltene Programme: p\TeX\ und verwandte Programme zum +japanischen Schriftsatz, das Programm \BibTeX{}U für ein Unicode-fähiges +\BibTeX, das Programm \prog{chktex} (\url{http://baruch.ev-en.org/proj/chktex}) +zum Ãœberprüfen von \AllTeX-Dokumenten, \prog{dvisvgm} (\url{http://dvisvgm.sourceforge.net}) zum Konvertieren von DVI nach SVG. + +Neu unterstützte Systeme: \code{amd64-freebsd}, +\code{amd64-kfreebsd}, \code{i386-freebsd}, \code{i386-kfreebsd}, +\code{x86\_64-darwin}, \code{x86\_64-solaris}. + +Eine Änderung in \TL{} 2009, die nicht dokumentiert wurde: Zahlreiche +\TeX4ht-bezogene Programme fielen weg, hierfür gibt es nun das Programm +\code{mk4ht}. + +Abschließend kann \TL\ nicht mehr direkt von der \DVD\ ausgeführt werden. +Eine einzelne \DVD\ inst nicht mehr groß genug. Als Nebeneffekt sollte die +Installation von der \DVD\ schneller als früher sein. + +\subsection{2011} + +In \TL\ gab es relativ wenige Neuerungen. Die Binaries für Mac OS X (\code{universal-darwin} und \code{x86\textunderscore 64-darwin}) laufen nur noch unter Mac OS X Versionen ab Leopard; Panther und Tiger werden nicht mehr unterstützt. + +Das \code{biber} Programm für die Bearbeitung von Bibliografien wird für die gängigen Plattformen mitgeliefert, seine Entwicklung ist eng an die Entwicklung des \code{biblatex} Pakets geknüpft, das die Art und Weise, in der \LaTeX\ Bibliografien verwaltet, komplett neu implementiert. + +MetaPost (\code{mpost}) erzeugt oder nutzt keine \code{.mem} Dateien mehr. Benötigte Dateien wie \code{plain.mp} werden einfach bei jedem Lauf gelesen. Grund hierfür ist die Tatsache, dass MetaPost auch als Bibliothek unterstützt wird, eine weitere --wenn auch eher unsichtbare-- Änderung. + +Die Implementierung von \code{updmap} in Perl, bisher nur unter Windows genutzt, wurde überarbeitet und wird jetzt von allen Plattformen verwandt. Abgesehen von einer deutlichen Steigerung der Geschwindigkeit sollte kein Nutzer davon etwas merken. + +\htmlanchor{news} +\subsection{Gegenwart (2012)} +\label{sec:tlcurrent} +\label{sec:2012news} + +\code{tlmgr} unterstützt Updates von verschiedenen Netzwerk-Repositories. Siehe dazu den Abschnitt zu multiplen Repositories in der \code{tlmgr help} Ausgabe. + +Der Parameter \cs{XeTeXdashbreakstate} wird standardmäßig für \code{xetex} und \code{xelatex} auf '1' gesetzt. Dies erlaubt Zeilenumbrüche nach em-dashes und en-dashes und war seit jeher das Standardverhalten von \TeX, \LaTeX, Lua\TeX, etc. Für perfekte Zeilenumbruch-Kompatibilität bei existierenden Dokument muss daher \cs{XeTeXdashbreakstate} explizit auf '0' gesetzt werden. + +Die Ausgabedateien von \code{pdftex} und \code{dvips}, neben anderen, dürfen jetzt größer als 2 GB werden. + +Die 35 Standard-Postscript Fonts werden standardmäßig in der Ausgabe von \code{dvips} ausgegeben, da es so viele verschiedene Versionen von ihnen gibt. + +Im 'Restricted Execution' Modus ist \code{mpost} standardmäßig erlaubt. + +Eine \code{texmf.cnf} Datei wird auch in \filename{../texmf-local}, +wie zum Beispiel \filename{/usr/local/texlive/texmf-local/web2c/texmf.cnf}, gefunden, falls sie dort existiert. + +Das \code{updmap} Skript liest \code{updmap.cfg} pro Verzeichnisbaum anstelle einer globalen Datei. Diese Änderung sollte komplett unsichtbar sein, sofern die \code{updmap.cfg} Dateien nicht manuell bearbeitet wurden. Die Ausgabe von \code{updmap --help} hat mehr zum Thema. + +Plattformen: \pkgname{armel-linux} und \pkgname{mipsel-linux} wurden hinzugefügt; \pkgname{sparc-linux} und \pkgname{i386-netbsd} sind nicht länger Teil der Haupt-Distribution. Sie können aber in Form spezieller Binaries von \url{http://tug.org/texlive/custom-bin.html} heruntergeladen werden. + +\subsection{Zukunft} + +\emph{{\TL} ist nicht perfekt! -- und wird es auch nie sein.} Wir planen +Neuauf"|lagen zu produzieren, die umfangreichere +Hilfstexte, mehr Hilfsprogramme, mehr Installationshilfen und (natürlich) +den ständig verbesserten und überprüften Satz der Makros und Zeichensätze +enthalten. Diese Arbeit wird von Freiwilligen in ihrer knappen Freizeit +geleistet. Viel Arbeit steht noch an. Wenn Sie uns helfen können, +zögern Sie keine Sekunde, sich bei uns zu melden. + +Verbesserungen, Anregungen und Erweiterungen für künftige Ausgaben +der {\TK} senden Sie bitte an:\hfill\null + +\begin{quote} +\email{tex-live@tug.org}\\ +\url{http://tug.org/texlive/} +\end{quote} + +Neue Versionen, Anmerkungen und zusätzliches Material werden über +die \CTAN-Server im Verzeichnis \dirname{info/texlive} zur Verfügung gestellt. +Im \acro{WWW} können Sie sich über die Adresse +\url{http://www.tug.org/tex-live/} informieren und die Bestellformalitäten +einsehen. + +\end{document} diff --git a/Master/texmf-dist/doc/texlive/texlive-en/Makefile b/Master/texmf-dist/doc/texlive/texlive-en/Makefile new file mode 100644 index 00000000000..abdadf166d8 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/Makefile @@ -0,0 +1,34 @@ +# $Id$ +# Makefile for TeX Live documentation. Public domain. +doc = texlive-en + +all: pdf html + +env = TEXINPUTS=../texlive-common:../texlive-en:; export TEXINPUTS; + +pdf: + rm -f *.aux *.toc *.lof *.lot *.xref* *.tmp *.out + $(env) pdflatex '\nonstopmode\def\Status{1}\input $(doc)' + $(env) pdflatex '\nonstopmode\def\Status{1}\input $(doc)' + $(env) pdflatex '\nonstopmode\def\Status{1}\input $(doc)' + $(env) pdflatex '\nonstopmode\def\Status{1}\input $(doc)' + +html: + rm -f *.aux *.toc *.lof *.lot *.xref* *.tmp *.out *.4tc +# this sequence is equivalent to running "ht latex $(doc)". We do it +# this way so we can \def\Status for the \ifcase in tex-live.sty. + $(env) latex '\nonstopmode\def\Status{2}\input $(doc)' + $(env) latex '\nonstopmode\def\Status{2}\input $(doc)' + $(env) latex '\nonstopmode\def\Status{2}\input $(doc)' + $(env) latex '\nonstopmode\def\Status{2}\input $(doc)' + $(env) tex4ht $(doc) + $(env) t4ht $(doc) + +clean: + rm -f *.aux *.log *.blg *.toc *.out *.lot tex4ht.ps *.4* + rm -f *.xref* *.lg *.idv *.out *.otc *.tmp tmp.* + rm -f $(doc).dvi $(doc).ps + +realclean: clean + rm -f $(doc).pdf + rm -f *.html *.htm $(doc).css *.gif *.jpg diff --git a/Master/texmf-dist/doc/texlive/texlive-en/README b/Master/texmf-dist/doc/texlive/texlive-en/README new file mode 100644 index 00000000000..dc5fb6b124d --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/README @@ -0,0 +1,5 @@ +$Id$ +TeX Live documentation. This file is public domain. + +We only generate the documentation in PDF and HTML formats -- see the +Makefile. This saves us having to have the images in EPS format too. diff --git a/Master/texmf-dist/doc/texlive/texlive-en/archive/bv-live.tex b/Master/texmf-dist/doc/texlive/texlive-en/archive/bv-live.tex new file mode 100644 index 00000000000..ad044e568cb --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/archive/bv-live.tex @@ -0,0 +1,84 @@ +% this is the baskerville version of the live documentation +\providecommand{\Status}{3} + +\setcounter{errorcontextlines}{999} +\documentclass{article} +\advance\textwidth by 1in +\advance\oddsidemargin by -1in +\advance\evensidemargin by -1in +\newsavebox{\warnbox} +\def\Q#1{\par\vskip6pt\leftline{#1}\par} +\setcounter{tocdepth}{2} +\pretolerance=1000 +\tolerance=1500 +\hbadness=3000 +\vbadness=3000 +\hyphenpenalty=400 +\renewcommand{\topfraction}{0.85} +\renewcommand{\floatpagefraction}{0.86} +\renewcommand{\textfraction}{0.1} +\setcounter{topnumber}{5} +\setcounter{totalnumber}{5} +\def\eTeX{$\varepsilon$-\TeX} +%\def\CTAN{\textsc{ctan}} +%\def\TUB{\textsc{tub}} +\def\Dash{---} +\def\hyph{-} +%\def\TeXXeT{\TeX-XeT} +\def\OMEGA{$\Omega$} +\def\bs{{\protect\normalfont\ttfamily\char'134}} +\DeclareRobustCommand{\cs}[1]{{\normalfont\ttfamily\char`\\#1}} +%\def\cs#1{\mbox{\normalfont\ttfamily\bs#1}} +\def\La{La} +\let\textsl\textit +\let\sl\it +\let\slfamily\itfamily +\def\ttdefault{cmtt} +\usepackage{tex-live} +\begin{document} +%\author{Sebastian Rahtz\\ +%\texttt{s.rahtz@elsevier.co.uk}\\ +%Michel Goossens\\ +%\texttt{m.goossens@cern.ch}} +%\title{The \protect\TeX\ Live Guide, 3rd edition} +%\date{March 1998} + +\BASKyear{1998} +\BASKmonth{April} +\BASKvol{8} +\BASKno{2} +\BASKed*{Robin Fairbairns} +\BASKfonts{Y\&Y European Modern} +\makeBSKtitle + +\input editorial +\ifbaskerville +\end{multicols} +%\vfill\Dings\vfill +\fi +\clearpage + +\begin{center} + \LARGE The \TeX\ Live Guide, 3rd edition +\end{center} +\title{\TeX\ Live Guide, 3rd edition} + +\ifbaskerville\begin{multicols}{2}\fi +\tableofcontents +\listoftables +\ifbaskerville +\end{multicols} +\Dings +\fi + +\input tex-live +\appendix + +\Dings + +\input live-app + +\vfill\Dings\vfill +\clearpage +\input sec +\end{document} diff --git a/Master/texmf-dist/doc/texlive/texlive-en/archive/bvoutln.sty b/Master/texmf-dist/doc/texlive/texlive-en/archive/bvoutln.sty new file mode 100644 index 00000000000..92f19fd027b --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/archive/bvoutln.sty @@ -0,0 +1,193 @@ +% extracts of baskerville.cls for use with the tex-live documentation +% when we're producing a bv issue with it. + +% **************************************** +% * PAGE LAYOUT * +% **************************************** +% +% SIDE MARGINS: +\oddsidemargin -2.5pc \evensidemargin -2.5pc +\marginparwidth 4pc % don't use marginal notes... +\marginparsep 0.5pc % ...in the UK TUG newsletter + +% VERTICAL SPACING: +\topmargin -3pc +\headheight 12\p@ +\headsep 15\p@ +\topskip 10\p@ +\footskip 15\p@ + +% DIMENSION OF TEXT: + +\textheight 250mm % height of text on a page (A4 paper) +\textwidth 180mm % total width of a page +\columnseprule 0.5\p@ % width of line in the inter-column gutter +\columnsep 10mm % space between columns +\tolerance 9999 % make those columns justify + +% FOOTNOTES: +\footnotesep 6\p@ +\skip\footins 19.5\p@ plus 12\p@ \@minus 1\p@ + +% FLOATS: +\floatsep 12\p@ plus 5.5\p@ \@minus 1\p@ +\textfloatsep 15\p@ plus 4.5\p@ \@minus 3\p@ +\intextsep 12\p@ plus 5.5\p@ \@minus 2\p@ +\dblfloatsep 12\p@ plus 5.5\p@ \@minus 2\p@ +\dbltextfloatsep 15\p@ plus 4.5\p@ \@minus 3\p@ +\@fptop 0\p@ plus 0fil +\@fpsep 12\p@ plus 0fil +\@fpbot 0\p@ plus 3fil +\@dblfptop 0\p@ plus 0fil +\@dblfpsep 12\p@ plus 0fil +\@dblfpbot 0\p@ plus 3fil +\marginparpush 5\p@ + +% **************************************** +% * TITLES AND ABSTRACT * +% **************************************** +% + +%% Volume Number (ie Year - 1990) +\def\BASKvol#1{\gdef\BASK@vol{#1}} +\BASKvol{?} + +%% Issue Number (ie Month/2, roughly) +\def\BASKno#1{\gdef\BASK@no{#1}} +\BASKno{?} + +% Editor, Star form for Guest editor +\def\BASKed{\@ifstar{\BASK@ed{Guest }}{\BASK@ed{}}} +\def\BASK@ed#1#2{\gdef\BASK@editor{#1Editor: #2}} +\BASKed{????????} + +%% Year (4 digits) +\def\BASKyear#1{\gdef\thisyear{#1}} +\BASKyear{????} + +% Month (as a Word) +\def\BASKmonth#1{\gdef\thismonth{#1}} +\BASKmonth{?????} + +\def\makeBSKtitle{\par + \begingroup + \vspace*{-\headheight}% + \@maketitle + \bigskip\hrule\bigskip + \thispagestyle{plain} + \endgroup + \let\maketitle\relax + \let\@maketitle\relax +} +\newbox\BSKbox +\def\@maketitle{% + \centerline{\BASK@titleline}% + \medskip + \hbox to \textwidth{\bfseries The Annals of the UK \TeX\ Users + Group\hfill \BASK@editor\hfill Vol.~\BASK@vol\ No.~\BASK@no}% + \smallskip\hbox to \textwidth{\bfseries ISSN 1354--5930 + \hfill \thismonth\ \thisyear}% + \medskip + \noindent\ignorespaces + \BASK@headparone} + +% The Journal title command. +% You probably only want to change this if you want to use a design-size +% font rather than let \scaletowidth scale for some special issue. +\def\BASKtitle#1{\gdef\BASK@titleline{#1}} +\let\scaletowidth=\resizebox% added by Sean K. Harbour for Textures +\BASKtitle{% + \fontfamily{mbvx}\bfseries + \scaletowidth{\textwidth}{!}{% modified by Sean K. Harbour + B\,a\,s\,k\,e\,r\,v\,i\,l\,l\,e}} + + +% The first paragraph. Needs to be reset if a special issue used a +% different font set. +\def\BASKheadparone#1{\gdef\BASK@headparone{#1}} +\BASKheadparone{% +This issue of \BV\ is set in \@BASKfonts, and printed on a Xerox Docutech. Production and distribution is +undertaken in Cambridge by Robin Fairbairns. } + + +\def\BASKfonts#1{\gdef\@BASKfonts{#1}} +\BASKfonts{Monotype Baskerville, with Computer Modern Typewriter for + literal text} + +% +% for \Dings +\RequirePackage{pifont} +% +% available for inter-article dinglines +% +\def\Dings{\nopagebreak{\footnotesize\dingline{167}}} + +% +% hack representation of appendices +\let\BV@@appendix\appendix +\renewcommand{\appendix}{\BV@@appendix + \renewcommand\@seccntformat[1]{\@ifundefined{@seccnt@##1}% + {\csname the##1\endcsname\quad}% + {\csname @seccnt@##1\endcsname}} + \newcommand\@seccnt@section{Appendix~\thesection~} +} + +% +% page styles +% +% \ps@empty defined in LATEX.TEX +% +\def\ps@plain{\let\@mkboth\markboth + \def\@oddhead{} + \def\@evenhead{} + \def\@oddfoot{\rm \hfil --\thepage--\hfil} + \def\@evenfoot{\rm \hfil --\thepage--\hfil} +} +\def\ps@headings{\let\@mkboth\markboth + \def\@oddhead{\hfill\emph{\@title}\hfill} + \def\@oddfoot{\rm \hfil --\thepage--\hfil} + \def\@evenhead{\it Baskerville \hfill + Volume \BASK@vol, Number \BASK@no} + \def\@evenfoot{\rm \hfil --\thepage--\hfil} +} + +% +% allow setting of pagehead title +\def\title{\@ifnextchar [{\@titletwo}{\@titleone}} +\def\@titletwo[#1]#2{\gdef\@title{#1}\gdef\@longtitle{#2}} +\def\@titleone#1{\gdef\@title{#1}\gdef\@longtitle{#1}} + +% +% more exciting page parameters +\@twosidetrue +\pagestyle{headings} + +\providecommand{\ukt}{UK \acro{TUG}} + +\newcommand{\standardtitles}{% + \def\section{%\typeout{** section!}% + \@startsection {section}{1}{\z@} + {-12\p@ \@plus -6\p@ \@minus -.1\p@} + {6\p@} + {\raggedright\large\bfseries}} + \def\subsection{\@startsection{subsection}{2}{\z@} + {-4\p@ \@plus -2\p@ \@minus -.1\p@} + {0.1\p@ \@plus 2\p@} + {\raggedright\normalsize\itshape}} + \def\subsubsection{\@startsection{subsubsection}{3}{\z@} + {-6\p@ \@plus -3\p@ \@minus -1\p@} + {0.1\p@ \@plus 2\p@} + {\raggedright\normalsize\it}} + \def\paragraph{\@startsection{paragraph}{4}{\z@} + {12\p@ \@plus 2.25\p@ \@minus -1\p@} + {-0.5em} + {\normalsize\bfseries}} + \def\subparagraph{\@startsection{subparagraph}{5}{\z@} + {12\p@ \@plus 2.25\p@ \@minus 1\p@} + {-0.5em} + {\normalsize\it}} + \setcounter{secnumdepth}{-1} +} + +\endinput + diff --git a/Master/texmf-dist/doc/texlive/texlive-en/archive/changemail b/Master/texmf-dist/doc/texlive/texlive-en/archive/changemail new file mode 100644 index 00000000000..dd792a25f78 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/archive/changemail @@ -0,0 +1,24 @@ +s/J.Smart@ed.ac.uk/??/ +s/gerd@uni-koblenz.de/??/ +s/Meijer@rulfsw.fsw.LeidenUniv.nl/??/ +s/wl@gnu.org/xlwy01@uxp1.hrz.uni-dortmund.de/ +s/weissert@SJUPHIL.SJU.EDU/Tom@Weissert.net/ +s/mehlich@informatik.uni-muenchen.de/mmehlich@semdesigns.com/ +s/eijkhout@math.ucla.edu/victor@eijkhout.net/ +s/ca_rowley@vax.acs.open.ac.uk/c.a.rowley@open.ac.uk/ +s/B.Jackowski@gust.s.org.pl/B.Jackowski@gust.org.pl/ +s/P.Pianowski@gusts.org.pl/P.Pianowski@gust.org.pl/ +s/mittelbach@mzdmza.zdv.uni-mainz.de/Frank.Mittelbach@Uni-Mainz.de/ +s/mcjones@pa.dec.com/paul.mcjones@acm.org/ +s/h.harders@tu-bs.de/Harald.Harders@dlr.de/ +s/pwilson@cme.nist.gov/peter.r.wilson@boeing.com/ +s/wikner@ariel.nac.ac.za/wikner@nac.ac.za/ +s/vitus@agropc.msk.su/vitus@ice.ru/ +s/greg@bic.mni.mcgill.ca/gward@python.net/ +s/mittelbach@mzdmza.zdv.uni-mainz.de/frank.mittelbach@latex-project.org/ +s/fbraun@rz.uni-potsdam.de/fbraun@atdot.org/ +s/david@dcarlisle.demon.co.uk/david.carlisle@latex-project.org/ +s/davidc@nag.co.uk/david.carlisle@latex-project.org/ +s/rf@cl.cam.ac.uk/rf10@cam.ac.uk/ +s/robin.fairbairns@cl.cam.ac.uk/rf10@cam.ac.uk/ +s/robin@lsl.co.uk/rf10@cam.ac.uk/
\ No newline at end of file diff --git a/Master/texmf-dist/doc/texlive/texlive-en/archive/l.pl b/Master/texmf-dist/doc/texlive/texlive-en/archive/l.pl new file mode 100644 index 00000000000..d74f313a5cc --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/archive/l.pl @@ -0,0 +1,44 @@ +require "status.pl"; +require "texlive.pl"; +while (<>) { + chop; + s/,$//; + if (/^\@TeXIndex/) + { + ($nam) = /^\@TeXIndex.(.*)/; + print "\@TeXIndex\{$nam"; + $Status=1; + $Texlive=1; + $Modified=0; + } + elsif (/^ *modified/) { s/, *$//; $mod=$_; } + elsif (/^ *status/) { $Status=0; + if ($L{$nam}) + { print ",\n status\t= \{$L{$nam}\}"; + $Modified=1;} + else { print ",\n$_"; } + } + elsif (/^ *texlive/) { $Texlive=0; + if ($texlive{$nam} ne "") + { print ",\n texlive\t= \{$texlive{$nam}\}"; + $Modified=1;} + } + elsif (/^}/) { + if ($Status) { + print ",\n status\t= \{unknown\}"; + } + if ($Texlive && $texlive{$nam} ne "") + { print ",\n texlive\t= \{$texlive{$nam}\},\n"; } + if ($Modified) + { print ",\n modified\t= {1999/03/26 10:00:00 <s.rahtz\@elsevier.co.uk>}\n"; } + elsif ($M{$nam} ne "") + { print ",\n modified\t= \{$M{$nam}\}\n"; } + else + {print ",\n$mod\n"; } + print "}\n"; + } + + elsif (/= {/) { print ",\n$_"; } + else { print "\n$_"; } + } + diff --git a/Master/texmf-dist/doc/texlive/texlive-en/archive/live-2003.tex b/Master/texmf-dist/doc/texlive/texlive-en/archive/live-2003.tex new file mode 100644 index 00000000000..55c1551a628 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/archive/live-2003.tex @@ -0,0 +1,3937 @@ +% $Id$ +% change history (started May 13th 2002) +% 2003/09/06: fixes from Staszek +% 2003/09/05: touched by Karl +% 2003/09/04: fixes from Staszek and Fabrice +% 2003/09/01: fixes from Volker +% 2003/08/24: win32 updates, by Fabrice +% 2003/08/12: fixes from Christer Gustafsson <gustaf@powertech.no>. +% 2003/07/07: substantial revisions by karl. +% 2002/05/25: remove mention of sizes, and bsr-interpolated; add Gutenberg +% 2002/05/18: win32 updates, by Fabrice +% 2002/05/14: corrected example files, other small errors noted by Volker +% 2002/05/13: added tex-langafrican to list of collections +% +\documentclass{article} +\usepackage{tex-live} +% +% +\begin{document} + +\title{{\huge\textsf{\TK{} 2003}}\\[3mm] + The \protect\TeXLive{} Guide} +\date{September 2003} + +\author{Sebastian Rahtz, editor \\[3mm] + \email{tex-live@tug.org}\\ + \url{http://tug.org/texlive/}\\[10mm] +\ifnum \Status=2 + \includegraphics[bb=0 0 824 741]{../pictures/front.jpg} \\[5mm] +\else + \includegraphics[width=.5\linewidth]{../pictures/front} \\[5mm] +\fi + \small \textit{Documentation contacts:}\\[3mm] + \small \begin{tabular}{lcr} + Czech/Slovak & Petr Sojka & \email{sojka@fi.muni.cz} \\ + & Janka Chleb\'\i kov\'a & \email{chlebikj (at) dcs.fmph.uniba.sk} \\ + English & Karl Berry & \email{karl@freefriends.org} \\ + French & Fabrice Popineau & \email{fabrice.popineau@supelec.fr} \\ + German & Volker RW Schaa & \email{volker@dante.de} \\ + Polish & Staszek Wawrykiewicz & \email{staw@gust.org.pl} \\ + Russian & Boris Veytsman & \email{borisv@lk.net} \\ + \end{tabular} + } + +% comes out too close to the toc, and we know it's page one anyway. +\thispagestyle{empty} + +\maketitle +\newpage + +\begin{multicols}{2} +\tableofcontents +\listoftables +\end{multicols} + +\section{Introduction} +\label{sec:intro} + +This document describes the main features of the \TeXLive{} software +distribution\Dash a \TeX{} and \LaTeX{} distribution for Linux and other +Unix flavors, \MacOSX, and (32-bit) Windows systems. (Warning: it is +not especially useful for older Mac or \acro{MS-DOS} systems.) It +includes precompiled binaries for \TeX{}, \LaTeXe{}, \MF, \MP, +\BibTeX{} and many other programs; an extensive collection of +macros, fonts and documentation; and support for typesetting in many +different scripts from around the~world. + +For the 2003 release, the last update of packages and programs was made +on September 3, 2003. For newer versions, please consult \acro{CTAN}, +\url{http://www.ctan.org}. + +For a brief summary of the major changes in this edition of \TeXLive{}, +see section~\ref{sec:history} on p.~\pageref{sec:history}. + + +\subsection{Basic usage of \protect\TeXLive{}} +\label{sec:basic} + +You can use \TeXLive{} in three principal ways: + +\begin{enumerate} + +\item You can run \TeXLive{} directly from the distribution media +(except for the \pkgname{inst} distribution; see +section~\ref{sec:multiple-dist} on p.~\pageref{sec:multiple-dist}). +This takes almost no disk space, as you might expect, and gives you +immediate access to everything in \TeXLive{}. Of course performance +will be worse than running on local disk, but you may well find it +acceptable. + +\item You can install all or part of \TeXLive{} to a local disk. This +is the most common use of \TeXLive. You will need a minimum of 120 +megabytes, 360 megabytes for a recommended system, and 800 megabytes for +a full system. + +\item You can integrate a particular package or collection into your +existing \TeX{} system, either a \TeXLive{} system you installed earlier +or a different system. + +\end{enumerate} + +\noindent All of these are described in detail in the \acro{OS}-specific +installation sections. + + +\subsection{Getting help} +\label{sec:help} + +The \TeX{} community is both active and friendly, and virtually all +serious questions end up getting answered. However, the support is +informal, done by volunteers and casual readers, so it's especially +important that you do your homework before asking. (If you prefer +commercial-style support, you can forego \TeXLive{} completely and +purchase a vendor's system; see +\url{http://tug.org/interest.html#vendors} for a list.) + +Here is a list of resources, approximately in the order we recommend +using them: + +\begin{description} +\item [\TeX{} \acro{FAQ}] The \TeX{} \acro{FAQ} is a huge compendium of +answers to all sorts of questions, from the most basic to the most +arcane. It is included on \TeXLive{} in \OnCD{FAQ/english}, and is +available on the Internet through \url{http://faq.tug.org}. Please +check here first. + +\item [\TeX{} Catalogue] If you are specifically looking for a package, +font, program, etc., the \TeX{} Catalogue is the place to look. It is a +huge list of all \TeX{}-related items. See +\OnCD{texmf/doc/html/catalogue}, or +\url{http://www.ctan.org/tex-archive/help/Catalogue/catalogue.html}. + +\item [\TeX{} Web Resources] This web page has many \TeX{}-related +links, in particular for numerous books, manuals, and articles on all +aspects of the system: \url{http://tug.org/interest.html}. + +\item [support archives] The two principal forums for support are the +Usenet newsgroup \url{news:comp.text.tex} and the mailing list +\email{texhax@tug.org}. So, their archives have thousands of past +questions and answers for your searching pleasure. See +\url{http://groups.google.com/groups?group=comp.text.tex} and +\url{http://tug.org/mail-archives/texhax}, respectively. A query on a +general web search engine, such as \url{http://google.com}, never hurts. + +\item [posting questions] If you cannot find an answer, you can post to +\dirname{comp.text.tex} through Google or your newsreader, or through +email to \email{texhax@tug.org}. But before you post, \emph{please} +read this \acro{FAQ} entry for advice on asking questions in such a way +that you're most likely to get an answer: +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. + +\item [\TeXLive{} support] If you want to report a bug or have +suggestions or comments on the \TeXLive{} distribution, installation, or +documentation, the mailing list is \email{tex-live@tug.org}. However, +if your question is about how to use a particular program included in +\TeXLive{}, you are better off writing to that program's maintainer or +mailing list. + +\end{description} + +The other side of the coin is helping others who have questions. Both +\dirname{comp.text.tex} and \code{texhax} are open to anyone, so feel +free to join, start reading, and help out where you can. Welcome to +\TeX{}! + + +\section{Structure of \protect\TeXLive} +\label{sec:struct-tl} + +The main two installation scripts for Unix and \MacOSX{} are +\texttt{install-tl.sh} and \texttt{install-pkg.sh}. We discuss them +in section \ref{sec:unix-install} on p.~\pageref{sec:unix-install}. +Here, we describe the structure and contents of \TeXLive{}. + + +\subsection{Multiple distributions: \protect\pkgname{live}, + \protect\pkgname{inst}, \protect\pkgname{demo}} +\label{sec:multiple-dist} + +As of 2003, space limitations of \acro{CD-ROM} format have forced us to +divide \TeXLive{} into three distributions, as follows. + +\begin{description} + +\item [live] a complete, runnable system on \acro{DVD}; it is too large +for \acro{CD-ROM}. (The \DVD{} also includes a snapshot of the \CTAN{} +repository, completely independent of \TeXLive{}.) + +\item [inst(allable)] a complete system on \CD; in order to make it fit, +we had to compress everything we could. Therefore, it is not possible +to run \TeX\ directly from the installable \CD, you have to install it to +disk (hence its name). Installation is described in subsequent sections. + +\item [demo] a live system runnable directly from \CD; in order to make +this fit, we omitted the very large collection of \acro{CJK} (Chinese, +Japanese, Korean) language support, support for typesetting music, some +less-commonly used fonts, and included executables only for Linux, +\MacOSX, and Windows systems. + +\end{description} + +\noindent You can tell which type of distribution you're in by looking +for a \texttt{00\var{type}.TL} file in this top-level directory. + + +\subsection{Top level directories} + +Here is a brief listing and description of the top level directories in +the \TeXLive{} distribution. + +\smallskip +\begin{tabular}{>{\ttfamily}lp{.8\hsize}} +bin & The \TeX{} system programs, arranged by platform. \\ +Books & Examples from some of the books about \TeX\ (see + \filename{Books/README}). \\ +FAQ & Current versions of major FAQ collections. \\ +info & A few manuals in \acro{GNU} Info format, where available. \\ +\MacOSX & Supporting software for \MacOSX (see + section~\ref{sec:mac-install} on p.~\pageref{sec:mac-install}). \\ +man & Unix man pages. \\ +source & The source of all programs, including the main \Webc{} + \TeX{} and \MF{} distributions. These are stored in a + \cmdname{bzip2}-compressed tar archive. \\ +support & assorted auxiliary packages and programs. These are + \emph{not} installed by default. This includes + \cmdname{Ghostscript}, \cmdname{netpbm}, and assorted editors and + \TeX\ shells. \\ +texmf & root of installed packages, fonts, config files, etc. \\ +usergrps & Material about a few of the \TeX\ user groups. (Visit + \url{http://tug.org/usergroups.html} for a current list.) \\ +xemtex & The \cmdname{XEmacs} editor and other support programs for + Windows (see section~\ref{sec:win-xemtex} on p.~\pageref{sec:win-xemtex}). + These programs generally come pre-installed on Unix systems, or are + at least easy to compile. \\ +\end{tabular} + + +\subsection{Extensions to \TeX} +\label{sec:tex-extensions} + +\TeXLive{} contains three extended versions of \TeX: + +\begin{description} + +\item [\eTeX] adds a small but powerful set of new primitives +\label{text:etex} +(related to macro expansion, character scanning, classes of marks, +additional debugging features, and more) and the \TeXXeT{} extensions +for bidirectional typesetting. In default mode, \eTeX{} is 100\% +compatible with ordinary \TeX. See +\OnCD{texmf/doc/etex/base/etex_man.pdf}. \eTeX{} is now the default for +\LaTeX{} and pdf\LaTeX{}. + +\item [pdf\TeX] writes Acrobat PDF format as well as \dvi{}. The +\LaTeX{} \pkgname{hyperref} package has an option `\optname{pdftex}' +which turns on all the program features. See +\OnCD{texmf/doc/pdftex/pdftex-l.pdf} and +\OnCD{texmf/doc/pdftex/base/example.tex}. + +\item [\OMEGA\ (Omega)] based on Unicode (16-bit characters), thus +supports working with almost all the world's scripts simultaneously. It +also supports so-called `\OMEGA{} Translation Processes' (\acro{OTP}s), +for performing complex transformations on arbitrary input. See +\OnCD{texmf/doc/omega/base/doc-1.8.tex} (not completely up-to-date). + +\end{description} + + +\subsection{Other notable programs in \protect\TeXLive} + +Here are a few other commonly-used programs included in \TeXLive{}: + +\begin{cmddescription} + +\item [bibtex] bibliography support. + +\item [makeindex] index support. + +\item [dvips] convert \dvi{} to \PS{}. + +\item [xdvi] \dvi{} previewer for the X Window System. + +\item [dvilj] HP LaserJet driver. + +\item [dv2dt, dt2dv] convert \dvi{} to/from plain text. + +\item [dviconcat, dviselect] cut and paste pages +from \dvi{} files. + +\item [dvipdfm] convert \dvi{} to PDF, an alternative approach +to pdf\TeX\ (mentioned above). See the \pkgname{ps4pdf} and +\pkgname{pdftricks} packages for still more alternatives. + +\item [psselect, psnup, \ldots] \PS{} +utilities. + +\item [lacheck] \LaTeX{} syntax checker. + +\item [texexec] Con\TeX{}t and PDF processor. + +\item [tex4ht] \TeX{} to HTML converter. + +\end{cmddescription} + + +\section{Unix installation} +\label{sec:unix-install} + +As introduced in section~\ref{sec:basic} on p.~\pageref{sec:basic}, +\TeXLive{} has three principal uses: + +\begin{enumerate} +\item Run directly from media. +\item Install to disk. +\item Integrate a particular package or collection into your existing +\TeX{} installation. +\end{enumerate} + +\noindent The following sections describes the Unix-specific procedures +for each of these. + +\ifSingleColumn \begin{figure}[ht]\noindent \fi +\begin{warningbox} +\textbf{Warning: } The \TK{} \CD{}s and \DVD{} are in ISO 9660 (High Sierra) +format, \emph{with} Rock Ridge (and Joliet, for Windows) +extensions. Therefore, in order to take full advantage of the \TK{} +under Unix, your system needs to be able to use the Rock Ridge +extensions. Please consult the documentation for your \cmdname{mount} +command to see how to do this. If you have several different machines +on a local network, you may be able to mount the \CD{}s on one which +does support Rock Ridge, and use this with the others. + +\leavevmode\quad Linux, Free\acro{BSD}, Sun, \acro{SGI} and +Alpha systems should be able to use the \CD{}s without problems. We +would appreciate receiving detailed advice from users on other systems +who succeed, for future versions of this documentation. + +\leavevmode\quad +The discussion below assumes you have been able to mount +the \CD{}s with full Rock Ridge compatibility. +\end{warningbox} +\ifSingleColumn\end{figure}\fi + + +% +\subsection{Running \protect\TeXLive{} directly from media (Unix)} + +\def\runlive{% text repeated in windows section +It is possible to use the \TeX{} system directly from the \pkgname{demo} +\CD{} or the \pkgname{live} \DVD{}, without installing the distribution +to disk. (Thus the name `\TeXLive', in fact.) It is \emph{not} +possible to run \TeX{} directly from the \pkgname{inst} \CD (see +section~\ref{sec:multiple-dist} on p.~\pageref{sec:multiple-dist}). +} + +Only Linux, \MacOSX, and Windows binaries are included on the demo \CD; +if you want to run live on other Unix systems, you'll need to use the +\DVD. + +\def\startinst{% repeated in other subsections +To start, we must mount the \CD{} or \DVD{}, with Rock Ridge extensions +enabled. The exact command to do this varies from system to system; the +following works under Linux, except the name of the device +(\filename{/dev/cdrom}, here) may vary. (All our examples will use +\texttt{>} as the shell prompt; user input is \underline{underlined}.) +\begin{alltt} +> \Ucom{mount -t iso9660 /dev/cdrom /mnt/cdrom} +\end{alltt} + +\noindent Change the current directory to the mount point: +\begin{alltt} +> \Ucom{cd /mnt/cdrom} +\end{alltt} + +\noindent Under \MacOSX, the directory is typically under +\dirname{/Volumes}, and the media will be mounted automatically. +} + +\startinst + +Run the installation script \filename{install-tl.sh}: +\begin{alltt} +> \Ucom{sh install-tl.sh} +Welcome to TeX Live... +\end{alltt} + +\def\firstinstcommand{% +\noindent After various greeting messages and a list of the main menu +options, the installation will ask you to enter a command. Do this by +typing the desired character and hitting return; don't type the angle +brackets. Either uppercase or lowercase is ok; we'll use lowercase in +our examples. +} +\firstinstcommand + +For running live, our first command will be \Ucom{d} and then the +subcommand \Ucom{1} to set directories. Even in this case, we must +choose a directory on the local disk to place files that the \TeX{} +system itself generates, such as fonts and formats, and also to provide +a place for updated configuration files, if need be. We'll use +\dirname{/usr/local/texmf-local} in this example. (If the default value +of \dirname{/usr/TeX} works for you, then you can skip this step.) +\begin{alltt} +Enter command: \Ucom{d} +Current directories setup: +<1> TEXDIR: /usr/TeX +... +Enter command: \Ucom{1} +New value for TEXDIR [/usr/TeX]: \Ucom{/usr/local/texmf-local} +... +Enter command: \Ucom{r} +\end{alltt} + +\noindent Back at the main menu, our second and last command is +\Ucom{r}, to set up for running live off the media without installing +to disk: +\begin{alltt} +Enter command: \Ucom{r} +Preparing destination directories... +... +Welcome to the TeX Live system! +> +\end{alltt} + +\noindent And we are back at the system prompt, as shown. + +Next, it is necessary to alter two environment variables: +\envname{PATH}, to an architecture-dependent value (so that we can run +the programs), and \envname{VARTEXMF}, to the value specified above. See +table~\ref{tab:archlist} for a list of the architecture names for the +different systems, and whether they are available on the \pkgname{demo} +\CD. All systems are available in the \pkgname{inst} and \pkgname{live} +distributions. (In addition to the version-specific names listed here, +there are generic names without the version numbers. For instance, +\dirname{sparc-solaris} links to \dirname{sparc-solaris2.7}. The +generic names can be used to protect against the version numbers +changing in the future, if you wish.) + +\def\runtexconfig{% +After the main installation has completed, and environment variables +have been set, the next step is to run \cmdname{texconfig} to customize +your installation for your needs. This is explained in +section~\ref{sec:texconfig}, p.~\pageref{sec:texconfig}. +} +\runtexconfig + +\begin{table*}[ht] +\caption{Supported system architectures.} +\label{tab:archlist} +\begin{tabular}{>{\ttfamily}lll} +alpha-linux & HP Alpha Linux & \\ +alphaev5-osf4.0d & HP Alphaev5 OSF & \\ +%hppa2.0-hpux10.20 & HP9000 HPUX 10.20 & \\ +i386-freebsd4.8 & Intel x86 FreeBSD & \\ +i386-linux & Intel x86 GNU/Linux & demo \CD\\ +i386-openbsd3.3 & Intel x86 OpenBSD & \\ +i386-solaris2.8 & Intel x86 Solaris & \\ +mips-irix6.5 & SGI IRIX & \\ +powerpc-aix4.3.3.0 & IBM RS/6000 AIX & \\ +powerpc-darwin6.3 & \MacOSX & demo \CD\\ +sparc-solaris2.7 & Sun Sparc Solaris & \\ +sparc64-linux & Sun Sparc Linux & \\ +win32 & Windows (32-bit) & demo \CD\\ +\hline +\end{tabular} +\end{table*} + +\label{text:path} +The syntax for setting the environment variables, and the initialization +file to put them in, depends on the shell you use. If you use a +Bourne-compatible shell (\cmdname{sh}, \cmdname{bash}, \cmdname{ksh}, et +al.), put the following into your \filename{$HOME/.profile} file: +\begin{alltt} +PATH=/mnt/cdrom/bin/\Ucom{\emph{archname}}:$PATH; export PATH +VARTEXMF=/usr/local/texmf-local/texmf-var; export VARTEXMF +\end{alltt} + +\noindent For C shell-compatible shells (csh, tcsh), put the following +into your \filename{$HOME/.cshrc} file: +\begin{alltt} +setenv PATH /mnt/cdrom/bin/\Ucom{\emph{archname}}:$PATH +setenv VARTEXMF /usr/local/texmf-local/texmf-var +\end{alltt} + +\def\donewithinst{% +\noindent Then log out, log back in, and test your installation +(see section~\ref{sec:test-install} on p.~\pageref{sec:test-install}). +} +\donewithinst + +\def\ifindoubt{% +If in doubt, please ask any local system gurus to help you with +problems; for example, the way to mount the \TeXLive{} media, which +directory or directories to use, and precise details of the changes to +your personal initialization files can and do vary from site to site. +} +\ifindoubt + + +% +\subsection{Installing \protect\TeXLive{} to disk} +\label{sec:unix-install-disk} + +It is possible, indeed typical, to install the \TeX{} system from the +\TeXLive{} to disk. This can be done either from the \pkgname{live} +\DVD, or the \pkgname{inst} \CD. It can also be done from the +\pkgname{demo} \CD, if you don't need the omitted packages or systems. +(See section~\ref{sec:multiple-dist} on p.~\pageref{sec:multiple-dist} +for an explanation of the different distributions.) + +\startinst + +Run the installation script \filename{install-tl.sh}: +\begin{alltt} +> \Ucom{sh install-tl.sh} +Welcome to TeX Live... +\end{alltt} + +\firstinstcommand + +Here is an introductory list of the options in the main menu. The order +in which you select the options makes little difference, except that +\Ucom{i} must be last. It's reasonable to go through them in the +order presented~here. + +% apparently here.sty [H] doesn't support table*. +\begin{table}[H] +\caption{Main menu options for the installation.} +\label{tab:main-menu-options} +\begin{tabular}{>{\ttfamily}ll} +p & The system you are running on.\\ +b & The architectures to install binaries for.\\ +s & The base installation scheme to use (minimal, recommended, + full, etc.)\\ +c & Override the installation scheme for individual collections.\\ +l & Override for language collections.\\ +d & Directories in which to install.\\ +o & General options.\\ +i & Perform the installation.\\ +\end{tabular} +\end{table} + +Here are further details on each option. + +\textbf{\optname{p} -- Current platform.} Since the installation script +automatically guesses which platform you're running on, this is +generally unnecessary to override. It's there in case the automatic +detection fails. + +\textbf{\optname{b} -- Binary architectures.} By default, only the +binaries for your current platform will be installed. From this menu, +you can select installation of binaries for other architectures as well +(or not install the current platforms). This is often useful if you +are sharing a \TeX\ tree across a network of heterogenous machines. For +a list of the supported architectures, see table~\ref{tab:archlist}, +p.~\pageref{tab:archlist}. + +\textbf{\optname{s} -- Base installation scheme.} From this menu, you +can choose an overall common set of packages. The default is a +recommended set for typical needs, but you can also choose a basic set +to conserve disk space, or a full set to get absolutely everything. The +\pkgname{Live} scheme is used for creating the \TeXLive{} +\pkgname{demo} distribution itself, and isn't generally useful to select +for a particular site. There are also specific sets for Omega and +\acro{XML} users. + +\textbf{\optname{c} -- Individual collections.} From this menu, you can +override the basic scheme's choice of which collections to install. +Each collection\Dash TeX macro files, Metafont font families, and so +on\Dash consists of several packages. In this menu, selection letters +are case-sensitive. + +\textbf{\optname{l} -- Language collections}. This menu has the same +basic functionality as \Ucom{c}, to override collection choices. In +this case, the collections are specifically for different languages. +Selection letters are case-sensitive here. Here is a list of the +language collections in \TeXLive: + +% xx really should generate list from texmf/tpm/collection/tex-lang* +% a la install-tl.sh. +\begin{tabbing} +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \kill + (some) African scripts \> + Armenian \> + Chinese,Japanese,Korean \> +Croatian \\ + Cyrillic \> + Czech/Slovak \> + Danish \> +Dutch \\ + Finnish \> + French \> + German \> +Greek \\ + Hungarian \> + Indic \> + Italian \> +Latin \\ + Manju \> + Mongolian \> + Norwegian \> +Polish \\ + Portuguese \> + Spanish \> + Swedish \> +Tibetan \\ + \acro{UK} English \> +Vietnamese \\ +\end{tabbing} + +\noindent Language collections typically includes fonts, macros, +hyphenation patterns, and other support files. (For instance, +\pkgname{frenchle.sty} is installed if you select the \optname{French} +collection.) In addition, installing a language collection will alter +the \filename{language.dat} configuration file controlling which +hyphenations are loaded. + +\textbf{\optname{d} -- Installation directories}. Three directories can +be changed here: +\label{text:instdir} + +\begin{ttdescription} +\item [TEXDIR] By default, the top-level directory under which +everything else will be installed. The default value is +\dirname{/usr/TeX}, and is often changed. For example, changing to a +value such as \dirname{/usr/local/texlive2003} would make it possible to +keep different releases of \TeXLive{} separate. You may then wish to +make \dirname{/usr/local/texlive} a symbolic link, after testing the new +release. + +Under \MacOSX, the usual frontends look for \TeX{} in +\dirname{/usr/local/teTeX}, so you may wish to install \TeXLive{} there. + +\item [TEXMFLOCAL] This tree is where the \TeX{} system scripts install +non-version-specific files, primarily fonts. The default value is +\dirname{TEXDIR/texmf-local}. It's also the recommended location to put +any local packages or configuration settings. Therefore, it's desirable +to change it to a location independent of the current \TeXLive{} +release; for example, \dirname{/usr/local/texmf-local}. + +\item [VARTEXMF] This tree is where the scripts install files that +\emph{are} version-specific, primarily format files and the +configuration files which are modified by \cmdname{texconfig} (see +section~\ref{sec:texconfig}, p.~\pageref{sec:texconfig}). The default +value is \dirname{TEXDIR/texmf-var}, and there's generally no reason to +change it. + +\end{ttdescription} + +\textbf{\optname{o} - General options.} From this menu, you can select +three general options affecting the installation: + +\begin{ttdescription} +\item [a] Specify an alternate directory for generated fonts. +The default is to use the \envname{VARTEXMF} tree, as explained above. +Setting this is useful if you plan to mount the main tree read-only, and +therefore another location (perhaps machine-specific) must be used for +dynamically created fonts. + +\item [l] Create symbolic links for the binaries, man pages, +and/or \acro{GNU} Info files in other locations. For example, you may +wish to make the man pages available under \dirname{/usr/local/man} and +the Info files available under \dirname{/usr/local/info}. (Of course +you need appropriate privileges to write in the specified directories.) + +\item [d] Skip installation of the font/macro documentation tree. +This is useful to save space, or if you've previously installed the +documentation elsewhere. + +\item [s] Skip installation of the main font/macro source +tree. This is useful if you are arranging to share that tree between +machines and/or architectures in some other way, such as \acro{NFS} or +\cmdname{automount}. + +\end{ttdescription} + +\textbf{i - Perform installation.} When you're satisfied with your +configuration options, enter \Ucom{i} to actually do the installation +from the media to your chosen locations. + +The last step is to include the architecture-specific subdirectory of +\dirname{TEXDIR/bin} in your +\envname{PATH}, so the newly-installed programs can be found. The +architecture names are listed in table~\ref{tab:archlist}, +p.~\pageref{tab:archlist}, or you can simply list the directory +\dirname{TEXDIR/bin}. + +The syntax for doing this, and the initialization file to put it in, +depends on the shell you use. If you use a Bourne-compatible shell +(\cmdname{sh}, \cmdname{bash}, \cmdname{ksh}, et al.), put the following +into your \filename{$HOME/.profile} file: +\begin{alltt} +PATH=/\Ucom{\emph{TEXDIR}}/bin/\Ucom{\emph{archname}}:$PATH; export PATH +\end{alltt} + +\noindent For C shell-compatible shells (\cmdname{csh}, \cmdname{tcsh}), +put the following into your \filename{$HOME/.cshrc} file: +\begin{alltt} +setenv PATH /\Ucom{\emph{TEXDIR}}/bin/\Ucom{\emph{archname}}:$PATH +\end{alltt} + +\runtexconfig + +Here is a brief annotated example which selects a full installation, +with binaries for the current system only, with directory changes as +recommended above. The prompts and \acro{RETURN} keys are omitted for +brevity. + +\begin{alltt} +> \Ucom{sh install-tl.sh} +\Ucom{s} \Ucom{b} \Ucom{r} # scheme, full, return to main +\Ucom{d} # change directories +\Ucom{1} \Ucom{/usr/local/texlive2003} # top-level dir +\Ucom{2} \Ucom{/usr/local/texmf-local} # TEXMFLOCAL outside TEXDIR +\Ucom{r} # return to main +\Ucom{i} # perform installation +> \Ucom{texconfig} ... +# New PATH, assuming Linux: +> \Ucom{PATH=/usr/local/texlive2003/bin/i386-linux:$PATH; export PATH} +\end{alltt} + +\ifindoubt + + +% +\subsection{Installing individual packages to disk} + +You can add individual packages or collections from the current +distribution to an existing non-\TeXLive{} setup, or an earlier +\TeXLive{} installation. You can do this from the \pkgname{demo} \CD{} +or the \pkgname{live} \DVD{}, but \emph{not} from the \pkgname{inst} +\CD. (See section~\ref{sec:multiple-dist} on +p.~\pageref{sec:multiple-dist}.) + +\startinst + +Run the installation script \filename{install-pkg.sh} (not +\filename{install-tl.sh}, which is intended for complete installations +only): +\begin{alltt} +> \Ucom{sh install-pkg.sh \emph{options}} +\end{alltt} + +This first set of options controls what gets read: + +\begin{ttdescription} +\item [-{}-package=\emph{pkgname}] The individual package to work on. + +\item [-{}-collection=\emph{colname}] The individual collection to work on. + +\item [-{}-nodoc] Exclude documentation files from the operation. + +\item [-{}-nosrc] Exclude source files from the operation. + +\item [-{}-cddir=\emph{dir}] Source directory to read from; defaults +to the current directory. If you followed the instructions above, that +will be the distribution directory, and won't need to be changed. + +\item [-{}-listdir=\emph{dir}] The so-called `lists' directory within +\emph{cddir} from which to read the package information. The default is +\texttt{\emph{cddir}/texmf/tpm/lists}; the only reason to change it is +if you're making changes to \TeXLive{} yourself. + +\end{ttdescription} + +What actually happens is controlled by the following options. If +neither of these are specified, the default action is to install the +selected files. The main destination tree is found by expanding +\envname{\$TEXMFMAIN} with \cmdname{kpsewhich}. You can override it by +setting either the environment variable \envname{TEXMFMAIN} or +\envname{TEXMF}. + +\begin{ttdescription} +\item [-{}-listonly] List the files that would be installed, but don't +actually install anything. + +\item [-{}-archive=\emph{tarfile}] Instead of installing the files into +the \TeX{} system, make a \cmdname{tar} archive. + +\end{ttdescription} + +Additional options: + +\begin{ttdescription} + +\item [-{}-config] After installation, run \code{texconfig init}. + +\item [-{}-nohash] After installation, don't run \cmdname{mktexlsr} to +rebuild the filename database. + +\item [-{}-verbose] Give more information as the script runs. + +\end{ttdescription} + +Here are some usage examples: + +\begin{enumerate} + +\item To see the files in the package \pkgname{fancyhdr} without +installing it: + +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=fancyhdr --listonly} +\else> \Ucom{sh install-pkg.sh --package=fancyhdr \bs} +> \Ucom{--listonly} +\fi{} +texmf/doc/latex/fancyhdr/README +texmf/doc/latex/fancyhdr/fancyhdr.dvi +texmf/doc/latex/fancyhdr/fancyhdr.pdf +... +\end{alltt} + +\item Install the \LaTeX{} package \pkgname{natbib}: +\begin{alltt} +> \Ucom{sh install-pkg.sh --package=natbib} +\end{alltt} + +\item Install the \LaTeX{} package \pkgname{alg} without source files or +documentation: +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=alg --nosrc --nodoc} +\else> \Ucom{sh install-pkg.sh -{}-package=alg \bs} +> \Ucom{-{}-nosrc -{}-nodoc} +\fi\end{alltt} + +\item Install all the packages in the collection of additional +plain \TeX\ macros: +\begin{alltt} +> \Ucom{sh install-pkg.sh --collection=tex-plainextra} +\end{alltt} + +\item Write all files in the \pkgname{pstricks} package to a +\cmdname{tar} file in \path|/tmp|: +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=pstricks --archive=/tmp/pstricks.tar} +\else +> \Ucom{sh install-pkg.sh -{}-package=pstricks \bs} +> \Ucom{-{}-archive=/tmp/pstricks.tar} +\fi\end{alltt} + +\end{enumerate} + +\ifindoubt + + +% +\section{Post-installation} +\label{sec:postinstall} + +After the main installation is done, for any operating system, the +remaining steps are to configure the system for your local needs, and +perform some basic tests. + +Another sort of post-installation is to acquire packages, fonts, or +programs that were not included in \TeXLive{}. The basic idea is to +install such additions in the \envname{TEXMFLOCAL} tree (if you +installed to disk), or \envname{VARTEXMF} (if you are running live). +See ``Installation directories'' on p.~\pageref{text:instdir}. + +Unfortunately, the details can vary widely, and so we do not attempt to +address them here. Please see +\url{http://www.ctan.org/tex-archive/info/beginlatex/html/chapter5.html#pkginst} +for a good description, and +\url{http://www.ctan.org/tex-archive/info/Type1fonts} for font creation +and installation information in particular. + + +\subsection{The \protect\cmdname{texconfig} program} +\label{sec:texconfig} + +At any time after installation, you can and should use the program +\cmdname{texconfig} to configure the system to fit your local needs. It +is installed in the architecture-specific subdirectory +\texttt{TEXDIR/bin/\emph{arch}} along with everything else. + +If you run it without arguments, it will enter full-screen mode and +allow you to view and change options interactively. + +You can also run it with various command-line options. Here are some of +the most commonly used: + +\begin{ttdescription} + +\item [texconfig dvips paper letter] Set default paper size for +\cmdname{dvips} to be letter-size. + +\item [texconfig xdvi us] Likewise, for \cmdname{xdvi}. + +\item [texconfig rehash] Update all the \TeX{} system filename databases. + +\item [texconfig faq] Show the \teTeX{} \acro{FAQ}. +(See also the main \TeX{} \acro{FAQ} in the \dirname{FAQ} subdirectory +of \TeXLive.) + +\item [texconfig help] Output help information. + +\end{ttdescription} + +Of course, \cmdname{texconfig} only supports changing a few of the many +options and configuration parameters in a \TeX{} system. The main +configuration file for the base \Webc{} programs is named +\filename{texmf.cnf}. You can find its location by running +\samp{kpsewhich texmf.cnf}; it contains many comments explaining the +default settings and useful alternatives. + + +\subsection{Testing the installation} +\label{sec:test-install} + +After installing \TeXLive{} as best you can, you naturally want to test +it out, so you can start creating beautiful documents and/or fonts. + +This section gives some basic procedures for testing that the new system +is functional. We described the Unix commands; under \MacOSX{} and +Windows, you're more likely to run the tests through a graphical +interface, but the principles are the same. + +\begin{enumerate} + +\item Make sure that you can run the \cmdname{tex} program in the first +place: + +\begin{alltt} +> \Ucom{tex -{}-version} +TeX (Web2c 7.5.2) 3.141592 +kpathsea version 3.5.2 +Copyright (C) 1997-2003 D.E. Knuth. +... +\end{alltt} +If this comes back with `command not found' instead of version and +copyright information, most likely you don't have the correct +\dirname{bin} subdirectory in your \envname{PATH}. See +the environment-setting information on p.~\pageref{text:path}. + +\item Process a basic \LaTeX{} file: +\begin{alltt} +> \Ucom{latex sample2e.tex} +>TeX (Web2c 7.5.2) 3.141592 +... +Output written on sample2e.dvi (3 pages, 7256 bytes). +Transcript written on sample2e.log. +\end{alltt} +If this fails to find \filename{sample2e.tex} or other files, perhaps +you have interference from old environment variables or configuration +files. For a deep analysis, you can always ask \TeX{} to report on +exactly what it is searching for, and finding; see ``Debugging actions'' +on page~\pageref{Debugging}. + +\item Preview the result online: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} +\end{alltt} +Under Windows, the analogous command is \cmdname{windvi}. You should +see a new window with a nice document explaining some of the basics of +\LaTeX{}. (Well worth reading, if you're new to the system.) You do +have to be running under X for \cmdname{xdvi} to work; if you're not, or +your \envname{DISPLAY} environment variable is set incorrectly, you'll +get an error \samp{Can't open display}. + +\item Create a \PS{} file for printing or display: +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item Create a \acro{PDF} file instead of \dvi{}; this processes the +\filename{.tex} file and writes \acro{PDF} directly: +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item Preview the \acro{PDF} file: +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{or:} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} +Unfortunately neither \cmdname{gv} nor \cmdname{xpdf} are currently +included in \TeXLive{}, so you must install them separately. See +\url{http://wwwthep.physik.uni-mainz.de/~plass/gv} and +\url{http://www.foolabs.com/xpdf}, respectively. + +\item Other standard test files you may find useful: + +\begin{ttdescription} +\item [docstrip.tex] Produce \TeX{} source or documentation from a +\samp{.dtx} file. +\item [small2e.tex] A simpler document than \filename{sample2e}, to +reduce the input size if you're having troubles. +\item [testpage.tex] Test if your printer introduces any offsets. +\item [nfssfont.tex] For printing font tables and tests. +\item [testfont.tex] Also for font tables, but using plain \TeX{}. +\item [story.tex] The most canonical (plain) \TeX{} test file of all. +You must type \samp{\bs bye} to the \code{*} prompt after \samp{tex +story.tex}. +\end{ttdescription} +You can process these in the same way as we did with +\filename{sample2e.tex}. + +\end{enumerate} + +If you are new to \TeX{}, or otherwise need help with actually +constructing \TeX{} or \LaTeX{} documents, please visit +\url{http://tug.org/begin.html}. We especially recommend the +\textsl{Formatting Information} manual by Peter Flynn, available at +\url{http://www.ctan.org/tex-archive/documentation/beginlatex}. + + +\section{\MacOSX{} installation} +\label{sec:mac-install} + +\TeXLive{} supports \MacOSX, but no prior Macintosh versions. (If you +are running an older Mac version, you can view the files by installing +the Joliet system extension available from +\url{http://www.tempel.org/joliet}; however, the \TeXLive{} binaries +will not run.) + +Installation of \TeX{} under \MacOSX{} can be done in two ways: + +\begin{enumerate} +\item With the \filename{install*} scripts, as with Unix. +\item With the \cmdname{i-Installer} included in +\filename{MacOSX/II2.dmg}. +\end{enumerate} + +\noindent Each of these is described in a following section. + +In addition, typical use of \TeX{} under \MacOSX\ goes through a +\emph{frontend}. This is also described below. + + +\subsection{\protect\cmdname{i-Installer}: Internet installation} +\label{sec:i-Installer} + +The \cmdname{i-Installer} is included in the \TeXLive{} distribution as +an alternative to normal installation. It does not use the contents of +the \TeXLive{} distribution at all; instead, the system (approximately +70 megabytes) is downloaded over the Internet. + +One advantage of \cmdname{i-Installer} is that it makes updates +relatively painless. If you are interested, please see the +\cmdname{i-Installer} \TeX{} home page at \url{http://www.rna.nl/tex.html}. + +To use it, mount \filename{./MacOSX/II2.dmg}. Read the documentation, +launch it, and install at least \emph{TeX Foundation} and \emph{TeX +Programs}. The first will finish without configuration, as soon as the +second is installed you will be presented with a graphical interface to +setting up your \TeX{} system. + +The \cmdname{i-Installer} distribution uses the \teTeX{} \dirname{texmf} +tree with some additions. Due to differences between \TeXLive{} and +\teTeX{} you cannot update a \TeXLive{} installation with an +\cmdname{i-Installer} \emph{TeX Programs} i-Package. + + +\subsection{\protect\cmdname{install*.sh}: \protect\TeXLive{} installation} + +In order to run the installation scripts under \MacOSX, you need to have +the \cmdname{bash} shell installed. If you are running \MacOSX~10.2 +or later, you have \cmdname{bash}, and can proceed. If you're running +an earlier \MacOSX{} version, however, the default shell is +\cmdname{zsh}, which won't work; please see the +subsection~\ref{sec:mac-bash} (p.~\pageref{sec:mac-bash}) below for +instructions on installing bash \cmdname{bash}. + +Once you have \cmdname{bash}, the Unix installation documentation in the +previous section can be followed. See section~\ref{sec:unix-install} on +p.~\pageref{sec:unix-install}; \MacOSX-specific notes are included where +needed. + + +\subsection{\MacOSX{} frontends} + +Using \TeX{} on a Macintosh typically goes through a front end program, +comprising an execution shell, editor, previewer, and other facilities. +Here are the principal frontends: + +\begin{cmddescription} +\item [TeXShop] Included in \TeXLive{} as +\filename{./MacOSX/texshop.dmg}. See +\url{http://www.uoregon.edu/~koch/texshop/texshop.html}. + +\item [ITeXMac] Included in \TeXLive{} as +\filename{./MacOSX/iTeXMac-*.dmg}. See +\url{http://itexmac.sourceforge.net}. + +\item [Mac-emacs] A port of Emacs to \MacOSX{}, integrating +\pkgname{AucTeX}. See \url{http://www.cs.man.ac.uk/~franconi/mac-emacs}. + +\end{cmddescription} + +The frontends use \dirname{/usr/local/teTeX} as the default location; +therefore, you must either install \TeXLive{} there, or change the +configuration of the frontend. + + +\subsection{\cmdname{bash} installation for older \MacOSX{} versions} +\label{sec:mac-bash} + +\MacOSX{} versions 10.1 and earlier do not include \cmdname{bash} by +default, and the default shell does not run the \TeXLive{} installation +scripts properly. This section explains how to install \cmdname{bash}. + +First, check if bash is already installed. `Launch Terminal' +(\filename{/Applications/utilities/Terminal}) and type \code{rehash; +which bash}. If the answer is a filename (for example, +\code{/bin/bash}), then \cmdname{bash} is already installed, and you're done +here; go back to the main installation instructions. +If the answer is \code{bash: command not found}, proceed here. + +There are two ways to install \cmdname{bash} if you need it\Dash via the +\acro{GUI} or via command line. + +To install via \acro{GUI}, double-click the \filename{MacOSX/bash.dmg} +file in \TeXLive{}. The disk image (volume) will be mounted. Then +start the \cmdname{i-Installer} application on that volume. You will be +asked to authenticate; if you have never seen that before, you might not +have enough privileges to install. Just enter your own user name and +password. Hit install. Bash will be installed on your system. + +To install via command line: +\begin{enumerate} +\item ensure you have admin privileges: log in as the +\code{admin} user, the System Administrator, a user with Admin +privileges, using \cmdname{sudo}, etc. + +\item copy \filename{MacOSX/bash.tar.gz} from the \TeXLive{} +distribution to your home directory. + +\item Launch Terminal, and run: +\begin{alltt} +(cd /usr/local/; sudo tar xvzf ~/bash.tar.gz) +\end{alltt} +You'll be asked for your password, and then \cmdname{bash} will be +installed. + +\item Quit Terminal. + +\end{enumerate} + +After using either installation method, be sure to recheck that +\cmdname{bash} is installed with \code{rehash; which bash} in a new +Terminal window. + + +\section{Windows installation} +\label{sec:win-install} + +\TeXLive{} can be installed on systems running Windows 9x, \acro{ME}, +\acro{NT}, \acro{2K} or \acro{XP}. Older versions of Windows (3.1x) +and \acro{MS-DOS} are not supported. + +It is necessary to have your Windows set up so that it uses the +Microsoft Joliet extensions for reading \CD{}s; simply look at the \CD{} +in Explorer and see whether it shows long, mixed-case, file names. If it +does not, you must install the Joliet extensions. + +The Windows \TeX{} system included in \TeXLive{} is no more and no less +than the \fpTeX{} distribution. It includes a \texttt{dvi} previewer, +\textsf{Windvi}, which is similar in usage to the established Unix +\textsf{xdvi}. The documentation can be found in +\OnCD{texmf/doc/html/windvi/windvi.html}. + +\subsection{The \texttt{TeXLive.exe} program} + +\begin{figure*} + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.7\textwidth]{../pictures/Welcome-to-TeXLive} + \else + \ifnum \Status=2 + \includegraphics[bb=0 0 551 534]{../pictures/Welcome-to-TeXLive.jpg} + \else + \includegraphics[width=.7\textwidth]{../pictures/Welcome-to-TeXLive} + \fi + \fi + \end{center} + \caption{``Welcome to \TeXLive'' window}\label{graph:welcome} +\end{figure*} + +If your computer is configured to let the \CD{} autostart, then a dialog +box with a menu bar will popup on the screen, and you will have several +choices from there: + +\begin{itemize} +\item Install \TeX{} on your hard disk +\item Do maintenance on your \TeX{} system. +\item Remove the \TeX{} system. +\item Use \TeX{} off the \TeXLive{} \CD{} or \DVD{}. +\item Browse documentation: \TeXLive{} documentation, TUG web + pages, \fpTeX web pages. +\item Run the \cmdname{TeXdocTK} application to find specific documentation. +\end{itemize} + +If your \CD{} does not autostart, you can explicitly run the program +by double clicking on \path|bin/win32/TeXLive.exe| on the \CD{} from +the explorer window. + +\subsection{Running \protect\TeXLive{} directly from media (Windows)} + +\runlive + +To run live under Windows, from the menu, chose \verb|Explore CD-Rom|, then +\verb|Run TeX off CD-Rom|. This will launch the \cmdname{XEmacs} editor. + +%% To run live under Windows, do the following: + +%% \begin{enumerate} +%% \item from the menu, chose \verb|Explore CD-Rom|, then +%% \verb|Run TeX off CD-Rom|, that will launch the \cmdname{XEmacs} editor. + +%% This program needs to be a \TeX{} oriented editor. It must be able +%% to run the \TeX{} compiler, previewer and any other needed tool. If +%% you don't have one already installed on your system, you can install +%% one from the \CD{}, details section~{\ref{sec:texlive-install}}. + +%% \emph{There is no way we can guess if the program you will +%% select is actually a text editor, so be careful}. +%% Here is a list of frequently used \TeX{} editors: +%% \begin{center} +%% \begin{tabular}[H]{ll} +%% GNU Emacs & \path|c:\Program Files\NTEmacs\bin\runemacs.exe| \\ +%% XEmacs & \path|c:\Program Files\XEmacs\XEmacs-21.2\i586-pc-win32\xemacs.exe| \\ +%% WinShell & \path|c:\Program Files\WinShell\WinShell.exe| \\ +%% WinEdt & \path|c:\Program Files\WinEdt Team\WinEdt\WinEdt.exe|\\ +%% TeXnicCenter & \path|c:\Program Files\TeXnicCenter\TEXCNTR.exe| +%% \end{tabular} +%% \end{center} +%% The program +%% selected will be memorized as the editor to use for future runs. + +%% \item from the menu, chose \verb|Explore CD-Rom|, then +%% \verb|Run TeX off CD-Rom|. The environment will be modified, a small +%% temporary directory created and some configuration files copied +%% there. Then, the selected editor selected will be launched, and you +%% will be able to type in some text, let \TeX{} typeset it and the +%% view it or print it. + +%% If Ghostscript is not detected on your machine, you will be warned +%% that rendering your DVI files might fail. You can install it from +%% the \path|Install|, \path|Support| menu item. See +%% section~\ref{sec:texlive-install} for details. + +%% \item you can select a different text editor any time you want. + +%% \item if you chose \verb|Cleanup CD-Rom setup|, everything \TeX{} +%% needed will be removed, comprised the selection of your text +%% editor, but not the extra packages you may have downloaded and +%% installed. If you installed \cmdname{WinShell} or \cmdname{NTEmacs}, +%% they won't be removed. +%% \end{enumerate} + +XEmacs startup file will set the environment variables needed. XEmacs will also +setup a temporary \acro{TDS} compliant texmf tree in the temporary area of your +computer. It is needed to store files that may be built on the fly, such as +\path|pk| bitmap fonts, or format files. Configuration files are copied from +the \CD{} to this texmf tree, so that you can edit them if needed. The +\path|ls-R| database is computed for this texmf tree. The AUC-\TeX{} mode will +be entered Whenever you will visit or create a \TeX{} file, providing all the +bells and whistles for \TeX{} support XEmacs is capable of. + +If you run 'M-x shell' within XEmacs, then you will have access to all the TeXLive +tools from the command line provided by XEmacs. + +\smallskip {\small\noindent \textbf{[For advanced users:]} You can also + use the small batch file \path|mkloctex.bat| to be called in a + directory \path|bin\win32| of the \CD. From the Start menu select + `Run', then browse the \acro{CD} drive and select + \path|mkloctex.bat|. Before starting it, you should add two parameters + separated by a space: the letter of your \acro{CD} drive and the + letter of the drive where you want to install the \TeX\ directory. + The whole line should read, e.g., \verb+d:\bin\win32\mkloctex.bat d c+. + When installation is complete, please read carefully the information + on screen. If you are running Windows 9x/\acro{ME}, then you will have to + restart Windows.} + +\subsection{Support packages for Windows} +\label{sec:win-xemtex} + +To be complete, a \TeXLive installation needs support packages that are not +commonly found on a Windows machine. +Many scripts are written using the Perl language. Some important tools require +the Ghostscript \PS{} interpreter to render or to convert files. A graphic +file toolbox is also needed in some cases. Last but not least, a \TeX-oriented +editor makes it easy to type in your \TeX{} files. + +All these tools are quite easy to find for Windows, but in order to try to make +your life even easier, we have put such a set of tools on \TeXLive: +\begin{itemize} +\item \cmdname{Ghostscript} 7.07 +\item a minimal \cmdname{Perl} 5.8, sufficient to run all the \TeXLive{} +Perl scripts +\item a subset of \cmdname{ImageMagick} 5.5.6 +\item the \cmdname{ISpell} checker +\item \cmdname{XEmacs} 21.5.14 with a selection of packages to support +\TeX{} typesetting. +\end{itemize} + +These packages should be installed only all at once. The bundle is +known as the \XEmTeX{} bundle. + +If you didn't install \XEmTeX{}, \cmdname{Perl} and \cmdname{Ghostscript} are +installed anyway if they are not detected on your machine. This is because they are +required by many important tools. The \envname{PERL5LIB} and \verb|GS_LIB| +environment variables will be set too. + +When you are under +\cmdname{XEmacs}, the tools provided shadow any other version you might +have installed previously. The point here is that \path|TeXSetup.exe| +will not install anything outside of the \TeXLive location, neither will +it run foreign installers, nor will it try to autodetect installed +products using unreliable rules of thumb. The \XEmTeX{} bundle is +standalone and is meant to evolve in the future. The reference site is +\url{http://www.fptex.org/xemtex/}. + +If you don't want to install this bundle, then you are on your own to +install the required tools to complete your \TeXLive{} system. Here is a +list of places to get those tools: + +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.activestate.com/} (but you might need some + supplementary packages from CPAN: \url{http://www.cpan.org/}) +\item[ImageMagick] \url{http://www.imagemagick.com} +\item[NetPBM] alternatively, you could use NetPBM instead of ImageMagick to + process or convert your graphic files. NetPBM home page is + \url{http://netpbm.sourceforge.net/} +\item[\TeX-oriented editors] There is a wide choice, and it is a matter of the + user's taste. Here is a selection: + \begin{itemize} + \item \cmdname{GNU Emacs} is available natively under Windows, the + reference url is + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html} + \item \cmdname{XEmacs} is available natively under Windows, the + reference url is \url{http://www.xemacs.org/} + \item \cmdname{WinShell} is available on \TeXLive in the \path|support| + directory, the reference url is \url{http://www.winshell.de} + \item \cmdname{WinEdt} is shareware available from \url{http://www.winedt.com} + \item TeXnicCenter is available from + \url{http://www.toolscenter.org/products/texniccenter/} + \item \cmdname{Vim} is available on \TeXLive{} in the + \path|support\vim| directory and the + reference site is \url{http://www.vim.org} + \item \cmdname{SciTE} is available from \url{http://www.scintilla.org/SciTE.html} + \end{itemize} +\end{description} + +You might want to install other tools that are not free\footnote{Not +free, that is, in the sense of freedom to modify and redistribute, +following Debian's guidelines. This does not mean you can't acquire +them for no money.} and therefore not included on \TeXLive{}, such as +\cmdname{GSView}, the \cmdname{Ghostscript} companion to more +conveniently view PS/PDF files. \cmdname{GSView} is available from +\url{http://www.cs.wisc.edu/~ghost/gsview/} or any \acro{CTAN} site. + +%% \subsection{Installing editors or support packages} +%% \label{sec:texlive-install} + +%% You can use the \path|TeXSetup.exe| program to install a +%% single (not \TeX{}-dependent) package. This might be an editor +%% such as \cmdname{WinShell} or \cmdname{NTEmacs}, +%% or a support package like \cmdname{NetPBM} +%% (graphics formats conversion) or \cmdname{Ghostscript}. + +%% Some of the packages are not free, or not with the same meaning as for +%% the rest of the \CD{}. These packages have been made available through +%% the Internet. You need to enable an Internet connection in order to +%% install them. Chosing the \path|Enable Internet access| subitem will +%% search your system for an active Internet connection, or start one if +%% possible. \emph{If your computer is not connected to the Internet, +%% then the timeout might be long, 30s or more}. So try to enable it +%% only if you know you have a connection. + +%% Only a few packages are available from the \CD{}, but the most +%% important of them: \cmdname{NTEmacs} and \cmdname{WinShell} for the +%% editors, \cmdname{Ghostscript} and \cmdname{NetPBM} for the other +%% support packages. \cmdname{NetPBM} is needed for running \TeX{}4ht. + +%% The downloadable packages are sometimes huge: \cmdname{Perl} is 10Mb, +%% \cmdname{XEmacs} is 50Mb, so be warned that it can take a lot of time +%% to install such things. \path|TeXSetup.exe| does not yet provide an +%% estimation of the time needed to complete the download. + +%% When installing these packages, \path|TeXSetup| is working in +%% unattended mode. However, the programs that have their own installer +%% like WinEdt or Ghostscript for example will require human interaction. + +%% Those packages who have no specific installer will be unpacked and configured +%% for your system. You will be required to select some directory where +%% they will be installed. The directory to select should be the root +%% directory of the whole installation. Assuming you want to install +%% NTEmacs and NetPBM, the archive files already contain the +%% \path|NTEmacs\| and \path|NetPBM\| part, so the directory you have to +%% select is something like \path|c:\Local| or \path|c:\Program Files|. + +\subsection{Installing \TeXLive{} to disk} + +\textbf{Warning: Win9x users must ensure they have enough environment + space before undertaking installation. The \cmdname{TeXSetup.exe} + program won't change the environment size for them. A few environment + variables will be created and it is possible you run out of + environment space. Add "SHELL=<path>COMMAND.COM /E:4096 /P" in the + config.sys file in order to increase your environment size.} + +Installation is started by letting the media autostart. The program run +is \path|TeXSetup.exe| if you are using the inst disk. If you are using +the live or the demo disk, you will have to select the item +\path|TeXLive Software| from the menu, then the subitem \path|Install on +Hard Disk|. This will invoke \path|TeXSetup.exe|. You can also find it +in the \path|bin/win32| directory and run it, if the autostart fails for +any reason. \path|TeXSetup.exe| is a Windows wizard and it will display +several pages while running. + +\begin{description} +\item[Welcome Page] + You can choose a \emph{quick} installation from + here. In this case, the installation will run without any human + assistance from beginning to end, with all the default settings + (Figure~\ref{graph:setup-src}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). If you have enough privileges (administrator or power user + rights) under a Windows version where this is applicable, then you can + decide to install the \TeXLive{} for all users or for yourself only by + checking the appropriate box. + For installing the whole \XEmTeX{} bundle (XEmacs, Ghost\-script, + Perl, ImageMagick and Ispell) you can check \emph{Install XEmTeX + Support} box. + \begin{figure*}[!htb] + The \cmdname{TeXSetup} Wizard\hfill + Source directories for the \TeXLive{} files + + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{../pictures/setup-wizard.jpg}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/source-for-texlive.jpg} + \else + \ifnum \Status=2 +\includegraphics[bb=0 0 506 403]{../pictures/setup-wizard.jpg} +\includegraphics[bb=0 0 506 403]{../pictures/source-for-texlive.jpg} + \else + \includegraphics[width=.48\textwidth]{../pictures/setup-wizard}% + \hfill% + \includegraphics[width=.48\textwidth]{../pictures/source-for-texlive} + \fi + \fi + \caption{The \TeXLive{} setup wizard}\label{graph:setup-src} + \end{center} +\end{figure*} +\item[Source Page] + This page is a bit complex. It will allow you to select two source + directories for your \TeXLive{} system + (Figure~\ref{graph:setup-src}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). You will need a \emph{local + source directory} and possibly a \emph{remote source directory}. + +Why do we need both these directories? The files consisting of the +\TeXLive{} system are on the \CD{}, of course, but some other useful +packages are not, either because of space lacking or because their +license was not compatible with \TeXLive{}. You need to enable Internet +downloading if you want to install these packages that are marked with a +specific ``remote'' icon. + + However, don't panic: the default parameters of the setup will allow + you to install a full system using the \CD{} only. Simply, you won't + have \file{WinEdt} (for example), but you will be able to install it + later. + + So you can take your files from: + \begin{itemize} + \item the \CD{} or any similar flat tree of files, available through + some standard directory (this means the \CD{} can be mounted on + some remote machine and be made available through network + sharing), + \item a set of \file{.zip} files (this is the case when you are + installing from the demo \CD{} or the \fpTeX{} distribution), + \item the Internet; in this case, the program takes care of + downloading the \file{.zip} files it needs for you. + \end{itemize} + This option is available only if you enable Internet file + downloading in the right part of the page. You also need to + configure this Internet access by selecting to connect either using + Internet Explorer~5 \file{wininet.dll}, or using a direct connection (\texttt{ftp}, + \texttt{http}). +% or using a proxy server. +% Last, you can be assisted in defining the \emph{local source +% directory} and \emph{remote source directory} which will be used +% to copy the files onto your hard disk. The \texttt{browse} buttons +% allow to select a directory for the former, and an url among a list +% of mirrors for the latter. +\item[Root Page] + On this page, you will tell where you want the files to be + installed (Figure~\ref{graph:root-schm}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). Only the root directory really matters, the other ones + are set according to the root one. You may want to make + \path|$TEXMFEXTRA| point to some TDS compliant directory with other + \TeX{} files or assign a different value to + \path|$HOMETEXMF|, which is set by default to whatever Windows think + is your `HOME' location. +\begin{figure*}[!htb] + Root and directories\hfill% + Scheme selection + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.46\textwidth]{../pictures/root-of-installation.jpg}\hfill% + \includegraphics[width=.46\textwidth]{../pictures/scheme-selection.jpg} + \else + \ifnum \Status=2 +\includegraphics[bb=0 0 506 403]{../pictures/root-of-installation.jpg} +\includegraphics[bb=0 0 506 403]{../pictures/scheme-selection.jpg} + \else + \includegraphics[width=.46\textwidth]{../pictures/root-of-installation}% + \hfill% + \includegraphics[width=.46\textwidth]{../pictures/scheme-selection} + \fi + \fi + \caption{\TeXLive-Setup: Root and directories / Schemes}\label{graph:root-schm} + \end{center} +\end{figure*} +\item[Get TPM Page] + This page does not require any manual intervention. The \file{.tpm} + files which describe collections and packages are retrieved + (possibly from the Internet), unzipped if needed and parsed. +\item[Schemes Page] + On this page, you will select the global scheme of your + installation (Figure~\ref{graph:root-schm}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). A scheme is a large set of files targeted at some kind + of usage. There are 3 generic schemes for basic, recommended and + full installation. The other ones are devoted to LUGs (what GUST or + GUTenberg propose for their members) or applications (XML and + \TeX{}). + When a scheme is selected, it is still possible to refine the + selection by checking the appropriate box. If doing so, you will be + presented the packages page to change your selection, else you will + jump to the review page. +\item[Packages Page] + Collections and packages are presented in a tree form + (Figure~\ref{graph:win32-support}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). The links + in the tree are dependency links. Collections \emph{depend on} + packages and maybe other collections, and it is the same for each + package. You can select any package or collection individually, but + your request will be granted only if the object is not requested by + another one which is selected. For example, you can't deselect + \texttt{tex-basic} without deselecting all the collections that + request it. + + The \texttt{tex-xemtex} collection displayed on the picture is Win32 specific. It + holds a number of bonus packages (Figure~\ref{graph:win32-support}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ) which can be installed + automatically and individually: Ghostscript (the \PS{} + interpreter), XEmacs editor preconfigured for \TeX{}, tools like Perl, + ImageMagick, Ispell. \emph{None of these packages are selected by + default}. + + On this page, you also have the information about disk space + needed, for each object, and for the set of those who are selected, + and also the disk space available on the partition selected for the + installation. Last, you can choose to install or not the + documentation files and source files associated with each package. +\item[Review Page] + You will find there a summary of your choices + (Figure~\ref{graph:review}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). It is still possible to + go back to change them. +\begin{figure*}[!htb] + Packages Page\hfill% + Win32 Support + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{../pictures/package-selection}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/win32-support} + \else + \ifnum \Status=2 +\includegraphics[bb=0 0 506 403]{../pictures/package-selection.jpg}\hfill% +\includegraphics[bb=0 0 506 403]{../pictures/win32-support.jpg} + \else + \includegraphics[width=.48\textwidth]{../pictures/package-selection}% + \hfill% + \includegraphics[width=.48\textwidth]{../pictures/win32-support} + \fi + \fi + \end{center} + \caption{Packages Page / Win32 goodies} + \label{graph:win32-support} +\end{figure*} +\item[Files Copy Page] + The selected files are copied on your hard disk (Figure~\ref{graph:file-copy}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). All the files not + yet available on your local disk are first downloaded from the + remote source directory on the Internet. Then every package is + unpacked (if \path|.zip| files), or copied from the \CD{}. +\item[Configuration Page] Several packages need some configuration + step to make them usable (Figure~\ref{graph:configuration}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). Also the \TeXLive{} system needs some post-processing step + (format files generation, ls-R databases generation, environment + variables, etc.). All these operations are done there, some of them + can be lengthy. +\begin{figure*}[!htb] + \textbf{Review Page}\hfill% + \textbf{File Copy Page} + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{../pictures/review-settings}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/file-copy} + \else + \ifnum \Status=2 + \includegraphics[bb=0 0 506 403]{../pictures/review-settings.jpg}\hfill% + \includegraphics[bb=0 0 506 403]{../pictures/file-copy.jpg} + \else + \includegraphics[width=.48\textwidth]{../pictures/review-settings}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/file-copy}% + \fi + \fi + \end{center} + \caption{Review Page / File Copy Page} + \label{graph:review}\label{graph:file-copy} +\end{figure*} +\item[Final Page] The installation being over, you may want to display + the Windows specific documentation (HTML format) and / or the log + file of the setup process (Figure~\ref{graph:final} + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). If it is needed (Win9x/WinME), you will + be asked to reboot your computer. +\end{description} + +\begin{figure*}[!htb] + \textbf{Configuration Page}\hfill% + \textbf{Final Page} + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{../pictures/configuration}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/congratulations} + \else + \ifnum \Status=2 + \includegraphics[bb=0 0 506 403]{../pictures/configuration.jpg}\hfill% + \includegraphics[bb=0 0 506 403]{../pictures/congratulations.jpg} + \else + \includegraphics[width=.48\textwidth]{../pictures/configuration}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/congratulations}% + \fi + \fi + \end{center} + \caption{Configuration Page / Final page} +\label{graph:configuration}\label{graph:final} +\end{figure*} + +Please be aware that the choice of cluster size on DOS disk +partitions can radically affect the size of your \TeX\ +installation. The support tree has hundreds of small files, and it is +not unusual for a complete installation to take up to four times the +amount of space used on the \CD. + + +\section{Windows maintenance and post-installation} + +\subsection{What's different in Windows?} + +The Windows version of \Webc{} has some specific features that should be +pointed out. + +\begin{description} +\item[\KPS{}] The hash-tables that \KPS{} builds are quite large for + the \TeXLive{}. In order to cut down the starting time of any + \KPS{}-enabled program, these hash-tables have been put in shared + memory. This way, when you chain the execution of several such + programs, like \path|tex| calling \path|mpost| calling \path|tex|, + the overhead when starting each of the subprograms is + reduced. This change is hidden to the user, except if you set the + debug flag of kpathsea to the \path|-1| value: you will then trace + access to the shared memory, which is not what you want (it is + accessed very often!). What is useful in a log trace of the shared + memory access is still to be defined, so the situation might evolve + in the future. +\item[\cmdname{kpsecheck}] This command provides some options that did + not fit well into \cmdname{kpsewhich}. It will allow you to list all + the files that occur multiple times across your texmf trees. This + could be handy, but most of the time you will also get unwanted + output (like dozens of \path|README| files)\footnote{It is noticeable + that all these files result in clashes inside the \KPS{}-hashing + mechanism; fortunately, \KPS{} never looks for these files.}. For + this reason, you can combine the \path|-multiple-occurences| with 2 + other options for including or excluding any filename that match + some pattern (you can request for several patterns). + + The \cmdname{kpsecheck} command will also report the status of shared + memory: in use or not used. That might be useful to know because if + the status reported is \samp{in use}, that means one or several + processes are working, and the effect of any \cmdname{mktexlsr} + command will be delayed until the next time where no \KPS{} linked + process will be running. + + Last, this same command will report about the location it thinks + Ghostscript can be found. Under Win32, for many programs, it is + easier to use the Ghostscript dll, and find it by using the + Ghostscript registry key than to change the \path|PATH|, which has a + limited length anyway. +\item[\Webc{}] The engines have a few more options than in Unix + \Webc{}, and one option with a different behaviour: + \begin{itemize} +%% \item the \path|-fmt| option behaves differently. Previously and +%% with the regular \Webc{} distribution, this option has 2 different +%% meanings when you are in ``ini'' or ``vir'' mode. Under Win32, it +%% has the same meaning: preload the format file specified with the +%% argument. The meaning of building a format of such name in ini +%% mode is obtained by the new \path|-job-name| option. +%% \item \path|-job-name| option: allows to set the name of the file +%% resulting from the compilation process. In normal mode, it will +%% change the base name of all files produced (\path|.dvi|, +%% \path|.aux|, etc.), while in ini mode, it will set the name of +%% the format file written. + \item \path|-halt-on-error| stop the compilation at the first error. + \item \path|-job-time| set the job time to the same timestamp as the + file given in argument. +\item \path|-oem| use the DOS codepage for console output. + \item \path|-output-directory| allow to write all the output files in the + specified directory. + \item \path|-time-statistics| print statistics about the job run + time. It is to be noted that Win9x not being a true multitasking + operating system, it has no reliable timer for short periods, so + the value printed is an approximation. Under NT/2K/XP, the result + is quite accurate with user time and system time values allocated + for this run. For Unix + users: the \path|time| command is not usually available to Windows + users. + \end{itemize} +\end{description} + +\subsection{Adding packages to your installation} + +You will find an option in the \guiseq{TeXLive} menu (or go to +\guiseq{Start\arw Programs \arw TeXLive \arw Add TeX package} menu) to +run \file{TeXSetup.exe} in maintenance mode. The steps are almost the +same as in the initial installation. + +We'll discuss differences below, but first, whatever changes you make, +\textbf{do not forget to rebuild the ls-R database files}. Otherwise, +your new files will not be found. You can do this either via the +\acro{GUI} (\guiseq{Start \arw Programs \arw TeXLive \arw Maintenance +\arw Rebuild ls-R}), or manually running the \file{mktexlsr} command. + +The main difference is in the packages selection page. In maintenance +mode, the list of installed packages is compared to the list of packages +available from your source directories. Packages that are not installed +will be displayed in green, out of date packages will be displayed in +red and up-to-date, installed packages are displayed in black. + +This way, you can choose to add or upgrade components, either from +\TeXLive{} or from the Internet, where you are likely to find some more +recent version of your packages. + +It is up to you to select which packages you want to install. The rest +of the process is similar to the first installation. + +If you want to add files that are not provided by the \TeXLive{} (or +\fpTeX{}) distribution, it is recommended to put them in the +\path|$TEXMFLOCAL| directory. This way, you will be safe against +upgrades of the \TeXLive{} software. + +The directory pointed to by \path|$TEXMFLOCAL| is initially empty. If, +for example, you want to add the support file for the Maple symbolic +computation program, you will have to put the style files in:\\ +\path|c:\Program Files\TeXLive\texmf-local\tex\latex\maple\|\\ and the +documentation files in:\\ \path|c:\Program +Files\TeXLive\texmf-local\doc\latex\maple\| + +\subsection{Uninstalling \protect\TeXLive{}} + +The uninstall procedure is available either from the \file{TeXLive.exe} +program, from the \path|TeXLive| menu or from the control panel +(\guiseq{Start \arw Control Panel, Add/Remove Programs}). This procedure +will cleanup your hard disk of most of the \TeXLive{} files. However, +\TeX{} is a system that is creating files and there is no mechanism to +keep track of all of them. Moreover, Win32 support packages have their +own uninstall procedure, which you will have to run separately (provided +you want to get rid of them). Last, the files you may have stored in +\path|$TEXMFLOCAL| won't be removed. So, even if the vast majority of +files are automatically removed by the uninstall procedure, you will +have to do some manual cleanup to actually remove all of them. + +\subsection{Running \texttt{TeXSetup.exe} from the command line} + +The \path|TeXSetup.exe| program has a number of other useful +options. You can get the list by running: +\begin{verbatim} +c:\>TeXSetup --help +\end{verbatim} + +Here is the description: +\begin{description} +\item[\path|--automatic-reboot|] reboot without waiting user + confirmation once installation is over; +\item[\path|--dry-run|] do nothing, just log everything that will be + done without this option; +\item[\path|--quick|] use the recommended installation and default + directories, ask nothing up to rebooting; +\item[\path|--with-xemtex|] selects the \XEmTeX{} bundle; +\item[\path|--net-method (=ie5/direct)|] enable to download components with + restricted licenses from the Internet (either using direct + connection of Internet Explorer 5 DLLs): you need to have an available + network connection and some of the packages are huge; +\item[\path|--remote-source-directory <url>|] this is the base url for the remote packages; +\item[\path|--local-source-directory <dir>|] by default, \path|TeXSetup.exe| + will guess the root directory of the set of files you want it to act on, if you ever + upgrade \path|TeXSetup.exe|, you won't be able to copy the new version + onto your \CD{}, so you will need to use this option to specify the + root of the \CD{}; +\item[\path|--installation-directory <dir>|] this is the root of your + installation, all files will be copied under this location. The + default value is \verb+c:\Program Files\TeXLive+; +\item[\path|--texmfmain-directory <dir>|] +\item[\path|--texmflocal-directory <dir>|] +\item[\path|--texmfextra-directory <dir>|] +\item[\path|--texmfhome-directory <dir>|] +\item[\path|--vartexmf-directory <dir>|] +\item[\path|--vartexfonts-directory <dir>|] these are the directories + used to configure the location of your files. They map directly to + the \path|texmf.cnf| variables. +\item[\path|--with-source-files(=yes/no)|] copy the source files + for \TeX{} packages, default value is no; +\item[\path|--with-documentation-files(=yes/no)|] copy documentation files for \TeX{} + packages. Default value is yes. Beware: this is only documentation about specific + packages, general documentation will be installed anyway; +\item[\path|--program-folder <folder>|] the name of the folder under + which you will find the menus; +\item[\path|--add-package <pkg>|] this is used to add or update a specific + package after a first regular installation; +\item[\path|--scheme <pkg>|] install the named scheme instead of the + default \path|texlive-recommended| scheme; +\item[\path|--maintenance|] mostly the same as \path|--add-package| + without specifying a package to add; +\item[\path|--uninstall|] this option will remove anything \TeX{} related coming from + the \CD{}, which means there can be files left if you added style + files or format files, and also that supplementary tools will not be + removed. This option is still a bit crude in this release; +\item[\path|--help|] this option opens up a box with the list of options. +\end{description} + +\subsection{Network installation} + +\KPS{} knows about UNC names, so you can use them to get your TEXMF +tree from the network. But there is better than this. +All the support files and configuration files, everything except the files in the +\path|bin/win32| are shareable with a \teTeX{} or Unix \TeXLive{} installation. That means +you can use Samba either to mount from an NT server to a Unix +workstation or the converse. Several strategies are possible: +\begin{itemize} +\item Put everything on the server. Just add each set of files for the os and +architecture you want to use in the \path|bin| directory. That means +for example \path|bin/win32| and \path|bin/i386-linux|. Next configure +your main variables. You can use UNC names to +point to the right directories under Win32. +\item Install a local copy for the binaries and format files. In this + case, assign \path|$TEXMFMAIN| to the main \path|texmf| tree that + will be accessed remotely. Set \path|$VARTEXMF| to be a local + directory which will hold local configuration files and on-the-fly + generated files. +\end{itemize} + +\subsection{Personal configurations} + +\subsubsection{Dvips} + +The configuration file for dvips can be found in\\ +\verb+C:\Program Files\TeXLive\texmf-var\dvips\config\config.ps+\\ +You may open it with any editor + %(\cmdname{WinShell} will do fine) + and change some parameters: + +\begin{description} +\item [fonts] you can change the default printer \MF{} mode or printer + resolution in case \cmdname{dvips} needs to generate PK fonts. By default it + is configured to use Type~1 versions of the CM fonts, so it should + not call \cmdname{mktexpk} too often; +\item[printer] you can tell dvips where you want to print by default. If + the \optname{o} option is not followed by a printer name, then a + \file{.ps} \PS{} file is written. You can give dvips a printer + name such as: +\begin{verbatim} +o lpt1: +% o | lpr -S server -P myprinter +% o \\server\myprinter +\end{verbatim} +\item[paper] Next, you might want + to change the paper size from European (A4) to US letter + by making the US letter the first paper size mentioned in the file. + Scroll to the group of lines beginning with \code{@}. Move + the appropriate lines so that this section begins with the lines:\\ +\hspace*{1em} @ letterSize 8.5in 11in\\ +\hspace*{1em} @ letter 8.5in 11in\\ +\hspace*{1em} @+ \%\%BeginPaperSize: Letter\\ +\hspace*{1em} @+ letter\\ +\hspace*{1em} @+ \%\%EndPaperSize +\end{description} + +The current \TeXLive{} distribution implements the procedure of making +always up-to-date fontmaps files for Dvips and Pdftex. This is done by +the \cmdname{updmap} program during installation, as well as during any +font package addition. If you add new packages by hand, edit the file +\verb+updmap.cfg+ in \path|$VARTEXMF/web2c|. + +\subsubsection{Pdftex} + +If you use the program pdf{}latex to write \acro{PDF} format directly, +and you are using \acro{US} letter-size paper, edit the file +\verb+C:\Program Files\TeXLive\texmf-var\pdftex\config\pdftex.cfg+ and +change \samp{page\_width} and \samp{page\_height}. These entries should read: +\begin{alltt} +page_width 8.5 true in +page_height 11 true in +\end{alltt} +Save the file and exit the editor. + +\subsubsection{GSView} +GSView is now distributed under the Aladdin License, and therefore is no longer included in +\TeXLive{}. + +If you may want to change the page size to US letter size. If so, open +GSView from the \guiseq{Start} menu, and select \guiseq{Media\arw Letter}. + +Also, there are menu settings that are supposed to give you the most +readable screen image. On \guiseq{Media \arw Display Settings}, set both +\optname{Text Alpha} and \optname{Graphics Alpha} to 4~bits. + +Note that the installation process has set all \code{.ps} and +\code{.eps} files to automatically open with \cmdname{GSView}. + +For printing instructions, see section~\ref{printing} below. + +\subsubsection{WinDvi} +\label{sub:windvi} + +The \file{TeXSetup.exe} program takes care of associating the files +with the \file{.dvi} extension with \file{Windvi}. + +Open it with \guiseq{Start\arw Programs\arw TeXLive\arw DVI Viewer}. + +You can set it for US letter-size paper by going to \guiseq{View\arw +Options\arw Papertype} and selecting US (8.5\verb+"+ x 11\verb+"+) (and +then \optname{OK}. Exit \cmdname{windvi}. + +You can change other parameters from there as well, such as the ability +to execute system commands specified by the document (disabled by +default for security reasons). Also, the first time you view any .dvi +file, you may find the magnification too large. Zoom out until you get +an appropriate size. + +%There are two important parameters related to printing that can't yet +%be set from the dialog boxes, namely the resolution and the \MF{} mode +%for the printer. You can set them once for all by specifying them on +%the command line: +%\begin{verbatim} +%c:\>windvi -p 360 -mfmode canonbjc foo.dvi +%\end{verbatim} +%When you will exit Windvi, these parameters will be stored in the +%configuration file. The available modes are found in this file:\\ +%\path|c:\Program Files\TeXLive\texmf\metafont\misc\modes.mf| + +All configuration settings for \cmdname{Windvi} are stored in a file +named \path|windvi.cnf| file. You can find it by running this command at +the prompt: +\begin{verbatim} +c:\>kpsewhich --expand-var $HOME/windvi.cnf +\end{verbatim} + +Should you have problems with \cmdname{Windvi}, please remove the configuration +file and test your problem against a vanilla configuration. + +\subsection{Testing} + +For generic verification procedures, see section~\ref{sec:test-install} +on p.~\pageref{sec:test-install}. This section describes +Windows-specific tests. + +Open the file \verb+sample2e.tex+ in your editor (Xemacs, WinShell), +found in \path|C:\Local\TeX\texmf\tex\latex\base|. The \LaTeX\ source +should appear on the screen. Process it by clicking on the +\guiseq{Command\arw LaTeX} menu (XEmacs) or \LaTeX\ icon on the toolbar +(WinShell), then view it by clicking on the \guiseq{Command\arw View DVI} +menu (XEmacs) or Preview (Windvi) icon (WinShell). + +At first, when you preview files with Windvi, it will create fonts because +screen fonts were not installed. After a while, you will have created most +of the fonts you use, and you will rarely see the font-creation window. + +\textbf{Hint for the future:} If a \LaTeX\ run stops because \LaTeX\ +cannot find a file, you can press Ctrl-z to quit. + + +\subsection{Printing} +\label{printing} + +It is possible to print from Windvi. In this case, printing will be done +using the Windows unified printer driver. By definition, it is +compatible with all printers. However, there is some drawback: it can +generate some huge spool files, and some (older) versions of Windows +just don't like them. The advantage is that you can use features like +embedding BMP or WMF images. You also need to make sure that the printer +parameters are correctly set (subsection~\ref{sub:windvi}), else you +will get scaled printing (printing at 600\dpi{} on a 300\dpi{} printer +will give you only one quadrant of your page). + + +Printing is faster and more reliable if you run \cmdname{dvips} to make +a \filename{.ps} file and then print from \cmdname{GSView}. In +\cmdname{GSview}, select \guiseq{File\arw Print\ldots}. A \guiseq{Print} +window will appear. + +If you are using a \PS{} printer, \textit{be sure to select +\guiseq{\PS{} Printer}}. This is done in the \guiseq{Print Method} box +at the bottom left of the \guiseq{Print} window. You can then select any +of the printers that you have previously installed. If you fail to +check the box for \optname{\PS{} Printer}, printing will not work. + +If you will be using your own non-\PS{} printer, select +\guiseq{Ghostscript device} in the \guiseq{Print Method} box, then click +on the button to the right labelled \guiseq{djet500} and select your +printer type from the list that pops up. (In the older version of +\cmdname{GSView}, make sure \optname{\PS{} Printer} is \textit{not} +selected, then select your printer type from the \guiseq{Device} list.) + +%If you use \cmdname{WinShell} and a \PS{} printer, probably the +%most convenient way to print is to add an icon to the \cmdname{WinShell} +%toolbar that invokes dvips in a way that sends the output directly to a +%default printer. For detailed instructions on how to do this, see +%the next section. + +%% \subsection{\cmdname{WinShell}} +%% \label{winshell:more} + +%% \subsubsection{Configuring \cmdname{WinShell}} +%% \label{sec:winshell} + +%% Start this program from the Start menu or from the Desktop shortcut. +%% Go to \guiseq{Options \arw Program Calls}. + +%% \begin{itemize}\itemsep 0pt +%% \item In the DVIWin tab, if the filename is \filename{yap}, replace it +%% with \filename{windvi.exe}. +%% \item In the Ghostview tab, make sure it gives the correct path for +%% gsview32.exe:\\ +%% \hspace*{1em} \verb+C:\ghostgum\gsview\gsview32.exe+ (for 3.6, the +%% current version)\\ +%% or \\ +%% \hspace*{1em} \verb+C:\gstools\gsview\gsview32.exe+ (for the older +%% version) + +%% \end{itemize} + +%% Click \guiseq{OK}. + +%% Note that the install process sets all files with the \texttt{.tex} +%% extension to open with \cmdname{WinShell}. Unless you plan to use another editor +%% (such as WinEdt or Emacs), this is appropriate. + +%% Unfortunately, \cmdname{WinShell} does not have a spell-checking +%% feature. However, if you have installed the \path|tex-extrabin| +%% collection, your installation includes \cmdname{Ispell} (a spell +%% checking program found on most Unix systems). The executable is in your +%% PATH so \verb+ispell.exe+ will be found if you invoke it from a DOS +%% window. If you installed documentation, look at \path|C:\Program +%% Files\TeXLive\texmf\doc\html\manpages\ispell.html|for information on +%% Ispell. (Otherwise, you can find \verb+ispell.html+ on the CD.) If you +%% rely on spell checking, you may want to add an Ispell icon to +%% \cmdname{WinShell}. See subsection~\ref{winshell:ispell} of this +%% document for how to do that. + +%% For an excellent commercial (but inexpensive) spelling checker, +%% see \url{http://www.microspell.com}. + +%% \cmdname{WinShell} also has on-line help, which you can access via the +%% $\textbf{\underbar{?}}$ on the menu bar. + +%% Other information about using \cmdname{WinShell} can be found in +%% section \ref{winshell:more} on p.~\pageref{winshell:more}. + + +%% \subsubsection{Installing Bug Fixes} + +%% \cmdname{WinShell}'s author (\href{mailto:idb@winshell.de}{Ingo de Boer}, +%% thanks to him) sometimes releases beta versions of the next \cmdname{WinShell} +%% version which are also bug fixes. You can grab them from +%% \url{http://www.winshell.de}. Usually they are \file{.zip} files that +%% only require to be unpacked in \cmdname{WinShell} directory (\path|c:\Program +%% Files\WinShell| by default), either using WinZip or a similar tool, or +%% by using \file{unzip} on the command line. If you got some +%% \file{winshellbugfix.zip} file and that you saved it in the \cmdname{WinShell} +%% directory, then you need to run: +%% \begin{verbatim} +%% c:\>cd c:\"Program Files"\WinShell +%% c:\>c:\local\bin\unzip winshellbugfix.zip +%% \end{verbatim} +%% Say \optname{yes} if you are asked if some files should be overwritten. The +%% \path|unzip.exe| programme can be found in the +%% \path|support/gnu-utils| package. If you +%% do not have it on your machine, you can use any archiver tool like +%% WinZip to achieve the same effect. + +%% \subsubsection{The \cmdname{Project} feature: organizing many files} + +%% If your document is split into several files (for example a thesis), +%% look into \cmdname{WinShell}'s \cmdname{Project} feature. From the +%% \guiseq{Project} menu, you give the project a name (e.g., \code{Thesis}), +%% supply the name of the main (or root) file, and then \code{add} other +%% files. These filenames display on the left of the screen where you can +%% double click the names to view and switch between them. Clicking the +%% \guiseq{\LaTeX} icon always processes the main file. + +%% Note the icons on the toolbar for toggling the project space (on the left) +%% and the log space (at the bottom). If you are not using the Project +%% feature, you may want to toggle off the space on the left, using the full +%% screen width to display your file. + +%% \subsubsection{Printing from \cmdname{WinShell} to a \PS{} Printer} +%% \label{winshell:print} + +%% The Dvips icon on the \cmdname{WinShell} toolbar puts the \PS{} output +%% in a file, which you can then view with GSView and print from there if +%% you choose. However, it's convenient to add a \cmdname{WinShell} +%% ``program call'' to dvips which sends the output directly to a +%% designated \PS{} printer. The steps below show how to do this for the +%% printer \optname{vclw}; you should substitute the name of your most +%% frequently-used printer. +%% \begin{enumerate} +%% \item Make the program aware of the printer: +%% \begin{itemize} + +%% \item Open \cmdname{WinShell}, go to \guiseq{Options\arw Program +%% Calls\arw User defined}. + +%% \item Click on \guiseq{Tool 1} in the list on the right and fill in the +%% fields to the left as follows:\vspace{-6pt} +%% \begin{quote} +%% Name: \verb+Print+\\ +%% exe file: \verb+dvips+\\ +%% cmd-line: \verb+ -D600 %m -o vclw+\\ +%% Uncheck the box for \guiseq{DVIPS first} +%% \end{quote}%\vspace{-12pt} +%% \item Click \guiseq{OK} +%% \end{itemize} +%% \item Add \guiseq{Print} to the toolbar: +%% \begin{itemize} +%% \item Go to \guiseq{Options\arw View\arw Customize}. +%% \item In the \guiseq{Category} box, select \guiseq{User-Programs}. +%% \item Select \guiseq{Print} and drag it to the toolbar, placing it just to +%% the right of the \cmdname{GSView} icon. +%% \item You then have a choice of \guiseq{Image only}, \guiseq{Text only}, +%% or \guiseq{Image and Text}. The easiest is to select \guiseq{Text only} +%% and click \guiseq{OK}. You should then see \guiseq{Print} on the +%% toolbar. (If you prefer, you can select \guiseq{Image only\arw Edit}, +%% and edit the displayed picture to your satisfaction.) +%% \end{itemize} +%% \end{enumerate} +%% Now, to print a \LaTeX\ document, just click on the \guiseq{Print} icon +%% to send to your selected printer. To use a different printer, you will +%% need to click on the \guiseq{Dvips} icon to print to a file. Then click +%% on the \cmdname{GSView} icon and use \cmdname{GSView} to send to any +%% printer you have installed on your \acro{PC}. + +%% \subsubsection{Adding Ispell to \cmdname{WinShell}} +%% \label{winshell:ispell} +%% \begin{enumerate} +%% \item Add Ispell to User Tools: +%% \begin{itemize} +%% \item Open \cmdname{WinShell}, go to \guiseq{Options\arw Program +%% Calls\arw User defined}. +%% \item In the list on the right, click on \guiseq{Tool~1} (or +%% \guiseq{Tool~2} if you have already used \guiseq{Tool~1}) and fill in +%% the fields to the left as follows:\vspace{-6pt} +%% \begin{quote} +%% Name: \verb+Ispell+\\ +%% exe file: \verb+ispell+\\ +%% cmd-line: \verb+ -t -d american %c.tex+\\ +%% Uncheck the boxes for \guiseq{LaTeX first} and \guiseq{DVIPS first} +%% \end{quote} +%% \item Click \guiseq{OK}. +%% \end{itemize} + +%% \item Add Ispell to the toolbar: +%% \begin{itemize}\itemsep 0pt +%% \item Go to \guiseq{Options\arw View\arw Customize}. +%% \item In the \guiseq{Category} box, select \guiseq{User-Programs}. +%% \item Select \guiseq{Ispell} and drag it to the toolbar, placing it just to +%% the right of the \cmdname{GSView} icon (or the last icon you added). +%% \item You then have a choice of `\guiseq{mage only}, \guiseq{Text only}, +%% or \guiseq{Image and Text}. The easiest is to select \guiseq{Text only} +%% and click \guiseq{OK}. You should then see \guiseq{Ispell} on the +%% toolbar. (If you prefer, you can select \guiseq{Image only\arw Edit}, +%% and edit the displayed picture to your satisfaction.) +%% \end{itemize} +%% \end{enumerate} +%% Now, when you have a \LaTeX\ document open, you can click on +%% \guiseq{Ispell} to perform spell checking. Ispell will open another +%% window and display the first misspelled word on the left with the +%% filename on the right. Below that you will see the context in which the +%% misspelling appears; often several suggestions for replacements are also +%% displayed. To replace the word, enter the number corresponding to the +%% desired replacement. Other possible responses are listed below; for +%% example, you can press the space bar to ignore the misspelled word. For +%% more information on Ispell, read the manual page: +%% \verb+C:\Program Files\TeXLive\texmf\doc\html\manpages\ispell.html+. + +%% Note that when you replace a word, you will not see the correction in +%% your \cmdname{WinShell} window until you close the file (click the +%% \guiseq{X} in the upper right corner) and then open it again (use the +%% \guiseq{File} menu). + +\subsection{Tips and tricks for Win32} + +\subsubsection{Different flavors of Win32} + +What we call Win32 is not an operating system by itself. It is a large +set of functions (around 12,000 in the header files of the Microsoft +\acro{SDK}) that you can use to write programs for different operating +systems of the Windows family. + +Windows comes in different flavors: +\begin{itemize} +\item Win95, Win98 and Win\acro{ME}, which \emph{are not true multitasking, + multithreading} environments. They are the latest\Dash and hopefully + last\Dash metamorphosis of \acro{DOS}. This can be more or less proven + by the fact that when booting, the PC will load the \path|command.com| + interpreter, and if you stop the boot process at this point, you can + ask for the current (\acro{DOS}) version and it will answer something + like \samp{MS-DOS 7.0} (at least for the old versions of Win9x). +\item Windows \acro{NT}, which is a new operating system written from + scratch, capable of true multitasking behaviour, and including many + high level features. +\item Windows 2000, based on \acro{NT}, with all the bells and + whistles of Win98. +\item Windows \acro{XP}, which comes with Personal and Pro flavors. This is + the last step in merging both lines of products (Win9x based and + \acro{NT} based). \acro{XP} is based on \acro{NT}. +\end{itemize} + +Win9x are able to run 32~bits programs and 16~bits programs +concurrently. But the operating system by itself is not entirely +written in 32~bits mode, and does not support memory protection: 16bits +applications can overwrite parts of the operating system memory! Some +parts of the system like the \acro{GDI} (Graphical Device Interface) +manage limited resources like bitmaps, fonts, pens and so on for the set +of all programs that run concurrently. All the bitmaps headers available +at the same time can't amount for more than 64kB. This explains the +performance tool and the fact that you can put your system on his knees +by making intensive use of graphic objects for example. + +NT, 2K and XP do not suffer from these limitations, and neither from +other Win9x limitations. They are true multitasking environments, with +protected memory. They are much more responsive than Win9x because +of better memory management, better file system and so on. + +\subsubsection{Command line prompt} + +You may wonder, ``Why would I need to use a command line prompt when +I have Windows?'' + +Good question. The problem is of very general nature. Not all operations +can be done easily using only a \acro{GUI}. Command line gives you +programming power\Dash assuming a clever command interpreter. + +But the problem here is more fundamental: \TeX{} is \emph{a batch} +tool. Not an interactive one. \TeX{} needs to compute the best +layout for each page, resolve cross-references and so on. This can be +done only by a global processing of the document. It is not (yet) a +task that can be done interactively. + +This means that you should use \TeX{} from a command line. In fact the +situation is not so bad. There is an advantage to write command line +tools for complex processing: they are better debugged, because they are +independent of any \acro{GUI} problems, and \acro{GUI} tools can be +designed to interface to the command line tools. This is the case for +\TeX{}, where you will mostly interact with it through a \acro{GUI} text +editor. + +However, you may need to use the command line prompt in a number of +situations. One is when you are having difficulties and want to debug +your setup. + +\begin{description} + \item[Win9x] You can open a command line prompt by looking either for + the \acro{MS-DOS} icon in the \guiseq{Start\arw Programs} menu, + or by choosing \guiseq{Start\arw Run} menu typing in + \path|command.com| as the progrm name. + \item[NT, 2K, XP] You can open a command line prompt by looking for + \guiseq{Command Prompt} in the \guiseq{Start\arw Accessories} menu. + You can also choose \guiseq{Start\arw Run} and type in + \path|cmd.exe|, which is the name of the brand new command + interpreter for \acro{NT} (thus, it is untrue to call this a + \emph{DOS} box!). +\end{description} + +These locations may change across different Windows versions. + + +\subsubsection{Path separators} + +The Win32 API understands both \path|/| and \path|\| characters as PATH +separators. But the command interpreters do not! So whenever a path name +is used programmatically, you can use both separators, and even mix them +up in the same path name. But on the command line, you must type +\path|\| as path separator. The reason is compatibility: the command +processor used \samp{/} to introduce arguments to commands. + +All this to say: do not be surprised to read path names written using +the Unix convention; \fpTeX{} is a port of \Webc, and aims to be compatible +across platforms. For this reason, all the configuration files that +need to specify path names use the Unix convention. + +\subsubsection{File systems} +\label{sec:clusters} + +The worst feature of Win9x with regard to \TeX{} is probably the +so-called FAT file system. \TeX{} uses many many small files, with size +around 1--3kB. The \acro{FAT} file system is old, and predates by +decades the multi-gigabytes hard disks we have today. As a result, it +cannot manage efficiently the tens of thousands of \TeX{} files found in +\TeXLive{}. The \acro{FAT} file system allocates a minimum of 32kB for +\emph{any} file on a huge partition. It means that \TeX{} will use much +more disk space than it actually needs. + +The other, more modern, file systems available, \acro{FAT32} and +\acro{NTFS}, do not have this drawback. They manage clusters of 4kB +only. (You can lower the limit to 512 bytes on \acro{NTFS}.) + +\subsubsection{How to add some directory to your PATH} + +There are pairs of variables and values which behave much like global +variables inside your programs. The set of those variables is called the +environment. Each program is initialized with a copy of the +environment when it is run. It can request and change the +value of any variable. The changes happen in the copy of the +environment, and is not at all propagated to the other running +programs. + +Your PATH is a special environment variable used to search for +programs you want to run. +There is a different procedure to change it for Win9x, WinME and NT/2K/XP: + +\begin{description} +\item[Windows 95/98] Edit your \path|autoexec.bat|. In this file should be a line + starting with \texttt{PATH=} and followed by a list of directories separated + by \path|;|. Please add the directory with the executables in this line. + After this, this line could look as follows: +\begin{verbatim} +PATH=c:\windows;c:\windows\system;c:\"Program Files"\TeXLive\bin\win32 +\end{verbatim} +\item[Windows ME] You need to run the special program + \path|c:\windows\system\msconfig.exe| to be able to change any + environment variable. From this program, select the `Environment' + tab, and then add or modify the variable you want. You will be asked to reboot the + machine upon any change. +\item[Windows NT/2K/XP] + Click left on \guiseq{Start \arw Settings \arw Control Panel}. Now the + window with the control panel icons opens. Double click on System. The + System Properties window opens. Click on the tab \textsf{Environment} + or look for a button named \guiseq{Environment Variables} among the + dialog boxes. Now you can change the environment variables for your + user account. Note: There are also displayed the environment settings + for the system. Normally, you can't change the system variables + unless you have administrator rights on your machine. If you want to + change the \texttt{PATH} for all users, you will have to contact your + system administrator or be the system administrator yourself\Dash in + the latter case you should know what you are doing. + + If there is already a \texttt{PATH} setting for your user account, + left click on \texttt{PATH}. In the field \textsf{Variable} appears + \texttt{PATH} while the field Value shows the current setting of + \texttt{PATH} as a list of directories separated by \path|;|. Add + the directory where the executables are located (e.g. + \path|c:\Program Files\TeXLive\bin\win32|). If there isn't a \texttt{PATH} variable + for your user account, simply click in the field Variable and type + in \texttt{PATH}, click in the field \textsf{Value} + and type in the directory with the executables. Important: Click on + the \textsf{Apply} button before clicking \textsf{Ok}, otherwise the + changes to \texttt{PATH} won't apply to your system. Be careful when + changing the environment settings. +\end{description} + +The best way to be sure that a variable has been properly set is to +open a console and type: +\begin{verbatim} +set VARIABLE +\end{verbatim} +which should return the corresponding value. + +\subsubsection{\TeX{} engines} + +If you have a look at the \Webc{} documentation, you will read that all +the various \TeX{} derived programs use the same base engine. For +example, \path|tex.exe| and \path|latex.exe| are exact copies of the +same program, but each one will use a different format file, based on +its calling name. + +Under Unix, this feature is implemented through \emph{symbolic +links}. It saves up a bit of disk space, because some engines are +used with many different format files. + +The Win32 API does not know about file links. So to save up almost +the same amount of memory, all the \TeX{} base engines have been put +in DLLs (\emph{Dynamic Linked Library}). This means that you will have +the following layout: +\begin{alltt} +13/05/2002 17:06 3 584 latex.exe +13/05/2002 17:06 266 240 tex.dll +13/05/2002 17:06 3 584 tex.exe +\end{alltt} +and the \path|latex.exe| file is nothing but a rough copy of +\path|tex.exe| using the same core \path|tex.dll|. +The same trick has been used for the \path|mktex*.exe| family of programs which are +linked to the \path|mktex.dll| library. + +In fact, a generic tool called \path|lnexe.exe| is provided to build the +equivalent of Unix hard links for executable files only under Win32. + +\subsection{In case of problems} +\label{sec:troubleshooting} + +\subsubsection{What to do if \texttt{latex} does not find your files?} + +\begin{itemize} + +\item \cmdname{kpsewhich} is the tool of choice to debug any +problem. Unfortunately, \cmdname{kpsewhich} outputs debug information +to stderr, and the Windows console does not know how to redirect stderr +to a file\footnote{Well, NT and Win2k consoles know how to do that. But +the trick will work for any console.}. For diagnostic purposes you can +temporarily set an environment variable (in a \acro{DOS} box): + +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=err.log +\end{verbatim} +You can also set the debug level: +\begin{verbatim} +SET KPATHSEA_DEBUG=-1 +\end{verbatim} + +If you want to redirect stderr to stdout, which is not possible +Windows, then do: +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=con: +\end{verbatim} +This way you can capture both stdout and stderr in the same file. + +\item Assuming the installation has been done in \path|c:/Program Files/TeXLive|, check + the following values: \\ + {\small + \begin{tabular}{ll} + \path|kpsewhich -expand-path $SELFAUTOPARENT| & \path|c:/Program Files/TeXLive| \\ + \path|kpsewhich -expand-path $TEXMF| & \path|c:/Program Files/TeXLive/texmf| \\ + \path|kpsewhich -expand-path $TEXMFCNF| & + \path|.;c:/Program Files/TeXLive/texmf/web2c;| \\ + & \path|c:/Program Files/TeXLive/bin/win32;| \\ + & \path|c:/Program Files/TeXLive/bin;| \\ + & \path|c:/Program Files/TeXLive| \\ + \path|kpsewhich -expand-var $TEXINPUTS| & \path|.;c:/Program Files/TeXLive/texmf/tex//| + \end{tabular} +} +\item If you have other \TeX{}-related values already set in your + environment, please, remove them. They are overriding the ones in + texmf.cnf. +\item Check the values from:\\ +{\small + \begin{tabular}{ll} + \texttt{kpsewhich cmr10.tfm} & \path|c:/Program Files/TeXLive/texmf/fonts/tfm/public/cm/cmr10.tfm|\\ + \texttt{kpsewhich latex.fmt}& \path|c:/Program Files/TeXLive/texmf/web2c/latex.fmt| + \end{tabular} +} +\item At this point, if everything is correct, \TeX{} and friends + should work. If it is not the case, you will need to play with + the \path|-debug=n| option from \path|kpsewhich|, and check back all + the values. Try to identify and report the problem. +\end{itemize} + +\subsubsection{What to do if your setup still does not work as expected?} + +Here are several questions to investigate: + +\begin{enumerate} +\item Is \file{tex.exe} in my \path|PATH|? + +\item Is the \path|TEXMFCNF| variable correctly set to +\path|c:/Program Files/TeXLive/texmf-var/web2c| (default value)? + +\item Are there any errors in the log file generated by the +\file{TeXSetup.exe} program? You can find this by searching for the +string \samp{Error}. + +\item Are there any relevant bug fixes at \url{http://tug.org/texlive/}? +(Unlikely, but it doesn't hurt to check.) + +\item Check the web pages at +\url{http://www.fptex.org/}, or consider subscribing to the \fpTeX{} +mailing list, via \url{http://tug.org/mailman/listinfo/fptex}. + +\end{enumerate} + + +The \TeXLive{} software consists of hundreds and programs and tens of +thousands of files, all from varying sources. So it is quite difficult to +predict all possible causes for problems. Nevertheless, we will do our +best to help you. (see section~\ref{sec:help} on p.~\pageref{sec:help}.) + + +\subsection{Compiling the source files} + +You have the whole set of source files, in the +\path|source/source.tar.bz2| archive available in the distribution together with +a patch file for Win32. To +be able to compile the whole distribution for Windows, you will need: + +\begin{itemize} +\item Windows 2K/XP +\item Microsoft Visual Studio .Net 2003 +\item a set of Unix tools (\texttt{sed}, + \texttt{grep}, \texttt{gawk}, etc.) and also Perl, Flex and Bison, +\item to adjust the paths in the + \path|win32/make/common.mak| file according to your installation +\item to adjust the paths in the Perl script file + \path|win32/perl/build.pl|, +\item run the compilation from the \path|mswin32/| directory using this + command: +\begin{verbatim} +c:\texlive\source\mswin32>perl ./perl/build.pl --install --log=install.log +\end{verbatim} +\end{itemize} + +There is a lot of work to do to make this process easier and cleaner. + +\subsection{Where to get more information} + +The Windows \TeX{} system included on \TeXLive{} is also known as +\fpTeX. The packaging differs, but \fpTeX{} is no more no less than the +current \TeXLive\ release for Windows. + +The \fpTeX{} home page is \url{http://www.fptex.org}. + +The current \fpTeX release is available from any \CTAN site in +\url{htp://www.ctan.org/tex-archive/systems/win32/fptex}. + +The main ftp site for \fpTeX\ is \url{ftp://ftp.dante.de/pub/fptex/} +from where beta versions of \fpTeX\ and additionnal tools are available. +This main site is (partially) mirrored daily by all \CTAN{} sites at +\path|systems/win32/fptex|. + +The \TeX{} Users Group is kindly hosting a mailing list dedicated to +\fpTeX. It is used for announcements, bug reports, enhancement requests, +and general discussion about \fpTeX. To subscribe, visit +\url{http://tug.org/mailman/listinfo/fptex}. The mailing list +address is \email{fptex@tug.org}. + + +\section{A user's guide to \protect\Webc{}} + +\Webc{} is an integrated collection of \TeX-related programs: \TeX{} +itself, \MF{}, \MP, \BibTeX{}, etc. It is the heart of \TeXLive{}. + +A bit of history: The original implementation was by Tomas Rokicki who, +in 1987, developed a first \TeX{}-to-C system adapting change files +under Unix, which were primarily the work of Howard Trickey and Pavel +Curtis. Tim Morgan became the maintainer of the system, and during this +period the name changed to Web-to-C\@. In 1990, Karl Berry took over +the work, assisted by dozens of additional contributors, and in 1997 he +handed the baton to Olaf Weber. + +The \Webc{} system runs on Unix, 32-bit Windows systems, \MacOSX{}, and +other operating systems. It uses Knuth's original sources for \TeX{} and +other basic programs written in \web{} and translates them into C source +code. The core \TeX{} programs are: + +\begin{cmddescription} +\item[bibtex] Maintaining bibliographies. +\item[dmp] \cmdname{troff} to MPX (\MP{} pictures). +\item[dvicopy] Expands virtual font references in \dvi{} files. +\item[dvitomp] \dvi{} to MPX (MetaPost pictures). +\item[dvitype] \dvi{} to human-readable text. +\item[gftodvi] Generic font proofsheets. +\item[gftopk] Generic to packed fonts. +\item[gftype] GF to human-readable text. +\item[makempx] \MP{} label typesetting. +\item[mf] Creating typeface families. +\item[mft] Prettyprinting \MF{} source. +\item[mpost] Creating technical diagrams. +\item[mpto] MetaPost label extraction. +\item[newer] Compare modification times. +\item[patgen] Creating hyphenation patterns. +\item[pktogf] Packed to generic fonts. +\item[pktype] PK to human-readable text. +\item[pltotf] Plain text property list to TFM. +\item[pooltype] Display \web{} pool files. +\item[tangle] \web{} to Pascal. +\item[tex] Typesetting. +\item[tftopl] TFM to plain text property list. +\item[vftovp] Virtual font to virtual property list. +\item[vptovf] Virtual property list to virtual font. +\item[weave] \web{} to \TeX. +\end{cmddescription} + +\noindent The precise functions and syntax of these programs are +described in the documentation of the individual packages and of \Webc{} +itself. However, knowing a few principles governing the whole family of +programs will help you take advantage of your \Webc{} installation. + +All programs honor these standard \acro{GNU} options: +\begin{ttdescription} +\item[-{}-help] print basic usage summary. +\item[-{}-verbose] print detailed progress report. +\item[-{}-version] print version information, then exit. +\end{ttdescription} + +For locating files the \Webc{} programs use the path searching library +\KPS{}. This library uses a combination of environment variables and a +configuration files to optimize searching the (huge) collection of +\TeX{} files. \Webc{} can look at more than one directory tree +simultaneously, which is useful in maintaining \TeX's standard +distribution and local extensions in two distinct trees. To speed up +file searches the root of each tree has a file \file{ls-R}, containing +an entry showing the name and relative pathname for all files under that +root. + +\subsection{\protect\KPS\ path searching} + +Let us first describe the generic path searching mechanism of the \KPS{} +library. + +We call a \emph{search path} a colon- or semicolon\hyph sepa\-rated list +of \emph{path elements}, which are basically directory names. A +search path can come from (a combination of) many sources. To look up +a file \samp{my-file} along a path \samp{.:/dir}, \KPS{} checks each +element of the path in turn: first \file{./my-file}, then +\file{/dir/my-file}, returning the first match (or possibly all +matches). + +In order to adapt optimally to all operating systems' conventions, on +non-Unix systems \KPS{} can use filename separators different from +colon (\samp{:}) and slash (\samp{/}). + +To check a particular path element \var{p}, \KPS{} first checks if a +prebuilt database (see ``Filename data\-base'' on +page~\pageref{Filename-database}) applies to \var{p}, i.e., if the database +is in a directory that is a prefix of \var{p}. If so, the path +specification is matched against the contents of the database. + +If the database does not exist, or does not apply to this path +element, or contains no matches, the filesystem is searched (if this +was not forbidden by a specification starting with \samp{!!}\ and if +the file being searched for must exist). \KPS{} constructs the list +of directories that correspond to this path element, and then checks +in each for the file being sought. + +The ``file must exist'' condition comes into play with \samp{.vf} files and +input files read by \TeX's \cs{openin} command. Such files may not +exist (e.g., \file{cmr10.vf}), and so it would be wrong to search the +disk for them. Therefore, if you fail to update \file{ls-R} when you +install a new \samp{.vf} file, it will never be found. +Each path element is checked in turn: first the database, then the +disk. If a match is found, the search stops and the result is +returned. + +Although the simplest and most common path element is a directory +name, \KPS{} supports additional features in search paths: layered +default values, environment variable names, config file values, users' +home directories, and recursive subdirectory searching. Thus, we say +that \KPS{} \emph{expands} a path element, meaning it transforms all +the specifications into basic directory name or names. This is +described in the following sections in the same order as it takes +place. + +Note that if the filename being searched for is absolute or explicitly +relative, i.e., starts with \samp{/} or \samp{./} or \samp{../}, +\KPS{} simply checks if that file exists. + +\ifSingleColumn +\else +\begin{figure*} +\verbatiminput{../examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{An illustrative configuration file sample} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{Path sources} +\label{Path-sources} + +A search path can come from many sources. In the order in which +\KPS{} uses them: + +\begin{enumerate} +\item + A user-set environment variable, for instance, \envname{TEXINPUTS}\@. + Environment variables with a period and a program name appended + override; e.g., if \samp{latex} is the name of the program being run, + then \envname{TEXINPUTS.latex} will override \envname{TEXINPUTS}. +\item + A program-specific configuration file, for exam\-ple, a line + \samp{S /a:/b} in \cmdname{dvips}'s \file{config.ps}. +\item A \KPS{} configuration file \file{texmf.cnf}, containing a line like + \samp{TEXINPUTS=/c:/d} (see below). +\item The compile-time default. +\end{enumerate} +\noindent You can see each of these values for a given +search path by using the debugging options (see ``Debugging actions'' +on page~\pageref{Debugging}). + +\subsubsection{Config files} + +\begingroup\tolerance=3500 +\KPS{} reads \emph{runtime configuration files} named \file{texmf.cnf} +for search path and other definitions. The search path used to look +for these files is named \envname{TEXMFCNF} (by default such a file lives +in the \file{texmf/web2c} subdirectory). \emph{All} +\file{texmf.cnf} files in the search path will be read and definitions +in earlier files override those in later files. Thus, with a search +path of \verb|.:$TEXMF|, values from \file{./texmf.cnf} override those +from \verb|$TEXMF/texmf.cnf|. +\endgroup + +\begin{itemize} +\item + Comments start with \code{\%} and continue to the end of the line. +\item + Blank lines are ignored. +\item + A \bs{} at the end of a line acts as a continuation character, + i.e., the next line is appended. Whitespace at the beginning of + continuation lines is not ignored. +\item + Each remaining line has the form: +\begin{alltt} + \emph{variable}[.\emph{progname}] [=] \emph{value} +\end{alltt}% + where the \samp{=} and surrounding whitespace are optional. +\item + The \ttvar{variable} name may contain any character other + than whitespace, \samp{=}, or \samp{.}, but sticking to + \samp{A-Za-z\_} is safest. +\item + If \samp{.\var{progname}} is present, the definition only + applies if the program that is running is named + \texttt{\var{progname}} or \texttt{\var{progname}.exe}. This allows + different flavors of \TeX{} to have different search paths, for + example. +\item \var{value} may contain any characters except + \code{\%} and \samp{@}. The + \code{\$\var{var}.\var{prog}} feature is not available on the + right-hand side; instead, you must use an additional variable. A + \samp{;}\ in \var{value} is translated to \samp{:}\ if + running under Unix; this is useful to be able to have a single + \file{texmf.cnf} for Unix, \acro{MS-DOS} and Windows systems. +\item + All definitions are read before anything is expanded, so + variables can be referenced before they are defined. +\end{itemize} +A configuration file fragment illustrating most of these points is +\ifSingleColumn +shown below: + +\verbatiminput{../examples/ex5.tex} +\else +shown in Figure~\ref{fig:config-sample}. +\fi + +\subsubsection{Path expansion} +\label{Path-expansion} + + +\KPS{} recognizes certain special characters and constructions in +search paths, similar to those available in Unix shells. As a +general example, the complex path, +\verb+~$USER/{foo,bar}//baz+, expands to all subdirectories under +directories \file{foo} and \file{bar} in \texttt{\$USER}'s home +directory that contain a directory or file \file{baz}. These +expansions are explained in the sections below. +%$ +\subsubsection{Default expansion} +\label{Default-expansion} + +\tolerance=2500 +If the highest-priority search path (see ``Path sources'' on +page~\pageref{Path-sources}) contains an \emph{extra colon} (i.e., +leading, trailing, or doubled), \KPS{} inserts at that point the +next-highest-prio\-rity search path that is defined. If that inserted +path has an extra colon, the same happens with the next highest. For +example, given an environment variable setting + +\tolerance=1500 + +\begin{alltt} +> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} +and a \code{TEXINPUTS} value from \file{texmf.cnf} of + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} +then the final value used for searching will be: + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +Since it would be useless to insert the default value in more than one +place, \KPS{} changes only one extra \samp{:}\ and leaves any others in +place: it checks first for a leading \samp{:}, then a trailing +\samp{:}, then a doubled \samp{:}. + +\subsubsection{Brace expansion} + +A useful feature is brace expansion, which means that, for instance, +\verb+v{a,b}w+ expands to \verb+vaw:vbw+. Nesting is allowed. +This can be used to implement multiple \TeX{} hierarchies, by +assigning a brace list to \code{\$TEXMF}. +For example, in \file{texmf.cnf}, you find +the following definition: +\begin{verbatim} + TEXMF = {$HOMETEXMF,$TEXMFLOCAL,!!$VARTEXMF,!!$TEXMFMAIN} +\end{verbatim} +Using this you can then write something like +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +which means that, after looking in the current directory, the +\code{\$HOMETEXMF/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$VARTEXMF/tex} +and \code{\$TEXMFMAIN/tex} trees \emph{only}) will be searched (the +last two use using \file{ls-R} data base files). It is a convenient +way for running two parallel \TeX{} structures, one ``frozen'' (on a +\CD, for instance) and the other being continuously updated with new +versions as they become available. By using the \code{\$TEXMF} +variable in all definitions, one is sure to always search the +up-to-date tree first. + +\subsubsection{Subdirectory expansion} +\label{Subdirectory-expansion} + +Two or more consecutive slashes in a path element following a directory +\var{d} is replaced by all subdirectories of \var{d}: first those +subdirectories directly under \var{d}, then the subsubdirectories under +those, and so on. At each level, the order in which the directories are +searched is \emph{unspecified}. + +If you specify any filename components after the \samp{//}, only +subdirectories with matching components are included. For example, +\samp{/a//b} expands into directories \file{/a/1/b}, \file{/a/2/b}, +\file{/a/1/1/b}, and so on, but not \file{/a/b/c} or \file{/a/1}. + +Multiple \samp{//} constructs in a path are possible, but +\samp{//} at the beginning of a path is ignored. + +\subsubsection{List of special characters and their meaning: a summary} + +The following list summarises the meaning of special characters +in \KPS{} configuration files. + +\newcommand{\CODE}[1]{\makebox[2.5em][l]{\code{#1}}} +\begin{ttdescription} +\item[\CODE{:}] Separator in path specification; at the beginning or + the end of a path it substitutes the default path expansion. +\item[\CODE{;}] Separator on non-Unix systems (acts like \code{:}). +\item[\CODE{\$}] Variable expansion. +\item[\CODE{\string~}] Represents the user's home directory. +\item[\CODE{\char`\{\dots\char`\}}] Brace expansion. +\item[\CODE{//}] Subdirectory expansion (can occur anywhere in + a path, except at its beginning). +\item[\CODE{\%}] Start of comment. +\item[\CODE{\bs}] Continuation character (allows multi-line entries). +\item[\CODE{!!}] Search \emph{only} database to locate file, \emph{do + not} search the disk. +\end{ttdescription} + + +\subsection{Filename databases} +\label{Filename-database} + +\KPS{} goes to some lengths to minimize disk accesses for searches. +Nevertheless, at installations with enough directories, searching each +possible directory for a given file can take an excessively long time +(this is especially true if many hundreds of font directories have to +be traversed.) Therefore, \KPS{} can use an externally-built plain text +``database'' file named \file{ls-R} that maps files to directories, +thus avoiding the need to exhaustively search the disk. + +A second database file \file{aliases} allows you to give additional +names to the files listed in \file{ls-R}. This can be helpful to +confirm to \acro{DOS} 8.3 filename conventions in source files. + +\subsubsection{The filename database} +\label{ls-R} + +As explained above, the name of the main filename database must be +\file{ls-R}. You can put one at the root of each \TeX{} hierarchy in +your installation that you wish to be searched (\code{\$TEXMF} by +default); most sites have only one hierarchy. \KPS{} looks for +\file{ls-R} files along the \code{TEXMFDBS} path. + +The recommended way to create and maintain \samp{ls-R} is to run the +\code{mktexlsr} script included with the distribution. It is invoked +by the various \samp{mktex}\dots\ scripts. In principle, this script +just runs the command +\begin{alltt} +cd \var{/your/texmf/root} && ls -LAR ./ >ls-R +\end{alltt} +presuming your system's \code{ls} produces the right output format +(\acro{GNU}'s \code{ls} is all right). To ensure that the database is always +up-to-date, it is easiest to rebuild it regularly via \code{cron}, so +that for changes in the installed files\Dash perhaps after installing or +updating a \LaTeX{} package\Dash the file \file{ls-R} is automatically +updated. + +If a file is not found in the database, by default \KPS{} goes ahead +and searches the disk. If a particular path element begins with +\samp{!!}, however, \emph{only} the database will be searched for that +element, never the disk. + + +\subsubsection{kpsewhich: Standalone path searching} +\label{Invoking-kpsewhich} + +The \texttt{kpsewhich} program exercises path searching independent of any +particular application. This can be useful as a sort of \code{find} +program to locate files in \TeX{} hierarchies (this is used heavily in +the distributed \samp{mktex}\dots\ scripts). + +\begin{alltt} +> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} +\end{alltt} +The options specified in \ttvar{option} start with either \samp{-} +or \samp{-{}-}, and any unambiguous abbreviation is accepted. + +\KPS{} looks up each non-option argument on the command line as a +filename, and returns the first file found. There is no option to +return all the files with a particular name (you can run the Unix +\samp{find} utility for that). + +The more important options are described next. + +\begin{ttdescription} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{} + Set the resolution to \ttvar{num}; this only affects \samp{gf} + and \samp{pk} lookups. \samp{-D} is a synonym, for compatibility + with \cmdname{dvips}. Default is 600. + +\item[\texttt{-{}-format=\var{name}}]\mbox{}\\ + Set the format for lookup to \ttvar{name}. By default, the + format is guessed from the filename. For formats which do not have + an associated unambiguous suffix, such as \MP{} support files and + \cmdname{dvips} configuration files, you have to specify the name as + found in the first column of Table~\ref{tab:kpathsea}, which lists + currently recognized names, a description, possible file extensions, + and associated environment variables. +\end{ttdescription} + + +\def\KpathKey#1#2#3#4#5{% name, number, description, variables, + % suffixes +\SetRowColor#1 & #3 & #4 & #5\\} +\def\HEAD#1{\multicolumn{1}{l}{\emph{#1}}} +% +\begin{small} +% a footnoterule immediately under a bottom-of-page rule looks dead +% silly, so we suppress it +\renewcommand\footnoterule{\relax} +% +\begin{longtable}{@{}% + >{\ttfamily}P{.16\textwidth}% Col.1 + P{.3\textwidth}% Col 2 + >{\ttfamily\footnotesize}P{.29\textwidth}% Col 3 + >{\ttfamily}P{.14\textwidth}% Col 4 +@{}} +\caption{Kpathsea file types.}\label{tab:kpathsea}\\ +\emph{Name} & \HEAD{Description} & \HEAD{Variables} +& \HEAD{Suffixes}\\ +\hline +\endfirsthead +\multicolumn{3}{l}{Kpathsea file types \emph{continued}}\\ +\emph{Name} & \HEAD{Description} & \HEAD{Variables} +& \HEAD{Suffixes}\\ +\hline +\noalign{\vspace{2pt}} +\endhead +\mbox{}\\ +\hline +\endfoot +\KpathKey + {afm} + {4} + {Adobe font metrics} + {AFMFONTS} + {.afm} +\KpathKey + {base} + {5} + {Metafont memory dump} + {MFBASES, TEXMFINI} + {.base} +\KpathKey + {bib} + {6} + {\BibTeX{} bibliography source} + {BIBINPUTS, TEXBIB} + {.bib} +\KpathKey + {} + {2} + {bitmap fonts} + {GLYPHFONTS, TEXFONTS} + {} +\KpathKey + {bst} + {7} + {\BibTeX{} style files} + {BSTINPUTS} + {.bst} +\KpathKey + {cnf} + {8} + {Runtime configuration files} + {TEXMFCNF} + {.cnf} +\KpathKey + {dvips config} + {34} + {\textsf{dvips} configuration files, e.g., \file{config.ps} + and \file{psfonts.map}} + {TEXCONFIG} + {.map} +\KpathKey + {fmt} + {10} + {\TeX{} memory dump} + {TEXFORMATS, TEXMFINI} + {.fmt, .efmt, .efm} +\KpathKey + {gf} + {0} + {generic font bitmap} + {GFFONTS} + {.gf} +\KpathKey + {graphic/figure} + {25} + {Encapsulated \PS{} figures} + {TEXPICTS, TEXINPUTS} + {.eps, .epsi} +\KpathKey + {ist} + {35} + {\textsf{makeindex} style files} + {TEXINDEXSTYLE, INDEXSTYLE} + {.ist} +\KpathKey + {ls-R} + {9} + {Filename databases} + {TEXMFDBS} + {} +\KpathKey + {map} + {11} + {Fontmaps} + {TEXFONTMAPS} + {.map} +\KpathKey + {mem} + {12} + {MetaPost memory dump} + {MPMEMS, TEXMFINI} + {.mem} +\KpathKey + {mf} + {13} + {Metafont source} + {MFINPUTS} + {.mf} +\KpathKey + {mfpool} + {14} + {Metafont program strings} + {MFPOOL, TEXMFINI} + {.pool} +\KpathKey + {mft} + {15} + {MFT style file} + {MFTINPUTS} + {.mft} +\KpathKey + {} + {41} + {miscellaneous fonts} + {MISCFONTS} + {} +\KpathKey + {mp} + {16} + {MetaPost source} + {MPINPUTS} + {.mp} +\KpathKey + {mppool} + {17} + {MetaPost program strings} + {MPPOOL, TEXMFINI} + {.pool} +\KpathKey + {MetaPost support} + {18} + {MetaPost support files, used by DMP} + {MPSUPPORT} + {} +\KpathKey + {ocp} + {19} + {\OMEGA{} compiled process files} + {OCPINPUTS} + {.ocp} +\KpathKey + {ofm} + {20} + {\OMEGA{} font metrics} + {OFMFONTS, TEXFONTS} + {.ofm, .tfm} +\KpathKey + {opl} + {21} + {\OMEGA{} property lists} + {OPLFONTS, TEXFONTS} + {.opl} +\KpathKey + {otp} + {22} + {\OMEGA{} translation process files} + {OTPINPUTS} + {.otp} +\KpathKey + {ovf} + {23} + {\OMEGA{} virtual fonts} + {OVFFONTS, TEXFONTS} + {.ovf} +\KpathKey + {ovp} + {24} + {\OMEGA{} virtual property lists} + {OVPFONTS, TEXFONTS} + {.ovp} +\KpathKey + {pk} + {1} + {packed bitmap fonts} + {\emph{program}FONTS \textrm{(\texttt{\emph{program}} being + \textsmaller{\cmdname{XDVI}}, + etc.)}, PKFONTS, TEXPKS, GLYPHFONTS, TEXFONTS} + {.pk} +\KpathKey + {\PS{} header} + {30} + {downloadable \PS{}} + {TEXPSHEADERS, PSHEADERS} + {.pro, .enc} +\KpathKey + {tex} + {26} + {\TeX{} source} + {TEXINPUTS} + {.tex, .cls, .sty, .clo, .def} +\KpathKey + {TeX system documentation} + {27} + {Documentation files for the \TeX{} system} + {TEXDOCS} + {} +\KpathKey + {TeX system sources} + {29} + {Source files for the \TeX{} system} + {TEXSOURCES} + {} +\KpathKey + {texpool} + {28} + {\TeX{} program strings} + {TEXPOOL, TEXMFINI} + {.pool} +\KpathKey + {tfm} + {3} + {\TeX{} font metrics} + {TFMFONTS, TEXFONTS} + {.tfm} +\KpathKey + {Troff fonts} + {31} + {Troff fonts, used by DMP} + {TRFONTS} + {} +\KpathKey + {truetype fonts} + {36} + {TrueType outline fonts} + {TTFONTS} + {.ttf, .ttc} +\KpathKey + {Type~1 fonts} + {32} + {Type 1 \PS{} outline fonts} + {T1FONTS, T1INPUTS, TEXPSHEADERS, DVIPSHEADERS} + {.pfa, .pfb} +\KpathKey + {type42 fonts} + {37} + {Type 42 \PS{} outline fonts} + {T42FONTS} + {} +\KpathKey + {vf} + {33} + {virtual fonts} + {VFFONTS, TEXFONTS} + {.vf} +\KpathKey + {web2c files} + {38} + {\Webc{} support files} + {WEB2C} + {} +\KpathKey + {other text files} + {39} + {text files used by `\textsf{foo}'} + {FOOINPUTS} + {} +\KpathKey + {other binary files} + {40} + {binary files used by `\textsf{foo}'} + {FOOINPUTS} + {} +\end{longtable} +\end{small} + + +\begin{multicols}{2} + + The last two entries in Table~\ref{tab:kpathsea} are special + cases, where the paths and environment variables depend on the name + of the program: the variable name is constructed by converting the + program name to upper case, and then appending \texttt{INPUTS}. + + The environment variables are set by default in the configuration + file \file{texmf.cnf}. It is only when you want to override one or + more of the values specified in that file that you might want to set + them explicitly in your execution environment. + + The \samp{-{}-format} and \samp{-{}-path} options are mutually + exclusive. + +\begin{ttdescription} + +\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ + Set the mode name to \ttvar{string}; this only affects \samp{gf} + and \samp{pk} lookups. No default: any mode will be found. +\item[\texttt{-{}-must-exist}]\mbox{}\\ + Do everything possible to find the files, notably including + searching the disk. By default, only the \file{ls-R} database is + checked, in the interest of efficiency. +\item[\texttt{-{}-path=\var{string}}]\mbox{}\\ + Search along the path \ttvar{string} (colon-separated as usual), + instead of guessing the search path from the filename. \samp{//} and + all the usual expansions are supported. The options \samp{-{}-path} + and \samp{-{}-format} are mutually exclusive. +\item[\texttt{-{}-progname=\var{name}}]\mbox{}\\ + Set the program name to \texttt{\var{name}}. + This can affect the search paths via the \texttt{.\var{progname}} + feature. + The default is \cmdname{kpsewhich}. +\item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\ + shows the path used for file lookups of file type \texttt{\var{name}}. + Either a filename extension (\code{.pk}, \code{.vf}, etc.) or a + name can be used, just as with \samp{-{}-format} option. +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + sets the debugging options to \texttt{\var{num}}. +\end{ttdescription} + + +\subsubsection{Examples of use} +\label{SExamplesofuse} + +Let us now have a look at \KPS{} in action. Here's a straightforward search: + +\begin{alltt} +> \Ucom{kpsewhich article.cls} +/usr/local/texmf/tex/latex/base/article.cls +\end{alltt} +We are looking for the file \file{article.cls}. Since the \samp{.cls} +suffix is unambiguous we do not need to specify that we want to look for a +file of type \optname{tex} (\TeX{} source file directories). We find it in +the subdirectory \file{tex/latex/base} below the \samp{TEXMF} root +directory. Similarly, all of the following are found without problems +thanks to their unambiguous suffix. +\begin{alltt} +> \Ucom{kpsewhich array.sty} + /usr/local/texmf/tex/latex/tools/array.sty +> \Ucom{kpsewhich latin1.def} + /usr/local/texmf/tex/latex/base/latin1.def +> \Ucom{kpsewhich size10.clo} + /usr/local/texmf/tex/latex/base/size10.clo +> \Ucom{kpsewhich small2e.tex} + /usr/local/texmf/tex/latex/base/small2e.tex +> \Ucom{kpsewhich tugboat.bib} + /usr/local/texmf/bibtex/bib/beebe/tugboat.bib +\end{alltt} + +The latter is a \BibTeX{} bibliography database for \textsl{TUGBoat} articles. + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} +Font bitmap glyph files of type \file{.pk} are used by display +programs like \cmdname{dvips} and \cmdname{xdvi}. Nothing is returned in +this case since there are no pre-generated Computer Modern \samp{.pk} +files on our system (since we use the Type~1 versions included in \TeXLive{}). +\begin{alltt} +> \Ucom{kpsewhich ecrm1000.pk} +\ifSingleColumn /usr/local/texmf/fonts/pk/ljfour/jknappen/ec/ecrm1000.600pk +\else +/usr/local/texmf/fonts/pk/ljfour/jknappen/ +... ec/ecrm1000.600pk +\fi\end{alltt} +For the extended Computer Modern files we had to generate \samp{.pk} +files, and since the default \MF{} mode on our installation is +\texttt{ljfour} with a base resolution of 600\dpi{} (dots per inch), +this instantiation is returned. +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 ecrm1000.pk} +\end{alltt} +In this case, when specifying that we are interested in a resolution +of 300\dpi{} (\texttt{-dpi=300}) we see that no such font is available on +the system. In fact, a program like \cmdname{dvips} or \cmdname{xdvi} would +go off and actually build the \texttt{.pk} files at the required +resolution using the script \cmdname{mktexpk}. + +Next we turn our attention to \cmdname{dvips}'s header and configuration +files. We first look at one of the commonly used files, the general +prolog \file{tex.pro} for \TeX{} support, before turning our attention +to the generic configuration file (\file{config.ps}) and the +\PS{} font map \file{psfonts.map}. As the \samp{.ps} suffix is +ambiguous we have to specify explicitly which type we are considering +(\optname{dvips config}) for the file \texttt{config.ps}. +\begin{alltt} +> \Ucom{kpsewhich tex.pro} + /usr/local/texmf/dvips/base/tex.pro +> \Ucom{kpsewhich --format="dvips config" config.ps} + /usr/local/texmf/config/config.ps +> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf/dvips/base/psfonts.map +\end{alltt} + +We now take a closer look at the \acro{URW} Times \PS{} support +files. The prefix for these in the standard font naming scheme is +\samp{utm}. The first file we look at is the configuration file, +which contains the name of the map file: +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" config.utm} +/usr/local/texmf/dvips/psnfss/config.utm +\end{alltt} +The contents of that file is +\begin{alltt} + p +utm.map +\end{alltt} +which points to the file \file{utm.map}, which we want to +locate next. +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" utm.map} +/usr/local/texmf/dvips/psnfss/utm.map +\end{alltt} +This map file defines the file names of the Type~1 \PS{} fonts in +the URW collection. Its contents look like (we only show part of the +lines): +\begin{alltt} +utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb +utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb +utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb +utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} +Let us, for instance, take the Times Roman instance +\file{utmr8a.pfb} and find its position in the \file{texmf} directory +tree with a search for Type~1 font files: +\begin{alltt} +> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf/fonts/type1/urw/utm/utmr8a.pfb +\else /usr/local/texmf/fonts/type1/ +...urw/utm/utmr8a.pfb +\fi\end{alltt} + +It should be evident from these few examples how you can easily locate +the whereabouts of a given file. This is especially important if you +suspect that the wrong version of a file is picked up somehow, since +\cmdname{kpsewhich} will show you the first file encountered. + +\subsubsection{Debugging actions} +\label{Debugging} + +Sometimes it is necessary to investigate how a program resolves file +references. To make this practical, \KPS{} offers various levels of +debugging output: + +\begin{ttdescription} +\item[\texttt{\ 1}] \texttt{stat} calls (disk lookups). When running + with an up-to-date \file{ls-R} database this should almost give no + output. +\item[\texttt{\ 2}] References to hash tables (such as the \file{ls-R} + database, map files, configuration files). +\item[\texttt{\ 4}] File open and close operations. +\item[\texttt{\ 8}] General path information for file types + searched by \KPS. This is useful to find out where a particular + path for the file was defined. +\item[\texttt{16}] Directory list for each path element (only relevant + for searches on disk). +\item[\texttt{32}] File searches. +\end{ttdescription} +A value of \texttt{-1} will set all the above options; in practice, +this is usually the most convenient value touse. + +Similarly, with the \cmdname{dvips} program, by setting a combination of +debug switches, one can follow in detail where files are being picked up +from. Alternatively, when a file is not found, the debug trace shows in +which directories the program looks for the given file, so that one can +get an indication what the problem~is. + +Generally speaking, as most programs call the \KPS{} library +internally, one can select a debug option by using the +\envname{KPATHSEA\_DEBUG} environment variable, and setting it to (a +combination of) values as described in the above list. + +(Note for Windows users: it is not easy to redirect +all messages to a file in this system. For diagnostic purposes +you can temporarily \texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log}). + +Let us consider, as an example, a small \LaTeX{} source file, +\file{hello-world.tex}, which contains the following input. +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +This little file only uses the font \file{cmr10}, so let us look +how \cmdname{dvips} prepares the \PS{} file (we want to use the Type~1 +version of the Computer Modern fonts, hence the option \texttt{-Pcms}). +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +In this case we have combined \cmdname{dvips}'s debug class 4 (font +paths) with \KPS's path element expansion (see \cmdname{dvips} Reference +Manual, \OnCD{texmf/doc/html/dvips/dvips_toc.html}). +The output (slightly rearranged) appears in +Figure~\ref{fig:dvipsdbga}. +\begin{figure*}[tp] +\centering +\input{../examples/ex6a.tex} +\caption{Finding configuration files}\label{fig:dvipsdbga} + +\bigskip + +\input{../examples/ex6b.tex} +\caption{Finding the prolog file}\label{fig:dvipsdbgb} + +\bigskip + +\input{../examples/ex6c.tex} +\caption{Finding the font file}\label{fig:dvipsdbgc} +\end{figure*} + +\cmdname{dvips} starts by locating its working files. First, +\file{texmf.cnf} is found, which gives the definitions of the search +paths for the other files, then the file database \file{ls-R} (to +optimize file searching) and the file \file{aliases}, which makes it +possible to declare several names (e.g., a short \acro{DOS}-like 8.3 and +a more natural longer version) for the same file. Then \cmdname{dvips} +goes on to find the generic configuration file \file{config.ps} +before looking for the customization file \file{.dvipsrc} (which, in +this case is \emph{not found}). Finally, \cmdname{dvips} locates the +config file for the Computer Modern \PS{} fonts \file{config.cms} +(this was initiated with the \texttt{-Pcms} option on the \cmdname{dvips} +command). This file contains the list of the map files which +define the relation between the \TeX{}, \PS{} and file system +names of the fonts. +\begin{alltt} +> \Ucom{more /usr/local/texmf/dvips/cms/config.cms} + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map +\end{alltt} +\cmdname{dvips} thus goes on to find all these files, plus the generic +map file \file{psfonts.map}, which is always loaded (it contains +declarations for commonly used \PS{} fonts; see the last part of +Section \ref{SExamplesofuse} for more details about \PS{} map +file handling). + +At this point \cmdname{dvips} identifies itself to the user: +\begin{alltt} +This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) +\end{alltt} +\ifSingleColumn +Then it goes on to look for the prolog file \file{texc.pro}: +\begin{alltt}\small +kdebug:start search(file=texc.pro, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro +\end{alltt} +\else +Then it goes on to look for the prolog file \file{texc.pro} (see +Figure~\ref{fig:dvipsdbgb}). +\fi + +After having found the file in question, \cmdname{dvips} outputs +date and time, and informs us that it will generate the +file \file{hello-world.ps}, then that it needs the font file +\file{cmr10}, and that the latter is declared as ``resident'' (no +bitmaps needed): +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} +Now the search is on for the file \file{cmr10.tfm}, which is found, +then a few more prolog files (not shown) are referenced, and finally +the Type~1 instance \file{cmr10.pfb} of the font is located and +included in the output file (see last line). +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{Runtime options} + +Another useful feature of \Webc{} is its possibility to control a number +of memory parameters (in particular, array sizes) via the runtime file +\file{texmf.cnf} read by \KPS{}. The memory settings can be found in +Part 3 of that file in the \TeXLive{} distribution. The more important +are: + +\begin{ttdescription} +\item[\texttt{main\_memory}] + Total words of memory available, for + \TeX{}, \MF{} and \MP. You must make a new format file for each + different setting. For instance, you could generate a ``huge'' + version of \TeX{}, and call the format file \texttt{hugetex.fmt}. + Using the standard way of specifying the program name used by \KPS{}, + the particular value of the \texttt{main\_memory} variable will then + be read from \file{texmf.cnf} (compare the generic value + and the huge one instantiated by \texttt{hugetex}, + etc.). +\item[\texttt{extra\_mem\_bot}] + Extra space for ``large'' \TeX{} data structures: + boxes, glue, breakpoints, etc. Especially useful if you use + \PiCTeX{}. +\item[\texttt{font\_mem\_size}] + Number of words for font information available for \TeX. This + is more or less the total size of all TFM files read. +\item[\texttt{hash\_extra}] + Additional space for the hash table of control sequence names. + Approximately 10,000 control sequences can be stored in the main + hash table; if you have a large book with numerous cross-references, + this might not be enough. You can see that both the + \cmdname{hugetex} and \cmdname{pdflatex} program invocations ask for + an extra 15,000 control sequences (the default value of + \texttt{hash\_extra} is zero). +\end{ttdescription} + +\noindent Of course, this facility is no substitute for truly dynamic +arrays and memory allocation, but since this is extremely difficult to +implement in the present \TeX{} source, these runtime parameters provide +a practical compromise allowing some flexibility. + + +\section{Building on a new Unix platform} + +If you have a platform for which we have not created executables, you +will need to compile \TeX{} and friends from scratch. This is not as +hard as it sounds. What you need is all in the directory \texttt{source} +in the distribution. + +\subsection{Prerequisites} + +You will need at least 100 megabytes of disk space to compile all of +\TeX{} and its support programs. You'll also need an \acro{ANSI} C +compiler, a \cmdname{make} utility, a lexical scanner, and a parser +generator. We recommend the \acro{GNU} version of these programs +(\cmdname{gcc}, \acro{GNU} \cmdname{make}, \cmdname{m4}, \cmdname{flex}, +\cmdname{bison}). You may be able to work with other C compilers and +\cmdname{make} programs, but you will need a good understanding of +building Unix programs to sort out problems. + +Also, the command \texttt{uname} must return a sensible value. + + +\subsection{Configuration} + +To begin, perform a normal installation of \TeXLive{} to your disk (see +section~\ref{sec:unix-install-disk} on +p.~\pageref{sec:unix-install-disk}). You may wish to skip installing +any of the prebuilt binaries. + +Then, unpack the source from the compressed \texttt{tar} file in the +directory \dirname{source} to your disk and change directory to where +you placed it. + +Next, run \cmdname{configure} with a command line like this: +\begin{alltt} +> \Ucom{sh configure -prefix=/usr/local/TeX} +\end{alltt} + +The \optname{-prefix} directory is the one where you installed the +support tree; the directory layout will be as follows (where \$TEXDIR +stands for the directory you chose): + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/share/texmf} & main tree with fonts,\\ + & \qquad macros, etc\\ + \dirname{$TEXDIR/man} & Unix manual pages\\ + \dirname{$TEXDIR/info} & \acro{GNU} style Info manuals\\ + \dirname{$TEXDIR/bin/$PLATFORM} & binaries\\ +\end{tabular} +%$ + +If you want to leave out the \dirname{$PLATFORM} directory level, +i.e., put the binaries directly into \dirname{$TEXDIR/bin}, specify +the \verb|--disable-multiplatform| option to \cmdname{configure}. + +Have a look at the output of \verb|./configure --help| for more +options you can use. For example, you can skip building of \OMEGA{} and +\eTeX{}. + + +\subsection{Running \cmdname{make}} + +Make sure the shell variable or option \texttt{noclobber} is not set. +Then, run the main \cmdname{make} like this: +\begin{alltt} +> \Ucom{make world} +\end{alltt} +and relax\ldots + +Alternatively, you want to log all the output, as in: +\begin{alltt} +> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} + +Before you believe that everything went ok, please check the log file +for errors: \acro{GNU} \cmdname{make} always uses the string \samp{***} +whenever a command fails. Also, check if all the programs were built: + +\begin{alltt} +> \Ucom{cd \emph{TEXDIR}/bin/\emph{archname}} +> \Ucom{ls | wc} +\end{alltt} +The result should be over 200 (you can check the exact number with the +\dirname{bin} directory contents in the distribution). + +If you need special privileges for \texttt{make install}, you can +separate the \samp{make world} into two different runs, like this: +\begin{alltt} +> \Ucom{make all} +> \Ucom{su} +> \Ucom{make install strip} +\end{alltt} + +After you've installed your new binaries, you should follow the normal +post-installation procedures, given in section~\ref{sec:postinstall} +on p.~\pageref{sec:postinstall}. + + +\section{Last words} + +This edition of \TeXLive{} is edited by Sebastian Rahtz, with the major +contributors being Fabrice Popineau, who has worked away unceasingly at +the Windows part of the package (especially the setup!)\ and contributed +in many different ways with ideas, advice and code, and Staszek +Wawrykiewicz, who provided great testing feedback, and co-ordinated the +Polish contributions. + +Kaja Christiansen performed a vital role in endless recompilations on +assorted Unix platforms. Vladimir Volovich did great work on cleaning +the source and making other improvements, while Gerben Wierda did all +the work for \MacOSX. + +\subsection{Acknowledgements} + +\TeXLive{} is a joint effort by virtually all \TeX{} Users Groups. In +particular, we are very grateful for past and present help from: + +\begin{itemize} + +\item The German-speaking \TeX{} Users (\acro{DANTE} e.V.), who provide +the hardware the \TeXLive{} source repository; and Rainer Sch\"opf and +Reinhard Zierke who look after it. \acro{DANTE} president Volker Schaa +coordinated production with the Lehmann's Bookstore +(\url{http://www.lob.de}). + +\item The Perforce corporation (\url{http://www.perforce.com}), for providing +a free copy of their excellent change management system, which we use to +manage. + +\item Karl Berry, who provided the original \Webc{} distribution, and +has continued to give invaluable advice, encouragement, and help. + +\item Mimi Burbank, who arranged access at the Florida State University +School of Computational Science and Information Technology to a slew of +different computers to compile \TeX{} on, and acted as an essential +guinea-pig whenever asked. + +\item Thomas Esser, without whose marvellous \teTeX{} package \TeXLive{} +would certainly not exist, and whose continual help makes it a better +product. + +\item Michel Goossens, who co-authored the documentation. + +\item Eitan Gurari, whose \TeX4ht was used to create the \HTML{} +version of this documentation, and who worked tirelessly to improve +it at short notice. + +\item Petr Olsak, who coordinated and checked all the Czech and Slovak +material very carefully. + +\item Olaf Weber, for his patient assembly and maintenance of Web2c. + +\item Graham Williams, on whose work the catalogue of packages depends. + +\end{itemize} + +In addition, Gerhard Wilhelms, Volker Schaa, Fabrice Popineau, Janka +Chleb\'\i{}kov\'a, Staszek Wawrykiewicz, Erik Frambach, and Ulrik Vieth +kindly translated documentation at various times into their respective +languages, checked other documentation, and provided very welcome +feedback. + + +\subsection{Release history} +\label{sec:history} + +Discussion began in late 1993 when the Dutch \TeX{} Users Group was +starting work on its 4All\TeX{} \CD{} for \acro{MS-DOS} users, and it +was hoped at that time to issue a single, rational, \CD{} for all +systems. This was too ambitious a target for the time, but it did spawn +not only the very successful 4All\TeX{} \CD{}, but also the \acro{TUG} +Technical Council working group on a \emph{\TeX{} Directory Structure} +(\url{http://tug.org/tds}), which specified how to create consistent and +manageable collections of \TeX{} support files. A complete draft of the +\TDS{} was published in the December 1995 issue of \textsl{TUGboat}, and +it was clear from an early stage that one desirable product would be a +model structure on \CD{}. The distribution you now have is a very direct +result of the working group's deliberations. It was also clear that the +success of the 4All\TeX{} \CD{} showed that Unix users would benefit +from a similarly easy system, and this is the other main strand of +\TeXLive. + +We first undertook to make a new Unix-based \TDS{} \CD{} in the autumn +of 1995, and quickly identified Thomas Esser's \teTeX{} as the ideal +setup, as it already had multi-platform support and was built with +portability across file systems in mind. Thomas agreed to help, and work +began seriously at the start of 1996. The first edition was released in +May 1996. At the start of 1997, Karl Berry completed a major new release +of Web2c, which included nearly all the features which Thomas Esser had +added in \teTeX, and we decided to base the 2nd edition of the \CD{} on +the standard \Webc, with the addition of \teTeX's \texttt{texconfig} +script. The 3rd edition of the \CD{} was based on a major revision of +\Webc, 7.2, by Olaf Weber; at the same time, a new revision of \teTeX +was being made, and \TeXLive{} included almost all of its features. The +4th edition followed the same pattern, using a new version of \teTeX, +and a new release of \Webc{} (7.3). The system now included a complete +Windows setup. + +For the 5th edition (March 2000) many parts of the \CD{} were revised +and checked, updating hundreds of packages. Package details were stored +in XML files. But the major change for \TeX\ Live 5 was that all +non-free software was removed. Everything in \TeXLive{} is now intended +to be compatible with the Debian Free Software Guidelines +(\url{http://www.debian.org/intro/free}); we have done our best to check +the license conditions of all packages, but we would very much +appreciate hearing of any mistakes. + +The 6th edition (July 2001) had much more material updated. The major +change was a new install concept: the user could select a more exact set +of needed collections. Language-related collections were completely +reorganized, so selecting any of them installs not only macros, fonts, +etc., but also prepares an appropriate \texttt{language.dat}. + +The 7th edition of 2002 had the notable addition of \MacOSX{} support, +and the usual myriad of updates to all sorts of packages and +programs. An important goal was integration of the source back with +\teTeX, to correct the drift apart in versions~5 and~6. + +In 2003, with the continuing flood of updates and additions, we found +that \TeXLive{} had grown so large it could no longer be contained on a +single \CD, so we split it into three different distributions (see +section~\ref{sec:multiple-dist} on p.~\pageref{sec:multiple-dist}). In +addition: + +\begin{itemize} +\item At the request of the \LaTeX{} team, we changed the standard + \cmdname{latex} and \cmdname{pdflatex} commands to now use \eTeX{} (see + p.~\pageref{text:etex}). +\item The new Latin Modern fonts were included (and are recommended). +\item Support for Alpha \acro{OSF} was removed + (\acro{HPUX} support was removed previously), since no one had (or + volunteered) hardware available on which to compile new binaries. +\item Windows setup was substantially changed; for the first time + an integrated environment based on XEmacs was introduced. +\item Important supplementary programs for Windows + (Perl, Ghost\-script, Image\-Magick, Ispell) are now installed + in the \TeXLive{} installation directory. +\item Font map files used by \cmdname{dvips}, \cmdname{dvipdfm} + and \cmdname{pdftex} are now generated by the new program + \cmdname{updmap} and installed into \dirname{texmf/fonts/map}. +\item \TeX{}, \MF{}, and \MP{} now, by default, output 8-bit input + characters as themselves in output (e.g., \verb|\write|) files, + log files, and the terminal, i.e., \emph{not} translated using the + \verb|^^| notation. In \TeXLive{}~7, this translation was + dependent on the system locale settings; now, locale settings do + not influence the \TeX{} programs' behavior. If for some reason + you need the \verb|^^| output, rename the file + \verb|texmf/web2c/cp8bit.tcx|. (Future releases will have cleaner + ways to control this.) +\item This documentation was substantially revised. +\item Finally, since the edition numbers had grown unwieldy, + the version is now simply identified by the year: \TeXLive{} 2003. +\end{itemize} + + +\subsection{Future releases} + +\emph{\TeXLive{} is not perfect!} (And never will be.) We intend to +continue to release new versions yearly, and would like to provide more +help material, more utilities, more installation programs, and (of +course) an ever-improved and checked tree of macros and fonts. This work +is all done by hard-pressed volunteers in their limited spare time, and +a great deal remains to be done. If you can help, don't hesitate to put +your name forward! + +Please send corrections, suggestions, and offers of help to:\hfill\null +\begin{quote} +Sebastian Rahtz \ / \ 7 Stratfield Road \ / \ Oxford OX2 7BG \ / \ UK \\ +\email{tex-live@tug.org} \\ +\url{http://tug.org/texlive} +\end{quote} + +\medskip +\noindent \textsl{Happy \TeX'ing!} + +\end{multicols} +\end{document} diff --git a/Master/texmf-dist/doc/texlive/texlive-en/archive/live-2004.tex b/Master/texmf-dist/doc/texlive/texlive-en/archive/live-2004.tex new file mode 100644 index 00000000000..10e50ee5832 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/archive/live-2004.tex @@ -0,0 +1,3854 @@ +% $Id$ +% TeX Live documentation. Originally written by Sebastian Rahtz and +% Michel Goossens, now maintained by Karl Berry and others. +% Public domain. +% +\documentclass{article} +\let\tldocenglish=1 % for live4ht.cfg +\usepackage{tex-live} +\begin{document} + +\title{% + {\huge \textit{The \protect\TL{} Guide}\\\strut} + {\LARGE \textsf{\TK{} 2004}} +} + +\author{Sebastian Rahtz \& Karl Berry, editors \\[3mm] + \url{http://tug.org/texlive/} + } + +\date{November 2004} + +\maketitle + +\begin{multicols}{2} +\tableofcontents +\listoftables +\end{multicols} + +\section{Introduction} +\label{sec:intro} + +This document describes the main features of the \TL{} software +distribution\Dash a \TeX{} and \LaTeX{} distribution for Linux and other +Unix flavors, \MacOSX, and (32-bit) Windows systems. (Warning: it is +not especially useful for older Mac or \acro{MS-DOS} systems.) + +\TL{} includes precompiled binaries for \TeX{}, \LaTeXe{}, \MF, \MP, +\BibTeX{} and many other programs; an extensive collection of macros, +fonts and documentation; and support for typesetting in many different +scripts from around the world. It is part of the even larger \TK{} +(briefly described below in section~\ref{sec:struct-tl}, +\p.\pageref{sec:struct-tl}), a cooperative effort by the \TeX\ user +groups. + +For newer versions of the packages included here, please check +\acro{CTAN}: \url{http://www.ctan.org} + +For a brief summary of the major changes in this edition of \TL{}, +see section~\ref{sec:history} (\p.\pageref{sec:history}). + + +\subsection{Basic usage of \protect\TL{}} +\label{sec:basic} + +You can use \TL{} in three principal ways: + +\begin{enumerate} + +\item You can run \TL{} directly from the \DVD +(see section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}). +This takes almost no disk space, as you might expect, and gives you +immediate access to everything in \TL{}. Of course performance +will be worse than running on local disk, but you may well find it +acceptable. + +\item You can install all or part of \TL{} to a local disk. This +is the most common use of \TL. You will need (approximately) a +minimum of 100 megabytes, 310 megabytes for a recommended system, and +730 megabytes for a full system. + +\item You can integrate a particular package or collection into your +existing \TeX{} system, either a \TL{} system you installed +earlier, or a different system. + +\end{enumerate} + +\noindent All of these are described in detail in the \acro{OS}-specific +installation sections following, but here is a quick start: + +\begin{itemize*} + +\item The main installation script for Unix and \MacOSX{} is +\texttt{install-tl.sh}; + +\item The single package installation script is \texttt{install-pkg.sh}. + +\item Unfortunately, this version of \TL{} has no Windows installer, due +to technical difficulties. See section~\ref{sec:win-install} below +for more information. + +\end{itemize*} + + +\subsection{Getting help} +\label{sec:help} + +The \TeX{} community is both active and friendly, and virtually all +serious questions end up getting answered. However, the support is +informal, done by volunteers and casual readers, so it's especially +important that you do your homework before asking. (If you prefer +guaranteed commercial support, you can forego \TL{} completely and +purchase a vendor's system; \url{http://tug.org/interest.html#vendors} +has a list.) + +Here is a list of resources, approximately in the order we recommend +using them: + +\begin{description} +\item [Getting Started] If you are new to \TeX, the web page +\url{http://tug.org/begin.html} gives a brief introduction to the system. + +\item [\TeX{} \acro{FAQ}] The \TeX{} \acro{FAQ} is a huge compendium of +answers to all sorts of questions, from the most basic to the most +arcane. It is included on \TL{} in \OnCD{texmf-doc/doc/english/FAQ-en}, and is +available on the Internet through \url{http://www.tex.ac.uk/faq}. +Please check here first. + +\item [\TeX{} Catalogue] If you are looking for a specific package, +font, program, etc., the \TeX{} Catalogue is the place to look. It is a +huge list of all \TeX{}-related items. See +\OnCD{texmf-doc/doc/english/catalogue}, or +\url{http://www.ctan.org/tex-archive/help/Catalogue}. + +\item [\TeX{} Web Resources] The web page +\url{http://tug.org/interest.html} has many \TeX{}-related links, in +particular for numerous books, manuals, and articles on all aspects of +the system. + +\item [support archives] The two principal support forums are the +Usenet newsgroup \url{news:comp.text.tex} and the mailing list +\email{texhax@tug.org}. Their archives have years of past +questions and answers for your searching pleasure, via +\url{http://groups.google.com/groups?group=comp.text.tex} and +\url{http://tug.org/mail-archives/texhax}, respectively. And a general web +search, for example on \url{http://google.com}, never hurts. + +\item [asking questions] If you cannot find an answer, you can post to +\dirname{comp.text.tex} through Google or your newsreader, or to +\email{texhax@tug.org} through email. But before you post, +\emph{please} read this \acro{FAQ} entry for advice on asking questions +in such a way that you're most likely to get an answer: +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. + +\item [\TL{} support] If you want to report a bug or have +suggestions or comments on the \TL{} distribution, installation, or +documentation, the mailing list is \email{tex-live@tug.org}. However, +if your question is about how to use a particular program included in +\TL{}, you are better off writing to that program's maintainer or +mailing list. + +\end{description} + +The other side of the coin is helping others who have questions. Both +\dirname{comp.text.tex} and \code{texhax} are open to anyone, so feel +free to join, start reading, and help out where you can. Welcome to +\TeX{}! + + +% don't use \TL so the \uppercase in the headline works. Also so +% tex4ht ends up with the right TeX. Likewise the \protect's. +\section{Structure of \protect\TeX\protect\ Live} +\label{sec:struct-tl} + +This section describes the structure and contents of \TL{} and the +\TK{} of which it is a part. + +\subsection{Multiple distributions: \protect\pkgname{live}, + \protect\pkgname{inst}, + \protect\pkgname{protext}} +\label{sec:multiple-dist} + +Space limitations of \acro{CD-ROM} format have forced us to divide +\TK{} into several distributions, as follows. + +\begin{description} + +\item [live] A complete system on \acro{DVD}; it is too large +for \acro{CD}. It can be run live or installed to disk. It also +includes a snapshot of the \CTAN{} repository, entirely independent of +\TL{}, as well as assorted other packages in a +\texttt{texmf-extra} directory. + +Unfortunately, this release of \TL{} does not include a Windows +installer, due to technical difficulties. (We hope there will be an +installer again in a few months.) Therefore, when the \DVD{} is mounted +on Windows, the setup program offers to start the \pkgname{protext} +installation (see below), and also mentions \CTAN{} and \TL{}, which are +in subdirectories of the top level of the \DVD{}. + +\CTAN{} and \texttt{texmf-extra} do not follow the same copying +conditions as \TL{}, so be careful when redistributing or +modifying. + +\item [inst(allable)] A complete system on \CD; in order to make this fit, +the packages and programs are compressed. Therefore, it is not possible +to run \TeX\ directly from the installable \CD, you have to install it +to disk (hence its name). Furthermore, it can only be installed on Unix +(including Linux, \MacOSX, etc.)\ systems, not Windows, although a set +of experimental Windows binaries is included (for sharing across +platforms). Installation is described in subsequent sections. + +\item [protext] An enhancement of the \MIKTEX\ system, for Windows. +\ProTeXt\ adds a few extra tools to \MIKTEX, and simplifies +installation. It is entirely independent of \TL{}, and has its own +installation instructions. It can be run live, or installed to disk. +The \ProTeXt\ home page is \url{http://tug.org/protext}. + +\ProTeXt\ is provided as both the top level of the \pkgname{live} \DVD\ +and on its own \CD\ (for those who cannot use the \DVD). + +\end{description} + +\noindent You can tell which type of distribution you're in by looking +for a \texttt{00\var{type}.TL} file at the top of the \TL{} directory. +This file also contains the \TL{} release date. + +Naturally, each user group chooses what to distribute, at its own +discretion. (\acro{TUG} is sending all three discs above to all of its +members.) + + +\subsection{Top level directories} +\label{sec:tld} + +Here is a brief listing and description of the top level directories in +the \TL{} distribution. This has changed considerably in 2004: the +single \texttt{texmf} tree has been split into several smaller trees. + +Also, on the \pkgname{live} \DVD, the entire \TL{} hierarchy is in a +subdirectory \dirname{texlive2004}, not at the top level of the disc. + +\smallskip +\begingroup + \renewcommand{\arraystretch}{1.3} % open up interrow spacing +\begin{tabular}{>{\ttfamily}lp{.78\hsize}} +bin & The \TeX{} system programs, arranged by platform. \\ +MacOSX & Supporting software for \MacOSX (see + section~\ref{sec:mac-install}, \p.\pageref{sec:mac-install}). \\ +source & The source of all programs, including the main \Webc{} + \TeX{} and \MF{} distributions. These are stored in a + \cmdname{bzip2}-compressed tar archive. \\ +support & Assorted auxiliary packages and programs. These are + \emph{not} installed automatically. This includes + assorted editors and \TeX\ shells. \\ +texmf & Tree for the programs, along with their support files and + documentation. Does not include \TeX\ formats and packages. \\ +texmf-dist & The main tree of formats and packages. \\ +texmf-doc & Tree for self-contained pure documentation, with no other + installed files.\hfil\break Arranged by language. \\ +texmf-var & Tree for files automatically generated and stored. \\ +xemtex & The \cmdname{XEmacs} editor and other support programs for + Windows. + These programs generally come pre-installed on Unix systems, or are + at least easy to compile. \\ +\end{tabular} +\endgroup + +\smallskip + +In addition to the directories above, the installation scripts and +\filename{README} files (in various languages) are at the top level of +the distribution. + +The (new) \dirname{texmf-doc} directory contains only documentation, but +it does not contain all the documentation. The documentation for the +programs (manuals, man pages, Info files) is in \dirname{texmf/doc}, +since the programs are in \dirname{texmf}. Similarly, the documentation +for \TeX\ packages and formats is in \dirname{texmf-dist/doc}. You can +use the \cmdname{texdoc} or \cmdname{texdoctk} programs to find any +documentation wherever it's located. The comprehensive links in the +top-level file \OnCD{doc.html} may also be helpful. + + +\subsection{Extensions to \protect\TeX} +\label{sec:tex-extensions} + +\TL{} contains several extended versions of \TeX: + +\begin{description} + +\item [\eTeX] adds a small but powerful set of new primitives +\label{text:etex} (related to macro expansion, character scanning, +classes of marks, additional debugging features, and more) and the +\TeXXeT{} extensions for bidirectional typesetting. In default mode, +\eTeX{} is 100\% compatible with ordinary \TeX. See +\OnCD{texmf-dist/doc/etex/base/etex_man.pdf}. + +\item [pdf\TeX] writes Acrobat \acro{PDF} format as well as \dvi{}. The +\LaTeX{} \pkgname{hyperref} package has an option `\optname{pdftex}' +which turns on all the program features. See +\OnCD{texmf/doc/pdftex/manual/pdftex-a.pdf} (A4 paper) or +\OnCD{texmf/doc/pdftex/manual/pdftex-l.pdf} (letter paper), and +\OnCD{texmf/doc/pdftex/examples/example.tex}. + +\item [pdfe\TeX] combines the pdf\TeX\ and \eTeX\ extensions. This is +the default program for all formats except plain \TeX. +See above for documentation. + +\item [\OMEGA\ (Omega)] is based on Unicode (16-bit characters), thus +supports working with almost all the world's scripts simultaneously. It +also supports so-called `\OMEGA{} Translation Processes' (\acro{OTP}s), +for performing complex transformations on arbitrary input. See +\OnCD{texmf-dist/doc/omega/base/doc-1.8.tex} (not completely up-to-date). + +\item [Aleph] combines the \OMEGA\ and \eTeX\ extensions. +See \OnCD{texmf-dist/doc/aleph/base} for some minimal documentation. + +\end{description} + + +\subsection{Other notable programs in \protect\TL} + +Here are a few other commonly-used programs included in \TL{}: + +\begin{cmddescription} + +\item [bibtex] bibliography support. + +\item [makeindex] index support. + +\item [dvips] convert \dvi{} to \PS{}. + +\item [xdvi] \dvi{} previewer for the X Window System. + +\item [dvilj] \dvi{} drive for the HP LaserJet family. + +\item [dv2dt, dt2dv] convert \dvi{} to/from plain text. + +\item [dviconcat, dviselect] cut and paste pages +from \dvi{} files. + +\item [dvipdfm] convert \dvi{} to \acro{PDF}, an alternative approach +to pdf\TeX\ (mentioned above). See the \pkgname{ps4pdf} and +\pkgname{pdftricks} packages for still more alternatives. + +\item [psselect, psnup, \ldots] \PS{} +utilities. + +\item [lacheck] \LaTeX{} syntax checker. + +\item [texexec] Con\TeX{}t and \acro{PDF} processor. + +\item [tex4ht] \TeX{} to \acro{HTML} converter. + +\end{cmddescription} + + +\section{Unix installation} +\label{sec:unix-install} + +As introduced in section~\ref{sec:basic} (\p.\pageref{sec:basic}), +\TL{} has three principal uses: + +\begin{enumerate} +\item Run directly from media. +\item Install to disk. +\item Integrate a particular package or collection into your existing +\TeX{} installation. +\end{enumerate} + +\noindent The following sections describes the Unix-specific procedures +for each of these. + +\ifSingleColumn \begin{figure}[ht]\noindent \fi +\begin{warningbox} +\textbf{Warning: } The \TK{} \CD{}s and \DVD{} are in ISO 9660 (High Sierra) +format, \emph{with} Rock Ridge (and Joliet, for Windows) +extensions. Therefore, in order to take full advantage of the \TK{} +under Unix, your system needs to be able to use the Rock Ridge +extensions. Please consult the documentation for your \cmdname{mount} +command to see how to do this. If you have several different machines +on a local network, you may be able to mount the \CD{}s on one which +does support Rock Ridge, and use this with the others. + +\leavevmode\quad Linux, \acro{BSD}, Sun, and \acro{SGI} +systems should be able to use the \CD{}s without problems. We +would appreciate receiving detailed advice from users on other systems +who succeed, for future versions of this documentation. + +\leavevmode\quad +The discussion below assumes you have been able to mount +the \CD{}s with full Rock Ridge compatibility. +\end{warningbox} +\ifSingleColumn\end{figure}\fi + + +% +\subsection{Running \protect\TL{} directly from media (Unix)} + +\def\runlive{% text repeated in windows section +It is possible to use the \TeX{} system directly from the \pkgname{live} +\DVD{}, without installing the distribution to disk. (Thus the name +\TeX\ `Live', in fact.) It is \emph{not} possible to run \TeX{} +directly from the other \CD s (see section~\ref{sec:multiple-dist}, +\p.\pageref{sec:multiple-dist}). +} + +\def\startinst{% repeated in other subsections +To start, you mount the \CD{} or \DVD{}, with Rock Ridge extensions +enabled. The exact command to do this varies from system to system; the +following works under Linux, except the name of the device +(\filename{/dev/cdrom}, here) may vary. (All our examples will use +\texttt{>} as the shell prompt; user input is +\Ucom{\texttt{underlined}}.) +\begin{alltt} +> \Ucom{mount -t iso9660 /dev/cdrom /mnt/cdrom} +\end{alltt} + +\noindent Change the current directory to the mount point: +\begin{alltt} +> \Ucom{cd /mnt/cdrom} +\end{alltt} + +\noindent Under \MacOSX, the directory is typically under +\dirname{/Volumes}, and the media will be mounted automatically. + +Run the installation script \filename{install-tl.sh}: +\begin{alltt} +> \Ucom{sh install-tl.sh}\\ +Welcome to TeX Live... +\end{alltt} + +\noindent After various greeting messages and a list of the main menu +options, the installation will ask you to enter a command. Do this by +typing the desired character and hitting return; don't type the angle +brackets. Either uppercase or lowercase is ok; we'll use lowercase in +our examples. +} + +\runlive +\startinst + +For running live, our first command will be \Ucom{d} and then the +subcommand \Ucom{1} to set directories. Even in this case, we must +choose a directory on the local disk to place files that the \TeX{} +system itself generates, such as fonts and formats, and also to provide +a place for updated configuration files, if need be. We'll use +\dirname{/usr/local/texmf-local} in this example. (If the default value +of \dirname{/usr/TeX} works for you, then you can skip this step.) +\begin{alltt} +Enter command: \Ucom{d} +Current directories setup: +<1> TEXDIR: /usr/TeX +... +Enter command: \Ucom{1} +New value for TEXDIR [/usr/TeX]: \Ucom{/usr/local/texmf-local} +... +Enter command: \Ucom{r} +\end{alltt} + +\noindent Back at the main menu, our second and last command is +\Ucom{r}, to set up for running live off the media without installing +to disk: +\begin{alltt} +Enter command: \Ucom{r} +Preparing destination directories... +... +Welcome to TeX Live! +> +\end{alltt} + +\noindent And we are back at the system prompt, as shown. + +Next, it is necessary to alter two environment variables: +\envname{PATH}, to an architecture-dependent value (so that we can run +the programs), and \envname{VARTEXMF}, to the value specified above. See +table~\ref{tab:archlist} for a list of the architecture names for the +different systems. + + +\def\textruntexconfig{% +After the main installation has completed, and environment variables +have been set, the last step is to run \cmdname{texconfig} to customize +your installation for your needs. This is explained in +section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}. +} +\textruntexconfig + +\begin{table*}[ht] +\caption[Supported system architectures.]{Supported system +architectures. In addition to the version-specific names listed here, +there are generic names without the version numbers. For instance, +\texttt{sparc-solaris} links to \texttt{sparc-solaris2.7}. The generic +names can be used to protect against the version numbers changing in the +future, if you wish.} +\label{tab:archlist} +\begin{tabular}{>{\ttfamily}ll} +alpha-linux & HP Alpha GNU/Linux \\ +%alphaev5-osf4.0d & HP Alphaev5 OSF \\ +%hppa2.0-hpux10.20 & HP9000 HPUX 10.20 \\ +i386-freebsd4.10 & Intel x86 FreeBSD \\ +i386-linux & Intel x86 GNU/Linux \\ +%i386-openbsd3.3 & Intel x86 OpenBSD \\ +%i386-solaris2.8 & Intel x86 Solaris \\ +mips-irix6.5 & SGI IRIX \\ +powerpc-aix4.3.3.0 & IBM RS/6000 AIX \\ +powerpc-darwin6.8 & \MacOSX \\ +sparc-solaris2.7 & Sun Sparc Solaris \\ +sparc64-linux & Sun Sparc GNU/Linux \\ +win32 & Windows (32-bit) \\ +x86\_64-linux & Intel/AMD 64-bit GNU/Linux \\ +\hline +\end{tabular} +\end{table*} + +\label{text:path} +The syntax for setting the environment variables, and the initialization +file to put them in, depends on the shell you use. If you use a +Bourne-compatible shell (\cmdname{sh}, \cmdname{bash}, \cmdname{ksh}, et +al.), put the following into your \filename{$HOME/.profile} file: +\begin{alltt} +PATH=/mnt/cdrom/bin/\var{archname}:$PATH; export PATH +VARTEXMF=/usr/local/texmf-local/texmf-var; export VARTEXMF +\end{alltt} + +\noindent For C shell-compatible shells (\cmdname{csh}, \cmdname{tcsh}), +put the following into your \filename{$HOME/.cshrc} file: +\begin{alltt} +setenv PATH /mnt/cdrom/bin/\var{archname}:$PATH +setenv VARTEXMF /usr/local/texmf-local/texmf-var +\end{alltt} + +\noindent Then log out, log back in, and test your installation +(see section~\ref{sec:test-install}, \p.\pageref{sec:test-install}). + +\def\textifindoubt{% +If in doubt, please ask any local system gurus to help you with +problems; for example, the way to mount the \TL{} media, which +directory or directories to use, and precise details of the changes to +your personal initialization files can and do vary from site to site. +} +\textifindoubt + + +% +\subsection{Installing \protect\TeX\protect\ Live to disk} +\label{sec:unix-install-disk} + +It is possible, indeed typical, to install the \TeX{} system from the +\TL{} to disk. This can be done either from any of the \TK{} discs. +(See section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}, +for an explanation of the different distributions.) + +\startinst + +Table~\ref{tab:main-menu-options} briefly lists the options in the main +menu. The order in which you select the options makes little +difference, except that \Ucom{i} must be last. It's reasonable to go +through them in the order presented here. + +% apparently here.sty [H] doesn't support table*. +\begin{table}[H] +\caption{Main menu options for the installation.} +\label{tab:main-menu-options} +\begin{tabular}{>{\ttfamily}ll} +p & The platform you are running on.\\ +b & The architectures for which to install binaries.\\ +s & The base installation scheme to use (minimal, recommended, + full, etc.)\\ +c & Override the base scheme for individual collections.\\ +l & Override for language collections.\\ +d & Directories in which to install.\\ +o & Other options.\\ +i & Perform the installation.\\ +\end{tabular} +\end{table} + +Here are further details on each option. + +\textbf{\optname{p} -- Current platform.} Since the installation script +automatically guesses which platform you're running on, it is generally +unnecessary to use this option. It's there in case you need to override +the automatic detection. + +\textbf{\optname{b} -- Binary architectures.} By default, only the +binaries for your current platform will be installed. From this menu, +you can select installation of binaries for other architectures as well +(or not install the current platforms). This can be useful if you are +sharing a \TeX\ tree across a network of heterogenous machines. For a +list of the supported architectures, see table~\ref{tab:archlist}, +\p.\pageref{tab:archlist}. + +\textbf{\optname{s} -- Base installation scheme.} From this menu, you +can choose an overall common set of packages, called a ``scheme''. The +default \optname{recommended} scheme suffices for typical needs, but you +can also choose the \optname{basic} scheme if you are low on disk space, +or \optname{full} to get absolutely everything. There are also specific +sets for Omega and \acro{XML}. + +\textbf{\optname{c} -- Individual collections.} From this menu, you can +override the base scheme's set of collections to install. Collections +are one level lower than schemes\Dash collections consist of +one or more packages, where packages (the lowest level grouping in \TL) +contain the actual \TeX\ macro files, font families, and so on. +In this menu, selection letters are case-sensitive. + +\textbf{\optname{l} -- Language collections}. This menu has the same +basic purpose as \Ucom{c}, to override the base scheme. In this case, +the collections are specifically for different languages. Selection +letters are case-sensitive here. Here is a list of the language +collections in \TL: + +% xx really should generate list from texmf/tpm/collection/tex-lang* +% a la install-tl.sh. +\begin{tabbing} +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \kill +(some) African scripts \> +Arabic \> +Armenian \> +Chinese\,Japanese\,Korean \\ +Croatian \> +Cyrillic \> +Czech/Slovak \> +Danish \\ +Dutch \> +Finnish \> +French \> +German \\ +Greek \> +Hungarian \> +Indic \> +Italian \\ +Latin \> +Manju \> +Mongolian \> +Norwegian \\ +Polish \> +Portuguese \> +Spanish \> +Swedish \\ +Tibetan \> +\acro{UK} English \> +Vietnamese \\ +\end{tabbing} + +\noindent Language collections typically include fonts, macros, +hyphenation patterns, and other support files. (For instance, +\pkgname{frenchle.sty} is installed if you select the \optname{French} +collection.) In addition, installing a language collection will alter +the \filename{language.dat} configuration file controlling which +hyphenation patterns are loaded. + +\textbf{\optname{d} -- Installation directories}. Three directories can +be changed here: +\label{text:instdir} + +\begin{ttdescription} +\item [TEXDIR] The top-level directory under which +everything else will be installed. The default value is +\dirname{/usr/TeX}, and is often changed. For example, changing to a +value such as \dirname{/usr/local/texlive2003} would make it possible to +keep different releases of \TL{} separate. (You may then wish to make +\dirname{/usr/local/texlive} a symbolic link, after testing the new +release.) + +Under \MacOSX, the usual frontends look for \TeX{} in +\dirname{/usr/local/teTeX}, so you may wish to install \TL{} there. + +\item [TEXMFLOCAL] This tree is where the \TeX{} system (not as part of +installation, but rather over time) puts non-version-specific files, +primarily fonts. The default value is \dirname{TEXDIR/texmf-local}. +However, it's also the recommended location to put any local packages or +configuration settings. Therefore, it's desirable to change it to a +location independent of the current \TL{} release; for example, +\dirname{/usr/local/texmf-local}. + +\item [VARTEXMF] This tree is where the system puts files that +\emph{are} version-specific, primarily format files and the +configuration files which are modified by \cmdname{texconfig} (see +section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}). The default +value is \dirname{TEXDIR/texmf-var}, and there's generally no reason to +change it. + +\end{ttdescription} + +\textbf{\optname{o} -- Other options.} From this menu, you can select +the following general options: + +\begin{ttdescription} +\item [a] Specify an alternate directory for generated fonts. +The default is to use the \envname{VARTEXMF} tree, as explained above. +Setting this is useful if you plan to mount the main tree read-only, and +therefore you need another location (perhaps host-specific) for +dynamically created fonts. + +\item [l] Create symbolic links for the binaries, man pages, +and\slash or \acro{GNU} Info files in other locations. For example, you may +wish to make the man pages available under \dirname{/usr/local/man} and +the Info files available under \dirname{/usr/local/info}. (Of course +you need appropriate privileges to write in the specified directories.) + +It is not advisable to overwrite a \TeX\ system that came with your +system with this option. It's intended more for having the links in +standard directories known to users, such as \dirname{/usr/local/bin}, +which don't already contain any \TeX\ files. + +\item [d] Skip installation of the font/macro documentation tree. +This is useful if you need to save space, or if you've previously +installed the documentation elsewhere. + +\item [s] Skip installation of the main font/macro source +tree. This is useful if you are arranging to share that tree between +machines and\slash or architectures in some other way, such as \acro{NFS}. + +\end{ttdescription} + +\textbf{i -- Perform installation.} When you're satisfied with your +configuration options, enter \Ucom{i} to actually do the installation +from the media to your chosen locations. + +% text is similar to above, but no VARTEXMF, so we have to write out. +After the installation completes, your next step is to include the +architecture-specific subdirectory of \dirname{TEXDIR/bin} in your +\envname{PATH}, so the newly-installed programs can be found. The +architecture names are listed in table~\ref{tab:archlist}, +\p.\pageref{tab:archlist}, or you can simply list the directory +\dirname{TEXDIR/bin}. + +The syntax for doing this, and the initialization file to use, depends +on your shell. If you use a Bourne-compatible shell (\cmdname{sh}, +\cmdname{bash}, \cmdname{ksh}, et al.), put the following into your +\filename{$HOME/.profile} file: + +\begin{alltt} +PATH=/mnt/cdrom/bin/\var{archname}:$PATH; export PATH +\end{alltt} + +\noindent For C shell-compatible shells (\cmdname{csh}, \cmdname{tcsh}), +put the following into your \filename{$HOME/.cshrc} file: +\begin{alltt} +setenv PATH /mnt/cdrom/bin/\var{archname}:$PATH +\end{alltt} + +\textruntexconfig + +Here is a brief annotated example which selects a full installation, +with binaries for the current system only, with directory changes as +recommended above. The prompts and \acro{RETURN}s are omitted for +brevity. + +\begin{alltt} +> \Ucom{sh install-tl.sh} +\Ucom{s} \Ucom{b} \Ucom{r} # scheme, full, return to main +\Ucom{d} # change directories +\Ucom{1} \Ucom{/usr/local/texlive2003} # top-level dir +\Ucom{2} \Ucom{/usr/local/texmf-local} # TEXMFLOCAL outside TEXDIR +\Ucom{r} # return to main +\Ucom{i} # perform installation +> \Ucom{texconfig} ... +# New PATH, with Linux as the example: +> \Ucom{PATH=/usr/local/texlive2003/bin/i386-linux:$PATH; export PATH} +\end{alltt} + +\textifindoubt + + +% +\subsection{Installing individual packages to disk} + +You can add individual packages or collections from the current +distribution to an existing non-\TL{} setup, or an earlier +\TL{} installation. + +\startinst + +Run the installation script \filename{install-pkg.sh} (not +\filename{install-tl.sh}, which is intended for complete installations +only): +\begin{alltt} +> \Ucom{sh install-pkg.sh \var{options}} +\end{alltt} + +The first set of options controls what gets read: + +\begin{ttdescription} +\item [-{}-package=\var{pkgname}] The individual package to work on. + +\item [-{}-collection=\var{colname}] The individual collection to work on. + +\item [-{}-nodoc] Exclude documentation files from the operation. + +\item [-{}-nosrc] Exclude source files from the operation. + +\item [-{}-cddir=\var{dir}] Source directory to read from; defaults +to the current directory. If you followed the instructions above, that +will be the distribution directory, and won't need to be changed. + +\item [-{}-listdir=\var{dir}] The so-called `lists' directory within +\var{cddir} from which to read the package information. The only +reason to change the default is if you're making changes to \TL{} +yourself. + +\end{ttdescription} + +What actually happens is controlled by the following options. If +neither of these are specified, the default action is to install the +selected files. The main destination tree is found by expanding +\envname{\$TEXMFMAIN} with \cmdname{kpsewhich}. You can override it by +setting either the environment variable \envname{TEXMFMAIN} or +\envname{TEXMF}. + +\begin{ttdescription} +\item [-{}-listonly] List the files that would be installed, but don't +actually install anything. + +\item [-{}-archive=\var{tarfile}] Instead of installing the files into +the \TeX{} system, make a \cmdname{tar} archive. + +\end{ttdescription} + +Additional options: + +\begin{ttdescription} + +\item [-{}-config] After installation, run \code{texconfig init}. + +\item [-{}-nohash] After installation, don't run \cmdname{mktexlsr} to +rebuild the filename database. + +\item [-{}-verbose] Give more information as the script runs. + +\end{ttdescription} + +Here are some usage examples: + +\begin{enumerate} + +\item To see the files in the package \pkgname{fancyhdr} without +installing it: + +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=fancyhdr --listonly} +\else> \Ucom{sh install-pkg.sh --package=fancyhdr \bs} +> \Ucom{--listonly} +\fi{} +texmf/doc/latex/fancyhdr/README +texmf/doc/latex/fancyhdr/fancyhdr.dvi +texmf/doc/latex/fancyhdr/fancyhdr.pdf +... +\end{alltt} + +\item Install the \LaTeX{} package \pkgname{natbib}: +\begin{alltt} +> \Ucom{sh install-pkg.sh --package=natbib} +\end{alltt} + +\item Install the \LaTeX{} package \pkgname{alg} without source files or +documentation: +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=alg --nosrc --nodoc} +\else> \Ucom{sh install-pkg.sh -{}-package=alg \bs} +> \Ucom{-{}-nosrc -{}-nodoc} +\fi\end{alltt} + +\item Install all the packages in the collection of additional +plain \TeX\ macros: +\begin{alltt} +> \Ucom{sh install-pkg.sh --collection=tex-plainextra} +\end{alltt} + +\item Write all files in the \pkgname{pstricks} package to a +\cmdname{tar} file in \path|/tmp|: +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=pstricks --archive=/tmp/pstricks.tar} +\else +> \Ucom{sh install-pkg.sh -{}-package=pstricks \bs} +> \Ucom{-{}-archive=/tmp/pstricks.tar} +\fi\end{alltt} + +\end{enumerate} + +\textifindoubt + + +% +\section{Post-installation} +\label{sec:postinstall} + +After the main installation is done, for any operating system, the +remaining steps are to configure the system for your local needs, and +perform some basic tests. + +Another sort of post-installation is to acquire packages, fonts, or +programs that were not included in \TL{}. The basic idea is to +install such additions in the \envname{TEXMFLOCAL} tree (if you +installed to disk), or \envname{VARTEXMF} (if you are running live). +See the ``Installation directories'' option on \p.\pageref{text:instdir}. + +Unfortunately, the details can and do vary widely, and so we do not attempt to +address them here. Here are some external links to descriptions: +\begin{itemize*} +\item +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages} +\item +\url{http://www.ctan.org/installationadvice} +\item +\url{http://www.ctan.org/tex-archive/info/beginlatex/html/chapter5.html#pkginst} +\item +\url{http://www.ctan.org/tex-archive/info/Type1fonts} for font creation +and installation information in particular. +\end{itemize*} + + +\subsection{The \protect\cmdname{texconfig} program} +\label{sec:texconfig} + +At any time after installation, you can and should use the program +\cmdname{texconfig} to configure the system to fit your local needs. It +is installed in the architecture-specific subdirectory +\texttt{TEXDIR/bin/\var{arch}} along with everything else. + +If you run it without arguments, it will enter full-screen mode and +allow you to view and change options interactively. + +You can also run it with various command-line options. Here are some of +the most common (a \TL{} installation is configured for the A4 paper +size by default): + +\begin{ttdescription} + +\item [texconfig paper letter] Set default paper size for +various programs and drivers (\cmdname{pdftex}, \cmdname{dvips}, +\cmdname{dvipdfm}, \cmdname{xdvi}) to be \acro{US} letter. The other +allowable size is \optname{a4}, which is the default. + +\item [texconfig localsetup] Verify that paths are set ok. + +\item [texconfig rehash] Update all the \TeX{} system filename databases. + +\item [texconfig faq] Show the \teTeX{} \acro{FAQ}. +(See also the main \TeX{} \acro{FAQ} in \OnCD{texmf-doc/doc/english/FAQ-en}.) + +\item [texconfig help] Output help information for \cmdname{texconfig}. + +\end{ttdescription} + +Of course, \cmdname{texconfig} can only support changing a few of the +many options and configuration parameters in a \TeX{} system. The main +configuration file for the base \Webc{} programs is named +\filename{texmf.cnf}. You can find its location by running +\samp{kpsewhich texmf.cnf}; it contains many comments explaining the +default settings and useful alternatives. + + +\subsection{Testing the installation} +\label{sec:test-install} + +After installing \TL{} as best you can, you naturally want to test +it out, so you can start creating beautiful documents and\slash or fonts. + +This section gives some basic procedures for testing that the new system +is functional. We give Unix commands; under \MacOSX{} and Windows, +you're more likely to run the tests through a graphical interface, but +the principles are the same. + +\begin{enumerate} + +\item Make sure that you can run the \cmdname{tex} program in the first +place: + +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.141592 (Web2C 7.5.3) +kpathsea version 3.5.3 +Copyright (C) 1997-2004 D.E. Knuth. +... +\end{alltt} +If this comes back with `command not found' instead of version and +copyright information, most likely you don't have the correct +\dirname{bin} subdirectory in your \envname{PATH}. See +the environment-setting information on \p.\pageref{text:path}. + +\item Process a basic \LaTeX{} file: +\begin{alltt} +> \Ucom{latex sample2e.tex} +This is pdfeTeXk, Version 3.141592... +... +Output written on sample2e.dvi (3 pages, 7496 bytes). +Transcript written on sample2e.log. +\end{alltt} +If this fails to find \filename{sample2e.tex} or other files, perhaps +you have interference from old environment variables or configuration +files. For a deep analysis, you can always ask \TeX{} to report on +exactly what it is searching for, and finding; see ``Debugging actions'' +on page~\pageref{Debugging}. + +\item Preview the result online: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} +\end{alltt} +(Under Windows, the analogous command is \cmdname{windvi}.) You should +see a new window with a nice document explaining some of the basics of +\LaTeX{}. (Well worth reading, by the way if you're new to the system.) +You do have to be running under X for \cmdname{xdvi} to work; if you're +not, or your \envname{DISPLAY} environment variable is set incorrectly, +you'll get an error \samp{Can't open display}. + +\item Create a \PS{} file for printing or display: +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item Create a \acro{PDF} file instead of \dvi{}; this processes the +\filename{.tex} file and writes \acro{PDF} directly: +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item Preview the \acro{PDF} file: +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{or:} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} +Unfortunately neither \cmdname{gv} nor \cmdname{xpdf} are currently +included in \TL{}, so you must install them separately. See +\url{http://wwwthep.physik.uni-mainz.de/~plass/gv} and +\url{http://www.foolabs.com/xpdf}, respectively. + +\item Other standard test files you may find useful: + +\begin{ttdescription} +\item [small2e.tex] A simpler document than \filename{sample2e}, to +reduce the input size if you're having troubles. +\item [testpage.tex] Test if your printer introduces any offsets. +\item [nfssfont.tex] For printing font tables and tests. +\item [testfont.tex] Also for font tables, but using plain \TeX{}. +\item [story.tex] The most canonical (plain) \TeX{} test file of all. +You must type \samp{\bs bye} to the \code{*} prompt after \samp{tex +story.tex}. +\end{ttdescription} +You can process these in the same way as we did with +\filename{sample2e.tex}. + +\end{enumerate} + +If you are new to \TeX{}, or otherwise need help with actually +constructing \TeX{} or \LaTeX{} documents, please visit +\url{http://tug.org/begin.html}. We especially recommend the +\textsl{Formatting Information} manual by Peter Flynn, available at +\url{http://www.ctan.org/tex-archive/documentation/beginlatex}. + + +\section{\MacOSX{} installation} +\label{sec:mac-install} + +\TL{} supports \MacOSX, but no prior Macintosh versions. (If you +are running an older Mac version, you can view the files by installing +the Joliet system extension available from +\url{http://www.tempel.org/joliet}; however, the \TL{} binaries +will not run.) + +Installation of \TeX{} under \MacOSX{} can be done in two ways: + +\begin{enumerate} +\item With the \filename{install*} scripts, as with Unix. +\item With the \cmdname{i-Installer} included in +\filename{MacOSX/II2.dmg}. +\end{enumerate} + +\noindent Each of these is described in a following section. + +In addition, \TeX{} under \MacOSX\ typically uses a ``frontend''. This +is also described below. + + +\subsection{\protect\cmdname{i-Installer}: Internet installation} +\label{sec:i-Installer} + +The \cmdname{i-Installer} is included in the \TL{} distribution as +an alternative to normal installation. It does not use the contents of +the \TL{} distribution at all; instead, the system (approximately +70 megabytes) is downloaded over the Internet. + +One advantage of \cmdname{i-Installer} is that it makes updates +relatively painless. If you are interested, please see the +\cmdname{i-Installer} \TeX{} home page at \url{http://www.rna.nl/tex.html}. + +To use it, mount \filename{./MacOSX/II2.dmg}. Read the documentation, +launch it, and install at least \texttt{TeX Foundation} and \texttt{TeX +Programs}. The first will finish without configuration, as soon as the +second is installed you will be presented with a graphical interface to +setting up your \TeX{} system. + +The \cmdname{i-Installer} distribution uses the \teTeX{} \dirname{texmf} +tree with some additions. Due to differences between \TL{} and +\teTeX{} you cannot update a \TL{} installation with an +\cmdname{i-Installer} \texttt{TeX Programs} i-Package. + + +\subsection{\protect\cmdname{install*.sh}: \protect\TL{} installation} + +In order to run the installation scripts under \MacOSX, you need to have +the \cmdname{bash} shell installed. If you are running \MacOSX~10.2 +or later, you have \cmdname{bash}, and can proceed. If you're running +an earlier \MacOSX{} version, however, the default shell is +\cmdname{zsh}, which won't work; you'll need to get \cmdname{bash} from +the Internet, or more likely upgrade your system. + +Once you have \cmdname{bash}, the Unix installation documentation in the +previous section can be followed. See section~\ref{sec:unix-install} on +\p.\pageref{sec:unix-install}; \MacOSX-specific notes are included there +where needed. + + +\subsection{\MacOSX{} frontends} + +Using \TeX{} on a Macintosh typically goes through a front end program, +comprising an execution shell, editor, previewer, and other facilities, +with a graphical interface. Here are the principal frontends: + +\begin{cmddescription} +\item [TeXShop] Included in \TL{} as \filename{./MacOSX/texshop.dmg}. + \\See \url{http://www.uoregon.edu/~koch/texshop/texshop.html}. + +\item [ITeXMac] Included in \TL{} as \filename{./MacOSX/iTM-*.dmg}. + \\See \url{http://itexmac.sourceforge.net}. + +\item [Mac-emacs] A port of Emacs to \MacOSX{}, integrating \pkgname{AucTeX}. + \\See \url{http://www.cs.man.ac.uk/~franconi/mac-emacs}. + +\end{cmddescription} + +The frontends use \dirname{/usr/local/teTeX} as the default location; +therefore, you must either install \TL{} there, or change the +configuration of the frontend. + + +\section{Windows installation} +\label{sec:win-install} + +Unfortunately, this release of \TL{} does not include a Windows +installer, due to technical difficulties. We hope that an installer +will be available again in a few months. (It is being completely +rewritten to use standard Microsoft libraries, instead of the homegrown +\filename{TeXSetup.exe}.) + +A set of experimental Windows binaries is included, nevertheless. You +can install them with the Unix \filename{install-tl.sh} script: select +the \optname{win32} system from the \optname{S} option of the top-level +menu. The \pkgname{XEmacs} package is not included, however, due to +space. + +(Meanwhile, if you are an experienced Windows programmer and would like +to help with the project, email us!) + + +\begin{comment} +\TL{} can be installed on systems running Windows 9x, \acro{ME}, +\acro{NT}, \acro{2K} or \acro{XP}. Older versions of Windows (3.1x) +and \acro{MS-DOS} are not supported. + +It is necessary to have your Windows set up so that it uses the +Microsoft Joliet extensions for reading \CD{}s; simply look at the \CD{} +in Explorer and see whether it shows long, mixed-case, file names. If it +does not, you must install the Joliet extensions. + +The Windows \TeX{} system included in \TL{} is no more and no less +than the \fpTeX{} distribution. It includes a \texttt{dvi} previewer, +\textsf{Windvi}, which is similar in usage to the established Unix +\textsf{xdvi}. The documentation can be found in +\OnCD{texmf/doc/html/windvi/windvi.html}. + +\subsection{The \texttt{TeXLive.exe} program} + +\begin{figure*} + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.7\textwidth]{pictures/Welcome-to-TeXLive} + \else + \ifnum \Status=2 + \includegraphics[bb=0 0 551 534]{pictures/Welcome-to-TeXLive.jpg} + \else + \includegraphics[width=.7\textwidth]{pictures/Welcome-to-TeXLive} + \fi + \fi + \end{center} + \caption{``Welcome to \TL'' window}\label{graph:welcome} +\end{figure*} + +If your computer is configured to let the \CD{} autostart, then a dialog +box with a menu bar will popup on the screen, and you will have several +choices from there: + +\begin{itemize*} +\item Install \TeX{} on your hard disk +\item Do maintenance on your \TeX{} system. +\item Remove the \TeX{} system. +\item Use \TeX{} off the \TL{} \CD{} or \DVD{}. +\item Browse documentation: \TL{} documentation, TUG web + pages, \fpTeX web pages. +\item Run the \cmdname{TeXdocTK} application to find specific documentation. +\end{itemize*} + +If your \CD{} does not autostart, you can explicitly run the program +by double clicking on \path|bin/win32/TeXLive.exe| on the \CD{} from +the explorer window. + +\subsection{Running \protect\TL{} directly from media (Windows)} + +\runlive + +To run live under Windows, from the menu, chose \verb|Explore CD-Rom|, then +\verb|Run TeX off CD-Rom|. This will launch the \cmdname{XEmacs} editor. + +XEmacs startup file will set the environment variables needed. XEmacs will also +setup a temporary \acro{TDS} compliant texmf tree in the temporary area of your +computer. It is needed to store files that may be built on the fly, such as +\path|pk| bitmap fonts, or format files. Configuration files are copied from +the \CD{} to this texmf tree, so that you can edit them if needed. The +\path|ls-R| database is computed for this texmf tree. The AUC-\TeX{} mode will +be entered Whenever you will visit or create a \TeX{} file, providing all the +bells and whistles for \TeX{} support XEmacs is capable of. + +If you run 'M-x shell' within XEmacs, then you will have access to all the TeXLive +tools from the command line provided by XEmacs. + +\smallskip {\small\noindent \textbf{[For advanced users:]} You can also + use the small batch file \path|mkloctex.bat| to be called in a + directory \path|bin\win32| of the \CD. From the Start menu select + `Run', then browse the \acro{CD} drive and select + \path|mkloctex.bat|. Before starting it, you should add two parameters + separated by a space: the letter of your \acro{CD} drive and the + letter of the drive where you want to install the \TeX\ directory. + The whole line should read, e.g., \verb+d:\bin\win32\mkloctex.bat d c+. + When installation is complete, please read carefully the information + on screen. If you are running Windows 9x/\acro{ME}, then you will have to + restart Windows.} + +\subsection{Support packages for Windows} +\label{sec:win-xemtex} + +To be complete, a \TL installation needs support packages that are not +commonly found on a Windows machine. +Many scripts are written using the Perl language. Some important tools require +the Ghostscript \PS{} interpreter to render or to convert files. A graphic +file toolbox is also needed in some cases. Last but not least, a \TeX-oriented +editor makes it easy to type in your \TeX{} files. + +All these tools are quite easy to find for Windows, but in order to try to make +your life even easier, we have put such a set of tools on \TL: +\begin{itemize*} +\item \cmdname{Ghostscript} 7.07 +\item a minimal \cmdname{Perl} 5.8, sufficient to run all the \TL{} +Perl scripts +\item a subset of \cmdname{ImageMagick} 5.5.6 +\item the \cmdname{ISpell} checker +\item \cmdname{XEmacs} 21.5.14 with a selection of packages to support +\TeX{} typesetting. +\end{itemize*} + +These packages should be installed only all at once. The bundle is +known as the \XEmTeX{} bundle. + +If you didn't install \XEmTeX{}, \cmdname{Perl} and \cmdname{Ghostscript} are +installed anyway if they are not detected on your machine. This is because they are +required by many important tools. The \envname{PERL5LIB} and \verb|GS_LIB| +environment variables will be set too. + +When you are under +\cmdname{XEmacs}, the tools provided shadow any other version you might +have installed previously. The point here is that \path|TeXSetup.exe| +will not install anything outside of the \TL location, neither will +it run foreign installers, nor will it try to autodetect installed +products using unreliable rules of thumb. The \XEmTeX{} bundle is +standalone and is meant to evolve in the future. The reference site is +\url{http://www.fptex.org/xemtex/}. + +If you don't want to install this bundle, then you are on your own to +install the required tools to complete your \TL{} system. Here is a +list of places to get those tools: + +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.activestate.com/} (but you might need some + supplementary packages from CPAN: \url{http://www.cpan.org/}) +\item[ImageMagick] \url{http://www.imagemagick.com} +\item[NetPBM] alternatively, you could use NetPBM instead of ImageMagick to + process or convert your graphic files. NetPBM home page is + \url{http://netpbm.sourceforge.net/} +\item[\TeX-oriented editors] There is a wide choice, and it is a matter of the + user's taste. Here is a selection: + \begin{itemize*} + \item \cmdname{GNU Emacs} is available natively under Windows, the + reference url is + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html} + \item \cmdname{XEmacs} is available natively under Windows, the + reference url is \url{http://www.xemacs.org/} + \item \cmdname{WinShell} is available on \TL in the \path|support| + directory, the reference url is \url{http://www.winshell.de} + \item \cmdname{WinEdt} is shareware available from \url{http://www.winedt.com} + \item TeXnicCenter is available from\\ + \url{http://www.toolscenter.org} + \item \cmdname{Vim} is available on \TL{} in the + \path|support\vim| directory and the + reference site is \url{http://www.vim.org} + \item \cmdname{SciTE} is available from \url{http://www.scintilla.org/SciTE.html} + \end{itemize*} +\end{description} + +You might want to install other tools that are not free\footnote{Not +free, that is, in the sense of freedom to modify and redistribute, +following free software guidelines. This does not mean you can't acquire +them for no money.} and therefore not included on \TL{}, such as +\cmdname{GSView}, the \cmdname{Ghostscript} companion to more +conveniently view PS/PDF files. \cmdname{GSView} is available from +\url{http://www.cs.wisc.edu/~ghost/gsview/} or any \acro{CTAN} site. + +\subsection{Installing \protect\TeX\protect\ Live to disk} + +\textbf{Warning: Win9x users must ensure they have enough environment + space before undertaking installation. The \cmdname{TeXSetup.exe} + program won't change the environment size for them. A few environment + variables will be created and it is possible you run out of + environment space. Add \texttt{SHELL=<path>COMMAND.COM /E:4096 /P} in the + config.sys file in order to increase your environment size.} + +Installation is started by letting the media autostart. The program run +is \path|TeXSetup.exe| if you are using the inst disk. If you are using +the live or the demo disk, you will have to select the item +\path|TeXLive Software| from the menu, then the subitem \path|Install on +Hard Disk|. This will invoke \path|TeXSetup.exe|. You can also find it +in the \path|bin/win32| directory and run it, if the autostart fails for +any reason. \path|TeXSetup.exe| is a Windows wizard and it will display +several pages while running. + +\begin{description} +\item[Welcome Page] + You can choose a \emph{quick} installation from + here. In this case, the installation will run without any human + assistance from beginning to end, with all the default settings + (Figure~\ref{graph:setup-src}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). If you have enough privileges (administrator or power user + rights) under a Windows version where this is applicable, then you can + decide to install the \TL{} for all users or for yourself only by + checking the appropriate box. + For installing the whole \XEmTeX{} bundle (XEmacs, Ghost\-script, + Perl, ImageMagick and Ispell) you can check \emph{Install XEmTeX + Support} box. + \begin{figure*}[!htb] + The \cmdname{TeXSetup} Wizard\hfill + Source directories for the \TL{} files + + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{pictures/setup-wizard.jpg}\hfill% + \includegraphics[width=.48\textwidth]{pictures/source-for-texlive.jpg} + \else + \ifnum \Status=2 +\includegraphics[bb=0 0 506 403]{pictures/setup-wizard.jpg} +\includegraphics[bb=0 0 506 403]{pictures/source-for-texlive.jpg} + \else + \includegraphics[width=.48\textwidth]{pictures/setup-wizard}% + \hfill% + \includegraphics[width=.48\textwidth]{pictures/source-for-texlive} + \fi + \fi + \caption{The \TL{} setup wizard}\label{graph:setup-src} + \end{center} +\end{figure*} +\item[Source Page] + This page is a bit complex. It will allow you to select two source + directories for your \TL{} system + (Figure~\ref{graph:setup-src}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). You will need a \emph{local + source directory} and possibly a \emph{remote source directory}. + +Why do we need both these directories? The files consisting of the +\TL{} system are on the \CD{}, of course, but some other useful +packages are not, either because of space lacking or because their +license was not compatible with \TL{}. You need to enable Internet +downloading if you want to install these packages that are marked with a +specific ``remote'' icon. + + However, don't panic: the default parameters of the setup will allow + you to install a full system using the \CD{} only. Simply, you won't + have \file{WinEdt} (for example), but you will be able to install it + later. + + So you can take your files from: + \begin{itemize} + \item the \CD{} or any similar flat tree of files, available through + some standard directory (this means the \CD{} can be mounted on + some remote machine and be made available through network + sharing), + \item a set of \file{.zip} files (this is the case when you are + installing from the demo \CD{} or the \fpTeX{} distribution), + \item the Internet; in this case, the program takes care of + downloading the \file{.zip} files it needs for you. + \end{itemize} + This option is available only if you enable Internet file + downloading in the right part of the page. You also need to + configure this Internet access by selecting to connect either using + Internet Explorer~5 \file{wininet.dll}, or using a direct connection (\texttt{ftp}, + \texttt{http}). +% or using a proxy server. +% Last, you can be assisted in defining the \emph{local source +% directory} and \emph{remote source directory} which will be used +% to copy the files onto your hard disk. The \texttt{browse} buttons +% allow to select a directory for the former, and an url among a list +% of mirrors for the latter. +\item[Root Page] + On this page, you will tell where you want the files to be + installed (Figure~\ref{graph:root-schm}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). Only the root directory really matters, the other ones + are set according to the root one. You may want to make + \path|$TEXMFEXTRA| point to some TDS compliant directory with other + \TeX{} files or assign a different value to + \path|$HOMETEXMF|, which is set by default to whatever Windows think + is your `HOME' location. +\begin{figure*}[!htb] + Root and directories\hfill% + Scheme selection + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.46\textwidth]{pictures/root-of-installation.jpg}\hfill% + \includegraphics[width=.46\textwidth]{pictures/scheme-selection.jpg} + \else + \ifnum \Status=2 +\includegraphics[bb=0 0 506 403]{pictures/root-of-installation.jpg} +\includegraphics[bb=0 0 506 403]{pictures/scheme-selection.jpg} + \else + \includegraphics[width=.46\textwidth]{pictures/root-of-installation}% + \hfill% + \includegraphics[width=.46\textwidth]{pictures/scheme-selection} + \fi + \fi + \caption{\TL-Setup: Root and directories / Schemes}\label{graph:root-schm} + \end{center} +\end{figure*} +\item[Get TPM Page] + This page does not require any manual intervention. The \file{.tpm} + files which describe collections and packages are retrieved + (possibly from the Internet), unzipped if needed and parsed. +\item[Schemes Page] + On this page, you will select the global scheme of your + installation (Figure~\ref{graph:root-schm}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). A scheme is a large set of files targeted at some kind + of usage. There are 3 generic schemes for basic, recommended and + full installation. The other ones are devoted to LUGs (what GUST or + GUTenberg propose for their members) or applications (XML and + \TeX{}). + When a scheme is selected, it is still possible to refine the + selection by checking the appropriate box. If doing so, you will be + presented the packages page to change your selection, else you will + jump to the review page. +\item[Packages Page] + Collections and packages are presented in a tree form + (Figure~\ref{graph:win32-support}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). The links + in the tree are dependency links. Collections \emph{depend on} + packages and maybe other collections, and it is the same for each + package. You can select any package or collection individually, but + your request will be granted only if the object is not requested by + another one which is selected. For example, you can't deselect + \texttt{tex-basic} without deselecting all the collections that + request it. + + The \texttt{tex-xemtex} collection displayed on the picture is Win32 specific. It + holds a number of bonus packages (Figure~\ref{graph:win32-support}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ) which can be installed + automatically and individually: Ghostscript (the \PS{} + interpreter), XEmacs editor preconfigured for \TeX{}, tools like Perl, + ImageMagick, Ispell. \emph{None of these packages are selected by + default}. + + On this page, you also have the information about disk space + needed, for each object, and for the set of those who are selected, + and also the disk space available on the partition selected for the + installation. Last, you can choose to install or not the + documentation files and source files associated with each package. +\item[Review Page] + You will find there a summary of your choices + (Figure~\ref{graph:review}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). It is still possible to + go back to change them. +\begin{figure*}[!htb] + Packages Page\hfill% + Win32 Support + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{pictures/package-selection}\hfill% + \includegraphics[width=.48\textwidth]{pictures/win32-support} + \else + \ifnum \Status=2 +\includegraphics[bb=0 0 506 403]{pictures/package-selection.jpg}\hfill% +\includegraphics[bb=0 0 506 403]{pictures/win32-support.jpg} + \else + \includegraphics[width=.48\textwidth]{pictures/package-selection}% + \hfill% + \includegraphics[width=.48\textwidth]{pictures/win32-support} + \fi + \fi + \end{center} + \caption{Packages Page / Win32 goodies} + \label{graph:win32-support} +\end{figure*} +\item[Files Copy Page] + The selected files are copied on your hard disk (Figure~\ref{graph:file-copy}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). All the files not + yet available on your local disk are first downloaded from the + remote source directory on the Internet. Then every package is + unpacked (if \path|.zip| files), or copied from the \CD{}. +\item[Configuration Page] Several packages need some configuration + step to make them usable (Figure~\ref{graph:configuration}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). Also the \TL{} system needs some post-processing step + (format files generation, ls-R databases generation, environment + variables, etc.). All these operations are done there, some of them + can be lengthy. +\begin{figure*}[!htb] + \textbf{Review Page}\hfill% + \textbf{File Copy Page} + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{pictures/review-settings}\hfill% + \includegraphics[width=.48\textwidth]{pictures/file-copy} + \else + \ifnum \Status=2 + \includegraphics[bb=0 0 506 403]{pictures/review-settings.jpg}\hfill% + \includegraphics[bb=0 0 506 403]{pictures/file-copy.jpg} + \else + \includegraphics[width=.48\textwidth]{pictures/review-settings}\hfill% + \includegraphics[width=.48\textwidth]{pictures/file-copy}% + \fi + \fi + \end{center} + \caption{Review Page / File Copy Page} + \label{graph:review}\label{graph:file-copy} +\end{figure*} +\item[Final Page] The installation being over, you may want to display + the Windows specific documentation (HTML format) and / or the log + file of the setup process (Figure~\ref{graph:final} + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). If it is needed (Win9x/WinME), you will + be asked to reboot your computer. +\end{description} + +\begin{figure*}[!htb] + \textbf{Configuration Page}\hfill% + \textbf{Final Page} + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{pictures/configuration}\hfill% + \includegraphics[width=.48\textwidth]{pictures/congratulations} + \else + \ifnum \Status=2 + \includegraphics[bb=0 0 506 403]{pictures/configuration.jpg}\hfill% + \includegraphics[bb=0 0 506 403]{pictures/congratulations.jpg} + \else + \includegraphics[width=.48\textwidth]{pictures/configuration}\hfill% + \includegraphics[width=.48\textwidth]{pictures/congratulations}% + \fi + \fi + \end{center} + \caption{Configuration Page / Final page} +\label{graph:configuration}\label{graph:final} +\end{figure*} + +Please be aware that the choice of cluster size on DOS disk +partitions can radically affect the size of your \TeX\ +installation. The support tree has hundreds of small files, and it is +not unusual for a complete installation to take up to four times the +amount of space used on the \CD. + +\end{comment} + + +\section{Windows maintenance and post-installation} + +Although this version of \TL{} cannot be installed on Windows, enough of +this section is relevant to existing installations or cross-mounted +installations that it seemed worth leaving in. + +It will be thoroughly updated when a complete \TL{} Windows distribution +is released. For now, please ignore references to +\filename{TeXSetup.exe}, etc. + + +\subsection{What's different in Windows?} + +The Windows version of \Webc{} has some specific features that should be +pointed out. + +\begin{description} +\item[\KPS{}] The hash-tables that \KPS{} builds are quite large for + the \TL{}. In order to cut down the starting time of any + \KPS{}-enabled program, these hash-tables have been put in shared + memory. This way, when you chain the execution of several such + programs, like \path|tex| calling \path|mpost| calling \path|tex|, + the overhead when starting each of the subprograms is + reduced. This change is hidden to the user, except if you set the + debug flag of kpathsea to the \path|-1| value: you will then trace + access to the shared memory, which is not what you want (it is + accessed very often!). What is useful in a log trace of the shared + memory access is still to be defined, so the situation might evolve + in the future. +\item[\cmdname{kpsecheck}] This command provides some options that did + not fit well into \cmdname{kpsewhich}. It will allow you to list all + the files that occur multiple times across your texmf trees. This + could be handy, but most of the time you will also get unwanted + output (like dozens of \path|README| files)\footnote{It is noticeable + that all these files result in clashes inside the \KPS{}-hashing + mechanism; fortunately, \KPS{} never looks for these files.}. For + this reason, you can combine the \path|-multiple-occurrences| with 2 + other options for including or excluding any filename that match + some pattern (you can request for several patterns). + + The \cmdname{kpsecheck} command will also report the status of shared + memory: in use or not used. That might be useful to know because if + the status reported is \samp{in use}, that means one or several + processes are working, and the effect of any \cmdname{mktexlsr} + command will be delayed until the next time where no \KPS{} linked + process will be running. + + Last, this same command will report about the location it thinks + Ghostscript can be found. Under Win32, for many programs, it is + easier to use the Ghostscript dll, and find it by using the + Ghostscript registry key than to change the \path|PATH|, which has a + limited length anyway. +\item[\Webc{}] The engines have a few more options than in Unix + \Webc{}, and one option with a different behavior: + \begin{itemize} + \item \path|-halt-on-error| stop the compilation at the first error. + \item \path|-job-time| set the job time to the same timestamp as the + file given in argument. +\item \path|-oem| use the DOS codepage for console output. + \item \path|-output-directory| allow to write all the output files in the + specified directory. + \item \path|-time-statistics| print statistics about the job run + time. It is to be noted that Win9x not being a true multitasking + operating system, it has no reliable timer for short periods, so + the value printed is an approximation. Under NT/2K/XP, the result + is quite accurate with user time and system time values allocated + for this run. For Unix + users: the \path|time| command is not usually available to Windows + users. + \end{itemize} +\end{description} + +\subsection{Adding packages to your installation} + +You will find an option in the \guiseq{TeXLive} menu (or go to +\guiseq{Start\arw Programs \arw TeXLive \arw Add TeX package} menu) to +run \file{TeXSetup.exe} in maintenance mode. The steps are almost the +same as in the initial installation. + +We'll discuss differences below, but first, whatever changes you make, +\textbf{do not forget to rebuild the ls-R database files}. Otherwise, +your new files will not be found. You can do this either via the +\acro{GUI} (\guiseq{Start \arw Programs \arw TeXLive \arw Maintenance +\arw Rebuild ls-R}), or manually running the \file{mktexlsr} command. + +The main difference is in the packages selection page. In maintenance +mode, the list of installed packages is compared to the list of packages +available from your source directories. Packages that are not installed +will be displayed in green, out of date packages will be displayed in +red and up-to-date, installed packages are displayed in black. + +This way, you can choose to add or upgrade components, either from +\TL{} or from the Internet, where you are likely to find some more +recent version of your packages. + +It is up to you to select which packages you want to install. The rest +of the process is similar to the first installation. + +If you want to add files that are not provided by the \TL{} (or +\fpTeX{}) distribution, it is recommended to put them in the +\path|$TEXMFLOCAL| directory. This way, you will be safe against +upgrades of the \TL{} software. + +The directory pointed to by \path|$TEXMFLOCAL| is initially empty. If, +for example, you want to add the support file for the Maple symbolic +computation program, you will have to put the style files in:\\ +\path|c:\Program Files\TeXLive\texmf-local\tex\latex\maple\|\\ and the +documentation files in:\\ \path|c:\Program +Files\TeXLive\texmf-local\doc\latex\maple\| + +\subsection{Uninstalling \protect\TL{}} + +The uninstall procedure is available either from the \file{TeXLive.exe} +program, from the \path|TeXLive| menu or from the control panel +(\guiseq{Start \arw Control Panel, Add/Remove Programs}). This procedure +will cleanup your hard disk of most of the \TL{} files. However, +\TeX{} is a system that is creating files and there is no mechanism to +keep track of all of them. Moreover, Win32 support packages have their +own uninstall procedure, which you will have to run separately (provided +you want to get rid of them). Last, the files you may have stored in +\path|$TEXMFLOCAL| won't be removed. So, even if the vast majority of +files are automatically removed by the uninstall procedure, you will +have to do some manual cleanup to actually remove all of them. + +\subsection{Running \texttt{TeXSetup.exe} from the command line} + +The \path|TeXSetup.exe| program has a number of other useful +options. You can get the list by running: +\begin{verbatim} +c:\>TeXSetup --help +\end{verbatim} + +Here is the description: +\begin{description} +\item[\path|--automatic-reboot|] reboot without waiting user + confirmation once installation is over; +\item[\path|--dry-run|] do nothing, just log everything that will be + done without this option; +\item[\path|--quick|] use the recommended installation and default + directories, ask nothing up to rebooting; +\item[\path|--with-xemtex|] selects the \XEmTeX{} bundle; +\item[\path|--net-method (=ie5/direct)|] enable to download components with + restricted licenses from the Internet (either using direct + connection of Internet Explorer 5 DLLs): you need to have an available + network connection and some of the packages are huge; +\item[\path|--remote-source-directory <url>|] this is the base url for the remote packages; +\item[\path|--local-source-directory <dir>|] by default, \path|TeXSetup.exe| + will guess the root directory of the set of files you want it to act on, if you ever + upgrade \path|TeXSetup.exe|, you won't be able to copy the new version + onto your \CD{}, so you will need to use this option to specify the + root of the \CD{}; +\item[\path|--installation-directory <dir>|] this is the root of your + installation, all files will be copied under this location. The + default value is \verb+c:\Program Files\TL+; +\item[\path|--texmfmain-directory <dir>|] +\item[\path|--texmflocal-directory <dir>|] +\item[\path|--texmfextra-directory <dir>|] +\item[\path|--texmfhome-directory <dir>|] +\item[\path|--vartexmf-directory <dir>|] +\item[\path|--vartexfonts-directory <dir>|] these are the directories + used to configure the location of your files. They map directly to + the \path|texmf.cnf| variables. +\item[\path|--with-source-files(=yes/no)|] copy the source files + for \TeX{} packages, default value is no; +\item[\path|--with-documentation-files(=yes/no)|] copy documentation files for \TeX{} + packages. Default value is yes. Beware: this is only documentation about specific + packages, general documentation will be installed anyway; +\item[\path|--program-folder <folder>|] the name of the folder under + which you will find the menus; +\item[\path|--add-package <pkg>|] this is used to add or update a specific + package after a first regular installation; +\item[\path|--scheme <pkg>|] install the named scheme instead of the + default \path|texlive-recommended| scheme; +\item[\path|--maintenance|] mostly the same as \path|--add-package| + without specifying a package to add; +\item[\path|--uninstall|] this option will remove anything \TeX{} related coming from + the \CD{}, which means there can be files left if you added style + files or format files, and also that supplementary tools will not be + removed. This option is still a bit crude in this release; +\item[\path|--help|] this option opens up a box with the list of options. +\end{description} + +\subsection{Network installation} + +\KPS{} knows about UNC names, so you can use them to get your TEXMF +tree from the network. But there is better than this. +All the support files and configuration files, everything except the files in the +\path|bin/win32| are shareable with a \teTeX{} or Unix \TL{} installation. That means +you can use Samba either to mount from an NT server to a Unix +workstation or the converse. Several strategies are possible: +\begin{itemize} +\item Put everything on the server. Just add each set of files for the os and +architecture you want to use in the \path|bin| directory. That means +for example \path|bin/win32| and \path|bin/i386-linux|. Next configure +your main variables. You can use UNC names to +point to the right directories under Win32. +\item Install a local copy for the binaries and format files. In this + case, assign \path|$TEXMFMAIN| to the main \path|texmf| tree that + will be accessed remotely. Set \path|$VARTEXMF| to be a local + directory which will hold local configuration files and on-the-fly + generated files. +\end{itemize} + +\subsection{Personal configurations} + +\subsubsection{Dvips} + +The configuration file for dvips can be found in\\ +\verb+C:\Program Files\TeXLive\texmf-var\dvips\config\config.ps+\\ +You may open it with any editor + %(\cmdname{WinShell} will do fine) + and change some parameters: + +\begin{description} +\item [fonts] you can change the default printer \MF{} mode or printer + resolution in case \cmdname{dvips} needs to generate PK fonts. By default it + is configured to use Type~1 versions of the CM fonts, so it should + not call \cmdname{mktexpk} too often; +\item[printer] you can tell dvips where you want to print by default. If + the \optname{o} option is not followed by a printer name, then a + \file{.ps} \PS{} file is written. You can give dvips a printer + name such as: +\begin{verbatim} +o lpt1: +% o | lpr -S server -P myprinter +% o \\server\myprinter +\end{verbatim} +\item[paper] Next, you might want + to change the paper size from European (A4) to US letter + by making the US letter the first paper size mentioned in the file. + Scroll to the group of lines beginning with \code{@}. Move + the appropriate lines so that this section begins with the lines:\\ +\hspace*{1em} @ letterSize 8.5in 11in\\ +\hspace*{1em} @ letter 8.5in 11in\\ +\hspace*{1em} @+ \%\%BeginPaperSize: Letter\\ +\hspace*{1em} @+ letter\\ +\hspace*{1em} @+ \%\%EndPaperSize +\end{description} + +The current \TL{} distribution implements the procedure of making +always up-to-date fontmaps files for Dvips and Pdftex. This is done by +the \cmdname{updmap} program during installation, as well as during any +font package addition. If you add new packages by hand, edit the file +\verb+updmap.cfg+ in \path|$VARTEXMF/web2c|. + +\subsubsection{Pdftex} + +If you use the program pdf{}latex to write \acro{PDF} format directly, +and you are using \acro{US} letter-size paper, edit the file +\verb+C:\Program Files\TeXLive\texmf-var\tex\generic\config\pdftexconfig.tex+ and +change \samp{\bs pdfpagewidth} and \samp{\bs pdfpageheight}. These entries should read: +\begin{alltt} +\bs{}pdfpagewidth=8.5 true in +\bs{}pdfpageheight=11 true in +\end{alltt} +Save the file and exit the editor. + +\subsubsection{GSView} +GSView is now distributed under the Aladdin License, and therefore is no longer included in +\TL{}. + +If you may want to change the page size to US letter size. If so, open +GSView from the \guiseq{Start} menu, and select \guiseq{Media\arw Letter}. + +Also, there are menu settings that are supposed to give you the most +readable screen image. On \guiseq{Media \arw Display Settings}, set both +\optname{Text Alpha} and \optname{Graphics Alpha} to 4~bits. + +Note that the installation process has set all \code{.ps} and +\code{.eps} files to automatically open with \cmdname{GSView}. + +For printing instructions, see section~\ref{printing} below. + +\subsubsection{WinDvi} +\label{sub:windvi} + +The \file{TeXSetup.exe} program takes care of associating the files +with the \file{.dvi} extension with \file{Windvi}. + +Open it with \guiseq{Start\arw Programs\arw TeXLive\arw DVI Viewer}. + +You can set it for US letter-size paper by going to \guiseq{View\arw +Options\arw Papertype} and selecting US (8.5\verb+"+ x 11\verb+"+) (and +then \optname{OK}. Exit \cmdname{windvi}. + +You can change other parameters from there as well, such as the ability +to execute system commands specified by the document (disabled by +default for security reasons). Also, the first time you view any .dvi +file, you may find the magnification too large. Zoom out until you get +an appropriate size. + +%There are two important parameters related to printing that can't yet +%be set from the dialog boxes, namely the resolution and the \MF{} mode +%for the printer. You can set them once for all by specifying them on +%the command line: +%\begin{verbatim} +%c:\>windvi -p 360 -mfmode canonbjc foo.dvi +%\end{verbatim} +%When you will exit Windvi, these parameters will be stored in the +%configuration file. The available modes are found in this file:\\ +%\path|c:\Program Files\TeXLive\texmf\metafont\misc\modes.mf| + +All configuration settings for \cmdname{Windvi} are stored in a file +named \path|windvi.cnf| file. You can find it by running this command at +the prompt: +\begin{verbatim} +c:\>kpsewhich --expand-var $HOME/windvi.cnf +\end{verbatim} + +Should you have problems with \cmdname{Windvi}, please remove the configuration +file and test your problem against a vanilla configuration. + +\subsection{Testing} + +For generic verification procedures, see section~\ref{sec:test-install} +(\p.\pageref{sec:test-install}). This section describes +Windows-specific tests. + +Open the file \verb+sample2e.tex+ in your editor (Xemacs, WinShell), +found in \path|C:\Local\TeX\texmf\tex\latex\base|. The \LaTeX\ source +should appear on the screen. Process it by clicking on the +\guiseq{Command\arw LaTeX} menu (XEmacs) or \LaTeX\ icon on the toolbar +(WinShell), then view it by clicking on the \guiseq{Command\arw View DVI} +menu (XEmacs) or Preview (Windvi) icon (WinShell). + +At first, when you preview files with Windvi, it will create fonts because +screen fonts were not installed. After a while, you will have created most +of the fonts you use, and you will rarely see the font-creation window. + +\textbf{Hint for the future:} If a \LaTeX\ run stops because \LaTeX\ +cannot find a file, you can press Ctrl-z to quit. + + +\subsection{Printing} +\label{printing} + +It is possible to print from Windvi. In this case, printing will be done +using the Windows unified printer driver. By definition, it is +compatible with all printers. However, there is some drawback: it can +generate some huge spool files, and some (older) versions of Windows +just don't like them. The advantage is that you can use features like +embedding BMP or WMF images. You also need to make sure that the printer +parameters are correctly set (subsection~\ref{sub:windvi}), else you +will get scaled printing (printing at 600\dpi{} on a 300\dpi{} printer +will give you only one quadrant of your page). + + +Printing is faster and more reliable if you run \cmdname{dvips} to make +a \filename{.ps} file and then print from \cmdname{GSView}. In +\cmdname{GSview}, select \guiseq{File\arw Print\ldots}. A \guiseq{Print} +window will appear. + +If you are using a \PS{} printer, \textit{be sure to select +\guiseq{\PS{} Printer}}. This is done in the \guiseq{Print Method} box +at the bottom left of the \guiseq{Print} window. You can then select any +of the printers that you have previously installed. If you fail to +check the box for \optname{\PS{} Printer}, printing will not work. + +If you will be using your own non-\PS{} printer, select +\guiseq{Ghostscript device} in the \guiseq{Print Method} box, then click +on the button to the right labelled \guiseq{djet500} and select your +printer type from the list that pops up. (In the older version of +\cmdname{GSView}, make sure \optname{\PS{} Printer} is \textit{not} +selected, then select your printer type from the \guiseq{Device} list.) + +\subsection{Tips and tricks for Win32} + +\subsubsection{Different flavors of Win32} + +What we call Win32 is not an operating system by itself. It is a large +set of functions (around 12,000 in the header files of the Microsoft +\acro{SDK}) that you can use to write programs for different operating +systems of the Windows family. + +Windows comes in different flavors: +\begin{itemize} +\item Win95, Win98 and Win\acro{ME}, which \emph{are not true multitasking, + multithreading} environments. They are the latest\Dash and hopefully + last\Dash metamorphosis of \acro{DOS}. This can be more or less proven + by the fact that when booting, the PC will load the \path|command.com| + interpreter, and if you stop the boot process at this point, you can + ask for the current (\acro{DOS}) version and it will answer something + like \samp{MS-DOS 7.0} (at least for the old versions of Win9x). +\item Windows \acro{NT}, which is a new operating system written from + scratch, capable of true multitasking behavior, and including many + high level features. +\item Windows 2000, based on \acro{NT}, with all the bells and + whistles of Win98. +\item Windows \acro{XP}, which comes with Personal and Pro flavors. This is + the last step in merging both lines of products (Win9x based and + \acro{NT} based). \acro{XP} is based on \acro{NT}. +\end{itemize} + +Win9x are able to run 32~bits programs and 16~bits programs +concurrently. But the operating system by itself is not entirely +written in 32~bits mode, and does not support memory protection: 16bits +applications can overwrite parts of the operating system memory! Some +parts of the system like the \acro{GDI} (Graphical Device Interface) +manage limited resources like bitmaps, fonts, pens and so on for the set +of all programs that run concurrently. All the bitmaps headers available +at the same time can't amount for more than 64kB. This explains the +performance tool and the fact that you can put your system on his knees +by making intensive use of graphic objects for example. + +NT, 2K and XP do not suffer from these limitations, and neither from +other Win9x limitations. They are true multitasking environments, with +protected memory. They are much more responsive than Win9x because +of better memory management, better file system and so on. + +\subsubsection{Command line prompt} + +You may wonder, ``Why would I need to use a command line prompt when +I have Windows?'' + +Good question. The problem is of very general nature. Not all operations +can be done easily using only a \acro{GUI}. Command line gives you +programming power\Dash assuming a clever command interpreter. + +But the problem here is more fundamental: \TeX{} is \emph{a batch} +tool. Not an interactive one. \TeX{} needs to compute the best +layout for each page, resolve cross-references and so on. This can be +done only by a global processing of the document. It is not (yet) a +task that can be done interactively. + +This means that you should use \TeX{} from a command line. In fact the +situation is not so bad. There is an advantage to write command line +tools for complex processing: they are better debugged, because they are +independent of any \acro{GUI} problems, and \acro{GUI} tools can be +designed to interface to the command line tools. This is the case for +\TeX{}, where you will mostly interact with it through a \acro{GUI} text +editor. + +However, you may need to use the command line prompt in a number of +situations. One is when you are having difficulties and want to debug +your setup. + +\begin{description} + \item[Win9x] You can open a command line prompt by looking either for + the \acro{MS-DOS} icon in the \guiseq{Start\arw Programs} menu, + or by choosing \guiseq{Start\arw Run} menu typing in + \path|command.com| as the progrm name. + \item[NT, 2K, XP] You can open a command line prompt by looking for + \guiseq{Command Prompt} in the \guiseq{Start\arw Accessories} menu. + You can also choose \guiseq{Start\arw Run} and type in + \path|cmd.exe|, which is the name of the brand new command + interpreter for \acro{NT} (thus, it is untrue to call this a + \emph{DOS} box!). +\end{description} + +These locations may change across different Windows versions. + + +\subsubsection{Path separators} + +The Win32 API understands both \path|/| and \path|\| characters as PATH +separators. But the command interpreters do not! So whenever a path name +is used programmatically, you can use both separators, and even mix them +up in the same path name. But on the command line, you must type +\path|\| as path separator. The reason is compatibility: the command +processor used \samp{/} to introduce arguments to commands. + +All this to say: do not be surprised to read path names written using +the Unix convention; \fpTeX{} is a port of \Webc, and aims to be compatible +across platforms. For this reason, all the configuration files that +need to specify path names use the Unix convention. + +\subsubsection{File systems} +\label{sec:clusters} + +The worst feature of Win9x with regard to \TeX{} is probably the +so-called FAT file system. \TeX{} uses very many small files, with size +around 1--3kB. The \acro{FAT} file system is old, and predates by +decades the multi-gigabytes hard disks we have today. As a result, it +cannot manage efficiently the tens of thousands of \TeX{} files found in +\TL{}. The \acro{FAT} file system allocates a minimum of 32kB for +\emph{any} file on a huge partition. It means that \TeX{} will use much +more disk space than it actually needs. + +The other, more modern, file systems available, \acro{FAT32} and +\acro{NTFS}, do not have this drawback. They manage clusters of 4kB +only. (You can lower the limit to 512 bytes on \acro{NTFS}.) + +\subsubsection{How to add some directory to your PATH} + +There are pairs of variables and values which behave much like global +variables inside your programs. The set of those variables is called the +environment. Each program is initialized with a copy of the +environment when it is run. It can request and change the +value of any variable. The changes happen in the copy of the +environment, and is not at all propagated to the other running +programs. + +Your PATH is a special environment variable used to search for +programs you want to run. +There is a different procedure to change it for Win9x, WinME and NT/2K/XP: + +\begin{description} +\item[Windows 95/98] Edit your \path|autoexec.bat|. In this file should be a line + starting with \texttt{PATH=} and followed by a list of directories separated + by \path|;|. Please add the directory with the executables in this line. + After this, this line could look as follows: +\begin{verbatim} +PATH=c:\windows;c:\windows\system;c:\"Program Files"\TL\bin\win32 +\end{verbatim} +\item[Windows ME] You need to run the special program + \path|c:\windows\system\msconfig.exe| to be able to change any + environment variable. From this program, select the `Environment' + tab, and then add or modify the variable you want. You will be asked to reboot the + machine upon any change. +\item[Windows NT/2K/XP] + Click left on \guiseq{Start \arw Settings \arw Control Panel}. Now the + window with the control panel icons opens. Double click on System. The + System Properties window opens. Click on the tab \textsf{Environment} + or look for a button named \guiseq{Environment Variables} among the + dialog boxes. Now you can change the environment variables for your + user account. Note: There are also displayed the environment settings + for the system. Normally, you can't change the system variables + unless you have administrator rights on your machine. If you want to + change the \texttt{PATH} for all users, you will have to contact your + system administrator or be the system administrator yourself\Dash in + the latter case you should know what you are doing. + + If there is already a \texttt{PATH} setting for your user account, + left click on \texttt{PATH}. In the field \textsf{Variable} appears + \texttt{PATH} while the field Value shows the current setting of + \texttt{PATH} as a list of directories separated by \path|;|. Add + the directory where the executables are located (e.g. + \path|c:\Program Files\TeXLive\bin\win32|). If there isn't a \texttt{PATH} variable + for your user account, simply click in the field Variable and type + in \texttt{PATH}, click in the field \textsf{Value} + and type in the directory with the executables. Important: Click on + the \textsf{Apply} button before clicking \textsf{Ok}, otherwise the + changes to \texttt{PATH} won't apply to your system. Be careful when + changing the environment settings. +\end{description} + +The best way to be sure that a variable has been properly set is to +open a console and type: +\begin{verbatim} +set VARIABLE +\end{verbatim} +which should return the corresponding value. + +\subsubsection{\TeX{} engines} + +If you have a look at the \Webc{} documentation, you will read that all +the various \TeX{} derived programs use the same base engine. For +example, \path|tex.exe| and \path|latex.exe| are exact copies of the +same program, but each one will use a different format file, based on +its calling name. + +Under Unix, this feature is implemented through \emph{symbolic +links}. It saves up a bit of disk space, because some engines are +used with many different format files. + +The Win32 API does not know about file links. So to save up almost +the same amount of memory, all the \TeX{} base engines have been put +in DLLs (\emph{Dynamic Linked Library}). This means that you will have +the following layout: +\begin{alltt} +13/05/2002 17:06 3 584 latex.exe +13/05/2002 17:06 266 240 tex.dll +13/05/2002 17:06 3 584 tex.exe +\end{alltt} +and the \path|latex.exe| file is nothing but a rough copy of +\path|tex.exe| using the same core \path|tex.dll|. +The same trick has been used for the \path|mktex*.exe| family of programs which are +linked to the \path|mktex.dll| library. + +In fact, a generic tool called \path|lnexe.exe| is provided to build the +equivalent of Unix hard links for executable files only under Win32. + +\subsection{In case of problems} +\label{sec:troubleshooting} + +\subsubsection{What to do if \texttt{latex} does not find your files?} + +\begin{itemize} + +\item \cmdname{kpsewhich} is the tool of choice to debug any +problem. Unfortunately, \cmdname{kpsewhich} outputs debug information +to stderr, and the Windows console does not know how to redirect stderr +to a file\footnote{Well, NT and Win2k consoles know how to do that. But +the trick will work for any console.}. For diagnostic purposes you can +temporarily set an environment variable (in a \acro{DOS} box): + +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=err.log +\end{verbatim} +You can also set the debug level: +\begin{verbatim} +SET KPATHSEA_DEBUG=-1 +\end{verbatim} + +If you want to redirect stderr to stdout, which is not possible +Windows, then do: +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=con: +\end{verbatim} +This way you can capture both stdout and stderr in the same file. + +\item Assuming the installation has been done in \path|c:/Program Files/TeXLive|, check + the following values: \\ + {\small + \begin{tabular}{ll} + \path|kpsewhich -expand-path $SELFAUTOPARENT| & \path|c:/Program Files/TeXLive| \\ + \path|kpsewhich -expand-path $TEXMF| & \path|c:/Program Files/TeXLive/texmf| \\ + \path|kpsewhich -expand-path $TEXMFCNF| & + \path|.;c:/Program Files/TeXLive/texmf/web2c;| \\ + & \path|c:/Program Files/TeXLive/bin/win32;| \\ + & \path|c:/Program Files/TeXLive/bin;| \\ + & \path|c:/Program Files/TeXLive| \\ + \path|kpsewhich -expand-var $TEXINPUTS| & \path|.;c:/Program Files/TeXLive/texmf/tex//| + \end{tabular} +} +\item If you have other \TeX{}-related values already set in your + environment, please, remove them. They are overriding the ones in + texmf.cnf. +\item Check the values from:\\ +{\small + \begin{tabular}{ll} + \texttt{kpsewhich cmr10.tfm} & \path|c:/Program Files/TeXLive/texmf/fonts/tfm/public/cm/cmr10.tfm|\\ + \texttt{kpsewhich latex.fmt}& \path|c:/Program Files/TeXLive/texmf/web2c/latex.fmt| + \end{tabular} +} +\item At this point, if everything is correct, \TeX{} and friends + should work. If it is not the case, you will need to play with + the \path|-debug=n| option from \path|kpsewhich|, and check back all + the values. Try to identify and report the problem. +\end{itemize} + +\subsubsection{What to do if your setup still does not work as expected?} + +Here are several questions to investigate: + +\begin{enumerate} +\item Is \file{tex.exe} in my \path|PATH|? + +\item Is the \path|TEXMFCNF| variable correctly set to +\path|c:/Program Files/TeXLive/texmf-var/web2c| (default value)? + +\item Are there any errors in the log file generated by the +\file{TeXSetup.exe} program? You can find this by searching for the +string \samp{Error}. + +\item Are there any relevant bug fixes at \url{http://tug.org/texlive/}? +(Unlikely, but it doesn't hurt to check.) + +\item Check the web pages at +\url{http://www.fptex.org/}, or consider subscribing to the \fpTeX{} +mailing list, via \url{http://tug.org/mailman/listinfo/fptex}. + +\end{enumerate} + + +The \TL{} software consists of hundreds of programs and tens of +thousands of files, all from varying sources. So it is quite difficult to +predict all possible causes for problems. Nevertheless, we will do our +best to help you. (See section~\ref{sec:help}, \p.\pageref{sec:help}.) + + +\subsection{Compiling the source files} + +The whole set of source files is available in the distribution as the +\path|source/source.tar.bz2| archive, together with a separate source +archive for Windows. To be able to compile the whole distribution for +Windows, you will need: + +\begin{itemize*} +\item Windows 2K/XP +\item Microsoft Visual Studio .Net 2003 +\item a set of Unix tools (\texttt{sed}, + \texttt{grep}, \texttt{gawk}, etc.) and also Perl, Flex and Bison, +\item to adjust the paths in the + \path|win32/make/common.mak| file according to your installation +\item to adjust the paths in the Perl script file + \path|win32/perl/build.pl|, +\item run the compilation from the \path|mswin32/| directory using this + command: +\begin{verbatim} +c:\texlive\source\mswin32>perl ./perl/build.pl --install --log=install.log +\end{verbatim} +\end{itemize*} + +There is a lot of work to do to make this process easier and cleaner. + +\subsection{Where to get more information} + +The Windows \TeX{} system included on \TL{} is also known as +\fpTeX. The packaging differs, but \fpTeX{} is no more no less than the +current \TL\ release for Windows. + +The \fpTeX{} home page is \url{http://www.fptex.org}. + +The current \fpTeX release is available from any \CTAN site in +\url{htp://www.ctan.org/tex-archive/systems/win32/fptex}. + +The main ftp site for \fpTeX\ is \url{ftp://ftp.dante.de/pub/fptex/} +from where beta versions of \fpTeX\ and additionnal tools are available. +This main site is (partially) mirrored daily by all \CTAN{} sites at +\path|systems/win32/fptex|. + +The \TeX{} Users Group is kindly hosting a mailing list dedicated to +\fpTeX. It is used for announcements, bug reports, enhancement requests, +and general discussion about \fpTeX. To subscribe, visit +\url{http://tug.org/mailman/listinfo/fptex}. The mailing list +address is \email{fptex@tug.org}. + + +% don't use \Webc so the \uppercase in the headline works. +\section{A user's guide to Web2C} + +\Webc{} is an integrated collection of \TeX-related programs: \TeX{} +itself, \MF{}, \MP, \BibTeX{}, etc. It is the heart of \TL{}. + +A bit of history: The original implementation was by Tomas Rokicki who, +in 1987, developed a first \TeX{}-to-C system based on change files +under Unix, which were primarily the original work of Howard Trickey and +Pavel Curtis. Tim Morgan became the maintainer of the system, and +during this period the name changed to Web-to-C\@. In 1990, Karl Berry +took over the work, assisted by dozens of additional contributors, and +in 1997 he handed the baton to Olaf Weber. + +The \Webc{} system runs on Unix, 32-bit Windows systems, \MacOSX{}, and +other operating systems. It uses Knuth's original sources for \TeX{} and +other basic programs written in \web{} and translates them into C source +code. The core \TeX{} programs are: + +\begin{cmddescription} +\item[bibtex] Maintaining bibliographies. +\item[dmp] \cmdname{troff} to MPX (\MP{} pictures). +\item[dvicopy] Expands virtual font references in \dvi{} files. +\item[dvitomp] \dvi{} to MPX (MetaPost pictures). +\item[dvitype] \dvi{} to human-readable text. +\item[gftodvi] Generic font proofsheets. +\item[gftopk] Generic to packed fonts. +\item[gftype] GF to human-readable text. +\item[makempx] \MP{} label typesetting. +\item[mf] Creating typeface families. +\item[mft] Prettyprinting \MF{} source. +\item[mpost] Creating technical diagrams. +\item[mpto] MetaPost label extraction. +\item[newer] Compare modification times. +\item[patgen] Creating hyphenation patterns. +\item[pktogf] Packed to generic fonts. +\item[pktype] PK to human-readable text. +\item[pltotf] Plain text property list to TFM. +\item[pooltype] Display \web{} pool files. +\item[tangle] \web{} to Pascal. +\item[tex] Typesetting. +\item[tftopl] TFM to plain text property list. +\item[vftovp] Virtual font to virtual property list. +\item[vptovf] Virtual property list to virtual font. +\item[weave] \web{} to \TeX. +\end{cmddescription} + +\noindent The precise functions and syntax of these programs are +described in the documentation of the individual packages and of \Webc{} +itself. However, knowing a few principles governing the whole family of +programs will help you take advantage of your \Webc{} installation. + +All programs honor these standard \acro{GNU} options: +\begin{ttdescription} +\item[-{}-help] print basic usage summary. +\item[-{}-verbose] print detailed progress report. +\item[-{}-version] print version information, then exit. +\end{ttdescription} + +For locating files the \Webc{} programs use the path searching library +\KPS{}. This library uses a combination of environment variables and a +configuration files to optimize searching the (huge) collection of +\TeX{} files. \Webc{} can look at more than one directory tree +simultaneously, which is useful in maintaining \TeX's standard +distribution and local extensions in two distinct trees. To speed up +file searches the root of each tree has a file \file{ls-R}, containing +an entry showing the name and relative pathname for all files under that +root. + +\subsection{Kpathsea path searching} + +Let us first describe the generic path searching mechanism of the \KPS{} +library. + +We call a \emph{search path} a colon- or semicolon\hyph sepa\-rated list +of \emph{path elements}, which are basically directory names. A +search path can come from (a combination of) many sources. To look up +a file \samp{my-file} along a path \samp{.:/dir}, \KPS{} checks each +element of the path in turn: first \file{./my-file}, then +\file{/dir/my-file}, returning the first match (or possibly all +matches). + +In order to adapt optimally to all operating systems' conventions, on +non-Unix systems \KPS{} can use filename separators different from +colon (\samp{:}) and slash (\samp{/}). + +To check a particular path element \var{p}, \KPS{} first checks if a +prebuilt database (see ``Filename data\-base'' on +page~\pageref{Filename-database}) applies to \var{p}, i.e., if the database +is in a directory that is a prefix of \var{p}. If so, the path +specification is matched against the contents of the database. + +If the database does not exist, or does not apply to this path +element, or contains no matches, the filesystem is searched (if this +was not forbidden by a specification starting with \samp{!!}\ and if +the file being searched for must exist). \KPS{} constructs the list +of directories that correspond to this path element, and then checks +in each for the file being sought. + +The ``file must exist'' condition comes into play with \samp{.vf} files and +input files read by \TeX's \cs{openin} command. Such files may not +exist (e.g., \file{cmr10.vf}), and so it would be wrong to search the +disk for them. Therefore, if you fail to update \file{ls-R} when you +install a new \samp{.vf} file, it will never be found. +Each path element is checked in turn: first the database, then the +disk. If a match is found, the search stops and the result is +returned. + +Although the simplest and most common path element is a directory +name, \KPS{} supports additional features in search paths: layered +default values, environment variable names, config file values, users' +home directories, and recursive subdirectory searching. Thus, we say +that \KPS{} \emph{expands} a path element, meaning it transforms all +the specifications into basic directory name or names. This is +described in the following sections in the same order as it takes +place. + +Note that if the filename being searched for is absolute or explicitly +relative, i.e., starts with \samp{/} or \samp{./} or \samp{../}, +\KPS{} simply checks if that file exists. + +\ifSingleColumn +\else +\begin{figure*} +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{An illustrative configuration file sample} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{Path sources} +\label{Path-sources} + +A search path can come from many sources. In the order in which +\KPS{} uses them: + +\begin{enumerate} +\item + A user-set environment variable, for instance, \envname{TEXINPUTS}\@. + Environment variables with a period and a program name appended + override; e.g., if \samp{latex} is the name of the program being run, + then \envname{TEXINPUTS.latex} will override \envname{TEXINPUTS}. +\item + A program-specific configuration file, for exam\-ple, a line + \samp{S /a:/b} in \cmdname{dvips}'s \file{config.ps}. +\item A \KPS{} configuration file \file{texmf.cnf}, containing a line like + \samp{TEXINPUTS=/c:/d} (see below). +\item The compile-time default. +\end{enumerate} +\noindent You can see each of these values for a given +search path by using the debugging options (see ``Debugging actions'' +on page~\pageref{Debugging}). + +\subsubsection{Config files} + +\begingroup\tolerance=3500 +\KPS{} reads \emph{runtime configuration files} named \file{texmf.cnf} +for search path and other definitions. The search path used to look +for these files is named \envname{TEXMFCNF} (by default such a file lives +in the \file{texmf/web2c} subdirectory). \emph{All} +\file{texmf.cnf} files in the search path will be read and definitions +in earlier files override those in later files. Thus, with a search +path of \verb|.:$TEXMF|, values from \file{./texmf.cnf} override those +from \verb|$TEXMF/texmf.cnf|. +\endgroup + +\begin{itemize} +\item + Comments start with \code{\%} and continue to the end of the line. +\item + Blank lines are ignored. +\item + A \bs{} at the end of a line acts as a continuation character, + i.e., the next line is appended. Whitespace at the beginning of + continuation lines is not ignored. +\item + Each remaining line has the form: +\begin{alltt} + \var{variable}[.\var{progname}] [=] \var{value} +\end{alltt}% + where the \samp{=} and surrounding whitespace are optional. +\item + The \ttvar{variable} name may contain any character other + than whitespace, \samp{=}, or \samp{.}, but sticking to + \samp{A-Za-z\_} is safest. +\item + If \samp{.\var{progname}} is present, the definition only + applies if the program that is running is named + \texttt{\var{progname}} or \texttt{\var{progname}.exe}. This allows + different flavors of \TeX{} to have different search paths, for + example. +\item \var{value} may contain any characters except + \code{\%} and \samp{@}. The + \code{\$\var{var}.\var{prog}} feature is not available on the + right-hand side; instead, you must use an additional variable. A + \samp{;}\ in \var{value} is translated to \samp{:}\ if + running under Unix; this is useful to be able to have a single + \file{texmf.cnf} for Unix, \acro{MS-DOS} and Windows systems. +\item + All definitions are read before anything is expanded, so + variables can be referenced before they are defined. +\end{itemize} +A configuration file fragment illustrating most of these points is +\ifSingleColumn +shown below: + +\verbatiminput{examples/ex5.tex} +\else +shown in Figure~\ref{fig:config-sample}. +\fi + +\subsubsection{Path expansion} +\label{Path-expansion} + + +\KPS{} recognizes certain special characters and constructions in +search paths, similar to those available in Unix shells. As a +general example, the complex path, +\verb+~$USER/{foo,bar}//baz+, expands to all subdirectories under +directories \file{foo} and \file{bar} in \texttt{\$USER}'s home +directory that contain a directory or file \file{baz}. These +expansions are explained in the sections below. +%$ +\subsubsection{Default expansion} +\label{Default-expansion} + +\tolerance=2500 +If the highest-priority search path (see ``Path sources'' on +page~\pageref{Path-sources}) contains an \emph{extra colon} (i.e., +leading, trailing, or doubled), \KPS{} inserts at that point the +next-highest-prio\-rity search path that is defined. If that inserted +path has an extra colon, the same happens with the next highest. For +example, given an environment variable setting + +\tolerance=1500 + +\begin{alltt} +> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} +and a \code{TEXINPUTS} value from \file{texmf.cnf} of + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} +then the final value used for searching will be: + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +Since it would be useless to insert the default value in more than one +place, \KPS{} changes only one extra \samp{:}\ and leaves any others in +place. It checks first for a leading \samp{:}, then a trailing +\samp{:}, then a doubled \samp{:}. + +\subsubsection{Brace expansion} + +A useful feature is brace expansion, which means that, for instance, +\verb+v{a,b}w+ expands to \verb+vaw:vbw+. Nesting is allowed. +This can be used to implement multiple \TeX{} hierarchies, by +assigning a brace list to \code{\$TEXMF}. +For example, in \file{texmf.cnf}, you find +the following definition: +\begin{verbatim} + TEXMF = {$HOMETEXMF,$TEXMFLOCAL,!!$VARTEXMF,!!$TEXMFMAIN} +\end{verbatim} +Using this you can then write something like +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +which means that, after looking in the current directory, the +\code{\$HOMETEXMF/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$VARTEXMF/tex} +and \code{\$TEXMFMAIN/tex} trees \emph{only}) will be searched (the +last two use using \file{ls-R} data base files). It is a convenient +way for running two parallel \TeX{} structures, one ``frozen'' (on a +\CD, for instance) and the other being continuously updated with new +versions as they become available. By using the \code{\$TEXMF} +variable in all definitions, one is sure to always search the +up-to-date tree first. + +\subsubsection{Subdirectory expansion} +\label{Subdirectory-expansion} + +Two or more consecutive slashes in a path element following a directory +\var{d} is replaced by all subdirectories of \var{d}: first those +subdirectories directly under \var{d}, then the subsubdirectories under +those, and so on. At each level, the order in which the directories are +searched is \emph{unspecified}. + +If you specify any filename components after the \samp{//}, only +subdirectories with matching components are included. For example, +\samp{/a//b} expands into directories \file{/a/1/b}, \file{/a/2/b}, +\file{/a/1/1/b}, and so on, but not \file{/a/b/c} or \file{/a/1}. + +Multiple \samp{//} constructs in a path are possible, but +\samp{//} at the beginning of a path is ignored. + +\subsubsection{List of special characters and their meaning: a summary} + +The following list summarizes the special characters in \KPS{} +configuration files. + +% need a wider space for the item labels here. +\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} +\begin{ttdescription} +\item[\CODE{:}] Separator in path specification; at the beginning or + the end of a path it substitutes the default path expansion.\par +\item[\CODE{;}] Separator on non-Unix systems (acts like \code{:}). +\item[\CODE{\$}] Variable expansion. +\item[\CODE{\string~}] Represents the user's home directory. +\item[\CODE{\char`\{...\char`\}}] Brace expansion. +\item[\CODE{//}] Subdirectory expansion (can occur anywhere in + a path, except at its beginning). +\item[\CODE{\%}] Start of comment. +\item[\CODE{\bs}] Continuation character (allows multi-line entries). +\item[\CODE{!!}] Search \emph{only} database to locate file, \emph{do + not} search the disk. +\end{ttdescription} + + +\subsection{Filename databases} +\label{Filename-database} + +\KPS{} goes to some lengths to minimize disk accesses for searches. +Nevertheless, at installations with enough directories, searching each +possible directory for a given file can take an excessively long time +(this is especially true if many hundreds of font directories have to +be traversed.) Therefore, \KPS{} can use an externally-built plain text +``database'' file named \file{ls-R} that maps files to directories, +thus avoiding the need to exhaustively search the disk. + +A second database file \file{aliases} allows you to give additional +names to the files listed in \file{ls-R}. This can be helpful to +confirm to \acro{DOS} 8.3 filename conventions in source files. + +\subsubsection{The filename database} +\label{ls-R} + +As explained above, the name of the main filename database must be +\file{ls-R}. You can put one at the root of each \TeX{} hierarchy in +your installation that you wish to be searched (\code{\$TEXMF} by +default); most sites have only one hierarchy. \KPS{} looks for +\file{ls-R} files along the \code{TEXMFDBS} path. + +The recommended way to create and maintain \samp{ls-R} is to run the +\code{mktexlsr} script included with the distribution. It is invoked +by the various \samp{mktex}\dots\ scripts. In principle, this script +just runs the command +\begin{alltt} +cd \var{/your/texmf/root} && \path|\|ls -1LAR ./ >ls-R +\end{alltt} +presuming your system's \code{ls} produces the right output format +(\acro{GNU} \code{ls} is all right). To ensure that the database is +always up-to-date, it is easiest to rebuild it regularly via +\code{cron}, so that it is automatically updated when the installed +files change, such as after installing or updating a \LaTeX{} package. + +If a file is not found in the database, by default \KPS{} goes ahead +and searches the disk. If a particular path element begins with +\samp{!!}, however, \emph{only} the database will be searched for that +element, never the disk. + + +\subsubsection{kpsewhich: Standalone path searching} +\label{Invoking-kpsewhich} + +The \texttt{kpsewhich} program exercises path searching independent of any +particular application. This can be useful as a sort of \code{find} +program to locate files in \TeX{} hierarchies (this is used heavily in +the distributed \samp{mktex}\dots\ scripts). + +\begin{alltt} +> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} +\end{alltt} +The options specified in \ttvar{option} start with either \samp{-} +or \samp{-{}-}, and any unambiguous abbreviation is accepted. + +\KPS{} looks up each non-option argument on the command line as a +filename, and returns the first file found. There is no option to +return all the files with a particular name (you can run the Unix +\samp{find} utility for that). + +The more important options are described next. + +\begin{ttdescription} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{} + Set the resolution to \ttvar{num}; this only affects \samp{gf} + and \samp{pk} lookups. \samp{-D} is a synonym, for compatibility + with \cmdname{dvips}. Default is 600. + +\item[\texttt{-{}-format=\var{name}}]\mbox{}\\ + Set the format for lookup to \ttvar{name}. By default, the + format is guessed from the filename. For formats which do not have + an associated unambiguous suffix, such as \MP{} support files and + \cmdname{dvips} configuration files, you have to specify the name as + found in the first column of table~\ref{tab:kpathsea}, which lists + currently recognized names, a description, possible file extensions, + and associated environment variables. +\end{ttdescription} + + +\def\KpathKey#1#2#3#4#5{% name, number, description, variables, + % suffixes +\SetRowColor#1 & #3 & #4 & #5\\} +\def\HEAD#1{\multicolumn{1}{l}{\emph{#1}}} +% +\begin{small} +% a footnoterule immediately under a bottom-of-page rule looks dead +% silly, so we suppress it +\renewcommand\footnoterule{\relax} +% +\begin{longtable}{@{}% + >{\ttfamily}P{.16\textwidth}% Col.1 + P{.3\textwidth}% Col 2 + >{\ttfamily\footnotesize}P{.29\textwidth}% Col 3 + >{\ttfamily}P{.14\textwidth}% Col 4 +@{}} +\caption{Kpathsea file types.}\label{tab:kpathsea}\\ +\emph{Name} & \HEAD{Description} & \HEAD{Variables} +& \HEAD{Suffixes}\\ +\hline +\endfirsthead +\multicolumn{3}{l}{Kpathsea file types \emph{continued}}\\ +\emph{Name} & \HEAD{Description} & \HEAD{Variables} +& \HEAD{Suffixes}\\ +\hline +\noalign{\vspace{2pt}} +\endhead +\mbox{}\\ +\hline +\endfoot +\KpathKey + {afm} + {4} + {Adobe font metrics} + {AFMFONTS} + {.afm} +\KpathKey + {base} + {5} + {Metafont memory dump} + {MFBASES, TEXMFINI} + {.base} +\KpathKey + {bib} + {6} + {\BibTeX{} bibliography source} + {BIBINPUTS, TEXBIB} + {.bib} +\KpathKey + {} + {2} + {bitmap fonts} + {GLYPHFONTS, TEXFONTS} + {} +\KpathKey + {bst} + {7} + {\BibTeX{} style files} + {BSTINPUTS} + {.bst} +\KpathKey + {cnf} + {8} + {Runtime configuration files} + {TEXMFCNF} + {.cnf} +\KpathKey + {dvips config} + {34} + {\textsf{dvips} configuration files, e.g., \file{config.ps}} + {TEXCONFIG} + {} +\KpathKey + {enc} + {34} + {Font encoding files} + {ENCFONTS} + {.enc} +\KpathKey + {fmt} + {10} + {\TeX{} memory dump} + {TEXFORMATS, TEXMFINI} + {.fmt, .efmt, .efm} +\KpathKey + {gf} + {0} + {generic font bitmap} + {GFFONTS} + {.gf} +\KpathKey + {graphic/figure} + {25} + {Encapsulated \PS{} figures} + {TEXPICTS, TEXINPUTS} + {.eps, .epsi} +\KpathKey + {ist} + {35} + {\textsf{makeindex} style files} + {TEXINDEXSTYLE, INDEXSTYLE} + {.ist} +\KpathKey + {ls-R} + {9} + {Filename databases} + {TEXMFDBS} + {} +\KpathKey + {map} + {11} + {Fontmaps} + {TEXFONTMAPS} + {.map} +\KpathKey + {mem} + {12} + {MetaPost memory dump} + {MPMEMS, TEXMFINI} + {.mem} +\KpathKey + {mf} + {13} + {Metafont source} + {MFINPUTS} + {.mf} +\KpathKey + {mfpool} + {14} + {Metafont program strings} + {MFPOOL, TEXMFINI} + {.pool} +\KpathKey + {mft} + {15} + {MFT style file} + {MFTINPUTS} + {.mft} +\KpathKey + {} + {41} + {miscellaneous fonts} + {MISCFONTS} + {} +\KpathKey + {mp} + {16} + {MetaPost source} + {MPINPUTS} + {.mp} +\KpathKey + {mppool} + {17} + {MetaPost program strings} + {MPPOOL, TEXMFINI} + {.pool} +\KpathKey + {MetaPost support} + {18} + {MetaPost support files, used by DMP} + {MPSUPPORT} + {} +\KpathKey + {ocp} + {19} + {\OMEGA{} compiled process files} + {OCPINPUTS} + {.ocp} +\KpathKey + {ofm} + {20} + {\OMEGA{} font metrics} + {OFMFONTS, TEXFONTS} + {.ofm, .tfm} +\KpathKey + {opl} + {21} + {\OMEGA{} property lists} + {OPLFONTS, TEXFONTS} + {.opl} +\KpathKey + {otp} + {22} + {\OMEGA{} translation process files} + {OTPINPUTS} + {.otp} +\KpathKey + {ovf} + {23} + {\OMEGA{} virtual fonts} + {OVFFONTS, TEXFONTS} + {.ovf} +\KpathKey + {ovp} + {24} + {\OMEGA{} virtual property lists} + {OVPFONTS, TEXFONTS} + {.ovp} +\KpathKey + {pdftex config} + {18} + {\textsf{pdftex} configuration files} + {PDFTEXCONFIG} + {} +\KpathKey + {pk} + {1} + {packed bitmap fonts} + {\var{program}FONTS \textrm{(\texttt{\var{program}} being + \textsmaller{\cmdname{XDVI}}, + etc.)}, PKFONTS, TEXPKS, GLYPHFONTS, TEXFONTS} + {.pk} +\KpathKey + {\PS{} header} + {30} + {downloadable \PS{}} + {TEXPSHEADERS, PSHEADERS} + {.pro, .enc} +\KpathKey + {tex} + {26} + {\TeX{} source} + {TEXINPUTS} + {.tex, .cls, .sty, .clo, .def} +\KpathKey + {texmfscripts} + {20} + {Scripts distributed in the \file{texmf} tree} + {TEXMFSCRIPTS} + {} +\KpathKey + {TeX system documentation} + {27} + {Documentation files for the \TeX{} system} + {TEXDOCS} + {} +\KpathKey + {TeX system sources} + {29} + {Source files for the \TeX{} system} + {TEXSOURCES} + {} +\KpathKey + {texpool} + {28} + {\TeX{} program strings} + {TEXPOOL, TEXMFINI} + {.pool} +\KpathKey + {tfm} + {3} + {\TeX{} font metrics} + {TFMFONTS, TEXFONTS} + {.tfm} +\KpathKey + {Troff fonts} + {31} + {Troff fonts, used by DMP} + {TRFONTS} + {} +\KpathKey + {truetype fonts} + {36} + {TrueType outline fonts} + {TTFONTS} + {.ttf, .ttc} +\KpathKey + {Type~1 fonts} + {32} + {Type 1 \PS{} outline fonts} + {T1FONTS, T1INPUTS, TEXPSHEADERS, DVIPSHEADERS} + {.pfa, .pfb} +\KpathKey + {type42 fonts} + {37} + {Type 42 \PS{} outline fonts} + {T42FONTS} + {} +\KpathKey + {vf} + {33} + {virtual fonts} + {VFFONTS, TEXFONTS} + {.vf} +\KpathKey + {web2c files} + {38} + {\Webc{} support files} + {WEB2C} + {} +\KpathKey + {other text files} + {39} + {text files used by `\textsf{foo}'} + {FOOINPUTS} + {} +\KpathKey + {other binary files} + {40} + {binary files used by `\textsf{foo}'} + {FOOINPUTS} + {} +\end{longtable} +\end{small} + + +\begin{multicols}{2} + + The last two entries in table~\ref{tab:kpathsea} are special + cases, where the paths and environment variables depend on the name + of the program: the variable name is constructed by converting the + program name to upper case, and then appending \texttt{INPUTS}. + + The environment variables are set by default in the configuration + file \file{texmf.cnf}. It is only when you want to override one or + more of the values specified in that file that you might want to set + them explicitly in your execution environment. + + The \samp{-{}-format} and \samp{-{}-path} options are mutually + exclusive. + +\begin{ttdescription} + +\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ + Set the mode name to \ttvar{string}; this only affects \samp{gf} + and \samp{pk} lookups. No default: any mode will be found. +\item[\texttt{-{}-must-exist}]\mbox{}\\ + Do everything possible to find the files, notably including + searching the disk. By default, only the \file{ls-R} database is + checked, in the interest of efficiency. +\item[\texttt{-{}-path=\var{string}}]\mbox{}\\ + Search along the path \ttvar{string} (colon-separated as usual), + instead of guessing the search path from the filename. \samp{//} and + all the usual expansions are supported. The options \samp{-{}-path} + and \samp{-{}-format} are mutually exclusive. +\item[\texttt{-{}-progname=\var{name}}]\mbox{}\\ + Set the program name to \texttt{\var{name}}. + This can affect the search paths via the \texttt{.\var{progname}} + feature. + The default is \cmdname{kpsewhich}. +\item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\ + shows the path used for file lookups of file type \texttt{\var{name}}. + Either a filename extension (\code{.pk}, \code{.vf}, etc.) or a + name can be used, just as with \samp{-{}-format} option. +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + sets the debugging options to \texttt{\var{num}}. +\end{ttdescription} + + +\subsubsection{Examples of use} +\label{SExamplesofuse} + +Let us now have a look at \KPS{} in action. Here's a straightforward search: + +\begin{alltt} +> \Ucom{kpsewhich article.cls} + /usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} +We are looking for the file \file{article.cls}. Since the \samp{.cls} +suffix is unambiguous we do not need to specify that we want to look for a +file of type \optname{tex} (\TeX{} source file directories). We find it in +the subdirectory \file{tex/latex/base} below the \samp{texmf-dist} \TL\ +directory. Similarly, all of the following are found without problems +thanks to their unambiguous suffix. +\begin{alltt} +> \Ucom{kpsewhich array.sty} + /usr/local/texmf-dist/tex/latex/tools/array.sty +> \Ucom{kpsewhich latin1.def} + /usr/local/texmf-dist/tex/latex/base/latin1.def +> \Ucom{kpsewhich size10.clo} + /usr/local/texmf-dist/tex/latex/base/size10.clo +> \Ucom{kpsewhich small2e.tex} + /usr/local/texmf-dist/tex/latex/base/small2e.tex +> \Ucom{kpsewhich tugboat.bib} + /usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib +\end{alltt} + +That last is a \BibTeX{} bibliography database for \textsl{TUGBoat} articles. + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} +Font bitmap glyph files of type \file{.pk} are used by display +programs like \cmdname{dvips} and \cmdname{xdvi}. Nothing is returned in +this case since there are no pre-generated Computer Modern \samp{.pk} +files in \TL{}\Dash the Type~1 variants are used by default. +\begin{alltt} +> \Ucom{kpsewhich wsuipa10.pk} +\ifSingleColumn /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk +\else /usr/local/texmf-var/fonts/pk/ljfour/public/ +... wsuipa/wsuipa10.600pk +\fi\end{alltt} + +For these fonts (a phonetic alphabet from the University of Washington) +we had to generate \samp{.pk} files, and since the default \MF{} mode on +our installation is \texttt{ljfour} with a base resolution of 600\dpi{} +(dots per inch), this instantiation is returned. +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} +In this case, when specifying that we are interested in a resolution +of 300\dpi{} (\texttt{-dpi=300}) we see that no such font is available on +the system. A program like \cmdname{dvips} or \cmdname{xdvi} would +go off and actually build the required \texttt{.pk} files +using the script \cmdname{mktexpk}. + +Next we turn our attention to \cmdname{dvips}'s header and configuration +files. We first look at one of the commonly used files, the general +prolog \file{tex.pro} for \TeX{} support, before turning our attention +to the generic configuration file (\file{config.ps}) and the \PS{} font +map \file{psfonts.map}\Dash as of 2004, map and encoding files have +their own search paths and new location in \dirname{texmf} trees. As +the \samp{.ps} suffix is ambiguous we have to specify explicitly which +type we are considering (\optname{dvips config}) for the file +\texttt{config.ps}. +\begin{alltt} +> \Ucom{kpsewhich tex.pro} + /usr/local/texmf/dvips/base/tex.pro +> \Ucom{kpsewhich --format="dvips config" config.ps} + /usr/local/texmf/dvips/config/config.ps +> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map +\end{alltt} + +We now take a closer look at the \acro{URW} Times \PS{} support +files. The prefix for these in the standard font naming scheme is +\samp{utm}. The first file we look at is the configuration file, +which contains the name of the map file: +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" config.utm} + /usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} +The contents of that file is +\begin{alltt} + p +utm.map +\end{alltt} +which points to the file \file{utm.map}, which we want to +locate next. +\begin{alltt} +> \Ucom{kpsewhich utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} +This map file defines the file names of the Type~1 \PS{} fonts in +the URW collection. Its contents look like (we only show part of the +lines): +\begin{alltt} +utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb +utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb +utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb +utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} +Let us, for instance, take the Times Roman instance +\file{utmr8a.pfb} and find its position in the \file{texmf} directory +tree with a search for Type~1 font files: +\begin{alltt} +> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +\else /usr/local/texmf-dist/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + +It should be evident from these examples how you can easily locate the +whereabouts of a given file. This is especially important if you suspect +that the wrong version of a file is picked up somehow, since +\cmdname{kpsewhich} will show you the first file encountered. + +\subsubsection{Debugging actions} +\label{Debugging} + +Sometimes it is necessary to investigate how a program resolves file +references. To make this practical, \KPS{} offers various levels of +debugging output: + +\begin{ttdescription} +\item[\texttt{\ 1}] \texttt{stat} calls (disk lookups). When running + with an up-to-date \file{ls-R} database this should almost give no + output. +\item[\texttt{\ 2}] References to hash tables (such as \file{ls-R} + databases, map files, configuration files). +\item[\texttt{\ 4}] File open and close operations. +\item[\texttt{\ 8}] General path information for file types + searched by \KPS. This is useful to find out where a particular + path for the file was defined. +\item[\texttt{16}] Directory list for each path element (only relevant + for searches on disk). +\item[\texttt{32}] File searches. +\end{ttdescription} +A value of \texttt{-1} will set all the above options; in practice, +this is usually the most convenient. + +Similarly, with the \cmdname{dvips} program, by setting a combination of +debug switches, one can follow in detail where files are being picked up +from. Alternatively, when a file is not found, the debug trace shows in +which directories the program looks for the given file, so that one can +get an indication what the problem~is. + +Generally speaking, as most programs call the \KPS{} library +internally, one can select a debug option by using the +\envname{KPATHSEA\_DEBUG} environment variable, and setting it to (a +combination of) values as described in the above list. + +(Note for Windows users: it is not easy to redirect +all messages to a file in this system. For diagnostic purposes +you can temporarily \texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log}). + +Let us consider, as an example, a small \LaTeX{} source file, +\file{hello-world.tex}, which contains the following input. +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +This little file only uses the font \file{cmr10}, so let us look +how \cmdname{dvips} prepares the \PS{} file (we want to use the Type~1 +version of the Computer Modern fonts, hence the option \texttt{-Pcms}). +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +In this case we have combined \cmdname{dvips}'s debug class 4 (font +paths) with \KPS's path element expansion (see \cmdname{dvips} Reference +Manual, \OnCD{texmf/doc/html/dvips/dvips_toc.html}). +The output (slightly rearranged) appears in +Figure~\ref{fig:dvipsdbga}. +\begin{figure*}[tp] +\centering +\input{examples/ex6a.tex} +\caption{Finding configuration files}\label{fig:dvipsdbga} + +\bigskip + +\input{examples/ex6b.tex} +\caption{Finding the prolog file}\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{Finding the font file}\label{fig:dvipsdbgc} +\end{figure*} + +\cmdname{dvips} starts by locating its working files. First, +\file{texmf.cnf} is found, which gives the definitions of the search +paths for the other files, then the file database \file{ls-R} (to +optimize file searching) and the file \file{aliases}, which makes it +possible to declare several names (e.g., a short \acro{DOS}-like 8.3 and +a more natural longer version) for the same file. Then \cmdname{dvips} +goes on to find the generic configuration file \file{config.ps} +before looking for the customization file \file{.dvipsrc} (which, in +this case is \emph{not found}). Finally, \cmdname{dvips} locates the +config file for the Computer Modern \PS{} fonts \file{config.cms} +(this was initiated with the \texttt{-Pcms} option on the \cmdname{dvips} +command). This file contains the list of the map files which +define the relation between the \TeX{}, \PS{} and file system +names of the fonts. +\begin{alltt} +> \Ucom{more /usr/local/texmf/dvips/cms/config.cms} + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map +\end{alltt} +\cmdname{dvips} thus goes on to find all these files, plus the generic +map file \file{psfonts.map}, which is always loaded (it contains +declarations for commonly used \PS{} fonts; see the last part of +Section \ref{SExamplesofuse} for more details about \PS{} map +file handling). + +At this point \cmdname{dvips} identifies itself to the user: +\begin{alltt} +This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) +\end{alltt} +\ifSingleColumn +Then it goes on to look for the prolog file \file{texc.pro}: +\begin{alltt}\small +kdebug:start search(file=texc.pro, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro +\end{alltt} +\else +Then it goes on to look for the prolog file \file{texc.pro} (see +Figure~\ref{fig:dvipsdbgb}). +\fi + +After having found the file in question, \cmdname{dvips} outputs +date and time, and informs us that it will generate the +file \file{hello-world.ps}, then that it needs the font file +\file{cmr10}, and that the latter is declared as ``resident'' (no +bitmaps needed): +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} +Now the search is on for the file \file{cmr10.tfm}, which is found, +then a few more prolog files (not shown) are referenced, and finally +the Type~1 instance \file{cmr10.pfb} of the font is located and +included in the output file (see last line). +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{Runtime options} + +Another useful feature of \Webc{} is its possibility to control a number +of memory parameters (in particular, array sizes) via the runtime file +\file{texmf.cnf} read by \KPS{}. The memory settings can be found in +Part 3 of that file in the \TL{} distribution. The more important +are: + +\begin{ttdescription} +\item[\texttt{main\_memory}] + Total words of memory available, for + \TeX{}, \MF{} and \MP. You must make a new format file for each + different setting. For instance, you could generate a ``huge'' + version of \TeX{}, and call the format file \texttt{hugetex.fmt}. + Using the standard way of specifying the program name used by \KPS{}, + the particular value of the \texttt{main\_memory} variable will then + be read from \file{texmf.cnf}. + etc.). +\item[\texttt{extra\_mem\_bot}] + Extra space for ``large'' \TeX{} data structures: + boxes, glue, breakpoints, etc. Especially useful if you use + \PiCTeX{}. +\item[\texttt{font\_mem\_size}] + Number of words for font information available for \TeX. This + is more or less the total size of all TFM files read. +\item[\texttt{hash\_extra}] + Additional space for the hash table of control sequence names. + Approximately 10,000 control sequences can be stored in the main + hash table; if you have a large book with numerous cross-references, + this might not be enough. The default value of + \texttt{hash\_extra} is \texttt{50000}. +\end{ttdescription} + +\noindent Of course, this facility is no substitute for truly dynamic +arrays and memory allocation, but since these are extremely difficult to +implement in the present \TeX{} source, these runtime parameters provide +a practical compromise allowing some flexibility. + + +\section{Building on a new Unix platform} + +If you have a platform for which executables are not included, you will +need to compile \TeX{} and friends. This is not as hard as it +sounds. What you need is all in the directory \texttt{source} in the +distribution. + +\subsection{Prerequisites} + +You will need at least 100 megabytes of disk space to compile all of +\TeX{} and its support programs. You'll also need an \acro{ANSI} C +compiler, a \cmdname{make} utility, a lexical scanner, and a parser +generator. We recommend the \acro{GNU} version of these programs +(\cmdname{gcc}, \acro{GNU} \cmdname{make}, \cmdname{m4}, \cmdname{flex}, +\cmdname{bison}). You may be able to work with other C compilers and +\cmdname{make} programs, but you will need a good understanding of +building Unix programs to sort out problems. + +Also, the command \texttt{uname} must return a sensible value. + + +\subsection{Configuration} + +To begin, perform a normal installation of \TL{} to your disk (see +section~\ref{sec:unix-install-disk} on +\p.\pageref{sec:unix-install-disk}). You may wish to skip installing +all of the prebuilt binaries. + +Then, unpack the source from the compressed \texttt{tar} file in the +directory \dirname{source} to your disk and change directory to where +you placed it. + +Next, run \cmdname{configure} with a command line like this: +\begin{alltt} +> \Ucom{sh configure -prefix=/usr/local/TeX} +\end{alltt} + +The \optname{-prefix} directory is the one where you installed the +support tree; the directory layout will be as follows (where \$TEXDIR +stands for the directory you chose): + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/share/texmf} & main tree with fonts,\\ + & \qquad macros, etc\\ + \dirname{$TEXDIR/man} & Unix manual pages\\ + \dirname{$TEXDIR/info} & \acro{GNU} style Info manuals\\ + \dirname{$TEXDIR/bin/$PLATFORM} & binaries\\ +\end{tabular} +%$ + +If you want to leave out the \dirname{$PLATFORM} directory level, +i.e., put the binaries directly into \dirname{$TEXDIR/bin}, specify +the \verb|--disable-multiplatform| option to \cmdname{configure}. + +Have a look at the output of \verb|./configure --help| for more +options you can use. For example, you can skip building of \OMEGA{} and +\eTeX{}. + + +\subsection{Running \cmdname{make}} + +Make sure the shell variable or option \texttt{noclobber} is not set. +Then, run the main \cmdname{make} like this: +\begin{alltt} +> \Ucom{make world} +\end{alltt} +and relax\ldots + +Alternatively, you want to log all the output, as in: +\begin{alltt} +> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} + +Before you believe that everything went ok, please check the log file +for errors: \acro{GNU} \cmdname{make} always uses the string \samp{***} +whenever a command fails. Also, check if all the programs were built: + +\begin{alltt} +> \Ucom{cd \var{TEXDIR}/bin/\var{archname}} +> \Ucom{ls | wc} +\end{alltt} +The result should be over 200 (you can check the exact number with the +\dirname{bin} directory contents in the distribution). + +If you need special privileges for \texttt{make install}, you can +separate the \samp{make world} into two different runs, like this: +\begin{alltt} +> \Ucom{make all} +> \Ucom{su} +> \Ucom{make install strip} +\end{alltt} + +After you've installed your new binaries, you should follow the normal +post-installation procedures, given in section~\ref{sec:postinstall} +(\p.\pageref{sec:postinstall}). + +Also, if you'd like to make your binaries available to others, please +contact us. We'll be happy to put them on the \TL\ web pages. + + +\section{Acknowledgements} + +\TL{} is a joint effort by virtually all of the \TeX{} user groups. +This edition of \TL{} was overseen by Sebastian Rahtz and Karl Berry. +The other principal contributors are listed below. + +\begin{itemize*} + +\item The German-speaking \TeX{} Users (\acro{DANTE} e.V.), who provide +the hardware for the \TL{} source repository; and Rainer Sch\"opf and +Reinhard Zierke who look after it. \acro{DANTE} officers Volker Schaa +and Klaus Hoeppner coordinated production with the Lehmann's Bookstore +(\url{http://www.lob.de}). + +\item The Perforce corporation (\url{http://www.perforce.com}), for providing +a free copy of their excellent change management system, which we used +to manage the \TL{} sources. + +\item Peter Breitenlohner and the \eTeX\ team for the stable foundation +of future \TeX's. + +\item Thomas Esser, without whose marvelous \teTeX{} package \TL{} +would certainly not exist, and whose continual help makes it a better +product. + +\item Michel Goossens, who co-authored the original documentation. + +\item Eitan Gurari, whose \TeX4ht was used to create the \HTML{} +version of this documentation, and who worked tirelessly to improve +it at short notice. + +\item Hans Hagen, for major testing and making the \ConTeXt\ format +conform to \TL's needs. + +\item \Thanh, Martin Schr\"oder, and the pdf\TeX\ team for continuing +enhancements of \TeX's abilities. + +\item Petr Olsak, who coordinated and checked all the Czech and Slovak +material very carefully. + +\item Fabrice Popineau, for the Windows side of \TL{} and devising the +new directory layout. + +\item Staszek Wawrykiewicz, the principal tester for all of \TL{}, and +coordinator of the Polish contributions. + +\item Olaf Weber, for his patient assembly and maintenance of Web2C, +upon which all else depends. + +\item Gerben Wierda, for creating and maintaining the \MacOSX\ support, +and much integration and testing. + +\item Graham Williams, on whose work the catalogue of packages depends. + +\end{itemize*} + +Builders of the binaries: +Tigran Aivazian (\pkgname{x86\_64-linux}), +Manfred Lotz (\pkgname{i386-freebsd}), +Maksym Polyakov (\pkgname{sparc-solaris}), +Fabrice Popineau (\pkgname{win32}), +Norbert Preining (\pkgname{alpha-linux}), +Vladimir Volovich (\pkgname{powerpc-aix} and \pkgname{sparc64-linux}), +Staszek Wawrykiewicz (\pkgname{i386-linux}), +Olaf Weber (\pkgname{mips-irix}), +Gerben Wierda (\pkgname{powerpc-darwin}). + +Documentation and translation updates: +Karl Berry (English), +Daniel Flipo \& Fabrice Popineau (French), +G\"unter Partosch \& Hartmut Henkel (German), +Petr Sojka \& Jan Busa (Czech\slash Slovak), +Boris Veytsman (Russian), +Staszek Wawrykiewicz (Polish). + +Of course the most important acknowledgement must go to Donald Knuth, first +for inventing \TeX, and then for giving it to the world. + + +\section{Release history} +\label{sec:history} + +\subsection{Past} + +Discussion began in late 1993 when the Dutch \TeX{} Users Group was +starting work on its 4All\TeX{} \CD{} for \acro{MS-DOS} users, and it +was hoped at that time to issue a single, rational, \CD{} for all +systems. This was too ambitious a target for the time, but it did spawn +not only the very successful 4All\TeX{} \CD{}, but also the \acro{TUG} +Technical Council working group on a \emph{\TeX{} Directory Structure} +(\url{http://tug.org/tds}), which specified how to create consistent and +manageable collections of \TeX{} support files. A complete draft of the +\TDS{} was published in the December 1995 issue of \textsl{TUGboat}, and +it was clear from an early stage that one desirable product would be a +model structure on \CD{}. The distribution you now have is a very direct +result of the working group's deliberations. It was also clear that the +success of the 4All\TeX{} \CD{} showed that Unix users would benefit +from a similarly easy system, and this is the other main strand of +\TL. + +We first undertook to make a new Unix-based \TDS{} \CD{} in the autumn +of 1995, and quickly identified Thomas Esser's \teTeX{} as the ideal +setup, as it already had multi-platform support and was built with +portability across file systems in mind. Thomas agreed to help, and work +began seriously at the start of 1996. The first edition was released in +May 1996. At the start of 1997, Karl Berry completed a major new release +of Web2c, which included nearly all the features which Thomas Esser had +added in \teTeX, and we decided to base the 2nd edition of the \CD{} on +the standard \Webc, with the addition of \teTeX's \texttt{texconfig} +script. The 3rd edition of the \CD{} was based on a major revision of +\Webc, 7.2, by Olaf Weber; at the same time, a new revision of \teTeX +was being made, and \TL{} included almost all of its features. The +4th edition followed the same pattern, using a new version of \teTeX, +and a new release of \Webc{} (7.3). The system now included a complete +Windows setup. + +For the 5th edition (March 2000) many parts of the \CD{} were revised +and checked, updating hundreds of packages. Package details were stored +in XML files. But the major change for \TeX\ Live 5 was that all +non-free software was removed. Everything in \TL{} is now intended +to be compatible with the Debian Free Software Guidelines +(\url{http://www.debian.org/intro/free}); we have done our best to check +the license conditions of all packages, but we would very much +appreciate hearing of any mistakes. + +The 6th edition (July 2001) had much more material updated. The major +change was a new install concept: the user could select a more exact set +of needed collections. Language-related collections were completely +reorganized, so selecting any of them installs not only macros, fonts, +etc., but also prepares an appropriate \texttt{language.dat}. + +The 7th edition of 2002 had the notable addition of \MacOSX{} support, +and the usual myriad of updates to all sorts of packages and +programs. An important goal was integration of the source back with +\teTeX, to correct the drift apart in versions~5 and~6. + +In 2003, with the continuing flood of updates and additions, we found +that \TL{} had grown so large it could no longer be contained on a +single \CD, so we split it into three different distributions (see +section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}). In +addition: + +\begin{itemize*} +\item At the request of the \LaTeX{} team, we changed the standard + \cmdname{latex} and \cmdname{pdflatex} commands to now use \eTeX{} (see + \p.\pageref{text:etex}). +\item The new Latin Modern fonts were included (and are recommended). +\item Support for Alpha \acro{OSF} was removed + (\acro{HPUX} support was removed previously), since no one had (or + volunteered) hardware available on which to compile new binaries. +\item Windows setup was substantially changed; for the first time + an integrated environment based on XEmacs was introduced. +\item Important supplementary programs for Windows + (Perl, Ghost\-script, Image\-Magick, Ispell) are now installed + in the \TL{} installation directory. +\item Font map files used by \cmdname{dvips}, \cmdname{dvipdfm} + and \cmdname{pdftex} are now generated by the new program + \cmdname{updmap} and installed into \dirname{texmf/fonts/map}. +\item \TeX{}, \MF{}, and \MP{} now, by default, output most input + characters (32 and above) as themselves in output (e.g., + \verb|\write|) files, + log files, and the terminal, i.e., \emph{not} translated using the + \verb|^^| notation. In \TL{}~7, this translation was + dependent on the system locale settings; now, locale settings do + not influence the \TeX{} programs' behavior. If for some reason + you need the \verb|^^| output, rename the file + \verb|texmf/web2c/cp8bit.tcx|. (Future releases will have cleaner + ways to control this.) +\item This documentation was substantially revised. +\item Finally, since the edition numbers had grown unwieldy, + the version is now simply identified by the year: \TL{} 2003. +\end{itemize*} + +\subsection{Present} +\label{tlcurrent} + +2004 saw the usual huge number of updates to packages and programs. +Here are the most notable changes, including one important backward +incompatibility: + +\begin{itemize} + +\item If you have locally-installed fonts which use their own +\filename{.map} or (much less likely) \filename{.enc} support files, you +may need to move those support files. + +\filename{.map} files are now searched for in subdirectories of +\dirname{fonts/map} only (in each \filename{texmf} tree), along the +\envname{TEXFONTMAPS} path. Similarly, \filename{.enc} files are now +searched for in subdirectories of \dirname{fonts/enc} only, along the +\envname{ENCFONTS} path. \cmdname{updmap} will attempt to warn about +problematic files. + +For methods of handling this and other information, please see +\url{http://tug.org/texlive/mapenc.html}. + +\item The \TK\ has been expanded with the addition of a \MIKTEX-based +installable \CD, for those who prefer that implementation to Web2C. +See section~\ref{sec:struct-tl} (\p.\pageref{sec:struct-tl}). + +\item Within \TL, the single large \dirname{texmf} tree of previous +releases has been replaced by three: \dirname{texmf}, +\dirname{texmf-dist}, and \dirname{texmf-doc}. See +section~\ref{sec:tld} (\p.\pageref{sec:tld}), and the \filename{README} +files for each. + +\item All \TeX-related input files are now collected in +the \dirname{tex} subdirectory of \dirname{texmf*} trees, rather than +having separate sibling directories \dirname{tex}, \dirname{etex}, +\dirname{pdftex}, \dirname{pdfetex}, etc. See +\CDref{texmf-doc/doc/english/tds/tds.html\#Extensions} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Extensions}}. + +\item Helper scripts (not meant to be invoked by users) are now located +in a new \dirname{scripts} directory of \dirname{texmf*} trees, and +searched for via \verb|kpsewhich -format=texmfscripts|. So if you have +programs which call such scripts, they'll need to be adjusted. See +\CDref{texmf-doc/doc/english/tds/tds.html\#Scripts} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Scripts}}. + +\item Almost all formats leave most characters printable as +themselves via the ``translation file'' \filename{cp227.tcx}, instead of +translating them with the \verb|^^| notation. Specifically, characters +at positions 32--256, plus tab, vertical tab, and form feed are +considered printable and not translated. The exceptions are plain \TeX\ +(only 32--126 printable), \ConTeXt\ (0--255 printable), and the +\OMEGA-related formats. This default behavior is almost the same as in +\TL\,2003, but it's implemented more cleanly, with more possibilities +for customization. See \CDref{texmf/doc/web2c/web2c.html\#TCX-files} +{\texttt{texmf/doc/web2c/web2c.html\#TCX-files}}. +(By the way, with Unicode input, \TeX\ may output partial character +sequences when showing error contexts, since it is byte-oriented.) + +\item \textsf{pdfetex} is now the default engine for all formats +except (plain) \textsf{tex} itself. (Of course it generates \acro{DVI} +when run as \textsf{latex}, etc.) This means, among other things, that +the microtypographic features of \textsf{pdftex} are available in +\LaTeX, \ConTeXt, etc., as well as the \eTeX\ features +(\OnCD{texmf-dist/doc/etex/base/}). + +It also means it's \emph{more important than ever} to use the +\pkgname{ifpdf} package (works with both plain and \LaTeX) or equivalent +code, because simply testing whether \cs{pdfoutput} or some other +primitive is defined is not a reliable way to determine if \acro{PDF} +output is being generated. We made this backward compatible as best we +could this year, but next year, \cs{pdfoutput} may be defined even when +\acro{DVI} is being written. + +\item pdf\TeX\ (\url{http://pdftex.org}) has many new features: + + \begin{itemize*} + + \item \cs{pdfmapfile} and \cs{pdfmapline} provide font map support + from within a document. + + \item Microtypographic font expansion can be used more easily.\\ + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} + + \item All parameters previously set through the special configuration + file \filename{pdftex.cfg} must now be set through primitives, + typically in \filename{pdftexconfig.tex}; \filename{pdftex.cfg} is no + longer supported. Any extant \filename{.fmt} files must be redumped + when \filename{pdftexconfig.tex} is changed. + + \item See the pdf\TeX\ manual for more: \OnCD{texmf/doc/pdftex/manual}. + + \end{itemize*} + +\item The \cs{input} primitive in \cmdname{tex} (and \cmdname{mf} and +\cmdname{mpost}) now accepts double quotes containing spaces and other +special characters. Typical examples: +\begin{verbatim} +\input "filename with spaces" % plain +\input{"filename with spaces"} % latex +\end{verbatim} +See the Web2C manual for more: \OnCD{texmf/doc/web2c}. + +\item enc\TeX\ support is now included within Web2C and consequently all +\TeX\ programs, via the \optname{-enc} option\Dash \emph{only when +formats are built}. enc\TeX\ supports general re-encoding of input and +output, enabling full support of Unicode (in \acro{UTF}-8). See +\OnCD{texmf-dist/doc/generic/enctex/} and +\url{http://www.olsak.net/enctex.html}. + +\item Aleph, a new engine combining \eTeX\ and \OMEGA, is available. +A little information is available in \OnCD{texmf-dist/doc/aleph/base} +and \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph}. The +\LaTeX-based format for Aleph is named \textsf{lamed}. + +\item The latest \LaTeX\ release has a new version of the +\acro{LPPL}\Dash now officially a Debian-approved license. Assorted +other updates, see the \filename{ltnews} files in +\OnCD{texmf-dist/doc/latex/base}. + +\item \cmdname{dvipng}, a new program for converting \acro{DVI} to +\acro{PNG} image files, is included. See \OnCD{texmf/doc/man/man1/dvipng.1}. + +\item We reduced the \pkgname{cbgreek} package to a ``medium'' sized set +of fonts, with the assent and advice of the author (Claudio Beccari). +The excised fonts are the invisible, outline, and transparency ones, +which are relatively rarely used, and we needed the space. The full set +is of course available from \acro{CTAN} +(\url{http://www.ctan.org/tex-archive/fonts/greek/cb}). + +\item \cmdname{oxdvi} has been removed; just use \cmdname{xdvi}. + +\item The \cmdname{ini} and \cmdname{vir} commands (links) for +\cmdname{tex}, \cmdname{mf}, and \cmdname{mpost} are no longer created, +such as \cmdname{initex}. The \cmdname{ini} functionality has been +available through the command-line option \optname{-ini} for years now. + +\item \textsf{i386-openbsd} platform support was removed. Since the +\pkgname{tetex} package in the \acro{BSD} Ports system is available, and +\acro{GNU/}Linux and Free\acro{BSD} binaries were available, it seemed +volunteer time could be better spent elsewhere. + +\item On \textsf{sparc-solaris} (at least), you may have to set the +\envname{LD\_LIBRARY\_PATH} environment variable to run the +\pkgname{t1utils} programs. This is because they are compiled with C++, +and there is no standard location for the runtime libraries. (This is +not new in 2004, but wasn't previously documented.) Similarly, on +\textsf{mips-irix}, the \acro{MIPS}pro 7.4 runtimes are required. + +\end{itemize} + + +\subsection{Future} + +\emph{\TL{} is not perfect!} (And never will be.) We intend to +continue to release new versions yearly, and would like to provide more +help material, more utilities, more installation programs, and (of +course) an ever-improved and checked tree of macros and fonts. This work +is all done by hard-pressed volunteers in their limited spare time, and +a great deal remains to be done. If you can help, don't hesitate to put +your name forward! + +Please send corrections, suggestions, and offers of help to:\hfill\null +\begin{quote} +Sebastian Rahtz \ / \ 7 Stratfield Road \ / \ Oxford OX2 7BG \ / \ UK \\ +\email{tex-live@tug.org} \\ +\url{http://tug.org/texlive} +\end{quote} + +\medskip +\noindent \textsl{Happy \TeX ing!} + +\end{multicols} +\end{document} diff --git a/Master/texmf-dist/doc/texlive/texlive-en/archive/live-2005.tex b/Master/texmf-dist/doc/texlive/texlive-en/archive/live-2005.tex new file mode 100644 index 00000000000..5b525535c63 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/archive/live-2005.tex @@ -0,0 +1,3174 @@ +% $Id: live.tex 1513 2006-02-13 00:22:35Z karl $ +% TeX Live documentation. Originally written by Sebastian Rahtz and +% Michel Goossens, now maintained by Karl Berry and others. +% Public domain. +% +\documentclass{article} +\let\tldocenglish=1 % for live4ht.cfg +\usepackage{tex-live} +\begin{document} + +\title{% + {\huge \textit{The \protect\TL{} Guide}\\\strut} + {\LARGE \textsf{\TK{} 2005}} +} + +\author{Sebastian Rahtz \& Karl Berry, editors \\[3mm] + \url{http://tug.org/texlive/} + } + +\date{October 2005} + +\maketitle + +\begin{multicols}{2} +\tableofcontents +\listoftables +\end{multicols} + +\section{Introduction} +\label{sec:intro} + +This document describes the main features of the \TL{} software +distribution\Dash \TeX{} and friends for \acro{GNU}/Linux and other Unix +flavors, \MacOSX, and (32-bit) Windows systems. (Warning: it is not +especially useful for older Mac or \acro{MS-DOS} systems.) + +\TL{} includes executables for \TeX{}, \LaTeXe{}, \ConTeXt, \MF, \MP, +\BibTeX{} and many other programs; an extensive collection of macros, +fonts and documentation; and support for typesetting in many different +scripts from around the world. It is part of the even larger \TK{} +(briefly described below in section~\ref{sec:struct-tl}, +\p.\pageref{sec:struct-tl}). Both are cooperative efforts by the \TeX\ +user groups. + +For newer versions of the packages included here, please check +\acro{CTAN}: \url{http://www.ctan.org}. + +For a brief summary of the major changes in this edition of \TL{}, +see the end of the document, section~\ref{sec:history} +(\p.\pageref{sec:history}). + + +\subsection{Basic usage of \protect\TL{}} +\label{sec:basic} + +You can use \TL{} in three principal ways: + +\begin{enumerate} + +\item You can run \TL{} directly from the \pkgname{live} \DVD +(see section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}). +This takes almost no disk space, and gives you immediate access to +everything in \TL{}. Of course performance will be worse than running +on local disk, but you may well find it useful. + +\item You can install all or part of \TL{} to a local disk, from either +the \DVD\ or the \pkgname{inst} \acro{CD}. This is the most common use +of \TL. You will need (approximately) 100 megabytes for the most +minimal system, and upwards of 1.3 gigabytes for a full system. + +\item You can integrate a particular package or collection into your +existing \TeX{} system, either a \TL{} system you installed +earlier, or a different system. + +\end{enumerate} + +\noindent All of these are described in detail in the \acro{OS}-specific +installation sections following, but here is a quick start: + +\begin{itemize*} + +\item The main installation script for Unix and \MacOSX{} is +\texttt{install-tl.sh}. + +\item The single package installation script is \texttt{install-pkg.sh}. + +\item The installation program for Windows is \texttt{tlpmgui.exe}. +It can be used also for adding or removing the packages. +See section~\ref{sec:win-install} below for more information. + +\end{itemize*} + + +\subsection{Getting help} +\label{sec:help} + +The \TeX{} community is both active and friendly, and virtually all +serious questions end up getting answered. However, the support is +informal, done by volunteers and casual readers, so it's especially +important that you do your homework before asking. (If you prefer +guaranteed commercial support, you can forego \TL{} completely and +purchase a vendor's system; \url{http://tug.org/interest.html#vendors} +has a list.) + +Here is a list of resources, approximately in the order we recommend +using them: + +\begin{description} +\item [Getting Started] If you are new to \TeX, the web page +\url{http://tug.org/begin.html} gives a brief introduction to the system. + +\item [\TeX{} \acro{FAQ}] The \TeX{} \acro{FAQ} is a huge compendium of +answers to all sorts of questions, from the most basic to the most +arcane. It is included on \TL{} in \OnCD{texmf-doc/doc/english/FAQ-en}, and is +available on the Internet through \url{http://www.tex.ac.uk/faq}. +Please check here first. + +\item [\TeX{} Catalogue] If you are looking for a specific package, +font, program, etc., the \TeX{} Catalogue is the place to look. It is a +huge collection of all \TeX{}-related items. See +\OnCD{texmf-doc/doc/english/catalogue}, or +\url{http://www.ctan.org/tex-archive/help/Catalogue}. + +\item [\TeX{} Web Resources] The web page +\url{http://tug.org/interest.html} has many \TeX{}-related links, in +particular for numerous books, manuals, and articles on all aspects of +the system. + +\item [support archives] The two principal support forums are the +Usenet newsgroup \url{news:comp.text.tex} and the mailing list +\email{texhax@tug.org}. Their archives have years of past +questions and answers for your searching pleasure, via +\url{http://groups.google.com/groups?group=comp.text.tex} and +\url{http://tug.org/mail-archives/texhax}, respectively. And a general web +search, for example on \url{http://google.com}, never hurts. + +\item [asking questions] If you cannot find an answer, you can post to +\dirname{comp.text.tex} through Google or your newsreader, or to +\email{texhax@tug.org} through email. But before you post, +\emph{please} read this \acro{FAQ} entry on asking questions in such a +way that you're most likely to get an answer: +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. + +\item [\TL{} support] If you want to report a bug or have +suggestions or comments on the \TL{} distribution, installation, or +documentation, the mailing list is \email{tex-live@tug.org}. However, +if your question is about how to use a particular program included in +\TL{}, you are better off writing to that program's maintainer or +mailing list. + +\end{description} + +The other side of the coin is helping others who have questions. Both +\dirname{comp.text.tex} and \code{texhax} are open to anyone, so feel +free to join, start reading, and help out where you can. Welcome to +\TeX{}! + + +% don't use \TL so the \uppercase in the headline works. Also so +% tex4ht ends up with the right TeX. Likewise the \protect's. +\section{Structure of \protect\TeX\protect\ Live} +\label{sec:struct-tl} + +This section describes the structure and contents of \TL{} and the +\TK{} of which it is a part. + +\subsection{Multiple distributions: \protect\pkgname{live}, + \protect\pkgname{inst}, + \protect\pkgname{protext}} +\label{sec:multiple-dist} + +Space limitations of \acro{CD-ROM} format have forced us to divide +\TK{} into several distributions, as follows. + +\begin{description} + +\item [live] A complete system on \acro{DVD}; it is too large +for \acro{CD}. It can be run live or installed to disk. It also +includes a snapshot of the \CTAN{} repository, the \pkgname{protext} +distribution for Windows and the Mac\TeX\ distribution for \MacOSX, entirely +independent of \TL{}, as well as assorted other packages in a +\texttt{texmf-extra} directory. + +\CTAN{}, \pkgname{protext}, Mac\TeX, and \texttt{texmf-extra} do not follow +the same copying conditions as \TL{}, so be careful when redistributing or +modifying. + +\item [inst(allable)] A complete system on \CD; in order to make this fit, +the packages and programs are compressed. Therefore, it is not possible +to run \TeX\ directly from the installable \CD, you have to install it +to disk (hence its name). Installation is described in subsequent sections. + +\item [protext] An enhancement of the \MIKTEX\ distribution for Windows, +\ProTeXt\ adds a few extra tools to \MIKTEX, and simplifies +installation. It is entirely independent of \TL{}, and has its own +installation instructions. It can be run live, or installed to disk. +The \ProTeXt\ home page is \url{http://tug.org/protext}. + +\ProTeXt\ is provided as both the top level of the \pkgname{live} \DVD\ +and on its own \CD\ (for those who cannot use the \DVD). + +\end{description} + +\noindent You can tell which type of distribution you're in by looking +for a \texttt{00\var{type}.TL} file at the top of the \TL{} directory. +This file also contains the \TL{} release date. + +Naturally, each user group chooses what to distribute, at its own +discretion. (\acro{TUG} is sending all three discs above to all of its +members.) + + +\subsection{Top level directories} +\label{sec:tld} + +Here is a brief listing and description of the top level directories in +the \TL{} distribution. On the \pkgname{live} \DVD, the entire \TL{} +hierarchy is in a subdirectory \dirname{texlive2005}, not at the top +level of the disc. + +\smallskip +\begingroup + \renewcommand{\arraystretch}{1.3} % open up interrow spacing +\begin{tabular}{>{\ttfamily}lp{.78\hsize}} +bin & The \TeX{} system programs, arranged by platform. \\ +source & The source of all programs, including the main \Webc{} + \TeX{} and \MF{} distributions. These are stored in a + \cmdname{bzip2}-compressed tar archive. \\ +support & Assorted auxiliary packages and programs. These are + \emph{not} installed automatically. This includes + assorted editors and \TeX\ shells. \\ +texmf & Tree for the programs, along with their support files and + documentation. Does not include \TeX\ formats and packages. + (\texttt{TEXMFMAIN} in the next section.) \\ +texmf-dist & The main tree of formats and packages. + (\texttt{TEXMFDIST} in the next section.) \\ +texmf-doc & Tree for self-contained pure documentation, arranged by + language. \\ +texmf-var & Tree for files automatically generated and stored. + (\texttt{TEXMFSYSVAR} in the next section.) \\ +xemtex & Tree for supporting programs used only in Windows. + These programs generally come pre-installed on Unix systems, or are + at least easy to compile. \\ +\end{tabular} +\endgroup + +\smallskip + +In addition to the directories above, the installation scripts and +\filename{README} files (in various languages) are at the top level of +the distribution. + +The \dirname{texmf-doc} directory contains only documentation, but +it does not contain all the documentation. The documentation for the +programs (manuals, man pages, Info files) is in \dirname{texmf/doc}, +since the programs are in \dirname{texmf}. Similarly, the documentation +for \TeX\ packages and formats is in \dirname{texmf-dist/doc}. You can +use the \cmdname{texdoc} or \cmdname{texdoctk} programs to find any +documentation wherever it's located. The comprehensive links in the +top-level file \OnCD{doc.html} may also be helpful. + + +\subsection{Overview of the predefined texmf trees} +\label{sec:texmftrees} + +This section lists all predefined variables specifying texmf trees used +by the system, and their intended purpose. The command \texttt{texconfig +conf} shows you the values of these variables, so that you can easily +find out how they map to directory names in your installation. + +\begin{ttdescription} +\item [TEXMFMAIN] The tree which holds vital parts of the system + such as helper scripts (e.g., \verb+web2c/mktexdir+), pool files and + other support files. +\item [TEXMFDIST] The tree which holds the main set of macro packages, + fonts, etc., as originally distributed. +\item [TEXMFLOCAL] The tree which administrators can use for system-wide + installation of additional or updated macros, fonts, etc. +\item [TEXMFHOME] The tree which users can use for their own individual + installations of additional or updated macros, fonts, etc. + The expansion of this variable depends on \verb+$HOME+ by default, % $ + which dynamically adjusts for each user to an individual + directory. +\item [TEXMFCONFIG] The tree used by te\TeX's utilities + \verb+texconfig+, \verb+updmap+, and \verb+fmtutil+ to store modified + configuration data. Under \verb+$HOME+ by default. %$ +\item [TEXMFSYSCONFIG] The tree used by te\TeX's utilities + \verb+texconfig-sys+, \verb+updmap-sys+, and \verb+fmtutil-sys+ to + store modified configuration data. +\item [TEXMFVAR] The tree used by \verb+texconfig+, \verb+updmap+ and + \verb+fmtutil+ to store (cached) runtime data such as format files and + generated map files. Under \verb+$HOME+ by default. %$ +\item [TEXMFSYSVAR] The tree used by \verb+texconfig-sys+, + \verb+updmap-sys+ and \verb+fmtutil-sys+ to store (cached) runtime + data such as format files and generated map files. +\end{ttdescription} + +For more discussion of \texttt{texconfig} and related utilities, please +see section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}. + + +\subsection{Extensions to \protect\TeX} +\label{sec:tex-extensions} + +\TL{} contains several extended versions of \TeX: + +\begin{description} + +\item [\eTeX] adds a small but powerful set of new primitives +\label{text:etex} (related to macro expansion, character scanning, +classes of marks, additional debugging features, and more) and the +\TeXXeT{} extensions for bidirectional typesetting. In default mode, +\eTeX{} is 100\% compatible with ordinary \TeX. See +\OnCD{texmf-dist/doc/etex/base/etex_man.pdf}. + +\item [pdf\TeX] writes Acrobat \acro{PDF} format as well as \dvi{}. The +\LaTeX{} \pkgname{hyperref} package has an option `\optname{pdftex}' +which turns on all the program features. See +\OnCD{texmf/doc/pdftex/manual/} for the manual, and +\OnCD{texmf/doc/pdftex/manual/samplepdf/samplepdf.tex}. + +\item [pdfe\TeX] combines the pdf\TeX\ and \eTeX\ extensions. This is +the default program for all formats except plain \TeX. +See above for documentation. + +\item [\OMEGA\ (Omega)] is based on Unicode (16-bit characters), thus +supports working with almost all the world's scripts simultaneously. It +also supports so-called `\OMEGA{} Translation Processes' (\acro{OTP}s), +for performing complex transformations on arbitrary input. See +\OnCD{texmf-dist/doc/omega/base/doc-1.8.tex} (not completely up-to-date). + +\item [Aleph] combines the \OMEGA\ and \eTeX\ extensions. +See \OnCD{texmf-dist/doc/aleph/base} for some minimal documentation. + +\end{description} + + +\subsection{Other notable programs in \protect\TL} + +Here are a few other commonly-used programs included in \TL{}: + +\begin{cmddescription} + +\item [bibtex] bibliography support. + +\item [makeindex] index support. + +\item [dvips] convert \dvi{} to \PS{}. + +\item [xdvi] \dvi{} previewer for the X Window System. + +\item [dvilj] \dvi{} drive for the HP LaserJet family. + +\item [dv2dt, dt2dv] convert \dvi{} to/from plain text. + +\item [dviconcat, dviselect] cut and paste pages +from \dvi{} files. + +\item [dvipdfmx] convert \dvi{} to \acro{PDF}, an alternative approach +to pdf\TeX\ (mentioned above). See the \pkgname{ps4pdf} and +\pkgname{pdftricks} packages for still more alternatives. + +\item [psselect, psnup, \ldots] \PS{} +utilities. + +\item [lacheck] \LaTeX{} syntax checker. + +\item [texexec] Con\TeX{}t and \acro{PDF} processor. + +\item [tex4ht] \TeX{} to \acro{HTML} converter. + +\end{cmddescription} + + +\section{Unix installation} +\label{sec:unix-install} + +As introduced in section~\ref{sec:basic} (\p.\pageref{sec:basic}), +\TL{} has three principal uses: + +\begin{enumerate} +\item Run directly from media. +\item Install to disk. +\item Integrate a particular package or collection into your existing +\TeX{} installation. +\end{enumerate} + +\noindent The following sections describes the Unix-specific procedures +for each of these. + +\ifSingleColumn \begin{figure}[ht]\noindent \fi +\begin{warningbox} +\textbf{Warning: } The \TK{} \CD{}s and \DVD{} are in ISO 9660 (High Sierra) +format, \emph{with} Rock Ridge (and Joliet, for Windows) +extensions. Therefore, in order to take full advantage of the \TK{} +under Unix, your system needs to be able to use the Rock Ridge +extensions. Please consult the documentation for your \cmdname{mount} +command to see how to do this. If you have several different machines +on a local network, you may be able to mount the discs on one which +does support Rock Ridge, and use this with the others. + +\leavevmode\quad Modern systems should be able to use the discs without +problems. If troubles, let us know. The discussion below assumes you +have been able to mount the \CD{}s with full Rock Ridge compatibility. +\end{warningbox} +\ifSingleColumn\end{figure}\fi + + +% +\subsection{Running \protect\TL{} directly from media (Unix)} + +\def\runlive{% text repeated in windows section +It is possible to use the \TeX{} system directly from the \pkgname{live} +\DVD{}, without installing the distribution to disk. (Thus the name +\TeX\ `Live', in fact.) It is \emph{not} possible to run \TeX{} +directly from the other \CD{}s (see section~\ref{sec:multiple-dist}, +\p.\pageref{sec:multiple-dist}). +} + +\def\startinst{% repeated in other subsections +To start, you mount the \CD{} or \DVD{}, with Rock Ridge extensions +enabled. The exact command to do this varies from system to system; the +following works under Linux, except the name of the device +(\filename{/dev/cdrom}, here) may vary. (All our examples will use +\texttt{>} as the shell prompt; user input is +\Ucom{\texttt{underlined}}.) +\begin{alltt} +> \Ucom{mount -t iso9660 /dev/cdrom /mnt/cdrom} +\end{alltt} + +\noindent Change the current directory to the mount point: +\begin{alltt} +> \Ucom{cd /mnt/cdrom} +\end{alltt} + +\noindent Under \MacOSX, the directory is typically under +\dirname{/Volumes}, and the media will be mounted automatically. +} + +\def\installtlsh{ +Run the installation script \filename{install-tl.sh}: +\begin{alltt} +> \Ucom{sh install-tl.sh}\\ +Welcome to TeX Live... +\end{alltt} + +\noindent After various greeting messages and a list of the main menu +options, the installation will ask you to enter a command. Do this by +typing the desired character and hitting return; don't type the angle +brackets shown. Either uppercase or lowercase is ok; we'll use +lowercase in our examples. +} + +\runlive +\startinst +\installtlsh + +For running live, our first command will be \Ucom{d} and then the +subcommand \Ucom{1} to set directories. Even in this case, we must +choose a directory on the local disk to place files that the \TeX{} +system itself generates, such as fonts and formats, and also to provide +a place for updated configuration files, if need be. + +We'll use \dirname{/opt/texlive2005} in this example. It's good to +include the year in the name, as these generated files are not +compatible from release to release. (If the default value of +\dirname{/usr/local/texlive/2005} works for you, then you can skip this +step.) + +\begin{alltt} +Enter command: \Ucom{d} +Current directories setup: +<1> TEXDIR: /usr/local/texlive/2005 +... +Enter command: \Ucom{1} +New value for TEXDIR [/usr/local/texlive/TeX]: \Ucom{/opt/texlive2005} +... +Enter command: \Ucom{r} +\end{alltt} + +\noindent Back at the main menu, our second and last command is +\Ucom{r}, to set up for running live off the media without installing +to disk: +\begin{alltt} +Enter command: \Ucom{r} +Preparing destination directories... +... +Welcome to TeX Live! +> +\end{alltt} + +\noindent And we are back at the system prompt, as shown. + +Next, it is necessary to alter two environment variables: +\envname{PATH}, to an architecture-dependent value (so that we can run +the programs), and \envname{TEXMFSYSVAR}, to the value specified above. +See table~\ref{tab:archlist} for a list of the architecture names for +the different systems. + + +\def\textruntexconfig{% +After the main installation has completed, and environment variables +have been set, the last step is to run \cmdname{texconfig} or +\cmdname{texconfig-sys} to customize your installation to your needs. +This is explained in section~\ref{sec:texconfig}, +\p.\pageref{sec:texconfig}. +} +\textruntexconfig + +\begin{table*}[ht] +\caption[Supported system architectures.]{Supported system +architectures.} +\label{tab:archlist} +\begin{tabular}{>{\ttfamily}ll} +alpha-linux & HP Alpha GNU/Linux \\ +%alphaev5-osf4.0d & HP Alphaev5 OSF \\ +%hppa2.0-hpux10.20 & HP9000 HPUX 10.20 \\ +i386-darwin & Intel x86 \MacOSX \\ +i386-freebsd & Intel x86 FreeBSD \\ +i386-linux & Intel x86 GNU/Linux \\ +%i386-openbsd3.3 & Intel x86 OpenBSD \\ +%i386-solaris2.8 & Intel x86 Solaris \\ +mips-irix & SGI IRIX \\ +powerpc-aix & IBM RS/6000 AIX \\ +powerpc-darwin & PowerPC \MacOSX \\ +sparc-linux & Sun Sparc GNU/Linux \\ +sparc-solaris & Sun Sparc Solaris \\ +win32 & Windows (32-bit) \\ +x86\_64-linux & Intel x86 64-bit GNU/Linux \\ +\hline +\end{tabular} +\end{table*} + +\label{text:path} +The syntax for setting the environment variables, and the initialization +file to put them in, depends on the shell you use. If you use a +Bourne-compatible shell (\cmdname{sh}, \cmdname{bash}, \cmdname{ksh}, et +al.), put the following into your \filename{$HOME/.profile} file: +\begin{alltt} +PATH=/mnt/cdrom/bin/\var{archname}:$PATH; export PATH +TEXMFSYSVAR=/opt/texlive2005/texmf-var; export TEXMFVAR +\end{alltt} + +\noindent For C shell-compatible shells (\cmdname{csh}, \cmdname{tcsh}), +put the following into your \filename{$HOME/.cshrc} file: +\begin{alltt} +setenv PATH /mnt/cdrom/bin/\var{archname}:$PATH +setenv TEXMFSYSVAR /opt/texlive2005/texmf-var +\end{alltt} + +\noindent Then log out, log back in, and test your installation +(see section~\ref{sec:test-install}, \p.\pageref{sec:test-install}). + +\def\textifindoubt{% +If in doubt, please ask any local system gurus to help you with +problems; for example, the way to mount the \TL{} media, which +directory or directories to use, and precise details of the changes to +your personal initialization files can and do vary from site to site. +} +\textifindoubt + + +% +\subsection{Installing \protect\TeX\protect\ Live to disk} +\label{sec:unix-install-disk} + +It is possible, indeed typical, to install the \TL{} distribution to +hard disk. This can be done from either the \pkgname{live} or +\pkgname{inst} distributions. (See section~\ref{sec:multiple-dist}, +\p.\pageref{sec:multiple-dist}, for an explanation of the different +distributions.) + +\startinst +\installtlsh + +Table~\ref{tab:main-menu-options} briefly lists the options in the main +menu. The order in which you select the options makes little +difference, except that \Ucom{i} must be last. It's reasonable to go +through them in the order presented here. + +% apparently here.sty [H] doesn't support table*. +\begin{table}[H] +\caption{Main menu options for the installation.} +\label{tab:main-menu-options} +\begin{tabular}{>{\ttfamily}ll} +p & The platform you are running on.\\ +b & The architectures for which to install binaries.\\ +s & The base installation scheme to use (minimal, recommended, + full, etc.)\\ +c & Override the base scheme for individual collections.\\ +l & Override for language collections.\\ +d & Directories in which to install.\\ +o & Other options.\\ +i & Perform the installation.\\ +\end{tabular} +\end{table} + +Here are further details on each option. + +\textbf{\optname{p} -- Current platform.} Since the installation script +automatically guesses which platform you're running on, it is usually +unnecessary to use this option. It's there in case you need to override +the automatic detection. + +\textbf{\optname{b} -- Binary architectures.} By default, only the +binaries for your current platform will be installed. From this menu, +you can select installation of binaries for other architectures as well +(or omit installing the current platform). This can be useful if you are +sharing a \TeX\ tree across a network of heterogenous machines. For a +list of the supported architectures, see table~\ref{tab:archlist}, +\p.\pageref{tab:archlist}. + +\textbf{\optname{s} -- Base installation scheme.} From this menu, you +can choose an overall set of package collections, called a ``scheme''. +The default \optname{full} scheme installs everything available, but you +can also choose the \optname{basic} scheme for a minimal system, or +\optname{medium} to get something in between. There are also specific +sets for Omega and \acro{XML}. + +\textbf{\optname{c} -- Individual collections.} From this menu, you can +override the scheme's set of collections to install. Collections are +one level more detailed than schemes\Dash collections consist of one or +more packages, where packages (the lowest level grouping in \TL) contain +the actual \TeX\ macro files, font families, and so on. In this menu, +selection letters are case-sensitive. + +\textbf{\optname{l} -- Language collections}. This menu has the same +basic purpose as \Ucom{c}, to override the collection set in the chosen +scheme. In this case, the collections are specifically for different +languages. Selection letters are case-sensitive here too. Here is a +list of the language collections in \TL: + +% xx really should generate list from texmf/tpm/collection/tex-lang* +% a la install-tl.sh. +\begin{tabbing} +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \kill +(some) African scripts \> +Arabic \> +Armenian \> +Chinese\,Japanese\,Korean \\ +Croatian \> +Cyrillic \> +Czech/Slovak \> +Danish \\ +Dutch \> +Finnish \> +French \> +German \\ +Greek \> +Hebrew \> +Hungarian \> +Indic \\ +Italian \> +Latin \> +Manju \> +Mongolian \\ +Norwegian \> +Polish \> +Portuguese \> +Spanish \\ +Swedish \> +Tibetan \> +\acro{UK} English \> +Vietnamese \\ +\end{tabbing} + +\noindent Language collections typically include fonts, macros, +hyphenation patterns, and other support files. (For instance, +\pkgname{frenchle.sty} is installed if you select the \optname{French} +collection.) In addition, installing a language collection will alter +the \filename{language.dat} configuration file controlling which +hyphenation patterns are loaded. + +\textbf{\optname{d} -- Installation directories}. Three directories can +be changed here: +\label{text:instdir} + +\begin{ttdescription} +\item [TEXDIR] The top-level directory under which +everything else will be installed. The default value is +\dirname{/usr/local/texlive/2005}, and is often changed. We recommend +including the year in the name, to keep different releases of \TL{} +separate. (You may wish to make a version-independent name such +\dirname{/usr/local/texlive} via a symbolic link, which you can then +update after testing the new release.) + +Under \MacOSX, the usual frontends look for \TeX{} in +\dirname{/usr/local/teTeX}, so you may wish to install \TL{} there. + +\item [TEXMFLOCAL] This tree is where the \TeX{} system (not as part of +the initial installation, but rather as time goes by) puts +non-version-specific files, primarily fonts. The default value is +\dirname{/usr/local/texlive/texmf-local}, independent of the current +\TL{} release, because it's also the recommended location to put any +local packages or configuration settings. + +\item [TEXMFSYSVAR] This tree is where \cmdname{texconfig-sys} puts +files that \emph{are} version-specific. The default value is +\dirname{TEXDIR/texmf-var}, and there's generally no reason to change +it. There is also \envname{TEXMFSYSCONFIG}, which is where +\cmdname{texconfig} looks for modified configuration data. See +section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig} for more +information. + +\end{ttdescription} + +\textbf{\optname{o} -- Other options.} From this menu, you can select +the following general options: + +\begin{ttdescription} +\item [a] Specify an alternate directory for generated fonts. +The default is to use the \envname{TEXMFVAR} tree, as explained above. +Setting this is useful if you plan to mount the main tree read-only, and +therefore you need another location (perhaps host-specific) for +dynamically created fonts. + +\item [l] Create symbolic links for the binaries, man pages, +and\slash or \acro{GNU} Info files in other locations. For example, you may +wish to make the man pages available under \dirname{/usr/local/man} and +the Info files available under \dirname{/usr/local/info}. (Of course +you need appropriate privileges to write in the specified directories.) + +It is not advisable to overwrite a \TeX\ system that came with your +system with this option. It's intended primarily for creating the links +in standard directories that are known to users, such as +\dirname{/usr/local/bin}, which don't already contain any \TeX\ files. + +\item [d] Skip installation of the font/macro documentation tree. +This is useful if you need to save space, or if you've previously +installed the documentation elsewhere. + +\item [s] Skip installation of the main font/macro source +tree. This is useful if you are arranging to share that tree between +machines and\slash or architectures in some other way, such as \acro{NFS}. + +\end{ttdescription} + +\textbf{i -- Perform installation.} When you're satisfied with your +configuration options, enter \Ucom{i} to actually do the installation +from the media to your chosen locations. + +% text is similar to above, but no TEXMFSYSVAR, so we have to write out. +After the installation completes, your next step is to include the +architecture-specific subdirectory of \dirname{TEXDIR/bin} in your +\envname{PATH}, so the newly-installed programs can be found. The +architecture names are listed in table~\ref{tab:archlist}, +\p.\pageref{tab:archlist}, or you can simply list the directory +\dirname{TEXDIR/bin}. + +The syntax for doing this, and the initialization file to use, depends +on your shell. If you use a Bourne-compatible shell (\cmdname{sh}, +\cmdname{bash}, \cmdname{ksh}, et al.), put the following into your +\filename{$HOME/.profile} file: + +\begin{alltt} +PATH=/usr/local/texlive/2005/bin/\var{archname}:$PATH; export PATH +\end{alltt} + +\noindent For C shell-compatible shells (\cmdname{csh}, \cmdname{tcsh}), +put the following into your \filename{$HOME/.cshrc} file: +\begin{alltt} +setenv PATH /usr/local/texlive/2005/bin/\var{archname}:$PATH +\end{alltt} + +\textruntexconfig + +Here is a minimal annotated example which accepts the default +directories and installs binaries for the current system only. Thus, +only one command is needed, \Ucom{i} for install. The \texttt{>} is the +shell prompt as usual. + +\begin{alltt} +> \Ucom{sh install-tl.sh} +\Ucom{i} # perform installation +> \Ucom{texconfig} ... # see section \ref{sec:texconfig} +# New PATH element, with Linux as the example: +> \Ucom{PATH=/usr/local/texlive/2005/bin/i386-linux:$PATH; export PATH} +\end{alltt} + +\textifindoubt + + +% +\subsection{Installing individual packages to disk} + +You can add individual packages or collections from the current +distribution to an existing non-\TL{} setup, or an earlier +\TL{} installation. + +\startinst + +Run the installation script \filename{install-pkg.sh} (not +\filename{install-tl.sh}, which is intended for complete installations +only): +\begin{alltt} +> \Ucom{sh install-pkg.sh \var{options}} +\end{alltt} + +The first set of options controls what gets read: + +\begin{ttdescription} +\item [-{}-package=\var{pkgname}] The individual package to work on. + +\item [-{}-collection=\var{colname}] The individual collection to work on. + +\item [-{}-nodoc] Exclude documentation files from the operation. + +\item [-{}-nosrc] Exclude source files from the operation. + +\item [-{}-cddir=\var{dir}] Source directory to read from; defaults +to the current directory. If you followed the instructions above, that +will be the distribution directory, and won't need to be changed. + +\item [-{}-listdir=\var{dir}] The so-called `lists' directory within +\var{cddir} from which to read the package information. The only +reason to change the default is if you're making changes to \TL{} +yourself. + +\end{ttdescription} + +What actually happens is controlled by the following options. If +neither of these are specified, the default action is to install the +selected files. The main destination tree is found by expanding +\envname{\$TEXMFMAIN} with \cmdname{kpsewhich}. You can override it by +setting either the environment variable \envname{TEXMFMAIN} or +\envname{TEXMF}. + +\begin{ttdescription} +\item [-{}-listonly] List the files that would be installed, but don't +actually install anything. + +\item [-{}-archive=\var{tarfile}] Instead of installing the files into +the \TeX{} system, make a \cmdname{tar} archive. + +\end{ttdescription} + +Additional options: + +\begin{ttdescription} + +\item [-{}-config] After installation, run \code{texconfig init}. + +\item [-{}-nohash] After installation, don't run \cmdname{mktexlsr} to +rebuild the filename database. + +\item [-{}-verbose] Give more information as the script runs. + +\end{ttdescription} + +Here are some usage examples: + +\begin{enumerate} + +\item To see the files in the package \pkgname{fancyhdr} without +installing it: + +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=fancyhdr --listonly} +\else> \Ucom{sh install-pkg.sh --package=fancyhdr \bs} +> \Ucom{--listonly} +\fi{} +texmf/doc/latex/fancyhdr/README +texmf/doc/latex/fancyhdr/fancyhdr.pdf +... +\end{alltt} + +\item Install the \LaTeX{} package \pkgname{natbib}: +\begin{alltt} +> \Ucom{sh install-pkg.sh --package=natbib} +\end{alltt} + +\item Install the \LaTeX{} package \pkgname{alg} without source files or +documentation: +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=alg --nosrc --nodoc} +\else> \Ucom{sh install-pkg.sh -{}-package=alg \bs} +> \Ucom{-{}-nosrc -{}-nodoc} +\fi\end{alltt} + +\item Install all the packages in the collection of additional +plain \TeX\ macros: +\begin{alltt} +> \Ucom{sh install-pkg.sh --collection=tex-plainextra} +\end{alltt} + +\item Write all files in the \pkgname{pstricks} package to a +\cmdname{tar} file in \path|/tmp|: +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=pstricks --archive=/tmp/pstricks.tar} +\else +> \Ucom{sh install-pkg.sh -{}-package=pstricks \bs} +> \Ucom{-{}-archive=/tmp/pstricks.tar} +\fi\end{alltt} + +\end{enumerate} + +\textifindoubt + + +% +\section{Post-installation} +\label{sec:postinstall} + +After the main installation is done, for any operating system, the +remaining steps are to configure the system for your local needs, and +perform some basic tests. + +Another sort of post-installation is to acquire packages, fonts, or +programs that were not included in \TL{}. The basic idea is to +install such additions in the \envname{TEXMFLOCAL} tree (if you +installed to disk), or \envname{TEXMFSYSVAR} (if you are running live). +See the ``Installation directories'' option on \p.\pageref{text:instdir}. + +Unfortunately, the details can and do vary widely, and so we do not attempt to +address them here. Here are some external links to descriptions: +\begin{itemize*} +\item +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages} +\item +\url{http://www.ctan.org/installationadvice} +\item +\url{http://www.ctan.org/tex-archive/info/beginlatex/html/chapter5.html#pkginst} +\item +\url{http://www.ctan.org/tex-archive/info/Type1fonts} for +installation information for fonts in particular. +\end{itemize*} + + +\subsection{The \protect\cmdname{texconfig} program} +\label{sec:texconfig} + +At any time after installation, you can and should use the program +\cmdname{texconfig} to configure the system to fit your local needs. It +is installed in the architecture-specific subdirectory +\texttt{TEXDIR/bin/\var{arch}} along with everything else. + +If you run it without arguments, it will enter full-screen mode and +allow you to view and change options interactively. + +You can also run it with various command-line options. Here are some of +the most common (\TL{} is configured for the A4 paper size by default): + +\begin{ttdescription} + +\item [texconfig paper letter] Set default paper size for +various programs and drivers (\cmdname{pdftex}, \cmdname{dvips}, +\cmdname{dvipdfm}, \cmdname{xdvi}) to be \acro{US} letter. The other +allowable size is \optname{a4}, which is the default. + +\item [texconfig rehash] Update all the \TeX{} ``filename databases'', +after adding or removing files. + +\item [texconfig faq] Show the \teTeX{} \acro{FAQ}. +(See also the main \TeX{} \acro{FAQ} in \OnCD{texmf-doc/doc/english/FAQ-en}.) + +\item [texconfig help] Output help information for \cmdname{texconfig}. + +\end{ttdescription} + +Of course, \cmdname{texconfig} can only support changing a few of the +many options and configuration parameters in a \TeX{} system. The main +configuration file for the base \Webc{} programs is named +\filename{texmf.cnf}. You can find its location by running +\samp{kpsewhich texmf.cnf}; it contains many comments explaining the +default settings and useful alternatives. + +As of 2005, \cmdname{texconfig} alters files in a user-specific +directory, namely \dirname{$HOME/.texlive2005}. If you install \TeX\ +just for yourself, that is unlikely to make a difference. But if you +install \TeX\ on a multi-user system, you will want to change the +configuration for the whole system. In this case, run +\cmdname{texconfig-sys} instead of \cmdname{texconfig}. + +Likewise, the \cmdname{updmap} and \cmdname{fmtutil} scripts were +changed, to work under \dirname{$HOME/.texlive2005}. To alter system +directories, use \cmdname{updmap-sys} and \cmdname{fmtutil-sys}. + +In particular, for multi-user systems, you will probably want to +pregenerate the standard formats with \texttt{fmtutil-sys --missing}. +Otherwise, each user will end up with their own formats. + +Also, if you have a personally-modified copy of \filename{fmtutil.cnf} +or \filename{updmap.cfg}, instead of using the ones generated by +installation, they must be installed in the tree referenced by the +variable \envname{TEXMFSYSCONFIG}. + +The variables specifying the directories altered by these commands are +listed in section~\ref{sec:texmftrees}, \p.\pageref{sec:texmftrees}. +You can see the actual directories by running \texttt{texconfig conf}, +and you can change them by editing \filename{texmf.cnf}. + + +\subsection{Testing the installation} +\label{sec:test-install} + +After installing \TL{} as best you can, you naturally want to test +it out, so you can start creating beautiful documents and\slash or fonts. + +This section gives some basic procedures for testing that the new system +is functional. We give Unix commands; under \MacOSX{} and Windows, +you're more likely to run the tests through a graphical interface, but +the principles are the same. + +\begin{enumerate} + +\item Make sure that you can run the \cmdname{tex} program in the first +place: + +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.141592 (Web2C 7.5.5) +kpathsea version 3.5.5 +... +\end{alltt} +If this comes back with `command not found' instead of version and +copyright information, most likely you don't have the correct +\dirname{bin} subdirectory in your \envname{PATH}. See +the environment-setting information on \p.\pageref{text:path}. + +\item Process a basic \LaTeX{} file: +\begin{alltt} +> \Ucom{latex sample2e.tex} +This is pdfeTeXk, Version 3.141592... +... +Output written on sample2e.dvi (3 pages, 7496 bytes). +Transcript written on sample2e.log. +\end{alltt} +If this fails to find \filename{sample2e.tex} or other files, perhaps +you have interference from old environment variables or configuration +files. For a deep analysis, you can always ask \TeX{} to report on +exactly what it is searching for, and finding; see ``Debugging actions'' +on page~\pageref{Debugging}. + +\item Preview the result online: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} +\end{alltt} +(Under Windows, the analogous command is \cmdname{windvi}.) You should +see a new window with a nice document explaining some of the basics of +\LaTeX{}. (Well worth reading, by the way if you're new to the system.) +You do have to be running under X for \cmdname{xdvi} to work; if you're +not, or your \envname{DISPLAY} environment variable is set incorrectly, +you'll get an error \samp{Can't open display}. + +\item Create a \PS{} file for printing or display: +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item Create a \acro{PDF} file instead of \dvi{}; this processes the +\filename{.tex} file and writes \acro{PDF} directly: +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item Preview the \acro{PDF} file: +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{or:} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} +Unfortunately neither \cmdname{gv} nor \cmdname{xpdf} are currently +included in \TL{}, so you must install them separately. See +\url{http://www.gnu.org/software/gv} and +\url{http://www.foolabs.com/xpdf}, respectively. + +\item Other standard test files you may find useful: + +\begin{ttdescription} +\item [small2e.tex] A simpler document than \filename{sample2e}, to +reduce the input size if you're having troubles. +\item [testpage.tex] Test if your printer introduces any offsets. +\item [nfssfont.tex] For printing font tables and tests. +\item [testfont.tex] Also for font tables, but using plain \TeX{}. +\item [story.tex] The most canonical (plain) \TeX{} test file of all. +You must type \samp{\bs bye} to the \code{*} prompt after \samp{tex +story.tex}. +\end{ttdescription} +You can process these in the same way as we did with +\filename{sample2e.tex}. + +\end{enumerate} + +If you are new to \TeX{}, or otherwise need help with actually +constructing \TeX{} or \LaTeX{} documents, please visit +\url{http://tug.org/begin.html} for some introductory resources. + + +\section{\MacOSX{} installation} +\label{sec:mac-install} + +The recommended way to install \TeX\ on \MacOSX\ is from the Mac\TeX\ +distribution, new in 2005. This is provided on the \pkgname{live} +\DVD{} in the top-level \dirname{mactex/} directory. It contains its +own (native) installer for a full \TeX\ distribution, based on a +combination of te\TeX\ and \TL, along with many additional applications +and documentation. The project web page is \url{http://tug.org/mactex}. + +If you prefer, installation of \TeX{} under \MacOSX{} can also be done +directly from \TL, using the \filename{install*} scripts, as follows. + +In order to run the installation scripts under \MacOSX, you need to have +the \cmdname{bash} shell installed. If you are running \MacOSX~10.2 +or later, you have \cmdname{bash}, and can proceed. If you're running +an earlier \MacOSX{} version, however, the default shell is +\cmdname{zsh}, which won't work; you'll need to get \cmdname{bash} from +the Internet, or more likely upgrade your system. + +Once you have \cmdname{bash}, the Unix installation documentation in the +previous section can be followed. See section~\ref{sec:unix-install} on +\p.\pageref{sec:unix-install}; \MacOSX-specific notes are included there +where needed. + +\section{Windows installation} +\label{sec:win-install} + +In this release of \TL{}, happily, the distribution once +again has a native Windows installer, named \cmdname{tlpmgui.exe}. (See +section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}, for an +explanation of the different distributions.) + +\cmdname{tlpmgui} has essentially the same options as the Unix +installer, only done through a GUI interface: selecting schemes, +individual collections, installation directories, and so on. +Section~\ref{sec:unix-install-disk} on +\p.\pageref{sec:unix-install-disk} describes the basic elements. It +also allows some post-installation activities such as adding/removing +packages, updating the filename database and building formats. +Moreover, \cmdname{tlpmgui} can setup the system for running +programs directly from the \DVD. + +For those who like to look underneath the hood, \cmdname{tlpmgui} uses +as its ``engine'' a command-line Windows program named \cmdname{tlpm}. + +The Windows \TeX{} system included in \TL{} is based on new binaries +borrowed from the \XEmTeX{} project, formerly known as \fpTeX{} (see +\url{http://www.metz.supelec.fr/~popineau/xemtex-1.html}). +It also includes some older (but still working) tools, notably +a \texttt{dvi} previewer, \textsf{Windvi}, which is similar in usage to +the established Unix \textsf{xdvi}. The documentation can be found in +\OnCD{texmf/doc/html/windvi/windvi.html}. + +\TL{} can be installed on systems running Windows 98, \acro{ME}, +\acro{NT}, \acro{2K} or \acro{XP}. Older versions of Windows (3.1x) +and \acro{MS-DOS} are not supported. + +\textbf{Warning:} Win9.x users must ensure they have enough environment + space before undertaking installation. The \cmdname{tlpmgui.exe} + program won't change the environment size for them. A few environment + variables will be created and it is possible you run out of + environment space. Add \texttt{SHELL=<path>COMMAND.COM /E:4096 /P} in the + config.sys file in order to increase your environment size. + +\subsection{Installing \protect\TeX\protect\ Live to disk} + +After inserting the \TL{} CD into the \acro{CD} drive, autostart should +activate \cmdname{tlpmgui}. If it does not, click \guiseq{Start\arw Run}, +then type \verb|<drive letter>:\setup-win32\tplmgui.exe| (or +\verb|<drive letter>:\texlive\setup-win32\tplmgui.exe| if you are +installing from the TeX Collection DVD), where \verb|<drive letter>| +is the drive letter with the TeX Live CD (or TeX Collection DVD), and +then click OK. + +The installation window titled \guiseq{TeX Live installation and maintenance +utility} should open. It contains the following sections: \guiseq{Main +customization}, \guiseq{Install}, \guiseq{Select a scheme}, \guiseq{Select +systems}, \guiseq{Directories} and \guiseq{Options}. + +In the \guiseq{Directories} section the installation drive (directory) next +to the \guiseq{CD/DVD} button should be displayed (e.g., \texttt{F:/} or \texttt{F:/texlive/} for the DVD), but +if it is not, then click the \guiseq{CD/DVD} button and select the \acro{CD/DVD} +drive, with the \TL{} CD (or TeX Collection DVD). + +The directory in which you wish to install the software can be set by +clicking the \guiseq{TLroot} button. This directory will be set as +\path|TLroot| environment variable for later usage. The \path|TEXMFTEMP| and +\path|TEXMFCNF| environment variables as displayed next to the +\guiseq{TEXMFTEMP} and \guiseq{TEXMFCNF} buttons will be adjusted +automatically and set during installation, but they can also be adjusted +manually now to suit special needs. + +In the \guiseq{Select a scheme} section the desired \TL{} installation scheme +should be chosen by clicking the radio button labelled with the installation +scheme name (e.g., \guiseq{scheme-gust}). Each scheme is accompanied by an +\guiseq{Info} button which, when clicked, displays a short description of the +relevant scheme. + +A scheme is a large set of files targeted at some kind of usage. There are +generic schemes for basic, medium and full installations. The remaining ones +are either targeted at certain LUGs (i.e., what GUST or GUTenberg propose +for their members) or application targeted (e.g., for XML and \TeX{} +cooperation). A preselected scheme can be refined. This is done in the +\guiseq{Main customization} section by choosing additional collections from +\guiseq{Standard collections} or \guiseq{Language collections}. For example, +by clicking the \guiseq{Select} button labelled \guiseq{Standard +collections}, additional collections like Metapost, Omega or documentation +in different languages can be selected. + +\textbf{Note:} The \guiseq{Ghostscript}, \guiseq{Perl} and \guiseq{Wintools} +collections are selected by default and should be installed unless they are +already installed and you really know what you are doing. This is because +they are required by many important tools. The \verb|PERL5LIB| and +\verb|GS_LIB| environment variables will be set too. + +Next, clicking the \guiseq{Select} button labelled \guiseq{Language +Collections} in the \guiseq{Main customization} section opens the +\guiseq{Language collections} window in which the installation language can +be chosen by ticking the box next to the language. + +Next, click the \guiseq{Install} button in the \guiseq{Install} section to +start the installation proper process. + +The \TL{} system needs some post-processing steps (format files +generation, ls-R databases generation, environment variables, etc.). All +these operations are done there, some of them can be lengthy. So please wait +until you see a statement about the successfully finished installation. + +The shortcut for \cmdname{tlpmgui} will be added to the +\guiseq{Start\arw Programs\arw TeXLive2005} menu. + +If it is needed (Win9x/WinME), you will be asked to reboot your computer. + +\subsection{Support packages for Windows} +\label{sec:win-xemtex} + +To be complete, a \TL installation needs support packages that are not +commonly found on a Windows machine. Many scripts are written using the Perl +language. Some important tools require the Ghostscript \PS{} interpreter to +render or to convert files. A graphic file toolbox is also needed in some +cases. Last but not least, a \TeX-oriented editor makes it easy to type in +your \TeX{} files. + +All these tools are quite easy to find for Windows, but in order to try to +make your life even easier, we have put such a set of tools on \TL: +\begin{itemize*} +\item GNU \cmdname{Ghostscript} 7.07 +\item a minimal \cmdname{Perl} 5.8, sufficient to run all the \TL{} + Perl scripts. +\item win-tools is a set of small programs (bzip2, gzip, jpeg2ps + and tiff2png) +%\item a subset of \cmdname{ImageMagick} 5.5.6 +%\item the \cmdname{ISpell} checker +%\item \cmdname{XEmacs} 21.5.14 with a selection of packages to support +%\TeX{} typesetting. +\end{itemize*} + +These packages are borrowed from the \XEmTeX{} distribution +(the successor of fp\TeX). + +Perl and Ghostscript are installed by default; you may explicitly +deselect them during installation if you already have them. + +If you don't want to install this bundle, then you are on your own to +install the required tools to complete your \TL{} system. Here is a +list of places to get those tools: + +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.activestate.com/} (but you might need some + supplementary packages from CPAN: \url{http://www.cpan.org/}) +\item[ImageMagick] \url{http://www.imagemagick.com} +\item[NetPBM] alternatively, you could use NetPBM instead of ImageMagick to + process or convert your graphic files. NetPBM home page is + \url{http://netpbm.sourceforge.net/} +\item[\TeX-oriented editors] There is a wide choice, and it is a matter of the + user's taste. Here is a selection: + \begin{itemize*} + \item \cmdname{GNU Emacs} is available natively under Windows, see + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html} + \item \cmdname{XEmacs} is available natively under Windows, see + \url{http://www.xemacs.org/} + \item \cmdname{WinShell} is available on \TL in the \path|support| + directory, see \url{http://www.winshell.de} + \item \cmdname{WinEdt} is shareware available from \url{http://www.winedt.com} + \item \cmdname{Vim} is available on \TL{} in the + \path|support\vim| directory and the + reference site is \url{http://www.vim.org} + \item TeXnicCenter is free software, available from + \url{http://www.toolscenter.org} and in the proTeXt distribution. + \item \cmdname{LEd} is available from \url{http://www.ctan.org/support/LEd} + \item \cmdname{SciTE} is available from \url{http://www.scintilla.org/SciTE.html} + \end{itemize*} +\end{description} + +You might want to install other tools that are not free\footnote{Not +free, that is, in the sense of freedom to modify and redistribute, +following free software guidelines. This does not mean you can't acquire +them for no money.} and therefore not included on \TL{}, such as +\cmdname{GSView}, the \cmdname{Ghostscript} companion to more +conveniently view PS/PDF files. \cmdname{GSView} is available from +\url{http://www.cs.wisc.edu/~ghost/gsview/} or any \acro{CTAN} site. + +\section{Maintenance of the installation in Windows} + +If you have TeX Live installed, you can use \cmdname{tlpmgui} again +for modyfying and maintaining your installation. + +\subsection{Adding/removing packages} + +As the \cmdname{tlpmgui} shortcut is available in the \guiseq{Start\arw +Programs\arw TeXLive2005} menu, start it from here. The maintenance window +titled \guiseq{TeX Live installation and maintenance utility} shows. It +contains several tabs: \guiseq{Add Packages}, \guiseq{Remove packages}, +\guiseq{Manage installation}, \guiseq{Remove installation}. + +Click the tab labelled \guiseq{Add packages} or \guiseq{Remove packages} +to enter the relevant functionality and then: + +\begin{itemize} +\item In the first tab select the proper \CD{} drive (or \DVD with + \texttt{texlive} directory) by pressing the \guiseq{CD/DVD} button. +\item Click the \guiseq{Search} button in the \guiseq{Buttons} section to +display or refresh in the \guiseq{Select packages to\dots} section the +list of packages to install or remove. + +When adding packages, the list of installed packages is compared to the list +of packages available from your \CD/\DVD. Only packages not already installed are +displayed. It is up to you to select which packages you want to +install. + +When removing individual packages, only a list of installed packages +will be displayed. + +Please note that for both \guiseq{Add packages} and \guiseq{Remove packages} +the collections are listed first. + +\item Select a package by clicking on the name of the package. Clicking the +\guiseq{Info} button in the \guiseq{Buttons} section displays a short +description of the selected package in the window located in the \guiseq{Info +about the selected item} section. To select several packages at once hold +down one of the Ctrl or Shift keys at your keyboard while holding down the +left mouse button or drag the mouse pointer while holding down the left mouse +button. + +\item Click the \guiseq{Install} or \guiseq{Remove} button in the +\guiseq{Buttons} section to perform the appropriate action. +\end{itemize} + +\subsection{Configuring and other management tasks} + +The functions available in the tab labelled \guiseq{Manage the installation} +are helpful in performing actions needed when you want to add support for a +language which was not selected during the installation, or add/regenerate a +format which was not selected during the installation or was modified after +the installation. + +The following actions can be performed: + +\begin{itemize} +\item Refresh the \filename{ls-R} database +\item Create formats (All or Missing) +\item Edit \filename{language.dat} +\item Edit \filename{fmtutil.cnf} +\item Edit \filename{updmap.cfg} +\end{itemize} + +Note: you can close the Edit\dots{} window with the \guiseq{Cancel} or +\guiseq{Done} button; the latter will start rebuilding the format files +(or the fontmap files if you have edited \filename{updmap.cfg}), followed by a +\filename{ls-R} database files refresh. + +For more information about the configuration see section~\ref{sec:persconf}, +\p.\pageref{sec:persconf}. + +\subsection{Uninstalling \protect\TL{}} + +The tab labelled \guiseq{Remove the TeX Live installation} opens a window +which contains functionality not worth describing and we do not know who would +need it and what it is for\dots :-) + +Anyway, if you have the \path|texmf-local| directory for your local additions, +the removal procedure will not wipe it out or delete things in it. The \path|setup-win32| +directory containing \cmdname{tlpmgui} and related files will not be deleted. You will have to do some manual cleanup to +actually remove them. + +\subsection{Adding your own packages to the installation} + +First, whatever changes you make, \textbf{do not forget to rebuild the ls-R +database files}. Otherwise, your new files will not be found. You can do this +either via the \cmdname{tlpmgui} run and selection of the appropriate action +from the \guiseq{Manage the installation} tab, or manually running the +\file{mktexlsr} command. + +If you want to add files that are not provided by the \TL{} distribution, +it is recommended to put them in the \path|$TEXMFLOCAL| directory. This +way, you will be safe against upgrades of the \TL{} software. + +The directory pointed to by \path|$TEXMFLOCAL| is initially empty. If, +for example, you want to add the support file for the Maple symbolic +computation program, you will have to put the style files in:\\ +\path|c:\TeXLive2005\texmf-local\tex\latex\maple\|\\ and the +documentation files in:\\ \path|c:\TeXLive2005\texmf-local\doc\latex\maple\| + +\subsection{Running \texttt{tlmp.exe} from the command line} +The \cmdname{tlpm.exe} program which is used as engine by \cmdname{tlpmgui} +has a number of other useful options. You can get the list by running: +\begin{verbatim} +tlpm --help +\end{verbatim} + +More information and examples of use can be found in \path|tlpm.readme|. + +\subsection{Network installation} + +\KPS{} knows about UNC names, so you can use them to get your TEXMF +tree from the network. But there is better than this. +All the support files and configuration files, everything except the files in the +\path|bin/win32| are shareable with a \teTeX{} or Unix \TL{} installation. That means +you can use Samba either to mount from an NT server to a Unix +workstation or the converse. Several strategies are possible: +\begin{itemize} +\item Put everything on the server. Just add each set of files for the OS and +architecture you want to use in the \path|bin| directory. That means +for example \path|bin/win32| and \path|bin/i386-linux|. Next configure +your main variables. You can use UNC names to +point to the right directories under Win32. +\item Install a local copy for the binaries and format files. In this + case, assign \path|$TEXMFMAIN| to the main \path|texmf| tree that + will be accessed remotely. Set \path|$TEXMFVAR| to be a local + directory which will hold local configuration files and on-the-fly + generated files. +\end{itemize} + +\subsection{What's different in Windows?} + +The Windows version of \Webc{} has some specific features that should be +pointed out. + +\begin{description} +\item[\KPS{}] The hash-tables that \KPS{} builds are quite large for + the \TL{}. In order to cut down the starting time of any + \KPS{}-enabled program, these hash-tables have been put in shared + memory. This way, when you chain the execution of several such + programs, like \path|tex| calling \path|mpost| calling \path|tex|, + the overhead when starting each of the subprograms is + reduced. This change is hidden to the user, except if you set the + debug flag of kpathsea to the \path|-1| value: you will then trace + access to the shared memory, which is not what you want (it is + accessed very often!). What is useful in a log trace of the shared + memory access is still to be defined, so the situation might evolve + in the future. +\item[\cmdname{kpsecheck}] This command provides some options that did + not fit well into \cmdname{kpsewhich}. It will allow you to list all + the files that occur multiple times across your texmf trees. This + could be handy, but most of the time you will also get unwanted + output (like dozens of \path|README| files). It is noticeable + that all these files result in clashes inside the \KPS{}-hashing + mechanism; fortunately, \KPS{} never looks for these files. For + this reason, you can combine the \path|-multiple-occurrences| with 2 + other options for including or excluding any filename that match + some pattern (you can request for several patterns). + + The \cmdname{kpsecheck} command will also report the status of shared + memory: in use or not used. That might be useful to know because if + the status reported is \samp{in use}, that means one or several + processes are working, and the effect of any \cmdname{mktexlsr} + command will be delayed until the next time where no \KPS{} linked + process will be running. + + Last, this same command will report about the location it thinks + Ghostscript can be found. Under Win32, for many programs, it is + easier to use the Ghostscript dll, and find it by using the + Ghostscript registry key than to change the \path|PATH|, which has a + limited length anyway. +\item[\Webc{}] The engines have a few more options than in Unix + \Webc{}, and one option with a different behavior: + \begin{itemize} + \item \path|-halt-on-error| stop the compilation at the first error. + \item \path|-job-time| set the job time to the same timestamp as the + file given in argument. +\item \path|-oem| use the DOS codepage for console output. + \item \path|-output-directory| allow to write all the output files in the + specified directory. + \item \path|-time-statistics| print statistics about the job run + time. It is to be noted that Win9x not being a true multitasking + operating system, it has no reliable timer for short periods, so + the value printed is an approximation. Under NT/2K/XP, the result + is quite accurate with user time and system time values allocated + for this run. For Unix + users: the \path|time| command is not usually available to Windows + users. + \end{itemize} +\end{description} + +\subsection{Personal configurations} +\label{sec:persconf} + +\subsubsection{Dvips} + +The configuration file for dvips can be found in\\ +\verb+C:\TeXLive2005\texmf-var\dvips\config\config.ps+\\ +You may open it with any editor + %(\cmdname{WinShell} will do fine) + and change some parameters: + +\begin{description} +\item [fonts] you can change the default printer \MF{} mode or printer + resolution in case \cmdname{dvips} needs to generate PK fonts. By default it + is configured to use Type~1 versions of the CM fonts, so it should + not call \cmdname{mktexpk} too often; +\item[printer] you can tell dvips where you want to print by default. If + the \optname{o} option is not followed by a printer name, then a + \file{.ps} \PS{} file is written. You can give dvips a printer + name such as: +\begin{verbatim} +o lpt1: +% o | lpr -S server -P myprinter +% o \\server\myprinter +\end{verbatim} +\item[paper] Next, you might want + to change the paper size from European (A4) to US letter + by making the US letter the first paper size mentioned in the file. + Scroll to the group of lines beginning with \code{@}. Move + the appropriate lines so that this section begins with the lines:\\ +\hspace*{1em} @ letterSize 8.5in 11in\\ +\hspace*{1em} @ letter 8.5in 11in\\ +\hspace*{1em} @+ \%\%BeginPaperSize: Letter\\ +\hspace*{1em} @+ letter\\ +\hspace*{1em} @+ \%\%EndPaperSize +\end{description} + +The current \TL{} distribution implements the procedure of making +always up-to-date fontmaps files for Dvips and Pdftex. This is done by +the \cmdname{updmap} program during installation, as well as during any +font package addition. If you add new packages by hand, edit the file +\verb+updmap.cfg+ in \path|$TEXMFVAR/web2c|. + +\subsubsection{PdfTeX} + +If you use the program pdf{}latex to write \acro{PDF} format directly, +and you are using \acro{US} letter-size paper, edit the file +\verb+C:\TeXLive2005\texmf-var\tex\generic\config\pdftexconfig.tex+ and +change \samp{\bs pdfpagewidth} and \samp{\bs pdfpageheight}. These entries +should read: +\begin{alltt} +\bs{}pdfpagewidth=8.5 true in +\bs{}pdfpageheight=11 true in +\end{alltt} +Save the file and exit the editor. + +\subsubsection{GSView} +GSView is now distributed under the Aladdin License, and therefore is no +longer included in \TL{}. + +If you may want to change the page size to US letter size. If so, open +GSView from the \guiseq{Start} menu, and select \guiseq{Media\arw Letter}. + +Also, there are menu settings that are supposed to give you the most +readable screen image. On \guiseq{Media \arw Display Settings}, set both +\optname{Text Alpha} and \optname{Graphics Alpha} to 4~bits. + +Note that the installation process has set all \code{.ps} and +\code{.eps} files to automatically open with \cmdname{GSView}. + +For printing instructions, see section~\ref{printing} below. + +\subsubsection{WinDvi} +\label{sub:windvi} + +The \file{tlpmgui.exe} program takes care of associating the files +with the \file{.dvi} extension with \file{Windvi}, but it doesn't make an icon +on the desktop, so please do it yourself. + +Open \cmdname{windvi} by clicking an icon or from the command line. + +You can set it for US letter-size paper by going to \guiseq{View\arw +Options\arw Papertype} and selecting US (8.5\verb+"+ x 11\verb+"+) (and +then \optname{OK}. Exit \cmdname{windvi}. + +You can change other parameters from there as well, such as the ability +to execute system commands specified by the document (disabled by +default for security reasons). Also, the first time you view any .dvi +file, you may find the magnification too large. Zoom out until you get +an appropriate size. + +All configuration settings for \cmdname{windvi} are stored in a file +named \path|windvi.cnf| file. You can find it by running this command at +the prompt: +\begin{verbatim} +c:\>kpsewhich --expand-var $HOME/windvi.cnf +\end{verbatim} + +Should you have problems with \cmdname{windvi}, please remove the +configuration file and test your problem against a vanilla configuration. + +\subsection{Testing} + +For generic verification procedures, see section~\ref{sec:test-install} +(\p.\pageref{sec:test-install}). This section describes +Windows-specific tests. + +Open the file \verb+sample2e.tex+ in your editor (Xemacs, WinShell), +found in \path|C:\TeXLive2005\texmf-dist\tex\latex\base|. The \LaTeX\ source +should appear on the screen. Process it by clicking on the +\guiseq{Command\arw LaTeX} menu (XEmacs) or \LaTeX\ icon on the toolbar +(WinShell), then view it by clicking on the \guiseq{Command\arw View DVI} +menu (XEmacs) or Preview (Windvi) icon (WinShell). + +At first, when you preview files with Windvi, it will create fonts because +screen fonts were not installed. After a while, you will have created most +of the fonts you use, and you will rarely see the font-creation window. + +\textbf{Hint for the future:} If a \LaTeX\ run stops because \LaTeX\ +cannot find a file, you can press Ctrl-z to quit. + + +\subsection{Printing} +\label{printing} + +It is possible to print from Windvi. In this case, printing will be done +using the Windows unified printer driver. By definition, it is +compatible with all printers. However, there is some drawback: it can +generate some huge spool files, and some (older) versions of Windows +just don't like them. The advantage is that you can use features like +embedding BMP or WMF images. You also need to make sure that the printer +parameters are correctly set (subsection~\ref{sub:windvi}), else you +will get scaled printing (printing at 600\dpi{} on a 300\dpi{} printer +will give you only one quadrant of your page). + +Printing is faster and more reliable if you run \cmdname{dvips} to make +a \filename{.ps} file and then print from \cmdname{GSView}. In +\cmdname{GSview}, select \guiseq{File\arw Print\ldots}. A \guiseq{Print} +window will appear. + +If you are using a \PS{} printer, \textit{be sure to select +\guiseq{\PS{} Printer}}. This is done in the \guiseq{Print Method} box +at the bottom left of the \guiseq{Print} window. You can then select any +of the printers that you have previously installed. If you fail to +check the box for \optname{\PS{} Printer}, printing will not work. + +If you will be using your own non-\PS{} printer, select +\guiseq{Ghostscript device} in the \guiseq{Print Method} box, then click +on the button to the right labelled \guiseq{djet500} and select your +printer type from the list that pops up. (In the older version of +\cmdname{GSView}, make sure \optname{\PS{} Printer} is \textit{not} +selected, then select your printer type from the \guiseq{Device} list.) + +\subsection{Tips and tricks for Win32} + +\subsubsection{Different flavors of Win32} + +What we call Win32 is not an operating system by itself. It is a large +set of functions (around 12,000 in the header files of the Microsoft +\acro{SDK}) that you can use to write programs for different operating +systems of the Windows family. + +Windows comes in different flavors: +\begin{itemize} +\item Win95, Win98 and Win\acro{ME}, which \emph{are not true multitasking, + multithreading} environments. They are the latest\Dash and hopefully + last\Dash metamorphosis of \acro{DOS}. This can be more or less proven + by the fact that when booting, the PC will load the \path|command.com| + interpreter, and if you stop the boot process at this point, you can + ask for the current (\acro{DOS}) version and it will answer something + like \samp{MS-DOS 7.0} (at least for the old versions of Win9x). +\item Windows \acro{NT}, which is a new operating system written from + scratch, capable of true multitasking behavior, and including many + high level features. +\item Windows 2000, based on \acro{NT}, with all the bells and + whistles of Win98. +\item Windows \acro{XP}, which comes with Personal and Pro flavors. This is + the last step in merging both lines of products (Win9x based and + \acro{NT} based). \acro{XP} is based on \acro{NT}. +\end{itemize} + +Win9x are able to run 32~bits programs and 16~bits programs +concurrently. But the operating system by itself is not entirely +written in 32~bits mode, and does not support memory protection: 16bits +applications can overwrite parts of the operating system memory! Some +parts of the system like the \acro{GDI} (Graphical Device Interface) +manage limited resources like bitmaps, fonts, pens and so on for the set +of all programs that run concurrently. All the bitmaps headers available +at the same time can't amount for more than 64kB. This explains the +performance tool and the fact that you can put your system on his knees +by making intensive use of graphic objects for example. + +NT, 2K and XP do not suffer from these limitations, and neither from +other Win9x limitations. They are true multitasking environments, with +protected memory. They are much more responsive than Win9x because +of better memory management, better file system and so on. + +\subsubsection{Command line prompt} + +You may wonder, ``Why would I need to use a command line prompt when +I have Windows?'' + +Good question. The problem is of very general nature. Not all operations +can be done easily using only a \acro{GUI}. Command line gives you +programming power\Dash assuming a clever command interpreter. + +But the problem here is more fundamental: \TeX{} is \emph{a batch} +tool. Not an interactive one. \TeX{} needs to compute the best +layout for each page, resolve cross-references and so on. This can be +done only by a global processing of the document. It is not (yet) a +task that can be done interactively. + +This means that you should use \TeX{} from a command line. In fact the +situation is not so bad. There is an advantage to write command line +tools for complex processing: they are better debugged, because they are +independent of any \acro{GUI} problems, and \acro{GUI} tools can be +designed to interface to the command line tools. This is the case for +\TeX{}, where you will mostly interact with it through a \acro{GUI} text +editor. + +However, you may need to use the command line prompt in a number of +situations. One is when you are having difficulties and want to debug +your setup. + +\begin{description} + \item[Win9x] You can open a command line prompt by looking either for + the \acro{MS-DOS} icon in the \guiseq{Start\arw Programs} menu, + or by choosing \guiseq{Start\arw Run} menu typing in + \path|command.com| as the progrm name. + \item[NT, 2K, XP] You can open a command line prompt by looking for + \guiseq{Command Prompt} in the \guiseq{Start\arw Accessories} menu. + You can also choose \guiseq{Start\arw Run} and type in + \path|cmd.exe|, which is the name of the brand new command + interpreter for \acro{NT} (thus, it is untrue to call this a + \emph{DOS} box!). +\end{description} + +These locations may change across different Windows versions. + +\subsubsection{Path separators} + +The Win32 API understands both \path|/| and \path|\| characters as PATH +separators. But the command interpreters do not! So whenever a path name +is used programmatically, you can use both separators, and even mix them +up in the same path name. But on the command line, you must type +\path|\| as path separator. The reason is compatibility: the command +processor used \samp{/} to introduce arguments to commands. + +All this to say: do not be surprised to read path names written using +the Unix convention; \fpTeX{} is a port of \Webc, and aims to be compatible +across platforms. For this reason, all the configuration files that +need to specify path names use the Unix convention. + +\subsubsection{File systems} +\label{sec:clusters} + +The worst feature of Win9x with regard to \TeX{} is probably the +so-called FAT file system. \TeX{} uses very many small files, with size +around 1--3kB. The \acro{FAT} file system is old, and predates by +decades the multi-gigabytes hard disks we have today. As a result, it +cannot manage efficiently the tens of thousands of \TeX{} files found in +\TL{}. The \acro{FAT} file system allocates a minimum of 32kB for +\emph{any} file on a huge partition. It means that \TeX{} will use much +more disk space than it actually needs. + +The other, more modern, file systems available, \acro{FAT32} and +\acro{NTFS}, do not have this drawback. They manage clusters of 4kB +only. (You can lower the limit to 512 bytes on \acro{NTFS}.) + +\subsubsection{How to add some directory to your PATH} + +There are pairs of variables and values which behave much like global +variables inside your programs. The set of those variables is called the +environment. Each program is initialized with a copy of the +environment when it is run. It can request and change the +value of any variable. The changes happen in the copy of the +environment, and is not at all propagated to the other running +programs. + +Your PATH is a special environment variable used to search for +programs you want to run. +There is a different procedure to change it for Win9x, WinME and NT/2K/XP: + +\begin{description} +\item[Windows 95/98] Edit your \path|autoexec.bat|. In this file should be a line + starting with \texttt{PATH=} and followed by a list of directories separated + by \path|;|. Please add the directory with the executables in this line. + After this, this line could look as follows: +\begin{verbatim} +PATH=c:\windows;c:\windows\system;c:\TeXLive2005\bin\win32 +\end{verbatim} +\item[Windows ME] You need to run the special program + \path|c:\windows\system\msconfig.exe| to be able to change any + environment variable. From this program, select the `Environment' + tab, and then add or modify the variable you want. You will be asked to reboot the + machine upon any change. +\item[Windows NT/2K/XP] + Click left on \guiseq{Start \arw Settings \arw Control Panel}. Now the + window with the control panel icons opens. Double click on System. The + System Properties window opens. Click on the tab \textsf{Environment} + or look for a button named \guiseq{Environment Variables} among the + dialog boxes. Now you can change the environment variables for your + user account. Note: There are also displayed the environment settings + for the system. Normally, you can't change the system variables + unless you have administrator rights on your machine. If you want to + change the \texttt{PATH} for all users, you will have to contact your + system administrator or be the system administrator yourself\Dash in + the latter case you should know what you are doing. + + If there is already a \texttt{PATH} setting for your user account, + left click on \texttt{PATH}. In the field \textsf{Variable} appears + \texttt{PATH} while the field Value shows the current setting of + \texttt{PATH} as a list of directories separated by \path|;|. Add + the directory where the executables are located (e.g. + \path|c:\TeXLive2005\bin\win32|). If there isn't a \texttt{PATH} variable + for your user account, simply click in the field Variable and type + in \texttt{PATH}, click in the field \textsf{Value} + and type in the directory with the executables. Important: Click on + the \textsf{Apply} button before clicking \textsf{Ok}, otherwise the + changes to \texttt{PATH} won't apply to your system. Be careful when + changing the environment settings. +\end{description} + +The best way to be sure that a variable has been properly set is to +open a console and type: +\begin{verbatim} +set VARIABLE +\end{verbatim} +which should return the corresponding value. + +\subsubsection{\TeX{} engines} + +If you have a look at the \Webc{} documentation, you will read that all +the various \TeX{} derived programs use the same base engine. For +example, \path|tex.exe| and \path|latex.exe| are exact copies of the +same program, but each one will use a different format file, based on +its calling name. + +Under Unix, this feature is implemented through \emph{symbolic +links}. It saves up a bit of disk space, because some engines are +used with many different format files. + +The Win32 API does not know about file links. So to save up almost +the same amount of memory, all the \TeX{} base engines have been put +in DLLs (\emph{Dynamic Linked Library}). This means that you will have +the following layout: +\begin{alltt} +18/09/2005 14:19 3 584 latex.exe +18/09/2005 14:19 3 584 pdfetex.exe +18/09/2005 14:19 524 288 tl90pdfetex.dll +\end{alltt} +and the \path|latex.exe| file is nothing but a rough copy of +\path|pdfetex.exe| using the same core \path|tl90pdfetex.dll|. +The same trick has been used for the \path|mktex*.exe| family of programs +which are linked to the \path|mktex.dll| library. + +In fact, a generic tool called \path|irun.exe| is provided to build the +equivalent of Unix hard links for executable files only under Win32. + +\subsection{In case of problems} +\label{sec:troubleshooting} + +\subsubsection{What to do if \texttt{latex} does not find your files?} + +\begin{itemize} + +\item \cmdname{kpsewhich} is the tool of choice to debug any +problem. Unfortunately, \cmdname{kpsewhich} outputs debug information +to stderr, and the older Windows consoles do not know how to redirect stderr +to a file. (NT and Windows 2000 consoles know how to do that. But +the trick will work for any console.) For diagnostic purposes you can +temporarily set an environment variable (in a \acro{DOS} box): + +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=err.log +\end{verbatim} +You can also set the debug level: +\begin{verbatim} +SET KPATHSEA_DEBUG=-1 +\end{verbatim} + +If you want to redirect stderr to stdout, which is not possible +Windows, then do: +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=con: +\end{verbatim} +This way you can capture both stdout and stderr in the same file. + +\item Assuming the installation has been done in \path|c:/TeX|, check + the following values: \\ + {\small + \begin{tabular}{ll} + \path|kpsewhich -expand-path $SELFAUTOPARENT| & \path|c:/TeX| \\ + \path|kpsewhich -expand-path $TEXMF| & \path|c:/TeX/texmf....| \\ + \path|kpsewhich -expand-path $TEXMFCNF| & + \path|.;c:/TeX/texmf-var/web2c;| \\ + \path|kpsewhich -expand-var $TEXINPUTS| & \path|.;c:/TeX/texmf/tex//| + \end{tabular} +} +\item If you have other \TeX{}-related values already set in your + environment, please, remove them. They are overriding the ones in + texmf.cnf. +\item Check the values from:\\ +{\small + \begin{tabular}{ll} + \texttt{kpsewhich cmr10.tfm} & \path|c:/TeX/texmf/fonts/tfm/public/cm/cmr10.tfm|\\ + \texttt{kpsewhich latex.fmt}& \path|c:/TeX/texmf/web2c/latex.fmt| + \end{tabular} +} +\item At this point, if everything is correct, \TeX{} and friends + should work. If it is not the case, you will need to play with + the \path|-debug=n| option from \path|kpsewhich|, and check back all + the values. Try to identify and report the problem. +\end{itemize} + +\subsubsection{What to do if your setup still does not work as expected?} + +Here are several questions to investigate: + +\begin{enumerate} +\item Is \file{tex.exe} in my \path|PATH|? + +\item Is the \path|TEXMFCNF| variable correctly set to +\path|c:/TeXLive2005/texmf-var/web2c| (default value)? + +\item Are there any errors in the log file generated by the +\file{tlmpgui.exe} program? +\file{tlmpgui.log} can be found in your +\file{TEMP} directory. You can find this by searching for the +string \samp{Error}. Hint: the log file can show some errors after +building all format files. Please do not panic: perhaps some formats +weren't already installed. + +\item Are there any relevant bug fixes at \url{http://tug.org/texlive/}? +(Unlikely, but it doesn't hurt to check.) + +\end{enumerate} + +The \TL{} software consists of hundreds of programs and tens of +thousands of files, all from varying sources. So it is quite difficult to +predict all possible causes for problems. Nevertheless, we will do our +best to help you. (See section~\ref{sec:help}, \p.\pageref{sec:help}.) + +% don't use \Webc so the \uppercase in the headline works. +\section{A user's guide to Web2C} + +\Webc{} is an integrated collection of \TeX-related programs: \TeX{} +itself, \MF{}, \MP, \BibTeX{}, etc. It is the heart of \TL{}. + +A bit of history: The original implementation was by Tomas Rokicki who, +in 1987, developed a first \TeX{}-to-C system based on change files +under Unix, which were primarily the original work of Howard Trickey and +Pavel Curtis. Tim Morgan became the maintainer of the system, and +during this period the name changed to Web-to-C\@. In 1990, Karl Berry +took over the work, assisted by dozens of additional contributors, and +in 1997 he handed the baton to Olaf Weber. + +The \Webc{} system runs on Unix, 32-bit Windows systems, \MacOSX{}, and +other operating systems. It uses Knuth's original sources for \TeX{} and +other basic programs written in \web{} and translates them into C source +code. The core \TeX{} programs are: + +\begin{cmddescription} +\item[bibtex] Maintaining bibliographies. +\item[dmp] \cmdname{troff} to MPX (\MP{} pictures). +\item[dvicopy] Expands virtual font references in \dvi{} files. +\item[dvitomp] \dvi{} to MPX (MetaPost pictures). +\item[dvitype] \dvi{} to human-readable text. +\item[gftodvi] Generic font proofsheets. +\item[gftopk] Generic to packed fonts. +\item[gftype] GF to human-readable text. +\item[makempx] \MP{} label typesetting. +\item[mf] Creating typeface families. +\item[mft] Prettyprinting \MF{} source. +\item[mpost] Creating technical diagrams. +\item[mpto] MetaPost label extraction. +\item[newer] Compare modification times. +\item[patgen] Creating hyphenation patterns. +\item[pktogf] Packed to generic fonts. +\item[pktype] PK to human-readable text. +\item[pltotf] Plain text property list to TFM. +\item[pooltype] Display \web{} pool files. +\item[tangle] \web{} to Pascal. +\item[tex] Typesetting. +\item[tftopl] TFM to plain text property list. +\item[vftovp] Virtual font to virtual property list. +\item[vptovf] Virtual property list to virtual font. +\item[weave] \web{} to \TeX. +\end{cmddescription} + +\noindent The precise functions and syntax of these programs are +described in the documentation of the individual packages and of \Webc{} +itself. However, knowing a few principles governing the whole family of +programs will help you take advantage of your \Webc{} installation. + +All programs honor these standard \acro{GNU} options: +\begin{ttdescription} +\item[-{}-help] print basic usage summary. +\item[-{}-verbose] print detailed progress report. +\item[-{}-version] print version information, then exit. +\end{ttdescription} + +For locating files the \Webc{} programs use the path searching library +\KPS{}. This library uses a combination of environment variables and a +configuration files to optimize searching the (huge) collection of +\TeX{} files. \Webc{} can look at more than one directory tree +simultaneously, which is useful in maintaining \TeX's standard +distribution and local extensions in two distinct trees. To speed up +file searches the root of each tree has a file \file{ls-R}, containing +an entry showing the name and relative pathname for all files under that +root. + +\subsection{Kpathsea path searching} + +Let us first describe the generic path searching mechanism of the \KPS{} +library. + +We call a \emph{search path} a colon- or semicolon\hyph sepa\-rated list +of \emph{path elements}, which are basically directory names. A +search path can come from (a combination of) many sources. To look up +a file \samp{my-file} along a path \samp{.:/dir}, \KPS{} checks each +element of the path in turn: first \file{./my-file}, then +\file{/dir/my-file}, returning the first match (or possibly all +matches). + +In order to adapt optimally to all operating systems' conventions, on +non-Unix systems \KPS{} can use filename separators different from +colon (\samp{:}) and slash (\samp{/}). + +To check a particular path element \var{p}, \KPS{} first checks if a +prebuilt database (see ``Filename data\-base'' on +page~\pageref{Filename-database}) applies to \var{p}, i.e., if the database +is in a directory that is a prefix of \var{p}. If so, the path +specification is matched against the contents of the database. + +If the database does not exist, or does not apply to this path +element, or contains no matches, the filesystem is searched (if this +was not forbidden by a specification starting with \samp{!!}\ and if +the file being searched for must exist). \KPS{} constructs the list +of directories that correspond to this path element, and then checks +in each for the file being sought. + +The ``file must exist'' condition comes into play with \samp{.vf} files and +input files read by \TeX's \cs{openin} command. Such files may not +exist (e.g., \file{cmr10.vf}), and so it would be wrong to search the +disk for them. Therefore, if you fail to update \file{ls-R} when you +install a new \samp{.vf} file, it will never be found. +Each path element is checked in turn: first the database, then the +disk. If a match is found, the search stops and the result is +returned. + +Although the simplest and most common path element is a directory +name, \KPS{} supports additional features in search paths: layered +default values, environment variable names, config file values, users' +home directories, and recursive subdirectory searching. Thus, we say +that \KPS{} \emph{expands} a path element, meaning it transforms all +the specifications into basic directory name or names. This is +described in the following sections in the same order as it takes +place. + +Note that if the filename being searched for is absolute or explicitly +relative, i.e., starts with \samp{/} or \samp{./} or \samp{../}, +\KPS{} simply checks if that file exists. + +\ifSingleColumn +\else +\begin{figure*} +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{An illustrative configuration file sample} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{Path sources} +\label{Path-sources} + +A search path can come from many sources. In the order in which +\KPS{} uses them: + +\begin{enumerate} +\item + A user-set environment variable, for instance, \envname{TEXINPUTS}\@. + Environment variables with a period and a program name appended + override; e.g., if \samp{latex} is the name of the program being run, + then \envname{TEXINPUTS.latex} will override \envname{TEXINPUTS}. +\item + A program-specific configuration file, for exam\-ple, a line + \samp{S /a:/b} in \cmdname{dvips}'s \file{config.ps}. +\item A \KPS{} configuration file \file{texmf.cnf}, containing a line like + \samp{TEXINPUTS=/c:/d} (see below). +\item The compile-time default. +\end{enumerate} +\noindent You can see each of these values for a given +search path by using the debugging options (see ``Debugging actions'' +on page~\pageref{Debugging}). + +\subsubsection{Config files} + +\begingroup\tolerance=3500 +\KPS{} reads \emph{runtime configuration files} named \file{texmf.cnf} +for search path and other definitions. The search path used to look +for these files is named \envname{TEXMFCNF} (by default such a file lives +in the \file{texmf/web2c} subdirectory). \emph{All} +\file{texmf.cnf} files in the search path will be read and definitions +in earlier files override those in later files. Thus, with a search +path of \verb|.:$TEXMF|, values from \file{./texmf.cnf} override those +from \verb|$TEXMF/texmf.cnf|. +\endgroup + +\begin{itemize} +\item + Comments start with \code{\%} and continue to the end of the line. +\item + Blank lines are ignored. +\item + A \bs{} at the end of a line acts as a continuation character, + i.e., the next line is appended. Whitespace at the beginning of + continuation lines is not ignored. +\item + Each remaining line has the form: +\begin{alltt} + \var{variable}[.\var{progname}] [=] \var{value} +\end{alltt}% + where the \samp{=} and surrounding whitespace are optional. +\item + The \ttvar{variable} name may contain any character other + than whitespace, \samp{=}, or \samp{.}, but sticking to + \samp{A-Za-z\_} is safest. +\item + If \samp{.\var{progname}} is present, the definition only + applies if the program that is running is named + \texttt{\var{progname}} or \texttt{\var{progname}.exe}. This allows + different flavors of \TeX{} to have different search paths, for + example. +\item \var{value} may contain any characters except + \code{\%} and \samp{@}. The + \code{\$\var{var}.\var{prog}} feature is not available on the + right-hand side; instead, you must use an additional variable. A + \samp{;}\ in \var{value} is translated to \samp{:}\ if + running under Unix; this is useful to be able to have a single + \file{texmf.cnf} for Unix, \acro{MS-DOS} and Windows systems. +\item + All definitions are read before anything is expanded, so + variables can be referenced before they are defined. +\end{itemize} +A configuration file fragment illustrating most of these points is +\ifSingleColumn +shown below: + +\verbatiminput{examples/ex5.tex} +\else +shown in Figure~\ref{fig:config-sample}. +\fi + +\subsubsection{Path expansion} +\label{Path-expansion} + + +\KPS{} recognizes certain special characters and constructions in +search paths, similar to those available in Unix shells. As a +general example, the complex path, +\verb+~$USER/{foo,bar}//baz+, expands to all subdirectories under +directories \file{foo} and \file{bar} in \texttt{\$USER}'s home +directory that contain a directory or file \file{baz}. These +expansions are explained in the sections below. +%$ +\subsubsection{Default expansion} +\label{Default-expansion} + +\tolerance=2500 +If the highest-priority search path (see ``Path sources'' on +page~\pageref{Path-sources}) contains an \emph{extra colon} (i.e., +leading, trailing, or doubled), \KPS{} inserts at that point the +next-highest-prio\-rity search path that is defined. If that inserted +path has an extra colon, the same happens with the next highest. For +example, given an environment variable setting + +\tolerance=1500 + +\begin{alltt} +> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} +and a \code{TEXINPUTS} value from \file{texmf.cnf} of + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} +then the final value used for searching will be: + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +Since it would be useless to insert the default value in more than one +place, \KPS{} changes only one extra \samp{:}\ and leaves any others in +place. It checks first for a leading \samp{:}, then a trailing +\samp{:}, then a doubled \samp{:}. + +\subsubsection{Brace expansion} + +A useful feature is brace expansion, which means that, for instance, +\verb+v{a,b}w+ expands to \verb+vaw:vbw+. Nesting is allowed. +This is used to implement multiple \TeX{} hierarchies, by +assigning a brace list to \code{\$TEXMF}. +For example, in \file{texmf.cnf}, the following definition +(appproximately; there are actually even more trees) is made: +\begin{verbatim} + TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN} +\end{verbatim} +Using this you can then write something like +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +which means that, after looking in the current directory, the +\code{\$TEXMFHOME/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$TEXMFVAR/tex} +and \code{\$TEXMFMAIN/tex} trees \emph{only}) will be searched (the +last two use using \file{ls-R} data base files). It is a convenient +way for running two parallel \TeX{} structures, one ``frozen'' (on a +\CD, for instance) and the other being continuously updated with new +versions as they become available. By using the \code{\$TEXMF} +variable in all definitions, one is sure to always search the +up-to-date tree first. + +\subsubsection{Subdirectory expansion} +\label{Subdirectory-expansion} + +Two or more consecutive slashes in a path element following a directory +\var{d} is replaced by all subdirectories of \var{d}: first those +subdirectories directly under \var{d}, then the subsubdirectories under +those, and so on. At each level, the order in which the directories are +searched is \emph{unspecified}. + +If you specify any filename components after the \samp{//}, only +subdirectories with matching components are included. For example, +\samp{/a//b} expands into directories \file{/a/1/b}, \file{/a/2/b}, +\file{/a/1/1/b}, and so on, but not \file{/a/b/c} or \file{/a/1}. + +Multiple \samp{//} constructs in a path are possible, but +\samp{//} at the beginning of a path is ignored. + +\subsubsection{List of special characters and their meaning: a summary} + +The following list summarizes the special characters in \KPS{} +configuration files. + +% need a wider space for the item labels here. +\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} +\begin{ttdescription} +\item[\CODE{:}] Separator in path specification; at the beginning or + the end of a path it substitutes the default path expansion.\par +\item[\CODE{;}] Separator on non-Unix systems (acts like \code{:}). +\item[\CODE{\$}] Variable expansion. +\item[\CODE{\string~}] Represents the user's home directory. +\item[\CODE{\char`\{...\char`\}}] Brace expansion. +\item[\CODE{//}] Subdirectory expansion (can occur anywhere in + a path, except at its beginning). +\item[\CODE{\%}] Start of comment. +\item[\CODE{\bs}] Continuation character (allows multi-line entries). +\item[\CODE{!!}] Search \emph{only} database to locate file, \emph{do + not} search the disk. +\end{ttdescription} + + +\subsection{Filename databases} +\label{Filename-database} + +\KPS{} goes to some lengths to minimize disk accesses for searches. +Nevertheless, at installations with enough directories, searching each +possible directory for a given file can take an excessively long time +(this is especially true if many hundreds of font directories have to +be traversed.) Therefore, \KPS{} can use an externally-built plain text +``database'' file named \file{ls-R} that maps files to directories, +thus avoiding the need to exhaustively search the disk. + +A second database file \file{aliases} allows you to give additional +names to the files listed in \file{ls-R}. This can be helpful to +confirm to \acro{DOS} 8.3 filename conventions in source files. + +\subsubsection{The filename database} +\label{ls-R} + +As explained above, the name of the main filename database must be +\file{ls-R}. You can put one at the root of each \TeX{} hierarchy in +your installation that you wish to be searched (\code{\$TEXMF} by +default); most sites have only one hierarchy. \KPS{} looks for +\file{ls-R} files along the \code{TEXMFDBS} path. + +The recommended way to create and maintain \samp{ls-R} is to run the +\code{mktexlsr} script included with the distribution. It is invoked +by the various \samp{mktex}\dots\ scripts. In principle, this script +just runs the command +\begin{alltt} +cd \var{/your/texmf/root} && \path|\|ls -1LAR ./ >ls-R +\end{alltt} +presuming your system's \code{ls} produces the right output format +(\acro{GNU} \code{ls} is all right). To ensure that the database is +always up-to-date, it is easiest to rebuild it regularly via +\code{cron}, so that it is automatically updated when the installed +files change, such as after installing or updating a \LaTeX{} package. + +If a file is not found in the database, by default \KPS{} goes ahead +and searches the disk. If a particular path element begins with +\samp{!!}, however, \emph{only} the database will be searched for that +element, never the disk. + + +\subsubsection{kpsewhich: Standalone path searching} +\label{Invoking-kpsewhich} + +The \texttt{kpsewhich} program exercises path searching independent of any +particular application. This can be useful as a sort of \code{find} +program to locate files in \TeX{} hierarchies (this is used heavily in +the distributed \samp{mktex}\dots\ scripts). + +\begin{alltt} +> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} +\end{alltt} +The options specified in \ttvar{option} start with either \samp{-} +or \samp{-{}-}, and any unambiguous abbreviation is accepted. + +\KPS{} looks up each non-option argument on the command line as a +filename, and returns the first file found. There is no option to +return all the files with a particular name (you can run the Unix +\samp{find} utility for that). + +The more important options are described next. + +\begin{ttdescription} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{} + Set the resolution to \ttvar{num}; this only affects \samp{gf} + and \samp{pk} lookups. \samp{-D} is a synonym, for compatibility + with \cmdname{dvips}. Default is 600. + +\item[\texttt{-{}-format=\var{name}}]\mbox{}\\ + Set the format for lookup to \ttvar{name}. By default, the + format is guessed from the filename. For formats which do not have + an associated unambiguous suffix, such as \MP{} support files and + \cmdname{dvips} configuration files, you have to specify the name as + known to \KPS{}, such as \texttt{tex} or \texttt{enc files}. Run + \texttt{kpsewhich -{}-help} for a list. + +\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ + Set the mode name to \ttvar{string}; this only affects \samp{gf} + and \samp{pk} lookups. No default: any mode will be found. +\item[\texttt{-{}-must-exist}]\mbox{}\\ + Do everything possible to find the files, notably including + searching the disk. By default, only the \file{ls-R} database is + checked, in the interest of efficiency. +\item[\texttt{-{}-path=\var{string}}]\mbox{}\\ + Search along the path \ttvar{string} (colon-separated as usual), + instead of guessing the search path from the filename. \samp{//} and + all the usual expansions are supported. The options \samp{-{}-path} + and \samp{-{}-format} are mutually exclusive. +\item[\texttt{-{}-progname=\var{name}}]\mbox{}\\ + Set the program name to \texttt{\var{name}}. + This can affect the search paths via the \texttt{.\var{progname}} + feature. + The default is \cmdname{kpsewhich}. +\item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\ + shows the path used for file lookups of file type \texttt{\var{name}}. + Either a filename extension (\code{.pk}, \code{.vf}, etc.) or a + name can be used, just as with \samp{-{}-format} option. +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + sets the debugging options to \texttt{\var{num}}. +\end{ttdescription} + + +\subsubsection{Examples of use} +\label{SExamplesofuse} + +Let us now have a look at \KPS{} in action. Here's a straightforward search: + +\begin{alltt} +> \Ucom{kpsewhich article.cls} + /usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} +We are looking for the file \file{article.cls}. Since the \samp{.cls} +suffix is unambiguous we do not need to specify that we want to look for a +file of type \optname{tex} (\TeX{} source file directories). We find it in +the subdirectory \file{tex/latex/base} below the \samp{texmf-dist} \TL\ +directory. Similarly, all of the following are found without problems +thanks to their unambiguous suffix. +\begin{alltt} +> \Ucom{kpsewhich array.sty} + /usr/local/texmf-dist/tex/latex/tools/array.sty +> \Ucom{kpsewhich latin1.def} + /usr/local/texmf-dist/tex/latex/base/latin1.def +> \Ucom{kpsewhich size10.clo} + /usr/local/texmf-dist/tex/latex/base/size10.clo +> \Ucom{kpsewhich small2e.tex} + /usr/local/texmf-dist/tex/latex/base/small2e.tex +> \Ucom{kpsewhich tugboat.bib} + /usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib +\end{alltt} + +That last is a \BibTeX{} bibliography database for \textsl{TUGBoat} articles. + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} +Font bitmap glyph files of type \file{.pk} are used by display +programs like \cmdname{dvips} and \cmdname{xdvi}. Nothing is returned in +this case since there are no pre-generated Computer Modern \samp{.pk} +files in \TL{}\Dash the Type~1 variants are used by default. +\begin{alltt} +> \Ucom{kpsewhich wsuipa10.pk} +\ifSingleColumn /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk +\else /usr/local/texmf-var/fonts/pk/ljfour/public/ +... wsuipa/wsuipa10.600pk +\fi\end{alltt} + +For these fonts (a phonetic alphabet from the University of Washington) +we had to generate \samp{.pk} files, and since the default \MF{} mode on +our installation is \texttt{ljfour} with a base resolution of 600\dpi{} +(dots per inch), this instantiation is returned. +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} +In this case, when specifying that we are interested in a resolution +of 300\dpi{} (\texttt{-dpi=300}) we see that no such font is available on +the system. A program like \cmdname{dvips} or \cmdname{xdvi} would +go off and actually build the required \texttt{.pk} files +using the script \cmdname{mktexpk}. + +Next we turn our attention to \cmdname{dvips}'s header and configuration +files. We first look at one of the commonly used files, the general +prolog \file{tex.pro} for \TeX{} support, before turning our attention +to the generic configuration file (\file{config.ps}) and the \PS{} font +map \file{psfonts.map}\Dash as of 2004, map and encoding files have +their own search paths and new location in \dirname{texmf} trees. As +the \samp{.ps} suffix is ambiguous we have to specify explicitly which +type we are considering (\optname{dvips config}) for the file +\texttt{config.ps}. +\begin{alltt} +> \Ucom{kpsewhich tex.pro} + /usr/local/texmf/dvips/base/tex.pro +> \Ucom{kpsewhich --format="dvips config" config.ps} + /usr/local/texmf/dvips/config/config.ps +> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map +\end{alltt} + +We now take a closer look at the \acro{URW} Times \PS{} support +files. The prefix for these in the standard font naming scheme is +\samp{utm}. The first file we look at is the configuration file, +which contains the name of the map file: +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" config.utm} + /usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} +The contents of that file is +\begin{alltt} + p +utm.map +\end{alltt} +which points to the file \file{utm.map}, which we want to +locate next. +\begin{alltt} +> \Ucom{kpsewhich utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} +This map file defines the file names of the Type~1 \PS{} fonts in +the URW collection. Its contents look like (we only show part of the +lines): +\begin{alltt} +utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb +utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb +utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb +utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} +Let us, for instance, take the Times Roman instance +\file{utmr8a.pfb} and find its position in the \file{texmf} directory +tree with a search for Type~1 font files: +\begin{alltt} +> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +\else /usr/local/texmf-dist/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + +It should be evident from these examples how you can easily locate the +whereabouts of a given file. This is especially important if you suspect +that the wrong version of a file is picked up somehow, since +\cmdname{kpsewhich} will show you the first file encountered. + +\subsubsection{Debugging actions} +\label{Debugging} + +Sometimes it is necessary to investigate how a program resolves file +references. To make this practical, \KPS{} offers various levels of +debugging output: + +\begin{ttdescription} +\item[\texttt{\ 1}] \texttt{stat} calls (disk lookups). When running + with an up-to-date \file{ls-R} database this should almost give no + output. +\item[\texttt{\ 2}] References to hash tables (such as \file{ls-R} + databases, map files, configuration files). +\item[\texttt{\ 4}] File open and close operations. +\item[\texttt{\ 8}] General path information for file types + searched by \KPS. This is useful to find out where a particular + path for the file was defined. +\item[\texttt{16}] Directory list for each path element (only relevant + for searches on disk). +\item[\texttt{32}] File searches. +\end{ttdescription} +A value of \texttt{-1} will set all the above options; in practice, +this is usually the most convenient. + +Similarly, with the \cmdname{dvips} program, by setting a combination of +debug switches, one can follow in detail where files are being picked up +from. Alternatively, when a file is not found, the debug trace shows in +which directories the program looks for the given file, so that one can +get an indication what the problem~is. + +Generally speaking, as most programs call the \KPS{} library +internally, one can select a debug option by using the +\envname{KPATHSEA\_DEBUG} environment variable, and setting it to (a +combination of) values as described in the above list. + +(Note for Windows users: it is not easy to redirect +all messages to a file in this system. For diagnostic purposes +you can temporarily \texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log}). + +Let us consider, as an example, a small \LaTeX{} source file, +\file{hello-world.tex}, which contains the following input. +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +This little file only uses the font \file{cmr10}, so let us look at +how \cmdname{dvips} prepares the \PS{} file (we want to use the Type~1 +version of the Computer Modern fonts, hence the option \texttt{-Pcms}). +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +In this case we have combined \cmdname{dvips}'s debug class 4 (font +paths) with \KPS's path element expansion (see \cmdname{dvips} Reference +Manual, \OnCD{texmf/doc/html/dvips/dvips_toc.html}). +The output (slightly rearranged) appears in +Figure~\ref{fig:dvipsdbga}. +\begin{figure*}[tp] +\centering +\input{examples/ex6a.tex} +\caption{Finding configuration files}\label{fig:dvipsdbga} + +\bigskip + +\input{examples/ex6b.tex} +\caption{Finding the prolog file}\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{Finding the font file}\label{fig:dvipsdbgc} +\end{figure*} + +\cmdname{dvips} starts by locating its working files. First, +\file{texmf.cnf} is found, which gives the definitions of the search +paths for the other files, then the file database \file{ls-R} (to +optimize file searching) and the file \file{aliases}, which makes it +possible to declare several names (e.g., a short \acro{DOS}-like 8.3 and +a more natural longer version) for the same file. Then \cmdname{dvips} +goes on to find the generic configuration file \file{config.ps} +before looking for the customization file \file{.dvipsrc} (which, in +this case is \emph{not found}). Finally, \cmdname{dvips} locates the +config file for the Computer Modern \PS{} fonts \file{config.cms} +(this was initiated with the \texttt{-Pcms} option on the \cmdname{dvips} +command). This file contains the list of the map files which +define the relation between the \TeX{}, \PS{} and file system +names of the fonts. +\begin{alltt} +> \Ucom{more /usr/local/texmf/dvips/cms/config.cms} + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map +\end{alltt} +\cmdname{dvips} thus goes on to find all these files, plus the generic +map file \file{psfonts.map}, which is always loaded (it contains +declarations for commonly used \PS{} fonts; see the last part of +Section \ref{SExamplesofuse} for more details about \PS{} map +file handling). + +At this point \cmdname{dvips} identifies itself to the user: +\begin{alltt} +This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) +\end{alltt} +\ifSingleColumn +Then it goes on to look for the prolog file \file{texc.pro}: +\begin{alltt}\small +kdebug:start search(file=texc.pro, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro +\end{alltt} +\else +Then it goes on to look for the prolog file \file{texc.pro} (see +Figure~\ref{fig:dvipsdbgb}). +\fi + +After having found the file in question, \cmdname{dvips} outputs +date and time, and informs us that it will generate the +file \file{hello-world.ps}, then that it needs the font file +\file{cmr10}, and that the latter is declared as ``resident'' (no +bitmaps needed): +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} +Now the search is on for the file \file{cmr10.tfm}, which is found, +then a few more prolog files (not shown) are referenced, and finally +the Type~1 instance \file{cmr10.pfb} of the font is located and +included in the output file (see last line). +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{Runtime options} + +Another useful feature of \Webc{} is its possibility to control a number +of memory parameters (in particular, array sizes) via the runtime file +\file{texmf.cnf} read by \KPS{}. The memory settings can be found in +Part 3 of that file in the \TL{} distribution. The more important +are: + +\begin{ttdescription} +\item[\texttt{main\_memory}] + Total words of memory available, for + \TeX{}, \MF{} and \MP. You must make a new format file for each + different setting. For instance, you could generate a ``huge'' + version of \TeX{}, and call the format file \texttt{hugetex.fmt}. + Using the standard way of specifying the program name used by \KPS{}, + the particular value of the \texttt{main\_memory} variable will then + be read from \file{texmf.cnf}. + etc.). +\item[\texttt{extra\_mem\_bot}] + Extra space for ``large'' \TeX{} data structures: + boxes, glue, breakpoints, etc. Especially useful if you use + \PiCTeX{}. +\item[\texttt{font\_mem\_size}] + Number of words for font information available for \TeX. This + is more or less the total size of all TFM files read. +\item[\texttt{hash\_extra}] + Additional space for the hash table of control sequence names. + Approximately 10,000 control sequences can be stored in the main + hash table; if you have a large book with numerous cross-references, + this might not be enough. The default value of + \texttt{hash\_extra} is \texttt{50000}. +\end{ttdescription} + +\noindent Of course, this facility is no substitute for truly dynamic +arrays and memory allocation, but since these are extremely difficult to +implement in the present \TeX{} source, these runtime parameters provide +a practical compromise allowing some flexibility. + + +\begin{comment} +\section{Building on a new Unix platform} + +If you have a platform for which executables are not included, you will +need to compile \TeX{} and friends. This is not as hard as it +sounds. What you need is all in the directory \texttt{source} in the +distribution. + +\subsection{Prerequisites} + +You will need at least 100 megabytes of disk space to compile all of +\TeX{} and its support programs. You'll also need an \acro{ANSI} C +compiler, a \cmdname{make} utility, a lexical scanner, and a parser +generator. We recommend the \acro{GNU} version of these programs +(\cmdname{gcc}, \acro{GNU} \cmdname{make}, \cmdname{m4}, \cmdname{flex}, +\cmdname{bison}). You may be able to work with other C compilers and +\cmdname{make} programs, but you will need a good understanding of +building Unix programs to sort out problems. + +Also, the command \texttt{uname} must return a sensible value. + + +\subsection{Configuration} + +To begin, perform a normal installation of \TL{} to your disk (see +section~\ref{sec:unix-install-disk} on +\p.\pageref{sec:unix-install-disk}). You may wish to skip installing +all of the prebuilt binaries. + +Then, unpack the source from the compressed \texttt{tar} file in the +directory \dirname{source} to your disk and change directory to where +you placed it. + +Next, run \cmdname{configure} with a command line like this: +\begin{alltt} +> \Ucom{sh configure -prefix=/usr/local/TeX} +\end{alltt} + +The \optname{-prefix} directory is the one where you installed the +support tree; the directory layout will be as follows (where \$TEXDIR +stands for the directory you chose): + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/share/texmf} & main tree with fonts,\\ + & \qquad macros, etc\\ + \dirname{$TEXDIR/man} & Unix manual pages\\ + \dirname{$TEXDIR/info} & \acro{GNU} style Info manuals\\ + \dirname{$TEXDIR/bin/$PLATFORM} & binaries\\ +\end{tabular} +%$ + +If you want to leave out the \dirname{$PLATFORM} directory level, +i.e., put the binaries directly into \dirname{$TEXDIR/bin}, specify +the \verb|--disable-multiplatform| option to \cmdname{configure}. + +Have a look at the output of \verb|./configure --help| for more +options you can use. For example, you can skip building of \OMEGA{} and +\eTeX{}. + + +\subsection{Running \cmdname{make}} + +Make sure the shell variable or option \texttt{noclobber} is not set. +Then, run the main \cmdname{make} like this: +\begin{alltt} +> \Ucom{make world} +\end{alltt} +and relax\ldots + +Alternatively, you want to log all the output, as in: +\begin{alltt} +> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} + +Before you believe that everything went ok, please check the log file +for errors: \acro{GNU} \cmdname{make} always uses the string \samp{***} +whenever a command fails. Also, check if all the programs were built: + +\begin{alltt} +> \Ucom{cd \var{TEXDIR}/bin/\var{archname}} +> \Ucom{ls | wc} +\end{alltt} +The result should be over 200 (you can check the exact number with the +\dirname{bin} directory contents in the distribution). + +If you need special privileges for \texttt{make install}, you can +separate the \samp{make world} into two different runs, like this: +\begin{alltt} +> \Ucom{make all} +> \Ucom{su} +> \Ucom{make install strip} +\end{alltt} + +After you've installed your new binaries, you should follow the normal +post-installation procedures, given in section~\ref{sec:postinstall} +(\p.\pageref{sec:postinstall}). + +Also, if you'd like to make your binaries available to others, please +contact us. We'll be happy to put them on the \TL\ web pages. +\end{comment} + +\section{Acknowledgements} + +\TL{} is a joint effort by virtually all of the \TeX{} user groups. +This edition of \TL{} was overseen by Sebastian Rahtz and Karl Berry. +The other principal contributors are listed below. + +\begin{itemize*} + +\item The German-speaking \TeX{} Users (\acro{DANTE} e.V.), who provide +the hardware for the \TL{} source repository; and Rainer Sch\"opf and +Reinhard Zierke who look after it. \acro{DANTE} officers Volker Schaa +and Klaus H\"oppner coordinate production with the Lehmann's Bookstore +(\url{http://www.lob.de}). + +\item The Perforce corporation (\url{http://www.perforce.com}), for providing +a free copy of their excellent change management system, which we use +to manage the \TL{} sources. + +\item Peter Breitenlohner and the \eTeX\ team for the stable foundation +of future \TeX's. + +\item Thomas Esser, without whose marvelous \teTeX{} package \TL{} +would certainly not exist, and whose continual help makes it a better +product. + +\item Michel Goossens, who co-authored the original documentation. + +\item Eitan Gurari, whose \TeX4ht was used to create the \HTML{} +version of this documentation, and who worked tirelessly to improve +it at short notice. + +\item Hans Hagen, for major testing and making the \ConTeXt\ format +conform to \TL's needs. + +\item Pawe{\l} Jackowski, for the Windows installer \cmdname{tlpm}, +and Tomasz {\L}uczak, for \cmdname{tlpmgui}. + +\item \Thanh, Martin Schr\"oder, and the pdf\TeX\ team for continuing +enhancements of \TeX's abilities. + +\item Petr Olsak, who coordinated and checked all the Czech and Slovak +material very carefully. + +\item Fabrice Popineau, for the Windows binaries in \TL{}. + +\item Staszek Wawrykiewicz, the principal tester for all of \TL{}, +and coordinator of the many major Polish contributions: fonts, Windows +installation, and more. + +\item Olaf Weber, for his patient assembly and maintenance of Web2C, +upon which all else depends. + +\item Gerben Wierda, for creating and maintaining the \MacOSX\ support, +and much integration and testing. + +\item Graham Williams, on whose work the catalogue of packages depends. + +\end{itemize*} + +Builders of the binaries: +Tigran Aivazian (\pkgname{x86\_64-linux}), +Manfred Lotz (\pkgname{i386-freebsd}), +Fabrice Popineau (\pkgname{win32}), +Norbert Preining (\pkgname{alpha-linux}), +Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-linux}, + \pkgname{sparc-solaris}), +Staszek Wawrykiewicz (\pkgname{i386-linux}), +Olaf Weber (\pkgname{mips-irix}), +Gerben Wierda (\pkgname{i386-darwin}, \pkgname{powerpc-darwin}). + +Documentation and translation updates: +Karl Berry (English), +Daniel Flipo \& Fabrice Popineau (French), +G\"unter Partosch \& Hartmut Henkel (German), +Petr Sojka \& Jan Busa (Czech\slash Slovak), +Boris Veytsman (Russian), +Staszek Wawrykiewicz (Polish). + +Of course the most important acknowledgement must go to Donald Knuth, first +for inventing \TeX, and then for giving it to the world. + + +\section{Release history} +\label{sec:history} + +\subsection{Past} + +Discussion began in late 1993 when the Dutch \TeX{} Users Group was +starting work on its 4All\TeX{} \CD{} for \acro{MS-DOS} users, and it +was hoped at that time to issue a single, rational, \CD{} for all +systems. This was too ambitious a target for the time, but it did spawn +not only the very successful 4All\TeX{} \CD{}, but also the \acro{TUG} +Technical Council working group on a \emph{\TeX{} Directory Structure} +(\url{http://tug.org/tds}), which specified how to create consistent and +manageable collections of \TeX{} support files. A complete draft of the +\TDS{} was published in the December 1995 issue of \textsl{TUGboat}, and +it was clear from an early stage that one desirable product would be a +model structure on \CD{}. The distribution you now have is a very direct +result of the working group's deliberations. It was also clear that the +success of the 4All\TeX{} \CD{} showed that Unix users would benefit +from a similarly easy system, and this is the other main strand of +\TL. + +We first undertook to make a new Unix-based \TDS{} \CD{} in the autumn +of 1995, and quickly identified Thomas Esser's \teTeX{} as the ideal +setup, as it already had multi-platform support and was built with +portability across file systems in mind. Thomas agreed to help, and work +began seriously at the start of 1996. The first edition was released in +May 1996. At the start of 1997, Karl Berry completed a major new release +of Web2c, which included nearly all the features which Thomas Esser had +added in \teTeX, and we decided to base the 2nd edition of the \CD{} on +the standard \Webc, with the addition of \teTeX's \texttt{texconfig} +script. The 3rd edition of the \CD{} was based on a major revision of +\Webc, 7.2, by Olaf Weber; at the same time, a new revision of \teTeX +was being made, and \TL{} included almost all of its features. The +4th edition followed the same pattern, using a new version of \teTeX, +and a new release of \Webc{} (7.3). The system now included a complete +Windows setup. + +For the 5th edition (March 2000) many parts of the \CD{} were revised +and checked, updating hundreds of packages. Package details were stored +in XML files. But the major change for \TeX\ Live 5 was that all +non-free software was removed. Everything in \TL{} is now intended +to be compatible with the Debian Free Software Guidelines +(\url{http://www.debian.org/intro/free}); we have done our best to check +the license conditions of all packages, but we would very much +appreciate hearing of any mistakes. + +The 6th edition (July 2001) had much more material updated. The major +change was a new install concept: the user could select a more exact set +of needed collections. Language-related collections were completely +reorganized, so selecting any of them installs not only macros, fonts, +etc., but also prepares an appropriate \texttt{language.dat}. + +The 7th edition of 2002 had the notable addition of \MacOSX{} support, +and the usual myriad of updates to all sorts of packages and +programs. An important goal was integration of the source back with +\teTeX, to correct the drift apart in versions~5 and~6. + +\subsubsection{2003} + +In 2003, with the continuing flood of updates and additions, we found +that \TL{} had grown so large it could no longer be contained on a +single \CD, so we split it into three different distributions (see +section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}). In +addition: + +\begin{itemize*} +\item At the request of the \LaTeX{} team, we changed the standard + \cmdname{latex} and \cmdname{pdflatex} commands to now use \eTeX{} (see + \p.\pageref{text:etex}). +\item The new Latin Modern fonts were included (and are recommended). +\item Support for Alpha \acro{OSF} was removed + (\acro{HPUX} support was removed previously), since no one had (or + volunteered) hardware available on which to compile new binaries. +\item Windows setup was substantially changed; for the first time + an integrated environment based on XEmacs was introduced. +\item Important supplementary programs for Windows + (Perl, Ghost\-script, Image\-Magick, Ispell) are now installed + in the \TL{} installation directory. +\item Font map files used by \cmdname{dvips}, \cmdname{dvipdfm} + and \cmdname{pdftex} are now generated by the new program + \cmdname{updmap} and installed into \dirname{texmf/fonts/map}. +\item \TeX{}, \MF{}, and \MP{} now, by default, output most input + characters (32 and above) as themselves in output (e.g., + \verb|\write|) files, + log files, and the terminal, i.e., \emph{not} translated using the + \verb|^^| notation. In \TL{}~7, this translation was + dependent on the system locale settings; now, locale settings do + not influence the \TeX{} programs' behavior. If for some reason + you need the \verb|^^| output, rename the file + \verb|texmf/web2c/cp8bit.tcx|. (Future releases will have cleaner + ways to control this.) +\item This documentation was substantially revised. +\item Finally, since the edition numbers had grown unwieldy, + the version is now simply identified by the year: \TL{} 2003. +\end{itemize*} + + +\subsubsection{2004} + +2004 saw many changes: + +\begin{itemize} + +\item If you have locally-installed fonts which use their own +\filename{.map} or (much less likely) \filename{.enc} support files, you +may need to move those support files. + +\filename{.map} files are now searched for in subdirectories of +\dirname{fonts/map} only (in each \filename{texmf} tree), along the +\envname{TEXFONTMAPS} path. Similarly, \filename{.enc} files are now +searched for in subdirectories of \dirname{fonts/enc} only, along the +\envname{ENCFONTS} path. \cmdname{updmap} will attempt to warn about +problematic files. + +For methods of handling this and other information, please see +\url{http://tug.org/texlive/mapenc.html}. + +\item The \TK\ has been expanded with the addition of a \MIKTEX-based +installable \CD, for those who prefer that implementation to Web2C. +See section~\ref{sec:struct-tl} (\p.\pageref{sec:struct-tl}). + +\item Within \TL, the single large \dirname{texmf} tree of previous +releases has been replaced by three: \dirname{texmf}, +\dirname{texmf-dist}, and \dirname{texmf-doc}. See +section~\ref{sec:tld} (\p.\pageref{sec:tld}), and the \filename{README} +files for each. + +\item All \TeX-related input files are now collected in +the \dirname{tex} subdirectory of \dirname{texmf*} trees, rather than +having separate sibling directories \dirname{tex}, \dirname{etex}, +\dirname{pdftex}, \dirname{pdfetex}, etc. See +\CDref{texmf-doc/doc/english/tds/tds.html\#Extensions} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Extensions}}. + +\item Helper scripts (not meant to be invoked by users) are now located +in a new \dirname{scripts} directory of \dirname{texmf*} trees, and +searched for via \verb|kpsewhich -format=texmfscripts|. So if you have +programs which call such scripts, they'll need to be adjusted. See +\CDref{texmf-doc/doc/english/tds/tds.html\#Scripts} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Scripts}}. + +\item Almost all formats leave most characters printable as +themselves via the ``translation file'' \filename{cp227.tcx}, instead of +translating them with the \verb|^^| notation. Specifically, characters +at positions 32--256, plus tab, vertical tab, and form feed are +considered printable and not translated. The exceptions are plain \TeX\ +(only 32--126 printable), \ConTeXt\ (0--255 printable), and the +\OMEGA-related formats. This default behavior is almost the same as in +\TL\,2003, but it's implemented more cleanly, with more possibilities +for customization. See \CDref{texmf/doc/web2c/web2c.html\#TCX-files} +{\texttt{texmf/doc/web2c/web2c.html\#TCX-files}}. +(By the way, with Unicode input, \TeX\ may output partial character +sequences when showing error contexts, since it is byte-oriented.) + +\item \textsf{pdfetex} is now the default engine for all formats +except (plain) \textsf{tex} itself. (Of course it generates \acro{DVI} +when run as \textsf{latex}, etc.) This means, among other things, that +the microtypographic features of \textsf{pdftex} are available in +\LaTeX, \ConTeXt, etc., as well as the \eTeX\ features +(\OnCD{texmf-dist/doc/etex/base/}). + +It also means it's \emph{more important than ever} to use the +\pkgname{ifpdf} package (works with both plain and \LaTeX) or equivalent +code, because simply testing whether \cs{pdfoutput} or some other +primitive is defined is not a reliable way to determine if \acro{PDF} +output is being generated. We made this backward compatible as best we +could this year, but next year, \cs{pdfoutput} may be defined even when +\acro{DVI} is being written. + +\item pdf\TeX\ (\url{http://pdftex.org}) has many new features: + + \begin{itemize*} + + \item \cs{pdfmapfile} and \cs{pdfmapline} provide font map support + from within a document. + + \item Microtypographic font expansion can be used more easily.\\ + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} + + \item All parameters previously set through the special configuration + file \filename{pdftex.cfg} must now be set through primitives, + typically in \filename{pdftexconfig.tex}; \filename{pdftex.cfg} is no + longer supported. Any extant \filename{.fmt} files must be redumped + when \filename{pdftexconfig.tex} is changed. + + \item See the pdf\TeX\ manual for more: \OnCD{texmf/doc/pdftex/manual}. + + \end{itemize*} + +\item The \cs{input} primitive in \cmdname{tex} (and \cmdname{mf} and +\cmdname{mpost}) now accepts double quotes containing spaces and other +special characters. Typical examples: +\begin{verbatim} +\input "filename with spaces" % plain +\input{"filename with spaces"} % latex +\end{verbatim} +See the Web2C manual for more: \OnCD{texmf/doc/web2c}. + +\item enc\TeX\ support is now included within Web2C and consequently all +\TeX\ programs, via the \optname{-enc} option\Dash \emph{only when +formats are built}. enc\TeX\ supports general re-encoding of input and +output, enabling full support of Unicode (in \acro{UTF}-8). See +\OnCD{texmf-dist/doc/generic/enctex/} and +\url{http://www.olsak.net/enctex.html}. + +\item Aleph, a new engine combining \eTeX\ and \OMEGA, is available. +A little information is available in \OnCD{texmf-dist/doc/aleph/base} +and \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph}. The +\LaTeX-based format for Aleph is named \textsf{lamed}. + +\item The latest \LaTeX\ release has a new version of the +\acro{LPPL}\Dash now officially a Debian-approved license. Assorted +other updates, see the \filename{ltnews} files in +\OnCD{texmf-dist/doc/latex/base}. + +\item \cmdname{dvipng}, a new program for converting \acro{DVI} to +\acro{PNG} image files, is included. See \OnCD{texmf/doc/man/man1/dvipng.1}. + +\item We reduced the \pkgname{cbgreek} package to a ``medium'' sized set +of fonts, with the assent and advice of the author (Claudio Beccari). +The excised fonts are the invisible, outline, and transparency ones, +which are relatively rarely used, and we needed the space. The full set +is of course available from \acro{CTAN} +(\url{http://www.ctan.org/tex-archive/fonts/greek/cb}). + +\item \cmdname{oxdvi} has been removed; just use \cmdname{xdvi}. + +\item The \cmdname{ini} and \cmdname{vir} commands (links) for +\cmdname{tex}, \cmdname{mf}, and \cmdname{mpost} are no longer created, +such as \cmdname{initex}. The \cmdname{ini} functionality has been +available through the command-line option \optname{-ini} for years now. + +\item \textsf{i386-openbsd} platform support was removed. Since the +\pkgname{tetex} package in the \acro{BSD} Ports system is available, and +\acro{GNU/}Linux and Free\acro{BSD} binaries were available, it seemed +volunteer time could be better spent elsewhere. + +\item On \textsf{sparc-solaris} (at least), you may have to set the +\envname{LD\_LIBRARY\_PATH} environment variable to run the +\pkgname{t1utils} programs. This is because they are compiled with C++, +and there is no standard location for the runtime libraries. (This is +not new in 2004, but wasn't previously documented.) Similarly, on +\textsf{mips-irix}, the \acro{MIPS}pro 7.4 runtimes are required. + +\end{itemize} + +\subsection{Present} +\label{tlcurrent} + +2005 saw the usual huge number of updates to packages and programs. +The infrastructure stayed relatively stable from 2004, but inevitably +there were some changes there as well: + +\begin{itemize} + +\item New scripts \cmdname{texconfig-sys}, \cmdname{updmap-sys}, and + \cmdname{fmtutil-sys} were introduced, which modify the + configuration in the system trees. The \cmdname{texconfig}, + \cmdname{updmap}, and \cmdname{fmtutil} scripts now modify + user-specific files, under \dirname{$HOME/.texlive2005}. + See section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}. + +\item Corresponding new variables \envname{TEXMFCONFIG} and + \envname{TEXMFSYSCONFIG} to specify the trees where configuration + files (user or system, respectively) are found. Thus, you may + need to move personal versions of \filename{fmtutil.cnf} and + \filename{updmap.cfg} to these places; another option is to + redefine \envname{TEXMFCONFIG} or \envname{TEXMFSYSCONFIG} in + \filename{texmf.cnf}. In any case the real location of these files + and the values of \envname{TEXMFCONFIG} and \envname{TEXMFSYSCONFIG} + must agree. + See section~\ref{sec:texmftrees}, \p.\pageref{sec:texmftrees}. + +\item Last year, we kept \verb|\pdfoutput| and other primitives undefined + for DVI output, even though the \cmdname{pdfetex} program was + being used. This year, as promised, we undid that compatibility + measure. So if your document uses \verb|\ifx\pdfoutput\undefined| + to test if PDF is being output, it will need to be changed. You + can use the package \pkgname{ifpdf.sty} (which works under both + plain \TeX\ and \LaTeX) to do this, or steal its logic. + +\item Last year, we changed most formats to output (8-bit) characters as + themselves (see previous section). The new TCX file + \filename{empty.tcx} now provides an easier way to get the + original \verb|^^| notation if you so desire, as in: +\begin{verbatim} +latex --translate-file=empty.tcx yourfile.tex +\end{verbatim} + +\item The new program \cmdname{dvipdfmx} is included for translation of + DVI to PDF; this is an actively maintained update of + \cmdname{dvipdfm} (which is also still available for now, though + no longer recommended). + +\item The new programs \cmdname{pdfopen} and \cmdname{pdfclose} are included + to allow reloading of pdf files in the Adobe Acrobat Reader without + restarting the program. (Other pdf readers, notably \cmdname{xpdf}, + \cmdname{gv}, and \cmdname{gsview}, have never suffered from this + problem.) + +\item For consistency, the variables \envname{HOMETEXMF} and + \envname{VARTEXMF} have been renamed to \envname{TEXMFHOME} and + \envname{TEXMFSYSVAR}, respectively. There is also + \envname{TEXMFVAR}, which is by default user-specific. See the + first point above. + +\end{itemize} + +\subsection{Future} + +\emph{\TL{} is not perfect!} (And never will be.) We intend to +continue to release new versions yearly, and would like to provide more +help material, more utilities, more installation programs, and (of +course) an ever-improved and checked tree of macros and fonts. This work +is all done by hard-pressed volunteers in their limited spare time, and +a great deal remains to be done. If you can help, don't hesitate to put +your name forward! + +Please send corrections, suggestions, and offers of help to:\hfill\null +\begin{quote} +Sebastian Rahtz \ / \ 7 Stratfield Road \ / \ Oxford OX2 7BG \ / \ UK \\ +\email{tex-live@tug.org} \\ +\url{http://tug.org/texlive} +\end{quote} + +\medskip +\noindent \textsl{Happy \TeX ing!} + +\end{document} diff --git a/Master/texmf-dist/doc/texlive/texlive-en/archive/live-2007.tex b/Master/texmf-dist/doc/texlive/texlive-en/archive/live-2007.tex new file mode 100644 index 00000000000..8232db8becf --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/archive/live-2007.tex @@ -0,0 +1,3264 @@ +% $Id: live.tex 3938 2007-02-06 01:49:45Z karl $ +% TeX Live documentation. Originally written by Sebastian Rahtz and +% Michel Goossens, now maintained by Karl Berry and others. +% Public domain. +% +\documentclass{article} +\let\tldocenglish=1 % for live4ht.cfg +\usepackage{tex-live} +\begin{document} + +\title{% + {\huge \textit{The \protect\TL{} Guide}\\\strut} + {\LARGE \textsf{\TL{} 2007}} +} + +\author{Karl Berry, editor \\[3mm] + \url{http://tug.org/texlive/} + } + +\date{January 2007} + +\maketitle + +\begin{multicols}{2} +\tableofcontents +\listoftables +\end{multicols} + +\section{Introduction} +\label{sec:intro} + +This document describes the main features of the \TL{} software +distribution\Dash \TeX{} and friends for \acro{GNU}/Linux and other Unix +flavors, \MacOSX, and (32-bit) Windows systems. (Warning: it is not +especially useful for older Mac or \acro{MS-DOS} systems.) + +\TL{} includes executables for \TeX{}, \LaTeXe{}, \ConTeXt, \MF, \MP, +\BibTeX{} and many other programs; an extensive collection of macros, +fonts and documentation; and support for typesetting in many different +scripts from around the world. It is part of the even larger \TK{} +(briefly described below in section~\ref{sec:struct-tl}, +\p.\pageref{sec:struct-tl}). Both are cooperative efforts by the \TeX\ +user groups. + +For newer versions of the packages included here, please check +\acro{CTAN}: \url{http://www.ctan.org}. + +For a brief summary of the major changes in this edition of \TL{}, +see the end of the document, section~\ref{sec:history} +(\p.\pageref{sec:history}). + + +\subsection{Basic usage of \protect\TL{}} +\label{sec:basic} + +You can use \TL{} in three principal ways: + +\begin{enumerate} + +\item You can run \TL{} directly from the \pkgname{live} \DVD +(see section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}). +This takes almost no disk space, and gives you immediate access to +everything in \TL{}. Of course performance will be worse than running +on local disk, but you may well find it useful. + +\item You can install all or part of \TL{} to a local disk, from either +the \DVD\ or the \pkgname{inst} \acro{CD}. This is the most common use +of \TL. You will need (approximately) 100 megabytes for the most +minimal system, and upwards of 1.3 gigabytes for a full system. + +\item You can integrate a particular package or collection into your +existing \TeX{} system, either a \TL{} system you installed +earlier, or a different system. + +\end{enumerate} + +\noindent All of these are described in detail in the \acro{OS}-specific +installation sections following, but here is a quick start: + +\begin{itemize*} + +\item The main installation script for Unix and \MacOSX{} is +\texttt{install-tl.sh}. +GNU/Linux users can also try a new GUI installation program: +run \texttt{setuptl/tlpmgui}. More information +can be found in section \ref{sec:win-install} on +p.~\pageref{sec:win-install}. + +\item The single package installation script is \texttt{install-pkg.sh}. +(After installation on Linux with \texttt{tlpmgui}, you can also try +running \texttt{tlpmgui} again to add or remove individual packages or +collections.) + +\item The installation program for Windows is \texttt{tlpmgui.exe}. +It can be used also for adding or removing the packages. +See section~\ref{sec:win-install} below for more information. + +\end{itemize*} + + +\subsection{Getting help} +\label{sec:help} + +The \TeX{} community is both active and friendly, and virtually all +serious questions end up getting answered. However, the support is +informal, done by volunteers and casual readers, so it's especially +important that you do your homework before asking. (If you prefer +guaranteed commercial support, you can forego \TL{} completely and +purchase a vendor's system; \url{http://tug.org/interest.html#vendors} +has a list.) + +Here is a list of resources, approximately in the order we recommend +using them: + +\begin{description} +\item [Getting Started] If you are new to \TeX, the web page +\url{http://tug.org/begin.html} gives a brief introduction to the system. + +\item [\TeX{} \acro{FAQ}] The \TeX{} \acro{FAQ} is a huge compendium of +answers to all sorts of questions, from the most basic to the most +arcane. It is included on \TL{} in \OnCD{texmf-doc/doc/english/FAQ-en}, and is +available on the Internet through \url{http://www.tex.ac.uk/faq}. +Please check here first. + +\item [\TeX{} Catalogue] If you are looking for a specific package, +font, program, etc., the \TeX{} Catalogue is the place to look. It is a +huge collection of all \TeX{}-related items. See +\OnCD{texmf-doc/doc/english/catalogue}, or +\url{http://www.ctan.org/tex-archive/help/Catalogue}. + +\item [\TeX{} Web Resources] The web page +\url{http://tug.org/interest.html} has many \TeX{}-related links, in +particular for numerous books, manuals, and articles on all aspects of +the system. + +\item [support archives] The two principal support forums are the +Usenet newsgroup \url{news:comp.text.tex} and the mailing list +\email{texhax@tug.org}. Their archives have years of past +questions and answers for your searching pleasure, via +\url{http://groups.google.com/groups?group=comp.text.tex} and +\url{http://tug.org/mail-archives/texhax}, respectively. And a general web +search, for example on \url{http://google.com}, never hurts. + +\item [asking questions] If you cannot find an answer, you can post to +\dirname{comp.text.tex} through Google or your newsreader, or to +\email{texhax@tug.org} through email. But before you post, +\emph{please} read this \acro{FAQ} entry on asking questions in such a +way that you're most likely to get an answer: +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. + +\item [\TL{} support] If you want to report a bug or have +suggestions or comments on the \TL{} distribution, installation, or +documentation, the mailing list is \email{tex-live@tug.org}. However, +if your question is about how to use a particular program included in +\TL{}, you are better off writing to that program's maintainer or +mailing list. + +\end{description} + +The other side of the coin is helping others who have questions. Both +\dirname{comp.text.tex} and \code{texhax} are open to anyone, so feel +free to join, start reading, and help out where you can. Welcome to +\TeX{}! + + +% don't use \TL so the \uppercase in the headline works. Also so +% tex4ht ends up with the right TeX. Likewise the \protect's. +\section{Structure of \protect\TeX\protect\ Live} +\label{sec:struct-tl} + +This section describes the structure and contents of \TL{} and the +\TK{} of which it is a part. + +\subsection{Multiple distributions: \protect\pkgname{live}, + \protect\pkgname{inst}, + \protect\pkgname{protext}} +\label{sec:multiple-dist} + +Space limitations of \acro{CD-ROM} format have forced us to divide +\TK{} into several distributions, as follows. + +\begin{description} + +\item [live] A complete system on \acro{DVD}; it is too large +for \acro{CD}. It can be run live or installed to disk. It also +includes a snapshot of the \CTAN{} repository, the \pkgname{protext} +distribution for Windows and the Mac\TeX\ distribution for \MacOSX, entirely +independent of \TL{}, as well as assorted other packages in a +\texttt{texmf-extra} directory. + +\CTAN{}, \pkgname{protext}, Mac\TeX, and \texttt{texmf-extra} do not follow +the same copying conditions as \TL{}, so be careful when redistributing or +modifying. + +\item [inst(allable)] A complete system on \CD; in order to make this fit, +the packages and programs are compressed. Therefore, it is not possible +to run \TeX\ directly from the installable \CD, you have to install it +to disk (hence its name). Installation is described in subsequent sections. + +\item [protext] An enhancement of the \MIKTEX\ distribution for Windows, +\ProTeXt\ adds a few extra tools to \MIKTEX, and simplifies +installation. It is entirely independent of \TL{}, and has its own +installation instructions. It can be run live, or installed to disk. +The \ProTeXt\ home page is \url{http://tug.org/protext}. + +\ProTeXt\ is provided as both the top level of the \pkgname{live} \DVD\ +and on its own \CD\ (for those who cannot use the \DVD). + +\end{description} + +\noindent You can tell which type of distribution you're in by looking +for a \texttt{00\var{type}.TL} file at the top of the \TL{} directory. +This file also contains the \TL{} release date. + +Naturally, each user group chooses what to distribute to its own members. + + +\subsection{Top level directories} +\label{sec:tld} + +Here is a brief listing and description of the top level directories in +the \TL{} distribution. On the \pkgname{live} \DVD, the entire \TL{} +hierarchy is in a subdirectory \dirname{texliveYYYY}, not at the top +level of the disc. + +\smallskip +\begingroup + \renewcommand{\arraystretch}{1.3} % open up interrow spacing +\begin{tabular}{>{\ttfamily}lp{.78\hsize}} +bin & The \TeX{} system programs, arranged by platform. \\ +source & The source of all programs, including the main \Webc{} + \TeX{} and \MF{} distributions. These are stored in a + \cmdname{bzip2}-compressed tar archive. \\ +setuptl & Installation programs for Linux and Windows. \\ +support & Assorted auxiliary packages and programs. These are + \emph{not} installed automatically. This includes + assorted editors and \TeX\ shells. \\ +texmf & Tree for the programs, along with their support files and + documentation. Does not include \TeX\ formats and packages. + (\texttt{TEXMFMAIN} in the next section.) \\ +texmf-dist & The main tree of formats and packages. + (\texttt{TEXMFDIST} in the next section.) \\ +texmf-doc & Tree for self-contained pure documentation, arranged by + language. \\ +texmf-var & Tree for files automatically generated and stored. + (\texttt{TEXMFSYSVAR} in the next section.) \\ +\end{tabular} +\endgroup + +\smallskip + +In addition to the directories above, the installation scripts and +\filename{README} files (in various languages) are at the top level of +the distribution. + +The \dirname{texmf-doc} directory contains only documentation, but +it does not contain all the documentation. The documentation for the +programs (manuals, man pages, Info files) is in \dirname{texmf/doc}, +since the programs are in \dirname{texmf}. Similarly, the documentation +for \TeX\ packages and formats is in \dirname{texmf-dist/doc}. You can +use the \cmdname{texdoc} or \cmdname{texdoctk} programs to find any +documentation wherever it's located. The comprehensive links in the +top-level file \OnCD{doc.html} may also be helpful. + + +\subsection{Overview of the predefined texmf trees} +\label{sec:texmftrees} + +This section lists all predefined variables specifying texmf trees used +by the system, and their intended purpose. The command \texttt{texconfig +conf} shows you the values of these variables, so that you can easily +find out how they map to directory names in your installation. + +\begin{ttdescription} +\item [TEXMFMAIN] The tree which holds vital parts of the system + such as helper scripts (e.g., \verb+web2c/mktexdir+), pool files and + other support files. +\item [TEXMFDIST] The tree which holds the main set of macro packages, + fonts, etc., as originally distributed. +\item [TEXMFLOCAL] The tree which administrators can use for system-wide + installation of additional or updated macros, fonts, etc. +\item [TEXMFHOME] The tree which users can use for their own individual + installations of additional or updated macros, fonts, etc. + The expansion of this variable depends on \verb+$HOME+ by default, % $ + which dynamically adjusts for each user to an individual + directory. +\item [TEXMFCONFIG] The tree used by te\TeX's utilities + \verb+texconfig+, \verb+updmap+, and \verb+fmtutil+ to store modified + configuration data. Under \verb+$HOME+ by default. %$ +\item [TEXMFSYSCONFIG] The tree used by te\TeX's utilities + \verb+texconfig-sys+, \verb+updmap-sys+, and \verb+fmtutil-sys+ to + store modified configuration data. +\item [TEXMFVAR] The tree used by \verb+texconfig+, \verb+updmap+ and + \verb+fmtutil+ to store (cached) runtime data such as format files and + generated map files. Under \verb+$HOME+ by default. %$ +\item [TEXMFSYSVAR] The tree used by \verb+texconfig-sys+, + \verb+updmap-sys+ and \verb+fmtutil-sys+ to store (cached) runtime + data such as format files and generated map files. +\end{ttdescription} + +For more discussion of \texttt{texconfig} and related utilities, please +see section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}. + + +\subsection{Extensions to \protect\TeX} +\label{sec:tex-extensions} + +\TL{} contains several extended versions of \TeX: + +\begin{description} + +\item [\eTeX] adds a small but powerful set of new primitives +\label{text:etex} (related to macro expansion, character scanning, +classes of marks, additional debugging features, and more) and the +\TeXXeT{} extensions for bidirectional typesetting. In default mode, +\eTeX{} is 100\% compatible with ordinary \TeX. See +\OnCD{texmf-dist/doc/etex/base/etex_man.pdf}. + +\item [pdf\TeX] builds on the \eTeX\ extensions, adding support for +writing \acro{PDF} output as well as \dvi{}. See +\OnCD{texmf/doc/pdftex/manual/} for the manual, and +\OnCD{texmf/doc/pdftex/manual/samplepdf/samplepdf.tex}. This is the +default program for all formats except plain \TeX. + +\item [Xe\TeX] adds support for Unicode input and OpenType fonts, using +third-party libraries. See \url{http://scripts.sil.org/xetex}. + +\item [\OMEGA\ (Omega)] is based on Unicode (16-bit characters), thus +supports working with almost all the world's scripts simultaneously. It +also supports so-called `\OMEGA{} Translation Processes' (\acro{OTP}s), +for performing complex transformations on arbitrary input. See +\OnCD{texmf-dist/doc/omega/base/doc-1.8.tex} (not completely up-to-date). + +\item [Aleph] combines the \OMEGA\ and \eTeX\ extensions. +See \OnCD{texmf-dist/doc/aleph/base} for some minimal documentation. + +\end{description} + + +\subsection{Other notable programs in \protect\TL} + +Here are a few other commonly-used programs included in \TL{}: + +\begin{cmddescription} + +\item [bibtex] bibliography support. + +\item [makeindex] index support. + +\item [dvips] convert \dvi{} to \PS{}. + +\item [xdvi] \dvi{} previewer for the X Window System. + +\item [dvilj] \dvi{} drive for the HP LaserJet family. + +\item [dv2dt, dt2dv] convert \dvi{} to/from plain text. + +\item [dviconcat, dviselect] cut and paste pages +from \dvi{} files. + +\item [dvipdfmx] convert \dvi{} to \acro{PDF}, an alternative approach +to pdf\TeX\ (mentioned above). See the \pkgname{ps4pdf} and +\pkgname{pdftricks} packages for still more alternatives. + +\item [psselect, psnup, \ldots] \PS{} +utilities. + +\item [lacheck] \LaTeX{} syntax checker. + +\item [texexec] Con\TeX{}t and \acro{PDF} processor. + +\item [tex4ht] \TeX{} to \acro{HTML} converter. + +\end{cmddescription} + + +\section{Unix installation} +\label{sec:unix-install} + +As introduced in section~\ref{sec:basic} (\p.\pageref{sec:basic}), +\TL{} has three principal uses: + +\begin{enumerate} +\item Run directly from media. +\item Install to disk. +\item Integrate a particular package or collection into your existing +\TeX{} installation. +\end{enumerate} + +\noindent The following sections describes the Unix-specific procedures +for each of these. + +\ifSingleColumn \begin{figure}[ht]\noindent \fi +\begin{warningbox} +\textbf{Warning: } The \TK{} \CD{}s and \DVD{} are in ISO 9660 (High Sierra) +format, \emph{with} Rock Ridge (and Joliet, for Windows) +extensions. Therefore, in order to take full advantage of the \TK{} +under Unix, your system needs to be able to use the Rock Ridge +extensions. Please consult the documentation for your \cmdname{mount} +command to see how to do this. If you have several different machines +on a local network, you may be able to mount the discs on one which +does support Rock Ridge, and use this with the others. + +\leavevmode\quad Modern systems should be able to use the discs without +problems. If troubles, let us know. The discussion below assumes you +have been able to mount the \CD{}s with full Rock Ridge compatibility. +\end{warningbox} +\ifSingleColumn\end{figure}\fi + + +% +\subsection{Running \protect\TL{} directly from media (Unix)} + +\def\runlive{% text repeated in windows section +It is possible to use the \TeX{} system directly from the \pkgname{live} +\DVD{}, without installing the distribution to disk. (Thus the name +\TeX\ `Live', in fact.) It is \emph{not} possible to run \TeX{} +directly from the other \CD{}s (see section~\ref{sec:multiple-dist}, +\p.\pageref{sec:multiple-dist}). +} + +\def\startinst{% repeated in other subsections +To start, you mount the \CD{} or \DVD{}, with Rock Ridge extensions +enabled. The exact command to do this varies from system to system; the +following works under Linux, except the name of the device +(\filename{/dev/cdrom}, here) may vary. (All our examples will use +\texttt{>} as the shell prompt; user input is +\Ucom{\texttt{underlined}}.) +\begin{alltt} +> \Ucom{mount -t iso9660 /dev/cdrom /mnt/cdrom} +\end{alltt} + +\noindent Change the current directory to the mount point: +\begin{alltt} +> \Ucom{cd /mnt/cdrom} +\end{alltt} + +\noindent Under \MacOSX, the directory is typically under +\dirname{/Volumes}, and the media will be mounted automatically. +} + +\def\installtlsh{ +Run the installation script \filename{install-tl.sh}: +\begin{alltt} +> \Ucom{sh install-tl.sh}\\ +Welcome to TeX Live... +\end{alltt} + +\noindent After various greeting messages and a list of the main menu +options, the installation will ask you to enter a command. Do this by +typing the desired character and hitting return; don't type the angle +brackets shown. Either uppercase or lowercase is ok; we'll use +lowercase in our examples. +} + +\runlive +\startinst +\installtlsh + +For running live, our first command will be \Ucom{d} and then the +subcommand \Ucom{1} to set directories. Even in this case, we must +choose a directory on the local disk to place files that the \TeX{} +system itself generates, such as fonts and formats, and also to provide +a place for updated configuration files, if need be. + +We'll use \dirname{/opt/texlive2007} in this example. It's good to +include the year in the name, as these generated files are not +in general compatible from release to release. (If the default value of +\dirname{/usr/local/texlive/2007} works for you, then you can skip this +step.) + +\begin{alltt} +Enter command: \Ucom{d} +Current directories setup: +<1> TEXDIR: /usr/local/texlive/2007 +... +Enter command: \Ucom{1} +New value for TEXDIR [/usr/local/texlive/TeX]: \Ucom{/opt/texlive2007} +... +Enter command: \Ucom{r} +\end{alltt} + +\noindent Back at the main menu, our second and last command is +\Ucom{r}, to set up for running live off the media without installing +to disk: +\begin{alltt} +Enter command: \Ucom{r} +Preparing destination directories... +... +Welcome to TeX Live! +> +\end{alltt} + +\noindent And we are back at the system prompt, as shown. + +Next, it is necessary to alter two environment variables: +\envname{PATH}, to an architecture-dependent value (so that we can run +the programs), and \envname{TEXMFSYSVAR}, to the value specified above. +See table~\ref{tab:archlist} for a list of the architecture names for +the different systems. + + +\def\textruntexconfig{% +After the main installation has completed, and environment variables +have been set, the last step is to run \cmdname{texconfig} or +\cmdname{texconfig-sys} to customize your installation to your needs. +This is explained in section~\ref{sec:texconfig}, +\p.\pageref{sec:texconfig}. +} +\textruntexconfig + +\begin{table*}[ht] +\caption[Supported system architectures.]{Supported system +architectures.} +\label{tab:archlist} +\begin{tabular}{>{\ttfamily}ll} +alpha-linux & HP Alpha GNU/Linux \\ +hppa-hpux & HPPA HP-UX \\ +i386-darwin & x86 \MacOSX \\ +i386-freebsd & x86 FreeBSD \\ +i386-linux & x86 GNU/Linux \\ +i386-openbsd & x86 OpenBSD \\ +i386-solaris & x86 Solaris \\ +mips-irix & SGI IRIX \\ +powerpc-aix & IBM RS/6000 AIX \\ +powerpc-darwin & PowerPC \MacOSX \\ +powerpc-linux & PowerPC GNU/Linux \\ +sparc-linux & Sun Sparc GNU/Linux \\ +sparc-solaris & Sun Sparc Solaris \\ +win32 & Windows (32-bit) \\ +x86\_64-linux & x86 64-bit GNU/Linux \\ +\hline +\end{tabular} +\end{table*} + +\label{text:path} +The syntax for setting the environment variables, and the initialization +file to put them in, depends on the shell you use. If you use a +Bourne-compatible shell (\cmdname{sh}, \cmdname{bash}, \cmdname{ksh}, et +al.), put the following into your \filename{$HOME/.profile} file: +\begin{alltt} +PATH=/mnt/cdrom/bin/\var{archname}:$PATH; export PATH +TEXMFSYSVAR=/opt/texlive2007/texmf-var; export TEXMFSYSVAR +\end{alltt} + +\noindent For C shell-compatible shells (\cmdname{csh}, \cmdname{tcsh}), +put the following into your \filename{$HOME/.cshrc} file: +\begin{alltt} +setenv PATH /mnt/cdrom/bin/\var{archname}:$PATH +setenv TEXMFSYSVAR /opt/texlive2007/texmf-var +\end{alltt} + +\noindent Then log out, log back in, and test your installation +(see section~\ref{sec:test-install}, \p.\pageref{sec:test-install}). + +\def\textifindoubt{% +If in doubt, please ask any local system gurus to help you with +problems; for example, the way to mount the \TL{} media, which +directory or directories to use, and precise details of the changes to +your personal initialization files can and do vary from site to site. +} +\textifindoubt + + +% +\subsection{Installing \protect\TeX\protect\ Live to disk} +\label{sec:unix-install-disk} + +It is possible, indeed typical, to install the \TL{} distribution to +hard disk. This can be done from either the \pkgname{live} or +\pkgname{inst} distributions. (See section~\ref{sec:multiple-dist}, +\p.\pageref{sec:multiple-dist}, for an explanation of the different +distributions.) + +\startinst +\installtlsh + +Table~\ref{tab:main-menu-options} briefly lists the options in the main +menu. The order in which you select the options makes little +difference, except that \Ucom{i} must be last. It's reasonable to go +through them in the order presented here. + +% apparently here.sty [H] doesn't support table*. +\begin{table}[H] +\caption{Main menu options for the installation.} +\label{tab:main-menu-options} +\begin{tabular}{>{\ttfamily}ll} +p & The platform you are running on.\\ +b & The architectures for which to install binaries.\\ +s & The base installation scheme to use (minimal, recommended, + full, etc.)\\ +c & Override the base scheme for individual collections.\\ +l & Override for language collections.\\ +d & Directories in which to install.\\ +o & Other options.\\ +i & Perform the installation.\\ +\end{tabular} +\end{table} + +Here are further details on each option. + +\textbf{\optname{p} -- Current platform.} Since the installation script +automatically guesses which platform you're running on, it is usually +unnecessary to use this option. It's there in case you need to override +the automatic detection. + +\textbf{\optname{b} -- Binary architectures.} By default, only the +binaries for your current platform will be installed. From this menu, +you can select installation of binaries for other architectures as well +(or omit installing the current platform). This can be useful if you are +sharing a \TeX\ tree across a network of heterogenous machines. For a +list of the supported architectures, see table~\ref{tab:archlist}, +\p.\pageref{tab:archlist}. + +\textbf{\optname{s} -- Base installation scheme.} From this menu, you +can choose an overall set of package collections, called a ``scheme''. +The default \optname{full} scheme installs everything available, but you +can also choose the \optname{basic} scheme for a minimal system, or +\optname{medium} to get something in between. There are also specific +sets for Omega and \acro{XML}. + +\textbf{\optname{c} -- Individual collections.} From this menu, you can +override the scheme's set of collections to install. Collections are +one level more detailed than schemes\Dash collections consist of one or +more packages, where packages (the lowest level grouping in \TL) contain +the actual \TeX\ macro files, font families, and so on. In this menu, +selection letters are case-sensitive. + +\textbf{\optname{l} -- Language collections}. This menu has the same +basic purpose as \Ucom{c}, to override the collection set in the chosen +scheme. In this case, the collections are specifically for different +languages. Selection letters are case-sensitive here too. Here is a +list of the language collections in \TL: + +% xx really should generate list from texmf/tpm/collection/tex-lang* +% a la install-tl.sh. +\begin{tabbing} +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \kill +(some) African scripts \> +Arabic \> +Armenian \> +Chinese\,Japanese\,Korean \\ +Croatian \> +Cyrillic \> +Czech/Slovak \> +Danish \\ +Dutch \> +Finnish \> +French \> +German \\ +Greek \> +Hebrew \> +Hungarian \> +Indic \\ +Italian \> +Latin \> +Manju \> +Mongolian \\ +Norwegian \> +Polish \> +Portuguese \> +Spanish \\ +Swedish \> +Tibetan \> +\acro{UK} English \> +Vietnamese \\ +\end{tabbing} + +\noindent Language collections typically include fonts, macros, +hyphenation patterns, and other support files. (For instance, +\pkgname{frenchle.sty} is installed if you select the \optname{French} +collection.) In addition, installing a language collection will alter +the \filename{language.dat} configuration file controlling which +hyphenation patterns are loaded. + +\textbf{\optname{d} -- Installation directories}. Three directories can +be changed here: +\label{text:instdir} + +\begin{ttdescription} +\item [TEXDIR] The top-level directory under which +everything else will be installed. The default value is +\dirname{/usr/local/texlive/2007}, and is often changed. We recommend +including the year in the name, to keep different releases of \TL{} +separate. (You may wish to make a version-independent name such +\dirname{/usr/local/texlive} via a symbolic link, which you can then +update after testing the new release.) + +Under \MacOSX, the usual frontends look for \TeX{} in +\dirname{/usr/local/teTeX}, so you may wish to install \TL{} there. + +\item [TEXMFLOCAL] This tree is where the \TeX{} system (not as part of +the initial installation, but rather as time goes by) puts +non-version-specific files, primarily fonts. The default value is +\dirname{/usr/local/texlive/texmf-local}, independent of the current +\TL{} release, because it's also the recommended location to put any +local packages or configuration settings. + +\item [TEXMFSYSVAR] This tree is where \cmdname{texconfig-sys} puts +files that \emph{are} version-specific. The default value is +\dirname{TEXDIR/texmf-var}, and there's generally no reason to change +it. There is also \envname{TEXMFSYSCONFIG}, which is where +\cmdname{texconfig} looks for modified configuration data. See +section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig} for more +information. + +\end{ttdescription} + +\textbf{\optname{o} -- Other options.} From this menu, you can select +the following general options: + +\begin{ttdescription} +\item [a] Specify an alternate directory for generated fonts. +The default is to use the \envname{TEXMFVAR} tree, as explained above. +Setting this is useful if you plan to mount the main tree read-only, and +therefore you need another location (perhaps host-specific) for +dynamically created fonts. + +\item [l] Create symbolic links for the binaries, man pages, +and\slash or \acro{GNU} Info files in other locations. For example, you may +wish to make the man pages available under \dirname{/usr/local/man} and +the Info files available under \dirname{/usr/local/info}. (Of course +you need appropriate privileges to write in the specified directories.) + +It is not advisable to overwrite a \TeX\ system that came with your +system with this option. It's intended primarily for creating the links +in standard directories that are known to users, such as +\dirname{/usr/local/bin}, which don't already contain any \TeX\ files. + +\item [d] Skip installation of the font/macro documentation tree. +This is useful if you need to save space, or if you've previously +installed the documentation elsewhere. + +\item [s] Skip installation of the main font/macro source +tree. This is useful if you are arranging to share that tree between +machines and\slash or architectures in some other way, such as \acro{NFS}. + +\end{ttdescription} + +\textbf{i -- Perform installation.} When you're satisfied with your +configuration options, enter \Ucom{i} to actually do the installation +from the media to your chosen locations. + +% text is similar to above, but no TEXMFSYSVAR, so we have to write out. +After the installation completes, your next step is to include the +architecture-specific subdirectory of \dirname{TEXDIR/bin} in your +\envname{PATH}, so the newly-installed programs can be found. The +architecture names are listed in table~\ref{tab:archlist}, +\p.\pageref{tab:archlist}, or you can simply list the directory +\dirname{TEXDIR/bin}. + +The syntax for doing this, and the initialization file to use, depends +on your shell. If you use a Bourne-compatible shell (\cmdname{sh}, +\cmdname{bash}, \cmdname{ksh}, et al.), put the following into your +\filename{$HOME/.profile} file: + +\begin{alltt} +PATH=/usr/local/texlive/2007/bin/\var{archname}:$PATH; export PATH +\end{alltt} + +\noindent For C shell-compatible shells (\cmdname{csh}, \cmdname{tcsh}), +put the following into your \filename{$HOME/.cshrc} file: +\begin{alltt} +setenv PATH /usr/local/texlive/2007/bin/\var{archname}:$PATH +\end{alltt} + +\textruntexconfig + +Here is a minimal annotated example which accepts the default +directories and installs binaries for the current system only. Thus, +only one command is needed, \Ucom{i} for install. The \texttt{>} is the +shell prompt as usual. + +\begin{alltt} +> \Ucom{sh install-tl.sh} +\Ucom{i} # perform installation +> \Ucom{texconfig} ... # see section \ref{sec:texconfig} +# New PATH element, with Linux as the example: +> \Ucom{PATH=/usr/local/texlive/2007/bin/i386-linux:$PATH; export PATH} +\end{alltt} + +If your Unix system supports the \cmdname{manpath} command (type \code{man +manpath} to learn more), you can make the \TL\ manual pages available +system-wide via the normal \cmdname{man} command by editing the file +\filename{/etc/manpath.config}; you might need root permissions for this. +With the following entry in \filename{/etc/manpath.config} the \TL\ +manual pages will be found at their original places within the \TL\ tree +(adapt the binary path for your system architecture): + +\begin{verbatim} +MANPATH_MAP /usr/local/texlive/2007/bin/i386-linux \ + /usr/local/texlive/2007/texmf/doc/man +\end{verbatim} + +\textifindoubt + + +\subsubsection{Non-interactive installation} +\label{sec:noninteractive-install} + +It is possible to override the default directories with environment +variables, and then install non-interactively. Example: +\begin{alltt} +> \Ucom{TEXLIVE_INSTALL_PREFIX=/opt/texlive} +> \Ucom{export TEXLIVE_INSTALL_PREFIX} +> \Ucom{echo i | sh install-tl.sh} +\end{alltt} + +The \envname{TEXLIVE\_INSTALL\_PREFIX} variable overrides the default +location of \dirname{/usr/local/texlive}, leaving all else +unchanged---so with the above invocation, the main installation will go +to \dirname{/opt/texlive/2007}. + +In the usual Unix way, the final \Ucom{echo i} can be replaced by any +sequence of input commands via a here document, so any sequence of +commands can be scripted. + +Here are all the possible overrides: + +\begin{ttdescription} +\item [TEXLIVE\_INSTALL\_PREFIX] + Override \dirname{/usr/local/texlive}. +\item [TEXLIVE\_INSTALL\_TEXDIR] + Override \dirname{\$TEXLIVE_INSTALL_PREFIX}/2007. +\item [TEXLIVE\_INSTALL\_TEXMFLOCAL] + Override \dirname{\$TEXLIVE_INSTALL_PREFIX/texmf-var}. +\item [TEXLIVE\_INSTALL\_TEXMFSYSVAR] + Override \dirname{\$TEXLIVE_INSTALL_TEXDIR/texmf-var}. +\item [TEXLIVE\_INSTALL\_TEXMFHOME] + Override \dirname{\$HOME/texmf}. +\end{ttdescription} + +It would be better to support a standard \acro{GNU}-style +\filename{configure} with options, instead of these environment +variables. Volunteers are welcome! + + +% +\subsection{Installing individual packages to disk} + +You can add individual packages or collections from the current +distribution to an existing non-\TL{} setup, or an earlier +\TL{} installation. + +\startinst + +Run the installation script \filename{install-pkg.sh} (not +\filename{install-tl.sh}, which is intended for complete installations +only): +\begin{alltt} +> \Ucom{sh install-pkg.sh \var{options}} +\end{alltt} + +The first set of options controls what gets read: + +\begin{ttdescription} +\item [-{}-package=\var{pkgname}] The individual package to work on. + +\item [-{}-collection=\var{colname}] The individual collection to work on. + +\item [-{}-nodoc] Exclude documentation files from the operation. + +\item [-{}-nosrc] Exclude source files from the operation. + +\item [-{}-cddir=\var{dir}] Source directory to read from; defaults +to the current directory. If you followed the instructions above, that +will be the distribution directory, and won't need to be changed. + +\item [-{}-listdir=\var{dir}] The so-called `lists' directory within +\var{cddir} from which to read the package information. The only +reason to change the default is if you're making changes to \TL{} +yourself. + +\end{ttdescription} + +What actually happens is controlled by the following options. If +neither of these are specified, the default action is to install the +selected files. The main destination tree is found by expanding +\envname{\$TEXMFMAIN} with \cmdname{kpsewhich}. You can override it by +setting either the environment variable \envname{TEXMFMAIN} or +\envname{TEXMF}. + +\begin{ttdescription} +\item [-{}-listonly] List the files that would be installed, but don't +actually install anything. + +\item [-{}-archive=\var{tarfile}] Instead of installing the files into +the \TeX{} system, make a \cmdname{tar} archive. + +\end{ttdescription} + +Additional options: + +\begin{ttdescription} + +\item [-{}-config] After installation, run \code{texconfig init}. + +\item [-{}-nohash] After installation, don't run \cmdname{mktexlsr} to +rebuild the filename database. + +\item [-{}-verbose] Give more information as the script runs. + +\end{ttdescription} + +Here are some usage examples: + +\begin{enumerate} + +\item To see the files in the package \pkgname{fancyhdr} without +installing it: + +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=fancyhdr --listonly} +\else> \Ucom{sh install-pkg.sh --package=fancyhdr \bs} +> \Ucom{--listonly} +\fi{} +texmf/doc/latex/fancyhdr/README +texmf/doc/latex/fancyhdr/fancyhdr.pdf +... +\end{alltt} + +\item Install the \LaTeX{} package \pkgname{natbib}: +\begin{alltt} +> \Ucom{sh install-pkg.sh --package=natbib} +\end{alltt} + +\item Install the \LaTeX{} package \pkgname{alg} without source files or +documentation: +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=alg --nosrc --nodoc} +\else> \Ucom{sh install-pkg.sh -{}-package=alg \bs} +> \Ucom{-{}-nosrc -{}-nodoc} +\fi\end{alltt} + +\item Install all the packages in the collection of additional +plain \TeX\ macros: +\begin{alltt} +> \Ucom{sh install-pkg.sh --collection=tex-plainextra} +\end{alltt} + +\item Write all files in the \pkgname{pstricks} package to a +\cmdname{tar} file in \path|/tmp|: +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=pstricks --archive=/tmp/pstricks.tar} +\else +> \Ucom{sh install-pkg.sh -{}-package=pstricks \bs} +> \Ucom{-{}-archive=/tmp/pstricks.tar} +\fi\end{alltt} + +\end{enumerate} + +\textifindoubt + + +% +\section{Post-installation} +\label{sec:postinstall} + +After the main installation is done, for any operating system, the +remaining steps are to configure the system for your local needs, and +perform some basic tests. + +Another sort of post-installation is to acquire packages, fonts, or +programs that were not included in \TL{}. The basic idea is to +install such additions in the \envname{TEXMFLOCAL} tree (if you +installed to disk), or \envname{TEXMFSYSVAR} (if you are running live). +See the ``Installation directories'' option on \p.\pageref{text:instdir}. + +Unfortunately, the details can and do vary widely, and so we do not attempt to +address them here. Here are some external links to descriptions: +\begin{itemize*} +\item +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages} +\item +\url{http://www.ctan.org/installationadvice} +\item +\url{http://www.ctan.org/tex-archive/info/beginlatex/html/chapter5.html#pkginst} +\item +\url{http://www.ctan.org/tex-archive/info/Type1fonts} for +installation information for fonts in particular. +\end{itemize*} + + +\subsection{The \protect\cmdname{texconfig} program} +\label{sec:texconfig} + +At any time after installation, you can and should use the program +\cmdname{texconfig} to configure the system to fit your local needs. It +is installed in the architecture-specific subdirectory +\texttt{TEXDIR/bin/\var{arch}} along with everything else. + +If you run it without arguments, it will enter full-screen mode and +allow you to view and change options interactively. + +You can also run it with various command-line options. Here are some of +the most common (\TL{} is configured for the A4 paper size by default): + +\begin{ttdescription} + +\item [texconfig paper letter] Set default paper size for +various programs and drivers (\cmdname{pdftex}, \cmdname{dvips}, +\cmdname{dvipdfm}, \cmdname{xdvi}) to be \acro{US} letter. The other +allowable size is \optname{a4}, which is the default. + +\item [texconfig rehash] Update all the \TeX{} ``filename databases'', +after adding or removing files. + +\item [texconfig faq] Show the \teTeX{} \acro{FAQ}. +(See also the main \TeX{} \acro{FAQ} in \OnCD{texmf-doc/doc/english/FAQ-en}.) + +\item [texconfig help] Output help information for \cmdname{texconfig}. + +\end{ttdescription} + +Of course, \cmdname{texconfig} can only support changing a few of the +many options and configuration parameters in a \TeX{} system. The main +configuration file for the base \Webc{} programs is named +\filename{texmf.cnf}. You can find its location by running +\samp{kpsewhich texmf.cnf}; it contains many comments explaining the +default settings and useful alternatives. + +\cmdname{texconfig} alters files in a user-specific directory, as in +\dirname{$HOME/.texlive2007}. If you install \TeX\ just for yourself, +that is unlikely to make a difference. But if you install \TeX\ on a +multi-user system, you will want to change the configuration for the +whole system. In this case, run \cmdname{texconfig-sys} instead of +\cmdname{texconfig}. + +Likewise, the \cmdname{updmap} and \cmdname{fmtutil} scripts were +changed, to work under \dirname{$HOME/.texliveYYYY}. To alter system +directories, use \cmdname{updmap-sys} and \cmdname{fmtutil-sys}. + +In particular, for multi-user systems, you will probably want to +pregenerate the standard formats with \texttt{fmtutil-sys --missing}. +Otherwise, each user will end up with their own formats. + +Also, if you have a personally-modified copy of \filename{fmtutil.cnf} +or \filename{updmap.cfg}, instead of using the ones generated by +installation, they must be installed in the tree referenced by the +variable \envname{TEXMFSYSCONFIG}. + +The variables specifying the directories altered by these commands are +listed in section~\ref{sec:texmftrees}, \p.\pageref{sec:texmftrees}. +You can see the actual directories by running \texttt{texconfig conf}, +and you can change them by editing \filename{texmf.cnf}. + + +\subsection{Testing the installation} +\label{sec:test-install} + +After installing \TL{} as best you can, you naturally want to test +it out, so you can start creating beautiful documents and\slash or fonts. + +This section gives some basic procedures for testing that the new system +is functional. We give Unix commands; under \MacOSX{} and Windows, +you're more likely to run the tests through a graphical interface, but +the principles are the same. + +\begin{enumerate} + +\item Make sure that you can run the \cmdname{tex} program in the first +place: + +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.141592 (Web2C 7.5.5) +kpathsea version 3.5.5 +... +\end{alltt} +If this comes back with `command not found' instead of version and +copyright information, most likely you don't have the correct +\dirname{bin} subdirectory in your \envname{PATH}. See +the environment-setting information on \p.\pageref{text:path}. + +\item Process a basic \LaTeX{} file: +\begin{alltt} +> \Ucom{latex sample2e.tex} +This is pdfeTeXk, Version 3.141592... +... +Output written on sample2e.dvi (3 pages, 7496 bytes). +Transcript written on sample2e.log. +\end{alltt} +If this fails to find \filename{sample2e.tex} or other files, perhaps +you have interference from old environment variables or configuration +files. For a deep analysis, you can always ask \TeX{} to report on +exactly what it is searching for, and finding; see ``Debugging actions'' +on page~\pageref{Debugging}. + +\item Preview the result online: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} +\end{alltt} +(Under Windows, the analogous command is \cmdname{dviout}.) You should +see a new window with a nice document explaining some of the basics of +\LaTeX{}. (Well worth reading, by the way if you're new to the system.) +You do have to be running under X for \cmdname{xdvi} to work; if you're +not, or your \envname{DISPLAY} environment variable is set incorrectly, +you'll get an error \samp{Can't open display}. + +\item Create a \PS{} file for printing or display: +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item Create a \acro{PDF} file instead of \dvi{}; this processes the +\filename{.tex} file and writes \acro{PDF} directly: +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item Preview the \acro{PDF} file: +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{or:} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} +Unfortunately neither \cmdname{gv} nor \cmdname{xpdf} are currently +included in \TL{}, so you must install them separately. See +\url{http://www.gnu.org/software/gv} and +\url{http://www.foolabs.com/xpdf}, respectively. + +\item Other standard test files you may find useful: + +\begin{ttdescription} +\item [small2e.tex] A simpler document than \filename{sample2e}, to +reduce the input size if you're having troubles. +\item [testpage.tex] Test if your printer introduces any offsets. +\item [nfssfont.tex] For printing font tables and tests. +\item [testfont.tex] Also for font tables, but using plain \TeX{}. +\item [story.tex] The most canonical (plain) \TeX{} test file of all. +You must type \samp{\bs bye} to the \code{*} prompt after \samp{tex +story.tex}. +\end{ttdescription} +You can process these in the same way as we did with +\filename{sample2e.tex}. + +\end{enumerate} + +If you are new to \TeX{}, or otherwise need help with actually +constructing \TeX{} or \LaTeX{} documents, please visit +\url{http://tug.org/begin.html} for some introductory resources. + + +\section{\MacOSX{} installation} +\label{sec:mac-install} + +The recommended way to install \TeX\ on \MacOSX\ is from the Mac\TeX\ +distribution, new in 2005. This is provided on the \pkgname{live} +\DVD{} in the top-level \dirname{mactex/} directory. It contains its +own (native) installer for a full \TeX\ distribution, based on a +combination of te\TeX\ and \TL, along with many additional applications +and documentation. The project web page is \url{http://tug.org/mactex}. + +If you prefer, installation of \TeX{} under \MacOSX{} can also be done +directly from \TL, using the \filename{install*} scripts, as follows. + +In order to run the installation scripts under \MacOSX, you need to have +the \cmdname{bash} shell installed. If you are running \MacOSX~10.2 +or later, you have \cmdname{bash}, and can proceed. If you're running +an earlier \MacOSX{} version, however, the default shell is +\cmdname{zsh}, which won't work; you'll need to get \cmdname{bash} from +the Internet, or more likely upgrade your system. + +Once you have \cmdname{bash}, the Unix installation documentation in the +previous section can be followed. See section~\ref{sec:unix-install} on +\p.\pageref{sec:unix-install}; \MacOSX-specific notes are included there +where needed. + +\section{Windows installation} +\label{sec:win-install} + +In this release of \TL{}, happily, the distribution once +again has a native Windows installer, named \cmdname{tlpmgui.exe}. (See +section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}, for an +explanation of the different distributions.) + +\cmdname{tlpmgui} has essentially the same options as the Unix +installer, only done through a GUI interface: selecting schemes, +individual collections, installation directories, and so on. +Section~\ref{sec:unix-install-disk} on +\p.\pageref{sec:unix-install-disk} describes the basic elements. It +also allows some post-installation activities such as adding/removing +packages, updating the filename database and building formats. +Moreover, \cmdname{tlpmgui} can setup the system for running +programs directly from the \DVD. + +For those who like to look underneath the hood, \cmdname{tlpmgui} uses +as its ``engine'' a command-line Windows program named \cmdname{tlpm}. + +The Windows \TeX{} system included in \TL{} is based on new binaries +borrowed from the \acro{W32TEX} distribution, kindly provided by Akira Kakuto. +It also includes some older (but still working) tools made by Fabrice +Popineau, and also a new \texttt{dvi} previewer, \textsf{dviout} by +Toshio Oshima. + +\TL{} can be installed on systems running Windows 98, \acro{ME}, +\acro{NT}, \acro{2K} or \acro{XP}. Older versions of Windows (3.1x) +and \acro{MS-DOS} are not supported. + +\textbf{Warning:} Win9.x users must ensure they have enough environment + space before undertaking installation. The \cmdname{tlpmgui.exe} + program won't change the environment size for them. A few environment + variables will be created and it is possible you run out of + environment space. Add \texttt{SHELL=<path>COMMAND.COM /E:4096 /P} in the + config.sys file in order to increase your environment size. + +\subsection{Installing \protect\TeX\protect\ Live to disk} + +After inserting the \TL{} \acro{CD} into the \acro{CD} drive, autostart should +activate \cmdname{tlpmgui}. If it does not, click \guiseq{Start\arw Run}, +then type \verb|<drive letter>:\setuptl\tplmgui.exe| (or +\verb|<drive letter>:\texlive\setuptl\tplmgui.exe| if you are +installing from the \TeX\ Collection \acro{DVD}), where \verb|<drive letter>| +is the drive letter with the \TeX\ Live \acro{CD} (or TeX Collection +\acro{DVD}), and then click \acro{OK}. + +The installation window titled \guiseq{TeX Live installation and maintenance +utility} should open. It contains the following sections: \guiseq{Main +customization}, \guiseq{Install}, \guiseq{Select a scheme}, \guiseq{Select +systems}, \guiseq{Directories} and \guiseq{Options}. + +By default, \cmdname{tlpmgui} tries to detect if \TeX{} is already +installed and depending on the result starts either in fresh +installation or maintenance mode. If you have \TeX{} already installed +but want to install the new version nevertheless, you can use +\texttt{tlpmgui~--install-mode} to force installation mode; but you +should know what you are doing, as the new \TL{} installation will +override the environment variables and other settings of the existing +installation; reverting to your old installation is not automatically +supported. + +Diagnostic information is collected by \cmdname{tlpmgui} in a log file +which is deleted at the end of the run, along with any other temporary +files. Invoking with \texttt{--debug} displays the names and contents +of all \cmdname{tlpmgui} temporary files in a separate window. + +In the \guiseq{Directories} section the installation drive (directory) +next to the \guiseq{CD/DVD} button should be displayed (e.g., +\texttt{F:/} or \texttt{F:/texlive/} for the \acro{DVD}), but if it is not, +then click the \guiseq{CD/DVD} button and select the \acro{CD/DVD} +drive, with the \TL{} \acro{CD} (or \TeX\ Collection \acro{DVD}). + +The directory in which you wish to install the software can be set by +clicking the \guiseq{TLroot} button. This directory will be set as +\path|TLroot| environment variable for later usage. + +In the \guiseq{Select a scheme} section the desired \TL{} installation scheme +should be chosen by clicking the radio button labelled with the installation +scheme name (e.g., \guiseq{scheme-gust}). Each scheme is accompanied by an +\guiseq{Info} button which, when clicked, displays a short description of the +relevant scheme. + +A scheme is a large set of files targeted at some kind of usage. There are +generic schemes for basic, medium and full installations. The remaining ones +are either targeted at certain LUGs (i.e., what GUST or GUTenberg propose +for their members) or application targeted (e.g., for XML and \TeX{} +cooperation). A preselected scheme can be refined. This is done in the +\guiseq{Main customization} section by choosing additional collections from +\guiseq{Standard collections} or \guiseq{Language collections}. For example, +by clicking the \guiseq{Select} button labelled \guiseq{Standard +collections}, additional collections like Metapost, Omega or documentation +in different languages can be selected. + +\guiseq{Wintools} collection is selected by default as it contains many small +programs, usually absent in Windows, which can be handy, like graphics +converters: \cmdname{sam2p}, \cmdname{jpeg2ps}, \cmdname{tiff2png}; +(de)compression programs: \cmdname{bzip2}, \cmdname{gzip}, \cmdname{unzip}, +and \cmdname{wget} which is needed for \cmdname{getnonfreefonts} (new) +utility. + +Next, clicking the \guiseq{Select} button labelled \guiseq{Language +Collections} in the \guiseq{Main customization} section opens the +\guiseq{Language collections} window in which the installation language can +be chosen by ticking the box next to the language. + +Next, click the \guiseq{Install} button in the \guiseq{Install} section to +start the installation proper process. + +\textbf{Note:} The \guiseq{Perl} and \guiseq{Ghostscript} are installed only +on demand. They should be installed unless they are already installed and you +really know what you are doing. Both programs are required by many important +tools. The \verb|PERL5LIB| and \verb|GS_LIB| environment variables will be +set too, as well the path to Ghostscript binaries will be added to the +\verb|PATH| variable. + +The \TL{} system needs some post-processing steps (format files +generation, ls-R databases generation, environment variables, etc.). All +these operations are done there, some of them can be lengthy. So please wait +until you see a statement about the successfully finished installation. + +The shortcut for \cmdname{tlpmgui} (and also \cmdname{dviout}, if installed) +will be added to the menu \guiseq{Start\arw Programs\arw TeXLive2007}. + +If it is needed (Win9x/WinME), you will be asked to reboot your computer. + +\subsection{Support packages for Windows} +\label{sec:win-xemtex} + +To be complete, a \TL installation needs support packages that are not +commonly found on a Windows machine. Many scripts are written using the Perl +language. Some important tools require the Ghostscript \PS{} interpreter to +render or to convert files. A graphic file toolbox is also needed in some +cases. Last but not least, a \TeX-oriented editor makes it easy to type in +your \TeX{} files. + +All these tools are quite easy to find for Windows, but in order to try to +make your life even easier, we have put such a set of tools on \TL: +\begin{itemize*} +\item GNU \cmdname{Ghostscript} 8.54 +\item a minimal \cmdname{Perl} 5.8, sufficient to run all the \TL{} + Perl scripts. +\item win-tools is a set of small programs (bzip2, gzip, jpeg2ps + and tiff2png) +%\item a subset of \cmdname{ImageMagick} 5.5.6 +%\item the \cmdname{ISpell} checker +%\item \cmdname{XEmacs} 21.5.14 with a selection of packages to support +%\TeX{} typesetting. +\end{itemize*} + +Perl and Ghostscript are installed upon request; you may explicitly +deselect them during installation if you already have them. + +If you don't want to install this bundle, then you are on your own to +install the required tools to complete your \TL{} system. Here is a +list of places to get those tools: + +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.activestate.com/} (but you might need some + supplementary packages from CPAN: \url{http://www.cpan.org/}) +\item[ImageMagick] \url{http://www.imagemagick.com} +\item[NetPBM] alternatively, you could use NetPBM instead of ImageMagick to + process or convert your graphic files. NetPBM home page is + \url{http://netpbm.sourceforge.net/} +\item[\TeX-oriented editors] There is a wide choice, and it is a matter of the + user's taste. Here is a selection: + \begin{itemize*} + \item \cmdname{GNU Emacs} is available natively under Windows, see + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html} + \item \cmdname{Emacs} with AucTeX is available natively under Windows, see + \url{ftp://alpha.gnu.org/gnu/auctex} + \item \cmdname{WinShell} is available on \TL in the \path|support| + directory, see \url{http://www.winshell.de} + \item \cmdname{WinEdt} is shareware available from \url{http://www.winedt.com} + \item \cmdname{Vim} is available from \url{http://www.vim.org} + \item TeXnicCenter is free software, available from + \url{http://www.toolscenter.org} and in the proTeXt distribution. + \item \cmdname{LEd} is available from \url{http://www.ctan.org/support/LEd} + \item \cmdname{SciTE} is available from \url{http://www.scintilla.org/SciTE.html} + \end{itemize*} +\end{description} + +You might want to install other tools that are not free\footnote{Not +free, that is, in the sense of freedom to modify and redistribute, +following free software guidelines. This does not mean you can't acquire +them for no money.} and therefore not included on \TL{}, such as +\cmdname{GSView}, the \cmdname{Ghostscript} companion to more +conveniently view PS/PDF files. \cmdname{GSView} is available from +\url{http://www.cs.wisc.edu/~ghost/gsview/} or any \acro{CTAN} site. + +\section{Maintenance of the installation in Windows} + +If you have \TeX\ Live installed, you can use \cmdname{tlpmgui} again +for modifying and maintaining your installation. + +\subsection{Adding/removing packages} + +As the \cmdname{tlpmgui} shortcut is available in the \guiseq{Start\arw +Programs\arw TeXLive2007} menu, start it from here. The maintenance window +titled \guiseq{TeX Live installation and maintenance utility} shows. It +contains several tabs: \guiseq{Add Packages}, \guiseq{Remove packages}, +\guiseq{Manage installation}, \guiseq{Remove installation}. + +Click the tab labelled \guiseq{Add packages} or \guiseq{Remove packages} +to enter the relevant functionality and then: + +\begin{itemize} +\item In the first tab select the proper \CD{} drive (or \DVD with + \texttt{texlive} directory) by pressing the \guiseq{CD/DVD} button. +\item Click the \guiseq{Search} button in the \guiseq{Buttons} section to +display or refresh in the \guiseq{Select packages to\dots} section the +list of packages to install or remove. + +When adding packages, the list of installed packages is compared to the list +of packages available from your \CD/\DVD. Only packages not already installed are +displayed. It is up to you to select which packages you want to +install. + +When removing individual packages, only a list of installed packages +will be displayed. + +Please note that for both \guiseq{Add packages} and \guiseq{Remove packages} +the collections are listed first. + +\item Select a package by clicking on the name of the package. Clicking the +\guiseq{Info} button in the \guiseq{Buttons} section displays a short +description of the selected package in the window located in the \guiseq{Info +about the selected item} section. To select several packages at once hold +down one of the Ctrl or Shift keys at your keyboard while holding down the +left mouse button or drag the mouse pointer while holding down the left mouse +button. + +\item Click the \guiseq{Install} or \guiseq{Remove} button in the +\guiseq{Buttons} section to perform the appropriate action. +\end{itemize} + +\subsection{Configuring and other management tasks} + +The functions available in the tab labelled \guiseq{Manage the installation} +are helpful in performing actions needed when you want to add support for a +language which was not selected during the installation, or add/regenerate a +format which was not selected during the installation or was modified after +the installation. + +The following actions can be performed: + +\begin{itemize} +\item Refresh the \filename{ls-R} database +\item Create formats (All or Missing) +\item Edit \filename{language.dat} +\item Edit \filename{fmtutil.cnf} +\item Edit \filename{updmap.cfg} +\end{itemize} + +Note: you can close the Edit\dots{} window with the \guiseq{Cancel} or +\guiseq{Done} button; the latter will start rebuilding the format files +(or the fontmap files if you have edited \filename{updmap.cfg}), followed by a +\filename{ls-R} database files refresh. + +For more information about the configuration see section~\ref{sec:persconf}, +\p.\pageref{sec:persconf}. + +\subsection{Uninstalling \protect\TL{}} + +The tab labelled \guiseq{Remove the TeX Live installation} opens a window +which contains functionality not worth describing and we do not know who would +need it and what it is for\dots :-) + +Anyway, if you have the \path|texmf-local| directory for your local additions, +the removal procedure will not wipe it out or delete things in it. However, +it will be done only if you select it explicitly. The \path|setuptl| +directory containing \cmdname{tlpmgui} and related files will not be deleted. +You will have to do some manual cleanup to actually remove them. + +\subsection{Adding your own packages to the installation} + +First, whatever changes you make, \textbf{do not forget to rebuild the ls-R +database files}. Otherwise, your new files will not be found. You can do this +either via the \cmdname{tlpmgui} run and selection of the appropriate action +from the \guiseq{Manage the installation} tab, or manually running the +\file{mktexlsr} command. + +If you want to add files that are not provided by the \TL{} distribution, +it is recommended to put them in the \path|$TEXMFLOCAL| directory. This +way, you will be safe against upgrades of the \TL{} software. + +The directory pointed to by \path|$TEXMFLOCAL| is initially empty. If, +for example, you want to add the support file for the Maple symbolic +computation program, you will have to put the style files in:\\ +\path|c:\TeXLive2007\texmf-local\tex\latex\maple\|\\ and the +documentation files in:\\ \path|c:\TeXLive2007\texmf-local\doc\latex\maple\| + +\subsection{Running \texttt{tlmp.exe} from the command line} +The \cmdname{tlpm.exe} program which is used as engine by \cmdname{tlpmgui} +has a number of other useful options. You can get the list by running: +\begin{verbatim} +tlpm --help +\end{verbatim} + +More information and examples of use can be found in \path|tlpm.readme|. + +\subsection{Network installation} + +\KPS{} knows about UNC names, so you can use them to get your TEXMF +tree from the network. But there is better than this. +All the support files and configuration files, everything except the files in the +\path|bin/win32| are shareable with a \teTeX{} or Unix \TL{} installation. That means +you can use Samba either to mount from an NT server to a Unix +workstation or the converse. Several strategies are possible: +\begin{itemize} +\item Put everything on the server. Just add each set of files for the OS and +architecture you want to use in the \path|bin| directory. That means +for example \path|bin/win32| and \path|bin/i386-linux|. Next configure +your main variables. You can use UNC names to +point to the right directories under Win32. +\item Install a local copy for the binaries and format files. In this + case, assign \path|$TEXMFMAIN| to the main \path|texmf| tree that + will be accessed remotely. Set \path|$TEXMFVAR| to be a local + directory which will hold local configuration files and on-the-fly + generated files. +\end{itemize} + +\subsection{What's different in Windows?} + +The Windows version of \Webc{} has some specific features that should be +pointed out. + +\begin{description} +\item[\cmdname{kpsecheck}] This command provides some options that did + not fit well into \cmdname{kpsewhich}. It will allow you to list all + the files that occur multiple times across your texmf trees. This + could be handy, but most of the time you will also get unwanted + output (like dozens of \path|README| files). It is noticeable + that all these files result in clashes inside the \KPS{}-hashing + mechanism; fortunately, \KPS{} never looks for these files. For + this reason, you can combine the \path|-multiple-occurrences| with 2 + other options for including or excluding any filename that match + some pattern (you can request for several patterns). + + The \cmdname{kpsecheck} command will also report the status of shared + memory: in use or not used. That might be useful to know because if + the status reported is \samp{in use}, that means one or several + processes are working, and the effect of any \cmdname{mktexlsr} + command will be delayed until the next time where no \KPS{} linked + process will be running. + + Last, this same command will report about the location it thinks + Ghostscript can be found. Under Win32, for many programs, it is + easier to use the Ghostscript dll, and find it by using the + Ghostscript registry key than to change the \path|PATH|, which has a + limited length anyway. +\item[\Webc{}] The engines have one more option than in Unix \Webc: + \begin{itemize} + \item \path|-proctimes| print statistics about the job run + time. It is to be noted that Win9x not being a true multitasking + operating system, it has no reliable timer for short periods, so + the value printed is an approximation. Under NT/2K/XP, the result + is quite accurate with user time and system time values allocated + for this run. For Unix + users: the \path|time| command is not usually available to Windows + users. + \end{itemize} +\end{description} + +\subsection{Personal configurations} +\label{sec:persconf} + +\subsubsection{Dvips} + +The configuration file for dvips can be found in\\ +\verb+C:\TeXLive2007\texmf-var\dvips\config\config.ps+\\ +You may open it with any editor + %(\cmdname{WinShell} will do fine) + and change some parameters: + +\begin{description} +\item [fonts] you can change the default printer \MF{} mode or printer + resolution in case \cmdname{dvips} needs to generate PK fonts. By default it + is configured to use Type~1 versions of the CM fonts, so it should + not call \cmdname{mktexpk} too often; +\item[printer] you can tell dvips where you want to print by default. If + the \optname{o} option is not followed by a printer name, then a + \file{.ps} \PS{} file is written. You can give dvips a printer + name such as: +\begin{verbatim} +o lpt1: +% o | lpr -S server -P myprinter +% o \\server\myprinter +\end{verbatim} +\item[paper] Next, you might want + to change the paper size from European (A4) to US letter + by making the US letter the first paper size mentioned in the file. + Scroll to the group of lines beginning with \code{@}. Move + the appropriate lines so that this section begins with the lines:\\ +\hspace*{1em} @ letterSize 8.5in 11in\\ +\hspace*{1em} @ letter 8.5in 11in\\ +\hspace*{1em} @+ \%\%BeginPaperSize: Letter\\ +\hspace*{1em} @+ letter\\ +\hspace*{1em} @+ \%\%EndPaperSize +\end{description} + +The current \TL{} distribution implements the procedure of making always +up-to-date fontmaps files for Dvips and Pdftex. This is done by the +\cmdname{updmap} program during installation. +If you add new font packages using the installation program or by hand, +edit the file \verb+updmap.cfg+ in \path|$TEXMFVAR/web2c|. + +\subsubsection{PdfTeX} + +If you use the program pdf{}latex to write \acro{PDF} format directly, +and you are using \acro{US} letter-size paper, edit the file +\verb+C:\TeXLive2007\texmf-var\tex\generic\config\pdftexconfig.tex+ and +change \samp{\bs pdfpagewidth} and \samp{\bs pdfpageheight}. These entries +should read: +\begin{alltt} +\bs{}pdfpagewidth=8.5 true in +\bs{}pdfpageheight=11 true in +\end{alltt} +Save the file and exit the editor. + +\subsubsection{Xe\TeX} +Xe\TeX{} for Windows is linked statically with fontconfig 2.4.2. +A configuration file for fontconfig is \verb+fonts.conf+. For details, +see the file \verb+fonts.conf+ itself which is in a directory shown by +the command \texttt{kpsewhich --var-value=FONTCONFIG\_PATH}. + +\subsubsection{GSView} +GSView is now distributed under the Aladdin License, and therefore is no +longer included in \TL{}. + +You may want to change the page size to US letter size. If so, open +GSView from the \guiseq{Start} menu, and select \guiseq{Media\arw Letter}. + +Also, there are menu settings that are supposed to give you the most +readable screen image. On \guiseq{Media \arw Display Settings}, set both +\optname{Text Alpha} and \optname{Graphics Alpha} to 4~bits. + +Note that the installation process has set all \code{.ps} and +\code{.eps} files to automatically open with \cmdname{GSView}. + +For printing instructions, see section~\ref{printing} below. + + +\subsection{Testing} + +For generic verification procedures, see section~\ref{sec:test-install} +(\p.\pageref{sec:test-install}). This section describes +Windows-specific tests. + +Open the file \verb+sample2e.tex+ in your editor (Xemacs, WinShell), +found in \path|C:\TeXLive2007\texmf-dist\tex\latex\base|. The \LaTeX\ source +should appear on the screen. Process it by clicking on the +\guiseq{Command\arw LaTeX} menu (XEmacs) or \LaTeX\ icon on the toolbar +(WinShell), then view it by clicking on the \guiseq{Command\arw View DVI} +menu (XEmacs) or Preview (dviout) icon (WinShell). + +At first, when you preview files with \cmdname{dviout}, it will create fonts +because screen fonts were not installed. After a while, you will have created +most of the fonts you use, and you will rarely see the font-creation window. + +\textbf{Hint for the future:} If a \LaTeX\ run stops because \LaTeX\ +cannot find a file, you can press Ctrl-z to quit. + + +\subsection{Printing} +\label{printing} + +It is possible to print from \cmdname{dviout}. In this case, printing +will be done using the Windows unified printer driver. By definition, it is +compatible with all printers. However, there is some drawback: it can +generate some huge spool files, and some (older) versions of Windows +just don't like them. The advantage is that you can use features like +embedding BMP or WMF images. You also need to make sure that the printer +parameters are correctly set, else you +will get scaled printing (printing at 600\dpi{} on a 300\dpi{} printer +will give you only one quadrant of your page). + +Printing is faster and more reliable if you run \cmdname{dvips} to make +a \filename{.ps} file and then print from \cmdname{GSView}. In +\cmdname{GSview}, select \guiseq{File\arw Print\ldots}. A \guiseq{Print} +window will appear. + +If you are using a \PS{} printer, \textit{be sure to select +\guiseq{\PS{} Printer}}. This is done in the \guiseq{Print Method} box +at the bottom left of the \guiseq{Print} window. You can then select any +of the printers that you have previously installed. If you fail to +check the box for \optname{\PS{} Printer}, printing will not work. + +If you will be using your own non-\PS{} printer, select +\guiseq{Ghostscript device} in the \guiseq{Print Method} box, then click +on the button to the right labelled \guiseq{djet500} and select your +printer type from the list that pops up. (In the older version of +\cmdname{GSView}, make sure \optname{\PS{} Printer} is \textit{not} +selected, then select your printer type from the \guiseq{Device} list.) + +\subsection{Tips and tricks for Win32} + +\subsubsection{Different flavors of Win32} + +What we call Win32 is not an operating system by itself. It is a large +set of functions (around 12,000 in the header files of the Microsoft +\acro{SDK}) that you can use to write programs for different operating +systems of the Windows family. + +Windows comes in different flavors: +\begin{itemize} +\item Win95, Win98 and Win\acro{ME}, which \emph{are not true multitasking, + multithreading} environments, but rather updated incarnations of + \acro{DOS}. This can be more or less proven by the fact that when + booting, the PC will load the \path|command.com| interpreter, and if + you stop the boot process at this point, you can ask for the current + (\acro{DOS}) version and it will answer something like \samp{MS-DOS + 7.0} (at least for the old versions of Win9x). +\item Windows \acro{NT}, which is a new operating system written from + scratch, capable of true multitasking behavior, and including many + high level features. +\item Windows 2000, based on \acro{NT}, with all the bells and + whistles of Win98. +\item Windows \acro{XP}, which comes with Personal and Pro flavors. This is + the last step in merging both lines of products (Win9x based and + \acro{NT} based). \acro{XP} is based on \acro{NT}. +\end{itemize} + +Win9x are able to run 32~bits programs and 16~bits programs +concurrently. But the operating system by itself is not entirely +written in 32~bits mode, and does not support memory protection: 16bits +applications can overwrite parts of the operating system memory! Some +parts of the system like the \acro{GDI} (Graphical Device Interface) +manage limited resources like bitmaps, fonts, pens and so on for the set +of all programs that run concurrently. All the bitmaps headers available +at the same time can't amount for more than 64kB. This explains the +performance tool and the fact that you can put your system on his knees +by making intensive use of graphic objects for example. + +NT, 2K and XP do not suffer from these limitations, and neither from +other Win9x limitations. They are true multitasking environments, with +protected memory. They are much more responsive than Win9x because +of better memory management, better file system and so on. + +\subsubsection{Command line prompt} + +You may wonder, ``Why would I need to use a command line prompt when +I have Windows?'' + +Good question! The problem is of very general nature. Not all operations +can be done easily using only a \acro{GUI}. Command line gives you +programming power\Dash assuming a clever command interpreter. + +But the problem here is more fundamental: \TeX{} is \emph{a batch} +tool. Not an interactive one. \TeX{} needs to compute the best +layout for each page, resolve cross-references and so on. This can be +done only by a global processing of the document. It is not (yet) a +task that can be done interactively. + +This means that you should use \TeX{} from a command line. In fact the +situation is not so bad. There is an advantage to write command line +tools for complex processing: they are better debugged, because they are +independent of any \acro{GUI} problems, and \acro{GUI} tools can be +designed to interface to the command line tools. This is the case for +\TeX{}, where you will mostly interact with it through a \acro{GUI} text +editor. + +However, you may need to use the command line prompt in a number of +situations. One is when you are having difficulties and want to debug +your setup. + +\begin{description} + \item[Win9x] You can open a command line prompt by looking either for + the \acro{MS-DOS} icon in the \guiseq{Start\arw Programs} menu, + or by choosing \guiseq{Start\arw Run} menu typing in + \path|command.com| as the program name. + \item[NT, 2K, XP] You can open a command line prompt by looking for + \guiseq{Command Prompt} in the \guiseq{Start\arw Accessories} menu. + You can also choose \guiseq{Start\arw Run} and type in + \path|cmd.exe|, which is the name of the brand new command + interpreter for \acro{NT} (thus, it is untrue to call this a + \emph{DOS} box!). +\end{description} + +These locations may change across different Windows versions. + +\subsubsection{Path separators} + +The Win32 API understands both \path|/| and \path|\| characters as PATH +separators. But the command interpreters do not! So whenever a path name +is used programmatically, you can use both separators, and even mix them +up in the same path name. But on the command line, you must type +\path|\| as path separator. The reason is compatibility: the command +processor used \samp{/} to introduce arguments to commands. + +All this to say: do not be surprised to read path names written using +the Unix convention; Windows-\TL{} is a port of \Webc, and aims to be +compatible across platforms. For this reason, all the configuration files +that need to specify path names use the Unix convention. + +\subsubsection{File systems} +\label{sec:clusters} + +The worst feature of Win9x with regard to \TeX{} is probably the +so-called FAT file system. \TeX{} uses very many small files, with size +around 1--3kB. The \acro{FAT} file system is old, and predates by +decades the multi-gigabytes hard disks we have today. As a result, it +cannot manage efficiently the tens of thousands of \TeX{} files found in +\TL{}. The \acro{FAT} file system allocates a minimum of 32kB for +\emph{any} file on a huge partition. It means that \TeX{} will use much +more disk space than it actually needs. + +The other, more modern, file systems available, \acro{FAT32} and +\acro{NTFS}, do not have this drawback. They manage clusters of 4kB +only. (You can lower the limit to 512 bytes on \acro{NTFS}.) + +\subsubsection{How to add some directory to your PATH} + +There are pairs of variables and values which behave much like global +variables inside your programs. The set of those variables is called the +environment. Each program is initialized with a copy of the +environment when it is run. It can request and change the +value of any variable. The changes happen in the copy of the +environment, and is not at all propagated to the other running +programs. + +Your PATH is a special environment variable used to search for +programs you want to run. +There is a different procedure to change it for Win9x, WinME and NT/2K/XP: + +\begin{description} +\item[Windows 95/98] Edit your \path|autoexec.bat|. In this file should be a line + starting with \texttt{PATH=} and followed by a list of directories separated + by \path|;|. Please add the directory with the executables in this line. + After this, this line could look as follows: +\begin{verbatim} +PATH=c:\windows;c:\windows\system;c:\TeXLive2007\bin\win32 +\end{verbatim} +\item[Windows ME] You need to run the special program + \path|c:\windows\system\msconfig.exe| to be able to change any + environment variable. From this program, select the `Environment' + tab, and then add or modify the variable you want. You will be asked to reboot the + machine upon any change. +\item[Windows NT/2K/XP] + Click left on \guiseq{Start \arw Settings \arw Control Panel}. Now the + window with the control panel icons opens. Double click on System. The + System Properties window opens. Click on the tab \textsf{Environment} + or look for a button named \guiseq{Environment Variables} among the + dialog boxes. Now you can change the environment variables for your + user account. Note: There are also displayed the environment settings + for the system. Normally, you can't change the system variables + unless you have administrator rights on your machine. If you want to + change the \texttt{PATH} for all users, you will have to contact your + system administrator or be the system administrator yourself\Dash in + the latter case you should know what you are doing. + + If there is already a \texttt{PATH} setting for your user account, + left click on \texttt{PATH}. In the field \textsf{Variable} appears + \texttt{PATH} while the field Value shows the current setting of + \texttt{PATH} as a list of directories separated by \path|;|. Add + the directory where the executables are located (e.g. + \path|c:\TeXLive2007\bin\win32|). If there isn't a \texttt{PATH} variable + for your user account, simply click in the field Variable and type + in \texttt{PATH}, click in the field \textsf{Value} + and type in the directory with the executables. Important: Click on + the \textsf{Apply} button before clicking \textsf{Ok}, otherwise the + changes to \texttt{PATH} won't apply to your system. Be careful when + changing the environment settings. +\end{description} + +The best way to be sure that a variable has been properly set is to +open a console and type: +\begin{verbatim} +set VARIABLE +\end{verbatim} +which should return the corresponding value. + +\subsubsection{\TeX{} engines} + +If you have a look at the \Webc{} documentation, you will read that all +the various \TeX{} derived programs use the same base engine. For +example, \path|tex.exe| and \path|latex.exe| are exact copies of the +same program, but each one will use a different format file, based on +its calling name. + +Under Unix, this feature is implemented through \emph{symbolic +links}. It saves up a bit of disk space, because some engines are +used with many different format files. + +The Win32 API does not know about file links. So to save up almost +the same amount of memory, all the \TeX{} base engines have been put +in DLLs (\emph{Dynamic Linked Library}). This means that you will have +the following layout: +\begin{alltt} +2006-11-23 07:06 2 560 latex.exe +2007-01-06 23:54 1 073 664 pdftex.dll +2006-01-28 08:05 2 560 pdftex.exe +\end{alltt} +and the \path|latex.exe| file is nothing but a rough copy of +\path|pdftex.exe| using the same core \path|pdftex.dll|. +The same trick has been used for the \path|mktex*.exe| family of programs +which are linked to the \path|mktex.dll| library. + +In fact, a generic tool called \path|irun.exe| is provided to build the +equivalent of Unix hard links for executable files only under Win32. + +\subsection{In case of problems} +\label{sec:troubleshooting} + +\subsubsection{What to do if \texttt{latex} does not find your files?} + +\begin{itemize} + +\item \cmdname{kpsewhich} is the tool of choice to debug any +problem. However, \cmdname{kpsewhich} outputs debug information to +stderr, and the older Windows consoles do not know how to redirect +stderr to a file. (Windows NT and later do support redirections, but +the trick below will work for any console.) For diagnostic purposes you +can temporarily set an environment variable (in a \acro{DOS}/\acro{cmd} box): + +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=err.log +\end{verbatim} +You can also set the debug level: +\begin{verbatim} +SET KPATHSEA_DEBUG=-1 +\end{verbatim} + +Similarly, to redirect stderr to stdout: +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=con: +\end{verbatim} +This way you can capture both stdout and stderr in the same file. +\item Assuming the installation has been done in \path|c:/TeX|, check + the following values: \\ + {\small + \begin{tabular}{ll} + \path|kpsewhich -expand-path $SELFAUTOPARENT| & \path|c:/TeX| \\ + \path|kpsewhich -expand-path $TEXMF| & \path|c:/TeX/texmf....| \\ + \path|kpsewhich -expand-path $TEXMFCNF| & + \path|.;c:/TeX/texmf-var/web2c;| \\ + \path|kpsewhich -expand-var $TEXINPUTS| & \path|.;c:/TeX/texmf/tex//| + \end{tabular} +} +\item If you have other \TeX{}-related values already set in your + environment, please, remove them. They are overriding the ones in + texmf.cnf. +\item Check the values from:\\ +{\small + \begin{tabular}{ll} + \texttt{kpsewhich cmr10.tfm} & \path|c:/TeX/texmf-dist/fonts/tfm/public/cm/cmr10.tfm|\\ + \texttt{kpsewhich latex.fmt}& \path|c:/TeX/texmf-var/web2c/latex.fmt| + \end{tabular} +} +\item At this point, if everything is correct, \TeX{} and friends + should work. If it is not the case, you will need to play with + the \path|-debug=n| option from \path|kpsewhich|, and check back all + the values. Try to identify and report the problem. +\end{itemize} + +\subsubsection{What to do if your setup still does not work as expected?} + +Here are several questions to investigate: + +\begin{enumerate} +\item Is \file{tex.exe} in my \path|PATH|? + +\item Is the \path|TEXMFCNF| variable correctly set to +\path|c:/TeXLive2007/texmf-var/web2c| (default value)? + +\item Are there any errors in the log file generated by the +\file{tlmpgui.exe} program? +\file{tlmpgui.log} can be found in your +\file{TEMP} directory. You can find this by searching for the +string \samp{Error}. Hint: the log file can show some errors after +building all format files. Please do not panic: perhaps some formats +weren't already installed. + +\item Are there any relevant bug fixes at \url{http://tug.org/texlive/}? +(Unlikely, but it doesn't hurt to check.) + +\end{enumerate} + +The \TL{} software consists of hundreds of programs and tens of +thousands of files, all from varying sources. So it is quite difficult to +predict all possible causes for problems. Nevertheless, we will do our +best to help you. (See section~\ref{sec:help}, \p.\pageref{sec:help}.) + +% don't use \Webc so the \uppercase in the headline works. +\section{A user's guide to Web2C} + +\Webc{} is an integrated collection of \TeX-related programs: \TeX{} +itself, \MF{}, \MP, \BibTeX{}, etc. It is the heart of \TL{}. + +A bit of history: The original implementation was by Tomas Rokicki who, +in 1987, developed a first \TeX{}-to-C system based on change files +under Unix, which were primarily the original work of Howard Trickey and +Pavel Curtis. Tim Morgan became the maintainer of the system, and +during this period the name changed to Web-to-C\@. In 1990, Karl Berry +took over the work, assisted by dozens of additional contributors, and +in 1997 he handed the baton to Olaf Weber. + +The \Webc{} system runs on Unix, 32-bit Windows systems, \MacOSX{}, and +other operating systems. It uses Knuth's original sources for \TeX{} and +other basic programs written in \web{} and translates them into C source +code. The core \TeX{} programs are: + +\begin{cmddescription} +\item[bibtex] Maintaining bibliographies. +\item[dmp] \cmdname{troff} to MPX (\MP{} pictures). +\item[dvicopy] Expands virtual font references in \dvi{} files. +\item[dvitomp] \dvi{} to MPX (MetaPost pictures). +\item[dvitype] \dvi{} to human-readable text. +\item[gftodvi] Generic font proofsheets. +\item[gftopk] Generic to packed fonts. +\item[gftype] GF to human-readable text. +\item[makempx] \MP{} label typesetting. +\item[mf] Creating typeface families. +\item[mft] Prettyprinting \MF{} source. +\item[mpost] Creating technical diagrams. +\item[mpto] MetaPost label extraction. +\item[newer] Compare modification times. +\item[patgen] Creating hyphenation patterns. +\item[pktogf] Packed to generic fonts. +\item[pktype] PK to human-readable text. +\item[pltotf] Plain text property list to TFM. +\item[pooltype] Display \web{} pool files. +\item[tangle] \web{} to Pascal. +\item[tex] Typesetting. +\item[tftopl] TFM to plain text property list. +\item[vftovp] Virtual font to virtual property list. +\item[vptovf] Virtual property list to virtual font. +\item[weave] \web{} to \TeX. +\end{cmddescription} + +\noindent The precise functions and syntax of these programs are +described in the documentation of the individual packages and of \Webc{} +itself. However, knowing a few principles governing the whole family of +programs will help you take advantage of your \Webc{} installation. + +All programs honor these standard \acro{GNU} options: +\begin{ttdescription} +\item[-{}-help] print basic usage summary. +\item[-{}-verbose] print detailed progress report. +\item[-{}-version] print version information, then exit. +\end{ttdescription} + +For locating files the \Webc{} programs use the path searching library +\KPS{}. This library uses a combination of environment variables and a +configuration files to optimize searching the (huge) collection of +\TeX{} files. \Webc{} can look at more than one directory tree +simultaneously, which is useful in maintaining \TeX's standard +distribution and local extensions in two distinct trees. To speed up +file searches the root of each tree has a file \file{ls-R}, containing +an entry showing the name and relative pathname for all files under that +root. + +\subsection{Kpathsea path searching} + +Let us first describe the generic path searching mechanism of the \KPS{} +library. + +We call a \emph{search path} a colon- or semicolon\hyph sepa\-rated list +of \emph{path elements}, which are basically directory names. A +search path can come from (a combination of) many sources. To look up +a file \samp{my-file} along a path \samp{.:/dir}, \KPS{} checks each +element of the path in turn: first \file{./my-file}, then +\file{/dir/my-file}, returning the first match (or possibly all +matches). + +In order to adapt optimally to all operating systems' conventions, on +non-Unix systems \KPS{} can use filename separators different from +colon (\samp{:}) and slash (\samp{/}). + +To check a particular path element \var{p}, \KPS{} first checks if a +prebuilt database (see ``Filename data\-base'' on +page~\pageref{Filename-database}) applies to \var{p}, i.e., if the database +is in a directory that is a prefix of \var{p}. If so, the path +specification is matched against the contents of the database. + +If the database does not exist, or does not apply to this path +element, or contains no matches, the filesystem is searched (if this +was not forbidden by a specification starting with \samp{!!}\ and if +the file being searched for must exist). \KPS{} constructs the list +of directories that correspond to this path element, and then checks +in each for the file being sought. + +The ``file must exist'' condition comes into play with \samp{.vf} files and +input files read by \TeX's \cs{openin} command. Such files may not +exist (e.g., \file{cmr10.vf}), and so it would be wrong to search the +disk for them. Therefore, if you fail to update \file{ls-R} when you +install a new \samp{.vf} file, it will never be found. +Each path element is checked in turn: first the database, then the +disk. If a match is found, the search stops and the result is +returned. + +Although the simplest and most common path element is a directory +name, \KPS{} supports additional features in search paths: layered +default values, environment variable names, config file values, users' +home directories, and recursive subdirectory searching. Thus, we say +that \KPS{} \emph{expands} a path element, meaning it transforms all +the specifications into basic directory name or names. This is +described in the following sections in the same order as it takes +place. + +Note that if the filename being searched for is absolute or explicitly +relative, i.e., starts with \samp{/} or \samp{./} or \samp{../}, +\KPS{} simply checks if that file exists. + +\ifSingleColumn +\else +\begin{figure*} +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{An illustrative configuration file sample} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{Path sources} +\label{Path-sources} + +A search path can come from many sources. In the order in which +\KPS{} uses them: + +\begin{enumerate} +\item + A user-set environment variable, for instance, \envname{TEXINPUTS}\@. + Environment variables with a period and a program name appended + override; e.g., if \samp{latex} is the name of the program being run, + then \envname{TEXINPUTS.latex} will override \envname{TEXINPUTS}. +\item + A program-specific configuration file, for exam\-ple, a line + \samp{S /a:/b} in \cmdname{dvips}'s \file{config.ps}. +\item A \KPS{} configuration file \file{texmf.cnf}, containing a line like + \samp{TEXINPUTS=/c:/d} (see below). +\item The compile-time default. +\end{enumerate} +\noindent You can see each of these values for a given +search path by using the debugging options (see ``Debugging actions'' +on page~\pageref{Debugging}). + +\subsubsection{Config files} + +\begingroup\tolerance=3500 +\KPS{} reads \emph{runtime configuration files} named \file{texmf.cnf} +for search path and other definitions. The search path used to look +for these files is named \envname{TEXMFCNF} (by default such a file lives +in the \file{texmf/web2c} subdirectory). \emph{All} +\file{texmf.cnf} files in the search path will be read and definitions +in earlier files override those in later files. Thus, with a search +path of \verb|.:$TEXMF|, values from \file{./texmf.cnf} override those +from \verb|$TEXMF/texmf.cnf|. +\endgroup + +\begin{itemize} +\item + Comments start with \code{\%} and continue to the end of the line. +\item + Blank lines are ignored. +\item + A \bs{} at the end of a line acts as a continuation character, + i.e., the next line is appended. Whitespace at the beginning of + continuation lines is not ignored. +\item + Each remaining line has the form: +\begin{alltt} + \var{variable}[.\var{progname}] [=] \var{value} +\end{alltt}% + where the \samp{=} and surrounding whitespace are optional. +\item + The \ttvar{variable} name may contain any character other + than whitespace, \samp{=}, or \samp{.}, but sticking to + \samp{A-Za-z\_} is safest. +\item + If \samp{.\var{progname}} is present, the definition only + applies if the program that is running is named + \texttt{\var{progname}} or \texttt{\var{progname}.exe}. This allows + different flavors of \TeX{} to have different search paths, for + example. +\item \var{value} may contain any characters except + \code{\%} and \samp{@}. The + \code{\$\var{var}.\var{prog}} feature is not available on the + right-hand side; instead, you must use an additional variable. A + \samp{;}\ in \var{value} is translated to \samp{:}\ if + running under Unix; this is useful to be able to have a single + \file{texmf.cnf} for Unix, \acro{MS-DOS} and Windows systems. +\item + All definitions are read before anything is expanded, so + variables can be referenced before they are defined. +\end{itemize} +A configuration file fragment illustrating most of these points is +\ifSingleColumn +shown below: + +\verbatiminput{examples/ex5.tex} +\else +shown in Figure~\ref{fig:config-sample}. +\fi + +\subsubsection{Path expansion} +\label{Path-expansion} + + +\KPS{} recognizes certain special characters and constructions in +search paths, similar to those available in Unix shells. As a +general example, the complex path, +\verb+~$USER/{foo,bar}//baz+, expands to all subdirectories under +directories \file{foo} and \file{bar} in \texttt{\$USER}'s home +directory that contain a directory or file \file{baz}. These +expansions are explained in the sections below. +%$ +\subsubsection{Default expansion} +\label{Default-expansion} + +\tolerance=2500 +If the highest-priority search path (see ``Path sources'' on +page~\pageref{Path-sources}) contains an \emph{extra colon} (i.e., +leading, trailing, or doubled), \KPS{} inserts at that point the +next-highest-prio\-rity search path that is defined. If that inserted +path has an extra colon, the same happens with the next highest. For +example, given an environment variable setting + +\tolerance=1500 + +\begin{alltt} +> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} +and a \code{TEXINPUTS} value from \file{texmf.cnf} of + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} +then the final value used for searching will be: + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +Since it would be useless to insert the default value in more than one +place, \KPS{} changes only one extra \samp{:}\ and leaves any others in +place. It checks first for a leading \samp{:}, then a trailing +\samp{:}, then a doubled \samp{:}. + +\subsubsection{Brace expansion} + +A useful feature is brace expansion, which means that, for instance, +\verb+v{a,b}w+ expands to \verb+vaw:vbw+. Nesting is allowed. +This is used to implement multiple \TeX{} hierarchies, by +assigning a brace list to \code{\$TEXMF}. +For example, in \file{texmf.cnf}, the following definition +(appproximately; there are actually even more trees) is made: +\begin{verbatim} + TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN} +\end{verbatim} +Using this you can then write something like +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +which means that, after looking in the current directory, the +\code{\$TEXMFHOME/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$TEXMFVAR/tex} +and \code{\$TEXMFMAIN/tex} trees \emph{only}) will be searched (the +last two use using \file{ls-R} data base files). It is a convenient +way for running two parallel \TeX{} structures, one ``frozen'' (on a +\CD, for instance) and the other being continuously updated with new +versions as they become available. By using the \code{\$TEXMF} +variable in all definitions, one is sure to always search the +up-to-date tree first. + +\subsubsection{Subdirectory expansion} +\label{Subdirectory-expansion} + +Two or more consecutive slashes in a path element following a directory +\var{d} is replaced by all subdirectories of \var{d}: first those +subdirectories directly under \var{d}, then the subsubdirectories under +those, and so on. At each level, the order in which the directories are +searched is \emph{unspecified}. + +If you specify any filename components after the \samp{//}, only +subdirectories with matching components are included. For example, +\samp{/a//b} expands into directories \file{/a/1/b}, \file{/a/2/b}, +\file{/a/1/1/b}, and so on, but not \file{/a/b/c} or \file{/a/1}. + +Multiple \samp{//} constructs in a path are possible, but +\samp{//} at the beginning of a path is ignored. + +\subsubsection{List of special characters and their meaning: a summary} + +The following list summarizes the special characters in \KPS{} +configuration files. + +% need a wider space for the item labels here. +\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} +\begin{ttdescription} +\item[\CODE{:}] Separator in path specification; at the beginning or + the end of a path it substitutes the default path expansion.\par +\item[\CODE{;}] Separator on non-Unix systems (acts like \code{:}). +\item[\CODE{\$}] Variable expansion. +\item[\CODE{\string~}] Represents the user's home directory. +\item[\CODE{\char`\{...\char`\}}] Brace expansion. +\item[\CODE{//}] Subdirectory expansion (can occur anywhere in + a path, except at its beginning). +\item[\CODE{\%}] Start of comment. +\item[\CODE{\bs}] Continuation character (allows multi-line entries). +\item[\CODE{!!}] Search \emph{only} database to locate file, \emph{do + not} search the disk. +\end{ttdescription} + + +\subsection{Filename databases} +\label{Filename-database} + +\KPS{} goes to some lengths to minimize disk accesses for searches. +Nevertheless, at installations with enough directories, searching each +possible directory for a given file can take an excessively long time +(this is especially true if many hundreds of font directories have to +be traversed.) Therefore, \KPS{} can use an externally-built plain text +``database'' file named \file{ls-R} that maps files to directories, +thus avoiding the need to exhaustively search the disk. + +A second database file \file{aliases} allows you to give additional +names to the files listed in \file{ls-R}. This can be helpful to +confirm to \acro{DOS} 8.3 filename conventions in source files. + +\subsubsection{The filename database} +\label{ls-R} + +As explained above, the name of the main filename database must be +\file{ls-R}. You can put one at the root of each \TeX{} hierarchy in +your installation that you wish to be searched (\code{\$TEXMF} by +default); most sites have only one hierarchy. \KPS{} looks for +\file{ls-R} files along the \code{TEXMFDBS} path. + +The recommended way to create and maintain \samp{ls-R} is to run the +\code{mktexlsr} script included with the distribution. It is invoked +by the various \samp{mktex}\dots\ scripts. In principle, this script +just runs the command +\begin{alltt} +cd \var{/your/texmf/root} && \path|\|ls -1LAR ./ >ls-R +\end{alltt} +presuming your system's \code{ls} produces the right output format +(\acro{GNU} \code{ls} is all right). To ensure that the database is +always up-to-date, it is easiest to rebuild it regularly via +\code{cron}, so that it is automatically updated when the installed +files change, such as after installing or updating a \LaTeX{} package. + +If a file is not found in the database, by default \KPS{} goes ahead +and searches the disk. If a particular path element begins with +\samp{!!}, however, \emph{only} the database will be searched for that +element, never the disk. + + +\subsubsection{kpsewhich: Standalone path searching} +\label{Invoking-kpsewhich} + +The \texttt{kpsewhich} program exercises path searching independent of any +particular application. This can be useful as a sort of \code{find} +program to locate files in \TeX{} hierarchies (this is used heavily in +the distributed \samp{mktex}\dots\ scripts). + +\begin{alltt} +> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} +\end{alltt} +The options specified in \ttvar{option} start with either \samp{-} +or \samp{-{}-}, and any unambiguous abbreviation is accepted. + +\KPS{} looks up each non-option argument on the command line as a +filename, and returns the first file found. There is no option to +return all the files with a particular name (you can run the Unix +\samp{find} utility for that). + +The more important options are described next. + +\begin{ttdescription} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{} + Set the resolution to \ttvar{num}; this only affects \samp{gf} + and \samp{pk} lookups. \samp{-D} is a synonym, for compatibility + with \cmdname{dvips}. Default is 600. + +\item[\texttt{-{}-format=\var{name}}]\mbox{}\\ + Set the format for lookup to \ttvar{name}. By default, the + format is guessed from the filename. For formats which do not have + an associated unambiguous suffix, such as \MP{} support files and + \cmdname{dvips} configuration files, you have to specify the name as + known to \KPS{}, such as \texttt{tex} or \texttt{enc files}. Run + \texttt{kpsewhich -{}-help} for a list. + +\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ + Set the mode name to \ttvar{string}; this only affects \samp{gf} + and \samp{pk} lookups. No default: any mode will be found. +\item[\texttt{-{}-must-exist}]\mbox{}\\ + Do everything possible to find the files, notably including + searching the disk. By default, only the \file{ls-R} database is + checked, in the interest of efficiency. +\item[\texttt{-{}-path=\var{string}}]\mbox{}\\ + Search along the path \ttvar{string} (colon-separated as usual), + instead of guessing the search path from the filename. \samp{//} and + all the usual expansions are supported. The options \samp{-{}-path} + and \samp{-{}-format} are mutually exclusive. +\item[\texttt{-{}-progname=\var{name}}]\mbox{}\\ + Set the program name to \texttt{\var{name}}. + This can affect the search paths via the \texttt{.\var{progname}} + feature. + The default is \cmdname{kpsewhich}. +\item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\ + shows the path used for file lookups of file type \texttt{\var{name}}. + Either a filename extension (\code{.pk}, \code{.vf}, etc.) or a + name can be used, just as with \samp{-{}-format} option. +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + sets the debugging options to \texttt{\var{num}}. +\end{ttdescription} + + +\subsubsection{Examples of use} +\label{SExamplesofuse} + +Let us now have a look at \KPS{} in action. Here's a straightforward search: + +\begin{alltt} +> \Ucom{kpsewhich article.cls} + /usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} +We are looking for the file \file{article.cls}. Since the \samp{.cls} +suffix is unambiguous we do not need to specify that we want to look for a +file of type \optname{tex} (\TeX{} source file directories). We find it in +the subdirectory \file{tex/latex/base} below the \samp{texmf-dist} \TL\ +directory. Similarly, all of the following are found without problems +thanks to their unambiguous suffix. +\begin{alltt} +> \Ucom{kpsewhich array.sty} + /usr/local/texmf-dist/tex/latex/tools/array.sty +> \Ucom{kpsewhich latin1.def} + /usr/local/texmf-dist/tex/latex/base/latin1.def +> \Ucom{kpsewhich size10.clo} + /usr/local/texmf-dist/tex/latex/base/size10.clo +> \Ucom{kpsewhich small2e.tex} + /usr/local/texmf-dist/tex/latex/base/small2e.tex +> \Ucom{kpsewhich tugboat.bib} + /usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib +\end{alltt} + +That last is a \BibTeX{} bibliography database for \textsl{TUGBoat} articles. + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} +Font bitmap glyph files of type \file{.pk} are used by display +programs like \cmdname{dvips} and \cmdname{xdvi}. Nothing is returned in +this case since there are no pre-generated Computer Modern \samp{.pk} +files in \TL{}\Dash the Type~1 variants are used by default. +\begin{alltt} +> \Ucom{kpsewhich wsuipa10.pk} +\ifSingleColumn /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk +\else /usr/local/texmf-var/fonts/pk/ljfour/public/ +... wsuipa/wsuipa10.600pk +\fi\end{alltt} + +For these fonts (a phonetic alphabet from the University of Washington) +we had to generate \samp{.pk} files, and since the default \MF{} mode on +our installation is \texttt{ljfour} with a base resolution of 600\dpi{} +(dots per inch), this instantiation is returned. +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} +In this case, when specifying that we are interested in a resolution +of 300\dpi{} (\texttt{-dpi=300}) we see that no such font is available on +the system. A program like \cmdname{dvips} or \cmdname{xdvi} would +go off and actually build the required \texttt{.pk} files +using the script \cmdname{mktexpk}. + +Next we turn our attention to \cmdname{dvips}'s header and configuration +files. We first look at one of the commonly used files, the general +prolog \file{tex.pro} for \TeX{} support, before turning our attention +to the generic configuration file (\file{config.ps}) and the \PS{} font +map \file{psfonts.map}\Dash as of 2004, map and encoding files have +their own search paths and new location in \dirname{texmf} trees. As +the \samp{.ps} suffix is ambiguous we have to specify explicitly which +type we are considering (\optname{dvips config}) for the file +\texttt{config.ps}. +\begin{alltt} +> \Ucom{kpsewhich tex.pro} + /usr/local/texmf/dvips/base/tex.pro +> \Ucom{kpsewhich --format="dvips config" config.ps} + /usr/local/texmf/dvips/config/config.ps +> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map +\end{alltt} + +We now take a closer look at the \acro{URW} Times \PS{} support +files. The prefix for these in the standard font naming scheme is +\samp{utm}. The first file we look at is the configuration file, +which contains the name of the map file: +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" config.utm} + /usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} +The contents of that file is +\begin{alltt} + p +utm.map +\end{alltt} +which points to the file \file{utm.map}, which we want to +locate next. +\begin{alltt} +> \Ucom{kpsewhich utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} +This map file defines the file names of the Type~1 \PS{} fonts in +the URW collection. Its contents look like (we only show part of the +lines): +\begin{alltt} +utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb +utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb +utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb +utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} +Let us, for instance, take the Times Roman instance +\file{utmr8a.pfb} and find its position in the \file{texmf} directory +tree with a search for Type~1 font files: +\begin{alltt} +> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +\else /usr/local/texmf-dist/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + +It should be evident from these examples how you can easily locate the +whereabouts of a given file. This is especially important if you suspect +that the wrong version of a file is picked up somehow, since +\cmdname{kpsewhich} will show you the first file encountered. + +\subsubsection{Debugging actions} +\label{Debugging} + +Sometimes it is necessary to investigate how a program resolves file +references. To make this practical, \KPS{} offers various levels of +debugging output: + +\begin{ttdescription} +\item[\texttt{\ 1}] \texttt{stat} calls (disk lookups). When running + with an up-to-date \file{ls-R} database this should almost give no + output. +\item[\texttt{\ 2}] References to hash tables (such as \file{ls-R} + databases, map files, configuration files). +\item[\texttt{\ 4}] File open and close operations. +\item[\texttt{\ 8}] General path information for file types + searched by \KPS. This is useful to find out where a particular + path for the file was defined. +\item[\texttt{16}] Directory list for each path element (only relevant + for searches on disk). +\item[\texttt{32}] File searches. +\end{ttdescription} +A value of \texttt{-1} will set all the above options; in practice, +this is usually the most convenient. + +Similarly, with the \cmdname{dvips} program, by setting a combination of +debug switches, one can follow in detail where files are being picked up +from. Alternatively, when a file is not found, the debug trace shows in +which directories the program looks for the given file, so that one can +get an indication what the problem~is. + +Generally speaking, as most programs call the \KPS{} library +internally, one can select a debug option by using the +\envname{KPATHSEA\_DEBUG} environment variable, and setting it to (a +combination of) values as described in the above list. + +(Note for Windows users: it is not easy to redirect +all messages to a file in this system. For diagnostic purposes +you can temporarily \texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log}). + +Let us consider, as an example, a small \LaTeX{} source file, +\file{hello-world.tex}, which contains the following input. +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +This little file only uses the font \file{cmr10}, so let us look at +how \cmdname{dvips} prepares the \PS{} file (we want to use the Type~1 +version of the Computer Modern fonts, hence the option \texttt{-Pcms}). +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +In this case we have combined \cmdname{dvips}'s debug class 4 (font +paths) with \KPS's path element expansion (see \cmdname{dvips} Reference +Manual, \OnCD{texmf/doc/html/dvips/dvips_toc.html}). +The output (slightly rearranged) appears in +Figure~\ref{fig:dvipsdbga}. +\begin{figure*}[tp] +\centering +\input{examples/ex6a.tex} +\caption{Finding configuration files}\label{fig:dvipsdbga} + +\bigskip + +\input{examples/ex6b.tex} +\caption{Finding the prolog file}\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{Finding the font file}\label{fig:dvipsdbgc} +\end{figure*} + +\cmdname{dvips} starts by locating its working files. First, +\file{texmf.cnf} is found, which gives the definitions of the search +paths for the other files, then the file database \file{ls-R} (to +optimize file searching) and the file \file{aliases}, which makes it +possible to declare several names (e.g., a short \acro{DOS}-like 8.3 and +a more natural longer version) for the same file. Then \cmdname{dvips} +goes on to find the generic configuration file \file{config.ps} +before looking for the customization file \file{.dvipsrc} (which, in +this case is \emph{not found}). Finally, \cmdname{dvips} locates the +config file for the Computer Modern \PS{} fonts \file{config.cms} +(this was initiated with the \texttt{-Pcms} option on the \cmdname{dvips} +command). This file contains the list of the map files which +define the relation between the \TeX{}, \PS{} and file system +names of the fonts. +\begin{alltt} +> \Ucom{more /usr/local/texmf/dvips/cms/config.cms} + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map +\end{alltt} +\cmdname{dvips} thus goes on to find all these files, plus the generic +map file \file{psfonts.map}, which is always loaded (it contains +declarations for commonly used \PS{} fonts; see the last part of +Section \ref{SExamplesofuse} for more details about \PS{} map +file handling). + +At this point \cmdname{dvips} identifies itself to the user: +\begin{alltt} +This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) +\end{alltt} +\ifSingleColumn +Then it goes on to look for the prolog file \file{texc.pro}: +\begin{alltt}\small +kdebug:start search(file=texc.pro, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro +\end{alltt} +\else +Then it goes on to look for the prolog file \file{texc.pro} (see +Figure~\ref{fig:dvipsdbgb}). +\fi + +After having found the file in question, \cmdname{dvips} outputs +date and time, and informs us that it will generate the +file \file{hello-world.ps}, then that it needs the font file +\file{cmr10}, and that the latter is declared as ``resident'' (no +bitmaps needed): +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} +Now the search is on for the file \file{cmr10.tfm}, which is found, +then a few more prolog files (not shown) are referenced, and finally +the Type~1 instance \file{cmr10.pfb} of the font is located and +included in the output file (see last line). +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{Runtime options} + +Another useful feature of \Webc{} is its possibility to control a number +of memory parameters (in particular, array sizes) via the runtime file +\file{texmf.cnf} read by \KPS{}. The memory settings can be found in +Part 3 of that file in the \TL{} distribution. The more important +are: + +\begin{ttdescription} +\item[\texttt{main\_memory}] + Total words of memory available, for + \TeX{}, \MF{} and \MP. You must make a new format file for each + different setting. For instance, you could generate a ``huge'' + version of \TeX{}, and call the format file \texttt{hugetex.fmt}. + Using the standard way of specifying the program name used by \KPS{}, + the particular value of the \texttt{main\_memory} variable will then + be read from \file{texmf.cnf}. +\item[\texttt{extra\_mem\_bot}] + Extra space for ``large'' \TeX{} data structures: + boxes, glue, breakpoints, etc. Especially useful if you use + \PiCTeX{}. +\item[\texttt{font\_mem\_size}] + Number of words for font information available for \TeX. This + is more or less the total size of all TFM files read. +\item[\texttt{hash\_extra}] + Additional space for the hash table of control sequence names. + Approximately 10,000 control sequences can be stored in the main + hash table; if you have a large book with numerous cross-references, + this might not be enough. The default value of + \texttt{hash\_extra} is \texttt{50000}. +\end{ttdescription} + +\noindent Of course, this facility is no substitute for truly dynamic +arrays and memory allocation, but since these are extremely difficult to +implement in the present \TeX{} source, these runtime parameters provide +a practical compromise allowing some flexibility. + + +\begin{comment} +\section{Building on a new Unix platform} + +If you have a platform for which executables are not included, you will +need to compile \TeX{} and friends. This is not as hard as it +sounds. What you need is all in the directory \texttt{source} in the +distribution. + +\subsection{Prerequisites} + +You will need at least 100 megabytes of disk space to compile all of +\TeX{} and its support programs. You'll also need an \acro{ANSI} C +compiler, a \cmdname{make} utility, a lexical scanner, and a parser +generator. We recommend the \acro{GNU} version of these programs +(\cmdname{gcc}, \acro{GNU} \cmdname{make}, \cmdname{m4}, \cmdname{flex}, +\cmdname{bison}). You may be able to work with other C compilers and +\cmdname{make} programs, but you will need a good understanding of +building Unix programs to sort out problems. + +Also, the command \texttt{uname} must return a sensible value. + + +\subsection{Configuration} + +To begin, perform a normal installation of \TL{} to your disk (see +section~\ref{sec:unix-install-disk} on +\p.\pageref{sec:unix-install-disk}). You may wish to skip installing +all of the prebuilt binaries. + +Then, unpack the source from the compressed \texttt{tar} file in the +directory \dirname{source} to your disk and change directory to where +you placed it. + +Next, run \cmdname{configure} with a command line like this: +\begin{alltt} +> \Ucom{sh configure -prefix=/usr/local/TeX} +\end{alltt} + +The \optname{-prefix} directory is the one where you installed the +support tree; the directory layout will be as follows (where \$TEXDIR +stands for the directory you chose): + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/share/texmf} & main tree with fonts,\\ + & \qquad macros, etc\\ + \dirname{$TEXDIR/man} & Unix manual pages\\ + \dirname{$TEXDIR/info} & \acro{GNU} style Info manuals\\ + \dirname{$TEXDIR/bin/$PLATFORM} & binaries\\ +\end{tabular} +%$ + +If you want to leave out the \dirname{$PLATFORM} directory level, +i.e., put the binaries directly into \dirname{$TEXDIR/bin}, specify +the \verb|--disable-multiplatform| option to \cmdname{configure}. + +Have a look at the output of \verb|./configure --help| for more +options you can use. For example, you can skip building of \OMEGA{} and +\eTeX{}. + + +\subsection{Running \cmdname{make}} + +Make sure the shell variable or option \texttt{noclobber} is not set. +Then, run the main \cmdname{make} like this: +\begin{alltt} +> \Ucom{make world} +\end{alltt} +and relax\ldots + +Alternatively, you want to log all the output, as in: +\begin{alltt} +> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} + +Before you believe that everything went ok, please check the log file +for errors: \acro{GNU} \cmdname{make} always uses the string \samp{***} +whenever a command fails. Also, check if all the programs were built: + +\begin{alltt} +> \Ucom{cd \var{TEXDIR}/bin/\var{archname}} +> \Ucom{ls | wc} +\end{alltt} +The result should be over 200 (you can check the exact number with the +\dirname{bin} directory contents in the distribution). + +If you need special privileges for \texttt{make install}, you can +separate the \samp{make world} into two different runs, like this: +\begin{alltt} +> \Ucom{make all} +> \Ucom{su} +> \Ucom{make install strip} +\end{alltt} + +After you've installed your new binaries, you should follow the normal +post-installation procedures, given in section~\ref{sec:postinstall} +(\p.\pageref{sec:postinstall}). + +Also, if you'd like to make your binaries available to others, please +contact us. We'll be happy to put them on the \TL\ web pages. +\end{comment} + +\section{Acknowledgements} + +\TL{} is a joint effort by virtually all of the \TeX{} user groups. +This edition of \TL{} was overseen by Sebastian Rahtz and Karl Berry. +The other principal contributors are listed below. + +\begin{itemize*} + +\item The English, German, Dutch, and Polish \TeX{} user groups +(\acro{TUG}, \acro{DANTE} e.V., \acro{NTG}, and \acro{GUST}, +respectively), which together provide the necessary technical +and administrative infrastructure. Please join your local user group! + +\item The \acro{CTAN} team, which distributes the \TL{} images and +provides the common infrastructure for package updates, upon which \TL{} +depends. + +\item Peter Breitenlohner and the \eTeX\ team for the stable foundation +of future \TeX's. + +\item Thomas Esser, without whose marvelous \teTeX{} package \TL{} +would certainly not exist, and whose continual help makes it a better +product. + +\item Michel Goossens, who co-authored the original documentation. + +\item Eitan Gurari, whose \TeX4ht was used to create the \HTML{} +version of this documentation, and who worked tirelessly to improve +it at short notice. + +\item Hans Hagen, for major testing and making the \ConTeXt\ format +conform to \TL's needs. + +\item \Thanh, Martin Schr\"oder, and the pdf\TeX\ team for continuing +enhancements of \TeX's abilities. + +\item Taco Hoekwater, for renewed development efforts on MetaPost and +\TeX\ itself. + +\item Pawe{\l} Jackowski, for the Windows installer \cmdname{tlpm}, +and Tomasz {\L}uczak, for \cmdname{tlpmgui}. + +\item Akira Kakuto, for great assistance in incorporating the Windows +binaries from his \acro{W32TEX} distribution +(\url{http://www.fsci.fuk.kindai.ac.jp/kakuto/win32-ptex/}). + +\item Jonathan Kew and his employer \acro{SIL}, for the major new +development of Xe\TeX{} and taking the time and trouble to integrate it +in \TL{}. + +\item Reinhard Kotucha, for helping with the massive task of updating +packages in \TL{}, as well as Windows research efforts, the +\texttt{getnonfreefonts} script, and more. + +\item Petr Ol\v{s}ak, who coordinated and checked all the Czech and Slovak +material very carefully. + +\item Toshio Oshima, for his \cmdname{dviout} previewer for Windows. + +\item Fabrice Popineau, for the original Windows support in \TL{}. + +\item Norbert Preining, for helping with the \TL{} infrastructure and +package updates, and coordinating the Debian version of \TL{} (together +with Frank K\"uster), making many suggestions for improvement along the +way. + +\item Staszek Wawrykiewicz, the principal tester for all of \TL{}, +and coordinator of the many major Polish contributions: fonts, Windows +installation, and more. + +\item Olaf Weber, for his patient assembly and maintenance of Web2C, +upon which all else depends. + +\item Gerben Wierda, for creating and maintaining the \MacOSX\ support, +and much integration and testing. + +\item Graham Williams, on whose work the catalogue of packages depends. + +\end{itemize*} + +Builders of the binaries: +Tigran Aivazian and Hartmut Henkel (\pkgname{x86\_64-linux}), +Akira Kakuto and Fabrice Popineau (\pkgname{win32}), +Manfred Lotz (\pkgname{i386-freebsd}), +Norbert Preining (\pkgname{alpha-linux}), +Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-linux}, + \pkgname{sparc-solaris}), +Karl Berry (\pkgname{i386-linux}), +Olaf Weber (\pkgname{mips-irix}), +Gerben Wierda (\pkgname{i386-darwin}, \pkgname{powerpc-darwin}). + +Documentation and translation updates: +Karl Berry (English), +Daniel Flipo \& Fabrice Popineau (French), +G\"unter Partosch \& Hartmut Henkel (German), +Petr Sojka \& Jan Busa (Czech\slash Slovak), +Boris Veytsman (Russian), +Staszek Wawrykiewicz (Polish). + +Of course the most important acknowledgement must go to Donald Knuth, first +for inventing \TeX, and then for giving it to the world. + + +\section{Release history} +\label{sec:history} + +\subsection{Past} + +Discussion began in late 1993 when the Dutch \TeX{} Users Group was +starting work on its 4All\TeX{} \CD{} for \acro{MS-DOS} users, and it +was hoped at that time to issue a single, rational, \CD{} for all +systems. This was too ambitious a target for the time, but it did spawn +not only the very successful 4All\TeX{} \CD{}, but also the \acro{TUG} +Technical Council working group on a \emph{\TeX{} Directory Structure} +(\url{http://tug.org/tds}), which specified how to create consistent and +manageable collections of \TeX{} support files. A complete draft of the +\TDS{} was published in the December 1995 issue of \textsl{TUGboat}, and +it was clear from an early stage that one desirable product would be a +model structure on \CD{}. The distribution you now have is a very direct +result of the working group's deliberations. It was also clear that the +success of the 4All\TeX{} \CD{} showed that Unix users would benefit +from a similarly easy system, and this is the other main strand of +\TL. + +We first undertook to make a new Unix-based \TDS{} \CD{} in the autumn +of 1995, and quickly identified Thomas Esser's \teTeX{} as the ideal +setup, as it already had multi-platform support and was built with +portability across file systems in mind. Thomas agreed to help, and work +began seriously at the start of 1996. The first edition was released in +May 1996. At the start of 1997, Karl Berry completed a major new release +of Web2c, which included nearly all the features which Thomas Esser had +added in \teTeX, and we decided to base the 2nd edition of the \CD{} on +the standard \Webc, with the addition of \teTeX's \texttt{texconfig} +script. The 3rd edition of the \CD{} was based on a major revision of +\Webc, 7.2, by Olaf Weber; at the same time, a new revision of \teTeX +was being made, and \TL{} included almost all of its features. The +4th edition followed the same pattern, using a new version of \teTeX, +and a new release of \Webc{} (7.3). The system now included a complete +Windows setup. + +For the 5th edition (March 2000) many parts of the \CD{} were revised +and checked, updating hundreds of packages. Package details were stored +in XML files. But the major change for \TeX\ Live 5 was that all +non-free software was removed. Everything in \TL{} is now intended +to be compatible with the Debian Free Software Guidelines +(\url{http://www.debian.org/intro/free}); we have done our best to check +the license conditions of all packages, but we would very much +appreciate hearing of any mistakes. + +The 6th edition (July 2001) had much more material updated. The major +change was a new install concept: the user could select a more exact set +of needed collections. Language-related collections were completely +reorganized, so selecting any of them installs not only macros, fonts, +etc., but also prepares an appropriate \texttt{language.dat}. + +The 7th edition of 2002 had the notable addition of \MacOSX{} support, +and the usual myriad of updates to all sorts of packages and +programs. An important goal was integration of the source back with +\teTeX, to correct the drift apart in versions~5 and~6. + +\subsubsection{2003} + +In 2003, with the continuing flood of updates and additions, we found +that \TL{} had grown so large it could no longer be contained on a +single \CD, so we split it into three different distributions (see +section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}). In +addition: + +\begin{itemize*} +\item At the request of the \LaTeX{} team, we changed the standard + \cmdname{latex} and \cmdname{pdflatex} commands to now use \eTeX{} (see + \p.\pageref{text:etex}). +\item The new Latin Modern fonts were included (and are recommended). +\item Support for Alpha \acro{OSF} was removed + (\acro{HPUX} support was removed previously), since no one had (or + volunteered) hardware available on which to compile new binaries. +\item Windows setup was substantially changed; for the first time + an integrated environment based on XEmacs was introduced. +\item Important supplementary programs for Windows + (Perl, Ghost\-script, Image\-Magick, Ispell) are now installed + in the \TL{} installation directory. +\item Font map files used by \cmdname{dvips}, \cmdname{dvipdfm} + and \cmdname{pdftex} are now generated by the new program + \cmdname{updmap} and installed into \dirname{texmf/fonts/map}. +\item \TeX{}, \MF{}, and \MP{} now, by default, output most input + characters (32 and above) as themselves in output (e.g., + \verb|\write|) files, + log files, and the terminal, i.e., \emph{not} translated using the + \verb|^^| notation. In \TL{}~7, this translation was + dependent on the system locale settings; now, locale settings do + not influence the \TeX{} programs' behavior. If for some reason + you need the \verb|^^| output, rename the file + \verb|texmf/web2c/cp8bit.tcx|. (Future releases will have cleaner + ways to control this.) +\item This documentation was substantially revised. +\item Finally, since the edition numbers had grown unwieldy, + the version is now simply identified by the year: \TL{} 2003. +\end{itemize*} + + +\subsubsection{2004} + +2004 saw many changes: + +\begin{itemize} + +\item If you have locally-installed fonts which use their own +\filename{.map} or (much less likely) \filename{.enc} support files, you +may need to move those support files. + +\filename{.map} files are now searched for in subdirectories of +\dirname{fonts/map} only (in each \filename{texmf} tree), along the +\envname{TEXFONTMAPS} path. Similarly, \filename{.enc} files are now +searched for in subdirectories of \dirname{fonts/enc} only, along the +\envname{ENCFONTS} path. \cmdname{updmap} will attempt to warn about +problematic files. + +For methods of handling this and other information, please see +\url{http://tug.org/texlive/mapenc.html}. + +\item The \TK\ has been expanded with the addition of a \MIKTEX-based +installable \CD, for those who prefer that implementation to Web2C. +See section~\ref{sec:struct-tl} (\p.\pageref{sec:struct-tl}). + +\item Within \TL, the single large \dirname{texmf} tree of previous +releases has been replaced by three: \dirname{texmf}, +\dirname{texmf-dist}, and \dirname{texmf-doc}. See +section~\ref{sec:tld} (\p.\pageref{sec:tld}), and the \filename{README} +files for each. + +\item All \TeX-related input files are now collected in +the \dirname{tex} subdirectory of \dirname{texmf*} trees, rather than +having separate sibling directories \dirname{tex}, \dirname{etex}, +\dirname{pdftex}, \dirname{pdfetex}, etc. See +\CDref{texmf-doc/doc/english/tds/tds.html\#Extensions} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Extensions}}. + +\item Helper scripts (not meant to be invoked by users) are now located +in a new \dirname{scripts} directory of \dirname{texmf*} trees, and +searched for via \verb|kpsewhich -format=texmfscripts|. So if you have +programs which call such scripts, they'll need to be adjusted. See +\CDref{texmf-doc/doc/english/tds/tds.html\#Scripts} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Scripts}}. + +\item Almost all formats leave most characters printable as +themselves via the ``translation file'' \filename{cp227.tcx}, instead of +translating them with the \verb|^^| notation. Specifically, characters +at positions 32--256, plus tab, vertical tab, and form feed are +considered printable and not translated. The exceptions are plain \TeX\ +(only 32--126 printable), \ConTeXt\ (0--255 printable), and the +\OMEGA-related formats. This default behavior is almost the same as in +\TL\,2003, but it's implemented more cleanly, with more possibilities +for customization. See \CDref{texmf/doc/web2c/web2c.html\#TCX-files} +{\texttt{texmf/doc/web2c/web2c.html\#TCX-files}}. +(By the way, with Unicode input, \TeX\ may output partial character +sequences when showing error contexts, since it is byte-oriented.) + +\item \textsf{pdfetex} is now the default engine for all formats +except (plain) \textsf{tex} itself. (Of course it generates \acro{DVI} +when run as \textsf{latex}, etc.) This means, among other things, that +the microtypographic features of \textsf{pdftex} are available in +\LaTeX, \ConTeXt, etc., as well as the \eTeX\ features +(\OnCD{texmf-dist/doc/etex/base/}). + +It also means it's \emph{more important than ever} to use the +\pkgname{ifpdf} package (works with both plain and \LaTeX) or equivalent +code, because simply testing whether \cs{pdfoutput} or some other +primitive is defined is not a reliable way to determine if \acro{PDF} +output is being generated. We made this backward compatible as best we +could this year, but next year, \cs{pdfoutput} may be defined even when +\acro{DVI} is being written. + +\item pdf\TeX\ (\url{http://pdftex.org}) has many new features: + + \begin{itemize*} + + \item \cs{pdfmapfile} and \cs{pdfmapline} provide font map support + from within a document. + + \item Microtypographic font expansion can be used more easily.\\ + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} + + \item All parameters previously set through the special configuration + file \filename{pdftex.cfg} must now be set through primitives, + typically in \filename{pdftexconfig.tex}; \filename{pdftex.cfg} is no + longer supported. Any extant \filename{.fmt} files must be redumped + when \filename{pdftexconfig.tex} is changed. + + \item See the pdf\TeX\ manual for more: \OnCD{texmf/doc/pdftex/manual}. + + \end{itemize*} + +\item The \cs{input} primitive in \cmdname{tex} (and \cmdname{mf} and +\cmdname{mpost}) now accepts double quotes containing spaces and other +special characters. Typical examples: +\begin{verbatim} +\input "filename with spaces" % plain +\input{"filename with spaces"} % latex +\end{verbatim} +See the Web2C manual for more: \OnCD{texmf/doc/web2c}. + +\item enc\TeX\ support is now included within Web2C and consequently all +\TeX\ programs, via the \optname{-enc} option\Dash \emph{only when +formats are built}. enc\TeX\ supports general re-encoding of input and +output, enabling full support of Unicode (in \acro{UTF}-8). See +\OnCD{texmf-dist/doc/generic/enctex/} and +\url{http://www.olsak.net/enctex.html}. + +\item Aleph, a new engine combining \eTeX\ and \OMEGA, is available. +A little information is available in \OnCD{texmf-dist/doc/aleph/base} +and \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph}. The +\LaTeX-based format for Aleph is named \textsf{lamed}. + +\item The latest \LaTeX\ release has a new version of the +\acro{LPPL}\Dash now officially a Debian-approved license. Assorted +other updates, see the \filename{ltnews} files in +\OnCD{texmf-dist/doc/latex/base}. + +\item \cmdname{dvipng}, a new program for converting \acro{DVI} to +\acro{PNG} image files, is included. See \OnCD{texmf/doc/man/man1/dvipng.1}. + +\item We reduced the \pkgname{cbgreek} package to a ``medium'' sized set +of fonts, with the assent and advice of the author (Claudio Beccari). +The excised fonts are the invisible, outline, and transparency ones, +which are relatively rarely used, and we needed the space. The full set +is of course available from \acro{CTAN} +(\url{http://www.ctan.org/tex-archive/fonts/greek/cb}). + +\item \cmdname{oxdvi} has been removed; just use \cmdname{xdvi}. + +\item The \cmdname{ini} and \cmdname{vir} commands (links) for +\cmdname{tex}, \cmdname{mf}, and \cmdname{mpost} are no longer created, +such as \cmdname{initex}. The \cmdname{ini} functionality has been +available through the command-line option \optname{-ini} for years now. + +\item \textsf{i386-openbsd} platform support was removed. Since the +\pkgname{tetex} package in the \acro{BSD} Ports system is available, and +\acro{GNU/}Linux and Free\acro{BSD} binaries were available, it seemed +volunteer time could be better spent elsewhere. + +\item On \textsf{sparc-solaris} (at least), you may have to set the +\envname{LD\_LIBRARY\_PATH} environment variable to run the +\pkgname{t1utils} programs. This is because they are compiled with C++, +and there is no standard location for the runtime libraries. (This is +not new in 2004, but wasn't previously documented.) Similarly, on +\textsf{mips-irix}, the \acro{MIPS}pro 7.4 runtimes are required. + +\end{itemize} + +\subsubsection{2005} + +2005 saw the usual huge number of updates to packages and programs. +The infrastructure stayed relatively stable from 2004, but inevitably +there were some changes there as well: + +\begin{itemize} + +\item New scripts \cmdname{texconfig-sys}, \cmdname{updmap-sys}, and + \cmdname{fmtutil-sys} were introduced, which modify the + configuration in the system trees. The \cmdname{texconfig}, + \cmdname{updmap}, and \cmdname{fmtutil} scripts now modify + user-specific files, under \dirname{$HOME/.texlive2005}. + See section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}. + +\item Corresponding new variables \envname{TEXMFCONFIG} and + \envname{TEXMFSYSCONFIG} to specify the trees where configuration + files (user or system, respectively) are found. Thus, you may + need to move personal versions of \filename{fmtutil.cnf} and + \filename{updmap.cfg} to these places; another option is to + redefine \envname{TEXMFCONFIG} or \envname{TEXMFSYSCONFIG} in + \filename{texmf.cnf}. In any case the real location of these files + and the values of \envname{TEXMFCONFIG} and \envname{TEXMFSYSCONFIG} + must agree. + See section~\ref{sec:texmftrees}, \p.\pageref{sec:texmftrees}. + +\item Last year, we kept \verb|\pdfoutput| and other primitives undefined + for DVI output, even though the \cmdname{pdfetex} program was + being used. This year, as promised, we undid that compatibility + measure. So if your document uses \verb|\ifx\pdfoutput\undefined| + to test if PDF is being output, it will need to be changed. You + can use the package \pkgname{ifpdf.sty} (which works under both + plain \TeX\ and \LaTeX) to do this, or steal its logic. + +\item Last year, we changed most formats to output (8-bit) characters as + themselves (see previous section). The new TCX file + \filename{empty.tcx} now provides an easier way to get the + original \verb|^^| notation if you so desire, as in: +\begin{verbatim} +latex --translate-file=empty.tcx yourfile.tex +\end{verbatim} + +\item The new program \cmdname{dvipdfmx} is included for translation of + DVI to PDF; this is an actively maintained update of + \cmdname{dvipdfm} (which is also still available for now, though + no longer recommended). + +\item The new programs \cmdname{pdfopen} and \cmdname{pdfclose} are included + to allow reloading of pdf files in the Adobe Acrobat Reader without + restarting the program. (Other pdf readers, notably \cmdname{xpdf}, + \cmdname{gv}, and \cmdname{gsview}, have never suffered from this + problem.) + +\item For consistency, the variables \envname{HOMETEXMF} and + \envname{VARTEXMF} have been renamed to \envname{TEXMFHOME} and + \envname{TEXMFSYSVAR}, respectively. There is also + \envname{TEXMFVAR}, which is by default user-specific. See the + first point above. + +\end{itemize} + + +\subsection{Present} +\label{tlcurrent} + +In 2006--2007, the major new addition to \TL{} was the Xe\TeX{} program, +available as the \texttt{xetex} and \texttt{xelatex} programs; see +\url{http://scripts.sil.org/xetex}. + +MetaPost also received a notable update, with more planned for the +future (\url{http://tug.org/metapost/articles}), likewise pdf\TeX{} +(\url{http://tug.org/applications/pdftex}) + +The \TeX\ \filename{.fmt} (high-speed format) and the similar files for +MetaPost and \MF\ are now stored in subdirectories of \dirname{texmf/web2c}, +instead of in the directory itself (although the directory is still +searched, for the sake of existing \filename{.fmt}'s). The +subdirectories are named for the `engine' in use, such as \filename{tex} +or \filename{pdftex} or \filename{xetex}. This change should be +invisible in normal use. + +The (plain) \texttt{tex} program no longer reads \texttt{\%\&} first +lines to determine what format to run; it is the pure Knuthian \TeX. +(\LaTeX\ and everything else do still read \texttt{\%\&} lines). + +The installation scripts now accept various environment variables to +allow for non-interactive installation; see +section~\ref{sec:noninteractive-install}. + +Of course the year also saw (the usual) hundreds of other updates to +packages and programs. As usual, please check \acro{CTAN} +(\url{http://www.ctan.org}) for updates. + +Internally, the source tree is now stored in Subversion, with a standard +web interface for viewing the tree, as linked from our home page. +Although not visible in the final distribution, we expect this will +provide a stable development foundation for future years. + +Finally, in May 2006 Thomas Esser announced that he would no longer be +updating te\TeX{} (\url{http://tug.org/tetex}). As a result, there was +been a surge of interest in \TL{}, especially among \acro{GNU}/Linux +distributors. (There is a new \texttt{tetex} installation scheme in +\TL{}, which provides an approximate equivalent.) We hope this will +eventually translate to improvements in the \TeX\ environment for +everyone. + + +\subsection{Future} + +\emph{\TL{} is not perfect!} (And never will be.) We intend to +continue to release new versions, and would like to provide more +help material, more utilities, more installation programs, and (of +course) an ever-improved and checked tree of macros and fonts. This work +is all done by hard-pressed volunteers in their limited spare time, and +a great deal remains to be done. If you can help, don't hesitate to put +your name forward! + +Please send corrections, suggestions, and offers of help to:\hfill\null +\begin{quote} +\email{tex-live@tug.org} \\ +\url{http://tug.org/texlive} +\end{quote} + +\medskip +\noindent \textsl{Happy \TeX ing!} + +\end{document} diff --git a/Master/texmf-dist/doc/texlive/texlive-en/archive/live-2008.tex b/Master/texmf-dist/doc/texlive/texlive-en/archive/live-2008.tex new file mode 100644 index 00000000000..a172d5f409e --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/archive/live-2008.tex @@ -0,0 +1,2951 @@ +% $Id: live.tex 9531 2008-07-13 21:12:58Z siepo $ +% TeX Live documentation. Originally written by Sebastian Rahtz and +% Michel Goossens, now maintained by Karl Berry and others. +% Public domain. +% +\documentclass{article} +\let\tldocenglish=1 % for live4ht.cfg +\usepackage{tex-live} +\usepackage[latin1]{inputenc} % translators: use your preferred encodings. +\usepackage[T1]{fontenc} + +\begin{document} + +\title{% + {\huge \textit{The \TeX\ Live Guide}\\\smallskip}% + {\LARGE \textsf{\TL{} 2008}}% +} + +\author{Karl Berry, editor \\[3mm] + \url{http://tug.org/texlive/} + } + +\date{August 2008} + +\maketitle + +\begin{multicols}{2} +\tableofcontents +%\listoftables +\end{multicols} + +\section{Introduction} +\label{sec:intro} + +\subsection{\TeX\ Live and the \TeX\ Collection} + +This document describes the main features of the \TL{} software +distribution\Dash \TeX{} and related programs for \GNU/Linux +and other Unix flavors, \MacOSX, and Windows systems. + +You may have acquired \TL{} by downloading, or on the \TK{} \DVD, +which \TeX{} usergroups distribute among their members. Section +\ref{sec:tl-coll-dists} briefly describes the contents of this \DVD. +Both \TL{} and the \TK{} are cooperative efforts by the \TeX{} user +groups. This document mainly describes \TL{} itself. + +\TL{} includes executables for \TeX{}, \LaTeXe{}, \ConTeXt, +\MF, \MP, \BibTeX{} and many other programs; an extensive collection +of macros, fonts and documentation; and support for typesetting in +many different scripts from around the world. + +\TL{} packages are regularly updated from +\acro{CTAN}: \url{http://www.ctan.org}. + +For a brief summary of the major changes in this edition of \TL{}, +see the end of the document, section~\ref{sec:history} +(\p.\pageref{sec:history}). + +\subsection{Operating system support} +\label{sec:os-support} + +\TL{} contains binaries for many Unix-based architectures, +including \MacOSX. The included sources should enable installation +on platforms for which we do not have binaries. + +As to Windows: only Windows 2000 and later are supported. Windows +9\textit{x}, ME and NT have been dropped. Because of this +change, Windows requires much less special treatment compared to +the Unix systems. There are no 64-bit executables for Windows, but the +32-bit executables should run on 64-bit systems. + +See section~\ref{sec:tl-coll-dists} for alternate solutions +for Windows and \MacOSX. + +\subsection{Basic installation of \protect\TL{}} +\label{sec:basic} + +You can install \TL{} either from \DVD{} or over the Internet. The net +installer itself is small, and downloads everything requested from the +Internet. The net installer is an attractive option if you need only a +fraction of the complete \TL. + +The \DVD{} installer lets you install to a local disk, but you can +also run \TL{} directly from the \DVD{} (or from a \DVD{} image, if +your system supports that). + +\noindent This is described in the +installation sections following, but here is a quick start: + +\begin{itemize*} + +\item The installation script is named \filename{install-tl}. It can + operate in both a \GUI{} mode (default for Windows) and + a text mode (default for everything else). You can force one mode or + the other with the options \code{-gui} and \code{-no-gui}, respectively. + +\item One of the installed items is a new program, the `\TL\ Manager', + named \prog{tlmgr}. Like the installer, it can be used in both \GUI{} + mode and in text mode. You can use it to install and uninstall + packages and do various configuration tasks. + +\end{itemize*} + + +\subsection{Getting help} +\label{sec:help} + +The \TeX{} community is both active and friendly, and most serious +questions end up getting answered. However, the support is informal, +done by volunteers and casual readers, so it's especially important that +you do your homework before asking. (If you prefer guaranteed +commercial support, you can forego \TL{} completely and purchase a +vendor's system; \url{http://tug.org/interest.html#vendors} has a list.) + +Here is a list of resources, approximately in the order we recommend +using them: + +\begin{description} +\item [Getting Started] If you are new to \TeX, the web page +\url{http://tug.org/begin.html} gives a brief introduction to the system. + +\item [\TeX{} \acro{FAQ}] The \TeX{} \acro{FAQ} is a huge compendium + of answers to all sorts of questions, from the most basic to the + most arcane. It is included on \TL{} in + \OnCD{texmf-doc/doc/english/FAQ-en/html/index.html}, and is available + on the Internet through \url{http://www.tex.ac.uk/faq}. Please + check here first. + +\item [\TeX{} Catalogue] If you are looking for a specific package, +font, program, etc., the \TeX{} Catalogue is the place to look. It is a +huge collection of all \TeX{}-related items. See +\url{http://www.ctan.org/help/Catalogue/}. + +\item [\TeX{} Web Resources] The web page +\url{http://tug.org/interest.html} has many \TeX{}-related links, in +particular for numerous books, manuals, and articles on all aspects of +the system. + +\item [support archives] The two principal support forums are the +Usenet newsgroup \url{news:comp.text.tex} and the mailing list +\email{texhax@tug.org}. Their archives have years of past +questions and answers for your searching pleasure, via +\url{http://groups.google.com/group/comp.text.tex/topics} and +\url{http://tug.org/mail-archives/texhax}, respectively. And a general web +search, for example on \url{http://google.com}, never hurts. + +\item [asking questions] If you cannot find an answer, you can post to +\dirname{comp.text.tex} through Google or your newsreader, or to +\email{texhax@tug.org} through email. But before you post, +\emph{please} read this \acro{FAQ} entry, to maximize +your chances of getting a useful answer: +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. + +\item [\TL{} support] If you want to report a bug or have +suggestions or comments on the \TL{} distribution, installation, or +documentation, the mailing list is \email{tex-live@tug.org}. However, +if your question is about how to use a particular program included in +\TL{}, please write to that program's maintainer or +mailing list. Often running a program with the \code{-{}-help} option +will provide a bug reporting address. + +\end{description} + +The other side of the coin is helping others who have questions. Both +\dirname{comp.text.tex} and \code{texhax} are open to anyone, so feel +free to join, start reading, and help out where you can. + + +% don't use \TL so the \uppercase in the headline works. Also so +% tex4ht ends up with the right TeX. Likewise the \protect's. +\section{Overview of \protect\TeX\protect\ Live} +\label{sec:overview-tl} + +This section describes the contents of \TL{} and the \TK{} of which it +is a part. + +\subsection{The \protect\TeX\protect\ Collection: \TL, pro\TeX{}t, Mac\TeX} +\label{sec:tl-coll-dists} + +The \TK{} \DVD{} comprises the following: + +\begin{description} + +\item [\TL] A complete \TeX{} system which can be run live or + installed to disk. + +\item [Mac\TeX] for \MacOSX, this adds a native \MacOSX\ installer and other +Mac applications to \TL{}. Its home page is +\url{http://www.tug.org/mactex/}. + +\item [pro\TeX{}t] An enhancement of the \MIKTEX\ distribution for Windows, +\ProTeXt\ adds a few extra tools to \MIKTEX, and simplifies +installation. It is entirely independent of \TL{}, and has its own +installation instructions. The \ProTeXt\ home page is +\url{http://tug.org/protext}. + +\item [CTAN] A snapshot of the \CTAN{} repository. + +\item [\texttt{texmf-extra}] A directory with assorted additional packages. + +\end{description} + +\CTAN{}, \pkgname{protext}, and \dirname{texmf-extra} do not +necessarily follow the same copying conditions as \TL{}, so be careful +when redistributing or modifying. + + +\subsection{Top level \TL{} directories} +\label{sec:tld} + +Here is a brief listing and description of the top level directories in +the \TL{} distribution. On the \pkgname{live} \DVD, the entire \TL{} +hierarchy is in a subdirectory \dirname{texlive}, not at the top +level of the disc. + +\begin{ttdescription} +\item[bin] The \TeX{} system programs, arranged by platform. +% +\item[readme.html] Web pages with a quick introduction and useful links, +in various languages. +% +\item[source] The source to all included programs, including the main \Webc{} + \TeX{} and \MF{} distributions. +% +\item[support] Various auxiliary packages and programs. These are + \emph{not} installed automatically. This includes + assorted editors and \TeX\ shells. +% +\item[texmf] See \dirname{TEXMFMAIN} below. +% +\item[texmf-dist] See \dirname{TEXMFDIST} below. +% +\item[texmf-doc] Tree for self-contained pure documentation, arranged by + language. +% +\item[tlpkg] Scripts, programs and data for managing the + installation. It also contains private copies of + Perl and Ghostscript for Windows, which are invisible outside \TL, + and a new Windows PostScript viewer PSView. +\end{ttdescription} + +In addition to the directories above, the installation scripts and +\filename{README} files (in various languages) are at the top level of +the distribution. + +The \dirname{texmf-doc} directory contains documentation which does +not belong to any particular package or program. The documentation +for the programs (manuals, man pages, Info files) is in +\dirname{texmf/doc}. The documentation for \TeX\ packages and +formats is in \dirname{texmf-dist/doc}. You can use the +\cmdname{texdoc} or \cmdname{texdoctk} programs to find any +documentation wherever it is located. The comprehensive links in +the top-level file \OnCD{doc.html} may also be helpful. + +This \TL\ documentation itself is in \dirname{texmf-doc} and is +available in several languages: + +\begin{itemize*} +\item{Simplified Chinese:} \OnCD{texmf-doc/doc/chinese/texlive-zh-cn} +\item{Czech/Slovak:} \OnCD{texmf-doc/doc/czechslovak/texlive-cz} +\item{English:} \OnCD{texmf-doc/doc/english/texlive-en} +\item{French:} \OnCD{texmf-doc/doc/french/texlive-fr} +\item{German:} \OnCD{texmf-doc/doc/german/texlive-de} +\item{Polish:} \OnCD{texmf-doc/doc/polish/texlive-pl} +\item{Russian:} \OnCD{texmf-doc/doc/russian/texlive-ru} +\end{itemize*} + +\subsection{Overview of the predefined texmf trees} +\label{sec:texmftrees} + +This section lists all predefined variables specifying the texmf trees +used by the system, and their intended purpose, and the default +layout of a \TL{} system. The command \texttt{texconfig conf} shows +you the values of these variables, so that you can easily find out +how they map to directory names in your installation. + +\begin{ttdescription} +\item [TEXMFMAIN] The tree which holds vital parts of the system + such as helper scripts (e.g., \verb+web2c/mktexdir+) and other + support files and their documentation. Does not include + \TeX\ formats and packages. +\item [TEXMFDIST] The tree which holds the main set of macro packages, + fonts, etc., as originally distributed. +\item [TEXMFLOCAL] The tree which administrators can use for system-wide + installation of additional or updated macros, fonts, etc. +\item [TEXMFHOME] The tree which users can use for their own individual + installations of additional or updated macros, fonts, etc. + The expansion of this variable dynamically adjusts for each user to + their own individual directory. +\item [TEXMFCONFIG] The tree used by the utilities + \verb+texconfig+, \verb+updmap+, and \verb+fmtutil+ to store modified + configuration data. Under \envname{TEXMFHOME} by default. +\item [TEXMFSYSCONFIG] The tree used by the utilities + \verb+texconfig-sys+, \verb+updmap-sys+, and \verb+fmtutil-sys+ to + store modified configuration data. +\item [TEXMFVAR] The tree used by \verb+texconfig+, \verb+updmap+ and + \verb+fmtutil+ to store (cached) runtime data such as format files and + generated map files. Under \envname{TEXMFHOME} by default. +\item [TEXMFSYSVAR] The tree used by \verb+texconfig-sys+, + \verb+updmap-sys+ and \verb+fmtutil-sys+, and also by \verb+tlmgr+, to + store (cached) runtime data such as format files and generated map files. +\end{ttdescription} + +\noindent +The default layout is: +\begin{description} + \item[system-wide root] can span multiple \TL{} releases: + \begin{ttdescription} + \item[2007] A previous release. + \begin{ttdescription} + \item [...] + \end{ttdescription} + \item[2008] The current release. + \begin{ttdescription} + \item [bin] ~ + \begin{ttdescription} + \item [i386-linux] \GNU/Linux binaries + \item [...] + \item [universal-darwin] \MacOSX binaries + \item [win32] Windows binaries + \end{ttdescription} + \item [texmf] This is \envname{TEXMFMAIN}. + \item [texmf-dist] \envname{TEXMFDIST} + \item [texmf-doc] \envname{TEXMFDOC} + \item [texmf-var] \envname{TEXMFSYSVAR} + \item [texmf-config] \envname{TEXMFSYSCONFIG} + \end{ttdescription} + \item [texmf-local] \envname{TEXMFLOCAL}, intended to be + retained from release to release. + \end{ttdescription} + \item[user's home] (\texttt{\$HOME} or + \texttt{\%USERPROFILE\%}) + \begin{ttdescription} + \item[.texlive2007] Privately generated and configuration data + for a previous release. + \item[.texlive2008] Privately generated and configuration data + for the current release. + \begin{ttdescription} + \item [texmf-var] \envname{TEXMFVAR} + \item [texmf-config] \envname{TEXMFCONFIG} + \end{ttdescription} + \item[texmf] \envname{TEXMFHOME} Personal macros. + \textit{etc.} + \end{ttdescription} +\end{description} + + +\subsection{Extensions to \protect\TeX} +\label{sec:tex-extensions} + +\TeX{} itself is frozen, apart from rare bug fixes. It is still present +in \TL\ as the program \prog{tex}, and will remain so in the +foreseeable future. \TL{} contains several extended versions of \TeX: + +\begin{description} + +\item [\eTeX] adds a set of new primitives +\label{text:etex} (related to macro expansion, character scanning, +classes of marks, additional debugging features, and more) and the +\TeXXeT{} extensions for bidirectional typesetting. In default mode, +\eTeX{} is 100\% compatible with ordinary \TeX. See +\OnCD{texmf-dist/doc/etex/base/etex_man.pdf}. + +\item [pdf\TeX] builds on the \eTeX\ extensions, adding support for +writing \acro{PDF} output as well as \dvi{}. This is the program +invoked for most formats, e.g., \prog{etex}, \prog{latex}, +\prog{pdflatex}. See \url{http://www.pdftex.org/}. +\OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf} for the manual, and +\OnCD{texmf-dist/doc/pdftex/manual/samplepdf/samplepdf.tex} for example usage +of some of its features. + +\item [Lua\TeX] is the designated successor of pdf\TeX, with which it +is intended to be backward-compatible. It should also supersede Aleph, +see below. The incorporated Lua interpreter (see +\url{http://www.lua.org/}) enables elegant solutions for many thorny +\TeX{} problems. When called as \filename{texlua}, it functions as a +standalone Lua interpreter, and is already used as such within \TL. See +\url{http://www.luatex.org/} and +\OnCD{texmf-dist/doc/luatex/luatexref-t.pdf}. + +\item [\XeTeX] adds support for Unicode input and OpenType- and system +fonts, implemented using standard third-party libraries. See +\url{http://scripts.sil.org/xetex}. + +\item [\OMEGA\ (Omega)] is based on Unicode (16-bit characters), thus +supports working with almost all the world's scripts simultaneously. It +also supports so-called `\OMEGA{} Translation Processes' (\acro{OTP}s), +for performing complex transformations on arbitrary input. See +\OnCD{texmf-dist/doc/omega/base/doc-1.8.tex} (not completely up-to-date). + +\item [Aleph] combines the \OMEGA\ and \eTeX\ extensions. +See \OnCD{texmf-dist/doc/aleph/base} for some minimal documentation. + +\end{description} + + +\subsection{Other notable programs in \protect\TL} + +Here are a few other commonly-used programs included in \TL{}: + +\begin{cmddescription} + +\item [bibtex] bibliography support. + +\item [makeindex] index support. + +\item [dvips] convert \dvi{} to \PS{}. + +\item [xdvi] \dvi{} previewer for the X Window System. + +\item [dvilj] \dvi{} drive for the HP LaserJet family. + +\item [dv2dt, dt2dv] convert \dvi{} to/from plain text. + +\item [dviconcat, dviselect] cut and paste pages +from \dvi{} files. + +\item [dvipdfmx] convert \dvi{} to \acro{PDF}, an alternative approach +to pdf\TeX\ (mentioned above). See the \pkgname{ps4pdf} and +\pkgname{pdftricks} packages for still more alternatives. + +\item [psselect, psnup, \ldots] \PS{} +utilities. + +\item [lacheck] \LaTeX{} syntax checker. + +\item [texexec, texmfstart] Con\TeX{}t and \acro{PDF} processor. + +\item [tex4ht] \TeX{} to \acro{HTML} (and \acro{XML} and more) converter. + +\end{cmddescription} + + +\subsection{Fonts in \protect\TL} +\label{sec:tl-fonts} + +\TL{} comes with many high-quality scalable fonts. See +\url{http://tug.org/fonts} and +\OnCD{texmf-doc/doc/english/free-math-font-survey}. + + + +\section{Installation} +\label{sec:install} + +\subsection{Starting the installer} +\label{sec:inst-start} + +To start with, get the \TK{} \DVD{} or download the \TL{} net installer, +and locate the installer script: \filename{install-tl} for Unix, +\filename{install-tl.bat} for Windows. + +\begin{description} +\item [Net installer:] Download from \CTAN, under +\dirname{systems/texlive/tlnet}; the url +\url{http://mirror.ctan.org/systems/texlive/tlnet} will automatically +redirect to a nearby, up-to-date, mirror. You can retrieve either +\filename{install-tl.zip} which can be used under Unix and Windows and +\filename{install-unx.tar.gz} which is considerably smaller, for Unix +only. After unpacking, \filename{install-tl} and +\filename{install-tl.bat} will be in the \dirname{install-tl} +subdirectory. + +\item [\TeX{} Collection \DVD:] go to its \dirname{texlive} +subdirectory. Under Windows, the installer should start automatically +when you insert the \DVD. You can get the \DVD\ by becoming a member of +a \TeX\ user group (highly recommended, +\url{http://tug.org/usergroups.html}), or purchasing it separately +(\url{http://tug.org/store}), or burning your own from the \ISO\ +image (\url{http://tug.org/texlive/acquire.html}). + +\end{description} +The following sections explain in more detail. + +\subsubsection{Unix} + +\begin{figure}[tb] +\begin{boxedverbatim} +======================> TeX Live installation procedure <===================== + +=======> Note: Letters/digits in <angle brackets> indicate menu items <======= +=======> for commands or configurable options <======= + + + Detected platform: Intel x86 with GNU/Linux + + <B> binary systems: 1 out of 16 + + <S> Installation scheme (scheme-full) + + Customizing installation scheme: + <C> standard collections + <L> language collections + 83 collections out of 84, disk space required: 1666 MB + + <D> directories: + TEXDIR (the main TeX directory): + !! default location: /usr/local/texlive/2008 + !! is not writable, please select a different one! + TEXMFLOCAL (directory for site-wide local files): + /usr/local/texlive/texmf-local + TEXMFSYSVAR (directory for variable and automatically generated data): + /usr/local/texlive/2008/texmf-var + TEXMFSYSCONFIG (directory for local config): + /usr/local/texlive/2008/texmf-config + TEXMFHOME (directory for user-specific files): + ~/texmf + + <O> options: + [ ] use letter size instead of A4 by default + [X] create all format files + [X] install macro/font doc tree + [X] install macro/font source tree + [ ] create symlinks in standard directories + + <V> Install for running from DVD + +Other actions: + <I> start installation to HD + <H> help + <Q> quit + +Enter command: +\end{boxedverbatim} +\caption{Main text installer screen (\GNU/Linux)}\label{fig:text-main} +\end{figure} + +\begin{figure}[tb] +\tlpng{install-w32-main}{\linewidth} +\caption{Main \GUI{} installer screen (Windows)}\label{fig:gui-main} +\end{figure} + +\noindent +Below, \texttt{>} denotes the shell prompt; user input is +\Ucom{\texttt{bold}}. +Starting in a terminal window on a Unix-compatible system, the simplest +way: +\begin{alltt} +> \Ucom{cd /path/to/installer} +> \Ucom{perl install-tl} +\end{alltt} +(Or you can invoke \Ucom{perl /path/to/installer/install-tl}, or +\Ucom{./install-tl} if it stayed executable, etc.; we won't repeat all +these variations.) + +To install in \GUI\ mode (you'll need the \dirname{Perl/TK} module), use: +\begin{alltt} +> \Ucom{perl install-tl -gui} +\end{alltt} + +For a complete listing of the various options: +\begin{alltt} +> \Ucom{perl install-tl -help} +\end{alltt} + +\textbf{Warning about Unix permissions:} Your \code{umask} at the time +of installation will be respected by the \TL{} installer. Therefore, if +you want your installation to be usable by users other than you, make +sure your setting is sufficiently permissive, for instance, \code{umask +002}. For more information about \code{umask}, consult your system +documentation. + + +\subsubsection{Mac\,OS\,X} + +As mentioned in section~\ref{sec:tl-coll-dists}, a separate distribution +is prepared for \MacOSX, named Mac\TeX\ (\url{http://tug.org/mactex}). +We recommend using the native Mac\TeX\ installer instead of the \TL\ +installer on \MacOSX, because the native installer can make a few +Mac-specific adjustments, in particular to allow easily switching +between the various \TeX\ distributions for \MacOSX\ (Mac\TeX, gw\TeX, +Fink, MacPorts, \ldots). + +Mac\TeX\ is firmly based on \TL, and the main \TeX\ trees are precisely +the same. It does add a few extra folders with Mac-specific +documentation and applications. + + +\subsubsection{Windows} + +If you are using the net installer, or the \DVD\ installer failed to +start automatically, double-click \filename{install-tl.bat}. + +You can also start the installer from the command-prompt. Below, +\texttt{>} denotes the prompt; user input is \Ucom{\texttt{bold}}. If +you are in the installer directory, run just: +\begin{alltt} +> \Ucom{install-tl} +\end{alltt} + +Or you can invoke it with an absolute location, such as: +\begin{alltt} +> \Ucom{D:\bs{}texlive\bs{}install-tl} +\end{alltt} +for the \TK\ \DVD, supposing that \dirname{D:} is the optical drive. + +To install in text mode, use: +\begin{alltt} +> \Ucom{install-tl -no-gui} +\end{alltt} + +For a complete listing of the various options: +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} + +\subsubsection{The text installer} + +Figure~\ref{fig:text-main} displays the main text mode screen under +Unix. + +This is only a command-line installer; there is no cursor support at +all. For instance, you cannot tab around checkboxes or input fields. +You just type something (case-sensitive) at the prompt and press the +Enter key, and then the entire terminal screen will be rewritten, with +adjusted content. + +The text installer interface is this primitive for a reason: it +is designed to run on as many platforms as possible, even with a +very barebones Perl (for Windows, a Perl subset is included). + +\subsubsection{The graphical installer} + +Figure~\ref{fig:gui-main} displays the graphical installer under +Windows. Most differences in available options are due to this +screenshot being from Windows, and the previous text screen being +from \GNU/Linux. + +\subsection{Running the installer} +\label{sec:runinstall} + +The installer is intended to be mostly self-explanatory. Still, a few +quick notes about the various options and submenus: + +\subsubsection{Binary systems menu (Unix only)} +\label{sec:binary} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Available sets of binaries: +=============================================================================== + + a [ ] alpha-linux DEC Alpha with GNU/Linux + b [ ] amd64-freebsd x86_64 with FreeBSD + c [ ] hppa-hpux HP-UX + d [ ] i386-freebsd Intel x86 with FreeBSD + e [X] i386-linux Intel x86 with GNU/Linux + f [ ] i386-openbsd Intel x86 with OpenBSD + g [ ] i386-solaris Intel x86 with Sun Solaris + h [ ] mips-irix SGI IRIX + i [ ] powerpc-aix PowerPC with AIX + j [ ] powerpc-linux PowerPC with GNU/Linux + k [ ] sparc-linux Sparc with GNU/Linux + l [ ] sparc-solaris Sparc with Solaris + m [ ] universal-darwin universal binaries for MacOSX/Darwin + o [ ] win32 Windows + p [ ] x86_64-linux x86_64 with GNU/Linux +\end{boxedverbatim} +\caption{Binaries menu}\label{fig:bin-text} +\end{figure} + +Figure~\ref{fig:bin-text} displays the text mode binaries menu. By +default, only the binaries for your current platform will be installed. +From this menu, you can select installation of binaries for other +architectures as well. This can be useful if you are sharing a \TeX\ +tree across a network of heterogenous machines, or for a dual-boot +system. + +\subsubsection{Selecting what is going to be installed} +\label{sec:components} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Select a scheme: +=============================================================================== + + a [ ] TeX Live basic scheme + b [ ] TeX Live scheme for ConTeXt + c [X] TeX Live full scheme + d [ ] GUST TeX Live scheme + e [ ] GUTenberg TeX Live scheme + f [ ] TeX Live medium scheme + g [ ] TeX Live minimal scheme + h [ ] TeX Live for Omega users + i [ ] teTeX scheme + j [ ] XML typesetting scheme +\end{boxedverbatim} +\caption{Scheme menu}\label{fig:scheme-text} +\end{figure} + +Figure~\ref{fig:scheme-text} displays the \TL\ scheme menu; from here, +you choose a ``scheme'', which is an overall set of package collections. +The default \optname{full} scheme installs everything available, but you +can also choose the \optname{basic} scheme for a small system, +\optname{minimal} for testing purposes, and \optname{medium} or +\optname{teTeX} to get something in between. There are also various +specialized and country-specific schemes. + +\begin{figure}[tbh] +\tlpng{stdcoll}{.7\linewidth} +\caption{Collections menu (Linux)}\label{fig:collections-gui} +\end{figure} + +You can refine your scheme selection with the `standard collections' and +`language collections' menus (figure~\ref{fig:collections-gui}, shown in +\GUI\ mode for a change). + +Collections are one level more detailed than schemes\Dash in essence, a +scheme consists of several collections, a collection consists of one or +more packages, and a package (the lowest level grouping in \TL) contains +the actual \TeX\ macro files, font files, and so on. + +If you want more control than the collection menus provide, you can use +the \prog{tlmgr} program after installation (see +section~\ref{sec:tlmgr}); using that, you can control the installation +at the package level. + +\subsubsection{Directories} +\label{sec:directories} + +The default layout is described in section~\ref{sec:texmftrees}, +\p.\pageref{sec:texmftrees}. The default location of +\dirname{TEXDIR} is different between Windows +(|%PROGRAMFILES%\texlive\2008|) and Unix +(\dirname{/usr/local/texlive/2008}). + +The main reason to change this default is if you lack write permission +for the default location. You don't have to be root or adminstrator to +install \TL, but you do need write access to the target directory. + +A logical alternate choice is a directory under your home directory, +especially if you will be the sole user. Use +`|~|' to indicate this, as in `|~/texlive/2008|'. + +We recommend including the year in the name, to enable keeping different +releases of \TL{} side by side. (You may wish to make a +version-independent name such as \dirname{/usr/local/texlive-cur} via a +symbolic link, which you can then update after testing the new release.) + +Changing \dirname{TEXDIR} in the installer will also change +\dirname{TEXMFLOCAL}, \dirname{TEXMFSYSVAR} and +\dirname{TEXMFSYSCONFIG}. + +\dirname{TEXMFHOME} is the recommended location for personal +macro files or packages. The default value is |~/texmf|. In +contrast to \dirname{TEXDIR}, here a |~| is preserved in the +newly-written configuration files, since it usefully refers to the home +directory of each individual running \TeX. It expands to +\dirname{$HOME} on Unix and \verb|%USERPROFILE%| on Windows. + +\subsubsection{Options} +\label{sec:options} + +\begin{figure}[tbh] +\begin{boxedverbatim} +<P> use letter size instead of A4 by default: [ ] +<F> create all format files: [X] +<D> install font/macro doc tree: [X] +<S> install font/macro source tree: [X] +<L> create symlinks in standard directories: [ ] + binaries to: + manpages to: + info to: +\end{boxedverbatim} +\caption{Options menu (Unix)}\label{fig:options-text} +\end{figure} + +Figure~\ref{fig:options-text} displays the text mode options menu. +Three of the options here need mentioning: + +\begin{description} +\item[use letter size instead of A4 by default:] The usual default paper + size selection. Of course, individual documents can specify a specific + paper size, if desired. + +\item[create all format files:] Although unnecessary format files + take time to generate and disk space to store, it is still recommended + to leave this option checked: if you don't, then format files will be + generated in people's private \dirname{TEXMFVAR} tree as they are + needed. In that location, they will not be updated automatically if + (say) binaries or hyphenation patterns are updated in the + installation, and thus could end up with incompatible format files. + +\item[create symlinks in standard directories] (Unix only): + This option bypasses the need to change environment + variables. Without this option, \TL{} directories have to be added + to \envname{PATH}, \envname{MANPATH} and \envname{INFOPATH}. You will + need write permissions to the target directories. It is not + advisable to overwrite a \TeX\ system that came with your system + with this option. It is intended primarily for creating the links + in standard directories that are known to users, such as + \dirname{/usr/local/bin}, which don't already contain any + \TeX\ files. +\end{description} + +Now when all these settings are to your liking, you can type `I' to +start the installation process. When it is done, skip to +section~\ref{sec:postinstall} to read what else needs to be done, if +anything. + +\subsubsection{Set up for running from DVD{} (text mode only)} +\label{sec:fromdvd} + +Type `|V|' to select this option. This changes the main menu into something +like figure~\ref{fig:main-fromdvd}. +\begin{figure}[tbh] +\begin{boxedverbatim} +======================> TeX Live installation procedure <===================== + +=======> Note: Letters/digits in <angle brackets> indicate menu items <======= +=======> for commands or configurable options <======= + + <D> directories: + TEXDIRW (Writable root): + !! default location: /usr/local/texlive/2008 + !! is not writable, please select a different one! + TEXMFLOCAL (directory for site-wide local files): + /usr/local/texlive/texmf-local + TEXMFSYSVAR (directory for variable and automatically generated data): + /usr/local/texlive/2008/texmf-var + TEXMFSYSCONFIG (directory for local config): + /usr/local/texlive/2008/texmf-config + TEXMFHOME (directory for user-specific files): + ~/texmf + + <O> options: + [ ] use letter size instead of A4 by default + [X] create all format files + + <V> set up for installing to hard disk + +Other actions: + <I> start installation for running from DVD + <H> help + <Q> quit +\end{boxedverbatim} +\caption{The main menu with \optname{from DVD} + set}\label{fig:main-fromdvd} +\end{figure} + +Note the changes: all options about what to install have +disappeared, and the directories section now talks about +\dirname{TEXDIRW} or writable root. The symlinks option has also +disappeared. + +The installer will still create various directories and +configuration files, but won't copy \dirname{texmf}, +\dirname{texmf-dist} or \dirname{texmf-doc} to hard disk. + +Post-install configuration for Unix will be slightly more complicated, +because now the directory layout deviates from the default; see +section~\ref{sec:postinstall}. + +Due to time constraints, this option didn't make it into the \GUI{} +installer, but it is available both for Unix and for +Windows. Windows users have to start the installer from a command +prompt, see section~\ref{sec:cmdline}. + +Section \ref{sec:portable-unix} describes a more strictly portable +way to run \TL, which doesn't make or require changes in the +system's configuration, but doesn't allow any configuration either. + +\subsection{Command-line install options} +\label{sec:cmdline} + +Type +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} +for a listing of command-line options. Either |-| or |--| can be used +to introduce option names. These are the more +interesting ones: + +\begin{ttdescription} +\item[-gui] If possible, use the \GUI{} installer. This requires the + Perl/Tk module (\url{http://tug.org/texlive/distro.html#perltk}); + if Perl/Tk is not available, installation continues in text mode. +\item[-no-gui] Force using the text mode installer, even under + Windows; you'll need this if you want a `from \DVD' installation, + since that is not available in \GUI{} mode. +\item[-lang {\sl LL}] Specify the installer interface + language as its standard two-letter code \textsl{LL}. Currently + supported languages: English (\texttt{en}, default), German + (\texttt{de}), French (\texttt{fr}), Dutch (\texttt{nl}), Polish + (\texttt{pl}), Slovenian (\texttt{sl}) and Vietnamese + (\texttt{vi}). The installer tries to determine the right language + itself but if it fails, or if the right language is not available, + then it uses English as a fallback. +\item[-profile {\sl profile}] The installer always writes a file + \filename{texlive.profile} to the \dirname{2008/tlpkg}- or + \dirname{tlpkg} subdirectory of your installation. This option tells + the installer to re-use such a profile file. Here's an excerpt: + \begin{fverbatim} +# texlive.profile written on Wed Jul 9 16:13:44 2008 UTC +# It will NOT be updated and reflects only the +# installation profile at installation time. +selected_scheme scheme-basic +TEXDIR /usr/local/texlive/2008 +TEXDIRW /usr/local/texlive/2008 +... +TEXMFSYSVAR /usr/local/texlive/2008/texmf-var +collection-basic 1 +... +option_symlinks 0 + \end{fverbatim} + Thus, using this option you can install in batch mode on + subsequent systems, reproducing the choices you made for the + original installation. +\item [-location {\sl url/path}] Specify a non-default source for + packages; see below. +\end{ttdescription} + +\subsubsection{The \optname{location} parameter} +\label{sec:location} + +The location value can be a url starting with \texttt{ftp:}, +\texttt{http:}, or \texttt{file:/} url, or a plain path. If the given +argument is on a local drive (either a path or a \texttt{file:/} url), +the installation type (compressed or live) is automatically determined: +if an \dirname{archive} subdirectory with \filename{.tar.lzma} files is +found then it will be used, even if uncompressed files are available as +well. + +When giving an \texttt{http:} or \texttt{ftp:} location, trailing +`\texttt{/}' characters and/or a trailing `\texttt{/tlpkg}' component +are ignored. For example, you could choose a particular \CTAN\ mirror +with something like: +\url{http://ctan.example.org/tex-archive/texlive/tlnet/2008}, +substituting of course a proper hostname and its particular top-level +\CTAN\ path (the list of \CTAN\ mirrors is maintained at +\url{http://ctan.org/mirrors}) for |ctan.example.org/tex-archive|. The +default is to pick a mirror automatically, using +\url{http://mirror.ctan.org}; in any case, the chosen host is used for +the entire download. + + +\subsection{Post-install actions} +\label{sec:postinstall} + +Some post-install may be required. + +\subsubsection{Windows} + +But on Windows, the installer takes care of everything. + +\subsubsection{If symlinks were created} + +If you elected to create symlinks in standard directories (mentioned in +section~\ref{sec:options}), then there is no need to edit environment +variables. + +\subsubsection{Environment variables for Unix} +\label{sec:env} + +The directory of the binaries for your platform must be added to +the search path. Each supported platform has its own subdirectory +under \dirname{TEXDIR/bin}. See figure~\ref{fig:bin-text} for the +list of subdirectories and corresponding platforms. + +You can also add the documentation man and Info directories to their +respective search paths, if you want the system tools to find them. + +For Bourne-compatible shells such as \prog{bash}, and using Intel x86 +GNU/Linux and a default directory setup as an example, the file to edit +might be \filename{$HOME/.profile} (or another file sourced by +\filename{.profile}, and the lines to add would look like this: + +\begin{sverbatim} +PATH=/usr/local/texlive/2008/bin/i386-linux:$PATH; export PATH +MANPATH=/usr/local/texlive/2008/texmf/doc/man:$MANPATH; export MANPATH +INFOPATH=/usr/local/texlive/2008/texmf/doc/info:$INFOPATH; export INFOPATH +\end{sverbatim} + +For csh or tcsh, the file to edit is typically \filename{$HOME/.cshrc}, and +the lines to add might look like: + +\begin{sverbatim} +setenv PATH /usr/local/texlive/2008/bin/i386-linux:$PATH +setenv MANPATH /usr/local/texlive/2008/texmf/doc/man:$MANPATH +setenv INFOPATH /usr/local/texlive/2008/texmf/doc/info:$INFOPATH +\end{sverbatim} + +Of course, you may well already have settings somewhere in your ``dot'' +files, and so then the \TL\ directories should simply be merged in as +appropriate. + +\subsubsection{Environment variables: global configuration} +\label{sec:envglobal} + +If you want to make these changes globally, or for a user newly added to +the system, then you are on your own; there is just too much variation +between systems in how and where these things are configured. + +Our two hints are: 1)~you may want to check for a file +\filename{/etc/manpath.config} and, if present, add lines such as + +\begin{sverbatim} +MANPATH_MAP /usr/local/texlive/2008/bin/i386-linux \ + /usr/local/texlive/2008/texmf/doc/man +\end{sverbatim} + +And 2)~check for a file \filename{/etc/environment} which may define the +search path and other default environment variables. + + +\subsubsection{When running from DVD} + +Normally, a \TL{} program consults a file \filename{texmf.cnf} for the +location of the various trees. It looks for this file in a series of +locations relative to its own location. However, this scheme breaks down +when a program is run from \DVD{}: the \DVD{} is read-only. Some of the +paths to be recorded in \filename{texmf.cnf} are only known at +installation time, so this file cannot be on the \DVD{} and must be +placed somewhere else. This makes it necessary to define an environment +\envname{TEXMFCNF} variable which tells \TL{} programs in what directory +to find this \filename{texmf.cnf}. It is also still necessary to modify +the \envname{PATH} environment variable, as described before. + +At the end of the installation, the installer should have printed a +message giving the value to which \envname{TEXMFCNF} should be set. In +case you missed it: this value is \dirname{$TEXMFSYSVAR/web2c}. For the +default, \dirname{/usr/local/texlive/2008/texmf-var/web2c}, you need the +lines +\begin{sverbatim} +TEXMFCNF=/usr/local/texlive/2008/texmf-var/web2c; export TEXMFCNF +\end{sverbatim} +or, for [t]csh: +\begin{sverbatim} +setenv TEXMFCNF /usr/local/texlive/2008/texmf-var/web2c +\end{sverbatim} + + +\subsubsection{\ConTeXt{} Mark IV} + +The `old' \ConTeXt{} should run out of the box. The new `Mark IV' +\ConTeXt{} will require manual setup; see +\url{http://wiki.contextgarden.net/Running_Mark_IV}. + + +\subsubsection{Integrating local and personal macros} +\label{sec:local-personal-macros} + +This is already mentioned implicitly in section~\ref{sec:texmftrees}: +\dirname{TEXMFLOCAL} (by default, +\dirname{/usr/local/texlive/texmf-local} or +\verb|C:\Program Files\texlive\texmf-local|) + +is intended for system-wide local fonts and macros; and +\dirname{TEXMFHOME} (by default, \dirname{$HOME/texmf} or +\verb|%USERPROFILE%\texmf|), is for personal fonts and macros. These +directories are intended to stick around from release to release, and +have their content seen automatically by a new \TL{} release. +Therefore, it is best to refrain from changing the definition of +\dirname{TEXMFLOCAL} to be too far away from the main \TL{} directory, +or you will need to manually change future releases. + +For both trees, files should be placed in their proper subdirectories; +see \url{http://tug.org/tds} or consult +\filename{texmf/web2c/texmf.cnf}. For instance, a \LaTeX{} class file or +package should be placed in \dirname{TEXMFLOCAL/tex/latex} or +\dirname{TEXMFHOME/tex/latex}, or a subdirectory thereof. + +\dirname{TEXMFLOCAL} requires an up-to-date filename database, or files +will not be found. You can update it with the command +\cmdname{mktexlsr} or use the `Reinit file database' button on the +configuration tab of \prog{tlmgr} in \GUI\ mode. + +\subsubsection{Integrating third-party fonts} + +This is unfortunately a very complicated and messy topic. Forget +about it unless you really know your way around blindfolded in a +\TeX{} installation. Don't forget to check first what you get for +free: see section~\ref{sec:tl-fonts}. + +A possible alternative is to use \XeTeX (see +section~\ref{sec:tex-extensions}), which lets you use operating system +fonts without any installation in \TeX. + + +\subsection{Testing the installation} +\label{sec:test-install} + +After installing \TL{} as best you can, you naturally want to test +it out, so you can start creating beautiful documents and\slash or fonts. + +This section gives some basic procedures for testing that the new system +is functional. We give Unix commands here; under \MacOSX{} and Windows, +you're more likely to run the tests through a graphical interface, but +the principles are the same. + +\begin{enumerate} + +\item Make sure that you can run the \cmdname{tex} program in the first +place: + +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.1415926 (Web2C 7.5.7) +kpathsea version 3.5.7 +... +\end{alltt} +If this comes back with `command not found' instead of version and +copyright information, or with an older version, most likely you don't +have the correct \dirname{bin} subdirectory in your \envname{PATH}. See +the environment-setting information on \p.\pageref{sec:env}. + +\item Process a basic \LaTeX{} file: +\begin{alltt} +> \Ucom{latex sample2e.tex} +This is pdfeTeXk, Version 3.1415926... +... +Output written on sample2e.dvi (3 pages, 7484 bytes). +Transcript written on sample2e.log. +\end{alltt} +If this fails to find \filename{sample2e.tex} or other files, most +likely you have interference from old environment variables or +configuration files; we recommend unsetting all \TeX-related environment +variables for a start. (For a deep analysis, you can ask \TeX{} to +report on exactly what it is searching for, and finding; see ``Debugging +actions'' on page~\pageref{sec:debugging}.) + +\item Preview the result online: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} +\end{alltt} +(Under Windows, the analogous command is \cmdname{dviout}.) You should +see a new window with a nice document explaining some of the basics of +\LaTeX{}. (Well worth reading, by the way if you're new to the system.) +You do have to be running under X for \cmdname{xdvi} to work; if you're +not, or your \envname{DISPLAY} environment variable is set incorrectly, +you'll get an error \samp{Can't open display}. + +\item Create a \PS{} file for printing or display: +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item Create a \acro{PDF} file instead of \dvi{}; this processes the +\filename{.tex} file and writes \acro{PDF} directly: +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item Preview the \acro{PDF} file: +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{or:} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} +Unfortunately neither \cmdname{gv} nor \cmdname{xpdf} are currently +included in \TL{}, so you must install them separately. See +\url{http://www.gnu.org/software/gv} and +\url{http://www.foolabs.com/xpdf}, respectively. (There are plenty of +other \acro{PDF} viewers, too.) + +\item Standard test files you may find useful in addition to +\filename{sample2e.tex}: + +\begin{ttdescription} +\item [small2e.tex] A simpler document than \filename{sample2e}, to +reduce the input size if you're having troubles. +\item [testpage.tex] Test if your printer introduces any offsets. +\item [nfssfont.tex] For printing font tables and tests. +\item [testfont.tex] Also for font tables, but using plain \TeX{}. +\item [story.tex] The most canonical (plain) \TeX{} test file of all. +You must type \samp{\bs bye} to the \code{*} prompt after \samp{tex +story.tex}. +\end{ttdescription} + +\end{enumerate} + +If you are new to \TeX{}, or otherwise need help with actually writing +\TeX{} or \LaTeX{} documents, please visit +\url{http://tug.org/begin.html} for some introductory resources. + + +\section{Network installations} +\label{sec:netinstall} + +\TL{} has been designed to be shared between different users, and even +different systems on a network. With a standard directory layout, no +hard paths are configured: the locations for files needed by \TL{} +programs are defined relative to the places of those programs. You can +see this at work in the configuration file +\filename{$TEXMFMAIN/web2c/texmf.cnf}, which contains lines such as +\begin{sverbatim} +TEXMFMAIN = $SELFAUTOPARENT/texmf +... +TEXMFLOCAL = $SELFAUTOPARENT/../texmf-local +\end{sverbatim} +This means that other systems or other users merely need to add the +directory for \TL{} binaries for their platform to their search path. + +By the same token, you can also install \TL{} locally and then move +the entire hierarchy afterwards to a network location. + +Of course, Windows users have different expectations. The directory +\dirname{texmf-doc/source/texlive/texlive-common/w32client} contains a +sample script \filename{install-w32client} which creates settings and +menu shortcuts for using an existing \TL{} installation on a +\acro{LAN}. It is to be invoked through a batch file +\filename{install-w32client.bat} in the same directory. + +You can read more about \TL{} configuration and path searching in +section~\ref{sec:kpathsea}. + +\section{Maximally portable \protect\TL{} on DVD and USB} +\label{sec:portable-unix} + +The `running from \DVD{}' option described in +section~\ref{sec:fromdvd} is fine for your own system, but if you +are a guest on somebody else's system then you would probably like +something with minimal side effects. + +In the root of the \TL{} \DVD, or the \dirname{texlive} subdirectory of +the \TK{} \DVD, are a \filename{tl-portable} script (Unix) and a +\filename{tl-portable.bat} batchfile (Windows) which start up a +secondary shell\slash command prompt with environment settings suitable +for directly accessing the \TL{} on the \DVD. + +When it runs for the first time, some files will be generated in a +directory \dirname{~/.tlportable2008}, which will take a little time. +On subsequent runs, though, it will start almost instantaneously. + +The rest of the system will be unaware of \TL. If you want your editor +to be aware of this \TL, then you can start it from a second, parallel, +such \filename{tl-portable} session. + +You can also use \filename{tl-portable} to run \TL{} on a +\acro{USB} stick. In this case, copy all the top-level files and +the contents of the \dirname{bin}, \dirname{texmf}, +\dirname{texmf-dist}, and \dirname{tlpkg} directories (at least) to +the stick. This may take quite a while! If you are copying to a +\acro{FAT}32-formatted \acro{USB} stick, make sure to dereference +symbolic links (\code{cp -L}). A \dirname{texmf-local} directory on +the stick will also be found and used. + +Then run \filename{tl-portable} from the root of the stick, as above. +In this case, the script will notice that the stick is writable and use +it for generated files. You could burn the resulting contents of the +stick back to \DVD{} if that is more convenient to (for example) give to +others. + + +\section{\cmdname{tlmgr}: Managing your installation} +\label{sec:tlmgr} + +\begin{figure}[tb] +\tlpng{tlmgr-gui}{\linewidth} +\caption{\prog{tlmgr} in \GUI\ mode. The list of + packages/collections/schemes only shows up after clicking the + `Load' button.}\label{fig:tlmgr-gui} +\end{figure} + +\begin{figure}[tb] +\tlpng{tlmgr-config}{\linewidth} +\caption{\texttt{tlmgr} in GUI mode: Configuration tab}\label{fig:tlmgr-config} +\end{figure} + +The installer installs a program named \prog{tlmgr} for managing \TL{} +after the initial installation. The programs \prog{updmap}, +\prog{fmtutil} and \prog{texconfig} are still included and will be +retained in the future, but \prog{tlmgr} is now the preferred interface. +Its capabilities include: + +\begin{itemize*} +\item listing schemes, collections and packages; +\item installing, updating, backing up, restoring and uninstalling + individual packages, optionally taking dependencies into account; +\item searching for packages; +\item listing and adding architectures; +\item changing installation options such as paper size and source + location (see section~\ref{sec:location}). +\end{itemize*} +\textit{Warning:} \prog{tlmgr} has not been designed for or tested +with installations which run from \DVD. + +\subsection{\cmdname{tlmgr} GUI mode} +\prog{tlmgr} can be started in \GUI{} mode with +\begin{alltt} +> \Ucom{tlmgr -gui} +\end{alltt} +or in Windows via the Start menu: \texttt{Start}, \texttt{Programs}, +\texttt{TeX Live 2008}, \texttt{TeX Live Manager}. After clicking `Load' +it displays a list of available and installed packages\Dash the latter +prepended with `(i)'. This assumes of course that the installation +source is valid and reachable. + +Figure~\ref{fig:tlmgr-config} shows the configuration tab. + +\subsection{Sample \cmdname{tlmgr} command-line invocations} + +This example adds several packages, including a new `engine', from a +non-default location: + +\begin{alltt} +> \Ucom{tlmgr -location http://172.16.18.1/tldev install collection-xetex xkeyval} +\end{alltt} +It generates the following output: +\begin{fverbatim} +install: collection-xetex +install: arabxetex +install: euenc +install: bidi +install: fontspec +install: fontwrap +install: ifxetex +install: philokalia +install: polyglossia +install: xecyr +install: xecyr.i386-linux +install: xepersian +install: xetex +install: xetexconfig +install: xetex.i386-linux +running post install action for xetex +install: xetex-def +install: xetex-pstricks +install: xetexfontinfo +install: xltxtra +install: xunicode +install: xkeyval +running mktexlsr +mktexlsr: Updating /usr/local/texlive/2008/texmf/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-config/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-dist/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-doc/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/../texmf-local/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-var/ls-R... +mktexlsr: Done. +regenerating fmtutil.cnf +running fmtutil-sys --missing +... +Transcript written on xelatex.log. +fmtutil: /usr/local/texlive/2008/texmf-var/web2c/xetex/xelatex.fmt installed. +\end{fverbatim} +As you see, \prog{tlmgr} installs dependencies, and takes care of any +necessary post-install actions, including updating the filename database +and (re)generating formats. (Here we generated new formats for \XeTeX.) + +This example installs a new language. This also triggers format +regeneration: +\begin{alltt} +> \Ucom{tlmgr install collection-langdutch} +\end{alltt} +To describe a package: +\begin{alltt} +> \Ucom{tlmgr show collection-wintools} +\end{alltt} +which produces +\begin{fverbatim} +Package: collection-wintools +Category: Collection +ShortDesc: Windows support programs +LongDesc: Utilities for Windows, since they are not readily available there: + gzip, chktex, jpeg2ps, unzip, wget, xpdf. +Installed: Yes +\end{fverbatim} +Updating your entire installation to the latest versions available: +\begin{alltt} +> \Ucom{tlmgr update -all} +\end{alltt} +If this makes you nervous, first try +\begin{alltt} +> \Ucom{tlmgr update -all -dry-run} +\end{alltt} +or +\begin{alltt} +> \Ucom{tlmgr update -list} +\end{alltt} +For full documentation: +\begin{alltt} +> \Ucom{tlmgr -help} +\end{alltt} + + +\section{Notes on Windows} +\label{sec:windows} + +\TL\ has a single installer which runs on both Windows and Unix. This +was only possible by dropping support for older Windows versions, so +\TL\ can now be installed only on Windows 2000 and later. + + +\subsection{Windows-specific features} +\label{sec:winfeatures} + +Under Windows, the installer does some extra things: +\begin{description} +\item[Menus and shortcuts.] A new `\TL{}' submenu of the + Start menu is installed, which contains entries for some \GUI{} programs + (\prog{tlmgr}, \prog{texdoctk}, the PS\_View PostScript previewer) + and some documentation. PS\_View also gets a shortcut on the + desktop as a drag-and-drop target for PostScript files. +\item[Automatic setting of environment variables.] No manual + configuration steps are required. +\item[Uninstaller.] The installer creates an entry under `Add/Remove + Programs' for \TL. The uninstall tab of\prog{tlmgr} refers to + this. +\end{description} + +\subsection{Additional included software} + +\begin{figure}[tb] +\tlpng{psview}{.6\linewidth} +\caption{PS\_View: very high magnifications available!}\label{fig:psview} +\end{figure} + +To be complete, a \TL installation needs support packages that are not +commonly found on a Windows machine. \TL{} provides the missing +pieces: +\begin{description} +\item[Perl and Ghostscript.] Because of the importance of Perl and + Ghostscript, \TL{} includes `hidden' copies of these + programs. \TL{} programs that need them know where to find them, + but they don't betray their presence through environment variables + or registry settings. They aren't full-scale distributions, and + shouldn't interfere with any system installations of Perl or + Ghostscript. +\item[Command-line tools.] A number of Windows ports of common Unix + command-line programs are installed along with the usual \TL{} + binaries. These include \cmdname{gzip}, \cmdname{chktex}, + \cmdname{jpeg2ps}, \cmdname{unzip}, \cmdname{wget} and the + command-line utilities from the \cmdname{xpdf} suite. (The + \cmdname{xpdf} viewer itself is not available for Windows, but the + Sumatra \acro{PDF} viewer is based on it: + \url{http://blog.kowalczyk.info/software/sumatrapdf}.) +\item[\texttt{fc-cache}] helps \XeTeX{} to handle fonts more + efficiently. +\item[PS\_View.] Also installed is PS\_View, a new PostScript viewer + with a free license; see figure~\ref{fig:psview}. +\end{description} +\begin{description} +\item[The \texttt{support} directory,] already mentioned in + section~\ref{sec:tld}. This directory contains various programs + which can be useful in connection with \TeX, in particular a + number of \TeX-aware editors and \TeX{} frontends. The software in + this directory isn't covered by the installer. This directory also + contains the \cmdname{dviout} \dvi{} previewer; see the next section. +\end{description} + +\subsection{The Dviout previewer} + +This \TL{} release unfortunately doesn't offer a preinstalled \dvi{} +previewer for Windows. However, you can install \prog{dviout} by +Toshio Oshima from the \path{support/dviout/} directory, which +contains also a short \filename{README} describing how to install +and configure \prog{dviout} for \TL. Please read this carefully +before installation. + +At first, when you preview files with \cmdname{dviout}, it will create fonts, +because screen fonts were not installed. After a while, you will have created +most of the fonts you use, and you will rarely see the font-creation window. +More information can be found in the (very good) on-line help. + +\subsection{Links for additional downloadable software} + +Urls for some other tools you may consider installing: +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.perl.org/} with + supplementary packages from \acro{CPAN}, \url{http://www.cpan.org/} +\item[ImageMagick] \url{http://www.imagemagick.com}, for graphics + processing and conversion +\item[NetPBM] \url{http://netpbm.sourceforge.net/}, also for graphics. + +\item[\TeX-oriented editors] There is a wide choice, and it is a matter of the + user's taste. Here is a selection, in no particular order: + \begin{itemize*} + \item \cmdname{GNU Emacs} is available natively under Windows, see + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html}. + \item \cmdname{Emacs} with Auc\TeX\ for Windows is available in \TL's + \path{support} directory; its home page is + \url{http://www.gnu.org/software/auctex}. + \item \cmdname{WinShell} is available in \TL's \path|support| + directory; its home page is \url{http://www.winshell.de}. + \item \cmdname{WinEdt} is shareware available from + \url{http://www.winedt.com}. + \item \cmdname{Vim} is free software, available from + \url{http://www.vim.org}. + \item TeXnicCenter is free software, available from + \url{http://www.toolscenter.org} and in the pro\TeX{}t distribution. + \item \cmdname{LEd} is available from \url{http://www.ctan.org/support/LEd}. + \item \cmdname{SciTE} is available from + \url{http://www.scintilla.org/SciTE.html}. + \end{itemize*} +\end{description} + + +\subsection{User Profile is Home} +\label{sec:winhome} + +The Windows counterpart of a Unix home directory is the +\verb|%USERPROFILE%| directory. Under Windows XP and Windows 2000, this +is usually \verb|C:\Documents and Settings\<username>|, and under +Windows Vista \verb|C:\Users\<username>|. In the +\filename{texmf.cnf} file, and \KPS{} in general, \verb|~| will expand +appropriately on both Windows and Unix. + + +\subsection{The Windows registry} +\label{sec:registry} + +Windows stores nearly all configuration data in its registry. The +registry contains a set of hierarchically organized keys, with several +root keys. The most important ones for installation programs are +\path{HKEY_CURRENT_USER} and \path{HKEY_LOCAL_MACHINE}, \path{HKCU} and +\path{HKLM} in short. The \path{HKCU} part of the registry is in the +user's home directory (see section~\ref{sec:winhome}). \path{HKLM} is +normally in a subdirectory of the Windows directory. + +In some cases, system information could be obtained from environment +variables but for other information, for example the location of +shortcuts, it is necessary to consult the registry. Setting environment +variables permanently also requires registry access. + + +\subsection{Windows permissions} +\label{sec:winpermissions} + +In later versions of Windows, a distinction is made between regular +users and administrators, where only the latter have free access to the +entire operating system. In practice, though, you could better describe +these classes of users as unprivileged users and normal users: being an +administrator is the rule, not the exception. Nevertheless, we have made +an effort to make \TL{} installable without administrative privileges. + +If the user is an administrator, shortcuts are created for all users, +and the system environment is modified. Otherwise, shortcuts and menu +entries are created for the current user, and the user environment is +modified. Use the \optname{non-admin} option to \prog{install-tl} if +you prefer per-user settings even as an administrator. + +Regardless of administrator status, the default root of \TL{} proposed +by the installer is always under \verb|%PROGRAMFILES%|. The installer +always tests whether the root is writable for the current user. + +A problem may arise if the user is not an administrator and \TeX{} +already exists in the search path. Since the effective path consists of +the system path followed by the user path, the new \TL{} will never get +precedence. As a workaround, in this case the installer creates +shortcuts to the command-prompt in which the new \TL{} binary directory +is prepended to the local searchpath. The new \TL{} will be usable when +run in a command-line session started from such a shortcut. + + +\section{A user's guide to Web2C} + +\Webc{} is an integrated collection of \TeX-related programs: \TeX{} +itself, \MF{}, \MP, \BibTeX{}, etc. It is the heart of \TL{}. The home +page for \Webc{}, with the current manual and more, is +\url{http://tug.org/web2c}. + +A bit of history: The original implementation was by Tomas Rokicki who, +in 1987, developed a first \TeX{}-to-C system based on change files +under Unix, which were primarily the original work of Howard Trickey and +Pavel Curtis. Tim Morgan became the maintainer of the system, and +during this period the name changed to Web-to-C\@. In 1990, Karl Berry +took over the work, assisted by dozens of additional contributors, and +in 1997 he handed the baton to Olaf Weber, who returned it to Karl in +2006. + +The \Webc{} system runs on Unix, 32-bit Windows systems, \MacOSX{}, and +other operating systems. It uses Knuth's original sources for \TeX{} and +other basic programs written in the \web{} literate programming system +and translates them into C source code. The core \TeX{} programs +handled in this way are: + +\begin{cmddescription} +\item[bibtex] Maintaining bibliographies. +\item[dmp] \cmdname{troff} to MPX (\MP{} pictures). +\item[dvicopy] Expands virtual font references in \dvi{} files. +\item[dvitomp] \dvi{} to MPX (MetaPost pictures). +\item[dvitype] \dvi{} to human-readable text. +\item[gftodvi] Generic font proofsheets. +\item[gftopk] Generic to packed fonts. +\item[gftype] GF to human-readable text. +\item[makempx] \MP{} label typesetting. +\item[mf] Creating typeface families. +\item[mft] Prettyprinting \MF{} source. +\item[mpost] Creating technical diagrams. +\item[mpto] MetaPost label extraction. +\item[newer] Compare modification times. +\item[patgen] Creating hyphenation patterns. +\item[pktogf] Packed to generic fonts. +\item[pktype] PK to human-readable text. +\item[pltotf] Plain text property list to TFM. +\item[pooltype] Display \web{} pool files. +\item[tangle] \web{} to Pascal. +\item[tex] Typesetting. +\item[tftopl] TFM to plain text property list. +\item[vftovp] Virtual font to virtual property list. +\item[vptovf] Virtual property list to virtual font. +\item[weave] \web{} to \TeX. +\end{cmddescription} + +\noindent The precise functions and syntax of these programs are +described in the documentation of the individual packages and of \Webc{} +itself. However, knowing a few principles governing the whole family of +programs will help you take advantage of your \Webc{} installation. + +All programs honor these standard \GNU options: +\begin{ttdescription} +\item[-{}-help] print basic usage summary. +\item[-{}-verbose] print detailed progress report. +\item[-{}-version] print version information, then exit. +\end{ttdescription} + +For locating files the \Webc{} programs use the path searching library +\KPS{} (\url{http://tug.org/kpathsea}). This library uses a combination +of environment variables and a configuration files to optimize searching +the (huge) collection of \TeX{} files. \Webc{} can look at many +directory trees simultaneously, which is useful in maintaining \TeX's +standard distribution and local and personal extensions in distinct +trees. To speed up file searches, the root of each tree has a file +\file{ls-R}, containing an entry showing the name and relative pathname +for all files under that root. + + +\subsection{Kpathsea path searching} +\label{sec:kpathsea} + +Let us first describe the generic path searching mechanism of the \KPS{} +library. + +We call a \emph{search path} a colon- or semicolon\hyph sepa\-rated list +of \emph{path elements}, which are basically directory names. A +search path can come from (a combination of) many sources. To look up +a file \samp{my-file} along a path \samp{.:/dir}, \KPS{} checks each +element of the path in turn: first \file{./my-file}, then +\file{/dir/my-file}, returning the first match (or possibly all +matches). + +In order to adapt optimally to all operating systems' conventions, on +non-Unix systems \KPS{} can use filename separators different from +colon (\samp{:}) and slash (\samp{/}). + +To check a particular path element \var{p}, \KPS{} first checks if a +prebuilt database (see ``Filename data\-base'' on +page~\pageref{sec:filename-database}) applies to \var{p}, i.e., if the +database is in a directory that is a prefix of \var{p}. If so, the path +specification is matched against the contents of the database. + +If the database does not exist, or does not apply to this path +element, or contains no matches, the filesystem is searched (if this +was not forbidden by a specification starting with \samp{!!}\ and if +the file being searched for must exist). \KPS{} constructs the list +of directories that correspond to this path element, and then checks +in each for the file being sought. + +The ``file must exist'' condition comes into play with \samp{.vf} files and +input files read by \TeX's \cs{openin} command. Such files may not +exist (e.g., \file{cmr10.vf}), and so it would be wrong to search the +disk for them. Therefore, if you fail to update \file{ls-R} when you +install a new \samp{.vf} file, it will never be found. +Each path element is checked in turn: first the database, then the +disk. If a match is found, the search stops and the result is +returned. + +Although the simplest and most common path element is a directory +name, \KPS{} supports additional features in search paths: layered +default values, environment variable names, config file values, users' +home directories, and recursive subdirectory searching. Thus, we say +that \KPS{} \emph{expands} a path element, meaning it transforms all +the specifications into basic directory name or names. This is +described in the following sections in the same order as it takes +place. + +Note that if the filename being searched for is absolute or explicitly +relative, i.e., starts with \samp{/} or \samp{./} or \samp{../}, +\KPS{} simply checks if that file exists. + +\ifSingleColumn +\else +\begin{figure*} +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{An illustrative configuration file sample} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{Path sources} +\label{sec:path-sources} + +A search path can come from many sources. In the order in which +\KPS{} uses them: + +\begin{enumerate} +\item + A user-set environment variable, for instance, \envname{TEXINPUTS}\@. + Environment variables with a period and a program name appended + override; e.g., if \samp{latex} is the name of the program being run, + then \envname{TEXINPUTS.latex} will override \envname{TEXINPUTS}. +\item + A program-specific configuration file, for exam\-ple, a line + \samp{S /a:/b} in \cmdname{dvips}'s \file{config.ps}. +\item A \KPS{} configuration file \file{texmf.cnf}, containing a line like + \samp{TEXINPUTS=/c:/d} (see below). +\item The compile-time default. +\end{enumerate} +\noindent You can see each of these values for a given search path by +using the debugging options (see ``Debugging actions'' on +page~\pageref{sec:debugging}). + +\subsubsection{Config files} + +\begingroup\tolerance=3500 +\KPS{} reads \emph{runtime configuration files} named \file{texmf.cnf} +for search path and other definitions. The search path used to look +for these files is named \envname{TEXMFCNF} (by default such a file lives +in the \file{texmf/web2c} subdirectory). \emph{All} +\file{texmf.cnf} files in the search path will be read and definitions +in earlier files override those in later files. Thus, with a search +path of \verb|.:$TEXMF|, values from \file{./texmf.cnf} override those +from \verb|$TEXMF/texmf.cnf|. +\endgroup + +\begin{itemize} +\item + Comments start with \code{\%} and continue to the end of the line. +\item + Blank lines are ignored. +\item + A \bs{} at the end of a line acts as a continuation character, + i.e., the next line is appended. Whitespace at the beginning of + continuation lines is not ignored. +\item + Each remaining line has the form: +\begin{alltt} + \var{variable}[.\var{progname}] [=] \var{value} +\end{alltt}% + where the \samp{=} and surrounding whitespace are optional. +\item + The \ttvar{variable} name may contain any character other + than whitespace, \samp{=}, or \samp{.}, but sticking to + \samp{A-Za-z\_} is safest. +\item + If \samp{.\var{progname}} is present, the definition only + applies if the program that is running is named + \texttt{\var{progname}} or \texttt{\var{progname}.exe}. This allows + different flavors of \TeX{} to have different search paths, for + example. +\item \var{value} may contain any characters except + \code{\%} and \samp{@}. The + \code{\$\var{var}.\var{prog}} feature is not available on the + right-hand side; instead, you must use an additional variable. A + \samp{;}\ in \var{value} is translated to \samp{:}\ if + running under Unix; this is useful to be able to have a single + \file{texmf.cnf} for Unix, \acro{MS-DOS} and Windows systems. +\item + All definitions are read before anything is expanded, so + variables can be referenced before they are defined. +\end{itemize} +A configuration file fragment illustrating most of these points is +\ifSingleColumn +shown below: + +\verbatiminput{examples/ex5.tex} +\else +shown in Figure~\ref{fig:config-sample}. +\fi + +\subsubsection{Path expansion} +\label{sec:path-expansion} + + +\KPS{} recognizes certain special characters and constructions in +search paths, similar to those available in Unix shells. As a +general example, the complex path, +\verb+~$USER/{foo,bar}//baz+, expands to all subdirectories under +directories \file{foo} and \file{bar} in \texttt{\$USER}'s home +directory that contain a directory or file \file{baz}. These +expansions are explained in the sections below. +%$ +\subsubsection{Default expansion} +\label{sec:default-expansion} + +\tolerance=2500 +If the highest-priority search path (see ``Path sources'' on +page~\pageref{sec:path-sources}) contains an \emph{extra colon} (i.e., +leading, trailing, or doubled), \KPS{} inserts at that point the +next-highest-prio\-rity search path that is defined. If that inserted +path has an extra colon, the same happens with the next highest. For +example, given an environment variable setting + +\tolerance=1500 + +\begin{alltt} +> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} +and a \code{TEXINPUTS} value from \file{texmf.cnf} of + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} +then the final value used for searching will be: + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +Since it would be useless to insert the default value in more than one +place, \KPS{} changes only one extra \samp{:}\ and leaves any others in +place. It checks first for a leading \samp{:}, then a trailing +\samp{:}, then a doubled \samp{:}. + +\subsubsection{Brace expansion} + +A useful feature is brace expansion, which means that, for instance, +\verb+v{a,b}w+ expands to \verb+vaw:vbw+. Nesting is allowed. +This is used to implement multiple \TeX{} hierarchies, by +assigning a brace list to \code{\$TEXMF}. +For example, in \file{texmf.cnf}, the following definition +(appproximately; there are actually even more trees) is made: +\begin{verbatim} + TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN} +\end{verbatim} +Using this you can then write something like +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +which means that, after looking in the current directory, the +\code{\$TEXMFHOME/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$TEXMFVAR/tex} +and \code{\$TEXMFMAIN/tex} trees \emph{only}) will be searched (the +last two use using \file{ls-R} data base files). It is a convenient +way for running two parallel \TeX{} structures, one ``frozen'' (on a +\CD, for instance) and the other being continuously updated with new +versions as they become available. By using the \code{\$TEXMF} +variable in all definitions, one is sure to always search the +up-to-date tree first. + +\subsubsection{Subdirectory expansion} +\label{sec:subdirectory-expansion} + +Two or more consecutive slashes in a path element following a directory +\var{d} is replaced by all subdirectories of \var{d}: first those +subdirectories directly under \var{d}, then the subsubdirectories under +those, and so on. At each level, the order in which the directories are +searched is \emph{unspecified}. + +If you specify any filename components after the \samp{//}, only +subdirectories with matching components are included. For example, +\samp{/a//b} expands into directories \file{/a/1/b}, \file{/a/2/b}, +\file{/a/1/1/b}, and so on, but not \file{/a/b/c} or \file{/a/1}. + +Multiple \samp{//} constructs in a path are possible, but +\samp{//} at the beginning of a path is ignored. + +\subsubsection{List of special characters and their meaning: a summary} + +The following list summarizes the special characters in \KPS{} +configuration files. + +% need a wider space for the item labels here. +\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} +\begin{ttdescription} +\item[\CODE{:}] Separator in path specification; at the beginning or + the end of a path it substitutes the default path expansion.\par +\item[\CODE{;}] Separator on non-Unix systems (acts like \code{:}). +\item[\CODE{\$}] Variable expansion. +\item[\CODE{\string~}] Represents the user's home directory. +\item[\CODE{\char`\{...\char`\}}] Brace expansion. +\item[\CODE{//}] Subdirectory expansion (can occur anywhere in + a path, except at its beginning). +\item[\CODE{\%}] Start of comment. +\item[\CODE{\bs}] Continuation character (allows multi-line entries). +\item[\CODE{!!}] Search \emph{only} database to locate file, \emph{do + not} search the disk. +\end{ttdescription} + + +\subsection{Filename databases} +\label{sec:filename-database} + +\KPS{} goes to some lengths to minimize disk accesses for searches. +Nevertheless, at installations with enough directories, searching each +possible directory for a given file can take an excessively long time +(this is especially true if many hundreds of font directories have to +be traversed.) Therefore, \KPS{} can use an externally-built plain text +``database'' file named \file{ls-R} that maps files to directories, +thus avoiding the need to exhaustively search the disk. + +A second database file \file{aliases} allows you to give additional +names to the files listed in \file{ls-R}. This can be helpful to +confirm to \acro{DOS} 8.3 filename conventions in source files. + +\subsubsection{The filename database} +\label{sec:ls-R} + +As explained above, the name of the main filename database must be +\file{ls-R}. You can put one at the root of each \TeX{} hierarchy in +your installation that you wish to be searched (\code{\$TEXMF} by +default); most sites have only one hierarchy. \KPS{} looks for +\file{ls-R} files along the \code{TEXMFDBS} path. + +The recommended way to create and maintain \samp{ls-R} is to run the +\code{mktexlsr} script included with the distribution. It is invoked +by the various \samp{mktex}\dots\ scripts. In principle, this script +just runs the command +\begin{alltt} +cd \var{/your/texmf/root} && \path|\|ls -1LAR ./ >ls-R +\end{alltt} +presuming your system's \code{ls} produces the right output format +(\GNU \code{ls} is all right). To ensure that the database is +always up-to-date, it is easiest to rebuild it regularly via +\code{cron}, so that it is automatically updated when the installed +files change, such as after installing or updating a \LaTeX{} package. + +If a file is not found in the database, by default \KPS{} goes ahead +and searches the disk. If a particular path element begins with +\samp{!!}, however, \emph{only} the database will be searched for that +element, never the disk. + + +\subsubsection{kpsewhich: Standalone path searching} +\label{sec:invoking-kpsewhich} + +The \texttt{kpsewhich} program exercises path searching independent of any +particular application. This can be useful as a sort of \code{find} +program to locate files in \TeX{} hierarchies (this is used heavily in +the distributed \samp{mktex}\dots\ scripts). + +\begin{alltt} +> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} +\end{alltt} +The options specified in \ttvar{option} start with either \samp{-} +or \samp{-{}-}, and any unambiguous abbreviation is accepted. + +\KPS{} looks up each non-option argument on the command line as a +filename, and returns the first file found. There is no option to +return all the files with a particular name (you can run the Unix +\samp{find} utility for that). + +The most common options are described next. + +\begin{ttdescription} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{} + Set the resolution to \ttvar{num}; this only affects \samp{gf} + and \samp{pk} lookups. \samp{-D} is a synonym, for compatibility + with \cmdname{dvips}. Default is 600. + +\item[\texttt{-{}-format=\var{name}}]\mbox{}\\ + Set the format for lookup to \ttvar{name}. By default, the + format is guessed from the filename. For formats which do not have + an associated unambiguous suffix, such as \MP{} support files and + \cmdname{dvips} configuration files, you have to specify the name as + known to \KPS{}, such as \texttt{tex} or \texttt{enc files}. Run + \texttt{kpsewhich -{}-help} for a list. + +\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ + Set the mode name to \ttvar{string}; this only affects \samp{gf} + and \samp{pk} lookups. No default: any mode will be found. +\item[\texttt{-{}-must-exist}]\mbox{}\\ + Do everything possible to find the files, notably including + searching the disk. By default, only the \file{ls-R} database is + checked, in the interest of efficiency. +\item[\texttt{-{}-path=\var{string}}]\mbox{}\\ + Search along the path \ttvar{string} (colon-separated as usual), + instead of guessing the search path from the filename. \samp{//} and + all the usual expansions are supported. The options \samp{-{}-path} + and \samp{-{}-format} are mutually exclusive. +\item[\texttt{-{}-progname=\var{name}}]\mbox{}\\ + Set the program name to \texttt{\var{name}}. + This can affect the search paths via the \texttt{.\var{progname}} + feature. + The default is \cmdname{kpsewhich}. +\item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\ + shows the path used for file lookups of file type \texttt{\var{name}}. + Either a filename extension (\code{.pk}, \code{.vf}, etc.) or a + name can be used, just as with \samp{-{}-format} option. +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + sets the debugging options to \texttt{\var{num}}. +\end{ttdescription} + + +\subsubsection{Examples of use} +\label{sec:examples-of-use} + +Let us now have a look at \KPS{} in action. Here's a straightforward search: + +\begin{alltt} +> \Ucom{kpsewhich article.cls} + /usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} +We are looking for the file \file{article.cls}. Since the \samp{.cls} +suffix is unambiguous we do not need to specify that we want to look for a +file of type \optname{tex} (\TeX{} source file directories). We find it in +the subdirectory \file{tex/latex/base} below the \samp{texmf-dist} \TL\ +directory. Similarly, all of the following are found without problems +thanks to their unambiguous suffix. +\begin{alltt} +> \Ucom{kpsewhich array.sty} + /usr/local/texmf-dist/tex/latex/tools/array.sty +> \Ucom{kpsewhich latin1.def} + /usr/local/texmf-dist/tex/latex/base/latin1.def +> \Ucom{kpsewhich size10.clo} + /usr/local/texmf-dist/tex/latex/base/size10.clo +> \Ucom{kpsewhich small2e.tex} + /usr/local/texmf-dist/tex/latex/base/small2e.tex +> \Ucom{kpsewhich tugboat.bib} + /usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib +\end{alltt} + +By the way, that last is a \BibTeX{} bibliography database for \textsl{TUGBoat} articles. + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} +Font bitmap glyph files of type \file{.pk} are used by display +programs like \cmdname{dvips} and \cmdname{xdvi}. Nothing is returned in +this case since there are no pre-generated Computer Modern \samp{.pk} +files in \TL{}\Dash the Type~1 variants are used by default. +\begin{alltt} +> \Ucom{kpsewhich wsuipa10.pk} +\ifSingleColumn /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk +\else /usr/local/texmf-var/fonts/pk/ljfour/public/ +... wsuipa/wsuipa10.600pk +\fi\end{alltt} +For these fonts (a phonetic alphabet from the University of Washington) +we had to generate \samp{.pk} files, and since the default \MF{} mode on +our installation is \texttt{ljfour} with a base resolution of 600\dpi{} +(dots per inch), this instantiation is returned. +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} +In this case, when specifying that we are interested in a resolution +of 300\dpi{} (\texttt{-dpi=300}) we see that no such font is available on +the system. A program like \cmdname{dvips} or \cmdname{xdvi} would +go off and actually build the required \texttt{.pk} files +using the script \cmdname{mktexpk}. + +Next we turn our attention to \cmdname{dvips}'s header and configuration +files. We first look at one of the commonly used files, the general +prologue \file{tex.pro} for \TeX{} support, before turning our attention +to the generic configuration file (\file{config.ps}) and the \PS{} font +map \file{psfonts.map}\Dash as of 2004, map and encoding files have +their own search paths and new location in \dirname{texmf} trees. As +the \samp{.ps} suffix is ambiguous we have to specify explicitly which +type we are considering (\optname{dvips config}) for the file +\texttt{config.ps}. +\begin{alltt} +> \Ucom{kpsewhich tex.pro} + /usr/local/texmf/dvips/base/tex.pro +> \Ucom{kpsewhich --format="dvips config" config.ps} + /usr/local/texmf/dvips/config/config.ps +> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map +\end{alltt} + +We now take a closer look at the \acro{URW} Times \PS{} support +files. The prefix for these in the standard font naming scheme is +\samp{utm}. The first file we look at is the configuration file, +which contains the name of the map file: +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" config.utm} + /usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} +The contents of that file is +\begin{alltt} + p +utm.map +\end{alltt} +which points to the file \file{utm.map}, which we want to +locate next. +\begin{alltt} +> \Ucom{kpsewhich utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} +This map file defines the file names of the Type~1 \PS{} fonts in +the URW collection. Its contents look like (we only show part of the +lines): +\begin{alltt} +utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb +utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb +utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb +utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} +Let us, for instance, take the Times Roman instance +\file{utmr8a.pfb} and find its position in the \file{texmf} directory +tree with a search for Type~1 font files: +\begin{alltt} +> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +\else /usr/local/texmf-dist/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + +It should be evident from these examples how you can easily locate the +whereabouts of a given file. This is especially important if you suspect +that the wrong version of a file is picked up somehow, since +\cmdname{kpsewhich} will show you the first file encountered. + +\subsubsection{Debugging actions} +\label{sec:debugging} + +Sometimes it is necessary to investigate how a program resolves file +references. To make this practical, \KPS{} offers various levels of +debugging output: + +\begin{ttdescription} +\item[\texttt{\ 1}] \texttt{stat} calls (disk lookups). When running + with an up-to-date \file{ls-R} database this should almost give no + output. +\item[\texttt{\ 2}] References to hash tables (such as \file{ls-R} + databases, map files, configuration files). +\item[\texttt{\ 4}] File open and close operations. +\item[\texttt{\ 8}] General path information for file types + searched by \KPS. This is useful to find out where a particular + path for the file was defined. +\item[\texttt{16}] Directory list for each path element (only relevant + for searches on disk). +\item[\texttt{32}] File searches. +\item[\texttt{64}] Variable values. +\end{ttdescription} +A value of \texttt{-1} will set all the above options; in practice, +this is usually the most convenient. + +Similarly, with the \cmdname{dvips} program, by setting a combination of +debug switches, one can follow in detail where files are being picked up +from. Alternatively, when a file is not found, the debug trace shows in +which directories the program looks for the given file, so that one can +get an indication what the problem~is. + +Generally speaking, as most programs call the \KPS{} library +internally, one can select a debug option by using the +\envname{KPATHSEA\_DEBUG} environment variable, and setting it to (a +combination of) values as described in the above list. + +(Note for Windows users: it is not easy to redirect +all messages to a file in this system. For diagnostic purposes +you can temporarily \texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log}). + +Let us consider, as an example, a small \LaTeX{} source file, +\file{hello-world.tex}, which contains the following input. +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +This little file only uses the font \file{cmr10}, so let us look at +how \cmdname{dvips} prepares the \PS{} file (we want to use the Type~1 +version of the Computer Modern fonts, hence the option \texttt{-Pcms}). +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +In this case we have combined \cmdname{dvips}'s debug class 4 (font +paths) with \KPS's path element expansion (see \cmdname{dvips} Reference +Manual, \OnCD{texmf/doc/dvips/dvips.pdf}). +The output (slightly rearranged) appears in +Figure~\ref{fig:dvipsdbga}. +\begin{figure*}[tp] +\centering +\input{examples/ex6a.tex} +\caption{Finding configuration files}\label{fig:dvipsdbga} + +\bigskip + +\input{examples/ex6b.tex} +\caption{Finding the prolog file}\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{Finding the font file}\label{fig:dvipsdbgc} +\end{figure*} + +\cmdname{dvips} starts by locating its working files. First, +\file{texmf.cnf} is found, which gives the definitions of the search +paths for the other files, then the file database \file{ls-R} (to +optimize file searching) and the file \file{aliases}, which makes it +possible to declare several names (e.g., a short \acro{DOS}-like 8.3 and +a more natural longer version) for the same file. Then \cmdname{dvips} +goes on to find the generic configuration file \file{config.ps} +before looking for the customization file \file{.dvipsrc} (which, in +this case is \emph{not found}). Finally, \cmdname{dvips} locates the +config file for the Computer Modern \PS{} fonts \file{config.cms} +(this was initiated with the \texttt{-Pcms} option on the \cmdname{dvips} +command). This file contains the list of the map files which +define the relation between the \TeX{}, \PS{} and file system +names of the fonts. +\begin{alltt} +> \Ucom{more /usr/local/texmf/dvips/cms/config.cms} + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map +\end{alltt} +\cmdname{dvips} thus goes on to find all these files, plus the generic +map file \file{psfonts.map}, which is always loaded (it contains +declarations for commonly used \PS{} fonts; see the last part of +Section \ref{sec:examples-of-use} for more details about \PS{} map +file handling). + +At this point \cmdname{dvips} identifies itself to the user: +\begin{alltt} +This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) +\end{alltt} +\ifSingleColumn +Then it goes on to look for the prolog file \file{texc.pro}: +\begin{alltt}\small +kdebug:start search(file=texc.pro, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro +\end{alltt} +\else +Then it goes on to look for the prolog file \file{texc.pro} (see +Figure~\ref{fig:dvipsdbgb}). +\fi + +After having found the file in question, \cmdname{dvips} outputs +the date and time, and informs us that it will generate the +file \file{hello-world.ps}, then that it needs the font file +\file{cmr10}, and that the latter is declared as ``resident'' (no +bitmaps needed): +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} +Now the search is on for the file \file{cmr10.tfm}, which is found, +then a few more prolog files (not shown) are referenced, and finally +the Type~1 instance \file{cmr10.pfb} of the font is located and +included in the output file (see last line). +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{Runtime options} + +Another useful feature of \Webc{} is its possibility to control a number +of memory parameters (in particular, array sizes) via the runtime file +\file{texmf.cnf} read by \KPS{}. The memory settings can be found in +Part 3 of that file in the \TL{} distribution. The more important +are: + +\begin{ttdescription} +\item[\texttt{main\_memory}] + Total words of memory available, for + \TeX{}, \MF{} and \MP. You must make a new format file for each + different setting. For instance, you could generate a ``huge'' + version of \TeX{}, and call the format file \texttt{hugetex.fmt}. + Using the standard way of specifying the program name used by \KPS{}, + the particular value of the \texttt{main\_memory} variable will then + be read from \file{texmf.cnf}. +\item[\texttt{extra\_mem\_bot}] + Extra space for ``large'' \TeX{} data structures: + boxes, glue, breakpoints, etc. Especially useful if you use + \PiCTeX{}. +\item[\texttt{font\_mem\_size}] + Number of words for font information available for \TeX. This + is more or less the total size of all \acro{TFM} files read. +\item[\texttt{hash\_extra}] + Additional space for the hash table of control sequence names. + Only $\approx$10,000 control sequences can be stored in the main + hash table; if you have a large book with numerous cross-references, + this might not be enough. The default value of + \texttt{hash\_extra} is \texttt{50000}. +\end{ttdescription} + +\noindent Of course, this facility is no substitute for truly dynamic +arrays and memory allocation, but since these are extremely difficult to +implement in the present \TeX{} source, these runtime parameters provide +a practical compromise allowing some flexibility. + + +\begin{comment} +\section{Building on a new Unix platform} + +If you have a platform for which executables are not included, you will +need to compile \TeX{} and friends. This is not as hard as it +sounds. What you need is all in the directory \texttt{source} in the +distribution. + +\subsection{Prerequisites} + +You will need at least 100 megabytes of disk space to compile all of +\TeX{} and its support programs. You'll also need an \acro{ANSI} C +compiler, a \cmdname{make} utility, a lexical scanner, and a parser +generator. We recommend the \GNU version of these programs +(\cmdname{gcc}, \GNU \cmdname{make}, \cmdname{m4}, \cmdname{flex}, +\cmdname{bison}). You may be able to work with other C compilers and +\cmdname{make} programs, but you will need a good understanding of +building Unix programs to sort out problems. + +Also, the command \texttt{uname} must return a sensible value. + + +\subsection{Configuration} + +To begin, perform a normal installation of \TL{} to your disk (see +section~\ref{sec:install-disk} on +\p.\pageref{sec:install-disk}). You may wish to skip installing +all of the prebuilt binaries. + +Then, unpack the source from the compressed \texttt{tar} file in the +directory \dirname{source} to your disk and change directory to where +you placed it. + +Next, run \cmdname{configure} with a command line like this: +\begin{alltt} +> \Ucom{sh configure -prefix=/usr/local/TeX} +\end{alltt} + +The \optname{-prefix} directory is the one where you installed the +support tree; the directory layout will be as follows (where \$TEXDIR +stands for the directory you chose): + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/share/texmf} & main tree with fonts,\\ + & \qquad macros, etc\\ + \dirname{$TEXDIR/man} & Unix manual pages\\ + \dirname{$TEXDIR/info} & \GNU style Info manuals\\ + \dirname{$TEXDIR/bin/$PLATFORM} & binaries\\ +\end{tabular} +%$ + +If you want to leave out the \dirname{$PLATFORM} directory level, +i.e., put the binaries directly into \dirname{$TEXDIR/bin}, specify +the \verb|--disable-multiplatform| option to \cmdname{configure}. + +Have a look at the output of \verb|./configure --help| for more +options you can use. For example, you can skip building of \OMEGA{} and +\eTeX{}. + + +\subsection{Running \cmdname{make}} + +Make sure the shell variable or option \texttt{noclobber} is not set. +Then, run the main \cmdname{make} like this: +\begin{alltt} +> \Ucom{make world} +\end{alltt} +and relax\ldots + +Alternatively, you want to log all the output, as in: +\begin{alltt} +> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} + +Before you believe that everything went ok, please check the log file +for errors: \GNU \cmdname{make} always uses the string \samp{***} +whenever a command fails. Also, check if all the programs were built: + +\begin{alltt} +> \Ucom{cd \var{TEXDIR}/bin/\var{archname}} +> \Ucom{ls | wc} +\end{alltt} +The result should be over 200 (you can check the exact number with the +\dirname{bin} directory contents in the distribution). + +If you need special privileges for \texttt{make install}, you can +separate the \samp{make world} into two different runs, like this: +\begin{alltt} +> \Ucom{make all} +> \Ucom{su} +> \Ucom{make install strip} +\end{alltt} + +After you've installed your new binaries, you should follow the normal +post-installation procedures, given in section~\ref{sec:postinstall} +(\p.\pageref{sec:postinstall}). + +Also, if you'd like to make your binaries available to others, please +contact us. We'll be happy to put them on the \TL\ web pages. +\end{comment} + +\ifx\HCode\undefined\else\HCode{<a id="ack"></a>} +\section{Acknowledgements} + +\TL{} is a joint effort by virtually all of the \TeX{} user groups. +This edition of \TL{} was overseen by Karl Berry. The other principal +contributors, past and present, are listed below. + +\begin{itemize*} + +\item The English, German, Dutch, and Polish \TeX{} user groups +(\acro{TUG}, \acro{DANTE} e.V., \acro{NTG}, and \acro{GUST}, +respectively), which provide the necessary technical and administrative +infrastructure. Please join the \TeX\ user group near you! (See +\url{http://tug.org/usergroups.html}.) + +\item The \acro{CTAN} team, most notably Robin Fairbairns, Jim Hef{}feron, +and Rainer Sch\"opf, which distributes the \TL{} images and provides the +common infrastructure for package updates, upon which \TL{} depends. + +\item Peter Breitenlohner (and the \eTeX\ team) for the stable foundation +of future \TeX's, and Peter specifically for stellar help with the GNU +autotools usage throughout \TL. + +\item Thomas Esser, without whose marvelous \teTeX{} package \TL{} +would have never existed. + +\item Michel Goossens, who co-authored the original documentation. + +\item Eitan Gurari, whose \TeX4ht was used to create the \HTML{} +version of this documentation, and who worked tirelessly to improve +it at short notice. + +\item \Thanh, Martin Schr\"oder, and the pdf\TeX\ team +(\url{http://pdftex.org}) for continuing enhancements of \TeX's +abilities. + +\item Hans Hagen, for much testing and making his \ConTeXt\ format +(\url{http://pragma-ade.com}) work within \TL's framework. + +\item Hartmut Henkel, for significant development contributions to +pdf\TeX\, Lua\TeX, and more. + +\item Taco Hoekwater, for renewed development efforts on MetaPost and +(Lua)\TeX\ (\url{http://luatex.org}) itself, and for incorporating +\ConTeXt\ into \TL. + +\item Pawe{\l} Jackowski, for the Windows installer \cmdname{tlpm}, +and Tomasz {\L}uczak, for \cmdname{tlpmgui}, used in past releases. + +\item Akira Kakuto, for providing the Windows +binaries from his \acro{W32TEX} distribution for Japanese \TeX\ +(\url{http://www.fsci.fuk.kindai.ac.jp/kakuto/win32-ptex/}), and many +other contributions. + +\item Jonathan Kew and \acro{SIL}, for the major new development of +\XeTeX{} and taking the time and trouble to integrate it in \TL{}, as +well as the initial version of the Mac\TeX\ installer. + +\item Dick Koch, for maintaining Mac\TeX\ (\url{http://tug.org/mactex}) +in very close tandem with \TL{}, and for his great good cheer in doing +so. + +\item Reinhard Kotucha, for major contributions to the \TL{} 2008 +infrastructure and installer, as well as Windows research efforts, the +\texttt{getnonfreefonts} script, and more. + +\item Siep Kroonenberg, also for major contributions to the \TL{} 2008 +infrastructure and installer, especially on Windows, and for the bulk of +work updating this manual describing the new features. + +\item Petr Ol\v{s}ak, who coordinated and checked all the Czech and Slovak +material very carefully. + +\item Toshio Oshima, for his \cmdname{dviout} previewer for Windows. + +\item Manuel P\'egouri\'e-Gonnard, for helping with package updates, +documentation improvements, and \cmdname{tldoc} development. + +\item Fabrice Popineau, for the original Windows support in \TL{} and +work on the French documentation. + +\item Norbert Preining, the principal architect of the \TL{} 2008 +infrastructure and installer, and also for coordinating the Debian +version of \TL{} (together with Frank K\"uster), making many suggestions +along the way. + +\item Sebastian Rahtz, for originally creating \TL{} and maintaining it +for many years. + +\item Vladimir Volovich, for substantial help with porting and other +maintenance issues, and especially for making it feasible to include +\cmdname{xindy}. + +\item Staszek Wawrykiewicz, the principal tester for all of \TL{}, +and coordinator of the many major Polish contributions: fonts, Windows +installation, and more. + +\item Olaf Weber, for his patient maintenance of \Webc. + +\item Gerben Wierda, for creating and maintaining the \MacOSX\ support, +and much integration and testing. + +\item Graham Williams, on whose work the \TeX\ Catalogue of packages depends. + +\end{itemize*} + +Builders of the binaries: +Reinhard Kotucha (\pkgname{x86\_64-linux}), +Tim Arnold (\pkgname{hppa-hpux}), +Randy Au (\pkgname{amd64-freebsd}), +Edd Barrett (\pkgname{i386-openbsd}), +Karl Berry (\pkgname{i386-linux}), +Akira Kakuto (\pkgname{win32}), +Dick Koch (\pkgname{universal-darwin}), +Manfred Lotz (\pkgname{i386-freebsd}), +Norbert Preining (\pkgname{alpha-linux}), +Arthur Reutenauer (\pkgname{sparc-linux}), +Thomas Schmitz (\pkgname{powerpc-linux}), +Apostolos Syropoulos (\pkgname{i386-solaris}), +Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-solaris}), +Olaf Weber (\pkgname{mips-irix}). +For information on the \TL{} build process, see +\url{http://tug.org/texlive/build.html}. + +Documentation and translation updates: +Karl Berry (English), +Daniel Flipo (French), +Klaus H\"oppner (German), +Petr Sojka \& Jan Busa (Czech\slash Slovak), +Boris Veytsman (Russian), +Staszek Wawrykiewicz (Polish). The \TL{} documentation web page +is \url{http://tug.org/texlive/doc.html}. + +Of course the most important acknowledgement must go to Donald Knuth, +first for inventing \TeX, and then for giving it to the world. + + + +\section{Release history} +\label{sec:history} + +\subsection{Past} + +Discussion began in late 1993 when the Dutch \TeX{} Users Group was +starting work on its 4All\TeX{} \CD{} for \acro{MS-DOS} users, and it +was hoped at that time to issue a single, rational, \CD{} for all +systems. This was too ambitious a target for the time, but it did spawn +not only the very successful 4All\TeX{} \CD{}, but also the \acro{TUG} +Technical Council working group on a \emph{\TeX{} Directory Structure} +(\url{http://tug.org/tds}), which specified how to create consistent and +manageable collections of \TeX{} support files. A complete draft of the +\TDS{} was published in the December 1995 issue of \textsl{TUGboat}, and +it was clear from an early stage that one desirable product would be a +model structure on \CD{}. The distribution you now have is a very direct +result of the working group's deliberations. It was also clear that the +success of the 4All\TeX{} \CD{} showed that Unix users would benefit +from a similarly easy system, and this is the other main strand of +\TL. + +We first undertook to make a new Unix-based \TDS{} \CD{} in the autumn +of 1995, and quickly identified Thomas Esser's \teTeX{} as the ideal +setup, as it already had multi-platform support and was built with +portability across file systems in mind. Thomas agreed to help, and work +began seriously at the start of 1996. The first edition was released in +May 1996. At the start of 1997, Karl Berry completed a major new release +of Web2c, which included nearly all the features which Thomas Esser had +added in \teTeX, and we decided to base the 2nd edition of the \CD{} on +the standard \Webc, with the addition of \teTeX's \texttt{texconfig} +script. The 3rd edition of the \CD{} was based on a major revision of +\Webc, 7.2, by Olaf Weber; at the same time, a new revision of \teTeX +was being made, and \TL{} included almost all of its features. The +4th edition followed the same pattern, using a new version of \teTeX, +and a new release of \Webc{} (7.3). The system now included a complete +Windows setup. + +For the 5th edition (March 2000) many parts of the \CD{} were revised +and checked, updating hundreds of packages. Package details were stored +in XML files. But the major change for \TeX\ Live 5 was that all +non-free software was removed. Everything in \TL{} is now intended +to be compatible with the Debian Free Software Guidelines +(\url{http://www.debian.org/intro/free}); we have done our best to check +the license conditions of all packages, but we would very much +appreciate hearing of any mistakes. + +The 6th edition (July 2001) had much more material updated. The major +change was a new install concept: the user could select a more exact set +of needed collections. Language-related collections were completely +reorganized, so selecting any of them installs not only macros, fonts, +etc., but also prepares an appropriate \texttt{language.dat}. + +The 7th edition of 2002 had the notable addition of \MacOSX{} support, +and the usual myriad of updates to all sorts of packages and +programs. An important goal was integration of the source back with +\teTeX, to correct the drift apart in versions~5 and~6. + +\subsubsection{2003} + +In 2003, with the continuing flood of updates and additions, we found +that \TL{} had grown so large it could no longer be contained on a +single \CD, so we split it into three different distributions (see +section~\ref{sec:tl-coll-dists}, \p.\pageref{sec:tl-coll-dists}). In +addition: + +\begin{itemize*} +\item At the request of the \LaTeX{} team, we changed the standard + \cmdname{latex} and \cmdname{pdflatex} commands to now use \eTeX{} (see + \p.\pageref{text:etex}). +\item The new Latin Modern fonts were included (and are recommended). +\item Support for Alpha \acro{OSF} was removed + (\acro{HPUX} support was removed previously), since no one had (or + volunteered) hardware available on which to compile new binaries. +\item Windows setup was substantially changed; for the first time + an integrated environment based on XEmacs was introduced. +\item Important supplementary programs for Windows + (Perl, Ghost\-script, Image\-Magick, Ispell) are now installed + in the \TL{} installation directory. +\item Font map files used by \cmdname{dvips}, \cmdname{dvipdfm} + and \cmdname{pdftex} are now generated by the new program + \cmdname{updmap} and installed into \dirname{texmf/fonts/map}. +\item \TeX{}, \MF{}, and \MP{} now, by default, output most input + characters (32 and above) as themselves in output (e.g., + \verb|\write|) files, + log files, and the terminal, i.e., \emph{not} translated using the + \verb|^^| notation. In \TL{}~7, this translation was + dependent on the system locale settings; now, locale settings do + not influence the \TeX{} programs' behavior. If for some reason + you need the \verb|^^| output, rename the file + \verb|texmf/web2c/cp8bit.tcx|. (Future releases will have cleaner + ways to control this.) +\item This documentation was substantially revised. +\item Finally, since the edition numbers had grown unwieldy, + the version is now simply identified by the year: \TL{} 2003. +\end{itemize*} + + +\subsubsection{2004} + +2004 saw many changes: + +\begin{itemize} + +\item If you have locally-installed fonts which use their own +\filename{.map} or (much less likely) \filename{.enc} support files, you +may need to move those support files. + +\filename{.map} files are now searched for in subdirectories of +\dirname{fonts/map} only (in each \filename{texmf} tree), along the +\envname{TEXFONTMAPS} path. Similarly, \filename{.enc} files are now +searched for in subdirectories of \dirname{fonts/enc} only, along the +\envname{ENCFONTS} path. \cmdname{updmap} will attempt to warn about +problematic files. + +For methods of handling this and other information, please see +\url{http://tug.org/texlive/mapenc.html}. + +\item The \TK\ has been expanded with the addition of a \MIKTEX-based +installable \CD, for those who prefer that implementation to Web2C. +See section~\ref{sec:overview-tl} (\p.\pageref{sec:overview-tl}). + +\item Within \TL, the single large \dirname{texmf} tree of previous +releases has been replaced by three: \dirname{texmf}, +\dirname{texmf-dist}, and \dirname{texmf-doc}. See +section~\ref{sec:tld} (\p.\pageref{sec:tld}), and the \filename{README} +files for each. + +\item All \TeX-related input files are now collected in +the \dirname{tex} subdirectory of \dirname{texmf*} trees, rather than +having separate sibling directories \dirname{tex}, \dirname{etex}, +\dirname{pdftex}, \dirname{pdfetex}, etc. See +\CDref{texmf-doc/doc/english/tds/tds.html\#Extensions} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Extensions}}. + +\item Helper scripts (not meant to be invoked by users) are now located +in a new \dirname{scripts} directory of \dirname{texmf*} trees, and +searched for via \verb|kpsewhich -format=texmfscripts|. So if you have +programs which call such scripts, they'll need to be adjusted. See +\CDref{texmf-doc/doc/english/tds/tds.html\#Scripts} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Scripts}}. + +\item Almost all formats leave most characters printable as +themselves via the ``translation file'' \filename{cp227.tcx}, instead of +translating them with the \verb|^^| notation. Specifically, characters +at positions 32--256, plus tab, vertical tab, and form feed are +considered printable and not translated. The exceptions are plain \TeX\ +(only 32--126 printable), \ConTeXt\ (0--255 printable), and the +\OMEGA-related formats. This default behavior is almost the same as in +\TL\,2003, but it's implemented more cleanly, with more possibilities +for customization. See \CDref{texmf/doc/web2c/web2c.html\#TCX-files} +{\texttt{texmf/doc/web2c/web2c.html\#TCX-files}}. +(By the way, with Unicode input, \TeX\ may output partial character +sequences when showing error contexts, since it is byte-oriented.) + +\item \textsf{pdfetex} is now the default engine for all formats +except (plain) \textsf{tex} itself. (Of course it generates \acro{DVI} +when run as \textsf{latex}, etc.) This means, among other things, that +the microtypographic features of \textsf{pdftex} are available in +\LaTeX, \ConTeXt, etc., as well as the \eTeX\ features +(\OnCD{texmf-dist/doc/etex/base/}). + +It also means it's \emph{more important than ever} to use the +\pkgname{ifpdf} package (works with both plain and \LaTeX) or equivalent +code, because simply testing whether \cs{pdfoutput} or some other +primitive is defined is not a reliable way to determine if \acro{PDF} +output is being generated. We made this backward compatible as best we +could this year, but next year, \cs{pdfoutput} may be defined even when +\acro{DVI} is being written. + +\item pdf\TeX\ (\url{http://pdftex.org}) has many new features: + + \begin{itemize*} + + \item \cs{pdfmapfile} and \cs{pdfmapline} provide font map support + from within a document. + + \item Microtypographic font expansion can be used more easily.\\ + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} + + \item All parameters previously set through the special configuration + file \filename{pdftex.cfg} must now be set through primitives, + typically in \filename{pdftexconfig.tex}; \filename{pdftex.cfg} is no + longer supported. Any extant \filename{.fmt} files must be redumped + when \filename{pdftexconfig.tex} is changed. + + \item See the pdf\TeX\ manual for more: \OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf}. + + \end{itemize*} + +\item The \cs{input} primitive in \cmdname{tex} (and \cmdname{mf} and +\cmdname{mpost}) now accepts double quotes containing spaces and other +special characters. Typical examples: +\begin{verbatim} +\input "filename with spaces" % plain +\input{"filename with spaces"} % latex +\end{verbatim} +See the Web2C manual for more: \OnCD{texmf/doc/web2c}. + +\item enc\TeX\ support is now included within Web2C and consequently all +\TeX\ programs, via the \optname{-enc} option\Dash \emph{only when +formats are built}. enc\TeX\ supports general re-encoding of input and +output, enabling full support of Unicode (in \acro{UTF}-8). See +\OnCD{texmf-dist/doc/generic/enctex/} and +\url{http://www.olsak.net/enctex.html}. + +\item Aleph, a new engine combining \eTeX\ and \OMEGA, is available. +A little information is available in \OnCD{texmf-dist/doc/aleph/base} +and \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph}. The +\LaTeX-based format for Aleph is named \textsf{lamed}. + +\item The latest \LaTeX\ release has a new version of the +\acro{LPPL}\Dash now officially a Debian-approved license. Assorted +other updates, see the \filename{ltnews} files in +\OnCD{texmf-dist/doc/latex/base}. + +\item \cmdname{dvipng}, a new program for converting \acro{DVI} to +\acro{PNG} image files, is included. See \OnCD{texmf/doc/man/man1/dvipng.1}. + +\item We reduced the \pkgname{cbgreek} package to a ``medium'' sized set +of fonts, with the assent and advice of the author (Claudio Beccari). +The excised fonts are the invisible, outline, and transparency ones, +which are relatively rarely used, and we needed the space. The full set +is of course available from \acro{CTAN} +(\url{http://www.ctan.org/tex-archive/fonts/greek/cb}). + +\item \cmdname{oxdvi} has been removed; just use \cmdname{xdvi}. + +\item The \cmdname{ini} and \cmdname{vir} commands (links) for +\cmdname{tex}, \cmdname{mf}, and \cmdname{mpost} are no longer created, +such as \cmdname{initex}. The \cmdname{ini} functionality has been +available through the command-line option \optname{-ini} for years now. + +\item \textsf{i386-openbsd} platform support was removed. Since the +\pkgname{tetex} package in the \acro{BSD} Ports system is available, and +\acro{GNU/}Linux and Free\acro{BSD} binaries were available, it seemed +volunteer time could be better spent elsewhere. + +\item On \textsf{sparc-solaris} (at least), you may have to set the +\envname{LD\_LIBRARY\_PATH} environment variable to run the +\pkgname{t1utils} programs. This is because they are compiled with C++, +and there is no standard location for the runtime libraries. (This is +not new in 2004, but wasn't previously documented.) Similarly, on +\textsf{mips-irix}, the \acro{MIPS}pro 7.4 runtimes are required. + +\end{itemize} + +\subsubsection{2005} + +2005 saw the usual huge number of updates to packages and programs. +The infrastructure stayed relatively stable from 2004, but inevitably +there were some changes there as well: + +\begin{itemize} + +\item New scripts \cmdname{texconfig-sys}, \cmdname{updmap-sys}, and + \cmdname{fmtutil-sys} were introduced, which modify the + configuration in the system trees. The \cmdname{texconfig}, + \cmdname{updmap}, and \cmdname{fmtutil} scripts now modify + user-specific files, under \dirname{$HOME/.texlive2005}. + +\item Corresponding new variables \envname{TEXMFCONFIG} and + \envname{TEXMFSYSCONFIG} to specify the trees where configuration + files (user or system, respectively) are found. Thus, you may + need to move personal versions of \filename{fmtutil.cnf} and + \filename{updmap.cfg} to these places; another option is to + redefine \envname{TEXMFCONFIG} or \envname{TEXMFSYSCONFIG} in + \filename{texmf.cnf}. In any case the real location of these files + and the values of \envname{TEXMFCONFIG} and \envname{TEXMFSYSCONFIG} + must agree. + See section~\ref{sec:texmftrees}, \p.\pageref{sec:texmftrees}. + +\item Last year, we kept \verb|\pdfoutput| and other primitives undefined + for \dvi\ output, even though the \cmdname{pdfetex} program was + being used. This year, as promised, we undid that compatibility + measure. So if your document uses \verb|\ifx\pdfoutput\undefined| + to test if PDF is being output, it will need to be changed. You + can use the package \pkgname{ifpdf.sty} (which works under both + plain \TeX\ and \LaTeX) to do this, or steal its logic. + +\item Last year, we changed most formats to output (8-bit) characters as + themselves (see previous section). The new TCX file + \filename{empty.tcx} now provides an easier way to get the + original \verb|^^| notation if you so desire, as in: +\begin{verbatim} +latex --translate-file=empty.tcx yourfile.tex +\end{verbatim} + +\item The new program \cmdname{dvipdfmx} is included for translation of + DVI to PDF; this is an actively maintained update of + \cmdname{dvipdfm} (which is also still available for now, though + no longer recommended). + +\item The new programs \cmdname{pdfopen} and \cmdname{pdfclose} are included + to allow reloading of pdf files in the Adobe Acrobat Reader without + restarting the program. (Other pdf readers, notably \cmdname{xpdf}, + \cmdname{gv}, and \cmdname{gsview}, have never suffered from this + problem.) + +\item For consistency, the variables \envname{HOMETEXMF} and + \envname{VARTEXMF} have been renamed to \envname{TEXMFHOME} and + \envname{TEXMFSYSVAR}, respectively. There is also + \envname{TEXMFVAR}, which is by default user-specific. See the + first point above. + +\end{itemize} + + +\subsubsection{2006--2007} + +In 2006--2007, the major new addition to \TL{} was the \XeTeX{} program, +available as the \texttt{xetex} and \texttt{xelatex} programs; see +\url{http://scripts.sil.org/xetex}. + +MetaPost also received a notable update, with more planned for the +future (\url{http://tug.org/metapost/articles}), likewise pdf\TeX{} +(\url{http://tug.org/applications/pdftex}). + +The \TeX\ \filename{.fmt} (high-speed format) and the similar files for +MetaPost and \MF\ are now stored in subdirectories of \dirname{texmf/web2c}, +instead of in the directory itself (although the directory is still +searched, for the sake of existing \filename{.fmt}'s). The +subdirectories are named for the `engine' in use, such as \filename{tex} +or \filename{pdftex} or \filename{xetex}. This change should be +invisible in normal use. + +The (plain) \texttt{tex} program no longer reads \texttt{\%\&} first +lines to determine what format to run; it is the pure Knuthian \TeX. +(\LaTeX\ and everything else do still read \texttt{\%\&} lines). + +Of course the year also saw (the usual) hundreds of other updates to +packages and programs. As usual, please check \acro{CTAN} +(\url{http://www.ctan.org}) for updates. + +Internally, the source tree is now stored in Subversion, with a standard +web interface for viewing the tree, as linked from our home page. +Although not visible in the final distribution, we expect this will +provide a stable development foundation for future years. + +Finally, in May 2006 Thomas Esser announced that he would no longer be +updating te\TeX{} (\url{http://tug.org/tetex}). As a result, there was +been a surge of interest in \TL{}, especially among \GNU/Linux +distributors. (There is a new \texttt{tetex} installation scheme in +\TL{}, which provides an approximate equivalent.) We hope this will +eventually translate to improvements in the \TeX\ environment for +everyone. + +\medskip \noindent +Final note on the past: all releases of \TL{}, along with ancillary +material such as \CD\ labels, are available at +\url{ftp://tug.org/historic/systems/texlive}. + +\ifx\HCode\undefined\else\HCode{<a id="news"></a>} +\subsection{Present} +\label{sec:tlcurrent} + +In 2008, the entire \TL{} infrastructure was redesigned and +reimplemented. Complete information about an installation is now stored +in a plain text file \filename{tlpkg/texlive.tlpdb}. + +Among other things, this finally makes possible upgrading a \TL{} +installation over the Internet after the initial installation, a feature +MiK\TeX\ has provided for many years. We expect to regularly update new +packages as they are released to \CTAN. + +The major new engine Lua\TeX\ (\url{http://luatex.org}) is included; +besides a new level of flexibility in typesetting, this provides an +excellent scripting language for use both inside and outside of \TeX\ +documents. + +Support among Windows and the Unix-based platforms is now much more +uniform. In particular, most Perl and Lua scripts are now available on +Windows, using the Perl internally distributed with \TL. + +The new \cmdname{tlmgr} script (section~\ref{sec:tlmgr}) is the +general interface for managing \TL{} after the initial installation. +It handles package updates and consequent regeneration of formats, map +files, and language files, optionally including local additions. + +With the advent of \cmdname{tlmgr}, the \cmdname{texconfig} actions to +edit the format and hyphenation configuration files are now disabled. + +The \cmdname{xindy} indexing program +(\url{http://xindy.sourceforge.net/}) is now included on most platforms. + +The \cmdname{kpsewhich} tool can now report all matches for a given file +(option \optname{--all}) and limit matches to a given subdirectory +(option \optname{--subdir}). + +The \cmdname{dvipdfmx} program now includes functionality to extract +bounding box information, via the command name \cmdname{extractbb}; this +was one of the last features provided by \cmdname{dvipdfm} not in +\cmdname{dvipdfmx}. + +The font aliases \filename{Times-Roman}, \filename{Helvetica}, and so on +have been removed. Different packages expected them to behave +differently (in particular, to have different encodings), and there was +no good way to resolve this. + +The \pkgname{platex} format has been removed, to resolve a name conflict +with a completely different Japanese \pkgname{platex}; the +\pkgname{polski} package is now the main Polish support. + +Internally, the \web\ string pool files are now compiled into the +binaries, to ease upgrades. + +Finally, the changes made by Donald Knuth in his `\TeX\ tuneup of 2008' +are included in this release. See +\url{http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}. + + +\subsection{Future} + +\emph{\TL{} is not perfect!} (And never will be.) We intend to +continue to release new versions, and would like to provide more help +material, more utilities, more installation programs, and (of course) an +ever-improved and better-checked tree of macros and fonts. This work is +all done by hard-pressed volunteers in their limited spare time, and a +great deal remains to be done. Please see +\url{http://tug.org/texlive/contribute.html}. + +Please send corrections, suggestions, and offers of help to: +\begin{quote} +\email{tex-live@tug.org} \\ +\url{http://tug.org/texlive} +\end{quote} + +\medskip +\noindent \textsl{Happy \TeX ing!} + +\end{document} diff --git a/Master/texmf-dist/doc/texlive/texlive-en/archive/live-2009.tex b/Master/texmf-dist/doc/texlive/texlive-en/archive/live-2009.tex new file mode 100644 index 00000000000..022bae432e3 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/archive/live-2009.tex @@ -0,0 +1,3130 @@ +% $Id: texlive-en.tex 15931 2009-11-03 00:48:56Z karl $ +% TeX Live documentation. Originally written by Sebastian Rahtz and +% Michel Goossens, now maintained by Karl Berry and others. +% Public domain. +% +\documentclass{article} +\let\tldocenglish=1 % for live4ht.cfg +\usepackage{tex-live} +\usepackage[latin1]{inputenc} % translators: use your preferred encodings. +\usepackage[T1]{fontenc} + +\begin{document} + +\title{% + {\huge \textit{The \TeX\ Live Guide}\\\smallskip}% + {\LARGE \textsf{\TL{} 2009}}% +} + +\author{Karl Berry, editor \\[3mm] + \url{http://tug.org/texlive/} + } + +\date{November 2009} + +\maketitle + +\begin{multicols}{2} +\tableofcontents +%\listoftables +\end{multicols} + +\section{Introduction} +\label{sec:intro} + +\subsection{\TeX\ Live and the \TeX\ Collection} + +This document describes the main features of the \TL{} software +distribution\Dash \TeX{} and related programs for \GNU/Linux +and other Unix flavors, \MacOSX, and Windows systems. + +You may have acquired \TL{} by downloading, or on the \TK{} \DVD, which +\TeX{} user groups distribute among their members, or in other ways. +Section \ref{sec:tl-coll-dists} briefly describes the contents of the +\DVD. Both \TL{} and the \TK{} are cooperative efforts by the \TeX{} +user groups. This document mainly describes \TL{} itself. + +\TL{} includes executables for \TeX{}, \LaTeXe{}, \ConTeXt, +\MF, \MP, \BibTeX{} and many other programs; an extensive collection +of macros, fonts and documentation; and support for typesetting in +many different scripts from around the world. + +For a brief summary of the major changes in this edition of \TL{}, +see the end of the document, section~\ref{sec:history} +(\p.\pageref{sec:history}). + +\subsection{Operating system support} +\label{sec:os-support} + +\TL{} contains binaries for many Unix-based architectures, including +\GNU/Linux and \MacOSX. There are also Cygwin binaries. The +included sources can be compiled on platforms for which we do not +have binaries. + +As to Windows: only Windows 2000 and later are +supported. Windows~9\textit{x}, \acro{ME} and \acro{NT} have been +dropped. Because of this change, Windows requires much less special +treatment compared to the Unix systems. There are no special 64-bit +executables for Windows, but the 32-bit executables should run on 64-bit +systems. + +See section~\ref{sec:tl-coll-dists} for alternate solutions +for Windows and \MacOSX. + +\subsection{Basic installation of \protect\TL{}} +\label{sec:basic} + +You can install \TL{} either from \DVD{} or over the Internet. The net +installer itself is small, and downloads everything requested from the +Internet. + +The \DVD{} installer lets you install to a local disk, but you can also +run \TL{} directly from the \DVD{} (or from a \DVD{} image, if your +system supports that). Installation is described in later sections, but +here is a quick start: + +\begin{itemize*} + +\item The installation script is named \filename{install-tl}. It can + operate in a ``wizard mode'' given the option \code{-gui=wizard} + (default for Windows), a text mode given \code{-gui=text} (default for + everything else), and an expert \GUI{} mode given \code{-gui=perltk}. + +\item One of the installed items is the `\TL\ Manager' program, + named \prog{tlmgr}. Like the installer, it can be used in both \GUI{} + mode and in text mode. You can use it to install and uninstall + packages and do various configuration tasks. + +\end{itemize*} + + +\htmlanchor{security} +\subsection{Security considerations} +\label{sec:security} + +To the best of our knowledge, the core \TeX\ programs themselves are +(and always have been) extremely robust. However, the contributed +programs in \TeX\ Live may not reach the same level, despite everyone's +best efforts. As always, you should be careful when running programs on +untrusted input; for maximum safety, use a new subdirectory. + +This need for care is especially urgent on Windows, since in general +Windows finds programs in the current directory before anything else, +regardless of the search path. This opens up a wide variety of possible +attacks. We have closed many holes, but undoubtedly some remain, +especially with third-party programs. Thus, we recommend checking for +suspicious files in the current directory, especially executables +(binaries or scripts). Ordinarily they should not be present, and +definitely should not normally be created by merely processing a document. + +Finally, \TeX\ (and its companion programs) are able to write files when +processing documents, a feature that can also be abused in a wide +variety of ways. Again, processing unknown documents in a new +subdirectory is the safest bet. + + +\subsection{Getting help} +\label{sec:help} + +The \TeX{} community is active and friendly, and most serious questions +end up getting answered. However, the support is informal, done by +volunteers and casual readers, so it's especially important that you do +your homework before asking. (If you prefer guaranteed commercial +support, you can forgo \TL{} completely and purchase a vendor's system; +\url{http://tug.org/interest.html#vendors} has a list.) + +Here is a list of resources, approximately in the order we recommend +using them: + +\begin{description} +\item [Getting Started] If you are new to \TeX, the web page +\url{http://tug.org/begin.html} gives a brief introduction to the system. + +\item [\TeX{} \acro{FAQ}] The \TeX{} \acro{FAQ} is a huge compendium + of answers to all sorts of questions, from the most basic to the + most arcane. It is included on \TL{} in + \OnCD{texmf-dist/doc/generic/FAQ-en/html/index.html}, and is available + on the Internet through \url{http://www.tex.ac.uk/faq}. Please + check here first. + +\item [\TeX{} Catalogue] If you are looking for a specific package, +font, program, etc., the \TeX{} Catalogue is the place to look. It is a +huge collection of all \TeX{}-related items. See +\url{http://www.ctan.org/help/Catalogue/}. + +\item [\TeX{} Web Resources] The web page +\url{http://tug.org/interest.html} has many \TeX{}-related links, in +particular for numerous books, manuals, and articles on all aspects of +the system. + +\item [support archives] The two principal support forums are the +Usenet newsgroup \url{news:comp.text.tex} and the mailing list +\email{texhax@tug.org}. Their archives have years of past +questions and answers for your searching pleasure, via +\url{http://groups.google.com/group/comp.text.tex/topics} and +\url{http://tug.org/mail-archives/texhax}, respectively. And a general web +search, for example on \url{http://google.com}, never hurts. + +\item [asking questions] If you cannot find an answer, you can post to +\dirname{comp.text.tex} through Google or your newsreader, or to +\email{texhax@tug.org} through email. But before you post, +\emph{please} read this \acro{FAQ} entry, to maximize +your chances of getting a useful answer: +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. + +\item [\TL{} support] If you want to report a bug or have +suggestions or comments on the \TL{} distribution, installation, or +documentation, the mailing list is \email{tex-live@tug.org}. However, +if your question is about how to use a particular program included in +\TL{}, please write to that program's maintainer or +mailing list. Often running a program with the \code{-{}-help} option +will provide a bug reporting address. + +\end{description} + +The other side of the coin is helping others who have questions. Both +\dirname{comp.text.tex} and \code{texhax} are open to anyone, so feel +free to join, start reading, and help out where you can. + + +% don't use \TL so the \uppercase in the headline works. Also so +% tex4ht ends up with the right TeX. Likewise the \protect's. +\section{Overview of \protect\TeX\protect\ Live} +\label{sec:overview-tl} + +This section describes the contents of \TL{} and the \TK{} of which it +is a part. + +\subsection{The \protect\TeX\protect\ Collection: \TL, pro\TeX{}t, Mac\TeX} +\label{sec:tl-coll-dists} + +The \TK{} \DVD{} comprises the following: + +\begin{description} + +\item [\TL] A complete \TeX{} system which can be run live or + installed to disk. Its home page is \url{http://tug.org/texlive/}. + +\item [Mac\TeX] for \MacOSX, this adds a native \MacOSX\ installer and other +Mac applications to \TL{}. Its home page is +\url{http://tug.org/mactex/}. + +\item [pro\TeX{}t] An enhancement of the \MIKTEX\ distribution for Windows, +\ProTeXt\ adds a few extra tools to \MIKTEX, and simplifies +installation. It is entirely independent of \TL{}, and has its own +installation instructions. The \ProTeXt\ home page is +\url{http://tug.org/protext}. + +\item [CTAN] A snapshot of the \CTAN{} repository (\url{http://www.ctan.org}). + +\item [\texttt{texmf-extra}] A directory with assorted additional packages. + +\end{description} + +\CTAN{}, \pkgname{protext}, and \dirname{texmf-extra} do not +necessarily follow the same copying conditions as \TL{}, so be careful +when redistributing or modifying. + + +\subsection{Top level \TL{} directories} +\label{sec:tld} + +Here is a brief listing and description of the top level directories in the +\TL{} distribution. On the \TK{} \DVD, the entire \TL{} hierarchy is in +a subdirectory \dirname{texlive}, not at the top level of the disc. + +\begin{ttdescription} +\item[bin] The \TeX{} system programs, arranged by platform. +% +\item[readme-*.dir] Quick overview and useful links for \TL{}, +in various languages, in both \HTML{} and plain text. +% +\item[source] The source to all included programs, including the main \Webc{} + \TeX{} and \MF{} distributions. +% +\item[texmf] See \dirname{TEXMFMAIN} below. +% +\item[texmf-dist] See \dirname{TEXMFDIST} below. +% +\item[tlpkg] Scripts, programs and data for managing the + installation, and some special support for Windows. +\end{ttdescription} + +In addition to the directories above, the installation scripts and +\filename{README} files (in various languages) are at the top level of +the distribution. + +For documentation, the comprehensive links in the top-level file +\OnCD{doc.html} may be helpful. The documentation for the programs +(manuals, man pages, Info files) is in \dirname{texmf/doc}. The +documentation for \TeX\ packages and formats is in +\dirname{texmf-dist/doc}. You can use the \cmdname{texdoc} program to +find any documentation wherever it is located. + +This \TL\ documentation itself is in \dirname{texmf/doc/texlive}, +available in several languages: + +\begin{itemize*} +\item{Simplified Chinese:} \OnCD{texmf/doc/texlive/texlive-zh-cn} +\item{Czech/Slovak:} \OnCD{texmf/doc/texlive/texlive-cz} +\item{English:} \OnCD{texmf/doc/texlive/texlive-en} +\item{French:} \OnCD{texmf/doc/texlive/texlive-fr} +\item{German:} \OnCD{texmf/doc/texlive/texlive-de} +\item{Polish:} \OnCD{texmf/doc/texlive/texlive-pl} +\item{Russian:} \OnCD{texmf/doc/texlive/texlive-ru} +\end{itemize*} + +\subsection{Overview of the predefined texmf trees} +\label{sec:texmftrees} + +This section lists the predefined variables specifying the texmf trees +used by the system, and their intended purpose, and the default layout +of \TL{}. The command \texttt{tlmgr~conf} shows the values of these +variables, so that you can easily find out how they map to particular +directories in your installation. + +\begin{ttdescription} +\item [TEXMFMAIN] The tree which holds vital parts of the + system such as configuration files, helper scripts, and program + documentation. +\item [TEXMFDIST] The tree which holds the main set of macro packages, + fonts, etc. +\item [TEXMFLOCAL] The tree which administrators can use for system-wide + installation of additional or updated macros, fonts, etc. +\item [TEXMFHOME] The tree which users can use for their own individual + installations of additional or updated macros, fonts, etc. + The expansion of this variable dynamically adjusts for each user to + their own individual directory. +\item [TEXMFCONFIG] The tree used by the utilities + \verb+texconfig+, \verb+updmap+, and \verb+fmtutil+ to store modified + configuration data. Under \envname{TEXMFHOME} by default. +\item [TEXMFSYSCONFIG] The tree used by the utilities + \verb+texconfig-sys+, \verb+updmap-sys+, and \verb+fmtutil-sys+ to + store modified configuration data. +\item [TEXMFVAR] The tree used by \verb+texconfig+, \verb+updmap+ and + \verb+fmtutil+ to store (cached) runtime data such as format files and + generated map files. Under \envname{TEXMFHOME} by default. +\item [TEXMFSYSVAR] The tree used by \verb+texconfig-sys+, + \verb+updmap-sys+ and \verb+fmtutil-sys+, and also by \verb+tlmgr+, to + store (cached) runtime data such as format files and generated map files. +\end{ttdescription} + +\noindent +The default layout is: +\begin{description} + \item[system-wide root] can span multiple \TL{} releases: + \begin{ttdescription} + \item[2008] A previous release. + \item[2009] The current release. + \begin{ttdescription} + \item [bin] ~ + \begin{ttdescription} + \item [i386-linux] \GNU/Linux binaries + \item [...] + \item [universal-darwin] \MacOSX binaries + \item [win32] Windows binaries + \end{ttdescription} + \item [texmf\ \ \ \ \ \ \ ] This is \envname{TEXMFMAIN}. + \item [texmf-dist\ \ ] \envname{TEXMFDIST} + \item [texmf-var \ \ ] \envname{TEXMFSYSVAR} + \item [texmf-config] \envname{TEXMFSYSCONFIG} + \end{ttdescription} + \item [texmf-local] \envname{TEXMFLOCAL}, intended to be + retained from release to release. + \end{ttdescription} + \item[user's home] (\texttt{\$HOME} or + \texttt{\%USERPROFILE\%}) + \begin{ttdescription} + \item[.texlive2008] Privately generated and configuration data + for a previous release. + \item[.texlive2009] Privately generated and configuration data + for the current release. + \begin{ttdescription} + \item [texmf-var\ \ \ ] \envname{TEXMFVAR} + \item [texmf-config] \envname{TEXMFCONFIG} + \end{ttdescription} + \item[texmf] \envname{TEXMFHOME} Personal macros, etc. + \end{ttdescription} +\end{description} + + +\subsection{Extensions to \protect\TeX} +\label{sec:tex-extensions} + +Knuth's original \TeX{} itself is frozen, apart from rare bug fixes. It +is still present in \TL\ as the program \prog{tex}, and will remain so +for the foreseeable future. \TL{} contains several extended versions of +\TeX: + +\begin{description} + +\item [\eTeX] adds a set of new primitives +\label{text:etex} (related to macro expansion, character scanning, +classes of marks, additional debugging features, and more) and the +\TeXXeT{} extensions for bidirectional typesetting. In default mode, +\eTeX{} is 100\% compatible with ordinary \TeX. See +\OnCD{texmf-dist/doc/etex/base/etex_man.pdf}. + +\item [pdf\TeX] builds on the \eTeX\ extensions, adding support for +writing \acro{PDF} output as well as \dvi{}, and many non-output-related +extensions. This is the program invoked for most formats, e.g., +\prog{etex}, \prog{latex}, \prog{pdflatex}. Its web site is +\url{http://www.pdftex.org/}. See +\OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf} for the manual, and +\OnCD{texmf-dist/doc/pdftex/manual/samplepdf/samplepdf.tex} for example +usage of some of its features. + +\item [Lua\TeX] is the designated successor of pdf\TeX, +and is mostly (but not entirely) backward-compatible. It is also +intended to be a functional superset of Aleph (see below), though +technical compatibility is not intended. The incorporated Lua +interpreter (\url{http://www.lua.org/}) enables elegant solutions for +many thorny \TeX{} problems. When called as \filename{texlua}, it +functions as a standalone Lua interpreter, and is already used as such +within \TL. Its web site is \url{http://www.luatex.org/}, and the +reference manual is \OnCD{texmf-dist/doc/luatex/luatexref-t.pdf}. + +\item [\XeTeX] adds support for Unicode input and OpenType- and system +fonts, implemented using standard third-party libraries. See +\url{http://tug.org/xetex}. + +\item [\OMEGA\ (Omega)] is based on Unicode (16-bit characters), thus +supports working with almost all the world's scripts simultaneously. It +also supports so-called `\OMEGA{} Translation Processes' (\acro{OTP}s), +for performing complex transformations on arbitrary input. Omega is no +longer included in \TL{} as a separate program; only Aleph is provided: + +\item [Aleph] combines the \OMEGA\ and \eTeX\ extensions. +See \OnCD{texmf-dist/doc/aleph/base} for some minimal documentation. + +\end{description} + + +\subsection{Other notable programs in \protect\TL} + +Here are a few other commonly-used programs included in \TL{}: + +\begin{cmddescription} + +\item [bibtex] bibliography support. + +\item [makeindex, xindy] index support. + +\item [dvips] convert \dvi{} to \PS{}. + +\item [xdvi] \dvi{} previewer for the X Window System. + +\item [dvilj] \dvi{} drive for the HP LaserJet family. + +\item [dviconcat, dviselect] cut and paste pages +from \dvi{} files. + +\item [dvipdfmx] convert \dvi{} to \acro{PDF}, an alternative approach +to pdf\TeX\ (mentioned above). See the \pkgname{ps4pdf} and +\pkgname{pdftricks} packages for still more alternatives. + +\item [psselect, psnup, \ldots] \PS{} utilities. + +\item [texexec, texmfstart] Con\TeX{}t and \acro{PDF} processor. + +\item [tex4ht] \TeX{} to \acro{HTML} (and \acro{XML} and more) converter. + +\end{cmddescription} + + +\subsection{Fonts in \protect\TL} +\label{sec:tl-fonts} + +\TL{} comes with many high-quality scalable fonts. See +\url{http://tug.org/fonts} and +\OnCD{texmf-dist/doc/fonts/free-math-font-survey}. + + +\section{Installation} +\label{sec:install} + +\subsection{Starting the installer} +\label{sec:inst-start} + +To begin, get the \TK{} \DVD{} or download the \TL{} net installer, +and locate the installer script: \filename{install-tl} for Unix, +\filename{install-tl.bat} for Windows. + +\begin{description} +\item [Net installer:] Download from \CTAN, under +\dirname{systems/texlive/tlnet}; the url +\url{http://mirror.ctan.org/systems/texlive/tlnet} will automatically +redirect to a nearby, up-to-date, mirror. You can retrieve either +\filename{install-tl.zip} which can be used under Unix and Windows, or +the considerably smaller \filename{install-unx.tar.gz} for Unix +only. After unpacking, \filename{install-tl} and +\filename{install-tl.bat} will be in the \dirname{install-tl} +subdirectory. + +\item [\TeX{} Collection \DVD:] go to its \dirname{texlive} +subdirectory. Under Windows, the installer normally starts automatically +when you insert the \DVD. You can get the \DVD\ by becoming a member of +a \TeX\ user group (highly recommended, +\url{http://tug.org/usergroups.html}), or purchasing it separately +(\url{http://tug.org/store}), or burning your own from the \ISO\ +image. + +\end{description} + +See \url{http://tug.org/texlive/acquire.html} for more information and +other methods of getting the software. + +The following sections explain installer start-up in more detail. + +\subsubsection{Unix} + +\noindent +Below, \texttt{>} denotes the shell prompt; user input is +\Ucom{\texttt{bold}}. +The script \filename{install-tl} is a Perl script. The simplest way +to start it on a Unix-compatible system is as follows: +\begin{alltt} +> \Ucom{cd /path/to/installer} +> \Ucom{perl install-tl} +\end{alltt} +(Or you can invoke \Ucom{perl /path/to/installer/install-tl}, or +\Ucom{./install-tl} if it stayed executable, etc.; we won't repeat all +these variations.) You may have to enlarge your terminal window so +that it shows the full text installer screen (Figure~\ref{fig:text-main}). + +To install in expert \GUI\ mode (figure~\ref{fig:gui-main}; you'll +need the \dirname{Perl/TK} module), use: +\begin{alltt} +> \Ucom{perl install-tl -gui} +\end{alltt} + +For a complete listing of the various options: +\begin{alltt} +> \Ucom{perl install-tl -help} +\end{alltt} + +\textbf{Warning about Unix permissions:} Your \code{umask} at the time +of installation will be respected by the \TL{} installer. Therefore, if +you want your installation to be usable by users other than you, make +sure your setting is sufficiently permissive, for instance, \code{umask +002}. For more information about \code{umask}, consult your system +documentation. + +\textbf{Special considerations for Cygwin:} Unlike other +Unix-compatible systems, Cygwin does not by default include all of the +prerequisite programs needed by the \TL{} installer. See +Section~\ref{sec:cygwin} for details. + + +\subsubsection{MacOSX} + +As mentioned in section~\ref{sec:tl-coll-dists}, a separate distribution +is prepared for \MacOSX, named Mac\TeX\ (\url{http://tug.org/mactex}). +We recommend using the native Mac\TeX\ installer instead of the \TL\ +installer on \MacOSX, because the native installer makes a few +Mac-specific adjustments, in particular to allow easily switching +between the various \TeX\ distributions for \MacOSX\ (Mac\TeX, gw\TeX, +Fink, MacPorts, \ldots). + +Mac\TeX\ is firmly based on \TL, and the main \TeX\ trees are precisely +the same. It does add a few extra folders with Mac-specific +documentation and applications. + + +\subsubsection{Windows} + +If you are using the net installer, or the \DVD\ installer failed to +start automatically, double-click \filename{install-tl.bat}. +For more customization options, e.g. selection of specific package +collections, run \filename{install-tl-advanced.bat} instead. + +You can also start the installer from the command-prompt. Below, +\texttt{>} denotes the prompt; user input is \Ucom{\texttt{bold}}. If +you are in the installer directory, run just: +\begin{alltt} +> \Ucom{install-tl} +\end{alltt} + +Or you can invoke it with an absolute location, such as: +\begin{alltt} +> \Ucom{D:\bs{}texlive\bs{}install-tl} +\end{alltt} +for the \TK\ \DVD, supposing that \dirname{D:} is the optical +drive. Figure~\ref{fig:wizard} displays the wizard installer, which +is the default for Windows. + +To install in text mode, use: +\begin{alltt} +> \Ucom{install-tl -no-gui} +\end{alltt} + +For a complete listing of the various options: +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} + +\begin{figure}[tb] +\begin{boxedverbatim} +Installing TeX Live 2009 from: ... +Platform: i386-linux => 'Intel x86 with GNU/Linux' +Distribution: live (uncompressed) +... + Detected platform: Intel x86 with GNU/Linux + + <B> binary systems: 1 out of 14 + + <S> Installation scheme (scheme-full) + 83 collections out of 84, disk space required: 1882 MB + + Customizing installation scheme: + <C> standard collections + <L> language collections + + <D> directories: + TEXDIR (the main TeX directory): + /usr/local/texlive/2009 + TEXMFLOCAL (directory for site-wide local files): + /usr/local/texlive/texmf-local + TEXMFSYSVAR (directory for variable and automatically generated data): + /usr/local/texlive/2009/texmf-var + TEXMFSYSCONFIG (directory for local config): + /usr/local/texlive/2009/texmf-config + TEXMFHOME (directory for user-specific files): + ~/texmf + + <O> options: + [ ] use letter size instead of A4 by default + [X] create all format files + [X] install macro/font doc tree + [X] install macro/font source tree + [ ] create symlinks to standard directories + + <V> set up for running from DVD + +Other actions: + <I> start installation to hard disk + <H> help + <Q> quit +\end{boxedverbatim} +\caption{Main text installer screen (\GNU/Linux)}\label{fig:text-main} +\end{figure} + +\begin{figure}[tb] +\tlpng{install-lnx-main}{\linewidth} +\caption{Expert \GUI{} installer screen (\GNU/Linux)}\label{fig:gui-main} +\end{figure} + +\begin{figure}[tb] +\tlpng{wizard-w32}{\linewidth} +\caption{Wizard installer screen (Windows)}\label{fig:wizard} +\end{figure} + + +\htmlanchor{cygwin} +\subsubsection{Cygwin} +\label{sec:cygwin} + +The \TL{} installer supports only Cygwin 1.7. +% Add a note about Angelo's workaround for 1.5 if he gets it ready for +% public use. +Before beginning the installation, use Cygwin's \filename{setup.exe} program to +install the \filename{perl} and \filename{wget} packages if you have +not already done so. The following additional packages are +recommended: +\begin{itemize*} +\item \filename{fontconfig} [needed by \XeTeX] +\item \filename{ghostscript} [needed by various utilities] +\item \filename{libXaw7} [needed by xdvi] +\item \filename{ncurses} [provides the 'clear' command used by the installer] +\end{itemize*} + +\subsubsection{The text installer} + +Figure~\ref{fig:text-main} displays the main text mode screen under +Unix. The text installer is the default on Unix. + +This is only a command-line installer; there is no cursor support at +all. For instance, you cannot tab around checkboxes or input fields. +You just type something (case-sensitive) at the prompt and press the +Enter key, and then the entire terminal screen will be rewritten, with +adjusted content. + +The text installer interface is this primitive for a reason: it +is designed to run on as many platforms as possible, even with a +very barebones Perl. + +\subsubsection{The expert graphical installer} + +Figure~\ref{fig:gui-main} displays the expert graphical installer under +\GNU/Linux. Other than using buttons and menus, this installer does +not differ much from the text one (Figure~\ref{fig:text-main}). + +This mode can be invoked explicitly with +\begin{alltt} +> \Ucom{install-tl -gui=perltk} +\end{alltt} + + +\subsubsection{The simple wizard installer} + +Under Windows, the default is to run the simplest installation method we +could devise, which we named the ``wizard'' installer. It installs +everything and asks almost no questions. If you want to customize your +setup, you should run one of the other installers. + +This mode can be invoked explicitly with +\begin{alltt} +> \Ucom{install-tl -gui=wizard} +\end{alltt} + + +\subsection{Running the installer} +\label{sec:runinstall} + +The installer is intended to be mostly self-explanatory, but following are a +few notes about the various options and submenus. + +\subsubsection{Binary systems menu (Unix only)} +\label{sec:binary} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Available sets of binaries: +=============================================================================== + + a [ ] alpha-linux DEC Alpha with GNU/Linux + b [ ] i386-cygwin Intel x86 with Cygwin + c [X] i386-linux Intel x86 with GNU/Linux + d [ ] i386-netbsd Intel x86 with NetBSD + e [ ] i386-solaris Intel x86 with Sun Solaris + f [ ] mips-irix SGI IRIX + g [ ] powerpc-aix PowerPC with AIX + h [ ] powerpc-linux PowerPC with GNU/Linux + i [ ] sparc-linux Sparc with GNU/Linux + j [ ] sparc-solaris Sparc with Solaris + k [ ] universal-darwin universal binaries for MacOSX/Darwin + l [ ] win32 Windows + m [ ] x86_64-linux x86_64 with GNU/Linux +\end{boxedverbatim} +\caption{Binaries menu}\label{fig:bin-text} +\end{figure} + +Figure~\ref{fig:bin-text} displays the text mode binaries menu. By +default, only the binaries for your current platform will be installed. +From this menu, you can select installation of binaries for other +architectures as well. This can be useful if you are sharing a \TeX\ +tree across a network of heterogenous machines, or for a dual-boot +system. + +\subsubsection{Selecting what is going to be installed} +\label{sec:components} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Select a scheme: +=============================================================================== + a [ ] basic scheme (plain and LaTeX) + b [ ] ConTeXt scheme + c [X] full scheme (everything) + d [ ] GUST TeX Live scheme + e [ ] GUTenberg TeX Live scheme + f [ ] medium scheme (plain, latex, recommended packages, some languages) + g [ ] minimal scheme (plain only) + h [ ] Omega scheme + i [ ] teTeX scheme (more than medium, but nowhere near full) + j [ ] XML scheme + k [ ] custom selection of collections +\end{boxedverbatim} +\caption{Scheme menu}\label{fig:scheme-text} +\end{figure} + +Figure~\ref{fig:scheme-text} displays the \TL\ scheme menu; from here, +you choose a ``scheme'', which is an overall set of package collections. +The default \optname{full} scheme installs everything available, but you +can also choose the \optname{basic} scheme for a small system, +\optname{minimal} for testing purposes, and \optname{medium} or +\optname{teTeX} to get something in between. There are also various +specialized and country-specific schemes. + +\begin{figure}[tbh] +\tlpng{stdcoll}{.7\linewidth} +\caption{Collections menu}\label{fig:collections-gui} +\end{figure} + +You can refine your scheme selection with the `standard collections' and +`language collections' menus (figure~\ref{fig:collections-gui}, shown in +\GUI\ mode for a change). + +Collections are one level more detailed than schemes\Dash in essence, a +scheme consists of several collections, a collection consists of one or +more packages, and a package (the lowest level grouping in \TL) contains +the actual \TeX\ macro files, font files, and so on. + +If you want more control than the collection menus provide, you can use +the \prog{tlmgr} program after installation (see +section~\ref{sec:tlmgr}); using that, you can control the installation +at the package level. + +\subsubsection{Directories} +\label{sec:directories} + +The default layout is described in section~\ref{sec:texmftrees}, +\p.\pageref{sec:texmftrees}. The default location of +\dirname{TEXDIR} is different between Windows +(|%SystemDrive%\texlive\2009|) and Unix +(\dirname{/usr/local/texlive/2009}). + +The main reason to change this default is if you lack write permission +for the default location. You don't have to be root or administrator to +install \TL, but you do need write access to the target directory. + +A reasonable alternative choice is a directory under your home directory, +especially if you will be the sole user. Use +`|~|' to indicate this, as in `|~/texlive/2009|'. + +We recommend including the year in the name, to enable keeping different +releases of \TL{} side by side. (You may wish to make a +version-independent name such as \dirname{/usr/local/texlive-cur} via a +symbolic link, which you can then update after testing the new release.) + +Changing \dirname{TEXDIR} in the installer will also change +\dirname{TEXMFLOCAL}, \dirname{TEXMFSYSVAR} and +\dirname{TEXMFSYSCONFIG}. + +\dirname{TEXMFHOME} is the recommended location for personal +macro files or packages. The default value is |~/texmf|. In +contrast to \dirname{TEXDIR}, here a |~| is preserved in the +newly-written configuration files, since it usefully refers to the home +directory of any individual running \TeX. It expands to +\dirname{$HOME} on Unix and \verb|%USERPROFILE%| on Windows. + +\subsubsection{Options} +\label{sec:options} + +\begin{figure}[tbh] +\begin{boxedverbatim} + <P> use letter size instead of A4 by default: [ ] + <F> create format files: [X] + <D> install font/macro doc tree: [X] + <S> install font/macro source tree: [X] + <L> create symlinks in standard directories: [ ] + binaries to: + manpages to: + info to: +\end{boxedverbatim} +\caption{Options menu (Unix)}\label{fig:options-text} +\end{figure} + +Figure~\ref{fig:options-text} shows the text mode options menu. +More info: + +\begin{description} +\item[use letter size instead of A4 by default:] The default paper + size selection. Of course, individual documents can and should + specify a specific paper size, if desired. + +\item[create format files:] Although unnecessary format files + take time to generate and disk space to store, it is still recommended + to leave this option checked: if you don't, then format files will be + generated in people's private \dirname{TEXMFVAR} tree as they are + needed. In that location, they will not be updated automatically if + (say) binaries or hyphenation patterns are updated in the + installation, and thus could end up with incompatible format files. + +\begin{comment} +\item[execution of restricted list of programs:] As of \TL\ 2009, + execution of a few external programs is allowed by default. The list + of allowed programs is given in the \filename{texmf.cnf}; it is very + small, but still very useful. See the 2009 news + (section~\ref{sec:2009news}) for more details. +\end{comment} + +\item[install font/macro \ldots\ tree:] These options allow you to omit + downloading/installing the documentation and source files present in + most packages. Not recommended. + +\item[create symlinks in standard directories] (Unix only): + This option bypasses the need to change environment variables. Without + this option, \TL{} directories usually have to be added to + \envname{PATH}, \envname{MANPATH} and \envname{INFOPATH}. You will + need write permissions to the target directories. It is strongly + advised \emph{not} to overwrite a \TeX\ system that came with your + system with this option. It is intended primarily for accessing the + \TeX\ system through directories that are already known to users, such + as \dirname{/usr/local/bin}, which don't already contain any \TeX\ + files. +\end{description} + +When all the settings are to your liking, you can type `I' to start the +installation process. When it is done, skip to +section~\ref{sec:postinstall} to read what else needs to be done, if +anything. + +\htmlanchor{runfromdvd} +\subsubsection{Set up for running from DVD{} (text mode only)} +\label{sec:fromdvd} + +Type `|V|' to select this option. This changes the main menu into something +as in figure~\ref{fig:main-fromdvd}. + +\begin{figure}[tbh] +\begin{boxedverbatim} +======================> TeX Live installation procedure <===================== +... + <D> directories: + TEXDIRW (Writable root): + !! default location: /usr/local/texlive/2009 + !! is not writable, please select a different one! + TEXMFLOCAL (directory for site-wide local files): + /usr/local/texlive/texmf-local + TEXMFSYSVAR (directory for variable and automatically generated data): + /usr/local/texlive/2009/texmf-var + TEXMFSYSCONFIG (directory for local config): + /usr/local/texlive/2009/texmf-config + TEXMFHOME (directory for user-specific files): + ~/texmf + + <O> options: + [ ] use letter size instead of A4 by default + [X] create all format files + + <V> set up for installing to hard disk + +Other actions: + <I> start installation for running from DVD + <H> help + <Q> quit +\end{boxedverbatim} +\caption{The main menu with `\optname{from DVD}' set}\label{fig:main-fromdvd} +\end{figure} + +Note the changes: all options about what to install have +disappeared, and the directories section now talks about +\dirname{TEXDIRW} or writable root. The symlinks option has also +disappeared. + +The installer will still create various directories and configuration +files, but won't copy \dirname{texmf} or \dirname{texmf-dist} to hard +disk. + +Post-install configuration for Unix will be slightly more complicated, +because now the directory layout deviates from the default; see +section~\ref{sec:postinstall}. + +This option is not in the \GUI{} installer, but it is available both +for Unix and for Windows. Windows users have to start the installer +from a command prompt, see section~\ref{sec:cmdline}. + +Section \ref{sec:portable-tl} describes a more strictly portable +way to run \TL, which doesn't make or require any changes in the +system's configuration, but doesn't allow any configuration either. + +\subsection{Command-line install-tl options} +\label{sec:cmdline} + +Type +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} +for a listing of command-line options. Either |-| or |--| can be used +to introduce option names. These are the most common ones: + +\begin{ttdescription} +\item[-gui] If possible, use the \GUI{} installer. This requires the + Perl/Tk module (\url{http://tug.org/texlive/distro.html#perltk}); + if Perl/Tk is not available, installation continues in text mode. + +\item[-no-gui] Force using the text mode installer, even under + Windows; you'll need this if you want a `from \DVD' installation, + since that is not available in \GUI{} mode. + +\item[-lang {\sl LL}] Specify the installer interface + language as its standard two-letter code \textsl{LL}. Currently + supported languages: English (\texttt{en}, default), German + (\texttt{de}), French (\texttt{fr}), Dutch (\texttt{nl}), Polish + (\texttt{pl}), Slovenian (\texttt{sl}) and Vietnamese + (\texttt{vi}). The installer tries to determine the right language + itself but if it fails, or if the right language is not available, + then it uses English as a fallback. + +\item[-profile {\sl file}] The installer always writes a file + \filename{texlive.profile} to the \dirname{tlpkg} subdirectory of your + installation. This option tells the installer to re-use such a + profile file, so you can install in batch mode on subsequent systems, + reproducing the choices you made in a prior installation. + +\item [-repository {\sl url-or-directory}] Specify package + repository from which to install; see following. +\end{ttdescription} + +\subsubsection{The \optname{-repository} option} +\label{sec:location} + +The default package repository is a \CTAN{} mirror chosen automatically +via \url{http://mirror.ctan.org}. + +If you want to override that, the location value can be a url starting +with \texttt{ftp:}, \texttt{http:}, or \texttt{file:/}, or a plain +directory path. (When giving an \texttt{http:}\ or \texttt{ftp:}\ +location, trailing `\texttt{/}' characters and/or a trailing +`\texttt{/tlpkg}' component are ignored.) + +For example, you could choose a particular \CTAN\ mirror with something +like: \url{http://ctan.example.org/tex-archive/systems/texlive/tlnet/}, +substituting a real hostname and its particular top-level +\CTAN\ path for |ctan.example.org|. The list of \CTAN\ mirrors is +maintained at \url{http://ctan.org/mirrors}. + +If the given argument is local (either a path or a \texttt{file:/} url), +compressed files in an \dirname{archive} subdirectory of the repository +path are used (even if uncompressed files are available as well). + + +\subsection{Post-install actions} +\label{sec:postinstall} + +Some post-install may be required. + +\subsubsection{Windows} + +But on Windows, the installer takes care of everything. + +\subsubsection{If symlinks were created} + +If you elected to create symlinks in standard directories (mentioned in +section~\ref{sec:options}), then there is no need to edit environment +variables. + +\subsubsection{Environment variables for Unix} +\label{sec:env} + +The directory of the binaries for your platform must be added to +the search path. Each supported platform has its own subdirectory +under \dirname{TEXDIR/bin}. See figure~\ref{fig:bin-text} for the +list of subdirectories and corresponding platforms. + +You can also add the documentation man and Info directories to their +respective search paths, if you want the system tools to find them. +The man pages might be found automatically after the addition to +\envname{PATH}. + +For Bourne-compatible shells such as \prog{bash}, and using Intel x86 +GNU/Linux and a default directory setup as an example, the file to edit +might be \filename{$HOME/.profile} (or another file sourced by +\filename{.profile}, and the lines to add would look like this: + +\begin{sverbatim} +PATH=/usr/local/texlive/2009/bin/i386-linux:$PATH; export PATH +MANPATH=/usr/local/texlive/2009/texmf/doc/man:$MANPATH; export MANPATH +INFOPATH=/usr/local/texlive/2009/texmf/doc/info:$INFOPATH; export INFOPATH +\end{sverbatim} + +For csh or tcsh, the file to edit is typically \filename{$HOME/.cshrc}, and +the lines to add might look like: + +\begin{sverbatim} +setenv PATH /usr/local/texlive/2009/bin/i386-linux:$PATH +setenv MANPATH /usr/local/texlive/2009/texmf/doc/man:$MANPATH +setenv INFOPATH /usr/local/texlive/2009/texmf/doc/info:$INFOPATH +\end{sverbatim} + +If you already have settings somewhere in your ``dot'' files, naturally +the \TL\ directories should simply be merged in as appropriate. + +\subsubsection{Environment variables: global configuration} +\label{sec:envglobal} + +If you want to make these changes globally, or for a user newly added to +the system, then you are on your own; there is just too much variation +between systems in how and where these things are configured. + +Our two hints are: 1)~you may want to check for a file +\filename{/etc/manpath.config} and, if present, add lines such as + +\begin{sverbatim} +MANPATH_MAP /usr/local/texlive/2009/bin/i386-linux \ + /usr/local/texlive/2009/texmf/doc/man +\end{sverbatim} + +And 2)~check for a file \filename{/etc/environment} which may define the +search path and other default environment variables. + +We also create a symbolic link named \code{man} in each (Unix) binary +directory. Some \code{man} programs, such as the standard \MacOSX\ +\code{man}, will automatically find that, obviating the need for any man +page setup. + + +\subsubsection{Font configuration for \XeTeX} +\label{sec:font-conf-xetex} + +If you have installed the \filename{xetex} package on a Unix-compatible +system, you need to configure your system if you want \XeTeX\ to be able +to find the fonts shipped with \TL. To facilitate this, when the +\pkgname{xetex} package is installed (either at initial installation or +later), the necessary configuration file is created in +\filename{TEXMFSYSVAR/fonts/conf/texlive-fontconfig.conf}. + +To set up the \TL{} fonts for system-wide use (assuming you have +suitable privileges), proceed as follows: +\begin{enumerate*} +\item Copy the \filename{texlive-fontconfig.conf} file to +\dirname{/etc/fonts/conf.d/09-texlive.conf}. +\item Run \Ucom{fc-cache -fsv}. +\end{enumerate*} + +If you do not have sufficient privileges to carry out the steps above, +you can instead do the following to make the \TL{} fonts available +to you as an individual \XeTeX{} user: +\begin{enumerate*} +\item Copy the \filename{texlive-fontconfig.conf} file to + \filename{~/.fonts.conf}, where \filename{~} is your home directory. +\item Run \Ucom{fc-cache -fv}. +\end{enumerate*} + + +\subsubsection{When running from DVD} + +Normally, a \TL{} program consults a file \filename{texmf.cnf} for the +location of the various trees. It looks for this file in a series of +locations relative to its own location. However, this scheme breaks down +when a program is run from \DVD{}: the \DVD{} is read-only. Some of the +paths to be recorded in \filename{texmf.cnf} are only known at +installation time, so this file cannot be on the \DVD{} and must be +placed somewhere else. This makes it necessary to define an environment +\envname{TEXMFCNF} variable which tells \TL{} programs in what directory +to find this \filename{texmf.cnf}. It is also still necessary to modify +the \envname{PATH} environment variable, as described before. + +At the end of the installation, the installer should have printed a +message giving the value to which \envname{TEXMFCNF} should be set. In +case you missed it: this value is \dirname{$TEXMFSYSVAR/web2c}. For the +default, \dirname{/usr/local/texlive/2009/texmf-var/web2c}, you need the +lines +\begin{sverbatim} +TEXMFCNF=/usr/local/texlive/2009/texmf-var/web2c; export TEXMFCNF +\end{sverbatim} +or, for [t]csh: +\begin{sverbatim} +setenv TEXMFCNF /usr/local/texlive/2009/texmf-var/web2c +\end{sverbatim} + +This option is most useful when you want to run \TL{} on your own +system, but don't have enough disk space to install it. If you want a +truly `portable' \TL{} that is self-contained, e.g., for a USB stick, +see section~\ref{sec:portable-tl}. + +\subsubsection{\ConTeXt{} Mark IV} + +The `old' \ConTeXt{} should run out of the box. The new `Mark IV' +\ConTeXt{} will require manual setup; see +\url{http://wiki.contextgarden.net/Running_Mark_IV}. + + +\subsubsection{Integrating local and personal macros} +\label{sec:local-personal-macros} + +This is already mentioned implicitly in section~\ref{sec:texmftrees}: +\dirname{TEXMFLOCAL} (by default, +\dirname{/usr/local/texlive/texmf-local} or +\verb|%SystemDrive%\texlive\texmf-local|) +is intended for system-wide local fonts and macros; and +\dirname{TEXMFHOME} (by default, \dirname{$HOME/texmf} or +\verb|%USERPROFILE%\texmf|), is for personal fonts and macros. These +directories are intended to stick around from release to release, and +have their content seen automatically by a new \TL{} release. +Therefore, it is best to refrain from changing the definition of +\dirname{TEXMFLOCAL} to be too far away from the main \TL{} directory, +or you will need to manually change future releases. + +For both trees, files should be placed in their proper subdirectories; +see \url{http://tug.org/tds} or consult +\filename{texmf/web2c/texmf.cnf}. For instance, a \LaTeX{} class file or +package should be placed in \dirname{TEXMFLOCAL/tex/latex} or +\dirname{TEXMFHOME/tex/latex}, or a subdirectory thereof. + +\dirname{TEXMFLOCAL} requires an up-to-date filename database, or files +will not be found. You can update it with the command +\cmdname{mktexlsr} or use the `Reinit file database' button on the +configuration tab of \prog{tlmgr} in \GUI\ mode. + +\subsubsection{Integrating third-party fonts} + +This is unfortunately a messy topic. Forget about it unless you want to +delve into many details of the \TeX{} installation. Don't forget to +check first what you get for free: see section~\ref{sec:tl-fonts}. + +A possible alternative is to use \XeTeX (see +section~\ref{sec:tex-extensions}), which lets you use operating system +fonts without any installation in \TeX. + +If you do need to do this, see +\url{http://tug.org/fonts/fontinstall.html} for our best effort at +describing the procedure. + +\subsection{Testing the installation} +\label{sec:test-install} + +After installing \TL{} as best you can, you naturally want to test +it out, so you can start creating beautiful documents and\slash or fonts. + +This section gives some basic procedures for testing that the new system +is functional. We give Unix commands here; under \MacOSX{} and Windows, +you're more likely to run the tests through a graphical interface, but +the principles are the same. + +\begin{enumerate} + +\item Make sure that you can run the \cmdname{tex} program in the first +place: +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.1415926 (TeX Live 2009) +kpathsea version 5.0.0 +Copyright 2009 D.E. Knuth. +... +\end{alltt} +If this comes back with `command not found' instead of version and +copyright information, or with an older version, most likely you don't +have the correct \dirname{bin} subdirectory in your \envname{PATH}. See +the environment-setting information on \p.\pageref{sec:env}. + +\item Process a basic \LaTeX{} file: +\begin{alltt} +> \Ucom{latex sample2e.tex} +This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009) +... +Output written on sample2e.dvi (3 pages, 7484 bytes). +Transcript written on sample2e.log. +\end{alltt} +If this fails to find \filename{sample2e.tex} or other files, most +likely you have interference from old environment variables or +configuration files; we recommend unsetting all \TeX-related environment +variables for a start. (For a deep analysis, you can ask \TeX{} to +report on exactly what it is searching for, and finding; see ``Debugging +actions'' on page~\pageref{sec:debugging}.) + +\item Preview the result online: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} # Unix +> \Ucom{dviout sample2e.dvi} # Windows +\end{alltt} +You should see a new window with a nice document explaining some of the +basics of \LaTeX{}. (Well worth reading, by the way, if you're new to +\TeX.) You do have to be running under X for \cmdname{xdvi} to work; if +you're not, or your \envname{DISPLAY} environment variable is set +incorrectly, you'll get an error \samp{Can't open display}. + +\item Create a \PS{} file for printing or display: +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item Create a \acro{PDF} file instead of \dvi{}; this processes the +\filename{.tex} file and writes \acro{PDF} directly: +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item Preview the \acro{PDF} file: +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{or:} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} +Neither \cmdname{gv} nor \cmdname{xpdf} are included in \TL{}, so you +must install them separately. See \url{http://www.gnu.org/software/gv} +and \url{http://www.foolabs.com/xpdf}, respectively. There are plenty +of other \acro{PDF} viewers, too. For Windows, we recommend trying +Sumatra PDF (\url{http://blog.kowalczyk.info/software/sumatrapdf}). + +\item Standard test files you may find useful in addition to +\filename{sample2e.tex}: + +\begin{ttdescription} +\item [small2e.tex] A simpler document than \filename{sample2e}, to +reduce the input size if you're having troubles. +\item [testpage.tex] Test if your printer introduces any offsets. +\item [nfssfont.tex] For printing font tables and tests. +\item [testfont.tex] Also for font tables, but using plain \TeX{}. +\item [story.tex] The most canonical (plain) \TeX{} test file of all. +You must type \samp{\bs bye} to the \code{*} prompt after \samp{tex +story.tex}. +\end{ttdescription} + +\item If you have installed the \filename{xetex} package, you can test +its access to system fonts as follows: +\begin{alltt} +> \Ucom{xetex opentype-info.tex} +This is XeTeX, Version 3.1415926\dots +... +Output written on opentype-info.pdf (1 page). +Transcript written on opentype-info.log. +\end{alltt} +If you get an error message saying ``Invalid fontname `Latin Modern +Roman/ICU'\dots'', then you need to configure your system so that +\XeTeX{} can find the fonts shipped with \TL. See +Section~\ref{sec:font-conf-xetex}. + +\end{enumerate} + +\subsection{Links for additional downloadable software} + +If you are new to \TeX{}, or otherwise need help with actually writing +\TeX{} or \LaTeX{} documents, please visit +\url{http://tug.org/begin.html} for some introductory resources. + +Links for some other tools you may consider installing: +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.perl.org/} with + supplementary packages from \acro{CPAN}, \url{http://www.cpan.org/} +\item[ImageMagick] \url{http://www.imagemagick.com}, for graphics + processing and conversion +\item[NetPBM] \url{http://netpbm.sourceforge.net/}, also for graphics. + +\item[\TeX-oriented editors] There is a wide choice, and it is a matter of the + user's taste. Here is a selection (a few here are for Windows only). + \begin{itemize*} + \item \cmdname{GNU Emacs} is available natively under Windows, see + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html}. + \item \cmdname{Emacs} with Auc\TeX\ for Windows is available in + the directory \path{tlpkg/support} on the \TL \DVD; its home + page is \url{http://www.gnu.org/software/auctex}. + \item \cmdname{LEd} is available from \url{http://www.ctan.org/support/LEd}. + \item \cmdname{SciTE} is available from + \url{http://www.scintilla.org/SciTE.html}. + \item \cmdname{Texmaker} is free software, available from + \url{http://www.xm1math.net/texmaker/}. + \item \cmdname{TeXnicCenter} is free software, available from + \url{http://www.texniccenter.org} and in the pro\TeX{}t distribution. + \item \cmdname{TeXworks} is free software, available from + \url{http://tug.org/texworks} and installed for Windows and + \MacOSX\ as part of \TL. + \item \cmdname{Vim} is free software, available from + \url{http://www.vim.org}. + \item \cmdname{WinShell} is available from \url{http://www.winshell.de}. + \item \cmdname{WinEdt} is shareware available though + \url{http://tug.org/winedt} or \url{http://www.winedt.com}. + \end{itemize*} +\end{description} +For a much longer list of packages and programs, see +\url{http://tug.org/interest.html}. + + +\section{Network installations} +\label{sec:netinstall} + +\TL{} has been designed to be shared between different users, and even +different systems on a network. With a standard directory layout, no +hard paths are configured: the locations for files needed by \TL{} +programs are found relative to the programs. You can see this in the +principal configuration file \filename{$TEXMFMAIN/web2c/texmf.cnf}, +which contains lines such as +\begin{sverbatim} +TEXMFMAIN = $SELFAUTOPARENT/texmf +... +TEXMFLOCAL = $SELFAUTOPARENT/../texmf-local +\end{sverbatim} +This means that adding the directory for \TL{} executables for their +platform to their search path is sufficient to get a working setup. + +By the same token, you can also install \TL{} locally and then move +the entire hierarchy afterwards to a network location. + +For Windows, a sample network installation script named +\filename{w32client} can be downloaded through +\url{http://tug.org/texlive/w32client.html}. It creates settings and +menu shortcuts for using an existing \TL{} installation on a \acro{LAN}. +It also registers an uninstaller \filename{w32unclient}, available +in the same zip file. See the web page for more information. + + +\section{Maximally portable \protect\TL{} on DVD and USB} +\label{sec:portable-tl} + +The `running from \DVD{}' option described in +section~\ref{sec:fromdvd} is fine for your own system, but if you +are a guest on somebody else's system then you would probably like +something with minimal side effects. + +In the root of the \TL{} \DVD, or the \dirname{texlive} subdirectory of +the \TK{} \DVD, are a \filename{tl-portable} script (Unix) and a +\filename{tl-portable.bat} batch file (Windows) which start up a +secondary shell\slash command prompt with environment settings +for directly accessing the \TL{} on the \DVD. + +When it runs for the first time, some files will be generated in a +directory \dirname{~/.tlportable2009}, which will take a little time. +On subsequent runs, though, it will start almost instantaneously. + +The rest of the system will be unaware of \TL. If you want your editor +to be aware of this \TL, then you can start it from a second, parallel, +such \filename{tl-portable} session. + +You can also use \filename{tl-portable} to run \TL{} on a +\acro{USB} stick. In this case, copy all the top-level files and +the contents of the \dirname{bin}, \dirname{texmf}, +\dirname{texmf-dist}, and \dirname{tlpkg} directories (at least) to +the stick. This may take quite a while! If you are copying to a +\acro{FAT}32-formatted \acro{USB} stick, make sure to dereference +symbolic links (\code{cp -L}). A \dirname{texmf-local} directory on +the stick will also be found and used. + +Then run \filename{tl-portable} from the root of the stick, as above. +In this case, the script will notice that the stick is writable and use +it for generated files. You could burn the resulting contents of the +stick back to \DVD{} if that is more convenient to (for example) give to +others. + + +\section{\cmdname{tlmgr}: Managing your installation} +\label{sec:tlmgr} + +\begin{figure}[tb] +\tlpng{tlmgr-gui}{\linewidth} +\caption{\prog{tlmgr} in \GUI\ mode. The list of + packages/collections/schemes only shows up after clicking the + `Load' button.}\label{fig:tlmgr-gui} +\end{figure} + +\begin{figure}[tb] +\tlpng{tlmgr-config}{.8\linewidth} +\caption{\texttt{tlmgr} in GUI mode: Configuration tab}\label{fig:tlmgr-config} +\end{figure} + +\TL{} includes a program named \prog{tlmgr} for managing \TL{} after the +initial installation. The programs \prog{updmap}, \prog{fmtutil} and +\prog{texconfig} are still included and will be retained in the future, +but \prog{tlmgr} is now the preferred interface. Its capabilities +include: + +\begin{itemize*} +\item installing, updating, backing up, restoring, and uninstalling + individual packages, optionally taking dependencies into account; +\item searching for and listing packages, etc.; +\item listing, adding, and removing architectures; +\item changing installation options such as paper size and source + location (see section~\ref{sec:location}). +\end{itemize*} +\textit{Warning:} \prog{tlmgr} has not been designed for or tested +with installations which run from \DVD. + +\subsection{\cmdname{tlmgr} GUI mode} +\prog{tlmgr} can be started in \GUI{} mode with +\begin{alltt} +> \Ucom{tlmgr -gui} +\end{alltt} +or in Windows via the Start menu: \texttt{Start}, \texttt{Programs}, +\texttt{TeX Live 2009}, \texttt{TeX Live Manager}. After clicking `Load' +it displays a list of available and installed packages\Dash the latter +prepended with `(i)'. This assumes of course that the installation +source is valid and reachable. + +Figure~\ref{fig:tlmgr-config} shows the configuration tab. + +\subsection{Sample \cmdname{tlmgr} command-line invocations} + +After the initial installation, you can update your system to the latest +versions available with: +\begin{alltt} +> \Ucom{tlmgr update -all} +\end{alltt} +If this makes you nervous, first try +\begin{alltt} +> \Ucom{tlmgr update -all -dry-run} +\end{alltt} +or (less verbose): +\begin{alltt} +> \Ucom{tlmgr update -list} +\end{alltt} + +This more complex example adds a collection, for the engine Xe\TeX, from +a local directory: + +\begin{alltt} +> \Ucom{tlmgr -repository /local/mirror/tlnet install collection-xetex} +\end{alltt} +It generates the following output (abridged): +\begin{fverbatim} +install: collection-xetex +install: arabxetex +... +install: xetex +install: xetexconfig +install: xetex.i386-linux +running post install action for xetex +install: xetex-def +... +running mktexlsr +mktexlsr: Updating /usr/local/texlive/2009/texmf/ls-R... +... +running fmtutil-sys --missing +... +Transcript written on xelatex.log. +fmtutil: /usr/local/texlive/2009/texmf-var/web2c/xetex/xelatex.fmt installed. +\end{fverbatim} + +As you can see, \prog{tlmgr} installs dependencies, and takes care of any +necessary post-install actions, including updating the filename database +and (re)generating formats. In the above, we generated new formats for +\XeTeX. + +To describe a package (or collection or scheme): +\begin{alltt} +> \Ucom{tlmgr show collection-latexextra} +\end{alltt} +which produces +\begin{fverbatim} +package: collection-latexextra +category: Collection +shortdesc: LaTeX supplementary packages +longdesc: A large collection of add-on packages for LaTeX. +installed: Yes +revision: 14675 +\end{fverbatim} + +Last and most important, for full documentation see +\url{http://tug.org/texlive/tlmgr.html}, or: +\begin{alltt} +> \Ucom{tlmgr -help} +\end{alltt} + + +\section{Notes on Windows} +\label{sec:windows} + +\TL\ has a single installer which runs on both Windows and Unix. This +was only possible by dropping support for older Windows versions, so +\TL\ can now be installed only on Windows 2000 and later. + + +\subsection{Windows-specific features} +\label{sec:winfeatures} + +Under Windows, the installer does some extra things: +\begin{description} +\item[Menus and shortcuts.] A new `\TL{}' submenu of the + Start menu is installed, which contains entries for some \GUI{} + programs (\prog{tlmgr}, \prog{texdoctk}, the PS\_View (\prog{psv}) + PostScript previewer) and some documentation. PS\_View also gets a + shortcut on the desktop as a drag-and-drop target for PostScript + files. +\item[Automatic setting of environment variables.] No manual + configuration steps are required. +\item[Uninstaller.] The installer creates an entry under `Add/Remove + Programs' for \TL. The uninstall tab of \prog{tlmgr} refers to + this. +\end{description} + +\subsection{Additional software included on Windows} + +To be complete, a \TL installation needs support packages that are not +commonly found on a Windows machine. \TL{} provides the missing +pieces: +\begin{description} +\item[Perl and Ghostscript.] Because of the importance of Perl and + Ghostscript, \TL{} includes `hidden' copies of these + programs. \TL{} programs that need them know where to find them, + but they don't betray their presence through environment variables + or registry settings. They aren't full-scale installations, and + shouldn't interfere with any system installations of Perl or + Ghostscript. + +\item[PS\_View.] Also installed is PS\_View, a \PS{} and \acro{PDF} + viewer; see figure~\ref{fig:psview}. + +\begin{figure}[tb] +\tlpng{psview}{.6\linewidth} +\caption{PS\_View: very high magnifications available!}\label{fig:psview} +\end{figure} + +\item[dviout.] Also installed is \prog{dviout}, a \acro{DVI} viewer. + At first, when you preview files with \cmdname{dviout}, it will create + fonts, because screen fonts were not installed. After a while, you + will have created most of the fonts you use, and you will rarely see + the font-creation window. More information can be found in the + (highly recommended) on-line help. + +\item[TeXworks.] \TeX{}works is a \TeX-oriented editor with + an integrated \acro{PDF} viewer. It comes already preconfigured for \TL. + +\item[Command-line tools.] A number of Windows ports of common Unix + command-line programs are installed along with the usual \TL{} + binaries. These include \cmdname{gzip}, \cmdname{unzip} and the + command-line utilities from the \cmdname{xpdf} suite. The + \cmdname{xpdf} viewer itself is not available for + Windows. Instead, you can download the Sumatra \acro{PDF} viewer, + which is based on xpdf, from + \url{http://blog.kowalczyk.info/software/sumatrapdf}. + +\item[fc-list, fc-cache et al.] The tools from the fontconfig library allow + \XeTeX{} to handle system fonts on Windows. You can use + \prog{fc-list} to determine the font names to pass to Xe\TeX's + extended \cs{font} command. If necessary, run \prog{fc-cache} + first to update font information. + +\end{description} + + +\subsection{User Profile is Home} +\label{sec:winhome} + +The Windows counterpart of a Unix home directory is the +\verb|%USERPROFILE%| directory. Under Windows \acro{XP} and Windows 2000, this +is usually \verb|C:\Documents and Settings\<username>|, and under +Windows Vista \verb|C:\Users\<username>|. In the +\filename{texmf.cnf} file, and \KPS{} in general, \verb|~| will expand +appropriately on both Windows and Unix. + + +\subsection{The Windows registry} +\label{sec:registry} + +Windows stores nearly all configuration data in its registry. The +registry contains a set of hierarchically organized keys, with several +root keys. The most important ones for installation programs are +\path{HKEY_CURRENT_USER} and \path{HKEY_LOCAL_MACHINE}, \path{HKCU} and +\path{HKLM} in short. The \path{HKCU} part of the registry is in the +user's home directory (see section~\ref{sec:winhome}). \path{HKLM} is +normally in a subdirectory of the Windows directory. + +In some cases, system information could be obtained from environment +variables but for other information, for example the location of +shortcuts, it is necessary to consult the registry. Setting environment +variables permanently also requires registry access. + + +\subsection{Windows permissions} +\label{sec:winpermissions} + +In later versions of Windows, a distinction is made between regular +users and administrators, where only the latter have free access to the +entire operating system. In practice, though, you could better describe +these classes of users as unprivileged users and normal users: being an +administrator is the rule, not the exception. Nevertheless, we have made +an effort to make \TL{} installable without administrative privileges. + +If the user is an administrator, there is an option to install for all +users. If this option is chosen, shortcuts are created for all users, +and the system environment is modified. Otherwise, shortcuts and menu +entries are created for the current user, and the user environment is +modified. + +Regardless of administrator status, the default root of \TL{} proposed +by the installer is always under \verb|%SystemDrive%|. The installer +always tests whether the root is writable for the current user. + +A problem may arise if the user is not an administrator and \TeX{} +already exists in the search path. Since the effective path +consists of the system path followed by the user path, the new \TL{} +would never get precedence. As a safeguard, the installer creates a +shortcut to the command-prompt in which the new \TL{} binary +directory is prepended to the local search path. The new \TL{} will +be always usable from within such a command-prompt. The shortcut for +\TeX{}works, if installed, also prepends \TL{} to the search path, so it +should also be immune to this path problem. + +For Vista there is another twist: even if you are logged in as +administrator, you need to explicitly ask for administrator +privileges. In fact, there is not much point in logging in as +administrator. Instead, right-clicking on the program or shortcut +that you want to run usually gives you a choice `Run as +administrator'. + +\section{A user's guide to Web2C} + +\Webc{} is an integrated collection of \TeX-related programs: \TeX{} +itself, \MF{}, \MP, \BibTeX{}, etc. It is the heart of \TL{}. The home +page for \Webc{}, with the current manual and more, is +\url{http://tug.org/web2c}. + +A bit of history: The original implementation was by Tomas Rokicki who, +in 1987, developed a first \TeX{}-to-C system based on change files +under Unix, which were primarily the original work of Howard Trickey and +Pavel Curtis. Tim Morgan became the maintainer of the system, and +during this period the name changed to Web-to-C\@. In 1990, Karl Berry +took over the work, assisted by dozens of additional contributors, and +in 1997 he handed the baton to Olaf Weber, who returned it to Karl in +2006. + +The \Webc{} system runs on Unix, 32-bit Windows systems, \MacOSX{}, and +other operating systems. It uses Knuth's original sources for \TeX{} and +other basic programs written in the \web{} literate programming system +and translates them into C source code. The core \TeX{} programs +handled in this way are: + +\begin{cmddescription} +\item[bibtex] Maintaining bibliographies. +\item[dvicopy] Expands virtual font references in \dvi{} files. +\item[dvitomp] \dvi{} to MPX (MetaPost pictures). +\item[dvitype] \dvi{} to human-readable text. +\item[gftodvi] Generic font proofsheets. +\item[gftopk] Generic to packed fonts. +\item[gftype] GF to human-readable text. +\item[mf] Creating typeface families. +\item[mft] Prettyprinting \MF{} source. +\item[mpost] Creating technical diagrams. +\item[patgen] Creating hyphenation patterns. +\item[pktogf] Packed to generic fonts. +\item[pktype] PK to human-readable text. +\item[pltotf] Plain text property list to TFM. +\item[pooltype] Display \web{} pool files. +\item[tangle] \web{} to Pascal. +\item[tex] Typesetting. +\item[tftopl] TFM to plain text property list. +\item[vftovp] Virtual font to virtual property list. +\item[vptovf] Virtual property list to virtual font. +\item[weave] \web{} to \TeX. +\end{cmddescription} + +\noindent The precise functions and syntax of these programs are +described in the documentation of the individual packages and of \Webc{} +itself. However, knowing a few principles governing the whole family of +programs will help you take advantage of your \Webc{} installation. + +All programs honor these standard \GNU options: +\begin{ttdescription} +\item[-{}-help] print basic usage summary. +\item[-{}-verbose] print detailed progress report. +\item[-{}-version] print version information, then exit. +\end{ttdescription} + +For locating files the \Webc{} programs use the path searching library +\KPS{} (\url{http://tug.org/kpathsea}). This library uses a combination +of environment variables and a configuration files to optimize searching +the (huge) collection of \TeX{} files. \Webc{} can look at many +directory trees simultaneously, which is useful in maintaining \TeX's +standard distribution and local and personal extensions in distinct +trees. To speed up file searches, the root of each tree has a file +\file{ls-R}, containing an entry showing the name and relative pathname +for all files under that root. + + +\subsection{Kpathsea path searching} +\label{sec:kpathsea} + +Let us first describe the generic path searching mechanism of the \KPS{} +library. + +We call a \emph{search path} a colon- or semicolon\hyph sepa\-rated list +of \emph{path elements}, which are basically directory names. A +search path can come from (a combination of) many sources. To look up +a file \samp{my-file} along a path \samp{.:/dir}, \KPS{} checks each +element of the path in turn: first \file{./my-file}, then +\file{/dir/my-file}, returning the first match (or possibly all +matches). + +In order to adapt optimally to all operating systems' conventions, on +non-Unix systems \KPS{} can use filename separators different from +colon (\samp{:}) and slash (\samp{/}). + +To check a particular path element \var{p}, \KPS{} first checks if a +prebuilt database (see ``Filename data\-base'' on +page~\pageref{sec:filename-database}) applies to \var{p}, i.e., if the +database is in a directory that is a prefix of \var{p}. If so, the path +specification is matched against the contents of the database. + +If the database does not exist, or does not apply to this path +element, or contains no matches, the filesystem is searched (if this +was not forbidden by a specification starting with \samp{!!}\ and if +the file being searched for must exist). \KPS{} constructs the list +of directories that correspond to this path element, and then checks +in each for the file being sought. + +The ``file must exist'' condition comes into play with \samp{.vf} files and +input files read by \TeX's \cs{openin} command. Such files may not +exist (e.g., \file{cmr10.vf}), and so it would be wrong to search the +disk for them. Therefore, if you fail to update \file{ls-R} when you +install a new \samp{.vf} file, it will never be found. +Each path element is checked in turn: first the database, then the +disk. If a match is found, the search stops and the result is +returned. + +Although the simplest and most common path element is a directory +name, \KPS{} supports additional features in search paths: layered +default values, environment variable names, config file values, users' +home directories, and recursive subdirectory searching. Thus, we say +that \KPS{} \emph{expands} a path element, meaning it transforms all +the specifications into basic directory name or names. This is +described in the following sections in the same order as it takes +place. + +Note that if the filename being searched for is absolute or explicitly +relative, i.e., starts with \samp{/} or \samp{./} or \samp{../}, +\KPS{} simply checks if that file exists. + +\ifSingleColumn +\else +\begin{figure*} +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{An illustrative configuration file sample} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{Path sources} +\label{sec:path-sources} + +A search path can come from many sources. In the order in which +\KPS{} uses them: + +\begin{enumerate} +\item + A user-set environment variable, for instance, \envname{TEXINPUTS}\@. + Environment variables with a period and a program name appended + override; e.g., if \samp{latex} is the name of the program being run, + then \envname{TEXINPUTS.latex} will override \envname{TEXINPUTS}. +\item + A program-specific configuration file, for exam\-ple, a line + \samp{S /a:/b} in \cmdname{dvips}'s \file{config.ps}. +\item A \KPS{} configuration file \file{texmf.cnf}, containing a line like + \samp{TEXINPUTS=/c:/d} (see below). +\item The compile-time default. +\end{enumerate} +\noindent You can see each of these values for a given search path by +using the debugging options (see ``Debugging actions'' on +page~\pageref{sec:debugging}). + +\subsubsection{Config files} + +\begingroup\tolerance=3500 +\KPS{} reads \emph{runtime configuration files} named \file{texmf.cnf} +for search path and other definitions. The search path used to look +for these files is named \envname{TEXMFCNF} (by default such a file lives +in the \file{texmf/web2c} subdirectory). \emph{All} +\file{texmf.cnf} files in the search path will be read and definitions +in earlier files override those in later files. Thus, with a search +path of \verb|.:$TEXMF|, values from \file{./texmf.cnf} override those +from \verb|$TEXMF/texmf.cnf|. +\endgroup + +\begin{itemize} +\item + Comments start with \code{\%} and continue to the end of the line. +\item + Blank lines are ignored. +\item + A \bs{} at the end of a line acts as a continuation character, + i.e., the next line is appended. Whitespace at the beginning of + continuation lines is not ignored. +\item + Each remaining line has the form: +\begin{alltt} + \var{variable}[.\var{progname}] [=] \var{value} +\end{alltt}% + where the \samp{=} and surrounding whitespace are optional. +\item + The \ttvar{variable} name may contain any character other + than whitespace, \samp{=}, or \samp{.}, but sticking to + \samp{A-Za-z\_} is safest. +\item + If \samp{.\var{progname}} is present, the definition only + applies if the program that is running is named + \texttt{\var{progname}} or \texttt{\var{progname}.exe}. This allows + different flavors of \TeX{} to have different search paths, for + example. +\item \var{value} may contain any characters except + \code{\%} and \samp{@}. The + \code{\$\var{var}.\var{prog}} feature is not available on the + right-hand side; instead, you must use an additional variable. A + \samp{;}\ in \var{value} is translated to \samp{:}\ if + running under Unix; this is useful to be able to have a single + \file{texmf.cnf} for Unix, \acro{MS-DOS} and Windows systems. +\item + All definitions are read before anything is expanded, so + variables can be referenced before they are defined. +\end{itemize} +A configuration file fragment illustrating most of these points is +\ifSingleColumn +shown below: + +\verbatiminput{examples/ex5.tex} +\else +shown in Figure~\ref{fig:config-sample}. +\fi + +\subsubsection{Path expansion} +\label{sec:path-expansion} + + +\KPS{} recognizes certain special characters and constructions in +search paths, similar to those available in Unix shells. As a +general example, the complex path, +\verb+~$USER/{foo,bar}//baz+, expands to all subdirectories under +directories \file{foo} and \file{bar} in \texttt{\$USER}'s home +directory that contain a directory or file \file{baz}. These +expansions are explained in the sections below. +%$ +\subsubsection{Default expansion} +\label{sec:default-expansion} + +\tolerance=2500 +If the highest-priority search path (see ``Path sources'' on +page~\pageref{sec:path-sources}) contains an \emph{extra colon} (i.e., +leading, trailing, or doubled), \KPS{} inserts at that point the +next-highest-prio\-rity search path that is defined. If that inserted +path has an extra colon, the same happens with the next highest. For +example, given an environment variable setting + +\tolerance=1500 + +\begin{alltt} +> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} +and a \code{TEXINPUTS} value from \file{texmf.cnf} of + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} +then the final value used for searching will be: + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +Since it would be useless to insert the default value in more than one +place, \KPS{} changes only one extra \samp{:}\ and leaves any others in +place. It checks first for a leading \samp{:}, then a trailing +\samp{:}, then a doubled \samp{:}. + +\subsubsection{Brace expansion} + +A useful feature is brace expansion, which means that, for instance, +\verb+v{a,b}w+ expands to \verb+vaw:vbw+. Nesting is allowed. +This is used to implement multiple \TeX{} hierarchies, by +assigning a brace list to \code{\$TEXMF}. +For example, in \file{texmf.cnf}, the following definition +(approximately; there are actually even more trees) is made: +\begin{verbatim} + TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN} +\end{verbatim} +Using this you can then write something like +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +which means that, after looking in the current directory, the +\code{\$TEXMFHOME/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$TEXMFVAR/tex} +and \code{\$TEXMFMAIN/tex} trees \emph{only}) will be searched (the +last two use using \file{ls-R} data base files). It is a convenient +way for running two parallel \TeX{} structures, one ``frozen'' (on a +\CD, for instance) and the other being continuously updated with new +versions as they become available. By using the \code{\$TEXMF} +variable in all definitions, one is sure to always search the +up-to-date tree first. + +\subsubsection{Subdirectory expansion} +\label{sec:subdirectory-expansion} + +Two or more consecutive slashes in a path element following a directory +\var{d} is replaced by all subdirectories of \var{d}: first those +subdirectories directly under \var{d}, then the subsubdirectories under +those, and so on. At each level, the order in which the directories are +searched is \emph{unspecified}. + +If you specify any filename components after the \samp{//}, only +subdirectories with matching components are included. For example, +\samp{/a//b} expands into directories \file{/a/1/b}, \file{/a/2/b}, +\file{/a/1/1/b}, and so on, but not \file{/a/b/c} or \file{/a/1}. + +Multiple \samp{//} constructs in a path are possible, but +\samp{//} at the beginning of a path is ignored. + +\subsubsection{List of special characters and their meaning: a summary} + +The following list summarizes the special characters in \KPS{} +configuration files. + +% need a wider space for the item labels here. +\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} +\begin{ttdescription} +\item[\CODE{:}] Separator in path specification; at the beginning or + the end of a path it substitutes the default path expansion.\par +\item[\CODE{;}] Separator on non-Unix systems (acts like \code{:}). +\item[\CODE{\$}] Variable expansion. +\item[\CODE{\string~}] Represents the user's home directory. +\item[\CODE{\char`\{...\char`\}}] Brace expansion. +\item[\CODE{//}] Subdirectory expansion (can occur anywhere in + a path, except at its beginning). +\item[\CODE{\%}] Start of comment. +\item[\CODE{\bs}] Continuation character (allows multi-line entries). +\item[\CODE{!!}] Search \emph{only} database to locate file, \emph{do + not} search the disk. +\end{ttdescription} + + +\subsection{Filename databases} +\label{sec:filename-database} + +\KPS{} goes to some lengths to minimize disk accesses for searches. +Nevertheless, at installations with enough directories, searching each +possible directory for a given file can take an excessively long time +(this is especially true if many hundreds of font directories have to +be traversed.) Therefore, \KPS{} can use an externally-built plain text +``database'' file named \file{ls-R} that maps files to directories, +thus avoiding the need to exhaustively search the disk. + +A second database file \file{aliases} allows you to give additional +names to the files listed in \file{ls-R}. This can be helpful to +confirm to \acro{DOS} 8.3 filename conventions in source files. + +\subsubsection{The filename database} +\label{sec:ls-R} + +As explained above, the name of the main filename database must be +\file{ls-R}. You can put one at the root of each \TeX{} hierarchy in +your installation that you wish to be searched (\code{\$TEXMF} by +default). \KPS{} looks for +\file{ls-R} files along the \code{TEXMFDBS} path. + +The recommended way to create and maintain \samp{ls-R} is to run the +\code{mktexlsr} script included with the distribution. It is invoked +by the various \samp{mktex}\dots\ scripts. In principle, this script +just runs the command +\begin{alltt} +cd \var{/your/texmf/root} && \path|\|ls -1LAR ./ >ls-R +\end{alltt} +presuming your system's \code{ls} produces the right output format +(\GNU \code{ls} is all right). To ensure that the database is +always up-to-date, it is easiest to rebuild it regularly via +\code{cron}, so that it is automatically updated when the installed +files change, such as after installing or updating a \LaTeX{} package. + +If a file is not found in the database, by default \KPS{} goes ahead +and searches the disk. If a particular path element begins with +\samp{!!}, however, \emph{only} the database will be searched for that +element, never the disk. + + +\subsubsection{kpsewhich: Standalone path searching} +\label{sec:invoking-kpsewhich} + +The \texttt{kpsewhich} program exercises path searching independent of any +particular application. This can be useful as a sort of \code{find} +program to locate files in \TeX{} hierarchies (this is used heavily in +the distributed \samp{mktex}\dots\ scripts). + +\begin{alltt} +> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} +\end{alltt} +The options specified in \ttvar{option} start with either \samp{-} +or \samp{-{}-}, and any unambiguous abbreviation is accepted. + +\KPS{} looks up each non-option argument on the command line as a +filename, and returns the first file found. There is no option to +return all the files with a particular name (you can run the Unix +\samp{find} utility for that). + +The most common options are described next. + +\begin{ttdescription} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{} + Set the resolution to \ttvar{num}; this only affects \samp{gf} + and \samp{pk} lookups. \samp{-D} is a synonym, for compatibility + with \cmdname{dvips}. Default is 600. + +\item[\texttt{-{}-format=\var{name}}]\mbox{}\\ + Set the format for lookup to \ttvar{name}. By default, the + format is guessed from the filename. For formats which do not have + an associated unambiguous suffix, such as \MP{} support files and + \cmdname{dvips} configuration files, you have to specify the name as + known to \KPS{}, such as \texttt{tex} or \texttt{enc files}. Run + \texttt{kpsewhich -{}-help} for a list. + +\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ + Set the mode name to \ttvar{string}; this only affects \samp{gf} + and \samp{pk} lookups. No default: any mode will be found. +\item[\texttt{-{}-must-exist}]\mbox{}\\ + Do everything possible to find the files, notably including + searching the disk. By default, only the \file{ls-R} database is + checked, in the interest of efficiency. +\item[\texttt{-{}-path=\var{string}}]\mbox{}\\ + Search along the path \ttvar{string} (colon-separated as usual), + instead of guessing the search path from the filename. \samp{//} and + all the usual expansions are supported. The options \samp{-{}-path} + and \samp{-{}-format} are mutually exclusive. +\item[\texttt{-{}-progname=\var{name}}]\mbox{}\\ + Set the program name to \texttt{\var{name}}. + This can affect the search paths via the \texttt{.\var{progname}} + feature. + The default is \cmdname{kpsewhich}. +\item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\ + shows the path used for file lookups of file type \texttt{\var{name}}. + Either a filename extension (\code{.pk}, \code{.vf}, etc.) or a + name can be used, just as with \samp{-{}-format} option. +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + sets the debugging options to \texttt{\var{num}}. +\end{ttdescription} + + +\subsubsection{Examples of use} +\label{sec:examples-of-use} + +Let us now have a look at \KPS{} in action. Here's a straightforward search: + +\begin{alltt} +> \Ucom{kpsewhich article.cls} + /usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} +We are looking for the file \file{article.cls}. Since the \samp{.cls} +suffix is unambiguous we do not need to specify that we want to look for a +file of type \optname{tex} (\TeX{} source file directories). We find it in +the subdirectory \file{tex/latex/base} below the \samp{texmf-dist} \TL\ +directory. Similarly, all of the following are found without problems +thanks to their unambiguous suffix. +\begin{alltt} +> \Ucom{kpsewhich array.sty} + /usr/local/texmf-dist/tex/latex/tools/array.sty +> \Ucom{kpsewhich latin1.def} + /usr/local/texmf-dist/tex/latex/base/latin1.def +> \Ucom{kpsewhich size10.clo} + /usr/local/texmf-dist/tex/latex/base/size10.clo +> \Ucom{kpsewhich small2e.tex} + /usr/local/texmf-dist/tex/latex/base/small2e.tex +> \Ucom{kpsewhich tugboat.bib} + /usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib +\end{alltt} + +By the way, that last is a \BibTeX{} bibliography database for +\textsl{TUGboat} articles. + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} +Font bitmap glyph files of type \file{.pk} are used by display +programs like \cmdname{dvips} and \cmdname{xdvi}. Nothing is returned in +this case since there are no pre-generated Computer Modern \samp{.pk} +files in \TL{}\Dash the Type~1 variants are used by default. +\begin{alltt} +> \Ucom{kpsewhich wsuipa10.pk} +\ifSingleColumn /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk +\else /usr/local/texmf-var/fonts/pk/ljfour/public/ +... wsuipa/wsuipa10.600pk +\fi\end{alltt} +For these fonts (a phonetic alphabet from the University of Washington) +we had to generate \samp{.pk} files, and since the default \MF{} mode on +our installation is \texttt{ljfour} with a base resolution of 600\dpi{} +(dots per inch), this instantiation is returned. +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} +In this case, when specifying that we are interested in a resolution +of 300\dpi{} (\texttt{-dpi=300}) we see that no such font is available on +the system. A program like \cmdname{dvips} or \cmdname{xdvi} would +go off and actually build the required \texttt{.pk} files +using the script \cmdname{mktexpk}. + +Next we turn our attention to \cmdname{dvips}'s header and configuration +files. We first look at one of the commonly used files, the general +prologue \file{tex.pro} for \TeX{} support, before turning our attention +to the generic configuration file (\file{config.ps}) and the \PS{} font +map \file{psfonts.map}\Dash as of 2004, map and encoding files have +their own search paths and new location in \dirname{texmf} trees. As +the \samp{.ps} suffix is ambiguous we have to specify explicitly which +type we are considering (\optname{dvips config}) for the file +\texttt{config.ps}. +\begin{alltt} +> \Ucom{kpsewhich tex.pro} + /usr/local/texmf/dvips/base/tex.pro +> \Ucom{kpsewhich --format="dvips config" config.ps} + /usr/local/texmf/dvips/config/config.ps +> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map +\end{alltt} + +We now take a closer look at the \acro{URW} Times \PS{} support +files. The prefix for these in the standard font naming scheme is +\samp{utm}. The first file we look at is the configuration file, +which contains the name of the map file: +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" config.utm} + /usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} +The contents of that file is +\begin{alltt} + p +utm.map +\end{alltt} +which points to the file \file{utm.map}, which we want to +locate next. +\begin{alltt} +> \Ucom{kpsewhich utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} +This map file defines the file names of the Type~1 \PS{} fonts in +the URW collection. Its contents look like (we only show part of the +lines): +\begin{alltt} +utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb +utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb +utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb +utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} +Let us, for instance, take the Times Roman instance +\file{utmr8a.pfb} and find its position in the \file{texmf} directory +tree with a search for Type~1 font files: +\begin{alltt} +> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +\else /usr/local/texmf-dist/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + +It should be evident from these examples how you can easily locate the +whereabouts of a given file. This is especially important if you suspect +that the wrong version of a file is picked up somehow, since +\cmdname{kpsewhich} will show you the first file encountered. + +\subsubsection{Debugging actions} +\label{sec:debugging} + +Sometimes it is necessary to investigate how a program resolves file +references. To make this practical, \KPS{} offers various levels of +debugging output: + +\begin{ttdescription} +\item[\texttt{\ 1}] \texttt{stat} calls (disk lookups). When running + with an up-to-date \file{ls-R} database this should almost give no + output. +\item[\texttt{\ 2}] References to hash tables (such as \file{ls-R} + databases, map files, configuration files). +\item[\texttt{\ 4}] File open and close operations. +\item[\texttt{\ 8}] General path information for file types + searched by \KPS. This is useful to find out where a particular + path for the file was defined. +\item[\texttt{16}] Directory list for each path element (only relevant + for searches on disk). +\item[\texttt{32}] File searches. +\item[\texttt{64}] Variable values. +\end{ttdescription} +A value of \texttt{-1} will set all the above options; in practice, +this is usually the most convenient. + +Similarly, with the \cmdname{dvips} program, by setting a combination of +debug switches, one can follow in detail where files are being picked up +from. Alternatively, when a file is not found, the debug trace shows in +which directories the program looks for the given file, so that one can +get an indication what the problem~is. + +Generally speaking, as most programs call the \KPS{} library +internally, one can select a debug option by using the +\envname{KPATHSEA\_DEBUG} environment variable, and setting it to (a +combination of) values as described in the above list. + +(Note for Windows users: it is not easy to redirect +all messages to a file in this system. For diagnostic purposes +you can temporarily \texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log}). + +Let us consider, as an example, a small \LaTeX{} source file, +\file{hello-world.tex}, which contains the following input. +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +This little file only uses the font \file{cmr10}, so let us look at +how \cmdname{dvips} prepares the \PS{} file (we want to use the Type~1 +version of the Computer Modern fonts, hence the option \texttt{-Pcms}). +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +In this case we have combined \cmdname{dvips}'s debug class 4 (font +paths) with \KPS's path element expansion (see \cmdname{dvips} Reference +Manual, \OnCD{texmf/doc/dvips/dvips.pdf}). +The output (slightly rearranged) appears in +Figure~\ref{fig:dvipsdbga}. +\begin{figure*}[tp] +\centering +\input{examples/ex6a.tex} +\caption{Finding configuration files}\label{fig:dvipsdbga} + +\bigskip + +\input{examples/ex6b.tex} +\caption{Finding the prolog file}\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{Finding the font file}\label{fig:dvipsdbgc} +\end{figure*} + +\cmdname{dvips} starts by locating its working files. First, +\file{texmf.cnf} is found, which gives the definitions of the search +paths for the other files, then the file database \file{ls-R} (to +optimize file searching) and the file \file{aliases}, which makes it +possible to declare several names (e.g., a short \acro{DOS}-like 8.3 and +a more natural longer version) for the same file. Then \cmdname{dvips} +goes on to find the generic configuration file \file{config.ps} +before looking for the customization file \file{.dvipsrc} (which, in +this case is \emph{not found}). Finally, \cmdname{dvips} locates the +config file for the Computer Modern \PS{} fonts \file{config.cms} +(this was initiated with the \texttt{-Pcms} option on the \cmdname{dvips} +command). This file contains the list of the map files which +define the relation between the \TeX{}, \PS{} and file system +names of the fonts. +\begin{alltt} +> \Ucom{more /usr/local/texmf/dvips/cms/config.cms} + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map +\end{alltt} +\cmdname{dvips} thus goes on to find all these files, plus the generic +map file \file{psfonts.map}, which is always loaded (it contains +declarations for commonly used \PS{} fonts; see the last part of +Section \ref{sec:examples-of-use} for more details about \PS{} map +file handling). + +At this point \cmdname{dvips} identifies itself to the user: +\begin{alltt} +This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) +\end{alltt} +\ifSingleColumn +Then it goes on to look for the prolog file \file{texc.pro}: +\begin{alltt}\small +kdebug:start search(file=texc.pro, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro +\end{alltt} +\else +Then it goes on to look for the prolog file \file{texc.pro} (see +Figure~\ref{fig:dvipsdbgb}). +\fi + +After having found the file in question, \cmdname{dvips} outputs +the date and time, and informs us that it will generate the +file \file{hello-world.ps}, then that it needs the font file +\file{cmr10}, and that the latter is declared as ``resident'' (no +bitmaps needed): +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} +Now the search is on for the file \file{cmr10.tfm}, which is found, +then a few more prolog files (not shown) are referenced, and finally +the Type~1 instance \file{cmr10.pfb} of the font is located and +included in the output file (see last line). +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{Runtime options} + +Another useful feature of \Webc{} is its possibility to control a number +of memory parameters (in particular, array sizes) via the runtime file +\file{texmf.cnf} read by \KPS{}. The memory settings can be found in +Part 3 of that file in the \TL{} distribution. The more important +are: + +\begin{ttdescription} +\item[\texttt{main\_memory}] + Total words of memory available, for + \TeX{}, \MF{} and \MP. You must make a new format file for each + different setting. For instance, you could generate a ``huge'' + version of \TeX{}, and call the format file \texttt{hugetex.fmt}. + Using the standard way of specifying the program name used by \KPS{}, + the particular value of the \texttt{main\_memory} variable will then + be read from \file{texmf.cnf}. +\item[\texttt{extra\_mem\_bot}] + Extra space for ``large'' \TeX{} data structures: + boxes, glue, breakpoints, etc. Especially useful if you use + \PiCTeX{}. +\item[\texttt{font\_mem\_size}] + Number of words for font information available for \TeX. This + is more or less the total size of all \acro{TFM} files read. +\item[\texttt{hash\_extra}] + Additional space for the hash table of control sequence names. + Only $\approx$10,000 control sequences can be stored in the main + hash table; if you have a large book with numerous cross-references, + this might not be enough. The default value of + \texttt{hash\_extra} is \texttt{50000}. +\end{ttdescription} + +\noindent Of course, this facility is no substitute for truly dynamic +arrays and memory allocation, but since these are extremely difficult to +implement in the present \TeX{} source, these runtime parameters provide +a practical compromise allowing some flexibility. + + +\begin{comment} +\section{Building on a new Unix platform} + +If you have a platform for which executables are not included, you will +need to compile \TeX{} and friends. This is not as hard as it +sounds. What you need is all in the directory \texttt{source} in the +distribution. + +\subsection{Prerequisites} + +You will need at least 100 megabytes of disk space to compile all of +\TeX{} and its support programs. You'll also need an \acro{ANSI} C +compiler, a \cmdname{make} utility, a lexical scanner, and a parser +generator. We recommend the \GNU version of these programs +(\cmdname{gcc}, \GNU \cmdname{make}, \cmdname{m4}, \cmdname{flex}, +\cmdname{bison}). You may be able to work with other C compilers and +\cmdname{make} programs, but you will need a good understanding of +building Unix programs to sort out problems. + +Also, the command \texttt{uname} must return a sensible value. + + +\subsection{Configuration} + +To begin, perform a normal installation of \TL{} to your disk (see +section~\ref{sec:install-disk} on +\p.\pageref{sec:install-disk}). You may wish to skip installing +all of the prebuilt binaries. + +Then, unpack the source from the compressed \texttt{tar} file in the +directory \dirname{source} to your disk and change directory to where +you placed it. + +Next, run \cmdname{configure} with a command line like this: +\begin{alltt} +> \Ucom{sh configure -prefix=/usr/local/TeX} +\end{alltt} + +The \optname{-prefix} directory is the one where you installed the +support tree; the directory layout will be as follows (where \$TEXDIR +stands for the directory you chose): + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/share/texmf} & main tree with fonts,\\ + & \qquad macros, etc\\ + \dirname{$TEXDIR/man} & Unix manual pages\\ + \dirname{$TEXDIR/info} & \GNU style Info manuals\\ + \dirname{$TEXDIR/bin/$PLATFORM} & binaries\\ +\end{tabular} +%$ + +If you want to leave out the \dirname{$PLATFORM} directory level, +i.e., put the binaries directly into \dirname{$TEXDIR/bin}, specify +the \verb|--disable-multiplatform| option to \cmdname{configure}. + +Have a look at the output of \verb|./configure --help| for more +options you can use. For example, you can skip building of \OMEGA{} and +\eTeX{}. + + +\subsection{Running \cmdname{make}} + +Make sure the shell variable or option \texttt{noclobber} is not set. +Then, run the main \cmdname{make} like this: +\begin{alltt} +> \Ucom{make world} +\end{alltt} +and relax\ldots + +Alternatively, you want to log all the output, as in: +\begin{alltt} +> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} + +Before you believe that everything went ok, please check the log file +for errors: \GNU \cmdname{make} always uses the string \samp{***} +whenever a command fails. Also, check if all the programs were built: + +\begin{alltt} +> \Ucom{cd \var{TEXDIR}/bin/\var{archname}} +> \Ucom{ls | wc} +\end{alltt} +The result should be over 200 (you can check the exact number with the +\dirname{bin} directory contents in the distribution). + +If you need special privileges for \texttt{make install}, you can +separate the \samp{make world} into two different runs, like this: +\begin{alltt} +> \Ucom{make all} +> \Ucom{su} +> \Ucom{make install strip} +\end{alltt} + +After you've installed your new binaries, you should follow the normal +post-installation procedures, given in section~\ref{sec:postinstall} +(\p.\pageref{sec:postinstall}). + +Also, if you'd like to make your binaries available to others, please +contact us. We'll be happy to put them on the \TL\ web pages. +\end{comment} + +\htmlanchor{ack} +\section{Acknowledgements} + +\TL{} is a joint effort by virtually all of the \TeX{} user groups. +This edition of \TL{} was overseen by Karl Berry. The other principal +contributors, past and present, are listed below. + +\begin{itemize*} + +\item The English, German, Dutch, and Polish \TeX{} user groups +(\acro{TUG}, \acro{DANTE} e.V., \acro{NTG}, and \acro{GUST}, +respectively), which provide the necessary technical and administrative +infrastructure. Please join the \TeX\ user group near you! (See +\url{http://tug.org/usergroups.html}.) + +\item The \acro{CTAN} team, notably Robin Fairbairns, Jim Hef{}feron, +and Rainer Sch\"opf, which distributes the \TL{} images and provides the +common infrastructure for package updates, upon which \TL{} depends. + +\item Nelson Beebe, for making many platforms available to \TL\ +developers, and his own comprehensive testing. + +\item John Bowman, for making many changes to his advanced graphics +program Asymptote to make it work in \TL. + +\item Peter Breitenlohner and the \eTeX\ team for the stable foundation +of future \TeX's, and Peter specifically for stellar help with \GNU\ +autotools usage throughout \TL. + +\item Jin-Hwan Cho and all of the DVIPDFM$x$ team, for their +excellent driver and responsiveness to configuration issues. + +\item Thomas Esser, without whose marvelous \teTeX{} package \TL{} +would have never existed. + +\item Michel Goossens, who co-authored the original documentation. + +\item Eitan Gurari, whose \TeX4ht was used to create the \HTML{} +version of this documentation, and who worked tirelessly to improve +it at short notice. Eitan prematurely passed away in June 2009, and we +dedicate this documentation to his memory. + +\item Hans Hagen, for much testing and making his \ConTeXt\ format +(\url{http://pragma-ade.com}) work within \TL's framework. + +\item \Thanh, Martin Schr\"oder, and the pdf\TeX\ team +(\url{http://pdftex.org}) for continuing enhancements of \TeX's +abilities. + +\item Hartmut Henkel, for significant development contributions to +pdf\TeX\, Lua\TeX, and more. + +\item Taco Hoekwater, for major renewed development efforts on MetaPost and +(Lua)\TeX\ (\url{http://luatex.org}) itself, incorporating +\ConTeXt\ into \TL, giving Kpathsea multi-threaded functionality, and +much more. + +\item Pawe{\l} Jackowski, for the Windows installer \cmdname{tlpm}, +and Tomasz {\L}uczak, for \cmdname{tlpmgui}, used in past releases. + +\item Akira Kakuto, for providing the Windows +binaries from his \acro{W32TEX} distribution for Japanese \TeX\ +(\url{http://w32tex.org}), and many other development contributions. + +\item Jonathan Kew, for developing the remarkable \XeTeX{} engine and +taking the time and trouble to integrate it in \TL{}, as well as the +initial version of the Mac\TeX\ installer, and also for our recommended +front-end \TeX{}works. + +\item Dick Koch, for maintaining Mac\TeX\ (\url{http://tug.org/mactex}) +in very close tandem with \TL{}, and for his great good cheer in doing +so. + +\item Reinhard Kotucha, for major contributions to the \TL{} 2008 +infrastructure and installer, as well as Windows research efforts, the +\texttt{getnonfreefonts} script, and more. + +\item Siep Kroonenberg, also for major contributions to the \TL{} 2008 +infrastructure and installer, especially on Windows, and for the bulk of +work updating this manual describing those features. + +\item Heiko Oberdiek, for the \pkgname{epstopdf} package and many +others, compressing the huge \pkgname{pst-geo} data files so we could +include them, and most of all, for his remarkable work on +\pkgname{hyperref}. + +\item Petr Ol\v{s}ak, who coordinated and checked all the Czech and Slovak +material very carefully. + +\item Toshio Oshima, for his \cmdname{dviout} previewer for Windows. + +\item Manuel P\'egouri\'e-Gonnard, for helping with package updates, +documentation improvements, and \cmdname{texdoc} development. + +\item Fabrice Popineau, for the original Windows support in \TL{} and +work on the French documentation. + +\item Norbert Preining, the principal architect of the \TL{} 2008 +infrastructure and installer, and also for coordinating the Debian +version of \TL{} (together with Frank K\"uster), making many suggestions +along the way. + +\item Sebastian Rahtz, for originally creating \TL{} and maintaining it +for many years. + +\item Phil Taylor, for setting up the BitTorrent downloads. + +\item Tomasz Trzeciak, for wide-ranging help with Windows. + +\item Vladimir Volovich, for substantial help with porting and other +maintenance issues, and especially for making it feasible to include +\cmdname{xindy}. + +\item Staszek Wawrykiewicz, the principal tester for all of \TL{}, +and coordinator of the many major Polish contributions: fonts, Windows +installation, and more. + +\item Olaf Weber, for his patient maintenance of \Webc. + +\item Gerben Wierda, for creating and maintaining the original \MacOSX\ +support, and much integration and testing. + +\item Graham Williams, on whose work the \TeX\ Catalogue of packages depends. + +\end{itemize*} + +Builders of the binaries: +Peter Breitenlohner (\pkgname{x86\_64-linux}), +%Tim Arnold (\pkgname{hppa-hpux}), +%Randy Au (\pkgname{amd64-freebsd}), +%Edd Barrett (\pkgname{i386-openbsd}), +Karl Berry (\pkgname{i386-linux}, \pkgname{sparc-linux}), +Ken Brown (\pkgname{i386-cygwin}), +Akira Kakuto (\pkgname{win32}), +Dick Koch (\pkgname{universal-darwin}), +%Manfred Lotz (\pkgname{i386-freebsd}), +Norbert Preining (\pkgname{alpha-linux}), +%Arthur Reutenauer (\pkgname{sparc-linux}), +Jukka Salmi (\pkgname{i386-netbsd}), +Thomas Schmitz (\pkgname{powerpc-linux}), +Apostolos Syropoulos (\pkgname{i386-solaris}), +Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-solaris}), +Olaf Weber (\pkgname{mips-irix}). +For information on the \TL{} build process, see +\url{http://tug.org/texlive/build.html}. + +Current documentation translators: +Jjgod Jiang, Jinsong Zhao, Yue Wang, \& Helin Gai (Chinese), +Klaus H\"oppner (German), +Manuel P\'egouri\'e-Gonnard (French), +Petr Sojka \& Jan Busa (Czech\slash Slovak), +Boris Veytsman (Russian), +Staszek Wawrykiewicz (Polish). The \TL{} documentation web page +is \url{http://tug.org/texlive/doc.html}. + +Of course the most important acknowledgement must go to Donald Knuth, +first for inventing \TeX, and then for giving it to the world. + + + +\section{Release history} +\label{sec:history} + +\subsection{Past} + +Discussion began in late 1993 when the Dutch \TeX{} Users Group was +starting work on its 4All\TeX{} \CD{} for \acro{MS-DOS} users, and it +was hoped at that time to issue a single, rational, \CD{} for all +systems. This was too ambitious a target for the time, but it did spawn +not only the very successful 4All\TeX{} \CD{}, but also the \acro{TUG} +Technical Council working group on a \emph{\TeX{} Directory Structure} +(\url{http://tug.org/tds}), which specified how to create consistent and +manageable collections of \TeX{} support files. A complete draft of the +\TDS{} was published in the December 1995 issue of \textsl{TUGboat}, and +it was clear from an early stage that one desirable product would be a +model structure on \CD{}. The distribution you now have is a very direct +result of the working group's deliberations. It was also clear that the +success of the 4All\TeX{} \CD{} showed that Unix users would benefit +from a similarly easy system, and this is the other main strand of +\TL. + +We first undertook to make a new Unix-based \TDS{} \CD{} in the autumn +of 1995, and quickly identified Thomas Esser's \teTeX{} as the ideal +setup, as it already had multi-platform support and was built with +portability across file systems in mind. Thomas agreed to help, and work +began seriously at the start of 1996. The first edition was released in +May 1996. At the start of 1997, Karl Berry completed a major new release +of Web2c, which included nearly all the features which Thomas Esser had +added in \teTeX, and we decided to base the 2nd edition of the \CD{} on +the standard \Webc, with the addition of \teTeX's \texttt{texconfig} +script. The 3rd edition of the \CD{} was based on a major revision of +\Webc, 7.2, by Olaf Weber; at the same time, a new revision of \teTeX +was being made, and \TL{} included almost all of its features. The +4th edition followed the same pattern, using a new version of \teTeX, +and a new release of \Webc{} (7.3). The system now included a complete +Windows setup. + +For the 5th edition (March 2000) many parts of the \CD{} were revised +and checked, updating hundreds of packages. Package details were stored +in XML files. But the major change for \TeX\ Live 5 was that all +non-free software was removed. Everything in \TL{} is now intended +to be compatible with the Debian Free Software Guidelines +(\url{http://www.debian.org/intro/free}); we have done our best to check +the license conditions of all packages, but we would very much +appreciate hearing of any mistakes. + +The 6th edition (July 2001) had much more material updated. The major +change was a new install concept: the user could select a more exact set +of needed collections. Language-related collections were completely +reorganized, so selecting any of them installs not only macros, fonts, +etc., but also prepares an appropriate \texttt{language.dat}. + +The 7th edition of 2002 had the notable addition of \MacOSX{} support, +and the usual myriad of updates to all sorts of packages and +programs. An important goal was integration of the source back with +\teTeX, to correct the drift apart in versions~5 and~6. + +\subsubsection{2003} + +In 2003, with the continuing flood of updates and additions, we found +that \TL{} had grown so large it could no longer be contained on a +single \CD, so we split it into three different distributions (see +section~\ref{sec:tl-coll-dists}, \p.\pageref{sec:tl-coll-dists}). In +addition: + +\begin{itemize*} +\item At the request of the \LaTeX{} team, we changed the standard + \cmdname{latex} and \cmdname{pdflatex} commands to now use \eTeX{} (see + \p.\pageref{text:etex}). +\item The new Latin Modern fonts were included (and are recommended). +\item Support for Alpha \acro{OSF} was removed + (\acro{HPUX} support was removed previously), since no one had (or + volunteered) hardware available on which to compile new binaries. +\item Windows setup was substantially changed; for the first time + an integrated environment based on XEmacs was introduced. +\item Important supplementary programs for Windows + (Perl, Ghost\-script, Image\-Magick, Ispell) are now installed + in the \TL{} installation directory. +\item Font map files used by \cmdname{dvips}, \cmdname{dvipdfm} + and \cmdname{pdftex} are now generated by the new program + \cmdname{updmap} and installed into \dirname{texmf/fonts/map}. +\item \TeX{}, \MF{}, and \MP{} now, by default, output most input + characters (32 and above) as themselves in output (e.g., + \verb|\write|) files, + log files, and the terminal, i.e., \emph{not} translated using the + \verb|^^| notation. In \TL{}~7, this translation was + dependent on the system locale settings; now, locale settings do + not influence the \TeX{} programs' behavior. If for some reason + you need the \verb|^^| output, rename the file + \verb|texmf/web2c/cp8bit.tcx|. (Future releases will have cleaner + ways to control this.) +\item This documentation was substantially revised. +\item Finally, since the edition numbers had grown unwieldy, + the version is now simply identified by the year: \TL{} 2003. +\end{itemize*} + + +\subsubsection{2004} + +2004 saw many changes: + +\begin{itemize} + +\item If you have locally-installed fonts which use their own +\filename{.map} or (much less likely) \filename{.enc} support files, you +may need to move those support files. + +\filename{.map} files are now searched for in subdirectories of +\dirname{fonts/map} only (in each \filename{texmf} tree), along the +\envname{TEXFONTMAPS} path. Similarly, \filename{.enc} files are now +searched for in subdirectories of \dirname{fonts/enc} only, along the +\envname{ENCFONTS} path. \cmdname{updmap} will attempt to warn about +problematic files. + +For methods of handling this and other information, please see +\url{http://tug.org/texlive/mapenc.html}. + +\item The \TK\ has been expanded with the addition of a \MIKTEX-based +installable \CD, for those who prefer that implementation to Web2C. +See section~\ref{sec:overview-tl} (\p.\pageref{sec:overview-tl}). + +\item Within \TL, the single large \dirname{texmf} tree of previous +releases has been replaced by three: \dirname{texmf}, +\dirname{texmf-dist}, and \dirname{texmf-doc}. See +section~\ref{sec:tld} (\p.\pageref{sec:tld}), and the \filename{README} +files for each. + +\item All \TeX-related input files are now collected in +the \dirname{tex} subdirectory of \dirname{texmf*} trees, rather than +having separate sibling directories \dirname{tex}, \dirname{etex}, +\dirname{pdftex}, \dirname{pdfetex}, etc. See +\CDref{texmf-dist/doc/generic/tds/tds.html\#Extensions} +{\texttt{texmf-dist/doc/generic/tds/tds.html\#Extensions}}. + +\item Helper scripts (not meant to be invoked by users) are now located +in a new \dirname{scripts} subdirectory of \dirname{texmf*} trees, and +can be searched for via \verb|kpsewhich -format=texmfscripts|. So if you have +programs which call such scripts, they'll need to be adjusted. See +\CDref{texmf-dist/doc/generic/tds/tds.html\#Scripts} +{\texttt{texmf-dist/doc/generic/tds/tds.html\#Scripts}}. + +\item Almost all formats leave most characters printable as +themselves via the ``translation file'' \filename{cp227.tcx}, instead of +translating them with the \verb|^^| notation. Specifically, characters +at positions 32--256, plus tab, vertical tab, and form feed are +considered printable and not translated. The exceptions are plain \TeX\ +(only 32--126 printable), \ConTeXt\ (0--255 printable), and the +\OMEGA-related formats. This default behavior is almost the same as in +\TL\,2003, but it's implemented more cleanly, with more possibilities +for customization. See \CDref{texmf/doc/web2c/web2c.html\#TCX-files} +{\texttt{texmf/doc/web2c/web2c.html\#TCX-files}}. +(By the way, with Unicode input, \TeX\ may output partial character +sequences when showing error contexts, since it is byte-oriented.) + +\item \textsf{pdfetex} is now the default engine for all formats +except (plain) \textsf{tex} itself. (Of course it generates \acro{DVI} +when run as \textsf{latex}, etc.) This means, among other things, that +the microtypographic features of \textsf{pdftex} are available in +\LaTeX, \ConTeXt, etc., as well as the \eTeX\ features +(\OnCD{texmf-dist/doc/etex/base/}). + +It also means it's \emph{more important than ever} to use the +\pkgname{ifpdf} package (works with both plain and \LaTeX) or equivalent +code, because simply testing whether \cs{pdfoutput} or some other +primitive is defined is not a reliable way to determine if \acro{PDF} +output is being generated. We made this backward compatible as best we +could this year, but next year, \cs{pdfoutput} may be defined even when +\acro{DVI} is being written. + +\item pdf\TeX\ (\url{http://pdftex.org}) has many new features: + + \begin{itemize*} + + \item \cs{pdfmapfile} and \cs{pdfmapline} provide font map support + from within a document. + + \item Microtypographic font expansion can be used more easily.\\ + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} + + \item All parameters previously set through the special configuration + file \filename{pdftex.cfg} must now be set through primitives, + typically in \filename{pdftexconfig.tex}; \filename{pdftex.cfg} is no + longer supported. Any extant \filename{.fmt} files must be redumped + when \filename{pdftexconfig.tex} is changed. + + \item See the pdf\TeX\ manual for more: \OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf}. + + \end{itemize*} + +\item The \cs{input} primitive in \cmdname{tex} (and \cmdname{mf} and +\cmdname{mpost}) now accepts double quotes containing spaces and other +special characters. Typical examples: +\begin{verbatim} +\input "filename with spaces" % plain +\input{"filename with spaces"} % latex +\end{verbatim} +See the Web2C manual for more: \OnCD{texmf/doc/web2c}. + +\item enc\TeX\ support is now included within Web2C and consequently all +\TeX\ programs, via the \optname{-enc} option\Dash \emph{only when +formats are built}. enc\TeX\ supports general re-encoding of input and +output, enabling full support of Unicode (in \acro{UTF}-8). See +\OnCD{texmf-dist/doc/generic/enctex/} and +\url{http://www.olsak.net/enctex.html}. + +\item Aleph, a new engine combining \eTeX\ and \OMEGA, is available. +A little information is available in \OnCD{texmf-dist/doc/aleph/base} +and \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph}. The +\LaTeX-based format for Aleph is named \textsf{lamed}. + +\item The latest \LaTeX\ release has a new version of the +\acro{LPPL}\Dash now officially a Debian-approved license. Assorted +other updates, see the \filename{ltnews} files in +\OnCD{texmf-dist/doc/latex/base}. + +\item \cmdname{dvipng}, a new program for converting \acro{DVI} to +\acro{PNG} image files, is included. See \OnCD{texmf/doc/man/man1/dvipng.1}. + +\item We reduced the \pkgname{cbgreek} package to a ``medium'' sized set +of fonts, with the assent and advice of the author (Claudio Beccari). +The excised fonts are the invisible, outline, and transparency ones, +which are relatively rarely used, and we needed the space. The full set +is of course available from \acro{CTAN} +(\url{http://www.ctan.org/tex-archive/fonts/greek/cb}). + +\item \cmdname{oxdvi} has been removed; just use \cmdname{xdvi}. + +\item The \cmdname{ini} and \cmdname{vir} commands (links) for +\cmdname{tex}, \cmdname{mf}, and \cmdname{mpost} are no longer created, +such as \cmdname{initex}. The \cmdname{ini} functionality has been +available through the command-line option \optname{-ini} for years now. + +\item \textsf{i386-openbsd} platform support was removed. Since the +\pkgname{tetex} package in the \acro{BSD} Ports system is available, and +\acro{GNU/}Linux and Free\acro{BSD} binaries were available, it seemed +volunteer time could be better spent elsewhere. + +\item On \textsf{sparc-solaris} (at least), you may have to set the +\envname{LD\_LIBRARY\_PATH} environment variable to run the +\pkgname{t1utils} programs. This is because they are compiled with C++, +and there is no standard location for the runtime libraries. (This is +not new in 2004, but wasn't previously documented.) Similarly, on +\textsf{mips-irix}, the \acro{MIPS}pro 7.4 runtimes are required. + +\end{itemize} + +\subsubsection{2005} + +2005 saw the usual huge number of updates to packages and programs. +The infrastructure stayed relatively stable from 2004, but inevitably +there were some changes there as well: + +\begin{itemize} + +\item New scripts \cmdname{texconfig-sys}, \cmdname{updmap-sys}, and + \cmdname{fmtutil-sys} were introduced, which modify the + configuration in the system trees. The \cmdname{texconfig}, + \cmdname{updmap}, and \cmdname{fmtutil} scripts now modify + user-specific files, under \dirname{$HOME/.texlive2005}. + +\item Corresponding new variables \envname{TEXMFCONFIG} and + \envname{TEXMFSYSCONFIG} to specify the trees where configuration + files (user or system, respectively) are found. Thus, you may + need to move personal versions of \filename{fmtutil.cnf} and + \filename{updmap.cfg} to these places; another option is to + redefine \envname{TEXMFCONFIG} or \envname{TEXMFSYSCONFIG} in + \filename{texmf.cnf}. In any case the real location of these files + and the values of \envname{TEXMFCONFIG} and \envname{TEXMFSYSCONFIG} + must agree. + See section~\ref{sec:texmftrees}, \p.\pageref{sec:texmftrees}. + +\item Last year, we kept \verb|\pdfoutput| and other primitives undefined + for \dvi\ output, even though the \cmdname{pdfetex} program was + being used. This year, as promised, we undid that compatibility + measure. So if your document uses \verb|\ifx\pdfoutput\undefined| + to test if PDF is being output, it will need to be changed. You + can use the package \pkgname{ifpdf.sty} (which works under both + plain \TeX\ and \LaTeX) to do this, or steal its logic. + +\item Last year, we changed most formats to output (8-bit) characters as + themselves (see previous section). The new TCX file + \filename{empty.tcx} now provides an easier way to get the + original \verb|^^| notation if you so desire, as in: +\begin{verbatim} +latex --translate-file=empty.tcx yourfile.tex +\end{verbatim} + +\item The new program \cmdname{dvipdfmx} is included for translation of + DVI to PDF; this is an actively maintained update of + \cmdname{dvipdfm} (which is also still available for now, though + no longer recommended). + +\item The new programs \cmdname{pdfopen} and \cmdname{pdfclose} are included + to allow reloading of pdf files in the Adobe Acrobat Reader without + restarting the program. (Other pdf readers, notably \cmdname{xpdf}, + \cmdname{gv}, and \cmdname{gsview}, have never suffered from this + problem.) + +\item For consistency, the variables \envname{HOMETEXMF} and + \envname{VARTEXMF} have been renamed to \envname{TEXMFHOME} and + \envname{TEXMFSYSVAR}, respectively. There is also + \envname{TEXMFVAR}, which is by default user-specific. See the + first point above. + +\end{itemize} + + +\subsubsection{2006--2007} + +In 2006--2007, the major new addition to \TL{} was the \XeTeX{} program, +available as the \texttt{xetex} and \texttt{xelatex} programs; see +\url{http://scripts.sil.org/xetex}. + +MetaPost also received a notable update, with more planned for the +future (\url{http://tug.org/metapost/articles}), likewise pdf\TeX{} +(\url{http://tug.org/applications/pdftex}). + +The \TeX\ \filename{.fmt} (high-speed format) and the similar files for +MetaPost and \MF\ are now stored in subdirectories of \dirname{texmf/web2c}, +instead of in the directory itself (although the directory is still +searched, for the sake of existing \filename{.fmt}'s). The +subdirectories are named for the `engine' in use, such as \filename{tex} +or \filename{pdftex} or \filename{xetex}. This change should be +invisible in normal use. + +The (plain) \texttt{tex} program no longer reads \texttt{\%\&} first +lines to determine what format to run; it is the pure Knuthian \TeX. +(\LaTeX\ and everything else do still read \texttt{\%\&} lines). + +Of course the year also saw (the usual) hundreds of other updates to +packages and programs. As usual, please check \acro{CTAN} +(\url{http://www.ctan.org}) for updates. + +Internally, the source tree is now stored in Subversion, with a standard +web interface for viewing the tree, as linked from our home page. +Although not visible in the final distribution, we expect this will +provide a stable development foundation for future years. + +Finally, in May 2006 Thomas Esser announced that he would no longer be +updating te\TeX{} (\url{http://tug.org/tetex}). As a result, there was +been a surge of interest in \TL{}, especially among \GNU/Linux +distributors. (There is a new \texttt{tetex} installation scheme in +\TL{}, which provides an approximate equivalent.) We hope this will +eventually translate to improvements in the \TeX\ environment for +everyone. + +\subsubsection{2008} + +In 2008, the entire \TL{} infrastructure was redesigned and +reimplemented. Complete information about an installation is now stored +in a plain text file \filename{tlpkg/texlive.tlpdb}. + +Among other things, this finally makes possible upgrading a \TL{} +installation over the Internet after the initial installation, a feature +MiK\TeX\ has provided for many years. We expect to regularly update new +packages as they are released to \CTAN. + +The major new engine Lua\TeX\ (\url{http://luatex.org}) is included; +besides a new level of flexibility in typesetting, this provides an +excellent scripting language for use both inside and outside of \TeX\ +documents. + +Support among Windows and the Unix-based platforms is now much more +uniform. In particular, most Perl and Lua scripts are now available on +Windows, using the Perl internally distributed with \TL. + +The new \cmdname{tlmgr} script (section~\ref{sec:tlmgr}) is the +general interface for managing \TL{} after the initial installation. +It handles package updates and consequent regeneration of formats, map +files, and language files, optionally including local additions. + +With the advent of \cmdname{tlmgr}, the \cmdname{texconfig} actions to +edit the format and hyphenation configuration files are now disabled. + +The \cmdname{xindy} indexing program +(\url{http://xindy.sourceforge.net/}) is now included on most platforms. + +The \cmdname{kpsewhich} tool can now report all matches for a given file +(option \optname{--all}) and limit matches to a given subdirectory +(option \optname{--subdir}). + +The \cmdname{dvipdfmx} program now includes functionality to extract +bounding box information, via the command name \cmdname{extractbb}; this +was one of the last features provided by \cmdname{dvipdfm} not in +\cmdname{dvipdfmx}. + +The font aliases \filename{Times-Roman}, \filename{Helvetica}, and so on +have been removed. Different packages expected them to behave +differently (in particular, to have different encodings), and there was +no good way to resolve this. + +The \pkgname{platex} format has been removed, to resolve a name conflict +with a completely different Japanese \pkgname{platex}; the +\pkgname{polski} package is now the main Polish support. + +Internally, the \web\ string pool files are now compiled into the +binaries, to ease upgrades. + +Finally, the changes made by Donald Knuth in his `\TeX\ tuneup of 2008' +are included in this release. See +\url{http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}. + + +% +\htmlanchor{news} +\subsection{Present} +\label{sec:tlcurrent} +\label{sec:2009news} % keep with 2009 + +\begin{comment} % last-minute disablement +In 2009, the most visible change is that pdf\AllTeX\ now +\emph{automatically} converts a requested Encapsulated PostScript (EPS) +file to PDF, via the \pkgname{epstopdf} package, when and if the \LaTeX\ +\code{graphics.cfg} configuration file is loaded, and PDF is being +output. The default options are intended to eliminate any chance of +hand-created PDF files being overwritten, but you can also prevent +\code{epstopdf} from being loaded at all by putting +|\newcommand{\DoNotLoadEpstopdf}{}| (or |\def...|) before the +\cs{documentclass} declaration. For details, see the epstopdf package +documentation (\url{http://ctan.org/pkg/epstopdf-pkg}). + +A related important change is that execution of a few external commands, +via the \cs{write18} feature, is now enabled by default\Dash for +example, \code{epstopdf}, \code{makeindex}, and \code{bibtex}. The +exact list of commands is defined in the \code{texmf.cnf} file. +Environments which must disallow all such external commands can deselect +this option in the installer (see section~\ref{sec:options}), or +override the value in \code{texmf.cnf} after installation. +\end{comment} + +In 2009, the default output format for Lua\AllTeX\ is now PDF, to take +advantage of Lua\TeX's OpenType support, et al. New executables named +\code{dviluatex} and \code{dvilualatex} run Lua\TeX\ with DVI output. +The Lua\TeX\ home page is \url{http://luatex.org}. + +The original Omega engine and Lambda format have been excised, after +discussions with the Omega authors. The updated Aleph and Lamed remain, +as do the Omega utilities. + +A new release of the AMS \TypeI\ fonts is included, including Computer +Modern: a few shape changes made over the years by Knuth in the Metafont +sources have been integrated, and the hinting has been updated. The +Euler fonts have been thoroughly reshaped by Hermann Zapf (see +\url{http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf}). In +all cases, the metrics remain unchanged. The AMS fonts home page is +\url{http://www.ams.org/tex/amsfonts.html}. + +The new GUI front end \TeX{}works is included for Windows, and also in +Mac\TeX. For other platforms, and more information, see the \TeX{}works +home page, \url{http://tug.org/texworks}. It is a cross-platform front +end inspired by the \MacOSX\ TeXShop editor, aiming at ease-of-use. + +The graphics program Asymptote is included for several platforms. This +implements a text-based graphics description language vaguely akin to +MetaPost, but with advanced 3D support and other features. Its home +page is \url{http://asymptote.sourceforge.net}. + +The separate \code{dvipdfm} program has been replaced by +\code{dvipdfmx}, which operates in a special compatibility mode under +that name. \code{dvipdfmx} includes \acro{CJK} support and has +accumulated many other fixes over the years since the last +\code{dvipdfm} release. The DVIPDFMx home page is +\url{http://project.ktug.or.kr/dvipdfmx}. + +Executables for the \pkgname{cygwin} and \pkgname{i386-netbsd} platforms +are now included, while the other BSD distributions have been dropped; +we were advised that OpenBSD and FreeBSD users get \TeX\ through their +package systems, plus there were difficulties in making binaries that +have a chance of working on more than one version. + +A miscellany of smaller changes: we now use \pkgname{xz} compression, +the stable replacement for \pkgname{lzma} +(\url{http://tukaani.org/xz/}); a literal |$| is allowed in filenames +when it does not introduce a known variable name; the Kpathsea library +is now multi-threaded (made use of in MetaPost); the entire \TL{} build +is now based on Automake. + +Final note on the past: all releases of \TL{}, along with ancillary +material such as \CD\ labels, are available at +\url{ftp://tug.org/historic/systems/texlive}. + + +\subsection{Future} + +\emph{\TL{} is not perfect!} (And never will be.) We intend to +continue to release new versions, and would like to provide more help +material, more utilities, more installation programs, and (of course) an +ever-improved and better-checked tree of macros and fonts. This work is +all done by hard-pressed volunteers in their limited spare time, and a +great deal remains to be done. Please see +\url{http://tug.org/texlive/contribute.html}. + +Please send corrections, suggestions, and offers of help to: +\begin{quote} +\email{tex-live@tug.org} \\ +\url{http://tug.org/texlive} +\end{quote} + +\medskip +\noindent \textsl{Happy \TeX ing!} + +\end{document} diff --git a/Master/texmf-dist/doc/texlive/texlive-en/archive/live-2010.tex b/Master/texmf-dist/doc/texlive/texlive-en/archive/live-2010.tex new file mode 100644 index 00000000000..1853db75ea7 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/archive/live-2010.tex @@ -0,0 +1,3143 @@ +% $Id: texlive-en.tex 19386 2010-07-11 23:38:12Z karl $ +% TeX Live documentation. Originally written by Sebastian Rahtz and +% Michel Goossens, now maintained by Karl Berry and others. +% Public domain. +% +\documentclass{article} +\let\tldocenglish=1 % for live4ht.cfg +\usepackage{tex-live} +\usepackage[latin1]{inputenc} % translators: use your preferred encodings. +\usepackage[T1]{fontenc} + +\begin{document} + +\title{% + {\huge \textit{The \TeX\ Live Guide}\\\smallskip}% + {\LARGE \textsf{\TL{} 2010}}% +} + +\author{Karl Berry, editor \\[3mm] + \url{http://tug.org/texlive/} + } + +\date{July 2010} + +\maketitle + +\begin{multicols}{2} +\tableofcontents +%\listoftables +\end{multicols} + +\section{Introduction} +\label{sec:intro} + +\subsection{\TeX\ Live and the \TeX\ Collection} + +This document describes the main features of the \TL{} software +distribution\Dash \TeX{} and related programs for \GNU/Linux +and other Unix flavors, \MacOSX, and Windows systems. + +You may have acquired \TL{} by downloading, or on the \TK{} \DVD, which +\TeX{} user groups distribute among their members, or in other ways. +Section \ref{sec:tl-coll-dists} briefly describes the contents of the +\DVD. Both \TL{} and the \TK{} are cooperative efforts by the \TeX{} +user groups. This document mainly describes \TL{} itself. + +\TL{} includes executables for \TeX{}, \LaTeXe{}, \ConTeXt, +\MF, \MP, \BibTeX{} and many other programs; an extensive collection +of macros, fonts and documentation; and support for typesetting in +many different scripts from around the world. + +For a brief summary of the major changes in this edition of \TL{}, +see the end of the document, section~\ref{sec:history} +(\p.\pageref{sec:history}). + +\subsection{Operating system support} +\label{sec:os-support} + +\TL{} contains binaries for many Unix-based platforms, including +\GNU/Linux, \MacOSX, and Cygwin. The included sources can be compiled +on platforms for which we do not provide binaries. + +As to Windows: only Windows 2000 and later are +supported. Windows~9\textit{x}, \acro{ME} and \acro{NT} have been +dropped. Because of this change, Windows requires much less special +treatment compared to the Unix systems. There are no special 64-bit +executables for Windows, but the 32-bit executables should run on 64-bit +systems. + +See section~\ref{sec:tl-coll-dists} for alternate solutions +for Windows and \MacOSX. + +\subsection{Basic installation of \protect\TL{}} +\label{sec:basic} + +You can install \TL{} either from \DVD{} or over the Internet +(\url{http://tug.org/texlive/acquire.html}). The net installer itself is +small, and downloads everything requested from the Internet. + +The \DVD{} installer lets you install to a local disk. You cannot run +\TL{} directly from the \TK{} \DVD{} (or a \DVD{} image), but you can +prepare a runnable installation on, e.g., a \acro{USB} stick (see +section~\ref{sec:portable-tl}). Installation is described in later +sections (\p.\pageref{sec:install}), but here is a quick start: + +\begin{itemize*} + +\item The installation script is named \filename{install-tl}. It can + operate in a ``wizard mode'' given the option \code{-gui=wizard} + (default for Windows), a text mode given \code{-gui=text} (default for + everything else), and an expert \GUI{} mode given \code{-gui=perltk}. + +\item One of the installed items is the `\TL\ Manager' program, + named \prog{tlmgr}. Like the installer, it can be used in both \GUI{} + mode and in text mode. You can use it to install and uninstall + packages and do various configuration tasks. + +\end{itemize*} + + +\htmlanchor{security} +\subsection{Security considerations} +\label{sec:security} + +To the best of our knowledge, the core \TeX\ programs themselves are +(and always have been) extremely robust. However, the contributed +programs in \TeX\ Live may not reach the same level, despite everyone's +best efforts. As always, you should be careful when running programs on +untrusted input; for maximum safety, use a new subdirectory. + +This need for care is especially urgent on Windows, since in general +Windows finds programs in the current directory before anything else, +regardless of the search path. This opens up a wide variety of possible +attacks. We have closed many holes, but undoubtedly some remain, +especially with third-party programs. Thus, we recommend checking for +suspicious files in the current directory, especially executables +(binaries or scripts). Ordinarily they should not be present, and +definitely should not normally be created by merely processing a document. + +Finally, \TeX\ (and its companion programs) are able to write files when +processing documents, a feature that can also be abused in a wide +variety of ways. Again, processing unknown documents in a new +subdirectory is the safest bet. + + +\subsection{Getting help} +\label{sec:help} + +The \TeX{} community is active and friendly, and most serious questions +end up getting answered. However, the support is informal, done by +volunteers and casual readers, so it's especially important that you do +your homework before asking. (If you prefer guaranteed commercial +support, you can forgo \TL{} completely and purchase a vendor's system; +\url{http://tug.org/interest.html#vendors} has a list.) + +Here is a list of resources, approximately in the order we recommend +using them: + +\begin{description} +\item [Getting Started] If you are new to \TeX, the web page +\url{http://tug.org/begin.html} gives a brief introduction to the system. + +\item [\TeX{} \acro{FAQ}] The \TeX{} \acro{FAQ} is a huge compendium + of answers to all sorts of questions, from the most basic to the + most arcane. It is included on \TL{} in + \OnCD{texmf-dist/doc/generic/FAQ-en/html/index.html}, and is available + on the Internet through \url{http://www.tex.ac.uk/faq}. Please + check here first. + +\item [\TeX{} Catalogue] If you are looking for a specific package, +font, program, etc., the \TeX{} Catalogue is the place to look. It is a +huge collection of all \TeX{}-related items. See +\url{http://www.ctan.org/help/Catalogue/}. + +\item [\TeX{} Web Resources] The web page +\url{http://tug.org/interest.html} has many \TeX{}-related links, in +particular for numerous books, manuals, and articles on all aspects of +the system. + +\item [support archives] The two principal support forums are the +Usenet newsgroup \url{news:comp.text.tex} and the mailing list +\email{texhax@tug.org}. Their archives have years of past +questions and answers for your searching pleasure, via +\url{http://groups.google.com/group/comp.text.tex/topics} and +\url{http://tug.org/mail-archives/texhax}, respectively. And a general web +search, for example on \url{http://google.com}, never hurts. + +\item [asking questions] If you cannot find an answer, you can post to +\dirname{comp.text.tex} through Google or your newsreader, or to +\email{texhax@tug.org} through email. But before you post, +\emph{please} read this \acro{FAQ} entry, to maximize +your chances of getting a useful answer: +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. + +\item [\TL{} support] If you want to report a bug or have +suggestions or comments on the \TL{} distribution, installation, or +documentation, the mailing list is \email{tex-live@tug.org}. However, +if your question is about how to use a particular program included in +\TL{}, please write to that program's maintainer or +mailing list. Often running a program with the \code{-{}-help} option +will provide a bug reporting address. + +\end{description} + +The other side of the coin is helping others who have questions. Both +\dirname{comp.text.tex} and \code{texhax} are open to anyone, so feel +free to join, start reading, and help out where you can. + + +% don't use \TL so the \uppercase in the headline works. Also so +% tex4ht ends up with the right TeX. Likewise the \protect's. +\section{Overview of \protect\TeX\protect\ Live} +\label{sec:overview-tl} + +This section describes the contents of \TL{} and the \TK{} of which it +is a part. + +\subsection{The \protect\TeX\protect\ Collection: \TL, pro\TeX{}t, Mac\TeX} +\label{sec:tl-coll-dists} + +The \TK{} \DVD{} comprises the following: + +\begin{description} + +\item [\TL] A complete \TeX{} system to be installed to disk. Its home +page is \url{http://tug.org/texlive/}. + +\item [Mac\TeX] for \MacOSX, this adds a native \MacOSX\ installer and other +Mac applications to \TL{}. Its home page is +\url{http://tug.org/mactex/}. + +\item [pro\TeX{}t] An enhancement of the \MIKTEX\ distribution for Windows, +\ProTeXt\ adds a few extra tools to \MIKTEX, and simplifies +installation. It is entirely independent of \TL{}, and has its own +installation instructions. The \ProTeXt\ home page is +\url{http://tug.org/protext}. + +\item [CTAN] A snapshot of the \CTAN{} repository (\url{http://www.ctan.org}). + +\item [\texttt{texmf-extra}] A directory with assorted additional packages. + +\end{description} + +\CTAN{}, \pkgname{protext}, and \dirname{texmf-extra} do not +necessarily follow the same copying conditions as \TL{}, so be careful +when redistributing or modifying. + + +\subsection{Top level \TL{} directories} +\label{sec:tld} + +Here is a brief listing and description of the top level directories in a +\TL{} installation. + +\begin{ttdescription} +\item[bin] The \TeX{} system programs, arranged by platform. +% +\item[readme-*.dir] Quick overview and useful links for \TL{}, +in various languages, in both \HTML{} and plain text. +% +\item[source] The source to all included programs, including the main + \Webc{}-based \TeX{} distributions. +% +\item[texmf] See \dirname{TEXMFMAIN} below. +% +\item[texmf-dist] See \dirname{TEXMFDIST} below. +% +\item[tlpkg] Scripts, programs and data for managing the + installation, and special support for Windows. +\end{ttdescription} + +In addition to the directories above, the installation scripts and +\filename{README} files (in various languages) are at the top level of +the distribution. + +For documentation, the comprehensive links in the top-level file +\OnCD{doc.html} may be helpful. The documentation for the programs +(manuals, man pages, Info files) is in \dirname{texmf/doc}. The +documentation for \TeX\ packages and formats is in +\dirname{texmf-dist/doc}. You can use the \cmdname{texdoc} program to +find any documentation wherever it is located. + +This \TL\ documentation itself is in \dirname{texmf/doc/texlive}, +available in several languages: + +\begin{itemize*} +\item{Czech/Slovak:} \OnCD{texmf/doc/texlive/texlive-cz} +\item{German:} \OnCD{texmf/doc/texlive/texlive-de} +\item{English:} \OnCD{texmf/doc/texlive/texlive-en} +\item{French:} \OnCD{texmf/doc/texlive/texlive-fr} +\item{Italian:} \OnCD{texmf/doc/texlive/texlive-it} +\item{Polish:} \OnCD{texmf/doc/texlive/texlive-pl} +\item{Russian:} \OnCD{texmf/doc/texlive/texlive-ru} +\item{Serbian:} \OnCD{texmf/doc/texlive/texlive-sr} +\item{Simplified Chinese:} \OnCD{texmf/doc/texlive/texlive-zh-cn} +\end{itemize*} + +\subsection{Overview of the predefined texmf trees} +\label{sec:texmftrees} + +This section lists the predefined variables specifying the texmf trees +used by the system, and their intended purpose, and the default layout +of \TL{}. The command \texttt{tlmgr~conf} shows the values of these +variables, so that you can easily find out how they map to particular +directories in your installation. + +\begin{ttdescription} +\item [TEXMFMAIN] The tree which holds vital parts of the + system such as configuration files, helper scripts, and program + documentation. +\item [TEXMFDIST] The tree which holds the main set of macro packages, + fonts, etc. +\item [TEXMFLOCAL] The tree which administrators can use for system-wide + installation of additional or updated macros, fonts, etc. +\item [TEXMFHOME] The tree which users can use for their own individual + installations of additional or updated macros, fonts, etc. + The expansion of this variable dynamically adjusts for each user to + their own individual directory. +\item [TEXMFCONFIG] The (personal) tree used by the utilities + \verb+texconfig+, \verb+updmap+, and \verb+fmtutil+ to store modified + configuration data. +\item [TEXMFSYSCONFIG] The (site-wide) tree used by the utilities + \verb+texconfig-sys+, \verb+updmap-sys+, and \verb+fmtutil-sys+ to + store modified configuration data. +\item [TEXMFVAR] The (personal) tree used by \verb+texconfig+, + \verb+updmap+ and \verb+fmtutil+ to store (cached) runtime data such + as format files and generated map files. Also used by \ConTeXt\ Mk\acro{IV}. +\item [TEXMFSYSVAR] The (site-wide) tree used by \verb+texconfig-sys+, + \verb+updmap-sys+ and \verb+fmtutil-sys+, and also by \verb+tlmgr+, to + store (cached) runtime data such as format files and generated map files. +\end{ttdescription} + +\noindent +The default layout is: +\begin{description} + \item[system-wide root] can span multiple \TL{} releases: + \begin{ttdescription} + \item[2009] A previous release. + \item[2010] The current release. + \begin{ttdescription} + \item [bin] ~ + \begin{ttdescription} + \item [i386-linux] \GNU/Linux binaries + \item [...] + \item [universal-darwin] \MacOSX\ binaries + \item [win32] Windows binaries + \end{ttdescription} + \item [texmf\ \ \ \ \ \ \ ] This is \envname{TEXMFMAIN}. + \item [texmf-dist\ \ ] \envname{TEXMFDIST} + \item [texmf-var \ \ ] \envname{TEXMFSYSVAR} + \item [texmf-config] \envname{TEXMFSYSCONFIG} + \end{ttdescription} + \item [texmf-local] \envname{TEXMFLOCAL}, intended to be + retained from release to release. + \end{ttdescription} + \item[user's home] (\texttt{\$HOME} or + \texttt{\%USERPROFILE\%}) + \begin{ttdescription} + \item[.texlive2009] Privately generated and configuration data + for a previous release. + \item[.texlive2010] Privately generated and configuration data + for the current release. + \begin{ttdescription} + \item [texmf-var\ \ \ ] \envname{TEXMFVAR} + \item [texmf-config] \envname{TEXMFCONFIG} + \end{ttdescription} + \item[texmf] \envname{TEXMFHOME} Personal macros, etc. + \end{ttdescription} +\end{description} + + +\subsection{Extensions to \protect\TeX} +\label{sec:tex-extensions} + +Knuth's original \TeX{} itself is frozen, apart from rare bug fixes. It +is still present in \TL\ as the program \prog{tex}, and will remain so +for the foreseeable future. \TL{} contains several extended versions of +\TeX: + +\begin{description} + +\item [\eTeX] adds a set of new primitives +\label{text:etex} (related to macro expansion, character scanning, +classes of marks, additional debugging features, and more) and the +\TeXXeT{} extensions for bidirectional typesetting. In default mode, +\eTeX{} is 100\% compatible with ordinary \TeX. See +\OnCD{texmf-dist/doc/etex/base/etex_man.pdf}. + +\item [pdf\TeX] builds on the \eTeX\ extensions, adding support for +writing \acro{PDF} output as well as \dvi{}, and many non-output-related +extensions. This is the program invoked for most formats, e.g., +\prog{etex}, \prog{latex}, \prog{pdflatex}. Its web site is +\url{http://www.pdftex.org/}. See +\OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf} for the manual, and +\OnCD{texmf-dist/doc/pdftex/manual/samplepdf/samplepdf.tex} for example +usage of some of its features. + +\item [Lua\TeX] is the designated successor of pdf\TeX, +and is mostly (but not entirely) backward-compatible. It is also +intended to be a functional superset of Aleph (see below), though +technical compatibility is not intended. The incorporated Lua +interpreter (\url{http://www.lua.org/}) enables elegant solutions for +many thorny \TeX{} problems. When called as \filename{texlua}, it +functions as a standalone Lua interpreter, and is already used as such +within \TL. Its web site is \url{http://www.luatex.org/}, and the +reference manual is \OnCD{texmf-dist/doc/luatex/luatexref-t.pdf}. + +\item [\XeTeX] adds support for Unicode input and OpenType- and system +fonts, implemented using standard third-party libraries. See +\url{http://tug.org/xetex}. + +\item [\OMEGA\ (Omega)] is based on Unicode (16-bit characters), thus +supports working with almost all the world's scripts simultaneously. It +also supports so-called `\OMEGA{} Translation Processes' (\acro{OTP}s), +for performing complex transformations on arbitrary input. Omega is no +longer included in \TL{} as a separate program; only Aleph is provided: + +\item [Aleph] combines the \OMEGA\ and \eTeX\ extensions. +See \OnCD{texmf-dist/doc/aleph/base}. + +\end{description} + + +\subsection{Other notable programs in \protect\TL} + +Here are a few other commonly-used programs included in \TL{}: + +\begin{cmddescription} + +\item [bibtex, bibtex8] bibliography support. + +\item [makeindex, xindy] index support. + +\item [dvips] convert \dvi{} to \PS{}. + +\item [xdvi] \dvi{} previewer for the X Window System. + +\item [dvilj] \dvi{} drive for the HP LaserJet family. + +\item [dviconcat, dviselect] cut and paste pages +from \dvi{} files. + +\item [dvipdfmx] convert \dvi{} to \acro{PDF}, an alternative approach +to pdf\TeX\ (mentioned above). + +\item [psselect, psnup, \ldots] \PS{} utilities. + +\item [pdfjam, pdfjoin, \ldots] \acro{PDF} utilities. + +\item [texexec, texmfstart] Con\TeX{}t and \acro{PDF} processor. + +\item [tex4ht] \TeX{} to \acro{HTML} (and \acro{XML} and more) converter. + +\end{cmddescription} + + +\subsection{Fonts in \protect\TL} +\label{sec:tl-fonts} + +\TL{} comes with many high-quality scalable fonts. See +\url{http://tug.org/fonts} and +\OnCD{texmf-dist/doc/fonts/free-math-font-survey}. + + +\section{Installation} +\label{sec:install} + +\subsection{Starting the installer} +\label{sec:inst-start} + +To begin, get the \TK{} \DVD{} or download the \TL{} net installer, +and locate the installer script: \filename{install-tl} for Unix, +\filename{install-tl.bat} for Windows. + +\begin{description} +\item [Net installer:] Download from \CTAN, under +\dirname{systems/texlive/tlnet}; the url +\url{http://mirror.ctan.org/systems/texlive/tlnet} will automatically +redirect to a nearby, up-to-date, mirror. You can retrieve either +\filename{install-tl.zip} which can be used under Unix and Windows, or +the considerably smaller \filename{install-unx.tar.gz} for Unix +only. After unpacking, \filename{install-tl} and +\filename{install-tl.bat} will be in the \dirname{install-tl} +subdirectory. + +\item [\TeX{} Collection \DVD:] go to its \dirname{texlive} +subdirectory. Under Windows, the installer normally starts automatically +when you insert the \DVD. You can get the \DVD\ by becoming a member of +a \TeX\ user group (highly recommended, +\url{http://tug.org/usergroups.html}), or purchasing it separately +(\url{http://tug.org/store}), or burning your own from the \ISO\ +image. + +\end{description} + +See \url{http://tug.org/texlive/acquire.html} for more information and +other methods of getting the software. + +The following sections explain installer start-up in more detail. + +\subsubsection{Unix} + +\noindent +Below, \texttt{>} denotes the shell prompt; user input is +\Ucom{\texttt{bold}}. +The script \filename{install-tl} is a Perl script. The simplest way +to start it on a Unix-compatible system is as follows: +\begin{alltt} +> \Ucom{cd /path/to/installer} +> \Ucom{perl install-tl} +\end{alltt} +(Or you can invoke \Ucom{perl /path/to/installer/install-tl}, or +\Ucom{./install-tl} if it stayed executable, etc.; we won't repeat all +these variations.) You may have to enlarge your terminal window so +that it shows the full text installer screen (Figure~\ref{fig:text-main}). + +To install in expert \GUI\ mode (figure~\ref{fig:gui-main}), you'll +need the \dirname{Perl/TK} module compiled with \acro{XFT} support, +which is generally the case with \GNU/Linux, but not necessarily other +systems. Given that, you can run: +\begin{alltt} +> \Ucom{perl install-tl -gui} +\end{alltt} + +For a complete listing of the various options: +\begin{alltt} +> \Ucom{perl install-tl -help} +\end{alltt} + +\textbf{Warning about Unix permissions:} Your \code{umask} at the time +of installation will be respected by the \TL{} installer. Therefore, if +you want your installation to be usable by users other than you, make +sure your setting is sufficiently permissive, for instance, \code{umask +002}. For more information about \code{umask}, consult your system +documentation. + +\textbf{Special considerations for Cygwin:} Unlike other +Unix-compatible systems, Cygwin does not by default include all of the +prerequisite programs needed by the \TL{} installer. See +Section~\ref{sec:cygwin} for details. + + +\subsubsection{MacOSX} + +As mentioned in section~\ref{sec:tl-coll-dists}, a separate distribution +is prepared for \MacOSX, named Mac\TeX\ (\url{http://tug.org/mactex}). +We recommend using the native Mac\TeX\ installer instead of the \TL\ +installer on \MacOSX, because the native installer makes a few +Mac-specific adjustments, in particular to allow easily switching +between the various \TeX\ distributions for \MacOSX\ (Mac\TeX, Fink, +MacPorts, \ldots). + +Mac\TeX\ is firmly based on \TL, and the main \TeX\ trees are precisely +the same. It does add a few extra folders with Mac-specific +documentation and applications. + + +\subsubsection{Windows} + +If you are using the net installer, or the \DVD\ installer failed to +start automatically, double-click \filename{install-tl.bat}. +For more customization options, e.g., selection of specific package +collections, run \filename{install-tl-advanced.bat} instead. + +You can also start the installer from the command-prompt. Below, +\texttt{>} denotes the prompt; user input is \Ucom{\texttt{bold}}. If +you are in the installer directory, run just: +\begin{alltt} +> \Ucom{install-tl} +\end{alltt} + +Or you can invoke it with an absolute location, such as: +\begin{alltt} +> \Ucom{D:\bs{}texlive\bs{}install-tl} +\end{alltt} +for the \TK\ \DVD, supposing that \dirname{D:} is the optical +drive. Figure~\ref{fig:wizard-w32} displays the wizard installer, which +is the default for Windows. + +To install in text mode, use: +\begin{alltt} +> \Ucom{install-tl -no-gui} +\end{alltt} + +For a complete listing of the various options: +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} + +\begin{figure}[tb] +\begin{boxedverbatim} +Installing TeX Live 2010 from: ... +Platform: i386-linux => 'Intel x86 with GNU/Linux' +Distribution: inst (compressed) +... + Detected platform: Intel x86 with GNU/Linux + + <B> binary systems: 1 out of 19 + + <S> Installation scheme (scheme-full) + 84 collections out of 85, disk space required: 2256 MB + + Customizing installation scheme: + <C> standard collections + <L> language collections + + <D> directories: + TEXDIR (the main TeX directory): + /usr/local/texlive/2010 + ... + + <O> options: + [ ] use letter size instead of A4 by default + [X] allow execution of restricted list of programs via \write18 + ... + +Actions: + <I> start installation to hard disk + <H> help + <Q> quit +\end{boxedverbatim} +\caption{Main text installer screen (\GNU/Linux)}\label{fig:text-main} +\end{figure} + +\begin{figure}[tb] +\tlpng{install-lnx-main}{\linewidth,trim=10 4 0 20,clip} +\caption{Expert \GUI{} installer screen (\GNU/Linux)}\label{fig:gui-main} +\end{figure} + +\begin{figure}[tb] +\tlpng{wizard-w32}{\linewidth,trim=0 4 0 0,clip} +\caption{Wizard installer screen (Windows)}\label{fig:wizard-w32} +\end{figure} + + +\htmlanchor{cygwin} +\subsubsection{Cygwin} +\label{sec:cygwin} + +The \TL{} installer supports only Cygwin 1.7. +Before beginning the installation, use Cygwin's \filename{setup.exe} program to +install the \filename{perl} and \filename{wget} packages if you have +not already done so. The following additional packages are +recommended: +\begin{itemize*} +\item \filename{fontconfig} [needed by \XeTeX] +\item \filename{ghostscript} [needed by various utilities] +\item \filename{libXaw7} [needed by \code{xdvi}] +\item \filename{ncurses} [provides the \code{clear} command used by the installer] +\end{itemize*} + + +\subsubsection{The text installer} + +Figure~\ref{fig:text-main} displays the main text mode screen under +Unix. The text installer is the default on Unix. + +This is only a command-line installer; there is no cursor support at +all. For instance, you cannot tab around checkboxes or input fields. +You just type something (case-sensitive) at the prompt and press the +Enter key, and then the entire terminal screen will be rewritten, with +adjusted content. + +The text installer interface is this primitive for a reason: it +is designed to run on as many platforms as possible, even with a +very barebones Perl. + +\subsubsection{The expert graphical installer} + +Figure~\ref{fig:gui-main} displays the expert graphical installer under +\GNU/Linux. Other than using buttons and menus, this does +not differ much from the text installer. + +This mode can be invoked explicitly with +\begin{alltt} +> \Ucom{install-tl -gui=perltk} +\end{alltt} + + +\subsubsection{The simple wizard installer} + +Under Windows, the default is to run the simplest installation method we +could devise, called the ``wizard'' installer +(figure~\ref{fig:wizard-w32}). It installs everything and asks almost +no questions. If you want to customize your setup, you should run one +of the other installers. + +This mode can be invoked explicitly with +\begin{alltt} +> \Ucom{install-tl -gui=wizard} +\end{alltt} + + +\subsection{Running the installer} +\label{sec:runinstall} + +The installer is intended to be mostly self-explanatory, but following are a +few notes about the various options and submenus. + +\subsubsection{Binary systems menu (Unix only)} +\label{sec:binary} + +\begin{figure}[tb] +\begin{boxedverbatim} +Available sets of binaries: +=============================================================================== + a [ ] alpha-linux DEC Alpha with GNU/Linux + b [ ] amd64-freebsd x86_64 with FreeBSD + c [ ] amd64-kfreebsd x86_64 with GNU/FreeBSD + d [ ] i386-cygwin Intel x86 with Cygwin + e [ ] i386-freebsd Intel x86 with FreeBSD + f [ ] i386-kfreebsd Intel x86 with GNU/FreeBSD + g [X] i386-linux Intel x86 with GNU/Linux + h [ ] i386-netbsd Intel x86 with NetBSD + i [ ] i386-solaris Intel x86 with Solaris + j [ ] mips-irix SGI IRIX + k [ ] powerpc-aix PowerPC with AIX + l [ ] powerpc-linux PowerPC with GNU/Linux + m [ ] sparc-linux Sparc with GNU/Linux + o [ ] sparc-solaris Sparc with Solaris + p [ ] universal-darwin universal binaries for MacOSX/Darwin + s [ ] win32 Windows + t [ ] x86_64-darwin x86_64 with MacOSX/Darwin + u [ ] x86_64-linux x86_64 with GNU/Linux + v [ ] x86_64-solaris x86_64 with Solaris +\end{boxedverbatim} +\caption{Binaries menu}\label{fig:bin-text} +\end{figure} + +Figure~\ref{fig:bin-text} displays the text mode binaries menu. By +default, only the binaries for your current platform will be installed. +From this menu, you can select installation of binaries for other +platforms as well. This can be useful if you are sharing a \TeX\ +tree across a network of heterogenous machines, or for a dual-boot +system. + +\subsubsection{Selecting what is going to be installed} +\label{sec:components} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Select a scheme: +=============================================================================== + a [ ] basic scheme (plain and LaTeX) + b [ ] ConTeXt scheme + c [X] full scheme (everything) + d [ ] GUST TeX Live scheme + e [ ] medium scheme (plain, latex, recommended packages, some languages) + f [ ] minimal scheme (plain only) + g [ ] teTeX scheme (more than medium, but nowhere near full) + h [ ] XML scheme + i [ ] custom selection of collections +\end{boxedverbatim} +\caption{Scheme menu}\label{fig:scheme-text} +\end{figure} + +Figure~\ref{fig:scheme-text} displays the \TL\ scheme menu; from here, +you choose a ``scheme'', which is an overall set of package collections. +The default \optname{full} scheme installs everything available. This +is recommended, but you can also choose the \optname{basic} scheme for a +small system, \optname{minimal} for testing purposes, and +\optname{medium} or \optname{teTeX} to get something in between. There +are also various specialized and country-specific schemes. + +\begin{figure}[tb] +\tlpng{stdcoll}{.7\linewidth,trim=0 4 0 0,clip} +\caption{Collections menu}\label{fig:collections-gui} +\end{figure} + +You can refine your scheme selection with the `standard collections' and +`language collections' menus (figure~\ref{fig:collections-gui}, shown in +\GUI\ mode for a change). + +Collections are one level more detailed than schemes\Dash in essence, a +scheme consists of several collections, a collection consists of one or +more packages, and a package (the lowest level grouping in \TL) contains +the actual \TeX\ macro files, font files, and so on. + +If you want more control than the collection menus provide, you can use +the \TeX\ Live Manager (\prog{tlmgr}) program after installation (see +section~\ref{sec:tlmgr}); using that, you can control the installation +at the package level. + +\subsubsection{Directories} +\label{sec:directories} + +The default layout is described in section~\ref{sec:texmftrees}, +\p.\pageref{sec:texmftrees}. The default location of +\dirname{TEXDIR} is \dirname{/usr/local/texlive/2010} on Unix +and |%SystemDrive%\texlive\2010| on Windows. + +The main reason to change this default is if you lack write permission +for the default location. You don't have to be root or administrator to +install \TL, but you do need write access to the target directory. + +A reasonable alternative choice is a directory under your home directory, +especially if you will be the sole user. Use +`|~|' to indicate this, as in `|~/texlive/2010|'. + +We recommend including the year in the name, to enable keeping different +releases of \TL{} side by side. (You may wish to make a +version-independent name such as \dirname{/usr/local/texlive-cur} via a +symbolic link, which you can then update after testing the new release.) + +Changing \dirname{TEXDIR} in the installer will also change +\dirname{TEXMFLOCAL}, \dirname{TEXMFSYSVAR} and +\dirname{TEXMFSYSCONFIG}. + +\dirname{TEXMFHOME} is the recommended location for personal +macro files or packages. The default value is |~/texmf|. In +contrast to \dirname{TEXDIR}, here a |~| is preserved in the +newly-written configuration files, since it usefully refers to the home +directory of any individual running \TeX. It expands to +\dirname{$HOME} on Unix and \verb|%USERPROFILE%| on Windows. + +\dirname{TEXMFVAR} is the location for storing cached runtime data +specific to each user, including the \ConTeXt\ Mk\acro{IV} cache. + + +\subsubsection{Options} +\label{sec:options} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Current options setup: +=============================================================================== + <P> use letter size instead of A4 by default: [ ] + <E> execution of restricted list of programs: [X] + <F> create format files: [X] + <D> install font/macro doc tree: [X] + <S> install font/macro source tree: [X] + <L> create symlinks in standard directories: [ ] + binaries to: + manpages to: + info to: +\end{boxedverbatim} +\caption{Options menu (Unix)}\label{fig:options-text} +\end{figure} + +Figure~\ref{fig:options-text} shows the text mode options menu. +More info on each: + +\begin{description} +\item[use letter size instead of A4 by default:] The default paper + size selection. Of course, individual documents can and should + specify a specific paper size, if desired. + +\item[execution of restricted list of programs:] As of \TL\ 2010, + execution of a few external programs is allowed by default. The (very + short) list of allowed programs is given in the \filename{texmf.cnf}. + See the 2010 news (section~\ref{sec:2010news}) for more details. + +\item[create format files:] Although unnecessary format files + take time to generate and disk space to store, it is still recommended + to leave this option checked: if you don't, then format files will be + generated in people's private \dirname{TEXMFVAR} tree as they are + needed. In that location, they will not be updated automatically if + (say) binaries or hyphenation patterns are updated in the + installation, and thus could end up with incompatible format files. + +\item[install font/macro \ldots\ tree:] These options allow you to omit + downloading/installing the documentation and source files present in + most packages. Not recommended. + +\item[create symlinks in standard directories] (Unix only): + This option bypasses the need to change environment variables. Without + this option, \TL{} directories usually have to be added to + \envname{PATH}, \envname{MANPATH} and \envname{INFOPATH}. You will + need write permissions to the target directories. It is strongly + advised \emph{not} to overwrite a \TeX\ system that came with your + system with this option. It is intended primarily for accessing the + \TeX\ system through directories that are already known to users, such + as \dirname{/usr/local/bin}, which don't already contain any \TeX\ + files. +\end{description} + +When all the settings are to your liking, you can type `I' to start the +installation process. When it is done, skip to +section~\ref{sec:postinstall} to read what else needs to be done, if +anything. + +\subsection{Command-line install-tl options} +\label{sec:cmdline} + +Type +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} +for a listing of command-line options. Either |-| or |--| can be used +to introduce option names. These are the most common ones: + +\begin{ttdescription} +\item[-gui] If possible, use the \GUI{} installer. This requires the + Perl/Tk module (\url{http://tug.org/texlive/distro.html#perltk}) + compiled with \acro{XFT} support; if Perl/Tk is not available, + installation continues in text mode. + +\item[-no-gui] Force using the text mode installer, even under + Windows; you'll need this if you want a `from \DVD' installation, + since that is not available in \GUI{} mode. + +\item[-lang {\sl LL}] Specify the installer interface + language as its standard two-letter code \textsl{\acro{LL}}. Currently + supported languages: + \texttt{cs} (Czech), + \texttt{de} (German), + \texttt{en} (English, default) + \texttt{fr} (French), + \texttt{it} (Italian), + \texttt{ja} (Japanese), + \texttt{nl} (Dutch), + \texttt{pl} (Polish), + \texttt{ru} (Russian), + \texttt{sk} (Slovak), + \texttt{sl} (Slovenian), + \texttt{sr} (Serbian), + \texttt{vi} (Vietnamese), + \texttt{zh-cn} (Simplified Chinese), + \texttt{zh-tw} (Traditional Chinese). + The installer tries to automatically determine the right + language but if it fails, or if the right language is not + available, then it uses English as a fallback. + +\item[-portable] Install for portable use on a \acro{USB} stick + or \DVD. This option minimizes impact on the host system, making \TL{} + self-contained in a single directory. See also + section~\ref{sec:portable-tl} for more details on portable usage. + +\item[-profile {\sl file}] The installer always writes a file + \filename{texlive.profile} to the \dirname{tlpkg} subdirectory of your + installation. This option tells the installer to re-use such a + profile file, so you can install in batch mode on subsequent systems, + reproducing the choices you made in a prior installation. + +\item [-repository {\sl url-or-directory}] Specify package + repository from which to install; see following. +\end{ttdescription} + +\subsubsection{The \optname{-repository} option} +\label{sec:location} + +The default package repository is a \CTAN{} mirror chosen automatically +via \url{http://mirror.ctan.org}. + +If you want to override that, the location value can be a url starting +with \texttt{ftp:}, \texttt{http:}, or \texttt{file:/}, or a plain +directory path. (When giving an \texttt{http:}\ or \texttt{ftp:}\ +location, trailing `\texttt{/}' characters and/or a trailing +`\texttt{/tlpkg}' component are ignored.) + +For example, you could choose a particular \CTAN\ mirror with something +like: \url{http://ctan.example.org/tex-archive/systems/texlive/tlnet/}, +substituting a real hostname and its particular top-level \CTAN\ path +for |ctan.example.org/tex-archive|. The list of \CTAN\ mirrors is +maintained at \url{http://ctan.org/mirrors}. + +If the given argument is local (either a path or a \texttt{file:/} url), +compressed files in an \dirname{archive} subdirectory of the repository +path are used (even if uncompressed files are available as well). + + +\subsection{Post-install actions} +\label{sec:postinstall} + +Some post-install may be required. + +\subsubsection{Windows} + +But on Windows, the installer takes care of everything. + +\subsubsection{If symlinks were created} + +If you elected to create symlinks in standard directories (mentioned in +section~\ref{sec:options}), then there is no need to edit environment +variables. + +\subsubsection{Environment variables for Unix} +\label{sec:env} + +The directory of the binaries for your platform must be added to +the search path. Each supported platform has its own subdirectory +under \dirname{TEXDIR/bin}. See figure~\ref{fig:bin-text} for the +list of subdirectories and corresponding platforms. + +You can also add the documentation man and Info directories to their +respective search paths, if you want the system tools to find them. +The man pages might be found automatically after the addition to +\envname{PATH}. + +For Bourne-compatible shells such as \prog{bash}, and using Intel x86 +GNU/Linux and a default directory setup as an example, the file to edit +might be \filename{$HOME/.profile} (or another file sourced by +\filename{.profile}, and the lines to add would look like this: + +\begin{sverbatim} +PATH=/usr/local/texlive/2010/bin/i386-linux:$PATH; export PATH +MANPATH=/usr/local/texlive/2010/texmf/doc/man:$MANPATH; export MANPATH +INFOPATH=/usr/local/texlive/2010/texmf/doc/info:$INFOPATH; export INFOPATH +\end{sverbatim} + +For csh or tcsh, the file to edit is typically \filename{$HOME/.cshrc}, and +the lines to add might look like: + +\begin{sverbatim} +setenv PATH /usr/local/texlive/2010/bin/i386-linux:$PATH +setenv MANPATH /usr/local/texlive/2010/texmf/doc/man:$MANPATH +setenv INFOPATH /usr/local/texlive/2010/texmf/doc/info:$INFOPATH +\end{sverbatim} + +If you already have settings somewhere in your ``dot'' files, naturally +the \TL\ directories should simply be merged in as appropriate. + +\subsubsection{Environment variables: global configuration} +\label{sec:envglobal} + +If you want to make these changes globally, or for a user newly added to +the system, then you are on your own; there is just too much variation +between systems in how and where these things are configured. + +Our two hints are: 1)~you may want to check for a file +\filename{/etc/manpath.config} and, if present, add lines such as + +\begin{sverbatim} +MANPATH_MAP /usr/local/texlive/2010/bin/i386-linux \ + /usr/local/texlive/2010/texmf/doc/man +\end{sverbatim} + +And 2)~check for a file \filename{/etc/environment} which may define the +search path and other default environment variables. + +In each (Unix) binary directory, we also create a symbolic link named +\code{man} to the directory \dirname{texmf/doc/man}. Some \code{man} +programs, such as the standard \MacOSX\ \code{man}, will automatically +find that, obviating the need for any man page setup. + + +\htmlanchor{xetexfontconfig} +\subsubsection{Font configuration for \XeTeX} +\label{sec:font-conf-xetex} + +If you have installed the \filename{xetex} package on a Unix-compatible +system, you need to configure your system if you want \XeTeX\ to be able +to find the fonts shipped with \TL. To facilitate this, when the +\pkgname{xetex} package is installed (either at initial installation or +later), the necessary configuration file is created in +\filename{TEXMFSYSVAR/fonts/conf/texlive-fontconfig.conf}. + +To set up the \TL{} fonts for system-wide use (assuming you have +suitable privileges), proceed as follows: +\begin{enumerate*} +\item Copy the \filename{texlive-fontconfig.conf} file to +\dirname{/etc/fonts/conf.d/09-texlive.conf}. +\item Run \Ucom{fc-cache -fsv}. +\end{enumerate*} + +If you do not have sufficient privileges to carry out the steps above, +you can instead do the following to make the \TL{} fonts available +to you as an individual \XeTeX{} user: +\begin{enumerate*} +\item Copy the \filename{texlive-fontconfig.conf} file to + \filename{~/.fonts.conf}, where \filename{~} is your home directory. +\item Run \Ucom{fc-cache -fv}. +\end{enumerate*} + + +\subsubsection{\ConTeXt{} Mark IV} +\label{sec:context-mkiv} + +The `old' \ConTeXt{} (Mark \acro{II}) should run out of the box after +\TL{} installation. The `new' Lua\TeX-based \ConTeXt{} Mark \acro{IV} +requires manual setup. After installation, each Mk\acro{IV} user must +run: +\begin{sverbatim} +luatools --generate +context --make +\end{sverbatim} +The resulting files are stored under \code{TEXMFVAR}. + +For more information, see +\url{http://wiki.contextgarden.net/Running_Mark_IV} and +\url{http://wiki.contextgarden.net/TeX_Live_2010}. + + +\subsubsection{Integrating local and personal macros} +\label{sec:local-personal-macros} + +This is already mentioned implicitly in section~\ref{sec:texmftrees}: +\dirname{TEXMFLOCAL} (by default, +\dirname{/usr/local/texlive/texmf-local} or +\verb|%SystemDrive%\texlive\texmf-local|) +is intended for system-wide local fonts and macros; and +\dirname{TEXMFHOME} (by default, \dirname{$HOME/texmf} or +\verb|%USERPROFILE%\texmf|), is for personal fonts and macros. These +directories are intended to stick around from release to release, and +have their content seen automatically by a new \TL{} release. +Therefore, it is best to refrain from changing the definition of +\dirname{TEXMFLOCAL} to be too far away from the main \TL{} directory, +or you will need to manually change future releases. + +For both trees, files should be placed in their proper subdirectories; +see \url{http://tug.org/tds} or consult +\filename{texmf/web2c/texmf.cnf}. For instance, a \LaTeX{} class file or +package should be placed in \dirname{TEXMFLOCAL/tex/latex} or +\dirname{TEXMFHOME/tex/latex}, or a subdirectory thereof. + +\dirname{TEXMFLOCAL} requires an up-to-date filename database, or files +will not be found. You can update it with the command +\cmdname{mktexlsr} or use the `Reinit file database' button on the +configuration tab of the \TeX\ Live Manager \GUI. + +\subsubsection{Integrating third-party fonts} + +This is unfortunately a messy topic. Forget about it unless you want to +delve into many details of the \TeX{} installation. Don't forget to +check first what you get for free: see section~\ref{sec:tl-fonts}. + +A possible alternative is to use \XeTeX\ or Lua\TeX\ (see +section~\ref{sec:tex-extensions}), which let you use operating system +fonts without any installation in \TeX. + +If you do need to do this, see +\url{http://tug.org/fonts/fontinstall.html} for our best effort at +describing the procedure. + + +\subsubsection{Increasing maximum memory on Windows and Cygwin} +\label{sec:cygwin-maxmem} + +Windows and Cygwin (see section~\ref{sec:cygwin} for Cygwin installation +specifics) users may find that they run out of memory when running some +of the programs shipped with \TL. For example, \prog{asy} might run out +of memory if you try to allocate an array of 25,000,000 reals, and +Lua\TeX\ might run out of memory if you try to process a document with a +lot of big fonts. + +For Cygwin, you can increase the amount of available memory by following +the instructions in the Cygwin User's Guide +(\url{http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html}). + +For Windows, you have to create a file, say \code{moremem.reg}, with +these four lines: + +\begin{sverbatim} +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\Software\Cygwin] +"heap_chunk_in_mb"=dword:ffffff00 +\end{sverbatim} + +\noindent and then execute the command \code{regedit /s moremem.reg} as +administrator. (If you want to change memory only for the current user +instead of system-wide, use \code{HKEY\_CURRENT\_USER}.) + + +\subsection{Testing the installation} +\label{sec:test-install} + +After installing \TL{} as best you can, you naturally want to test +it out, so you can start creating beautiful documents and\slash or fonts. + +This section gives some basic procedures for testing that the new system +is functional. We give Unix commands here; under \MacOSX{} and Windows, +you're more likely to run the tests through a graphical interface, but +the principles are the same. + +\begin{enumerate} + +\item Make sure that you can run the \cmdname{tex} program in the first +place: +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.1415926 (TeX Live 2010) +kpathsea version 6.0.0 +Copyright 2010 D.E. Knuth. +... +\end{alltt} +If this comes back with `command not found' instead of version and +copyright information, or with an older version, most likely you don't +have the correct \dirname{bin} subdirectory in your \envname{PATH}. See +the environment-setting information on \p.\pageref{sec:env}. + +\item Process a basic \LaTeX{} file: +\begin{alltt} +> \Ucom{latex sample2e.tex} +pdfTeX 3.1415926-1.40.11-2.2 (TeX Live 2010) +... +Output written on sample2e.dvi (3 pages, 7484 bytes). +Transcript written on sample2e.log. +\end{alltt} +If this fails to find \filename{sample2e.tex} or other files, most +likely you have interference from old environment variables or +configuration files; we recommend unsetting all \TeX-related environment +variables for a start. (For a deep analysis, you can ask \TeX{} to +report on exactly what it is searching for, and finding; see ``Debugging +actions'' on page~\pageref{sec:debugging}.) + +\item Preview the result online: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} # Unix +> \Ucom{dviout sample2e.dvi} # Windows +\end{alltt} +You should see a new window with a nice document explaining some of the +basics of \LaTeX{}. (Well worth reading, by the way, if you're new to +\TeX.) You do have to be running under X for \cmdname{xdvi} to work; if +you're not, or your \envname{DISPLAY} environment variable is set +incorrectly, you'll get an error \samp{Can't open display}. + +\item Create a \PS{} file for printing or display: +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item Create a \acro{PDF} file instead of \dvi{}; this processes the +\filename{.tex} file and writes \acro{PDF} directly: +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item Preview the \acro{PDF} file: +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{or:} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} +Neither \cmdname{gv} nor \cmdname{xpdf} are included in \TL{}, so you +must install them separately. See \url{http://www.gnu.org/software/gv} +and \url{http://www.foolabs.com/xpdf}, respectively. There are plenty +of other \acro{PDF} viewers, too. For Windows, we recommend trying +Sumatra PDF (\url{http://blog.kowalczyk.info/software/sumatrapdf}). + +\item Standard test files you may find useful in addition to +\filename{sample2e.tex}: + +\begin{ttdescription} +\item [small2e.tex] A simpler document than \filename{sample2e}, to +reduce the input size if you're having troubles. +\item [testpage.tex] Test if your printer introduces any offsets. +\item [nfssfont.tex] For printing font tables and tests. +\item [testfont.tex] Also for font tables, but using plain \TeX{}. +\item [story.tex] The most canonical (plain) \TeX{} test file of all. +You must type \samp{\bs bye} to the \code{*} prompt after \samp{tex +story.tex}. +\end{ttdescription} + +\item If you have installed the \filename{xetex} package, you can test +its access to system fonts as follows: +\begin{alltt} +> \Ucom{xetex opentype-info.tex} +This is XeTeX, Version 3.1415926\dots +... +Output written on opentype-info.pdf (1 page). +Transcript written on opentype-info.log. +\end{alltt} +If you get an error message saying ``Invalid fontname `Latin Modern +Roman/ICU'\dots'', then you need to configure your system so that +\XeTeX{} can find the fonts shipped with \TL. See +Section~\ref{sec:font-conf-xetex}. + +\end{enumerate} + +\subsection{Links for additional downloadable software} + +If you are new to \TeX{}, or otherwise need help with actually writing +\TeX{} or \LaTeX{} documents, please visit +\url{http://tug.org/begin.html} for some introductory resources. + +Links for some other tools you may consider installing: +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.perl.org/} with + supplementary packages from \acro{CPAN}, \url{http://www.cpan.org/} +\item[ImageMagick] \url{http://www.imagemagick.com}, for graphics + processing and conversion +\item[NetPBM] \url{http://netpbm.sourceforge.net/}, also for graphics. + +\item[\TeX-oriented editors] There is a wide choice, and it is a matter of the + user's taste. Here is a selection in alphabetical order (a few + here are for Windows only). + \begin{itemize*} + \item \cmdname{GNU Emacs} is available natively under Windows, see + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html}. + \item \cmdname{Emacs} with Auc\TeX\ for Windows is available in + the directory \path{tlpkg/support} on the \TL \DVD; its home + page is \url{http://www.gnu.org/software/auctex}. + \item \cmdname{LEd} is available from \url{http://www.ctan.org/support/LEd}. + \item \cmdname{SciTE} is available from + \url{http://www.scintilla.org/SciTE.html}. + \item \cmdname{Texmaker} is free software, available from + \url{http://www.xm1math.net/texmaker/}. + \item \cmdname{TeXnicCenter} is free software, available from + \url{http://www.texniccenter.org} and in the pro\TeX{}t distribution. + \item \cmdname{TeXworks} is free software, available from + \url{http://tug.org/texworks} and installed for Windows and + \MacOSX\ as part of \TL. + \item \cmdname{Vim} is free software, available from + \url{http://www.vim.org}. + \item \cmdname{WinEdt} is shareware available though + \url{http://tug.org/winedt} or \url{http://www.winedt.com}. + \item \cmdname{WinShell} is available from \url{http://www.winshell.de}. + \end{itemize*} +\end{description} +For a much longer list of packages and programs, see +\url{http://tug.org/interest.html}. + + + +\section{Network installations} +\label{sec:netinstall} + +\TL{} has been designed to be sharable between different users on one +system, and/or between different systems on a network. With a standard +directory layout, no hard paths are configured: the locations for files +needed by \TL{} programs are found relative to the programs. You can +see this in the principal configuration file +\filename{$TEXMFMAIN/web2c/texmf.cnf}, which contains lines such as +\begin{sverbatim} +TEXMFMAIN = $SELFAUTOPARENT/texmf +... +TEXMFLOCAL = $SELFAUTOPARENT/../texmf-local +\end{sverbatim} +This means that adding the directory for \TL{} executables for their +platform to their search path is sufficient to get a working setup. + +By the same token, you can also install \TL{} locally and then move +the entire hierarchy afterwards to a network location. + +For Windows, a sample network installation script named +\filename{w32client} can be downloaded through +\url{http://tug.org/texlive/w32client.html}. It creates settings and +menu shortcuts for using an existing \TL{} installation on a \acro{LAN}. +It also registers an uninstaller \filename{w32unclient}, available +in the same zip file. See the web page for more information. + + +\htmlanchor{tlportable} +\section{Maximally portable \protect\TL{} on DVD and USB} +\label{sec:portable-tl} + +To use \TL{} in a ``portable'' way, minimizing impact on the host +system, you should first install \TL{} to a \acro{USB} stick using the +\optname{-portable} option of the installer (see +section~\ref{sec:cmdline}). Then you can run the \filename{tl-portable} +script (Unix) or \filename{tl-portable.bat} batch file (Windows) from +the resulting installation root to start up a shell. + +You could also burn the resulting contents of the stick back to \DVD{} +if that is more convenient to (for example) give to others. + +When the \filename{tl-portable} script is run from a \DVD{} for the +first time, some files will be generated on the host system in a +directory \dirname{~/.tlportable2010}, which will take some time. On +subsequent runs, though, it will start quickly. + +The rest of the system will be unaware of \TL. If you want your editor +to be aware of this \TL, then you should start it from a second, +parallel, such \filename{tl-portable} session. + + +\section{\cmdname{tlmgr}: Managing your installation} +\label{sec:tlmgr} + +\begin{figure}[tb] +\tlpng{tlmgr-gui}{\linewidth} +\caption{\prog{tlmgr} in \GUI\ mode: main window, after `Load'.} +\label{fig:tlmgr-gui} +\end{figure} + +\begin{figure}[tb] +\hbox to \hsize{% + \vtop{\hsize=.59\linewidth + \null % make figures align at the top + \tlpng{tlmgr-general-options}{\hsize} + \caption{\texttt{tlmgr} in \GUI\ mode: General options} + \label{fig:tlmgr-general-options} + } + \hfil + \vtop{\hsize=.39\linewidth + \null + \tlpng{tlmgr-paper-options}{\hsize} + \caption{\texttt{tlmgr} in \GUI\ mode: Paper size options} + \label{fig:tlmgr-paper-options} + } +} +\end{figure} + +\TL{} includes a program named \prog{tlmgr} for managing \TL{} after the +initial installation. The programs \prog{updmap}, \prog{fmtutil} and +\prog{texconfig} are still included and will be retained in the future, +but \prog{tlmgr} is now the preferred interface. Its capabilities +include: + +\begin{itemize*} +\item installing, updating, backing up, restoring, and uninstalling + individual packages, optionally taking dependencies into account; +\item searching for and listing packages, etc.; +\item listing, adding, and removing platforms; +\item changing installation options such as paper size and source + location (see section~\ref{sec:location}). +\end{itemize*} +\textit{Warning:} \prog{tlmgr} has not been designed for or tested +with portable installations (section~\ref{sec:portable-tl}). + +\subsection{\cmdname{tlmgr} GUI mode} +\prog{tlmgr} can be started in \GUI{} mode (figure~\ref{fig:tlmgr-gui}) with +\begin{alltt} +> \Ucom{tlmgr -gui} +\end{alltt} +or in Windows via the Start menu: \texttt{Start}, \texttt{Programs}, +\texttt{TeX Live 2010}, \texttt{TeX Live Manager}. After clicking `Load' +it displays a list of available and installed packages. This assumes of +course that the installation source is valid and reachable. + +Figures~\ref{fig:tlmgr-general-options} and~\ref{fig:tlmgr-paper-options} +show the general and paper size option screens. + +\subsection{Sample \cmdname{tlmgr} command-line invocations} + +After the initial installation, you can update your system to the latest +versions available with: +\begin{alltt} +> \Ucom{tlmgr update -all} +\end{alltt} +If this makes you nervous, first try +\begin{alltt} +> \Ucom{tlmgr update -all -dry-run} +\end{alltt} +or (less verbose): +\begin{alltt} +> \Ucom{tlmgr update -list} +\end{alltt} + +This more complex example adds a collection, for the engine \XeTeX, from +a local directory: + +\begin{alltt} +> \Ucom{tlmgr -repository /local/mirror/tlnet install collection-xetex} +\end{alltt} +It generates the following output (abridged): +\begin{fverbatim} +install: collection-xetex +install: arabxetex +... +install: xetex +install: xetexconfig +install: xetex.i386-linux +running post install action for xetex +install: xetex-def +... +running mktexlsr +mktexlsr: Updating /usr/local/texlive/2010/texmf/ls-R... +... +running fmtutil-sys --missing +... +Transcript written on xelatex.log. +fmtutil: /usr/local/texlive/2010/texmf-var/web2c/xetex/xelatex.fmt installed. +\end{fverbatim} + +As you can see, \prog{tlmgr} installs dependencies, and takes care of any +necessary post-install actions, including updating the filename database +and (re)generating formats. In the above, we generated new formats for +\XeTeX. + +To describe a package (or collection or scheme): +\begin{alltt} +> \Ucom{tlmgr show collection-latexextra} +\end{alltt} +which produces +\begin{fverbatim} +package: collection-latexextra +category: Collection +shortdesc: LaTeX supplementary packages +longdesc: A large collection of add-on packages for LaTeX. +installed: Yes +revision: 14675 +\end{fverbatim} + +Last and most important, for full documentation see +\url{http://tug.org/texlive/tlmgr.html}, or: +\begin{alltt} +> \Ucom{tlmgr -help} +\end{alltt} + + +\section{Notes on Windows} +\label{sec:windows} + +\TL\ has a single installer which runs on both Windows and Unix. This +was only possible by dropping support for older Windows versions, so +\TL\ can now be installed only on Windows 2000 and later. + + +\subsection{Windows-specific features} +\label{sec:winfeatures} + +Under Windows, the installer does some extra things: +\begin{description} +\item[Menus and shortcuts.] A new `\TL{}' submenu of the + Start menu is installed, which contains entries for some \GUI{} + programs (\prog{tlmgr}, \prog{texdoctk}, the PS\_View (\prog{psv}) + PostScript previewer) and some documentation. PS\_View also gets a + shortcut on the desktop as a drag-and-drop target for PostScript + files. +\item[Automatic setting of environment variables.] No manual + configuration steps are required. +\item[Uninstaller.] The installer creates an entry under `Add/Remove + Programs' for \TL. The uninstall tab of the \TeX\ Live Manager \GUI\ + refers to this. +\end{description} + +\subsection{Additional software included on Windows} + +To be complete, a \TL installation needs support packages that are not +commonly found on a Windows machine. \TL{} provides the missing +pieces: +\begin{description} +\item[Perl and Ghostscript.] Because of the importance of Perl and + Ghostscript, \TL{} includes `hidden' copies of these + programs. \TL{} programs that need them know where to find them, + but they don't betray their presence through environment variables + or registry settings. They aren't full-scale installations, and + shouldn't interfere with any system installations of Perl or + Ghostscript. + +\item[PS\_View.] Also installed is PS\_View, a \PS{} and \acro{PDF} + viewer; see figure~\ref{fig:psview}. + +\begin{figure}[tb] +\tlpng{psview}{.6\linewidth} +\caption{PS\_View: very high magnifications available!}\label{fig:psview} +\end{figure} + +\item[dviout.] Also installed is \prog{dviout}, a \acro{DVI} viewer. + At first, when you preview files with \cmdname{dviout}, it will create + fonts, because screen fonts were not installed. After a while, you + will have created most of the fonts you use, and you will rarely see + the font-creation window. More information can be found in the + (highly recommended) on-line help. + +\item[\TeX{}works.] \TeX{}works is a \TeX-oriented editor with + an integrated \acro{PDF} viewer. + +\item[Command-line tools.] A number of Windows ports of common Unix + command-line programs are installed along with the usual \TL{} + binaries. These include \cmdname{gzip}, \cmdname{unzip} and the + utilities from the \cmdname{xpdf} suite (\cmdname{pdfinfo}, + \cmdname{pdffonts}, \ldots). The \cmdname{xpdf} viewer itself is not + available for Windows. Instead, you can download the Sumatra + \acro{PDF} viewer, which is based on \cmdname{xpdf}, from + \url{http://blog.kowalczyk.info/software/sumatrapdf}, among other options. + +\item[fc-list, fc-cache, \ldots] The tools from the fontconfig library allow + \XeTeX{} to handle system fonts on Windows. You can use + \prog{fc-list} to determine the font names to pass to \XeTeX's + extended \cs{font} command. If necessary, run \prog{fc-cache} + first to update font information. + +\end{description} + + +\subsection{User Profile is Home} +\label{sec:winhome} + +The Windows counterpart of a Unix home directory is the +\verb|%USERPROFILE%| directory. Under Windows \acro{XP} and Windows 2000, this +is usually \verb|C:\Documents and Settings\<username>|, and under +Windows Vista \verb|C:\Users\<username>|. In the +\filename{texmf.cnf} file, and \KPS{} in general, \verb|~| will expand +appropriately on both Windows and Unix. + + +\subsection{The Windows registry} +\label{sec:registry} + +Windows stores nearly all configuration data in its registry. The +registry contains a set of hierarchically organized keys, with several +root keys. The most important ones for installation programs are +\path{HKEY_CURRENT_USER} and \path{HKEY_LOCAL_MACHINE}, \path{HKCU} and +\path{HKLM} in short. The \path{HKCU} part of the registry is in the +user's home directory (see section~\ref{sec:winhome}). \path{HKLM} is +normally in a subdirectory of the Windows directory. + +In some cases, system information could be obtained from environment +variables but for other information, for example the location of +shortcuts, it is necessary to consult the registry. Setting environment +variables permanently also requires registry access. + + +\subsection{Windows permissions} +\label{sec:winpermissions} + +In later versions of Windows, a distinction is made between regular +users and administrators, where only the latter have free access to the +entire operating system. In practice, though, you could better describe +these classes of users as unprivileged users and normal users: being an +administrator is the rule, not the exception. Nevertheless, we have made +an effort to make \TL{} installable without administrative privileges. + +If the user is an administrator, there is an option to install for all +users. If this option is chosen, shortcuts are created for all users, +and the system environment is modified. Otherwise, shortcuts and menu +entries are created for the current user, and the user environment is +modified. + +Regardless of administrator status, the default root of \TL{} proposed +by the installer is always under \verb|%SystemDrive%|. The installer +always tests whether the root is writable for the current user. + +A problem may arise if the user is not an administrator and \TeX{} +already exists in the search path. Since the effective path +consists of the system path followed by the user path, the new \TL{} +would never get precedence. As a safeguard, the installer creates a +shortcut to the command-prompt in which the new \TL{} binary +directory is prepended to the local search path. The new \TL{} will +be always usable from within such a command-prompt. The shortcut for +\TeX{}works, if installed, also prepends \TL{} to the search path, so it +should also be immune to this path problem. + +For Vista there is another twist: even if you are logged in as +administrator, you need to explicitly ask for administrator +privileges. In fact, there is not much point in logging in as +administrator. Instead, right-clicking on the program or shortcut +that you want to run usually gives you a choice `Run as +administrator'. + +\section{A user's guide to Web2C} + +\Webc{} is an integrated collection of \TeX-related programs: \TeX{} +itself, \MF{}, \MP, \BibTeX{}, etc. It is the heart of \TL{}. The home +page for \Webc{}, with the current manual and more, is +\url{http://tug.org/web2c}. + +A bit of history: The original implementation was by Tomas Rokicki who, +in 1987, developed a first \TeX{}-to-C system based on change files +under Unix, which were primarily the original work of Howard Trickey and +Pavel Curtis. Tim Morgan became the maintainer of the system, and +during this period the name changed to Web-to-C\@. In 1990, Karl Berry +took over the work, assisted by dozens of additional contributors, and +in 1997 he handed the baton to Olaf Weber, who returned it to Karl in +2006. + +The \Webc{} system runs on Unix, 32-bit Windows systems, \MacOSX{}, and +other operating systems. It uses Knuth's original sources for \TeX{} and +other basic programs written in the \web{} literate programming system +and translates them into C source code. The core \TeX{} programs +handled in this way are: + +\begin{cmddescription} +\item[bibtex] Maintaining bibliographies. +\item[dvicopy] Expands virtual font references in \dvi{} files. +\item[dvitomp] \dvi{} to MPX (MetaPost pictures). +\item[dvitype] \dvi{} to human-readable text. +\item[gftodvi] Generic font proofsheets. +\item[gftopk] Generic to packed fonts. +\item[gftype] GF to human-readable text. +\item[mf] Creating typeface families. +\item[mft] Prettyprinting \MF{} source. +\item[mpost] Creating technical diagrams. +\item[patgen] Creating hyphenation patterns. +\item[pktogf] Packed to generic fonts. +\item[pktype] PK to human-readable text. +\item[pltotf] Plain text property list to TFM. +\item[pooltype] Display \web{} pool files. +\item[tangle] \web{} to Pascal. +\item[tex] Typesetting. +\item[tftopl] TFM to plain text property list. +\item[vftovp] Virtual font to virtual property list. +\item[vptovf] Virtual property list to virtual font. +\item[weave] \web{} to \TeX. +\end{cmddescription} + +\noindent The precise functions and syntax of these programs are +described in the documentation of the individual packages and of \Webc{} +itself. However, knowing a few principles governing the whole family of +programs will help you take advantage of your \Webc{} installation. + +All programs honor these standard \GNU options: +\begin{ttdescription} +\item[-{}-help] print basic usage summary. +\item[-{}-verbose] print detailed progress report. +\item[-{}-version] print version information, then exit. +\end{ttdescription} + +For locating files the \Webc{} programs use the path searching library +\KPS{} (\url{http://tug.org/kpathsea}). This library uses a combination +of environment variables and a configuration files to optimize searching +the (huge) collection of \TeX{} files. \Webc{} can look at many +directory trees simultaneously, which is useful in maintaining \TeX's +standard distribution and local and personal extensions in distinct +trees. To speed up file searches, the root of each tree has a file +\file{ls-R}, containing an entry showing the name and relative pathname +for all files under that root. + + +\subsection{Kpathsea path searching} +\label{sec:kpathsea} + +Let us first describe the generic path searching mechanism of the \KPS{} +library. + +We call a \emph{search path} a colon- or semicolon\hyph sepa\-rated list +of \emph{path elements}, which are basically directory names. A +search path can come from (a combination of) many sources. To look up +a file \samp{my-file} along a path \samp{.:/dir}, \KPS{} checks each +element of the path in turn: first \file{./my-file}, then +\file{/dir/my-file}, returning the first match (or possibly all +matches). + +In order to adapt optimally to all operating systems' conventions, on +non-Unix systems \KPS{} can use filename separators different from +colon (\samp{:}) and slash (\samp{/}). + +To check a particular path element \var{p}, \KPS{} first checks if a +prebuilt database (see ``Filename data\-base'' on +page~\pageref{sec:filename-database}) applies to \var{p}, i.e., if the +database is in a directory that is a prefix of \var{p}. If so, the path +specification is matched against the contents of the database. + +If the database does not exist, or does not apply to this path +element, or contains no matches, the filesystem is searched (if this +was not forbidden by a specification starting with \samp{!!}\ and if +the file being searched for must exist). \KPS{} constructs the list +of directories that correspond to this path element, and then checks +in each for the file being sought. + +The ``file must exist'' condition comes into play with \samp{.vf} files and +input files read by \TeX's \cs{openin} command. Such files may not +exist (e.g., \file{cmr10.vf}), and so it would be wrong to search the +disk for them. Therefore, if you fail to update \file{ls-R} when you +install a new \samp{.vf} file, it will never be found. +Each path element is checked in turn: first the database, then the +disk. If a match is found, the search stops and the result is +returned. + +Although the simplest and most common path element is a directory +name, \KPS{} supports additional features in search paths: layered +default values, environment variable names, config file values, users' +home directories, and recursive subdirectory searching. Thus, we say +that \KPS{} \emph{expands} a path element, meaning it transforms all +the specifications into basic directory name or names. This is +described in the following sections in the same order as it takes +place. + +Note that if the filename being searched for is absolute or explicitly +relative, i.e., starts with \samp{/} or \samp{./} or \samp{../}, +\KPS{} simply checks if that file exists. + +\ifSingleColumn +\else +\begin{figure*} +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{An illustrative configuration file sample} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{Path sources} +\label{sec:path-sources} + +A search path can come from many sources. In the order in which +\KPS{} uses them: + +\begin{enumerate} +\item + A user-set environment variable, for instance, \envname{TEXINPUTS}\@. + Environment variables with a period and a program name appended + override; e.g., if \samp{latex} is the name of the program being run, + then \envname{TEXINPUTS.latex} will override \envname{TEXINPUTS}. +\item + A program-specific configuration file, for exam\-ple, a line + \samp{S /a:/b} in \cmdname{dvips}'s \file{config.ps}. +\item A \KPS{} configuration file \file{texmf.cnf}, containing a line like + \samp{TEXINPUTS=/c:/d} (see below). +\item The compile-time default. +\end{enumerate} +\noindent You can see each of these values for a given search path by +using the debugging options (see ``Debugging actions'' on +page~\pageref{sec:debugging}). + +\subsubsection{Config files} + +\KPS{} reads \emph{runtime configuration files} named \file{texmf.cnf} +for search path and other definitions. The search path used to look +for these files is named \envname{TEXMFCNF}, but we do not recommend +setting this (or any) environment variable. + +Instead, normal installation results in a file +\file{.../2010/texmf.cnf}. If you must make changes to the defaults +(not normally necessary), this is the place to put them. The main +configuration file is in \file{.../2010/texmf/web2c/texmf.cnf}. You +should not edit this latter file, as your changes will be lost when the +distributed version is updated. + +\emph{All} \file{texmf.cnf} files in the search path will be read and +definitions in earlier files override those in later files. For +example, with a search path of \verb|.:$TEXMF|, values from +\file{./texmf.cnf} override those from \verb|$TEXMF/texmf.cnf|. + +\begin{itemize} +\item + Comments start with \code{\%} and continue to the end of the line. +\item + Blank lines are ignored. +\item + A \bs{} at the end of a line acts as a continuation character, + i.e., the next line is appended. Whitespace at the beginning of + continuation lines is not ignored. +\item + Each remaining line has the form: +\begin{alltt} + \var{variable}[.\var{progname}] [=] \var{value} +\end{alltt}% + where the \samp{=} and surrounding whitespace are optional. +\item + The \ttvar{variable} name may contain any character other + than whitespace, \samp{=}, or \samp{.}, but sticking to + \samp{A-Za-z\_} is safest. +\item + If \samp{.\var{progname}} is present, the definition only + applies if the program that is running is named + \texttt{\var{progname}} or \texttt{\var{progname}.exe}. This allows + different flavors of \TeX{} to have different search paths, for + example. +\item \var{value} may contain any characters except + \code{\%} and \samp{@}. The + \code{\$\var{var}.\var{prog}} feature is not available on the + right-hand side; instead, you must use an additional variable. A + \samp{;}\ in \var{value} is translated to \samp{:}\ if + running under Unix; this is useful to be able to have a single + \file{texmf.cnf} for Unix, \acro{MS-DOS} and Windows systems. +\item + All definitions are read before anything is expanded, so + variables can be referenced before they are defined. +\end{itemize} +A configuration file fragment illustrating most of these points is +\ifSingleColumn +shown below: + +\verbatiminput{examples/ex5.tex} +\else +shown in Figure~\ref{fig:config-sample}. +\fi + +\subsubsection{Path expansion} +\label{sec:path-expansion} + + +\KPS{} recognizes certain special characters and constructions in +search paths, similar to those available in Unix shells. As a +general example, the complex path, +\verb+~$USER/{foo,bar}//baz+, expands to all subdirectories under +directories \file{foo} and \file{bar} in \texttt{\$USER}'s home +directory that contain a directory or file \file{baz}. These +expansions are explained in the sections below. +%$ +\subsubsection{Default expansion} +\label{sec:default-expansion} + +If the highest-priority search path (see ``Path sources'' on +page~\pageref{sec:path-sources}) contains an \emph{extra colon} (i.e., +leading, trailing, or doubled), \KPS{} inserts at that point the +next-highest-prio\-rity search path that is defined. If that inserted +path has an extra colon, the same happens with the next highest. For +example, given an environment variable setting + +\begin{alltt} +> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} +and a \code{TEXINPUTS} value from \file{texmf.cnf} of + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} +then the final value used for searching will be: + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +Since it would be useless to insert the default value in more than one +place, \KPS{} changes only one extra \samp{:}\ and leaves any others in +place. It checks first for a leading \samp{:}, then a trailing +\samp{:}, then a doubled \samp{:}. + +\subsubsection{Brace expansion} + +A useful feature is brace expansion, which means that, for instance, +\verb+v{a,b}w+ expands to \verb+vaw:vbw+. Nesting is allowed. +This is used to implement multiple \TeX{} hierarchies, by +assigning a brace list to \code{\$TEXMF}. +For example, in \file{texmf.cnf}, the following definition +(approximately; there are actually even more trees) is made: +\begin{verbatim} + TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN} +\end{verbatim} +Using this you can then write something like +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +which means that, after looking in the current directory, the +\code{\$TEXMFHOME/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$TEXMFVAR/tex} +and \code{\$TEXMFMAIN/tex} trees \emph{only}) will be searched (the +last two use using \file{ls-R} data base files). It is a convenient +way for running two parallel \TeX{} structures, one ``frozen'' (on a +\CD, for instance) and the other being continuously updated with new +versions as they become available. By using the \code{\$TEXMF} +variable in all definitions, one is sure to always search the +up-to-date tree first. + +\subsubsection{Subdirectory expansion} +\label{sec:subdirectory-expansion} + +Two or more consecutive slashes in a path element following a directory +\var{d} is replaced by all subdirectories of \var{d}: first those +subdirectories directly under \var{d}, then the subsubdirectories under +those, and so on. At each level, the order in which the directories are +searched is \emph{unspecified}. + +If you specify any filename components after the \samp{//}, only +subdirectories with matching components are included. For example, +\samp{/a//b} expands into directories \file{/a/1/b}, \file{/a/2/b}, +\file{/a/1/1/b}, and so on, but not \file{/a/b/c} or \file{/a/1}. + +Multiple \samp{//} constructs in a path are possible, but +\samp{//} at the beginning of a path is ignored. + +\subsubsection{List of special characters and their meaning: a summary} + +The following list summarizes the special characters in \KPS{} +configuration files. + +% need a wider space for the item labels here. +\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} +\begin{ttdescription} +\item[\CODE{:}] Separator in path specification; at the beginning or + the end of a path it substitutes the default path expansion.\par +\item[\CODE{;}] Separator on non-Unix systems (acts like \code{:}). +\item[\CODE{\$}] Variable expansion. +\item[\CODE{\string~}] Represents the user's home directory. +\item[\CODE{\char`\{...\char`\}}] Brace expansion. +\item[\CODE{//}] Subdirectory expansion (can occur anywhere in + a path, except at its beginning). +\item[\CODE{\%}] Start of comment. +\item[\CODE{\bs}] Continuation character (allows multi-line entries). +\item[\CODE{!!}] Search \emph{only} database to locate file, \emph{do + not} search the disk. +\end{ttdescription} + + +\subsection{Filename databases} +\label{sec:filename-database} + +\KPS{} goes to some lengths to minimize disk accesses for searches. +Nevertheless, at installations with enough directories, searching each +possible directory for a given file can take an excessively long time +(this is especially true if many hundreds of font directories have to +be traversed.) Therefore, \KPS{} can use an externally-built plain text +``database'' file named \file{ls-R} that maps files to directories, +thus avoiding the need to exhaustively search the disk. + +A second database file \file{aliases} allows you to give additional +names to the files listed in \file{ls-R}. This can be helpful to +confirm to \acro{DOS} 8.3 filename conventions in source files. + +\subsubsection{The filename database} +\label{sec:ls-R} + +As explained above, the name of the main filename database must be +\file{ls-R}. You can put one at the root of each \TeX{} hierarchy in +your installation that you wish to be searched (\code{\$TEXMF} by +default). \KPS{} looks for +\file{ls-R} files along the \code{TEXMFDBS} path. + +The recommended way to create and maintain \samp{ls-R} is to run the +\code{mktexlsr} script included with the distribution. It is invoked +by the various \samp{mktex}\dots\ scripts. In principle, this script +just runs the command +\begin{alltt} +cd \var{/your/texmf/root} && \path|\|ls -1LAR ./ >ls-R +\end{alltt} +presuming your system's \code{ls} produces the right output format +(\GNU \code{ls} is all right). To ensure that the database is +always up-to-date, it is easiest to rebuild it regularly via +\code{cron}, so that it is automatically updated when the installed +files change, such as after installing or updating a \LaTeX{} package. + +If a file is not found in the database, by default \KPS{} goes ahead +and searches the disk. If a particular path element begins with +\samp{!!}, however, \emph{only} the database will be searched for that +element, never the disk. + + +\subsubsection{kpsewhich: Standalone path searching} +\label{sec:invoking-kpsewhich} + +The \texttt{kpsewhich} program exercises path searching independent of any +particular application. This can be useful as a sort of \code{find} +program to locate files in \TeX{} hierarchies (this is used heavily in +the distributed \samp{mktex}\dots\ scripts). + +\begin{alltt} +> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} +\end{alltt} +The options specified in \ttvar{option} start with either \samp{-} +or \samp{-{}-}, and any unambiguous abbreviation is accepted. + +\KPS{} looks up each non-option argument on the command line as a +filename, and returns the first file found. There is no option to +return all the files with a particular name (you can run the Unix +\samp{find} utility for that). + +The most common options are described next. + +\begin{ttdescription} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{} + Set the resolution to \ttvar{num}; this only affects \samp{gf} + and \samp{pk} lookups. \samp{-D} is a synonym, for compatibility + with \cmdname{dvips}. Default is 600. + +\item[\texttt{-{}-format=\var{name}}]\mbox{}\\ + Set the format for lookup to \ttvar{name}. By default, the + format is guessed from the filename. For formats which do not have + an associated unambiguous suffix, such as \MP{} support files and + \cmdname{dvips} configuration files, you have to specify the name as + known to \KPS{}, such as \texttt{tex} or \texttt{enc files}. Run + \texttt{kpsewhich -{}-help} for a list. + +\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ + Set the mode name to \ttvar{string}; this only affects \samp{gf} + and \samp{pk} lookups. No default: any mode will be found. +\item[\texttt{-{}-must-exist}]\mbox{}\\ + Do everything possible to find the files, notably including + searching the disk. By default, only the \file{ls-R} database is + checked, in the interest of efficiency. +\item[\texttt{-{}-path=\var{string}}]\mbox{}\\ + Search along the path \ttvar{string} (colon-separated as usual), + instead of guessing the search path from the filename. \samp{//} and + all the usual expansions are supported. The options \samp{-{}-path} + and \samp{-{}-format} are mutually exclusive. +\item[\texttt{-{}-progname=\var{name}}]\mbox{}\\ + Set the program name to \texttt{\var{name}}. + This can affect the search paths via the \texttt{.\var{progname}} + feature. + The default is \cmdname{kpsewhich}. +\item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\ + shows the path used for file lookups of file type \texttt{\var{name}}. + Either a filename extension (\code{.pk}, \code{.vf}, etc.) or a + name can be used, just as with \samp{-{}-format} option. +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + sets the debugging options to \texttt{\var{num}}. +\end{ttdescription} + + +\subsubsection{Examples of use} +\label{sec:examples-of-use} + +Let us now have a look at \KPS{} in action. Here's a straightforward search: + +\begin{alltt} +> \Ucom{kpsewhich article.cls} + /usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} +We are looking for the file \file{article.cls}. Since the \samp{.cls} +suffix is unambiguous we do not need to specify that we want to look for a +file of type \optname{tex} (\TeX{} source file directories). We find it in +the subdirectory \file{tex/latex/base} below the \samp{texmf-dist} \TL\ +directory. Similarly, all of the following are found without problems +thanks to their unambiguous suffix. +\begin{alltt} +> \Ucom{kpsewhich array.sty} + /usr/local/texmf-dist/tex/latex/tools/array.sty +> \Ucom{kpsewhich latin1.def} + /usr/local/texmf-dist/tex/latex/base/latin1.def +> \Ucom{kpsewhich size10.clo} + /usr/local/texmf-dist/tex/latex/base/size10.clo +> \Ucom{kpsewhich small2e.tex} + /usr/local/texmf-dist/tex/latex/base/small2e.tex +> \Ucom{kpsewhich tugboat.bib} + /usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib +\end{alltt} + +By the way, that last is a \BibTeX{} bibliography database for +\textsl{TUGboat} articles. + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} +Font bitmap glyph files of type \file{.pk} are used by display +programs like \cmdname{dvips} and \cmdname{xdvi}. Nothing is returned in +this case since there are no pre-generated Computer Modern \samp{.pk} +files in \TL{}\Dash the Type~1 variants are used by default. +\begin{alltt} +> \Ucom{kpsewhich wsuipa10.pk} +\ifSingleColumn /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk +\else /usr/local/texmf-var/fonts/pk/ljfour/public/ +... wsuipa/wsuipa10.600pk +\fi\end{alltt} +For these fonts (a phonetic alphabet from the University of Washington) +we had to generate \samp{.pk} files, and since the default \MF{} mode on +our installation is \texttt{ljfour} with a base resolution of 600\dpi{} +(dots per inch), this instantiation is returned. +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} +In this case, when specifying that we are interested in a resolution +of 300\dpi{} (\texttt{-dpi=300}) we see that no such font is available on +the system. A program like \cmdname{dvips} or \cmdname{xdvi} would +go off and actually build the required \texttt{.pk} files +using the script \cmdname{mktexpk}. + +Next we turn our attention to \cmdname{dvips}'s header and configuration +files. We first look at one of the commonly used files, the general +prologue \file{tex.pro} for \TeX{} support, before turning our attention +to the generic configuration file (\file{config.ps}) and the \PS{} font +map \file{psfonts.map}\Dash as of 2004, map and encoding files have +their own search paths and new location in \dirname{texmf} trees. As +the \samp{.ps} suffix is ambiguous we have to specify explicitly which +type we are considering (\optname{dvips config}) for the file +\texttt{config.ps}. +\begin{alltt} +> \Ucom{kpsewhich tex.pro} + /usr/local/texmf/dvips/base/tex.pro +> \Ucom{kpsewhich --format="dvips config" config.ps} + /usr/local/texmf/dvips/config/config.ps +> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map +\end{alltt} + +We now take a closer look at the \acro{URW} Times \PS{} support +files. The prefix for these in the standard font naming scheme is +\samp{utm}. The first file we look at is the configuration file, +which contains the name of the map file: +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" config.utm} + /usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} +The contents of that file is +\begin{alltt} + p +utm.map +\end{alltt} +which points to the file \file{utm.map}, which we want to +locate next. +\begin{alltt} +> \Ucom{kpsewhich utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} +This map file defines the file names of the Type~1 \PS{} fonts in +the URW collection. Its contents look like (we only show part of the +lines): +\begin{alltt} +utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb +utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb +utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb +utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} +Let us, for instance, take the Times Roman instance +\file{utmr8a.pfb} and find its position in the \file{texmf} directory +tree with a search for Type~1 font files: +\begin{alltt} +> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +\else /usr/local/texmf-dist/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + +It should be evident from these examples how you can easily locate the +whereabouts of a given file. This is especially important if you suspect +that the wrong version of a file is picked up somehow, since +\cmdname{kpsewhich} will show you the first file encountered. + +\subsubsection{Debugging actions} +\label{sec:debugging} + +Sometimes it is necessary to investigate how a program resolves file +references. To make this practical, \KPS{} offers various levels of +debugging output: + +\begin{ttdescription} +\item[\texttt{\ 1}] \texttt{stat} calls (disk lookups). When running + with an up-to-date \file{ls-R} database this should almost give no + output. +\item[\texttt{\ 2}] References to hash tables (such as \file{ls-R} + databases, map files, configuration files). +\item[\texttt{\ 4}] File open and close operations. +\item[\texttt{\ 8}] General path information for file types + searched by \KPS. This is useful to find out where a particular + path for the file was defined. +\item[\texttt{16}] Directory list for each path element (only relevant + for searches on disk). +\item[\texttt{32}] File searches. +\item[\texttt{64}] Variable values. +\end{ttdescription} +A value of \texttt{-1} will set all the above options; in practice, +this is usually the most convenient. + +Similarly, with the \cmdname{dvips} program, by setting a combination of +debug switches, one can follow in detail where files are being picked up +from. Alternatively, when a file is not found, the debug trace shows in +which directories the program looks for the given file, so that one can +get an indication what the problem~is. + +Generally speaking, as most programs call the \KPS{} library +internally, one can select a debug option by using the +\envname{KPATHSEA\_DEBUG} environment variable, and setting it to (a +combination of) values as described in the above list. + +(Note for Windows users: it is not easy to redirect +all messages to a file in this system. For diagnostic purposes +you can temporarily \texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log}). + +Let us consider, as an example, a small \LaTeX{} source file, +\file{hello-world.tex}, which contains the following input. +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +This little file only uses the font \file{cmr10}, so let us look at +how \cmdname{dvips} prepares the \PS{} file (we want to use the Type~1 +version of the Computer Modern fonts, hence the option \texttt{-Pcms}). +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +In this case we have combined \cmdname{dvips}'s debug class 4 (font +paths) with \KPS's path element expansion (see \cmdname{dvips} Reference +Manual, \OnCD{texmf/doc/dvips/dvips.pdf}). +The output (slightly rearranged) appears in +Figure~\ref{fig:dvipsdbga}. +\begin{figure*}[tp] +\centering +\input{examples/ex6a.tex} +\caption{Finding configuration files}\label{fig:dvipsdbga} + +\bigskip + +\input{examples/ex6b.tex} +\caption{Finding the prolog file}\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{Finding the font file}\label{fig:dvipsdbgc} +\end{figure*} + +\cmdname{dvips} starts by locating its working files. First, +\file{texmf.cnf} is found, which gives the definitions of the search +paths for the other files, then the file database \file{ls-R} (to +optimize file searching) and the file \file{aliases}, which makes it +possible to declare several names (e.g., a short \acro{DOS}-like 8.3 and +a more natural longer version) for the same file. Then \cmdname{dvips} +goes on to find the generic configuration file \file{config.ps} +before looking for the customization file \file{.dvipsrc} (which, in +this case is \emph{not found}). Finally, \cmdname{dvips} locates the +config file for the Computer Modern \PS{} fonts \file{config.cms} +(this was initiated with the \texttt{-Pcms} option on the \cmdname{dvips} +command). This file contains the list of the map files which +define the relation between the \TeX{}, \PS{} and file system +names of the fonts. +\begin{alltt} +> \Ucom{more /usr/local/texmf/dvips/cms/config.cms} + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map +\end{alltt} +\cmdname{dvips} thus goes on to find all these files, plus the generic +map file \file{psfonts.map}, which is always loaded (it contains +declarations for commonly used \PS{} fonts; see the last part of +Section \ref{sec:examples-of-use} for more details about \PS{} map +file handling). + +At this point \cmdname{dvips} identifies itself to the user: +\begin{alltt} +This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) +\end{alltt} +\ifSingleColumn +Then it goes on to look for the prolog file \file{texc.pro}: +\begin{alltt}\small +kdebug:start search(file=texc.pro, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro +\end{alltt} +\else +Then it goes on to look for the prolog file \file{texc.pro} (see +Figure~\ref{fig:dvipsdbgb}). +\fi + +After having found the file in question, \cmdname{dvips} outputs +the date and time, and informs us that it will generate the +file \file{hello-world.ps}, then that it needs the font file +\file{cmr10}, and that the latter is declared as ``resident'' (no +bitmaps needed): +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} +Now the search is on for the file \file{cmr10.tfm}, which is found, +then a few more prolog files (not shown) are referenced, and finally +the Type~1 instance \file{cmr10.pfb} of the font is located and +included in the output file (see last line). +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{Runtime options} + +Another useful feature of \Webc{} is its possibility to control a number +of memory parameters (in particular, array sizes) via the runtime file +\file{texmf.cnf} read by \KPS{}. The memory settings can be found in +Part~3 of that file in the \TL{} distribution. The more important +are: + +\begin{ttdescription} +\item[\texttt{main\_memory}] + Total words of memory available, for + \TeX{}, \MF{} and \MP. You must make a new format file for each + different setting. For instance, you could generate a ``huge'' + version of \TeX{}, and call the format file \texttt{hugetex.fmt}. + Using the standard way of specifying the program name used by \KPS{}, + the particular value of the \texttt{main\_memory} variable will then + be read from \file{texmf.cnf}. +\item[\texttt{extra\_mem\_bot}] + Extra space for ``large'' \TeX{} data structures: + boxes, glue, breakpoints, etc. Especially useful if you use + \PiCTeX{}. +\item[\texttt{font\_mem\_size}] + Number of words for font information available for \TeX. This + is more or less the total size of all \acro{TFM} files read. +\item[\texttt{hash\_extra}] + Additional space for the hash table of control sequence names. + Only $\approx$10,000 control sequences can be stored in the main + hash table; if you have a large book with numerous cross-references, + this might not be enough. The default value of + \texttt{hash\_extra} is \texttt{50000}. +\end{ttdescription} + +\noindent Of course, this facility is no substitute for truly dynamic +arrays and memory allocation, but since these are extremely difficult to +implement in the present \TeX{} source, these runtime parameters provide +a practical compromise allowing some flexibility. + + +\begin{comment} +\section{Building on a new Unix platform} + +If you have a platform for which executables are not included, you will +need to compile \TeX{} and friends. This is not as hard as it +sounds. What you need is all in the directory \texttt{source} in the +distribution. + +\subsection{Prerequisites} + +You will need at least 100 megabytes of disk space to compile all of +\TeX{} and its support programs. You'll also need an \acro{ANSI} C +compiler, a \cmdname{make} utility, a lexical scanner, and a parser +generator. We recommend the \GNU version of these programs +(\cmdname{gcc}, \GNU \cmdname{make}, \cmdname{m4}, \cmdname{flex}, +\cmdname{bison}). You may be able to work with other C compilers and +\cmdname{make} programs, but you will need a good understanding of +building Unix programs to sort out problems. + +Also, the command \texttt{uname} must return a sensible value. + + +\subsection{Configuration} + +To begin, perform a normal installation of \TL{} to your disk (see +section~\ref{sec:install-disk} on +\p.\pageref{sec:install-disk}). You may wish to skip installing +all of the prebuilt binaries. + +Then, unpack the source from the compressed \texttt{tar} file in the +directory \dirname{source} to your disk and change directory to where +you placed it. + +Next, run \cmdname{configure} with a command line like this: +\begin{alltt} +> \Ucom{sh configure -prefix=/usr/local/TeX} +\end{alltt} + +The \optname{-prefix} directory is the one where you installed the +support tree; the directory layout will be as follows (where \$TEXDIR +stands for the directory you chose): + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/share/texmf} & main tree with fonts,\\ + & \qquad macros, etc\\ + \dirname{$TEXDIR/man} & Unix manual pages\\ + \dirname{$TEXDIR/info} & \GNU style Info manuals\\ + \dirname{$TEXDIR/bin/$PLATFORM} & binaries\\ +\end{tabular} +%$ + +If you want to leave out the \dirname{$PLATFORM} directory level, +i.e., put the binaries directly into \dirname{$TEXDIR/bin}, specify +the \verb|--disable-multiplatform| option to \cmdname{configure}. + +Have a look at the output of \verb|./configure --help| for more +options you can use. For example, you can skip building of \OMEGA{} and +\eTeX{}. + + +\subsection{Running \cmdname{make}} + +Make sure the shell variable or option \texttt{noclobber} is not set. +Then, run the main \cmdname{make} like this: +\begin{alltt} +> \Ucom{make world} +\end{alltt} +and relax\ldots + +Alternatively, you want to log all the output, as in: +\begin{alltt} +> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} + +Before you believe that everything went ok, please check the log file +for errors: \GNU \cmdname{make} always uses the string \samp{***} +whenever a command fails. Also, check if all the programs were built: + +\begin{alltt} +> \Ucom{cd \var{TEXDIR}/bin/\var{archname}} +> \Ucom{ls | wc} +\end{alltt} +The result should be over 200 (you can check the exact number with the +\dirname{bin} directory contents in the distribution). + +If you need special privileges for \texttt{make install}, you can +separate the \samp{make world} into two different runs, like this: +\begin{alltt} +> \Ucom{make all} +> \Ucom{su} +> \Ucom{make install strip} +\end{alltt} + +After you've installed your new binaries, you should follow the normal +post-installation procedures, given in section~\ref{sec:postinstall} +(\p.\pageref{sec:postinstall}). + +Also, if you'd like to make your binaries available to others, please +contact us. We'll be happy to put them on the \TL\ web pages. +\end{comment} + +\htmlanchor{ack} +\section{Acknowledgements} + +\TL{} is a joint effort by virtually all of the \TeX{} user groups. +This edition of \TL{} was overseen by Karl Berry. The other principal +contributors, past and present, are listed below. + +\begin{itemize*} + +\item The English, German, Dutch, and Polish \TeX{} user groups +(\acro{TUG}, \acro{DANTE} e.V., \acro{NTG}, and \acro{GUST}, +respectively), which provide the necessary technical and administrative +infrastructure. Please join the \TeX\ user group near you! (See +\url{http://tug.org/usergroups.html}.) + +\item The \acro{CTAN} team, notably Robin Fairbairns, Jim Hef{}feron, +and Rainer Sch\"opf, which distributes the \TL{} images and provides the +common infrastructure for package updates, upon which \TL{} depends. + +\item Nelson Beebe, for making many platforms available to \TL\ +developers, and his own comprehensive testing. + +\item John Bowman, for making many changes to his advanced graphics +program Asymptote to make it work in \TL. + +\item Peter Breitenlohner and the \eTeX\ team for the stable foundation +of future \TeX's, and Peter specifically for stellar help with \GNU\ +autotools usage throughout \TL. + +\item Jin-Hwan Cho and all of the DVIPDFM$x$ team, for their +excellent driver and responsiveness to configuration issues. + +\item Thomas Esser, without whose marvelous \teTeX{} package \TL{} +would have never existed. + +\item Michel Goossens, who co-authored the original documentation. + +\item Eitan Gurari, whose \TeX4ht is used to create the \HTML{} +version of this documentation, and who worked tirelessly to improve it +at short notice, every year. Eitan prematurely passed away in June +2009, and we dedicate this documentation to his memory. + +\item Hans Hagen, for much testing and making his \ConTeXt\ format +(\url{http://pragma-ade.com}) work within \TL's framework. + +\item \Thanh, Martin Schr\"oder, and the pdf\TeX\ team +(\url{http://pdftex.org}) for continuing enhancements of \TeX's +abilities. + +\item Hartmut Henkel, for significant development contributions to +pdf\TeX\, Lua\TeX, and more. + +\item Taco Hoekwater, for major renewed development efforts on MetaPost and +(Lua)\TeX\ (\url{http://luatex.org}) itself, incorporating +\ConTeXt\ into \TL, giving Kpathsea multi-threaded functionality, and +much more. + +\item Pawe{\l} Jackowski, for the Windows installer \cmdname{tlpm}, +and Tomasz {\L}uczak, for \cmdname{tlpmgui}, used in past releases. + +\item Akira Kakuto, for providing the Windows +binaries from his \acro{W32TEX} distribution for Japanese \TeX\ +(\url{http://w32tex.org}), and many other development contributions. + +\item Jonathan Kew, for developing the remarkable \XeTeX{} engine and +taking the time and trouble to integrate it in \TL{}, as well as the +initial version of the Mac\TeX\ installer, and also for our recommended +front-end \TeX{}works. + +\item Dick Koch, for maintaining Mac\TeX\ (\url{http://tug.org/mactex}) +in very close tandem with \TL{}, and for his great good cheer in doing +so. + +\item Reinhard Kotucha, for major contributions to the \TL{} 2008 +infrastructure and installer, as well as Windows research efforts, the +\texttt{getnonfreefonts} script, and more. + +\item Siep Kroonenberg, also for major contributions to the \TL{} 2008 +infrastructure and installer, especially on Windows, and for the bulk of +work updating this manual describing those features. + +\item Heiko Oberdiek, for the \pkgname{epstopdf} package and many +others, compressing the huge \pkgname{pst-geo} data files so we could +include them, and most of all, for his remarkable work on +\pkgname{hyperref}. + +\item Petr Ol\v{s}ak, who coordinated and checked all the Czech and Slovak +material very carefully. + +\item Toshio Oshima, for his \cmdname{dviout} previewer for Windows. + +\item Manuel P\'egouri\'e-Gonnard, for helping with package updates, +documentation improvements, and \cmdname{texdoc} development. + +\item Fabrice Popineau, for the original Windows support in \TL{} and +work on the French documentation. + +\item Norbert Preining, the principal architect of the \TL{} 2008 +infrastructure and installer, and also for coordinating the Debian +version of \TL{} (together with Frank K\"uster), making many suggestions +along the way. + +\item Sebastian Rahtz, for originally creating \TL{} and maintaining it +for many years. + +\item Phil Taylor, for setting up the BitTorrent downloads. + +\item Tomasz Trzeciak, for wide-ranging help with Windows. + +\item Vladimir Volovich, for substantial help with porting and other +maintenance issues, and especially for making it feasible to include +\cmdname{xindy}. + +\item Staszek Wawrykiewicz, the principal tester for all of \TL{}, +and coordinator of the many major Polish contributions: fonts, Windows +installation, and more. + +\item Olaf Weber, for his patient maintenance of \Webc. + +\item Gerben Wierda, for creating and maintaining the original \MacOSX\ +support, and much integration and testing. + +\item Graham Williams, on whose work the \TeX\ Catalogue of packages depends. + +\end{itemize*} + +Builders of the binaries: +Alan Braslau (\pkgname{amd64-kfreebsd}, \pkgname{i386-kfreebsd}), +Peter Breitenlohner (\pkgname{x86\_64-linux}), +Karl Berry (\pkgname{i386-linux}, \pkgname{sparc-linux}), +Ken Brown (\pkgname{i386-cygwin}), +Akira Kakuto (\pkgname{win32}), +Dick Koch (\pkgname{universal-darwin}, \pkgname{x86\_64-darwin}), +Nikola Le\v{c}i\'c (\pkgname{amd64-freebsd}, \pkgname{i386-freebsd}), +Norbert Preining (\pkgname{alpha-linux}), +Jukka Salmi (\pkgname{i386-netbsd}), +Thomas Schmitz (\pkgname{powerpc-linux}), +Apostolos Syropoulos (\pkgname{i386-solaris}, \pkgname{x86\_64-solaris}), +Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-solaris}), +Olaf Weber (\pkgname{mips-irix}). +For information on the \TL{} build process, see +\url{http://tug.org/texlive/build.html}. + +Current documentation translators: +Boris Veytsman (Russian), +Jjgod Jiang, Jinsong Zhao, Yue Wang, \& Helin Gai (Chinese), +Klaus H\"oppner (German), +Manuel P\'egouri\'e-Gonnard (French), +Marco Pallante (Italian), +Nikola Le\v{c}i\'c (Serbian), +Petr Sojka \& Jan Busa (Czech\slash Slovak), +Staszek Wawrykiewicz (Polish). The \TL{} documentation web page +is \url{http://tug.org/texlive/doc.html}. + +Of course the most important acknowledgement must go to Donald Knuth, +first for inventing \TeX, and then for giving it to the world. + + + +\section{Release history} +\label{sec:history} + +\subsection{Past} + +Discussion began in late 1993 when the Dutch \TeX{} Users Group was +starting work on its 4All\TeX{} \CD{} for \acro{MS-DOS} users, and it +was hoped at that time to issue a single, rational, \CD{} for all +systems. This was too ambitious a target for the time, but it did spawn +not only the very successful 4All\TeX{} \CD{}, but also the \acro{TUG} +Technical Council working group on a \emph{\TeX{} Directory Structure} +(\url{http://tug.org/tds}), which specified how to create consistent and +manageable collections of \TeX{} support files. A complete draft of the +\TDS{} was published in the December 1995 issue of \textsl{TUGboat}, and +it was clear from an early stage that one desirable product would be a +model structure on \CD{}. The distribution you now have is a very direct +result of the working group's deliberations. It was also clear that the +success of the 4All\TeX{} \CD{} showed that Unix users would benefit +from a similarly easy system, and this is the other main strand of +\TL. + +We first undertook to make a new Unix-based \TDS{} \CD{} in the autumn +of 1995, and quickly identified Thomas Esser's \teTeX{} as the ideal +setup, as it already had multi-platform support and was built with +portability across file systems in mind. Thomas agreed to help, and work +began seriously at the start of 1996. The first edition was released in +May 1996. At the start of 1997, Karl Berry completed a major new release +of Web2c, which included nearly all the features which Thomas Esser had +added in \teTeX, and we decided to base the 2nd edition of the \CD{} on +the standard \Webc, with the addition of \teTeX's \texttt{texconfig} +script. The 3rd edition of the \CD{} was based on a major revision of +\Webc, 7.2, by Olaf Weber; at the same time, a new revision of \teTeX +was being made, and \TL{} included almost all of its features. The +4th edition followed the same pattern, using a new version of \teTeX, +and a new release of \Webc{} (7.3). The system now included a complete +Windows setup. + +For the 5th edition (March 2000) many parts of the \CD{} were revised +and checked, updating hundreds of packages. Package details were stored +in XML files. But the major change for \TeX\ Live 5 was that all +non-free software was removed. Everything in \TL{} is now intended +to be compatible with the Debian Free Software Guidelines +(\url{http://www.debian.org/intro/free}); we have done our best to check +the license conditions of all packages, but we would very much +appreciate hearing of any mistakes. + +The 6th edition (July 2001) had much more material updated. The major +change was a new install concept: the user could select a more exact set +of needed collections. Language-related collections were completely +reorganized, so selecting any of them installs not only macros, fonts, +etc., but also prepares an appropriate \texttt{language.dat}. + +The 7th edition of 2002 had the notable addition of \MacOSX{} support, +and the usual myriad of updates to all sorts of packages and +programs. An important goal was integration of the source back with +\teTeX, to correct the drift apart in versions~5 and~6. + +\subsubsection{2003} + +In 2003, with the continuing flood of updates and additions, we found +that \TL{} had grown so large it could no longer be contained on a +single \CD, so we split it into three different distributions (see +section~\ref{sec:tl-coll-dists}, \p.\pageref{sec:tl-coll-dists}). In +addition: + +\begin{itemize*} +\item At the request of the \LaTeX{} team, we changed the standard + \cmdname{latex} and \cmdname{pdflatex} commands to now use \eTeX{} (see + \p.\pageref{text:etex}). +\item The new Latin Modern fonts were included (and are recommended). +\item Support for Alpha \acro{OSF} was removed + (\acro{HPUX} support was removed previously), since no one had (or + volunteered) hardware available on which to compile new binaries. +\item Windows setup was substantially changed; for the first time + an integrated environment based on XEmacs was introduced. +\item Important supplementary programs for Windows + (Perl, Ghost\-script, Image\-Magick, Ispell) are now installed + in the \TL{} installation directory. +\item Font map files used by \cmdname{dvips}, \cmdname{dvipdfm} + and \cmdname{pdftex} are now generated by the new program + \cmdname{updmap} and installed into \dirname{texmf/fonts/map}. +\item \TeX{}, \MF{}, and \MP{} now, by default, output most input + characters (32 and above) as themselves in output (e.g., + \verb|\write|) files, + log files, and the terminal, i.e., \emph{not} translated using the + \verb|^^| notation. In \TL{}~7, this translation was + dependent on the system locale settings; now, locale settings do + not influence the \TeX{} programs' behavior. If for some reason + you need the \verb|^^| output, rename the file + \verb|texmf/web2c/cp8bit.tcx|. (Future releases will have cleaner + ways to control this.) +\item This documentation was substantially revised. +\item Finally, since the edition numbers had grown unwieldy, + the version is now simply identified by the year: \TL{} 2003. +\end{itemize*} + + +\subsubsection{2004} + +2004 saw many changes: + +\begin{itemize} + +\item If you have locally-installed fonts which use their own +\filename{.map} or (much less likely) \filename{.enc} support files, you +may need to move those support files. + +\filename{.map} files are now searched for in subdirectories of +\dirname{fonts/map} only (in each \filename{texmf} tree), along the +\envname{TEXFONTMAPS} path. Similarly, \filename{.enc} files are now +searched for in subdirectories of \dirname{fonts/enc} only, along the +\envname{ENCFONTS} path. \cmdname{updmap} will attempt to warn about +problematic files. + +For methods of handling this and other information, please see +\url{http://tug.org/texlive/mapenc.html}. + +\item The \TK\ has been expanded with the addition of a \MIKTEX-based +installable \CD, for those who prefer that implementation to Web2C. +See section~\ref{sec:overview-tl} (\p.\pageref{sec:overview-tl}). + +\item Within \TL, the single large \dirname{texmf} tree of previous +releases has been replaced by three: \dirname{texmf}, +\dirname{texmf-dist}, and \dirname{texmf-doc}. See +section~\ref{sec:tld} (\p.\pageref{sec:tld}), and the \filename{README} +files for each. + +\item All \TeX-related input files are now collected in +the \dirname{tex} subdirectory of \dirname{texmf*} trees, rather than +having separate sibling directories \dirname{tex}, \dirname{etex}, +\dirname{pdftex}, \dirname{pdfetex}, etc. See +\CDref{texmf-dist/doc/generic/tds/tds.html\#Extensions} +{\texttt{texmf-dist/doc/generic/tds/tds.html\#Extensions}}. + +\item Helper scripts (not meant to be invoked by users) are now located +in a new \dirname{scripts} subdirectory of \dirname{texmf*} trees, and +can be searched for via \verb|kpsewhich -format=texmfscripts|. So if you have +programs which call such scripts, they'll need to be adjusted. See +\CDref{texmf-dist/doc/generic/tds/tds.html\#Scripts} +{\texttt{texmf-dist/doc/generic/tds/tds.html\#Scripts}}. + +\item Almost all formats leave most characters printable as +themselves via the ``translation file'' \filename{cp227.tcx}, instead of +translating them with the \verb|^^| notation. Specifically, characters +at positions 32--256, plus tab, vertical tab, and form feed are +considered printable and not translated. The exceptions are plain \TeX\ +(only 32--126 printable), \ConTeXt\ (0--255 printable), and the +\OMEGA-related formats. This default behavior is almost the same as in +\TL\,2003, but it's implemented more cleanly, with more possibilities +for customization. See \CDref{texmf/doc/web2c/web2c.html\#TCX-files} +{\texttt{texmf/doc/web2c/web2c.html\#TCX-files}}. +(By the way, with Unicode input, \TeX\ may output partial character +sequences when showing error contexts, since it is byte-oriented.) + +\item \textsf{pdfetex} is now the default engine for all formats +except (plain) \textsf{tex} itself. (Of course it generates \acro{DVI} +when run as \textsf{latex}, etc.) This means, among other things, that +the microtypographic features of \textsf{pdftex} are available in +\LaTeX, \ConTeXt, etc., as well as the \eTeX\ features +(\OnCD{texmf-dist/doc/etex/base/}). + +It also means it's \emph{more important than ever} to use the +\pkgname{ifpdf} package (works with both plain and \LaTeX) or equivalent +code, because simply testing whether \cs{pdfoutput} or some other +primitive is defined is not a reliable way to determine if \acro{PDF} +output is being generated. We made this backward compatible as best we +could this year, but next year, \cs{pdfoutput} may be defined even when +\acro{DVI} is being written. + +\item pdf\TeX\ (\url{http://pdftex.org}) has many new features: + + \begin{itemize*} + + \item \cs{pdfmapfile} and \cs{pdfmapline} provide font map support + from within a document. + + \item Microtypographic font expansion can be used more easily.\\ + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} + + \item All parameters previously set through the special configuration + file \filename{pdftex.cfg} must now be set through primitives, + typically in \filename{pdftexconfig.tex}; \filename{pdftex.cfg} is no + longer supported. Any extant \filename{.fmt} files must be redumped + when \filename{pdftexconfig.tex} is changed. + + \item See the pdf\TeX\ manual for more: \OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf}. + + \end{itemize*} + +\item The \cs{input} primitive in \cmdname{tex} (and \cmdname{mf} and +\cmdname{mpost}) now accepts double quotes containing spaces and other +special characters. Typical examples: +\begin{verbatim} +\input "filename with spaces" % plain +\input{"filename with spaces"} % latex +\end{verbatim} +See the Web2C manual for more: \OnCD{texmf/doc/web2c}. + +\item enc\TeX\ support is now included within Web2C and consequently all +\TeX\ programs, via the \optname{-enc} option\Dash \emph{only when +formats are built}. enc\TeX\ supports general re-encoding of input and +output, enabling full support of Unicode (in \acro{UTF}-8). See +\OnCD{texmf-dist/doc/generic/enctex/} and +\url{http://www.olsak.net/enctex.html}. + +\item Aleph, a new engine combining \eTeX\ and \OMEGA, is available. +A little information is available in \OnCD{texmf-dist/doc/aleph/base} +and \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph}. The +\LaTeX-based format for Aleph is named \textsf{lamed}. + +\item The latest \LaTeX\ release has a new version of the +\acro{LPPL}\Dash now officially a Debian-approved license. Assorted +other updates, see the \filename{ltnews} files in +\OnCD{texmf-dist/doc/latex/base}. + +\item \cmdname{dvipng}, a new program for converting \acro{DVI} to +\acro{PNG} image files, is included. See \OnCD{texmf/doc/man/man1/dvipng.1}. + +\item We reduced the \pkgname{cbgreek} package to a ``medium'' sized set +of fonts, with the assent and advice of the author (Claudio Beccari). +The excised fonts are the invisible, outline, and transparency ones, +which are relatively rarely used, and we needed the space. The full set +is of course available from \acro{CTAN} +(\url{http://www.ctan.org/tex-archive/fonts/greek/cb}). + +\item \cmdname{oxdvi} has been removed; just use \cmdname{xdvi}. + +\item The \cmdname{ini} and \cmdname{vir} commands (links) for +\cmdname{tex}, \cmdname{mf}, and \cmdname{mpost} are no longer created, +such as \cmdname{initex}. The \cmdname{ini} functionality has been +available through the command-line option \optname{-ini} for years now. + +\item \textsf{i386-openbsd} platform support was removed. Since the +\pkgname{tetex} package in the \acro{BSD} Ports system is available, and +\acro{GNU/}Linux and Free\acro{BSD} binaries were available, it seemed +volunteer time could be better spent elsewhere. + +\item On \textsf{sparc-solaris} (at least), you may have to set the +\envname{LD\_LIBRARY\_PATH} environment variable to run the +\pkgname{t1utils} programs. This is because they are compiled with C++, +and there is no standard location for the runtime libraries. (This is +not new in 2004, but wasn't previously documented.) Similarly, on +\textsf{mips-irix}, the \acro{MIPS}pro 7.4 runtimes are required. + +\end{itemize} + +\subsubsection{2005} + +2005 saw the usual huge number of updates to packages and programs. +The infrastructure stayed relatively stable from 2004, but inevitably +there were some changes there as well: + +\begin{itemize} + +\item New scripts \cmdname{texconfig-sys}, \cmdname{updmap-sys}, and + \cmdname{fmtutil-sys} were introduced, which modify the + configuration in the system trees. The \cmdname{texconfig}, + \cmdname{updmap}, and \cmdname{fmtutil} scripts now modify + user-specific files, under \dirname{$HOME/.texlive2005}. + +\item Corresponding new variables \envname{TEXMFCONFIG} and + \envname{TEXMFSYSCONFIG} to specify the trees where configuration + files (user or system, respectively) are found. Thus, you may + need to move personal versions of \filename{fmtutil.cnf} and + \filename{updmap.cfg} to these places; another option is to + redefine \envname{TEXMFCONFIG} or \envname{TEXMFSYSCONFIG} in + \filename{texmf.cnf}. In any case the real location of these files + and the values of \envname{TEXMFCONFIG} and \envname{TEXMFSYSCONFIG} + must agree. + See section~\ref{sec:texmftrees}, \p.\pageref{sec:texmftrees}. + +\item Last year, we kept \verb|\pdfoutput| and other primitives undefined + for \dvi\ output, even though the \cmdname{pdfetex} program was + being used. This year, as promised, we undid that compatibility + measure. So if your document uses \verb|\ifx\pdfoutput\undefined| + to test if PDF is being output, it will need to be changed. You + can use the package \pkgname{ifpdf.sty} (which works under both + plain \TeX\ and \LaTeX) to do this, or steal its logic. + +\item Last year, we changed most formats to output (8-bit) characters as + themselves (see previous section). The new TCX file + \filename{empty.tcx} now provides an easier way to get the + original \verb|^^| notation if you so desire, as in: +\begin{verbatim} +latex --translate-file=empty.tcx yourfile.tex +\end{verbatim} + +\item The new program \cmdname{dvipdfmx} is included for translation of + DVI to PDF; this is an actively maintained update of + \cmdname{dvipdfm} (which is also still available for now, though + no longer recommended). + +\item The new programs \cmdname{pdfopen} and \cmdname{pdfclose} are included + to allow reloading of pdf files in the Adobe Acrobat Reader without + restarting the program. (Other pdf readers, notably \cmdname{xpdf}, + \cmdname{gv}, and \cmdname{gsview}, have never suffered from this + problem.) + +\item For consistency, the variables \envname{HOMETEXMF} and + \envname{VARTEXMF} have been renamed to \envname{TEXMFHOME} and + \envname{TEXMFSYSVAR}, respectively. There is also + \envname{TEXMFVAR}, which is by default user-specific. See the + first point above. + +\end{itemize} + + +\subsubsection{2006--2007} + +In 2006--2007, the major new addition to \TL{} was the \XeTeX{} program, +available as the \texttt{xetex} and \texttt{xelatex} programs; see +\url{http://scripts.sil.org/xetex}. + +MetaPost also received a notable update, with more planned for the +future (\url{http://tug.org/metapost/articles}), likewise pdf\TeX{} +(\url{http://tug.org/applications/pdftex}). + +The \TeX\ \filename{.fmt} (high-speed format) and the similar files for +MetaPost and \MF\ are now stored in subdirectories of \dirname{texmf/web2c}, +instead of in the directory itself (although the directory is still +searched, for the sake of existing \filename{.fmt}'s). The +subdirectories are named for the `engine' in use, such as \filename{tex} +or \filename{pdftex} or \filename{xetex}. This change should be +invisible in normal use. + +The (plain) \texttt{tex} program no longer reads \texttt{\%\&} first +lines to determine what format to run; it is the pure Knuthian \TeX. +(\LaTeX\ and everything else do still read \texttt{\%\&} lines). + +Of course the year also saw (the usual) hundreds of other updates to +packages and programs. As usual, please check \acro{CTAN} +(\url{http://www.ctan.org}) for updates. + +Internally, the source tree is now stored in Subversion, with a standard +web interface for viewing the tree, as linked from our home page. +Although not visible in the final distribution, we expect this will +provide a stable development foundation for future years. + +Finally, in May 2006 Thomas Esser announced that he would no longer be +updating te\TeX{} (\url{http://tug.org/tetex}). As a result, there was +been a surge of interest in \TL{}, especially among \GNU/Linux +distributors. (There is a new \texttt{tetex} installation scheme in +\TL{}, which provides an approximate equivalent.) We hope this will +eventually translate to improvements in the \TeX\ environment for +everyone. + +\subsubsection{2008} + +In 2008, the entire \TL{} infrastructure was redesigned and +reimplemented. Complete information about an installation is now stored +in a plain text file \filename{tlpkg/texlive.tlpdb}. + +Among other things, this finally makes possible upgrading a \TL{} +installation over the Internet after the initial installation, a feature +MiK\TeX\ has provided for many years. We expect to regularly update new +packages as they are released to \CTAN. + +The major new engine Lua\TeX\ (\url{http://luatex.org}) is included; +besides a new level of flexibility in typesetting, this provides an +excellent scripting language for use both inside and outside of \TeX\ +documents. + +Support among Windows and the Unix-based platforms is now much more +uniform. In particular, most Perl and Lua scripts are now available on +Windows, using the Perl internally distributed with \TL. + +The new \cmdname{tlmgr} script (section~\ref{sec:tlmgr}) is the +general interface for managing \TL{} after the initial installation. +It handles package updates and consequent regeneration of formats, map +files, and language files, optionally including local additions. + +With the advent of \cmdname{tlmgr}, the \cmdname{texconfig} actions to +edit the format and hyphenation configuration files are now disabled. + +The \cmdname{xindy} indexing program +(\url{http://xindy.sourceforge.net/}) is now included on most platforms. + +The \cmdname{kpsewhich} tool can now report all matches for a given file +(option \optname{--all}) and limit matches to a given subdirectory +(option \optname{--subdir}). + +The \cmdname{dvipdfmx} program now includes functionality to extract +bounding box information, via the command name \cmdname{extractbb}; this +was one of the last features provided by \cmdname{dvipdfm} not in +\cmdname{dvipdfmx}. + +The font aliases \filename{Times-Roman}, \filename{Helvetica}, and so on +have been removed. Different packages expected them to behave +differently (in particular, to have different encodings), and there was +no good way to resolve this. + +The \pkgname{platex} format has been removed, to resolve a name conflict +with a completely different Japanese \pkgname{platex}; the +\pkgname{polski} package is now the main Polish support. + +Internally, the \web\ string pool files are now compiled into the +binaries, to ease upgrades. + +Finally, the changes made by Donald Knuth in his `\TeX\ tuneup of 2008' +are included in this release. See +\url{http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}. + +\subsubsection{2009} + +In 2009, the default output format for Lua\AllTeX\ is now PDF, to take +advantage of Lua\TeX's OpenType support, et al. New executables named +\code{dviluatex} and \code{dvilualatex} run Lua\TeX\ with DVI output. +The Lua\TeX\ home page is \url{http://luatex.org}. + +The original Omega engine and Lambda format have been excised, after +discussions with the Omega authors. The updated Aleph and Lamed remain, +as do the Omega utilities. + +A new release of the AMS \TypeI\ fonts is included, including Computer +Modern: a few shape changes made over the years by Knuth in the Metafont +sources have been integrated, and the hinting has been updated. The +Euler fonts have been thoroughly reshaped by Hermann Zapf (see +\url{http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf}). In +all cases, the metrics remain unchanged. The AMS fonts home page is +\url{http://www.ams.org/tex/amsfonts.html}. + +The new GUI front end \TeX{}works is included for Windows, and also in +Mac\TeX. For other platforms, and more information, see the \TeX{}works +home page, \url{http://tug.org/texworks}. It is a cross-platform front +end inspired by the \MacOSX\ TeXShop editor, aiming at ease-of-use. + +The graphics program Asymptote is included for several platforms. This +implements a text-based graphics description language vaguely akin to +MetaPost, but with advanced 3D support and other features. Its home +page is \url{http://asymptote.sourceforge.net}. + +The separate \code{dvipdfm} program has been replaced by +\code{dvipdfmx}, which operates in a special compatibility mode under +that name. \code{dvipdfmx} includes \acro{CJK} support and has +accumulated many other fixes over the years since the last +\code{dvipdfm} release. The DVIPDFMx home page is +\url{http://project.ktug.or.kr/dvipdfmx}. + +Executables for the \pkgname{cygwin} and \pkgname{i386-netbsd} platforms +are now included, while we were advised that Open\acro{BSD} users get +\TeX\ through their package systems, plus there were difficulties in +making binaries that have a chance of working on more than one version. + +A miscellany of smaller changes: we now use \pkgname{xz} compression, +the stable replacement for \pkgname{lzma} +(\url{http://tukaani.org/xz/}); a literal |$| is allowed in filenames +when it does not introduce a known variable name; the Kpathsea library +is now multi-threaded (made use of in MetaPost); the entire \TL{} build +is now based on Automake. + +Final note on the past: all releases of \TL{}, along with ancillary +material such as \CD\ labels, are available at +\url{ftp://tug.org/historic/systems/texlive}. + + +% +\htmlanchor{news} +\subsection{Present} +\label{sec:tlcurrent} +\label{sec:2010news} % keep with 2010 + +In 2010, the default version for PDF output is now 1.5, enabling more +compression. This applies to all the \TeX\ engines when used to produce +PDF and to \code{dvipdfmx}. Loading the \pkgname{pdf14} \LaTeX\ package +changes back to PDF~1.4, or set |\pdfminorversion=4|. + +pdf\AllTeX\ now \emph{automatically} converts a requested Encapsulated +PostScript (EPS) file to PDF, via the \pkgname{epstopdf} package, when +and if the \LaTeX\ \code{graphics.cfg} configuration file is loaded, and +PDF is being output. The default options are intended to eliminate any +chance of hand-created PDF files being overwritten, but you can also +prevent \code{epstopdf} from being loaded at all by putting +|\newcommand{\DoNotLoadEpstopdf}{}| (or |\def...|) before the +\cs{documentclass} declaration. It is also not loaded if the +\pkgname{pst-pdf} package is used. For more details, see the +\pkgname{epstopdf} package documentation +(\url{http://ctan.org/pkg/epstopdf-pkg}). + +A related change is that execution of a very few external commands from +\TeX, via the \cs{write18} feature, is now enabled by default. These +are commands are \code{repstopdf}, \code{makeindex}, \code{kpsewhich}, +\code{bibtex}, and \code{bibtex8}; the list is defined in +\code{texmf.cnf}. Environments which must disallow all such external +commands can deselect this option in the installer (see +section~\ref{sec:options}), or override the value after installation by +running |tlmgr conf texmf shell_escape 0|. + +Yet another related change is that \BibTeX\ and Makeindex now refuse to +write their output files to an arbitrary directory (like \TeX\ itself), +by default. This is so they can now be enabled for use by the +restricted \cs{write18}. To change this, the \envname{TEXMFOUTPUT} +environment variable can be set, or the |openout_any| setting changed. + +\XeTeX\ now supports margin kerning along the same lines as pdf\TeX. +(Font expansion is not presently supported.) + +By default, \prog{tlmgr} now saves one backup of each package updated +(\code{tlmgr option autobackup 1}), so broken packages updates can be +easily reverted with \code{tlmgr restore}. If you do post-install +updates, and don't have the disk space for the backups, run \code{tlmgr +option autobackup 0}. + +New programs included: the p\TeX\ engine and related utilities for +typesetting Japanese; the \BibTeX{}U program for Unicode-enabled +\BibTeX; the \prog{chktex} utility +(\url{http://baruch.ev-en.org/proj/chktex}) for checking \AllTeX\ +documents; the \prog{dvisvgm} (\url{http://dvisvgm.sourceforge.net}) +DVI-to-SVG translator. + +Executables for these new platforms are now included: \code{amd64-freebsd}, +\code{amd64-kfreebsd}, \code{i386-freebsd}, \code{i386-kfreebsd}, +\code{x86\_64-darwin}, \code{x86\_64-solaris}. + +A change in \TL{} 2009 that we failed to note: numerous \TeX4ht-related +executables (\url{http://tug.org/tex4ht}) were removed from the binary +directories. The generic \code{mk4ht} program can be used to run any of +the various \code{tex4ht} combinations. + +Finally, the \TL{} release on the \TK\ \DVD\ can no longer be run +live (oddly enough). A single \DVD\ no longer has enough room. One +benefit is that installation from the physical \DVD\ should now be much +faster. + + +\subsection{Future} + +\emph{\TL{} is not perfect!} (And never will be.) We intend to +continue to release new versions, and would like to provide more help +material, more utilities, more installation programs, and (of course) an +ever-improved and better-checked tree of macros and fonts. This work is +all done by volunteers in their spare time, and so there is always more +to do. Please see \url{http://tug.org/texlive/contribute.html}. + +Please send corrections, suggestions, and offers of help to: +\begin{quote} +\email{tex-live@tug.org} \\ +\url{http://tug.org/texlive} +\end{quote} + +\medskip +\noindent \textsl{Happy \TeX ing!} + +\end{document} diff --git a/Master/texmf-dist/doc/texlive/texlive-en/archive/live-2011.tex b/Master/texmf-dist/doc/texlive/texlive-en/archive/live-2011.tex new file mode 100644 index 00000000000..540c2e7df6e --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/archive/live-2011.tex @@ -0,0 +1,3303 @@ +% $Id: texlive-en.tex 22906 2011-06-10 23:20:20Z karl $ +% TeX Live documentation. Originally written by Sebastian Rahtz and +% Michel Goossens, now maintained by Karl Berry and others. +% Public domain. +% +\documentclass{article} +\let\tldocenglish=1 % for live4ht.cfg +\usepackage{tex-live} +\usepackage[latin1]{inputenc} % translators: use your preferred encodings. +\usepackage[T1]{fontenc} + +\begin{document} + +\title{% + {\huge \textit{The \TeX\ Live Guide}\\\smallskip}% + {\LARGE \textsf{\TL{} 2011}}% +} + +\author{Karl Berry, editor \\[3mm] + \url{http://tug.org/texlive/} + } + +\date{June 2011} + +\maketitle + +\begin{multicols}{2} +\tableofcontents +%\listoftables +\end{multicols} + +\section{Introduction} +\label{sec:intro} + +\subsection{\TeX\ Live and the \TeX\ Collection} + +This document describes the main features of the \TL{} software +distribution\Dash \TeX{} and related programs for \GNU/Linux +and other Unix flavors, \MacOSX, and Windows systems. + +You may have acquired \TL{} by downloading, or on the \TK{} \DVD, which +\TeX{} user groups distribute among their members, or in other ways. +Section \ref{sec:tl-coll-dists} briefly describes the contents of the +\DVD. Both \TL{} and the \TK{} are cooperative efforts by the \TeX{} +user groups. This document mainly describes \TL{} itself. + +\TL{} includes executables for \TeX{}, \LaTeXe{}, \ConTeXt, +\MF, \MP, \BibTeX{} and many other programs; an extensive collection +of macros, fonts and documentation; and support for typesetting in +many different scripts from around the world. + +For a brief summary of the major changes in this edition of \TL{}, +see the end of the document, section~\ref{sec:history} +(\p.\pageref{sec:history}). + + +\subsection{Operating system support} +\label{sec:os-support} + +\TL{} contains binaries for many Unix-based platforms, including +\GNU/Linux, \MacOSX, and Cygwin. The included sources can be compiled +on platforms for which we do not provide binaries. + +As to Windows: Windows \acro{XP} and later are supported. Windows~2000 +will probably still mostly work. There are no special 64-bit +executables for Windows, but the 32-bit executables should run on 64-bit +systems. + +See section~\ref{sec:tl-coll-dists} for alternate solutions +for Windows and \MacOSX. + +\subsection{Basic installation of \protect\TL{}} +\label{sec:basic} + +You can install \TL{} either from \DVD{} or over the Internet +(\url{http://tug.org/texlive/acquire.html}). The net installer itself is +small, and downloads everything requested from the Internet. + +The \DVD{} installer lets you install to a local disk. You cannot run +\TL{} directly from the \TK{} \DVD{} (or its \code{.iso} image), but you +can prepare a runnable installation on, e.g., a \USB{} stick (see +section~\ref{sec:portable-tl}). Installation is described in later +sections (\p.\pageref{sec:install}), but here is a quick start: + +\begin{itemize*} + +\item The installation script is named \filename{install-tl}. It can + operate in a ``wizard mode'' given the option \code{-gui=wizard} + (default for Windows), a text mode given \code{-gui=text} (default for + everything else), and an expert \GUI{} mode given \code{-gui=perltk}. + +\item One of the installed items is the `\TL\ Manager' program, + named \prog{tlmgr}. Like the installer, it can be used in both \GUI{} + mode and in text mode. You can use it to install and uninstall + packages and do various configuration tasks. + +\end{itemize*} + + +\htmlanchor{security} +\subsection{Security considerations} +\label{sec:security} + +To the best of our knowledge, the core \TeX\ programs themselves are +(and always have been) extremely robust. However, the contributed +programs in \TeX\ Live may not reach the same level, despite everyone's +best efforts. As always, you should be careful when running programs on +untrusted input; for maximum safety, use a new subdirectory. + +This need for care is especially urgent on Windows, since in general +Windows finds programs in the current directory before anything else, +regardless of the search path. This opens up a wide variety of possible +attacks. We have closed many holes, but undoubtedly some remain, +especially with third-party programs. Thus, we recommend checking for +suspicious files in the current directory, especially executables +(binaries or scripts). Ordinarily they should not be present, and +definitely should not normally be created by merely processing a document. + +Finally, \TeX\ (and its companion programs) are able to write files when +processing documents, a feature that can also be abused in a wide +variety of ways. Again, processing unknown documents in a new +subdirectory is the safest bet. + + +\subsection{Getting help} +\label{sec:help} + +The \TeX{} community is active and friendly, and most serious questions +end up getting answered. However, the support is informal, done by +volunteers and casual readers, so it's especially important that you do +your homework before asking. (If you prefer guaranteed commercial +support, you can forgo \TL{} completely and purchase a vendor's system; +\url{http://tug.org/interest.html#vendors} has a list.) + +Here is a list of resources, approximately in the order we recommend +using them: + +\begin{description} +\item [Getting Started] If you are new to \TeX, the web page +\url{http://tug.org/begin.html} gives a brief introduction to the system. + +\item [\TeX{} \acro{FAQ}] The \TeX{} \acro{FAQ} is a huge compendium + of answers to all sorts of questions, from the most basic to the + most arcane. It is included on \TL{} in + \OnCD{texmf-dist/doc/generic/FAQ-en/html/index.html}, and is available + on the Internet through \url{http://www.tex.ac.uk/faq}. Please + check here first. + +\item [\TeX{} Catalogue] If you are looking for a specific package, +font, program, etc., the \TeX{} Catalogue is the place to look. It is a +huge collection of all \TeX{}-related items. See +\url{http://mirror.ctan.org/help/Catalogue/}. + +\item [\TeX{} Web Resources] The web page +\url{http://tug.org/interest.html} has many \TeX{}-related links, in +particular for numerous books, manuals, and articles on all aspects of +the system. + +\item [support archives] The two principal support forums are the +Usenet newsgroup \url{news:comp.text.tex} and the mailing list +\email{texhax@tug.org}. Their archives have years of past +questions and answers for your searching pleasure, via +\url{http://groups.google.com/group/comp.text.tex/topics} and +\url{http://tug.org/mail-archives/texhax}, respectively. And a general web +search, for example on \url{http://google.com}, never hurts. + +\item [asking questions] If you cannot find an answer, you can post to +\dirname{comp.text.tex} through Google or your newsreader, or to +\email{texhax@tug.org} through email. But before you post, +\emph{please} read this \acro{FAQ} entry, to maximize +your chances of getting a useful answer: +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. +Also worth mentioning are the \LaTeX{} Community site at +\url{http://www.latex-community.org/} and its forum +\url{http://www.latex-community.org/forum/}, and +\TeX\ StackExchange at \url{http://tex.stackexchange.com/}. + +\item [\TL{} support] If you want to report a bug or have +suggestions or comments on the \TL{} distribution, installation, or +documentation, the mailing list is \email{tex-live@tug.org}. However, +if your question is about how to use a particular program included in +\TL{}, please write to that program's maintainer or +mailing list. Often running a program with the \code{-{}-help} option +will provide a bug reporting address. + +\end{description} + +The other side of the coin is helping others who have questions. Both +\dirname{comp.text.tex} and \code{texhax} are open to anyone, so feel +free to join, start reading, and help out where you can. + + +% don't use \TL so the \uppercase in the headline works. Also so +% tex4ht ends up with the right TeX. Likewise the \protect's. +\section{Overview of \protect\TeX\protect\ Live} +\label{sec:overview-tl} + +This section describes the contents of \TL{} and the \TK{} of which it +is a part. + +\subsection{The \protect\TeX\protect\ Collection: \TL, pro\TeX{}t, Mac\TeX} +\label{sec:tl-coll-dists} + +The \TK{} \DVD{} comprises the following: + +\begin{description} + +\item [\TL] A complete \TeX{} system to be installed to disk. Its home +page is \url{http://tug.org/texlive/}. + +\item [Mac\TeX] for \MacOSX, this adds a native \MacOSX\ installer and other +Mac applications to \TL{}. Its home page is +\url{http://tug.org/mactex/}. + +\item [pro\TeX{}t] An enhancement of the \MIKTEX\ distribution for Windows, +\ProTeXt\ adds a few extra tools to \MIKTEX, and simplifies +installation. It is entirely independent of \TL{}, and has its own +installation instructions. The \ProTeXt\ home page is +\url{http://tug.org/protext}. + +\item [CTAN] A snapshot of the \CTAN{} repository (\url{http://www.ctan.org}). + +\item [\texttt{texmf-extra}] A directory with assorted additional packages. + +\end{description} + +\CTAN{}, \pkgname{protext}, and \dirname{texmf-extra} do not +necessarily follow the same copying conditions as \TL{}, so be careful +when redistributing or modifying. + + +\subsection{Top level \TL{} directories} +\label{sec:tld} + +Here is a brief listing and description of the top level directories in a +\TL{} installation. + +\begin{ttdescription} +\item[bin] The \TeX{} system programs, arranged by platform. +% +\item[readme-*.dir] Quick overview and useful links for \TL{}, +in various languages, in both \HTML{} and plain text. +% +\item[source] The source to all included programs, including the main + \Webc{}-based \TeX{} distributions. +% +\item[texmf] See \dirname{TEXMFMAIN} below. +% +\item[texmf-dist] See \dirname{TEXMFDIST} below. +% +\item[tlpkg] Scripts, programs and data for managing the + installation, and special support for Windows. +\end{ttdescription} + +In addition to the directories above, the installation scripts and +\filename{README} files (in various languages) are at the top level of +the distribution. + +For documentation, the comprehensive links in the top-level file +\OnCD{doc.html} may be helpful. The documentation for the programs +(manuals, man pages, Info files) is in \dirname{texmf/doc}. The +documentation for \TeX\ packages and formats is in +\dirname{texmf-dist/doc}. You can use the \cmdname{texdoc} program to +find any documentation wherever it is located. + +This \TL\ documentation itself is in \dirname{texmf/doc/texlive}, +available in several languages: + +\begin{itemize*} +\item{Czech/Slovak:} \OnCD{texmf/doc/texlive/texlive-cz} +\item{German:} \OnCD{texmf/doc/texlive/texlive-de} +\item{English:} \OnCD{texmf/doc/texlive/texlive-en} +\item{French:} \OnCD{texmf/doc/texlive/texlive-fr} +\item{Italian:} \OnCD{texmf/doc/texlive/texlive-it} +\item{Polish:} \OnCD{texmf/doc/texlive/texlive-pl} +\item{Russian:} \OnCD{texmf/doc/texlive/texlive-ru} +\item{Serbian:} \OnCD{texmf/doc/texlive/texlive-sr} +\item{Simplified Chinese:} \OnCD{texmf/doc/texlive/texlive-zh-cn} +\end{itemize*} + +\subsection{Overview of the predefined texmf trees} +\label{sec:texmftrees} + +This section lists the predefined variables specifying the texmf trees +used by the system, and their intended purpose, and the default layout +of \TL{}. The command \texttt{tlmgr~conf} shows the values of these +variables, so that you can easily find out how they map to particular +directories in your installation. + +All of the trees, including the personal ones, should follow the \TeX\ +Directory Structure (\TDS, \url{http://tug.org/tds}), with all its +myriad subdirectories, or files may not be found. Section +\ref{sec:local-personal-macros} (\p.\pageref{sec:local-personal-macros}) +describes this in more detail. + +\begin{ttdescription} +\item [TEXMFMAIN] The tree which holds vital parts of the + system such as configuration files, helper scripts, and program + documentation. +\item [TEXMFDIST] The tree which holds the main set of macro packages, + fonts, etc. +\item [TEXMFLOCAL] The tree which administrators can use for system-wide + installation of additional or updated macros, fonts, etc. +\item [TEXMFHOME] The tree which users can use for their own individual + installations of additional or updated macros, fonts, etc. + The expansion of this variable dynamically adjusts for each user to + their own individual directory. +\item [TEXMFCONFIG] The (personal) tree used by the utilities + \verb+texconfig+, \verb+updmap+, and \verb+fmtutil+ to store modified + configuration data. +\item [TEXMFSYSCONFIG] The (site-wide) tree used by the utilities + \verb+texconfig-sys+, \verb+updmap-sys+, and \verb+fmtutil-sys+ to + store modified configuration data. +\item [TEXMFVAR] The (personal) tree used by \verb+texconfig+, + \verb+updmap+ and \verb+fmtutil+ to store (cached) runtime data such + as format files and generated map files. +\item [TEXMFSYSVAR] The (site-wide) tree used by \verb+texconfig-sys+, + \verb+updmap-sys+ and \verb+fmtutil-sys+, and also by \verb+tlmgr+, to + store (cached) runtime data such as format files and generated map files. +\item [TEXMFCACHE] The tree(s) used by \ConTeXt\ Mk\acro{IV} + to store (cached) runtime data. +\end{ttdescription} + +\noindent +The default layout is: +\begin{description} + \item[system-wide root] can span multiple \TL{} releases: + \begin{ttdescription} + \item[2010] A previous release. + \item[2011] The current release. + \begin{ttdescription} + \item [bin] ~ + \begin{ttdescription} + \item [i386-linux] \GNU/Linux binaries + \item [...] + \item [universal-darwin] \MacOSX\ binaries + \item [win32] Windows binaries + \end{ttdescription} + \item [texmf\ \ \ \ \ \ \ ] This is \envname{TEXMFMAIN}. + \item [texmf-dist\ \ ] \envname{TEXMFDIST} + \item [texmf-var \ \ ] \envname{TEXMFSYSVAR} + \item [texmf-config] \envname{TEXMFSYSCONFIG} + \end{ttdescription} + \item [texmf-local] \envname{TEXMFLOCAL}, intended to be + retained from release to release. + \end{ttdescription} + \item[user's home] (\texttt{\$HOME} or + \texttt{\%USERPROFILE\%}) + \begin{ttdescription} + \item[.texlive2010] Privately generated and configuration data + for a previous release. + \item[.texlive2011] Privately generated and configuration data + for the current release. + \begin{ttdescription} + \item [texmf-var\ \ \ ] \envname{TEXMFVAR}, \envname{TEXMFCACHE} + \item [texmf-config] \envname{TEXMFCONFIG} + \end{ttdescription} + \item[texmf] \envname{TEXMFHOME} Personal macros, etc. + \end{ttdescription} +\end{description} + + +\subsection{Extensions to \protect\TeX} +\label{sec:tex-extensions} + +Knuth's original \TeX{} itself is frozen, apart from rare bug fixes. It +is still present in \TL\ as the program \prog{tex}, and will remain so +for the foreseeable future. \TL{} contains several extended versions of +\TeX: + +\begin{description} + +\item [\eTeX] adds a set of new primitives +\label{text:etex} (related to macro expansion, character scanning, +classes of marks, additional debugging features, and more) and the +\TeXXeT{} extensions for bidirectional typesetting. In default mode, +\eTeX{} is 100\% compatible with ordinary \TeX. See +\OnCD{texmf-dist/doc/etex/base/etex_man.pdf}. + +\item [pdf\TeX] builds on the \eTeX\ extensions, adding support for +writing \acro{PDF} output as well as \dvi{}, and many non-output-related +extensions. This is the program invoked for most formats, e.g., +\prog{etex}, \prog{latex}, \prog{pdflatex}. Its web site is +\url{http://www.pdftex.org/}. See +\OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf} for the manual, and +\OnCD{texmf-dist/doc/pdftex/manual/samplepdf/samplepdf.tex} for example +usage of some of its features. + +\item [Lua\TeX] is the designated successor of pdf\TeX, +and is mostly (but not entirely) backward-compatible. It is also +intended to be a functional superset of Aleph (see below), though +technical compatibility is not intended. The incorporated Lua +interpreter (\url{http://www.lua.org/}) enables elegant solutions for +many thorny \TeX{} problems. When called as \filename{texlua}, it +functions as a standalone Lua interpreter, and is already used as such +within \TL. Its web site is \url{http://www.luatex.org/}, and the +reference manual is \OnCD{texmf-dist/doc/luatex/luatexref-t.pdf}. + +\item [\XeTeX] adds support for Unicode input and OpenType- and system +fonts, implemented using standard third-party libraries. See +\url{http://tug.org/xetex}. + +\item [\OMEGA\ (Omega)] is based on Unicode (16-bit characters), thus +supports working with almost all the world's scripts simultaneously. It +also supports so-called `\OMEGA{} Translation Processes' (\acro{OTP}s), +for performing complex transformations on arbitrary input. Omega is no +longer included in \TL{} as a separate program; only Aleph is provided: + +\item [Aleph] combines the \OMEGA\ and \eTeX\ extensions. +See \OnCD{texmf-dist/doc/aleph/base}. + +\end{description} + + +\subsection{Other notable programs in \protect\TL} + +Here are a few other commonly-used programs included in \TL{}: + +\begin{cmddescription} + +\item [bibtex, bibtex8] bibliography support. + +\item [makeindex, xindy] index support. + +\item [dvips] convert \dvi{} to \PS{}. + +\item [xdvi] \dvi{} previewer for the X Window System. + +\item [dvilj] \dvi{} drive for the HP LaserJet family. + +\item [dviconcat, dviselect] cut and paste pages +from \dvi{} files. + +\item [dvipdfmx] convert \dvi{} to \acro{PDF}, an alternative approach +to pdf\TeX\ (mentioned above). + +\item [psselect, psnup, \ldots] \PS{} utilities. + +\item [pdfjam, pdfjoin, \ldots] \acro{PDF} utilities. + +\item [texexec, texmfstart] Con\TeX{}t and \acro{PDF} processor. + +\item [tex4ht] \TeX{} to \acro{HTML} (and \acro{XML} and more) converter. + +\end{cmddescription} + + +\subsection{Fonts in \protect\TL} +\label{sec:tl-fonts} + +\TL{} comes with many high-quality scalable fonts. See +\url{http://tug.org/fonts} and +\OnCD{texmf-dist/doc/fonts/free-math-font-survey}. + + +\htmlanchor{installation} +\section{Installation} +\label{sec:install} + +\subsection{Starting the installer} +\label{sec:inst-start} + +To begin, get the \TK{} \DVD{} or download the \TL{} net installer, and +locate the installer script: \filename{install-tl} for Unix, +\filename{install-tl.bat} for Windows. See +\url{http://tug.org/texlive/acquire.html} for more information and other +methods of getting the software. + +\begin{description} +\item [Net installer:] Download from \CTAN, under +\dirname{systems/texlive/tlnet}; the url +\url{http://mirror.ctan.org/systems/texlive/tlnet} will automatically +redirect to a nearby, up-to-date, mirror. You can retrieve either +\filename{install-tl.zip} which can be used under Unix and Windows, or +the considerably smaller \filename{install-unx.tar.gz} for Unix +only. After unpacking, \filename{install-tl} and +\filename{install-tl.bat} will be in the \dirname{install-tl} +subdirectory. + +\item [\TeX{} Collection \DVD:] go to the \DVD's \dirname{texlive} +subdirectory. Under Windows, the installer normally starts automatically +when you insert the \DVD. You can get the \DVD\ by becoming a member of +a \TeX\ user group (highly recommended, +\url{http://tug.org/usergroups.html}), or purchasing it separately +(\url{http://tug.org/store}), or burning your own from the \ISO\ image. +You can also mount the \ISO\ directly on most systems. After installing +from \DVD\ or \ISO, if you want to get continuing updates from the +Internet, please see \ref{sec:dvd-install-net-updates}. + +\end{description} + +The same installer program is run, whatever the source. The most +visible difference between the two is that with the net installer, what +you end up with is the packages that are currently available. This is +in contrast to the \DVD\ and \ISO\ images, which are not updated between +the major public releases. + +\noindent +The following sections explain installer start-up in more detail. + +\subsubsection{Unix} + +Below, \texttt{>} denotes the shell prompt; user input is +\Ucom{\texttt{bold}}. +The script \filename{install-tl} is a Perl script. The simplest way +to start it on a Unix-compatible system is as follows: +\begin{alltt} +> \Ucom{cd /path/to/installer} +> \Ucom{perl install-tl} +\end{alltt} +(Or you can invoke \Ucom{perl /path/to/installer/install-tl}, or +\Ucom{./install-tl} if it stayed executable, etc.; we won't repeat all +these variations.) You may have to enlarge your terminal window so +that it shows the full text installer screen (Figure~\ref{fig:text-main}). + +To install in expert \GUI\ mode (figure~\ref{fig:gui-main}), you'll +need the \dirname{Perl/TK} module compiled with \acro{XFT} support, +which is generally the case with \GNU/Linux, but not necessarily with other +systems. Given that, you can run: +\begin{alltt} +> \Ucom{perl install-tl -gui} +\end{alltt} + +For a complete listing of the various options: +\begin{alltt} +> \Ucom{perl install-tl -help} +\end{alltt} + +\textbf{Warning about Unix permissions:} Your \code{umask} at the time +of installation will be respected by the \TL{} installer. Therefore, if +you want your installation to be usable by users other than you, make +sure your setting is sufficiently permissive, for instance, \code{umask +002}. For more information about \code{umask}, consult your system +documentation. + +\textbf{Special considerations for Cygwin:} Unlike other +Unix-compatible systems, Cygwin does not by default include all of the +prerequisite programs needed by the \TL{} installer. See +Section~\ref{sec:cygwin} for details. + + +\subsubsection{MacOSX} + +As mentioned in section~\ref{sec:tl-coll-dists}, a separate distribution +is prepared for \MacOSX, named Mac\TeX\ (\url{http://tug.org/mactex}). +We recommend using the native Mac\TeX\ installer instead of the \TL\ +installer on \MacOSX, because the native installer makes a few +Mac-specific adjustments, in particular to allow easily switching +between the various \TeX\ distributions for \MacOSX\ (Mac\TeX, Fink, +MacPorts, \ldots). + +Mac\TeX\ is firmly based on \TL, and the main \TeX\ trees are precisely +the same. It does add a few extra folders with Mac-specific +documentation and applications. + + +\subsubsection{Windows} + +If you are using the net installer, or the \DVD\ installer failed to +start automatically, double-click \filename{install-tl.bat}. +For more customization options, e.g., selection of specific package +collections, run \filename{install-tl-advanced.bat} instead. + +You can also start the installer from the command-prompt. Below, +\texttt{>} denotes the prompt; user input is \Ucom{\texttt{bold}}. If +you are in the installer directory, run just: +\begin{alltt} +> \Ucom{install-tl} +\end{alltt} + +Or you can invoke it with an absolute location, such as: +\begin{alltt} +> \Ucom{D:\bs{}texlive\bs{}install-tl} +\end{alltt} +for the \TK\ \DVD, supposing that \dirname{D:} is the optical +drive. Figure~\ref{fig:wizard-w32} displays the wizard installer, which +is the default for Windows. + +To install in text mode, use: +\begin{alltt} +> \Ucom{install-tl -no-gui} +\end{alltt} + +For a complete listing of the various options: +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} + +\begin{figure}[tb] +\begin{boxedverbatim} +Installing TeX Live 2011 from: ... +Platform: i386-linux => 'Intel x86 with GNU/Linux' +Distribution: inst (compressed) +... + Detected platform: Intel x86 with GNU/Linux + + <B> platforms: 1 out of 19 + + <S> installation scheme (scheme-full) + 84 collections out of 85, disk space required: 2600 MB + + Customizing installation scheme: + <C> standard collections + <L> language collections + + <D> directories: + TEXDIR (the main TeX directory): + /usr/local/texlive/2011 + ... + + <O> options: + [ ] use letter size instead of A4 by default + ... + + <V> set up for portable installation + +Actions: + <I> start installation to hard disk + <H> help + <Q> quit +\end{boxedverbatim} +\caption{Main text installer screen (\GNU/Linux)}\label{fig:text-main} +\end{figure} + +\begin{figure}[tb] +\tlpng{install-lnx-main}{\linewidth,trim=10 4 0 20,clip} +\caption{Expert \GUI{} installer screen (\GNU/Linux)}\label{fig:gui-main} +\end{figure} + +\begin{figure}[tb] +\tlpng{wizard-w32}{\linewidth,trim=0 4 0 0,clip} +\caption{Wizard installer screen (Windows)}\label{fig:wizard-w32} +\end{figure} + + +\htmlanchor{cygwin} +\subsubsection{Cygwin} +\label{sec:cygwin} + +The \TL{} installer supports only Cygwin 1.7. +Before beginning the installation, use Cygwin's \filename{setup.exe} program to +install the \filename{perl} and \filename{wget} packages if you have +not already done so. The following additional packages are +recommended: +\begin{itemize*} +\item \filename{fontconfig} [needed by \XeTeX] +\item \filename{ghostscript} [needed by various utilities] +\item \filename{libXaw7} [needed by \code{xdvi}] +\item \filename{ncurses} [provides the \code{clear} command used by the installer] +\end{itemize*} + + +\subsubsection{The text installer} + +Figure~\ref{fig:text-main} displays the main text mode screen under +Unix. The text installer is the default on Unix. + +This is only a command-line installer; there is no cursor support at +all. For instance, you cannot tab around checkboxes or input fields. +You just type something (case-sensitive) at the prompt and press the +Enter key, and then the entire terminal screen will be rewritten, with +adjusted content. + +The text installer interface is this primitive for a reason: it +is designed to run on as many platforms as possible, even with a +very barebones Perl. + +\subsubsection{The expert graphical installer} + +Figure~\ref{fig:gui-main} displays the expert graphical installer under +\GNU/Linux. Other than using buttons and menus, this does +not differ much from the text installer. + +This mode can be invoked explicitly with +\begin{alltt} +> \Ucom{install-tl -gui=perltk} +\end{alltt} + + +\subsubsection{The simple wizard installer} + +Under Windows, the default is to run the simplest installation method we +could devise, called the ``wizard'' installer +(figure~\ref{fig:wizard-w32}). It installs everything and asks almost +no questions. If you want to customize your setup, you should run one +of the other installers. + +This mode can be invoked explicitly with +\begin{alltt} +> \Ucom{install-tl -gui=wizard} +\end{alltt} + + +\subsection{Running the installer} +\label{sec:runinstall} + +The installer is intended to be mostly self-explanatory, but following are a +few notes about the various options and submenus. + +\subsubsection{Binary systems menu (Unix only)} +\label{sec:binary} + +\begin{figure}[tb] +\begin{boxedverbatim} +Available platforms: +=============================================================================== + a [ ] alpha-linux DEC Alpha with GNU/Linux + b [ ] amd64-freebsd x86_64 with FreeBSD + c [ ] amd64-kfreebsd x86_64 with GNU/FreeBSD + d [ ] i386-cygwin Intel x86 with Cygwin + e [ ] i386-freebsd Intel x86 with FreeBSD + f [ ] i386-kfreebsd Intel x86 with GNU/FreeBSD + g [X] i386-linux Intel x86 with GNU/Linux + h [ ] i386-netbsd Intel x86 with NetBSD + i [ ] i386-solaris Intel x86 with Solaris + j [ ] mips-irix SGI IRIX + k [ ] powerpc-aix PowerPC with AIX + l [ ] powerpc-linux PowerPC with GNU/Linux + m [ ] sparc-linux Sparc with GNU/Linux + o [ ] sparc-solaris Sparc with Solaris + p [ ] universal-darwin universal binaries for MacOSX/Darwin + s [ ] win32 Windows + t [ ] x86_64-darwin x86_64 with MacOSX/Darwin + u [ ] x86_64-linux x86_64 with GNU/Linux + v [ ] x86_64-solaris x86_64 with Solaris +\end{boxedverbatim} +\caption{Binaries menu}\label{fig:bin-text} +\end{figure} + +Figure~\ref{fig:bin-text} displays the text mode binaries menu. By +default, only the binaries for your current platform will be installed. +From this menu, you can select installation of binaries for other +platforms as well. This can be useful if you are sharing a \TeX\ +tree across a network of heterogenous machines, or for a dual-boot +system. + +\subsubsection{Selecting what is to be installed} +\label{sec:components} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Select scheme: +=============================================================================== + a [ ] basic scheme (plain and LaTeX) + b [ ] ConTeXt scheme + c [X] full scheme (everything) + d [ ] GUST TeX Live scheme + e [ ] medium scheme (plain, latex, recommended packages, some languages) + f [ ] minimal scheme (plain only) + g [ ] teTeX scheme (more than medium, but nowhere near full) + h [ ] XML scheme + i [ ] custom selection of collections +\end{boxedverbatim} +\caption{Scheme menu}\label{fig:scheme-text} +\end{figure} + +Figure~\ref{fig:scheme-text} displays the \TL\ scheme menu; from here, +you choose a ``scheme'', which is an overall set of package collections. +The default \optname{full} scheme installs everything available. This +is recommended, but you can also choose the \optname{basic} scheme for a +small system, \optname{minimal} for testing purposes, and +\optname{medium} or \optname{teTeX} to get something in between. There +are also various specialized and country-specific schemes. + +\begin{figure}[tb] +\tlpng{stdcoll}{.7\linewidth,trim=0 4 0 0,clip} +\caption{Collections menu}\label{fig:collections-gui} +\end{figure} + +You can refine your scheme selection with the `standard collections' and +`language collections' menus (figure~\ref{fig:collections-gui}, shown in +\GUI\ mode for a change). + +Collections are one level more detailed than schemes\Dash in essence, a +scheme consists of several collections, a collection consists of one or +more packages, and a package (the lowest level grouping in \TL) contains +the actual \TeX\ macro files, font files, and so on. + +If you want more control than the collection menus provide, you can use +the \TeX\ Live Manager (\prog{tlmgr}) program after installation (see +section~\ref{sec:tlmgr}); using that, you can control the installation +at the package level. + +\subsubsection{Directories} +\label{sec:directories} + +The default layout is described in section~\ref{sec:texmftrees}, +\p.\pageref{sec:texmftrees}. The default location of +\dirname{TEXDIR} is \dirname{/usr/local/texlive/2011} on Unix +and |%SystemDrive%\texlive\2011| on Windows. + +The main reason to change this default is if you lack write permission +for the default location. You don't have to be root or administrator to +install \TL, but you do need write access to the target directory. + +A reasonable alternative choice is a directory under your home directory, +especially if you will be the sole user. Use +`|~|' to indicate this, as in `|~/texlive/2011|'. + +We recommend including the year in the name, to enable keeping different +releases of \TL{} side by side. (You may wish to make a +version-independent name such as \dirname{/usr/local/texlive-cur} via a +symbolic link, which you can then update after testing the new release.) + +Changing \dirname{TEXDIR} in the installer will also change +\dirname{TEXMFLOCAL}, \dirname{TEXMFSYSVAR} and +\dirname{TEXMFSYSCONFIG}. + +\dirname{TEXMFHOME} is the recommended location for personal +macro files or packages. The default value is |~/texmf|. In +contrast to \dirname{TEXDIR}, here a |~| is preserved in the +newly-written configuration files, since it usefully refers to the home +directory of any individual running \TeX. It expands to +\dirname{$HOME} on Unix and \verb|%USERPROFILE%| on Windows. Special +redundant note: \envname{TEXMFHOME}, like all trees, must be organized +according to the \TDS, or files may not be found. + +\dirname{TEXMFVAR} is the location for storing most cached runtime data +specific to each user. \dirname{TEXMFCACHE} is used for that purpose by +\ConTeXt\ Mk\acro{IV} (see section~\ref{sec:context-mkiv}, +\p.\pageref{sec:context-mkiv}). + + +\subsubsection{Options} +\label{sec:options} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Options setup: +=============================================================================== + <P> use letter size instead of A4 by default: [ ] + <E> execution of restricted list of programs: [X] + <F> create format files: [X] + <D> install font/macro doc tree: [X] + <S> install font/macro source tree: [X] + <L> create symlinks in standard directories: [ ] + binaries to: + manpages to: + info to: +\end{boxedverbatim} +\caption{Options menu (Unix)}\label{fig:options-text} +\end{figure} + +Figure~\ref{fig:options-text} shows the text mode options menu. +More info on each: + +\begin{description} +\item[use letter size instead of A4 by default:] The default paper + size selection. Of course, individual documents can and should + specify a specific paper size, if desired. + +\item[execution of restricted list of programs:] As of \TL\ 2010, + execution of a few external programs is allowed by default. The (very + short) list of allowed programs is given in the \filename{texmf.cnf}. + See the 2010 news (section~\ref{sec:2010news}) for more details. + +\item[create format files:] Although unnecessary format files + take time to generate and disk space to store, it is still recommended + to leave this option checked: if you don't, then format files will be + generated in people's private \dirname{TEXMFVAR} tree as they are + needed. In that location, they will not be updated automatically if + (say) binaries or hyphenation patterns are updated in the + installation, and thus you could end up with incompatible format files. + +\item[install font/macro \ldots\ tree:] These options allow you to omit + downloading/installing the documentation and source files present in + most packages. Not recommended. + +\item[create symlinks in standard directories] (Unix only): + This option bypasses the need to change environment variables. Without + this option, \TL{} directories usually have to be added to + \envname{PATH}, \envname{MANPATH} and \envname{INFOPATH}. You will + need write permissions to the target directories. It is strongly + advised \emph{not} to overwrite a \TeX\ system that came with your + system with this option. It is intended primarily for accessing the + \TeX\ system through directories that are already known to users, such + as \dirname{/usr/local/bin}, which don't already contain any \TeX\ + files. +\end{description} + +When all the settings are to your liking, you can type `I' to start the +installation process. When it is done, skip to +section~\ref{sec:postinstall} to read what else needs to be done, if +anything. + +\subsection{Command-line install-tl options} +\label{sec:cmdline} + +Type +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} +for a listing of command-line options. Either |-| or |--| can be used +to introduce option names. These are the most common ones: + +\begin{ttdescription} +\item[-gui] If possible, use the \GUI{} installer. This requires the + Perl/Tk module (\url{http://tug.org/texlive/distro.html#perltk}) + compiled with \acro{XFT} support; if Perl/Tk is not available, + installation continues in text mode. + +\item[-no-gui] Force using the text mode installer, even under + Windows. + +\item[-lang {\sl LL}] Specify the installer interface + language as its standard two-letter code \textsl{\acro{LL}}. Currently + supported languages: + \texttt{cs} (Czech), + \texttt{de} (German), + \texttt{en} (English, default) + \texttt{fr} (French), + \texttt{it} (Italian), + \texttt{ja} (Japanese), + \texttt{nl} (Dutch), + \texttt{pl} (Polish), + \texttt{ru} (Russian), + \texttt{sk} (Slovak), + \texttt{sl} (Slovenian), + \texttt{sr} (Serbian), + \texttt{vi} (Vietnamese), + \texttt{zh-cn} (Simplified Chinese), + \texttt{zh-tw} (Traditional Chinese). + The installer tries to automatically determine the right + language but if it fails, or if the right language is not + available, then it uses English as a fallback. + +\htmlanchor{opt-in-place} +\item[-in-place] If you already have an rsync, svn, or other copy of + \TL{} (see \url{http://tug.org/texlive/acquire-mirror.html}) then this + option will use what you've got, as-is, and do only the necessary + post-install. Be warned that the file \filename{tlpkg/texlive.tlpdb} + may be overwritten; saving it is your responsibility. Also, package + removal has to be done manually. Do not use this unless you know + what you are doing. This option cannot be toggled via the + installer interface. + +\item[-portable] Install for portable use on, e.g., a \USB{} stick. + Also selectable from within the text installer with the \code{V} + command, and from the \GUI{} installer. See + section~\ref{sec:portable-tl}. + +\item[-profile {\sl file}] The installer always writes a file + \filename{texlive.profile} to the \dirname{tlpkg} subdirectory of your + installation. This option tells the installer to re-use such a + profile file, so you can install in batch mode on subsequent systems, + reproducing the choices you made in a prior installation. + +\item [-repository {\sl url-or-directory}] Specify package + repository from which to install; see following. +\end{ttdescription} + + +\subsubsection{The \optname{-repository} option} +\label{sec:location} + +The default package repository is a \CTAN{} mirror chosen automatically +via \url{http://mirror.ctan.org}. + +If you want to override that, the location value can be a url starting +with \texttt{ftp:}, \texttt{http:}, or \texttt{file:/}, or a plain +directory path. (When giving an \texttt{http:}\ or \texttt{ftp:}\ +location, trailing `\texttt{/}' characters and/or a trailing +`\texttt{/tlpkg}' component are ignored.) + +For example, you could choose a particular \CTAN\ mirror with something +like: \url{http://ctan.example.org/tex-archive/systems/texlive/tlnet/}, +substituting a real hostname and its particular top-level \CTAN\ path +for |ctan.example.org/tex-archive|. The list of \CTAN\ mirrors is +maintained at \url{http://ctan.org/mirrors}. + +If the given argument is local (either a path or a \texttt{file:/} url), +compressed files in an \dirname{archive} subdirectory of the repository +path are used (even if uncompressed files are available as well). + + +\subsection{Post-install actions} +\label{sec:postinstall} + +Some post-install may be required. + + +\subsubsection{Environment variables for Unix} +\label{sec:env} + +If you elected to create symlinks in standard directories (described in +section~\ref{sec:options}), then there is no need to edit environment +variables. Otherwise, on Unix systems, the directory of the binaries +for your platform must be added to the search path. (On Windows, the +installer takes care of this.) + +Each supported platform has its own subdirectory under +\dirname{TEXDIR/bin}. See figure~\ref{fig:bin-text} for the list of +subdirectories and corresponding platforms. + +Optionally, you can also add the documentation man and Info directories +to their respective search paths, if you want the system tools to find +them. The man pages might be found automatically after the addition to +\envname{PATH}. + +For Bourne-compatible shells such as \prog{bash}, and using Intel x86 +GNU/Linux and a default directory setup as an example, the file to edit +might be \filename{$HOME/.profile} (or another file sourced by +\filename{.profile}, and the lines to add would look like this: + +\begin{sverbatim} +PATH=/usr/local/texlive/2011/bin/i386-linux:$PATH; export PATH +MANPATH=/usr/local/texlive/2011/texmf/doc/man:$MANPATH; export MANPATH +INFOPATH=/usr/local/texlive/2011/texmf/doc/info:$INFOPATH; export INFOPATH +\end{sverbatim} + +For csh or tcsh, the file to edit is typically \filename{$HOME/.cshrc}, and +the lines to add might look like: + +\begin{sverbatim} +setenv PATH /usr/local/texlive/2011/bin/i386-linux:$PATH +setenv MANPATH /usr/local/texlive/2011/texmf/doc/man:$MANPATH +setenv INFOPATH /usr/local/texlive/2011/texmf/doc/info:$INFOPATH +\end{sverbatim} + +If you already have settings somewhere in your ``dot'' files, naturally +the \TL\ directories should simply be merged in as appropriate. + + +\subsubsection{Environment variables: Global configuration} +\label{sec:envglobal} + +If you want to make these changes globally, or for a user newly added to +the system, then you are on your own; there is just too much variation +between systems in how and where these things are configured. + +Our two hints are: 1)~you may want to check for a file +\filename{/etc/manpath.config} and, if present, add lines such as + +\begin{sverbatim} +MANPATH_MAP /usr/local/texlive/2011/bin/i386-linux \ + /usr/local/texlive/2011/texmf/doc/man +\end{sverbatim} + +And 2)~check for a file \filename{/etc/environment} which may define the +search path and other default environment variables. + +In each (Unix) binary directory, we also create a symbolic link named +\code{man} to the directory \dirname{texmf/doc/man}. Some \code{man} +programs, such as the standard \MacOSX\ \code{man}, will automatically +find that, obviating the need for any man page setup. + + +\subsubsection{Internet updates after \DVD\ installation} +\label{sec:dvd-install-net-updates} + +If you installed \TL\ from \DVD\ and then wish to get updates from the +Internet, you need to run this command---\emph{after} you've updated +your search path (as described in the previous section): + +\begin{alltt} +> \Ucom{tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet} +\end{alltt} + +This tells \cmdname{tlmgr} to use a nearby \CTAN\ mirror for future updates. + +If there are problems with the automatic mirror selection, you can +specify a particular \CTAN\ mirror from the list at +\url{http://ctan.org/mirrors}. Use the exact path to the +\dirname{tlnet} subdir on that mirror, as shown above. + + +\htmlanchor{xetexfontconfig} +\subsubsection{Font configuration for \XeTeX} +\label{sec:font-conf-xetex} + +If you have installed the \filename{xetex} package on a Unix-compatible +system, you need to configure your system if you want \XeTeX\ to be able +to find the fonts shipped with \TL. To facilitate this, when the +\pkgname{xetex} package is installed (either at initial installation or +later), the necessary configuration file is created in +\filename{TEXMFSYSVAR/fonts/conf/texlive-fontconfig.conf}. + +To set up the \TL{} fonts for system-wide use (assuming you have +suitable privileges), proceed as follows: +\begin{enumerate*} +\item Copy the \filename{texlive-fontconfig.conf} file to +\dirname{/etc/fonts/conf.d/09-texlive.conf}. +\item Run \Ucom{fc-cache -fsv}. +\end{enumerate*} + +If you do not have sufficient privileges to carry out the steps above, +you can instead do the following to make the \TL{} fonts available +to you as an individual \XeTeX{} user: +\begin{enumerate*} +\item Copy the \filename{texlive-fontconfig.conf} file to + \filename{~/.fonts.conf}, where \filename{~} is your home directory. +\item Run \Ucom{fc-cache -fv}. +\end{enumerate*} + + +\subsubsection{\ConTeXt{} Mark IV} +\label{sec:context-mkiv} + +Both the `old' \ConTeXt{} (Mark \acro{II}) and the `new' \ConTeXt{} +(Mark \acro{IV}) should run out of the box after \TL{} installation, +and should need no special attention as long as you stick to +using \verb+tlmgr+ for updates. + +However, because \ConTeXt{} Mk\acro{IV} does not use the kpathsea +library, some setup will be required whenever you install new +files manually (without using \verb+tlmgr+). After each such +installation, each Mk\acro{IV} user must run: +\begin{sverbatim} +context --generate +\end{sverbatim} +to refresh the \ConTeXt{} disk cache data. +The resulting files are stored under \code{TEXMFCACHE}. +whose default value in \TL\ is \verb+TEXMSYSVAR;TEXMFVAR+. + +\ConTeXt\ Mk\acro{IV} will read from +all paths mentioned in \verb+TEXMFCACHE+, and write to the first +path that is writable. While reading, the last found match will +take precedence in the case of duplicated cache data. + +For more information, see +\url{http://wiki.contextgarden.net/Running_Mark_IV}. + + +\subsubsection{Integrating local and personal macros} +\label{sec:local-personal-macros} + +This is already mentioned implicitly in section~\ref{sec:texmftrees}: +\dirname{TEXMFLOCAL} (by default, +\dirname{/usr/local/texlive/texmf-local} or +\verb|%SystemDrive%\texlive\texmf-local| on Windows) +is intended for system-wide local fonts and macros; and +\dirname{TEXMFHOME} (by default, \dirname{$HOME/texmf} or +\verb|%USERPROFILE%\texmf|), is for personal fonts and macros. These +directories are intended to stick around from release to release, and +have their content seen automatically by a new \TL{} release. +Therefore, it is best to refrain from changing the definition of +\dirname{TEXMFLOCAL} to be too far away from the main \TL{} directory, +or you will need to manually change future releases. + +For both trees, files should be placed in their proper \TeX\ Directory +Structure (\TDS) subdirectories; see \url{http://tug.org/tds} or consult +\filename{texmf/web2c/texmf.cnf}. For instance, a \LaTeX{} class file or +package should be placed in \dirname{TEXMFLOCAL/tex/latex} or +\dirname{TEXMFHOME/tex/latex}, or a subdirectory thereof. + +\dirname{TEXMFLOCAL} requires an up-to-date filename database, or files +will not be found. You can update it with the command +\cmdname{mktexlsr} or use the `Reinit file database' button on the +configuration tab of the \TeX\ Live Manager \GUI. + +By default, each of these variables is defined to be a single directory, +as shown. This is not a hard-and-fast requirement. If you need to +easily switch back and forth between different versions of large +packages, for example, you can maintain multiple trees for your own +purposes. This is done by setting \dirname{TEXMFHOME} to the +list of directories, within braces, separated by commas: + +\begin{verbatim} + TEXMFHOME = {/my/dir1,/mydir2,/a/third/dir} +\end{verbatim} + +Section~\ref{sec:brace-expansion} describes brace expansion further. + + +\subsubsection{Integrating third-party fonts} + +This is unfortunately a messy topic. Forget about it unless you want to +delve into many details of the \TeX{} installation. Don't forget to +check first what you get for free: see section~\ref{sec:tl-fonts}. + +A possible alternative is to use \XeTeX\ or Lua\TeX\ (see +section~\ref{sec:tex-extensions}), which let you use operating system +fonts without any installation in \TeX. + +If you do need to do this, see +\url{http://tug.org/fonts/fontinstall.html} for our best effort at +describing the procedure. If you rigorously maintain your local font +maps, \texttt{tlmgr generate updmap} \textit{may} be useful, notably in +moving from release to release; see the \cmdname{tlmgr} documentation. + + +\subsection{Testing the installation} +\label{sec:test-install} + +After installing \TL{} as best you can, you naturally want to test +it out, so you can start creating beautiful documents and\slash or fonts. + +This section gives some basic procedures for testing that the new system +is functional. We give Unix commands here; under \MacOSX{} and Windows, +you're more likely to run the tests through a graphical interface, but +the principles are the same. + +\begin{enumerate} + +\item Make sure that you can run the \cmdname{tex} program in the first +place: +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.1415926 (TeX Live ...) +kpathsea version 6.0.1 +Copyright ... D.E. Knuth. +... +\end{alltt} +If this comes back with `command not found' instead of version and +copyright information, or with an older version, most likely you don't +have the correct \dirname{bin} subdirectory in your \envname{PATH}. See +the environment-setting information on \p.\pageref{sec:env}. + +\item Process a basic \LaTeX{} file: +\begin{alltt} +> \Ucom{latex sample2e.tex} +pdfTeX 3.1415926-... (TeX Live ...) +... +Output written on sample2e.dvi (3 pages, 7484 bytes). +Transcript written on sample2e.log. +\end{alltt} +If this fails to find \filename{sample2e.tex} or other files, most +likely you have interference from old environment variables or +configuration files; we recommend unsetting all \TeX-related environment +variables for a start. (For a deep analysis, you can ask \TeX{} to +report on exactly what it is searching for, and finding; see ``Debugging +actions'' on page~\pageref{sec:debugging}.) + +\item Preview the result online: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} # Unix +> \Ucom{dviout sample2e.dvi} # Windows +\end{alltt} +You should see a new window with a nice document explaining some of the +basics of \LaTeX{}. (Well worth reading, by the way, if you're new to +\TeX.) You do have to be running under X for \cmdname{xdvi} to work; if +you're not, or your \envname{DISPLAY} environment variable is set +incorrectly, you'll get an error \samp{Can't open display}. + +\item Create a \PS{} file for printing or display: +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item Create a \acro{PDF} file instead of \dvi{}; this processes the +\filename{.tex} file and writes \acro{PDF} directly: +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item Preview the \acro{PDF} file: +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{or:} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} +Neither \cmdname{gv} nor \cmdname{xpdf} are included in \TL{}, so you +must install them separately. See \url{http://www.gnu.org/software/gv} +and \url{http://www.foolabs.com/xpdf}, respectively. There are plenty +of other \acro{PDF} viewers, too. For Windows, we recommend trying +Sumatra PDF (\url{http://blog.kowalczyk.info/software/sumatrapdf}). + +\item Standard test files you may find useful in addition to +\filename{sample2e.tex}: + +\begin{ttdescription} +\item [small2e.tex] A simpler document than \filename{sample2e}, to +reduce the input size if you're having troubles. +\item [testpage.tex] Test if your printer introduces any offsets. +\item [nfssfont.tex] For printing font tables and tests. +\item [testfont.tex] Also for font tables, but using plain \TeX{}. +\item [story.tex] The most canonical (plain) \TeX{} test file of all. +You must type \samp{\bs bye} to the \code{*} prompt after \samp{tex +story.tex}. +\end{ttdescription} + +\item If you have installed the \filename{xetex} package, you can test +its access to system fonts as follows: +\begin{alltt} +> \Ucom{xetex opentype-info.tex} +This is XeTeX, Version 3.1415926\dots +... +Output written on opentype-info.pdf (1 page). +Transcript written on opentype-info.log. +\end{alltt} +If you get an error message saying ``Invalid fontname `Latin Modern +Roman/ICU'\dots'', then you need to configure your system so that +\XeTeX{} can find the fonts shipped with \TL. See +Section~\ref{sec:font-conf-xetex}. + +\end{enumerate} + +\subsection{Links for additional downloadable software} + +If you are new to \TeX{}, or otherwise need help with actually writing +\TeX{} or \LaTeX{} documents, please visit +\url{http://tug.org/begin.html} for some introductory resources. + +Links for some other tools you may consider installing: +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.perl.org/} with + supplementary packages from \acro{CPAN}, \url{http://www.cpan.org/} +\item[ImageMagick] \url{http://www.imagemagick.com}, for graphics + processing and conversion +\item[NetPBM] \url{http://netpbm.sourceforge.net/}, also for graphics. + +\item[\TeX-oriented editors] There is a wide choice, and it is a matter of the + user's taste. Here is a selection in alphabetical order (a few + here are for Windows only). + \begin{itemize*} + \item \cmdname{GNU Emacs} is available natively under Windows, see + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html}. + \item \cmdname{Emacs with Auc\TeX} for Windows is available from \CTAN. + The AuC\TeX\ home page is \url{http://www.gnu.org/software/auctex}. + \item \cmdname{LEd} is available from + \url{http://mirror.ctan.org/support/LEd}. + \item \cmdname{SciTE} is available from + \url{http://www.scintilla.org/SciTE.html}. + \item \cmdname{Texmaker} is free software, available from + \url{http://www.xm1math.net/texmaker}. + \item \cmdname{TexMakerX} is a fork of \cmdname{Texmaker} with + additional features; \url{http://texmakerx.sourceforge.net}. + \item \cmdname{TeXnicCenter} is free software, available from + \url{http://www.texniccenter.org} and in the pro\TeX{}t distribution. + \item \cmdname{TeXworks} is free software, available from + \url{http://tug.org/texworks} and installed for Windows and + \MacOSX\ as part of \TL. + \item \cmdname{Vim} is free software, available from + \url{http://www.vim.org}. + \item \cmdname{WinEdt} is shareware available though + \url{http://tug.org/winedt} or \url{http://www.winedt.com}. + \item \cmdname{WinShell} is available from \url{http://www.winshell.de}. + \end{itemize*} +\end{description} +For a much longer list of packages and programs, see +\url{http://tug.org/interest.html}. + + +\section{Specialized installations} + +The previous sections described the basic installation process. Here we +turn to some specialized cases. + +\htmlanchor{tlsharedinstall} +\subsection{Shared-user (or cross-machine) installations} +\label{sec:sharedinstall} + +\TL{} has been designed to be sharable between different users on one +system, and/or between different systems on a network. With a standard +directory layout, no hard paths are configured: the locations for files +needed by \TL{} programs are found relative to the programs. You can +see this in the principal configuration file +\filename{$TEXMFMAIN/web2c/texmf.cnf}, which contains lines such as +\begin{sverbatim} +TEXMFMAIN = $SELFAUTOPARENT/texmf +... +TEXMFLOCAL = $SELFAUTOPARENT/../texmf-local +\end{sverbatim} +This means that adding the directory for \TL{} executables for their +platform to their search path is sufficient to get a working setup. + +By the same token, you can also install \TL{} locally and then move +the entire hierarchy afterwards to a network location. + +For Windows, a sample network installation script named +\filename{w32client} can be downloaded through +\url{http://tug.org/texlive/w32client.html}. It creates settings and +menu shortcuts for using an existing \TL{} installation on a \acro{LAN}. +It also registers an uninstaller \filename{w32unclient}, available +in the same zip file. See the web page for more information. + + +\htmlanchor{tlportable} +\subsection{Portable (\USB{}) installations} +\label{sec:portable-tl} + +The \code{-portable} installer option (or \code{V} command in the text +installer or corresponding \GUI{} option) creates a completely +self-contained \TL{} installation under a common root and forgoes system +integration. You can create such an installation directly on a \USB{} +stick, or copy it to a \USB{} stick afterwards. + +To run \TeX\ using this portable installation, you need to add the +appropriate binary directory to the search path during your terminal +session, as usual. On Windows, you can double-click +\filename{tl-tray-menu} at the root of the installation to choose +between a few common tasks, as shown in this screenshot: + +\medskip +\tlpng{tray-menu}{4cm} +\smallskip + +\noindent The `More\ldots' entry explains how you can customize this menu. + + +\htmlanchor{tlisoinstall} +\subsection{\ISO\ (or \DVD) installations} +\label{sec:isoinstall} + +If you don't need to update or otherwise modify your installation often, +and\slash or have several systems on which to use \TL{}, it may be +convenient to create an \ISO\ of your \TL{} installation, because: + +\begin{itemize} +\item Copying an \ISO\ between different computers is much + faster than copying a normal installation. +\item If you are dual-booting between different operating systems + and want them to share a \TL{} installation, an \ISO + installation is not tied to the idiosyncrasies and limitations of + other mutually supported filesystems (\acro{FAT32}, \acro{NTFS}, + \acro{HFS+}). +\item Virtual machines can simply mount such an \ISO. +\end{itemize} + +Of course you can also burn an \ISO\ to \DVD, if that is useful for you. + +Desktop \GNU/Linux/Unix systems, including \MacOSX, are able to mount an +\ISO. Apart from that, nothing changes compared to a normal hard disk +installation, see section \ref{sec:env}. + +When preparing such an \ISO\ installation, it is best to omit the +subdirectory for the release year, and have +\filename{texmf-local} at the same level as the other trees +(\filename{texmf}, \filename{texmf-dist}, etc.). You can do this with +the normal directory options in the installer. + +For a physical (rather than virtual) Windows system, you can burn the +\ISO\ to \acro{DVD}. However, it may be worth your while to investigate +free \ISO-mounting options. For Windows \acro{XP}, Microsoft offers +\filename{winxpvirtualcdcontrolpanel}. + +For Windows system integration, you can include the \filename{w32client} +scripts described in section~\ref{sec:sharedinstall} and at +\url{http://tug.org/texlive/w32client.html}, which work just as well for +an \ISO\ as for a network installation. + +On \MacOSX, TeXShop and \TeX{}works will be able to use the \acro{DVD} +installation if a symlink \filename{/usr/texbin} points to the +appropriate binary directory, e.g., +\begin{verbatim} +sudo ln -s /Volumes/MyTeXLive/bin/universal-darwin /usr/texbin +\end{verbatim} + +Historical note: \TL{} 2010 was the first \TL{} edition which was no +longer distributed `live'. However, it always required some acrobatics +to run from \DVD\ or \ISO; in particular, there was no way around +setting at least one extra environment variable. If you create your +\ISO\ from an existing installation then there is no need for this. + + +\htmlanchor{tlmgr} +\section{\cmdname{tlmgr}: Managing your installation} +\label{sec:tlmgr} + +\begin{figure}[tb] +\tlpng{tlmgr-gui}{\linewidth} +\caption{\prog{tlmgr} in \GUI\ mode: main window, after `Load'.} +\label{fig:tlmgr-gui} +\end{figure} + +\begin{figure}[tb] +\hbox to \hsize{% + \vtop{\hsize=.59\linewidth + \null % make figures align at the top + \tlpng{tlmgr-general-options}{\hsize} + \caption{\texttt{tlmgr} in \GUI\ mode: General options} + \label{fig:tlmgr-general-options} + } + \hfil + \vtop{\hsize=.39\linewidth + \null + \tlpng{tlmgr-paper-options}{\hsize} + \caption{\texttt{tlmgr} in \GUI\ mode: Paper size options} + \label{fig:tlmgr-paper-options} + } +} +\end{figure} + +\TL{} includes a program named \prog{tlmgr} for managing \TL{} after the +initial installation. The programs \prog{updmap}, \prog{fmtutil} and +\prog{texconfig} are still included and will be retained in the future, +but \prog{tlmgr} is now the preferred interface. Its capabilities +include: + +\begin{itemize*} +\item installing, updating, backing up, restoring, and uninstalling + individual packages, optionally taking dependencies into account; +\item searching for and listing packages, etc.; +\item listing, adding, and removing platforms; +\item changing installation options such as paper size and source + location (see section~\ref{sec:location}). +\end{itemize*} + +\subsection{\cmdname{tlmgr} GUI mode} +\prog{tlmgr} can be started in \GUI{} mode (figure~\ref{fig:tlmgr-gui}) with +\begin{alltt} +> \Ucom{tlmgr -gui} +\end{alltt} +or in Windows via the Start menu: \texttt{Start}, \texttt{Programs}, +\texttt{TeX Live 2011}, \texttt{TeX Live Manager}. After clicking `Load' +it displays a list of available and installed packages. This assumes of +course that the installation source is valid and reachable. + +Figures~\ref{fig:tlmgr-general-options} and~\ref{fig:tlmgr-paper-options} +show the general and paper size option screens. + +\subsection{Sample \cmdname{tlmgr} command-line invocations} + +After the initial installation, you can update your system to the latest +versions available with: +\begin{alltt} +> \Ucom{tlmgr update -all} +\end{alltt} +If this makes you nervous, first try +\begin{alltt} +> \Ucom{tlmgr update -all -dry-run} +\end{alltt} +or (less verbose): +\begin{alltt} +> \Ucom{tlmgr update -list} +\end{alltt} + +This more complex example adds a collection, for the engine \XeTeX, from +a local directory: + +\begin{alltt} +> \Ucom{tlmgr -repository /local/mirror/tlnet install collection-xetex} +\end{alltt} +It generates the following output (abridged): +\begin{fverbatim} +install: collection-xetex +install: arabxetex +... +install: xetex +install: xetexconfig +install: xetex.i386-linux +running post install action for xetex +install: xetex-def +... +running mktexlsr +mktexlsr: Updating /usr/local/texlive/2011/texmf/ls-R... +... +running fmtutil-sys --missing +... +Transcript written on xelatex.log. +fmtutil: /usr/local/texlive/2011/texmf-var/web2c/xetex/xelatex.fmt installed. +\end{fverbatim} + +As you can see, \prog{tlmgr} installs dependencies, and takes care of any +necessary post-install actions, including updating the filename database +and (re)generating formats. In the above, we generated new formats for +\XeTeX. + +To describe a package (or collection or scheme): +\begin{alltt} +> \Ucom{tlmgr show collection-latexextra} +\end{alltt} +which produces +\begin{fverbatim} +package: collection-latexextra +category: Collection +shortdesc: LaTeX supplementary packages +longdesc: A large collection of add-on packages for LaTeX. +installed: Yes +revision: 14675 +\end{fverbatim} + +Last and most important, for full documentation see +\url{http://tug.org/texlive/tlmgr.html}, or: +\begin{alltt} +> \Ucom{tlmgr -help} +\end{alltt} + + +\section{Notes on Windows} +\label{sec:windows} + +\subsection{Windows-specific features} +\label{sec:winfeatures} + +Under Windows, the installer does some extra things: +\begin{description} +\item[Menus and shortcuts.] A new `\TL{}' submenu of the + Start menu is installed, which contains entries for some \GUI{} + programs (\prog{tlmgr}, \prog{texdoctk}, the PS\_View (\prog{psv}) + PostScript previewer) and some documentation. +\item[File associations.] If enabled, \prog{TeXworks}, \prog{Dviout} + and \prog{PS\_view} become either the default program for + their respective filetypes, or get an entry in the `Open with' + right-click menus of those filetypes. +\item[Bitmap to eps converter.] Various bitmapped formats get an + entry \cmdname{bitmap2eps} in their `Open with' right-click + menu. Bitmap2eps is a simple script which lets \cmdname{sam2p} or + \cmdname{bmeps} do the real work. +\item[Automatic path adjustment.] No manual configuration steps are required. +\item[Uninstaller.] The installer creates an entry under `Add/Remove + Programs' for \TL. The uninstall tab of the \TeX\ Live Manager \GUI\ + refers to this. +\end{description} + +\subsection{Additional software included on Windows} + +To be complete, a \TL{} installation needs support packages that are not +commonly found on a Windows machine. \TL{} provides the missing +pieces: +\begin{description} +\item[Perl and Ghostscript.] Because of the importance of Perl and + Ghostscript, \TL{} includes `hidden' copies of these + programs. \TL{} programs that need them know where to find them, + but they don't betray their presence through environment variables + or registry settings. They aren't full-scale installations, and + shouldn't interfere with any system installations of Perl or + Ghostscript. + +\item[PS\_View.] Also installed is PS\_View, a \PS{} and \acro{PDF} + viewer; see figure~\ref{fig:psview}. + +\begin{figure}[tb] +\tlpng{psview}{.6\linewidth} +\caption{PS\_View: very high magnifications available!}\label{fig:psview} +\end{figure} + +\item[dviout.] Also installed is \prog{dviout}, a \acro{DVI} viewer. + At first, when you preview files with \cmdname{dviout}, it will create + fonts, because screen fonts were not installed. After a while, you + will have created most of the fonts you use, and you will rarely see + the font-creation window. More information can be found in the + (highly recommended) on-line help. + +\item[\TeX{}works.] \TeX{}works is a \TeX-oriented editor with + an integrated \acro{PDF} viewer. + +\item[Command-line tools.] A number of Windows ports of common Unix + command-line programs are installed along with the usual \TL{} + binaries. These include \cmdname{gzip}, \cmdname{unzip} and the + utilities from the \cmdname{xpdf} suite (\cmdname{pdfinfo}, + \cmdname{pdffonts}, \ldots). The \cmdname{xpdf} viewer itself is not + available for Windows. Instead, you can download the Sumatra + \acro{PDF} viewer, which is based on \cmdname{xpdf}, from + \url{http://blog.kowalczyk.info/software/sumatrapdf}, among other options. + +\item[fc-list, fc-cache, \ldots] The tools from the fontconfig library allow + \XeTeX{} to handle system fonts on Windows. You can use + \prog{fc-list} to determine the font names to pass to \XeTeX's + extended \cs{font} command. If necessary, run \prog{fc-cache} + first to update font information. + +\end{description} + + +\subsection{User Profile is Home} +\label{sec:winhome} + +The Windows counterpart of a Unix home directory is the +\verb|%USERPROFILE%| directory. Under Windows \acro{XP}, this +is usually \verb|C:\Documents and Settings\<username>|, and under +Windows Vista and Windows~7 it is \verb|C:\Users\<username>|. In the +\filename{texmf.cnf} file, and \KPS{} in general, \verb|~| will expand +appropriately on both Windows and Unix. + + +\subsection{The Windows registry} +\label{sec:registry} + +Windows stores nearly all configuration data in its registry. The +registry contains a set of hierarchically organized keys, with several +root keys. The most important ones for installation programs are +\path{HKEY_CURRENT_USER} and \path{HKEY_LOCAL_MACHINE}, \path{HKCU} and +\path{HKLM} in short. The \path{HKCU} part of the registry is in the +user's home directory (see section~\ref{sec:winhome}). \path{HKLM} is +normally in a subdirectory of the Windows directory. + +In some cases, system information could be obtained from environment +variables but for other information, for example the location of +shortcuts, it is necessary to consult the registry. Setting environment +variables permanently also requires registry access. + + +\subsection{Windows permissions} +\label{sec:winpermissions} + +In later versions of Windows, a distinction is made between regular +users and administrators, where only the latter have free access to the +entire operating system. In practice, though, you could better describe +these classes of users as unprivileged users and normal users: being an +administrator is the rule, not the exception. Nevertheless, we have made +an effort to make \TL{} installable without administrative privileges. + +If the user is an administrator, there is an option to install for all +users. If this option is chosen, shortcuts are created for all users, +and the system environment is modified. Otherwise, shortcuts and menu +entries are created for the current user, and the user environment is +modified. + +Regardless of administrator status, the default root of \TL{} proposed +by the installer is always under \verb|%SystemDrive%|. The installer +always tests whether the root is writable for the current user. + +A problem may arise if the user is not an administrator and \TeX{} +already exists in the search path. Since the effective path +consists of the system path followed by the user path, the new \TL{} +would never get precedence. As a safeguard, the installer creates a +shortcut to the command-prompt in which the new \TL{} binary +directory is prepended to the local search path. The new \TL{} will +be always usable from within such a command-prompt. The shortcut for +\TeX{}works, if installed, also prepends \TL{} to the search path, so it +should also be immune to this path problem. + +For Vista and Windows~7 there is another twist: even if you are logged in as +administrator, you need to explicitly ask for administrator +privileges. In fact, there is not much point in logging in as +administrator. Instead, right-clicking on the program or shortcut +that you want to run usually gives you a choice `Run as +administrator'. + +\subsection{Increasing maximum memory on Windows and Cygwin} +\label{sec:cygwin-maxmem} + +Windows and Cygwin (see section~\ref{sec:cygwin} for Cygwin installation +specifics) users may find that they run out of memory when running some +of the programs shipped with \TL. For example, \prog{asy} might run out +of memory if you try to allocate an array of 25,000,000 reals, and +Lua\TeX\ might run out of memory if you try to process a document with a +lot of big fonts. + +For Cygwin, you can increase the amount of available memory by following +the instructions in the Cygwin User's Guide +(\url{http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html}). + +For Windows, you have to create a file, say \code{moremem.reg}, with +these four lines: + +\begin{sverbatim} +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\Software\Cygwin] +"heap_chunk_in_mb"=dword:ffffff00 +\end{sverbatim} + +\noindent and then execute the command \code{regedit /s moremem.reg} as +administrator. (If you want to change memory only for the current user +instead of system-wide, use \code{HKEY\_CURRENT\_USER}.) + + +\section{A user's guide to Web2C} + +\Webc{} is an integrated collection of \TeX-related programs: \TeX{} +itself, \MF{}, \MP, \BibTeX{}, etc. It is the heart of \TL{}. The home +page for \Webc{}, with the current manual and more, is +\url{http://tug.org/web2c}. + +A bit of history: The original implementation was by Tomas Rokicki who, +in 1987, developed a first \TeX{}-to-C system based on change files +under Unix, which were primarily the original work of Howard Trickey and +Pavel Curtis. Tim Morgan became the maintainer of the system, and +during this period the name changed to Web-to-C\@. In 1990, Karl Berry +took over the work, assisted by dozens of additional contributors, and +in 1997 he handed the baton to Olaf Weber, who returned it to Karl in +2006. + +The \Webc{} system runs on Unix, 32-bit Windows systems, \MacOSX{}, and +other operating systems. It uses Knuth's original sources for \TeX{} and +other basic programs written in the \web{} literate programming system +and translates them into C source code. The core \TeX{} programs +handled in this way are: + +\begin{cmddescription} +\item[bibtex] Maintaining bibliographies. +\item[dvicopy] Expands virtual font references in \dvi{} files. +\item[dvitomp] \dvi{} to MPX (MetaPost pictures). +\item[dvitype] \dvi{} to human-readable text. +\item[gftodvi] Generic font proofsheets. +\item[gftopk] Generic to packed fonts. +\item[gftype] GF to human-readable text. +\item[mf] Creating typeface families. +\item[mft] Prettyprinting \MF{} source. +\item[mpost] Creating technical diagrams. +\item[patgen] Creating hyphenation patterns. +\item[pktogf] Packed to generic fonts. +\item[pktype] PK to human-readable text. +\item[pltotf] Plain text property list to TFM. +\item[pooltype] Display \web{} pool files. +\item[tangle] \web{} to Pascal. +\item[tex] Typesetting. +\item[tftopl] TFM to plain text property list. +\item[vftovp] Virtual font to virtual property list. +\item[vptovf] Virtual property list to virtual font. +\item[weave] \web{} to \TeX. +\end{cmddescription} + +\noindent The precise functions and syntax of these programs are +described in the documentation of the individual packages and of \Webc{} +itself. However, knowing a few principles governing the whole family of +programs will help you take advantage of your \Webc{} installation. + +All programs honor these standard \GNU options: +\begin{ttdescription} +\item[-{}-help] print basic usage summary. +\item[-{}-verbose] print detailed progress report. +\item[-{}-version] print version information, then exit. +\end{ttdescription} + +For locating files the \Webc{} programs use the path searching library +\KPS{} (\url{http://tug.org/kpathsea}). This library uses a combination +of environment variables and a configuration files to optimize searching +the (huge) collection of \TeX{} files. \Webc{} can look at many +directory trees simultaneously, which is useful in maintaining \TeX's +standard distribution and local and personal extensions in distinct +trees. To speed up file searches, the root of each tree has a file +\file{ls-R}, containing an entry showing the name and relative pathname +for all files under that root. + + +\subsection{Kpathsea path searching} +\label{sec:kpathsea} + +Let us first describe the generic path searching mechanism of the \KPS{} +library. + +We call a \emph{search path} a colon- or semicolon\hyph sepa\-rated list +of \emph{path elements}, which are basically directory names. A +search path can come from (a combination of) many sources. To look up +a file \samp{my-file} along a path \samp{.:/dir}, \KPS{} checks each +element of the path in turn: first \file{./my-file}, then +\file{/dir/my-file}, returning the first match (or possibly all +matches). + +In order to adapt optimally to all operating systems' conventions, on +non-Unix systems \KPS{} can use filename separators different from +colon (\samp{:}) and slash (\samp{/}). + +To check a particular path element \var{p}, \KPS{} first checks if a +prebuilt database (see ``Filename data\-base'' on +page~\pageref{sec:filename-database}) applies to \var{p}, i.e., if the +database is in a directory that is a prefix of \var{p}. If so, the path +specification is matched against the contents of the database. + +If the database does not exist, or does not apply to this path +element, or contains no matches, the filesystem is searched (if this +was not forbidden by a specification starting with \samp{!!}\ and if +the file being searched for must exist). \KPS{} constructs the list +of directories that correspond to this path element, and then checks +in each for the file being sought. + +The ``file must exist'' condition comes into play with \samp{.vf} files and +input files read by \TeX's \cs{openin} command. Such files may not +exist (e.g., \file{cmr10.vf}), and so it would be wrong to search the +disk for them. Therefore, if you fail to update \file{ls-R} when you +install a new \samp{.vf} file, it will never be found. +Each path element is checked in turn: first the database, then the +disk. If a match is found, the search stops and the result is +returned. + +Although the simplest and most common path element is a directory +name, \KPS{} supports additional features in search paths: layered +default values, environment variable names, config file values, users' +home directories, and recursive subdirectory searching. Thus, we say +that \KPS{} \emph{expands} a path element, meaning it transforms all +the specifications into basic directory name or names. This is +described in the following sections in the same order as it takes +place. + +Note that if the filename being searched for is absolute or explicitly +relative, i.e., starts with \samp{/} or \samp{./} or \samp{../}, +\KPS{} simply checks if that file exists. + +\ifSingleColumn +\else +\begin{figure*} +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{An illustrative configuration file sample} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{Path sources} +\label{sec:path-sources} + +A search path can come from many sources. In the order in which +\KPS{} uses them: + +\begin{enumerate} +\item + A user-set environment variable, for instance, \envname{TEXINPUTS}\@. + Environment variables with a period and a program name appended + override; e.g., if \samp{latex} is the name of the program being run, + then \envname{TEXINPUTS.latex} will override \envname{TEXINPUTS}. +\item + A program-specific configuration file, for exam\-ple, a line + \samp{S /a:/b} in \cmdname{dvips}'s \file{config.ps}. +\item A \KPS{} configuration file \file{texmf.cnf}, containing a line like + \samp{TEXINPUTS=/c:/d} (see below). +\item The compile-time default. +\end{enumerate} +\noindent You can see each of these values for a given search path by +using the debugging options (see ``Debugging actions'' on +page~\pageref{sec:debugging}). + +\subsubsection{Config files} + +\KPS{} reads \emph{runtime configuration files} named \file{texmf.cnf} +for search path and other definitions. The search path used to look +for these files is named \envname{TEXMFCNF}, but we do not recommend +setting this (or any) environment variable. + +Instead, normal installation results in a file +\file{.../2011/texmf.cnf}. If you must make changes to the defaults +(not normally necessary), this is the place to put them. The main +configuration file is in \file{.../2011/texmf/web2c/texmf.cnf}. You +should not edit this latter file, as your changes will be lost when the +distributed version is updated. + +\emph{All} \file{texmf.cnf} files in the search path will be read and +definitions in earlier files override those in later files. For +example, with a search path of \verb|.:$TEXMF|, values from +\file{./texmf.cnf} override those from \verb|$TEXMF/texmf.cnf|. + +\begin{itemize} +\item + Comments start with \code{\%} and continue to the end of the line. +\item + Blank lines are ignored. +\item + A \bs{} at the end of a line acts as a continuation character, + i.e., the next line is appended. Whitespace at the beginning of + continuation lines is not ignored. +\item + Each remaining line has the form: +\begin{alltt} + \var{variable}[.\var{progname}] [=] \var{value} +\end{alltt}% + where the \samp{=} and surrounding whitespace are optional. +\item + The \ttvar{variable} name may contain any character other + than whitespace, \samp{=}, or \samp{.}, but sticking to + \samp{A-Za-z\_} is safest. +\item + If \samp{.\var{progname}} is present, the definition only + applies if the program that is running is named + \texttt{\var{progname}} or \texttt{\var{progname}.exe}. This allows + different flavors of \TeX{} to have different search paths, for + example. +\item \var{value} may contain any characters except + \code{\%} and \samp{@}. The + \code{\$\var{var}.\var{prog}} feature is not available on the + right-hand side; instead, you must use an additional variable. A + \samp{;}\ in \var{value} is translated to \samp{:}\ if + running under Unix; this is useful to be able to have a single + \file{texmf.cnf} for Unix, \acro{MS-DOS} and Windows systems. +\item + All definitions are read before anything is expanded, so + variables can be referenced before they are defined. +\end{itemize} +A configuration file fragment illustrating most of these points is +\ifSingleColumn +shown below: + +\verbatiminput{examples/ex5.tex} +\else +shown in Figure~\ref{fig:config-sample}. +\fi + +\subsubsection{Path expansion} +\label{sec:path-expansion} + + +\KPS{} recognizes certain special characters and constructions in +search paths, similar to those available in Unix shells. As a +general example, the complex path, +\verb+~$USER/{foo,bar}//baz+, expands to all subdirectories under +directories \file{foo} and \file{bar} in \texttt{\$USER}'s home +directory that contain a directory or file \file{baz}. These +expansions are explained in the sections below. +%$ +\subsubsection{Default expansion} +\label{sec:default-expansion} + +If the highest-priority search path (see ``Path sources'' on +page~\pageref{sec:path-sources}) contains an \emph{extra colon} (i.e., +leading, trailing, or doubled), \KPS{} inserts at that point the +next-highest-prio\-rity search path that is defined. If that inserted +path has an extra colon, the same happens with the next highest. For +example, given an environment variable setting + +\begin{alltt} +> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} +and a \code{TEXINPUTS} value from \file{texmf.cnf} of + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} +then the final value used for searching will be: + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +Since it would be useless to insert the default value in more than one +place, \KPS{} changes only one extra \samp{:}\ and leaves any others in +place. It checks first for a leading \samp{:}, then a trailing +\samp{:}, then a doubled \samp{:}. + +\subsubsection{Brace expansion} +\label{sec:brace-expansion} + +A useful feature is brace expansion, which means that, for instance, +\verb+v{a,b}w+ expands to \verb+vaw:vbw+. Nesting is allowed. +This is used to implement multiple \TeX{} hierarchies, by +assigning a brace list to \code{\$TEXMF}. +For example, in \file{texmf.cnf}, a definition like this +(simplified for this example) is made: +\begin{verbatim} + TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN} +\end{verbatim} +Using this you can then write something like +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +which means that, after looking in the current directory, the +\code{\$TEXMFHOME/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$TEXMFVAR/tex} +and \code{\$TEXMFMAIN/tex} trees \emph{only}) will be searched (the +last two use using \file{ls-R} data base files). It is a convenient +way for running two parallel \TeX{} structures, one ``frozen'' (on a +\CD, for instance) and the other being continuously updated with new +versions as they become available. By using the \code{\$TEXMF} +variable in all definitions, one is sure to always search the +up-to-date tree first. + +\subsubsection{Subdirectory expansion} +\label{sec:subdirectory-expansion} + +Two or more consecutive slashes in a path element following a directory +\var{d} is replaced by all subdirectories of \var{d}: first those +subdirectories directly under \var{d}, then the subsubdirectories under +those, and so on. At each level, the order in which the directories are +searched is \emph{unspecified}. + +If you specify any filename components after the \samp{//}, only +subdirectories with matching components are included. For example, +\samp{/a//b} expands into directories \file{/a/1/b}, \file{/a/2/b}, +\file{/a/1/1/b}, and so on, but not \file{/a/b/c} or \file{/a/1}. + +Multiple \samp{//} constructs in a path are possible, but +\samp{//} at the beginning of a path is ignored. + +\subsubsection{List of special characters and their meaning: a summary} + +The following list summarizes the special characters in \KPS{} +configuration files. + +% need a wider space for the item labels here. +\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} +\begin{ttdescription} +\item[\CODE{:}] Separator in path specification; at the beginning or + the end of a path it substitutes the default path expansion.\par +\item[\CODE{;}] Separator on non-Unix systems (acts like \code{:}). +\item[\CODE{\$}] Variable expansion. +\item[\CODE{\string~}] Represents the user's home directory. +\item[\CODE{\char`\{...\char`\}}] Brace expansion. +\item[\CODE{//}] Subdirectory expansion (can occur anywhere in + a path, except at its beginning). +\item[\CODE{\%}] Start of comment. +\item[\CODE{\bs}] Continuation character (allows multi-line entries). +\item[\CODE{!!}] Search \emph{only} database to locate file, \emph{do + not} search the disk. +\end{ttdescription} + + +\subsection{Filename databases} +\label{sec:filename-database} + +\KPS{} goes to some lengths to minimize disk accesses for searches. +Nevertheless, at installations with enough directories, searching each +possible directory for a given file can take an excessively long time +(this is especially true if many hundreds of font directories have to +be traversed.) Therefore, \KPS{} can use an externally-built plain text +``database'' file named \file{ls-R} that maps files to directories, +thus avoiding the need to exhaustively search the disk. + +A second database file \file{aliases} allows you to give additional +names to the files listed in \file{ls-R}. This can be helpful to +confirm to \acro{DOS} 8.3 filename conventions in source files. + +\subsubsection{The filename database} +\label{sec:ls-R} + +As explained above, the name of the main filename database must be +\file{ls-R}. You can put one at the root of each \TeX{} hierarchy in +your installation that you wish to be searched (\code{\$TEXMF} by +default). \KPS{} looks for +\file{ls-R} files along the \code{TEXMFDBS} path. + +The recommended way to create and maintain \samp{ls-R} is to run the +\code{mktexlsr} script included with the distribution. It is invoked +by the various \samp{mktex}\dots\ scripts. In principle, this script +just runs the command +\begin{alltt} +cd \var{/your/texmf/root} && \path|\|ls -1LAR ./ >ls-R +\end{alltt} +presuming your system's \code{ls} produces the right output format +(\GNU \code{ls} is all right). To ensure that the database is +always up-to-date, it is easiest to rebuild it regularly via +\code{cron}, so that it is automatically updated when the installed +files change, such as after installing or updating a \LaTeX{} package. + +If a file is not found in the database, by default \KPS{} goes ahead +and searches the disk. If a particular path element begins with +\samp{!!}, however, \emph{only} the database will be searched for that +element, never the disk. + + +\subsubsection{kpsewhich: Standalone path searching} +\label{sec:invoking-kpsewhich} + +The \texttt{kpsewhich} program exercises path searching independent of any +particular application. This can be useful as a sort of \code{find} +program to locate files in \TeX{} hierarchies (this is used heavily in +the distributed \samp{mktex}\dots\ scripts). + +\begin{alltt} +> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} +\end{alltt} +The options specified in \ttvar{option} start with either \samp{-} +or \samp{-{}-}, and any unambiguous abbreviation is accepted. + +\KPS{} looks up each non-option argument on the command line as a +filename, and returns the first file found. There is no option to +return all the files with a particular name (you can run the Unix +\samp{find} utility for that). + +The most common options are described next. + +\begin{ttdescription} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{} + Set the resolution to \ttvar{num}; this only affects \samp{gf} + and \samp{pk} lookups. \samp{-D} is a synonym, for compatibility + with \cmdname{dvips}. Default is 600. + +\item[\texttt{-{}-format=\var{name}}]\mbox{}\\ + Set the format for lookup to \ttvar{name}. By default, the + format is guessed from the filename. For formats which do not have + an associated unambiguous suffix, such as \MP{} support files and + \cmdname{dvips} configuration files, you have to specify the name as + known to \KPS{}, such as \texttt{tex} or \texttt{enc files}. Run + \texttt{kpsewhich -{}-help} for a list. + +\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ + Set the mode name to \ttvar{string}; this only affects \samp{gf} + and \samp{pk} lookups. No default: any mode will be found. +\item[\texttt{-{}-must-exist}]\mbox{}\\ + Do everything possible to find the files, notably including + searching the disk. By default, only the \file{ls-R} database is + checked, in the interest of efficiency. +\item[\texttt{-{}-path=\var{string}}]\mbox{}\\ + Search along the path \ttvar{string} (colon-separated as usual), + instead of guessing the search path from the filename. \samp{//} and + all the usual expansions are supported. The options \samp{-{}-path} + and \samp{-{}-format} are mutually exclusive. +\item[\texttt{-{}-progname=\var{name}}]\mbox{}\\ + Set the program name to \texttt{\var{name}}. + This can affect the search paths via the \texttt{.\var{progname}} + feature. + The default is \cmdname{kpsewhich}. +\item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\ + shows the path used for file lookups of file type \texttt{\var{name}}. + Either a filename extension (\code{.pk}, \code{.vf}, etc.) or a + name can be used, just as with \samp{-{}-format} option. +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + sets the debugging options to \texttt{\var{num}}. +\end{ttdescription} + + +\subsubsection{Examples of use} +\label{sec:examples-of-use} + +Let us now have a look at \KPS{} in action. Here's a straightforward search: + +\begin{alltt} +> \Ucom{kpsewhich article.cls} + /usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} +We are looking for the file \file{article.cls}. Since the \samp{.cls} +suffix is unambiguous we do not need to specify that we want to look for a +file of type \optname{tex} (\TeX{} source file directories). We find it in +the subdirectory \file{tex/latex/base} below the \samp{texmf-dist} \TL\ +directory. Similarly, all of the following are found without problems +thanks to their unambiguous suffix. +\begin{alltt} +> \Ucom{kpsewhich array.sty} + /usr/local/texmf-dist/tex/latex/tools/array.sty +> \Ucom{kpsewhich latin1.def} + /usr/local/texmf-dist/tex/latex/base/latin1.def +> \Ucom{kpsewhich size10.clo} + /usr/local/texmf-dist/tex/latex/base/size10.clo +> \Ucom{kpsewhich small2e.tex} + /usr/local/texmf-dist/tex/latex/base/small2e.tex +> \Ucom{kpsewhich tugboat.bib} + /usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib +\end{alltt} + +By the way, that last is a \BibTeX{} bibliography database for +\textsl{TUGboat} articles. + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} +Font bitmap glyph files of type \file{.pk} are used by display +programs like \cmdname{dvips} and \cmdname{xdvi}. Nothing is returned in +this case since there are no pre-generated Computer Modern \samp{.pk} +files in \TL{}\Dash the Type~1 variants are used by default. +\begin{alltt} +> \Ucom{kpsewhich wsuipa10.pk} +\ifSingleColumn /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk +\else /usr/local/texmf-var/fonts/pk/ljfour/public/ +... wsuipa/wsuipa10.600pk +\fi\end{alltt} +For these fonts (a phonetic alphabet from the University of Washington) +we had to generate \samp{.pk} files, and since the default \MF{} mode on +our installation is \texttt{ljfour} with a base resolution of 600\dpi{} +(dots per inch), this instantiation is returned. +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} +In this case, when specifying that we are interested in a resolution +of 300\dpi{} (\texttt{-dpi=300}) we see that no such font is available on +the system. A program like \cmdname{dvips} or \cmdname{xdvi} would +go off and actually build the required \texttt{.pk} files +using the script \cmdname{mktexpk}. + +Next we turn our attention to \cmdname{dvips}'s header and configuration +files. We first look at one of the commonly used files, the general +prologue \file{tex.pro} for \TeX{} support, before turning our attention +to the generic configuration file (\file{config.ps}) and the \PS{} font +map \file{psfonts.map}\Dash as of 2004, map and encoding files have +their own search paths and new location in \dirname{texmf} trees. As +the \samp{.ps} suffix is ambiguous we have to specify explicitly which +type we are considering (\optname{dvips config}) for the file +\texttt{config.ps}. +\begin{alltt} +> \Ucom{kpsewhich tex.pro} + /usr/local/texmf/dvips/base/tex.pro +> \Ucom{kpsewhich --format="dvips config" config.ps} + /usr/local/texmf/dvips/config/config.ps +> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map +\end{alltt} + +We now take a closer look at the \acro{URW} Times \PS{} support +files. The prefix for these in the standard font naming scheme is +\samp{utm}. The first file we look at is the configuration file, +which contains the name of the map file: +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" config.utm} + /usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} +The contents of that file is +\begin{alltt} + p +utm.map +\end{alltt} +which points to the file \file{utm.map}, which we want to +locate next. +\begin{alltt} +> \Ucom{kpsewhich utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} +This map file defines the file names of the Type~1 \PS{} fonts in +the URW collection. Its contents look like (we only show part of the +lines): +\begin{alltt} +utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb +utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb +utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb +utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} +Let us, for instance, take the Times Roman instance +\file{utmr8a.pfb} and find its position in the \file{texmf} directory +tree with a search for Type~1 font files: +\begin{alltt} +> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +\else /usr/local/texmf-dist/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + +It should be evident from these examples how you can easily locate the +whereabouts of a given file. This is especially important if you suspect +that the wrong version of a file is picked up somehow, since +\cmdname{kpsewhich} will show you the first file encountered. + +\subsubsection{Debugging actions} +\label{sec:debugging} + +Sometimes it is necessary to investigate how a program resolves file +references. To make this practical, \KPS{} offers various levels of +debugging output: + +\begin{ttdescription} +\item[\texttt{\ 1}] \texttt{stat} calls (disk lookups). When running + with an up-to-date \file{ls-R} database this should almost give no + output. +\item[\texttt{\ 2}] References to hash tables (such as \file{ls-R} + databases, map files, configuration files). +\item[\texttt{\ 4}] File open and close operations. +\item[\texttt{\ 8}] General path information for file types + searched by \KPS. This is useful to find out where a particular + path for the file was defined. +\item[\texttt{16}] Directory list for each path element (only relevant + for searches on disk). +\item[\texttt{32}] File searches. +\item[\texttt{64}] Variable values. +\end{ttdescription} +A value of \texttt{-1} will set all the above options; in practice, +this is usually the most convenient. + +Similarly, with the \cmdname{dvips} program, by setting a combination of +debug switches, one can follow in detail where files are being picked up +from. Alternatively, when a file is not found, the debug trace shows in +which directories the program looks for the given file, so that one can +get an indication what the problem~is. + +Generally speaking, as most programs call the \KPS{} library +internally, one can select a debug option by using the +\envname{KPATHSEA\_DEBUG} environment variable, and setting it to (a +combination of) values as described in the above list. + +(Note for Windows users: it is not easy to redirect +all messages to a file in this system. For diagnostic purposes +you can temporarily \texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log}). + +Let us consider, as an example, a small \LaTeX{} source file, +\file{hello-world.tex}, which contains the following input. +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +This little file only uses the font \file{cmr10}, so let us look at +how \cmdname{dvips} prepares the \PS{} file (we want to use the Type~1 +version of the Computer Modern fonts, hence the option \texttt{-Pcms}). +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +In this case we have combined \cmdname{dvips}'s debug class 4 (font +paths) with \KPS's path element expansion (see \cmdname{dvips} Reference +Manual, \OnCD{texmf/doc/dvips/dvips.pdf}). +The output (slightly rearranged) appears in +Figure~\ref{fig:dvipsdbga}. +\begin{figure*}[tp] +\centering +\input{examples/ex6a.tex} +\caption{Finding configuration files}\label{fig:dvipsdbga} + +\bigskip + +\input{examples/ex6b.tex} +\caption{Finding the prolog file}\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{Finding the font file}\label{fig:dvipsdbgc} +\end{figure*} + +\cmdname{dvips} starts by locating its working files. First, +\file{texmf.cnf} is found, which gives the definitions of the search +paths for the other files, then the file database \file{ls-R} (to +optimize file searching) and the file \file{aliases}, which makes it +possible to declare several names (e.g., a short \acro{DOS}-like 8.3 and +a more natural longer version) for the same file. Then \cmdname{dvips} +goes on to find the generic configuration file \file{config.ps} +before looking for the customization file \file{.dvipsrc} (which, in +this case is \emph{not found}). Finally, \cmdname{dvips} locates the +config file for the Computer Modern \PS{} fonts \file{config.cms} +(this was initiated with the \texttt{-Pcms} option on the \cmdname{dvips} +command). This file contains the list of the map files which +define the relation between the \TeX{}, \PS{} and file system +names of the fonts. +\begin{alltt} +> \Ucom{more /usr/local/texmf/dvips/cms/config.cms} + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map +\end{alltt} +\cmdname{dvips} thus goes on to find all these files, plus the generic +map file \file{psfonts.map}, which is always loaded (it contains +declarations for commonly used \PS{} fonts; see the last part of +Section \ref{sec:examples-of-use} for more details about \PS{} map +file handling). + +At this point \cmdname{dvips} identifies itself to the user: +\begin{alltt} +This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) +\end{alltt} +\ifSingleColumn +Then it goes on to look for the prolog file \file{texc.pro}: +\begin{alltt}\small +kdebug:start search(file=texc.pro, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro +\end{alltt} +\else +Then it goes on to look for the prolog file \file{texc.pro} (see +Figure~\ref{fig:dvipsdbgb}). +\fi + +After having found the file in question, \cmdname{dvips} outputs +the date and time, and informs us that it will generate the +file \file{hello-world.ps}, then that it needs the font file +\file{cmr10}, and that the latter is declared as ``resident'' (no +bitmaps needed): +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} +Now the search is on for the file \file{cmr10.tfm}, which is found, +then a few more prolog files (not shown) are referenced, and finally +the Type~1 instance \file{cmr10.pfb} of the font is located and +included in the output file (see last line). +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{Runtime options} + +Another useful feature of \Webc{} is its possibility to control a number +of memory parameters (in particular, array sizes) via the runtime file +\file{texmf.cnf} read by \KPS{}. The memory settings can be found in +Part~3 of that file in the \TL{} distribution. The more important +are: + +\begin{ttdescription} +\item[\texttt{main\_memory}] + Total words of memory available, for + \TeX{}, \MF{} and \MP. You must make a new format file for each + different setting. For instance, you could generate a ``huge'' + version of \TeX{}, and call the format file \texttt{hugetex.fmt}. + Using the standard way of specifying the program name used by \KPS{}, + the particular value of the \texttt{main\_memory} variable will then + be read from \file{texmf.cnf}. +\item[\texttt{extra\_mem\_bot}] + Extra space for ``large'' \TeX{} data structures: + boxes, glue, breakpoints, etc. Especially useful if you use + \PiCTeX{}. +\item[\texttt{font\_mem\_size}] + Number of words for font information available for \TeX. This + is more or less the total size of all \acro{TFM} files read. +\item[\texttt{hash\_extra}] + Additional space for the hash table of control sequence names. + Only $\approx$10,000 control sequences can be stored in the main + hash table; if you have a large book with numerous cross-references, + this might not be enough. The default value of + \texttt{hash\_extra} is \texttt{50000}. +\end{ttdescription} + +\noindent Of course, this facility is no substitute for truly dynamic +arrays and memory allocation, but since these are extremely difficult to +implement in the present \TeX{} source, these runtime parameters provide +a practical compromise allowing some flexibility. + + +\begin{comment} +\section{Building on a new Unix platform} + +If you have a platform for which executables are not included, you will +need to compile \TeX{} and friends. This is not as hard as it +sounds. What you need is all in the directory \texttt{source} in the +distribution. + +\subsection{Prerequisites} + +You will need at least 100 megabytes of disk space to compile all of +\TeX{} and its support programs. You'll also need an \acro{ANSI} C +compiler, a \cmdname{make} utility, a lexical scanner, and a parser +generator. We recommend the \GNU version of these programs +(\cmdname{gcc}, \GNU \cmdname{make}, \cmdname{m4}, \cmdname{flex}, +\cmdname{bison}). You may be able to work with other C compilers and +\cmdname{make} programs, but you will need a good understanding of +building Unix programs to sort out problems. + +Also, the command \texttt{uname} must return a sensible value. + + +\subsection{Configuration} + +To begin, perform a normal installation of \TL{} to your disk (see +section~\ref{sec:install-disk} on +\p.\pageref{sec:install-disk}). You may wish to skip installing +all of the prebuilt binaries. + +Then, unpack the source from the compressed \texttt{tar} file in the +directory \dirname{source} to your disk and change directory to where +you placed it. + +Next, run \cmdname{configure} with a command line like this: +\begin{alltt} +> \Ucom{sh configure -prefix=/usr/local/TeX} +\end{alltt} + +The \optname{-prefix} directory is the one where you installed the +support tree; the directory layout will be as follows (where \$TEXDIR +stands for the directory you chose): + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/share/texmf} & main tree with fonts,\\ + & \qquad macros, etc\\ + \dirname{$TEXDIR/man} & Unix manual pages\\ + \dirname{$TEXDIR/info} & \GNU style Info manuals\\ + \dirname{$TEXDIR/bin/$PLATFORM} & binaries\\ +\end{tabular} +%$ + +If you want to leave out the \dirname{$PLATFORM} directory level, +i.e., put the binaries directly into \dirname{$TEXDIR/bin}, specify +the \verb|--disable-multiplatform| option to \cmdname{configure}. + +Have a look at the output of \verb|./configure --help| for more +options you can use. For example, you can skip building of \OMEGA{} and +\eTeX{}. + + +\subsection{Running \cmdname{make}} + +Make sure the shell variable or option \texttt{noclobber} is not set. +Then, run the main \cmdname{make} like this: +\begin{alltt} +> \Ucom{make world} +\end{alltt} +and relax\ldots + +Alternatively, you want to log all the output, as in: +\begin{alltt} +> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} + +Before you believe that everything went ok, please check the log file +for errors: \GNU \cmdname{make} always uses the string \samp{***} +whenever a command fails. Also, check if all the programs were built: + +\begin{alltt} +> \Ucom{cd \var{TEXDIR}/bin/\var{archname}} +> \Ucom{ls | wc} +\end{alltt} +The result should be over 200 (you can check the exact number with the +\dirname{bin} directory contents in the distribution). + +If you need special privileges for \texttt{make install}, you can +separate the \samp{make world} into two different runs, like this: +\begin{alltt} +> \Ucom{make all} +> \Ucom{su} +> \Ucom{make install strip} +\end{alltt} + +After you've installed your new binaries, you should follow the normal +post-installation procedures, given in section~\ref{sec:postinstall} +(\p.\pageref{sec:postinstall}). + +Also, if you'd like to make your binaries available to others, please +contact us. We'll be happy to put them on the \TL\ web pages. +\end{comment} + +\htmlanchor{ack} +\section{Acknowledgements} + +\TL{} is a joint effort by virtually all of the \TeX{} user groups. +This edition of \TL{} was overseen by Karl Berry. The other principal +contributors, past and present, are listed below. + +\begin{itemize*} + +\item The English, German, Dutch, and Polish \TeX{} user groups +(\acro{TUG}, \acro{DANTE} e.V., \acro{NTG}, and \acro{GUST}, +respectively), which provide the necessary technical and administrative +infrastructure. Please join the \TeX\ user group near you! (See +\url{http://tug.org/usergroups.html}.) + +\item The \acro{CTAN} team, notably Robin Fairbairns, Jim Hef{}feron, +and Rainer Sch\"opf, which distributes the \TL{} images and provides the +common infrastructure for package updates, upon which \TL{} depends. + +\item Nelson Beebe, for making many platforms available to \TL\ +developers, and his own comprehensive testing. + +\item John Bowman, for making many changes to his advanced graphics +program Asymptote to make it work in \TL. + +\item Peter Breitenlohner and the \eTeX\ team for the stable foundation +of future \TeX's, and Peter specifically for stellar help with \GNU\ +autotools usage throughout \TL. + +\item Jin-Hwan Cho and all of the DVIPDFM$x$ team, for their +excellent driver and responsiveness to configuration issues. + +\item Thomas Esser, without whose marvelous \teTeX{} package \TL{} +would have never existed. + +\item Michel Goossens, who co-authored the original documentation. + +\item Eitan Gurari, whose \TeX4ht is used to create the \HTML{} +version of this documentation, and who worked tirelessly to improve it +at short notice, every year. Eitan prematurely passed away in June +2009, and we dedicate this documentation to his memory. + +\item Hans Hagen, for much testing and making his \ConTeXt\ format +(\url{http://pragma-ade.com}) work within \TL's framework. + +\item \Thanh, Martin Schr\"oder, and the pdf\TeX\ team +(\url{http://pdftex.org}) for continuing enhancements of \TeX's +abilities. + +\item Hartmut Henkel, for significant development contributions to +pdf\TeX\, Lua\TeX, and more. + +\item Taco Hoekwater, for major renewed development efforts on MetaPost and +(Lua)\TeX\ (\url{http://luatex.org}) itself, incorporating +\ConTeXt\ into \TL, giving Kpathsea multi-threaded functionality, and +much more. + +\item Pawe{\l} Jackowski, for the Windows installer \cmdname{tlpm}, +and Tomasz {\L}uczak, for \cmdname{tlpmgui}, used in past releases. + +\item Akira Kakuto, for providing the Windows +binaries from his \acro{W32TEX} distribution for Japanese \TeX\ +(\url{http://w32tex.org}), and many other development contributions. + +\item Jonathan Kew, for developing the remarkable \XeTeX{} engine and +taking the time and trouble to integrate it in \TL{}, as well as the +initial version of the Mac\TeX\ installer, and also for our recommended +front-end \TeX{}works. + +\item Dick Koch, for maintaining Mac\TeX\ (\url{http://tug.org/mactex}) +in very close tandem with \TL{}, and for his great good cheer in doing +so. + +\item Reinhard Kotucha, for major contributions to the \TL{} 2008 +infrastructure and installer, as well as Windows research efforts, the +\texttt{getnonfreefonts} script, and more. + +\item Siep Kroonenberg, also for major contributions to the \TL{} 2008 +infrastructure and installer, especially on Windows, and for the bulk of +work updating this manual describing those features. + +\item Heiko Oberdiek, for the \pkgname{epstopdf} package and many +others, compressing the huge \pkgname{pst-geo} data files so we could +include them, and most of all, for his remarkable work on +\pkgname{hyperref}. + +\item Petr Ol\v{s}ak, who coordinated and checked all the Czech and Slovak +material very carefully. + +\item Toshio Oshima, for his \cmdname{dviout} previewer for Windows. + +\item Manuel P\'egouri\'e-Gonnard, for helping with package updates, +documentation improvements, and \cmdname{texdoc} development. + +\item Fabrice Popineau, for the original Windows support in \TL{} and +work on the French documentation. + +\item Norbert Preining, the principal architect of the \TL{} 2008 +infrastructure and installer, and also for coordinating the Debian +version of \TL{} (together with Frank K\"uster), making many suggestions +along the way. + +\item Sebastian Rahtz, for originally creating \TL{} and maintaining it +for many years. + +\item Phil Taylor, for setting up the BitTorrent downloads. + +\item Tomasz Trzeciak, for wide-ranging help with Windows. + +\item Vladimir Volovich, for substantial help with porting and other +maintenance issues, and especially for making it feasible to include +\cmdname{xindy}. + +\item Staszek Wawrykiewicz, the principal tester for all of \TL{}, +and coordinator of the many major Polish contributions: fonts, Windows +installation, and more. + +\item Olaf Weber, for his patient maintenance of \Webc. + +\item Gerben Wierda, for creating and maintaining the original \MacOSX\ +support, and much integration and testing. + +\item Graham Williams, on whose work the \TeX\ Catalogue of packages depends. + +\end{itemize*} + +Builders of the binaries: +Alan Braslau (\pkgname{amd64-kfreebsd}, \pkgname{i386-kfreebsd}), +Peter Breitenlohner (\pkgname{x86\_64-linux}), +Karl Berry (\pkgname{i386-linux}, \pkgname{sparc-linux}), +Ken Brown (\pkgname{i386-cygwin}), +Akira Kakuto (\pkgname{win32}), +Dick Koch (\pkgname{universal-darwin}, \pkgname{x86\_64-darwin}), +Nikola Le\v{c}i\'c (\pkgname{amd64-freebsd}, \pkgname{i386-freebsd}), +Norbert Preining (\pkgname{alpha-linux}), +Jukka Salmi (\pkgname{i386-netbsd}), +Thomas Schmitz (\pkgname{powerpc-linux}), +Apostolos Syropoulos (\pkgname{i386-solaris}, \pkgname{x86\_64-solaris}), +Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-solaris}), +Olaf Weber (\pkgname{mips-irix}). +For information on the \TL{} build process, see +\url{http://tug.org/texlive/build.html}. + +Current documentation translators: +Boris Veytsman (Russian), +Jjgod Jiang, Jinsong Zhao, Yue Wang, \& Helin Gai (Chinese), +Klaus H\"oppner (German), +Manuel P\'egouri\'e-Gonnard (French), +Marco Pallante (Italian), +Nikola Le\v{c}i\'c (Serbian), +Petr Sojka \& Jan Busa (Czech\slash Slovak), +Staszek Wawrykiewicz (Polish). The \TL{} documentation web page +is \url{http://tug.org/texlive/doc.html}. + +Of course the most important acknowledgement must go to Donald Knuth, +first for inventing \TeX, and then for giving it to the world. + + + +\section{Release history} +\label{sec:history} + +\subsection{Past} + +Discussion began in late 1993 when the Dutch \TeX{} Users Group was +starting work on its 4All\TeX{} \CD{} for \acro{MS-DOS} users, and it +was hoped at that time to issue a single, rational, \CD{} for all +systems. This was too ambitious a target for the time, but it did spawn +not only the very successful 4All\TeX{} \CD{}, but also the \acro{TUG} +Technical Council working group on a \emph{\TeX{} Directory Structure} +(\url{http://tug.org/tds}), which specified how to create consistent and +manageable collections of \TeX{} support files. A complete draft of the +\TDS{} was published in the December 1995 issue of \textsl{TUGboat}, and +it was clear from an early stage that one desirable product would be a +model structure on \CD{}. The distribution you now have is a very direct +result of the working group's deliberations. It was also clear that the +success of the 4All\TeX{} \CD{} showed that Unix users would benefit +from a similarly easy system, and this is the other main strand of +\TL. + +We first undertook to make a new Unix-based \TDS{} \CD{} in the autumn +of 1995, and quickly identified Thomas Esser's \teTeX{} as the ideal +setup, as it already had multi-platform support and was built with +portability across file systems in mind. Thomas agreed to help, and work +began seriously at the start of 1996. The first edition was released in +May 1996. At the start of 1997, Karl Berry completed a major new release +of Web2c, which included nearly all the features which Thomas Esser had +added in \teTeX, and we decided to base the 2nd edition of the \CD{} on +the standard \Webc, with the addition of \teTeX's \texttt{texconfig} +script. The 3rd edition of the \CD{} was based on a major revision of +\Webc, 7.2, by Olaf Weber; at the same time, a new revision of \teTeX +was being made, and \TL{} included almost all of its features. The +4th edition followed the same pattern, using a new version of \teTeX, +and a new release of \Webc{} (7.3). The system now included a complete +Windows setup. + +For the 5th edition (March 2000) many parts of the \CD{} were revised +and checked, updating hundreds of packages. Package details were stored +in XML files. But the major change for \TeX\ Live 5 was that all +non-free software was removed. Everything in \TL{} is now intended +to be compatible with the Debian Free Software Guidelines +(\url{http://www.debian.org/intro/free}); we have done our best to check +the license conditions of all packages, but we would very much +appreciate hearing of any mistakes. + +The 6th edition (July 2001) had much more material updated. The major +change was a new install concept: the user could select a more exact set +of needed collections. Language-related collections were completely +reorganized, so selecting any of them installs not only macros, fonts, +etc., but also prepares an appropriate \texttt{language.dat}. + +The 7th edition of 2002 had the notable addition of \MacOSX{} support, +and the usual myriad of updates to all sorts of packages and +programs. An important goal was integration of the source back with +\teTeX, to correct the drift apart in versions~5 and~6. + +\subsubsection{2003} + +In 2003, with the continuing flood of updates and additions, we found +that \TL{} had grown so large it could no longer be contained on a +single \CD, so we split it into three different distributions (see +section~\ref{sec:tl-coll-dists}, \p.\pageref{sec:tl-coll-dists}). In +addition: + +\begin{itemize*} +\item At the request of the \LaTeX{} team, we changed the standard + \cmdname{latex} and \cmdname{pdflatex} commands to now use \eTeX{} (see + \p.\pageref{text:etex}). +\item The new Latin Modern fonts were included (and are recommended). +\item Support for Alpha \acro{OSF} was removed + (\acro{HPUX} support was removed previously), since no one had (or + volunteered) hardware available on which to compile new binaries. +\item Windows setup was substantially changed; for the first time + an integrated environment based on XEmacs was introduced. +\item Important supplementary programs for Windows + (Perl, Ghost\-script, Image\-Magick, Ispell) are now installed + in the \TL{} installation directory. +\item Font map files used by \cmdname{dvips}, \cmdname{dvipdfm} + and \cmdname{pdftex} are now generated by the new program + \cmdname{updmap} and installed into \dirname{texmf/fonts/map}. +\item \TeX{}, \MF{}, and \MP{} now, by default, output most input + characters (32 and above) as themselves in output (e.g., + \verb|\write|) files, + log files, and the terminal, i.e., \emph{not} translated using the + \verb|^^| notation. In \TL{}~7, this translation was + dependent on the system locale settings; now, locale settings do + not influence the \TeX{} programs' behavior. If for some reason + you need the \verb|^^| output, rename the file + \verb|texmf/web2c/cp8bit.tcx|. (Future releases will have cleaner + ways to control this.) +\item This documentation was substantially revised. +\item Finally, since the edition numbers had grown unwieldy, + the version is now simply identified by the year: \TL{} 2003. +\end{itemize*} + + +\subsubsection{2004} + +2004 saw many changes: + +\begin{itemize} + +\item If you have locally-installed fonts which use their own +\filename{.map} or (much less likely) \filename{.enc} support files, you +may need to move those support files. + +\filename{.map} files are now searched for in subdirectories of +\dirname{fonts/map} only (in each \filename{texmf} tree), along the +\envname{TEXFONTMAPS} path. Similarly, \filename{.enc} files are now +searched for in subdirectories of \dirname{fonts/enc} only, along the +\envname{ENCFONTS} path. \cmdname{updmap} will attempt to warn about +problematic files. + +For methods of handling this and other information, please see +\url{http://tug.org/texlive/mapenc.html}. + +\item The \TK\ has been expanded with the addition of a \MIKTEX-based +installable \CD, for those who prefer that implementation to Web2C. +See section~\ref{sec:overview-tl} (\p.\pageref{sec:overview-tl}). + +\item Within \TL, the single large \dirname{texmf} tree of previous +releases has been replaced by three: \dirname{texmf}, +\dirname{texmf-dist}, and \dirname{texmf-doc}. See +section~\ref{sec:tld} (\p.\pageref{sec:tld}), and the \filename{README} +files for each. + +\item All \TeX-related input files are now collected in +the \dirname{tex} subdirectory of \dirname{texmf*} trees, rather than +having separate sibling directories \dirname{tex}, \dirname{etex}, +\dirname{pdftex}, \dirname{pdfetex}, etc. See +\CDref{texmf-dist/doc/generic/tds/tds.html\#Extensions} +{\texttt{texmf-dist/doc/generic/tds/tds.html\#Extensions}}. + +\item Helper scripts (not meant to be invoked by users) are now located +in a new \dirname{scripts} subdirectory of \dirname{texmf*} trees, and +can be searched for via \verb|kpsewhich -format=texmfscripts|. So if you have +programs which call such scripts, they'll need to be adjusted. See +\CDref{texmf-dist/doc/generic/tds/tds.html\#Scripts} +{\texttt{texmf-dist/doc/generic/tds/tds.html\#Scripts}}. + +\item Almost all formats leave most characters printable as +themselves via the ``translation file'' \filename{cp227.tcx}, instead of +translating them with the \verb|^^| notation. Specifically, characters +at positions 32--256, plus tab, vertical tab, and form feed are +considered printable and not translated. The exceptions are plain \TeX\ +(only 32--126 printable), \ConTeXt\ (0--255 printable), and the +\OMEGA-related formats. This default behavior is almost the same as in +\TL\,2003, but it's implemented more cleanly, with more possibilities +for customization. See \CDref{texmf/doc/web2c/web2c.html\#TCX-files} +{\texttt{texmf/doc/web2c/web2c.html\#TCX-files}}. +(By the way, with Unicode input, \TeX\ may output partial character +sequences when showing error contexts, since it is byte-oriented.) + +\item \textsf{pdfetex} is now the default engine for all formats +except (plain) \textsf{tex} itself. (Of course it generates \acro{DVI} +when run as \textsf{latex}, etc.) This means, among other things, that +the microtypographic features of \textsf{pdftex} are available in +\LaTeX, \ConTeXt, etc., as well as the \eTeX\ features +(\OnCD{texmf-dist/doc/etex/base/}). + +It also means it's \emph{more important than ever} to use the +\pkgname{ifpdf} package (works with both plain and \LaTeX) or equivalent +code, because simply testing whether \cs{pdfoutput} or some other +primitive is defined is not a reliable way to determine if \acro{PDF} +output is being generated. We made this backward compatible as best we +could this year, but next year, \cs{pdfoutput} may be defined even when +\acro{DVI} is being written. + +\item pdf\TeX\ (\url{http://pdftex.org}) has many new features: + + \begin{itemize*} + + \item \cs{pdfmapfile} and \cs{pdfmapline} provide font map support + from within a document. + + \item Microtypographic font expansion can be used more easily.\\ + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} + + \item All parameters previously set through the special configuration + file \filename{pdftex.cfg} must now be set through primitives, + typically in \filename{pdftexconfig.tex}; \filename{pdftex.cfg} is no + longer supported. Any extant \filename{.fmt} files must be redumped + when \filename{pdftexconfig.tex} is changed. + + \item See the pdf\TeX\ manual for more: \OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf}. + + \end{itemize*} + +\item The \cs{input} primitive in \cmdname{tex} (and \cmdname{mf} and +\cmdname{mpost}) now accepts double quotes containing spaces and other +special characters. Typical examples: +\begin{verbatim} +\input "filename with spaces" % plain +\input{"filename with spaces"} % latex +\end{verbatim} +See the Web2C manual for more: \OnCD{texmf/doc/web2c}. + +\item enc\TeX\ support is now included within Web2C and consequently all +\TeX\ programs, via the \optname{-enc} option\Dash \emph{only when +formats are built}. enc\TeX\ supports general re-encoding of input and +output, enabling full support of Unicode (in \acro{UTF}-8). See +\OnCD{texmf-dist/doc/generic/enctex/} and +\url{http://www.olsak.net/enctex.html}. + +\item Aleph, a new engine combining \eTeX\ and \OMEGA, is available. +A little information is available in \OnCD{texmf-dist/doc/aleph/base} +and \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph}. The +\LaTeX-based format for Aleph is named \textsf{lamed}. + +\item The latest \LaTeX\ release has a new version of the +\acro{LPPL}\Dash now officially a Debian-approved license. Assorted +other updates, see the \filename{ltnews} files in +\OnCD{texmf-dist/doc/latex/base}. + +\item \cmdname{dvipng}, a new program for converting \acro{DVI} to +\acro{PNG} image files, is included. See \OnCD{texmf/doc/man/man1/dvipng.1}. + +\item We reduced the \pkgname{cbgreek} package to a ``medium'' sized set +of fonts, with the assent and advice of the author (Claudio Beccari). +The excised fonts are the invisible, outline, and transparency ones, +which are relatively rarely used, and we needed the space. The full set +is of course available from \acro{CTAN} +(\url{http://mirror.ctan.org/tex-archive/fonts/greek/cb}). + +\item \cmdname{oxdvi} has been removed; just use \cmdname{xdvi}. + +\item The \cmdname{ini} and \cmdname{vir} commands (links) for +\cmdname{tex}, \cmdname{mf}, and \cmdname{mpost} are no longer created, +such as \cmdname{initex}. The \cmdname{ini} functionality has been +available through the command-line option \optname{-ini} for years now. + +\item \textsf{i386-openbsd} platform support was removed. Since the +\pkgname{tetex} package in the \acro{BSD} Ports system is available, and +\acro{GNU/}Linux and Free\acro{BSD} binaries were available, it seemed +volunteer time could be better spent elsewhere. + +\item On \textsf{sparc-solaris} (at least), you may have to set the +\envname{LD\_LIBRARY\_PATH} environment variable to run the +\pkgname{t1utils} programs. This is because they are compiled with C++, +and there is no standard location for the runtime libraries. (This is +not new in 2004, but wasn't previously documented.) Similarly, on +\textsf{mips-irix}, the \acro{MIPS}pro 7.4 runtimes are required. + +\end{itemize} + +\subsubsection{2005} + +2005 saw the usual huge number of updates to packages and programs. +The infrastructure stayed relatively stable from 2004, but inevitably +there were some changes there as well: + +\begin{itemize} + +\item New scripts \cmdname{texconfig-sys}, \cmdname{updmap-sys}, and + \cmdname{fmtutil-sys} were introduced, which modify the + configuration in the system trees. The \cmdname{texconfig}, + \cmdname{updmap}, and \cmdname{fmtutil} scripts now modify + user-specific files, under \dirname{$HOME/.texlive2005}. + +\item Corresponding new variables \envname{TEXMFCONFIG} and + \envname{TEXMFSYSCONFIG} to specify the trees where configuration + files (user or system, respectively) are found. Thus, you may + need to move personal versions of \filename{fmtutil.cnf} and + \filename{updmap.cfg} to these places; another option is to + redefine \envname{TEXMFCONFIG} or \envname{TEXMFSYSCONFIG} in + \filename{texmf.cnf}. In any case the real location of these files + and the values of \envname{TEXMFCONFIG} and \envname{TEXMFSYSCONFIG} + must agree. + See section~\ref{sec:texmftrees}, \p.\pageref{sec:texmftrees}. + +\item Last year, we kept \verb|\pdfoutput| and other primitives undefined + for \dvi\ output, even though the \cmdname{pdfetex} program was + being used. This year, as promised, we undid that compatibility + measure. So if your document uses \verb|\ifx\pdfoutput\undefined| + to test if PDF is being output, it will need to be changed. You + can use the package \pkgname{ifpdf.sty} (which works under both + plain \TeX\ and \LaTeX) to do this, or steal its logic. + +\item Last year, we changed most formats to output (8-bit) characters as + themselves (see previous section). The new TCX file + \filename{empty.tcx} now provides an easier way to get the + original \verb|^^| notation if you so desire, as in: +\begin{verbatim} +latex --translate-file=empty.tcx yourfile.tex +\end{verbatim} + +\item The new program \cmdname{dvipdfmx} is included for translation of + DVI to PDF; this is an actively maintained update of + \cmdname{dvipdfm} (which is also still available for now, though + no longer recommended). + +\item The new programs \cmdname{pdfopen} and \cmdname{pdfclose} are included + to allow reloading of pdf files in the Adobe Acrobat Reader without + restarting the program. (Other pdf readers, notably \cmdname{xpdf}, + \cmdname{gv}, and \cmdname{gsview}, have never suffered from this + problem.) + +\item For consistency, the variables \envname{HOMETEXMF} and + \envname{VARTEXMF} have been renamed to \envname{TEXMFHOME} and + \envname{TEXMFSYSVAR}, respectively. There is also + \envname{TEXMFVAR}, which is by default user-specific. See the + first point above. + +\end{itemize} + + +\subsubsection{2006--2007} + +In 2006--2007, the major new addition to \TL{} was the \XeTeX{} program, +available as the \texttt{xetex} and \texttt{xelatex} programs; see +\url{http://scripts.sil.org/xetex}. + +MetaPost also received a notable update, with more planned for the +future (\url{http://tug.org/metapost/articles}), likewise pdf\TeX{} +(\url{http://tug.org/applications/pdftex}). + +The \TeX\ \filename{.fmt} (high-speed format) and the similar files for +MetaPost and \MF\ are now stored in subdirectories of \dirname{texmf/web2c}, +instead of in the directory itself (although the directory is still +searched, for the sake of existing \filename{.fmt}'s). The +subdirectories are named for the `engine' in use, such as \filename{tex} +or \filename{pdftex} or \filename{xetex}. This change should be +invisible in normal use. + +The (plain) \texttt{tex} program no longer reads \texttt{\%\&} first +lines to determine what format to run; it is the pure Knuthian \TeX. +(\LaTeX\ and everything else do still read \texttt{\%\&} lines). + +Of course the year also saw (the usual) hundreds of other updates to +packages and programs. As usual, please check \acro{CTAN} +(\url{http://mirror.ctan.org}) for updates. + +Internally, the source tree is now stored in Subversion, with a standard +web interface for viewing the tree, as linked from our home page. +Although not visible in the final distribution, we expect this will +provide a stable development foundation for future years. + +Finally, in May 2006 Thomas Esser announced that he would no longer be +updating te\TeX{} (\url{http://tug.org/tetex}). As a result, there was +been a surge of interest in \TL{}, especially among \GNU/Linux +distributors. (There is a new \texttt{tetex} installation scheme in +\TL{}, which provides an approximate equivalent.) We hope this will +eventually translate to improvements in the \TeX\ environment for +everyone. + +\subsubsection{2008} + +In 2008, the entire \TL{} infrastructure was redesigned and +reimplemented. Complete information about an installation is now stored +in a plain text file \filename{tlpkg/texlive.tlpdb}. + +Among other things, this finally makes possible upgrading a \TL{} +installation over the Internet after the initial installation, a feature +MiK\TeX\ has provided for many years. We expect to regularly update new +packages as they are released to \CTAN. + +The major new engine Lua\TeX\ (\url{http://luatex.org}) is included; +besides a new level of flexibility in typesetting, this provides an +excellent scripting language for use both inside and outside of \TeX\ +documents. + +Support among Windows and the Unix-based platforms is now much more +uniform. In particular, most Perl and Lua scripts are now available on +Windows, using the Perl internally distributed with \TL. + +The new \cmdname{tlmgr} script (section~\ref{sec:tlmgr}) is the +general interface for managing \TL{} after the initial installation. +It handles package updates and consequent regeneration of formats, map +files, and language files, optionally including local additions. + +With the advent of \cmdname{tlmgr}, the \cmdname{texconfig} actions to +edit the format and hyphenation configuration files are now disabled. + +The \cmdname{xindy} indexing program +(\url{http://xindy.sourceforge.net/}) is now included on most platforms. + +The \cmdname{kpsewhich} tool can now report all matches for a given file +(option \optname{--all}) and limit matches to a given subdirectory +(option \optname{--subdir}). + +The \cmdname{dvipdfmx} program now includes functionality to extract +bounding box information, via the command name \cmdname{extractbb}; this +was one of the last features provided by \cmdname{dvipdfm} not in +\cmdname{dvipdfmx}. + +The font aliases \filename{Times-Roman}, \filename{Helvetica}, and so on +have been removed. Different packages expected them to behave +differently (in particular, to have different encodings), and there was +no good way to resolve this. + +The \pkgname{platex} format has been removed, to resolve a name conflict +with a completely different Japanese \pkgname{platex}; the +\pkgname{polski} package is now the main Polish support. + +Internally, the \web\ string pool files are now compiled into the +binaries, to ease upgrades. + +Finally, the changes made by Donald Knuth in his `\TeX\ tuneup of 2008' +are included in this release. See +\url{http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}. + +\subsubsection{2009} + +In 2009, the default output format for Lua\AllTeX\ is now PDF, to take +advantage of Lua\TeX's OpenType support, et al. New executables named +\code{dviluatex} and \code{dvilualatex} run Lua\TeX\ with DVI output. +The Lua\TeX\ home page is \url{http://luatex.org}. + +The original Omega engine and Lambda format have been excised, after +discussions with the Omega authors. The updated Aleph and Lamed remain, +as do the Omega utilities. + +A new release of the AMS \TypeI\ fonts is included, including Computer +Modern: a few shape changes made over the years by Knuth in the Metafont +sources have been integrated, and the hinting has been updated. The +Euler fonts have been thoroughly reshaped by Hermann Zapf (see +\url{http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf}). In +all cases, the metrics remain unchanged. The AMS fonts home page is +\url{http://www.ams.org/tex/amsfonts.html}. + +The new GUI front end \TeX{}works is included for Windows, and also in +Mac\TeX. For other platforms, and more information, see the \TeX{}works +home page, \url{http://tug.org/texworks}. It is a cross-platform front +end inspired by the \MacOSX\ TeXShop editor, aiming at ease-of-use. + +The graphics program Asymptote is included for several platforms. This +implements a text-based graphics description language vaguely akin to +MetaPost, but with advanced 3D support and other features. Its home +page is \url{http://asymptote.sourceforge.net}. + +The separate \code{dvipdfm} program has been replaced by +\code{dvipdfmx}, which operates in a special compatibility mode under +that name. \code{dvipdfmx} includes \acro{CJK} support and has +accumulated many other fixes over the years since the last +\code{dvipdfm} release. The DVIPDFMx home page is +\url{http://project.ktug.or.kr/dvipdfmx}. + +Executables for the \pkgname{cygwin} and \pkgname{i386-netbsd} platforms +are now included, while we were advised that Open\acro{BSD} users get +\TeX\ through their package systems, plus there were difficulties in +making binaries that have a chance of working on more than one version. + +A miscellany of smaller changes: we now use \pkgname{xz} compression, +the stable replacement for \pkgname{lzma} +(\url{http://tukaani.org/xz/}); a literal |$| is allowed in filenames +when it does not introduce a known variable name; the Kpathsea library +is now multi-threaded (made use of in MetaPost); the entire \TL{} build +is now based on Automake. + +Final note on the past: all releases of \TL{}, along with ancillary +material such as \CD\ labels, are available at +\url{ftp://tug.org/historic/systems/texlive}. + + +\subsubsection{2010} +\label{sec:2010news} % keep with 2010 + +In 2010, the default version for PDF output is now 1.5, enabling more +compression. This applies to all the \TeX\ engines when used to produce +PDF and to \code{dvipdfmx}. Loading the \pkgname{pdf14} \LaTeX\ package +changes back to PDF~1.4, or set |\pdfminorversion=4|. + +pdf\AllTeX\ now \emph{automatically} converts a requested Encapsulated +PostScript (EPS) file to PDF, via the \pkgname{epstopdf} package, when +and if the \LaTeX\ \code{graphics.cfg} configuration file is loaded, and +PDF is being output. The default options are intended to eliminate any +chance of hand-created PDF files being overwritten, but you can also +prevent \code{epstopdf} from being loaded at all by putting +|\newcommand{\DoNotLoadEpstopdf}{}| (or |\def...|) before the +\cs{documentclass} declaration. It is also not loaded if the +\pkgname{pst-pdf} package is used. For more details, see the +\pkgname{epstopdf} package documentation +(\url{http://ctan.org/pkg/epstopdf-pkg}). + +A related change is that execution of a very few external commands from +\TeX, via the \cs{write18} feature, is now enabled by default. These +are commands are \code{repstopdf}, \code{makeindex}, \code{kpsewhich}, +\code{bibtex}, and \code{bibtex8}; the list is defined in +\code{texmf.cnf}. Environments which must disallow all such external +commands can deselect this option in the installer (see +section~\ref{sec:options}), or override the value after installation by +running |tlmgr conf texmf shell_escape 0|. + +Yet another related change is that \BibTeX\ and Makeindex now refuse to +write their output files to an arbitrary directory (like \TeX\ itself), +by default. This is so they can now be enabled for use by the +restricted \cs{write18}. To change this, the \envname{TEXMFOUTPUT} +environment variable can be set, or the |openout_any| setting changed. + +\XeTeX\ now supports margin kerning along the same lines as pdf\TeX. +(Font expansion is not presently supported.) + +By default, \prog{tlmgr} now saves one backup of each package updated +(\code{tlmgr option autobackup 1}), so broken packages updates can be +easily reverted with \code{tlmgr restore}. If you do post-install +updates, and don't have the disk space for the backups, run \code{tlmgr +option autobackup 0}. + +New programs included: the p\TeX\ engine and related utilities for +typesetting Japanese; the \BibTeX{}U program for Unicode-enabled +\BibTeX; the \prog{chktex} utility +(\url{http://baruch.ev-en.org/proj/chktex}) for checking \AllTeX\ +documents; the \prog{dvisvgm} (\url{http://dvisvgm.sourceforge.net}) +DVI-to-SVG translator. + +Executables for these new platforms are now included: \code{amd64-freebsd}, +\code{amd64-kfreebsd}, \code{i386-freebsd}, \code{i386-kfreebsd}, +\code{x86\_64-darwin}, \code{x86\_64-solaris}. + +A change in \TL{} 2009 that we failed to note: numerous \TeX4ht-related +executables (\url{http://tug.org/tex4ht}) were removed from the binary +directories. The generic \code{mk4ht} program can be used to run any of +the various \code{tex4ht} combinations. + +Finally, the \TL{} release on the \TK\ \DVD\ can no longer be run live +(oddly enough). A single \DVD\ no longer has enough room. One +beneficial side effect is that installation from the physical \DVD\ is +much faster. + + +% +\htmlanchor{news} +\subsection{Present} +\label{sec:tlcurrent} + +2011 saw relatively few changes. + +The \MacOSX\ binaries (\code{universal-darwin} and +\code{x86\_64-darwin}) now work only on Leopard or later; Panther and +Tiger are no longer supported. + +The \code{biber} program for bibliography processing is included on +common platforms. Its development is closely coupled with the +\code{biblatex} package, which completely reimplements the +bibliographical facilities provided by LaTeX. + +The MetaPost (\code{mpost}) program no longer creates or uses +\code{.mem} files. The needed files, such as \code{plain.mp}, are +simply read on every run. This is related to supporting MetaPost as a +library, which is another significant though not user-visible change. + +The \code{updmap} implementation in Perl, previously used only on +Windows, has been revamped and is now used on all platforms. There +shouldn't be any user-visible changes as a result, except that it runs +much faster. + +\subsection{Future} + +\emph{\TL{} is not perfect!} (And never will be.) We intend to +continue to release new versions, and would like to provide more help +material, more utilities, more installation programs, and (of course) an +ever-improved and better-checked tree of macros and fonts. This work is +all done by volunteers in their spare time, and so there is always more +to do. Please see \url{http://tug.org/texlive/contribute.html}. + +Please send corrections, suggestions, and offers of help to: +\begin{quote} +\email{tex-live@tug.org} \\ +\url{http://tug.org/texlive} +\end{quote} + +\medskip +\noindent \textsl{Happy \TeX ing!} + +\end{document} diff --git a/Master/texmf-dist/doc/texlive/texlive-en/archive/live-tl7.tex b/Master/texmf-dist/doc/texlive/texlive-en/archive/live-tl7.tex new file mode 100644 index 00000000000..1e8ee77312b --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/archive/live-tl7.tex @@ -0,0 +1,3554 @@ +% +% change history (started May 13th 2002) +% 2002/05/13: added tex-langafrican to list of collections +% 2002/05/14: corrected example files, other small errors noted by Volker +% 2002/05/18: win32 updates, by Fabrice +% 2002/05/25: remove mention of sizes, and bsr-interpolated; add Gutenberg +\documentclass{article} +\advance\textwidth by 1in +\advance\oddsidemargin by -1in +\advance\evensidemargin by -1in +\newsavebox{\warnbox} +\def\Q#1{\par\vskip6pt\leftline{#1}\par} +\setcounter{tocdepth}{2} +\pretolerance=1000 +\tolerance=1500 +\hbadness=3000 +\vbadness=3000 +\hyphenpenalty=400 +\renewcommand{\topfraction}{0.85} +\renewcommand{\floatpagefraction}{0.86} +\renewcommand{\textfraction}{0.1} +\setcounter{topnumber}{5} +\setcounter{totalnumber}{5} +\def\eTeX{$\varepsilon$-\TeX} +\def\Dash{---} +\def\hyph{-} +\def\OMEGA{$\Omega$} +\def\bs{{\protect\normalfont\ttfamily\char'134}} +\DeclareRobustCommand{\cs}[1]{{\normalfont\ttfamily\char`\\#1}} +\def\La{La} +\let\textsl\textit +\let\sl\it +\let\slfamily\itfamily +\def\ttdefault{cmtt} +\usepackage{tex-live} +\begin{document} +%\makeatletter\@ifundefined{HRestore}{}{\HRestore\noalign}\makeatother +\author{Sebastian Rahtz\\ +\texttt{sebastian.rahtz@oucs.ox.ac.uk} +%Michel Goossens\\ +%\texttt{m.goossens@cern.ch} +} +\title{The \protect\TeX\ Live Guide, 7th edition} +\date{May 2002} +\maketitle +\begin{multicols}{2} +\tableofcontents +\listoftables +\end{multicols} +\section{Introduction}\label{sec:intro} +This documentation describes the + main features of the \TeXLive{} 7 \CD{}\Dash a \TeX{}/\LaTeX{} + distribution for Unix, Linux, MacOSX, and Windows32 systems that includes + \TeX{}, \LaTeXe{}, \MF, \MP, \cmdname{Makeindex}, and \BibTeX{}; and + a wide-ranging set of macros, fonts and documentation conforming to + the \emph{\TeX{} Directory Standard} (\TDS{})\Dash which can be used + with nearly every \TeX{} setup. + + This \TeX{} package uses the \Webc{} version 7.3.7 + implementation of the programs, which tries to make \TeX{}ing as + easy as possible, and takes full advantage of the efficient and + highly customizable \KPS{} library from Karl Berry and Olaf Weber. + It can be run either directly from the \CD{} or installed on a hard + disk. + +Most of the runnable systems on the \CD{} include a large set of +drivers and support programs for \TeX, including \cmdname{dvips} +(PostScript driver), \cmdname{dvipdfm} (dvi to PDF), +\cmdname{xdvi} (X Windows previewer), +\cmdname{dvilj} (HP LaserJet driver), \cmdname{lacheck} (\LaTeX{} +syntax checker), \cmdname{tex4ht} (\TeX{} to HTML converter), +\cmdname{dviconcat} and \cmdname{dviselect}, \cmdname{dv2dt} and + \cmdname{dt2dv} (\texttt{dvi} to ASCII and vice versa), and Angus + Duggan's PostScript utilities. + +\subsection{Extensions to \TeX} + +The \TeXLive{} runnable systems contain three extended versions of +standard \TeX: +\begin{enumerate} +\item \eTeX, which adds a small but powerful set of new primitives, + and the \TeXXeT{} extensions for left to right typesetting; in + default mode, \eTeX{} is 100\% compatible with ordinary \TeX. See + \OnCD{texmf/doc/etex/base/etex_man.pdf} on the \CD{} for details. +\item pdf\TeX, which can optionally write Acrobat PDF format instead + of \dvi{}. You will find the user manual in + \OnCD{texmf/doc/pdftex/pdftex-l.pdf}. The + file \OnCD{texmf/doc/pdftex/samplepdf/samplepdf.tex} shows how it is + used. The \LaTeX{} \pkgname{hyperref} package has an option + `\optname{pdftex}', which turns on all the program features. +\item \OMEGA{} (Omega), which works internally with 16-bit characters, + using Unicode; this allows it to directly work with almost all the + world's scripts simultaneously. It also supports dynamically loaded + `\OMEGA{} Translation Processes' (\acro{OTP}s), which allow the user + to define complex transformations to be performed on arbitrary + streams of input. See \OnCD{texmf/doc/omega/base/doc-1.8.tex} for some + (not necessarily up to date) documentation. +\end{enumerate} +\eTeX{} (version 2.1) is stable, although subsequent releases will add +new functionality. pdf\TeX{} (version 1.00b) is also stable, +but is still being improved. +\OMEGA{} (version 1.23) is under development; the version +on this \CD{} is that current as of May 2002. + + +\section[Structure and contents of the CD-ROM]{Structure + and contents of the \protect\CD{}} +The important \CD{} top-level directories are listed below. +\begin{description} +\item[bin] The \TeX{} family programs, arranged in separate platform + directories. +\item[Books] Examples related to some books about \TeX. +\item[FAQ] Frequently Asked Questions, in English, French, and German. +\item[MacOSX] Support programs for MacOSX users +\item[info] Documentation in \acro{GNU} `info' format for the \TeX{} + system. +\item[man] Documentation in the form of Unix man pages for the \TeX{} + system. +\item[setupw32] directory contains material for installation and use + under Windows (see section \ref{sec:wintex} on p.~\pageref{sec:wintex}). +\item[source] The source of all programs, including the main \Webc{} + \TeX{} and \MF{} distributions. These are stored in a bzip2-compressed + tar archive. +\item[support] Various bits of \TeX-related software which are + \emph{not} installed by default, support programs, and a complete + distribution of \cmdname{Ghostscript} version 7.05. + You can find here some other programs (editors, \TeX\ shells), which + are usually absent from Windows installations, dedicated for beginners. + They can be installed with the \texttt{TeXSetup.exe} Windows installation + program. +\item[texmf] The main support tree of macros, fonts and documentation; +\item[usergrps] Material about \TeX\ User Groups. +\end{description} + +There are also two installation scripts for Unix systems, +\texttt{install-cd.sh} and \texttt{install-pkg.sh}; we discuss +them on in section \ref{sec:install} on p.~\pageref{sec:install}. + +\subsection[Packages and collections]{Packages and collections} +\label{packages} +The \TeXLive{} \texttt{texmf} tree consists of various `collections', +each of which refers to a set of `packages', of which there are over 700 +on the \CD{}. Normal installation allows the +user to copy all of a collection to a local hard disk from the \CD{}, but +it is also possible to install just one package of a collection. + +The collections add functionality to a \TeX\ system. One of them, named +`tex-basic', is necessary for almost all \TeX\ tasks, +and two others, called `tex-latex' and `tex-pdftex' are highly +recommended for most users. All others are optional. +The collections (defined by XML files in \texttt{texmf/tpm/collections}) +and their short descriptions are listed below. + +\begin{description} + \item[tex-basic] + These files are regarded as basic for any \TeX\ system, covering +plain \TeX\ macros, Computer Modern fonts, and configuration for common +drivers. + \item[tex-bibtexextra] + Additional, extensive libraries of BibTeX styles and bibliographies. + \item[tex-chemistry] + Essential chemistry + \item[tex-context] + Hans Hagen's powerful macro package, ConText + \item[tex-documentation] + Assorted useful documentation and guides + \item[tex-etex] + Support files for an extended \TeX\ + \item[tex-extrabin] + Various useful, but non-essential, support programs. Includes + programs and macros for texinfo system; programs for dvi file + manipulation, etc. + \item[tex-fontbin] + Programs for conversion between font formats, testing fonts + (virtual fonts stuff, .gf and .pk manipulation, + mft, fontinst, etc.) + \item[tex-fontsextra] + All sorts of extra fonts + \item[tex-formatsextra] + A collection of \TeX\ `formats', ie large-scale +macro packages designed to be dumped into .fmt file + \item[tex-games] + Setups for typesetting various board games, including chess + \item[tex-genericextra] + This is a mixed bag of macro packages and fonts which do not seem +to belong elsewhere + \item[tex-htmlxml] + Packages to convert \LaTeX\ to XML/HTML, and typeset XML/SGML + \item[tex-langafrican] + Support for some African scripts + \item[tex-langarmenian] + Essential armenian + \item[tex-langcjk] +Essential CJK (Chinese, Japanese, Korean) macros and fonts + \item[tex-langcroatian] + Essential croatian + \item[tex-langcyrillic] + Fonts and macro packages to typeset Cyrillic texts. + \item[tex-langczechslovak] + Pick this if you want Czech/Slovak fonts and other packages + \item[tex-langdanish] + Essential Danish + \item[tex-langdutch] + Essential Dutch + \item[tex-langfinnish] + Essential Finnish + \item[tex-langfrench] + Essential French + \item[tex-langgerman] + Essential German + \item[tex-langgreek] + Essential Greek + \item[tex-langhungarian] + Essential Hungarian + \item[tex-langindic] + Essential Indic + \item[tex-langitalian] + Essential Italian + \item[tex-langlatin] + Essential Latin + \item[tex-langmanju] + Essential Manju + \item[tex-langmongolian] + Essential mongolian + \item[tex-langnorwegian] + Essential Norwegian + \item[tex-langother] + Other languages + \item[tex-langpolish] + Pick this if you want Polish fonts and other packages + \item[tex-langportuguese] + Essential Portuguese + \item[tex-langspanish] + Essential Spanish + \item[tex-langswedish] + Essential Swedish + \item[tex-langtibetan] + Fonts and support for typesetting Tibetan + \item[tex-langukenglish] + Essential UK English + \item[tex-langvietnamese] + Essential Vietnamese + \item[tex-latex] + These packages are either mandated by the core \LaTeX\ team, +or very commonly recommended + \item[tex-latexextra] + A large collection of add-on packages for \LaTeX\ + \item[tex-mathextra] + Extra math + \item[tex-metapost] + MetaPost (and MetaFont) drawing packages + \item[tex-music] + Music typesetting packages + \item[tex-omega] + Omega, a 16-bit extended \TeX\ by John Plaice and Yannis Haralambous + \item[tex-pdftex] + Support files for Han The Thanh's variant of \TeX\ which can +generate PDF output + \item[tex-pictures] + Essential graphics + \item[tex-plainextra] + Plain \TeX\ extra macros + \item[tex-psfonts] + Essential psfonts + \item[tex-psutils] + Utilities to manipulate PostScript files + \item[tex-publishers] + Essential publishers + \item[tex-t1utils] + Utilities to manipulate Type1 fonts + \item[tex-texbooks] + Examples and other material from various books about TeX/LaTeX. + \item[tex-theses] + Macro packages from various Universities for their thesis styles + \item[tex-ttfutils] + Utilities to manipulate TrueType fonts + \item[win32-support] + You can choose individual tools from this collection. + There are many \TeX\ oriented editors, graphics files + toolsets, etc. +\end{description} + +The directory \texttt{texmf/tpm/packages} contains lists +of all files in each package (used by the installation programs). + +\section{Installation and use under Unix} +\label{sec:install} +You can use the \TeXLive{} \CD{} in three ways: +\begin{enumerate} +\item You can mount the \CD{} on your file system, run +the \texttt{install-cd.sh} script, and select the option \verb|<R>| + (`do not install files, set up to run off CD-ROM'), + and run everything off the \CD; this takes very + little disk space, and gives you immediate access to everything on + the \CD; although the performance will not be optimal, it is + perfectly acceptable on, for instance, PCs running Linux. You could + also copy the entire CD contents to your hard disk and work in this way. +\item You can install all or part of the system to your local hard + disk; this is the best method for many people, if they have enough + disk space to spare (a minimum of about 100 megabytes, or 300 + megabytes for a recommended good-sized system). +\item You can install selected packages to work either with your + existing \TeX{} system or a \TeXLive{} system you installed earlier. +\end{enumerate} +Each of these methods is described in more detail in the following +sections. + +\ifSingleColumn +\begin{figure*} + \begin{center} + \leavevmode +\fi +\begin{warningbox} +\textbf{Warning: } This \CD{} is in ISO 9660 (High Sierra) format, +with Rock Ridge and Joliet extensions. In order to take full advantage +of the \CD{} on a Unix system, your system needs to be able to use +the Rock Ridge extensions. Please consult the documentation for your +\cmdname{mount} command to see if it is possible. If you have several +different machines on a local network, see if you can mount the +\CD{} on one which \emph{does} support Rock Ridge, and use this with +the others. + +\leavevmode\quad +Linux, FreeBSD, Sun, SGI and DEC Alpha systems should be able to use +the \CD{} with no problems. We would appreciate receiving detailed advice +from other system users who also succeed, for future versions of this +documentation. + +\leavevmode\quad +The discussion below about installation assumes you have been able to mount +the \CD{} with full Rock Ridge compatibility. +\end{warningbox} +\ifSingleColumn + \end{center} +\end{figure*} +\fi + +%\begin{addbymb} +\subsection[Pre-installation procedure for MacOSX users] +{Pre-installation procedure for MacOSX users} +If you do not run MacOSX, you should skip this section. + +The \texttt{install-cd.sh} script is a \emph{sh} script (begins with +``\verb=#!/bin/sh=''), but +on MacOSX \cmdname{sh} is unable to run it because +\cmdname{sh} is +emulated. However, \cmdname{bash} will run it. Unfortunately (again) +\cmdname{bash} is not +installed by default on MacOSX\footnote{there are some suggestions this will +change in the future and even +that \cmdname{bash} will be used to emulate \cmdname{sh}, +in which case it might be true +that in future versions of MacOSX, the script will just work.}. +\begin{enumerate} +\item\label{test-bash} (optional) See if \path|bash| is already installed. +Launch \path|Terminal| +(\path|/Applications/utilities/Terminal|) and type in a window +\begin{alltt} +>> \Ucom{rehash; which bash} +\end{alltt} +the answer will be: +\begin{itemize} +\item the bash location (e.g. \path|/bin/bash| or \path|/usr/local/bin/bash|) if installed; +\item \texttt{bash: command not found} if not installed. +\end{itemize} + +If bash is already installed, skip to \ref{std-install} + +\item bash installation: +\begin{description} +\item[Mac friendly procedure] +Look in the \path|MacOSX| directory of the \CD{} +for an image disk named \path|bash.dmg|. mount that +file by double-clicking it. The disk image (volume) will be mounted. +Then start the \path|i-Installer| application on that volume. You will be asked +to authenticate, if you have never seen that before, you might not have +enough privileges to install. Just enter your own user name and +password. Hit install. \path|bash| will be installed on your system. +\item[Terminal procedure] +\begin{enumerate} +\item Log in as an admin user, at least a user with Admin privileges or +sudo user or as the System Administrator. +\item Open the \path|MacOSX| directory on the \CD{} and copy +\path|bash.tar.gz| +to your home directory (\texttt{\~{}/}) +\item Then launch \path|Terminal| and type or copy/paste the +line below in a Terminal window): +\begin{alltt} +>> \Ucom{(cd /usr/local/; sudo tar xvzf ~/bash.tar.gz)} +\end{alltt} +type a carriage-return: you will be asked for your password, and +\path|bash| will be +installed. +\item Quit \path|Terminal|. +\end{enumerate} +\end{description} +\item Now after using either install method, goto \ref{test-bash}: +you must obtain \path|/usr/local/bin/bash|\ldots{} (if not, try to log out and in). +\item\label{std-install} The installation procedure is the +same on MacOSX than on other UNIX platforms (as MacOSX is UNIX, +that's quite normal!). Nevertheless, you should read what follows: +\begin{itemize} + \item Note that in all commands of the following sections, +\cmdname{sh} must be replaced by \texttt{sudo bash}: +\begin{alltt} +>> \Ucom{sh install-cd.sh} +\end{alltt} +becomes +\begin{alltt} +>> \Ucom{sudo bash install-cd.sh} +\end{alltt} +etc. +\item On MacOSX, cd are auto-mounted: you \emph{don't} need to use +\texttt{mount}. The \CD{} will be mounted in the \path|/Volumes/| +directory: in order to make it the current directory, you just have to +type in \path|Terminal|: +\begin{alltt} +>> \Ucom{cd /Volumes/TeXLive-7...} +\end{alltt} +(complete this line with the real name of the \CD{}: using +``auto completion'' by pressing the \texttt{<tab>} +key will do it). +\end{itemize} +\end{enumerate} +%\end{addbymb} + +\subsection[Running \protect\TeXLive{} from the CD-ROM]{Running \protect\TeXLive{} from the \protect\CD} +The organisation of \Webc{} means that you can run programs simply by +adding the appropriate directory under \path|bin| on the \CD{} to +your \texttt{PATH}, and the support files will all be found with no further +ado. The following shows the list of available systems and the +corresponding directories. \textbf{Only x86 Linux, Mac OSX, and + Windows are available on the default CD. You need to ask +for the Unix CD if you need the other systems.} + +\begin{flushleft} +\begin{tabular}{@{}l>{\ttfamily}ll} +Compaq Alpha Linux & alpha-linux & CD2\\ +Compaq Alphaev5 OSF 4.0d & alphaev5-osf4.0d & CD2\\ +HP9000 HPUX 10.20 & hppa2.0-hpux10.20 & CD2\\ +IBM RS 6000 AIX 4.2.* & rs6000-aix4.2.1.0 & CD2\\ +Intel x86 Solaris 2.8 & i386-solaris2.8 & CD2\\ +Intel x86 with GNU/Linux & i386-linux & CD1\\ +Mac OSX & powerpc-darwin5.3 & CD1\\ +Sun Sparc Solaris 2.7 & sparc-solaris2.7 & CD2\\ +Windows 9X/ME/NT/2K/XP & win32 & CD1\\ +\end{tabular} +\end{flushleft} + +You may worry that when you subsequently make fonts or change +configuration, things will go wrong because you cannot change files on +the \CD{}. However, you can maintain a parallel, writeable, \TeX{} +tree on your hard disk; this is searched before the main tree on the +\CD{}. The default location is \path|texmf-var| on the CD +(which does not exist!), so you \emph{must} override this by setting +the \texttt{VARTEXMF} environment variable. + + +Thus \emph{sh} or \emph{bash} users on an Intel PC +running Linux can mount the \TeXLive{} \CD{} on +\file{/mnt/cdrom} by issuing the command: + +\begin{alltt} +>> \Ucom{mount -t iso9660 /dev/cdrom /mnt/cdrom} +\end{alltt} +Then they should change the current directory to \path|/mnt/cdrom|, run +\begin{alltt} +>> \Ucom{sh install-cd.sh} +\end{alltt} +and select the option \verb|<R>| (\emph{do not install files, set up to run +off CD-ROM}). After that, they should include the directory containing +the binaries for the given architecture into the search path +by updating the \texttt{PATH} variable. +\begin{verbatim} +PATH=/mnt/cdrom/bin/i386-linux:$PATH +export PATH +VARTEXMF=/usr/TeX/texmf-var +export VARTEXMF +\end{verbatim} +%\begin{addbymb} +\begin{description} + \item[MacOSX users] On MacOSX, the default shell is \texttt{tcsh}: +\begin{verbatim} +setenv PATH /Volumes/<cd-name>/bin/powerpc-darwin5.3:${PATH} +setenv VARTEXMF /usr/TeX/texmf-var +\end{verbatim} +\end{description} +%\end{addbymb} +For convenience, these statements can also be entered into the +\texttt{.profile} script. +%\begin{addbymb} +(for \texttt{tcsh} on MacOSX, +\verb=~/Library/init/tcsh/rc.mine=). +%\end{addbymb} + +If in doubt, ask your local system support guru to help you work out +how to mount your \CD{} or which directory to use for your system. + +Appropriate support files will be installed on your hard disk the +first time you need them. You can edit and change local configuration +files which are stored to the directory designated +by \texttt{\$VARTEXMF}. Any format file that is needed +will be generated and stored here. + +%------------------------------------------------ +\subsection{Installing \protect\TeXLive{} to a hard disk} +All of the necessary steps to install all or part of the distribution +on your hard disk are achieved by mounting the \CD{}, changing to the +top-level directory, and typing: +\begin{alltt} +>> \Ucom{sh install-cd.sh} +\end{alltt} +(On some Unix systems, you may need to use \cmdname{sh5} or +\cmdname{bash}.) This script works by accessing lists of collections +and packages from the \CD{}, and trying to guess what sort of computer +system you are on. It should start by displaying the following: +\verbatiminput{../examples/ex1.tex} +It will then show the main control screen +(Figure~\ref{ins1}), which lets you change five +things: +\begin{enumerate} +\item the type of system you are on, or want to install for; +\item the \emph{installation scheme} you want to use (eg full, + recommended, basic etc) +\item the collections you want to change from +the installation scheme (they are organised into two sets: +\emph{standard collections} and \emph{language collections}); +\item the location on your hard disk to put the files; +\item some runtime behaviour features. +\end{enumerate} + +\begin{figure*} +\begin{center} +\ifnum\Status=2 +\boxedverbatiminput{../examples/ex2.tex} +\else +\begin{minipage}{0.8\textwidth} +\boxedverbatiminput{../examples/ex2.tex} +\end{minipage} +\fi +\caption{Main control screen}\label{ins1} +\end{center} +\end{figure*} + +You choose options by typing a letter or number and pressing `return'. +In the example, a Linux GNU/Linux system has been detected, the +default set of collections will be installed, and +the default installation directory is \path|/usr/TeX|; note +that the disk space required for the current installation +configuration is also displayed. If you make a suggested setup, you +need about 60 megabytes of disk free; however, the basic setup will +only take about 30 megabytes, and you can enhance it with selected +packages as you need them. + +%\begin{addbymb} +\begin{description} + \item[MacOSX users] Most frontends (\emph{TeXShop}, + \emph{ITeXMac}\ldots) use the \teTeX{} default location + which is \path|/usr/local/teTeX|, so, Mac users could find interest + in installing \TeXLive{} in \path|/usr/local/teTeX| +rather than in \path|/usr/TeX|. +\end{description} +%\end{addbymb} + +Under the directory you choose for installation, the installation +script will put the binaries in a subdirectory of \path|bin|, and the +support tree in \path|texmf|. An additional tree \path|texmf-var| +will contain copies of configuration files (except the main +\path|texmf.cnf|), which are to be modified by \path|texconfig| program. +This tree will also store generated format files for \TeX, \MF, etc. + +\begin{figure*} +\begin{center} +\ifnum\Status=2 +\boxedverbatiminput{../examples/ex3.tex} +\else +\begin{minipage}{.80\linewidth} +\footnotesize +\boxedverbatiminput{../examples/ex3.tex} +\end{minipage} +\fi +\caption{Selecting standard collections}\label{ins2} +\end{center} +\end{figure*} + +\begin{figure*} +\begin{center} +\ifnum\Status=2 +\boxedverbatiminput{../examples/ex4.tex} +\else +\begin{minipage}{.80\linewidth} +\footnotesize +\boxedverbatiminput{../examples/ex4.tex} +\end{minipage} +\fi +\caption{Selecting language collections}\label{ins3} +\end{center} +\end{figure*} + +When you choose |<C>| for \emph{standard collections}, you will see +the display of available collections (Figure \ref{ins2}). Each +collection --- TeX macro files, Metafont font families, and so on --- +consists of several packages. You can toggle their inclusion on or +off by pressing the key. Note that the selection letter keys are case +sensitive. + +When you choose |<L>| for \emph{language collections}, you will see +the display of available language support collections (Figure +\ref{ins3}). Each collection consists of several packages, which +provide features like hyphenation files and fonts. + +The |<O>| for \emph{options} item lets you decide whether to make new fonts +be created in another location (if you want the main package mounted +read-only for most users), and whether to make symbolic links for the +binaries, \cmdname{man} and \acro{GNU} \cmdname{info} pages in the `standard' +locations; you'll need `root' permissions for tasks to do this, of course. + +When you are finished, return to the main screen, and ask the +installation to start. It will take each of the collections and +systems that you requested, consult the list of files on the \CD{}, +and build a master list of files to transfer. These will then be +copied to your hard disk. If you installed a system, +an initialization sequence is now run +(creating format files, etc.). When this has finished, all you need do +is add the correct subdirectory of \texttt{bin} in the \TeX{} +installation to your path, and start using \TeX. If you want, you can +move the binaries up one level, e.g.\ from +\path|/usr/local/bin/alpha-osf3.2| +to \path|/usr/local/bin|; if you do this, however, you must +edit \path|texmf/web2c/texmf.cnf| (see Appendix~\ref{app:texmf.cnf}) +and change the line near the start which reads +\begin{verbatim} + TEXMFMAIN = $SELFAUTOPARENT +\end{verbatim} +to +\begin{verbatim} + TEXMFMAIN = $SELFAUTODIR +\end{verbatim} + +If you move the whole installation to another directory tree entirely, you +need to edit \envname{TEXMFMAIN} to specify the support tree explicitly, and +set \envname{TEXMFCNF} in your environment to \path|$TEXMFMAIN/texmf/web2c|. + +%------------------------------------------------ + +\subsection{Installing individual packages from \protect\TeXLive{} to a hard + disk} You may want to use the \TeXLive{} \CD{} to either update an +existing setup, or add features to an earlier installation from the +\CD{}. The main installation program is intended for the first time +only, and subsequently you should use the \texttt{install-pkg.sh} +script on the \CD{}. Run this by mounting the \CD{}, changing to +the mounted directory, and typing + +\begin{alltt} +>> \Ucom{sh install-pkg.sh \emph{options}} +\end{alltt} + + +The script supports nine options; the first four let you set the +individual package you want to install, the whole collection (i.e., +\texttt{tex-mathextra}), the name of the mounted \CD{} directory, and +the name of the directory containing the list files (normally these +latter two will be set automatically): + +\begin{tabular}{ll} +\texttt{-{}-package=}\emph{name} & \\ +\texttt{-{}-collection=}\emph{name} & \\ +\texttt{-{}-cddir=}\emph{name} & \\ +\texttt{-{}-listdir=}\emph{name} & \\ +\end{tabular} + +What actually happens is controlled by four more switches; the first +two allow you to exclude documentation or source files from the +installation, the third stops the default action of running +\texttt{mktexlsr} on completion to rebuild the file database, and +the last does nothing but list the files that would be installed: + +\begin{tabular}{ll} +\texttt{-{}-nodoc} & \\ +\texttt{-{}-nosrc} & \\ +\texttt{-{}-nohash} & \\ +\texttt{-{}-listonly} & \\ +\end{tabular} + +Finally, you can specify that, instead of installing the files, the script +should make a \cmdname{tar} archive in a specified location: + +\begin{tabular}{ll} +\texttt{-{}-archive=}\emph{name} & \\ +\end{tabular} + +Thus, if we simply wanted to see the files that make up the package +\pkgname{fancyhdr} before we installed it, our command and output would be +as follows: + +\begin{alltt} +\ifSingleColumn>> \Ucom{sh install-pkg.sh --package=fancyhdr --listonly} +\else>> \Ucom{sh install-pkg.sh -{}-package=fancyhdr \bs} +>> \Ucom{-{}-listonly} +\fi{} +texmf/doc/latex/fancyhdr/fancyhdr.dvi +texmf/doc/latex/fancyhdr/fancyhdr.tex +texmf/lists/fancyhdr +texmf/source/latex/fancyhdr/README +texmf/source/latex/fancyhdr/fancyheadings.new +texmf/tex/latex/fancyhdr/extramarks.sty +texmf/tex/latex/fancyhdr/fancyhdr.sty +texmf/tex/latex/fancyhdr/fixmarks.sty +\end{alltt} +Other examples of usage are: +\begin{itemize} +\item Install the \LaTeX{} package \texttt{natbib}: +\begin{alltt} +>> \Ucom{sh install-pkg.sh --package=natbib} +\end{alltt} +\item Install the \LaTeX{} package \texttt{alg} with no source files and no +documentation: +\begin{alltt} +\ifSingleColumn>> \Ucom{sh install-pkg.sh --package=alg --nosrc --nodoc} +\else>> \Ucom{sh install-pkg.sh -{}-package=alg \bs} +>> \Ucom{-{}-nosrc -{}-nodoc} +\fi\end{alltt} +\item Install all the packages available in the collection containing additional +Plain \TeX\ macros: +\begin{alltt} +>> \Ucom{sh install-pkg.sh --collection=tex-plainextra} +\end{alltt} +\item Place all files which are needed for PSTricks +in a \cmdname{tar} file in \path|/tmp|: +\begin{alltt} +\ifSingleColumn>> \Ucom{sh install-pkg.sh --package=pstricks --archive=/tmp/pstricks.tar} +\else +>> \Ucom{sh install-pkg.sh -{}-package=pstricks \bs} +>> \Ucom{-{}-archive=/tmp/pstricks.tar} +\fi\end{alltt} +\end{itemize} + +\subsection{The texconfig program} +\label{ssec:tex} + +After the installation program has copied all files to their final +locations, you can use a program called \cmdname{texconfig} that +allows you to configure the system to fit your local needs. This can +be called at any other time to change your setup, with a full-screen +(which requires the \cmdname{dialog} program, included as part of the +binary packages) or command-line interface. +It should be used for all maintenance, such as changes of installed +printers, or rebuilding the file database. Both modes have help text +to guide you through the facilities. + +\section{Installation and use under Windows} +\label{sec:wintex} +This section only applies to systems running Windows 9x, \acro{ME}, +\acro{NT}, \acro{2K} or \acro{XP}. + +It is also necessary to have your Windows set up so that it uses the +Microsoft Joliet extensions for reading \CD s; simply look at the +\CD{} in Explorer and see whether it shows long, mixed-case, file +names. If it does not, you cannot use the ready-to-run system on the +\CD. + +This Win32 \TeX{} systems includes a \texttt{dvi} previewer, +\textsf{Windvi}, which is similar in usage to the established Unix +\textsf{xdvi}. The documentation can be found in +\OnCD{texmf/doc/html/windvi/windvi.html}. + +\subsection[The TeXLive.exe program]{The \texttt{TeXLive.exe} program} + +\begin{figure*} + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.7\textwidth]{../pictures/Welcome-to-TeXLive} + \else + \ifnum \Status=2 +\includegraphics[bb=20 20 575 432]{../pictures/Welcome-to-TeXLive.gif} + \else + \includegraphics[width=.7\textwidth]{../pictures/Welcome-to-TeXLive} + \fi + \fi + \end{center} + \caption{``Welcome to \TeXLive'' window}\label{graph:welcome} +\end{figure*} + +If your computer is configured to let the \CD{} autostart, then a +dialog box with a menu bar will popup on the screen, and you will have several choices +from there: +\begin{itemize} +\item Install \TeX{} on your hard disk, +\item Install TeX-oriented editors on your hard disk, +\item Install support packages on your hard disk (Ghostscript, NetPBM, + \ldots) +\item Do some maintenance on you \TeX{} system, +\item Remove the \TeX{} system, +\item Use \TeX{} off the \CD{}, +\item Cleanup the temporary files created on your hard disk when using + \TeX{} off the \CD{}, +\item Update some of the DLLs on your system, +\item Browse some documentation: \TeXLive{} documentation, TUG web + pages, \fpTeX web pages, +\item Run the \cmdname{TeXdocTK} application to find specific documentation. +\end{itemize} + +If your \CD{} does not autostart, you can explicitly run the program +by double clicking on \path|bin/win32/TeXLive.exe| on the \CD{} from +the explorer window. + +\subsection[Running \protect\TeXLive{} from the CD-ROM]{Running from +the \protect\CD{}} +You can run all the \TeX{} programs directly off the \CD, and have +access to all the macros and fonts immediately, at the price of a +slower performance than if you install on the hard disk. +To work effectively, one needs to modify +environment variables and to create some small auxiliary directories on a +hard disk. These directories will contain necessary configuration files +allowing the user to modify programs settings and to generate a necessary +format file. Moreover, automatically generated font files will be stored +there too. + +Should you want to run \TeX{} this way, you will have to follow these +steps: +\begin{enumerate} +\item from the menu, chose \verb|Explore CD-Rom|, then + \verb|Select a text editor|, a dialog box will open to select some \path|.exe| + program. + + This program needs to be a \TeX{} oriented editor. It must be able + to run the \TeX{} compiler, previewer and any other needed tool. If + you don't have one already installed on your system, you can install + one from the \CD{}, details section~{\ref{sec:texlive-install}}. + + \emph{There is no way we can guess if the program you will + select is actually a text editor, so be careful}. + Here is a list of frequently used \TeX{} editors: +\begin{center} + \begin{tabular}[ht]{ll} + GNU Emacs & \path|c:\Program Files\NTEmacs\bin\runemacs.exe| \\ + XEmacs & \path|c:\Program Files\XEmacs\XEmacs-21.2\i586-pc-win32\xemacs.exe| \\ + WinShell & \path|c:\Program Files\WinShell\WinShell.exe| \\ + WinEdt & \path|c:\Program Files\WinEdt Team\WinEdt\WinEdt.exe|\\ + TeXnicCenter & \path|c:\Program Files\TeXnicCenter\TEXCNTR.exe| + \end{tabular} +\end{center} + The program + selected will be memorized as the editor to use for future runs. + +\item from the menu, chose \verb|Explore CD-Rom|, then + \verb|Run TeX off CD-Rom|. The environment will be modified, a small + temporary directory created and some configuration files copied + there. Then, the selected editor selected will be launched, and you + will be able to type in some text, let \TeX{} typeset it and the + view it or print it. + + If Ghostscript is not detected on your machine, you will be warned + that rendering your DVI files might fail. You can install it from + the \path|Install|, \path|Support| menu item. See + section~\ref{sec:texlive-install} for details. + +\item you can select a different text editor any time you want. + +\item if you chose \verb|Cleanup CD-Rom setup|, everything \TeX{} + needed will be removed, comprised the selection of your text + editor, but not the extra packages you may have downloaded and + installed. If you installed \cmdname{WinShell} or \cmdname{NTEmacs}, +they won't be removed. +\end{enumerate} + +The editor is run inside a modified environment. A temporary TDS +compliant texmf tree is build in the temporary area of your computer. +It is needed to store files that may be build on the fly like pk font +files or format files. Configuration files are copied from the \CD{} +to this texmf tree, so that you can edit them if needed. The \path|ls-R| +database is computed for this texmf tree. +Then the \texttt{PATH} and \texttt{TEXMFCNF} environment +variables are set locally, and the editor is run in +this local environment. From within your editor\footnote{Actually, you can + state any other program than a text editor, and select your command + processor for example. You will then get a console with the right + settings to use \TeX{} from the \CD{}.}, you have access to a full +\TeXLive{} environment, all files referenced on the \CD{}. + + +\smallskip {\small\noindent \textbf{[For advanced users:]} You can + also use the small batch file \path|mkloctex.bat| to be called in a + directory \path|setupw32| of the \CD. From the Start menu select + `Run', then browse CD drive and select \path|mkloctex.bat|. Before + starting it, you should add two parameters separated by a space: the + letter of your CD drive and the letter of the hard disk where you + want to install the \TeX\ directory. The whole line should read, + e.g., \verb+d:\setupw32\mkloctex.bat d c+. When installation is + complete, please read carefully the information on screen. If you + are running Windows 9x/ME, then you will have to restart Windows. } + +\subsection{Installing editors or support packages} +\label{sec:texlive-install} + +You can already use the \path|TeXSetup.exe| program to install a +single, not \TeX{} dependent package. This might be either an editor +like \cmdname{WinShell} or \cmdname{NTEmacs}, +or also a support package like \cmdname{NetPBM} +(graphics formats conversion) or \cmdname{Ghostscript}. + +Some of the packages are not free, or not with the same meaning as for +the rest of the \CD{}. These packages have been made available through +the Internet. You need to enable an Internet connection in order to +install them. Chosing the \path|Enable Internet access| subitem will +search your system for an active Internet connection, or start one if +possible. \emph{If your computer is not connected to the Internet, + then the timeout might be long, 30s or more}. So try to enable it +only if you know you have a connection. + +Only a few packages are available from the \CD{}, but the most +important of them: \cmdname{NTEmacs} and \cmdname{WinShell} for the +editors, \cmdname{Ghostscript} and \cmdname{NetPBM} for the other +support packages. \cmdname{NetPBM} is needed for running \TeX{}4ht. + +The downloadable packages are sometimes huge: \cmdname{Perl} is 10Mb, +\cmdname{XEmacs} is 50Mb, so be warned that it can take a lot of time +to install such things. \path|TeXSetup.exe| does not yet provide an +estimation of the time needed to complete the download. + +When installing these packages, \path|TeXSetup| is working in +unattended mode. However, the programs that have their own installer +like WinEdt or Ghostscript for example will require human interaction. + +Those packages who have no specific installer will be unpacked and configured +for your system. You will be required to select some directory where +they will be installed. The directory to select should be the root +directory of the whole installation. Assuming you want to install +NTEmacs and NetPBM, the archive files already contain the +\path|NTEmacs\| and \path|NetPBM\| part, so the directory you have to +select is something like \path|c:\Local| or \path|c:\Program Files|. + +\subsection{Installing to your hard disk} + +Installation is started by letting the CD autostart, and +selecting the item \verb|Install| from the menu, then the subitem +\verb|TeXLive|. This will invoke the \path|TeXSetup.exe|. You can also find +it in the \path|bin/win32| directory and run it. \path|TeXSetup.exe| +is a Windows wizard and it will display several pages while running. + +\begin{description} +\item[Welcome Page] + You can choose a \emph{quick} installation from + there, in this case, the installation will run without any human + assistance from beginning to end, with all the default settings + (Figure~\ref{graph:setup-src}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). However, if you chose to install any support program that has its + own installer like WinEdt or Ghostscript, your intervention might be required. + If you have enough privileges (administrator or power user rights) + under a Windows version where it is applicable, then you can decide + to install the \TeXLive{} for all users or for yourself only by + checking the appropriate box. + + \begin{figure*}[!htb] + The \cmdname{TeXSetup} Wizard\hfill + Source directories for the \TeXLive{} files + + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{../pictures/setup-wizard.jpg}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/source-for-texlive.jpg} + \else + \ifnum \Status=2 +\includegraphics[bb=0 0 506 403]{../pictures/setup-wizard.gif} +\includegraphics[bb=0 0 506 403]{../pictures/source-for-texlive.gif} + \else + \includegraphics[width=.48\textwidth]{../pictures/setup-wizard}% + \hfill% + \includegraphics[width=.48\textwidth]{../pictures/source-for-texlive} + \fi + \fi + \caption{The \TeXLive{} setup wizard}\label{graph:setup-src} + \end{center} +\end{figure*} +\item[Source Page] + This page is a bit complex. It will allow you to select two source + directories for your \TeXLive{} system + (Figure~\ref{graph:setup-src}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). You will need a \emph{local + source directory} and possibly a \emph{remote source directory}. + + Why do we need both these directories? The very files of the + \TeXLive{} system are on the \CD{}, but some other packages useful + under a Win32 system are not, either because of space lacking or + because their license was not compatible with the \TeXLive{}'s one. + You need to enable Internet downloading if you want to install these + support packages. + + However, don't panic: the default parameters of the setup will allow + you to install a full system using the \CD{} only. Simply, you won't + have \file{WinEdt} for example, but you will be able to install it + later. + + So you can take your files from: + \begin{itemize} + \item the \CD{} or any similar flat tree of files, available through + some standard directory (this means the \CD{} can be mounted on + some remote machine and be made available through network + sharing), + \item a set of \file{.zip} files (this is the case when you are + installing the + \fpTeX{} distribution), + \item the Internet, in this case, the program takes care of + downloading the \file{.zip} files it needs for you. + \end{itemize} + This option is available only if you enable Internet file + downloading in the right part of the page. You also need to + configure this Internet access by selecting to connect either using + Internet Explorer~5 \file{wininet.dll}, or using a direct connection (\texttt{ftp}, + \texttt{http}). +% or using a proxy server. +% Last, you can be assisted in defining the \emph{local source +% directory} and \emph{remote source directory} which will be used +% to copy the files onto your hard disk. The \texttt{browse} buttons +% allow to select a directory for the former, and an url among a list +% of mirrors for the latter. +\item[Root Page] + On this page, you will tell where you want the files to be + installed (Figure~\ref{graph:root-schm}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). Only the root directory really matters, the other ones + are set according to the root one. You may want to make + \path|$TEXMFEXTRA| point to some TDS compliant directory with other + \TeX{} files or assign a different value to + \path|$HOMETEXMF|, which is set by default to whatever Windows think + is your `HOME' location. +\begin{figure*}[!htb] + Root and directories\hfill% + Scheme selection + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.46\textwidth]{../pictures/root-of-installation.jpg}\hfill% + \includegraphics[width=.46\textwidth]{../pictures/scheme-selection.jpg} + \else + \ifnum \Status=2 +\includegraphics[bb=0 0 506 403]{../pictures/root-of-installation.gif} +\includegraphics[bb=0 0 506 403]{../pictures/scheme-selection.gif} + \else + \includegraphics[width=.46\textwidth]{../pictures/root-of-installation}% + \hfill% + \includegraphics[width=.46\textwidth]{../pictures/scheme-selection} + \fi + \fi + \caption{\TeXLive-Setup: Root and directories / Schemes}\label{graph:root-schm} + \end{center} +\end{figure*} +\item[Get TPM Page] + This page does not require any manual intervention. The \file{.tpm} + files which describe collections and packages are retrieved + (possibly from the Internet), unzipped if needed and parsed. +\item[Schemes Page] + On this page, you will select the global scheme of your + installation (Figure~\ref{graph:root-schm}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). A scheme is a large set of files targeted at some kind + of usage. There are 3 generic schemes for basic, recommended and + full installation. The other ones are devoted to LUGs (what GUST or + GUTenberg propose for their members) or applications (XML and + \TeX{}). + When a scheme is selected, it is still possible to refine the + selection by checking the appropriate box. If doing so, you will be + presented the packages page to change your selection, else you will + jump to the review page. +\item[Packages Page] + Collections and packages are presented in a tree form + (Figure~\ref{graph:win32-support}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). The links + in the tree are dependency links. Collections \emph{depend on} + packages and maybe other collections, and it is the same for each + package. You can select any package or collection individually, but + your request will be granted only if the object is not requested by + another one which is selected. For example, you can't deselect + \texttt{tex-basic} without deselecting all the collections that + request it. + + The \texttt{win32-support} collection displayed on the picture is Win32 specific. It + holds a number of bonus packages (Figure~\ref{graph:win32-support}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ) which can be installed + automatically and individually: Ghostscript, the PostScript + interpreter, \TeX{} oriented editors, tools like Perl, + \LaTeX{}2HTML, etc. \emph{None of these packages are selected by + default}. Some of them have an Internet Explorer icon on their + right, this means that they are not on the \CD{} and they will be + available only if you previously enabled Internet + downloading. \emph{This collection cannot be selected entirely at + once: you need to select the packages individually}. This is to + avoid unwanted downloads of huge files. + + On this page, you also have the information about disk space + needed, for each object, and for the set of those who are selected, + and also the disk space available on the partition selected for the + installation. Last, you can choose to install or not the + documentation files and source files associated with each package. +\item[Review Page] + You will find there a summary of your choices + (Figure~\ref{graph:review}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). It is still time to + go back to change them. +\begin{figure*}[!htb] + Packages Page\hfill% + Win32 Support + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{../pictures/package-selection}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/win32-support} + \else + \ifnum \Status=2 +\includegraphics[bb=0 0 506 403]{../pictures/package-selection.gif}\hfill% +\includegraphics[bb=0 0 506 403]{../pictures/win32-support.gif} + \else + \includegraphics[width=.48\textwidth]{../pictures/package-selection}% + \hfill% + \includegraphics[width=.48\textwidth]{../pictures/win32-support} + \fi + \fi + \end{center} + \caption{Packages Page / Win32 goodies} + \label{graph:win32-support} +\end{figure*} +\item[Files Copy Page] + The selected files are copied on your hard disk (Figure~\ref{graph:file-copy}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). All the files not + yet available on your local disk are first downloaded from the + remote source directory on the Internet. Then every package is + unpacked (if \path|.zip| files), or copied from the \CD{}. +\item[Configuration Page] Several packages need some configuration + step to make them usable (Figure~\ref{graph:configuration}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). Also the \TeXLive{} system needs some post-processing step + (format files generation, ls-R databases generation, environment + variables, etc.). All these operations are done there, some of them + can be lengthy. +\begin{figure*}[!htb] + \textbf{Review Page}\hfill% + \textbf{File Copy Page} + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{../pictures/review-settings}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/file-copy} + \else + \ifnum \Status=2 + \includegraphics[bb=0 0 506 403]{../pictures/review-settings.gif}\hfill% + \includegraphics[bb=0 0 506 403]{../pictures/file-copy.gif} + \else + \includegraphics[width=.48\textwidth]{../pictures/review-settings}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/file-copy}% + \fi + \fi + \end{center} + \caption{Review Page / File Copy Page} + \label{graph:review}\label{graph:file-copy} +\end{figure*} +\item[Final Page] The installation being over, you may want to display + the Windows specific documentation (HTML format) and / or the log + file of the setup process (Figure~\ref{graph:final} + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). If it is needed (Win9x/WinME), you will + be asked to reboot your computer. +\end{description} + +\begin{figure*}[!htb] + \textbf{Configuration Page}\hfill% + \textbf{Final Page} + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{../pictures/configuration}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/congratulations} + \else + \ifnum \Status=2 + \includegraphics[bb=0 0 506 403]{../pictures/configuration.gif}\hfill% + \includegraphics[bb=0 0 506 403]{../pictures/congratulations.gif} + \else + \includegraphics[width=.48\textwidth]{../pictures/configuration}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/congratulations}% + \fi + \fi + \end{center} + \caption{Configuration Page / Final page} +\label{graph:configuration}\label{graph:final} +\end{figure*} + +Please be aware that the choice of cluster size on DOS disk +partitions can radically affect the size of your \TeX\ +installation. The support tree has hundreds of small files, and it is +not unusual for a complete installation to take up to 4 times the +amount of space used on the \CD. + + +\section[Maintenance and other aspects of the \protect\TeXLive{} +installation under Windows]{Maintenance and other aspects of the \protect\TeXLive{} +installation under Windows} + +\subsection{What's different under Win32 from the standard \Webc ?} +The Win32 version of \Webc{} has some specific features that need to +be noticed. + +\begin{description} +\item[\KPS{}] the hash-tables that \KPS{} builds are quite large for + the \TeXLive{}. In order to cut down the starting time of any + \KPS{}-enabled program, these hash-tables have been put in shared + memory. This way, when you chain the execution of several such + programs, like \path|tex| calling \path|mpost| calling \path|tex|, + the overhead when starting each of the programs but the first will + be reduced. This change is hidden to the user, except if you set the + debug flag of kpathsea to the \path|-1| value: you will then trace + access to the shared memory, which is not what you want (it is + accessed very often!). What is useful in a log trace of the shared + memory access is still to be defined, so the situation might evolve + in the future. +\item[\cmdname{kpsecheck}] this command provides some option that did + not fit well into \cmdname{kpsewhich}. It will allow you to list all + the files that occur multiple times across your texmf trees. This + could be handy, but most of the time you will also get unwanted + output (like dozens of \path|README| files)\footnote{It is noticeable + that all these files result in clashes inside the \KPS{}-hashing + mechanism, fortunately, \KPS{} never look for these files.}. For + this reason, you can combine the \path|-multiple-occurences| with 2 + other options for including or excluding any filename that match + some pattern (you can request for several patterns). + + The \cmdname{kpsecheck} command will also report the status of + shared memory: in use or not used. That might be useful to know + because if the status reported is ``in use'', that means one or + several processes are working, and the effect of any + \cmdname{mktexlsr} command will be delayed until the next time where + no \KPS{} linked process will be running. + + Last, this same command will report about the location it thinks + Ghostscript can be found. Under Win32, for many programs, it is + easier to use the Ghostscript dll, and find it by using the + Ghostscript registry key than to change the \path|PATH|, which has a + limited length anyway. +\item[\Webc{}] the engines have a few more options than the ones from regular + \Webc{}, and one option with a different behaviour: + \begin{itemize} + \item the \path|-fmt| option behaves differently. Previously and + with the regular \Webc{} distribution, this option has 2 different + meanings when you are in ``ini'' or ``vir'' mode. Under Win32, it + has the same meaning: preload the format file specified with the + argument. The meaning of building a format of such name in ``ini'' + mode is obtained by the new \path|-job-name| option. + \item \path|-job-name| option: allows to set the name of the file + resulting from the compilation process. In normal mode, it will + change the base name of all files produced (\path|.dvi|, + \path|.aux|, etc.), while in ``ini'' mode, it will set the name of + the format file written. + \item \path|-halt-on-error| stop the compilation at the first error. + \item \path|-job-time| set the job time to the same timestamp as the + file given in argument. + \item \path|-output-directory| allow to write all the output files in the + specified directory. + \item \path|-time-statistics| print statistics about the job run + time. It is to be noted that Win9x not being a true multitasking + operating system, it has no reliable timer for short periods, so + the value printed is an approximation. Under NT/2K/XP, the result + is quite accurate with user time and system time values allocated + for this run. For Unix + users: the \path|time| command is not usually available to Windows + users. + \end{itemize} +\end{description} + +\subsection{Adding packages to your installation} + +You will find an option in the \texttt{TeXLive} menu (or go to +\texttt{Start -> Programs -> TeXLive -> Add TeX package} menu) to run again +\file{TeXSetup.exe}, but in maintenance mode this time. The steps you +will go through are almost identical to the ones the first time you +run it. + +The only different step is about the packages selection page. In +maintenance mode, the list of installed packages is compared to the +list of packages available from your source directories. Packages that +are not installed will be displayed in green, out of date packages +will be displayed in red and up to date, installed packages are +displayed in black. + +This way, you can choose to add or upgrade components, either from +your \CD{} or from the +Internet, where you are likely to find some more recent version of +your packages. + +It is up to you to select which ones of the packages you want to +install. The rest of the process is similar to the first installation. + +If you want to add files that are not provided by the \TeXLive{} (or +\fpTeX{}) distribution, it is recommended to put them in the +\path|$TEXMFLOCAL| directory. This way, you will be safe against +upgrades of the \TeXLive{} software. + +The directory pointed to by \path|$TEXMFLOCAL| is initially empty. If +you want to add there the support file for Maple (symbolic computation +program) for example, you will have to put the style files in:\\ +\path|c:\Program Files\TeXLive\texmf-local\tex\latex\maple\|\\ +and the documentation files in:\\ +\path|c:\Program Files\TeXLive\texmf-local\doc\latex\maple\| + +Next, \textbf{do not forget to rebuild the ls-R databases files}, +either by using the right menu (Start -> Programs -> TeXLive + -> Maintenance), either by manually running the \file{mktexlsr} + command. + +\subsection[Removing \protect\TeXLive{} from your hard disk]{Removing + \protect\TeXLive{} from your hard disk} + +The uninstall procedure is available either from the +\file{TeXLive.exe} program, from the \path|TeXLive| menu or from the +control panel (Start menu -> Control Panel, Add/Remove Programs +option). This procedure will cleanup your hard disk of most of the +\TeXLive{} files. However, \TeX{} is a system that is creating files +and there is no mechanism to keep track of all of them. Moreover, +Win32 support packages have their own uninstall procedure, which you +will have to run separately (provided you want to get rid of them). Last, +the files you may have stored in \path|$TEXMFLOCAL| won't be +removed. So, even if the vast majority of files are automatically +removed by the uninstall procedure, you will have to do some manual +cleanup to actually remove all of them. + +\subsection{Running \texttt{TeXSetup.exe} from the command line} + +The \path|TeXSetup.exe| program has a number of other interesting +options. You can get the list by running: +\begin{verbatim} +c:\>TeXSetup --help +\end{verbatim} + +Here is the description: +\begin{description} +\item[\path|--automatic-reboot|] reboot without waiting user + confirmation once installation is over; +\item[\path|--dry-run|] do nothing, just log everything that will be + done without this option; +\item[\path|--quick|] use the recommended installation and default + directories, ask nothing up to rebooting; +\item[\path|--net-method (=ie5/direct)|] enable to download components with + restricted licenses from the Internet (either using direct + connection of Internet Explorer 5 DLLs): you need to have an available + network connection and some of the packages are huge; +\item[\path|--remote-source-directory <url>|] this is the base url for the remote packages; +\item[\path|--local-source-directory <dir>|] by default, \path|TeXSetup.exe| + will guess the root directory of the set of files you want it to act on, if you ever + upgrade \path|TeXSetup.exe|, you won't be able to copy the new version + onto your \CD{}, so you will need to use this option to specify the + root of the \CD{}; +\item[\path|--installation-directory <dir>|] this is the root of your + installation, all files will be copied under this location. The + default value is \verb+c:\Program Files\TeXLive+; +\item[\path|--texmfmain-directory <dir>|] +\item[\path|--texmflocal-directory <dir>|] +\item[\path|--texmfextra-directory <dir>|] +\item[\path|--texmfhome-directory <dir>|] +\item[\path|--vartexmf-directory <dir>|] +\item[\path|--vartexfonts-directory <dir>|] these are the directories + used to configure the location of your files. They map directly to + the \path|texmf.cnf| variables. +\item[\path|--with-source-files(=yes/no)|] copy the source files + for \TeX{} packages, default value is no; +\item[\path|--with-documentation-files(=yes/no)|] copy documentation files for \TeX{} + packages. Default value is yes. Beware: this is only documentation about specific + packages, general documentation will be installed anyway; +\item[\path|--program-folder <folder>|] the name of the folder under + which you will find the menus; +\item[\path|--add-package <pkg>|] this is used to add or update a specific + package after a first regular installation; +\item[\path|--scheme <pkg>|] install the named scheme instead of the + default \path|texlive-recommended| scheme; +\item[\path|--maintenance|] mostly the same as \path|--add-package| + without specifying a package to add; +\item[\path|--uninstall|] this option will remove anything \TeX{} related coming from + the \CD{}, which means there can be files left if you added style + files or format files, and also that supplementary tools will not be + removed\footnote{This option is still a bit crude as of \today}; +\item[\path|--help|] this option opens up a box with the list of options. +\end{description} + +\subsection{Network installation} + +\KPS{} knows about UNC names, so you can use them to get your TEXMF +tree from the network. But there is better than this. +All the support files and configuration files, everything except the files in the +\path|bin/win32| are shareable with a \teTeX{} or Unix \TeXLive{} installation. That means +you can use Samba either to mount from an NT server to a Unix +workstation or the converse. Several strategies are possible: +\begin{itemize} +\item Put everything on the server. Just add each set of files for the os and +architecture you want to use in the \path|bin| directory. That means +for example \path|bin/win32| and \path|bin/i386-linux|. Next configure +your main variables. You can use UNC names to +point to the right directories under Win32. +\item Install a local copy for the binaries and format files. In this + case, assign \path|$TEXMFMAIN| to the main \path|texmf| tree that + will be accessed remotely. Set \path|$VARTEXMF| to be a local + directory which will hold local configuration files and on-the-fly + generated files. +\end{itemize} + +\subsection{Personal Configurations} + +\subsubsection{\cmdname{WinShell}} +\label{sec:winshell} + +Start this program from the Start menu or from the Desktop shortcut. +Go to \textbf{Options} \verb+->+ \textbf{Program Calls}. + +\begin{itemize}\itemsep 0pt +\item In the DVIWin tab, if the filename is \textbf{yap}, replace it +with \textbf{windvi.exe}. +\item In Ghostview tab, make sure it gives the correct path for +gsview32.exe:\\ +\hspace*{1em} \verb+C:\ghostgum\gsview\gsview32.exe+ (for 3.6, the +current version)\\ +or \\ +\hspace*{1em} \verb+C:\gstools\gsview\gsview32.exe+ (for the older +version) + +\end{itemize} + +Click \textbf{OK}. + +Note that the install process sets all files with the \texttt{.tex} +extension to open with \cmdname{WinShell}. Unless you plan to use another editor +(such as WinEdt or Emacs), this is appropriate. + +Unfortunately, \cmdname{WinShell} does not have a spell-checking feature. +However, if you have installed the \path|tex-extrabin| collection, +your installation includes \textbf{Ispell} (a spell checking program +found on most Unix systems). The executable is in your PATH so +\verb+ispell.exe+ will be found if you invoke it from a DOS window. +If you installed documentation, look +at\\ +\verb+C:\Program Files\TeXLive\texmf\doc\html\manpages\ispell.html+\\ +for information on Ispell. (Otherwise, you can find +\verb+ispell.html+ on the CD.) If you rely on spell checking, you may +want to add an Ispell icon to \cmdname{WinShell}. See +subsection~\ref{winshell:ispell} of this document for how to do that. + +For an excellent commercial (but inexpensive) spelling checker, +see \url{http://www.microspell.com}. + +%Appendix B also contains other information about using \cmdname{WinShell}, such as: +% +%\begin{itemize} +%\item How to apply a bug fix you probably need +%\item How to print directly from \cmdname{WinShell} +%\item How to use the Project feature for multiple-file documents +%\end{itemize} + +\cmdname{WinShell} also has on-line help, which you can access via the +$\textbf{\underbar{?}}$ on the menu bar. + +Other information about using \cmdname{WinShell} can be found in +section \ref{winshell:more} on p.~\pageref{winshell:more}. + +\subsubsection{Dvips} + +The configuration file for dvips can be found in\\ +\verb+C:\Program Files\TeXLive\texmf-var\dvips\config\config.ps+\\ +You may open it with any editor (\cmdname{WinShell} will do fine) and change +some parameters: + +\begin{description} +\item [fonts] you can change the default printer \MF{} mode or printer + resolution in case dvips needs to generate PK fonts. By default it + is configured to use type1 versions of the CM fonts, so it should + not call \cmdname{mktexpk} too often; +\item[printer] you can tell dvips where you want to print by + default. If the `o' option is not followed by a printer name, then a + \file{.ps} PostScript file is written. You can give dvips a printer + name such as: +\begin{verbatim} +o lpt1: +% o | lpr -S server -P myprinter +% o \\server\myprinter +\end{verbatim} +\item[paper] Next, you might want + to change the paper size from European (A4) to US letter + by making the US letter the first paper size mentioned in the file. + Scroll to the group of lines beginning with ``@''. Move + the appropriate lines so that this section begins with the lines:\\ +\hspace*{1em} @ letterSize 8.5in 11in\\ +\hspace*{1em} @ letter 8.5in 11in\\ +\hspace*{1em} @+ \%\%BeginPaperSize: Letter\\ +\hspace*{1em} @+ letter\\ +\hspace*{1em} @+ \%\%EndPaperSize +\end{description} + +\textbf{Note:} The current \TeXLive{} distribution has implemented (for +the first time!) the procedure of making always up-to-date fontmaps files +for Dvips and Pdftex. This is done by \cmdname{updmap} program +during installation, as well as during any font package addition. +If you add new packages by hand, edit the file \verb+updmap.cfg+ +in \path|$VARTEXMF/web2c|. + +\subsubsection{Pdftex} +If you want to use the program pdf{}latex to convert directly to +pdf format, and you are using US letter file, edit the file\\ +\verb+C:\Program Files\TeXLive\texmf-var\pdftex\config\pdftex.cfg+\\ +and change ``page\_width'' and ``page\_height'' to specify letter-size paper. +These entries should read:\\ +\hspace*{1em} page\_width 8.5 true in\\ +\hspace*{1em} page\_height 11 true in\\[6pt] +Save the file and exit the editor. + +\subsubsection{GSView} +Starting from versions compatible with Ghostscript 6.50, GSView is not +free anymore, but shareware. So it is not on the \CD{} anymore. + +You may want to change the papersize to US letter size. If so, +open GSView from the Start menu. \\ +From the \textbf{Media} menu, select \textbf{Letter}. + +Also, there are menu settings that are supposed to give you the +most readable screen image:\\[4pt] + From \textbf{Media} \verb+->+ \textbf{Display Settings}, +set \textbf{Text Alpha} +and \textbf{Graphics Alpha} both to 4 bits. + +Note that the installation process has set all .ps and .eps files +to automatically open with GSView. + +For printing instructions, see section~\ref{printing} below. + +\subsubsection{WinDvi} +\label{sub:windvi} + +The \file{TeXSetup.exe} program takes care of associating the files +with the \file{.dvi} extension with \file{Windvi}. + +Open it from the Start menu (Programs \verb+->+ TeXLive \verb+->+ DVI Viewer). +You can set it for US letter paper by going to \textbf{View} \verb+->+ \textbf{Options} +and next to \textbf{Papertype}, +selecting US (8.5\verb+"+ x 11\verb+"+). +Click \textbf{OK}. +Exit Windvi. +You can change other parameters from there, like the ability to +execute commands included in path|\special{}|. +Also, the first time you +view any .dvi file, you may find the magnification too large. Zoom out +until you get an appropriate size. + +%There are two important parameters related to printing that can't yet +%be set from the dialog boxes, namely the resolution and the \MF{} mode +%for the printer. You can set them once for all by specifying them on +%the command line: +%\begin{verbatim} +%c:\>windvi -p 360 -mfmode canonbjc foo.dvi +%\end{verbatim} +%When you will exit Windvi, these parameters will be stored in the +%configuration file. The available modes are found in this file:\\ +%\path|c:\Program Files\TeXLive\texmf\metafont\misc\modes.mf| + +All the configuration for Windvi is stored in the +\path|$HOME/windvi.cnf| file. You can find it by running this command +at the prompt: +\begin{verbatim} +c:\>kpsewhich --expand-var $HOME/windvi.cnf +\end{verbatim} + +Should you have problems with Windvi, please remove the configuration +file and test your problem against a vanilla configuration. + +\subsection{Testing} + +You can test \cmdname{WinShell} by opening the file \verb+sample2e.tex+, found in +\path|C:\Local\TeX\texmf\tex\latex\base|. The \LaTeX\ source should appear +on the screen. Process it by clicking on the \LaTeX\ icon on the toolbar, +then view it by clicking on the Preview (Windvi) icon. + +At first, when you preview files with Windvi, it will create fonts because +screen fonts were not installed. After a while, you will have created most +of the fonts you use, and you will rarely see the font-creation window. +Return to \cmdname{WinShell} and try dvips, then GSView. + +\textbf{Hint for the future:} If a \LaTeX\ run stops because \LaTeX\ +cannot find a file, you can press \textbf{Ctrl-z} to quit. + +\subsection{Printing}\label{printing} + +It is possible to print from Windvi. In this case, printing will +be done using the Windows unified printer driver. By definition, it +is compatible with all printers. However, there is some drawback: it +can generate some huge spool files, and some (older) versions of Windows just +don't like them. The advantage is that you can use features like +embedding BMP or WMF images. You also need to make sure that the +printer parameters are correctly set (subsection~\ref{sub:windvi}), +else you will get scaled printing (printing at 600dpi on a 300dpi +printer will give you only one quadrant of your page). + + +Printing is faster and more reliable if you run dvips to make a +.ps file and then print from GSView. To print from GSView, first select +\textbf{Print...} from the \textbf{File} menu. A Print window will appear. + +If you will be using a PostScript printer, \textit{be sure to select +\textbf{PostScript Printer}}. In the newer version this is done in +the ``Print Method'' box at the bottom left of the Print window. You +can then select any of the printers that you have previously installed +on your PC. If you fail to check the box for PostScript Printer, +printing will not work. + +If you will be using your own non-PostScript printer, select +\textbf{Ghostscript device} in the ``Print Method'' box, then click on +the button to the right labelled \textbf{djet500} and select your +printer type from the list that pops up. (In the older version of +GSView, make sure PostScript Printer is \textit{not} selected, then +select your printer type from the ``Device'' list.) + +If you use \cmdname{WinShell} and a PostScript printer, probably the most +convenient way to print is to add an icon to the \cmdname{WinShell} toolbar that +invokes dvips in a way that sends the output directly to a default +printer. For detailed instructions on how to do this, see +\ref{winshell:print} on p.~\pageref{winshell:print} +(\textit{More About \cmdname{WinShell}}). + +\subsection{More About \cmdname{WinShell}}\label{winshell:more} +\subsubsection{Installing Bug Fixes} + +\cmdname{WinShell}'s author (\href{mailto:idb@winshell.de}{Ingo de Boer}, +thanks to him) sometimes releases beta versions of the next \cmdname{WinShell} +version which are also bug fixes. You can grab them from +\url{http://www.winshell.de}. Usually they are \file{.zip} files that +only require to be unpacked in \cmdname{WinShell} directory (\path|c:\Program +Files\WinShell| by default), either using WinZip or a similar tool, or +by using \file{unzip} on the command line. If you got some +\file{winshellbugfix.zip} file and that you saved it in the \cmdname{WinShell} +directory, then you need to run: +\begin{verbatim} +c:\>cd c:\"Program Files"\WinShell +c:\>c:\local\bin\unzip winshellbugfix.zip +\end{verbatim} +Say `yes' if you are asked if some files should be overwritten. The +\path|unzip.exe| programme can be found in the +\path|support/gnu-utils| package. If you +do not have it on your machine, you can use any archiver tool like +WinZip to achieve the same effect. + +\subsubsection{Using the Project Feature} +If your document is split into several files +(for example a thesis), look into \cmdname{WinShell}'s ``Project'' feature. From the +\textbf{Project} menu, you give the project a name (e.g., Thesis), +supply the name of the main (or root) file, and then ``add'' other +files. These filenames display on the left of the screen where you can +double click the names to view and switch between them. Clicking +the \textbf{\LaTeX} icon always processes the main file. + +Note the icons on the toolbar for toggling the project space (on the left) +and the log space (at the bottom). If you are not using the Project +feature, you may want to toggle off the space on the left, using the full +screen width to display your file. + +\subsubsection{Printing from \cmdname{WinShell} to a PostScript Printer} +\label{winshell:print} + +The Dvips icon on the \cmdname{WinShell} toolbar puts the PostScript output in a file, +which you can then view with GSView and print from there if you choose. +However, it's convenient to add a \cmdname{WinShell} ``program call'' to dvips which +sends the output directly to a designated PostScript printer. The steps +below show how to do this for the printer \textbf{vclw}; you should +substitute the name of your most frequently-used printer for \textbf{vclw}. +\begin{enumerate} +\item Make the program aware of the printer: +\begin{itemize} + +\item Open \cmdname{WinShell}, go to \textbf{Options} \verb+->+ +\textbf{Program Calls} \verb+->+ \textbf{User defined}. + +\item Click on \textbf{Tool 1} in the list on the right and fill in the +fields to the left as follows:\vspace{-6pt} +\begin{quote} +Name: \verb+Print+\\ +exe file: \verb+dvips+\\ +cmd-line: \verb+ -D600 %m -o vclw+\\ +Uncheck the box for ``DVIPS first'' +\end{quote}%\vspace{-12pt} +\item Click \textbf{OK} +\end{itemize} +\item Add Print to the toolbar: +\begin{itemize} +\item Go to \textbf{Options} \verb+->+ \textbf{View} \verb+->+ \textbf{Customize}. +\item In the Category box, select \textbf{User-Programs}. +\item Select \textbf{Print} and drag it to the toolbar, placing it just to + the right of the GSView icon. +\item You then have a choice of ``Image only'', ``Text only'', or ``Image and +Text''. The easiest is to select ``Text only'' and click \textbf{OK}. +You should then see \textbf{Print} on the toolbar. (If you prefer, you can +select ``Image only'', then ``Edit'', and edit the displayed picture to your +satisfaction.) +\end{itemize} +\end{enumerate} +Now, to print a \LaTeX\ document, just click on the \textbf{Print} icon to +send to your selected printer. To use a different printer, you will need to +click on the \textbf{Dvips} icon to print to a file. Then click on the +GSView icon and use GSView to send to any printer you have installed on +your PC. + +\subsubsection{Adding Ispell to \cmdname{WinShell}} +\label{winshell:ispell} +\begin{enumerate} +\item Add Ispell to User Tools: +\begin{itemize} +\item Open \cmdname{WinShell}, go to \textbf{Options} \verb+->+ +\textbf{Program Calls} \verb+->+ \textbf{User defined}. +\item In the list on the right, click on \textbf{Tool 1} (or \textbf{Tool + 2} if you have already used \textbf{Tool 1}) and fill in the +fields to the left as follows:\vspace{-6pt} +\begin{quote} +Name: \verb+Ispell+\\ +exe file: \verb+ispell+\\ +cmd-line: \verb+ -t -d american %c.tex+\\ +Uncheck the boxes for ``LaTeX first'' and ``DVIPS first'' +\end{quote}%\vspace{-12pt} +\item Click \textbf{OK} +\end{itemize} + +\item Add Ispell to the toolbar: %\vspace{-14pt} +\begin{itemize}\itemsep 0pt +\item Go to \textbf{Options} \verb+->+ \textbf{View} \verb+->+ \textbf{Customize}. +\item In the Category box, select \textbf{User-Programs}. +\item Select \textbf{Ispell} and drag it to the toolbar, placing it just to + the right of the GSView icon (or the last icon you added). +\item You then have a choice of ``Image only'', ``Text only'', or ``Image and +Text''. The easiest is to select ``Text only'' and click \textbf{OK}. +You should then see \textbf{Ispell} on the toolbar. (If you prefer, you can +select ``Image only'', then ``Edit'', and edit the displayed picture to your +satisfaction.) +\end{itemize} +\end{enumerate} +Now, when you have a \LaTeX\ document open, you can click on +\textbf{Ispell} to perform spell checking. Ispell will open another window +and display the first misspelled word on the left with the filename on the +right. Below that you will see the context in which the misspelling appears; +often several suggestions for replacements are also displayed. To replace +the word, enter the number corresponding to the desired replacement. Other +possible responses are listed below; for example, you can press the space +bar to ignore the misspelled word. For more information on Ispell, read the +manual page: \verb+C:\Program Files\TeXLive\texmf\doc\html\manpages\ispell.html+. + +Note that when you replace a word, you will not see the correction in your +\cmdname{WinShell} window until you close the file (click the X in the upper right +corner) and then open it again (use the File menu). + +\subsection{Tips and tricks about the Win32 platform} + +\subsubsection{Different flavors of Win32} + +What we call Win32 is not an operating system by itself. It is a set +of functions -- and a large one\footnote{Around 12000 functions in the + header files of the Microsoft SDK} -- that you can use to write +programs for different operating systems of the Windows family. + +Windows comes in different flavors: +\begin{itemize} +\item Win95, Win98 and WinME, which \emph{are not true multitasking, + multithreading} environments. They are the latest -- and hopefully + last -- metamorphosis of DOS. This can be more or less proven by the + fact that when booting, the PC will load the \path|command.com| + interpreter, and if you stop the boot process at this point, you can + ask for the current (DOS) version and it will answer something like + 'MS-DOS 7.0' (at least for the old versions of Win9x); +\item Windows NT, which is a new operating system written from scratch, + capable of + true multitasking behaviour, and loaded with high level features; +\item Windows 2K, written on an NT basis, with all the bells and + whistles of Win98. +\item Windows XP, which comes with Personal and Pro flavors. This is + the last step in merging both lines of products (Win9x based and NT + based). XP is written on an NT basis. +\end{itemize} + +Win9x are able to run 32~bits programs and 16~bits programs +concurrently. But the operating system by itself is not entirely +written in 32~bits mode, and does not support memory protection: 16bits +applications can overwrite parts of the operating system memory! Some +parts of the system like the GDI (Graphical Device Interface) manage +limited resources like bitmaps, fonts, pens and so on for the set of +all programs that run concurrently. All the bitmaps headers available +at the same time can't amount for more than 64kb. This explains the +performance tool and the fact that you can put your system on his +knees by making intensive use of graphic objects for example. + +NT, 2K and XP do not suffer from these limitations, and neither from +other Win9x limitations. They are true multitasking environments, with +protected memory. They are much more responsive than Win9x because +of better memory management, better file system and so on. + +\subsubsection{Command line prompt} + +You will wonder: ``why would I need to use a command line prompt when +I have Windows?''. + +Good question. The problem is of very general nature. Not all +operations can be done easily using only a GUI. Command line gives you +programming power -- assuming a clever command interpreter. + +But the problem here is more fundamental: \TeX{} is \emph{a batch} +tool. Not an interactive one. \TeX{} needs to compute the best +layout for each page, resolve cross-references and so on. This can be +done only by a global processing of the document. It is not (yet) a +task that can be done interactively. + +This means that you should use \TeX{} from a command line. In fact the +situation is not so bad. There is an advantage to write command line +tools for complex processing: they are better debugged, because not +tied to GUI problems, and GUI tools can be designed to interface the +command line tools. This is the case for \TeX{} where you will +interact with it most of the time through a GUI text editor -- see +section~\ref{sec:winshell} for example. + +However, you may need to use the command line prompt in a number of +situations, by example in case of problems and you want to debug your +setup -- see + section~\ref{sec:troubleshooting}. + + \begin{description} + \item[Win9x] You will open a command line prompt by looking either + for the MS-DOS icon in the ``Start->Programs'' menu, either by + choosing ``Start->Run'' menu and typing in \path|command.com| + \item[NT, 2K, XP] You will open a command line prompt by looking + for the ``Command Prompt'' in the ``Start->Accessories'' + menu\footnote{These locations may change across different OS + versions.}. You can also choose the ``Start->Run'' menu and type + in \path|cmd.exe|, which is the name of the brand new command + interpreter for NT\footnote{Which explains why it is untrue to + call this a \emph{DOS} box under NT!}. +\end{description} + +\subsubsection{Path separators} + +The Win32 API understands both \path|/| and \path|\| characters as +PATH separators. But the command interpreters do not! So whenever a +path name is used programmatically, you can use both separators, and +even mix them up in the same path name. But on the command line, you +must type \path|\| as path separator. The reason is compatibility: +the command processor used the \path|/| to introduce arguments to +commands. + +All this to say: do not be surprised to read path names written using +the Unix convention; \fpTeX{} is a port of \Webc, and aims to be compatible +across platforms. For this reason, all the configuration files that +need to specify path names use the Unix convention. + +\subsubsection{File systems} +\label{sec:clusters} + +The worse feature of Win9x with regard to \TeX{} is probably the +so-called FAT file system. \TeX{} uses many many small files, with +size around 1kb -- 3kb. The FAT file system is old, and predates by +far the multi-gigabytes hard disks we have today. It means it can't +manage efficiently the 30000 \TeX{} files found on the \CD{}. The FAT +file system will allocate a minimum of 32kb for \emph{any} file on a +huge partition. It means that \TeX{} will use much more disk space +than it actually needs. + +The other, more modern, file systems available -- namely FAT32 and +NTFS -- do not have this drawback. They manage clusters of 4kb +only\footnote{You can lower the limit to 512 bytes on NTFS}. + +\subsubsection{How to add some directory to your PATH} + +There are pairs of variables and values which behave much like global +variables inside your programs. The set of those variables is called the +environment. Each program is initialized with a copy of the +environment when it is run. It can request and change the +value of any variable. The changes happen in the copy of the +environment, and is not at all propagated to the other running +programs. + +Your PATH is a special environment variable used to search for +programs you want to run. +There is a different procedure to change it for Win9x, WinME and NT/2K/XP: + +\begin{description} +\item[Windows 95/98] Edit your \path|autoexec.bat|. In this file should be a line + starting with \texttt{PATH=} and followed by a list of directories separated + by \path|;|. Please add the directory with the executables in this line. + After this, this line could look as follows: +\begin{verbatim} +PATH=c:\windows;c:\windows\system;c:\"Program Files"\TeXLive\bin\win32 +\end{verbatim} +\item[Windows ME] You need to run the special program + \path|c:\windows\system\msconfig.exe| to be able to change any + environment variable. From this program, select the `Environment' + tab, and then add or modify the variable you want. You will be asked to reboot the + machine upon any change. +\item[Windows NT/2K/XP] + Click left on \texttt{Start --> Settings --> Control Panel}. Now the window + with the control panel icons opens. Double click on System. The + System Properties window opens. Click on the tab + \textsf{Environment} or look for a button named `Environment + Variables' among the dialog boxes. Now + you can change the environment variables for your user account. Note: + There are also displayed the environment settings for the system. + Normally, you can't change the system variables unless you have + administrator rights on your machine. If you want to change the \texttt{PATH} + for all users, you will have to contact your system administrator or + be the system administrator yourself--in the later case you should + know what you are doing. + + If there is already a \texttt{PATH} setting for your user account, + left click on \texttt{PATH}. In the field \textsf{Variable} appears + \texttt{PATH} while the field Value shows the current setting of + \texttt{PATH} as a list of directories separated by \path|;|. Add + the directory where the executables are located (e.g. + \path|c:\Program Files\TeXLive\bin\win32|). If there isn't a \texttt{PATH} variable + for your user account, simply click in the field Variable and type + in \texttt{PATH}, click in the field \textsf{Value} + and type in the directory with the executables. Important: Click on + the \textsf{Apply} button before clicking \textsf{Ok}, otherwise the + changes to \texttt{PATH} won't apply to your system. Be careful when + changing the environment settings. +\end{description} + +The best way to be sure that a variable has been properly set is to +open a console and type: +\begin{verbatim} +set VARIABLE +\end{verbatim} +which should return the corresponding value. + +\subsubsection{\TeX{} engines} + +If you have a look at the \Webc{} documentation, you will read that all +the various \TeX{} derived programs use the same base engine. For +example, \path|tex.exe| and \path|latex.exe| are exact copies of the +same program, but each one will use a different format file, based on +its calling name. + +Under Unix, this feature is implemented through \emph{symbolic + links}. It saves up a bit of disk space, because some engines are +used with many different format files. + +The Win32 API does not know about file links. So to save up almost +the same amount of memory, all the \TeX{} base engines have been put +in DLLs (\emph{Dynamic Linked Library}). This means that you will have +the following layout: +\begin{alltt} +13/05/2002 17:06 3 584 latex.exe +13/05/2002 17:06 266 240 tex.dll +13/05/2002 17:06 3 584 tex.exe +\end{alltt} +and the \path|latex.exe| file is nothing but a rough copy of +\path|tex.exe| using the same core \path|tex.dll|. +The same trick has been used for the \path|mktex*.exe| family of programs which are +linked to the \path|mktex.dll| library. + +In fact, a generic tool called \path|lnexe.exe| is provided to build the +equivalent of Unix hard links for executable files only under Win32. + +\subsection{In case of problems} +\label{sec:troubleshooting} + +\subsubsection{What to do if \texttt{latex} does not + find your files?} + +\begin{itemize} +\item \cmdname{kpsewhich} is the tool of choice to debug any +problem. Unfortunately, kpsewhich outputs debug information to +stderr, and the Windows console does not know how to redirect stderr +to a file\footnote{Well, NT and Win2k consoles know how to do + that. But the trick will work for any console.}. +For diagnostic purposes you can temporarily set an +environment variable (in DOS box): +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=err.log +\end{verbatim} +You can also set the debug level: +\begin{verbatim} +SET KPATHSEA_DEBUG=-1 +\end{verbatim} + +If you want to redirect stderr to stdout, which is not possible under +either W9x or NT/2K/XP, then just do: +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=con: +\end{verbatim} +This way you can capture both stdout and stderr in the same file. + +\item Assuming the installation has been done in \path|c:/Program Files/TeXLive|, check + the following values: \\ + {\small + \begin{tabular}{ll} + \path|kpsewhich -expand-path $SELFAUTOPARENT| & \path|c:/Program Files/TeXLive| \\ + \path|kpsewhich -expand-path $TEXMF| & \path|c:/Program Files/TeXLive/texmf| \\ + \path|kpsewhich -expand-path $TEXMFCNF| & + \path|.;c:/Program Files/TeXLive/texmf/web2c;| \\ + & \path|c:/Program Files/TeXLive/bin/win32;| \\ + & \path|c:/Program Files/TeXLive/bin;| \\ + & \path|c:/Program Files/TeXLive| \\ + \path|kpsewhich -expand-var $TEXINPUTS| & \path|.;c:/Program Files/TeXLive/texmf/tex//| + \end{tabular} +} +\item If you have other \TeX{}-related values already set in your + environment, please, remove them. They are overriding the ones in + texmf.cnf. +\item Check the values from:\\ +{\small + \begin{tabular}{ll} + \texttt{kpsewhich cmr10.tfm} & \path|c:/Program Files/TeXLive/texmf/fonts/tfm/public/cm/cmr10.tfm|\\ + \texttt{kpsewhich latex.fmt}& \path|c:/Program Files/TeXLive/texmf/web2c/latex.fmt| + \end{tabular} +} +\item At this point, if everything is correct, \path|tex.exe| and + co. should work. If it is not the case, you will need to play with + the \path|-debug=n| option from \path|kpsewhich|, and check back all + the values. Try to identify and report the problem. +\end{itemize} + +\subsubsection{What to do if your setup still does not work as expected?} + +There are several questions to ask about: +\begin{enumerate} +\item Is \file{tex.exe} on my \path|PATH|? +\item Is the \path|TEXMFCNF| variable correctly set to + \path|c:/Program Files/TeXLive/texmf-var/web2c| (default value)? +\item Are there any errors in the log file generated by the + \file{TeXSetup.exe} program? Errors are flagged with the sequence + \path|Error|. +% \item If everything seems correct up there, then you need to read the +% documentation in \path|texmf/doc/fptex/fptex.pdf| or +% \path|texmf/doc/html/fptex/fptex.html| for a more detailed procedure +% (available on your hard disk or on the \CD{}). +\item One can also go to \url{http://www.tug.org/tex-live.html} and + check for any bug fix. +\item The Windows distribution on the \CD{} is no more no less than + the \fpTeX{} distribution, so you can also go to the Web pages at + \url{http://www.fptex.org}, or consider subscribing to the \fpTeX{} + mailing-list by consulting + \url{http://www.tug.org/mailman/listinfo/fptex} . +\end{enumerate} + + +The \TeXLive{} software is complex and made of more than 250 programs +and around 40000 files from various sources. It is quite difficult to +predict all possible causes for problems. Nevertheless, we will do our +best to help you in every case. + + +\subsection{Compiling the source files} + +You have the whole set of source files, comprised for +Windows in the \path|source/source.tar.bz2| archive available on the +\CD{}. To be able to compile the whole distribution for Windows, you +will need: +\begin{itemize} +\item Windows 2K/XP +\item Microsoft Visual Studio .Net +\item a set of Unix tools (\texttt{sed}, + \texttt{grep}, \texttt{gawk}, etc.) and also Perl, Flex and Bison, +\item to adjust the paths in the + \path|win32/make/common.mak| file according to your installation +\item adjust the paths in the Perl script file + \path|win32/perl/build.pl|, +\item run the compilation from the \path|win32/| directory using this + command: +\begin{verbatim} +c:\texlive\source\win32>perl ./perl/build.pl --install --log=install.log +\end{verbatim} +\end{itemize} + +There is a lot of work to do to make this process easier and cleaner. + +\subsection{Where to get more information?} + +The Win32 \TeX{} distribution on the \CD{} is also known as +\fpTeX. Only the packaging differs, but \fpTeX{} is no more no less +than the current \TeXLive\ release for Windows. + +The \fpTeX home on the Web is at:\\ +\url{http://www.fptex.org/} + +The current \fpTeX release is available from any +\href{http://www.ctan.org}{CTAN} %(see also the section +%\ref{sec:ctan}) +site in the directory~:\\ +\noindent\url{ftp://ctan.tug.org/tex-archive/systems/win32/fptex/}. + +The main ftp site for \fpTeX\ is \url{ftp://ftp.dante.de/pub/fptex/} from +where beta versions of \fpTeX\ and additionnal tools are available. +This main site is (partially) mirrored daily by the CTAN backbones in their +\path|systems/win32/fptex| directory. + +% You can reach me at my email address: +% \url{mailto:Fabrice.Popineau@supelec.fr}. + +The \TeX{} Users Group is kindly hosting a mailing-list dedicated to +\fpTeX. This is a very low volume one. It is used for announcements, +bugs reports or as well to discuss about improvements or various users +problems. To subscribe, read the page at +\url{http://www.tug.org/mailman/listinfo/fptex}. The mailing list +address is \EmailURL{fptex@tug.org}. + +\section{Building on a new Unix platform} +If you have a platform for which we have not provided binary sources, +you will need to compile \TeX{} and friends from scratch. This is not +as hard as it sounds. What you need is all in the directory +\texttt{source} on the \CD{}. + +You should first install the support tree from the \TeXLive{} \CD{} (do +a basic install, with no system binaries chosen). + +\subsection{Prerequisites} +You will need about 100 megabytes of disk space to compile all of +\TeX{} and its support programs. You'll also need an \acro{ANSI} C +compiler, a \cmdname{make} utility, a lexical scanner, and a parser +generator. The \acro{GNU} utilities (\cmdname{gcc}, \acro{GNU} +\cmdname{make}, \cmdname{m4}, \cmdname{flex}, \cmdname{bison}) are the +most widely tested on different platforms. \cmdname{gcc}-2.7.* +\cmdname{flex}-2.4.7 and \acro{GNU}\,\cmdname{make}-3.72.1 or newer +should work well. You may be able to work with other C compilers and +\cmdname{make} programs, but you will need a good understanding of +building Unix programs to sort out problems. The command +\texttt{uname} must return a sensible value. + + + +\subsection{Configuration} +First, unpack the source from the compressed +\texttt{tar} file in the directory \dirname{source} to your disk and change +directory to where you placed it. Decide where the `root' of the +installation will be, e.g.\ \path|/usr/local| or +\path|/usr/local/TeX|. Obviously you should use the same location +that you specified when you installed the support tree. + +Now, start the build process by running \textsf{configure} with +a command-line like +\begin{alltt} +>> \Ucom{./configure -prefix=/usr/local/TeX} +\end{alltt} + +The `prefix' directory is the one where you installed the support +tree; the directory layout that will be used is as follows (where +\$TEXDIR stands for the directory you chose): + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/man} & Unix manual pages\\ + \dirname{$TEXDIR/share/texmf} & main tree with fonts,\\ + & \qquad macros, etc\\ + \dirname{$TEXDIR/info} & \acro{GNU} style info manuals\\ + \dirname{$TEXDIR/bin/$PLATFORM} & binaries\\ +\end{tabular} +%$ + +You can omit the use of `\dirname{share/}' part for the +\dirname{texmf} directory if you want, as +\dirname{$TEXDIR/share/texmf} and \dirname{$TEXDIR/texmf} are +auto-detected by configure. If you choose something different, you +have to specify that directory with the \verb|--datadir| option of +\textsf{configure}. + + +If you want to leave out the \dirname{$PLATFORM} directory level +(i.e.\ put the binaries directly into \dirname{$TEXDIR/bin}), specify +the \verb|--disable-multiplatform| option for \textsf{configure}. + + +Have a look at the output of \texttt{./configure --help} for more +options you can use (such as omitting optional packages such as \OMEGA\ +or \eTeX). + +\subsection{Running \textsf{make}} +Make sure the shell variable \texttt{noclobber} is not set, and +then type +\begin{alltt} +>> \Ucom{make world} +\end{alltt} +and relax\ldots. + +It could also be useful to log all the output, e.g.\ by +typing +\begin{alltt} +>> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} +Before you think that everything is ok, please check the log file for +errors (\acro{GNU} \cmdname{make} always uses the string +``\texttt{Error:}'' whenever a command returns an error code) and +check if all binaries are built: +\begin{alltt} +>> \Ucom{cd /usr/local/TeX/bin/i686-pc-linux-gnu} +>> \Ucom{ls | wc} +\end{alltt} +The result should be 209. + +If you need special privileges for \texttt{make install}, you can +run two \cmdname{make} jobs in separate runs: +\begin{alltt} +>> \Ucom{make all} +>> \Ucom{su} +>> \Ucom{make install strip} +\end{alltt} + +\subsection{Final configuration steps} +Set up your \envname{PATH} to include the directory containing the +just-installed binaries (e.g.\ +\dirname{/usr/local/TeX/bin/mips-sgi-irix6.5}); similarly, +\envname{MANPATH} and \envname{INFOPATH} to include the relevant newly +installed subdirectories, i.e.\ \dirname{$TEXDIR/man} and +\dirname{$TEXDIR/info}. + +The program \textsf{texconfig} allows you to set the defaults for +hyphenation, paper size, print command, \MF{} mode, etc. You can +run this command interactively and see what options it offers, or type +\begin{alltt} +>> \Ucom{texconfig help} +\end{alltt} + +For example, if you are not using A4 format paper, you can make +`lettersize' the default using: +\begin{alltt} +>> \Ucom{texconfig dvips paper letter} +>> \Ucom{texconfig xdvi paper us} +\end{alltt} + +\section{A user's guide to the \protect\Webc{} system} + +%-------------------------------------------------------- + +\Webc{} contains a set of \TeX-related programs, i.e., \TeX{} itself, +\MF{}, \MP, \BibTeX{}, etc. The original implementation was by Tomas +Rokicki who, in 1987, developed a first \TeX{}-to-C system adapting +change files under Unix, which were primarily the work of Howard +Trickey and Pavel Curtis. Tim Morgan became the maintainer of the +system, and during this period the name changed to Web-to-C\@. In +1990, Karl Berry took over the work, assisted by dozens of additional +contributors, and in 1997 he handed the baton to Olaf Weber. The +latest result is \Webc{} Version 7.3, which was released in March +1999. Our version has some updates for the forthcoming new release, +and identifies itself as 7.3.7 + +The \Webc{} 7.3 system runs on Unix, Windows 3.1, 9x/ME/\acro{NT}/\acro{2K}/\acro{XP}, +\acro{DOS}, and other operating systems. It uses Knuth's +original sources for \TeX{} and other basic programs written in \web{} +and translates them into C source code. Moreover, the system offers a +large set of macros and functions developed to augment the original +\TeX{} software. The core \TeX{} family components are: + +\begin{description} +\renewcommand{\makelabel}[1]{\descriptionlabel{\mdseries\cmdname{#1}}} +\item[bibtex] Maintaining bibliographies. +\item[dmp] \cmdname{troff} to MPX (\MP{} pictures). +\item[dvicopy] Produces modified copy of \dvi{} file. +\item[dvitomp] \dvi{} to MPX (MetaPost pictures). +\item[dvitype] \dvi{} to human-readable text. +\item[gftodvi] Generic font proofsheets. +\item[gftopk] Generic to packed fonts. +\item[gftype] GF to human-readable text. +\item[makempx] \MP{} label typesetting. +\item[mf] Creating typeface families. +\item[mft] Prettyprinting \MF{} source. +\item[mpost] Creating technical diagrams. +\item[mpto] MetaPost label extraction. +\item[newer] Compare modification times. +\item[patgen] Creating hyphenation patterns. +\item[pktogf] Packed to generic fonts. +\item[pktype] PK to human-readable text. +\item[pltotf] Property list to TFM. +\item[pooltype] Display \web{} pool files. +\item[tangle] \web{} to Pascal. +\item[tex] Typesetting. +\item[tftopl] TFM to property list. +\item[vftovp] Virtual font to virtual property list +\item[vptovf] Virtual property list to virtual font. +\item[weave] \web{} to \TeX. +\end{description} +\noindent The precise functions and syntax of these programs are described in +the documentation of the individual packages or of \Webc{} itself. +However, knowing a few principles governing the whole family of +programs will help you to benefit optimally from your \Webc{} +installation. + +All programs honor the standard \acro{GNU} options: +\begin{description} +\item[\texttt{-{}-help\ \ \ }] print basic usage summary. +\item[\texttt{-{}-verbose}] print detailed progress report. +\item[\texttt{-{}-version}] print version information, then exit. +\end{description} + +For locating files the \Webc{} programs use the path searching library +\KPS{}. This library uses a combination of environment variables and a +few configuration files to optimize searching the \TeX{} directory +tree. \Webc{} can handle more than one directory tree +simultaneously, which is useful if one wants to maintain \TeX's +standard distribution and local extensions in two distinct trees. To +speed up file searches the root of each tree has a file \file{ls-R}, +containing an entry showing the name and relative pathname for all +files ``hanging'' under that root. + +\subsection{\protect\KPS\ path searching} + +Let us first describe the generic path searching mechanism of the \KPS{} +library. + +We call a \emph{search path} a colon- or semicolon\hyph sepa\-rated list +of \emph{path elements}, which are basically directory names. A +search path can come from (a combination of) many sources. To look up +a file \samp{my-file} along a path \samp{.:/dir}, \KPS{} checks each +element of the path in turn: first \file{./my-file}, then +\file{/dir/my-file}, returning the first match (or possibly all +matches). + +In order to adapt optimally to all operating systems' conventions, on +non-Unix systems \KPS{} can use filename separators different from +``colon'' (\samp{:}) and ``slash'' (\samp{/}). + +To check a particular path element \var{p}, \KPS{} first checks if a +prebuilt database (see ``Filename data\-base'' on +page~\pageref{Filename-database}) applies to \var{p}, i.e., if the database +is in a directory that is a prefix of \var{p}. If so, the path +specification is matched against the contents of the database. + +If the database does not exist, or does not apply to this path +element, or contains no matches, the filesystem is searched (if this +was not forbidden by a specification starting with \samp{!!}\ and if +the file being searched for must exist). \KPS{} constructs the list +of directories that correspond to this path element, and then checks +in each for the file being sought. + +The ``file must exist'' condition comes into play with \samp{.vf} files and +input files read by \TeX's \cs{openin} command. Such files may not +exist (e.g., \file{cmr10.vf}), and so it would be wrong to search the +disk for them. Therefore, if you fail to update \file{ls-R} when you +install a new \samp{.vf} file, it will never be found. +Each path element is checked in turn: first the database, then the +disk. If a match is found, the search stops and the result is +returned. + +Although the simplest and most common path element is a directory +name, \KPS{} supports additional features in search paths: layered +default values, environment variable names, config file values, users' +home directories, and recursive subdirectory searching. Thus, we say +that \KPS{} \emph{expands} a path element, meaning it transforms all +the specifications into basic directory name or names. This is +described in the following sections in the same order as it takes +place. + +Note that if the filename being searched for is absolute or explicitly +relative, i.e., starts with \samp{/} or \samp{./} or \samp{../}, +\KPS{} simply checks if that file exists. + +\ifSingleColumn +\else +\begin{figure*} +\verbatiminput{../examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{An illustrative configuration file sample} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{Path sources} +\label{Path-sources} + +A search path can come from many sources. In the order in which +\KPS{} uses them: + +\begin{enumerate} +\item + A user-set environment variable, for instance, \envname{TEXINPUTS}\@. + Environment variables with a period and a program name appended + override; e.g., if \samp{latex} is the name of the program being run, + then \envname{TEXINPUTS.latex} will override \envname{TEXINPUTS}. +\item + A program-specific configuration file, for exam\-ple, a line + ``\texttt{S /a:/b}'' in \cmdname{dvips}'s \file{config.ps}. +\item A \KPS{} configuration file \file{texmf.cnf}, containing a line like + \samp{TEXINPUTS=/c:/d} (see below). +\item The compile-time default. +\end{enumerate} +\noindent You can see each of these values for a given +search path by using the debugging options (see ``Debugging actions'' +on page~\pageref{Debugging}). + +\subsubsection{Config files} + +\tolerance=3500 +\KPS{} reads \emph{runtime configuration files} named \file{texmf.cnf} +for search path and other definitions. The search path used to look +for these files is named \envname{TEXMFCNF} (by default such a file lives +in the \file{texmf/web2c} subdirectory). \emph{All} +\file{texmf.cnf} files in the search path will be read and definitions +in earlier files override those in later files. Thus, with a search +path of \verb|.:$TEXMF|, values from \file{./texmf.cnf} override those +from \verb|$TEXMF/texmf.cnf|. + +\tolerance=1500 + +While reading the description of the format of the file +\file{texmf.cnf} below, please also refer to +appendix~\ref{app:texmf.cnf}, starting on +page~\pageref{app:texmf.cnf}, which lists the \file{texmf.cnf} file on +the \CD. + +\begin{itemize} +\item + Comments start with ``\texttt{\%}'' and continue to the end of the line. +\item + Blank lines are ignored. +\item + A \bs{} at the end of a line acts as a continuation character, + i.e., the next line is appended. Whitespace at the beginning of + continuation lines is not ignored. +\item + Each remaining line has the form: +\begin{alltt} + \emph{variable}[.\emph{progname}] [=] \emph{value} +\end{alltt}% + where the \samp{=} and surrounding whitespace are optional. +\item + The ``\texttt{\var{variable}}'' name may contain any character other + than whitespace, \samp{=}, or \samp{.}, but sticking to + \samp{A-Za-z\_} is safest. +\item + If ``\texttt{.\var{progname}}'' is present, the definition only + applies if the program that is running is named + \texttt{\var{progname}} or \texttt{\var{progname}.exe}. This allows + different flavors of \TeX{} to have different search paths, for + example. +\item ``\texttt{\var{value}}'' may contain any characters except + ``\texttt{\%}'' and \samp{@}. The + ``\texttt{\$\var{var}.\var{prog}}'' feature is not available on the + right-hand side; instead, you must use an additional variable. A + \samp{;}\ in ``\texttt{\var{value}}'' is translated to \samp{:}\ if + running under Unix; this is useful to be able to have a single + \file{texmf.cnf} for Unix, MSDOS and Windows systems. +\item + All definitions are read before anything is expanded, so + variables can be referenced before they are defined. +\end{itemize} +A configuration file fragment illustrating most of these points is +\ifSingleColumn +shown below: + +\verbatiminput{../examples/ex5.tex} +\else +shown in Figure~\ref{fig:config-sample}. +\fi + +\subsubsection{Path expansion} +\label{Path-expansion} + + +\KPS{} recognizes certain special characters and constructions in +search paths, similar to those available in Unix shells. As a +general example, the complex path, +\verb+~$USER/{foo,bar}//baz+, expands to all subdirectories under +directories \file{foo} and \file{bar} in \texttt{\$USER}'s home +directory that contain a directory or file \file{baz}. These +expansions are explained in the sections below. +%$ +\subsubsection{Default expansion} +\label{Default-expansion} + +\tolerance=2500 +If the highest-priority search path (see ``Path sources'' on +page~\pageref{Path-sources}) contains an \emph{extra colon} (i.e., +leading, trailing, or doubled), \KPS{} inserts at that point the +next-highest-prio\-rity search path that is defined. If that inserted +path has an extra colon, the same happens with the next highest. For +example, given an environment variable setting + +\tolerance=1500 + +\begin{alltt} +>> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} +and a \code{TEXINPUTS} value from \file{texmf.cnf} of + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} +then the final value used for searching will be: + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +Since it would be useless to insert the default value in more than one +place, \KPS{} changes only one extra \samp{:}\ and leaves any others in +place: it checks first for a leading \samp{:}, then a trailing +\samp{:}, then a doubled \samp{:}. + +\subsubsection{Brace expansion} + +A useful feature is brace expansion, which means that, for instance, +\verb+v{a,b}w+ expands to \verb+vaw:vbw+. Nesting is allowed. +This can be used to implement multiple \TeX{} hierarchies, by +assigning a brace list to \code{\$TEXMF}. +For example, in \file{texmf.cnf}, you find +the following definition: +\begin{verbatim} + TEXMF = {$HOMETEXMF,$TEXMFLOCAL,!!$VARTEXMF,!!$TEXMFMAIN} +\end{verbatim} +Using this you can then write something like +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +which means that, after looking in the current directory, the +\code{\$HOMETEXMF/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$VARTEXMF/tex} +and \code{\$TEXMFMAIN/tex} trees \emph{only}) will be searched (the +last two use using \file{ls-R} data base files). It is a convenient +way for running two parallel \TeX{} structures, one ``frozen'' (on a +\CD, for instance) and the other being continuously updated with new +versions as they become available. By using the \code{\$TEXMF} +variable in all definitions, one is sure to always search the +up-to-date tree first. + +\subsubsection{Subdirectory expansion} +\label{Subdirectory-expansion} + +Two or more consecutive slashes in a path element following a directory +\var{d} is replaced by all subdirectories of \var{d}: first those +subdirectories directly under \var{d}, then the subsubdirectories under +those, and so on. At each level, the order in which the directories are +searched is \emph{unspecified}. + +If you specify any filename components after the \samp{//}, only +subdirectories with matching components are included. For example, +\samp{/a//b} expands into directories \file{/a/1/b}, \file{/a/2/b}, +\file{/a/1/1/b}, and so on, but not \file{/a/b/c} or \file{/a/1}. + +Multiple \samp{//} constructs in a path are possible, but +\samp{//} at the beginning of a path is ignored. + +\subsubsection{List of special characters and their meaning: a summary} + +The following list summarises the meaning of special characters +in \KPS{} configuration files. + +\newcommand{\CODE}[1]{\makebox[2.2em][l]{\code{#1}}} +\begin{description} +\item[\CODE{:}] Separator in path specification; at the beginning or + the end of a path it substitutes the default path expansion. +\item[\CODE{;}] Separator on non-Unix systems (acts like \code{:}). +\item[\CODE{\$}] Variable expansion. +\item[\CODE{\string~}] Represents the user's home directory. +\item[\CODE{\char`\{\dots\char`\}}] Brace expansion, e.g., + \verb+a{1,2}b+ will become \verb+a1b:a2b+. +\item[\CODE{//}] Subdirectory expansion (can occur anywhere in + a path, except at its beginning). +\item[\CODE{\%}] Start of comment. +\item[\CODE{\bs}] Continuation character (allows multi-line entries). +\item[\CODE{!!}] Search \emph{only} database to locate file, \emph{do + not} search the disk. +\end{description} + + +\subsection{Filename databases} +\label{Filename-database} + + +\KPS{} goes to some lengths to minimize disk accesses for searches. +Nevertheless, at installations with enough directories, searching each +possible directory for a given file can take an excessively long time +(this is especially true if many hundreds of font directories have to +be traversed.) Therefore, \KPS{} can use an externally-built +``database'' file named \file{ls-R} that maps files to directories, +thus avoiding the need to exhaustively search the disk. + +A second database file \file{aliases} allows you to give additional +names to the files listed in \file{ls-R}. This can be helpful to +adapt to DOS-like ``8.3'' filename conventions in source files. + +\subsubsection{The filename database} +\label{ls-R} + +As explained above, the name of the main filename database must be +\file{ls-R}. You can put one at the root of each \TeX{} hierarchy in +your installation that you wish to be searched (\code{\$TEXMF} by +default); most sites have only one hierarchy. \KPS{} looks for +\file{ls-R} files along the \code{TEXMFDBS} path. + +The recommended way to create and maintain \samp{ls-R} is to run the +\code{mktexlsr} script included with the distribution. It is invoked +by the various \samp{mktex}\dots\ scripts. In principle, this script +just runs the command +\begin{alltt} +cd \var{/your/texmf/root} && ls -LAR ./ >ls-R +\end{alltt} +presuming your system's \code{ls} produces the right output format +(\acro{GNU}'s \code{ls} is all right). To ensure that the database is always +up to date, it is easiest to rebuild it regularly via \code{cron}, so +that for changes in the installed files\Dash perhaps after installing or +updating a \LaTeX{} package\Dash the file \file{ls-R} is automatically +updated. + +If a file is not found in the database, by default \KPS{} goes ahead +and searches the disk. If a particular path element begins with +\samp{!!}, however, \emph{only} the database will be searched for that +element, never the disk. + + +\subsubsection{kpsewhich: Standalone path searching} +\label{Invoking-kpsewhich} + +The \texttt{kpsewhich} program exercises path searching independent of any +particular application. This can be useful as a sort of \code{find} +program to locate files in \TeX{} hierarchies (this is used heavily in +the distributed \samp{mktex}\dots\ scripts). + +\begin{alltt} +>> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} +\end{alltt} +The options specified in ``\texttt{\var{option}}'' can start with either \samp{-} +or \samp{-{}-}, and any unambiguous abbreviation is accepted. + +\KPS{} looks up each non-option argument on the command line as a +filename, and returns the first file found. There is no option to +return all the files with a particular name (you can run the Unix +\samp{find} utility for that). + +The more important options are described next. + +\begin{description} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{} + Set the resolution to ``\texttt{\var{num}}''; this only affects \samp{gf} + and \samp{pk} lookups. \samp{-D} is a synonym, for compatibility + with \cmdname{dvips}. Default is 600. +\item[\texttt{-{}-format=\var{name}}]\mbox{}\\ + Set the format for lookup to ``\texttt{\var{name}}''. By default, the + format is guessed from the filename. For formats which do not have + an associated unambiguous suffix, such as \MP{} support files and + \cmdname{dvips} configuration files, you have to specify the name as + found in the first column of Table~\ref{TABKpathsea}, which lists + currently recognized names, a description, + associated environment variables%, + \footnote{You can find definitions for these environment variables + in the file \file{texmf.cnf} (page~\pageref{app:texmf.cnf})}, and + possible file extensions. +\end{description} + + +\def\KpathKey#1#2#3#4#5{% name, number, description, variables, + % suffixes +\SetRowColor#1 & #3 & #4 & #5\\} +\def\HEAD#1{\multicolumn{1}{l}{\emph{#1}}} +% +\begin{small} +% a footnoterule immediately under a bottom-of-page rule looks dead +% silly, so we suppress it +\renewcommand\footnoterule{\relax} +% +\begin{longtable}{@{}% + >{\ttfamily}P{.16\textwidth}% Col.1 + P{.3\textwidth}% Col 2 + >{\ttfamily\footnotesize}P{.29\textwidth}% Col 3 + >{\ttfamily}P{.14\textwidth}% Col 4 +@{}} +\caption{Kpathsea file types}\label{TABKpathsea}\\ +\emph{Name} & \HEAD{Description} & \HEAD{Variables} +& \HEAD{Suffixes}\\ +\hline +\endfirsthead +\multicolumn{3}{l}{Kpathsea file types \emph{continued}}\\ +\emph{Name} & \HEAD{Description} & \HEAD{Variables} +& \HEAD{Suffixes}\\ +\hline +\noalign{\vspace{2pt}} +\endhead +\mbox{}\\ +\hline +\endfoot +\KpathKey + {afm} + {4} + {Adobe font metrics} + {AFMFONTS} + {.afm} +\KpathKey + {base} + {5} + {Metafont memory dump} + {MFBASES, TEXMFINI} + {.base} +\KpathKey + {bib} + {6} + {\BibTeX{} bibliography source} + {BIBINPUTS, TEXBIB} + {.bib} +\KpathKey + {} + {2} + {bitmap fonts} + {GLYPHFONTS, TEXFONTS} + {} +\KpathKey + {bst} + {7} + {\BibTeX{} style files} + {BSTINPUTS} + {.bst} +\KpathKey + {cnf} + {8} + {Runtime configuration files} + {TEXMFCNF} + {.cnf} +\KpathKey + {dvips config} + {34} + {\textsf{dvips} configuration files, e.g., \file{config.ps} + and \file{psfonts.map}} + {TEXCONFIG} + {.map} +\KpathKey + {fmt} + {10} + {\TeX{} memory dump} + {TEXFORMATS, TEXMFINI} + {.fmt, .efmt, .efm} +\KpathKey + {gf} + {0} + {generic font bitmap} + {GFFONTS} + {.gf} +\KpathKey + {graphic/figure} + {25} + {Encapsulated PostScript figures} + {TEXPICTS, TEXINPUTS} + {.eps, .epsi} +\KpathKey + {ist} + {35} + {\textsf{makeindex} style files} + {TEXINDEXSTYLE, INDEXSTYLE} + {.ist} +\KpathKey + {ls-R} + {9} + {Filename databases} + {TEXMFDBS} + {} +\KpathKey + {map} + {11} + {Fontmaps} + {TEXFONTMAPS} + {.map} +\KpathKey + {mem} + {12} + {MetaPost memory dump} + {MPMEMS, TEXMFINI} + {.mem} +\KpathKey + {mf} + {13} + {Metafont source} + {MFINPUTS} + {.mf} +\KpathKey + {mfpool} + {14} + {Metafont program strings} + {MFPOOL, TEXMFINI} + {.pool} +\KpathKey + {mft} + {15} + {MFT style file} + {MFTINPUTS} + {.mft} +\KpathKey + {} + {41} + {miscellaneous fonts} + {MISCFONTS} + {} +\KpathKey + {mp} + {16} + {MetaPost source} + {MPINPUTS} + {.mp} +\KpathKey + {mppool} + {17} + {MetaPost program strings} + {MPPOOL, TEXMFINI} + {.pool} +\KpathKey + {MetaPost support} + {18} + {MetaPost support files, used by DMP} + {MPSUPPORT} + {} +\KpathKey + {ocp} + {19} + {\OMEGA{} compiled process files} + {OCPINPUTS} + {.ocp} +\KpathKey + {ofm} + {20} + {\OMEGA{} font metrics} + {OFMFONTS, TEXFONTS} + {.ofm, .tfm} +\KpathKey + {opl} + {21} + {\OMEGA{} property lists} + {OPLFONTS, TEXFONTS} + {.opl} +\KpathKey + {otp} + {22} + {\OMEGA{} translation process files} + {OTPINPUTS} + {.otp} +\KpathKey + {ovf} + {23} + {\OMEGA{} virtual fonts} + {OVFFONTS, TEXFONTS} + {.ovf} +\KpathKey + {ovp} + {24} + {\OMEGA{} virtual property lists} + {OVPFONTS, TEXFONTS} + {.ovp} +\KpathKey + {pk} + {1} + {packed bitmap fonts} + {\emph{program}FONTS \textrm{(\texttt{\emph{program}} being + \textsmaller{\cmdname{XDVI}}, + etc.)}, PKFONTS, TEXPKS, GLYPHFONTS, TEXFONTS} + {.pk} +\KpathKey + {PostScript header} + {30} + {downloadable PostScript} + {TEXPSHEADERS, PSHEADERS} + {.pro, .enc} +\KpathKey + {tex} + {26} + {\TeX{} source} + {TEXINPUTS} + {.tex, .cls, .sty, .clo, .def} +\KpathKey + {TeX system documentation} + {27} + {Documentation files for the \TeX{} system} + {TEXDOCS} + {} +\KpathKey + {TeX system sources} + {29} + {Source files for the \TeX{} system} + {TEXSOURCES} + {} +\KpathKey + {texpool} + {28} + {\TeX{} program strings} + {TEXPOOL, TEXMFINI} + {.pool} +\KpathKey + {tfm} + {3} + {\TeX{} font metrics} + {TFMFONTS, TEXFONTS} + {.tfm} +\KpathKey + {Troff fonts} + {31} + {Troff fonts, used by DMP} + {TRFONTS} + {} +\KpathKey + {truetype fonts} + {36} + {TrueType outline fonts} + {TTFONTS} + {.ttf, .ttc} +\KpathKey + {type1 fonts} + {32} + {Type 1 PostScript outline fonts} + {T1FONTS, T1INPUTS, TEXPSHEADERS, DVIPSHEADERS} + {.pfa, .pfb} +\KpathKey + {type42 fonts} + {37} + {Type 42 PostScript outline fonts} + {T42FONTS} + {} +\KpathKey + {vf} + {33} + {virtual fonts} + {VFFONTS, TEXFONTS} + {.vf} +\KpathKey + {web2c files} + {38} + {\Webc{} support files} + {WEB2C} + {} +\KpathKey + {other text files} + {39} + {text files used by `\textsf{foo}'} + {FOOINPUTS} + {} +\KpathKey + {other binary files} + {40} + {binary files used by `\textsf{foo}'} + {FOOINPUTS} + {} +\end{longtable} +\end{small} + + +\begin{multicols}{2} + +\begin{description} +\item[] The last two entries in Table~\ref{TABKpathsea} are special + cases, where the paths and environment variables depend on the name + of the program: the variable name is constructed by converting the + program name to upper case, and then appending \texttt{INPUTS}. + + The environment variables are set by default in the configuration + file \file{texmf.cnf}. It is only when you want to override one or + more of the values specified in that file that you might want to set + them explicitly in your execution environment. + + Note that the \samp{-{}-format} and \samp{-{}-path} options are mutually + exclusive. +\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ + Set the mode name to ``\texttt{\var{string}}''; this only affects \samp{gf} + and \samp{pk} lookups. No default: any mode will be found. +\item[\texttt{-{}-must-exist}]\mbox{}\\ + Do everything possible to find the files, notably including + searching the disk. By default, only the \file{ls-R} database is + checked, in the interest of efficiency. +\item[\texttt{-{}-path=\var{string}}]\mbox{}\\ + Search along the path ``\texttt{\var{string}}'' (colon-% + separated as usual), + instead of guessing the search path from the filename. \samp{//} + and all the usual expansions are supported. + The options \samp{-{}-path} and \samp{-{}-format} are mutually + exclusive. +\item[\texttt{-{}-progname=\var{name}}]\mbox{}\\ + Set the program name to ``\texttt{\var{name}}''. + This can affect the search paths via the ``\texttt{.\var{prognam}}'' + feature in configuration files. + The default is \samp{kpsewhich}. +\item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\ + shows the path used for file lookups of file type ``\texttt{\var{name}}''. + Either a filename extension (\samp{.pk}, \samp{.vf}, etc.) or a + name can be used, just as with \samp{-{}-format} option. +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + sets the debugging options to ``\texttt{\var{num}}''. +\end{description} + + +\subsubsection{Examples of use} +\label{SExamplesofuse} + +Let us now have a look at \KPS{} in action. + +\begin{alltt} +>> \Ucom{kpsewhich article.cls} +/usr/local/texmf/tex/latex/base/article.cls +\end{alltt} +We are looking for the file \file{article.cls}. Since the \samp{.cls} +suffix is unambiguous we do not need to specify that we want to look for a +file of type ``tex'' (\TeX{} source file directories). We find it in +the subdirectory \file{tex/latex/base} below the \samp{TEXMF} root +directory. Similarly, all of the following are found without problems +thanks to their unambiguous suffix. +\begin{alltt} +>> \Ucom{kpsewhich array.sty} + /usr/local/texmf/tex/latex/tools/array.sty +>> \Ucom{kpsewhich latin1.def} + /usr/local/texmf/tex/latex/base/latin1.def +>> \Ucom{kpsewhich size10.clo} + /usr/local/texmf/tex/latex/base/size10.clo +>> \Ucom{kpsewhich small2e.tex} + /usr/local/texmf/tex/latex/base/small2e.tex +>> \Ucom{kpsewhich tugboat.bib} + /usr/local/texmf/bibtex/bib/beebe/tugboat.bib +\end{alltt} + +The latter is a \BibTeX{} bibliography database for \textsl{TUGBoat} articles. + +\begin{alltt} +>> \Ucom{kpsewhich cmr10.pk} +\end{alltt} +Font bitmap glyph files of type \file{.pk} are used by display +programs like \cmdname{dvips} and \cmdname{xdvi}. Nothing is returned in +this case since there are no pre-generated Computer Modern \samp{.pk} +files on our system (since we use the Type1 versions on the \CD{}). +\begin{alltt} +>> \Ucom{kpsewhich ecrm1000.pk} +\ifSingleColumn /usr/local/texmf/fonts/pk/ljfour/jknappen/ec/ecrm1000.600pk +\else +/usr/local/texmf/fonts/pk/ljfour/jknappen/ +... ec/ecrm1000.600pk +\fi\end{alltt} +For the extended Computer Modern files we had to generate \samp{.pk} +files, and since the default \MF{} mode on our installation is +\texttt{ljfour} with a base resolution of 600 dpi (dots per inch), +this instantiation is returned. +\begin{alltt} +>> \Ucom{kpsewhich -dpi=300 ecrm1000.pk} +\end{alltt} +In this case, when specifying that we are interested in a resolution +of 300dpi (\texttt{-dpi=300}) we see that no such font is available on +the system. In fact, a program like \cmdname{dvips} or \cmdname{xdvi} would +go off and actually build the \texttt{.pk} files at the required +resolution using the script \cmdname{mktexpk}. + +Next we turn our attention to \cmdname{dvips}'s header and configuration +files. We first look at one of the commonly used files, the general +prolog \file{tex.pro} for \TeX{} support, before turning our attention +to the generic configuration file (\file{config.ps}) and the +PostScript font map \file{psfonts.map}. As the \samp{.ps} suffix is +ambiguous we have to specify explicitly which type we are considering +(``\texttt{dvips config}'') for the file \texttt{config.ps}. +\begin{alltt} +>> \Ucom{kpsewhich tex.pro} + /usr/local/texmf/dvips/base/tex.pro +>> \Ucom{kpsewhich --format="dvips config" config.ps} + /usr/local/texmf/config/config.ps +>> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf/dvips/base/psfonts.map +\end{alltt} + +We now take a closer look at the URW Times PostScript support files. +The name for these in Berry's font naming scheme is ``\texttt{utm}''. +The first file we look at is the configuration file, which contains +the name of the map file: +\begin{alltt} +>> \Ucom{kpsewhich --format="dvips config" config.utm} +/usr/local/texmf/dvips/psnfss/config.utm +\end{alltt} +The contents of that file is +\begin{alltt} + p +utm.map +\end{alltt} +which points to the file \file{utm.map}, which we want to +locate next. +\begin{alltt} +>> \Ucom{kpsewhich --format="dvips config" utm.map} + /usr/local/texmf/dvips/psnfss/utm.map +\end{alltt} +This map file defines the file names of the Type1 PostScript fonts in +the URW collection. Its contents look like (we only show part of the +lines): +\begin{alltt} + utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb + utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb + utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb + utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb + utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb + utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} +Let us, for instance, take the Times Regular instance +\file{utmr8a.pfb} and find its position in the \file{texmf} directory +tree by using a search for Type1 font files: +\begin{alltt} +>> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf/fonts/type1/urw/utm/utmr8a.pfb +\else /usr/local/texmf/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + +It should be evident from these few examples how you can easily locate +the whereabouts of a given file. This is especially important if you +suspect that the wrong version of a file is picked up somehow, since +\cmdname{kpsewhich} will show you the first file encountered. + +\subsubsection{Debugging actions} +\label{Debugging} + +Sometimes it is necessary to investigate how a program resolves +file references. To make this feasible in a convenient way \KPS{} +offers various debug levels: +\begin{itemize} +\item[\texttt{\ 1}] \texttt{stat} calls (file tests). When running + with an up-to-date \file{ls-R} database this should almost give no + output. +\item[\texttt{\ 2}] References to hash tables (like \file{ls-R} + database, map files, configuration files). +\item[\texttt{\ 4}] File open and close operations. +\item[\texttt{\ 8}] General path information for file types + searched by \KPS. This is useful to find out where a particular + path for the file was defined. +\item[\texttt{16}] Directory list for each path element (only relevant + for searches on disk). +\item[\texttt{32}] File searches. +\end{itemize} +A value of \texttt{-1} will set all the above options; in practice you +will probably always use these levels if you need any debugging. + +Similarly, with the \cmdname{dvips} program, by setting a +combination of debug switches, one can follow in detail where files are being picked +up from. Alternatively, when a file is not found, the debug trace +shows in which directories the program looks for the given file, so +that one can get an indication what the problem~is. + +Generally speaking, as most programs call the \KPS{} library +internally, one can select a debug option by using the +\envname{KPATHSEA\_DEBUG} environment variable, and setting it to (a +combination of) values as described in the above list. + +(Note for Windows users: it is not easy to redirect +all messages to a file in this system. For diagnostic purposes +you can temporarily \texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log}). + +Let us consider, as an example, a small \LaTeX{} source file, +\file{hello-world.tex}, which contains the following input. +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +This little file only uses the font \file{cmr10}, so let us look +how \cmdname{dvips} prepares the PostScript file (we want to use the Type1 +version of the Computer Modern fonts, hence the option \texttt{-Pcms}). +\begin{alltt} +>> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +In this case we have combined \cmdname{dvips}'s debug class 4 (font +paths) with \KPS's path element expansion (see \cmdname{dvips} Reference +Manual, \OnCD{texmf/doc/html/dvips/dvips_toc.html}). +%\ifSingleColumn +%We get something +%like the following (we have rearranged the output for easier display): +%\begin{alltt}\small +%\input{../examples/ex6.tex} +%\end{alltt} +%\else +The output (slightly rearranged) appears in +Figure~\ref{fig:dvipsdbga}. +\begin{figure*}[tp] +\centering +\input{../examples/ex6a.tex} +\caption{Finding configuration files}\label{fig:dvipsdbga} + +\bigskip + +\input{../examples/ex6b.tex} +\caption{Finding the prolog file}\label{fig:dvipsdbgb} + +\bigskip + +\input{../examples/ex6c.tex} +\caption{Finding the font file}\label{fig:dvipsdbgc} +\end{figure*} +\cmdname{dvips} starts by locating its working files. First, +\file{texmf.cnf} is found, which gives the definitions of the search +paths for the other files, then the file database \file{ls-R} (to +optimize file searching) and the file \file{aliases}, which makes it +possible to declare several names (e.g., a short \acro{DOS}-like ``8.3'' and +a more natural longer version) for the same file. Then \cmdname{dvips} +goes on to find the generic configuration file \file{config.ps} +before looking for the customization file \file{.dvipsrc} (which, in +this case is \emph{not found}). Finally, \cmdname{dvips} locates the +config file for the Computer Modern PostScript fonts \file{config.cms} +(this was initiated with the \texttt{-Pcms} option on the \cmdname{dvips} +command). This file contains the list of the ``map'' files which +define the relation between the \TeX{}, PostScript and file system +names of the fonts. +\begin{alltt} +>> \Ucom{more /usr/local/texmf/dvips/cms/config.cms} + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map +\end{alltt} +\cmdname{dvips} thus goes on to find all these files, plus the generic +map file \file{psfonts.map}, which is always loaded (it contains +declarations for commonly used PostScript fonts; see the last part of +Section \ref{SExamplesofuse} for more details about PostScript map +file handling). + +At this point \cmdname{dvips} identifies itself to the user\ldots +\begin{alltt}\ifSingleColumn +This is dvips 5.78 Copyright 1998 Radical Eye Software (www.radicaleye.com) +\else\small{}This is dvips 5.78 Copyright 1998 Radical Eye... +\fi\end{alltt}% decided to accept slight overrun in tub case +\ifSingleColumn +\ldots and then goes on to look for the prolog file \file{texc.pro}, +\begin{alltt}\small +kdebug:start search(file=texc.pro, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro +\end{alltt} +\else +then goes on to look for the prolog file \file{texc.pro} (see +Figure~\ref{fig:dvipsdbgb}). + +\fi +After having found the file in question, \cmdname{dvips} outputs +date and time, and informs us that it will generate the +file \file{hello-world.ps}, then that it needs the font file +\file{cmr10}, and that the latter is declared as ``resident'': +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} +Now the search is on for the file \file{cmr10.tfm}, which is found, +then a few more prolog files (not shown) are referenced, and finally +the Type1 instance \file{cmr10.pfb} of the font is located and +included in the output file (see last line). +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{Runtime options} + +Another of the nice features of \Webc{} is its possibility to +control a number of memory parameters (in particular, array sizes) via +the runtime file \file{texmf.cnf} read by \KPS{}. The listing of +\file{texmf.cnf} is shown in Appendix~\ref{app:texmf.cnf}, starting on +page~\pageref{app:texmf.cnf}; the settings of all parameters can be +found in Part 3 of that file. The more important control variables are: +\begin{description} +\item[\texttt{main\_memory}] + Total words of memory available, for + \TeX{}, \MF{} and \MP. You must make a new format file for each + different setting. For instance, you could generate a ``huge'' + version of \TeX{}, and call the format file \texttt{hugetex.fmt}. + Using the standard way of specifying the program name used by \KPS{}, + the particular value of the \texttt{main\_memory} variable will then + be read from \file{texmf.cnf} (compare the generic value + and the ``huge'' one instantiated by \texttt{hugetex}, + etc.). +\item[\texttt{extra\_mem\_bot}] + Extra space for ``large'' \TeX{} data structures: + boxes, glue, breakpoints, etc. Especially useful if you use + \PiCTeX{}. +\item[\texttt{font\_mem\_size}] + Number of words for font information available for \TeX. This + is more or less the total size of all TFM files read. +\item[\texttt{hash\_extra}] + Additional space for the hash table of control sequence names. + Approximately 10,000 control sequences can be stored in the main + hash table; if you have a large book with numerous cross-references, + this might not be enough. You can see that both the + \cmdname{hugetex} and \cmdname{pdflatex} program invocations ask for + an extra 15,000 control sequences (the default value of + \texttt{hash\_extra} is zero). +\end{description} +Of course, this facility is no substitute for truly dynamic arrays and +memory allocation, but since this is extremely difficult to implement +in present \TeX, these runtime parameters provide a practical compromise +allowing some flexibility. + +%-------------------------------------------------------- + + +\section{Acknowledgements}\label{sec:acknowl} +This edition of TeXLive is edited by Sebastian Rahtz, with the +major contributors being Fabrice Popineau, who has worked away +unceasingly at the Win32 part of the package (especially the setup!) +and contributed in many different ways with ideas, advice and code; +and Staszek Wawrykiewicz, who provided great checking feedback, and +co-ordinated the Polish contributions. Kaja Christiansen performed a +vital role in endless recompilations on assorted Unix platforms, and +Robin Laakso coordinated production for TUG. Vladimir Volovich +did great work on cleaning the source and making other improvements, +while Gerben Wierda did all the work for MacOSX. + +We are very grateful for past and present help from +\begin{itemize} +\item The German-speaking \TeX{} Users (DANTE e.V.), who provided a machine + on which the master of the CD-ROM is developed and maintained; and Rainer +Sch\"opf and Reinhard Zierke who look after it; +\item The Perforce company, for providing a free copy of their +excellent change management system, which we have used to + manage the CD-ROM +contents; +\item Karl Berry, who provided the original \Webc{} distribution, and + has continued to give invaluable advice, encouragement, and help; +\item Mimi Burbank, who arranged access + at the Florida State University School of Computational Science + and Information Technology + to a slew of different + computers to compile \TeX{} on, and acted as an essential guinea-pig + whenever asked; +\item Kaja Christiansen, who provided essential feedback, compilation, and + documentation preparation; +\item Thomas Esser, without whose marvellous \teTeX{} package this + \CD{} would certainly not exist, and whose continual help makes it a + better product; +\item Michel Goossens, who co-authored the documentation; +\item Eitan Gurari, whose \TeX4ht was used to create the \HTML{} + version of this documentation, and who worked tirelessly to improve + it at short notice; +\item Art Ogawa and Pat Monohon, who coordinated releases for TUG; +\item Petr Olsak, who coordinated and checked all the Czech/Slovak + material very carefully; +\item Olaf Weber, for his patient assembly and maintenance of Web2c; +\item Graham Williams, on whose work the catalogue of packages depends. +\end{itemize} + +Gerhard Wilhelms, Volker Schaa, Fabrice Popineau, Janka +Chleb\'\i{}kov\'a, Staszek Wawrykiewicz, Erik Frambach, and Ulrik +Vieth kindly translated documentation at various times into their +respective languages, checked other documentation, and provided very +welcome feedback. + + +\section{History} + +This \CD{} distribution is a joint effort by many \TeX{} Users +Groups, including those from Germany, the Netherlands, the UK, France, +the Czech Republic/Slovakia, India, Poland and Russia, as well as +the international TUG. +Discussion began in late 1993 when the Dutch \TeX{} Users Group was +starting work on its 4All\TeX{} \CD{} for \acro{MS-DOS} users, and it was +hoped at that time to issue a single, rational, \CD{} for all +systems. This was far too ambitious a target, but it did spawn not +only the very successful 4All\TeX{} \CD{}, but also the \acro{TUG} +Technical Council working group on a \emph{\TeX{} Directory + Structure}, which specified how to create consistent and manageable +collections of \TeX{} support files. The final draft of the \TDS{} was +published in the December 1995 issue of \textsl{TUGboat}, and it was clear from +an early stage that one desirable product would be a model structure +on \CD{}. The \CD{} you now have is a very direct result of the +working group's deliberations. It was also clear that the success of +the 4All\TeX{} \CD{} showed that Unix users would benefit from a +similarly easy system, and this is the other main strand of \TeXLive. + +We undertook to make a new Unix-based \TDS{} \CD{} in the autumn of +1995, and quickly identified Thomas Esser's \teTeX{} as the ideal +setup, as it already had multi-platform support and was built with +portability across file systems in mind. Thomas agreed to help, and +work began seriously at the start of 1996. The first edition was +released in May 1996. At the start of 1997, Karl Berry completed a +major new release of his \Webc{} package, which included nearly all +the features which Thomas Esser had added in \teTeX, and we decided to +base the 2nd edition of the \CD{} on the standard \Webc, with the +addition of \teTeX's \texttt{texconfig} script. The 3rd edition of the +\CD{} was based on a major revision of \Webc, 7.2, by Olaf Weber; at the +same time, a new revision of \teTeX was being made, +and \TeXLive{} shares almost all of its features. The 4th edition +followed the same pattern, using a new version of te\TeX, and a new +release of \Webc{} (7.3). The system now included a complete Windows setup. + +For the 5th edition (March 2000) many parts of the \CD{} were revised +and checked, updating hundreds of packages. Package details were +stored in XML files. But the major change for \TeX\ Live 5 was that +all non-free software was removed. Everything on this \CD{} should be +compatible with the Debian Free Software Guidelines +(\url{http://www.debian.org/intro/free}); we have done our best to +check the license conditions of all packages, but we would very much +appreciate hearing of any mistakes. + +The 6th edition (July 2001) had a lot material updated. The major +change was a new install concept: the user could select a more exact set +of needed collections. Language-related collections were completely +reorganized, so selecting any of them installs not only macros, fonts, +etc., but also prepares an appropriate \texttt{language.dat}. + +The 7th edition of 2002 had as a major addition a setup +for MacOSX, and the usual myriad of updates to all sorts +of packages and programs. An important goal was integration +of the source back with teTeX, to correct the drift apart +in versions 5 and 6. + +\section{Future versions} + +\emph{This \CD{} is not a perfect product!} We plan to re-issue it +once a year, and would like to provide more help material, more +utilities, more installation programs, and (of course) an +ever-improved and checked tree of macros and fonts. This work is all +done by hard-pressed volunteers in their limited spare time, and a +great deal remains to be done. If you can help, don't hesitate to put +your name forward! + +Corrections, suggestions and additions for future revisions +should be sent to:\hfill\null +\begin{quote} +Sebastian Rahtz\\ +{}7 Stratfield Road\\ +Oxford OX2 7BG\\ +United Kingdom\\ +\EmailURL{rahtz@tug.org} +\end{quote} + + +Updates, notes, and suggestions will be made available on \CTAN{} +in \path|info/texlive|. A \acro{WWW} page for +information and ordering details is at +\url{http://www.tug.org/tex-live.html}. + +\end{multicols} + +\Section{The texmf.cnf file} +\label{app:texmf.cnf} +\begin{small} +\listinginput{1}{../examples/texmf.cnf} +\end{small} + +\end{document} + + + +Notes on Nicolle Zellner's problems: +------------------------------------ +- autoexec.bat gave error, ``too many parameters''. +fix: in setvars.bat file, put "" around %PATH% to take care of spaces. + +- ``out of environment space'' when rebooting meant that autoexec.bat was +not executing properly-- path and texmfhome variable were not being set. +fix: put in config.sys file the line: shell=c:\command.com /e:1024 /p +(and reboot probably) + +[Note: alternative advice written by Pat: + The environment space is an area of memory in which the OS stores + variables such as path. To increase the memory size do the following: + + Open a MS-DOS window. Click on the Properties icon (looks like a hand + holding a sheet of paper). Click on the Memory tab in the Properties + window. Change the value under Initial Environment: to 4096. Apply the + properties. Click OK on the warning about needing to restart your computer. + The new environment memory will be in effect after the reboot.] + +- windvi did not retain settings. +fix: in setvars.bat file, add command: set Home=c:\Home and also create +the directory c:\Home. +copy windvi.cnf to c:\Home\ +reboot + +-ispell doesn't work (can't write to c:\tmp, can't create dictionary) +In addition to the the c:\Home addition above, create the folder: +d:\tmp\ (d: is where the files are that she is using.) +Now ispell should work from the command line. +Still can't get it to work from within \cmdname{WinShell}. (change cmd line to %c.tex, +it was reading the project main file) + + + +Notes on installing WinEdt: +--------------------------- +If you choose to install WinEdt, you will be asked for a folder name: any +folder name will do, as this is for temporary storage. An acceptable +choice is \verb+C:\Winedt+. Click \textbf{unzip}, then \textbf{OK}, +and finally \textbf{Close}. +--- + +later, to complete WinEdt installation: + +Run "winedt5.exe" and complete the setup procedure. + +Get from ftp://ftp.dante.de/pub/fptex/supplementary/ +30/08/2000 20:17 70 844 winedt5-cnf.zip +10/09/2000 10:43 839 086 winedt5-patch4.zip + +then unpack (use unzip or winzip with subdir creation enabled, NOT pkunzkip) + "winedt5-patch4.zip" inside the "c:\program files\winedt" directory +then at last unpack "winedt5-cnf.zip". + +When this is done, go inside the 'Options->Configurations' menu, +choose the "fpTeX Direct" option. + +If windvi previewer doesn't work, go to options->menu setup-> accessories +and change the Menu Setup so the call for DVI Preview is analogous to +the call for Dvips-- i.e., don't use "DVIVIEW" in the command line, +but rather fptex-bin and dviwin.exe. + + diff --git a/Master/texmf-dist/doc/texlive/texlive-en/archive/live4ht.cfg-2004 b/Master/texmf-dist/doc/texlive/texlive-en/archive/live4ht.cfg-2004 new file mode 100644 index 00000000000..8700827d62a --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/archive/live4ht.cfg-2004 @@ -0,0 +1,36 @@ +% $Id$ +% tex4ht configuration file for the TeX Live documentation. +% +% The 2 means to separate output files for only the top sectioning levels. +% xhtml specifies the main output format. +% info for extra debugging info in the log files. +% Without the \begin{document}, LaTeX complains that it is missing. +% +\Preamble{2,xhtml,info} \begin{document} \EndPreamble + +% simplify output for HTML. We leave TeX and LaTeX alone, since tex4ht +% actually does the lowered E (and raised A) in CSS. +\def\OMEGA{Omega} +\def\LaTeXe{LaTeX2e} +\def\eTeX{e-\TeX} +\def\acro#1{#1} +\def\MF{Metafont} +\def\BibTeX{BibTeX} +\def\warningbox{} +\def\endwarningbox{} + +\newif\ifhackliterals +\ifx\tldocenglish\undefined \else \hackliteralstrue \fi +\ifx\tldocrussian\undefined \else \hackliteralstrue \fi +\ifx\tldocgerman\undefined \else \hackliteralstrue \fi +% +\ifhackliterals + % these definitions cause "missing } inserted" at \end{tabularx} in + % French and Czech. don't know why. + % + % don't make these into links, as happens with \path. We only have a couple + % special characters that actually occur. + \def\dirname{\texttt\bgroup\catcode`\$=12 \catcode`\_=12 \finishliteral} + \def\finishliteral#1{#1\egroup} + \let\filename=\dirname +\fi diff --git a/Master/texmf-dist/doc/texlive/texlive-en/archive/mod.pl b/Master/texmf-dist/doc/texlive/texlive-en/archive/mod.pl new file mode 100644 index 00000000000..4f8df5df762 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/archive/mod.pl @@ -0,0 +1,976 @@ + +$M{"a0poster"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"a4"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"a4wide"}="18 May 1996 11:33:54 Graham.Williams\@cmis.csiro.au"; +$M{"a5"}="19 Apr 1998 15:19:21 Graham.Williams\@cmis.csiro.au"; +$M{"a5comb"}="19 Apr 1998 15:19:21 Graham.Williams\@cmis.csiro.au"; +$M{"aaai"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"abc2mtex"}="27 Nov 1996 13:50:01 Graham.Williams\@cmis.csiro.au"; +$M{"abstbook"}="5 Mar 1997 16:28:20 Graham.Williams\@cmis.csiro.au"; +$M{"abstyles"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"accents"}="25 Feb 1999 09:06:12 Graham.Williams\@cmis.csiro.au"; +$M{"accfonts"}="30 Jan 1999 06:16:19 Graham.Williams\@cmis.csiro.au"; +$M{"achemso"}="8 Jul 1998 08:11:28 Graham.Williams\@cmis.csiro.au"; +$M{"acronym"}="17 Nov 1997 09:21:35 Graham.Williams\@cmis.csiro.au"; +$M{"acroread"}="20 May 1997 18:04:58 Graham.Williams\@cmis.csiro.au"; +$M{"acrotex"}="2 Dec 1998 09:52:54 Graham.Williams\@cmis.csiro.au"; +$M{"adfathesis"}="23 Feb 1999 16:11:03 Graham.Williams\@cmis.csiro.au"; +$M{"adobe"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"adobeother"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"adobestd"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"adrlist"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"advdate"}="5 Mar 1997 11:25:37 Graham.Williams\@cmis.csiro.au"; +$M{"ae"}="5 Dec 1998 08:56:53 Graham.Williams\@cmis.csiro.au"; +$M{"afterpage"}="13 Aug 1998 05:36:56 Graham.Williams\@cmis.csiro.au"; +$M{"afthesis"}="15 Dec 1996 19:08:54 Graham.Williams\@cmis.csiro.au"; +$M{"aguplus"}="16 Sep 1998 06:02:47 Graham.Williams\@cmis.csiro.au"; +$M{"aiaa"}="24 Feb 1999 09:15:44 Graham.Williams\@cmis.csiro.au"; +$M{"akletter"}="1 Jun 1998 12:04:46 Graham.Williams\@cmis.csiro.au"; +$M{"alatex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"alg"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"algorithms"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"alltt"}="28 May 1996 16:23:49 Graham.Williams\@cmis.csiro.au"; +$M{"alphanum"}="10 Mar 1998 06:11:22 Graham.Williams\@cmis.csiro.au"; +$M{"altfont"}="1 Jul 1996 21:06:06 Graham.Williams\@cmis.csiro.au"; +$M{"altfont"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"amiweb2c"}="25 Mar 1998 09:12:31 Graham.Williams\@cmis.csiro.au"; +$M{"amsbsy"}="18 Jun 1997 19:16:14 Graham.Williams\@cmis.csiro.au"; +$M{"amscd"}="1 Nov 1996 08:34:08 Graham.Williams\@cmis.csiro.au"; +$M{"amsfonts"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"amsfonts"}="9 Nov 1996 15:43:40 Graham.Williams\@cmis.csiro.au"; +$M{"amslatex"}="9 Nov 1996 15:40:28 Graham.Williams\@cmis.csiro.au"; +$M{"amslatex"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"amsltx11"}="9 Nov 1996 15:46:01 Graham.Williams\@cmis.csiro.au"; +$M{"amsmath"}="9 Nov 1996 16:15:32 Graham.Williams\@cmis.csiro.au"; +$M{"amsppt"}="24 Sep 1996 08:42:35 Graham.Williams\@cmis.csiro.au"; +$M{"amsppt1"}="25 Sep 1996 09:41:18 Graham.Williams\@cmis.csiro.au"; +$M{"amssym"}="25 Sep 1996 09:44:00 Graham.Williams\@cmis.csiro.au"; +$M{"amssymb"}="11 Nov 1996 20:19:40 Graham.Williams\@cmis.csiro.au"; +$M{"amstex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"amstex"}="9 Nov 1996 15:47:35 Graham.Williams\@cmis.csiro.au"; +$M{"amstext"}="11 Nov 1996 20:24:24 Graham.Williams\@cmis.csiro.au"; +$M{"answers"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"answers"}="29 May 1996 13:08:24 Graham.Williams\@cmis.csiro.au"; +$M{"anttvf"}="5 Feb 1998 09:27:21 Graham.Williams\@cmis.csiro.au"; +$M{"anttvf"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"antyktor"}="18 Jun 1998 10:23:35 Graham.Williams\@cmis.csiro.au"; +$M{"apa"}="12 Nov 1998 11:38:01 Graham.Williams\@cmis.csiro.au"; +$M{"apacite"}="12 Jul 1996 10:10:07 Graham.Williams\@cmis.csiro.au"; +$M{"apasoft"}="15 Sep 1998 06:39:47 Graham.Williams\@cmis.csiro.au"; +$M{"apl"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"appendix"}="11 Dec 1998 05:36:39 Graham.Williams\@cmis.csiro.au"; +$M{"ar"}="24 Apr 1998 16:02:22 Graham.Williams\@cmis.csiro.au"; +$M{"arabtex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"arabtex"}="13 May 1997 16:45:22 Graham.Williams\@cmis.csiro.au"; +$M{"armenian"}="3 Jul 1997 08:23:26 Graham.Williams\@cmis.csiro.au"; +$M{"arosgn"}="21 Oct 1996 10:32:18 Graham.Williams\@cmis.csiro.au"; +$M{"arrow"}="7 Nov 1996 19:31:04 Graham.Williams\@cmis.csiro.au"; +$M{"asaetr"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"ascii"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"astro"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"at"}="12 Nov 1996 09:27:11 Graham.Williams\@cmis.csiro.au"; +$M{"auctex"}="19 Oct 1998 06:10:29 Graham.Williams\@cmis.csiro.au"; +$M{"aurora"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"authorindex"}="16 Feb 1998 17:29:41 Graham.Williams\@cmis.csiro.au"; +$M{"autotab"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"babel"}="12 Jan 1997 11:26:33 Graham.Williams\@cmis.csiro.au"; +$M{"backgammon"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"bakoma-fonts"}="13 Dec 1996 08:26:36 Graham.Williams\@cmis.csiro.au"; +$M{"bakoma"}="22 Jan 1999 07:17:26 Graham.Williams\@cmis.csiro.au"; +$M{"barcode2"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"barcodes"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"barcodes"}="7 Jun 1996 13:43:47 Graham.Williams\@cmis.csiro.au"; +$M{"barr"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"bayer"}="10 Feb 1998 09:30:02 Graham.Williams\@cmis.csiro.au"; +$M{"bbding"}="13 May 1996 06:15:45 Graham.Williams\@cmis.csiro.au"; +$M{"bbding"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"bbm"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"beebe"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"belleek"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"beton"}="28 May 1996 16:24:30 Graham.Williams\@cmis.csiro.au"; +$M{"bez123"}="21 Oct 1998 09:36:53 Graham.Williams\@cmis.csiro.au"; +$M{"bezos"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"bibarts"}="19 Apr 1998 15:55:19 Graham.Williams\@cmis.csiro.au"; +$M{"bibindex"}="12 Jan 1997 14:53:39 Graham.Williams\@cmis.csiro.au"; +$M{"biblio"}="4 Oct 1996 08:44:47 Graham.Williams\@cmis.csiro.au"; +$M{"biblios"}="16 Aug 1996 14:40:47 Graham.Williams\@cmis.csiro.au"; +$M{"biblist"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"biblook"}="12 Jan 1997 14:53:39 Graham.Williams\@cmis.csiro.au"; +$M{"bibsort"}="12 Nov 1996 10:28:11 Graham.Williams\@cmis.csiro.au"; +$M{"bibtex8bit"}="19 Aug 1996 22:05:26 Graham.Williams\@cmis.csiro.au"; +$M{"bibtool"}="24 Feb 1998 13:38:41 Graham.Williams\@cmis.csiro.au"; +$M{"bibunits"}="29 May 1997 12:15:06 Graham.Williams\@cmis.csiro.au"; +$M{"bibweb"}="28 Nov 1997 09:12:23 Graham.Williams\@cmis.csiro.au"; +$M{"bidstobibtex"}="21 Oct 1996 13:54:10 Graham.Williams\@cmis.csiro.au"; +$M{"bitstrea"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"blackboard"}="9 Jul 1998 05:37:01 Graham.Williams\@cmis.csiro.au"; +$M{"blue"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"bluesky"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"bm"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"booktabs"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"borceux"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"bosisio"}="1 May 1998 16:53:18 Graham.Williams\@cmis.csiro.au"; +$M{"boxedminipage"}="19 Apr 1998 15:20:55 Graham.Williams\@cmis.csiro.au"; +$M{"breqn"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"bridge"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"brief"}="30 May 1996 11:22:14 Graham.Williams\@cmis.csiro.au"; +$M{"brushscr"}="24 Jun 1998 12:56:02 Graham.Williams\@cmis.csiro.au"; +$M{"btparse"}="20 Feb 1998 14:21:13 Graham.Williams\@cmis.csiro.au"; +$M{"c-pascal"}="3 Mar 1998 15:29:06 Graham.Williams\@cmis.csiro.au"; +$M{"c2cweb"}="29 Nov 1996 15:27:19 Graham.Williams\@cmis.csiro.au"; +$M{"calc"}="12 Aug 1998 06:27:04 Graham.Williams\@cmis.csiro.au"; +$M{"calendar"}="18 Mar 1997 13:07:53 Graham.Williams\@cmis.csiro.au"; +$M{"calendar"}="4 Feb 1998 13:36:58 Graham.Williams\@cmis.csiro.au"; +$M{"calligra"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"calrsfs"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"calrsfs"}="12 Jun 1996 09:16:09 Graham.Williams\@cmis.csiro.au"; +$M{"camel"}="5 Mar 1997 16:31:57 Graham.Williams\@cmis.csiro.au"; +$M{"cancel"}="26 May 1997 12:53:21 Graham.Williams\@cmis.csiro.au"; +$M{"capt-of"}="15 Dec 1996 19:04:36 Graham.Williams\@cmis.csiro.au"; +$M{"caption"}="12 Nov 1996 20:23:42 Graham.Williams\@cmis.csiro.au"; +$M{"carlisle"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"cases"}="15 Dec 1996 19:14:30 Graham.Williams\@cmis.csiro.au"; +$M{"casyl"}="24 Feb 1999 09:19:05 Graham.Williams\@cmis.csiro.au"; +$M{"catalogue"}="22 May 1996 16:49:04 Graham.Williams\@cmis.csiro.au"; +$M{"catdoc"}="5 Nov 1998 11:47:57 Graham.Williams\@cmis.csiro.au"; +$M{"cbgreek"}="24 Oct 1998 07:42:16 Graham.Williams\@cmis.csiro.au"; +$M{"cc-pl"}="09 Jun 1998 staw\@gust.org.pl"; +$M{"ccaption"}="27 Jan 1999 09:40:41 Graham.Williams\@cmis.csiro.au"; +$M{"ccfonts"}="23 Jun 1998 15:52:05 Graham.Williams\@cmis.csiro.au"; +$M{"cchess"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"cd-cover"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"cdcover"}="10 Feb 1998 09:31:30 Graham.Williams\@cmis.csiro.au"; +$M{"cdlabeler"}="2 Jan 1999 21:57:44 Graham.Williams\@cmis.csiro.au"; +$M{"cellular"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"cep"}="27 Jan 1998 16:53:11 Graham.Williams\@cmis.csiro.au"; +$M{"cep"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"changebar"}="7 Oct 1997 09:02:24 Graham.Williams\@cmis.csiro.au"; +$M{"chapterbib"}="15 Dec 1996 19:13:07 Graham.Williams\@cmis.csiro.au"; +$M{"chemcono"}="21 Oct 1996 14:28:23 Graham.Williams\@cmis.csiro.au"; +$M{"chemcono"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"chemsym"}="8 Jul 1998 08:11:58 Graham.Williams\@cmis.csiro.au"; +$M{"cheq"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"cherokee"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"chess"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"china2e"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"china2e"}="26 Feb 1998 08:51:49 Graham.Williams\@cmis.csiro.au"; +$M{"chktex"}="21 Oct 1996 13:51:58 Graham.Williams\@cmis.csiro.au"; +$M{"circ"}="18 Mar 1998 09:29:16 Graham.Williams\@cmis.csiro.au"; +$M{"circle"}="13 Oct 1998 09:09:47 Graham.Williams\@cmis.csiro.au"; +$M{"circuit-macro"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"circuit-macros"}="6 Sep 1998 05:00:37 Graham.Williams\@cmis.csiro.au"; +$M{"cirth"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"cite"}="15 Dec 1996 19:10:42 Graham.Williams\@cmis.csiro.au"; +$M{"cjk-fonts"}="8 Jan 1999 08:02:11 Graham.Williams\@cmis.csiro.au"; +$M{"cjk"}="8 Jan 1999 08:01:13 Graham.Williams\@cmis.csiro.au"; +$M{"cm"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"cmactex"}="9 Aug 1998 06:47:00 Graham.Williams\@cmis.csiro.au"; +$M{"cmbright"}="28 Dec 1998 09:33:43 Graham.Williams\@cmis.csiro.au"; +$M{"cmcyr"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"cmcyralt"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"cmdtrack"}="22 Feb 1999 16:17:02 Graham.Williams\@cmis.csiro.au"; +$M{"cmextra"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"cmpica"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"cmps"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"cmsd"}="19 Feb 1998 09:45:20 Graham.Williams\@cmis.csiro.au"; +$M{"cmtt"}="1 Jun 1996 15:43:59 Graham.Williams\@cmis.csiro.au"; +$M{"cmyk-hax"}="12 May 1997 10:23:51 Graham.Williams\@cmis.csiro.au"; +$M{"cmyk-hax"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"code128"}="7 Jun 1996 13:42:22 Graham.Williams\@cmis.csiro.au"; +$M{"codepage"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"color"}="24 Sep 1996 08:56:07 Graham.Williams\@cmis.csiro.au"; +$M{"colorsep"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"colortbl"}="24 Jun 1998 13:01:21 Graham.Williams\@cmis.csiro.au"; +$M{"comma"}="11 Feb 1998 07:46:23 Graham.Williams\@cmis.csiro.au"; +$M{"comment"}="8 Sep 1998 06:29:57 Graham.Williams\@cmis.csiro.au"; +$M{"compsci"}="21 Oct 1996 14:11:57 Graham.Williams\@cmis.csiro.au"; +$M{"concmath"}="25 Dec 1996 UV"; +$M{"concprog"}="22 Oct 1996 09:37:54 Graham.Williams\@cmis.csiro.au"; +$M{"concrete-wrap"}="27 Nov 1996 13:57:24 Graham.Williams\@cmis.csiro.au"; +$M{"concrete"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"consdiag"}="21 Jan 1999 19:26:28 Graham.Williams\@cmis.csiro.au"; +$M{"context"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"corelpak"}="21 Jan 1999 14:00:25 Graham.Williams\@cmis.csiro.au"; +$M{"count1to"}="24 Oct 1998 09:04:16 Graham.Williams\@cmis.csiro.au"; +$M{"covington"}="22 Apr 1997 14:32:07 Graham.Williams\@cmis.csiro.au"; +$M{"croatian"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"crop"}="8 Dec 1998 09:21:42 Graham.Williams\@cmis.csiro.au"; +$M{"crossword"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"crosswrd"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"csfonts"}="3 May 1997 s.rahtz\@elsevier.co.uk"; +$M{"cslatex"}="3 May 1997 s.rahtz\@elsevier.co.uk"; +$M{"csplain"}="3 May 1997 s.rahtz\@elsevier.co.uk"; +$M{"cspsfonts"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"cstug"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"csx"}="12 Jul 1998 05:30:19 Graham.Williams\@cmis.csiro.au"; +$M{"cursor"}="20 Jan 1999 14:56:10 Graham.Williams\@cmis.csiro.au"; +$M{"custom-bib"}="18 Aug 1998 18:00:42 Graham.Williams\@cmis.csiro.au"; +$M{"cwebbin"}="16 Oct 1998 06:27:49 Graham.Williams\@cmis.csiro.au"; +$M{"cwebx"}="17 Feb 1999 16:44:14 Graham.Williams\@cmis.csiro.au"; +$M{"cwpuzzle"}="28 Nov 1996 10:09:18 Graham.Williams\@cmis.csiro.au"; +$M{"cyrtug"}="8 Oct 1998 11:51:48 Graham.Williams\@cmis.csiro.au"; +$M{"dancers"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"dante-src"}="11 Feb 1998 07:50:55 Graham.Williams\@cmis.csiro.au"; +$M{"dates"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"dblfont"}="1 May 1998 16:53:44 Graham.Williams\@cmis.csiro.au"; +$M{"dbprocess"}="2 Jan 1999 21:55:59 Graham.Williams\@cmis.csiro.au"; +$M{"dc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"dc"}="2 Jun 1996 11:09:21 Graham.Williams\@cmis.csiro.au"; +$M{"dco"}="16 Aug 1996 14:14:54 Graham.Williams\@cmis.csiro.au"; +$M{"dcounter"}="28 Dec 1998 09:21:00 Graham.Williams\@cmis.csiro.au"; +$M{"default"}="18 Jul 1998 06:43:35 Graham.Williams\@cmis.csiro.au"; +$M{"deleq"}="8 Jul 1998 08:12:25 Graham.Williams\@cmis.csiro.au"; +$M{"devanagari"}="7 Dec 1998 05:46:30 Graham.Williams\@cmis.csiro.au"; +$M{"dialogl"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"dinbrief"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"dinbrief"}="4 Nov 1996 09:56:05 Graham.Williams\@cmis.csiro.au"; +$M{"directory"}="10 Mar 1998 05:30:54 Graham.Williams\@cmis.csiro.au"; +$M{"dn2"}="13 Mar 1998 09:10:15 Graham.Williams\@cmis.csiro.au"; +$M{"doc"}="19 Aug 1996 22:19:13 Graham.Williams\@cmis.csiro.au"; +$M{"dotseqn"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"doublestroke"}="21 Oct 1996 13:56:41 Graham.Williams\@cmis.csiro.au"; +$M{"draftcopy"}="21 May 1996 12:52:54 Graham.Williams\@cmis.csiro.au"; +$M{"dratex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"dropcaps"}="19 Jun 1996 13:38:04 Graham.Williams\@cmis.csiro.au"; +$M{"dropping"}="9 Jul 1998 06:27:48 Graham.Williams\@cmis.csiro.au"; +$M{"duerer"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"dvgtk"}="29 Apr 1997 14:45:04 Graham.Williams\@cmis.csiro.au"; +$M{"dvi2tty"}="7 Jun 1996 20:12:43 Graham.Williams\@cmis.csiro.au"; +$M{"dviconcat"}="1 Nov 1996 08:10:15 Graham.Williams\@cmis.csiro.au"; +$M{"dvicopy"}="= {1 Nov 1996 08:30:05 Graham.Williams\@cmis.csiro.au"; +$M{"dviljk"}="6 Apr 1998 06:10:01 Graham.Williams\@cmis.csiro.au"; +$M{"dvipaste"}="23 Feb 1998 15:46:09 Graham.Williams\@cmis.csiro.au"; +$M{"dvipdfm"}="2 Dec 1998 05:56:54 Graham.Williams\@cmis.csiro.au"; +$M{"dvips-os2"}="21 Jan 1999 13:57:52 Graham.Williams\@cmis.csiro.au"; +$M{"dvips-shell"}="5 Mar 1998 22:29:41 Graham.Williams\@cmis.csiro.au"; +$M{"dvips"}="13 May 1997 09:51:53 Graham.Williams\@cmis.csiro.au"; +$M{"dvipsdoc"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"dvipsk"}="6 Apr 1998 05:56:12 Graham.Williams\@cmis.csiro.au"; +$M{"ean"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"ean"}="7 Jun 1996 13:44:26 Graham.Williams\@cmis.csiro.au"; +$M{"easy"}="18 Aug 1998 18:24:49 Graham.Williams\@cmis.csiro.au"; +$M{"easybib"}="7 Mar 1997 16:54:36 Graham.Williams\@cmis.csiro.au"; +$M{"easybmat"}="18 Aug 1998 18:27:38 Graham.Williams\@cmis.csiro.au"; +$M{"easyeqn"}="18 Nov 1997 15:21:55 Graham.Williams\@cmis.csiro.au"; +$M{"easymat"}="18 Aug 1998 18:28:31 Graham.Williams\@cmis.csiro.au"; +$M{"easytable"}="18 Aug 1998 18:28:50 Graham.Williams\@cmis.csiro.au"; +$M{"easyvector"}="18 Nov 1997 15:22:16 Graham.Williams\@cmis.csiro.au"; +$M{"ec-plain"}="21 Apr 1998 08:38:32 Graham.Williams\@cmis.csiro.au"; +$M{"ec"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"ecc"}="11 Dec 1998 08:59:53 Graham.Williams\@cmis.csiro.au"; +$M{"ecltree"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"eco"}="22 Jul 1998 09:13:53 Graham.Williams\@cmis.csiro.au"; +$M{"ecpk"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"edmac"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"eepic"}="28 Dec 1998 09:32:41 Graham.Williams\@cmis.csiro.au"; +$M{"egplot"}="9 Jul 1998 06:27:09 Graham.Williams\@cmis.csiro.au"; +$M{"eiad"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"eijkhout"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"elsevier"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"elvish"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"emp"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"emp"}="26 Feb 1998 08:53:14 Graham.Williams\@cmis.csiro.au"; +$M{"emtex-os2"}="31 Jul 1998 10:16:40 Graham.Williams\@cmis.csiro.au"; +$M{"emtex"}="31 Jul 1998 10:16:40 Graham.Williams\@cmis.csiro.au"; +$M{"emtexgi"}="12 Jan 1997 11:32:36 Graham.Williams\@cmis.csiro.au"; +$M{"emtextds"}="30 Sep 1998 07:58:58 Graham.Williams\@cmis.csiro.au"; +$M{"emulateapj"}="27 Nov 1997 17:06:10 Graham.Williams\@cmis.csiro.au"; +$M{"encodings"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"endfloat"}="21 Jun 1996 14:52:55 Graham.Williams\@cmis.csiro.au"; +$M{"endnotes"}="3 Sep 1996 09:20:05 Graham.Williams\@cmis.csiro.au"; +$M{"endnotes"}="4 Feb 1998 13:33:16 Graham.Williams\@cmis.csiro.au"; +$M{"engwar"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"enumerate"}="22 Jul 1998 05:47:30 Graham.Williams\@cmis.csiro.au"; +$M{"envbig"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"envlab"}="17 Jul 1997 14:37:23 Graham.Williams\@cmis.csiro.au"; +$M{"epic"}="24 Jul 1998 06:18:39 Graham.Williams\@cmis.csiro.au"; +$M{"epigraph"}="1 Dec 1998 12:42:01 Graham.Williams\@cmis.csiro.au"; +$M{"eplain"}="19 Aug 1996 22:10:25 Graham.Williams\@cmis.csiro.au"; +$M{"epmtfe"}="23 Feb 1999 15:01:08 Graham.Williams\@cmis.csiro.au"; +$M{"epsfx"}="09 Jun 1998 staw\@gust.org.pl"; +$M{"epslatex"}="9 Feb 1998 09:22:51 Graham.Williams\@cmis.csiro.au"; +$M{"eqname"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"esieecv"}="26 Feb 1998 08:54:52 Graham.Williams\@cmis.csiro.au"; +$M{"esieecv"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"esindex"}="10 Nov 1998 10:40:44 Graham.Williams\@cmis.csiro.au"; +$M{"eso-pic"}="22 Jul 1998 06:17:37 Graham.Williams\@cmis.csiro.au"; +$M{"et"}="24 Feb 1998 13:45:45 Graham.Williams\@cmis.csiro.au"; +$M{"etexbase"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"ethiop"}="13 Dec 1998 15:02:18 Graham.Williams\@cmis.csiro.au"; +$M{"euler"}="5 Jun 1996 10:03:48 Graham.Williams\@cmis.csiro.au"; +$M{"euro"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"eurofont"}="31 Jan 1999 07:41:02 Graham.Williams\@cmis.csiro.au"; +$M{"europs"}="21 Jan 1999 13:04:27 Graham.Williams\@cmis.csiro.au"; +$M{"eurosans"}="27 Jan 1999 08:25:26 Graham.Williams\@cmis.csiro.au"; +$M{"eurosym"}="6 Jan 1999 07:26:11 Graham.Williams\@cmis.csiro.au"; +$M{"everysel"}="10 Aug 1998 09:05:43 Graham.Williams\@cmis.csiro.au"; +$M{"everyshi"}="10 Aug 1998 09:20:24 Graham.Williams\@cmis.csiro.au"; +$M{"exam"}="16 Dec 1998 08:31:47 Graham.Williams\@cmis.csiro.au"; +$M{"examdesign"}="20 Jan 1998 22:03:03 Graham.Williams\@cmis.csiro.au"; +$M{"exams"}="29 May 1996 13:09:04 Graham.Williams\@cmis.csiro.au"; +$M{"excalibur"}="8 Nov 1998 07:01:25 Graham.Williams\@cmis.csiro.au"; +$M{"expdlist"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"expl3"}="1 Jun 1998 12:09:40 Graham.Williams\@cmis.csiro.au"; +$M{"export"}="12 Jan 1997 11:45:06 Graham.Williams\@cmis.csiro.au"; +$M{"export"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"exscale"}="12 Jun 1996 06:53:11 Graham.Williams\@cmis.csiro.au"; +$M{"extdash"}="28 Dec 1998 09:21:00 Graham.Williams\@cmis.csiro.au"; +$M{"fancybox"}="2 Mar 1998 09:20:57 Graham.Williams\@cmis.csiro.au"; +$M{"fancyhdr"}="9 Sep 1998 06:51:16 Graham.Williams\@cmis.csiro.au"; +$M{"fancyref"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"fancyvrb"}="1 Apr 1998 06:01:31 Graham.Williams\@cmis.csiro.au"; +$M{"faq"}="1 Jul 1998 10:31:39 Graham.Williams\@cmis.csiro.au"; +$M{"fax"}="13 Dec 1996 09:32:37 Graham.Williams\@cmis.csiro.au"; +$M{"fc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"fc"}="5 Mar 1998 22:19:31 Graham.Williams\@cmis.csiro.au"; +$M{"fepslatex"}="6 Nov 1998 05:54:05 Graham.Williams\@cmis.csiro.au"; +$M{"feynmf"}="30 May 1996 06:34:12 Graham.Williams\@cmis.csiro.au"; +$M{"fihyph"}=" from fihyph.tex to make the Finnish accented"; +$M{"fihyph"}="6 Nov 1998 06:34:36 Graham.Williams\@cmis.csiro.au"; +$M{"finbib"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"finplain"}="29 Jun 1998 10:04:25 Graham.Williams\@cmis.csiro.au"; +$M{"fix2col"}="19 Aug 1998 16:52:30 Graham.Williams\@cmis.csiro.au"; +$M{"fixfloat"}="23 May 1997 09:28:11 Graham.Williams\@cmis.csiro.au"; +$M{"flabels"}="21 Jul 1997 09:34:31 Graham.Williams\@cmis.csiro.au"; +$M{"flatex"}="24 Sep 1996 08:59:43 Graham.Williams\@cmis.csiro.au"; +$M{"flatten"}="18 Jun 1996 09:36:48 Graham.Williams\@cmis.csiro.au"; +$M{"float"}="25 May 1996 07:26:32 Graham.Williams\@cmis.csiro.au"; +$M{"floatflt"}="8 Jul 1998 08:16:33 Graham.Williams\@cmis.csiro.au"; +$M{"fltpage"}="19 Nov 1998 05:29:33 Graham.Williams\@cmis.csiro.au"; +$M{"fncychap"}=" Each can be using a set of simple commands."; +$M{"fncychap"}="13 Dec 1996 08:41:01 Graham.Williams\@cmis.csiro.au"; +$M{"fnpara"}="10 Sep 1996 09:23:00 Graham.Williams\@cmis.csiro.au"; +$M{"foilhtml"}="19 Feb 1998 09:39:43 Graham.Williams\@cmis.csiro.au"; +$M{"foiltex"}="15 Aug 1998 07:01:05 Graham.Williams\@cmis.csiro.au"; +$M{"fontinst"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"fontmisc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"fontname"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"fonts"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"footbib"}="19 Jun 1997 11:31:23 Graham.Williams\@cmis.csiro.au"; +$M{"footmisc"}="22 Jun 1998 16:47:47 Graham.Williams\@cmis.csiro.au"; +$M{"footnpag"}="10 Sep 1996 09:26:38 Graham.Williams\@cmis.csiro.au"; +$M{"formats"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"formlett"}="27 May 1997 09:39:35 Graham.Williams\@cmis.csiro.au"; +$M{"formula"}="18 Jun 1998 10:24:39 Graham.Williams\@cmis.csiro.au"; +$M{"fourtex"}="21 Nov 1998 05:32:50 Graham.Williams\@cmis.csiro.au"; +$M{"fp"}="4 Nov 1996 09:45:28 Graham.Williams\@cmis.csiro.au"; +$M{"freefonts"}="10 Sep 1998 18:50:47 Graham.Williams\@cmis.csiro.au"; +$M{"freetype"}="2 Jan 1999 22:37:14 Graham.Williams\@cmis.csiro.au"; +$M{"french"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"fribrief"}="20 Jan 1998 21:50:51 Graham.Williams\@cmis.csiro.au"; +$M{"ftetx"}="24 Feb 1998 13:52:42 Graham.Williams\@cmis.csiro.au"; +$M{"ftn"}="10 Sep 1996 09:43:47 Graham.Williams\@cmis.csiro.au"; +$M{"ftnright"}="19 Aug 1996 22:20:55 Graham.Williams\@cmis.csiro.au"; +$M{"fullblck"}="18 Nov 1998 09:21:36 Graham.Williams\@cmis.csiro.au"; +$M{"fullpict"}="18 Feb 1999 10:39:07 Graham.Williams\@cmis.csiro.au"; +$M{"fundus"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"funnelweb"}="25 Jun 1996 12:38:19 Graham.Williams\@cmis.csiro.au"; +$M{"futhark"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"g-brief"}="20 Feb 1998 14:17:49 Graham.Williams\@cmis.csiro.au"; +$M{"gb4e"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"genealogy"}="31 May 1996 14:10:08 Graham.Williams\@cmis.csiro.au"; +$M{"genmisc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"gentl-gr"}="29 Jan 1999 09:40:36 Graham.Williams\@cmis.csiro.au"; +$M{"geometry"}="8 Apr 1998 14:26:57 Graham.Williams\@cmis.csiro.au"; +$M{"geomsty"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"geomsty"}="26 Feb 1998 08:58:15 Graham.Williams\@cmis.csiro.au"; +$M{"german"}="15 Jul 1998 07:33:39 Graham.Williams\@cmis.csiro.au"; +$M{"germbib"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"germdoc"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"getrefs"}="12 Nov 1998 20:22:10 Graham.Williams\@cmis.csiro.au"; +$M{"ghostscript"}="20 May 1997 14:12:34 Graham.Williams\@cmis.csiro.au"; +$M{"ghostview-mac"}="27 Mar 1998 05:51:48 Graham.Williams\@cmis.csiro.au"; +$M{"ghyphen"}="8 Jul 1998 08:55:23 Graham.Williams\@cmis.csiro.au"; +$M{"gleitobjekte"}="17 Feb 1998 09:09:23 Graham.Williams\@cmis.csiro.au"; +$M{"gloss"}="19 Apr 1998 15:58:24 Graham.Williams\@cmis.csiro.au"; +$M{"glosstex"}="25 Feb 1998 09:12:56 Graham.Williams\@cmis.csiro.au"; +$M{"gn-logic"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"gnhyph"}="16 Sep 1998 09:18:43 Graham.Williams\@cmis.csiro.au"; +$M{"gnuplot-ps"}="30 May 1996 11:22:14 Graham.Williams\@cmis.csiro.au"; +$M{"go"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"gothic"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"graphfig"}="1 May 1998 16:54:18 Graham.Williams\@cmis.csiro.au"; +$M{"graphics"}="1 Nov 1996 08:16:13 Graham.Williams\@cmis.csiro.au"; +$M{"graphicx"}="12 Jun 1996 06:47:22 Graham.Williams\@cmis.csiro.au"; +$M{"gray"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"grfguide"}="11 Jun 1997 16:17:05 Graham.Williams\@cmis.csiro.au"; +$M{"grfpaste"}="23 Feb 1998 15:39:11 Graham.Williams\@cmis.csiro.au"; +$M{"grnumalt"}="23 Feb 1998 15:49:56 Graham.Williams\@cmis.csiro.au"; +$M{"gsftopk"}="12 Nov 1996 09:08:05 Graham.Williams\@cmis.csiro.au"; +$M{"gustlib"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"gustlib"}="March 1998, s.rahtz\@elsevier.co.uk"; +$M{"hands"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"hanging"}="11 Dec 1998 05:38:02 Graham.Williams\@cmis.csiro.au"; +$M{"harpoon"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"harvmac"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"hellas"}="10 Mar 1998 06:00:34 Graham.Williams\@cmis.csiro.au"; +$M{"here"}="25 May 1996 07:24:51 Graham.Williams\@cmis.csiro.au"; +$M{"hh"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"hilowres"}="21 Jan 1999 19:31:07 Graham.Williams\@cmis.csiro.au"; +$M{"histogr"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"hlatex"}="28 May 1997 16:04:14 Graham.Williams\@cmis.csiro.au"; +$M{"hoekwater"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"html"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"html2latex"}="30 Sep 1998 07:55:02 Graham.Williams\@cmis.csiro.au"; +$M{"huhyph"}="5 Nov 1998 05:50:17 Graham.Williams\@cmis.csiro.au"; +$M{"hvdashln"}="13 May 1997 09:36:00 Graham.Williams\@cmis.csiro.au"; +$M{"hyper"}="30 Aug 1997 12:04:32 Graham.Williams\@cmis.csiro.au"; +$M{"hyperlatex"}="27 Dec 1998 20:25:24 Graham.Williams\@cmis.csiro.au"; +$M{"hyperref"}="17 Feb 1999 16:41:40 Graham.Williams\@cmis.csiro.au"; +$M{"hyphenat"}="22 Feb 1999 16:42:36 Graham.Williams\@cmis.csiro.au"; +$M{"hypht1"}="3 May 1997 20:57:53 Graham.Williams\@cmis.csiro.au"; +$M{"ibm"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"idealfonts"}="20 Feb 1998 14:34:54 Graham.Williams\@cmis.csiro.au"; +$M{"ifacmtg"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"imac"}="24 Sep 1998 05:27:35 Graham.Williams\@cmis.csiro.au"; +$M{"indxcite"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"indxcite"}="24 Jun 1996 15:17:51 Graham.Williams\@cmis.csiro.au"; +$M{"info"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"inhyph"}="7 Oct 1997 08:54:26 Graham.Williams\@cmis.csiro.au"; +$M{"inputenc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"insbox"}="25 Feb 1998 09:20:32 Graham.Williams\@cmis.csiro.au"; +$M{"ipa"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"isostds"}="21 Oct 1998 09:38:15 Graham.Williams\@cmis.csiro.au"; +$M{"ithyph"}="4 Aug 1998 05:39:19 Graham.Williams\@cmis.csiro.au"; +$M{"izhitsa"}="30 Jan 1999 06:34:27 Graham.Williams\@cmis.csiro.au"; +$M{"jadetex"}="3 May 1997 s.rahtz\@elsevier.co.uk"; +$M{"javatex"}="8 Oct 1998 12:03:35 Graham.Williams\@cmis.csiro.au"; +$M{"jknappen"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"jknappen"}="10 Mar 1998 09:10:20 Graham.Williams\@cmis.csiro.au"; +$M{"jsmisc"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"jspell"}="= {5 Nov 1998 15:43:30 Graham.Williams\@cmis.csiro.au"; +$M{"jura"}="11 Jul 1998 17:22:01 Graham.Williams\@cmis.csiro.au"; +$M{"kalendar"}="27 Mar 1998 05:44:58 Graham.Williams\@cmis.csiro.au"; +$M{"kalender"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"karnaugh"}="24 Sep 1998 05:26:10 Graham.Williams\@cmis.csiro.au"; +$M{"kdgreek"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"kix"}="19 Sep 1998 08:58:56 Graham.Williams\@cmis.csiro.au"; +$M{"kluwer"}="31 May 1997 20:08:21 Graham.Williams\@cmis.csiro.au"; +$M{"knst"}="21 Oct 1996 13:44:44 Graham.Williams\@cmis.csiro.au"; +$M{"knuth"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"koi8"}="21 Oct 1996 13:48:21 Graham.Williams\@cmis.csiro.au"; +$M{"koma-script"}="30 Nov 1998 09:41:00 Graham.Williams\@cmis.csiro.au"; +$M{"kpathsea"}="3 Feb 1999 10:29:24 Graham.Williams\@cmis.csiro.au"; +$M{"kuvio"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"lamstex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"lated"}="11 Feb 1998 07:41:10 Graham.Williams\@cmis.csiro.au"; +$M{"latex"}="2 Jul 1998 12:56:15 Graham.Williams\@cmis.csiro.au"; +$M{"latex209"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"latex209"}="4 Jul 1996 10:07:05 Graham.Williams\@cmis.csiro.au"; +$M{"latex2e"}="4 Jul 1996 09:53:38 Graham.Williams\@cmis.csiro.au"; +$M{"latex2html"}="8 Jul 1996 23:00:59 Graham.Williams\@cmis.csiro.au"; +$M{"latex2man"}="9 Sep 1998 05:33:13 Graham.Williams\@cmis.csiro.au"; +$M{"latex2rtf"}="17 Nov 1998 08:56:23 Graham.Williams\@cmis.csiro.au"; +$M{"latexcad"}="20 Mar 1998 09:32:43 Graham.Williams\@cmis.csiro.au"; +$M{"latexfonts"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"latexmk"}="12 Jan 1997 11:30:28 Graham.Williams\@cmis.csiro.au"; +$M{"latexn"}="27 Nov 1997 17:04:03 Graham.Williams\@cmis.csiro.au"; +$M{"latin2jk"}="7 Oct 1997 08:56:04 Graham.Williams\@cmis.csiro.au"; +$M{"layout"}="13 Aug 1998 05:42:38 Graham.Williams\@cmis.csiro.au"; +$M{"layouts"}="31 Jan 1999 06:43:57 Graham.Williams\@cmis.csiro.au"; +$M{"leaflet"}="30 Sep 1998 08:20:21 Graham.Williams\@cmis.csiro.au"; +$M{"leftidx"}="4 Feb 1998 13:16:00 Graham.Williams\@cmis.csiro.au"; +$M{"letter"}="6 Nov 1998 13:26:58 Graham.Williams\@cmis.csiro.au"; +$M{"lettrine"}="25 Mar 1998 09:11:24 Graham.Williams\@cmis.csiro.au"; +$M{"levy"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"lexikon"}="1 Apr 1998 06:05:45 Graham.Williams\@cmis.csiro.au"; +$M{"lgreek"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"lgrind-win32"}="24 Mar 1998 11:41:55 Graham.Williams\@cmis.csiro.au"; +$M{"lgrind"}="5 Aug 1998 06:33:28 Graham.Williams\@cmis.csiro.au"; +$M{"lh"}="2 Oct 1998 07:20:00 Graham.Williams\@cmis.csiro.au"; +$M{"lhcyr"}="21 Jan 1999 19:44:44 Graham.Williams\@cmis.csiro.au"; +$M{"lilypond"}="21 Oct 1998 09:41:28 Graham.Williams\@cmis.csiro.au"; +$M{"lineno"}="20 Jan 1999 14:57:13 Graham.Williams\@cmis.csiro.au"; +$M{"linguex"}="1 Jun 1998 11:57:34 Graham.Williams\@cmis.csiro.au"; +$M{"lintex"}="16 Jun 1998 10:19:01 Graham.Williams\@cmis.csiro.au"; +$M{"lips"}="21 Oct 1996 10:30:25 Graham.Williams\@cmis.csiro.au"; +$M{"listings"}="11 Nov 1998 05:44:14 Graham.Williams\@cmis.csiro.au"; +$M{"lkort"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"llncs"}="4 Oct 1996 08:48:06 Graham.Williams\@cmis.csiro.au"; +$M{"localloc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"logic"}="3 May 1997 s.rahtz\@elsevier.co.uk"; +$M{"logo-ps"}="25 Jul 1998 06:24:28 Graham.Williams\@cmis.csiro.au"; +$M{"lollipop"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"longtable"}="21 Jun 1996 08:12:11 Graham.Williams\@cmis.csiro.au"; +$M{"lscape"}="7 Nov 1996 19:36:31 Graham.Williams\@cmis.csiro.au"; +$M{"lshort-english"}="21 Jan 1999 19:27:28 Graham.Williams\@cmis.csiro.au"; +$M{"lshort-finnish"}="21 Jan 1999 19:12:55 Graham.Williams\@cmis.csiro.au"; +$M{"lshort-french"}="5 Feb 1998 09:10:02 Graham.Williams\@cmis.csiro.au"; +$M{"lshort-german"}="30 Jan 1999 07:28:37 Graham.Williams\@cmis.csiro.au"; +$M{"lshort-mongolian"}="30 Jan 1999 07:28:04 Graham.Williams\@cmis.csiro.au"; +$M{"lshort-polish"}="25 Feb 1999 14:09:31 Graham.Williams\@cmis.csiro.au"; +$M{"lshort-russian"}="13 Oct 1998 09:11:31 Graham.Williams\@cmis.csiro.au"; +$M{"lshort-spanish"}="21 Jan 1999 19:12:55 Graham.Williams\@cmis.csiro.au"; +$M{"ltoh"}="8 Apr 1998 09:41:19 Graham.Williams\@cmis.csiro.au"; +$M{"ltx2rtf"}="28 Dec 1998 09:11:53 Graham.Williams\@cmis.csiro.au"; +$M{"ltx2x"}="26 Jan 1997 10:24:09 Graham.Williams\@cmis.csiro.au"; +$M{"ltxbase"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"ltxinput"}="26 Nov 1996 16:30:38 Graham.Williams\@cmis.csiro.au"; +$M{"ltxmisc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"ltxsrc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"lucida"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"lucold"}="4 Feb 1998 13:23:16 Graham.Williams\@cmis.csiro.au"; +$M{"lw35nfsx"}="28 Jul 1998 05:36:21 Graham.Williams\@cmis.csiro.au"; +$M{"ly1"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"m-pictex"}="24 Feb 1998 13:55:54 Graham.Williams\@cmis.csiro.au"; +$M{"macbibtex"}="7 Nov 1996 13:35:35 Graham.Williams\@cmis.csiro.au"; +$M{"magaz"}="17 Feb 1999 17:33:54 Graham.Williams\@cmis.csiro.au"; +$M{"mailing"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"makeindex"}="23 May 1997 13:18:35 Graham.Williams\@cmis.csiro.au"; +$M{"malayalam"}="23 Jun 1998 15:49:27 Graham.Williams\@cmis.csiro.au"; +$M{"malvern"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"manyfoot"}="28 Dec 1998 09:24:33 Graham.Williams\@cmis.csiro.au"; +$M{"mapcodes"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"maple"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"margbib"}="24 Feb 1998 13:20:27 Graham.Williams\@cmis.csiro.au"; +$M{"marvosym-mac"}="5 Nov 1998 15:47:46 Graham.Williams\@cmis.csiro.au"; +$M{"marvosym"}="21 Jul 1998 05:27:14 Graham.Williams\@cmis.csiro.auy"; +$M{"mathcmd"}="abstract Provides a slightly version of the commands for"; +$M{"mathcmd"}="1 May 1998 16:54:49 Graham.Williams\@cmis.csiro.au"; +$M{"mathcomp"}="10 Sep 1998 18:44:41 Graham.Williams\@cmis.csiro.au"; +$M{"mathematica"}="20 Jan 1998 22:00:24 Graham.Williams\@cmis.csiro.au"; +$M{"mathenv"}="1 May 1998 16:55:25 Graham.Williams\@cmis.csiro.au"; +$M{"mathinst"}="10 Sep 1998 18:54:03 Graham.Williams\@cmis.csiro.au"; +$M{"mathkit"}="4 Feb 1998 13:20:21 Graham.Williams\@cmis.csiro.au"; +$M{"mathpple"}="21 Jan 1999 19:34:23 Graham.Williams\@cmis.csiro.au"; +$M{"mathrsfs"}="27 Mar 1998 05:58:42 Graham.Williams\@cmis.csiro.au"; +$M{"mathtime"}="29 May 1996 10:39:52 Graham.Williams\@cmis.csiro.au"; +$M{"mcite"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"mdwtools"}="16 Jun 1998 10:36:35 Graham.Williams\@cmis.csiro.au"; +$M{"meta-mode"}="1 May 1997 10:10:22 Graham.Williams\@cmis.csiro.au"; +$M{"metapost"}="25 Jun 1996 10:58:40 Graham.Williams\@cmis.csiro.au"; +$M{"method"}="21 Jan 1999 07:58:21 Graham.Williams\@cmis.csiro.au"; +$M{"mex"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"mf-ps"}="4 Feb 1998 13:18:00 Graham.Williams\@cmis.csiro.au"; +$M{"mf-ps"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"mf2pt3"}="2 Jan 1999 21:45:21 Graham.Williams\@cmis.csiro.au"; +$M{"mf2tex"}="3 May 1997 21:09:52 Graham.Williams\@cmis.csiro.au"; +$M{"mff"}="24 Oct 1996 10:27:31 Graham.Williams\@cmis.csiro.au"; +$M{"mff"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"mflogo"}="25 Dec 1996 UV"; +$M{"mfnfss"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"mfpic"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"mftoeps"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"mhs"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"midnight"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"mif2xfig"}="20 Nov 1996 11:23:52 Graham.Williams\@cmis.csiro.au"; +$M{"miktex-axp"}="25 Sep 1997 14:01:19 Graham.Williams\@cmis.csiro.au"; +$M{"miktex"}="23 Feb 1999 16:12:25 Graham.Williams\@cmis.csiro.au"; +$M{"miniltx"}="20 May 1996 10:13:07 Graham.Williams\@cmis.csiro.au"; +$M{"minitoc"}="12 Jan 1997 11:20:36 Graham.Williams\@cmis.csiro.au"; +$M{"mirr"}="12 May 1997 10:27:47 Graham.Williams\@cmis.csiro.au"; +$M{"mirr"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"miscpk"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"mitpress"}="19 Sep 1998 10:11:07 Graham.Williams\@cmis.csiro.au"; +$M{"mkpic"}="2 Jan 1999 21:52:06 Graham.Williams\@cmis.csiro.au"; +$M{"mla"}="28 Apr 1997 09:48:03 Graham.Williams\@cmis.csiro.au"; +$M{"mlbib"}="5 Nov 1996 09:15:29 Graham.Williams\@cmis.csiro.au"; +$M{"mltex"}="28 Dec 1998 09:15:09 Graham.Williams\@cmis.csiro.au"; +$M{"mmtools"}="23 Jul 1997 09:16:45 Graham.Williams\@cmis.csiro.au"; +$M{"mnras"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"modes"}="11 Aug 1998 05:29:08 Graham.Williams\@cmis.csiro.au"; +$M{"monotype"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"monster"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"montex"}="29 Jan 1999 09:53:15 Graham.Williams\@cmis.csiro.au"; +$M{"morehelp"}="19 Feb 1998 09:36:53 Graham.Williams\@cmis.csiro.au"; +$M{"moresize"}="17 Jul 1997 14:08:56 Graham.Williams\@cmis.csiro.au"; +$M{"moreverb"}="29 May 1996 11:58:07 Graham.Williams\@cmis.csiro.au"; +$M{"moreverb"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"morse"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"morse"}="26 Feb 1998 09:08:33 Graham.Williams\@cmis.csiro.au"; +$M{"mpattern"}="30 Sep 1998 11:00:52 Graham.Williams\@cmis.csiro.au"; +$M{"mpfnmark"}="13 Dec 1996 08:30:22 Graham.Williams\@cmis.csiro.au"; +$M{"mpfnmark"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"ms"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"mslapa"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"mslapa"}="12 Jul 1996 10:06:59 Graham.Williams\@cmis.csiro.au"; +$M{"mt11p"}="14 Feb 1997 09:21:04 Graham.Williams\@cmis.csiro.au"; +$M{"mtbe"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"multenum"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"multicol"}="21 Dec 1998 13:35:30 Graham.Williams\@cmis.csiro.au"; +$M{"multido"}="19 Mar 1998 10:41:51 Graham.Williams\@cmis.csiro.au"; +$M{"multirow"}="25 Nov 1998 06:06:17 Graham.Williams\@cmis.csiro.au"; +$M{"multitoc"}="8 Sep 1998 05:46:30 Graham.Williams\@cmis.csiro.au"; +$M{"musictex"}="27 Nov 1996 13:59:30 Graham.Williams\@cmis.csiro.au"; +$M{"musixtex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"mxedruli"}="25 Jul 1998 06:28:00 Graham.Williams\@cmis.csiro.au"; +$M{"mylatex"}="1 May 1998 17:00:39 Graham.Williams\@cmis.csiro.au"; +$M{"myletter"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"nassflow"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"natbib"}="17 Jul 1998 16:12:29 Graham.Williams\@cmis.csiro.au"; +$M{"nb4latex"}="21 Nov 1996 16:56:44 Graham.Williams\@cmis.csiro.au"; +$M{"nccfoots"}="28 Dec 1998 09:25:59 Graham.Williams\@cmis.csiro.au"; +$M{"ncctools"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"netpbm-win"}="10 Sep 1998 18:37:04 Graham.Williams\@cmis.csiro.au"; +$M{"newsletr"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"newthm"}="abstract A version of the theorem-style which provides"; +$M{"newthm"}="14 Feb 1997 09:30:36 Graham.Williams\@cmis.csiro.au"; +$M{"newthm"}="13 May 1997 10:24:58 Robin Fairbairns "; +$M{"niceframe"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"nomencl"}="27 May 1997 09:24:37 Graham.Williams\@cmis.csiro.au"; +$M{"norbib"}="2 Jul 1998 12:55:09 Graham.Williams\@cmis.csiro.au"; +$M{"nrc"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"ntemacs"}="19 Oct 1998 06:03:28 Graham.Williams\@cmis.csiro.au"; +$M{"ntgclass"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"ntheorem"}="11 Dec 1998 05:44:07 Graham.Williams\@cmis.csiro.au"; +$M{"numline"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"numline"}="28 May 1996 16:02:33 Graham.Williams\@cmis.csiro.au"; +$M{"objectz"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"oca"}="3 May 1997 s.rahtz\@elsevier.co.uk"; +$M{"ocr-a"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"ocr-a"}="18 May 1996 14:10:28 Graham.Williams\@cmis.csiro.au"; +$M{"ocr-b"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"ocr-b"}="18 May 1996 14:10:28 Graham.Williams\@cmis.csiro.au"; +$M{"ogham"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"ogonek"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"oldstyle"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"omega"}="11 Feb 1998 08:05:12 Graham.Williams\@cmis.csiro.au"; +$M{"omegabase"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"omegafonts"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"onepagem"}="18 Jul 1997 14:23:48 Graham.Williams\@cmis.csiro.au"; +$M{"oryia"}="1 Jul 1998 10:29:59 Graham.Williams\@cmis.csiro.au"; +$M{"os2tex"}="3 Jan 1999 10:42:23 Graham.Williams\@cmis.csiro.au"; +$M{"osmanian"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"ot2cyr"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"overcite"}="15 Dec 1996 19:11:52 Graham.Williams\@cmis.csiro.au"; +$M{"overpic"}="27 Nov 1997 17:00:55 Graham.Williams\@cmis.csiro.au"; +$M{"overword"}="13 Dec 1996 08:37:08 Graham.Williams\@cmis.csiro.au"; +$M{"overword"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"oxford"}="11 Jan 1998 20:39:42 Graham.Williams\@cmis.csiro.au"; +$M{"oztex-german"}="25 Mar 1998 09:10:39 Graham.Williams\@cmis.csiro.au"; +$M{"oztex"}="27 Dec 1998 20:16:46 Graham.Williams\@cmis.csiro.au"; +$M{"pageno"}="23 Sep 1998 09:40:33 Graham.Williams\@cmis.csiro.au"; +$M{"pandey"}="30 Sep 1998 07:56:09 Graham.Williams\@cmis.csiro.au"; +$M{"pandora"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"paper"}="20 May 1996 06:33:20 Graham.Williams\@cmis.csiro.au"; +$M{"paradissa"}="14 Jun 1996 16:18:31 Graham.Williams\@cmis.csiro.au"; +$M{"paralist"}="21 Jan 1999 19:49:45 Graham.Williams\@cmis.csiro.au"; +$M{"patch"}="3 May 1997 s.rahtz\@elsevier.co.uk"; +$M{"path"}="25 Jun 1996 09:13:30 Graham.Williams\@cmis.csiro.au"; +$M{"pawpict"}="10 Feb 1998 09:32:45 Graham.Williams\@cmis.csiro.au"; +$M{"pb-diagram"}="30 Nov 1998 13:48:18 Graham.Williams\@cmis.csiro.au"; +$M{"pcfonts"}="21 Oct 1996 13:32:14 Graham.Williams\@cmis.csiro.au"; +$M{"pdcmac"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"pdftex-djgpp"}="23 Feb 1998 15:51:42 Graham.Williams\@cmis.csiro.au"; +$M{"pdftex"}="13 Aug 1998 05:51:13 Graham.Williams\@cmis.csiro.au"; +$M{"permute"}="28 Dec 1998 09:09:59 Graham.Williams\@cmis.csiro.au"; +$M{"pf2afm"}="18 Jun 1998 10:13:25 Graham.Williams\@cmis.csiro.au"; +$M{"phonetic"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"phppcf"}="14 Jun 1996 12:35:55 Graham.Williams\@cmis.csiro.au"; +$M{"physe"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"phyzzx"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"pictex"}="24 Feb 1998 13:53:44 Graham.Williams\@cmis.csiro.au"; +$M{"piff"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"piq"}="ctan fonts/okuda//"; +$M{"piq"}="17 Nov 1996 11:28:28 Graham.Williams\@cmis.csiro.au"; +$M{"pkfind"}=" utility to understand those specials, and to act"; +$M{"pkfind"}="3 Mar 1998 15:39:16 Graham.Williams\@cmis.csiro.au"; +$M{"pl-mf"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"pl-mf"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"pl-qx"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"pl"}="25 Feb 1998, s.rahtz\@elsevier.co.uk"; +$M{"plainmisc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"plaintex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"plari"}="6 Nov 1998 06:24:51 Graham.Williams\@cmis.csiro.au"; +$M{"platex"}="18 Jun 1998 10:22:09 Graham.Williams\@cmis.csiro.au"; +$M{"plcalendar"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"plfonts"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"plgraph"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"plpsfont"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"pmcstex"}="27 Nov 1997 17:12:37 Graham.Williams\@cmis.csiro.au"; +$M{"pmgraph"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"poligraf"}="17 Nov 1996 11:34:19 Graham.Williams\@cmis.csiro.au"; +$M{"poligraf"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"poligraf"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"polish"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"polyglot"}="12 Sep 1997 10:32:34 Graham.Williams\@cmis.csiro.au"; +$M{"ppchtex"}="15 Jan 1997 09:54:55 Graham.Williams\@cmis.csiro.au"; +$M{"prelim2e"}="10 Aug 1998 09:16:01 Graham.Williams\@cmis.csiro.au"; +$M{"prettyref"}="29 Jul 1998 05:41:53 Graham.Williams\@cmis.csiro.au"; +$M{"progkeys"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"program"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"proofs"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"prv"}="11 Dec 1998 05:33:29 Graham.Williams\@cmis.csiro.au"; +$M{"ps_conv"}="17 Nov 1996 11:34:19 Graham.Williams\@cmis.csiro.au"; +$M{"ps_view"}="25 Jun 1998 staw\@gust.org.pl"; +$M{"psfig"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"psfixbb"}="23 Jun 1998 15:54:54 Graham.Williams\@cmis.csiro.au"; +$M{"psfont"}="1 Jul 1996 21:00:54 Graham.Williams\@cmis.csiro.au"; +$M{"psfonts"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"psfrag"}="24 Jun 1998 12:56:59 Graham.Williams\@cmis.csiro.au"; +$M{"psizzl"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"pslatex"}="2 Aug 1996 12:28:03 Graham.Williams\@cmis.csiro.au"; +$M{"pslatex"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"psmerge"}="1 Nov 1996 08:12:01 Graham.Williams\@cmis.csiro.au"; +$M{"psnfss"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"psnfss"}="24 Apr 1997 16:16:14 Graham.Williams\@cmis.csiro.au"; +$M{"psnfssx"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"pspicture"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"pstotext"}="31 Oct 1996 13:39:09 Graham.Williams\@cmis.csiro.au"; +$M{"pstricks"}="30 May 1996 11:20:11 Graham.Williams\@cmis.csiro.au"; +$M{"punk"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"qfig"}="24 Jul 1998 06:25:39 Graham.Williams\@cmis.csiro.au"; +$M{"qfonts"}="18 Jun 1998 10:17:31 Graham.Williams\@cmis.csiro.au"; +$M{"qobitree"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"qsymbols"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"quotchap"}="24 Feb 1998 13:20:08 Graham.Williams\@cmis.csiro.au"; +$M{"quotes"}="1 May 1998 16:55:48 Graham.Williams\@cmis.csiro.au"; +$M{"r-und-s"}="3 Jul 1997 08:10:21 Graham.Williams\@cmis.csiro.au"; +$M{"ragged2e"}="10 Aug 1998 09:09:43 Graham.Williams\@cmis.csiro.au"; +$M{"rail"}="1 Oct 1998 07:36:00 Graham.Williams\@cmis.csiro.au"; +$M{"rangecite"}="28 May 1996 16:31:55 Graham.Williams\@cmis.csiro.au"; +$M{"rawfonts"}="6 Jun 1997 11:32:53 Graham.Williams\@cmis.csiro.au"; +$M{"rawprint"}="21 Oct 1996 13:50:40 Graham.Williams\@cmis.csiro.au"; +$M{"rcsinfo"}="25 Feb 1999 11:36:47 Graham.Williams\@cmis.csiro.au"; +$M{"realcalc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"recipe"}="26 Nov 1996 16:28:13 Graham.Williams\@cmis.csiro.au"; +$M{"refcheck"}="12 May 1997 10:18:04 Graham.Williams\@cmis.csiro.au"; +$M{"refman"}="1 Jun 1998 12:05:47 Graham.Williams\@cmis.csiro.au"; +$M{"relenc"}="23 Feb 1999 16:14:26 Graham.Williams\@cmis.csiro.au"; +$M{"remreset"}="7 Oct 1997 08:58:13 Graham.Williams\@cmis.csiro.au"; +$M{"repeat"}="5 Jan 1999 08:27:22 Graham.Williams\@cmis.csiro.au"; +$M{"revnum"}="3 Mar 1998 15:31:13 Graham.Williams\@cmis.csiro.au"; +$M{"revtex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"revtex"}="31 Oct 1996 13:44:58 Graham.Williams\@cmis.csiro.au"; +$M{"rlepsf"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"rmpage"}="5 Feb 1998 14:07:37 Graham.Williams\@cmis.csiro.au"; +$M{"romaniantex"}="15 Nov 1996 14:57:19 Graham.Williams\@cmis.csiro.au"; +$M{"romanneg"}="19 Apr 1998 15:22:21 Graham.Williams\@cmis.csiro.au"; +$M{"rotating"}="12 Jun 1996 06:45:47 Graham.Williams\@cmis.csiro.au"; +$M{"rplain"}="23 Sep 1998 09:45:08 Graham.Williams\@cmis.csiro.au"; +$M{"rsfs-ps"}="25 Apr 1998 06:14:30 Graham.Williams\@cmis.csiro.au"; +$M{"rsfs"}="12 Jun 1996 06:57:19 Graham.Williams\@cmis.csiro.au"; +$M{"ruhyphen"}="8 Oct 1998 11:53:41 Graham.Williams\@cmis.csiro.au"; +$M{"ruler"}="22 May 1996 16:04:57 Graham.Williams\@cmis.csiro.au"; +$M{"s2latex"}="7 Jun 1996 20:13:54 Graham.Williams\@cmis.csiro.au"; +$M{"saferef"}="4 Feb 1997 09:57:44 Graham.Williams\@cmis.csiro.au"; +$M{"sanskrit"}="19 Mar 1997 12:03:33 Graham.Williams\@cmis.csiro.au"; +$M{"sauter"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"sauterfonts"}="12 Nov 1998 20:16:14 Graham.Williams\@cmis.csiro.au"; +$M{"scale"}="6 Nov 1998 06:19:58 Graham.Williams\@cmis.csiro.au"; +$M{"scalefnt"}="7 Oct 1997 08:58:13 Graham.Williams\@cmis.csiro.au"; +$M{"schedule"}="18 Feb 1998 10:30:16 Graham.Williams\@cmis.csiro.au"; +$M{"script"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"section"}="1 May 1998 17:01:43 Graham.Williams\@cmis.csiro.au"; +$M{"sectsty"}="13 Dec 1998 05:29:30 Graham.Williams\@cmis.csiro.au"; +$M{"semantic"}="13 May 1996 06:13:26 Graham.Williams\@cmis.csiro.au"; +$M{"seminar"}="28 May 1996 16:32:44 Graham.Williams\@cmis.csiro.au"; +$M{"setspace"}="27 Nov 1998 09:26:04 Graham.Williams\@cmis.csiro.au"; +$M{"sfg"}="8 Jul 1998 09:15:14 Graham.Williams\@cmis.csiro.au"; +$M{"sfheaders"}="17 Feb 1998 09:11:27 Graham.Williams\@cmis.csiro.au"; +$M{"shadbox"}="5 Aug 1996 12:14:57 Graham.Williams\@cmis.csiro.au"; +$M{"shadbox"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"shadethm"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"shading"}="24 Sep 1996 08:55:09 Graham.Williams\@cmis.csiro.au"; +$M{"shadow"}="21 Oct 1996 10:39:52 Graham.Williams\@cmis.csiro.au"; +$M{"shalom"}="30 May 1996 11:22:14 Graham.Williams\@cmis.csiro.au"; +$M{"shapepar"}="3 Jul 1996 15:23:38 Graham.Williams\@cmis.csiro.au"; +$M{"shhyphl"}="7 Jan 1999 07:27:53 Graham.Williams\@cmis.csiro.au"; +$M{"shortlst"}="29 Nov 1998 18:20:51 Graham.Williams\@cmis.csiro.au"; +$M{"shorttoc"}="22 Jul 1998 06:07:50 Graham.Williams\@cmis.csiro.au"; +$M{"showdim"}="30 Jul 1998 05:30:48 Graham.Williams\@cmis.csiro.au"; +$M{"showlabels"}="23 Feb 1999 13:56:22 Graham.Williams\@cmis.csiro.au"; +$M{"siam"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"sidecap"}="6 Nov 1998 06:07:25 Graham.Williams\@cmis.csiro.au"; +$M{"siggraph"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"simpsons"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"sinhala"}="31 Oct 1996 09:54:37 Graham.Williams\@cmis.csiro.au"; +$M{"sirlin"}="16 Aug 1996 14:13:00 Graham.Williams\@cmis.csiro.au"; +$M{"siunits"}="23 Jan 1999 05:00:33 Graham.Williams\@cmis.csiro.au"; +$M{"slashbox"}="20 Feb 1998 14:26:38 Graham.Williams\@cmis.csiro.au"; +$M{"slashed"}="11 Feb 1998 07:48:41 Graham.Williams\@cmis.csiro.au"; +$M{"slidenotes"}="16 Dec 1998 08:33:45 Graham.Williams\@cmis.csiro.au"; +$M{"slides"}="17 Jun 1997 20:12:00 Graham.Williams\@cmis.csiro.au"; +$M{"smallcap"}="28 May 1996 15:57:18 Graham.Williams\@cmis.csiro.au"; +$M{"smallcap"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"smartmn"}="5 Nov 1996 09:14:21 Graham.Williams\@cmis.csiro.au"; +$M{"sobolev"}="1 May 1998 16:56:12 Graham.Williams\@cmis.csiro.au"; +$M{"somedefs"}="12 Aug 1998 06:35:40 Graham.Williams\@cmis.csiro.au"; +$M{"songbook"}="30 Jun 1998 10:54:02 Graham.Williams\@cmis.csiro.au"; +$M{"sorhyph"}="12 May 1997 10:30:15 Graham.Williams\@cmis.csiro.au"; +$M{"soul"}="21 Jan 1999 19:15:44 Graham.Williams\@cmis.csiro.au"; +$M{"spanish"}="21 May 1996 13:04:45 Graham.Williams\@cmis.csiro.au"; +$M{"spanishb"}="5 Oct 1998 11:43:25 Graham.Williams\@cmis.csiro.au"; +$M{"sphack"}="28 May 1998 16:16:55 Graham.Williams\@cmis.csiro.au"; +$M{"sprite"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"ssqquote"}="25 Dec 1996 UV"; +$M{"startex"}="21 Oct 1996 14:23:19 Graham.Williams\@cmis.csiro.au"; +$M{"startex"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"stdclsdv"}="21 Jan 1999 12:51:23 Graham.Williams\@cmis.csiro.au"; +$M{"stmaryrd-ps"}="25 Jul 1998 06:01:40 Graham.Williams\@cmis.csiro.au"; +$M{"stmaryrd"}="25 Apr 1998 06:19:27 Graham.Williams\@cmis.csiro.au"; +$M{"subeqn"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"supertabular"}="7 Oct 1997 09:01:35 Graham.Williams\@cmis.csiro.au"; +$M{"swift"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"syngen"}="19 Nov 1996 08:42:42 Graham.Williams\@cmis.csiro.au"; +$M{"synttree"}="12 Aug 1998 06:13:18 Graham.Williams\@cmis.csiro.au"; +$M{"t2"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"tabbing"}="10 Feb 1998 12:54:11 Graham.Williams\@cmis.csiro.au"; +$M{"tabls"}="15 Dec 1996 19:17:27 Graham.Williams\@cmis.csiro.au"; +$M{"tap"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"tap"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"taylor"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"tbe"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"tcvn"}="21 Jan 1999 19:18:03 Graham.Williams\@cmis.csiro.au"; +$M{"tcx"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"tds"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"techexplorer"}="19 Aug 1998 07:13:20 Graham.Williams\@cmis.csiro.au"; +$M{"tengwar"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"tensind"}="18 Jun 1998 10:06:41 Graham.Williams\@cmis.csiro.au"; +$M{"tensor"}="7 Jun 1996 08:52:37 Graham.Williams\@cmis.csiro.au"; +$M{"termcal"}="14 Jan 1997 10:10:12 Graham.Williams\@cmis.csiro.au"; +$M{"tetex"}="11 Jun 1997 19:22:32 Graham.Williams\@cmis.csiro.au"; +$M{"tex-math"}="8 Jul 1996 14:14:25 Graham.Williams\@cmis.csiro.au"; +$M{"tex-ps"}="09 Jun 1998 staw\@gust.org.pl"; +$M{"tex2bib"}="27 Jan 1998 16:50:26 Graham.Williams\@cmis.csiro.au"; +$M{"tex2html"}="29 Jan 1998 09:10:30 Graham.Williams\@cmis.csiro.au"; +$M{"tex2ltx"}="28 Oct 1998 11:56:39 Graham.Williams\@cmis.csiro.au"; +$M{"tex2rtf"}="25 Jun 1996 08:56:43 Graham.Williams\@cmis.csiro.au"; +$M{"tex4ht"}="23 Oct 1998 05:35:34 Graham.Williams\@cmis.csiro.au"; +$M{"tex98"}="12 Aug 1998 06:09:09 Graham.Williams\@cmis.csiro.au"; +$M{"texdraw"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"texed"}="11 Nov 1998 05:47:04 Graham.Williams\@cmis.csiro.au"; +$M{"texi2html"}="3 Feb 1999 10:27:21 Graham.Williams\@cmis.csiro.au"; +$M{"texi2www"}="2 Jul 1996 10:33:31 Graham.Williams\@cmis.csiro.au"; +$M{"texinfo"}="3 Feb 1999 10:28:52 Graham.Williams\@cmis.csiro.au"; +$M{"texip"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"texlist"}="31 Jan 1999 07:36:23 Graham.Williams\@cmis.csiro.au"; +$M{"texperf"}="16 Aug 1996 14:08:55 Graham.Williams\@cmis.csiro.au"; +$M{"texshell32"}="28 Mar 1998 07:07:28 Graham.Williams\@cmis.csiro.au"; +$M{"texsis"}="27 Jan 1998 16:44:10 Graham.Williams\@cmis.csiro.au"; +$M{"texsk"}="7 Mar 1997 16:53:45 Graham.Williams\@cmis.csiro.au"; +$M{"text1"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"textcase"}="11 Feb 1998 07:49:12 Graham.Williams\@cmis.csiro.au"; +$M{"textfit"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"textmerg"}="31 May 1996 08:43:05 Graham.Williams\@cmis.csiro.au"; +$M{"textoolspro"}=" LaTeX- code, so you can write sections in a"; +$M{"textoolspro"}="21 Jan 1999 13:03:19 Graham.Williams\@cmis.csiro.au"; +$M{"textpos"}="23 Feb 1999 13:54:56 Graham.Williams\@cmis.csiro.au"; +$M{"tfmpk"}="16 Dec 1998 08:30:00 Graham.Williams\@cmis.csiro.au"; +$M{"thesis"}="20 May 1996 10:22:19 Graham.Williams\@cmis.csiro.au"; +$M{"threed"}="13 Apr 1998 06:37:38 Graham.Williams\@cmis.csiro.au"; +$M{"threeparttable"}="15 Dec 1996 19:16:24 Graham.Williams\@cmis.csiro.au"; +$M{"thumb"}="10 Feb 1998 09:34:21 Graham.Williams\@cmis.csiro.au"; +$M{"thumbpdf"}="17 Feb 1999 16:50:56 Graham.Williams\@cmis.csiro.au"; +$M{"tiff"}="11 Nov 1998 05:43:39 Graham.Williams\@cmis.csiro.au"; +$M{"tiff2ps"}="06 May 1998 staw\@gust.org.pl"; +$M{"time"}="7 Jun 1996 09:04:45 Graham.Williams\@cmis.csiro.au"; +$M{"times"}="28 May 1997 16:25:37 Graham.Williams\@cmis.csiro.au"; +$M{"timesht"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"timing"}="3 May 1997 s.rahtz\@elsevier.co.uk"; +$M{"tipa"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"titlefoot"}="18 Mar 1998 09:30:36 Graham.Williams\@cmis.csiro.au"; +$M{"titleref"}="15 Dec 1996 19:19:50 Graham.Williams\@cmis.csiro.au"; +$M{"titlesec"}="23 Feb 1999 14:58:36 Graham.Williams\@cmis.csiro.au"; +$M{"titletoc"}="23 Feb 1999 14:58:46 Graham.Williams\@cmis.csiro.au"; +$M{"tkbibtex"}="10 Aug 1998 06:27:23 Graham.Williams\@cmis.csiro.au"; +$M{"tmview"}="29 Jun 1998 10:00:32 Graham.Williams\@cmis.csiro.au"; +$M{"tocbibind"}="21 Jan 1999 12:54:08 Graham.Williams\@cmis.csiro.au"; +$M{"tocloft"}="21 Jan 1999 12:57:14 Graham.Williams\@cmis.csiro.au"; +$M{"tocvsec2"}="21 Jan 1999 12:52:58 Graham.Williams\@cmis.csiro.au"; +$M{"toil"}="27 Jan 1998 16:54:47 Graham.Williams\@cmis.csiro.au"; +$M{"toil"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"tools"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"topcapt"}="15 Dec 1996 19:04:36 Graham.Williams\@cmis.csiro.au"; +$M{"tracking"}="5 Aug 1996 12:11:48 Graham.Williams\@cmis.csiro.au"; +$M{"tracking"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"trans"}="17 Nov 1996 11:34:19 Graham.Williams\@cmis.csiro.au"; +$M{"trans"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"transfig"}="8 Jul 1998 09:08:50 Graham.Williams\@cmis.csiro.au"; +$M{"treesvr"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"truncate"}="15 Dec 1996 19:23:52 Graham.Williams\@cmis.csiro.au"; +$M{"tsconfig"}="27 Nov 1996 13:48:24 Graham.Williams\@cmis.csiro.au"; +$M{"ttf2mf"}="25 Nov 1998 05:37:46 Graham.Williams\@cmis.csiro.au"; +$M{"ttf2pk"}="2 Jan 1999 22:03:00 Graham.Williams\@cmis.csiro.au"; +$M{"ttf2tfm"}="2 Jan 1999 22:05:48 Graham.Williams\@cmis.csiro.au"; +$M{"ttftogf"}="19 Sep 1998 08:12:18 Graham.Williams\@cmis.csiro.au"; +$M{"tth-rpm"}="13 Feb 1999 08:51:59 Graham.Williams\@cmis.csiro.au"; +$M{"tth-win"}="10 Sep 1998 18:39:22 Graham.Williams\@cmis.csiro.au"; +$M{"tth"}="27 Mar 1998 12:45:38 Graham.Williams\@cmis.csiro.au"; +$M{"ttt"}="19 Mar 1997 08:34:45 Graham.Williams\@cmis.csiro.au"; +$M{"tubtoc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"tugboat-toc"}="28 Dec 1998 09:28:11 Graham.Williams\@cmis.csiro.au"; +$M{"tugboat"}="3 May 1997 s.rahtz\@elsevier.co.uk"; +$M{"tugboat"}="3 Jul 1997 08:01:03 Graham.Williams\@cmis.csiro.au"; +$M{"twg-list"}="25 Feb 1998 09:33:34 Graham.Williams\@cmis.csiro.au"; +$M{"twoup"}="19 Mar 1998 10:39:40 Graham.Williams\@cmis.csiro.au"; +$M{"type1"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"type1"}="February 1998, s.rahtz\@elsevier.co.uk"; +$M{"type1cm"}="7 Mar 1997 16:50:06 Graham.Williams\@cmis.csiro.au"; +$M{"type1cm"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"typearea"}="12 Jun 1996 13:18:22 Graham.Williams\@cmis.csiro.au"; +$M{"typehtml"}="27 Nov 1997 17:08:38 Graham.Williams\@cmis.csiro.au"; +$M{"typespec"}="2 Jul 1998 13:03:32 Graham.Williams\@cmis.csiro.au"; +$M{"uaclasses"}="19 Mar 1997 12:05:52 Graham.Williams\@cmis.csiro.au"; +$M{"uaclasses"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"ucthesis"}="abstract A version of the standard \LaTeX{} report style"; +$M{"ukhyph"}="21 Oct 1996 10:37:20 Graham.Williams\@cmis.csiro.au"; +$M{"ulem"}="28 May 1996 16:34:03 Graham.Williams\@cmis.csiro.au"; +$M{"ulsy"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"umlaute"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"umrand"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"underlin"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"underscore"}="17 Jul 1998 07:34:04 Graham.Williams\@cmis.csiro.au"; +$M{"uniqleaf"}="2 Aug 1996 12:44:23 Graham.Williams\@cmis.csiro.au"; +$M{"units"}="6 Aug 1998 06:17:29 Graham.Williams\@cmis.csiro.au"; +$M{"universa"}="6 Sep 1998 05:46:31 Graham.Williams\@cmis.csiro.au"; +$M{"url"}="3 Jul 1996 15:23:38 Graham.Williams\@cmis.csiro.au"; +$M{"urw"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"urwstd"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"urwvf"}="5 Feb 1998 09:33:04 Graham.Williams\@cmis.csiro.au"; +$M{"ut-backref"}="10 Nov 1998 10:38:10 Graham.Williams\@cmis.csiro.au"; +$M{"ut-thesis"}="23 Feb 1999 15:02:00 Graham.Williams\@cmis.csiro.au"; +$M{"utorontothesis"}="20 Feb 1998 14:27:24 Graham.Williams\@cmis.csiro.au"; +$M{"utthesis"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"uwthesis"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"vdm"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"vector"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"verbatim"}="29 May 1996 11:58:52 Graham.Williams\@cmis.csiro.au"; +$M{"vertex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"vfcomb"}="24 Oct 1996 10:25:22 Graham.Williams\@cmis.csiro.au"; +$M{"vfinst"}="10 Sep 1998 18:41:42 Graham.Williams\@cmis.csiro.au"; +$M{"viiptart"}="8 Jul 1998 09:20:53 Graham.Williams\@cmis.csiro.au"; +$M{"vmargin"}="12 Jun 1996 13:14:31 Graham.Williams\@cmis.csiro.au"; +$M{"vncmr"}="19 Jul 1996 08:45:39 Graham.Williams\@cmis.csiro.au"; +$M{"vrb"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"vrsion"}="8 Jul 1998 08:17:05 Graham.Williams\@cmis.csiro.au"; +$M{"vruler"}="24 Oct 1996 11:15:39 Graham.Williams\@cmis.csiro.au"; +$M{"warpcol"}="13 Sep 1998 06:27:36 Graham.Williams\@cmis.csiro.au"; +$M{"wasy-ps"}="25 Jul 1998 06:05:00 Graham.Williams\@cmis.csiro.au"; +$M{"wasy"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"wasy2-ps"}="5 Aug 1998 06:26:09 Graham.Williams\@cmis.csiro.au"; +$M{"wasy2"}="25 Jul 1998 06:18:23 Graham.Williams\@cmis.csiro.au"; +$M{"wasysym"}="5 Jan 1999 07:44:43 Graham.Williams\@cmis.csiro.au"; +$M{"web2c-win32"}="3 Apr 1998 06:38:58 Graham.Williams\@cmis.csiro.au"; +$M{"web2c"}="20 Mar 1998 09:27:08 Graham.Williams\@cmis.csiro.au"; +$M{"williams"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"win95-guide"}="12 Apr 1998 20:46:26 Graham.Williams\@cmis.csiro.au"; +$M{"windvi"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"winedt"}="2 Jul 1998 13:00:44 Graham.Williams\@cmis.csiro.au"; +$M{"winemtex"}="3 Aug 1998 18:15:29 Graham.Williams\@cmis.csiro.au"; +$M{"winshell"}="21 Nov 1998 05:34:40 Graham.Williams\@cmis.csiro.au"; +$M{"wmf2eps"}="12 Nov 1998 20:15:28 Graham.Williams\@cmis.csiro.au"; +$M{"wnri"}="30 Jun 1998 10:56:34 Graham.Williams\@cmis.csiro.au"; +$M{"wntamil"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"word2x"}="29 Apr 1997 14:47:38 Graham.Williams\@cmis.csiro.au"; +$M{"wp-conv"}="1 Aug 1998 05:39:06 Graham.Williams\@cmis.csiro.au"; +$M{"wp2latex"}="23 Sep 1998 05:24:28 Graham.Williams\@cmis.csiro.au"; +$M{"wsuipa"}="13 Aug 1998 05:27:18 Graham.Williams\@cmis.csiro.au"; +$M{"wtex95"}="24 Feb 1998 14:01:24 Graham.Williams\@cmis.csiro.au"; +$M{"xdvi"}="28 Jun 1996 10:08:55 Graham.Williams\@cmis.csiro.au"; +$M{"xdvik"}="6 Apr 1998 05:53:45 Graham.Williams\@cmis.csiro.au"; +$M{"xfig"}="8 Jul 1998 09:08:50 Graham.Williams\@cmis.csiro.au"; +$M{"xtab"}="21 Oct 1998 09:32:30 Graham.Williams\@cmis.csiro.au"; +$M{"xtcapts"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"xtem"}="27 Nov 1997 17:13:37 Graham.Williams\@cmis.csiro.au"; +$M{"xymtex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"xypic"}="21 Nov 1998 05:35:39 Graham.Williams\@cmis.csiro.au"; +$M{"yannisgr"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"yfonts"}="27 Jan 1999 08:26:02 Graham.Williams\@cmis.csiro.au"; +$M{"yhmath"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"yi4latex"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"youngtab"}="29 Jun 1998 10:06:42 Graham.Williams\@cmis.csiro.au"; +$M{"yplan99"}="11 Dec 1998 05:45:33 Graham.Williams\@cmis.csiro.au"; +$M{"ytex"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"zefonts"}="30 Sep 1998 07:50:57 Graham.Williams\@cmis.csiro.au"; +1; diff --git a/Master/texmf-dist/doc/texlive/texlive-en/archive/nocites.tex b/Master/texmf-dist/doc/texlive/texlive-en/archive/nocites.tex new file mode 100644 index 00000000000..759b379f30e --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/archive/nocites.tex @@ -0,0 +1,557 @@ +\nocite{a0poster} +\nocite{aaai} +\nocite{abstyles} +\nocite{accfonts} +\nocite{achemso} +\nocite{acronym} +\nocite{adfathesis} +\nocite{adobeother} +\nocite{adobestd} +\nocite{adrlist} +\nocite{ae} +\nocite{aguplus} +\nocite{aiaa} +\nocite{akletter} +\nocite{alatex} +\nocite{algorithms} +\nocite{alg} +\nocite{alphaev5-osf4.0d} +\nocite{altfont} +\nocite{amsfonts} +\nocite{amslatex} +\nocite{amstex} +\nocite{answers} +\nocite{antyktor} +\nocite{apa} +\nocite{apl} +\nocite{appendix} +\nocite{arabtex} +\nocite{arydshln} +\nocite{ar} +\nocite{asaetr} +\nocite{ascii} +\nocite{astro} +\nocite{aurora} +\nocite{authorindex} +\nocite{autotab} +\nocite{babel} +\nocite{backgammon} +\nocite{bakoma} +\nocite{barcode2} +\nocite{barcodes} +\nocite{barr} +\nocite{bbding} +\nocite{bbm} +\nocite{bbold} +\nocite{bbtbase} +\nocite{bbtdoc} +\nocite{beebe} +\nocite{belleek} +\nocite{beton} +\nocite{bez123} +\nocite{bezos} +\nocite{bibarts} +\nocite{biblist} +\nocite{bluesky} +\nocite{blue} +\nocite{booktabs} +\nocite{borceux} +\nocite{bosisio} +\nocite{bridge} +\nocite{brushscr} +\nocite{c-pascal} +\nocite{calendar} +\nocite{calligra} +\nocite{calrsfs} +\nocite{camel} +\nocite{caption} +\nocite{carlisle} +\nocite{casyl} +\nocite{catalog} +\nocite{cbgreek} +\nocite{cc-pl} +\nocite{ccaption} +\nocite{ccfonts} +\nocite{cchess} +\nocite{cdcover} +\nocite{cellular} +\nocite{changebar} +\nocite{chemcono} +\nocite{chemsym} +\nocite{cheq} +\nocite{cherokee} +\nocite{chess} +\nocite{china2e} +\nocite{circ} +\nocite{cirth} +\nocite{cite} +\nocite{cjk} +\nocite{cmbright} +\nocite{cmcyralt} +\nocite{cmcyr} +\nocite{cmdtrack} +\nocite{cmextra} +\nocite{cmpica} +\nocite{cmpk} +\nocite{cmsd} +\nocite{cm} +\nocite{codepage} +\nocite{colorsep} +\nocite{colortab} +\nocite{comment} +\nocite{concmath} +\nocite{concrete} +\nocite{context} +\nocite{covington} +\nocite{croatian} +\nocite{crop} +\nocite{crossword} +\nocite{crosswrd} +\nocite{csfonts} +\nocite{cslatex} +\nocite{csplain} +\nocite{cspsfonts} +\nocite{cstug} +\nocite{cursor} +\nocite{curves} +\nocite{custom-bib} +\nocite{cyrillic} +\nocite{dancers} +\nocite{deleq} +\nocite{devanagari} +\nocite{dialogl} +\nocite{dinbrief} +\nocite{directory} +\nocite{dotseqn} +\nocite{draftcopy} +\nocite{dratex} +\nocite{dropping} +\nocite{dstroke} +\nocite{dtk} +\nocite{duerer} +\nocite{dvipdfm} +\nocite{dvipsbase} +\nocite{dvipsdoc} +\nocite{ean} +\nocite{easy} +\nocite{ecc} +\nocite{ecltree} +\nocite{eco} +\nocite{ecpk} +\nocite{ec} +\nocite{edmac} +\nocite{eepic} +\nocite{egplot} +\nocite{eiad} +\nocite{eijkhout} +\nocite{elsevier} +\nocite{elvish} +\nocite{emp} +\nocite{emulateapj} +\nocite{encodings} +\nocite{endfloat} +\nocite{engwar} +\nocite{envbig} +\nocite{envlab} +\nocite{epigraph} +\nocite{eplain} +\nocite{eqname} +\nocite{eqnarray} +\nocite{esieecv} +\nocite{etexbase} +\nocite{etruscan} +\nocite{euler} +\nocite{euro2} +\nocite{eurofont} +\nocite{europs} +\nocite{eurosans} +\nocite{eurosym} +\nocite{euro} +\nocite{euxm} +\nocite{examdesign} +\nocite{exam} +\nocite{expdlist} +\nocite{expl3} +\nocite{export} +\nocite{fancybox} +\nocite{fancyhdr} +\nocite{fancyref} +\nocite{fancyvrb} +\nocite{fax} +\nocite{fc} +\nocite{feynmf} +\nocite{finbib} +\nocite{floatfig} +\nocite{floatflt} +\nocite{float} +\nocite{fltpage} +\nocite{fncychap} +\nocite{foilhtml} +\nocite{foiltex} +\nocite{fontinst} +\nocite{fontname} +\nocite{footbib} +\nocite{footmisc} +\nocite{footnpag} +\nocite{formats} +\nocite{formula} +\nocite{fp} +\nocite{frankenstein} +\nocite{french} +\nocite{fribrief} +\nocite{fullblck} +\nocite{fullpict} +\nocite{fundus} +\nocite{futhark} +\nocite{g-brief} +\nocite{gb4e} +\nocite{genealogy} +\nocite{general} +\nocite{genmisc} +\nocite{geometry} +\nocite{geomsty} +\nocite{german} +\nocite{germbib} +\nocite{germdoc} +\nocite{gloss} +\nocite{gn-logic} +\nocite{gothic} +\nocite{go} +\nocite{graphics} +\nocite{greek6cbc} +\nocite{grnumalt} +\nocite{grtimes} +\nocite{guides} +\nocite{gustlib} +\nocite{hands} +\nocite{hanging} +\nocite{harpoon} +\nocite{harvard} +\nocite{harvmac} +\nocite{hh} +\nocite{hilowres} +\nocite{histogr} +\nocite{hoekwater} +\nocite{hppa1.1-hpux10.10} +\nocite{html} +\nocite{hvmaths} +\nocite{hyperref} +\nocite{hyper} +\nocite{hyphenat} +\nocite{hyphen} +\nocite{i386-linux-libc5} +\nocite{i386-linux} +\nocite{ibm} +\nocite{ieeepes} +\nocite{ifacmtg} +\nocite{imac} +\nocite{indxcite} +\nocite{info} +\nocite{ini} +\nocite{insbox} +\nocite{ipa} +\nocite{isostds} +\nocite{jadetex} +\nocite{jhep} +\nocite{jknappen} +\nocite{jsmisc} +\nocite{jura} +\nocite{kalender} +\nocite{karnaugh} +\nocite{kdgreek} +\nocite{kluwer} +\nocite{knuth} +\nocite{koma-script} +\nocite{kuvio} +\nocite{labels} +\nocite{lamstex} +\nocite{lastpage} +\nocite{latexfonts} +\nocite{layouts} +\nocite{leaflet} +\nocite{leftidx} +\nocite{lettrine} +\nocite{levy} +\nocite{lgc} +\nocite{lgreek} +\nocite{lhcyr} +\nocite{lh} +\nocite{lineno} +\nocite{linguex} +\nocite{listings} +\nocite{lkort} +\nocite{localloc} +\nocite{logic} +\nocite{lollipop} +\nocite{ltablex} +\nocite{ltx2rtf} +\nocite{ltxbase} +\nocite{ltxdoc} +\nocite{ltxmisc} +\nocite{lucida} +\nocite{ly1} +\nocite{mailing} +\nocite{makeindex} +\nocite{malayalam} +\nocite{malvern} +\nocite{mapcodes} +\nocite{maple} +\nocite{margbib} +\nocite{marvosym} +\nocite{mathcomp} +\nocite{mathematica} +\nocite{mathpple} +\nocite{mcite} +\nocite{mdwtools} +\nocite{metasupp} +\nocite{method} +\nocite{mex} +\nocite{mff} +\nocite{mflogo} +\nocite{mfmisc} +\nocite{mfnfss} +\nocite{mfpic} +\nocite{mftoeps} +\nocite{mft} +\nocite{mhs} +\nocite{midnight} +\nocite{minitoc} +\nocite{mips-irix6.2} +\nocite{misc209} +\nocite{mltex} +\nocite{mnras} +\nocite{monotype} +\nocite{montex} +\nocite{morehelp} +\nocite{moresize} +\nocite{moreverb} +\nocite{morse} +\nocite{mpattern} +\nocite{mpbase} +\nocite{mpfnmark} +\nocite{mslapa} +\nocite{ms} +\nocite{mtbe} +\nocite{multenum} +\nocite{multirow} +\nocite{multi} +\nocite{musictex} +\nocite{musixtex} +\nocite{nassflow} +\nocite{natbib} +\nocite{ncctools} +\nocite{newalg} +\nocite{newlfm} +\nocite{newsletr} +\nocite{newthm} +\nocite{niceframe} +\nocite{nomencl} +\nocite{nrc} +\nocite{ntgclass} +\nocite{ntg} +\nocite{ntheorem} +\nocite{numline} +\nocite{objectz} +\nocite{oca} +\nocite{ocr-a} +\nocite{ogham} +\nocite{ogonek} +\nocite{oldstyle} +\nocite{omegabase} +\nocite{omegafonts} +\nocite{osmanian} +\nocite{ot2cyr} +\nocite{overpic} +\nocite{pacioli} +\nocite{pageno} +\nocite{pandora} +\nocite{paper} +\nocite{paralist} +\nocite{parallel} +\nocite{patch} +\nocite{pawpict} +\nocite{pb-diagram} +\nocite{pdcmac} +\nocite{pdfscreen} +\nocite{pdftex} +\nocite{permute} +\nocite{phoenician} +\nocite{phonetic} +\nocite{physe} +\nocite{phyzzx} +\nocite{picinpar} +\nocite{picins} +\nocite{pictex} +\nocite{piff} +\nocite{pl-qx} +\nocite{plainmisc} +\nocite{plaintex} +\nocite{plari} +\nocite{platex} +\nocite{play} +\nocite{plcalendar} +\nocite{plfonts} +\nocite{plgraph} +\nocite{plpatch} +\nocite{pl} +\nocite{pmgraph} +\nocite{poligraf} +\nocite{polish} +\nocite{polyglot} +\nocite{prettyref} +\nocite{progkeys} +\nocite{program} +\nocite{proofs} +\nocite{protex} +\nocite{psafm} +\nocite{psfig} +\nocite{psfrag} +\nocite{psizzl} +\nocite{pslatex} +\nocite{psnfssx} +\nocite{psnfss} +\nocite{pspicture} +\nocite{pstricks} +\nocite{punk} +\nocite{qfonts} +\nocite{qobitree} +\nocite{qsymbols} +\nocite{quotchap} +\nocite{r-und-s} +\nocite{rcsinfo} +\nocite{rcs} +\nocite{realcalc} +\nocite{refcheck} +\nocite{refman} +\nocite{relenc} +\nocite{revtex} +\nocite{rlepsf} +\nocite{rmpage} +\nocite{rotating} +\nocite{rotfloat} +\nocite{rplain} +\nocite{rs6000-aix4.1.4.0} +\nocite{rsfs} +\nocite{ruhyphen} +\nocite{runic} +\nocite{sanskrit} +\nocite{sauterfonts} +\nocite{scale} +\nocite{schedule} +\nocite{script} +\nocite{sectsty} +\nocite{semantic} +\nocite{seminar} +\nocite{setspace} +\nocite{shadbox} +\nocite{shadethm} +\nocite{shortlst} +\nocite{shorttoc} +\nocite{showdim} +\nocite{showlabels} +\nocite{siam} +\nocite{sidecap} +\nocite{siggraph} +\nocite{simpsons} +\nocite{siunits} +\nocite{slashbox} +\nocite{slidenotes} +\nocite{smallcap} +\nocite{songbook} +\nocite{soul} +\nocite{sparc-solaris2.5.1} +\nocite{sprite} +\nocite{ssqquote} +\nocite{startex} +\nocite{stdclsdv} +\nocite{stmaryrd} +\nocite{subeqnarray} +\nocite{subeqn} +\nocite{subfigure} +\nocite{supertabular} +\nocite{synttree} +\nocite{t2} +\nocite{tabbing} +\nocite{tap} +\nocite{taylor} +\nocite{tbe} +\nocite{tcx} +\nocite{tds} +\nocite{tengwar} +\nocite{tetex} +\nocite{tex-ps} +\nocite{tex4ht} +\nocite{texdraw} +\nocite{texinfo} +\nocite{texip} +\nocite{texlive} +\nocite{texsis} +\nocite{text1} +\nocite{textfit} +\nocite{textmerg} +\nocite{textpos} +\nocite{thesis} +\nocite{threed} +\nocite{thumbpdf} +\nocite{thumb} +\nocite{timesht} +\nocite{timing} +\nocite{tipa} +\nocite{titlefoot} +\nocite{titlesec} +\nocite{tmmaths} +\nocite{tocbibind} +\nocite{tocloft} +\nocite{tocvsec2} +\nocite{tools} +\nocite{tracking} +\nocite{treesvr} +\nocite{treetex} +\nocite{ttf2pk} +\nocite{tugboat} +\nocite{tug} +\nocite{type1cm} +\nocite{type1} +\nocite{typespec} +\nocite{uaclasses} +\nocite{ucthesis} +\nocite{ulsy} +\nocite{umlaute} +\nocite{umrand} +\nocite{underlin} +\nocite{units} +\nocite{universa} +\nocite{uni} +\nocite{unsupported} +\nocite{urwstd} +\nocite{useful} +\nocite{ut-thesis} +\nocite{utthesis} +\nocite{uwthesis} +\nocite{vdm} +\nocite{vector} +\nocite{vertex} +\nocite{vita} +\nocite{vrb} +\nocite{vrsion} +\nocite{warpcol} +\nocite{wasysym} +\nocite{wasy} +\nocite{williams} +\nocite{win32} +\nocite{windvi} +\nocite{wnri} +\nocite{wntamil} +\nocite{wsuipa} +\nocite{xtab} +\nocite{xtcapts} +\nocite{xymtex} +\nocite{xypic} +\nocite{yannisgr} +\nocite{yfonts} +\nocite{yhmath} +\nocite{yi4latex} +\nocite{youngtab} +\nocite{ytex} +\nocite{zed-csp} +\nocite{zefonts} diff --git a/Master/texmf-dist/doc/texlive/texlive-en/archive/picture.tex b/Master/texmf-dist/doc/texlive/texlive-en/archive/picture.tex new file mode 100644 index 00000000000..098cfe18f10 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/archive/picture.tex @@ -0,0 +1,46 @@ +\documentclass{artikel3} +\pagestyle{empty} +\usepackage{pstcol,pst-text,lucidbrb} +\font\manual=manfnt %logo10 doesn't have what we need +\hyphenchar\manual=-1 +\def\MF{{\manual META}\-{\manual FONT}} +\begin{document} +\sffamily +\psset{unit=1mm} +\def\Size#1#2{\fontsize{#1}{#2}\selectfont} +\begin{pspicture}(-58,-58)(58,58) +\pscircle[linewidth=.3pt,linecolor=lightgray]{58} +%\pscircle{23} +\psset{linestyle=none} +% top of circle +\pstextpath[c]{\psarcn(0,0){48}{180}{0}} +{\Size{1.2cm}{1cm}\bfseries \TeX\ Live 4} +\rput(0,34){\begin{minipage}{8cm}\centering \textbf{March 1999}\\[3mm] +\Size{9}{10.5}Ready-to-run \TeX\ system for Linux, Unix (DEC,\\ HP, IBM, +SGI, Sun), and Win32 systems, \\ +based on Web2c 7.3\\ +\end{minipage}} +% bottom of circle +\rput(30,10){\begin{minipage}{2.7cm}\raggedleft\footnotesize +ISO 9660 with Joliet \\and Rock Ridge \\ +extensions\end{minipage}} +\rput(0,-30){\begin{minipage}{7cm}\centering +Macros, fonts, documentation to the\\ +\emph{{\TeX} Directory Structure} standard.\\[2mm] +Editor: Sebastian Rahtz +\end{minipage}} +\pstextpath[c]{\psarc(0,0){45}{180}{0}} +{ +{\Size{14}{14}\ttfamily http://www.tug.org/texlive/} } +\pstextpath[c]{\psarc(0,0){53}{180}{0}} +{\Size{13.2}{14}\bfseries +CSTUG $\bullet$ +Dante e.V. $\bullet$ +GUST $\bullet$ +GUTenberg $\bullet$ +NTG $\bullet$ +TUG $\bullet$ +TUG India $\bullet$ +UK TUG} +\end{pspicture} +\end{document} diff --git a/Master/texmf-dist/doc/texlive/texlive-en/archive/split.pl b/Master/texmf-dist/doc/texlive/texlive-en/archive/split.pl new file mode 100644 index 00000000000..bca00584335 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/archive/split.pl @@ -0,0 +1,16 @@ +#@TeXIndex{a0poster, +open TMP, ">/dev/null"; +while (<>) { + chop; + if (/\@TeXIndex/) { + print TMP "\n"; + close TMP; + $keep=$_; + s/\@TeXIndex{(.*),.*/$1/; + print "[$_]\n"; + open TMP, ">$_.bib"; + print TMP "$keep\n"; + } + else { print TMP "$_\n" ; } + +} diff --git a/Master/texmf-dist/doc/texlive/texlive-en/archive/status.pl b/Master/texmf-dist/doc/texlive/texlive-en/archive/status.pl new file mode 100644 index 00000000000..28c3d0d6d4c --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/archive/status.pl @@ -0,0 +1,31 @@ +#package: pIq +#license: pd +#(but erasing the headers is not allowed) +#Note that I made the most recent change, but +#Mark Shoulson (shoulson@ctr.columbia.edu) +#wrote the initial version. He should be named +#in the catalogue, too. + +#csuov@csv.warwick.ac.uk +#Subject: cmtt +#To: krab@iesd.auc.dk +#Subject: ftn +#To: inas@MIB.HARZ.DE +#Subject: newthm +#To: reckdahl@leland.stanford.edu +#Subject: epslatex +#To: miktex-bug@ronin.in-berlin.de +#Subject: miktex +#To: de8827@blackjack.usma.edu +#Subject: lated +#To: jdyoung@AFIT.AF.MIL +#Subject: afthesis +#xlwy01@uxp1.hrz.uni-dortmund.de (c2cweb) + +$L{"newlfm"}="free-latex"; +$L{"pacioli"}="gpl"; +$L{"etruscan"}="gpl"; +$L{"phoenician"}="gpl"; +$L{"greek6bc"}="gpl"; +$L{"runic"}="gpl"; +1; diff --git a/Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.bib b/Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.bib new file mode 100644 index 00000000000..17c75e197b7 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.bib @@ -0,0 +1,235 @@ +@TeXIndex{mips-irix6.2, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for SGI running Irix 6.2}, + status = {free}, + texlive = {systems1} +} + +@TeXIndex{alpha-osf3.2, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for Alpha running OSF 3.2.}, + status = {free}, + texlive = {systems1} +} + +@TeXIndex{alphaev5-osf4.0d, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for Alphaev5 running OSF 4.0d.}, + status = {free}, + texlive = {systems1} +} + +@TeXIndex{alphaev5-osf4.0b, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for Alphaev5 running OSF 4.0b.}, + status = {free}, + texlive = {systems1} +} + +@TeXIndex{bbtbase, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Basic \BibTeX{} support files.}, + status = {free}, + texlive = {bibtex1} +} + +@TeXIndex{bbtdoc, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Basic \BibTeX{} documentation.}, + status = {free}, + texlive = {bibtex2} +} + +@TeXIndex{catalog, + modified = {February 1999, s.rahtz@elsevier.co.uk}, + abstract = {Graham Williams' Catalogue of \TeX{} packages.}, + status = {free}, + texlive = {doc2} +} + +@TeXIndex{cmpk, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Computer Modern fonts in PK format.}, + status = {free}, + texlive = {fonts3} +} + +@TeXIndex{dtk, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Macros for the DANTE publication.}, + status = {free}, + texlive = {latex3} +} + +@TeXIndex{dvipsbase, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Basic support files for dvips.}, + status = {free}, + texlive = {dvips1} +} + +@TeXIndex{general, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Useful general documentation.}, + status = {free}, + texlive = {doc1} +} + +@TeXIndex{guides, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Guides to using \LaTeX, in English, German, French, + Greek and Polish.}, + status = {free}, + texlive = {doc2} +} + +@TeXIndex{hppa1.1-hpux10.10, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for HP running hpux10.10.}, + status = {free}, + texlive = {systems1} +} + +@TeXIndex{hyphen, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Collection of hyphenation patterns.}, + email = {s.rahtz@elsevier.co.uk}, + author = {LaTeX3 Project}, + status = {free}, + texlive = {lang1} +} + +@TeXIndex{i386-linux, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for Intel machines running Linux.}, + status = {free}, + texlive = {systems1} +} + +@TeXIndex{i386-linux-libc5, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for Intel machines + running Linux, with libc5}, + status = {free}, + texlive = {systems1} +} + +@TeXIndex{ini, + modified = {February 1999, s.rahtz@elsevier.co.uk}, + abstract = {Startup files for building formats.}, + status = {free}, + texlive = {texlive1} +} + +@TeXIndex{lgc, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Examples from the \emph{\LaTeX{} Graphics Companion}.}, + status = {free}, + texlive = {doc3} +} + +@TeXIndex{metasupp, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {MetaPost support files.}, + status = {free}, + texlive = {texlive1} +} + +@TeXIndex{mfmisc, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Small support files for \MF.}, + status = {free}, + texlive = {fonts1} +} + +@TeXIndex{mft, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Support files for MFT.}, + status = {free}, + texlive = {texlive1} +} + +@TeXIndex{misc209, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Miscellaneous small macro files for \LaTeX 2.09.}, + status = {free}, + texlive = {latex2} +} + +@TeXIndex{mpbase, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Basic MetaPost support files.}, + status = {free}, + texlive = {metapost1} +} + +@TeXIndex{multi, + modified = {February 1999, s.rahtz@elsevier.co.uk}, + abstract = {dvips header for making n-up pages.}, + status = {free}, + texlive = {dvips3} +} + +@TeXIndex{psafm, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {AFM files for PostScript fonts.}, + status = {free}, + texlive = {fonts3} +} + +@TeXIndex{pspk, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {PK files for common PostScript fonts.}, + status = {free}, + texlive = {fonts3} +} + +@TeXIndex{rs6000-aix4.1, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for RS6000 running AIX 4.1.}, + status = {free}, + texlive = {systems1} +} + +@TeXIndex{rs6000-aix4.1.4.0, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for RS6000 running AIX 4.1.4.0}, + status = {free}, + texlive = {systems1} +} + +@TeXIndex{sparc-solaris2.5.1, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for Sun Sparc running Solaris 2.5.1.}, + status = {free}, + texlive = {systems1} +} + +@TeXIndex{texlive, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Basic material for \TeXLive{}.}, + status = {free}, + texlive = {texlive1} +} + +@TeXIndex{tug, + modified = {February 1999, s.rahtz@elsevier.co.uk}, + abstract = {\TeX\ Users Group information.}, + status = {free}, + texlive = {doc3} +} + +@TeXIndex{useful, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Useful documentation; various \LaTeX{} guides, FAQ, + fontname docs, etc.}, + status = {free}, + texlive = {doc2} +} + +@TeXIndex{win32, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for Windows 32.}, + status = {free}, + texlive = {systems1} +} diff --git a/Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.bst b/Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.bst new file mode 100644 index 00000000000..a4954030c95 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.bst @@ -0,0 +1,60 @@ +ENTRY + { + name + status + abstract + texlive + author + ctan + keywords + version + also + modified + } + {} % no integer entry variables + { label extra.label sort.label } % label entry variables + + +STRINGS { s t a.name } + + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +INTEGERS { nameptr namesleft numnames } + + +FUNCTION {TexIndex} { + texlive empty$ + { } + { "\bibitem{" cite$ * "}" * write$ + cite$ "&" * write$ + status "&" * write$ + texlive "&" * write$ + newline$ + abstract write$ + newline$ + } + if$ + } + + +READ + +ITERATE {call.type$} + diff --git a/Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.sty-2003 b/Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.sty-2003 new file mode 100644 index 00000000000..3b75b7b5bfd --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.sty-2003 @@ -0,0 +1,378 @@ +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{tex-live}[2003/09/01 v1.0 TeX Live documentation style] +% +\RequirePackage{alltt} +\RequirePackage{array} +\RequirePackage{colortbl} +\RequirePackage{graphicx} +\RequirePackage{here} +\RequirePackage{longtable} +\RequirePackage{pslatex} +\RequirePackage{shortvrb} +\RequirePackage[normalem]{ulem} +\RequirePackage[obeyspaces]{url} +\RequirePackage{xspace} +\usepackage[T1]{fontenc} +\usepackage[latin1]{inputenc} +%\usepackage[textcomp]{lmodern} +% +\RequirePackage{europs} +\let\euro\EUR +% +\RequirePackage{mflogo} +\def\MP{MetaPost} +\let\mf\MF +% +% for a proper \acro command (even in the context of the definition in +% ltugboat -- \DRC overrides without checking) +\RequirePackage{relsize} +\DeclareRobustCommand{\acro}[1]{\textsmaller{#1}\@} +% +\RequirePackage{fancyvrb} +\DefineVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\normalsize} +\DefineVerbatimEnvironment{fverbatim}{Verbatim}{fontsize=\footnotesize} +\DefineVerbatimEnvironment{sverbatim}{Verbatim}{fontsize=\small} +\DefineVerbatimEnvironment{boxedverbatim} + {Verbatim}{fontsize=\scriptsize,frame=single} +\DefineVerbatimEnvironment{Verbatim}{Verbatim}{fontsize=\normalsize} +\def\verbatiminput#1{\VerbatimInput[fontsize=\scriptsize]{#1}} +\def\boxedverbatiminput#1{\VerbatimInput[frame=single,fontsize=\scriptsize]{#1}} +\def\listinginput#1#2{\VerbatimInput[fontsize=\scriptsize,firstnumber=#1,numbers=left]{#2}} +\MakeShortVerb\| +% +% +% Done with packages. +% +% Page layout. +\advance\textwidth by 1.1in +\advance\oddsidemargin by -.55in +\advance\evensidemargin by -.55in +% +\advance\textheight by 1in +\advance\topmargin by -.5in +\advance\footskip by -.5in +\pagestyle{headings} +% +% LaTeX parameters. +\renewcommand{\topfraction}{0.85} +\renewcommand{\floatpagefraction}{0.86} +\renewcommand{\textfraction}{0.1} +\renewcommand{\belowcaptionskip}{4pt} +\setcounter{tocdepth}{2} +\setcounter{topnumber}{5} +\setcounter{totalnumber}{5} +% +% linebreaking, etc. +\pretolerance=1000 +\tolerance=1500 +\hbadness=3000 +\vbadness=3000 +\hyphenpenalty=400 +\emergencystretch=.1\hsize +\relpenalty=500 +% +% fonts +\let\sl\it +\let\slfamily\itfamily +\let\textsl\textit +%\def\ttdefault{cmtt} +\def\ttdefault{lmtt} +% +% various sorts of names +\newcommand*{\pkgname}[1]{\textsf{#1}}% package name +\newcommand*{\optname}[1]{\texttt{#1}}% (package,class) option name +\newcommand*{\cmdname}[1]{\textsf{#1}}% command name +\newcommand*{\colname}[1]{\emph{#1}}% collection name +\newcommand*{\dirname}[1]{\path{#1}}% directory name +\newcommand*{\filename}[1]{\path{#1}}% file name +\newcommand*{\envname}[1]{\texttt{#1}}% environment variable name +\newcommand{\code}[1]{\texttt{#1}} +\newcommand{\file}[1]{\texttt{#1}} +\newcommand{\prog}[1]{\texttt{#1}} +\newcommand{\samp}[1]{`\texttt{#1}'} +\newcommand{\var}[1]{\emph{#1}} +\newcommand{\ttvar}[1]{\texttt{\var{#1}}} +% +% underlined command input. +\def\Ucom#1{% + \uline{\rule[-.2\baselineskip]{0pt}{.9\baselineskip}\ttfamily #1}} +\def\OnCD#1{\href{../../../../#1}{\path{#1}}} +% +% GUI menu/button/tab sequence: +\def\guiseq#1{\textsf{#1}} +\def\arw{\unskip$\rightarrow$\ignorespaces} +% +% Special names. +\def\dpi{$\,$dpi\xspace} +\def\bs{{\protect\normalfont\ttfamily\char'134}} +\DeclareRobustCommand{\cs}[1]{{\normalfont\ttfamily\char`\\#1}} +\def\Q#1{\par\vskip6pt\leftline{#1}\par} +\def\hyph{-} +% +% many abbreviations. +\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% + \hbox{$\mathcal{S}$}\kern-.075em $} +\def\AFMtoTFM{\cmdname{AFM2TFM}\null} +\def\bv{\emph{Baskerville}} +\let\BV=\bv +\def\Dash{\unskip\nobreak\thinspace---\thinspace\ignorespaces} +\def\dvicopy{\cmdname{dvicopy}} +\def\dvidvi{\cmdname{dvidvi}} +\def\dvips{\cmdname{dvips}} +\def\eTeX{$\varepsilon$-\TeX} +\def\fpTeX{\textrm{fp}\TeX\xspace} +\def\GFtoDVI{\cmdname{GFtoDVI}\null} +\def\GFtoPK{\cmdname{GFtoPK}\null} +\def\GFtype{\cmdname{GFtype}} +\def\KPS{Kpathsea} +\def\La{La} +\def\OMEGA{$\Omega$} +\def\OzMF{OzMF} +\def\OzMP{OzMP} +\def\OzTeX{O\kern-.03em z\kern-.15em\TeX} +\def\PKtype{\cmdname{PKtype}} +\def\PLtoTF{\cmdname{PLtoTF}\null} +\def\teTeX{\textrm{te}\TeX\xspace} +\def\TeXLive{\TeX{} Live\xspace} +\def\TFtoPL{\cmdname{TFtoPL}\null} +\def\TK{\textsf{\TeX-Collection}} +\def\TypeI{Type~1} +\def\VFtoVP{\cmdname{VFtoVP}\null} +\def\VPtoVF{\cmdname{VPtoVF}\null} +\def\XEmTeX{\textrm{XEm}\TeX\xspace} +\def\XEmacs{\textrm{XEmacs}\xspace} +\def\Webc{Web2C} +\providecommand*{\CD}{\acro{CD}\xspace} +\providecommand*{\CTAN}{\acro{CTAN}\xspace} +\providecommand*{\DVD}{\acro{DVD}\xspace} +\providecommand*{\HTML}{\acro{HTML}\xspace} +\providecommand*{\MacOSX}{Mac\,\acro{OS\,X}\xspace} +\providecommand*{\PS}{Post\-Script\xspace} +\providecommand*{\TDS}{\acro{TDS}\xspace} +\providecommand*{\dvi}{\acro{DVI}\xspace} +\providecommand*{\web}{\texttt{web}\xspace} +% +% description-like environment that uses tt instead of bf, and doesn't +% go to the left margin. Without the \hfil, get an underfull box. +% Don't why \descriptionlabel doesn't. +\newenvironment{ttdescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt % these lists tend to have short descriptions + \let\makelabel=\ttdescriptionlabel}}% + {\end{list}} +\newcommand*\ttdescriptionlabel[1]{\hspace\labelsep + \normalfont\ttfamily #1\hfil} +% +% Likewise, for commands using sans serif. +\newenvironment{cmddescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt + \let\makelabel=\cmddescriptionlabel}}% + {\end{list}} +\newcommand*\cmddescriptionlabel[1]{\hspace\labelsep + \normalfont\sffamily #1\hfil} +% +\newsavebox{\wbox} +\newenvironment{warningbox} + {\begin{lrbox}{\wbox} + \begin{minipage}{.95\textwidth}} + {\end{minipage}\end{lrbox}\fbox{\usebox{\wbox}}} +% +% lrbox is used as a representation marking. I changed it to +% lrBox in tne source file, to get closer to logical marking +\newsavebox{\mylrbox} +\newenvironment{lrBox} + {\begin{lrbox}{\mylrbox}} + {\end{lrbox}} +% +% +% output setup +% +\newif\ifSingleColumn +\providecommand{\Status}{0} +%\typeout{Status is \Status} +% +% By default, we won't be creating hyperlinks. +\def\href#1#2{#2} +\def\hypertarget#1#2{} +\def\email#1{\href{mailto:#1}{\path{#1}}} % \path comes from url +% +% +\ifcase\Status + % \Status = 0 + \typeout{TeX Live documentation for printing} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 1 + \typeout{TeX Live documentation in PDF format} + \RequirePackage[colorlinks,bookmarksopen, + pdfstartview={FitBH -320000},hyperindex]{hyperref} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 2 + \typeout{TeX Live documentation in HTML format} + \RequirePackage[latex4ht]{tex4ht} + \or + % \Status = 3 + \typeout{TeX Live documentation as a Baskerville issue} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \RequirePackage{bvoutln}% outline of baskerville + \RequirePackage{multicol} + \SingleColumnfalse + \or + % \Status = 4 + \typeout{TeX Live documentation as a TUB article} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \SingleColumnfalse + \newenvironment{multicols}[1]{}{} +\fi +% +\ifnum \Status=4 +\else + \RequirePackage{texnames} + \providecommand\TeXXeT{\TeX-{}-% + \kern-.1emX\kern-.125em\lower.5ex\hbox{E}\kern-.1667emT\@} +\fi +% +% hacking at sections etc., to pay attention to baskerville status +\newcommand{\@condend@multicols}{% + \ifSingleColumn + \else + \def\@tempa{multicols}% + \ifx\@tempa\@currenvir + \end{multicols}% + \fi + \fi +} +\let\Section\section +\renewcommand{\section}{% + \@ifstar + {\Section*}% + {% + \@condend@multicols + \@dblarg\@full@section + }% +} +\def\@full@section[#1]#2{% + \Section[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} +\let\SubSection\subsection +\renewcommand{\subsection}{% + \@ifstar{\SubSection*}% + {% + \@condend@multicols + \@dblarg\@full@subsection + } +} +\def\@full@subsection[#1]#2{% + \SubSection[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} + +% calm things down a bit if we're in a multiple-column version +\ifSingleColumn +\else + \def\@listI{\leftmargin\leftmargini + \parsep \z@ + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \itemsep \z@ \@plus .1\p@ + } + \let\@listi\@listI + \@listi + \def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \itemsep \z@ \@plus .1\p@ + } + \def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 1\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \partopsep \z@ + \itemsep \topsep + } + \def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep + } + \def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep + } + \def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep + } +\fi +% +% array package stuff +\def\arraybackslash{\let\\=\@arraycr} +\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}} +% +% shaded rows (using facilities of colortbl) +% +\definecolor{pale}{gray}{.9} +\newcount\colrow +\gdef\RowColor{pale} +\def\SetRowColor{% + \rowcolor{\RowColor}% + \global\advance\colrow by1\relax + \ifodd\colrow + \gdef\RowColor{pale}% + \else + \gdef\RowColor{white}% + \fi +} +% redefine to hack up a reference even though we don't need it... +\renewcommand\@bibitem[1]{\if@filesw \immediate\write\@auxout + {\string\bibcite{#1}{?}}\fi\ignorespaces} +% +% \unknownTeXlive is a dummy texlive entry for the biblio +\newcommand\unknownTeXlive[2][\relax]{\textbf{\textsc{unknown}}% + \global\@all@unknown\expandafter{\the\@all@unknown{#2}}% +} +\newtoks\@all@unknown +\global\@all@unknown{} +\AtEndDocument{\@message@unknowns} +\def\@message@unknowns{\edef\@tempa{\the\@all@unknown}% + \ifx\@tempa\@empty + \else + \def\@tempa{*** TeX live package location of }% + \expandafter\@output@unknowns\the\@all@unknown\@empty + \fi +} +\def\@output@unknowns#1{\edef\@tempb{#1}% + \ifx\@tempb\@empty + \typeout{ unknown}% + \else + \message{\@tempa#1,}% + \def\@tempa{}% + \expandafter\@output@unknowns + \fi +} +% +% a hack for the bibliography +\bibliographystyle{tex-live} +\newif\iffirstbibentry +\global\firstbibentrytrue +\let\@@bibitem\bibitem +\renewcommand\bibitem{\iffirstbibentry + \global\firstbibentryfalse + \else + \\\SetRowColor + \fi + \@@bibitem +} + + +% for \Dings +\RequirePackage{pifont} +% available for inter-article dinglines +\def\Dings{\nopagebreak{\footnotesize\dingline{167}}} + +\endinput diff --git a/Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.sty-2004 b/Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.sty-2004 new file mode 100644 index 00000000000..54ff32dbe53 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.sty-2004 @@ -0,0 +1,422 @@ +% $Id$ +% TeX Live documentation style. Written by many people over many years. +% Public domain. +% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{tex-live}[2004/11/07 v1.0 TeX Live documentation style] +% +\RequirePackage{alltt} +\RequirePackage{array} +\RequirePackage{colortbl} +\RequirePackage{comment} +\RequirePackage{graphicx} +\RequirePackage{here} +\RequirePackage{longtable} +\RequirePackage{shortvrb} +\RequirePackage[normalem]{ulem} +\RequirePackage[obeyspaces]{url} +\RequirePackage{xspace} +% +\RequirePackage{lmodern} +\usepackage{textcomp}% including \textbullet +\usepackage[T1]{fontenc} +\usepackage[latin1]{inputenc} +% +% for a proper \acro command (even in the context of the definition in +% ltugboat -- \DRC overrides without checking) +\RequirePackage{relsize} +\DeclareRobustCommand{\acro}[1]{\textsmaller{#1}\@} +% +\RequirePackage{fancyvrb} +\DefineVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\normalsize} +\DefineVerbatimEnvironment{fverbatim}{Verbatim}{fontsize=\footnotesize} +\DefineVerbatimEnvironment{sverbatim}{Verbatim}{fontsize=\small} +\DefineVerbatimEnvironment{boxedverbatim} + {Verbatim}{fontsize=\scriptsize,frame=single} +\DefineVerbatimEnvironment{Verbatim}{Verbatim}{fontsize=\normalsize} +\def\verbatiminput#1{\VerbatimInput[fontsize=\scriptsize]{#1}} +\def\boxedverbatiminput#1{\VerbatimInput[frame=single,fontsize=\scriptsize]{#1}} +\def\listinginput#1#2{\VerbatimInput[fontsize=\scriptsize,firstnumber=#1,numbers=left]{#2}} +\MakeShortVerb\| +% +% +% Done with packages. +% +% Page layout. +\advance\textwidth by 1.1in +\advance\oddsidemargin by -.55in +\advance\evensidemargin by -.55in +% +\advance\textheight by 1in +\advance\topmargin by -.5in +\advance\footskip by -.5in +\pagestyle{headings} +% +% LaTeX parameters. +\renewcommand{\topfraction}{0.85} +\renewcommand{\floatpagefraction}{0.86} +\renewcommand{\textfraction}{0.1} +\renewcommand{\belowcaptionskip}{4pt} +\setcounter{tocdepth}{2} +\setcounter{topnumber}{5} +\setcounter{totalnumber}{5} +% +% linebreaking, etc. +\hbadness=4000 +\vbadness=4000 +\emergencystretch=.1\hsize +\relpenalty=500 +% +\def\slash{/\penalty\z@\hskip\z@skip } +% +% various sorts of names +\newcommand*{\pkgname}[1]{\textsf{#1}}% package name +\newcommand*{\optname}[1]{\texttt{#1}}% (package,class) option name +\newcommand*{\cmdname}[1]{\textsf{#1}}% command name +\newcommand*{\colname}[1]{\emph{#1}}% collection name +\newcommand*{\dirname}[1]{\path{#1}}% directory name +\newcommand*{\filename}[1]{\path{#1}}% file name +\newcommand*{\envname}[1]{\texttt{#1}}% environment variable name +\newcommand{\code}[1]{\texttt{#1}} +\newcommand{\file}[1]{\texttt{#1}} +\newcommand{\prog}[1]{\texttt{#1}} +\newcommand{\samp}[1]{`\texttt{#1}'} +\newcommand{\var}[1]{{\sl #1}}% not \textsl, for roman not typewriter slanted. +\newcommand{\ttvar}[1]{\texttt{\var{#1}}} +% +% underlined command input. +\def\Ucom#1{% + \uline{\rule[-.2\baselineskip]{0pt}{.9\baselineskip}\ttfamily #1}} +% +% \CDref is for url's with a #, where we need to write the target url and +% displayed url separately in the input, due to catcode madness. +% (We could simplify/remove this next time, I think.) +\def\CDref#1#2{\texttt{#1}} +% +% \OnCD is currently for any other reference to a file or directory in +% the distribution. PDF readers only open .pdf files, though, so we +% should change this to only use \href for those. Or more likely use +% different macros in the source. +\def\OnCD#1{\href{../../../../#1}{\path{#1}}} +% +% \href incorrectly appends .pdf to anything without an extension; these +% definitions using \hyper@linkurl do not, but they fail for .pdf +% references -- which are the only ones that work anyway. So this is +% useless, in practice. +%\def\CDref#1#2{\hyper@linkurl{#2}{../../../../#1}} +%\def\OnCD#1{\hyper@linkurl{\path{#1}}{../../../../#1}} + +% GUI menu/button/tab sequence: +\def\guiseq#1{\textsf{#1}} +\def\arw{\unskip$\rightarrow$\ignorespaces} +% +% Special names. +\def\dpi{$\,$dpi\xspace} +\def\bs{{\protect\normalfont\ttfamily\char'134}} +\DeclareRobustCommand{\cs}[1]{{\normalfont\ttfamily\char`\\#1}} +\def\Q#1{\par\vskip6pt\leftline{#1}\par} +\def\hyph{-} +% +% many abbreviations. +\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% + \hbox{$\mathcal{S}$}\kern-.075em $} +\def\AFMtoTFM{\cmdname{AFM2TFM}\null} +\def\bv{\emph{Baskerville}} +\let\BV=\bv +\def\Dash{\unskip\nobreak\thinspace---\thinspace\ignorespaces} +\def\dvicopy{\cmdname{dvicopy}} +\def\dvidvi{\cmdname{dvidvi}} +\def\dvips{\cmdname{dvips}} +\def\eTeX{$\varepsilon$-\TeX} +\def\fpTeX{\textrm{fp}\TeX\xspace} +\def\GFtoDVI{\cmdname{GFtoDVI}\null} +\def\GFtoPK{\cmdname{GFtoPK}\null} +\def\GFtype{\cmdname{GFtype}} +\def\KPS{Kpathsea} +\def\La{La} +\def\OMEGA{$\Omega$} +\def\OzMF{OzMF} +\def\OzMP{OzMP} +\def\OzTeX{O\kern-.03em z\kern-.15em\TeX} +\def\p.{p.\,} +\def\PKtype{\cmdname{PKtype}} +\def\PLtoTF{\cmdname{PLtoTF}\null} +\def\ProTeXt{Pro\TeX t} +\def\teTeX{\textrm{te}\TeX\xspace} +\def\TeXLive{\TeX{} Live\xspace} +\def\TFtoPL{\cmdname{TFtoPL}\null} +\def\TK{\textsf{\TeX-Collection}} +\let\TL=\TeXLive +\def\TypeI{Type~1} +\def\VFtoVP{\cmdname{VFtoVP}\null} +\def\VPtoVF{\cmdname{VPtoVF}\null} +\def\Thanh{H\`an~Th\^e\llap{\raise 0.5ex\hbox{\'{}}}~Th\`anh} +\def\XEmTeX{\textrm{XEm}\TeX\xspace} +\def\XEmacs{\textrm{XEmacs}\xspace} +\def\Webc{Web2C} +\providecommand*{\CD}{\acro{CD}\xspace} +\providecommand*{\CTAN}{\acro{CTAN}\xspace} +\providecommand*{\DVD}{\acro{DVD}\xspace} +\providecommand*{\HTML}{\acro{HTML}\xspace} +\providecommand*{\MacOSX}{Mac\,\acro{OS\,X}\xspace} +\providecommand*{\PS}{Post\-Script\xspace} +\providecommand*{\TDS}{\acro{TDS}\xspace} +\providecommand*{\dvi}{\acro{DVI}\xspace} +\providecommand*{\web}{\texttt{web}\xspace} + +% Include an image. +% #1 - name of image (pictures/#1.jpg, always .jpg please) +% #2 - bb for html +% #3 - width for TeX +% +\def\tlimage#1#2#3{% + \ifnum \Status=2 % html, want relative path in output + \includegraphics[#2]{../../general/texlive-common/pictures/#1.jpg} + \else % not html, handled by TEXINPUTS in Makefile + \includegraphics[width=#3]{pictures/#1.jpg} + \fi + \\[5mm] +} +% +% description-like environment that uses tt instead of bf, and doesn't +% go to the left margin. Without the \hfil, get an underfull box. +% Don't know why \descriptionlabel doesn't. +% +\newenvironment{ttdescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt % these lists tend to have short descriptions + \parindent=0pt + \let\makelabel=\ttdescriptionlabel}}% + {\end{list}} +\newcommand*\ttdescriptionlabel[1]{\hspace\labelsep + \normalfont\ttfamily #1\hfil} +% +% Likewise, for commands using sans serif. +\newenvironment{cmddescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt + \let\makelabel=\cmddescriptionlabel}}% + {\end{list}} +\newcommand*\cmddescriptionlabel[1]{\hspace\labelsep + \normalfont\sffamily #1\hfil} + +% General squeezed itemize. +\newenvironment{itemize*}% + {\begin{itemize}% + \setlength{\itemsep}{0pt}% + \setlength{\parskip}{0pt}}% + {\end{itemize}} + +\newsavebox{\wbox} +\newenvironment{warningbox} + {\begin{lrbox}{\wbox} + \begin{minipage}{.95\textwidth}} + {\end{minipage}\end{lrbox}\fbox{\usebox{\wbox}}} +% +% lrbox is used as a representation marking. I changed it to +% lrBox in tne source file, to get closer to logical marking +\newsavebox{\mylrbox} +\newenvironment{lrBox} + {\begin{lrbox}{\mylrbox}} + {\end{lrbox}} + + +% emacs-page output setup +% +\newif\ifSingleColumn +\providecommand{\Status}{0} +%\typeout{Status is \Status} +% +% By default, we won't be creating hyperlinks. +\def\href#1#2{#2} +\def\hypertarget#1#2{} +\def\email#1{\href{mailto:#1}{\path{#1}}} % \path comes from url +% +\definecolor{hypercolor}{rgb}{0.5,0.0,0.5} % purplish external links. +% +% +\ifcase\Status + % \Status = 0 + \typeout{TeX Live documentation in DVI format} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 1 + \typeout{TeX Live documentation in PDF format} + \RequirePackage[breaklinks, + colorlinks,linkcolor=hypercolor,citecolor=hypercolor, + pagecolor=hypercolor,urlcolor=hypercolor, + filecolor=hypercolor, + bookmarksopen,pdfstartview={FitBH -320000},hyperindex] + {hyperref} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 2 + \typeout{TeX Live documentation in HTML format} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + % read our config file, live4ht.cfg; q.v., for more definitions. + % hyperref load must come after the tex4ht load. + \RequirePackage[live4ht]{tex4ht} + \RequirePackage[tex4ht]{hyperref} \hyperlinkfileprefix{} + % definitions need simplifying for TeX4ht to make relative paths work. + \def\CDref#1#2{\href{../../../../#1}{#2}} + \def\OnCD#1{\href{../../../../#1}{#1}} + \or + % \Status = 3 + \typeout{TeX Live documentation as a Baskerville issue} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \RequirePackage{bvoutln}% outline of baskerville + \SingleColumnfalse + \RequirePackage{multicol} + \or + % \Status = 4 + \typeout{TeX Live documentation as a TUB article} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \SingleColumnfalse + \newenvironment{multicols}[1]{}{} +\fi +% +\ifnum \Status=4 +\else + \RequirePackage{texnames} + \providecommand\TeXXeT{\TeX-{}-% + \kern-.1emX\kern-.125em\lower.5ex\hbox{E}\kern-.1667emT\@} + \def\MP{MetaPost} + \let\mf\MF + \newcommand\ConTeXt{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt} + \newcommand\MIKTEX{MiK\kern-.025em \TeX}% per www.miktex.org + % from pictex.tex: + \ifx\PiC\undefined \def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC} \fi + \ifx\PiCTeX\undefined \def\PiCTeX{\PiC\kern-.11em\TeX} \fi +\fi +% +% hacking at sections etc., to pay attention to baskerville status +\newcommand{\@condend@multicols}{% + \ifSingleColumn + \else + \def\@tempa{multicols}% + \ifx\@tempa\@currenvir + \end{multicols}% + \fi + \fi +} +\let\Section\section +\renewcommand{\section}{% + \@ifstar + {\Section*}% + {% + \@condend@multicols + \@dblarg\@full@section + }% +} +\def\@full@section[#1]#2{% + \Section[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} +\let\SubSection\subsection +\renewcommand{\subsection}{% + \@ifstar{\SubSection*}% + {% + \@condend@multicols + \@dblarg\@full@subsection + } +} +\def\@full@subsection[#1]#2{% + \SubSection[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} + +% calm things down a bit if we're in a multiple-column version +\ifSingleColumn +\else + \def\@listI{\leftmargin\leftmargini + \parsep \z@ + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \itemsep \z@ \@plus .1\p@ + } + \let\@listi\@listI + \@listi + \def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \itemsep \z@ \@plus .1\p@ + } + \def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 1\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \partopsep \z@ + \itemsep \topsep + } + \def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep + } + \def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep + } + \def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep + } +\fi +% +% array package stuff +\def\arraybackslash{\let\\=\@arraycr} +\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}} +% +% shaded rows (using facilities of colortbl) +% +\definecolor{pale}{gray}{.9} +\newcount\colrow +\gdef\RowColor{pale} +\def\SetRowColor{% + \rowcolor{\RowColor}% + \global\advance\colrow by1\relax + \ifodd\colrow + \gdef\RowColor{pale}% + \else + \gdef\RowColor{white}% + \fi +} +% redefine to hack up a reference even though we don't need it... +\renewcommand\@bibitem[1]{\if@filesw \immediate\write\@auxout + {\string\bibcite{#1}{?}}\fi\ignorespaces} +% +% \unknownTeXlive is a dummy texlive entry for the biblio +\newcommand\unknownTeXlive[2][\relax]{\textbf{\textsc{unknown}}% + \global\@all@unknown\expandafter{\the\@all@unknown{#2}}% +} +\newtoks\@all@unknown +\global\@all@unknown{} +\AtEndDocument{\@message@unknowns} +\def\@message@unknowns{\edef\@tempa{\the\@all@unknown}% + \ifx\@tempa\@empty + \else + \def\@tempa{*** TeX live package location of }% + \expandafter\@output@unknowns\the\@all@unknown\@empty + \fi +} +\def\@output@unknowns#1{\edef\@tempb{#1}% + \ifx\@tempb\@empty + \typeout{ unknown}% + \else + \message{\@tempa#1,}% + \def\@tempa{}% + \expandafter\@output@unknowns + \fi +} + + +% Silence font warnings about no bold typewriter in LM. +\def\@font@warning#1{}% + +% Silence hyperref warnings about \kern. +\def\HyPsd@Warning#1{}% + +\endinput diff --git a/Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.sty-2005 b/Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.sty-2005 new file mode 100644 index 00000000000..487c8b8d7a2 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.sty-2005 @@ -0,0 +1,429 @@ +% $Id: tex-live.sty 1513 2006-02-13 00:22:35Z karl $ +% TeX Live documentation style. Written by many people over many years. +% Public domain. +% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{tex-live}[2005/09/24 v1.5 TeX Live documentation style] +% +\RequirePackage{alltt} +\RequirePackage{array} +\RequirePackage{colortbl} +\RequirePackage{comment} +\RequirePackage{float} +\RequirePackage{graphicx} +\RequirePackage{longtable} +\RequirePackage{shortvrb} +\RequirePackage[normalem]{ulem} +\RequirePackage[obeyspaces]{url} +\RequirePackage{xspace} +% +\RequirePackage{lmodern} +\usepackage{textcomp}% including \textbullet +\usepackage[T1]{fontenc} +\usepackage[latin1]{inputenc} +% +% for a proper \acro command (even in the context of the definition in +% ltugboat -- \DRC overrides without checking) +\RequirePackage{relsize} +\DeclareRobustCommand{\acro}[1]{\textsmaller{#1}\@} +% +\RequirePackage{fancyvrb} +\DefineVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\normalsize} +\DefineVerbatimEnvironment{fverbatim}{Verbatim}{fontsize=\footnotesize} +\DefineVerbatimEnvironment{sverbatim}{Verbatim}{fontsize=\small} +\DefineVerbatimEnvironment{boxedverbatim} + {Verbatim}{fontsize=\scriptsize,frame=single} +\DefineVerbatimEnvironment{Verbatim}{Verbatim}{fontsize=\normalsize} +\def\verbatiminput#1{\VerbatimInput[fontsize=\scriptsize]{#1}} +\def\boxedverbatiminput#1{\VerbatimInput[frame=single,fontsize=\scriptsize]{#1}} +\def\listinginput#1#2{\VerbatimInput[fontsize=\scriptsize,firstnumber=#1,numbers=left]{#2}} +\MakeShortVerb\| +% +% +% Done with packages. +% +% Page layout. +\advance\textwidth by 1.1in +\advance\oddsidemargin by -.55in +\advance\evensidemargin by -.55in +% +\advance\textheight by 1in +\advance\topmargin by -.5in +\advance\footskip by -.5in +\pagestyle{headings} +% +% LaTeX parameters. +\renewcommand{\topfraction}{0.85} +\renewcommand{\floatpagefraction}{0.86} +\renewcommand{\textfraction}{0.1} +\renewcommand{\belowcaptionskip}{4pt} +\setcounter{tocdepth}{2} +\setcounter{topnumber}{5} +\setcounter{totalnumber}{5} +% +% linebreaking, etc. +\hbadness=4000 +\vbadness=4000 +\emergencystretch=.1\hsize +\relpenalty=500 +% +\def\slash{/\penalty\z@\hskip\z@skip } +% +% various sorts of names +\newcommand*{\pkgname}[1]{\textsf{#1}}% package name +\newcommand*{\optname}[1]{\texttt{#1}}% (package,class) option name +\newcommand*{\cmdname}[1]{\textsf{#1}}% command name +\newcommand*{\colname}[1]{\emph{#1}}% collection name +\newcommand*{\dirname}[1]{\path{#1}}% directory name +\newcommand*{\filename}[1]{\path{#1}}% file name +\newcommand*{\envname}[1]{\texttt{#1}}% environment variable name +\newcommand{\code}[1]{\texttt{#1}} +\newcommand{\file}[1]{\texttt{#1}} +\newcommand{\prog}[1]{\texttt{#1}} +\newcommand{\samp}[1]{`\texttt{#1}'} +\newcommand{\var}[1]{{\sl #1}}% not \textsl, for roman not typewriter slanted. +\newcommand{\ttvar}[1]{\texttt{\var{#1}}} +% +% underlined command input. +\def\Ucom#1{% + \uline{\rule[-.2\baselineskip]{0pt}{.9\baselineskip}\ttfamily #1}} +% +% \CDref is for url's with a #, where we need to write the target url and +% displayed url separately in the input, due to catcode madness. +% (We could simplify/remove this next time, I think.) +\def\CDref#1#2{\texttt{#1}} +% +% \OnCD is currently for any other reference to a file or directory in +% the distribution. PDF readers only open .pdf files, though, so we +% should change this to only use \href for those. Or more likely use +% different macros in the source. +\def\OnCD#1{\href{../../../../#1}{\path{#1}}} +% +% \href incorrectly appends .pdf to anything without an extension; these +% definitions using \hyper@linkurl do not, but they fail for .pdf +% references -- which are the only ones that work anyway. So this is +% useless, in practice. +%\def\CDref#1#2{\hyper@linkurl{#2}{../../../../#1}} +%\def\OnCD#1{\hyper@linkurl{\path{#1}}{../../../../#1}} + +% GUI menu/button/tab sequence: +\def\guiseq#1{\textsf{#1}} +\def\arw{\unskip$\rightarrow$\ignorespaces} +% +% Special names. +\def\dpi{$\,$dpi\xspace} +\def\bs{{\protect\normalfont\ttfamily\char'134}} +\DeclareRobustCommand{\cs}[1]{{\normalfont\ttfamily\char`\\#1}} +\def\Q#1{\par\vskip6pt\leftline{#1}\par} +\def\hyph{-} +% +% many abbreviations. +\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% + \hbox{$\mathcal{S}$}\kern-.075em $} +\def\AFMtoTFM{\cmdname{AFM2TFM}\null} +\def\bv{\emph{Baskerville}} +\let\BV=\bv +\def\Dash{\unskip\nobreak\thinspace---\thinspace\ignorespaces} +\def\dvicopy{\cmdname{dvicopy}} +\def\dvidvi{\cmdname{dvidvi}} +\def\dvips{\cmdname{dvips}} +\def\eTeX{$\varepsilon$-\TeX} +\def\fpTeX{\textrm{fp}\TeX\xspace} +\def\GFtoDVI{\cmdname{GFtoDVI}\null} +\def\GFtoPK{\cmdname{GFtoPK}\null} +\def\GFtype{\cmdname{GFtype}} +\def\KPS{Kpathsea} +\def\La{La} +\def\OMEGA{$\Omega$} +\def\OzMF{OzMF} +\def\OzMP{OzMP} +\def\OzTeX{O\kern-.03em z\kern-.15em\TeX} +\def\p.{p.\,} +\def\PKtype{\cmdname{PKtype}} +\def\PLtoTF{\cmdname{PLtoTF}\null} +\def\ProTeXt{Pro\TeX t} +\def\teTeX{\textrm{te}\TeX\xspace} +\def\TeXLive{\TeX{} Live\xspace} +\def\TFtoPL{\cmdname{TFtoPL}\null} +\def\TK{\textsf{\TeX\ Collection}} +\let\TL=\TeXLive +\def\TypeI{Type~1} +\def\VFtoVP{\cmdname{VFtoVP}\null} +\def\VPtoVF{\cmdname{VPtoVF}\null} +\def\Thanh{H\`an~Th\^e\llap{\raise 0.5ex\hbox{\'{}}}~Th\`anh} +\def\XEmTeX{\textrm{XEm}\TeX\xspace} +\def\XEmacs{\textrm{XEmacs}\xspace} +\def\Webc{Web2C} +\providecommand*{\CD}{\acro{CD}\xspace} +\providecommand*{\CTAN}{\acro{CTAN}\xspace} +\providecommand*{\DVD}{\acro{DVD}\xspace} +\providecommand*{\HTML}{\acro{HTML}\xspace} +\providecommand*{\MacOSX}{Mac\,\acro{OS\,X}\xspace} +\providecommand*{\PS}{Post\-Script\xspace} +\providecommand*{\TDS}{\acro{TDS}\xspace} +\providecommand*{\dvi}{\acro{DVI}\xspace} +\providecommand*{\web}{\texttt{web}\xspace} + +% Include an image. +% #1 - name of image (pictures/#1.jpg, always .jpg please) +% #2 - bb for html +% #3 - width for TeX +% +\def\tlimage#1#2#3{% + \ifnum \Status=2 % html, want relative path in output + \includegraphics[#2]{../../general/texlive-common/pictures/#1.jpg} + \else % not html, handled by TEXINPUTS in Makefile + \includegraphics[width=#3]{pictures/#1.jpg} + \fi + \\[5mm] +} +% +% description-like environment that uses tt instead of bf, and doesn't +% go to the left margin. Without the \hfil, get an underfull box. +% Don't know why \descriptionlabel doesn't. +% +\newenvironment{ttdescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt % these lists tend to have short descriptions + \parindent=0pt + \let\makelabel=\ttdescriptionlabel}}% + {\end{list}} +\newcommand*\ttdescriptionlabel[1]{\hspace\labelsep + \normalfont\ttfamily #1\hfil} +% +% Likewise, for commands using sans serif. +\newenvironment{cmddescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt + \let\makelabel=\cmddescriptionlabel}}% + {\end{list}} +\newcommand*\cmddescriptionlabel[1]{\hspace\labelsep + \normalfont\sffamily #1\hfil} + +% General squeezed itemize. +\newenvironment{itemize*}% + {\begin{itemize}% + \setlength{\itemsep}{0pt}% + \setlength{\parskip}{0pt}}% + {\end{itemize}} + +\newsavebox{\wbox} +\newenvironment{warningbox} + {\begin{lrbox}{\wbox} + \begin{minipage}{.95\textwidth}} + {\end{minipage}\end{lrbox}\fbox{\usebox{\wbox}}} +% +% lrbox is used as a representation marking. I changed it to +% lrBox in tne source file, to get closer to logical marking +\newsavebox{\mylrbox} +\newenvironment{lrBox} + {\begin{lrbox}{\mylrbox}} + {\end{lrbox}} + + +% emacs-page output setup +% +\ifx \HCode\UnDef + \providecommand{\Status}{0}% running TeX +\else + \providecommand{\Status}{2}% running TeX4ht +\fi +%\typeout{Status is \Status} +% +\newif\ifSingleColumn +% +% By default, we won't be creating hyperlinks. +\def\href#1#2{#2} +\def\hypertarget#1#2{} +\def\email#1{\href{mailto:#1}{\path{#1}}} % \path comes from url +% +\definecolor{hypercolor}{rgb}{0.5,0.0,0.5} % purplish external links. +% +% +\ifcase\Status + % \Status = 0 + \typeout{TeX Live documentation in DVI format} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 1 + \typeout{TeX Live documentation in PDF format} + \RequirePackage[breaklinks, + colorlinks,linkcolor=hypercolor,citecolor=hypercolor, + pagecolor=hypercolor,urlcolor=hypercolor, + filecolor=hypercolor, + bookmarksopen, + %pdfstartview={FitBH -320000}, % fails with acrobat7 + hyperindex] + {hyperref} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 2 + \typeout{TeX Live documentation in HTML format} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + % read our config file, live4ht.cfg; q.v., for more definitions. + % hyperref load must come after the tex4ht load. + \RequirePackage[live4ht]{tex4ht} + \RequirePackage[tex4ht]{hyperref} \hyperlinkfileprefix{} + % definitions need simplifying for TeX4ht to make relative paths work. + \def\CDref#1#2{\href{../../../../#1}{#2}} + \def\OnCD#1{\href{../../../../#1}{#1}} + \or + % \Status = 3 + \typeout{TeX Live documentation as a Baskerville issue} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \RequirePackage{bvoutln}% outline of baskerville + \SingleColumnfalse + \RequirePackage{multicol} + \or + % \Status = 4 + \typeout{TeX Live documentation as a TUB article} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \SingleColumnfalse + \newenvironment{multicols}[1]{}{} +\fi +% +\ifnum \Status=4 +\else + \RequirePackage{texnames} + \providecommand\TeXXeT{\TeX-{}-% + \kern-.1emX\kern-.125em\lower.5ex\hbox{E}\kern-.1667emT\@} + \def\MP{MetaPost} + \let\mf\MF + \newcommand\ConTeXt{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt} + \newcommand\MIKTEX{MiK\kern-.025em \TeX}% per www.miktex.org + % from pictex.tex: + \ifx\PiC\undefined \def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC} \fi + \ifx\PiCTeX\undefined \def\PiCTeX{\PiC\kern-.11em\TeX} \fi +\fi +% +% hacking at sections etc., to pay attention to baskerville status +\newcommand{\@condend@multicols}{% + \ifSingleColumn + \else + \def\@tempa{multicols}% + \ifx\@tempa\@currenvir + \end{multicols}% + \fi + \fi +} +\let\Section\section +\renewcommand{\section}{% + \@ifstar + {\Section*}% + {% + \@condend@multicols + \@dblarg\@full@section + }% +} +\def\@full@section[#1]#2{% + \Section[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} +\let\SubSection\subsection +\renewcommand{\subsection}{% + \@ifstar{\SubSection*}% + {% + \@condend@multicols + \@dblarg\@full@subsection + } +} +\def\@full@subsection[#1]#2{% + \SubSection[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} + +% calm things down a bit if we're in a multiple-column version +\ifSingleColumn +\else + \def\@listI{\leftmargin\leftmargini + \parsep \z@ + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \itemsep \z@ \@plus .1\p@ + } + \let\@listi\@listI + \@listi + \def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \itemsep \z@ \@plus .1\p@ + } + \def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 1\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \partopsep \z@ + \itemsep \topsep + } + \def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep + } + \def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep + } + \def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep + } +\fi +% +% array package stuff +\def\arraybackslash{\let\\=\@arraycr} +\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}} +% +% shaded rows (using facilities of colortbl) +% +\definecolor{pale}{gray}{.9} +\newcount\colrow +\gdef\RowColor{pale} +\def\SetRowColor{% + \rowcolor{\RowColor}% + \global\advance\colrow by1\relax + \ifodd\colrow + \gdef\RowColor{pale}% + \else + \gdef\RowColor{white}% + \fi +} +% redefine to hack up a reference even though we don't need it... +\renewcommand\@bibitem[1]{\if@filesw \immediate\write\@auxout + {\string\bibcite{#1}{?}}\fi\ignorespaces} +% +% \unknownTeXlive is a dummy texlive entry for the biblio +\newcommand\unknownTeXlive[2][\relax]{\textbf{\textsc{unknown}}% + \global\@all@unknown\expandafter{\the\@all@unknown{#2}}% +} +\newtoks\@all@unknown +\global\@all@unknown{} +\AtEndDocument{\@message@unknowns} +\def\@message@unknowns{\edef\@tempa{\the\@all@unknown}% + \ifx\@tempa\@empty + \else + \def\@tempa{*** TeX live package location of }% + \expandafter\@output@unknowns\the\@all@unknown\@empty + \fi +} +\def\@output@unknowns#1{\edef\@tempb{#1}% + \ifx\@tempb\@empty + \typeout{ unknown}% + \else + \message{\@tempa#1,}% + \def\@tempa{}% + \expandafter\@output@unknowns + \fi +} + + +% Silence font warnings about no bold typewriter in LM. +\def\@font@warning#1{}% + +% Silence hyperref warnings about \kern. +\def\HyPsd@Warning#1{}% + +\endinput diff --git a/Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.sty-2007 b/Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.sty-2007 new file mode 100644 index 00000000000..487c8b8d7a2 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.sty-2007 @@ -0,0 +1,429 @@ +% $Id: tex-live.sty 1513 2006-02-13 00:22:35Z karl $ +% TeX Live documentation style. Written by many people over many years. +% Public domain. +% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{tex-live}[2005/09/24 v1.5 TeX Live documentation style] +% +\RequirePackage{alltt} +\RequirePackage{array} +\RequirePackage{colortbl} +\RequirePackage{comment} +\RequirePackage{float} +\RequirePackage{graphicx} +\RequirePackage{longtable} +\RequirePackage{shortvrb} +\RequirePackage[normalem]{ulem} +\RequirePackage[obeyspaces]{url} +\RequirePackage{xspace} +% +\RequirePackage{lmodern} +\usepackage{textcomp}% including \textbullet +\usepackage[T1]{fontenc} +\usepackage[latin1]{inputenc} +% +% for a proper \acro command (even in the context of the definition in +% ltugboat -- \DRC overrides without checking) +\RequirePackage{relsize} +\DeclareRobustCommand{\acro}[1]{\textsmaller{#1}\@} +% +\RequirePackage{fancyvrb} +\DefineVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\normalsize} +\DefineVerbatimEnvironment{fverbatim}{Verbatim}{fontsize=\footnotesize} +\DefineVerbatimEnvironment{sverbatim}{Verbatim}{fontsize=\small} +\DefineVerbatimEnvironment{boxedverbatim} + {Verbatim}{fontsize=\scriptsize,frame=single} +\DefineVerbatimEnvironment{Verbatim}{Verbatim}{fontsize=\normalsize} +\def\verbatiminput#1{\VerbatimInput[fontsize=\scriptsize]{#1}} +\def\boxedverbatiminput#1{\VerbatimInput[frame=single,fontsize=\scriptsize]{#1}} +\def\listinginput#1#2{\VerbatimInput[fontsize=\scriptsize,firstnumber=#1,numbers=left]{#2}} +\MakeShortVerb\| +% +% +% Done with packages. +% +% Page layout. +\advance\textwidth by 1.1in +\advance\oddsidemargin by -.55in +\advance\evensidemargin by -.55in +% +\advance\textheight by 1in +\advance\topmargin by -.5in +\advance\footskip by -.5in +\pagestyle{headings} +% +% LaTeX parameters. +\renewcommand{\topfraction}{0.85} +\renewcommand{\floatpagefraction}{0.86} +\renewcommand{\textfraction}{0.1} +\renewcommand{\belowcaptionskip}{4pt} +\setcounter{tocdepth}{2} +\setcounter{topnumber}{5} +\setcounter{totalnumber}{5} +% +% linebreaking, etc. +\hbadness=4000 +\vbadness=4000 +\emergencystretch=.1\hsize +\relpenalty=500 +% +\def\slash{/\penalty\z@\hskip\z@skip } +% +% various sorts of names +\newcommand*{\pkgname}[1]{\textsf{#1}}% package name +\newcommand*{\optname}[1]{\texttt{#1}}% (package,class) option name +\newcommand*{\cmdname}[1]{\textsf{#1}}% command name +\newcommand*{\colname}[1]{\emph{#1}}% collection name +\newcommand*{\dirname}[1]{\path{#1}}% directory name +\newcommand*{\filename}[1]{\path{#1}}% file name +\newcommand*{\envname}[1]{\texttt{#1}}% environment variable name +\newcommand{\code}[1]{\texttt{#1}} +\newcommand{\file}[1]{\texttt{#1}} +\newcommand{\prog}[1]{\texttt{#1}} +\newcommand{\samp}[1]{`\texttt{#1}'} +\newcommand{\var}[1]{{\sl #1}}% not \textsl, for roman not typewriter slanted. +\newcommand{\ttvar}[1]{\texttt{\var{#1}}} +% +% underlined command input. +\def\Ucom#1{% + \uline{\rule[-.2\baselineskip]{0pt}{.9\baselineskip}\ttfamily #1}} +% +% \CDref is for url's with a #, where we need to write the target url and +% displayed url separately in the input, due to catcode madness. +% (We could simplify/remove this next time, I think.) +\def\CDref#1#2{\texttt{#1}} +% +% \OnCD is currently for any other reference to a file or directory in +% the distribution. PDF readers only open .pdf files, though, so we +% should change this to only use \href for those. Or more likely use +% different macros in the source. +\def\OnCD#1{\href{../../../../#1}{\path{#1}}} +% +% \href incorrectly appends .pdf to anything without an extension; these +% definitions using \hyper@linkurl do not, but they fail for .pdf +% references -- which are the only ones that work anyway. So this is +% useless, in practice. +%\def\CDref#1#2{\hyper@linkurl{#2}{../../../../#1}} +%\def\OnCD#1{\hyper@linkurl{\path{#1}}{../../../../#1}} + +% GUI menu/button/tab sequence: +\def\guiseq#1{\textsf{#1}} +\def\arw{\unskip$\rightarrow$\ignorespaces} +% +% Special names. +\def\dpi{$\,$dpi\xspace} +\def\bs{{\protect\normalfont\ttfamily\char'134}} +\DeclareRobustCommand{\cs}[1]{{\normalfont\ttfamily\char`\\#1}} +\def\Q#1{\par\vskip6pt\leftline{#1}\par} +\def\hyph{-} +% +% many abbreviations. +\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% + \hbox{$\mathcal{S}$}\kern-.075em $} +\def\AFMtoTFM{\cmdname{AFM2TFM}\null} +\def\bv{\emph{Baskerville}} +\let\BV=\bv +\def\Dash{\unskip\nobreak\thinspace---\thinspace\ignorespaces} +\def\dvicopy{\cmdname{dvicopy}} +\def\dvidvi{\cmdname{dvidvi}} +\def\dvips{\cmdname{dvips}} +\def\eTeX{$\varepsilon$-\TeX} +\def\fpTeX{\textrm{fp}\TeX\xspace} +\def\GFtoDVI{\cmdname{GFtoDVI}\null} +\def\GFtoPK{\cmdname{GFtoPK}\null} +\def\GFtype{\cmdname{GFtype}} +\def\KPS{Kpathsea} +\def\La{La} +\def\OMEGA{$\Omega$} +\def\OzMF{OzMF} +\def\OzMP{OzMP} +\def\OzTeX{O\kern-.03em z\kern-.15em\TeX} +\def\p.{p.\,} +\def\PKtype{\cmdname{PKtype}} +\def\PLtoTF{\cmdname{PLtoTF}\null} +\def\ProTeXt{Pro\TeX t} +\def\teTeX{\textrm{te}\TeX\xspace} +\def\TeXLive{\TeX{} Live\xspace} +\def\TFtoPL{\cmdname{TFtoPL}\null} +\def\TK{\textsf{\TeX\ Collection}} +\let\TL=\TeXLive +\def\TypeI{Type~1} +\def\VFtoVP{\cmdname{VFtoVP}\null} +\def\VPtoVF{\cmdname{VPtoVF}\null} +\def\Thanh{H\`an~Th\^e\llap{\raise 0.5ex\hbox{\'{}}}~Th\`anh} +\def\XEmTeX{\textrm{XEm}\TeX\xspace} +\def\XEmacs{\textrm{XEmacs}\xspace} +\def\Webc{Web2C} +\providecommand*{\CD}{\acro{CD}\xspace} +\providecommand*{\CTAN}{\acro{CTAN}\xspace} +\providecommand*{\DVD}{\acro{DVD}\xspace} +\providecommand*{\HTML}{\acro{HTML}\xspace} +\providecommand*{\MacOSX}{Mac\,\acro{OS\,X}\xspace} +\providecommand*{\PS}{Post\-Script\xspace} +\providecommand*{\TDS}{\acro{TDS}\xspace} +\providecommand*{\dvi}{\acro{DVI}\xspace} +\providecommand*{\web}{\texttt{web}\xspace} + +% Include an image. +% #1 - name of image (pictures/#1.jpg, always .jpg please) +% #2 - bb for html +% #3 - width for TeX +% +\def\tlimage#1#2#3{% + \ifnum \Status=2 % html, want relative path in output + \includegraphics[#2]{../../general/texlive-common/pictures/#1.jpg} + \else % not html, handled by TEXINPUTS in Makefile + \includegraphics[width=#3]{pictures/#1.jpg} + \fi + \\[5mm] +} +% +% description-like environment that uses tt instead of bf, and doesn't +% go to the left margin. Without the \hfil, get an underfull box. +% Don't know why \descriptionlabel doesn't. +% +\newenvironment{ttdescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt % these lists tend to have short descriptions + \parindent=0pt + \let\makelabel=\ttdescriptionlabel}}% + {\end{list}} +\newcommand*\ttdescriptionlabel[1]{\hspace\labelsep + \normalfont\ttfamily #1\hfil} +% +% Likewise, for commands using sans serif. +\newenvironment{cmddescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt + \let\makelabel=\cmddescriptionlabel}}% + {\end{list}} +\newcommand*\cmddescriptionlabel[1]{\hspace\labelsep + \normalfont\sffamily #1\hfil} + +% General squeezed itemize. +\newenvironment{itemize*}% + {\begin{itemize}% + \setlength{\itemsep}{0pt}% + \setlength{\parskip}{0pt}}% + {\end{itemize}} + +\newsavebox{\wbox} +\newenvironment{warningbox} + {\begin{lrbox}{\wbox} + \begin{minipage}{.95\textwidth}} + {\end{minipage}\end{lrbox}\fbox{\usebox{\wbox}}} +% +% lrbox is used as a representation marking. I changed it to +% lrBox in tne source file, to get closer to logical marking +\newsavebox{\mylrbox} +\newenvironment{lrBox} + {\begin{lrbox}{\mylrbox}} + {\end{lrbox}} + + +% emacs-page output setup +% +\ifx \HCode\UnDef + \providecommand{\Status}{0}% running TeX +\else + \providecommand{\Status}{2}% running TeX4ht +\fi +%\typeout{Status is \Status} +% +\newif\ifSingleColumn +% +% By default, we won't be creating hyperlinks. +\def\href#1#2{#2} +\def\hypertarget#1#2{} +\def\email#1{\href{mailto:#1}{\path{#1}}} % \path comes from url +% +\definecolor{hypercolor}{rgb}{0.5,0.0,0.5} % purplish external links. +% +% +\ifcase\Status + % \Status = 0 + \typeout{TeX Live documentation in DVI format} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 1 + \typeout{TeX Live documentation in PDF format} + \RequirePackage[breaklinks, + colorlinks,linkcolor=hypercolor,citecolor=hypercolor, + pagecolor=hypercolor,urlcolor=hypercolor, + filecolor=hypercolor, + bookmarksopen, + %pdfstartview={FitBH -320000}, % fails with acrobat7 + hyperindex] + {hyperref} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 2 + \typeout{TeX Live documentation in HTML format} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + % read our config file, live4ht.cfg; q.v., for more definitions. + % hyperref load must come after the tex4ht load. + \RequirePackage[live4ht]{tex4ht} + \RequirePackage[tex4ht]{hyperref} \hyperlinkfileprefix{} + % definitions need simplifying for TeX4ht to make relative paths work. + \def\CDref#1#2{\href{../../../../#1}{#2}} + \def\OnCD#1{\href{../../../../#1}{#1}} + \or + % \Status = 3 + \typeout{TeX Live documentation as a Baskerville issue} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \RequirePackage{bvoutln}% outline of baskerville + \SingleColumnfalse + \RequirePackage{multicol} + \or + % \Status = 4 + \typeout{TeX Live documentation as a TUB article} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \SingleColumnfalse + \newenvironment{multicols}[1]{}{} +\fi +% +\ifnum \Status=4 +\else + \RequirePackage{texnames} + \providecommand\TeXXeT{\TeX-{}-% + \kern-.1emX\kern-.125em\lower.5ex\hbox{E}\kern-.1667emT\@} + \def\MP{MetaPost} + \let\mf\MF + \newcommand\ConTeXt{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt} + \newcommand\MIKTEX{MiK\kern-.025em \TeX}% per www.miktex.org + % from pictex.tex: + \ifx\PiC\undefined \def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC} \fi + \ifx\PiCTeX\undefined \def\PiCTeX{\PiC\kern-.11em\TeX} \fi +\fi +% +% hacking at sections etc., to pay attention to baskerville status +\newcommand{\@condend@multicols}{% + \ifSingleColumn + \else + \def\@tempa{multicols}% + \ifx\@tempa\@currenvir + \end{multicols}% + \fi + \fi +} +\let\Section\section +\renewcommand{\section}{% + \@ifstar + {\Section*}% + {% + \@condend@multicols + \@dblarg\@full@section + }% +} +\def\@full@section[#1]#2{% + \Section[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} +\let\SubSection\subsection +\renewcommand{\subsection}{% + \@ifstar{\SubSection*}% + {% + \@condend@multicols + \@dblarg\@full@subsection + } +} +\def\@full@subsection[#1]#2{% + \SubSection[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} + +% calm things down a bit if we're in a multiple-column version +\ifSingleColumn +\else + \def\@listI{\leftmargin\leftmargini + \parsep \z@ + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \itemsep \z@ \@plus .1\p@ + } + \let\@listi\@listI + \@listi + \def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \itemsep \z@ \@plus .1\p@ + } + \def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 1\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \partopsep \z@ + \itemsep \topsep + } + \def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep + } + \def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep + } + \def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep + } +\fi +% +% array package stuff +\def\arraybackslash{\let\\=\@arraycr} +\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}} +% +% shaded rows (using facilities of colortbl) +% +\definecolor{pale}{gray}{.9} +\newcount\colrow +\gdef\RowColor{pale} +\def\SetRowColor{% + \rowcolor{\RowColor}% + \global\advance\colrow by1\relax + \ifodd\colrow + \gdef\RowColor{pale}% + \else + \gdef\RowColor{white}% + \fi +} +% redefine to hack up a reference even though we don't need it... +\renewcommand\@bibitem[1]{\if@filesw \immediate\write\@auxout + {\string\bibcite{#1}{?}}\fi\ignorespaces} +% +% \unknownTeXlive is a dummy texlive entry for the biblio +\newcommand\unknownTeXlive[2][\relax]{\textbf{\textsc{unknown}}% + \global\@all@unknown\expandafter{\the\@all@unknown{#2}}% +} +\newtoks\@all@unknown +\global\@all@unknown{} +\AtEndDocument{\@message@unknowns} +\def\@message@unknowns{\edef\@tempa{\the\@all@unknown}% + \ifx\@tempa\@empty + \else + \def\@tempa{*** TeX live package location of }% + \expandafter\@output@unknowns\the\@all@unknown\@empty + \fi +} +\def\@output@unknowns#1{\edef\@tempb{#1}% + \ifx\@tempb\@empty + \typeout{ unknown}% + \else + \message{\@tempa#1,}% + \def\@tempa{}% + \expandafter\@output@unknowns + \fi +} + + +% Silence font warnings about no bold typewriter in LM. +\def\@font@warning#1{}% + +% Silence hyperref warnings about \kern. +\def\HyPsd@Warning#1{}% + +\endinput diff --git a/Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.sty-2008 b/Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.sty-2008 new file mode 100644 index 00000000000..6bb5d7fb57b --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.sty-2008 @@ -0,0 +1,444 @@ +% $Id: tex-live.sty 10332 2008-08-14 01:04:30Z karl $ +% TeX Live documentation style. Written by many people over many years. +% Public domain. +% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{tex-live}[2008/08/08 v1.6 TeX Live documentation style] +% +\RequirePackage{alltt} +\RequirePackage{array} +\RequirePackage{colortbl} +\RequirePackage{comment} +\RequirePackage{float} +\RequirePackage{graphicx} +\RequirePackage{longtable} +\RequirePackage{shortvrb} +\RequirePackage[normalem]{ulem} +\RequirePackage[obeyspaces]{url} +\RequirePackage{xspace} +% +\RequirePackage{lmodern} +\usepackage{textcomp}% including \textbullet +\def\p.{p.\,} + +% for a proper \acro command. +\RequirePackage{relsize} +%\DeclareRobustCommand{\acro}[1]{\textscale{.9}{#1}\@} +\def\acro#1{\textscale{.9}{#1}\@} +% +\RequirePackage{fancyvrb} +\DefineVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\normalsize} +\DefineVerbatimEnvironment{fverbatim}{Verbatim}{fontsize=\footnotesize} +\DefineVerbatimEnvironment{sverbatim}{Verbatim}{fontsize=\small} +\DefineVerbatimEnvironment{boxedverbatim} + {Verbatim}{fontsize=\scriptsize,frame=single} +\DefineVerbatimEnvironment{Verbatim}{Verbatim}{fontsize=\normalsize} +\def\verbatiminput#1{\VerbatimInput[fontsize=\scriptsize]{#1}} +\def\boxedverbatiminput#1{\VerbatimInput[frame=single,fontsize=\scriptsize]{#1}} +\def\listinginput#1#2{\VerbatimInput[fontsize=\scriptsize,firstnumber=#1,numbers=left]{#2}} +\MakeShortVerb\| +% +% +% Done with packages. +% +% Page layout. +\advance\textwidth by 1.1in +\advance\oddsidemargin by -.55in +\advance\evensidemargin by -.55in +% +\advance\textheight by 1in +\advance\topmargin by -.5in +\advance\footskip by -.5in +\pagestyle{headings} +% +% LaTeX parameters. +\renewcommand{\topfraction}{0.85} +\renewcommand{\floatpagefraction}{0.86} +\renewcommand{\textfraction}{0.1} +\renewcommand{\abovecaptionskip}{4pt} +\renewcommand{\belowcaptionskip}{4pt} +\setcounter{tocdepth}{3} +\setcounter{secnumdepth}{3} +\setcounter{topnumber}{5} +\setcounter{totalnumber}{5} +% +% linebreaking, etc. +\hbadness=4000 +\vbadness=4000 +\emergencystretch=.1\hsize +\relpenalty=500 +% +\def\slash{/\penalty\z@\hskip\z@skip } +% +% various sorts of names +\newcommand*{\pkgname}[1]{\textsf{#1}}% package name +\newcommand*{\optname}[1]{\texttt{#1}}% (package,class) option name +\newcommand*{\cmdname}[1]{\textsf{#1}}% command name +\newcommand*{\colname}[1]{\emph{#1}}% collection name +\newcommand*{\dirname}[1]{\path{#1}}% directory name +\newcommand*{\filename}[1]{\path{#1}}% file name +\newcommand*{\envname}[1]{\texttt{#1}}% environment variable name +\newcommand{\code}[1]{\texttt{#1}} +\newcommand{\file}[1]{\texttt{#1}} +\newcommand{\prog}[1]{\textsf{#1}}% same as \cmdname +\newcommand{\samp}[1]{`\texttt{#1}'} +\newcommand{\var}[1]{{\sl #1}}% not \textsl, for roman not typewriter slanted. +\newcommand{\ttvar}[1]{\texttt{\var{#1}}} +% +% underlined command input. +%\def\Ucom#1{% +% \uline{\rule[-.2\baselineskip]{0pt}{.9\baselineskip}\ttfamily #1}} +% bold command input +\def\Ucom#1{{\bfseries\ttfamily #1}} +% +% \CDref is for url's with a #, where we need to write the target url and +% displayed url separately in the input, due to catcode madness. +% (We could simplify/remove this next time, I think.) +\def\CDref#1#2{\texttt{#1}} +% +% \OnCD is currently for any other reference to a file or directory in +% the distribution. PDF readers only open .pdf files, though, so we +% should change this to only use \href for those. Or more likely use +% different macros in the source. +\def\OnCD#1{\href{../../../../#1}{\path{#1}}} +% +% \href incorrectly appends .pdf to anything without an extension; these +% definitions using \hyper@linkurl do not, but they fail for .pdf +% references -- which are the only ones that work anyway. So this is +% useless, in practice. +%\def\CDref#1#2{\hyper@linkurl{#2}{../../../../#1}} +%\def\OnCD#1{\hyper@linkurl{\path{#1}}{../../../../#1}} + +% GUI menu/button/tab sequence: +\def\guiseq#1{\textsf{#1}} +\def\arw{\unskip$\rightarrow$\ignorespaces} +% +% Special names. +\def\dpi{$\,$dpi\xspace} +\def\bs{{\protect\normalfont\ttfamily\char'134}} +\DeclareRobustCommand{\cs}[1]{{\normalfont\ttfamily\char`\\#1}} +\def\Q#1{\par\vskip6pt\leftline{#1}\par} +\def\hyph{-} +% +% many abbreviations. +\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% + \hbox{$\mathcal{S}$}\kern-.075em $} +\def\AFMtoTFM{\cmdname{AFM2TFM}\null} +\def\bv{\emph{Baskerville}} +\let\BV=\bv +\def\Dash{\unskip\nobreak\thinspace---\thinspace\ignorespaces} +\def\dvicopy{\cmdname{dvicopy}} +\def\dvidvi{\cmdname{dvidvi}} +\def\dvips{\cmdname{dvips}} +\def\eTeX{$\varepsilon$-\TeX} +\def\fpTeX{\textrm{fp}\TeX\xspace} +\def\GFtoDVI{\cmdname{GFtoDVI}\null} +\def\GFtoPK{\cmdname{GFtoPK}\null} +\def\GFtype{\cmdname{GFtype}} +\def\GUI{\acro{GUI}\xspace} +\def\KPS{Kpathsea} +\def\La{La} +\def\OMEGA{$\Omega$} +\def\OzMF{OzMF} +\def\OzMP{OzMP} +\def\OzTeX{O\kern-.03em z\kern-.15em\TeX} +\def\PKtype{\cmdname{PKtype}} +\def\PLtoTF{\cmdname{PLtoTF}\null} +\def\ProTeXt{Pro\TeX t} +\def\teTeX{\textrm{te}\TeX\xspace} +\def\TeXLive{\TeX{} Live\xspace} +\def\TFtoPL{\cmdname{TFtoPL}\null} +\def\TK{\TeX\ Collection} +\let\TL=\TeXLive +\def\TypeI{Type~1} +\def\VFtoVP{\cmdname{VFtoVP}\null} +\def\VPtoVF{\cmdname{VPtoVF}\null} +\def\Thanh{H\`an~Th\ifx % get Unicode char in tex4ht's HTML output + \HCode\UnDef\^e\llap{\raise 0.5ex\hbox{\'{}}}\else + \HCode{\string&\#x1EBF;}\fi~Th\`anh} +\def\XEmTeX{\textrm{XEm}\TeX\xspace} +\def\XEmacs{\textrm{XEmacs}\xspace} +\def\XeTeX{Xe\TeX\xspace} +\def\Webc{Web2C} +\providecommand*{\CD}{\acro{CD}\xspace} +\providecommand*{\CTAN}{\acro{CTAN}\xspace} +\providecommand*{\DVD}{\acro{DVD}\xspace} +\providecommand*{\GNU}{\acro{GNU}\xspace} +\providecommand*{\HTML}{\acro{HTML}\xspace} +\providecommand*{\ISO}{\acro{ISO}\xspace} +\providecommand*{\MacOSX}{Mac\,\acro{OS\,X}\xspace} +\providecommand*{\PS}{Post\-Script\xspace} +\providecommand*{\TDS}{\acro{TDS}\xspace} +\providecommand*{\dvi}{\acro{DVI}\xspace} +\providecommand*{\web}{\texttt{WEB}\xspace} + +% Include an image. +% #1 - name of image (pictures/#1.jpg, always .jpg please) +% #2 - bb for html +% #3 - width for TeX +% +\def\tlimage#1#2#3{% + \ifnum \Status=2 % html, want relative path in output + \includegraphics[#2]{../../general/texlive-common/pictures/#1.jpg} + \else % not html, handled by TEXINPUTS in Makefile + \includegraphics[width=#3]{pictures/#1.jpg} + \fi + \\[5mm] +} + +\def\tlpng#1#2{% + \ifnum \Status=2 % html, want relative path in output + \includegraphics[bb=0 0 1 1]{#1.png}% + \else % not html, handled by TEXINPUTS in Makefile + \includegraphics[width=#2]{#1.png}% + \fi +} +% +% description-like environment that uses tt instead of bf, and doesn't +% go to the left margin. Without the \hfil, get an underfull box. +% Don't know why \descriptionlabel doesn't. +% +\newenvironment{ttdescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt % these lists tend to have short descriptions + \parindent=0pt + \let\makelabel=\ttdescriptionlabel}}% + {\end{list}} +\newcommand*\ttdescriptionlabel[1]{\hspace\labelsep + \normalfont\ttfamily #1\hfil} +% +% Likewise, for commands using sans serif. +\newenvironment{cmddescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt + \let\makelabel=\cmddescriptionlabel}}% + {\end{list}} +\newcommand*\cmddescriptionlabel[1]{\hspace\labelsep + \normalfont\sffamily #1\hfil} + +% General squeezed itemize. +\newenvironment{itemize*}% + {\begin{itemize}% + \setlength{\itemsep}{0pt}% + \setlength{\parskip}{0pt}}% + {\end{itemize}} + +\newsavebox{\wbox} +\newenvironment{warningbox} + {\begin{lrbox}{\wbox} + \begin{minipage}{.95\textwidth}} + {\end{minipage}\end{lrbox}\fbox{\usebox{\wbox}}} +% +% lrbox is used as a representation marking. I changed it to +% lrBox in tne source file, to get closer to logical marking +\newsavebox{\mylrbox} +\newenvironment{lrBox} + {\begin{lrbox}{\mylrbox}} + {\end{lrbox}} + + +% emacs-page output setup +% +\ifx \HCode\UnDef + \providecommand{\Status}{0}% running TeX +\else + \providecommand{\Status}{2}% running TeX4ht +\fi +%\typeout{Status is \Status} +% +\newif\ifSingleColumn +% +% By default, we won't be creating hyperlinks. +\def\href#1#2{#2} +\def\hypertarget#1#2{} +\def\email#1{\href{mailto:#1}{\path{#1}}} % \path comes from url +% +\definecolor{hypercolor}{rgb}{0.5,0.0,0.5} % purplish external links. +% +% +\ifcase\Status + % \Status = 0 + \typeout{TeX Live documentation in DVI format} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 1 + \typeout{TeX Live documentation in PDF format} + \RequirePackage[breaklinks, + colorlinks,linkcolor=hypercolor,citecolor=hypercolor, + urlcolor=hypercolor,filecolor=hypercolor, + bookmarksopen, + %pdfstartview={FitBH -320000}, % fails with acrobat7 + hyperindex] + {hyperref} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 2 + \typeout{TeX Live documentation in HTML format} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + % read our config file, live4ht.cfg; q.v., for more definitions. + % hyperref load must come after the tex4ht load. + \RequirePackage[live4ht]{tex4ht} + \RequirePackage[tex4ht]{hyperref} \hyperlinkfileprefix{} + % definitions need simplifying for TeX4ht to make relative paths work. + \def\CDref#1#2{\href{../../../../#1}{#2}} + \def\OnCD#1{\href{../../../../#1}{#1}} + \or + % \Status = 3 + \typeout{TeX Live documentation as a Baskerville issue} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \RequirePackage{bvoutln}% outline of baskerville + \SingleColumnfalse + \RequirePackage{multicol} + \or + % \Status = 4 + \typeout{TeX Live documentation as a TUB article} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \SingleColumnfalse + \newenvironment{multicols}[1]{}{} +\fi +% +\ifnum \Status=4 +\else + \RequirePackage{texnames} + \providecommand\TeXXeT{\TeX-{}-% + \kern-.1emX\kern-.125em\lower.5ex\hbox{E}\kern-.1667emT\@} + \def\MP{MetaPost} + \let\mf\MF + \newcommand\ConTeXt{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt} + \newcommand\MIKTEX{MiK\kern-.025em \TeX}% per www.miktex.org + % from pictex.tex: + \ifx\PiC\undefined \def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC} \fi + \ifx\PiCTeX\undefined \def\PiCTeX{\PiC\kern-.11em\TeX} \fi +\fi +% +% hacking at sections etc., to pay attention to baskerville status +\newcommand{\@condend@multicols}{% + \ifSingleColumn + \else + \def\@tempa{multicols}% + \ifx\@tempa\@currenvir + \end{multicols}% + \fi + \fi +} +\let\Section\section +\renewcommand{\section}{% + \@ifstar + {\Section*}% + {% + \@condend@multicols + \@dblarg\@full@section + }% +} +\def\@full@section[#1]#2{% + \Section[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} +\let\SubSection\subsection +\renewcommand{\subsection}{% + \@ifstar{\SubSection*}% + {% + \@condend@multicols + \@dblarg\@full@subsection + } +} +\def\@full@subsection[#1]#2{% + \SubSection[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} + +% calm things down a bit if we're in a multiple-column version +\ifSingleColumn +\else + \def\@listI{\leftmargin\leftmargini + \parsep \z@ + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \itemsep \z@ \@plus .1\p@ + } + \let\@listi\@listI + \@listi + \def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \itemsep \z@ \@plus .1\p@ + } + \def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 1\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \partopsep \z@ + \itemsep \topsep + } + \def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep + } + \def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep + } + \def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep + } +\fi +% +% array package stuff +\def\arraybackslash{\let\\=\@arraycr} +\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}} +% +% shaded rows (using facilities of colortbl) +% +\definecolor{pale}{gray}{.9} +\newcount\colrow +\gdef\RowColor{pale} +\def\SetRowColor{% + \rowcolor{\RowColor}% + \global\advance\colrow by1\relax + \ifodd\colrow + \gdef\RowColor{pale}% + \else + \gdef\RowColor{white}% + \fi +} +% redefine to hack up a reference even though we don't need it... +\renewcommand\@bibitem[1]{\if@filesw \immediate\write\@auxout + {\string\bibcite{#1}{?}}\fi\ignorespaces} +% +% \unknownTeXlive is a dummy texlive entry for the biblio +\newcommand\unknownTeXlive[2][\relax]{\textbf{\textsc{unknown}}% + \global\@all@unknown\expandafter{\the\@all@unknown{#2}}% +} +\newtoks\@all@unknown +\global\@all@unknown{} +\AtEndDocument{\@message@unknowns} +\def\@message@unknowns{\edef\@tempa{\the\@all@unknown}% + \ifx\@tempa\@empty + \else + \def\@tempa{*** TeX live package location of }% + \expandafter\@output@unknowns\the\@all@unknown\@empty + \fi +} +\def\@output@unknowns#1{\edef\@tempb{#1}% + \ifx\@tempb\@empty + \typeout{ unknown}% + \else + \message{\@tempa#1,}% + \def\@tempa{}% + \expandafter\@output@unknowns + \fi +} + + +% Silence font warnings about no bold typewriter in LM. +\def\@font@warning#1{}% + +% Silence hyperref warnings about \kern. +\def\HyPsd@Warning#1{}% + +\endinput diff --git a/Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.sty-2009 b/Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.sty-2009 new file mode 100644 index 00000000000..12817ff461b --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.sty-2009 @@ -0,0 +1,489 @@ +% $Id: tex-live.sty 15704 2009-10-08 22:57:44Z karl $ +% TeX Live documentation style. Written by many people over many years. +% Public domain. +% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{tex-live}[2009/08/23 v1.7 TeX Live documentation style] +% +% colortbl and other packages otherwise make the default be letter, it seems. +\RequirePackage[a4paper,hscale=0.75,lines=60,vmarginratio=10:8]{geometry} +% +\RequirePackage{alltt} +\RequirePackage{array} +\RequirePackage{colortbl} +\RequirePackage{comment} +\RequirePackage{float} +\RequirePackage{graphicx} +\RequirePackage{longtable} +\RequirePackage{shortvrb} +\RequirePackage[normalem]{ulem} +\RequirePackage[obeyspaces]{url} +\RequirePackage{xspace} +% +\RequirePackage{lmodern} +\usepackage{textcomp}% including \textbullet +\def\p.{p.\,} + +% for a proper \acro command. +\RequirePackage{relsize} +%\DeclareRobustCommand{\acro}[1]{\textscale{.9}{#1}\@} +\def\acro#1{\textscale{.9}{#1}\@} +% +\RequirePackage{fancyvrb} +\DefineVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\normalsize} +\DefineVerbatimEnvironment{fverbatim}{Verbatim}{fontsize=\footnotesize} +\DefineVerbatimEnvironment{sverbatim}{Verbatim}{fontsize=\small} +\DefineVerbatimEnvironment{boxedverbatim} + {Verbatim}{fontsize=\scriptsize,frame=single} +\DefineVerbatimEnvironment{Verbatim}{Verbatim}{fontsize=\normalsize} +\def\verbatiminput#1{\VerbatimInput[fontsize=\scriptsize]{#1}} +\def\boxedverbatiminput#1{\VerbatimInput[frame=single,fontsize=\scriptsize]{#1}} +\def\listinginput#1#2{\VerbatimInput[fontsize=\scriptsize,firstnumber=#1,numbers=left]{#2}} +\MakeShortVerb\| +% +% +% Done with packages. +% +% emacs-page page layout. +% +%ltr \advance\textwidth by 1.1in +%ltr \advance\oddsidemargin by -.55in +%ltr \advance\evensidemargin by -.55in +%ltr % +%ltr \advance\textheight by 1in +%ltr \advance\topmargin by -.5in +%ltr \advance\footskip by -.5in +%ltr % +\message{dimens: textwidth=\the\textwidth\space + oddsidemargin=\the\oddsidemargin\space + evensidemargin=\the\evensidemargin\space + textheight=\the\textheight\space + topmargin=\the\topmargin\space + footskip=\the\footskip} +% +% with settings above, and without a4 (hence letter): +% textwidth=424.49744pt oddsidemargin=22.25128pt evensidemargin=22.25128pt +% textheight=622.26999pt topmargin=-20.135pt footskip=-6.135pt +% +% with default a4paper geometry settings (not enough height): +% textwidth=418.25368pt oddsidemargin=17.3571pt evensidemargin=17.3571pt +% textheight=591.5302pt topmargin=-7.86334pt footskip=30.0pt +% +% with geometry settings [a4paper,hscale=0.75,lines=60,vmarginratio=10:8]: +% textwidth=448.1309pt oddsidemargin=2.41849pt evensidemargin=2.41849pt +% textheight=718.0pt topmargin=-38.68848pt footskip=30.0pt + +% +\pagestyle{headings} +% +% LaTeX parameters. +\renewcommand{\topfraction}{0.85} +\renewcommand{\floatpagefraction}{0.86} +\renewcommand{\textfraction}{0.1} +\renewcommand{\abovecaptionskip}{4pt} +\renewcommand{\belowcaptionskip}{4pt} +\setcounter{tocdepth}{3} +\setcounter{secnumdepth}{3} +\setcounter{topnumber}{5} +\setcounter{totalnumber}{5} +% +% linebreaking, etc. +\hbadness=4000 +\vbadness=4000 +\emergencystretch=.1\hsize +\relpenalty=500 +% +\def\slash{/\penalty\z@\hskip\z@skip } +% +% various sorts of names +\newcommand*{\pkgname}[1]{\textsf{#1}}% package name +\newcommand*{\optname}[1]{\texttt{#1}}% (package,class) option name +\newcommand*{\cmdname}[1]{\textsf{#1}}% command name +\newcommand*{\colname}[1]{\emph{#1}}% collection name +\newcommand*{\dirname}[1]{\path{#1}}% directory name +\newcommand*{\filename}[1]{\path{#1}}% file name +\newcommand*{\envname}[1]{\texttt{#1}}% environment variable name +\newcommand{\code}[1]{\texttt{#1}} +\newcommand{\file}[1]{\texttt{#1}} +\newcommand{\prog}[1]{\textsf{#1}}% same as \cmdname +\newcommand{\samp}[1]{`\texttt{#1}'} +\newcommand{\var}[1]{{\sl #1}}% not \textsl, for roman not typewriter slanted. +\newcommand{\ttvar}[1]{\texttt{\var{#1}}} +% +% underlined command input. +%\def\Ucom#1{% +% \uline{\rule[-.2\baselineskip]{0pt}{.9\baselineskip}\ttfamily #1}} +% bold command input +\def\Ucom#1{{\bfseries\ttfamily #1}} +% +% \CDref is for url's with a #, where we need to write the target url and +% displayed url separately in the input, due to catcode madness. +% (We could simplify/remove this next time, I think.) +\def\CDref#1#2{\texttt{#1}} +% +% \OnCD is currently for any other reference to a file or directory in +% the distribution. PDF readers only open .pdf files, though, so we +% should change this to only use \href for those. Or more likely use +% different macros in the source. +\def\OnCD#1{\href{../../../../#1}{\path{#1}}} +% +% \href incorrectly appends .pdf to anything without an extension; these +% definitions using \hyper@linkurl do not, but they fail for .pdf +% references -- which are the only ones that work anyway. So this is +% useless, in practice. +%\def\CDref#1#2{\hyper@linkurl{#2}{../../../../#1}} +%\def\OnCD#1{\hyper@linkurl{\path{#1}}{../../../../#1}} + +% GUI menu/button/tab sequence: +\def\guiseq#1{\textsf{#1}} +\def\arw{\unskip$\rightarrow$\ignorespaces} +% +% Special names. +\def\dpi{$\,$dpi\xspace} +\def\bs{{\protect\normalfont\ttfamily\char'134}} +\DeclareRobustCommand{\cs}[1]{{\normalfont\ttfamily\char`\\#1}} +\def\Q#1{\par\vskip6pt\leftline{#1}\par} +\def\hyph{-} +% +% many abbreviations. +\def\AllTeX{(\La\kern-.075em)\kern-.075em\TeX} +\def\AFMtoTFM{\cmdname{AFM2TFM}\null} +\def\bv{\emph{Baskerville}} +\let\BV=\bv +\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% + \hbox{$\mathcal{S}$}\kern-.075em $} +\def\Dash{\unskip\nobreak\thinspace---\thinspace\ignorespaces} +\def\dvicopy{\cmdname{dvicopy}} +\def\dvidvi{\cmdname{dvidvi}} +\def\dvips{\cmdname{dvips}} +\def\eTeX{$\varepsilon$-\TeX} +\def\fpTeX{\textrm{fp}\TeX\xspace} +\def\GFtoDVI{\cmdname{GFtoDVI}\null} +\def\GFtoPK{\cmdname{GFtoPK}\null} +\def\GFtype{\cmdname{GFtype}} +\def\GUI{\acro{GUI}\xspace} +\def\KPS{Kpathsea} +% This code % is hacked from its definition of \cs{LaTeX}; it allows +% slants (for example) to propagate into the raised (small) `A': +\newcommand{\La}% + {L\kern-.36em + {\setbox0\hbox{T}% + \vbox to\ht0{\hbox{$\m@th$% + \csname S@\f@size\endcsname + \fontsize\sf@size\z@ + \math@fontsfalse\selectfont + A}% + \vss}% + }} +\def\OMEGA{$\Omega$} +\def\OzMF{OzMF} +\def\OzMP{OzMP} +\def\OzTeX{O\kern-.03em z\kern-.15em\TeX} +\def\PKtype{\cmdname{PKtype}} +\def\PLtoTF{\cmdname{PLtoTF}\null} +\def\ProTeXt{pro\TeX t} +\def\teTeX{\textrm{te}\TeX\xspace} +\def\TeXLive{\TeX{} Live\xspace} +\def\TFtoPL{\cmdname{TFtoPL}\null} +\def\TK{\TeX\ Collection} +\let\TL=\TeXLive +\def\TypeI{Type~1} +\def\VFtoVP{\cmdname{VFtoVP}\null} +\def\VPtoVF{\cmdname{VPtoVF}\null} +\def\Thanh{H\`an~Th\ifx % get Unicode char in tex4ht's HTML output + \HCode\UnDef\^e\llap{\raise 0.5ex\hbox{\'{}}}\else + \HCode{\string&\#x1EBF;}\fi~Th\`anh} +\def\XEmTeX{\textrm{XEm}\TeX\xspace} +\def\XEmacs{\textrm{XEmacs}\xspace} +\def\XeTeX{Xe\TeX\xspace} +\def\Webc{Web2C} +\providecommand*{\CD}{\acro{CD}\xspace} +\providecommand*{\CTAN}{\acro{CTAN}\xspace} +\providecommand*{\DVD}{\texorpdfstring{\acro{DVD}}{DVD}\xspace} +\providecommand*{\GNU}{\acro{GNU}\xspace} +\providecommand*{\HTML}{\acro{HTML}\xspace} +\providecommand*{\ISO}{\acro{ISO}\xspace} +\providecommand*{\MacOSX}{Mac\,\acro{OS\,X}\xspace} +\providecommand*{\PS}{Post\-Script\xspace} +\providecommand*{\TDS}{\acro{TDS}\xspace} +\providecommand*{\dvi}{\acro{DVI}\xspace} +\providecommand*{\web}{\texttt{WEB}\xspace} + +% Include an image. +% #1 - name of image (pictures/#1.jpg, always .jpg please) +% #2 - bb for html +% #3 - width for TeX +% +\def\tlimage#1#2#3{% + \ifnum \Status=2 % html, want relative path in output + \includegraphics[#2]{../../general/texlive-common/pictures/#1.jpg} + \else % not html, handled by TEXINPUTS in Makefile + \includegraphics[width=#3]{pictures/#1.jpg} + \fi + \\[5mm] +} + +\def\tlpng#1#2{% + \ifnum \Status=2 % html, want relative path in output + \includegraphics[bb=0 0 1 1]{#1.png}% + \else % not html, handled by TEXINPUTS in Makefile + \includegraphics[width=#2]{#1.png}% + \fi +} +% +% description-like environment that uses tt instead of bf, and doesn't +% go to the left margin. Without the \hfil, get an underfull box. +% Don't know why \descriptionlabel doesn't. +% +\newenvironment{ttdescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt % these lists tend to have short descriptions + \parindent=0pt + \let\makelabel=\ttdescriptionlabel}}% + {\end{list}} +\newcommand*\ttdescriptionlabel[1]{\hspace\labelsep + \normalfont\ttfamily #1\hfil} +% +% Likewise, for commands using sans serif. +\newenvironment{cmddescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt + \let\makelabel=\cmddescriptionlabel}}% + {\end{list}} +\newcommand*\cmddescriptionlabel[1]{\hspace\labelsep + \normalfont\sffamily #1\hfil} + +% General squeezed itemize/enumerate. +\newenvironment{itemize*}% + {\begin{itemize}% + \setlength{\itemsep}{0pt}% + \setlength{\parskip}{0pt}}% + {\end{itemize}} + +\newenvironment{enumerate*}% + {\begin{enumerate}% + \setlength{\itemsep}{0pt}% + \setlength{\parskip}{0pt}}% + {\end{enumerate}} + +\newsavebox{\wbox} +\newenvironment{warningbox} + {\begin{lrbox}{\wbox} + \begin{minipage}{.95\textwidth}} + {\end{minipage}\end{lrbox}\fbox{\usebox{\wbox}}} +% +% lrbox is used as a representation marking. I changed it to +% lrBox in tne source file, to get closer to logical marking +\newsavebox{\mylrbox} +\newenvironment{lrBox} + {\begin{lrbox}{\mylrbox}} + {\end{lrbox}} + + +% emacs-page output setup +% +\ifx \HCode\UnDef + \providecommand{\Status}{0}% running TeX +\else + \providecommand{\Status}{2}% running TeX4ht +\fi +%\typeout{Status is \Status} +% +\newif\ifSingleColumn +% +% By default, we won't be creating hyperlinks. +\def\href#1#2{#2} +\def\hypertarget#1#2{} +\def\email#1{\href{mailto:#1}{\path{#1}}} % \path comes from url +\def\htmlanchor#1{} +% +\definecolor{hypercolor}{rgb}{0.5,0.0,0.5} % purplish external links. +% +% +\ifcase\Status + % \Status = 0 + \typeout{TeX Live documentation in DVI format} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 1 + \typeout{TeX Live documentation in PDF format} + \RequirePackage[breaklinks, + colorlinks,linkcolor=hypercolor,citecolor=hypercolor, + urlcolor=hypercolor,filecolor=hypercolor, + bookmarksopen, + %pdfstartview={FitBH -320000}, % fails with acrobat7 + hyperindex] + {hyperref} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 2 + \typeout{TeX Live documentation in HTML format} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + % read our config file, live4ht.cfg; q.v., for more definitions. + % hyperref load must come after the tex4ht load. + \RequirePackage[live4ht]{tex4ht} + \RequirePackage[tex4ht]{hyperref} \hyperlinkfileprefix{} + % definitions need simplifying for TeX4ht to make relative paths work. + \def\CDref#1#2{\href{../../../../#1}{#2}} + \def\OnCD#1{\href{../../../../#1}{#1}} + \def\htmlanchor#1{\HCode{<a id="#1"></a>}} + \or + % \Status = 3 + \typeout{TeX Live documentation as a Baskerville issue} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \RequirePackage{bvoutln}% outline of baskerville + \SingleColumnfalse + \RequirePackage{multicol} + \or + % \Status = 4 + \typeout{TeX Live documentation as a TUB article} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \SingleColumnfalse + \newenvironment{multicols}[1]{}{} +\fi +% +\ifnum \Status=4 +\else + \RequirePackage{texnames} + \providecommand\TeXXeT{\TeX-{}-% + \kern-.1emX\kern-.125em\lower.5ex\hbox{E}\kern-.1667emT\@} + \def\MP{MetaPost} + \let\mf\MF + \newcommand\ConTeXt{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt} + \newcommand\MIKTEX{MiK\kern-.025em \TeX}% per www.miktex.org + % from pictex.tex: + \ifx\PiC\undefined \def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC} \fi + \ifx\PiCTeX\undefined \def\PiCTeX{\PiC\kern-.11em\TeX} \fi +\fi +% +% hacking at sections etc., to pay attention to baskerville status +\newcommand{\@condend@multicols}{% + \ifSingleColumn + \else + \def\@tempa{multicols}% + \ifx\@tempa\@currenvir + \end{multicols}% + \fi + \fi +} +\let\Section\section +\renewcommand{\section}{% + \@ifstar + {\Section*}% + {% + \@condend@multicols + \@dblarg\@full@section + }% +} +\def\@full@section[#1]#2{% + \Section[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} +\let\SubSection\subsection +\renewcommand{\subsection}{% + \@ifstar{\SubSection*}% + {% + \@condend@multicols + \@dblarg\@full@subsection + } +} +\def\@full@subsection[#1]#2{% + \SubSection[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} + +% calm things down a bit if we're in a multiple-column version +\ifSingleColumn +\else + \def\@listI{\leftmargin\leftmargini + \parsep \z@ + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \itemsep \z@ \@plus .1\p@ + } + \let\@listi\@listI + \@listi + \def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \itemsep \z@ \@plus .1\p@ + } + \def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 1\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \partopsep \z@ + \itemsep \topsep + } + \def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep + } + \def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep + } + \def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep + } +\fi +% +% array package stuff +\def\arraybackslash{\let\\=\@arraycr} +\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}} +% +% shaded rows (using facilities of colortbl) +% +\definecolor{pale}{gray}{.9} +\newcount\colrow +\gdef\RowColor{pale} +\def\SetRowColor{% + \rowcolor{\RowColor}% + \global\advance\colrow by1\relax + \ifodd\colrow + \gdef\RowColor{pale}% + \else + \gdef\RowColor{white}% + \fi +} +% redefine to hack up a reference even though we don't need it... +\renewcommand\@bibitem[1]{\if@filesw \immediate\write\@auxout + {\string\bibcite{#1}{?}}\fi\ignorespaces} +% +% \unknownTeXlive is a dummy texlive entry for the biblio +\newcommand\unknownTeXlive[2][\relax]{\textbf{\textsc{unknown}}% + \global\@all@unknown\expandafter{\the\@all@unknown{#2}}% +} +\newtoks\@all@unknown +\global\@all@unknown{} +\AtEndDocument{\@message@unknowns} +\def\@message@unknowns{\edef\@tempa{\the\@all@unknown}% + \ifx\@tempa\@empty + \else + \def\@tempa{*** TeX Live package location of }% + \expandafter\@output@unknowns\the\@all@unknown\@empty + \fi +} +\def\@output@unknowns#1{\edef\@tempb{#1}% + \ifx\@tempb\@empty + \typeout{ unknown}% + \else + \message{\@tempa#1,}% + \def\@tempa{}% + \expandafter\@output@unknowns + \fi +} + + +% Silence font warnings about no bold typewriter in LM. +\def\@font@warning#1{}% + +% Silence hyperref warnings about \kern. +\def\HyPsd@Warning#1{}% + +\endinput diff --git a/Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.sty-2010 b/Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.sty-2010 new file mode 100644 index 00000000000..3af32be1ab1 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/archive/tex-live.sty-2010 @@ -0,0 +1,493 @@ +% $Id: tex-live.sty 19329 2010-07-10 00:44:42Z karl $ +% TeX Live documentation style. Written by many people over many years. +% Public domain. +% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{tex-live}[2009/08/23 v1.7 TeX Live documentation style] +% +% colortbl and other packages otherwise make the default be letter, it seems. +\RequirePackage[a4paper,hscale=0.75,lines=60,vmarginratio=10:8]{geometry} +% +\RequirePackage{alltt} +\RequirePackage{array} +\RequirePackage{colortbl} +\RequirePackage{comment} +\RequirePackage{float} +\RequirePackage{graphicx} +\RequirePackage{longtable} +\RequirePackage{shortvrb} +\RequirePackage[normalem]{ulem} +\RequirePackage[obeyspaces]{url} +\RequirePackage{xspace} +% +\RequirePackage{lmodern} +\usepackage{textcomp}% including \textbullet +\def\p.{p.\,} + +% for a proper \acro command. +\RequirePackage{relsize} +%\DeclareRobustCommand{\acro}[1]{\textscale{.9}{#1}\@} +\def\acro#1{\textscale{.9}{#1}\@} +% +\RequirePackage{fancyvrb} +\DefineVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\normalsize} +\DefineVerbatimEnvironment{fverbatim}{Verbatim}{fontsize=\footnotesize} +\DefineVerbatimEnvironment{sverbatim}{Verbatim}{fontsize=\small} +\DefineVerbatimEnvironment{boxedverbatim} + {Verbatim}{fontsize=\footnotesize,frame=single} +\DefineVerbatimEnvironment{Verbatim}{Verbatim}{fontsize=\normalsize} +\def\verbatiminput#1{\VerbatimInput[fontsize=\scriptsize]{#1}} +\def\boxedverbatiminput#1{\VerbatimInput[frame=single,fontsize=\scriptsize]{#1}} +\def\listinginput#1#2{\VerbatimInput[fontsize=\scriptsize,firstnumber=#1,numbers=left]{#2}} +\MakeShortVerb\| +% +% +% Done with packages. +% +% emacs-page page layout. +% +%ltr \advance\textwidth by 1.1in +%ltr \advance\oddsidemargin by -.55in +%ltr \advance\evensidemargin by -.55in +%ltr % +%ltr \advance\textheight by 1in +%ltr \advance\topmargin by -.5in +%ltr \advance\footskip by -.5in +%ltr % +\message{dimens: textwidth=\the\textwidth\space + oddsidemargin=\the\oddsidemargin\space + evensidemargin=\the\evensidemargin\space + textheight=\the\textheight\space + topmargin=\the\topmargin\space + footskip=\the\footskip} +% +% with settings above, and without a4 (hence letter): +% textwidth=424.49744pt oddsidemargin=22.25128pt evensidemargin=22.25128pt +% textheight=622.26999pt topmargin=-20.135pt footskip=-6.135pt +% +% with default a4paper geometry settings (not enough height): +% textwidth=418.25368pt oddsidemargin=17.3571pt evensidemargin=17.3571pt +% textheight=591.5302pt topmargin=-7.86334pt footskip=30.0pt +% +% with geometry settings [a4paper,hscale=0.75,lines=60,vmarginratio=10:8]: +% textwidth=448.1309pt oddsidemargin=2.41849pt evensidemargin=2.41849pt +% textheight=718.0pt topmargin=-38.68848pt footskip=30.0pt + +% +\pagestyle{headings} +% +% LaTeX parameters. +\renewcommand{\topfraction}{0.85} +\renewcommand{\floatpagefraction}{0.86} +\renewcommand{\textfraction}{0.1} +\renewcommand{\abovecaptionskip}{4pt} +\renewcommand{\belowcaptionskip}{4pt} +\setcounter{tocdepth}{3} +\setcounter{secnumdepth}{3} +\setcounter{topnumber}{5} +\setcounter{totalnumber}{5} +% +% linebreaking, etc. +\hbadness=4000 +\vbadness=4000 +\emergencystretch=.1\hsize +\relpenalty=500 +% +\def\slash{/\penalty\z@\hskip\z@skip } +% +% various sorts of names +\newcommand*{\pkgname}[1]{\textsf{#1}}% package name +\newcommand*{\optname}[1]{\texttt{#1}}% (package,class) option name +\newcommand*{\cmdname}[1]{\textsf{#1}}% command name +\newcommand*{\colname}[1]{\emph{#1}}% collection name +\newcommand*{\dirname}[1]{\path{#1}}% directory name +\def\filename#1{\path{#1}}% file name +\newcommand*{\envname}[1]{\texttt{#1}}% environment variable name +\newcommand{\code}[1]{\texttt{#1}} +\newcommand{\file}[1]{\texttt{#1}} +\newcommand{\prog}[1]{\textsf{#1}}% same as \cmdname +\newcommand{\samp}[1]{`\texttt{#1}'} +\newcommand{\var}[1]{{\sl #1}}% not \textsl, for roman not typewriter slanted. +\newcommand{\ttvar}[1]{\texttt{\var{#1}}} +% +% underlined command input. +%\def\Ucom#1{% +% \uline{\rule[-.2\baselineskip]{0pt}{.9\baselineskip}\ttfamily #1}} +% bold command input +\def\Ucom#1{{\bfseries\ttfamily #1}} +% +% \CDref is for url's with a #, where we need to write the target url and +% displayed url separately in the input, due to catcode madness. +% (We could simplify/remove this next time, I think.) +\def\CDref#1#2{\texttt{#1}} +% +% \OnCD no longer has any use at all, since we don't have unpacked files +% on the DVD and it has never worked when reading the PDF online. +\def\OnCD#1{\path{#1}} +% +% \OnCD is currently for any other reference to a file or directory in +% the distribution. PDF readers only open .pdf files, though, so we +% should change this to only use \href for those. Or more likely use +% different macros in the source. +%\def\OnCD#1{\href{../../../../#1}{\path{#1}}} +% +% \href incorrectly appends .pdf to anything without an extension; these +% definitions using \hyper@linkurl do not, but they fail for .pdf +% references -- which are the only ones that work anyway. So this is +% useless, in practice. +%\def\CDref#1#2{\hyper@linkurl{#2}{../../../../#1}} +%\def\OnCD#1{\hyper@linkurl{\path{#1}}{../../../../#1}} + +% GUI menu/button/tab sequence: +\def\guiseq#1{\textsf{#1}} +\def\arw{\unskip$\rightarrow$\ignorespaces} +% +% Special names. +\def\dpi{$\,$dpi\xspace} +\def\bs{{\protect\normalfont\ttfamily\char'134}} +\DeclareRobustCommand{\cs}[1]{{\normalfont\ttfamily\char`\\#1}} +\def\Q#1{\par\vskip6pt\leftline{#1}\par} +\def\hyph{-} +% +% many abbreviations. +\def\AllTeX{(\La\kern-.075em)\kern-.075em\TeX} +\def\AFMtoTFM{\cmdname{AFM2TFM}\null} +\def\bv{\emph{Baskerville}} +\let\BV=\bv +\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% + \hbox{$\mathcal{S}$}\kern-.075em $} +\def\Dash{\unskip\nobreak\thinspace---\thinspace\ignorespaces} +\def\dvicopy{\cmdname{dvicopy}} +\def\dvidvi{\cmdname{dvidvi}} +\def\dvips{\cmdname{dvips}} +\def\eTeX{$\varepsilon$-\TeX} +\def\fpTeX{\textrm{fp}\TeX\xspace} +\def\GFtoDVI{\cmdname{GFtoDVI}\null} +\def\GFtoPK{\cmdname{GFtoPK}\null} +\def\GFtype{\cmdname{GFtype}} +\def\GUI{\acro{GUI}\xspace} +\def\KPS{Kpathsea} +% This code % is hacked from its definition of \cs{LaTeX}; it allows +% slants (for example) to propagate into the raised (small) `A': +\newcommand{\La}% + {L\kern-.36em + {\setbox0\hbox{T}% + \vbox to\ht0{\hbox{$\m@th$% + \csname S@\f@size\endcsname + \fontsize\sf@size\z@ + \math@fontsfalse\selectfont + A}% + \vss}% + }} +\def\OMEGA{$\Omega$} +\def\OzMF{OzMF} +\def\OzMP{OzMP} +\def\OzTeX{O\kern-.03em z\kern-.15em\TeX} +\def\PKtype{\cmdname{PKtype}} +\def\PLtoTF{\cmdname{PLtoTF}\null} +\def\ProTeXt{pro\TeX t} +\def\teTeX{\textrm{te}\TeX\xspace} +\def\TeXLive{\TeX{} Live\xspace} +\def\TFtoPL{\cmdname{TFtoPL}\null} +\def\TK{\TeX\ Collection} +\let\TL=\TeXLive +\def\TypeI{Type~1} +\def\VFtoVP{\cmdname{VFtoVP}\null} +\def\VPtoVF{\cmdname{VPtoVF}\null} +\def\Thanh{H\`an~Th\ifx % get Unicode char in tex4ht's HTML output + \HCode\UnDef\^e\llap{\raise 0.5ex\hbox{\'{}}}\else + \HCode{\string&\#x1EBF;}\fi~Th\`anh} +\def\XEmTeX{\textrm{XEm}\TeX\xspace} +\def\XEmacs{\textrm{XEmacs}\xspace} +\def\XeTeX{Xe\TeX} +\def\Webc{Web2C} +\providecommand*{\CD}{\acro{CD}\xspace} +\providecommand*{\CTAN}{\acro{CTAN}\xspace} +\providecommand*{\DVD}{\texorpdfstring{\acro{DVD}}{DVD}\xspace} +\providecommand*{\GNU}{\acro{GNU}\xspace} +\providecommand*{\HTML}{\acro{HTML}\xspace} +\providecommand*{\ISO}{\acro{ISO}\xspace} +\providecommand*{\MacOSX}{Mac\,\acro{OS\,X}\xspace} +\providecommand*{\PS}{Post\-Script\xspace} +\providecommand*{\TDS}{\acro{TDS}\xspace} +\providecommand*{\dvi}{\acro{DVI}\xspace} +\providecommand*{\web}{\texttt{WEB}\xspace} + +% Include an image. +% #1 - name of image (pictures/#1.jpg, always .jpg please) +% #2 - bb for html +% #3 - width for TeX +% +\def\tlimage#1#2#3{% + \ifnum \Status=2 % html, want relative path in output + \includegraphics[#2]{../../general/texlive-common/pictures/#1.jpg} + \else % not html, handled by TEXINPUTS in Makefile + \includegraphics[width=#3]{pictures/#1.jpg} + \fi + \\[5mm] +} + +\def\tlpng#1#2{% + \ifnum \Status=2 % html, want relative path in output + \includegraphics[bb=0 0 1 1]{#1.png}% + \else % not html, handled by TEXINPUTS in Makefile + \includegraphics[width=#2]{#1.png}% + \fi +} +% +% description-like environment that uses tt instead of bf, and doesn't +% go to the left margin. Without the \hfil, get an underfull box. +% Don't know why \descriptionlabel doesn't. +% +\newenvironment{ttdescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt % these lists tend to have short descriptions + \parindent=0pt + \let\makelabel=\ttdescriptionlabel}}% + {\end{list}} +\newcommand*\ttdescriptionlabel[1]{\hspace\labelsep + \normalfont\ttfamily #1\hfil} +% +% Likewise, for commands using sans serif. +\newenvironment{cmddescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt + \let\makelabel=\cmddescriptionlabel}}% + {\end{list}} +\newcommand*\cmddescriptionlabel[1]{\hspace\labelsep + \normalfont\sffamily #1\hfil} + +% General squeezed itemize/enumerate. +\newenvironment{itemize*}% + {\begin{itemize}% + \setlength{\itemsep}{0pt}% + \setlength{\parskip}{0pt}}% + {\end{itemize}} + +\newenvironment{enumerate*}% + {\begin{enumerate}% + \setlength{\itemsep}{0pt}% + \setlength{\parskip}{0pt}}% + {\end{enumerate}} + +\newsavebox{\wbox} +\newenvironment{warningbox} + {\begin{lrbox}{\wbox} + \begin{minipage}{.95\textwidth}} + {\end{minipage}\end{lrbox}\fbox{\usebox{\wbox}}} +% +% lrbox is used as a representation marking. I changed it to +% lrBox in tne source file, to get closer to logical marking +\newsavebox{\mylrbox} +\newenvironment{lrBox} + {\begin{lrbox}{\mylrbox}} + {\end{lrbox}} + + +% emacs-page output setup +% +\ifx \HCode\UnDef + \providecommand{\Status}{0}% running TeX +\else + \providecommand{\Status}{2}% running TeX4ht +\fi +%\typeout{Status is \Status} +% +\newif\ifSingleColumn +% +% By default, we won't be creating hyperlinks. +\def\href#1#2{#2} +\def\hypertarget#1#2{} +\def\email#1{\href{mailto:#1}{\path{#1}}} % \path comes from url +\def\htmlanchor#1{} +% +\definecolor{hypercolor}{rgb}{0.5,0.0,0.5} % purplish external links. +% +% +\ifcase\Status + % \Status = 0 + \typeout{TeX Live documentation in DVI format} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 1 + \typeout{TeX Live documentation in PDF format} + \RequirePackage[breaklinks, + colorlinks,linkcolor=hypercolor,citecolor=hypercolor, + urlcolor=hypercolor,filecolor=hypercolor, + bookmarksopen, + %pdfstartview={FitBH -320000}, % fails with acrobat7 + hyperindex] + {hyperref} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 2 + \typeout{TeX Live documentation in HTML format} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + % read our config file, live4ht.cfg; q.v., for more definitions. + % hyperref load must come after the tex4ht load. + \RequirePackage[live4ht]{tex4ht} + \RequirePackage[tex4ht]{hyperref} \hyperlinkfileprefix{} + % definitions need simplifying for TeX4ht to make relative paths work. + \def\CDref#1#2{\href{../../../../#1}{#2}} + \def\OnCD#1{\href{../../../../#1}{#1}} + \def\htmlanchor#1{\HCode{<a id="#1"></a>}} + \or + % \Status = 3 + \typeout{TeX Live documentation as a Baskerville issue} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \RequirePackage{bvoutln}% outline of baskerville + \SingleColumnfalse + \RequirePackage{multicol} + \or + % \Status = 4 + \typeout{TeX Live documentation as a TUB article} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \SingleColumnfalse + \newenvironment{multicols}[1]{}{} +\fi +% +\ifnum \Status=4 +\else + \RequirePackage{texnames} + \providecommand\TeXXeT{\TeX-{}-% + \kern-.1emX\kern-.125em\lower.5ex\hbox{E}\kern-.1667emT\@} + \def\MP{MetaPost} + \let\mf\MF + \newcommand\ConTeXt{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt} + \newcommand\MIKTEX{MiK\kern-.025em \TeX}% per www.miktex.org + % from pictex.tex: + \ifx\PiC\undefined \def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC} \fi + \ifx\PiCTeX\undefined \def\PiCTeX{\PiC\kern-.11em\TeX} \fi +\fi +% +% hacking at sections etc., to pay attention to baskerville status +\newcommand{\@condend@multicols}{% + \ifSingleColumn + \else + \def\@tempa{multicols}% + \ifx\@tempa\@currenvir + \end{multicols}% + \fi + \fi +} +\let\Section\section +\renewcommand{\section}{% + \@ifstar + {\Section*}% + {% + \@condend@multicols + \@dblarg\@full@section + }% +} +\def\@full@section[#1]#2{% + \Section[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} +\let\SubSection\subsection +\renewcommand{\subsection}{% + \@ifstar{\SubSection*}% + {% + \@condend@multicols + \@dblarg\@full@subsection + } +} +\def\@full@subsection[#1]#2{% + \SubSection[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} + +% calm things down a bit if we're in a multiple-column version +\ifSingleColumn +\else + \def\@listI{\leftmargin\leftmargini + \parsep \z@ + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \itemsep \z@ \@plus .1\p@ + } + \let\@listi\@listI + \@listi + \def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \itemsep \z@ \@plus .1\p@ + } + \def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 1\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \partopsep \z@ + \itemsep \topsep + } + \def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep + } + \def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep + } + \def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep + } +\fi +% +% array package stuff +\def\arraybackslash{\let\\=\@arraycr} +\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}} +% +% shaded rows (using facilities of colortbl) +% +\definecolor{pale}{gray}{.9} +\newcount\colrow +\gdef\RowColor{pale} +\def\SetRowColor{% + \rowcolor{\RowColor}% + \global\advance\colrow by1\relax + \ifodd\colrow + \gdef\RowColor{pale}% + \else + \gdef\RowColor{white}% + \fi +} +% redefine to hack up a reference even though we don't need it... +\renewcommand\@bibitem[1]{\if@filesw \immediate\write\@auxout + {\string\bibcite{#1}{?}}\fi\ignorespaces} +% +% \unknownTeXlive is a dummy texlive entry for the biblio +\newcommand\unknownTeXlive[2][\relax]{\textbf{\textsc{unknown}}% + \global\@all@unknown\expandafter{\the\@all@unknown{#2}}% +} +\newtoks\@all@unknown +\global\@all@unknown{} +\AtEndDocument{\@message@unknowns} +\def\@message@unknowns{\edef\@tempa{\the\@all@unknown}% + \ifx\@tempa\@empty + \else + \def\@tempa{*** TeX Live package location of }% + \expandafter\@output@unknowns\the\@all@unknown\@empty + \fi +} +\def\@output@unknowns#1{\edef\@tempb{#1}% + \ifx\@tempb\@empty + \typeout{ unknown}% + \else + \message{\@tempa#1,}% + \def\@tempa{}% + \expandafter\@output@unknowns + \fi +} + + +% Silence font warnings about no bold typewriter in LM. +\def\@font@warning#1{}% + +% Silence hyperref warnings about \kern. +\def\HyPsd@Warning#1{}% + +\endinput diff --git a/Master/texmf-dist/doc/texlive/texlive-en/archive/texlive.pl b/Master/texmf-dist/doc/texlive/texlive-en/archive/texlive.pl new file mode 100644 index 00000000000..33a19a801d6 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/archive/texlive.pl @@ -0,0 +1,574 @@ +$texlive{"a0poster"}="latex3"; +$texlive{"aaai"}="latex3"; +$texlive{"abstyles"}="bibtex3"; +$texlive{"accfonts"}="fonts3"; +$texlive{"achemso"}="latex3"; +$texlive{"acronym"}="latex3"; +$texlive{"adfathesis"}="latex3"; +$texlive{"adobeother"}="fonts3"; +$texlive{"adobestd"}="fonts1"; +$texlive{"adrlist"}="latex3"; +$texlive{"ae"}="fonts2"; +$texlive{"aguplus"}="latex3"; +$texlive{"aiaa"}="latex3"; +$texlive{"akletter"}="latex3"; +$texlive{"alatex"}="formats3"; +$texlive{"alg"}="latex3"; +$texlive{"algorithms"}="latex3"; +$texlive{"alphaev5-osf4.0d"}="systems1"; +$texlive{"alphaev5-osf4.0d"}="systems2"; +$texlive{"alphaev5-osf4.0d"}="systems3"; +$texlive{"altfont"}="latex3"; +$texlive{"amsfonts"}="fonts2"; +$texlive{"amslatex"}="latex2"; +$texlive{"amstex"}="plain2"; +$texlive{"answers"}="latex3"; +$texlive{"antyktor"}="fonts3"; +$texlive{"apa"}="latex3"; +$texlive{"apl"}="fonts3"; +$texlive{"appendix"}="latex3"; +$texlive{"ar"}="fonts3"; +$texlive{"arabtex"}="lang3"; +$texlive{"arydshln"}="latex3"; +$texlive{"asaetr"}="latex3"; +$texlive{"ascii"}="fonts3"; +$texlive{"astro"}="fonts3"; +$texlive{"aurora"}="dvips3"; +$texlive{"authorindex"}="latex3"; +$texlive{"autotab"}="latex3"; +$texlive{"babel"}="generic2"; +$texlive{"backgammon"}="fonts3"; +$texlive{"bakoma"}="fonts2"; +$texlive{"barcode2"}="fonts3"; +$texlive{"barcodes"}="fonts3"; +$texlive{"barr"}="graphics3"; +$texlive{"bbding"}="fonts3"; +$texlive{"bbm"}="fonts3"; +$texlive{"bbold"}="fonts3"; +$texlive{"bbtbase"}="bibtex1"; +$texlive{"bbtdoc"}="bibtex2"; +$texlive{"beebe"}="bibtex2"; +$texlive{"belleek"}="fonts2"; +$texlive{"beton"}="latex3"; +$texlive{"bez123"}="latex3"; +$texlive{"bezos"}="latex3"; +$texlive{"bibarts"}="bibtex3"; +$texlive{"biblist"}="latex3"; +$texlive{"blue"}="formats3"; +$texlive{"bluesky"}="fonts1"; +$texlive{"booktabs"}="latex2"; +$texlive{"borceux"}="graphics3"; +$texlive{"bosisio"}="latex3"; +$texlive{"bridge"}="latex3"; +$texlive{"brushscr"}="fonts3"; +$texlive{"c-pascal"}="generic3"; +$texlive{"calendar"}="latex3"; +$texlive{"calligra"}="fonts3"; +$texlive{"calrsfs"}="latex3"; +$texlive{"camel"}="latex3"; +$texlive{"caption"}="latex2"; +$texlive{"carlisle"}="latex2"; +$texlive{"casyl"}="lang3"; +$texlive{"catalog"}="doc2"; +$texlive{"cbgreek"}="fonts3"; +$texlive{"cc-pl"}="fonts2"; +$texlive{"ccaption"}="latex3"; +$texlive{"ccfonts"}="latex3"; +$texlive{"cchess"}="fonts3"; +$texlive{"cdcover"}="latex3"; +$texlive{"cellular"}="plain3"; +$texlive{"changebar"}="latex2"; +$texlive{"chemcono"}="latex3"; +$texlive{"chemsym"}="latex3"; +$texlive{"cheq"}="fonts3"; +$texlive{"cherokee"}="fonts3"; +$texlive{"chess"}="fonts3"; +$texlive{"china2e"}="latex3"; +$texlive{"circ"}="graphics3"; +$texlive{"cirth"}="fonts3"; +$texlive{"cite"}="latex2"; +$texlive{"cjk"}="lang3"; +$texlive{"cm"}="fonts1"; +$texlive{"cmbright"}="fonts2"; +$texlive{"cmcyr"}="fonts3"; +$texlive{"cmcyralt"}="latex3"; +$texlive{"cmdtrack"}="latex2"; +$texlive{"cmextra"}="fonts2"; +$texlive{"cmpica"}="fonts3"; +$texlive{"cmpk"}="fonts3"; +$texlive{"cmsd"}="latex3"; +$texlive{"codepage"}="latex3"; +$texlive{"colorsep"}="dvips3"; +$texlive{"colortab"}="plain3"; +$texlive{"comment"}="latex3"; +$texlive{"concmath"}="fonts3"; +$texlive{"concrete"}="fonts3"; +$texlive{"context"}="formats2"; +$texlive{"covington"}="latex3"; +$texlive{"croatian"}="lang3"; +$texlive{"crop"}="latex3"; +$texlive{"crossword"}="latex3"; +$texlive{"crosswrd"}="latex3"; +$texlive{"csfonts"}="fonts2"; +$texlive{"cslatex"}="lang2"; +$texlive{"csplain"}="lang2"; +$texlive{"cspsfonts"}="fonts2"; +$texlive{"cstug"}="doc3"; +$texlive{"cursor"}="latex3"; +$texlive{"curves"}="graphics3"; +$texlive{"custom-bib"}="bibtex2"; +$texlive{"cyrillic"}="lang2"; +$texlive{"dancers"}="fonts3"; +$texlive{"deleq"}="latex3"; +$texlive{"devanagari"}="lang3"; +$texlive{"dialogl"}="latex3"; +$texlive{"dinbrief"}="latex3"; +$texlive{"directory"}="bibtex3"; +$texlive{"dotseqn"}="latex3"; +$texlive{"draftcopy"}="latex3"; +$texlive{"dratex"}="graphics3"; +$texlive{"dropping"}="latex3"; +$texlive{"dstroke"}="fonts3"; +$texlive{"dtk"}="latex3"; +$texlive{"duerer"}="fonts3"; +$texlive{"dvipdfm"}="doc2"; +$texlive{"dvipsbase"}="dvips1"; +$texlive{"dvipsdoc"}="dvips2"; +$texlive{"ean"}="generic3"; +$texlive{"easy"}="latex3"; +$texlive{"ec"}="fonts2"; +$texlive{"ecc"}="fonts3"; +$texlive{"ecltree"}="latex2"; +$texlive{"eco"}="fonts3"; +$texlive{"ecpk"}="fonts3"; +$texlive{"edmac"}="plain3"; +$texlive{"eepic"}="graphics2"; +$texlive{"egplot"}="latex3"; +$texlive{"eiad"}="fonts3"; +$texlive{"eijkhout"}="generic3"; +$texlive{"elsevier"}="latex3"; +$texlive{"elvish"}="fonts3"; +$texlive{"emp"}="latex3"; +$texlive{"emulateapj"}="latex3"; +$texlive{"encodings"}="omega2"; +$texlive{"endfloat"}="latex3"; +$texlive{"engwar"}="fonts3"; +$texlive{"envbig"}="latex3"; +$texlive{"envlab"}="latex3"; +$texlive{"epigraph"}="latex3"; +$texlive{"eplain"}="formats2"; +$texlive{"eqname"}="latex3"; +$texlive{"eqnarray"}="latex3"; +$texlive{"esieecv"}="latex3"; +$texlive{"etexbase"}="etex2"; +$texlive{"etruscan"}="fonts3"; +$texlive{"euler"}="latex3"; +$texlive{"euro"}="fonts2"; +$texlive{"euro2"}="latex3"; +$texlive{"eurofont"}="fonts2"; +$texlive{"europs"}="fonts2"; +$texlive{"eurosans"}="latex3"; +$texlive{"eurosym"}="fonts2"; +$texlive{"euxm"}="fonts3"; +$texlive{"exam"}="latex3"; +$texlive{"examdesign"}="latex3"; +$texlive{"expdlist"}="latex3"; +$texlive{"expl3"}="latex3"; +$texlive{"export"}="latex3"; +$texlive{"fancybox"}="latex2"; +$texlive{"fancyhdr"}="latex2"; +$texlive{"fancyref"}="latex2"; +$texlive{"fancyvrb"}="latex2"; +$texlive{"fax"}="latex3"; +$texlive{"fc"}="fonts3"; +$texlive{"feynmf"}="graphics3"; +$texlive{"finbib"}="bibtex3"; +$texlive{"float"}="latex2"; +$texlive{"floatfig"}="latex3"; +$texlive{"floatflt"}="latex3"; +$texlive{"fltpage"}="latex3"; +$texlive{"fncychap"}="latex3"; +$texlive{"foilhtml"}="latex3"; +$texlive{"foiltex"}="latex3"; +$texlive{"fontinst"}="generic2"; +$texlive{"fontname"}="doc2"; +$texlive{"footbib"}="latex3"; +$texlive{"footmisc"}="latex2"; +$texlive{"footnpag"}="latex3"; +$texlive{"formats"}="texlive2"; +$texlive{"formula"}="latex3"; +$texlive{"fp"}="latex3"; +$texlive{"frankenstein"}="latex3"; +$texlive{"french"}="lang2"; +$texlive{"fribrief"}="latex3"; +$texlive{"fullblck"}="latex3"; +$texlive{"fullpict"}="latex3"; +$texlive{"fundus"}="latex3"; +$texlive{"futhark"}="fonts3"; +$texlive{"g-brief"}="latex3"; +$texlive{"gb4e"}="latex3"; +$texlive{"genealogy"}="fonts3"; +$texlive{"general"}="doc1"; +$texlive{"genmisc"}="generic3"; +$texlive{"geometry"}="latex3"; +$texlive{"geomsty"}="latex3"; +$texlive{"german"}="lang2"; +$texlive{"germbib"}="bibtex2"; +$texlive{"germdoc"}="doc2"; +$texlive{"gloss"}="latex3"; +$texlive{"gn-logic"}="latex3"; +$texlive{"go"}="fonts3"; +$texlive{"gothic"}="fonts3"; +$texlive{"graphics"}="latex1"; +$texlive{"greek6cbc"}="fonts3"; +$texlive{"grnumalt"}="latex3"; +$texlive{"grtimes"}="lang3"; +$texlive{"guides"}="doc2"; +$texlive{"gustlib"}="plain2"; +$texlive{"hands"}="fonts3"; +$texlive{"hanging"}="latex3"; +$texlive{"harpoon"}="latex3"; +$texlive{"harvard"}="bibtex2"; +$texlive{"harvmac"}="plain3"; +$texlive{"hh"}="latex3"; +$texlive{"hilowres"}="latex3"; +$texlive{"histogr"}="latex3"; +$texlive{"hoekwater"}="fonts2"; +$texlive{"hppa1.1-hpux10.10"}="systems1"; +$texlive{"hppa1.1-hpux10.10"}="systems2"; +$texlive{"hppa1.1-hpux10.10"}="systems3"; +$texlive{"html"}="doc2"; +$texlive{"hvmaths"}="fonts3"; +$texlive{"hyper"}="latex3"; +$texlive{"hyperref"}="latex2"; +$texlive{"hyphen"}="lang1"; +$texlive{"hyphenat"}="latex3"; +$texlive{"i386-linux"}="systems1"; +$texlive{"i386-linux"}="systems2"; +$texlive{"i386-linux"}="systems3"; +$texlive{"i386-linux-libc5"}="systems1"; +$texlive{"i386-linux-libc5"}="systems2"; +$texlive{"i386-linux-libc5"}="systems3"; +$texlive{"ibm"}="fonts3"; +$texlive{"ieeepes"}="latex3"; +$texlive{"ifacmtg"}="latex3"; +$texlive{"imac"}="latex3"; +$texlive{"indxcite"}="latex3"; +$texlive{"info"}="doc2"; +$texlive{"ini"}="texlive1"; +$texlive{"insbox"}="generic3"; +$texlive{"ipa"}="latex3"; +$texlive{"isostds"}="latex3"; +$texlive{"jadetex"}="formats2"; +$texlive{"jhep"}="latex3"; +$texlive{"jknappen"}="latex2"; +$texlive{"jsmisc"}="plain3"; +$texlive{"jura"}="latex3"; +$texlive{"kalender"}="latex3"; +$texlive{"karnaugh"}="latex3"; +$texlive{"kdgreek"}="fonts3"; +$texlive{"kluwer"}="latex3"; +$texlive{"knuth"}="doc3"; +$texlive{"koma-script"}="latex3"; +$texlive{"kuvio"}="graphics3"; +$texlive{"labels"}="latex3"; +$texlive{"lamstex"}="formats3"; +$texlive{"lastpage"}="latex3"; +$texlive{"latexfonts"}="latex1"; +$texlive{"layouts"}="latex3"; +$texlive{"leaflet"}="latex3"; +$texlive{"leftidx"}="latex3"; +$texlive{"lettrine"}="latex3"; +$texlive{"levy"}="latex3"; +$texlive{"lgc"}="doc3"; +$texlive{"lgreek"}="latex3"; +$texlive{"lh"}="fonts2"; +$texlive{"lhcyr"}="latex3"; +$texlive{"lineno"}="latex3"; +$texlive{"linguex"}="latex3"; +$texlive{"listings"}="latex3"; +$texlive{"lkort"}="doc3"; +$texlive{"localloc"}="latex3"; +$texlive{"logic"}="fonts3"; +$texlive{"lollipop"}="formats3"; +$texlive{"ltablex"}="latex3"; +$texlive{"ltx2rtf"}="texlive2"; +$texlive{"ltxbase"}="latex1"; +$texlive{"ltxdoc"}="doc2"; +$texlive{"ltxdoc"}="latex1"; +$texlive{"ltxmisc"}="latex2"; +$texlive{"lucida"}="fonts2"; +$texlive{"ly1"}="latex3"; +$texlive{"mailing"}="latex3"; +$texlive{"makeindex"}="doc1"; +$texlive{"malayalam"}="lang3"; +$texlive{"malvern"}="fonts3"; +$texlive{"mapcodes"}="latex3"; +$texlive{"maple"}="latex3"; +$texlive{"margbib"}="latex3"; +$texlive{"marvosym"}="fonts3"; +$texlive{"mathcomp"}="latex2"; +$texlive{"mathematica"}="fonts3"; +$texlive{"mathpple"}="fonts3"; +$texlive{"mcite"}="latex3"; +$texlive{"mdwtools"}="latex3"; +$texlive{"metasupp"}="texlive1"; +$texlive{"method"}="latex3"; +$texlive{"mex"}="lang2"; +$texlive{"mff"}="latex3"; +$texlive{"mflogo"}="latex2"; +$texlive{"mfmisc"}="fonts1"; +$texlive{"mfnfss"}="latex2"; +$texlive{"mfpic"}="graphics3"; +$texlive{"mft"}="texlive1"; +$texlive{"mftoeps"}="fonts3"; +$texlive{"mhs"}="latex3"; +$texlive{"midnight"}="generic3"; +$texlive{"minitoc"}="latex3"; +$texlive{"mips-irix6.2"}="systems1"; +$texlive{"mips-irix6.2"}="systems2"; +$texlive{"mips-irix6.2"}="systems3"; +$texlive{"misc209"}="latex2"; +$texlive{"mltex"}="latex2"; +$texlive{"mnras"}="plain3"; +$texlive{"monotype"}="fonts3"; +$texlive{"montex"}="lang3"; +$texlive{"morehelp"}="latex3"; +$texlive{"moresize"}="latex3"; +$texlive{"moreverb"}="latex3"; +$texlive{"morse"}="fonts3"; +$texlive{"mpattern"}="metapost2"; +$texlive{"mpbase"}="metapost1"; +$texlive{"mpfnmark"}="latex3"; +$texlive{"ms"}="latex3"; +$texlive{"mslapa"}="latex3"; +$texlive{"mtbe"}="plain3"; +$texlive{"multenum"}="latex3"; +$texlive{"multi"}="dvips3"; +$texlive{"multirow"}="latex3"; +$texlive{"musictex"}="generic3"; +$texlive{"musixtex"}="generic3"; +$texlive{"nassflow"}="latex3"; +$texlive{"natbib"}="bibtex2"; +$texlive{"ncctools"}="latex2"; +$texlive{"newalg"}="latex3"; +$texlive{"newlfm"}="latex3"; +$texlive{"newsletr"}="plain3"; +$texlive{"newthm"}="latex3"; +$texlive{"niceframe"}="latex3"; +$texlive{"nomencl"}="latex3"; +$texlive{"nrc"}="latex3"; +$texlive{"ntg"}="doc3"; +$texlive{"ntgclass"}="latex2"; +$texlive{"ntheorem"}="latex3"; +$texlive{"numline"}="latex3"; +$texlive{"objectz"}="latex3"; +$texlive{"oca"}="fonts3"; +$texlive{"ocr-a"}="fonts3"; +$texlive{"ogham"}="fonts3"; +$texlive{"ogonek"}="latex3"; +$texlive{"oldstyle"}="latex3"; +$texlive{"omegabase"}="omega2"; +$texlive{"omegafonts"}="omega2"; +$texlive{"osmanian"}="fonts3"; +$texlive{"ot2cyr"}="fonts2"; +$texlive{"overpic"}="latex3"; +$texlive{"pacioli"}="fonts3"; +$texlive{"pageno"}="latex3"; +$texlive{"pandora"}="fonts3"; +$texlive{"paper"}="latex3"; +$texlive{"paralist"}="latex3"; +$texlive{"parallel"}="latex3"; +$texlive{"patch"}="latex2"; +$texlive{"pawpict"}="latex3"; +$texlive{"pb-diagram"}="latex3"; +$texlive{"pdcmac"}="plain3"; +$texlive{"pdfscreen"}="latex3"; +$texlive{"pdftex"}="pdftex2"; +$texlive{"permute"}="latex3"; +$texlive{"phoenician"}="fonts3"; +$texlive{"phonetic"}="fonts3"; +$texlive{"physe"}="formats3"; +$texlive{"phyzzx"}="formats3"; +$texlive{"picinpar"}="latex3"; +$texlive{"picins"}="latex3"; +$texlive{"pictex"}="graphics2"; +$texlive{"piff"}="latex3"; +$texlive{"pl"}="latex3"; +$texlive{"pl-qx"}="fonts2"; +$texlive{"plainmisc"}="plain1"; +$texlive{"plaintex"}="plain1"; +$texlive{"plari"}="latex3"; +$texlive{"platex"}="lang2"; +$texlive{"play"}="latex3"; +$texlive{"plcalendar"}="plain3"; +$texlive{"plfonts"}="fonts2"; +$texlive{"plgraph"}="generic3"; +$texlive{"plpatch"}="plain3"; +$texlive{"pmgraph"}="latex3"; +$texlive{"poligraf"}="generic3"; +$texlive{"polish"}="doc3"; +$texlive{"polyglot"}="latex3"; +$texlive{"prettyref"}="latex3"; +$texlive{"progkeys"}="latex3"; +$texlive{"program"}="latex3"; +$texlive{"proofs"}="latex3"; +$texlive{"protex"}="generic3"; +$texlive{"psafm"}="fonts3"; +$texlive{"psfig"}="generic3"; +$texlive{"psfrag"}="graphics2"; +$texlive{"psizzl"}="formats3"; +$texlive{"pslatex"}="latex2"; +$texlive{"psnfss"}="latex1"; +$texlive{"psnfssx"}="latex2"; +$texlive{"pspicture"}="latex2"; +$texlive{"pstricks"}="graphics2"; +$texlive{"punk"}="fonts3"; +$texlive{"qfonts"}="fonts2"; +$texlive{"qobitree"}="graphics3"; +$texlive{"qsymbols"}="latex3"; +$texlive{"quotchap"}="latex3"; +$texlive{"r-und-s"}="latex3"; +$texlive{"rcs"}="latex3"; +$texlive{"rcsinfo"}="latex3"; +$texlive{"realcalc"}="generic3"; +$texlive{"refcheck"}="latex3"; +$texlive{"refman"}="latex3"; +$texlive{"relenc"}="latex3"; +$texlive{"revtex"}="latex2"; +$texlive{"rlepsf"}="generic3"; +$texlive{"rmpage"}="latex3"; +$texlive{"rotating"}="latex2"; +$texlive{"rotfloat"}="latex3"; +$texlive{"rplain"}="latex3"; +$texlive{"rs6000-aix4.1.4.0"}="systems1"; +$texlive{"rs6000-aix4.1.4.0"}="systems2"; +$texlive{"rs6000-aix4.1.4.0"}="systems3"; +$texlive{"rsfs"}="fonts2"; +$texlive{"ruhyphen"}="lang1"; +$texlive{"runic"}="fonts3"; +$texlive{"sanskrit"}="fonts3"; +$texlive{"sauterfonts"}="latex3"; +$texlive{"scale"}="latex3"; +$texlive{"schedule"}="latex3"; +$texlive{"script"}="latex3"; +$texlive{"sectsty"}="latex3"; +$texlive{"semantic"}="latex3"; +$texlive{"seminar"}="latex2"; +$texlive{"setspace"}="latex3"; +$texlive{"shadbox"}="latex3"; +$texlive{"shadethm"}="latex3"; +$texlive{"shortlst"}="latex3"; +$texlive{"shorttoc"}="latex3"; +$texlive{"showdim"}="latex3"; +$texlive{"showlabels"}="latex3"; +$texlive{"siam"}="generic3"; +$texlive{"sidecap"}="latex3"; +$texlive{"siggraph"}="latex3"; +$texlive{"simpsons"}="fonts3"; +$texlive{"siunits"}="latex3"; +$texlive{"slashbox"}="latex3"; +$texlive{"slidenotes"}="latex3"; +$texlive{"smallcap"}="latex3"; +$texlive{"songbook"}="latex3"; +$texlive{"soul"}="latex3"; +$texlive{"sparc-solaris2.5.1"}="systems1"; +$texlive{"sparc-solaris2.5.1"}="systems2"; +$texlive{"sparc-solaris2.5.1"}="systems3"; +$texlive{"sprite"}="graphics3"; +$texlive{"ssqquote"}="latex3"; +$texlive{"startex"}="formats3"; +$texlive{"stdclsdv"}="latex3"; +$texlive{"stmaryrd"}="fonts2"; +$texlive{"subeqn"}="latex3"; +$texlive{"subeqnarray"}="latex3"; +$texlive{"subfigure"}="latex3"; +$texlive{"supertabular"}="latex3"; +$texlive{"synttree"}="latex3"; +$texlive{"t2"}="lang3"; +$texlive{"tabbing"}="latex3"; +$texlive{"tap"}="generic2"; +$texlive{"taylor"}="graphics3"; +$texlive{"tbe"}="plain3"; +$texlive{"tcx"}="texlive1"; +$texlive{"tds"}="doc1"; +$texlive{"tengwar"}="fonts3"; +$texlive{"tetex"}="doc1"; +$texlive{"tex-ps"}="generic2"; +$texlive{"tex4ht"}="latex2"; +$texlive{"texdraw"}="graphics3"; +$texlive{"texinfo"}="plain2"; +$texlive{"texip"}="formats3"; +$texlive{"texlive"}="texlive1"; +$texlive{"texsis"}="formats3"; +$texlive{"text1"}="formats3"; +$texlive{"textfit"}="latex3"; +$texlive{"textmerg"}="latex3"; +$texlive{"textpos"}="latex3"; +$texlive{"thesis"}="latex3"; +$texlive{"threed"}="metapost2"; +$texlive{"thumb"}="latex3"; +$texlive{"thumbpdf"}="latex3"; +$texlive{"timesht"}="latex3"; +$texlive{"timing"}="latex3"; +$texlive{"tipa"}="fonts2"; +$texlive{"titlefoot"}="latex3"; +$texlive{"titlesec"}="latex3"; +$texlive{"tmmaths"}="fonts3"; +$texlive{"tocbibind"}="latex3"; +$texlive{"tocloft"}="latex3"; +$texlive{"tocvsec2"}="latex3"; +$texlive{"tools"}="latex1"; +$texlive{"tracking"}="latex3"; +$texlive{"treesvr"}="latex3"; +$texlive{"treetex"}="plain3"; +$texlive{"ttf2pk"}="texlive2"; +$texlive{"tug"}="doc3"; +$texlive{"tugboat"}="generic2"; +$texlive{"type1"}="fonts2"; +$texlive{"type1cm"}="latex3"; +$texlive{"typespec"}="plain3"; +$texlive{"uaclasses"}="latex3"; +$texlive{"ucthesis"}="latex3"; +$texlive{"ulsy"}="latex3"; +$texlive{"umlaute"}="latex3"; +$texlive{"umrand"}="fonts3"; +$texlive{"underlin"}="latex3"; +$texlive{"uni"}="fonts3"; +$texlive{"units"}="latex3"; +$texlive{"universa"}="fonts3"; +$texlive{"unsupported"}="fonts3"; +$texlive{"urwstd"}="fonts2"; +$texlive{"useful"}="doc2"; +$texlive{"ut-thesis"}="latex3"; +$texlive{"utthesis"}="latex3"; +$texlive{"uwthesis"}="latex3"; +$texlive{"vdm"}="latex3"; +$texlive{"vector"}="latex3"; +$texlive{"vertex"}="plain3"; +$texlive{"vita"}="latex3"; +$texlive{"vrb"}="latex3"; +$texlive{"vrsion"}="latex3"; +$texlive{"warpcol"}="latex3"; +$texlive{"wasy"}="fonts2"; +$texlive{"wasysym"}="latex2"; +$texlive{"williams"}="latex3"; +$texlive{"win32"}="systems1"; +$texlive{"win32"}="systems2"; +$texlive{"win32"}="systems3"; +$texlive{"windvi"}="doc1"; +$texlive{"wnri"}="fonts3"; +$texlive{"wntamil"}="lang3"; +$texlive{"wsuipa"}="fonts2"; +$texlive{"xtab"}="latex3"; +$texlive{"xtcapts"}="latex3"; +$texlive{"xymtex"}="latex3"; +$texlive{"xypic"}="graphics2"; +$texlive{"yannisgr"}="fonts3"; +$texlive{"yfonts"}="latex3"; +$texlive{"yhmath"}="latex3"; +$texlive{"yi4latex"}="lang3"; +$texlive{"youngtab"}="latex3"; +$texlive{"ytex"}="formats3"; +$texlive{"zed-csp"}="latex3"; +$texlive{"zefonts"}="fonts2"; diff --git a/Master/texmf-dist/doc/texlive/texlive-en/live4ht.cfg b/Master/texmf-dist/doc/texlive/texlive-en/live4ht.cfg new file mode 100644 index 00000000000..0c5d820ae19 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/live4ht.cfg @@ -0,0 +1,52 @@ +% tex4ht configuration file for the TeX Live documentation. +% Accumulated over many years. Public domain. +% +% html specifies the main output format. +% info for extra debugging info in the log files. + +% have html in one piece (including footnotes). +\Preamble{charset=iso-8859-1,html,info,fn-in} + +% add extra stylesheet +\Configure{@HEAD}{\HCode{% +<link rel="stylesheet" type="text/css" href="\jobname.css" >\Hnewline +<link rel="stylesheet" type="text/css" href="tex-live.css" >\Hnewline +}} +% use png graphics as-is +\Configure{graphics*} + {png} + {\Needs{""}% + \Picture[pict]{../texlive-common/\csname Gin@base\endcsname.png}% + } +% or LaTeX complains it is missing. +\begin{document} + +\EndPreamble + +% simplify output for HTML. We leave TeX and LaTeX alone, since tex4ht +% actually does the lowered E (and raised A) in CSS. +\def\OMEGA{Omega} +\def\LaTeXe{LaTeX2e} +\def\eTeX{e-\TeX} +\def\acro#1{#1} +\def\MF{Metafont} +\def\BibTeX{BibTeX} +\def\warningbox{} +\def\endwarningbox{} + +\newif\ifhackliterals +\ifx\tldocenglish\undefined \else \hackliteralstrue \fi +\ifx\tldocrussian\undefined \else \hackliteralstrue \fi +\ifx\tldocgerman\undefined \else \hackliteralstrue \fi +% +\ifhackliterals + % these definitions cause "missing } inserted" at \end{tabularx} in + % French and Czech. don't know why. + % + % don't make these into links, as happens with \path. We only have a few + % special characters that actually occur. + \def\dirname{\texttt\bgroup\catcode`\$=12 \catcode`\_=12 \catcode`\~=12 + \finishliteral} + \def\finishliteral#1{#1\egroup} + \let\filename=\dirname +\fi diff --git a/Master/texmf-dist/doc/texlive/texlive-en/tex-live.css b/Master/texmf-dist/doc/texlive/texlive-en/tex-live.css new file mode 100644 index 00000000000..b8aa763a0df --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/tex-live.css @@ -0,0 +1,44 @@ +/* $Id: tex-live.css 3436 2007-01-13 22:34:01Z karl $ + Simple CSS for TeX Live that adds margins and a little color. + original by Bzyl Wlodzimierz, edited by Karl Berry, 2005. + Public domain. */ + +html { + // top left bottom right + margin: 15pt 15pt 15pt 15pt; + background: rgb(255,255,224); +} + +body { + margin: 0 5pt 0 5pt; + padding: 0; + //matw: background: rgb(224,255,224); + // (It looks better to me to have a consistent background --karl) +// fonts in browser are low resolution; +// therefore generated serif are poor quality, +// so they disturb reading (that is my opinion) + font-family: sans-serif; + font-style: normal; +} + +/* (It looks better to me to not vary colors at every level --karl) */ + +h3.sectionHead { + padding: 12pt 10pt 12pt 20pt; + //matw: background: rgb(192,224,255); + background: rgb(224,224,255); + color: rgb(0,0,32); +} + +h4.subsectionHead { + padding: 7pt 10pt 7pt 40pt; + background: rgb(224,224,255); + color: rgb(0,0,32); +} + +h5.subsubsectionHead { + padding: 3pt 10pt 3pt 40pt; + //matw: background: rgb(224,255,255); + background: rgb(224,224,255); + color: rgb(0,0,32); +} diff --git a/Master/texmf-dist/doc/texlive/texlive-en/tex-live.sty b/Master/texmf-dist/doc/texlive/texlive-en/tex-live.sty new file mode 100644 index 00000000000..867884ff5f9 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/tex-live.sty @@ -0,0 +1,494 @@ +% $Id$ +% TeX Live documentation style. Written by many people over many years. +% Public domain. +% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{tex-live}[2009/08/23 v1.7 TeX Live documentation style] +% +% colortbl and other packages otherwise make the default be letter, it seems. +\RequirePackage[a4paper,hscale=0.75,lines=60,vmarginratio=10:8]{geometry} +% +\RequirePackage{alltt} +\RequirePackage{array} +\RequirePackage{colortbl} +\RequirePackage{comment} +\RequirePackage{float} +\RequirePackage{graphicx} +\RequirePackage{longtable} +\RequirePackage{shortvrb} +\RequirePackage[normalem]{ulem} +\RequirePackage[obeyspaces]{url} +\RequirePackage{xspace} +% +\RequirePackage{lmodern} +\usepackage{textcomp}% including \textbullet +\def\p.{p.\,} + +% for a proper \acro command. +\RequirePackage{relsize} +%\DeclareRobustCommand{\acro}[1]{\textscale{.9}{#1}\@} +\def\acro#1{\textscale{.9}{#1}\@} +% +\RequirePackage{fancyvrb} +\DefineVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\normalsize} +\DefineVerbatimEnvironment{fverbatim}{Verbatim}{fontsize=\footnotesize} +\DefineVerbatimEnvironment{sverbatim}{Verbatim}{fontsize=\small} +\DefineVerbatimEnvironment{boxedverbatim} + {Verbatim}{fontsize=\footnotesize,frame=single} +\DefineVerbatimEnvironment{Verbatim}{Verbatim}{fontsize=\normalsize} +\def\verbatiminput#1{\VerbatimInput[fontsize=\scriptsize]{#1}} +\def\boxedverbatiminput#1{\VerbatimInput[frame=single,fontsize=\scriptsize]{#1}} +\def\listinginput#1#2{\VerbatimInput[fontsize=\scriptsize,firstnumber=#1,numbers=left]{#2}} +\MakeShortVerb\| +% +% +% Done with packages. +% +% emacs-page page layout. +% +%ltr \advance\textwidth by 1.1in +%ltr \advance\oddsidemargin by -.55in +%ltr \advance\evensidemargin by -.55in +%ltr % +%ltr \advance\textheight by 1in +%ltr \advance\topmargin by -.5in +%ltr \advance\footskip by -.5in +%ltr % +\message{dimens: textwidth=\the\textwidth\space + oddsidemargin=\the\oddsidemargin\space + evensidemargin=\the\evensidemargin\space + textheight=\the\textheight\space + topmargin=\the\topmargin\space + footskip=\the\footskip} +% +% with settings above, and without a4 (hence letter): +% textwidth=424.49744pt oddsidemargin=22.25128pt evensidemargin=22.25128pt +% textheight=622.26999pt topmargin=-20.135pt footskip=-6.135pt +% +% with default a4paper geometry settings (not enough height): +% textwidth=418.25368pt oddsidemargin=17.3571pt evensidemargin=17.3571pt +% textheight=591.5302pt topmargin=-7.86334pt footskip=30.0pt +% +% with geometry settings [a4paper,hscale=0.75,lines=60,vmarginratio=10:8]: +% textwidth=448.1309pt oddsidemargin=2.41849pt evensidemargin=2.41849pt +% textheight=718.0pt topmargin=-38.68848pt footskip=30.0pt + +% +\pagestyle{headings} +% +% LaTeX parameters. +\renewcommand{\topfraction}{0.85} +\renewcommand{\floatpagefraction}{0.86} +\renewcommand{\textfraction}{0.1} +\renewcommand{\abovecaptionskip}{4pt} +\renewcommand{\belowcaptionskip}{4pt} +\setcounter{tocdepth}{3} +\setcounter{secnumdepth}{3} +\setcounter{topnumber}{5} +\setcounter{totalnumber}{5} +% +% linebreaking, etc. +\hbadness=4000 +\vbadness=4000 +\emergencystretch=.1\hsize +\relpenalty=500 +% +\def\slash{/\penalty\z@\hskip\z@skip } +% +% various sorts of names +\newcommand*{\pkgname}[1]{\textsf{#1}}% package name +\newcommand*{\optname}[1]{\texttt{#1}}% (package,class) option name +\newcommand*{\cmdname}[1]{\textsf{#1}}% command name +\newcommand*{\colname}[1]{\emph{#1}}% collection name +\newcommand*{\dirname}[1]{\path{#1}}% directory name +\def\filename#1{\path{#1}}% file name +\newcommand*{\envname}[1]{\texttt{#1}}% environment variable name +\newcommand{\code}[1]{\texttt{#1}} +\newcommand{\file}[1]{\texttt{#1}} +\newcommand{\prog}[1]{\textsf{#1}}% same as \cmdname +\newcommand{\samp}[1]{`\texttt{#1}'} +\newcommand{\var}[1]{{\sl #1}}% not \textsl, for roman not typewriter slanted. +\newcommand{\ttvar}[1]{\texttt{\var{#1}}} +% +% underlined command input. +%\def\Ucom#1{% +% \uline{\rule[-.2\baselineskip]{0pt}{.9\baselineskip}\ttfamily #1}} +% bold command input +\def\Ucom#1{{\bfseries\ttfamily #1}} +% +% \CDref is for url's with a #, where we need to write the target url and +% displayed url separately in the input, due to catcode madness. +% (We could simplify/remove this next time, I think.) +\def\CDref#1#2{\texttt{#1}} +% +% \OnCD no longer has any use at all, since we don't have unpacked files +% on the DVD and it has never worked when reading the PDF online. +\def\OnCD#1{\path{#1}} +% +% \OnCD is currently for any other reference to a file or directory in +% the distribution. PDF readers only open .pdf files, though, so we +% should change this to only use \href for those. Or more likely use +% different macros in the source. +%\def\OnCD#1{\href{../../../../#1}{\path{#1}}} +% +% \href incorrectly appends .pdf to anything without an extension; these +% definitions using \hyper@linkurl do not, but they fail for .pdf +% references -- which are the only ones that work anyway. So this is +% useless, in practice. +%\def\CDref#1#2{\hyper@linkurl{#2}{../../../../#1}} +%\def\OnCD#1{\hyper@linkurl{\path{#1}}{../../../../#1}} + +% GUI menu/button/tab sequence: +\def\guiseq#1{\textsf{#1}} +\def\arw{\unskip$\rightarrow$\ignorespaces} +% +% Special names. +\def\dpi{$\,$dpi\xspace} +\def\bs{{\protect\normalfont\ttfamily\char'134}} +\DeclareRobustCommand{\cs}[1]{{\normalfont\ttfamily\char`\\#1}} +\def\Q#1{\par\vskip6pt\leftline{#1}\par} +\def\hyph{-} +% +% many abbreviations. +\def\AllTeX{(\La\kern-.075em)\kern-.075em\TeX} +\def\AFMtoTFM{\cmdname{AFM2TFM}\null} +\def\bv{\emph{Baskerville}} +\let\BV=\bv +\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% + \hbox{$\mathcal{S}$}\kern-.075em $} +\def\Dash{\unskip\nobreak\thinspace---\thinspace\ignorespaces} +\def\dvicopy{\cmdname{dvicopy}} +\def\dvidvi{\cmdname{dvidvi}} +\def\dvips{\cmdname{dvips}} +\def\eTeX{$\varepsilon$-\TeX} +\def\fpTeX{\textrm{fp}\TeX\xspace} +\def\GFtoDVI{\cmdname{GFtoDVI}\null} +\def\GFtoPK{\cmdname{GFtoPK}\null} +\def\GFtype{\cmdname{GFtype}} +\def\GUI{\acro{GUI}\xspace} +\def\KPS{Kpathsea} +% This code % is hacked from its definition of \cs{LaTeX}; it allows +% slants (for example) to propagate into the raised (small) `A': +\newcommand{\La}% + {L\kern-.36em + {\setbox0\hbox{T}% + \vbox to\ht0{\hbox{$\m@th$% + \csname S@\f@size\endcsname + \fontsize\sf@size\z@ + \math@fontsfalse\selectfont + A}% + \vss}% + }} +\def\OMEGA{$\Omega$} +\def\OzMF{OzMF} +\def\OzMP{OzMP} +\def\OzTeX{O\kern-.03em z\kern-.15em\TeX} +\def\PKtype{\cmdname{PKtype}} +\def\PLtoTF{\cmdname{PLtoTF}\null} +\def\ProTeXt{pro\TeX t} +\def\teTeX{\textrm{te}\TeX\xspace} +\def\TeXLive{\TeX{} Live\xspace} +\def\TFtoPL{\cmdname{TFtoPL}\null} +\def\TK{\TeX\ Collection} +\let\TL=\TeXLive +\def\TypeI{Type~1} +\def\VFtoVP{\cmdname{VFtoVP}\null} +\def\VPtoVF{\cmdname{VPtoVF}\null} +\def\Thanh{H\`an~Th\ifx % get Unicode char in tex4ht's HTML output + \HCode\UnDef\^e\llap{\raise 0.5ex\hbox{\'{}}}\else + \HCode{\string&\#x1EBF;}\fi~Th\`anh} +\def\XEmTeX{\textrm{XEm}\TeX\xspace} +\def\XEmacs{\textrm{XEmacs}\xspace} +\def\XeTeX{Xe\TeX} +\def\Webc{Web2C} +\providecommand*{\CD}{\acro{CD}\xspace} +\providecommand*{\CTAN}{\acro{CTAN}\xspace} +\providecommand*{\DVD}{\texorpdfstring{\acro{DVD}}{DVD}\xspace} +\providecommand*{\GNU}{\acro{GNU}\xspace} +\providecommand*{\HTML}{\acro{HTML}\xspace} +\providecommand*{\ISO}{\texorpdfstring{\acro{ISO}}{ISO}\xspace} +\providecommand*{\MacOSX}{Mac\,\acro{OS\,X}\xspace} +\providecommand*{\PS}{Post\-Script\xspace} +\providecommand*{\TDS}{\acro{TDS}\xspace} +\providecommand*{\USB}{\texorpdfstring{\acro{USB}}{USB}\xspace} +\providecommand*{\dvi}{\acro{DVI}\xspace} +\providecommand*{\web}{\texttt{WEB}\xspace} + +% Include an image. +% #1 - name of image (pictures/#1.jpg, always .jpg please) +% #2 - bb for html +% #3 - width for TeX +% +\def\tlimage#1#2#3{% + \ifnum \Status=2 % html, want relative path in output + \includegraphics[#2]{../../general/texlive-common/pictures/#1.jpg} + \else % not html, handled by TEXINPUTS in Makefile + \includegraphics[width=#3]{pictures/#1.jpg} + \fi + \\[5mm] +} + +\def\tlpng#1#2{% + \ifnum \Status=2 % html, want relative path in output + \includegraphics[bb=0 0 1 1]{#1.png}% + \else % not html, handled by TEXINPUTS in Makefile + \includegraphics[width=#2]{#1.png}% + \fi +} +% +% description-like environment that uses tt instead of bf, and doesn't +% go to the left margin. Without the \hfil, get an underfull box. +% Don't know why \descriptionlabel doesn't. +% +\newenvironment{ttdescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt % these lists tend to have short descriptions + \parindent=0pt + \let\makelabel=\ttdescriptionlabel}}% + {\end{list}} +\newcommand*\ttdescriptionlabel[1]{\hspace\labelsep + \normalfont\ttfamily #1\hfil} +% +% Likewise, for commands using sans serif. +\newenvironment{cmddescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt + \let\makelabel=\cmddescriptionlabel}}% + {\end{list}} +\newcommand*\cmddescriptionlabel[1]{\hspace\labelsep + \normalfont\sffamily #1\hfil} + +% General squeezed itemize/enumerate. +\newenvironment{itemize*}% + {\begin{itemize}% + \setlength{\itemsep}{0pt}% + \setlength{\parskip}{0pt}}% + {\end{itemize}} + +\newenvironment{enumerate*}% + {\begin{enumerate}% + \setlength{\itemsep}{0pt}% + \setlength{\parskip}{0pt}}% + {\end{enumerate}} + +\newsavebox{\wbox} +\newenvironment{warningbox} + {\begin{lrbox}{\wbox} + \begin{minipage}{.95\textwidth}} + {\end{minipage}\end{lrbox}\fbox{\usebox{\wbox}}} +% +% lrbox is used as a representation marking. I changed it to +% lrBox in tne source file, to get closer to logical marking +\newsavebox{\mylrbox} +\newenvironment{lrBox} + {\begin{lrbox}{\mylrbox}} + {\end{lrbox}} + + +% emacs-page output setup +% +\ifx \HCode\UnDef + \providecommand{\Status}{0}% running TeX +\else + \providecommand{\Status}{2}% running TeX4ht +\fi +%\typeout{Status is \Status} +% +\newif\ifSingleColumn +% +% By default, we won't be creating hyperlinks. +\def\href#1#2{#2} +\def\hypertarget#1#2{} +\def\email#1{\href{mailto:#1}{\path{#1}}} % \path comes from url +\def\htmlanchor#1{} +% +\definecolor{hypercolor}{rgb}{0.5,0.0,0.5} % purplish external links. +% +% +\ifcase\Status + % \Status = 0 + \typeout{TeX Live documentation in DVI format} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 1 + \typeout{TeX Live documentation in PDF format} + \RequirePackage[breaklinks, + colorlinks,linkcolor=hypercolor,citecolor=hypercolor, + urlcolor=hypercolor,filecolor=hypercolor, + bookmarksopen, + %pdfstartview={FitBH -320000}, % fails with acrobat7 + hyperindex] + {hyperref} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 2 + \typeout{TeX Live documentation in HTML format} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + % read our config file, live4ht.cfg; q.v., for more definitions. + % hyperref load must come after the tex4ht load. + \RequirePackage[live4ht]{tex4ht} + \RequirePackage[tex4ht]{hyperref} \hyperlinkfileprefix{} + % definitions need simplifying for TeX4ht to make relative paths work. + \def\CDref#1#2{\href{../../../../#1}{#2}} + \def\OnCD#1{\href{../../../../#1}{#1}} + \def\htmlanchor#1{\HCode{<a id="#1"></a>}} + \or + % \Status = 3 + \typeout{TeX Live documentation as a Baskerville issue} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \RequirePackage{bvoutln}% outline of baskerville + \SingleColumnfalse + \RequirePackage{multicol} + \or + % \Status = 4 + \typeout{TeX Live documentation as a TUB article} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \SingleColumnfalse + \newenvironment{multicols}[1]{}{} +\fi +% +\ifnum \Status=4 +\else + \RequirePackage{texnames} + \providecommand\TeXXeT{\TeX-{}-% + \kern-.1emX\kern-.125em\lower.5ex\hbox{E}\kern-.1667emT\@} + \def\MP{MetaPost} + \let\mf\MF + \newcommand\ConTeXt{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt} + \newcommand\MIKTEX{MiK\kern-.025em \TeX}% per www.miktex.org + % from pictex.tex: + \ifx\PiC\undefined \def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC} \fi + \ifx\PiCTeX\undefined \def\PiCTeX{\PiC\kern-.11em\TeX} \fi +\fi +% +% hacking at sections etc., to pay attention to baskerville status +\newcommand{\@condend@multicols}{% + \ifSingleColumn + \else + \def\@tempa{multicols}% + \ifx\@tempa\@currenvir + \end{multicols}% + \fi + \fi +} +\let\Section\section +\renewcommand{\section}{% + \@ifstar + {\Section*}% + {% + \@condend@multicols + \@dblarg\@full@section + }% +} +\def\@full@section[#1]#2{% + \Section[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} +\let\SubSection\subsection +\renewcommand{\subsection}{% + \@ifstar{\SubSection*}% + {% + \@condend@multicols + \@dblarg\@full@subsection + } +} +\def\@full@subsection[#1]#2{% + \SubSection[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} + +% calm things down a bit if we're in a multiple-column version +\ifSingleColumn +\else + \def\@listI{\leftmargin\leftmargini + \parsep \z@ + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \itemsep \z@ \@plus .1\p@ + } + \let\@listi\@listI + \@listi + \def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \itemsep \z@ \@plus .1\p@ + } + \def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 1\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \partopsep \z@ + \itemsep \topsep + } + \def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep + } + \def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep + } + \def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep + } +\fi +% +% array package stuff +\def\arraybackslash{\let\\=\@arraycr} +\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}} +% +% shaded rows (using facilities of colortbl) +% +\definecolor{pale}{gray}{.9} +\newcount\colrow +\gdef\RowColor{pale} +\def\SetRowColor{% + \rowcolor{\RowColor}% + \global\advance\colrow by1\relax + \ifodd\colrow + \gdef\RowColor{pale}% + \else + \gdef\RowColor{white}% + \fi +} +% redefine to hack up a reference even though we don't need it... +\renewcommand\@bibitem[1]{\if@filesw \immediate\write\@auxout + {\string\bibcite{#1}{?}}\fi\ignorespaces} +% +% \unknownTeXlive is a dummy texlive entry for the biblio +\newcommand\unknownTeXlive[2][\relax]{\textbf{\textsc{unknown}}% + \global\@all@unknown\expandafter{\the\@all@unknown{#2}}% +} +\newtoks\@all@unknown +\global\@all@unknown{} +\AtEndDocument{\@message@unknowns} +\def\@message@unknowns{\edef\@tempa{\the\@all@unknown}% + \ifx\@tempa\@empty + \else + \def\@tempa{*** TeX Live package location of }% + \expandafter\@output@unknowns\the\@all@unknown\@empty + \fi +} +\def\@output@unknowns#1{\edef\@tempb{#1}% + \ifx\@tempb\@empty + \typeout{ unknown}% + \else + \message{\@tempa#1,}% + \def\@tempa{}% + \expandafter\@output@unknowns + \fi +} + + +% Silence font warnings about no bold typewriter in LM. +\def\@font@warning#1{}% + +% Silence hyperref warnings about \kern. +\def\HyPsd@Warning#1{}% + +\endinput diff --git a/Master/texmf-dist/doc/texlive/texlive-en/texlive-en.css b/Master/texmf-dist/doc/texlive/texlive-en/texlive-en.css new file mode 100644 index 00000000000..67628691485 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/texlive-en.css @@ -0,0 +1,338 @@ + +/* start css.sty */ +.ec-lmri-12x-x-172{font-size:206%; font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmss-17{font-size:170%; font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmr-12{font-size:120%;} +.ec-lmtt-12{font-size:120%; font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtt-8{font-size:80%; font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmtt-9{font-size:90%; font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmr-7{font-size:70%;} +.ec-lmtt-8x-x-87{font-size:69%; font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +p.noindent { text-indent: 0em } +td p.noindent { text-indent: 0em; margin-top:0em; } +p.nopar { text-indent: 0em; } +p.indent{ text-indent: 1.5em } +@media print {div.crosslinks {visibility:hidden;}} +a img { border-top: 0; border-left: 0; border-right: 0; } +center { margin-top:1em; margin-bottom:1em; } +td center { margin-top:0em; margin-bottom:0em; } +.Canvas { position:relative; } +img.math{vertical-align:middle;} +li p.indent { text-indent: 0em } +li p:first-child{ margin-top:0em; } +li p:last-child, li div:last-child { margin-bottom:0.5em; } +li p~ul:last-child, li p~ol:last-child{ margin-bottom:0.5em; } +.enumerate1 {list-style-type:decimal;} +.enumerate2 {list-style-type:lower-alpha;} +.enumerate3 {list-style-type:lower-roman;} +.enumerate4 {list-style-type:upper-alpha;} +div.newtheorem { margin-bottom: 2em; margin-top: 2em;} +.obeylines-h,.obeylines-v {white-space: nowrap; } +div.obeylines-v p { margin-top:0; margin-bottom:0; } +.overline{ text-decoration:overline; } +.overline img{ border-top: 1px solid black; } +td.displaylines {text-align:center; white-space:nowrap;} +.centerline {text-align:center;} +.rightline {text-align:right;} +div.verbatim {font-family: monospace; white-space: nowrap; text-align:left; clear:both; } +.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +div.fbox {display:table} +div.center div.fbox {text-align:center; clear:both; padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +div.minipage{width:100%;} +div.center, div.center div.center {text-align: center; margin-left:1em; margin-right:1em;} +div.center div {text-align: left;} +div.flushright, div.flushright div.flushright {text-align: right;} +div.flushright div {text-align: left;} +div.flushleft {text-align: left;} +.underline{ text-decoration:underline; } +.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; } +.framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +.framebox-c {text-align:center;} +.framebox-l {text-align:left;} +.framebox-r {text-align:right;} +span.thank-mark{ vertical-align: super } +span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript{ font-size:80%; } +div.footnotes{border-top:solid 1px black; border-bottom:solid 1px black; padding-bottom:1ex; padding-top:0.5ex; margin-right:15%; margin-top:2ex; font-style:italic; font-size:85%;} +div.footnotes p{margin-top:0; margin-bottom:0; text-indent:0;} +div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; } +table.tabular td p{margin-top:0em;} +table.tabular {margin-left: auto; margin-right: auto;} +td p:first-child{ margin-top:0em; } +td p:last-child{ margin-bottom:0em; } +div.td00{ margin-left:0pt; margin-right:0pt; } +div.td01{ margin-left:0pt; margin-right:5pt; } +div.td10{ margin-left:5pt; margin-right:0pt; } +div.td11{ margin-left:5pt; margin-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +td.td00{ padding-left:0pt; padding-right:0pt; } +td.td01{ padding-left:0pt; padding-right:5pt; } +td.td10{ padding-left:5pt; padding-right:0pt; } +td.td11{ padding-left:5pt; padding-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +.hline hr, .cline hr{ height : 1px; margin:0px; } +.tabbing-right {text-align:right;} +span.TEX {letter-spacing: -0.125em; } +span.TEX span.E{ position:relative;top:0.5ex;left:-0.0417em;} +a span.TEX span.E {text-decoration: none; } +span.LATEX span.A{ position:relative; top:-0.5ex; left:-0.4em; font-size:85%;} +span.LATEX span.TEX{ position:relative; left: -0.4em; } +div.float, div.figure {margin-left: auto; margin-right: auto;} +div.float img {text-align:center;} +div.figure img {text-align:center;} +.marginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;} +.marginpar p{margin-top:0.4em; margin-bottom:0.4em;} +table.equation {width:100%;} +.equation td{text-align:center; } +td.equation { margin-top:1em; margin-bottom:1em; } +td.equation-label { width:5%; text-align:center; } +td.eqnarray4 { width:5%; white-space: normal; } +td.eqnarray2 { width:5%; } +table.eqnarray-star, table.eqnarray {width:100%;} +div.eqnarray{text-align:center;} +div.array {text-align:center;} +div.pmatrix {text-align:center;} +table.pmatrix {width:100%;} +span.pmatrix img{vertical-align:middle;} +div.pmatrix {text-align:center;} +table.pmatrix {width:100%;} +span.bar-css {text-decoration:overline;} +img.cdots{vertical-align:middle;} +div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; } +table.tabular td p{margin-top:0em;} +table.tabular {margin-left: auto; margin-right: auto;} +td p:first-child{ margin-top:0em; } +td p:last-child{ margin-bottom:0em; } +div.td00{ margin-left:0pt; margin-right:0pt; } +div.td01{ margin-left:0pt; margin-right:5pt; } +div.td10{ margin-left:5pt; margin-right:0pt; } +div.td11{ margin-left:5pt; margin-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +td.td00{ padding-left:0pt; padding-right:0pt; } +td.td01{ padding-left:0pt; padding-right:5pt; } +td.td10{ padding-left:5pt; padding-right:0pt; } +td.td11{ padding-left:5pt; padding-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +.hline hr, .cline hr{ height : 1px; margin:0px; } +div.array {text-align:center;} +.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; font-weight:bold; font-size:110%;} +.index-item, .index-subitem, .index-subsubitem {display:block} +div.caption {text-indent:-2em; margin-left:3em; margin-right:1em; text-align:left;} +div.caption span.id{font-weight: bold; white-space: nowrap; } +h1.partHead{text-align: center} +p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } +p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } +.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;} +.subparagraphHead, .likesubparagraphHead { font-weight: bold;} +.quote {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; margin-right:1em; text-align:justify;} +.verse{white-space:nowrap; margin-left:2em} +div.maketitle {text-align:center;} +h2.titleHead{text-align:center;} +div.maketitle{ margin-bottom: 2em; } +div.author, div.date {text-align:center;} +div.thanks{text-align:left; margin-left:10%; font-size:85%; font-style:italic; } +.quotation {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; } +.abstract p {margin-left:5%; margin-right:5%;} +div.abstract {width:100%;} +.alltt P { margin-bottom : 0em; margin-top : 0em; } +.alltt { margin-bottom : 1em; margin-top : 1em; } +.figure img.graphics {margin-left:10%;} +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +div.longtable{text-align:center;} +.uline{ text-decoration:underline; } +.uuline{ text-decoration:underline; } +span.sout {text-decoration: line-through } +span.xout {text-decoration: line-through } +span.uwave {text-decoration:underline } +P.fancyvrb {white-space: nowrap; margin:0em;} +div#fancyvrb1{ border-top: solid 0.4pt; } +div#fancyvrb1{ border-left: solid 0.4pt; } +div#fancyvrb1{ border-bottom: solid 0.4pt; } +div#fancyvrb1{ border-right: solid 0.4pt; } +div#fancyvrb2{ border-top: solid 0.4pt; } +div#fancyvrb2{ border-left: solid 0.4pt; } +div#fancyvrb2{ border-bottom: solid 0.4pt; } +div#fancyvrb2{ border-right: solid 0.4pt; } +div#fancyvrb3{ border-top: solid 0.4pt; } +div#fancyvrb3{ border-left: solid 0.4pt; } +div#fancyvrb3{ border-bottom: solid 0.4pt; } +div#fancyvrb3{ border-right: solid 0.4pt; } +div#fancyvrb4{ border-top: solid 0.4pt; } +div#fancyvrb4{ border-left: solid 0.4pt; } +div#fancyvrb4{ border-bottom: solid 0.4pt; } +div#fancyvrb4{ border-right: solid 0.4pt; } +/* end css.sty */ + diff --git a/Master/texmf-dist/doc/texlive/texlive-en/texlive-en.html b/Master/texmf-dist/doc/texlive/texlive-en/texlive-en.html new file mode 100644 index 00000000000..c9d87363c95 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/texlive-en.html @@ -0,0 +1,6379 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" + "http://www.w3.org/TR/html4/loose.dtd"> +<html > +<head> + <title>The TeX Live Guide +TeX Live 2012</title> +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> +<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> +<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> +<!-- charset=iso-8859-1,html,info,fn-in --> +<meta name="src" content="texlive-en.tex"> +<meta name="date" content="2012-05-29 00:30:00"> +<link rel="stylesheet" type="text/css" href="texlive-en.css"> +<link rel="stylesheet" type="text/css" href="texlive-en.css" > +<link rel="stylesheet" type="text/css" href="tex-live.css" > +</head><body +> + <div class="maketitle"> + + + + + +<h2 class="titleHead">The <span class="TEX">T<span +class="E">E</span>X</span> Live Guide<br /> +<span class="TEX">T<span +class="E">E</span>X</span> Live 2012</h2> + <div class="author" ><span +class="ec-lmr-12">Karl Berry, editor</span> +<br /> <a +href="http://tug.org/texlive/" class="url" ><span +class="ec-lmtt-12">http://tug.org/texlive/</span></a> </div><br /> +<div class="date" ><span +class="ec-lmr-12">June 2012</span></div> + </div> + <h3 class="likesectionHead"><a + id="x1-1000"></a>Contents</h3> + <div class="tableofcontents"> + <span class="sectionToc" >1 <a +href="#x1-20001" id="QQ2-1-2">Introduction</a></span> +<br />  <span class="subsectionToc" >1.1 <a +href="#x1-30001.1" id="QQ2-1-3">TEX Live and the TEX Collection</a></span> +<br />  <span class="subsectionToc" >1.2 <a +href="#x1-40001.2" id="QQ2-1-4">Operating system support</a></span> +<br />  <span class="subsectionToc" >1.3 <a +href="#x1-50001.3" id="QQ2-1-5">Basic installation of <span class="TEX">T<span +class="E">E</span>X</span> Live</a></span> +<br />  <span class="subsectionToc" >1.4 <a +href="#x1-60001.4" id="QQ2-1-6">Security considerations</a></span> +<br />  <span class="subsectionToc" >1.5 <a +href="#x1-70001.5" id="QQ2-1-7">Getting help</a></span> +<br /> <span class="sectionToc" >2 <a +href="#x1-80002" id="QQ2-1-8">Overview of <span class="TEX">T<span +class="E">E</span>X</span> Live</a></span> +<br />  <span class="subsectionToc" >2.1 <a +href="#x1-90002.1" id="QQ2-1-9">The <span class="TEX">T<span +class="E">E</span>X</span> Collection: TEX Live, proTEXt, MacTEX</a></span> +<br />  <span class="subsectionToc" >2.2 <a +href="#x1-100002.2" id="QQ2-1-10">Top level TEX Live directories</a></span> +<br />  <span class="subsectionToc" >2.3 <a +href="#x1-110002.3" id="QQ2-1-11">Overview of the predefined texmf trees</a></span> +<br />  <span class="subsectionToc" >2.4 <a +href="#x1-120002.4" id="QQ2-1-12">Extensions to <span class="TEX">T<span +class="E">E</span>X</span></a></span> +<br />  <span class="subsectionToc" >2.5 <a +href="#x1-130002.5" id="QQ2-1-13">Other notable programs in <span class="TEX">T<span +class="E">E</span>X</span> Live</a></span> +<br />  <span class="subsectionToc" >2.6 <a +href="#x1-140002.6" id="QQ2-1-14">Fonts in <span class="TEX">T<span +class="E">E</span>X</span> Live</a></span> +<br /> <span class="sectionToc" >3 <a +href="#x1-150003" id="QQ2-1-15">Installation</a></span> +<br />  <span class="subsectionToc" >3.1 <a +href="#x1-160003.1" id="QQ2-1-16">Starting the installer</a></span> +<br />   <span class="subsubsectionToc" >3.1.1 <a +href="#x1-170003.1.1" id="QQ2-1-17">Unix</a></span> +<br />   <span class="subsubsectionToc" >3.1.2 <a +href="#x1-180003.1.2" id="QQ2-1-18">MacOSX</a></span> +<br />   <span class="subsubsectionToc" >3.1.3 <a +href="#x1-190003.1.3" id="QQ2-1-19">Windows</a></span> +<br />   <span class="subsubsectionToc" >3.1.4 <a +href="#x1-200003.1.4" id="QQ2-1-23">Cygwin</a></span> +<br />   <span class="subsubsectionToc" >3.1.5 <a +href="#x1-210003.1.5" id="QQ2-1-24">The text installer</a></span> +<br />   <span class="subsubsectionToc" >3.1.6 <a +href="#x1-220003.1.6" id="QQ2-1-25">The expert graphical installer</a></span> +<br />   <span class="subsubsectionToc" >3.1.7 <a +href="#x1-230003.1.7" id="QQ2-1-26">The simple wizard installer</a></span> +<br />  <span class="subsectionToc" >3.2 <a +href="#x1-240003.2" id="QQ2-1-27">Running the installer</a></span> +<br />   <span class="subsubsectionToc" >3.2.1 <a +href="#x1-250003.2.1" id="QQ2-1-28">Binary systems menu (Unix only)</a></span> +<br />   <span class="subsubsectionToc" >3.2.2 <a +href="#x1-260003.2.2" id="QQ2-1-30">Selecting what is to be installed</a></span> +<br />   <span class="subsubsectionToc" >3.2.3 <a +href="#x1-270003.2.3" id="QQ2-1-33">Directories</a></span> +<br />   <span class="subsubsectionToc" >3.2.4 <a +href="#x1-280003.2.4" id="QQ2-1-34">Options</a></span> +<br />  <span class="subsectionToc" >3.3 <a +href="#x1-290003.3" id="QQ2-1-36">Command-line install-tl options</a></span> +<br />   <span class="subsubsectionToc" >3.3.1 <a +href="#x1-300003.3.1" id="QQ2-1-37">The <span +class="ec-lmtt-10">-repository </span>option</a></span> +<br />  <span class="subsectionToc" >3.4 <a +href="#x1-310003.4" id="QQ2-1-38">Post-install actions</a></span> +<br />   <span class="subsubsectionToc" >3.4.1 <a +href="#x1-320003.4.1" id="QQ2-1-39">Environment variables for Unix</a></span> +<br />   <span class="subsubsectionToc" >3.4.2 <a +href="#x1-330003.4.2" id="QQ2-1-40">Environment variables: Global configuration</a></span> +<br />   <span class="subsubsectionToc" >3.4.3 <a +href="#x1-340003.4.3" id="QQ2-1-41">Internet updates after DVD installation</a></span> +<br />   <span class="subsubsectionToc" >3.4.4 <a +href="#x1-350003.4.4" id="QQ2-1-42">System font configuration for XeTEX and LuaTEX</a></span> +<br />   <span class="subsubsectionToc" >3.4.5 <a +href="#x1-360003.4.5" id="QQ2-1-43">ConTEXt Mark IV</a></span> +<br />   <span class="subsubsectionToc" >3.4.6 <a +href="#x1-370003.4.6" id="QQ2-1-44">Integrating local and personal macros</a></span> + + +<br />   <span class="subsubsectionToc" >3.4.7 <a +href="#x1-380003.4.7" id="QQ2-1-45">Integrating third-party fonts</a></span> +<br />  <span class="subsectionToc" >3.5 <a +href="#x1-390003.5" id="QQ2-1-46">Testing the installation</a></span> +<br />  <span class="subsectionToc" >3.6 <a +href="#x1-400003.6" id="QQ2-1-47">Links for additional downloadable software</a></span> +<br /> <span class="sectionToc" >4 <a +href="#x1-410004" id="QQ2-1-48">Specialized installations</a></span> +<br />  <span class="subsectionToc" >4.1 <a +href="#x1-420004.1" id="QQ2-1-49">Shared-user (or cross-machine) installations</a></span> +<br />  <span class="subsectionToc" >4.2 <a +href="#x1-430004.2" id="QQ2-1-50">Portable (USB) installations</a></span> +<br />  <span class="subsectionToc" >4.3 <a +href="#x1-440004.3" id="QQ2-1-51">ISO (or DVD) installations</a></span> +<br /> <span class="sectionToc" >5 <a +href="#x1-450005" id="QQ2-1-52"><span +class="ec-lmss-10">tlmgr</span>: Managing your installation</a></span> +<br />  <span class="subsectionToc" >5.1 <a +href="#x1-460005.1" id="QQ2-1-56"><span +class="ec-lmss-10">tlmgr </span>GUI mode</a></span> +<br />  <span class="subsectionToc" >5.2 <a +href="#x1-470005.2" id="QQ2-1-57">Sample <span +class="ec-lmss-10">tlmgr </span>command-line invocations</a></span> +<br /> <span class="sectionToc" >6 <a +href="#x1-480006" id="QQ2-1-58">Notes on Windows</a></span> +<br />  <span class="subsectionToc" >6.1 <a +href="#x1-490006.1" id="QQ2-1-59">Windows-specific features</a></span> +<br />  <span class="subsectionToc" >6.2 <a +href="#x1-500006.2" id="QQ2-1-60">Additional software included on Windows</a></span> +<br />  <span class="subsectionToc" >6.3 <a +href="#x1-510006.3" id="QQ2-1-62">User Profile is Home</a></span> +<br />  <span class="subsectionToc" >6.4 <a +href="#x1-520006.4" id="QQ2-1-63">The Windows registry</a></span> +<br />  <span class="subsectionToc" >6.5 <a +href="#x1-530006.5" id="QQ2-1-64">Windows permissions</a></span> +<br />  <span class="subsectionToc" >6.6 <a +href="#x1-540006.6" id="QQ2-1-65">Increasing maximum memory on Windows and Cygwin</a></span> +<br /> <span class="sectionToc" >7 <a +href="#x1-550007" id="QQ2-1-66">A user’s guide to Web2C</a></span> +<br />  <span class="subsectionToc" >7.1 <a +href="#x1-560007.1" id="QQ2-1-67">Kpathsea path searching</a></span> +<br />   <span class="subsubsectionToc" >7.1.1 <a +href="#x1-570007.1.1" id="QQ2-1-68">Path sources</a></span> +<br />   <span class="subsubsectionToc" >7.1.2 <a +href="#x1-580007.1.2" id="QQ2-1-69">Config files</a></span> +<br />   <span class="subsubsectionToc" >7.1.3 <a +href="#x1-590007.1.3" id="QQ2-1-70">Path expansion</a></span> +<br />   <span class="subsubsectionToc" >7.1.4 <a +href="#x1-600007.1.4" id="QQ2-1-71">Default expansion</a></span> +<br />   <span class="subsubsectionToc" >7.1.5 <a +href="#x1-610007.1.5" id="QQ2-1-72">Brace expansion</a></span> +<br />   <span class="subsubsectionToc" >7.1.6 <a +href="#x1-620007.1.6" id="QQ2-1-73">Subdirectory expansion</a></span> +<br />   <span class="subsubsectionToc" >7.1.7 <a +href="#x1-630007.1.7" id="QQ2-1-74">List of special characters and their meaning: a summary</a></span> +<br />  <span class="subsectionToc" >7.2 <a +href="#x1-640007.2" id="QQ2-1-75">Filename databases</a></span> +<br />   <span class="subsubsectionToc" >7.2.1 <a +href="#x1-650007.2.1" id="QQ2-1-76">The filename database</a></span> +<br />   <span class="subsubsectionToc" >7.2.2 <a +href="#x1-660007.2.2" id="QQ2-1-77">kpsewhich: Standalone path searching</a></span> +<br />   <span class="subsubsectionToc" >7.2.3 <a +href="#x1-670007.2.3" id="QQ2-1-78">Examples of use</a></span> +<br />   <span class="subsubsectionToc" >7.2.4 <a +href="#x1-680007.2.4" id="QQ2-1-79">Debugging actions</a></span> +<br />  <span class="subsectionToc" >7.3 <a +href="#x1-690007.3" id="QQ2-1-83">Runtime options</a></span> +<br /> <span class="sectionToc" >8 <a +href="#x1-700008" id="QQ2-1-84">Acknowledgements</a></span> +<br /> <span class="sectionToc" >9 <a +href="#x1-710009" id="QQ2-1-85">Release history</a></span> +<br />  <span class="subsectionToc" >9.1 <a +href="#x1-720009.1" id="QQ2-1-86">Past</a></span> +<br />   <span class="subsubsectionToc" >9.1.1 <a +href="#x1-730009.1.1" id="QQ2-1-87">2003</a></span> +<br />   <span class="subsubsectionToc" >9.1.2 <a +href="#x1-740009.1.2" id="QQ2-1-88">2004</a></span> +<br />   <span class="subsubsectionToc" >9.1.3 <a +href="#x1-750009.1.3" id="QQ2-1-89">2005</a></span> +<br />   <span class="subsubsectionToc" >9.1.4 <a +href="#x1-760009.1.4" id="QQ2-1-90">2006–2007</a></span> +<br />   <span class="subsubsectionToc" >9.1.5 <a +href="#x1-770009.1.5" id="QQ2-1-91">2008</a></span> +<br />   <span class="subsubsectionToc" >9.1.6 <a +href="#x1-780009.1.6" id="QQ2-1-92">2009</a></span> +<br />   <span class="subsubsectionToc" >9.1.7 <a +href="#x1-790009.1.7" id="QQ2-1-93">2010</a></span> +<br />   <span class="subsubsectionToc" >9.1.8 <a +href="#x1-800009.1.8" id="QQ2-1-94">2011</a></span> +<br />  <span class="subsectionToc" >9.2 <a +href="#x1-810009.2" id="QQ2-1-95">Present</a></span> +<br />  <span class="subsectionToc" >9.3 <a +href="#x1-820009.3" id="QQ2-1-96">Future</a></span> + </div> +<!--l. 32--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">1 </span> <a + id="x1-20001"></a>Introduction</h3> + + +<!--l. 35--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">1.1 </span> <a + id="x1-30001.1"></a><span class="TEX">T<span +class="E">E</span>X</span> Live and the <span class="TEX">T<span +class="E">E</span>X</span> Collection</h4> +<!--l. 37--><p class="noindent" >This document describes the main features of the <span class="TEX">T<span +class="E">E</span>X</span> Live software distribution — <span class="TEX">T<span +class="E">E</span>X</span> and related programs +for GNU/Linux and other Unix flavors, Mac OS X, and Windows systems. +<!--l. 41--><p class="indent" > You may have acquired <span class="TEX">T<span +class="E">E</span>X</span> Live by downloading, or on the <span class="TEX">T<span +class="E">E</span>X</span> Collection DVD, which <span class="TEX">T<span +class="E">E</span>X</span> user +groups distribute among their members, or in other ways. Section <a +href="#x1-90002.1">2.1<!--tex4ht:ref: sec:tl-coll-dists --></a> briefly describes the contents of the +DVD. Both <span class="TEX">T<span +class="E">E</span>X</span> Live and the <span class="TEX">T<span +class="E">E</span>X</span> Collection are cooperative efforts by the <span class="TEX">T<span +class="E">E</span>X</span> user groups. This document +mainly describes <span class="TEX">T<span +class="E">E</span>X</span> Live itself. +<!--l. 47--><p class="indent" > <span class="TEX">T<span +class="E">E</span>X</span> Live includes executables for <span class="TEX">T<span +class="E">E</span>X</span>, LaTeX2e, Con<span class="TEX">T<span +class="E">E</span>X</span>t, Metafont, MetaPost, BibTeX and many +other programs; an extensive collection of macros, fonts and documentation; and support for typesetting in +many different scripts from around the world. +<!--l. 52--><p class="indent" > For a brief summary of the major changes in this edition of <span class="TEX">T<span +class="E">E</span>X</span> Live, see the end of the document, +section <a +href="#x1-710009">9<!--tex4ht:ref: sec:history --></a> (p. <a +href="#x1-710009">73<!--tex4ht:ref: sec:history --></a>). +<!--l. 57--><p class="indent" > <a id="platforms"></a> + <h4 class="subsectionHead"><span class="titlemark">1.2 </span> <a + id="x1-40001.2"></a>Operating system support</h4> +<!--l. 61--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Live contains binaries for many Unix-based platforms, including GNU/Linux, Mac OS X, +and Cygwin. The included sources can be compiled on platforms for which we do not provide +binaries. +<!--l. 65--><p class="indent" > As to Windows: Windows XP and later are supported. Windows 2000 will probably still mostly work. +There are no special 64-bit executables for Windows, but the 32-bit executables should run on 64-bit +systems. +<!--l. 70--><p class="indent" > See section <a +href="#x1-90002.1">2.1<!--tex4ht:ref: sec:tl-coll-dists --></a> for alternate solutions for Windows and Mac OS X. +<!--l. 73--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">1.3 </span> <a + id="x1-50001.3"></a>Basic installation of <span class="TEX">T<span +class="E">E</span>X</span> Live</h4> +<!--l. 76--><p class="noindent" >You can install <span class="TEX">T<span +class="E">E</span>X</span> Live either from DVD or over the Internet (<a +href="http://tug.org/texlive/acquire.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/acquire.html</span></a>). +The net installer itself is small, and downloads everything requested from the Internet. +<!--l. 80--><p class="indent" > The DVD installer lets you install to a local disk. You cannot run <span class="TEX">T<span +class="E">E</span>X</span> Live directly from the +<span class="TEX">T<span +class="E">E</span>X</span> Collection DVD (or its <span +class="ec-lmtt-10">.iso </span>image), but you can prepare a runnable installation on, e.g., a +USB stick (see section <a +href="#x1-430004.2">4.2<!--tex4ht:ref: sec:portable-tl --></a>). Installation is described in later sections (p. <a +href="#x1-150003">12<!--tex4ht:ref: sec:install --></a>), but here is a quick +start: + <ul class="itemize1"> + <li class="itemize">The installation script is named <span +class="ec-lmtt-10">install-tl</span>. It can operate in a “wizard mode” given the option + <span +class="ec-lmtt-10">-gui=wizard </span>(default for Windows), a text mode given <span +class="ec-lmtt-10">-gui=text </span>(default for everything else), + and an expert GUI mode given <span +class="ec-lmtt-10">-gui=perltk</span>. + </li> + <li class="itemize">One of the installed items is the ‘<span class="TEX">T<span +class="E">E</span>X</span> Live Manager’ program, named <span +class="ec-lmss-10">tlmgr</span>. Like the installer, it + can be used in both GUI mode and in text mode. You can use it to install and uninstall packages + and do various configuration tasks. + </li></ul> +<!--l. 101--><p class="indent" > <a id="security"></a> + <h4 class="subsectionHead"><span class="titlemark">1.4 </span> <a + id="x1-60001.4"></a>Security considerations</h4> +<!--l. 105--><p class="noindent" >To the best of our knowledge, the core <span class="TEX">T<span +class="E">E</span>X</span> programs themselves are (and always have been) extremely +robust. However, the contributed programs in <span class="TEX">T<span +class="E">E</span>X</span> Live may not reach the same level, despite everyone’s best +efforts. As always, you should be careful when running programs on untrusted input; for maximum safety, use +a new subdirectory. +<!--l. 111--><p class="indent" > This need for care is especially urgent on Windows, since in general Windows finds programs in the current +directory before anything else, regardless of the search path. This opens up a wide variety of possible attacks. +We have closed many holes, but undoubtedly some remain, especially with third-party programs. Thus, we +recommend checking for suspicious files in the current directory, especially executables (binaries or scripts). +Ordinarily they should not be present, and definitely should not normally be created by merely processing a +document. + + +<!--l. 120--><p class="indent" > Finally, <span class="TEX">T<span +class="E">E</span>X</span> (and its companion programs) are able to write files when processing documents, a feature +that can also be abused in a wide variety of ways. Again, processing unknown documents in a new subdirectory +is the safest bet. +<!--l. 126--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">1.5 </span> <a + id="x1-70001.5"></a>Getting help</h4> +<!--l. 129--><p class="noindent" >The <span class="TEX">T<span +class="E">E</span>X</span> community is active and friendly, and most serious questions end up getting answered. However, the +support is informal, done by volunteers and casual readers, so it’s especially important that you do your +homework before asking. (If you prefer guaranteed commercial support, you can forgo <span class="TEX">T<span +class="E">E</span>X</span> Live +completely and purchase a vendor’s system; <a +href="http://tug.org/interest.html#vendors" class="url" ><span +class="ec-lmtt-10">http://tug.org/interest.html#vendors</span></a> has a +list.) +<!--l. 136--><p class="indent" > Here is a list of resources, approximately in the order we recommend using them: +<!--l. 139--><p class="indent" > + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10">Getting Started</span> </dt><dd +class="description">If you are new to <span class="TEX">T<span +class="E">E</span>X</span>, the web page <a +href="http://tug.org/begin.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/begin.html</span></a> gives a brief + introduction to the system. + </dd><dt class="description"> +<span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> <span +class="ec-lmbx-10">FAQ</span> </dt><dd +class="description">The <span class="TEX">T<span +class="E">E</span>X</span> FAQ is + a huge compendium of answers to all sorts of questions, from the most basic to the most arcane. + It is included on <span class="TEX">T<span +class="E">E</span>X</span> Live in <a +href="../../../../texmf-dist/doc/generic/FAQ-en/html/index.html" >texmf-dist/doc/generic/FAQ-en/html/index.html</a>, and is available + on the Internet through <a +href="http://www.tex.ac.uk/faq" class="url" ><span +class="ec-lmtt-10">http://www.tex.ac.uk/faq</span></a>. Please check here first. + </dd><dt class="description"> +<span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> <span +class="ec-lmbx-10">Catalogue</span> </dt><dd +class="description">If you are looking for a specific package, font, program, etc., the <span class="TEX">T<span +class="E">E</span>X</span> + Catalogue is the place to look. It is a huge collection of all <span class="TEX">T<span +class="E">E</span>X</span>-related items. See + <a +href="http://mirror.ctan.org/help/Catalogue/" class="url" ><span +class="ec-lmtt-10">http://mirror.ctan.org/help/Catalogue/</span></a>. + </dd><dt class="description"> +<span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> <span +class="ec-lmbx-10">Web Resources</span> </dt><dd +class="description">The web page <a +href="http://tug.org/interest.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/interest.html</span></a> has many <span class="TEX">T<span +class="E">E</span>X</span>-related links, + in particular for numerous books, manuals, and articles on all aspects of the system. + </dd><dt class="description"> +<span +class="ec-lmbx-10">support archives</span> </dt><dd +class="description">The two principal support forums are the Usenet newsgroup <a +href="news:comp.text.tex" class="url" ><span +class="ec-lmtt-10">news:comp.text.tex</span></a> + and the mailing list <a +href="mailto:texhax@tug.org" ><span class="path"><span +class="ec-lmtt-10">texhax@tug.org</span></span></a>. Their archives have years of past questions and answers + for your searching pleasure, via <a +href="http://groups.google.com/group/comp.text.tex/topics" class="url" ><span +class="ec-lmtt-10">http://groups.google.com/group/comp.text.tex/topics</span></a> and + <a +href="http://tug.org/mail-archives/texhax" class="url" ><span +class="ec-lmtt-10">http://tug.org/mail-archives/texhax</span></a>, respectively. And a general web search, for example + on <a +href="http://google.com" class="url" ><span +class="ec-lmtt-10">http://google.com</span></a>, never hurts. + </dd><dt class="description"> +<span +class="ec-lmbx-10">asking questions</span> </dt><dd +class="description">If you cannot find an answer, you can post to <span +class="ec-lmtt-10">comp.text.tex </span>through + Google or your newsreader, or to <a +href="mailto:texhax@tug.org" ><span class="path"><span +class="ec-lmtt-10">texhax@tug.org</span></span></a> through email. But before you post, + <span +class="ec-lmri-10">please </span>read this FAQ entry, to maximize your chances of getting a useful answer: + <a +href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion" class="url" ><span +class="ec-lmtt-10">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion</span></a>. Also worth mentioning + are the <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> Community site at + <a +href="http://www.latex-community.org/" class="url" ><span +class="ec-lmtt-10">http://www.latex-community.org/</span></a> and its forum <a +href="http://www.latex-community.org/forum/" class="url" ><span +class="ec-lmtt-10">http://www.latex-community.org/forum/</span></a>, + and <span class="TEX">T<span +class="E">E</span>X</span> StackExchange at <a +href="http://tex.stackexchange.com/" class="url" ><span +class="ec-lmtt-10">http://tex.stackexchange.com/</span></a>. + </dd><dt class="description"> +<span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> <span +class="ec-lmbx-10">Live support</span> </dt><dd +class="description">If you want to report a bug or have suggestions or comments on the <span class="TEX">T<span +class="E">E</span>X</span> Live + distribution, installation, or documentation, the mailing list is <a +href="mailto:tex-live@tug.org" ><span class="path"><span +class="ec-lmtt-10">tex-live@tug.org</span></span></a>. However, if + your question is about how to use a particular program included in <span class="TEX">T<span +class="E">E</span>X</span> Live, please write to + that program’s maintainer or mailing list. Often running a program with the <span +class="ec-lmtt-10">--help </span>option will + provide a bug reporting address. + </dd></dl> +<!--l. 189--><p class="indent" > The other side of the coin is helping others who have questions. Both <span +class="ec-lmtt-10">comp.text.tex </span>and <span +class="ec-lmtt-10">texhax </span>are open +to anyone, so feel free to join, start reading, and help out where you can. + + +<!--l. 196--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">2 </span> <a + id="x1-80002"></a>Overview of <span class="TEX">T<span +class="E">E</span>X</span> Live</h3> +<!--l. 199--><p class="noindent" >This section describes the contents of <span class="TEX">T<span +class="E">E</span>X</span> Live and the <span class="TEX">T<span +class="E">E</span>X</span> Collection of which it is a part. +<!--l. 202--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.1 </span> <a + id="x1-90002.1"></a>The <span class="TEX">T<span +class="E">E</span>X</span> Collection: <span class="TEX">T<span +class="E">E</span>X</span> Live, pro<span class="TEX">T<span +class="E">E</span>X</span>t, Mac<span class="TEX">T<span +class="E">E</span>X</span></h4> +<!--l. 205--><p class="noindent" >The <span class="TEX">T<span +class="E">E</span>X</span> Collection DVD comprises the following: +<!--l. 207--><p class="indent" > + <dl class="description"><dt class="description"> +<span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> <span +class="ec-lmbx-10">Live</span> </dt><dd +class="description">A complete <span class="TEX">T<span +class="E">E</span>X</span> system to be installed to disk. Its home page is + <a +href="http://tug.org/texlive/" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/</span></a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Mac</span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> </dt><dd +class="description">for Mac OS X, this adds a native Mac OS X installer and other Mac applications to <span class="TEX">T<span +class="E">E</span>X</span> + Live. Its home page is <a +href="http://tug.org/mactex/" class="url" ><span +class="ec-lmtt-10">http://tug.org/mactex/</span></a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10">pro</span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span><span +class="ec-lmbx-10">t</span> </dt><dd +class="description">An enhancement of the MiK<span class="TEX">T<span +class="E">E</span>X</span> distribution for Windows, pro<span class="TEX">T<span +class="E">E</span>X</span>t adds a few extra + tools to MiK<span class="TEX">T<span +class="E">E</span>X</span>, and simplifies installation. It is entirely independent of <span class="TEX">T<span +class="E">E</span>X</span> Live, and has its + own installation instructions. The pro<span class="TEX">T<span +class="E">E</span>X</span>t home page is <a +href="http://tug.org/protext" class="url" ><span +class="ec-lmtt-10">http://tug.org/protext</span></a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10">CTAN</span> </dt><dd +class="description">A snapshot of the CTAN repository (<a +href="http://www.ctan.org" class="url" ><span +class="ec-lmtt-10">http://www.ctan.org</span></a>). + </dd><dt class="description"> +<span +class="ec-lmtk-10">texmf-extra</span> </dt><dd +class="description">A directory with assorted additional packages. + </dd></dl> +<!--l. 228--><p class="indent" > CTAN, <span +class="ec-lmss-10">protext</span>, and <span +class="ec-lmtt-10">texmf-extra </span>do not necessarily follow the same copying conditions as <span class="TEX">T<span +class="E">E</span>X</span> Live, so be +careful when redistributing or modifying. +<!--l. 233--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.2 </span> <a + id="x1-100002.2"></a>Top level <span class="TEX">T<span +class="E">E</span>X</span> Live directories</h4> +<!--l. 236--><p class="noindent" >Here is a brief listing and description of the top level directories in a <span class="TEX">T<span +class="E">E</span>X</span> Live installation. +<!--l. 239--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span +class="ec-lmtt-10">bin</span> </dt><dd +class="list"> + <!--l. 240--><p class="noindent" >The <span class="TEX">T<span +class="E">E</span>X</span> system programs, arranged by platform. + </dd><dt class="list"> + <span +class="ec-lmtt-10">readme-*.dir</span> </dt><dd +class="list"> + <!--l. 242--><p class="noindent" >Quick overview and useful links for <span class="TEX">T<span +class="E">E</span>X</span> Live, in various languages, in both HTML and plain + text. + </dd><dt class="list"> + <span +class="ec-lmtt-10">source</span> </dt><dd +class="list"> + <!--l. 245--><p class="noindent" >The source to all included programs, including the main Web2C-based <span class="TEX">T<span +class="E">E</span>X</span> distributions. + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf</span> </dt><dd +class="list"> + <!--l. 248--><p class="noindent" >See <span +class="ec-lmtt-10">TEXMFMAIN </span>below. + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf-dist</span> </dt><dd +class="list"> + <!--l. 250--><p class="noindent" >See <span +class="ec-lmtt-10">TEXMFDIST </span>below. + </dd><dt class="list"> + <span +class="ec-lmtt-10">tlpkg</span> </dt><dd +class="list"> + <!--l. 252--><p class="noindent" >Scripts, programs and data for managing the installation, and special support for Windows.</dd></dl> + + +<!--l. 256--><p class="indent" > In addition to the directories above, the installation scripts and <span +class="ec-lmtt-10">README </span>files (in various languages) are at +the top level of the distribution. +<!--l. 260--><p class="indent" > For documentation, the comprehensive links in the top-level file <a +href="../../../../doc.html" >doc.html</a> may be helpful. The +documentation for the programs (manuals, man pages, Info files) is in <span +class="ec-lmtt-10">texmf/doc</span>. The documentation for +<span class="TEX">T<span +class="E">E</span>X</span> packages and formats is in <span +class="ec-lmtt-10">texmf-dist/doc</span>. You can use the <span +class="ec-lmss-10">texdoc </span>program to find any documentation +wherever it is located. +<!--l. 267--><p class="indent" > This <span class="TEX">T<span +class="E">E</span>X</span> Live documentation itself is in <span +class="ec-lmtt-10">texmf/doc/texlive</span>, available in several languages: + <ul class="itemize1"> + <li class="itemize">Czech/Slovak: <a +href="../../../../texmf/doc/texlive/texlive-cz" >texmf/doc/texlive/texlive-cz</a> + </li> + <li class="itemize">German: <a +href="../../../../texmf/doc/texlive/texlive-de" >texmf/doc/texlive/texlive-de</a> + </li> + <li class="itemize">English: <a +href="../../../../texmf/doc/texlive/texlive-en" >texmf/doc/texlive/texlive-en</a> + </li> + <li class="itemize">French: <a +href="../../../../texmf/doc/texlive/texlive-fr" >texmf/doc/texlive/texlive-fr</a> + </li> + <li class="itemize">Italian: <a +href="../../../../texmf/doc/texlive/texlive-it" >texmf/doc/texlive/texlive-it</a> + </li> + <li class="itemize">Polish: <a +href="../../../../texmf/doc/texlive/texlive-pl" >texmf/doc/texlive/texlive-pl</a> + </li> + <li class="itemize">Russian: <a +href="../../../../texmf/doc/texlive/texlive-ru" >texmf/doc/texlive/texlive-ru</a> + </li> + <li class="itemize">Serbian: <a +href="../../../../texmf/doc/texlive/texlive-sr" >texmf/doc/texlive/texlive-sr</a> + </li> + <li class="itemize">Simplified Chinese: <a +href="../../../../texmf/doc/texlive/texlive-zh-cn" >texmf/doc/texlive/texlive-zh-cn</a></li></ul> +<!--l. 282--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.3 </span> <a + id="x1-110002.3"></a>Overview of the predefined texmf trees</h4> +<!--l. 285--><p class="noindent" >This section lists the predefined variables specifying the texmf trees used by the system, and their intended +purpose, and the default layout of <span class="TEX">T<span +class="E">E</span>X</span> Live. The command <span +class="ec-lmtt-10">tlmgr</span><span +class="ec-lmtt-10"> conf </span>shows the values of +these variables, so that you can easily find out how they map to particular directories in your +installation. +<!--l. 291--><p class="indent" > All of the trees, including the personal ones, should follow the <span class="TEX">T<span +class="E">E</span>X</span> Directory Structure (TDS, +<a +href="http://tug.org/tds" class="url" ><span +class="ec-lmtt-10">http://tug.org/tds</span></a>), with all its myriad subdirectories, or files may not be found. Section <a +href="#x1-370003.4.6">3.4.6<!--tex4ht:ref: sec:local-personal-macros --></a> (p. <a +href="#x1-370003.4.6">39<!--tex4ht:ref: sec:local-personal-macros --></a>) +describes this in more detail. +<!--l. 297--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span +class="ec-lmtt-10">TEXMFMAIN</span> </dt><dd +class="list"> + <!--l. 298--><p class="noindent" >The tree which holds vital parts of the system such as configuration files, helper scripts, and + program documentation. + </dd><dt class="list"> + <span +class="ec-lmtt-10">TEXMFDIST</span> </dt><dd +class="list"> + <!--l. 301--><p class="noindent" >The tree which holds the main set of macro packages, fonts, etc. + </dd><dt class="list"> + <span +class="ec-lmtt-10">TEXMFLOCAL</span> </dt><dd +class="list"> + <!--l. 303--><p class="noindent" >The tree which administrators can use for system-wide installation of additional or updated + macros, fonts, etc. + </dd><dt class="list"> + <span +class="ec-lmtt-10">TEXMFHOME</span> </dt><dd +class="list"> + <!--l. 305--><p class="noindent" >The tree which users can use for their own individual installations of additional or updated macros, + fonts, etc. The expansion of this variable dynamically adjusts for each user to their own individual + directory. + + + </dd><dt class="list"> + <span +class="ec-lmtt-10">TEXMFCONFIG</span> </dt><dd +class="list"> + <!--l. 309--><p class="noindent" >The (personal) tree used by the utilities <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">texconfig</span></span></span>, <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">updmap</span></span></span>, and <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">fmtutil</span></span></span> to store modified + configuration data. + </dd><dt class="list"> + <span +class="ec-lmtt-10">TEXMFSYSCONFIG</span> </dt><dd +class="list"> + <!--l. 312--><p class="noindent" >The (site-wide) tree used by the utilities <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">texconfig-sys</span></span></span>, <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">updmap-sys</span></span></span>, and <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">fmtutil-sys</span></span></span> to store + modified configuration data. + </dd><dt class="list"> + <span +class="ec-lmtt-10">TEXMFVAR</span> </dt><dd +class="list"> + <!--l. 315--><p class="noindent" >The (personal) tree used by <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">texconfig</span></span></span>, <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">updmap</span></span></span> and <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">fmtutil</span></span></span> to store (cached) runtime data such + as format files and generated map files. + </dd><dt class="list"> + <span +class="ec-lmtt-10">TEXMFSYSVAR</span> </dt><dd +class="list"> + <!--l. 318--><p class="noindent" >The (site-wide) tree used by <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">texconfig-sys</span></span></span>, <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">updmap-sys</span></span></span> and <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">fmtutil-sys</span></span></span>, and also by <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">tlmgr</span></span></span>, + to store (cached) runtime data such as format files and generated map files. + </dd><dt class="list"> + <span +class="ec-lmtt-10">TEXMFCACHE</span> </dt><dd +class="list"> + <!--l. 321--><p class="noindent" >The tree(s) used by Con<span class="TEX">T<span +class="E">E</span>X</span>t MkIV to store (cached) runtime data.</dd></dl> +<!--l. 325--><p class="noindent" >The default layout is: + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10">system-wide root</span> </dt><dd +class="description">can span multiple <span class="TEX">T<span +class="E">E</span>X</span> Live releases: + <dl class="list2"><dt class="list"> + <span +class="ec-lmtt-10">2011</span> </dt><dd +class="list"> + <!--l. 330--><p class="noindent" >A previous release. + </dd><dt class="list"> + <span +class="ec-lmtt-10">2012</span> </dt><dd +class="list"> + <!--l. 331--><p class="noindent" >The current release. + <dl class="list3"><dt class="list"> + <span +class="ec-lmtt-10">bin</span> </dt><dd +class="list"> + <!--l. 333--><p class="noindent" >  + <dl class="list4"><dt class="list"> + <span +class="ec-lmtt-10">i386-linux</span> </dt><dd +class="list"> + <!--l. 335--><p class="noindent" >GNU/Linux binaries + </dd><dt class="list"> + <span +class="ec-lmtt-10">...</span> </dt><dd +class="list"> + <!--l. 336--><p class="noindent" > + </dd><dt class="list"> + <span +class="ec-lmtt-10">universal-darwin</span> </dt><dd +class="list"> + <!--l. 337--><p class="noindent" >Mac OS X binaries + </dd><dt class="list"> + <span +class="ec-lmtt-10">win32</span> </dt><dd +class="list"> + <!--l. 338--><p class="noindent" >Windows binaries</dd></dl> + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span> </dt><dd +class="list"> + <!--l. 340--><p class="noindent" >This is <span +class="ec-lmtt-10">TEXMFMAIN</span>. + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf-dist</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span> </dt><dd +class="list"> + <!--l. 341--><p class="noindent" ><span +class="ec-lmtt-10">TEXMFDIST</span> + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf-var </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span> </dt><dd +class="list"> + <!--l. 342--><p class="noindent" ><span +class="ec-lmtt-10">TEXMFSYSVAR</span> + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf-config</span> </dt><dd +class="list"> + <!--l. 343--><p class="noindent" ><span +class="ec-lmtt-10">TEXMFSYSCONFIG</span></dd></dl> + + + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf-local</span> </dt><dd +class="list"> + <!--l. 345--><p class="noindent" ><span +class="ec-lmtt-10">TEXMFLOCAL</span>, intended to be retained from release to release.</dd></dl> + </dd><dt class="description"> +<span +class="ec-lmbx-10">user’s home</span> </dt><dd +class="description">(<span +class="ec-lmtt-10">$HOME </span>or <span +class="ec-lmtt-10">%USERPROFILE%</span>) + <dl class="list2"><dt class="list"> + <span +class="ec-lmtt-10">.texlive2011</span> </dt><dd +class="list"> + <!--l. 351--><p class="noindent" >Privately generated and configuration data for a previous release. + </dd><dt class="list"> + <span +class="ec-lmtt-10">.texlive2012</span> </dt><dd +class="list"> + <!--l. 353--><p class="noindent" >Privately generated and configuration data for the current release. + <dl class="list3"><dt class="list"> + <span +class="ec-lmtt-10">texmf-var</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span> </dt><dd +class="list"> + <!--l. 356--><p class="noindent" ><span +class="ec-lmtt-10">TEXMFVAR</span>, <span +class="ec-lmtt-10">TEXMFCACHE</span> + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf-config</span> </dt><dd +class="list"> + <!--l. 357--><p class="noindent" ><span +class="ec-lmtt-10">TEXMFCONFIG</span></dd></dl> + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf</span> </dt><dd +class="list"> + <!--l. 359--><p class="noindent" ><span +class="ec-lmtt-10">TEXMFHOME </span>Personal macros, etc.</dd></dl> + </dd></dl> +<!--l. 364--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.4 </span> <a + id="x1-120002.4"></a>Extensions to <span class="TEX">T<span +class="E">E</span>X</span></h4> +<!--l. 367--><p class="noindent" >Knuth’s original <span class="TEX">T<span +class="E">E</span>X</span> itself is frozen, apart from rare bug fixes. It is still present in <span class="TEX">T<span +class="E">E</span>X</span> Live as the program +<span +class="ec-lmss-10">tex</span>, and will remain so for the foreseeable future. <span class="TEX">T<span +class="E">E</span>X</span> Live contains several extended versions of +<span class="TEX">T<span +class="E">E</span>X</span>: +<!--l. 372--><p class="indent" > + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10">e-</span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> </dt><dd +class="description">adds a set of new primitives (related to macro expansion, character scanning, classes + of marks, additional debugging features, and more) and the <span class="TEX">T<span +class="E">E</span>X</span>--XE T extensions for + bidirectional typesetting. In default mode, e-<span class="TEX">T<span +class="E">E</span>X</span> is 100% compatible with ordinary <span class="TEX">T<span +class="E">E</span>X</span>. See + <a +href="../../../../texmf-dist/doc/etex/base/etex_man.pdf" >texmf-dist/doc/etex/base/etex_man.pdf</a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10">pdf</span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> </dt><dd +class="description">builds on the e-<span class="TEX">T<span +class="E">E</span>X</span> extensions, adding support for writing PDF output as well as DVI, + and many non-output-related extensions. This is the program invoked for most formats, e.g., <span +class="ec-lmss-10">etex</span>, + <span +class="ec-lmss-10">latex</span>, <span +class="ec-lmss-10">pdflatex</span>. + Its web site is <a +href="http://www.pdftex.org/" class="url" ><span +class="ec-lmtt-10">http://www.pdftex.org/</span></a>. See <a +href="../../../../texmf-dist/doc/pdftex/manual/pdftex-a.pdf" >texmf-dist/doc/pdftex/manual/pdftex-a.pdf</a> for the + manual, and <a +href="../../../../texmf-dist/doc/pdftex/manual/samplepdf/samplepdf.tex" >texmf-dist/doc/pdftex/manual/samplepdf/samplepdf.tex</a> for example usage of some + of its features. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Lua</span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> </dt><dd +class="description">is the designated successor of pdf<span class="TEX">T<span +class="E">E</span>X</span>, and is mostly (but not entirely) backward-compatible. + It is also intended to be a functional superset of Aleph (see below), though technical compatibility + is not intended. The incorporated Lua interpreter (<a +href="http://www.lua.org/" class="url" ><span +class="ec-lmtt-10">http://www.lua.org/</span></a>) enables elegant + solutions for many thorny <span class="TEX">T<span +class="E">E</span>X</span> problems. When called as <span +class="ec-lmtt-10">texlua</span>, it functions as a standalone Lua + interpreter, and is already used as such within <span class="TEX">T<span +class="E">E</span>X</span> Live. Its web site is <a +href="http://www.luatex.org/" class="url" ><span +class="ec-lmtt-10">http://www.luatex.org/</span></a>, + and the reference manual is <a +href="../../../../texmf-dist/doc/luatex/luatexref-t.pdf" >texmf-dist/doc/luatex/luatexref-t.pdf</a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Xe</span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> </dt><dd +class="description">adds support for Unicode input and OpenType- and system fonts, implemented using standard + third-party libraries. See <a +href="http://tug.org/xetex" class="url" ><span +class="ec-lmtt-10">http://tug.org/xetex</span></a>. + + + </dd><dt class="description"> +<span +class="ec-lmbx-10">Omega</span><span +class="ec-lmbx-10"> (Omega)</span> </dt><dd +class="description">is based on Unicode (16-bit characters), thus supports working with almost all the + world’s scripts simultaneously. It also supports so-called ‘Omega Translation Processes’ (OTPs), + for performing complex transformations on arbitrary input. Omega is no longer included in <span class="TEX">T<span +class="E">E</span>X</span> + Live as a separate program; only Aleph is provided: + </dd><dt class="description"> +<span +class="ec-lmbx-10">Aleph</span> </dt><dd +class="description">combines the Omega and e-<span class="TEX">T<span +class="E">E</span>X</span> extensions. See <a +href="../../../../texmf-dist/doc/aleph/base" >texmf-dist/doc/aleph/base</a>. + </dd></dl> +<!--l. 416--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.5 </span> <a + id="x1-130002.5"></a>Other notable programs in <span class="TEX">T<span +class="E">E</span>X</span> Live</h4> +<!--l. 418--><p class="noindent" >Here are a few other commonly-used programs included in <span class="TEX">T<span +class="E">E</span>X</span> Live: +<!--l. 420--><p class="indent" > + <dl class="list1"><dt class="list"> + <span +class="ec-lmss-10">bibtex, bibtex8</span> </dt><dd +class="list"> + <!--l. 422--><p class="noindent" >bibliography support. + </dd><dt class="list"> + <span +class="ec-lmss-10">makeindex, xindy</span> </dt><dd +class="list"> + <!--l. 424--><p class="noindent" >index support. + </dd><dt class="list"> + <span +class="ec-lmss-10">dvips</span> </dt><dd +class="list"> + <!--l. 426--><p class="noindent" >convert DVI to PostScript. + </dd><dt class="list"> + <span +class="ec-lmss-10">xdvi</span> </dt><dd +class="list"> + <!--l. 428--><p class="noindent" >DVI previewer for the X Window System. + </dd><dt class="list"> + <span +class="ec-lmss-10">dvilj</span> </dt><dd +class="list"> + <!--l. 430--><p class="noindent" >DVI drive for the HP LaserJet family. + </dd><dt class="list"> + <span +class="ec-lmss-10">dviconcat, dviselect</span> </dt><dd +class="list"> + <!--l. 432--><p class="noindent" >cut and paste pages from DVI files. + </dd><dt class="list"> + <span +class="ec-lmss-10">dvipdfmx</span> </dt><dd +class="list"> + <!--l. 435--><p class="noindent" >convert DVI to PDF, an alternative approach to pdf<span class="TEX">T<span +class="E">E</span>X</span> (mentioned above). + </dd><dt class="list"> + <span +class="ec-lmss-10">psselect, psnup, </span><span +class="ec-lmss-10">…</span> </dt><dd +class="list"> + <!--l. 438--><p class="noindent" >PostScript utilities. + </dd><dt class="list"> + <span +class="ec-lmss-10">pdfjam, pdfjoin, </span><span +class="ec-lmss-10">…</span> </dt><dd +class="list"> + <!--l. 440--><p class="noindent" >PDF utilities. + </dd><dt class="list"> + <span +class="ec-lmss-10">texexec, texmfstart</span> </dt><dd +class="list"> + <!--l. 442--><p class="noindent" >Con<span class="TEX">T<span +class="E">E</span>X</span>t and PDF processor. + </dd><dt class="list"> + <span +class="ec-lmss-10">tex4ht</span> </dt><dd +class="list"> + <!--l. 444--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> to HTML (and XML and more) converter. + </dd></dl> + + +<!--l. 449--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.6 </span> <a + id="x1-140002.6"></a>Fonts in <span class="TEX">T<span +class="E">E</span>X</span> Live</h4> +<!--l. 452--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Live comes with many high-quality scalable fonts. See <a +href="http://tug.org/fonts" class="url" ><span +class="ec-lmtt-10">http://tug.org/fonts</span></a> and +<a +href="../../../../texmf-dist/doc/fonts/free-math-font-survey" >texmf-dist/doc/fonts/free-math-font-survey</a>. +<!--l. 457--><p class="indent" > <a id="installation"></a> + <h3 class="sectionHead"><span class="titlemark">3 </span> <a + id="x1-150003"></a>Installation</h3> +<!--l. 461--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">3.1 </span> <a + id="x1-160003.1"></a>Starting the installer</h4> +<!--l. 464--><p class="noindent" >To begin, get the <span class="TEX">T<span +class="E">E</span>X</span> Collection DVD or download the <span class="TEX">T<span +class="E">E</span>X</span> Live net installer, and locate the installer script: +<span +class="ec-lmtt-10">install-tl </span>for Unix, <span +class="ec-lmtt-10">install-tl.bat </span>for Windows. See <a +href="http://tug.org/texlive/acquire.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/acquire.html</span></a> for more +information and other methods of getting the software. +<!--l. 470--><p class="indent" > + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10">Net installer:</span> </dt><dd +class="description">Download from CTAN, + under <span +class="ec-lmtt-10">systems/texlive/tlnet</span>; the url <a +href="http://mirror.ctan.org/systems/texlive/tlnet" class="url" ><span +class="ec-lmtt-10">http://mirror.ctan.org/systems/texlive/tlnet</span></a> will + automatically redirect to a nearby, up-to-date, mirror. You can retrieve either <span +class="ec-lmtt-10">install-tl.zip</span> + which can be used under Unix and Windows, or the considerably smaller <span +class="ec-lmtt-10">install-unx.tar.gz</span> + for Unix only. After unpacking, <span +class="ec-lmtt-10">install-tl </span>and <span +class="ec-lmtt-10">install-tl.bat </span>will be in the <span +class="ec-lmtt-10">install-tl</span> + subdirectory. + </dd><dt class="description"> +<span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> <span +class="ec-lmbx-10">Collection DVD:</span> </dt><dd +class="description">go to the DVD’s <span +class="ec-lmtt-10">texlive </span>subdirectory. Under Windows, the installer + normally starts automatically when you insert the DVD. You can get the DVD by becoming + a member of a <span class="TEX">T<span +class="E">E</span>X</span> user group (highly recommended, <a +href="http://tug.org/usergroups.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/usergroups.html</span></a>), or + purchasing it separately (<a +href="http://tug.org/store" class="url" ><span +class="ec-lmtt-10">http://tug.org/store</span></a>), or burning your own from the ISO image. + You can also mount the ISO directly on most systems. After installing from DVD or ISO, if you + want to get continuing updates from the Internet, please see <a +href="#x1-340003.4.3">3.4.3<!--tex4ht:ref: sec:dvd-install-net-updates --></a>. + </dd></dl> +<!--l. 493--><p class="indent" > The same installer program is run, whatever the source. The most visible difference between the two is that +with the net installer, what you end up with is the packages that are currently available. This +is in contrast to the DVD and ISO images, which are not updated between the major public +releases. +<!--l. 499--><p class="noindent" >The following sections explain installer start-up in more detail. +<!--l. 502--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.1 </span> <a + id="x1-170003.1.1"></a>Unix</h5> +<!--l. 504--><p class="noindent" >Below, <span +class="ec-lmtt-10">> </span>denotes the shell prompt; user input is <span +class="ec-lmtk-10">bold</span>. The script <span +class="ec-lmtt-10">install-tl </span>is a Perl script. The simplest +way to start it on a Unix-compatible system is as follows: <div class="alltt"> +<!--l. 508--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">cd</span><span +class="ec-lmtk-10"> /path/to/installer</span> +<br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">perl</span><span +class="ec-lmtk-10"> install-tl</span> +</div> +</div> (Or you can invoke <span +class="ec-lmtk-10">perl /path/to/installer/install-tl</span>, or <span +class="ec-lmtk-10">./install-tl </span>if it stayed executable, etc.; we +won’t repeat all these variations.) You may have to enlarge your terminal window so that it shows the full text +installer screen (Figure <a +href="#x1-19061r1">1<!--tex4ht:ref: fig:text-main --></a>). +<!--l. 517--><p class="indent" > To install in expert GUI mode (figure <a +href="#x1-19062r2">2<!--tex4ht:ref: fig:gui-main --></a>), you’ll need the <span +class="ec-lmtt-10">Perl/TK </span>module compiled with XFT support, +which is generally the case with GNU/Linux, but not necessarily with other systems. Given that, you can run: +<div class="alltt"> + + +<!--l. 521--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">perl</span><span +class="ec-lmtk-10"> install-tl</span><span +class="ec-lmtk-10"> -gui</span> +</div> +</div> +<!--l. 525--><p class="indent" > For a complete listing of the various options: <div class="alltt"> +<!--l. 526--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">perl</span><span +class="ec-lmtk-10"> install-tl</span><span +class="ec-lmtk-10"> -help</span> +</div> +</div> +<!--l. 530--><p class="indent" > <span +class="ec-lmbx-10">Warning about Unix permissions: </span>Your <span +class="ec-lmtt-10">umask </span>at the time of installation will be respected by the <span class="TEX">T<span +class="E">E</span>X</span> +Live installer. Therefore, if you want your installation to be usable by users other than you, make sure your +setting is sufficiently permissive, for instance, <span +class="ec-lmtt-10">umask 002</span>. For more information about <span +class="ec-lmtt-10">umask</span>, consult your +system documentation. +<!--l. 537--><p class="indent" > <span +class="ec-lmbx-10">Special considerations for Cygwin: </span>Unlike other Unix-compatible systems, Cygwin does not by default +include all of the prerequisite programs needed by the <span class="TEX">T<span +class="E">E</span>X</span> Live installer. See Section <a +href="#x1-200003.1.4">3.1.4<!--tex4ht:ref: sec:cygwin --></a> for +details. +<!--l. 543--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.2 </span> <a + id="x1-180003.1.2"></a>MacOSX</h5> +<!--l. 545--><p class="noindent" >As mentioned in section <a +href="#x1-90002.1">2.1<!--tex4ht:ref: sec:tl-coll-dists --></a>, a separate distribution is prepared for Mac OS X, named +Mac<span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://tug.org/mactex" class="url" ><span +class="ec-lmtt-10">http://tug.org/mactex</span></a>). We recommend using the native Mac<span class="TEX">T<span +class="E">E</span>X</span> installer instead of the <span class="TEX">T<span +class="E">E</span>X</span> +Live installer on Mac OS X, because the native installer makes a few Mac-specific adjustments, in particular to +allow easily switching between the various <span class="TEX">T<span +class="E">E</span>X</span> distributions for Mac OS X (Mac<span class="TEX">T<span +class="E">E</span>X</span>, Fink, MacPorts, +…). +<!--l. 553--><p class="indent" > Mac<span class="TEX">T<span +class="E">E</span>X</span> is firmly based on <span class="TEX">T<span +class="E">E</span>X</span> Live, and the main <span class="TEX">T<span +class="E">E</span>X</span> trees are precisely the same. It does add a few +extra folders with Mac-specific documentation and applications. +<!--l. 558--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.3 </span> <a + id="x1-190003.1.3"></a>Windows</h5> +<!--l. 560--><p class="noindent" >If you are using the net installer, or the DVD installer failed to start automatically, double-click +<span +class="ec-lmtt-10">install-tl.bat</span>. For more customization options, e.g., selection of specific package collections, run +<span +class="ec-lmtt-10">install-tl-advanced.bat </span>instead. +<!--l. 565--><p class="indent" > You can also start the installer from the command-prompt. Below, <span +class="ec-lmtt-10">> </span>denotes the prompt; user input is +<span +class="ec-lmtk-10">bold</span>. If you are in the installer directory, run just: <div class="alltt"> +<!--l. 568--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">install-tl</span> +</div> +</div> +<!--l. 572--><p class="indent" > Or you can invoke it with an absolute location, such as: <div class="alltt"> +<!--l. 573--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">D:</span><span +class="ec-lmtt-10">\</span><span +class="ec-lmtk-10">texlive</span><span +class="ec-lmtt-10">\</span><span +class="ec-lmtk-10">install-tl</span> +</div> +</div> for the <span class="TEX">T<span +class="E">E</span>X</span> Collection DVD, supposing that <span +class="ec-lmtt-10">D: </span>is the optical drive. Figure <a +href="#x1-19063r3">3<!--tex4ht:ref: fig:wizard-w32 --></a> displays the wizard installer, +which is the default for Windows. +<!--l. 580--><p class="indent" > To install in text mode, use: <div class="alltt"> +<!--l. 581--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">install-tl</span><span +class="ec-lmtk-10"> -no-gui</span> + + +</div> +</div> +<!--l. 585--><p class="indent" > For a complete listing of the various options: <div class="alltt"> +<!--l. 586--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">install-tl</span><span +class="ec-lmtk-10"> -help</span> +</div> +</div> +<!--l. 590--><p class="indent" > <hr class="figure"><div class="figure" +> + + +<a + id="x1-19061r1"></a> + + +<div class="fancyvrb" id="fancyvrb1"><a + id="x1-19002r1"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Installing</span><span +class="ec-lmtt-8"> TeX</span><span +class="ec-lmtt-8"> Live</span><span +class="ec-lmtt-8"> 2012</span><span +class="ec-lmtt-8"> from:</span><span +class="ec-lmtt-8"> ...</span><br class="fancyvrb" /><a + id="x1-19004r2"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Platform:</span><span +class="ec-lmtt-8"> i386-linux</span><span +class="ec-lmtt-8"> =></span><span +class="ec-lmtt-8"> ’Intel</span><span +class="ec-lmtt-8"> x86</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/Linux’</span><br class="fancyvrb" /><a + id="x1-19006r3"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Distribution:</span><span +class="ec-lmtt-8"> inst</span><span +class="ec-lmtt-8"> (compressed)</span> +<br class="fancyvrb" /><a + id="x1-19008r4"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ...</span><br class="fancyvrb" /><a + id="x1-19010r5"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Detected</span><span +class="ec-lmtt-8"> platform:</span><span +class="ec-lmtt-8"> Intel</span><span +class="ec-lmtt-8"> x86</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/Linux</span><br class="fancyvrb" /><a + id="x1-19012r6"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><br class="fancyvrb" /><a + id="x1-19014r7"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <B></span><span +class="ec-lmtt-8"> platforms:</span><span +class="ec-lmtt-8"> 1</span><span +class="ec-lmtt-8"> out</span><span +class="ec-lmtt-8"> of</span><span +class="ec-lmtt-8"> 19</span><br class="fancyvrb" /><a + id="x1-19016r8"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><br class="fancyvrb" /><a + id="x1-19018r9"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <S></span><span +class="ec-lmtt-8"> installation</span><span +class="ec-lmtt-8"> scheme</span><span +class="ec-lmtt-8"> (scheme-full)</span> +<br class="fancyvrb" /><a + id="x1-19020r10"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> 84</span><span +class="ec-lmtt-8"> collections</span><span +class="ec-lmtt-8"> out</span><span +class="ec-lmtt-8"> of</span><span +class="ec-lmtt-8"> 85,</span><span +class="ec-lmtt-8"> disk</span><span +class="ec-lmtt-8"> space</span><span +class="ec-lmtt-8"> required:</span><span +class="ec-lmtt-8"> 3091</span><span +class="ec-lmtt-8"> MB</span><br class="fancyvrb" /><a + id="x1-19022r11"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><br class="fancyvrb" /><a + id="x1-19024r12"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Customizing</span><span +class="ec-lmtt-8"> installation</span><span +class="ec-lmtt-8"> scheme:</span> +<br class="fancyvrb" /><a + id="x1-19026r13"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <C></span><span +class="ec-lmtt-8"> standard</span><span +class="ec-lmtt-8"> collections</span><br class="fancyvrb" /><a + id="x1-19028r14"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <L></span><span +class="ec-lmtt-8"> language</span><span +class="ec-lmtt-8"> collections</span><br class="fancyvrb" /><a + id="x1-19030r15"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><br class="fancyvrb" /><a + id="x1-19032r16"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <D></span><span +class="ec-lmtt-8"> directories:</span><br class="fancyvrb" /><a + id="x1-19034r17"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> TEXDIR</span><span +class="ec-lmtt-8"> (the</span><span +class="ec-lmtt-8"> main</span><span +class="ec-lmtt-8"> TeX</span><span +class="ec-lmtt-8"> directory):</span> +<br class="fancyvrb" /><a + id="x1-19036r18"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> /usr/local/texlive/2012</span><br class="fancyvrb" /><a + id="x1-19038r19"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ...</span><br class="fancyvrb" /><a + id="x1-19040r20"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><br class="fancyvrb" /><a + id="x1-19042r21"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <O></span><span +class="ec-lmtt-8"> options:</span><br class="fancyvrb" /><a + id="x1-19044r22"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> use</span><span +class="ec-lmtt-8"> letter</span><span +class="ec-lmtt-8"> size</span><span +class="ec-lmtt-8"> instead</span><span +class="ec-lmtt-8"> of</span><span +class="ec-lmtt-8"> A4</span><span +class="ec-lmtt-8"> by</span><span +class="ec-lmtt-8"> default</span><br class="fancyvrb" /><a + id="x1-19046r23"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ...</span><br class="fancyvrb" /><a + id="x1-19048r24"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span> +<br class="fancyvrb" /><a + id="x1-19050r25"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <V></span><span +class="ec-lmtt-8"> set</span><span +class="ec-lmtt-8"> up</span><span +class="ec-lmtt-8"> for</span><span +class="ec-lmtt-8"> portable</span><span +class="ec-lmtt-8"> installation</span><br class="fancyvrb" /><a + id="x1-19052r26"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><br class="fancyvrb" /><a + id="x1-19054r27"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Actions:</span><br class="fancyvrb" /><a + id="x1-19056r28"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <I></span><span +class="ec-lmtt-8"> start</span><span +class="ec-lmtt-8"> installation</span><span +class="ec-lmtt-8"> to</span><span +class="ec-lmtt-8"> hard</span><span +class="ec-lmtt-8"> disk</span><br class="fancyvrb" /><a + id="x1-19058r29"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <H></span><span +class="ec-lmtt-8"> help</span><br class="fancyvrb" /><a + id="x1-19060r30"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <Q></span><span +class="ec-lmtt-8"> quit</span></div> +<br /> <div class="caption" +><span class="id">Figure 1: </span><span +class="content">Main text installer screen (GNU/Linux)</span></div><!--tex4ht:label?: x1-19061r1 --> + + +<!--l. 624--><p class="indent" > </div><hr class="endfigure"> +<!--l. 626--><p class="indent" > <hr class="figure"><div class="figure" +> + + +<a + id="x1-19062r2"></a> + + + +<!--l. 627--><p class="noindent" ><img +src="../texlive-common/install-lnx-main.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Figure 2: </span><span +class="content">Expert GUI installer screen (GNU/Linux)</span></div><!--tex4ht:label?: x1-19062r2 --> + + +<!--l. 629--><p class="indent" > </div><hr class="endfigure"> +<!--l. 631--><p class="indent" > <hr class="figure"><div class="figure" +> + + +<a + id="x1-19063r3"></a> + + + +<!--l. 632--><p class="noindent" ><img +src="../texlive-common/wizard-w32.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Figure 3: </span><span +class="content">Wizard installer screen (Windows)</span></div><!--tex4ht:label?: x1-19063r3 --> + + +<!--l. 634--><p class="indent" > </div><hr class="endfigure"> +<!--l. 637--><p class="indent" > <a id="cygwin"></a> + <h5 class="subsubsectionHead"><span class="titlemark">3.1.4 </span> <a + id="x1-200003.1.4"></a>Cygwin</h5> +<!--l. 641--><p class="noindent" >The <span class="TEX">T<span +class="E">E</span>X</span> Live installer supports only Cygwin 1.7. Before beginning the installation, use Cygwin’s <span +class="ec-lmtt-10">setup.exe</span> +program to install the <span +class="ec-lmtt-10">perl </span>and <span +class="ec-lmtt-10">wget </span>packages if you have not already done so. The following additional +packages are recommended: + <ul class="itemize1"> + <li class="itemize"><span +class="ec-lmtt-10">fontconfig </span>[needed by Xe<span class="TEX">T<span +class="E">E</span>X</span>] + </li> + <li class="itemize"><span +class="ec-lmtt-10">ghostscript </span>[needed by various utilities] + </li> + <li class="itemize"><span +class="ec-lmtt-10">libXaw7 </span>[needed by <span +class="ec-lmtt-10">xdvi</span>] + </li> + <li class="itemize"><span +class="ec-lmtt-10">ncurses </span>[provides the <span +class="ec-lmtt-10">clear </span>command used by the installer]</li></ul> +<!--l. 654--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.5 </span> <a + id="x1-210003.1.5"></a>The text installer</h5> +<!--l. 656--><p class="noindent" >Figure <a +href="#x1-19061r1">1<!--tex4ht:ref: fig:text-main --></a> displays the main text mode screen under Unix. The text installer is the default on +Unix. +<!--l. 659--><p class="indent" > This is only a command-line installer; there is no cursor support at all. For instance, you cannot +tab around checkboxes or input fields. You just type something (case-sensitive) at the prompt +and press the Enter key, and then the entire terminal screen will be rewritten, with adjusted +content. +<!--l. 665--><p class="indent" > The text installer interface is this primitive for a reason: it is designed to run on as many platforms as +possible, even with a very barebones Perl. +<!--l. 669--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.6 </span> <a + id="x1-220003.1.6"></a>The expert graphical installer</h5> +<!--l. 671--><p class="noindent" >Figure <a +href="#x1-19062r2">2<!--tex4ht:ref: fig:gui-main --></a> displays the expert graphical installer under GNU/Linux. Other than using buttons and menus, this +does not differ much from the text installer. +<!--l. 675--><p class="indent" > This mode can be invoked explicitly with <div class="alltt"> +<!--l. 676--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">install-tl</span><span +class="ec-lmtk-10"> -gui=perltk</span> +</div> +</div> +<!--l. 681--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.7 </span> <a + id="x1-230003.1.7"></a>The simple wizard installer</h5> +<!--l. 683--><p class="noindent" >Under Windows, the default is to run the simplest installation method we could devise, called the “wizard” +installer (figure <a +href="#x1-19063r3">3<!--tex4ht:ref: fig:wizard-w32 --></a>). It installs everything and asks almost no questions. If you want to customize your setup, +you should run one of the other installers. +<!--l. 689--><p class="indent" > This mode can be invoked explicitly with <div class="alltt"> +<!--l. 690--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">install-tl</span><span +class="ec-lmtk-10"> -gui=wizard</span> +</div> +</div> + + +<!--l. 695--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">3.2 </span> <a + id="x1-240003.2"></a>Running the installer</h4> +<!--l. 698--><p class="noindent" >The installer is intended to be mostly self-explanatory, but following are a few notes about the various options +and submenus. +<!--l. 701--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.2.1 </span> <a + id="x1-250003.2.1"></a>Binary systems menu (Unix only)</h5> +<!--l. 704--><p class="noindent" ><hr class="figure"><div class="figure" +> + + +<a + id="x1-25043r4"></a> + + +<div class="fancyvrb" id="fancyvrb2"><a + id="x1-25002r1"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Available</span><span +class="ec-lmtt-8"> platforms:</span><br class="fancyvrb" /><a + id="x1-25004r2"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ===============================================================================</span> +<br class="fancyvrb" /><a + id="x1-25006r3"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> a</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> alpha-linux</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> DEC</span><span +class="ec-lmtt-8"> Alpha</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/Linux</span><br class="fancyvrb" /><a + id="x1-25008r4"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> b</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> amd64-freebsd</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> x86_64</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> FreeBSD</span> +<br class="fancyvrb" /><a + id="x1-25010r5"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> c</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> amd64-kfreebsd</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> x86_64</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/kFreeBSD</span><br class="fancyvrb" /><a + id="x1-25012r6"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> d</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> armel-linux</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ARM</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/Linux</span> +<br class="fancyvrb" /><a + id="x1-25014r7"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> e</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> i386-cygwin</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Intel</span><span +class="ec-lmtt-8"> x86</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> Cygwin</span><br class="fancyvrb" /><a + id="x1-25016r8"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> f</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> i386-freebsd</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Intel</span><span +class="ec-lmtt-8"> x86</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> FreeBSD</span> +<br class="fancyvrb" /><a + id="x1-25018r9"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> g</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> i386-kfreebsd</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Intel</span><span +class="ec-lmtt-8"> x86</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/kFreeBSD</span><br class="fancyvrb" /><a + id="x1-25020r10"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> h</span><span +class="ec-lmtt-8"> [X]</span><span +class="ec-lmtt-8"> i386-linux</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Intel</span><span +class="ec-lmtt-8"> x86</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/Linux</span> +<br class="fancyvrb" /><a + id="x1-25022r11"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> i</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> i386-solaris</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Intel</span><span +class="ec-lmtt-8"> x86</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> Solaris</span><br class="fancyvrb" /><a + id="x1-25024r12"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> j</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> mips-irix</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> SGI</span><span +class="ec-lmtt-8"> IRIX</span><br class="fancyvrb" /><a + id="x1-25026r13"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> k</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> mipsel-linux</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> mipsel</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> Linux</span> +<br class="fancyvrb" /><a + id="x1-25028r14"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> l</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> powerpc-aix</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> PowerPC</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> AIX</span><br class="fancyvrb" /><a + id="x1-25030r15"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> m</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> powerpc-linux</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> PowerPC</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/Linux</span> +<br class="fancyvrb" /><a + id="x1-25032r16"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> o</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> sparc-solaris</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Sparc</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> Solaris</span><br class="fancyvrb" /><a + id="x1-25034r17"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> p</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> universal-darwin</span><span +class="ec-lmtt-8"> universal</span><span +class="ec-lmtt-8"> binaries</span><span +class="ec-lmtt-8"> for</span><span +class="ec-lmtt-8"> MacOSX/Darwin</span> +<br class="fancyvrb" /><a + id="x1-25036r18"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> s</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> win32</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Windows</span><br class="fancyvrb" /><a + id="x1-25038r19"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> t</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> x86_64-darwin</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> x86_64</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> MacOSX/Darwin</span> +<br class="fancyvrb" /><a + id="x1-25040r20"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> u</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> x86_64-linux</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> x86_64</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/Linux</span><br class="fancyvrb" /><a + id="x1-25042r21"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> v</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> x86_64-solaris</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> x86_64</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> Solaris</span></div> +<br /> <div class="caption" +><span class="id">Figure 4: </span><span +class="content">Binaries menu</span></div><!--tex4ht:label?: x1-25043r4 --> + + +<!--l. 729--><p class="noindent" ></div><hr class="endfigure"> +<!--l. 731--><p class="indent" > Figure <a +href="#x1-25043r4">4<!--tex4ht:ref: fig:bin-text --></a> displays the text mode binaries menu. By default, only the binaries for your current platform will +be installed. From this menu, you can select installation of binaries for other platforms as well. This can be +useful if you are sharing a <span class="TEX">T<span +class="E">E</span>X</span> tree across a network of heterogenous machines, or for a dual-boot +system. + <h5 class="subsubsectionHead"><span class="titlemark">3.2.2 </span> <a + id="x1-260003.2.2"></a>Selecting what is to be installed</h5> +<!--l. 741--><p class="noindent" ><hr class="figure"><div class="figure" +> + + +<a + id="x1-26025r5"></a> + + +<div class="fancyvrb" id="fancyvrb3"><a + id="x1-26002r1"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Select</span><span +class="ec-lmtt-8"> scheme:</span><br class="fancyvrb" /><a + id="x1-26004r2"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ===============================================================================</span><br class="fancyvrb" /><a + id="x1-26006r3"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> a</span><span +class="ec-lmtt-8"> [X]</span><span +class="ec-lmtt-8"> full</span><span +class="ec-lmtt-8"> scheme</span><span +class="ec-lmtt-8"> (everything)</span> +<br class="fancyvrb" /><a + id="x1-26008r4"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> b</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> medium</span><span +class="ec-lmtt-8"> scheme</span><span +class="ec-lmtt-8"> (small</span><span +class="ec-lmtt-8"> +</span><span +class="ec-lmtt-8"> more</span><span +class="ec-lmtt-8"> packages</span><span +class="ec-lmtt-8"> and</span><span +class="ec-lmtt-8"> languages)</span><br class="fancyvrb" /><a + id="x1-26010r5"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> c</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> small</span><span +class="ec-lmtt-8"> scheme</span><span +class="ec-lmtt-8"> (basic</span><span +class="ec-lmtt-8"> +</span><span +class="ec-lmtt-8"> xetex,</span><span +class="ec-lmtt-8"> metapost,</span><span +class="ec-lmtt-8"> a</span><span +class="ec-lmtt-8"> few</span><span +class="ec-lmtt-8"> languages)</span> +<br class="fancyvrb" /><a + id="x1-26012r6"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> d</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> basic</span><span +class="ec-lmtt-8"> scheme</span><span +class="ec-lmtt-8"> (plain</span><span +class="ec-lmtt-8"> and</span><span +class="ec-lmtt-8"> latex)</span><br class="fancyvrb" /><a + id="x1-26014r7"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> e</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> minimal</span><span +class="ec-lmtt-8"> scheme</span><span +class="ec-lmtt-8"> (plain</span><span +class="ec-lmtt-8"> only)</span><br class="fancyvrb" /><a + id="x1-26016r8"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> f</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> ConTeXt</span><span +class="ec-lmtt-8"> scheme</span><br class="fancyvrb" /><a + id="x1-26018r9"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> g</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> GUST</span><span +class="ec-lmtt-8"> TeX</span><span +class="ec-lmtt-8"> Live</span><span +class="ec-lmtt-8"> scheme</span> +<br class="fancyvrb" /><a + id="x1-26020r10"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> h</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> teTeX</span><span +class="ec-lmtt-8"> scheme</span><span +class="ec-lmtt-8"> (more</span><span +class="ec-lmtt-8"> than</span><span +class="ec-lmtt-8"> medium,</span><span +class="ec-lmtt-8"> but</span><span +class="ec-lmtt-8"> nowhere</span><span +class="ec-lmtt-8"> near</span><span +class="ec-lmtt-8"> full)</span><br class="fancyvrb" /><a + id="x1-26022r11"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> i</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> XML</span><span +class="ec-lmtt-8"> scheme</span><br class="fancyvrb" /><a + id="x1-26024r12"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> j</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> custom</span><span +class="ec-lmtt-8"> selection</span><span +class="ec-lmtt-8"> of</span><span +class="ec-lmtt-8"> collections</span></div> +<br /> <div class="caption" +><span class="id">Figure 5: </span><span +class="content">Scheme menu</span></div><!--tex4ht:label?: x1-26025r5 --> + + +<!--l. 757--><p class="noindent" ></div><hr class="endfigure"> +<!--l. 759--><p class="indent" > Figure <a +href="#x1-26025r5">5<!--tex4ht:ref: fig:scheme-text --></a> displays the <span class="TEX">T<span +class="E">E</span>X</span> Live scheme menu; from here, you choose a “scheme”, which is an overall set of +package collections. The default <span +class="ec-lmtt-10">full </span>scheme installs everything available. This is recommended, but you +can also choose the <span +class="ec-lmtt-10">basic </span>scheme for a small system, <span +class="ec-lmtt-10">minimal </span>for testing purposes, and <span +class="ec-lmtt-10">medium</span> +or <span +class="ec-lmtt-10">teTeX </span>to get something in between. There are also various specialized and country-specific +schemes. +<!--l. 767--><p class="indent" > <hr class="figure"><div class="figure" +> + + +<a + id="x1-26026r6"></a> + + + +<!--l. 768--><p class="noindent" ><img +src="../texlive-common/stdcoll.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Figure 6: </span><span +class="content">Collections menu</span></div><!--tex4ht:label?: x1-26026r6 --> + + +<!--l. 770--><p class="indent" > </div><hr class="endfigure"> +<!--l. 772--><p class="indent" > You can refine your scheme selection with the ‘standard collections’ and ‘language collections’ menus +(figure <a +href="#x1-26026r6">6<!--tex4ht:ref: fig:collections-gui --></a>, shown in GUI mode for a change). +<!--l. 776--><p class="indent" > Collections are one level more detailed than schemes — in essence, a scheme consists of several collections, a +collection consists of one or more packages, and a package (the lowest level grouping in <span class="TEX">T<span +class="E">E</span>X</span> Live) contains the +actual <span class="TEX">T<span +class="E">E</span>X</span> macro files, font files, and so on. +<!--l. 781--><p class="indent" > If you want more control than the collection menus provide, you can use the <span class="TEX">T<span +class="E">E</span>X</span> Live Manager (<span +class="ec-lmss-10">tlmgr</span>) +program after installation (see section <a +href="#x1-450005">5<!--tex4ht:ref: sec:tlmgr --></a>); using that, you can control the installation at the package +level. + <h5 class="subsubsectionHead"><span class="titlemark">3.2.3 </span> <a + id="x1-270003.2.3"></a>Directories</h5> +<!--l. 789--><p class="noindent" >The default layout is described in section <a +href="#x1-110002.3">2.3<!--tex4ht:ref: sec:texmftrees --></a>, p. <a +href="#x1-110002.3">8<!--tex4ht:ref: sec:texmftrees --></a>. The default location of <span +class="ec-lmtt-10">TEXDIR </span>is <span +class="ec-lmtt-10">/usr/local/texlive/2012</span> +on Unix and <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">%SystemDrive%\texlive\2012</span></span></span> on Windows. +<!--l. 794--><p class="indent" > The main reason to change this default is if you lack write permission for the default location. You don’t +have to be root or administrator to install <span class="TEX">T<span +class="E">E</span>X</span> Live, but you do need write access to the target +directory. +<!--l. 798--><p class="indent" > A reasonable alternative choice is a directory under your home directory, especially if you will be the sole +user. Use ‘<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">~</span></span></span>’ to indicate this, as in ‘<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">~/texlive/2012</span></span></span>’. +<!--l. 802--><p class="indent" > We recommend including the year in the name, to enable keeping different releases of <span class="TEX">T<span +class="E">E</span>X</span> Live side by +side. (You may wish to make a version-independent name such as <span +class="ec-lmtt-10">/usr/local/texlive-cur </span>via a symbolic +link, which you can then update after testing the new release.) +<!--l. 807--><p class="indent" > Changing <span +class="ec-lmtt-10">TEXDIR </span>in the installer will also change <span +class="ec-lmtt-10">TEXMFLOCAL</span>, <span +class="ec-lmtt-10">TEXMFSYSVAR </span>and <span +class="ec-lmtt-10">TEXMFSYSCONFIG</span>. +<!--l. 811--><p class="indent" > <span +class="ec-lmtt-10">TEXMFHOME </span>is the recommended location for personal macro files or packages. The default value is <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">~/texmf</span></span></span>. +In contrast to <span +class="ec-lmtt-10">TEXDIR</span>, here a <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">~</span></span></span> is preserved in the newly-written configuration files, since it usefully refers to +the home directory of any individual running <span class="TEX">T<span +class="E">E</span>X</span>. It expands to <span +class="ec-lmtt-10">$HOME </span>on Unix and <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">%USERPROFILE%</span></span></span> on +Windows. Special redundant note: <span +class="ec-lmtt-10">TEXMFHOME</span>, like all trees, must be organized according to the TDS, or files +may not be found. +<!--l. 820--><p class="indent" > <span +class="ec-lmtt-10">TEXMFVAR </span>is the location for storing most cached runtime data specific to each user. <span +class="ec-lmtt-10">TEXMFCACHE </span>is used for +that purpose by Con<span class="TEX">T<span +class="E">E</span>X</span>t MkIV (see section <a +href="#x1-360003.4.5">3.4.5<!--tex4ht:ref: sec:context-mkiv --></a>, p. <a +href="#x1-360003.4.5">39<!--tex4ht:ref: sec:context-mkiv --></a>). +<!--l. 826--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.2.4 </span> <a + id="x1-280003.2.4"></a>Options</h5> +<!--l. 829--><p class="noindent" ><hr class="figure"><div class="figure" +> + + +<a + id="x1-28025r7"></a> + + +<div class="fancyvrb" id="fancyvrb4"><a + id="x1-28002r1"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Options</span><span +class="ec-lmtt-8"> setup:</span><br class="fancyvrb" /><a + id="x1-28004r2"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ===============================================================================</span> +<br class="fancyvrb" /><a + id="x1-28006r3"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <P></span><span +class="ec-lmtt-8"> use</span><span +class="ec-lmtt-8"> letter</span><span +class="ec-lmtt-8"> size</span><span +class="ec-lmtt-8"> instead</span><span +class="ec-lmtt-8"> of</span><span +class="ec-lmtt-8"> A4</span><span +class="ec-lmtt-8"> by</span><span +class="ec-lmtt-8"> default:</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><br class="fancyvrb" /><a + id="x1-28008r4"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <E></span><span +class="ec-lmtt-8"> execution</span><span +class="ec-lmtt-8"> of</span><span +class="ec-lmtt-8"> restricted</span><span +class="ec-lmtt-8"> list</span><span +class="ec-lmtt-8"> of</span><span +class="ec-lmtt-8"> programs:</span><span +class="ec-lmtt-8"> [X]</span> +<br class="fancyvrb" /><a + id="x1-28010r5"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <F></span><span +class="ec-lmtt-8"> create</span><span +class="ec-lmtt-8"> format</span><span +class="ec-lmtt-8"> files:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> [X]</span><br class="fancyvrb" /><a + id="x1-28012r6"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <D></span><span +class="ec-lmtt-8"> install</span><span +class="ec-lmtt-8"> font/macro</span><span +class="ec-lmtt-8"> doc</span><span +class="ec-lmtt-8"> tree:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> [X]</span> +<br class="fancyvrb" /><a + id="x1-28014r7"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <S></span><span +class="ec-lmtt-8"> install</span><span +class="ec-lmtt-8"> font/macro</span><span +class="ec-lmtt-8"> source</span><span +class="ec-lmtt-8"> tree:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> [X]</span><br class="fancyvrb" /><a + id="x1-28016r8"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <L></span><span +class="ec-lmtt-8"> create</span><span +class="ec-lmtt-8"> symlinks</span><span +class="ec-lmtt-8"> in</span><span +class="ec-lmtt-8"> standard</span><span +class="ec-lmtt-8"> directories:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><br class="fancyvrb" /><a + id="x1-28018r9"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> binaries</span><span +class="ec-lmtt-8"> to:</span> +<br class="fancyvrb" /><a + id="x1-28020r10"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> manpages</span><span +class="ec-lmtt-8"> to:</span><br class="fancyvrb" /><a + id="x1-28022r11"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> info</span><span +class="ec-lmtt-8"> to:</span><br class="fancyvrb" /><a + id="x1-28024r12"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <Y></span><span +class="ec-lmtt-8"> after</span><span +class="ec-lmtt-8"> installation,</span><span +class="ec-lmtt-8"> get</span><span +class="ec-lmtt-8"> package</span><span +class="ec-lmtt-8"> updates</span><span +class="ec-lmtt-8"> from</span><span +class="ec-lmtt-8"> CTAN:</span><span +class="ec-lmtt-8"> [X]</span></div> +<br /> <div class="caption" +><span class="id">Figure 7: </span><span +class="content">Options menu (Unix)</span></div><!--tex4ht:label?: x1-28025r7 --> + + +<!--l. 845--><p class="noindent" ></div><hr class="endfigure"> +<!--l. 847--><p class="indent" > Figure <a +href="#x1-28025r7">7<!--tex4ht:ref: fig:options-text --></a> shows the text mode options menu. More info on each: + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10">use letter size instead of A4 by default:</span> </dt><dd +class="description">The default paper size selection. Of course, individual + documents can and should specify a specific paper size, if desired. + </dd><dt class="description"> +<span +class="ec-lmbx-10">execution of restricted list of programs:</span> </dt><dd +class="description">As of <span class="TEX">T<span +class="E">E</span>X</span> Live 2010, execution of a few external + programs is allowed by default. The (very short) list of allowed programs is given in the <span +class="ec-lmtt-10">texmf.cnf</span>. + See the 2010 news (section <a +href="#x1-790009.1.7">9.1.7<!--tex4ht:ref: sec:2010news --></a>) for more details. + </dd><dt class="description"> +<span +class="ec-lmbx-10">create format files:</span> </dt><dd +class="description">Although unnecessary format files take time to generate and disk space to store, + it is still recommended to leave this option checked: if you don’t, then format files will be generated + in people’s private <span +class="ec-lmtt-10">TEXMFVAR </span>tree as they are needed. In that location, they will not be updated + automatically if (say) binaries or hyphenation patterns are updated in the installation, and thus + you could end up with incompatible format files. + </dd><dt class="description"> +<span +class="ec-lmbx-10">install font/macro </span><span +class="ec-lmbx-10">…</span><span +class="ec-lmbx-10"> tree:</span> </dt><dd +class="description">These options allow + you to omit downloading/installing the documentation and source files present in most packages. + Not recommended. + </dd><dt class="description"> +<span +class="ec-lmbx-10">create symlinks in standard directories:</span> </dt><dd +class="description">This option (Unix only) bypasses the need to change + environment variables. Without this option, <span class="TEX">T<span +class="E">E</span>X</span> Live directories usually have to be added to + <span +class="ec-lmtt-10">PATH</span>, <span +class="ec-lmtt-10">MANPATH </span>and <span +class="ec-lmtt-10">INFOPATH</span>. You will need write permissions to the target directories. It is + strongly advised <span +class="ec-lmri-10">not </span>to overwrite a <span class="TEX">T<span +class="E">E</span>X</span> system that came with your system with this option. It + is intended primarily for accessing the <span class="TEX">T<span +class="E">E</span>X</span> system through directories that are already known + to users, such as <span +class="ec-lmtt-10">/usr/local/bin</span>, which don’t already contain any <span class="TEX">T<span +class="E">E</span>X</span> files. + </dd><dt class="description"> +<span +class="ec-lmbx-10">after installation </span><span +class="ec-lmbx-10">…</span><span +class="ec-lmbx-10"> CTAN:</span> </dt><dd +class="description">When installing from DVD, this option is enabled by default, since + usually one wants to take any subsequent package updates from the CTAN area that is updated + throughout the year. The only likely reason to disable it is if you install only a subset from the + DVD and plan to augment the installation later. In any case, the package repository for the + installer, and for updates after installation, can be set independently as needed; see section <a +href="#x1-300003.3.1">3.3.1<!--tex4ht:ref: sec:location --></a> + and section <a +href="#x1-340003.4.3">3.4.3<!--tex4ht:ref: sec:dvd-install-net-updates --></a>.</dd></dl> +<!--l. 894--><p class="indent" > When all the settings are to your liking, you can type ‘I’ to start the installation process. When it is done, +skip to section <a +href="#x1-310003.4">3.4<!--tex4ht:ref: sec:postinstall --></a> to read what else needs to be done, if anything. + <h4 class="subsectionHead"><span class="titlemark">3.3 </span> <a + id="x1-290003.3"></a>Command-line install-tl options</h4> +<!--l. 902--><p class="noindent" >Type <div class="alltt"> +<!--l. 903--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">install-tl</span><span +class="ec-lmtk-10"> -help</span> +</div> +</div> for a listing of command-line options. Either <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">-</span></span></span> or <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">--</span></span></span> can be used to introduce option names. These are the +most common ones: +<!--l. 909--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span +class="ec-lmtt-10">-gui</span> </dt><dd +class="list"> + <!--l. 910--><p class="noindent" >If possible, use the GUI installer. This requires the + Perl/Tk module (<a +href="http://tug.org/texlive/distro.html#perltk" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/distro.html#perltk</span></a>) compiled with XFT support; + if Perl/Tk is not available, installation continues in text mode. + + + </dd><dt class="list"> + <span +class="ec-lmtt-10">-no-gui</span> </dt><dd +class="list"> + <!--l. 915--><p class="noindent" >Force using the text mode installer, even under Windows. + </dd><dt class="list"> + <span +class="ec-lmtt-10">-lang </span><span +class="ec-lmro-10">LL</span> </dt><dd +class="list"> + <!--l. 918--><p class="noindent" >Specify the installer interface language as a standard (usually two-letter) code. The installer tries + to automatically determine the right language but if it fails, or if the right language is not available, + then it uses English as a fallback. Run <span +class="ec-lmtt-10">install-tl –help </span>to get the list of available languages. + <!--l. 925--><p class="noindent" ><a id="opt-in-place"></a> + </dd><dt class="list"> + <span +class="ec-lmtt-10">-in-place</span> </dt><dd +class="list"> + <!--l. 926--><p class="noindent" >If you already have an rsync, svn, or + other copy of <span class="TEX">T<span +class="E">E</span>X</span> Live (see <a +href="http://tug.org/texlive/acquire-mirror.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/acquire-mirror.html</span></a>) then this option + will use what you’ve got, as-is, and do only the necessary post-install. Be warned that the file + <span +class="ec-lmtt-10">tlpkg/texlive.tlpdb </span>may be overwritten; saving it is your responsibility. Also, package removal + has to be done manually. Do not use this unless you know what you are doing. This option cannot + be toggled via the installer interface. + </dd><dt class="list"> + <span +class="ec-lmtt-10">-portable</span> </dt><dd +class="list"> + <!--l. 935--><p class="noindent" >Install for portable use on, e.g., a USB stick. Also selectable from within the text installer with + the <span +class="ec-lmtt-10">V </span>command, and from the GUI installer. See section <a +href="#x1-430004.2">4.2<!--tex4ht:ref: sec:portable-tl --></a>. + </dd><dt class="list"> + <span +class="ec-lmtt-10">-profile </span><span +class="ec-lmro-10">file</span> </dt><dd +class="list"> + <!--l. 940--><p class="noindent" >Load the installation profile <span +class="ec-lmro-10">file </span>and do the installation with no user interaction. The installer + always writes a file <span +class="ec-lmtt-10">texlive.profile </span>to the <span +class="ec-lmtt-10">tlpkg </span>subdirectory of your installation. That file can + be given as the argument to redo the exact same installation on a different system, for example. + Alternatively, you can use a custom profile, most easily created by starting from a generated one + and changing values, or an empty file, which will take all the defaults. + </dd><dt class="list"> + <span +class="ec-lmtt-10">-repository </span><span +class="ec-lmro-10">url-or-directory</span> </dt><dd +class="list"> + <!--l. 949--><p class="noindent" >Specify package repository from which to install; see following.</dd></dl> +<!--l. 954--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.3.1 </span> <a + id="x1-300003.3.1"></a>The <span +class="ec-lmtt-10">-repository </span>option</h5> +<!--l. 957--><p class="noindent" >The default network package repository is a CTAN mirror chosen automatically via <a +href="http://mirror.ctan.org" class="url" ><span +class="ec-lmtt-10">http://mirror.ctan.org</span></a>. +<!--l. 960--><p class="indent" > If you want to override that, the location value can be a url starting with <span +class="ec-lmtt-10">ftp:</span>, <span +class="ec-lmtt-10">http:</span>, or <span +class="ec-lmtt-10">file:/</span>, or a +plain directory path. (When giving an <span +class="ec-lmtt-10">http:</span> or <span +class="ec-lmtt-10">ftp:</span> location, trailing ‘<span +class="ec-lmtt-10">/</span>’ characters and/or a trailing +‘<span +class="ec-lmtt-10">/tlpkg</span>’ component are ignored.) +<!--l. 966--><p class="indent" > For example, you could choose a particular CTAN mirror with something like: +<a +href="http://ctan.example.org/tex-archive/systems/texlive/tlnet/" class="url" ><span +class="ec-lmtt-10">http://ctan.example.org/tex-archive/systems/texlive/tlnet/</span></a>, substituting a real hostname and its +particular top-level CTAN path for <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">ctan.example.org/tex-archive</span></span></span>. The list of CTAN mirrors is +maintained at <a +href="http://ctan.org/mirrors" class="url" ><span +class="ec-lmtt-10">http://ctan.org/mirrors</span></a>. +<!--l. 972--><p class="indent" > If the given argument is local (either a path or a <span +class="ec-lmtt-10">file:/ </span>url), compressed files in an <span +class="ec-lmtt-10">archive </span>subdirectory +of the repository path are used (even if uncompressed files are available as well). +<!--l. 977--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">3.4 </span> <a + id="x1-310003.4"></a>Post-install actions</h4> +<!--l. 980--><p class="noindent" >Some post-install may be required. + + +<!--l. 983--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.1 </span> <a + id="x1-320003.4.1"></a>Environment variables for Unix</h5> +<!--l. 986--><p class="noindent" >If you elected to create symlinks in standard directories (described in section <a +href="#x1-280003.2.4">3.2.4<!--tex4ht:ref: sec:options --></a>), then there is no +need to edit environment variables. Otherwise, on Unix systems, the directory of the binaries +for your platform must be added to the search path. (On Windows, the installer takes care of +this.) +<!--l. 992--><p class="indent" > Each supported platform has its own subdirectory under <span +class="ec-lmtt-10">TEXDIR/bin</span>. See figure <a +href="#x1-25043r4">4<!--tex4ht:ref: fig:bin-text --></a> for the list of +subdirectories and corresponding platforms. +<!--l. 996--><p class="indent" > Optionally, you can also add the documentation man and Info directories to their respective search paths, if +you want the system tools to find them. The man pages might be found automatically after the addition to +<span +class="ec-lmtt-10">PATH</span>. +<!--l. 1001--><p class="indent" > For Bourne-compatible shells such as <span +class="ec-lmss-10">bash</span>, and using Intel x86 GNU/Linux and a default directory setup as +an example, the file to edit might be <span +class="ec-lmtt-10">$HOME/.profile </span>(or another file sourced by <span +class="ec-lmtt-10">.profile</span>, and the lines to +add would look like this: +<!--l. 1006--><p class="indent" > + <div class="fancyvrb" id="fancyvrb5"><a + id="x1-32002r1"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> PATH=/usr/local/texlive/2012/bin/i386-linux:$PATH;</span><span +class="ec-lmtt-9"> export</span><span +class="ec-lmtt-9"> PATH</span> +<br class="fancyvrb" /><a + id="x1-32004r2"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> MANPATH=/usr/local/texlive/2012/texmf/doc/man:$MANPATH;</span><span +class="ec-lmtt-9"> export</span><span +class="ec-lmtt-9"> MANPATH</span> +<br class="fancyvrb" /><a + id="x1-32006r3"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> INFOPATH=/usr/local/texlive/2012/texmf/doc/info:$INFOPATH;</span><span +class="ec-lmtt-9"> export</span><span +class="ec-lmtt-9"> INFOPATH</span></div> +<!--l. 1012--><p class="indent" > For csh or tcsh, the file to edit is typically <span +class="ec-lmtt-10">$HOME/.cshrc</span>, and the lines to add might look +like: +<!--l. 1015--><p class="indent" > + <div class="fancyvrb" id="fancyvrb6"><a + id="x1-32008r1"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> setenv</span><span +class="ec-lmtt-9"> PATH</span><span +class="ec-lmtt-9"> /usr/local/texlive/2012/bin/i386-linux:$PATH</span><br class="fancyvrb" /><a + id="x1-32010r2"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> setenv</span><span +class="ec-lmtt-9"> MANPATH</span><span +class="ec-lmtt-9"> /usr/local/texlive/2012/texmf/doc/man:$MANPATH</span> +<br class="fancyvrb" /><a + id="x1-32012r3"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> setenv</span><span +class="ec-lmtt-9"> INFOPATH</span><span +class="ec-lmtt-9"> /usr/local/texlive/2012/texmf/doc/info:$INFOPATH</span></div> +<!--l. 1021--><p class="indent" > If you already have settings somewhere in your “dot” files, naturally the <span class="TEX">T<span +class="E">E</span>X</span> Live directories should +simply be merged in as appropriate. +<!--l. 1025--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.2 </span> <a + id="x1-330003.4.2"></a>Environment variables: Global configuration</h5> +<!--l. 1028--><p class="noindent" >If you want to make these changes globally, or for a user newly added to the system, then you are on +your own; there is just too much variation between systems in how and where these things are +configured. +<!--l. 1032--><p class="indent" > Our two hints are: 1) you may want to check for a file <span +class="ec-lmtt-10">/etc/manpath.config </span>and, if present, add lines +such as +<!--l. 1035--><p class="indent" > + <div class="fancyvrb" id="fancyvrb7"><a + id="x1-33002r1"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> MANPATH_MAP</span><span +class="ec-lmtt-9"> /usr/local/texlive/2012/bin/i386-linux</span><span +class="ec-lmtt-9"> \</span><br class="fancyvrb" /><a + id="x1-33004r2"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> /usr/local/texlive/2012/texmf/doc/man</span></div> +<!--l. 1040--><p class="indent" > And 2) check for a file <span +class="ec-lmtt-10">/etc/environment </span>which may define the search path and other default environment +variables. +<!--l. 1043--><p class="indent" > In each (Unix) binary directory, we also create a symbolic link named <span +class="ec-lmtt-10">man </span>to the directory <span +class="ec-lmtt-10">texmf/doc/man</span>. +Some <span +class="ec-lmtt-10">man </span>programs, such as the standard Mac OS X <span +class="ec-lmtt-10">man</span>, will automatically find that, obviating the need for +any man page setup. +<!--l. 1049--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.3 </span> <a + id="x1-340003.4.3"></a>Internet updates after DVD installation</h5> +<!--l. 1052--><p class="noindent" >If you installed <span class="TEX">T<span +class="E">E</span>X</span> Live from DVD and then wish to get updates from the Internet, you need to run this +command—<span +class="ec-lmri-10">after </span>you’ve updated your search path (as described in the previous section): + <div class="alltt"> +<!--l. 1056--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tlmgr</span><span +class="ec-lmtk-10"> option</span><span +class="ec-lmtk-10"> repository</span><span +class="ec-lmtk-10"> http://mirror.ctan.org/systems/texlive/tlnet</span> + + +</div> +</div> +<!--l. 1060--><p class="indent" > This tells <span +class="ec-lmss-10">tlmgr </span>to use a nearby CTAN mirror for future updates. This is done by default when installing +from DVD, via the option described in section <a +href="#x1-280003.2.4">3.2.4<!--tex4ht:ref: sec:options --></a>. +<!--l. 1064--><p class="indent" > If there are problems with the automatic mirror selection, you can specify a particular CTAN mirror from +the list at <a +href="http://ctan.org/mirrors" class="url" ><span +class="ec-lmtt-10">http://ctan.org/mirrors</span></a>. Use the exact path to the <span +class="ec-lmtt-10">tlnet </span>subdir on that mirror, as shown +above. +<!--l. 1070--><p class="indent" > <a id="xetexfontconfig"></a> <a id="sysfontconfig"></a> + <h5 class="subsubsectionHead"><span class="titlemark">3.4.4 </span> <a + id="x1-350003.4.4"></a>System font configuration for Xe<span class="TEX">T<span +class="E">E</span>X</span> and Lua<span class="TEX">T<span +class="E">E</span>X</span></h5> +<!--l. 1075--><p class="noindent" >Xe<span class="TEX">T<span +class="E">E</span>X</span> and Lua<span class="TEX">T<span +class="E">E</span>X</span> can use any font installed on the system, not just those in the <span class="TEX">T<span +class="E">E</span>X</span> trees. They do +these via related but not identical methods. +<!--l. 1079--><p class="indent" > On Windows, fonts shipped with <span class="TEX">T<span +class="E">E</span>X</span> Live are made available to Xe<span class="TEX">T<span +class="E">E</span>X</span> automatically. But if you have +installed the <span +class="ec-lmtt-10">xetex </span>package on a Unix-compatible system, you need to configure your system to be +able to find the fonts shipped with <span class="TEX">T<span +class="E">E</span>X</span> Live via system name lookup, and not just filename +lookup. +<!--l. 1085--><p class="indent" > To facilitate this, when the <span +class="ec-lmss-10">xetex </span>package is installed (either at initial installation or later), the necessary +configuration file is created in <span +class="ec-lmtt-10">TEXMFSYSVAR/fonts/conf/texlive-fontconfig.conf</span>. +<!--l. 1090--><p class="indent" > To set up the <span class="TEX">T<span +class="E">E</span>X</span> Live fonts for system-wide use (assuming you have suitable privileges), proceed as +follows: + <ol class="enumerate1" > + <li + class="enumerate" id="x1-35002x1">Copy the <span +class="ec-lmtt-10">texlive-fontconfig.conf </span>file to <span +class="ec-lmtt-10">/etc/fonts/conf.d/09-texlive.conf</span>. + </li> + <li + class="enumerate" id="x1-35004x2">Run <span +class="ec-lmtk-10">fc-cache -fsv</span>.</li></ol> +<!--l. 1098--><p class="indent" > If you do not have sufficient privileges to carry out the steps above, or if you simply want to make the <span class="TEX">T<span +class="E">E</span>X</span> +Live fonts available to one user, you can do the following: + <ol class="enumerate1" > + <li + class="enumerate" id="x1-35006x1">Copy the <span +class="ec-lmtt-10">texlive-fontconfig.conf </span>file to <span +class="ec-lmtt-10">~/.fonts.conf</span>, where <span +class="ec-lmtt-10">~ </span>is your home directory. + </li> + <li + class="enumerate" id="x1-35008x2">Run <span +class="ec-lmtk-10">fc-cache -fv</span>.</li></ol> +<!--l. 1107--><p class="indent" > You can run <span +class="ec-lmtt-10">fc-list </span>to see the names of the system fonts. The incantation <span +class="ec-lmtt-10">fc-list : family style</span> +<span +class="ec-lmtt-10">file spacing </span>(all arguments are literal strings) shows generally interesting information. +<!--l. 1112--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.5 </span> <a + id="x1-360003.4.5"></a>Con<span class="TEX">T<span +class="E">E</span>X</span>t Mark IV</h5> +<!--l. 1115--><p class="noindent" >Both the ‘old’ Con<span class="TEX">T<span +class="E">E</span>X</span>t (Mark II) and the ‘new’ Con<span class="TEX">T<span +class="E">E</span>X</span>t (Mark IV) should run out of the box after <span class="TEX">T<span +class="E">E</span>X</span> +Live installation, and should need no special attention as long as you stick to using <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">tlmgr</span></span></span> for +updates. +<!--l. 1120--><p class="indent" > However, because Con<span class="TEX">T<span +class="E">E</span>X</span>t MkIV does not use the kpathsea library, some setup will be required whenever +you install new files manually (without using <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">tlmgr</span></span></span>). After each such installation, each MkIV user must +run: + <div class="fancyvrb" id="fancyvrb8"><a + id="x1-36002r1"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> context</span><span +class="ec-lmtt-9"> --generate</span></div> +<!--l. 1127--><p class="noindent" >to refresh the Con<span class="TEX">T<span +class="E">E</span>X</span>t disk cache data. The resulting files are stored under <span +class="ec-lmtt-10">TEXMFCACHE</span>. whose default value in +<span class="TEX">T<span +class="E">E</span>X</span> Live is <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">TEXMSYSVAR;TEXMFVAR</span></span></span>. +<!--l. 1131--><p class="indent" > Con<span class="TEX">T<span +class="E">E</span>X</span>t MkIV will read from all paths mentioned in <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">TEXMFCACHE</span></span></span>, and write to the first path that is +writable. While reading, the last found match will take precedence in the case of duplicated cache +data. +<!--l. 1136--><p class="indent" > For more information, see <a +href="http://wiki.contextgarden.net/Running_Mark_IV" class="url" ><span +class="ec-lmtt-10">http://wiki.contextgarden.net/Running_Mark_IV</span></a>. +<!--l. 1140--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.6 </span> <a + id="x1-370003.4.6"></a>Integrating local and personal macros</h5> + + +<!--l. 1143--><p class="noindent" >This is already mentioned implicitly in section <a +href="#x1-110002.3">2.3<!--tex4ht:ref: sec:texmftrees --></a>: <span +class="ec-lmtt-10">TEXMFLOCAL </span>(by default, <span +class="ec-lmtt-10">/usr/local/texlive/texmf-local</span> +or <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">%SystemDrive%\texlive\texmf-local</span></span></span> on Windows) is intended for system-wide local fonts and macros; +and <span +class="ec-lmtt-10">TEXMFHOME </span>(by default, <span +class="ec-lmtt-10">$HOME/texmf </span>or <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">%USERPROFILE%\texmf</span></span></span>), is for personal fonts and macros. These +directories are intended to stick around from release to release, and have their content seen automatically by a +new <span class="TEX">T<span +class="E">E</span>X</span> Live release. Therefore, it is best to refrain from changing the definition of <span +class="ec-lmtt-10">TEXMFLOCAL </span>to +be too far away from the main <span class="TEX">T<span +class="E">E</span>X</span> Live directory, or you will need to manually change future +releases. +<!--l. 1156--><p class="indent" > For both trees, files should be placed in their proper <span class="TEX">T<span +class="E">E</span>X</span> Directory Structure (TDS) subdirectories; see +<a +href="http://tug.org/tds" class="url" ><span +class="ec-lmtt-10">http://tug.org/tds</span></a> or consult <span +class="ec-lmtt-10">texmf/web2c/texmf.cnf</span>. For instance, a <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> class file or +package should be placed in <span +class="ec-lmtt-10">TEXMFLOCAL/tex/latex </span>or <span +class="ec-lmtt-10">TEXMFHOME/tex/latex</span>, or a subdirectory +thereof. +<!--l. 1162--><p class="indent" > <span +class="ec-lmtt-10">TEXMFLOCAL </span>requires an up-to-date filename database, or files will not be found. You can update it with the +command <span +class="ec-lmss-10">mktexlsr </span>or use the ‘Reinit file database’ button on the configuration tab of the <span class="TEX">T<span +class="E">E</span>X</span> Live Manager +GUI. +<!--l. 1167--><p class="indent" > By default, each of these variables is defined to be a single directory, as shown. This is not a hard-and-fast +requirement. If you need to easily switch back and forth between different versions of large packages, for +example, you can maintain multiple trees for your own purposes. This is done by setting <span +class="ec-lmtt-10">TEXMFHOME </span>to the list +of directories, within braces, separated by commas: + + + <div class="verbatim" id="verbatim-1"> + <div class="fancyvrb" id="fancyvrb9"><a + id="x1-37002r1"></a>    TEXMFHOME = {/my/dir1,/mydir2,/a/third/dir}</div> +</div> +<!--l. 1176--><p class="nopar" > +<!--l. 1178--><p class="indent" > Section <a +href="#x1-610007.1.5">7.1.5<!--tex4ht:ref: sec:brace-expansion --></a> describes brace expansion further. +<!--l. 1181--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.7 </span> <a + id="x1-380003.4.7"></a>Integrating third-party fonts</h5> +<!--l. 1183--><p class="noindent" >This is unfortunately a messy topic. Forget about it unless you want to delve into many details of the <span class="TEX">T<span +class="E">E</span>X</span> +installation. Don’t forget to check first what you get for free: see section <a +href="#x1-140002.6">2.6<!--tex4ht:ref: sec:tl-fonts --></a>. +<!--l. 1187--><p class="indent" > A possible alternative is to use Xe<span class="TEX">T<span +class="E">E</span>X</span> or Lua<span class="TEX">T<span +class="E">E</span>X</span> (see section <a +href="#x1-120002.4">2.4<!--tex4ht:ref: sec:tex-extensions --></a>), which let you use operating system +fonts without any installation in <span class="TEX">T<span +class="E">E</span>X</span>. +<!--l. 1191--><p class="indent" > If you do need to do this, see <a +href="http://tug.org/fonts/fontinstall.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/fonts/fontinstall.html</span></a> for our best effort at describing +the procedure. If you rigorously maintain your local font maps, <span +class="ec-lmtt-10">tlmgr generate updmap </span><span +class="ec-lmri-10">may </span>be useful, +notably in moving from release to release; see the <span +class="ec-lmss-10">tlmgr </span>documentation. +<!--l. 1198--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">3.5 </span> <a + id="x1-390003.5"></a>Testing the installation</h4> +<!--l. 1201--><p class="noindent" >After installing <span class="TEX">T<span +class="E">E</span>X</span> Live as best you can, you naturally want to test it out, so you can start creating beautiful +documents and/or fonts. +<!--l. 1204--><p class="indent" > This section gives some basic procedures for testing that the new system is functional. We give Unix +commands here; under Mac OS X and Windows, you’re more likely to run the tests through a graphical +interface, but the principles are the same. +<!--l. 1209--><p class="indent" > + <ol class="enumerate1" > + <li + class="enumerate" id="x1-39002x1">Make sure that you can run the <span +class="ec-lmss-10">tex </span>program in the first place: <div class="alltt"> + <!--l. 1213--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tex</span><span +class="ec-lmtk-10"> --version</span> + <br /><span +class="ec-lmtt-10">TeX</span><span +class="ec-lmtt-10"> 3.1415926</span><span +class="ec-lmtt-10"> (TeX</span><span +class="ec-lmtt-10"> Live</span><span +class="ec-lmtt-10"> ...)</span> + <br /><span +class="ec-lmtt-10">kpathsea</span><span +class="ec-lmtt-10"> version</span><span +class="ec-lmtt-10"> 6.0.1</span> + <br /><span +class="ec-lmtt-10">Copyright</span><span +class="ec-lmtt-10"> ...</span><span +class="ec-lmtt-10"> D.E.</span><span +class="ec-lmtt-10"> Knuth.</span> + <br /><span +class="ec-lmtt-10">...</span> +</div> + </div> If this comes back with ‘command not found’ instead of version and copyright information, or with an + older version, most likely you don’t have the correct <span +class="ec-lmtt-10">bin </span>subdirectory in your <span +class="ec-lmtt-10">PATH</span>. See the + environment-setting information on p. <a +href="#x1-320003.4.1">38<!--tex4ht:ref: sec:env --></a>. + </li> + <li + class="enumerate" id="x1-39004x2">Process a basic <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> file: <div class="alltt"> + <!--l. 1226--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">latex</span><span +class="ec-lmtk-10"> sample2e.tex</span> + <br /><span +class="ec-lmtt-10">pdfTeX</span><span +class="ec-lmtt-10"> 3.1415926-...</span><span +class="ec-lmtt-10"> (TeX</span><span +class="ec-lmtt-10"> Live</span><span +class="ec-lmtt-10"> ...)</span> + <br /><span +class="ec-lmtt-10">...</span> + <br /><span +class="ec-lmtt-10">Output</span><span +class="ec-lmtt-10"> written</span><span +class="ec-lmtt-10"> on</span><span +class="ec-lmtt-10"> sample2e.dvi</span><span +class="ec-lmtt-10"> (3</span><span +class="ec-lmtt-10"> pages,</span><span +class="ec-lmtt-10"> 7484</span><span +class="ec-lmtt-10"> bytes).</span> + <br /><span +class="ec-lmtt-10">Transcript</span><span +class="ec-lmtt-10"> written</span><span +class="ec-lmtt-10"> on</span><span +class="ec-lmtt-10"> sample2e.log.</span> +</div> + </div> If this fails to find <span +class="ec-lmtt-10">sample2e.tex </span>or other files, most likely you have interference from old environment + variables or configuration files; we recommend unsetting all <span class="TEX">T<span +class="E">E</span>X</span>-related environment variables for a + start. (For a deep analysis, you can ask <span class="TEX">T<span +class="E">E</span>X</span> to report on exactly what it is searching for, and finding; + see “Debugging actions” on page <a +href="#x1-680007.2.4">66<!--tex4ht:ref: sec:debugging --></a>.) + + + </li> + <li + class="enumerate" id="x1-39006x3">Preview the result online: <div class="alltt"> + <!--l. 1241--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">xdvi</span><span +class="ec-lmtk-10"> sample2e.dvi</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> #</span><span +class="ec-lmtt-10"> Unix</span> + <br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">dviout</span><span +class="ec-lmtk-10"> sample2e.dvi</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> #</span><span +class="ec-lmtt-10"> Windows</span> +</div> + </div> You should see a new window with a nice document explaining some of the basics of <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>. (Well + worth reading, by the way, if you’re new to <span class="TEX">T<span +class="E">E</span>X</span>.) You do have to be running under X for <span +class="ec-lmss-10">xdvi </span>to work; if + you’re not, or your <span +class="ec-lmtt-10">DISPLAY </span>environment variable is set incorrectly, you’ll get an error ‘<span +class="ec-lmtt-10">Can’t open</span> + <span +class="ec-lmtt-10">display</span>’. + </li> + <li + class="enumerate" id="x1-39008x4">Create a PostScript file for printing or display: <div class="alltt"> + <!--l. 1252--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">dvips</span><span +class="ec-lmtk-10"> sample2e.dvi</span><span +class="ec-lmtk-10"> -o</span><span +class="ec-lmtk-10"> sample2e.ps</span> +</div> + </div> + </li> + <li + class="enumerate" id="x1-39010x5">Create a PDF file instead of DVI; this processes the <span +class="ec-lmtt-10">.tex </span>file and writes PDF directly: + <div class="alltt"> + <!--l. 1258--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">pdflatex</span><span +class="ec-lmtk-10"> sample2e.tex</span> +</div> + </div> + </li> + <li + class="enumerate" id="x1-39012x6">Preview the PDF file: <div class="alltt"> + <!--l. 1263--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">gv</span><span +class="ec-lmtk-10"> sample2e.pdf</span> + <br />or: + <br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">xpdf</span><span +class="ec-lmtk-10"> sample2e.pdf</span> +</div> + </div> Neither <span +class="ec-lmss-10">gv </span>nor <span +class="ec-lmss-10">xpdf </span>are included in <span class="TEX">T<span +class="E">E</span>X</span> Live, so you must install them separately. See + <a +href="http://www.gnu.org/software/gv" class="url" ><span +class="ec-lmtt-10">http://www.gnu.org/software/gv</span></a> and <a +href="http://www.foolabs.com/xpdf" class="url" ><span +class="ec-lmtt-10">http://www.foolabs.com/xpdf</span></a>, respectively. There + are plenty of other PDF viewers, too. For Windows, we recommend trying Sumatra PDF + (<a +href="http://blog.kowalczyk.info/software/sumatrapdf" class="url" ><span +class="ec-lmtt-10">http://blog.kowalczyk.info/software/sumatrapdf</span></a>). + </li> + <li + class="enumerate" id="x1-39014x7">Standard test files you may find useful in addition to <span +class="ec-lmtt-10">sample2e.tex</span>: + <!--l. 1277--><p class="noindent" > + <dl class="list2"><dt class="list"> + <span +class="ec-lmtt-10">small2e.tex</span> </dt><dd +class="list"> + <!--l. 1278--><p class="noindent" >A simpler document than <span +class="ec-lmtt-10">sample2e</span>, to reduce the input size if you’re having troubles. + </dd><dt class="list"> + <span +class="ec-lmtt-10">testpage.tex</span> </dt><dd +class="list"> + <!--l. 1280--><p class="noindent" >Test if your printer introduces any offsets. + + + </dd><dt class="list"> + <span +class="ec-lmtt-10">nfssfont.tex</span> </dt><dd +class="list"> + <!--l. 1281--><p class="noindent" >For printing font tables and tests. + </dd><dt class="list"> + <span +class="ec-lmtt-10">testfont.tex</span> </dt><dd +class="list"> + <!--l. 1282--><p class="noindent" >Also for font tables, but using plain <span class="TEX">T<span +class="E">E</span>X</span>. + </dd><dt class="list"> + <span +class="ec-lmtt-10">story.tex</span> </dt><dd +class="list"> + <!--l. 1283--><p class="noindent" >The most canonical (plain) <span class="TEX">T<span +class="E">E</span>X</span> test file of all. You must type ‘<span +class="ec-lmtt-10">\bye</span>’ to the <span +class="ec-lmtt-10">* </span>prompt after + ‘<span +class="ec-lmtt-10">tex story.tex</span>’.</dd></dl> + </li> + <li + class="enumerate" id="x1-39016x8">If you have installed the <span +class="ec-lmtt-10">xetex </span>package, you can test its access to system fonts as follows: + <div class="alltt"> + <!--l. 1290--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">xetex</span><span +class="ec-lmtk-10"> opentype-info.tex</span> + <br /><span +class="ec-lmtt-10">This</span><span +class="ec-lmtt-10"> is</span><span +class="ec-lmtt-10"> XeTeX,</span><span +class="ec-lmtt-10"> Version</span><span +class="ec-lmtt-10"> 3.1415926</span><span +class="ec-lmtt-10">…</span> + <br /><span +class="ec-lmtt-10">...</span> + <br /><span +class="ec-lmtt-10">Output</span><span +class="ec-lmtt-10"> written</span><span +class="ec-lmtt-10"> on</span><span +class="ec-lmtt-10"> opentype-info.pdf</span><span +class="ec-lmtt-10"> (1</span><span +class="ec-lmtt-10"> page).</span> + <br /><span +class="ec-lmtt-10">Transcript</span><span +class="ec-lmtt-10"> written</span><span +class="ec-lmtt-10"> on</span><span +class="ec-lmtt-10"> opentype-info.log.</span> +</div> + </div> (Or the same for <span +class="ec-lmtt-10">luatex</span>.) + <!--l. 1299--><p class="noindent" >If you get an error message saying “Invalid fontname ‘Latin Modern Roman/ICU’…”, then you need + to configure your system so that Xe<span class="TEX">T<span +class="E">E</span>X</span> can find the fonts shipped with <span class="TEX">T<span +class="E">E</span>X</span> Live. See + Section <a +href="#x1-350003.4.4">3.4.4<!--tex4ht:ref: sec:font-conf-sys --></a>. + </li></ol> +<!--l. 1306--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">3.6 </span> <a + id="x1-400003.6"></a>Links for additional downloadable software</h4> +<!--l. 1308--><p class="noindent" >If you are new to <span class="TEX">T<span +class="E">E</span>X</span>, or otherwise need help with actually writing <span class="TEX">T<span +class="E">E</span>X</span> or <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> documents, please visit +<a +href="http://tug.org/begin.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/begin.html</span></a> for some introductory resources. +<!--l. 1312--><p class="indent" > Links for some other tools you may consider installing: + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10">Ghostscript</span> </dt><dd +class="description"><a +href="http://www.cs.wisc.edu/~ghost/" class="url" ><span +class="ec-lmtt-10">http://www.cs.wisc.edu/~ghost/</span></a> + </dd><dt class="description"> +<span +class="ec-lmbx-10">Perl</span> </dt><dd +class="description"><a +href="http://www.perl.org/" class="url" ><span +class="ec-lmtt-10">http://www.perl.org/</span></a> with supplementary packages from CPAN, <a +href="http://www.cpan.org/" class="url" ><span +class="ec-lmtt-10">http://www.cpan.org/</span></a> + </dd><dt class="description"> +<span +class="ec-lmbx-10">ImageMagick</span> </dt><dd +class="description"><a +href="http://www.imagemagick.com" class="url" ><span +class="ec-lmtt-10">http://www.imagemagick.com</span></a>, for graphics processing and conversion + </dd><dt class="description"> +<span +class="ec-lmbx-10">NetPBM</span> </dt><dd +class="description"><a +href="http://netpbm.sourceforge.net/" class="url" ><span +class="ec-lmtt-10">http://netpbm.sourceforge.net/</span></a>, also for graphics. + </dd><dt class="description"> +<span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span><span +class="ec-lmbx-10">-oriented editors</span> </dt><dd +class="description">There is a wide choice, and it is a matter of the user’s taste. Here is a selection in + alphabetical order (a few here are for Windows only). + <ul class="itemize1"> + <li class="itemize"><span +class="ec-lmss-10">GNU Emacs </span>is available natively under Windows, see + <a +href="http://www.gnu.org/software/emacs/windows/ntemacs.html" class="url" ><span +class="ec-lmtt-10">http://www.gnu.org/software/emacs/windows/ntemacs.html</span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10">Emacs with Auc</span><span class="TEX"><span +class="ec-lmss-10">T</span><span +class="E"><span +class="ec-lmss-10">E</span></span><span +class="ec-lmss-10">X</span></span> for Windows is available from CTAN. The AuC<span class="TEX">T<span +class="E">E</span>X</span> home page is + <a +href="http://www.gnu.org/software/auctex" class="url" ><span +class="ec-lmtt-10">http://www.gnu.org/software/auctex</span></a>. + + + </li> + <li class="itemize"><span +class="ec-lmss-10">LEd </span>is available from <a +href="http://mirror.ctan.org/support/LEd" class="url" ><span +class="ec-lmtt-10">http://mirror.ctan.org/support/LEd</span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10">SciTE </span>is available from <a +href="http://www.scintilla.org/SciTE.html" class="url" ><span +class="ec-lmtt-10">http://www.scintilla.org/SciTE.html</span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10">Texmaker </span>is free software, available from <a +href="http://www.xm1math.net/texmaker" class="url" ><span +class="ec-lmtt-10">http://www.xm1math.net/texmaker</span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10">TexMakerX </span>is a fork of <span +class="ec-lmss-10">Texmaker </span>with additional features; + <a +href="http://texmakerx.sourceforge.net" class="url" ><span +class="ec-lmtt-10">http://texmakerx.sourceforge.net</span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10">TeXnicCenter </span>is free software, available from <a +href="http://www.texniccenter.org" class="url" ><span +class="ec-lmtt-10">http://www.texniccenter.org</span></a> and in the + pro<span class="TEX">T<span +class="E">E</span>X</span>t distribution. + </li> + <li class="itemize"><span +class="ec-lmss-10">TeXworks </span>is free software, available from <a +href="http://tug.org/texworks" class="url" ><span +class="ec-lmtt-10">http://tug.org/texworks</span></a> and installed for + Windows and Mac OS X as part of <span class="TEX">T<span +class="E">E</span>X</span> Live. + </li> + <li class="itemize"><span +class="ec-lmss-10">Vim </span>is free software, available from <a +href="http://www.vim.org" class="url" ><span +class="ec-lmtt-10">http://www.vim.org</span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10">WinEdt </span>is shareware available though <a +href="http://tug.org/winedt" class="url" ><span +class="ec-lmtt-10">http://tug.org/winedt</span></a> or <a +href="http://www.winedt.com" class="url" ><span +class="ec-lmtt-10">http://www.winedt.com</span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10">WinShell </span>is available from <a +href="http://www.winshell.de" class="url" ><span +class="ec-lmtt-10">http://www.winshell.de</span></a>.</li></ul> + </dd></dl> +<!--l. 1349--><p class="noindent" >For a much longer list of packages and programs, see <a +href="http://tug.org/interest.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/interest.html</span></a>. +<!--l. 1353--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">4 </span> <a + id="x1-410004"></a>Specialized installations</h3> +<!--l. 1355--><p class="noindent" >The previous sections described the basic installation process. Here we turn to some specialized +cases. +<!--l. 1358--><p class="indent" > <a id="tlsharedinstall"></a> + <h4 class="subsectionHead"><span class="titlemark">4.1 </span> <a + id="x1-420004.1"></a>Shared-user (or cross-machine) installations</h4> +<!--l. 1362--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Live has been designed to be sharable between different users on one system, and/or between +different systems on a network. With a standard directory layout, no hard paths are configured: the +locations for files needed by <span class="TEX">T<span +class="E">E</span>X</span> Live programs are found relative to the programs. You can see +this in the principal configuration file <span +class="ec-lmtt-10">$TEXMFMAIN/web2c/texmf.cnf</span>, which contains lines such +as + <div class="fancyvrb" id="fancyvrb10"><a + id="x1-42002r1"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> TEXMFMAIN</span><span +class="ec-lmtt-9"> =</span><span +class="ec-lmtt-9"> $SELFAUTOPARENT/texmf</span><br class="fancyvrb" /><a + id="x1-42004r2"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ...</span><br class="fancyvrb" /><a + id="x1-42006r3"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> TEXMFLOCAL</span><span +class="ec-lmtt-9"> =</span><span +class="ec-lmtt-9"> $SELFAUTOPARENT/../texmf-local</span></div> +<!--l. 1373--><p class="noindent" >This means that adding the directory for <span class="TEX">T<span +class="E">E</span>X</span> Live executables for their platform to their search path is sufficient +to get a working setup. +<!--l. 1376--><p class="indent" > By the same token, you can also install <span class="TEX">T<span +class="E">E</span>X</span> Live locally and then move the entire hierarchy afterwards to +a network location. +<!--l. 1379--><p class="indent" > For Windows, a sample network installation script named <span +class="ec-lmtt-10">w32client </span>can be downloaded through +<a +href="http://tug.org/texlive/w32client.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/w32client.html</span></a>. It creates settings and menu shortcuts for using an existing <span class="TEX">T<span +class="E">E</span>X</span> +Live installation on a LAN. It also registers an uninstaller <span +class="ec-lmtt-10">w32unclient</span>, available in the same zip file. See the +web page for more information. +<!--l. 1387--><p class="indent" > <a id="tlportable"></a> + <h4 class="subsectionHead"><span class="titlemark">4.2 </span> <a + id="x1-430004.2"></a>Portable (USB) installations</h4> +<!--l. 1391--><p class="noindent" >The <span +class="ec-lmtt-10">-portable </span>installer option (or <span +class="ec-lmtt-10">V </span>command in the text installer or corresponding GUI option) +creates a completely self-contained <span class="TEX">T<span +class="E">E</span>X</span> Live installation under a common root and forgoes system +integration. You can create such an installation directly on a USB stick, or copy it to a USB stick +afterwards. + + +<!--l. 1397--><p class="indent" > To run <span class="TEX">T<span +class="E">E</span>X</span> using this portable installation, you need to add the appropriate binary directory +to the search path during your terminal session, as usual. On Windows, you can double-click +<span +class="ec-lmtt-10">tl-tray-menu </span>at the root of the installation to choose between a few common tasks, as shown in this +screenshot: + +<!--l. 1404--><p class="indent" > <img +src="../texlive-common/tray-menu.png" alt="pict" +> +<!--l. 1407--><p class="noindent" >The ‘More…’ entry explains how you can customize this menu. +<!--l. 1410--><p class="indent" > <a id="tlisoinstall"></a> + <h4 class="subsectionHead"><span class="titlemark">4.3 </span> <a + id="x1-440004.3"></a>ISO (or DVD) installations</h4> +<!--l. 1414--><p class="noindent" >If you don’t need to update or otherwise modify your installation often, and/or have several systems on +which to use <span class="TEX">T<span +class="E">E</span>X</span> Live, it may be convenient to create an ISO of your <span class="TEX">T<span +class="E">E</span>X</span> Live installation, +because: + <ul class="itemize1"> + <li class="itemize">Copying an ISO between different computers is much faster than copying a normal installation. + </li> + <li class="itemize">If you are dual-booting between different operating systems and want them to share a <span class="TEX">T<span +class="E">E</span>X</span> Live + installation, an ISO installation is not tied to the idiosyncrasies and limitations of other mutually + supported filesystems (FAT32, NTFS, HFS+). + </li> + <li class="itemize">Virtual machines can simply mount such an ISO.</li></ul> +<!--l. 1429--><p class="indent" > Of course you can also burn an ISO to DVD, if that is useful for you. +<!--l. 1431--><p class="indent" > Desktop GNU/Linux/Unix systems, including Mac OS X, are able to mount an ISO. Apart from that, +nothing changes compared to a normal hard disk installation, see section <a +href="#x1-320003.4.1">3.4.1<!--tex4ht:ref: sec:env --></a>. +<!--l. 1435--><p class="indent" > When preparing such an ISO installation, it is best to omit the subdirectory for the release year, and have +<span +class="ec-lmtt-10">texmf-local </span>at the same level as the other trees (<span +class="ec-lmtt-10">texmf</span>, <span +class="ec-lmtt-10">texmf-dist</span>, etc.). You can do this with the normal +directory options in the installer. +<!--l. 1441--><p class="indent" > For a physical (rather than virtual) Windows system, you can burn the ISO to DVD. However, it may be +worth your while to investigate free ISO-mounting options. For Windows XP, Microsoft offers +<span +class="ec-lmtt-10">winxpvirtualcdcontrolpanel</span>. +<!--l. 1446--><p class="indent" > For Windows system integration, you can include the <span +class="ec-lmtt-10">w32client </span>scripts described in section <a +href="#x1-420004.1">4.1<!--tex4ht:ref: sec:sharedinstall --></a> and at +<a +href="http://tug.org/texlive/w32client.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/w32client.html</span></a>, which work just as well for an ISO as for a network +installation. +<!--l. 1451--><p class="indent" > On Mac OS X, TeXShop and <span class="TEX">T<span +class="E">E</span>X</span>works will be able to use the DVD installation if a symlink <span +class="ec-lmtt-10">/usr/texbin</span> +points to the appropriate binary directory, e.g., + + + <div class="verbatim" id="verbatim-2"> + <div class="fancyvrb" id="fancyvrb11"><a + id="x1-44002r1"></a>  sudo ln -s /Volumes/MyTeXLive/bin/universal-darwin /usr/texbin</div> +</div> +<!--l. 1456--><p class="nopar" > +<!--l. 1458--><p class="indent" > Historical note: <span class="TEX">T<span +class="E">E</span>X</span> Live 2010 was the first <span class="TEX">T<span +class="E">E</span>X</span> Live edition which was no longer distributed ‘live’. +However, it always required some acrobatics to run from DVD or ISO; in particular, there was no way around +setting at least one extra environment variable. If you create your ISO from an existing installation then there +is no need for this. +<!--l. 1465--><p class="indent" > <a id="tlmgr"></a> + <h3 class="sectionHead"><span class="titlemark">5 </span> <a + id="x1-450005"></a><span +class="ec-lmss-10">tlmgr</span>: Managing your installation</h3> +<!--l. 1469--><p class="noindent" ><hr class="figure"><div class="figure" +> + + +<a + id="x1-45001r8"></a> + + + +<!--l. 1470--><p class="noindent" ><img +src="../texlive-common/tlmgr-gui.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Figure 8: </span><span +class="content"><span +class="ec-lmss-10">tlmgr </span>in GUI mode: main window, after ‘Load’.</span></div><!--tex4ht:label?: x1-45001r8 --> + + +<!--l. 1473--><p class="noindent" ></div><hr class="endfigure"> +<!--l. 1475--><p class="indent" > <hr class="figure"><div class="figure" +> + + +<a + id="x1-45002r9"></a><a + id="x1-45003r10"></a> + + + +<!--l. 1479--><p class="noindent" ><img +src="../texlive-common/tlmgr-general-options.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Figure 9: </span><span +class="content"><span +class="ec-lmtt-10">tlmgr </span>in GUI mode: General options</span></div><!--tex4ht:label?: x1-45002r9 --> +<!--l. 1486--><p class="noindent" ><img +src="../texlive-common/tlmgr-paper-options.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Figure 10: </span><span +class="content"><span +class="ec-lmtt-10">tlmgr </span>in GUI mode: Paper +size options</span></div><!--tex4ht:label?: x1-45003r10 --> + + +<!--l. 1491--><p class="indent" > </div><hr class="endfigure"> +<!--l. 1493--><p class="indent" > <span class="TEX">T<span +class="E">E</span>X</span> Live includes a program named <span +class="ec-lmss-10">tlmgr </span>for managing <span class="TEX">T<span +class="E">E</span>X</span> Live after the initial installation. The +programs <span +class="ec-lmss-10">updmap</span>, <span +class="ec-lmss-10">fmtutil </span>and <span +class="ec-lmss-10">texconfig </span>are still included and will be retained in the future, but <span +class="ec-lmss-10">tlmgr </span>is now +the preferred interface. Its capabilities include: + <ul class="itemize1"> + <li class="itemize">installing, updating, backing up, restoring, and uninstalling individual packages, optionally taking + dependencies into account; + </li> + <li class="itemize">searching for and listing packages, etc.; + </li> + <li class="itemize">listing, adding, and removing platforms; + </li> + <li class="itemize">changing installation options such as paper size and source location (see section <a +href="#x1-300003.3.1">3.3.1<!--tex4ht:ref: sec:location --></a>).</li></ul> + <h4 class="subsectionHead"><span class="titlemark">5.1 </span> <a + id="x1-460005.1"></a><span +class="ec-lmss-10">tlmgr </span>GUI mode</h4> +<!--l. 1509--><p class="noindent" ><span +class="ec-lmss-10">tlmgr </span>can be started in GUI mode (figure <a +href="#x1-45001r8">8<!--tex4ht:ref: fig:tlmgr-gui --></a>) with <div class="alltt"> +<!--l. 1510--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tlmgr</span><span +class="ec-lmtk-10"> -gui</span> +</div> +</div> or in Windows via the Start menu: <span +class="ec-lmtt-10">Start</span>, <span +class="ec-lmtt-10">Programs</span>, <span +class="ec-lmtt-10">TeX Live 2012</span>, <span +class="ec-lmtt-10">TeX Live Manager</span>. After clicking +‘Load’ it displays a list of available and installed packages. This assumes of course that the installation source +is valid and reachable. +<!--l. 1518--><p class="indent" > Figures <a +href="#x1-45002r9">9<!--tex4ht:ref: fig:tlmgr-general-options --></a> and <a +href="#x1-45003r10">10<!--tex4ht:ref: fig:tlmgr-paper-options --></a> show the general and paper size option screens. +<!--l. 1521--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">5.2 </span> <a + id="x1-470005.2"></a>Sample <span +class="ec-lmss-10">tlmgr </span>command-line invocations</h4> +<!--l. 1523--><p class="noindent" >After the initial installation, you can update your system to the latest versions available with: +<div class="alltt"> +<!--l. 1525--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tlmgr</span><span +class="ec-lmtk-10"> update</span><span +class="ec-lmtk-10"> -all</span> +</div> +</div> If this makes you nervous, first try <div class="alltt"> +<!--l. 1529--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tlmgr</span><span +class="ec-lmtk-10"> update</span><span +class="ec-lmtk-10"> -all</span><span +class="ec-lmtk-10"> -dry-run</span> +</div> +</div> or (less verbose): <div class="alltt"> +<!--l. 1533--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tlmgr</span><span +class="ec-lmtk-10"> update</span><span +class="ec-lmtk-10"> -list</span> +</div> +</div> +<!--l. 1537--><p class="indent" > This more complex example adds a collection, for the engine Xe<span class="TEX">T<span +class="E">E</span>X</span>, from a local directory: + <div class="alltt"> +<!--l. 1540--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tlmgr</span><span +class="ec-lmtk-10"> -repository</span><span +class="ec-lmtk-10"> /local/mirror/tlnet</span><span +class="ec-lmtk-10"> install</span><span +class="ec-lmtk-10"> collection-xetex</span> + + +</div> +</div> It generates the following output (abridged): + <div class="fancyvrb" id="fancyvrb12"><a + id="x1-47002r1"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> install:</span><span +class="ec-lmtt-8"> collection-xetex</span><br class="fancyvrb" /><a + id="x1-47004r2"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> install:</span><span +class="ec-lmtt-8"> arabxetex</span><br class="fancyvrb" /><a + id="x1-47006r3"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ...</span><br class="fancyvrb" /><a + id="x1-47008r4"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> install:</span><span +class="ec-lmtt-8"> xetex</span><br class="fancyvrb" /><a + id="x1-47010r5"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> install:</span><span +class="ec-lmtt-8"> xetexconfig</span> +<br class="fancyvrb" /><a + id="x1-47012r6"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> install:</span><span +class="ec-lmtt-8"> xetex.i386-linux</span><br class="fancyvrb" /><a + id="x1-47014r7"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> running</span><span +class="ec-lmtt-8"> post</span><span +class="ec-lmtt-8"> install</span><span +class="ec-lmtt-8"> action</span><span +class="ec-lmtt-8"> for</span><span +class="ec-lmtt-8"> xetex</span><br class="fancyvrb" /><a + id="x1-47016r8"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> install:</span><span +class="ec-lmtt-8"> xetex-def</span><br class="fancyvrb" /><a + id="x1-47018r9"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ...</span><br class="fancyvrb" /><a + id="x1-47020r10"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> running</span><span +class="ec-lmtt-8"> mktexlsr</span> +<br class="fancyvrb" /><a + id="x1-47022r11"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> mktexlsr:</span><span +class="ec-lmtt-8"> Updating</span><span +class="ec-lmtt-8"> /usr/local/texlive/2012/texmf/ls-R...</span><br class="fancyvrb" /><a + id="x1-47024r12"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ...</span><br class="fancyvrb" /><a + id="x1-47026r13"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> running</span><span +class="ec-lmtt-8"> fmtutil-sys</span><span +class="ec-lmtt-8"> --missing</span><br class="fancyvrb" /><a + id="x1-47028r14"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ...</span> +<br class="fancyvrb" /><a + id="x1-47030r15"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Transcript</span><span +class="ec-lmtt-8"> written</span><span +class="ec-lmtt-8"> on</span><span +class="ec-lmtt-8"> xelatex.log.</span><br class="fancyvrb" /><a + id="x1-47032r16"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> fmtutil:</span><span +class="ec-lmtt-8"> /usr/local/texlive/2012/texmf-var/web2c/xetex/xelatex.fmt</span><span +class="ec-lmtt-8"> installed.</span></div> +<!--l. 1563--><p class="indent" > As you can see, <span +class="ec-lmss-10">tlmgr </span>installs dependencies, and takes care of any necessary post-install actions, including +updating the filename database and (re)generating formats. In the above, we generated new formats for +Xe<span class="TEX">T<span +class="E">E</span>X</span>. +<!--l. 1568--><p class="indent" > To describe a package (or collection or scheme): <div class="alltt"> +<!--l. 1569--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tlmgr</span><span +class="ec-lmtk-10"> show</span><span +class="ec-lmtk-10"> collection-latexextra</span> +</div> +</div> which produces + <div class="fancyvrb" id="fancyvrb13"><a + id="x1-47034r1"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> package:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> collection-latexextra</span><br class="fancyvrb" /><a + id="x1-47036r2"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> category:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Collection</span><br class="fancyvrb" /><a + id="x1-47038r3"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> shortdesc:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> LaTeX</span><span +class="ec-lmtt-8"> supplementary</span><span +class="ec-lmtt-8"> packages</span> +<br class="fancyvrb" /><a + id="x1-47040r4"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> longdesc:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> A</span><span +class="ec-lmtt-8"> large</span><span +class="ec-lmtt-8"> collection</span><span +class="ec-lmtt-8"> of</span><span +class="ec-lmtt-8"> add-on</span><span +class="ec-lmtt-8"> packages</span><span +class="ec-lmtt-8"> for</span><span +class="ec-lmtt-8"> LaTeX.</span><br class="fancyvrb" /><a + id="x1-47042r5"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> installed:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Yes</span><br class="fancyvrb" /><a + id="x1-47044r6"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> revision:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> 14675</span></div> +<!--l. 1582--><p class="indent" > Last and most important, for full documentation see <a +href="http://tug.org/texlive/tlmgr.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/tlmgr.html</span></a>, or: +<div class="alltt"> +<!--l. 1584--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tlmgr</span><span +class="ec-lmtk-10"> -help</span> +</div> +</div> +<!--l. 1589--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">6 </span> <a + id="x1-480006"></a>Notes on Windows</h3> +<!--l. 1592--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">6.1 </span> <a + id="x1-490006.1"></a>Windows-specific features</h4> +<!--l. 1595--><p class="noindent" >Under Windows, the installer does some extra things: + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10">Menus and shortcuts.</span> </dt><dd +class="description">A new ‘<span class="TEX">T<span +class="E">E</span>X</span> Live’ submenu of the Start menu is installed, which contains + entries for some GUI programs (<span +class="ec-lmss-10">tlmgr</span>, <span +class="ec-lmss-10">texdoctk</span>, the PS_View (<span +class="ec-lmss-10">psv</span>) PostScript previewer) and + some documentation. + </dd><dt class="description"> +<span +class="ec-lmbx-10">File associations.</span> </dt><dd +class="description">If enabled, <span +class="ec-lmss-10">TeXworks</span>, <span +class="ec-lmss-10">Dviout </span>and <span +class="ec-lmss-10">PS_view </span>become either the default program for + their respective filetypes, or get an entry in the ‘Open with’ right-click menus of those filetypes. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Bitmap to eps converter.</span> </dt><dd +class="description">Various bitmapped formats get an entry <span +class="ec-lmss-10">bitmap2eps </span>in their ‘Open with’ + right-click menu. Bitmap2eps is a simple script which lets <span +class="ec-lmss-10">sam2p </span>or <span +class="ec-lmss-10">bmeps </span>do the real work. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Automatic path adjustment.</span> </dt><dd +class="description">No manual configuration steps are required. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Uninstaller.</span> </dt><dd +class="description">The installer creates an entry under ‘Add/Remove Programs’ for <span class="TEX">T<span +class="E">E</span>X</span> Live. The uninstall + tab of the <span class="TEX">T<span +class="E">E</span>X</span> Live Manager GUI refers to this.</dd></dl> + + +<!--l. 1615--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">6.2 </span> <a + id="x1-500006.2"></a>Additional software included on Windows</h4> +<!--l. 1617--><p class="noindent" >To be complete, a <span class="TEX">T<span +class="E">E</span>X</span> Live installation needs support packages that are not commonly found on a Windows +machine. <span class="TEX">T<span +class="E">E</span>X</span> Live provides the missing pieces: + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10">Perl and Ghostscript.</span> </dt><dd +class="description">Because of the importance of Perl and Ghostscript, <span class="TEX">T<span +class="E">E</span>X</span> Live includes + ‘hidden’ copies of these programs. <span class="TEX">T<span +class="E">E</span>X</span> Live programs that need them know where to find them, + but they don’t betray their presence through environment variables or registry settings. They + aren’t full-scale installations, and shouldn’t interfere with any system installations of Perl or + Ghostscript. + </dd><dt class="description"> +<span +class="ec-lmbx-10">PS_View.</span> </dt><dd +class="description">Also installed is PS_View, a PostScript and PDF viewer; see figure <a +href="#x1-50001r11">11<!--tex4ht:ref: fig:psview --></a>. + <!--l. 1632--><p class="noindent" ><hr class="figure"><div class="figure" +><a + id="x1-50001r11"></a> <img +src="../texlive-common/psview.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Figure 11: </span><span +class="content">PS_View: very high magnifications available!</span></div><!--tex4ht:label?: x1-50001r11 --> + <!--l. 1635--><p class="noindent" ></div><hr class="endfigure"> + </dd><dt class="description"> +<span +class="ec-lmbx-10">dviout.</span> </dt><dd +class="description">Also installed is <span +class="ec-lmss-10">dviout</span>, a DVI viewer. At first, when you preview files with <span +class="ec-lmss-10">dviout</span>, it will create fonts, + because screen fonts were not installed. After a while, you will have created most of the fonts you use, + and you will rarely see the font-creation window. More information can be found in the (highly + recommended) on-line help. + </dd><dt class="description"> +<span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span><span +class="ec-lmbx-10">works.</span> </dt><dd +class="description"><span class="TEX">T<span +class="E">E</span>X</span>works is a <span class="TEX">T<span +class="E">E</span>X</span>-oriented editor with an integrated PDF viewer. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Command-line tools.</span> </dt><dd +class="description">A number of Windows ports of common Unix command-line programs + are installed along with the usual <span class="TEX">T<span +class="E">E</span>X</span> Live binaries. These include <span +class="ec-lmss-10">gzip</span>, <span +class="ec-lmss-10">unzip </span>and the + utilities from the <span +class="ec-lmss-10">xpdf </span>suite (<span +class="ec-lmss-10">pdfinfo</span>, <span +class="ec-lmss-10">pdffonts</span>, …). The <span +class="ec-lmss-10">xpdf </span>viewer itself is not available for + Windows. Instead, you can download the Sumatra PDF viewer, which is based on <span +class="ec-lmss-10">xpdf</span>, from + <a +href="http://blog.kowalczyk.info/software/sumatrapdf" class="url" ><span +class="ec-lmtt-10">http://blog.kowalczyk.info/software/sumatrapdf</span></a>, among other options. + </dd><dt class="description"> +<span +class="ec-lmbx-10">fc-list, fc-cache, </span><span +class="ec-lmbx-10">…</span> </dt><dd +class="description">The tools from the fontconfig library allow Xe<span class="TEX">T<span +class="E">E</span>X</span> to handle system fonts on Windows. + You can use <span +class="ec-lmss-10">fc-list </span>to determine the font names to pass to Xe<span class="TEX">T<span +class="E">E</span>X</span>’s extended <span +class="ec-lmtt-10">\font </span>command. If + necessary, run <span +class="ec-lmss-10">fc-cache </span>first to update font information. + </dd></dl> +<!--l. 1665--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">6.3 </span> <a + id="x1-510006.3"></a>User Profile is Home</h4> +<!--l. 1668--><p class="noindent" >The Windows counterpart of a Unix home directory is the <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">%USERPROFILE%</span></span></span> directory. Under Windows XP, this +is usually <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">C:\Documents</span><span +class="ec-lmtt-10"> and</span><span +class="ec-lmtt-10"> Settings\<username></span></span></span>, and under Windows Vista and Windows 7 it is +<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">C:\Users\<username></span></span></span>. In the <span +class="ec-lmtt-10">texmf.cnf </span>file, and Kpathsea in general, <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">~</span></span></span> will expand appropriately on both +Windows and Unix. +<!--l. 1676--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">6.4 </span> <a + id="x1-520006.4"></a>The Windows registry</h4> +<!--l. 1679--><p class="noindent" >Windows stores nearly all configuration data in its registry. The registry contains a set of hierarchically +organized keys, with several root keys. The most important ones for installation programs are +<span class="path"><span +class="ec-lmtt-10">HKEY_CURRENT_USER</span></span> and <span class="path"><span +class="ec-lmtt-10">HKEY_LOCAL_MACHINE</span></span>, <span class="path"><span +class="ec-lmtt-10">HKCU</span></span> and <span class="path"><span +class="ec-lmtt-10">HKLM</span></span> in short. The <span class="path"><span +class="ec-lmtt-10">HKCU</span></span> part of the registry is in +the user’s home directory (see section <a +href="#x1-510006.3">6.3<!--tex4ht:ref: sec:winhome --></a>). <span class="path"><span +class="ec-lmtt-10">HKLM</span></span> is normally in a subdirectory of the Windows +directory. +<!--l. 1687--><p class="indent" > In some cases, system information could be obtained from environment variables but for other information, +for example the location of shortcuts, it is necessary to consult the registry. Setting environment variables +permanently also requires registry access. + + +<!--l. 1693--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">6.5 </span> <a + id="x1-530006.5"></a>Windows permissions</h4> +<!--l. 1696--><p class="noindent" >In later versions of Windows, a distinction is made between regular users and administrators, where only the +latter have free access to the entire operating system. In practice, though, you could better describe these +classes of users as unprivileged users and normal users: being an administrator is the rule, not the +exception. Nevertheless, we have made an effort to make <span class="TEX">T<span +class="E">E</span>X</span> Live installable without administrative +privileges. +<!--l. 1703--><p class="indent" > If the user is an administrator, there is an option to install for all users. If this option is chosen, shortcuts +are created for all users, and the system environment is modified. Otherwise, shortcuts and menu entries are +created for the current user, and the user environment is modified. +<!--l. 1709--><p class="indent" > Regardless of administrator status, the default root of <span class="TEX">T<span +class="E">E</span>X</span> Live proposed by the installer is always +under <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">%SystemDrive%</span></span></span>. The installer always tests whether the root is writable for the current +user. +<!--l. 1713--><p class="indent" > A problem may arise if the user is not an administrator and <span class="TEX">T<span +class="E">E</span>X</span> already exists in the search path. Since +the effective path consists of the system path followed by the user path, the new <span class="TEX">T<span +class="E">E</span>X</span> Live would +never get precedence. As a safeguard, the installer creates a shortcut to the command-prompt in +which the new <span class="TEX">T<span +class="E">E</span>X</span> Live binary directory is prepended to the local search path. The new <span class="TEX">T<span +class="E">E</span>X</span> +Live will be always usable from within such a command-prompt. The shortcut for <span class="TEX">T<span +class="E">E</span>X</span>works, if +installed, also prepends <span class="TEX">T<span +class="E">E</span>X</span> Live to the search path, so it should also be immune to this path +problem. +<!--l. 1723--><p class="indent" > For Vista and Windows 7 there is another twist: even if you are logged in as administrator, you need to +explicitly ask for administrator privileges. In fact, there is not much point in logging in as administrator. +Instead, right-clicking on the program or shortcut that you want to run usually gives you a choice ‘Run as +administrator’. +<!--l. 1730--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">6.6 </span> <a + id="x1-540006.6"></a>Increasing maximum memory on Windows and Cygwin</h4> +<!--l. 1733--><p class="noindent" >Windows and Cygwin (see section <a +href="#x1-200003.1.4">3.1.4<!--tex4ht:ref: sec:cygwin --></a> for Cygwin installation specifics) users may find that they run out of +memory when running some of the programs shipped with <span class="TEX">T<span +class="E">E</span>X</span> Live. For example, <span +class="ec-lmss-10">asy </span>might run out of +memory if you try to allocate an array of 25,000,000 reals, and Lua<span class="TEX">T<span +class="E">E</span>X</span> might run out of memory if you try to +process a document with a lot of big fonts. +<!--l. 1740--><p class="indent" > For Cygwin, you can increase the amount of available memory by following the instructions in the Cygwin +User’s Guide (<a +href="http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html" class="url" ><span +class="ec-lmtt-10">http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html</span></a>). +<!--l. 1744--><p class="indent" > For Windows, you have to create a file, say <span +class="ec-lmtt-10">moremem.reg</span>, with these four lines: +<!--l. 1747--><p class="indent" > + <div class="fancyvrb" id="fancyvrb14"><a + id="x1-54002r1"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> Windows</span><span +class="ec-lmtt-9"> Registry</span><span +class="ec-lmtt-9"> Editor</span><span +class="ec-lmtt-9"> Version</span><span +class="ec-lmtt-9"> 5.00</span><br class="fancyvrb" /><a + id="x1-54004r2"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><br class="fancyvrb" /><a + id="x1-54006r3"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> [HKEY_LOCAL_MACHINE\Software\Cygwin]</span><br class="fancyvrb" /><a + id="x1-54008r4"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> "heap_chunk_in_mb"=dword:ffffff00</span></div> +<!--l. 1754--><p class="noindent" >and then execute the command <span +class="ec-lmtt-10">regedit /s moremem.reg </span>as administrator. (If you want to change memory +only for the current user instead of system-wide, use <span +class="ec-lmtt-10">HKEY_CURRENT_USER</span>.) +<!--l. 1759--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">7 </span> <a + id="x1-550007"></a>A user’s guide to Web2C</h3> +<!--l. 1761--><p class="noindent" >Web2C is an integrated collection of <span class="TEX">T<span +class="E">E</span>X</span>-related programs: <span class="TEX">T<span +class="E">E</span>X</span> itself, Metafont, MetaPost, BibTeX, etc. +It is the heart of <span class="TEX">T<span +class="E">E</span>X</span> Live. The home page for Web2C, with the current manual and more, is +<a +href="http://tug.org/web2c" class="url" ><span +class="ec-lmtt-10">http://tug.org/web2c</span></a>. +<!--l. 1766--><p class="indent" > A bit of history: The original implementation was by Tomas Rokicki who, in 1987, developed a first +<span class="TEX">T<span +class="E">E</span>X</span>-to-C system based on change files under Unix, which were primarily the original work of Howard +Trickey and Pavel Curtis. Tim Morgan became the maintainer of the system, and during this period +the name changed to Web-to-C. In 1990, Karl Berry took over the work, assisted by dozens of +additional contributors, and in 1997 he handed the baton to Olaf Weber, who returned it to Karl in +2006. +<!--l. 1775--><p class="indent" > The Web2C system runs on Unix, 32-bit Windows systems, Mac OS X, and other operating systems. It uses +Knuth’s original sources for <span class="TEX">T<span +class="E">E</span>X</span> and other basic programs written in the <span +class="ec-lmtt-10">WEB </span>literate programming +system and translates them into C source code. The core <span class="TEX">T<span +class="E">E</span>X</span> programs handled in this way +are: +<!--l. 1781--><p class="indent" > + + + <dl class="list1"><dt class="list"> + <span +class="ec-lmss-10">bibtex</span> </dt><dd +class="list"> + <!--l. 1782--><p class="noindent" >Maintaining bibliographies. + </dd><dt class="list"> + <span +class="ec-lmss-10">dvicopy</span> </dt><dd +class="list"> + <!--l. 1783--><p class="noindent" >Expands virtual font references in DVI files. + </dd><dt class="list"> + <span +class="ec-lmss-10">dvitomp</span> </dt><dd +class="list"> + <!--l. 1784--><p class="noindent" >DVI to MPX (MetaPost pictures). + </dd><dt class="list"> + <span +class="ec-lmss-10">dvitype</span> </dt><dd +class="list"> + <!--l. 1785--><p class="noindent" >DVI to human-readable text. + </dd><dt class="list"> + <span +class="ec-lmss-10">gftodvi</span> </dt><dd +class="list"> + <!--l. 1786--><p class="noindent" >Generic font proofsheets. + </dd><dt class="list"> + <span +class="ec-lmss-10">gftopk</span> </dt><dd +class="list"> + <!--l. 1787--><p class="noindent" >Generic to packed fonts. + </dd><dt class="list"> + <span +class="ec-lmss-10">gftype</span> </dt><dd +class="list"> + <!--l. 1788--><p class="noindent" >GF to human-readable text. + </dd><dt class="list"> + <span +class="ec-lmss-10">mf</span> </dt><dd +class="list"> + <!--l. 1789--><p class="noindent" >Creating typeface families. + </dd><dt class="list"> + <span +class="ec-lmss-10">mft</span> </dt><dd +class="list"> + <!--l. 1790--><p class="noindent" >Prettyprinting Metafont source. + </dd><dt class="list"> + <span +class="ec-lmss-10">mpost</span> </dt><dd +class="list"> + <!--l. 1791--><p class="noindent" >Creating technical diagrams. + </dd><dt class="list"> + <span +class="ec-lmss-10">patgen</span> </dt><dd +class="list"> + <!--l. 1792--><p class="noindent" >Creating hyphenation patterns. + </dd><dt class="list"> + <span +class="ec-lmss-10">pktogf</span> </dt><dd +class="list"> + <!--l. 1793--><p class="noindent" >Packed to generic fonts. + </dd><dt class="list"> + <span +class="ec-lmss-10">pktype</span> </dt><dd +class="list"> + <!--l. 1794--><p class="noindent" >PK to human-readable text. + </dd><dt class="list"> + <span +class="ec-lmss-10">pltotf</span> </dt><dd +class="list"> + <!--l. 1795--><p class="noindent" >Plain text property list to TFM. + </dd><dt class="list"> + <span +class="ec-lmss-10">pooltype</span> </dt><dd +class="list"> + <!--l. 1796--><p class="noindent" >Display <span +class="ec-lmtt-10">WEB </span>pool files. + </dd><dt class="list"> + <span +class="ec-lmss-10">tangle</span> </dt><dd +class="list"> + <!--l. 1797--><p class="noindent" ><span +class="ec-lmtt-10">WEB </span>to Pascal. + + + </dd><dt class="list"> + <span +class="ec-lmss-10">tex</span> </dt><dd +class="list"> + <!--l. 1798--><p class="noindent" >Typesetting. + </dd><dt class="list"> + <span +class="ec-lmss-10">tftopl</span> </dt><dd +class="list"> + <!--l. 1799--><p class="noindent" >TFM to plain text property list. + </dd><dt class="list"> + <span +class="ec-lmss-10">vftovp</span> </dt><dd +class="list"> + <!--l. 1800--><p class="noindent" >Virtual font to virtual property list. + </dd><dt class="list"> + <span +class="ec-lmss-10">vptovf</span> </dt><dd +class="list"> + <!--l. 1801--><p class="noindent" >Virtual property list to virtual font. + </dd><dt class="list"> + <span +class="ec-lmss-10">weave</span> </dt><dd +class="list"> + <!--l. 1802--><p class="noindent" ><span +class="ec-lmtt-10">WEB </span>to <span class="TEX">T<span +class="E">E</span>X</span>.</dd></dl> +<!--l. 1805--><p class="noindent" >The precise functions and syntax of these programs are described in the documentation of the individual +packages and of Web2C itself. However, knowing a few principles governing the whole family of programs will +help you take advantage of your Web2C installation. +<!--l. 1810--><p class="indent" > All programs honor these standard GNU options: + <dl class="list1"><dt class="list"> + <span +class="ec-lmtt-10">--help</span> </dt><dd +class="list"> + <!--l. 1812--><p class="noindent" >print basic usage summary. + </dd><dt class="list"> + <span +class="ec-lmtt-10">--verbose</span> </dt><dd +class="list"> + <!--l. 1813--><p class="noindent" >print detailed progress report. + </dd><dt class="list"> + <span +class="ec-lmtt-10">--version</span> </dt><dd +class="list"> + <!--l. 1814--><p class="noindent" >print version information, then exit.</dd></dl> +<!--l. 1817--><p class="indent" > For locating files the Web2C programs use the path searching library Kpathsea (<a +href="http://tug.org/kpathsea" class="url" ><span +class="ec-lmtt-10">http://tug.org/kpathsea</span></a>). +This library uses a combination of environment variables and a configuration files to optimize searching the +(huge) collection of <span class="TEX">T<span +class="E">E</span>X</span> files. Web2C can look at many directory trees simultaneously, which is useful in +maintaining <span class="TEX">T<span +class="E">E</span>X</span>’s standard distribution and local and personal extensions in distinct trees. To speed up file +searches, the root of each tree has a file <span +class="ec-lmtt-10">ls-R</span>, containing an entry showing the name and relative pathname for +all files under that root. +<!--l. 1828--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">7.1 </span> <a + id="x1-560007.1"></a>Kpathsea path searching</h4> +<!--l. 1831--><p class="noindent" >Let us first describe the generic path searching mechanism of the Kpathsea library. +<!--l. 1834--><p class="indent" > We call a <span +class="ec-lmri-10">search path </span>a colon- or semicolon-separated list of <span +class="ec-lmri-10">path elements</span>, which are basically directory +names. A search path can come from (a combination of) many sources. To look up a file ‘<span +class="ec-lmtt-10">my-file</span>’ along a +path ‘<span +class="ec-lmtt-10">.:/dir</span>’, Kpathsea checks each element of the path in turn: first <span +class="ec-lmtt-10">./my-file</span>, then <span +class="ec-lmtt-10">/dir/my-file</span>, +returning the first match (or possibly all matches). +<!--l. 1842--><p class="indent" > In order to adapt optimally to all operating systems’ conventions, on non-Unix systems Kpathsea can use +filename separators different from colon (‘<span +class="ec-lmtt-10">:</span>’) and slash (‘<span +class="ec-lmtt-10">/</span>’). +<!--l. 1846--><p class="indent" > To check a particular path element <span +class="ec-lmro-10">p</span>, Kpathsea first checks if a prebuilt database (see “Filename database” +on page <a +href="#x1-640007.2">63<!--tex4ht:ref: sec:filename-database --></a>) applies to <span +class="ec-lmro-10">p</span>, i.e., if the database is in a directory that is a prefix of <span +class="ec-lmro-10">p</span>. If so, the path specification +is matched against the contents of the database. +<!--l. 1852--><p class="indent" > If the database does not exist, or does not apply to this path element, or contains no matches, the +filesystem is searched (if this was not forbidden by a specification starting with ‘<span +class="ec-lmtt-10">!!</span>’ and if the file being +searched for must exist). Kpathsea constructs the list of directories that correspond to this path element, and +then checks in each for the file being sought. + + +<!--l. 1859--><p class="indent" > The “file must exist” condition comes into play with ‘<span +class="ec-lmtt-10">.vf</span>’ files and input files read by <span class="TEX">T<span +class="E">E</span>X</span>’s <span +class="ec-lmtt-10">\openin</span> +command. Such files may not exist (e.g., <span +class="ec-lmtt-10">cmr10.vf</span>), and so it would be wrong to search the disk for them. +Therefore, if you fail to update <span +class="ec-lmtt-10">ls-R </span>when you install a new ‘<span +class="ec-lmtt-10">.vf</span>’ file, it will never be found. Each path +element is checked in turn: first the database, then the disk. If a match is found, the search stops and the result +is returned. +<!--l. 1868--><p class="indent" > Although the simplest and most common path element is a directory name, Kpathsea supports additional +features in search paths: layered default values, environment variable names, config file values, users’ home +directories, and recursive subdirectory searching. Thus, we say that Kpathsea <span +class="ec-lmri-10">expands </span>a path element, meaning +it transforms all the specifications into basic directory name or names. This is described in the following +sections in the same order as it takes place. +<!--l. 1877--><p class="indent" > Note that if the filename being searched for is absolute or explicitly relative, i.e., starts with ‘<span +class="ec-lmtt-10">/</span>’ or ‘<span +class="ec-lmtt-10">./</span>’ or +‘<span +class="ec-lmtt-10">../</span>’, Kpathsea simply checks if that file exists. +<!--l. 1891--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">7.1.1 </span> <a + id="x1-570007.1.1"></a>Path sources</h5> +<!--l. 1894--><p class="noindent" >A search path can come from many sources. In the order in which Kpathsea uses them: +<!--l. 1897--><p class="indent" > + <ol class="enumerate1" > + <li + class="enumerate" id="x1-57002x1">A user-set environment variable, for instance, <span +class="ec-lmtt-10">TEXINPUTS</span>. Environment variables with a period + and a program name appended override; e.g., if ‘<span +class="ec-lmtt-10">latex</span>’ is the name of the program being run, + then <span +class="ec-lmtt-10">TEXINPUTS.latex </span>will override <span +class="ec-lmtt-10">TEXINPUTS</span>. + </li> + <li + class="enumerate" id="x1-57004x2">A program-specific configuration file, for example, a line ‘<span +class="ec-lmtt-10">S /a:/b</span>’ in <span +class="ec-lmss-10">dvips</span>’s <span +class="ec-lmtt-10">config.ps</span>. + </li> + <li + class="enumerate" id="x1-57006x3">A Kpathsea configuration file <span +class="ec-lmtt-10">texmf.cnf</span>, containing a line like ‘<span +class="ec-lmtt-10">TEXINPUTS=/c:/d</span>’ (see below). + </li> + <li + class="enumerate" id="x1-57008x4">The compile-time default.</li></ol> +<!--l. 1910--><p class="noindent" >You can see each of these values for a given search path by using the debugging options (see “Debugging actions” +on page <a +href="#x1-680007.2.4">66<!--tex4ht:ref: sec:debugging --></a>). +<!--l. 1914--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">7.1.2 </span> <a + id="x1-580007.1.2"></a>Config files</h5> +<!--l. 1916--><p class="noindent" >Kpathsea reads <span +class="ec-lmri-10">runtime configuration files </span>named <span +class="ec-lmtt-10">texmf.cnf </span>for search path and other definitions. The search +path used to look for these files is named <span +class="ec-lmtt-10">TEXMFCNF</span>, but we do not recommend setting this (or any) +environment variable. +<!--l. 1921--><p class="indent" > Instead, normal installation results in a file <span +class="ec-lmtt-10">.../2012/texmf.cnf</span>. If you must make changes to the +defaults (not normally necessary), this is the place to put them. The main configuration file is in +<span +class="ec-lmtt-10">.../2012/texmf/web2c/texmf.cnf</span>. You should not edit this latter file, as your changes will be lost when the +distributed version is updated. +<!--l. 1928--><p class="indent" > <span +class="ec-lmri-10">All </span><span +class="ec-lmtt-10">texmf.cnf </span>files in the search path will be read and definitions in earlier files override those in later +files. For example, with a search path of <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">.:$TEXMF</span></span></span>, values from <span +class="ec-lmtt-10">./texmf.cnf </span>override those from +<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">$TEXMF/texmf.cnf</span></span></span>. + <ul class="itemize1"> + <li class="itemize">Comments start with <span +class="ec-lmtt-10">% </span>and continue to the end of the line. + </li> + <li class="itemize">Blank lines are ignored. + </li> + <li class="itemize">A <span +class="ec-lmtt-10">\ </span>at the end of a line acts as a continuation character, i.e., the next line is appended. Whitespace + at the beginning of continuation lines is not ignored. + </li> + <li class="itemize">Each remaining line has the form: <div class="alltt"> + + + <!--l. 1944--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmro-10">variable</span><span +class="ec-lmtt-10">[.</span><span +class="ec-lmro-10">progname</span><span +class="ec-lmtt-10">]</span><span +class="ec-lmtt-10"> [=]</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmro-10">value</span> +</div> + </div>where the ‘<span +class="ec-lmtt-10">=</span>’ and surrounding whitespace are optional. + </li> + <li class="itemize">The <span +class="ec-lmro-10">variable </span>name may contain any character other than whitespace, ‘<span +class="ec-lmtt-10">=</span>’, or ‘<span +class="ec-lmtt-10">.</span>’, but sticking to ‘<span +class="ec-lmtt-10">A-Za-z_</span>’ + is safest. + </li> + <li class="itemize">If ‘<span +class="ec-lmtt-10">.</span><span +class="ec-lmro-10">progname</span>’ is present, the definition only applies if the program that is running is named <span +class="ec-lmro-10">progname</span> + or <span +class="ec-lmro-10">progname</span><span +class="ec-lmtt-10">.exe</span>. This allows different flavors of <span class="TEX">T<span +class="E">E</span>X</span> to have different search paths, for + example. + </li> + <li class="itemize"><span +class="ec-lmro-10">value </span>may contain any characters except <span +class="ec-lmtt-10">% </span>and ‘<span +class="ec-lmtt-10">@</span>’. The <span +class="ec-lmtt-10">$</span><span +class="ec-lmro-10">var</span><span +class="ec-lmtt-10">.</span><span +class="ec-lmro-10">prog </span>feature is not available on the + right-hand side; instead, you must use an additional variable. A ‘<span +class="ec-lmtt-10">;</span>’ in <span +class="ec-lmro-10">value </span>is translated to ‘<span +class="ec-lmtt-10">:</span>’ if + running under Unix; this is useful to be able to have a single <span +class="ec-lmtt-10">texmf.cnf </span>for Unix, MS-DOS and Windows + systems. + </li> + <li class="itemize">All definitions are read before anything is expanded, so variables can be referenced before they are + defined.</li></ul> +<!--l. 1969--><p class="noindent" >A configuration file fragment illustrating most of these points is shown below: +<!--l. 1973--><p class="indent" > + <div class="fancyvrb" id="fancyvrb15"> +<a + id="x1-58002r1"></a><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> TEXMF</span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> =</span><span +class="ec-lmtt-8x-x-87"> {$TEXMFLOCAL,!!$TEXMFMAIN}</span> +<br class="fancyvrb" /><a + id="x1-58004r2"></a><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> TEXINPUTS.latex</span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> =</span><span +class="ec-lmtt-8x-x-87"> .;$TEXMF/tex/{latex,generic;}//</span> +<br class="fancyvrb" /><a + id="x1-58006r3"></a><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> TEXINPUTS.fontinst</span><span +class="ec-lmtt-8x-x-87"> =</span><span +class="ec-lmtt-8x-x-87"> .;$TEXMF/tex//;$TEXMF/fonts/afm//</span> +<br class="fancyvrb" /><a + id="x1-58008r4"></a><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> %</span><span +class="ec-lmtt-8x-x-87"> e-TeX</span><span +class="ec-lmtt-8x-x-87"> related</span><span +class="ec-lmtt-8x-x-87"> files</span> +<br class="fancyvrb" /><a + id="x1-58010r5"></a><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> TEXINPUTS.elatex</span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> =</span><span +class="ec-lmtt-8x-x-87"> .;$TEXMF/{etex,tex}/{latex,generic;}//</span> +<br class="fancyvrb" /><a + id="x1-58012r6"></a><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> TEXINPUTS.etex</span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> =</span><span +class="ec-lmtt-8x-x-87"> .;$TEXMF/{etex,tex}/{eplain,plain,generic;}//</span> + </div> +<!--l. 1978--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">7.1.3 </span> <a + id="x1-590007.1.3"></a>Path expansion</h5> +<!--l. 1982--><p class="noindent" >Kpathsea recognizes certain special characters and constructions in search paths, similar to those available in +Unix shells. As a general example, the complex path, <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">~$USER/{foo,bar}//baz</span></span></span>, expands to all subdirectories +under directories <span +class="ec-lmtt-10">foo </span>and <span +class="ec-lmtt-10">bar </span>in <span +class="ec-lmtt-10">$USER</span>’s home directory that contain a directory or file <span +class="ec-lmtt-10">baz</span>. These expansions +are explained in the sections below. + <h5 class="subsubsectionHead"><span class="titlemark">7.1.4 </span> <a + id="x1-600007.1.4"></a>Default expansion</h5> +<!--l. 1993--><p class="noindent" >If the highest-priority search path (see “Path sources” on page <a +href="#x1-570007.1.1">58<!--tex4ht:ref: sec:path-sources --></a>) contains an <span +class="ec-lmri-10">extra colon </span>(i.e., leading, +trailing, or doubled), Kpathsea inserts at that point the next-highest-priority search path that is defined. If +that inserted path has an extra colon, the same happens with the next highest. For example, given an +environment variable setting + <div class="alltt"> +<!--l. 2000--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">setenv</span><span +class="ec-lmtk-10"> TEXINPUTS</span><span +class="ec-lmtk-10"> /home/karl:</span> +</div> +</div> and a <span +class="ec-lmtt-10">TEXINPUTS </span>value from <span +class="ec-lmtt-10">texmf.cnf </span>of + <div class="alltt"> +<!--l. 2005--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> .:$TEXMF//tex</span> + + +</div> +</div> then the final value used for searching will be: + <div class="alltt"> +<!--l. 2010--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /home/karl:.:$TEXMF//tex</span> +</div> +</div> +<!--l. 2014--><p class="indent" > Since it would be useless to insert the default value in more than one place, Kpathsea changes only one +extra ‘<span +class="ec-lmtt-10">:</span>’ and leaves any others in place. It checks first for a leading ‘<span +class="ec-lmtt-10">:</span>’, then a trailing ‘<span +class="ec-lmtt-10">:</span>’, then a doubled +‘<span +class="ec-lmtt-10">:</span>’. +<!--l. 2019--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">7.1.5 </span> <a + id="x1-610007.1.5"></a>Brace expansion</h5> +<!--l. 2022--><p class="noindent" >A useful feature is brace expansion, which means that, for instance, <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">v{a,b}w</span></span></span> expands to <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">vaw:vbw</span></span></span>. +Nesting is allowed. This is used to implement multiple <span class="TEX">T<span +class="E">E</span>X</span> hierarchies, by assigning a brace +list to <span +class="ec-lmtt-10">$TEXMF</span>. For example, in <span +class="ec-lmtt-10">texmf.cnf</span>, a definition like this (simplified for this example) is +made: + + + <div class="verbatim" id="verbatim-3"> + <div class="fancyvrb" id="fancyvrb16"><a + id="x1-61002r1"></a>    TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN}</div> +</div> +<!--l. 2030--><p class="nopar" >Using this you can then write something like + + + <div class="verbatim" id="verbatim-4"> + <div class="fancyvrb" id="fancyvrb17"><a + id="x1-61004r1"></a>    TEXINPUTS = .;$TEXMF/tex//</div> +</div> +<!--l. 2034--><p class="nopar" >which means that, after looking in the current directory, the <span +class="ec-lmtt-10">$TEXMFHOME/tex</span>, <span +class="ec-lmtt-10">$TEXMFLOCAL/tex</span>, +<span +class="ec-lmtt-10">$TEXMFVAR/tex </span>and <span +class="ec-lmtt-10">$TEXMFMAIN/tex </span>trees <span +class="ec-lmri-10">only</span>) will be searched (the last two use using <span +class="ec-lmtt-10">ls-R </span>data base +files). It is a convenient way for running two parallel <span class="TEX">T<span +class="E">E</span>X</span> structures, one “frozen” (on a CD, for +instance) and the other being continuously updated with new versions as they become available. +By using the <span +class="ec-lmtt-10">$TEXMF </span>variable in all definitions, one is sure to always search the up-to-date tree +first. +<!--l. 2046--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">7.1.6 </span> <a + id="x1-620007.1.6"></a>Subdirectory expansion</h5> +<!--l. 2049--><p class="noindent" >Two or more consecutive slashes in a path element following a directory <span +class="ec-lmro-10">d </span>is replaced by all subdirectories of <span +class="ec-lmro-10">d</span>: +first those subdirectories directly under <span +class="ec-lmro-10">d</span>, then the subsubdirectories under those, and so on. At each level, the +order in which the directories are searched is <span +class="ec-lmri-10">unspecified</span>. +<!--l. 2055--><p class="indent" > If you specify any filename components after the ‘<span +class="ec-lmtt-10">//</span>’, only subdirectories with matching components are +included. For example, ‘<span +class="ec-lmtt-10">/a//b</span>’ expands into directories <span +class="ec-lmtt-10">/a/1/b</span>, <span +class="ec-lmtt-10">/a/2/b</span>, <span +class="ec-lmtt-10">/a/1/1/b</span>, and so on, but not <span +class="ec-lmtt-10">/a/b/c</span> +or <span +class="ec-lmtt-10">/a/1</span>. +<!--l. 2060--><p class="indent" > Multiple ‘<span +class="ec-lmtt-10">//</span>’ constructs in a path are possible, but ‘<span +class="ec-lmtt-10">//</span>’ at the beginning of a path is ignored. +<!--l. 2063--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">7.1.7 </span> <a + id="x1-630007.1.7"></a>List of special characters and their meaning: a summary</h5> +<!--l. 2065--><p class="noindent" >The following list summarizes the special characters in Kpathsea configuration files. +<!--l. 2070--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span +class="ec-lmtt-10">:</span> </dt><dd +class="list"> + <!--l. 2071--><p class="noindent" >Separator in path specification; at the beginning or the end of a path it substitutes the default + path expansion. + </dd><dt class="list"> + <span +class="ec-lmtt-10">;</span> </dt><dd +class="list"> + <!--l. 2073--><p class="noindent" >Separator on non-Unix systems (acts like <span +class="ec-lmtt-10">:</span>). + </dd><dt class="list"> + <span +class="ec-lmtt-10">$</span> </dt><dd +class="list"> + <!--l. 2074--><p class="noindent" >Variable expansion. + </dd><dt class="list"> + <span +class="ec-lmtt-10">~</span> </dt><dd +class="list"> + <!--l. 2075--><p class="noindent" >Represents the user’s home directory. + </dd><dt class="list"> + <span +class="ec-lmtt-10">{...}</span> </dt><dd +class="list"> + <!--l. 2076--><p class="noindent" >Brace expansion. + </dd><dt class="list"> + <span +class="ec-lmtt-10">//</span> </dt><dd +class="list"> + <!--l. 2077--><p class="noindent" >Subdirectory expansion (can occur anywhere in a path, except at its beginning). + </dd><dt class="list"> + <span +class="ec-lmtt-10">%</span> </dt><dd +class="list"> + <!--l. 2079--><p class="noindent" >Start of comment. + </dd><dt class="list"> + <span +class="ec-lmtt-10">\</span> </dt><dd +class="list"> + <!--l. 2080--><p class="noindent" >Continuation character (allows multi-line entries). + </dd><dt class="list"> + <span +class="ec-lmtt-10">!!</span> </dt><dd +class="list"> + <!--l. 2081--><p class="noindent" >Search <span +class="ec-lmri-10">only </span>database to locate file, <span +class="ec-lmri-10">do not </span>search the disk.</dd></dl> + + +<!--l. 2086--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">7.2 </span> <a + id="x1-640007.2"></a>Filename databases</h4> +<!--l. 2089--><p class="noindent" >Kpathsea goes to some lengths to minimize disk accesses for searches. Nevertheless, at installations with +enough directories, searching each possible directory for a given file can take an excessively long time (this is +especially true if many hundreds of font directories have to be traversed.) Therefore, Kpathsea can use an +externally-built plain text “database” file named <span +class="ec-lmtt-10">ls-R </span>that maps files to directories, thus avoiding the need to +exhaustively search the disk. +<!--l. 2097--><p class="indent" > A second database file <span +class="ec-lmtt-10">aliases </span>allows you to give additional names to the files listed in <span +class="ec-lmtt-10">ls-R</span>. This can be +helpful to confirm to DOS 8.3 filename conventions in source files. +<!--l. 2101--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">7.2.1 </span> <a + id="x1-650007.2.1"></a>The filename database</h5> +<!--l. 2104--><p class="noindent" >As explained above, the name of the main filename database must be <span +class="ec-lmtt-10">ls-R</span>. You can put one at the root of +each <span class="TEX">T<span +class="E">E</span>X</span> hierarchy in your installation that you wish to be searched (<span +class="ec-lmtt-10">$TEXMF </span>by default). Kpathsea looks for +<span +class="ec-lmtt-10">ls-R </span>files along the <span +class="ec-lmtt-10">TEXMFDBS </span>path. +<!--l. 2110--><p class="indent" > The recommended way to create and maintain ‘<span +class="ec-lmtt-10">ls-R</span>’ is to run the <span +class="ec-lmtt-10">mktexlsr </span>script included with the +distribution. It is invoked by the various ‘<span +class="ec-lmtt-10">mktex</span>’… scripts. In principle, this script just runs the command +<div class="alltt"> +<!--l. 2114--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">cd</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmro-10">/your/texmf/root</span><span +class="ec-lmtt-10"> &&</span><span +class="ec-lmtt-10"> </span><span class="path"><span +class="ec-lmtt-10">\</span></span><span +class="ec-lmtt-10">ls</span><span +class="ec-lmtt-10"> -1LAR</span><span +class="ec-lmtt-10"> ./</span><span +class="ec-lmtt-10"> >ls-R</span> +</div> +</div> presuming your system’s <span +class="ec-lmtt-10">ls </span>produces the right output format (GNU <span +class="ec-lmtt-10">ls </span>is all right). To ensure +that the database is always up-to-date, it is easiest to rebuild it regularly via <span +class="ec-lmtt-10">cron</span>, so that it is +automatically updated when the installed files change, such as after installing or updating a <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> +package. +<!--l. 2123--><p class="indent" > If a file is not found in the database, by default Kpathsea goes ahead and searches the disk. If a particular +path element begins with ‘<span +class="ec-lmtt-10">!!</span>’, however, <span +class="ec-lmri-10">only </span>the database will be searched for that element, never the +disk. +<!--l. 2129--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">7.2.2 </span> <a + id="x1-660007.2.2"></a>kpsewhich: Standalone path searching</h5> +<!--l. 2132--><p class="noindent" >The <span +class="ec-lmtt-10">kpsewhich </span>program exercises path searching independent of any particular application. This can be useful +as a sort of <span +class="ec-lmtt-10">find </span>program to locate files in <span class="TEX">T<span +class="E">E</span>X</span> hierarchies (this is used heavily in the distributed +‘<span +class="ec-lmtt-10">mktex</span>’… scripts). + <div class="alltt"> +<!--l. 2137--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> </span><span +class="ec-lmro-10">option</span><span +class="ec-lmtk-10">…</span><span +class="ec-lmtk-10"> </span><span +class="ec-lmro-10">filename</span><span +class="ec-lmtk-10">…</span> +</div> +</div> The options specified in <span +class="ec-lmro-10">option </span>start with either ‘<span +class="ec-lmtt-10">-</span>’ or ‘<span +class="ec-lmtt-10">--</span>’, and any unambiguous abbreviation is +accepted. +<!--l. 2143--><p class="indent" > Kpathsea looks up each non-option argument on the command line as a filename, and returns the first file +found. There is no option to return all the files with a particular name (you can run the Unix ‘<span +class="ec-lmtt-10">find</span>’ utility for +that). +<!--l. 2148--><p class="indent" > The most common options are described next. +<!--l. 2150--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span +class="ec-lmtt-10">--dpi=</span><span +class="ec-lmro-10">num</span> </dt><dd +class="list"> + <!--l. 2151--><p class="noindent" > Set the resolution to <span +class="ec-lmro-10">num</span>; this only affects ‘<span +class="ec-lmtt-10">gf</span>’ and ‘<span +class="ec-lmtt-10">pk</span>’ lookups. ‘<span +class="ec-lmtt-10">-D</span>’ is a synonym, for + compatibility with <span +class="ec-lmss-10">dvips</span>. Default is 600. + + + </dd><dt class="list"> + <span +class="ec-lmtt-10">--format=</span><span +class="ec-lmro-10">name</span> </dt><dd +class="list"> + <!--l. 2156--><p class="noindent" ><br +class="newline" />Set the format for lookup to <span +class="ec-lmro-10">name</span>. By default, the format is guessed from the filename. For + formats which do not have an associated unambiguous suffix, such as MetaPost support files and + <span +class="ec-lmss-10">dvips </span>configuration files, you have to specify the name as known to Kpathsea, such as <span +class="ec-lmtt-10">tex </span>or <span +class="ec-lmtt-10">enc</span> + <span +class="ec-lmtt-10">files</span>. Run <span +class="ec-lmtt-10">kpsewhich --help </span>for a list. + </dd><dt class="list"> + <span +class="ec-lmtt-10">--mode=</span><span +class="ec-lmro-10">string</span> </dt><dd +class="list"> + <!--l. 2164--><p class="noindent" ><br +class="newline" />Set the mode name to <span +class="ec-lmro-10">string</span>; this only affects ‘<span +class="ec-lmtt-10">gf</span>’ and ‘<span +class="ec-lmtt-10">pk</span>’ lookups. No default: any mode will + be found. + </dd><dt class="list"> + <span +class="ec-lmtt-10">--must-exist</span> </dt><dd +class="list"> + <!--l. 2167--><p class="noindent" ><br +class="newline" />Do everything possible to find the files, notably including searching the disk. By default, only the + <span +class="ec-lmtt-10">ls-R </span>database is checked, in the interest of efficiency. + </dd><dt class="list"> + <span +class="ec-lmtt-10">--path=</span><span +class="ec-lmro-10">string</span> </dt><dd +class="list"> + <!--l. 2171--><p class="noindent" ><br +class="newline" />Search along the path <span +class="ec-lmro-10">string </span>(colon-separated as usual), instead of guessing the search path from + the filename. ‘<span +class="ec-lmtt-10">//</span>’ and all the usual expansions are supported. The options ‘<span +class="ec-lmtt-10">--path</span>’ and ‘<span +class="ec-lmtt-10">--format</span>’ + are mutually exclusive. + </dd><dt class="list"> + <span +class="ec-lmtt-10">--progname=</span><span +class="ec-lmro-10">name</span> </dt><dd +class="list"> + <!--l. 2176--><p class="noindent" ><br +class="newline" />Set the program name to <span +class="ec-lmro-10">name</span>. This can affect the search paths via the <span +class="ec-lmtt-10">.</span><span +class="ec-lmro-10">progname </span>feature. The + default is <span +class="ec-lmss-10">kpsewhich</span>. + </dd><dt class="list"> + <span +class="ec-lmtt-10">--show-path=</span><span +class="ec-lmro-10">name</span> </dt><dd +class="list"> + <!--l. 2181--><p class="noindent" ><br +class="newline" />shows the path used for file lookups of file type <span +class="ec-lmro-10">name</span>. Either a filename extension (<span +class="ec-lmtt-10">.pk</span>, <span +class="ec-lmtt-10">.vf</span>, etc.) + or a name can be used, just as with ‘<span +class="ec-lmtt-10">--format</span>’ option. + </dd><dt class="list"> + <span +class="ec-lmtt-10">--debug=</span><span +class="ec-lmro-10">num</span> </dt><dd +class="list"> + <!--l. 2185--><p class="noindent" ><br +class="newline" />sets the debugging options to <span +class="ec-lmro-10">num</span>.</dd></dl> +<!--l. 2190--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">7.2.3 </span> <a + id="x1-670007.2.3"></a>Examples of use</h5> +<!--l. 2193--><p class="noindent" >Let us now have a look at Kpathsea in action. Here’s a straightforward search: + <div class="alltt"> +<!--l. 2195--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> article.cls</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-dist/tex/latex/base/article.cls</span> +</div> +</div> We are looking for the file <span +class="ec-lmtt-10">article.cls</span>. Since the ‘<span +class="ec-lmtt-10">.cls</span>’ suffix is unambiguous we do not need to specify that +we want to look for a file of type <span +class="ec-lmtt-10">tex </span>(<span class="TEX">T<span +class="E">E</span>X</span> source file directories). We find it in the subdirectory +<span +class="ec-lmtt-10">tex/latex/base </span>below the ‘<span +class="ec-lmtt-10">texmf-dist</span>’ <span class="TEX">T<span +class="E">E</span>X</span> Live directory. Similarly, all of the following are found without +problems thanks to their unambiguous suffix. <div class="alltt"> + + +<!--l. 2205--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> array.sty</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-dist/tex/latex/tools/array.sty</span> +<br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> latin1.def</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-dist/tex/latex/base/latin1.def</span> +<br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> size10.clo</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-dist/tex/latex/base/size10.clo</span> +<br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> small2e.tex</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-dist/tex/latex/base/small2e.tex</span> +<br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> tugboat.bib</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib</span> +</div> +</div> +<!--l. 2218--><p class="indent" > By the way, that last is a BibTeX bibliography database for <span +class="ec-lmro-10">TUGboat </span>articles. + <div class="alltt"> +<!--l. 2221--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> cmr10.pk</span> +</div> +</div> Font bitmap glyph files of type <span +class="ec-lmtt-10">.pk </span>are used by display programs like <span +class="ec-lmss-10">dvips </span>and <span +class="ec-lmss-10">xdvi</span>. Nothing is returned in +this case since there are no pre-generated Computer Modern ‘<span +class="ec-lmtt-10">.pk</span>’ files in <span class="TEX">T<span +class="E">E</span>X</span> Live — the Type 1 variants are +used by default. <div class="alltt"> +<!--l. 2228--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> wsuipa10.pk</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk</span> +</div> +</div> For these fonts (a phonetic alphabet from the University of Washington) we had to generate ‘<span +class="ec-lmtt-10">.pk</span>’ files, and +since the default Metafont mode on our installation is <span +class="ec-lmtt-10">ljfour </span>with a base resolution of 600dpi (dots per inch), +this instantiation is returned. <div class="alltt"> +<!--l. 2238--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> -dpi=300</span><span +class="ec-lmtk-10"> wsuipa10.pk</span> +</div> +</div> In this case, when specifying that we are interested in a resolution of 300dpi (<span +class="ec-lmtt-10">-dpi=300</span>) we see that no such +font is available on the system. A program like <span +class="ec-lmss-10">dvips </span>or <span +class="ec-lmss-10">xdvi </span>would go off and actually build the required <span +class="ec-lmtt-10">.pk</span> +files using the script <span +class="ec-lmss-10">mktexpk</span>. +<!--l. 2247--><p class="indent" > Next we turn our attention to <span +class="ec-lmss-10">dvips</span>’s header and configuration files. We first look at one of the commonly +used files, the general prologue <span +class="ec-lmtt-10">tex.pro </span>for <span class="TEX">T<span +class="E">E</span>X</span> support, before turning our attention to the generic +configuration file (<span +class="ec-lmtt-10">config.ps</span>) and the PostScript font map <span +class="ec-lmtt-10">psfonts.map </span>— as of 2004, map and encoding files +have their own search paths and new location in <span +class="ec-lmtt-10">texmf </span>trees. As the ‘<span +class="ec-lmtt-10">.ps</span>’ suffix is ambiguous we +have to specify explicitly which type we are considering (<span +class="ec-lmtt-10">dvips config</span>) for the file <span +class="ec-lmtt-10">config.ps</span>. +<div class="alltt"> +<!--l. 2256--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> tex.pro</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf/dvips/base/tex.pro</span> +<br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> --format="dvips</span><span +class="ec-lmtk-10"> config"</span><span +class="ec-lmtk-10"> config.ps</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf/dvips/config/config.ps</span> +<br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> psfonts.map</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map</span> + + +</div> +</div> +<!--l. 2265--><p class="indent" > We now take a closer look at the URW Times PostScript support files. The prefix for these in the standard +font naming scheme is ‘<span +class="ec-lmtt-10">utm</span>’. The first file we look at is the configuration file, which contains the name of the +map file: <div class="alltt"> +<!--l. 2269--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> --format="dvips</span><span +class="ec-lmtk-10"> config"</span><span +class="ec-lmtk-10"> config.utm</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-dist/dvips/psnfss/config.utm</span> +</div> +</div> The contents of that file is <div class="alltt"> +<!--l. 2274--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> p</span><span +class="ec-lmtt-10"> +utm.map</span> +</div> +</div> which points to the file <span +class="ec-lmtt-10">utm.map</span>, which we want to locate next. <div class="alltt"> +<!--l. 2279--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> utm.map</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-dist/fonts/map/dvips/times/utm.map</span> +</div> +</div> This map file defines the file names of the Type 1 PostScript fonts in the URW collection. Its contents look +like (we only show part of the lines): <div class="alltt"> +<!--l. 2286--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">utmb8r</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> NimbusRomNo9L-Medi</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> ...</span><span +class="ec-lmtt-10"> <utmb8a.pfb</span> +<br /><span +class="ec-lmtt-10">utmbi8r</span><span +class="ec-lmtt-10"> NimbusRomNo9L-MediItal...</span><span +class="ec-lmtt-10"> <utmbi8a.pfb</span> +<br /><span +class="ec-lmtt-10">utmr8r</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> NimbusRomNo9L-Regu</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> ...</span><span +class="ec-lmtt-10"> <utmr8a.pfb</span> +<br /><span +class="ec-lmtt-10">utmri8r</span><span +class="ec-lmtt-10"> NimbusRomNo9L-ReguItal...</span><span +class="ec-lmtt-10"> <utmri8a.pfb</span> +<br /><span +class="ec-lmtt-10">utmbo8r</span><span +class="ec-lmtt-10"> NimbusRomNo9L-Medi</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> ...</span><span +class="ec-lmtt-10"> <utmb8a.pfb</span> +<br /><span +class="ec-lmtt-10">utmro8r</span><span +class="ec-lmtt-10"> NimbusRomNo9L-Regu</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> ...</span><span +class="ec-lmtt-10"> <utmr8a.pfb</span> +</div> +</div> Let us, for instance, take the Times Roman instance <span +class="ec-lmtt-10">utmr8a.pfb </span>and find its position in the <span +class="ec-lmtt-10">texmf </span>directory +tree with a search for Type 1 font files: <div class="alltt"> +<!--l. 2297--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> utmr8a.pfb</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb</span> +</div> +</div> +<!--l. 2304--><p class="indent" > It should be evident from these examples how you can easily locate the whereabouts of a given file. This is +especially important if you suspect that the wrong version of a file is picked up somehow, since <span +class="ec-lmss-10">kpsewhich </span>will +show you the first file encountered. +<!--l. 2309--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">7.2.4 </span> <a + id="x1-680007.2.4"></a>Debugging actions</h5> +<!--l. 2312--><p class="noindent" >Sometimes it is necessary to investigate how a program resolves file references. To make this practical, +Kpathsea offers various levels of debugging output: +<!--l. 2316--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span +class="ec-lmtt-10"> 1</span> </dt><dd +class="list"> + <!--l. 2317--><p class="noindent" ><span +class="ec-lmtt-10">stat </span>calls (disk lookups). When running with an up-to-date <span +class="ec-lmtt-10">ls-R </span>database this should almost + give no output. + + + </dd><dt class="list"> + <span +class="ec-lmtt-10"> 2</span> </dt><dd +class="list"> + <!--l. 2320--><p class="noindent" >References to hash tables (such as <span +class="ec-lmtt-10">ls-R </span>databases, map files, configuration files). + </dd><dt class="list"> + <span +class="ec-lmtt-10"> 4</span> </dt><dd +class="list"> + <!--l. 2322--><p class="noindent" >File open and close operations. + </dd><dt class="list"> + <span +class="ec-lmtt-10"> 8</span> </dt><dd +class="list"> + <!--l. 2323--><p class="noindent" >General path information for file types searched by Kpathsea. This is useful to find out where a + particular path for the file was defined. + </dd><dt class="list"> + <span +class="ec-lmtt-10">16</span> </dt><dd +class="list"> + <!--l. 2326--><p class="noindent" >Directory list for each path element (only relevant for searches on disk). + </dd><dt class="list"> + <span +class="ec-lmtt-10">32</span> </dt><dd +class="list"> + <!--l. 2328--><p class="noindent" >File searches. + </dd><dt class="list"> + <span +class="ec-lmtt-10">64</span> </dt><dd +class="list"> + <!--l. 2329--><p class="noindent" >Variable values.</dd></dl> +<!--l. 2331--><p class="noindent" >A value of <span +class="ec-lmtt-10">-1 </span>will set all the above options; in practice, this is usually the most convenient. +<!--l. 2334--><p class="indent" > Similarly, with the <span +class="ec-lmss-10">dvips </span>program, by setting a combination of debug switches, one can follow in detail +where files are being picked up from. Alternatively, when a file is not found, the debug trace shows in +which directories the program looks for the given file, so that one can get an indication what the +problem is. +<!--l. 2340--><p class="indent" > Generally speaking, as most programs call the Kpathsea library internally, one can select a debug option by +using the <span +class="ec-lmtt-10">KPATHSEA_DEBUG </span>environment variable, and setting it to (a combination of) values as described in the +above list. +<!--l. 2345--><p class="indent" > (Note for Windows users: it is not easy to redirect all messages to a file in this system. For diagnostic +purposes you can temporarily <span +class="ec-lmtt-10">SET KPATHSEA_DEBUG_OUTPUT=err.log</span>). +<!--l. 2349--><p class="indent" > Let us consider, as an example, a small <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> source file, <span +class="ec-lmtt-10">hello-world.tex</span>, which contains the following +input. + + + <div class="verbatim" id="verbatim-5"> + <div class="fancyvrb" id="fancyvrb18"><a + id="x1-68002r1"></a>    \documentclass{article}<br class="fancyvrb" /><a + id="x1-68004r2"></a>    \begin{document}<br class="fancyvrb" /><a + id="x1-68006r3"></a>    Hello World!<br class="fancyvrb" /><a + id="x1-68008r4"></a>    \end{document}</div> +</div> +<!--l. 2356--><p class="nopar" >This little file only uses the font <span +class="ec-lmtt-10">cmr10</span>, so let us look at how <span +class="ec-lmss-10">dvips </span>prepares the PostScript file +(we want to use the Type 1 version of the Computer Modern fonts, hence the option <span +class="ec-lmtt-10">-Pcms</span>). +<div class="alltt"> +<!--l. 2360--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">dvips</span><span +class="ec-lmtk-10"> -d4100</span><span +class="ec-lmtk-10"> hello-world</span><span +class="ec-lmtk-10"> -Pcms</span><span +class="ec-lmtk-10"> -o</span> +</div> +</div> In this case we have combined <span +class="ec-lmss-10">dvips</span>’s debug class 4 (font paths) with Kpathsea’s path element expansion (see +<span +class="ec-lmss-10">dvips </span>Reference Manual, <a +href="../../../../texmf/doc/dvips/dvips.pdf" >texmf/doc/dvips/dvips.pdf</a>). The output (slightly rearranged) appears in +Figure <a +href="#x1-68031r12">12<!--tex4ht:ref: fig:dvipsdbga --></a>. +<!--l. 2368--><p class="indent" > <a + id="x1-68031r12"></a><a + id="x1-68036r13"></a><a + id="x1-68049r14"></a><hr class="float"><div class="float" +> + + +<div class="BVerbatimInput"><span +class="ec-lmtt-9">debug:start</span><span +class="ec-lmtt-9"> search(file=texmf.cnf,</span><span +class="ec-lmtt-9"> must_exist=1,</span><span +class="ec-lmtt-9"> find_all=1,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:/usr/local/bin/texlive:/usr/local/bin:</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> /usr/local/bin/texmf/web2c:/usr/local:</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> /usr/local/texmf/web2c:/.:/./teTeX/TeX/texmf/web2c:).</span><br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=ls-R,</span><span +class="ec-lmtt-9"> must_exist=1,</span><span +class="ec-lmtt-9"> find_all=1,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=~/tex:/usr/local/texmf).</span><br /><span +class="ec-lmtt-9">kdebug:search(ls-R)</span><span +class="ec-lmtt-9"> =>/usr/local/texmf/ls-R</span><br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=aliases,</span><span +class="ec-lmtt-9"> must_exist=1,</span><span +class="ec-lmtt-9"> find_all=1,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=~/tex:/usr/local/texmf).</span><br /><span +class="ec-lmtt-9">kdebug:search(aliases)</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> /usr/local/texmf/aliases</span><br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=config.ps,</span><span +class="ec-lmtt-9"> must_exist=0,</span><span +class="ec-lmtt-9"> find_all=0,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex:!!/usr/local/texmf/dvips//).</span><br /><span +class="ec-lmtt-9">kdebug:search(config.ps)</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> /usr/local/texmf/dvips/config/config.ps</span><br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=/root/.dvipsrc,</span><span +class="ec-lmtt-9"> must_exist=0,</span><span +class="ec-lmtt-9"> find_all=0,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex:!!/usr/local/texmf/dvips//).</span><br /><span +class="ec-lmtt-9">search(file=/home/goossens/.dvipsrc,</span><span +class="ec-lmtt-9"> must_exist=1,</span><span +class="ec-lmtt-9"> find_all=0,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//).</span><br /><span +class="ec-lmtt-9">kdebug:search($HOME/.dvipsrc)</span><span +class="ec-lmtt-9"> =></span><br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=config.cms,</span><span +class="ec-lmtt-9"> must_exist=0,</span><span +class="ec-lmtt-9"> find_all=0,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//).</span><br /><span +class="ec-lmtt-9">kdebug:search(config.cms)</span><br /><span +class="ec-lmtt-9">=>/usr/local/texmf/dvips/cms/config.cms</span></div> + <div class="caption" +><span class="id">Figure 12: </span><span +class="content">Finding configuration files</span></div><!--tex4ht:label?: x1-68031r12 --> +<div class="BVerbatimInput"><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=texc.pro,</span><span +class="ec-lmtt-9"> must\_exist=0,</span><span +class="ec-lmtt-9"> find\_all=0,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).</span><br /><span +class="ec-lmtt-9">kdebug:search(texc.pro)</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> /usr/local/texmf/dvips/base/texc.pro</span></div> + <div class="caption" +><span class="id">Figure 13: </span><span +class="content">Finding the prolog file</span></div><!--tex4ht:label?: x1-68036r13 --> +<div class="BVerbatimInput"><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=cmr10.tfm,</span><span +class="ec-lmtt-9"> must\_exist=1,</span><span +class="ec-lmtt-9"> find\_all=0,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//:</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> /var/tex/fonts/tfm//).</span><br /><span +class="ec-lmtt-9">kdebug:search(cmr10.tfm)</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm</span><br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=texps.pro,</span><span +class="ec-lmtt-9"> must\_exist=0,</span><span +class="ec-lmtt-9"> find\_all=0,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ...</span><br /><span +class="ec-lmtt-9"><texps.pro></span><br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=cmr10.pfb,</span><span +class="ec-lmtt-9"> must\_exist=0,</span><span +class="ec-lmtt-9"> find\_all=0,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).</span><br /><span +class="ec-lmtt-9">kdebug:search(cmr10.pfb)</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb</span><br /><span +class="ec-lmtt-9"><cmr10.pfb>[1]</span></div> + <div class="caption" +><span class="id">Figure 14: </span><span +class="content">Finding the font file</span></div><!--tex4ht:label?: x1-68049r14 --> + + + </div><hr class="endfloat" /> +<!--l. 2384--><p class="indent" > <span +class="ec-lmss-10">dvips </span>starts by locating its working files. First, <span +class="ec-lmtt-10">texmf.cnf </span>is found, which gives the definitions of the +search paths for the other files, then the file database <span +class="ec-lmtt-10">ls-R </span>(to optimize file searching) and the file +<span +class="ec-lmtt-10">aliases</span>, which makes it possible to declare several names (e.g., a short DOS-like 8.3 and a more +natural longer version) for the same file. Then <span +class="ec-lmss-10">dvips </span>goes on to find the generic configuration file +<span +class="ec-lmtt-10">config.ps </span>before looking for the customization file <span +class="ec-lmtt-10">.dvipsrc </span>(which, in this case is <span +class="ec-lmri-10">not found</span>). +Finally, <span +class="ec-lmss-10">dvips </span>locates the config file for the Computer Modern PostScript fonts <span +class="ec-lmtt-10">config.cms </span>(this was +initiated with the <span +class="ec-lmtt-10">-Pcms </span>option on the <span +class="ec-lmss-10">dvips </span>command). This file contains the list of the map +files which define the relation between the <span class="TEX">T<span +class="E">E</span>X</span>, PostScript and file system names of the fonts. +<div class="alltt"> +<!--l. 2398--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">more</span><span +class="ec-lmtk-10"> /usr/local/texmf/dvips/cms/config.cms</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> p</span><span +class="ec-lmtt-10"> +ams.map</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> p</span><span +class="ec-lmtt-10"> +cms.map</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> p</span><span +class="ec-lmtt-10"> +cmbkm.map</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> p</span><span +class="ec-lmtt-10"> +amsbkm.map</span> +</div> +</div> <span +class="ec-lmss-10">dvips </span>thus goes on to find all these files, plus the generic map file <span +class="ec-lmtt-10">psfonts.map</span>, which is always loaded (it +contains declarations for commonly used PostScript fonts; see the last part of Section <a +href="#x1-670007.2.3">7.2.3<!--tex4ht:ref: sec:examples-of-use --></a> for more details +about PostScript map file handling). +<!--l. 2411--><p class="indent" > At this point <span +class="ec-lmss-10">dvips </span>identifies itself to the user: <div class="alltt"> +<!--l. 2412--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">This</span><span +class="ec-lmtt-10"> is</span><span +class="ec-lmtt-10"> dvips(k)</span><span +class="ec-lmtt-10"> 5.92b</span><span +class="ec-lmtt-10"> Copyright</span><span +class="ec-lmtt-10"> 2002</span><span +class="ec-lmtt-10"> Radical</span><span +class="ec-lmtt-10"> Eye</span><span +class="ec-lmtt-10"> Software</span><span +class="ec-lmtt-10"> (www.radicaleye.com)</span> +</div> +</div> Then it goes on to look for the prolog file <span +class="ec-lmtt-10">texc.pro</span>: <div class="alltt"> +<!--l. 2417--><p class="noindent" ><div class="obeylines-v"> +<br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=texc.pro,</span><span +class="ec-lmtt-9"> must_exist=0,</span><span +class="ec-lmtt-9"> find_all=0,</span> +<br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:</span> +<br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).</span> +<br /><span +class="ec-lmtt-9">kdebug:search(texc.pro)</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> /usr/local/texmf/dvips/base/texc.pro</span> +</div> +</div> +<!--l. 2428--><p class="indent" > After having found the file in question, <span +class="ec-lmss-10">dvips </span>outputs the date and time, and informs us that it will generate +the file <span +class="ec-lmtt-10">hello-world.ps</span>, then that it needs the font file <span +class="ec-lmtt-10">cmr10</span>, and that the latter is declared as “resident” (no +bitmaps needed): <div class="alltt"> +<!--l. 2433--><p class="noindent" ><div class="obeylines-v"> +<br /><span +class="ec-lmtt-9">TeX</span><span +class="ec-lmtt-9"> output</span><span +class="ec-lmtt-9"> 1998.02.26:1204’</span><span +class="ec-lmtt-9"> -></span><span +class="ec-lmtt-9"> hello-world.ps</span> +<br /><span +class="ec-lmtt-9">Defining</span><span +class="ec-lmtt-9"> font</span><span +class="ec-lmtt-9"> ()</span><span +class="ec-lmtt-9"> cmr10</span><span +class="ec-lmtt-9"> at</span><span +class="ec-lmtt-9"> 10.0pt</span> +<br /><span +class="ec-lmtt-9">Font</span><span +class="ec-lmtt-9"> cmr10</span><span +class="ec-lmtt-9"> <CMR10></span><span +class="ec-lmtt-9"> is</span><span +class="ec-lmtt-9"> resident.</span> +</div> +</div> Now the search is on for the file <span +class="ec-lmtt-10">cmr10.tfm</span>, which is found, then a few more prolog files (not shown) are +referenced, and finally the Type 1 instance <span +class="ec-lmtt-10">cmr10.pfb </span>of the font is located and included in the output file +(see last line). <div class="alltt"> +<!--l. 2442--><p class="noindent" ><div class="obeylines-v"> +<br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=cmr10.tfm,</span><span +class="ec-lmtt-9"> must_exist=1,</span><span +class="ec-lmtt-9"> find_all=0,</span> +<br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//:</span> +<br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> /var/tex/fonts/tfm//).</span> +<br /><span +class="ec-lmtt-9">kdebug:search(cmr10.tfm)</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm</span> +<br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=texps.pro,</span><span +class="ec-lmtt-9"> must_exist=0,</span><span +class="ec-lmtt-9"> find_all=0,</span> + + +<br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ...</span> +<br /><span +class="ec-lmtt-9"><texps.pro></span> +<br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=cmr10.pfb,</span><span +class="ec-lmtt-9"> must_exist=0,</span><span +class="ec-lmtt-9"> find_all=0,</span> +<br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:</span> +<br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).</span> +<br /><span +class="ec-lmtt-9">kdebug:search(cmr10.pfb)</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb</span> +<br /><span +class="ec-lmtt-9"><cmr10.pfb>[1]</span> +</div> +</div> + <h4 class="subsectionHead"><span class="titlemark">7.3 </span> <a + id="x1-690007.3"></a>Runtime options</h4> +<!--l. 2459--><p class="noindent" >Another useful feature of Web2C is its possibility to control a number of memory parameters (in particular, +array sizes) via the runtime file <span +class="ec-lmtt-10">texmf.cnf </span>read by Kpathsea. The memory settings can be found in Part 3 of +that file in the <span class="TEX">T<span +class="E">E</span>X</span> Live distribution. The more important are: +<!--l. 2465--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span +class="ec-lmtt-10">main_memory</span> </dt><dd +class="list"> + <!--l. 2466--><p class="noindent" >Total words of memory available, for <span class="TEX">T<span +class="E">E</span>X</span>, Metafont and MetaPost. You must make a new format + file for each different setting. For instance, you could generate a “huge” version of <span class="TEX">T<span +class="E">E</span>X</span>, and call + the format file <span +class="ec-lmtt-10">hugetex.fmt</span>. Using the standard way of specifying the program name used by + Kpathsea, the particular value of the <span +class="ec-lmtt-10">main_memory </span>variable will then be read from <span +class="ec-lmtt-10">texmf.cnf</span>. + </dd><dt class="list"> + <span +class="ec-lmtt-10">extra_mem_bot</span> </dt><dd +class="list"> + <!--l. 2474--><p class="noindent" >Extra space for “large” <span class="TEX">T<span +class="E">E</span>X</span> data structures: boxes, glue, breakpoints, etc. Especially useful if + you use PI C<span class="TEX">T<span +class="E">E</span>X</span>. + </dd><dt class="list"> + <span +class="ec-lmtt-10">font_mem_size</span> </dt><dd +class="list"> + <!--l. 2478--><p class="noindent" >Number of words for font information available for <span class="TEX">T<span +class="E">E</span>X</span>. This is more or less the total size of all + TFM files read. + </dd><dt class="list"> + <span +class="ec-lmtt-10">hash_extra</span> </dt><dd +class="list"> + <!--l. 2481--><p class="noindent" >Additional space for the hash table of control sequence names. Only <span +class="lmsy-10">≈</span>10,000 control sequences + can be stored in the main hash table; if you have a large book with numerous cross-references, + this might not be enough. The default value of <span +class="ec-lmtt-10">hash_extra </span>is <span +class="ec-lmtt-10">50000</span>.</dd></dl> +<!--l. 2489--><p class="noindent" >Of course, this facility is no substitute for truly dynamic arrays and memory allocation, but since these are +extremely difficult to implement in the present <span class="TEX">T<span +class="E">E</span>X</span> source, these runtime parameters provide a practical +compromise allowing some flexibility. +<!--l. 2597--><p class="indent" > <a id="ack"></a> + <h3 class="sectionHead"><span class="titlemark">8 </span> <a + id="x1-700008"></a>Acknowledgements</h3> +<!--l. 2600--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Live is a joint effort by virtually all of the <span class="TEX">T<span +class="E">E</span>X</span> user groups. This edition of <span class="TEX">T<span +class="E">E</span>X</span> Live was overseen by +Karl Berry. The other principal contributors, past and present, are listed below. + <ul class="itemize1"> + <li class="itemize">The English, German, Dutch, and Polish <span class="TEX">T<span +class="E">E</span>X</span> user groups (TUG, DANTE e.V., NTG, and GUST, + respectively), which provide the necessary technical and administrative infrastructure. Please join + the <span class="TEX">T<span +class="E">E</span>X</span> user group near you! (See <a +href="http://tug.org/usergroups.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/usergroups.html</span></a>.) + </li> + <li class="itemize">The CTAN team, notably Robin Fairbairns, Jim Hefferon, and Rainer Schöpf, which distributes + the <span class="TEX">T<span +class="E">E</span>X</span> Live images and provides the common infrastructure for package updates, upon which + <span class="TEX">T<span +class="E">E</span>X</span> Live depends. + </li> + <li class="itemize">Nelson Beebe, for making many platforms available to <span class="TEX">T<span +class="E">E</span>X</span> Live developers, and his own + comprehensive testing. + + + </li> + <li class="itemize">John Bowman, for making many changes to his advanced graphics program Asymptote to make + it work in <span class="TEX">T<span +class="E">E</span>X</span> Live. + </li> + <li class="itemize">Peter Breitenlohner and the e-<span class="TEX">T<span +class="E">E</span>X</span> team for the stable foundation of future <span class="TEX">T<span +class="E">E</span>X</span>’s, and Peter + specifically for stellar help with GNU autotools usage throughout <span class="TEX">T<span +class="E">E</span>X</span> Live. + </li> + <li class="itemize">Jin-Hwan Cho and all of the DVIPDFM<span +class="lmmi-10">x </span>team, for their excellent driver and responsiveness to + configuration issues. + </li> + <li class="itemize">Thomas Esser, without whose marvelous te<span class="TEX">T<span +class="E">E</span>X</span> package <span class="TEX">T<span +class="E">E</span>X</span> Live would have never existed. + </li> + <li class="itemize">Michel Goossens, who co-authored the original documentation. + </li> + <li class="itemize">Eitan Gurari, whose <span class="TEX">T<span +class="E">E</span>X</span>4ht is used to create the HTML version of this documentation, and who + worked tirelessly to improve it at short notice, every year. Eitan prematurely passed away in June + 2009, and we dedicate this documentation to his memory. + </li> + <li class="itemize">Hans Hagen, for much testing and making his Con<span class="TEX">T<span +class="E">E</span>X</span>t format (<a +href="http://pragma-ade.com" class="url" ><span +class="ec-lmtt-10">http://pragma-ade.com</span></a>) work + within <span class="TEX">T<span +class="E">E</span>X</span> Live’s framework. + </li> + <li class="itemize">Hàn Thế Thành, Martin Schröder, and the pdf<span class="TEX">T<span +class="E">E</span>X</span> team (<a +href="http://pdftex.org" class="url" ><span +class="ec-lmtt-10">http://pdftex.org</span></a>) for continuing + enhancements of <span class="TEX">T<span +class="E">E</span>X</span>’s abilities. + </li> + <li class="itemize">Hartmut Henkel, for significant development contributions to pdf<span class="TEX">T<span +class="E">E</span>X</span> Lua<span class="TEX">T<span +class="E">E</span>X</span>, and more. + </li> + <li class="itemize">Taco Hoekwater, + for major renewed development efforts on MetaPost and (Lua)<span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://luatex.org" class="url" ><span +class="ec-lmtt-10">http://luatex.org</span></a>) itself, + incorporating Con<span class="TEX">T<span +class="E">E</span>X</span>t into <span class="TEX">T<span +class="E">E</span>X</span> Live, giving Kpathsea multi-threaded functionality, and much + more. + </li> + <li class="itemize">Paweł Jackowski, for the Windows installer <span +class="ec-lmss-10">tlpm</span>, and Tomasz Łuczak, for <span +class="ec-lmss-10">tlpmgui</span>, used in past + releases. + </li> + <li class="itemize">Akira Kakuto, for providing the Windows binaries from his W32TEX distribution for Japanese + <span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://w32tex.org" class="url" ><span +class="ec-lmtt-10">http://w32tex.org</span></a>), and many other development contributions. + </li> + <li class="itemize">Jonathan Kew, for developing the remarkable Xe<span class="TEX">T<span +class="E">E</span>X</span> engine and taking the time and trouble to + integrate it in <span class="TEX">T<span +class="E">E</span>X</span> Live, as well as the initial version of the Mac<span class="TEX">T<span +class="E">E</span>X</span> installer, and also for our + recommended front-end <span class="TEX">T<span +class="E">E</span>X</span>works. + </li> + <li class="itemize">Dick Koch, for maintaining Mac<span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://tug.org/mactex" class="url" ><span +class="ec-lmtt-10">http://tug.org/mactex</span></a>) in very close tandem with <span class="TEX">T<span +class="E">E</span>X</span> + Live, and for his great good cheer in doing so. + </li> + <li class="itemize">Reinhard Kotucha, for major contributions to the <span class="TEX">T<span +class="E">E</span>X</span> Live 2008 infrastructure and installer, as + well as Windows research efforts, the <span +class="ec-lmtt-10">getnonfreefonts </span>script, and more. + </li> + <li class="itemize">Siep Kroonenberg, also for major contributions to the <span class="TEX">T<span +class="E">E</span>X</span> Live 2008 infrastructure and installer, + especially on Windows, and for the bulk of work updating this manual describing those features. + </li> + <li class="itemize">Heiko Oberdiek, for the <span +class="ec-lmss-10">epstopdf </span>package and many others, compressing the huge <span +class="ec-lmss-10">pst-geo </span>data + files so we could include them, and most of all, for his remarkable work on <span +class="ec-lmss-10">hyperref</span>. + </li> + <li class="itemize">Petr Olšak, who coordinated and checked all the Czech and Slovak material very carefully. + </li> + <li class="itemize">Toshio Oshima, for his <span +class="ec-lmss-10">dviout </span>previewer for Windows. + </li> + <li class="itemize">Manuel Pégourié-Gonnard, for helping with package updates, documentation improvements, and + <span +class="ec-lmss-10">texdoc </span>development. + </li> + + + <li class="itemize">Fabrice Popineau, for the original Windows support in <span class="TEX">T<span +class="E">E</span>X</span> Live and work on the French + documentation. + </li> + <li class="itemize">Norbert Preining, the principal architect of the <span class="TEX">T<span +class="E">E</span>X</span> Live 2008 infrastructure and installer, and + also for coordinating the Debian version of <span class="TEX">T<span +class="E">E</span>X</span> Live (together with Frank Küster), making many + suggestions along the way. + </li> + <li class="itemize">Sebastian Rahtz, for originally creating <span class="TEX">T<span +class="E">E</span>X</span> Live and maintaining it for many years. + </li> + <li class="itemize">Phil Taylor, for setting up the BitTorrent downloads. + </li> + <li class="itemize">Tomasz Trzeciak, for wide-ranging help with Windows. + </li> + <li class="itemize">Vladimir Volovich, for substantial help with porting and other maintenance issues, and especially + for making it feasible to include <span +class="ec-lmss-10">xindy</span>. + </li> + <li class="itemize">Staszek Wawrykiewicz, the principal tester for all of <span class="TEX">T<span +class="E">E</span>X</span> Live, and coordinator of the many + major Polish contributions: fonts, Windows installation, and more. + </li> + <li class="itemize">Olaf Weber, for his patient maintenance of Web2C. + </li> + <li class="itemize">Gerben Wierda, for creating and maintaining the original Mac OS X support, and much + integration and testing. + </li> + <li class="itemize">Graham Williams, on whose work the <span class="TEX">T<span +class="E">E</span>X</span> Catalogue of packages depends. + </li></ul> +<!--l. 2723--><p class="indent" > Builders of the binaries: Ettore Aldrovandi (<span +class="ec-lmss-10">i386-solaris</span>, <span +class="ec-lmss-10">x86_64-solaris</span>), Alan Braslau (<span +class="ec-lmss-10">amd64-kfreebsd</span>, +<span +class="ec-lmss-10">i386-kfreebsd</span>), Peter Breitenlohner (<span +class="ec-lmss-10">x86_64-linux</span>), Karl Berry (<span +class="ec-lmss-10">i386-linux</span>), Ken Brown (<span +class="ec-lmss-10">i386-cygwin</span>), Akira +Kakuto (<span +class="ec-lmss-10">win32</span>), Dick Koch (<span +class="ec-lmss-10">universal-darwin</span>, <span +class="ec-lmss-10">x86_64-darwin</span>), Nikola Lečić (<span +class="ec-lmss-10">amd64-freebsd</span>, <span +class="ec-lmss-10">i386-freebsd</span>), +Mojca Miklavec (<span +class="ec-lmss-10">mipsel-linux</span>), Norbert Preining (<span +class="ec-lmss-10">alpha-linux</span>), Thomas Schmitz (<span +class="ec-lmss-10">powerpc-linux</span>), Boris +Veytsman (<span +class="ec-lmss-10">armel-linux</span>), Vladimir Volovich (<span +class="ec-lmss-10">powerpc-aix</span>, <span +class="ec-lmss-10">sparc-solaris</span>), Olaf Weber (<span +class="ec-lmss-10">mips-irix</span>). For information +on the <span class="TEX">T<span +class="E">E</span>X</span> Live build process, see <a +href="http://tug.org/texlive/build.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/build.html</span></a>. +<!--l. 2741--><p class="indent" > Translators of this manual: Boris Veytsman (Russian), Jjgod Jiang, Jinsong Zhao, Yue Wang, & Helin Gai +(Chinese), Uwe Ziegenhagen (German), Manuel Pégourié-Gonnard (French), Marco Pallante (Italian), Nikola +Lečić (Serbian), Petr Sojka & Jan Busa (Czech/Slovak), Staszek Wawrykiewicz (Polish). The <span class="TEX">T<span +class="E">E</span>X</span> Live +documentation web page is <a +href="http://tug.org/texlive/doc.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/doc.html</span></a>. +<!--l. 2752--><p class="indent" > Of course the most important acknowledgement must go to Donald Knuth, first for inventing <span class="TEX">T<span +class="E">E</span>X</span>, and +then for giving it to the world. +<!--l. 2757--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">9 </span> <a + id="x1-710009"></a>Release history</h3> +<!--l. 2760--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">9.1 </span> <a + id="x1-720009.1"></a>Past</h4> +<!--l. 2762--><p class="noindent" >Discussion began in late 1993 when the Dutch <span class="TEX">T<span +class="E">E</span>X</span> Users Group was starting work on its 4All<span class="TEX">T<span +class="E">E</span>X</span> CD for +MS-DOS users, and it was hoped at that time to issue a single, rational, CD for all systems. This was too +ambitious a target for the time, but it did spawn not only the very successful 4All<span class="TEX">T<span +class="E">E</span>X</span> CD, but also the TUG +Technical Council working group on a <span class="TEX"><span +class="ec-lmri-10">T</span><span +class="E"><span +class="ec-lmri-10">E</span></span><span +class="ec-lmri-10">X</span></span> <span +class="ec-lmri-10">Directory Structure </span>(<a +href="http://tug.org/tds" class="url" ><span +class="ec-lmtt-10">http://tug.org/tds</span></a>), which specified how +to create consistent and manageable collections of <span class="TEX">T<span +class="E">E</span>X</span> support files. A complete draft of the TDS was +published in the December 1995 issue of <span +class="ec-lmro-10">TUGboat</span>, and it was clear from an early stage that one desirable +product would be a model structure on CD. The distribution you now have is a very direct result of the +working group’s deliberations. It was also clear that the success of the 4All<span class="TEX">T<span +class="E">E</span>X</span> CD showed that +Unix users would benefit from a similarly easy system, and this is the other main strand of <span class="TEX">T<span +class="E">E</span>X</span> +Live. +<!--l. 2778--><p class="indent" > We first undertook to make a new Unix-based TDS CD in the autumn of 1995, and quickly identified +Thomas Esser’s te<span class="TEX">T<span +class="E">E</span>X</span> as the ideal setup, as it already had multi-platform support and was built with + + +portability across file systems in mind. Thomas agreed to help, and work began seriously at the start of 1996. +The first edition was released in May 1996. At the start of 1997, Karl Berry completed a major new +release of Web2c, which included nearly all the features which Thomas Esser had added in te<span class="TEX">T<span +class="E">E</span>X</span>, +and we decided to base the 2nd edition of the CD on the standard Web2C, with the addition of +te<span class="TEX">T<span +class="E">E</span>X</span>’s <span +class="ec-lmtt-10">texconfig </span>script. The 3rd edition of the CD was based on a major revision of Web2C, +7.2, by Olaf Weber; at the same time, a new revision of te<span class="TEX">T<span +class="E">E</span>X</span> was being made, and <span class="TEX">T<span +class="E">E</span>X</span> Live +included almost all of its features. The 4th edition followed the same pattern, using a new version +of te<span class="TEX">T<span +class="E">E</span>X</span>, and a new release of Web2C (7.3). The system now included a complete Windows +setup. +<!--l. 2794--><p class="indent" > For the 5th edition (March 2000) many parts of the CD were revised and checked, updating hundreds of +packages. Package details were stored in XML files. But the major change for <span class="TEX">T<span +class="E">E</span>X</span> Live 5 was that all +non-free software was removed. Everything in <span class="TEX">T<span +class="E">E</span>X</span> Live is now intended to be compatible with the +Debian Free Software Guidelines (<a +href="http://www.debian.org/intro/free" class="url" ><span +class="ec-lmtt-10">http://www.debian.org/intro/free</span></a>); we have done our best to +check the license conditions of all packages, but we would very much appreciate hearing of any +mistakes. +<!--l. 2803--><p class="indent" > The 6th edition (July 2001) had much more material updated. The major change was a new install concept: +the user could select a more exact set of needed collections. Language-related collections were completely +reorganized, so selecting any of them installs not only macros, fonts, etc., but also prepares an appropriate +<span +class="ec-lmtt-10">language.dat</span>. +<!--l. 2809--><p class="indent" > The 7th edition of 2002 had the notable addition of Mac OS X support, and the usual myriad of updates to +all sorts of packages and programs. An important goal was integration of the source back with te<span class="TEX">T<span +class="E">E</span>X</span>, to +correct the drift apart in versions 5 and 6. +<!--l. 2814--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">9.1.1 </span> <a + id="x1-730009.1.1"></a>2003</h5> +<!--l. 2816--><p class="noindent" >In 2003, with the continuing flood of updates and additions, we found that <span class="TEX">T<span +class="E">E</span>X</span> Live had grown so large it +could no longer be contained on a single CD, so we split it into three different distributions (see section <a +href="#x1-90002.1">2.1<!--tex4ht:ref: sec:tl-coll-dists --></a>, +p. <a +href="#x1-90002.1">7<!--tex4ht:ref: sec:tl-coll-dists --></a>). In addition: + <ul class="itemize1"> + <li class="itemize">At the request of the <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> team, we changed the standard <span +class="ec-lmss-10">latex </span>and <span +class="ec-lmss-10">pdflatex </span>commands to + now use e-<span class="TEX">T<span +class="E">E</span>X</span> (see p. <a +href="#x1-120002.4">10<!--tex4ht:ref: text:etex --></a>). + </li> + <li class="itemize">The new Latin Modern fonts were included (and are recommended). + </li> + <li class="itemize">Support for Alpha OSF was removed (HPUX support was removed previously), since no one had + (or volunteered) hardware available on which to compile new binaries. + </li> + <li class="itemize">Windows setup was substantially changed; for the first time an integrated environment based on + XEmacs was introduced. + </li> + <li class="itemize">Important supplementary programs for Windows (Perl, Ghostscript, ImageMagick, Ispell) are now + installed in the <span class="TEX">T<span +class="E">E</span>X</span> Live installation directory. + </li> + <li class="itemize">Font map files used by <span +class="ec-lmss-10">dvips</span>, <span +class="ec-lmss-10">dvipdfm </span>and <span +class="ec-lmss-10">pdftex </span>are now generated by the new program <span +class="ec-lmss-10">updmap</span> + and installed into <span +class="ec-lmtt-10">texmf/fonts/map</span>. + </li> + <li class="itemize"><span class="TEX">T<span +class="E">E</span>X</span>, Metafont, and MetaPost now, by default, output most input characters (32 and above) as + themselves in output (e.g., <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">\write</span></span></span>) files, log files, and the terminal, i.e., <span +class="ec-lmri-10">not </span>translated using the + <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">^^</span></span></span> notation. In <span class="TEX">T<span +class="E">E</span>X</span> Live 7, this translation was dependent on the system locale settings; now, + locale settings do not influence the <span class="TEX">T<span +class="E">E</span>X</span> programs’ behavior. If for some reason you need the + <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">^^</span></span></span> output, rename the file <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">texmf/web2c/cp8bit.tcx</span></span></span>. (Future releases will have cleaner ways to + control this.) + </li> + <li class="itemize">This documentation was substantially revised. + </li> + <li class="itemize">Finally, since the edition numbers had grown unwieldy, the version is now simply identified by the + year: <span class="TEX">T<span +class="E">E</span>X</span> Live 2003.</li></ul> + + +<!--l. 2854--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">9.1.2 </span> <a + id="x1-740009.1.2"></a>2004</h5> +<!--l. 2856--><p class="noindent" >2004 saw many changes: + <ul class="itemize1"> + <li class="itemize">If you have locally-installed fonts which use their own <span +class="ec-lmtt-10">.map </span>or (much less likely) <span +class="ec-lmtt-10">.enc </span>support + files, you may need to move those support files. + <!--l. 2864--><p class="noindent" ><span +class="ec-lmtt-10">.map </span>files are now searched for in subdirectories of <span +class="ec-lmtt-10">fonts/map </span>only (in each <span +class="ec-lmtt-10">texmf </span>tree), along + the <span +class="ec-lmtt-10">TEXFONTMAPS </span>path. Similarly, <span +class="ec-lmtt-10">.enc </span>files are now searched for in subdirectories of <span +class="ec-lmtt-10">fonts/enc</span> + only, along the <span +class="ec-lmtt-10">ENCFONTS </span>path. <span +class="ec-lmss-10">updmap </span>will attempt to warn about problematic files. + <!--l. 2871--><p class="noindent" >For methods of handling this and other information, please see + <a +href="http://tug.org/texlive/mapenc.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/mapenc.html</span></a>. + </li> + <li class="itemize">The <span class="TEX">T<span +class="E">E</span>X</span> Collection has been expanded with the addition of a MiK<span class="TEX">T<span +class="E">E</span>X</span>-based installable CD, + for those who prefer that implementation to Web2C. See section <a +href="#x1-80002">2<!--tex4ht:ref: sec:overview-tl --></a> (p. <a +href="#x1-80002">7<!--tex4ht:ref: sec:overview-tl --></a>). + </li> + <li class="itemize">Within <span class="TEX">T<span +class="E">E</span>X</span> Live, the single large <span +class="ec-lmtt-10">texmf </span>tree of previous releases has been replaced by three: + <span +class="ec-lmtt-10">texmf</span>, <span +class="ec-lmtt-10">texmf-dist</span>, and <span +class="ec-lmtt-10">texmf-doc</span>. See section <a +href="#x1-100002.2">2.2<!--tex4ht:ref: sec:tld --></a> (p. <a +href="#x1-100002.2">7<!--tex4ht:ref: sec:tld --></a>), and the <span +class="ec-lmtt-10">README </span>files for each. + </li> + <li class="itemize">All <span class="TEX">T<span +class="E">E</span>X</span>-related input files are now collected in the <span +class="ec-lmtt-10">tex </span>subdirectory of <span +class="ec-lmtt-10">texmf* </span>trees, + rather than having separate sibling directories <span +class="ec-lmtt-10">tex</span>, <span +class="ec-lmtt-10">etex</span>, <span +class="ec-lmtt-10">pdftex</span>, <span +class="ec-lmtt-10">pdfetex</span>, etc. See + <a +href="../../../../texmf-dist/doc/generic/tds/tds.html#Extensions" ><span +class="ec-lmtt-10">texmf-dist/doc/generic/tds/tds.html#Extensions</span></a>. + </li> + <li class="itemize">Helper scripts (not meant to be invoked by users) are now located in a new <span +class="ec-lmtt-10">scripts</span> + subdirectory of <span +class="ec-lmtt-10">texmf* </span>trees, and can be searched for via <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">kpsewhich</span><span +class="ec-lmtt-10"> -format=texmfscripts</span></span></span>. + So if you have programs which call such scripts, they’ll need to be adjusted. See + <a +href="../../../../texmf-dist/doc/generic/tds/tds.html#Scripts" ><span +class="ec-lmtt-10">texmf-dist/doc/generic/tds/tds.html#Scripts</span></a>. + </li> + <li class="itemize">Almost all formats leave most characters printable as themselves via the “translation file” + <span +class="ec-lmtt-10">cp227.tcx</span>, instead of translating them with the <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">^^</span></span></span> notation. Specifically, characters at + positions 32–256, plus tab, vertical tab, and form feed are considered printable and not + translated. The exceptions are plain <span class="TEX">T<span +class="E">E</span>X</span> (only 32–126 printable), Con<span class="TEX">T<span +class="E">E</span>X</span>t (0–255 printable), + and the Omega-related formats. This default behavior is almost the same as in <span class="TEX">T<span +class="E">E</span>X</span> Live + 2003, but it’s implemented more cleanly, with more possibilities for customization. See + <a +href="../../../../texmf/doc/web2c/web2c.html#TCX-files" ><span +class="ec-lmtt-10">texmf/doc/web2c/web2c.html#TCX-files</span></a>. (By the way, with Unicode input, <span class="TEX">T<span +class="E">E</span>X</span> may output + partial character sequences when showing error contexts, since it is byte-oriented.) + </li> + <li class="itemize"><span +class="ec-lmss-10">pdfetex </span>is now the default engine for all formats except (plain) <span +class="ec-lmss-10">tex </span>itself. (Of course it generates + DVI when run as <span +class="ec-lmss-10">latex</span>, etc.) This means, among other things, that the microtypographic + features of <span +class="ec-lmss-10">pdftex </span>are available in <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>, Con<span class="TEX">T<span +class="E">E</span>X</span>t, etc., as well as the e-<span class="TEX">T<span +class="E">E</span>X</span> features + (<a +href="../../../../texmf-dist/doc/etex/base/" >texmf-dist/doc/etex/base/</a>). + <!--l. 2918--><p class="noindent" >It also means it’s <span +class="ec-lmri-10">more important than ever </span>to use the <span +class="ec-lmss-10">ifpdf </span>package (works with both plain and + <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>) or equivalent code, because simply testing whether <span +class="ec-lmtt-10">\pdfoutput </span>or some other primitive + is defined is not a reliable way to determine if PDF output is being generated. We made this + backward compatible as best we could this year, but next year, <span +class="ec-lmtt-10">\pdfoutput </span>may be defined even + when DVI is being written. + </li> + <li class="itemize">pdf<span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://pdftex.org" class="url" ><span +class="ec-lmtt-10">http://pdftex.org</span></a>) has many new features: + <ul class="itemize2"> + <li class="itemize"><span +class="ec-lmtt-10">\pdfmapfile </span>and <span +class="ec-lmtt-10">\pdfmapline </span>provide font map support from within a document. + + + </li> + <li class="itemize">Microtypographic font expansion can be used more easily.<br +class="newline" /><a +href="http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html" class="url" ><span +class="ec-lmtt-10">http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html</span></a> + </li> + <li class="itemize">All parameters previously set through the special configuration file <span +class="ec-lmtt-10">pdftex.cfg </span>must now be + set through primitives, typically in <span +class="ec-lmtt-10">pdftexconfig.tex</span>; <span +class="ec-lmtt-10">pdftex.cfg </span>is no longer supported. + Any extant <span +class="ec-lmtt-10">.fmt </span>files must be redumped when <span +class="ec-lmtt-10">pdftexconfig.tex </span>is changed. + </li> + <li class="itemize">See the pdf<span class="TEX">T<span +class="E">E</span>X</span> manual for more: <a +href="../../../../texmf-dist/doc/pdftex/manual/pdftex-a.pdf" >texmf-dist/doc/pdftex/manual/pdftex-a.pdf</a>. + </li></ul> + </li> + <li class="itemize">The <span +class="ec-lmtt-10">\input </span>primitive in <span +class="ec-lmss-10">tex </span>(and <span +class="ec-lmss-10">mf </span>and <span +class="ec-lmss-10">mpost</span>) now accepts double quotes containing spaces and other + special characters. Typical examples: + + + <div class="verbatim" id="verbatim-6"> + <div class="fancyvrb" id="fancyvrb19"><a + id="x1-74002r1"></a>  \input "filename with spaces"   % plain<br class="fancyvrb" /><a + id="x1-74004r2"></a>  \input{"filename with spaces"}  % latex</div> +</div> + <!--l. 2952--><p class="nopar" >See the Web2C manual for more: <a +href="../../../../texmf/doc/web2c" >texmf/doc/web2c</a>. + </li> + <li class="itemize">enc<span class="TEX">T<span +class="E">E</span>X</span> support is now included within Web2C and consequently all <span class="TEX">T<span +class="E">E</span>X</span> programs, via the <span +class="ec-lmtt-10">-enc</span> + option — <span +class="ec-lmri-10">only when formats are built</span>. enc<span class="TEX">T<span +class="E">E</span>X</span> supports general re-encoding of input and + output, enabling full support of Unicode (in UTF-8). See <a +href="../../../../texmf-dist/doc/generic/enctex/" >texmf-dist/doc/generic/enctex/</a> and + <a +href="http://www.olsak.net/enctex.html" class="url" ><span +class="ec-lmtt-10">http://www.olsak.net/enctex.html</span></a>. + </li> + <li class="itemize">Aleph, a new engine combining e-<span class="TEX">T<span +class="E">E</span>X</span> and Omega, is available. A little information is available in + <a +href="../../../../texmf-dist/doc/aleph/base" >texmf-dist/doc/aleph/base</a> and <a +href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph" class="url" ><span +class="ec-lmtt-10">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph</span></a>. The + <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>-based format for Aleph is named <span +class="ec-lmss-10">lamed</span>. + </li> + <li class="itemize">The latest <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> release has a new version of the LPPL — now officially a Debian-approved license. + Assorted other updates, see the <span +class="ec-lmtt-10">ltnews </span>files in <a +href="../../../../texmf-dist/doc/latex/base" >texmf-dist/doc/latex/base</a>. + </li> + <li class="itemize"><span +class="ec-lmss-10">dvipng</span>, a new program for converting DVI to PNG image files, is included. See <a +href="../../../../texmf/doc/man/man1/dvipng.1" >texmf/doc/man/man1/dvipng.1</a>. + </li> + <li class="itemize">We reduced the <span +class="ec-lmss-10">cbgreek </span>package to a “medium” sized set of fonts, with the assent and advice of the + author (Claudio Beccari). The excised fonts are the invisible, outline, and transparency ones, which are + relatively rarely used, and we needed the space. The full set is of course available from CTAN + (<a +href="http://mirror.ctan.org/tex-archive/fonts/greek/cb" class="url" ><span +class="ec-lmtt-10">http://mirror.ctan.org/tex-archive/fonts/greek/cb</span></a>). + </li> + <li class="itemize"><span +class="ec-lmss-10">oxdvi </span>has been removed; just use <span +class="ec-lmss-10">xdvi</span>. + </li> + <li class="itemize">The <span +class="ec-lmss-10">ini </span>and <span +class="ec-lmss-10">vir </span>commands (links) for <span +class="ec-lmss-10">tex</span>, <span +class="ec-lmss-10">mf</span>, and <span +class="ec-lmss-10">mpost </span>are no longer created, such as <span +class="ec-lmss-10">initex</span>. + The <span +class="ec-lmss-10">ini </span>functionality has been available through the command-line option <span +class="ec-lmtt-10">-ini </span>for years + now. + </li> + <li class="itemize"><span +class="ec-lmss-10">i386-openbsd </span>platform support was removed. Since the <span +class="ec-lmss-10">tetex </span>package in the BSD Ports system is + available, and GNU/Linux and FreeBSD binaries were available, it seemed volunteer time could be better + spent elsewhere. + </li> + <li class="itemize">On <span +class="ec-lmss-10">sparc-solaris </span>(at least), you may have to set the <span +class="ec-lmtt-10">LD_LIBRARY_PATH </span>environment variable to run the + <span +class="ec-lmss-10">t1utils </span>programs. This is because they are compiled with C++, and there is no standard location for the + runtime libraries. (This is not new in 2004, but wasn’t previously documented.) Similarly, on <span +class="ec-lmss-10">mips-irix</span>, + the MIPSpro 7.4 runtimes are required. + </li></ul> +<!--l. 3003--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">9.1.3 </span> <a + id="x1-750009.1.3"></a>2005</h5> +<!--l. 3005--><p class="noindent" >2005 saw the usual huge number of updates to packages and programs. The infrastructure stayed relatively +stable from 2004, but inevitably there were some changes there as well: + <ul class="itemize1"> + <li class="itemize">New scripts <span +class="ec-lmss-10">texconfig-sys</span>, <span +class="ec-lmss-10">updmap-sys</span>, and <span +class="ec-lmss-10">fmtutil-sys </span>were introduced, which modify the + configuration in the system trees. The <span +class="ec-lmss-10">texconfig</span>, <span +class="ec-lmss-10">updmap</span>, and <span +class="ec-lmss-10">fmtutil </span>scripts now modify + user-specific files, under <span +class="ec-lmtt-10">$HOME/.texlive2005</span>. + + + </li> + <li class="itemize">Corresponding new variables <span +class="ec-lmtt-10">TEXMFCONFIG </span>and <span +class="ec-lmtt-10">TEXMFSYSCONFIG </span>to specify the trees where + configuration files (user or system, respectively) are found. Thus, you may need to move + personal versions of <span +class="ec-lmtt-10">fmtutil.cnf </span>and <span +class="ec-lmtt-10">updmap.cfg </span>to these places; another option is to redefine + <span +class="ec-lmtt-10">TEXMFCONFIG </span>or <span +class="ec-lmtt-10">TEXMFSYSCONFIG </span>in <span +class="ec-lmtt-10">texmf.cnf</span>. In any case the real location of these files and + the values of <span +class="ec-lmtt-10">TEXMFCONFIG </span>and <span +class="ec-lmtt-10">TEXMFSYSCONFIG </span>must agree. See section <a +href="#x1-110002.3">2.3<!--tex4ht:ref: sec:texmftrees --></a>, p. <a +href="#x1-110002.3">8<!--tex4ht:ref: sec:texmftrees --></a>. + </li> + <li class="itemize">Last year, we kept <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">\pdfoutput</span></span></span> and other primitives undefined for DVI output, even though the + <span +class="ec-lmss-10">pdfetex </span>program was being used. This year, as promised, we undid that compatibility measure. So + if your document uses <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">\ifx\pdfoutput\undefined</span></span></span> to test if PDF is being output, it will need to + be changed. You can use the package <span +class="ec-lmss-10">ifpdf.sty </span>(which works under both plain <span class="TEX">T<span +class="E">E</span>X</span> and <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>) + to do this, or steal its logic. + </li> + <li class="itemize">Last year, we changed most formats to output (8-bit) characters as themselves (see previous section). + The new TCX file <span +class="ec-lmtt-10">empty.tcx </span>now provides an easier way to get the original <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">^^</span></span></span> notation if you so desire, + as in: + + + <div class="verbatim" id="verbatim-7"> + <div class="fancyvrb" id="fancyvrb20"><a + id="x1-75002r1"></a>  latex --translate-file=empty.tcx yourfile.tex</div> +</div> + <!--l. 3042--><p class="nopar" > + </li> + <li class="itemize">The new program <span +class="ec-lmss-10">dvipdfmx </span>is included for translation of DVI to PDF; this is an actively maintained + update of <span +class="ec-lmss-10">dvipdfm </span>(which is also still available for now, though no longer recommended). + </li> + <li class="itemize">The new programs <span +class="ec-lmss-10">pdfopen </span>and <span +class="ec-lmss-10">pdfclose </span>are included to allow reloading of pdf files in the Adobe Acrobat + Reader without restarting the program. (Other pdf readers, notably <span +class="ec-lmss-10">xpdf</span>, <span +class="ec-lmss-10">gv</span>, and <span +class="ec-lmss-10">gsview</span>, have never + suffered from this problem.) + </li> + <li class="itemize">For consistency, the variables <span +class="ec-lmtt-10">HOMETEXMF </span>and <span +class="ec-lmtt-10">VARTEXMF </span>have been renamed to <span +class="ec-lmtt-10">TEXMFHOME </span>and + <span +class="ec-lmtt-10">TEXMFSYSVAR</span>, respectively. There is also <span +class="ec-lmtt-10">TEXMFVAR</span>, which is by default user-specific. See the first point + above. + </li></ul> +<!--l. 3064--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">9.1.4 </span> <a + id="x1-760009.1.4"></a>2006–2007</h5> +<!--l. 3066--><p class="noindent" >In 2006–2007, the major new addition to <span class="TEX">T<span +class="E">E</span>X</span> Live was the Xe<span class="TEX">T<span +class="E">E</span>X</span> program, available as the <span +class="ec-lmtt-10">xetex </span>and +<span +class="ec-lmtt-10">xelatex </span>programs; see <a +href="http://scripts.sil.org/xetex" class="url" ><span +class="ec-lmtt-10">http://scripts.sil.org/xetex</span></a>. +<!--l. 3070--><p class="indent" > MetaPost also received a notable update, with more planned for the future (<a +href="http://tug.org/metapost/articles" class="url" ><span +class="ec-lmtt-10">http://tug.org/metapost/articles</span></a>), +likewise pdf<span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://tug.org/applications/pdftex" class="url" ><span +class="ec-lmtt-10">http://tug.org/applications/pdftex</span></a>). +<!--l. 3074--><p class="indent" > The <span class="TEX">T<span +class="E">E</span>X</span> <span +class="ec-lmtt-10">.fmt </span>(high-speed format) and the similar files for MetaPost and Metafont are now stored in +subdirectories of <span +class="ec-lmtt-10">texmf/web2c</span>, instead of in the directory itself (although the directory is still searched, for the +sake of existing <span +class="ec-lmtt-10">.fmt</span>’s). The subdirectories are named for the ‘engine’ in use, such as <span +class="ec-lmtt-10">tex </span>or <span +class="ec-lmtt-10">pdftex </span>or <span +class="ec-lmtt-10">xetex</span>. +This change should be invisible in normal use. +<!--l. 3082--><p class="indent" > The (plain) <span +class="ec-lmtt-10">tex </span>program no longer reads <span +class="ec-lmtt-10">%& </span>first lines to determine what format to run; it is the pure +Knuthian <span class="TEX">T<span +class="E">E</span>X</span>. (<span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> and everything else do still read <span +class="ec-lmtt-10">%& </span>lines). +<!--l. 3086--><p class="indent" > Of course the year also saw (the usual) hundreds of other updates to packages and programs. As usual, +please check CTAN (<a +href="http://mirror.ctan.org" class="url" ><span +class="ec-lmtt-10">http://mirror.ctan.org</span></a>) for updates. +<!--l. 3090--><p class="indent" > Internally, the source tree is now stored in Subversion, with a standard web interface for viewing the tree, +as linked from our home page. Although not visible in the final distribution, we expect this will provide a +stable development foundation for future years. +<!--l. 3095--><p class="indent" > Finally, in May 2006 Thomas Esser announced that he would no longer be updating te<span class="TEX">T<span +class="E">E</span>X</span> +(<a +href="http://tug.org/tetex" class="url" ><span +class="ec-lmtt-10">http://tug.org/tetex</span></a>). As a result, there was been a surge of interest in <span class="TEX">T<span +class="E">E</span>X</span> Live, especially among +GNU/Linux distributors. (There is a new <span +class="ec-lmtt-10">tetex </span>installation scheme in <span class="TEX">T<span +class="E">E</span>X</span> Live, which provides an +approximate equivalent.) We hope this will eventually translate to improvements in the <span class="TEX">T<span +class="E">E</span>X</span> environment for +everyone. +<!--l. 3103--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">9.1.5 </span> <a + id="x1-770009.1.5"></a>2008</h5> +<!--l. 3105--><p class="noindent" >In 2008, the entire <span class="TEX">T<span +class="E">E</span>X</span> Live infrastructure was redesigned and reimplemented. Complete information about +an installation is now stored in a plain text file <span +class="ec-lmtt-10">tlpkg/texlive.tlpdb</span>. +<!--l. 3109--><p class="indent" > Among other things, this finally makes possible upgrading a <span class="TEX">T<span +class="E">E</span>X</span> Live installation over the Internet after +the initial installation, a feature MiK<span class="TEX">T<span +class="E">E</span>X</span> has provided for many years. We expect to regularly update new +packages as they are released to CTAN. +<!--l. 3114--><p class="indent" > The major new engine Lua<span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://luatex.org" class="url" ><span +class="ec-lmtt-10">http://luatex.org</span></a>) is included; besides a new level of flexibility +in typesetting, this provides an excellent scripting language for use both inside and outside of +<span class="TEX">T<span +class="E">E</span>X</span> documents. +<!--l. 3119--><p class="indent" > Support among Windows and the Unix-based platforms is now much more uniform. In particular, most +Perl and Lua scripts are now available on Windows, using the Perl internally distributed with <span class="TEX">T<span +class="E">E</span>X</span> +Live. + + +<!--l. 3123--><p class="indent" > The new <span +class="ec-lmss-10">tlmgr </span>script (section <a +href="#x1-450005">5<!--tex4ht:ref: sec:tlmgr --></a>) is the general interface for managing <span class="TEX">T<span +class="E">E</span>X</span> Live after the initial +installation. It handles package updates and consequent regeneration of formats, map files, and language files, +optionally including local additions. +<!--l. 3128--><p class="indent" > With the advent of <span +class="ec-lmss-10">tlmgr</span>, the <span +class="ec-lmss-10">texconfig </span>actions to edit the format and hyphenation configuration files are +now disabled. +<!--l. 3131--><p class="indent" > The <span +class="ec-lmss-10">xindy </span>indexing program (<a +href="http://xindy.sourceforge.net/" class="url" ><span +class="ec-lmtt-10">http://xindy.sourceforge.net/</span></a>) is now included on most +platforms. +<!--l. 3134--><p class="indent" > The <span +class="ec-lmss-10">kpsewhich </span>tool can now report all matches for a given file (option <span +class="ec-lmtt-10">–all</span>) and limit matches to a given +subdirectory (option <span +class="ec-lmtt-10">–subdir</span>). +<!--l. 3138--><p class="indent" > The <span +class="ec-lmss-10">dvipdfmx </span>program now includes functionality to extract bounding box information, via the command +name <span +class="ec-lmss-10">extractbb</span>; this was one of the last features provided by <span +class="ec-lmss-10">dvipdfm </span>not in <span +class="ec-lmss-10">dvipdfmx</span>. +<!--l. 3143--><p class="indent" > The font aliases <span +class="ec-lmtt-10">Times-Roman</span>, <span +class="ec-lmtt-10">Helvetica</span>, and so on have been removed. Different packages expected them +to behave differently (in particular, to have different encodings), and there was no good way to resolve +this. +<!--l. 3148--><p class="indent" > The <span +class="ec-lmss-10">platex </span>format has been removed, to resolve a name conflict with a completely different Japanese <span +class="ec-lmss-10">platex</span>; +the <span +class="ec-lmss-10">polski </span>package is now the main Polish support. +<!--l. 3152--><p class="indent" > Internally, the <span +class="ec-lmtt-10">WEB</span> string pool files are now compiled into the binaries, to ease upgrades. +<!--l. 3155--><p class="indent" > Finally, the changes made by Donald Knuth in his ‘<span class="TEX">T<span +class="E">E</span>X</span> tuneup of 2008’ are included in this release. See +<a +href="http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf" class="url" ><span +class="ec-lmtt-10">http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf</span></a>. +<!--l. 3159--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">9.1.6 </span> <a + id="x1-780009.1.6"></a>2009</h5> +<!--l. 3161--><p class="noindent" >In 2009, the default output format for Lua(L<span +class="ec-lmr-7">A</span> )<span class="TEX">T<span +class="E">E</span>X</span> is now PDF, to take advantage of Lua<span class="TEX">T<span +class="E">E</span>X</span>’s OpenType +support, et al. New executables named <span +class="ec-lmtt-10">dviluatex </span>and <span +class="ec-lmtt-10">dvilualatex </span>run Lua<span class="TEX">T<span +class="E">E</span>X</span> with DVI output. The +Lua<span class="TEX">T<span +class="E">E</span>X</span> home page is <a +href="http://luatex.org" class="url" ><span +class="ec-lmtt-10">http://luatex.org</span></a>. +<!--l. 3166--><p class="indent" > The original Omega engine and Lambda format have been excised, after discussions with the Omega +authors. The updated Aleph and Lamed remain, as do the Omega utilities. +<!--l. 3170--><p class="indent" > A new release of the AMS Type 1 fonts is included, including Computer Modern: a few shape +changes made over the years by Knuth in the Metafont sources have been integrated, and the +hinting has been updated. The Euler fonts have been thoroughly reshaped by Hermann Zapf (see +<a +href="http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf" class="url" ><span +class="ec-lmtt-10">http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf</span></a>). In all cases, the metrics remain +unchanged. The AMS fonts home page is <a +href="http://www.ams.org/tex/amsfonts.html" class="url" ><span +class="ec-lmtt-10">http://www.ams.org/tex/amsfonts.html</span></a>. +<!--l. 3178--><p class="indent" > The new GUI front end <span class="TEX">T<span +class="E">E</span>X</span>works is included for Windows, and also in Mac<span class="TEX">T<span +class="E">E</span>X</span>. For other platforms, and +more information, see the <span class="TEX">T<span +class="E">E</span>X</span>works home page, <a +href="http://tug.org/texworks" class="url" ><span +class="ec-lmtt-10">http://tug.org/texworks</span></a>. It is a cross-platform front end +inspired by the Mac OS X TeXShop editor, aiming at ease-of-use. +<!--l. 3183--><p class="indent" > The graphics program Asymptote is included for several platforms. This implements a text-based graphics +description language vaguely akin to MetaPost, but with advanced 3D support and other features. Its home +page is <a +href="http://asymptote.sourceforge.net" class="url" ><span +class="ec-lmtt-10">http://asymptote.sourceforge.net</span></a>. +<!--l. 3188--><p class="indent" > The separate <span +class="ec-lmtt-10">dvipdfm </span>program has been replaced by <span +class="ec-lmtt-10">dvipdfmx</span>, which operates in a special compatibility +mode under that name. <span +class="ec-lmtt-10">dvipdfmx </span>includes CJK support and has accumulated many other fixes over the years +since the last <span +class="ec-lmtt-10">dvipdfm </span>release. The DVIPDFMx home page is <a +href="http://project.ktug.or.kr/dvipdfmx" class="url" ><span +class="ec-lmtt-10">http://project.ktug.or.kr/dvipdfmx</span></a>. +<!--l. 3195--><p class="indent" > Executables for the <span +class="ec-lmss-10">cygwin </span>and <span +class="ec-lmss-10">i386-netbsd </span>platforms are now included, while we were advised that +OpenBSD users get <span class="TEX">T<span +class="E">E</span>X</span> through their package systems, plus there were difficulties in making binaries that +have a chance of working on more than one version. +<!--l. 3200--><p class="indent" > A miscellany of smaller changes: we now use <span +class="ec-lmss-10">xz </span>compression, the stable replacement for <span +class="ec-lmss-10">lzma</span> +(<a +href="http://tukaani.org/xz/" class="url" ><span +class="ec-lmtt-10">http://tukaani.org/xz/</span></a>); a literal <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">$</span></span></span> is allowed in filenames when it does not introduce a known variable +name; the Kpathsea library is now multi-threaded (made use of in MetaPost); the entire <span class="TEX">T<span +class="E">E</span>X</span> Live build is +now based on Automake. +<!--l. 3207--><p class="indent" > Final note on the past: all releases of <span class="TEX">T<span +class="E">E</span>X</span> Live, along with ancillary material such as CD labels, are +available at <a +href="ftp://tug.org/historic/systems/texlive" class="url" ><span +class="ec-lmtt-10">ftp://tug.org/historic/systems/texlive</span></a>. +<!--l. 3212--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">9.1.7 </span> <a + id="x1-790009.1.7"></a>2010</h5> +<!--l. 3215--><p class="noindent" >In 2010, the default version for PDF output is now 1.5, enabling more compression. This applies to all the +<span class="TEX">T<span +class="E">E</span>X</span> engines when used to produce PDF and to <span +class="ec-lmtt-10">dvipdfmx</span>. Loading the <span +class="ec-lmss-10">pdf14 </span><span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> package changes back +to PDF 1.4, or set <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">\pdfminorversion=4</span></span></span>. + + +<!--l. 3220--><p class="indent" > pdf(L<span +class="ec-lmr-7">A</span> )<span class="TEX">T<span +class="E">E</span>X</span> now <span +class="ec-lmri-10">automatically </span>converts a requested Encapsulated PostScript (EPS) file to PDF, via the +<span +class="ec-lmss-10">epstopdf </span>package, when and if the <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> <span +class="ec-lmtt-10">graphics.cfg </span>configuration file is loaded, and PDF is +being output. The default options are intended to eliminate any chance of hand-created PDF +files being overwritten, but you can also prevent <span +class="ec-lmtt-10">epstopdf </span>from being loaded at all by putting +<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">\newcommand{\DoNotLoadEpstopdf}{}</span></span></span> (or <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">\def...</span></span></span>) before the <span +class="ec-lmtt-10">\documentclass </span>declaration. It is also not +loaded if the <span +class="ec-lmss-10">pst-pdf </span>package is used. For more details, see the <span +class="ec-lmss-10">epstopdf </span>package documentation +(<a +href="http://ctan.org/pkg/epstopdf-pkg" class="url" ><span +class="ec-lmtt-10">http://ctan.org/pkg/epstopdf-pkg</span></a>). +<!--l. 3232--><p class="indent" > A related change is that execution of a very few external commands from <span class="TEX">T<span +class="E">E</span>X</span>, via the <span +class="ec-lmtt-10">\write18 </span>feature, is +now enabled by default. These are commands are <span +class="ec-lmtt-10">repstopdf</span>, <span +class="ec-lmtt-10">makeindex</span>, <span +class="ec-lmtt-10">kpsewhich</span>, <span +class="ec-lmtt-10">bibtex</span>, and <span +class="ec-lmtt-10">bibtex8</span>; +the list is defined in <span +class="ec-lmtt-10">texmf.cnf</span>. Environments which must disallow all such external commands can deselect +this option in the installer (see section <a +href="#x1-280003.2.4">3.2.4<!--tex4ht:ref: sec:options --></a>), or override the value after installation by running +<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">tlmgr</span><span +class="ec-lmtt-10"> conf</span><span +class="ec-lmtt-10"> texmf</span><span +class="ec-lmtt-10"> shell_escape</span><span +class="ec-lmtt-10"> 0</span></span></span>. +<!--l. 3241--><p class="indent" > Yet another related change is that BibTeX and Makeindex now refuse to write their output files to an +arbitrary directory (like <span class="TEX">T<span +class="E">E</span>X</span> itself), by default. This is so they can now be enabled for use by the restricted +<span +class="ec-lmtt-10">\write18</span>. To change this, the <span +class="ec-lmtt-10">TEXMFOUTPUT </span>environment variable can be set, or the <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">openout_any</span></span></span> setting +changed. +<!--l. 3247--><p class="indent" > Xe<span class="TEX">T<span +class="E">E</span>X</span> now supports margin kerning along the same lines as pdf<span class="TEX">T<span +class="E">E</span>X</span>. (Font expansion is not presently +supported.) +<!--l. 3250--><p class="indent" > By default, <span +class="ec-lmss-10">tlmgr </span>now saves one backup of each package updated (<span +class="ec-lmtt-10">tlmgr option autobackup 1</span>), so +broken packages updates can be easily reverted with <span +class="ec-lmtt-10">tlmgr restore</span>. If you do post-install updates, and don’t +have the disk space for the backups, run <span +class="ec-lmtt-10">tlmgr option autobackup 0</span>. +<!--l. 3256--><p class="indent" > New programs included: the p<span class="TEX">T<span +class="E">E</span>X</span> engine and related utilities for typesetting Japanese; the BibTeXU +program for Unicode-enabled BibTeX; the <span +class="ec-lmss-10">chktex </span>utility (<a +href="http://baruch.ev-en.org/proj/chktex" class="url" ><span +class="ec-lmtt-10">http://baruch.ev-en.org/proj/chktex</span></a>) for +checking (L<span +class="ec-lmr-7">A</span> )<span class="TEX">T<span +class="E">E</span>X</span> documents; the <span +class="ec-lmss-10">dvisvgm </span>(<a +href="http://dvisvgm.sourceforge.net" class="url" ><span +class="ec-lmtt-10">http://dvisvgm.sourceforge.net</span></a>) DVI-to-SVG +translator. +<!--l. 3263--><p class="indent" > Executables for these new platforms are now included: <span +class="ec-lmtt-10">amd64-freebsd</span>, <span +class="ec-lmtt-10">amd64-kfreebsd</span>, <span +class="ec-lmtt-10">i386-freebsd</span>, +<span +class="ec-lmtt-10">i386-kfreebsd</span>, <span +class="ec-lmtt-10">x86_64-darwin</span>, <span +class="ec-lmtt-10">x86_64-solaris</span>. +<!--l. 3267--><p class="indent" > A change in <span class="TEX">T<span +class="E">E</span>X</span> Live 2009 that we failed to note: numerous <span class="TEX">T<span +class="E">E</span>X</span>4ht-related executables +(<a +href="http://tug.org/tex4ht" class="url" ><span +class="ec-lmtt-10">http://tug.org/tex4ht</span></a>) were removed from the binary directories. The generic <span +class="ec-lmtt-10">mk4ht </span>program can be used +to run any of the various <span +class="ec-lmtt-10">tex4ht </span>combinations. +<!--l. 3272--><p class="indent" > Finally, the <span class="TEX">T<span +class="E">E</span>X</span> Live release on the <span class="TEX">T<span +class="E">E</span>X</span> Collection DVD can no longer be run live (oddly enough). A +single DVD no longer has enough room. One beneficial side effect is that installation from the physical +DVD is much faster. +<!--l. 3277--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">9.1.8 </span> <a + id="x1-800009.1.8"></a>2011</h5> +<!--l. 3279--><p class="noindent" >The Mac OS X binaries (<span +class="ec-lmtt-10">universal-darwin </span>and <span +class="ec-lmtt-10">x86_64-darwin</span>) now work only on Leopard or later; Panther +and Tiger are no longer supported. +<!--l. 3283--><p class="indent" > The <span +class="ec-lmtt-10">biber </span>program for bibliography processing is included on common platforms. Its development is +closely coupled with the <span +class="ec-lmtt-10">biblatex </span>package, which completely reimplements the bibliographical facilities +provided by LaTeX. +<!--l. 3288--><p class="indent" > The MetaPost (<span +class="ec-lmtt-10">mpost</span>) program no longer creates or uses <span +class="ec-lmtt-10">.mem </span>files. The needed files, such as <span +class="ec-lmtt-10">plain.mp</span>, are +simply read on every run. This is related to supporting MetaPost as a library, which is another significant +though not user-visible change. +<!--l. 3293--><p class="indent" > The <span +class="ec-lmtt-10">updmap </span>implementation in Perl, previously used only on Windows, has been revamped and is now used +on all platforms. There shouldn’t be any user-visible changes as a result, except that it runs much +faster. +<!--l. 3299--><p class="indent" > <a id="news"></a> + <h4 class="subsectionHead"><span class="titlemark">9.2 </span> <a + id="x1-810009.2"></a>Present</h4> +<!--l. 3303--><p class="noindent" ><span +class="ec-lmtt-10">tlmgr </span>supports updates from multiple network repositories. The section on multiple repositories in the <span +class="ec-lmtt-10">tlmgr</span> +<span +class="ec-lmtt-10">help </span>output has more. +<!--l. 3307--><p class="indent" > The parameter <span +class="ec-lmtt-10">\XeTeXdashbreakstate </span>is set to 1 by default, for both <span +class="ec-lmtt-10">xetex </span>and <span +class="ec-lmtt-10">xelatex</span>. This allows line +breaks after em-dashes and en-dashes, which has always been the behavior of plain <span class="TEX">T<span +class="E">E</span>X</span>, <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>, Lua<span class="TEX">T<span +class="E">E</span>X</span>, +etc. Existing Xe<span class="TEX">T<span +class="E">E</span>X</span> documents which must retain perfect line-break compatibility will need to set +<span +class="ec-lmtt-10">\XeTeXdashbreakstate </span>to 0 explicitly. +<!--l. 3314--><p class="indent" > The output files generated by <span +class="ec-lmtt-10">pdftex </span>and <span +class="ec-lmtt-10">dvips</span>, among others, can now exceed 2gb. + + +<!--l. 3317--><p class="indent" > The 35 standard PostScript fonts are included in the output of <span +class="ec-lmtt-10">dvips </span>by default, since so many different +versions of them are extant. +<!--l. 3321--><p class="indent" > In the restricted <span +class="ec-lmtt-10">\write18 </span>execution mode, set by default, <span +class="ec-lmtt-10">mpost </span>is now an allowed program. +<!--l. 3324--><p class="indent" > A <span +class="ec-lmtt-10">texmf.cnf </span>file is also found in <span +class="ec-lmtt-10">../texmf-local</span>, e.g., <span +class="ec-lmtt-10">/usr/local/texlive/texmf-local/web2c/texmf.cnf</span>, if +it exists. +<!--l. 3328--><p class="indent" > The <span +class="ec-lmtt-10">updmap </span>script reads a per-tree <span +class="ec-lmtt-10">updmap.cfg </span>instead of one global config. This change should be +invisible, unless you edited your updmap.cfg’s directly. The <span +class="ec-lmtt-10">updmap –help </span>output has more. +<!--l. 3332--><p class="indent" > Platforms: <span +class="ec-lmss-10">armel-linux </span>and <span +class="ec-lmss-10">mipsel-linux </span>added; <span +class="ec-lmss-10">sparc-linux </span>and <span +class="ec-lmss-10">i386-netbsd </span>are no longer in the main +distribution, but are available for installation as custom binaries, along with a variety of other platforms: +<a +href="http://tug.org/texlive/custom-bin.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/custom-bin.html</span></a>. +<!--l. 3339--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">9.3 </span> <a + id="x1-820009.3"></a>Future</h4> +<!--l. 3341--><p class="noindent" ><span class="TEX"><span +class="ec-lmri-10">T</span><span +class="E"><span +class="ec-lmri-10">E</span></span><span +class="ec-lmri-10">X</span></span> <span +class="ec-lmri-10">Live is not perfect! </span>(And never will be.) We intend to continue to release new versions, and would like to +provide more help material, more utilities, more installation programs, and (of course) an ever-improved and +better-checked tree of macros and fonts. This work is all done by volunteers in their spare time, and so there is +always more to do. Please see <a +href="http://tug.org/texlive/contribute.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/contribute.html</span></a>. +<!--l. 3348--><p class="indent" > Please send corrections, suggestions, and offers of help to: + <div class="quote"> + <!--l. 3350--><p class="noindent" ><a +href="mailto:tex-live@tug.org" ><span class="path"><span +class="ec-lmtt-10">tex-live@tug.org</span></span></a> <br +class="newline" /><a +href="http://tug.org/texlive" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive</span></a></div> +<!--l. 3355--><p class="noindent" ><span +class="ec-lmro-10">Happy </span><span class="TEX"><span +class="ec-lmro-10">T</span><span +class="E"><span +class="ec-lmro-10">E</span></span><span +class="ec-lmro-10">X</span></span><span +class="ec-lmro-10">ing!</span> + +</body></html> + + + + diff --git a/Master/texmf-dist/doc/texlive/texlive-en/texlive-en.pdf b/Master/texmf-dist/doc/texlive/texlive-en/texlive-en.pdf Binary files differnew file mode 100644 index 00000000000..b869e6cecb2 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/texlive-en.pdf diff --git a/Master/texmf-dist/doc/texlive/texlive-en/texlive-en.tex b/Master/texmf-dist/doc/texlive/texlive-en/texlive-en.tex new file mode 100644 index 00000000000..8ab7f7b6282 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-en/texlive-en.tex @@ -0,0 +1,3360 @@ +% $Id$ +% TeX Live documentation. Originally written by Sebastian Rahtz and +% Michel Goossens, now maintained by Karl Berry and others. +% Public domain. +% +\documentclass{article} +\let\tldocenglish=1 % for live4ht.cfg +\usepackage{tex-live} +\usepackage[latin1]{inputenc} % translators: use your preferred encodings. +\usepackage[T1]{fontenc} + +\begin{document} + +\title{% + {\huge \textit{The \TeX\ Live Guide}\\\smallskip}% + {\LARGE \textsf{\TL{} 2012}}% +} + +\author{Karl Berry, editor \\[3mm] + \url{http://tug.org/texlive/} + } + +\date{June 2012} + +\maketitle + +\begin{multicols}{2} +\tableofcontents +%\listoftables +\end{multicols} + +\section{Introduction} +\label{sec:intro} + +\subsection{\TeX\ Live and the \TeX\ Collection} + +This document describes the main features of the \TL{} software +distribution\Dash \TeX{} and related programs for \GNU/Linux +and other Unix flavors, \MacOSX, and Windows systems. + +You may have acquired \TL{} by downloading, or on the \TK{} \DVD, which +\TeX{} user groups distribute among their members, or in other ways. +Section \ref{sec:tl-coll-dists} briefly describes the contents of the +\DVD. Both \TL{} and the \TK{} are cooperative efforts by the \TeX{} +user groups. This document mainly describes \TL{} itself. + +\TL{} includes executables for \TeX{}, \LaTeXe{}, \ConTeXt, +\MF, \MP, \BibTeX{} and many other programs; an extensive collection +of macros, fonts and documentation; and support for typesetting in +many different scripts from around the world. + +For a brief summary of the major changes in this edition of \TL{}, +see the end of the document, section~\ref{sec:history} +(\p.\pageref{sec:history}). + + +\htmlanchor{platforms} +\subsection{Operating system support} +\label{sec:os-support} + +\TL{} contains binaries for many Unix-based platforms, including +\GNU/Linux, \MacOSX, and Cygwin. The included sources can be compiled +on platforms for which we do not provide binaries. + +As to Windows: Windows \acro{XP} and later are supported. Windows~2000 +will probably still mostly work. There are no special 64-bit +executables for Windows, but the 32-bit executables should run on 64-bit +systems. + +See section~\ref{sec:tl-coll-dists} for alternate solutions +for Windows and \MacOSX. + +\subsection{Basic installation of \protect\TL{}} +\label{sec:basic} + +You can install \TL{} either from \DVD{} or over the Internet +(\url{http://tug.org/texlive/acquire.html}). The net installer itself is +small, and downloads everything requested from the Internet. + +The \DVD{} installer lets you install to a local disk. You cannot run +\TL{} directly from the \TK{} \DVD{} (or its \code{.iso} image), but you +can prepare a runnable installation on, e.g., a \USB{} stick (see +section~\ref{sec:portable-tl}). Installation is described in later +sections (\p.\pageref{sec:install}), but here is a quick start: + +\begin{itemize*} + +\item The installation script is named \filename{install-tl}. It can + operate in a ``wizard mode'' given the option \code{-gui=wizard} + (default for Windows), a text mode given \code{-gui=text} (default for + everything else), and an expert \GUI{} mode given \code{-gui=perltk}. + +\item One of the installed items is the `\TL\ Manager' program, + named \prog{tlmgr}. Like the installer, it can be used in both \GUI{} + mode and in text mode. You can use it to install and uninstall + packages and do various configuration tasks. + +\end{itemize*} + + +\htmlanchor{security} +\subsection{Security considerations} +\label{sec:security} + +To the best of our knowledge, the core \TeX\ programs themselves are +(and always have been) extremely robust. However, the contributed +programs in \TeX\ Live may not reach the same level, despite everyone's +best efforts. As always, you should be careful when running programs on +untrusted input; for maximum safety, use a new subdirectory. + +This need for care is especially urgent on Windows, since in general +Windows finds programs in the current directory before anything else, +regardless of the search path. This opens up a wide variety of possible +attacks. We have closed many holes, but undoubtedly some remain, +especially with third-party programs. Thus, we recommend checking for +suspicious files in the current directory, especially executables +(binaries or scripts). Ordinarily they should not be present, and +definitely should not normally be created by merely processing a document. + +Finally, \TeX\ (and its companion programs) are able to write files when +processing documents, a feature that can also be abused in a wide +variety of ways. Again, processing unknown documents in a new +subdirectory is the safest bet. + + +\subsection{Getting help} +\label{sec:help} + +The \TeX{} community is active and friendly, and most serious questions +end up getting answered. However, the support is informal, done by +volunteers and casual readers, so it's especially important that you do +your homework before asking. (If you prefer guaranteed commercial +support, you can forgo \TL{} completely and purchase a vendor's system; +\url{http://tug.org/interest.html#vendors} has a list.) + +Here is a list of resources, approximately in the order we recommend +using them: + +\begin{description} +\item [Getting Started] If you are new to \TeX, the web page +\url{http://tug.org/begin.html} gives a brief introduction to the system. + +\item [\TeX{} \acro{FAQ}] The \TeX{} \acro{FAQ} is a huge compendium + of answers to all sorts of questions, from the most basic to the + most arcane. It is included on \TL{} in + \OnCD{texmf-dist/doc/generic/FAQ-en/html/index.html}, and is available + on the Internet through \url{http://www.tex.ac.uk/faq}. Please + check here first. + +\item [\TeX{} Catalogue] If you are looking for a specific package, +font, program, etc., the \TeX{} Catalogue is the place to look. It is a +huge collection of all \TeX{}-related items. See +\url{http://mirror.ctan.org/help/Catalogue/}. + +\item [\TeX{} Web Resources] The web page +\url{http://tug.org/interest.html} has many \TeX{}-related links, in +particular for numerous books, manuals, and articles on all aspects of +the system. + +\item [support archives] The two principal support forums are the +Usenet newsgroup \url{news:comp.text.tex} and the mailing list +\email{texhax@tug.org}. Their archives have years of past +questions and answers for your searching pleasure, via +\url{http://groups.google.com/group/comp.text.tex/topics} and +\url{http://tug.org/mail-archives/texhax}, respectively. And a general web +search, for example on \url{http://google.com}, never hurts. + +\item [asking questions] If you cannot find an answer, you can post to +\dirname{comp.text.tex} through Google or your newsreader, or to +\email{texhax@tug.org} through email. But before you post, +\emph{please} read this \acro{FAQ} entry, to maximize +your chances of getting a useful answer: +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. +Also worth mentioning are the \LaTeX{} Community site at +\url{http://www.latex-community.org/} and its forum +\url{http://www.latex-community.org/forum/}, and +\TeX\ StackExchange at \url{http://tex.stackexchange.com/}. + +\item [\TL{} support] If you want to report a bug or have +suggestions or comments on the \TL{} distribution, installation, or +documentation, the mailing list is \email{tex-live@tug.org}. However, +if your question is about how to use a particular program included in +\TL{}, please write to that program's maintainer or +mailing list. Often running a program with the \code{-{}-help} option +will provide a bug reporting address. + +\end{description} + +The other side of the coin is helping others who have questions. Both +\dirname{comp.text.tex} and \code{texhax} are open to anyone, so feel +free to join, start reading, and help out where you can. + + +% don't use \TL so the \uppercase in the headline works. Also so +% tex4ht ends up with the right TeX. Likewise the \protect's. +\section{Overview of \protect\TeX\protect\ Live} +\label{sec:overview-tl} + +This section describes the contents of \TL{} and the \TK{} of which it +is a part. + +\subsection{The \protect\TeX\protect\ Collection: \TL, pro\TeX{}t, Mac\TeX} +\label{sec:tl-coll-dists} + +The \TK{} \DVD{} comprises the following: + +\begin{description} + +\item [\TL] A complete \TeX{} system to be installed to disk. Its home +page is \url{http://tug.org/texlive/}. + +\item [Mac\TeX] for \MacOSX, this adds a native \MacOSX\ installer and other +Mac applications to \TL{}. Its home page is +\url{http://tug.org/mactex/}. + +\item [pro\TeX{}t] An enhancement of the \MIKTEX\ distribution for Windows, +\ProTeXt\ adds a few extra tools to \MIKTEX, and simplifies +installation. It is entirely independent of \TL{}, and has its own +installation instructions. The \ProTeXt\ home page is +\url{http://tug.org/protext}. + +\item [CTAN] A snapshot of the \CTAN{} repository (\url{http://www.ctan.org}). + +\item [\texttt{texmf-extra}] A directory with assorted additional packages. + +\end{description} + +\CTAN{}, \pkgname{protext}, and \dirname{texmf-extra} do not +necessarily follow the same copying conditions as \TL{}, so be careful +when redistributing or modifying. + + +\subsection{Top level \TL{} directories} +\label{sec:tld} + +Here is a brief listing and description of the top level directories in a +\TL{} installation. + +\begin{ttdescription} +\item[bin] The \TeX{} system programs, arranged by platform. +% +\item[readme-*.dir] Quick overview and useful links for \TL{}, +in various languages, in both \HTML{} and plain text. +% +\item[source] The source to all included programs, including the main + \Webc{}-based \TeX{} distributions. +% +\item[texmf] See \dirname{TEXMFMAIN} below. +% +\item[texmf-dist] See \dirname{TEXMFDIST} below. +% +\item[tlpkg] Scripts, programs and data for managing the + installation, and special support for Windows. +\end{ttdescription} + +In addition to the directories above, the installation scripts and +\filename{README} files (in various languages) are at the top level of +the distribution. + +For documentation, the comprehensive links in the top-level file +\OnCD{doc.html} may be helpful. The documentation for the programs +(manuals, man pages, Info files) is in \dirname{texmf/doc}. The +documentation for \TeX\ packages and formats is in +\dirname{texmf-dist/doc}. You can use the \cmdname{texdoc} program to +find any documentation wherever it is located. + +This \TL\ documentation itself is in \dirname{texmf/doc/texlive}, +available in several languages: + +\begin{itemize*} +\item{Czech/Slovak:} \OnCD{texmf/doc/texlive/texlive-cz} +\item{German:} \OnCD{texmf/doc/texlive/texlive-de} +\item{English:} \OnCD{texmf/doc/texlive/texlive-en} +\item{French:} \OnCD{texmf/doc/texlive/texlive-fr} +\item{Italian:} \OnCD{texmf/doc/texlive/texlive-it} +\item{Polish:} \OnCD{texmf/doc/texlive/texlive-pl} +\item{Russian:} \OnCD{texmf/doc/texlive/texlive-ru} +\item{Serbian:} \OnCD{texmf/doc/texlive/texlive-sr} +\item{Simplified Chinese:} \OnCD{texmf/doc/texlive/texlive-zh-cn} +\end{itemize*} + +\subsection{Overview of the predefined texmf trees} +\label{sec:texmftrees} + +This section lists the predefined variables specifying the texmf trees +used by the system, and their intended purpose, and the default layout +of \TL{}. The command \texttt{tlmgr~conf} shows the values of these +variables, so that you can easily find out how they map to particular +directories in your installation. + +All of the trees, including the personal ones, should follow the \TeX\ +Directory Structure (\TDS, \url{http://tug.org/tds}), with all its +myriad subdirectories, or files may not be found. Section +\ref{sec:local-personal-macros} (\p.\pageref{sec:local-personal-macros}) +describes this in more detail. + +\begin{ttdescription} +\item [TEXMFMAIN] The tree which holds vital parts of the + system such as configuration files, helper scripts, and program + documentation. +\item [TEXMFDIST] The tree which holds the main set of macro packages, + fonts, etc. +\item [TEXMFLOCAL] The tree which administrators can use for system-wide + installation of additional or updated macros, fonts, etc. +\item [TEXMFHOME] The tree which users can use for their own individual + installations of additional or updated macros, fonts, etc. + The expansion of this variable dynamically adjusts for each user to + their own individual directory. +\item [TEXMFCONFIG] The (personal) tree used by the utilities + \verb+texconfig+, \verb+updmap+, and \verb+fmtutil+ to store modified + configuration data. +\item [TEXMFSYSCONFIG] The (site-wide) tree used by the utilities + \verb+texconfig-sys+, \verb+updmap-sys+, and \verb+fmtutil-sys+ to + store modified configuration data. +\item [TEXMFVAR] The (personal) tree used by \verb+texconfig+, + \verb+updmap+ and \verb+fmtutil+ to store (cached) runtime data such + as format files and generated map files. +\item [TEXMFSYSVAR] The (site-wide) tree used by \verb+texconfig-sys+, + \verb+updmap-sys+ and \verb+fmtutil-sys+, and also by \verb+tlmgr+, to + store (cached) runtime data such as format files and generated map files. +\item [TEXMFCACHE] The tree(s) used by \ConTeXt\ Mk\acro{IV} + to store (cached) runtime data. +\end{ttdescription} + +\noindent +The default layout is: +\begin{description} + \item[system-wide root] can span multiple \TL{} releases: + \begin{ttdescription} + \item[2011] A previous release. + \item[2012] The current release. + \begin{ttdescription} + \item [bin] ~ + \begin{ttdescription} + \item [i386-linux] \GNU/Linux binaries + \item [...] + \item [universal-darwin] \MacOSX\ binaries + \item [win32] Windows binaries + \end{ttdescription} + \item [texmf\ \ \ \ \ \ \ ] This is \envname{TEXMFMAIN}. + \item [texmf-dist\ \ ] \envname{TEXMFDIST} + \item [texmf-var \ \ ] \envname{TEXMFSYSVAR} + \item [texmf-config] \envname{TEXMFSYSCONFIG} + \end{ttdescription} + \item [texmf-local] \envname{TEXMFLOCAL}, intended to be + retained from release to release. + \end{ttdescription} + \item[user's home] (\texttt{\$HOME} or + \texttt{\%USERPROFILE\%}) + \begin{ttdescription} + \item[.texlive2011] Privately generated and configuration data + for a previous release. + \item[.texlive2012] Privately generated and configuration data + for the current release. + \begin{ttdescription} + \item [texmf-var\ \ \ ] \envname{TEXMFVAR}, \envname{TEXMFCACHE} + \item [texmf-config] \envname{TEXMFCONFIG} + \end{ttdescription} + \item[texmf] \envname{TEXMFHOME} Personal macros, etc. + \end{ttdescription} +\end{description} + + +\subsection{Extensions to \protect\TeX} +\label{sec:tex-extensions} + +Knuth's original \TeX{} itself is frozen, apart from rare bug fixes. It +is still present in \TL\ as the program \prog{tex}, and will remain so +for the foreseeable future. \TL{} contains several extended versions of +\TeX: + +\begin{description} + +\item [\eTeX] adds a set of new primitives +\label{text:etex} (related to macro expansion, character scanning, +classes of marks, additional debugging features, and more) and the +\TeXXeT{} extensions for bidirectional typesetting. In default mode, +\eTeX{} is 100\% compatible with ordinary \TeX. See +\OnCD{texmf-dist/doc/etex/base/etex_man.pdf}. + +\item [pdf\TeX] builds on the \eTeX\ extensions, adding support for +writing \acro{PDF} output as well as \dvi{}, and many non-output-related +extensions. This is the program invoked for most formats, e.g., +\prog{etex}, \prog{latex}, \prog{pdflatex}. Its web site is +\url{http://www.pdftex.org/}. See +\OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf} for the manual, and +\OnCD{texmf-dist/doc/pdftex/manual/samplepdf/samplepdf.tex} for example +usage of some of its features. + +\item [Lua\TeX] is the designated successor of pdf\TeX, +and is mostly (but not entirely) backward-compatible. It is also +intended to be a functional superset of Aleph (see below), though +technical compatibility is not intended. The incorporated Lua +interpreter (\url{http://www.lua.org/}) enables elegant solutions for +many thorny \TeX{} problems. When called as \filename{texlua}, it +functions as a standalone Lua interpreter, and is already used as such +within \TL. Its web site is \url{http://www.luatex.org/}, and the +reference manual is \OnCD{texmf-dist/doc/luatex/luatexref-t.pdf}. + +\item [\XeTeX] adds support for Unicode input and OpenType- and system +fonts, implemented using standard third-party libraries. See +\url{http://tug.org/xetex}. + +\item [\OMEGA\ (Omega)] is based on Unicode (16-bit characters), thus +supports working with almost all the world's scripts simultaneously. It +also supports so-called `\OMEGA{} Translation Processes' (\acro{OTP}s), +for performing complex transformations on arbitrary input. Omega is no +longer included in \TL{} as a separate program; only Aleph is provided: + +\item [Aleph] combines the \OMEGA\ and \eTeX\ extensions. +See \OnCD{texmf-dist/doc/aleph/base}. + +\end{description} + + +\subsection{Other notable programs in \protect\TL} + +Here are a few other commonly-used programs included in \TL{}: + +\begin{cmddescription} + +\item [bibtex, bibtex8] bibliography support. + +\item [makeindex, xindy] index support. + +\item [dvips] convert \dvi{} to \PS{}. + +\item [xdvi] \dvi{} previewer for the X Window System. + +\item [dvilj] \dvi{} drive for the HP LaserJet family. + +\item [dviconcat, dviselect] cut and paste pages +from \dvi{} files. + +\item [dvipdfmx] convert \dvi{} to \acro{PDF}, an alternative approach +to pdf\TeX\ (mentioned above). + +\item [psselect, psnup, \ldots] \PS{} utilities. + +\item [pdfjam, pdfjoin, \ldots] \acro{PDF} utilities. + +\item [texexec, texmfstart] Con\TeX{}t and \acro{PDF} processor. + +\item [tex4ht] \TeX{} to \acro{HTML} (and \acro{XML} and more) converter. + +\end{cmddescription} + + +\subsection{Fonts in \protect\TL} +\label{sec:tl-fonts} + +\TL{} comes with many high-quality scalable fonts. See +\url{http://tug.org/fonts} and +\OnCD{texmf-dist/doc/fonts/free-math-font-survey}. + + +\htmlanchor{installation} +\section{Installation} +\label{sec:install} + +\subsection{Starting the installer} +\label{sec:inst-start} + +To begin, get the \TK{} \DVD{} or download the \TL{} net installer, and +locate the installer script: \filename{install-tl} for Unix, +\filename{install-tl.bat} for Windows. See +\url{http://tug.org/texlive/acquire.html} for more information and other +methods of getting the software. + +\begin{description} +\item [Net installer:] Download from \CTAN, under +\dirname{systems/texlive/tlnet}; the url +\url{http://mirror.ctan.org/systems/texlive/tlnet} will automatically +redirect to a nearby, up-to-date, mirror. You can retrieve either +\filename{install-tl.zip} which can be used under Unix and Windows, or +the considerably smaller \filename{install-unx.tar.gz} for Unix +only. After unpacking, \filename{install-tl} and +\filename{install-tl.bat} will be in the \dirname{install-tl} +subdirectory. + +\item [\TeX{} Collection \DVD:] go to the \DVD's \dirname{texlive} +subdirectory. Under Windows, the installer normally starts automatically +when you insert the \DVD. You can get the \DVD\ by becoming a member of +a \TeX\ user group (highly recommended, +\url{http://tug.org/usergroups.html}), or purchasing it separately +(\url{http://tug.org/store}), or burning your own from the \ISO\ image. +You can also mount the \ISO\ directly on most systems. After installing +from \DVD\ or \ISO, if you want to get continuing updates from the +Internet, please see \ref{sec:dvd-install-net-updates}. + +\end{description} + +The same installer program is run, whatever the source. The most +visible difference between the two is that with the net installer, what +you end up with is the packages that are currently available. This is +in contrast to the \DVD\ and \ISO\ images, which are not updated between +the major public releases. + +\noindent +The following sections explain installer start-up in more detail. + +\subsubsection{Unix} + +Below, \texttt{>} denotes the shell prompt; user input is +\Ucom{\texttt{bold}}. +The script \filename{install-tl} is a Perl script. The simplest way +to start it on a Unix-compatible system is as follows: +\begin{alltt} +> \Ucom{cd /path/to/installer} +> \Ucom{perl install-tl} +\end{alltt} +(Or you can invoke \Ucom{perl /path/to/installer/install-tl}, or +\Ucom{./install-tl} if it stayed executable, etc.; we won't repeat all +these variations.) You may have to enlarge your terminal window so +that it shows the full text installer screen (Figure~\ref{fig:text-main}). + +To install in expert \GUI\ mode (figure~\ref{fig:gui-main}), you'll +need the \dirname{Perl/TK} module compiled with \acro{XFT} support, +which is generally the case with \GNU/Linux, but not necessarily with other +systems. Given that, you can run: +\begin{alltt} +> \Ucom{perl install-tl -gui} +\end{alltt} + +For a complete listing of the various options: +\begin{alltt} +> \Ucom{perl install-tl -help} +\end{alltt} + +\textbf{Warning about Unix permissions:} Your \code{umask} at the time +of installation will be respected by the \TL{} installer. Therefore, if +you want your installation to be usable by users other than you, make +sure your setting is sufficiently permissive, for instance, \code{umask +002}. For more information about \code{umask}, consult your system +documentation. + +\textbf{Special considerations for Cygwin:} Unlike other +Unix-compatible systems, Cygwin does not by default include all of the +prerequisite programs needed by the \TL{} installer. See +Section~\ref{sec:cygwin} for details. + + +\subsubsection{MacOSX} + +As mentioned in section~\ref{sec:tl-coll-dists}, a separate distribution +is prepared for \MacOSX, named Mac\TeX\ (\url{http://tug.org/mactex}). +We recommend using the native Mac\TeX\ installer instead of the \TL\ +installer on \MacOSX, because the native installer makes a few +Mac-specific adjustments, in particular to allow easily switching +between the various \TeX\ distributions for \MacOSX\ (Mac\TeX, Fink, +MacPorts, \ldots). + +Mac\TeX\ is firmly based on \TL, and the main \TeX\ trees are precisely +the same. It does add a few extra folders with Mac-specific +documentation and applications. + + +\subsubsection{Windows} + +If you are using the net installer, or the \DVD\ installer failed to +start automatically, double-click \filename{install-tl.bat}. +For more customization options, e.g., selection of specific package +collections, run \filename{install-tl-advanced.bat} instead. + +You can also start the installer from the command-prompt. Below, +\texttt{>} denotes the prompt; user input is \Ucom{\texttt{bold}}. If +you are in the installer directory, run just: +\begin{alltt} +> \Ucom{install-tl} +\end{alltt} + +Or you can invoke it with an absolute location, such as: +\begin{alltt} +> \Ucom{D:\bs{}texlive\bs{}install-tl} +\end{alltt} +for the \TK\ \DVD, supposing that \dirname{D:} is the optical +drive. Figure~\ref{fig:wizard-w32} displays the wizard installer, which +is the default for Windows. + +To install in text mode, use: +\begin{alltt} +> \Ucom{install-tl -no-gui} +\end{alltt} + +For a complete listing of the various options: +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} + +\begin{figure}[tb] +\begin{boxedverbatim} +Installing TeX Live 2012 from: ... +Platform: i386-linux => 'Intel x86 with GNU/Linux' +Distribution: inst (compressed) +... + Detected platform: Intel x86 with GNU/Linux + + <B> platforms: 1 out of 19 + + <S> installation scheme (scheme-full) + 84 collections out of 85, disk space required: 3091 MB + + Customizing installation scheme: + <C> standard collections + <L> language collections + + <D> directories: + TEXDIR (the main TeX directory): + /usr/local/texlive/2012 + ... + + <O> options: + [ ] use letter size instead of A4 by default + ... + + <V> set up for portable installation + +Actions: + <I> start installation to hard disk + <H> help + <Q> quit +\end{boxedverbatim} +\caption{Main text installer screen (\GNU/Linux)}\label{fig:text-main} +\end{figure} + +\begin{figure}[tb] +\tlpng{install-lnx-main}{\linewidth,trim=10 4 0 20,clip} +\caption{Expert \GUI{} installer screen (\GNU/Linux)}\label{fig:gui-main} +\end{figure} + +\begin{figure}[tb] +\tlpng{wizard-w32}{\linewidth,trim=0 4 0 0,clip} +\caption{Wizard installer screen (Windows)}\label{fig:wizard-w32} +\end{figure} + + +\htmlanchor{cygwin} +\subsubsection{Cygwin} +\label{sec:cygwin} + +The \TL{} installer supports only Cygwin 1.7. +Before beginning the installation, use Cygwin's \filename{setup.exe} program to +install the \filename{perl} and \filename{wget} packages if you have +not already done so. The following additional packages are +recommended: +\begin{itemize*} +\item \filename{fontconfig} [needed by \XeTeX] +\item \filename{ghostscript} [needed by various utilities] +\item \filename{libXaw7} [needed by \code{xdvi}] +\item \filename{ncurses} [provides the \code{clear} command used by the installer] +\end{itemize*} + + +\subsubsection{The text installer} + +Figure~\ref{fig:text-main} displays the main text mode screen under +Unix. The text installer is the default on Unix. + +This is only a command-line installer; there is no cursor support at +all. For instance, you cannot tab around checkboxes or input fields. +You just type something (case-sensitive) at the prompt and press the +Enter key, and then the entire terminal screen will be rewritten, with +adjusted content. + +The text installer interface is this primitive for a reason: it +is designed to run on as many platforms as possible, even with a +very barebones Perl. + +\subsubsection{The expert graphical installer} + +Figure~\ref{fig:gui-main} displays the expert graphical installer under +\GNU/Linux. Other than using buttons and menus, this does +not differ much from the text installer. + +This mode can be invoked explicitly with +\begin{alltt} +> \Ucom{install-tl -gui=perltk} +\end{alltt} + + +\subsubsection{The simple wizard installer} + +Under Windows, the default is to run the simplest installation method we +could devise, called the ``wizard'' installer +(figure~\ref{fig:wizard-w32}). It installs everything and asks almost +no questions. If you want to customize your setup, you should run one +of the other installers. + +This mode can be invoked explicitly with +\begin{alltt} +> \Ucom{install-tl -gui=wizard} +\end{alltt} + + +\subsection{Running the installer} +\label{sec:runinstall} + +The installer is intended to be mostly self-explanatory, but following are a +few notes about the various options and submenus. + +\subsubsection{Binary systems menu (Unix only)} +\label{sec:binary} + +\begin{figure}[tb] +\begin{boxedverbatim} +Available platforms: +=============================================================================== + a [ ] alpha-linux DEC Alpha with GNU/Linux + b [ ] amd64-freebsd x86_64 with FreeBSD + c [ ] amd64-kfreebsd x86_64 with GNU/kFreeBSD + d [ ] armel-linux ARM with GNU/Linux + e [ ] i386-cygwin Intel x86 with Cygwin + f [ ] i386-freebsd Intel x86 with FreeBSD + g [ ] i386-kfreebsd Intel x86 with GNU/kFreeBSD + h [X] i386-linux Intel x86 with GNU/Linux + i [ ] i386-solaris Intel x86 with Solaris + j [ ] mips-irix SGI IRIX + k [ ] mipsel-linux mipsel with Linux + l [ ] powerpc-aix PowerPC with AIX + m [ ] powerpc-linux PowerPC with GNU/Linux + o [ ] sparc-solaris Sparc with Solaris + p [ ] universal-darwin universal binaries for MacOSX/Darwin + s [ ] win32 Windows + t [ ] x86_64-darwin x86_64 with MacOSX/Darwin + u [ ] x86_64-linux x86_64 with GNU/Linux + v [ ] x86_64-solaris x86_64 with Solaris +\end{boxedverbatim} +\caption{Binaries menu}\label{fig:bin-text} +\end{figure} + +Figure~\ref{fig:bin-text} displays the text mode binaries menu. By +default, only the binaries for your current platform will be installed. +From this menu, you can select installation of binaries for other +platforms as well. This can be useful if you are sharing a \TeX\ +tree across a network of heterogenous machines, or for a dual-boot +system. + +\subsubsection{Selecting what is to be installed} +\label{sec:components} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Select scheme: +=============================================================================== + a [X] full scheme (everything) + b [ ] medium scheme (small + more packages and languages) + c [ ] small scheme (basic + xetex, metapost, a few languages) + d [ ] basic scheme (plain and latex) + e [ ] minimal scheme (plain only) + f [ ] ConTeXt scheme + g [ ] GUST TeX Live scheme + h [ ] teTeX scheme (more than medium, but nowhere near full) + i [ ] XML scheme + j [ ] custom selection of collections +\end{boxedverbatim} +\caption{Scheme menu}\label{fig:scheme-text} +\end{figure} + +Figure~\ref{fig:scheme-text} displays the \TL\ scheme menu; from here, +you choose a ``scheme'', which is an overall set of package collections. +The default \optname{full} scheme installs everything available. This +is recommended, but you can also choose the \optname{basic} scheme for a +small system, \optname{minimal} for testing purposes, and +\optname{medium} or \optname{teTeX} to get something in between. There +are also various specialized and country-specific schemes. + +\begin{figure}[tb] +\tlpng{stdcoll}{.7\linewidth,trim=0 4 0 0,clip} +\caption{Collections menu}\label{fig:collections-gui} +\end{figure} + +You can refine your scheme selection with the `standard collections' and +`language collections' menus (figure~\ref{fig:collections-gui}, shown in +\GUI\ mode for a change). + +Collections are one level more detailed than schemes\Dash in essence, a +scheme consists of several collections, a collection consists of one or +more packages, and a package (the lowest level grouping in \TL) contains +the actual \TeX\ macro files, font files, and so on. + +If you want more control than the collection menus provide, you can use +the \TeX\ Live Manager (\prog{tlmgr}) program after installation (see +section~\ref{sec:tlmgr}); using that, you can control the installation +at the package level. + +\subsubsection{Directories} +\label{sec:directories} + +The default layout is described in section~\ref{sec:texmftrees}, +\p.\pageref{sec:texmftrees}. The default location of +\dirname{TEXDIR} is \dirname{/usr/local/texlive/2012} on Unix +and |%SystemDrive%\texlive\2012| on Windows. + +The main reason to change this default is if you lack write permission +for the default location. You don't have to be root or administrator to +install \TL, but you do need write access to the target directory. + +A reasonable alternative choice is a directory under your home directory, +especially if you will be the sole user. Use +`|~|' to indicate this, as in `|~/texlive/2012|'. + +We recommend including the year in the name, to enable keeping different +releases of \TL{} side by side. (You may wish to make a +version-independent name such as \dirname{/usr/local/texlive-cur} via a +symbolic link, which you can then update after testing the new release.) + +Changing \dirname{TEXDIR} in the installer will also change +\dirname{TEXMFLOCAL}, \dirname{TEXMFSYSVAR} and +\dirname{TEXMFSYSCONFIG}. + +\dirname{TEXMFHOME} is the recommended location for personal +macro files or packages. The default value is |~/texmf|. In +contrast to \dirname{TEXDIR}, here a |~| is preserved in the +newly-written configuration files, since it usefully refers to the home +directory of any individual running \TeX. It expands to +\dirname{$HOME} on Unix and \verb|%USERPROFILE%| on Windows. Special +redundant note: \envname{TEXMFHOME}, like all trees, must be organized +according to the \TDS, or files may not be found. + +\dirname{TEXMFVAR} is the location for storing most cached runtime data +specific to each user. \dirname{TEXMFCACHE} is used for that purpose by +\ConTeXt\ Mk\acro{IV} (see section~\ref{sec:context-mkiv}, +\p.\pageref{sec:context-mkiv}). + + +\subsubsection{Options} +\label{sec:options} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Options setup: +=============================================================================== + <P> use letter size instead of A4 by default: [ ] + <E> execution of restricted list of programs: [X] + <F> create format files: [X] + <D> install font/macro doc tree: [X] + <S> install font/macro source tree: [X] + <L> create symlinks in standard directories: [ ] + binaries to: + manpages to: + info to: + <Y> after installation, get package updates from CTAN: [X] +\end{boxedverbatim} +\caption{Options menu (Unix)}\label{fig:options-text} +\end{figure} + +Figure~\ref{fig:options-text} shows the text mode options menu. +More info on each: + +\begin{description} +\item[use letter size instead of A4 by default:] The default paper + size selection. Of course, individual documents can and should + specify a specific paper size, if desired. + +\item[execution of restricted list of programs:] As of \TL\ 2010, + execution of a few external programs is allowed by default. The (very + short) list of allowed programs is given in the \filename{texmf.cnf}. + See the 2010 news (section~\ref{sec:2010news}) for more details. + +\item[create format files:] Although unnecessary format files + take time to generate and disk space to store, it is still recommended + to leave this option checked: if you don't, then format files will be + generated in people's private \dirname{TEXMFVAR} tree as they are + needed. In that location, they will not be updated automatically if + (say) binaries or hyphenation patterns are updated in the + installation, and thus you could end up with incompatible format files. + +\item[install font/macro \ldots\ tree:] These options allow you to omit + downloading/installing the documentation and source files present in + most packages. Not recommended. + +\item[create symlinks in standard directories:] + This option (Unix only) bypasses the need to change environment + variables. Without this option, \TL{} directories usually have to be + added to \envname{PATH}, \envname{MANPATH} and \envname{INFOPATH}. You + will need write permissions to the target directories. It is strongly + advised \emph{not} to overwrite a \TeX\ system that came with your + system with this option. It is intended primarily for accessing the + \TeX\ system through directories that are already known to users, such + as \dirname{/usr/local/bin}, which don't already contain any \TeX\ + files. + +\item[after installation \ldots\ \CTAN:] When installing from \DVD, this + option is enabled by default, since usually one wants to take any + subsequent package updates from the \CTAN\ area that is updated + throughout the year. The only likely reason to disable it is if you + install only a subset from the \DVD\ and plan to augment the + installation later. In any case, the package repository for the + installer, and for updates after installation, can be set + independently as needed; see section~\ref{sec:location} and + section~\ref{sec:dvd-install-net-updates}. +\end{description} + +When all the settings are to your liking, you can type `I' to start the +installation process. When it is done, skip to +section~\ref{sec:postinstall} to read what else needs to be done, if +anything. + +\subsection{Command-line install-tl options} +\label{sec:cmdline} + +Type +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} +for a listing of command-line options. Either |-| or |--| can be used +to introduce option names. These are the most common ones: + +\begin{ttdescription} +\item[-gui] If possible, use the \GUI{} installer. This requires the + Perl/Tk module (\url{http://tug.org/texlive/distro.html#perltk}) + compiled with \acro{XFT} support; if Perl/Tk is not available, + installation continues in text mode. + +\item[-no-gui] Force using the text mode installer, even under + Windows. + +\item[-lang {\sl LL}] Specify the installer interface + language as a standard (usually two-letter) code. The installer tries + to automatically determine the right language but if it fails, or if + the right language is not available, then it uses English as a + fallback. Run \code{install-tl --help} to get the list of available + languages. + +\htmlanchor{opt-in-place} +\item[-in-place] If you already have an rsync, svn, or other copy of + \TL{} (see \url{http://tug.org/texlive/acquire-mirror.html}) then this + option will use what you've got, as-is, and do only the necessary + post-install. Be warned that the file \filename{tlpkg/texlive.tlpdb} + may be overwritten; saving it is your responsibility. Also, package + removal has to be done manually. Do not use this unless you know + what you are doing. This option cannot be toggled via the + installer interface. + +\item[-portable] Install for portable use on, e.g., a \USB{} stick. + Also selectable from within the text installer with the \code{V} + command, and from the \GUI{} installer. See + section~\ref{sec:portable-tl}. + +\item[-profile {\sl file}] Load the installation profile \var{file} and + do the installation with no user interaction. The installer always + writes a file \filename{texlive.profile} to the \dirname{tlpkg} + subdirectory of your installation. That file can be given as the + argument to redo the exact same installation on a different system, + for example. Alternatively, you can use a custom profile, most easily + created by starting from a generated one and changing values, or an + empty file, which will take all the defaults. + +\item [-repository {\sl url-or-directory}] Specify package + repository from which to install; see following. +\end{ttdescription} + + +\subsubsection{The \optname{-repository} option} +\label{sec:location} + +The default network package repository is a \CTAN{} mirror chosen +automatically via \url{http://mirror.ctan.org}. + +If you want to override that, the location value can be a url starting +with \texttt{ftp:}, \texttt{http:}, or \texttt{file:/}, or a plain +directory path. (When giving an \texttt{http:}\ or \texttt{ftp:}\ +location, trailing `\texttt{/}' characters and/or a trailing +`\texttt{/tlpkg}' component are ignored.) + +For example, you could choose a particular \CTAN\ mirror with something +like: \url{http://ctan.example.org/tex-archive/systems/texlive/tlnet/}, +substituting a real hostname and its particular top-level \CTAN\ path +for |ctan.example.org/tex-archive|. The list of \CTAN\ mirrors is +maintained at \url{http://ctan.org/mirrors}. + +If the given argument is local (either a path or a \texttt{file:/} url), +compressed files in an \dirname{archive} subdirectory of the repository +path are used (even if uncompressed files are available as well). + + +\subsection{Post-install actions} +\label{sec:postinstall} + +Some post-install may be required. + + +\subsubsection{Environment variables for Unix} +\label{sec:env} + +If you elected to create symlinks in standard directories (described in +section~\ref{sec:options}), then there is no need to edit environment +variables. Otherwise, on Unix systems, the directory of the binaries +for your platform must be added to the search path. (On Windows, the +installer takes care of this.) + +Each supported platform has its own subdirectory under +\dirname{TEXDIR/bin}. See figure~\ref{fig:bin-text} for the list of +subdirectories and corresponding platforms. + +Optionally, you can also add the documentation man and Info directories +to their respective search paths, if you want the system tools to find +them. The man pages might be found automatically after the addition to +\envname{PATH}. + +For Bourne-compatible shells such as \prog{bash}, and using Intel x86 +GNU/Linux and a default directory setup as an example, the file to edit +might be \filename{$HOME/.profile} (or another file sourced by +\filename{.profile}, and the lines to add would look like this: + +\begin{sverbatim} +PATH=/usr/local/texlive/2012/bin/i386-linux:$PATH; export PATH +MANPATH=/usr/local/texlive/2012/texmf/doc/man:$MANPATH; export MANPATH +INFOPATH=/usr/local/texlive/2012/texmf/doc/info:$INFOPATH; export INFOPATH +\end{sverbatim} + +For csh or tcsh, the file to edit is typically \filename{$HOME/.cshrc}, and +the lines to add might look like: + +\begin{sverbatim} +setenv PATH /usr/local/texlive/2012/bin/i386-linux:$PATH +setenv MANPATH /usr/local/texlive/2012/texmf/doc/man:$MANPATH +setenv INFOPATH /usr/local/texlive/2012/texmf/doc/info:$INFOPATH +\end{sverbatim} + +If you already have settings somewhere in your ``dot'' files, naturally +the \TL\ directories should simply be merged in as appropriate. + + +\subsubsection{Environment variables: Global configuration} +\label{sec:envglobal} + +If you want to make these changes globally, or for a user newly added to +the system, then you are on your own; there is just too much variation +between systems in how and where these things are configured. + +Our two hints are: 1)~you may want to check for a file +\filename{/etc/manpath.config} and, if present, add lines such as + +\begin{sverbatim} +MANPATH_MAP /usr/local/texlive/2012/bin/i386-linux \ + /usr/local/texlive/2012/texmf/doc/man +\end{sverbatim} + +And 2)~check for a file \filename{/etc/environment} which may define the +search path and other default environment variables. + +In each (Unix) binary directory, we also create a symbolic link named +\code{man} to the directory \dirname{texmf/doc/man}. Some \code{man} +programs, such as the standard \MacOSX\ \code{man}, will automatically +find that, obviating the need for any man page setup. + + +\subsubsection{Internet updates after \DVD\ installation} +\label{sec:dvd-install-net-updates} + +If you installed \TL\ from \DVD\ and then wish to get updates from the +Internet, you need to run this command---\emph{after} you've updated +your search path (as described in the previous section): + +\begin{alltt} +> \Ucom{tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet} +\end{alltt} + +This tells \cmdname{tlmgr} to use a nearby \CTAN\ mirror for future updates. +This is done by default when installing from \DVD, via the option +described in section~\ref{sec:options}. + +If there are problems with the automatic mirror selection, you can +specify a particular \CTAN\ mirror from the list at +\url{http://ctan.org/mirrors}. Use the exact path to the +\dirname{tlnet} subdir on that mirror, as shown above. + + +\htmlanchor{xetexfontconfig} % keep historical anchor working +\htmlanchor{sysfontconfig} +\subsubsection{System font configuration for \XeTeX\ and Lua\TeX} +\label{sec:font-conf-sys} + +\XeTeX\ and Lua\TeX\ can use any font installed on the system, not just +those in the \TeX\ trees. They do these via related but not identical +methods. + +On Windows, fonts shipped with \TL\ are made available to \XeTeX\ +automatically. But if you have installed the \filename{xetex} package +on a Unix-compatible system, you need to configure your system to be +able to find the fonts shipped with \TL\ via system name lookup, and not +just filename lookup. + +To facilitate this, when the \pkgname{xetex} package is installed +(either at initial installation or later), the necessary configuration +file is created in +\filename{TEXMFSYSVAR/fonts/conf/texlive-fontconfig.conf}. + +To set up the \TL{} fonts for system-wide use (assuming you have +suitable privileges), proceed as follows: +\begin{enumerate*} +\item Copy the \filename{texlive-fontconfig.conf} file to +\dirname{/etc/fonts/conf.d/09-texlive.conf}. +\item Run \Ucom{fc-cache -fsv}. +\end{enumerate*} + +If you do not have sufficient privileges to carry out the steps above, +or if you simply want to make the \TL{} fonts available to one user, +you can do the following: +\begin{enumerate*} +\item Copy the \filename{texlive-fontconfig.conf} file to + \filename{~/.fonts.conf}, where \filename{~} is your home directory. +\item Run \Ucom{fc-cache -fv}. +\end{enumerate*} + +You can run \code{fc-list} to see the names of the system fonts. The +incantation \code{fc-list : family style file spacing} (all arguments +are literal strings) shows generally interesting information. + + +\subsubsection{\ConTeXt{} Mark IV} +\label{sec:context-mkiv} + +Both the `old' \ConTeXt{} (Mark \acro{II}) and the `new' \ConTeXt{} +(Mark \acro{IV}) should run out of the box after \TL{} installation, +and should need no special attention as long as you stick to +using \verb+tlmgr+ for updates. + +However, because \ConTeXt{} Mk\acro{IV} does not use the kpathsea +library, some setup will be required whenever you install new +files manually (without using \verb+tlmgr+). After each such +installation, each Mk\acro{IV} user must run: +\begin{sverbatim} +context --generate +\end{sverbatim} +to refresh the \ConTeXt{} disk cache data. +The resulting files are stored under \code{TEXMFCACHE}. +whose default value in \TL\ is \verb+TEXMSYSVAR;TEXMFVAR+. + +\ConTeXt\ Mk\acro{IV} will read from +all paths mentioned in \verb+TEXMFCACHE+, and write to the first +path that is writable. While reading, the last found match will +take precedence in the case of duplicated cache data. + +For more information, see +\url{http://wiki.contextgarden.net/Running_Mark_IV}. + + +\subsubsection{Integrating local and personal macros} +\label{sec:local-personal-macros} + +This is already mentioned implicitly in section~\ref{sec:texmftrees}: +\dirname{TEXMFLOCAL} (by default, +\dirname{/usr/local/texlive/texmf-local} or +\verb|%SystemDrive%\texlive\texmf-local| on Windows) +is intended for system-wide local fonts and macros; and +\dirname{TEXMFHOME} (by default, \dirname{$HOME/texmf} or +\verb|%USERPROFILE%\texmf|), is for personal fonts and macros. These +directories are intended to stick around from release to release, and +have their content seen automatically by a new \TL{} release. +Therefore, it is best to refrain from changing the definition of +\dirname{TEXMFLOCAL} to be too far away from the main \TL{} directory, +or you will need to manually change future releases. + +For both trees, files should be placed in their proper \TeX\ Directory +Structure (\TDS) subdirectories; see \url{http://tug.org/tds} or consult +\filename{texmf/web2c/texmf.cnf}. For instance, a \LaTeX{} class file or +package should be placed in \dirname{TEXMFLOCAL/tex/latex} or +\dirname{TEXMFHOME/tex/latex}, or a subdirectory thereof. + +\dirname{TEXMFLOCAL} requires an up-to-date filename database, or files +will not be found. You can update it with the command +\cmdname{mktexlsr} or use the `Reinit file database' button on the +configuration tab of the \TeX\ Live Manager \GUI. + +By default, each of these variables is defined to be a single directory, +as shown. This is not a hard-and-fast requirement. If you need to +easily switch back and forth between different versions of large +packages, for example, you can maintain multiple trees for your own +purposes. This is done by setting \dirname{TEXMFHOME} to the +list of directories, within braces, separated by commas: + +\begin{verbatim} + TEXMFHOME = {/my/dir1,/mydir2,/a/third/dir} +\end{verbatim} + +Section~\ref{sec:brace-expansion} describes brace expansion further. + + +\subsubsection{Integrating third-party fonts} + +This is unfortunately a messy topic. Forget about it unless you want to +delve into many details of the \TeX{} installation. Don't forget to +check first what you get for free: see section~\ref{sec:tl-fonts}. + +A possible alternative is to use \XeTeX\ or Lua\TeX\ (see +section~\ref{sec:tex-extensions}), which let you use operating system +fonts without any installation in \TeX. + +If you do need to do this, see +\url{http://tug.org/fonts/fontinstall.html} for our best effort at +describing the procedure. If you rigorously maintain your local font +maps, \texttt{tlmgr generate updmap} \textit{may} be useful, notably in +moving from release to release; see the \cmdname{tlmgr} documentation. + + +\subsection{Testing the installation} +\label{sec:test-install} + +After installing \TL{} as best you can, you naturally want to test +it out, so you can start creating beautiful documents and\slash or fonts. + +This section gives some basic procedures for testing that the new system +is functional. We give Unix commands here; under \MacOSX{} and Windows, +you're more likely to run the tests through a graphical interface, but +the principles are the same. + +\begin{enumerate} + +\item Make sure that you can run the \cmdname{tex} program in the first +place: +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.1415926 (TeX Live ...) +kpathsea version 6.0.1 +Copyright ... D.E. Knuth. +... +\end{alltt} +If this comes back with `command not found' instead of version and +copyright information, or with an older version, most likely you don't +have the correct \dirname{bin} subdirectory in your \envname{PATH}. See +the environment-setting information on \p.\pageref{sec:env}. + +\item Process a basic \LaTeX{} file: +\begin{alltt} +> \Ucom{latex sample2e.tex} +pdfTeX 3.1415926-... (TeX Live ...) +... +Output written on sample2e.dvi (3 pages, 7484 bytes). +Transcript written on sample2e.log. +\end{alltt} +If this fails to find \filename{sample2e.tex} or other files, most +likely you have interference from old environment variables or +configuration files; we recommend unsetting all \TeX-related environment +variables for a start. (For a deep analysis, you can ask \TeX{} to +report on exactly what it is searching for, and finding; see ``Debugging +actions'' on page~\pageref{sec:debugging}.) + +\item Preview the result online: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} # Unix +> \Ucom{dviout sample2e.dvi} # Windows +\end{alltt} +You should see a new window with a nice document explaining some of the +basics of \LaTeX{}. (Well worth reading, by the way, if you're new to +\TeX.) You do have to be running under X for \cmdname{xdvi} to work; if +you're not, or your \envname{DISPLAY} environment variable is set +incorrectly, you'll get an error \samp{Can't open display}. + +\item Create a \PS{} file for printing or display: +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item Create a \acro{PDF} file instead of \dvi{}; this processes the +\filename{.tex} file and writes \acro{PDF} directly: +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item Preview the \acro{PDF} file: +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{or:} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} +Neither \cmdname{gv} nor \cmdname{xpdf} are included in \TL{}, so you +must install them separately. See \url{http://www.gnu.org/software/gv} +and \url{http://www.foolabs.com/xpdf}, respectively. There are plenty +of other \acro{PDF} viewers, too. For Windows, we recommend trying +Sumatra PDF (\url{http://blog.kowalczyk.info/software/sumatrapdf}). + +\item Standard test files you may find useful in addition to +\filename{sample2e.tex}: + +\begin{ttdescription} +\item [small2e.tex] A simpler document than \filename{sample2e}, to +reduce the input size if you're having troubles. +\item [testpage.tex] Test if your printer introduces any offsets. +\item [nfssfont.tex] For printing font tables and tests. +\item [testfont.tex] Also for font tables, but using plain \TeX{}. +\item [story.tex] The most canonical (plain) \TeX{} test file of all. +You must type \samp{\bs bye} to the \code{*} prompt after \samp{tex +story.tex}. +\end{ttdescription} + +\item If you have installed the \filename{xetex} package, you can test +its access to system fonts as follows: +\begin{alltt} +> \Ucom{xetex opentype-info.tex} +This is XeTeX, Version 3.1415926\dots +... +Output written on opentype-info.pdf (1 page). +Transcript written on opentype-info.log. +\end{alltt} +(Or the same for \filename{luatex}.) + +If you get an error message saying ``Invalid fontname `Latin Modern +Roman/ICU'\dots'', then you need to configure your system so that +\XeTeX{} can find the fonts shipped with \TL. See +Section~\ref{sec:font-conf-sys}. + +\end{enumerate} + +\subsection{Links for additional downloadable software} + +If you are new to \TeX{}, or otherwise need help with actually writing +\TeX{} or \LaTeX{} documents, please visit +\url{http://tug.org/begin.html} for some introductory resources. + +Links for some other tools you may consider installing: +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.perl.org/} with + supplementary packages from \acro{CPAN}, \url{http://www.cpan.org/} +\item[ImageMagick] \url{http://www.imagemagick.com}, for graphics + processing and conversion +\item[NetPBM] \url{http://netpbm.sourceforge.net/}, also for graphics. + +\item[\TeX-oriented editors] There is a wide choice, and it is a matter of the + user's taste. Here is a selection in alphabetical order (a few + here are for Windows only). + \begin{itemize*} + \item \cmdname{GNU Emacs} is available natively under Windows, see + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html}. + \item \cmdname{Emacs with Auc\TeX} for Windows is available from \CTAN. + The AuC\TeX\ home page is \url{http://www.gnu.org/software/auctex}. + \item \cmdname{LEd} is available from + \url{http://mirror.ctan.org/support/LEd}. + \item \cmdname{SciTE} is available from + \url{http://www.scintilla.org/SciTE.html}. + \item \cmdname{Texmaker} is free software, available from + \url{http://www.xm1math.net/texmaker}. + \item \cmdname{TexMakerX} is a fork of \cmdname{Texmaker} with + additional features; \url{http://texmakerx.sourceforge.net}. + \item \cmdname{TeXnicCenter} is free software, available from + \url{http://www.texniccenter.org} and in the pro\TeX{}t distribution. + \item \cmdname{TeXworks} is free software, available from + \url{http://tug.org/texworks} and installed for Windows and + \MacOSX\ as part of \TL. + \item \cmdname{Vim} is free software, available from + \url{http://www.vim.org}. + \item \cmdname{WinEdt} is shareware available though + \url{http://tug.org/winedt} or \url{http://www.winedt.com}. + \item \cmdname{WinShell} is available from \url{http://www.winshell.de}. + \end{itemize*} +\end{description} +For a much longer list of packages and programs, see +\url{http://tug.org/interest.html}. + + +\section{Specialized installations} + +The previous sections described the basic installation process. Here we +turn to some specialized cases. + +\htmlanchor{tlsharedinstall} +\subsection{Shared-user (or cross-machine) installations} +\label{sec:sharedinstall} + +\TL{} has been designed to be sharable between different users on one +system, and/or between different systems on a network. With a standard +directory layout, no hard paths are configured: the locations for files +needed by \TL{} programs are found relative to the programs. You can +see this in the principal configuration file +\filename{$TEXMFMAIN/web2c/texmf.cnf}, which contains lines such as +\begin{sverbatim} +TEXMFMAIN = $SELFAUTOPARENT/texmf +... +TEXMFLOCAL = $SELFAUTOPARENT/../texmf-local +\end{sverbatim} +This means that adding the directory for \TL{} executables for their +platform to their search path is sufficient to get a working setup. + +By the same token, you can also install \TL{} locally and then move +the entire hierarchy afterwards to a network location. + +For Windows, a sample network installation script named +\filename{w32client} can be downloaded through +\url{http://tug.org/texlive/w32client.html}. It creates settings and +menu shortcuts for using an existing \TL{} installation on a \acro{LAN}. +It also registers an uninstaller \filename{w32unclient}, available +in the same zip file. See the web page for more information. + + +\htmlanchor{tlportable} +\subsection{Portable (\USB{}) installations} +\label{sec:portable-tl} + +The \code{-portable} installer option (or \code{V} command in the text +installer or corresponding \GUI{} option) creates a completely +self-contained \TL{} installation under a common root and forgoes system +integration. You can create such an installation directly on a \USB{} +stick, or copy it to a \USB{} stick afterwards. + +To run \TeX\ using this portable installation, you need to add the +appropriate binary directory to the search path during your terminal +session, as usual. On Windows, you can double-click +\filename{tl-tray-menu} at the root of the installation to choose +between a few common tasks, as shown in this screenshot: + +\medskip +\tlpng{tray-menu}{4cm} +\smallskip + +\noindent The `More\ldots' entry explains how you can customize this menu. + + +\htmlanchor{tlisoinstall} +\subsection{\ISO\ (or \DVD) installations} +\label{sec:isoinstall} + +If you don't need to update or otherwise modify your installation often, +and\slash or have several systems on which to use \TL{}, it may be +convenient to create an \ISO\ of your \TL{} installation, because: + +\begin{itemize} +\item Copying an \ISO\ between different computers is much + faster than copying a normal installation. +\item If you are dual-booting between different operating systems + and want them to share a \TL{} installation, an \ISO + installation is not tied to the idiosyncrasies and limitations of + other mutually supported filesystems (\acro{FAT32}, \acro{NTFS}, + \acro{HFS+}). +\item Virtual machines can simply mount such an \ISO. +\end{itemize} + +Of course you can also burn an \ISO\ to \DVD, if that is useful for you. + +Desktop \GNU/Linux/Unix systems, including \MacOSX, are able to mount an +\ISO. Apart from that, nothing changes compared to a normal hard disk +installation, see section \ref{sec:env}. + +When preparing such an \ISO\ installation, it is best to omit the +subdirectory for the release year, and have +\filename{texmf-local} at the same level as the other trees +(\filename{texmf}, \filename{texmf-dist}, etc.). You can do this with +the normal directory options in the installer. + +For a physical (rather than virtual) Windows system, you can burn the +\ISO\ to \acro{DVD}. However, it may be worth your while to investigate +free \ISO-mounting options. For Windows \acro{XP}, Microsoft offers +\filename{winxpvirtualcdcontrolpanel}. + +For Windows system integration, you can include the \filename{w32client} +scripts described in section~\ref{sec:sharedinstall} and at +\url{http://tug.org/texlive/w32client.html}, which work just as well for +an \ISO\ as for a network installation. + +On \MacOSX, TeXShop and \TeX{}works will be able to use the \acro{DVD} +installation if a symlink \filename{/usr/texbin} points to the +appropriate binary directory, e.g., +\begin{verbatim} +sudo ln -s /Volumes/MyTeXLive/bin/universal-darwin /usr/texbin +\end{verbatim} + +Historical note: \TL{} 2010 was the first \TL{} edition which was no +longer distributed `live'. However, it always required some acrobatics +to run from \DVD\ or \ISO; in particular, there was no way around +setting at least one extra environment variable. If you create your +\ISO\ from an existing installation then there is no need for this. + + +\htmlanchor{tlmgr} +\section{\cmdname{tlmgr}: Managing your installation} +\label{sec:tlmgr} + +\begin{figure}[tb] +\tlpng{tlmgr-gui}{\linewidth} +\caption{\prog{tlmgr} in \GUI\ mode: main window, after `Load'.} +\label{fig:tlmgr-gui} +\end{figure} + +\begin{figure}[tb] +\hbox to \hsize{% + \vtop{\hsize=.59\linewidth + \null % make figures align at the top + \tlpng{tlmgr-general-options}{\hsize} + \caption{\texttt{tlmgr} in \GUI\ mode: General options} + \label{fig:tlmgr-general-options} + } + \hfil + \vtop{\hsize=.39\linewidth + \null + \tlpng{tlmgr-paper-options}{\hsize} + \caption{\texttt{tlmgr} in \GUI\ mode: Paper size options} + \label{fig:tlmgr-paper-options} + } +} +\end{figure} + +\TL{} includes a program named \prog{tlmgr} for managing \TL{} after the +initial installation. The programs \prog{updmap}, \prog{fmtutil} and +\prog{texconfig} are still included and will be retained in the future, +but \prog{tlmgr} is now the preferred interface. Its capabilities +include: + +\begin{itemize*} +\item installing, updating, backing up, restoring, and uninstalling + individual packages, optionally taking dependencies into account; +\item searching for and listing packages, etc.; +\item listing, adding, and removing platforms; +\item changing installation options such as paper size and source + location (see section~\ref{sec:location}). +\end{itemize*} + +\subsection{\cmdname{tlmgr} GUI mode} +\prog{tlmgr} can be started in \GUI{} mode (figure~\ref{fig:tlmgr-gui}) with +\begin{alltt} +> \Ucom{tlmgr -gui} +\end{alltt} +or in Windows via the Start menu: \texttt{Start}, \texttt{Programs}, +\texttt{TeX Live 2012}, \texttt{TeX Live Manager}. After clicking `Load' +it displays a list of available and installed packages. This assumes of +course that the installation source is valid and reachable. + +Figures~\ref{fig:tlmgr-general-options} and~\ref{fig:tlmgr-paper-options} +show the general and paper size option screens. + +\subsection{Sample \cmdname{tlmgr} command-line invocations} + +After the initial installation, you can update your system to the latest +versions available with: +\begin{alltt} +> \Ucom{tlmgr update -all} +\end{alltt} +If this makes you nervous, first try +\begin{alltt} +> \Ucom{tlmgr update -all -dry-run} +\end{alltt} +or (less verbose): +\begin{alltt} +> \Ucom{tlmgr update -list} +\end{alltt} + +This more complex example adds a collection, for the engine \XeTeX, from +a local directory: + +\begin{alltt} +> \Ucom{tlmgr -repository /local/mirror/tlnet install collection-xetex} +\end{alltt} +It generates the following output (abridged): +\begin{fverbatim} +install: collection-xetex +install: arabxetex +... +install: xetex +install: xetexconfig +install: xetex.i386-linux +running post install action for xetex +install: xetex-def +... +running mktexlsr +mktexlsr: Updating /usr/local/texlive/2012/texmf/ls-R... +... +running fmtutil-sys --missing +... +Transcript written on xelatex.log. +fmtutil: /usr/local/texlive/2012/texmf-var/web2c/xetex/xelatex.fmt installed. +\end{fverbatim} + +As you can see, \prog{tlmgr} installs dependencies, and takes care of any +necessary post-install actions, including updating the filename database +and (re)generating formats. In the above, we generated new formats for +\XeTeX. + +To describe a package (or collection or scheme): +\begin{alltt} +> \Ucom{tlmgr show collection-latexextra} +\end{alltt} +which produces +\begin{fverbatim} +package: collection-latexextra +category: Collection +shortdesc: LaTeX supplementary packages +longdesc: A large collection of add-on packages for LaTeX. +installed: Yes +revision: 14675 +\end{fverbatim} + +Last and most important, for full documentation see +\url{http://tug.org/texlive/tlmgr.html}, or: +\begin{alltt} +> \Ucom{tlmgr -help} +\end{alltt} + + +\section{Notes on Windows} +\label{sec:windows} + +\subsection{Windows-specific features} +\label{sec:winfeatures} + +Under Windows, the installer does some extra things: +\begin{description} +\item[Menus and shortcuts.] A new `\TL{}' submenu of the + Start menu is installed, which contains entries for some \GUI{} + programs (\prog{tlmgr}, \prog{texdoctk}, the PS\_View (\prog{psv}) + PostScript previewer) and some documentation. +\item[File associations.] If enabled, \prog{TeXworks}, \prog{Dviout} + and \prog{PS\_view} become either the default program for + their respective filetypes, or get an entry in the `Open with' + right-click menus of those filetypes. +\item[Bitmap to eps converter.] Various bitmapped formats get an + entry \cmdname{bitmap2eps} in their `Open with' right-click + menu. Bitmap2eps is a simple script which lets \cmdname{sam2p} or + \cmdname{bmeps} do the real work. +\item[Automatic path adjustment.] No manual configuration steps are required. +\item[Uninstaller.] The installer creates an entry under `Add/Remove + Programs' for \TL. The uninstall tab of the \TeX\ Live Manager \GUI\ + refers to this. +\end{description} + +\subsection{Additional software included on Windows} + +To be complete, a \TL{} installation needs support packages that are not +commonly found on a Windows machine. \TL{} provides the missing +pieces: +\begin{description} +\item[Perl and Ghostscript.] Because of the importance of Perl and + Ghostscript, \TL{} includes `hidden' copies of these + programs. \TL{} programs that need them know where to find them, + but they don't betray their presence through environment variables + or registry settings. They aren't full-scale installations, and + shouldn't interfere with any system installations of Perl or + Ghostscript. + +\item[PS\_View.] Also installed is PS\_View, a \PS{} and \acro{PDF} + viewer; see figure~\ref{fig:psview}. + +\begin{figure}[tb] +\tlpng{psview}{.6\linewidth} +\caption{PS\_View: very high magnifications available!}\label{fig:psview} +\end{figure} + +\item[dviout.] Also installed is \prog{dviout}, a \acro{DVI} viewer. + At first, when you preview files with \cmdname{dviout}, it will create + fonts, because screen fonts were not installed. After a while, you + will have created most of the fonts you use, and you will rarely see + the font-creation window. More information can be found in the + (highly recommended) on-line help. + +\item[\TeX{}works.] \TeX{}works is a \TeX-oriented editor with + an integrated \acro{PDF} viewer. + +\item[Command-line tools.] A number of Windows ports of common Unix + command-line programs are installed along with the usual \TL{} + binaries. These include \cmdname{gzip}, \cmdname{unzip} and the + utilities from the \cmdname{xpdf} suite (\cmdname{pdfinfo}, + \cmdname{pdffonts}, \ldots). The \cmdname{xpdf} viewer itself is not + available for Windows. Instead, you can download the Sumatra + \acro{PDF} viewer, which is based on \cmdname{xpdf}, from + \url{http://blog.kowalczyk.info/software/sumatrapdf}, among other options. + +\item[fc-list, fc-cache, \ldots] The tools from the fontconfig library allow + \XeTeX{} to handle system fonts on Windows. You can use + \prog{fc-list} to determine the font names to pass to \XeTeX's + extended \cs{font} command. If necessary, run \prog{fc-cache} + first to update font information. + +\end{description} + + +\subsection{User Profile is Home} +\label{sec:winhome} + +The Windows counterpart of a Unix home directory is the +\verb|%USERPROFILE%| directory. Under Windows \acro{XP}, this +is usually \verb|C:\Documents and Settings\<username>|, and under +Windows Vista and Windows~7 it is \verb|C:\Users\<username>|. In the +\filename{texmf.cnf} file, and \KPS{} in general, \verb|~| will expand +appropriately on both Windows and Unix. + + +\subsection{The Windows registry} +\label{sec:registry} + +Windows stores nearly all configuration data in its registry. The +registry contains a set of hierarchically organized keys, with several +root keys. The most important ones for installation programs are +\path{HKEY_CURRENT_USER} and \path{HKEY_LOCAL_MACHINE}, \path{HKCU} and +\path{HKLM} in short. The \path{HKCU} part of the registry is in the +user's home directory (see section~\ref{sec:winhome}). \path{HKLM} is +normally in a subdirectory of the Windows directory. + +In some cases, system information could be obtained from environment +variables but for other information, for example the location of +shortcuts, it is necessary to consult the registry. Setting environment +variables permanently also requires registry access. + + +\subsection{Windows permissions} +\label{sec:winpermissions} + +In later versions of Windows, a distinction is made between regular +users and administrators, where only the latter have free access to the +entire operating system. In practice, though, you could better describe +these classes of users as unprivileged users and normal users: being an +administrator is the rule, not the exception. Nevertheless, we have made +an effort to make \TL{} installable without administrative privileges. + +If the user is an administrator, there is an option to install for all +users. If this option is chosen, shortcuts are created for all users, +and the system environment is modified. Otherwise, shortcuts and menu +entries are created for the current user, and the user environment is +modified. + +Regardless of administrator status, the default root of \TL{} proposed +by the installer is always under \verb|%SystemDrive%|. The installer +always tests whether the root is writable for the current user. + +A problem may arise if the user is not an administrator and \TeX{} +already exists in the search path. Since the effective path +consists of the system path followed by the user path, the new \TL{} +would never get precedence. As a safeguard, the installer creates a +shortcut to the command-prompt in which the new \TL{} binary +directory is prepended to the local search path. The new \TL{} will +be always usable from within such a command-prompt. The shortcut for +\TeX{}works, if installed, also prepends \TL{} to the search path, so it +should also be immune to this path problem. + +For Vista and Windows~7 there is another twist: even if you are logged in as +administrator, you need to explicitly ask for administrator +privileges. In fact, there is not much point in logging in as +administrator. Instead, right-clicking on the program or shortcut +that you want to run usually gives you a choice `Run as +administrator'. + +\subsection{Increasing maximum memory on Windows and Cygwin} +\label{sec:cygwin-maxmem} + +Windows and Cygwin (see section~\ref{sec:cygwin} for Cygwin installation +specifics) users may find that they run out of memory when running some +of the programs shipped with \TL. For example, \prog{asy} might run out +of memory if you try to allocate an array of 25,000,000 reals, and +Lua\TeX\ might run out of memory if you try to process a document with a +lot of big fonts. + +For Cygwin, you can increase the amount of available memory by following +the instructions in the Cygwin User's Guide +(\url{http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html}). + +For Windows, you have to create a file, say \code{moremem.reg}, with +these four lines: + +\begin{sverbatim} +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\Software\Cygwin] +"heap_chunk_in_mb"=dword:ffffff00 +\end{sverbatim} + +\noindent and then execute the command \code{regedit /s moremem.reg} as +administrator. (If you want to change memory only for the current user +instead of system-wide, use \code{HKEY\_CURRENT\_USER}.) + + +\section{A user's guide to Web2C} + +\Webc{} is an integrated collection of \TeX-related programs: \TeX{} +itself, \MF{}, \MP, \BibTeX{}, etc. It is the heart of \TL{}. The home +page for \Webc{}, with the current manual and more, is +\url{http://tug.org/web2c}. + +A bit of history: The original implementation was by Tomas Rokicki who, +in 1987, developed a first \TeX{}-to-C system based on change files +under Unix, which were primarily the original work of Howard Trickey and +Pavel Curtis. Tim Morgan became the maintainer of the system, and +during this period the name changed to Web-to-C\@. In 1990, Karl Berry +took over the work, assisted by dozens of additional contributors, and +in 1997 he handed the baton to Olaf Weber, who returned it to Karl in +2006. + +The \Webc{} system runs on Unix, 32-bit Windows systems, \MacOSX{}, and +other operating systems. It uses Knuth's original sources for \TeX{} and +other basic programs written in the \web{} literate programming system +and translates them into C source code. The core \TeX{} programs +handled in this way are: + +\begin{cmddescription} +\item[bibtex] Maintaining bibliographies. +\item[dvicopy] Expands virtual font references in \dvi{} files. +\item[dvitomp] \dvi{} to MPX (MetaPost pictures). +\item[dvitype] \dvi{} to human-readable text. +\item[gftodvi] Generic font proofsheets. +\item[gftopk] Generic to packed fonts. +\item[gftype] GF to human-readable text. +\item[mf] Creating typeface families. +\item[mft] Prettyprinting \MF{} source. +\item[mpost] Creating technical diagrams. +\item[patgen] Creating hyphenation patterns. +\item[pktogf] Packed to generic fonts. +\item[pktype] PK to human-readable text. +\item[pltotf] Plain text property list to TFM. +\item[pooltype] Display \web{} pool files. +\item[tangle] \web{} to Pascal. +\item[tex] Typesetting. +\item[tftopl] TFM to plain text property list. +\item[vftovp] Virtual font to virtual property list. +\item[vptovf] Virtual property list to virtual font. +\item[weave] \web{} to \TeX. +\end{cmddescription} + +\noindent The precise functions and syntax of these programs are +described in the documentation of the individual packages and of \Webc{} +itself. However, knowing a few principles governing the whole family of +programs will help you take advantage of your \Webc{} installation. + +All programs honor these standard \GNU options: +\begin{ttdescription} +\item[-{}-help] print basic usage summary. +\item[-{}-verbose] print detailed progress report. +\item[-{}-version] print version information, then exit. +\end{ttdescription} + +For locating files the \Webc{} programs use the path searching library +\KPS{} (\url{http://tug.org/kpathsea}). This library uses a combination +of environment variables and a configuration files to optimize searching +the (huge) collection of \TeX{} files. \Webc{} can look at many +directory trees simultaneously, which is useful in maintaining \TeX's +standard distribution and local and personal extensions in distinct +trees. To speed up file searches, the root of each tree has a file +\file{ls-R}, containing an entry showing the name and relative pathname +for all files under that root. + + +\subsection{Kpathsea path searching} +\label{sec:kpathsea} + +Let us first describe the generic path searching mechanism of the \KPS{} +library. + +We call a \emph{search path} a colon- or semicolon\hyph sepa\-rated list +of \emph{path elements}, which are basically directory names. A +search path can come from (a combination of) many sources. To look up +a file \samp{my-file} along a path \samp{.:/dir}, \KPS{} checks each +element of the path in turn: first \file{./my-file}, then +\file{/dir/my-file}, returning the first match (or possibly all +matches). + +In order to adapt optimally to all operating systems' conventions, on +non-Unix systems \KPS{} can use filename separators different from +colon (\samp{:}) and slash (\samp{/}). + +To check a particular path element \var{p}, \KPS{} first checks if a +prebuilt database (see ``Filename data\-base'' on +page~\pageref{sec:filename-database}) applies to \var{p}, i.e., if the +database is in a directory that is a prefix of \var{p}. If so, the path +specification is matched against the contents of the database. + +If the database does not exist, or does not apply to this path +element, or contains no matches, the filesystem is searched (if this +was not forbidden by a specification starting with \samp{!!}\ and if +the file being searched for must exist). \KPS{} constructs the list +of directories that correspond to this path element, and then checks +in each for the file being sought. + +The ``file must exist'' condition comes into play with \samp{.vf} files and +input files read by \TeX's \cs{openin} command. Such files may not +exist (e.g., \file{cmr10.vf}), and so it would be wrong to search the +disk for them. Therefore, if you fail to update \file{ls-R} when you +install a new \samp{.vf} file, it will never be found. +Each path element is checked in turn: first the database, then the +disk. If a match is found, the search stops and the result is +returned. + +Although the simplest and most common path element is a directory +name, \KPS{} supports additional features in search paths: layered +default values, environment variable names, config file values, users' +home directories, and recursive subdirectory searching. Thus, we say +that \KPS{} \emph{expands} a path element, meaning it transforms all +the specifications into basic directory name or names. This is +described in the following sections in the same order as it takes +place. + +Note that if the filename being searched for is absolute or explicitly +relative, i.e., starts with \samp{/} or \samp{./} or \samp{../}, +\KPS{} simply checks if that file exists. + +\ifSingleColumn +\else +\begin{figure*} +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{An illustrative configuration file sample} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{Path sources} +\label{sec:path-sources} + +A search path can come from many sources. In the order in which +\KPS{} uses them: + +\begin{enumerate} +\item + A user-set environment variable, for instance, \envname{TEXINPUTS}\@. + Environment variables with a period and a program name appended + override; e.g., if \samp{latex} is the name of the program being run, + then \envname{TEXINPUTS.latex} will override \envname{TEXINPUTS}. +\item + A program-specific configuration file, for exam\-ple, a line + \samp{S /a:/b} in \cmdname{dvips}'s \file{config.ps}. +\item A \KPS{} configuration file \file{texmf.cnf}, containing a line like + \samp{TEXINPUTS=/c:/d} (see below). +\item The compile-time default. +\end{enumerate} +\noindent You can see each of these values for a given search path by +using the debugging options (see ``Debugging actions'' on +page~\pageref{sec:debugging}). + +\subsubsection{Config files} + +\KPS{} reads \emph{runtime configuration files} named \file{texmf.cnf} +for search path and other definitions. The search path used to look +for these files is named \envname{TEXMFCNF}, but we do not recommend +setting this (or any) environment variable. + +Instead, normal installation results in a file +\file{.../2012/texmf.cnf}. If you must make changes to the defaults +(not normally necessary), this is the place to put them. The main +configuration file is in \file{.../2012/texmf/web2c/texmf.cnf}. You +should not edit this latter file, as your changes will be lost when the +distributed version is updated. + +\emph{All} \file{texmf.cnf} files in the search path will be read and +definitions in earlier files override those in later files. For +example, with a search path of \verb|.:$TEXMF|, values from +\file{./texmf.cnf} override those from \verb|$TEXMF/texmf.cnf|. + +\begin{itemize} +\item + Comments start with \code{\%} and continue to the end of the line. +\item + Blank lines are ignored. +\item + A \bs{} at the end of a line acts as a continuation character, + i.e., the next line is appended. Whitespace at the beginning of + continuation lines is not ignored. +\item + Each remaining line has the form: +\begin{alltt} + \var{variable}[.\var{progname}] [=] \var{value} +\end{alltt}% + where the \samp{=} and surrounding whitespace are optional. +\item + The \ttvar{variable} name may contain any character other + than whitespace, \samp{=}, or \samp{.}, but sticking to + \samp{A-Za-z\_} is safest. +\item + If \samp{.\var{progname}} is present, the definition only + applies if the program that is running is named + \texttt{\var{progname}} or \texttt{\var{progname}.exe}. This allows + different flavors of \TeX{} to have different search paths, for + example. +\item \var{value} may contain any characters except + \code{\%} and \samp{@}. The + \code{\$\var{var}.\var{prog}} feature is not available on the + right-hand side; instead, you must use an additional variable. A + \samp{;}\ in \var{value} is translated to \samp{:}\ if + running under Unix; this is useful to be able to have a single + \file{texmf.cnf} for Unix, \acro{MS-DOS} and Windows systems. +\item + All definitions are read before anything is expanded, so + variables can be referenced before they are defined. +\end{itemize} +A configuration file fragment illustrating most of these points is +\ifSingleColumn +shown below: + +\verbatiminput{examples/ex5.tex} +\else +shown in Figure~\ref{fig:config-sample}. +\fi + +\subsubsection{Path expansion} +\label{sec:path-expansion} + + +\KPS{} recognizes certain special characters and constructions in +search paths, similar to those available in Unix shells. As a +general example, the complex path, +\verb+~$USER/{foo,bar}//baz+, expands to all subdirectories under +directories \file{foo} and \file{bar} in \texttt{\$USER}'s home +directory that contain a directory or file \file{baz}. These +expansions are explained in the sections below. +%$ +\subsubsection{Default expansion} +\label{sec:default-expansion} + +If the highest-priority search path (see ``Path sources'' on +page~\pageref{sec:path-sources}) contains an \emph{extra colon} (i.e., +leading, trailing, or doubled), \KPS{} inserts at that point the +next-highest-prio\-rity search path that is defined. If that inserted +path has an extra colon, the same happens with the next highest. For +example, given an environment variable setting + +\begin{alltt} +> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} +and a \code{TEXINPUTS} value from \file{texmf.cnf} of + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} +then the final value used for searching will be: + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +Since it would be useless to insert the default value in more than one +place, \KPS{} changes only one extra \samp{:}\ and leaves any others in +place. It checks first for a leading \samp{:}, then a trailing +\samp{:}, then a doubled \samp{:}. + +\subsubsection{Brace expansion} +\label{sec:brace-expansion} + +A useful feature is brace expansion, which means that, for instance, +\verb+v{a,b}w+ expands to \verb+vaw:vbw+. Nesting is allowed. +This is used to implement multiple \TeX{} hierarchies, by +assigning a brace list to \code{\$TEXMF}. +For example, in \file{texmf.cnf}, a definition like this +(simplified for this example) is made: +\begin{verbatim} + TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN} +\end{verbatim} +Using this you can then write something like +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +which means that, after looking in the current directory, the +\code{\$TEXMFHOME/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$TEXMFVAR/tex} +and \code{\$TEXMFMAIN/tex} trees \emph{only}) will be searched (the +last two use using \file{ls-R} data base files). It is a convenient +way for running two parallel \TeX{} structures, one ``frozen'' (on a +\CD, for instance) and the other being continuously updated with new +versions as they become available. By using the \code{\$TEXMF} +variable in all definitions, one is sure to always search the +up-to-date tree first. + +\subsubsection{Subdirectory expansion} +\label{sec:subdirectory-expansion} + +Two or more consecutive slashes in a path element following a directory +\var{d} is replaced by all subdirectories of \var{d}: first those +subdirectories directly under \var{d}, then the subsubdirectories under +those, and so on. At each level, the order in which the directories are +searched is \emph{unspecified}. + +If you specify any filename components after the \samp{//}, only +subdirectories with matching components are included. For example, +\samp{/a//b} expands into directories \file{/a/1/b}, \file{/a/2/b}, +\file{/a/1/1/b}, and so on, but not \file{/a/b/c} or \file{/a/1}. + +Multiple \samp{//} constructs in a path are possible, but +\samp{//} at the beginning of a path is ignored. + +\subsubsection{List of special characters and their meaning: a summary} + +The following list summarizes the special characters in \KPS{} +configuration files. + +% need a wider space for the item labels here. +\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} +\begin{ttdescription} +\item[\CODE{:}] Separator in path specification; at the beginning or + the end of a path it substitutes the default path expansion.\par +\item[\CODE{;}] Separator on non-Unix systems (acts like \code{:}). +\item[\CODE{\$}] Variable expansion. +\item[\CODE{\string~}] Represents the user's home directory. +\item[\CODE{\char`\{...\char`\}}] Brace expansion. +\item[\CODE{//}] Subdirectory expansion (can occur anywhere in + a path, except at its beginning). +\item[\CODE{\%}] Start of comment. +\item[\CODE{\bs}] Continuation character (allows multi-line entries). +\item[\CODE{!!}] Search \emph{only} database to locate file, \emph{do + not} search the disk. +\end{ttdescription} + + +\subsection{Filename databases} +\label{sec:filename-database} + +\KPS{} goes to some lengths to minimize disk accesses for searches. +Nevertheless, at installations with enough directories, searching each +possible directory for a given file can take an excessively long time +(this is especially true if many hundreds of font directories have to +be traversed.) Therefore, \KPS{} can use an externally-built plain text +``database'' file named \file{ls-R} that maps files to directories, +thus avoiding the need to exhaustively search the disk. + +A second database file \file{aliases} allows you to give additional +names to the files listed in \file{ls-R}. This can be helpful to +confirm to \acro{DOS} 8.3 filename conventions in source files. + +\subsubsection{The filename database} +\label{sec:ls-R} + +As explained above, the name of the main filename database must be +\file{ls-R}. You can put one at the root of each \TeX{} hierarchy in +your installation that you wish to be searched (\code{\$TEXMF} by +default). \KPS{} looks for +\file{ls-R} files along the \code{TEXMFDBS} path. + +The recommended way to create and maintain \samp{ls-R} is to run the +\code{mktexlsr} script included with the distribution. It is invoked +by the various \samp{mktex}\dots\ scripts. In principle, this script +just runs the command +\begin{alltt} +cd \var{/your/texmf/root} && \path|\|ls -1LAR ./ >ls-R +\end{alltt} +presuming your system's \code{ls} produces the right output format +(\GNU \code{ls} is all right). To ensure that the database is +always up-to-date, it is easiest to rebuild it regularly via +\code{cron}, so that it is automatically updated when the installed +files change, such as after installing or updating a \LaTeX{} package. + +If a file is not found in the database, by default \KPS{} goes ahead +and searches the disk. If a particular path element begins with +\samp{!!}, however, \emph{only} the database will be searched for that +element, never the disk. + + +\subsubsection{kpsewhich: Standalone path searching} +\label{sec:invoking-kpsewhich} + +The \texttt{kpsewhich} program exercises path searching independent of any +particular application. This can be useful as a sort of \code{find} +program to locate files in \TeX{} hierarchies (this is used heavily in +the distributed \samp{mktex}\dots\ scripts). + +\begin{alltt} +> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} +\end{alltt} +The options specified in \ttvar{option} start with either \samp{-} +or \samp{-{}-}, and any unambiguous abbreviation is accepted. + +\KPS{} looks up each non-option argument on the command line as a +filename, and returns the first file found. There is no option to +return all the files with a particular name (you can run the Unix +\samp{find} utility for that). + +The most common options are described next. + +\begin{ttdescription} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{} + Set the resolution to \ttvar{num}; this only affects \samp{gf} + and \samp{pk} lookups. \samp{-D} is a synonym, for compatibility + with \cmdname{dvips}. Default is 600. + +\item[\texttt{-{}-format=\var{name}}]\mbox{}\\ + Set the format for lookup to \ttvar{name}. By default, the + format is guessed from the filename. For formats which do not have + an associated unambiguous suffix, such as \MP{} support files and + \cmdname{dvips} configuration files, you have to specify the name as + known to \KPS{}, such as \texttt{tex} or \texttt{enc files}. Run + \texttt{kpsewhich -{}-help} for a list. + +\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ + Set the mode name to \ttvar{string}; this only affects \samp{gf} + and \samp{pk} lookups. No default: any mode will be found. +\item[\texttt{-{}-must-exist}]\mbox{}\\ + Do everything possible to find the files, notably including + searching the disk. By default, only the \file{ls-R} database is + checked, in the interest of efficiency. +\item[\texttt{-{}-path=\var{string}}]\mbox{}\\ + Search along the path \ttvar{string} (colon-separated as usual), + instead of guessing the search path from the filename. \samp{//} and + all the usual expansions are supported. The options \samp{-{}-path} + and \samp{-{}-format} are mutually exclusive. +\item[\texttt{-{}-progname=\var{name}}]\mbox{}\\ + Set the program name to \texttt{\var{name}}. + This can affect the search paths via the \texttt{.\var{progname}} + feature. + The default is \cmdname{kpsewhich}. +\item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\ + shows the path used for file lookups of file type \texttt{\var{name}}. + Either a filename extension (\code{.pk}, \code{.vf}, etc.) or a + name can be used, just as with \samp{-{}-format} option. +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + sets the debugging options to \texttt{\var{num}}. +\end{ttdescription} + + +\subsubsection{Examples of use} +\label{sec:examples-of-use} + +Let us now have a look at \KPS{} in action. Here's a straightforward search: + +\begin{alltt} +> \Ucom{kpsewhich article.cls} + /usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} +We are looking for the file \file{article.cls}. Since the \samp{.cls} +suffix is unambiguous we do not need to specify that we want to look for a +file of type \optname{tex} (\TeX{} source file directories). We find it in +the subdirectory \file{tex/latex/base} below the \samp{texmf-dist} \TL\ +directory. Similarly, all of the following are found without problems +thanks to their unambiguous suffix. +\begin{alltt} +> \Ucom{kpsewhich array.sty} + /usr/local/texmf-dist/tex/latex/tools/array.sty +> \Ucom{kpsewhich latin1.def} + /usr/local/texmf-dist/tex/latex/base/latin1.def +> \Ucom{kpsewhich size10.clo} + /usr/local/texmf-dist/tex/latex/base/size10.clo +> \Ucom{kpsewhich small2e.tex} + /usr/local/texmf-dist/tex/latex/base/small2e.tex +> \Ucom{kpsewhich tugboat.bib} + /usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib +\end{alltt} + +By the way, that last is a \BibTeX{} bibliography database for +\textsl{TUGboat} articles. + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} +Font bitmap glyph files of type \file{.pk} are used by display +programs like \cmdname{dvips} and \cmdname{xdvi}. Nothing is returned in +this case since there are no pre-generated Computer Modern \samp{.pk} +files in \TL{}\Dash the Type~1 variants are used by default. +\begin{alltt} +> \Ucom{kpsewhich wsuipa10.pk} +\ifSingleColumn /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk +\else /usr/local/texmf-var/fonts/pk/ljfour/public/ +... wsuipa/wsuipa10.600pk +\fi\end{alltt} +For these fonts (a phonetic alphabet from the University of Washington) +we had to generate \samp{.pk} files, and since the default \MF{} mode on +our installation is \texttt{ljfour} with a base resolution of 600\dpi{} +(dots per inch), this instantiation is returned. +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} +In this case, when specifying that we are interested in a resolution +of 300\dpi{} (\texttt{-dpi=300}) we see that no such font is available on +the system. A program like \cmdname{dvips} or \cmdname{xdvi} would +go off and actually build the required \texttt{.pk} files +using the script \cmdname{mktexpk}. + +Next we turn our attention to \cmdname{dvips}'s header and configuration +files. We first look at one of the commonly used files, the general +prologue \file{tex.pro} for \TeX{} support, before turning our attention +to the generic configuration file (\file{config.ps}) and the \PS{} font +map \file{psfonts.map}\Dash as of 2004, map and encoding files have +their own search paths and new location in \dirname{texmf} trees. As +the \samp{.ps} suffix is ambiguous we have to specify explicitly which +type we are considering (\optname{dvips config}) for the file +\texttt{config.ps}. +\begin{alltt} +> \Ucom{kpsewhich tex.pro} + /usr/local/texmf/dvips/base/tex.pro +> \Ucom{kpsewhich --format="dvips config" config.ps} + /usr/local/texmf/dvips/config/config.ps +> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map +\end{alltt} + +We now take a closer look at the \acro{URW} Times \PS{} support +files. The prefix for these in the standard font naming scheme is +\samp{utm}. The first file we look at is the configuration file, +which contains the name of the map file: +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" config.utm} + /usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} +The contents of that file is +\begin{alltt} + p +utm.map +\end{alltt} +which points to the file \file{utm.map}, which we want to +locate next. +\begin{alltt} +> \Ucom{kpsewhich utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} +This map file defines the file names of the Type~1 \PS{} fonts in +the URW collection. Its contents look like (we only show part of the +lines): +\begin{alltt} +utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb +utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb +utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb +utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} +Let us, for instance, take the Times Roman instance +\file{utmr8a.pfb} and find its position in the \file{texmf} directory +tree with a search for Type~1 font files: +\begin{alltt} +> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +\else /usr/local/texmf-dist/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + +It should be evident from these examples how you can easily locate the +whereabouts of a given file. This is especially important if you suspect +that the wrong version of a file is picked up somehow, since +\cmdname{kpsewhich} will show you the first file encountered. + +\subsubsection{Debugging actions} +\label{sec:debugging} + +Sometimes it is necessary to investigate how a program resolves file +references. To make this practical, \KPS{} offers various levels of +debugging output: + +\begin{ttdescription} +\item[\texttt{\ 1}] \texttt{stat} calls (disk lookups). When running + with an up-to-date \file{ls-R} database this should almost give no + output. +\item[\texttt{\ 2}] References to hash tables (such as \file{ls-R} + databases, map files, configuration files). +\item[\texttt{\ 4}] File open and close operations. +\item[\texttt{\ 8}] General path information for file types + searched by \KPS. This is useful to find out where a particular + path for the file was defined. +\item[\texttt{16}] Directory list for each path element (only relevant + for searches on disk). +\item[\texttt{32}] File searches. +\item[\texttt{64}] Variable values. +\end{ttdescription} +A value of \texttt{-1} will set all the above options; in practice, +this is usually the most convenient. + +Similarly, with the \cmdname{dvips} program, by setting a combination of +debug switches, one can follow in detail where files are being picked up +from. Alternatively, when a file is not found, the debug trace shows in +which directories the program looks for the given file, so that one can +get an indication what the problem~is. + +Generally speaking, as most programs call the \KPS{} library +internally, one can select a debug option by using the +\envname{KPATHSEA\_DEBUG} environment variable, and setting it to (a +combination of) values as described in the above list. + +(Note for Windows users: it is not easy to redirect +all messages to a file in this system. For diagnostic purposes +you can temporarily \texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log}). + +Let us consider, as an example, a small \LaTeX{} source file, +\file{hello-world.tex}, which contains the following input. +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +This little file only uses the font \file{cmr10}, so let us look at +how \cmdname{dvips} prepares the \PS{} file (we want to use the Type~1 +version of the Computer Modern fonts, hence the option \texttt{-Pcms}). +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +In this case we have combined \cmdname{dvips}'s debug class 4 (font +paths) with \KPS's path element expansion (see \cmdname{dvips} Reference +Manual, \OnCD{texmf/doc/dvips/dvips.pdf}). +The output (slightly rearranged) appears in +Figure~\ref{fig:dvipsdbga}. +\begin{figure*}[tp] +\centering +\input{examples/ex6a.tex} +\caption{Finding configuration files}\label{fig:dvipsdbga} + +\bigskip + +\input{examples/ex6b.tex} +\caption{Finding the prolog file}\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{Finding the font file}\label{fig:dvipsdbgc} +\end{figure*} + +\cmdname{dvips} starts by locating its working files. First, +\file{texmf.cnf} is found, which gives the definitions of the search +paths for the other files, then the file database \file{ls-R} (to +optimize file searching) and the file \file{aliases}, which makes it +possible to declare several names (e.g., a short \acro{DOS}-like 8.3 and +a more natural longer version) for the same file. Then \cmdname{dvips} +goes on to find the generic configuration file \file{config.ps} +before looking for the customization file \file{.dvipsrc} (which, in +this case is \emph{not found}). Finally, \cmdname{dvips} locates the +config file for the Computer Modern \PS{} fonts \file{config.cms} +(this was initiated with the \texttt{-Pcms} option on the \cmdname{dvips} +command). This file contains the list of the map files which +define the relation between the \TeX{}, \PS{} and file system +names of the fonts. +\begin{alltt} +> \Ucom{more /usr/local/texmf/dvips/cms/config.cms} + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map +\end{alltt} +\cmdname{dvips} thus goes on to find all these files, plus the generic +map file \file{psfonts.map}, which is always loaded (it contains +declarations for commonly used \PS{} fonts; see the last part of +Section \ref{sec:examples-of-use} for more details about \PS{} map +file handling). + +At this point \cmdname{dvips} identifies itself to the user: +\begin{alltt} +This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) +\end{alltt} +\ifSingleColumn +Then it goes on to look for the prolog file \file{texc.pro}: +\begin{alltt}\small +kdebug:start search(file=texc.pro, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro +\end{alltt} +\else +Then it goes on to look for the prolog file \file{texc.pro} (see +Figure~\ref{fig:dvipsdbgb}). +\fi + +After having found the file in question, \cmdname{dvips} outputs +the date and time, and informs us that it will generate the +file \file{hello-world.ps}, then that it needs the font file +\file{cmr10}, and that the latter is declared as ``resident'' (no +bitmaps needed): +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} +Now the search is on for the file \file{cmr10.tfm}, which is found, +then a few more prolog files (not shown) are referenced, and finally +the Type~1 instance \file{cmr10.pfb} of the font is located and +included in the output file (see last line). +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{Runtime options} + +Another useful feature of \Webc{} is its possibility to control a number +of memory parameters (in particular, array sizes) via the runtime file +\file{texmf.cnf} read by \KPS{}. The memory settings can be found in +Part~3 of that file in the \TL{} distribution. The more important +are: + +\begin{ttdescription} +\item[\texttt{main\_memory}] + Total words of memory available, for + \TeX{}, \MF{} and \MP. You must make a new format file for each + different setting. For instance, you could generate a ``huge'' + version of \TeX{}, and call the format file \texttt{hugetex.fmt}. + Using the standard way of specifying the program name used by \KPS{}, + the particular value of the \texttt{main\_memory} variable will then + be read from \file{texmf.cnf}. +\item[\texttt{extra\_mem\_bot}] + Extra space for ``large'' \TeX{} data structures: + boxes, glue, breakpoints, etc. Especially useful if you use + \PiCTeX{}. +\item[\texttt{font\_mem\_size}] + Number of words for font information available for \TeX. This + is more or less the total size of all \acro{TFM} files read. +\item[\texttt{hash\_extra}] + Additional space for the hash table of control sequence names. + Only $\approx$10,000 control sequences can be stored in the main + hash table; if you have a large book with numerous cross-references, + this might not be enough. The default value of + \texttt{hash\_extra} is \texttt{50000}. +\end{ttdescription} + +\noindent Of course, this facility is no substitute for truly dynamic +arrays and memory allocation, but since these are extremely difficult to +implement in the present \TeX{} source, these runtime parameters provide +a practical compromise allowing some flexibility. + + +\begin{comment} +\section{Building on a new Unix platform} + +If you have a platform for which executables are not included, you will +need to compile \TeX{} and friends. This is not as hard as it +sounds. What you need is all in the directory \texttt{source} in the +distribution. + +\subsection{Prerequisites} + +You will need at least 100 megabytes of disk space to compile all of +\TeX{} and its support programs. You'll also need an \acro{ANSI} C +compiler, a \cmdname{make} utility, a lexical scanner, and a parser +generator. We recommend the \GNU version of these programs +(\cmdname{gcc}, \GNU \cmdname{make}, \cmdname{m4}, \cmdname{flex}, +\cmdname{bison}). You may be able to work with other C compilers and +\cmdname{make} programs, but you will need a good understanding of +building Unix programs to sort out problems. + +Also, the command \texttt{uname} must return a sensible value. + + +\subsection{Configuration} + +To begin, perform a normal installation of \TL{} to your disk (see +section~\ref{sec:install-disk} on +\p.\pageref{sec:install-disk}). You may wish to skip installing +all of the prebuilt binaries. + +Then, unpack the source from the compressed \texttt{tar} file in the +directory \dirname{source} to your disk and change directory to where +you placed it. + +Next, run \cmdname{configure} with a command line like this: +\begin{alltt} +> \Ucom{sh configure -prefix=/usr/local/TeX} +\end{alltt} + +The \optname{-prefix} directory is the one where you installed the +support tree; the directory layout will be as follows (where \$TEXDIR +stands for the directory you chose): + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/share/texmf} & main tree with fonts,\\ + & \qquad macros, etc\\ + \dirname{$TEXDIR/man} & Unix manual pages\\ + \dirname{$TEXDIR/info} & \GNU style Info manuals\\ + \dirname{$TEXDIR/bin/$PLATFORM} & binaries\\ +\end{tabular} +%$ + +If you want to leave out the \dirname{$PLATFORM} directory level, +i.e., put the binaries directly into \dirname{$TEXDIR/bin}, specify +the \verb|--disable-multiplatform| option to \cmdname{configure}. + +Have a look at the output of \verb|./configure --help| for more +options you can use. For example, you can skip building of \OMEGA{} and +\eTeX{}. + + +\subsection{Running \cmdname{make}} + +Make sure the shell variable or option \texttt{noclobber} is not set. +Then, run the main \cmdname{make} like this: +\begin{alltt} +> \Ucom{make world} +\end{alltt} +and relax\ldots + +Alternatively, you want to log all the output, as in: +\begin{alltt} +> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} + +Before you believe that everything went ok, please check the log file +for errors: \GNU \cmdname{make} always uses the string \samp{***} +whenever a command fails. Also, check if all the programs were built: + +\begin{alltt} +> \Ucom{cd \var{TEXDIR}/bin/\var{archname}} +> \Ucom{ls | wc} +\end{alltt} +The result should be over 200 (you can check the exact number with the +\dirname{bin} directory contents in the distribution). + +If you need special privileges for \texttt{make install}, you can +separate the \samp{make world} into two different runs, like this: +\begin{alltt} +> \Ucom{make all} +> \Ucom{su} +> \Ucom{make install strip} +\end{alltt} + +After you've installed your new binaries, you should follow the normal +post-installation procedures, given in section~\ref{sec:postinstall} +(\p.\pageref{sec:postinstall}). + +Also, if you'd like to make your binaries available to others, please +contact us. We'll be happy to put them on the \TL\ web pages. +\end{comment} + +\htmlanchor{ack} +\section{Acknowledgements} + +\TL{} is a joint effort by virtually all of the \TeX{} user groups. +This edition of \TL{} was overseen by Karl Berry. The other principal +contributors, past and present, are listed below. + +\begin{itemize*} + +\item The English, German, Dutch, and Polish \TeX{} user groups +(\acro{TUG}, \acro{DANTE} e.V., \acro{NTG}, and \acro{GUST}, +respectively), which provide the necessary technical and administrative +infrastructure. Please join the \TeX\ user group near you! (See +\url{http://tug.org/usergroups.html}.) + +\item The \acro{CTAN} team, notably Robin Fairbairns, Jim Hef{}feron, +and Rainer Sch\"opf, which distributes the \TL{} images and provides the +common infrastructure for package updates, upon which \TL{} depends. + +\item Nelson Beebe, for making many platforms available to \TL\ +developers, and his own comprehensive testing. + +\item John Bowman, for making many changes to his advanced graphics +program Asymptote to make it work in \TL. + +\item Peter Breitenlohner and the \eTeX\ team for the stable foundation +of future \TeX's, and Peter specifically for stellar help with \GNU\ +autotools usage throughout \TL. + +\item Jin-Hwan Cho and all of the DVIPDFM$x$ team, for their +excellent driver and responsiveness to configuration issues. + +\item Thomas Esser, without whose marvelous \teTeX{} package \TL{} +would have never existed. + +\item Michel Goossens, who co-authored the original documentation. + +\item Eitan Gurari, whose \TeX4ht is used to create the \HTML{} +version of this documentation, and who worked tirelessly to improve it +at short notice, every year. Eitan prematurely passed away in June +2009, and we dedicate this documentation to his memory. + +\item Hans Hagen, for much testing and making his \ConTeXt\ format +(\url{http://pragma-ade.com}) work within \TL's framework. + +\item \Thanh, Martin Schr\"oder, and the pdf\TeX\ team +(\url{http://pdftex.org}) for continuing enhancements of \TeX's +abilities. + +\item Hartmut Henkel, for significant development contributions to +pdf\TeX\, Lua\TeX, and more. + +\item Taco Hoekwater, for major renewed development efforts on MetaPost and +(Lua)\TeX\ (\url{http://luatex.org}) itself, incorporating +\ConTeXt\ into \TL, giving Kpathsea multi-threaded functionality, and +much more. + +\item Pawe{\l} Jackowski, for the Windows installer \cmdname{tlpm}, +and Tomasz {\L}uczak, for \cmdname{tlpmgui}, used in past releases. + +\item Akira Kakuto, for providing the Windows +binaries from his \acro{W32TEX} distribution for Japanese \TeX\ +(\url{http://w32tex.org}), and many other development contributions. + +\item Jonathan Kew, for developing the remarkable \XeTeX{} engine and +taking the time and trouble to integrate it in \TL{}, as well as the +initial version of the Mac\TeX\ installer, and also for our recommended +front-end \TeX{}works. + +\item Dick Koch, for maintaining Mac\TeX\ (\url{http://tug.org/mactex}) +in very close tandem with \TL{}, and for his great good cheer in doing +so. + +\item Reinhard Kotucha, for major contributions to the \TL{} 2008 +infrastructure and installer, as well as Windows research efforts, the +\texttt{getnonfreefonts} script, and more. + +\item Siep Kroonenberg, also for major contributions to the \TL{} 2008 +infrastructure and installer, especially on Windows, and for the bulk of +work updating this manual describing those features. + +\item Heiko Oberdiek, for the \pkgname{epstopdf} package and many +others, compressing the huge \pkgname{pst-geo} data files so we could +include them, and most of all, for his remarkable work on +\pkgname{hyperref}. + +\item Petr Ol\v{s}ak, who coordinated and checked all the Czech and Slovak +material very carefully. + +\item Toshio Oshima, for his \cmdname{dviout} previewer for Windows. + +\item Manuel P\'egouri\'e-Gonnard, for helping with package updates, +documentation improvements, and \cmdname{texdoc} development. + +\item Fabrice Popineau, for the original Windows support in \TL{} and +work on the French documentation. + +\item Norbert Preining, the principal architect of the \TL{} 2008 +infrastructure and installer, and also for coordinating the Debian +version of \TL{} (together with Frank K\"uster), making many suggestions +along the way. + +\item Sebastian Rahtz, for originally creating \TL{} and maintaining it +for many years. + +\item Phil Taylor, for setting up the BitTorrent downloads. + +\item Tomasz Trzeciak, for wide-ranging help with Windows. + +\item Vladimir Volovich, for substantial help with porting and other +maintenance issues, and especially for making it feasible to include +\cmdname{xindy}. + +\item Staszek Wawrykiewicz, the principal tester for all of \TL{}, +and coordinator of the many major Polish contributions: fonts, Windows +installation, and more. + +\item Olaf Weber, for his patient maintenance of \Webc. + +\item Gerben Wierda, for creating and maintaining the original \MacOSX\ +support, and much integration and testing. + +\item Graham Williams, on whose work the \TeX\ Catalogue of packages depends. + +\end{itemize*} + +Builders of the binaries: +Ettore Aldrovandi (\pkgname{i386-solaris}, \pkgname{x86\_64-solaris}), +Alan Braslau (\pkgname{amd64-kfreebsd}, \pkgname{i386-kfreebsd}), +Peter Breitenlohner (\pkgname{x86\_64-linux}), +Karl Berry (\pkgname{i386-linux}), +Ken Brown (\pkgname{i386-cygwin}), +Akira Kakuto (\pkgname{win32}), +Dick Koch (\pkgname{universal-darwin}, \pkgname{x86\_64-darwin}), +Nikola Le\v{c}i\'c (\pkgname{amd64-freebsd}, \pkgname{i386-freebsd}), +Mojca Miklavec (\pkgname{mipsel-linux}), +Norbert Preining (\pkgname{alpha-linux}), +Thomas Schmitz (\pkgname{powerpc-linux}), +Boris Veytsman (\pkgname{armel-linux}), +Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-solaris}), +Olaf Weber (\pkgname{mips-irix}). +For information on the \TL{} build process, see +\url{http://tug.org/texlive/build.html}. + +Translators of this manual: +Boris Veytsman (Russian), +Jjgod Jiang, Jinsong Zhao, Yue Wang, \& Helin Gai (Chinese), +Uwe Ziegenhagen (German), +Manuel P\'egouri\'e-Gonnard (French), +Marco Pallante (Italian), +Nikola Le\v{c}i\'c (Serbian), +Petr Sojka \& Jan Busa (Czech\slash Slovak), +Staszek Wawrykiewicz (Polish). The \TL{} documentation web page +is \url{http://tug.org/texlive/doc.html}. + +Of course the most important acknowledgement must go to Donald Knuth, +first for inventing \TeX, and then for giving it to the world. + + + +\section{Release history} +\label{sec:history} + +\subsection{Past} + +Discussion began in late 1993 when the Dutch \TeX{} Users Group was +starting work on its 4All\TeX{} \CD{} for \acro{MS-DOS} users, and it +was hoped at that time to issue a single, rational, \CD{} for all +systems. This was too ambitious a target for the time, but it did spawn +not only the very successful 4All\TeX{} \CD{}, but also the \acro{TUG} +Technical Council working group on a \emph{\TeX{} Directory Structure} +(\url{http://tug.org/tds}), which specified how to create consistent and +manageable collections of \TeX{} support files. A complete draft of the +\TDS{} was published in the December 1995 issue of \textsl{TUGboat}, and +it was clear from an early stage that one desirable product would be a +model structure on \CD{}. The distribution you now have is a very direct +result of the working group's deliberations. It was also clear that the +success of the 4All\TeX{} \CD{} showed that Unix users would benefit +from a similarly easy system, and this is the other main strand of +\TL. + +We first undertook to make a new Unix-based \TDS{} \CD{} in the autumn +of 1995, and quickly identified Thomas Esser's \teTeX{} as the ideal +setup, as it already had multi-platform support and was built with +portability across file systems in mind. Thomas agreed to help, and work +began seriously at the start of 1996. The first edition was released in +May 1996. At the start of 1997, Karl Berry completed a major new release +of Web2c, which included nearly all the features which Thomas Esser had +added in \teTeX, and we decided to base the 2nd edition of the \CD{} on +the standard \Webc, with the addition of \teTeX's \texttt{texconfig} +script. The 3rd edition of the \CD{} was based on a major revision of +\Webc, 7.2, by Olaf Weber; at the same time, a new revision of \teTeX +was being made, and \TL{} included almost all of its features. The +4th edition followed the same pattern, using a new version of \teTeX, +and a new release of \Webc{} (7.3). The system now included a complete +Windows setup. + +For the 5th edition (March 2000) many parts of the \CD{} were revised +and checked, updating hundreds of packages. Package details were stored +in XML files. But the major change for \TeX\ Live 5 was that all +non-free software was removed. Everything in \TL{} is now intended +to be compatible with the Debian Free Software Guidelines +(\url{http://www.debian.org/intro/free}); we have done our best to check +the license conditions of all packages, but we would very much +appreciate hearing of any mistakes. + +The 6th edition (July 2001) had much more material updated. The major +change was a new install concept: the user could select a more exact set +of needed collections. Language-related collections were completely +reorganized, so selecting any of them installs not only macros, fonts, +etc., but also prepares an appropriate \texttt{language.dat}. + +The 7th edition of 2002 had the notable addition of \MacOSX{} support, +and the usual myriad of updates to all sorts of packages and +programs. An important goal was integration of the source back with +\teTeX, to correct the drift apart in versions~5 and~6. + +\subsubsection{2003} + +In 2003, with the continuing flood of updates and additions, we found +that \TL{} had grown so large it could no longer be contained on a +single \CD, so we split it into three different distributions (see +section~\ref{sec:tl-coll-dists}, \p.\pageref{sec:tl-coll-dists}). In +addition: + +\begin{itemize*} +\item At the request of the \LaTeX{} team, we changed the standard + \cmdname{latex} and \cmdname{pdflatex} commands to now use \eTeX{} (see + \p.\pageref{text:etex}). +\item The new Latin Modern fonts were included (and are recommended). +\item Support for Alpha \acro{OSF} was removed + (\acro{HPUX} support was removed previously), since no one had (or + volunteered) hardware available on which to compile new binaries. +\item Windows setup was substantially changed; for the first time + an integrated environment based on XEmacs was introduced. +\item Important supplementary programs for Windows + (Perl, Ghost\-script, Image\-Magick, Ispell) are now installed + in the \TL{} installation directory. +\item Font map files used by \cmdname{dvips}, \cmdname{dvipdfm} + and \cmdname{pdftex} are now generated by the new program + \cmdname{updmap} and installed into \dirname{texmf/fonts/map}. +\item \TeX{}, \MF{}, and \MP{} now, by default, output most input + characters (32 and above) as themselves in output (e.g., + \verb|\write|) files, + log files, and the terminal, i.e., \emph{not} translated using the + \verb|^^| notation. In \TL{}~7, this translation was + dependent on the system locale settings; now, locale settings do + not influence the \TeX{} programs' behavior. If for some reason + you need the \verb|^^| output, rename the file + \verb|texmf/web2c/cp8bit.tcx|. (Future releases will have cleaner + ways to control this.) +\item This documentation was substantially revised. +\item Finally, since the edition numbers had grown unwieldy, + the version is now simply identified by the year: \TL{} 2003. +\end{itemize*} + + +\subsubsection{2004} + +2004 saw many changes: + +\begin{itemize} + +\item If you have locally-installed fonts which use their own +\filename{.map} or (much less likely) \filename{.enc} support files, you +may need to move those support files. + +\filename{.map} files are now searched for in subdirectories of +\dirname{fonts/map} only (in each \filename{texmf} tree), along the +\envname{TEXFONTMAPS} path. Similarly, \filename{.enc} files are now +searched for in subdirectories of \dirname{fonts/enc} only, along the +\envname{ENCFONTS} path. \cmdname{updmap} will attempt to warn about +problematic files. + +For methods of handling this and other information, please see +\url{http://tug.org/texlive/mapenc.html}. + +\item The \TK\ has been expanded with the addition of a \MIKTEX-based +installable \CD, for those who prefer that implementation to Web2C. +See section~\ref{sec:overview-tl} (\p.\pageref{sec:overview-tl}). + +\item Within \TL, the single large \dirname{texmf} tree of previous +releases has been replaced by three: \dirname{texmf}, +\dirname{texmf-dist}, and \dirname{texmf-doc}. See +section~\ref{sec:tld} (\p.\pageref{sec:tld}), and the \filename{README} +files for each. + +\item All \TeX-related input files are now collected in +the \dirname{tex} subdirectory of \dirname{texmf*} trees, rather than +having separate sibling directories \dirname{tex}, \dirname{etex}, +\dirname{pdftex}, \dirname{pdfetex}, etc. See +\CDref{texmf-dist/doc/generic/tds/tds.html\#Extensions} +{\texttt{texmf-dist/doc/generic/tds/tds.html\#Extensions}}. + +\item Helper scripts (not meant to be invoked by users) are now located +in a new \dirname{scripts} subdirectory of \dirname{texmf*} trees, and +can be searched for via \verb|kpsewhich -format=texmfscripts|. So if you have +programs which call such scripts, they'll need to be adjusted. See +\CDref{texmf-dist/doc/generic/tds/tds.html\#Scripts} +{\texttt{texmf-dist/doc/generic/tds/tds.html\#Scripts}}. + +\item Almost all formats leave most characters printable as +themselves via the ``translation file'' \filename{cp227.tcx}, instead of +translating them with the \verb|^^| notation. Specifically, characters +at positions 32--256, plus tab, vertical tab, and form feed are +considered printable and not translated. The exceptions are plain \TeX\ +(only 32--126 printable), \ConTeXt\ (0--255 printable), and the +\OMEGA-related formats. This default behavior is almost the same as in +\TL\,2003, but it's implemented more cleanly, with more possibilities +for customization. See \CDref{texmf/doc/web2c/web2c.html\#TCX-files} +{\texttt{texmf/doc/web2c/web2c.html\#TCX-files}}. +(By the way, with Unicode input, \TeX\ may output partial character +sequences when showing error contexts, since it is byte-oriented.) + +\item \textsf{pdfetex} is now the default engine for all formats +except (plain) \textsf{tex} itself. (Of course it generates \acro{DVI} +when run as \textsf{latex}, etc.) This means, among other things, that +the microtypographic features of \textsf{pdftex} are available in +\LaTeX, \ConTeXt, etc., as well as the \eTeX\ features +(\OnCD{texmf-dist/doc/etex/base/}). + +It also means it's \emph{more important than ever} to use the +\pkgname{ifpdf} package (works with both plain and \LaTeX) or equivalent +code, because simply testing whether \cs{pdfoutput} or some other +primitive is defined is not a reliable way to determine if \acro{PDF} +output is being generated. We made this backward compatible as best we +could this year, but next year, \cs{pdfoutput} may be defined even when +\acro{DVI} is being written. + +\item pdf\TeX\ (\url{http://pdftex.org}) has many new features: + + \begin{itemize*} + + \item \cs{pdfmapfile} and \cs{pdfmapline} provide font map support + from within a document. + + \item Microtypographic font expansion can be used more easily.\\ + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} + + \item All parameters previously set through the special configuration + file \filename{pdftex.cfg} must now be set through primitives, + typically in \filename{pdftexconfig.tex}; \filename{pdftex.cfg} is no + longer supported. Any extant \filename{.fmt} files must be redumped + when \filename{pdftexconfig.tex} is changed. + + \item See the pdf\TeX\ manual for more: \OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf}. + + \end{itemize*} + +\item The \cs{input} primitive in \cmdname{tex} (and \cmdname{mf} and +\cmdname{mpost}) now accepts double quotes containing spaces and other +special characters. Typical examples: +\begin{verbatim} +\input "filename with spaces" % plain +\input{"filename with spaces"} % latex +\end{verbatim} +See the Web2C manual for more: \OnCD{texmf/doc/web2c}. + +\item enc\TeX\ support is now included within Web2C and consequently all +\TeX\ programs, via the \optname{-enc} option\Dash \emph{only when +formats are built}. enc\TeX\ supports general re-encoding of input and +output, enabling full support of Unicode (in \acro{UTF}-8). See +\OnCD{texmf-dist/doc/generic/enctex/} and +\url{http://www.olsak.net/enctex.html}. + +\item Aleph, a new engine combining \eTeX\ and \OMEGA, is available. +A little information is available in \OnCD{texmf-dist/doc/aleph/base} +and \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph}. The +\LaTeX-based format for Aleph is named \textsf{lamed}. + +\item The latest \LaTeX\ release has a new version of the +\acro{LPPL}\Dash now officially a Debian-approved license. Assorted +other updates, see the \filename{ltnews} files in +\OnCD{texmf-dist/doc/latex/base}. + +\item \cmdname{dvipng}, a new program for converting \acro{DVI} to +\acro{PNG} image files, is included. See \OnCD{texmf/doc/man/man1/dvipng.1}. + +\item We reduced the \pkgname{cbgreek} package to a ``medium'' sized set +of fonts, with the assent and advice of the author (Claudio Beccari). +The excised fonts are the invisible, outline, and transparency ones, +which are relatively rarely used, and we needed the space. The full set +is of course available from \acro{CTAN} +(\url{http://mirror.ctan.org/tex-archive/fonts/greek/cb}). + +\item \cmdname{oxdvi} has been removed; just use \cmdname{xdvi}. + +\item The \cmdname{ini} and \cmdname{vir} commands (links) for +\cmdname{tex}, \cmdname{mf}, and \cmdname{mpost} are no longer created, +such as \cmdname{initex}. The \cmdname{ini} functionality has been +available through the command-line option \optname{-ini} for years now. + +\item \textsf{i386-openbsd} platform support was removed. Since the +\pkgname{tetex} package in the \acro{BSD} Ports system is available, and +\acro{GNU/}Linux and Free\acro{BSD} binaries were available, it seemed +volunteer time could be better spent elsewhere. + +\item On \textsf{sparc-solaris} (at least), you may have to set the +\envname{LD\_LIBRARY\_PATH} environment variable to run the +\pkgname{t1utils} programs. This is because they are compiled with C++, +and there is no standard location for the runtime libraries. (This is +not new in 2004, but wasn't previously documented.) Similarly, on +\textsf{mips-irix}, the \acro{MIPS}pro 7.4 runtimes are required. + +\end{itemize} + +\subsubsection{2005} + +2005 saw the usual huge number of updates to packages and programs. +The infrastructure stayed relatively stable from 2004, but inevitably +there were some changes there as well: + +\begin{itemize} + +\item New scripts \cmdname{texconfig-sys}, \cmdname{updmap-sys}, and + \cmdname{fmtutil-sys} were introduced, which modify the + configuration in the system trees. The \cmdname{texconfig}, + \cmdname{updmap}, and \cmdname{fmtutil} scripts now modify + user-specific files, under \dirname{$HOME/.texlive2005}. + +\item Corresponding new variables \envname{TEXMFCONFIG} and + \envname{TEXMFSYSCONFIG} to specify the trees where configuration + files (user or system, respectively) are found. Thus, you may + need to move personal versions of \filename{fmtutil.cnf} and + \filename{updmap.cfg} to these places; another option is to + redefine \envname{TEXMFCONFIG} or \envname{TEXMFSYSCONFIG} in + \filename{texmf.cnf}. In any case the real location of these files + and the values of \envname{TEXMFCONFIG} and \envname{TEXMFSYSCONFIG} + must agree. + See section~\ref{sec:texmftrees}, \p.\pageref{sec:texmftrees}. + +\item Last year, we kept \verb|\pdfoutput| and other primitives undefined + for \dvi\ output, even though the \cmdname{pdfetex} program was + being used. This year, as promised, we undid that compatibility + measure. So if your document uses \verb|\ifx\pdfoutput\undefined| + to test if PDF is being output, it will need to be changed. You + can use the package \pkgname{ifpdf.sty} (which works under both + plain \TeX\ and \LaTeX) to do this, or steal its logic. + +\item Last year, we changed most formats to output (8-bit) characters as + themselves (see previous section). The new TCX file + \filename{empty.tcx} now provides an easier way to get the + original \verb|^^| notation if you so desire, as in: +\begin{verbatim} +latex --translate-file=empty.tcx yourfile.tex +\end{verbatim} + +\item The new program \cmdname{dvipdfmx} is included for translation of + DVI to PDF; this is an actively maintained update of + \cmdname{dvipdfm} (which is also still available for now, though + no longer recommended). + +\item The new programs \cmdname{pdfopen} and \cmdname{pdfclose} are included + to allow reloading of pdf files in the Adobe Acrobat Reader without + restarting the program. (Other pdf readers, notably \cmdname{xpdf}, + \cmdname{gv}, and \cmdname{gsview}, have never suffered from this + problem.) + +\item For consistency, the variables \envname{HOMETEXMF} and + \envname{VARTEXMF} have been renamed to \envname{TEXMFHOME} and + \envname{TEXMFSYSVAR}, respectively. There is also + \envname{TEXMFVAR}, which is by default user-specific. See the + first point above. + +\end{itemize} + + +\subsubsection{2006--2007} + +In 2006--2007, the major new addition to \TL{} was the \XeTeX{} program, +available as the \texttt{xetex} and \texttt{xelatex} programs; see +\url{http://scripts.sil.org/xetex}. + +MetaPost also received a notable update, with more planned for the +future (\url{http://tug.org/metapost/articles}), likewise pdf\TeX{} +(\url{http://tug.org/applications/pdftex}). + +The \TeX\ \filename{.fmt} (high-speed format) and the similar files for +MetaPost and \MF\ are now stored in subdirectories of \dirname{texmf/web2c}, +instead of in the directory itself (although the directory is still +searched, for the sake of existing \filename{.fmt}'s). The +subdirectories are named for the `engine' in use, such as \filename{tex} +or \filename{pdftex} or \filename{xetex}. This change should be +invisible in normal use. + +The (plain) \texttt{tex} program no longer reads \texttt{\%\&} first +lines to determine what format to run; it is the pure Knuthian \TeX. +(\LaTeX\ and everything else do still read \texttt{\%\&} lines). + +Of course the year also saw (the usual) hundreds of other updates to +packages and programs. As usual, please check \acro{CTAN} +(\url{http://mirror.ctan.org}) for updates. + +Internally, the source tree is now stored in Subversion, with a standard +web interface for viewing the tree, as linked from our home page. +Although not visible in the final distribution, we expect this will +provide a stable development foundation for future years. + +Finally, in May 2006 Thomas Esser announced that he would no longer be +updating te\TeX{} (\url{http://tug.org/tetex}). As a result, there was +been a surge of interest in \TL{}, especially among \GNU/Linux +distributors. (There is a new \texttt{tetex} installation scheme in +\TL{}, which provides an approximate equivalent.) We hope this will +eventually translate to improvements in the \TeX\ environment for +everyone. + +\subsubsection{2008} + +In 2008, the entire \TL{} infrastructure was redesigned and +reimplemented. Complete information about an installation is now stored +in a plain text file \filename{tlpkg/texlive.tlpdb}. + +Among other things, this finally makes possible upgrading a \TL{} +installation over the Internet after the initial installation, a feature +MiK\TeX\ has provided for many years. We expect to regularly update new +packages as they are released to \CTAN. + +The major new engine Lua\TeX\ (\url{http://luatex.org}) is included; +besides a new level of flexibility in typesetting, this provides an +excellent scripting language for use both inside and outside of \TeX\ +documents. + +Support among Windows and the Unix-based platforms is now much more +uniform. In particular, most Perl and Lua scripts are now available on +Windows, using the Perl internally distributed with \TL. + +The new \cmdname{tlmgr} script (section~\ref{sec:tlmgr}) is the +general interface for managing \TL{} after the initial installation. +It handles package updates and consequent regeneration of formats, map +files, and language files, optionally including local additions. + +With the advent of \cmdname{tlmgr}, the \cmdname{texconfig} actions to +edit the format and hyphenation configuration files are now disabled. + +The \cmdname{xindy} indexing program +(\url{http://xindy.sourceforge.net/}) is now included on most platforms. + +The \cmdname{kpsewhich} tool can now report all matches for a given file +(option \optname{--all}) and limit matches to a given subdirectory +(option \optname{--subdir}). + +The \cmdname{dvipdfmx} program now includes functionality to extract +bounding box information, via the command name \cmdname{extractbb}; this +was one of the last features provided by \cmdname{dvipdfm} not in +\cmdname{dvipdfmx}. + +The font aliases \filename{Times-Roman}, \filename{Helvetica}, and so on +have been removed. Different packages expected them to behave +differently (in particular, to have different encodings), and there was +no good way to resolve this. + +The \pkgname{platex} format has been removed, to resolve a name conflict +with a completely different Japanese \pkgname{platex}; the +\pkgname{polski} package is now the main Polish support. + +Internally, the \web\ string pool files are now compiled into the +binaries, to ease upgrades. + +Finally, the changes made by Donald Knuth in his `\TeX\ tuneup of 2008' +are included in this release. See +\url{http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}. + +\subsubsection{2009} + +In 2009, the default output format for Lua\AllTeX\ is now PDF, to take +advantage of Lua\TeX's OpenType support, et al. New executables named +\code{dviluatex} and \code{dvilualatex} run Lua\TeX\ with DVI output. +The Lua\TeX\ home page is \url{http://luatex.org}. + +The original Omega engine and Lambda format have been excised, after +discussions with the Omega authors. The updated Aleph and Lamed remain, +as do the Omega utilities. + +A new release of the AMS \TypeI\ fonts is included, including Computer +Modern: a few shape changes made over the years by Knuth in the Metafont +sources have been integrated, and the hinting has been updated. The +Euler fonts have been thoroughly reshaped by Hermann Zapf (see +\url{http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf}). In +all cases, the metrics remain unchanged. The AMS fonts home page is +\url{http://www.ams.org/tex/amsfonts.html}. + +The new GUI front end \TeX{}works is included for Windows, and also in +Mac\TeX. For other platforms, and more information, see the \TeX{}works +home page, \url{http://tug.org/texworks}. It is a cross-platform front +end inspired by the \MacOSX\ TeXShop editor, aiming at ease-of-use. + +The graphics program Asymptote is included for several platforms. This +implements a text-based graphics description language vaguely akin to +MetaPost, but with advanced 3D support and other features. Its home +page is \url{http://asymptote.sourceforge.net}. + +The separate \code{dvipdfm} program has been replaced by +\code{dvipdfmx}, which operates in a special compatibility mode under +that name. \code{dvipdfmx} includes \acro{CJK} support and has +accumulated many other fixes over the years since the last +\code{dvipdfm} release. The DVIPDFMx home page is +\url{http://project.ktug.or.kr/dvipdfmx}. + +Executables for the \pkgname{cygwin} and \pkgname{i386-netbsd} platforms +are now included, while we were advised that Open\acro{BSD} users get +\TeX\ through their package systems, plus there were difficulties in +making binaries that have a chance of working on more than one version. + +A miscellany of smaller changes: we now use \pkgname{xz} compression, +the stable replacement for \pkgname{lzma} +(\url{http://tukaani.org/xz/}); a literal |$| is allowed in filenames +when it does not introduce a known variable name; the Kpathsea library +is now multi-threaded (made use of in MetaPost); the entire \TL{} build +is now based on Automake. + +Final note on the past: all releases of \TL{}, along with ancillary +material such as \CD\ labels, are available at +\url{ftp://tug.org/historic/systems/texlive}. + + +\subsubsection{2010} +\label{sec:2010news} % keep with 2010 + +In 2010, the default version for PDF output is now 1.5, enabling more +compression. This applies to all the \TeX\ engines when used to produce +PDF and to \code{dvipdfmx}. Loading the \pkgname{pdf14} \LaTeX\ package +changes back to PDF~1.4, or set |\pdfminorversion=4|. + +pdf\AllTeX\ now \emph{automatically} converts a requested Encapsulated +PostScript (EPS) file to PDF, via the \pkgname{epstopdf} package, when +and if the \LaTeX\ \code{graphics.cfg} configuration file is loaded, and +PDF is being output. The default options are intended to eliminate any +chance of hand-created PDF files being overwritten, but you can also +prevent \code{epstopdf} from being loaded at all by putting +|\newcommand{\DoNotLoadEpstopdf}{}| (or |\def...|) before the +\cs{documentclass} declaration. It is also not loaded if the +\pkgname{pst-pdf} package is used. For more details, see the +\pkgname{epstopdf} package documentation +(\url{http://ctan.org/pkg/epstopdf-pkg}). + +A related change is that execution of a very few external commands from +\TeX, via the \cs{write18} feature, is now enabled by default. These +are commands are \code{repstopdf}, \code{makeindex}, \code{kpsewhich}, +\code{bibtex}, and \code{bibtex8}; the list is defined in +\code{texmf.cnf}. Environments which must disallow all such external +commands can deselect this option in the installer (see +section~\ref{sec:options}), or override the value after installation by +running |tlmgr conf texmf shell_escape 0|. + +Yet another related change is that \BibTeX\ and Makeindex now refuse to +write their output files to an arbitrary directory (like \TeX\ itself), +by default. This is so they can now be enabled for use by the +restricted \cs{write18}. To change this, the \envname{TEXMFOUTPUT} +environment variable can be set, or the |openout_any| setting changed. + +\XeTeX\ now supports margin kerning along the same lines as pdf\TeX. +(Font expansion is not presently supported.) + +By default, \prog{tlmgr} now saves one backup of each package updated +(\code{tlmgr option autobackup 1}), so broken packages updates can be +easily reverted with \code{tlmgr restore}. If you do post-install +updates, and don't have the disk space for the backups, run \code{tlmgr +option autobackup 0}. + +New programs included: the p\TeX\ engine and related utilities for +typesetting Japanese; the \BibTeX{}U program for Unicode-enabled +\BibTeX; the \prog{chktex} utility +(\url{http://baruch.ev-en.org/proj/chktex}) for checking \AllTeX\ +documents; the \prog{dvisvgm} (\url{http://dvisvgm.sourceforge.net}) +DVI-to-SVG translator. + +Executables for these new platforms are now included: \code{amd64-freebsd}, +\code{amd64-kfreebsd}, \code{i386-freebsd}, \code{i386-kfreebsd}, +\code{x86\_64-darwin}, \code{x86\_64-solaris}. + +A change in \TL{} 2009 that we failed to note: numerous \TeX4ht-related +executables (\url{http://tug.org/tex4ht}) were removed from the binary +directories. The generic \code{mk4ht} program can be used to run any of +the various \code{tex4ht} combinations. + +Finally, the \TL{} release on the \TK\ \DVD\ can no longer be run live +(oddly enough). A single \DVD\ no longer has enough room. One +beneficial side effect is that installation from the physical \DVD\ is +much faster. + +\subsubsection{2011} + +The \MacOSX\ binaries (\code{universal-darwin} and +\code{x86\_64-darwin}) now work only on Leopard or later; Panther and +Tiger are no longer supported. + +The \code{biber} program for bibliography processing is included on +common platforms. Its development is closely coupled with the +\code{biblatex} package, which completely reimplements the +bibliographical facilities provided by LaTeX. + +The MetaPost (\code{mpost}) program no longer creates or uses +\code{.mem} files. The needed files, such as \code{plain.mp}, are +simply read on every run. This is related to supporting MetaPost as a +library, which is another significant though not user-visible change. + +The \code{updmap} implementation in Perl, previously used only on +Windows, has been revamped and is now used on all platforms. There +shouldn't be any user-visible changes as a result, except that it runs +much faster. + +The \cmdname{initex} and \cmdname{inimf} programs were restored (but no +other \cmd{ini*} variants). + +% +\htmlanchor{news} +\subsection{Present} +\label{sec:tlcurrent} + +\code{tlmgr} supports updates from multiple network repositories. The +section on multiple repositories in the \code{tlmgr help} output has +more. + +The parameter \cs{XeTeXdashbreakstate} is set to~1 by default, for both +\code{xetex} and \code{xelatex}. This allows line breaks after +em-dashes and en-dashes, which has always been the behavior of plain +\TeX, \LaTeX, Lua\TeX, etc. Existing \XeTeX\ documents which must +retain perfect line-break compatibility will need to set +\cs{XeTeXdashbreakstate} to~0 explicitly. + +The output files generated by \code{pdftex} and \code{dvips}, among +others, can now exceed 2gb. + +The 35 standard PostScript fonts are included in the output of +\code{dvips} by default, since so many different versions of them are +extant. + +In the restricted \cs{write18} execution mode, set by default, +\code{mpost} is now an allowed program. + +A \code{texmf.cnf} file is also found in \filename{../texmf-local}, +e.g., \filename{/usr/local/texlive/texmf-local/web2c/texmf.cnf}, if it +exists. + +The \code{updmap} script reads a per-tree \code{updmap.cfg} instead of +one global config. This change should be invisible, unless you edited +your updmap.cfg's directly. The \code{updmap --help} output has more. + +Platforms: \pkgname{armel-linux} and \pkgname{mipsel-linux} added; +\pkgname{sparc-linux} and \pkgname{i386-netbsd} are no longer in the +main distribution, but are available for installation as custom +binaries, along with a variety of other platforms: +\url{http://tug.org/texlive/custom-bin.html}. + + +\subsection{Future} + +\emph{\TL{} is not perfect!} (And never will be.) We intend to +continue to release new versions, and would like to provide more help +material, more utilities, more installation programs, and (of course) an +ever-improved and better-checked tree of macros and fonts. This work is +all done by volunteers in their spare time, and so there is always more +to do. Please see \url{http://tug.org/texlive/contribute.html}. + +Please send corrections, suggestions, and offers of help to: +\begin{quote} +\email{tex-live@tug.org} \\ +\url{http://tug.org/texlive} +\end{quote} + +\medskip +\noindent \textsl{Happy \TeX ing!} + +\end{document} diff --git a/Master/texmf-dist/doc/texlive/texlive-fr/Makefile b/Master/texmf-dist/doc/texlive/texlive-fr/Makefile new file mode 100644 index 00000000000..ad5d26d2c34 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-fr/Makefile @@ -0,0 +1,4 @@ +include ../texlive-en/Makefile +doc = texlive-fr + + diff --git a/Master/texmf-dist/doc/texlive/texlive-fr/live4ht.cfg b/Master/texmf-dist/doc/texlive/texlive-fr/live4ht.cfg new file mode 100644 index 00000000000..4da18b3c746 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-fr/live4ht.cfg @@ -0,0 +1,47 @@ +% tex4ht configuration file for the TeX Live documentation. +% Accumulated over many years. Public domain. +% +% html specifies the main output format. +% info for extra debugging info in the log files. + +% better approach is to have html in one piece (including footnotes). +% charset=utf-8 fails for French, all accented letters get lost. +\Preamble{html,info,fn-in} + +% add extra stylesheet +\Configure{@HEAD}{\HCode{% +<link rel="stylesheet" type="text/css" href="\jobname.css" />\Hnewline +<link rel="stylesheet" type="text/css" href="tex-live.css" />\Hnewline +}} + +% or LaTeX complains it is missing. +\begin{document} + +\EndPreamble + +% simplify output for HTML. We leave TeX and LaTeX alone, since tex4ht +% actually does the lowered E (and raised A) in CSS. +\def\OMEGA{Omega} +\def\LaTeXe{LaTeX2e} +\def\eTeX{e-\TeX} +\def\acro#1{#1} +\def\MF{Metafont} +\def\BibTeX{BibTeX} +\def\warningbox{} +\def\endwarningbox{} + +\newif\ifhackliterals +\ifx\tldocenglish\undefined \else \hackliteralstrue \fi +\ifx\tldocrussian\undefined \else \hackliteralstrue \fi +\ifx\tldocgerman\undefined \else \hackliteralstrue \fi +% +\ifhackliterals + % these definitions cause "missing } inserted" at \end{tabularx} in + % French and Czech. don't know why. + % + % don't make these into links, as happens with \path. We only have a couple + % special characters that actually occur. + \def\dirname{\texttt\bgroup\catcode`\$=12 \catcode`\_=12 \finishliteral} + \def\finishliteral#1{#1\egroup} + \let\filename=\dirname +\fi diff --git a/Master/texmf-dist/doc/texlive/texlive-fr/notes b/Master/texmf-dist/doc/texlive/texlive-fr/notes new file mode 100644 index 00000000000..75d4504473a --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-fr/notes @@ -0,0 +1,83 @@ +Notes sur la VF +--------------- + +1976: trop d'espace avant le alltt, ou pas assez après. À régler dans le +préambule ? + +Suggestions pour texlive-en.tex +------------------------------- + +win32 supported: add Seven + +3.1: be clearer about admin install (in general) + +Ajout df, fin de 1.1 : +Les utilisateurs des éditions précédentes de \TL{} sont invités +à lire, \emph{avant toute mise à jour}, la section~\ref{sec:tlcurrent} +page~\pageref{sec:tlcurrent} qui présente les principaux changements intervenus +cette année. + +233: the translated README's are no more at the top-level, but +in readme-*.dir as described above. + +244: maybe mention that the TeX Live documentation is what the +reader is currently reading? + +271: addition by df: nothing should be manually added, modified +of removed from this tree. (mpg: actually, this is a common mistake) + +326: addition by df: eg, \dirname{texmf/tex/latex} for you +personnal LaTeX macros files. + +369: xetex/ (trailing slash) + +678: the numbering is weird (a, c, e, f, ...) and + +804: additional precisions here may be useful, like: +"The default paper size selection for tools such as \prog{dvips}, \prog{pdftex}, +\prog{xdvi}. It does not influence, and may be overridden by, the default paper +size used by macros such as the LaTeX classes and packages. Of course, +individual document..." + +816: is it clear for everyone that the context here is \write18? +"execution of external programs" does not seem explicit enough to me. + +1042: s/filename/pkgname/ + +1053: Isn't conf.d Debian-specific? + +1142: "this" looks like it means "using XeTeX", but probably +refers to "installing fonts". + +1236: the first sentence is about system fonts, while the end of +the paragraph says \TL fonts. Which one is correct? + +1267: quite messy, sometimes the description says "is free +software", sometimes not. We'd better say "all are free software unless stated +otherwise". We could say which items are Windows-only. Why is there 2 Emacs +items? Concerning Vim, add a reference to latex-suite. Why not put TW first, +then other free cross-platform software, then free platform-specific, then +non-free? Add Kile for Linux? + +1296: the term "installation" may be confusing (I thought it was +about the net installer first), maybe "using TL from a network" would be better? + +1340: addition by df: nothing is touched on the host system +outside ~/.tlportable2009 + +1389: s/location/repository/ + +1506: IMO, TeXworks should come first, and Perl/GS last (I doubt +the average user cares about it). + +1544: s/Xe\TeX/\XeTeX/ (in other places, too) + +1562: this section sounds rather theoretical: how does all this relate to TL? + +3076: Final note on the past is \section{Present}??? + +Suggestions pour texlive-en.sty +------------------------------- + +- TeXworks logo, XeTeX logo? +- More systematic use of \xspace? diff --git a/Master/texmf-dist/doc/texlive/texlive-fr/tex-live.css b/Master/texmf-dist/doc/texlive/texlive-fr/tex-live.css new file mode 100644 index 00000000000..5062bc0d229 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-fr/tex-live.css @@ -0,0 +1,44 @@ +/* $Id$ + Simple CSS for TeX Live that adds margins and a little color. + original by Bzyl Wlodzimierz, edited by Karl Berry, 2005. + Public domain. */ + +html { + // top left bottom right + margin: 15pt 15pt 15pt 15pt; + background: rgb(255,255,224); +} + +body { + margin: 0 5pt 0 5pt; + padding: 0; + //matw: background: rgb(224,255,224); + // (It looks better to me to have a consistent background --karl) +// fonts in browser are low resolution; +// therefore generated serif are poor quality, +// so they disturb reading (that is my opinion) + font-family: sans-serif; + font-style: normal; +} + +/* (It looks better to me to not vary colors at every level --karl) */ + +h3.sectionHead { + padding: 12pt 10pt 12pt 20pt; + //matw: background: rgb(192,224,255); + background: rgb(224,224,255); + color: rgb(0,0,32); +} + +h4.subsectionHead { + padding: 7pt 10pt 7pt 40pt; + background: rgb(224,224,255); + color: rgb(0,0,32); +} + +h5.subsubsectionHead { + padding: 3pt 10pt 3pt 40pt; + //matw: background: rgb(224,255,255); + background: rgb(224,224,255); + color: rgb(0,0,32); +} diff --git a/Master/texmf-dist/doc/texlive/texlive-fr/texlive-fr.css b/Master/texmf-dist/doc/texlive/texlive-fr/texlive-fr.css new file mode 100644 index 00000000000..42ab2f78e4c --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-fr/texlive-fr.css @@ -0,0 +1,478 @@ + +/* start css.sty */ +.ec-lmri-12x-x-172{font-size:206%; font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmss-17{font-size:170%; font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmr-12{font-size:120%;} +.lmsy-10x-x-120{font-size:120%;} +.ec-lmtt-12{font-size:120%; font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmri-12{font-size:120%; font-style:italic;} +.ec-lmri-12{ font-style:italic;} +.ec-lmri-12{ font-style:italic;} +.ec-lmri-12{ font-style:italic;} +.ec-lmri-12{ font-style:italic;} +.ec-lmri-12{ font-style:italic;} +.ec-lmri-12{ font-style:italic;} +.ec-lmri-12{ font-style:italic;} +.ec-lmri-12{ font-style:italic;} +.ec-lmri-12{ font-style:italic;} +.ec-lmri-12{ font-style:italic;} +.ec-lmri-12{ font-style:italic;} +.ec-lmri-12{ font-style:italic;} +.ec-lmri-12{ font-style:italic;} +.ec-lmri-12{ font-style:italic;} +.ec-lmri-12{ font-style:italic;} +.ec-lmri-12{ font-style:italic;} +.ec-lmri-12{ font-style:italic;} +.ec-lmri-12{ font-style:italic;} +.ec-lmri-12{ font-style:italic;} +.ec-lmri-12{ font-style:italic;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmr-9{font-size:90%;} +.ec-lmr-8{font-size:80%;} +.ec-lmri-8{font-size:80%; font-style:italic;} +.ec-lmri-8{ font-style:italic;} +.ec-lmri-8{ font-style:italic;} +.ec-lmri-8{ font-style:italic;} +.ec-lmri-8{ font-style:italic;} +.ec-lmri-8{ font-style:italic;} +.ec-lmri-8{ font-style:italic;} +.ec-lmri-8{ font-style:italic;} +.ec-lmri-8{ font-style:italic;} +.ec-lmri-8{ font-style:italic;} +.ec-lmri-8{ font-style:italic;} +.ec-lmri-8{ font-style:italic;} +.ec-lmri-8{ font-style:italic;} +.ec-lmri-8{ font-style:italic;} +.ec-lmri-8{ font-style:italic;} +.ec-lmri-8{ font-style:italic;} +.ec-lmri-8{ font-style:italic;} +.ec-lmri-8{ font-style:italic;} +.ec-lmri-8{ font-style:italic;} +.ec-lmri-8{ font-style:italic;} +.ec-lmri-8{ font-style:italic;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtt-8{font-size:80%; font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmtt-9{font-size:90%; font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmssbx-10{ font-family: sans-serif; font-weight: bold;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmr-7{font-size:70%;} +p.noindent { text-indent: 0em } +td p.noindent { text-indent: 0em; margin-top:0em; } +p.nopar { text-indent: 0em; } +p.indent{ text-indent: 1.5em } +@media print {div.crosslinks {visibility:hidden;}} +a img { border-top: 0; border-left: 0; border-right: 0; } +center { margin-top:1em; margin-bottom:1em; } +td center { margin-top:0em; margin-bottom:0em; } +.Canvas { position:relative; } +img.math{vertical-align:middle;} +li p.indent { text-indent: 0em } +li p:first-child{ margin-top:0em; } +li p:last-child, li div:last-child { margin-bottom:0.5em; } +li p~ul:last-child, li p~ol:last-child{ margin-bottom:0.5em; } +.enumerate1 {list-style-type:decimal;} +.enumerate2 {list-style-type:lower-alpha;} +.enumerate3 {list-style-type:lower-roman;} +.enumerate4 {list-style-type:upper-alpha;} +div.newtheorem { margin-bottom: 2em; margin-top: 2em;} +.obeylines-h,.obeylines-v {white-space: nowrap; } +div.obeylines-v p { margin-top:0; margin-bottom:0; } +.overline{ text-decoration:overline; } +.overline img{ border-top: 1px solid black; } +td.displaylines {text-align:center; white-space:nowrap;} +.centerline {text-align:center;} +.rightline {text-align:right;} +div.verbatim {font-family: monospace; white-space: nowrap; text-align:left; clear:both; } +.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +div.fbox {display:table} +div.center div.fbox {text-align:center; clear:both; padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +div.minipage{width:100%;} +div.center, div.center div.center {text-align: center; margin-left:1em; margin-right:1em;} +div.center div {text-align: left;} +div.flushright, div.flushright div.flushright {text-align: right;} +div.flushright div {text-align: left;} +div.flushleft {text-align: left;} +.underline{ text-decoration:underline; } +.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; } +.framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +.framebox-c {text-align:center;} +.framebox-l {text-align:left;} +.framebox-r {text-align:right;} +span.thank-mark{ vertical-align: super } +span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript{ font-size:80%; } +div.footnotes{border-top:solid 1px black; border-bottom:solid 1px black; padding-bottom:1ex; padding-top:0.5ex; margin-right:15%; margin-top:2ex; font-style:italic; font-size:85%;} +div.footnotes p{margin-top:0; margin-bottom:0; text-indent:0;} +div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; } +table.tabular td p{margin-top:0em;} +table.tabular {margin-left: auto; margin-right: auto;} +td p:first-child{ margin-top:0em; } +td p:last-child{ margin-bottom:0em; } +div.td00{ margin-left:0pt; margin-right:0pt; } +div.td01{ margin-left:0pt; margin-right:5pt; } +div.td10{ margin-left:5pt; margin-right:0pt; } +div.td11{ margin-left:5pt; margin-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +td.td00{ padding-left:0pt; padding-right:0pt; } +td.td01{ padding-left:0pt; padding-right:5pt; } +td.td10{ padding-left:5pt; padding-right:0pt; } +td.td11{ padding-left:5pt; padding-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +.hline hr, .cline hr{ height : 1px; margin:0px; } +.tabbing-right {text-align:right;} +span.TEX {letter-spacing: -0.125em; } +span.TEX span.E{ position:relative;top:0.5ex;left:-0.0417em;} +a span.TEX span.E {text-decoration: none; } +span.LATEX span.A{ position:relative; top:-0.5ex; left:-0.4em; font-size:85%;} +span.LATEX span.TEX{ position:relative; left: -0.4em; } +div.float, div.figure {margin-left: auto; margin-right: auto;} +div.float img {text-align:center;} +div.figure img {text-align:center;} +.marginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;} +.marginpar p{margin-top:0.4em; margin-bottom:0.4em;} +table.equation {width:100%;} +.equation td{text-align:center; } +td.equation { margin-top:1em; margin-bottom:1em; } +td.equation-label { width:5%; text-align:center; } +td.eqnarray4 { width:5%; white-space: normal; } +td.eqnarray2 { width:5%; } +table.eqnarray-star, table.eqnarray {width:100%;} +div.eqnarray{text-align:center;} +div.array {text-align:center;} +div.pmatrix {text-align:center;} +table.pmatrix {width:100%;} +span.pmatrix img{vertical-align:middle;} +div.pmatrix {text-align:center;} +table.pmatrix {width:100%;} +span.bar-css {text-decoration:overline;} +img.cdots{vertical-align:middle;} +div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; } +table.tabular td p{margin-top:0em;} +table.tabular {margin-left: auto; margin-right: auto;} +td p:first-child{ margin-top:0em; } +td p:last-child{ margin-bottom:0em; } +div.td00{ margin-left:0pt; margin-right:0pt; } +div.td01{ margin-left:0pt; margin-right:5pt; } +div.td10{ margin-left:5pt; margin-right:0pt; } +div.td11{ margin-left:5pt; margin-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +td.td00{ padding-left:0pt; padding-right:0pt; } +td.td01{ padding-left:0pt; padding-right:5pt; } +td.td10{ padding-left:5pt; padding-right:0pt; } +td.td11{ padding-left:5pt; padding-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +.hline hr, .cline hr{ height : 1px; margin:0px; } +div.array {text-align:center;} +.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; font-weight:bold; font-size:110%;} +.index-item, .index-subitem, .index-subsubitem {display:block} +div.caption {text-indent:-2em; margin-left:3em; margin-right:1em; text-align:left;} +div.caption span.id{font-weight: bold; white-space: nowrap; } +h1.partHead{text-align: center} +p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } +p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } +.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;} +.subparagraphHead, .likesubparagraphHead { font-weight: bold;} +.quote {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; margin-right:1em; text-align:justify;} +.verse{white-space:nowrap; margin-left:2em} +div.maketitle {text-align:center;} +h2.titleHead{text-align:center;} +div.maketitle{ margin-bottom: 2em; } +div.author, div.date {text-align:center;} +div.thanks{text-align:left; margin-left:10%; font-size:85%; font-style:italic; } +.quotation {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; } +.abstract p {margin-left:5%; margin-right:5%;} +div.abstract {width:100%;} +.frenchb-nbsp{font-size:75%;} +.frenchb-thinspace{font-size:75%;} +.alltt P { margin-bottom : 0em; margin-top : 0em; } +.alltt { margin-bottom : 1em; margin-top : 1em; } +.figure img.graphics {margin-left:10%;} +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +div.longtable{text-align:center;} +.uline{ text-decoration:underline; } +.uuline{ text-decoration:underline; } +span.sout {text-decoration: line-through } +span.xout {text-decoration: line-through } +span.uwave {text-decoration:underline } +P.fancyvrb {white-space: nowrap; margin:0em;} +div#fancyvrb1{ border-top: solid 0.4pt; } +div#fancyvrb1{ border-left: solid 0.4pt; } +div#fancyvrb1{ border-bottom: solid 0.4pt; } +div#fancyvrb1{ border-right: solid 0.4pt; } +div#fancyvrb2{ border-top: solid 0.4pt; } +div#fancyvrb2{ border-left: solid 0.4pt; } +div#fancyvrb2{ border-bottom: solid 0.4pt; } +div#fancyvrb2{ border-right: solid 0.4pt; } +div#fancyvrb3{ border-top: solid 0.4pt; } +div#fancyvrb3{ border-left: solid 0.4pt; } +div#fancyvrb3{ border-bottom: solid 0.4pt; } +div#fancyvrb3{ border-right: solid 0.4pt; } +div#fancyvrb4{ border-top: solid 0.4pt; } +div#fancyvrb4{ border-left: solid 0.4pt; } +div#fancyvrb4{ border-bottom: solid 0.4pt; } +div#fancyvrb4{ border-right: solid 0.4pt; } +/* end css.sty */ + diff --git a/Master/texmf-dist/doc/texlive/texlive-fr/texlive-fr.html b/Master/texmf-dist/doc/texlive/texlive-fr/texlive-fr.html new file mode 100644 index 00000000000..79a9411e08c --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-fr/texlive-fr.html @@ -0,0 +1,6668 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" + "http://www.w3.org/TR/html4/loose.dtd"> +<html xml:lang="fr" > +<head> +<title>Guide pratique de TeX Live +TeX Live 2012</title> +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> +<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> +<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> +<!-- charset=iso-8859-1,html,info,fn-in --> +<meta name="src" content="texlive-fr.tex"> +<meta name="date" content="2012-06-01 20:50:00"> +<link rel="stylesheet" type="text/css" href="texlive-fr.css"> +<link rel="stylesheet" type="text/css" href="texlive-fr.css" > +<link rel="stylesheet" type="text/css" href="tex-live.css" > +</head><body +> +<div class="maketitle"> + + + + + +<h2 class="titleHead">Guide pratique de <span class="TEX">T<span +class="E">E</span>X</span> Live<br /> +<span class="TEX">T<span +class="E">E</span>X</span> Live 2012</h2> + <div class="author" > <span +class="ec-lmr-12">Karl Berry, </span><span +class="ec-lmr-12">éditeur</span> +<br /> <a +href="http://tug.org/texlive/" class="url" ><span +class="ec-lmtt-12">http://tug.org/texlive/</span></a> +<br /> <span +class="ec-lmri-12">Version fran</span><span +class="ec-lmri-12">çaise</span> +<br /> <span +class="ec-lmr-12">Manuel P</span><span +class="ec-lmr-12">égouri</span><span +class="ec-lmr-12">é-Gonnard</span><span class="thank-mark"><a +href="#tk-1" id="kt-1"><span +class="lmsy-10x-x-120">*</span></a></span> </div> +<br /> +<div class="date" ><span +class="ec-lmr-12">Juin 2012</span></div> +</div> +<h3 class="likesectionHead"><a + id="x1-1000"></a>Table des matières</h3> +<div class="tableofcontents"> +<span class="sectionToc" >1 <a +href="#x1-20001" id="QQ2-1-2">Introduction</a></span> +<br /> <span class="subsectionToc" >1.1 <a +href="#x1-30001.1" id="QQ2-1-3">TEX Live et TEX Collection</a></span> +<br /> <span class="subsectionToc" >1.2 <a +href="#x1-40001.2" id="QQ2-1-4">Support des différents systèmes d’exploitation</a></span> +<br /> <span class="subsectionToc" >1.3 <a +href="#x1-50001.3" id="QQ2-1-5">Installation élémentaire de TEX Live</a></span> +<br /> <span class="subsectionToc" >1.4 <a +href="#x1-60001.4" id="QQ2-1-6">Remarques sur la sécurité</a></span> +<br /> <span class="subsectionToc" >1.5 <a +href="#x1-70001.5" id="QQ2-1-7">Obtenir de l’aide</a></span> +<br /><span class="sectionToc" >2 <a +href="#x1-80002" id="QQ2-1-8">Structure de TEX Collection</a></span> +<br /> <span class="subsectionToc" >2.1 <a +href="#x1-90002.1" id="QQ2-1-9">TEX Collection : TEX Live, proTEXt, MacTEX</a></span> +<br /> <span class="subsectionToc" >2.2 <a +href="#x1-100002.2" id="QQ2-1-10">Répertoires situés à la racine de TEX Live</a></span> +<br /> <span class="subsectionToc" >2.3 <a +href="#x1-110002.3" id="QQ2-1-11">Description des arborescences « texmf » de TEX Live</a></span> +<br /> <span class="subsectionToc" >2.4 <a +href="#x1-120002.4" id="QQ2-1-12">Les extensions de TEX</a></span> +<br /> <span class="subsectionToc" >2.5 <a +href="#x1-130002.5" id="QQ2-1-13">Quelques autres programmes intéressants dans TEX Live</a></span> +<br /> <span class="subsectionToc" >2.6 <a +href="#x1-140002.6" id="QQ2-1-14">Fontes incluses dans TEX Live</a></span> +<br /><span class="sectionToc" >3 <a +href="#x1-150003" id="QQ2-1-15">Installation</a></span> +<br /> <span class="subsectionToc" >3.1 <a +href="#x1-160003.1" id="QQ2-1-16">Démarrage de l’installation</a></span> +<br />  <span class="subsubsectionToc" >3.1.1 <a +href="#x1-170003.1.1" id="QQ2-1-17">Installation sous Unix</a></span> +<br />  <span class="subsubsectionToc" >3.1.2 <a +href="#x1-180003.1.2" id="QQ2-1-18">Installation sous Mac OS X</a></span> +<br />  <span class="subsubsectionToc" >3.1.3 <a +href="#x1-190003.1.3" id="QQ2-1-19">Installation sous Windows</a></span> +<br />  <span class="subsubsectionToc" >3.1.4 <a +href="#x1-200003.1.4" id="QQ2-1-23">Installation sous Cygwin</a></span> +<br />  <span class="subsubsectionToc" >3.1.5 <a +href="#x1-210003.1.5" id="QQ2-1-24">Installation en mode texte</a></span> +<br />  <span class="subsubsectionToc" >3.1.6 <a +href="#x1-220003.1.6" id="QQ2-1-25">Installation en mode graphique-expert</a></span> +<br />  <span class="subsubsectionToc" >3.1.7 <a +href="#x1-230003.1.7" id="QQ2-1-26">L’installation en mode magique</a></span> +<br /> <span class="subsectionToc" >3.2 <a +href="#x1-240003.2" id="QQ2-1-27">Choix des options d’installation</a></span> +<br />  <span class="subsubsectionToc" >3.2.1 <a +href="#x1-250003.2.1" id="QQ2-1-28">Choix des binaires (Unix seulement)</a></span> +<br />  <span class="subsubsectionToc" >3.2.2 <a +href="#x1-260003.2.2" id="QQ2-1-30">Sélection de ce qui va être installé</a></span> +<br />  <span class="subsubsectionToc" >3.2.3 <a +href="#x1-270003.2.3" id="QQ2-1-33">Répertoires d’installation</a></span> + + +<br />  <span class="subsubsectionToc" >3.2.4 <a +href="#x1-280003.2.4" id="QQ2-1-34">Options</a></span> +<br /> <span class="subsectionToc" >3.3 <a +href="#x1-290003.3" id="QQ2-1-36">Options de install-tl en ligne de commande</a></span> +<br />  <span class="subsubsectionToc" >3.3.1 <a +href="#x1-300003.3.1" id="QQ2-1-37">L’option <span +class="ec-lmtt-10">-repository</span></a></span> +<br /> <span class="subsectionToc" >3.4 <a +href="#x1-310003.4" id="QQ2-1-38">Étapes post-installation</a></span> +<br />  <span class="subsubsectionToc" >3.4.1 <a +href="#x1-320003.4.1" id="QQ2-1-39">Variables d’environnement sous Unix</a></span> +<br />  <span class="subsubsectionToc" >3.4.2 <a +href="#x1-330003.4.2" id="QQ2-1-40">Variables d’environnement : configuration multi-utilisateur</a></span> +<br />  <span class="subsubsectionToc" >3.4.3 <a +href="#x1-340003.4.3" id="QQ2-1-41">Mises à jour par Internet après une installation par le DVD</a></span> +<br /> <span class="subsectionToc" >3.5 <a +href="#x1-350003.5" id="QQ2-1-42">Configuration des fontes pour XeTEX et LuaTEX</a></span> +<br />  <span class="subsubsectionToc" >3.5.1 <a +href="#x1-360003.5.1" id="QQ2-1-43">ConTEXt Mark IV</a></span> +<br />  <span class="subsubsectionToc" >3.5.2 <a +href="#x1-370003.5.2" id="QQ2-1-44">Ajout de fichiers locaux ou personnels</a></span> +<br />  <span class="subsubsectionToc" >3.5.3 <a +href="#x1-380003.5.3" id="QQ2-1-45">Ajout de fontes externes à TEX Live</a></span> +<br /> <span class="subsectionToc" >3.6 <a +href="#x1-390003.6" id="QQ2-1-46">Tester l’installation</a></span> +<br /> <span class="subsectionToc" >3.7 <a +href="#x1-400003.7" id="QQ2-1-47">Liens vers d’autres logiciels téléchargeables</a></span> +<br /><span class="sectionToc" >4 <a +href="#x1-410004" id="QQ2-1-48">Installations spécialisées</a></span> +<br /> <span class="subsectionToc" >4.1 <a +href="#x1-420004.1" id="QQ2-1-49">Installation partagée entre plusieurs utilisateurs ou machines</a></span> +<br /><span class="sectionToc" >5 <a +href="#x1-430005" id="QQ2-1-50">Installations « portable » de TEX Live</a></span> +<br /> <span class="subsectionToc" >5.1 <a +href="#x1-440005.1" id="QQ2-1-51">Installation sur DVD ou image ISO</a></span> +<br /><span class="sectionToc" >6 <a +href="#x1-450006" id="QQ2-1-52">Maintenance de l’installation avec <span +class="ec-lmss-10">tlmgr</span></a></span> +<br /> <span class="subsectionToc" >6.1 <a +href="#x1-460006.1" id="QQ2-1-56"><span +class="ec-lmss-10">tlmgr </span>en mode graphique</a></span> +<br /> <span class="subsectionToc" >6.2 <a +href="#x1-470006.2" id="QQ2-1-57">Exemples d’utilisation de <span +class="ec-lmss-10">tlmgr </span>en ligne de commande</a></span> +<br /><span class="sectionToc" >7 <a +href="#x1-480007" id="QQ2-1-58">Notes concernant Windows</a></span> +<br /> <span class="subsectionToc" >7.1 <a +href="#x1-490007.1" id="QQ2-1-59">Fonctionnalités supplémentaires à l’installation</a></span> +<br /> <span class="subsectionToc" >7.2 <a +href="#x1-500007.2" id="QQ2-1-60">Programmes supplémentaires</a></span> +<br /> <span class="subsectionToc" >7.3 <a +href="#x1-510007.3" id="QQ2-1-62">Répertoire personnel</a></span> +<br /> <span class="subsectionToc" >7.4 <a +href="#x1-520007.4" id="QQ2-1-63">Base de registre Windows</a></span> +<br /> <span class="subsectionToc" >7.5 <a +href="#x1-530007.5" id="QQ2-1-64">Droits d’accès sous Windows</a></span> +<br />  <span class="subsubsectionToc" >7.5.1 <a +href="#x1-540007.5.1" id="QQ2-1-65">Augmentation de la limite de mémoire sous Windows et Cygwin</a></span> +<br /><span class="sectionToc" >8 <a +href="#x1-550008" id="QQ2-1-66">Guide d’utilisation du système Web2C</a></span> +<br /> <span class="subsectionToc" >8.1 <a +href="#x1-560008.1" id="QQ2-1-67">Kpathsea et la recherche de fichiers</a></span> +<br />  <span class="subsubsectionToc" >8.1.1 <a +href="#x1-570008.1.1" id="QQ2-1-68">Les différentes sources</a></span> +<br />  <span class="subsubsectionToc" >8.1.2 <a +href="#x1-580008.1.2" id="QQ2-1-69">Fichiers de configuration</a></span> +<br />  <span class="subsubsectionToc" >8.1.3 <a +href="#x1-590008.1.3" id="QQ2-1-70">Expansion d’un chemin de recherche</a></span> +<br />  <span class="subsubsectionToc" >8.1.4 <a +href="#x1-600008.1.4" id="QQ2-1-71">Expansion par défaut</a></span> +<br />  <span class="subsubsectionToc" >8.1.5 <a +href="#x1-610008.1.5" id="QQ2-1-72">Expansion spécifiée par les accolades</a></span> +<br />  <span class="subsubsectionToc" >8.1.6 <a +href="#x1-620008.1.6" id="QQ2-1-73">Expansion des sous-répertoires</a></span> +<br />  <span class="subsubsectionToc" >8.1.7 <a +href="#x1-630008.1.7" id="QQ2-1-74">Liste des caractères spéciaux et de leur signification : récapitulatif</a></span> +<br /> <span class="subsectionToc" >8.2 <a +href="#x1-640008.2" id="QQ2-1-75">Les bases de données</a></span> +<br />  <span class="subsubsectionToc" >8.2.1 <a +href="#x1-650008.2.1" id="QQ2-1-76">Le fichier base de données</a></span> +<br />  <span class="subsubsectionToc" >8.2.2 <a +href="#x1-660008.2.2" id="QQ2-1-77">kpsewhich : programme de recherche dans une arborescence</a></span> +<br />  <span class="subsubsectionToc" >8.2.3 <a +href="#x1-670008.2.3" id="QQ2-1-78">Exemples d’utilisation</a></span> +<br />  <span class="subsubsectionToc" >8.2.4 <a +href="#x1-680008.2.4" id="QQ2-1-79">Opérations de débogage</a></span> +<br /> <span class="subsectionToc" >8.3 <a +href="#x1-690008.3" id="QQ2-1-83">Options à l’exécution</a></span> +<br /><span class="sectionToc" >9 <a +href="#x1-700009" id="QQ2-1-84">Remerciements</a></span> +<br /><span class="sectionToc" >10 <a +href="#x1-7100010" id="QQ2-1-85">Historique des versions successives</a></span> +<br /> <span class="subsectionToc" >10.1 <a +href="#x1-7200010.1" id="QQ2-1-86">Les éditions précédentes</a></span> +<br />  <span class="subsubsectionToc" >10.1.1 <a +href="#x1-7300010.1.1" id="QQ2-1-87">2003</a></span> +<br />  <span class="subsubsectionToc" >10.1.2 <a +href="#x1-7400010.1.2" id="QQ2-1-88">2004</a></span> +<br />  <span class="subsubsectionToc" >10.1.3 <a +href="#x1-7500010.1.3" id="QQ2-1-89">2005</a></span> + + +<br />  <span class="subsubsectionToc" >10.1.4 <a +href="#x1-7600010.1.4" id="QQ2-1-90">2006–2007</a></span> +<br />  <span class="subsubsectionToc" >10.1.5 <a +href="#x1-7700010.1.5" id="QQ2-1-91">2008</a></span> +<br />  <span class="subsubsectionToc" >10.1.6 <a +href="#x1-7800010.1.6" id="QQ2-1-92">2009</a></span> +<br />  <span class="subsubsectionToc" >10.1.7 <a +href="#x1-7900010.1.7" id="QQ2-1-93">2010</a></span> +<br />  <span class="subsubsectionToc" >10.1.8 <a +href="#x1-8000010.1.8" id="QQ2-1-94">2011</a></span> +<br /> <span class="subsectionToc" >10.2 <a +href="#x1-8100010.2" id="QQ2-1-95">Version présente</a></span> +<br /> <span class="subsectionToc" >10.3 <a +href="#x1-8200010.3" id="QQ2-1-96">Versions futures</a></span> +</div> +<!--l. 103--><p class="noindent" > +<h3 class="sectionHead"><span class="titlemark">1 </span> <a + id="x1-20001"></a>Introduction</h3> +<!--l. 106--><p class="noindent" > +<h4 class="subsectionHead"><span class="titlemark">1.1 </span> <a + id="x1-30001.1"></a><span class="TEX">T<span +class="E">E</span>X</span> Live et <span class="TEX">T<span +class="E">E</span>X</span> Collection</h4> +<!--l. 108--><p class="noindent" >Ce document décrit les principales caractéristiques de la distribution <span class="TEX">T<span +class="E">E</span>X</span> Live, une distribution complète de +<span class="TEX">T<span +class="E">E</span>X</span> pour Linux et autres Unix, Mac OS X et systèmes Windows. +<!--l. 112--><p class="noindent" >Cette distribution peut être obtenue par téléchargement, sur le DVD <span class="TEX">T<span +class="E">E</span>X</span> Collection distribué par les groupes +d’utilisateurs de <span class="TEX">T<span +class="E">E</span>X</span> à leurs membres, ou par d’autres moyens. La section <a +href="#x1-90002.1">2.1<!--tex4ht:ref: sec:tl-coll-dists --></a> décrit brièvement le contenu du +DVD. <span class="TEX">T<span +class="E">E</span>X</span> Live et <span class="TEX">T<span +class="E">E</span>X</span> Collection sont le fruit des efforts des groupes d’utilisateurs de <span class="TEX">T<span +class="E">E</span>X</span>. La description +qui suit porte essentiellement sur <span class="TEX">T<span +class="E">E</span>X</span> Live. +<!--l. 119--><p class="noindent" >La distribution <span class="TEX">T<span +class="E">E</span>X</span> Live comprend les binaires pré-compilés de <span class="TEX">T<span +class="E">E</span>X</span>, LaTeX2e, Con<span class="TEX">T<span +class="E">E</span>X</span>t, Metafont, +MetaPost, BibTeX et de nombreux autres programmes ainsi qu’une bibliothèque étendue de macros, de fontes +et de documentations. Elle permet aussi la composition de textes dans la plupart des langues utilisées dans le +monde. +<!--l. 125--><p class="noindent" >On trouvera à la fin du document, section <a +href="#x1-7100010">10<!--tex4ht:ref: sec:history --></a> (page <a +href="#x1-7100010">76<!--tex4ht:ref: sec:history --></a>), un bref historique des principales modifications +apportées au fil du temps à la distribution <span class="TEX">T<span +class="E">E</span>X</span> Live. +<!--l. 129--><p class="noindent" >Les utilisateurs des éditions précédentes de <span class="TEX">T<span +class="E">E</span>X</span> Live sont invités à lire, <span +class="ec-lmri-10">avant toute mise </span><span +class="ec-lmri-10">à jour</span>, la +section <a +href="#x1-8100010.2">10.2<!--tex4ht:ref: sec:tlcurrent --></a> page <a +href="#x1-8100010.2">85<!--tex4ht:ref: sec:tlcurrent --></a> qui présente les principaux changements intervenus cette année. +<!--l. 134--><p class="noindent" ><a id="platforms"></a> +<h4 class="subsectionHead"><span class="titlemark">1.2 </span> <a + id="x1-40001.2"></a>Support des différents systèmes d’exploitation</h4> +<!--l. 138--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Live contient les exécutables pour les principales architectures Unix, dont GNU/Linux, Mac OS X et +Cygwin. Les sources inclus dans la distribution devraient être compilables sur des plate-formes pour lesquelles +nous ne fournissons pas d’exécutables. +<!--l. 143--><p class="noindent" >Concernant Windows, XP et les versions ultérieures sont supportés. Windows 2000 devrait probablement +fonctionner (en bonne partie). Il n’y a pas d’exécutables spécifiques 64-bit pour Windows, mais les exécutables +32-bit devraient focntionner sur les systèmes 64-bit. +<!--l. 148--><p class="noindent" >Consulter la section <a +href="#x1-90002.1">2.1<!--tex4ht:ref: sec:tl-coll-dists --></a> pour des solutions alternatives sous Windows et Mac OS X. +<!--l. 151--><p class="noindent" > +<h4 class="subsectionHead"><span class="titlemark">1.3 </span> <a + id="x1-50001.3"></a>Installation élémentaire de <span class="TEX">T<span +class="E">E</span>X</span> Live</h4> +<!--l. 154--><p class="noindent" >Vous pouvez installer <span class="TEX">T<span +class="E">E</span>X</span> Live de deux façons différentes<span class="frenchb-nbsp"> </span>: soit depuis le DVD, soit depuis Internet +(<a +href="http://tug.org/texlive/acquire.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/acquire.html</span></a>). L’installateur réseau est petit et télécharge tout ce qu’il faut +depuis Internet. + + +<!--l. 159--><p class="noindent" >L’installateur du DVD vous permet d’installer sur votre disque dur. Il n’est plus possible de lancer <span class="TEX">T<span +class="E">E</span>X</span> Live +directement depuis le DVD <span class="TEX">T<span +class="E">E</span>X</span> Collection (ou une image <span +class="ec-lmtt-10">.iso</span>), mais vous pouvez créer une installation +portable, par exemple sur une clé USB (voir section <a +href="#x1-430005">5<!--tex4ht:ref: sec:portable-tl --></a>). +<!--l. 164--><p class="noindent" >La procédure d’installation est décrite en détail dans les sections suivantes (page <a +href="#x1-150003">12<!--tex4ht:ref: sec:install --></a>), mais voici de quoi +commencer rapidement. + <ul class="itemize1"> + <li class="itemize">Le script d’installation s’appelle <span class="path"><span +class="ec-lmtt-10">install-tl</span></span>. Il peut fonctionner en mode « magique <span class="footnote-mark"><a +href="#fn1x0" id="fn1x0-bk"><sup class="textsuperscript">1</sup></a></span><a + id="x1-5001f1"></a> » + avec l’option <span +class="ec-lmtt-10">-gui=wizard </span>(c’est le mode par défaut sous Windows), en mode texte avec l’option + <span +class="ec-lmtt-10">-gui=text </span>(mode par défaut partout ailleurs), ou en mode graphique expert avec <span +class="ec-lmtt-10">-gui=perltk</span>. + </li> + <li class="itemize">Ce script installe en particulier le programme « <span class="TEX">T<span +class="E">E</span>X</span> Live Manager » appelé <span +class="ec-lmss-10">tlmgr</span>. Comme + l’installeur, il peut être utilisé en mode graphique ou en mode texte. Il permet d’ajouter ou de + supprimer des composants et de procéder à différents réglages de configuration. + </li></ul> +<!--l. 182--><p class="noindent" ><a id="security"></a> +<h4 class="subsectionHead"><span class="titlemark">1.4 </span> <a + id="x1-60001.4"></a>Remarques sur la sécurité</h4> +<!--l. 186--><p class="noindent" >À notre connaissance, les programmes <span class="TEX">T<span +class="E">E</span>X</span> de base en eux-mêmes sont (et ont toujours été) extrêmement +robustes. Cependant, d’autres programmes livrés avec <span class="TEX">T<span +class="E">E</span>X</span> Live ne le sont peut-être pas autant, bien que +chacun fasse de son mieux. De façon générale, il faut faire preuve de prudence avant de lancer des programmes +sur des données en lesquelles vous n’avez pas toute confiance. Pour plus de sécurité, travaillez dans un nouveau +répertoire créé à cet effet. +<!--l. 193--><p class="noindent" >Il convient d’être particulièrement vigilant sous Windows, qui en général cherche les programmes dans le +répertoire courant avant tout, quel que soit le chemin de recherche défini. Nous avons comblé +de nombreuses failles, mais il en reste certainement d’autres, notamment avec les programmes +maintenus extérieurement. C’est pourquoi nous recommandons de vérifier s’il n’y a pas de fichiers +suspects dans le répertoire courant, en particulier les exécutables (binaires ou scripts). En général, il +ne devrait pas y en avoir, et le simple fait de compiler un document devrait encore moins en +créer. +<!--l. 202--><p class="noindent" >Enfin, <span class="TEX">T<span +class="E">E</span>X</span> (et les programmes associés) ont la capacité d’écrire des fichiers en compilant des +documents, capacité qui peut être exploitée à des fins malignes de nombreuses façons. Ici aussi, la +meilleure protection est de compiler les documents inconnus dans un répertoire nouvellement +créé. +<!--l. 207--><p class="noindent" > +<h4 class="subsectionHead"><span class="titlemark">1.5 </span> <a + id="x1-70001.5"></a>Obtenir de l’aide</h4> +<!--l. 210--><p class="noindent" >La communauté <span class="TEX">T<span +class="E">E</span>X</span> est active et conviviale<span class="frenchb-thinspace"> </span>; la plupart des questions finissent par obtenir une réponse. Par +contre, le support est informel, assuré par des volontaires et des lecteurs occasionnels, aussi est-il +particulièrement important que vous fassiez votre propre travail de recherche avant de poser une question (si +vous préférez un support commercial, vous pouvez renoncer à <span class="TEX">T<span +class="E">E</span>X</span> Live et acheter un système payant<span class="frenchb-thinspace"> </span>; voir +une liste à <a +href="http://tug.org/interest.html#vendors" class="url" ><span +class="ec-lmtt-10">http://tug.org/interest.html#vendors</span></a>). +<!--l. 218--><p class="noindent" >Voici une liste de ressources, classées selon l’ordre dans lequel nous recommandons de les utiliser<span class="frenchb-nbsp"> </span>: +<!--l. 221--><p class="noindent" > + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10">Getting Started</span> </dt><dd +class="description">– pour ceux qui débutent en <span class="TEX">T<span +class="E">E</span>X</span>, la page web <a +href="http://tug.org/begin.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/begin.html</span></a> + contient une courte description du système. + </dd><dt class="description"> +<span +class="ec-lmbx-10">FAQ </span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> </dt><dd +class="description">– la FAQ <span class="TEX">T<span +class="E">E</span>X</span> est un vaste recueil de réponses à toutes sortes de questions, + de la plus élémentaire à la plus complexe. Elle est enregistrée sur le DVD dans + <a +href="../../../../texmf-dist/doc/generic/FAQ-en/html/index.html" >texmf-dist/doc/generic/FAQ-en/html/index.html</a> et elle est disponible sur Internet à l’adresse + <a +href="http://www.tex.ac.uk/faq" class="url" ><span +class="ec-lmtt-10">http://www.tex.ac.uk/faq</span></a>. Merci de consulter cette FAQ avant toute question. + + + </dd><dt class="description"> +<span +class="ec-lmbx-10">Catalogue </span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> </dt><dd +class="description">– si vous recherchez une extension, une fonte, un programme, etc., le mieux est de + consulter le catalogue <span class="TEX">T<span +class="E">E</span>X</span> ici<span class="frenchb-nbsp"> </span>: <a +href="http://mirror.ctan.org/help/Catalogue/" class="url" ><span +class="ec-lmtt-10">http://mirror.ctan.org/help/Catalogue/</span></a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Ressources </span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> <span +class="ec-lmbx-10">sur le Web</span> </dt><dd +class="description">– la page web <a +href="http://tug.org/interest.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/interest.html</span></a> propose beaucoup de + liens relatifs à <span class="TEX">T<span +class="E">E</span>X</span>, en particulier concernant des livres, manuels et articles portant sur tous les + aspects du système. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Archives des forums d’aide</span> </dt><dd +class="description">– les principaux forums dédiés au support de <span class="TEX">T<span +class="E">E</span>X</span> sont les groupes de + nouvelles Usenet <a +href="news:comp.text.tex" class="url" ><span +class="ec-lmtt-10">news:comp.text.tex</span></a> (en anglais) et <a +href="news:fr.comp.text.tex" class="url" ><span +class="ec-lmtt-10">news:fr.comp.text.tex</span></a> (en français) ainsi + que les listes de diffusion <a +href="mailto:texhax@tug.org" ><span class="path"><span +class="ec-lmtt-10">texhax@tug.org</span></span></a> (en anglais) et <a +href="mailto:gut@ens.fr" ><span class="path"><span +class="ec-lmtt-10">gut@ens.fr</span></span></a> (en français). Les archives + correspondantes contiennent des milliers de questions et réponses déjà traitées et permettent + une recherche fructueuse. Voir <a +href="http://groups.google.com/groups?group=fr.comp.text.tex" class="url" ><span +class="ec-lmtt-10">http://groups.google.com/groups?group=fr.comp.text.tex</span></a> + et <a +href="http://tug.org/mail-archives/texhax" class="url" ><span +class="ec-lmtt-10">http://tug.org/mail-archives/texhax</span></a>, respectivement. Une question posée sur un moteur + de recherche, tel que <a +href="http://google.com" class="url" ><span +class="ec-lmtt-10">http://google.com</span></a>, peut aussi fournir des réponses pertinentes. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Poster une question</span> </dt><dd +class="description">– si vous ne trouvez pas de réponse, vous pouvez poser la question (en français) + sur <span class="path"><span +class="ec-lmtt-10">fr.comp.text.tex</span></span> via Google ou votre lecteur de nouvelles, ou encore par messagerie à + <a +href="mailto:texhax@tug.org" ><span class="path"><span +class="ec-lmtt-10">texhax@tug.org</span></span></a> (en anglais). Mais avant de le faire, merci de lire l’introduction de la FAQ + donnant les conseils sur la façon de rédiger la question pour avoir des chances d’obtenir une + réponse pertinente<span class="frenchb-nbsp"> </span>: <a +href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion" class="url" ><span +class="ec-lmtt-10">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion</span></a>. Pour + de l’aide en anglais, vous pouvez également vous tourner vers le site <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> Community<span class="frenchb-nbsp"> </span>: + <a +href="http://www.latex-community.org/" class="url" ><span +class="ec-lmtt-10">http://www.latex-community.org/</span></a> et son forum <a +href="http://www.latex-community.org/forum/" class="url" ><span +class="ec-lmtt-10">http://www.latex-community.org/forum/</span></a>, + ainsi que le site <span class="TEX">T<span +class="E">E</span>X</span> StackExchange à <a +href="http://tex.stackexchange.com/" class="url" ><span +class="ec-lmtt-10">http://tex.stackexchange.com/</span></a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Support de </span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> <span +class="ec-lmbx-10">Live</span> </dt><dd +class="description">– si vous voulez faire un rapport d’anomalie, émettre des suggestions ou + des commentaires sur la distribution <span class="TEX">T<span +class="E">E</span>X</span> Live, son installation ou sa documentation, utilisez + la liste de diffusion <a +href="mailto:tex-live@tug.org" ><span class="path"><span +class="ec-lmtt-10">tex-live@tug.org</span></span></a>. Mais attention, si la question concerne l’utilisation d’un + programme particulier inclus dans <span class="TEX">T<span +class="E">E</span>X</span> Live, il vaut mieux que vous vous adressiez directement + à la personne ou à la liste de diffusion qui maintient le programme. Il suffit souvent d’ajouter + l’option <span +class="ec-lmtt-10">--help </span>lors de l’exécution du programme pour trouver à qui adresser le rapport. + </dd></dl> +<!--l. 281--><p class="noindent" >L’autre aspect du sujet concerne l’aide à apporter aux personnes soumettant des questions. Les forums +<span class="path"><span +class="ec-lmtt-10">comp.text.tex</span></span>, <span class="path"><span +class="ec-lmtt-10">fr.comp.text.tex</span></span> ainsi que les listes de diffusion <span +class="ec-lmtt-10">texhax </span>et <span +class="ec-lmtt-10">gut </span>sont ouverts à tous, aussi +n’hésitez pas à vous y joindre, à commencer la lecture et à fournir de l’aide là où cela vous est +possible. +<!--l. 289--><p class="noindent" > +<h3 class="sectionHead"><span class="titlemark">2 </span> <a + id="x1-80002"></a>Structure de <span class="TEX">T<span +class="E">E</span>X</span> Collection</h3> +<!--l. 292--><p class="noindent" >Nous décrivons ici le contenu de <span class="TEX">T<span +class="E">E</span>X</span> Collection qui est un sur-ensemble de <span class="TEX">T<span +class="E">E</span>X</span> Live. +<!--l. 294--><p class="noindent" > +<h4 class="subsectionHead"><span class="titlemark">2.1 </span> <a + id="x1-90002.1"></a><span class="TEX">T<span +class="E">E</span>X</span> Collection<span class="frenchb-nbsp"> </span>: <span class="TEX">T<span +class="E">E</span>X</span> Live, pro<span class="TEX">T<span +class="E">E</span>X</span>t, Mac<span class="TEX">T<span +class="E">E</span>X</span></h4> +<!--l. 297--><p class="noindent" >Le DVD <span class="TEX">T<span +class="E">E</span>X</span> Collection contient les éléments suivants<span class="frenchb-nbsp"> </span>: +<!--l. 299--><p class="noindent" > + <dl class="description"><dt class="description"> +<span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> <span +class="ec-lmbx-10">Live</span> </dt><dd +class="description">– un système <span class="TEX">T<span +class="E">E</span>X</span> complet à installer. Sa page web est <a +href="http://tug.org/texlive/" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/</span></a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Mac</span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> </dt><dd +class="description">– un système <span class="TEX">T<span +class="E">E</span>X</span> pour Mac OS X, qui ajoute à <span class="TEX">T<span +class="E">E</span>X</span> Live un installateur spécifique + à Mac OS X et quelques applications propres au système Mac. Le site de Mac<span class="TEX">T<span +class="E">E</span>X</span> est + <a +href="http://tug.org/mactex/" class="url" ><span +class="ec-lmtt-10">http://tug.org/mactex/</span></a>. + + + </dd><dt class="description"> +<span +class="ec-lmbx-10">pro</span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span><span +class="ec-lmbx-10">t</span> </dt><dd +class="description">– une extension du système MiK<span class="TEX">T<span +class="E">E</span>X</span> pour Windows qui en facilite l’installation et ajoute + quelques outils. Cette distribution est totalement indépendante de <span class="TEX">T<span +class="E">E</span>X</span> Live, elle nécessite un + mode d’installation spécifique. Le site de pro<span class="TEX">T<span +class="E">E</span>X</span>t est <a +href="http://tug.org/protext" class="url" ><span +class="ec-lmtt-10">http://tug.org/protext</span></a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10">CTAN</span> </dt><dd +class="description">– une image du site d’archives CTAN. + </dd><dt class="description"> +<span +class="ec-lmtk-10">texmf-extra</span> </dt><dd +class="description">– un répertoire contenant quelques extensions supplémentaires. + </dd></dl> +<!--l. 320--><p class="noindent" >Les droits d’utilisation des fichiers présents dans CTAN, pro<span class="TEX">T<span +class="E">E</span>X</span>t et <span +class="ec-lmtt-10">texmf-extra </span>diffèrent de ceux de <span class="TEX">T<span +class="E">E</span>X</span> +Live, pensez à lire les licences si vous envisagez de modifier ou de redistribuer certains de ces +fichiers. +<!--l. 325--><p class="noindent" > +<h4 class="subsectionHead"><span class="titlemark">2.2 </span> <a + id="x1-100002.2"></a>Répertoires situés à la racine de <span class="TEX">T<span +class="E">E</span>X</span> Live</h4> +<!--l. 328--><p class="noindent" >Voici une petite liste des répertoires situés à la racine d’une installation <span class="TEX">T<span +class="E">E</span>X</span> Live avec une courte +description. +<!--l. 331--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span +class="ec-lmtt-10">bin</span> </dt><dd +class="list"> + <!--l. 332--><p class="noindent" >– programmes de la famille <span class="TEX">T<span +class="E">E</span>X</span>, rangés dans des sous-répertoires selon les plates-formes. + </dd><dt class="list"> + <span +class="ec-lmtt-10">readme-*.dir</span> </dt><dd +class="list"> + <!--l. 335--><p class="noindent" >– une brève introduction et quelques liens utiles pour <span class="TEX">T<span +class="E">E</span>X</span> Live, dans divers langages, sous forme + de pages HTML ou de texte brut. + </dd><dt class="list"> + <span +class="ec-lmtt-10">source</span> </dt><dd +class="list"> + <!--l. 338--><p class="noindent" >– le code source de tous les programmes, dont les principaux programmes <span class="TEX">T<span +class="E">E</span>X</span> basés sur Web2C. + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf</span> </dt><dd +class="list"> + <!--l. 341--><p class="noindent" >– répertoire contenant les programmes et leur documentation<span class="frenchb-thinspace"> </span>; ne contient ni les formats ni les + extensions (la variable <span +class="ec-lmtt-10">TEXMFMAIN </span>de la section suivante pointe sur ce répertoire). + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf-dist</span> </dt><dd +class="list"> + <!--l. 345--><p class="noindent" >– répertoire principal où se trouvent les extensions, les fontes, etc., avec leur documentation (la + variable <span +class="ec-lmtt-10">TEXMFDIST </span>de la section suivante pointe sur ce répertoire). + </dd><dt class="list"> + <span +class="ec-lmtt-10">tlpkg</span> </dt><dd +class="list"> + <!--l. 349--><p class="noindent" >– scripts et programmes d’installation, et éléments spécifiques pour Windows.</dd></dl> +<!--l. 353--><p class="noindent" >On trouve également, au même niveau que les répertoires mentionnés ci-dessus, les scripts d’installation et le +fichier <span class="path"><span +class="ec-lmtt-10">README</span></span> principal en anglais (disponible en différentes langues dans les répertoires <span class="path"><span +class="ec-lmtt-10">readme-*.dir</span></span> +susmentionnés). +<!--l. 358--><p class="noindent" >Concernant la documentation, le fichier <a +href="../../../../doc.html" >doc.html</a>, qui contient une liste exhaustive de liens vers les fichiers de +documentation, peut être bien utile. La documentation des programmes (manuels, pages de <span +class="ec-lmss-10">man</span>, fichiers <span +class="ec-lmss-10">info</span>) +se trouve dans <span class="path"><span +class="ec-lmtt-10">texmf/doc</span></span>. Celle des autres paquets et des formats est dans <span class="path"><span +class="ec-lmtt-10">texmf-dist/doc</span></span>. +Vous pouvez utiliser le programme <span +class="ec-lmss-10">texdoc </span>pour trouver chaque fichier de documentation, où qu’il +soit. +<!--l. 366--><p class="noindent" >La documentation de <span class="TEX">T<span +class="E">E</span>X</span> Live proprement dite (que vous consultez actuellement) est disponible dans le +répertoire <span class="path"><span +class="ec-lmtt-10">texmf/doc/texlive</span></span> en plusieurs langues, + <ul class="itemize1"> + <li class="itemize">anglais<span class="frenchb-nbsp"> </span>: <a +href="../../../../texmf/doc/texlive/texlive-en" >texmf/doc/texlive/texlive-en</a>, + </li> + <li class="itemize">allemand<span class="frenchb-nbsp"> </span>: <a +href="../../../../texmf/doc/texlive/texlive-de" >texmf/doc/texlive/texlive-de</a>, + + + </li> + <li class="itemize">chinois (simplifié)<span class="frenchb-nbsp"> </span>: <a +href="../../../../texmf/doc/texlive/texlive-zh-cn" >texmf/doc/texlive/texlive-zh-cn</a>, + </li> + <li class="itemize">français<span class="frenchb-nbsp"> </span>: <a +href="../../../../texmf/doc/texlive/texlive-fr" >texmf/doc/texlive/texlive-fr</a>, + </li> + <li class="itemize">italien<span class="frenchb-nbsp"> </span>: <a +href="../../../../texmf/doc/texlive/texlive-it" >texmf/doc/texlive/texlive-it</a> + </li> + <li class="itemize">polonais<span class="frenchb-nbsp"> </span>: <a +href="../../../../texmf/doc/texlive/texlive-pl" >texmf/doc/texlive/texlive-pl</a>, + </li> + <li class="itemize">russe<span class="frenchb-nbsp"> </span>: <a +href="../../../../texmf/doc/texlive/texlive-ru" >texmf/doc/texlive/texlive-ru</a>, + </li> + <li class="itemize">tchèque & slovaque<span class="frenchb-nbsp"> </span>: <a +href="../../../../texmf/doc/texlive/texlive-cz" >texmf/doc/texlive/texlive-cz</a>.</li></ul> +<!--l. 381--><p class="noindent" > +<h4 class="subsectionHead"><span class="titlemark">2.3 </span> <a + id="x1-110002.3"></a>Description des arborescences « texmf » de <span class="TEX">T<span +class="E">E</span>X</span> Live</h4> +<!--l. 384--><p class="noindent" >Nous donnons ici la liste des variables prédéfinies qui contiennent les noms des différentes arborescences de +type « texmf », l’usage qui en est fait, et leurs valeurs par défaut dans <span class="TEX">T<span +class="E">E</span>X</span> Live. La commande <span +class="ec-lmss-10">tlmgr</span><span +class="ec-lmss-10"> </span><span +class="ec-lmss-10">conf</span> +montre les valeurs de ces variables, ce qui permet de savoir où se trouvent ces différentes arborescences dans +une installation donnée. +<!--l. 390--><p class="noindent" >Notez bien que toutes ces arborescences, y compris les arborescences personnelles, doivent suivre la structure +standard des répertoires de <span class="TEX">T<span +class="E">E</span>X</span> (TDS<span class="frenchb-nbsp"> </span>: <a +href="http://tug.org/tds" class="url" ><span +class="ec-lmtt-10">http://tug.org/tds</span></a>) avec sa pléthore de sous-répertoires, +ou les fichiers ne seront pas pris en compte. La section <a +href="#x1-370003.5.2">3.5.2<!--tex4ht:ref: sec:local-personal-macros --></a> page <a +href="#x1-370003.5.2">41<!--tex4ht:ref: sec:local-personal-macros --></a> donne plus de détails à ce +sujet. +<!--l. 397--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span +class="ec-lmtt-10">TEXMFMAIN</span> </dt><dd +class="list"> + <!--l. 398--><p class="noindent" >– contient les éléments essentiels du système, comme les fichiers de configuration, des scripts + utilitaires, et la documentation des programmes. + </dd><dt class="list"> + <span +class="ec-lmtt-10">TEXMFDIST</span> </dt><dd +class="list"> + <!--l. 401--><p class="noindent" >– contient les fichiers de macros (Plain, <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>, Con<span class="TEX">T<span +class="E">E</span>X</span>t, etc.), les fontes, etc. Rien ne devrait + être ajouté, modifié ni supprimé manuellement dans cette arborescence. + </dd><dt class="list"> + <span +class="ec-lmtt-10">TEXMFLOCAL</span> </dt><dd +class="list"> + <!--l. 404--><p class="noindent" >– c’est là que l’administrateur de la machine doit placer les classes et extensions locales, les fontes + non disponibles dans <span class="TEX">T<span +class="E">E</span>X</span> Live, etc. + </dd><dt class="list"> + <span +class="ec-lmtt-10">TEXMFHOME</span> </dt><dd +class="list"> + <!--l. 407--><p class="noindent" >– contient les fichiers personnels (extensions, classes, fontes) de l’utilisateur<span class="frenchb-thinspace"> </span>; ce répertoire est + installé automatiquement dans le répertoire personnel de l’utilisateur. + </dd><dt class="list"> + <span +class="ec-lmtt-10">TEXMFCONFIG</span> </dt><dd +class="list"> + <!--l. 410--><p class="noindent" >– c’est là que les scripts <span +class="ec-lmss-10">texconfig updmap </span>et <span +class="ec-lmss-10">fmtutil </span>recherchent leurs fichiers de configuration + (personnelles) en priorité. + </dd><dt class="list"> + <span +class="ec-lmtt-10">TEXMFSYSCONFIG</span> </dt><dd +class="list"> + <!--l. 413--><p class="noindent" >– c’est là que les scripts <span +class="ec-lmss-10">texconfig-sys</span>, <span +class="ec-lmss-10">updmap-sys </span>et <span +class="ec-lmss-10">fmtutil-sys </span>recherchent leurs fichiers de + configuration (globaux) en priorité. + </dd><dt class="list"> + <span +class="ec-lmtt-10">TEXMFVAR</span> </dt><dd +class="list"> + <!--l. 416--><p class="noindent" >– c’est là que les scripts <span +class="ec-lmss-10">texconfig</span>, <span +class="ec-lmss-10">updmap </span>et <span +class="ec-lmss-10">fmtutil </span>rangent les (versions personnelles de) données + générées, comme les formats et les fichiers <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">.map</span></span></span>. + </dd><dt class="list"> + <span +class="ec-lmtt-10">TEXMFSYSVAR</span> </dt><dd +class="list"> + <!--l. 419--><p class="noindent" >– c’est là que les scripts <span +class="ec-lmss-10">texconfig-sys</span>, <span +class="ec-lmss-10">updmap-sys </span>et <span +class="ec-lmss-10">fmtutil-sys </span>rangent les (versions globales des) + données générées, comme les formats et les fichiers <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">.map</span></span></span>. + + + </dd><dt class="list"> + <span +class="ec-lmtt-10">TEXMFCACHE</span> </dt><dd +class="list"> + <!--l. 422--><p class="noindent" >– arborescence(s) utilisée(s) par Con<span class="TEX">T<span +class="E">E</span>X</span>t MkIV pour stocker des (versions de cache de) fichiers + de travails.</dd></dl> +<!--l. 426--><p class="noindent" >La structure de l’arborescence <span class="TEX">T<span +class="E">E</span>X</span> Live est par défaut la suivante<span class="frenchb-nbsp"> </span>: + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10">racine multi-utilisateur</span> </dt><dd +class="description">(par exemple <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">/usr/local/texlive</span></span></span>, <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">D:\texlive</span></span></span>,...) qui contient éventuellement + plusieurs distributions<span class="frenchb-nbsp"> </span>: + <dl class="list2"><dt class="list"> + <span +class="ec-lmtt-10">2011</span> </dt><dd +class="list"> + <!--l. 432--><p class="noindent" >– la distribution précédente, + </dd><dt class="list"> + <span +class="ec-lmtt-10">2012</span> </dt><dd +class="list"> + <!--l. 433--><p class="noindent" >– la distribution actuelle, + <dl class="list3"><dt class="list"> + <span +class="ec-lmtt-10">bin</span> </dt><dd +class="list"> + <!--l. 435--><p class="noindent" >  + <dl class="list4"><dt class="list"> + <span +class="ec-lmtt-10">i386-linux</span> </dt><dd +class="list"> + <!--l. 437--><p class="noindent" >– exécutables Linux, + </dd><dt class="list"> + <span +class="ec-lmtt-10">...</span> </dt><dd +class="list"> + <!--l. 438--><p class="noindent" > + </dd><dt class="list"> + <span +class="ec-lmtt-10">universal-darwin</span> </dt><dd +class="list"> + <!--l. 439--><p class="noindent" >– exécutables Mac OS X, + </dd><dt class="list"> + <span +class="ec-lmtt-10">win32</span> </dt><dd +class="list"> + <!--l. 440--><p class="noindent" >– exécutables Windows,</dd></dl> + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span> </dt><dd +class="list"> + <!--l. 442--><p class="noindent" >– correspond à <span +class="ec-lmtt-10">TEXMFMAIN</span>, + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf-dist</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span> </dt><dd +class="list"> + <!--l. 443--><p class="noindent" >– correspond à <span +class="ec-lmtt-10">TEXMFDIST</span>, + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf-var</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span> </dt><dd +class="list"> + <!--l. 444--><p class="noindent" >– correspond à <span +class="ec-lmtt-10">TEXMFSYSVAR</span>, + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf-config</span> </dt><dd +class="list"> + <!--l. 445--><p class="noindent" >– correspond à <span +class="ec-lmtt-10">TEXMFSYSCONFIG</span>,</dd></dl> + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf-local</span> </dt><dd +class="list"> + <!--l. 447--><p class="noindent" >– correspond à <span +class="ec-lmtt-10">TEXMFLOCAL</span>, normalement commun à plusieurs distributions <span class="TEX">T<span +class="E">E</span>X</span> Live (2007, 2008, + etc.),</dd></dl> + </dd><dt class="description"> +<span +class="ec-lmbx-10">r</span><span +class="ec-lmbx-10">épertoire personnel de l’utilisateur</span> </dt><dd +class="description"><span +class="ec-lmtt-10">$HOME </span>ou <span +class="ec-lmtt-10">%USERPROFILE%</span><span class="frenchb-nbsp"> </span>: + <dl class="list2"><dt class="list"> + <span +class="ec-lmtt-10">.texlive2011</span> </dt><dd +class="list"> + <!--l. 453--><p class="noindent" >– fichiers propres à l’utilisateur générés automatiquement par la distribution <span class="TEX">T<span +class="E">E</span>X</span> Live + précédente, + </dd><dt class="list"> + <span +class="ec-lmtt-10">.texlive2012</span> </dt><dd +class="list"> + <!--l. 455--><p class="noindent" >– fichiers propres à l’utilisateur générés automatiquement par la distribution <span class="TEX">T<span +class="E">E</span>X</span> Live + actuelle, + + + <dl class="list3"><dt class="list"> + <span +class="ec-lmtt-10">texmf-var</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span> </dt><dd +class="list"> + <!--l. 458--><p class="noindent" >– correspond à <span +class="ec-lmtt-10">TEXMFVAR</span>, <span +class="ec-lmtt-10">TEXMFCACHE</span>, + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf-config</span> </dt><dd +class="list"> + <!--l. 460--><p class="noindent" >– correspond à <span +class="ec-lmtt-10">TEXMFCONFIG</span>,</dd></dl> + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf</span> </dt><dd +class="list"> + <!--l. 462--><p class="noindent" >– correspond à <span +class="ec-lmtt-10">TEXMFHOME</span>, répertoire regroupant tous les répertoires de macros personnelles<span class="frenchb-nbsp"> </span>: + <span class="path"><span +class="ec-lmtt-10">texmf/tex/latex</span></span> par exemple pour les fichiers de macros <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>, etc.</dd></dl> + </dd></dl> +<!--l. 468--><p class="noindent" > +<h4 class="subsectionHead"><span class="titlemark">2.4 </span> <a + id="x1-120002.4"></a>Les extensions de <span class="TEX">T<span +class="E">E</span>X</span></h4> +<!--l. 471--><p class="noindent" >Le programme <span class="TEX">T<span +class="E">E</span>X</span> original de Knuth est figé, sauf corrections de bugs, rares. C’est toujours le programme +<span +class="ec-lmss-10">tex </span>présent dans <span class="TEX">T<span +class="E">E</span>X</span> Live, et ceci ne changera pas autant dans un futur prévisible. <span class="TEX">T<span +class="E">E</span>X</span> Live contient +plusieurs variantes étendues de <span class="TEX">T<span +class="E">E</span>X</span>. +<!--l. 476--><p class="noindent" > + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10">e-</span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> </dt><dd +class="description"> ajoute un jeu de nouvelles primitives et les extensions <span class="TEX">T<span +class="E">E</span>X</span>--XE T pour l’écriture de droite à + gauche<span class="frenchb-thinspace"> </span>; e-<span class="TEX">T<span +class="E">E</span>X</span> est, en mode normal, 100% compatible avec <span class="TEX">T<span +class="E">E</span>X</span> standard. Pour plus de détails + consulter le fichier <a +href="../../../../texmf-dist/doc/etex/base/etex_man.pdf" >texmf-dist/doc/etex/base/etex_man.pdf</a> du DVD. + </dd><dt class="description"> +<span +class="ec-lmbx-10">pdf</span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> </dt><dd +class="description">inclut les extensions e-<span class="TEX">T<span +class="E">E</span>X</span> et produit, au choix, des fichiers au format Acrobat PDF + ou au format DVI<span class="frenchb-thinspace"> </span>; il inclut aussi de nombreuses extensions indépendantes du format + de sortie. C’est le moteur de base sur lequel sont construits tous les formats autres + que plain<span class="TEX">T<span +class="E">E</span>X</span>, comme <span +class="ec-lmss-10">etex</span>, <span +class="ec-lmss-10">latex </span>et <span +class="ec-lmss-10">pdflatex</span>. Son site web est <a +href="http://www.pdftex.org/" class="url" ><span +class="ec-lmtt-10">http://www.pdftex.org/</span></a>. + Le manuel d’utilisation se trouve sur le DVD dans <a +href="../../../../texmf/doc/pdftex/manual/" >texmf/doc/pdftex/manual/</a>. Le fichier + <a +href="../../../../texmf/doc/pdftex/pdftex/manual/samplepdf/samplepdf.tex" >texmf/doc/pdftex/pdftex/manual/samplepdf/samplepdf.tex</a> donne des exemples d’utilisation. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Lua</span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> </dt><dd +class="description">est le successeur de pdf<span class="TEX">T<span +class="E">E</span>X</span> avec lequel il reste en grande partie (mais pas totalement) + compatible. Ses possibilités sont aussi censées être un sur-ensemble de celles d’Aleph (voir + ci-dessous), bien qu’il ne soit pas prévu pour être techniquement compatible. Lua<span class="TEX">T<span +class="E">E</span>X</span> inclut le + langage de script Lua (voir <a +href="http://www.lua.org/" class="url" ><span +class="ec-lmtt-10">http://www.lua.org/</span></a>) qui apporte des solutions élégantes à beaucoup + de problèmes épineux en <span class="TEX">T<span +class="E">E</span>X</span> pur. La commande <span class="path"><span +class="ec-lmtt-10">texlua</span></span> fonctionne comme un interpréteur Lua + indépendant, et est déjà utilisée en tant que telle dans <span class="TEX">T<span +class="E">E</span>X</span> Live. Voir <a +href="http://www.luatex.org/" class="url" ><span +class="ec-lmtt-10">http://www.luatex.org/</span></a> + et <a +href="../../../../texmf-dist/doc/luatex/luatexref-t.pdf" >texmf-dist/doc/luatex/luatexref-t.pdf</a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Xe</span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> </dt><dd +class="description">ajoute la possibilité d’utiliser en entrée le codage Unicode et en sortie les fontes + OpenType et les fontes système de la machine, ceci grâce à des bibliothèques externes<span class="frenchb-nbsp"> </span>: voir + <a +href="http://tug.org/xetex/" class="url" ><span +class="ec-lmtt-10">http://tug.org/xetex/</span></a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Omega (Omega)</span> </dt><dd +class="description">fonctionne en utilisant Unicode et des caractères 16 bits, ce qui lui permet de + travailler directement et simultanément avec presque toutes les écritures du monde. L’extension + supporte aussi le chargement dynamique d’OTP (Omega <span +class="ec-lmri-10">Translation Processes</span>) qui permet à + l’utilisateur d’appliquer sur des flux d’entrée quelconques des transformations complexes qu’il + aura lui-même définies. <span class="TEX">T<span +class="E">E</span>X</span> Live n’inclut plus Omega en tant que programme séparé<span class="frenchb-thinspace"> </span>; seul Alpeh + est fourni. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Aleph</span> </dt><dd +class="description">combine les fonctionnalités de Omega et de e-<span class="TEX">T<span +class="E">E</span>X</span><span class="frenchb-thinspace"> </span>; voir <a +href="../../../../texmf-dist/doc/aleph/base" >texmf-dist/doc/aleph/base</a>. + </dd></dl> + + +<!--l. 522--><p class="noindent" > +<h4 class="subsectionHead"><span class="titlemark">2.5 </span> <a + id="x1-130002.5"></a>Quelques autres programmes intéressants dans <span class="TEX">T<span +class="E">E</span>X</span> Live</h4> +<!--l. 524--><p class="noindent" >Voici quelques autres programmes couramment utilisés et présents dans <span class="TEX">T<span +class="E">E</span>X</span> Live<span class="frenchb-nbsp"> </span>: +<!--l. 527--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span +class="ec-lmss-10">bibtex, bibtex8</span> </dt><dd +class="list"> + <!--l. 529--><p class="noindent" >– traitement des bibliographies. + </dd><dt class="list"> + <span +class="ec-lmss-10">makeindex, xindy</span> </dt><dd +class="list"> + <!--l. 531--><p class="noindent" >– traitement des index. + </dd><dt class="list"> + <span +class="ec-lmss-10">dvips</span> </dt><dd +class="list"> + <!--l. 533--><p class="noindent" >– conversion DVI vers PostScript. + </dd><dt class="list"> + <span +class="ec-lmss-10">xdvi</span> </dt><dd +class="list"> + <!--l. 535--><p class="noindent" >– visualisation DVI pour le système X Window. + </dd><dt class="list"> + <span +class="ec-lmss-10">dvilj</span> </dt><dd +class="list"> + <!--l. 537--><p class="noindent" >– pilote DVI pour les imprimantes HP LaserJet. + </dd><dt class="list"> + <span +class="ec-lmss-10">dviconcat, dviselect</span> </dt><dd +class="list"> + <!--l. 539--><p class="noindent" >– couper/Coller de pages à partir de fichiers DVI. + </dd><dt class="list"> + <span +class="ec-lmss-10">dvipdfmx</span> </dt><dd +class="list"> + <!--l. 542--><p class="noindent" >– conversion DVI vers PDF, une alternative à pdf<span class="TEX">T<span +class="E">E</span>X</span> (mentionné ci-dessus) pour produire des + fichiers PDF. + </dd><dt class="list"> + <span +class="ec-lmss-10">psselect, psnup, ...</span> </dt><dd +class="list"> + <!--l. 545--><p class="noindent" >– utilitaires PostScript. + </dd><dt class="list"> + <span +class="ec-lmss-10">pdfjam, pdfjoin, ...</span> </dt><dd +class="list"> + <!--l. 547--><p class="noindent" >– utilitaires PDF. + </dd><dt class="list"> + <span +class="ec-lmss-10">texexec, texmfstart</span> </dt><dd +class="list"> + <!--l. 549--><p class="noindent" >– processeurs Con<span class="TEX">T<span +class="E">E</span>X</span>t et PDF. + </dd><dt class="list"> + <span +class="ec-lmss-10">tex4ht</span> </dt><dd +class="list"> + <!--l. 551--><p class="noindent" >– conversion <span class="TEX">T<span +class="E">E</span>X</span> vers HTML et XML. + </dd></dl> +<!--l. 555--><p class="noindent" > +<h4 class="subsectionHead"><span class="titlemark">2.6 </span> <a + id="x1-140002.6"></a>Fontes incluses dans <span class="TEX">T<span +class="E">E</span>X</span> Live</h4> +<!--l. 558--><p class="noindent" >La distribution <span class="TEX">T<span +class="E">E</span>X</span> Live contient un grand nombre de fontes vectorielles de haute qualité<span class="frenchb-nbsp"> </span>: voir +<a +href="http://tug.org/fonts" class="url" ><span +class="ec-lmtt-10">http://tug.org/fonts</span></a> et <a +href="../../../../texmf-dist/doc/fonts/free-math-fonts-survey" >texmf-dist/doc/fonts/free-math-fonts-survey</a>. +<!--l. 563--><p class="noindent" ><a id="installation"></a> +<h3 class="sectionHead"><span class="titlemark">3 </span> <a + id="x1-150003"></a>Installation</h3> + + +<!--l. 567--><p class="noindent" > +<h4 class="subsectionHead"><span class="titlemark">3.1 </span> <a + id="x1-160003.1"></a>Démarrage de l’installation</h4> +<!--l. 570--><p class="noindent" >La première chose à faire est de récupérer le DVD <span class="TEX">T<span +class="E">E</span>X</span> Collection ou de télécharger le programme +d’installation par le réseau. Le programme d’installation s’appelle <span class="path"><span +class="ec-lmtt-10">install-tl</span></span> pour Unix et <span class="path"><span +class="ec-lmtt-10">install-tl.bat</span></span> +pour Windows. La page <a +href="http://tug.org/texlive/acquire.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/acquire.html</span></a> donne plus d’informations sur les différentes +façons d’obtenir le logiciel. +<!--l. 577--><p class="noindent" > + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10">Installeur r</span><span +class="ec-lmbx-10">éseau</span> </dt><dd +class="description">– à télécharger sur CTAN + dans <span class="path"><span +class="ec-lmtt-10">systems/texlive/tlnet</span></span><span class="frenchb-thinspace"> </span>; l’url <a +href="http://mirror.ctan.org/systems/texlive/tlnet" class="url" ><span +class="ec-lmtt-10">http://mirror.ctan.org/systems/texlive/tlnet</span></a> vous + redirigera automatiquement vers le serveur d’archive le plus proche de chez vous. Deux versions + sont disponibles, <span class="path"><span +class="ec-lmtt-10">install-tl.zip</span></span> utilisable sous Unix et Windows, et <span class="path"><span +class="ec-lmtt-10">install-unx.tar.gz</span></span> pour + Unix seulement (y compris Mac OS X). Après décompression de l’un de ces deux fichiers, les + scripts <span class="path"><span +class="ec-lmtt-10">install-tl</span></span> et <span class="path"><span +class="ec-lmtt-10">install-tl.bat</span></span> se trouveront dans le sous-répertoire <span class="path"><span +class="ec-lmtt-10">install-tl</span></span>. + </dd><dt class="description"> +<span +class="ec-lmbx-10">DVD </span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> <span +class="ec-lmbx-10">Collection</span> </dt><dd +class="description">– aller dans son répertoire <span class="path"><span +class="ec-lmtt-10">texlive</span></span>. Sous Windows, l’installation démarre + en principe automatiquement quand vous insérerez le DVD, sinon, il faudra exécuter le + script d’installation <span class="path"><span +class="ec-lmtt-10">install-tl</span></span> ou <span class="path"><span +class="ec-lmtt-10">install-tl.bat</span></span>. Le DVD <span class="TEX">T<span +class="E">E</span>X</span> Collection est distribué + gratuitement aux membres des groupes d’utilisateurs de <span class="TEX">T<span +class="E">E</span>X</span> (Gutenberg par exemple en France, + voir la liste des groupes sur <a +href="http://tug.org/usergroups.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/usergroups.html</span></a>). Il est également possible de + l’acheter séparément (<a +href="http://tug.org/store" class="url" ><span +class="ec-lmtt-10">http://tug.org/store</span></a>) ou de graver une image ISO téléchargée, voire de + la monter directement, sur la plupart des systèmes. Après avoir installé depuis le DVD, si vous + voulez accéder aux mises à jour en continu depuis Internet, consultez la section <a +href="#x1-340003.4.3">3.4.3<!--tex4ht:ref: sec:dvd-install-net-updates --></a>.</dd></dl> +<!--l. 602--><p class="noindent" >Le même programme d’installation est utilisé quelle que soit la source d’installation. La différence la plus +visible entre ces deux modes et qu’avec l’installation par le réseau, vous obtenez les version courantes des +différents paquets, contrairement au DVD (ou image ISO) qui n’est pas mis à jour entre deux versions +majeures. +<!--l. 608--><p class="noindent" >Les sections suivantes expliquent plus en détails le fonctionnement de l’installateur. +<!--l. 611--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">3.1.1 </span> <a + id="x1-170003.1.1"></a>Installation sous Unix</h5> +<!--l. 613--><p class="noindent" >Dans ce qui suit l’invite du <span +class="ec-lmri-10">shell </span>est notée <span +class="ec-lmtt-10">></span><span class="frenchb-thinspace"> </span>; les commandes de l’utilisateur sont en <span +class="ec-lmtk-10">gras</span>. Le programme +<span class="path"><span +class="ec-lmtt-10">install-tl</span></span> est un script Perl<span class="frenchb-thinspace"> </span>; la façon la plus simple de le démarrer sur un système Unix est la suivante. +<div class="alltt"> +<!--l. 617--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">cd</span><span +class="ec-lmtk-10"> /chemin/de/installateur</span> +<br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">perl</span><span +class="ec-lmtk-10"> install-tl</span> +</div> +</div> (Vous pouvez aussi invoquer <span +class="ec-lmtk-10">perl /chemin/de/installateur/install-tl </span>ou <span +class="ec-lmtk-10">./install-tl </span>si le +fichier est toujours exécutable, etc.<span class="frenchb-thinspace"> </span>; nous ne répéterons plus toutes ces variantes.) Il est possible +que vous deviez agrandir la fenêtre de votre terminal pour voir le texte complet de l’installateur +(figure <a +href="#x1-19061r1">1<!--tex4ht:ref: fig:text-main --></a>). +<!--l. 627--><p class="noindent" >Pour travailler en mode graphique expert (figure <a +href="#x1-19062r2">2<!--tex4ht:ref: fig:gui-main --></a> – attention, le module <span class="path"><span +class="ec-lmtt-10">Perl/TK</span></span> doit être disponible, avec le +support de XFT, ce qui est en général le cas sous GNU/Linux, mais pas nécessairement sous d’autres +systèmes)<span class="frenchb-nbsp"> </span>: <div class="alltt"> +<!--l. 631--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">cd</span><span +class="ec-lmtk-10"> /chemin/de/installeur</span> +<br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">./install-tl</span><span +class="ec-lmtk-10"> -gui</span> + + +</div> +</div> +<!--l. 636--><p class="noindent" >La liste complète des options est donnée par <div class="alltt"> +<!--l. 637--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">perl</span><span +class="ec-lmtk-10"> install-tl</span><span +class="ec-lmtk-10"> -help</span> +</div> +</div> +<!--l. 641--><p class="noindent" ><span +class="ec-lmbx-10">Attention</span><span class="frenchb-nbsp"> </span>: le matériel installé doit normalement être accessible à tous les utilisateurs de la machine<span class="frenchb-thinspace"> </span>; si celui +qui installe n’est pas <span +class="ec-lmri-10">root</span>, il devra s’assurer que son <span +class="ec-lmtt-10">umask </span>est adapté, par exemple <span +class="ec-lmtt-10">umask 022 </span>ou <span +class="ec-lmtt-10">umask 002</span>. +Consulter la documentation système pour plus de précisions. +<!--l. 647--><p class="noindent" ><span +class="ec-lmbx-10">Remarques particuli</span><span +class="ec-lmbx-10">ères pour Cygwin</span><span class="frenchb-nbsp"> </span>: contrairement aux autres système compatibles Unix, Cygwin ne +comprend pas par défaut tous les programmes requis pour faire fonctionner l’installateur <span class="TEX">T<span +class="E">E</span>X</span> Live. Voir la +section <a +href="#x1-200003.1.4">3.1.4<!--tex4ht:ref: sec:cygwin --></a> pour plus de détails. +<!--l. 652--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">3.1.2 </span> <a + id="x1-180003.1.2"></a>Installation sous Mac OS X</h5> +<!--l. 654--><p class="noindent" >Une distribution spécifique, Mac<span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://tug.org/mactex" class="url" ><span +class="ec-lmtt-10">http://tug.org/mactex</span></a>), a été mise au point pour Mac OS X. Nous +recommandons d’utiliser son installateur natif, plutôt que d’installer la distribution <span class="TEX">T<span +class="E">E</span>X</span> Live en suivant la +procédure indiquée pour Unix. En effet, Mac<span class="TEX">T<span +class="E">E</span>X</span> comprend des ajustements spécifiques pour le système +Mac OS X et facilite la cohabitation entre plusieurs distributions <span class="TEX">T<span +class="E">E</span>X</span> (Mac<span class="TEX">T<span +class="E">E</span>X</span>, Fink, MacPorts, +etc.). +<!--l. 661--><p class="noindent" >Mac<span class="TEX">T<span +class="E">E</span>X</span> est fortement basée sur <span class="TEX">T<span +class="E">E</span>X</span> Live et les arborescences principales sont en tous points identiques. +Quelques répertoires contenant de la documentation et des applications spécifiques au Mac sont +ajoutés. +<!--l. 665--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">3.1.3 </span> <a + id="x1-190003.1.3"></a>Installation sous Windows</h5> +<!--l. 667--><p class="noindent" >Si vous utilisez l’installeur réseau ou si l’insertion du DVD ne lance pas l’installation automatiquement, +double-cliquez sur <span class="path"><span +class="ec-lmtt-10">install-tl.bat</span></span>. Pour disposer de plus d’options, par exemple pour sélectionner +des collections de paquets spécifiques au lieu de faire une installation complète, utilisez plutôt +<span class="path"><span +class="ec-lmtt-10">install-tl-advanced.bat</span></span>. +<!--l. 673--><p class="noindent" >Il est également possible de travailler en ligne de commande<span class="frenchb-thinspace"> </span>; dans ce qui suit l’invite du <span +class="ec-lmri-10">shell</span> +est notée <span +class="ec-lmtt-10">></span>, les commandes de l’utilisateur sont notées <span +class="ec-lmtk-10">en gras</span>. Voici les commandes à lancer<span class="frenchb-nbsp"> </span>: +<div class="alltt"> +<!--l. 677--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">install-tl</span> +</div> +</div> à condition d’être dans le répertoire du script d’installation, sinon <div class="alltt"> +<!--l. 681--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">D:</span><span +class="ec-lmtt-10">\</span><span +class="ec-lmtk-10">texlive</span><span +class="ec-lmtt-10">\</span><span +class="ec-lmtk-10">install-tl</span> +</div> +</div> où <span +class="ec-lmtt-10">D</span><span class="frenchb-nbsp"> </span><span +class="ec-lmtt-10">: </span>désigne le lecteur de DVD où se trouve la collection <span class="TEX">T<span +class="E">E</span>X</span>. La figure <a +href="#x1-19063r3">3<!--tex4ht:ref: fig:wizard-w32 --></a> montre l’installateur en mode +magique, qui est le mode par défaut pour Windows. +<!--l. 688--><p class="noindent" >Pour travailler en mode texte<span class="frenchb-nbsp"> </span>: <div class="alltt"> + + +<!--l. 689--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">install-tl</span><span +class="ec-lmtk-10"> -no-gui</span> +</div> +</div> La liste complète des options est donnée par <div class="alltt"> +<!--l. 693--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">install-tl</span><span +class="ec-lmtk-10"> -help</span> +</div> +</div> +<!--l. 697--><p class="noindent" ><hr class="figure"><div class="figure" +> + + +<a + id="x1-19061r1"></a> + + +<div class="fancyvrb" id="fancyvrb1"><a + id="x1-19002r1"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Installing</span><span +class="ec-lmtt-8"> TeX</span><span +class="ec-lmtt-8"> Live</span><span +class="ec-lmtt-8"> 2012</span><span +class="ec-lmtt-8"> from:</span><span +class="ec-lmtt-8"> ...</span><br class="fancyvrb" /><a + id="x1-19004r2"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Platform:</span><span +class="ec-lmtt-8"> i386-linux</span><span +class="ec-lmtt-8"> =></span><span +class="ec-lmtt-8"> ’Intel</span><span +class="ec-lmtt-8"> x86</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/Linux’</span><br class="fancyvrb" /><a + id="x1-19006r3"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Distribution:</span><span +class="ec-lmtt-8"> inst</span><span +class="ec-lmtt-8"> (compressed)</span> +<br class="fancyvrb" /><a + id="x1-19008r4"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ...</span><br class="fancyvrb" /><a + id="x1-19010r5"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Detected</span><span +class="ec-lmtt-8"> platform:</span><span +class="ec-lmtt-8"> Intel</span><span +class="ec-lmtt-8"> x86</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/Linux</span><br class="fancyvrb" /><a + id="x1-19012r6"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><br class="fancyvrb" /><a + id="x1-19014r7"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <B></span><span +class="ec-lmtt-8"> platforms:</span><span +class="ec-lmtt-8"> 1</span><span +class="ec-lmtt-8"> out</span><span +class="ec-lmtt-8"> of</span><span +class="ec-lmtt-8"> 19</span><br class="fancyvrb" /><a + id="x1-19016r8"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><br class="fancyvrb" /><a + id="x1-19018r9"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <S></span><span +class="ec-lmtt-8"> installation</span><span +class="ec-lmtt-8"> scheme</span><span +class="ec-lmtt-8"> (scheme-full)</span> +<br class="fancyvrb" /><a + id="x1-19020r10"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> 84</span><span +class="ec-lmtt-8"> collections</span><span +class="ec-lmtt-8"> out</span><span +class="ec-lmtt-8"> of</span><span +class="ec-lmtt-8"> 85,</span><span +class="ec-lmtt-8"> disk</span><span +class="ec-lmtt-8"> space</span><span +class="ec-lmtt-8"> required:</span><span +class="ec-lmtt-8"> 3091</span><span +class="ec-lmtt-8"> MB</span><br class="fancyvrb" /><a + id="x1-19022r11"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><br class="fancyvrb" /><a + id="x1-19024r12"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Customizing</span><span +class="ec-lmtt-8"> installation</span><span +class="ec-lmtt-8"> scheme:</span> +<br class="fancyvrb" /><a + id="x1-19026r13"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <C></span><span +class="ec-lmtt-8"> standard</span><span +class="ec-lmtt-8"> collections</span><br class="fancyvrb" /><a + id="x1-19028r14"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <L></span><span +class="ec-lmtt-8"> language</span><span +class="ec-lmtt-8"> collections</span><br class="fancyvrb" /><a + id="x1-19030r15"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><br class="fancyvrb" /><a + id="x1-19032r16"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <D></span><span +class="ec-lmtt-8"> directories:</span><br class="fancyvrb" /><a + id="x1-19034r17"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> TEXDIR</span><span +class="ec-lmtt-8"> (the</span><span +class="ec-lmtt-8"> main</span><span +class="ec-lmtt-8"> TeX</span><span +class="ec-lmtt-8"> directory):</span> +<br class="fancyvrb" /><a + id="x1-19036r18"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> /usr/local/texlive/2012</span><br class="fancyvrb" /><a + id="x1-19038r19"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ...</span><br class="fancyvrb" /><a + id="x1-19040r20"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><br class="fancyvrb" /><a + id="x1-19042r21"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <O></span><span +class="ec-lmtt-8"> options:</span><br class="fancyvrb" /><a + id="x1-19044r22"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> use</span><span +class="ec-lmtt-8"> letter</span><span +class="ec-lmtt-8"> size</span><span +class="ec-lmtt-8"> instead</span><span +class="ec-lmtt-8"> of</span><span +class="ec-lmtt-8"> A4</span><span +class="ec-lmtt-8"> by</span><span +class="ec-lmtt-8"> default</span><br class="fancyvrb" /><a + id="x1-19046r23"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ...</span><br class="fancyvrb" /><a + id="x1-19048r24"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span> +<br class="fancyvrb" /><a + id="x1-19050r25"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <V></span><span +class="ec-lmtt-8"> set</span><span +class="ec-lmtt-8"> up</span><span +class="ec-lmtt-8"> for</span><span +class="ec-lmtt-8"> portable</span><span +class="ec-lmtt-8"> installation</span><br class="fancyvrb" /><a + id="x1-19052r26"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><br class="fancyvrb" /><a + id="x1-19054r27"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Actions:</span><br class="fancyvrb" /><a + id="x1-19056r28"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <I></span><span +class="ec-lmtt-8"> start</span><span +class="ec-lmtt-8"> installation</span><span +class="ec-lmtt-8"> to</span><span +class="ec-lmtt-8"> hard</span><span +class="ec-lmtt-8"> disk</span><br class="fancyvrb" /><a + id="x1-19058r29"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <H></span><span +class="ec-lmtt-8"> help</span><br class="fancyvrb" /><a + id="x1-19060r30"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <Q></span><span +class="ec-lmtt-8"> quit</span></div> +<br /> <div class="caption" +><span class="id"><span +class="ec-lmcsc-10">Figure</span> 1: </span><span +class="content">Écran principal de l’installateur en mode texte (GNU/Linux)</span></div><!--tex4ht:label?: x1-19061r1 --> + + +<!--l. 732--><p class="noindent" ></div><hr class="endfigure"> +<!--l. 734--><p class="noindent" ><hr class="figure"><div class="figure" +> + + +<a + id="x1-19062r2"></a> + + + +<!--l. 735--><p class="noindent" ><img +src="../texlive-common/install-lnx-main.png" alt="pict" +> +<br /> <div class="caption" +><span class="id"><span +class="ec-lmcsc-10">Figure</span> 2: </span><span +class="content">Installateur graphique en mode expert (GNU/Linux)</span></div><!--tex4ht:label?: x1-19062r2 --> + + +<!--l. 738--><p class="noindent" ></div><hr class="endfigure"> +<!--l. 740--><p class="noindent" ><hr class="figure"><div class="figure" +> + + +<a + id="x1-19063r3"></a> + + + +<!--l. 741--><p class="noindent" ><img +src="../texlive-common/wizard-w32.png" alt="pict" +> +<br /> <div class="caption" +><span class="id"><span +class="ec-lmcsc-10">Figure</span> 3: </span><span +class="content">Installateur graphique en mode expert (Windows)</span></div><!--tex4ht:label?: x1-19063r3 --> + + +<!--l. 744--><p class="noindent" ></div><hr class="endfigure"> +<!--l. 747--><p class="noindent" ><a id="cygwin"></a> +<h5 class="subsubsectionHead"><span class="titlemark">3.1.4 </span> <a + id="x1-200003.1.4"></a>Installation sous Cygwin</h5> +<!--l. 751--><p class="noindent" >L’installateur <span class="TEX">T<span +class="E">E</span>X</span> Live fonctionne uniquement sous Cygwin 1.7. Avant de commencer l’installation, utilisez le +programme <span class="path"><span +class="ec-lmtt-10">setup.exe</span></span> de Cygwin pour installer les paquets <span class="path"><span +class="ec-lmtt-10">perl</span></span> et <span class="path"><span +class="ec-lmtt-10">wget</span></span> si ce n’est déjà fait. Il est également +recommandé d’installer les paquets suivants<span class="frenchb-nbsp"> </span>: + <ul class="itemize1"> + <li class="itemize"><span class="path"><span +class="ec-lmtt-10">fontconfig</span></span>, utilisé par Xe<span class="TEX">T<span +class="E">E</span>X</span><span class="frenchb-thinspace"> </span>; + </li> + <li class="itemize"><span class="path"><span +class="ec-lmtt-10">ghostscript</span></span>, nécessaire pour divers utilitaires<span class="frenchb-thinspace"> </span>; + </li> + <li class="itemize"><span class="path"><span +class="ec-lmtt-10">libXaw7</span></span>, utilisé par <span +class="ec-lmtt-10">xdvi</span><span class="frenchb-thinspace"> </span>; + </li> + <li class="itemize"><span class="path"><span +class="ec-lmtt-10">ncurses</span></span>, qui fournit la commande <span +class="ec-lmtt-10">clear </span>utilisée par l’installateur.</li></ul> +<!--l. 763--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">3.1.5 </span> <a + id="x1-210003.1.5"></a>Installation en mode texte</h5> +<!--l. 765--><p class="noindent" >La figure <a +href="#x1-19061r1">1<!--tex4ht:ref: fig:text-main --></a> présente l’écran principal de configuration en mode texte sous Unix/Linux, où c’est le mode par +défaut. +<!--l. 768--><p class="noindent" >Il s’agit d’un installateur en mode ligne de commande, il n’y a pas de notion de curseur<span class="frenchb-thinspace"> </span>; par exemple, vous ne +pouvez pas naviguer entre les cases à cocher et les champs d’entrée avec la touche tabulation. Tapez une des +lettres proposées (en respectant la casse) suivie de « entrée » (retour-chariot), l’écran se mettra +automatiquement à jour. +<!--l. 774--><p class="noindent" >L’interface est volontairement rudimentaire afin de permettre son utilisation sur le plus grand nombre possible +de systèmes même avec des versions très dépouillées de Perl. +<!--l. 778--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">3.1.6 </span> <a + id="x1-220003.1.6"></a>Installation en mode graphique-expert</h5> +<!--l. 780--><p class="noindent" >La figure <a +href="#x1-19062r2">2<!--tex4ht:ref: fig:gui-main --></a> page <a +href="#x1-19062r2">20<!--tex4ht:ref: fig:gui-main --></a> présente l’écran principal de configuration en mode graphique sous GNU/Linux. À part +l’utilisation de boutons et menus, cet installateur ne diffère pas beaucoup de l’installateur en mode +texte. +<!--l. 785--><p class="noindent" >Ce mode peut être demandé explicitement avec <div class="alltt"> +<!--l. 786--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">install-tl</span><span +class="ec-lmtk-10"> -gui=perltk</span> +</div> +</div> +<!--l. 790--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">3.1.7 </span> <a + id="x1-230003.1.7"></a>L’installation en mode magique</h5> +<!--l. 792--><p class="noindent" >Sous Windows, l’installateur démarre par défaut dans le mode le plus simple que nous avons pu concevoir, le +mode « magique » (figure <a +href="#x1-19063r3">3<!--tex4ht:ref: fig:wizard-w32 --></a>. Dans ce mode, tout est installé et presque aucune question n’est posée. +Par contre, si vous souhaitez personnaliser votre installation, vous devriez utiliser un des autres +modes. +<!--l. 798--><p class="noindent" >Ce mode peut être demandé explicitement avec <div class="alltt"> + + +<!--l. 799--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">install-tl</span><span +class="ec-lmtk-10"> -gui=wizard</span> +</div> +</div> +<!--l. 803--><p class="noindent" > +<h4 class="subsectionHead"><span class="titlemark">3.2 </span> <a + id="x1-240003.2"></a>Choix des options d’installation</h4> +<!--l. 806--><p class="noindent" >Les options proposées sont censées être assez explicites, voici cependant quelques précisions. +<!--l. 809--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">3.2.1 </span> <a + id="x1-250003.2.1"></a>Choix des binaires (Unix seulement)</h5> +<!--l. 812--><p class="noindent" ><hr class="figure"><div class="figure" +> + + +<a + id="x1-25043r4"></a> + + +<div class="fancyvrb" id="fancyvrb2"><a + id="x1-25002r1"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Available</span><span +class="ec-lmtt-8"> platforms:</span><br class="fancyvrb" /><a + id="x1-25004r2"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ===============================================================================</span> +<br class="fancyvrb" /><a + id="x1-25006r3"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> a</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> alpha-linux</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> DEC</span><span +class="ec-lmtt-8"> Alpha</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/Linux</span><br class="fancyvrb" /><a + id="x1-25008r4"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> b</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> amd64-freebsd</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> x86_64</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> FreeBSD</span> +<br class="fancyvrb" /><a + id="x1-25010r5"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> c</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> amd64-kfreebsd</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> x86_64</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/FreeBSD</span><br class="fancyvrb" /><a + id="x1-25012r6"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> d</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> i386-cygwin</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Intel</span><span +class="ec-lmtt-8"> x86</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> Cygwin</span> +<br class="fancyvrb" /><a + id="x1-25014r7"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> e</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> i386-freebsd</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Intel</span><span +class="ec-lmtt-8"> x86</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> FreeBSD</span><br class="fancyvrb" /><a + id="x1-25016r8"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> f</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> i386-kfreebsd</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Intel</span><span +class="ec-lmtt-8"> x86</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/FreeBSD</span> +<br class="fancyvrb" /><a + id="x1-25018r9"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> g</span><span +class="ec-lmtt-8"> [X]</span><span +class="ec-lmtt-8"> i386-linux</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Intel</span><span +class="ec-lmtt-8"> x86</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/Linux</span><br class="fancyvrb" /><a + id="x1-25020r10"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> h</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> i386-netbsd</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Intel</span><span +class="ec-lmtt-8"> x86</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> NetBSD</span> +<br class="fancyvrb" /><a + id="x1-25022r11"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> i</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> i386-solaris</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Intel</span><span +class="ec-lmtt-8"> x86</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> Solaris</span><br class="fancyvrb" /><a + id="x1-25024r12"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> j</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> mips-irix</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> SGI</span><span +class="ec-lmtt-8"> IRIX</span><br class="fancyvrb" /><a + id="x1-25026r13"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> k</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> powerpc-aix</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> PowerPC</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> AIX</span> +<br class="fancyvrb" /><a + id="x1-25028r14"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> l</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> powerpc-linux</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> PowerPC</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/Linux</span><br class="fancyvrb" /><a + id="x1-25030r15"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> m</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> sparc-linux</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Sparc</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/Linux</span> +<br class="fancyvrb" /><a + id="x1-25032r16"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> o</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> sparc-solaris</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Sparc</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> Solaris</span><br class="fancyvrb" /><a + id="x1-25034r17"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> p</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> universal-darwin</span><span +class="ec-lmtt-8"> universal</span><span +class="ec-lmtt-8"> binaries</span><span +class="ec-lmtt-8"> for</span><span +class="ec-lmtt-8"> MacOSX/Darwin</span> +<br class="fancyvrb" /><a + id="x1-25036r18"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> s</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> win32</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Windows</span><br class="fancyvrb" /><a + id="x1-25038r19"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> t</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> x86_64-darwin</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> x86_64</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> MacOSX/Darwin</span> +<br class="fancyvrb" /><a + id="x1-25040r20"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> u</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> x86_64-linux</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> x86_64</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/Linux</span><br class="fancyvrb" /><a + id="x1-25042r21"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> v</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> x86_64-solaris</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> x86_64</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> Solaris</span></div> +<br /> <div class="caption" +><span class="id"><span +class="ec-lmcsc-10">Figure</span> 4: </span><span +class="content">Menu pour le choix des binaires</span></div><!--tex4ht:label?: x1-25043r4 --> + + +<!--l. 838--><p class="noindent" ></div><hr class="endfigure"> +<!--l. 840--><p class="noindent" >La figure <a +href="#x1-25043r4">4<!--tex4ht:ref: fig:bin-text --></a> présente les choix de binaires possibles en mode texte. Seuls les binaires correspondant à +l’architecture détectée seront installés par défaut. Rien n’empêche d’en sélectionner d’autres si nécessaire, +ce qui peut être intéressant dans le cas de machines en réseau ou sur des systèmes en « double +boot ». +<h5 class="subsubsectionHead"><span class="titlemark">3.2.2 </span> <a + id="x1-260003.2.2"></a>Sélection de ce qui va être installé</h5> +<!--l. 849--><p class="noindent" ><hr class="figure"><div class="figure" +> + + +<a + id="x1-26025r5"></a> + + +<div class="fancyvrb" id="fancyvrb3"><a + id="x1-26002r1"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Select</span><span +class="ec-lmtt-8"> scheme:</span><br class="fancyvrb" /><a + id="x1-26004r2"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ===============================================================================</span><br class="fancyvrb" /><a + id="x1-26006r3"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> a</span><span +class="ec-lmtt-8"> [X]</span><span +class="ec-lmtt-8"> full</span><span +class="ec-lmtt-8"> scheme</span><span +class="ec-lmtt-8"> (everything)</span> +<br class="fancyvrb" /><a + id="x1-26008r4"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> b</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> medium</span><span +class="ec-lmtt-8"> scheme</span><span +class="ec-lmtt-8"> (small</span><span +class="ec-lmtt-8"> +</span><span +class="ec-lmtt-8"> more</span><span +class="ec-lmtt-8"> packages</span><span +class="ec-lmtt-8"> and</span><span +class="ec-lmtt-8"> languages)</span><br class="fancyvrb" /><a + id="x1-26010r5"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> c</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> small</span><span +class="ec-lmtt-8"> scheme</span><span +class="ec-lmtt-8"> (basic</span><span +class="ec-lmtt-8"> +</span><span +class="ec-lmtt-8"> xetex,</span><span +class="ec-lmtt-8"> metapost,</span><span +class="ec-lmtt-8"> a</span><span +class="ec-lmtt-8"> few</span><span +class="ec-lmtt-8"> languages)</span> +<br class="fancyvrb" /><a + id="x1-26012r6"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> d</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> basic</span><span +class="ec-lmtt-8"> scheme</span><span +class="ec-lmtt-8"> (plain</span><span +class="ec-lmtt-8"> and</span><span +class="ec-lmtt-8"> latex)</span><br class="fancyvrb" /><a + id="x1-26014r7"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> e</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> minimal</span><span +class="ec-lmtt-8"> scheme</span><span +class="ec-lmtt-8"> (plain</span><span +class="ec-lmtt-8"> only)</span><br class="fancyvrb" /><a + id="x1-26016r8"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> f</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> ConTeXt</span><span +class="ec-lmtt-8"> scheme</span><br class="fancyvrb" /><a + id="x1-26018r9"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> g</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> GUST</span><span +class="ec-lmtt-8"> TeX</span><span +class="ec-lmtt-8"> Live</span><span +class="ec-lmtt-8"> scheme</span> +<br class="fancyvrb" /><a + id="x1-26020r10"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> h</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> teTeX</span><span +class="ec-lmtt-8"> scheme</span><span +class="ec-lmtt-8"> (more</span><span +class="ec-lmtt-8"> than</span><span +class="ec-lmtt-8"> medium,</span><span +class="ec-lmtt-8"> but</span><span +class="ec-lmtt-8"> nowhere</span><span +class="ec-lmtt-8"> near</span><span +class="ec-lmtt-8"> full)</span><br class="fancyvrb" /><a + id="x1-26022r11"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> i</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> XML</span><span +class="ec-lmtt-8"> scheme</span><br class="fancyvrb" /><a + id="x1-26024r12"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> j</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> custom</span><span +class="ec-lmtt-8"> selection</span><span +class="ec-lmtt-8"> of</span><span +class="ec-lmtt-8"> collections</span></div> +<br /> <div class="caption" +><span class="id"><span +class="ec-lmcsc-10">Figure</span> 5: </span><span +class="content">Menu « Scheme »</span></div><!--tex4ht:label?: x1-26025r5 --> + + +<!--l. 866--><p class="noindent" ></div><hr class="endfigure"> +<!--l. 868--><p class="noindent" >Dans le menu « Scheme » (voir figure <a +href="#x1-26025r5">5<!--tex4ht:ref: fig:scheme-text --></a>) on choisit un schéma général de configuration qui détermine un +ensemble de collections à installer. Le schéma par défaut (<span +class="ec-lmtt-10">full</span>) consiste à tout installer, ce qui est +recommandé. Vous pouvez également choisir <span +class="ec-lmtt-10">basic </span>pour un petit système, <span +class="ec-lmtt-10">minimal </span>pour des tests +uniquement, <span +class="ec-lmtt-10">medium </span>ou <span +class="ec-lmtt-10">teTeX </span>pour quelque chose d’intermédiaire. Il existe aussi des schémas spécialisés ou +spécifiques à un pays. +<!--l. 876--><p class="noindent" ><hr class="figure"><div class="figure" +> + + +<a + id="x1-26026r6"></a> + + + +<!--l. 878--><p class="noindent" ><img +src="../texlive-common/stdcoll.png" alt="pict" +> +<br /> <div class="caption" +><span class="id"><span +class="ec-lmcsc-10">Figure</span> 6: </span><span +class="content">Menu « Collections » (Linux)</span></div><!--tex4ht:label?: x1-26026r6 --> + + +<!--l. 880--><p class="noindent" ></div><hr class="endfigure"> +<!--l. 882--><p class="noindent" >Une fois choisi le schéma (<span +class="ec-lmri-10">scheme</span>) général, il est possible d’ajouter ou de supprimer des composants, appelés +ici collections. Il y a deux types de collections<span class="frenchb-nbsp"> </span>: les « Standard Collections » qui concernent les fontes, les +extensions, les formats, etc. (voir figure <a +href="#x1-26026r6">6<!--tex4ht:ref: fig:collections-gui --></a>) et les « Language Collections » qui permettent de préciser la liste +des langues qui seront utilisables sur le système (indispensable<span class="frenchb-thinspace"> </span>!). Attention, si vous travaillez en mode texte, +dans ces menus la casse des lettres est importante. En mode graphique, il suffit de cocher ou de décocher les +cases en cliquant. +<!--l. 892--><p class="noindent" >Il est possible de raffiner encore les choix mais il faudra alors utiliser le gestionnaire de paquets TeX Live +(<span +class="ec-lmss-10">tlmgr</span>) ultérieurement, voir la section <a +href="#x1-450006">6<!--tex4ht:ref: sec:tlmgr --></a>. +<h5 class="subsubsectionHead"><span class="titlemark">3.2.3 </span> <a + id="x1-270003.2.3"></a>Répertoires d’installation</h5> +<!--l. 899--><p class="noindent" >L’arrangement par défaut des différents répertoire est donné à la section <a +href="#x1-110002.3">2.3<!--tex4ht:ref: sec:texmftrees --></a>, page <a +href="#x1-110002.3">9<!--tex4ht:ref: sec:texmftrees --></a>. La racine +de l’installation principale, <span class="path"><span +class="ec-lmtt-10">TEXDIR</span></span>, vaut par défaut <span class="path"><span +class="ec-lmtt-10">/usr/local/texlive/2012</span></span> sous Unix et +<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">%SystemDrive%\texlive\2012</span></span></span> sous Windows. +<!--l. 905--><p class="noindent" >Il peut être nécessaire de changer la valeur de <span class="path"><span +class="ec-lmtt-10">TEXDIR</span></span> lorsque celui qui procède à l’installation n’a pas les +droits d’écriture sur le répertoire <span class="path"><span +class="ec-lmtt-10">TEXDIR</span></span> (l’installation n’est pas réservée au superutilisateur <span +class="ec-lmri-10">root </span>ou +« Administrateur », il suffit d’avoir les droits en écriture sur le répertoire <span class="path"><span +class="ec-lmtt-10">TEXDIR</span></span>). +<!--l. 911--><p class="noindent" >Un autre choix raisonnable est d’installer <span class="TEX">T<span +class="E">E</span>X</span> Live dans votre répertoire personnel, surtout si vous prévoyez +d’en être le seul utilisateur. Vous pouvez utiliser <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">~</span></span></span> à cet effet, par exemple <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">~/texlive/2012</span></span></span>. +<!--l. 915--><p class="noindent" >Dans tous les cas, il est recommandé d’inclure l’année dans le chemin afin de pouvoir conserver plusieurs +versions de <span class="TEX">T<span +class="E">E</span>X</span> Live en parallèle. Rien n’empêche d’ajouter un lien symbolique (par exemple +<span class="path"><span +class="ec-lmtt-10">/usr/local/texlive-current</span></span>) qui pointe sur la version actuellement utilisée. Ceci facilite les basculements +d’une version à une autre. +<!--l. 921--><p class="noindent" >Le répertoire <span +class="ec-lmtt-10">TEXMFHOME </span>est destiné à regrouper les répertoires de macros personnelles. Par défaut, son +emplacement est <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">~/texmf</span></span></span><span class="frenchb-thinspace"> </span>; ici, le <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">~</span></span></span> est préservé dans les fichiers de configurations crées, de façon à être +remplacé dynamiquement pour chaque utilisateur de <span class="TEX">T<span +class="E">E</span>X</span>, par la valeur des variables d’environnement <span class="path"><span +class="ec-lmtt-10">\$HOME</span></span> +sous Unix et <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">%USERPROFILE%</span></span></span> sous Windows. Attention, comme tous les autres répertoires, <span +class="ec-lmtt-10">TEXMFHOME </span>doit +respecter la structure TDS ou les fichier ne seront pas trouvés. +<!--l. 930--><p class="noindent" >Enfin, <span class="path"><span +class="ec-lmtt-10">TEXMFVAR</span></span> est l’emplacement où sont stockées les fichiers de cache spécifiques à chaque +utilisateur. <span class="path"><span +class="ec-lmtt-10">TEXMFCACHE</span></span> est utilisé par Con<span class="TEX">T<span +class="E">E</span>X</span>t MkIV pour le même but (voir la section <a +href="#x1-360003.5.1">3.5.1<!--tex4ht:ref: sec:context-mkiv --></a> +page <a +href="#x1-360003.5.1">40<!--tex4ht:ref: sec:context-mkiv --></a>). +<!--l. 935--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">3.2.4 </span> <a + id="x1-280003.2.4"></a>Options</h5> +<!--l. 938--><p class="noindent" ><hr class="figure"><div class="figure" +> + + +<a + id="x1-28025r7"></a> + + +<div class="fancyvrb" id="fancyvrb4"><a + id="x1-28002r1"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Options</span><span +class="ec-lmtt-8"> setup:</span><br class="fancyvrb" /><a + id="x1-28004r2"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ===============================================================================</span> +<br class="fancyvrb" /><a + id="x1-28006r3"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <P></span><span +class="ec-lmtt-8"> use</span><span +class="ec-lmtt-8"> letter</span><span +class="ec-lmtt-8"> size</span><span +class="ec-lmtt-8"> instead</span><span +class="ec-lmtt-8"> of</span><span +class="ec-lmtt-8"> A4</span><span +class="ec-lmtt-8"> by</span><span +class="ec-lmtt-8"> default:</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><br class="fancyvrb" /><a + id="x1-28008r4"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <E></span><span +class="ec-lmtt-8"> execution</span><span +class="ec-lmtt-8"> of</span><span +class="ec-lmtt-8"> restricted</span><span +class="ec-lmtt-8"> list</span><span +class="ec-lmtt-8"> of</span><span +class="ec-lmtt-8"> programs:</span><span +class="ec-lmtt-8"> [X]</span> +<br class="fancyvrb" /><a + id="x1-28010r5"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <F></span><span +class="ec-lmtt-8"> create</span><span +class="ec-lmtt-8"> format</span><span +class="ec-lmtt-8"> files:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> [X]</span><br class="fancyvrb" /><a + id="x1-28012r6"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <D></span><span +class="ec-lmtt-8"> install</span><span +class="ec-lmtt-8"> font/macro</span><span +class="ec-lmtt-8"> doc</span><span +class="ec-lmtt-8"> tree:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> [X]</span> +<br class="fancyvrb" /><a + id="x1-28014r7"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <S></span><span +class="ec-lmtt-8"> install</span><span +class="ec-lmtt-8"> font/macro</span><span +class="ec-lmtt-8"> source</span><span +class="ec-lmtt-8"> tree:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> [X]</span><br class="fancyvrb" /><a + id="x1-28016r8"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <L></span><span +class="ec-lmtt-8"> create</span><span +class="ec-lmtt-8"> symlinks</span><span +class="ec-lmtt-8"> in</span><span +class="ec-lmtt-8"> standard</span><span +class="ec-lmtt-8"> directories:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><br class="fancyvrb" /><a + id="x1-28018r9"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> binaries</span><span +class="ec-lmtt-8"> to:</span> +<br class="fancyvrb" /><a + id="x1-28020r10"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> manpages</span><span +class="ec-lmtt-8"> to:</span><br class="fancyvrb" /><a + id="x1-28022r11"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> info</span><span +class="ec-lmtt-8"> to:</span><br class="fancyvrb" /><a + id="x1-28024r12"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <Y></span><span +class="ec-lmtt-8"> after</span><span +class="ec-lmtt-8"> installation,</span><span +class="ec-lmtt-8"> get</span><span +class="ec-lmtt-8"> package</span><span +class="ec-lmtt-8"> updates</span><span +class="ec-lmtt-8"> from</span><span +class="ec-lmtt-8"> CTAN:</span><span +class="ec-lmtt-8"> [X]</span></div> +<br /> <div class="caption" +><span class="id"><span +class="ec-lmcsc-10">Figure</span> 7: </span><span +class="content">menu « Options » (Unix)</span></div><!--tex4ht:label?: x1-28025r7 --> + + +<!--l. 954--><p class="noindent" ></div><hr class="endfigure"> +<!--l. 956--><p class="noindent" >La figure <a +href="#x1-28025r7">7<!--tex4ht:ref: fig:options-text --></a> présente le menu « Options » en mode texte, sur lesquelles voici quelques précisions. + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10">use letter size instead of A4 by default</span> </dt><dd +class="description">– la taille du papier par défaut pour des outils comme + <span +class="ec-lmss-10">dvips</span>, <span +class="ec-lmss-10">pdftex</span>, <span +class="ec-lmss-10">xdvi</span>. Cette option n’a pas d’influence sur les tailles par défaut utilisées par des jeux + de macros comme les classes standard de <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> ou ses modules, qui seront prioritaires. Dans + tous les cas, il est possible et recommandé de préciser la taille de papier souhaitée au sein de + chaque document. + </dd><dt class="description"> +<span +class="ec-lmbx-10">execution of restricted list of programs</span> </dt><dd +class="description">– à compter de <span class="TEX">T<span +class="E">E</span>X</span> Live 2010, l’exécutions de certains + programmes externes depuis <span class="TEX">T<span +class="E">E</span>X</span> est autorisée par défaut. La (très courte) liste de programmes + autorisés se trouve dans le fichier <span class="path"><span +class="ec-lmtt-10">texmf.cnf</span></span>. Voir la section <a +href="#x1-7900010.1.7">10.1.7<!--tex4ht:ref: sec:2010news --></a> pour plus de détails. + </dd><dt class="description"> +<span +class="ec-lmbx-10">create format files</span> </dt><dd +class="description">– création de tous les formats à l’installation. Bien que cette opération prenne un + peu de temps, il est conseillé de ne pas la supprimer, sinon les formats seront créés au coup par + coup dans les répertoires personnels des utilisateurs (sous <span +class="ec-lmtt-10">TEXMFVAR</span>). Les formats personnels ainsi + créés ne bénéficieront pas des mises à jour éventuelles effectuées ultérieurement sur l’installation + <span class="TEX">T<span +class="E">E</span>X</span> Live, ce qui peut engendrer des incompatibilités. + </dd><dt class="description"> +<span +class="ec-lmbx-10">install font/macro . . .</span><span +class="ec-lmbx-10"> tree</span> </dt><dd +class="description">– ces options permettent de ne pas installer les fichiers de documentation + et les sources présents dans la plupart des paquets. Il est recommandé de conserver la valeur par + défaut. + </dd><dt class="description"> +<span +class="ec-lmbx-10">create symlinks in standard directories</span> </dt><dd +class="description">– cette option (pour Unix seulement) permet d’éviter + d’avoir à modifier les variables d’environnement <span +class="ec-lmtt-10">PATH</span>, <span +class="ec-lmtt-10">MANPATH </span>et <span +class="ec-lmtt-10">INFOPATH </span>après l’installation. + Elle nécessite les droits d’écriture dans les répertoires cibles. Il est fortement recommandé de <span +class="ec-lmri-10">ne</span> + <span +class="ec-lmri-10">pas </span>utiliser cette option si un système <span class="TEX">T<span +class="E">E</span>X</span> est déjà installé par votre système d’exploitation. + Elle est destinée uniquement à permettre l’accès à <span class="TEX">T<span +class="E">E</span>X</span> depuis des répertoires standard comme + <span class="path"><span +class="ec-lmtt-10">/usr/local/bin</span></span> sur les systèmes où aucune autre installation <span class="TEX">T<span +class="E">E</span>X</span> n’est présente. + </dd><dt class="description"> +<span +class="ec-lmbx-10">after installation . . .</span><span +class="ec-lmbx-10"> CTAN</span> </dt><dd +class="description">– lors d’une installation depuis le DVD, cette option est activés par + défaut, car on souhaite généralement bénéficier des mises à jour de paquets depuis la partie du + CTAN les hébergeant, qui est mise à jour toute l’année. La seule raison probable de la désactiver + est si vous installez seulement un sous-ensemble de <span class="TEX">T<span +class="E">E</span>X</span> Live depuis le DVD et prévoyez de la + compléter ultérieurement, toujours depuis le DVD. Dans tous les cas, le dépôt de paquets utilisé + par l’installateur et celui utilisé après installation peuvent être choisis de façon indépendante<span class="frenchb-thinspace"> </span>; + voir les sections <a +href="#x1-300003.3.1">3.3.1<!--tex4ht:ref: sec:location --></a> et <a +href="#x1-340003.4.3">3.4.3<!--tex4ht:ref: sec:dvd-install-net-updates --></a>.</dd></dl> +<!--l. 1008--><p class="noindent" >Lorsque vous êtes satisfait des réglages faits, il vous reste à taper <span +class="ec-lmtt-10">I </span>pour lancer le processus d’installation. +Lorsque celui-ci sera terminé, sautez à la section <a +href="#x1-310003.4">3.4<!--tex4ht:ref: sec:postinstall --></a> pour voir s’il y a d’autres choses à faire. +<h4 class="subsectionHead"><span class="titlemark">3.3 </span> <a + id="x1-290003.3"></a>Options de install-tl en ligne de commande</h4> +<!--l. 1016--><p class="noindent" >Tapez <div class="alltt"> +<!--l. 1017--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">install-tl</span><span +class="ec-lmtk-10"> -help</span> +</div> +</div> pour obtenir la liste de toutes les options disponibles. Vous pouvez utiliser <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">-</span></span></span> ou <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">--</span></span></span> pour introduire le noms des +options. Voici les plus courantes<span class="frenchb-nbsp"> </span>: +<!--l. 1023--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span +class="ec-lmtt-10">-gui</span> </dt><dd +class="list"> + + + <!--l. 1024--><p class="noindent" ><span class="frenchb-nbsp"> </span>: exécution en mode graphique (si possible). Ceci + nécessite le module Perl/Tk (<a +href="http://tug.org/texlive/distro.html#perltk" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/distro.html#perltk</span></a>) avec support de + XFT<span class="frenchb-thinspace"> </span>; si Perl/Tk n’est pas disponible, l’installation se poursuit en mode texte. + </dd><dt class="list"> + <span +class="ec-lmtt-10">-no-gui</span> </dt><dd +class="list"> + <!--l. 1029--><p class="noindent" ><span class="frenchb-nbsp"> </span>: exécution en mode texte, même sous Windows. + </dd><dt class="list"> + <span +class="ec-lmtt-10">-lang </span><span +class="ec-lmro-10">LL</span> </dt><dd +class="list"> + <!--l. 1031--><p class="noindent" ><span class="frenchb-nbsp"> </span>: langue utilisé par l’interface de l’installateur, spécifiée par son code standard (généralement + sur deux lettres). Le programme s’efforce de déterminer automatiquement la langue à utiliser et + se rabat sur l’anglais en cas d’échec. Vous pouvez obtenir la liste des langues disponibles avec + <span +class="ec-lmtt-10">install-tl –help</span>. + <!--l. 1037--><p class="noindent" ><a id="opt-in-place"></a> + </dd><dt class="list"> + <span +class="ec-lmtt-10">-in-place</span> </dt><dd +class="list"> + <!--l. 1038--><p class="noindent" ><span class="frenchb-nbsp"> </span>: si vous possédez déjà une copie de <span class="TEX">T<span +class="E">E</span>X</span> Live acquise par rsync, svn ou un autre moyen + (voir <a +href="http://tug.org/texlive/acquire-mirror.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/acquire-mirror.html</span></a>), cette option vous permet de l’utiliser + directement, en l’état, de de procéder uniquement aux opération post-installation. Attention, ceci + peut écraser le fichier <span class="path"><span +class="ec-lmtt-10">tlpkg/texlive.tlpdb</span></span>, c’est à vous de le sauvegarder auparavant si vous + le désirez. Aussi, une éventuelle déinstallation de paquet est à faire manuellement. N’utilisez pas + cette option à moins de savoir ce que vous faites. Cette option ne peut pas être activée depuis + l’interface de l’installateur. + </dd><dt class="list"> + <span +class="ec-lmtt-10">-portable</span> </dt><dd +class="list"> + <!--l. 1049--><p class="noindent" ><span class="frenchb-nbsp"> </span>: créer une installation utilisable de façon portable sur une clé USB ou un DVD<span class="frenchb-thinspace"> </span>; peut aussi être + activé depuis l’interface textuelle de l’installateur avec la commande <span +class="ec-lmtt-10">V</span>, ainsi que depuis l’interface + graphique. Voir la section <a +href="#x1-430005">5<!--tex4ht:ref: sec:portable-tl --></a> pour les détails. + </dd><dt class="list"> + <span +class="ec-lmtt-10">-profile </span><span +class="ec-lmro-10">fichier</span> </dt><dd +class="list"> + <!--l. 1055--><p class="noindent" ><span class="frenchb-nbsp"> </span>: charger le profil d’installation depuis le <span +class="ec-lmro-10">fichier </span>et installer sans interaction avec l’utilisateur. À + chaque exécution, le script d’installation écrit un compte-rendu dans le fichier <span class="path"><span +class="ec-lmtt-10">texlive.profile</span></span> + du sous-répertoire <span class="path"><span +class="ec-lmtt-10">tlpkg</span></span> de votre installation <span class="TEX">T<span +class="E">E</span>X</span> Live. Ce fichier peut être donné en argument + pour refaire exactement la même installation sur une machine différente, par exemple. Sinon, vous + pouvez utiliser un profil personnalisé<span class="frenchb-thinspace"> </span>; la façon la plus facile de le créer est de partir d’un profil + généré et de modifier les valeurs, ou d’utiliser un fichier vide pour utiliser toutes les valeurs par + défaut. + </dd><dt class="list"> + <span +class="ec-lmtt-10">-repository </span><span +class="ec-lmro-10">url-ou-r</span><span +class="ec-lmro-10">épertoire</span> </dt><dd +class="list"> + <!--l. 1066--><p class="noindent" ><span class="frenchb-nbsp"> </span>: choix d’une source où récupérer le matériel à installer, voir ci-dessous.</dd></dl> +<!--l. 1070--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">3.3.1 </span> <a + id="x1-300003.3.1"></a>L’option <span +class="ec-lmtt-10">-repository</span></h5> +<!--l. 1073--><p class="noindent" >L’emplacement par défaut du dépôt de paquets en ligne est un miroir du CTAN choisi automatiquement par le +service de redirection <a +href="http://mirror.ctan.org/" class="url" ><span +class="ec-lmtt-10">http://mirror.ctan.org/</span></a>. +<!--l. 1077--><p class="noindent" >Si vous voulez en utiliser un autre, vous pouvez utiliser l’option <span +class="ec-lmtt-10">-repository </span>avec pour valeur une url +commençant par <span +class="ec-lmtt-10">ftp</span><span class="frenchb-nbsp"> </span><span +class="ec-lmtt-10">:</span>, <span +class="ec-lmtt-10">http</span><span class="frenchb-nbsp"> </span><span +class="ec-lmtt-10">: </span>ou <span +class="ec-lmtt-10">file</span><span class="frenchb-nbsp"> </span><span +class="ec-lmtt-10">:/</span>, ou un chemin vers un répertoire local. (Dans le cas d’une url en +<span +class="ec-lmtt-10">http</span><span class="frenchb-nbsp"> </span><span +class="ec-lmtt-10">: </span>ou <span +class="ec-lmtt-10">ftp</span><span class="frenchb-nbsp"> </span><span +class="ec-lmtt-10">:</span>, un éventuel caractère « <span +class="ec-lmtt-10">/ </span>» à la fin, de même qu’une éventuelle composante <span +class="ec-lmtt-10">tlpkg/ </span>finale, +sont ignorés.) +<!--l. 1084--><p class="noindent" >Par exemple, vous pouvez choisir un miroir du CTAN en particulier avec un valeur comme +<a +href="http://ctan.example.org/tex-archive/systems/texlive/tlnet/" class="url" ><span +class="ec-lmtt-10">http://ctan.example.org/tex-archive/systems/texlive/tlnet/</span></a>, en substituant le nom d’un vrai miroir +et le chemine ver l’archive <span class="TEX">T<span +class="E">E</span>X</span> spécifique à la place de <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">ctan.example.org</span></span></span>. La liste des miroirs du CTAN est +disponible sur <a +href="http://ctan.org/mirrors" class="url" ><span +class="ec-lmtt-10">http://ctan.org/mirrors</span></a>. +<!--l. 1090--><p class="noindent" >Si l’argument donné est local (un chemin ou une url en <span +class="ec-lmtt-10">file</span><span class="frenchb-nbsp"> </span><span +class="ec-lmtt-10">:/</span>) et que les paquets sont présents +à la fois sous forme de fichiers non compressés et d’archives compressées, ces dernières seront +utilisées. + + +<!--l. 1094--><p class="noindent" > +<h4 class="subsectionHead"><span class="titlemark">3.4 </span> <a + id="x1-310003.4"></a>Étapes post-installation</h4> +<!--l. 1097--><p class="noindent" >Selon les cas quelques opérations supplémentaires peuvent être nécessaires. +<!--l. 1100--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">3.4.1 </span> <a + id="x1-320003.4.1"></a>Variables d’environnement sous Unix</h5> +<!--l. 1103--><p class="noindent" >Si vous avez choisi de créer des liens symboliques dans les répertoires standard (voir la section <a +href="#x1-280003.2.4">3.2.4<!--tex4ht:ref: sec:options --></a>), alors il +est inutile de modifier vos variables d’environnement. Sinon, sur les systèmes Unix, le répertoire contenant les +binaires pour votre plateforme doit être ajouté au <span +class="ec-lmtt-10">PATH</span>. (Sous Windows, l’installateur s’en occupe, il n’y a rien +à faire.) +<!--l. 1109--><p class="noindent" >À chaque architecture correspond un sous-répertoire de <span class="path"><span +class="ec-lmtt-10">TEXDIR/bin</span></span>, voir la liste à la figure <a +href="#x1-25043r4">4<!--tex4ht:ref: fig:bin-text --></a> +<a +href="#x1-25043r4">27<!--tex4ht:ref: fig:bin-text --></a>. +<!--l. 1113--><p class="noindent" >Si vous voulez que votre système trouve les fichiers de documentation concernant <span class="TEX">T<span +class="E">E</span>X</span> Live aux formats man +et Info, il faut également ajuster les variables <span +class="ec-lmtt-10">MANPATH </span>et <span +class="ec-lmtt-10">INFOPATH</span>. Sur certains systèmes, ceci +ne sera pas nécessaire et il suffira de régler le <span +class="ec-lmtt-10">PATH </span>pour que les pages de man et d’Info soient +trouvées. +<!--l. 1119--><p class="noindent" >Pour les <span +class="ec-lmri-10">shells </span>dits « Bourne-compatible » tels que <span +class="ec-lmss-10">bash </span>sous GNU/Linux, le fichier à éditer peut être +<span class="path"><span +class="ec-lmtt-10">\$HOME/.bash_profile</span></span> ou <span class="path"><span +class="ec-lmtt-10">\$HOME/.profile</span></span> et les lignes à ajouter sont de la forme suivante<span class="frenchb-nbsp"> </span>: +<!--l. 1124--><p class="noindent" > +<div class="fancyvrb" id="fancyvrb5"><a + id="x1-32002r1"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> PATH=/usr/local/texlive/2012/bin/i386-linux:$PATH;</span><span +class="ec-lmtt-9"> export</span><span +class="ec-lmtt-9"> PATH</span> +<br class="fancyvrb" /><a + id="x1-32004r2"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> MANPATH=/usr/local/texlive/2012/texmf/doc/man:$MANPATH;</span><span +class="ec-lmtt-9"> export</span><span +class="ec-lmtt-9"> MANPATH</span> +<br class="fancyvrb" /><a + id="x1-32006r3"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> INFOPATH=/usr/local/texlive/2012/texmf/doc/info:$INFOPATH;</span><span +class="ec-lmtt-9"> export</span><span +class="ec-lmtt-9"> INFOPATH</span></div> +<!--l. 1131--><p class="noindent" >Pour les <span +class="ec-lmri-10">shells </span><span +class="ec-lmss-10">csh </span>ou <span +class="ec-lmss-10">tcsh</span>, le fichier à éditer est en principe <span class="path"><span +class="ec-lmtt-10">$HOME/.cshrc</span></span> et les lignes à ajouter sont de la +forme suivante<span class="frenchb-nbsp"> </span>: +<div class="fancyvrb" id="fancyvrb6"><a + id="x1-32008r1"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> setenv</span><span +class="ec-lmtt-9"> PATH</span><span +class="ec-lmtt-9"> /usr/local/texlive/2012/bin/i386-linux:$PATH</span><br class="fancyvrb" /><a + id="x1-32010r2"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> setenv</span><span +class="ec-lmtt-9"> MANPATH</span><span +class="ec-lmtt-9"> /usr/local/texlive/2012/texmf/doc/man:$MANPATH</span> +<br class="fancyvrb" /><a + id="x1-32012r3"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> setenv</span><span +class="ec-lmtt-9"> INFOPATH</span><span +class="ec-lmtt-9"> /usr/local/texlive/2012/texmf/doc/info:$INFOPATH</span></div> +<!--l. 1140--><p class="noindent" >Si vous avez déjà des réglages concernant ces variables dans vos fichiers de configurations, il suffit bien sûr d’y +rajouter les répertoires concernant <span class="TEX">T<span +class="E">E</span>X</span> Live. +<!--l. 1144--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">3.4.2 </span> <a + id="x1-330003.4.2"></a>Variables d’environnement<span class="frenchb-nbsp"> </span>: configuration multi-utilisateur</h5> +<!--l. 1147--><p class="noindent" >Il est possible d’ajuster les variables <span +class="ec-lmtt-10">PATH</span>, <span +class="ec-lmtt-10">MANPATH </span>et <span +class="ec-lmtt-10">INFOPATH </span>globalement pour tous les utilisateurs présents +et futurs sans avoir à éditer les fichiers personnels de chacun mais les façons de le faire sont trop différentes +d’un système à l’autre pour être présentées ici. +<!--l. 1153--><p class="noindent" >Voici quelques pistes<span class="frenchb-nbsp"> </span>: pour <span +class="ec-lmtt-10">MANPATH </span>chercher un fichier <span class="path"><span +class="ec-lmtt-10">/etc/manpath.config</span></span>, s’il est présent lui ajouter des +lignes comme +<div class="fancyvrb" id="fancyvrb7"><a + id="x1-33002r1"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> MANPATH_MAP</span><span +class="ec-lmtt-9"> /usr/local/texlive/2012/bin/i386-linux</span><span +class="ec-lmtt-9"> \</span><br class="fancyvrb" /><a + id="x1-33004r2"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> /usr/local/texlive/2012/texmf/doc/man</span></div> +<!--l. 1160--><p class="noindent" >Pour les deux autres, chercher un fichier<span class="path"><span +class="ec-lmtt-10">/etc/environment</span></span>, il est éventuellement possible d’y définir les +valeurs des variables d’environnement telles que <span +class="ec-lmtt-10">PATH </span>et <span +class="ec-lmtt-10">INFOPATH</span>. +<!--l. 1164--><p class="noindent" >Nous créons aussi à l’installation un lien symbolique nommé <span +class="ec-lmtt-10">man </span>dans les répertoires des binaires Unix. +Certains programmes <span +class="ec-lmtt-10">man</span>, comme celui livré en standard sur Mac OS X, l’utilisent pour trouver +automatiquement les pages de <span +class="ec-lmtt-10">man</span>, rendant inutile tout réglage de <span +class="ec-lmtt-10">MANPATH</span>. + + +<!--l. 1169--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">3.4.3 </span> <a + id="x1-340003.4.3"></a>Mises à jour par Internet après une installation par le DVD</h5> +<!--l. 1172--><p class="noindent" >Si vous avez installé <span class="TEX">T<span +class="E">E</span>X</span> Live depuis le DVD et souhaitez ensuite accéder aux mises à jour par Internet, il +vous faudra exécuter la commande suivante (après avoir réglé votre <span +class="ec-lmtt-10">PATH </span>si nécessaire, comme expliqué à la +section précédente)<span class="frenchb-nbsp"> </span>: +<div class="alltt"> +<!--l. 1177--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tlmgr</span><span +class="ec-lmtk-10"> option</span><span +class="ec-lmtk-10"> repository</span><span +class="ec-lmtk-10"> http://mirror.ctan.org/systems/texlive/tlnet</span> +</div> +</div> +<!--l. 1181--><p class="noindent" >Ceci dit à <span +class="ec-lmss-10">tlmgr </span>d’utiliser pour les futures mises à jour un miroir du CTAN proche. Ceci est fait par défaut +lors d’une installation depuis le DVD, via l’option décrite dans la section <a +href="#x1-280003.2.4">3.2.4<!--tex4ht:ref: sec:options --></a>. +<!--l. 1185--><p class="noindent" >Si vous rencontrez des problèmes avec la sélection automatique du miroir, vous pouvez en sélectionner un en +particulier depuis la liste disponible en <a +href="http://ctan.org/mirrors" class="url" ><span +class="ec-lmtt-10">http://ctan.org/mirrors</span></a>. Utilisez le chemin complet vers le répertoir +<span class="path"><span +class="ec-lmtt-10">tlnet</span></span> pour ce miroir, comme ci-dessus. +<!--l. 1191--><p class="noindent" ><a id="xetexfontconfig"></a> <a id="sysfontconfig"></a> +<h4 class="subsectionHead"><span class="titlemark">3.5 </span> <a + id="x1-350003.5"></a>Configuration des fontes pour Xe<span class="TEX">T<span +class="E">E</span>X</span> et Lua<span class="TEX">T<span +class="E">E</span>X</span></h4> +<!--l. 1196--><p class="noindent" >Xe<span class="TEX">T<span +class="E">E</span>X</span> et Lua<span class="TEX">T<span +class="E">E</span>X</span> peuvent utiliser toutes les polices installées au niveau du système et pas seulement +celles des arborescences <span class="TEX">T<span +class="E">E</span>X</span>. Pour cela, ils utilisent des méthodes différentes mais pas tout à fait +indépendantes. +<!--l. 1200--><p class="noindent" >Sous Windows, les fontes livrées avec <span class="TEX">T<span +class="E">E</span>X</span> Live sont automatiquement rendues utilisables par Xe<span class="TEX">T<span +class="E">E</span>X</span>, mais si +vous avez installé le paquet <span +class="ec-lmss-10">xetex </span>sur un système de type Unix, vous avez besoin de le configurer un peu pour +que Xe<span class="TEX">T<span +class="E">E</span>X</span> puisse trouver les fontes installées par <span class="TEX">T<span +class="E">E</span>X</span> Live par leur nom sans être obligé d’utiliser le nom du +fichier. +<!--l. 1206--><p class="noindent" >Pour faciliter ce réglage, lorsque le paquet <span +class="ec-lmss-10">xetex </span>est installé, un fichier de configuration adéquat est créé<span class="frenchb-nbsp"> </span>: +<span class="path"><span +class="ec-lmtt-10">TEXMFSYSVAR/fonts/conf/texlive-fontconfig.conf</span></span>. +<!--l. 1210--><p class="noindent" >Pour permettre à votre système l’accès aux polices <span class="TEX">T<span +class="E">E</span>X</span> Live, si vous avez les privilèges suffisants, vous +pouvez procéder ainsi<span class="frenchb-nbsp"> </span>: + <ol class="enumerate1" > + <li + class="enumerate" id="x1-35002x1">Copiez le fichier <span class="path"><span +class="ec-lmtt-10">texlive-fontconfig.conf</span></span> dans <span class="path"><span +class="ec-lmtt-10">/etc/fonts/conf.d/09-texlive.conf</span></span>. + </li> + <li + class="enumerate" id="x1-35004x2">Exécutez <span +class="ec-lmtk-10">fc-cache -fsv</span>.</li></ol> +<!--l. 1218--><p class="noindent" >Si vous n’avez pas les privilèges suffisants pour utiliser la méthode ci-dessus, ou si vous préférez ne rendre les +polices disponibles que pour un utilisateur, vous pouvez procéder comme suit. + <ol class="enumerate1" > + <li + class="enumerate" id="x1-35006x1">Copiez le fichier <span class="path"><span +class="ec-lmtt-10">texlive-fontconfig.conf</span></span> vers <span class="path"><span +class="ec-lmtt-10">~/.fonts.conf</span></span>, où <span class="path"><span +class="ec-lmtt-10">~</span></span> représente votre répertoire + personnel. + </li> + <li + class="enumerate" id="x1-35008x2">Exécutez <span +class="ec-lmtk-10">fc-cache -fv</span>.</li></ol> +<!--l. 1228--><p class="noindent" >Vous pouvez utiliser <span +class="ec-lmtt-10">fc-list </span>pour voir les noms des polices du système. L’incantation <span +class="ec-lmtt-10">fc-list</span><span class="frenchb-nbsp"> </span><span +class="ec-lmtt-10">:</span> +<span +class="ec-lmtt-10">family style file spacing </span>(avec ces arguments tels quels) donne en général des informations +utiles. +<!--l. 1232--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">3.5.1 </span> <a + id="x1-360003.5.1"></a>Con<span class="TEX">T<span +class="E">E</span>X</span>t Mark IV</h5> +<!--l. 1235--><p class="noindent" >La « vieille » version de Con<span class="TEX">T<span +class="E">E</span>X</span>t (Mark II) ainsi que la « nouvelle » version (Mark IV) devraient fonctionner +directement après l’installation de <span class="TEX">T<span +class="E">E</span>X</span> Live et ne réclamer aucune action particulière tant que vous n’utilisez +que <span +class="ec-lmtt-10">tlmgr </span>pour les mises à jour. + + +<!--l. 1240--><p class="noindent" >Cependant, comme Con<span class="TEX">T<span +class="E">E</span>X</span>t MkIV n’utilise pas la bibliothèque kpathsea, il faudra mettre à jour +manuellement le cache de fichiers de Con<span class="TEX">T<span +class="E">E</span>X</span>t si jamais vous installez des nouveaux fichiers manuellement +(c’est-à-dire sans utiliser <span +class="ec-lmtt-10">tlmgr</span>). Pour cela, exécutez +<div class="fancyvrb" id="fancyvrb8"><a + id="x1-36002r1"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> context</span><span +class="ec-lmtt-9"> --generate</span></div> +<!--l. 1247--><p class="noindent" >après chaque installation manuelle. Les fichiers résultants sont stockés dans <span +class="ec-lmtt-10">TEXMFCACHE</span>, dont la valeur par +défaut sous <span class="TEX">T<span +class="E">E</span>X</span> Live est <span +class="ec-lmtt-10">TEXMFSYSVAR</span><span class="frenchb-thinspace"> </span><span +class="ec-lmtt-10">;TEXMFVAR</span>. +<!--l. 1251--><p class="noindent" >Con<span class="TEX">T<span +class="E">E</span>X</span>t MkIV lira les fichiers de toutes les arborescences mentionnées dans <span +class="ec-lmtt-10">TEXMFCACHE </span>et les écrira dans le +premier de ces répertoire accessible en écriture. Lors de la lecture, les dernières informations lues sont prises en +compte de façon prioritaire par rapport à celles lues précédemment, dans le cas où certaines données de cache +seraient dupliquées. +<!--l. 1258--><p class="noindent" >Pour plus d’informations, voir <a +href="http://wiki.contextgarden.net/Running_Mark_IV" class="url" ><span +class="ec-lmtt-10">http://wiki.contextgarden.net/Running_Mark_IV</span></a>. +<!--l. 1262--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">3.5.2 </span> <a + id="x1-370003.5.2"></a>Ajout de fichiers locaux ou personnels</h5> +<!--l. 1265--><p class="noindent" >Comme cela a déjà été indiqué à la section <a +href="#x1-110002.3">2.3<!--tex4ht:ref: sec:texmftrees --></a>, <span +class="ec-lmtt-10">TEXMFLOCAL </span>(par défaut <span class="path"><span +class="ec-lmtt-10">/usr/local/texlive/texmf-local</span></span> +ou <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">%SystemDrive%\texlive\texmf-local</span></span></span> sous Windows) est la racine de l’arborescence prévue pour +regrouper les fichiers de macros, les fontes et le matériel utilisable par l’ensemble des utilisateurs du système. +D’autre part <span +class="ec-lmtt-10">TEXMFHOME </span>(par défaut <span class="path"><span +class="ec-lmtt-10">\$HOME/texmf</span></span> (ou <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">%USERPROFILE%\texmf</span></span></span>) regroupe le matériel personnel +de chaque utilisateur. +<!--l. 1274--><p class="noindent" >Dans les deux cas, les fichiers ajoutés doivent être placés, non pas en vrac à la racine de <span +class="ec-lmtt-10">TEXMFLOCAL </span>ou +<span +class="ec-lmtt-10">TEXMFHOME </span>mais dans des sous-répertoires bien choisis (voir <a +href="http://tug.org/tds" class="url" ><span +class="ec-lmtt-10">http://tug.org/tds</span></a> ou lire le fichier <span class="path"><span +class="ec-lmtt-10">texmf.cnf</span></span>). +Par exemple, une classe ou une extension <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> ne sera trouvée que si elle est dans <span class="path"><span +class="ec-lmtt-10">TEXMFLOCAL/tex/latex</span></span> +ou <span class="path"><span +class="ec-lmtt-10">TEXMFHOME/tex/latex</span></span> ou dans un sous-répertoire de ceux-ci. +<!--l. 1281--><p class="noindent" >Enfin, si les ajouts ont été faits sous <span +class="ec-lmtt-10">TEXMFLOCAL</span>, il y a lieu de régénérer les bases de données <span class="path"><span +class="ec-lmtt-10">ls-R</span></span> +(commande <span +class="ec-lmss-10">mktexlsr </span>ou, en mode graphique, bouton « Reinit file database » du gestionnaire de paquets <span class="TEX">T<span +class="E">E</span>X</span> +Live). +<!--l. 1286--><p class="noindent" >L’emplacement des répertoires <span +class="ec-lmtt-10">TEXMFLOCAL </span>et <span +class="ec-lmtt-10">TEXMFHOME </span>est fixe (il ne change pas d’une version à l’autre de +<span class="TEX">T<span +class="E">E</span>X</span> Live). Leur contenu est pris en compte par toutes les versions de <span class="TEX">T<span +class="E">E</span>X</span> Live aussi est-il préférable de ne +pas changer la valeur des variables <span +class="ec-lmtt-10">TEXMFLOCAL </span>et <span +class="ec-lmtt-10">TEXMFHOME </span>à l’installation. +<!--l. 1292--><p class="noindent" >Par défaut, chacune de ces variables est définie comme étant un seul répertoire, comme illustré ci-dessus. +Cependant, ceci n’est pas obligatoire. Si vous voulez par exemple changer rapidement de versions +pour des paquets importants vous pouvez maintenir plusieurs arborescences pour votre usage +personne, en spécifiant dans <span class="path"><span +class="ec-lmtt-10">TEXMFHOME</span></span> une liste de répertoires entre accolades, séparés par des +virgules<span class="frenchb-nbsp"> </span>: + + +<div class="verbatim" id="verbatim-1"> +<div class="fancyvrb" id="fancyvrb9"><a + id="x1-37002r1"></a>    TEXMFHOME = {/my/dir1,/mydir2,/a/third/dir}</div> +</div> +<!--l. 1301--><p class="nopar" > +<!--l. 1303--><p class="noindent" >La section <a +href="#x1-610008.1.5">8.1.5<!--tex4ht:ref: sec:brace-expansion --></a> décrit plus en détails la façon dont sont traitées de telles listes entre accolades. +<!--l. 1306--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">3.5.3 </span> <a + id="x1-380003.5.3"></a>Ajout de fontes externes à <span class="TEX">T<span +class="E">E</span>X</span> Live</h5> +<!--l. 1308--><p class="noindent" >Cette question est malheureusement trop complexe pour être abordée ici. Renoncez-y sauf si vous connaissez +bien les arcanes d’une installation <span class="TEX">T<span +class="E">E</span>X</span>. Vérifiez en premier lieu ce qui existe déjà en libre<span class="frenchb-nbsp"> </span>: voir la +section <a +href="#x1-140002.6">2.6<!--tex4ht:ref: sec:tl-fonts --></a>. +<!--l. 1313--><p class="noindent" >Une alternative possible est d’utiliser Xe<span class="TEX">T<span +class="E">E</span>X</span> ou Lua<span class="TEX">T<span +class="E">E</span>X</span> (voir section <a +href="#x1-120002.4">2.4<!--tex4ht:ref: sec:tex-extensions --></a>) qui permettent l’accès aux fontes +disponibles sur le système sans aucune installation supplémentaire. +<!--l. 1317--><p class="noindent" >Si vous ne pouvez pas y couper, le document essayant au mieux de décrire la procédure est +<a +href="http://tug.org/fonts/fontinstall.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/fonts/fontinstall.html</span></a>. Si vous maintenez vos propres associations de fontes (fichiers +<span +class="ec-lmtt-10">.map</span>) localement, la commande <span +class="ec-lmtt-10">tlmgr generate updmap </span>pourrait <span +class="ec-lmri-10">éventuellement </span>vous être utile<span class="frenchb-thinspace"> </span>; consultez la +documentation de <span +class="ec-lmss-10">tlmgr </span>pour les détails. +<!--l. 1324--><p class="noindent" > +<h4 class="subsectionHead"><span class="titlemark">3.6 </span> <a + id="x1-390003.6"></a>Tester l’installation</h4> +<!--l. 1327--><p class="noindent" >Une fois l’installation de <span class="TEX">T<span +class="E">E</span>X</span> Live terminée, il faut la tester avant de créer des documents ou des fontes. Les +tests doivent être faits par un utilisateur non privilégié (autre que <span +class="ec-lmri-10">root</span>). +<!--l. 1331--><p class="noindent" >On donne ici quelques procédures de base pour vérifier que le nouveau système est opérationnel. On les décrit +pour Unix<span class="frenchb-thinspace"> </span>; pour Mac OS X ou Windows, il vaut mieux tester au travers d’une interface graphique mais les +principes sont les mêmes. +<!--l. 1336--><p class="noindent" > + <ol class="enumerate1" > + <li + class="enumerate" id="x1-39002x1">S’assurer en premier lieu que le programme <span +class="ec-lmss-10">tex </span>fonctionne<span class="frenchb-nbsp"> </span>: + <div class="alltt"> + <!--l. 1340--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tex</span><span +class="ec-lmtk-10"> --version</span> + <br /><span +class="ec-lmtt-10">TeX</span><span +class="ec-lmtt-10"> 3.1415926</span><span +class="ec-lmtt-10"> (TeX</span><span +class="ec-lmtt-10"> Live</span><span +class="ec-lmtt-10"> ...)</span> + <br /><span +class="ec-lmtt-10">kpathsea</span><span +class="ec-lmtt-10"> version</span><span +class="ec-lmtt-10"> 6.0.1</span> + <br /><span +class="ec-lmtt-10">Copyright</span><span +class="ec-lmtt-10"> ...</span><span +class="ec-lmtt-10"> D.E.</span><span +class="ec-lmtt-10"> Knuth.</span> + <br /><span +class="ec-lmtt-10">...</span></div> + </div> + <!--l. 1348--><p class="noindent" >Si la réponse est <span +class="ec-lmtt-10">command not found </span>ou si le numéro de version est différent, il est fort probable que + vous n’ayez pas le bon répertoire de binaires dans votre <span +class="ec-lmtt-10">PATH</span>. Voir les informations sur l’environnement + page <a +href="#x1-320003.4.1">39<!--tex4ht:ref: sec:env --></a>. + </li> + <li + class="enumerate" id="x1-39004x2">Traiter un fichier <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> simple<span class="frenchb-nbsp"> </span>: + <div class="alltt"> + <!--l. 1355--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">latex</span><span +class="ec-lmtk-10"> sample2e.tex</span> + <br /><span +class="ec-lmtt-10">pdfTeX</span><span +class="ec-lmtt-10"> 3.1415926-...</span><span +class="ec-lmtt-10"> (TeX</span><span +class="ec-lmtt-10"> Live</span><span +class="ec-lmtt-10"> ...)</span> + <br /><span +class="ec-lmtt-10">...</span> + <br /><span +class="ec-lmtt-10">Output</span><span +class="ec-lmtt-10"> written</span><span +class="ec-lmtt-10"> on</span><span +class="ec-lmtt-10"> sample2e.dvi</span><span +class="ec-lmtt-10"> (3</span><span +class="ec-lmtt-10"> pages,</span><span +class="ec-lmtt-10"> 7484</span><span +class="ec-lmtt-10"> bytes).</span> + <br /><span +class="ec-lmtt-10">Transcript</span><span +class="ec-lmtt-10"> written</span><span +class="ec-lmtt-10"> on</span><span +class="ec-lmtt-10"> sample2e.log.</span> + + +</div> + </div> Si le fichier <span class="path"><span +class="ec-lmtt-10">sample2e.tex</span></span> ou d’autres ne sont pas trouvés, il y a probablement des interférences avec + vos anciennes variables d’environnement ou fichiers de configuration. Pour analyser en détail votre + problème, vous pouvez demander à <span class="TEX">T<span +class="E">E</span>X</span> de dire exactement ce qu’il cherche et trouve<span class="frenchb-thinspace"> </span>; voir la + section <a +href="#x1-680008.2.4">8.2.4<!--tex4ht:ref: sec:debugging --></a> page <a +href="#x1-680008.2.4">69<!--tex4ht:ref: sec:debugging --></a>. + </li> + <li + class="enumerate" id="x1-39006x3">Prévisualiser les résultats<span class="frenchb-nbsp"> </span>: <div class="alltt"> + <!--l. 1370--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">xdvi</span><span +class="ec-lmtk-10"> sample2e.dvi</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> #</span><span +class="ec-lmtt-10"> Unix</span> + <br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">dviout</span><span +class="ec-lmtk-10"> sample2e.dvi</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> #</span><span +class="ec-lmtt-10"> Windows</span></div> + </div> Une nouvelle fenêtre doit s’ouvrir et montrer un joli document expliquant les bases de <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> + (document dont la lecture attentive est recommandée si vous êtes débutant<span class="frenchb-thinspace"> </span>!). Vous devez travailler sous + X pour que <span +class="ec-lmss-10">xdvi </span>fonctionne. Dans le cas contraire, votre variable d’environnement <span +class="ec-lmtt-10">DISPLAY </span>ne sera pas + correcte et vous obtiendrez l’erreur « <span +class="ec-lmtt-10">Can’t open display </span>». + </li> + <li + class="enumerate" id="x1-39008x4">Créer un fichier PostScript pour l’imprimer ou l’afficher<span class="frenchb-nbsp"> </span>: + <div class="alltt"> + <!--l. 1383--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">dvips</span><span +class="ec-lmtk-10"> sample2e.dvi</span><span +class="ec-lmtk-10"> -o</span><span +class="ec-lmtk-10"> sample2e.ps</span></div> + </div> + </li> + <li + class="enumerate" id="x1-39010x5">Créer un fichier PDF au lieu de DVI<span class="frenchb-thinspace"> </span>; cet exemple traite le fichier <span class="path"><span +class="ec-lmtt-10">sample2e.tex</span></span> et crée directement un + fichier PDF<span class="frenchb-nbsp"> </span>: + <div class="alltt"> + <!--l. 1391--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">pdflatex</span><span +class="ec-lmtk-10"> sample2e.tex</span></div> + </div> + </li> + <li + class="enumerate" id="x1-39012x6">Prévisualiser le fichier PDF<span class="frenchb-nbsp"> </span>: + <div class="alltt"> + <!--l. 1397--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">gv</span><span +class="ec-lmtk-10"> sample2e.pdf</span> + <br />ou + <br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">xpdf</span><span +class="ec-lmtk-10"> sample2e.pdf</span></div> + </div> + <!--l. 1403--><p class="noindent" >Ni <span +class="ec-lmss-10">gv </span>ni <span +class="ec-lmss-10">xpdf </span>ne sont inclus dans <span class="TEX">T<span +class="E">E</span>X</span> Live, aussi devez-vous les installer séparément si ce n’est déjà fait. + Voir respectivement <a +href="http://www.gnu.org/software/gv" class="url" ><span +class="ec-lmtt-10">http://www.gnu.org/software/gv</span></a> et <a +href="http://www.foolabs.com/xpdf" class="url" ><span +class="ec-lmtt-10">http://www.foolabs.com/xpdf</span></a>. Il y a + bien d’autres lecteurs de fichiers PDF<span class="frenchb-thinspace"> </span>; pour Windows, nous recommandons Sumatra PDF + (<a +href="http://blog.kowalczyk.info/software/sumatrapdf" class="url" ><span +class="ec-lmtt-10">http://blog.kowalczyk.info/software/sumatrapdf</span></a>). + </li> + <li + class="enumerate" id="x1-39014x7">Autres fichiers de tests utiles en plus de <span class="path"><span +class="ec-lmtt-10">sample2e.tex</span></span><span class="frenchb-nbsp"> </span>: + <!--l. 1414--><p class="noindent" > + <dl class="list2"><dt class="list"> + <span +class="ec-lmtt-10">small2e.tex</span> </dt><dd +class="list"> + <!--l. 1416--><p class="noindent" >à compiler avant <span class="path"><span +class="ec-lmtt-10">sample2e</span></span> si celui-ci pose des problèmes. + </dd><dt class="list"> + <span +class="ec-lmtt-10">testpage.tex</span> </dt><dd +class="list"> + <!--l. 1419--><p class="noindent" >teste que l’imprimante n’introduit pas de décalages. + + + </dd><dt class="list"> + <span +class="ec-lmtt-10">nfssfont.tex</span> </dt><dd +class="list"> + <!--l. 1421--><p class="noindent" >imprime des tables des fontes et des tests. + </dd><dt class="list"> + <span +class="ec-lmtt-10">testfont.tex</span> </dt><dd +class="list"> + <!--l. 1422--><p class="noindent" >aussi pour les tables de fontes mais en (plain)<span class="TEX">T<span +class="E">E</span>X</span>. + </dd><dt class="list"> + <span +class="ec-lmtt-10">story.tex</span> </dt><dd +class="list"> + <!--l. 1423--><p class="noindent" >le fichier de test de (plain)<span class="TEX">T<span +class="E">E</span>X</span> le plus canonique de tous. Il faut taper « <span +class="ec-lmtt-10">\bye </span>» à l’invite <span +class="ec-lmtt-10">*</span> + après « <span +class="ec-lmtt-10">tex story.tex </span>».</dd></dl> + </li> + <li + class="enumerate" id="x1-39016x8">Si vous avez installé le paquet <span +class="ec-lmss-10">xetex</span>, vous pouvez vérifier s’il a bien accès aux polices du système ainsi + <div class="alltt"> + <!--l. 1430--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">xetex</span><span +class="ec-lmtk-10"> opentype-info.tex</span> + <br /><span +class="ec-lmtt-10">This</span><span +class="ec-lmtt-10"> is</span><span +class="ec-lmtt-10"> XeTeX,</span><span +class="ec-lmtt-10"> Version</span><span +class="ec-lmtt-10"> 3.1415926...</span> + <br /><span +class="ec-lmtt-10">...</span> + <br /><span +class="ec-lmtt-10">Output</span><span +class="ec-lmtt-10"> written</span><span +class="ec-lmtt-10"> on</span><span +class="ec-lmtt-10"> opentype-info.pdf</span><span +class="ec-lmtt-10"> (1</span><span +class="ec-lmtt-10"> page).</span> + <br /><span +class="ec-lmtt-10">Transcript</span><span +class="ec-lmtt-10"> written</span><span +class="ec-lmtt-10"> on</span><span +class="ec-lmtt-10"> opentype-info.log.</span></div> + </div> (De même pour <span class="path"><span +class="ec-lmtt-10">luatex</span></span>.) + <!--l. 1439--><p class="noindent" >Si vous obtenez un message d’erreur disant « « <span +class="ec-lmtt-10">Invalid fontname ‘Latin Modern Roman/ICU’... </span>» », + alors vous devez revoir la configuration de votre système pour que Xe<span class="TEX">T<span +class="E">E</span>X</span> puisse accéder aux polices + livrées avec <span class="TEX">T<span +class="E">E</span>X</span> Live comme indiqué en section <a +href="#x1-350003.5">3.5<!--tex4ht:ref: sec:font-conf-sys --></a>. + </li></ol> +<!--l. 1446--><p class="noindent" > +<h4 class="subsectionHead"><span class="titlemark">3.7 </span> <a + id="x1-400003.7"></a>Liens vers d’autres logiciels téléchargeables</h4> +<!--l. 1448--><p class="noindent" >Si vous êtes débutant ou si vous avez besoin d’aide pour réaliser des documents <span class="TEX">T<span +class="E">E</span>X</span> ou <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>, n’hésitez +pas à consulter <a +href="http://tug.org/begin.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/begin.html</span></a>. +<!--l. 1454--><p class="noindent" >Voici quelques liens vers d’autres outils qui peuvent être utiles à installer. + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10">Ghostscript</span> </dt><dd +class="description"><a +href="http://www.cs.wisc.edu/~ghost/" class="url" ><span +class="ec-lmtt-10">http://www.cs.wisc.edu/~ghost/</span></a> + </dd><dt class="description"> +<span +class="ec-lmbx-10">Perl</span> </dt><dd +class="description"><a +href="http://www.perl.org/" class="url" ><span +class="ec-lmtt-10">http://www.perl.org/</span></a> avec des paquets supplémentaires du CPAN, <a +href="http://www.cpan.org/" class="url" ><span +class="ec-lmtt-10">http://www.cpan.org/</span></a> + </dd><dt class="description"> +<span +class="ec-lmbx-10">ImageMagick</span> </dt><dd +class="description"><a +href="http://www.imagemagick.com" class="url" ><span +class="ec-lmtt-10">http://www.imagemagick.com</span></a> pour les conversions entre formats graphiques, + notamment. + </dd><dt class="description"> +<span +class="ec-lmbx-10">NetPBM</span> </dt><dd +class="description"><a +href="http://netpbm.sourceforge.net/" class="url" ><span +class="ec-lmtt-10">http://netpbm.sourceforge.net/</span></a> également pour les graphiques. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Éditeurs orient</span><span +class="ec-lmbx-10">és </span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> </dt><dd +class="description">Le choix est large, et est en bonne partie une question de goût personnel. Voici + une sélection classée par ordre alphabétique (dont certains ne sont disponibles que sous + Windows). + <ul class="itemize1"> + <li class="itemize"><span +class="ec-lmss-10">GNU Emacs </span>existe en version native pour Windows, + <a +href="http://www.gnu.org/software/emacs/windows/ntemacs.html" class="url" ><span +class="ec-lmtt-10">http://www.gnu.org/software/emacs/windows/ntemacs.html</span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10">Emacs </span>avec Auc<span class="TEX">T<span +class="E">E</span>X</span> pour Windows est disponible sur le CTAN. Sa page est + <a +href="http://www.gnu.org/software/auctex" class="url" ><span +class="ec-lmtt-10">http://www.gnu.org/software/auctex</span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10">LEd </span>(Windows seulement, non libre) est disponible sur + <a +href="http://mirror.ctan.org/support/LEd" class="url" ><span +class="ec-lmtt-10">http://mirror.ctan.org/support/LEd</span></a>. + + + </li> + <li class="itemize"><span +class="ec-lmss-10">SciTE </span>(Windows seulement) est disponible sur <a +href="http://www.scintilla.org/SciTE.html" class="url" ><span +class="ec-lmtt-10">http://www.scintilla.org/SciTE.html</span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10">Texmaker </span>est disponible sur <a +href="http://www.xm1math.net/texmaker/index_fr.html " class="url" ><span +class="ec-lmtt-10">http://www.xm1math.net/texmaker/index_fr.html</span><span +class="ec-lmtt-10"> </span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10">TexmakerX </span>est un <span +class="ec-lmri-10">fork </span>de <span +class="ec-lmss-10">Texmaker </span>avec des fonctionnalités supplémentaires<span class="frenchb-nbsp"> </span>: + <a +href="http://texmakerx.sourceforge.net" class="url" ><span +class="ec-lmtt-10">http://texmakerx.sourceforge.net</span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10">TeXnicCenter </span>est disponible sur <a +href="http://www.texniccenter.org" class="url" ><span +class="ec-lmtt-10">http://www.texniccenter.org</span></a> et dans la distribution + pro<span class="TEX">T<span +class="E">E</span>X</span>t + </li> + <li class="itemize"><span +class="ec-lmss-10">TeXworks </span>est disponible sur <a +href="http://tug.org/texworks" class="url" ><span +class="ec-lmtt-10">http://tug.org/texworks</span></a> et inclus dans <span class="TEX">T<span +class="E">E</span>X</span> Live sur Windows + et Mac OS X. + </li> + <li class="itemize"><span +class="ec-lmss-10">Vim </span>est disponible sur <a +href="http://www.vim.org" class="url" ><span +class="ec-lmtt-10">http://www.vim.org</span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10">WinEdt </span>(Windows seulement, non libre) est disponible sur <a +href="http://tug.org/winedt" class="url" ><span +class="ec-lmtt-10">http://tug.org/winedt</span></a> or + <a +href="http://www.winedt.com" class="url" ><span +class="ec-lmtt-10">http://www.winedt.com</span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10">WinShell </span>(Windows seulement) est disponible sur <a +href="http://www.winshell.de" class="url" ><span +class="ec-lmtt-10">http://www.winshell.de</span></a>.</li></ul> + </dd></dl> +<!--l. 1492--><p class="noindent" >Voir <a +href="http://tug.org/interest.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/interest.html</span></a> pour une liste plus complète de programmes. +<!--l. 1496--><p class="noindent" > +<h3 class="sectionHead"><span class="titlemark">4 </span> <a + id="x1-410004"></a>Installations spécialisées</h3> +<!--l. 1498--><p class="noindent" >Les sections précédentes décrivaient le processus pour installation « normale ». Celle-ci concerne des cas plus +spécialisés. +<!--l. 1501--><p class="noindent" ><a id="tlsharedinstall"></a> +<h4 class="subsectionHead"><span class="titlemark">4.1 </span> <a + id="x1-420004.1"></a>Installation partagée entre plusieurs utilisateurs ou machines</h4> +<!--l. 1505--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Live a été conçue pour pouvoir être partagée par plusieurs utilisateurs sur le même système et/ou +différents systèmes sur un réseau. Avec la disposition standard des répertoires, aucun chemin n’est codé en +dur<span class="frenchb-nbsp"> </span>: les emplacements des fichiers dont <span class="TEX">T<span +class="E">E</span>X</span> Live a besoin sont trouvés automatiquement à partir des +emplacements des programmes. Vous pouvez le constater dans le fichier de configuration principal +<span class="path"><span +class="ec-lmtt-10">\$TEXMFMAIN/web2c/texmf.cnf</span></span>, qui contient des lignes comme +<div class="fancyvrb" id="fancyvrb10"><a + id="x1-42002r1"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> TEXMFMAIN</span><span +class="ec-lmtt-9"> =</span><span +class="ec-lmtt-9"> $SELFAUTOPARENT/texmf</span><br class="fancyvrb" /><a + id="x1-42004r2"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ...</span><br class="fancyvrb" /><a + id="x1-42006r3"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> TEXMFLOCAL</span><span +class="ec-lmtt-9"> =</span><span +class="ec-lmtt-9"> $SELFAUTOPARENT/../texmf-local</span></div> +<!--l. 1517--><p class="noindent" >Ceci signifie qu’il suffit aux utilisateurs d’ajouter à leur <span +class="ec-lmtt-10">PATH </span>le chemin des exécutables pour leurs +plate-formes, pour obtenir une configuration qui marche. +<!--l. 1521--><p class="noindent" >Pour la même raison, vous pouvez aussi installer <span class="TEX">T<span +class="E">E</span>X</span> Live localement et ensuite déplacer l’arborescence +complète vers un emplacement réseau. +<!--l. 1524--><p class="noindent" >Pour Windows, un exemple de script d’installation nommé <span class="path"><span +class="ec-lmtt-10">w32client</span></span> peut être téléchargé sur +<a +href="http://tug.org/texlive/w32client.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/w32client.html</span></a>. Il installe les réglages et les raccourcis pour utiliser un système +<span class="TEX">T<span +class="E">E</span>X</span> Live installé sur un réseau local. Il déclare aussi un désinstallateur <span class="path"><span +class="ec-lmtt-10">w32client</span></span>, disponible dans la même +archive zip. Consultez la page web pour plus de détails. +<!--l. 1531--><p class="noindent" ><a id="tlportable"></a> +<h3 class="sectionHead"><span class="titlemark">5 </span> <a + id="x1-430005"></a>Installations « portable » de <span class="TEX">T<span +class="E">E</span>X</span> Live</h3> +<!--l. 1535--><p class="noindent" >L’option <span +class="ec-lmtt-10">-portable </span>de l’installateur (ou la commande <span +class="ec-lmtt-10">V </span>dans l’installateur en mode texte ou l’option +correspondante en mode grapghique) crée une installation de <span class="TEX">T<span +class="E">E</span>X</span> Live entièrement contenue dans une seul + + +répertoire et n’effectue aucune intégration au système. Vous pouvez créer une telle installation directement sur +une clé USB ou la copier sur une clé ultérieurement. +<!--l. 1542--><p class="noindent" >Pour utiliser <span class="TEX">T<span +class="E">E</span>X</span> depuis cette installation portable, il suffit d’ajouter le bon répertoire de binaires à votre +<span +class="ec-lmtt-10">path </span>pour la session de terminal en cours, comme d’habitude. Sous Windows, vous pouvez double-cliquer sur le +fichier <span class="path"><span +class="ec-lmtt-10">tl-tray-menu</span></span> à la racine de l’installation pour choisir parmi quelques actions communes, comme dans +cette capture d’écran<span class="frenchb-nbsp"> </span>: + +<!--l. 1549--><p class="noindent" ><img +src="../texlive-common/tray-menu.png" alt="pict" +> +<!--l. 1552--><p class="noindent" >L’entrée « More... » explique comment personnaliser ce menu. +<!--l. 1554--><p class="noindent" ><a id="tlisoinstall"></a> +<h4 class="subsectionHead"><span class="titlemark">5.1 </span> <a + id="x1-440005.1"></a>Installation sur DVD ou image ISO</h4> +<!--l. 1558--><p class="noindent" >Si vous n’avez pas besoin de mettre à jour ni de modifier votre installation souvent, et/ou que vous désirez +utiliser <span class="TEX">T<span +class="E">E</span>X</span> Live sur plusieurs systèmes, il peut être commode de créer une image ISO de votre installation +<span class="TEX">T<span +class="E">E</span>X</span> Live, pour les raisons suivantes<span class="frenchb-nbsp"> </span>: + <ul class="itemize1"> + <li class="itemize">il est nettement plus rapide de copier d’une machine à l’autre une image ISO qu’une installation + classique<span class="frenchb-thinspace"> </span>; + </li> + <li class="itemize">si vous êtes en multi-boot sur plusieurs systèmes et voulez leur faire partager une même installation + de <span class="TEX">T<span +class="E">E</span>X</span> Live, une image ISO vous isole des idiosyncrasies et limitations des divers systèmes de fichiers + (FAT32, NTFS, HFS+). + </li> + <li class="itemize">les machines virtuelles peuvent monter une image ISO très simplement.</li></ul> +<!--l. 1574--><p class="noindent" >Bien sûr vous pouvez aussi graver votre image ISO sur une DVD, si cela vous est utile. +<!--l. 1577--><p class="noindent" >Les systèmes GNU/Linux et autres Unix de bureau, y compris Mac OS X, sont capables de monter une image +ISO. À part ce montage, rien de change par rapport à une installation normale sur le disque dur, voir la +section <a +href="#x1-320003.4.1">3.4.1<!--tex4ht:ref: sec:env --></a>. +<!--l. 1582--><p class="noindent" >Dans la préparation d’une telle installation, il est préférable d’omettre le sous-répertoire avec le numéro de +l’année, et d’avoir <span class="path"><span +class="ec-lmtt-10">texmf-local</span></span> au même niveau que les autres arborescences (<span class="path"><span +class="ec-lmtt-10">texmf</span></span>, <span class="path"><span +class="ec-lmtt-10">texmf-dist</span></span>, etc.), ce +qui est possible avec les options habituelles de l’installateur. +<!--l. 1588--><p class="noindent" >Pour une machine Windows physique (et non virtuelle) vous pouvez graver l’ISO sur un DVD. Cependant, il +est peut-être plus rentable pour vous de vous renseigner sur les différentes options libres ou gratuites de +montage d’images ISO. Pour XP, Microsoft propose <span class="path"><span +class="ec-lmtt-10">winxpvirtualcdcontrolpanel</span></span>. +<!--l. 1594--><p class="noindent" >Pour l’intégration au système sous Windows, vous pouvez inclure dans l’image le script <span class="path"><span +class="ec-lmtt-10">w32client</span></span> décrit en +section <a +href="#x1-420004.1">4.1<!--tex4ht:ref: sec:sharedinstall --></a> et à l’adresse <a +href="http://tug.org/texlive/w32client.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/w32client.html</span></a><span class="frenchb-thinspace"> </span>; il fonctionne aussi bien pour une image +ISO que pour une installation partagée par le réseau. +<!--l. 1599--><p class="noindent" >Sous Mac OS X, TeXshop et <span class="TEX">T<span +class="E">E</span>X</span>works peuvent utiliser une telle installation si un lien symbolique +<span class="path"><span +class="ec-lmtt-10">/usr/texbin</span></span> existe et pointe vers le bon répertoire, par exemple + + +<div class="verbatim" id="verbatim-2"> +<div class="fancyvrb" id="fancyvrb11"><a + id="x1-44002r1"></a>  sudo ln -s /Volumes/MyTeXLive/bin/universal-darwin /usr/texbin</div> +</div> +<!--l. 1604--><p class="nopar" > +<!--l. 1606--><p class="noindent" >Remarque historique<span class="frenchb-nbsp"> </span>: <span class="TEX">T<span +class="E">E</span>X</span> Live 2010 a été la première édition à ne pas être distribuée en version « live ». +Cependant, toutes les éditions précédentes exigeaient quelques acrobaties pour être utilisées depuis le DVD<span class="frenchb-thinspace"> </span>; +en particulier il n’y avait pas moyen de s’en sortir sans devoir régler au moins une variable d’environnement +supplémentaire. Si vous créez votre ISO ou DVD depuis une installation existante ceci n’est plus +nécessaire. +<!--l. 1613--><p class="noindent" ><a id="tlmgr"></a> +<h3 class="sectionHead"><span class="titlemark">6 </span> <a + id="x1-450006"></a>Maintenance de l’installation avec <span +class="ec-lmss-10">tlmgr</span></h3> +<!--l. 1617--><p class="noindent" ><hr class="figure"><div class="figure" +> + + +<a + id="x1-45001r8"></a> + + + +<!--l. 1618--><p class="noindent" ><img +src="../texlive-common/tlmgr-gui.png" alt="pict" +> +<br /> <div class="caption" +><span class="id"><span +class="ec-lmcsc-10">Figure</span> 8: </span><span +class="content"><span +class="ec-lmss-10">tlmgr </span>en mode graphique. La liste des paquets, collections et schémas d’installation +n’apparaît qu’après avoir cliqué sur le bouton « Charger le dépôt par défaut »).</span></div><!--tex4ht:label?: x1-45001r8 --> + + +<!--l. 1623--><p class="noindent" ></div><hr class="endfigure"> +<!--l. 1625--><p class="noindent" ><hr class="figure"><div class="figure" +> + + +<a + id="x1-45002r9"></a><a + id="x1-45003r10"></a> + + + +<!--l. 1629--><p class="noindent" ><img +src="../texlive-common/tlmgr-general-options.png" alt="pict" +> +<br /> <div class="caption" +><span class="id"><span +class="ec-lmcsc-10">Figure</span> 9: </span><span +class="content"><span +class="ec-lmtt-10">tlmgr </span>en mode graphique<span class="frenchb-nbsp"> </span>: options générales</span></div><!--tex4ht:label?: x1-45002r9 --> +<!--l. 1636--><p class="noindent" ><img +src="../texlive-common/tlmgr-paper-options.png" alt="pict" +> +<br /> <div class="caption" +><span class="id"><span +class="ec-lmcsc-10">Figure</span> 10: </span><span +class="content"><span +class="ec-lmtt-10">tlmgr </span>en mode graphique<span class="frenchb-nbsp"> </span>: +options de taille du papier</span></div><!--tex4ht:label?: x1-45003r10 --> + + +<!--l. 1641--><p class="noindent" ></div><hr class="endfigure"> +<!--l. 1643--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Live fournit un programme appelé <span +class="ec-lmss-10">tlmgr </span>pour assurer la maintenance de la distribution après son +installation initiale. Les programmes <span +class="ec-lmss-10">updmap</span>, <span +class="ec-lmss-10">fmtutil </span>et <span +class="ec-lmss-10">texconfig </span>ont été conservés et le seront à l’avenir, mais +<span +class="ec-lmss-10">tlmgr </span>est désormais considéré comme l’interface standard pour ces opérations. <span +class="ec-lmss-10">tlmgr </span>permet en +particulier + <ul class="itemize1"> + <li class="itemize">d’installer, de mettre à jour ou de désinstaller des paquets individuellement, éventuellement en + respectant les dépendances<span class="frenchb-thinspace"> </span>; + </li> + <li class="itemize">de rechercher des paquets, d’obtenir leur liste, etc.<span class="frenchb-thinspace"> </span>; + </li> + <li class="itemize">de voir la liste des plate-formes binaires et d’en installer ou d’en supprimer<span class="frenchb-thinspace"> </span>; + </li> + <li class="itemize">de modifier la configuration, par exemple la taille du papier par défaut, le dépôt de paquets par + défaut (voir la section <a +href="#x1-300003.3.1">3.3.1<!--tex4ht:ref: sec:location --></a>).</li></ul> +<h4 class="subsectionHead"><span class="titlemark">6.1 </span> <a + id="x1-460006.1"></a><span +class="ec-lmss-10">tlmgr </span>en mode graphique</h4> +<!--l. 1660--><p class="noindent" >On lance <span +class="ec-lmss-10">tlmgr </span>en mode graphique (figure <a +href="#x1-45001r8">8<!--tex4ht:ref: fig:tlmgr-gui --></a>) par la commande <div class="alltt"> +<!--l. 1662--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tlmgr</span><span +class="ec-lmtk-10"> -gui</span> +</div> +</div> ou sous Windows dans le menu « Démarrer »<span class="frenchb-nbsp"> </span>: <span +class="ec-lmtt-10">D</span><span +class="ec-lmtt-10">émarrer </span><span +class="lmsy-10">→ </span><span +class="ec-lmtt-10">Programmes </span><span +class="lmsy-10">→ </span><span +class="ec-lmtt-10">TeX Live</span> +<span +class="ec-lmtt-10">2012 </span><span +class="lmsy-10">→ </span><span +class="ec-lmtt-10">TeX Live Manager</span>. La première chose à faire est de cliquer sur le bouton +« Load <span class="footnote-mark"><a +href="#fn2x0" id="fn2x0-bk"><sup class="textsuperscript">2</sup></a></span><a + id="x1-46001f2"></a> » +ce qui affiche la liste des collections, extensions, etc. (à condition bien sûr qu’il soit possible de se connecter au +dépôt utilisé). +<!--l. 1675--><p class="noindent" >Les figures <a +href="#x1-45002r9">9<!--tex4ht:ref: fig:tlmgr-general-options --></a> et <a +href="#x1-45003r10">10<!--tex4ht:ref: fig:tlmgr-paper-options --></a> montrent les écrans de réglage des options générales et de celles concernant la taille du +papier. +<!--l. 1679--><p class="noindent" > +<h4 class="subsectionHead"><span class="titlemark">6.2 </span> <a + id="x1-470006.2"></a>Exemples d’utilisation de <span +class="ec-lmss-10">tlmgr </span>en ligne de commande</h4> +<!--l. 1681--><p class="noindent" >Après l’installation initiale, vous pouvez mettre à jour votre système en utilisant<span class="frenchb-nbsp"> </span>: +<div class="alltt"> +<!--l. 1684--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tlmgr</span><span +class="ec-lmtk-10"> update</span><span +class="ec-lmtk-10"> -all</span> +</div> +</div> Si cela vous inquiète, vous pouvez commencer par <div class="alltt"> +<!--l. 1688--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tlmgr</span><span +class="ec-lmtk-10"> update</span><span +class="ec-lmtk-10"> -all</span><span +class="ec-lmtk-10"> -dry-run</span> +</div> +</div> ou (moins bavard)<span class="frenchb-nbsp"> </span>: <div class="alltt"> +<!--l. 1692--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tlmgr</span><span +class="ec-lmtk-10"> update</span><span +class="ec-lmtk-10"> -list</span> + + +</div> +</div> +<!--l. 1696--><p class="noindent" >L’exemple suivant, plus complexe, ajoute une collection, pour le moteur Xe<span class="TEX">T<span +class="E">E</span>X</span>, depuis un dépôt +local. +<div class="alltt"> +<!--l. 1699--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tlmgr</span><span +class="ec-lmtk-10"> -repository</span><span +class="ec-lmtk-10"> /local/mirror/tlnet</span><span +class="ec-lmtk-10"> install</span><span +class="ec-lmtk-10"> collection-xetex</span> +</div> +</div> La sortie, abrégée, ressemble à ceci<span class="frenchb-nbsp"> </span>: +<div class="fancyvrb" id="fancyvrb12"><a + id="x1-47002r1"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> install:</span><span +class="ec-lmtt-8"> collection-xetex</span><br class="fancyvrb" /><a + id="x1-47004r2"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> install:</span><span +class="ec-lmtt-8"> arabxetex</span><br class="fancyvrb" /><a + id="x1-47006r3"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ...</span><br class="fancyvrb" /><a + id="x1-47008r4"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> install:</span><span +class="ec-lmtt-8"> xetex</span><br class="fancyvrb" /><a + id="x1-47010r5"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> install:</span><span +class="ec-lmtt-8"> xetexconfig</span> +<br class="fancyvrb" /><a + id="x1-47012r6"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> install:</span><span +class="ec-lmtt-8"> xetex.i386-linux</span><br class="fancyvrb" /><a + id="x1-47014r7"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> running</span><span +class="ec-lmtt-8"> post</span><span +class="ec-lmtt-8"> install</span><span +class="ec-lmtt-8"> action</span><span +class="ec-lmtt-8"> for</span><span +class="ec-lmtt-8"> xetex</span><br class="fancyvrb" /><a + id="x1-47016r8"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> install:</span><span +class="ec-lmtt-8"> xetex-def</span><br class="fancyvrb" /><a + id="x1-47018r9"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ...</span><br class="fancyvrb" /><a + id="x1-47020r10"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> running</span><span +class="ec-lmtt-8"> mktexlsr</span> +<br class="fancyvrb" /><a + id="x1-47022r11"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> mktexlsr:</span><span +class="ec-lmtt-8"> Updating</span><span +class="ec-lmtt-8"> /usr/local/texlive/2012/texmf/ls-R...</span><br class="fancyvrb" /><a + id="x1-47024r12"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ...</span><br class="fancyvrb" /><a + id="x1-47026r13"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> running</span><span +class="ec-lmtt-8"> fmtutil-sys</span><span +class="ec-lmtt-8"> --missing</span><br class="fancyvrb" /><a + id="x1-47028r14"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ...</span> +<br class="fancyvrb" /><a + id="x1-47030r15"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Transcript</span><span +class="ec-lmtt-8"> written</span><span +class="ec-lmtt-8"> on</span><span +class="ec-lmtt-8"> xelatex.log.</span><br class="fancyvrb" /><a + id="x1-47032r16"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> fmtutil:</span><span +class="ec-lmtt-8"> /usr/local/texlive/2012/texmf-var/web2c/xetex/xelatex.fmt</span><span +class="ec-lmtt-8"> installed.</span></div> +<!--l. 1721--><p class="noindent" >Comme vous pouvez le constater, <span +class="ec-lmss-10">tlmgr </span>prend en compte les dépendances et effectue automatiquement toutes +les opérations nécessaires, comme la mise à jour des bases de données de fichiers et la génération de formats +(ici un nouveau format a été créé pour Xe<span class="TEX">T<span +class="E">E</span>X</span>). +<!--l. 1726--><p class="noindent" >La commande suivante permet d’obtenir la description d’un paquet. <div class="alltt"> +<!--l. 1727--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tlmgr</span><span +class="ec-lmtk-10"> show</span><span +class="ec-lmtk-10"> collection-latexextra</span> +</div> +</div> Elle retourne par exemple<span class="frenchb-nbsp"> </span>: +<div class="fancyvrb" id="fancyvrb13"><a + id="x1-47034r1"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> package:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> collection-latexextra</span><br class="fancyvrb" /><a + id="x1-47036r2"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> category:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Collection</span><br class="fancyvrb" /><a + id="x1-47038r3"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> shortdesc:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> LaTeX</span><span +class="ec-lmtt-8"> supplementary</span><span +class="ec-lmtt-8"> packages</span> +<br class="fancyvrb" /><a + id="x1-47040r4"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> longdesc:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> A</span><span +class="ec-lmtt-8"> large</span><span +class="ec-lmtt-8"> collection</span><span +class="ec-lmtt-8"> of</span><span +class="ec-lmtt-8"> add-on</span><span +class="ec-lmtt-8"> packages</span><span +class="ec-lmtt-8"> for</span><span +class="ec-lmtt-8"> LaTeX.</span><br class="fancyvrb" /><a + id="x1-47042r5"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> installed:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Yes</span><br class="fancyvrb" /><a + id="x1-47044r6"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> revision:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> 14675</span></div> +<!--l. 1740--><p class="noindent" >Enfin, le plus important, pour la documentation complète, consultez <a +href="http://tug.org/texlive/tlmgr.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/tlmgr.html</span></a>, +ou tapez<span class="frenchb-nbsp"> </span>: <div class="alltt"> +<!--l. 1742--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tlmgr</span><span +class="ec-lmtk-10"> help</span> +</div> +</div> +<!--l. 1746--><p class="noindent" > +<h3 class="sectionHead"><span class="titlemark">7 </span> <a + id="x1-480007"></a>Notes concernant Windows</h3> +<!--l. 1749--><p class="noindent" > +<h4 class="subsectionHead"><span class="titlemark">7.1 </span> <a + id="x1-490007.1"></a>Fonctionnalités supplémentaires à l’installation</h4> +<!--l. 1752--><p class="noindent" >Sous Windows le programme d’installation effectue quelques tâches supplémentaires<span class="frenchb-nbsp"> </span>: + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10">Menus et raccourcis</span> </dt><dd +class="description">– un sous-menu « <span class="TEX">T<span +class="E">E</span>X</span> Live » est ajouté au menu « Démarrer », contenant des + entrées pour quelques programmes graphiques comme <span +class="ec-lmss-10">tlmgr</span>, <span +class="ec-lmss-10">texdoctk</span>, PS_View (<span +class="ec-lmss-10">psv</span>) et pour de + la documentation. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Associations de fichiers</span> </dt><dd +class="description">– si cette option n’est pas désactivée, <span +class="ec-lmss-10">TeXworks</span>, <span +class="ec-lmss-10">Dviout </span>et <span +class="ec-lmss-10">PS_view</span> + deviennent le programme par défaut pour ouvrir leurs types de fichiers respectifs, ou, s’il y a déjà + un tel programme, sont ajoutés à la liste « Ouvrir avec... » du menu contextuel. + + + </dd><dt class="description"> +<span +class="ec-lmbx-10">Convertisseur bitmap vers eps</span> </dt><dd +class="description">– une entrée <span +class="ec-lmss-10">bitmap2eps </span>est ajoutée à l’entrée « Ouvrir avec... » du + menu contextuel pour de nombreux formats d’images bitmap. <span +class="ec-lmss-10">Bitmap2eps </span>est un script simple qui + utilise <span +class="ec-lmss-10">sam2p </span>ou <span +class="ec-lmss-10">bmeps </span>pour faire le vrai travail. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Ajustement automatique du </span><span +class="ec-lmtk-10">path</span> </dt><dd +class="description">– aucune intervention manuelle n’est nécessaire. + </dd><dt class="description"> +<span +class="ec-lmbx-10">D</span><span +class="ec-lmbx-10">ésinstallation</span> </dt><dd +class="description">– une entrée est ajoutée pour <span class="TEX">T<span +class="E">E</span>X</span> Live dans le menu « Ajout et suppression de + programmes ». L’onglet « Uninstall » de <span +class="ec-lmss-10">tlmgr </span>renvoie à ceci.</dd></dl> +<!--l. 1775--><p class="noindent" > +<h4 class="subsectionHead"><span class="titlemark">7.2 </span> <a + id="x1-500007.2"></a>Programmes supplémentaires</h4> +<!--l. 1777--><p class="noindent" >Pour être complète, une installation <span class="TEX">T<span +class="E">E</span>X</span> Live a besoin de quelques utilitaires qui ne sont pas présents en +général sur les machines Windows. <span class="TEX">T<span +class="E">E</span>X</span> Live comprend donc les outils suivants. + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10">Perl et Ghostscript</span> </dt><dd +class="description">– <span class="TEX">T<span +class="E">E</span>X</span> Live installe des copies « cachées » de ces programmes<span class="frenchb-nbsp"> </span>: ce sont des + versions spécifiques adaptées à <span class="TEX">T<span +class="E">E</span>X</span> Live, elles sont invisibles hors de <span class="TEX">T<span +class="E">E</span>X</span> Live et n’interfèrent + donc en aucune façon avec d’autres versions éventuellement présentes sur la machine. + </dd><dt class="description"> +<span +class="ec-lmbx-10">PS_View</span> </dt><dd +class="description">– nouveau lecteur PostScript et PDF sous licence libre, voir figure <a +href="#x1-50001r11">11<!--tex4ht:ref: fig:psview --></a>. + <!--l. 1789--><p class="noindent" ><hr class="figure"><div class="figure" +><a + id="x1-50001r11"></a> <img +src="../texlive-common/psview.png" alt="pict" +> +<br /> <div class="caption" +><span class="id"><span +class="ec-lmcsc-10">Figure</span> 11: </span><span +class="content">PS_View<span class="frenchb-nbsp"> </span>: de très forts grossissements sont possibles<span class="frenchb-thinspace"> </span>!</span></div><!--tex4ht:label?: x1-50001r11 --> + <!--l. 1793--><p class="noindent" ></div><hr class="endfigure"> + </dd><dt class="description"> +<span +class="ec-lmbx-10">dviout</span> </dt><dd +class="description">– lecteur de DVI. La première fois que vous visualisez un fichier avec <span +class="ec-lmss-10">dviout</span>, il va créer des polices, car + les versions des fontes pour écran ne sont pas installées. Au bout d’un moment, la plupart des polices que + vous utilisez auront été créées, et vous ne verrez plus que rarement la fenêtre de création des fontes. + Vous pouvez trouver plus d’informations dans le menu d’aide du logiciel (dont la lecture est + recommandée). + </dd><dt class="description"> +<span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span><span +class="ec-lmbx-10">works</span> </dt><dd +class="description"><span class="TEX">T<span +class="E">E</span>X</span>works est un éditeur conçu pour les fichiers <span class="TEX">T<span +class="E">E</span>X</span>, avec un lecteur de PDF intégré. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Outils en ligne de commande</span> </dt><dd +class="description">– des versions pour Windows de programmes Unix sont installées, en + particulier <span +class="ec-lmss-10">gzip</span>, <span +class="ec-lmss-10">chktex</span>, <span +class="ec-lmss-10">jpeg2ps</span>, <span +class="ec-lmss-10">unzip</span>, <span +class="ec-lmss-10">wget </span>et quelques utilitaires de la suite <span +class="ec-lmss-10">xpdf </span>(<span +class="ec-lmss-10">pdfinfo</span>, <span +class="ec-lmss-10">pdffonts</span>, ...). + Le lectuer <span +class="ec-lmss-10">xpdf </span>lui-même n’est pas disponible sous Windows mais vous pouvez télécharger Sumatra + PDF, qui est basé dessus, voir <a +href="http://blog.kowalczyk.info/software/sumatrapdf" class="url" ><span +class="ec-lmtt-10">http://blog.kowalczyk.info/software/sumatrapdf</span></a>). + </dd><dt class="description"> +<span +class="ec-lmssbx-10">fc-list</span><span +class="ec-lmbx-10">, </span><span +class="ec-lmssbx-10">fc-cache</span><span +class="ec-lmbx-10">, etc.</span> </dt><dd +class="description">– outils de la bibliothèque fontconfig, qui permettent à Xe<span class="TEX">T<span +class="E">E</span>X</span> d’accéder aux polices + système sous Windows. Vous pouvez utiliser <span +class="ec-lmss-10">fc-list </span>pour connaître la liste des noms de police utilisables + avec la commande <span +class="ec-lmtt-10">\font </span>de Xe<span class="TEX">T<span +class="E">E</span>X</span>.</dd></dl> +<!--l. 1819--><p class="noindent" > +<h4 class="subsectionHead"><span class="titlemark">7.3 </span> <a + id="x1-510007.3"></a>Répertoire personnel</h4> +<!--l. 1822--><p class="noindent" >L’équivalent du répertoire personnel noté <span +class="ec-lmtt-10">$HOME </span>sous Unix s’appelle <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">%USERPROFILE%</span></span></span> sous Windows. +Cette variable vaut en général <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">C:\Documents</span><span +class="ec-lmtt-10"> and</span><span +class="ec-lmtt-10"> Settings\<username></span></span></span> sous Windows XP et +<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">C:\Utilisateurs\<username></span></span></span> sous Vista et Windows 7. La notation <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">~</span></span></span>, utilisée dans <span class="path"><span +class="ec-lmtt-10">texmf.cnf</span></span> et dans +Kpathsea en général pour désigner un répertoire personnel, est correctement interprétée sous Windows +comme sous Unix. + + +<!--l. 1832--><p class="noindent" > +<h4 class="subsectionHead"><span class="titlemark">7.4 </span> <a + id="x1-520007.4"></a>Base de registre Windows</h4> +<!--l. 1836--><p class="noindent" >Windows stocke pratiquement tous les paramètres de configuration dans sa base de registre. Celle-ci contient +un ensemble de clés organisées par niveau. Les clés les plus importantes pour l’installation de programmes sont +<span class="path"><span +class="ec-lmtt-10">HKEY_CURRENT_USER</span></span> et <span class="path"><span +class="ec-lmtt-10">HKEY_LOCAL_MACHINE</span></span>, <span class="path"><span +class="ec-lmtt-10">HKCU</span></span> et <span class="path"><span +class="ec-lmtt-10">HKLM</span></span> en abrégé. La partie <span class="path"><span +class="ec-lmtt-10">HKCU</span></span> de la base de registre se +trouve dans le répertoire personnel de l’utilisateur (voir section <a +href="#x1-510007.3">7.3<!--tex4ht:ref: sec:winhome --></a>). La partie <span class="path"><span +class="ec-lmtt-10">HKLM</span></span> est normalement dans un +sous-répertoire du répertoire Windows. +<!--l. 1845--><p class="noindent" >Certaines informations système peuvent s’obtenir à partir des variables d’environnement mais +pour d’autres, la localisation des raccourcis par exemple, la consultation de la base de registre +est indispensable. La modification des variables d’environnement nécessite l’accès à la base de +registre. +<!--l. 1852--><p class="noindent" > +<h4 class="subsectionHead"><span class="titlemark">7.5 </span> <a + id="x1-530007.5"></a>Droits d’accès sous Windows</h4> +<!--l. 1855--><p class="noindent" >Dans les versions récentes de Windows, la distinction est faite entre « utilisateurs » et « administrateurs », ces +derniers ayant accès en écriture à la totalité du système. En pratique on devrait plutôt parler d’utilisateurs +« non privilégiés » et d’utilisateurs « normaux » car être « administrateur » est la règle et non +l’exception. +<!--l. 1861--><p class="noindent" >Nous nous sommes efforcés de rendre l’installation de <span class="TEX">T<span +class="E">E</span>X</span> Live possible aux utilisateurs non +privilégiés. +<!--l. 1864--><p class="noindent" >Si celui qui fait l’installation est « administrateur », il dispose d’une option d’installation pour tous les +utilisateurs<span class="frenchb-nbsp"> </span>: si cette option est choisie, les raccourcis et les entrées de menu sont créés pour tous +les utilisateurs, et l’environnement est modifié au niveau du système. Sinon, les raccourcis et +entrées de menu sont créés pour l’utilisateur courant, et seul son environnement utilisateur est +modifié. +<!--l. 1872--><p class="noindent" >Dans tous les cas, le répertoire proposé comme racine de l’installation est <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">%SystemDrive%</span></span></span>. Le programme +<span +class="ec-lmss-10">install-tl </span>vérifie si le répertoire choisi comme racine est accessible en écriture pour celui qui procède à +l’installation. +<!--l. 1877--><p class="noindent" >Lorsqu’une installation <span class="TEX">T<span +class="E">E</span>X</span> est présente sur la machine, l’installation de <span class="TEX">T<span +class="E">E</span>X</span> Live par un utilisateur non +privilégié est problématique<span class="frenchb-nbsp"> </span>: cet utilisateur n’aura jamais accès aux exécutables <span class="TEX">T<span +class="E">E</span>X</span> Live car la recherche +s’effectue d’abord dans les répertoires système, puis dans les répertoires de l’utilisateur. Une parade sommaire +a été prévue<span class="frenchb-nbsp"> </span>: l’installateur crée un raccourci vers une fenêtre de ligne de commande où les exécutables <span class="TEX">T<span +class="E">E</span>X</span> +Live sont prioritaires<span class="frenchb-nbsp"> </span>: <span class="TEX">T<span +class="E">E</span>X</span> Live est ainsi utilisable en ligne de commande à partir de ce raccourci. De même, le +raccourci pour <span class="TEX">T<span +class="E">E</span>X</span>works, s’il est installé, fait ce qu’il faut pour que les outils <span class="TEX">T<span +class="E">E</span>X</span> Live soient +utilisés. +<!--l. 1887--><p class="noindent" >Pour Vista et Windows 7, il y a une subtilité supplémentaire<span class="frenchb-nbsp"> </span>: même si vous êtes connecté en +tant qu’administrateur, vous devez explicitement demander les privilèges d’administrateur. En +fait, il ne sert pas à grand chose de se connecter en tant qu’administrateur<span class="frenchb-thinspace"> </span>; le mieux est de faire +un clic droit sur le programme ou raccourci à utiliser, et d’utiliser l’entrée « exécuter en tant +qu’administrateur ». +<!--l. 1896--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">7.5.1 </span> <a + id="x1-540007.5.1"></a>Augmentation de la limite de mémoire sous Windows et Cygwin</h5> +<!--l. 1899--><p class="noindent" >Les utilisateurs de Windows et Cygwin (voir la section <a +href="#x1-200003.1.4">3.1.4<!--tex4ht:ref: sec:cygwin --></a> pour les spécificités de l’installation sous Cygwin) +peuvent parfois arriver à court de mémoire en utilisant certains des programmes fournis avec +<span class="TEX">T<span +class="E">E</span>X</span> Live. Par exemple, <span +class="ec-lmss-10">asy </span>peut manquer de mémoire si vous essayez d’allouer un tableau de +25 000 000 réels, et Lua<span class="TEX">T<span +class="E">E</span>X</span> aussi si vous essayez de traiter un document avec beaucoup de fontes +lourdes. +<!--l. 1906--><p class="noindent" >Pour Cygwin, vous pouvez augmenter la quantité de mémoire disponible en suivant les instructions données +dans le guide de l’utilisateur Cygwin (<a +href="http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html" class="url" ><span +class="ec-lmtt-10">http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html</span></a>). +<!--l. 1910--><p class="noindent" >Pour Windows, il vous faudra créer un fichier, nommé par exemple <span +class="ec-lmtt-10">ajoutmemoire.ref</span>, contenant les quatre +lignes suivantes. + + +<!--l. 1913--><p class="noindent" > +<div class="fancyvrb" id="fancyvrb14"><a + id="x1-54002r1"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> Windows</span><span +class="ec-lmtt-9"> Registry</span><span +class="ec-lmtt-9"> Editor</span><span +class="ec-lmtt-9"> Version</span><span +class="ec-lmtt-9"> 5.00</span><br class="fancyvrb" /><a + id="x1-54004r2"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><br class="fancyvrb" /><a + id="x1-54006r3"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> [HKEY_LOCAL_MACHINE\Software\Cygwin]</span><br class="fancyvrb" /><a + id="x1-54008r4"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> "heap_chunk_in_mb"=dword:ffffff00</span></div> +<!--l. 1920--><p class="noindent" >puis exécuter la commande <span +class="ec-lmtt-10">regedit /s ajoutmemoire.reg </span>en tant qu’administrateur. (Si vous souhaitez +modifier la limite mémoire uniquement pour l’utilisateur courant plutôt qu’au niveau du système, utilisez +<span +class="ec-lmtt-10">HKEY_CURRENT_USER</span>.) +<!--l. 1926--><p class="noindent" > +<h3 class="sectionHead"><span class="titlemark">8 </span> <a + id="x1-550008"></a>Guide d’utilisation du système Web2C</h3> +<!--l. 1928--><p class="noindent" >Web2C est une collection intégrée de programmes relatifs à <span class="TEX">T<span +class="E">E</span>X</span>, c.-à-d. <span class="TEX">T<span +class="E">E</span>X</span> lui-même, Metafont, MetaPost, +BibTeX, etc. C’est le cœur de <span class="TEX">T<span +class="E">E</span>X</span> Live. Le site de référence est <a +href="http://tug.org/web2c" class="url" ><span +class="ec-lmtt-10">http://tug.org/web2c</span></a>. +<!--l. 1932--><p class="noindent" >Un peu d’histoire<span class="frenchb-nbsp"> </span>: la première implémentation a été réalisée par Tomas Rokicki qui, en 1987, a développé un +premier système <span class="TEX">T<span +class="E">E</span>X</span>-to-C en adaptant les <span +class="ec-lmri-10">change files </span>pour Unix (travail de Howard Trickey et +Pavel Curtis principalement). Tim Morgan assura la maintenance du système, dont le nom fut +remplacé durant cette période par Web-to-C. En 1990, Karl Berry reprit le travail, assisté par +des dizaines de contributeurs et en 1997 il passa le relais à Olaf Weber qui le rendit à Karl en +2006. +<!--l. 1942--><p class="noindent" >Le système Web2C fonctionne sur Unix, sur les systèmes Windows 32 bits, sur Mac OS X et sur de nombreux +autres systèmes d’exploitation. Il utilise les sources originales de Knuth pour <span class="TEX">T<span +class="E">E</span>X</span> et les autres programmes de +base écrits en <span +class="ec-lmtt-10">WEB </span>(système de programmation documentée) qui sont tous traduits en langage C. Les +composants du noyau de <span class="TEX">T<span +class="E">E</span>X</span> issus de ce processus sont<span class="frenchb-nbsp"> </span>: +<!--l. 1948--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span +class="ec-lmss-10">bibtex</span> </dt><dd +class="list"> + <!--l. 1949--><p class="noindent" >– gère les bibliographies. + </dd><dt class="list"> + <span +class="ec-lmss-10">dvicopy</span> </dt><dd +class="list"> + <!--l. 1950--><p class="noindent" >– copie le fichier DVI en supprimant les fontes virtuelles. + </dd><dt class="list"> + <span +class="ec-lmss-10">dvitomp</span> </dt><dd +class="list"> + <!--l. 1951--><p class="noindent" >– convertit le fichier DVI en MPX (dessins MetaPost). + </dd><dt class="list"> + <span +class="ec-lmss-10">dvitype</span> </dt><dd +class="list"> + <!--l. 1952--><p class="noindent" >– convertit le fichier DVI en un texte lisible. + </dd><dt class="list"> + <span +class="ec-lmss-10">gftodvi</span> </dt><dd +class="list"> + <!--l. 1953--><p class="noindent" >– visualisation de fontes génériques GF. + </dd><dt class="list"> + <span +class="ec-lmss-10">gftopk</span> </dt><dd +class="list"> + <!--l. 1954--><p class="noindent" >– convertit les fontes génériques GF en fontes bitmap PK. + </dd><dt class="list"> + <span +class="ec-lmss-10">gftype</span> </dt><dd +class="list"> + <!--l. 1955--><p class="noindent" >– convertit le fichier GF en un texte lisible. + </dd><dt class="list"> + <span +class="ec-lmss-10">mf</span> </dt><dd +class="list"> + <!--l. 1956--><p class="noindent" >– création de fontes. + </dd><dt class="list"> + <span +class="ec-lmss-10">mft</span> </dt><dd +class="list"> + <!--l. 1957--><p class="noindent" >– mise en page de code source Metafont. + </dd><dt class="list"> + <span +class="ec-lmss-10">mpost</span> </dt><dd +class="list"> + <!--l. 1958--><p class="noindent" >– création de diagrammes techniques. + + + </dd><dt class="list"> + <span +class="ec-lmss-10">patgen</span> </dt><dd +class="list"> + <!--l. 1959--><p class="noindent" >– création de motifs de césure. + </dd><dt class="list"> + <span +class="ec-lmss-10">pktogf</span> </dt><dd +class="list"> + <!--l. 1960--><p class="noindent" >– convertit les fontes bitmap PK en fontes génériques GF. + </dd><dt class="list"> + <span +class="ec-lmss-10">pktype</span> </dt><dd +class="list"> + <!--l. 1961--><p class="noindent" >– convertit les fontes PK en un texte lisible. + </dd><dt class="list"> + <span +class="ec-lmss-10">pltotf</span> </dt><dd +class="list"> + <!--l. 1962--><p class="noindent" >– convertit les fichiers PL (lisibles) en TFM. + </dd><dt class="list"> + <span +class="ec-lmss-10">pooltype</span> </dt><dd +class="list"> + <!--l. 1963--><p class="noindent" >– affiche les fichiers <span +class="ec-lmtt-10">WEB </span>pool. + </dd><dt class="list"> + <span +class="ec-lmss-10">tangle</span> </dt><dd +class="list"> + <!--l. 1964--><p class="noindent" >– <span +class="ec-lmtt-10">WEB </span>vers Pascal. + </dd><dt class="list"> + <span +class="ec-lmss-10">tex</span> </dt><dd +class="list"> + <!--l. 1965--><p class="noindent" >– composition de textes. + </dd><dt class="list"> + <span +class="ec-lmss-10">tftopl</span> </dt><dd +class="list"> + <!--l. 1966--><p class="noindent" >– convertit les fichiers TFM en PL (lisibles). + </dd><dt class="list"> + <span +class="ec-lmss-10">vftovp</span> </dt><dd +class="list"> + <!--l. 1967--><p class="noindent" >– convertit les fontes virtuelles VF en VPL (lisibles). + </dd><dt class="list"> + <span +class="ec-lmss-10">vptovf</span> </dt><dd +class="list"> + <!--l. 1968--><p class="noindent" >– convertit les fontes VPL en fontes virtuelles VF. + </dd><dt class="list"> + <span +class="ec-lmss-10">weave</span> </dt><dd +class="list"> + <!--l. 1969--><p class="noindent" >– <span +class="ec-lmtt-10">WEB </span>vers <span class="TEX">T<span +class="E">E</span>X</span>.</dd></dl> +<!--l. 1972--><p class="noindent" >La syntaxe et les fonctions précises de ces programmes sont décrites dans la documentation des composants +individuels et dans le manuel Web2C lui-même. Toutefois, connaître un certain nombre de principes régissant +l’ensemble de la famille de programmes peut aider à exploiter de façon optimale votre installation +Web2C. +<!--l. 1978--><p class="noindent" >Presque tous ces programmes suivent les options standard de GNU<span class="frenchb-nbsp"> </span>: + <dl class="description"><dt class="description"> +<span +class="ec-lmtk-10">--help</span> </dt><dd +class="description">imprime le sommaire de l’utilisation, + </dd><dt class="description"> +<span +class="ec-lmtk-10">--verbose</span> </dt><dd +class="description">imprime le rapport détaillé du processus, + </dd><dt class="description"> +<span +class="ec-lmtk-10">--version</span> </dt><dd +class="description">imprime seulement le numéro de version.</dd></dl> +<!--l. 1985--><p class="noindent" >Pour localiser les fichiers, les programmes Web2C utilisent la bibliothèque de recherche Kpathsea +(<a +href="http://tug.org/kpathsea" class="url" ><span +class="ec-lmtt-10">http://tug.org/kpathsea</span></a>). Cette bibliothèque utilise une combinaison de variables d’environnement et un +certain nombre de fichiers de paramètres pour optimiser la recherche dans l’énorme arborescence <span class="TEX">T<span +class="E">E</span>X</span>. Web2C +peut exécuter une recherche dans plusieurs arborescences simultanément, ce qui est utile si l’on +souhaite maintenir la distribution standard de <span class="TEX">T<span +class="E">E</span>X</span> et les extensions locales dans deux arborescences +distinctes. Afin d’accélérer la recherche de fichiers, la racine de chaque arborescence possède un +fichier <span +class="ec-lmtt-10">ls-R </span>contenant une entrée donnant le nom et le chemin de chaque fichier situé sous la +racine. + + +<!--l. 1996--><p class="noindent" > +<h4 class="subsectionHead"><span class="titlemark">8.1 </span> <a + id="x1-560008.1"></a>Kpathsea et la recherche de fichiers</h4> +<!--l. 1999--><p class="noindent" >Décrivons en premier lieu le mécanisme de recherche de la bibliothèque Kpathsea. +<!--l. 2001--><p class="noindent" >Nous appelons <span +class="ec-lmri-10">chemin de recherche </span>une liste d’éléments, séparés par « deux-points » ou « point-virgule », et +appelés <span +class="ec-lmri-10">él</span><span +class="ec-lmri-10">éments de chemin</span>, qui sont des noms de répertoires. Un chemin de recherche peut provenir de +plusieurs sources. Pour rechercher un fichier « <span +class="ec-lmtt-10">my-file </span>» le long d’un chemin « <span +class="ec-lmtt-10">.</span><span class="frenchb-nbsp"> </span><span +class="ec-lmtt-10">:/dir </span>», Kpathsea vérifie +chaque élément du chemin<span class="frenchb-nbsp"> </span>: d’abord <span class="path"><span +class="ec-lmtt-10">./my-file</span></span>, puis <span class="path"><span +class="ec-lmtt-10">/dir/my-file</span></span> et renvoie la première occurrence (voire +toutes). +<!--l. 2010--><p class="noindent" >Afin d’optimiser l’adaptation à tous les systèmes d’exploitation, Kpathsea peut utiliser dans les noms de +fichiers des séparateurs différents de deux-points («<span class="frenchb-nbsp"> </span><span +class="ec-lmtt-10">: </span>») et barre oblique (« <span +class="ec-lmtt-10">/ </span>») pour les systèmes +non-Unix. +<!--l. 2014--><p class="noindent" >Pour vérifier un élément de chemin particulier <span +class="ec-lmro-10">p</span>, Kpathsea vérifie d’abord si une base de données +existante (voir page <a +href="#x1-640008.2">65<!--tex4ht:ref: sec:filename-database --></a>) contient <span +class="ec-lmro-10">p</span>, c.-à-d. si la base de données se trouve dans un répertoire qui est +un préfixe de <span +class="ec-lmro-10">p</span>. Si oui, la spécification du chemin est comparée avec le contenu de la base de +données. +<!--l. 2021--><p class="noindent" >Si la base de données n’existe pas, si elle ne s’applique pas à cet élément de chemin ou si elle ne contient +aucune correspondance, la recherche est lancée sur tout le système de fichiers (si cela n’a pas été interdit par +une commande commençant par «<span class="frenchb-thinspace"> </span><span +class="ec-lmtt-10">!</span><span class="frenchb-thinspace"> </span><span +class="ec-lmtt-10">! </span>» et si le fichier cherché est censé exister). Kpathsea construit la liste des +répertoires qui correspondent à cet élément de chemin, puis cherche le fichier dans chaque élément de cette +liste. +<!--l. 2028--><p class="noindent" >La condition « le fichier est censé exister » est liée aux fichiers « <span +class="ec-lmtt-10">.vf </span>» et aux fichiers d’entrée lus par la +commande <span class="TEX">T<span +class="E">E</span>X</span> <span +class="ec-lmtt-10">\openin</span>. De tels fichiers peuvent ne pas exister (par exemple <span +class="ec-lmtt-10">cmr10.vf</span>), il est donc inutile +de les rechercher sur le disque. De plus, si vous n’actualisez pas le fichier <span +class="ec-lmtt-10">ls-R </span>lors de l’installation d’un +nouveau fichier « <span +class="ec-lmtt-10">.vf </span>», il ne sera jamais trouvé. Chaque élément de chemin est alors vérifié<span class="frenchb-nbsp"> </span>: d’abord dans la +base de données puis sur le disque. Si une occurrence est trouvée, la recherche s’arrête et le résultat est +obtenu. +<!--l. 2037--><p class="noindent" >Bien que l’élément de chemin le plus simple et le plus fréquent soit un nom de répertoire, Kpathsea supporte +d’autres types d’éléments dans les chemins de recherche<span class="frenchb-nbsp"> </span>: des valeurs par défaut différentes pour chaque +programme, des noms de variables d’environnement, des valeurs de fichiers de configuration, les répertoires de +l’utilisateur et la recherche récursive de sous-répertoires. Nous disons alors que Kpathsea <span +class="ec-lmri-10">étend </span>un élément, +c’est-à-dire que Kpathsea transforme toutes ces spécifications en noms de répertoires de base. Cette opération +est décrite dans les sections suivantes. +<!--l. 2046--><p class="noindent" >Notons que si le nom de fichier cherché est absolu ou explicitement relatif, c’est-à-dire commençant par « <span +class="ec-lmtt-10">/ </span>», +« <span +class="ec-lmtt-10">./ </span>» ou « <span +class="ec-lmtt-10">../ </span>», Kpathsea ne vérifie que l’existence de ce fichier. +<!--l. 2060--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">8.1.1 </span> <a + id="x1-570008.1.1"></a>Les différentes sources</h5> +<!--l. 2063--><p class="noindent" >Un chemin de recherche peut provenir de plusieurs sources. Voici l’ordre dans lequel Kpathsea les +utilise. +<!--l. 2066--><p class="noindent" > + <ol class="enumerate1" > + <li + class="enumerate" id="x1-57002x1">Une variable d’environnement définie par l’utilisateur, par exemple <span +class="ec-lmtt-10">TEXINPUTS</span>. Les variables + d’environnement avec une extension attachée (nom de programme) sont d’abord prises en compte<span class="frenchb-nbsp"> </span>: + par exemple, si « <span +class="ec-lmtt-10">latex </span>» est le nom du programme exécuté, <span +class="ec-lmtt-10">TEXINPUTS.latex </span>passera avant + <span +class="ec-lmtt-10">TEXINPUTS</span>. + </li> + <li + class="enumerate" id="x1-57004x2">Un fichier de configuration de programme spécifique, par exemple une ligne « <span +class="ec-lmtt-10">S /a</span><span class="frenchb-nbsp"> </span><span +class="ec-lmtt-10">:/b </span>» dans le + fichier <span +class="ec-lmtt-10">config.ps </span>de <span +class="ec-lmss-10">dvips</span>. + </li> + <li + class="enumerate" id="x1-57006x3">Un fichier de configuration <span +class="ec-lmtt-10">texmf.cnf </span>de Kpathsea contenant une ligne telle que <br +class="newline" />« <span +class="ec-lmtt-10">TEXINPUTS=/c</span><span class="frenchb-nbsp"> </span><span +class="ec-lmtt-10">:/d </span>» (voir ci-dessous). + </li> + <li + class="enumerate" id="x1-57008x4">La valeur par défaut obtenue à la compilation.</li></ol> + + +<!--l. 2079--><p class="noindent" >On peut voir chacune de ces valeurs pour un chemin de recherche donné en utilisant l’option de débogage (voir +page <a +href="#x1-680008.2.4">69<!--tex4ht:ref: sec:debugging --></a>). +<!--l. 2082--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">8.1.2 </span> <a + id="x1-580008.1.2"></a>Fichiers de configuration</h5> +<!--l. 2084--><p class="noindent" >Kpathsea lit les chemins de recherche et d’autres définitions dans des <span +class="ec-lmri-10">fichiers de configuration </span><span +class="ec-lmri-10">à l’ex</span><span +class="ec-lmri-10">écution</span> +nommés <span +class="ec-lmtt-10">texmf.cnf </span>. Le chemin pour accéder à ces fichiers dans l’arborescence est stocké dans la variable +<span +class="ec-lmtt-10">TEXMFCNF</span>, mais il n’est pas conseillé de modifier cette variable (ou une autre) au moyen d’une variable +d’environnement du même nom. +<!--l. 2091--><p class="noindent" >À la place, un fichier <span +class="ec-lmtt-10">.../2012/texmf.cnf </span>est créé à la suite d’une installation normale. Si vous devez changer +les valeurs par défaut de certaines variables (ce qui n’est en général pas nécessaire), c’est le bon endroit pour +le faire. Le fichier de configuration principal est dans <span +class="ec-lmtt-10">.../2012/texmf/web2c/texmf.cnf</span>. Vous ne devriez +jamais éditer ce fichier, car vos changements seraient alors perdus lors de futures mises à jour de la +distribution. +<!--l. 2099--><p class="noindent" >Il est important de noter que <span +class="ec-lmri-10">tous </span>les fichier <span +class="ec-lmtt-10">texmf.cnf </span>trouvés seront lus, et qu’en cas de conflit, la première +définition lue l’emporte. Par exemple, si les fichiers <span +class="ec-lmtt-10">texmf.cnf </span>sont cherchés dans le chemin <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">.:$TEXMF</span></span></span>, les +valeurs de <span +class="ec-lmtt-10">./texmf.cnf </span>l’emportent sur celles de <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">$TEXMF/texmf.cnf</span></span></span>. + <ul class="itemize1"> + <li class="itemize">Les commentaires sont signalés par un <span +class="ec-lmtt-10">% </span>et se terminent à la fin de la ligne. + </li> + <li class="itemize">Les lignes vides sont ignorées. + </li> + <li class="itemize">Un <span +class="ec-lmtt-10">\ </span>à la fin d’une ligne joue le rôle d’un lien entre deux lignes, c’est-à-dire que la ligne courante se + poursuit à la ligne suivante. Dans ce cas, les espaces présents au début de la ligne suivante ne sont + pas ignorés. + </li> + <li class="itemize">Toutes les autres lignes sont de la forme<span class="frenchb-nbsp"> </span>: <div class="alltt"> + <!--l. 2113--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtti-10">variable</span><span +class="ec-lmtt-10">[.</span><span +class="ec-lmtti-10">progname</span><span +class="ec-lmtt-10">]</span><span +class="ec-lmtt-10"> [=]</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtti-10">value</span></div> + </div> où le « <span +class="ec-lmtt-10">= </span>» et les espaces autour sont optionnels. + </li> + <li class="itemize">Le nom de la <span +class="ec-lmro-10">variable </span>peut contenir n’importe quel caractère autre que les espaces, « <span +class="ec-lmtt-10">= </span>», ou « <span +class="ec-lmtt-10">. </span>» mais on + recommande d’utiliser « <span +class="ec-lmtt-10">A-Za-z_ </span>» pour éviter les problèmes. + </li> + <li class="itemize">Si « <span +class="ec-lmtt-10">.</span><span +class="ec-lmro-10">progname </span>» est présent, sa définition s’applique seulement si le programme exécuté se nomme + <span +class="ec-lmro-10">progname </span>ou <span +class="ec-lmro-10">progname</span><span +class="ec-lmtt-10">.exe</span>. Ceci permet par exemple à différentes variantes de <span class="TEX">T<span +class="E">E</span>X</span> d’avoir des chemins + de recherche différents. + </li> + <li class="itemize"><span +class="ec-lmro-10">value </span>peut contenir n’importe quel caractère excepté « <span +class="ec-lmtt-10">% </span>» et « <span +class="ec-lmtt-10">@ </span>». L’option <span +class="ec-lmtt-10">$</span><span +class="ec-lmro-10">var</span><span +class="ec-lmtt-10">.</span><span +class="ec-lmro-10">prog </span>n’est pas disponible + à droite du signe « <span +class="ec-lmtt-10">= </span>»<span class="frenchb-thinspace"> </span>; à la place, on doit utiliser une variable supplémentaire. Un «<span class="frenchb-thinspace"> </span><span +class="ec-lmtt-10">; </span>» dans <span +class="ec-lmro-10">value </span>est + compris comme un «<span class="frenchb-nbsp"> </span><span +class="ec-lmtt-10">: </span>» si on travaille sous Unix<span class="frenchb-thinspace"> </span>; ceci est très utile et permet d’avoir un seul <span +class="ec-lmtt-10">texmf.cnf</span> + pour les systèmes Unix, MS-DOS et Windows. + </li> + <li class="itemize">Toutes les définitions sont lues avant tout désarchivage ou décompactage, de telle façon que les variables + peuvent être référencées avant d’être définies.</li></ul> +<!--l. 2134--><p class="noindent" >Voici un fichier de configuration illustrant les points précédents + + +<div class="verbatim" id="verbatim-3"> +<div class="fancyvrb" id="fancyvrb15"><a + id="x1-58002r1"></a>  TEXMF              = {$TEXMFLOCAL,!!$TEXMFMAIN}<br class="fancyvrb" /><a + id="x1-58004r2"></a>  TEXINPUTS.latex    = .;$TEXMF/tex/{latex,generic;}// +<br class="fancyvrb" /><a + id="x1-58006r3"></a>  TEXINPUTS.fontinst = .;$TEXMF/tex//;$TEXMF/fonts/afm//<br class="fancyvrb" /><a + id="x1-58008r4"></a>  % e-TeX related files +<br class="fancyvrb" /><a + id="x1-58010r5"></a>  TEXINPUTS.elatex   = .;$TEXMF/{etex,tex}/{latex,generic;}// +<br class="fancyvrb" /><a + id="x1-58012r6"></a>  TEXINPUTS.etex     = .;$TEXMF/{etex,tex}/{eplain,plain,generic;}//</div> +</div> +<!--l. 2144--><p class="nopar" > +<!--l. 2150--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">8.1.3 </span> <a + id="x1-590008.1.3"></a>Expansion d’un chemin de recherche</h5> +<!--l. 2153--><p class="noindent" >Kpathsea reconnaît certains caractères et constructions spéciales dans les chemins de recherche, semblables à +ceux disponibles dans les <span +class="ec-lmri-10">shells </span>Unix. Ainsi, le chemin complexe, <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">~$USER/{foo,bar}//baz</span></span></span> étend la recherche +vers tous les sous-répertoires situés sous les répertoires <span +class="ec-lmtt-10">foo </span>et <span +class="ec-lmtt-10">bar </span>dans le répertoire utilisateur <span +class="ec-lmtt-10">$USER</span> +contenant un répertoire ou un fichier appelé <span +class="ec-lmtt-10">baz</span>. Ces expansions sont explicitées dans les sections +suivantes. +<!--l. 2163--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">8.1.4 </span> <a + id="x1-600008.1.4"></a>Expansion par défaut</h5> +<!--l. 2166--><p class="noindent" >Si le chemin de recherche le plus prioritaire (voir section <a +href="#x1-570008.1.1">8.1.1<!--tex4ht:ref: sec:path-sources --></a>) contient un «<span class="frenchb-nbsp"> </span><span +class="ec-lmtt-10">: </span>» <span +class="ec-lmri-10">suppl</span><span +class="ec-lmri-10">émentaire </span>(c.-à-d. en +début ou fin de ligne ou double), Kpathsea insère à cet endroit le chemin suivant dont la priorité définie est +immédiatement inférieure. Si ce chemin inséré possède un «<span class="frenchb-nbsp"> </span><span +class="ec-lmtt-10">: </span>» supplémentaire, le même processus se répète +pour le chemin prioritaire suivant. Par exemple, étant donné une variable d’environnement définie +ainsi +<div class="alltt"> +<!--l. 2175--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">setenv</span><span +class="ec-lmtk-10"> TEXINPUTS</span><span +class="ec-lmtk-10"> /home/karl:</span> +</div> +</div> la valeur de <span +class="ec-lmtt-10">TEXINPUTS </span>d’après le fichier <span +class="ec-lmtt-10">texmf.cnf </span>étant +<div class="alltt"> +<!--l. 2180--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> .:$TEXMF//tex</span> +</div> +</div> alors la valeur finale utilisée pour la recherche sera +<div class="alltt"> +<!--l. 2185--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /home/karl:.:$TEXMF//tex</span> +</div> +</div> +<!--l. 2189--><p class="noindent" >Comme il est inutile d’insérer la valeur par défaut en plusieurs endroits, Kpathsea applique la substitution à +seulement un «<span class="frenchb-nbsp"> </span><span +class="ec-lmtt-10">: </span>» supplémentaire et laisse les autres inchangés<span class="frenchb-nbsp"> </span>: il cherche d’abord un «<span class="frenchb-nbsp"> </span><span +class="ec-lmtt-10">: </span>» en début de ligne, +puis en fin de ligne et enfin un double «<span class="frenchb-nbsp"> </span><span +class="ec-lmtt-10">: </span>». + + +<!--l. 2195--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">8.1.5 </span> <a + id="x1-610008.1.5"></a>Expansion spécifiée par les accolades</h5> +<!--l. 2198--><p class="noindent" >Option utile, l’expansion par le biais des accolades signifie, par exemple, que <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">v{a,b}w</span></span></span> va permettre la +recherche dans <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">vaw:vbw</span></span></span>. Les définitions emboîtées sont autorisées. Ceci peut être utilisé pour établir +des hiérarchies <span class="TEX">T<span +class="E">E</span>X</span> multiples en attribuant une liste entre accolades à <span +class="ec-lmtt-10">$TEXMF</span>. Par exemple, +dans <span +class="ec-lmtt-10">texmf.cnf</span>, on trouve une définition qui ressemble (il y a en fait plus de répertoires) à la +suivante. + + +<div class="verbatim" id="verbatim-4"> +<div class="fancyvrb" id="fancyvrb16"><a + id="x1-61002r1"></a>    TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFSYSVAR,!!$TEXMFMAIN}</div> +</div> +<!--l. 2206--><p class="nopar" >Avec ceci, on peut écrire quelque chose comme + + +<div class="verbatim" id="verbatim-5"> +<div class="fancyvrb" id="fancyvrb17"><a + id="x1-61004r1"></a>    TEXINPUTS = .;$TEXMF/tex//</div> +</div> +<!--l. 2210--><p class="nopar" >ce qui signifie que, après avoir cherché dans le répertoire courant, les arborescences complètes +<span +class="ec-lmtt-10">$TEXMFHOME/tex </span>suivie de <span +class="ec-lmtt-10">$TEXMFLOCAL/tex </span>(sur le disque) et ensuite les arborescences<span class="frenchb-thinspace"> </span><span +class="ec-lmtt-10">!</span><span class="frenchb-thinspace"> </span><span +class="ec-lmtt-10">!$TEXMFVAR/tex</span> +et<span class="frenchb-thinspace"> </span><span +class="ec-lmtt-10">!</span><span class="frenchb-thinspace"> </span><span +class="ec-lmtt-10">!$TEXMFMAIN/tex </span>(définies dans le fichier de référence <span +class="ec-lmtt-10">ls-R </span><span +class="ec-lmri-10">seulement</span>) seront inspectées. C’est un moyen +pratique permettant d’utiliser en parallèle deux distributions <span class="TEX">T<span +class="E">E</span>X</span>, une « figée » (sur un CD, par exemple) et +une autre régulièrement mise à jour avec de nouvelles versions quand elles deviennent disponibles. En utilisant +la variable <span +class="ec-lmtt-10">$TEXMF </span>dans toutes les définitions, on est toujours sûr d’inspecter d’abord l’arborescence la plus +récente. +<!--l. 2224--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">8.1.6 </span> <a + id="x1-620008.1.6"></a>Expansion des sous-répertoires</h5> +<!--l. 2227--><p class="noindent" >Deux barres « <span +class="ec-lmtt-10">// </span>» ou plus consécutives dans une partie d’un chemin suivant un répertoire <span +class="ec-lmro-10">d </span>sont remplacées +par tous les sous-répertoires de <span +class="ec-lmro-10">d</span><span class="frenchb-nbsp"> </span>: d’abord les sous-répertoires directement présents dans <span +class="ec-lmro-10">d</span>, ensuite les +sous-répertoires de ceux-ci et ainsi de suite. À chaque niveau, l’ordre dans lequel les répertoires sont inspectés +est <span +class="ec-lmri-10">non-d</span><span +class="ec-lmri-10">étermin</span><span +class="ec-lmri-10">é</span>. +<!--l. 2234--><p class="noindent" >Dans le cas où l’on spécifie une partie de nom de fichier après le « <span +class="ec-lmtt-10">// </span>», seuls sont inclus les sous-répertoires +auxquels le nom correspond. Par exemple, « <span +class="ec-lmtt-10">/a//b </span>» va correspondre aux répertoires <span +class="ec-lmtt-10">/a/1/b</span>, <span +class="ec-lmtt-10">/a/2/b</span>, +<span +class="ec-lmtt-10">/a/1/1/b </span>et ainsi de suite, mais pas à <span +class="ec-lmtt-10">/a/b/c </span>ni <span +class="ec-lmtt-10">/a/1</span>. +<!--l. 2240--><p class="noindent" >Des « <span +class="ec-lmtt-10">// </span>» multiples et successifs dans un chemin sont possibles, mais « <span +class="ec-lmtt-10">// </span>» au début d’un chemin est +ignoré. +<!--l. 2244--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">8.1.7 </span> <a + id="x1-630008.1.7"></a>Liste des caractères spéciaux et de leur signification<span class="frenchb-nbsp"> </span>: récapitulatif</h5> +<!--l. 2246--><p class="noindent" >La liste suivante récapitule la signification des caractères spéciaux dans les fichiers de configuration de +Kpathsea. +<!--l. 2251--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span class="frenchb-nbsp"> </span><span +class="ec-lmtt-10">:</span> </dt><dd +class="list"> + <!--l. 2253--><p class="noindent" >Séparateur dans un chemin de recherche<span class="frenchb-thinspace"> </span>; au début ou à la fin d’un chemin, il remplace le chemin + par défaut. + </dd><dt class="list"> + <span class="frenchb-thinspace"> </span><span +class="ec-lmtt-10">;</span> </dt><dd +class="list"> + <!--l. 2256--><p class="noindent" >Séparateur dans les systèmes non-Unix (joue le rôle de<span class="frenchb-nbsp"> </span><span +class="ec-lmtt-10">:</span>). + </dd><dt class="list"> + <span +class="ec-lmtt-10">$</span> </dt><dd +class="list"> + <!--l. 2259--><p class="noindent" >Substitue le contenu d’une variable. + </dd><dt class="list"> + <span +class="ec-lmtt-10">~</span> </dt><dd +class="list"> + <!--l. 2261--><p class="noindent" >Représente le répertoire racine de l’utilisateur. + </dd><dt class="list"> + <span +class="ec-lmtt-10">{...}</span> </dt><dd +class="list"> + <!--l. 2264--><p class="noindent" >Expansion par les accolades, par exemple <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">a{1,2}b</span></span></span> devient <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">a1b:a2b</span></span></span>. + </dd><dt class="list"> + <span +class="ec-lmtt-10">//</span> </dt><dd +class="list"> + <!--l. 2267--><p class="noindent" >La recherche concernera aussi les sous-répertoires (peut être inséré n’importe où dans un chemin + sauf au début). + </dd><dt class="list"> + <span +class="ec-lmtt-10">%</span> </dt><dd +class="list"> + <!--l. 2270--><p class="noindent" >Début d’un commentaire. + + + </dd><dt class="list"> + <span +class="ec-lmtt-10">\</span> </dt><dd +class="list"> + <!--l. 2272--><p class="noindent" >Caractère de continuation de ligne (permet les entrées sur plusieurs lignes). + </dd><dt class="list"> + <span class="frenchb-thinspace"> </span><span +class="ec-lmtt-10">!</span><span class="frenchb-thinspace"> </span><span +class="ec-lmtt-10">!</span> </dt><dd +class="list"> + <!--l. 2275--><p class="noindent" >Cherche <span +class="ec-lmri-10">seulement </span>dans la base de données pour localiser le fichier et <span +class="ec-lmri-10">ne cherche pas </span>sur le disque. + </dd></dl> +<!--l. 2280--><p class="noindent" > +<h4 class="subsectionHead"><span class="titlemark">8.2 </span> <a + id="x1-640008.2"></a>Les bases de données</h4> +<!--l. 2283--><p class="noindent" >Kpathsea a une certaine profondeur d’investigation pour minimiser les accès disque durant les recherches. +Néanmoins, dans le cas de distributions comprenant beaucoup de répertoires, inspecter chaque répertoire +possible pour un fichier donné peut durer excessivement longtemps (ceci est typiquement le cas quand +plusieurs centaines de répertoires de polices de caractères doivent être parcourus). En conséquence, Kpathsea +peut utiliser un fichier texte appelé <span +class="ec-lmtt-10">ls-R </span>— en fait une base de données construite au préalable — qui fait +correspondre les fichiers à leur répertoire, ce qui permet d’éviter une recherche exhaustive sur le +disque. +<!--l. 2294--><p class="noindent" >Un deuxième fichier appelé <span +class="ec-lmtt-10">aliases </span>(qui est également une base de données) permet de donner des noms +différents aux fichiers listés dans <span +class="ec-lmtt-10">ls-R</span>. Ceci peut aider à adapter ses fichiers source aux conventions de +DOS 8.3 pour les noms de fichiers. +<!--l. 2299--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">8.2.1 </span> <a + id="x1-650008.2.1"></a>Le fichier base de données</h5> +<!--l. 2302--><p class="noindent" >Comme nous l’avons expliqué ci-dessus, le nom du principal fichier-base de données doit être <span +class="ec-lmtt-10">ls-R</span>. Dans votre +installation, vous pouvez en mettre un à la racine de chaque arborescence <span class="TEX">T<span +class="E">E</span>X</span> que vous désirez voir inspectée +(<span +class="ec-lmtt-10">$TEXMF </span>par défaut)<span class="frenchb-thinspace"> </span>; la plupart des sites ont une seule arborescence <span class="TEX">T<span +class="E">E</span>X</span>. Kpathsea cherche les fichiers <span +class="ec-lmtt-10">ls-R</span> +dans le chemin spécifié dans la variable <span +class="ec-lmtt-10">TEXMFDBS</span>. +<!--l. 2310--><p class="noindent" >La meilleure façon de créer et mettre à jour le fichier <span +class="ec-lmtt-10">ls-R </span>est d’exécuter le script <span +class="ec-lmss-10">mktexlsr </span>inclus dans la +distribution. Il est appelé par les divers scripts <span +class="ec-lmss-10">mktex</span>... En principe, ce script exécute uniquement la +commande <div class="alltt"> +<!--l. 2315--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">cd</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmro-10">/your/texmf/root</span><span +class="ec-lmtt-10"> &&</span><span +class="ec-lmtt-10"> \ls</span><span +class="ec-lmtt-10"> -1LAR</span><span +class="ec-lmtt-10"> ./</span><span +class="ec-lmtt-10"> >ls-R</span> +</div> +</div> en supposant que la commande <span +class="ec-lmtt-10">ls </span>de votre système produise le bon format de sortie (le <span +class="ec-lmtt-10">ls </span>de GNU convient +parfaitement). Pour s’assurer que la base de données est toujours à jour, le meilleur moyen est de la +reconstruire en utilisant la table des <span +class="ec-lmtt-10">cron</span>, de telle façon que le fichier <span +class="ec-lmtt-10">ls-R </span>prenne automatiquement en +compte les changements dans les fichiers installés, par exemple après une installation ou une mise à jour d’un +composant <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>. +<!--l. 2327--><p class="noindent" >Si un fichier n’est pas trouvé dans la base de données, par défaut Kpathsea décide de le chercher sur le disque. +Par contre, si un élément du chemin commence par «<span class="frenchb-thinspace"> </span><span +class="ec-lmtt-10">!</span><span class="frenchb-thinspace"> </span><span +class="ec-lmtt-10">! </span>», <span +class="ec-lmri-10">seule </span>la base de données sera inspectée pour cet +élément, jamais le disque. +<!--l. 2332--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">8.2.2 </span> <a + id="x1-660008.2.2"></a>kpsewhich<span class="frenchb-nbsp"> </span>: programme de recherche dans une arborescence</h5> +<!--l. 2335--><p class="noindent" >Le programme <span +class="ec-lmtt-10">kpsewhich </span>effectue une recherche dans une arborescence indépendamment de toute application. +On peut le considérer comme une sorte de <span +class="ec-lmtt-10">find </span>pour localiser des fichiers dans les arborescences <span class="TEX">T<span +class="E">E</span>X</span> (ceci est +largement utilisé dans les scripts <span +class="ec-lmss-10">mktex</span>... de la distribution). +<div class="alltt"> + + +<!--l. 2341--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> </span><span +class="ec-lmro-10">option</span><span +class="ec-lmtk-10">...</span><span +class="ec-lmtk-10"> </span><span +class="ec-lmro-10">filename</span><span +class="ec-lmtk-10">...</span> +</div> +</div> Les options spécifiées dans <span +class="ec-lmro-10">option </span>peuvent commencer soit par « <span +class="ec-lmtt-10">- </span>» soit par « <span +class="ec-lmtt-10">-- </span>»<span class="frenchb-thinspace"> </span>; n’importe quelle +abréviation claire est acceptée. +<!--l. 2348--><p class="noindent" >Kpathsea considère tout argument non optionnel dans la ligne de commande comme un nom de fichier et +renvoie la première occurrence trouvée. Il n’y a pas d’option pour renvoyer tous les fichiers ayant un nom +particulier (vous pouvez utiliser le <span +class="ec-lmss-10">find </span>d’Unix pour cela). +<!--l. 2353--><p class="noindent" >Les options les plus importantes sont décrites ci-après. +<!--l. 2355--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span +class="ec-lmtt-10">--dpi=</span><span +class="ec-lmro-10">num</span> </dt><dd +class="list"> + <!--l. 2356--><p class="noindent" > <br +class="newline" />Définit la résolution à <span +class="ec-lmro-10">num</span><span class="frenchb-thinspace"> </span>; ceci affecte seulement la recherche des fichiers « <span +class="ec-lmtt-10">gf </span>» et « <span +class="ec-lmtt-10">pk </span>». « <span +class="ec-lmtt-10">-D </span>» + est un synonyme pour assurer la compatibilité avec <span +class="ec-lmss-10">dvips</span>. Le défaut est 600. + </dd><dt class="list"> + <span +class="ec-lmtt-10">--format=</span><span +class="ec-lmro-10">name</span> </dt><dd +class="list"> + <!--l. 2361--><p class="noindent" ><br +class="newline" />Définit le format pour la recherche à <span +class="ec-lmro-10">name</span>. Par défaut, le format est estimé en fonction du nom + de fichier. Pour les formats qui n’ont pas de suffixe clair associé, comme les fichiers de support + MetaPost et les fichiers de configuration <span +class="ec-lmss-10">dvips</span>, vous devez spécifier le nom connu de Kpathsea, + comme <span +class="ec-lmtt-10">tex </span>ou <span +class="ec-lmtt-10">enc files</span>. Exécutez la commande <span +class="ec-lmtt-10">kpsewhich --help </span>pour obtenir la liste précise. + </dd><dt class="list"> + <span +class="ec-lmtt-10">--mode=</span><span +class="ec-lmro-10">string</span> </dt><dd +class="list"> + <!--l. 2370--><p class="noindent" ><br +class="newline" />Définit le nom du mode comme étant <span +class="ec-lmro-10">string</span><span class="frenchb-thinspace"> </span>; ceci affecte seulement la recherche des « <span +class="ec-lmtt-10">gf </span>» et des + « <span +class="ec-lmtt-10">pk </span>». Pas d’option par défaut, n’importe quel mode sera trouvé. + </dd><dt class="list"> + <span +class="ec-lmtt-10">--must-exist</span> </dt><dd +class="list"> + <!--l. 2374--><p class="noindent" ><br +class="newline" />Fait tout ce qui est possible pour trouver les fichiers, ce qui inclut une recherche sur le disque. + Par défaut, seule la base de données <span +class="ec-lmtt-10">ls-R </span>est inspectée, dans un souci d’efficacité. + </dd><dt class="list"> + <span +class="ec-lmtt-10">--path=</span><span +class="ec-lmro-10">string</span> </dt><dd +class="list"> + <!--l. 2378--><p class="noindent" ><br +class="newline" />Recherche dans le chemin <span +class="ec-lmro-10">string </span>(séparé par deux-points comme d’habitude), au lieu de prendre + le chemin à partir du nom de fichier. « <span +class="ec-lmtt-10">// </span>» et toutes les expansions habituelles sont supportées. + Les options « <span +class="ec-lmtt-10">--path </span>» et « <span +class="ec-lmtt-10">--format </span>» s’excluent mutuellement. + </dd><dt class="list"> + <span +class="ec-lmtt-10">--progname=</span><span +class="ec-lmro-10">name</span> </dt><dd +class="list"> + <!--l. 2384--><p class="noindent" ><br +class="newline" />Définit le nom de programme comme étant <span +class="ec-lmro-10">name</span>. Ceci peut affecter les chemins de recherche via + l’option <span +class="ec-lmtt-10">.</span><span +class="ec-lmro-10">progname </span>dans les fichiers de configuration. Le défaut est <span +class="ec-lmss-10">kpsewhich</span>. + </dd><dt class="list"> + <span +class="ec-lmtt-10">--show-path=</span><span +class="ec-lmro-10">name</span> </dt><dd +class="list"> + <!--l. 2389--><p class="noindent" ><br +class="newline" />Montre le chemin utilisé pour la recherche des fichiers de type <span +class="ec-lmro-10">name</span>. On peut utiliser soit une + extension de fichier (<span +class="ec-lmtt-10">.pk</span>, <span +class="ec-lmtt-10">.vf</span>, etc.), soit un nom de fichier, comme avec l’option « <span +class="ec-lmtt-10">--format </span>». + </dd><dt class="list"> + <span +class="ec-lmtt-10">--debug=</span><span +class="ec-lmro-10">num</span> </dt><dd +class="list"> + <!--l. 2394--><p class="noindent" ><br +class="newline" />Définit les options de débogage comme étant <span +class="ec-lmro-10">num</span>.</dd></dl> + + +<!--l. 2399--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">8.2.3 </span> <a + id="x1-670008.2.3"></a>Exemples d’utilisation</h5> +<!--l. 2402--><p class="noindent" >Jetons un coup d’œil à Kpathsea en action<span class="frenchb-thinspace"> </span>; voici une recherche toute simple<span class="frenchb-nbsp"> </span>: +<div class="alltt"> +<!--l. 2405--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> </span><span +class="ec-lmtk-10"> article.cls</span> +<br /><span +class="ec-lmtt-10">/usr/local/texmf-dist/tex/latex/base/article.cls</span> +</div> +</div> Nous recherchons le fichier <span +class="ec-lmtt-10">article.cls</span>. Puisque le suffixe <span +class="ec-lmtt-10">.cls </span>est non-ambigu, nous n’avons pas besoin de +spécifier que nous voulons rechercher un fichier de type <span +class="ec-lmtt-10">tex </span>(répertoires des fichiers sources de <span class="TEX">T<span +class="E">E</span>X</span>). Nous le +trouvons dans le sous-répertoire <span class="path"><span +class="ec-lmtt-10">tex/latex/base</span></span> du répertoire racine « <span +class="ec-lmtt-10">TEXMF </span>». De même, le suffixe +non-ambigu permet de trouver facilement les autres fichiers. <div class="alltt"> +<!--l. 2415--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> array.sty</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-dist/tex/latex/tools/array.sty</span> +<br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> latin1.def</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-dist/tex/latex/base/latin1.def</span> +<br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> size10.clo</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-dist/tex/latex/base/size10.clo</span> +<br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> small2e.tex</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-dist/tex/latex/base/small2e.tex</span> +<br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> tugboat.bib</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib</span> +</div> +</div> +<!--l. 2428--><p class="noindent" >Le dernier exemple est une base de données bibliographiques pour BibTeX servant aux articles de +<span +class="ec-lmro-10">TUGBoat</span>. +<div class="alltt"> +<!--l. 2431--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> cmr10.pk</span> +</div> +</div> Les fichiers de glyphes de fontes bitmaps, de type <span +class="ec-lmtt-10">.pk</span>, sont utilisés pour l’affichage par des programmes +comme <span +class="ec-lmss-10">dvips </span>et <span +class="ec-lmss-10">xdvi</span>. Rien n’est renvoyé dans ce cas puisque il n’y a pas de fichier Computer Modern <span +class="ec-lmtt-10">.pk</span> +pré-créé sur nos systèmes (nous utilisons les versions type 1). <div class="alltt"> +<!--l. 2440--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> wsuipa10.pk</span> +<br /> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk</span> +</div> +</div> Pour ces fontes (alphabet phonétique de l’université de Washington), nous avons dû créer les fichiers <span +class="ec-lmtt-10">.pk </span>et, +puisque le mode Metafont par défaut sur notre installation est <span +class="ec-lmtt-10">ljfour </span>avec une résolution de base de 600dpi +<span +class="ec-lmri-10">(dots per inch)</span>, cette instance est trouvée. <div class="alltt"> +<!--l. 2451--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> -dpi=300</span><span +class="ec-lmtk-10"> wsuipa10.pk</span> + + +</div> +</div> Dans ce cas, lorsque l’on spécifie que nous recherchons une résolution de 300dpi (<span +class="ec-lmtt-10">-dpi=300</span>) nous voyons +qu’aucune fonte pour cette résolution n’est disponible dans le système. En fait, un programme comme <span +class="ec-lmss-10">dvips </span>ou +<span +class="ec-lmss-10">xdvi </span>ne s’en préoccuperait pas et créerait les fichiers <span +class="ec-lmtt-10">.pk </span>à la résolution demandée en utilisant le script +<span +class="ec-lmss-10">mktexpk</span>. +<!--l. 2461--><p class="noindent" >Intéressons-nous à présent aux fichiers d’en-tête et de configuration pour <span +class="ec-lmss-10">dvips</span>. Regardons en premier le fichier +<span +class="ec-lmtt-10">tex.pro </span>communément utilisé pour le support de <span class="TEX">T<span +class="E">E</span>X</span> avant de regarder le fichier de configuration générique +(<span +class="ec-lmtt-10">config.ps</span>) et la liste des fontes PostScript <span +class="ec-lmtt-10">psfonts.map</span>. Depuis l’édition 2004, les fichiers <span +class="ec-lmtt-10">.map </span>et les fichiers +de codage ont changé de place dans l’arborescence <span class="path"><span +class="ec-lmtt-10">texmf</span></span>. Comme le suffixe <span +class="ec-lmtt-10">.ps </span>est ambigu, nous +devons spécifier quel type particulier du fichier <span +class="ec-lmtt-10">config.ps </span>nous considérons (<span +class="ec-lmtt-10">dvips config</span>). +<div class="alltt"> +<!--l. 2471--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> tex.pro</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf/dvips/base/tex.pro</span> +<br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> --format="dvips</span><span +class="ec-lmtk-10"> config"</span><span +class="ec-lmtk-10"> config.ps</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-var/dvips/config/config.ps</span> +<br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> psfonts.map</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-var/fonts/map/dvips/updmap/psfonts.map</span> +</div> +</div> +<!--l. 2480--><p class="noindent" >Regardons plus en détail les fichiers de support Times PostScript d’URW. Leur nom standard dans le schéma +de nommage des fontes est « <span +class="ec-lmtt-10">utm </span>». Le premier fichier que nous voyons est le fichier de configuration, qui +contient le nom du fichier de la liste<span class="frenchb-nbsp"> </span>: <div class="alltt"> +<!--l. 2485--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> --format="dvips</span><span +class="ec-lmtk-10"> config"</span><span +class="ec-lmtk-10"> config.utm</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-dist/dvips/psnfss/config.utm</span> +</div> +</div> Le contenu de ce fichier est <div class="alltt"> +<!--l. 2490--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> p</span><span +class="ec-lmtt-10"> +utm.map</span> +</div> +</div> qui pointe vers le fichier <span +class="ec-lmtt-10">utm.map</span>, que nous cherchons à localiser ensuite. <div class="alltt"> +<!--l. 2495--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> utm.map</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-dist/fonts/map/dvips/times/utm.map</span> +</div> +</div> Ce fichier liste les noms des fichiers des fontes PostScript de type 1 dans la collection URW. Son contenu +ressemble à (nous ne montrons qu’une partie des lignes)<span class="frenchb-nbsp"> </span>: <div class="alltt"> +<!--l. 2502--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">utmb8r</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> NimbusRomNo9L-Medi</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> ...</span><span +class="ec-lmtt-10"> <utmb8a.pfb</span> +<br /><span +class="ec-lmtt-10">utmbi8r</span><span +class="ec-lmtt-10"> NimbusRomNo9L-MediItal...</span><span +class="ec-lmtt-10"> <utmbi8a.pfb</span> +<br /><span +class="ec-lmtt-10">utmr8r</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> NimbusRomNo9L-Regu</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> ...</span><span +class="ec-lmtt-10"> <utmr8a.pfb</span> +<br /><span +class="ec-lmtt-10">utmri8r</span><span +class="ec-lmtt-10"> NimbusRomNo9L-ReguItal...</span><span +class="ec-lmtt-10"> <utmri8a.pfb</span> +<br /><span +class="ec-lmtt-10">utmbo8r</span><span +class="ec-lmtt-10"> NimbusRomNo9L-Medi</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> ...</span><span +class="ec-lmtt-10"> <utmb8a.pfb</span> +<br /><span +class="ec-lmtt-10">utmro8r</span><span +class="ec-lmtt-10"> NimbusRomNo9L-Regu</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> ...</span><span +class="ec-lmtt-10"> <utmr8a.pfb</span> + + +</div> +</div> Prenons par exemple le cas de Times Roman <span +class="ec-lmtt-10">utmr8a.pfb </span>et trouvons sa position dans l’arborescence <span +class="ec-lmtt-10">texmf</span> +en utilisant une recherche applicable aux fichiers de fontes de type 1<span class="frenchb-nbsp"> </span>: <div class="alltt"> +<!--l. 2513--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> utmr8a.pfb</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb</span> +</div> +</div> +<!--l. 2520--><p class="noindent" >Il devrait être clair, d’après ces quelques exemples, qu’il est facile de trouver l’endroit où se cache un fichier +donné. C’est particulièrement important si vous suspectez que c’est, pour une raison quelconque, une +mauvaise version du fichier qui est utilisée, puisque <span +class="ec-lmss-10">kpsewhich </span>va vous montrer le premier fichier +trouvé. +<!--l. 2527--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">8.2.4 </span> <a + id="x1-680008.2.4"></a>Opérations de débogage</h5> +<!--l. 2530--><p class="noindent" >Il est quelquefois nécessaire de savoir comment un programme référence les fichiers. Pour permettre cela, +Kpathsea offre plusieurs niveaux de débogage<span class="frenchb-nbsp"> </span>: + <dl class="list1"><dt class="list"> + <span +class="ec-lmtt-10"> 1</span> </dt><dd +class="list"> + <!--l. 2534--><p class="noindent" >Appels à <span +class="ec-lmtt-10">stat </span>(test d’existence de fichier). Lors d’une exécution utilisant une base de données + <span +class="ec-lmtt-10">ls-R </span>à jour, ce niveau ne devrait donner presque aucune information en sortie. + </dd><dt class="list"> + <span +class="ec-lmtt-10"> 2</span> </dt><dd +class="list"> + <!--l. 2537--><p class="noindent" >Références aux différentes tables (comme la base de données <span +class="ec-lmtt-10">ls-R</span>, les fichiers de correspondance + de fontes, les fichiers de configuration). + </dd><dt class="list"> + <span +class="ec-lmtt-10"> 4</span> </dt><dd +class="list"> + <!--l. 2540--><p class="noindent" >Opérations d’ouverture et de fermeture des fichiers. + </dd><dt class="list"> + <span +class="ec-lmtt-10"> 8</span> </dt><dd +class="list"> + <!--l. 2542--><p class="noindent" >Information globale sur la localisation des types de fichiers recherchés par Kpathsea. Ceci est utile + pour trouver où a été défini le chemin particulier pour un fichier. + </dd><dt class="list"> + <span +class="ec-lmtt-10">16</span> </dt><dd +class="list"> + <!--l. 2545--><p class="noindent" >Liste des répertoires pour chaque élément du chemin (utilisé uniquement en cas de recherche sur + le disque). + </dd><dt class="list"> + <span +class="ec-lmtt-10">32</span> </dt><dd +class="list"> + <!--l. 2547--><p class="noindent" >Recherche de fichiers. + </dd><dt class="list"> + <span +class="ec-lmtt-10">64</span> </dt><dd +class="list"> + <!--l. 2548--><p class="noindent" >Valeur des variables.</dd></dl> +<!--l. 2550--><p class="noindent" >Une valeur de <span +class="ec-lmtt-10">-1 </span>activera toutes les options ci-dessus<span class="frenchb-thinspace"> </span>; en pratique, c’est habituellement la valeur la plus +adaptée. +<!--l. 2553--><p class="noindent" >De la même façon, avec le programme <span +class="ec-lmss-10">dvips</span>, en utilisant une combinaison d’options de débogage, on peut +suivre en détail la localisation des différents fichiers. De plus, lorsqu’un fichier n’est pas trouvé, la trace du +débogage montre les différents répertoires dans lesquels le programme va chercher tel ou tel fichier, donnant +ainsi des indices sur le problème. +<!--l. 2561--><p class="noindent" >Généralement, comme la plupart des programmes appellent la bibliothèque Kpathsea en interne, on peut +sélectionner une option de débogage en utilisant la variable d’environnement <span +class="ec-lmtt-10">KPATHSEA_DEBUG </span>et +en la définissant égale à une valeur (ou à une combinaison de valeurs) décrite(s) dans la liste +ci-dessus. + + +<!--l. 2567--><p class="noindent" >Note à l’intention des utilisateurs de Windows<span class="frenchb-nbsp"> </span>: il n’est pas facile de rediriger les messages d’erreur +vers un fichier sur ces systèmes. À des fins de diagnostic, vous pouvez temporairement affecter +<span +class="ec-lmtt-10">KPATHSEA_DEBUG_OUTPUT=err.log </span>pour capturer le flux standard d’erreur dans le fichier <span +class="ec-lmtt-10">err.log</span>. +<!--l. 2573--><p class="noindent" >Considérons comme exemple un petit fichier source <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>, <span +class="ec-lmtt-10">hello-world.tex</span>, dont le contenu est le +suivant. + + +<div class="verbatim" id="verbatim-6"> +<div class="fancyvrb" id="fancyvrb18"><a + id="x1-68002r1"></a>    \documentclass{article}<br class="fancyvrb" /><a + id="x1-68004r2"></a>    \begin{document}<br class="fancyvrb" /><a + id="x1-68006r3"></a>    Hello World!<br class="fancyvrb" /><a + id="x1-68008r4"></a>    \end{document}</div> +</div> +<!--l. 2580--><p class="nopar" >Ce petit fichier utilise simplement la fonte <span +class="ec-lmtt-10">cmr10</span>, aussi allons voir comment <span +class="ec-lmss-10">dvips </span>prépare le fichier +PostScript (nous voulons utiliser la version type 1 des fontes Computer Modern, d’où l’option <span +class="ec-lmtt-10">-Pcms</span>). +<div class="alltt"> +<!--l. 2585--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">dvips</span><span +class="ec-lmtk-10"> -d4100</span><span +class="ec-lmtk-10"> hello-world</span><span +class="ec-lmtk-10"> -Pcms</span><span +class="ec-lmtk-10"> -o</span> +</div> +</div> Dans ce cas, nous avons combiné le niveau 4 de débogage de <span +class="ec-lmss-10">dvips </span>(chemins des fontes) avec +l’option d’expansion des éléments du chemin de Kpathsea (voir <span +class="ec-lmss-10">dvips </span>Reference Manual, +<a +href="../../../../texmf/doc/html/dvips/dvips_toc.html" >texmf/doc/html/dvips/dvips_toc.html</a> sur le DVD). La sortie (légèrement formatée) apparaît dans la +figure <a +href="#x1-68031r12">12<!--tex4ht:ref: fig:dvipsdbga --></a>. +<!--l. 2594--><p class="noindent" ><a + id="x1-68031r12"></a><a + id="x1-68036r13"></a><a + id="x1-68049r14"></a><hr class="float"><div class="float" +> + + +<div class="BVerbatimInput"><span +class="ec-lmtt-9">debug:start</span><span +class="ec-lmtt-9"> search(file=texmf.cnf,</span><span +class="ec-lmtt-9"> must_exist=1,</span><span +class="ec-lmtt-9"> find_all=1,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:/usr/local/bin/texlive:/usr/local/bin:</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> /usr/local/bin/texmf/web2c:/usr/local:</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> /usr/local/texmf/web2c:/.:/./teTeX/TeX/texmf/web2c:).</span><br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=ls-R,</span><span +class="ec-lmtt-9"> must_exist=1,</span><span +class="ec-lmtt-9"> find_all=1,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=~/tex:/usr/local/texmf).</span><br /><span +class="ec-lmtt-9">kdebug:search(ls-R)</span><span +class="ec-lmtt-9"> =>/usr/local/texmf/ls-R</span><br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=aliases,</span><span +class="ec-lmtt-9"> must_exist=1,</span><span +class="ec-lmtt-9"> find_all=1,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=~/tex:/usr/local/texmf).</span><br /><span +class="ec-lmtt-9">kdebug:search(aliases)</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> /usr/local/texmf/aliases</span><br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=config.ps,</span><span +class="ec-lmtt-9"> must_exist=0,</span><span +class="ec-lmtt-9"> find_all=0,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex:!!/usr/local/texmf/dvips//).</span><br /><span +class="ec-lmtt-9">kdebug:search(config.ps)</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> /usr/local/texmf/dvips/config/config.ps</span><br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=/root/.dvipsrc,</span><span +class="ec-lmtt-9"> must_exist=0,</span><span +class="ec-lmtt-9"> find_all=0,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex:!!/usr/local/texmf/dvips//).</span><br /><span +class="ec-lmtt-9">search(file=/home/goossens/.dvipsrc,</span><span +class="ec-lmtt-9"> must_exist=1,</span><span +class="ec-lmtt-9"> find_all=0,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//).</span><br /><span +class="ec-lmtt-9">kdebug:search($HOME/.dvipsrc)</span><span +class="ec-lmtt-9"> =></span><br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=config.cms,</span><span +class="ec-lmtt-9"> must_exist=0,</span><span +class="ec-lmtt-9"> find_all=0,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//).</span><br /><span +class="ec-lmtt-9">kdebug:search(config.cms)</span><br /><span +class="ec-lmtt-9">=>/usr/local/texmf/dvips/cms/config.cms</span></div> + <div class="caption" +><span class="id"><span +class="ec-lmcsc-10">Figure</span> 12: </span><span +class="content">Recherche des fichiers de configuration</span></div><!--tex4ht:label?: x1-68031r12 --> +<div class="BVerbatimInput"><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=texc.pro,</span><span +class="ec-lmtt-9"> must\_exist=0,</span><span +class="ec-lmtt-9"> find\_all=0,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).</span><br /><span +class="ec-lmtt-9">kdebug:search(texc.pro)</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> /usr/local/texmf/dvips/base/texc.pro</span></div> + <div class="caption" +><span class="id"><span +class="ec-lmcsc-10">Figure</span> 13: </span><span +class="content">Recherche du fichier prolog</span></div><!--tex4ht:label?: x1-68036r13 --> +<div class="BVerbatimInput"><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=cmr10.tfm,</span><span +class="ec-lmtt-9"> must\_exist=1,</span><span +class="ec-lmtt-9"> find\_all=0,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//:</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> /var/tex/fonts/tfm//).</span><br /><span +class="ec-lmtt-9">kdebug:search(cmr10.tfm)</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm</span><br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=texps.pro,</span><span +class="ec-lmtt-9"> must\_exist=0,</span><span +class="ec-lmtt-9"> find\_all=0,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ...</span><br /><span +class="ec-lmtt-9"><texps.pro></span><br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=cmr10.pfb,</span><span +class="ec-lmtt-9"> must\_exist=0,</span><span +class="ec-lmtt-9"> find\_all=0,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).</span><br /><span +class="ec-lmtt-9">kdebug:search(cmr10.pfb)</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb</span><br /><span +class="ec-lmtt-9"><cmr10.pfb>[1]</span></div> + <div class="caption" +><span class="id"><span +class="ec-lmcsc-10">Figure</span> 14: </span><span +class="content">Recherche du fichier de fontes</span></div><!--tex4ht:label?: x1-68049r14 --> + + +</div><hr class="endfloat" /> +<!--l. 2610--><p class="noindent" ><span +class="ec-lmss-10">dvips </span>commence par localiser ses fichiers de fonctionnement. D’abord, <span +class="ec-lmtt-10">texmf.cnf </span>est trouvé, ce qui donne les +définitions pour les chemins de recherche servant à localiser les autres fichiers, ensuite le fichier base de +données <span +class="ec-lmtt-10">ls-R </span>(pour optimiser la recherche des fichiers) et le fichier <span +class="ec-lmtt-10">aliases</span>, qui permet de déclarer plusieurs +noms (par exemple un nom DOS de type 8.3 court et une version longue plus naturelle) pour le même fichier. +Ensuite <span +class="ec-lmss-10">dvips </span>continue en cherchant le fichier de configuration générique <span +class="ec-lmtt-10">config.ps </span>avant de rechercher le +fichier de paramétrisation <span +class="ec-lmtt-10">.dvipsrc </span>(qui, dans notre cas, <span +class="ec-lmri-10">n’est pas trouv</span><span +class="ec-lmri-10">é</span>). Enfin, <span +class="ec-lmss-10">dvips </span>localise le fichier +de configuration pour les fontes PostScript Computer Modern <span +class="ec-lmtt-10">config.cms </span>(ceci est lancé par +l’option <span +class="ec-lmtt-10">-Pcms</span> de la commande <span +class="ec-lmss-10">dvips</span>). Ce fichier contient la liste des fichiers qui définissent la +relation entre les noms des fontes selon <span class="TEX">T<span +class="E">E</span>X</span>, selon PostScript et dans le système de fichiers. +<div class="alltt"> +<!--l. 2626--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">more</span><span +class="ec-lmtk-10"> /usr/local/texmf/dvips/cms/config.cms</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> p</span><span +class="ec-lmtt-10"> +ams.map</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> p</span><span +class="ec-lmtt-10"> +cms.map</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> p</span><span +class="ec-lmtt-10"> +cmbkm.map</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> p</span><span +class="ec-lmtt-10"> +amsbkm.map</span> +</div> +</div> <span +class="ec-lmss-10">dvips </span>veut chercher tous ces fichiers, y compris le fichier générique d’association <span +class="ec-lmtt-10">psfonts.map</span>, qui est toujours +chargé (il contient des déclarations pour les fontes PostScript les plus communément utilisées<span class="frenchb-thinspace"> </span>; voir +la dernière partie de la Section <a +href="#x1-670008.2.3">8.2.3<!--tex4ht:ref: sec:examples-of-use --></a> pour plus de détails sur la gestion du fichier d’association +PostScript). +<!--l. 2640--><p class="noindent" >Arrivé là, <span +class="ec-lmss-10">dvips </span>s’identifie à l’utilisateur<span class="frenchb-nbsp"> </span>: <div class="alltt"> +<!--l. 2641--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10"> This</span><span +class="ec-lmtt-10"> is</span><span +class="ec-lmtt-10"> dvips(k)</span><span +class="ec-lmtt-10"> 5.92b</span><span +class="ec-lmtt-10"> Copyright</span><span +class="ec-lmtt-10"> 2002</span><span +class="ec-lmtt-10"> Radical</span><span +class="ec-lmtt-10"> Eye</span><span +class="ec-lmtt-10"> Software</span><span +class="ec-lmtt-10"> (www.radicaleye.com)</span> +<br /><span +class="ec-lmtt-10"> </span> +</div> +</div> +<!--l. 2646--><p class="noindent" >pour continuer ensuite en cherchant le fichier prologue <span +class="ec-lmtt-10">texc.pro</span>, <div class="alltt"> +<!--l. 2647--><p class="noindent" ><div class="obeylines-v"> +<br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=texc.pro,</span><span +class="ec-lmtt-9"> must_exist=0,</span><span +class="ec-lmtt-9"> find_all=0,</span> +<br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:</span> +<br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).</span> +<br /><span +class="ec-lmtt-9">kdebug:search(texc.pro)</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> /usr/local/texmf/dvips/base/texc.pro</span> +</div> +</div> +<!--l. 2658--><p class="noindent" >Après avoir trouvé ce fichier, <span +class="ec-lmss-10">dvips </span>affiche la date et l’heure, nous informe qu’il va générer le fichier +<span +class="ec-lmtt-10">hello-world.ps </span>puis qu’il a besoin du fichier de fonte <span +class="ec-lmtt-10">cmr10 </span>et que ce dernier est déclaré comme « résident » +(pas besoin de bitmaps)<span class="frenchb-nbsp"> </span>: <div class="alltt"> +<!--l. 2663--><p class="noindent" ><div class="obeylines-v"> +<br /><span +class="ec-lmtt-9">TeX</span><span +class="ec-lmtt-9"> output</span><span +class="ec-lmtt-9"> 1998.02.26:1204’</span><span +class="ec-lmtt-9"> -></span><span +class="ec-lmtt-9"> hello-world.ps</span> +<br /><span +class="ec-lmtt-9">Defining</span><span +class="ec-lmtt-9"> font</span><span +class="ec-lmtt-9"> ()</span><span +class="ec-lmtt-9"> cmr10</span><span +class="ec-lmtt-9"> at</span><span +class="ec-lmtt-9"> 10.0pt</span> +<br /><span +class="ec-lmtt-9">Font</span><span +class="ec-lmtt-9"> cmr10</span><span +class="ec-lmtt-9"> <CMR10></span><span +class="ec-lmtt-9"> is</span><span +class="ec-lmtt-9"> resident.</span> +</div> +</div> Maintenant la recherche concerne le fichier <span +class="ec-lmtt-10">cmr10.tfm</span>, qui est trouvé, puis quelques fichiers de prologue de +plus (non montrés) sont référencés<span class="frenchb-thinspace"> </span>; finalement le fichier de la fonte type 1 <span +class="ec-lmtt-10">cmr10.pfb </span>est localisé et inclus +dans le fichier de sortie (voir la dernière ligne). <div class="alltt"> + + +<!--l. 2672--><p class="noindent" ><div class="obeylines-v"> +<br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=cmr10.tfm,</span><span +class="ec-lmtt-9"> must_exist=1,</span><span +class="ec-lmtt-9"> find_all=0,</span> +<br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//:</span> +<br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> /var/tex/fonts/tfm//).</span> +<br /><span +class="ec-lmtt-9">kdebug:search(cmr10.tfm)</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm</span> +<br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=texps.pro,</span><span +class="ec-lmtt-9"> must_exist=0,</span><span +class="ec-lmtt-9"> find_all=0,</span> +<br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ...</span> +<br /><span +class="ec-lmtt-9"><texps.pro></span> +<br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=cmr10.pfb,</span><span +class="ec-lmtt-9"> must_exist=0,</span><span +class="ec-lmtt-9"> find_all=0,</span> +<br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:</span> +<br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).</span> +<br /><span +class="ec-lmtt-9">kdebug:search(cmr10.pfb)</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb</span> +<br /><span +class="ec-lmtt-9"><cmr10.pfb>[1]</span> +</div> +</div> +<h4 class="subsectionHead"><span class="titlemark">8.3 </span> <a + id="x1-690008.3"></a>Options à l’exécution</h4> +<!--l. 2689--><p class="noindent" >Web2C offre la possibilité de contrôler à l’exécution bon nombre de paramètres concernant la mémoire (en +particulier la taille des tableaux utilisés) à partir du fichier <span +class="ec-lmtt-10">texmf.cnf </span>qui est lu par Kpathsea. Les paramètres +en question se trouvent dans la troisième partie du fichier inclus dans la distribution <span class="TEX">T<span +class="E">E</span>X</span> Live. Les variables +les plus importantes sont<span class="frenchb-nbsp"> </span>: + <dl class="list1"><dt class="list"> + <span +class="ec-lmtt-10">main_memory</span> </dt><dd +class="list"> + <!--l. 2697--><p class="noindent" >Nombre total de mots mémoire disponibles pour <span class="TEX">T<span +class="E">E</span>X</span>, Metafont et MetaPost. Vous devez générer + un nouveau fichier de format pour chaque nouveau paramétrage. Par exemple, vous pouvez générer + une version large de <span class="TEX">T<span +class="E">E</span>X</span> et appeler le fichier de format <span +class="ec-lmtt-10">hugetex.fmt</span>. En utilisant la méthode + supportée par Kpathsea qui consiste à suffixer la variable par le nom du programme, la valeur + particulière de la variable <span +class="ec-lmtt-10">main_memory </span>destinée à ce fichier de format sera lue dans le fichier + <span +class="ec-lmtt-10">texmf.cnf</span>. + </dd><dt class="list"> + <span +class="ec-lmtt-10">extra_mem_bot</span> </dt><dd +class="list"> + <!--l. 2706--><p class="noindent" >Espace supplémentaire pour certaines structures de données de <span class="TEX">T<span +class="E">E</span>X</span><span class="frenchb-nbsp"> </span>: boîtes, <span +class="ec-lmri-10">glue</span>, points + d’arrêt... Surtout utile si vous utilisez PI C<span class="TEX">T<span +class="E">E</span>X</span> par exemple. + </dd><dt class="list"> + <span +class="ec-lmtt-10">font_mem_size</span> </dt><dd +class="list"> + <!--l. 2710--><p class="noindent" >Nombre de mots mémoire disponibles pour décrire les polices. C’est plus ou moins l’espace occupé + par les fichiers TFM lus. + </dd><dt class="list"> + <span +class="ec-lmtt-10">hash_extra</span> </dt><dd +class="list"> + <!--l. 2713--><p class="noindent" >Espace supplémentaire pour la table de hachage des noms de séquences de contrôle. Environ + 10 000 de ces noms peuvent être stockés dans la table principale<span class="frenchb-thinspace"> </span>; si vous avez un document très + volumineux avec beaucoup de références croisées, il se peut que ce ne soit pas suffisant. La valeur + par défaut <span +class="ec-lmtt-10">hash_extra </span>est <span +class="ec-lmtt-10">50000</span>.</dd></dl> +<!--l. 2721--><p class="noindent" >Évidemment, cette possibilité ne remplace pas une véritable allocation dynamique des tableaux et de la +mémoire mais puisque c’est complexe à implémenter dans le présent source <span class="TEX">T<span +class="E">E</span>X</span>, ces paramètres lus à +l’exécution fournissent un compromis pratique qui procure une certaine souplesse. +<!--l. 2836--><p class="noindent" ><a id="ack"></a> +<h3 class="sectionHead"><span class="titlemark">9 </span> <a + id="x1-700009"></a>Remerciements</h3> +<!--l. 2839--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Live est le résultat des efforts collectifs de pratiquement tous les groupes d’utilisateurs de <span class="TEX">T<span +class="E">E</span>X</span>. +La présente édition de <span class="TEX">T<span +class="E">E</span>X</span> Live a été coordonnée par Karl Berry. Voici la liste des principaux +contributeurs<span class="frenchb-nbsp"> </span>: + + + <ul class="itemize1"> + <li class="itemize">Les associations d’utilisateurs anglaise, allemande, néerlandaise et polonaise (TUG, DANTE + e.V., NTG, et GUST, respectivement) qui contribuent ensemble à l’infrastructure technique et + administrative. Soutenez votre association locale (voir la liste <a +href="http://tug.org/usergroups.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/usergroups.html</span></a>)<span class="frenchb-thinspace"> </span>! + </li> + <li class="itemize">L’équipe du CTAN, en particulier Robin Fairbairns, Jim Hefferon et Rainer Schöpf, qui distribue les + images des distributions <span class="TEX">T<span +class="E">E</span>X</span> Live et fournit les sites d’hébergement pour le stockage et la mise à + jour des extensions qui sont la base de <span class="TEX">T<span +class="E">E</span>X</span> Live. + </li> + <li class="itemize">Nelson Beebe, pour avoir permis l’accès à de nombreuses plate-formes aux développeurs <span class="TEX">T<span +class="E">E</span>X</span> Live, + et avoir lui-même participé aux tests de façon étendue. + </li> + <li class="itemize">John Bowman, pour avoir effectué de nombreux changements dans son programme Asymptote pour + le faire fonctionner dans <span class="TEX">T<span +class="E">E</span>X</span> Live. + </li> + <li class="itemize">Peter Breitenlohner et toute l’équipe e-<span class="TEX">T<span +class="E">E</span>X</span> qui construisent les bases des successeurs de <span class="TEX">T<span +class="E">E</span>X</span>, et + Peter tout particulièrement pour son aide concernant l’usage des autotools de GNU partout dans + <span class="TEX">T<span +class="E">E</span>X</span> Live. + </li> + <li class="itemize">Jin-Hwan Cho et toute l’équipe de DVIPDFM<span +class="lmmi-10">x </span>pour leur excellent programme et leur réactivité face + aux problèmes de configuration. + </li> + <li class="itemize">Thomas Esser et sa merveilleuse distribution te<span class="TEX">T<span +class="E">E</span>X</span> sans laquelle <span class="TEX">T<span +class="E">E</span>X</span> Live n’aurait jamais vu le + jour. + </li> + <li class="itemize">Michel Goossens, en tant que co-auteur de la documentation initiale. + </li> + <li class="itemize">Eitan Gurari, dont le programme <span class="TEX">T<span +class="E">E</span>X</span>4ht est utilisé pour créer la version HTML de cette + documentation et qui travaillait inlassablement à l’améliorer, ce dans des délais très courts. Eitan + nous a quitté prématurément en juin 2009, et nous dédions la présente documentation à sa mémoire. + </li> + <li class="itemize">Hans Hagen qui, outre sa + participation active aux tests, a adapté le format Con<span class="TEX">T<span +class="E">E</span>X</span>t (<a +href="http://pragma-ade.com" class="url" ><span +class="ec-lmtt-10">http://pragma-ade.com</span></a>) aux besoins + de <span class="TEX">T<span +class="E">E</span>X</span> Live. + </li> + <li class="itemize">Hàn Thế Thành, Martin Schröder et toute l’équipe pdf<span class="TEX">T<span +class="E">E</span>X</span> qui continuent inlassablement à étendre + les performances de <span class="TEX">T<span +class="E">E</span>X</span>. + </li> + <li class="itemize">Hartmut Henkel, pour ses contributions au développement de pdf<span class="TEX">T<span +class="E">E</span>X</span> et Lua<span class="TEX">T<span +class="E">E</span>X</span> entre autres. + </li> + <li class="itemize">Taco Hoekwater, pour son travail important et incessant sur le développement de MetaPost et de + (Lua)<span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://luatex.org" class="url" ><span +class="ec-lmtt-10">http://luatex.org</span></a>) lui-même, pour l’intégration de Con<span class="TEX">T<span +class="E">E</span>X</span>t dans <span class="TEX">T<span +class="E">E</span>X</span> Live, pour + les nouvelles fonctionnalités mutli-thread de Kpathsea, et bien plus encore. + </li> + <li class="itemize">Paweł Jackowski pour l’installeur Windows <span +class="ec-lmss-10">tlpm </span>et Tomasz Łuczak pour la version graphique <span +class="ec-lmss-10">tlpmgui</span> + utilisée dans l’édition précédente. + </li> + <li class="itemize">Akira Kakuto, pour son aide précieuse qui nous a permis d’intégrer dans <span class="TEX">T<span +class="E">E</span>X</span> Live les binaires + Windows de sa distribution W32TEX (<a +href="http://w32tex.org" class="url" ><span +class="ec-lmtt-10">http://w32tex.org</span></a>). + </li> + <li class="itemize">Jonathan Kew, pour avoir produit Xe<span class="TEX">T<span +class="E">E</span>X</span>, pour l’avoir intégré dans <span class="TEX">T<span +class="E">E</span>X</span> Live, pour avoir créé la + première version de l’installeur Mac<span class="TEX">T<span +class="E">E</span>X</span>et enfin pour l’éditeur <span class="TEX">T<span +class="E">E</span>X</span>works que nous recommandons. + </li> + <li class="itemize">Dick Koch, pour la maintenance de Mac<span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://tug.org/mactex" class="url" ><span +class="ec-lmtt-10">http://tug.org/mactex</span></a>) faite en symbiose avec <span class="TEX">T<span +class="E">E</span>X</span> + Live. + </li> + <li class="itemize">Reinhard Kotucha, pour ses contributions majeures à l’infrastructure de <span class="TEX">T<span +class="E">E</span>X</span> Live 2008 et à son + programme d’installation, pour ses contributions sous Windows et pour son script <span +class="ec-lmtt-10">getnonfreefonts</span> + en particulier. + </li> + + + <li class="itemize">Siep Kroonenberg, également pour ses contributions majeures à l’infrastructure de <span class="TEX">T<span +class="E">E</span>X</span> Live 2008 et + à son programme d’installation ainsi que pour la réécriture de cette documentation concernant ces + fonctionnalités. + </li> + <li class="itemize">Heiko Oberdieck, pour le paquet <span +class="ec-lmss-10">epstopdf </span>et bien d’autres, pour avoir compressé l’énorme <span +class="ec-lmss-10">pst-geo </span>de + façon à ce que nous puissions l’inclure, et, par-dessus tout, son travail remarquable sur <span +class="ec-lmss-10">hyperref</span>. + </li> + <li class="itemize">Petr Olšak, qui coordonna et vérifia minutieusement toute la partie tchèque et slovaque. + </li> + <li class="itemize">Toshio Oshima, pour le visualisateur <span +class="ec-lmss-10">dviout </span>pour Windows. + </li> + <li class="itemize">Manuel Pégourié-Gonnard, pour son aide concernant le programme de mise à jour de la distribution, + la documentation et pour le développement de <span +class="ec-lmss-10">texdoc</span>. + </li> + <li class="itemize">Fabrice Popineau, pionnier du développement de <span class="TEX">T<span +class="E">E</span>X</span> Live sous Windows et pour son travail sur la + documentation française. + </li> + <li class="itemize">Norbert Preining, principal architecte de la distribution <span class="TEX">T<span +class="E">E</span>X</span> Live 2008 et de son installeur et + coordinateur (avec Frank Küster) de la version Debian de <span class="TEX">T<span +class="E">E</span>X</span> Live. + </li> + <li class="itemize">Sebastian Rahtz, qui a créé la distribution <span class="TEX">T<span +class="E">E</span>X</span> Live et en a assuré la maintenance pendant de + nombreuses années. + </li> + <li class="itemize">Phil Taylor, pour la mise en place du téléchargement par BitTorrent. + </li> + <li class="itemize">Tomasz Trzeciak, pour son aide générale concernant Windows. + </li> + <li class="itemize">Vladimir Volovich, pour son aide substantielle, en particulier pour avoir rendu possible l’intégration + de <span +class="ec-lmss-10">xindy </span>dans <span class="TEX">T<span +class="E">E</span>X</span> Live. + </li> + <li class="itemize">Staszek Wawrykiewicz, principal testeur de <span class="TEX">T<span +class="E">E</span>X</span> Live et coordinateur des contributions polonaises + (fontes, installation Windows, etc.). + </li> + <li class="itemize">Olaf Weber, pour son patient assemblage de Web2C. + </li> + <li class="itemize">Gerben Wierda, qui a créé et maintenu initialement la partie Mac OS X et participé activement aux + tests. + </li> + <li class="itemize">Graham Williams, pour son travail sur le catalogue <span class="TEX">T<span +class="E">E</span>X</span>. + </li></ul> +<!--l. 2963--><p class="noindent" >Les binaires ont été compilés par<span class="frenchb-nbsp"> </span>: Ettore Aldrovandi (<span +class="ec-lmss-10">i386-solaris</span>, <span +class="ec-lmss-10">x86_64-solaris</span>), Alan Braslau +(<span +class="ec-lmss-10">amd64-kfreebsd</span>, <span +class="ec-lmss-10">i386-kfreebsd</span>), Peter Breitenlohner (<span +class="ec-lmss-10">x86_64-linux</span>), Karl Berry (<span +class="ec-lmss-10">i386-linux</span>), Ken Brown +(<span +class="ec-lmss-10">i386-cygwin</span>), Akira Kakuto (<span +class="ec-lmss-10">win32</span>), Dick Koch (<span +class="ec-lmss-10">universal-darwin</span>, <span +class="ec-lmss-10">x86_64-darwin</span>), Nikola Lečić +(<span +class="ec-lmss-10">amd64-freebsd</span>, <span +class="ec-lmss-10">i386-freebsd</span>), Mojca Miklavec (<span +class="ec-lmss-10">mipsel-linux</span>), Norbert Preining (<span +class="ec-lmss-10">alpha-linux</span>), Thomas Schmitz +(<span +class="ec-lmss-10">powerpc-linux</span>), Boris Veytsman (<span +class="ec-lmss-10">armel-linux</span>), Vladimir Volovich (<span +class="ec-lmss-10">powerpc-aix</span>, <span +class="ec-lmss-10">sparc-solaris</span>), Olaf Weber +(<span +class="ec-lmss-10">mips-irix</span>). +<!--l. 2979--><p class="noindent" >Traducteurs de ce manuel<span class="frenchb-nbsp"> </span>: Boris Veytsman (russe), Jjgod Jiang, Jinsong Zhao, Yue Wang, & Helin Gai +(chinois), Uwe Ziegenhagen (German), Manuel Pégourié-Gonnard (français), Marco Pallante (italien), Nikola +Lečić (serbe), Petr Sojka & Jan Busa (thèque et slovaque), Staszek Wawrykiewicz (polonais). La page +d’accueil de la documentation <span class="TEX">T<span +class="E">E</span>X</span> Live est <a +href="http://tug.org/texlive/doc.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/doc.html</span></a>. +<!--l. 2991--><p class="noindent" >Bien sûr, notre gratitude va en premier lieu à Donald Knuth pour avoir inventé <span class="TEX">T<span +class="E">E</span>X</span> et l’avoir offert au monde +entier. +<!--l. 2994--><p class="noindent" > +<h3 class="sectionHead"><span class="titlemark">10 </span> <a + id="x1-7100010"></a>Historique des versions successives</h3> + + +<!--l. 2997--><p class="noindent" > +<h4 class="subsectionHead"><span class="titlemark">10.1 </span> <a + id="x1-7200010.1"></a>Les éditions précédentes</h4> +<!--l. 2999--><p class="noindent" >La discussion commença à la fin de 1993 quand le Groupe des Utilisateurs Néerlandais de <span class="TEX">T<span +class="E">E</span>X</span> commençait à +travailler à son CD 4All<span class="TEX">T<span +class="E">E</span>X</span> pour les utilisateurs de MS-DOS et on espérait à ce moment sortir un CD unique +pour tous les systèmes. C’était un objectif beaucoup trop ambitieux mais il permit la naissance du CD +4All<span class="TEX">T<span +class="E">E</span>X</span>, projet couronné de succès et aussi d’un groupe de travail « TUG Technical Council » pour mettre en +place TDS (<span class="TEX"><span +class="ec-lmri-10">T</span><span +class="E"><span +class="ec-lmri-10">E</span></span><span +class="ec-lmri-10">X</span></span> <span +class="ec-lmri-10">Directory Structure</span><span class="frenchb-nbsp"> </span>: <a +href="http://tug.org/tds" class="url" ><span +class="ec-lmtt-10">http://tug.org/tds</span></a>), qui spécifiait la gestion des fichiers <span class="TEX">T<span +class="E">E</span>X</span> sous +une forme logique. La mouture finale de TDS fut publiée dans le numéro de décembre 1995 de <span +class="ec-lmro-10">TUGboat </span>et il +était clair depuis un certain temps qu’il fallait proposer un produit contenant une structure modèle sur CD. La +distribution que vous possédez est le résultat direct des délibérations de ce groupe de travail. +Il était également clair que le succès des CD 4All<span class="TEX">T<span +class="E">E</span>X</span> démontrait que les utilisateurs d’Unix +trouveraient leur bonheur avec une distribution aussi simple et ceci a été l’autre objectif de <span class="TEX">T<span +class="E">E</span>X</span> +Live. +<!--l. 3016--><p class="noindent" >Nous avons d’abord entrepris de créer un nouveau CD TDS Unix à l’automne 1995 et nous avons rapidement +choisi te<span class="TEX">T<span +class="E">E</span>X</span> de Thomas Esser comme étant la configuration idéale, car il supportait déjà plusieurs +plates-formes et avait été construit en gardant à l’esprit la portabilité entre systèmes. Thomas accepta de nous +aider et commença à travailler sérieusement au début de 1996. La première édition sortit en mai 1996. Au +début de 1997, Karl Berry acheva une nouvelle distribution de Web2C, qui incluait presque toutes les +caractéristiques que Thomas Esser avait ajoutées dans te<span class="TEX">T<span +class="E">E</span>X</span> et il fut décidé de baser la deuxième édition du +CD sur le standard Web2C, en y ajoutant le script <span +class="ec-lmtt-10">texconfig </span>de te<span class="TEX">T<span +class="E">E</span>X</span>. La troisième édition du CD était +basée sur une version majeure de Web2C, 7.2, par Olaf Weber<span class="frenchb-thinspace"> </span>; en même temps, une nouvelle version +révisée de te<span class="TEX">T<span +class="E">E</span>X</span> était achevée dont <span class="TEX">T<span +class="E">E</span>X</span> Live partageait presque toutes les caractéristiques. La +quatrième édition a suivi le même schéma, en utilisant une nouvelle version de te<span class="TEX">T<span +class="E">E</span>X</span> et une nouvelle +version de Web2C (7.3). Le système incluait dorénavant un programme complet d’installation pour +Windows. +<!--l. 3033--><p class="noindent" >Pour la cinquième édition (mars 2000), de nombreuses parties du CD ont été vérifiées et révisées, des +centaines de composants mis à jour. Le contenu détaillé des composants était décrit par des fichiers XML. +Mais le changement majeur de cette cinquième édition a été la suppression de tout logiciel non libre de droits. +Tout ce qui se trouve dans <span class="TEX">T<span +class="E">E</span>X</span> Live devait être compatible avec la licence Debian (<span +class="ec-lmri-10">Debian Free Software</span> +<span +class="ec-lmri-10">Guidelines</span><span class="frenchb-nbsp"> </span>: <a +href="http://www.debian.org/intro/free" class="url" ><span +class="ec-lmtt-10">http://www.debian.org/intro/free</span></a>)<span class="frenchb-thinspace"> </span>; nous avons fait de notre mieux pour vérifier +les termes des licences de chaque composant et nous souhaiterions que toute erreur nous soit +signalée. +<!--l. 3045--><p class="noindent" >La sixième édition (juillet 2001) contient un grand nombre de mises à jour. Le changement majeur de cette +version réside dans la refonte du processus d’installation<span class="frenchb-nbsp"> </span>: l’utilisateur peut désormais choisir les collections de +manière plus précise. Les collections concernant les langues ont été entièrement réorganisées, aussi le choix +d’une langue installe non seulement les macros, les fontes, etc. mais prépare également un fichier +<span +class="ec-lmtt-10">language.dat </span>adéquat. +<!--l. 3053--><p class="noindent" >La septième édition (mai 2002) a comme ajout majeur une installation pour Mac OS X et l’habituelle myriade +de mises à jour de composants et de programmes. Un objectif important a été de fusionner à nouveau les +sources avec ceux de te<span class="TEX">T<span +class="E">E</span>X</span>, alors que les versions 5 et 6 s’en étaient éloignées. +<!--l. 3059--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">10.1.1 </span> <a + id="x1-7300010.1.1"></a>2003</h5> +<!--l. 3061--><p class="noindent" >En 2003, le flot de mises à jour et d’additions a continué mais nous avons constaté que <span class="TEX">T<span +class="E">E</span>X</span> Live était devenu +si volumineux qu’il ne pouvait plus tenir sur un seul CD, aussi l’avons-nous divisé en trois distributions +distinctes (voir section <a +href="#x1-90002.1">2.1<!--tex4ht:ref: sec:tl-coll-dists --></a>, page <a +href="#x1-90002.1">7<!--tex4ht:ref: sec:tl-coll-dists --></a>). Par ailleurs<span class="frenchb-nbsp"> </span>: + <ul class="itemize1"> + <li class="itemize">À la demande de l’équipe <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>, nous avons modifié les commandes standard <span +class="ec-lmss-10">latex </span>et <span +class="ec-lmss-10">pdflatex </span>pour + qu’elles utilisent e-<span class="TEX">T<span +class="E">E</span>X</span> (voir page <a +href="#x1-120002.4">11<!--tex4ht:ref: text:etex --></a>). + </li> + <li class="itemize">Les nouvelles fontes Latin Modern sont disponibles (et recommandées). + </li> + <li class="itemize">Le support pour Alpha OSF a été supprimé (celui pour HPUX l’avait été auparavant), car personne + disposant des machines nécessaires ne s’est proposé pour compiler les nouveaux binaires. + </li> + <li class="itemize">L’installation pour Windows a été largement modifiée<span class="frenchb-thinspace"> </span>; un environnement de travail intégré basé sur + + + <span +class="ec-lmss-10">XEmacs </span>a été introduit. + </li> + <li class="itemize">Des programmes supplémentaires importants pour Windows (Perl, Ghostscript, ImageMagick, Ispell) + sont maintenant installés dans le répertoire d’installation de <span class="TEX">T<span +class="E">E</span>X</span> Live. + </li> + <li class="itemize">Les fichiers <span +class="ec-lmri-10">font map </span>utilisés par <span +class="ec-lmss-10">dvips</span>, <span +class="ec-lmss-10">dvipdfm </span>et <span +class="ec-lmss-10">pdftex </span>sont maintenant générés par le nouveau + programme <span +class="ec-lmss-10">updmap </span>et installés dans <span class="path"><span +class="ec-lmtt-10">texmf/fonts/map</span></span>. + </li> + <li class="itemize">Dorénavant, <span class="TEX">T<span +class="E">E</span>X</span>, Metafont et MetaPost écrivent les caractères 8 bits présentés en entrée sans + modification et non pas avec la notation <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">^^</span></span></span>, que ce soit dans des fichiers (par la commande <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">write</span></span></span>), + dans les fichiers de trace (<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">.log</span></span></span>) ou sur le terminal. Dans le <span class="TEX">T<span +class="E">E</span>X</span> Live 7, l’écriture de ces caractères + 8 bits était influencée par les paramètres de localisation du système<span class="frenchb-thinspace"> </span>; maintenant ces paramètres + n’influent plus du tout sur le comportement des programmes <span class="TEX">T<span +class="E">E</span>X</span>. Si pour quelque raison que ce + soit, vous avez besoin de la notation <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">^^</span></span></span> en sortie, renommez le fichier <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">texmf/web2c/cp8bit.tcx</span></span></span>. Les + prochaines versions disposeront d’un moyen plus propre pour contrôler cette sortie. + </li> + <li class="itemize">La documentation de <span class="TEX">T<span +class="E">E</span>X</span> Live a été largement révisée. + </li> + <li class="itemize">Enfin, comme la numérotation séquentielle des versions devenait peu maniable, il a été décidé + d’identifier désormais la version de <span class="TEX">T<span +class="E">E</span>X</span> Live par l’année<span class="frenchb-nbsp"> </span>: <span class="TEX">T<span +class="E">E</span>X</span> Live 2003 au lieu de <span class="TEX">T<span +class="E">E</span>X</span> Live 8.</li></ul> +<!--l. 3104--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">10.1.2 </span> <a + id="x1-7400010.1.2"></a>2004</h5> +<!--l. 3106--><p class="noindent" >2004 a apporté beaucoup de changements (et quelques incompatibilités avec les versions précédentes)<span class="frenchb-nbsp"> </span>: + <ul class="itemize1"> + <li class="itemize">Si vous avez installé des fontes supplémentaires qui ont leur propre fichier <span +class="ec-lmtt-10">.map </span>ou des fichiers <span +class="ec-lmtt-10">.enc</span> + spécifiques, vous devrez vraisemblablement déplacer ces fichiers. + <!--l. 3115--><p class="noindent" >Les fichiers <span +class="ec-lmtt-10">.map </span>sont désormais recherchés uniquement dans les sous-répertoires <span class="path"><span +class="ec-lmtt-10">fonts/map</span></span> (dans + chaque arborescence <span class="path"><span +class="ec-lmtt-10">texmf</span></span>), leur chemin de recherche est donné par la variable <span +class="ec-lmtt-10">TEXFONTMAPS</span> + de <span class="path"><span +class="ec-lmtt-10">texmf.cnf</span></span>. De même, les fichiers <span +class="ec-lmtt-10">.enc </span>sont désormais recherchés uniquement dans les + sous-répertoires <span class="path"><span +class="ec-lmtt-10">fonts/enc</span></span>, leur chemin de recherche est donné par la variable <span +class="ec-lmtt-10">ENCFONTS </span>de + <span class="path"><span +class="ec-lmtt-10">texmf.cnf</span></span>. Le script <span +class="ec-lmss-10">updmap </span>devrait émettre des messages d’avertissement pour les fichiers <span +class="ec-lmtt-10">.map </span>et + <span +class="ec-lmtt-10">.enc </span>mal placés. + <!--l. 3125--><p class="noindent" >Sur les différentes façons de traiter le problème, consulter <a +href="http://tug.org/texlive/mapenc.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/mapenc.html</span></a>. + </li> + <li class="itemize">La distribution pour Windows a changé cette année<span class="frenchb-nbsp"> </span>: l’installation de la distribution fp<span class="TEX">T<span +class="E">E</span>X</span> (basée + sur Web2C) de Fabrice Popineau n’est plus proposée. À la place, vous pouvez tester et installer la + distribution pro<span class="TEX">T<span +class="E">E</span>X</span>t basée sur MiK<span class="TEX">T<span +class="E">E</span>X</span> (indépendante de Web2C), voir section <a +href="#x1-80002">2<!--tex4ht:ref: sec:overview-tl --></a>, page <a +href="#x1-80002">7<!--tex4ht:ref: sec:overview-tl --></a>. + </li> + <li class="itemize">L’ancien répertoire <span class="path"><span +class="ec-lmtt-10">texmf</span></span> a été éclaté en trois parties<span class="frenchb-nbsp"> </span>: <span class="path"><span +class="ec-lmtt-10">texmf</span></span>, <span class="path"><span +class="ec-lmtt-10">texmf-dist</span></span> et <span class="path"><span +class="ec-lmtt-10">texmf-doc</span></span>. Voir + section <a +href="#x1-100002.2">2.2<!--tex4ht:ref: sec:tld --></a>, page <a +href="#x1-100002.2">8<!--tex4ht:ref: sec:tld --></a>. + </li> + <li class="itemize">Tous les fichiers relatifs aux différents avatars + de <span class="TEX">T<span +class="E">E</span>X</span> sont désormais regroupés dans le même sous-répertoire <span class="path"><span +class="ec-lmtt-10">tex</span></span> des arborescences <span class="path"><span +class="ec-lmtt-10">texmf*</span></span> (ils + étaient jusqu’ici placés dans des sous-répertoires spécifiques <span class="path"><span +class="ec-lmtt-10">tex</span></span>, <span class="path"><span +class="ec-lmtt-10">etex</span></span>, <span class="path"><span +class="ec-lmtt-10">pdftex</span></span>, <span class="path"><span +class="ec-lmtt-10">pdfetex</span></span>, etc.). Voir + <a +href="../../../../texmf-dist/doc/generic/tds/tds.html#Extensions" ><span +class="ec-lmtt-10">texmf-dist/doc/generic/tds/tds.html#Extensions</span></a>. + </li> + <li class="itemize">Les scripts auxiliaires, normalement pas exécutés directement par les utilisateurs, sont regroupés + dans des sous-répertoires <span class="path"><span +class="ec-lmtt-10">scripts</span></span> des arborescences <span class="path"><span +class="ec-lmtt-10">texmf*</span></span>. On les localise grâce à la commande + <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">kpsewhich</span><span +class="ec-lmtt-10"> -format=texmfscripts</span></span></span>. Au cas où vous en auriez, les programmes utilisant ces scripts + nécessiteront une adaptation. Voir <a +href="../../../../texmf-dist/doc/generic/tds/tds.html#Scripts" ><span +class="ec-lmtt-10">texmf-dist/doc/generic/tds/tds.html#Scripts</span></a>. + </li> + <li class="itemize">La plupart des formats affichent en clair (dans les fichiers <span +class="ec-lmtt-10">.log </span>en particulier) les caractères + imprimables au lieu de les transcrire en notation hexadécimale <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">^^</span></span></span>. Ceci se fait grâce au fichier + <span class="path"><span +class="ec-lmtt-10">cp227.tcx</span></span>, qui considère comme imprimables les caractères 32 à 256, ainsi que les tabulations et les + changements de page (caractères 9 à 11). Les formats faisant exception sont plain <span class="TEX">T<span +class="E">E</span>X</span> (seuls les + + + caractères 32 à 127 sont déclarés imprimables), Con<span class="TEX">T<span +class="E">E</span>X</span>t (0 à 255 imprimables) et les formats basés + sur Omega. Il y a peu de différence avec le comportement de <span class="TEX">T<span +class="E">E</span>X</span> Live 2003 mais la mise en œuvre + est plus propre et plus facilement configurable. Voir <a +href="../../../../texmf/doc/web2c/web2c.html#TCX-files" >texmf/doc/web2c/web2c.html#TCX-files</a>. Noter + que l’utilisation du codage Unicode en entrée peut provoquer des affichages défectueux en sortie (TeX + code sur un seul octet). + </li> + <li class="itemize">Tous les formats, sauf plain <span class="TEX">T<span +class="E">E</span>X</span>, font appel au moteur <span +class="ec-lmss-10">pdfetex </span>(qui produit bien sûr par défaut des + fichiers DVI lorsque le format choisi est <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>). Ceci permet aux formats <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>, Con<span class="TEX">T<span +class="E">E</span>X</span>t, etc., + d’avoir accès aux fonctionnalités micro-typographiques de pdf<span class="TEX">T<span +class="E">E</span>X</span> (alignement optique des marges + par exemple) et aux fonctionnalités de e-<span class="TEX">T<span +class="E">E</span>X</span> (<a +href="../../../../texmf-dist/doc/etex/base/" >texmf-dist/doc/etex/base/</a>). + <!--l. 3175--><p class="noindent" >Ceci rend <span +class="ec-lmri-10">indispensable </span>le recours à l’extension <span +class="ec-lmss-10">ifpdf </span>(qui fonctionne aussi bien avec plain que <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>) + pour déterminer si le format de sortie est DVI ou PDF. Tester si la commande <span +class="ec-lmtt-10">\pdfoutput </span>est définie + ou non <span +class="ec-lmri-10">n’est pas </span>un moyen fiable de le faire. + </li> + <li class="itemize">pdf<span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://pdftex.org" class="url" ><span +class="ec-lmtt-10">http://pdftex.org</span></a>) offre de nouvelles fonctionnalités<span class="frenchb-nbsp"> </span>: + <ul class="itemize2"> + <li class="itemize">Les commandes <span +class="ec-lmtt-10">\pdfmapfile </span>et <span +class="ec-lmtt-10">\pdfmapline </span>permettent de spécifier le choix des fichiers <span +class="ec-lmtt-10">.map </span>à + utiliser pour le document en cours. + </li> + <li class="itemize">L’amélioration du gris typographique par + variation (infime) de la largeur des caractères (<span +class="ec-lmri-10">font expansion</span>) est plus facile à mettre en œuvre, + voir <a +href="http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html" class="url" ><span +class="ec-lmtt-10">http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html</span></a> + </li> + <li class="itemize">Le fichier <span class="path"><span +class="ec-lmtt-10">pdftex.cfg</span></span> n’est plus utilisé. Toutes les affectations de paramètres doivent désormais + être faites dans le préambule en utilisant les primitives ad hoc. + </li> + <li class="itemize">Pour plus d’informations, consulter le manuel de pdf<span class="TEX">T<span +class="E">E</span>X</span> <span class="frenchb-nbsp"> </span>: <a +href="../../../../texmf/doc/pdftex/manual" >texmf/doc/pdftex/manual</a>. + </li></ul> + </li> + <li class="itemize">La primitive <span +class="ec-lmtt-10">\input </span>de <span +class="ec-lmss-10">tex</span>, <span +class="ec-lmss-10">mf </span>et <span +class="ec-lmss-10">mpost</span>, accepte désormais les espaces et autres caractères + spéciaux dans les noms de fichiers à condition d’utiliser des <span +class="ec-lmri-10">double quotes</span>, en voici deux exemples + typiques<span class="frenchb-nbsp"> </span>: + + + <div class="verbatim" id="verbatim-7"> + <div class="fancyvrb" id="fancyvrb19"><a + id="x1-74002r1"></a>  \input "filename with spaces"   % plain<br class="fancyvrb" /><a + id="x1-74004r2"></a>  \input{"filename with spaces"}  % latex</div> +</div> + <!--l. 3210--><p class="nopar" >Consulter le manuel Web2C pour plus d’informations<span class="frenchb-nbsp"> </span>: <a +href="../../../../texmf/doc/web2c" >texmf/doc/web2c</a>. + </li> + <li class="itemize">Les fonctionnalités de enc<span class="TEX">T<span +class="E">E</span>X</span> sont désormais incluses dans Web2C. Ainsi, tous les formats + <span +class="ec-lmri-10">construits avec l’option </span><span +class="ec-lmtti-10">-enc </span>y ont accès. enc<span class="TEX">T<span +class="E">E</span>X</span> permet le transcodage en entrée et en sortie et + l’utilisation transparente du codage Unicode UTF-8. Voir <a +href="../../../../texmf-dist/doc/generic/enctex/" >texmf-dist/doc/generic/enctex/</a> et + <a +href="http://www.olsak.net/enctex.html" class="url" ><span +class="ec-lmtt-10">http://www.olsak.net/enctex.html</span></a>. + </li> + <li class="itemize">Un nouveau moteur combinant les fonctionnalités de e-<span class="TEX">T<span +class="E">E</span>X</span> et d’Omega, appelé Aleph, est disponible. + <a +href="../../../../texmf-dist/doc/aleph/base" >texmf-dist/doc/aleph/base</a> et <a +href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph" class="url" ><span +class="ec-lmtt-10">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph</span></a> fournissent une + information succincte. Le format <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> utilisant Aleph s’appelle <span +class="ec-lmss-10">lamed</span>. + </li> + <li class="itemize">La licence LPPL de <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> (version décembre 2003) a changé, elle est désormais compatible + avec les prescriptions Debian. Les autres changements sont décrits dans le fichier <span class="path"><span +class="ec-lmtt-10">ltnews</span></span>, voir + <a +href="../../../../texmf-dist/doc/latex/base" >texmf-dist/doc/latex/base</a>. + </li> + <li class="itemize">Un nouveau programme, <span +class="ec-lmss-10">dvipng</span>, qui convertit les fichiers DVI en images PNG a été ajouté. Voir + <a +href="../../../../texmf/doc/man/man1/dvipng.1" >texmf/doc/man/man1/dvipng.1</a>. + </li> + <li class="itemize">Nous avons dû réduire le nombre de fontes incluses dans l’extension <span +class="ec-lmss-10">cbgreek</span>, ceci a été fait avec l’accord et + l’aide de l’auteur (Claudio Beccari). Les fontes exclues (invisibles, transparentes, contours) sont rarement + utilisées et la place nous manquait. La collection complète des fontes <span +class="ec-lmss-10">cbgreek </span>est disponible sur CTAN + (<a +href="http://mirror.ctan.org/tex-archive/fonts/greek/cb" class="url" ><span +class="ec-lmtt-10">http://mirror.ctan.org/tex-archive/fonts/greek/cb</span></a>). + </li> + <li class="itemize">La commande <span +class="ec-lmss-10">oxdvi </span>a été supprimée, il suffit utiliser <span +class="ec-lmss-10">xdvi </span>à la place. + </li> + <li class="itemize">Les commandes <span +class="ec-lmss-10">initex</span>, <span +class="ec-lmss-10">virtex </span>et leurs homologues pour <span +class="ec-lmss-10">mf </span>et <span +class="ec-lmss-10">mpost </span>ont disparu. Vous pouvez les recréer si + nécessaire mais elles sont avantageusement remplacées, depuis des années maintenant, par l’option <span +class="ec-lmtt-10">-ini </span>(<span +class="ec-lmss-10">tex</span> + <span +class="ec-lmtt-10">-ini </span>pour <span +class="ec-lmss-10">initex </span>et <span +class="ec-lmss-10">virtex</span>). + </li> + <li class="itemize">Les binaires pour l’architecture <span +class="ec-lmss-10">i386-openbsd </span>ont été supprimés par manque de volontaires pour les + compiler. + <!--l. 3254--><p class="noindent" >Sur <span +class="ec-lmss-10">sparc-solaris </span>(au moins) il sera probablement nécessaire de positionner la variable d’environnement + <span +class="ec-lmtt-10">LD_LIBRARY_PATH </span>pour utiliser les programmes de la famille <span +class="ec-lmss-10">t1utils</span>. Ceci vient du fait qu’ils sont compilés en + C++ et que l’emplacement des bibliothèques dynamiques est variable. Ce n’est pas une nouveauté 2004 + mais ce point n’était pas documenté précédemment. De même, sur <span +class="ec-lmss-10">mips-irix</span>, les bibliothèques dynamiques + MIPSpro 7.4 sont nécessaires. + </li></ul> +<!--l. 3265--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">10.1.3 </span> <a + id="x1-7500010.1.3"></a>2005</h5> +<!--l. 3267--><p class="noindent" >2005 a apporté son lot habituel d’innombrables mises à jour d’extensions et de programmes. L’infrastructure +est restée relativement stable par rapport à 2004, à quelques changements inévitables près<span class="frenchb-nbsp"> </span>: + <ul class="itemize1"> + <li class="itemize">Trois nouveaux scripts <span +class="ec-lmss-10">texconfig-sys</span>, <span +class="ec-lmss-10">updmap-sys </span>et <span +class="ec-lmss-10">fmtutil-sys </span>ont été introduits<span class="frenchb-thinspace"> </span>; ils agissent sur + la configuration générale de la machine, comme le faisaient les scripts <span +class="ec-lmss-10">texconfig</span>, <span +class="ec-lmss-10">updmap </span>et <span +class="ec-lmss-10">fmtutil</span> + jusqu’à l’an dernier. Les nouveaux scripts <span +class="ec-lmss-10">texconfig</span>, <span +class="ec-lmss-10">updmap </span>et <span +class="ec-lmss-10">fmtutil </span>modifient maintenant la + configuration <span +class="ec-lmri-10">personnelle </span>de l’utilisateur qui les lance<span class="frenchb-thinspace"> </span>; le résultat est placé dans le répertoire personnel + de l’utilisateur (sous <span class="path"><span +class="ec-lmtt-10">$HOME/.texlive2005</span></span>). + </li> + <li class="itemize">De nouvelles variables, <span +class="ec-lmtt-10">TEXMFCONFIG </span>(resp. <span +class="ec-lmtt-10">TEXMFSYSCONFIG</span>) ont été introduites<span class="frenchb-thinspace"> </span>; elles définissent les + répertoires où doivent se trouver les fichiers de configuration de l’utilisateur (resp. de la machine), + comme <span class="path"><span +class="ec-lmtt-10">fmtutil.cnf</span></span> et <span class="path"><span +class="ec-lmtt-10">updmap.cfg</span></span>. Les utilisateurs de fichiers de configuration locaux <span class="path"><span +class="ec-lmtt-10">fmtutil.cnf</span></span> + ou <span class="path"><span +class="ec-lmtt-10">updmap.cfg</span></span> devront probablement les déplacer<span class="frenchb-thinspace"> </span>; une autre possibilité est de modifier la définition + des variables <span +class="ec-lmtt-10">TEXMFCONFIG </span>ou <span +class="ec-lmtt-10">TEXMFSYSCONFIG </span>dans <span class="path"><span +class="ec-lmtt-10">texmf.cnf</span></span>. L’important est de s’assurer de la + + + cohérence entre les définitions de ces variables dans <span class="path"><span +class="ec-lmtt-10">texmf.cnf</span></span> et l’emplacement réel de ces fichiers. + Voir section <a +href="#x1-110002.3">2.3<!--tex4ht:ref: sec:texmftrees --></a>, page <a +href="#x1-110002.3">9<!--tex4ht:ref: sec:texmftrees --></a> pour la description des différentes arborescences texmf utilisées. + </li> + <li class="itemize">L’an dernier nous avions rendu « <span +class="ec-lmtt-10">undefined </span>» certaines primitives propres à <span +class="ec-lmss-10">pdftex </span>(comme + <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">\pdfoutput</span></span></span>) dans les formats créés à partir de <span +class="ec-lmss-10">pdfetex </span>(<span +class="ec-lmss-10">latex amstex</span>, <span +class="ec-lmss-10">context </span>par exemple)). C’était + à titre transitoire, aussi cette année, ces primitives sont de nouveau définies dans tous les formats à + base <span +class="ec-lmss-10">pdf(e)tex</span>, <span +class="ec-lmri-10">m</span><span +class="ec-lmri-10">ême lorsqu’ils sont utilis</span><span +class="ec-lmri-10">és pour produire des fichiers </span><span +class="ec-lmtti-10">.dvi</span>. Ceci implique qu’il vous + faudra modifier vos documents qui utilisent le test <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">\ifx\pdfoutput\undefined</span></span></span> pour déterminer si + la sortie est en DVI ou en PDF. Le mieux est d’utiliser l’extension <span +class="ec-lmss-10">ifpdf.sty </span>et son test <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">\ifpdf</span></span></span> qui + fonctionne même en plain <span class="TEX">T<span +class="E">E</span>X</span>. + </li> + <li class="itemize">L’an dernier nous avions fait en sorte que la plupart des formats impriment dans les sorties <span +class="ec-lmtt-10">.log </span>des + caractères 8 bits lisibles à la place des notations hexadécimales <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">^^</span></span></span> (voir section précédente). Le nouveau + fichier TCX <span class="path"><span +class="ec-lmtt-10">empty.tcx</span></span> permet de revenir facilement à la notation traditionnelle <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">^^</span></span></span>, il suffit de + coder<span class="frenchb-nbsp"> </span>: + + + <div class="verbatim" id="verbatim-8"> + <div class="fancyvrb" id="fancyvrb20"><a + id="x1-75002r1"></a>  latex --translate-file=empty.tcx fichier.tex</div> +</div> + <!--l. 3319--><p class="nopar" > + </li> + <li class="itemize">Le nouveau programme <span +class="ec-lmss-10">dvipdfmx </span>est disponible pour convertir des fichier DVI en PDF<span class="frenchb-thinspace"> </span>; ce programme + remplace <span +class="ec-lmss-10">dvipdfm</span>, toujours disponible mais dont l’usage est maintenant déconseillé. + </li> + <li class="itemize">Les variables <span +class="ec-lmtt-10">HOMETEXMF </span>et <span +class="ec-lmtt-10">VARTEXMF </span>ont été renommées en <span +class="ec-lmtt-10">TEXMFHOME </span>et <span +class="ec-lmtt-10">TEXMFSYSVAR </span>respectivement + pour raisons de cohérence avec les autres noms de variables. Il y a aussi <span +class="ec-lmtt-10">TEXMFVAR </span>qui désigne maintenant + un répertoire personnel de l’utilisateur (cf. le premier point de la présente liste). + </li></ul> +<!--l. 3333--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">10.1.4 </span> <a + id="x1-7600010.1.4"></a>2006–2007</h5> +<!--l. 3335--><p class="noindent" >En 2006–2007, la nouveauté majeure a été l’arrivée dans <span class="TEX">T<span +class="E">E</span>X</span> Live de Xe<span class="TEX">T<span +class="E">E</span>X</span> disponible sous forme de deux +programmes <span +class="ec-lmtt-10">xetex </span>et <span +class="ec-lmtt-10">xelatex</span>, voir <a +href="http://scripts.sil.org/xetex" class="url" ><span +class="ec-lmtt-10">http://scripts.sil.org/xetex</span></a>. +<!--l. 3339--><p class="noindent" >MetaPost a subi une mise à jour importante et d’autres améliorations sont prévues, voir +<a +href="http://tug.org/metapost/articles" class="url" ><span +class="ec-lmtt-10">http://tug.org/metapost/articles</span></a>. Il en va de même pour pdf<span class="TEX">T<span +class="E">E</span>X</span>, voir <a +href="http://tug.org/applications/pdftex" class="url" ><span +class="ec-lmtt-10">http://tug.org/applications/pdftex</span></a>. +<!--l. 3343--><p class="noindent" >Le format <span class="path"><span +class="ec-lmtt-10">tex.fmt</span></span> et les formats pour MetaPost and Metafont ne se trouvent plus dans <span class="path"><span +class="ec-lmtt-10">texmf/web2c</span></span> mais +dans des sous-répertoires de <span class="path"><span +class="ec-lmtt-10">texmf/web2c</span></span> (la recherche de fichiers <span class="path"><span +class="ec-lmtt-10">.fmt</span></span> est néanmoins faite aussi dans +<span class="path"><span +class="ec-lmtt-10">texmf/web2c</span></span>). Ces sous-répertoires portent le nom du moteur utilisé pour construire le format, +par exemple <span class="path"><span +class="ec-lmtt-10">tex</span></span>, <span class="path"><span +class="ec-lmtt-10">pdftex</span></span> ou <span class="path"><span +class="ec-lmtt-10">xetex</span></span>. Ce changement ne devrait pas avoir d’effet visible pour les +utilisateurs. +<!--l. 3352--><p class="noindent" >Le programme (plain) <span +class="ec-lmtt-10">tex </span>ignore désormais les lignes commençant par <span +class="ec-lmtt-10">%& </span>qui permettent de déterminer le +format à utiliser<span class="frenchb-thinspace"> </span>; c’est un vrai <span class="TEX">T<span +class="E">E</span>X</span> « à la Knuth »<span class="frenchb-thinspace"> </span>! <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> et tous les autres prennent toujours en compte les +lignes commençant par <span +class="ec-lmtt-10">%&</span>. +<!--l. 3358--><p class="noindent" >Comme chaque année des centaines d’extensions et de programmes ont été mis à jour, voir les sites CTAN +(<a +href="http://mirror.ctan.org" class="url" ><span +class="ec-lmtt-10">http://mirror.ctan.org</span></a>). +<!--l. 3361--><p class="noindent" >L’arborescence utilisée en interne a été réorganisée avec de nouveaux outils qui devraient fournir une meilleure +base de travail pour les développements futurs. +<!--l. 3365--><p class="noindent" >Enfin, en mai 2006 Thomas Esser a annoncé qu’il renonçait à poursuivre le développement de te<span class="TEX">T<span +class="E">E</span>X</span> +(<a +href="http://tug.org/tetex" class="url" ><span +class="ec-lmtt-10">http://tug.org/tetex</span></a>). Sa décision a relancé l’intérêt pour <span class="TEX">T<span +class="E">E</span>X</span> Live, en particulier chez les distributeurs +de solutions GNU/Linux (un nouveau schéma d’installation <span +class="ec-lmtt-10">tetex </span>a été ajouté dans le script d’installation de +<span class="TEX">T<span +class="E">E</span>X</span> Live pour produire une distribution proche de l’ancienne te<span class="TEX">T<span +class="E">E</span>X</span>). La distribution <span class="TEX">T<span +class="E">E</span>X</span> Live existe déjà +sous forme de paquets Debian, espérons que les autres acteurs du monde Linux (RedHat, SuSe, etc.) suivront +et que les utilisateurs se verront proposer à l’avenir des distributions <span class="TEX">T<span +class="E">E</span>X</span> riches et plus faciles à +installer. +<!--l. 3375--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">10.1.5 </span> <a + id="x1-7700010.1.5"></a>2008</h5> +<!--l. 3377--><p class="noindent" >En 2008, l’infrastructure de la distribution <span class="TEX">T<span +class="E">E</span>X</span> Live a été entièrement remaniée. Un nouveau fichier texte, +<span class="path"><span +class="ec-lmtt-10">tlpkg/texlive.tlpdb</span></span>, regroupe toutes les informations concernant la configuration <span class="TEX">T<span +class="E">E</span>X</span> Live de la +machine. +<!--l. 3381--><p class="noindent" >Ce fichier permet entre autres choses de procéder à des mises à jour par le réseau après l’installation initiale. +Cette possibilité était offerte depuis des années par MiK<span class="TEX">T<span +class="E">E</span>X</span>. Nous espérons pouvoir fournir des mises à jour +régulières du contenu des archives CTAN. +<!--l. 3386--><p class="noindent" >Le nouveau moteur Lua<span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://luatex.org" class="url" ><span +class="ec-lmtt-10">http://luatex.org</span></a>) a été intégré<span class="frenchb-thinspace"> </span>; il offre de nouvelles fonctionnalités +typographiques et repose sur l’excellent langage de commande Lua qui peut aussi être utilisé en dehors de +<span class="TEX">T<span +class="E">E</span>X</span>. +<!--l. 3391--><p class="noindent" >Les versions Windows et Unix sont beaucoup plus proches que par le passé. En particulier les scripts en Perl et +en Lua sont communs aux deux architectures. +<!--l. 3395--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Live dispose d’une nouvelle interface pour la maintenance (<span +class="ec-lmss-10">tlmgr </span>voir section <a +href="#x1-450006">6<!--tex4ht:ref: sec:tlmgr --></a>), elle permet les ajouts, + + +mises à jour et suppressions de composants et prend en charge la régénération des bases <span +class="ec-lmtt-10">ls-R</span>, des formats et +des fichiers <span class="path"><span +class="ec-lmtt-10">.map</span></span> lorsque c’est nécessaire. +<!--l. 3401--><p class="noindent" >Les fonctionnalités de <span +class="ec-lmss-10">tlmgr </span>englobent toutes les tâches dévolues auparavant à <span +class="ec-lmss-10">texconfig </span>qui ne devrait plus +être utilisé (il est conservé mais avec un champ d’action réduit). +<!--l. 3405--><p class="noindent" >Le programme d’indexation <span +class="ec-lmss-10">xindy </span>(<a +href="http://xindy.sourceforge.net/" class="url" ><span +class="ec-lmtt-10">http://xindy.sourceforge.net/</span></a>) est maintenant disponible pour la +plupart des plates-formes. +<!--l. 3408--><p class="noindent" >L’utilitaire <span +class="ec-lmss-10">kpsewhich </span>dispose de deux options nouvelles<span class="frenchb-nbsp"> </span>: <span +class="ec-lmtt-10">–all </span>qui retourne toutes les occurrences du fichier +recherché et <span +class="ec-lmtt-10">–subdir </span>qui limite la recherche à un sous-répertoire donné. +<!--l. 3412--><p class="noindent" >Le programme <span +class="ec-lmss-10">dvipdfmx </span>permet maintenant d’extraire les informations concernant la <span +class="ec-lmri-10">bounding box </span>par le biais +de la commande <span +class="ec-lmss-10">extractbb</span><span class="frenchb-thinspace"> </span>; c’était une des dernières fonctionnalités de <span +class="ec-lmss-10">dvipdfm </span>qui manquaient à +<span +class="ec-lmss-10">dvipdfmx</span>. +<!--l. 3417--><p class="noindent" >Les alias de polices <span class="path"><span +class="ec-lmtt-10">Times-Roman</span></span>, <span class="path"><span +class="ec-lmtt-10">Helvetica</span></span>, etc. ont été supprimés, les conflits de codage qu’ils induisaient +n’ayant pas pu être résolus. +<!--l. 3421--><p class="noindent" >Le format <span +class="ec-lmss-10">platex </span>a été supprimé afin de résoudre un conflit de nom avec son homonyme japonais<span class="frenchb-thinspace"> </span>; le support +pour le polonais est assuré maintenant par l’extension <span +class="ec-lmss-10">polski</span>. +<!--l. 3425--><p class="noindent" >Les fichiers <span +class="ec-lmtt-10">WEB </span>d’extension <span class="path"><span +class="ec-lmtt-10">.pool</span></span> sont maintenant inclus dans les binaires afin de faciliter les mises à +jour. +<!--l. 3428--><p class="noindent" >Enfin, les changements décrits par Donald Knuth dans « <span class="TEX">T<span +class="E">E</span>X</span> tuneup of 2008 » (voir +<a +href="http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf" class="url" ><span +class="ec-lmtt-10">http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf</span></a>) sont inclus dans la présente édition. +<!--l. 3432--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">10.1.6 </span> <a + id="x1-7800010.1.6"></a>2009</h5> +<!--l. 3435--><p class="noindent" >En 2009, le format de sortie par défaut de Lua(L<span +class="ec-lmr-7">A</span> )<span class="TEX">T<span +class="E">E</span>X</span> est maintenant le PDF afin de profiter de la prise en +charge des polices OpenType et autres fonctionnalités de Lua<span class="TEX">T<span +class="E">E</span>X</span>. De nouveaux exécutables +nommés <span +class="ec-lmtt-10">dviluatex </span>et <span +class="ec-lmtt-10">dvilualatex </span>fournissent une sortie DVI. La page d’accueil de Lua<span class="TEX">T<span +class="E">E</span>X</span> est +<a +href="http://luatex.org" class="url" ><span +class="ec-lmtt-10">http://luatex.org</span></a>. +<!--l. 3441--><p class="noindent" >Le moteur Omega ainsi que le format Lambda ont été retirés, après discussion avec les auteurs +d’Omega. Les versions à jour d’Aleph et de Lamed ont été conservées, ainsi que les utilitaires +Omega. +<!--l. 3445--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Live fournit la nouvelle version des polices Type 1 de l’AMS, y compris Computer Modern<span class="frenchb-nbsp"> </span>: les +quelques changements de formes faits au cours des ans par Knuth dans les sources Metafont ont +été intégrés, et le <span +class="ec-lmri-10">hinting </span>a été amélioré. Les polices Euler ont été en grande partie redessinées +par Hermann Zapf (voir <a +href="http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf" class="url" ><span +class="ec-lmtt-10">http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf</span></a>). +Dans tous les cas, les métriques n’ont pas changé. La page d’accueil des polices de l’AMS est +<a +href="http://www.ams.org/tex/amsfonts.html" class="url" ><span +class="ec-lmtt-10">http://www.ams.org/tex/amsfonts.html</span></a>. +<!--l. 3453--><p class="noindent" >Le nouvel éditeur intégré <span class="TEX">T<span +class="E">E</span>X</span>works est fourni pour Windows, ainsi que dans Mac<span class="TEX">T<span +class="E">E</span>X</span>. Pour les autres +plate-formes, ainsi que d’autres informations, voir la page de <span class="TEX">T<span +class="E">E</span>X</span>works<span class="frenchb-nbsp"> </span>: <a +href="http://tug.org/texworks" class="url" ><span +class="ec-lmtt-10">http://tug.org/texworks</span></a>. Cet +éditeur fonctionnant sur de nombreuses plate-formes, inspiré par l’éditeur <span class="TEX">T<span +class="E">E</span>X</span>shop de Mac OS X, vise à +faciliter l’utilisation de <span class="TEX">T<span +class="E">E</span>X</span>. +<!--l. 3459--><p class="noindent" >Le programme de création de graphiques Asymptote est fourni pour plusieurs plate-formes. Il +fournit un langage de description de graphiques en mode texte plus ou moins du même genre +que MetaPost, mais avec, entre autres, des fonctionnalités 3D avancées. Sa page d’accueil est +<a +href="http://asymptote.sourceforge.net" class="url" ><span +class="ec-lmtt-10">http://asymptote.sourceforge.net</span></a>. +<!--l. 3465--><p class="noindent" >Le programme <span +class="ec-lmtt-10">dvipdfm </span>séparé a été remplacé par <span +class="ec-lmtt-10">dvipdfmx </span>qui, lorsqu’il est appelé par ce nom, travaille +dans un mode de compatibilité spécifique. Le programme <span +class="ec-lmtt-10">dvipdfmx </span>fournit des fonctionnalités pour les +écritures CJK et inclut de nombreux correctifs accumulés au fil des ans depuis la dernière sortie de <span +class="ec-lmtt-10">dvipdfm</span>. +Sa page d’accueil est <a +href="http://project.ktug.or.kr/dvipdfmx" class="url" ><span +class="ec-lmtt-10">http://project.ktug.or.kr/dvipdfmx</span></a>. +<!--l. 3472--><p class="noindent" >Des exécutables pour les plate-formes <span +class="ec-lmss-10">cygwin </span>et <span +class="ec-lmss-10">i386-netbsd </span>sont maintenant fournis, tandis que les +autres distributions BSD ont été abandonnées<span class="frenchb-thinspace"> </span>; nous avons entendu dire que OpenBSD et FreeBSD +fournissent <span class="TEX">T<span +class="E">E</span>X</span> via leurs propres systèmes de gestion de paquets, et par ailleurs il était difficile +sur ces plate-formes de fabriquer des binaires qui aient une chance de fonctionner sur plus d’une +version. +<!--l. 3479--><p class="noindent" >Quelques autres changements en vrac<span class="frenchb-nbsp"> </span>: nous utilisons maintenant <span +class="ec-lmss-10">xz</span>, qui remplace <span +class="ec-lmss-10">lzma </span>(<a +href="http://tukaani.org/xz/" class="url" ><span +class="ec-lmtt-10">http://tukaani.org/xz/</span></a>), +pour comprimer nos archives<span class="frenchb-thinspace"> </span>; un <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">$</span></span></span>littéral est autorisé dans les noms de fichiers s’il n’est pas suivi + + +du nom d’une variable connue<span class="frenchb-thinspace"> </span>; la bibliothèque Kpathsea est maintenant multi-threadée (ce qui +sert dans MetaPost)<span class="frenchb-thinspace"> </span>; le processus complet de compilation de <span class="TEX">T<span +class="E">E</span>X</span> Live est maintenant basé sur +Automake. +<!--l. 3487--><p class="noindent" >Remarque finale concernant le passé<span class="frenchb-nbsp"> </span>: toutes les anciennes distributions <span class="TEX">T<span +class="E">E</span>X</span> Live ainsi que les jaquettes des +CD correspondants sont disponibles ici<span class="frenchb-nbsp"> </span>: <a +href="ftp://tug.org/historic/systems/texlive" class="url" ><span +class="ec-lmtt-10">ftp://tug.org/historic/systems/texlive</span></a>. +<!--l. 3492--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">10.1.7 </span> <a + id="x1-7900010.1.7"></a>2010</h5> +<!--l. 3495--><p class="noindent" >En 2010, les PDF générés utilisent par défaut la version 1.5 du format PDF, ce qui permet une plus grande +compression. Ceci concerne tous les moteurs <span class="TEX">T<span +class="E">E</span>X</span> produisant directement du PDF, ainsi qu’à <span +class="ec-lmtt-10">dvipdfmx</span>. Pour +revenir au format PDF 1.4, vous pouvez charger le paquet <span +class="ec-lmss-10">pdf14 </span>sous <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>, ou régler manuellement +<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">\pdfminorversion=4</span></span></span> (sous pdf<span class="TEX">T<span +class="E">E</span>X</span>). +<!--l. 3501--><p class="noindent" >pdf(L<span +class="ec-lmr-7">A</span> )<span class="TEX">T<span +class="E">E</span>X</span> convertit maintenant <span +class="ec-lmri-10">automatiquement </span>les fichiers EPS utilisés au format PDF, en utilisant le +paquet <span +class="ec-lmss-10">epstopdf</span>, dans tous les cas où le fichier de configuration <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> <span +class="ec-lmtt-10">graphics.cfg </span>est chargé, et que le +format de sortie est le PDF. Les options par défaut sont choisies pour éviter autant que possible tout risque +d’écrasement d’un fichier PDF créé manuellement, mais vous pouvez aussi empêcher le chargement d’<span +class="ec-lmss-10">epstopdf</span> +en plaçant <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">\newcommand{\DoNotLoadEpstopdf}{}</span></span></span> (ou <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">\def...</span></span></span> avant la déclaration <span +class="ec-lmtt-10">\documentclass</span>. Le +paquet n’est pas chargé non plus si <span +class="ec-lmss-10">pst-pdf </span>est utilisé. Pour plus de détails, reportez-vous à la documentation +du paquet <span +class="ec-lmss-10">epstopdf </span>(<a +href="http://ctan.org/pkg/epstopdf-pkg" class="url" ><span +class="ec-lmtt-10">http://ctan.org/pkg/epstopdf-pkg</span></a>). +<!--l. 3513--><p class="noindent" >Un autre changement, relié au précédent, est que l’exécution d’un tout petit nombre de commandes externes +depuis <span class="TEX">T<span +class="E">E</span>X</span> (avec le commande <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">\write18</span></span></span>) est désormais autorisée par défaut. Ces commandes sont +<span +class="ec-lmtt-10">repstopdf</span>, <span +class="ec-lmtt-10">makeindex</span>, <span +class="ec-lmtt-10">kpsewhich</span>, <span +class="ec-lmtt-10">bibtex</span>, et <span +class="ec-lmtt-10">bibtex8</span><span class="frenchb-thinspace"> </span>; cette liste est définie dans <span +class="ec-lmtt-10">texmf.cnf</span>. Si vous +souhaitez désactiver cette fonctionnalité, vous pouvez désélectionner cette option à l’installation +(section <a +href="#x1-280003.2.4">3.2.4<!--tex4ht:ref: sec:options --></a>), ou modifier la valeur après installation en exécutant <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">tlmgr</span><span +class="ec-lmtt-10"> conf</span><span +class="ec-lmtt-10"> texmf</span><span +class="ec-lmtt-10"> shell_escape</span><span +class="ec-lmtt-10"> 0</span></span></span>. +<!--l. 3522--><p class="noindent" >Un autre changement est encore relié aux deux derniers<span class="frenchb-nbsp"> </span>: BibTeX et Makindex refusent désormais par défaut +d’écrire leur fichier de sortie dans n’importe quel répertoire (ce que <span class="TEX">T<span +class="E">E</span>X</span> refusait déjà). Ceci a pour but de +permettre leur inclusion dans la liste ci-dessus. Pour modifier ce comportement, vous pouvez utiliser la variable +d’environnement <span +class="ec-lmtt-10">TEXMFOUTPUT</span>, ou modifier la valeur de <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">openout_any</span></span></span>. +<!--l. 3529--><p class="noindent" >Xe<span class="TEX">T<span +class="E">E</span>X</span> offre désormais un ajustement optique des marges similaire à celui de pdf<span class="TEX">T<span +class="E">E</span>X</span>. (La dilatation des +fontes n’est pas contre pas disponible actuellement.) +<!--l. 3533--><p class="noindent" >Par défaut, <span +class="ec-lmss-10">tlmgr </span>garde maintenant une copie de sauvegarde de tous les paquets mis à jour (<span +class="ec-lmtt-10">tlmgr</span> +<span +class="ec-lmtt-10">option autobackup 1</span>) pour permettre de revenir facilement à l’ancienne version au cas où la +nouvelle soit cassée, en utilisant <span +class="ec-lmtt-10">tlmgr restore</span>. Si vous faites des mises à jour après l’installation, +et n’avez pas la place de garder ces copies de sauvegarde, exécutez <span +class="ec-lmtt-10">tlmgr option autobackup</span> +<span +class="ec-lmtt-10">0</span>. +<!--l. 3540--><p class="noindent" >De nouveaux programmes sont inclus<span class="frenchb-nbsp"> </span>: le moteur p<span class="TEX">T<span +class="E">E</span>X</span> et les utilitaires reliés pour la composition du +japonais<span class="frenchb-thinspace"> </span>; le programme BibTeXU qui est une version de BibTeX gérant Unicode<span class="frenchb-thinspace"> </span>; l’utilitaire <span +class="ec-lmss-10">chktex</span> +(<a +href="http://baruch.ev-en.org/proj/chktex" class="url" ><span +class="ec-lmtt-10">http://baruch.ev-en.org/proj/chktex</span></a>) pour vérifier les documents (L<span +class="ec-lmr-7">A</span> )<span class="TEX">T<span +class="E">E</span>X</span><span class="frenchb-thinspace"> </span>; le programme de conversion +DVI vers SVG <span +class="ec-lmss-10">dvisvgm </span>(<a +href="http://dvisvgm.sourceforge.net" class="url" ><span +class="ec-lmtt-10">http://dvisvgm.sourceforge.net</span></a>). +<!--l. 3547--><p class="noindent" >Nous fournissons des exécutables pour les nouvelles plate-formes suivantes<span class="frenchb-nbsp"> </span>: <span +class="ec-lmtt-10">amd64-freebsd</span>, <span +class="ec-lmtt-10">amd64-kfreebsd</span>, +<span +class="ec-lmtt-10">i386-freebsd</span>, <span +class="ec-lmtt-10">i386-kfreebsd</span>, <span +class="ec-lmtt-10">x86_64-darwin </span>et <span +class="ec-lmtt-10">x86_64-solaris</span>. +<!--l. 3551--><p class="noindent" >Un changement dans <span class="TEX">T<span +class="E">E</span>X</span> Live que nous avions oublié de noter<span class="frenchb-nbsp"> </span>: de nombreux exécutables relatifs à <span class="TEX">T<span +class="E">E</span>X</span>4ht +ont été retirés de la liste des exécutables. La commande générique <span +class="ec-lmtt-10">mk4ht </span>permet de lancer les nombreuses +variantes de <span +class="ec-lmtt-10">tex4ht</span>. +<!--l. 3556--><p class="noindent" >Enfin, <span class="TEX">T<span +class="E">E</span>X</span> Live telle qu’elle est présentée dans le DVD <span class="TEX">T<span +class="E">E</span>X</span> Collection ne peut plus être exécutée de façon +portable (en <span +class="ec-lmri-10">live</span>) — contrairement à ce qu’indique le nom. Il n’y a désormais plus assez de place sur un seul +DVD. Un effet secondaire agréable de cette nouvelle disposition est que l’installation depuis un DVD physique +est maintenant être beaucoup plus rapide. +<!--l. 3562--><p class="noindent" > +<h5 class="subsubsectionHead"><span class="titlemark">10.1.8 </span> <a + id="x1-8000010.1.8"></a>2011</h5> +<!--l. 3564--><p class="noindent" >Les binaires pour Mac OS X (<span +class="ec-lmtt-10">universal-darwin </span>et <span +class="ec-lmtt-10">x86_64-darwin</span>) ne fonctionnent désormais que sous +Leopard ou une version ultérieure<span class="frenchb-thinspace"> </span>; Panther et Tiger ne sont plus supportés. + + +<!--l. 3568--><p class="noindent" >Le programme <span +class="ec-lmtt-10">biber </span>pour le traitement des bibliographies est inclus pour les plateformes les plus courantes. +Son développement suit de près celui du paquet <span +class="ec-lmtt-10">biblatex </span>qui réimplémente totalement la gestion des +bibliographies sous <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>. +<!--l. 3573--><p class="noindent" >Le programme MetaPost (<span +class="ec-lmtt-10">mpost</span>) ne crée plus et n’utilise plus de fichiers <span +class="ec-lmtt-10">.mem</span>. Les fichiers utiles, comme +<span +class="ec-lmtt-10">plain.mp</span>, sont simplement traités à chaque exécution. Ceci est relié au support de MetaPost +en tant que bibliothèque, qui est un autre changement important bien que peu visible par les +utilisateurs. +<!--l. 3579--><p class="noindent" >L’implémentation en Perl de <span +class="ec-lmtt-10">updmap</span>, qui n’était utilisée que sous Windows, a été remaniée et est désormais +utilisée sur toutes les plateformes. Il ne devrait pas y avoir de changement visible par les utilisateurs, mis à par +une exécution bien plus rapide. +<!--l. 3585--><p class="noindent" ><a id="news"></a> +<h4 class="subsectionHead"><span class="titlemark">10.2 </span> <a + id="x1-8100010.2"></a>Version présente</h4> +<!--l. 3589--><p class="noindent" ><span +class="ec-lmtt-10">tlmgr </span>permet d’utiliser plusieurs dépôts de paquets simultanément pour les mises à jour. Pour plus de +détails, consulter la section sur les dépôts multiples dans l’aide de <span +class="ec-lmtt-10">tlmgr </span>(utiliser <span +class="ec-lmtt-10">tlmgr help </span>par +exemple). +<!--l. 3594--><p class="noindent" >Le paramètre <span +class="ec-lmtt-10">\XeTeXdashbreakstate </span>est réglé à 1 par défaut, pour <span +class="ec-lmtt-10">xetex </span>et <span +class="ec-lmtt-10">xelatex</span>. Ceci autorise les +coupures de lignes après les tirets quadratins et demi-quadratins, ce qui a toujours été le comportement de +<span class="TEX">T<span +class="E">E</span>X</span>, <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>, Lua<span class="TEX">T<span +class="E">E</span>X</span>, etc. Si des documents Xe<span class="TEX">T<span +class="E">E</span>X</span> existants doivent conserver une parfaite +compatibilité au niveau des coupures de lignes, il devront mettre <span +class="ec-lmtt-10">\XeTeXdashbreakstate </span>à 0 +explicitement. +<!--l. 3601--><p class="noindent" >Les fichiers de sortie générés par <span +class="ec-lmtt-10">pdftex </span>et <span +class="ec-lmtt-10">dvips</span>, entre autres, peuvent maintenant dépasser les +2 Go. +<!--l. 3604--><p class="noindent" >Les 35 polices Postscript standard sont incluses par défaut dans la sortie de <span +class="ec-lmtt-10">dvips</span>, car il y en a trop de +versions différentes dans la nature. +<!--l. 3607--><p class="noindent" >Dans le mode d’éxécution par <span +class="ec-lmtt-10">\write18 </span>limité (le mode par défaut), la commande <span +class="ec-lmtt-10">mpost </span>est maintenant +autorisée. +<!--l. 3610--><p class="noindent" >Un fichier <span +class="ec-lmtt-10">texmf.cnf </span>placé dans <span class="path"><span +class="ec-lmtt-10">../texmf-local</span></span> (par exemple<span class="frenchb-nbsp"> </span>: <span class="path"><span +class="ec-lmtt-10">/usr/local/texlive/texmf-local/web2c/texmf.cnf</span></span>) +sera trouvé et utilisé s’il existe. +<!--l. 3614--><p class="noindent" >Le script <span +class="ec-lmtt-10">updmap </span>lit maintenant un fichier <span +class="ec-lmtt-10">updmap.cfg </span>par arborescence au lieu d’un seul fichier global. Ce +changement devrait être invisible à moins que vous n’ayez édité vos fichiers <span +class="ec-lmtt-10">updmap.cfg </span>directement. Voir la +sortie de <span +class="ec-lmtt-10">updmap –help </span>pour plus de détails. +<!--l. 3619--><p class="noindent" >Plate-formes<span class="frenchb-nbsp"> </span>: <span +class="ec-lmss-10">armel-linux </span>et <span +class="ec-lmss-10">mipsel-linux </span>ont été ajoutés<span class="frenchb-thinspace"> </span>; <span +class="ec-lmss-10">sparc-linux </span>et <span +class="ec-lmss-10">i386-netbsd </span>ne font plus partie de la +distribution principale, mais sont disponibles en tant que plate-formes complémentaires, ainsi que d’autres +plate-formes<span class="frenchb-nbsp"> </span>: <a +href="http://tug.org/texlive/custom-bin.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/custom-bin.html</span></a>. +<!--l. 3625--><p class="noindent" > +<h4 class="subsectionHead"><span class="titlemark">10.3 </span> <a + id="x1-8200010.3"></a>Versions futures</h4> +<!--l. 3627--><p class="noindent" ><span class="TEX"><span +class="ec-lmri-10">T</span><span +class="E"><span +class="ec-lmri-10">E</span></span><span +class="ec-lmri-10">X</span></span> <span +class="ec-lmri-10">Live n’est pas un produit parfait</span><span class="frenchb-thinspace"> </span><span +class="ec-lmri-10">! </span>(et ne le sera jamais). Nous prévoyons de continuer à produire de +nouvelles versions et aimerions fournir plus d’aide, de fonctionnalités, de programmes d’installation et (bien +sûr) une arborescence améliorée et vérifiée de macros et de fontes. Ce travail est effectué par des volontaires +sur leur temps libre, et il y a toujours plus à faire. Si vous pouvez nous aider, n’hésitez pas à nous contacter +(cf. <a +href="http://tug.org/texlive/contribute.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/contribute.html</span></a>). +<!--l. 3635--><p class="noindent" >Corrections, suggestions et propositions d’aide doivent être envoyées à<span class="frenchb-nbsp"> </span>: + <div class="quote"> + <!--l. 3637--><p class="noindent" ><a +href="mailto:tex-live@tug.org" ><span class="path"><span +class="ec-lmtt-10">tex-live@tug.org</span></span></a> <br +class="newline" /><a +href="http://tug.org/texlive" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive</span></a></div> +<!--l. 3642--><p class="noindent" ><span +class="ec-lmro-10">Bon travail avec </span><span class="TEX"><span +class="ec-lmro-10">T</span><span +class="E"><span +class="ec-lmro-10">E</span></span><span +class="ec-lmro-10">X</span></span><span class="frenchb-thinspace"> </span><span +class="ec-lmro-10">!</span> + + +<div class="footnotes"><p> +<a +href="#kt-1" id="tk-1"><span class="thank-mark"><span +class="lmsy-10">*</span></span></a>Précédentes versions françaises par Daniel Flipo, Éric Picheral, Jacques André, Fabrice Popineau et peut-être +d’autres avant eux — qu’ils en soient tous remerciés. Mes remerciements aussi aux aimables relecteurs<span class="frenchb-nbsp"> </span>: Arnaud +Schmittbuhl, Denis Bitouzé, Élie Roux, Hervé Vigier, Jean-Yves Beaudais, Laurent Méhats, tdc<span class="frenchb-thinspace"> </span>; je suis bien +sûr responsable des erreurs restantes. N’hésitez pas à me les signaler par mail à <a +href="mailto:mpg@elzevir.fr" >mpg@elzevir.fr</a><span class="frenchb-thinspace"> </span>! +</p> +<!--l. 170--><p class="noindent" ><span class="footnote-mark"><a +href="#fn1x0-bk" id="fn1x0">1.</a></span><span +class="ec-lmri-8">wizard mode </span><span +class="ec-lmr-8">en anglais</span> +<!--l. 1672--><p class="noindent" ><span class="footnote-mark"><a +href="#fn2x0-bk" id="fn2x0">2.</a></span><span +class="ec-lmr-8">Dans la description qui suit, le nom des boutons est celui de la version anglaise par souci de coh</span><span +class="ec-lmr-8">érence avec les figures.</span> +<span +class="ec-lmr-8">L’affichage se fait normalement dans la langue de l’utilisateur (variable </span><span +class="ec-lmtt-8">LANG </span><span +class="ec-lmr-8">sous Unix).</span> </div> + +</body></html> + + + + diff --git a/Master/texmf-dist/doc/texlive/texlive-fr/texlive-fr.pdf b/Master/texmf-dist/doc/texlive/texlive-fr/texlive-fr.pdf Binary files differnew file mode 100644 index 00000000000..c1abff07477 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-fr/texlive-fr.pdf diff --git a/Master/texmf-dist/doc/texlive/texlive-fr/texlive-fr.tex b/Master/texmf-dist/doc/texlive/texlive-fr/texlive-fr.tex new file mode 100644 index 00000000000..b37ad2475af --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-fr/texlive-fr.tex @@ -0,0 +1,3653 @@ +% $Id$ +% +% French translation of the TeX Live documentation. +% See ../texlive-en for original version. +% This translation is released under the terms of the WTFPL v2. +% +% Last update based on ../texlive-en/texlive-en.tex r26703 +% +% Change history (started May 18th 2002) +% 2009/09/21: synced with 2009 English version, by Manuel Pégourié-Gonnard +% 2008/07/26: synced with 2008 English version, by Daniel Flipo +% 2007/01/18: synced with 2007 English version, by Daniel Flipo +% 2005/11/01: synced with 2005 English version, by Daniel Flipo +% 2005/05/05: re-added section on building binaries (Daniel Flipo) +% 2004/10/28: synced with 2004 English version, by Daniel Flipo +% 2003/08/28: synced with 2003 English version, by Éric Picheral & Jacques André +% 2002/05/25: proof-reading and corrections, by Daniel Flipo +% 2002/05/18: synced with English version, by Fabrice + +\documentclass{article} + +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\let\tldocfrench=1 % pour live4ht.cfg (ou en fait inutilisé?) (mpg) + +\usepackage[english, frenchb]{babel} +\usepackage{xspace} +\frenchbsetup{AutoSpacePunctuation=false, og=«, fg=»} + +\usepackage{tex-live} + +% Francisation de tex-live.sty (df) +\renewcommand{\samp}[1]{\og \texttt{#1}\fg{}} +% (df) La commande \TeXLive n'est pas utilisée en v.f. +\renewcommand{\TL}{\TeX{} Live\xspace}% Robuste (pas besoin de \protect)... +\renewcommand{\TK}{\TeX{} Collection\xspace}% idem. +% tex-live.sty fait précéder les no de page d'une fine... +% en français, une insécable normale est préférable +\def\p.{page~} + +% correction du support pour tex4ht relatif à frenchb.ldf 2.3 ou supérieur +\ifnum\Status=2 % generating html + \makeatletter + \AtBeginDocument{\let\FDP@space\FDP@colonspace} + \makeatother +\fi + +% plus de macros (mpg) +\newcommand\eng[1]{\foreignlanguage{english}{\emph{#1}}} +\newcommand*\semail[1]{\href{mailto:#1}{#1}} + +\setlength{\parindent}{0mm} +\addtolength{\parskip}{.25\baselineskip} + +\begin{document} + +\title{% + {\huge\itshape Guide pratique de \TL \\\smallskip}% + {\LARGE\sffamily \TL 2012}% +} + +\author{ + Karl Berry, éditeur \\[3mm] + \url{http://tug.org/texlive/} \\[6mm] + \textit{Version française} \\[3mm] + Manuel Pégourié-Gonnard\thanks{% + Précédentes versions françaises par Daniel + Flipo, Éric Picheral, Jacques André, Fabrice Popineau et peut-être + d'autres avant eux --- qu'ils en soient tous remerciés. Mes remerciements + aussi aux aimables relecteurs : + Arnaud Schmittbuhl, + Denis Bitouzé, + Élie Roux, + Hervé Vigier, + Jean-Yves Beaudais, + Laurent Méhats, + tdc + ; je suis bien sûr responsable des erreurs restantes. N'hésitez pas à me + les signaler par mail à \semail{mpg@elzevir.fr} ! + } +} + +% relecteurs 2009 : +% Denis Bitouzé, +% Élie Roux, +% Hervé Vigier, +% Jean-Yves Beaudais, +% Laurent Méhats, +% tdc +% relecteurs 2010 : +% Denis Bitouzé, +% Hervé Vigier, +% Arnaud Schmittbuhl + +\date{Juin 2012} + +\maketitle + +\begin{multicols}{2} +\tableofcontents +\end{multicols} + +\section{Introduction} +\label{sec:intro} + +\subsection{\TeX\ Live et \TeX\ Collection} + +Ce document décrit les principales caractéristiques de la +distribution \TL{}, une distribution complète de \TeX{} +pour Linux et autres Unix, \MacOSX{} et systèmes Windows. + +Cette distribution peut être obtenue par téléchargement, sur le \DVD{} \TK{} +distribué par les groupes d'utilisateurs de \TeX{} à leurs membres, ou par +d'autres moyens. +La section \ref{sec:tl-coll-dists} décrit brièvement le contenu du \DVD. +\TL{} et \TK{} sont le fruit des efforts des groupes d'utilisateurs de +\TeX. La description qui suit porte essentiellement sur \TL. + +La distribution \TL comprend les binaires +pré-compilés de \TeX, \LaTeXe, \ConTeXt, \MF, \MP, \BibTeX{} et de nombreux +autres programmes ainsi qu'une bibliothèque étendue de macros, de +fontes et de documentations. Elle permet aussi la composition de textes +dans la plupart des langues utilisées dans le monde. + +On trouvera à la fin du document, section~\ref{sec:history} +(page~\pageref{sec:history}), un bref historique des principales modifications +apportées au fil du temps à la distribution \TL. + +Les utilisateurs des éditions précédentes de \TL{} sont invités à lire, +\emph{avant toute mise à jour}, la section~\ref{sec:tlcurrent} +page~\pageref{sec:tlcurrent} qui présente les principaux changements +intervenus cette année. + +\htmlanchor{platforms} +\subsection{Support des différents systèmes d'exploitation} +\label{sec:os-support} + +\TL{} contient les exécutables pour les principales architectures Unix, dont +\GNU/Linux, \MacOSX et Cygwin. Les sources inclus dans +la distribution devraient être compilables sur des plate-formes pour lesquelles +nous ne fournissons pas d'exécutables. + +Concernant Windows, \acro{XP} et les versions ultérieures sont supportés. +Windows~2000 devrait probablement fonctionner (en bonne partie). Il n'y a pas +d'exécutables spécifiques 64-bit pour Windows, mais les exécutables 32-bit +devraient fonctionner sur les systèmes 64-bit. + +Consulter la section~\ref{sec:tl-coll-dists} pour des solutions alternatives +sous Windows et \MacOSX. + +\subsection{Installation élémentaire de \TL{}} +\label{sec:basic} + +Vous pouvez installer \TL{} de deux façons différentes : soit depuis le \DVD, +soit depuis Internet (\url{http://tug.org/texlive/acquire.html}). +L'installateur réseau est petit et télécharge tout ce +qu'il faut depuis Internet. + +L'installateur du \DVD vous permet d'installer sur votre disque dur. Il n'est +plus possible de lancer \TL directement depuis le \DVD{} \TK{} (ou une image +\code{.iso}), mais vous pouvez créer une installation portable, par exemple +sur une clé \USB{} (voir section~\ref{sec:portable-tl}). + +La procédure d'installation est décrite en détail dans les sections suivantes +(\p.\pageref{sec:install}), mais voici de quoi commencer rapidement. + +\begin{itemize*} + +\item Le script d'installation s'appelle \filename{install-tl}. Il peut + fonctionner en mode « magique\footnote{\eng{wizard mode} en anglais} » avec + l'option \code{-gui=wizard} (c'est le mode par défaut sous Windows), en mode + texte avec l'option \code{-gui=text} (mode par défaut partout ailleurs), ou + en mode graphique expert avec \code{-gui=perltk}. + +\item Ce script installe en particulier le programme « \TL\ Manager » appelé + \prog{tlmgr}. Comme l'installeur, il peut être utilisé en mode graphique ou + en mode texte. Il permet d'ajouter ou de supprimer des composants et de + procéder à différents réglages de configuration. + +\end{itemize*} + +\htmlanchor{security} +\subsection{Remarques sur la sécurité} +\label{sec:security} + +À notre connaissance, les programmes \TeX{} de base en eux-mêmes sont (et ont +toujours été) extrêmement robustes. Cependant, d'autres programmes livrés avec +\TL{} ne le sont peut-être pas autant, bien que chacun fasse de son mieux. De +façon générale, il faut faire preuve de prudence avant de lancer des +programmes sur des données en lesquelles vous n'avez pas toute confiance. Pour +plus de sécurité, travaillez dans un nouveau répertoire créé à cet effet. + +Il convient d'être particulièrement vigilant sous Windows, qui en général +cherche les programmes dans le répertoire courant avant tout, quel que soit le +chemin de recherche défini. Nous avons comblé de nombreuses failles, mais il +en reste certainement d'autres, notamment avec les programmes maintenus +extérieurement. C'est pourquoi nous recommandons de vérifier s'il n'y a pas de +fichiers suspects dans le répertoire courant, en particulier les exécutables +(binaires ou scripts). En général, il ne devrait pas y en avoir, et le simple +fait de compiler un document devrait encore moins en créer. + +Enfin, \TeX{} (et les programmes associés) ont la capacité d'écrire des +fichiers en compilant des documents, capacité qui peut être exploitée à des +fins malignes de nombreuses façons. Ici aussi, la meilleure protection est de +compiler les documents inconnus dans un répertoire nouvellement créé. + +\subsection{Obtenir de l'aide} +\label{sec:help} + +La communauté \TeX{} est active et conviviale ; la plupart des questions +finissent par obtenir une réponse. Par contre, le support est informel, assuré +par des volontaires et des lecteurs occasionnels, aussi est-il +particulièrement important que vous fassiez votre propre travail de recherche +avant de poser une question (si vous préférez un support commercial, vous +pouvez renoncer à \TL{} et acheter un système payant ; voir une liste à +\url{http://tug.org/interest.html#vendors}). + +Voici une liste de ressources, classées selon l'ordre dans lequel nous +recommandons de les utiliser : + +\begin{description} +\item [Getting Started] -- pour ceux qui débutent en \TeX, la page web +\url{http://tug.org/begin.html} contient une courte description +du système. + +\item [\acro{FAQ} \TeX{}] -- la \acro{FAQ} \TeX{} est un vaste recueil + de réponses à toutes sortes de questions, de la plus élémentaire à la + plus complexe. Elle est enregistrée sur le \DVD{} dans + \OnCD{texmf-dist/doc/generic/FAQ-en/html/index.html} + et elle est disponible sur Internet à + l'adresse \url{http://www.tex.ac.uk/faq}. + Merci de consulter cette FAQ avant toute question. + +\item [Catalogue \TeX{}] -- si vous recherchez une extension, une fonte, + un programme, etc., le mieux est de consulter le catalogue + \TeX{} ici : \url{http://mirror.ctan.org/help/Catalogue/}. + +\item [Ressources \TeX{} sur le Web] -- la page web + \url{http://tug.org/interest.html} propose + beaucoup de liens relatifs à \TeX{}, en particulier concernant des + livres, manuels et articles portant sur tous les aspects du système. + +\item [Archives des forums d'aide] -- les principaux forums dédiés + au support de \TeX{} sont les groupes de nouvelles Usenet + \url{news:comp.text.tex} (en anglais) et \url{news:fr.comp.text.tex} + (en français) ainsi que les listes de diffusion + \email{texhax@tug.org} (en anglais) et \email{gut@ens.fr} (en français). + Les archives correspondantes contiennent des + milliers de questions et réponses déjà traitées et permettent + une recherche fructueuse. Voir + \url{http://groups.google.com/groups?group=fr.comp.text.tex} + et \url{http://tug.org/mail-archives/texhax}, respectivement. Une + question posée sur un moteur de recherche, tel que + \url{http://google.com}, peut aussi fournir des réponses pertinentes. + +\item [Poster une question] -- si vous ne trouvez pas de réponse, vous pouvez + poser la question (en français) sur \dirname{fr.comp.text.tex} via Google ou + votre lecteur de nouvelles, ou encore par messagerie à + \email{texhax@tug.org} (en + anglais). Mais avant de le faire, merci de lire l'introduction de la + \acro{FAQ} donnant les conseils sur la façon de rédiger la question pour + avoir des chances d'obtenir une réponse pertinente : + \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. Pour de + l'aide en anglais, vous pouvez également vous tourner vers le site \LaTeX{} + Community : \url{http://www.latex-community.org/} et son forum + \url{http://www.latex-community.org/forum/}, ainsi que le site \TeX\ + StackExchange à \url{http://tex.stackexchange.com/}. + +\item [Support de \TL{}] -- si vous voulez faire un rapport + d'anomalie, émettre des suggestions ou des commentaires sur la + distribution \TL{}, son installation ou sa documentation, utilisez + la liste de diffusion \email{tex-live@tug.org}. Mais attention, si + la question concerne l'utilisation d'un programme particulier inclus + dans \TL{}, il vaut mieux que vous vous adressiez directement à la + personne ou à la liste de diffusion qui maintient le programme. Il suffit + souvent d'ajouter l'option \code{-{}-help} lors de l'exécution du programme + pour trouver à qui adresser le rapport. + +\end{description} + +L'autre aspect du sujet concerne l'aide à apporter aux personnes +soumettant des questions. Les forums \dirname{comp.text.tex}, +\dirname{fr.comp.text.tex} ainsi que les listes de diffusion \code{texhax} +et \code{gut} +sont ouverts à tous, aussi n'hésitez pas à vous y joindre, à commencer +la lecture et à fournir de l'aide là où cela vous est possible. + +% No \protect needed as \TL is defined in French with \newcommand (robust). +\section{Structure de \TK} +\label{sec:overview-tl} + +Nous décrivons ici le contenu de \TK{} qui est un sur-ensemble de \TL. + +\subsection {\TK{} : \TL, pro\TeX{}t, Mac\TeX} +\label{sec:tl-coll-dists} + +Le \DVD{} \TK{} contient les éléments suivants : + +\begin{description} + +\item [\TL{}] -- un système \TeX{} complet à installer. Sa + page web est \url{http://tug.org/texlive/}. + +\item [Mac\TeX] -- un système \TeX\ pour \MacOSX, qui ajoute à \TL un + installateur spécifique à \MacOSX{} et quelques applications propres au + système Mac. Le site de Mac\TeX{} est \url{http://tug.org/mactex/}. + +\item [pro\TeX{}t] -- une extension du système \MIKTEX\ pour Windows qui en + facilite l'installation et ajoute quelques outils. Cette distribution est + totalement indépendante de \TL{}, elle nécessite un mode d'installation + spécifique. Le site de \ProTeXt\ est \url{http://tug.org/protext}. + +\item [CTAN] -- une image du site d'archives \CTAN. + +\item [\texttt{texmf-extra}] -- un répertoire contenant quelques extensions + supplémentaires. + +\end{description} + +Les droits d'utilisation des fichiers présents dans \CTAN, \ProTeXt{} +et \texttt{texmf-extra} diffèrent de ceux de \TL{}, pensez à lire +les licences si vous envisagez de modifier ou de redistribuer certains de +ces fichiers. + +\subsection{Répertoires situés à la racine de \TL{}} +\label{sec:tld} + +Voici une petite liste des répertoires situés à la racine d'une installation +\TL avec une courte description. + +\begin{ttdescription} +\item[bin] -- programmes de la famille \TeX{}, rangés dans des + sous-répertoires selon les plates-formes. +% +\item[readme-*.dir] -- une brève introduction et quelques liens utiles pour + \TL, dans divers langages, sous forme de pages \HTML\ ou de texte brut. +% +\item[source] -- le code source de tous les programmes, dont les principaux + programmes \TeX{} basés sur \Webc{}. +% +\item[texmf] -- répertoire contenant les programmes et leur documentation ; ne + contient ni les formats ni les extensions (la variable \envname{TEXMFMAIN} + de la section suivante pointe sur ce répertoire). +% +\item[texmf-dist] -- répertoire principal où se trouvent les extensions, + les fontes, etc., avec leur documentation (la variable \envname{TEXMFDIST} + de la section suivante pointe sur ce répertoire). +% +\item[tlpkg] -- scripts et programmes d'installation, et + éléments spécifiques pour Windows. +\end{ttdescription} + +On trouve également, au même niveau que les répertoires mentionnés ci-dessus, +les scripts d'installation et le fichier \filename{README} principal en +anglais (disponible en différentes langues dans les répertoires +\filename{readme-*.dir} susmentionnés). + +Concernant la documentation, le fichier \OnCD{doc.html}, qui contient une +liste exhaustive de liens vers les fichiers de documentation, peut être bien +utile. La documentation des programmes (manuels, pages de \cmdname{man}, +fichiers \cmdname{info}) se trouve dans \dirname{texmf/doc}. Celle des autres +paquets et des formats est dans \dirname{texmf-dist/doc}. Vous pouvez utiliser +le programme \cmdname{texdoc} pour trouver chaque fichier de documentation, où +qu'il soit. + +La documentation de \TL\ proprement dite (que vous consultez actuellement) est +disponible dans le répertoire \dirname{texmf/doc/texlive} en plusieurs +langues, + +\begin{itemize*} +\item{anglais :} \OnCD{texmf/doc/texlive/texlive-en}, +\item{allemand :} \OnCD{texmf/doc/texlive/texlive-de}, +\item{chinois (simplifié) :} \OnCD{texmf/doc/texlive/texlive-zh-cn}, +\item{français :} \OnCD{texmf/doc/texlive/texlive-fr}, +\item{italien :} \OnCD{texmf/doc/texlive/texlive-it} +\item{polonais :} \OnCD{texmf/doc/texlive/texlive-pl}, +\item{russe :} \OnCD{texmf/doc/texlive/texlive-ru}, +\item{tchèque \& slovaque :} \OnCD{texmf/doc/texlive/texlive-cz}. +\end{itemize*} + +\subsection{Description des arborescences « texmf » de \TL} +\label{sec:texmftrees} + +Nous donnons ici la liste des variables prédéfinies qui contiennent les noms +des différentes arborescences de type « texmf », l'usage qui en est fait, et +leurs valeurs par défaut dans \TL. La commande \cmdname{tlmgr~conf} montre +les valeurs de ces variables, ce qui permet de savoir où se trouvent ces +différentes arborescences dans une installation donnée. + +Notez bien que toutes ces arborescences, y compris les arborescences +personnelles, doivent suivre la structure standard des répertoires de \TeX{} +(\TDS{} : \url{http://tug.org/tds}) avec sa pléthore de sous-répertoires, ou +les fichiers ne seront pas pris en compte. La section +\ref{sec:local-personal-macros} page \pageref{sec:local-personal-macros} +donne plus de détails à ce sujet. + +\begin{ttdescription} +\item [TEXMFMAIN] -- contient les éléments essentiels du système, comme les + fichiers de configuration, des scripts utilitaires, et la documentation des + programmes. +\item [TEXMFDIST] -- contient les fichiers de macros (Plain, \LaTeX, \ConTeXt, + etc.), les fontes, etc. Rien ne devrait être ajouté, modifié ni supprimé + manuellement dans cette arborescence. +\item [TEXMFLOCAL] -- c'est là que l'administrateur de la machine doit + placer les classes et extensions locales, les fontes non disponibles + dans \TL, etc. +\item [TEXMFHOME] -- contient les fichiers personnels (extensions, classes, + fontes) de l'utilisateur ; ce répertoire est installé automatiquement dans + le répertoire personnel de l'utilisateur. +\item [TEXMFCONFIG] -- c'est là que les scripts \cmdname{texconfig} + \cmdname{updmap} et \cmdname{fmtutil} recherchent leurs fichiers de + configuration (personnelles) en priorité. +\item [TEXMFSYSCONFIG] -- c'est là que les scripts \cmdname{texconfig-sys}, + \cmdname{updmap-sys} et \cmdname{fmtutil-sys} recherchent leurs fichiers de + configuration (globaux) en priorité. +\item [TEXMFVAR] -- c'est là que les scripts \cmdname{texconfig}, + \cmdname{updmap} et \cmdname{fmtutil} rangent les (versions personnelles de) + données générées, comme les formats et les fichiers \verb+.map+. +\item [TEXMFSYSVAR] -- c'est là que les scripts \cmdname{texconfig-sys}, + \cmdname{updmap-sys} et \cmdname{fmtutil-sys} rangent les (versions globales + des) données générées, comme les formats et les fichiers \verb+.map+. +\item [TEXMFCACHE] -- arborescence(s) utilisée(s) par \ConTeXt\ Mk\acro{IV} + pour stocker des (versions de cache de) fichiers de travails. +\end{ttdescription} + +La structure de l'arborescence \TL{} est par défaut la suivante : +\begin{description} +\item[racine multi-utilisateur] (par exemple \verb|/usr/local/texlive|, + \verb|D:\texlive|,\dots) qui contient éventuellement plusieurs + distributions : + \begin{ttdescription} + \item[2011] -- la distribution précédente, + \item[2012] -- la distribution actuelle, + \begin{ttdescription} + \item [bin] ~ + \begin{ttdescription} + \item [i386-linux] -- exécutables Linux, + \item [...] + \item [universal-darwin] -- exécutables \MacOSX, + \item [win32] -- exécutables Windows, + \end{ttdescription} + \item [texmf\ \ \ \ \ \ \ ] -- correspond à \envname{TEXMFMAIN}, + \item [texmf-dist\ \ ] -- correspond à \envname{TEXMFDIST}, + \item [texmf-var\ \ \ ] -- correspond à \envname{TEXMFSYSVAR}, + \item [texmf-config] -- correspond à \envname{TEXMFSYSCONFIG}, + \end{ttdescription} + \item [texmf-local] -- correspond à \envname{TEXMFLOCAL}, normalement + commun à plusieurs distributions \TL{} (2007, 2008, etc.), + \end{ttdescription} + \item[répertoire personnel de l'utilisateur] \texttt{\$HOME} ou + \texttt{\%USERPROFILE\%} : + \begin{ttdescription} + \item[.texlive2011] -- fichiers propres à l'utilisateur générés + automatiquement par la distribution \TL{} précédente, + \item[.texlive2012] -- fichiers propres à l'utilisateur générés + automatiquement par la distribution \TL{} actuelle, + \begin{ttdescription} + \item [texmf-var\ \ \ ] -- correspond à \envname{TEXMFVAR}, + \envname{TEXMFCACHE}, + \item [texmf-config] -- correspond à \envname{TEXMFCONFIG}, + \end{ttdescription} + \item[texmf] -- correspond à \envname{TEXMFHOME}, répertoire regroupant + tous les répertoires de macros personnelles : \dirname{texmf/tex/latex} + par exemple pour les fichiers de macros \LaTeX, etc. + \end{ttdescription} +\end{description} + +\subsection{Les extensions de \TeX} +\label{sec:tex-extensions} + +Le programme \TeX\ original de Knuth est figé, sauf corrections de bugs, +rares. C'est toujours le programme \prog{tex} présent dans \TL, et ceci ne +changera pas autant dans un futur prévisible. \TL contient plusieurs variantes +étendues de \TeX. + +\begin{description} + +\item [\eTeX{}] \label{text:etex} ajoute un jeu de nouvelles + primitives et les extensions \TeXXeT{} pour l'écriture de droite + à gauche ; \eTeX{} est, en mode normal, 100\% compatible avec + \TeX{} standard. Pour plus de détails consulter le + fichier \OnCD{texmf-dist/doc/etex/base/etex_man.pdf} du \DVD{}. + +\item [pdf\TeX{}] inclut les extensions \eTeX{} et produit, au choix, des + fichiers au format Acrobat \acro{PDF} ou au format \dvi{} ; il inclut aussi + de nombreuses extensions indépendantes du format de sortie. C'est le moteur + de base sur lequel sont construits tous les formats autres que plain\TeX{}, + comme \prog{etex}, \prog{latex} et \prog{pdflatex}. Son site web est + \url{http://www.pdftex.org/}. Le manuel d'utilisation se trouve sur le + \DVD{} dans \OnCD{texmf/doc/pdftex/manual/}. Le fichier + \OnCD{texmf/doc/pdftex/pdftex/manual/samplepdf/samplepdf.tex} donne des + exemples d'utilisation. + +\item [Lua\TeX] est le successeur de pdf\TeX{} avec lequel il reste en grande + partie (mais pas totalement) compatible. Ses possibilités sont aussi censées + être un sur-ensemble de celles d'Aleph (voir ci-dessous), bien qu'il ne soit + pas prévu pour être techniquement compatible. Lua\TeX{} inclut le langage + de script Lua (voir \url{http://www.lua.org/}) qui apporte des solutions + élégantes à beaucoup de problèmes épineux en \TeX{} pur. La commande + \filename{texlua} fonctionne comme un interpréteur Lua indépendant, et est + déjà utilisée en tant que telle dans \TL. Voir \url{http://www.luatex.org/} + et \OnCD{texmf-dist/doc/luatex/luatexref-t.pdf}. + +\item [Xe\TeX] ajoute la possibilité d'utiliser en entrée le codage Unicode + et en sortie les fontes OpenType et les fontes système de la machine, ceci + grâce à des bibliothèques externes : voir \url{http://tug.org/xetex/}. + +\item [\OMEGA{} (Omega)] fonctionne en utilisant Unicode et des caractères 16 + bits, ce qui lui permet de travailler directement et simultanément avec + presque toutes les écritures du monde. L'extension supporte aussi le + chargement dynamique d'\acro{OTP} (\OMEGA{} \emph{Translation Processes}) + qui permet à l'utilisateur d'appliquer sur des flux d'entrée quelconques des + transformations complexes qu'il aura lui-même définies. \TL n'inclut plus + Omega en tant que programme séparé ; seul Alpeh est fourni. + +\item [Aleph] combine les fonctionnalités de \OMEGA\ et de \eTeX ; voir + \OnCD{texmf-dist/doc/aleph/base}. + +\end{description} + +\subsection{Quelques autres programmes intéressants + dans \TL} + +Voici quelques autres programmes couramment utilisés et présents dans +\TL{} : + +\begin{cmddescription} + +\item [bibtex, bibtex8] -- traitement des bibliographies. + +\item [makeindex, xindy] -- traitement des index. + +\item [dvips] -- conversion \dvi{} vers \PS{}. + +\item [xdvi] -- visualisation \dvi{} pour le système X Window. + +\item [dvilj] -- pilote \dvi{} pour les imprimantes HP LaserJet. + +\item [dviconcat, dviselect] -- couper/Coller de pages à partir de fichiers + \dvi{}. + +\item [dvipdfmx] -- conversion \dvi{} vers \acro{PDF}, une alternative à + pdf\TeX{} (mentionné ci-dessus) pour produire des fichiers \acro{PDF}. + +\item [psselect, psnup, \ldots] -- utilitaires \PS{}. + +\item [pdfjam, pdfjoin, \ldots] -- utilitaires \acro{PDF}. + +\item [texexec, texmfstart] -- processeurs Con\TeX{}t et \acro{PDF}. + +\item [tex4ht] -- conversion \TeX{} vers \acro{HTML} et \acro{XML}. + +\end{cmddescription} + +\subsection{Fontes incluses dans \TL} +\label{sec:tl-fonts} + +La distribution \TL{} contient un grand nombre de fontes vectorielles de haute +qualité : voir \url{http://tug.org/fonts} et +\OnCD{texmf-dist/doc/fonts/free-math-fonts-survey}. + + +\htmlanchor{installation} +\section{Installation} +\label{sec:install} + +\subsection{Démarrage de l'installation} +\label{sec:inst_start} + +La première chose à faire est de récupérer le \DVD{} \TK ou de +télécharger le programme d'installation par le réseau. +Le programme d'installation s'appelle \filename{install-tl} pour Unix +et \filename{install-tl.bat} pour Windows. La page +\url{http://tug.org/texlive/acquire.html} donne plus d'informations sur les +différentes façons d'obtenir le logiciel. + +\begin{description} +\item [Installeur réseau] -- à télécharger sur CTAN dans + \dirname{systems/texlive/tlnet}; l'url + \url{http://mirror.ctan.org/systems/texlive/tlnet} vous redirigera + automatiquement vers le serveur d'archive le plus proche de chez vous. + Deux versions sont disponibles, \filename{install-tl.zip} utilisable sous + Unix et Windows, et \filename{install-unx.tar.gz} pour Unix seulement + (y compris \MacOSX). Après décompression de l'un de ces deux fichiers, les + scripts \filename{install-tl} et \filename{install-tl.bat} se trouveront + dans le sous-répertoire \dirname{install-tl}. + +\item [\DVD \TK{}] -- aller dans son répertoire \dirname{texlive}. + Sous Windows, l'installation démarre en principe + automatiquement quand vous insérerez le \DVD, sinon, il faudra exécuter le + script d'installation \filename{install-tl} ou \filename{install-tl.bat}. + Le \DVD \TK{} est distribué gratuitement aux membres des groupes + d'utilisateurs de \TeX{} (Gutenberg par exemple en France, voir la liste + des groupes sur \url{http://tug.org/usergroups.html}). Il est également + possible de l'acheter séparément (\url{http://tug.org/store}) ou de graver + une image \ISO{} téléchargée, voire de la monter directement, sur la plupart + des systèmes. Après avoir installé depuis le \DVD{}, si vous voulez accéder + aux mises à jour en continu depuis Internet, consultez la + section~\ref{sec:dvd-install-net-updates}. +\end{description} + +Le même programme d'installation est utilisé quelle que soit la source +d'installation. La différence la plus visible entre ces deux modes et qu'avec +l'installation par le réseau, vous obtenez les version courantes des +différents paquets, contrairement au \DVD{} (ou image \ISO) qui n'est pas mis +à jour entre deux versions majeures. + +Les sections suivantes expliquent plus en détails le fonctionnement de +l'installateur. + +\subsubsection{Installation sous Unix} + +Dans ce qui suit l'invite du \textit{shell} est notée \texttt{>} ; les +commandes de l'utilisateur sont en \Ucom{\texttt{gras}}. Le programme +\filename{install-tl} est un script Perl ; la façon la plus simple de +le démarrer sur un système Unix est la suivante. +\begin{alltt} +> \Ucom{cd /chemin/de/installateur} +> \Ucom{perl install-tl} +\end{alltt} +(Vous pouvez aussi invoquer \Ucom{perl /chemin/de/installateur/install-tl} ou +\Ucom{./install-tl} si le fichier est toujours exécutable, etc. ; nous ne +répéterons plus toutes ces variantes.) Il est possible que vous deviez +agrandir la fenêtre de votre terminal pour voir le texte complet de +l'installateur (figure~\ref{fig:text-main}). + +Pour travailler en mode graphique expert (figure~\ref{fig:gui-main} -- +attention, le module \dirname{Perl/TK} doit être disponible, avec le support +de \acro{XFT}, ce qui est en général le cas sous \GNU/Linux, mais pas +nécessairement sous d'autres systèmes) : +\begin{alltt} +> \Ucom{cd /chemin/de/installeur} +> \Ucom{./install-tl -gui} +\end{alltt} + +La liste complète des options est donnée par +\begin{alltt} +> \Ucom{perl install-tl -help} +\end{alltt} + +\textbf{Attention} : le matériel installé doit normalement être accessible à +tous les utilisateurs de la machine ; si celui qui installe n'est pas +\textit{root}, il devra s'assurer que son \code{umask} est adapté, par +exemple \code{umask 022} ou \code{umask 002}. +Consulter la documentation système pour plus de précisions. + +\textbf{Remarques particulières pour Cygwin} : contrairement aux autres +système compatibles Unix, Cygwin ne comprend pas par défaut tous les +programmes requis pour faire fonctionner l'installateur \TL. Voir la +section~\ref{sec:cygwin} pour plus de détails. + +\subsubsection{Installation sous Mac\,OS\,X} + +Une distribution spécifique, Mac\TeX\ (\url{http://tug.org/mactex}), a été +mise au point pour \MacOSX. Nous recommandons d'utiliser son installateur +natif, plutôt que d'installer la distribution \TL{} en suivant la procédure +indiquée pour Unix. En effet, Mac\TeX{} comprend des ajustements spécifiques +pour le système \MacOSX{} et facilite la cohabitation entre plusieurs +distributions \TeX{} (Mac\TeX, Fink, MacPorts, etc.). + +Mac\TeX\ est fortement basée sur \TL et les arborescences principales sont en +tous points identiques. Quelques répertoires contenant de la documentation et +des applications spécifiques au Mac sont ajoutés. + +\subsubsection{Installation sous Windows} + +Si vous utilisez l'installeur réseau ou si l'insertion du \DVD{} ne lance pas +l'installation automatiquement, double-cliquez sur \filename{install-tl.bat}. +Pour disposer de plus d'options, par exemple pour sélectionner des collections +de paquets spécifiques au lieu de faire une installation complète, utilisez +plutôt \filename{install-tl-advanced.bat}. + +Il est également possible de travailler en ligne de commande ; +dans ce qui suit l'invite du \textit{shell} est notée \texttt{>}, les +commandes de l'utilisateur sont notées \Ucom{\texttt{en gras}}. Voici les +commandes à lancer : +\begin{alltt} +> \Ucom{install-tl} +\end{alltt} +à condition d'être dans le répertoire du script d'installation, sinon +\begin{alltt} +> \Ucom{D:\bs{}texlive\bs{}install-tl} +\end{alltt} +où \texttt{D:} désigne le lecteur de \DVD où se trouve la collection \TeX. +La figure~\ref{fig:wizard-w32} montre l'installateur en mode magique, qui est +le mode par défaut pour Windows. + +Pour travailler en mode texte : +\begin{alltt} +> \Ucom{install-tl -no-gui} +\end{alltt} +La liste complète des options est donnée par +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} + +\begin{figure}[tb] +\begin{boxedverbatim} +Installing TeX Live 2012 from: ... +Platform: i386-linux => 'Intel x86 with GNU/Linux' +Distribution: inst (compressed) +... + Detected platform: Intel x86 with GNU/Linux + + <B> platforms: 1 out of 19 + + <S> installation scheme (scheme-full) + 84 collections out of 85, disk space required: 3091 MB + + Customizing installation scheme: + <C> standard collections + <L> language collections + + <D> directories: + TEXDIR (the main TeX directory): + /usr/local/texlive/2012 + ... + + <O> options: + [ ] use letter size instead of A4 by default + ... + + <V> set up for portable installation + +Actions: + <I> start installation to hard disk + <H> help + <Q> quit +\end{boxedverbatim} +\caption{Écran principal de l'installateur en mode texte (\GNU/Linux)}% +\label{fig:text-main} +\end{figure} + +\begin{figure}[tb] +\tlpng{install-lnx-main}{\linewidth, trim=10 4 0 20, clip} +\caption{Installateur graphique en mode expert (\GNU/Linux)} +\label{fig:gui-main} +\end{figure} + +\begin{figure}[tb] +\tlpng{wizard-w32}{\linewidth,trim=0 4 0 0,clip} +\caption{Installateur graphique en mode expert (Windows)} +\label{fig:wizard-w32} +\end{figure} + + +\htmlanchor{cygwin} +\subsubsection{Installation sous Cygwin} +\label{sec:cygwin} + +L'installateur \TL fonctionne uniquement sous Cygwin 1.7. Avant de commencer +l'installation, utilisez le programme \filename{setup.exe} de Cygwin pour +installer les paquets \filename{perl} et \filename{wget} si ce n'est déjà +fait. Il est également recommandé d'installer les paquets suivants : +\begin{itemize*} +\item \filename{fontconfig}, utilisé par \XeTeX ; +\item \filename{ghostscript}, nécessaire pour divers utilitaires ; +\item \filename{libXaw7}, utilisé par \code{xdvi} ; +\item \filename{ncurses}, qui fournit la commande \code{clear} utilisée par + l'installateur. +\end{itemize*} + +\subsubsection{Installation en mode texte} + +La figure~\ref{fig:text-main} présente l'écran principal de configuration en +mode texte sous Unix/Linux, où c'est le mode par défaut. + +Il s'agit d'un installateur en mode ligne de commande, il n'y a pas de notion +de curseur ; par exemple, vous ne pouvez pas naviguer entre les cases à cocher +et les champs d'entrée avec la touche tabulation. Tapez une des lettres proposées +(en respectant la casse) suivie de « entrée » (retour-chariot), l'écran se +mettra automatiquement à jour. + +L'interface est volontairement rudimentaire afin de permettre son utilisation +sur le plus grand nombre possible de systèmes même avec des versions très +dépouillées de Perl. + +\subsubsection{Installation en mode graphique-expert} + +La figure~\ref{fig:gui-main} page~\pageref{fig:gui-main} présente l'écran +principal de configuration en mode graphique sous \GNU/Linux. À part +l'utilisation de boutons et menus, cet installateur ne diffère pas beaucoup de +l'installateur en mode texte. + +Ce mode peut être demandé explicitement avec +\begin{alltt} +> \Ucom{install-tl -gui=perltk} +\end{alltt} + +\subsubsection{L'installation en mode magique} + +Sous Windows, l'installateur démarre par défaut dans le mode le plus simple +que nous avons pu concevoir, le mode « magique » (figure~\ref{fig:wizard-w32}. +Dans ce mode, tout est installé et presque aucune question n'est posée. Par +contre, si vous souhaitez personnaliser votre installation, vous devriez +utiliser un des autres modes. + +Ce mode peut être demandé explicitement avec +\begin{alltt} +> \Ucom{install-tl -gui=wizard} +\end{alltt} + +\subsection{Choix des options d'installation} +\label{sec:runinstall} + +Les options proposées sont censées être assez explicites, voici cependant +quelques précisions. + +\subsubsection{Choix des binaires (Unix seulement)} +\label{sec:binary} + +\begin{figure}[tbh] +\centering +\begin{boxedverbatim} +Available platforms: +=============================================================================== + a [ ] alpha-linux DEC Alpha with GNU/Linux + b [ ] amd64-freebsd x86_64 with FreeBSD + c [ ] amd64-kfreebsd x86_64 with GNU/FreeBSD + d [ ] i386-cygwin Intel x86 with Cygwin + e [ ] i386-freebsd Intel x86 with FreeBSD + f [ ] i386-kfreebsd Intel x86 with GNU/FreeBSD + g [X] i386-linux Intel x86 with GNU/Linux + h [ ] i386-netbsd Intel x86 with NetBSD + i [ ] i386-solaris Intel x86 with Solaris + j [ ] mips-irix SGI IRIX + k [ ] powerpc-aix PowerPC with AIX + l [ ] powerpc-linux PowerPC with GNU/Linux + m [ ] sparc-linux Sparc with GNU/Linux + o [ ] sparc-solaris Sparc with Solaris + p [ ] universal-darwin universal binaries for MacOSX/Darwin + s [ ] win32 Windows + t [ ] x86_64-darwin x86_64 with MacOSX/Darwin + u [ ] x86_64-linux x86_64 with GNU/Linux + v [ ] x86_64-solaris x86_64 with Solaris +\end{boxedverbatim} +\caption{Menu pour le choix des binaires}\label{fig:bin-text} +\end{figure} + +La figure~\ref{fig:bin-text} présente les choix de binaires possibles en mode +texte. Seuls les binaires correspondant à l'architecture détectée seront +installés par défaut. Rien n'empêche d'en sélectionner d'autres si nécessaire, +ce qui peut être intéressant dans le cas de machines en réseau ou sur des +systèmes en « double boot ». + +\subsubsection{Sélection de ce qui va être installé} +\label{sec:components} + +\begin{figure}[tbh] +\centering +\begin{boxedverbatim} +Select scheme: +=============================================================================== + a [X] full scheme (everything) + b [ ] medium scheme (small + more packages and languages) + c [ ] small scheme (basic + xetex, metapost, a few languages) + d [ ] basic scheme (plain and latex) + e [ ] minimal scheme (plain only) + f [ ] ConTeXt scheme + g [ ] GUST TeX Live scheme + h [ ] teTeX scheme (more than medium, but nowhere near full) + i [ ] XML scheme + j [ ] custom selection of collections +\end{boxedverbatim} +\caption{Menu « Scheme »}\label{fig:scheme-text} +\end{figure} + +Dans le menu « Scheme » (voir figure~\ref{fig:scheme-text}) on choisit un +schéma général de configuration qui détermine un ensemble de collections à +installer. Le schéma par défaut (\optname{full}) consiste à tout installer, +ce qui est recommandé. Vous pouvez également choisir \optname{basic} pour un +petit système, \optname{minimal} pour des tests uniquement, \optname{medium} +ou \optname{teTeX} pour quelque chose d'intermédiaire. Il existe aussi des +schémas spécialisés ou spécifiques à un pays. + +\begin{figure}[tbh] +\centering +\tlpng{stdcoll}{.7\linewidth,trim=0 4 0 0,clip} +\caption{Menu « Collections » (Linux)}\label{fig:collections-gui} +\end{figure} + +Une fois choisi le schéma (\eng{scheme}) général, il est possible d'ajouter ou +de supprimer des composants, appelés +ici collections. Il y a deux types de collections : les +« Standard Collections » qui concernent les fontes, les extensions, les +formats, etc. (voir figure~\ref{fig:collections-gui}) et les +« Language Collections » qui permettent de préciser la liste des langues +qui seront utilisables sur le système (indispensable !). Attention, si vous +travaillez en mode texte, dans ces menus la casse des lettres est importante. +En mode graphique, il suffit de cocher ou de décocher les cases en cliquant. + +Il est possible de raffiner encore les choix mais il faudra alors utiliser le +gestionnaire de paquets TeX Live (\prog{tlmgr}) ultérieurement, voir la +section~\ref{sec:tlmgr}. + +\subsubsection{Répertoires d'installation} +\label{sec:directories} + +L'arrangement par défaut des différents répertoire est donné à la +section~\ref{sec:texmftrees}, page~\pageref{sec:texmftrees}. La racine de +l'installation principale, \dirname{TEXDIR}, vaut par défaut +\dirname{/usr/local/texlive/2012} sous Unix et |%SystemDrive%\texlive\2012| +sous Windows. + +Il peut être nécessaire de changer la valeur de \dirname{TEXDIR} +lorsque celui qui procède à l'installation n'a pas les droits d'écriture +sur le répertoire \dirname{TEXDIR} (l'installation n'est pas réservée au +superutilisateur \eng{root} ou « Administrateur », il suffit d'avoir les droits +en écriture sur le répertoire \dirname{TEXDIR}). + +Un autre choix raisonnable est d'installer \TL{} dans votre répertoire +personnel, surtout si vous prévoyez d'en être le seul utilisateur. Vous +pouvez utiliser |~| à cet effet, par exemple |~/texlive/2012|. + +Dans tous les cas, il est recommandé d'inclure l'année dans le chemin afin de +pouvoir conserver plusieurs versions de \TL{} en parallèle. +Rien n'empêche d'ajouter un lien symbolique (par exemple +\dirname{/usr/local/texlive-current}) qui pointe sur la version actuellement +utilisée. Ceci facilite les basculements d'une version à une autre. + +Le répertoire \envname{TEXMFHOME} est destiné à +regrouper les répertoires de macros personnelles. Par défaut, son emplacement +est |~/texmf| ; ici, le |~| est préservé dans les fichiers de configurations +crées, de façon à être remplacé dynamiquement pour chaque utilisateur de \TeX, +par la valeur des variables d'environnement \dirname{\$HOME} sous Unix et +|%USERPROFILE%| sous Windows. +Attention, comme tous les autres répertoires, \envname{TEXMFHOME} doit +respecter la structure \TDS{} ou les fichier ne seront pas trouvés. + +Enfin, \dirname{TEXMFVAR} est l'emplacement où sont stockées les fichiers de +cache spécifiques à chaque utilisateur. \dirname{TEXMFCACHE} est utilisé par +\ConTeXt\ Mk\acro{IV} pour le même but (voir la section~\ref{sec:context-mkiv} +page~\pageref{sec:context-mkiv}). + +\subsubsection{Options} +\label{sec:options} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Options setup: +=============================================================================== + <P> use letter size instead of A4 by default: [ ] + <E> execution of restricted list of programs: [X] + <F> create format files: [X] + <D> install font/macro doc tree: [X] + <S> install font/macro source tree: [X] + <L> create symlinks in standard directories: [ ] + binaries to: + manpages to: + info to: + <Y> after installation, get package updates from CTAN: [X] +\end{boxedverbatim} +\caption{menu « Options » (Unix)}\label{fig:options-text} +\end{figure} + +La figure~\ref{fig:options-text} présente le menu « Options » en mode +texte, sur lesquelles voici quelques précisions. + +\begin{description} +\item[use letter size instead of A4 by default] -- la taille du papier + par défaut pour des outils comme \prog{dvips}, \prog{pdftex}, \prog{xdvi}. + Cette option n'a pas d'influence sur les tailles par défaut utilisées par + des jeux de macros comme les classes standard de \LaTeX\ ou ses modules, qui + seront prioritaires. Dans tous les cas, il est possible et recommandé de + préciser la taille de papier souhaitée au sein de chaque document. + +\item[execution of restricted list of programs] -- à compter de \TL 2010, + l'exécutions de certains programmes externes depuis \TeX{} est autorisée par + défaut. La (très courte) liste de programmes autorisés se trouve dans le + fichier \filename{texmf.cnf}. Voir la section~\ref{sec:2010news} pour plus + de détails. + +\item[create format files] -- création de tous les formats à l'installation. + Bien que cette opération prenne un peu de temps, il est conseillé de ne pas + la supprimer, sinon les formats seront créés au coup par coup dans les + répertoires personnels des utilisateurs (sous \envname{TEXMFVAR}). Les + formats personnels ainsi créés ne bénéficieront pas des mises à jour + éventuelles effectuées ultérieurement sur l'installation \TL{}, ce qui + peut engendrer des incompatibilités. + +\item[install font/macro \ldots\ tree] -- ces options permettent de ne pas + installer les fichiers de documentation et les sources présents dans la + plupart des paquets. Il est recommandé de conserver la valeur par défaut. + +\item[create symlinks in standard directories] -- + cette option (pour Unix seulement) permet d'éviter d'avoir à modifier les + variables d'environnement + \envname{PATH}, \envname{MANPATH} et \envname{INFOPATH} après + l'installation. Elle nécessite les droits d'écriture dans les répertoires + cibles. Il est fortement recommandé de \emph{ne pas} utiliser cette option + si un système \TeX\ est déjà installé par votre système d'exploitation. Elle + est destinée uniquement à permettre l'accès à \TeX\ depuis des répertoires + standard comme \dirname{/usr/local/bin} sur les systèmes où aucune autre + installation \TeX\ n'est présente. + +\item[after installation \ldots\ \CTAN] -- lors d'une installation depuis le + \DVD, cette option est activés par défaut, car on souhaite généralement + bénéficier des mises à jour de paquets depuis la partie du \CTAN\ les + hébergeant, qui est mise à jour toute l'année. La seule raison probable de + la désactiver est si vous installez seulement un sous-ensemble de \TL\ + depuis le \DVD\ et prévoyez de la compléter ultérieurement, toujours depuis + le \DVD. Dans tous les cas, le dépôt de paquets utilisé par l'installateur + et celui utilisé après installation peuvent être choisis de façon + indépendante ; voir les sections~\ref{sec:location} + et~\ref{sec:dvd-install-net-updates}. +\end{description} + +Lorsque vous êtes satisfait des réglages faits, il vous reste à taper +\code{I} pour lancer le processus d'installation. Lorsque celui-ci sera +terminé, sautez à la section~\ref{sec:postinstall} pour voir s'il y a +d'autres choses à faire. + +\subsection{Options de install-tl en ligne de commande} +\label{sec:cmdline} + +Tapez +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} +pour obtenir la liste de toutes les options disponibles. Vous pouvez utiliser +|-| ou |--| pour introduire le noms des options. Voici les plus courantes : + +\begin{ttdescription} +\item[-gui] : exécution en mode graphique (si possible). Ceci nécessite le + module Perl/Tk (\url{http://tug.org/texlive/distro.html#perltk}) avec + support de \acro{XFT} ; si + Perl/Tk n'est pas disponible, l'installation se poursuit en mode texte. + +\item[-no-gui] : exécution en mode texte, même sous Windows. + +\item[-lang {\sl LL}] : langue utilisé par l'interface de l'installateur, + spécifiée par son code standard (généralement sur deux lettres). + Le programme s'efforce de déterminer automatiquement + la langue à utiliser et se rabat sur l'anglais en cas d'échec. Vous pouvez + obtenir la liste des langues disponibles avec \code{install-tl --help}. + +\htmlanchor{opt-in-place} +\item[-in-place] : si vous possédez déjà une copie de \TL{} acquise par rsync, + svn ou un autre moyen (voir + \url{http://tug.org/texlive/acquire-mirror.html}), cette option vous permet + de l'utiliser directement, en l'état, de de procéder uniquement aux + opération post-installation. Attention, ceci peut écraser le fichier + \filename{tlpkg/texlive.tlpdb}, c'est à vous de le sauvegarder auparavant si + vous le désirez. Aussi, une éventuelle déinstallation de paquet est à faire + manuellement. N'utilisez pas cette option à moins de savoir ce que vous + faites. Cette option ne peut pas être activée depuis l'interface de + l'installateur. + +\item[-portable] : créer une installation utilisable de façon portable sur une + clé \acro{USB} ou un \DVD ; peut aussi être activé depuis l'interface + textuelle de l'installateur avec la commande \code{V}, ainsi que depuis + l'interface graphique. Voir la section~\ref{sec:portable-tl} pour les + détails. + +\item[-profile {\sl fichier}] : charger le profil d'installation depuis le + \var{fichier} et installer sans interaction avec l'utilisateur. + À chaque exécution, le script d'installation + écrit un compte-rendu dans le fichier \filename{texlive.profile} du + sous-répertoire \dirname{tlpkg} de votre installation \TL. Ce fichier peut + être donné en argument pour refaire exactement la même installation sur une + machine différente, par exemple. Sinon, vous pouvez utiliser un profil + personnalisé ; la façon la plus facile de le créer est de partir d'un profil + généré et de modifier les valeurs, ou d'utiliser un fichier vide pour + utiliser toutes les valeurs par défaut. + +\item [-repository {\sl url-ou-répertoire}] : choix d'une source où récupérer + le matériel à installer, voir ci-dessous. +\end{ttdescription} + +\subsubsection{L'option \optname{-repository}} +\label{sec:location} + +L'emplacement par défaut du dépôt de paquets en ligne est un miroir du \CTAN{} +choisi automatiquement par le service de redirection +\url{http://mirror.ctan.org/}. + +Si vous voulez en utiliser un autre, vous pouvez utiliser l'option +\optname{-repository} avec pour valeur une url commençant par \texttt{ftp:}, +\texttt{http:} ou \texttt{file:/}, ou un chemin vers un répertoire local. +(Dans le cas d'une url en \texttt{http:} ou \texttt{ftp:}, un éventuel +caractère « \texttt{/} » à la fin, de même qu'une éventuelle composante +\texttt{tlpkg/} finale, sont ignorés.) + +Par exemple, vous pouvez choisir un miroir du \CTAN{} en particulier avec un +valeur comme \url{http://ctan.example.org/tex-archive/systems/texlive/tlnet/}, +en substituant le nom d'un vrai miroir et le chemine ver l'archive \TeX{} +spécifique à la place de |ctan.example.org|. La liste des miroirs du CTAN est +disponible sur \url{http://ctan.org/mirrors}. + +Si l'argument donné est local (un chemin ou une url en \texttt{file:/}) et que +les paquets sont présents à la fois sous forme de fichiers non compressés et +d'archives compressées, ces dernières seront utilisées. + +\subsection{Étapes post-installation} +\label{sec:postinstall} + +Selon les cas quelques opérations supplémentaires peuvent être nécessaires. + + +\subsubsection{Variables d'environnement sous Unix} +\label{sec:env} + +Si vous avez choisi de créer des liens symboliques dans les répertoires +standard (voir la section~\ref{sec:options}), alors il est inutile de modifier +vos variables d'environnement. Sinon, sur les systèmes Unix, le répertoire +contenant les binaires pour votre plateforme doit être ajouté au \envname{PATH}. +(Sous Windows, l'installateur s'en occupe, il n'y a rien à faire.) + +À chaque architecture correspond un sous-répertoire +de \dirname{TEXDIR/bin}, voir la liste à la figure~\ref{fig:bin-text} +\pageref{fig:bin-text}. + +Si vous voulez que votre système trouve les fichiers de documentation +concernant \TL{} aux formats man et Info, il faut également ajuster les +variables \envname{MANPATH} et \envname{INFOPATH}. Sur certains systèmes, ceci +ne sera pas nécessaire et il suffira de régler le \envname{PATH} pour que les +pages de man et d'Info soient trouvées. + +Pour les \textit{shells} dits « Bourne-compatible » tels que +\prog{bash} sous GNU/Linux, le fichier à éditer peut être +\filename{\$HOME/.bash_profile} ou \filename{\$HOME/.profile} et les lignes à +ajouter sont de la forme suivante : + +\begin{sverbatim} +PATH=/usr/local/texlive/2012/bin/i386-linux:$PATH; export PATH +MANPATH=/usr/local/texlive/2012/texmf/doc/man:$MANPATH; export MANPATH +INFOPATH=/usr/local/texlive/2012/texmf/doc/info:$INFOPATH; export INFOPATH +\end{sverbatim} +%stopzone + +Pour les \textit{shells} \prog{csh} ou \prog{tcsh}, le fichier à éditer +est en principe \filename{$HOME/.cshrc} %$ +et les lignes à ajouter sont de la forme suivante : +\begin{sverbatim} +setenv PATH /usr/local/texlive/2012/bin/i386-linux:$PATH +setenv MANPATH /usr/local/texlive/2012/texmf/doc/man:$MANPATH +setenv INFOPATH /usr/local/texlive/2012/texmf/doc/info:$INFOPATH +\end{sverbatim} + +Si vous avez déjà des réglages concernant ces variables dans vos fichiers de +configurations, il suffit bien sûr d'y rajouter les répertoires concernant +\TL{}. + +\subsubsection{Variables d'environnement : configuration multi-utilisateur} +\label{sec:envglobal} + +Il est possible d'ajuster les variables \envname{PATH}, \envname{MANPATH} +et \envname{INFOPATH} globalement pour tous les utilisateurs présents et +futurs sans avoir à éditer les fichiers personnels de chacun mais les façons +de le faire sont trop différentes d'un système à l'autre pour être présentées +ici. + +Voici quelques pistes : pour \envname{MANPATH} chercher un fichier +\filename{/etc/manpath.config}, s'il est présent lui ajouter +des lignes comme +\begin{sverbatim} +MANPATH_MAP /usr/local/texlive/2012/bin/i386-linux \ + /usr/local/texlive/2012/texmf/doc/man +\end{sverbatim} +Pour les deux autres, chercher un fichier\filename{/etc/environment}, il est +éventuellement possible d'y définir les valeurs des variables d'environnement +telles que \envname{PATH} et \envname{INFOPATH}. + +Nous créons aussi à l'installation un lien symbolique nommé \code{man} dans +les répertoires des binaires Unix. Certains programmes \code{man}, comme celui +livré en standard sur \MacOSX{}, l'utilisent pour trouver automatiquement les +pages de \code{man}, rendant inutile tout réglage de \envname{MANPATH}. + +\subsubsection{Mises à jour par Internet après une installation par le \DVD} +\label{sec:dvd-install-net-updates} + +Si vous avez installé \TL{} depuis le \DVD{} et souhaitez ensuite accéder aux +mises à jour par Internet, il vous faudra exécuter la commande suivante (après +avoir réglé votre \envname{PATH} si nécessaire, comme expliqué à la section +précédente) : + +\begin{alltt} +> \Ucom{tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet} +\end{alltt} + +Ceci dit à \cmdname{tlmgr} d'utiliser pour les futures mises à jour un miroir +du \CTAN\ proche. Ceci est fait par défaut lors d'une installation depuis le +\DVD, via l'option décrite dans la section~\ref{sec:options}. + +Si vous rencontrez des problèmes avec la sélection automatique du miroir, vous +pouvez en sélectionner un en particulier depuis la liste disponible en +\url{http://ctan.org/mirrors}. Utilisez le chemin complet vers le répertoir +\dirname{tlnet} pour ce miroir, comme ci-dessus. + + +\htmlanchor{xetexfontconfig} % keep historical anchor working +\htmlanchor{sysfontconfig} +\subsection{Configuration des fontes pour \XeTeX\ et Lua\TeX} +\label{sec:font-conf-sys} + +\XeTeX\ et Lua\TeX\ peuvent utiliser toutes les polices installées au niveau du +système et pas seulement celles des arborescences \TeX. Pour cela, ils +utilisent des méthodes différentes mais pas tout à fait indépendantes. + +Sous Windows, les fontes livrées avec \TL\ sont automatiquement rendues +utilisables par \XeTeX, mais si vous avez installé le paquet \pkgname{xetex} +sur un système de type Unix, vous avez besoin de le configurer un peu pour que +\XeTeX{} puisse trouver les fontes installées par \TL{} par leur nom sans être +obligé d'utiliser le nom du fichier. + +Pour faciliter ce réglage, lorsque le paquet \pkgname{xetex} est installé, un +fichier de configuration adéquat est créé : +\filename{TEXMFSYSVAR/fonts/conf/texlive-fontconfig.conf}. + +Pour permettre à votre système l'accès aux polices \TL, si vous avez les +privilèges suffisants, vous pouvez procéder ainsi : +\begin{enumerate*} +\item Copiez le fichier \filename{texlive-fontconfig.conf} dans +\dirname{/etc/fonts/conf.d/09-texlive.conf}. +\item Exécutez \Ucom{fc-cache -fsv}. +\end{enumerate*} + +Si vous n'avez pas les privilèges suffisants pour utiliser la méthode +ci-dessus, ou si vous préférez ne rendre les polices disponibles que pour un +utilisateur, vous pouvez procéder comme suit. +\begin{enumerate*} +\item Copiez le fichier \filename{texlive-fontconfig.conf} vers + \filename{~/.fonts.conf}, où \filename{~} représente votre répertoire + personnel. +\item Exécutez \Ucom{fc-cache -fv}. +\end{enumerate*} + +Vous pouvez utiliser \code{fc-list} pour voir les noms des polices du système. +L'incantation \code{fc-list : family style file spacing} (avec ces arguments +tels quels) donne en général des informations utiles. + +\subsubsection{\ConTeXt{} Mark IV} +\label{sec:context-mkiv} + +La \og vieille\fg version de \ConTeXt{} (Mark \acro{II}) ainsi que la \og +nouvelle \fg version (Mark \acro{IV}) devraient fonctionner directement après +l'installation de \TL et ne réclamer aucune action particulière tant que vous +n'utilisez que \code{tlmgr} pour les mises à jour. + +Cependant, comme \ConTeXt{} Mk\acro{IV} n'utilise pas la bibliothèque +kpathsea, il faudra mettre à jour manuellement le cache de fichiers de +\ConTeXt{} si jamais vous installez des nouveaux fichiers manuellement +(c'est-à -dire sans utiliser \code{tlmgr}). Pour cela, exécutez +\begin{sverbatim} +context --generate +\end{sverbatim} +après chaque installation manuelle. Les fichiers résultants sont stockés dans +\code{TEXMFCACHE}, dont la valeur par défaut sous \TL{} est +\envname{TEXMFSYSVAR;TEXMFVAR}. + +\ConTeXt\ Mk\acro{IV} lira les fichiers de toutes les arborescences +mentionnées dans \envname{TEXMFCACHE} et les écrira dans le premier de ces +répertoire accessible en écriture. Lors de la lecture, les dernières +informations lues sont prises en compte de façon prioritaire par rapport à +celles lues précédemment, dans le cas où certaines données de cache seraient +dupliquées. + +Pour plus d'informations, voir +\url{http://wiki.contextgarden.net/Running_Mark_IV}. + + +\subsubsection{Ajout de fichiers locaux ou personnels} +\label{sec:local-personal-macros} + +Comme cela a déjà été indiqué à la section~\ref{sec:texmftrees}, +\envname{TEXMFLOCAL} (par défaut \dirname{/usr/local/texlive/texmf-local} ou +\verb|%SystemDrive%\texlive\texmf-local| sous Windows) est la racine de +l'arborescence prévue pour regrouper les fichiers de macros, les fontes et le +matériel utilisable par l'ensemble des utilisateurs du système. +D'autre part \envname{TEXMFHOME} (par défaut \dirname{\$HOME/texmf} %$ +(ou |%USERPROFILE%\texmf|) regroupe le matériel personnel de chaque +utilisateur. + +Dans les deux cas, les fichiers ajoutés doivent être placés, non pas en vrac à +la racine de \envname{TEXMFLOCAL} ou \envname{TEXMFHOME} mais dans des +sous-répertoires bien choisis (voir \url{http://tug.org/tds} ou lire le +fichier \filename{texmf.cnf}). Par exemple, une classe ou une extension +\LaTeX{} ne sera trouvée que si elle est dans \dirname{TEXMFLOCAL/tex/latex} ou +\dirname{TEXMFHOME/tex/latex} ou dans un sous-répertoire de ceux-ci. + +Enfin, si les ajouts ont été faits sous \envname{TEXMFLOCAL}, il y a lieu de +régénérer les bases de données \filename{ls-R} (commande \cmdname{mktexlsr} +ou, en mode graphique, bouton « Reinit file database » du gestionnaire de +paquets \TL). + +L'emplacement des répertoires \envname{TEXMFLOCAL} et \envname{TEXMFHOME} est +fixe (il ne change pas d'une version à l'autre de \TL{}). Leur contenu est +pris en compte par toutes les versions de \TL{} aussi est-il préférable de ne +pas changer la valeur des variables \envname{TEXMFLOCAL} et \envname{TEXMFHOME} +à l'installation. + +Par défaut, chacune de ces variables est définie comme étant un seul +répertoire, comme illustré ci-dessus. Cependant, ceci n'est pas obligatoire. +Si vous voulez par exemple changer rapidement de versions pour des paquets +importants vous pouvez maintenir plusieurs arborescences pour votre usage +personne, en spécifiant dans \dirname{TEXMFHOME} une liste de répertoires +entre accolades, séparés par des virgules : + +\begin{verbatim} + TEXMFHOME = {/my/dir1,/mydir2,/a/third/dir} +\end{verbatim} + +La section~\ref{sec:brace-expansion} décrit plus en détails la façon dont sont +traitées de telles listes entre accolades. + +\subsubsection{Ajout de fontes externes à \TL{}} + +Cette question est malheureusement trop complexe pour être abordée ici. +Renoncez-y sauf si vous connaissez bien les arcanes d'une installation \TeX. +Vérifiez en premier lieu ce qui existe déjà en libre : voir la +section~\ref{sec:tl-fonts}. + +Une alternative possible est d'utiliser \XeTeX{} ou Lua\TeX{} (voir +section~\ref{sec:tex-extensions}) qui permettent l'accès aux fontes disponibles +sur le système sans aucune installation supplémentaire. + +Si vous ne pouvez pas y couper, le document essayant au mieux de décrire la +procédure est \url{http://tug.org/fonts/fontinstall.html}. Si vous maintenez +vos propres associations de fontes (fichiers \code{.map}) localement, la +commande \texttt{tlmgr generate updmap} pourrait \emph{éventuellement} vous +être utile ; consultez la documentation de \cmdname{tlmgr} pour les détails. + + +\subsection{Tester l'installation} +\label{sec:test-install} + +Une fois l'installation de \TL{} terminée, il faut la tester avant de créer +des documents ou des fontes. Les tests doivent être faits par un utilisateur +non privilégié (autre que \eng{root}). + +On donne ici quelques procédures de base pour vérifier que le nouveau +système est opérationnel. On les décrit pour Unix ; pour \MacOSX{} ou +Windows, il vaut mieux tester au travers d'une interface graphique +mais les principes sont les mêmes. + +\begin{enumerate} + +\item S'assurer en premier lieu que le programme \cmdname{tex} fonctionne : + +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.1415926 (TeX Live ...) +kpathsea version 6.0.1 +Copyright ... D.E. Knuth. +... +\end{alltt} + +Si la réponse est \texttt{command not found} ou si le numéro de version est +différent, il est fort probable que vous n'ayez pas le bon répertoire +de binaires dans votre \envname{PATH}. +Voir les informations sur l'environnement page~\pageref{sec:env}. + +\item Traiter un fichier \LaTeX{} simple : + +\begin{alltt} +> \Ucom{latex sample2e.tex} +pdfTeX 3.1415926-... (TeX Live ...) +... +Output written on sample2e.dvi (3 pages, 7484 bytes). +Transcript written on sample2e.log. +\end{alltt} +Si le fichier \filename{sample2e.tex} ou d'autres ne sont pas trouvés, +il y a probablement des interférences avec vos anciennes variables +d'environnement ou fichiers de configuration. Pour analyser en détail +votre problème, vous pouvez demander à \TeX{} de dire exactement ce +qu'il cherche et trouve ; voir la section~\ref{sec:debugging} +page~\pageref{sec:debugging}. + +\item Prévisualiser les résultats : +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} # Unix +> \Ucom{dviout sample2e.dvi} # Windows +\end{alltt} +Une nouvelle fenêtre doit s'ouvrir et montrer un joli document expliquant les +bases de \LaTeX{} (document dont la lecture attentive est recommandée si vous +êtes débutant !). +Vous devez travailler sous X pour que \cmdname{xdvi} fonctionne. Dans le cas contraire, votre +variable d'environnement \envname{DISPLAY} ne sera pas correcte et vous +obtiendrez l'erreur \samp{Can't open display}. + +\item Créer un fichier \PS{} pour l'imprimer ou l'afficher : + +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item Créer un fichier \acro{PDF} au lieu de \dvi{} ; +cet exemple traite le fichier \filename{sample2e.tex} et crée directement +un fichier \acro{PDF} : + +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item Prévisualiser le fichier \acro{PDF} : + +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{ou} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} + +Ni \cmdname{gv} ni \cmdname{xpdf} ne sont inclus dans +\TL{}, aussi devez-vous les installer séparément si ce n'est déjà fait. +Voir respectivement +\url{http://www.gnu.org/software/gv} et +\url{http://www.foolabs.com/xpdf}. Il y a bien d'autres lecteurs de +fichiers \acro{PDF} ; pour Windows, nous recommandons Sumatra PDF +(\url{http://blog.kowalczyk.info/software/sumatrapdf}). + + +\item Autres fichiers de tests utiles en plus de \filename{sample2e.tex} : + +\begin{ttdescription} + +\item [small2e.tex] à compiler avant \filename{sample2e} si celui-ci pose des + problèmes. + +\item [testpage.tex] teste que l'imprimante n'introduit pas de décalages. + +\item [nfssfont.tex] imprime des tables des fontes et des tests. +\item [testfont.tex] aussi pour les tables de fontes mais en (plain)\TeX. +\item [story.tex] le fichier de test de (plain)\TeX{} le plus canonique +de tous. Il faut taper \samp{\bs bye} à l'invite \code{*} après +\samp{tex story.tex}. +\end{ttdescription} + +\item Si vous avez installé le paquet \pkgname{xetex}, vous pouvez vérifier + s'il a bien accès aux polices du système ainsi +\begin{alltt} +> \Ucom{xetex opentype-info.tex} +This is XeTeX, Version 3.1415926\dots +... +Output written on opentype-info.pdf (1 page). +Transcript written on opentype-info.log. +\end{alltt} +(De même pour \filename{luatex}.) + +Si vous obtenez un message d'erreur disant « \samp{Invalid fontname `Latin Modern +Roman/ICU'\dots} », alors vous devez revoir la configuration de votre système +pour que \XeTeX{} puisse accéder aux polices livrées avec \TL comme indiqué en +section~\ref{sec:font-conf-sys}. + +\end{enumerate} + +\subsection{Liens vers d'autres logiciels téléchargeables} + +Si vous êtes débutant ou si vous avez besoin d'aide pour réaliser des +documents \TeX{} ou \LaTeX{}, n'hésitez pas à consulter +\url{http://tug.org/begin.html}. + +% liens GUTenberg + +Voici quelques liens vers d'autres outils qui peuvent être utiles à installer. +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.perl.org/} avec des paquets supplémentaires du + \acro{CPAN}, \url{http://www.cpan.org/} +\item[ImageMagick] \url{http://www.imagemagick.com} pour les conversions entre + formats graphiques, notamment. +\item[NetPBM] \url{http://netpbm.sourceforge.net/} également pour les + graphiques. + +\item[Éditeurs orientés \TeX] Le choix est large, et est en bonne partie une + question de goût personnel. Voici une sélection classée par ordre + alphabétique (dont certains ne sont disponibles que sous Windows). + \begin{itemize*} + \item \cmdname{GNU Emacs} existe en version native pour Windows, + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html}. + \item \cmdname{Emacs} avec Auc\TeX\ pour Windows est disponible sur le + \CTAN. Sa page est \url{http://www.gnu.org/software/auctex}. + \item \cmdname{LEd} (Windows seulement, non libre) est disponible sur + \url{http://mirror.ctan.org/support/LEd}. + \item \cmdname{SciTE} (Windows seulement) est disponible sur + \url{http://www.scintilla.org/SciTE.html}. + \item \cmdname{Texmaker} est disponible sur + \url{http://www.xm1math.net/texmaker/index_fr.html }. + \item \cmdname{TexmakerX} est un \eng{fork} de \cmdname{Texmaker} avec des + fonctionnalités supplémentaires : \url{http://texmakerx.sourceforge.net}. + \item \cmdname{TeXnicCenter} est disponible sur + \url{http://www.texniccenter.org} et dans la distribution pro\TeX{}t + \item \cmdname{TeXworks} est disponible sur + \url{http://tug.org/texworks} et inclus dans \TL sur Windows et + \MacOSX. + \item \cmdname{Vim} est disponible sur \url{http://www.vim.org}. + \item \cmdname{WinEdt} (Windows seulement, non libre) est disponible sur + \url{http://tug.org/winedt} or \url{http://www.winedt.com}. + \item \cmdname{WinShell} (Windows seulement) est disponible sur + \url{http://www.winshell.de}. + \end{itemize*} +\end{description} +Voir \url{http://tug.org/interest.html} pour une liste plus complète de +programmes. + + +\section{Installations spécialisées} + +Les sections précédentes décrivaient le processus pour installation \og +normale \fg. Celle-ci concerne des cas plus spécialisés. + +\htmlanchor{tlsharedinstall} +\subsection{Installation partagée entre plusieurs utilisateurs ou machines} +\label{sec:sharedinstall} + +\TL a été conçue pour pouvoir être partagée par plusieurs utilisateurs sur le +même système et/ou différents systèmes sur un réseau. +Avec la disposition standard des répertoires, aucun chemin n'est +codé en dur : les emplacements des fichiers dont \TL a besoin sont trouvés +automatiquement à partir des emplacements des programmes. Vous pouvez le +constater dans le fichier de configuration principal +\filename{\$TEXMFMAIN/web2c/texmf.cnf}, qui contient des lignes comme +\begin{sverbatim} +TEXMFMAIN = $SELFAUTOPARENT/texmf +... +TEXMFLOCAL = $SELFAUTOPARENT/../texmf-local +\end{sverbatim} +Ceci signifie qu'il suffit aux utilisateurs d'ajouter à leur \envname{PATH} le +chemin des exécutables pour leurs plate-formes, pour obtenir une configuration +qui marche. + +Pour la même raison, vous pouvez aussi installer \TL localement et ensuite +déplacer l'arborescence complète vers un emplacement réseau. + +Pour Windows, un exemple de script d'installation nommé \filename{w32client} +peut être téléchargé sur \url{http://tug.org/texlive/w32client.html}. Il +installe les réglages et les raccourcis pour utiliser un système \TL installé +sur un réseau local. Il déclare aussi un désinstallateur \filename{w32client}, +disponible dans la même archive zip. Consultez la page web pour plus de +détails. + +\htmlanchor{tlportable} +\section{Installations « portable » de \TL} +\label{sec:portable-tl} + +L'option \code{-portable} de l'installateur (ou la commande \code{V} dans +l'installateur en mode texte ou l'option correspondante en mode grapghique) +crée une installation de \TL{} entièrement contenue dans une seul répertoire +et n'effectue aucune intégration au système. Vous pouvez créer une telle +installation directement sur une clé \USB{} ou la copier sur une clé +ultérieurement. + +Pour utiliser \TeX\ depuis cette installation portable, il suffit d'ajouter le +bon répertoire de binaires à votre \code{path} pour la session de terminal en +cours, comme d'habitude. Sous Windows, vous pouvez double-cliquer sur le +fichier \filename{tl-tray-menu} à la racine de l'installation pour choisir +parmi quelques actions communes, comme dans cette capture d'écran : + +\medskip +\tlpng{tray-menu}{4cm} +\smallskip + +\noindent L'entrée « More\dots » explique comment personnaliser ce menu. + +\htmlanchor{tlisoinstall} +\subsection{Installation sur \DVD ou image \ISO} +\label{sec:isoinstall} + +Si vous n'avez pas besoin de mettre à jour ni de modifier votre installation +souvent, et/ou que vous désirez utiliser \TL{} sur plusieurs systèmes, il peut +être commode de créer une image \ISO\ de votre installation \TL, pour les +raisons suivantes : + +\begin{itemize} + \item il est nettement plus rapide de copier d'une machine à l'autre une + image \ISO\ qu'une installation classique ; + \item si vous êtes en multi-boot sur plusieurs systèmes et voulez leur faire + partager une même installation de \TL, une image \ISO\ vous isole des + idiosyncrasies et limitations des divers systèmes de fichiers + (\acro{FAT32}, \acro{NTFS}, \acro{HFS+}). + \item les machines virtuelles peuvent monter une image \ISO\ très + simplement. +\end{itemize} + +Bien sûr vous pouvez aussi graver votre image \ISO\ sur une \DVD, si cela vous +est utile. + +Les systèmes \GNU/Linux et autres Unix de bureau, y compris \MacOSX, sont +capables de monter une image \ISO. À part ce montage, rien de change par +rapport à une installation normale sur le disque dur, voir la +section~\ref{sec:env}. + +Dans la préparation d'une telle installation, il est préférable d'omettre le +sous-répertoire avec le numéro de l'année, et d'avoir \filename{texmf-local} +au même niveau que les autres arborescences (\filename{texmf}, +\filename{texmf-dist}, etc.), ce qui est possible avec les options habituelles +de l'installateur. + +Pour une machine Windows physique (et non virtuelle) vous pouvez graver +l'\ISO\ sur un \DVD. Cependant, il est peut-être plus rentable pour vous de +vous renseigner sur les différentes options libres ou gratuites de montage +d'images \ISO. Pour \acro{XP}, Microsoft propose +\filename{winxpvirtualcdcontrolpanel}. + +Pour l'intégration au système sous Windows, vous pouvez inclure dans l'image +le script \filename{w32client} décrit en section~\ref{sec:sharedinstall} et à +l'adresse \url{http://tug.org/texlive/w32client.html} ; il fonctionne aussi +bien pour une image \ISO\ que pour une installation partagée par le réseau. + +Sous \MacOSX, TeXshop et \TeX{}works peuvent utiliser une telle installation +si un lien symbolique \filename{/usr/texbin} existe et pointe vers le bon +répertoire, par exemple +\begin{verbatim} +sudo ln -s /Volumes/MyTeXLive/bin/universal-darwin /usr/texbin +\end{verbatim} + +Remarque historique : \TL\ 2010 a été la première édition à ne pas être +distribuée en version « live ». Cependant, toutes les éditions précédentes +exigeaient quelques acrobaties pour être utilisées depuis le \DVD ; en +particulier il n'y avait pas moyen de s'en sortir sans devoir régler au moins +une variable d'environnement supplémentaire. Si vous créez votre \ISO\ ou +\DVD\ depuis une installation existante ceci n'est plus nécessaire. + +\htmlanchor{tlmgr} +\section{Maintenance de l'installation avec \cmdname{tlmgr}} +\label{sec:tlmgr} + +\begin{figure}[tb] +\tlpng{tlmgr-gui}{\linewidth} +\caption{\prog{tlmgr} en mode graphique. La liste des paquets, collections et + schémas d'installation n'apparaît qu'après avoir cliqué sur le bouton « + Charger le dépôt par défaut »).}% +\label{fig:tlmgr-gui} +\end{figure} + +\begin{figure}[tb] +\hbox to \hsize{% + \vtop{\hsize=.59\linewidth + \null % make figures align at the top + \tlpng{tlmgr-general-options}{\hsize} + \caption{\texttt{tlmgr} en mode graphique : options générales} + \label{fig:tlmgr-general-options} + } + \hfil + \vtop{\hsize=.39\linewidth + \null + \tlpng{tlmgr-paper-options}{\hsize} + \caption{\texttt{tlmgr} en mode graphique : options de taille du papier} + \label{fig:tlmgr-paper-options} + } +} +\end{figure} + +\TL fournit un programme appelé \prog{tlmgr} pour assurer la maintenance de la +distribution après son installation initiale. Les programmes \prog{updmap}, +\prog{fmtutil} et \prog{texconfig} ont été conservés et le seront à l'avenir, +mais \prog{tlmgr} est désormais considéré comme l'interface standard pour ces +opérations. \prog{tlmgr} permet en particulier +\begin{itemize} +\item d'installer, de mettre à jour ou de désinstaller des paquets + individuellement, éventuellement en respectant les dépendances ; +\item de rechercher des paquets, d'obtenir leur liste, etc. ; +\item de voir la liste des plate-formes binaires et d'en installer ou d'en + supprimer ; +\item de modifier la configuration, par exemple la taille du papier par défaut, + le dépôt de paquets par défaut (voir la section~\ref{sec:location}). +\end{itemize} + +\subsection{\cmdname{tlmgr} en mode graphique} + +On lance \prog{tlmgr} en mode graphique (figure~\ref{fig:tlmgr-gui}) par la +commande +\begin{alltt} +> \Ucom{tlmgr -gui} +\end{alltt} +ou sous Windows dans le menu « Démarrer » : \texttt{Démarrer} $\rightarrow$ +\texttt{Programmes} $\rightarrow$ \texttt{TeX Live 2012} $\rightarrow$ +\texttt{TeX Live Manager}. +La première chose à faire est de cliquer sur le bouton « Load% +\footnote{Dans la description qui suit, le nom des boutons est celui de la + version anglaise par souci de cohérence avec les figures. L'affichage se + fait normalement dans la langue de l'utilisateur (variable \envname{LANG} + sous Unix).} » ce qui affiche la liste des collections, extensions, etc. (à +condition bien sûr qu'il soit possible de se connecter au dépôt utilisé). + +Les figures~\ref{fig:tlmgr-general-options} et~\ref{fig:tlmgr-paper-options} +montrent les écrans de réglage des options générales et de celles concernant +la taille du papier. + +\subsection{Exemples d'utilisation de \cmdname{tlmgr} en ligne de commande} + +Après l'installation initiale, vous pouvez mettre à jour votre système en +utilisant : + +\begin{alltt} +> \Ucom{tlmgr update -all} +\end{alltt} +Si cela vous inquiète, vous pouvez commencer par +\begin{alltt} +> \Ucom{tlmgr update -all -dry-run} +\end{alltt} +ou (moins bavard) : +\begin{alltt} +> \Ucom{tlmgr update -list} +\end{alltt} + +L'exemple suivant, plus complexe, ajoute une collection, pour le moteur +\XeTeX, depuis un dépôt local. + +\begin{alltt} +> \Ucom{tlmgr -repository /local/mirror/tlnet install collection-xetex} +\end{alltt} +La sortie, abrégée, ressemble à ceci : +\begin{fverbatim} +install: collection-xetex +install: arabxetex +... +install: xetex +install: xetexconfig +install: xetex.i386-linux +running post install action for xetex +install: xetex-def +... +running mktexlsr +mktexlsr: Updating /usr/local/texlive/2012/texmf/ls-R... +... +running fmtutil-sys --missing +... +Transcript written on xelatex.log. +fmtutil: /usr/local/texlive/2012/texmf-var/web2c/xetex/xelatex.fmt installed. +\end{fverbatim} +Comme vous pouvez le constater, \prog{tlmgr} prend en compte les dépendances +et effectue automatiquement toutes les opérations nécessaires, comme la mise à +jour des bases de données de fichiers et la génération de formats (ici un +nouveau format a été créé pour \XeTeX). + +La commande suivante permet d'obtenir la description d'un paquet. +\begin{alltt} +> \Ucom{tlmgr show collection-latexextra} +\end{alltt} +Elle retourne par exemple : +\begin{fverbatim} +package: collection-latexextra +category: Collection +shortdesc: LaTeX supplementary packages +longdesc: A large collection of add-on packages for LaTeX. +installed: Yes +revision: 14675 +\end{fverbatim} + +Enfin, le plus important, pour la documentation complète, consultez +\url{http://tug.org/texlive/tlmgr.html}, ou tapez : +\begin{alltt} +> \Ucom{tlmgr help} +\end{alltt} + +\section{Notes concernant Windows} +\label{sec:windows} + +\subsection{Fonctionnalités supplémentaires à l'installation} +\label{sec:winfeatures} + +Sous Windows le programme d'installation effectue quelques tâches +supplémentaires : +\begin{description} +\item[Menus et raccourcis] -- un sous-menu «\TL{}» est ajouté au menu + « Démarrer », contenant des entrées pour quelques programmes graphiques + comme \prog{tlmgr}, \prog{texdoctk}, PS\_View (\prog{psv}) et pour de la + documentation. +\item[Associations de fichiers] -- si cette option n'est pas désactivée, + \prog{TeXworks}, \prog{Dviout} et \prog{PS\_view} deviennent le programme + par défaut pour ouvrir leurs types de fichiers respectifs, ou, s'il y a déjà + un tel programme, sont ajoutés à la liste « Ouvrir avec... » du menu + contextuel. +\item[Convertisseur bitmap vers eps] -- une entrée \cmdname{bitmap2eps} est + ajoutée à l'entrée « Ouvrir avec... » du menu contextuel pour de nombreux + formats d'images bitmap. \prog{Bitmap2eps} est un script simple qui utilise + \cmdname{sam2p} ou \cmdname{bmeps} pour faire le vrai travail. +\item[Ajustement automatique du \code{path}] -- aucune intervention manuelle + n'est nécessaire. +\item[Désinstallation] -- une entrée est ajoutée pour \TL{} dans le menu + « Ajout et suppression de programmes ». L'onglet « Uninstall » de + \prog{tlmgr} renvoie à ceci. +\end{description} + +\subsection{Programmes supplémentaires} + +Pour être complète, une installation \TL a besoin de quelques utilitaires qui +ne sont pas présents en général sur les machines Windows. \TL comprend donc +les outils suivants. +\begin{description} +\item[Perl et Ghostscript] -- \TL{} installe des copies « cachées » de ces + programmes : ce sont des versions spécifiques adaptées à \TL{}, elles + sont invisibles hors de \TL{} et n'interfèrent donc en aucune façon avec + d'autres versions éventuellement présentes sur la machine. + +\item[PS\_View] -- nouveau lecteur PostScript et \acro{PDF} sous licence libre, + voir figure~\ref{fig:psview}. + +\begin{figure}[tb] \centering +\tlpng{psview}{.6\linewidth} +\caption{PS\_View: de très forts grossissements sont possibles !}% +\label{fig:psview} +\end{figure} + +\item[dviout] -- lecteur de \acro{DVI}. La première fois que vous + visualisez un fichier avec \prog{dviout}, il va créer des polices, car les + versions des fontes pour écran ne sont pas installées. Au bout d'un moment, + la plupart des polices que vous utilisez auront été créées, et vous ne + verrez plus que rarement la fenêtre de création des fontes. Vous pouvez + trouver plus d'informations dans le menu d'aide du logiciel (dont la lecture + est recommandée). + +\item[\TeX{}works] \TeX{}works est un éditeur conçu pour les fichiers \TeX, avec + un lecteur de \acro{PDF} intégré. + +\item[Outils en ligne de commande] -- des versions pour Windows de programmes + Unix sont installées, en particulier \cmdname{gzip}, \cmdname{chktex}, + \cmdname{jpeg2ps}, \cmdname{unzip}, \cmdname{wget} et quelques utilitaires + de la suite \cmdname{xpdf} (\cmdname{pdfinfo}, \cmdname{pdffonts}, \ldots). + Le lectuer \cmdname{xpdf} lui-même n'est pas disponible + sous Windows mais vous pouvez télécharger Sumatra \acro{PDF}, qui est basé + dessus, voir \url{http://blog.kowalczyk.info/software/sumatrapdf}). +\item[\prog{fc-list}, \prog{fc-cache}, etc.] -- outils de la bibliothèque + fontconfig, qui permettent à \XeTeX{} d'accéder aux polices système sous + Windows. Vous pouvez utiliser \prog{fc-list} pour connaître la liste des + noms de police utilisables avec la commande \cs{font} de \XeTeX. +\end{description} + +\subsection{Répertoire personnel} +\label{sec:winhome} + +L'équivalent du répertoire personnel noté \envname{\$HOME} sous +Unix s'appelle \verb|%USERPROFILE%| sous Windows. % +Cette variable vaut en général +\verb|C:\Documents and Settings\<username>| sous Windows \acro{XP} +et \verb|C:\Utilisateurs\<username>| sous Vista et Windows 7. +La notation \verb|~|, utilisée dans \filename{texmf.cnf} et dans \KPS{} en +général pour désigner un répertoire personnel, est correctement interprétée +sous Windows comme sous Unix. + + +\subsection{Base de registre Windows} +\label{sec:registry} +%NdT% choix : "registre", pas "registres" + +Windows stocke pratiquement tous les paramètres de configuration dans sa base +de registre. Celle-ci contient un ensemble de clés organisées par niveau. +Les clés les plus importantes pour l'installation de programmes sont +\path{HKEY_CURRENT_USER} et \path{HKEY_LOCAL_MACHINE}, \path{HKCU} et +\path{HKLM} en abrégé. La partie \path{HKCU} de la base de registre +se trouve dans le répertoire personnel de l'utilisateur (voir +section~\ref{sec:winhome}). La partie \path{HKLM} est normalement dans un +sous-répertoire du répertoire Windows. + +Certaines informations système peuvent s'obtenir à partir des variables +d'environnement mais pour d'autres, la localisation des raccourcis par +exemple, la consultation de la base de registre est indispensable. +La modification des variables d'environnement nécessite l'accès à la base de +registre. + + +\subsection{Droits d'accès sous Windows} +\label{sec:winpermissions} + +Dans les versions récentes de Windows, la distinction est faite entre +« utilisateurs » et « administrateurs », ces derniers ayant accès en écriture +à la totalité du système. En pratique on devrait plutôt parler d'utilisateurs +« non privilégiés » et d'utilisateurs « normaux » car être « administrateur » +est la règle et non l'exception. + +Nous nous sommes efforcés de rendre l'installation de \TL{} possible aux +utilisateurs non privilégiés. + +Si celui qui fait l'installation est « administrateur », il dispose d'une +option d'installation pour tous les utilisateurs : si cette option est +choisie, les raccourcis +et les entrées de menu sont créés pour tous les utilisateurs, et +l'environnement est modifié au niveau du système. +Sinon, les raccourcis et entrées de menu sont créés pour l'utilisateur +courant, et seul son environnement utilisateur est modifié. + +Dans tous les cas, le répertoire proposé comme racine de l'installation est +\verb|%SystemDrive%|. % +Le programme \prog{install-tl} vérifie si le répertoire choisi comme racine +est accessible en écriture pour celui qui procède à l'installation. + +Lorsqu'une installation \TeX{} est présente sur la machine, l'installation +de \TL{} par un utilisateur non privilégié est problématique : +cet utilisateur n'aura jamais accès aux exécutables \TL{} car la recherche +s'effectue d'abord dans les répertoires système, puis dans les répertoires de +l'utilisateur. Une parade sommaire a été prévue : l'installateur crée un +raccourci vers une fenêtre de ligne de commande où les exécutables \TL sont +prioritaires : \TL{} est ainsi utilisable en ligne de commande à partir de ce +raccourci. De même, le raccourci pour \TeX{}works, s'il est installé, fait ce +qu'il faut pour que les outils \TL soient utilisés. + +Pour Vista et Windows~7, il y a une subtilité supplémentaire : même si vous +êtes connecté +en tant qu'administrateur, vous devez explicitement demander les privilèges +d'administrateur. En fait, il ne sert pas à grand chose de se connecter en +tant qu'administrateur ; le mieux est de faire un clic droit sur le programme +ou raccourci à utiliser, et d'utiliser l'entrée « exécuter en tant +qu'administrateur ». + + +\subsubsection{Augmentation de la limite de mémoire sous Windows et Cygwin} +\label{sec:cygwin-maxmem} + +Les utilisateurs de Windows et Cygwin (voir la section~\ref{sec:cygwin} pour +les spécificités de l'installation sous Cygwin) peuvent parfois arriver à court +de mémoire en utilisant certains des programmes fournis avec \TL. Par exemple, +\prog{asy} peut manquer de mémoire si vous essayez d'allouer un tableau de +25\,000\,000 réels, et Lua\TeX\ aussi si vous essayez de traiter un document +avec beaucoup de fontes lourdes. + +Pour Cygwin, vous pouvez augmenter la quantité de mémoire disponible en +suivant les instructions données dans le guide de l'utilisateur Cygwin +(\url{http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html}). + +Pour Windows, il vous faudra créer un fichier, nommé par exemple +\code{ajoutmemoire.ref}, contenant les quatre lignes suivantes. + +\begin{sverbatim} +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\Software\Cygwin] +"heap_chunk_in_mb"=dword:ffffff00 +\end{sverbatim} + +\noindent puis exécuter la commande \code{regedit /s ajoutmemoire.reg} en tant +qu'administrateur. (Si vous souhaitez modifier la limite mémoire uniquement +pour l'utilisateur courant plutôt qu'au niveau du système, utilisez +\code{HKEY\_CURRENT\_USER}.) + + +\section{Guide d'utilisation du système Web2C} + +\Webc{} est une collection intégrée de programmes relatifs à \TeX, +c.-à -d. \TeX{} lui-même, \MF{}, \MP, \BibTeX{}, etc. +C'est le cÅ“ur de \TL{}. Le site de référence est \url{http://tug.org/web2c}. + +Un peu d'histoire : la première implémentation a été réalisée par Tomas +Rokicki qui, en 1987, a développé un premier système \TeX{}-to-C en adaptant +les \textit{change files} pour Unix (travail de Howard Trickey et Pavel Curtis +principalement). Tim Morgan assura la maintenance du système, dont le nom fut +remplacé durant cette période par Web-to-C. En 1990, Karl Berry reprit le +travail, assisté par des dizaines de contributeurs et en 1997 il passa le +relais à Olaf Weber qui le rendit à Karl en 2006. + +%NdT% ci-dessous, "sources originales", on ne pense pas au /fichiers/ source. +% (enfin, je crois... (mpg)) +Le système \Webc{} fonctionne sur Unix, sur les systèmes Windows 32 bits, +sur \MacOSX{} et sur de nombreux autres systèmes d'exploitation. Il utilise les +sources originales de Knuth pour \TeX{} et les autres programmes de base +écrits en \web{} (système de programmation documentée) qui sont tous traduits +en langage C. Les composants du noyau de \TeX{} issus de ce processus sont : + +\begin{cmddescription} +\item[bibtex] -- gère les bibliographies. +\item[dvicopy] -- copie le fichier \dvi{} en supprimant les fontes virtuelles. +\item[dvitomp] -- convertit le fichier \dvi{} en MPX (dessins \MP{}). +\item[dvitype] -- convertit le fichier \dvi{} en un texte lisible. +\item[gftodvi] -- visualisation de fontes génériques GF. +\item[gftopk] -- convertit les fontes génériques GF en fontes bitmap PK. +\item[gftype] -- convertit le fichier GF en un texte lisible. +\item[mf] -- création de fontes. +\item[mft] -- mise en page de code source \MF{}. +\item[mpost] -- création de diagrammes techniques. +\item[patgen] -- création de motifs de césure. +\item[pktogf] -- convertit les fontes bitmap PK en fontes génériques GF. +\item[pktype] -- convertit les fontes PK en un texte lisible. +\item[pltotf] -- convertit les fichiers PL (lisibles) en TFM. +\item[pooltype] -- affiche les fichiers \web{} pool. +\item[tangle] -- \web{} vers Pascal. +\item[tex] -- composition de textes. +\item[tftopl] -- convertit les fichiers TFM en PL (lisibles). +\item[vftovp] -- convertit les fontes virtuelles VF en VPL (lisibles). +\item[vptovf] -- convertit les fontes VPL en fontes virtuelles VF. +\item[weave] -- \web{} vers \TeX. +\end{cmddescription} + +La syntaxe et les fonctions précises de ces programmes sont décrites dans +la documentation des composants individuels et dans le manuel \Webc{} +lui-même. Toutefois, connaître un certain nombre de principes régissant +l'ensemble de la famille de programmes peut aider à exploiter de façon +optimale votre installation \Webc{}. + + Presque tous ces programmes suivent les options standard de \GNU : +\begin{description} + \item[\texttt{-{}-help}] imprime le sommaire de l'utilisation, + \item[\texttt{-{}-verbose}] imprime le rapport détaillé du processus, + \item[\texttt{-{}-version}] imprime seulement le numéro de version. +\end{description} + +Pour localiser les fichiers, les programmes \Webc{} utilisent la bibliothèque +de recherche \KPS{} (\url{http://tug.org/kpathsea}). Cette bibliothèque +utilise une combinaison de variables d'environnement et un certain nombre de +fichiers de paramètres pour optimiser la recherche dans l'énorme arborescence +\TeX{}. \Webc{} peut exécuter une recherche dans plusieurs arborescences +simultanément, ce qui est utile si l'on souhaite maintenir la distribution +standard de \TeX{} et les extensions locales dans deux arborescences +distinctes. Afin d'accélérer la recherche de fichiers, la racine de chaque +arborescence possède un fichier \file{ls-R} contenant une entrée donnant le +nom et le chemin de chaque fichier situé sous la racine. + +\subsection{Kpathsea et la recherche de fichiers} +\label{sec:kpathsea} + +Décrivons en premier lieu le mécanisme de recherche de la bibliothèque \KPS{}. + +Nous appelons \emph{chemin de recherche} une liste d'éléments, séparés par +« deux-points» ou « point-virgule», et appelés +\emph{éléments de chemin}, qui sont des noms de répertoires. +Un chemin de recherche peut provenir de plusieurs sources. +Pour rechercher un fichier \samp{my-file} le long +d'un chemin \samp{.:/dir}, \KPS{} vérifie chaque élément du chemin : +d'abord \filename{./my-file}, puis \filename{/dir/my-file} et renvoie la +première occurrence (voire toutes). + +Afin d'optimiser l'adaptation à tous les systèmes d'exploitation, \KPS{} peut +utiliser dans les noms de fichiers des séparateurs différents de deux-points +(\samp{:}) et barre oblique (\samp{/}) pour les systèmes non-Unix. + +Pour vérifier un élément de chemin particulier \var{p}, \KPS{} +vérifie d'abord si une base de données existante (voir +page~\pageref{sec:filename-database}) contient \var{p}, +c.-à -d. si la base de données se trouve dans un +répertoire qui est un préfixe de \var{p}. Si oui, la spécification +du chemin est comparée avec le contenu de la base de données. + +Si la base de données n'existe pas, si elle ne s'applique pas à cet élément de +chemin ou si elle ne contient aucune correspondance, la recherche est lancée +sur tout le système de fichiers (si cela n'a pas été interdit par une commande +commençant par \samp{!!} et si le fichier cherché est censé exister). \KPS{} +construit la liste des répertoires qui correspondent à cet élément de chemin, +puis cherche le fichier dans chaque élément de cette liste. + +La condition « le fichier est censé exister » est liée aux fichiers~\samp{.vf} +et aux fichiers d'entrée lus par la commande \TeX\ \cs{openin}. De tels +fichiers peuvent ne pas exister (par exemple \file{cmr10.vf}), il est donc +inutile de les rechercher sur le disque. De plus, si vous n'actualisez pas le +fichier \file{ls-R} lors de l'installation d'un nouveau fichier \samp{.vf}, il +ne sera jamais trouvé. Chaque élément de chemin est alors vérifié : d'abord +dans la base de données puis sur le disque. Si une occurrence est trouvée, la +recherche s'arrête et le résultat est obtenu. + +Bien que l'élément de chemin le plus simple et le plus fréquent soit un nom de +répertoire, \KPS{} supporte d'autres types d'éléments dans les chemins de +recherche : des valeurs par défaut différentes pour chaque programme, des noms +de variables d'environnement, des valeurs de fichiers de configuration, les +répertoires de l'utilisateur et la recherche récursive de +sous-répertoires. Nous disons alors que \KPS{} \emph{étend} un élément, +c'est-à -dire que \KPS{} transforme toutes ces spécifications en noms de +répertoires de base. Cette opération est décrite dans les sections suivantes. + +Notons que si le nom de fichier cherché est absolu ou explicitement +relatif, c'est-à -dire commençant par \samp{/}, \samp{./} ou +\samp{../}, \KPS{} ne vérifie que l'existence de ce fichier. +\ifSingleColumn +\else +\begin{figure*} +\centering +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{Un exemple de fichier de configuration} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{Les différentes sources} +\label{sec:path-sources} + +Un chemin de recherche peut provenir de plusieurs sources. Voici l'ordre +dans lequel \KPS\ les utilise. + +\begin{enumerate} +\item Une variable d'environnement définie par l'utilisateur, par exemple + \envname{TEXINPUTS}. Les variables d'environnement avec une extension + attachée (nom de programme) sont d'abord prises en compte : par exemple, si + \samp{latex} est le nom du programme exécuté, \envname{TEXINPUTS.latex} + passera avant \envname{TEXINPUTS}. +\item Un fichier de configuration de programme spécifique, par exemple une + ligne « \texttt{S /a:/b} » dans le fichier \file{config.ps} de + \cmdname{dvips}. +\item Un fichier de configuration \file{texmf.cnf} de \KPS{} contenant une + ligne telle que \\ \samp{TEXINPUTS=/c:/d} (voir ci-dessous). +\item La valeur par défaut obtenue à la compilation. +\end{enumerate} +\noindent On peut voir chacune de ces valeurs pour un chemin de recherche +donné en utilisant l'option de débogage (voir page~\pageref{sec:debugging}). + +\subsubsection{Fichiers de configuration} + +\KPS{} lit les chemins de recherche et +d'autres définitions dans des \emph{fichiers de configuration à + l'exécution} nommés \file{texmf.cnf} . Le chemin pour accéder à ces fichiers dans +l'arborescence est stocké dans la variable \envname{TEXMFCNF}, mais il n'est +pas conseillé de modifier cette variable (ou une autre) au moyen d'une +variable d'environnement du même nom. + +À la place, un fichier \file{\dots/2012/texmf.cnf} est créé à la suite d'une +installation normale. Si vous devez changer les valeurs par défaut de +certaines variables (ce qui n'est en général pas nécessaire), c'est le bon +endroit pour le faire. Le fichier de configuration principal est dans +\file{\dots/2012/texmf/web2c/texmf.cnf}. Vous ne devriez jamais éditer ce +fichier, car vos changements seraient alors perdus lors de futures mises à jour +de la distribution. + +Il est important de noter que \emph{tous} les fichier \file{texmf.cnf} trouvés +seront lus, et qu'en cas de conflit, la première définition lue l'emporte. Par +exemple, si les fichiers \file{texmf.cnf} sont cherchés dans le chemin +\verb|.:$TEXMF|, les valeurs de \file{./texmf.cnf} l'emportent sur celles de +\verb|$TEXMF/texmf.cnf|. + +\begin{itemize} +\item Les commentaires sont signalés par un \texttt{\%} et se terminent à la + fin de la ligne. +\item Les lignes vides sont ignorées. +\item Un \bs{} à la fin d'une ligne joue le rôle d'un lien entre deux lignes, + c'est-à -dire que la ligne courante se poursuit à la ligne suivante. Dans ce + cas, les espaces présents au début de la ligne suivante ne sont pas ignorés. +\item Toutes les autres lignes sont de la forme : +\begin{alltt} + \emph{variable}[.\emph{progname}] [=] \emph{value} +\end{alltt} + où le \samp{=} et les espaces autour sont optionnels. +\item Le nom de la \ttvar{variable} peut contenir n'importe quel caractère + autre que les espaces, \samp{=}, ou \samp{.} mais on recommande d'utiliser + \samp{A-Za-z\_} pour éviter les problèmes. +\item Si \samp{.\var{progname}} est présent, sa définition s'applique + seulement si le programme exécuté se nomme \texttt{\var{progname}} ou + \texttt{\var{progname}.exe}. Ceci permet par exemple à différentes variantes + de \TeX{} d'avoir des chemins de recherche différents. +\item \var{value} peut contenir n'importe quel caractère excepté « \code{\%} » et + \samp{@}. L'option \code{\$\var{var}.\var{prog}} n'est pas disponible à + droite du signe \samp{=} ; à la place, on doit utiliser une variable + supplémentaire. Un \samp{;}\ dans \var{value} est compris comme un \samp{:}\ + si on travaille sous Unix ; ceci est très utile et permet d'avoir un seul + \file{texmf.cnf} pour les systèmes Unix, \acro{MS-DOS} et Windows. +\item Toutes les définitions sont lues avant tout désarchivage ou + décompactage, de telle façon que les variables peuvent être référencées + avant d'être définies. +\end{itemize} +Voici un fichier de configuration illustrant les points précédents +\ifSingleColumn + +\begin{verbatim} +TEXMF = {$TEXMFLOCAL,!!$TEXMFMAIN} +TEXINPUTS.latex = .;$TEXMF/tex/{latex,generic;}// +TEXINPUTS.fontinst = .;$TEXMF/tex//;$TEXMF/fonts/afm// +% e-TeX related files +TEXINPUTS.elatex = .;$TEXMF/{etex,tex}/{latex,generic;}// +TEXINPUTS.etex = .;$TEXMF/{etex,tex}/{eplain,plain,generic;}// +\end{verbatim} + +\else +dans la figure~\ref{fig:config-sample}. +\fi + +\subsubsection{Expansion d'un chemin de recherche} +\label{sec:path-expansion} + +\KPS{} reconnaît certains caractères et constructions spéciales dans +les chemins de recherche, semblables à ceux disponibles dans les +\textit{shells} Unix. Ainsi, le chemin complexe, +\verb+~$USER/{foo,bar}//baz+ %$ +étend la recherche vers tous les sous-répertoires situés sous les +répertoires \file{foo} et \file{bar} dans le répertoire utilisateur +\texttt{\$USER} contenant un répertoire ou un fichier appelé %$ +\file{baz}. Ces expansions sont explicitées dans les sections +suivantes. + +\subsubsection{Expansion par défaut} +\label{sec:default-expansion} + +Si le chemin de recherche le plus prioritaire (voir +section~\ref{sec:path-sources}) contient un \samp{:} +\emph{supplémentaire} (\mbox{c.-à -d.} en début ou fin de ligne ou +double), \KPS{} insère à cet endroit le chemin suivant dont la +priorité définie est immédiatement inférieure. Si ce chemin inséré +possède un \samp{:} supplémentaire, le même processus se +répète pour le chemin prioritaire suivant. +Par exemple, étant donné une variable d'environnement définie ainsi + +\begin{alltt} +> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} +la valeur de \code{TEXINPUTS} d'après le fichier \file{texmf.cnf} étant + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} +alors la valeur finale utilisée pour la recherche sera + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +Comme il est inutile d'insérer la valeur par défaut en plusieurs +endroits, \KPS{} applique la substitution à seulement un \samp{:} +supplémentaire et laisse les autres inchangés : il cherche d'abord un +\samp{:} en début de ligne, puis en fin de ligne et enfin un double +\samp{:}. + +\subsubsection{Expansion spécifiée par les accolades} +\label{sec:brace-expansion} + +Option utile, l'expansion par le biais des accolades signifie, par exemple, +que \verb+v{a,b}w+ va permettre la recherche dans \verb+vaw:vbw+. Les +définitions emboîtées sont autorisées. Ceci peut être utilisé pour établir des +hiérarchies \TeX{} multiples en attribuant une liste entre accolades à +\code{\$TEXMF}. Par exemple, dans \file{texmf.cnf}, on trouve une définition +qui ressemble (il y a en fait plus de répertoires) à la suivante. +\begin{verbatim} + TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFSYSVAR,!!$TEXMFMAIN} +\end{verbatim} +Avec ceci, on peut écrire quelque chose comme +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +ce qui signifie que, après avoir cherché dans le répertoire courant, les +arborescences complètes \code{\$TEXMFHOME/tex} suivie de +\code{\$TEXMFLOCAL/tex} (sur le disque) et ensuite les arborescences +\code{!!\$TEXMFVAR/tex} et \code{!!\$TEXMFMAIN/tex} +(définies dans le fichier de référence \file{ls-R} \emph{seulement}) seront +inspectées. C'est un moyen pratique permettant d'utiliser en parallèle deux +distributions \TeX{}, une « figée » (sur un \CD, par exemple) et une +autre régulièrement mise à jour avec de nouvelles versions quand elles +deviennent disponibles. En utilisant la variable \code{\$TEXMF} dans toutes +les définitions, on est toujours sûr d'inspecter d'abord l'arborescence la +plus récente. + +\subsubsection{Expansion des sous-répertoires} +\label{sec:subdirectory-expansion} + +Deux barres \samp{//} ou plus consécutives dans une partie d'un chemin suivant +un répertoire \var{d} sont remplacées par tous les sous-répertoires de +\var{d} : d'abord les sous-répertoires directement présents dans +\var{d}, ensuite les sous-répertoires de ceux-ci et ainsi de suite. À +chaque niveau, l'ordre dans lequel les répertoires sont inspectés est +\emph{non-déterminé}. + +Dans le cas où l'on spécifie une partie de nom de fichier après le +\samp{//}, seuls sont inclus les sous-répertoires auxquels le nom +correspond. Par exemple, \samp{/a//b} va correspondre aux répertoires +\file{/a/1/b}, \file{/a/2/b}, \file{/a/1/1/b} et ainsi de suite, +mais pas à \file{/a/b/c} ni \file{/a/1}. + +Des \samp{//} multiples et successifs dans un chemin sont possibles, +mais \samp{//} au début d'un chemin est ignoré. + +\subsubsection{Liste des caractères spéciaux et de leur signification : + récapitulatif} + +La liste suivante récapitule la signification des caractères spéciaux +dans les fichiers de configuration de \KPS{}. + +\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} + +\begin{ttdescription} + +\item[\CODE{:}] Séparateur dans un chemin de recherche ; au début + ou à la fin d'un chemin, il remplace le chemin par défaut. + +\item[\CODE{;}] Séparateur dans les systèmes non-Unix + (joue le rôle de \code{:}). + +\item[\CODE{\$}] Substitue le contenu d'une variable. + +\item[\CODE{\string~}] Représente le répertoire racine de + l'utilisateur. + +\item[\CODE{\char`\{...\char`\}}] Expansion par les accolades, + par exemple \verb+a{1,2}b+ devient \verb+a1b:a2b+. + +\item[\CODE{//}] La recherche concernera aussi les sous-répertoires + (peut être inséré n'importe où dans un chemin sauf au début). + +\item[\CODE{\%}] Début d'un commentaire. + +\item[\CODE{\bs}] Caractère de continuation de ligne (permet les + entrées sur plusieurs lignes). + +\item[\CODE{!!}] Cherche \emph{seulement} dans la base de + données pour localiser le fichier et \emph{ne cherche pas} sur le disque. + +\end{ttdescription} + +\subsection{Les bases de données} +\label{sec:filename-database} + +\KPS{} a une certaine profondeur d'investigation pour minimiser les +accès disque durant les recherches. Néanmoins, dans le cas de +distributions comprenant beaucoup de répertoires, inspecter chaque +répertoire possible pour un fichier donné peut durer excessivement +longtemps (ceci est typiquement le cas quand plusieurs centaines de +répertoires de polices de caractères doivent être parcourus). En +conséquence, \KPS{} peut utiliser un fichier texte appelé \file{ls-R} --- en +fait une base de données construite au préalable --- qui fait correspondre +les fichiers à leur répertoire, ce qui permet d'éviter une recherche +exhaustive sur le disque. + +Un deuxième fichier appelé \file{aliases} (qui est également une base de +données) permet de donner des noms différents aux fichiers listés dans +\mbox{\file{ls-R}}. Ceci peut aider à adapter ses fichiers source aux +conventions de \acro{DOS}~8.3 pour les noms de fichiers. + +\subsubsection{Le fichier base de données} +\label{sec:ls-R} + +Comme nous l'avons expliqué ci-dessus, le nom du principal fichier-base de +données doit être \mbox{\file{ls-R}}. +Dans votre installation, vous pouvez en mettre un à la racine de chaque +arborescence \TeX{} que vous désirez voir +inspectée (\code{\$TEXMF} par défaut) ; la plupart des sites ont +une seule arborescence \TeX{}. \KPS{} cherche les fichiers \file{ls-R} +dans le chemin spécifié dans la variable \code{TEXMFDBS}. + +La meilleure façon de créer et mettre à jour le fichier \file{ls-R} +est d'exécuter le script \cmdname{mktexlsr} inclus dans la +distribution. Il est appelé par les divers scripts \cmdname{mktex}\dots\ +En principe, ce script exécute uniquement la commande +%NdT% le \ls est correct (ça sert à ignorer les alias) +\begin{alltt} +cd \var{/your/texmf/root} && \boi{}ls -1LAR ./ >ls-R +\end{alltt} +en supposant que la commande \code{ls} de votre système produise le bon +format de sortie (le \code{ls} de \GNU convient +parfaitement). Pour s'assurer que la base de données est toujours à +jour, le meilleur moyen est de la reconstruire en utilisant la table +des \code{cron}, de telle façon que le fichier \file{ls-R} prenne +automatiquement en compte les changements dans les fichiers +installés, par exemple après une installation ou une +mise à jour d'un composant \LaTeX{}. + +Si un fichier n'est pas trouvé dans la base de données, par défaut +\KPS{} décide de le chercher sur le disque. Par contre, si un élément du +chemin commence par \samp{!!}, \emph{seule} la base de données +sera inspectée pour cet élément, jamais le disque. + +\subsubsection{kpsewhich : programme de recherche dans une arborescence} +\label{sec:invoking-kpsewhich} + +Le programme \texttt{kpsewhich} effectue une recherche dans une +arborescence indépendamment de toute application. On peut le +considérer comme une sorte de \code{find} pour localiser des fichiers +dans les arborescences \TeX{} (ceci est largement utilisé dans les +scripts \cmdname{mktex}\dots\ de la distribution). + +\begin{alltt} +> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} +\end{alltt} +Les options spécifiées dans \ttvar{option} peuvent +commencer soit par \samp{-} soit par \samp{-{}-} ; n'importe quelle +abréviation claire est acceptée. + +\KPS{} considère tout argument non optionnel dans la ligne de commande +comme un nom de fichier et renvoie la première occurrence trouvée. Il +n'y a pas d'option pour renvoyer tous les fichiers ayant un nom +particulier (vous pouvez utiliser le \cmdname{find} d'Unix pour cela). + +Les options les plus importantes sont décrites ci-après. + +\begin{ttdescription} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{} \\ + Définit la résolution à \ttvar{num} ; ceci affecte + seulement la recherche des fichiers \samp{gf} et \samp{pk}. \samp{-D} est un + synonyme pour assurer la compatibilité avec \cmdname{dvips}. Le défaut + est 600. +\item[\texttt{-{}-format=\var{name}}]\mbox{}\\ + Définit le format pour la recherche à \ttvar{name}. + Par défaut, le format est estimé en fonction du nom de fichier. + Pour les formats qui n'ont pas de suffixe clair associé, comme les + fichiers de support \MP{} et les fichiers de configuration + \cmdname{dvips}, vous devez spécifier le nom connu de \KPS, comme + \texttt{tex} ou \texttt{enc files}. Exécutez la commande + \texttt{kpsewhich -{}-help} pour obtenir la liste précise. + +\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ + Définit le nom du mode comme étant \ttvar{string} ; +ceci affecte seulement la recherche des \samp{gf} et des \samp{pk}. +Pas d'option par défaut, n'importe quel mode sera trouvé. +\item[\texttt{-{}-must-exist}]\mbox{}\\ + Fait tout ce qui est possible pour trouver les fichiers, ce qui +inclut une recherche sur le disque. Par défaut, seule la base de +données \file{ls-R} est inspectée, dans un souci d'efficacité. +\item[\texttt{-{}-path=\var{string}}]\mbox{}\\ + Recherche dans le chemin \ttvar{string} (séparé par +deux-points comme d'habitude), au lieu de prendre le chemin à partir +du nom de fichier. \samp{//} et toutes les expansions habituelles sont +supportées. + Les options \samp{-{}-path} et \samp{-{}-format} s'excluent mutuellement. +\item[\texttt{-{}-progname=\var{name}}]\mbox{}\\ + Définit le nom de programme comme étant \ttvar{name}. + Ceci peut affecter les chemins de recherche via l'option + \texttt{.\var{progname}} dans les fichiers de configuration. + Le défaut est \cmdname{kpsewhich}. +\item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\ + Montre le chemin utilisé pour la recherche des fichiers de type +\ttvar{name}. + On peut utiliser soit une extension de fichier (\code{.pk}, \code{.vf}, + etc.), soit un nom de fichier, comme avec l'option \samp{-{}-format}. +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + Définit les options de débogage comme étant + \ttvar{num}. +\end{ttdescription} + +\subsubsection{Exemples d'utilisation} +\label{sec:examples-of-use} + +Jetons un coup d'Å“il à \KPS{} en action ; voici une recherche +toute simple : + +\begin{alltt} +> \Ucom{kpsewhich article.cls} +/usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} +Nous recherchons le fichier \file{article.cls}. Puisque le suffixe +\file{.cls} est non-ambigu, nous n'avons pas besoin de spécifier que +nous voulons rechercher un fichier de type \optname{tex} (répertoires des +fichiers sources de \TeX{}). Nous le trouvons dans le sous-répertoire +\filename{tex/latex/base} du répertoire racine \samp{TEXMF}. De même, + le suffixe non-ambigu permet de trouver facilement les autres fichiers. +\begin{alltt} +> \Ucom{kpsewhich array.sty} + /usr/local/texmf-dist/tex/latex/tools/array.sty +> \Ucom{kpsewhich latin1.def} + /usr/local/texmf-dist/tex/latex/base/latin1.def +> \Ucom{kpsewhich size10.clo} + /usr/local/texmf-dist/tex/latex/base/size10.clo +> \Ucom{kpsewhich small2e.tex} + /usr/local/texmf-dist/tex/latex/base/small2e.tex +> \Ucom{kpsewhich tugboat.bib} + /usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib +\end{alltt} + +Le dernier exemple est une base de données bibliographiques pour \BibTeX{} +servant aux articles de \textsl{TUGBoat}. + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} +Les fichiers de glyphes de fontes bitmaps, de type +\file{.pk}, sont +utilisés pour l'affichage par des programmes comme \cmdname{dvips} et +\cmdname{xdvi}. Rien n'est renvoyé dans ce cas puisque il n'y a pas +de fichier Computer Modern \file{.pk} pré-créé sur nos systèmes +(nous utilisons les versions type~1). +\begin{alltt} +> \Ucom{kpsewhich wsuipa10.pk} +\ifSingleColumn + /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk +\else /usr/local/texmf-var/fonts/pk/ljfour/public/ +... wsuipa/wsuipa10.600pk +\fi\end{alltt} +Pour ces fontes (alphabet phonétique de l'université de Washington), +nous avons dû créer les fichiers \file{.pk} et, puisque le mode \MF{} par +défaut sur notre installation est \texttt{ljfour} avec une résolution de +base de 600\dpi{} \textit{(dots per inch)}, cette instance est trouvée. +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} +Dans ce cas, lorsque l'on spécifie que nous recherchons une +résolution de 300\dpi{} (\texttt{-dpi=300}) nous voyons qu'aucune fonte +pour cette résolution n'est disponible dans le système. En fait, un +programme comme \cmdname{dvips} ou \cmdname{xdvi} ne s'en +préoccuperait pas et créerait les fichiers \file{.pk} à la +résolution demandée en utilisant le script \cmdname{mktexpk}. + +Intéressons-nous à présent aux fichiers d'en-tête et de configuration +pour \cmdname{dvips}. +Regardons en premier le fichier \file{tex.pro} communément utilisé +pour le support de \TeX{} avant de regarder le fichier +de configuration générique (\file{config.ps}) et la liste des fontes +\PS{} \file{psfonts.map}. Depuis l'édition 2004, les fichiers +\file{.map} et les fichiers de codage ont changé de place dans +l'arborescence \dirname{texmf}. Comme le suffixe \file{.ps} est +ambigu, nous devons spécifier quel type particulier du fichier +\texttt{config.ps} nous considérons (\optname{dvips config}). +\begin{alltt} +> \Ucom{kpsewhich tex.pro} + /usr/local/texmf/dvips/base/tex.pro +> \Ucom{kpsewhich -{}-format="dvips config" config.ps} + /usr/local/texmf-var/dvips/config/config.ps +> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf-var/fonts/map/dvips/updmap/psfonts.map +\end{alltt} + +Regardons plus en détail les fichiers de support Times +\PS{} d'\acro{URW}. Leur nom standard dans le schéma de nommage des fontes +est \samp{utm}. Le premier fichier que nous voyons est le +fichier de configuration, qui contient le nom du fichier +de la liste : +\begin{alltt} +> \Ucom{kpsewhich -{}-format="dvips config" config.utm} + /usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} +Le contenu de ce fichier est +\begin{alltt} + p +utm.map +\end{alltt} +qui pointe vers le fichier \file{utm.map}, que nous cherchons à +localiser ensuite. +\begin{alltt} +> \Ucom{kpsewhich utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} +Ce fichier liste les noms des fichiers des +fontes \PS{} de type~1 dans la collection URW. Son contenu +ressemble à (nous ne montrons qu'une partie des lignes) : +\begin{alltt} +utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb +utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb +utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb +utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} +Prenons par exemple le cas de Times Roman \file{utmr8a.pfb} et +trouvons sa position dans l'arborescence \file{texmf} en utilisant une +recherche applicable aux fichiers de fontes de type~1 : +\begin{alltt} +> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +\else /usr/local/texmf-dist/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + +Il devrait être clair, d'après ces quelques exemples, qu'il est facile +de trouver l'endroit où se cache un fichier donné. C'est +particulièrement important si vous suspectez que c'est, pour une +raison quelconque, une mauvaise version du fichier qui est utilisée, +puisque \cmdname{kpsewhich} va vous montrer le premier fichier +trouvé. + +\subsubsection{Opérations de débogage} +\label{sec:debugging} + +Il est quelquefois nécessaire de savoir comment un programme référence +les fichiers. Pour permettre cela, \KPS{} offre +plusieurs niveaux de débogage : +\begin{ttdescription} +\item[\texttt{\ 1}] Appels à \texttt{stat} (test d'existence de fichier). Lors d'une + exécution utilisant une base de données \file{ls-R} à jour, ce niveau + ne devrait donner presque aucune information en sortie. +\item[\texttt{\ 2}] Références aux différentes tables (comme la base + de données \file{ls-R}, les fichiers de correspondance de fontes, les fichiers de + configuration). +\item[\texttt{\ 4}] Opérations d'ouverture et de fermeture des + fichiers. +\item[\texttt{\ 8}] Information globale sur la localisation des types + de fichiers recherchés par \KPS. Ceci est utile pour trouver où a été + défini le chemin particulier pour un fichier. +\item[\texttt{16}] Liste des répertoires pour chaque élément du + chemin (utilisé uniquement en cas de recherche sur le disque). +\item[\texttt{32}] Recherche de fichiers. +\item[\texttt{64}] Valeur des variables. +\end{ttdescription} +Une valeur de \texttt{-1} activera toutes les options ci-dessus ; en +pratique, c'est habituellement la valeur la plus adaptée. + +De la même façon, avec le programme \cmdname{dvips}, en utilisant une +combinaison d'options de débogage, on peut suivre en détail la +localisation des +différents fichiers. De plus, lorsqu'un fichier n'est +pas trouvé, la trace du débogage montre les différents répertoires dans +lesquels le programme va chercher tel ou tel fichier, donnant ainsi +des indices sur le problème. + +Généralement, comme la plupart des programmes appellent la +bibliothèque \KPS{} en interne, on peut sélectionner une option de +débogage en utilisant la variable d'environnement +\envname{KPATHSEA\_DEBUG} et en la définissant égale à une valeur (ou +à une combinaison de valeurs) décrite(s) dans la liste ci-dessus. + +Note à l'intention des utilisateurs de Windows : il n'est pas facile +de rediriger les messages d'erreur vers un fichier sur ces +systèmes. À des fins de diagnostic, vous pouvez temporairement +affecter \texttt{KPATHSEA\_DEBUG\_OUTPUT=err.log} pour capturer le flux +standard d'erreur dans le fichier \texttt{err.log}. + +Considérons comme exemple un petit fichier source \LaTeX{}, +\file{hello-world.tex}, dont le contenu est le suivant. +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +Ce petit fichier utilise simplement la fonte \file{cmr10}, aussi +allons voir comment \cmdname{dvips} prépare le fichier \PS{} +(nous voulons utiliser la version type~1 +des fontes Computer Modern, d'où l'option \texttt{-Pcms}). +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +Dans ce cas, nous avons combiné le niveau 4 de débogage de +\cmdname{dvips} (chemins des fontes) avec l'option d'expansion des +éléments du chemin de \KPS\ (voir \cmdname{dvips} Reference Manual, +\OnCD{texmf/doc/html/dvips/dvips_toc.html} sur le \DVD{}). +La sortie (légèrement formatée) apparaît dans la +figure~\ref{fig:dvipsdbga}. +\begin{figure*}[tp] +\centering +\input{examples/ex6a.tex} +\caption{Recherche des fichiers de configuration}\label{fig:dvipsdbga} + +\bigskip + +\input{examples/ex6b.tex} +\caption{Recherche du fichier prolog}\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{Recherche du fichier de fontes}\label{fig:dvipsdbgc} +\end{figure*} + +\cmdname{dvips} commence par localiser ses fichiers de +fonctionnement. D'abord, \file{texmf.cnf} est trouvé, ce qui donne les +définitions pour les chemins de recherche servant à localiser les +autres fichiers, ensuite le fichier base de données \file{ls-R} (pour +optimiser la recherche des fichiers) et le fichier \file{aliases}, qui +permet de déclarer plusieurs noms (par exemple un nom \acro{DOS} de type +8.3 court et une version longue plus naturelle) pour le même +fichier. Ensuite \cmdname{dvips} continue en cherchant le fichier de +configuration générique \file{config.ps} avant de rechercher le fichier +de paramétrisation \file{.dvipsrc} (qui, dans notre cas, \emph{n'est +pas trouvé}). Enfin, \cmdname{dvips} localise le fichier de +configuration pour les fontes \PS{} Computer Modern +\file{config.cms} (ceci est lancé par l'option \mbox{\texttt{-Pcms}} de la +commande \cmdname{dvips}). Ce fichier contient la liste des fichiers + qui définissent la relation entre les noms des fontes +selon \TeX{}, selon \PS{} et dans le système de fichiers. +\begin{alltt} +> \Ucom{more /usr/local/texmf/dvips/cms/config.cms} + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map +\end{alltt} +\cmdname{dvips} veut chercher tous ces fichiers, y compris le +fichier générique d'association \file{psfonts.map}, qui est toujours +chargé (il contient des déclarations pour les fontes \PS{} les +plus communément utilisées ; voir la dernière partie de la Section +\ref{sec:examples-of-use} pour plus de détails sur la gestion du fichier +d'association \PS{}). + +Arrivé là , \cmdname{dvips} s'identifie à l'utilisateur : + \begin{alltt} + This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) + \end{alltt} + +\ifSingleColumn +pour continuer ensuite en cherchant le fichier prologue \file{texc.pro}, +\begin{alltt}\small +kdebug:start search(file=texc.pro, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro +\end{alltt} +\else +pour continuer ensuite en cherchant le fichier prologue \file{texc.pro} +(voir la figure~\ref{fig:dvipsdbgb}). +\fi + +Après avoir trouvé ce fichier, \cmdname{dvips} affiche la date et +l'heure, nous informe qu'il va générer le fichier +\file{hello-world.ps} puis qu'il a besoin du fichier de fonte +\file{cmr10} et que ce dernier est déclaré comme « résident» +(pas besoin de bitmaps) : +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} +Maintenant la recherche concerne le fichier \file{cmr10.tfm}, qui est +trouvé, puis quelques fichiers de prologue de plus (non montrés) sont +référencés ; finalement le fichier de la fonte type~1 \file{cmr10.pfb} +est localisé et inclus dans le fichier de sortie (voir la dernière ligne). +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{Options à l'exécution} + +\Webc{} offre la possibilité de contrôler à l'exécution bon nombre de +paramètres concernant la mémoire (en particulier la taille des +tableaux utilisés) à partir du fichier +\file{texmf.cnf} qui est lu par \KPS. +Les paramètres en question se trouvent +dans la troisième partie du fichier inclus dans la distribution \TL{}. + Les variables les plus importantes sont : +\begin{ttdescription} +\item[\texttt{main\_memory}] + Nombre total de mots mémoire disponibles pour + \TeX{}, \MF{} et \MP. Vous devez générer un nouveau fichier de + format pour chaque nouveau paramétrage. Par exemple, vous pouvez + générer une version large de \TeX{} et appeler le fichier de format + \texttt{hugetex.fmt}. En utilisant la méthode supportée par \KPS{} + qui consiste à suffixer la variable par le nom du programme, la valeur + particulière de la variable \texttt{main\_memory} destinée à ce + fichier de format sera lue dans le fichier \file{texmf.cnf}. +\item[\texttt{extra\_mem\_bot}] + Espace supplémentaire pour certaines structures de données de \TeX{} : + boîtes, \textit{glue}, points d'arrêt\dots{} Surtout utile si vous utilisez + \PiCTeX{} par exemple. +\item[\texttt{font\_mem\_size}] + Nombre de mots mémoire disponibles pour décrire les polices. C'est + plus ou moins l'espace occupé par les fichiers \acro{TFM} lus. +\item[\texttt{hash\_extra}] + Espace supplémentaire pour la table de hachage des noms de séquences + de contrôle. Environ 10~000 de ces noms peuvent être stockés dans la + table principale ; si vous avez un document très volumineux avec + beaucoup de références croisées, il se peut que ce ne soit pas + suffisant. La valeur par défaut \texttt{hash\_extra} est \texttt{50000}. +\end{ttdescription} + +\noindent Évidemment, cette possibilité ne remplace pas une véritable +allocation dynamique des tableaux et de la mémoire mais puisque c'est +complexe à implémenter dans le présent source \TeX{}, ces paramètres lus +à l'exécution fournissent un compromis pratique qui procure une certaine +souplesse. + +\begin{comment} +\section{Compilation sur un nouveau système Unix} + +Si vous avez un système Unix ne correspondant à aucun des exécutables +fournis, il faut compiler vous-même \TeX{} et tous ses programmes +satellites à partir des sources. Cela n'est pas aussi difficile qu'il +y paraît. Tout ce dont vous aurez besoin est contenu dans le +répertoire \texttt{source} qui se trouve sur le \DVD. + +\subsection{Prérequis} + +Il faut au moins 400\,Mo d'espace sur disque pour compiler la +totalité de \TeX{} et des programmes associés. +Vous aurez aussi besoin d'un +compilateur C \acro{ANSI}, de l'utilitaire \cmdname{make}, +d'un générateur d'analyseur lexical et d'un générateur d'analyseur +syntaxique. Nous recommandons les versions \GNU des programmes suivants +(\cmdname{gcc}, \GNU{}\cmdname{make}, \cmdname{m4}, +\cmdname{flex}, \cmdname{bison}). Vous pouvez utiliser d'autres compilateurs C +et d'autres programmes \cmdname{make} si vous maîtrisez +correctement la programmation sous Unix pour résoudre les +problèmes éventuels. La commande \texttt{uname} doit renvoyer une valeur +raisonnable. + +\subsection{Configuration} + +Tout d'abord, effectuez l'installation normale de \TL{} sur le disque +dur (voir section~\ref{sec:install}, +page~\pageref{sec:install}). Vous pouvez sauter l'installation de +tous les binaires précompilés. +Décompactez ensuite sur le disque le fichier +\file{source.tar.bz2} (archive compressée) trouvé dans +le répertoire \dirname{source} et placez-vous dans +le répertoire où vous avez transféré l'ensemble. +\begin{alltt} +> \Ucom{cd /tmp/tl-source} +> \Ucom{bunzip2 source.tar.bz2} +> \Ucom{tar xf source.tar} +\end{alltt} + +Lancez maintenant \textsf{configure} de la façon suivante : +\begin{alltt} +> \Ucom{sh configure -prefix=/usr/local/texlive/2007} +\end{alltt} + +Le répertoire \optname{-prefix} est le répertoire de base de +l'arborescence \TL{}, il est désigné par \var{TEXDIR} dans la suite. +Les répertoires utilisés sont les suivants : + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/texmf-dist} & répertoire de base pour les fontes, + macros, etc\\ + \dirname{$TEXDIR/man} & pages du manuel Unix\\ + \dirname{$TEXDIR/info} & manuels \GNU en format Info\\ + \dirname{$TEXDIR/bin/$archname} & exécutables.\\ +\end{tabular}\\ + +Si vous ne voulez pas créer de répertoire \dirname{$archname} spécifique %$ +au système choisi pour stocker les exécutables (c.-à -d. les +copier directement dans \dirname{$TEXDIR/bin}), %$ +il faut exécuter \textsf{configure} avec l'option \\ +\verb|--disable-multiplatform|. + +Tapez \verb|./configure --help|, le programme affichera +les options supplémentaires disponibles (telles que supprimer l'installation +des extensions optionnelles comme \OMEGA\ ou \eTeX). + +\subsection{Exécuter \textsf{make}} +S'assurer que la variable ou l'option \texttt{noclobber} n'est pas définie. + et lancer le \cmdname{make} à la racine de l'arborescence de la façon +suivante : +\begin{alltt} +>> \Ucom{make world} +\end{alltt} +et aller prendre un café\dots + +Il peut être utile de garder une trace complète dans un fichier log en tapant : +\begin{alltt} +>> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} +Avant de conclure que tout va bien, vérifier que le fichier log ne contient +pas de message d'erreur : le \cmdname{make} de \GNU renvoie toujours +le message \samp{***} à chaque erreur d'exécution. Vérifier aussi que +tous les exécutables ont été créés. +\begin{alltt} +>> \Ucom{cd \var{TEXDIR}/bin/\var{archname}} +>> \Ucom{ls | wc} +\end{alltt} +Le résultat doit être supérieur à 200 (on peut tester le nombre exact +dans le répertoire \dirname{bin} de la distribution). + +Si vous avez besoin de droits spéciaux pour exécuter \texttt{make install}, +vous pouvez séparer \samp{make world} en deux processus différents : +\begin{alltt} +>> \Ucom{make all} +>> \Ucom{su} +>> \Ucom{make install strip} +\end{alltt} + +Après avoir installé vos nouveaux binaires, il faut suivre les procédures +normales de la post-installation, indiquées dans la +section~\ref{sec:postinstall}, page~\pageref{sec:postinstall}. + +Par ailleurs, si vous souhaitez rendre vos binaires disponibles pour les +autres, n'hésitez pas à nous contacter ; nous les ajouterons volontiers sur +les pages web de \TL. +\end{comment} + +\htmlanchor{ack} +\section{Remerciements} + +\TL{} est le résultat des efforts +collectifs de pratiquement tous les groupes d'utilisateurs de \TeX. +La présente édition de \TL{} a été coordonnée par Karl Berry. +Voici la liste des principaux contributeurs : + +\begin{itemize*} + +%NdT% on considère que ce sont les nationalités des associations : +% elles regroupent en pratique des adhérents d'originies diverses +\item Les associations d'utilisateurs anglaise, allemande, néerlandaise et + polonaise (\acro{TUG}, \acro{DANTE} e.V., \acro{NTG}, et \acro{GUST}, + respectivement) qui contribuent ensemble à l'infrastructure technique et + administrative. Soutenez votre association locale (voir la liste + \url{http://tug.org/usergroups.html}) ! + +\item L'équipe du \acro{CTAN}, en particulier Robin Fairbairns, Jim Hef{}feron + et Rainer Schöpf, qui distribue les images des distributions \TL{} et + fournit les sites d'hébergement pour le stockage et la mise à jour des + extensions qui sont la base de \TL. + +\item Nelson Beebe, pour avoir permis l'accès à de nombreuses plate-formes aux + développeurs \TL, et avoir lui-même participé aux tests de façon étendue. + +\item John Bowman, pour avoir effectué de nombreux changements dans son + programme Asymptote pour le faire fonctionner dans \TL. + +\item Peter Breitenlohner et toute l'équipe \eTeX{} qui construisent + les bases des successeurs de \TeX, et Peter tout particulièrement pour son + aide concernant l'usage des autotools de GNU partout dans \TL. + +\item Jin-Hwan Cho et toute l'équipe de DVIPDFM$x$ pour leur excellent + programme et leur réactivité face aux problèmes de configuration. + +\item Thomas Esser et sa merveilleuse distribution \teTeX{} sans laquelle + \TL{} n'aurait jamais vu le jour. + +\item Michel Goossens, en tant que co-auteur de la documentation initiale. + +\item Eitan Gurari, dont le programme \TeX4ht est utilisé pour créer la + version \HTML{} de cette documentation et qui travaillait inlassablement à + l'améliorer, ce dans des délais très courts. Eitan nous a quitté + prématurément en juin 2009, et nous dédions la présente documentation à sa + mémoire. + +\item Hans Hagen qui, outre sa participation active aux tests, a adapté le + format \ConTeXt\ (\url{http://pragma-ade.com}) aux besoins de \TL{}. + +\item \Thanh, Martin Schr\"oder et toute l'équipe pdf\TeX\ qui continuent + inlassablement à étendre les performances de \TeX. + +\item Hartmut Henkel, pour ses contributions au développement + de pdf\TeX{} et Lua\TeX{} entre autres. + +\item Taco Hoekwater, pour son travail important et incessant sur le + développement de \MP{} et de (Lua)\TeX\ (\url{http://luatex.org}) + lui-même, pour l'intégration de \ConTeXt\ dans \TL, pour les nouvelles + fonctionnalités mutli-thread de Kpathsea, et bien plus encore. + +\item Pawe{\l} Jackowski pour l'installeur Windows \cmdname{tlpm} et Tomasz + {\L}uczak pour la version graphique \cmdname{tlpmgui} utilisée dans + l'édition précédente. + +\item Akira Kakuto, pour son aide précieuse qui nous a permis + d'intégrer dans \TL{} les binaires Windows de sa distribution \acro{W32TEX} + (\url{http://w32tex.org}). + +\item Jonathan Kew, pour avoir produit Xe\TeX{}, pour l'avoir intégré dans + \TL{}, pour avoir créé la première version de l'installeur Mac\TeX et enfin + pour l'éditeur \TeX{}works que nous recommandons. + +\item Dick Koch, pour la maintenance de Mac\TeX\ (\url{http://tug.org/mactex}) + faite en symbiose avec \TL. + +\item Reinhard Kotucha, pour ses contributions majeures à l'infrastructure de + \TL{} 2008 et à son programme d'installation, pour ses contributions sous + Windows et pour son script \texttt{getnonfreefonts} en particulier. + +\item Siep Kroonenberg, également pour ses contributions majeures à + l'infrastructure de \TL{} 2008 et à son programme d'installation ainsi que + pour la réécriture de cette documentation concernant ces fonctionnalités. + +\item Heiko Oberdieck, pour le paquet \pkgname{epstopdf} et bien d'autres, + pour avoir compressé l'énorme \pkgname{pst-geo} de façon à ce que nous + puissions l'inclure, et, par-dessus tout, son travail remarquable sur + \pkgname{hyperref}. + +\item Petr Ol\v{s}ak, qui coordonna et vérifia minutieusement toute la + partie tchèque et slovaque. + +\item Toshio Oshima, pour le visualisateur \cmdname{dviout} pour Windows. + +\item Manuel Pégourié-Gonnard, pour son aide concernant le programme de mise à + jour de la distribution, la documentation et pour le développement de + \cmdname{texdoc}. + +\item Fabrice Popineau, pionnier du développement de \TL{} sous Windows et + pour son travail sur la documentation française. + +\item Norbert Preining, principal architecte de la distribution \TL{} 2008 et + de son installeur et coordinateur (avec Frank K\"uster) de la + version Debian de \TL. + +\item Sebastian Rahtz, qui a créé la distribution \TL{} et en a assuré la + maintenance pendant de nombreuses années. + +\item Phil Taylor, pour la mise en place du téléchargement par BitTorrent. + +\item Tomasz Trzeciak, pour son aide générale concernant Windows. + +\item Vladimir Volovich, pour son aide substantielle, en particulier pour + avoir rendu possible l'intégration de \cmdname{xindy} dans \TL. + +\item Staszek Wawrykiewicz, principal testeur de \TL{} et coordinateur des + contributions polonaises (fontes, installation Windows, etc.). + +\item Olaf Weber, pour son patient assemblage de \Webc. + +\item Gerben Wierda, qui a créé et maintenu initialement la partie \MacOSX{} + et participé activement aux tests. + +\item Graham Williams, pour son travail sur le catalogue \TeX. + +\end{itemize*} + +Les binaires ont été compilés par : +Ettore Aldrovandi (\pkgname{i386-solaris}, \pkgname{x86\_64-solaris}), +Alan Braslau (\pkgname{amd64-kfreebsd}, \pkgname{i386-kfreebsd}), +Peter Breitenlohner (\pkgname{x86\_64-linux}), +Karl Berry (\pkgname{i386-linux}), +Ken Brown (\pkgname{i386-cygwin}), +Akira Kakuto (\pkgname{win32}), +Dick Koch (\pkgname{universal-darwin}, \pkgname{x86\_64-darwin}), +Nikola Le\v{c}i\'c (\pkgname{amd64-freebsd}, \pkgname{i386-freebsd}), +Mojca Miklavec (\pkgname{mipsel-linux}), +Norbert Preining (\pkgname{alpha-linux}), +Thomas Schmitz (\pkgname{powerpc-linux}), +Boris Veytsman (\pkgname{armel-linux}), +Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-solaris}), +Olaf Weber (\pkgname{mips-irix}). + +Traducteurs de ce manuel : +Boris Veytsman (russe), +Jjgod Jiang, Jinsong Zhao, Yue Wang, \& Helin Gai (chinois), +Uwe Ziegenhagen (German), +Manuel P\'egouri\'e-Gonnard (français), +Marco Pallante (italien), +Nikola Le\v{c}i\'c (serbe), +Petr Sojka \& Jan Busa (thèque et slovaque), +Staszek Wawrykiewicz (polonais). +La page d'accueil de la documentation \TL{} est +\url{http://tug.org/texlive/doc.html}. + +Bien sûr, notre gratitude va en premier lieu à Donald Knuth pour avoir +inventé \TeX{} et l'avoir offert au monde entier. + +\section{Historique des versions successives} +\label{sec:history} + +\subsection{Les éditions précédentes} + +La discussion commença à la fin de 1993 quand le Groupe des Utilisateurs +Néerlandais de \TeX{} commençait à travailler à son \CD{} 4All\TeX{} pour les +utilisateurs de \acro{MS-DOS} et on espérait à ce moment sortir un \CD{} +unique pour tous les systèmes. C'était un objectif beaucoup trop ambitieux +mais il permit la naissance du \CD{} 4All\TeX{}, projet couronné de succès et +aussi d'un groupe de travail « \acro{TUG} Technical Council » pour +mettre en place TDS (\emph{\TeX{} Directory Structure} : +\url{http://tug.org/tds}), qui spécifiait la gestion des fichiers \TeX{} sous +une forme logique. La mouture finale de \TDS{} fut publiée dans le numéro de +décembre 1995 de \textsl{TUGboat} et il était clair depuis un certain temps +qu'il fallait proposer un produit contenant une structure modèle sur \CD{}. +La distribution que vous possédez est le résultat direct des délibérations de +ce groupe de travail. Il était également clair que le succès des \CD{} +4All\TeX{} démontrait que les utilisateurs d'Unix trouveraient leur bonheur +avec une distribution aussi simple et ceci a été l'autre objectif de +\TL. + +Nous avons d'abord entrepris de créer un nouveau \CD{} \TDS{} Unix à l'automne +1995 et nous avons rapidement choisi \teTeX{} de Thomas Esser comme étant la +configuration idéale, car il supportait déjà plusieurs plates-formes et avait +été construit en gardant à l'esprit la portabilité entre systèmes. Thomas +accepta de nous aider et commença à travailler sérieusement au début de 1996. +La première édition sortit en mai 1996. Au début de 1997, Karl Berry acheva +une nouvelle distribution de \Webc{}, qui incluait presque toutes les +caractéristiques que Thomas Esser avait ajoutées dans \teTeX{} et il fut décidé +de baser la deuxième édition du \CD{} sur le standard \Webc, en y ajoutant le +script \texttt{texconfig} de \teTeX. La troisième édition du \CD{} était +basée sur une version majeure de \Webc, 7.2, par Olaf Weber ; en même temps, +une nouvelle version révisée de \teTeX{} était achevée dont \TL{} partageait +presque toutes les caractéristiques. La quatrième édition a suivi le même +schéma, en utilisant une nouvelle version de \teTeX{} et une nouvelle version +de \Webc{} (7.3). Le système incluait dorénavant un programme complet +d'installation pour Windows. + +Pour la cinquième édition (mars 2000), de nombreuses parties du \CD{} +ont été vérifiées et révisées, des centaines de composants +mis à jour. +Le contenu détaillé des composants était décrit par des +fichiers XML. Mais le changement majeur de cette cinquième édition a +été la suppression de tout logiciel non libre de droits. +Tout ce qui se trouve dans \TL{} devait être compatible avec la licence +Debian (\emph{Debian Free Software Guidelines} : +\url{http://www.debian.org/intro/free}) ; nous avons +fait de notre mieux pour vérifier les termes des licences de chaque +composant et nous souhaiterions que toute erreur nous soit signalée. + +La sixième édition (juillet 2001) contient un grand nombre de mises à jour. +Le changement majeur de cette version réside dans la refonte du +processus d'installation : l'utilisateur peut désormais choisir +les collections de manière plus précise. Les collections concernant +les langues ont été entièrement réorganisées, aussi le choix d'une +langue installe non seulement les macros, les fontes, etc. mais +prépare également un fichier \file{language.dat} adéquat. + +La septième édition (mai 2002) a comme ajout majeur une installation +pour \MacOSX{} et l'habituelle myriade de mises à jour de composants et +de programmes. Un objectif important a été de fusionner à +nouveau les sources avec ceux de \teTeX{}, alors que les versions +5 et 6 s'en étaient éloignées. + +\subsubsection{2003} + +En 2003, le flot de mises à jour et d'additions a continué mais nous +avons constaté que \TL{} était devenu si volumineux qu'il ne +pouvait plus tenir sur un seul \CD, aussi l'avons-nous divisé en trois +distributions distinctes (voir section~\ref{sec:tl-coll-dists}, +page~\pageref{sec:tl-coll-dists}). Par ailleurs : +\begin{itemize} +\item À la demande de l'équipe \LaTeX{}, nous avons modifié les + commandes standard \cmdname{latex} et \cmdname{pdflatex} pour + qu'elles utilisent \eTeX{} (voir page~\pageref{text:etex}). +\item Les nouvelles fontes Latin Modern sont disponibles (et + recommandées). +\item Le support pour Alpha \acro{OSF} a été supprimé + (celui pour \acro{HPUX} l'avait été auparavant), car personne + disposant des machines nécessaires ne s'est + proposé pour compiler les nouveaux binaires. +\item L'installation pour Windows a été largement modifiée ; un environnement + de travail intégré basé sur \cmdname{XEmacs} a été introduit. +\item Des programmes supplémentaires importants pour Windows (Perl, + Ghost\-script, Image\-Magick, Ispell) sont maintenant installés dans le + répertoire d'installation de \TL{}. +\item Les fichiers \emph{font map} utilisés par \cmdname{dvips}, + \cmdname{dvipdfm} et \cmdname{pdftex} sont maintenant générés par le + nouveau programme \cmdname{updmap} et installés dans + \dirname{texmf/fonts/map}. +\item Dorénavant, \TeX{}, \MF{} et \MP{} écrivent les caractères 8 bits + présentés en entrée sans modification et non pas avec la notation + \verb|^^|, que ce soit dans des fichiers (par la commande + \verb|write|), dans les fichiers de trace (\verb|.log|) ou sur le + terminal. Dans le \TL{}~7, l'écriture de ces caractères + 8 bits était influencée par les paramètres de localisation du + système; maintenant ces paramètres n'influent plus du tout sur le + comportement des programmes \TeX{}. Si pour quelque raison que ce + soit, vous avez besoin de la notation \verb|^^| en sortie, + renommez le fichier \verb|texmf/web2c/cp8bit.tcx|. Les prochaines + versions disposeront d'un moyen plus propre pour contrôler cette + sortie. +\item La documentation de \TL{} a été largement révisée. +\item Enfin, comme la numérotation séquentielle des versions + devenait peu maniable, il a été décidé d'identifier désormais la version + de \TL{} par l'année : \TL{}~2003 au lieu de \TL{}~8. +\end{itemize} + + +\subsubsection{2004} + +2004 a apporté beaucoup de changements (et quelques incompatibilités avec les +versions précédentes) : + +\begin{itemize} + +\item Si vous avez installé des fontes supplémentaires qui ont leur propre +fichier \file{.map} ou des fichiers \file{.enc} spécifiques, vous +devrez vraisemblablement déplacer ces fichiers. + +Les fichiers \file{.map} sont désormais recherchés uniquement dans les +sous-répertoires \dirname{fonts/map} (dans chaque arborescence +\filename{texmf}), leur chemin de recherche est donné par la variable +\envname{TEXFONTMAPS} de \filename{texmf.cnf}. +De même, les fichiers \file{.enc} sont désormais recherchés uniquement +dans les sous-répertoires \dirname{fonts/enc}, leur chemin de recherche est +donné par la variable \envname{ENCFONTS} de \filename{texmf.cnf}. +Le script \cmdname{updmap} devrait émettre des messages d'avertissement +pour les fichiers \file{.map} et \file{.enc} mal placés. + +Sur les différentes façons de traiter le problème, consulter +\url{http://tug.org/texlive/mapenc.html}. + +\item La distribution pour Windows a changé cette année : +l'installation de la distribution \fpTeX{} (basée sur \Webc{}) de Fabrice +Popineau n'est plus proposée. À la place, vous pouvez tester et installer +la distribution \ProTeXt{} basée sur \MIKTEX{} (indépendante de \Webc{}), +voir section~\ref{sec:overview-tl}, page~\pageref{sec:overview-tl}. + +\item L'ancien répertoire \dirname{texmf} a été éclaté en trois parties : +\dirname{texmf}, \dirname{texmf-dist} et \dirname{texmf-doc}. Voir +section~\ref{sec:tld}, page~\pageref{sec:tld}. + +\item Tous les fichiers relatifs aux différents avatars de \TeX{} sont +désormais regroupés dans le même sous-répertoire \dirname{tex} des +arborescences \dirname{texmf*} (ils étaient jusqu'ici placés dans des +sous-répertoires spécifiques \dirname{tex}, \dirname{etex}, +\dirname{pdftex}, \dirname{pdfetex}, etc.). Voir +\CDref{texmf-dist/doc/generic/tds/tds.html\#Extensions} +{\texttt{texmf-dist/doc/generic/tds/tds.html\#Extensions}}. + +\item Les scripts auxiliaires, normalement pas exécutés directement +par les utilisateurs, sont regroupés dans des sous-répertoires \dirname{scripts} +des arborescences \dirname{texmf*}. On les localise grâce à la +commande \verb|kpsewhich -format=texmfscripts|. Au cas où vous en +auriez, les programmes utilisant ces scripts nécessiteront une adaptation. +Voir \CDref{texmf-dist/doc/generic/tds/tds.html\#Scripts} +{\texttt{texmf-dist/doc/generic/tds/tds.html\#Scripts}}. + +\item La plupart des formats affichent en clair (dans les fichiers +\file{.log} en particulier) les caractères imprimables au lieu +de les transcrire en notation hexadécimale \verb|^^|. Ceci se fait +grâce au fichier \filename{cp227.tcx}, qui considère comme imprimables +les caractères 32 à 256, ainsi que les tabulations et les changements +de page (caractères 9 à 11). Les formats faisant exception sont +plain \TeX\ (seuls les caractères 32 à 127 sont déclarés imprimables), +\ConTeXt{} (0 à 255 imprimables) et les formats basés sur \OMEGA. +Il y a peu de différence avec le comportement de \TL\,2003 +mais la mise en Å“uvre est plus propre et plus facilement configurable. +Voir \OnCD{texmf/doc/web2c/web2c.html\#TCX-files}. +Noter que l'utilisation du codage Unicode en entrée peut provoquer +des affichages défectueux en sortie (TeX code sur un seul octet). + +\item Tous les formats, sauf plain \TeX, font appel au moteur +\textsf{pdfetex} (qui produit bien sûr par défaut des fichiers \acro{DVI} +lorsque le format choisi est \LaTeX). Ceci permet aux formats +\LaTeX, \ConTeXt, etc., d'avoir accès aux fonctionnalités +micro-typographiques de pdf\TeX{} (alignement optique des marges par exemple) +et aux fonctionnalités de \eTeX{} (\OnCD{texmf-dist/doc/etex/base/}). + +Ceci rend \emph{indispensable} le recours à l'extension \pkgname{ifpdf} +(qui fonctionne aussi bien avec plain que \LaTeX) pour déterminer si +le format de sortie est \acro{DVI} ou \acro{PDF}. Tester si la commande +\cs{pdfoutput} est définie ou non \emph{n'est pas} un moyen fiable +de le faire. + +\item pdf\TeX\ (\url{http://pdftex.org}) offre de nouvelles fonctionnalités : + + \begin{itemize} + + \item Les commandes \cs{pdfmapfile} et \cs{pdfmapline} permettent + de spécifier le choix des fichiers \file{.map} à utiliser + pour le document en cours. + + \item L'amélioration du gris typographique par variation (infime) de la + largeur des caractères (\textit{font expansion}) est plus facile à + mettre en Å“uvre, voir + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} + + \item Le fichier \filename{pdftex.cfg} n'est plus utilisé. + Toutes les affectations de paramètres doivent désormais être + faites dans le préambule en utilisant les primitives ad~hoc. + + \item Pour plus d'informations, consulter le manuel de pdf\TeX\ : + \OnCD{texmf/doc/pdftex/manual}. + + \end{itemize} + +\item La primitive \cs{input} de \cmdname{tex}, \cmdname{mf} et +\cmdname{mpost}, accepte désormais les espaces et autres caractères +spéciaux dans les noms de fichiers à condition d'utiliser des +\textit{double quotes}, en voici deux exemples typiques : +\begin{verbatim} +\input "filename with spaces" % plain +\input{"filename with spaces"} % latex +\end{verbatim} +Consulter le manuel \Webc{} pour plus d'informations : \OnCD{texmf/doc/web2c}. + +\item Les fonctionnalités de enc\TeX\ sont désormais incluses dans \Webc{}. +Ainsi, tous les formats \emph{construits avec l'option \optname{-enc}} y ont +accès. enc\TeX\ permet le transcodage en entrée et en sortie et +l'utilisation transparente du codage Unicode \acro{UTF}-8. Voir +\OnCD{texmf-dist/doc/generic/enctex/} et +\url{http://www.olsak.net/enctex.html}. + +\item Un nouveau moteur combinant les fonctionnalités de \eTeX\ +et d'\OMEGA, appelé Aleph, est disponible. \OnCD{texmf-dist/doc/aleph/base} +et \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph} +fournissent une information succincte. Le format \LaTeX{} utilisant +Aleph s'appelle \textsf{lamed}. + +\item La licence \acro{LPPL} de \LaTeX\ (version décembre 2003) a changé, +elle est désormais compatible avec les prescriptions Debian. +Les autres changements sont décrits dans le fichier \filename{ltnews}, voir +\OnCD{texmf-dist/doc/latex/base}. + +\item Un nouveau programme, \cmdname{dvipng}, qui convertit les fichiers +\acro{DVI} en images \acro{PNG} a été ajouté. Voir +\OnCD{texmf/doc/man/man1/dvipng.1}. + +\item Nous avons dû réduire le nombre de fontes incluses dans l'extension +\pkgname{cbgreek}, ceci a été fait avec l'accord et l'aide de l'auteur +(Claudio Beccari). Les fontes exclues (invisibles, transparentes, contours) +sont rarement utilisées et la place nous manquait. La collection complète +des fontes \pkgname{cbgreek} est disponible sur \acro{CTAN} +(\url{http://mirror.ctan.org/tex-archive/fonts/greek/cb}). + +\item La commande \cmdname{oxdvi} a été supprimée, il suffit utiliser +\cmdname{xdvi} à la place. + +\item Les commandes \cmdname{initex}, \cmdname{virtex} et leurs +homologues pour \cmdname{mf} et \cmdname{mpost} ont disparu. +Vous pouvez les recréer si nécessaire mais elles sont avantageusement +remplacées, depuis des années maintenant, par l'option \optname{-ini} +(\cmdname{tex} \optname{-ini} pour \cmdname{initex} et \cmdname{virtex}). + +\item Les binaires pour l'architecture \textsf{i386-openbsd} ont été + supprimés par manque de volontaires pour les compiler. + +Sur \textsf{sparc-solaris} (au moins) il sera probablement +nécessaire de positionner la variable d'environnement +\envname{LD\_LIBRARY\_PATH} pour utiliser les programmes de la famille +\pkgname{t1utils}. Ceci vient du fait qu'ils sont compilés en C++ et +que l'emplacement des bibliothèques dynamiques est variable. +Ce n'est pas une nouveauté 2004 mais ce point n'était pas documenté +précédemment. De même, sur \textsf{mips-irix}, les bibliothèques dynamiques +\acro{MIPS}pro 7.4 sont nécessaires. + +\end{itemize} + +\subsubsection{2005} + +2005 a apporté son lot habituel d'innombrables mises à jour d'extensions +et de programmes. L'infrastructure est restée relativement stable par rapport +à 2004, à quelques changements inévitables près : + +\begin{itemize} + +\item Trois nouveaux scripts \cmdname{texconfig-sys}, \cmdname{updmap-sys} et + \cmdname{fmtutil-sys} ont été introduits ; ils agissent sur la + configuration générale de la machine, comme le faisaient les + scripts \cmdname{texconfig}, \cmdname{updmap} et \cmdname{fmtutil} + jusqu'à l'an dernier. Les nouveaux scripts \cmdname{texconfig}, + \cmdname{updmap} et \cmdname{fmtutil} modifient maintenant + la configuration \emph{personnelle} de l'utilisateur qui les lance ; + le résultat est placé dans le répertoire personnel de l'utilisateur + (sous \dirname{$HOME/.texlive2005}). \iffalse$\fi + +\item De nouvelles variables, \envname{TEXMFCONFIG} (resp. + \envname{TEXMFSYSCONFIG}) ont été introduites ; elles définissent + les répertoires où doivent se trouver les fichiers de configuration de + l'utilisateur (resp. de la machine), comme \filename{fmtutil.cnf} et + \filename{updmap.cfg}. Les utilisateurs de fichiers de configuration + locaux \filename{fmtutil.cnf} ou \filename{updmap.cfg} devront + probablement les déplacer ; une autre possibilité est de modifier la + définition des variables \envname{TEXMFCONFIG} ou + \envname{TEXMFSYSCONFIG} dans \filename{texmf.cnf}. L'important est + de s'assurer de la cohérence entre les définitions de ces variables + dans \filename{texmf.cnf} et l'emplacement réel de ces fichiers. + Voir section~\ref{sec:texmftrees}, page~\pageref{sec:texmftrees} pour + la description des différentes arborescences texmf utilisées. + +\item L'an dernier nous avions rendu « \texttt{undefined} » certaines + primitives propres à \cmdname{pdftex} (comme \verb|\pdfoutput|) + dans les formats créés à partir de \cmdname{pdfetex} (\cmdname{latex} + \cmdname{amstex}, \cmdname{context} par exemple)). + C'était à titre transitoire, aussi cette année, ces primitives sont de + nouveau définies dans tous les formats à base \cmdname{pdf(e)tex}, + \emph{même lorsqu'ils sont utilisés pour produire des fichiers + \file{.dvi}}. Ceci implique qu'il vous faudra modifier vos + documents qui utilisent le test \verb|\ifx\pdfoutput\undefined| + pour déterminer si la sortie est en DVI ou en PDF. Le mieux est + d'utiliser l'extension \pkgname{ifpdf.sty} et son test + \verb|\ifpdf| qui fonctionne même en plain \TeX. + +\item L'an dernier nous avions fait en sorte que la plupart des formats + impriment dans les sorties \file{.log} des caractères 8 bits + lisibles à la place des notations hexadécimales \verb|^^| + (voir section précédente). + Le nouveau fichier TCX \filename{empty.tcx} permet + de revenir facilement à la notation traditionnelle \verb|^^|, il suffit + de coder : +\begin{verbatim} +latex --translate-file=empty.tcx fichier.tex +\end{verbatim} + +\item Le nouveau programme \cmdname{dvipdfmx} est disponible pour convertir + des fichier DVI en PDF ; ce programme remplace \cmdname{dvipdfm}, + toujours disponible mais dont l'usage est maintenant déconseillé. + +\item Les variables \envname{HOMETEXMF} et \envname{VARTEXMF} ont été renommées + en \envname{TEXMFHOME} et \envname{TEXMFSYSVAR} respectivement pour + raisons de cohérence avec les autres noms de variables. Il y a aussi + \envname{TEXMFVAR} qui désigne maintenant un répertoire personnel + de l'utilisateur (cf. le premier point de la présente liste). + +\end{itemize} + +\subsubsection{2006--2007} + +En 2006--2007, la nouveauté majeure a été l'arrivée dans \TL{} de Xe\TeX{} +disponible sous forme de deux programmes \texttt{xetex} et \texttt{xelatex}, +voir \url{http://scripts.sil.org/xetex}. + +\MP{} a subi une mise à jour importante et d'autres améliorations +sont prévues, voir \url{http://tug.org/metapost/articles}. Il en va de même +pour pdf\TeX{}, voir \url{http://tug.org/applications/pdftex}. + +Le format \filename{tex.fmt} et les formats pour \MP{} and \MF\ ne +se trouvent plus dans \dirname{texmf/web2c} mais dans des +sous-répertoires de \dirname{texmf/web2c} (la recherche de fichiers +\filename{.fmt} est néanmoins faite aussi dans \dirname{texmf/web2c}). +Ces sous-répertoires portent le nom du moteur utilisé pour construire +le format, par exemple \filename{tex}, \filename{pdftex} ou +\filename{xetex}. Ce changement ne devrait pas avoir d'effet visible +pour les utilisateurs. + +Le programme (plain) \texttt{tex} ignore désormais les lignes commençant +par \texttt{\%\&} qui permettent de déterminer le format à utiliser ; +c'est un vrai \TeX{} « à la Knuth » ! +\LaTeX\ et tous les autres prennent toujours en compte les lignes commençant +par \texttt{\%\&}. + +Comme chaque année des centaines d'extensions et de programmes ont été mis à +jour, voir les sites \acro{CTAN} (\url{http://mirror.ctan.org}). + +L'arborescence utilisée en interne a été réorganisée avec de nouveaux outils +qui devraient fournir une meilleure base de travail pour les développements +futurs. + +Enfin, en mai 2006 Thomas Esser a annoncé qu'il renonçait à poursuivre le +développement de te\TeX{} (\url{http://tug.org/tetex}). Sa décision a relancé +l'intérêt pour \TL, en particulier chez les distributeurs de solutions +\GNU/Linux (un nouveau schéma d'installation \texttt{tetex} a été ajouté dans +le script d'installation de \TL{} pour produire une distribution proche de +l'ancienne te\TeX). La distribution \TL{} existe déjà sous forme de paquets +Debian, espérons que les autres acteurs du monde Linux (RedHat, SuSe, etc.) +suivront et que les utilisateurs se verront proposer à l'avenir des +distributions \TeX{} riches et plus faciles à installer. + +\subsubsection{2008} + +En 2008, l'infrastructure de la distribution \TL{} a été entièrement remaniée. +Un nouveau fichier texte, \filename{tlpkg/texlive.tlpdb}, regroupe toutes les +informations concernant la configuration \TL{} de la machine. + +Ce fichier permet entre autres choses de procéder à des mises à jour par le +réseau après l'installation initiale. Cette possibilité était offerte depuis +des années par MiK\TeX. Nous espérons pouvoir fournir des mises à jour +régulières du contenu des archives \CTAN. + +Le nouveau moteur Lua\TeX\ (\url{http://luatex.org}) a été intégré ; +il offre de nouvelles fonctionnalités typographiques et repose +sur l'excellent langage de commande Lua qui peut aussi être utilisé +en dehors de \TeX. + +Les versions Windows et Unix sont beaucoup plus proches que par le passé. +En particulier les scripts en Perl et en Lua sont communs aux deux +architectures. + +\TL{} dispose d'une nouvelle interface pour la maintenance (\cmdname{tlmgr} +voir section~\ref{sec:tlmgr}), elle permet les ajouts, mises à jour et +suppressions de composants et prend en charge la régénération des bases +\texttt{ls-R}, des formats et des fichiers \filename{.map} lorsque c'est +nécessaire. + +Les fonctionnalités de \cmdname{tlmgr} englobent toutes les tâches dévolues +auparavant à \cmdname{texconfig} qui ne devrait plus être utilisé (il est +conservé mais avec un champ d'action réduit). + +Le programme d'indexation \cmdname{xindy} (\url{http://xindy.sourceforge.net/}) +est maintenant disponible pour la plupart des plates-formes. + +L'utilitaire \cmdname{kpsewhich} dispose de deux options nouvelles : +\optname{--all} qui retourne toutes les occurrences du fichier recherché +et \optname{--subdir} qui limite la recherche à un sous-répertoire donné. + +Le programme \cmdname{dvipdfmx} permet maintenant d'extraire les informations +concernant la \textit{bounding box} par le biais de la commande +\cmdname{extractbb}; c'était une des dernières fonctionnalités de +\cmdname{dvipdfm} qui manquaient à \cmdname{dvipdfmx}. + +Les alias de polices \filename{Times-Roman}, \filename{Helvetica}, etc. +ont été supprimés, les conflits de codage qu'ils induisaient n'ayant pas pu +être résolus. + +Le format \pkgname{platex} a été supprimé afin de résoudre un conflit de nom +avec son homonyme japonais ; le support pour le polonais est assuré +maintenant par l'extension \pkgname{polski}. + +Les fichiers \web{} d'extension \filename{.pool} sont maintenant inclus dans +les binaires afin de faciliter les mises à jour. + +Enfin, les changements décrits par Donald Knuth dans « \TeX\ tuneup of 2008 » +(voir \url{http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}) sont inclus +dans la présente édition. + +\subsubsection{2009} +\label{sec:2009news} % keep with 2009 + +En 2009, le format de sortie par défaut de Lua\AllTeX\ est maintenant le +\acro{PDF} afin de profiter de la prise en charge des polices OpenType et +autres fonctionnalités de Lua\TeX. De nouveaux exécutables nommés +\code{dviluatex} et \code{dvilualatex} fournissent une sortie \acro{DVI}. La +page d'accueil de Lua\TeX{} est \url{http://luatex.org}. + +Le moteur Omega ainsi que le format Lambda ont été retirés, après discussion +avec les auteurs d'Omega. Les versions à jour d'Aleph et de Lamed ont été +conservées, ainsi que les utilitaires Omega. + +\TL fournit la nouvelle version des polices \TypeI{} de l'\acro{AMS}, y compris +Computer Modern : les quelques changements de formes faits au cours des ans par +Knuth dans les sources \MF{} ont été intégrés, et le \eng{hinting} a été +amélioré. Les polices Euler ont été en grande partie redessinées par Hermann +Zapf (voir \url{http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf}). +Dans tous les cas, les métriques n'ont pas changé. La page d'accueil des +polices de l'\acro{AMS} est \url{http://www.ams.org/tex/amsfonts.html}. + +Le nouvel éditeur intégré \TeX{}works est fourni pour Windows, ainsi que dans +Mac\TeX. Pour les autres plate-formes, ainsi que d'autres informations, voir la +page de \TeX{}works : \url{http://tug.org/texworks}. Cet éditeur fonctionnant +sur de nombreuses plate-formes, inspiré par l'éditeur \TeX{}shop de \MacOSX, +vise à faciliter l'utilisation de \TeX. + +Le programme de création de graphiques Asymptote est fourni pour plusieurs +plate-formes. Il fournit un langage de description de graphiques en mode texte +plus ou moins du même genre que \MP{}, mais avec, entre autres, des +fonctionnalités 3D avancées. Sa page d'accueil est +\url{http://asymptote.sourceforge.net}. + +Le programme \code{dvipdfm} séparé a été remplacé par \code{dvipdfmx} qui, +lorsqu'il est appelé par ce nom, travaille dans un mode de compatibilité +spécifique. Le programme \code{dvipdfmx} fournit des fonctionnalités pour les +écritures \acro{CJK} et inclut de nombreux correctifs accumulés au fil des ans +depuis la dernière sortie de \code{dvipdfm}. Sa page d'accueil est +\url{http://project.ktug.or.kr/dvipdfmx}. + +Des exécutables pour les plate-formes \pkgname{cygwin} et \pkgname{i386-netbsd} +sont maintenant fournis, tandis que les autres distributions BSD ont été +abandonnées ; nous avons entendu dire que OpenBSD et FreeBSD fournissent \TeX\ +via leurs propres systèmes de gestion de paquets, et par ailleurs il était +difficile sur ces plate-formes de fabriquer des binaires qui aient une chance +de fonctionner sur plus d'une version. + +Quelques autres changements en vrac : nous utilisons maintenant \pkgname{xz}, +qui remplace \pkgname{lzma} (\url{http://tukaani.org/xz/}), +pour comprimer nos archives ; un |$|\iffalse|$|\fi littéral est autorisé dans +les noms de +fichiers s'il n'est pas suivi du nom d'une variable connue ; la bibliothèque +Kpathsea est maintenant multi-threadée (ce qui sert dans \MP{}) ; le +processus complet de compilation de \TL est maintenant basé sur Automake. + +Remarque finale concernant le passé : toutes les anciennes distributions \TL{} +ainsi que les jaquettes des \CD{} correspondants sont disponibles ici : +\url{ftp://tug.org/historic/systems/texlive}. + +% +\subsubsection{2010} +\label{sec:2010news} % keep with 2010 + +En 2010, les PDF générés utilisent par défaut la version 1.5 du format PDF, ce +qui permet une plus grande compression. Ceci concerne tous les moteurs \TeX{} +produisant directement du PDF, ainsi qu'à \code{dvipdfmx}. Pour revenir au +format PDF 1.4, vous pouvez charger le paquet \pkgname{pdf14} sous \LaTeX{}, +ou régler manuellement |\pdfminorversion=4| (sous pdf\TeX). + +pdf\AllTeX\ convertit maintenant \emph{automatiquement} les fichiers EPS +utilisés au format PDF, en utilisant le paquet \pkgname{epstopdf}, dans tous +les cas où le fichier de configuration \LaTeX{} \code{graphics.cfg} est +chargé, et que le format de sortie est le PDF. Les options par défaut sont +choisies pour éviter autant que possible tout risque d'écrasement d'un fichier +PDF créé manuellement, mais vous pouvez aussi empêcher le chargement +d'\pkgname{epstopdf} en plaçant |\newcommand{\DoNotLoadEpstopdf}{}| (ou +|\def...| avant la déclaration \cs{documentclass}. Le paquet n'est pas chargé +non plus si \pkgname{pst-pdf} est utilisé. Pour plus de détails, reportez-vous +à la documentation du paquet \pkgname{epstopdf} +(\url{http://ctan.org/pkg/epstopdf-pkg}). + +Un autre changement, relié au précédent, est que l'exécution d'un tout petit +nombre de commandes externes depuis \TeX{} (avec le commande |\write18|) est +désormais autorisée par défaut. Ces commandes sont \code{repstopdf}, +\code{makeindex}, \code{kpsewhich}, \code{bibtex}, et \code{bibtex8} ; cette +liste est définie dans \file{texmf.cnf}. Si vous souhaitez désactiver cette +fonctionnalité, vous pouvez désélectionner cette option à l'installation +(section~\ref{sec:options}), ou modifier la valeur après installation en +exécutant |tlmgr conf texmf shell_escape 0|. + +Un autre changement est encore relié aux deux derniers : \BibTeX\ et Makindex +refusent désormais par défaut d'écrire leur fichier de sortie dans n'importe +quel répertoire (ce que \TeX\ refusait déjà ). Ceci a pour but de permettre +leur inclusion dans la liste ci-dessus. Pour modifier ce comportement, vous +pouvez utiliser la variable d'environnement \envname{TEXMFOUTPUT}, ou modifier +la valeur de |openout_any|. + +\XeTeX{} offre désormais un ajustement optique des marges similaire à celui de +pdf\TeX. (La dilatation des fontes n'est pas contre pas disponible +actuellement.) + +Par défaut, \prog{tlmgr} garde maintenant une copie de sauvegarde de tous les +paquets mis à jour (\code{tlmgr option autobackup 1}) pour permettre de +revenir facilement à l'ancienne version au cas où la nouvelle soit +cassée, en utilisant \code{tlmgr restore}. Si vous faites des mises à jour +après l'installation, et n'avez pas la place de garder ces copies de +sauvegarde, exécutez \code{tlmgr option autobackup 0}. + +De nouveaux programmes sont inclus : le moteur p\TeX{} et les utilitaires reliés +pour la composition du japonais ; le programme \BibTeX{}U qui est une version +de \BibTeX\ gérant Unicode ; l'utilitaire \prog{chktex} +(\url{http://baruch.ev-en.org/proj/chktex}) pour vérifier les documents +\AllTeX ; le programme de conversion DVI vers SVG \prog{dvisvgm} +(\url{http://dvisvgm.sourceforge.net}). + +Nous fournissons des exécutables pour les nouvelles plate-formes suivantes : +\code{amd64-freebsd}, \code{amd64-kfreebsd}, \code{i386-freebsd}, +\code{i386-kfreebsd}, \code{x86\_64-darwin} et \code{x86\_64-solaris}. + +Un changement dans \TL que nous avions oublié de noter : de nombreux +exécutables relatifs à \TeX4ht ont été retirés de la liste des exécutables. La +commande générique \code{mk4ht} permet de lancer les nombreuses variantes de +\code{tex4ht}. + +Enfin, \TL telle qu'elle est présentée dans le \DVD\ \TK{} ne peut plus être +exécutée de façon portable (en \emph{live}) --- contrairement à ce qu'indique +le nom. Il n'y a désormais plus assez de place sur un seul \DVD. Un effet +secondaire agréable de cette nouvelle disposition est que l'installation +depuis un \DVD\ physique est maintenant être beaucoup plus rapide. + +\subsubsection{2011} + +Les binaires pour \MacOSX\ (\code{universal-darwin} et \code{x86\_64-darwin}) +ne fonctionnent désormais que sous Leopard ou une version ultérieure ; Panther +et Tiger ne sont plus supportés. + +Le programme \code{biber} pour le traitement des bibliographies est inclus +pour les plateformes les plus courantes. Son développement suit de près celui +du paquet \code{biblatex} qui réimplémente totalement la gestion des +bibliographies sous \LaTeX. + +Le programme MetaPost (\code{mpost}) ne crée plus et n'utilise plus de +fichiers \code{.mem}. Les fichiers utiles, comme \code{plain.mp}, sont +simplement traités à chaque exécution. Ceci est relié au support de MetaPost +en tant que bibliothèque, qui est un autre changement important bien que peu +visible par les utilisateurs. + +L'implémentation en Perl de \code{updmap}, qui n'était utilisée que sous +Windows, a été remaniée et est désormais utilisée sur toutes les plateformes. +Il ne devrait pas y avoir de changement visible par les utilisateurs, mis à +par une exécution bien plus rapide. + +% +\htmlanchor{news} +\subsection{Version présente} +\label{sec:tlcurrent} + +\code{tlmgr} permet d'utiliser plusieurs dépôts de paquets simultanément pour +les mises à jour. Pour plus de détails, consulter la section sur les dépôts +multiples dans l'aide de \code{tlmgr} (utiliser \code{tlmgr help} par +exemple). + +Le paramètre \cs{XeTeXdashbreakstate} est réglé à ~1 par défaut, pour +\code{xetex} et \code{xelatex}. Ceci autorise les coupures de lignes après les +tirets quadratins et demi-quadratins, ce qui a toujours été le comportement de +\TeX, \LaTeX, Lua\TeX, etc. Si des documents \XeTeX\ existants doivent +conserver une parfaite compatibilité au niveau des coupures de lignes, il +devront mettre \cs{XeTeXdashbreakstate} à ~0 explicitement. + +Les fichiers de sortie générés par \code{pdftex} et \code{dvips}, entre +autres, peuvent maintenant dépasser les 2~Go. + +Les 35 polices Postscript standard sont incluses par défaut dans la sortie de +\code{dvips}, car il y en a trop de versions différentes dans la nature. + +Dans le mode d'éxécution par \cs{write18} limité (le mode par défaut), la +commande \code{mpost} est maintenant autorisée. + +Un fichier \code{texmf.cnf} placé dans \filename{../texmf-local} (par exemple +: \filename{/usr/local/texlive/texmf-local/web2c/texmf.cnf}) sera trouvé et +utilisé s'il existe. + +Le script \code{updmap} lit maintenant un fichier \code{updmap.cfg} par +arborescence au lieu d'un seul fichier global. Ce changement devrait être +invisible à moins que vous n'ayez édité vos fichiers \code{updmap.cfg} +directement. Voir la sortie de \code{updmap --help} pour plus de détails. + +Plate-formes : \pkgname{armel-linux} et \pkgname{mipsel-linux} ont été ajoutés +; \pkgname{sparc-linux} et \pkgname{i386-netbsd} ne font plus partie de la +distribution principale, mais sont disponibles en tant que plate-formes +complémentaires, ainsi que d'autres plate-formes : +\url{http://tug.org/texlive/custom-bin.html}. + +\subsection{Versions futures} + +\emph{\TL{} n'est pas un produit parfait !} (et ne le sera jamais). Nous +prévoyons de continuer à produire de nouvelles versions et aimerions fournir +plus d'aide, de fonctionnalités, de programmes d'installation et (bien sûr) +une arborescence améliorée et vérifiée de macros et de fontes. Ce travail est +effectué par des volontaires sur leur temps libre, et il y a toujours plus à +faire. Si vous pouvez nous aider, n'hésitez pas à nous contacter (cf. +\url{http://tug.org/texlive/contribute.html}). + +Corrections, suggestions et propositions d'aide doivent être envoyées à : +\begin{quote} +\email{tex-live@tug.org} \\ +\url{http://tug.org/texlive} +\end{quote} + +\medskip +\noindent \textsl{Bon travail avec \TeX{} !} + +\end{document} + +%%% Local Variables: +%%% mode: latex +%%% mode: flyspell +%%% ispell-local-dictionary: "francais" +%%% TeX-master: t +%%% coding: utf-8 +%%% End: +% vim: spell spelllang=fr diff --git a/Master/texmf-dist/doc/texlive/texlive-it/Makefile b/Master/texmf-dist/doc/texlive/texlive-it/Makefile new file mode 100644 index 00000000000..17dc5c0fd90 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-it/Makefile @@ -0,0 +1,3 @@ +# public domain +include ../texlive-en/Makefile +doc = texlive-it diff --git a/Master/texmf-dist/doc/texlive/texlive-it/texlive-it.html b/Master/texmf-dist/doc/texlive/texlive-it/texlive-it.html new file mode 100644 index 00000000000..61509be4915 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-it/texlive-it.html @@ -0,0 +1,6532 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" + "http://www.w3.org/TR/html4/loose.dtd"> +<html > +<head> + <title>Guida a TeX Live +TeX Live 2012</title> +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> +<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> +<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> +<!-- charset=iso-8859-1,html,info,fn-in --> +<meta name="src" content="texlive-it.tex"> +<meta name="date" content="2012-06-10 01:04:00"> +<link rel="stylesheet" type="text/css" href="texlive-it.css"> +<link rel="stylesheet" type="text/css" href="texlive-it.css" > +<link rel="stylesheet" type="text/css" href="tex-live.css" > +</head><body +> + <div class="maketitle"> + + + + + +<h2 class="titleHead">Guida a <span class="TEX">T<span +class="E">E</span>X</span> Live<br /> +<span class="TEX">T<span +class="E">E</span>X</span> Live 2012</h2> + <div class="author" ><span +class="ec-lmr-12">Karl Berry</span> +<br /> <a +href="http://tug.org/texlive/" class="url" ><span +class="ec-lmtt-12">http://tug.org/texlive/</span></a> </div><br /> +<div class="date" ><span +class="ec-lmr-12">Giugno 2012</span></div> + </div> + <h3 class="likesectionHead"><a + id="x1-1000"></a>Indice</h3> + <div class="tableofcontents"> + <span class="sectionToc" >1 <a +href="#x1-30001" id="QQ2-1-3">Introduzione</a></span> +<br />  <span class="subsectionToc" >1.1 <a +href="#x1-40001.1" id="QQ2-1-4">TEX Live e la TEX Collection</a></span> +<br />  <span class="subsectionToc" >1.2 <a +href="#x1-50001.2" id="QQ2-1-5">Supporto per i sistemi operativi</a></span> +<br />  <span class="subsectionToc" >1.3 <a +href="#x1-60001.3" id="QQ2-1-6">Installazione base di <span class="TEX">T<span +class="E">E</span>X</span> Live</a></span> +<br />  <span class="subsectionToc" >1.4 <a +href="#x1-70001.4" id="QQ2-1-7">Considerazioni sulla sicurezza</a></span> +<br />  <span class="subsectionToc" >1.5 <a +href="#x1-80001.5" id="QQ2-1-8">Ottenere aiuto</a></span> +<br /> <span class="sectionToc" >2 <a +href="#x1-90002" id="QQ2-1-9">Panoramica di <span class="TEX">T<span +class="E">E</span>X</span> Live</a></span> +<br />  <span class="subsectionToc" >2.1 <a +href="#x1-100002.1" id="QQ2-1-10">La <span class="TEX">T<span +class="E">E</span>X</span> Collection: TEX Live, proTEXt, MacTEX</a></span> +<br />  <span class="subsectionToc" >2.2 <a +href="#x1-110002.2" id="QQ2-1-11">Directory primarie di TEX Live</a></span> +<br />  <span class="subsectionToc" >2.3 <a +href="#x1-120002.3" id="QQ2-1-12">Panoramica dei percorsi predefiniti in texmf</a></span> +<br />  <span class="subsectionToc" >2.4 <a +href="#x1-130002.4" id="QQ2-1-13">Estensioni di <span class="TEX">T<span +class="E">E</span>X</span></a></span> +<br />  <span class="subsectionToc" >2.5 <a +href="#x1-140002.5" id="QQ2-1-14">Altri rilevanti programmi in <span class="TEX">T<span +class="E">E</span>X</span> Live</a></span> +<br />  <span class="subsectionToc" >2.6 <a +href="#x1-150002.6" id="QQ2-1-15">Font in <span class="TEX">T<span +class="E">E</span>X</span> Live</a></span> +<br /> <span class="sectionToc" >3 <a +href="#x1-160003" id="QQ2-1-16">Installazione</a></span> +<br />  <span class="subsectionToc" >3.1 <a +href="#x1-170003.1" id="QQ2-1-17">Avviare l’installatore</a></span> +<br />   <span class="subsubsectionToc" >3.1.1 <a +href="#x1-180003.1.1" id="QQ2-1-18">Unix</a></span> +<br />   <span class="subsubsectionToc" >3.1.2 <a +href="#x1-190003.1.2" id="QQ2-1-19">MacOSX</a></span> +<br />   <span class="subsubsectionToc" >3.1.3 <a +href="#x1-200003.1.3" id="QQ2-1-20">Windows</a></span> +<br />   <span class="subsubsectionToc" >3.1.4 <a +href="#x1-210003.1.4" id="QQ2-1-24">Cygwin</a></span> +<br />   <span class="subsubsectionToc" >3.1.5 <a +href="#x1-220003.1.5" id="QQ2-1-25">L’installatore testuale</a></span> +<br />   <span class="subsubsectionToc" >3.1.6 <a +href="#x1-230003.1.6" id="QQ2-1-26">L’installatore grafico avanzato</a></span> +<br />   <span class="subsubsectionToc" >3.1.7 <a +href="#x1-240003.1.7" id="QQ2-1-27">La semplice installazione guidata</a></span> +<br />  <span class="subsectionToc" >3.2 <a +href="#x1-250003.2" id="QQ2-1-28">Eseguire l’installatore</a></span> +<br />   <span class="subsubsectionToc" >3.2.1 <a +href="#x1-260003.2.1" id="QQ2-1-29">Menu delle architetture (solo Unix)</a></span> +<br />   <span class="subsubsectionToc" >3.2.2 <a +href="#x1-270003.2.2" id="QQ2-1-31">Selezionare cosa deve essere installato</a></span> +<br />   <span class="subsubsectionToc" >3.2.3 <a +href="#x1-280003.2.3" id="QQ2-1-34">Directory</a></span> +<br />   <span class="subsubsectionToc" >3.2.4 <a +href="#x1-290003.2.4" id="QQ2-1-35">Opzioni</a></span> +<br />  <span class="subsectionToc" >3.3 <a +href="#x1-300003.3" id="QQ2-1-37">Opzioni della riga di comando di install-tl</a></span> +<br />   <span class="subsubsectionToc" >3.3.1 <a +href="#x1-310003.3.1" id="QQ2-1-38">L’opzione <span +class="ec-lmtt-10">-repository</span></a></span> +<br />  <span class="subsectionToc" >3.4 <a +href="#x1-320003.4" id="QQ2-1-39">Azioni successive all’installazione</a></span> +<br />   <span class="subsubsectionToc" >3.4.1 <a +href="#x1-330003.4.1" id="QQ2-1-40">Variabili d’ambiente per Unix</a></span> +<br />   <span class="subsubsectionToc" >3.4.2 <a +href="#x1-340003.4.2" id="QQ2-1-41">Variabili d’ambiente: configurazione globale</a></span> +<br />   <span class="subsubsectionToc" >3.4.3 <a +href="#x1-350003.4.3" id="QQ2-1-42">Aggiornamenti da Internet dopo l’installazione del DVD</a></span> +<br />   <span class="subsubsectionToc" >3.4.4 <a +href="#x1-360003.4.4" id="QQ2-1-43">Configurazione dei font di sistema per XeTEX e LuaTEX</a></span> +<br />   <span class="subsubsectionToc" >3.4.5 <a +href="#x1-370003.4.5" id="QQ2-1-44">ConTEXt Mark IV</a></span> +<br />   <span class="subsubsectionToc" >3.4.6 <a +href="#x1-380003.4.6" id="QQ2-1-45">Integrare macro locali e personali</a></span> + + +<br />   <span class="subsubsectionToc" >3.4.7 <a +href="#x1-390003.4.7" id="QQ2-1-46">Integrare font di terze parti</a></span> +<br />  <span class="subsectionToc" >3.5 <a +href="#x1-400003.5" id="QQ2-1-47">Collaudare l’installazione</a></span> +<br />  <span class="subsectionToc" >3.6 <a +href="#x1-410003.6" id="QQ2-1-48">Collegamenti ad ulteriori software scaricabili</a></span> +<br /> <span class="sectionToc" >4 <a +href="#x1-420004" id="QQ2-1-49">Installazione specializzate</a></span> +<br />  <span class="subsectionToc" >4.1 <a +href="#x1-430004.1" id="QQ2-1-50">Installazioni condivise tra utenti o macchine</a></span> +<br /> <span class="sectionToc" >5 <a +href="#x1-440005" id="QQ2-1-51">Installazioni portatili (USB)</a></span> +<br />  <span class="subsectionToc" >5.1 <a +href="#x1-450005.1" id="QQ2-1-52">Installazioni degli ISO (o del DVD)</a></span> +<br /> <span class="sectionToc" >6 <a +href="#x1-460006" id="QQ2-1-53"><span +class="ec-lmss-10">tlmgr</span>: gestire la vostra installazione</a></span> +<br />  <span class="subsectionToc" >6.1 <a +href="#x1-470006.1" id="QQ2-1-57">Modalità GUI di <span +class="ec-lmss-10">tlmgr</span></a></span> +<br />  <span class="subsectionToc" >6.2 <a +href="#x1-480006.2" id="QQ2-1-58">Esempi di invocazioni di <span +class="ec-lmss-10">tlmgr </span>dalla riga di comando</a></span> +<br /> <span class="sectionToc" >7 <a +href="#x1-490007" id="QQ2-1-59">Note relative a Windows</a></span> +<br />  <span class="subsectionToc" >7.1 <a +href="#x1-500007.1" id="QQ2-1-60">Funzionalità specifiche per Windows</a></span> +<br />  <span class="subsectionToc" >7.2 <a +href="#x1-510007.2" id="QQ2-1-61">Software aggiuntivo incluso sotto Windows</a></span> +<br />  <span class="subsectionToc" >7.3 <a +href="#x1-520007.3" id="QQ2-1-63">Il profilo utente è “home”</a></span> +<br />  <span class="subsectionToc" >7.4 <a +href="#x1-530007.4" id="QQ2-1-64">Il registro di configurazione di Windows</a></span> +<br />  <span class="subsectionToc" >7.5 <a +href="#x1-540007.5" id="QQ2-1-65">Permessi di Windows</a></span> +<br />  <span class="subsectionToc" >7.6 <a +href="#x1-550007.6" id="QQ2-1-66">Incrementare la memoria massima sotto Windows e Cygwin</a></span> +<br /> <span class="sectionToc" >8 <a +href="#x1-560008" id="QQ2-1-67">Una guida a Web2C</a></span> +<br />  <span class="subsectionToc" >8.1 <a +href="#x1-570008.1" id="QQ2-1-68">Ricerca dei percorsi con Kpathsea</a></span> +<br />   <span class="subsubsectionToc" >8.1.1 <a +href="#x1-580008.1.1" id="QQ2-1-69">Fonti dei percorsi</a></span> +<br />   <span class="subsubsectionToc" >8.1.2 <a +href="#x1-590008.1.2" id="QQ2-1-70">File di configurazione</a></span> +<br />   <span class="subsubsectionToc" >8.1.3 <a +href="#x1-600008.1.3" id="QQ2-1-71">Espansione dei percorsi</a></span> +<br />   <span class="subsubsectionToc" >8.1.4 <a +href="#x1-610008.1.4" id="QQ2-1-72">Espansione predefinita</a></span> +<br />   <span class="subsubsectionToc" >8.1.5 <a +href="#x1-620008.1.5" id="QQ2-1-73">Espansione delle parentesi graffe</a></span> +<br />   <span class="subsubsectionToc" >8.1.6 <a +href="#x1-630008.1.6" id="QQ2-1-74">Espansione delle sotto directory</a></span> +<br />   <span class="subsubsectionToc" >8.1.7 <a +href="#x1-640008.1.7" id="QQ2-1-75">Elenco dei caratteri speciali e loro significato: un riepilogo</a></span> +<br />  <span class="subsectionToc" >8.2 <a +href="#x1-650008.2" id="QQ2-1-76">Database di nomi di file</a></span> +<br />   <span class="subsubsectionToc" >8.2.1 <a +href="#x1-660008.2.1" id="QQ2-1-77">Il database di nomi</a></span> +<br />   <span class="subsubsectionToc" >8.2.2 <a +href="#x1-670008.2.2" id="QQ2-1-78">kpsewhich: ricerca indipendente di percorsi</a></span> +<br />   <span class="subsubsectionToc" >8.2.3 <a +href="#x1-680008.2.3" id="QQ2-1-79">Esempi d’uso</a></span> +<br />   <span class="subsubsectionToc" >8.2.4 <a +href="#x1-690008.2.4" id="QQ2-1-80">Risoluzione dei problemi</a></span> +<br />  <span class="subsectionToc" >8.3 <a +href="#x1-700008.3" id="QQ2-1-84">Opzioni di esecuzione</a></span> +<br /> <span class="sectionToc" >9 <a +href="#x1-710009" id="QQ2-1-85">Ringraziamenti</a></span> +<br /> <span class="sectionToc" >10 <a +href="#x1-7200010" id="QQ2-1-86">Storia delle edizioni</a></span> +<br />  <span class="subsectionToc" >10.1 <a +href="#x1-7300010.1" id="QQ2-1-87">Passato</a></span> +<br />   <span class="subsubsectionToc" >10.1.1 <a +href="#x1-7400010.1.1" id="QQ2-1-88">2003</a></span> +<br />   <span class="subsubsectionToc" >10.1.2 <a +href="#x1-7500010.1.2" id="QQ2-1-89">2004</a></span> +<br />   <span class="subsubsectionToc" >10.1.3 <a +href="#x1-7600010.1.3" id="QQ2-1-90">2005</a></span> +<br />   <span class="subsubsectionToc" >10.1.4 <a +href="#x1-7700010.1.4" id="QQ2-1-91">2006–2007</a></span> +<br />   <span class="subsubsectionToc" >10.1.5 <a +href="#x1-7800010.1.5" id="QQ2-1-92">2008</a></span> +<br />   <span class="subsubsectionToc" >10.1.6 <a +href="#x1-7900010.1.6" id="QQ2-1-93">2009</a></span> +<br />  <span class="subsectionToc" >10.2 <a +href="#x1-8000010.2" id="QQ2-1-94">2010</a></span> +<br />   <span class="subsubsectionToc" >10.2.1 <a +href="#x1-8100010.2.1" id="QQ2-1-95">2011</a></span> +<br />  <span class="subsectionToc" >10.3 <a +href="#x1-8200010.3" id="QQ2-1-96">Present</a></span> +<br />  <span class="subsectionToc" >10.4 <a +href="#x1-8300010.4" id="QQ2-1-97">Futuro</a></span> + </div> +<!--l. 36--><p class="noindent" > + <h3 class="likesectionHead"><a + id="x1-2000"></a>Note all’edizione italiana</h3> +<!--l. 38--><p class="noindent" >Dopo tanti anni, finalmente abbiamo anche un’edizione italiana di questa guida alla distribuzione <span class="TEX">T<span +class="E">E</span>X</span> Live. +Vorrei premettere che, per garantirne il completamento entro l’uscita di <span class="TEX">T<span +class="E">E</span>X</span> Live 2009, mi sono fatto in +quattro destinando praticamente ogni attimo libero a questo lavoro; ho tenuto sempre acceso il computer, con +l’editor aperto e, spesso, passandoci davanti, mi fermavo a tradurre una sola frase o addirittura una sola parola +pur di non restare fermo. + + +<!--l. 46--><p class="indent" > Ovviamente il risultato è un lavoro fatto con i piedi, uno stile incoerente, parti che nemmeno io riesco a +capire, errori di battitura e di grammatica. Di tutto questo chiedo scusa. Però, adesso, il grosso dello sforzo è +stato fatto e revisionare periodicamente questa guida per limarla e migliorarla sarà un’opera di gran lunga più +semplice. +<!--l. 52--><p class="indent" > Purtroppo, ho mancato l’appuntamento con <span class="TEX">T<span +class="E">E</span>X</span> Live 2010 e la guida lì presente era la stessa del 2009, +con tutti i suoi difetti. Questa volta, per l’edizione 2011, mi sono impegnato un po’ di più, ho ripreso +l’intero lavoro, l’ho aggiornato prima con le modifiche del 2010 e quindi con quelle del 2011, ho +corretto una valanga di errori e ritradotto frasi che con l’italiano avevano davvero poco a che +vedere. +<!--l. 59--><p class="indent" > Ovviamente ci saranno ancora tanti errori, frasi incomprensibili, incoerenze e chi più ne ha più ne metta, +ma spero nuovamente che il mio piccolo contributo a <span class="TEX">T<span +class="E">E</span>X</span> sia apprezzato. Potete contattarmi per qualunque +cosa, aiuti, suggerimenti, correzioni, all’indirizzo <a +href="mailto:marco.pallante@gmail.com" ><span class="path"><span +class="ec-lmtt-10">marco.pallante@gmail.com</span></span></a>. +<!--l. 65--><p class="indent" > Vorrei dedicare questo lavoro alla mia città. +<!--l. 69--><p class="noindent" >Marco Pallante<br +class="newline" /><span +class="ec-lmri-10">L’Aquila, 20 giugno 2011</span>. +<!--l. 73--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">1 </span> <a + id="x1-30001"></a>Introduzione</h3> +<!--l. 76--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">1.1 </span> <a + id="x1-40001.1"></a><span class="TEX">T<span +class="E">E</span>X</span> Live e la <span class="TEX">T<span +class="E">E</span>X</span> Collection</h4> +<!--l. 78--><p class="noindent" >Questo documento descrive le caratteristiche principali della distribuzione <span class="TEX">T<span +class="E">E</span>X</span> Live — <span class="TEX">T<span +class="E">E</span>X</span> e i programmi ad +esso correlati per i sistemi GNU/Linux e altre versioni di Unix, Mac OS X e Windows. +<!--l. 82--><p class="indent" > Potete ottenere <span class="TEX">T<span +class="E">E</span>X</span> Live scaricandola, oppure sul DVD <span class="TEX">T<span +class="E">E</span>X</span> Collection, che i gruppi di utenti <span class="TEX">T<span +class="E">E</span>X</span> +distribuiscono ai propri membri, o in altri modi. La sezione <a +href="#x1-100002.1">2.1<!--tex4ht:ref: sec:tl-coll-dists --></a> descrive brevemente il contenuto del DVD. Sia +<span class="TEX">T<span +class="E">E</span>X</span> Live che <span class="TEX">T<span +class="E">E</span>X</span> Collection sono progetti cooperativi dei gruppi di utenti <span class="TEX">T<span +class="E">E</span>X</span>. Questo descrive +principalmente <span class="TEX">T<span +class="E">E</span>X</span> Live. +<!--l. 88--><p class="indent" > <span class="TEX">T<span +class="E">E</span>X</span> Live include gli eseguibili per <span class="TEX">T<span +class="E">E</span>X</span>, LaTeX2e, Con<span class="TEX">T<span +class="E">E</span>X</span>t, Metafont, MetaPost, BibTeX e molti altri +programmi, una vasta collezione di macro, font e documentazione e il supporto per la composizione tipografica +in molti diversi alfabeti provenienti da tutte le parti del mondo. +<!--l. 93--><p class="indent" > Per un breve riassunto dei principali cambiamenti in questa edizione di <span class="TEX">T<span +class="E">E</span>X</span> Live, consultate la fine di +questo documento, sezione <a +href="#x1-7200010">10<!--tex4ht:ref: sec:history --></a> (p. <a +href="#x1-7200010">73<!--tex4ht:ref: sec:history --></a>). +<!--l. 99--><p class="indent" > <a id="platforms"></a> + <h4 class="subsectionHead"><span class="titlemark">1.2 </span> <a + id="x1-50001.2"></a>Supporto per i sistemi operativi</h4> +<!--l. 103--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Live contiene gli eseguibili per molte piattaforme basate su Unix, inclusi GNU/Linux, Mac OS X e +Cygwin. I sorgenti inclusi possono essere compilati per quelle piattaforme per le quali non forniamo i +binari. +<!--l. 107--><p class="indent" > Per quanto riguarda Windows: Windows XP e successivi sono supportati. Windows 2000 probabilmente +continuerà a funzionare quasi del tutto. Non ci sono specifici eseguibili a 64-bit per Windows, ma quelli a +32-bit dovrebbero funzionare sui sistemi a 64-bit. +<!--l. 112--><p class="indent" > Consulta la sezione <a +href="#x1-100002.1">2.1<!--tex4ht:ref: sec:tl-coll-dists --></a> per scoprire soluzioni alternative per Windows e Mac OS X. +<!--l. 115--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">1.3 </span> <a + id="x1-60001.3"></a>Installazione base di <span class="TEX">T<span +class="E">E</span>X</span> Live</h4> +<!--l. 118--><p class="noindent" >È possibile installare <span class="TEX">T<span +class="E">E</span>X</span> Live dal DVD oppure attraverso Internet (<a +href="http://tug.org/texlive/acquire.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/acquire.html</span></a>). Il +programma di installazione via rete è piccolo e scarica tutto ciò che è necessario da Internet. +<!--l. 122--><p class="indent" > Il programma di installazione nel DVD vi permette l’installazione su un disco locale. Non è possibile +eseguire <span class="TEX">T<span +class="E">E</span>X</span> Live direttamente dal DVD <span class="TEX">T<span +class="E">E</span>X</span> Collection (o dalla sua immagine <span +class="ec-lmtt-10">.iso</span>), ma potete preparare +un’installazione pronta per l’uso su, per esempio, una pennetta USB (consultate la sezione <a +href="#x1-440005">5<!--tex4ht:ref: sec:portable-tl --></a>). L’installazione è +descritta nelle prossime sezioni (p. <a +href="#x1-160003">12<!--tex4ht:ref: sec:install --></a>), ma eccone un rapido accenno: + + + <ul class="itemize1"> + <li class="itemize">Lo script di installazione è chiamato <span class="path"><span +class="ec-lmtt-10">install-tl</span></span>. Può operare in “modalità guidata” (<span +class="ec-lmri-10">wizard</span>) + dando l’opzione <span +class="ec-lmtt-10">-gui=wizard </span>(predefinita sotto Windows), in modalità testuale dando l’opzione + <span +class="ec-lmtt-10">-gui=text </span>(predefinito per gli altri sistemi) e in modalità GUI esperta dando <span +class="ec-lmtt-10">-gui=perltk</span>. + </li> + <li class="itemize">Uno degli elementi installati è il programma “<span class="TEX">T<span +class="E">E</span>X</span> Live Manager”, chiamato <span +class="ec-lmss-10">tlmgr</span>. Così come + l’installatore, può essere usato sia in modalità GUI che in modalità testuale. Lo si può usare per + installare e disinstallare i pacchetti e per compiere varie operazioni di configurazione. + </li></ul> +<!--l. 146--><p class="indent" > <a id="security"></a> + <h4 class="subsectionHead"><span class="titlemark">1.4 </span> <a + id="x1-70001.4"></a>Considerazioni sulla sicurezza</h4> +<!--l. 150--><p class="noindent" >Sulla base delle nostre conoscenze, i programmi centrali di <span class="TEX">T<span +class="E">E</span>X</span> sono (e sono sempre stati) estremamente +robusti. Tuttavia, gli altri programmi in <span class="TEX">T<span +class="E">E</span>X</span> Live potrebbero non raggiungere lo stesso livello, nonostante il +massimo impegno di tutti. Come sempre, dovreste essere attenti nell’eseguire i programmi su documenti di +origine inaffidabile; per la massima sicurezza, eseguiteli in una nuova sotto directory. +<!--l. 157--><p class="indent" > Questo bisogno di attenzone è particolarmente pressante sotto Windows, dato che generalmente Windows +cerca i programmi nella directory attuale prima che in qualunque altra posizione, indipendentemente dal +percorso di ricerca. Questo comportamento crea un’ampia varietà di possibili attacchi. Abbiamo +chiuso molte falle, ma indubbiamente alcune ne rimangono, soprattutto con i programmi di terze +parti. Perciò raccomandiamo di controllare la presenza di file sospetti nella directory attuale, +soprattutto quella di eseguibili (binari o script). Normalmente questi non dovrebbero essere presenti +e senza alcun dubbio normalmente non dovrebbero essere creati semplicemente elaborando un +documento. +<!--l. 168--><p class="indent" > Infine, <span class="TEX">T<span +class="E">E</span>X</span> (e i programmi che lo accompagnano) è capace di creare nuovi file quando elabora i +documento, una funzionalità che può anche essere abusata in una grande quantità di modi. Di nuovo, elaborare +documenti sconosciuti in una nuova sotto directory è la cosa più sicura. +<!--l. 174--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">1.5 </span> <a + id="x1-80001.5"></a>Ottenere aiuto</h4> +<!--l. 177--><p class="noindent" >La comunità <span class="TEX">T<span +class="E">E</span>X</span> è attiva ed amichevole e le domande più importanti finiscono per ricevere una risposta. +Tuttavia il supporto è informale, offerto da volontari e lettori casuali, per cui è particolarmente importante +fare la propria parte prima di chiedere (se preferite un supporto commerciale garantito, potete rinunciare del +tutto a <span class="TEX">T<span +class="E">E</span>X</span> Live e ordinare il sistema di un fornitore; alla pagina <a +href="http://tug.org/interest.html#vendors" class="url" ><span +class="ec-lmtt-10">http://tug.org/interest.html#vendors</span></a> +trovate un elenco). +<!--l. 185--><p class="indent" > Ecco una lista di risorse, approssimativamente nell’ordine in cui noi raccomandiamo di usarle: +<!--l. 188--><p class="indent" > + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10">Per Cominciare</span> </dt><dd +class="description">Se siete nuovi di <span class="TEX">T<span +class="E">E</span>X</span>, alla pagina web <a +href="http://tug.org/begin.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/begin.html</span></a> troverete una + breve introduzione al sistema. + </dd><dt class="description"> +<span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> <span +class="ec-lmbx-10">FAQ</span> </dt><dd +class="description">Le <span class="TEX">T<span +class="E">E</span>X</span> + FAQ sono un enorme compendio di risposte ad ogni genere di domanda, dalle più elementari alle + più oscure. Sono incluse in <span class="TEX">T<span +class="E">E</span>X</span> Live in <a +href="../../../../texmf-dist/doc/generic/FAQ-en/html/index.html" >texmf-dist/doc/generic/FAQ-en/html/index.html</a> e sono + disponibili su Internet alla pagina <a +href="http://www.tex.ac.uk/faq" class="url" ><span +class="ec-lmtt-10">http://www.tex.ac.uk/faq</span></a>. Controllate prima qui. + </dd><dt class="description"> +<span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> <span +class="ec-lmbx-10">Catalogue</span> </dt><dd +class="description">Se state cercando uno specifico pacchetto, font, programma, ecc., il <span class="TEX">T<span +class="E">E</span>X</span> Catalogue + è il luogo dove guardare. È un enorme catalogo con tutte le voci relative a <span class="TEX">T<span +class="E">E</span>X</span>. Visitate + <a +href="http://mirror.ctan.org/help/Catalogue/" class="url" ><span +class="ec-lmtt-10">http://mirror.ctan.org/help/Catalogue/</span></a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Risorse Web per </span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> </dt><dd +class="description">La pagina web <a +href="http://tug.org/interest.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/interest.html</span></a> ha molti collegamenti + relativi a <span class="TEX">T<span +class="E">E</span>X</span>, in particolare a numerosi libri, manuali ed articoli su tutti gli aspetti del sistema. + + + </dd><dt class="description"> +<span +class="ec-lmbx-10">archivi di supporto</span> </dt><dd +class="description">I due principali forum di supporto sono il gruppo Usenet <a +href="news:comp.text.tex" class="url" ><span +class="ec-lmtt-10">news:comp.text.tex</span></a> + e la mailing list <a +href="mailto:texhax@tug.org" ><span class="path"><span +class="ec-lmtt-10">texhax@tug.org</span></span></a>. I loro archivi raccolgono anni di domande e risposte per il + vostro piacere di ricerca tramite <a +href="http://groups.google.com/group/comp.text.tex/topics" class="url" ><span +class="ec-lmtt-10">http://groups.google.com/group/comp.text.tex/topics</span></a> e + <a +href="http://tug.org/mail-archives/texhax" class="url" ><span +class="ec-lmtt-10">http://tug.org/mail-archives/texhax</span></a>, rispettivamente. E una generica ricerca su web, ad + esempio da <a +href="http://google.com" class="url" ><span +class="ec-lmtt-10">http://google.com</span></a>, non fa mai male. + </dd><dt class="description"> +<span +class="ec-lmbx-10">porre domande</span> </dt><dd +class="description">Se non + riuscite a trovare una risposta, potete formulare la vostra domanda su <span class="path"><span +class="ec-lmtt-10">comp.text.tex</span></span> tramite + Google o un programma per Usenet, oppure tramite posta elettronica su <a +href="mailto:texhax@tug.org" ><span class="path"><span +class="ec-lmtt-10">texhax@tug.org</span></span></a>. Ma + prima di scrivere, <span +class="ec-lmri-10">leggete </span>questa voce delle FAQ, al fine di massimizzare le probabilità di ottenere + una risposta utile: <a +href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion" class="url" ><span +class="ec-lmtt-10">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion</span></a>. Vale + anche la pena nominare il sito della Comunità <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> su <a +href="http://www.latex-community.org/" class="url" ><span +class="ec-lmtt-10">http://www.latex-community.org/</span></a> + e il suo forum <a +href="http://www.latex-community.org/forum/" class="url" ><span +class="ec-lmtt-10">http://www.latex-community.org/forum/</span></a> e il <span class="TEX">T<span +class="E">E</span>X</span> StackExchange su + <a +href="http://tex.stackexchange.com/" class="url" ><span +class="ec-lmtt-10">http://tex.stackexchange.com/</span></a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10">supporto </span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> <span +class="ec-lmbx-10">Live</span> </dt><dd +class="description">Se volete segnalare un bug o avete dei suggerimenti o commenti sulla + distribuzione <span class="TEX">T<span +class="E">E</span>X</span> Live, sull’installazione o la documentazione, la mailing list è <a +href="mailto:tex-live@tug.org" ><span class="path"><span +class="ec-lmtt-10">tex-live@tug.</span> + <span +class="ec-lmtt-10">org</span></span></a>. Tuttavia, se la vostra domanda è relativa all’uso di un particolare programma incluso in <span class="TEX">T<span +class="E">E</span>X</span> + Live, scrivete al mantenitore o alla mailing list di quel programma. Spesso eseguire un programma + con l’opzione <span +class="ec-lmtt-10">--help </span>fornisce un indirizzo al quale segnalare i bug. + </dd></dl> +<!--l. 241--><p class="indent" > L’altra faccia della medaglia è aiutare coloro che hanno domande. Sia <span class="path"><span +class="ec-lmtt-10">comp.text.tex</span></span> che <span +class="ec-lmtt-10">texhax</span> +sono aperte a chiunque, quindi sentevi liberi di unirvi, iniziare a leggere e dare una mano dove +potete. +<!--l. 247--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">2 </span> <a + id="x1-90002"></a>Panoramica di <span class="TEX">T<span +class="E">E</span>X</span> Live</h3> +<!--l. 250--><p class="noindent" >Questa sezione descrive i contenuti di <span class="TEX">T<span +class="E">E</span>X</span> Live e della <span class="TEX">T<span +class="E">E</span>X</span> Collection di cui è parte. +<!--l. 252--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.1 </span> <a + id="x1-100002.1"></a>La <span class="TEX">T<span +class="E">E</span>X</span> Collection: <span class="TEX">T<span +class="E">E</span>X</span> Live, pro<span class="TEX">T<span +class="E">E</span>X</span>t, Mac<span class="TEX">T<span +class="E">E</span>X</span></h4> +<!--l. 255--><p class="noindent" >Il DVD <span class="TEX">T<span +class="E">E</span>X</span> Collection include quanto segue: +<!--l. 257--><p class="indent" > + <dl class="description"><dt class="description"> +<span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> <span +class="ec-lmbx-10">Live</span> </dt><dd +class="description">Un sistema <span class="TEX">T<span +class="E">E</span>X</span> completo da installare sul proprio disco. La sua pagina web è + <a +href="http://tug.org/texlive/" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/</span></a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Mac</span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> </dt><dd +class="description">per Mac OS X, aggiunge a <span class="TEX">T<span +class="E">E</span>X</span> Live un installatore nativo per Mac OS X ed altre + applicazioni Mac. La sua pagina web è <a +href="http://tug.org/mactex/" class="url" ><span +class="ec-lmtt-10">http://tug.org/mactex/</span></a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10">pro</span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span><span +class="ec-lmbx-10">t</span> </dt><dd +class="description">Un miglioramento della distribuzione MiK<span class="TEX">T<span +class="E">E</span>X</span> per Windows, pro<span class="TEX">T<span +class="E">E</span>X</span>t aggiunge alcuni + strumenti supplementari a MiK<span class="TEX">T<span +class="E">E</span>X</span> e semplifica l’installazione. È interamente indipendente + da <span class="TEX">T<span +class="E">E</span>X</span> Live e ha le proprie istruzioni per l’installazione. La pagina web di pro<span class="TEX">T<span +class="E">E</span>X</span>t è + <a +href="http://tug.org/protext" class="url" ><span +class="ec-lmtt-10">http://tug.org/protext</span></a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10">CTAN</span> </dt><dd +class="description">Un’instantanea dell’archivio CTAN (<a +href="http://www.ctan.org" class="url" ><span +class="ec-lmtt-10">http://www.ctan.org</span></a>). + </dd><dt class="description"> +<span +class="ec-lmtk-10">texmf-extra</span> </dt><dd +class="description">Una directory con pacchetti aggiuntivi assortiti. + </dd></dl> + + +<!--l. 279--><p class="indent" > CTAN, <span +class="ec-lmss-10">protext </span>e <span class="path"><span +class="ec-lmtt-10">texmf-extra</span></span> non seguono necessariamente le stesse condizioni di licenza di <span class="TEX">T<span +class="E">E</span>X</span> Live, per +cui fate attenzione nel ridistribuirli o modificarli. +<!--l. 284--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.2 </span> <a + id="x1-110002.2"></a>Directory primarie di <span class="TEX">T<span +class="E">E</span>X</span> Live</h4> +<!--l. 287--><p class="noindent" >Segue un breve elenco e una descrizione delle directory primarie in un’installazione di <span class="TEX">T<span +class="E">E</span>X</span> Live. +<!--l. 290--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span +class="ec-lmtt-10">bin</span> </dt><dd +class="list"> + <!--l. 291--><p class="noindent" >I programmi del sistema <span class="TEX">T<span +class="E">E</span>X</span>, raggruppati per piattaforma. + </dd><dt class="list"> + <span +class="ec-lmtt-10">readme-*.dir</span> </dt><dd +class="list"> + <!--l. 293--><p class="noindent" >Una rapida panoramica e collegamenti utili per <span class="TEX">T<span +class="E">E</span>X</span> Live, in varie lingue, sia in HTML che in + formato testuale. + </dd><dt class="list"> + <span +class="ec-lmtt-10">source</span> </dt><dd +class="list"> + <!--l. 296--><p class="noindent" >I sorgenti di tutti i programmi inclusi, comprese le distribuzioni <span class="TEX">T<span +class="E">E</span>X</span> basate su Web2C. + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf</span> </dt><dd +class="list"> + <!--l. 299--><p class="noindent" >Vedi <span class="path"><span +class="ec-lmtt-10">TEXMFMAIN</span></span> sotto. + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf-dist</span> </dt><dd +class="list"> + <!--l. 301--><p class="noindent" >Vedi <span class="path"><span +class="ec-lmtt-10">TEXMFDIST</span></span> sotto. + </dd><dt class="list"> + <span +class="ec-lmtt-10">tlpkg</span> </dt><dd +class="list"> + <!--l. 303--><p class="noindent" >Script, programmi e dati per l’amministrazione dell’installazione e per il supporto specifico di + Windows.</dd></dl> +<!--l. 307--><p class="indent" > In aggiunta alle precedenti directory, gli script di installazione e i file <span class="path"><span +class="ec-lmtt-10">README</span></span> (in varie lingue) si trovano +nella directory della distribuzione. +<!--l. 311--><p class="indent" > Per quanto riguarda la documentazione, i collegamenti nel file <a +href="../../../../doc.html" >doc.html</a> possono risultare utili. La +documentazione per i programmi (manuali, pagine di manuale, file Info) si trova in <span class="path"><span +class="ec-lmtt-10">texmf/doc</span></span>. La +documentazione per i pacchetti ed i formati <span class="TEX">T<span +class="E">E</span>X</span> si trova nella directory <span class="path"><span +class="ec-lmtt-10">texmf-dist/doc</span></span>. Potete usare il +programma <span +class="ec-lmss-10">texdoc </span>per trovare una qualsiasi documentazione, ovunque sia collocata. +<!--l. 319--><p class="indent" > Questa stessa documentazione di <span class="TEX">T<span +class="E">E</span>X</span> Live si trova in <span class="path"><span +class="ec-lmtt-10">texmf/doc/texlive</span></span>, disponibile in varie +lingue: + <ul class="itemize1"> + <li class="itemize">Ceco/Slovacco: <a +href="../../../../texmf/doc/texlive/texlive-cz" >texmf/doc/texlive/texlive-cz</a> + </li> + <li class="itemize">Cinese Semplificato: <a +href="../../../../texmf/doc/texlive/texlive-zh-cn" >texmf/doc/texlive/texlive-zh-cn</a> + </li> + <li class="itemize">Francese: <a +href="../../../../texmf/doc/texlive/texlive-fr" >texmf/doc/texlive/texlive-fr</a> + </li> + <li class="itemize">Inglese: <a +href="../../../../texmf/doc/texlive/texlive-en" >texmf/doc/texlive/texlive-en</a> + </li> + <li class="itemize">Italiano: <a +href="../../../../texmf/doc/texlive/texlive-it" >texmf/doc/texlive/texlive-it</a> + </li> + <li class="itemize">Polacco: <a +href="../../../../texmf/doc/texlive/texlive-pl" >texmf/doc/texlive/texlive-pl</a> + </li> + <li class="itemize">Russo: <a +href="../../../../texmf/doc/texlive/texlive-ru" >texmf/doc/texlive/texlive-ru</a> + </li> + <li class="itemize">Serbo: <a +href="../../../../texmf/doc/texlive/texlive-sr" >texmf/doc/texlive/texlive-sr</a> + + + </li> + <li class="itemize">Tedesco: <a +href="../../../../texmf/doc/texlive/texlive-de" >texmf/doc/texlive/texlive-de</a></li></ul> +<!--l. 334--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.3 </span> <a + id="x1-120002.3"></a>Panoramica dei percorsi predefiniti in texmf</h4> +<!--l. 337--><p class="noindent" >Questa sezione elenca le variabili predefinite che specificano i percorsi dentro texmf usati dal sistema, il loro +scopo e la strutturazione predefinita di <span class="TEX">T<span +class="E">E</span>X</span> Live. Il comando <span +class="ec-lmtt-10">tlmgr</span><span +class="ec-lmtt-10"> conf </span>mostra i valori di queste variabili, +così che sia possibile scoprire con facilità come queste siano riferite alle specifiche directory nella propria +installazione. +<!--l. 343--><p class="indent" > Tutti i percorsi, inclusi quelli personali, dovrebbero seguire la Struttura delle Directory di +<span class="TEX">T<span +class="E">E</span>X</span> (<span class="TEX">T<span +class="E">E</span>X</span> Directory Structure, TDS, <a +href="http://tug.org/tds" class="url" ><span +class="ec-lmtt-10">http://tug.org/tds</span></a>) con tutta la sua miriade di sotto directory, +altrimenti i file potrebbero non essere trovati. La sezione <a +href="#x1-380003.4.6">3.4.6<!--tex4ht:ref: sec:local-personal-macros --></a> (p. <a +href="#x1-380003.4.6">40<!--tex4ht:ref: sec:local-personal-macros --></a>) descrive ciò con maggior +dettaglio. +<!--l. 350--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span +class="ec-lmtt-10">TEXMFMAIN</span> </dt><dd +class="list"> + <!--l. 351--><p class="noindent" >Il percorso che contiene le parti vitali del sistema, come i file di configurazione, gli script di + supporto e la documentazione dei programmi. + </dd><dt class="list"> + <span +class="ec-lmtt-10">TEXMFDIST</span> </dt><dd +class="list"> + <!--l. 354--><p class="noindent" >Il percorso che contiene il gruppo principale di pacchetti di macro, di font, ecc. + </dd><dt class="list"> + <span +class="ec-lmtt-10">TEXMFLOCAL</span> </dt><dd +class="list"> + <!--l. 356--><p class="noindent" >Il percorso che un amministratore può usare per l’installazione di macro, di font, ecc., aggiuntivi + o aggiornati nel proprio sistema, in modo che siano disponibili per tutti gli utenti. + </dd><dt class="list"> + <span +class="ec-lmtt-10">TEXMFHOME</span> </dt><dd +class="list"> + <!--l. 359--><p class="noindent" >Il percorso che ciascun utente può usare per la propria installazione personale di macro, font, + ecc., aggiuntivi o aggiornati. L’espansione di questa variabile si adatta dinamicamente per ciascun + utente alla directory individuale dell’utente stesso. + </dd><dt class="list"> + <span +class="ec-lmtt-10">TEXMFCONFIG</span> </dt><dd +class="list"> + <!--l. 363--><p class="noindent" >Il percorso relativo a ciascun utente usato dai programmi <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">texconfig</span></span></span>, <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">updmap</span></span></span> e <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">fmtutil</span></span></span> per + memorizzare i dati di configurazione modificati. + </dd><dt class="list"> + <span +class="ec-lmtt-10">TEXMFSYSCONFIG</span> </dt><dd +class="list"> + <!--l. 366--><p class="noindent" >Il percorso relativo all’intero sistema usato dai programmi <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">texconfig-sys</span></span></span>, <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">updmap-sys</span></span></span> e + <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">fmtutil-sys</span></span></span> per memorizzare i dati di configurazione modificati. + </dd><dt class="list"> + <span +class="ec-lmtt-10">TEXMFVAR</span> </dt><dd +class="list"> + <!--l. 369--><p class="noindent" >Il percorso relativo a ciascun utente usato da <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">texconfig</span></span></span>, <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">updmap</span></span></span> e <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">fmtutil</span></span></span> per memorizzare i + dati generati durante l’esecuzione, come i file dei formati e le mappe per i font. + </dd><dt class="list"> + <span +class="ec-lmtt-10">TEXMFSYSVAR</span> </dt><dd +class="list"> + <!--l. 373--><p class="noindent" >Il percorso relativo all’intero sistema usato da <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">texconfig-sys</span></span></span>, <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">updmap-sys</span></span></span>, <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">fmtutil-sys</span></span></span> ed + anche da <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">tlmgr</span></span></span> per memorizzare i dati generati durante l’esecuzione, come i file dei formati e le + mappe per i font. + </dd><dt class="list"> + <span +class="ec-lmtt-10">TEXMFCACHE</span> </dt><dd +class="list"> + <!--l. 377--><p class="noindent" >I percorsi usati da Con<span class="TEX">T<span +class="E">E</span>X</span>t MkIV per memorizzare i dati generati durante l’esecuzione.</dd></dl> +<!--l. 381--><p class="noindent" >La strutturazione predefinita è: + + + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10">percorso del sistema</span> </dt><dd +class="description">può contenere diverse edizioni di <span class="TEX">T<span +class="E">E</span>X</span> Live: + <dl class="list2"><dt class="list"> + <span +class="ec-lmtt-10">2011</span> </dt><dd +class="list"> + <!--l. 386--><p class="noindent" >Un’edizione precedente. + </dd><dt class="list"> + <span +class="ec-lmtt-10">2012</span> </dt><dd +class="list"> + <!--l. 387--><p class="noindent" >L’attuale edizione. + <dl class="list3"><dt class="list"> + <span +class="ec-lmtt-10">bin</span> </dt><dd +class="list"> + <!--l. 389--><p class="noindent" >  + <dl class="list4"><dt class="list"> + <span +class="ec-lmtt-10">i386-linux</span> </dt><dd +class="list"> + <!--l. 391--><p class="noindent" >Esebuibili per GNU/Linux + </dd><dt class="list"> + <span +class="ec-lmtt-10">...</span> </dt><dd +class="list"> + <!--l. 392--><p class="noindent" > + </dd><dt class="list"> + <span +class="ec-lmtt-10">universal-darwin</span> </dt><dd +class="list"> + <!--l. 393--><p class="noindent" >Eseguibili per Mac OS X + </dd><dt class="list"> + <span +class="ec-lmtt-10">win32</span> </dt><dd +class="list"> + <!--l. 394--><p class="noindent" >Eseguibili per Windows</dd></dl> + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span> </dt><dd +class="list"> + <!--l. 396--><p class="noindent" >This is <span +class="ec-lmtt-10">TEXMFMAIN</span>. + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf-dist</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span> </dt><dd +class="list"> + <!--l. 397--><p class="noindent" ><span +class="ec-lmtt-10">TEXMFDIST</span> + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf-var </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span> </dt><dd +class="list"> + <!--l. 398--><p class="noindent" ><span +class="ec-lmtt-10">TEXMFSYSVAR</span> + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf-config</span> </dt><dd +class="list"> + <!--l. 399--><p class="noindent" ><span +class="ec-lmtt-10">TEXMFSYSCONFIG</span></dd></dl> + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf-local</span> </dt><dd +class="list"> + <!--l. 401--><p class="noindent" ><span +class="ec-lmtt-10">TEXMFLOCAL</span>, pensato per essere mantenuto tra diverse edizioni.</dd></dl> + </dd><dt class="description"> +<span +class="ec-lmbx-10">home dell’utente</span> </dt><dd +class="description">(<span +class="ec-lmtt-10">$HOME </span>o <span +class="ec-lmtt-10">%USERPROFILE%</span>) + <dl class="list2"><dt class="list"> + <span +class="ec-lmtt-10">.texlive2011</span> </dt><dd +class="list"> + <!--l. 406--><p class="noindent" >Dati privati generati e di configurazione per un’edizione precedente. + </dd><dt class="list"> + <span +class="ec-lmtt-10">.texlive2012</span> </dt><dd +class="list"> + <!--l. 408--><p class="noindent" >Dati privati generati e di configurazione per l’attuale edizione. + <dl class="list3"><dt class="list"> + <span +class="ec-lmtt-10">texmf-var</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span> </dt><dd +class="list"> + <!--l. 411--><p class="noindent" ><span +class="ec-lmtt-10">TEXMFVAR</span>, <span +class="ec-lmtt-10">TEXMFCACHE</span> + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf-config</span> </dt><dd +class="list"> + <!--l. 412--><p class="noindent" ><span +class="ec-lmtt-10">TEXMFCONFIG</span></dd></dl> + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf</span> </dt><dd +class="list"> + <!--l. 414--><p class="noindent" ><span +class="ec-lmtt-10">TEXMFHOME </span>Macro personali, ecc.</dd></dl> + + + </dd></dl> +<!--l. 419--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.4 </span> <a + id="x1-130002.4"></a>Estensioni di <span class="TEX">T<span +class="E">E</span>X</span></h4> +<!--l. 422--><p class="noindent" >Lo sviluppo dell’originale <span class="TEX">T<span +class="E">E</span>X</span> di Knuth è congelato, se si escludono rare correzioni di bug. È ancora presente +in <span class="TEX">T<span +class="E">E</span>X</span> Live come <span +class="ec-lmss-10">tex </span>e vi rimarrà nel prossimo futuro. <span class="TEX">T<span +class="E">E</span>X</span> Live contiene diverse versioni estese di +<span class="TEX">T<span +class="E">E</span>X</span>: +<!--l. 427--><p class="indent" > + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10">e-</span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> </dt><dd +class="description">aggiunge un insieme di nuove primitive (riguardanti l’espansione delle macro, la scansione dei + caratteri, le classi di segnaposti, caratteristiche di debug aggiuntive ed altro ancora) e le estensioni + <span class="TEX">T<span +class="E">E</span>X</span>--XE T per la scrittura bidirezionale. Nella modalità di base, e-<span class="TEX">T<span +class="E">E</span>X</span> è compatibile al 100% + con il <span class="TEX">T<span +class="E">E</span>X</span> ordinario. Consultate <a +href="../../../../texmf-dist/doc/etex/base/etex_man.pdf" >texmf-dist/doc/etex/base/etex_man.pdf</a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10">pdf</span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> </dt><dd +class="description">parte dalle estensioni di e-<span class="TEX">T<span +class="E">E</span>X</span>, aggiunge il supporto per la generazione di file PDF + oltre che dei DVI e molte estensioni che non sono legate alla generazione dell’output. Questo + programma è invocato dalla maggior parte dei formati, come <span +class="ec-lmss-10">etex</span>, <span +class="ec-lmss-10">latex</span>, <span +class="ec-lmss-10">pdflatex</span>. Il suo sito + web è <a +href="http://www.pdftex.org/" class="url" ><span +class="ec-lmtt-10">http://www.pdftex.org/</span></a>. Consultate <a +href="../../../../texmf-dist/doc/pdftex/manual/pdftex-a.pdf" >texmf-dist/doc/pdftex/manual/pdftex-a.pdf</a> per il + manuale e <a +href="../../../../texmf-dist/doc/pdftex/manual/samplepdf/samplepdf.tex" >texmf-dist/doc/pdftex/manual/samplepdf/samplepdf.tex</a> per gli esempi d’uso di alcune + delle sue caratteristiche. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Lua</span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> </dt><dd +class="description">è il successore prescelto di pdf<span class="TEX">T<span +class="E">E</span>X</span>ed è quasi del tutto (ma non completamente) + compatibile con i predecessori. È anche destinato a sostituire le funzioni di Aleph (vedi sotto), + per quanto non sia stata predisposta la compatibilità tecnica. L’interprete Lua incorportato + (<a +href="http://www.lua.org/" class="url" ><span +class="ec-lmtt-10">http://www.lua.org/</span></a>) permette soluzioni eleganti a molti problemi spinosi di <span class="TEX">T<span +class="E">E</span>X</span>. Quando + è invocato come <span class="path"><span +class="ec-lmtt-10">texlua</span></span>, si comporta come un interprete Lua autonomo ed è già usato in + questo modo all’interno di <span class="TEX">T<span +class="E">E</span>X</span> Live. Il suo sito web è <a +href="http://www.luatex.org" class="url" ><span +class="ec-lmtt-10">http://www.luatex.org</span></a> e il manuale di + riferimento è <a +href="../../../../texmf-dist/doc/luatex/luatexref-t.pdf" >texmf-dist/doc/luatex/luatexref-t.pdf</a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Xe</span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> </dt><dd +class="description">aggiunge il supporto per l’input in Unicode e per i font OpenType e di sistema, implementato + usando librerie di terze parti standard. Visitate <a +href="http://tug.org/xetex" class="url" ><span +class="ec-lmtt-10">http://tug.org/xetex</span></a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Omega</span><span +class="ec-lmbx-10"> (Omega)</span> </dt><dd +class="description">è basato sull’Unicode (caratteri a 16 bit) e dunque consente di lavorare con quasi + tutti gli alfabeti del mondo contemporaneamente. Supporta anche i cosiddetti “Omega Translation + Process” (OTP, Processi di Traduzione Omega), per compiere trasformazioni complesse su input + arbitrari. Omega non è più incluso in <span class="TEX">T<span +class="E">E</span>X</span> Live come programma separato; soltanto Aleph è + fornito. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Aleph</span> </dt><dd +class="description">combina le estensioni Omega e e-<span class="TEX">T<span +class="E">E</span>X</span>. Consultate <a +href="../../../../texmf-dist/doc/aleph/base" >texmf-dist/doc/aleph/base</a>. + </dd></dl> +<!--l. 472--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.5 </span> <a + id="x1-140002.5"></a>Altri rilevanti programmi in <span class="TEX">T<span +class="E">E</span>X</span> Live</h4> +<!--l. 474--><p class="noindent" >Seguono alcuni altri programmi di uso comune inclusi in <span class="TEX">T<span +class="E">E</span>X</span> Live: +<!--l. 476--><p class="indent" > + <dl class="list1"><dt class="list"> + <span +class="ec-lmss-10">bibtex, bibtex8</span> </dt><dd +class="list"> + <!--l. 478--><p class="noindent" >supporto per la bibliografia. + </dd><dt class="list"> + <span +class="ec-lmss-10">makeindex, xindy</span> </dt><dd +class="list"> + <!--l. 480--><p class="noindent" >supporto per gli indici. + + + </dd><dt class="list"> + <span +class="ec-lmss-10">dvips</span> </dt><dd +class="list"> + <!--l. 482--><p class="noindent" >converte i DVI in PostScript. + </dd><dt class="list"> + <span +class="ec-lmss-10">xdvi</span> </dt><dd +class="list"> + <!--l. 484--><p class="noindent" >programma di anteprima dei DVI per l’X Window System. + </dd><dt class="list"> + <span +class="ec-lmss-10">dvilj</span> </dt><dd +class="list"> + <!--l. 486--><p class="noindent" >convertitore di DVI per la famiglia di stampanti HP LaserJet. + </dd><dt class="list"> + <span +class="ec-lmss-10">dviconcat, dviselect</span> </dt><dd +class="list"> + <!--l. 489--><p class="noindent" >tagliano ed incollano le pagine contenute nei file DVI. + </dd><dt class="list"> + <span +class="ec-lmss-10">dvipdfmx</span> </dt><dd +class="list"> + <!--l. 492--><p class="noindent" >converte i DVI in PDF, un approccio alternativo a pdf<span class="TEX">T<span +class="E">E</span>X</span> (citato in precedenza). + </dd><dt class="list"> + <span +class="ec-lmss-10">psselect, psnup, </span><span +class="ec-lmss-10">…</span> </dt><dd +class="list"> + <!--l. 495--><p class="noindent" >programmi di manipolazione dei PostScript. + </dd><dt class="list"> + <span +class="ec-lmss-10">pdfjam, pdfjoin, </span><span +class="ec-lmss-10">…</span> </dt><dd +class="list"> + <!--l. 497--><p class="noindent" >programmi di manipolazione dei PDF. + </dd><dt class="list"> + <span +class="ec-lmss-10">texexec, texmfstart</span> </dt><dd +class="list"> + <!--l. 499--><p class="noindent" >processore Con<span class="TEX">T<span +class="E">E</span>X</span>t e PDF. + </dd><dt class="list"> + <span +class="ec-lmss-10">tex4ht</span> </dt><dd +class="list"> + <!--l. 501--><p class="noindent" >convertitore da <span class="TEX">T<span +class="E">E</span>X</span> a HTML (e a XML ed altro ancora). + </dd></dl> +<!--l. 507--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.6 </span> <a + id="x1-150002.6"></a>Font in <span class="TEX">T<span +class="E">E</span>X</span> Live</h4> +<!--l. 510--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Live è fornito con molti caratteri tipografici scalabili di alta qualità. Visita <a +href="http://tug.org/fonts" class="url" ><span +class="ec-lmtt-10">http://tug.org/fonts</span></a> e +<a +href="../../../../texmf-dist/doc/fonts/free-math-font-survey" >texmf-dist/doc/fonts/free-math-font-survey</a>. +<!--l. 515--><p class="indent" > <a id="installation"></a> + <h3 class="sectionHead"><span class="titlemark">3 </span> <a + id="x1-160003"></a>Installazione</h3> +<!--l. 519--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">3.1 </span> <a + id="x1-170003.1"></a>Avviare l’installatore</h4> +<!--l. 522--><p class="noindent" >Per cominciare, procuratevi il DVD <span class="TEX">T<span +class="E">E</span>X</span> Collection oppure scaricate l’installatore di rete di <span class="TEX">T<span +class="E">E</span>X</span> Live ed +individuate il programma di installazione: <span class="path"><span +class="ec-lmtt-10">install-tl</span></span> per Unix, <span class="path"><span +class="ec-lmtt-10">install-tl.bat</span></span> per Windows. Consulate +<a +href="http://tug.org/texlive/acquire.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/acquire.html</span></a> per maggiori informazioni ed altri metodi per ottenere il +software. +<!--l. 528--><p class="indent" > + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10">Installatore di rete:</span> </dt><dd +class="description">Scaricatelo da CTAN, dal percorso <span class="path"><span +class="ec-lmtt-10">systems/texlive/tlnet</span></span>; l’indirizzo + <a +href="http://mirror.ctan.org/systems/texlive/tlnet" class="url" ><span +class="ec-lmtt-10">http://mirror.ctan.org/systems/texlive/tlnet</span></a> reindirizzerà automaticamente ad un mirror + aggiornato vicino. Potete scaricare sia <span class="path"><span +class="ec-lmtt-10">install-tl.zip</span></span> che può essere usato sotto Unix e + Windows, sia il notevolmente più piccolo <span class="path"><span +class="ec-lmtt-10">install-unx.tar.gz</span></span> solo per Unix. Dopo averlo + decompresso, <span class="path"><span +class="ec-lmtt-10">install-tl</span></span> e <span class="path"><span +class="ec-lmtt-10">install-tl.bat</span></span> si troveranno nella sotto directory <span class="path"><span +class="ec-lmtt-10">install-tl</span></span>. + + + </dd><dt class="description"> +<span +class="ec-lmbx-10">DVD </span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> <span +class="ec-lmbx-10">Collection:</span> </dt><dd +class="description">aprite la sotto directory <span class="path"><span +class="ec-lmtt-10">texlive</span></span> del DVD. Sotto Windows, il programma + di installazione dovrebbe partire automaticamente quando inserite il DVD. Potete ottenere il + DVD diventando membri di un gruppo + utenti <span class="TEX">T<span +class="E">E</span>X</span> (caldamente consigliato, <a +href="http://tug.org/usergroups.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/usergroups.html</span></a>) oppure acquistandolo + separatamente (<a +href="http://tug.org/store" class="url" ><span +class="ec-lmtt-10">http://tug.org/store</span></a>) o ancora masterizzandolo a partire dall’immagine ISO. + Sulla maggior parte dei sistemi potete anche montare direttamente l’ISO. Dopo l’installazione dal + DVD o dall’immagine ISO, se volete ottenere gli aggiornamenti da Internet, consulate <a +href="#x1-350003.4.3">3.4.3<!--tex4ht:ref: sec:dvd-install-net-updates --></a>. + </dd></dl> +<!--l. 551--><p class="indent" > Indipendentemente dall’origine, viene eseguito lo stesso programma di installazione. La differenza più +evidente tra i due è che con l’installatore di rete riceverete i pacchetti che sono disponibili al momento. +Questo contrasta con le immagini DVD e ISO, che non vengono aggiornate tra le principali versioni +pubbliche. +<!--l. 557--><p class="noindent" >Le sezioni seguenti spiegano l’avvio dell’installazione in maggiore dettaglio. +<!--l. 561--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.1 </span> <a + id="x1-180003.1.1"></a>Unix</h5> +<!--l. 563--><p class="noindent" >Di seguito, <span +class="ec-lmtt-10">> </span>denota il prompt della shell; l’input dell’utente è in <span +class="ec-lmtk-10">grassetto</span>. Il programma <span class="path"><span +class="ec-lmtt-10">install-tl</span></span> è +uno script Perl. Il modo più semplice per avviarlo su un sistema compatibile Unix è il seguente: +<div class="alltt"> +<!--l. 567--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">cd</span><span +class="ec-lmtk-10"> /percorso/verso/il/programma</span> +<br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">perl</span><span +class="ec-lmtk-10"> install-tl</span> +</div> +</div> In alternativa potete invocare <span +class="ec-lmtk-10">perl /percorso/verso/il/programma/install-lt</span>, oppure <span +class="ec-lmtk-10">./install-tl </span>se +avete i permessi di esecuzione, ecc.; non ripeteremo tutte queste varianti. Potreste dover ingrandire la finestra +di terminale affinché mostri l’intera schermata dell’installatore testuale (Figura <a +href="#x1-20061r1">1<!--tex4ht:ref: fig:text-main --></a>). +<!--l. 578--><p class="indent" > Per eseguire l’installazione nella modalità GUI avanzata (figura <a +href="#x1-20062r2">2<!--tex4ht:ref: fig:gui-main --></a>) avete bisogno del modulo <span class="path"><span +class="ec-lmtt-10">Perl/TK</span></span>) +compilato con il supporto per XFT, che avviene normalmente con GNU/Linux, ma non necessariamente con +altri sistemi. Detto questo, potete eseguire: <div class="alltt"> +<!--l. 583--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">perl</span><span +class="ec-lmtk-10"> install-tl</span><span +class="ec-lmtk-10"> -gui</span> +</div> +</div> +<!--l. 587--><p class="indent" > Per un elenco completo delle diverse opzioni: <div class="alltt"> +<!--l. 588--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">perl</span><span +class="ec-lmtk-10"> install-tl</span><span +class="ec-lmtk-10"> -help</span> +</div> +</div> +<!--l. 592--><p class="indent" > <span +class="ec-lmbx-10">Attenzione riguardo i permessi Unix: </span>La tua <span +class="ec-lmtt-10">umask </span>nel momento dell’installazione sarà rispettata +dall’installatore di <span class="TEX">T<span +class="E">E</span>X</span> Live. Quindi se vuoi che l’installazione sia usabile da altri utenti oltre che te, sii sicuro +che le tue impostazioni siano permissive a sufficienza, per esempio, <span +class="ec-lmtt-10">umask 002</span>. Per ulteriori informazioni +riguardo <span +class="ec-lmtt-10">umask</span>, consulta la documentazione del tuo sistema. +<!--l. 599--><p class="indent" > <span +class="ec-lmbx-10">Considerazioni speciali per Cygwin: </span>Diversamente da altri sistemi Unix-compatibili, Cygwin non è +preimpostato per includere tutti i programmi di cui l’installatore di <span class="TEX">T<span +class="E">E</span>X</span> Live ha bisogno. Consulta la +sezione <a +href="#x1-210003.1.4">3.1.4<!--tex4ht:ref: sec:cygwin --></a> per i dettagli. + + +<!--l. 605--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.2 </span> <a + id="x1-190003.1.2"></a>MacOSX</h5> +<!--l. 607--><p class="noindent" >Come accennato nella sezione <a +href="#x1-100002.1">2.1<!--tex4ht:ref: sec:tl-coll-dists --></a>, abbiamo preparato una distribuzione separata per Mac OS X chiamata +Mac<span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://tug.org/mactex" class="url" ><span +class="ec-lmtt-10">http://tug.org/mactex</span></a>). Su Mac OS X raccomandiamo di usare l’installatore nativo di +Mac<span class="TEX">T<span +class="E">E</span>X</span> al posto dell’installatore di <span class="TEX">T<span +class="E">E</span>X</span> Live in quanto quello nativo esegue alcuni aggiustamenti specifici +per il Mac, in particolare per consentire con semplicità il passaggio tra le varie distribuzioni <span class="TEX">T<span +class="E">E</span>X</span> per +Mac OS X (Mac<span class="TEX">T<span +class="E">E</span>X</span>, Fink, MacPorts, …). +<!--l. 615--><p class="indent" > Mac<span class="TEX">T<span +class="E">E</span>X</span> è strettamente basato su <span class="TEX">T<span +class="E">E</span>X</span> Live e le rispettive strutture delle directory sono esattamente le +stesse. Il primo aggiunge alcune ulteriori cartelle con documentazione e applicazioni specifici per il +Mac. +<!--l. 620--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.3 </span> <a + id="x1-200003.1.3"></a>Windows</h5> +<!--l. 622--><p class="noindent" >Se state usando l’installatore di rete oppure se l’installatore su DVD non si avvia automaticamente, fate +doppio click su <span class="path"><span +class="ec-lmtt-10">install-tl.bat</span></span>. Per ottenere maggiori opzioni di configurazione, come la selezione di +specifiche collezioni di pacchetti, lanciate <span class="path"><span +class="ec-lmtt-10">install-tl-advanced.bat</span></span>. +<!--l. 628--><p class="indent" > Potete avviare l’installatore anche dal prompt dei comandi. Qui sotto, <span +class="ec-lmtt-10">> </span>denota il prompt; l’input +dell’utente è in <span +class="ec-lmtk-10">grassetto</span>. Se vi trovate nella cartella dell’installatore, eseguite semplicemente: +<div class="alltt"> +<!--l. 632--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">install-tl</span> +</div> +</div> +<!--l. 636--><p class="indent" > In aternativa potete lanciarlo con un percorso assoluto, come: <div class="alltt"> +<!--l. 637--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">D:</span><span +class="ec-lmtt-10">\</span><span +class="ec-lmtk-10">texlive</span><span +class="ec-lmtt-10">\</span><span +class="ec-lmtk-10">install-tl</span> +</div> +</div> per il DVD <span class="TEX">T<span +class="E">E</span>X</span> Collection, supponendo che <span class="path"><span +class="ec-lmtt-10">D:</span></span> sia il lettore DVD. La figura <a +href="#x1-20063r3">3<!--tex4ht:ref: fig:wizard-w32 --></a> mostra l’installazione +guidata, che è quella preimpostata per Windows. +<!--l. 644--><p class="indent" > Per installare in modalità testuale, usate: <div class="alltt"> +<!--l. 645--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">install-tl</span><span +class="ec-lmtk-10"> -no-gui</span> +</div> +</div> +<!--l. 649--><p class="indent" > Per un elenco completo delle diverse opzioni: <div class="alltt"> +<!--l. 650--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">install-tl</span><span +class="ec-lmtk-10"> -help</span> +</div> +</div> +<!--l. 655--><p class="indent" > <hr class="figure"><div class="figure" +> + + +<a + id="x1-20061r1"></a> + + +<div class="fancyvrb" id="fancyvrb1"><a + id="x1-20002r1"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Installing</span><span +class="ec-lmtt-8"> TeX</span><span +class="ec-lmtt-8"> Live</span><span +class="ec-lmtt-8"> 2012</span><span +class="ec-lmtt-8"> from:</span><span +class="ec-lmtt-8"> ...</span><br class="fancyvrb" /><a + id="x1-20004r2"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Platform:</span><span +class="ec-lmtt-8"> i386-linux</span><span +class="ec-lmtt-8"> =></span><span +class="ec-lmtt-8"> ’Intel</span><span +class="ec-lmtt-8"> x86</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/Linux’</span><br class="fancyvrb" /><a + id="x1-20006r3"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Distribution:</span><span +class="ec-lmtt-8"> inst</span><span +class="ec-lmtt-8"> (compressed)</span><br class="fancyvrb" /><a + id="x1-20008r4"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ...</span> +<br class="fancyvrb" /><a + id="x1-20010r5"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Detected</span><span +class="ec-lmtt-8"> platform:</span><span +class="ec-lmtt-8"> Intel</span><span +class="ec-lmtt-8"> x86</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/Linux</span><br class="fancyvrb" /><a + id="x1-20012r6"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><br class="fancyvrb" /><a + id="x1-20014r7"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <B></span><span +class="ec-lmtt-8"> binary</span><span +class="ec-lmtt-8"> systems:</span><span +class="ec-lmtt-8"> 1</span><span +class="ec-lmtt-8"> out</span><span +class="ec-lmtt-8"> of</span><span +class="ec-lmtt-8"> 19</span><br class="fancyvrb" /><a + id="x1-20016r8"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><br class="fancyvrb" /><a + id="x1-20018r9"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <S></span><span +class="ec-lmtt-8"> Installation</span><span +class="ec-lmtt-8"> scheme</span><span +class="ec-lmtt-8"> (scheme-full)</span> +<br class="fancyvrb" /><a + id="x1-20020r10"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> 84</span><span +class="ec-lmtt-8"> collections</span><span +class="ec-lmtt-8"> out</span><span +class="ec-lmtt-8"> of</span><span +class="ec-lmtt-8"> 85,</span><span +class="ec-lmtt-8"> disk</span><span +class="ec-lmtt-8"> space</span><span +class="ec-lmtt-8"> required:</span><span +class="ec-lmtt-8"> 3091</span><span +class="ec-lmtt-8"> MB</span><br class="fancyvrb" /><a + id="x1-20022r11"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><br class="fancyvrb" /><a + id="x1-20024r12"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Customizing</span><span +class="ec-lmtt-8"> installation</span><span +class="ec-lmtt-8"> scheme:</span> +<br class="fancyvrb" /><a + id="x1-20026r13"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <C></span><span +class="ec-lmtt-8"> standard</span><span +class="ec-lmtt-8"> collections</span><br class="fancyvrb" /><a + id="x1-20028r14"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <L></span><span +class="ec-lmtt-8"> language</span><span +class="ec-lmtt-8"> collections</span><br class="fancyvrb" /><a + id="x1-20030r15"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><br class="fancyvrb" /><a + id="x1-20032r16"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <D></span><span +class="ec-lmtt-8"> directories:</span><br class="fancyvrb" /><a + id="x1-20034r17"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> TEXDIR</span><span +class="ec-lmtt-8"> (the</span><span +class="ec-lmtt-8"> main</span><span +class="ec-lmtt-8"> TeX</span><span +class="ec-lmtt-8"> directory):</span> +<br class="fancyvrb" /><a + id="x1-20036r18"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> /usr/local/texlive/2012</span><br class="fancyvrb" /><a + id="x1-20038r19"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ...</span><br class="fancyvrb" /><a + id="x1-20040r20"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><br class="fancyvrb" /><a + id="x1-20042r21"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <O></span><span +class="ec-lmtt-8"> options:</span><br class="fancyvrb" /><a + id="x1-20044r22"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> use</span><span +class="ec-lmtt-8"> letter</span><span +class="ec-lmtt-8"> size</span><span +class="ec-lmtt-8"> instead</span><span +class="ec-lmtt-8"> of</span><span +class="ec-lmtt-8"> A4</span><span +class="ec-lmtt-8"> by</span><span +class="ec-lmtt-8"> default</span><br class="fancyvrb" /><a + id="x1-20046r23"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ...</span><br class="fancyvrb" /><a + id="x1-20048r24"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span> +<br class="fancyvrb" /><a + id="x1-20050r25"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <V></span><span +class="ec-lmtt-8"> set</span><span +class="ec-lmtt-8"> up</span><span +class="ec-lmtt-8"> for</span><span +class="ec-lmtt-8"> portable</span><span +class="ec-lmtt-8"> installation</span><br class="fancyvrb" /><a + id="x1-20052r26"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><br class="fancyvrb" /><a + id="x1-20054r27"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Actions:</span><br class="fancyvrb" /><a + id="x1-20056r28"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <I></span><span +class="ec-lmtt-8"> start</span><span +class="ec-lmtt-8"> installation</span><span +class="ec-lmtt-8"> to</span><span +class="ec-lmtt-8"> hard</span><span +class="ec-lmtt-8"> disk</span><br class="fancyvrb" /><a + id="x1-20058r29"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <H></span><span +class="ec-lmtt-8"> help</span><br class="fancyvrb" /><a + id="x1-20060r30"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <Q></span><span +class="ec-lmtt-8"> quit</span></div> +<br /> <div class="caption" +><span class="id">Figura 1: </span><span +class="content">Schermata principale dell’installatore testuale (GNU/Linux)</span></div><!--tex4ht:label?: x1-20061r1 --> + + +<!--l. 690--><p class="indent" > </div><hr class="endfigure"> +<!--l. 692--><p class="indent" > <hr class="figure"><div class="figure" +> + + +<a + id="x1-20062r2"></a> + + + +<!--l. 693--><p class="noindent" ><img +src="../texlive-common/install-lnx-main.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Figura 2: </span><span +class="content">Schermata dell’installatore grafico avanzato (GNU/Linux)</span></div><!--tex4ht:label?: x1-20062r2 --> + + +<!--l. 696--><p class="indent" > </div><hr class="endfigure"> +<!--l. 698--><p class="indent" > <hr class="figure"><div class="figure" +> + + +<a + id="x1-20063r3"></a> + + + +<!--l. 699--><p class="noindent" ><img +src="../texlive-common/wizard-w32.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Figura 3: </span><span +class="content">Schermata dell’installazione guidata (Windows)</span></div><!--tex4ht:label?: x1-20063r3 --> + + +<!--l. 702--><p class="indent" > </div><hr class="endfigure"> +<!--l. 705--><p class="indent" > <a id="cygwin"></a> + <h5 class="subsubsectionHead"><span class="titlemark">3.1.4 </span> <a + id="x1-210003.1.4"></a>Cygwin</h5> +<!--l. 709--><p class="noindent" >L’installatore di <span class="TEX">T<span +class="E">E</span>X</span> Live supporta soltanto Cygwin 1.7. Prima di iniziare l’installazione, usate il programma +<span class="path"><span +class="ec-lmtt-10">setup.exe</span></span> di Cygwin per installare i pacchetti <span class="path"><span +class="ec-lmtt-10">perl</span></span> e <span class="path"><span +class="ec-lmtt-10">wget</span></span>, a meno che non lo abbiate già fatto. I seguenti +pacchetti aggiuntivi sono raccomandati: + <ul class="itemize1"> + <li class="itemize"><span class="path"><span +class="ec-lmtt-10">fontconfig</span></span> [richiesto da Xe<span class="TEX">T<span +class="E">E</span>X</span>] + </li> + <li class="itemize"><span class="path"><span +class="ec-lmtt-10">ghostscript</span></span> [richiesto da vari programmi] + </li> + <li class="itemize"><span class="path"><span +class="ec-lmtt-10">libXaw7</span></span> [richiesto da xdvi] + </li> + <li class="itemize"><span class="path"><span +class="ec-lmtt-10">ncurses</span></span> [fornisce il comando ’clear’ usato dall’installatore]</li></ul> +<!--l. 722--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.5 </span> <a + id="x1-220003.1.5"></a>L’installatore testuale</h5> +<!--l. 724--><p class="noindent" >La figura <a +href="#x1-20061r1">1<!--tex4ht:ref: fig:text-main --></a> mostra la schermata principale della modalità testuale sotto Unix. L’installatore testuale è quello +predefinito sotto Unix. +<!--l. 728--><p class="indent" > Questo è soltanto un installatore a riga di comando; non c’è alcun supporto per il movimento +del cursore di inserimento. Ad esempio, non potete muovervi tra le caselle di spunta o i campi +di inserimento. Voi semplicemente digitate qualcosa al prompt (MAIUSCOLE e minuscole sono +differenti), premete il tasto Invio e l’intera schermata del terminale sarà aggiornata, con il contenuto +alterato. +<!--l. 735--><p class="indent" > L’interfaccia dell’installatore testuale è così primitiva per una ragione: è progettata per funzionare sul +maggior numero di piattaforme possibile, anche con una versione minimale di Perl. +<!--l. 739--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.6 </span> <a + id="x1-230003.1.6"></a>L’installatore grafico avanzato</h5> +<!--l. 741--><p class="noindent" >La figura <a +href="#x1-20062r2">2<!--tex4ht:ref: fig:gui-main --></a> mostra l’installatore grafico avanzato sotto GNU/Linux. Al di là dell’uso di pulsanti e menu, +questo installatore non differisce di molto da quello testuale. +<!--l. 745--><p class="indent" > Questa modalità può essere invocata esplicitamente tramite <div class="alltt"> +<!--l. 746--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">install-tl</span><span +class="ec-lmtk-10"> -gui=perltk</span> +</div> +</div> +<!--l. 751--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.7 </span> <a + id="x1-240003.1.7"></a>La semplice installazione guidata</h5> +<!--l. 753--><p class="noindent" >Sotto Windows, l’azione predefinita è di eseguire il più semplice metodo di installazione che potessimo +escogitare, chiamato “installazione guidata”. Questa installa tutto e praticamente non pone domande. Se volete +personalizzare la vostra installazione, dovete lanciare uno degli altri installatori. +<!--l. 759--><p class="indent" > Questa modalità può essere invocata esplicitamente con <div class="alltt"> +<!--l. 760--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">install-tl</span><span +class="ec-lmtk-10"> -gui=wizard</span> +</div> +</div> + + +<!--l. 765--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">3.2 </span> <a + id="x1-250003.2"></a>Eseguire l’installatore</h4> +<!--l. 768--><p class="noindent" >L’installatore è pensato per essere perlopiù autoesplicativo, ma seguono alcune note riguardo varie opzioni e +sottomenu. +<!--l. 771--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.2.1 </span> <a + id="x1-260003.2.1"></a>Menu delle architetture (solo Unix)</h5> +<!--l. 775--><p class="noindent" ><hr class="figure"><div class="figure" +> + + +<a + id="x1-26043r4"></a> + + +<div class="fancyvrb" id="fancyvrb2"><a + id="x1-26002r1"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Available</span><span +class="ec-lmtt-8"> platforms:</span><br class="fancyvrb" /><a + id="x1-26004r2"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ===============================================================================</span> +<br class="fancyvrb" /><a + id="x1-26006r3"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> a</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> alpha-linux</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> DEC</span><span +class="ec-lmtt-8"> Alpha</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/Linux</span><br class="fancyvrb" /><a + id="x1-26008r4"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> b</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> amd64-freebsd</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> x86_64</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> FreeBSD</span> +<br class="fancyvrb" /><a + id="x1-26010r5"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> c</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> amd64-kfreebsd</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> x86_64</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/kFreeBSD</span><br class="fancyvrb" /><a + id="x1-26012r6"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> d</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> armel-linux</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ARM</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/Linux</span> +<br class="fancyvrb" /><a + id="x1-26014r7"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> e</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> i386-cygwin</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Intel</span><span +class="ec-lmtt-8"> x86</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> Cygwin</span><br class="fancyvrb" /><a + id="x1-26016r8"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> f</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> i386-freebsd</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Intel</span><span +class="ec-lmtt-8"> x86</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> FreeBSD</span> +<br class="fancyvrb" /><a + id="x1-26018r9"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> g</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> i386-kfreebsd</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Intel</span><span +class="ec-lmtt-8"> x86</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/FreeBSD</span><br class="fancyvrb" /><a + id="x1-26020r10"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> h</span><span +class="ec-lmtt-8"> [X]</span><span +class="ec-lmtt-8"> i386-linux</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Intel</span><span +class="ec-lmtt-8"> x86</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/Linux</span> +<br class="fancyvrb" /><a + id="x1-26022r11"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> i</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> i386-solaris</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Intel</span><span +class="ec-lmtt-8"> x86</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> Solaris</span><br class="fancyvrb" /><a + id="x1-26024r12"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> j</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> mips-irix</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> SGI</span><span +class="ec-lmtt-8"> IRIX</span><br class="fancyvrb" /><a + id="x1-26026r13"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> k</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> mipsel-linux</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> mipsel</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> Linux</span> +<br class="fancyvrb" /><a + id="x1-26028r14"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> l</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> powerpc-aix</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> PowerPC</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> AIX</span><br class="fancyvrb" /><a + id="x1-26030r15"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> m</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> powerpc-linux</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> PowerPC</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/Linux</span> +<br class="fancyvrb" /><a + id="x1-26032r16"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> o</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> sparc-solaris</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Sparc</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> Solaris</span><br class="fancyvrb" /><a + id="x1-26034r17"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> p</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> universal-darwin</span><span +class="ec-lmtt-8"> universal</span><span +class="ec-lmtt-8"> binaries</span><span +class="ec-lmtt-8"> for</span><span +class="ec-lmtt-8"> MacOSX/Darwin</span> +<br class="fancyvrb" /><a + id="x1-26036r18"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> s</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> win32</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Windows</span><br class="fancyvrb" /><a + id="x1-26038r19"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> t</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> x86_64-darwin</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> x86_64</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> MacOSX/Darwin</span> +<br class="fancyvrb" /><a + id="x1-26040r20"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> u</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> x86_64-linux</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> x86_64</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/Linux</span><br class="fancyvrb" /><a + id="x1-26042r21"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> v</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> x86_64-solaris</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> x86_64</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> Solaris</span></div> +<br /> <div class="caption" +><span class="id">Figura 4: </span><span +class="content">Menu delle architetture</span></div><!--tex4ht:label?: x1-26043r4 --> + + +<!--l. 800--><p class="noindent" ></div><hr class="endfigure"> +<!--l. 802--><p class="indent" > La figura <a +href="#x1-26043r4">4<!--tex4ht:ref: fig:bin-text --></a> mostra il menu delle architetture in modalità testuale. Di base, saranno installati solo gli +eseguibili per la propria piattaforma attuale. Da questo menu si può selezionare l’installazione dei binari anche +per altre piattaforme. Questa opzione è utile se si condivide un’installazione di <span class="TEX">T<span +class="E">E</span>X</span> in una rete di macchine +eterogenee, oppure per una macchina con due sistemi operativi. + <h5 class="subsubsectionHead"><span class="titlemark">3.2.2 </span> <a + id="x1-270003.2.2"></a>Selezionare cosa deve essere installato</h5> +<!--l. 813--><p class="noindent" ><hr class="figure"><div class="figure" +> + + +<a + id="x1-27025r5"></a> + + +<div class="fancyvrb" id="fancyvrb3"><a + id="x1-27002r1"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Select</span><span +class="ec-lmtt-8"> scheme:</span><br class="fancyvrb" /><a + id="x1-27004r2"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ===============================================================================</span><br class="fancyvrb" /><a + id="x1-27006r3"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> a</span><span +class="ec-lmtt-8"> [X]</span><span +class="ec-lmtt-8"> full</span><span +class="ec-lmtt-8"> scheme</span><span +class="ec-lmtt-8"> (everything)</span> +<br class="fancyvrb" /><a + id="x1-27008r4"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> b</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> medium</span><span +class="ec-lmtt-8"> scheme</span><span +class="ec-lmtt-8"> (small</span><span +class="ec-lmtt-8"> +</span><span +class="ec-lmtt-8"> more</span><span +class="ec-lmtt-8"> packages</span><span +class="ec-lmtt-8"> and</span><span +class="ec-lmtt-8"> languages)</span><br class="fancyvrb" /><a + id="x1-27010r5"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> c</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> small</span><span +class="ec-lmtt-8"> scheme</span><span +class="ec-lmtt-8"> (basic</span><span +class="ec-lmtt-8"> +</span><span +class="ec-lmtt-8"> xetex,</span><span +class="ec-lmtt-8"> metapost,</span><span +class="ec-lmtt-8"> a</span><span +class="ec-lmtt-8"> few</span><span +class="ec-lmtt-8"> languages)</span> +<br class="fancyvrb" /><a + id="x1-27012r6"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> d</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> basic</span><span +class="ec-lmtt-8"> scheme</span><span +class="ec-lmtt-8"> (plain</span><span +class="ec-lmtt-8"> and</span><span +class="ec-lmtt-8"> latex)</span><br class="fancyvrb" /><a + id="x1-27014r7"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> e</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> minimal</span><span +class="ec-lmtt-8"> scheme</span><span +class="ec-lmtt-8"> (plain</span><span +class="ec-lmtt-8"> only)</span><br class="fancyvrb" /><a + id="x1-27016r8"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> f</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> ConTeXt</span><span +class="ec-lmtt-8"> scheme</span><br class="fancyvrb" /><a + id="x1-27018r9"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> g</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> GUST</span><span +class="ec-lmtt-8"> TeX</span><span +class="ec-lmtt-8"> Live</span><span +class="ec-lmtt-8"> scheme</span> +<br class="fancyvrb" /><a + id="x1-27020r10"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> h</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> teTeX</span><span +class="ec-lmtt-8"> scheme</span><span +class="ec-lmtt-8"> (more</span><span +class="ec-lmtt-8"> than</span><span +class="ec-lmtt-8"> medium,</span><span +class="ec-lmtt-8"> but</span><span +class="ec-lmtt-8"> nowhere</span><span +class="ec-lmtt-8"> near</span><span +class="ec-lmtt-8"> full)</span><br class="fancyvrb" /><a + id="x1-27022r11"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> i</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> XML</span><span +class="ec-lmtt-8"> scheme</span><br class="fancyvrb" /><a + id="x1-27024r12"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> j</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> custom</span><span +class="ec-lmtt-8"> selection</span><span +class="ec-lmtt-8"> of</span><span +class="ec-lmtt-8"> collections</span></div> +<br /> <div class="caption" +><span class="id">Figura 5: </span><span +class="content">Menu degli schemi</span></div><!--tex4ht:label?: x1-27025r5 --> + + +<!--l. 829--><p class="noindent" ></div><hr class="endfigure"> +<!--l. 831--><p class="indent" > La figura <a +href="#x1-27025r5">5<!--tex4ht:ref: fig:scheme-text --></a> mostra il menu degli schemi di <span class="TEX">T<span +class="E">E</span>X</span> Live; da qui potete scegliere uno “schema”, che è un +insieme di collezioni di pacchetti. Questo è lo schema raccomandato, ma potete anche scegliere <span +class="ec-lmtt-10">basic </span>per un +sistema piccolo, <span +class="ec-lmtt-10">minimal </span>per scopi di prova e <span +class="ec-lmtt-10">medium </span>o <span +class="ec-lmtt-10">teTeX </span>per una via di mezzo. Ci sono anche ulteriori +schemi specializzati e specifici per particolari paesi. +<!--l. 838--><p class="indent" > <hr class="figure"><div class="figure" +> + + +<a + id="x1-27026r6"></a> + + + +<!--l. 839--><p class="noindent" ><img +src="../texlive-common/stdcoll.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Figura 6: </span><span +class="content">Menu delle collezioni</span></div><!--tex4ht:label?: x1-27026r6 --> + + +<!--l. 841--><p class="indent" > </div><hr class="endfigure"> +<!--l. 843--><p class="indent" > Potete rifinire la vostra scelta dello schema con i menu “Collezioni di base” e “Collezioni di lingue” +(figura <a +href="#x1-27026r6">6<!--tex4ht:ref: fig:collections-gui --></a>, mostrati, per cambiare, in modalità GUI). +<!--l. 847--><p class="indent" > Le collezioni stanno ad un livello di dettaglio maggiore rispetto agli schemi —  in pratica, uno schema +consiste in varie collezioni, una collezione consiste in uno o più pacchetti e un pacchetto (la più +piccola forma di raggruppamento in <span class="TEX">T<span +class="E">E</span>X</span> Live) contiene i file con le macro <span class="TEX">T<span +class="E">E</span>X</span>, i font e così +via. +<!--l. 853--><p class="indent" > Se desiderate un controllo maggiore di quello fornito dal menu delle collezioni, potete usare il programma +<span class="TEX">T<span +class="E">E</span>X</span> Live Manager (<span +class="ec-lmss-10">tlmgr</span>) dopo l’installazione (cfr. la sezione <a +href="#x1-460006">6<!--tex4ht:ref: sec:tlmgr --></a>); tramite tale programma, potete controllare +l’installazione al livello di dettaglio dei singoli pacchetti. + <h5 class="subsubsectionHead"><span class="titlemark">3.2.3 </span> <a + id="x1-280003.2.3"></a>Directory</h5> +<!--l. 862--><p class="noindent" >La strutturazione predefinita è descritta nella sezione <a +href="#x1-120002.3">2.3<!--tex4ht:ref: sec:texmftrees --></a>, p. <a +href="#x1-120002.3">9<!--tex4ht:ref: sec:texmftrees --></a>. La posizione predefinita di <span class="path"><span +class="ec-lmtt-10">TEXDIR</span></span> è +<span class="path"><span +class="ec-lmtt-10">/usr/local/texlive/2012</span></span> sotto Unix e <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">%SystemDrive%\texlive\2012</span></span></span> sotto Windows. +<!--l. 867--><p class="indent" > La ragione principale per cambiare il valore preimpostato si ha quando non avete i permessi di scrittura per +tale percorso. Non dovete essere root o l’amministratore per installare <span class="TEX">T<span +class="E">E</span>X</span> Live, ma avete bisogno dell’accesso +in scrittura sulla directory di destinazione. +<!--l. 872--><p class="indent" > Una ragionevole scelta alternativa è una directory all’interno della vostra home, soprattutto se sarete gli +unici utilizzatori. Usate “<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">~</span></span></span>” per specificare la vostra home, come ad esempio in “<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">~/texlive/2012</span></span></span>”. +<!--l. 876--><p class="indent" > Raccomandiamo di includere l’anno nel percorso, così da poter tenere diverse edizioni di <span class="TEX">T<span +class="E">E</span>X</span> Live fianco a +fianco (potete usare un collegamento simbolico con il nome indipendente dalla edizione, come +<span class="path"><span +class="ec-lmtt-10">/usr/local/texlive-cur</span></span>, da aggiornare dopo aver provato la nuova edizione). +<!--l. 882--><p class="indent" > Modificare <span class="path"><span +class="ec-lmtt-10">TEXDIR</span></span> durante l’installazione causerà anche la modifica di <span class="path"><span +class="ec-lmtt-10">TEXMFLOCAL</span></span>, <span class="path"><span +class="ec-lmtt-10">TEXMFSYSVAR</span></span> e +<span class="path"><span +class="ec-lmtt-10">TEXMFSYSCONFIG</span></span>. +<!--l. 886--><p class="indent" > <span class="path"><span +class="ec-lmtt-10">TEXMFHOME</span></span> è la posizione raccomandata per le macro e i pacchetti personali. Il suo valore +predefinito è <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">~/texmf</span></span></span>. A differenza di <span class="path"><span +class="ec-lmtt-10">TEXDIR</span></span>, qui il carattere <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">~</span></span></span> viene mantenuto all’interno dei file di +configurazione creati, dato che è utile che si riferisca alla home di ciascuna persona che esegue <span class="TEX">T<span +class="E">E</span>X</span>. Si +espande in <span class="path"><span +class="ec-lmtt-10">$HOME</span></span> sotto Unix e <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">%USERPROFILE%</span></span></span> sotto Windows. Speciale nota ridondante: <span +class="ec-lmtt-10">TEXMFHOME</span>, +come tutti gli altri percorsi, deve essere organizzata secondo il TDS, o i file potrebbero non essere +trovati. +<!--l. 895--><p class="indent" > <span class="path"><span +class="ec-lmtt-10">TEXMFVAR</span></span> è la posizione in cui vengono memorizzati la maggior parte dei dati generati durante l’esecuzione +specifici per ciascun utente. <span class="path"><span +class="ec-lmtt-10">TEXMFCACHE</span></span> è usato per lo stesso scopo da Con<span class="TEX">T<span +class="E">E</span>X</span>t MkIV (consultate la +sezione <a +href="#x1-370003.4.5">3.4.5<!--tex4ht:ref: sec:context-mkiv --></a>, p. <a +href="#x1-370003.4.5">39<!--tex4ht:ref: sec:context-mkiv --></a>). +<!--l. 902--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.2.4 </span> <a + id="x1-290003.2.4"></a>Opzioni</h5> +<!--l. 906--><p class="noindent" ><hr class="figure"><div class="figure" +> + + +<a + id="x1-29025r7"></a> + + +<div class="fancyvrb" id="fancyvrb4"><a + id="x1-29002r1"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Options</span><span +class="ec-lmtt-8"> setup:</span><br class="fancyvrb" /><a + id="x1-29004r2"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ===============================================================================</span> +<br class="fancyvrb" /><a + id="x1-29006r3"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <P></span><span +class="ec-lmtt-8"> use</span><span +class="ec-lmtt-8"> letter</span><span +class="ec-lmtt-8"> size</span><span +class="ec-lmtt-8"> instead</span><span +class="ec-lmtt-8"> of</span><span +class="ec-lmtt-8"> A4</span><span +class="ec-lmtt-8"> by</span><span +class="ec-lmtt-8"> default:</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><br class="fancyvrb" /><a + id="x1-29008r4"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <E></span><span +class="ec-lmtt-8"> execution</span><span +class="ec-lmtt-8"> of</span><span +class="ec-lmtt-8"> restricted</span><span +class="ec-lmtt-8"> list</span><span +class="ec-lmtt-8"> of</span><span +class="ec-lmtt-8"> programs:</span><span +class="ec-lmtt-8"> [X]</span> +<br class="fancyvrb" /><a + id="x1-29010r5"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <F></span><span +class="ec-lmtt-8"> create</span><span +class="ec-lmtt-8"> format</span><span +class="ec-lmtt-8"> files:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> [X]</span><br class="fancyvrb" /><a + id="x1-29012r6"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <D></span><span +class="ec-lmtt-8"> install</span><span +class="ec-lmtt-8"> font/macro</span><span +class="ec-lmtt-8"> doc</span><span +class="ec-lmtt-8"> tree:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> [X]</span> +<br class="fancyvrb" /><a + id="x1-29014r7"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <S></span><span +class="ec-lmtt-8"> install</span><span +class="ec-lmtt-8"> font/macro</span><span +class="ec-lmtt-8"> source</span><span +class="ec-lmtt-8"> tree:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> [X]</span><br class="fancyvrb" /><a + id="x1-29016r8"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <L></span><span +class="ec-lmtt-8"> create</span><span +class="ec-lmtt-8"> symlinks</span><span +class="ec-lmtt-8"> in</span><span +class="ec-lmtt-8"> standard</span><span +class="ec-lmtt-8"> directories:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><br class="fancyvrb" /><a + id="x1-29018r9"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> binaries</span><span +class="ec-lmtt-8"> to:</span> +<br class="fancyvrb" /><a + id="x1-29020r10"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> manpages</span><span +class="ec-lmtt-8"> to:</span><br class="fancyvrb" /><a + id="x1-29022r11"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> info</span><span +class="ec-lmtt-8"> to:</span><br class="fancyvrb" /><a + id="x1-29024r12"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <Y></span><span +class="ec-lmtt-8"> after</span><span +class="ec-lmtt-8"> installation,</span><span +class="ec-lmtt-8"> get</span><span +class="ec-lmtt-8"> package</span><span +class="ec-lmtt-8"> updates</span><span +class="ec-lmtt-8"> from</span><span +class="ec-lmtt-8"> CTAN:</span><span +class="ec-lmtt-8"> [X]</span></div> +<br /> <div class="caption" +><span class="id">Figura 7: </span><span +class="content">Menu delle opzioni (Unix)</span></div><!--tex4ht:label?: x1-29025r7 --> + + +<!--l. 922--><p class="noindent" ></div><hr class="endfigure"> +<!--l. 924--><p class="indent" > La figura <a +href="#x1-29025r7">7<!--tex4ht:ref: fig:options-text --></a> mostra il menu delle opzioni in modalità testuale. Ulteriori informazioni su ciascuna +opzione: + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10">Usa come predefinito il formato di pagina lettera al posto dell’A4:</span> </dt><dd +class="description">Questa è la selezione del + formato di carta predefinito. Ovviamente, se lo si desidera, si potrà e si dovrebbe specificare il + formato della carta in ogni singolo documento. + </dd><dt class="description"> +<span +class="ec-lmbx-10">execution of restricted list of programs:</span> </dt><dd +class="description">A partire da <span class="TEX">T<span +class="E">E</span>X</span> Live 2010, è consentita l’esecuzione + da parte di <span class="TEX">T<span +class="E">E</span>X</span> di pochi programmo esterni. La (molto breve) lista di questi programmi è data + nel file <span class="path"><span +class="ec-lmtt-10">texmf.cnf</span></span>. Consultate le novità 2010 (sezione <a +href="#x1-8000010.2">10.2<!--tex4ht:ref: sec:2010news --></a>) per maggiori dettagli. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Crea i file di formato:</span> </dt><dd +class="description">Per quanto i file di formato non strettamente necessari richiedano tempo per + essere generati e spazio su disco per essere memorizzati, è comunque raccomandato di lasciare + questa opzione attiva: se non lo fate, allora i file di formato saranno generati, quando necessari, + all’interno delle directory private <span class="path"><span +class="ec-lmtt-10">TEXMFVAR</span></span> di ciascun utente. In tali posizioni, non saranno + aggiornati automaticamente se lo sono (ad esempio) gli eseguibili o i modelli di sillabazione + nell’installazione, e così potreste trovarvi ad avere formati incompatibili. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Installa </span><span +class="ec-lmbx-10">…</span><span +class="ec-lmbx-10"> per font e macro:</span> </dt><dd +class="description">Queste opzioni consentono di omettere lo scaricamento e l’installazione + della documentazione e dei file sorgenti presenti nella maggior parte dei pacchetti. Non sono + raccomandate. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Crea i collegamenti nelle directory di sistema:</span> </dt><dd +class="description">Questa opzione (solo Unix) scavalca la necessità + di modificare le variabili di ambiente. Senza di essa, le directory di <span class="TEX">T<span +class="E">E</span>X</span> Live devono + solitamente essere aggiunte alle variabili <span +class="ec-lmtt-10">PATH</span>, <span +class="ec-lmtt-10">MANPATH </span>e <span +class="ec-lmtt-10">INFOPATH</span>. Avete bisogno dei permessi + di scrittura nelle directory di destinazione. Suggeriamo vivamente di <span +class="ec-lmri-10">non </span>usare questa opzione + per sovrascrivere un’installazione <span class="TEX">T<span +class="E">E</span>X</span> fornita con il vostro sistema. Questa opzione è pensata + principalmente per accedere al sistema <span class="TEX">T<span +class="E">E</span>X</span> tramite directory già note agli utenti, come + <span class="path"><span +class="ec-lmtt-10">/usr/local/bin</span></span>, che non contengono già alcun file di <span class="TEX">T<span +class="E">E</span>X</span>. + </dd><dt class="description"> +<span +class="ec-lmbx-10">after installation </span><span +class="ec-lmbx-10">…</span><span +class="ec-lmbx-10"> CTAN:</span> </dt><dd +class="description">Quando si esegue l’installazione da DVD, questa opzione è abilitata di + default, dato che di solito si vuole prendere ogni successivo aggiornamento di pacchetti dall’area + CTAN che è aggiornata durante l’anno. L’unica ragione plausibile per disabilitarla è quando + si vuole installare solo un sottoinsieme dal DVD e si ha intenzione di estendere l’installazione + successivamente. In ogni caso, l’archivio dei pacchetti per l’installatore e per gli aggiornamenti + successivi all’installazione può essere impostato in modo indipendente secondo le necessità; + consultate le sezioni <a +href="#x1-310003.3.1">3.3.1<!--tex4ht:ref: sec:location --></a> e <a +href="#x1-350003.4.3">3.4.3<!--tex4ht:ref: sec:dvd-install-net-updates --></a>.</dd></dl> +<!--l. 977--><p class="indent" > Quando tutte le impostazioni sono come le desiderate, potete digitare “I” per avviare il processo di +installazione. Quando questo è completo, passate alla sezione <a +href="#x1-320003.4">3.4<!--tex4ht:ref: sec:postinstall --></a> per leggere cos’altro dovete fare, se ce n’è +bisogno. + <h4 class="subsectionHead"><span class="titlemark">3.3 </span> <a + id="x1-300003.3"></a>Opzioni della riga di comando di install-tl</h4> +<!--l. 986--><p class="noindent" >Digitate <div class="alltt"> +<!--l. 987--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">install-tl</span><span +class="ec-lmtk-10"> -help</span> +</div> +</div> per ottenere un elenco delle opzioni della riga di comando. Sia <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">-</span></span></span> che <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">--</span></span></span> possono essere usati per introdurre i +nomi delle opzioni. Ecco le più comuni: +<!--l. 994--><p class="noindent" > + + + <dl class="list1"><dt class="list"> + <span +class="ec-lmtt-10">-gui</span> </dt><dd +class="list"> + <!--l. 995--><p class="noindent" >Se possibile, usa l’installatore grafico. Questa opzione richiede il modulo Perl/Tk + (<a +href="http://tug.org/texlive/distro.html#perltk" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/distro.html#perltk</span></a>) compilato con il supporto per XFT; se + Perl/Tk non è disponibile, l’installazione prosegue in modalità testuale. + </dd><dt class="list"> + <span +class="ec-lmtt-10">-no-gui</span> </dt><dd +class="list"> + <!--l. 1001--><p class="noindent" >Costringe all’uso dell’installatore testuale, anche sotto Windows. + </dd><dt class="list"> + <span +class="ec-lmtt-10">-lang </span><span +class="ec-lmro-10">LL</span> </dt><dd +class="list"> + <!--l. 1004--><p class="noindent" >Specifica la lingua dell’interfaccia dell’installatore sotto forma di codice standard (di solito a due + lettere). L’installatore cerca di determinare automaticamente la lingua corretta, ma se fallisce o se + la lingua corretta non è disponibile, allora usa l’inglese come ripiego. Lanciate <span +class="ec-lmtt-10">install-tl –help</span> + per la lista delle lingue disponibili. + <!--l. 1011--><p class="noindent" ><a id="opt-in-place"></a> + </dd><dt class="list"> + <span +class="ec-lmtt-10">-in-place</span> </dt><dd +class="list"> + <!--l. 1012--><p class="noindent" >Se avete già una copia di <span class="TEX">T<span +class="E">E</span>X</span> Live, anche ottenuta tramite rsync o svn (consultate + <a +href="http://tug.org/texlive/acquire-mirror.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/acquire-mirror.html</span></a>), allora questa opzione userà ciò che avete + ottenuto, così com’è, ed eseguirà solo le necessarie procedure di post installazione. Siete avvisati + che il file <span class="path"><span +class="ec-lmtt-10">tlpkg/texlive.tlpdb</span></span> potrebbe venire sovrascritto; salvarne una copia è vostra + responsabilità. Inoltre, la rimozione dei pacchetti deve essere eseguita manualmente. Non usate + questa opzione a meno che non sappiate cosa state facendo. Questa opzione non può essere attivata + dall’interfaccia dell’installatore. + </dd><dt class="list"> + <span +class="ec-lmtt-10">-portable</span> </dt><dd +class="list"> + <!--l. 1022--><p class="noindent" >Installa per un uso portatile su una chiavetta USB. Questa oprione è selezionabile dall’installatore + testuale con il comando <span +class="ec-lmtt-10">V </span>e dall’installatore grafico. Consultate la sezione <a +href="#x1-440005">5<!--tex4ht:ref: sec:portable-tl --></a>. + </dd><dt class="list"> + <span +class="ec-lmtt-10">-profile </span><span +class="ec-lmro-10">file</span> </dt><dd +class="list"> + <!--l. 1027--><p class="noindent" >Carica il profilo di installazione <span +class="ec-lmro-10">file </span>ed esegue l’installazione senza interazione con l’utente. Il + programma di installazione scrive sempre un file <span class="path"><span +class="ec-lmtt-10">texlive.profile</span></span> nella sotto directory <span class="path"><span +class="ec-lmtt-10">tlpkg</span></span> + della vostra installazione. Quel file può essere passato come argomento per ripetere esattamente la + stessa installazione su un sistema differente. In alternativa, potete usare un profilo personalizzato, + creato facilmente partendo da uno generato automaticamente e modificandone i valori, oppure + potete usare un file vuoto, che prenderà come valori tutti quelli predefiniti. + </dd><dt class="list"> + <span +class="ec-lmtt-10">-repository </span><span +class="ec-lmro-10">url-o-directory</span> </dt><dd +class="list"> + <!--l. 1037--><p class="noindent" >Specifica l’archivio dei pacchetti da cui installare; vedi più avanti.</dd></dl> +<!--l. 1042--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.3.1 </span> <a + id="x1-310003.3.1"></a>L’opzione <span +class="ec-lmtt-10">-repository</span></h5> +<!--l. 1045--><p class="noindent" >L’archivio dei pacchetti di rete predefinito è uno dei mirror di CTAN scelto automaticamente tramite +<a +href="http://mirror.ctan.org" class="url" ><span +class="ec-lmtt-10">http://mirror.ctan.org</span></a>. +<!--l. 1048--><p class="indent" > Per rimpiazzare questa scelta, potete specificare un url che comincia per <span +class="ec-lmtt-10">ftp:</span>, <span +class="ec-lmtt-10">http: </span>o <span +class="ec-lmtt-10">file:/</span>, oppure il +semplice nome di una directory (quando specificate un indirizzo <span +class="ec-lmtt-10">http: </span>o <span +class="ec-lmtt-10">ftp:</span>, l’eventuale carattere finale “<span +class="ec-lmtt-10">/</span>” e +l’eventuale “<span +class="ec-lmtt-10">/tlpkg</span>” conclusivo saranno ignorati). +<!--l. 1054--><p class="indent" > Per esempio, potete scegliere uno specifico mirror di CTAN con qualcosa del tipo: +<a +href="http://ctan.example.org/tex-archive/systems/texlive/tlnet/" class="url" ><span +class="ec-lmtt-10">http://ctan.example.org/tex-archive/systems/texlive/tlnet/</span></a>, sostituendo a <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">ctan.example.org/tex-archive</span></span></span> +il vero nome del sito e il percorso che ospita CTAN. L’elenco dei mirror di CTAN si trova alla pagina +<a +href="http://ctan.org/mirrors" class="url" ><span +class="ec-lmtt-10">http://ctan.org/mirrors</span></a>. +<!--l. 1061--><p class="indent" > Se il valore specificato è locale (sia tramite percorso che tramite un url <span +class="ec-lmtt-10">file:/</span>), saranno usati i file +compressi contenuti in una sotto directory <span class="path"><span +class="ec-lmtt-10">archive</span></span> del percorso (anche se sono disponibili anche file non +compressi). + + +<!--l. 1067--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">3.4 </span> <a + id="x1-320003.4"></a>Azioni successive all’installazione</h4> +<!--l. 1070--><p class="noindent" >Potrebbero essere necessarie alcune azioni successivie all’installazione. +<!--l. 1073--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.1 </span> <a + id="x1-330003.4.1"></a>Variabili d’ambiente per Unix</h5> +<!--l. 1076--><p class="noindent" >Se avete deciso di creare i collegamenti simbolici nelle directory standard (descritto nella sezione <a +href="#x1-290003.2.4">3.2.4<!--tex4ht:ref: sec:options --></a>), allora +non c’è bisogno di modificare le variabili d’ambiente. Altrimenti, nei sistemi Unix, la directory degli eseguibili +per la vostra piattaforma deve essere aggiunta al percorso di ricerca (sotto Windows, è l’installatore ad +occuparsene). +<!--l. 1082--><p class="indent" > Ogni piattaforma supportata ha la propria sotto directory all’interno di <span class="path"><span +class="ec-lmtt-10">TEXDIR/bin</span></span>. Consultate la figura <a +href="#x1-26043r4">4<!--tex4ht:ref: fig:bin-text --></a> +per la lista delle sotto directory e delle corrispondenti piattaforme. +<!--l. 1086--><p class="indent" > Facoltativamente potete anche aggiungere le directory della documentazione man e Info ai propri rispettivi +percorsi di ricerca, se volete che gli strumenti di sistema la trovino. Le pagine di manuale potrebbero essere +trovate magicamente dopo l’aggiunta al <span +class="ec-lmtt-10">PATH</span>. +<!--l. 1091--><p class="indent" > Per le shell compatibili con la Bourne, come <span +class="ec-lmss-10">bash</span>, e usando GNU/Linux per Intel x86 e le directory +predefinite come esempio, il file da modificare dovrebbe essere <span class="path"><span +class="ec-lmtt-10">$HOME/.profile</span></span> (o un qualunque altro file +aperto da <span class="path"><span +class="ec-lmtt-10">.profile</span></span>), e le linee da aggiungere sarebbero simili alle seguenti: +<!--l. 1097--><p class="indent" > + <div class="fancyvrb" id="fancyvrb5"><a + id="x1-33002r1"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> PATH=/usr/local/texlive/2012/bin/i386-linux:$PATH;</span><span +class="ec-lmtt-9"> export</span><span +class="ec-lmtt-9"> PATH</span> +<br class="fancyvrb" /><a + id="x1-33004r2"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> MANPATH=/usr/local/texlive/2012/texmf/doc/man:$MANPATH;</span><span +class="ec-lmtt-9"> export</span><span +class="ec-lmtt-9"> MANPATH</span> +<br class="fancyvrb" /><a + id="x1-33006r3"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> INFOPATH=/usr/local/texlive/2012/texmf/doc/info:$INFOPATH;</span><span +class="ec-lmtt-9"> export</span><span +class="ec-lmtt-9"> INFOPATH</span></div> +<!--l. 1104--><p class="indent" > Per csh o tcsh, il file da modificare tipicamente è <span class="path"><span +class="ec-lmtt-10">$HOME/.cshrc</span></span> e le linee da aggiungere sarebbero del +tipo: +<!--l. 1108--><p class="indent" > + <div class="fancyvrb" id="fancyvrb6"><a + id="x1-33008r1"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> setenv</span><span +class="ec-lmtt-9"> PATH</span><span +class="ec-lmtt-9"> /usr/local/texlive/2012/bin/i386-linux:$PATH</span><br class="fancyvrb" /><a + id="x1-33010r2"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> setenv</span><span +class="ec-lmtt-9"> MANPATH</span><span +class="ec-lmtt-9"> /usr/local/texlive/2012/texmf/doc/man:$MANPATH</span> +<br class="fancyvrb" /><a + id="x1-33012r3"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> setenv</span><span +class="ec-lmtt-9"> INFOPATH</span><span +class="ec-lmtt-9"> /usr/local/texlive/2012/texmf/doc/info:$INFOPATH</span></div> +<!--l. 1114--><p class="indent" > Se già avete delle impostazioni del genere in uno dei file citati, naturalmente dovete semplicemente unirvi le +directory di <span class="TEX">T<span +class="E">E</span>X</span> Live come è più opportuno. +<!--l. 1119--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.2 </span> <a + id="x1-340003.4.2"></a>Variabili d’ambiente: configurazione globale</h5> +<!--l. 1122--><p class="noindent" >Se volete che questi cambiamenti siano globali oppure che si applichino a ciascun nuovo utente aggiunto nel +sistema, allora dovete cavarvela da soli; c’è semplicemente troppa varietà tra i diversi sistemi nel come e nel +dove queste cose siano configurate. +<!--l. 1127--><p class="indent" > I nostri due suggerimenti sono: 1) potete controllare il file <span class="path"><span +class="ec-lmtt-10">/etc/manpath.config</span></span> e, se esiste, aggiungere +linee come +<!--l. 1130--><p class="indent" > + <div class="fancyvrb" id="fancyvrb7"><a + id="x1-34002r1"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> MANPATH_MAP</span><span +class="ec-lmtt-9"> /usr/local/texlive/2012/bin/i386-linux</span><span +class="ec-lmtt-9"> \</span><br class="fancyvrb" /><a + id="x1-34004r2"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> /usr/local/texlive/2012/texmf/doc/man</span></div> +<!--l. 1135--><p class="indent" > E 2) verificate la presenza di un file <span class="path"><span +class="ec-lmtt-10">/etc/environment</span></span> che potrebbe definire il percorso di ricerca ed altre +variabili di ambiente predefinite. +<!--l. 1139--><p class="indent" > In ciascuna directory contenente eseguibili (per Unix), noi creiamo anche un collegamento simbolico +chiamato <span +class="ec-lmtt-10">man </span>alla directory <span class="path"><span +class="ec-lmtt-10">texmf/doc/man</span></span>. Alcuni programmi <span +class="ec-lmtt-10">man</span>, come quello di Mac OS X, lo +individueranno automaticamente, ovviando alla necessità di qualunque configurazione per le pagine di +manuale. +<!--l. 1146--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.3 </span> <a + id="x1-350003.4.3"></a>Aggiornamenti da Internet dopo l’installazione del DVD</h5> +<!--l. 1149--><p class="noindent" >Se avete installato <span class="TEX">T<span +class="E">E</span>X</span> Live dal DVD e successivamente volete ottenere gli aggiornamenti da Internet, dovete +eseguire questo comando—<span +class="ec-lmri-10">dopo </span>aver aggiornato il vostro percorso di ricerca (come descritto nella sezione +precedente): + <div class="alltt"> + + +<!--l. 1154--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tlmgr</span><span +class="ec-lmtk-10"> option</span><span +class="ec-lmtk-10"> repository</span><span +class="ec-lmtk-10"> http://mirror.ctan.org/systems/texlive/tlnet</span> +</div> +</div> +<!--l. 1158--><p class="indent" > Questo dice a <span +class="ec-lmss-10">tlmgr </span>di usare un mirror di CTAN nelle vicinanze per gli aggiornamenti futuri. È l’azione +predefinita quando si installa dal DVD, tramite l’opzione descritta nella sezione <a +href="#x1-290003.2.4">3.2.4<!--tex4ht:ref: sec:options --></a>. +<!--l. 1162--><p class="indent" > Se ci sono problemi con la selezione automatica di un mirror, potete specificarne uno in particolare +dall’elenco alla pagina <a +href="http://ctan.org/mirrors" class="url" ><span +class="ec-lmtt-10">http://ctan.org/mirrors</span></a>. Usate il percorso esatto alla sotto directory <span class="path"><span +class="ec-lmtt-10">tlnet</span></span> su quel +mirror, come mostrato in precedenza. +<!--l. 1168--><p class="indent" > <a id="xetexfontconfig"></a> <a id="sysfontconfig"></a> + <h5 class="subsubsectionHead"><span class="titlemark">3.4.4 </span> <a + id="x1-360003.4.4"></a>Configurazione dei font di sistema per Xe<span class="TEX">T<span +class="E">E</span>X</span> e Lua<span class="TEX">T<span +class="E">E</span>X</span></h5> +<!--l. 1173--><p class="noindent" >Xe<span class="TEX">T<span +class="E">E</span>X</span> e Lua<span class="TEX">T<span +class="E">E</span>X</span> possono usare qualsiasi font installato nel sistema, non solo quelli nelle directory di <span class="TEX">T<span +class="E">E</span>X</span>. +Fanno questo tramite metodi correlati, ma non identici. +<!--l. 1177--><p class="indent" > Su Windows, i font distribuiti con <span class="TEX">T<span +class="E">E</span>X</span> Live sono resi disponibili a Xe<span class="TEX">T<span +class="E">E</span>X</span> automaticamente. Ma se avete +installato il pacchetto <span class="path"><span +class="ec-lmtt-10">xetex</span></span> su un sistema Unix, dovete configurare il vostro sistema in modo che sia capace di +trovare i font distribuiti con <span class="TEX">T<span +class="E">E</span>X</span> Live tramite il meccanismo di ricerca dei nomi di sistema e non +semplicemente la ricerca di nomi di file. +<!--l. 1184--><p class="indent" > Per facilitare il compito, quando il pacchetto <span +class="ec-lmss-10">xetex </span>è installato (sia durante l’installazione iniziale che in +seguito), viene creato il file di configurazione necessario in <span class="path"><span +class="ec-lmtt-10">TEXMFSYSVAR/fonts/conf/texlive-fontconfig.conf</span></span>. +<!--l. 1189--><p class="indent" > Per impostare i font di <span class="TEX">T<span +class="E">E</span>X</span> Live per l’uso nell’intero sistema (assumendo che abbiate gli opportuni +privilegi), procedete come segue: + <ol class="enumerate1" > + <li + class="enumerate" id="x1-36002x1">Copiate il file <span class="path"><span +class="ec-lmtt-10">texlive-fontconfig.conf</span></span> in <span class="path"><span +class="ec-lmtt-10">/etc/fonts/conf.d/09-texlive.conf</span></span>. + </li> + <li + class="enumerate" id="x1-36004x2">Eseguite <span +class="ec-lmtk-10">fc-cache -fsv</span>.</li></ol> +<!--l. 1198--><p class="indent" > Se non avete privilegi sufficienti per completare i passi precedenti, p se volete semplicemente rendere +disponibili i font di <span class="TEX">T<span +class="E">E</span>X</span> Live ad un solo utente, fate quello che segue: + <ol class="enumerate1" > + <li + class="enumerate" id="x1-36006x1">Copiate il file <span class="path"><span +class="ec-lmtt-10">texlive-fontconfig.conf</span></span> in <span class="path"><span +class="ec-lmtt-10">~/.fonts.conf</span></span>, dove <span class="path"><span +class="ec-lmtt-10">~</span></span>è la vostra directory di home. + </li> + <li + class="enumerate" id="x1-36008x2">Eseguite <span +class="ec-lmtk-10">fc-cache -fv</span>.</li></ol> +<!--l. 1209--><p class="indent" > Potete eseguire <span +class="ec-lmtt-10">fc-list </span>per vedere i nomi dei font di sistema. L’incantesimo <span +class="ec-lmtt-10">fc-list : family style</span> +<span +class="ec-lmtt-10">file spacing </span>(dove tutti gli argomenti sono esattamente come mostrati) generalmente fornisce delle +informazioni interessanti. +<!--l. 1215--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.5 </span> <a + id="x1-370003.4.5"></a>Con<span class="TEX">T<span +class="E">E</span>X</span>t Mark IV</h5> +<!--l. 1218--><p class="noindent" >Sia il “vecchio” Con<span class="TEX">T<span +class="E">E</span>X</span>t (Mark II) che il “nuovo” Con<span class="TEX">T<span +class="E">E</span>X</span>t (Mark IV) dovrebbero funzionare così come sono +dopo l’installazione di <span class="TEX">T<span +class="E">E</span>X</span> Live e non dovrebbero richiedere alcuna attenzione particolare finché restate fedeli +a <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">tlmgr</span></span></span> per gli aggiornamenti. +<!--l. 1223--><p class="indent" > Comunque, dato che Con<span class="TEX">T<span +class="E">E</span>X</span>t MkIV non usa la libreria kpathsea, sarà richiesta un po’ di configurazione +ogni qual volta installate nuovi file manualmente (senza usare <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">tlmgr</span></span></span>). Dopo ogni installazione del genere, ogni +utente di MkIV deve eseguire: + <div class="fancyvrb" id="fancyvrb8"><a + id="x1-37002r1"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> context</span><span +class="ec-lmtt-9"> --generate</span></div> +<!--l. 1230--><p class="noindent" >per aggiornare i dati della cache di Con<span class="TEX">T<span +class="E">E</span>X</span>t sul disco. I file risultanti sono memorizzati dentro <span +class="ec-lmtt-10">TEXMFCACHE </span>il cui +valore predefinito in <span class="TEX">T<span +class="E">E</span>X</span> Live è <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">TEXMFSYSVAR;TEXMFVAR</span></span></span>. +<!--l. 1234--><p class="indent" > Con<span class="TEX">T<span +class="E">E</span>X</span>t MkIV leggerà da tutti i percorsi menzionati in <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">TEXMFCACHE</span></span></span> e scriverà nel primo percorso che sia +scrivibile. Durante la lettura, in caso di dati di cache duplicati avrà la precedenza l’ultima corrispondenza +trovata. +<!--l. 1239--><p class="indent" > Per ulteriori informazioni, consultate le pagine <a +href="http://wiki.contextgarden.net/Running_Mark_IV" class="url" ><span +class="ec-lmtt-10">http://wiki.contextgarden.net/Running_Mark_IV</span></a>. + + +<!--l. 1243--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.6 </span> <a + id="x1-380003.4.6"></a>Integrare macro locali e personali</h5> +<!--l. 1246--><p class="noindent" >Questa questione è già stata citata implicitamente nella sezione <a +href="#x1-120002.3">2.3<!--tex4ht:ref: sec:texmftrees --></a>: <span class="path"><span +class="ec-lmtt-10">TEXMFLOCAL</span></span> (<span class="path"><span +class="ec-lmtt-10">/usr/local/texlive/texmf-local</span></span> +o <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">%SystemDrive%\texlive\texmf-local</span></span></span> su Windows, di default) è pensato per i font e le macro locali, ma +disponibili per l’intero sistema; mentre <span class="path"><span +class="ec-lmtt-10">TEXMFHOME</span></span> (<span class="path"><span +class="ec-lmtt-10">$HOME/texmf</span></span> o <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">%USERPROFILE%\texmf</span></span></span>, come predefiniti) è +per le macro e i font personali.Queste directory sono pensare per rimanere fisse da un’edizione all’altra e il loro +contenuto è visto automaticamente da una nuova versione di <span class="TEX">T<span +class="E">E</span>X</span> Live. Quindi, è meglio trattenersi +dal modificare la definizione di <span class="path"><span +class="ec-lmtt-10">TEXMFLOCAL</span></span> in modo che punti ad una directory troppo diversa +da quella principale di <span class="TEX">T<span +class="E">E</span>X</span> Live, oppure potreste doverla modificare manualmente nelle future +edizioni. +<!--l. 1260--><p class="indent" > In entrambe le posizioni, i file dovrebbero essere posti ognuno nella propria sotto directory +secondo la Struttura delle Directory di <span class="TEX">T<span +class="E">E</span>X</span> (TDS); visitate <a +href="http://tug.org/tds" class="url" ><span +class="ec-lmtt-10">http://tug.org/tds</span></a> o consultate +<span class="path"><span +class="ec-lmtt-10">texmf/web2c/texmf.cnf</span></span>. Ad esempio, il file di una classe o di un pacchetto <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> andrebbero posizionati in +<span class="path"><span +class="ec-lmtt-10">TEXMFLOCAL/tex/latex</span></span> o in <span class="path"><span +class="ec-lmtt-10">TEXMFHOME/tex/latex</span></span>, oppure in una sotto directory di una delle +due. +<!--l. 1268--><p class="indent" > <span class="path"><span +class="ec-lmtt-10">TEXMFLOCAL</span></span> richiede un database dei nomi dei file aggiornato, altrimenti i file non saranno trovati. Potete +aggiornarlo con il comando <span +class="ec-lmss-10">mktexlsr </span>o utilizzando il pulsante “Aggiorna il database dei nomi dei file” nel +pannello di configurazione della GUI di <span class="TEX">T<span +class="E">E</span>X</span> Live Manager. +<!--l. 1274--><p class="indent" > Di default, ciascuna di queste variabili è definita come una directory singola, come mostrato. Questo non è +un requisito rigido. Se dovete passare facilmente tra diverse versioni di grandi pacchetti, ad esempio, potete +mantenere directory multiple per i vostri scopi. Questo è ottenuto impostando <span class="path"><span +class="ec-lmtt-10">TEXMFHOME</span></span> alla lista delle +directory, tra parentesi graffe, separate da virgole: + + + <div class="verbatim" id="verbatim-1"> + <div class="fancyvrb" id="fancyvrb9"><a + id="x1-38002r1"></a>    TEXMFHOME = {/mia/dir1,/miadir2,/una/terza/dir}</div> +</div> +<!--l. 1283--><p class="nopar" > +<!--l. 1285--><p class="indent" > La sezione <a +href="#x1-620008.1.5">8.1.5<!--tex4ht:ref: sec:brace-expansion --></a> descrive ulteriormente l’espansione delle graffe. +<!--l. 1289--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.7 </span> <a + id="x1-390003.4.7"></a>Integrare font di terze parti</h5> +<!--l. 1291--><p class="noindent" >Sfortunatamente, si tratta di un argomento ingarbugliato. Dimenticatevene a meno che non vogliate +addentrarvi nei numerosi dettagli dell’installazione di <span class="TEX">T<span +class="E">E</span>X</span>. Non dimenticate per prima cosa di controllare +quello che ricevete liberamente: consultate la sezione <a +href="#x1-150002.6">2.6<!--tex4ht:ref: sec:tl-fonts --></a>. +<!--l. 1297--><p class="indent" > Una possibile alternativa è quella di usare Xe<span class="TEX">T<span +class="E">E</span>X</span> o Lua<span class="TEX">T<span +class="E">E</span>X</span> (consultate la sezione <a +href="#x1-130002.4">2.4<!--tex4ht:ref: sec:tex-extensions --></a>), che vi +consentono di usare i font del sistema operativo senza alcuna installazione in <span class="TEX">T<span +class="E">E</span>X</span>. +<!--l. 1301--><p class="indent" > Se avete comunque bisogno di farlo, visitate la pagina <a +href="http://tug.org/fonts/fontinstall.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/fonts/fontinstall.html</span></a> dove +abbiamo fatto del nostro meglio nel descrivere la procedura. Se mantenete le vostre mappe di font locali in +modo rigoroso, <span +class="ec-lmtt-10">tlmgr generate updmap </span><span +class="ec-lmri-10">potrebbe </span>essere utile, soprattutto nel muoversi tra una versione e +l’altra; consultate la documentazione di <span +class="ec-lmss-10">tlmgr</span>. +<!--l. 1309--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">3.5 </span> <a + id="x1-400003.5"></a>Collaudare l’installazione</h4> +<!--l. 1312--><p class="noindent" >Dopo aver installato <span class="TEX">T<span +class="E">E</span>X</span> Live nel modo migliore, naturalmente vorrete collaudarla, così da poter iniziare a +creare bellissimi documenti e/o font. +<!--l. 1316--><p class="indent" > Questa sezione fornisce alcune procedure elementari per verificare che il nuovo sistema funzioni. Qui +daremo i comandi per Unix; è più facile che sotto Mac OS X e Windows eseguiate le prove tramite +un’interfaccia grafica, ma i principi sono gli stessi. +<!--l. 1321--><p class="indent" > + <ol class="enumerate1" > + <li + class="enumerate" id="x1-40002x1">Assicuratevi per prima cosa di poter eseguire il programma <span +class="ec-lmss-10">tex</span>: <div class="alltt"> + <!--l. 1325--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tex</span><span +class="ec-lmtk-10"> --version</span> + <br /><span +class="ec-lmtt-10">TeX</span><span +class="ec-lmtt-10"> 3.1415926</span><span +class="ec-lmtt-10"> (TeX</span><span +class="ec-lmtt-10"> Live</span><span +class="ec-lmtt-10"> ...)</span> + <br /><span +class="ec-lmtt-10">kpathsea</span><span +class="ec-lmtt-10"> version</span><span +class="ec-lmtt-10"> 6.0.1</span> + <br /><span +class="ec-lmtt-10">Copyright</span><span +class="ec-lmtt-10"> ...</span><span +class="ec-lmtt-10"> D.E.</span><span +class="ec-lmtt-10"> Knuth.</span> + <br /><span +class="ec-lmtt-10">...</span> +</div> + </div> Se questo restituisce “comando non trovato” al posto delle informazioni sulla versione e sul + copyright, oppure una versione più vecchia, verosimilmente non avete la giusta directory <span class="path"><span +class="ec-lmtt-10">bin</span></span> + nel vostro <span +class="ec-lmtt-10">PATH</span>. Consultate le informazioni sull’impostazione delle variabili d’ambiente a + p. <a +href="#x1-330003.4.1">38<!--tex4ht:ref: sec:env --></a>. + </li> + <li + class="enumerate" id="x1-40004x2">Elaborate un file <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> elementare: <div class="alltt"> + <!--l. 1339--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">latex</span><span +class="ec-lmtk-10"> sample2e.tex</span> + <br /><span +class="ec-lmtt-10">pdfTeX</span><span +class="ec-lmtt-10"> 3.1415926-...</span><span +class="ec-lmtt-10"> (TeX</span><span +class="ec-lmtt-10"> Live</span><span +class="ec-lmtt-10"> ...)</span> + <br /><span +class="ec-lmtt-10">...</span> + <br /><span +class="ec-lmtt-10">Output</span><span +class="ec-lmtt-10"> written</span><span +class="ec-lmtt-10"> on</span><span +class="ec-lmtt-10"> sample2e.dvi</span><span +class="ec-lmtt-10"> (3</span><span +class="ec-lmtt-10"> pages,</span><span +class="ec-lmtt-10"> 7484</span><span +class="ec-lmtt-10"> bytes).</span> + <br /><span +class="ec-lmtt-10">Transcript</span><span +class="ec-lmtt-10"> written</span><span +class="ec-lmtt-10"> on</span><span +class="ec-lmtt-10"> sample2e.log.</span> + + +</div> + </div> Se questo non riesce a trovare <span class="path"><span +class="ec-lmtt-10">sample2e.tex</span></span> o altri file, verosimilmente avete qualche interferenza + proveniente da vecchie variabili d’ambiente o vecchi file di configurazione; noi raccomandiamo, tanto per + iniziare, di eliminare tutte le variabili d’ambiente relative a <span class="TEX">T<span +class="E">E</span>X</span> (per un’analisi approfondita, potete + chiedere a <span class="TEX">T<span +class="E">E</span>X</span> di fare un resoconto su ciò che esattamente stia cercando e che trovi; consultate + “Risoluzione dei problemi” a pagina <a +href="#x1-690008.2.4">67<!--tex4ht:ref: sec:debugging --></a>). + </li> + <li + class="enumerate" id="x1-40006x3">Mostrate un’anteprima del risultato: <div class="alltt"> + <!--l. 1355--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">xdvi</span><span +class="ec-lmtk-10"> sample2e.dvi</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> #</span><span +class="ec-lmtt-10"> Unix</span> + <br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">dviout</span><span +class="ec-lmtk-10"> sample2e.dvi</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> #</span><span +class="ec-lmtt-10"> Windows</span> +</div> + </div> Dovreste vedere una nuova finestra con un bel documento che spiega alcuni dei fondamenti di <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> + (ad ogni modo, vale la pena leggerlo se siete nuovi a <span class="TEX">T<span +class="E">E</span>X</span>). Dovete avere X in esecuzione affinché <span +class="ec-lmss-10">xdvi</span> + funzioni; se non è così, oppure se la vostra variabile d’ambiente <span +class="ec-lmtt-10">DISPLAY </span>è impostata non correttamente, + otterrete un errore ‘<span +class="ec-lmtt-10">Can’t open display</span>’. + </li> + <li + class="enumerate" id="x1-40008x4">Create un file PostScript per la stampa o la visualizzazione: <div class="alltt"> + <!--l. 1367--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">dvips</span><span +class="ec-lmtk-10"> sample2e.dvi</span><span +class="ec-lmtk-10"> -o</span><span +class="ec-lmtk-10"> sample2e.ps</span> +</div> + </div> + </li> + <li + class="enumerate" id="x1-40010x5">Create un file PDF al posto di un DVI; questo comando elabora il file <span class="path"><span +class="ec-lmtt-10">.tex</span></span> e scrive direttamente un + PDF: <div class="alltt"> + <!--l. 1373--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">pdflatex</span><span +class="ec-lmtk-10"> sample2e.tex</span> +</div> + </div> + </li> + <li + class="enumerate" id="x1-40012x6">Mostrate un’anteprima del PDF: <div class="alltt"> + <!--l. 1378--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">gv</span><span +class="ec-lmtk-10"> sample2e.pdf</span> + <br />o: + <br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">xpdf</span><span +class="ec-lmtk-10"> sample2e.pdf</span> +</div> + </div> Né <span +class="ec-lmss-10">gv</span>, né <span +class="ec-lmss-10">xpdf </span>sono inclusi in <span class="TEX">T<span +class="E">E</span>X</span> Live, quindi dovete installarli separatamente. Visitate + <a +href="http://www.gnu.org/software/gv" class="url" ><span +class="ec-lmtt-10">http://www.gnu.org/software/gv</span></a> e <a +href="http://www.foolabs.com/xpdf" class="url" ><span +class="ec-lmtt-10">http://www.foolabs.com/xpdf</span></a>, rispettivamente. Ci sono + tantissimi altri visualizzatori PDF. Per Windows, noi raccomandiamo di provare Sumatra PDF + (<a +href="http://blog.kowalczyk.info/software/sumatrapdf" class="url" ><span +class="ec-lmtt-10">http://blog.kowalczyk.info/software/sumatrapdf</span></a>). + </li> + <li + class="enumerate" id="x1-40014x7">Potreste trovare utili, in aggiunta a <span class="path"><span +class="ec-lmtt-10">sample2e.tex</span></span>, i seguenti file di prova predefiniti: + <!--l. 1392--><p class="noindent" > + + + <dl class="list2"><dt class="list"> + <span +class="ec-lmtt-10">small2e.tex</span> </dt><dd +class="list"> + <!--l. 1393--><p class="noindent" >Un documento più semplice di <span class="path"><span +class="ec-lmtt-10">sample2e</span></span>, per ridurre la dimensione dell’input qualora si + riscontrino problemi. + </dd><dt class="list"> + <span +class="ec-lmtt-10">testpage.tex</span> </dt><dd +class="list"> + <!--l. 1395--><p class="noindent" >Verifica se la vostra stampante introduce qualche margine. + </dd><dt class="list"> + <span +class="ec-lmtt-10">nfssfont.tex</span> </dt><dd +class="list"> + <!--l. 1397--><p class="noindent" >Per stampare tabelle e prove riguardanti i font. + </dd><dt class="list"> + <span +class="ec-lmtt-10">testfont.tex</span> </dt><dd +class="list"> + <!--l. 1398--><p class="noindent" >Anche questo per le tabelle dei font, ma usando plain <span class="TEX">T<span +class="E">E</span>X</span>. + </dd><dt class="list"> + <span +class="ec-lmtt-10">story.tex</span> </dt><dd +class="list"> + <!--l. 1400--><p class="noindent" >Il più canonico tra tutti file di prova per (plain) <span class="TEX">T<span +class="E">E</span>X</span>. Dovete digitare ‘<span +class="ec-lmtt-10">\bye</span>’ al prompt <span +class="ec-lmtt-10">*</span> + dopo ‘<span +class="ec-lmtt-10">tex story.tex</span>’.</dd></dl> + </li> + <li + class="enumerate" id="x1-40016x8">Se avete installato il pacchetto <span class="path"><span +class="ec-lmtt-10">xetex</span></span>, potete verificare che riesca ad accedere ai font di sistema in questo + modo: <div class="alltt"> + <!--l. 1406--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">xetex</span><span +class="ec-lmtk-10"> opentype-info.tex</span> + <br /><span +class="ec-lmtt-10">This</span><span +class="ec-lmtt-10"> is</span><span +class="ec-lmtt-10"> XeTeX,</span><span +class="ec-lmtt-10"> Version</span><span +class="ec-lmtt-10"> 3.1415926</span><span +class="ec-lmtt-10">…</span> + <br /><span +class="ec-lmtt-10">...</span> + <br /><span +class="ec-lmtt-10">Output</span><span +class="ec-lmtt-10"> written</span><span +class="ec-lmtt-10"> on</span><span +class="ec-lmtt-10"> opentype-info.pdf</span><span +class="ec-lmtt-10"> (1</span><span +class="ec-lmtt-10"> page).</span> + <br /><span +class="ec-lmtt-10">Transcript</span><span +class="ec-lmtt-10"> written</span><span +class="ec-lmtt-10"> on</span><span +class="ec-lmtt-10"> opentype-info.log.</span> +</div> + </div> (vale lo stesso per <span class="path"><span +class="ec-lmtt-10">luatex</span></span>.) + <!--l. 1415--><p class="noindent" >Se ricevete un messaggio di errore che riporta “Invalid fontname ‘Latin Modern Roman/ICU…”, allora + dovete configurare il vostro sistema in modo che Xe<span class="TEX">T<span +class="E">E</span>X</span> possa trovare i font distribuiti con <span class="TEX">T<span +class="E">E</span>X</span> Live. + Consultate la sezione <a +href="#x1-360003.4.4">3.4.4<!--tex4ht:ref: sec:font-conf-sys --></a>. + </li></ol> +<!--l. 1422--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">3.6 </span> <a + id="x1-410003.6"></a>Collegamenti ad ulteriori software scaricabili</h4> +<!--l. 1424--><p class="noindent" >Se siete nuovi di <span class="TEX">T<span +class="E">E</span>X</span> oppure in alternativa avete bisogno di aiuto nella scrittura di documenti <span class="TEX">T<span +class="E">E</span>X</span> o +<span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>, visitate la pagina <a +href="http://tug.org/begin.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/begin.html</span></a> per alcune risorse introduttive. +<!--l. 1428--><p class="indent" > Ecco i collegamenti ad alcuni altri strumenti che potete prendere in considerazione per l’installazione: + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10">Ghostscript</span> </dt><dd +class="description"><a +href="http://www.cs.wisc.edu/~ghost/" class="url" ><span +class="ec-lmtt-10">http://www.cs.wisc.edu/~ghost/</span></a> + </dd><dt class="description"> +<span +class="ec-lmbx-10">Perl</span> </dt><dd +class="description"><a +href="http://www.perl.org/" class="url" ><span +class="ec-lmtt-10">http://www.perl.org/</span></a> con i pacchetti supplementari da CPAN, <a +href="http://www.cpan.org/" class="url" ><span +class="ec-lmtt-10">http://www.cpan.org/</span></a> + </dd><dt class="description"> +<span +class="ec-lmbx-10">ImageMagick</span> </dt><dd +class="description"><a +href="http://www.imagemagick.com" class="url" ><span +class="ec-lmtt-10">http://www.imagemagick.com</span></a>, per l’elaborazione e la conversione di immagini + </dd><dt class="description"> +<span +class="ec-lmbx-10">NetPBM</span> </dt><dd +class="description"><a +href="http://netpbm.sourceforge.net/" class="url" ><span +class="ec-lmtt-10">http://netpbm.sourceforge.net/</span></a>, anch’esso per le immagini. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Editor orientati a </span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> </dt><dd +class="description">C’è un’ampia scelta ed è una questione di gusto dell’utente. Eccone una selezione + in ordine alfabetico (alcuni sono solo per Windows). + + + <ul class="itemize1"> + <li class="itemize"><span +class="ec-lmss-10">GNU Emacs </span>è disponibile per Windows, visita + <a +href="http://www.gnu.org/software/emacs/windows/ntemacs.html" class="url" ><span +class="ec-lmtt-10">http://www.gnu.org/software/emacs/windows/ntemacs.html</span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10">Emacs con Auc</span><span class="TEX"><span +class="ec-lmss-10">T</span><span +class="E"><span +class="ec-lmss-10">E</span></span><span +class="ec-lmss-10">X</span></span> per Windows è disponibile su CTAN. La home page di Auc<span class="TEX">T<span +class="E">E</span>X</span> è + <a +href="http://www.gnu.org/software/auctex" class="url" ><span +class="ec-lmtt-10">http://www.gnu.org/software/auctex</span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10">LEd </span>è disponibile su <a +href="http://mirror.ctan.org/support/LEd" class="url" ><span +class="ec-lmtt-10">http://mirror.ctan.org/support/LEd</span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10">SciTE </span>è disponibile su <a +href="http://www.scintilla.org/SciTE.html" class="url" ><span +class="ec-lmtt-10">http://www.scintilla.org/SciTE.html</span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10">Texmaker </span>è un software libero disponibile su <a +href="http://www.xmlmath.net/texmaker/" class="url" ><span +class="ec-lmtt-10">http://www.xmlmath.net/texmaker/</span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10">TexMakerX </span>è un fork di <span +class="ec-lmss-10">Texmaker </span>con funzionalità aggiuntive; + <a +href="http://texmakerx.sourceforge.net" class="url" ><span +class="ec-lmtt-10">http://texmakerx.sourceforge.net</span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10">TeXnicCenter </span>è un software libero, disponibile su <a +href="http://www.texniccenter.org" class="url" ><span +class="ec-lmtt-10">http://www.texniccenter.org</span></a> e nella + distribuzione pro<span class="TEX">T<span +class="E">E</span>X</span>t. + </li> + <li class="itemize"><span +class="ec-lmss-10">TeXworks </span>è un software libero disponibile su <a +href="http://tug.org/texworks" class="url" ><span +class="ec-lmtt-10">http://tug.org/texworks</span></a> e installato per + Windows e Mac OS X come parte di <span class="TEX">T<span +class="E">E</span>X</span> Live. + </li> + <li class="itemize"><span +class="ec-lmss-10">Vim </span>è un software libero disponibile su <a +href="http://www.vim.org" class="url" ><span +class="ec-lmtt-10">http://www.vim.org</span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10">WinEdt </span>è un software shareware disponibile su <a +href="http://tug.org/winedt" class="url" ><span +class="ec-lmtt-10">http://tug.org/winedt</span></a> o + <a +href="http://www.winedt.com" class="url" ><span +class="ec-lmtt-10">http://www.winedt.com</span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10">WinShell </span>è disponibile su <a +href="http://www.winshell.de" class="url" ><span +class="ec-lmtt-10">http://www.winshell.de</span></a>.</li></ul> + </dd></dl> +<!--l. 1467--><p class="noindent" >Per un elenco molto più lungo di pacchetti e programmi, visitate <a +href="http://tug.org/interest.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/interest.html</span></a>. +<!--l. 1471--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">4 </span> <a + id="x1-420004"></a>Installazione specializzate</h3> +<!--l. 1473--><p class="noindent" >Le sezioni precedenti hanno descritto il processo di installazione di base. Qui ci rivolgiamo ad alcuni casi +speciali. +<!--l. 1476--><p class="indent" > <a id="tlsharedinstall"></a> + <h4 class="subsectionHead"><span class="titlemark">4.1 </span> <a + id="x1-430004.1"></a>Installazioni condivise tra utenti o macchine</h4> +<!--l. 1480--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Live è stato progettato per essere condivisibile tra diversi utenti di un solo sistema, ma anche tra sistemi +differenti in una rete. Con l’organizzazione predefinita delle directory, nessun percorso assoluto viene +configurato: le posizioni dei file necessari ai programmi di <span class="TEX">T<span +class="E">E</span>X</span> Live sono relative ai programmi stessi. Potete +vedere questo nel file di configurazione principale <span class="path"><span +class="ec-lmtt-10">$TEXMFMAIN/web2c/texmf.cnf</span></span>, che contiene linee +come: + <div class="fancyvrb" id="fancyvrb10"><a + id="x1-43002r1"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> TEXMFMAIN</span><span +class="ec-lmtt-9"> =</span><span +class="ec-lmtt-9"> $SELFAUTOPARENT/texmf</span><br class="fancyvrb" /><a + id="x1-43004r2"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ...</span><br class="fancyvrb" /><a + id="x1-43006r3"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> TEXMFLOCAL</span><span +class="ec-lmtt-9"> =</span><span +class="ec-lmtt-9"> $SELFAUTOPARENT/../texmf-local</span></div> +<!--l. 1492--><p class="noindent" >Questo significa che aggiungere la directory degli eseguibili di <span class="TEX">T<span +class="E">E</span>X</span> Live appropriati alla propria piattaforma al +percorso di ricerca è sufficiente per ottenere una configurazione funzionante. +<!--l. 1496--><p class="indent" > Per la stessa ragione, potete anche installare <span class="TEX">T<span +class="E">E</span>X</span> Live localmente e successivamente muovere l’intera +struttura verso una locazione di rete. +<!--l. 1499--><p class="indent" > Per Windows, uno script di installazione di rete esemplificativo chiamato <span class="path"><span +class="ec-lmtt-10">w32client</span></span> può essere +scaricato da <a +href="http://tug.org/texlive/w32client.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/w32client.html</span></a>. Questo script crea le impostazioni e i +collegamenti nei menu per usare una installazione di <span class="TEX">T<span +class="E">E</span>X</span> Live esistente su una LAN. Registra anche un +disinstallatore <span class="path"><span +class="ec-lmtt-10">w32unclient</span></span>, disponibile nello stesso file zip. Visitate la pagina web indicata per maggiori +informazioni. +<!--l. 1508--><p class="indent" > <a id="tlportable"></a> + + + <h3 class="sectionHead"><span class="titlemark">5 </span> <a + id="x1-440005"></a>Installazioni portatili (USB)</h3> +<!--l. 1512--><p class="noindent" >L’opzione <span +class="ec-lmtt-10">-portable </span>dell’installazione (o il comando <span +class="ec-lmtt-10">V </span>nell’installatore testuale o la corrispondente opzione +della GUI) crea un’installazione di <span class="TEX">T<span +class="E">E</span>X</span> Live contenuta completamente in sé stessa all’interno di una radice +comune e rinuncia all’integrazione con il sistema. Potete creare una tale installazione direttamente su una +penna USB o copiarla su una penna USB successivamente. +<!--l. 1519--><p class="indent" > Per eseguire <span class="TEX">T<span +class="E">E</span>X</span> usando l’installazione portatile, avete bisogno di aggiungere la directory degli eseguibili +appropriata al percorso di ricerca durante la sessione di terminale, come al solito. Sotto Windows, potete fare +doppio click su <span class="path"><span +class="ec-lmtt-10">tl-tray-menu</span></span> alla radice dell’installazione per scegliere tra alcuni compiti comuni, come +mostrati in questa schermata: + +<!--l. 1526--><p class="indent" > <img +src="../texlive-common/tray-menu.png" alt="pict" +> +<!--l. 1530--><p class="indent" > <a id="tlisoinstall"></a> + <h4 class="subsectionHead"><span class="titlemark">5.1 </span> <a + id="x1-450005.1"></a>Installazioni degli ISO (o del DVD)</h4> +<!--l. 1534--><p class="noindent" >Se non avete bisogno di aggiornare o in qualunque altro modo modificare spesso la vostra installazione e/o +avete diversi sistemi sui quali usare <span class="TEX">T<span +class="E">E</span>X</span> Live, potrebbe essere conveniente creare un’ISO della vostra +installazione di <span class="TEX">T<span +class="E">E</span>X</span> Live perché: + <ul class="itemize1"> + <li class="itemize">Copiare una ISO tra diversi computer è molto più rapido che copiare un’installazione normale. + </li> + <li class="itemize">Se avete due sistemi operativi sulla stessa macchina e volete che condividano un’installazione + di <span class="TEX">T<span +class="E">E</span>X</span> Live, un’installazione ISO non è vincolata alle idiosincrasie e alle limitazioni di altri + filesystem reciprocamente supportati (FAT32, NTFS, HFS+). + </li> + <li class="itemize">Le macchine virtuali possono semplicemente montare tale ISO.</li></ul> +<!--l. 1549--><p class="indent" > Ovviamente potete anche masterizzare un’ISO su un DVD, se lo ritenete utile per voi. +<!--l. 1552--><p class="indent" > I sistemi desktop GNU/Linux/Unix, incluso Mac OS X, sono capaci di montare una ISO. Al di là di questo, +non cambia nulla confrontato con una normale installazione su hard disk, consulate la sezione +<a +href="#x1-330003.4.1">3.4.1<!--tex4ht:ref: sec:env --></a>. +<!--l. 1556--><p class="indent" > Quando preparate tale installazione su ISO, è meglio omettere la sottodirectory per l’anno dell’edizione e +avere <span class="path"><span +class="ec-lmtt-10">texmf-local</span></span> allo stesso livello degli altri alberi (<span class="path"><span +class="ec-lmtt-10">texmf</span></span>, <span class="path"><span +class="ec-lmtt-10">texmf-dist</span></span>, ecc.). Potete fare ciò con le normali +opzioni per le directory nell’installatore. +<!--l. 1562--><p class="indent" > Per un sistema Windows fisico (piuttosto che virtuale), potete masterizzare la ISO su un DVD. Comunque, +potrebbe valere la pena investigare le varie opzioni gratuite per il montaggio delle ISO. Per Windows XP, +Microsoft offre <span class="path"><span +class="ec-lmtt-10">winxpvirtualcdcontrolpanel</span></span>. +<!--l. 1567--><p class="indent" > Per l’integrazione con il sistema Windows, potete includere gli script <span class="path"><span +class="ec-lmtt-10">w32client</span></span> descritti nella sezione <a +href="#x1-430004.1">4.1<!--tex4ht:ref: sec:sharedinstall --></a> e +su <a +href="http://tug.org/texlive/w32client.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/w32client.html</span></a>, che funzionano per un’installazione ISO così come per una +condivisa. +<!--l. 1572--><p class="indent" > Su Mac OS X, TeXShop e <span class="TEX">T<span +class="E">E</span>X</span>works saranno capaci di usare l’installazione su DVD se un collegamento +simbolico <span class="path"><span +class="ec-lmtt-10">/usr/texbin</span></span> punta alla directory degli eseguibili appropriata, per esempio, + + + <div class="verbatim" id="verbatim-2"> + <div class="fancyvrb" id="fancyvrb11"><a + id="x1-45002r1"></a>  sudo ln -s /Volumes/MyTeXLive/bin/universal-darwin /usr/texbin</div> +</div> +<!--l. 1577--><p class="nopar" > +<!--l. 1579--><p class="indent" > Nota storica: <span class="TEX">T<span +class="E">E</span>X</span> Live 2010 è stata la prima edizione di <span class="TEX">T<span +class="E">E</span>X</span> Live che non è stata più distribuita “live”. +Comunque, richiedeva sempre alcune acrobazie per funzionare da DVD o da ISO; in particolare, non c’era +alcun modo di evitare di impostare almeno un’ulteriore variabile d’ambiente. Se create la vostra ISO da +un’installazione esistente, allora non c’è bisogno di questo. +<!--l. 1587--><p class="indent" > <a id="tlmgr"></a> + <h3 class="sectionHead"><span class="titlemark">6 </span> <a + id="x1-460006"></a><span +class="ec-lmss-10">tlmgr</span>: gestire la vostra installazione</h3> +<!--l. 1591--><p class="noindent" ><hr class="figure"><div class="figure" +> + + +<a + id="x1-46001r8"></a> + + + +<!--l. 1592--><p class="noindent" ><img +src="../texlive-common/tlmgr-gui.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Figura 8: </span><span +class="content"><span +class="ec-lmss-10">tlmgr </span>in modalità GUI: la finestra principale dopo aver premuto il pulsante “Carica”.</span></div><!--tex4ht:label?: x1-46001r8 --> + + +<!--l. 1595--><p class="noindent" ></div><hr class="endfigure"> +<!--l. 1597--><p class="indent" > <hr class="figure"><div class="figure" +> + + +<a + id="x1-46002r9"></a><a + id="x1-46003r10"></a> + + + +<!--l. 1601--><p class="noindent" ><img +src="../texlive-common/tlmgr-general-options.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Figura 9: </span><span +class="content"><span +class="ec-lmtt-10">tlmgr </span>in modalità GUI: opzioni generali</span></div><!--tex4ht:label?: x1-46002r9 --> +<!--l. 1608--><p class="noindent" ><img +src="../texlive-common/tlmgr-paper-options.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Figura 10: </span><span +class="content"><span +class="ec-lmtt-10">tlmgr </span>in modalità GUI: +opzioni della dimensione del foglio</span></div><!--tex4ht:label?: x1-46003r10 --> + + +<!--l. 1614--><p class="indent" > </div><hr class="endfigure"> +<!--l. 1616--><p class="indent" > <span class="TEX">T<span +class="E">E</span>X</span> Live include un programma chiamato <span +class="ec-lmss-10">tlmgr </span>per gestire <span class="TEX">T<span +class="E">E</span>X</span> Live dopo l’installazione iniziale. I +programmi <span +class="ec-lmss-10">updmap</span>, <span +class="ec-lmss-10">fmtutil </span>e <span +class="ec-lmss-10">texconfig </span>sono ancora inclusi e saranno mantenuti nel futuro, ma <span +class="ec-lmss-10">tlmgr </span>è ora +l’interfaccia preferita. Le sue funzionalità includono: + <ul class="itemize1"> + <li class="itemize">installare, aggiornare, archiviare, ripristinare e disinstallare i singoli pacchetti, eventualmente + tenendo conto delle dipendenze; + </li> + <li class="itemize">cercare ed elencare pacchetti, ecc.; + </li> + <li class="itemize">elencare, aggiungere e rimuovere le piattaforme disponibili; + </li> + <li class="itemize">cambiare le opzioni di installazione come la dimensione del foglio e il percorso di installazione + (consultate la sezione <a +href="#x1-310003.3.1">3.3.1<!--tex4ht:ref: sec:location --></a>).</li></ul> + <h4 class="subsectionHead"><span class="titlemark">6.1 </span> <a + id="x1-470006.1"></a>Modalità GUI di <span +class="ec-lmss-10">tlmgr</span></h4> +<!--l. 1631--><p class="noindent" ><span +class="ec-lmss-10">tlmgr </span>può essere avviato in modalità GUI (figura <a +href="#x1-46001r8">8<!--tex4ht:ref: fig:tlmgr-gui --></a> con <div class="alltt"> +<!--l. 1633--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tlmgr</span><span +class="ec-lmtk-10"> -gui</span> +</div> +</div> oppure sotto Windows tramite il menu Start: <span +class="ec-lmtt-10">Start</span>, <span +class="ec-lmtt-10">Programmi</span>, <span +class="ec-lmtt-10">TeX Live 2012</span>, <span +class="ec-lmtt-10">TeX Live</span> +<span +class="ec-lmtt-10">Manager</span>. Dopo aver premuto il pulsante “Carica” il programma mostra un elenco dei pacchetti +disponibili ed installati. Ovviamente assumiamo che il percorso di installazione attuale sia valido e +raggiungibile. +<!--l. 1642--><p class="indent" > Le figure <a +href="#x1-46002r9">9<!--tex4ht:ref: fig:tlmgr-general-options --></a> e <a +href="#x1-46003r10">10<!--tex4ht:ref: fig:tlmgr-paper-options --></a> mostrano le schermate con le opzioni generali e il formato di pagina. +<!--l. 1645--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">6.2 </span> <a + id="x1-480006.2"></a>Esempi di invocazioni di <span +class="ec-lmss-10">tlmgr </span>dalla riga di comando</h4> +<!--l. 1647--><p class="noindent" >Dopo l’installazione iniziale, potete aggiornare il vostro sistema alle ultime versioni disponibili con: +<div class="alltt"> +<!--l. 1649--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tlmgr</span><span +class="ec-lmtk-10"> update</span><span +class="ec-lmtk-10"> -all</span> +</div> +</div> Se questo vi rende nervosi, provate prima <div class="alltt"> +<!--l. 1654--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tlmgr</span><span +class="ec-lmtk-10"> update</span><span +class="ec-lmtk-10"> -all</span><span +class="ec-lmtk-10"> -dry-run</span> +</div> +</div> o (meno prolisso): <div class="alltt"> +<!--l. 1659--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tlmgr</span><span +class="ec-lmtk-10"> update</span><span +class="ec-lmtk-10"> -list</span> +</div> +</div> +<!--l. 1663--><p class="indent" > Questo esempio più complesso aggiunge una collezione, per il motore Xe<span class="TEX">T<span +class="E">E</span>X</span>, da una directory +locale: + <div class="alltt"> + + +<!--l. 1666--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tlmgr</span><span +class="ec-lmtk-10"> -repository</span><span +class="ec-lmtk-10"> /local/mirror/tlnet</span><span +class="ec-lmtk-10"> install</span><span +class="ec-lmtk-10"> collection-xetex</span> +</div> +</div> Genera il seguente risultato (ridotto): + <div class="fancyvrb" id="fancyvrb12"><a + id="x1-48002r1"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> install:</span><span +class="ec-lmtt-8"> collection-xetex</span><br class="fancyvrb" /><a + id="x1-48004r2"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> install:</span><span +class="ec-lmtt-8"> arabxetex</span><br class="fancyvrb" /><a + id="x1-48006r3"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ...</span><br class="fancyvrb" /><a + id="x1-48008r4"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> install:</span><span +class="ec-lmtt-8"> xetex</span><br class="fancyvrb" /><a + id="x1-48010r5"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> install:</span><span +class="ec-lmtt-8"> xetexconfig</span> +<br class="fancyvrb" /><a + id="x1-48012r6"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> install:</span><span +class="ec-lmtt-8"> xetex.i386-linux</span><br class="fancyvrb" /><a + id="x1-48014r7"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> running</span><span +class="ec-lmtt-8"> post</span><span +class="ec-lmtt-8"> install</span><span +class="ec-lmtt-8"> action</span><span +class="ec-lmtt-8"> for</span><span +class="ec-lmtt-8"> xetex</span><br class="fancyvrb" /><a + id="x1-48016r8"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> install:</span><span +class="ec-lmtt-8"> xetex-def</span><br class="fancyvrb" /><a + id="x1-48018r9"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ...</span><br class="fancyvrb" /><a + id="x1-48020r10"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> running</span><span +class="ec-lmtt-8"> mktexlsr</span> +<br class="fancyvrb" /><a + id="x1-48022r11"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> mktexlsr:</span><span +class="ec-lmtt-8"> Updating</span><span +class="ec-lmtt-8"> /usr/local/texlive/2012/texmf/ls-R...</span><br class="fancyvrb" /><a + id="x1-48024r12"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ...</span><br class="fancyvrb" /><a + id="x1-48026r13"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> running</span><span +class="ec-lmtt-8"> fmtutil-sys</span><span +class="ec-lmtt-8"> --missing</span><br class="fancyvrb" /><a + id="x1-48028r14"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ...</span> +<br class="fancyvrb" /><a + id="x1-48030r15"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Transcript</span><span +class="ec-lmtt-8"> written</span><span +class="ec-lmtt-8"> on</span><span +class="ec-lmtt-8"> xelatex.log.</span><br class="fancyvrb" /><a + id="x1-48032r16"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> fmtutil:</span><span +class="ec-lmtt-8"> /usr/local/texlive/2011/texmf-var/web2c/xetex/xelatex.fmt</span><span +class="ec-lmtt-8"> installed.</span></div> +<!--l. 1689--><p class="indent" > Come potete vedere, <span +class="ec-lmss-10">tlmgr </span>installa le dipendenze e si occupa di ogni azione necessaria dopo l’installazione, +incluso l’aggiornamento del database dei nomi dei file e la generazione (o rigenerazione) dei formati. +Nell’esempio precedente, abbiamo generato nuovi formati per Xe<span class="TEX">T<span +class="E">E</span>X</span>. +<!--l. 1694--><p class="indent" > Per ottenere la descrizione di un pacchetto (o di una collezione o di uno schema): <div class="alltt"> +<!--l. 1696--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tlmgr</span><span +class="ec-lmtk-10"> show</span><span +class="ec-lmtk-10"> collection-latexextra</span> +</div> +</div> che produce + <div class="fancyvrb" id="fancyvrb13"><a + id="x1-48034r1"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> package:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> collection-latexextra</span><br class="fancyvrb" /><a + id="x1-48036r2"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> category:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Collection</span><br class="fancyvrb" /><a + id="x1-48038r3"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> shortdesc:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> LaTeX</span><span +class="ec-lmtt-8"> supplementary</span><span +class="ec-lmtt-8"> packages</span> +<br class="fancyvrb" /><a + id="x1-48040r4"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> longdesc:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> A</span><span +class="ec-lmtt-8"> large</span><span +class="ec-lmtt-8"> collection</span><span +class="ec-lmtt-8"> of</span><span +class="ec-lmtt-8"> add-on</span><span +class="ec-lmtt-8"> packages</span><span +class="ec-lmtt-8"> for</span><span +class="ec-lmtt-8"> LaTeX.</span><br class="fancyvrb" /><a + id="x1-48042r5"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> installed:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Yes</span><br class="fancyvrb" /><a + id="x1-48044r6"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> revision:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> 14675</span></div> +<!--l. 1709--><p class="indent" > Infine, cosa più importante, per ottenere la documentazione completa, visitate <a +href="http://tug.org/texlive/tlmgr.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/tlmgr.html</span></a> +oppure eseguite: <div class="alltt"> +<!--l. 1711--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tlmgr</span><span +class="ec-lmtk-10"> -help</span> +</div> +</div> +<!--l. 1716--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">7 </span> <a + id="x1-490007"></a>Note relative a Windows</h3> +<!--l. 1720--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">7.1 </span> <a + id="x1-500007.1"></a>Funzionalità specifiche per Windows</h4> +<!--l. 1723--><p class="noindent" >Sotto Windows, l’installatore fa alcune cose in più: + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10">Menu e collegamenti.</span> </dt><dd +class="description">Viene creato nel menu Start un nuovo sotto menu “<span class="TEX">T<span +class="E">E</span>X</span> Live” che contiene le + voci per alcuni programmi grafici (<span +class="ec-lmss-10">tlmgr</span>, <span +class="ec-lmss-10">texdoctk</span>, il visualizzatore PostScript PS_View —  <span +class="ec-lmss-10">psv</span>) + e per un po’ di documentazione. PS_View riceve anche un collegamento sul desktop per avere + un’icona sulla quale trascinare i file PostScript per l’apertura diretta. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Associazioni dei file.</span> </dt><dd +class="description">Se abilitati, <span +class="ec-lmss-10">TeXworks</span>, <span +class="ec-lmss-10">Dviout </span>e <span +class="ec-lmss-10">PS_view </span>diventano ciascuno il programma + predefinito per i loro rispettivi tipi di file, oppure ottengono una voce nei menu contestuali “Apri + con” per quei tipi di file. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Convertitore da bitmap ad eps.</span> </dt><dd +class="description">I vari formati bitmap ricevono una voce <span +class="ec-lmss-10">bitmap2eps </span>nei loro menu + contestuali “Apri con”. Bitmap2eps è un semplice script che permette a <span +class="ec-lmss-10">sam2p </span>o <span +class="ec-lmss-10">bmeps </span>di compiere + il vero lavoro. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Impostazione automatica delle variabili di ambiente.</span> </dt><dd +class="description">Non sono richiesti passi manuali. + + + </dd><dt class="description"> +<span +class="ec-lmbx-10">Disinstallatore.</span> </dt><dd +class="description">Il programma di installazione crea una voce per <span class="TEX">T<span +class="E">E</span>X</span> Live in “Installazione + Applicazioni”. La pagina di disinstallazione della GUI <span class="TEX">T<span +class="E">E</span>X</span> Live Manager fa riferimento a questo.</dd></dl> +<!--l. 1746--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">7.2 </span> <a + id="x1-510007.2"></a>Software aggiuntivo incluso sotto Windows</h4> +<!--l. 1748--><p class="noindent" >Per essere completa, un’installazione di <span class="TEX">T<span +class="E">E</span>X</span> Live ha bisogno di alcuni pacchetti di supporto che non si +trovano abitualmente su una macchina Windows. <span class="TEX">T<span +class="E">E</span>X</span> Live fornisce questi pezzi mancanti: + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10">Perl e Ghostscript.</span> </dt><dd +class="description">A causa dell’importanza di Perl e Ghostscript, <span class="TEX">T<span +class="E">E</span>X</span> Live include una copia + “nascosta” di questi programmi. I programmi di <span class="TEX">T<span +class="E">E</span>X</span> Live che ne hanno bisogno sanno dove + trovarli, ma non ne tradiscono la presenza tramite variabili d’ambiente o impostazioni sul registro + di sistema. Non si tratta di installazioni complete e non dovrebbero interferire con installazioni + nel sistema di Perl o Ghostscript. + </dd><dt class="description"> +<span +class="ec-lmbx-10">PS_View.</span> </dt><dd +class="description">Viene installato anche PS_View, un visualizzatore di file PostScript e PDF; osservate la + figura <a +href="#x1-51001r11">11<!--tex4ht:ref: fig:psview --></a>. + <!--l. 1762--><p class="noindent" ><hr class="figure"><div class="figure" +><a + id="x1-51001r11"></a> <img +src="../texlive-common/psview.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Figura 11: </span><span +class="content">PS_View: ingrandimenti elevatissimi disponibili!</span></div><!--tex4ht:label?: x1-51001r11 --> + <!--l. 1766--><p class="noindent" ></div><hr class="endfigure"> + </dd><dt class="description"> +<span +class="ec-lmbx-10">dviout.</span> </dt><dd +class="description">Viene installato anche <span +class="ec-lmss-10">dviout</span>, un visualizzatore di DVI. All’inizio, quando visualizzate i file con + <span +class="ec-lmss-10">dviout</span>, questo creerà i font in quanto quelli per la visione su schermo non sono isntallati. Dopo un po’, + avrete creato la maggior parte dei font che usate e raramente vedrete la finestra di creazione dei + font. Maggiori informazioni possono essere trovate nell’aiuto del programma (altamente + raccomandato). + </dd><dt class="description"> +<span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span><span +class="ec-lmbx-10">works.</span> </dt><dd +class="description"><span class="TEX">T<span +class="E">E</span>X</span>works è un editor orientato a <span class="TEX">T<span +class="E">E</span>X</span> con un visualizzatore per PDF incorporato. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Strumenti a riga di comando.</span> </dt><dd +class="description">Assieme ai soliti programmi di <span class="TEX">T<span +class="E">E</span>X</span> Live vengono installate alcune versioni + per Windows di tipici programmi Unix a riga di comando. Questi programmi includono <span +class="ec-lmss-10">gzip</span>, <span +class="ec-lmss-10">unzip </span>e gli + strumenti della suite <span +class="ec-lmss-10">xpdf </span>(<span +class="ec-lmss-10">pdfinfo</span>, <span +class="ec-lmss-10">pdffonts</span>, …). Il visualizzatore <span +class="ec-lmss-10">xpdf </span>non è disponibile per Windows. + Come alternativa, tra le altre, potete scaricare Sumatra PDF, che è basato su xpdf, da + <a +href="http://blog.kowalczyk.info/software/sumatrapdf" class="url" ><span +class="ec-lmtt-10">http://blog.kowalczyk.info/software/sumatrapdf</span></a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10">fc-list, fc-cache, </span><span +class="ec-lmbx-10">…</span> </dt><dd +class="description">Gli strumenti dalla libreria fontconfig consentono a Xe<span class="TEX">T<span +class="E">E</span>X</span> di gestire i font di sistema + sotto Windows. Potete usare <span +class="ec-lmss-10">fc-list </span>per trovare i nomi dei font da passare al comando esteso di + Xe<span class="TEX">T<span +class="E">E</span>X</span> <span +class="ec-lmtt-10">\font</span>. Se è necessario, eseguite prima <span +class="ec-lmss-10">fc-cache </span>per aggiornare le informazioni sui + font. + </dd></dl> +<!--l. 1797--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">7.3 </span> <a + id="x1-520007.3"></a>Il profilo utente è “home”</h4> +<!--l. 1800--><p class="noindent" >La controparte Windows di una directory di home di Unix è la directory <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">%USERPROFILE%</span></span></span>. Sotto Windows XP, +di solito è <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">C:\Documents</span><span +class="ec-lmtt-10"> and</span><span +class="ec-lmtt-10"> Settings\<nomeutente></span></span></span> e sotto Windows Vista e Windows 7 è +<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">C:\Users\<nomeutente></span></span></span>. Nel file <span class="path"><span +class="ec-lmtt-10">texmf.cnf</span></span> e in generale in Kpathsea, <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">~</span></span></span> verrà interpretato in modo +appropriato sia sotto Windows che sotto Unix. + + +<!--l. 1808--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">7.4 </span> <a + id="x1-530007.4"></a>Il registro di configurazione di Windows</h4> +<!--l. 1811--><p class="noindent" >Windows memorizza quasi tutti i dati di configurazione nel suo registro. Il registro contiene un insieme di +chiavi organizzate gerarchicamente, con varie gerarchie. Le più importanti per i programmi di installazione +sono <span class="path"><span +class="ec-lmtt-10">HKEY_CURRENT_USER</span></span> e <span class="path"><span +class="ec-lmtt-10">HKEY_LOCAL_MACHINE</span></span>, abbreviate in <span class="path"><span +class="ec-lmtt-10">HKCU</span></span> e <span class="path"><span +class="ec-lmtt-10">HKLM</span></span>. La porzione <span class="path"><span +class="ec-lmtt-10">HKCU</span></span> del registro si +trova nella directory di home dell’utente (vedi sezione <a +href="#x1-520007.3">7.3<!--tex4ht:ref: sec:winhome --></a>). <span class="path"><span +class="ec-lmtt-10">HKLM</span></span> si trova di solito in una sotto directory della +cartella Windows. +<!--l. 1820--><p class="indent" > In alcuni casi, le informazioni di sistema possono essere ottenute dalle variabili d’ambiente, ma per altre +informazioni, come la posizione dei collegamenti, è necessario consultare il registro. Impostare +permanentemente le variabili d’ambiente richiede ugualmente l’accesso al registro. +<!--l. 1827--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">7.5 </span> <a + id="x1-540007.5"></a>Permessi di Windows</h4> +<!--l. 1830--><p class="noindent" >Nelle ultime versioni di Windows si fa distinzione tra utenti normali ed amministratori e solo questi ultimi +hanno libero accesso all’intero sistema operativo. In pratica, però, si potrebbero meglio descrivere queste +classi come “utenti senza privilegi” e “utenti normali”: essere un amministratore è la regola, non +l’eccezione. Ciononostante, ci siamo sforzati di rendere <span class="TEX">T<span +class="E">E</span>X</span> Live installabile senza i privilegi +amministrativi. +<!--l. 1837--><p class="indent" > Se l’utente è un amministratore, c’è un’opzione per rendere l’installazione disponibile a tutti gli utenti. Se +questa opzione è selezionata, i collegamenti sono creati per tutti gli utenti e l’ambiente di sistema è modificato. +In alternativa, i collegamenti e le voci nel menu sono creati solo per l’utente corrente e viene modificato +l’ambiente dell’utente. +<!--l. 1844--><p class="indent" > Indipendentemente dallo stato di amministratore, la cartella predefinita di <span class="TEX">T<span +class="E">E</span>X</span> Live proposta dal +programma di installazione si trova sempre sotto <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">%SystemDrive%</span></span></span>. L’installatore verifica sempre se l’utente +corrente ha i permessi di scrittura in tale cartella. +<!--l. 1849--><p class="indent" > Possono sorgere dei problemi se l’utente non è un amministratore e <span class="TEX">T<span +class="E">E</span>X</span> già esiste nel percorso di ricerca. +Dato che nel percorso di ricerca vengono prima le impostazioni di sistema e poi quelle dell’utente, la nuova +<span class="TEX">T<span +class="E">E</span>X</span> Live non avrebbe mai la precedenza. Come precauzione, il programma di installazione crea un +collegamento ad un prompt dei comandi in cui la nuova directory degli eseguibili di <span class="TEX">T<span +class="E">E</span>X</span> Live è anteposta al +percorso di ricerca locale. La nuova <span class="TEX">T<span +class="E">E</span>X</span> Live sarà sempre accessibile usando questo prompt. Anche il +collegamento a <span class="TEX">T<span +class="E">E</span>X</span>works, se è installato, antepone <span class="TEX">T<span +class="E">E</span>X</span> Live al percorso di ricerca, quindi dovrebbe essere +immune a questo problema. +<!--l. 1860--><p class="indent" > Sotto Vista e Windows 7 c’è un ulteriore colpo di scena: anche se avete eseguito l’accesso come +amministratori, dovete chiedere esplicitamente i privilegi di amministrazione. In pratica, non serve a molto +entrare come amministratore. Invece, facendo clic con il tasto destro sul programma o sul collegamento che +volete eseguire, solitamente appare la voce “Esegui come amministratore”. +<!--l. 1867--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">7.6 </span> <a + id="x1-550007.6"></a>Incrementare la memoria massima sotto Windows e Cygwin</h4> +<!--l. 1870--><p class="noindent" >Gli utenti di Windows e Cygwin (consulta la sezione <a +href="#x1-210003.1.4">3.1.4<!--tex4ht:ref: sec:cygwin --></a> per i dettagli sull’installazione con Cygwin) possono +ritrovarsi con la memoria esaurita durante l’esecuzione di alcuni dei programmi forniti con <span class="TEX">T<span +class="E">E</span>X</span> Live. Ad +esempio, <span +class="ec-lmss-10">asy </span>potrebbe esaurire la memoria se tentate di allocare un array di 20.000.000 di reali e +Lua<span class="TEX">T<span +class="E">E</span>X</span> potrebbe esaurirla se tentate di elaborare un documento con un gran numero di font +grandi. +<!--l. 1877--><p class="indent" > Per Cygwin, potete incrementare la quantità di memoria disponibile seguendo le istruzioni nella Guida +dell’Utente di Cygwin (<a +href="http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html" class="url" ><span +class="ec-lmtt-10">http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html</span></a>). +<!--l. 1881--><p class="indent" > Per Windows, dovete creare un file, ad esempio <span +class="ec-lmtt-10">moremem.reg</span>, con le seguenti quattro righe: +<!--l. 1884--><p class="indent" > + <div class="fancyvrb" id="fancyvrb14"><a + id="x1-55002r1"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> Windows</span><span +class="ec-lmtt-9"> Registry</span><span +class="ec-lmtt-9"> Editor</span><span +class="ec-lmtt-9"> Version</span><span +class="ec-lmtt-9"> 5.00</span><br class="fancyvrb" /><a + id="x1-55004r2"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><br class="fancyvrb" /><a + id="x1-55006r3"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> [HKEY_LOCAL_MACHINE\Software\Cygwin]</span><br class="fancyvrb" /><a + id="x1-55008r4"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> "heap_chunk_in_mb"=dword:ffffff00</span></div> +<!--l. 1891--><p class="noindent" >ed eseguire il comando <span +class="ec-lmtt-10">regedit /s moremem.reg </span>come amministratore (se volete cambiare la memoria +unicamente per l’utente corrente invece che per l’intero sistema, usate <span +class="ec-lmtt-10">HKEY_CURRENT_USER</span>). + + +<!--l. 1896--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">8 </span> <a + id="x1-560008"></a>Una guida a Web2C</h3> +<!--l. 1898--><p class="noindent" >Web2C è una collezione integrata di programmi legati a <span class="TEX">T<span +class="E">E</span>X</span>: <span class="TEX">T<span +class="E">E</span>X</span> stesso, Metafont, MetaPost, +BibTeX, ecc. È il cuore di <span class="TEX">T<span +class="E">E</span>X</span> Live. Il sito web di Web2C, con il manuale corrente e molto altro, è +<a +href="http://tug.org/web2c" class="url" ><span +class="ec-lmtt-10">http://tug.org/web2c</span></a>. +<!--l. 1903--><p class="indent" > Ecco un po’ di storia: l’implementazione originale fu realizzata da Tomas Rokicki il quale, nel 1987, +sviluppò un primo sistema <span class="TEX">T<span +class="E">E</span>X</span>-to-C cambiando dei file sotto Unix, che erano principalmente un lavoro +originale di Howard Trickey e Pavel Curtis. Tim Morgan divenne il manutentore del sistema e durante +questo periodo il nome cambiò in Web-to-C. Nel 1990, Karl Berry prese in mano il lavoro, con il +contributo di molte persone, e nel 1997 passò il testimone a Olaf Weber, il quale lo restituì a Karl nel +2006. +<!--l. 1912--><p class="indent" > Il sistema Web2C gira sotto Unix, sotto i sistemi Windows a 32 bit, sotto MacOSX e sotto altri sistemi +operativi. Usa i sorgenti originali di Knuth per <span class="TEX">T<span +class="E">E</span>X</span> e per altri programmi scritti nel sistema di +programmazione letterata <span +class="ec-lmtt-10">WEB </span>e li traduce in codice C. I programmi basilari di <span class="TEX">T<span +class="E">E</span>X</span> gestiti in questo modo +sono: +<!--l. 1918--><p class="indent" > + <dl class="list1"><dt class="list"> + <span +class="ec-lmss-10">bibtex</span> </dt><dd +class="list"> + <!--l. 1919--><p class="noindent" >Per mantenere le bibliografie. + </dd><dt class="list"> + <span +class="ec-lmss-10">dvicopy</span> </dt><dd +class="list"> + <!--l. 1920--><p class="noindent" >Espande i riferimenti ai font virtuali nei file DVI. + </dd><dt class="list"> + <span +class="ec-lmss-10">dvitomp</span> </dt><dd +class="list"> + <!--l. 1921--><p class="noindent" >Converte da DVI a MPX (MetaPost picture). + </dd><dt class="list"> + <span +class="ec-lmss-10">dvitype</span> </dt><dd +class="list"> + <!--l. 1922--><p class="noindent" >Converte i DVI in testo leggibile + </dd><dt class="list"> + <span +class="ec-lmss-10">gftodvi</span> </dt><dd +class="list"> + <!--l. 1923--><p class="noindent" >Provini dei font generici. + </dd><dt class="list"> + <span +class="ec-lmss-10">gftopk</span> </dt><dd +class="list"> + <!--l. 1924--><p class="noindent" >Converte da font generici ad impacchettati. + </dd><dt class="list"> + <span +class="ec-lmss-10">gftype</span> </dt><dd +class="list"> + <!--l. 1925--><p class="noindent" >Converte i font generici in testo leggibile. + </dd><dt class="list"> + <span +class="ec-lmss-10">mf</span> </dt><dd +class="list"> + <!--l. 1926--><p class="noindent" >Crea famiglie di caratteri tipografici. + </dd><dt class="list"> + <span +class="ec-lmss-10">mft</span> </dt><dd +class="list"> + <!--l. 1927--><p class="noindent" >Formatta i sorgenti Metafont. + </dd><dt class="list"> + <span +class="ec-lmss-10">mpost</span> </dt><dd +class="list"> + <!--l. 1928--><p class="noindent" >Crea diagrammi tecnici. + </dd><dt class="list"> + <span +class="ec-lmss-10">patgen</span> </dt><dd +class="list"> + <!--l. 1929--><p class="noindent" >Crea modelli di sillabazione. + </dd><dt class="list"> + <span +class="ec-lmss-10">pktogf</span> </dt><dd +class="list"> + <!--l. 1930--><p class="noindent" >Converte da font impacchettati a generici. + + + </dd><dt class="list"> + <span +class="ec-lmss-10">pktype</span> </dt><dd +class="list"> + <!--l. 1931--><p class="noindent" >Converte i font impacchettati in testo leggibile. + </dd><dt class="list"> + <span +class="ec-lmss-10">pltotf</span> </dt><dd +class="list"> + <!--l. 1932--><p class="noindent" >Converte le liste di proprietà da testo leggibile in TFM. + </dd><dt class="list"> + <span +class="ec-lmss-10">pooltype</span> </dt><dd +class="list"> + <!--l. 1933--><p class="noindent" >Mostra i file delle riserve di <span +class="ec-lmtt-10">WEB</span>. + </dd><dt class="list"> + <span +class="ec-lmss-10">tangle</span> </dt><dd +class="list"> + <!--l. 1934--><p class="noindent" >Converte da <span +class="ec-lmtt-10">WEB </span>al Pascal. + </dd><dt class="list"> + <span +class="ec-lmss-10">tex</span> </dt><dd +class="list"> + <!--l. 1935--><p class="noindent" >Compone tipograficamente i documenti. + </dd><dt class="list"> + <span +class="ec-lmss-10">tftopl</span> </dt><dd +class="list"> + <!--l. 1936--><p class="noindent" >Converte le liste di proprietà da TFM in testo leggibile + </dd><dt class="list"> + <span +class="ec-lmss-10">vftovp</span> </dt><dd +class="list"> + <!--l. 1937--><p class="noindent" >Converte da font virtuali a liste di proprietà virtuali. + </dd><dt class="list"> + <span +class="ec-lmss-10">vptovf</span> </dt><dd +class="list"> + <!--l. 1938--><p class="noindent" >Converte da liste di proprietà virtuali a font virtuali. + </dd><dt class="list"> + <span +class="ec-lmss-10">weave</span> </dt><dd +class="list"> + <!--l. 1939--><p class="noindent" >Converte da <span +class="ec-lmtt-10">WEB </span>a <span class="TEX">T<span +class="E">E</span>X</span>.</dd></dl> +<!--l. 1942--><p class="noindent" >Le esatte funzioni e la sintassi di questi programmi sono descritte nella documentazione dei singoli pacchetti e +di Web2C stesso. Tuttavia, conoscere alcuni principi che governano l’intera famiglia di programmi vi aiuterà a +trarre vantaggio dalla vostra installazione Web2C. +<!--l. 1947--><p class="indent" > Tutti i programmi rispettano queste opzioni GNU standard: + <dl class="list1"><dt class="list"> + <span +class="ec-lmtt-10">--help</span> </dt><dd +class="list"> + <!--l. 1949--><p class="noindent" >stampa un semplice sommario d’uso. + </dd><dt class="list"> + <span +class="ec-lmtt-10">--verbose</span> </dt><dd +class="list"> + <!--l. 1950--><p class="noindent" >stampa un rapporto dettagliato sull’avanzamento. + </dd><dt class="list"> + <span +class="ec-lmtt-10">--version</span> </dt><dd +class="list"> + <!--l. 1951--><p class="noindent" >stampa le informazioni sulla versione, quindi esce.</dd></dl> +<!--l. 1954--><p class="indent" > Per individuare i file, i programmi Web2C usano la libreria di ricerca dei percorsi Kpathsea +(<a +href="http://tug.org/kpathsea" class="url" ><span +class="ec-lmtt-10">http://tug.org/kpathsea</span></a>). Questa libreria usa una combinazione di variabili d’ambiente e file di +configurazione per ottimizzare la ricerca nella (enorme) raccolta di file di <span class="TEX">T<span +class="E">E</span>X</span>. Web2C può controllare +simultaneamente molte directory, cosa utile per mantenere la distribuzione standard <span class="TEX">T<span +class="E">E</span>X</span>, le estensioni locali e +quelle personali in directory distinte. Per velocizzare le ricerche dei file, alla radice di ogni albero di directory +c’è un file <span +class="ec-lmtt-10">ls-R </span>contenente una voce con il nome ed il percorso relativo per ciascun file all’interno di +quell’albero. + + +<!--l. 1966--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">8.1 </span> <a + id="x1-570008.1"></a>Ricerca dei percorsi con Kpathsea</h4> +<!--l. 1969--><p class="noindent" >Per prima cosa descriviamo il generico meccanismo di ricerca dei percorsi della libreria Kpathsea. +<!--l. 1972--><p class="indent" > Chiameremo <span +class="ec-lmri-10">percorso di ricerca </span>una lista separata da un due punti o da un punto e virgola di <span +class="ec-lmri-10">elementi di</span> +<span +class="ec-lmri-10">percorso</span>, che sono fondamentalmente nomi di directory. Un percorso di ricerca può provenire da (una +combinazione di) molte fonti. Per cercare un file ‘<span +class="ec-lmtt-10">my-file</span>’ attraverso un percorso ‘<span +class="ec-lmtt-10">.:/dir</span>’, Kpathsea controlla +a turno ogni elemento del percorso: prima <span +class="ec-lmtt-10">./my-file</span>, poi <span +class="ec-lmtt-10">/dir/my-file</span>, restituendo la prima corrispondenza +(o, eventualmente, tutte). +<!--l. 1980--><p class="indent" > Al fine di adattarsi al meglio alle convenzioni di tutti i sistemi operativi, sui sistemi non Unix Kpathsea può +usare separatori di nomi di file diversi dai due punti (‘<span +class="ec-lmtt-10">:</span>’) e barra (slash, ‘<span +class="ec-lmtt-10">/</span>’). +<!--l. 1984--><p class="indent" > Per controllare un particolare elemento <span +class="ec-lmro-10">p </span>di un percorso, Kpathsea per prima cosa verifica se può applicare +a <span +class="ec-lmro-10">p </span>un database precostruito (consulta “Database di file” a pagina <a +href="#x1-650008.2">63<!--tex4ht:ref: sec:filename-database --></a>), cioè se il database è in una +directory che è prefisso di <span +class="ec-lmro-10">p</span>. Se è così, la specifica del percorso è confrontata con il contenuto del +database. +<!--l. 1991--><p class="indent" > Se il database non esiste o non si applica a questo elemento del percorso, oppure se non contiene +corrispondenze, viene eseguita una ricerca sul disco (se non è stata proibita da una specifica che comincia con +‘<span +class="ec-lmtt-10">!!</span>’ e se il file viene cercato per scoprire se esiste). Kpathsea costruisce la lista di directory che +corrispondono a questo elemento del percorso e verifica all’interno di ciascuna di esse se può individuare il +file. +<!--l. 1999--><p class="indent" > La condizione “il file deve esistere” entra in gioco con i file ‘<span +class="ec-lmtt-10">.vf</span>’ e i file letti tramite il comando <span +class="ec-lmtt-10">\openin </span>di +<span class="TEX">T<span +class="E">E</span>X</span>. Questi file potrebbero non esistere (ad esempio <span +class="ec-lmtt-10">cmr10.vf</span>) e dunque sarebbe sbagliato cercarli sul disco. +Quindi, se non siete riusciti ad aggiornare correttamente il file <span +class="ec-lmtt-10">ls-R </span>quando avete installato un nuovo ‘<span +class="ec-lmtt-10">.vf</span>’, +quest’ultimo non sarà mai trovato. A turno, viene controllato ogni elemento del percorso: prima il +database, poi il disco. Se viene trovata una corrispondenza, la ricerca si interrompe e il risultato è +restituito. +<!--l. 2009--><p class="indent" > Per quanto il più semplice e comune elemento di un percorso sia il nome di una directory, Kpathsea +supporta caratteristiche aggiuntive nei percorsi di ricerca: valori predefiniti stratificati, nomi di variabili +d’ambiente, valori di file di configurazione, directory personali degli utenti e ricerca ricorsiva di sotto directory. +Dunque, diciamo che Kpathsea <span +class="ec-lmri-10">espande </span>un elemento di percorso, intendendo che trasforma tutte le specifiche +in semplici nomi di directory. Questa trasformazione è descritta nelle seguenti sezioni nello stesso ordine in cui +avviene. +<!--l. 2018--><p class="indent" > Notate che se il nome del file cercato è assoluto o esplicitamente relativo, ossia se comincia con ‘<span +class="ec-lmtt-10">/</span>’, ‘<span +class="ec-lmtt-10">./</span>’ o +‘<span +class="ec-lmtt-10">../</span>’, Kpathsea controlla semplicemente se quel file esiste. +<!--l. 2032--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">8.1.1 </span> <a + id="x1-580008.1.1"></a>Fonti dei percorsi</h5> +<!--l. 2035--><p class="noindent" >Un percorso di ricerca può provenire da molte fonti. Nell’ordine in cui Kpathsea le usa: +<!--l. 2038--><p class="indent" > + <ol class="enumerate1" > + <li + class="enumerate" id="x1-58002x1">Una variabile d’ambiente impostata dall’utente, per esempio <span +class="ec-lmtt-10">TEXINPUTS</span>. Le variabili d’ambiente + a cui è stato aggiunto un punto ed il nome di un programma hanno la precedenza; per esempio, + se ‘<span +class="ec-lmtt-10">latex</span>’ è il nome del programma in esecuzione, allora <span +class="ec-lmtt-10">TEXINPUTS.latex </span>avrà la precedenza su + <span +class="ec-lmtt-10">TEXINPUTS</span>. + </li> + <li + class="enumerate" id="x1-58004x2">Il file di configurazione specifico per un programma, per esempio una riga ‘<span +class="ec-lmtt-10">S /a:/b</span>’ nel file di + configurazione <span +class="ec-lmtt-10">config.ps </span>di <span +class="ec-lmss-10">dvips</span>. + </li> + <li + class="enumerate" id="x1-58006x3">Un file di configurazione <span +class="ec-lmtt-10">texmf.cnf </span>di Kpathsea, contenente una riga del tipo ‘<span +class="ec-lmtt-10">TEXINPUTS=/c:/d</span>’ + (vedi più avanti). + </li> + <li + class="enumerate" id="x1-58008x4">Il valore predefinito alla compilazione del programma.</li></ol> +<!--l. 2054--><p class="noindent" >Potete vedere ciascuno di questi valori per un dato percorso di ricerca usando le opzioni di debug (consultate +“Risoluzione dei problemi” a pagina <a +href="#x1-690008.2.4">67<!--tex4ht:ref: sec:debugging --></a>). + + +<!--l. 2058--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">8.1.2 </span> <a + id="x1-590008.1.2"></a>File di configurazione</h5> +<!--l. 2060--><p class="noindent" >Kpathsea legge i percorsi di ricerca ed altre definizioni nei <span +class="ec-lmri-10">file di configurazione a tempo di esecuzione </span>chiamati +<span +class="ec-lmtt-10">texmf.cnf</span>. Il percorso di ricerca usato per cercare questi file è chiamato <span +class="ec-lmtt-10">TEXMFCNF</span>, ma non raccomandiamo di +impostare questa (o qualunque altra) variabile d’ambiente. +<!--l. 2066--><p class="indent" > Invece, l’installazione normale dà luogo ad un file <span +class="ec-lmtt-10">.../2012/texmf.cnf</span>. Se dovete apportare delle +modifiche ai valori predefiniti (di norma non è necessario), questo è il posto in cui piazzarle. Il +file di configurazione principale è <span +class="ec-lmtt-10">.../2012/texmf/web2c/texmf.cnf</span>. Non dovreste modificare +quest’ultimo file, dato che le vostre modifiche andrebbero perdute quando la versione distribuita viene +aggiornata. +<!--l. 2074--><p class="indent" > <span +class="ec-lmri-10">Tutti </span>i file <span +class="ec-lmtt-10">texmf.cnf </span>nel percorso di ricerca saranno letti e le definizioni in quelli che appaiono per primi +sostituiranno quelle nei file che appaiono per ultimi. Ad esempio, con un percorso di ricerca di <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">.:$TEXMF</span></span></span>, i +valori provenienti da <span +class="ec-lmtt-10">./texmf.cnf </span>sostituiranno quelli provenienti da <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">$TEXMF/texmf.cnf</span></span></span>. + <ul class="itemize1"> + <li class="itemize">I commenti iniziano con <span +class="ec-lmtt-10">% </span>e continuano fino alla fine della riga. + </li> + <li class="itemize">Le righe vuote sono ignorate. + </li> + <li class="itemize">Un <span +class="ec-lmtt-10">\ </span>alla fine di una riga funziona come un carattere di continuazione, cioè la linea successiva + viene apposta. Gli spazi bianchi all’inizio delle righe di continuazione non sono ignorati. + </li> + <li class="itemize">Ogni riga rimanente ha la forma: <div class="alltt"> + <!--l. 2092--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmro-10">variabile</span><span +class="ec-lmtt-10">[.</span><span +class="ec-lmro-10">nomeprogramma</span><span +class="ec-lmtt-10">]</span><span +class="ec-lmtt-10"> [=]</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmro-10">valore</span> +</div> + </div> dove il carattere ‘<span +class="ec-lmtt-10">=</span>’ e gli spazi che lo circondano sono opzionali. + </li> + <li class="itemize">Il nome <span +class="ec-lmro-10">variabile </span>può contenere un qualunque carattere diverso dallo spazio, da ‘<span +class="ec-lmtt-10">=</span>’ e da ‘<span +class="ec-lmtt-10">.</span>’, ma usare solo + i caratteri ‘<span +class="ec-lmtt-10">A-Za-z_</span>’ è più sicuro. + </li> + <li class="itemize">Se la parte ‘<span +class="ec-lmtt-10">.</span><span +class="ec-lmro-10">nomeprogramma</span>’ è presente, la definizione si applica solo se il programma che è in + esecuzione ha il nome <span +class="ec-lmro-10">nomeprogramma </span>oppure <span +class="ec-lmro-10">nomeprogramma</span><span +class="ec-lmtt-10">.exe</span>. Questo consente, ad esempio, alle + diverse varianti di <span class="TEX">T<span +class="E">E</span>X</span> di avere diversi percorsi di ricerca. + </li> + <li class="itemize"><span +class="ec-lmro-10">valore </span>può contentere qualunque carattere tranne che <span +class="ec-lmtt-10">% </span>e ‘<span +class="ec-lmtt-10">@</span>’. La caratteristica <span +class="ec-lmtt-10">$</span><span +class="ec-lmro-10">variabile</span><span +class="ec-lmtt-10">.</span><span +class="ec-lmro-10">programma </span>non + è disponibile come valore valido; in alternativa, dovete usare una variabile aggiuntiva. Un ‘<span +class="ec-lmtt-10">;</span>’ in <span +class="ec-lmro-10">valore </span>è + tradotto automaticamente in ‘<span +class="ec-lmtt-10">:</span>’ se state usando Unix; questa caratteristica è utile per avere un singlo + <span +class="ec-lmtt-10">texmf.cnf </span>per Unix, MS-DOS e Windows. + </li> + <li class="itemize">Tutte le definizioni vengono lette prima che qualunque cosa sia espanza, quindi si può fare riferimento + alle variabili prima che siano definite.</li></ul> +<!--l. 2117--><p class="noindent" >Un frammento di file di configurazione che mostra la maggior parte di questi punti è mostrato sotto: +<!--l. 2122--><p class="indent" > + <div class="fancyvrb" id="fancyvrb15"> +<a + id="x1-59002r1"></a><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> TEXMF</span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> =</span><span +class="ec-lmtt-8x-x-87"> {$TEXMFLOCAL,!!$TEXMFMAIN}</span> +<br class="fancyvrb" /><a + id="x1-59004r2"></a><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> TEXINPUTS.latex</span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> =</span><span +class="ec-lmtt-8x-x-87"> .;$TEXMF/tex/{latex,generic;}//</span> +<br class="fancyvrb" /><a + id="x1-59006r3"></a><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> TEXINPUTS.fontinst</span><span +class="ec-lmtt-8x-x-87"> =</span><span +class="ec-lmtt-8x-x-87"> .;$TEXMF/tex//;$TEXMF/fonts/afm//</span> +<br class="fancyvrb" /><a + id="x1-59008r4"></a><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> %</span><span +class="ec-lmtt-8x-x-87"> e-TeX</span><span +class="ec-lmtt-8x-x-87"> related</span><span +class="ec-lmtt-8x-x-87"> files</span> +<br class="fancyvrb" /><a + id="x1-59010r5"></a><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> TEXINPUTS.elatex</span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> =</span><span +class="ec-lmtt-8x-x-87"> .;$TEXMF/{etex,tex}/{latex,generic;}//</span> +<br class="fancyvrb" /><a + id="x1-59012r6"></a><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> TEXINPUTS.etex</span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> =</span><span +class="ec-lmtt-8x-x-87"> .;$TEXMF/{etex,tex}/{eplain,plain,generic;}//</span> + </div> + + +<!--l. 2127--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">8.1.3 </span> <a + id="x1-600008.1.3"></a>Espansione dei percorsi</h5> +<!--l. 2130--><p class="noindent" >Kpathsea riconosce nei percorsi di ricerca alcuni caratteri e costrutti speciali, simili a quelli disponibili nelle +shell di Unix. Come esempio generale, il complesso percorso <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">~$USER/{foo,bar}//baz</span></span></span> viene espanso in tutte le +directory sotto <span +class="ec-lmtt-10">foo </span>e <span +class="ec-lmtt-10">bar </span>nella home dell’utente <span +class="ec-lmtt-10">$USER</span>, che contengono a loro volta una directory o un file di +nome <span +class="ec-lmtt-10">baz</span>. Queste espansioni sono spiegate nelle prossime sezioni- + <h5 class="subsubsectionHead"><span class="titlemark">8.1.4 </span> <a + id="x1-610008.1.4"></a>Espansione predefinita</h5> +<!--l. 2140--><p class="noindent" >Se il percorso di ricerca a più alta priorità (consultate “Fonti dei percorsi” a pagina <a +href="#x1-580008.1.1">58<!--tex4ht:ref: sec:path-sources --></a>) contiene un <span +class="ec-lmri-10">due punti</span> +<span +class="ec-lmri-10">di troppo </span>(cioè all’inizio, alla fine oppure una coppia di due punti), Kpathsea inserisce in quel punto il percorso +di ricerca con la seconda più alta priorità che sia stato definito. Se questo percorso inserito ha a sua vuolta un +due punti aggiuntivo, accade lo stesso con il successivo in ordine di priorità. Per esempio, data l’impostazione +di una variabile d’ambiente + <div class="alltt"> +<!--l. 2149--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">setenv</span><span +class="ec-lmtk-10"> TEXINPUTS</span><span +class="ec-lmtk-10"> /home/karl:</span> +</div> +</div> e un valore di <span +class="ec-lmtt-10">TEXINPUTS </span>proveniente da <span +class="ec-lmtt-10">texmf.cnf </span>di + <div class="alltt"> +<!--l. 2154--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> .:$TEXMF//tex</span> +</div> +</div> allora il valore finale usato nella ricerca sarà: + <div class="alltt"> +<!--l. 2159--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /home/karl:.:$TEXMF//tex</span> +</div> +</div> +<!--l. 2163--><p class="indent" > Dato che sarebbe inutile inserire lo stesso valore predefinito in più di un posto, Kpathsea cambia solo uno +dei ‘<span +class="ec-lmtt-10">:</span>’ di troppo e lascia gli altri al loro posto. Per prima cosa cerca un ‘<span +class="ec-lmtt-10">:</span>’ all’inizio, quindi cerca un ‘<span +class="ec-lmtt-10">:</span>’ alla +fine, per ultimo cerca un ‘<span +class="ec-lmtt-10">:</span>’ doppio. +<!--l. 2168--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">8.1.5 </span> <a + id="x1-620008.1.5"></a>Espansione delle parentesi graffe</h5> +<!--l. 2171--><p class="noindent" >Una caratteristica utile è l’espansione delle parentesi graffe, che significa che, per esempio, <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">v{a,b}w</span></span></span> viene +espanso in <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">vaw:vbw</span></span></span>. L’annidamento delle parentesi è permesso. Tale caratteristica è usata per implementare +gerarchie <span class="TEX">T<span +class="E">E</span>X</span> multiple, assegnando una lista di nomi tra graffe a <span +class="ec-lmtt-10">$TEXMF</span>. Ad esempio, in <span +class="ec-lmtt-10">texmf.cnf</span>, è fatta +la seguente definizione (semplificata per questo esempio): + + + <div class="verbatim" id="verbatim-3"> + <div class="fancyvrb" id="fancyvrb16"><a + id="x1-62002r1"></a>    TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN}</div> +</div> +<!--l. 2180--><p class="nopar" >Usando questa variabile, potete scrivere qualcosa come + + + <div class="verbatim" id="verbatim-4"> + <div class="fancyvrb" id="fancyvrb17"><a + id="x1-62004r1"></a>    TEXINPUTS = .;$TEXMF/tex//</div> +</div> +<!--l. 2184--><p class="nopar" >che vuol dire che, dopo aver guardato nella directory attuale, la ricerca proseguirà (<span +class="ec-lmri-10">soltanto</span>) nei rami +<span +class="ec-lmtt-10">$TEXMFHOME/tex</span>, <span +class="ec-lmtt-10">$TEXMFLOCAL/tex</span>, <span +class="ec-lmtt-10">$TEXMFVAR/tex </span>e <span +class="ec-lmtt-10">$TEXMFMAIN/tex </span>(gli ultimi due usando i database +<span +class="ec-lmtt-10">ls-R</span>). È una maniera conveniente per avere due strutture <span class="TEX">T<span +class="E">E</span>X</span> parallele, una “congelata” (ad esempio +su un CD) e l’altra aggiornata di continuo con nuove versioni non appena diventino disponibili. +Usando la variabile <span +class="ec-lmtt-10">$TEXMF </span>in tutte le definizioni, si è sicuri di cercare innanzitutto nel ramo +aggiornato. +<!--l. 2196--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">8.1.6 </span> <a + id="x1-630008.1.6"></a>Espansione delle sotto directory</h5> +<!--l. 2199--><p class="noindent" >In un elemento di percorso, due o più barre (slash) consecutive alla fine di una directory <span +class="ec-lmro-10">d </span>sono sostituite +da tutte le sotto directory di <span +class="ec-lmro-10">d</span>: prima quelle che si trovano direttamente sotto <span +class="ec-lmro-10">d</span>, quindi quelle +all’interno delle prime e così via. Ad ogni livello, l’ordine in cui le directory sono cercate <span +class="ec-lmri-10">non </span><span +class="ec-lmri-10">è</span> +<span +class="ec-lmri-10">specificato</span>. +<!--l. 2205--><p class="indent" > Se specificate il nome di un file dopo il ‘<span +class="ec-lmtt-10">//</span>’, saranno incluse solo le sotto directory che lo contengono. Ad +esempio, ‘<span +class="ec-lmtt-10">/a//b</span>’ si espande nelle directory <span +class="ec-lmtt-10">/a/1/b</span>, <span +class="ec-lmtt-10">/a/2/b</span>, <span +class="ec-lmtt-10">/a/1/1/b </span>e così via, ma non in <span +class="ec-lmtt-10">/a/b/c </span>o +<span +class="ec-lmtt-10">/a/1</span>. +<!--l. 2210--><p class="indent" > È possibile usare più volte il costrutto ‘<span +class="ec-lmtt-10">//</span>’ in un percorso, ma ogni ‘<span +class="ec-lmtt-10">//</span>’ all’inizio di un percorso viene +ignorato. +<!--l. 2214--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">8.1.7 </span> <a + id="x1-640008.1.7"></a>Elenco dei caratteri speciali e loro significato: un riepilogo</h5> +<!--l. 2216--><p class="noindent" >Il seguente elenco riassume i caratteri speciali nei file di configurazione di Kpathsea. +<!--l. 2221--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span +class="ec-lmtt-10">:</span> </dt><dd +class="list"> + <!--l. 2222--><p class="noindent" >Separatore nella specifica di un percorso; all’inizio o alla fine di un percorso sostituisce l’espansione + di percorso predefinita. + </dd><dt class="list"> + <span +class="ec-lmtt-10">;</span> </dt><dd +class="list"> + <!--l. 2225--><p class="noindent" >Separatore nei sistemi non Unix (si comporta come <span +class="ec-lmtt-10">:</span>). + </dd><dt class="list"> + <span +class="ec-lmtt-10">$</span> </dt><dd +class="list"> + <!--l. 2227--><p class="noindent" >Espansione di una variabile. + </dd><dt class="list"> + <span +class="ec-lmtt-10">~</span> </dt><dd +class="list"> + <!--l. 2228--><p class="noindent" >Rappresenta la directory di home di un utente. + </dd><dt class="list"> + <span +class="ec-lmtt-10">{...}</span> </dt><dd +class="list"> + <!--l. 2229--><p class="noindent" >Espansione di parentesi graffe. + </dd><dt class="list"> + <span +class="ec-lmtt-10">//</span> </dt><dd +class="list"> + <!--l. 2230--><p class="noindent" >Espansione di sotto directory (può trovarsi ovunque in un percorso tranne che al suo inizio). + </dd><dt class="list"> + <span +class="ec-lmtt-10">%</span> </dt><dd +class="list"> + <!--l. 2232--><p class="noindent" >Inizio di un commento. + </dd><dt class="list"> + <span +class="ec-lmtt-10">\</span> </dt><dd +class="list"> + <!--l. 2233--><p class="noindent" >Carattere di continuazione (consente alle voci di continuare su più linee). + + + </dd><dt class="list"> + <span +class="ec-lmtt-10">!!</span> </dt><dd +class="list"> + <!--l. 2235--><p class="noindent" >Cerca <span +class="ec-lmri-10">solo </span>nei database per individuare un file, <span +class="ec-lmri-10">non </span>cerca sul disco.</dd></dl> +<!--l. 2240--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">8.2 </span> <a + id="x1-650008.2"></a>Database di nomi di file</h4> +<!--l. 2243--><p class="noindent" >Kpathsea si sforza di minimizzare gli accessi al disco per le ricerche. Infatti, in installazioni con parecchie +directory, cercare un dato file in ognuna di esse può richiedere una quantità di tempo eccessiva (vero +soprattutto se devono essere attraversate molte centinaia di directory di font). Quindi, Kpathsea può usare un +file di “database” testuale costruito esternamente, chiamato <span +class="ec-lmtt-10">ls-R</span>, che associa file a directory, evitando in +questo modo di cercare esaustivamente sul disco. +<!--l. 2251--><p class="indent" > Un secondo file di database, <span +class="ec-lmtt-10">aliases</span>, permette di dare nomi aggiuntivi ai file elencati in <span +class="ec-lmtt-10">ls-R</span>. +Questa caratteristica può essere utile per conformare i file sorgenti alla convenzione dei nomi DOS +8.3. +<!--l. 2256--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">8.2.1 </span> <a + id="x1-660008.2.1"></a>Il database di nomi</h5> +<!--l. 2259--><p class="noindent" >Come spiegato in precedenza, il nome del database principale di nomi di file deve essere <span +class="ec-lmtt-10">ls-R</span>. Potete metterne +uno alla radice di ogni ramo <span class="TEX">T<span +class="E">E</span>X</span> della vostra installazione nel quale volete che si effettuino le ricerche (<span +class="ec-lmtt-10">$TEXMF</span> +di base). Kpathsea cerca i file <span +class="ec-lmtt-10">ls-R </span>nel percorso <span +class="ec-lmtt-10">TEXMFDBS</span>. +<!--l. 2265--><p class="indent" > Il metodo raccomandato per creare e mantenere ‘<span +class="ec-lmtt-10">ls-R</span>’ è quello di eseguire lo script <span +class="ec-lmtt-10">mktexlsr </span>incluso nella +distribuzione. Esso è invocato dai vari script ‘<span +class="ec-lmtt-10">mktex</span>’…. In teoria, questo script esegue semplicemente il +comando <div class="alltt"> +<!--l. 2269--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">cd</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmro-10">/la/vostra/radice/texmf</span><span +class="ec-lmtt-10"> &&</span><span +class="ec-lmtt-10"> </span><span class="path"><span +class="ec-lmtt-10">\</span></span><span +class="ec-lmtt-10">ls</span><span +class="ec-lmtt-10"> -1LAR</span><span +class="ec-lmtt-10"> ./</span><span +class="ec-lmtt-10"> >ls-R</span> +</div> +</div> assumendo che il comando <span +class="ec-lmtt-10">ls </span>del vostro sistema produca il giusto formato di output (<span +class="ec-lmtt-10">ls </span>del progetto GNU lo +fa). Per garantire che l’archivio sia sempre aggiornato, la cosa più semplice è rigenerarlo regolarmente tramite +<span +class="ec-lmtt-10">cron</span>, così che sia automaticamente ricostruito quando i file installati cambiano, ad esempio dopo aver +installato o aggiornato un pacchetto <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>. +<!--l. 2279--><p class="indent" > Se un file non è trovato nel database, per default Kpathsea va avanti e cerca sul disco. Se un particolare +elemento di percorso comincia con ‘<span +class="ec-lmtt-10">!!</span>’, però, la ricerca per quell’elemento sarà effettuata <span +class="ec-lmri-10">solo </span>nel database, +mai sul disco. +<!--l. 2285--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">8.2.2 </span> <a + id="x1-670008.2.2"></a>kpsewhich: ricerca indipendente di percorsi</h5> +<!--l. 2288--><p class="noindent" >Il programma <span +class="ec-lmtt-10">kpsewhich </span>compie la ricerca di percorsi indipendentemente da qualunque particolare +applicazione. Può essere utile come una sorta di programma <span +class="ec-lmtt-10">find </span>per individuare i file nelle gerarchie <span class="TEX">T<span +class="E">E</span>X</span> (è +ampiamente usato negli script ‘<span +class="ec-lmtt-10">mktex</span>’… distribuiti). + <div class="alltt"> +<!--l. 2294--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> </span><span +class="ec-lmro-10">opzioni</span><span +class="ec-lmtk-10">…</span><span +class="ec-lmtk-10"> </span><span +class="ec-lmro-10">nomefile</span><span +class="ec-lmtk-10">…</span> +</div> +</div> Le opzioni specificate in <span +class="ec-lmro-10">opzioni </span>cominciano con ‘<span +class="ec-lmtt-10">-</span>’ oppure con ‘<span +class="ec-lmtt-10">--</span>’ ed è accettata qualunque abbreviazione +non ambigua. +<!--l. 2300--><p class="indent" > Kpathsea cerca ogni argomento sulla riga di comando che non sia un’opzione come se fosse il nome di un +file e restituisce il primo trovato. Non ci sono opzioni per restituire tutti i file con un particolare nome (per fare +questo, potete eseguire il programma Unix ‘<span +class="ec-lmtt-10">find</span>’). +<!--l. 2305--><p class="indent" > Le opzioni più comuni sono descritte in seguito. +<!--l. 2307--><p class="noindent" > + + + <dl class="list1"><dt class="list"> + <span +class="ec-lmtt-10">--dpi=</span><span +class="ec-lmro-10">num</span> </dt><dd +class="list"> + <!--l. 2308--><p class="noindent" > Imposta la risoluzione a <span +class="ec-lmro-10">num</span>; questa opzione ha effetto solo nelle ricerche dei file ‘<span +class="ec-lmtt-10">gf</span>’ e ‘<span +class="ec-lmtt-10">pk</span>’. ‘<span +class="ec-lmtt-10">-D</span>’ + è un sinonimo, per compatibilità con <span +class="ec-lmss-10">dvips</span>. Il valore preimpostato è 600. + </dd><dt class="list"> + <span +class="ec-lmtt-10">--format=</span><span +class="ec-lmro-10">nome</span> </dt><dd +class="list"> + <!--l. 2313--><p class="noindent" ><br +class="newline" />Imposta il formato da cercare a <span +class="ec-lmro-10">nome</span>. Di base, il formato è ipotizzato a partire dal nome del + file. Per i formati che non hanno associato un suffisso non ambiguo, come i file di supporto di + MetaPost e i file di configurazione di <span +class="ec-lmss-10">dvips</span>, dovete specificare il nome così come è conosciuto da + Kpathsea, come <span +class="ec-lmtt-10">tex </span>o <span +class="ec-lmtt-10">enc files</span>. Eseguite <span +class="ec-lmtt-10">kpsewhich --help </span>per un elenco. + </dd><dt class="list"> + <span +class="ec-lmtt-10">--mode=</span><span +class="ec-lmro-10">stringa</span> </dt><dd +class="list"> + <!--l. 2321--><p class="noindent" ><br +class="newline" />Imposta il nome della modalità a <span +class="ec-lmro-10">stringa</span>; questa opzione ha effetto solo sulle ricerche dei file ‘<span +class="ec-lmtt-10">gf</span>’ + e ‘<span +class="ec-lmtt-10">pk</span>’. Non esiste un valore preimpostato: sarà trovata qualunque tipo di modalità. + </dd><dt class="list"> + <span +class="ec-lmtt-10">--must-exist</span> </dt><dd +class="list"> + <!--l. 2325--><p class="noindent" ><br +class="newline" />Fa tutto ciò che è possibile per trovare il file, inclusa nello specifico la ricerca sul disco. Di base, + per questioni di efficienza, è controllato solo l’archivio <span +class="ec-lmtt-10">ls-R</span>. + </dd><dt class="list"> + <span +class="ec-lmtt-10">--path=</span><span +class="ec-lmro-10">stringa</span> </dt><dd +class="list"> + <!--l. 2329--><p class="noindent" ><br +class="newline" />Cerca nel percorso di ricerca <span +class="ec-lmro-10">stringa </span>(separata da due punti, come al solito), invece di ricavarlo dal + nome del file. ‘<span +class="ec-lmtt-10">//</span>’ e tutte le solite espansioni sono supportate. Le opzioni ‘<span +class="ec-lmtt-10">--path</span>’ e ‘<span +class="ec-lmtt-10">--format</span>’ + si escludono a vicenda. + </dd><dt class="list"> + <span +class="ec-lmtt-10">--progname=</span><span +class="ec-lmro-10">nome</span> </dt><dd +class="list"> + <!--l. 2334--><p class="noindent" ><br +class="newline" />Imposta il nome del programma a <span +class="ec-lmro-10">nome</span>. Questa opzione può modificare i percorsi di ricerca per + mezzo della funzionalità <span +class="ec-lmtt-10">.</span><span +class="ec-lmro-10">nomeprogramma</span>. Il valore predefinito è <span +class="ec-lmss-10">kpsewhich</span>. + </dd><dt class="list"> + <span +class="ec-lmtt-10">--show-path=</span><span +class="ec-lmro-10">nome</span> </dt><dd +class="list"> + <!--l. 2339--><p class="noindent" ><br +class="newline" />Mostra il percorso usato per la ricerca dei file il cui tipo sia <span +class="ec-lmro-10">nome</span>. Può essere usata sia un’estensione + (<span +class="ec-lmtt-10">.pk</span>, <span +class="ec-lmtt-10">.vf</span>, ecc.) che un nome, proprio come per l’opzione ‘<span +class="ec-lmtt-10">--format</span>’. + </dd><dt class="list"> + <span +class="ec-lmtt-10">--debug=</span><span +class="ec-lmro-10">num</span> </dt><dd +class="list"> + <!--l. 2344--><p class="noindent" ><br +class="newline" />Imposta le opzioni per la ricerca degli errori a <span +class="ec-lmro-10">num</span>.</dd></dl> +<!--l. 2349--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">8.2.3 </span> <a + id="x1-680008.2.3"></a>Esempi d’uso</h5> +<!--l. 2352--><p class="noindent" >Diamo uno sguardo a Kpathsea in azione. Ecco una ricerca semplice: + <div class="alltt"> +<!--l. 2354--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> article.cls</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-dist/tex/latex/base/article.cls</span> + + +</div> +</div> Stiamo cercando il file <span +class="ec-lmtt-10">article.cls</span>. Dato che il suffisso ‘<span +class="ec-lmtt-10">.cls</span>’ non è ambiguo, non abbiamo +bisogno di specificare che vogliamo cercare un file di tipo <span +class="ec-lmtt-10">tex </span>(file sorgente <span class="TEX">T<span +class="E">E</span>X</span>). Lo troviamo +nella sotto directory <span +class="ec-lmtt-10">tex/latex/base </span>sotto la directory di <span class="TEX">T<span +class="E">E</span>X</span> Live ‘<span +class="ec-lmtt-10">texmf-dist</span>’. In modo +simile, tutti i file seguenti sono trovati senza problemi grazia alla non ambiguità dei loro suffissi. +<div class="alltt"> +<!--l. 2364--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> array.sty</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-dist/tex/latex/tools/array.sty</span> +<br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> latin1.def</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-dist/tex/latex/base/latin1.def</span> +<br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> size10.clo</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-dist/tex/latex/base/size10.clo</span> +<br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> small2e.tex</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-dist/tex/latex/base/small2e.tex</span> +<br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> tugboat.bib</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib</span> +</div> +</div> +<!--l. 2377--><p class="indent" > Ad ogni modo, quest’ultimo è un registro bibliografico in formato BibTeX per gli articoli di +<span +class="ec-lmro-10">TUGboat</span>. + <div class="alltt"> +<!--l. 2380--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> cmr10.pk</span> +</div> +</div> I file di glifi dei font bitmat di tipo <span +class="ec-lmtt-10">.pk </span>sono usati dai programmi di visualizzazione come <span +class="ec-lmss-10">dvips </span>e <span +class="ec-lmss-10">xdvi</span>. +Non viene restituito nulla in questo caso dato che in <span class="TEX">T<span +class="E">E</span>X</span> Live non ci sono file ‘<span +class="ec-lmtt-10">.pk</span>’ pregenerati +per il carattere tipografico Computer Modern — come predefinite sono usate le varianti Type 1. +<div class="alltt"> +<!--l. 2388--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> wsuipa10.pk</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk</span> +</div> +</div> Per questi font (un alfabeto fonetico creato dall’Università di Washington) dobbiamo generare i file +‘<span +class="ec-lmtt-10">.pk</span>’ e dato che la modalità predefinita di Metafont nella nostra installazione è <span +class="ec-lmtt-10">ljfour </span>con una +risoluzione di base di 600dpi (dots per inch, punti per pollice), viene restituito questo valore. +<div class="alltt"> +<!--l. 2399--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> -dpi=300</span><span +class="ec-lmtk-10"> wsuipa10.pk</span> +</div> +</div> In questo caso, quando specifichiamo di essere interessati ad una risoluzione di 300dpi (<span +class="ec-lmtt-10">-dpi=300</span>) osserviamo +che questo font non è disponibile nel sistema. Un programma come <span +class="ec-lmss-10">dvips </span>o <span +class="ec-lmss-10">xdvi </span>andrebbe avanti e genererebbe i +file <span +class="ec-lmtt-10">.pk </span>richiesti usando lo script <span +class="ec-lmss-10">mktexpk</span>. +<!--l. 2408--><p class="indent" > Adesso spostiamo la nostra attenzione sui file di intestazione e di configurazione di <span +class="ec-lmss-10">dvips</span>. Cercheremo +innanzitutto un file tra quelli usati comunemente, il prologo generale <span +class="ec-lmtt-10">tex.pro </span>per il supporto a <span class="TEX">T<span +class="E">E</span>X</span>, prima di +spostare l’attenzione sul generico file di configurazione (<span +class="ec-lmtt-10">config.ps</span>) e la mappa dei font PostScript +<span +class="ec-lmtt-10">psfonts.map </span>—  a partire dal 2004, i file di mappatura e di codifica hanno i propri percorsi di +ricerca e una nuova posizione negli alberi <span class="path"><span +class="ec-lmtt-10">texmf</span></span>. Dato che il suffisso ‘<span +class="ec-lmtt-10">.ps</span>’ è ambiguo, dobbiamo +specificare esplicitamente quale tipo stiamo considerando (<span +class="ec-lmtt-10">dvips config</span>) per il file <span +class="ec-lmtt-10">config.ps</span>. +<div class="alltt"> + + +<!--l. 2418--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> tex.pro</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf/dvips/base/tex.pro</span> +<br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> --format="dvips</span><span +class="ec-lmtk-10"> config"</span><span +class="ec-lmtk-10"> config.ps</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf/dvips/config/config.ps</span> +<br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> psfonts.map</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map</span> +</div> +</div> +<!--l. 2427--><p class="indent" > Diamo ora uno sguardo ravvicinato ai file di supporto per il carattere PostScript URW Times. Il prefisso +per questi file nello schema dei nomi dei font è ‘<span +class="ec-lmtt-10">utm</span>’. Il primo file che cerchiamo è quello di configurazione, che +contiene il nome del file di mappatura: <div class="alltt"> +<!--l. 2431--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> --format="dvips</span><span +class="ec-lmtk-10"> config"</span><span +class="ec-lmtk-10"> config.utm</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-dist/dvips/psnfss/config.utm</span> +</div> +</div> Il contenuto di questo file è <div class="alltt"> +<!--l. 2436--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> p</span><span +class="ec-lmtt-10"> +utm.map</span> +</div> +</div> che punta al file <span +class="ec-lmtt-10">utm.map</span>, che sarà il prossimo che cercheremo. <div class="alltt"> +<!--l. 2440--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> utm.map</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-dist/fonts/map/dvips/times/utm.map</span> +</div> +</div> Questo file di mappatura definisce i nomi dei file dei font PostScript Type 1 nella collezione URW. Il suo +contenuto è simile al seguente (mostriamo solo una parte delle righe): <div class="alltt"> +<!--l. 2447--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">utmb8r</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> NimbusRomNo9L-Medi</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> ...</span><span +class="ec-lmtt-10"> <utmb8a.pfb</span> +<br /><span +class="ec-lmtt-10">utmbi8r</span><span +class="ec-lmtt-10"> NimbusRomNo9L-MediItal...</span><span +class="ec-lmtt-10"> <utmbi8a.pfb</span> +<br /><span +class="ec-lmtt-10">utmr8r</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> NimbusRomNo9L-Regu</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> ...</span><span +class="ec-lmtt-10"> <utmr8a.pfb</span> +<br /><span +class="ec-lmtt-10">utmri8r</span><span +class="ec-lmtt-10"> NimbusRomNo9L-ReguItal...</span><span +class="ec-lmtt-10"> <utmri8a.pfb</span> +<br /><span +class="ec-lmtt-10">utmbo8r</span><span +class="ec-lmtt-10"> NimbusRomNo9L-Medi</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> ...</span><span +class="ec-lmtt-10"> <utmb8a.pfb</span> +<br /><span +class="ec-lmtt-10">utmro8r</span><span +class="ec-lmtt-10"> NimbusRomNo9L-Regu</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> ...</span><span +class="ec-lmtt-10"> <utmr8a.pfb</span> +</div> +</div> Prendiamo, ad esempio, il file per il Times Roman <span +class="ec-lmtt-10">utmr8a.pfb </span>e cerchiamo la sua posizione nell’albero delle +directory <span +class="ec-lmtt-10">texmf </span>con una ricerca dei file di font Type 1: <div class="alltt"> +<!--l. 2458--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> utmr8a.pfb</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb</span> +</div> +</div> +<!--l. 2465--><p class="indent" > Dovrebbe essere chiaro da questi esempi come potete individuare facilmente dove si trovi un dato file. Tutto +ciò è particolarmente importante se sospettate che in qualche modo venga prelevata la versione sbagliata di un +file, in quanto <span +class="ec-lmss-10">kpsewhich </span>mostrerà il primo file incontrato. + + +<!--l. 2470--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">8.2.4 </span> <a + id="x1-690008.2.4"></a>Risoluzione dei problemi</h5> +<!--l. 2473--><p class="noindent" >A volte è necessario investigare sul come un programma determina i riferimenti ad un file. Per rendere pratico +ciò, Kpathsea offre vari livelli di messaggi diagnostici: +<!--l. 2477--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span +class="ec-lmtt-10"> 1</span> </dt><dd +class="list"> + <!--l. 2478--><p class="noindent" >Chiamate a <span +class="ec-lmtt-10">stat </span>(accessi al disco). Quando si compie una ricerca avendo a disposizione un + database <span +class="ec-lmtt-10">ls-R </span>aggiornato, questo livello non dovrebbe mostrare quasi nessun messaggio. + </dd><dt class="list"> + <span +class="ec-lmtt-10"> 2</span> </dt><dd +class="list"> + <!--l. 2481--><p class="noindent" >Riferimenti alle tabelle dei dati (come i database <span +class="ec-lmtt-10">ls-R</span>, i file di mappatura, quelli di configurazione). + </dd><dt class="list"> + <span +class="ec-lmtt-10"> 4</span> </dt><dd +class="list"> + <!--l. 2483--><p class="noindent" >Operazioni di apertura e chiusura dei file. + </dd><dt class="list"> + <span +class="ec-lmtt-10"> 8</span> </dt><dd +class="list"> + <!--l. 2484--><p class="noindent" >Informazioni generali sui percorsi per i tipi di file cercati da Kpathsea. Utile per scoprire dove è + stato definito un particolare percorso per un file. + </dd><dt class="list"> + <span +class="ec-lmtt-10">16</span> </dt><dd +class="list"> + <!--l. 2487--><p class="noindent" >Elenco delle directory per ogni elemento di un percorso (rilevante solo per le ricerche su disco). + </dd><dt class="list"> + <span +class="ec-lmtt-10">32</span> </dt><dd +class="list"> + <!--l. 2489--><p class="noindent" >Ricerche di file. + </dd><dt class="list"> + <span +class="ec-lmtt-10">64</span> </dt><dd +class="list"> + <!--l. 2490--><p class="noindent" >Valori delle variabili.</dd></dl> +<!--l. 2492--><p class="noindent" >Un valore di <span +class="ec-lmtt-10">-1 </span>attiverà tutte le opzioni precedenti; nella pratica, questo valore è di solito il più +conveniente. +<!--l. 2495--><p class="indent" > Analogamente, con il programma <span +class="ec-lmss-10">dvips</span>, impostando una combinazione di opzioni di diagnostica, è possibile +seguire in dettaglio le posizioni da cui i file sono prelevati. In alternativa, quando un file non viene trovato, la +traccia dei messaggi mostra in quali directory il programma ha cercato il file, così che si possa ottenere +un’indicazione sull’origine del problema. +<!--l. 2502--><p class="indent" > In termini generali, dato che la maggior parte dei programmi invoca la libreria Kpathsea internamente, è +possibile selezionare il livello di diagnostica usando la variabile d’ambiente <span +class="ec-lmtt-10">KPATHSEA_DEBUG </span>ed impostandola +ad una combinazione dei valori descritti nell’elenco di cui sopra. +<!--l. 2508--><p class="indent" > (Nota per gli utenti Windows: in questo sistema non è semplice redirigere tutti i messaggi verso un file. Per +scopi di diagnostica potete impostare temporaneamente <span +class="ec-lmtt-10">SET KPATHSEA_DEBUG_OUTPUT=err.log</span>). +<!--l. 2512--><p class="indent" > Consideriamo, come esempio, un piccolo file sorgente di <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>, <span +class="ec-lmtt-10">hello-world.tex</span>, che contiene il +seguente testo. + + + <div class="verbatim" id="verbatim-5"> + <div class="fancyvrb" id="fancyvrb18"><a + id="x1-69002r1"></a>    \documentclass{article}<br class="fancyvrb" /><a + id="x1-69004r2"></a>    \begin{document}<br class="fancyvrb" /><a + id="x1-69006r3"></a>    Ciao Mondo!<br class="fancyvrb" /><a + id="x1-69008r4"></a>    \end{document}</div> +</div> +<!--l. 2519--><p class="nopar" >Questo piccolo file usa solo il font <span +class="ec-lmtt-10">cmr10</span>, quindi vediamo come <span +class="ec-lmss-10">dvips </span>prepara il file PostScript (vogliamo usare +la versione Type 1 dei font Computer Modern, da qui l’opzione <span +class="ec-lmtt-10">-Pcms</span>). <div class="alltt"> +<!--l. 2523--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">dvips</span><span +class="ec-lmtk-10"> -d4100</span><span +class="ec-lmtk-10"> hello-world</span><span +class="ec-lmtk-10"> -Pcms</span><span +class="ec-lmtk-10"> -o</span> +</div> +</div> In questo caso abbiamo combinato la classe di diagnostica 4 di <span +class="ec-lmss-10">dvips </span>(percorsi dei font) con l’espansione degli +elementi di percorso di Kpathsea (vedi il Manuale di Riferimento di <span +class="ec-lmss-10">dvips</span>, <a +href="../../../../texmf/doc/dvips/dvips.pdf" >texmf/doc/dvips/dvips.pdf</a>). Il +risultato (leggermente riorganizzato) appare in figura <a +href="#x1-69031r12">12<!--tex4ht:ref: fig:dvipsdbga --></a>. +<!--l. 2532--><p class="indent" > <a + id="x1-69031r12"></a><a + id="x1-69036r13"></a><a + id="x1-69049r14"></a><hr class="float"><div class="float" +> + + +<div class="BVerbatimInput"><span +class="ec-lmtt-9">debug:start</span><span +class="ec-lmtt-9"> search(file=texmf.cnf,</span><span +class="ec-lmtt-9"> must_exist=1,</span><span +class="ec-lmtt-9"> find_all=1,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:/usr/local/bin/texlive:/usr/local/bin:</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> /usr/local/bin/texmf/web2c:/usr/local:</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> /usr/local/texmf/web2c:/.:/./teTeX/TeX/texmf/web2c:).</span><br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=ls-R,</span><span +class="ec-lmtt-9"> must_exist=1,</span><span +class="ec-lmtt-9"> find_all=1,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=~/tex:/usr/local/texmf).</span><br /><span +class="ec-lmtt-9">kdebug:search(ls-R)</span><span +class="ec-lmtt-9"> =>/usr/local/texmf/ls-R</span><br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=aliases,</span><span +class="ec-lmtt-9"> must_exist=1,</span><span +class="ec-lmtt-9"> find_all=1,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=~/tex:/usr/local/texmf).</span><br /><span +class="ec-lmtt-9">kdebug:search(aliases)</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> /usr/local/texmf/aliases</span><br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=config.ps,</span><span +class="ec-lmtt-9"> must_exist=0,</span><span +class="ec-lmtt-9"> find_all=0,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex:!!/usr/local/texmf/dvips//).</span><br /><span +class="ec-lmtt-9">kdebug:search(config.ps)</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> /usr/local/texmf/dvips/config/config.ps</span><br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=/root/.dvipsrc,</span><span +class="ec-lmtt-9"> must_exist=0,</span><span +class="ec-lmtt-9"> find_all=0,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex:!!/usr/local/texmf/dvips//).</span><br /><span +class="ec-lmtt-9">search(file=/home/goossens/.dvipsrc,</span><span +class="ec-lmtt-9"> must_exist=1,</span><span +class="ec-lmtt-9"> find_all=0,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//).</span><br /><span +class="ec-lmtt-9">kdebug:search($HOME/.dvipsrc)</span><span +class="ec-lmtt-9"> =></span><br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=config.cms,</span><span +class="ec-lmtt-9"> must_exist=0,</span><span +class="ec-lmtt-9"> find_all=0,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//).</span><br /><span +class="ec-lmtt-9">kdebug:search(config.cms)</span><br /><span +class="ec-lmtt-9">=>/usr/local/texmf/dvips/cms/config.cms</span></div> + <div class="caption" +><span class="id">Figura 12: </span><span +class="content">Ricerca dei file di configurazione</span></div><!--tex4ht:label?: x1-69031r12 --> +<div class="BVerbatimInput"><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=texc.pro,</span><span +class="ec-lmtt-9"> must\_exist=0,</span><span +class="ec-lmtt-9"> find\_all=0,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).</span><br /><span +class="ec-lmtt-9">kdebug:search(texc.pro)</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> /usr/local/texmf/dvips/base/texc.pro</span></div> + <div class="caption" +><span class="id">Figura 13: </span><span +class="content">Ricerca del file di prologo</span></div><!--tex4ht:label?: x1-69036r13 --> +<div class="BVerbatimInput"><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=cmr10.tfm,</span><span +class="ec-lmtt-9"> must\_exist=1,</span><span +class="ec-lmtt-9"> find\_all=0,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//:</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> /var/tex/fonts/tfm//).</span><br /><span +class="ec-lmtt-9">kdebug:search(cmr10.tfm)</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm</span><br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=texps.pro,</span><span +class="ec-lmtt-9"> must\_exist=0,</span><span +class="ec-lmtt-9"> find\_all=0,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ...</span><br /><span +class="ec-lmtt-9"><texps.pro></span><br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=cmr10.pfb,</span><span +class="ec-lmtt-9"> must\_exist=0,</span><span +class="ec-lmtt-9"> find\_all=0,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).</span><br /><span +class="ec-lmtt-9">kdebug:search(cmr10.pfb)</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb</span><br /><span +class="ec-lmtt-9"><cmr10.pfb>[1]</span></div> + <div class="caption" +><span class="id">Figura 14: </span><span +class="content">Ricerca del file del font</span></div><!--tex4ht:label?: x1-69049r14 --> + + + </div><hr class="endfloat" /> +<!--l. 2548--><p class="indent" > <span +class="ec-lmss-10">dvips </span>inizia individuando i propri file di lavoro. Per primo viene trovato <span +class="ec-lmtt-10">texmf.cnf</span>, che fornisce le +definizioni dei percorsi di ricerca per gli altri file, quindi il file di database <span +class="ec-lmtt-10">ls-R </span>(per ottimizzare la ricerca) e il +file <span +class="ec-lmtt-10">aliases</span>, che rende possibile dichiarare diversi nomi (ad esempio, una versione breve in formato DOS 8.3 e +una più lunga e più naturale) per lo stesso file. Quindi <span +class="ec-lmss-10">dvips </span>prosegue nel cercare il file di configurazione +generico <span +class="ec-lmtt-10">config.ps </span>prima di guardare al file personalizzato <span +class="ec-lmtt-10">.dvipsrc </span>(che in questo caso <span +class="ec-lmri-10">non viene trovato</span>). +Infine, <span +class="ec-lmss-10">dvips </span>individua il file di configurazione <span +class="ec-lmtt-10">config.cms </span>per il font PostScript Computer Modern (questo +passo è stato attivato con l’opzione <span +class="ec-lmtt-10">-Pcms </span>data al comando <span +class="ec-lmss-10">dvips</span>). Questo file contiene la lista delle +mappature che definiscono la relazione tra il modo di chiamare i font in <span class="TEX">T<span +class="E">E</span>X</span>, in PostScript e sul disco. +<div class="alltt"> +<!--l. 2562--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">more</span><span +class="ec-lmtk-10"> /usr/local/texmf/dvips/cms/config.cms</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> p</span><span +class="ec-lmtt-10"> +ams.map</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> p</span><span +class="ec-lmtt-10"> +cms.map</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> p</span><span +class="ec-lmtt-10"> +cmbkm.map</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> p</span><span +class="ec-lmtt-10"> +amsbkm.map</span> +</div> +</div> <span +class="ec-lmss-10">dvips</span>, quindi, procede nel trovare tutti questi file, più il generico file di mappatura <span +class="ec-lmtt-10">psfonts.map</span>, che è +caricato sempre (contiene le dichiarazioni per i font PostScript usati comunemente; consultate la parte finale +della sezione <a +href="#x1-680008.2.3">8.2.3<!--tex4ht:ref: sec:examples-of-use --></a> per ulteriori dettagli sulla gestione delle mappature PostScript). +<!--l. 2575--><p class="indent" > A questo punto, <span +class="ec-lmss-10">dvips </span>si presenta all’utente: <div class="alltt"> +<!--l. 2576--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">This</span><span +class="ec-lmtt-10"> is</span><span +class="ec-lmtt-10"> dvips(k)</span><span +class="ec-lmtt-10"> 5.92b</span><span +class="ec-lmtt-10"> Copyright</span><span +class="ec-lmtt-10"> 2002</span><span +class="ec-lmtt-10"> Radical</span><span +class="ec-lmtt-10"> Eye</span><span +class="ec-lmtt-10"> Software</span><span +class="ec-lmtt-10"> (www.radicaleye.com)</span> +</div> +</div> Quindi prosegue nel cercare il file di prologo <span +class="ec-lmtt-10">texc.pro</span>: <div class="alltt"> +<!--l. 2581--><p class="noindent" ><div class="obeylines-v"> +<br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=texc.pro,</span><span +class="ec-lmtt-9"> must_exist=0,</span><span +class="ec-lmtt-9"> find_all=0,</span> +<br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:</span> +<br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).</span> +<br /><span +class="ec-lmtt-9">kdebug:search(texc.pro)</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> /usr/local/texmf/dvips/base/texc.pro</span> +</div> +</div> +<!--l. 2592--><p class="indent" > Dopo aver trovato il file in questione, <span +class="ec-lmss-10">dvips </span>mostra la data e l’ora, ci informa che genererà il file +<span +class="ec-lmtt-10">hello-world.ps</span>, poi che avrà bisogno del file del font <span +class="ec-lmtt-10">cmr10 </span>e che quest’ultimo è dichiarato “residente” (non +sono necessarie bitmap): <div class="alltt"> +<!--l. 2596--><p class="noindent" ><div class="obeylines-v"> +<br /><span +class="ec-lmtt-9">TeX</span><span +class="ec-lmtt-9"> output</span><span +class="ec-lmtt-9"> 1998.02.26:1204’</span><span +class="ec-lmtt-9"> -></span><span +class="ec-lmtt-9"> hello-world.ps</span> +<br /><span +class="ec-lmtt-9">Defining</span><span +class="ec-lmtt-9"> font</span><span +class="ec-lmtt-9"> ()</span><span +class="ec-lmtt-9"> cmr10</span><span +class="ec-lmtt-9"> at</span><span +class="ec-lmtt-9"> 10.0pt</span> +<br /><span +class="ec-lmtt-9">Font</span><span +class="ec-lmtt-9"> cmr10</span><span +class="ec-lmtt-9"> <CMR10></span><span +class="ec-lmtt-9"> is</span><span +class="ec-lmtt-9"> resident.</span> +</div> +</div> Adesso la ricerca prosegue con il file <span +class="ec-lmtt-10">cmr10.tfm</span>, che viene trovato, quindi viene fatto riferimento ad alcuni +ulteriori file di prologo (non mostrati) e, infine, l’istanza Type 1 del font, <span +class="ec-lmtt-10">cmr10.pfb</span>, è individuata ed inclusa +del file in uscita (vedi l’ultima linea). <div class="alltt"> +<!--l. 2606--><p class="noindent" ><div class="obeylines-v"> +<br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=cmr10.tfm,</span><span +class="ec-lmtt-9"> must_exist=1,</span><span +class="ec-lmtt-9"> find_all=0,</span> +<br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//:</span> +<br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> /var/tex/fonts/tfm//).</span> +<br /><span +class="ec-lmtt-9">kdebug:search(cmr10.tfm)</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm</span> +<br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=texps.pro,</span><span +class="ec-lmtt-9"> must_exist=0,</span><span +class="ec-lmtt-9"> find_all=0,</span> + + +<br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ...</span> +<br /><span +class="ec-lmtt-9"><texps.pro></span> +<br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=cmr10.pfb,</span><span +class="ec-lmtt-9"> must_exist=0,</span><span +class="ec-lmtt-9"> find_all=0,</span> +<br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:</span> +<br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).</span> +<br /><span +class="ec-lmtt-9">kdebug:search(cmr10.pfb)</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb</span> +<br /><span +class="ec-lmtt-9"><cmr10.pfb>[1]</span> +</div> +</div> + <h4 class="subsectionHead"><span class="titlemark">8.3 </span> <a + id="x1-700008.3"></a>Opzioni di esecuzione</h4> +<!--l. 2623--><p class="noindent" >Un’altra funzionalità utile di Web2C è la sua possibilità di controllare un certo numero di parametri relativi +alla memoria (nello specifico la dimensione degli array) tramite il file <span +class="ec-lmtt-10">texmf.cnf </span>letto da Kpathsea durante +l’esecuzione. Le impostazioni della memoria possono essere trovate nella Parte 3 di quel file nella distribuzione +<span class="TEX">T<span +class="E">E</span>X</span> Live. Le più importanti sono: +<!--l. 2630--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span +class="ec-lmtt-10">main_memory</span> </dt><dd +class="list"> + <!--l. 2631--><p class="noindent" >La quantità complessiva di memoria disponibile per <span class="TEX">T<span +class="E">E</span>X</span>, Metafont e MetaPost. Dovete creare un + nuovo file di formato per ogni impostazione differente. Per esempio, potreste generare una versione + “enorme” di <span class="TEX">T<span +class="E">E</span>X</span> e chiamare il file di formato <span +class="ec-lmtt-10">hugetex.fmt</span>. Usando il modo normale di specificare + il nome del programma usato da Kpathsea, l’opportuno valore della variabile <span +class="ec-lmtt-10">main_memory </span>sarà + letto da <span +class="ec-lmtt-10">texmf.cnf</span>. + </dd><dt class="list"> + <span +class="ec-lmtt-10">extra_mem_bot</span> </dt><dd +class="list"> + <!--l. 2638--><p class="noindent" >Spazio aggiuntivo per le strutture dati “grandi” di <span class="TEX">T<span +class="E">E</span>X</span>: scatole, colle, interruzioni, ecc. Utile + specialmente se usate PI C<span class="TEX">T<span +class="E">E</span>X</span>. + </dd><dt class="list"> + <span +class="ec-lmtt-10">font_mem_size</span> </dt><dd +class="list"> + <!--l. 2641--><p class="noindent" >Numero di registri per le informazioni sui font disponibili in <span class="TEX">T<span +class="E">E</span>X</span>. Questo valore è più o meno + pari alla dimensione totale di tutti i file TFM che vengono letti. + </dd><dt class="list"> + <span +class="ec-lmtt-10">hash_extra</span> </dt><dd +class="list"> + <!--l. 2645--><p class="noindent" >Spazio aggiuntivo per la tabella con i nomi delle sequenze di controllo. Nella tabella principale + possono essere memorizzate solo approssimativamente 10.000 sequenze di controllo; se lavorate + su un libro di grandi dimensioni con numerosi riferimenti incrociati, questo valore potrebbe non + essere sufficiente. Il valore predefinito per <span +class="ec-lmtt-10">hash_extra </span>è <span +class="ec-lmtt-10">50000</span>.</dd></dl> +<!--l. 2654--><p class="noindent" >Ovviamente questa funzionalità non è un sostituto per una vera allocazione dinamica di memoria e +array, ma dato che questi sono estremamente difficili da implementare negli attuali sorgenti di +<span class="TEX">T<span +class="E">E</span>X</span>, questi parametri di esecuzione forniscono un compromesso pratico per offrire un minimo di +flessibilità. +<!--l. 2769--><p class="indent" > <a id="ack"></a> + <h3 class="sectionHead"><span class="titlemark">9 </span> <a + id="x1-710009"></a>Ringraziamenti</h3> +<!--l. 2772--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Live è il risultato dello sforzo congiunto di praticamente tutti i gruppi utenti <span class="TEX">T<span +class="E">E</span>X</span>. Questa edizione di +<span class="TEX">T<span +class="E">E</span>X</span> Live è stata supervisionata da Karl Berry. Gli altri contributori principali, passati e presenti, sono +elencati qui sotto. + <ul class="itemize1"> + <li class="itemize">I gruppi utenti <span class="TEX">T<span +class="E">E</span>X</span> Inglese, Tedesco, Olandese e Polacco (TUG, DANTE e.V., NTG e GUST, + rispettivamente), che forniscono la necessaria infrastruttura tecnica ed amministrativa. Unitevi al + gruppo utenti <span class="TEX">T<span +class="E">E</span>X</span> più vicino a voi (consultate la pagina <a +href="http://tug.org/usergroups.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/usergroups.html</span></a>)! + + + </li> + <li class="itemize">Il team di CTAN, in particolare Robin Fairbairns, Jim Hefferon e Rainer Schöpf, che distribuiscono + le immagini di <span class="TEX">T<span +class="E">E</span>X</span> Live e forniscono l’infrastruttura comune per gli aggiornamenti dei pacchetti, + dalla quale dipende <span class="TEX">T<span +class="E">E</span>X</span> Live. + </li> + <li class="itemize">Nelson Beebe per aver reso disponibili molte piattaforme agli sviluppatori di <span class="TEX">T<span +class="E">E</span>X</span> Live e per i + suoi esaustivi collaudi. + </li> + <li class="itemize">John Bowman per aver fatto molti cambiamenti al suo programma di grafica avanzata Asymptote + affinché funzionasse in <span class="TEX">T<span +class="E">E</span>X</span> Live. + </li> + <li class="itemize">Peter Breitenlohner ed il team di e-<span class="TEX">T<span +class="E">E</span>X</span> per le stabili fondamenta del <span class="TEX">T<span +class="E">E</span>X</span> del futuro e Peter in + particolare per l’aiuto stellare con l’uso degli strumenti GNU autotool in <span class="TEX">T<span +class="E">E</span>X</span> Live. + </li> + <li class="itemize">Jin-Hwan Cho e tutti i membri del team di DVIPDFM<span +class="lmmi-10">x </span>per il loro eccellente driver e la velocità + di risposta ai problemi di configurazione. + </li> + <li class="itemize">Thomas Esser, senza il cui meraviglioso pacchetto te<span class="TEX">T<span +class="E">E</span>X</span> <span class="TEX">T<span +class="E">E</span>X</span> Live non sarebbe mai esistito. + </li> + <li class="itemize">Michel Goossens, che è stato coautore della documentazione originale. + </li> + <li class="itemize">Eitan Gurari, il cui <span class="TEX">T<span +class="E">E</span>X</span>4ht è stato usato per creare la versione HTML di questa documentazione e + che ha lavorato instancabilmente per migliorarlo con brevi preavvisi ogni anno. Eitan è scomparso + prematuramente nel giugno 2009 e dedichiamo questa documentazione alla sua memoria. + </li> + <li class="itemize">Hans Hagen per la grande quantità di collaudi e per aver permesso al suo formato Con<span class="TEX">T<span +class="E">E</span>X</span>t + (<a +href="http://pragma-ade.com" class="url" ><span +class="ec-lmtt-10">http://pragma-ade.com</span></a>) di lavorare all’interno dell’infrastruttura di <span class="TEX">T<span +class="E">E</span>X</span> Live. + </li> + <li class="itemize">Hàn Thế Thành, Martin Schröder e il team di pdf<span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://pdftex.prg" class="url" ><span +class="ec-lmtt-10">http://pdftex.prg</span></a>) per i continui + miglioramenti delle capacità di <span class="TEX">T<span +class="E">E</span>X</span>. + </li> + <li class="itemize">Hartmut Henkel per i significativi contributi allo sviluppo di pdf<span class="TEX">T<span +class="E">E</span>X</span>, Lua<span class="TEX">T<span +class="E">E</span>X</span> e molto ancora. + </li> + <li class="itemize">Taco Hoekwater per gli importanti forzi nel rinnovato sviluppo di MetaPost e (Lua)<span class="TEX">T<span +class="E">E</span>X</span> + (<a +href="http://luatex.org" class="url" ><span +class="ec-lmtt-10">http://luatex.org</span></a>) stesso, per aver incorporato Con<span class="TEX">T<span +class="E">E</span>X</span>t in <span class="TEX">T<span +class="E">E</span>X</span> Live, per aver dato a + Kpathsea le funzionalità multi-thread e per molto altro ancora. + </li> + <li class="itemize">Paweł Jackowski per l’installatore Windows <span +class="ec-lmss-10">tlpm </span>e Tomasz Łuczak per <span +class="ec-lmss-10">tlpmgui</span>, usati nelle edizioni + passate. + </li> + <li class="itemize">Akira Kakuto per aver fornito gli eseguibili per Windows a partire dalla sua distribuzione <span class="TEX">T<span +class="E">E</span>X</span> + giapponese W32TEX e per molti altri contributi allo sviluppo. + </li> + <li class="itemize">Jonathan Kew per aver sviluppato il notevole motore Xe<span class="TEX">T<span +class="E">E</span>X</span> e per aver investito tempo e fatica + per integrarlo in <span class="TEX">T<span +class="E">E</span>X</span> Live, così come per la versione iniziale dell’installatore di Mac<span class="TEX">T<span +class="E">E</span>X</span> e per + il programma <span class="TEX">T<span +class="E">E</span>X</span>works, che raccomandiamo. + </li> + <li class="itemize">Dick Koch per mantenere Mac<span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://tug.org/mactex" class="url" ><span +class="ec-lmtt-10">http://tug.org/mactex</span></a>) a distanza molto ravvicinata da + <span class="TEX">T<span +class="E">E</span>X</span> Live e per il suo gran buon umore nel farlo. + </li> + <li class="itemize">Reinhard Kotucha per i maggiori contributi all’infrastruttura e all’installatore di <span class="TEX">T<span +class="E">E</span>X</span> Live 2008, + così come per gli sforzi di ricerca sotto Windows, lo script <span +class="ec-lmtt-10">getnonfreefonts </span>e molto altro. + </li> + <li class="itemize">Anche Siep Kroonenberg per maggiori contributi all’infrastruttura e all’installatore di <span class="TEX">T<span +class="E">E</span>X</span> Live + 2008, specialmente sotto Windows, e il grosso del lavoro di aggiornamento di questo manuale per + descrivere queste funzionalità. + </li> + <li class="itemize">Heiko Oberdiek per il pacchetto <span +class="ec-lmss-10">epstopdf </span>e molti altri, per aver compresso gli enormi file di dati + di <span +class="ec-lmss-10">pst-geo </span>così che potessimo includerli e, più di tutto, per il suo notevole lavoro su <span +class="ec-lmss-10">hyperref</span>. + </li> + + + <li class="itemize">Petr Okšak che ha coordinato e controllato con grande attenzione tutto il materiale ceco e slovacco. + </li> + <li class="itemize">Toshio Oshima per il suo visualizzatore per Windows <span +class="ec-lmss-10">dviout</span>. + </li> + <li class="itemize">Manuel Pégourié-Gonnard per aver aiutato con gli aggiornamenti dei pacchetti, con i + miglioramenti alla documentazione e con lo sviluppo di <span +class="ec-lmss-10">texdoc</span>. + </li> + <li class="itemize">Fabrice Popineau per l’originale supporto per Windows in <span class="TEX">T<span +class="E">E</span>X</span> Live e per il lavoro sulla + documentazione in francese. + </li> + <li class="itemize">Norbert Preining, l’architetto principale dell’infrastruttura e dell’installatore di <span class="TEX">T<span +class="E">E</span>X</span> Live 2008, + anche per aver coordinato la versione Debian di <span class="TEX">T<span +class="E">E</span>X</span> Live (insieme con Frank Küster), offrendo + molti suggerimenti lungo il cammino. + </li> + <li class="itemize">Sebastian Rahtz per aver originariamente creato <span class="TEX">T<span +class="E">E</span>X</span> Live ed averne curato la manutenzione per + molti anni. + </li> + <li class="itemize">Phil Taylor per aver allestito gli scaricamenti tramite BitTorrent. + </li> + <li class="itemize">Tomasz Trzeciak per aiuti su vasta scala con Windows. + </li> + <li class="itemize">Vladimir Volovich per il sostanziale aiuto nel porting e in altre questioni di mantenimento e + specialmente per aver reso possibile includere <span +class="ec-lmss-10">xindy</span>. + </li> + <li class="itemize">Staszek Wawrykiewicz, il collaudatore principale di tutta <span class="TEX">T<span +class="E">E</span>X</span> Live e coordinatore di molti dei + maggiori contributori polacchi: font, installazione sotto Windows e molto altro. + </li> + <li class="itemize">Olaf Weber per la sua paziente manutenzione a Web2C. + </li> + <li class="itemize">Gerben Wierda per aver creato e fatto manutenzione all’originale supporto per Mac OS X e per + molte integrazioni e collaudi. + </li> + <li class="itemize">Graham Williams, sul cui lavoro dipende il Catalogo <span class="TEX">T<span +class="E">E</span>X</span> dei pacchetti. + </li></ul> +<!--l. 2904--><p class="indent" > Preparatori degli eseguibili: Ettore Aldrovandi (<span +class="ec-lmss-10">i386-solaris</span>, <span +class="ec-lmss-10">x86_64-solaris</span>), Alan Braslau (<span +class="ec-lmss-10">amd64-kfreebsd</span>, +<span +class="ec-lmss-10">i386-kfreebsd</span>), Peter Breitenlohner (<span +class="ec-lmss-10">x86_64-linux</span>), Karl Berry (<span +class="ec-lmss-10">i386-linux</span>), Ken Brown (<span +class="ec-lmss-10">i386-cygwin</span>), Akira +Kakuto (<span +class="ec-lmss-10">win32</span>), Dick Koch (<span +class="ec-lmss-10">universal-darwin</span>, <span +class="ec-lmss-10">x86_64-darwin</span>), Nikola Lečić (<span +class="ec-lmss-10">amd64-freebsd</span>, <span +class="ec-lmss-10">i386-freebsd</span>), +Mojca Miklavec (<span +class="ec-lmss-10">mipsel-linux</span>), Norbert Preining (<span +class="ec-lmss-10">alpha-linux</span>), Thomas Schmitz (<span +class="ec-lmss-10">powerpc-linux</span>), Boris +Veytsman (<span +class="ec-lmss-10">armel-linux</span>), Vladimir Volovich (<span +class="ec-lmss-10">powerpc-aix</span>, <span +class="ec-lmss-10">sparc-solaris</span>), Olaf Weber (<span +class="ec-lmss-10">mips-irix</span>). Per informazioni +sul processo di compilazione di <span class="TEX">T<span +class="E">E</span>X</span> Live, visitate <a +href="http://tug.org/texlive/build.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/build.html</span></a>. +<!--l. 2922--><p class="indent" > Attuali traduttori della documentazione: Boris Veytsman (russo), Jjgod Jiang, Jinsong Zhao, Yue Wang & +Helin Gai (cinese), Klaus Höppner (tedesco), Manuel Pégourié-Gonnard (francese), Marco Pallante (italiano), +Nikola Lečić (serbo), Petr Sojka & Jan Busa (ceco/slovacco), Staszek Wawrykiewicz (polacco). La pagina web +della documentazione di <span class="TEX">T<span +class="E">E</span>X</span> Live è <a +href="http://tug.org/texlive/doc.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/doc.html</span></a>. +<!--l. 2933--><p class="indent" > Ovviamente il più importante ringraziamento deve andare a Donald Knuth, innanzitutto per aver inventato +<span class="TEX">T<span +class="E">E</span>X</span> e poi per averlo donato al mondo. +<!--l. 2938--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">10 </span> <a + id="x1-7200010"></a>Storia delle edizioni</h3> +<!--l. 2941--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">10.1 </span> <a + id="x1-7300010.1"></a>Passato</h4> +<!--l. 2943--><p class="noindent" >La discussione iniziò nel tardo 1993 quando il gruppo utenti <span class="TEX">T<span +class="E">E</span>X</span> olandese stava iniziando a lavorare al proprio +CD 4All<span class="TEX">T<span +class="E">E</span>X</span> per gli utenti MS-DOS e si sperava a quel tempo di rilasciare un solo razionale CD per tutti i +sistemi. Questo era un obiettivo troppo ambizioso per il tempo, ma non solo diede vita al CD di grande +successo 4All<span class="TEX">T<span +class="E">E</span>X</span>, ma spinse il gruppo di lavoro del TUG Technical Council verso una <span +class="ec-lmri-10">Struttura delle</span> + + +<span +class="ec-lmri-10">Directory </span><span class="TEX"><span +class="ec-lmri-10">T</span><span +class="E"><span +class="ec-lmri-10">E</span></span><span +class="ec-lmri-10">X</span></span> (TDS, <span class="TEX">T<span +class="E">E</span>X</span> Directory Structure, <a +href="http://tug.org/tds" class="url" ><span +class="ec-lmtt-10">http://tug.org/tds</span></a>), che specificò come creare collezioni +consistenti e gestibili di file di supporto a <span class="TEX">T<span +class="E">E</span>X</span>. Una bozza completa della TDS fu pubblicata nel numero di +dicembre 1995 di <span +class="ec-lmro-10">TUGboat </span>e fu chiaro dalle fasi iniziali che un prodotto desiderabile sarebbe +stata una struttura di modello su CD. La distribuzione che hai ora è il risultato diretto delle +decisioni del gruppo di lavoro. Fu anche chiaro dal successo del CD 4All<span class="TEX">T<span +class="E">E</span>X</span> che gli utenti Unix +avrebbero beneficiato da un simile semplice sistema e questa è l’altro filone principale di <span class="TEX">T<span +class="E">E</span>X</span> +Live. +<!--l. 2960--><p class="indent" > Per prima cosa ci mettemmo all’opera per realizare un nuovo CD della TDS basato su Unix nell’autunno +del 1995 e rapidamente identificammo il te<span class="TEX">T<span +class="E">E</span>X</span> di Thomas Esser come l’impianto ideale, dato che già aveva il +supporto per più piattaforme ed era costruito con la portabilità tra diversi file system in mente. Thomas +acconsentì ad aiutarci e il lavoro cominciò seriamente all’inizio del 1996. La prima edizione fu rilasciata nel +maggio 1996. All’inizio del 1996, Karl Berry completò una nuova versione di Web2c, che includeva +praticamente tutte le funzionalità che Thomas Esser aveva aggiunto in te<span class="TEX">T<span +class="E">E</span>X</span> e decidemmo di basare la +seconda edizione del CD sul Web2C standard, con l’inclusione dello script <span +class="ec-lmtt-10">texconfig </span>proveniente da te<span class="TEX">T<span +class="E">E</span>X</span>. +La terza edizione del CD fu basata su una nuova grande revisione di Web2C, la 7.2, realizzata da +Olaf Weber; allo stesso tempo, era stata fatta una nuova revisione di te<span class="TEX">T<span +class="E">E</span>X</span> e <span class="TEX">T<span +class="E">E</span>X</span> Live incluse +quasi tutte le sue funzionalità. La quarta edizione seguì lo stesso modello, usando una nuova +versione di te<span class="TEX">T<span +class="E">E</span>X</span> e di Web2C (7.3). Il sistema adesso includeva anche un completo allestimento per +Windows. +<!--l. 2978--><p class="indent" > Per la quinta edizione (marzo 2000) furono riviste e controllate molte parti del CD, aggiornando centinaia +di pacchetti. I dettagli sui pacchetti furono memorizzati in file XML. Ma il cambiamento maggiore per +<span class="TEX">T<span +class="E">E</span>X</span> Live 5 fu che tutto il software non libero fu rimosso. Tutto in <span class="TEX">T<span +class="E">E</span>X</span> Live era pensato per +essere compatibile con le Debian Free Software Guidelines (linee guida Debian sul software libero, +<a +href="http://www.debian.org/intro/free" class="url" ><span +class="ec-lmtt-10">http://www.debian.org/intro/free</span></a>); abbiamo fatto del nostro meglio per controllare le condizioni di licenza +di tutti i pacchetti, ma apprezzeremo tantissimo ogni segnalazione di errori. +<!--l. 2988--><p class="indent" > La sesta edizione (luglio 2001) aveva aggiornato ancora più materiale. Il cambiamento più grande fu un +nuovo concetto di installazione: l’utente poteva selezionare un insieme più esatto delle collezioni desiderate. Le +collezioni relative alle lingue furono completamente riorganizzate, così che, selezionandone una qualunque, +non solo venissero installati le macro, i font, ecc., ma fosse anche preparato un opportuno file +<span +class="ec-lmtt-10">language.dat</span>. +<!--l. 2996--><p class="indent" > La settima edizione del 2002 ebbe la notevole aggiunta del supporto per Mac OS X e la solita miriade di +aggiornamenti ad ogni genere di pacchetto e programma. Un traguardo importante fu l’integrazione dei +sorgenti con quelli di te<span class="TEX">T<span +class="E">E</span>X</span> per correggere l’allontanamento l’uno dall’altro avvenuto nelle versioni 5 +e 6. +<!--l. 3002--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">10.1.1 </span> <a + id="x1-7400010.1.1"></a>2003</h5> +<!--l. 3004--><p class="noindent" >Nel 2003, con il continuo flusso di aggiornamenti ed aggiunte, trovammo che <span class="TEX">T<span +class="E">E</span>X</span> Live era cresciuta così tanto +che non poteva più essere contenuta in un singolo CD, quindi la dividemmo in tre diverse distribuzioni +(consultate la sezione <a +href="#x1-100002.1">2.1<!--tex4ht:ref: sec:tl-coll-dists --></a>, p. <a +href="#x1-100002.1">7<!--tex4ht:ref: sec:tl-coll-dists --></a>). In più: + <ul class="itemize1"> + <li class="itemize">Su richiesta del team di <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>, cambiammo i comandi <span +class="ec-lmss-10">latex </span>e <span +class="ec-lmss-10">pdflatex </span>affinché usassero e-<span class="TEX">T<span +class="E">E</span>X</span> + (consultate la p. <a +href="#x1-130002.4">11<!--tex4ht:ref: text:etex --></a>). + </li> + <li class="itemize">I nuovi font Latin Modern furono inclusi (e sono raccomandati). + </li> + <li class="itemize">Il supporto per Alpha OSF fu rimosso (il supporto per HPUX era già stato rimosso in precedenza) + dato che nessuno aveva (o voleva donare) l’hardware su cui compilare i nuovi eseguibili. + </li> + <li class="itemize">L’allestimento per Windows fu cambiato sostanzialmente; per la prima volta fu introdotto un + ambiente integrato basato su XEmacs. + </li> + <li class="itemize">Importanti programmi aggiuntivi per Windows (Perl, Ghostscript, ImageMagic, Ispell) sono ora + installati nelle directory <span class="TEX">T<span +class="E">E</span>X</span> Live. + </li> + <li class="itemize">I file di mappatura per i font usati da <span +class="ec-lmss-10">dvips</span>, <span +class="ec-lmss-10">dvipdfm </span>e <span +class="ec-lmss-10">pdftex </span>sono ora generati da un nuovo + programma <span +class="ec-lmss-10">updmap </span>ed installati in <span class="path"><span +class="ec-lmtt-10">texmf/fonts/map</span></span>. + + + </li> + <li class="itemize"><span class="TEX">T<span +class="E">E</span>X</span>, Metafont e MetaPost adesso mostrano la maggior parte dei caratteri in ingresso (dal numero + 32 ASCII in su) come sé stessi nei file che vengono generati (ad esempio, con <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">\write</span></span></span>), nei file di + registro e sul terminale, ossia <span +class="ec-lmri-10">non sono pi</span><span +class="ec-lmri-10">ù </span>tradotti usando la notazione <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">^^</span></span></span>. In <span class="TEX">T<span +class="E">E</span>X</span> Live 7 questa + traduzione dipendeva dalle impostazioni sulla lingua del sistema; adesso, queste impostazioni non + influenzano il comportamento dei programmi <span class="TEX">T<span +class="E">E</span>X</span>. Se per qualche ragione avete bisogno della + notazione <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">^^</span></span></span>, rinominate il file <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">texmf/web2c/cp8bit.tcx</span></span></span> (le edizioni future avranno un modo + più pulito per controllare questa opzione). + </li> + <li class="itemize">Questa documentazione fu revisionata sostanzialmente. + </li> + <li class="itemize">Infine, dato che i numeri delle edizioni erano cresciuti in modo poco agevole, da adesso la versione + è identificata semplicemente dall’anno: <span class="TEX">T<span +class="E">E</span>X</span> Live 2003.</li></ul> +<!--l. 3044--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">10.1.2 </span> <a + id="x1-7500010.1.2"></a>2004</h5> +<!--l. 3046--><p class="noindent" >Il 2004 vide molti cambiamenti: + <ul class="itemize1"> + <li class="itemize">Se avete font installati localmente che usano i propri file di supporto <span class="path"><span +class="ec-lmtt-10">.map</span></span> o (molto meno + probabilmente) <span class="path"><span +class="ec-lmtt-10">.enc</span></span>, potreste aver bisogno di muovere questi file. + <!--l. 3054--><p class="noindent" >I file <span class="path"><span +class="ec-lmtt-10">.map</span></span> adesso sono cercati soltanto in sotto directory di <span class="path"><span +class="ec-lmtt-10">fonts/map</span></span> (per ciascuna gerarchia + <span class="path"><span +class="ec-lmtt-10">texmf</span></span>, lungo il percorso <span +class="ec-lmtt-10">TEXFONTMAPS</span>). In modo simile, i file <span class="path"><span +class="ec-lmtt-10">.enc</span></span> sono cercati soltanto nelle + sottodirectory di <span class="path"><span +class="ec-lmtt-10">font/enc</span></span>, lungo il percorso <span +class="ec-lmtt-10">ENCFONTS</span>. <span +class="ec-lmss-10">updmap </span>tenterà di avvisarvi su file che + possono provocare problemi. + <!--l. 3061--><p class="noindent" >Per i metodi per gestire questa ed altre informazioni, visitate la pagina + <a +href="http://tug.org/texlive/mapenc.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/mapenc.html</span></a>. + </li> + <li class="itemize"><span class="TEX">T<span +class="E">E</span>X</span> Collection è stata espansa con l’aggiunta di un CD installabile basato su MiK<span class="TEX">T<span +class="E">E</span>X</span>, per + coloro che preferiscono quell’implementazione a Web2C. Consultate la sezione <a +href="#x1-90002">2<!--tex4ht:ref: sec:overview-tl --></a> (p. <a +href="#x1-90002">7<!--tex4ht:ref: sec:overview-tl --></a>). + </li> + <li class="itemize">All’interno di <span class="TEX">T<span +class="E">E</span>X</span> Live, la singola grande directory <span class="path"><span +class="ec-lmtt-10">texmf</span></span> delle edizioni precedenti è stata + sostituita da: <span class="path"><span +class="ec-lmtt-10">texmf</span></span>, <span class="path"><span +class="ec-lmtt-10">texmf-dist</span></span> e <span class="path"><span +class="ec-lmtt-10">texmf-doc</span></span>. Consultate la sezione <a +href="#x1-110002.2">2.2<!--tex4ht:ref: sec:tld --></a> (p. <a +href="#x1-110002.2">8<!--tex4ht:ref: sec:tld --></a> e il file <span class="path"><span +class="ec-lmtt-10">README</span></span> + contenuto in ciascuna di esse. + </li> + <li class="itemize">Tutti file in ingresso relativi a <span class="TEX">T<span +class="E">E</span>X</span> sono adesso raccolti nella sotto directory <span class="path"><span +class="ec-lmtt-10">tex</span></span> delle varie + <span class="path"><span +class="ec-lmtt-10">texmf*</span></span>, piuttosto che avere le diverse posizioni <span class="path"><span +class="ec-lmtt-10">tex</span></span>, <span class="path"><span +class="ec-lmtt-10">etex</span></span>, <span class="path"><span +class="ec-lmtt-10">pdftex</span></span>, <span class="path"><span +class="ec-lmtt-10">pdfetex</span></span>, ecc. Consultate + <a +href="../../../../texmf-dist/doc/generic/tds/tds.html#Extensions" ><span +class="ec-lmtt-10">texmf-dist/doc/generic/tds/tds.html#Extensions</span></a>. + </li> + <li class="itemize">Gli script di supporto (pensati per non essere invocati dagli utenti) sono adesso posizionati in + una nuova sotto directory delle varie <span class="path"><span +class="ec-lmtt-10">texmf*</span></span> chiamata <span class="path"><span +class="ec-lmtt-10">scripts</span></span> e possono essere cercati usando + <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">kpsewhich</span><span +class="ec-lmtt-10"> -format=texmfscripts</span></span></span>. Se quindi avete dei programmi che richiamano questi script, + allora dovranno essere corretti. Consultate <a +href="../../../../texmf-dist/doc/generic/tds/tds.html#Scripts" ><span +class="ec-lmtt-10">texmf-dist/doc/generic/tds/tds.html#Scripts</span></a>. + </li> + <li class="itemize">Quasi tutti i formati lasciano la maggior parte dei caratteri stampabili uguali a se stessi + tramite il “file di traduzione” <span class="path"><span +class="ec-lmtt-10">cp227.tcx</span></span>, piuttosto che trasformarli nella notazione <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">^^</span></span></span>. Nello + specifico, i caratteri alle posizioni ASCII 32–256, la tabulazione orizzontale, quella verticale e + il “form feed” sono considerati stampabili e non vengono trasformati. Le eccezioni sono plain + <span class="TEX">T<span +class="E">E</span>X</span> (solo i caratteri 32–126 sono stampabili), Con<span class="TEX">T<span +class="E">E</span>X</span>t (caratteri 0–255) e i formati legati + ad Omega. Questo comportamento predefinito è quasi lo stesso che in <span class="TEX">T<span +class="E">E</span>X</span> Live 2003, ma è + implementato in maniera più pulita, con maggiori possibilità di personalizzazione. Consultate + <a +href="../../../../texmf/doc/web2c/web2c.html#TCX-files" ><span +class="ec-lmtt-10">texmf/doc/web2c/web2c.html#TCX-files</span></a> (ad ogni modo, con l’input in formato Unicode, <span class="TEX">T<span +class="E">E</span>X</span> + potrebbe stampare sequenze parziali di caratteri quando viene mostrato il contesto degli errori + dato che legge l’input come una sequenza di byte, non di caratteri). + + + </li> + <li class="itemize"><span +class="ec-lmss-10">pdfetex </span>è adesso il motore predefinito per tutti i formati tranne (plain) <span +class="ec-lmss-10">tex </span>stesso (ovviamente + genera file DVI quando è eseguito come <span +class="ec-lmss-10">latex</span>, ecc.). Questo significa, tra le altre cose, che le + caratteristiche di microtipografia di <span +class="ec-lmss-10">pdftex </span>sono disponibili in <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>, Con<span class="TEX">T<span +class="E">E</span>X</span>t, ecc., così come + le funzionalità di e-<span class="TEX">T<span +class="E">E</span>X</span> (<a +href="../../../../texmf-dist/doc/etex/base/" >texmf-dist/doc/etex/base/</a>). + <!--l. 3112--><p class="noindent" >Significa anche che è <span +class="ec-lmri-10">pi</span><span +class="ec-lmri-10">ù importante che mai </span>usare il pacchetto <span +class="ec-lmss-10">ifpdf </span>(funziona sia con plain + <span class="TEX">T<span +class="E">E</span>X</span>, che con <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>) o del codice equivalente, perché verificare semplicemente se <span +class="ec-lmtt-10">\pdfoutput </span>o + qualche altra primitiva sono definiti non è un modo affidabile per determinare se si sta generando + un file PDF. Per quest’anno abbiamo cercato di rendere questo aspetto compatibile con le edizioni + passate al meglio delle nostra capacità, ma a partire dal prossimo anno <span +class="ec-lmtt-10">\pdfoutput </span>potrebbe + essere definito anche se il file generato è un DVI. + </li> + <li class="itemize">pdf<span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://pdftex.org" class="url" ><span +class="ec-lmtt-10">http://pdftex.org</span></a>) ha molte nuove funzionalità: + <ul class="itemize2"> + <li class="itemize"><span +class="ec-lmtt-10">\pdfmapfile </span>e <span +class="ec-lmtt-10">\pdfmapline </span>forniscono il supporto alle mappature dei font direttamente + all’interno di un documento. + </li> + <li class="itemize">L’espansione microtipografica dei font può essere usata più facilmente.<br +class="newline" /><a +href="http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html" class="url" ><span +class="ec-lmtt-10">http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html</span></a> + </li> + <li class="itemize">Tutti i parametri che prima erano impostati tramite lo speciale file di configurazione + <span class="path"><span +class="ec-lmtt-10">pdftex.cfg</span></span> devono essere adesso impostati tramite primitive, tipicamente in <span class="path"><span +class="ec-lmtt-10">pdftexconfig.</span> + <span +class="ec-lmtt-10">tex</span></span>; <span class="path"><span +class="ec-lmtt-10">pdftex.cfg</span></span> non è più supportato. Ogni file <span class="path"><span +class="ec-lmtt-10">.fmt</span></span> deve essere rigenerato quando + <span class="path"><span +class="ec-lmtt-10">pdftexconfig.tex</span></span> viene modificato. + </li> + <li class="itemize">Per saperne di più, consultate il manuale di pdf<span class="TEX">T<span +class="E">E</span>X</span>: + <a +href="../../../../texmf-dist/doc/pdftex/manual/pdftex-a.pdf" >texmf-dist/doc/pdftex/manual/pdftex-a.pdf</a>. + </li></ul> + </li> + <li class="itemize">La primitiva <span +class="ec-lmtt-10">\input </span>in <span +class="ec-lmss-10">tex </span>(e in <span +class="ec-lmss-10">mf </span>e <span +class="ec-lmss-10">mpost</span>) adesso accetta nomi con spazi ed altri caratteri speciali + racchiusi tra doppi apici. Esempi tipici: + + + <div class="verbatim" id="verbatim-6"> + <div class="fancyvrb" id="fancyvrb19"><a + id="x1-75002r1"></a>  \input "file con spazi"   % plain<br class="fancyvrb" /><a + id="x1-75004r2"></a>  \input{"file con spazi"}  % latex</div> +</div> + <!--l. 3150--><p class="nopar" >Consultate il manuale di Web2C per saperne di più: <a +href="../../../../texmf/doc/web2c" >texmf/doc/web2c</a>. + </li> + <li class="itemize">Il supporto per enc<span class="TEX">T<span +class="E">E</span>X</span> è ora incluso in Web2C e, di conseguenza, in tutti i programmi <span class="TEX">T<span +class="E">E</span>X</span>, per mezzo + dell’opzione <span +class="ec-lmtt-10">-enc </span>—  <span +class="ec-lmri-10">solo quando i formati sono stati generati</span>. enc<span class="TEX">T<span +class="E">E</span>X</span> supporta la ricodifica generale + dell’input e dell’output, permettendo il supporto completo per l’Unicode (in UTF-8). Consultate + <a +href="../../../../texmf-dist/doc/generic/enctex/" >texmf-dist/doc/generic/enctex/</a> e <a +href="http://www.olsak.net/enctex.html" class="url" ><span +class="ec-lmtt-10">http://www.olsak.net/enctex.html</span></a>. + </li> + <li class="itemize">Aleph, un nuovo motore che combina e-<span class="TEX">T<span +class="E">E</span>X</span> ed Omega, è disponibile. Alcune informazioni sono disponibili + in <a +href="../../../../texmf-dist/doc/aleph/base" >texmf-dist/doc/aleph/base</a> e su <a +href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph" class="url" ><span +class="ec-lmtt-10">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph</span></a>. Il + formato basato su <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> per Aleph è chiamato <span +class="ec-lmss-10">lamed</span>. + </li> + <li class="itemize">L’ultimo aggiornamento di <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> ha una nuova versione della LPPL —  ora una licenza + ufficialmente approvata da Debian. Per altri aggiornamenti assortiti, consultiate i file <span class="path"><span +class="ec-lmtt-10">ltnews</span></span> in + <a +href="../../../../texmf-dist/doc/latex/base" >texmf-dist/doc/latex/base</a>. + </li> + <li class="itemize"><span +class="ec-lmss-10">dvipng</span>, un nuovo programma per convertire i DVI in immagini PNG, è incluso. Consultate + <a +href="../../../../texmf/doc/man/man1/dvipng.1" >texmf/doc/man/man1/dvipng.1</a>. + </li> + <li class="itemize">Abbiamo ridotto il pacchetto <span +class="ec-lmss-10">cbgreek </span>ad un insieme di font di “medie” dimensioni, con il consenso e i + suggerimenti dell’autore (Claudio Beccari). I font omessi sono quelli invisibili, quelli profilati e i trasparenti, + che sono usati abbastanza raramente, mentre noi avevamo bisogno di spazio. L’insieme completo è + ovviamente disponibile su CTAN (<a +href="http://mirror.ctan.org/tex-archive/fonts/greek/cb" class="url" ><span +class="ec-lmtt-10">http://mirror.ctan.org/tex-archive/fonts/greek/cb</span></a>). + </li> + <li class="itemize"><span +class="ec-lmss-10">oxdvi </span>è stato rimosso; usate semplicemente <span +class="ec-lmss-10">xdvi</span>. + </li> + <li class="itemize">I comandi (collegamenti) <span +class="ec-lmss-10">ini </span>e <span +class="ec-lmss-10">vir </span>per <span +class="ec-lmss-10">tex</span>, <span +class="ec-lmss-10">mf </span>e <span +class="ec-lmss-10">mpost </span>non sono più creati, così come <span +class="ec-lmss-10">initex</span>. Le + funzionalità di <span +class="ec-lmss-10">ini </span>sono disponibili oramai da anni tramite l’opzione su riga di comando + <span +class="ec-lmtt-10">-ini</span>. + </li> + <li class="itemize">Il supporto per la piattaforma <span +class="ec-lmss-10">i386-openbsd </span>è stato rimosso. Dato che è disponibile il pacchetto <span +class="ec-lmss-10">tetex </span>nel + sistema BSD Port e gli eseguibili per GNU/Linux e FreeBSD erano disponibili, ci è sembrato che il + tempo dedicato dai volontari potesse essere meglio speso da altre parti. + </li> + <li class="itemize">Su <span +class="ec-lmss-10">sparc-solaris </span>(almeno), potreste dover impostare la variabile d’ambiente <span +class="ec-lmtt-10">LD_LIBRARY_PATH </span>per eseguire + i programmi delle <span +class="ec-lmss-10">t1utils</span>. La ragione è che questi sono compilati con il C++ e non esiste una posizione + comune per le librerie (questo problema non è nuovo dell’edizione 2004, ma non era stato documentato in + precedenza). In modo simile, su <span +class="ec-lmss-10">mips-irix</span>, sono richieste le librerie di runtime del MIPSpro + 7.4. + </li></ul> +<!--l. 3205--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">10.1.3 </span> <a + id="x1-7600010.1.3"></a>2005</h5> +<!--l. 3207--><p class="noindent" >L’edizione del 2005 ha visto il solito enorme numero di aggiornamenti ai pacchetti ed ai programmi. +L’infrastruttura è rimasta sostanzialmente invariata dal 2004, ma inevitabilmente ci sono stati comunque dei +cambiamenti: + + + <ul class="itemize1"> + <li class="itemize">Sono stati introdotti i nuovi script <span +class="ec-lmss-10">texconfig-sys</span>, <span +class="ec-lmss-10">updmap-sys </span>e <span +class="ec-lmss-10">fmtutil-sys </span>che modificano la + configurazione nei percorsi di sistema. Gli script <span +class="ec-lmss-10">texconfig</span>, <span +class="ec-lmss-10">updmap </span>e <span +class="ec-lmss-10">fmtutil </span>ora modificano i file + specifici per i singoli utenti, sotto <span class="path"><span +class="ec-lmtt-10">$HOME/.texlive2005</span></span>. + </li> + <li class="itemize">Sono state introdotte le corrispondenti nuove variabili <span +class="ec-lmtt-10">TEXMFCONFIG </span>e <span +class="ec-lmtt-10">TEXMFSYSCONFIG </span>per + specificare i percorsi dove trovare i file di configurazione (per il singolo utente e per l’intero sistema, + rispettivamente). Quindi, potreste dover spostare le versioni personali di <span class="path"><span +class="ec-lmtt-10">fmtutil.cnf</span></span> e <span class="path"><span +class="ec-lmtt-10">updmap.</span> + <span +class="ec-lmtt-10">cfg</span></span> in questi posti; un’altra possibilità è quella di ridefinire <span +class="ec-lmtt-10">TEXMFCONFIG </span>o <span +class="ec-lmtt-10">TEXMFSYSCONFIG </span>in + <span class="path"><span +class="ec-lmtt-10">texmf.cfg</span></span>. In ogni caso la posizione reale di questi file e i valori di <span +class="ec-lmtt-10">TEXMFCONFIG </span>e <span +class="ec-lmtt-10">TEXMFSYSCONFIG</span> + devono concordare. Consultate la sezione <a +href="#x1-120002.3">2.3<!--tex4ht:ref: sec:texmftrees --></a>, p. <a +href="#x1-120002.3">9<!--tex4ht:ref: sec:texmftrees --></a>. + </li> + <li class="itemize">L’anno precedente, abbiamo tenuto <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">\pdfoutput</span></span></span> ed altre primitive non definite per l’output in DVI, + anche quando veniva usato il programma <span +class="ec-lmss-10">pdfetex</span>. Quest’anno, come promesso, abbiamo annullato + quella misura di compatibilità. Per cui, se il vostro documento usa <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">\ifx\pdfoutput\undefined</span></span></span> + per verificare se viene generato un PDF, dovrà essere cambiato. Potete usare il pacchetto <span +class="ec-lmss-10">ifpdf.sty</span> + (che funziona sia sotto plain <span class="TEX">T<span +class="E">E</span>X</span> che sotto <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>) per fare ciò, oppure rubarne la logica. + </li> + <li class="itemize">L’anno precedente, abbiamo cambiato la maggior parte dei formati per stampare i caratteri (a 8 + bit) come sé stessi (consultate la sezione precedente). Il nuovo file TCX <span class="path"><span +class="ec-lmtt-10">empty.tcx</span></span> adesso + offre un modo più semplice per ottenere l’originaria notazione <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">^^</span></span></span> se la desiderate, come + in: + + + <div class="verbatim" id="verbatim-7"> + <div class="fancyvrb" id="fancyvrb20"><a + id="x1-76002r1"></a>  latex --translate-file=empty.tcx vostrofile.tex</div> +</div> + <!--l. 3249--><p class="nopar" > + </li> + <li class="itemize">È incluso il nuovo programma <span +class="ec-lmss-10">dvipdfmx </span>per la trasformazione dei DVI in PDF; si tratta di un + aggiornamento attivamente mantenuto di <span +class="ec-lmss-10">dvipdfm </span>(che per ora è ancora disponibile, anche se non più + raccomandato). + </li> + <li class="itemize">Sono inclusi i nuovi programmi <span +class="ec-lmss-10">pdfopen </span>e <span +class="ec-lmss-10">pdfclose </span>per consentire di ricaricare i file pdf nel lettore Adobe + Acrobat Reader senza riavviare il programma (altri lettori pdf, in particolare <span +class="ec-lmss-10">xpdf</span>, <span +class="ec-lmss-10">gv </span>e <span +class="ec-lmss-10">gsview</span>, non + hanno mai sofferto di questo problema). + </li> + <li class="itemize">Per consistenza, le variabili <span +class="ec-lmtt-10">HOMETEXMF </span>e <span +class="ec-lmtt-10">VARTEXMF </span>sono state rinominate <span +class="ec-lmtt-10">TEXMFHOME </span>e <span +class="ec-lmtt-10">TEXMFVAR</span>, + rispettivamente. C’è anche <span +class="ec-lmtt-10">TEXMFVAR</span>, che è specifica per ogni utente. Consultate il primo punto + dell’elenco. + </li></ul> +<!--l. 3271--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">10.1.4 </span> <a + id="x1-7700010.1.4"></a>2006–2007</h5> +<!--l. 3273--><p class="noindent" >Nell’edizione 2006–2007, la nuova più grande aggiunta a <span class="TEX">T<span +class="E">E</span>X</span> Live è stato il programma Xe<span class="TEX">T<span +class="E">E</span>X</span>, disponibile +con i comandi <span +class="ec-lmtt-10">xetex </span>e <span +class="ec-lmtt-10">xelatex</span>; visitate il sito <a +href="http://scripts.sil.org/xetex" class="url" ><span +class="ec-lmtt-10">http://scripts.sil.org/xetex</span></a>. +<!--l. 3277--><p class="indent" > Anche MetaPost ha ricevuto un aggiornamento degno di nota, mentre altri ne sono stati pianificati per il futuro +(<a +href="http://tug.org/metapost/articles" class="url" ><span +class="ec-lmtt-10">http://tug.org/metapost/articles</span></a>), così come per pdf<span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://tug.org/applications/pdftex" class="url" ><span +class="ec-lmtt-10">http://tug.org/applications/pdftex</span></a>). +<!--l. 3282--><p class="indent" > I <span class="path"><span +class="ec-lmtt-10">.fmt</span></span> di <span class="TEX">T<span +class="E">E</span>X</span> (formati ad alta velocità) e i file simili per MetaPost e Metafont adesso sono posizionati in +sotto directory di <span class="path"><span +class="ec-lmtt-10">texmf/web2c</span></span>, invece che nella directory stessa (sebbene la directory sia ancora visitata +durante la ricerca, a beneficio dei <span class="path"><span +class="ec-lmtt-10">.fmt</span></span> esisitenti). Le sotto directory sono chiamate in base al +“motore” usato, come <span class="path"><span +class="ec-lmtt-10">tex</span></span> o <span class="path"><span +class="ec-lmtt-10">pdftex</span></span> o <span class="path"><span +class="ec-lmtt-10">xetex</span></span>. Questo cambiamento dovrebbe essere invisibile nell’uso +normale. +<!--l. 3291--><p class="indent" > Il programma (plain) <span +class="ec-lmtt-10">tex </span>non legge più le prime linee identificate da <span +class="ec-lmtt-10">%& </span>per determinare quale +formato adoperare; è il puro <span class="TEX">T<span +class="E">E</span>X</span> Knuthiano (<span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> e tutto il resto leggono ancora le linee +<span +class="ec-lmtt-10">%&</span>). +<!--l. 3296--><p class="indent" > Ovviamente anche quest’anno ha visto (i soliti) centinaia di altri aggiornamenti ai pacchetti ed ai +programmi. Come sempre, visitate CTAN (<a +href="http://mirror.ctan.org" class="url" ><span +class="ec-lmtt-10">http://mirror.ctan.org</span></a>) per tutti gli aggiornamenti. +<!--l. 3300--><p class="indent" > Internamente, i sorgenti sono ora memorizzati tramite Subversion, con un’interfaccia web standard per +visitarli; il collegamento è sulla nostra pagina home. Sebbene invisibile nella distribuzione finale, ci aspettiamo +che questo fornisca un fondamento stabile per lo sviluppo negli anni a venire. +<!--l. 3306--><p class="indent" > Infine, nel maggio 2006 Thomas Esser ha annunciato che non avrebbe più aggiornato te<span class="TEX">T<span +class="E">E</span>X</span> +(<a +href="http://tug.org/tetex" class="url" ><span +class="ec-lmtt-10">http://tug.org/tetex</span></a>). Come risultato, c’è stata una nascita di interesse verso <span class="TEX">T<span +class="E">E</span>X</span> Live, specialmente tra +i distributori di GNU/Linux (c’è un nuovo schema di installazione in <span class="TEX">T<span +class="E">E</span>X</span> Live chiamato <span +class="ec-lmtt-10">tetex</span>, che fornisce +un equivalente approssimativo). Speriamo che alla fine questo si traduca in miglioramenti per tutti all’ambiente +<span class="TEX">T<span +class="E">E</span>X</span>. +<!--l. 3313--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">10.1.5 </span> <a + id="x1-7800010.1.5"></a>2008</h5> +<!--l. 3315--><p class="noindent" >Nell’edizione del 2008, l’intera infrastruttura di <span class="TEX">T<span +class="E">E</span>X</span> Live è stata riprogettata e reimplementata. +Le informazioni complete su un’installazione sono adesso memorizzate in un file di testo puro +<span class="path"><span +class="ec-lmtt-10">tlpkg/texlive.tlpdb</span></span>. +<!--l. 3320--><p class="indent" > Tra le altre cose, ciò rende finalmente possibile aggiornare un’installazione <span class="TEX">T<span +class="E">E</span>X</span> Live tramite Internet dopo +l’installazione iniziale, una caratteristica che Mik<span class="TEX">T<span +class="E">E</span>X</span> ha offerto per anni. Ci attendiamo di aggiornare +regolarmente i nuovi pacchetti così come diventano disponibili su CTAN. +<!--l. 3326--><p class="indent" > Il nuovo motore Lua<span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://luatex.org" class="url" ><span +class="ec-lmtt-10">http://luatex.org</span></a>) è ora incluso; accanto ad un nuovo livello di flessibilità +nella composizione tipografica, questo fornisce un eccellente linguaggio di scripting da usare sia dentro che fuori +i documenti <span class="TEX">T<span +class="E">E</span>X</span>. + + +<!--l. 3331--><p class="indent" > Il supporto tra Windows e le piattaforme basate su Unix è ora molto più uniforme. In particolare, la +maggior parte degli script Perl e Lua sono ora disponibili sotto Windows tramite l’interprete Perl distribuito +internamente con <span class="TEX">T<span +class="E">E</span>X</span> Live. +<!--l. 3336--><p class="indent" > Il nuovo script <span +class="ec-lmss-10">tlmgr </span>(sezione <a +href="#x1-460006">6<!--tex4ht:ref: sec:tlmgr --></a>) è l’interfaccia generale per amministrare <span class="TEX">T<span +class="E">E</span>X</span> Live dopo l’installazione +iniziale. Esso gestice l’aggiornamento dei pacchetti e la conseguente rigenerazione dei formati, dei file di +mappatura e dei file delle lingue, incluse opzionalmente le aggiunte locali. +<!--l. 3342--><p class="indent" > Con l’avvento di <span +class="ec-lmss-10">tlmgr</span>, è ora disabilitata l’azione di modifica dei file di configurazione dei formati e delle +sillabazioni operata da <span +class="ec-lmss-10">texconfig</span>. +<!--l. 3346--><p class="indent" > Il programma per la creazione degli indici <span +class="ec-lmss-10">xindy </span>(<a +href="http://xindy.sourceforge.net/" class="url" ><span +class="ec-lmtt-10">http://xindy.sourceforge.net/</span></a>) è ora incluso nella +maggior parte delle piattaforme. +<!--l. 3350--><p class="indent" > Lo strumento <span +class="ec-lmss-10">kpsewhich </span>può ora riportare tutte le corrispondenze per un dato file (opzione <span +class="ec-lmtt-10">–all</span>) e limitarle +ad una data sotto directory (opzione <span +class="ec-lmtt-10">–subdir</span>). +<!--l. 3354--><p class="indent" > Il programma <span +class="ec-lmss-10">dvipdfmx </span>adesso include la funzionalità di estrarre le informazioni sulla bounding box +attraverso il comando <span +class="ec-lmss-10">extractbb</span>; si tratta di una delle ultime caratteristiche che erano fornite da <span +class="ec-lmss-10">dvipdfm </span>ma +non ancora incluse in <span +class="ec-lmss-10">dvipdfmx</span>. +<!--l. 3360--><p class="indent" > Gli alias dei font <span class="path"><span +class="ec-lmtt-10">Times-Roman</span></span>, <span class="path"><span +class="ec-lmtt-10">Helvetica</span></span> e così via sono stati rimossi. Diversi pacchetti si aspettavano +che funzionassero in modo diverso (in particolare, che avessero codifiche differenti) e non c’era un buon modo +per risolverlo. +<!--l. 3365--><p class="indent" > Il formato <span +class="ec-lmss-10">platex </span>è stato rimosso per risolvere un conflitto di nome con un completamente +diverso <span +class="ec-lmss-10">platex </span>giapponese; il pacchetto <span +class="ec-lmss-10">polski </span>contiene ora il principale supporto per la lingua +polacca. +<!--l. 3370--><p class="indent" > Internamente, i file con le riserve di stringhe di <span +class="ec-lmtt-10">WEB </span>sono compilati dentro gli eseguibili, per semplificare gli +aggiornamenti. +<!--l. 3373--><p class="indent" > Infine, in questa edizione sono stati inclusi i cambiamenti fatti da Donald Knuth nella sua “messa a punto +di <span class="TEX">T<span +class="E">E</span>X</span> del 2008”. Consultate <a +href="http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf" class="url" ><span +class="ec-lmtt-10">http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf</span></a>. +<!--l. 3378--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">10.1.6 </span> <a + id="x1-7900010.1.6"></a>2009</h5> +<!--l. 3380--><p class="noindent" >Nell’edizione 2009, il formato di output predefinito di Lua(L<span +class="ec-lmr-7">A</span> )<span class="TEX">T<span +class="E">E</span>X</span> è ora il PDF per avvalersi del supporto +OpenType di Lua<span class="TEX">T<span +class="E">E</span>X</span>, ecc. I nuovi eseguibili chiamati <span +class="ec-lmtt-10">dviluatex </span>e <span +class="ec-lmtt-10">dvilualatex </span>eseguono Lua<span class="TEX">T<span +class="E">E</span>X</span> con +l’output in DVI. La pagina web di Lua<span class="TEX">T<span +class="E">E</span>X</span> è <a +href="http://luatex.org" class="url" ><span +class="ec-lmtt-10">http://luatex.org</span></a>. +<!--l. 3386--><p class="indent" > Il motore Omega e il formato Lambda originari sono stati rimossi dopo averne discusso con gli autori di +Omega. Restano le versioni aggiornate Aleph e Lamed, così come le utilità di Omega. +<!--l. 3390--><p class="indent" > È stata inclusa una nuova versione dei font AMS Type 1, compreso il Computer Modern: sono stati +integrati alcuni cambiamenti nelle forme fatti da Knuth nei sorgenti Metafont nel corso degli anni e +l’<span +class="ec-lmri-10">hinting </span>è stato aggiornato. I font Euler sono stati ridisegnati a fondo da Hermann Zapf (visitate +<a +href="http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf" class="url" ><span +class="ec-lmtt-10">http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf</span></a>). In ogni caso, le metriche non hanno +subito modifiche. La pagina dei font AMS è <a +href="http://www.ams.org/tex/amsfonts.html" class="url" ><span +class="ec-lmtt-10">http://www.ams.org/tex/amsfonts.html</span></a>. +<!--l. 3399--><p class="indent" > Il nuovo editor GUI <span class="TEX">T<span +class="E">E</span>X</span>works è incluso per Windows così come in Mac<span class="TEX">T<span +class="E">E</span>X</span>. Per le altre piattaforme e +per ulteriori informazioni, consultate il sito di <span class="TEX">T<span +class="E">E</span>X</span>works, <a +href="http://tug.org/texworks" class="url" ><span +class="ec-lmtt-10">http://tug.org/texworks</span></a>. Si tratta di un +programma multi piattaforma ispirato all’editor TeXShop per Mac OS X e che ha come obiettivo la facilità +d’uso. +<!--l. 3405--><p class="indent" > Il programma per la grafica Asymptote è stato incluso per diverse piattaforme. Esso implementa un +linguaggio descrittivo per la grafica basato su testo vagamente simile a MetaPost, ma con un supporto +avanzato al 3D ed altre caratteristiche. Il suo sito web è <a +href="http://asymptote.sourceforge.net" class="url" ><span +class="ec-lmtt-10">http://asymptote.sourceforge.net</span></a>. +<!--l. 3411--><p class="indent" > Il programma <span +class="ec-lmtt-10">dvipdfm </span>è stato sostituito da <span +class="ec-lmtt-10">dvipdfmx</span>, che opera in una speciale modalità di compatibilità +quando viene invocato con il primo nome. <span +class="ec-lmtt-10">dvipdfmx </span>include il supporto per CJK (Chinese-Japanese-Korean, +Cinese-Giapponese-Coreano) ed ha accumulato molte correzione negli anni trascorsi dall’ultima versione di +<span +class="ec-lmtt-10">dvipdfm</span>. Il sito di DVIPDFMx è <a +href="http://project.ktug.or.kr/dvipdfmx" class="url" ><span +class="ec-lmtt-10">http://project.ktug.or.kr/dvipdfmx</span></a>. +<!--l. 3419--><p class="indent" > Gli eseguibili per le piattaforme <span +class="ec-lmss-10">cygwin </span>e <span +class="ec-lmss-10">i386-netbsd </span>sono ora inclusi, mentre siamo stati avvisati +che gli utenti di OpenBSD ottengono <span class="TEX">T<span +class="E">E</span>X</span> tramite il loro sistema di pacchetti, e in più c’erano +difficoltà nel produrre eseguibili che avessero una qualche possibilità di funzionare su più di una +versione. +<!--l. 3425--><p class="indent" > Una varietà di cambiamenti più piccoli: adesso usiamo la compressione <span +class="ec-lmss-10">xz</span>, il rimpiazzo stabile per <span +class="ec-lmss-10">lzma</span> +(<a +href="http://tukaani.org/xz/" class="url" ><span +class="ec-lmtt-10">http://tukaani.org/xz/</span></a>); il carattere <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">$</span></span></span> è ammesso nei nomi dei file quando non introduce il nome di +variabile noto; la libreria Kpathsea è ora multi-thread (lo sfrutta MetaPost); l’intera compilazione di <span class="TEX">T<span +class="E">E</span>X</span> Live +è ora basata su Automake. +<!--l. 3432--><p class="indent" > Nota finale sul passato: tutte le edizioni di <span class="TEX">T<span +class="E">E</span>X</span> Live, assieme al materiale ausiliario come le etichette dei + + +CD, sono disponibili all’indirizzo <a +href="ftp://tug.org/historic/systems/texlive" class="url" ><span +class="ec-lmtt-10">ftp://tug.org/historic/systems/texlive</span></a>. +<!--l. 3437--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">10.2 </span> <a + id="x1-8000010.2"></a>2010</h4> +<!--l. 3440--><p class="noindent" >Nell’edizione 2010, la versione predefinita per l’output PDF è ora la 1.5, che consente una maggiore +compressione. Questo si applica a tutti i motori <span class="TEX">T<span +class="E">E</span>X</span> quando vengono usati per produrre PDF e a +<span +class="ec-lmtt-10">dvipdfmx</span>. Caricando il pacchetto <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> <span +class="ec-lmss-10">pdf14 </span>o impostando <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">\pdfminorversion=4</span></span></span>, si si ritorna al +PDF 1.4. +<!--l. 3446--><p class="indent" > pdf(L<span +class="ec-lmr-7">A</span> )<span class="TEX">T<span +class="E">E</span>X</span> ora converte <span +class="ec-lmri-10">automaticamente </span>un file Encapsulated Postscript (EPS) richiesto in PDF tramite +il pacchetto <span +class="ec-lmss-10">epstopdf </span>quando e se viene caricato il file di configurazione per <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> <span +class="ec-lmtt-10">graphics.cfg </span>e viene +richiesto l’output in PDF. Le opzioni predefinite sono tali da eliminare ogni possibilità che siano +sovrascritti i file PDF creati a mano, ma potete del tutto evitare che <span +class="ec-lmtt-10">epstopdf </span>sia caricato mettendo +<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">\newcommand{\DoNotLoadEpstopdf}{}</span></span></span> (o <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">\def...</span></span></span>) prima della dichiarazione <span +class="ec-lmtt-10">\documentclass</span>. Non viene +caricato neppure se viene usato il pacchetto <span +class="ec-lmss-10">pst-pdf</span>. Per maggiori dettagli, consultate la documentazione del +pacchetto <span +class="ec-lmss-10">epstopdf </span>(<a +href="http://ctan.org/pkg/epstopdf-pkg" class="url" ><span +class="ec-lmtt-10">http://ctan.org/pkg/epstopdf-pkg</span></a>). +<!--l. 3458--><p class="indent" > Un cambiamento correlato è che adesso è abilitata per default l’esecuzione di alcuni comandi esterni a +<span class="TEX">T<span +class="E">E</span>X</span>, tramite la funzionalità <span +class="ec-lmtt-10">\write18</span>. Questi comandi sono <span +class="ec-lmtt-10">repstopdf</span>, <span +class="ec-lmtt-10">makeindex</span>, <span +class="ec-lmtt-10">kpsewhich</span>, <span +class="ec-lmtt-10">bibtex </span>e +<span +class="ec-lmtt-10">bibtex8</span>; la lista è definita in <span +class="ec-lmtt-10">texmf.cnf</span>. Gli ambienti che devono disabilitare tutti questi comandi esterni +possono deselezionare questa opzione nell’installatore (consultate la sezione <a +href="#x1-290003.2.4">3.2.4<!--tex4ht:ref: sec:options --></a>), oppure rimpiazzare il valore +dopo l’installazione eseguendo <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">tlmgr</span><span +class="ec-lmtt-10"> conf</span><span +class="ec-lmtt-10"> texmf</span><span +class="ec-lmtt-10"> shell_escape</span><span +class="ec-lmtt-10"> 0</span></span></span>. +<!--l. 3467--><p class="indent" > Ancora un altro cambiamento correlato è che ora BibTeX e Makeindex si rifiutano di scrivere il +proprio output in una directory arbitraria (come lo stesso <span class="TEX">T<span +class="E">E</span>X</span>) per default. In questo modo +diventa ora possibile consentirne l’uso tramite lo stringente <span +class="ec-lmtt-10">\write18</span>. Per cambiare questo, può +essere impostata la variabile d’ambiente <span +class="ec-lmtt-10">TEXMFOUTPUT </span>oppure può essere modificata l’opzione +<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">openout_any</span></span></span>. +<!--l. 3474--><p class="indent" > Xe<span class="TEX">T<span +class="E">E</span>X</span> ora supporta la crenatura al margine lungo le stesse righe come pdf<span class="TEX">T<span +class="E">E</span>X</span> (l’espansione dei caratteri +non è supportata al momento). +<!--l. 3477--><p class="indent" > Per default, <span +class="ec-lmss-10">tlmgr </span>ora salva un backup di ciascun pacchetto aggiornato (<span +class="ec-lmtt-10">tlmgr option autobackup 1</span>), +così che gli aggiornamenti con pacchetti danneggiati possano essere facilmente ripristinati con <span +class="ec-lmtt-10">tlmgr restore</span>. +Se eseguite aggiornamenti successivi all’installazione e non avete spazio sul disco per i backup, eseguite <span +class="ec-lmtt-10">tlmgr</span> +<span +class="ec-lmtt-10">option autobackup 0</span>. +<!--l. 3484--><p class="indent" > Nuovi programmi inclusi: il motore p<span class="TEX">T<span +class="E">E</span>X</span> e le utilità correlate per la composizione in +giapponese; il programma BibTeXU per un BibTeX compatibile con Unicode; l’utilità <span +class="ec-lmss-10">chktex</span> +(<a +href="http://baruch.ev-en.org/proj/chktex" class="url" ><span +class="ec-lmtt-10">http://baruch.ev-en.org/proj/chktex</span></a>) per controllare i documenti (L<span +class="ec-lmr-7">A</span> )<span class="TEX">T<span +class="E">E</span>X</span>; il traduttore da DVI a SVG +<span +class="ec-lmss-10">dvisvgm </span>(<a +href="http://dvisvgm.sourceforge.net" class="url" ><span +class="ec-lmtt-10">http://dvisvgm.sourceforge.net</span></a>). +<!--l. 3491--><p class="indent" > Ora sono inclusi gli eseguibili per queste nuove piattaforme: <span +class="ec-lmtt-10">amd64-freebsd</span>, <span +class="ec-lmtt-10">amd64-kfreebsd</span>, +<span +class="ec-lmtt-10">i386-freebsd</span>, <span +class="ec-lmtt-10">i386-kfreebsd</span>, <span +class="ec-lmtt-10">x86_64-darwin</span>, <span +class="ec-lmtt-10">x86_64-solaris</span>. +<!--l. 3495--><p class="indent" > Un cambiamento in <span class="TEX">T<span +class="E">E</span>X</span> Live 2009 che ci siamo dimenticati di notare: numerosi eseguibili +legati a <span class="TEX">T<span +class="E">E</span>X</span>4ht (<a +href="http://tug.org/tex4ht" class="url" ><span +class="ec-lmtt-10">http://tug.org/tex4ht</span></a>) sono stati rimossi dalle directory degli eseguibili. Il +programma generico <span +class="ec-lmtt-10">mk4ht </span>può essere usato per eseguire una qualunque tra le varie combinazioni di +<span +class="ec-lmtt-10">tex4ht</span>. +<!--l. 3501--><p class="indent" > Infine, la versione di <span class="TEX">T<span +class="E">E</span>X</span> Live sul DVD TK non può più essere eseguita “live” (curiosamente). Un singolo +DVD non ha più abbastanza spazio. Un effetto collaterale benefico è che l’installazione da un DVD fisico è ora +molto più rapida. +<!--l. 3506--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">10.2.1 </span> <a + id="x1-8100010.2.1"></a>2011</h5> +<!--l. 3508--><p class="noindent" >Gli eseguibili per Mac OS X (<span +class="ec-lmtt-10">universal-darwin </span>e <span +class="ec-lmtt-10">x86_64-darwin </span>ora funzionano solo su Leopard e succesivi; +Panther e Tiger non sono più supportati. +<!--l. 3512--><p class="indent" > Il programma <span +class="ec-lmtt-10">biber </span>per l’elaborazione delle bibliografie è incluso per le piattaforme comuni. Il suo +sviluppo è strettamente accoppiato con il pacchetto <span +class="ec-lmtt-10">biblatex</span>, che reimplementa completamente +l’infrastruttura bibliografica fornita da LaTeX. +<!--l. 3517--><p class="indent" > Il programma MetaPost (<span +class="ec-lmtt-10">mpost</span>) non crea né usa più i file <span +class="ec-lmtt-10">.mem</span>. I file necessari, come <span +class="ec-lmtt-10">plain.mp</span>, sono +semplicemente letti ad ogni esecuzione. Questo è correlato al supporto di MetaPost come libreria, che è +un’altra modifica significativa non visibile dall’utente. +<!--l. 3522--><p class="indent" > L’implementazione di <span +class="ec-lmtt-10">updmap </span>in Perl, precedentemente usata solo su Windows, è stata rimodernata ed è +ora usata su tutte le piattaforme. Non dovrebbe esserci alcun cambiamento visibile dall’utente, tranne che ora + + +gira molto più velocemente. +<!--l. 3528--><p class="indent" > <a id="news"></a> + <h4 class="subsectionHead"><span class="titlemark">10.3 </span> <a + id="x1-8200010.3"></a>Present</h4> +<!--l. 3532--><p class="noindent" ><span +class="ec-lmtt-10">tlmgr </span>supporta gli aggiornamenti da archivi di rete multipli. La sezione sugli archivi multipli nel messaggio di +<span +class="ec-lmtt-10">tlmgr help </span>ha ulteriori informazioni. +<!--l. 3536--><p class="indent" > Il parametro <span +class="ec-lmtt-10">\XeTeXdashbreakstate </span>ha il valore predefinito di 1 sia per <span +class="ec-lmtt-10">xetex </span>che per <span +class="ec-lmtt-10">xelatex</span>. +Questo permette l’interruzione delle linee dopo i trattini lunghi e medi, che è stato sempre il +comportamento di <span class="TEX">T<span +class="E">E</span>X</span>, <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>, Lua<span class="TEX">T<span +class="E">E</span>X</span>, ecc. I documenti Xe<span class="TEX">T<span +class="E">E</span>X</span> esistenti che devono mantenere la +perfetta compatibilità con le interruzioni di linee, devono impostare <span +class="ec-lmtt-10">\XeTeXdashbreakstate </span>a 0 +esplicitamente. +<!--l. 3543--><p class="indent" > I file di output generati, tra gli altri, da <span +class="ec-lmtt-10">pdftex </span>e <span +class="ec-lmtt-10">dvips </span>possono ora superare i 2gb. +<!--l. 3546--><p class="indent" > I 35 font standard di PostScript sono ora inclusi nell’output di <span +class="ec-lmtt-10">dvips </span>per default, dato che ne esistono così +tante versioni differenti. +<!--l. 3549--><p class="indent" > Nel modo di esecuzione ristretto <span +class="ec-lmtt-10">\write18</span>, impostato per default, <span +class="ec-lmtt-10">mpost </span>è diventato un programma +ammissibile. +<!--l. 3552--><p class="indent" > Un file <span +class="ec-lmtt-10">texmf.cnf </span>viene trovato anche in <span class="path"><span +class="ec-lmtt-10">../texmf-local</span></span>, se esiste (ad esempio, +<span class="path"><span +class="ec-lmtt-10">/usr/local/texlive/texmf-local/web2c/texmf.cnf</span></span>). +<!--l. 3555--><p class="indent" > Lo script <span +class="ec-lmtt-10">updmap </span>legge un file <span +class="ec-lmtt-10">updmap.cfg </span>in ciascuna directory invece di una configurazione globale. +Questo cambiamento dovrebbe essere invisibile, a meno che non abbiate modificato il vostro updmap.cfg +direttamente. Il messaggio mostrato da <span +class="ec-lmtt-10">updmap –help </span>dà ulteriori informazioni. +<!--l. 3560--><p class="indent" > Piattaforme: aggiunte <span +class="ec-lmss-10">armel-linux </span>e <span +class="ec-lmss-10">mipsel-linux</span>; <span +class="ec-lmss-10">sparc-linux </span>e <span +class="ec-lmss-10">i386-netbsd </span>non fanno più parte della +distribuzione principale, ma sono disponibili per l’installazione come eseguibili personalizzati, insieme con una +varietà di altre piattaforme: <a +href="http://tug.org/texlive/custom-bin.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/custom-bin.html</span></a>. +<!--l. 3567--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">10.4 </span> <a + id="x1-8300010.4"></a>Futuro</h4> +<!--l. 3570--><p class="noindent" ><span class="TEX"><span +class="ec-lmri-10">T</span><span +class="E"><span +class="ec-lmri-10">E</span></span><span +class="ec-lmri-10">X</span></span> <span +class="ec-lmri-10">Live non </span><span +class="ec-lmri-10">è perfetto! </span>(e mai lo sarà). Intendiamo di continuare a fornire nuove versione e vorremmo fornire +ulteriore materiale d’aiuto, più programmi di utilità, più programmi di installazione e (ovviamente) un ancor +più migliorato e meglio controllato insieme di macro e font. Questo lavoro è fatto completamente da +volontari sovraccaricati nel loro limitato tempo libero e quindi c’è sempre molto da fare. Visita il sito +<a +href="http://tug.org/texlive/contribute.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/contribute.html</span></a>. +<!--l. 3578--><p class="indent" > Potete inviare correzioni, suggerimenti e offerte d’aiuto a: + <div class="quote"> + <!--l. 3580--><p class="noindent" ><a +href="mailto:tex-live@tug.org" ><span class="path"><span +class="ec-lmtt-10">tex-live@tug.org</span></span></a> <br +class="newline" /><a +href="http://tug.org/texlive" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive</span></a></div> +<!--l. 3585--><p class="noindent" ><span +class="ec-lmro-10">Buon lavoro con </span><span class="TEX"><span +class="ec-lmro-10">T</span><span +class="E"><span +class="ec-lmro-10">E</span></span><span +class="ec-lmro-10">X</span></span><span +class="ec-lmro-10">!</span> + +</body></html> + + + + diff --git a/Master/texmf-dist/doc/texlive/texlive-it/texlive-it.pdf b/Master/texmf-dist/doc/texlive/texlive-it/texlive-it.pdf Binary files differnew file mode 100644 index 00000000000..cf4f0897ad7 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-it/texlive-it.pdf diff --git a/Master/texmf-dist/doc/texlive/texlive-it/texlive-it.tex b/Master/texmf-dist/doc/texlive/texlive-it/texlive-it.tex new file mode 100644 index 00000000000..a83fda0f0ba --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-it/texlive-it.tex @@ -0,0 +1,3587 @@ +% $Id$ +% TeX Live documentation. Originally written by Sebastian Rahtz and +% Michel Goossens, now maintained by Karl Berry and others. +% Public domain. +% +% Traduzione italiana a cura di Marco Pallante. +% +\documentclass{article} +%\let\tldocenglish=1 % for live4ht.cfg +\usepackage{tex-live} +\usepackage[italian]{babel} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} + +\begin{document} + +\title{% + {\huge \textit{Guida a \TeX\ Live}\\\smallskip}% + {\LARGE \textsf{\TL{} 2012}}% +} + +\author{Karl Berry\\[3mm] + \url{http://tug.org/texlive/} + } + +\date{Giugno 2012} + +\maketitle + +\begin{multicols}{2} +\tableofcontents +%\listoftables +\end{multicols} + + +\section*{Note all'edizione italiana} + +Dopo tanti anni, finalmente abbiamo anche un'edizione italiana di questa +guida alla distribuzione \TL. Vorrei premettere che, per garantirne il +completamento entro l'uscita di \TL{} 2009, mi sono fatto in quattro +destinando praticamente ogni attimo libero a questo lavoro; ho tenuto +sempre acceso il computer, con l'editor aperto e, spesso, passandoci +davanti, mi fermavo a tradurre una sola frase o addirittura una sola +parola pur di non restare fermo. + +Ovviamente il risultato è un lavoro fatto con i piedi, uno stile +incoerente, parti che nemmeno io riesco a capire, errori di battitura e di +grammatica. Di tutto questo chiedo scusa. Però, adesso, il grosso dello +sforzo è stato fatto e revisionare periodicamente questa guida per limarla +e migliorarla sarà un'opera di gran lunga più semplice. + +Purtroppo, ho mancato l'appuntamento con \TL\ 2010 e la guida lì presente +era la stessa del 2009, con tutti i suoi difetti. Questa volta, per +l'edizione 2011, mi sono impegnato un po' di più, ho ripreso l'intero +lavoro, l'ho aggiornato prima con le modifiche del 2010 e quindi con quelle +del 2011, ho corretto una valanga di errori e ritradotto frasi che con +l'italiano avevano davvero poco a che vedere. + +Ovviamente ci saranno ancora tanti errori, frasi incomprensibili, incoerenze +e chi più ne ha più ne metta, ma spero nuovamente che il mio piccolo +contributo a \TeX{} sia apprezzato. Potete contattarmi per qualunque cosa, +aiuti, suggerimenti, correzioni, all'indirizzo +\email{marco.pallante@gmail.com}. + +Vorrei dedicare questo lavoro alla mia città . + +\bigskip + +\noindent Marco Pallante\\ +\emph{L'Aquila, 20 giugno 2011}. + + +\section{Introduzione} +\label{sec:intro} + +\subsection{\TeX\ Live e la \TeX\ Collection} + +Questo documento descrive le caratteristiche principali della +distribuzione \TL{}\Dash \TeX{} e i programmi ad esso correlati per +i sistemi GNU/Linux e altre versioni di Unix, \MacOSX{} e Windows. + +Potete ottenere \TL{} scaricandola, oppure sul \DVD{} \TK, che i gruppi di +utenti \TeX{} distribuiscono ai propri membri, o in altri modi. La sezione +\ref{sec:tl-coll-dists} descrive brevemente il contenuto del \DVD. Sia +\TL{} che \TK{} sono progetti cooperativi dei gruppi di utenti \TeX. +Questo descrive principalmente \TL. + +\TL{} include gli eseguibili per \TeX, \LaTeXe, \ConTeXt, \MF, \MP, +\BibTeX{} e molti altri programmi, una vasta collezione di macro, font e +documentazione e il supporto per la composizione tipografica in molti +diversi alfabeti provenienti da tutte le parti del mondo. + +Per un breve riassunto dei principali cambiamenti in questa edizione di +\TL, consultate la fine di questo documento, sezione~\ref{sec:history} +(\p.\pageref{sec:history}). + + + +\htmlanchor{platforms} +\subsection{Supporto per i sistemi operativi} +\label{sec:os-support} + +\TL{} contiene gli eseguibili per molte piattaforme basate su Unix, +inclusi \GNU/Linux, \MacOSX{} e Cygwin. I sorgenti inclusi possono essere +compilati per quelle piattaforme per le quali non forniamo i binari. + +Per quanto riguarda Windows: Windows \acro{XP} e successivi sono supportati. +Windows~2000 probabilmente continuerà a funzionare quasi del tutto. Non ci +sono specifici eseguibili a 64-bit per Windows, ma quelli a 32-bit +dovrebbero funzionare sui sistemi a 64-bit. + +Consulta la sezione~\ref{sec:tl-coll-dists} per scoprire soluzioni +alternative per Windows e \MacOSX. + +\subsection{Installazione base di \protect\TL{}} +\label{sec:basic} + +È possibile installare \TL{} dal \DVD{} oppure attraverso Internet +(\url{http://tug.org/texlive/acquire.html}). Il programma di installazione +via rete è piccolo e scarica tutto ciò che è necessario da Internet. + +Il programma di installazione nel \DVD{} vi permette l'installazione su un +disco locale. Non è possibile eseguire \TL{} direttamente dal \DVD{} \TK{} +(o dalla sua immagine \code{.iso}), ma potete preparare un'installazione +pronta per l'uso su, per esempio, una pennetta \USB{} (consultate la +sezione~\ref{sec:portable-tl}). L'installazione è descritta nelle prossime +sezioni (\p.\pageref{sec:install}), ma eccone un rapido accenno: + +\begin{itemize*} + +\item Lo script di installazione è chiamato \filename{install-tl}. + Può operare in ``modalità guidata'' (\emph{wizard}) dando l'opzione + \code{-gui=wizard} (predefinita sotto Windows), in modalità testuale + dando l'opzione \code{-gui=text} (predefinito per gli altri sistemi) e + in modalità \GUI{} esperta dando \code{-gui=perltk}. + +\item Uno degli elementi installati è il programma ``\TL\ Manager'', + chiamato \prog{tlmgr}. Così come l'installatore, può essere usato sia in + modalità \GUI{} che in modalità testuale. Lo si può usare per installare + e disinstallare i pacchetti e per compiere varie operazioni di + configurazione. + +\end{itemize*} + + +\htmlanchor{security} +\subsection{Considerazioni sulla sicurezza} +\label{sec:security} + +Sulla base delle nostre conoscenze, i programmi centrali di \TeX\ sono (e +sono sempre stati) estremamente robusti. Tuttavia, gli altri programmi in +\TeX\ Live potrebbero non raggiungere lo stesso livello, nonostante il +massimo impegno di tutti. Come sempre, dovreste essere attenti +nell'eseguire i programmi su documenti di origine inaffidabile; per la +massima sicurezza, eseguiteli in una nuova sotto directory. + +Questo bisogno di attenzone è particolarmente pressante sotto Windows, +dato che generalmente Windows cerca i programmi nella directory attuale +prima che in qualunque altra posizione, indipendentemente dal percorso di +ricerca. Questo comportamento crea un'ampia varietà di possibili attacchi. +Abbiamo chiuso molte falle, ma indubbiamente alcune ne rimangono, +soprattutto con i programmi di terze parti. Perciò raccomandiamo di +controllare la presenza di file sospetti nella directory attuale, +soprattutto quella di eseguibili (binari o script). Normalmente questi non +dovrebbero essere presenti e senza alcun dubbio normalmente non dovrebbero +essere creati semplicemente elaborando un documento. + +Infine, \TeX\ (e i programmi che lo accompagnano) è capace di creare nuovi +file quando elabora i documento, una funzionalità che può anche essere +abusata in una grande quantità di modi. Di nuovo, elaborare documenti +sconosciuti in una nuova sotto directory è la cosa più sicura. + + +\subsection{Ottenere aiuto} +\label{sec:help} + +La comunità \TeX{} è attiva ed amichevole e le domande più importanti +finiscono per ricevere una risposta. Tuttavia il supporto è informale, +offerto da volontari e lettori casuali, per cui è particolarmente +importante fare la propria parte prima di chiedere (se preferite un +supporto commerciale garantito, potete rinunciare del tutto a \TL{} e +ordinare il sistema di un fornitore; alla pagina +\url{http://tug.org/interest.html#vendors} trovate un elenco). + +Ecco una lista di risorse, approssimativamente nell'ordine in cui noi +raccomandiamo di usarle: + +\begin{description} +\item [Per Cominciare] Se siete nuovi di \TeX, alla pagina web + \url{http://tug.org/begin.html} troverete una breve introduzione al sistema. + +\item [\TeX{} \acro{FAQ}] Le \TeX{} \acro{FAQ} sono un enorme compendio di + risposte ad ogni genere di domanda, dalle più elementari alle più + oscure. Sono incluse in \TL{} in + \OnCD{texmf-dist/doc/generic/FAQ-en/html/index.html} e sono disponibili + su Internet alla pagina \url{http://www.tex.ac.uk/faq}. Controllate + prima qui. + +\item [\TeX{} Catalogue] Se state cercando uno specifico pacchetto, font, + programma, ecc., il \TeX{} Catalogue è il luogo dove guardare. È un + enorme catalogo con tutte le voci relative a \TeX. Visitate + \url{http://mirror.ctan.org/help/Catalogue/}. + + +\item [Risorse Web per \TeX{}] La pagina web + \url{http://tug.org/interest.html} ha molti collegamenti relativi a + \TeX, in particolare a numerosi libri, manuali ed articoli su tutti + gli aspetti del sistema. + +\item [archivi di supporto] I due principali forum di supporto sono il + gruppo Usenet \url{news:comp.text.tex} e la mailing list + \email{texhax@tug.org}. I loro archivi raccolgono anni di domande e + risposte per il vostro piacere di ricerca tramite + \url{http://groups.google.com/group/comp.text.tex/topics} e + \url{http://tug.org/mail-archives/texhax}, rispettivamente. E una + generica ricerca su web, ad esempio da \url{http://google.com}, non fa + mai male. + +\item [porre domande] Se non riuscite a trovare una risposta, potete + formulare la vostra domanda su \dirname{comp.text.tex} tramite Google o + un programma per Usenet, oppure tramite posta elettronica su + \email{texhax@tug.org}. Ma prima di scrivere, \emph{leggete} questa voce + delle \acro{FAQ}, al fine di massimizzare le probabilità di ottenere una + risposta utile: + \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. + Vale anche la pena nominare il sito della Comunità \LaTeX{} su + \url{http://www.latex-community.org/} e il suo forum + \url{http://www.latex-community.org/forum/} e il \TeX\ StackExchange su + \url{http://tex.stackexchange.com/}. + +\item [supporto \TL{}] Se volete segnalare un bug o avete dei suggerimenti o + commenti sulla distribuzione \TL{}, sull'installazione o la + documentazione, la mailing list è \email{tex-live@tug.org}. Tuttavia, se + la vostra domanda è relativa all'uso di un particolare programma incluso in + \TL{}, scrivete al mantenitore o alla mailing list di quel programma. + Spesso eseguire un programma con l'opzione \code{-{}-help} fornisce un + indirizzo al quale segnalare i bug. + +\end{description} + +L'altra faccia della medaglia è aiutare coloro che hanno domande. Sia +\dirname{comp.text.tex} che \code{texhax} sono aperte a chiunque, quindi +sentevi liberi di unirvi, iniziare a leggere e dare una mano dove potete. + +% don't use \TL so the \uppercase in the headline works. Also so +% tex4ht ends up with the right TeX. Likewise the \protect's. +\section{Panoramica di \protect\TeX\protect\ Live} +\label{sec:overview-tl} + +Questa sezione descrive i contenuti di \TL{} e della \TK{} di cui è parte. + +\subsection{La \protect\TeX\protect\ Collection: \TL, pro\TeX{}t, Mac\TeX} +\label{sec:tl-coll-dists} + +Il \DVD{} \TK{} include quanto segue: + +\begin{description} + +\item [\TL] Un sistema \TeX{} completo da installare sul proprio disco. La sua + pagina web è \url{http://tug.org/texlive/}. + +\item [Mac\TeX] per \MacOSX, aggiunge a \TL{} un installatore nativo per \MacOSX + ed altre applicazioni Mac. La sua pagina web è \url{http://tug.org/mactex/}. + +\item [pro\TeX{}t] Un miglioramento della distribuzione \MIKTEX\ per + Windows, \ProTeXt\ aggiunge alcuni strumenti supplementari a \MIKTEX\ e + semplifica l'installazione. È interamente indipendente da \TL{} e ha le + proprie istruzioni per l'installazione. La pagina web di \ProTeXt\ è + \url{http://tug.org/protext}. + +\item [CTAN] Un'instantanea dell'archivio \CTAN{} + (\url{http://www.ctan.org}). + +\item [\texttt{texmf-extra}] Una directory con pacchetti aggiuntivi + assortiti. + +\end{description} + +\CTAN{}, \pkgname{protext} e \dirname{texmf-extra} non seguono +necessariamente le stesse condizioni di licenza di \TL{}, per cui fate +attenzione nel ridistribuirli o modificarli. + + +\subsection{Directory primarie di \TL{}} +\label{sec:tld} + +Segue un breve elenco e una descrizione delle directory primarie in +un'installazione di \TL. + +\begin{ttdescription} +\item[bin] I programmi del sistema \TeX{}, raggruppati per piattaforma. +% +\item[readme-*.dir] Una rapida panoramica e collegamenti utili per \TL{}, + in varie lingue, sia in \HTML{} che in formato testuale. +% +\item[source] I sorgenti di tutti i programmi inclusi, comprese le + distribuzioni \TeX{} basate su \Webc{}. +% +\item[texmf] Vedi \dirname{TEXMFMAIN} sotto. +% +\item[texmf-dist] Vedi \dirname{TEXMFDIST} sotto. +% +\item[tlpkg] Script, programmi e dati per l'amministrazione + dell'installazione e per il supporto specifico di Windows. +\end{ttdescription} + +In aggiunta alle precedenti directory, gli script di installazione e i +file \filename{README} (in varie lingue) si trovano nella directory della +distribuzione. + +Per quanto riguarda la documentazione, i collegamenti nel file +\OnCD{doc.html} possono risultare utili. La documentazione per i programmi +(manuali, pagine di manuale, file Info) si trova in \dirname{texmf/doc}. +La documentazione per i pacchetti ed i formati \TeX\ si trova nella +directory \dirname{texmf-dist/doc}. Potete usare il programma +\cmdname{texdoc} per trovare una qualsiasi documentazione, ovunque sia +collocata. + +Questa stessa documentazione di \TL\ si trova in +\dirname{texmf/doc/texlive}, disponibile in varie lingue: + +\begin{itemize*} +\item{Ceco/Slovacco:} \OnCD{texmf/doc/texlive/texlive-cz} +\item{Cinese Semplificato:} \OnCD{texmf/doc/texlive/texlive-zh-cn} +\item{Francese:} \OnCD{texmf/doc/texlive/texlive-fr} +\item{Inglese:} \OnCD{texmf/doc/texlive/texlive-en} +\item{Italiano:} \OnCD{texmf/doc/texlive/texlive-it} +\item{Polacco:} \OnCD{texmf/doc/texlive/texlive-pl} +\item{Russo:} \OnCD{texmf/doc/texlive/texlive-ru} +\item{Serbo:} \OnCD{texmf/doc/texlive/texlive-sr} +\item{Tedesco:} \OnCD{texmf/doc/texlive/texlive-de} +\end{itemize*} + +\subsection{Panoramica dei percorsi predefiniti in texmf} +\label{sec:texmftrees} + +Questa sezione elenca le variabili predefinite che specificano i percorsi +dentro texmf usati dal sistema, il loro scopo e la strutturazione +predefinita di \TL{}. Il comando \texttt{tlmgr~conf} mostra i valori di +queste variabili, così che sia possibile scoprire con facilità come queste +siano riferite alle specifiche directory nella propria installazione. + +Tutti i percorsi, inclusi quelli personali, dovrebbero seguire la Struttura +delle Directory di \TeX\ (\TeX\ Directory Structure, \TDS, +\url{http://tug.org/tds}) con tutta la sua miriade di sotto directory, +altrimenti i file potrebbero non essere trovati. La sezione +\ref{sec:local-personal-macros} (\p.\pageref{sec:local-personal-macros}) +descrive ciò con maggior dettaglio. + +\begin{ttdescription} +\item [TEXMFMAIN] Il percorso che contiene le parti vitali del sistema, + come i file di configurazione, gli script di supporto e la + documentazione dei programmi. +\item [TEXMFDIST] Il percorso che contiene il gruppo principale di + pacchetti di macro, di font, ecc. +\item [TEXMFLOCAL] Il percorso che un amministratore può usare per + l'installazione di macro, di font, ecc., aggiuntivi o aggiornati nel + proprio sistema, in modo che siano disponibili per tutti gli utenti. +\item [TEXMFHOME] Il percorso che ciascun utente può usare per la propria + installazione personale di macro, font, ecc., aggiuntivi o aggiornati. + L'espansione di questa variabile si adatta dinamicamente per ciascun + utente alla directory individuale dell'utente stesso. +\item [TEXMFCONFIG] Il percorso relativo a ciascun utente usato dai + programmi \verb+texconfig+, \verb+updmap+ e \verb+fmtutil+ per + memorizzare i dati di configurazione modificati. +\item [TEXMFSYSCONFIG] Il percorso relativo all'intero sistema usato dai + programmi \verb+texconfig-sys+, \verb+updmap-sys+ e \verb+fmtutil-sys+ + per memorizzare i dati di configurazione modificati. +\item [TEXMFVAR] Il percorso relativo a ciascun utente usato da + \verb+texconfig+, \verb+updmap+ e \verb+fmtutil+ per memorizzare i dati + generati durante l'esecuzione, come i file dei formati e le mappe per i + font. +\item [TEXMFSYSVAR] Il percorso relativo all'intero sistema usato da + \verb+texconfig-sys+, \verb+updmap-sys+, \verb+fmtutil-sys+ ed anche da + \verb+tlmgr+ per memorizzare i dati generati durante l'esecuzione, come + i file dei formati e le mappe per i font. +\item [TEXMFCACHE] I percorsi usati da \ConTeXt\ Mk\acro{IV} per memorizzare + i dati generati durante l'esecuzione. +\end{ttdescription} + +\noindent +La strutturazione predefinita è: +\begin{description} + \item[percorso del sistema] può contenere diverse edizioni di \TL{}: + \begin{ttdescription} + \item[2011] Un'edizione precedente. + \item[2012] L'attuale edizione. + \begin{ttdescription} + \item [bin] ~ + \begin{ttdescription} + \item [i386-linux] Esebuibili per \GNU/Linux + \item [...] + \item [universal-darwin] Eseguibili per \MacOSX + \item [win32] Eseguibili per Windows + \end{ttdescription} + \item [texmf\ \ \ \ \ \ \ ] This is \envname{TEXMFMAIN}. + \item [texmf-dist\ \ ] \envname{TEXMFDIST} + \item [texmf-var \ \ ] \envname{TEXMFSYSVAR} + \item [texmf-config] \envname{TEXMFSYSCONFIG} + \end{ttdescription} + \item [texmf-local] \envname{TEXMFLOCAL}, pensato per essere mantenuto + tra diverse edizioni. + \end{ttdescription} + \item[home dell'utente] (\texttt{\$HOME} o \texttt{\%USERPROFILE\%}) + \begin{ttdescription} + \item[.texlive2011] Dati privati generati e di configurazione per + un'edizione precedente. + \item[.texlive2012] Dati privati generati e di configurazione per + l'attuale edizione. + \begin{ttdescription} + \item [texmf-var\ \ \ ] \envname{TEXMFVAR}, \envname{TEXMFCACHE} + \item [texmf-config] \envname{TEXMFCONFIG} + \end{ttdescription} + \item[texmf] \envname{TEXMFHOME} Macro personali, ecc. + \end{ttdescription} +\end{description} + + +\subsection{Estensioni di \protect\TeX} +\label{sec:tex-extensions} + +Lo sviluppo dell'originale \TeX{} di Knuth è congelato, se si escludono +rare correzioni di bug. È ancora presente in \TL\ come \prog{tex} e vi +rimarrà nel prossimo futuro. \TL{} contiene diverse versioni estese di +\TeX: + +\begin{description} + +\item [\eTeX] aggiunge un insieme di nuove primitive \label{text:etex} +(riguardanti l'espansione delle macro, la scansione dei caratteri, le +classi di segnaposti, caratteristiche di debug aggiuntive ed altro ancora) +e le estensioni \TeXXeT{} per la scrittura bidirezionale. Nella modalità +di base, \eTeX{} è compatibile al 100\% con il \TeX{} ordinario. +Consultate \OnCD{texmf-dist/doc/etex/base/etex_man.pdf}. + +\item [pdf\TeX] parte dalle estensioni di \eTeX, aggiunge il supporto per +la generazione di file \acro{PDF} oltre che dei \dvi{} e molte estensioni +che non sono legate alla generazione dell'output. Questo programma è +invocato dalla maggior parte dei formati, come \prog{etex}, \prog{latex}, +\prog{pdflatex}. Il suo sito web è \url{http://www.pdftex.org/}. +Consultate \OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf} per il manuale +e \OnCD{texmf-dist/doc/pdftex/manual/samplepdf/samplepdf.tex} per gli +esempi d'uso di alcune delle sue caratteristiche. + +\item [Lua\TeX] è il successore prescelto di pdf\TeX ed è quasi del tutto +(ma non completamente) compatibile con i predecessori. È anche destinato a +sostituire le funzioni di Aleph (vedi sotto), per quanto non sia stata +predisposta la compatibilità tecnica. L'interprete Lua incorportato +(\url{http://www.lua.org/}) permette soluzioni eleganti a molti problemi +spinosi di \TeX. Quando è invocato come \filename{texlua}, si comporta +come un interprete Lua autonomo ed è già usato in questo modo all'interno +di \TL. Il suo sito web è \url{http://www.luatex.org} e il manuale di +riferimento è \OnCD{texmf-dist/doc/luatex/luatexref-t.pdf}. + +\item [\XeTeX] aggiunge il supporto per l'input in Unicode e per i font +OpenType e di sistema, implementato usando librerie di terze parti +standard. Visitate \url{http://tug.org/xetex}. + +\item [\OMEGA\ (Omega)] è basato sull'Unicode (caratteri a 16 bit) e +dunque consente di lavorare con quasi tutti gli alfabeti del mondo +contemporaneamente. Supporta anche i cosiddetti ``\OMEGA{} Translation +Process'' (\acro{OTP}, Processi di Traduzione Omega), per compiere +trasformazioni complesse su input arbitrari. Omega non è più incluso in +\TL{} come programma separato; soltanto Aleph è fornito. + +\item [Aleph] combina le estensioni \OMEGA\ e \eTeX. Consultate +\OnCD{texmf-dist/doc/aleph/base}. + +\end{description} + + +\subsection{Altri rilevanti programmi in \protect\TL} + +Seguono alcuni altri programmi di uso comune inclusi in \TL{}: + +\begin{cmddescription} + +\item [bibtex, bibtex8] supporto per la bibliografia. + +\item [makeindex, xindy] supporto per gli indici. + +\item [dvips] converte i \dvi{} in \PS{}. + +\item [xdvi] programma di anteprima dei \dvi{} per l'X Window System. + +\item [dvilj] convertitore di \dvi{} per la famiglia di stampanti HP +LaserJet. + +\item [dviconcat, dviselect] tagliano ed incollano le pagine contenute nei +file \dvi{}. + +\item [dvipdfmx] converte i \dvi{} in \acro{PDF}, un approccio alternativo +a pdf\TeX\ (citato in precedenza). + +\item [psselect, psnup, \ldots] programmi di manipolazione dei \PS{}. + +\item [pdfjam, pdfjoin, \ldots] programmi di manipolazione dei \acro{PDF}. + +\item [texexec, texmfstart] processore Con\TeX{}t e \acro{PDF}. + +\item [tex4ht] convertitore da \TeX{} a \acro{HTML} (e a \acro{XML} ed +altro ancora). + +\end{cmddescription} + + +\subsection{Font in \protect\TL} +\label{sec:tl-fonts} + +\TL{} è fornito con molti caratteri tipografici scalabili di alta qualità . +Visita \url{http://tug.org/fonts} e +\OnCD{texmf-dist/doc/fonts/free-math-font-survey}. + + +\htmlanchor{installation} +\section{Installazione} +\label{sec:install} + +\subsection{Avviare l'installatore} +\label{sec:inst-start} + +Per cominciare, procuratevi il \DVD{} \TK{} oppure scaricate +l'installatore di rete di \TL{} ed individuate il programma di +installazione: \filename{install-tl} per Unix, \filename{install-tl.bat} +per Windows. Consulate \url{http://tug.org/texlive/acquire.html} per +maggiori informazioni ed altri metodi per ottenere il software. + +\begin{description} +\item [Installatore di rete:] Scaricatelo da \CTAN, dal percorso +\dirname{systems/texlive/tlnet}; l'indirizzo +\url{http://mirror.ctan.org/systems/texlive/tlnet} reindirizzerà +automaticamente ad un mirror aggiornato vicino. Potete scaricare sia +\filename{install-tl.zip} che può essere usato sotto Unix e Windows, sia +il notevolmente più piccolo \filename{install-unx.tar.gz} solo per Unix. +Dopo averlo decompresso, \filename{install-tl} e \filename{install-tl.bat} +si troveranno nella sotto directory \dirname{install-tl}. + +\item [\DVD{} \TeX{} Collection:] aprite la sotto directory +\dirname{texlive} del \DVD. Sotto Windows, il programma di installazione +dovrebbe partire automaticamente quando inserite il \DVD. Potete ottenere il +\DVD\ diventando membri di un gruppo utenti \TeX\ (caldamente consigliato, +\url{http://tug.org/usergroups.html}) oppure acquistandolo separatamente +(\url{http://tug.org/store}) o ancora masterizzandolo a partire +dall'immagine \ISO. Sulla maggior parte dei sistemi potete anche montare +direttamente l'\ISO. Dopo l'installazione dal \DVD\ o dall'immagine \ISO, se +volete ottenere gli aggiornamenti da Internet, consulate +\ref{sec:dvd-install-net-updates}. + +\end{description} + +Indipendentemente dall'origine, viene eseguito lo stesso programma di +installazione. La differenza più evidente tra i due è che con l'installatore +di rete riceverete i pacchetti che sono disponibili al momento. Questo +contrasta con le immagini \DVD\ e \ISO, che non vengono aggiornate tra le +principali versioni pubbliche. + +\noindent +Le sezioni seguenti spiegano l'avvio dell'installazione in maggiore +dettaglio. + +\subsubsection{Unix} + +Di seguito, \texttt{>} denota il prompt della shell; l'input dell'utente è +in \Ucom{\texttt{grassetto}}. +Il programma \filename{install-tl} è uno script Perl. Il modo più semplice +per avviarlo su un sistema compatibile Unix è il seguente: +\begin{alltt} +> \Ucom{cd /percorso/verso/il/programma} +> \Ucom{perl install-tl} +\end{alltt} +In alternativa potete invocare +\Ucom{perl /percorso/verso/il/programma/install-lt}, oppure +\Ucom{./install-tl} se avete i permessi di esecuzione, ecc.; non ripeteremo +tutte queste varianti. Potreste dover ingrandire la finestra di terminale +affinché mostri l'intera schermata dell'installatore testuale +(Figura~\ref{fig:text-main}). + +Per eseguire l'installazione nella modalità \GUI\ avanzata +(figura~\ref{fig:gui-main}) avete bisogno del modulo \dirname{Perl/TK}) +compilato con il supporto per \acro{XFT}, che avviene normalmente con +\GNU/Linux, ma non necessariamente con altri sistemi. Detto questo, potete +eseguire: +\begin{alltt} +> \Ucom{perl install-tl -gui} +\end{alltt} + +Per un elenco completo delle diverse opzioni: +\begin{alltt} +> \Ucom{perl install-tl -help} +\end{alltt} + +\textbf{Attenzione riguardo i permessi Unix:} La tua \code{umask} nel +momento dell'installazione sarà rispettata dall'installatore di \TL{}. +Quindi se vuoi che l'installazione sia usabile da altri utenti oltre che +te, sii sicuro che le tue impostazioni siano permissive a sufficienza, per +esempio, \code{umask 002}. Per ulteriori informazioni riguardo +\code{umask}, consulta la documentazione del tuo sistema. + +\textbf{Considerazioni speciali per Cygwin:} Diversamente da altri sistemi +Unix-compatibili, Cygwin non è preimpostato per includere tutti i +programmi di cui l'installatore di \TL{} ha bisogno. Consulta la +sezione~\ref{sec:cygwin} per i dettagli. + + +\subsubsection{MacOSX} + +Come accennato nella sezione~\ref{sec:tl-coll-dists}, abbiamo preparato +una distribuzione separata per \MacOSX{} chiamata Mac\TeX\ +(\url{http://tug.org/mactex}). Su \MacOSX{} raccomandiamo di usare +l'installatore nativo di Mac\TeX\ al posto dell'installatore di \TL\ in +quanto quello nativo esegue alcuni aggiustamenti specifici per il Mac, in +particolare per consentire con semplicità il passaggio tra le varie +distribuzioni \TeX\ per \MacOSX\ (Mac\TeX, Fink, MacPorts, \ldots). + +Mac\TeX\ è strettamente basato su \TL\ e le rispettive strutture delle +directory sono esattamente le stesse. Il primo aggiunge alcune ulteriori +cartelle con documentazione e applicazioni specifici per il Mac. + + +\subsubsection{Windows} + +Se state usando l'installatore di rete oppure se l'installatore su \DVD\ +non si avvia automaticamente, fate doppio click su +\filename{install-tl.bat}. Per ottenere maggiori opzioni di +configurazione, come la selezione di specifiche collezioni di pacchetti, +lanciate \filename{install-tl-advanced.bat}. + +Potete avviare l'installatore anche dal prompt dei comandi. Qui sotto, +\texttt{>} denota il prompt; l'input dell'utente è in +\Ucom{\texttt{grassetto}}. Se vi trovate nella cartella dell'installatore, +eseguite semplicemente: +\begin{alltt} +> \Ucom{install-tl} +\end{alltt} + +In aternativa potete lanciarlo con un percorso assoluto, come: +\begin{alltt} +> \Ucom{D:\bs{}texlive\bs{}install-tl} +\end{alltt} +per il \DVD\ \TK, supponendo che \dirname{D:} sia il lettore \DVD. La +figura~\ref{fig:wizard-w32} mostra l'installazione guidata, che è quella +preimpostata per Windows. + +Per installare in modalità testuale, usate: +\begin{alltt} +> \Ucom{install-tl -no-gui} +\end{alltt} + +Per un elenco completo delle diverse opzioni: +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} + +%%% TODO +\begin{figure}[tb] +\begin{boxedverbatim} +Installing TeX Live 2012 from: ... +Platform: i386-linux => 'Intel x86 with GNU/Linux' +Distribution: inst (compressed) +... + Detected platform: Intel x86 with GNU/Linux + + <B> binary systems: 1 out of 19 + + <S> Installation scheme (scheme-full) + 84 collections out of 85, disk space required: 3091 MB + + Customizing installation scheme: + <C> standard collections + <L> language collections + + <D> directories: + TEXDIR (the main TeX directory): + /usr/local/texlive/2012 + ... + + <O> options: + [ ] use letter size instead of A4 by default + ... + + <V> set up for portable installation + +Actions: + <I> start installation to hard disk + <H> help + <Q> quit +\end{boxedverbatim} +\caption{Schermata principale dell'installatore testuale + (\GNU/Linux)}\label{fig:text-main} +\end{figure} + +\begin{figure}[tb] +\tlpng{install-lnx-main}{\linewidth,trim=10 4 0 20,clip} +\caption{Schermata dell'installatore grafico avanzato + (\GNU/Linux)}\label{fig:gui-main} +\end{figure} + +\begin{figure}[tb] +\tlpng{wizard-w32}{\linewidth,trim=0 4 0 0,clip} +\caption{Schermata dell'installazione guidata + (Windows)}\label{fig:wizard-w32} +\end{figure} + + +\htmlanchor{cygwin} +\subsubsection{Cygwin} +\label{sec:cygwin} + +L'installatore di \TL{} supporta soltanto Cygwin 1.7. +Prima di iniziare l'installazione, usate il programma \filename{setup.exe} +di Cygwin per installare i pacchetti \filename{perl} e \filename{wget}, a +meno che non lo abbiate già fatto. I seguenti pacchetti aggiuntivi sono +raccomandati: +\begin{itemize*} +\item \filename{fontconfig} [richiesto da \XeTeX] +\item \filename{ghostscript} [richiesto da vari programmi] +\item \filename{libXaw7} [richiesto da xdvi] +\item \filename{ncurses} [fornisce il comando 'clear' usato + dall'installatore] +\end{itemize*} + +\subsubsection{L'installatore testuale} + +La figura~\ref{fig:text-main} mostra la schermata principale della +modalità testuale sotto Unix. L'installatore testuale è quello +predefinito sotto Unix. + +Questo è soltanto un installatore a riga di comando; non c'è alcun +supporto per il movimento del cursore di inserimento. Ad esempio, non +potete muovervi tra le caselle di spunta o i campi di inserimento. +Voi semplicemente digitate qualcosa al prompt (MAIUSCOLE e minuscole sono +differenti), premete il tasto Invio e l'intera schermata del terminale +sarà aggiornata, con il contenuto alterato. + +L'interfaccia dell'installatore testuale è così primitiva per una ragione: +è progettata per funzionare sul maggior numero di piattaforme possibile, +anche con una versione minimale di Perl. + +\subsubsection{L'installatore grafico avanzato} + +La figura~\ref{fig:gui-main} mostra l'installatore grafico avanzato sotto +\GNU/Linux. Al di là dell'uso di pulsanti e menu, questo installatore non +differisce di molto da quello testuale. + +Questa modalità può essere invocata esplicitamente tramite +\begin{alltt} +> \Ucom{install-tl -gui=perltk} +\end{alltt} + + +\subsubsection{La semplice installazione guidata} + +Sotto Windows, l'azione predefinita è di eseguire il più semplice metodo +di installazione che potessimo escogitare, chiamato ``installazione +guidata''. Questa installa tutto e praticamente non pone domande. Se +volete personalizzare la vostra installazione, dovete lanciare uno degli +altri installatori. + +Questa modalità può essere invocata esplicitamente con +\begin{alltt} +> \Ucom{install-tl -gui=wizard} +\end{alltt} + + +\subsection{Eseguire l'installatore} +\label{sec:runinstall} + +L'installatore è pensato per essere perlopiù autoesplicativo, ma seguono +alcune note riguardo varie opzioni e sottomenu. + +\subsubsection{Menu delle architetture (solo Unix)} +\label{sec:binary} + +%TODO figura! +\begin{figure}[tb] +\begin{boxedverbatim} +Available platforms: +=============================================================================== + a [ ] alpha-linux DEC Alpha with GNU/Linux + b [ ] amd64-freebsd x86_64 with FreeBSD + c [ ] amd64-kfreebsd x86_64 with GNU/kFreeBSD + d [ ] armel-linux ARM with GNU/Linux + e [ ] i386-cygwin Intel x86 with Cygwin + f [ ] i386-freebsd Intel x86 with FreeBSD + g [ ] i386-kfreebsd Intel x86 with GNU/FreeBSD + h [X] i386-linux Intel x86 with GNU/Linux + i [ ] i386-solaris Intel x86 with Solaris + j [ ] mips-irix SGI IRIX + k [ ] mipsel-linux mipsel with Linux + l [ ] powerpc-aix PowerPC with AIX + m [ ] powerpc-linux PowerPC with GNU/Linux + o [ ] sparc-solaris Sparc with Solaris + p [ ] universal-darwin universal binaries for MacOSX/Darwin + s [ ] win32 Windows + t [ ] x86_64-darwin x86_64 with MacOSX/Darwin + u [ ] x86_64-linux x86_64 with GNU/Linux + v [ ] x86_64-solaris x86_64 with Solaris +\end{boxedverbatim} +\caption{Menu delle architetture}\label{fig:bin-text} +\end{figure} + +La figura~\ref{fig:bin-text} mostra il menu delle architetture in modalità +testuale. Di base, saranno installati solo gli eseguibili per la propria +piattaforma attuale. Da questo menu si può selezionare l'installazione +dei binari anche per altre piattaforme. Questa opzione è utile se si +condivide un'installazione di \TeX\ in una rete di macchine eterogenee, +oppure per una macchina con due sistemi operativi. + +\subsubsection{Selezionare cosa deve essere installato} +\label{sec:components} + +% TODO +\begin{figure}[tbh] +\begin{boxedverbatim} +Select scheme: +=============================================================================== + a [X] full scheme (everything) + b [ ] medium scheme (small + more packages and languages) + c [ ] small scheme (basic + xetex, metapost, a few languages) + d [ ] basic scheme (plain and latex) + e [ ] minimal scheme (plain only) + f [ ] ConTeXt scheme + g [ ] GUST TeX Live scheme + h [ ] teTeX scheme (more than medium, but nowhere near full) + i [ ] XML scheme + j [ ] custom selection of collections +\end{boxedverbatim} +\caption{Menu degli schemi}\label{fig:scheme-text} +\end{figure} + +La figura~\ref{fig:scheme-text} mostra il menu degli schemi di \TL; da qui +potete scegliere uno ``schema'', che è un insieme di collezioni di pacchetti. +Questo è lo schema raccomandato, ma potete anche scegliere \optname{basic} +per un sistema piccolo, \optname{minimal} per scopi di prova e +\optname{medium} o \optname{teTeX} per una via di mezzo. Ci sono anche +ulteriori schemi specializzati e specifici per particolari paesi. + +\begin{figure}[tbh] +\tlpng{stdcoll}{.7\linewidth} +\caption{Menu delle collezioni}\label{fig:collections-gui} +\end{figure} + +Potete rifinire la vostra scelta dello schema con i menu ``Collezioni di +base'' e ``Collezioni di lingue'' (figura~\ref{fig:collections-gui}, +mostrati, per cambiare, in modalità \GUI). + +Le collezioni stanno ad un livello di dettaglio maggiore rispetto agli +schemi \Dash\ in pratica, uno schema consiste in varie collezioni, una +collezione consiste in uno o più pacchetti e un pacchetto (la più piccola +forma di raggruppamento in \TL) contiene i file con le macro \TeX, i font +e così via. + +Se desiderate un controllo maggiore di quello fornito dal menu delle +collezioni, potete usare il programma \TeX\ Live Manager (\prog{tlmgr}) +dopo l'installazione (cfr. la sezione~\ref{sec:tlmgr}); tramite tale +programma, potete controllare l'installazione al livello di dettaglio dei +singoli pacchetti. + +\subsubsection{Directory} +\label{sec:directories} + +La strutturazione predefinita è descritta nella +sezione~\ref{sec:texmftrees}, \p.\pageref{sec:texmftrees}. La posizione +predefinita di \dirname{TEXDIR} è \dirname{/usr/local/texlive/2012} sotto +Unix e |%SystemDrive%\texlive\2012| sotto Windows. + +La ragione principale per cambiare il valore preimpostato si ha quando non +avete i permessi di scrittura per tale percorso. Non dovete essere root o +l'amministratore per installare \TL, ma avete bisogno dell'accesso in +scrittura sulla directory di destinazione. + +Una ragionevole scelta alternativa è una directory all'interno della +vostra home, soprattutto se sarete gli unici utilizzatori. Usate ``|~|'' +per specificare la vostra home, come ad esempio in ``|~/texlive/2012|''. + +Raccomandiamo di includere l'anno nel percorso, così da poter tenere +diverse edizioni di \TL{} fianco a fianco (potete usare un collegamento +simbolico con il nome indipendente dalla edizione, come +\dirname{/usr/local/texlive-cur}, da aggiornare dopo aver provato la nuova +edizione). + +Modificare \dirname{TEXDIR} durante l'installazione causerà anche la +modifica di \dirname{TEXMFLOCAL}, \dirname{TEXMFSYSVAR} e +\dirname{TEXMFSYSCONFIG}. + +\dirname{TEXMFHOME} è la posizione raccomandata per le macro e i pacchetti +personali. Il suo valore predefinito è |~/texmf|. A differenza di +\dirname{TEXDIR}, qui il carattere |~| viene mantenuto all'interno dei +file di configurazione creati, dato che è utile che si riferisca alla home +di ciascuna persona che esegue \TeX. Si espande in \dirname{$HOME} sotto +Unix e \verb|%USERPROFILE%| sotto Windows. Speciale nota ridondante: +\envname{TEXMFHOME}, come tutti gli altri percorsi, deve essere organizzata +secondo il \TDS, o i file potrebbero non essere trovati. %stopzone + +\dirname{TEXMFVAR} è la posizione in cui vengono memorizzati la maggior +parte dei dati generati durante l'esecuzione specifici per ciascun utente. +\dirname{TEXMFCACHE} è usato per lo stesso scopo da \ConTeXt\ Mk\acro{IV} +(consultate la sezione~\ref{sec:context-mkiv}, +\p.\pageref{sec:context-mkiv}). + + +\subsubsection{Opzioni} +\label{sec:options} + +% TODO FIGURA!!! +\begin{figure}[tbh] +\begin{boxedverbatim} +Options setup: +=============================================================================== + <P> use letter size instead of A4 by default: [ ] + <E> execution of restricted list of programs: [X] + <F> create format files: [X] + <D> install font/macro doc tree: [X] + <S> install font/macro source tree: [X] + <L> create symlinks in standard directories: [ ] + binaries to: + manpages to: + info to: + <Y> after installation, get package updates from CTAN: [X] +\end{boxedverbatim} +\caption{Menu delle opzioni (Unix)}\label{fig:options-text} +\end{figure} + +La figura~\ref{fig:options-text} mostra il menu delle opzioni in modalità +testuale. Ulteriori informazioni su ciascuna opzione: + +\begin{description} +\item[Usa come predefinito il formato di pagina lettera al posto dell'A4:] + Questa è la selezione del formato di carta predefinito. Ovviamente, se + lo si desidera, si potrà e si dovrebbe specificare il formato della + carta in ogni singolo documento. + +\item[execution of restricted list of programs:] A partire da \TL\ 2010, + è consentita l'esecuzione da parte di \TeX\ di pochi programmo esterni. + La (molto breve) lista di questi programmi è data nel file + \filename{texmf.cnf}. Consultate le novità 2010 + (sezione~\ref{sec:2010news}) per maggiori dettagli. + +\item[Crea i file di formato:] Per quanto i file di formato non + strettamente necessari richiedano tempo per essere generati e spazio su + disco per essere memorizzati, è comunque raccomandato di lasciare questa + opzione attiva: se non lo fate, allora i file di formato saranno + generati, quando necessari, all'interno delle directory private + \dirname{TEXMFVAR} di ciascun utente. In tali posizioni, non saranno + aggiornati automaticamente se lo sono (ad esempio) gli eseguibili o i + modelli di sillabazione nell'installazione, e così potreste trovarvi ad + avere formati incompatibili. + +\item[Installa \ldots\ per font e macro:] Queste opzioni consentono di + omettere lo scaricamento e l'installazione della documentazione e dei + file sorgenti presenti nella maggior parte dei pacchetti. Non sono + raccomandate. + +\item[Crea i collegamenti nelle directory di sistema:] Questa opzione + (solo Unix) scavalca la necessità di modificare le variabili di ambiente. + Senza di essa, le directory di \TL{} devono solitamente essere aggiunte + alle variabili \envname{PATH}, \envname{MANPATH} e \envname{INFOPATH}. + Avete bisogno dei permessi di scrittura nelle directory di destinazione. + Suggeriamo vivamente di \emph{non} usare questa opzione per + sovrascrivere un'installazione \TeX\ fornita con il vostro sistema. + Questa opzione è pensata principalmente per accedere al sistema \TeX\ + tramite directory già note agli utenti, come \dirname{/usr/local/bin}, + che non contengono già alcun file di \TeX. + +\item[after installation \ldots\ \CTAN:] Quando si esegue l'installazione + da \DVD, questa opzione è abilitata di default, dato che di solito si + vuole prendere ogni successivo aggiornamento di pacchetti dall'area + \CTAN\ che è aggiornata durante l'anno. L'unica ragione plausibile per + disabilitarla è quando si vuole installare solo un sottoinsieme dal \DVD + e si ha intenzione di estendere l'installazione successivamente. In + ogni caso, l'archivio dei pacchetti per l'installatore e per gli + aggiornamenti successivi all'installazione può essere impostato in modo + indipendente secondo le necessità ; consultate le sezioni~\ref{sec:location} + e \ref{sec:dvd-install-net-updates}. +\end{description} + +Quando tutte le impostazioni sono come le desiderate, potete digitare +``I'' per avviare il processo di installazione. Quando questo è completo, +passate alla sezione~\ref{sec:postinstall} per leggere cos'altro dovete +fare, se ce n'è bisogno. + + +\subsection{Opzioni della riga di comando di install-tl} +\label{sec:cmdline} + +Digitate +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} +per ottenere un elenco delle opzioni della riga di comando. Sia |-| che +|--| possono essere usati per introdurre i nomi delle opzioni. Ecco le più +comuni: + +\begin{ttdescription} +\item[-gui] Se possibile, usa l'installatore grafico. Questa opzione + richiede il modulo Perl/Tk + (\url{http://tug.org/texlive/distro.html#perltk}) compilato con il + supporto per \acro{XFT}; se Perl/Tk non è disponibile, l'installazione + prosegue in modalità testuale. + +\item[-no-gui] Costringe all'uso dell'installatore testuale, anche sotto + Windows. + +\item[-lang {\sl LL}] Specifica la lingua dell'interfaccia + dell'installatore sotto forma di codice standard (di solito a due + lettere). L'installatore cerca di determinare automaticamente la lingua + corretta, ma se fallisce o se la lingua corretta non è disponibile, + allora usa l'inglese come ripiego. Lanciate \code{install-tl --help} + per la lista delle lingue disponibili. + +\htmlanchor{opt-in-place} +\item[-in-place] Se avete già una copia di \TL{}, anche ottenuta tramite + rsync o svn (consultate \url{http://tug.org/texlive/acquire-mirror.html}), + allora questa opzione userà ciò che avete ottenuto, così com'è, ed + eseguirà solo le necessarie procedure di post installazione. Siete + avvisati che il file \filename{tlpkg/texlive.tlpdb} potrebbe venire + sovrascritto; salvarne una copia è vostra responsabilità . Inoltre, la + rimozione dei pacchetti deve essere eseguita manualmente. Non usate questa + opzione a meno che non sappiate cosa state facendo. Questa opzione non può + essere attivata dall'interfaccia dell'installatore. + +\item[-portable] Installa per un uso portatile su una chiavetta \USB{}. + Questa oprione è selezionabile dall'installatore testuale con il comando + \code{V} e dall'installatore grafico. Consultate la + sezione~\ref{sec:portable-tl}. + +\item[-profile {\sl file}] Carica il profilo di installazione \var{file} ed + esegue l'installazione senza interazione con l'utente. Il programma di + installazione scrive sempre un file \filename{texlive.profile} nella sotto + directory \dirname{tlpkg} della vostra installazione. Quel file può essere + passato come argomento per ripetere esattamente la stessa installazione su + un sistema differente. In alternativa, potete usare un profilo + personalizzato, creato facilmente partendo da uno generato automaticamente + e modificandone i valori, oppure potete usare un file vuoto, che prenderà + come valori tutti quelli predefiniti. + +\item [-repository {\sl url-o-directory}] Specifica l'archivio dei + pacchetti da cui installare; vedi più avanti. +\end{ttdescription} + + +\subsubsection{L'opzione \optname{-repository}} +\label{sec:location} + +L'archivio dei pacchetti di rete predefinito è uno dei mirror di \CTAN{} +scelto automaticamente tramite \url{http://mirror.ctan.org}. + +Per rimpiazzare questa scelta, potete specificare un url che comincia per +\texttt{ftp:}, \texttt{http:} o \texttt{file:/}, oppure il semplice nome +di una directory (quando specificate un indirizzo \texttt{http:} o +\texttt{ftp:}, l'eventuale carattere finale ``\texttt{/}'' e l'eventuale +``\texttt{/tlpkg}'' conclusivo saranno ignorati). + +Per esempio, potete scegliere uno specifico mirror di \CTAN\ con qualcosa +del tipo: +\url{http://ctan.example.org/tex-archive/systems/texlive/tlnet/}, +sostituendo a |ctan.example.org/tex-archive| il vero nome del sito e il +percorso che ospita \CTAN. L'elenco dei mirror di \CTAN\ si trova alla +pagina \url{http://ctan.org/mirrors}. + +Se il valore specificato è locale (sia tramite percorso che tramite un url +\texttt{file:/}), saranno usati i file compressi contenuti in una sotto +directory \dirname{archive} del percorso (anche se sono disponibili anche +file non compressi). + + +\subsection{Azioni successive all'installazione} +\label{sec:postinstall} + +Potrebbero essere necessarie alcune azioni successivie all'installazione. + + +\subsubsection{Variabili d'ambiente per Unix} +\label{sec:env} + +Se avete deciso di creare i collegamenti simbolici nelle directory standard +(descritto nella sezione~\ref{sec:options}), allora non c'è bisogno di +modificare le variabili d'ambiente. Altrimenti, nei sistemi Unix, la +directory degli eseguibili per la vostra piattaforma deve essere aggiunta al +percorso di ricerca (sotto Windows, è l'installatore ad occuparsene). + +Ogni piattaforma supportata ha la propria sotto directory all'interno di +\dirname{TEXDIR/bin}. Consultate la figura~\ref{fig:bin-text} per la lista +delle sotto directory e delle corrispondenti piattaforme. + +Facoltativamente potete anche aggiungere le directory della documentazione +man e Info ai propri rispettivi percorsi di ricerca, se volete che gli +strumenti di sistema la trovino. Le pagine di manuale potrebbero essere +trovate magicamente dopo l'aggiunta al \envname{PATH}. + +Per le shell compatibili con la Bourne, come \prog{bash}, e usando +\GNU/Linux per Intel x86 e le directory predefinite come esempio, il file +da modificare dovrebbe essere \filename{$HOME/.profile} %stopzone +(o un qualunque altro file aperto da \filename{.profile}), e le linee da +aggiungere sarebbero simili alle seguenti: + +\begin{sverbatim} +PATH=/usr/local/texlive/2012/bin/i386-linux:$PATH; export PATH +MANPATH=/usr/local/texlive/2012/texmf/doc/man:$MANPATH; export MANPATH +INFOPATH=/usr/local/texlive/2012/texmf/doc/info:$INFOPATH; export INFOPATH +\end{sverbatim} +%stopzone + +Per csh o tcsh, il file da modificare tipicamente è +\filename{$HOME/.cshrc} e le linee da aggiungere sarebbero del +tipo: + +\begin{sverbatim} +setenv PATH /usr/local/texlive/2012/bin/i386-linux:$PATH +setenv MANPATH /usr/local/texlive/2012/texmf/doc/man:$MANPATH +setenv INFOPATH /usr/local/texlive/2012/texmf/doc/info:$INFOPATH +\end{sverbatim} + +Se già avete delle impostazioni del genere in uno dei file citati, +naturalmente dovete semplicemente unirvi le directory di \TL\ come è più +opportuno. + + +\subsubsection{Variabili d'ambiente: configurazione globale} +\label{sec:envglobal} + +Se volete che questi cambiamenti siano globali oppure che si applichino a +ciascun nuovo utente aggiunto nel sistema, allora dovete cavarvela da +soli; c'è semplicemente troppa varietà tra i diversi sistemi nel come e +nel dove queste cose siano configurate. + +I nostri due suggerimenti sono: 1)~potete controllare il file +\filename{/etc/manpath.config} e, se esiste, aggiungere linee come + +\begin{sverbatim} +MANPATH_MAP /usr/local/texlive/2012/bin/i386-linux \ + /usr/local/texlive/2012/texmf/doc/man +\end{sverbatim} + +E 2)~verificate la presenza di un file \filename{/etc/environment} che +potrebbe definire il percorso di ricerca ed altre variabili di ambiente +predefinite. + +In ciascuna directory contenente eseguibili (per Unix), noi creiamo anche +un collegamento simbolico chiamato \code{man} alla directory +\dirname{texmf/doc/man}. Alcuni programmi \code{man}, come quello di +\MacOSX, lo individueranno automaticamente, ovviando alla necessità di +qualunque configurazione per le pagine di manuale. + + +\subsubsection{Aggiornamenti da Internet dopo l'installazione del \DVD} +\label{sec:dvd-install-net-updates} + +Se avete installato \TL\ dal \DVD\ e successivamente volete ottenere gli +aggiornamenti da Internet, dovete eseguire questo comando---\emph{dopo} aver +aggiornato il vostro percorso di ricerca (come descritto nella sezione +precedente): + +\begin{alltt} +> \Ucom{tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet} +\end{alltt} + +Questo dice a \cmdname{tlmgr} di usare un mirror di \CTAN\ nelle vicinanze +per gli aggiornamenti futuri. È l'azione predefinita quando si installa dal +\DVD, tramite l'opzione descritta nella sezione~\ref{sec:options}. + +Se ci sono problemi con la selezione automatica di un mirror, potete +specificarne uno in particolare dall'elenco alla pagina +\url{http://ctan.org/mirrors}. Usate il percorso esatto alla sotto directory +\dirname{tlnet} su quel mirror, come mostrato in precedenza. + + +\htmlanchor{xetexfontconfig} % manteniamo il link storico funzionante +\htmlanchor{sysfontconfig} +\subsubsection{Configurazione dei font di sistema per \XeTeX\ e Lua\TeX} +\label{sec:font-conf-sys} + +\XeTeX\ e Lua\TeX\ possono usare qualsiasi font installato nel sistema, +non solo quelli nelle directory di \TeX. Fanno questo tramite metodi +correlati, ma non identici. + +Su Windows, i font distribuiti con \TL\ sono resi disponibili a \XeTeX\ +automaticamente. Ma se avete installato il pacchetto \filename{xetex} su +un sistema Unix, dovete configurare il vostro sistema in modo che sia +capace di trovare i font distribuiti con \TL\ tramite il meccanismo di +ricerca dei nomi di sistema e non semplicemente la ricerca di nomi di +file. + +Per facilitare il compito, quando il pacchetto \pkgname{xetex} è +installato (sia durante l'installazione iniziale che in seguito), viene +creato il file di configurazione necessario in +\filename{TEXMFSYSVAR/fonts/conf/texlive-fontconfig.conf}. + +Per impostare i font di \TL{} per l'uso nell'intero sistema (assumendo che +abbiate gli opportuni privilegi), procedete come segue: +\begin{enumerate*} +\item Copiate il file \filename{texlive-fontconfig.conf} in + \dirname{/etc/fonts/conf.d/09-texlive.conf}. + +\item Eseguite \Ucom{fc-cache -fsv}. +\end{enumerate*} + +Se non avete privilegi sufficienti per completare i passi precedenti, +p se volete semplicemente rendere disponibili i font di \TL{} ad un +solo utente, fate quello che segue: +\begin{enumerate*} +\item Copiate il file \filename{texlive-fontconfig.conf} in + \filename{~/.fonts.conf}, dove \filename{~} è la vostra directory di + home. + +\item Eseguite \Ucom{fc-cache -fv}. +\end{enumerate*} + +Potete eseguire \code{fc-list} per vedere i nomi dei font di sistema. +L'incantesimo \code{fc-list : family style file spacing} (dove tutti gli +argomenti sono esattamente come mostrati) generalmente fornisce delle +informazioni interessanti. + + +\subsubsection{\ConTeXt{} Mark IV} +\label{sec:context-mkiv} + +Sia il ``vecchio'' \ConTeXt{} (Mark \acro{II}) che il ``nuovo'' \ConTeXt{} +(Mark \acro{IV}) dovrebbero funzionare così come sono dopo l'installazione +di \TL{} e non dovrebbero richiedere alcuna attenzione particolare finché +restate fedeli a \verb+tlmgr+ per gli aggiornamenti. + +Comunque, dato che \ConTeXt{} Mk\acro{IV} non usa la libreria kpathsea, +sarà richiesta un po' di configurazione ogni qual volta installate nuovi +file manualmente (senza usare \verb+tlmgr+). Dopo ogni installazione del +genere, ogni utente di Mk\acro{IV} deve eseguire: +\begin{sverbatim} +context --generate +\end{sverbatim} +per aggiornare i dati della cache di \ConTeXt{} sul disco. +I file risultanti sono memorizzati dentro \code{TEXMFCACHE} il cui valore +predefinito in \TL\ è \verb+TEXMFSYSVAR;TEXMFVAR+. + +\ConTeXt\ Mk\acro{IV} leggerà da tutti i percorsi menzionati in +\verb+TEXMFCACHE+ e scriverà nel primo percorso che sia scrivibile. Durante +la lettura, in caso di dati di cache duplicati avrà la precedenza l'ultima +corrispondenza trovata. + +Per ulteriori informazioni, consultate le pagine +\url{http://wiki.contextgarden.net/Running_Mark_IV}. + + +\subsubsection{Integrare macro locali e personali} +\label{sec:local-personal-macros} + +Questa questione è già stata citata implicitamente nella +sezione~\ref{sec:texmftrees}: +\dirname{TEXMFLOCAL} (\dirname{/usr/local/texlive/texmf-local} o +\verb|%SystemDrive%\texlive\texmf-local| su Windows, di default) è pensato +per i font e le macro locali, ma disponibili per l'intero sistema; mentre +\dirname{TEXMFHOME} (\dirname{$HOME/texmf} o \verb|%USERPROFILE%\texmf|, +come predefiniti) è per le macro e i font personali.%stopzone +Queste directory sono pensare per rimanere fisse da un'edizione all'altra +e il loro contenuto è visto automaticamente da una nuova versione di \TL. +Quindi, è meglio trattenersi dal modificare la definizione di +\dirname{TEXMFLOCAL} in modo che punti ad una directory troppo diversa da +quella principale di \TL, oppure potreste doverla modificare manualmente +nelle future edizioni. + +In entrambe le posizioni, i file dovrebbero essere posti ognuno nella +propria sotto directory secondo la Struttura delle Directory di \TeX\ +(\TDS); visitate \url{http://tug.org/tds} o consultate +\filename{texmf/web2c/texmf.cnf}. Ad esempio, il file di una +classe o di un pacchetto \LaTeX{} andrebbero posizionati in +\dirname{TEXMFLOCAL/tex/latex} o in \dirname{TEXMFHOME/tex/latex}, oppure +in una sotto directory di una delle due. + +\dirname{TEXMFLOCAL} richiede un database dei nomi dei file aggiornato, +altrimenti i file non saranno trovati. Potete aggiornarlo con il comando +\cmdname{mktexlsr} o utilizzando il pulsante ``Aggiorna il database dei +nomi dei file'' nel pannello di configurazione della \GUI\ di \TeX\ Live +Manager. + +Di default, ciascuna di queste variabili è definita come una directory +singola, come mostrato. Questo non è un requisito rigido. Se dovete passare +facilmente tra diverse versioni di grandi pacchetti, ad esempio, potete +mantenere directory multiple per i vostri scopi. Questo è ottenuto +impostando \dirname{TEXMFHOME} alla lista delle directory, tra parentesi +graffe, separate da virgole: + +\begin{verbatim} + TEXMFHOME = {/mia/dir1,/miadir2,/una/terza/dir} +\end{verbatim} + +La sezione~\ref{sec:brace-expansion} descrive ulteriormente l'espansione +delle graffe. + + +\subsubsection{Integrare font di terze parti} + +Sfortunatamente, si tratta di un argomento ingarbugliato. Dimenticatevene +a meno che non vogliate addentrarvi nei numerosi dettagli +dell'installazione di \TeX{}. Non dimenticate per prima cosa di +controllare quello che ricevete liberamente: consultate la +sezione~\ref{sec:tl-fonts}. + +Una possibile alternativa è quella di usare \XeTeX\ o Lua\TeX\ (consultate +la sezione~\ref{sec:tex-extensions}), che vi consentono di usare i font +del sistema operativo senza alcuna installazione in \TeX. + +Se avete comunque bisogno di farlo, visitate la pagina +\url{http://tug.org/fonts/fontinstall.html} dove abbiamo fatto del nostro +meglio nel descrivere la procedura. Se mantenete le vostre mappe di font +locali in modo rigoroso, \texttt{tlmgr generate updmap} \textit{potrebbe} +essere utile, soprattutto nel muoversi tra una versione e l'altra; +consultate la documentazione di \cmdname{tlmgr}. + + +\subsection{Collaudare l'installazione} +\label{sec:test-install} + +Dopo aver installato \TL{} nel modo migliore, naturalmente vorrete +collaudarla, così da poter iniziare a creare bellissimi documenti e\slash +o font. + +Questa sezione fornisce alcune procedure elementari per verificare che il +nuovo sistema funzioni. Qui daremo i comandi per Unix; è più facile che +sotto \MacOSX e Windows eseguiate le prove tramite un'interfaccia grafica, +ma i principi sono gli stessi. + +\begin{enumerate} + +\item Assicuratevi per prima cosa di poter eseguire il programma +\cmdname{tex}: +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.1415926 (TeX Live ...) +kpathsea version 6.0.1 +Copyright ... D.E. Knuth. +... +\end{alltt} +Se questo restituisce ``comando non trovato'' al posto delle informazioni +sulla versione e sul copyright, oppure una versione più vecchia, +verosimilmente non avete la giusta directory \dirname{bin} nel vostro +\envname{PATH}. Consultate le informazioni sull'impostazione delle +variabili d'ambiente a \p.\pageref{sec:env}. + +\item Elaborate un file \LaTeX{} elementare: +\begin{alltt} +> \Ucom{latex sample2e.tex} +pdfTeX 3.1415926-... (TeX Live ...) +... +Output written on sample2e.dvi (3 pages, 7484 bytes). +Transcript written on sample2e.log. +\end{alltt} +Se questo non riesce a trovare \filename{sample2e.tex} o altri file, +verosimilmente avete qualche interferenza proveniente da vecchie variabili +d'ambiente o vecchi file di configurazione; noi raccomandiamo, tanto per +iniziare, di eliminare tutte le variabili d'ambiente relative a \TeX\ (per +un'analisi approfondita, potete chiedere a \TeX{} di fare un resoconto su +ciò che esattamente stia cercando e che trovi; consultate ``Risoluzione +dei problemi'' a pagina~\pageref{sec:debugging}). + +\item Mostrate un'anteprima del risultato: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} # Unix +> \Ucom{dviout sample2e.dvi} # Windows +\end{alltt} +Dovreste vedere una nuova finestra con un bel documento che spiega alcuni +dei fondamenti di \LaTeX{} (ad ogni modo, vale la pena leggerlo se siete +nuovi a \TeX). Dovete avere X in esecuzione affinché \cmdname{xdvi} +funzioni; se non è così, oppure se la vostra variabile d'ambiente +\envname{DISPLAY} è impostata non correttamente, otterrete un errore +\samp{Can't open display}. + +\item Create un file \PS{} per la stampa o la visualizzazione: +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item Create un file \acro{PDF} al posto di un \dvi{}; questo comando +elabora il file \filename{.tex} e scrive direttamente un \acro{PDF}: +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item Mostrate un'anteprima del \acro{PDF}: +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{o:} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} +Né \cmdname{gv}, né \cmdname{xpdf} sono inclusi in \TL{}, quindi dovete +installarli separatamente. Visitate \url{http://www.gnu.org/software/gv} e +\url{http://www.foolabs.com/xpdf}, rispettivamente. Ci sono tantissimi +altri visualizzatori \acro{PDF}. Per Windows, noi raccomandiamo di provare +Sumatra PDF (\url{http://blog.kowalczyk.info/software/sumatrapdf}). + +\item Potreste trovare utili, in aggiunta a \filename{sample2e.tex}, i +seguenti file di prova predefiniti: + +\begin{ttdescription} +\item [small2e.tex] Un documento più semplice di \filename{sample2e}, per +ridurre la dimensione dell'input qualora si riscontrino problemi. +\item [testpage.tex] Verifica se la vostra stampante introduce qualche +margine. +\item [nfssfont.tex] Per stampare tabelle e prove riguardanti i font. +\item [testfont.tex] Anche questo per le tabelle dei font, ma usando plain +\TeX{}. +\item [story.tex] Il più canonico tra tutti file di prova per (plain) \TeX{}. +Dovete digitare \samp{\bs bye} al prompt \code{*} dopo \samp{tex story.tex}. +\end{ttdescription} + +\item Se avete installato il pacchetto \filename{xetex}, potete verificare che +riesca ad accedere ai font di sistema in questo modo: +\begin{alltt} +> \Ucom{xetex opentype-info.tex} +This is XeTeX, Version 3.1415926\dots +... +Output written on opentype-info.pdf (1 page). +Transcript written on opentype-info.log. +\end{alltt} +(vale lo stesso per \filename{luatex}.) + +Se ricevete un messaggio di errore che riporta ``Invalid fontname `Latin +Modern Roman/ICU\dots'', allora dovete configurare il vostro sistema in +modo che \XeTeX{} possa trovare i font distribuiti con \TL. Consultate la +sezione~\ref{sec:font-conf-sys}. + +\end{enumerate} + +\subsection{Collegamenti ad ulteriori software scaricabili} + +Se siete nuovi di \TeX{} oppure in alternativa avete bisogno di aiuto +nella scrittura di documenti \TeX{} o \LaTeX, visitate la pagina +\url{http://tug.org/begin.html} per alcune risorse introduttive. + +Ecco i collegamenti ad alcuni altri strumenti che potete prendere in +considerazione per l'installazione: +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.perl.org/} con i pacchetti supplementari da + \acro{CPAN}, \url{http://www.cpan.org/} +\item[ImageMagick] \url{http://www.imagemagick.com}, per l'elaborazione e + la conversione di immagini +\item[NetPBM] \url{http://netpbm.sourceforge.net/}, anch'esso per le + immagini. + +\item[Editor orientati a \TeX] C'è un'ampia scelta ed è una questione di + gusto dell'utente. Eccone una selezione in ordine alfabetico (alcuni + sono solo per Windows). + \begin{itemize*} + \item \cmdname{GNU Emacs} è disponibile per Windows, visita + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html}. + \item \cmdname{Emacs con Auc\TeX} per Windows è disponibile su \CTAN. La + home page di Auc\TeX\ è \url{http://www.gnu.org/software/auctex}. + \item \cmdname{LEd} è disponibile su + \url{http://mirror.ctan.org/support/LEd}. \item \cmdname{SciTE} è + disponibile su \url{http://www.scintilla.org/SciTE.html}. + \item \cmdname{Texmaker} è un software libero disponibile su + \url{http://www.xmlmath.net/texmaker/}. + \item \cmdname{TexMakerX} è un fork di \cmdname{Texmaker} con funzionalità + aggiuntive; \url{http://texmakerx.sourceforge.net}. + \item \cmdname{TeXnicCenter} è un software libero, disponibile su + \url{http://www.texniccenter.org} e nella distribuzione + pro\TeX{}t. + \item \cmdname{TeXworks} è un software libero disponibile su + \url{http://tug.org/texworks} e installato per Windows e \MacOSX\ + come parte di \TL. + \item \cmdname{Vim} è un software libero disponibile su + \url{http://www.vim.org}. + \item \cmdname{WinEdt} è un software shareware disponibile su + \url{http://tug.org/winedt} o \url{http://www.winedt.com}. + \item \cmdname{WinShell} è disponibile su \url{http://www.winshell.de}. + \end{itemize*} +\end{description} +Per un elenco molto più lungo di pacchetti e programmi, visitate +\url{http://tug.org/interest.html}. + + +\section{Installazione specializzate} + +Le sezioni precedenti hanno descritto il processo di installazione di base. +Qui ci rivolgiamo ad alcuni casi speciali. + +\htmlanchor{tlsharedinstall} +\subsection{Installazioni condivise tra utenti o macchine} +\label{sec:sharedinstall} + +\TL{} è stato progettato per essere condivisibile tra diversi utenti di un +solo sistema, ma anche tra sistemi differenti in una rete. Con +l'organizzazione predefinita delle directory, nessun percorso assoluto +viene configurato: le posizioni dei file necessari ai programmi di \TL{} +sono relative ai programmi stessi. Potete vedere questo nel file di +configurazione principale \filename{$TEXMFMAIN/web2c/texmf.cnf}, che +contiene linee come:%stopzone +\begin{sverbatim} +TEXMFMAIN = $SELFAUTOPARENT/texmf +... +TEXMFLOCAL = $SELFAUTOPARENT/../texmf-local +\end{sverbatim} +Questo significa che aggiungere la directory degli eseguibili di \TL{} +appropriati alla propria piattaforma al percorso di ricerca è sufficiente +per ottenere una configurazione funzionante. + +Per la stessa ragione, potete anche installare \TL{} localmente e +successivamente muovere l'intera struttura verso una locazione di rete. + +Per Windows, uno script di installazione di rete esemplificativo chiamato +\filename{w32client} può essere scaricato da +\url{http://tug.org/texlive/w32client.html}. Questo script crea le +impostazioni e i collegamenti nei menu per usare una installazione di +\TL{} esistente su una \acro{LAN}. Registra anche un disinstallatore +\filename{w32unclient}, disponibile nello stesso file zip. Visitate la +pagina web indicata per maggiori informazioni. + + +\htmlanchor{tlportable} +\section{Installazioni portatili (\USB)} +\label{sec:portable-tl} + +L'opzione \code{-portable} dell'installazione (o il comando \code{V} +nell'installatore testuale o la corrispondente opzione della \GUI) crea +un'installazione di \TL{} contenuta completamente in sé stessa all'interno +di una radice comune e rinuncia all'integrazione con il sistema. Potete +creare una tale installazione direttamente su una penna \USB{} o copiarla su +una penna \USB{} successivamente. + +Per eseguire \TeX\ usando l'installazione portatile, avete bisogno di +aggiungere la directory degli eseguibili appropriata al percorso di ricerca +durante la sessione di terminale, come al solito. Sotto Windows, potete fare +doppio click su \filename{tl-tray-menu} alla radice dell'installazione per +scegliere tra alcuni compiti comuni, come mostrati in questa schermata: + +\medskip +\tlpng{tray-menu}{4cm} +\smallskip + + +\htmlanchor{tlisoinstall} +\subsection{Installazioni degli \ISO\ (o del \DVD)} +\label{sec:isoinstall} + +Se non avete bisogno di aggiornare o in qualunque altro modo modificare +spesso la vostra installazione e\slash o avete diversi sistemi sui quali +usare \TL, potrebbe essere conveniente creare un'\ISO\ della vostra +installazione di \TL{} perché: + +\begin{itemize} +\item Copiare una \ISO\ tra diversi computer è molto più rapido che copiare + un'installazione normale. +\item Se avete due sistemi operativi sulla stessa macchina e volete che + condividano un'installazione di \TL, un'installazione \ISO\ non è + vincolata alle idiosincrasie e alle limitazioni di altri filesystem + reciprocamente supportati (\acro{FAT32}, \acro{NTFS}, \acro{HFS+}). +\item Le macchine virtuali possono semplicemente montare tale \ISO. +\end{itemize} + +Ovviamente potete anche masterizzare un'\ISO\ su un \DVD, se lo ritenete +utile per voi. + +I sistemi desktop \GNU/Linux/Unix, incluso \MacOSX, sono capaci di montare +una \ISO. Al di là di questo, non cambia nulla confrontato con una normale +installazione su hard disk, consulate la sezione \ref{sec:env}. + +Quando preparate tale installazione su \ISO, è meglio omettere la +sottodirectory per l'anno dell'edizione e avere \filename{texmf-local} allo +stesso livello degli altri alberi (\filename{texmf}, \filename{texmf-dist}, +ecc.). Potete fare ciò con le normali opzioni per le directory +nell'installatore. + +Per un sistema Windows fisico (piuttosto che virtuale), potete masterizzare +la \ISO\ su un \acro{DVD}. Comunque, potrebbe valere la pena investigare le +varie opzioni gratuite per il montaggio delle \ISO. Per Windows \acro{XP}, +Microsoft offre \filename{winxpvirtualcdcontrolpanel}. + +Per l'integrazione con il sistema Windows, potete includere gli script +\filename{w32client} descritti nella sezione~\ref{sec:sharedinstall} e su +\url{http://tug.org/texlive/w32client.html}, che funzionano per +un'installazione \ISO\ così come per una condivisa. + +Su \MacOSX, TeXShop e \TeX{}works saranno capaci di usare l'installazione su +\acro{DVD} se un collegamento simbolico \filename{/usr/texbin} punta alla +directory degli eseguibili appropriata, per esempio, +\begin{verbatim} +sudo ln -s /Volumes/MyTeXLive/bin/universal-darwin /usr/texbin +\end{verbatim} + +Nota storica: \TL{} 2010 è stata la prima edizione di \TL{} che non è stata +più distribuita ``live''. Comunque, richiedeva sempre alcune acrobazie per +funzionare da \DVD\ o da \ISO; in particolare, non c'era alcun modo di +evitare di impostare almeno un'ulteriore variabile d'ambiente. Se create la +vostra \ISO\ da un'installazione esistente, allora non c'è bisogno di +questo. + + +\htmlanchor{tlmgr} +\section{\cmdname{tlmgr}: gestire la vostra installazione} +\label{sec:tlmgr} + +\begin{figure}[tb] +\tlpng{tlmgr-gui}{\linewidth} +\caption{\prog{tlmgr} in modalità \GUI: la finestra principale dopo aver + premuto il pulsante ``Carica''.}\label{fig:tlmgr-gui} +\end{figure} + +\begin{figure}[tb] +\hbox to \hsize{% + \vtop{\hsize=.59\linewidth + \null % make figures align at the top + \tlpng{tlmgr-general-options}{\hsize} + \caption{\texttt{tlmgr} in modalità \GUI: opzioni generali} + \label{fig:tlmgr-general-options} + } + \hfil + \vtop{\hsize=.39\linewidth + \null + \tlpng{tlmgr-paper-options}{\hsize} + \caption{\texttt{tlmgr} in modalità \GUI: opzioni della dimensione del + foglio} + \label{fig:tlmgr-paper-options} + } +} +\end{figure} + +\TL{} include un programma chiamato \prog{tlmgr} per gestire \TL{} dopo +l'installazione iniziale. I programmi \prog{updmap}, \prog{fmtutil} e +\prog{texconfig} sono ancora inclusi e saranno mantenuti nel futuro, ma +\prog{tlmgr} è ora l'interfaccia preferita. Le sue funzionalità includono: + +\begin{itemize*} +\item installare, aggiornare, archiviare, ripristinare e disinstallare i + singoli pacchetti, eventualmente tenendo conto delle dipendenze; +\item cercare ed elencare pacchetti, ecc.; +\item elencare, aggiungere e rimuovere le piattaforme disponibili; +\item cambiare le opzioni di installazione come la dimensione del foglio e + il percorso di installazione (consultate la sezione~\ref{sec:location}). +\end{itemize*} + +\subsection{Modalità GUI di \cmdname{tlmgr}} +\prog{tlmgr} può essere avviato in modalità \GUI{} +(figura~\ref{fig:tlmgr-gui} con +\begin{alltt} +> \Ucom{tlmgr -gui} +\end{alltt} +oppure sotto Windows tramite il menu Start: \texttt{Start}, +\texttt{Programmi}, \texttt{TeX Live 2012}, \texttt{TeX Live Manager}. +Dopo aver premuto il pulsante ``Carica'' il programma mostra un elenco dei +pacchetti disponibili ed installati. Ovviamente assumiamo che il percorso +di installazione attuale sia valido e raggiungibile. + +Le figure~\ref{fig:tlmgr-general-options} e~\ref{fig:tlmgr-paper-options} +mostrano le schermate con le opzioni generali e il formato di pagina. + +\subsection{Esempi di invocazioni di \cmdname{tlmgr} dalla riga di comando} + +Dopo l'installazione iniziale, potete aggiornare il vostro sistema alle +ultime versioni disponibili con: +\begin{alltt} +> \Ucom{tlmgr update -all} +\end{alltt} +Se questo vi rende nervosi, provate prima +%If this makes you nervous, first try +\begin{alltt} +> \Ucom{tlmgr update -all -dry-run} +\end{alltt} +o (meno prolisso): +%or (less verbose): +\begin{alltt} +> \Ucom{tlmgr update -list} +\end{alltt} + +Questo esempio più complesso aggiunge una collezione, per il motore +Xe\TeX, da una directory locale: + +\begin{alltt} +> \Ucom{tlmgr -repository /local/mirror/tlnet install collection-xetex} +\end{alltt} +Genera il seguente risultato (ridotto): +\begin{fverbatim} +install: collection-xetex +install: arabxetex +... +install: xetex +install: xetexconfig +install: xetex.i386-linux +running post install action for xetex +install: xetex-def +... +running mktexlsr +mktexlsr: Updating /usr/local/texlive/2012/texmf/ls-R... +... +running fmtutil-sys --missing +... +Transcript written on xelatex.log. +fmtutil: /usr/local/texlive/2011/texmf-var/web2c/xetex/xelatex.fmt installed. +\end{fverbatim} + +Come potete vedere, \prog{tlmgr} installa le dipendenze e si occupa di ogni +azione necessaria dopo l'installazione, incluso l'aggiornamento del +database dei nomi dei file e la generazione (o rigenerazione) dei formati. +Nell'esempio precedente, abbiamo generato nuovi formati per \XeTeX. + +Per ottenere la descrizione di un pacchetto (o di una collezione o di uno +schema): +\begin{alltt} +> \Ucom{tlmgr show collection-latexextra} +\end{alltt} +che produce +\begin{fverbatim} +package: collection-latexextra +category: Collection +shortdesc: LaTeX supplementary packages +longdesc: A large collection of add-on packages for LaTeX. +installed: Yes +revision: 14675 +\end{fverbatim} + +Infine, cosa più importante, per ottenere la documentazione completa, +visitate \url{http://tug.org/texlive/tlmgr.html} oppure eseguite: +\begin{alltt} +> \Ucom{tlmgr -help} +\end{alltt} + + +\section{Note relative a Windows} +\label{sec:windows} + + +\subsection{Funzionalità specifiche per Windows} +\label{sec:winfeatures} + +Sotto Windows, l'installatore fa alcune cose in più: +\begin{description} +\item[Menu e collegamenti.] Viene creato nel menu Start un nuovo sotto + menu ``\TL'' che contiene le voci per alcuni programmi grafici + (\prog{tlmgr}, \prog{texdoctk}, il visualizzatore PostScript PS\_View + \Dash\ \prog{psv}) e per un po' di documentazione. PS\_View riceve anche + un collegamento sul desktop per avere un'icona sulla quale trascinare i + file PostScript per l'apertura diretta. +\item[Associazioni dei file.] Se abilitati, \prog{TeXworks}, \prog{Dviout} e + \prog{PS\_view} diventano ciascuno il programma predefinito per i loro + rispettivi tipi di file, oppure ottengono una voce nei menu contestuali + ``Apri con'' per quei tipi di file. +\item[Convertitore da bitmap ad eps.] I vari formati bitmap ricevono una + voce \cmdname{bitmap2eps} nei loro menu contestuali ``Apri con''. + Bitmap2eps è un semplice script che permette a \cmdname{sam2p} o + \cmdname{bmeps} di compiere il vero lavoro. +\item[Impostazione automatica delle variabili di ambiente.] Non sono + richiesti passi manuali. +\item[Disinstallatore.] Il programma di installazione crea una voce per + \TL\ in ``Installazione Applicazioni''. La pagina di disinstallazione + della \GUI\ \TeX\ Live Manager fa riferimento a questo. +\end{description} + +\subsection{Software aggiuntivo incluso sotto Windows} + +Per essere completa, un'installazione di \TL\ ha bisogno di alcuni +pacchetti di supporto che non si trovano abitualmente su una macchina +Windows. \TL{} fornisce questi pezzi mancanti: +\begin{description} +\item[Perl e Ghostscript.] A causa dell'importanza di Perl e Ghostscript, + \TL{} include una copia ``nascosta'' di questi programmi. I programmi di + \TL{} che ne hanno bisogno sanno dove trovarli, ma non ne tradiscono la + presenza tramite variabili d'ambiente o impostazioni sul registro di + sistema. Non si tratta di installazioni complete e non dovrebbero + interferire con installazioni nel sistema di Perl o Ghostscript. + +\item[PS\_View.] Viene installato anche PS\_View, un visualizzatore di + file \PS{} e \acro{PDF}; osservate la figura~\ref{fig:psview}. + +\begin{figure}[tb] +\tlpng{psview}{.6\linewidth} +\caption{PS\_View: ingrandimenti elevatissimi disponibili!} +\label{fig:psview} +\end{figure} + +\item[dviout.] Viene installato anche \prog{dviout}, un visualizzatore di + \acro{DVI}. All'inizio, quando visualizzate i file con \cmdname{dviout}, + questo creerà i font in quanto quelli per la visione su schermo non sono + isntallati. Dopo un po', avrete creato la maggior parte dei font che + usate e raramente vedrete la finestra di creazione dei font. Maggiori + informazioni possono essere trovate nell'aiuto del programma (altamente + raccomandato). + +\item[\TeX{}works.] \TeX{}works è un editor orientato a \TeX\ con un + visualizzatore per \acro{PDF} incorporato. + +\item[Strumenti a riga di comando.] Assieme ai soliti programmi di \TL{} + vengono installate alcune versioni per Windows di tipici programmi Unix + a riga di comando. Questi programmi includono \cmdname{gzip}, + \cmdname{unzip} e gli strumenti della suite \cmdname{xpdf} + (\cmdname{pdfinfo}, \cmdname{pdffonts}, \ldots). Il visualizzatore + \cmdname{xpdf} non è disponibile per Windows. Come alternativa, tra le + altre, potete scaricare Sumatra \acro{PDF}, che è basato su xpdf, da + \url{http://blog.kowalczyk.info/software/sumatrapdf}. + +\item[fc-list, fc-cache, \ldots] Gli strumenti dalla libreria fontconfig + consentono a \XeTeX{} di gestire i font di sistema sotto Windows. Potete + usare \prog{fc-list} per trovare i nomi dei font da passare al comando + esteso di \XeTeX\ \cs{font}. Se è necessario, eseguite prima + \prog{fc-cache} per aggiornare le informazioni sui font. + +\end{description} + + +\subsection{Il profilo utente è ``home''} +\label{sec:winhome} + +La controparte Windows di una directory di home di Unix è la directory +\verb|%USERPROFILE%|. Sotto Windows \acro{XP}, di solito +è \verb|C:\Documents and Settings\<nomeutente>| e sotto Windows Vista e +Windows~7 è \verb|C:\Users\<nomeutente>|. Nel file \filename{texmf.cnf} e in +generale in \KPS{}, \verb|~| verrà interpretato in modo appropriato sia +sotto Windows che sotto Unix. + + +\subsection{Il registro di configurazione di Windows} +\label{sec:registry} + +Windows memorizza quasi tutti i dati di configurazione nel suo registro. +Il registro contiene un insieme di chiavi organizzate gerarchicamente, +con varie gerarchie. Le più importanti per i programmi di installazione +sono \path{HKEY_CURRENT_USER} e \path{HKEY_LOCAL_MACHINE}, abbreviate in +\path{HKCU} e \path{HKLM}. La porzione \path{HKCU} del registro si trova +nella directory di home dell'utente (vedi sezione~\ref{sec:winhome}). +\path{HKLM} si trova di solito in una sotto directory della cartella +Windows. + +In alcuni casi, le informazioni di sistema possono essere ottenute dalle +variabili d'ambiente, ma per altre informazioni, come la posizione dei +collegamenti, è necessario consultare il registro. Impostare +permanentemente le variabili d'ambiente richiede ugualmente l'accesso al +registro. + + +\subsection{Permessi di Windows} +\label{sec:winpermissions} + +Nelle ultime versioni di Windows si fa distinzione tra utenti normali ed +amministratori e solo questi ultimi hanno libero accesso all'intero +sistema operativo. In pratica, però, si potrebbero meglio descrivere +queste classi come ``utenti senza privilegi'' e ``utenti normali'': essere +un amministratore è la regola, non l'eccezione. Ciononostante, ci siamo +sforzati di rendere \TL{} installabile senza i privilegi amministrativi. + +Se l'utente è un amministratore, c'è un'opzione per rendere +l'installazione disponibile a tutti gli utenti. Se questa opzione è +selezionata, i collegamenti sono creati per tutti gli utenti e l'ambiente +di sistema è modificato. In alternativa, i collegamenti e le voci nel menu +sono creati solo per l'utente corrente e viene modificato l'ambiente +dell'utente. + +Indipendentemente dallo stato di amministratore, la cartella predefinita +di \TL{} proposta dal programma di installazione si trova sempre sotto +\verb|%SystemDrive%|. L'installatore verifica sempre se l'utente corrente +ha i permessi di scrittura in tale cartella. + +Possono sorgere dei problemi se l'utente non è un amministratore e \TeX{} +già esiste nel percorso di ricerca. Dato che nel percorso di ricerca +vengono prima le impostazioni di sistema e poi quelle dell'utente, la +nuova \TL{} non avrebbe mai la precedenza. Come precauzione, il programma +di installazione crea un collegamento ad un prompt dei comandi in cui la +nuova directory degli eseguibili di \TL{} è anteposta al percorso di +ricerca locale. La nuova \TL{} sarà sempre accessibile usando questo +prompt. Anche il collegamento a \TeX{}works, se è installato, antepone +\TL{} al percorso di ricerca, quindi dovrebbe essere immune a questo +problema. + +Sotto Vista e Windows~7 c'è un ulteriore colpo di scena: anche se avete +eseguito l'accesso come amministratori, dovete chiedere esplicitamente i +privilegi di amministrazione. In pratica, non serve a molto entrare come +amministratore. Invece, facendo clic con il tasto destro sul programma o +sul collegamento che volete eseguire, solitamente appare la voce ``Esegui +come amministratore''. + +\subsection{Incrementare la memoria massima sotto Windows e Cygwin} +\label{sec:cygwin-maxmem} + +Gli utenti di Windows e Cygwin (consulta la sezione~\ref{sec:cygwin} per i +dettagli sull'installazione con Cygwin) possono ritrovarsi con la memoria +esaurita durante l'esecuzione di alcuni dei programmi forniti con \TL. Ad +esempio, \prog{asy} potrebbe esaurire la memoria se tentate di allocare un +array di 20.000.000 di reali e Lua\TeX\ potrebbe esaurirla se tentate di +elaborare un documento con un gran numero di font grandi. + +Per Cygwin, potete incrementare la quantità di memoria disponibile seguendo +le istruzioni nella Guida dell'Utente di Cygwin +(\url{http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html}). + +Per Windows, dovete creare un file, ad esempio \code{moremem.reg}, con le +seguenti quattro righe: + +\begin{sverbatim} +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\Software\Cygwin] +"heap_chunk_in_mb"=dword:ffffff00 +\end{sverbatim} + +\noindent ed eseguire il comando \code{regedit /s moremem.reg} come +amministratore (se volete cambiare la memoria unicamente per l'utente +corrente invece che per l'intero sistema, usate \code{HKEY\_CURRENT\_USER}). + + +\section{Una guida a Web2C} + +\Webc{} è una collezione integrata di programmi legati a \TeX: \TeX{} +stesso, \MF{}, \MP, \BibTeX{}, ecc. È il cuore di \TL{}. Il sito web di +\Webc{}, con il manuale corrente e molto altro, è +\url{http://tug.org/web2c}. + +Ecco un po' di storia: l'implementazione originale fu realizzata da Tomas +Rokicki il quale, nel 1987, sviluppò un primo sistema \TeX{}-to-C +cambiando dei file sotto Unix, che erano principalmente un lavoro +originale di Howard Trickey e Pavel Curtis. Tim Morgan divenne il +manutentore del sistema e durante questo periodo il nome cambiò in +Web-to-C\@. Nel 1990, Karl Berry prese in mano il lavoro, con il +contributo di molte persone, e nel 1997 passò il testimone a Olaf Weber, +il quale lo restituì a Karl nel 2006. + +Il sistema \Webc{} gira sotto Unix, sotto i sistemi Windows a 32 bit, +sotto MacOSX{} e sotto altri sistemi operativi. Usa i sorgenti originali +di Knuth per \TeX{} e per altri programmi scritti nel sistema di +programmazione letterata \web{} e li traduce in codice C. I programmi +basilari di \TeX{} gestiti in questo modo sono: + +\begin{cmddescription} +\item[bibtex] Per mantenere le bibliografie. +\item[dvicopy] Espande i riferimenti ai font virtuali nei file \dvi{}. +\item[dvitomp] Converte da \dvi{} a MPX (MetaPost picture). +\item[dvitype] Converte i \dvi{} in testo leggibile +\item[gftodvi] Provini dei font generici. +\item[gftopk] Converte da font generici ad impacchettati. +\item[gftype] Converte i font generici in testo leggibile. +\item[mf] Crea famiglie di caratteri tipografici. +\item[mft] Formatta i sorgenti \MF{}. +\item[mpost] Crea diagrammi tecnici. +\item[patgen] Crea modelli di sillabazione. +\item[pktogf] Converte da font impacchettati a generici. +\item[pktype] Converte i font impacchettati in testo leggibile. +\item[pltotf] Converte le liste di proprietà da testo leggibile in TFM. +\item[pooltype] Mostra i file delle riserve di \web{}. +\item[tangle] Converte da \web{} al Pascal. +\item[tex] Compone tipograficamente i documenti. +\item[tftopl] Converte le liste di proprietà da TFM in testo leggibile +\item[vftovp] Converte da font virtuali a liste di proprietà virtuali. +\item[vptovf] Converte da liste di proprietà virtuali a font virtuali. +\item[weave] Converte da \web{} a \TeX. +\end{cmddescription} + +\noindent Le esatte funzioni e la sintassi di questi programmi sono +descritte nella documentazione dei singoli pacchetti e di \Webc{} stesso. +Tuttavia, conoscere alcuni principi che governano l'intera famiglia di +programmi vi aiuterà a trarre vantaggio dalla vostra installazione \Webc{}. + +Tutti i programmi rispettano queste opzioni \GNU{} standard: +\begin{ttdescription} +\item[-{}-help] stampa un semplice sommario d'uso. +\item[-{}-verbose] stampa un rapporto dettagliato sull'avanzamento. +\item[-{}-version] stampa le informazioni sulla versione, quindi esce. +\end{ttdescription} + +Per individuare i file, i programmi \Webc{} usano la libreria di ricerca +dei percorsi \KPS{} (\url{http://tug.org/kpathsea}). Questa libreria usa +una combinazione di variabili d'ambiente e file di configurazione per +ottimizzare la ricerca nella (enorme) raccolta di file di \TeX{}. \Webc{} +può controllare simultaneamente molte directory, cosa utile per mantenere +la distribuzione standard \TeX{}, le estensioni locali e quelle personali +in directory distinte. Per velocizzare le ricerche dei file, alla radice +di ogni albero di directory c'è un file \file{ls-R} contenente una voce +con il nome ed il percorso relativo per ciascun file all'interno di +quell'albero. + + +\subsection{Ricerca dei percorsi con Kpathsea} +\label{sec:kpathsea} + +Per prima cosa descriviamo il generico meccanismo di ricerca dei percorsi +della libreria \KPS. + +Chiameremo \emph{percorso di ricerca} una lista separata da un due punti o +da un punto e virgola di \emph{elementi di percorso}, che sono +fondamentalmente nomi di directory. Un percorso di ricerca può provenire +da (una combinazione di) molte fonti. Per cercare un file \samp{my-file} +attraverso un percorso \samp{.:/dir}, \KPS{} controlla a turno ogni +elemento del percorso: prima \file{./my-file}, poi \file{/dir/my-file}, +restituendo la prima corrispondenza (o, eventualmente, tutte). + +Al fine di adattarsi al meglio alle convenzioni di tutti i sistemi +operativi, sui sistemi non Unix \KPS{} può usare separatori di nomi di +file diversi dai due punti (\samp{:}) e barra (slash, \samp{/}). + +Per controllare un particolare elemento \var{p} di un percorso, \KPS{} per +prima cosa verifica se può applicare a \var{p} un database precostruito +(consulta ``Database di file'' a pagina~\pageref{sec:filename-database}), +cioè se il database è in una directory che è prefisso di \var{p}. Se è +così, la specifica del percorso è confrontata con il contenuto del +database. + +Se il database non esiste o non si applica a questo elemento del percorso, +oppure se non contiene corrispondenze, viene eseguita una ricerca sul +disco (se non è stata proibita da una specifica che comincia con +\samp{!!}\ e se il file viene cercato per scoprire se esiste). \KPS{} +costruisce la lista di directory che corrispondono a questo elemento del +percorso e verifica all'interno di ciascuna di esse se può individuare il +file. + +La condizione ``il file deve esistere'' entra in gioco con i file +\samp{.vf} e i file letti tramite il comando \cs{openin} di \TeX. Questi +file potrebbero non esistere (ad esempio \file{cmr10.vf}) e dunque sarebbe +sbagliato cercarli sul disco. Quindi, se non siete riusciti ad aggiornare +correttamente il file \file{ls-R} quando avete installato un nuovo +\samp{.vf}, quest'ultimo non sarà mai trovato. A turno, viene controllato +ogni elemento del percorso: prima il database, poi il disco. Se viene +trovata una corrispondenza, la ricerca si interrompe e il risultato è +restituito. + +Per quanto il più semplice e comune elemento di un percorso sia il nome di +una directory, \KPS{} supporta caratteristiche aggiuntive nei percorsi di +ricerca: valori predefiniti stratificati, nomi di variabili +d'ambiente, valori di file di configurazione, directory personali degli +utenti e ricerca ricorsiva di sotto directory. Dunque, diciamo che \KPS{} +\emph{espande} un elemento di percorso, intendendo che trasforma tutte le +specifiche in semplici nomi di directory. Questa trasformazione è +descritta nelle seguenti sezioni nello stesso ordine in cui avviene. + +Notate che se il nome del file cercato è assoluto o esplicitamente relativo, +ossia se comincia con \samp{/}, \samp{./} o \samp{../}, \KPS{} controlla +semplicemente se quel file esiste. + +\ifSingleColumn +\else +\begin{figure*} +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{Un pezzo illustrativo di file di configurazione} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{Fonti dei percorsi} +\label{sec:path-sources} + +Un percorso di ricerca può provenire da molte fonti. Nell'ordine in cui +\KPS{} le usa: + +\begin{enumerate} +\item + Una variabile d'ambiente impostata dall'utente, per esempio + \envname{TEXINPUTS}\@. Le variabili d'ambiente a cui è stato aggiunto un + punto ed il nome di un programma hanno la precedenza; per esempio, se + \samp{latex} è il nome del programma in esecuzione, allora + \envname{TEXINPUTS.latex} avrà la precedenza su \envname{TEXINPUTS}. +\item + Il file di configurazione specifico per un programma, per esempio una + riga \samp{S /a:/b} nel file di configurazione \file{config.ps} di + \cmdname{dvips}. +\item + Un file di configurazione \file{texmf.cnf} di \KPS, contenente una riga + del tipo \samp{TEXINPUTS=/c:/d} (vedi più avanti). +\item Il valore predefinito alla compilazione del programma. +\end{enumerate} +\noindent Potete vedere ciascuno di questi valori per un dato percorso di +ricerca usando le opzioni di debug (consultate ``Risoluzione dei +problemi'' a pagina~\pageref{sec:debugging}). + +\subsubsection{File di configurazione} + +\KPS{} legge i percorsi di ricerca ed altre definizioni nei \emph{file di +configurazione a tempo di esecuzione} chiamati \file{texmf.cnf}. Il +percorso di ricerca usato per cercare questi file è chiamato +\envname{TEXMFCNF}, ma non raccomandiamo di impostare questa (o qualunque +altra) variabile d'ambiente. + +Invece, l'installazione normale dà luogo ad un file +\file{.../2012/texmf.cnf}. Se dovete apportare delle modifiche ai valori +predefiniti (di norma non è necessario), questo è il posto in cui +piazzarle. Il file di configurazione principale è +\file{.../2012/texmf/web2c/texmf.cnf}. Non dovreste modificare +quest'ultimo file, dato che le vostre modifiche andrebbero perdute quando +la versione distribuita viene aggiornata. + +\emph{Tutti} i file \file{texmf.cnf} nel percorso di ricerca saranno letti +e le definizioni in quelli che appaiono per primi sostituiranno quelle nei +file che appaiono per ultimi. Ad esempio, con un percorso di ricerca di +\verb|.:$TEXMF|, i valori provenienti da \file{./texmf.cnf} sostituiranno +quelli provenienti da \verb|$TEXMF/texmf.cnf|. + +\begin{itemize} +\item + I commenti iniziano con \code{\%} e continuano fino alla fine della + riga. +\item + Le righe vuote sono ignorate. +\item + Un \bs{} alla fine di una riga funziona come un carattere di + continuazione, cioè la linea successiva viene apposta. Gli spazi bianchi + all'inizio delle righe di continuazione non sono ignorati. +\item + Ogni riga rimanente ha la forma: +\begin{alltt} + \var{variabile}[.\var{nomeprogramma}] [=] \var{valore} +\end{alltt} + dove il carattere \samp{=} e gli spazi che lo circondano sono opzionali. +\item + Il nome \ttvar{variabile} può contenere un qualunque carattere diverso + dallo spazio, da \samp{=} e da \samp{.}, ma usare solo i caratteri + \samp{A-Za-z\_} è più sicuro. +\item + Se la parte \samp{.\var{nomeprogramma}} è presente, la definizione si + applica solo se il programma che è in esecuzione ha il nome + \texttt{\var{nomeprogramma}} oppure \texttt{\var{nomeprogramma}.exe}. + Questo consente, ad esempio, alle diverse varianti di \TeX{} di avere + diversi percorsi di ricerca. +\item \var{valore} può contentere qualunque carattere tranne che \code{\%} + e \samp{@}. La caratteristica \code{\$\var{variabile}.\var{programma}} + non è disponibile come valore valido; in alternativa, dovete usare una + variabile aggiuntiva. Un \samp{;}\ in \var{valore} è tradotto + automaticamente in \samp{:}\ se state usando Unix; questa caratteristica + è utile per avere un singlo \file{texmf.cnf} per Unix, \acro{MS-DOS} e + Windows. +\item + Tutte le definizioni vengono lette prima che qualunque cosa sia espanza, + quindi si può fare riferimento alle variabili prima che siano definite. +\end{itemize} +Un frammento di file di configurazione che mostra la maggior parte di +questi punti è +\ifSingleColumn +mostrato sotto: + +\verbatiminput{examples/ex5.tex} +\else +mostrato nella figura~\ref{fig:config-sample}. +\fi + +\subsubsection{Espansione dei percorsi} +\label{sec:path-expansion} + +\KPS{} riconosce nei percorsi di ricerca alcuni caratteri e costrutti +speciali, simili a quelli disponibili nelle shell di Unix. Come esempio +generale, il complesso percorso \verb+~$USER/{foo,bar}//baz+ viene espanso +in tutte le directory sotto \file{foo} e \file{bar} nella home dell'utente +\texttt{\$USER}, che contengono a loro volta una directory o un file di +nome \file{baz}. Queste espansioni sono spiegate nelle prossime sezioni- +%$ +\subsubsection{Espansione predefinita} +\label{sec:default-expansion} + +Se il percorso di ricerca a più alta priorità (consultate ``Fonti dei +percorsi'' a pagina~\pageref{sec:path-sources}) contiene un \emph{due +punti di troppo} (cioè all'inizio, alla fine oppure una coppia di due +punti), \KPS{} inserisce in quel punto il percorso di ricerca con la +seconda più alta priorità che sia stato definito. Se questo percorso +inserito ha a sua vuolta un due punti aggiuntivo, accade lo stesso con il +successivo in ordine di priorità . Per esempio, data l'impostazione di una +variabile d'ambiente + +\begin{alltt} +> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} +e un valore di \code{TEXINPUTS} proveniente da \file{texmf.cnf} di + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} +allora il valore finale usato nella ricerca sarà : + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +Dato che sarebbe inutile inserire lo stesso valore predefinito in più di +un posto, \KPS{} cambia solo uno dei \samp{:}\ di troppo e lascia gli +altri al loro posto. Per prima cosa cerca un \samp{:} all'inizio, quindi +cerca un \samp{:} alla fine, per ultimo cerca un \samp{:} doppio. + +\subsubsection{Espansione delle parentesi graffe} +\label{sec:brace-expansion} + +Una caratteristica utile è l'espansione delle parentesi graffe, che +significa che, per esempio, \verb+v{a,b}w+ viene espanso in +\verb+vaw:vbw+. L'annidamento delle parentesi è permesso. Tale +caratteristica è usata per implementare gerarchie \TeX{} multiple, +assegnando una lista di nomi tra graffe a \code{\$TEXMF}. Ad esempio, in +\file{texmf.cnf}, è fatta la seguente definizione (semplificata per questo +esempio): +\begin{verbatim} + TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN} +\end{verbatim} +Usando questa variabile, potete scrivere qualcosa come +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +che vuol dire che, dopo aver guardato nella directory attuale, la ricerca +proseguirà (\emph{soltanto}) nei rami \code{\$TEXMFHOME/tex}, +\code{\$TEXMFLOCAL/tex}, \code{\$TEXMFVAR/tex} e \code{\$TEXMFMAIN/tex} +(gli ultimi due usando i database \file{ls-R}). È una maniera conveniente +per avere due strutture \TeX{} parallele, una ``congelata'' (ad +esempio su un \CD) e l'altra aggiornata di continuo con nuove versioni non +appena diventino disponibili. Usando la variabile \code{\$TEXMF} in tutte +le definizioni, si è sicuri di cercare innanzitutto nel ramo +aggiornato. + +\subsubsection{Espansione delle sotto directory} +\label{sec:subdirectory-expansion} + +In un elemento di percorso, due o più barre (slash) consecutive alla fine +di una directory \var{d} sono sostituite da tutte le sotto directory di +\var{d}: prima quelle che si trovano direttamente sotto \var{d}, quindi +quelle all'interno delle prime e così via. Ad ogni livello, l'ordine in +cui le directory sono cercate \emph{non è specificato}. + +Se specificate il nome di un file dopo il \samp{//}, saranno incluse solo +le sotto directory che lo contengono. Ad esempio, \samp{/a//b} si +espande nelle directory \file{/a/1/b}, \file{/a/2/b}, \file{/a/1/1/b} e +così via, ma non in \file{/a/b/c} o \file{/a/1}. + +È possibile usare più volte il costrutto \samp{//} in un percorso, ma ogni +\samp{//} all'inizio di un percorso viene ignorato. + +\subsubsection{Elenco dei caratteri speciali e loro significato: un + riepilogo} + +Il seguente elenco riassume i caratteri speciali nei file di +configurazione di \KPS{}. + +% need a wider space for the item labels here. +\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} +\begin{ttdescription} +\item[\CODE{:}] Separatore nella specifica di un percorso; all'inizio o + alla fine di un percorso sostituisce l'espansione di percorso + predefinita.\par +\item[\CODE{;}] Separatore nei sistemi non Unix (si comporta come + \code{:}). +\item[\CODE{\$}] Espansione di una variabile. +\item[\CODE{\string~}] Rappresenta la directory di home di un utente. +\item[\CODE{\char`\{...\char`\}}] Espansione di parentesi graffe. +\item[\CODE{//}] Espansione di sotto directory (può trovarsi ovunque in un + percorso tranne che al suo inizio). +\item[\CODE{\%}] Inizio di un commento. +\item[\CODE{\bs}] Carattere di continuazione (consente alle voci di + continuare su più linee). +\item[\CODE{!!}] Cerca \emph{solo} nei database per individuare un file, + \emph{non} cerca sul disco. +\end{ttdescription} + + +\subsection{Database di nomi di file} +\label{sec:filename-database} + +\KPS{} si sforza di minimizzare gli accessi al disco per le ricerche. +Infatti, in installazioni con parecchie directory, cercare un dato file +in ognuna di esse può richiedere una quantità di tempo eccessiva (vero +soprattutto se devono essere attraversate molte centinaia di directory di +font). Quindi, \KPS{} può usare un file di ``database'' testuale costruito +esternamente, chiamato \file{ls-R}, che associa file a directory, evitando +in questo modo di cercare esaustivamente sul disco. + +Un secondo file di database, \file{aliases}, permette di dare nomi +aggiuntivi ai file elencati in \file{ls-R}. Questa caratteristica può +essere utile per conformare i file sorgenti alla convenzione dei nomi +\acro{DOS} 8.3. + +\subsubsection{Il database di nomi} +\label{sec:ls-R} + +Come spiegato in precedenza, il nome del database principale di nomi di +file deve essere \file{ls-R}. Potete metterne uno alla radice di ogni +ramo \TeX{} della vostra installazione nel quale volete che si effettuino +le ricerche (\code{\$TEXMF} di base). \KPS{} cerca i file \file{ls-R} nel +percorso \code{TEXMFDBS}. + +Il metodo raccomandato per creare e mantenere \samp{ls-R} è quello di +eseguire lo script \code{mktexlsr} incluso nella distribuzione. Esso è +invocato dai vari script \samp{mktex}\dots. In teoria, questo script esegue +semplicemente il comando +\begin{alltt} +cd \var{/la/vostra/radice/texmf} && \path|\|ls -1LAR ./ >ls-R +\end{alltt} +assumendo che il comando \code{ls} del vostro sistema produca il giusto +formato di output (\code{ls} del progetto \GNU lo fa). Per garantire che +l'archivio sia sempre aggiornato, la cosa più semplice è rigenerarlo +regolarmente tramite \code{cron}, così che sia automaticamente ricostruito +quando i file installati cambiano, ad esempio dopo aver installato o +aggiornato un pacchetto \LaTeX. + +Se un file non è trovato nel database, per default \KPS{} va avanti e +cerca sul disco. Se un particolare elemento di percorso comincia con +\samp{!!}, però, la ricerca per quell'elemento sarà effettuata \emph{solo} +nel database, mai sul disco. + + +\subsubsection{kpsewhich: ricerca indipendente di percorsi} +\label{sec:invoking-kpsewhich} + +Il programma \texttt{kpsewhich} compie la ricerca di percorsi +indipendentemente da qualunque particolare applicazione. Può essere utile +come una sorta di programma \code{find} per individuare i file nelle +gerarchie \TeX{} (è ampiamente usato negli script \samp{mktex}\dots\ +distribuiti). + +\begin{alltt} +> \Ucom{kpsewhich \var{opzioni}\dots{} \var{nomefile}\dots{}} +\end{alltt} +Le opzioni specificate in \ttvar{opzioni} cominciano con \samp{-} oppure +con \samp{-{}-} ed è accettata qualunque abbreviazione non ambigua. + +\KPS{} cerca ogni argomento sulla riga di comando che non sia un'opzione +come se fosse il nome di un file e restituisce il primo trovato. Non ci +sono opzioni per restituire tutti i file con un particolare nome (per fare +questo, potete eseguire il programma Unix \samp{find}). + +Le opzioni più comuni sono descritte in seguito. + +\begin{ttdescription} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{} + Imposta la risoluzione a \ttvar{num}; questa opzione ha effetto solo + nelle ricerche dei file \samp{gf} e \samp{pk}. \samp{-D} è un sinonimo, + per compatibilità con \cmdname{dvips}. Il valore preimpostato è 600. + +\item[\texttt{-{}-format=\var{nome}}]\mbox{}\\ + Imposta il formato da cercare a \ttvar{nome}. Di base, il formato è + ipotizzato a partire dal nome del file. Per i formati che non hanno + associato un suffisso non ambiguo, come i file di supporto di \MP{} e i + file di configurazione di \cmdname{dvips}, dovete specificare il nome + così come è conosciuto da \KPS{}, come \texttt{tex} o \texttt{enc + files}. Eseguite \texttt{kpsewhich -{}-help} per un elenco. + +\item[\texttt{-{}-mode=\var{stringa}}]\mbox{}\\ + Imposta il nome della modalità a \ttvar{stringa}; questa opzione ha + effetto solo sulle ricerche dei file \samp{gf} e \samp{pk}. Non esiste + un valore preimpostato: sarà trovata qualunque tipo di modalità . +\item[\texttt{-{}-must-exist}]\mbox{}\\ + Fa tutto ciò che è possibile per trovare il file, inclusa nello + specifico la ricerca sul disco. Di base, per questioni di efficienza, è + controllato solo l'archivio \file{ls-R}. +\item[\texttt{-{}-path=\var{stringa}}]\mbox{}\\ + Cerca nel percorso di ricerca \ttvar{stringa} (separata da due punti, + come al solito), invece di ricavarlo dal nome del file. \samp{//} e + tutte le solite espansioni sono supportate. Le opzioni \samp{-{}-path} e + \samp{-{}-format} si escludono a vicenda. +\item[\texttt{-{}-progname=\var{nome}}]\mbox{}\\ + Imposta il nome del programma a \texttt{\var{nome}}. Questa opzione può + modificare i percorsi di ricerca per mezzo della funzionalità + \texttt{.\var{nomeprogramma}}. Il valore predefinito è + \cmdname{kpsewhich}. +\item[\texttt{-{}-show-path=\var{nome}}]\mbox{}\\ + Mostra il percorso usato per la ricerca dei file il cui tipo sia + \texttt{\var{nome}}. Può essere usata sia un'estensione (\code{.pk}, + \code{.vf}, ecc.) che un nome, proprio come per l'opzione + \samp{-{}-format}. +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + Imposta le opzioni per la ricerca degli errori a \texttt{\var{num}}. +\end{ttdescription} + + +\subsubsection{Esempi d'uso} +\label{sec:examples-of-use} + +Diamo uno sguardo a \KPS{} in azione. Ecco una ricerca semplice: + +\begin{alltt} +> \Ucom{kpsewhich article.cls} + /usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} +Stiamo cercando il file \file{article.cls}. Dato che il suffisso +\samp{.cls} non è ambiguo, non abbiamo bisogno di specificare che vogliamo +cercare un file di tipo \optname{tex} (file sorgente \TeX). Lo troviamo +nella sotto directory \file{tex/latex/base} sotto la directory di \TL\ +\samp{texmf-dist}. In modo simile, tutti i file seguenti sono trovati +senza problemi grazia alla non ambiguità dei loro suffissi. +\begin{alltt} +> \Ucom{kpsewhich array.sty} + /usr/local/texmf-dist/tex/latex/tools/array.sty +> \Ucom{kpsewhich latin1.def} + /usr/local/texmf-dist/tex/latex/base/latin1.def +> \Ucom{kpsewhich size10.clo} + /usr/local/texmf-dist/tex/latex/base/size10.clo +> \Ucom{kpsewhich small2e.tex} + /usr/local/texmf-dist/tex/latex/base/small2e.tex +> \Ucom{kpsewhich tugboat.bib} + /usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib +\end{alltt} + +Ad ogni modo, quest'ultimo è un registro bibliografico in formato +\BibTeX{} per gli articoli di \textsl{TUGboat}. + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} +I file di glifi dei font bitmat di tipo \file{.pk} sono usati dai +programmi di visualizzazione come \cmdname{dvips} e \cmdname{xdvi}. Non +viene restituito nulla in questo caso dato che in \TL\ non ci sono file +\samp{.pk} pregenerati per il carattere tipografico Computer Modern \Dash +come predefinite sono usate le varianti Type~1. +\begin{alltt} +> \Ucom{kpsewhich wsuipa10.pk} +\ifSingleColumn /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk +\else /usr/local/texmf-var/fonts/pk/ljfour/public/ +... wsuipa/wsuipa10.600pk +\fi\end{alltt} +Per questi font (un alfabeto fonetico creato dall'Università di +Washington) dobbiamo generare i file \samp{.pk} e dato che la modalità +predefinita di \MF{} nella nostra installazione è \texttt{ljfour} con una +risoluzione di base di 600\dpi{} (dots per inch, punti per pollice), viene +restituito questo valore. +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} +In questo caso, quando specifichiamo di essere interessati ad una +risoluzione di 300\dpi{} (\texttt{-dpi=300}) osserviamo che questo font +non è disponibile nel sistema. Un programma come \cmdname{dvips} o +\cmdname{xdvi} andrebbe avanti e genererebbe i file \texttt{.pk} richiesti +usando lo script \cmdname{mktexpk}. + +Adesso spostiamo la nostra attenzione sui file di intestazione e di +configurazione di \cmdname{dvips}. Cercheremo innanzitutto un file tra +quelli usati comunemente, il prologo generale \file{tex.pro} per il +supporto a \TeX, prima di spostare l'attenzione sul generico file di +configurazione (\file{config.ps}) e la mappa dei font \PS{} +\file{psfonts.map} \Dash\ a partire dal 2004, i file di mappatura e di +codifica hanno i propri percorsi di ricerca e una nuova posizione negli +alberi \dirname{texmf}. Dato che il suffisso \samp{.ps} è ambiguo, +dobbiamo specificare esplicitamente quale tipo stiamo considerando +(\optname{dvips config}) per il file \texttt{config.ps}. +\begin{alltt} +> \Ucom{kpsewhich tex.pro} + /usr/local/texmf/dvips/base/tex.pro +> \Ucom{kpsewhich --format="dvips config" config.ps} + /usr/local/texmf/dvips/config/config.ps +> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map +\end{alltt} + +Diamo ora uno sguardo ravvicinato ai file di supporto per il carattere +\PS{} \acro{URW} Times. Il prefisso per questi file nello schema dei nomi +dei font è \samp{utm}. Il primo file che cerchiamo è quello di +configurazione, che contiene il nome del file di mappatura: +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" config.utm} + /usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} +Il contenuto di questo file è +\begin{alltt} + p +utm.map +\end{alltt} +che punta al file \file{utm.map}, che sarà il prossimo che cercheremo. +\begin{alltt} +> \Ucom{kpsewhich utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} +Questo file di mappatura definisce i nomi dei file dei font \PS{} Type~1 +nella collezione URW. Il suo contenuto è simile al seguente (mostriamo +solo una parte delle righe): +\begin{alltt} +utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb +utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb +utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb +utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} +Prendiamo, ad esempio, il file per il Times Roman \file{utmr8a.pfb} e +cerchiamo la sua posizione nell'albero delle directory \file{texmf} con +una ricerca dei file di font Type~1: +\begin{alltt} +> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +\else /usr/local/texmf-dist/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + +Dovrebbe essere chiaro da questi esempi come potete individuare facilmente +dove si trovi un dato file. Tutto ciò è particolarmente importante se +sospettate che in qualche modo venga prelevata la versione sbagliata di un +file, in quanto \cmdname{kpsewhich} mostrerà il primo file incontrato. + +\subsubsection{Risoluzione dei problemi} +\label{sec:debugging} + +A volte è necessario investigare sul come un programma determina i +riferimenti ad un file. Per rendere pratico ciò, \KPS{} offre vari livelli +di messaggi diagnostici: + +\begin{ttdescription} +\item[\texttt{\ 1}] Chiamate a \texttt{stat} (accessi al disco). Quando si + compie una ricerca avendo a disposizione un database \file{ls-R} + aggiornato, questo livello non dovrebbe mostrare quasi nessun messaggio. +\item[\texttt{\ 2}] Riferimenti alle tabelle dei dati (come i database + \file{ls-R}, i file di mappatura, quelli di configurazione). +\item[\texttt{\ 4}] Operazioni di apertura e chiusura dei file. +\item[\texttt{\ 8}] Informazioni generali sui percorsi per i tipi di file + cercati da \KPS. Utile per scoprire dove è stato definito un particolare + percorso per un file. +\item[\texttt{16}] Elenco delle directory per ogni elemento di un percorso + (rilevante solo per le ricerche su disco). +\item[\texttt{32}] Ricerche di file. +\item[\texttt{64}] Valori delle variabili. +\end{ttdescription} +Un valore di \texttt{-1} attiverà tutte le opzioni precedenti; nella +pratica, questo valore è di solito il più conveniente. + +Analogamente, con il programma \cmdname{dvips}, impostando una +combinazione di opzioni di diagnostica, è possibile seguire in dettaglio +le posizioni da cui i file sono prelevati. In alternativa, quando un file +non viene trovato, la traccia dei messaggi mostra in quali directory il +programma ha cercato il file, così che si possa ottenere un'indicazione +sull'origine del problema. + +In termini generali, dato che la maggior parte dei programmi invoca la +libreria \KPS{} internamente, è possibile selezionare il livello di +diagnostica usando la variabile d'ambiente \envname{KPATHSEA\_DEBUG} ed +impostandola ad una combinazione dei valori descritti nell'elenco di cui +sopra. + +(Nota per gli utenti Windows: in questo sistema non è semplice redirigere +tutti i messaggi verso un file. Per scopi di diagnostica potete impostare +temporaneamente \texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log}). + +Consideriamo, come esempio, un piccolo file sorgente di \LaTeX, +\file{hello-world.tex}, che contiene il seguente testo. +\begin{verbatim} + \documentclass{article} + \begin{document} + Ciao Mondo! + \end{document} +\end{verbatim} +Questo piccolo file usa solo il font \file{cmr10}, quindi vediamo come +\cmdname{dvips} prepara il file \PS{} (vogliamo usare la versione Type~1 +dei font Computer Modern, da qui l'opzione \texttt{-Pcms}). +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +In questo caso abbiamo combinato la classe di diagnostica 4 di +\cmdname{dvips} (percorsi dei font) con l'espansione degli elementi di +percorso di \KPS{} (vedi il Manuale di Riferimento di \cmdname{dvips}, +\OnCD{texmf/doc/dvips/dvips.pdf}). +Il risultato (leggermente riorganizzato) appare in +figura~\ref{fig:dvipsdbga}. +\begin{figure*}[tp] +\centering +\input{examples/ex6a.tex} +\caption{Ricerca dei file di configurazione}\label{fig:dvipsdbga} + +\bigskip + +\input{examples/ex6b.tex} +\caption{Ricerca del file di prologo}\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{Ricerca del file del font}\label{fig:dvipsdbgc} +\end{figure*} + +\cmdname{dvips} inizia individuando i propri file di lavoro. Per primo +viene trovato \file{texmf.cnf}, che fornisce le definizioni dei percorsi +di ricerca per gli altri file, quindi il file di database \file{ls-R} (per +ottimizzare la ricerca) e il file \file{aliases}, che rende possibile +dichiarare diversi nomi (ad esempio, una versione breve in formato +\acro{DOS} 8.3 e una più lunga e più naturale) per lo stesso file. Quindi +\cmdname{dvips} prosegue nel cercare il file di configurazione generico +\file{config.ps} prima di guardare al file personalizzato \file{.dvipsrc} +(che in questo caso \emph{non viene trovato}). Infine, +\cmdname{dvips} individua il file di configurazione \file{config.cms} per +il font \PS{} Computer Modern (questo passo è stato attivato con l'opzione +\texttt{-Pcms} data al comando \cmdname{dvips}). Questo file contiene +la lista delle mappature che definiscono la relazione tra il modo di +chiamare i font in \TeX{}, in \PS{} e sul disco. +\begin{alltt} +> \Ucom{more /usr/local/texmf/dvips/cms/config.cms} + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map +\end{alltt} +\cmdname{dvips}, quindi, procede nel trovare tutti questi file, più il +generico file di mappatura \file{psfonts.map}, che è caricato sempre +(contiene le dichiarazioni per i font \PS{} usati comunemente; consultate +la parte finale della sezione~\ref{sec:examples-of-use} per ulteriori +dettagli sulla gestione delle mappature \PS). + +A questo punto, \cmdname{dvips} si presenta all'utente: +\begin{alltt} +This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) +\end{alltt} +\ifSingleColumn +Quindi prosegue nel cercare il file di prologo \file{texc.pro}: +\begin{alltt}\small +kdebug:start search(file=texc.pro, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro +\end{alltt} +\else +Quindi prosegue nel cercare il file di prologo \file{texc.pro} (vedi la +figura~\ref{fig:dvipsdbgb}). +\fi + +Dopo aver trovato il file in questione, \cmdname{dvips} mostra la data e +l'ora, ci informa che genererà il file \file{hello-world.ps}, poi +che avrà bisogno del file del font \file{cmr10} e che quest'ultimo è +dichiarato ``residente'' (non sono necessarie bitmap): +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} +Adesso la ricerca prosegue con il file \file{cmr10.tfm}, che viene +trovato, quindi viene fatto riferimento ad alcuni ulteriori file di +prologo (non mostrati) e, infine, l'istanza Type~1 del font, +\file{cmr10.pfb}, è individuata ed inclusa del file in uscita (vedi +l'ultima linea). +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{Opzioni di esecuzione} + +Un'altra funzionalità utile di \Webc{} è la sua possibilità di controllare +un certo numero di parametri relativi alla memoria (nello specifico la +dimensione degli array) tramite il file \file{texmf.cnf} letto da \KPS{} +durante l'esecuzione. Le impostazioni della memoria possono essere trovate +nella Parte 3 di quel file nella distribuzione \TL. Le più importanti +sono: + +\begin{ttdescription} +\item[\texttt{main\_memory}] + La quantità complessiva di memoria disponibile per \TeX, \MF{} e \MP. + Dovete creare un nuovo file di formato per ogni impostazione differente. + Per esempio, potreste generare una versione ``enorme'' di \TeX{} e + chiamare il file di formato \texttt{hugetex.fmt}. Usando il modo normale + di specificare il nome del programma usato da \KPS{}, l'opportuno valore + della variabile \texttt{main\_memory} sarà letto da \file{texmf.cnf}. +\item[\texttt{extra\_mem\_bot}] + Spazio aggiuntivo per le strutture dati ``grandi'' di \TeX: scatole, + colle, interruzioni, ecc. Utile specialmente se usate \PiCTeX. +\item[\texttt{font\_mem\_size}] + Numero di registri per le informazioni sui font disponibili in \TeX. + Questo valore è più o meno pari alla dimensione totale di tutti i file + \acro{TFM} che vengono letti. +\item[\texttt{hash\_extra}] + Spazio aggiuntivo per la tabella con i nomi delle sequenze di + controllo. Nella tabella principale possono essere memorizzate solo + approssimativamente 10.000 sequenze di controllo; se lavorate su un + libro di grandi dimensioni con numerosi riferimenti incrociati, questo + valore potrebbe non essere sufficiente. Il valore predefinito per + \texttt{hash\_extra} è \texttt{50000}. +\end{ttdescription} + +\noindent Ovviamente questa funzionalità non è un sostituto per una vera +allocazione dinamica di memoria e array, ma dato che questi sono +estremamente difficili da implementare negli attuali sorgenti di \TeX, +questi parametri di esecuzione forniscono un compromesso pratico per +offrire un minimo di flessibilità . + + +\begin{comment} +\section{Compilare su una nuova piattaforma Unix} + +Se avete una piattaforma per la quale non sono inclusi gli eseguibili, +avrai bisogno di compilare \TeX{} e compagni. Non è difficile come sembra. +Quello di cui avete bisogno è interamente contenuto nella directory +\texttt{source} della distribuzione. + +\subsection{Prerequisiti} + +Avrete bisogno di almeno 100 megabyte di spazio su disco per compilare +tutto \TeX{} e i suoi programmi di supporto. Avrete anche bisogno di un +compilatore \acro{ANSI} C, un'utilità \cmdname{make}, un analizzatore +lessicale e un generatore di parser. Raccomandiamo la versione \GNU{} di +questi programmi (\cmdname{gcc}, \GNU \cmdname{make}, \cmdname{m4}, +\cmdname{flex}, \cmdname{bison}). Potreste essere in grado di lavorare con +altri compilatori C e programmi \cmdname{make}, ma dovrete conoscere bene +i principi di compilazione di programmi Unix per superare i problemi. + +Inoltre il comando \texttt{uname} deve restituire un valore significativo. + + +\subsection{Configurazione} + +Per cominciare, eseguite una normale installazione di \TL{} sul vostro +disco (consultate la sezione~\ref{sec:install-disk} a +\p.\pageref{sec:install-disk}). Potreste voler saltare l'installazione di +tutti gli eseguibili pregenerati. + +Quindi, prelevate i sorgenti dal file \texttt{tar} compresso presente +nella directory \dirname{source} sul vostro disco e spostatevi nella +directory dove lo avete posizionato. + +Successivamente, eseguite \cmdname{configure} con una riga di comando come +questa: +\begin{alltt} +> \Ucom{sh configure -prefix=/usr/local/TeX} +\end{alltt} + +La directory \optname{-prefix} è quella dove avete installato l'albero di +supporto; la strutturazione della directory sarà come segue (dove \$TEXDIR +sta per la directory che avete scelto): + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/share/texmf} & albero principale con + & font, \qquad macro, ecc\\ + \dirname{$TEXDIR/man} & pagine di manuale Unix\\ + \dirname{$TEXDIR/info} & manuali Info in stile \GNU\\ + \dirname{$TEXDIR/bin/$PLATFORM} & eseguibili\\ +\end{tabular} +%$ + +Se volete escludere il livello di directory \dirname{$PLATFORM}, ossia +volete piazzare gli eseguibili direttamente in \dirname{$TEXDIR/bin}, +specificate l'opzione \verb|--disable-multiplatform| a +\cmdname{configure}. + +Date uno sguardo ai messaggi restituiti da \verb|./configure --help| per +ulteriori opzioni che potete usare. Ad esempio, potete saltare la +compilazione di \OMEGA{} ed \eTeX. + + +\subsection{Eseguire \cmdname{make}} + +Siate sicuri che né la variabile d'ambiente, né l'opzione +\texttt{noclobber} siano impostate. Quindi, eseguite il \cmdname{make} +principale in questo modo: +\begin{alltt} +> \Ucom{make world} +\end{alltt} +e rilassatevi\ldots + +In alternativa, potete voler salvare in un registro tutti i messaggi +restituiti, come in: +\begin{alltt} +> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} + +Prima di credere che tutto sia andato bene, controllate il file di +registro per eventuali errori: \GNU \cmdname{make} usa sempre la stringa +\samp{***} quando un comando fallisce. Inoltre, controllate se tutti i +programmi sono stati compilati: + +\begin{alltt} +> \Ucom{cd \var{TEXDIR}/bin/\var{archname}} +> \Ucom{ls | wc} +\end{alltt} +Il risultato dovrebbe essere oltre 200 (potete controllare il numero +esatto con il contenuto della directory \dirname{bin} della +distribuzione). + +Se avete bisogno di privilegi speciali per \texttt{make install}, potete +separare l'esecuzione di \samp{make world} in due parti, come segue: +\begin{alltt} +> \Ucom{make all} +> \Ucom{su} +> \Ucom{make install strip} +\end{alltt} + +Dopo aver installato i vostri nuovi eseguibili, dovreste eseguire le +normali procedure di post installazione fornite nella +sezione~\ref{sec:postinstall} (\p.\pageref{sec:postinstall}). + +Inoltre, se desiderate rendere disponibili i vostri eseguibili ad altri, +contattateci. Saremo felici di inserirli nelle pagine web di \TL. +\end{comment} + +\htmlanchor{ack} +\section{Ringraziamenti} + +\TL{} è il risultato dello sforzo congiunto di praticamente tutti i gruppi +utenti \TeX. Questa edizione di \TL{} è stata supervisionata da Karl +Berry. Gli altri contributori principali, passati e presenti, sono +elencati qui sotto. + +\begin{itemize*} + +\item I gruppi utenti \TeX{} Inglese, Tedesco, Olandese e Polacco +(\acro{TUG}, \acro{DANTE} e.V., \acro{NTG} e \acro{GUST}, +rispettivamente), che forniscono la necessaria infrastruttura tecnica ed +amministrativa. Unitevi al gruppo utenti \TeX\ più vicino a voi +(consultate la pagina \url{http://tug.org/usergroups.html})! + +\item Il team di \acro{CTAN}, in particolare Robin Fairbairns, Jim +Hef{}feron e Rainer Sch\"opf, che distribuiscono le immagini di \TL{} e +forniscono l'infrastruttura comune per gli aggiornamenti dei pacchetti, +dalla quale dipende \TL. + +\item Nelson Beebe per aver reso disponibili molte piattaforme agli +sviluppatori di \TL{} e per i suoi esaustivi collaudi. + +\item John Bowman per aver fatto molti cambiamenti al suo programma +di grafica avanzata Asymptote affinché funzionasse in \TL. + +\item Peter Breitenlohner ed il team di \eTeX\ per le stabili +fondamenta del \TeX{} del futuro e Peter in particolare per l'aiuto +stellare con l'uso degli strumenti \GNU\ autotool in \TL. + +\item Jin-Hwan Cho e tutti i membri del team di DVIPDFM$x$ per il loro +eccellente driver e la velocità di risposta ai problemi di configurazione. + +\item Thomas Esser, senza il cui meraviglioso pacchetto \teTeX{} \TL{} non +sarebbe mai esistito. + +\item Michel Goossens, che è stato coautore della documentazione +originale. + +\item Eitan Gurari, il cui \TeX4ht è stato usato per creare la versione +\HTML{} di questa documentazione e che ha lavorato instancabilmente per +migliorarlo con brevi preavvisi ogni anno. Eitan è scomparso +prematuramente nel giugno 2009 e dedichiamo questa documentazione alla sua +memoria. + +\item Hans Hagen per la grande quantità di collaudi e per aver permesso al +suo formato \ConTeXt{} (\url{http://pragma-ade.com}) di lavorare +all'interno dell'infrastruttura di \TL. + +\item \Thanh, Martin Schr\"oder e il team di pdf\TeX{} +(\url{http://pdftex.prg}) per i continui miglioramenti delle capacità di +\TeX. + +\item Hartmut Henkel per i significativi contributi allo sviluppo di +pdf\TeX, Lua\TeX{} e molto ancora. + +\item Taco Hoekwater per gli importanti forzi nel rinnovato sviluppo di +MetaPost e (Lua)\TeX{} (\url{http://luatex.org}) stesso, per aver +incorporato \ConTeXt{} in \TL, per aver dato a Kpathsea le funzionalità +multi-thread e per molto altro ancora. + +\item Pawe{\l} Jackowski per l'installatore Windows \cmdname{tlpm} e +Tomasz {\L}uczak per \cmdname{tlpmgui}, usati nelle edizioni passate. + +\item Akira Kakuto per aver fornito gli eseguibili per Windows a partire +dalla sua distribuzione \TeX{} giapponese \acro{W32TEX} e per molti altri +contributi allo sviluppo. + +\item Jonathan Kew per aver sviluppato il notevole motore \XeTeX{} e per +aver investito tempo e fatica per integrarlo in \TL, così come per la +versione iniziale dell'installatore di Mac\TeX{} e per il programma +\TeX{}works, che raccomandiamo. + +\item Dick Koch per mantenere Mac\TeX{} (\url{http://tug.org/mactex}) a +distanza molto ravvicinata da \TL{} e per il suo gran buon umore nel +farlo. + +\item Reinhard Kotucha per i maggiori contributi all'infrastruttura e +all'installatore di \TL{} 2008, così come per gli sforzi di ricerca sotto +Windows, lo script \texttt{getnonfreefonts} e molto altro. + +\item Anche Siep Kroonenberg per maggiori contributi all'infrastruttura e +all'installatore di \TL{} 2008, specialmente sotto Windows, e il grosso +del lavoro di aggiornamento di questo manuale per descrivere queste +funzionalità . + +\item Heiko Oberdiek per il pacchetto \pkgname{epstopdf} e molti altri, +per aver compresso gli enormi file di dati di \pkgname{pst-geo} così che +potessimo includerli e, più di tutto, per il suo notevole lavoro su +\pkgname{hyperref}. + +\item Petr Ok\v{s}ak che ha coordinato e controllato con grande attenzione +tutto il materiale ceco e slovacco. + +\item Toshio Oshima per il suo visualizzatore per Windows +\cmdname{dviout}. + +\item Manuel Pégourié-Gonnard per aver aiutato con gli aggiornamenti dei +pacchetti, con i miglioramenti alla documentazione e con lo sviluppo di +\cmdname{texdoc}. + +\item Fabrice Popineau per l'originale supporto per Windows in \TL{} e per +il lavoro sulla documentazione in francese. + +\item Norbert Preining, l'architetto principale dell'infrastruttura e +dell'installatore di \TL{} 2008, anche per aver coordinato la versione +Debian di \TL{} (insieme con Frank Küster), offrendo molti suggerimenti +lungo il cammino. + +\item Sebastian Rahtz per aver originariamente creato \TL{} ed averne +curato la manutenzione per molti anni. + +\item Phil Taylor per aver allestito gli scaricamenti tramite BitTorrent. + +\item Tomasz Trzeciak per aiuti su vasta scala con Windows. + +\item Vladimir Volovich per il sostanziale aiuto nel porting e in altre +questioni di mantenimento e specialmente per aver reso possibile includere +\cmdname{xindy}. + +\item Staszek Wawrykiewicz, il collaudatore principale di tutta \TL{} e +coordinatore di molti dei maggiori contributori polacchi: font, +installazione sotto Windows e molto altro. + +\item Olaf Weber per la sua paziente manutenzione a \Webc. + +\item Gerben Wierda per aver creato e fatto manutenzione all'originale +supporto per \MacOSX{} e per molte integrazioni e collaudi. + +\item Graham Williams, sul cui lavoro dipende il Catalogo \TeX{} dei +pacchetti. + +\end{itemize*} + +Preparatori degli eseguibili: +Ettore Aldrovandi (\pkgname{i386-solaris}, \pkgname{x86\_64-solaris}), +Alan Braslau (\pkgname{amd64-kfreebsd}, \pkgname{i386-kfreebsd}), +Peter Breitenlohner (\pkgname{x86\_64-linux}), +Karl Berry (\pkgname{i386-linux}), +Ken Brown (\pkgname{i386-cygwin}), +Akira Kakuto (\pkgname{win32}), +Dick Koch (\pkgname{universal-darwin}, \pkgname{x86\_64-darwin}), +Nikola Le\v{c}i\'c (\pkgname{amd64-freebsd}, \pkgname{i386-freebsd}), +Mojca Miklavec (\pkgname{mipsel-linux}), +Norbert Preining (\pkgname{alpha-linux}), +Thomas Schmitz (\pkgname{powerpc-linux}), +Boris Veytsman (\pkgname{armel-linux}), +Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-solaris}), +Olaf Weber (\pkgname{mips-irix}). +Per informazioni sul processo di compilazione di \TL, visitate +\url{http://tug.org/texlive/build.html}. + +Attuali traduttori della documentazione: +Boris Veytsman (russo), +Jjgod Jiang, Jinsong Zhao, Yue Wang \& Helin Gai (cinese), +Klaus Höppner (tedesco), +Manuel Pégourié-Gonnard (francese), +Marco Pallante (italiano), +Nikola Le\v{c}ić (serbo), +Petr Sojka \& Jan Busa (ceco\slash slovacco), +Staszek Wawrykiewicz (polacco). La pagina web della documentazione di +\TL{} è \url{http://tug.org/texlive/doc.html}. + +Ovviamente il più importante ringraziamento deve andare a Donald Knuth, +innanzitutto per aver inventato \TeX{} e poi per averlo donato al mondo. + + + +\section{Storia delle edizioni} +\label{sec:history} + +\subsection{Passato} + +La discussione iniziò nel tardo 1993 quando il gruppo utenti \TeX{} +olandese stava iniziando a lavorare al proprio \CD{} 4All\TeX{} per gli +utenti \acro{MS-DOS} e si sperava a quel tempo di rilasciare un solo +razionale \CD{} per tutti i sistemi. Questo era un obiettivo troppo +ambizioso per il tempo, ma non solo diede vita al \CD{} di grande successo +4All\TeX{}, ma spinse il gruppo di lavoro del \acro{TUG} Technical +Council verso una \emph{Struttura delle Directory \TeX{}} (\TDS{}, \TeX{} +Directory Structure, \url{http://tug.org/tds}), che specificò come creare +collezioni consistenti e gestibili di file di supporto a \TeX. Una bozza +completa della \TDS{} fu pubblicata nel numero di dicembre 1995 di +\textsl{TUGboat} e fu chiaro dalle fasi iniziali che un prodotto +desiderabile sarebbe stata una struttura di modello su \CD{}. La +distribuzione che hai ora è il risultato diretto delle decisioni del +gruppo di lavoro. Fu anche chiaro dal successo del \CD{} 4All\TeX{} che +gli utenti Unix avrebbero beneficiato da un simile semplice sistema e +questa è l'altro filone principale di \TL. + +Per prima cosa ci mettemmo all'opera per realizare un nuovo \CD{} della +\TDS{} basato su Unix nell'autunno del 1995 e rapidamente identificammo il +\teTeX{} di Thomas Esser come l'impianto ideale, dato che già aveva il +supporto per più piattaforme ed era costruito con la portabilità tra +diversi file system in mente. Thomas acconsentì ad aiutarci e il lavoro +cominciò seriamente all'inizio del 1996. La prima edizione fu rilasciata +nel maggio 1996. All'inizio del 1996, Karl Berry completò una nuova +versione di Web2c, che includeva praticamente tutte le funzionalità che +Thomas Esser aveva aggiunto in \teTeX{} e decidemmo di basare la seconda +edizione del \CD{} sul \Webc{} standard, con l'inclusione dello script +\texttt{texconfig} proveniente da \teTeX. La terza edizione del \CD{} fu +basata su una nuova grande revisione di \Webc, la 7.2, realizzata da Olaf +Weber; allo stesso tempo, era stata fatta una nuova revisione di \teTeX{} +e \TL{} incluse quasi tutte le sue funzionalità . La quarta edizione seguì +lo stesso modello, usando una nuova versione di \teTeX{} e di \Webc{} +(7.3). Il sistema adesso includeva anche un completo allestimento per +Windows. + +Per la quinta edizione (marzo 2000) furono riviste e controllate molte +parti del \CD, aggiornando centinaia di pacchetti. I dettagli sui +pacchetti furono memorizzati in file XML. Ma il cambiamento maggiore per +\TeX\ Live 5 fu che tutto il software non libero fu rimosso. Tutto in +\TL{} era pensato per essere compatibile con le Debian Free Software +Guidelines (linee guida Debian sul software libero, +\url{http://www.debian.org/intro/free}); abbiamo fatto del nostro meglio +per controllare le condizioni di licenza di tutti i pacchetti, ma +apprezzeremo tantissimo ogni segnalazione di errori. + +La sesta edizione (luglio 2001) aveva aggiornato ancora più materiale. Il +cambiamento più grande fu un nuovo concetto di installazione: l'utente +poteva selezionare un insieme più esatto delle collezioni desiderate. Le +collezioni relative alle lingue furono completamente riorganizzate, così +che, selezionandone una qualunque, non solo venissero installati le macro, i +font, ecc., ma fosse anche preparato un opportuno file +\texttt{language.dat}. + +La settima edizione del 2002 ebbe la notevole aggiunta del supporto per +\MacOSX{} e la solita miriade di aggiornamenti ad ogni genere di pacchetto +e programma. Un traguardo importante fu l'integrazione dei sorgenti con +quelli di \teTeX{} per correggere l'allontanamento l'uno dall'altro +avvenuto nelle versioni~5 e~6. + +\subsubsection{2003} + +Nel 2003, con il continuo flusso di aggiornamenti ed aggiunte, trovammo +che \TL{} era cresciuta così tanto che non poteva più essere contenuta in +un singolo \CD, quindi la dividemmo in tre diverse distribuzioni (consultate +la sezione~\ref{sec:tl-coll-dists}, \p.\pageref{sec:tl-coll-dists}). In +più: + +\begin{itemize*} +\item Su richiesta del team di \LaTeX, cambiammo i comandi \cmdname{latex} e + \cmdname{pdflatex} affinché usassero \eTeX{} (consultate la + \p.\pageref{text:etex}). +\item I nuovi font Latin Modern furono inclusi (e sono raccomandati). +\item Il supporto per Alpha \acro{OSF} fu rimosso (il supporto per + \acro{HPUX} era già stato rimosso in precedenza) dato che nessuno + aveva (o voleva donare) l'hardware su cui compilare i nuovi + eseguibili. +\item L'allestimento per Windows fu cambiato sostanzialmente; per la prima + volta fu introdotto un ambiente integrato basato su XEmacs. +\item Importanti programmi aggiuntivi per Windows (Perl, Ghost\-script, + Image\-Magic, Ispell) sono ora installati nelle directory \TL{}. +\item I file di mappatura per i font usati da \cmdname{dvips}, + \cmdname{dvipdfm} e \cmdname{pdftex} sono ora generati da un nuovo + programma \cmdname{updmap} ed installati in + \dirname{texmf/fonts/map}. +\item \TeX, \MF{} e \MP{} adesso mostrano la maggior parte dei caratteri + in ingresso (dal numero 32 \acro{ASCII} in su) come sé stessi nei + file che vengono generati (ad esempio, con \verb|\write|), nei file + di registro e sul terminale, ossia \emph{non sono più} tradotti + usando la notazione \verb|^^|. In \TL{}~7 questa traduzione + dipendeva dalle impostazioni sulla lingua del sistema; adesso, + queste impostazioni non influenzano il comportamento dei programmi + \TeX. Se per qualche ragione avete bisogno della notazione \verb|^^|, + rinominate il file \verb|texmf/web2c/cp8bit.tcx| (le edizioni future + avranno un modo più pulito per controllare questa opzione). +\item Questa documentazione fu revisionata sostanzialmente. +\item Infine, dato che i numeri delle edizioni erano cresciuti in modo + poco agevole, da adesso la versione è identificata semplicemente + dall'anno: \TL{} 2003. +\end{itemize*} + + +\subsubsection{2004} + +Il 2004 vide molti cambiamenti: + +\begin{itemize} + +\item Se avete font installati localmente che usano i propri file di +supporto \filename{.map} o (molto meno probabilmente) \filename{.enc}, +potreste aver bisogno di muovere questi file. + +I file \filename{.map} adesso sono cercati soltanto in sotto directory di +\dirname{fonts/map} (per ciascuna gerarchia \filename{texmf}, lungo il +percorso \envname{TEXFONTMAPS}). In modo simile, i file \filename{.enc} +sono cercati soltanto nelle sottodirectory di \dirname{font/enc}, lungo il +percorso \envname{ENCFONTS}. \cmdname{updmap} tenterà di avvisarvi su file +che possono provocare problemi. + +Per i metodi per gestire questa ed altre informazioni, visitate la pagina +\url{http://tug.org/texlive/mapenc.html}. + +\item \TK{} è stata espansa con l'aggiunta di un \CD{} installabile basato +su \MIKTEX, per coloro che preferiscono quell'implementazione a Web2C. +Consultate la sezione~\ref{sec:overview-tl} (\p.\pageref{sec:overview-tl}). + +\item All'interno di \TL, la singola grande directory \dirname{texmf} +delle edizioni precedenti è stata sostituita da: \dirname{texmf}, +\dirname{texmf-dist} e \dirname{texmf-doc}. Consultate la +sezione~\ref{sec:tld} (\p.\pageref{sec:tld} e il file \filename{README} +contenuto in ciascuna di esse. + +\item Tutti file in ingresso relativi a \TeX{} sono adesso raccolti nella +sotto directory \dirname{tex} delle varie \dirname{texmf*}, piuttosto che +avere le diverse posizioni \dirname{tex}, \dirname{etex}, +\dirname{pdftex}, \dirname{pdfetex}, ecc. Consultate +\CDref{texmf-dist/doc/generic/tds/tds.html\#Extensions} +{\texttt{texmf-dist/doc/generic/tds/tds.html\#Extensions}}. + +\item Gli script di supporto (pensati per non essere invocati dagli +utenti) sono adesso posizionati in una nuova sotto directory delle varie +\dirname{texmf*} chiamata \dirname{scripts} e possono essere cercati +usando \verb|kpsewhich -format=texmfscripts|. Se quindi avete dei programmi +che richiamano questi script, allora dovranno essere corretti. Consultate +\CDref{texmf-dist/doc/generic/tds/tds.html\#Scripts} +{\texttt{texmf-dist/doc/generic/tds/tds.html\#Scripts}}. + +\item Quasi tutti i formati lasciano la maggior parte dei caratteri +stampabili uguali a se stessi tramite il ``file di traduzione'' +\filename{cp227.tcx}, piuttosto che trasformarli nella notazione +\verb|^^|. Nello specifico, i caratteri alle posizioni \acro{ASCII} +32--256, la tabulazione orizzontale, quella verticale e il ``form feed'' +sono considerati stampabili e non vengono trasformati. Le eccezioni sono +plain \TeX{} (solo i caratteri 32--126 sono stampabili), \ConTeXt{} +(caratteri 0--255) e i formati legati ad \OMEGA. Questo comportamento +predefinito è quasi lo stesso che in \TL\,2003, ma è implementato in +maniera più pulita, con maggiori possibilità di personalizzazione. +Consultate \CDref{texmf/doc/web2c/web2c.html\#TCX-files} +{\texttt{texmf/doc/web2c/web2c.html\#TCX-files}} (ad ogni modo, con +l'input in formato Unicode, \TeX{} potrebbe stampare sequenze parziali di +caratteri quando viene mostrato il contesto degli errori dato che legge +l'input come una sequenza di byte, non di caratteri). + +\item \textsf{pdfetex} è adesso il motore predefinito per tutti i formati +tranne (plain) \textsf{tex} stesso (ovviamente genera file \acro{DVI} +quando è eseguito come \textsf{latex}, ecc.). Questo significa, tra le +altre cose, che le caratteristiche di microtipografia di \textsf{pdftex} +sono disponibili in \LaTeX, \ConTeXt, ecc., così come le funzionalità di +\eTeX{} (\OnCD{texmf-dist/doc/etex/base/}). + +Significa anche che è \emph{più importante che mai} usare il pacchetto +\pkgname{ifpdf} (funziona sia con plain \TeX, che con \LaTeX) o del codice +equivalente, perché verificare semplicemente se \cs{pdfoutput} o qualche +altra primitiva sono definiti non è un modo affidabile per determinare se +si sta generando un file \acro{PDF}. Per quest'anno abbiamo cercato di +rendere questo aspetto compatibile con le edizioni passate al meglio delle +nostra capacità , ma a partire dal prossimo anno \cs{pdfoutput} potrebbe +essere definito anche se il file generato è un \acro{DVI}. + +\item pdf\TeX\ (\url{http://pdftex.org}) ha molte nuove funzionalità : + + \begin{itemize*} + + \item \cs{pdfmapfile} e \cs{pdfmapline} forniscono il supporto alle + mappature dei font direttamente all'interno di un documento. + + \item L'espansione microtipografica dei font può essere usata più + facilmente.\\ + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} + + \item Tutti i parametri che prima erano impostati tramite lo speciale + file di configurazione \filename{pdftex.cfg} devono essere adesso + impostati tramite primitive, tipicamente in \filename{pdftexconfig.tex}; + \filename{pdftex.cfg} non è più supportato. Ogni file \filename{.fmt} + deve essere rigenerato quando \filename{pdftexconfig.tex} viene + modificato. + + \item Per saperne di più, consultate il manuale di pdf\TeX{}: + \OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf}. + + \end{itemize*} + +\item La primitiva \cs{input} in \cmdname{tex} (e in \cmdname{mf} e +\cmdname{mpost}) adesso accetta nomi con spazi ed altri caratteri speciali +racchiusi tra doppi apici. Esempi tipici: +\begin{verbatim} +\input "file con spazi" % plain +\input{"file con spazi"} % latex +\end{verbatim} +Consultate il manuale di Web2C per saperne di più: \OnCD{texmf/doc/web2c}. + +\item Il supporto per enc\TeX{} è ora incluso in Web2C e, di conseguenza, +in tutti i programmi \TeX, per mezzo dell'opzione \optname{-enc} \Dash\ +\emph{solo quando i formati sono stati generati}. enc\TeX{} supporta la +ricodifica generale dell'input e dell'output, permettendo il supporto +completo per l'Unicode (in \acro{UTF}-8). Consultate +\OnCD{texmf-dist/doc/generic/enctex/} e +\url{http://www.olsak.net/enctex.html}. + +\item Aleph, un nuovo motore che combina \eTeX\ ed \OMEGA, è disponibile. +Alcune informazioni sono disponibili in \OnCD{texmf-dist/doc/aleph/base} e +su \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph}. Il formato +basato su \LaTeX{} per Aleph è chiamato \textsf{lamed}. + +\item L'ultimo aggiornamento di \LaTeX\ ha una nuova versione della +\acro{LPPL} \Dash\ ora una licenza ufficialmente approvata da Debian. +Per altri aggiornamenti assortiti, consultiate i file \filename{ltnews} in +\OnCD{texmf-dist/doc/latex/base}. + +\item \cmdname{dvipng}, un nuovo programma per convertire i \acro{DVI} in +immagini \acro{PNG}, è incluso. Consultate +\OnCD{texmf/doc/man/man1/dvipng.1}. + +\item Abbiamo ridotto il pacchetto \pkgname{cbgreek} ad un insieme di font +di ``medie'' dimensioni, con il consenso e i suggerimenti dell'autore +(Claudio Beccari). I font omessi sono quelli invisibili, quelli profilati +e i trasparenti, che sono usati abbastanza raramente, mentre noi avevamo +bisogno di spazio. L'insieme completo è ovviamente disponibile su +\acro{CTAN} (\url{http://mirror.ctan.org/tex-archive/fonts/greek/cb}). + +\item \cmdname{oxdvi} è stato rimosso; usate semplicemente \cmdname{xdvi}. + +\item I comandi (collegamenti) \cmdname{ini} e \cmdname{vir} per +\cmdname{tex}, \cmdname{mf} e \cmdname{mpost} non sono più creati, così +come \cmdname{initex}. Le funzionalità di \cmdname{ini} sono disponibili +oramai da anni tramite l'opzione su riga di comando \optname{-ini}. + +\item Il supporto per la piattaforma \textsf{i386-openbsd} è stato +rimosso. Dato che è disponibile il pacchetto \pkgname{tetex} nel sistema +\acro{BSD} Port e gli eseguibili per \acro{GNU/}Linux e Free\acro{BSD} +erano disponibili, ci è sembrato che il tempo dedicato dai volontari +potesse essere meglio speso da altre parti. + +\item Su \textsf{sparc-solaris} (almeno), potreste dover impostare la +variabile d'ambiente \envname{LD\_LIBRARY\_PATH} per eseguire i programmi +delle \pkgname{t1utils}. La ragione è che questi sono compilati con il C++ +e non esiste una posizione comune per le librerie (questo problema non è +nuovo dell'edizione 2004, ma non era stato documentato in precedenza). In +modo simile, su \textsf{mips-irix}, sono richieste le librerie di runtime +del \acro{MIPS}pro 7.4. + +\end{itemize} + +\subsubsection{2005} + +L'edizione del 2005 ha visto il solito enorme numero di aggiornamenti ai +pacchetti ed ai programmi. L'infrastruttura è rimasta sostanzialmente +invariata dal 2004, ma inevitabilmente ci sono stati comunque dei +cambiamenti: + +\begin{itemize} + +\item Sono stati introdotti i nuovi script \cmdname{texconfig-sys}, + \cmdname{updmap-sys} e \cmdname{fmtutil-sys} che modificano la + configurazione nei percorsi di sistema. Gli script + \cmdname{texconfig}, \cmdname{updmap} e \cmdname{fmtutil} ora + modificano i file specifici per i singoli utenti, sotto + \dirname{$HOME/.texlive2005}. + +\item Sono state introdotte le corrispondenti nuove variabili + \envname{TEXMFCONFIG} e \envname{TEXMFSYSCONFIG} per specificare i + percorsi dove trovare i file di configurazione (per il singolo + utente e per l'intero sistema, rispettivamente). Quindi, potreste + dover spostare le versioni personali di \filename{fmtutil.cnf} e + \filename{updmap.cfg} in questi posti; un'altra possibilità è quella + di ridefinire \envname{TEXMFCONFIG} o \envname{TEXMFSYSCONFIG} in + \filename{texmf.cfg}. In ogni caso la posizione reale di questi file + e i valori di \envname{TEXMFCONFIG} e \envname{TEXMFSYSCONFIG} + devono concordare. Consultate la sezione~\ref{sec:texmftrees}, + \p.\pageref{sec:texmftrees}. + +\item L'anno precedente, abbiamo tenuto \verb|\pdfoutput| ed altre + primitive non definite per l'output in \dvi, anche quando veniva + usato il programma \cmdname{pdfetex}. Quest'anno, come promesso, + abbiamo annullato quella misura di compatibilità . Per cui, se il + vostro documento usa \verb|\ifx\pdfoutput\undefined| per verificare + se viene generato un PDF, dovrà essere cambiato. Potete usare il + pacchetto \pkgname{ifpdf.sty} (che funziona sia sotto plain \TeX{} + che sotto \LaTeX) per fare ciò, oppure rubarne la logica. + +\item L'anno precedente, abbiamo cambiato la maggior parte dei formati per + stampare i caratteri (a 8 bit) come sé stessi (consultate la sezione + precedente). Il nuovo file TCX \filename{empty.tcx} adesso offre un + modo più semplice per ottenere l'originaria notazione \verb|^^| se + la desiderate, come in: +\begin{verbatim} +latex --translate-file=empty.tcx vostrofile.tex +\end{verbatim} + +\item È incluso il nuovo programma \cmdname{dvipdfmx} per la + trasformazione dei DVI in PDF; si tratta di un aggiornamento + attivamente mantenuto di \cmdname{dvipdfm} (che per ora è ancora + disponibile, anche se non più raccomandato). + +\item Sono inclusi i nuovi programmi \cmdname{pdfopen} e + \cmdname{pdfclose} per consentire di ricaricare i file pdf nel + lettore Adobe Acrobat Reader senza riavviare il programma + (altri lettori pdf, in particolare \cmdname{xpdf}, \cmdname{gv} e + \cmdname{gsview}, non hanno mai sofferto di questo problema). + +\item Per consistenza, le variabili \envname{HOMETEXMF} e + \envname{VARTEXMF} sono state rinominate \envname{TEXMFHOME} e + \envname{TEXMFVAR}, rispettivamente. C'è anche \envname{TEXMFVAR}, + che è specifica per ogni utente. Consultate il primo punto + dell'elenco. + +\end{itemize} + + +\subsubsection{2006--2007} + +Nell'edizione 2006--2007, la nuova più grande aggiunta a \TL{} è stato il +programma \XeTeX, disponibile con i comandi \texttt{xetex} e +\texttt{xelatex}; visitate il sito \url{http://scripts.sil.org/xetex}. + +Anche MetaPost ha ricevuto un aggiornamento degno di nota, mentre altri ne +sono stati pianificati per il futuro +(\url{http://tug.org/metapost/articles}), così come per pdf\TeX{} +(\url{http://tug.org/applications/pdftex}). + +I \filename{.fmt} di \TeX{} (formati ad alta velocità ) e i file simili per +MetaPost e \MF{} adesso sono posizionati in sotto directory di +\dirname{texmf/web2c}, invece che nella directory stessa (sebbene la +directory sia ancora visitata durante la ricerca, a beneficio dei +\filename{.fmt} esisitenti). Le sotto directory sono chiamate in base al +``motore'' usato, come \filename{tex} o \filename{pdftex} o +\filename{xetex}. Questo cambiamento dovrebbe essere invisibile nell'uso +normale. + +Il programma (plain) \texttt{tex} non legge più le prime linee +identificate da \texttt{\%\&} per determinare quale formato adoperare; è +il puro \TeX{} Knuthiano (\LaTeX{} e tutto il resto leggono ancora le +linee \texttt{\%\&}). + +Ovviamente anche quest'anno ha visto (i soliti) centinaia di altri +aggiornamenti ai pacchetti ed ai programmi. Come sempre, visitate +\acro{CTAN} (\url{http://mirror.ctan.org}) per tutti gli aggiornamenti. + +Internamente, i sorgenti sono ora memorizzati tramite Subversion, con +un'interfaccia web standard per visitarli; il collegamento è sulla nostra +pagina home. Sebbene invisibile nella distribuzione finale, ci aspettiamo +che questo fornisca un fondamento stabile per lo sviluppo negli anni a +venire. + +Infine, nel maggio 2006 Thomas Esser ha annunciato che non avrebbe più +aggiornato te\TeX{} (\url{http://tug.org/tetex}). Come risultato, c'è +stata una nascita di interesse verso \TL, specialmente tra i distributori +di \GNU/Linux (c'è un nuovo schema di installazione in \TL{} chiamato +\texttt{tetex}, che fornisce un equivalente approssimativo). Speriamo che +alla fine questo si traduca in miglioramenti per tutti all'ambiente \TeX. + +\subsubsection{2008} + +Nell'edizione del 2008, l'intera infrastruttura di \TL{} è stata +riprogettata e reimplementata. Le informazioni complete su +un'installazione sono adesso memorizzate in un file di testo puro +\filename{tlpkg/texlive.tlpdb}. + +Tra le altre cose, ciò rende finalmente possibile aggiornare +un'installazione \TL{} tramite Internet dopo l'installazione iniziale, una +caratteristica che Mik\TeX{} ha offerto per anni. Ci attendiamo di +aggiornare regolarmente i nuovi pacchetti così come diventano disponibili +su \CTAN. + +Il nuovo motore Lua\TeX{} (\url{http://luatex.org}) è ora incluso; +accanto ad un nuovo livello di flessibilità nella composizione +tipografica, questo fornisce un eccellente linguaggio di scripting da +usare sia dentro che fuori i documenti \TeX. + +Il supporto tra Windows e le piattaforme basate su Unix è ora molto più +uniforme. In particolare, la maggior parte degli script Perl e Lua sono +ora disponibili sotto Windows tramite l'interprete Perl distribuito +internamente con \TL. + +Il nuovo script \cmdname{tlmgr} (sezione~\ref{sec:tlmgr}) è l'interfaccia +generale per amministrare \TL{} dopo l'installazione iniziale. Esso +gestice l'aggiornamento dei pacchetti e la conseguente rigenerazione dei +formati, dei file di mappatura e dei file delle lingue, incluse +opzionalmente le aggiunte locali. + +Con l'avvento di \cmdname{tlmgr}, è ora disabilitata l'azione di modifica +dei file di configurazione dei formati e delle sillabazioni operata da +\cmdname{texconfig}. + +Il programma per la creazione degli indici \cmdname{xindy} +(\url{http://xindy.sourceforge.net/}) è ora incluso nella maggior parte +delle piattaforme. + +Lo strumento \cmdname{kpsewhich} può ora riportare tutte le corrispondenze +per un dato file (opzione \optname{--all}) e limitarle ad una data sotto +directory (opzione \optname{--subdir}). + +Il programma \cmdname{dvipdfmx} adesso include la funzionalità di estrarre +le informazioni sulla bounding box attraverso il comando +\cmdname{extractbb}; si tratta di una delle ultime caratteristiche che +erano fornite da \cmdname{dvipdfm} ma non ancora incluse in +\cmdname{dvipdfmx}. + +Gli alias dei font \filename{Times-Roman}, \filename{Helvetica} e così via +sono stati rimossi. Diversi pacchetti si aspettavano che funzionassero in +modo diverso (in particolare, che avessero codifiche differenti) e non +c'era un buon modo per risolverlo. + +Il formato \pkgname{platex} è stato rimosso per risolvere un conflitto di +nome con un completamente diverso \pkgname{platex} giapponese; il +pacchetto \pkgname{polski} contiene ora il principale supporto per la +lingua polacca. + +Internamente, i file con le riserve di stringhe di \web{} sono compilati +dentro gli eseguibili, per semplificare gli aggiornamenti. + +Infine, in questa edizione sono stati inclusi i cambiamenti fatti da +Donald Knuth nella sua ``messa a punto di \TeX\ del 2008''. Consultate +\url{http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}. + + +\subsubsection{2009} + +Nell'edizione 2009, il formato di output predefinito di Lua\AllTeX\ è ora +il PDF per avvalersi del supporto OpenType di Lua\TeX, ecc. I nuovi +eseguibili chiamati \code{dviluatex} e \code{dvilualatex} eseguono +Lua\TeX{} con l'output in DVI. La pagina web di Lua\TeX{} è +\url{http://luatex.org}. + +Il motore Omega e il formato Lambda originari sono stati rimossi dopo +averne discusso con gli autori di Omega. Restano le versioni aggiornate +Aleph e Lamed, così come le utilità di Omega. + +È stata inclusa una nuova versione dei font AMS \TypeI, compreso il +Computer Modern: sono stati integrati alcuni cambiamenti nelle forme +fatti da Knuth nei sorgenti Metafont nel corso degli anni e +l'\emph{hinting} è stato aggiornato. I font Euler sono stati ridisegnati a +fondo da Hermann Zapf (visitate +\url{http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf}). In ogni +caso, le metriche non hanno subito modifiche. La pagina dei font AMS è +\url{http://www.ams.org/tex/amsfonts.html}. + +Il nuovo editor GUI \TeX{}works è incluso per Windows così come in +Mac\TeX. Per le altre piattaforme e per ulteriori informazioni, consultate +il sito di \TeX{}works, \url{http://tug.org/texworks}. Si tratta di un +programma multi piattaforma ispirato all'editor TeXShop per \MacOSX\ e che +ha come obiettivo la facilità d'uso. + +Il programma per la grafica Asymptote è stato incluso per diverse +piattaforme. Esso implementa un linguaggio descrittivo per la grafica +basato su testo vagamente simile a MetaPost, ma con un supporto avanzato +al 3D ed altre caratteristiche. Il suo sito web è +\url{http://asymptote.sourceforge.net}. + +Il programma \code{dvipdfm} è stato sostituito da \code{dvipdfmx}, che +opera in una speciale modalità di compatibilità quando viene invocato con +il primo nome. \code{dvipdfmx} include il supporto per \acro{CJK} +(Chinese-Japanese-Korean, Cinese-Giapponese-Coreano) ed ha accumulato +molte correzione negli anni trascorsi dall'ultima versione di +\code{dvipdfm}. Il sito di DVIPDFMx è +\url{http://project.ktug.or.kr/dvipdfmx}. + +Gli eseguibili per le piattaforme \pkgname{cygwin} e +\pkgname{i386-netbsd} sono ora inclusi, mentre siamo stati avvisati che +gli utenti di Open\acro{BSD} ottengono \TeX\ tramite il loro sistema di +pacchetti, e in più c'erano difficoltà nel produrre eseguibili che +avessero una qualche possibilità di funzionare su più di una versione. + +Una varietà di cambiamenti più piccoli: adesso usiamo la compressione +\pkgname{xz}, il rimpiazzo stabile per \pkgname{lzma} +(\url{http://tukaani.org/xz/}); il carattere |$| è ammesso nei nomi dei +file quando non introduce il nome di variabile noto; la libreria Kpathsea +è ora multi-thread (lo sfrutta MetaPost); l'intera compilazione di +\TL{} è ora basata su Automake.%stopzone + +Nota finale sul passato: tutte le edizioni di \TL{}, assieme al materiale +ausiliario come le etichette dei \CD, sono disponibili all'indirizzo +\url{ftp://tug.org/historic/systems/texlive}. + + +\subsection{2010} +\label{sec:2010news} % keep with 2010 + +Nell'edizione 2010, la versione predefinita per l'output PDF è ora la 1.5, +che consente una maggiore compressione. Questo si applica a tutti i motori +\TeX\ quando vengono usati per produrre PDF e a \code{dvipdfmx}. Caricando +il pacchetto \LaTeX\ \pkgname{pdf14} o impostando |\pdfminorversion=4|, si +si ritorna al PDF~1.4. + +pdf\AllTeX\ ora converte \emph{automaticamente} un file Encapsulated +Postscript (EPS) richiesto in PDF tramite il pacchetto \pkgname{epstopdf} +quando e se viene caricato il file di configurazione per \LaTeX\ +\code{graphics.cfg} e viene richiesto l'output in PDF. Le opzioni +predefinite sono tali da eliminare ogni possibilità che siano sovrascritti i +file PDF creati a mano, ma potete del tutto evitare che \code{epstopdf} sia +caricato mettendo |\newcommand{\DoNotLoadEpstopdf}{}| (o |\def...|) prima +della dichiarazione \cs{documentclass}. Non viene caricato neppure se viene +usato il pacchetto \pkgname{pst-pdf}. Per maggiori dettagli, consultate la +documentazione del pacchetto \pkgname{epstopdf} +(\url{http://ctan.org/pkg/epstopdf-pkg}). + +Un cambiamento correlato è che adesso è abilitata per default l'esecuzione +di alcuni comandi esterni a \TeX, tramite la funzionalità \cs{write18}. +Questi comandi sono \code{repstopdf}, \code{makeindex}, \code{kpsewhich}, +\code{bibtex} e \code{bibtex8}; la lista è definita in \code{texmf.cnf}. Gli +ambienti che devono disabilitare tutti questi comandi esterni possono +deselezionare questa opzione nell'installatore (consultate la +sezione~\ref{sec:options}), oppure rimpiazzare il valore dopo +l'installazione eseguendo |tlmgr conf texmf shell_escape 0|. + +Ancora un altro cambiamento correlato è che ora \BibTeX\ e Makeindex si +rifiutano di scrivere il proprio output in una directory arbitraria (come lo +stesso \TeX) per default. In questo modo diventa ora possibile consentirne +l'uso tramite lo stringente \cs{write18}. Per cambiare questo, può essere +impostata la variabile d'ambiente \envname{TEXMFOUTPUT} oppure può essere +modificata l'opzione |openout_any|. + +\XeTeX\ ora supporta la crenatura al margine lungo le stesse righe come +pdf\TeX\ (l'espansione dei caratteri non è supportata al momento). + +Per default, \prog{tlmgr} ora salva un backup di ciascun pacchetto +aggiornato (\code{tlmgr option autobackup 1}), così che gli aggiornamenti +con pacchetti danneggiati possano essere facilmente ripristinati con +\code{tlmgr restore}. Se eseguite aggiornamenti successivi all'installazione +e non avete spazio sul disco per i backup, eseguite \code{tlmgr option +autobackup 0}. + +Nuovi programmi inclusi: il motore p\TeX\ e le utilità correlate per la +composizione in giapponese; il programma \BibTeX{}U per un \BibTeX\ +compatibile con Unicode; l'utilità \prog{chktex} +(\url{http://baruch.ev-en.org/proj/chktex}) per controllare i documenti +\AllTeX; il traduttore da DVI a SVG \prog{dvisvgm} +(\url{http://dvisvgm.sourceforge.net}). + +Ora sono inclusi gli eseguibili per queste nuove piattaforme: +\code{amd64-freebsd}, \code{amd64-kfreebsd}, \code{i386-freebsd}, +\code{i386-kfreebsd}, \code{x86\_64-darwin}, \code{x86\_64-solaris}. + +Un cambiamento in \TL{} 2009 che ci siamo dimenticati di notare: numerosi +eseguibili legati a \TeX4ht (\url{http://tug.org/tex4ht}) sono stati rimossi +dalle directory degli eseguibili. Il programma generico \code{mk4ht} può +essere usato per eseguire una qualunque tra le varie combinazioni di +\code{tex4ht}. + +Infine, la versione di \TL{} sul \DVD\ TK\ non può più essere eseguita +``live'' (curiosamente). Un singolo \DVD\ non ha più abbastanza spazio. Un +effetto collaterale benefico è che l'installazione da un \DVD\ fisico è ora +molto più rapida. + +\subsubsection{2011} + +Gli eseguibili per \MacOSX\ (\code{universal-darwin} e \code{x86\_64-darwin} +ora funzionano solo su Leopard e succesivi; Panther e Tiger non sono più +supportati. + +Il programma \code{biber} per l'elaborazione delle bibliografie è incluso +per le piattaforme comuni. Il suo sviluppo è strettamente accoppiato con il +pacchetto \code{biblatex}, che reimplementa completamente l'infrastruttura +bibliografica fornita da LaTeX. + +Il programma MetaPost (\code{mpost}) non crea né usa più i file \code{.mem}. +I file necessari, come \code{plain.mp}, sono semplicemente letti ad ogni +esecuzione. Questo è correlato al supporto di MetaPost come libreria, che è +un'altra modifica significativa non visibile dall'utente. + +L'implementazione di \code{updmap} in Perl, precedentemente usata solo su +Windows, è stata rimodernata ed è ora usata su tutte le piattaforme. Non +dovrebbe esserci alcun cambiamento visibile dall'utente, tranne che ora gira +molto più velocemente. + +% +\htmlanchor{news} +\subsection{Present} +\label{sec:tlcurrent} + +\code{tlmgr} supporta gli aggiornamenti da archivi di rete multipli. La +sezione sugli archivi multipli nel messaggio di \code{tlmgr help} ha +ulteriori informazioni. + +Il parametro \cs{XeTeXdashbreakstate} ha il valore predefinito di~1 sia per +\code{xetex} che per \code{xelatex}. Questo permette l'interruzione delle +linee dopo i trattini lunghi e medi, che è stato sempre il comportamento di +\TeX, \LaTeX, Lua\TeX, ecc. I documenti \XeTeX\ esistenti che devono +mantenere la perfetta compatibilità con le interruzioni di linee, devono +impostare \cs{XeTeXdashbreakstate} a~0 esplicitamente. + +I file di output generati, tra gli altri, da \code{pdftex} e \code{dvips} +possono ora superare i 2gb. + +I 35 font standard di PostScript sono ora inclusi nell'output di \code{dvips} +per default, dato che ne esistono così tante versioni differenti. + +Nel modo di esecuzione ristretto \cs{write18}, impostato per default, +\code{mpost} è diventato un programma ammissibile. + +Un file \code{texmf.cnf} viene trovato anche in \filename{../texmf-local}, +se esiste (ad esempio, \filename{/usr/local/texlive/texmf-local/web2c/texmf.cnf}). + +Lo script \code{updmap} legge un file \code{updmap.cfg} in ciascuna directory +invece di una configurazione globale. Questo cambiamento dovrebbe essere invisibile, +a meno che non abbiate modificato il vostro updmap.cfg direttamente. Il messaggio +mostrato da \code{updmap --help} dà ulteriori informazioni. + +Piattaforme: aggiunte \pkgname{armel-linux} e \pkgname{mipsel-linux}; +\pkgname{sparc-linux} e \pkgname{i386-netbsd} non fanno più parte della +distribuzione principale, ma sono disponibili per l'installazione come +eseguibili personalizzati, insieme con una varietà di altre piattaforme: +\url{http://tug.org/texlive/custom-bin.html}. + + +\subsection{Futuro} +%\subsection{Future} + +\emph{\TL{} non è perfetto!} (e mai lo sarà ). Intendiamo di continuare a +fornire nuove versione e vorremmo fornire ulteriore materiale d'aiuto, più +programmi di utilità , più programmi di installazione e (ovviamente) un +ancor più migliorato e meglio controllato insieme di macro e font. Questo +lavoro è fatto completamente da volontari sovraccaricati nel loro +limitato tempo libero e quindi c'è sempre molto da fare. Visita il sito +\url{http://tug.org/texlive/contribute.html}. + +Potete inviare correzioni, suggerimenti e offerte d'aiuto a: +\begin{quote} +\email{tex-live@tug.org} \\ +\url{http://tug.org/texlive} +\end{quote} + +\medskip +\noindent \textsl{Buon lavoro con \TeX!} + +\end{document} diff --git a/Master/texmf-dist/doc/texlive/texlive-pl/Makefile b/Master/texmf-dist/doc/texlive/texlive-pl/Makefile new file mode 100644 index 00000000000..f91a1e554a1 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-pl/Makefile @@ -0,0 +1,2 @@ +include ../texlive-en/Makefile +doc = texlive-pl diff --git a/Master/texmf-dist/doc/texlive/texlive-pl/live4ht.cfg b/Master/texmf-dist/doc/texlive/texlive-pl/live4ht.cfg new file mode 100644 index 00000000000..508794f6918 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-pl/live4ht.cfg @@ -0,0 +1,52 @@ +% tex4ht configuration file for the TeX Live documentation. +% Accumulated over many years. Public domain. +% +% html specifies the main output format. +% info for extra debugging info in the log files. + +% have html in one piece (including footnotes). +%\Preamble{charset=iso-8559-2,html,info,fn-in} +\Preamble{html,info,fn-in} + +% add extra stylesheet +\Configure{@HEAD}{\HCode{% +<link rel="stylesheet" type="text/css" href="\jobname.css" />\Hnewline +<link rel="stylesheet" type="text/css" href="tex-live.css" />\Hnewline +}} +% use png graphics as-is +\Configure{graphics*} + {png} + {\Needs{""}% + \Picture[pict]{../texlive-common/\csname Gin@base\endcsname.png}% + } +% or LaTeX complains it is missing. +\begin{document} + +\EndPreamble + +% simplify output for HTML. We leave TeX and LaTeX alone, since tex4ht +% actually does the lowered E (and raised A) in CSS. +%\def\OMEGA{Omega} +\def\LaTeXe{LaTeX2e} +\def\eTeX{e-\TeX} +\def\acro#1{#1} +\def\MF{Metafont} +\def\BibTeX{BibTeX} +\def\warningbox{} +\def\endwarningbox{} + +\Configure{crosslinks}{[}{] + }{nastêpny}{poprzedni}{wstecz} + {pocz±tek}{koniec}{spis} + +\ifx\tldocenglish\undefined \else + % these definitions cause "missing } inserted" at \end{tabularx} in + % other langs. don't know why. + % + % don't make these into links, as happens with \path. We only have a few + % special characters that actually occur. + \def\dirname{\texttt\bgroup\catcode`\$=12 \catcode`\_=12 \catcode`\~=12 + \finishliteral} + \def\finishliteral#1{#1\egroup} + \let\filename=\dirname +\fi diff --git a/Master/texmf-dist/doc/texlive/texlive-pl/tex-live.css b/Master/texmf-dist/doc/texlive/texlive-pl/tex-live.css new file mode 100644 index 00000000000..b8aa763a0df --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-pl/tex-live.css @@ -0,0 +1,44 @@ +/* $Id: tex-live.css 3436 2007-01-13 22:34:01Z karl $ + Simple CSS for TeX Live that adds margins and a little color. + original by Bzyl Wlodzimierz, edited by Karl Berry, 2005. + Public domain. */ + +html { + // top left bottom right + margin: 15pt 15pt 15pt 15pt; + background: rgb(255,255,224); +} + +body { + margin: 0 5pt 0 5pt; + padding: 0; + //matw: background: rgb(224,255,224); + // (It looks better to me to have a consistent background --karl) +// fonts in browser are low resolution; +// therefore generated serif are poor quality, +// so they disturb reading (that is my opinion) + font-family: sans-serif; + font-style: normal; +} + +/* (It looks better to me to not vary colors at every level --karl) */ + +h3.sectionHead { + padding: 12pt 10pt 12pt 20pt; + //matw: background: rgb(192,224,255); + background: rgb(224,224,255); + color: rgb(0,0,32); +} + +h4.subsectionHead { + padding: 7pt 10pt 7pt 40pt; + background: rgb(224,224,255); + color: rgb(0,0,32); +} + +h5.subsubsectionHead { + padding: 3pt 10pt 3pt 40pt; + //matw: background: rgb(224,255,255); + background: rgb(224,224,255); + color: rgb(0,0,32); +} diff --git a/Master/texmf-dist/doc/texlive/texlive-pl/tex-livep.sty b/Master/texmf-dist/doc/texlive/texlive-pl/tex-livep.sty new file mode 100644 index 00000000000..4f4f54ea9e5 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-pl/tex-livep.sty @@ -0,0 +1,497 @@ +% TeX Live documentation style. Written by many people over many years. +% Public domain. +% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{tex-livep}[2010/07/10 v1.8 TeX Live documentation style] +% +% colortbl and other packages otherwise make the default be letter, it seems. +\RequirePackage[a4paper,hscale=0.75,lines=60,vmarginratio=10:8]{geometry} +% +\RequirePackage{alltt} +\RequirePackage{array} +\RequirePackage{colortbl} +\RequirePackage{comment} +\RequirePackage{float} +\RequirePackage{graphicx} +\RequirePackage{longtable} +\RequirePackage{shortvrb} +\RequirePackage[normalem]{ulem} +\RequirePackage[obeyspaces]{url} +\RequirePackage{xspace} +% +\RequirePackage{lmodern} +\usepackage{textcomp}% including \textbullet +\usepackage[T1]{fontenc} +%\usepackage[latin1]{inputenc} +% +% for a proper \acro command (even in the context of the definition in +% ltugboat -- \DRC overrides without checking) +\RequirePackage{relsize} +%\DeclareRobustCommand{\acro}[1]{\textsmaller{#1}\@} +\def\acro#1{\textscale{.9}{#1}\@} +% +\RequirePackage{fancyvrb} +\DefineVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\normalsize} +\DefineVerbatimEnvironment{fverbatim}{Verbatim}{fontsize=\footnotesize} +\DefineVerbatimEnvironment{sverbatim}{Verbatim}{fontsize=\small} +\DefineVerbatimEnvironment{boxedverbatim} + {Verbatim}{fontsize=\footnotesize,frame=single} +\DefineVerbatimEnvironment{Verbatim}{Verbatim}{fontsize=\normalsize} +\def\verbatiminput#1{\VerbatimInput[fontsize=\scriptsize]{#1}} +\def\boxedverbatiminput#1{\VerbatimInput[frame=single,fontsize=\scriptsize]{#1}} +\def\listinginput#1#2{\VerbatimInput[fontsize=\scriptsize,firstnumber=#1,numbers=left]{#2}} +\MakeShortVerb\| +% +% +% Done with packages. +% +% Page layout. +\message{dimens: textwidth=\the\textwidth\space + oddsidemargin=\the\oddsidemargin\space + evensidemargin=\the\evensidemargin\space + textheight=\the\textheight\space + topmargin=\the\topmargin\space + footskip=\the\footskip} +% +% with settings above, and without a4 (hence letter): +% textwidth=424.49744pt oddsidemargin=22.25128pt evensidemargin=22.25128pt +% textheight=622.26999pt topmargin=-20.135pt footskip=-6.135pt +% +% with default a4paper geometry settings (not enough height): +% textwidth=418.25368pt oddsidemargin=17.3571pt evensidemargin=17.3571pt +% textheight=591.5302pt topmargin=-7.86334pt footskip=30.0pt +% +% with geometry settings [a4paper,hscale=0.75,lines=60,vmarginratio=10:8]: +% textwidth=448.1309pt oddsidemargin=2.41849pt evensidemargin=2.41849pt +% textheight=718.0pt topmargin=-38.68848pt footskip=30.0pt +% +%%\advance\textwidth by 1.1in +%%\advance\oddsidemargin by -.55in +%%\advance\evensidemargin by -.55in +%% +%\advance\textheight by 1in +%\advance\topmargin by -.5in +%\advance\footskip by -.5in +\pagestyle{headings} +% +% LaTeX parameters. +\renewcommand{\topfraction}{0.85} +\renewcommand{\floatpagefraction}{0.86} +\renewcommand{\textfraction}{0.1} +\renewcommand{\abovecaptionskip}{4pt} +\renewcommand{\belowcaptionskip}{4pt} +\setcounter{tocdepth}{3} +\setcounter{secnumdepth}{3} +\setcounter{topnumber}{5} +\setcounter{totalnumber}{5} +% +% linebreaking, etc. +\hbadness=4000 +\vbadness=4000 +\emergencystretch=.1\hsize +\relpenalty=500 +% +\def\slash{/\penalty\z@\hskip\z@skip } +% +% various sorts of names +\newcommand*{\pkgname}[1]{\textsf{#1}}% package name +\newcommand*{\optname}[1]{\texttt{#1}}% (package,class) option name +\newcommand*{\cmdname}[1]{\textsf{#1}}% command name +\newcommand*{\colname}[1]{\emph{#1}}% collection name +\newcommand*{\dirname}[1]{\path{#1}}% directory name +\def\filename#1{\path{#1}}% file name +\newcommand*{\envname}[1]{\texttt{#1}}% environment variable name +\newcommand{\code}[1]{\texttt{#1}} +\newcommand{\file}[1]{\texttt{#1}} +\newcommand{\prog}[1]{\textsf{#1}}% same as \cmdname +\newcommand{\samp}[1]{`\texttt{#1}'} +\newcommand{\var}[1]{{\sl #1}}% not \textsl, for roman not typewriter slanted. +\newcommand{\ttvar}[1]{\texttt{\var{#1}}} +% +% underlined command input. +%\def\Ucom#1{% +% \uline{\rule[-.2\baselineskip]{0pt}{.9\baselineskip}\ttfamily #1}} +% bold command input +\def\Ucom#1{{\bfseries\ttfamily #1}} + +% \CDref is for url's with a #, where we need to write the target url and +% displayed url separately in the input, due to catcode madness. +% (We could simplify/remove this next time, I think.) +\def\CDref#1#2{\texttt{#1}} +% +% \OnCD is currently for any other reference to a file or directory in +% the distribution. PDF readers only open .pdf files, though, so we +% should change this to only use \href for those. Or more likely use +% different macros in the source. +% \OnCD no longer has any use at all, since we don't have unpacked files +% on the DVD and it has never worked when reading the PDF online. +\def\OnCD#1{\path{#1}} +%\def\OnCD#1{\href{../../../../#1}{\path{#1}}} +% +% \href incorrectly appends .pdf to anything without an extension; these +% definitions using \hyper@linkurl do not, but they fail for .pdf +% references -- which are the only ones that work anyway. So this is +% useless, in practice. +%\def\CDref#1#2{\hyper@linkurl{#2}{../../../../#1}} +%\def\OnCD#1{\hyper@linkurl{\path{#1}}{../../../../#1}} + +% GUI menu/button/tab sequence: +\def\guiseq#1{\textsf{#1}} +\def\arw{\unskip$\rightarrow$\ignorespaces} +% +% Special names. +\def\dpi{$\,$dpi\xspace} +\def\bs{{\protect\normalfont\ttfamily\char'134}} +\DeclareRobustCommand{\cs}[1]{{\normalfont\ttfamily\char`\\#1}} +\def\Q#1{\par\vskip6pt\leftline{#1}\par} +\def\hyph{-} +% +% many abbreviations. +\def\AllTeX{(\La\kern-.075em)\kern-.075em\TeX} +%\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% +% \hbox{$\mathcal{S}$}\kern-.075em $} +\def\AFMtoTFM{\cmdname{AFM2TFM}\null} +\def\bv{\emph{Baskerville}} +\let\BV=\bv +\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% + \hbox{$\mathcal{S}$}\kern-.075em $} +\def\Dash{\unskip\nobreak\thinspace---\thinspace\ignorespaces} +\def\dvicopy{\cmdname{dvicopy}} +\def\dvidvi{\cmdname{dvidvi}} +\def\dvips{\cmdname{dvips}} +\def\eTeX{$\varepsilon$-\TeX} +\def\fpTeX{\textrm{fp}\TeX\xspace} +\def\GFtoDVI{\cmdname{GFtoDVI}\null} +\def\GFtoPK{\cmdname{GFtoPK}\null} +\def\GFtype{\cmdname{GFtype}} +\def\GUI{\acro{GUI}\xspace} +\def\KPS{Kpathsea} +% This code % is hacked from its definition of \cs{LaTeX}; it allows +% slants (for example) to propagate into the raised (small) `A': +\newcommand{\La}% + {L\kern-.36em + {\setbox0\hbox{T}% + \vbox to\ht0{\hbox{$\m@th$% + \csname S@\f@size\endcsname + \fontsize\sf@size\z@ + \math@fontsfalse\selectfont + A}% + \vss}% + }} +\def\OMEGA{$\Omega$} +\def\OzMF{OzMF} +\def\OzMP{OzMP} +\def\OzTeX{O\kern-.03em z\kern-.15em\TeX} +\def\OzTeX{O\kern-.03em z\kern-.15em\TeX} +\def\p.{p.\,} +\def\PKtype{\cmdname{PKtype}} +\def\PLtoTF{\cmdname{PLtoTF}\null} +\def\ProTeXt{pro\TeX t} +\def\teTeX{\textrm{te}\TeX\xspace} +\def\TeXLive{\TeX{} Live\xspace} +\def\TFtoPL{\cmdname{TFtoPL}\null} +\def\TK{\TeX\ Collection} +\let\TL=\TeXLive +\def\TypeI{Type~1} +\def\VFtoVP{\cmdname{VFtoVP}\null} +\def\VPtoVF{\cmdname{VPtoVF}\null} +\def\Thanh{H\`an~Th\ifx % get Unicode char in tex4ht's HTML output + \HCode\UnDef\^e\llap{\raise 0.5ex\hbox{\'{}}}\else + \HCode{\string&\#x1EBF;}\fi~Th\`anh} +\def\XEmTeX{\textrm{XEm}\TeX\xspace} +\def\XEmacs{\textrm{XEmacs}\xspace} +\def\XeTeX{Xe\TeX} +\def\Webc{Web2C} +\providecommand*{\CD}{\acro{CD}\xspace} +\providecommand*{\CTAN}{\acro{CTAN}\xspace} +\providecommand*{\DVD}{\texorpdfstring{\acro{DVD}}{DVD}\xspace} +\providecommand*{\ISO}{\texorpdfstring{\acro{ISO}}{ISO}\xspace} +\providecommand*{\GNU}{\acro{GNU}\xspace} +\providecommand*{\HTML}{\acro{HTML}\xspace} +\providecommand*{\MacOSX}{Mac\,\acro{OS\,X}\xspace} +\providecommand*{\PS}{Post\-Script\xspace} +\providecommand*{\TDS}{\acro{TDS}\xspace} +\providecommand*{\USB}{\texorpdfstring{\acro{USB}}{USB}\xspace} +\providecommand*{\dvi}{\acro{DVI}\xspace} +\providecommand*{\web}{\texttt{WEB}\xspace} + +% Include an image. +% #1 - name of image (pictures/#1.jpg, always .jpg please) +% #2 - bb for html +% #3 - width for TeX +% +\def\tlimage#1#2#3{% + \ifnum \Status=2 % html, want relative path in output + \includegraphics[#2]{../../general/texlive-common/pictures/#1.jpg} + \else % not html, handled by TEXINPUTS in Makefile + \includegraphics[width=#3]{pictures/#1.jpg} + \fi + \\[5mm] +} + +\def\tlpng#1#2{% + \ifnum \Status=2 % html, want relative path in output + \includegraphics[bb=0 0 1 1]{#1.png}% + \else % not html, handled by TEXINPUTS in Makefile +% \includegraphics[width=#2]{#1.png}% + \includegraphics[width=#2]{#1.png}% + \fi +} + +% +% description-like environment that uses tt instead of bf, and doesn't +% go to the left margin. Without the \hfil, get an underfull box. +% Don't know why \descriptionlabel doesn't. +% +\newenvironment{ttdescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt % these lists tend to have short descriptions + \parindent=0pt + \let\makelabel=\ttdescriptionlabel}}% + {\end{list}} +\newcommand*\ttdescriptionlabel[1]{\hspace\labelsep + \normalfont\ttfamily #1\hfil} +% +% Likewise, for commands using sans serif. +\newenvironment{cmddescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt + \let\makelabel=\cmddescriptionlabel}}% + {\end{list}} +\newcommand*\cmddescriptionlabel[1]{\hspace\labelsep + \normalfont\sffamily #1\hfil} + +% General squeezed itemize/enumerate. +\newenvironment{itemize*}% + {\begin{itemize}% + \setlength{\itemsep}{0pt}% + \setlength{\parskip}{0pt}}% + {\end{itemize}} + +\newenvironment{enumerate*}% + {\begin{enumerate}% + \setlength{\itemsep}{0pt}% + \setlength{\parskip}{0pt}}% + {\end{enumerate}} + +\newsavebox{\wbox} +\newenvironment{warningbox} + {\begin{lrbox}{\wbox} + \begin{minipage}{.95\textwidth}} + {\end{minipage}\end{lrbox}\fbox{\usebox{\wbox}}} +% +% lrbox is used as a representation marking. I changed it to +% lrBox in tne source file, to get closer to logical marking +\newsavebox{\mylrbox} +\newenvironment{lrBox} + {\begin{lrbox}{\mylrbox}} + {\end{lrbox}} + + +% emacs-page output setup +% +\ifx \HCode\UnDef + \providecommand{\Status}{0}% running TeX +\else + \providecommand{\Status}{2}% running TeX4ht +\fi +%\typeout{Status is \Status} +% +\newif\ifSingleColumn +% +% By default, we won't be creating hyperlinks. +\def\href#1#2{#2} +\def\hypertarget#1#2{} +\def\email#1{\href{mailto:#1}{\path{#1}}} % \path comes from url +\def\htmlanchor#1{} +% +\definecolor{hypercolor}{rgb}{0.5,0.0,0.5} % purplish external links. +% +% +\ifcase\Status + % \Status = 0 + \typeout{TeX Live documentation in DVI format} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 1 + \typeout{TeX Live documentation in PDF format} + \RequirePackage[breaklinks, + colorlinks,linkcolor=hypercolor,citecolor=hypercolor, + urlcolor=hypercolor,filecolor=hypercolor, + bookmarksopen, + %pdfstartview={FitBH -320000}, % fails with acrobat7 + hyperindex] + {hyperref} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 2 + \typeout{TeX Live documentation in HTML format} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + % read our config file, live4ht.cfg; q.v., for more definitions. + % hyperref load must come after the tex4ht load. + \RequirePackage[live4ht]{tex4ht} + \RequirePackage[tex4ht]{hyperref} \hyperlinkfileprefix{} + % definitions need simplifying for TeX4ht to make relative paths work. + \def\CDref#1#2{\href{../../../../#1}{#2}} + \def\OnCD#1{\href{../../../../#1}{#1}} + \def\htmlanchor#1{\HCode{<a id="#1"></a>}} + \or + % \Status = 3 + \typeout{TeX Live documentation as a Baskerville issue} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \RequirePackage{bvoutln}% outline of baskerville + \SingleColumnfalse + \RequirePackage{multicol} + \or + % \Status = 4 + \typeout{TeX Live documentation as a TUB article} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \SingleColumnfalse + \newenvironment{multicols}[1]{}{} +\fi +% +\ifnum \Status=4 +\else + \RequirePackage{texnames} + \providecommand\TeXXeT{\TeX-{}-% + \kern-.1emX\kern-.125em\lower.5ex\hbox{E}\kern-.1667emT\@} + \def\MP{MetaPost} + \let\mf\MF + \newcommand\ConTeXt{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt} + \newcommand\MIKTEX{MiK\kern-.025em \TeX}% per www.miktex.org + % from pictex.tex: + \ifx\PiC\undefined \def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC} \fi + \ifx\PiCTeX\undefined \def\PiCTeX{\PiC\kern-.11em\TeX} \fi +\fi +% +% hacking at sections etc., to pay attention to baskerville status +\newcommand{\@condend@multicols}{% + \ifSingleColumn + \else + \def\@tempa{multicols}% + \ifx\@tempa\@currenvir + \end{multicols}% + \fi + \fi +} +\let\Section\section +\renewcommand{\section}{% + \@ifstar + {\Section*}% + {% + \@condend@multicols + \@dblarg\@full@section + }% +} +\def\@full@section[#1]#2{% + \Section[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} +\let\SubSection\subsection +\renewcommand{\subsection}{% + \@ifstar{\SubSection*}% + {% + \@condend@multicols + \@dblarg\@full@subsection + } +} +\def\@full@subsection[#1]#2{% + \SubSection[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} + +% calm things down a bit if we're in a multiple-column version +\ifSingleColumn +\else + \def\@listI{\leftmargin\leftmargini + \parsep \z@ + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \itemsep \z@ \@plus .1\p@ + } + \let\@listi\@listI + \@listi + \def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \itemsep \z@ \@plus .1\p@ + } + \def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 1\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \partopsep \z@ + \itemsep \topsep + } + \def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep + } + \def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep + } + \def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep + } +\fi +% +% array package stuff +\def\arraybackslash{\let\\=\@arraycr} +\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}} +% +% shaded rows (using facilities of colortbl) +% +\definecolor{pale}{gray}{.9} +\newcount\colrow +\gdef\RowColor{pale} +\def\SetRowColor{% + \rowcolor{\RowColor}% + \global\advance\colrow by1\relax + \ifodd\colrow + \gdef\RowColor{pale}% + \else + \gdef\RowColor{white}% + \fi +} +% redefine to hack up a reference even though we don't need it... +\renewcommand\@bibitem[1]{\if@filesw \immediate\write\@auxout + {\string\bibcite{#1}{?}}\fi\ignorespaces} +% +% \unknownTeXlive is a dummy texlive entry for the biblio +\newcommand\unknownTeXlive[2][\relax]{\textbf{\textsc{unknown}}% + \global\@all@unknown\expandafter{\the\@all@unknown{#2}}% +} +\newtoks\@all@unknown +\global\@all@unknown{} +\AtEndDocument{\@message@unknowns} +\def\@message@unknowns{\edef\@tempa{\the\@all@unknown}% + \ifx\@tempa\@empty + \else + \def\@tempa{*** TeX Live package location of }% + \expandafter\@output@unknowns\the\@all@unknown\@empty + \fi +} +\def\@output@unknowns#1{\edef\@tempb{#1}% + \ifx\@tempb\@empty + \typeout{ unknown}% + \else + \message{\@tempa#1,}% + \def\@tempa{}% + \expandafter\@output@unknowns + \fi +} + + +% Silence font warnings about no bold typewriter in LM. +\def\@font@warning#1{}% + +% Silence hyperref warnings about \kern. +\def\HyPsd@Warning#1{}% + +\endinput diff --git a/Master/texmf-dist/doc/texlive/texlive-pl/texlive-pl.css b/Master/texmf-dist/doc/texlive/texlive-pl/texlive-pl.css new file mode 100644 index 00000000000..ba915268b0b --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-pl/texlive-pl.css @@ -0,0 +1,380 @@ + +/* start css.sty */ +.ec-lmr-17{font-size:170%;} +.ec-lmri-12x-x-172{font-size:206%; font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmri-12x-x-172{ font-style:italic;} +.ec-lmss-17{font-size:170%; font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmss-17{ font-family: sans-serif;} +.ec-lmr-12{font-size:120%;} +.ec-lmtt-12{font-size:120%; font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-12{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmtt-10{ font-family: monospace;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmss-10{ font-family: sans-serif;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtk-10{ font-family: monospace;} +.ec-lmtt-8{font-size:80%; font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmtt-8{ font-family: monospace;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmro-10{ font-style: oblique;} +.ec-lmtt-9{font-size:90%; font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtt-9{ font-family: monospace;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmtti-10{ font-family: monospace; font-style:italic;} +.ec-lmr-7{font-size:70%;} +.ec-lmtt-8x-x-87{font-size:69%; font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +.ec-lmtt-8x-x-87{ font-family: monospace;} +p.noindent { text-indent: 0em } +td p.noindent { text-indent: 0em; margin-top:0em; } +p.nopar { text-indent: 0em; } +p.indent{ text-indent: 1.5em } +@media print {div.crosslinks {visibility:hidden;}} +a img { border-top: 0; border-left: 0; border-right: 0; } +center { margin-top:1em; margin-bottom:1em; } +td center { margin-top:0em; margin-bottom:0em; } +.Canvas { position:relative; } +img.math{vertical-align:middle;} +li p.indent { text-indent: 0em } +li p:first-child{ margin-top:0em; } +li p:last-child, li div:last-child { margin-bottom:0.5em; } +li p~ul:last-child, li p~ol:last-child{ margin-bottom:0.5em; } +.enumerate1 {list-style-type:decimal;} +.enumerate2 {list-style-type:lower-alpha;} +.enumerate3 {list-style-type:lower-roman;} +.enumerate4 {list-style-type:upper-alpha;} +div.newtheorem { margin-bottom: 2em; margin-top: 2em;} +.obeylines-h,.obeylines-v {white-space: nowrap; } +div.obeylines-v p { margin-top:0; margin-bottom:0; } +.overline{ text-decoration:overline; } +.overline img{ border-top: 1px solid black; } +td.displaylines {text-align:center; white-space:nowrap;} +.centerline {text-align:center;} +.rightline {text-align:right;} +div.verbatim {font-family: monospace; white-space: nowrap; text-align:left; clear:both; } +.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +div.fbox {display:table} +div.center div.fbox {text-align:center; clear:both; padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +div.minipage{width:100%;} +div.center, div.center div.center {text-align: center; margin-left:1em; margin-right:1em;} +div.center div {text-align: left;} +div.flushright, div.flushright div.flushright {text-align: right;} +div.flushright div {text-align: left;} +div.flushleft {text-align: left;} +.underline{ text-decoration:underline; } +.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; } +.framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +.framebox-c {text-align:center;} +.framebox-l {text-align:left;} +.framebox-r {text-align:right;} +span.thank-mark{ vertical-align: super } +span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript{ font-size:80%; } +div.footnotes{border-top:solid 1px black; border-bottom:solid 1px black; padding-bottom:1ex; padding-top:0.5ex; margin-right:15%; margin-top:2ex; font-style:italic; font-size:85%;} +div.footnotes p{margin-top:0; margin-bottom:0; text-indent:0;} +div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; } +table.tabular td p{margin-top:0em;} +table.tabular {margin-left: auto; margin-right: auto;} +td p:first-child{ margin-top:0em; } +td p:last-child{ margin-bottom:0em; } +div.td00{ margin-left:0pt; margin-right:0pt; } +div.td01{ margin-left:0pt; margin-right:5pt; } +div.td10{ margin-left:5pt; margin-right:0pt; } +div.td11{ margin-left:5pt; margin-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +td.td00{ padding-left:0pt; padding-right:0pt; } +td.td01{ padding-left:0pt; padding-right:5pt; } +td.td10{ padding-left:5pt; padding-right:0pt; } +td.td11{ padding-left:5pt; padding-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +.hline hr, .cline hr{ height : 1px; margin:0px; } +.tabbing-right {text-align:right;} +span.TEX {letter-spacing: -0.125em; } +span.TEX span.E{ position:relative;top:0.5ex;left:-0.0417em;} +a span.TEX span.E {text-decoration: none; } +span.LATEX span.A{ position:relative; top:-0.5ex; left:-0.4em; font-size:85%;} +span.LATEX span.TEX{ position:relative; left: -0.4em; } +div.float, div.figure {margin-left: auto; margin-right: auto;} +div.float img {text-align:center;} +div.figure img {text-align:center;} +.marginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;} +.marginpar p{margin-top:0.4em; margin-bottom:0.4em;} +table.equation {width:100%;} +.equation td{text-align:center; } +td.equation { margin-top:1em; margin-bottom:1em; } +td.equation-label { width:5%; text-align:center; } +td.eqnarray4 { width:5%; white-space: normal; } +td.eqnarray2 { width:5%; } +table.eqnarray-star, table.eqnarray {width:100%;} +div.eqnarray{text-align:center;} +div.array {text-align:center;} +div.pmatrix {text-align:center;} +table.pmatrix {width:100%;} +span.pmatrix img{vertical-align:middle;} +div.pmatrix {text-align:center;} +table.pmatrix {width:100%;} +span.bar-css {text-decoration:overline;} +img.cdots{vertical-align:middle;} +div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; } +table.tabular td p{margin-top:0em;} +table.tabular {margin-left: auto; margin-right: auto;} +td p:first-child{ margin-top:0em; } +td p:last-child{ margin-bottom:0em; } +div.td00{ margin-left:0pt; margin-right:0pt; } +div.td01{ margin-left:0pt; margin-right:5pt; } +div.td10{ margin-left:5pt; margin-right:0pt; } +div.td11{ margin-left:5pt; margin-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +td.td00{ padding-left:0pt; padding-right:0pt; } +td.td01{ padding-left:0pt; padding-right:5pt; } +td.td10{ padding-left:5pt; padding-right:0pt; } +td.td11{ padding-left:5pt; padding-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +.hline hr, .cline hr{ height : 1px; margin:0px; } +div.array {text-align:center;} +.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; font-weight:bold; font-size:110%;} +.index-item, .index-subitem, .index-subsubitem {display:block} +div.caption {text-indent:-2em; margin-left:3em; margin-right:1em; text-align:left;} +div.caption span.id{font-weight: bold; white-space: nowrap; } +h1.partHead{text-align: center} +p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } +p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } +.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;} +.subparagraphHead, .likesubparagraphHead { font-weight: bold;} +.quote {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; margin-right:1em; text-align:justify;} +.verse{white-space:nowrap; margin-left:2em} +div.maketitle {text-align:center;} +h2.titleHead{text-align:center;} +div.maketitle{ margin-bottom: 2em; } +div.author, div.date {text-align:center;} +div.thanks{text-align:left; margin-left:10%; font-size:85%; font-style:italic; } +.quotation {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; } +.abstract p {margin-left:5%; margin-right:5%;} +div.abstract {width:100%;} +.alltt P { margin-bottom : 0em; margin-top : 0em; } +.alltt { margin-bottom : 1em; margin-top : 1em; } +.figure img.graphics {margin-left:10%;} +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +div.longtable{text-align:center;} +.uline{ text-decoration:underline; } +.uuline{ text-decoration:underline; } +span.sout {text-decoration: line-through } +span.xout {text-decoration: line-through } +span.uwave {text-decoration:underline } +P.fancyvrb {white-space: nowrap; margin:0em;} +div#fancyvrb1{ border-top: solid 0.4pt; } +div#fancyvrb1{ border-left: solid 0.4pt; } +div#fancyvrb1{ border-bottom: solid 0.4pt; } +div#fancyvrb1{ border-right: solid 0.4pt; } +div#fancyvrb2{ border-top: solid 0.4pt; } +div#fancyvrb2{ border-left: solid 0.4pt; } +div#fancyvrb2{ border-bottom: solid 0.4pt; } +div#fancyvrb2{ border-right: solid 0.4pt; } +div#fancyvrb3{ border-top: solid 0.4pt; } +div#fancyvrb3{ border-left: solid 0.4pt; } +div#fancyvrb3{ border-bottom: solid 0.4pt; } +div#fancyvrb3{ border-right: solid 0.4pt; } +div#fancyvrb4{ border-top: solid 0.4pt; } +div#fancyvrb4{ border-left: solid 0.4pt; } +div#fancyvrb4{ border-bottom: solid 0.4pt; } +div#fancyvrb4{ border-right: solid 0.4pt; } +/* end css.sty */ + diff --git a/Master/texmf-dist/doc/texlive/texlive-pl/texlive-pl.html b/Master/texmf-dist/doc/texlive/texlive-pl/texlive-pl.html new file mode 100644 index 00000000000..0e2ea49f78d --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-pl/texlive-pl.html @@ -0,0 +1,6942 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" + "http://www.w3.org/TR/html4/loose.dtd"> +<html > +<head> + <title>Przewodnik po TEX Live +TeX Live 2012 </title> +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2"> +<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> +<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> +<!-- charset=iso-8859-1,html,info,fn-in --> +<meta name="src" content="texlive-pl.tex"> +<meta name="date" content="2012-06-04 20:23:00"> +<link rel="stylesheet" type="text/css" href="texlive-pl.css"> +<link rel="stylesheet" type="text/css" href="texlive-pl.css" > +<link rel="stylesheet" type="text/css" href="tex-live.css" > +</head><body +> + <div class="maketitle"> + + + + + +<h2 class="titleHead">Przewodnik po <span class="TEX">T<span +class="E">E</span>X</span> Live<br /> +<span class="TEX">T<span +class="E">E</span>X</span> Live 2012 </h2> + <div class="author" ><span +class="ec-lmr-12">Redakcja: Karl Berry</span> +<br /> <a +href="http://tug.org/texlive/" class="url" ><span +class="ec-lmtt-12">http://tug.org/texlive/</span></a> </div><br /> +<div class="date" ><span +class="ec-lmr-12">Czerwiec 2012</span></div> + </div> + <h3 class="likesectionHead"><a + id="x1-1000"></a>Spis treści</h3> + <div class="tableofcontents"> + <span class="sectionToc" >1 <a +href="#x1-20001" id="QQ2-1-2">Wstęp</a></span> +<br />  <span class="subsectionToc" >1.1 <a +href="#x1-30001.1" id="QQ2-1-3">TEX Live i TEX Collection</a></span> +<br />  <span class="subsectionToc" >1.2 <a +href="#x1-40001.2" id="QQ2-1-4">Obsługiwane systemy operacyjne</a></span> +<br />  <span class="subsectionToc" >1.3 <a +href="#x1-50001.3" id="QQ2-1-5">Podstawy instalacji <span class="TEX">T<span +class="E">E</span>X</span> Live</a></span> +<br />  <span class="subsectionToc" >1.4 <a +href="#x1-60001.4" id="QQ2-1-6">Uwagi dotyczące bezpieczeństwa</a></span> +<br />  <span class="subsectionToc" >1.5 <a +href="#x1-70001.5" id="QQ2-1-7">Dostępna pomoc</a></span> +<br /> <span class="sectionToc" >2 <a +href="#x1-80002" id="QQ2-1-8">Struktura <span class="TEX">T<span +class="E">E</span>X</span> Live</a></span> +<br />  <span class="subsectionToc" >2.1 <a +href="#x1-90002.1" id="QQ2-1-9"><span class="TEX">T<span +class="E">E</span>X</span> Collection: TEX Live, proTEXt, MacTEX</a></span> +<br />  <span class="subsectionToc" >2.2 <a +href="#x1-100002.2" id="QQ2-1-10">Główne katalogi TEX Live</a></span> +<br />  <span class="subsectionToc" >2.3 <a +href="#x1-110002.3" id="QQ2-1-11">Predefiniowane drzewa katalogów texmf</a></span> +<br />  <span class="subsectionToc" >2.4 <a +href="#x1-120002.4" id="QQ2-1-12">Rozszerzenia <span class="TEX">T<span +class="E">E</span>X</span>-a</a></span> +<br />  <span class="subsectionToc" >2.5 <a +href="#x1-130002.5" id="QQ2-1-13">Inne ważniejsze programy <span class="TEX">T<span +class="E">E</span>X</span> Live</a></span> +<br />  <span class="subsectionToc" >2.6 <a +href="#x1-140002.6" id="QQ2-1-14">Pakiety i ich zestawy</a></span> +<br />  <span class="subsectionToc" >2.7 <a +href="#x1-150002.7" id="QQ2-1-16">Fonty w <span class="TEX">T<span +class="E">E</span>X</span> Live</a></span> +<br /> <span class="sectionToc" >3 <a +href="#x1-160003" id="QQ2-1-17">Instalacja</a></span> +<br />  <span class="subsectionToc" >3.1 <a +href="#x1-170003.1" id="QQ2-1-18">Start instalacji</a></span> +<br />   <span class="subsubsectionToc" >3.1.1 <a +href="#x1-180003.1.1" id="QQ2-1-19">Unix</a></span> +<br />   <span class="subsubsectionToc" >3.1.2 <a +href="#x1-190003.1.2" id="QQ2-1-21">MacOSX</a></span> +<br />   <span class="subsubsectionToc" >3.1.3 <a +href="#x1-200003.1.3" id="QQ2-1-22">Windows</a></span> +<br />   <span class="subsubsectionToc" >3.1.4 <a +href="#x1-210003.1.4" id="QQ2-1-24">Cygwin</a></span> +<br />   <span class="subsubsectionToc" >3.1.5 <a +href="#x1-220003.1.5" id="QQ2-1-25">Instalator w trybie tekstowym</a></span> +<br />   <span class="subsubsectionToc" >3.1.6 <a +href="#x1-230003.1.6" id="QQ2-1-26">Zaawansowany program instalacyjny w trybie graficznym</a></span> +<br />   <span class="subsubsectionToc" >3.1.7 <a +href="#x1-240003.1.7" id="QQ2-1-27">Uproszczony program instalacyjny</a></span> +<br />  <span class="subsectionToc" >3.2 <a +href="#x1-250003.2" id="QQ2-1-28">Podczas instalacji</a></span> +<br />   <span class="subsubsectionToc" >3.2.1 <a +href="#x1-260003.2.1" id="QQ2-1-29">Menu: binary systems (tylko Unix)</a></span> +<br />   <span class="subsubsectionToc" >3.2.2 <a +href="#x1-270003.2.2" id="QQ2-1-31">Wybór składników do instalacji</a></span> +<br />   <span class="subsubsectionToc" >3.2.3 <a +href="#x1-280003.2.3" id="QQ2-1-34">Katalogi</a></span> +<br />   <span class="subsubsectionToc" >3.2.4 <a +href="#x1-290003.2.4" id="QQ2-1-35">Opcje</a></span> +<br />  <span class="subsectionToc" >3.3 <a +href="#x1-300003.3" id="QQ2-1-37">Parametry instalacji z linii poleceń</a></span> +<br />   <span class="subsubsectionToc" >3.3.1 <a +href="#x1-310003.3.1" id="QQ2-1-38">Parametr <span +class="ec-lmtt-10">-repository</span></a></span> +<br />  <span class="subsectionToc" >3.4 <a +href="#x1-320003.4" id="QQ2-1-39">Czynności poinstalacyjne</a></span> +<br />   <span class="subsubsectionToc" >3.4.1 <a +href="#x1-330003.4.1" id="QQ2-1-40">Zmienne środowiska dla Unix</a></span> +<br />   <span class="subsubsectionToc" >3.4.2 <a +href="#x1-340003.4.2" id="QQ2-1-41">Zmienne środowiska: konfiguracja globalna</a></span> +<br />   <span class="subsubsectionToc" >3.4.3 <a +href="#x1-350003.4.3" id="QQ2-1-42">Aktualizacje z internetu po instalacji z DVD</a></span> +<br />   <span class="subsubsectionToc" >3.4.4 <a +href="#x1-360003.4.4" id="QQ2-1-43">Konfiguracja fontów dla XeTEX i LuaTEX</a></span> +<br />   <span class="subsubsectionToc" >3.4.5 <a +href="#x1-370003.4.5" id="QQ2-1-44">ConTEXt Mark IV</a></span> + + +<br />   <span class="subsubsectionToc" >3.4.6 <a +href="#x1-380003.4.6" id="QQ2-1-45">Integracja lokalnych i prywatnych pakietów makr</a></span> +<br />   <span class="subsubsectionToc" >3.4.7 <a +href="#x1-390003.4.7" id="QQ2-1-46">Integracja fontów z innych źródeł</a></span> +<br />  <span class="subsectionToc" >3.5 <a +href="#x1-400003.5" id="QQ2-1-47">Testowanie instalacji</a></span> +<br />  <span class="subsectionToc" >3.6 <a +href="#x1-410003.6" id="QQ2-1-48">Programy pomocnicze dla Windows</a></span> +<br /> <span class="sectionToc" >4 <a +href="#x1-420004" id="QQ2-1-50">Instalacje zaawansowane</a></span> +<br />  <span class="subsectionToc" >4.1 <a +href="#x1-430004.1" id="QQ2-1-51">Instalacje dla wielu użytkowników (lub wieloplatformowe)</a></span> +<br />  <span class="subsectionToc" >4.2 <a +href="#x1-440004.2" id="QQ2-1-52">Przenośna instalacja na pen drivie USB</a></span> +<br />  <span class="subsectionToc" >4.3 <a +href="#x1-450004.3" id="QQ2-1-53">Instalacje z pliku obrazu ISO (lub DVD)</a></span> +<br /> <span class="sectionToc" >5 <a +href="#x1-460005" id="QQ2-1-54"><span +class="ec-lmss-10">tlmgr</span>: zarządzanie instalacją</a></span> +<br />  <span class="subsectionToc" >5.1 <a +href="#x1-470005.1" id="QQ2-1-58"><span +class="ec-lmss-10">tlmgr </span>– tryb graficzny (GUI)</a></span> +<br />  <span class="subsectionToc" >5.2 <a +href="#x1-480005.2" id="QQ2-1-59">Przykładowe wywołania <span +class="ec-lmss-10">tlmgr </span>z linii poleceń</a></span> +<br /> <span class="sectionToc" >6 <a +href="#x1-490006" id="QQ2-1-60">Uwagi dotyczące Windows</a></span> +<br />  <span class="subsectionToc" >6.1 <a +href="#x1-500006.1" id="QQ2-1-61">Cechy specyficzne w systemie Windows</a></span> +<br />  <span class="subsectionToc" >6.2 <a +href="#x1-510006.2" id="QQ2-1-62">User Profile to inaczej Home (katalog domowy)</a></span> +<br />  <span class="subsectionToc" >6.3 <a +href="#x1-520006.3" id="QQ2-1-63">Rejestr Windows</a></span> +<br />  <span class="subsectionToc" >6.4 <a +href="#x1-530006.4" id="QQ2-1-64">Uprawnienia w Windows</a></span> +<br />  <span class="subsectionToc" >6.5 <a +href="#x1-540006.5" id="QQ2-1-65">Zwiększanie maksymalnej ilości dostępnej pamięci w Windows i Cygwin</a></span> +<br /> <span class="sectionToc" >7 <a +href="#x1-550007" id="QQ2-1-66">W razie problemów</a></span> +<br />  <span class="subsectionToc" >7.1 <a +href="#x1-560007.1" id="QQ2-1-67">Co zrobić gdy <span +class="ec-lmtt-10">latex </span>nie może znaleźć potrzebnych plików?</a></span> +<br /> <span class="sectionToc" >8 <a +href="#x1-570008" id="QQ2-1-68">Instrukcja obsługi systemu Web2C</a></span> +<br />  <span class="subsectionToc" >8.1 <a +href="#x1-580008.1" id="QQ2-1-69">Przeszukiwanie ścieżek przez Kpathsea</a></span> +<br />   <span class="subsubsectionToc" >8.1.1 <a +href="#x1-590008.1.1" id="QQ2-1-70">Źródła ścieżek</a></span> +<br />   <span class="subsubsectionToc" >8.1.2 <a +href="#x1-600008.1.2" id="QQ2-1-71">Pliki konfiguracyjne</a></span> +<br />   <span class="subsubsectionToc" >8.1.3 <a +href="#x1-610008.1.3" id="QQ2-1-72">Rozwijanie ścieżek</a></span> +<br />   <span class="subsubsectionToc" >8.1.4 <a +href="#x1-620008.1.4" id="QQ2-1-73">Rozwijanie domyślne</a></span> +<br />   <span class="subsubsectionToc" >8.1.5 <a +href="#x1-630008.1.5" id="QQ2-1-74">Rozwijanie nawiasów</a></span> +<br />   <span class="subsubsectionToc" >8.1.6 <a +href="#x1-640008.1.6" id="QQ2-1-75">Rozwijanie podkatalogów</a></span> +<br />   <span class="subsubsectionToc" >8.1.7 <a +href="#x1-650008.1.7" id="QQ2-1-76">Lista znaków specjalnych i ich znaczeń – podsumowanie</a></span> +<br />  <span class="subsectionToc" >8.2 <a +href="#x1-660008.2" id="QQ2-1-77">Bazy nazw plików</a></span> +<br />   <span class="subsubsectionToc" >8.2.1 <a +href="#x1-670008.2.1" id="QQ2-1-78">Baza nazw plików</a></span> +<br />   <span class="subsubsectionToc" >8.2.2 <a +href="#x1-680008.2.2" id="QQ2-1-79">kpsewhich – program do przeszukiwania ścieżek</a></span> +<br />   <span class="subsubsectionToc" >8.2.3 <a +href="#x1-690008.2.3" id="QQ2-1-80">Przykłady użycia</a></span> +<br />   <span class="subsubsectionToc" >8.2.4 <a +href="#x1-700008.2.4" id="QQ2-1-81">Diagnostyka błędów</a></span> +<br />  <span class="subsectionToc" >8.3 <a +href="#x1-710008.3" id="QQ2-1-85">Parametry kontrolujące działanie programów</a></span> +<br /> <span class="sectionToc" >9 <a +href="#x1-720009" id="QQ2-1-86">Budowa systemu na nowej platformie uniksowej</a></span> +<br />  <span class="subsectionToc" >9.1 <a +href="#x1-730009.1" id="QQ2-1-87">Warunki wstępne</a></span> +<br />  <span class="subsectionToc" >9.2 <a +href="#x1-740009.2" id="QQ2-1-88">Konfiguracja</a></span> +<br />  <span class="subsectionToc" >9.3 <a +href="#x1-750009.3" id="QQ2-1-89">Uruchamianie <span +class="ec-lmss-10">make</span></a></span> +<br />  <span class="subsectionToc" >9.4 <a +href="#x1-760009.4" id="QQ2-1-90">Końcowe kroki konfiguracyjne</a></span> +<br /> <span class="sectionToc" >10 <a +href="#x1-7700010" id="QQ2-1-91">Podziękowania</a></span> +<br /> <span class="sectionToc" >11 <a +href="#x1-7800011" id="QQ2-1-92">Historia</a></span> +<br />  <span class="subsectionToc" >11.1 <a +href="#x1-7900011.1" id="QQ2-1-93">Poprzednie wersje</a></span> +<br />  <span class="subsectionToc" >11.2 <a +href="#x1-8000011.2" id="QQ2-1-94">Wydanie 2004</a></span> +<br />  <span class="subsectionToc" >11.3 <a +href="#x1-8100011.3" id="QQ2-1-95">Wydanie 2005</a></span> +<br />  <span class="subsectionToc" >11.4 <a +href="#x1-8200011.4" id="QQ2-1-96">Wydanie 2006–2007</a></span> +<br />  <span class="subsectionToc" >11.5 <a +href="#x1-8300011.5" id="QQ2-1-97">Wydanie 2008</a></span> +<br />  <span class="subsectionToc" >11.6 <a +href="#x1-8400011.6" id="QQ2-1-98">Wydanie 2009</a></span> +<br />  <span class="subsectionToc" >11.7 <a +href="#x1-8500011.7" id="QQ2-1-99">Wydanie 2010</a></span> +<br />  <span class="subsectionToc" >11.8 <a +href="#x1-8600011.8" id="QQ2-1-100">Wydanie 2011</a></span> +<br />  <span class="subsectionToc" >11.9 <a +href="#x1-8700011.9" id="QQ2-1-101">Obecna edycja</a></span> +<br />  <span class="subsectionToc" >11.10 <a +href="#x1-8800011.10" id="QQ2-1-102"> Przyszłe wersje</a></span> + </div> + <h3 class="sectionHead"><span class="titlemark">1. </span> <a + id="x1-20001"></a>Wstęp</h3> + + +<!--l. 57--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">1.1. </span> <a + id="x1-30001.1"></a><span class="TEX">T<span +class="E">E</span>X</span> Live i <span class="TEX">T<span +class="E">E</span>X</span> Collection</h4> +<!--l. 58--><p class="noindent" >Niniejsza dokumentacja opisuje oprogramowanie <span class="TEX">T<span +class="E">E</span>X</span> Live – dystrybucję <span class="TEX">T<span +class="E">E</span>X</span>-a wraz z programami +pomocniczymi, dostępną dla różnych wersji Unix, w tym GNU/Linux, Mac OS X i Cygwin, oraz +Windows. +<!--l. 63--><p class="indent" > <span class="TEX">T<span +class="E">E</span>X</span> Live można ściągnąć z sieci bądź otrzymać na płytce DVD <span class="TEX">T<span +class="E">E</span>X</span> Collection, dostarczanej swoim +członkom przez Grupy Użytkowników Systemu <span class="TEX">T<span +class="E">E</span>X</span>. Część <a +href="#x1-90002.1">2.1<!--tex4ht:ref: sec:tl-coll-dists --></a> omawia pokrótce zawartość tej płytki. +Zarówno <span class="TEX">T<span +class="E">E</span>X</span> Live, jak i <span class="TEX">T<span +class="E">E</span>X</span> Collection powstały dzięki zbiorowemu wysiłkowi Grup. W tym dokumencie +omówimy głównie samą dystrybucję <span class="TEX">T<span +class="E">E</span>X</span> Live. +<!--l. 69--><p class="indent" > <span class="TEX">T<span +class="E">E</span>X</span> Live zawiera skompilowane programy: <span class="TEX">T<span +class="E">E</span>X</span>, LaTeX2e, Metafont, MetaPost, BibTeX i wiele innych +oraz bogaty zestaw pakietów makr o wielorakim zastosowaniu, a także fonty i dokumentacje. Wszystko to +umożliwia skład publikacji w wielu językach. +<!--l. 74--><p class="indent" > Pakiety zawarte w <span class="TEX">T<span +class="E">E</span>X</span> Live są regularnie aktualizowane z serwerów CTAN (<span +class="ec-lmri-10">Comprehensive TeX Archive</span> +<span +class="ec-lmri-10">Network</span>), które gromadzą wszelkie zasoby dotyczące systemu <span class="TEX">T<span +class="E">E</span>X</span>: <a +href="http://www.ctan.org" class="url" ><span +class="ec-lmtt-10">http://www.ctan.org</span></a>. +<!--l. 78--><p class="indent" > Lista najważniejszych zmian dokonanych w tej edycji <span class="TEX">T<span +class="E">E</span>X</span> Live znajduje się w części <a +href="#x1-8700011.9">11.9<!--tex4ht:ref: sec:tlcurrent --></a>, na +str. <a +href="#x1-8700011.9">92<!--tex4ht:ref: sec:tlcurrent --></a>. +<!--l. 81--><p class="indent" > Nie opisujemy tu, czym jest system <span class="TEX">T<span +class="E">E</span>X</span>, a jedynie kwestię instalacji i konfiguracji oprogramowania <span class="TEX">T<span +class="E">E</span>X</span> +Live. Początkujący użytkownicy mogą się zapoznać z podstawowymi pojęciami np. w artykule <span +class="ec-lmri-10">Przewodnik po</span> +<span +class="ec-lmri-10">systemie </span><span class="TEX"><span +class="ec-lmri-10">T</span><span +class="E"><span +class="ec-lmri-10">E</span></span><span +class="ec-lmri-10">X</span></span>: <a +href="../../../../texmf-dist/doc/generic/tex-virtual-academy-pl/cototex.html" >texmf-dist/doc/generic/tex-virtual-academy-pl/cototex.html</a>. +<!--l. 87--><p class="indent" > <a id="platforms"></a> + <h4 class="subsectionHead"><span class="titlemark">1.2. </span> <a + id="x1-40001.2"></a>Obsługiwane systemy operacyjne</h4> +<!--l. 91--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Live zawiera oprogramowanie dla wielu platform uniksowych, w tym GNU/Linux, Mac OS X +i Cygwin. Załączone pliki źródłowe pozwalają też na jego instalację na platformach innych systemów +operacyjnych. +<!--l. 95--><p class="indent" > Spośród systemów Windows obsługiwane są tylko XP i nowsze wersje (choć w Windows 2000 <span class="TEX">T<span +class="E">E</span>X</span> Live +też w zasadzie działa). Wprawdzie brak jest oprogramowania dedykowanego dla wersji 64-bitowych, ale +aplikacje 32-bitowe powinny na nich działać. +<!--l. 100--><p class="indent" > W części <a +href="#x1-90002.1">2.1<!--tex4ht:ref: sec:tl-coll-dists --></a> omówiono alternatywne dystrybucje, przeznaczone dla Windows oraz Mac OS X. +<!--l. 103--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">1.3. </span> <a + id="x1-50001.3"></a>Podstawy instalacji <span class="TEX">T<span +class="E">E</span>X</span> Live</h4> +<!--l. 106--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Live można zainstalować z płytki DVD lub internetu (<a +href="http://tug.org/texlive/acquire.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/acquire.html</span></a>). +Program instalacyjny jest niewielki i pozwala pobrać z sieci wszystkie potrzebne pakiety. Jest to wygodne, +zwłaszcza gdy potrzebujemy jedynie części oprogramowania <span class="TEX">T<span +class="E">E</span>X</span> Live i nie chcemy pobierać niepotrzebnie +obrazu całej płyty instalacyjnej. +<!--l. 112--><p class="indent" > Posiadając płytkę <span class="TEX">T<span +class="E">E</span>X</span> Collection DVD (lub jej obraz w pliku <span +class="ec-lmtt-10">.iso</span>) możemy jedynie zaistalować <span class="TEX">T<span +class="E">E</span>X</span> +Live na twardym dysku, lub przygotować przenośną instalację np. na pen drivie (patrz część <a +href="#x1-440004.2">4.2<!--tex4ht:ref: sec:portable-tl --></a>). +Szczegółowy opis instalacji <span class="TEX">T<span +class="E">E</span>X</span> Live znajduje się w dalszych rozdziałach tego dokumentu, tu podamy +skrócony przepis: + <ul class="itemize1"> + <li class="itemize">program instalacyjny <span +class="ec-lmtt-10">install-tl </span>może działać w kilku trybach: tzw. „wizard” (graficznym, + parametr <span +class="ec-lmtt-10">-gui=wizard</span>) – domyślnym dla Windows; tekstowym (<span +class="ec-lmtt-10">-gui=text</span>, domyślnym dla + Unix/Linux) i graficznym trybie „expert” (parametr <span +class="ec-lmtt-10">-gui=perltk</span>). Dla wygody użytkowników + Windows uruchomienie <span +class="ec-lmtt-10">install-tl-advanced.bat </span>przełącza instalator w tryb „expert”. + </li> + <li class="itemize">jednym z instalowanych programów jest <span +class="ec-lmss-10">tlmgr </span>(menedżer <span class="TEX">T<span +class="E">E</span>X</span> Live), który również można + uruchamiać w trybie tekstowym bądź graficznym; pozwala on doinstalować lub usunąć pakiety, + aktualizować je z sieci, a także wykonać różne czynności konfiguracyjne. + </li></ul> +<!--l. 136--><p class="indent" > <a id="security"></a> + + + <h4 class="subsectionHead"><span class="titlemark">1.4. </span> <a + id="x1-60001.4"></a>Uwagi dotyczące bezpieczeństwa</h4> +<!--l. 140--><p class="noindent" >Zgodnie z naszą najlepszą wiedzą, główne programy <span class="TEX">T<span +class="E">E</span>X</span>-owe są (i zawsze były) nadzwyczaj odporne. Jednak +mimo dokładania najwyższej staranności, inne programy wspierające, zawarte w <span class="TEX">T<span +class="E">E</span>X</span> Live, nie zawsze +osiągają ten sam poziom. Jak zawsze, należy być ostrożnym przy uruchamianiu programów z danymi +pochodzącymi z niepewnych źródeł. Dla uzyskania najwyższego stopnia bezpieczeństwa zalecamy stosowania +podczas pracy nowych podfolderów. +<!--l. 148--><p class="indent" > Konieczność zachowania staranności jest szczególnie ważna w systemie Windows, ponieważ +niezależnie od zawartości ścieżki przeszukiwania poszukuje on programów zawsze najpierw w bieżącym +folderze. To zachowanie systemu otwiera szerokie możliwości ataku. Usunęliśmy wiele luk, lecz +niewątpliwie niektóre jeszcze pozostały, szczególnie przy uruchamianiu programów pochodzących +z innych źródeł. Zalecamy więc sprawdzanie bieżących folderów pod kątem obecności podejrzanych +plików, w szczególności plików wykonywalnych (binarnych lub skryptów). Zwykle nie powinno +ich być, a w szczególności nie powinny być one tworzone w wyniku zwykłego przetwarzania +dokumentów. +<!--l. 159--><p class="indent" > I na koniec: <span class="TEX">T<span +class="E">E</span>X</span> (oraz towarzyszące mu programy) mogą tworzyć pliki przy przetwarzaniu dokumentów. +Własność ta jest na wiele różnych sposobów podatna na nadużycia. Także w tych przypadkach, +przetwarzanie nieznanych dokumentów w nowych podfolderach jest najlepszym znanym sposobem +zabezpieczenia. +<!--l. 165--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">1.5. </span> <a + id="x1-70001.5"></a>Dostępna pomoc</h4> +<!--l. 168--><p class="noindent" >Społeczność <span class="TEX">T<span +class="E">E</span>X</span>-owa jest bardzo aktywna i pomocna, stąd też większość poważnych zapytań nie pozostaje +bez odpowiedzi. Przed zadaniem pytania warto je uprzednio dobrze przemyśleć i sformułować, ponieważ +respondenci to wolontariusze, wśród których znaleźć się mogą mniej lub bardziej doświadczeni użytkownicy. +(Jeśli preferujemy komercyjne wsparcie techniczne, możemy zamiast <span class="TEX">T<span +class="E">E</span>X</span> Live zakupić system u jednego +z dostawców, których listę można znaleźć na <a +href="http://tug.org/interest.html#vendors" class="url" ><span +class="ec-lmtt-10">http://tug.org/interest.html#vendors</span></a>.) +<!--l. 177--><p class="indent" > Oto lista źródeł pomocy, w kolejności przez nas rekomendowanej: +<!--l. 179--><p class="indent" > + <dl class="description"><dt class="description"> +<span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> <span +class="ec-lmbx-10">FAQ</span> </dt><dd +class="description"><span class="TEX">T<span +class="E">E</span>X</span>-owy FAQ jest obszernym zbiorem odpowiedzi na wiele pytań, od najprostszych do + najbardziej zaawansowanych. Jest on + załączony na <span class="TEX">T<span +class="E">E</span>X</span> Live w katalogu <a +href="../../../../texmf-dist/doc/generic/FAQ-en/html/index.html" >texmf-dist/doc/generic/FAQ-en/html/index.html</a>, a także + dostępny w sieci: <a +href="http://www.tex.ac.uk/faq" class="url" ><span +class="ec-lmtt-10">http://www.tex.ac.uk/faq</span></a>. Proponujemy zajrzeć najpierw tam. Uruchomiono + też serwis FAQ w języku polskim: <a +href="http://faq.gust.org.pl" class="url" ><span +class="ec-lmtt-10">http://faq.gust.org.pl</span></a>. + </dd><dt class="description"> +<span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> <span +class="ec-lmbx-10">Catalogue</span> </dt><dd +class="description">Jeśli poszukujemy konkretnego pakietu, fontu, programu itp., to polecamy <span class="TEX">T<span +class="E">E</span>X</span> + Catalogue. Jest to obszerne zestawienie wszelkich pakietów dotyczących <span class="TEX">T<span +class="E">E</span>X</span>-a. Patrz: + <a +href="http://mirror.ctan.org/help/Catalogue/" class="url" ><span +class="ec-lmtt-10">http://mirror.ctan.org/help/Catalogue/</span></a>. + </dd><dt class="description"> +<span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> <span +class="ec-lmbx-10">Web Resources</span> </dt><dd +class="description">Strona <a +href="http://tug.org/interest.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/interest.html</span></a> zawiera wiele odsyłaczy, + w szczególności do książek, podręczników i artykułów poświęconych wszelkim aspektom pracy + z systemem <span class="TEX">T<span +class="E">E</span>X</span>. + </dd><dt class="description"> +<span +class="ec-lmbx-10">archiwa pomocy</span> </dt><dd +class="description"> + Dwa główne fora pomocy to grupa Usenet <a +href="news:comp.text.tex" class="url" ><span +class="ec-lmtt-10">news:comp.text.tex</span></a> oraz lista dyskusyjna <a +href="mailto:texhax@tug.org" ><span class="path"><span +class="ec-lmtt-10">texhax@</span> + <span +class="ec-lmtt-10">tug.org</span></span></a>. Warto przeszukać archiwa list dyskusyjnych, zawierające wiele pytań i odpowiedzi + zbieranych przez wiele lat: <a +href="http://groups.google.com/group/comp.text.tex/topics" class="url" ><span +class="ec-lmtt-10">http://groups.google.com/group/comp.text.tex/topics</span></a> oraz + <a +href="http://tug.org/mail-archives/texhax" class="url" ><span +class="ec-lmtt-10">http://tug.org/mail-archives/texhax</span></a>. Nie zaszkodzi skorzystanie z wyszukiwarki, np. + <a +href="http://www.google.com" class="url" ><span +class="ec-lmtt-10">http://www.google.com</span></a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10">wysyłanie pyta</span><span +class="ec-lmbx-10">ń</span> </dt><dd +class="description">Jeśli nadal nie znajdujemy rozwiązania problemu, to możemy wysłać pytanie do + <span +class="ec-lmtt-10">comp.text.tex</span>, korzystając z Google, czytnika wiadomości bądź pisząc list na adres <a +href="mailto:texhax@tug.org" ><span class="path"><span +class="ec-lmtt-10">texhax@</span> + <span +class="ec-lmtt-10">tug.org</span></span></a>. Przedtem jednak <span +class="ec-lmri-10">nale</span><span +class="ec-lmri-10">ży </span>zapoznać się z poradami dotyczącymi sposobu zadawania + pytań, zawartymi w FAQ: <a +href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion" class="url" ><span +class="ec-lmtt-10">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion</span></a>. + + + Warto wspomnieć stronę <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> Community (<a +href="http://www.latex-community.org/" class="url" ><span +class="ec-lmtt-10">http://www.latex-community.org/</span></a>), forum + <a +href="http://www.latex-community.org/forum/" class="url" ><span +class="ec-lmtt-10">http://www.latex-community.org/forum/</span></a> oraz <span class="TEX">T<span +class="E">E</span>X</span> StackExchange + (<a +href="http://tex.stackexchange.com/" class="url" ><span +class="ec-lmtt-10">http://tex.stackexchange.com/</span></a>). Polscy użytkownicy mają do dyspozycji listę dyskusyjną + GUST (polskiej Grupy Użytkowników Systemu <span class="TEX">T<span +class="E">E</span>X</span>); informacje o niej znajdziemy na stronie + <a +href="http://www.gust.org.pl" class="url" ><span +class="ec-lmtt-10">http://www.gust.org.pl</span></a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10">wsparcie ze strony społeczno</span><span +class="ec-lmbx-10">ści </span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> <span +class="ec-lmbx-10">Live</span> </dt><dd +class="description">Gdy chcemy zgłosić błąd bądź sugestie i komentarze + dotyczące dystrybucji <span class="TEX">T<span +class="E">E</span>X</span> Live, instalacji lub dokumentacji, mamy do dyspozycji listę dyskusyjną + <a +href="mailto:tex-live@tug.org" ><span class="path"><span +class="ec-lmtt-10">tex-live@tug.org</span></span></a>. Jeśli kwestia dotyczy konkretnego programu (pakietu makr itp.) z <span class="TEX">T<span +class="E">E</span>X</span> + Live, to lepiej jednak skierować pytanie do osoby opiekującej się danym programem lub na + specjalistyczną listę dyskusyjną. + </dd></dl> +<!--l. 229--><p class="indent" > Druga strona medalu to pomaganie tym, którzy mają problemy. Zarówno <span +class="ec-lmtt-10">comp.text.tex</span>, jak i <span +class="ec-lmtt-10">texhax</span> +(oraz lista dyskusyjna GUST) są otwarte dla każdego, tak więc zapraszamy do włączenia się, czytania +wiadomości i pomagania innym w miarę własnych możliwości. Witamy wśród użytkowników systemu +<span class="TEX">T<span +class="E">E</span>X</span>! +<!--l. 237--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">2. </span> <a + id="x1-80002"></a>Struktura <span class="TEX">T<span +class="E">E</span>X</span> Live</h3> +<!--l. 240--><p class="noindent" >Omówimy tutaj strukturę i zawartość dystrybucji <span class="TEX">T<span +class="E">E</span>X</span> Live, a także <span class="TEX">T<span +class="E">E</span>X</span> Collection – płytki DVD, w skład +której wchodzi <span class="TEX">T<span +class="E">E</span>X</span> Live. +<!--l. 243--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.1. </span> <a + id="x1-90002.1"></a><span class="TEX">T<span +class="E">E</span>X</span> Collection: <span class="TEX">T<span +class="E">E</span>X</span> Live, pro<span class="TEX">T<span +class="E">E</span>X</span>t, Mac<span class="TEX">T<span +class="E">E</span>X</span></h4> +<!--l. 246--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Collection DVD zawiera: +<!--l. 248--><p class="indent" > + <dl class="description"><dt class="description"> +<span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> <span +class="ec-lmbx-10">Live</span> </dt><dd +class="description">kompletny system na DVD, pozwala na instalację na twardym dysku lub przygotowanie + przenośnej instalacji np. na pen drivie; strona domowa projektu: <a +href="http://tug.org/texlive/" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/</span></a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Mac</span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> </dt><dd +class="description">dla systemu Mac OS X; posiada własny program instalacyjny i dodatkowe programy dla + tego systemu; strona domowa projektu: <a +href="http://tug.org/mactex/" class="url" ><span +class="ec-lmtt-10">http://tug.org/mactex/</span></a>; + </dd><dt class="description"> +<span +class="ec-lmbx-10">pro</span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span><span +class="ec-lmbx-10">t</span> </dt><dd +class="description">dystrybucja dla Windows, oparta na dystrybucji MiK<span class="TEX">T<span +class="E">E</span>X</span>, rozszerzonej o dodatkowe + narzędzia; całkowicie niezależna od <span class="TEX">T<span +class="E">E</span>X</span> Live; pro<span class="TEX">T<span +class="E">E</span>X</span>t posiada własny, łatwy w obsłudze + program instalacyjny; strona domowa projektu: <a +href="http://tug.org/protext" class="url" ><span +class="ec-lmtt-10">http://tug.org/protext</span></a>; + </dd><dt class="description"> +<span +class="ec-lmbx-10">CTAN</span> </dt><dd +class="description">zrzut zawartości archiwów CTAN; (<a +href="http://www.ctan.org" class="url" ><span +class="ec-lmtt-10">http://www.ctan.org</span></a>). + </dd><dt class="description"> +<span +class="ec-lmtk-10">texmf-extra</span> </dt><dd +class="description">katalog z wybranymi pakietami dodatkowymi. + </dd></dl> +<!--l. 270--><p class="indent" > CTAN, <span +class="ec-lmss-10">protext</span>, i <span +class="ec-lmtt-10">texmf-extra </span>nie spełniają przyjętych dla <span class="TEX">T<span +class="E">E</span>X</span> Live wymogów dotyczących swobody +kopiowania, wobec tego należy ten fakt uwzględnić przy redystrybucji bądź modyfikacji zawartości +wymienionych katalogów. + + +<!--l. 275--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.2. </span> <a + id="x1-100002.2"></a>Główne katalogi <span class="TEX">T<span +class="E">E</span>X</span> Live</h4> +<!--l. 278--><p class="noindent" >Poniżej wymieniono ważniejsze podkatalogi głównego katalogu <span +class="ec-lmri-10">instalacji </span><span class="TEX">T<span +class="E">E</span>X</span> Live (na płytce +<span class="TEX">T<span +class="E">E</span>X</span> Collection DVD cała dystrybucja <span class="TEX">T<span +class="E">E</span>X</span> Live została umieszczona w katalogu <span +class="ec-lmtt-10">texlive</span>, którego struktura +nieco się różni, nie zaś w katalogu głównym; poniżej traktujemy katalog <span +class="ec-lmtt-10">texlive </span>jako katalog główny we +wszystkich odniesieniach do <span class="TEX">T<span +class="E">E</span>X</span> Live). +<!--l. 284--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span +class="ec-lmtt-10">bin</span> </dt><dd +class="list"> + <!--l. 285--><p class="noindent" >skompilowane programy <span class="TEX">T<span +class="E">E</span>X</span>-owe, zorganizowane w podkatalogach według platform + systemowych; + </dd><dt class="list"> + <span +class="ec-lmtt-10">readme-*.html</span> </dt><dd +class="list"> + <!--l. 288--><p class="noindent" >krótkie omówienie z użytecznymi odnośnikami, w kilku językach, w formacie HTML i zwykłym + tekstowym; + </dd><dt class="list"> + <span +class="ec-lmtt-10">source</span> </dt><dd +class="list"> + <!--l. 291--><p class="noindent" >źródła wszystkich programów, włącznie z głównymi dystrybucjami Web2C <span class="TEX">T<span +class="E">E</span>X</span>-a; + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf</span> </dt><dd +class="list"> + <!--l. 300--><p class="noindent" >drzewo katalogów plików pomocniczych i dokumentacji dla <span +class="ec-lmri-10">program</span><span +class="ec-lmri-10">ów </span>(patrz: <span +class="ec-lmtt-10">TEXMFMAIN</span> + w następnej części); + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf-dist</span> </dt><dd +class="list"> + <!--l. 303--><p class="noindent" >główne drzewo katalogów formatów i pakietów (zawiera makra, fonty i dokumentacje; patrz: + <span +class="ec-lmtt-10">TEXMDIST </span>w następnej części); + </dd><dt class="list"> + <span +class="ec-lmtt-10">tlpkg</span> </dt><dd +class="list"> + <!--l. 309--><p class="noindent" >skrypty, programy i inne dane potrzebne do instalacji; katalog zawiera także „prywatne” dla <span class="TEX">T<span +class="E">E</span>X</span> + Live kopie oprogramowania Perl i Ghostscript dla Windows (nie kolidują one z posiadanymi przez + użytkownika podobnymi programami i działają tylko w ramach instalacji); poza tym dołączono + szybki i wygodny program do podglądu plików postscriptowych i PDF – PS_View dla Windows.</dd></dl> +<!--l. 317--><p class="indent" > Prócz podkatalogów wymienionych powyżej, katalog główny zawiera skrypty instalacyjne oraz pliki +<span +class="ec-lmtt-10">README</span>, w formacie tekstowym lub HTML, w kilku językach (również polskim). +<!--l. 323--><p class="indent" > Do znalezienia dokumentacji przydatne mogą być dowiązania zawarte w pliku <a +href="../../../../doc.html" >doc.html</a>, który znajdziemy +w głównym katalogu instalacji. Dokumentacje programów (man, info, także w formacie PDF) znajdują się +w katalogu <span +class="ec-lmtt-10">texmf/doc</span>, zaś dokumentacje pakietów makr, fontów i formatów w katalogu <span +class="ec-lmtt-10">texmf-dist/doc</span>. +W odszukaniu konkretnej dokumentacji w dowolnym z wymienionych katalogów mogą pomóc programy +<span +class="ec-lmss-10">texdoc </span>lub <span +class="ec-lmss-10">texdoctk</span>. +<!--l. 331--><p class="indent" > Niniejsza dokumentacja w kilku językach znajduje się na płytce <span class="TEX">T<span +class="E">E</span>X</span> CollectionDVD w podkatalogach +katalogu <span +class="ec-lmtt-10">texlive-doc</span>, zaś po instalacji w podkatalogach katalogu <span +class="ec-lmtt-10">texmf/doc/texlive</span>: + <ul class="itemize1"> + <li class="itemize">uproszczony chiński: <a +href="../../../../texmf/doc/texlive/texlive-zh-cn" >texmf/doc/texlive/texlive-zh-cn</a> + </li> + <li class="itemize">czeski/słowacki: <a +href="../../../../texmf/doc/texlive/texlive-cz" >texmf/doc/texlive/texlive-cz</a> + </li> + <li class="itemize">angielski: <a +href="../../../../texmf/doc/texlive/texlive-en" >texmf/doc/texlive/texlive-en</a> + </li> + <li class="itemize">francuski: <a +href="../../../../texmf/doc/texlive/texlive-fr" >texmf/doc/texlive/texlive-fr</a> + </li> + <li class="itemize">niemiecki: <a +href="../../../../texmf/doc/texlive/texlive-de" >texmf/doc/texlive/texlive-de</a> + </li> + <li class="itemize">polski: <a +href="../../../../texmf/doc/texlive/texlive-pl" >texmf/doc/texlive/texlive-pl</a> + + + </li> + <li class="itemize">rosyjski: <a +href="../../../../texmf/doc/texlive/texlive-ru" >texmf/doc/texlive/texlive-ru</a> + </li> + <li class="itemize">serbski: <a +href="../../../../texmf/doc/texlive/texlive-sr" >texmf/doc/texlive/texlive-sr</a> + </li> + <li class="itemize">włoski: <a +href="../../../../texmf/doc/texlive/texlive-it" >texmf/doc/texlive/texlive-it</a></li></ul> +<!--l. 346--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.3. </span> <a + id="x1-110002.3"></a>Predefiniowane drzewa katalogów texmf</h4> +<!--l. 349--><p class="noindent" >W tej części wymieniono wszystkie używane przez system, predefiniowane zmienne specyfikujące drzewa +katalogów texmf; omówiono też ich przeznaczenie. Uruchomiając polecenie <span +class="ec-lmtt-10">tlmgr conf</span>, wyświetlimy wartości +tych zmiennych, dzięki czemu łatwo ustalimy, które katalogi w naszej instalacji są przypisane do konkretnych +zmiennych. +<!--l. 355--><p class="indent" > Wszystkie drzewa katalogów, włącznie z prywatnymi katalogami użytkownika, powinny posiadać strukturę +zgodną z zaleceniami <span class="TEX">T<span +class="E">E</span>X</span> Directory Structure (TDS, <a +href="http://tug.org/tds" class="url" ><span +class="ec-lmtt-10">http://tug.org/tds</span></a>), konsekwentnie wraz z +mnóstwem podkatalogów. W przeciwnym wypadku potrzebne pliki mogą nie zostać odnalezione. W części +<a +href="#x1-380003.4.6">3.4.6<!--tex4ht:ref: sec:local-personal-macros --></a> (str. <a +href="#x1-380003.4.6">39<!--tex4ht:ref: sec:local-personal-macros --></a>) będzie to omówione dokładniej. +<!--l. 362--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span +class="ec-lmtt-10">TEXMFMAIN</span> </dt><dd +class="list"> + <!--l. 363--><p class="noindent" >Drzewo katalogów zawierające podstawowe dla dystrybucji elementy systemu, jak skrypty i inne + pliki pomocnicze oraz dokumentację programów (nie zawiera zatem pakietów makr ani formatów). + </dd><dt class="list"> + <span +class="ec-lmtt-10">TEXMFDIST</span> </dt><dd +class="list"> + <!--l. 368--><p class="noindent" >Drzewo katalogów zawierające pakiety makr, fontów itp., drzewo to może być współdzielone + z dowolną dystybucją. + </dd><dt class="list"> + <span +class="ec-lmtt-10">TEXMFLOCAL</span> </dt><dd +class="list"> + <!--l. 371--><p class="noindent" >Drzewo katalogów, które administratorzy mogą wykorzystać do przechowywania lokalnych makr, + fontów itp., dostępnych dla wszystkich użytkowników serwera. + </dd><dt class="list"> + <span +class="ec-lmtt-10">TEXMFHOME</span> </dt><dd +class="list"> + <!--l. 374--><p class="noindent" >Drzewo katalogów dla prywatnych makr, fontów itp. użytkownika. Rozwinięcie tej zmiennej zależy + domyślnie od wartości przypisanej zmiennej systemowej <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">$HOME</span></span></span> (w Windows <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">%USERPROFILE%</span></span></span>). + </dd><dt class="list"> + <span +class="ec-lmtt-10">TEXMFCONFIG</span> </dt><dd +class="list"> + <!--l. 377--><p class="noindent" >Lokalne drzewo katalogów wykorzystywane przez narzędzia <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">texconfig</span></span></span>, <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">updmap</span></span></span> oraz <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">fmtutil</span></span></span> do + przechowywania danych konfiguracyjnych (domyślnie w ramach <span +class="ec-lmtt-10">TEXMFHOME</span>). + </dd><dt class="list"> + <span +class="ec-lmtt-10">TEXMFSYSCONFIG</span> </dt><dd +class="list"> + <!--l. 380--><p class="noindent" >Drzewo katalogów wykorzystywane przez narzędzia <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">texconfig-sys</span></span></span>, <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">updmap-sys</span></span></span> oraz + <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">fmtutil-sys</span></span></span> do przechowywania danych konfiguracyjnych dla całej instalacji (np. sieciowej). + </dd><dt class="list"> + <span +class="ec-lmtt-10">TEXMFVAR</span> </dt><dd +class="list"> + <!--l. 384--><p class="noindent" >Lokalne drzewo katalogów wykorzystywane przez <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">texconfig</span></span></span>, <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">updmap</span></span></span> i <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">fmtutil</span></span></span> do + przechowywania wygenerowanych plików formatów i map fontowych (domyślnie w ramach + <span +class="ec-lmtt-10">TEXMFHOME</span>). + </dd><dt class="list"> + <span +class="ec-lmtt-10">TEXMFCACHE</span> </dt><dd +class="list"> + <!--l. 387--><p class="noindent" >Drzewa katalogów wykorzystywane przez Con<span class="TEX">T<span +class="E">E</span>X</span>t MkIV do przechowywania buforowanych + danych z przetwarzania. + + + </dd><dt class="list"> + <span +class="ec-lmtt-10">TEXMFSYSVAR</span> </dt><dd +class="list"> + <!--l. 392--><p class="noindent" >Drzewo katalogów wykorzystywane przez <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">texconfig-sys</span></span></span>, <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">updmap-sys</span></span></span>, <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">fmtutil-sys</span></span></span>, a także + przez program <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">tlmgr</span></span></span> do przechowywania wygenerowanych plików formatów i map fontowych dla + całej instalacji.</dd></dl> +<!--l. 398--><p class="noindent" >Domyślny układ katalogów: + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10">og</span><span +class="ec-lmbx-10">ólnosystemowy katalog instalacji</span> </dt><dd +class="description">może zawierać kilka wydań <span class="TEX">T<span +class="E">E</span>X</span> Live: + <dl class="list2"><dt class="list"> + <span +class="ec-lmtt-10">2011</span> </dt><dd +class="list"> + <!--l. 403--><p class="noindent" >poprzednie wydanie, + </dd><dt class="list"> + <span +class="ec-lmtt-10">2012</span> </dt><dd +class="list"> + <!--l. 404--><p class="noindent" >wydanie aktualne: + <dl class="list3"><dt class="list"> + <span +class="ec-lmtt-10">bin</span> </dt><dd +class="list"> + <!--l. 406--><p class="noindent" >  + <dl class="list4"><dt class="list"> + <span +class="ec-lmtt-10">i386-linux</span> </dt><dd +class="list"> + <!--l. 408--><p class="noindent" >programy dla GNU/Linux + </dd><dt class="list"> + <span +class="ec-lmtt-10">...</span> </dt><dd +class="list"> + <!--l. 409--><p class="noindent" > + </dd><dt class="list"> + <span +class="ec-lmtt-10">universal-darwin</span> </dt><dd +class="list"> + <!--l. 410--><p class="noindent" >programy dla Mac OS X + </dd><dt class="list"> + <span +class="ec-lmtt-10">win32</span> </dt><dd +class="list"> + <!--l. 411--><p class="noindent" >programy dla Windows</dd></dl> + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span> </dt><dd +class="list"> + <!--l. 413--><p class="noindent" >określany zmienną <span +class="ec-lmtt-10">TEXMFMAIN</span> + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf-dist</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span> </dt><dd +class="list"> + <!--l. 414--><p class="noindent" ><span +class="ec-lmtt-10">TEXMFDIST</span> + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf-var</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span> </dt><dd +class="list"> + <!--l. 415--><p class="noindent" ><span +class="ec-lmtt-10">TEXMFSYSVAR</span> + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf-config</span> </dt><dd +class="list"> + <!--l. 416--><p class="noindent" ><span +class="ec-lmtt-10">TEXMFSYSCONFIG</span></dd></dl> + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf-local</span> </dt><dd +class="list"> + <!--l. 418--><p class="noindent" ><span +class="ec-lmtt-10">TEXMFLOCAL</span>, katalog zachowywany od wydania do wydania,</dd></dl> + </dd><dt class="description"> +<span +class="ec-lmbx-10">katalog domowy u</span><span +class="ec-lmbx-10">żytkownika</span> </dt><dd +class="description">(<span +class="ec-lmtt-10">$HOME </span>lub <span +class="ec-lmtt-10">%USERPROFILE%</span>) + <dl class="list2"><dt class="list"> + <span +class="ec-lmtt-10">.texlive2011</span> </dt><dd +class="list"> + <!--l. 424--><p class="noindent" >prywatne pliki konfiguracyjne poprzedniego wydania + </dd><dt class="list"> + <span +class="ec-lmtt-10">.texlive2012</span> </dt><dd +class="list"> + <!--l. 426--><p class="noindent" >prywatne pliki konfiguracyjne dla bieżącego wydania: + <dl class="list3"><dt class="list"> + <span +class="ec-lmtt-10">texmf-var</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span> </dt><dd +class="list"> + <!--l. 429--><p class="noindent" ><span +class="ec-lmtt-10">TEXMFVAR</span>, <span +class="ec-lmtt-10">TEXMFCACHE</span> + + + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf-config</span> </dt><dd +class="list"> + <!--l. 430--><p class="noindent" ><span +class="ec-lmtt-10">TEXMFCONFIG</span></dd></dl> + </dd><dt class="list"> + <span +class="ec-lmtt-10">texmf</span> </dt><dd +class="list"> + <!--l. 432--><p class="noindent" ><span +class="ec-lmtt-10">TEXMFHOME </span>prywatne makra, fonty itp.</dd></dl> + </dd></dl> +<!--l. 436--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.4. </span> <a + id="x1-120002.4"></a>Rozszerzenia <span class="TEX">T<span +class="E">E</span>X</span>-a</h4> +<!--l. 439--><p class="noindent" >Oryginalny <span class="TEX">T<span +class="E">E</span>X</span>, stworzony przez prof. Knutha, został zamrożony, ale jest i będzie w przyszłości +dostępny w dystrybucji. <span class="TEX">T<span +class="E">E</span>X</span> Live zawiera ponadto kilka wersji rozszerzonych standardowego +<span class="TEX">T<span +class="E">E</span>X</span>-a: +<!--l. 443--><p class="indent" > + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10">e-</span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> </dt><dd +class="description">wersja programu <span class="TEX">T<span +class="E">E</span>X</span>, w której dodano pożyteczny zestaw nowych poleceń wbudowanych + (dotyczących głównie rozwijania makr, leksemów znakowych, interpretacji znaczników itp.) + oraz rozszerzenie <span class="TEX">T<span +class="E">E</span>X</span>--XE T dla składu od prawej do lewej. W trybie domyślnym e-<span class="TEX">T<span +class="E">E</span>X</span> + jest w 100% zgodny ze standardowym programem <span class="TEX">T<span +class="E">E</span>X</span>. Więcej szczegółów można znaleźć + w <a +href="../../../../texmf-dist/doc/etex/base/etex_man.pdf" >texmf-dist/doc/etex/base/etex_man.pdf</a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10">pdf</span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> </dt><dd +class="description">program zawierający silnik e-<span class="TEX">T<span +class="E">E</span>X</span> i dalsze rozszerzenia, który umożliwia tworzenie plików + zarówno w formacie PDF, jak i DVI. Jest on domyślnym programem dla większości formatów + (prócz plain <span class="TEX">T<span +class="E">E</span>X</span>), nie ma więc obecnie rozróżnienia na „maszyny” <span +class="ec-lmss-10">pdftex </span>i <span +class="ec-lmss-10">pdfetex</span>, jak to + miało miejsce w poprzednich wersjach programów i w poprzednich dystrybucjach <span class="TEX">T<span +class="E">E</span>X</span> Live. + Podręczniki znajdziemy w katalogu <a +href="../../../../texmf-dist/doc/pdftex/manual/pdftex-a.pdf" >texmf-dist/doc/pdftex/manual/pdftex-a.pdf</a>, zaś przykład + wykorzystania w pliku <a +href="../../../../texmf-dist/doc/pdftex/manual/samplepdf/samplepdf.tex" >texmf-dist/doc/pdftex/manual/samplepdf/samplepdf.tex</a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Lua</span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> </dt><dd +class="description">docelowo sukcesor pdf<span class="TEX">T<span +class="E">E</span>X</span>-a, z którym ma być, aczkolwiek niecałkowicie, zgodny + wstecz. Powinien także zastąpić Aleph (patrz niżej), choć nie zakłada się tu technicznej + kompatybilności. Załączony interpreter Lua (patrz strona domowa <a +href="http://www.lua.org/" class="url" ><span +class="ec-lmtt-10">http://www.lua.org/</span></a>) + pozwala na eleganckie rozwiązanie wielu trudnych problemów <span class="TEX">T<span +class="E">E</span>X</span>-a. Program <span +class="ec-lmtt-10">texlua </span>ma + funkcjonalność samodzielnego interpretera Lua, co sprawia, że jest używany w <span class="TEX">T<span +class="E">E</span>X</span> Live do + wielu zadań. Patrz <a +href="http://www.luatex.org/" class="url" ><span +class="ec-lmtt-10">http://www.luatex.org/</span></a> i na DVD <a +href="../../../../texmf-dist/doc/luatex/luatexref-t.pdf" >texmf-dist/doc/luatex/luatexref-t.pdf</a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Xe</span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> </dt><dd +class="description">umożliwia kodowanie tekstów w Unicode oraz korzystanie z fontów OpenType (także tych + dostępnych bezpośrednio w systemie operacyjnym), przy czym stosuje biblioteki obce. Patrz + <a +href="http://tug.org/xetex" class="url" ><span +class="ec-lmtt-10">http://tug.org/xetex</span></a>. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Omega (Omega)</span> </dt><dd +class="description">program, który pracuje wewnętrznie ze znakami kodowanymi 16-bitowo (Unicode), + pozwalając składać jednocześnie większość tekstów spotykanych na świecie. Wspomaga + dynamicznie ładowane tzw. „procesy tłumaczenia Omega” (OTP), co pozwala użytkownikowi + definiować złożone transformacje, wykonywane na dowolnych strumieniach wejściowych. Sam + program od dawna nie jest aktualizowany, został więc usunięty z <span class="TEX">T<span +class="E">E</span>X</span> Live. Pozostawiono jego + działający klon: + </dd><dt class="description"> +<span +class="ec-lmbx-10">Aleph</span> </dt><dd +class="description">łączy rozszerzenia Omega i e-<span class="TEX">T<span +class="E">E</span>X</span>; powstał jako niezależny projekt z potrzeby stabilnej + „używalności” programu Omega, w sytuacji, gdy ten pozostawał wciąż w fazie eksperymentalnej. + Dostępna jest minimalna dokumentacja: <a +href="../../../../texmf-dist/doc/aleph/base" >texmf-dist/doc/aleph/base</a>. + </dd></dl> + + +<!--l. 494--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.5. </span> <a + id="x1-130002.5"></a>Inne ważniejsze programy <span class="TEX">T<span +class="E">E</span>X</span> Live</h4> +<!--l. 496--><p class="noindent" >Poniżej zestawiono kilka innych, najczęściej używanych programów, dostępnych w dystrybucji <span class="TEX">T<span +class="E">E</span>X</span> +Live: +<!--l. 499--><p class="indent" > + <dl class="list1"><dt class="list"> + <span +class="ec-lmss-10">bibtex, bibtex8</span> </dt><dd +class="list"> + <!--l. 501--><p class="noindent" >tworzenie spisów bibliograficznych; + </dd><dt class="list"> + <span +class="ec-lmss-10">makeindex, xindy</span> </dt><dd +class="list"> + <!--l. 503--><p class="noindent" >tworzenie posortowanych skorowidzów; + </dd><dt class="list"> + <span +class="ec-lmss-10">dvips</span> </dt><dd +class="list"> + <!--l. 505--><p class="noindent" >konwersja DVI do PostScript; + </dd><dt class="list"> + <span +class="ec-lmss-10">xdvi</span> </dt><dd +class="list"> + <!--l. 507--><p class="noindent" >przeglądarka plików DVI dla X Window; + </dd><dt class="list"> + <span +class="ec-lmss-10">dvilj</span> </dt><dd +class="list"> + <!--l. 509--><p class="noindent" >sterownik dla drukarek HP LaserJet; + </dd><dt class="list"> + <span +class="ec-lmss-10">dviconcat, dviselect</span> </dt><dd +class="list"> + <!--l. 513--><p class="noindent" >programy do manipulacji stronami w plikach DVI; + </dd><dt class="list"> + <span +class="ec-lmss-10">dvipdfmx</span> </dt><dd +class="list"> + <!--l. 516--><p class="noindent" >konwersja DVI do PDF, metoda alternatywna w stosunku do wspomnianego wyżej programu + pdf<span class="TEX">T<span +class="E">E</span>X</span>; + </dd><dt class="list"> + <span +class="ec-lmss-10">psselect, psnup, </span><span +class="ec-lmss-10">…</span> </dt><dd +class="list"> + <!--l. 521--><p class="noindent" >narzędzia do manipulacji na plikach postscriptowych; + </dd><dt class="list"> + <span +class="ec-lmss-10">pdfjam, pdfjoin, </span><span +class="ec-lmss-10">…</span> </dt><dd +class="list"> + <!--l. 524--><p class="noindent" >narzędzia do manipulacji na plikach PDF; + </dd><dt class="list"> + <span +class="ec-lmss-10">texexec, texmfstart</span> </dt><dd +class="list"> + <!--l. 529--><p class="noindent" >programy uruchamiające dla Con<span class="TEX">T<span +class="E">E</span>X</span>t; + </dd><dt class="list"> + <span +class="ec-lmss-10">tex4ht</span> </dt><dd +class="list"> + <!--l. 531--><p class="noindent" >postprocesor dla <span class="TEX">T<span +class="E">E</span>X</span>-a konwersji do HTML i XML. + </dd></dl> +<!--l. 538--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.6. </span> <a + id="x1-140002.6"></a>Pakiety i ich zestawy</h4> +<!--l. 540--><p class="noindent" >Zawartość drzew <span +class="ec-lmtt-10">texmf </span>na <span class="TEX">T<span +class="E">E</span>X</span> Live została do celów instalacji zorganizowana w szereg „zestawów” +(<span +class="ec-lmri-10">collections</span>), z których każdy posiada zbiór „pakietów” (<span +class="ec-lmri-10">packages</span>; jest ich obecnie ponad 2500). +Normalna instalacja pozwala użytkownikowi skopiować z DVD na twardy dysk jeden lub więcej +zestawów, ale można też doinstalować z niej do już zainstalowanego zestawu jedynie pojedynczy +pakiet. + + +<!--l. 547--><p class="indent" > Zestawy pozwalają lepiej dobrać instalowane składniki, a także określić, jakie języki będą obsługiwane po +instalacji. Najważniejszy zestaw, wymagany dla większości zastosowań, to „Essential programs and files”. +Zestawy „Basic LaTeX packages” i „Recommended fonts” są rekomendowane dla większości użytkowników. +Pozostałe zestawy są opcjonalne. +<!--l. 553--><p class="indent" > Oto wybrane dostępne zestawy i krótki opis ich zawartości: +<!--l. 555--><p class="indent" > + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10">Essential programs and files</span> </dt><dd +class="description">podstawowe programy, pakiety makr i fontów systemu <span class="TEX">T<span +class="E">E</span>X</span>, pliki + konfiguracyjne dla podstawowych sterowników; + </dd><dt class="description"> +<span +class="ec-lmbx-10">Extra BibTeX styles</span> </dt><dd +class="description">dodatkowa, obszerna biblioteka stylów Bib<span class="TEX">T<span +class="E">E</span>X</span>-owych i bazy danych + bibliograficznych (podstawowe style znajdują się w zestawie „Essential…”); + </dd><dt class="description"> +<span +class="ec-lmbx-10">Context format</span> </dt><dd +class="description">pakiet makr do Con<span class="TEX">T<span +class="E">E</span>X</span>t – „dialektu” <span class="TEX">T<span +class="E">E</span>X</span>-a autorstwa Hansa Hagena; + </dd><dt class="description"> +<span +class="ec-lmbx-10">TeX auxiliary programs</span> </dt><dd +class="description">różne programy pomocnicze; zestaw zawiera m.in. programy i makra dla + systemu texinfo, programy do manipulacji na plikach DVI itp.; + </dd><dt class="description"> +<span +class="ec-lmbx-10">TeX and Outline font utilities</span> </dt><dd +class="description">programy do konwersji plików fontowych oraz testowania i instalacji + fontów (zestaw do tworzenia fontów wirtualnych, manipulacji plikami .gf i .pk, programy <span +class="ec-lmtt-10">mft</span>, + <span +class="ec-lmtt-10">fontinst </span>itp.); + </dd><dt class="description"> +<span +class="ec-lmbx-10">Recommended fonts</span> </dt><dd +class="description">obszerna biblioteka częściej używanych fontów w postaci źródłowej (.mf) bądź + fontów obwiedniowych oraz pliki z definicjami i stylami <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>-a dla tych fontów; + </dd><dt class="description"> +<span +class="ec-lmbx-10">Extra fonts</span> </dt><dd +class="description">biblioteka różnych rzadziej używanych fontów; + </dd><dt class="description"> +<span +class="ec-lmbx-10">Extra formats</span> </dt><dd +class="description">pliki pomocnicze do generowania dodatkowych „formatów” (tj. obszerne zestawy makr + służące do wstępnego przetworzenia i utworzenia pliku <span +class="ec-lmtt-10">.fmt</span>); + </dd><dt class="description"> +<span +class="ec-lmbx-10">Games typesetting</span> </dt><dd +class="description">pakiety do prezentacji zapisu różnych gier (szachy, brydż itp.); + </dd><dt class="description"> +<span +class="ec-lmbx-10">Extra generic packages</span> </dt><dd +class="description">obszerna biblioteka makr, trudnych do sklasyfikowania, działających + z różnymi formatami (Plain, <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> itp.); + </dd><dt class="description"> +<span +class="ec-lmbx-10">HTML/SGML/XML support</span> </dt><dd +class="description">pakiety konwersji <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>-a do XML/HTML oraz do składu + dokumentów XML/SGML; + </dd><dt class="description"> +<span +class="ec-lmbx-10">lang</span><span +class="ec-lmbx-10">…</span> </dt><dd +class="description">wsparcie poszczególnych języków; zestawy zawierają wzorce przenoszenia wyrazów i makra + obsługi danych języków, czasem też specyficzne fonty itp., przykładowo: + </dd><dt class="description"> +<span +class="ec-lmbx-10">langpolish</span> </dt><dd +class="description">zawiera polskie pakiety: makra do tworzenia formatu MeX, pakiety <span +class="ec-lmtt-10">polski</span>, <span +class="ec-lmtt-10">mwcls</span>, fonty + i makra dodatkowe przydatne dla polskich użytkowników oraz dokumentacje w języku polskim.</dd></dl> +<!--l. 633--><p class="indent" > <hr class="figure"><div class="figure" +> + + +<a + id="x1-14061r1"></a> + + +<div class="fancyvrb" id="fancyvrb1"><a + id="x1-14002r1"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Installing</span><span +class="ec-lmtt-8"> TeX</span><span +class="ec-lmtt-8"> Live</span><span +class="ec-lmtt-8"> 2012</span><span +class="ec-lmtt-8"> from:</span><span +class="ec-lmtt-8"> ...</span><br class="fancyvrb" /><a + id="x1-14004r2"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Platform:</span><span +class="ec-lmtt-8"> i386-linux</span><span +class="ec-lmtt-8"> =></span><span +class="ec-lmtt-8"> ’Intel</span><span +class="ec-lmtt-8"> x86</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/Linux’</span><br class="fancyvrb" /><a + id="x1-14006r3"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Distribution:</span><span +class="ec-lmtt-8"> inst</span><span +class="ec-lmtt-8"> (compressed)</span> +<br class="fancyvrb" /><a + id="x1-14008r4"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ...</span><br class="fancyvrb" /><a + id="x1-14010r5"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Detected</span><span +class="ec-lmtt-8"> platform:</span><span +class="ec-lmtt-8"> Intel</span><span +class="ec-lmtt-8"> x86</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/Linux</span><br class="fancyvrb" /><a + id="x1-14012r6"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><br class="fancyvrb" /><a + id="x1-14014r7"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <B></span><span +class="ec-lmtt-8"> platforms:</span><span +class="ec-lmtt-8"> 1</span><span +class="ec-lmtt-8"> out</span><span +class="ec-lmtt-8"> of</span><span +class="ec-lmtt-8"> 19</span><br class="fancyvrb" /><a + id="x1-14016r8"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><br class="fancyvrb" /><a + id="x1-14018r9"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <S></span><span +class="ec-lmtt-8"> Installation</span><span +class="ec-lmtt-8"> scheme</span><span +class="ec-lmtt-8"> (scheme-full)</span> +<br class="fancyvrb" /><a + id="x1-14020r10"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> 84</span><span +class="ec-lmtt-8"> collections</span><span +class="ec-lmtt-8"> out</span><span +class="ec-lmtt-8"> of</span><span +class="ec-lmtt-8"> 85,</span><span +class="ec-lmtt-8"> disk</span><span +class="ec-lmtt-8"> space</span><span +class="ec-lmtt-8"> required:</span><span +class="ec-lmtt-8"> 3091</span><span +class="ec-lmtt-8"> MB</span><br class="fancyvrb" /><a + id="x1-14022r11"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><br class="fancyvrb" /><a + id="x1-14024r12"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Customizing</span><span +class="ec-lmtt-8"> installation</span><span +class="ec-lmtt-8"> scheme:</span> +<br class="fancyvrb" /><a + id="x1-14026r13"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <C></span><span +class="ec-lmtt-8"> standard</span><span +class="ec-lmtt-8"> collections</span><br class="fancyvrb" /><a + id="x1-14028r14"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <L></span><span +class="ec-lmtt-8"> language</span><span +class="ec-lmtt-8"> collections</span><br class="fancyvrb" /><a + id="x1-14030r15"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><br class="fancyvrb" /><a + id="x1-14032r16"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <D></span><span +class="ec-lmtt-8"> directories:</span><br class="fancyvrb" /><a + id="x1-14034r17"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> TEXDIR</span><span +class="ec-lmtt-8"> (the</span><span +class="ec-lmtt-8"> main</span><span +class="ec-lmtt-8"> TeX</span><span +class="ec-lmtt-8"> directory):</span> +<br class="fancyvrb" /><a + id="x1-14036r18"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> /usr/local/texlive/2012</span><br class="fancyvrb" /><a + id="x1-14038r19"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ...</span><br class="fancyvrb" /><a + id="x1-14040r20"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><br class="fancyvrb" /><a + id="x1-14042r21"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <O></span><span +class="ec-lmtt-8"> options:</span><br class="fancyvrb" /><a + id="x1-14044r22"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> use</span><span +class="ec-lmtt-8"> letter</span><span +class="ec-lmtt-8"> size</span><span +class="ec-lmtt-8"> instead</span><span +class="ec-lmtt-8"> of</span><span +class="ec-lmtt-8"> A4</span><span +class="ec-lmtt-8"> by</span><span +class="ec-lmtt-8"> default</span><br class="fancyvrb" /><a + id="x1-14046r23"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ...</span><br class="fancyvrb" /><a + id="x1-14048r24"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span> +<br class="fancyvrb" /><a + id="x1-14050r25"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <V></span><span +class="ec-lmtt-8"> set</span><span +class="ec-lmtt-8"> up</span><span +class="ec-lmtt-8"> for</span><span +class="ec-lmtt-8"> portable</span><span +class="ec-lmtt-8"> installation</span><br class="fancyvrb" /><a + id="x1-14052r26"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><br class="fancyvrb" /><a + id="x1-14054r27"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Actions:</span><br class="fancyvrb" /><a + id="x1-14056r28"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <I></span><span +class="ec-lmtt-8"> start</span><span +class="ec-lmtt-8"> installation</span><span +class="ec-lmtt-8"> to</span><span +class="ec-lmtt-8"> hard</span><span +class="ec-lmtt-8"> disk</span><br class="fancyvrb" /><a + id="x1-14058r29"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <H></span><span +class="ec-lmtt-8"> help</span><br class="fancyvrb" /><a + id="x1-14060r30"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <Q></span><span +class="ec-lmtt-8"> quit</span></div> +<br /> <div class="caption" +><span class="id">Rysunek 1: </span><span +class="content">Główny ekran instalatora w trybie tekstowym (GNU/Linux)</span></div><!--tex4ht:label?: x1-14061r1 --> + + +<!--l. 668--><p class="indent" > </div><hr class="endfigure"> +<!--l. 670--><p class="indent" > Plik <span +class="ec-lmtt-10">tlpdb/texlive.tlpdb </span>(wykorzystywany podczas instalacji) zawiera spis wszystkich plików w każdym +pakiecie. + <h4 class="subsectionHead"><span class="titlemark">2.7. </span> <a + id="x1-150002.7"></a>Fonty w <span class="TEX">T<span +class="E">E</span>X</span> Live</h4> +<!--l. 676--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Live zawiera wiele wysokiej jakości fontów skalowanych. Patrz: <a +href="http://tug.org/fonts" class="url" ><span +class="ec-lmtt-10">http://tug.org/fonts</span></a> oraz +<a +href="../../../../texmf-dist/doc/fonts/free-math-fonts-survey" >texmf-dist/doc/fonts/free-math-fonts-survey</a>. +<!--l. 682--><p class="indent" > <a id="installation"></a> + <h3 class="sectionHead"><span class="titlemark">3. </span> <a + id="x1-160003"></a>Instalacja</h3> +<!--l. 686--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">3.1. </span> <a + id="x1-170003.1"></a>Start instalacji</h4> +<!--l. 689--><p class="noindent" >Instalację <span class="TEX">T<span +class="E">E</span>X</span> Live uruchamiamy z płytki <span class="TEX">T<span +class="E">E</span>X</span> Collection DVD (bądź po pobraniu z sieci +pakietu instalacyjnego i jego rozpakowaniu) skryptem <span +class="ec-lmtt-10">install-tl </span>(Unix), <span +class="ec-lmtt-10">install-tl.bat </span>lub +<span +class="ec-lmtt-10">install-tl-advanced.bat </span>(Windows). Dodatkowe informacje na temat różnych metod instalacji znajdziemy +na stronie <a +href="http://tug.org/texlive/acquire.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/acquire.html</span></a>. +<!--l. 695--><p class="indent" > + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10">Instalacja z sieci:</span> </dt><dd +class="description">z archiwum CTAN, z katalogu + <span +class="ec-lmtt-10">systems/texlive/tlnet </span>(<a +href="http://mirror.ctan.org/systems/texlive/tlnet" class="url" ><span +class="ec-lmtt-10">http://mirror.ctan.org/systems/texlive/tlnet</span></a> automatycznie + przekierowuje do najbliższej kopii CTAN) należy pobrać plik <span +class="ec-lmtt-10">install-tl.zip </span>(wspólny dla + Unix i Windows) lub znacznie mniejszy <span +class="ec-lmtt-10">install-unx.tar.gz </span>(tylko dla Unix). Po rozpakowaniu, + w katalogu <span +class="ec-lmtt-10">install-tl/ </span>znajdziemy skrypty instalacyjne <span +class="ec-lmtt-10">install-tl</span>, <span +class="ec-lmtt-10">install-tl.bat</span> + i <span +class="ec-lmtt-10">install-tl-advanced.bat</span>. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Instalacja z płytki </span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> <span +class="ec-lmbx-10">Collection DVD:</span> </dt><dd +class="description">po zamontowaniu płytki należy zmienić katalog + bieżący na <span +class="ec-lmtt-10">texlive </span>DVD (w Windows program instalacyjny powinien uruchomić się + automatycznie). DVD otrzymamy w ramach członkostwa w dowolnej Grupie Użytkowników + Systemu <span class="TEX">T<span +class="E">E</span>X</span> (kontakt w Polsce <a +href="http://www.gust.org.pl" class="url" ><span +class="ec-lmtt-10">http://www.gust.org.pl</span></a>). Możemy także wypalić płytkę z + dostępnego w sieci jej obrazu ISO bądź zamontować bezpośrednio plik obrazu (w większości + systemów istnieje taka możliwość). Po zainstalowaniu z DVD lub obrazu ISO można dokonywać + aktualizacji z internetu (patrz <a +href="#x1-350003.4.3">3.4.3<!--tex4ht:ref: sec:dvd-install-net-updates --></a>).</dd></dl> +<!--l. 717--><p class="indent" > Bez względu na źródło stosowany jest ten sam program instalacyjny. Jedyną widoczną różnicą przy +instalacji z sieci jest pobranie zaktualizowanych pakietów, w przeciwieństwie do DVD i obrazu ISO, które nie +są aktualizowane między corocznymi wydaniami. +<!--l. 722--><p class="indent" > Dalsze kroki omówiono dokładniej poniżej. +<!--l. 725--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.1. </span> <a + id="x1-180003.1.1"></a>Unix</h5> +<!--l. 727--><p class="noindent" >Poniżej <span +class="ec-lmtt-10">> </span>oznacza znak zachęty systemu (tzw. prompt); to, co wpisuje użytkownik, zaznaczono <span +class="ec-lmtk-10">pogrubieniem</span>. +W oknie terminala należy wykonać: <div class="alltt"> +<!--l. 731--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">cd</span><span +class="ec-lmtk-10"> /path/to/installer</span> +<br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">perl</span><span +class="ec-lmtk-10"> install-tl</span> +</div> +</div> (można także uruchomić <span +class="ec-lmtk-10">perl /path/to/installer/install-tl </span>lub <span +class="ec-lmtk-10">./install-tl</span>; w dalszej części nie +będziemy powtarzać wszelkich możliwych kombinacji). Zalecane jest powiększenie okna terminala, aby +zobaczyć pełną zawartość ekranu programu instalacyjnego (rys. <a +href="#x1-14061r1">1<!--tex4ht:ref: fig:text-main --></a>). + + +<!--l. 741--><p class="indent" > Do uruchomienia w trybie graficznym (GUI; rys. <a +href="#x1-18001r2">2<!--tex4ht:ref: fig:gui-main --></a>) wymagana jest obecność w systemie modułu <span +class="ec-lmtt-10">Perl/TK</span> +skompilowanego ze wsparciem dla XFT (w systemach GNU/Linux jest on z reguły dostępny, ale dla innych +systemów niekoniecznie): <div class="alltt"> +<!--l. 745--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">perl</span><span +class="ec-lmtk-10"> install-tl</span><span +class="ec-lmtk-10"> -gui</span> +</div> +</div> +<!--l. 749--><p class="indent" > Kompletny wykaz dostępnych opcji otrzymamy uruchamiając: <div class="alltt"> +<!--l. 750--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">perl</span><span +class="ec-lmtk-10"> install-tl</span><span +class="ec-lmtk-10"> -help</span> +</div> +</div> +<!--l. 754--><p class="indent" > <span +class="ec-lmbx-10">Uwaga dotycząca uprawnie</span><span +class="ec-lmbx-10">ń w Unix: </span>program instalacyjny będzie respektował aktualną wartość +<span +class="ec-lmtt-10">umask</span>. Jeśli więc chcemy, aby instalacja była dostępna dla innych użytkowników, musimy ustawić wartość np. +<span +class="ec-lmtt-10">umask 002</span>. Więcej informacji na temat <span +class="ec-lmtt-10">umask </span>znajdziemy w dokumentacji posiadanego systemu +operacyjnego. +<!--l. 760--><p class="indent" > <hr class="figure"><div class="figure" +> + + +<a + id="x1-18001r2"></a> + + + +<!--l. 761--><p class="noindent" ><img +src="../texlive-common/install-lnx-main.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Rysunek 2: </span><span +class="content">Ekran zaawansowanego programu instalacyjnego GUI (GNU/Linux)</span></div><!--tex4ht:label?: x1-18001r2 --> + + +<!--l. 764--><p class="indent" > </div><hr class="endfigure"> +<!--l. 766--><p class="indent" > <span +class="ec-lmbx-10">Uwagi specjalne dotyczące Cygwin: </span>w odróżnieniu od wielu rzeczywistych systemów +operacyjnych, których Cygwin jest jedynie emulatorem, w środowisku tym mogą nie być domyślnie +zainstalowane niektóre programy wymagane dla instalatora <span class="TEX">T<span +class="E">E</span>X</span> Live. Dodatkowe informacje – patrz +część <a +href="#x1-210003.1.4">3.1.4<!--tex4ht:ref: sec:cygwin --></a>. + <h5 class="subsubsectionHead"><span class="titlemark">3.1.2. </span> <a + id="x1-190003.1.2"></a>MacOSX</h5> +<!--l. 774--><p class="noindent" >Jak wspomniano w części <a +href="#x1-90002.1">2.1<!--tex4ht:ref: sec:tl-coll-dists --></a>, dla Mac OS X przygotowano odrębną dystrybucję Mac<span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://tug.org/mactex" class="url" ><span +class="ec-lmtt-10">http://tug.org/mactex</span></a>). +W jej wypadku należy użyć dedykowanego programu instalacyjnego, gdyż zmienia on w specyficzny sposób +ustawienia systemu, w szczególności pozwala na łatwe przełączanie między różnymi dystrybucjami <span class="TEX">T<span +class="E">E</span>X</span>-a dla +Mac OS X: Mac<span class="TEX">T<span +class="E">E</span>X</span>, Fink, MacPorts. +<!--l. 781--><p class="indent" > Mac<span class="TEX">T<span +class="E">E</span>X</span> jest oparty na <span class="TEX">T<span +class="E">E</span>X</span> Live i główne drzewa katalogów pozostały w nim dokładnie +takie same, dodano jedynie katalogi ze specyficznymi dla systemu Mac OS X dokumentacjami +i aplikacjami. +<!--l. 785--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.3. </span> <a + id="x1-200003.1.3"></a>Windows</h5> +<!--l. 787--><p class="noindent" >Gdy używamy instalatora pobranego z sieci (bądź program ten nie uruchamia się automatycznie po włożeniu +DVD do napędu), należy uruchomić <span +class="ec-lmtt-10">install-tl.bat </span>(np. podwójnym kliknięciem myszy). Można to uczynić +także z linii poleceń. Gdy katalog zawierający ten plik jest katalogiem bieżącym, wystarczy uruchomić: +<div class="alltt"> +<!--l. 792--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">install-tl</span> +</div> +</div> bądź, dla bardziej wymagającej instalacji, pozwalającej na wybór schematów, kolekcji itp.: <div class="alltt"> +<!--l. 797--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">install-tl-advanced</span> +</div> +</div> +<!--l. 801--><p class="indent" > W linii poleceń można też podać ścieżkę do programu, np.: <div class="alltt"> +<!--l. 802--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">D:</span><span +class="ec-lmtt-10">\</span><span +class="ec-lmtk-10">texlive</span><span +class="ec-lmtt-10">\</span><span +class="ec-lmtk-10">install-tl</span> +</div> +</div> dla <span class="TEX">T<span +class="E">E</span>X</span> Collection DVD, zakładając, że <span +class="ec-lmtt-10">D: </span>jest napędem DVD (rys. <a +href="#x1-20001r3">3<!--tex4ht:ref: fig:wizard-w32 --></a> pokazuje domyślny dla Windows +ekran programu instalacyjnego). +<!--l. 809--><p class="indent" > Instalacja w trybie tekstowym wymaga podania: <div class="alltt"> +<!--l. 810--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">install-tl</span><span +class="ec-lmtk-10"> -no-gui</span> +</div> +</div> +<!--l. 814--><p class="indent" > Wszystkie dostępne opcje wyświetlimy uruchamiając: <div class="alltt"> +<!--l. 815--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">install-tl</span><span +class="ec-lmtk-10"> -help</span> +</div> +</div> +<!--l. 819--><p class="indent" > <hr class="figure"><div class="figure" +> + + +<a + id="x1-20001r3"></a> + + + +<!--l. 820--><p class="noindent" ><img +src="../texlive-common/wizard-w32.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Rysunek 3: </span><span +class="content">Ekran programu instalacyjnego „Wizard” (Windows)</span></div><!--tex4ht:label?: x1-20001r3 --> + + +<!--l. 823--><p class="indent" > </div><hr class="endfigure"> +<!--l. 825--><p class="indent" > <a id="cygwin"></a> + <h5 class="subsubsectionHead"><span class="titlemark">3.1.4. </span> <a + id="x1-210003.1.4"></a>Cygwin</h5> +<!--l. 829--><p class="noindent" >Program instalujący <span class="TEX">T<span +class="E">E</span>X</span> Live obsługuje jedynie Cygwin w wersji 1.7. Przed instalacją w tym systemie zaleca +się uruchomić program <span +class="ec-lmtt-10">setup.exe </span>i, o ile nie zostały one uprzednio zainstalowane, zainstalować pakiety <span +class="ec-lmtt-10">perl</span> +oraz <span +class="ec-lmtt-10">wget</span>. Ponadto zalecana jest instalacja: + <ul class="itemize1"> + <li class="itemize"><span +class="ec-lmtt-10">fontconfig </span>(wymagany dla Xe<span class="TEX">T<span +class="E">E</span>X</span>) + </li> + <li class="itemize"><span +class="ec-lmtt-10">ghostscript </span>(wymagany dla wielu narzędzi) + </li> + <li class="itemize"><span +class="ec-lmtt-10">libXaw7 </span>(wymagany dla <span +class="ec-lmtt-10">xdvi</span>) + </li> + <li class="itemize"><span +class="ec-lmtt-10">ncurses </span>(udostępnia <span +class="ec-lmtt-10">clear </span>– „czyste” polecenie stosowane przez program instalacyjny)</li></ul> +<!--l. 842--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.5. </span> <a + id="x1-220003.1.5"></a>Instalator w trybie tekstowym</h5> +<!--l. 844--><p class="noindent" >Rysunek <a +href="#x1-14061r1">1<!--tex4ht:ref: fig:text-main --></a> przedstawia główny ekran programu <span +class="ec-lmtt-10">install-tl </span>w (domyślnym) trybie tekstowym w systemie +Unix. W tym trybie nie używamy ani klawiszy kursora, ani myszy, lecz wyłącznie klawiszy alfanumerycznych +(uwaga: duże i małe litery są rozróżniane!). Wybraną opcję zatwierdzamy klawiszem Enter. Instalator +w trybie tekstowym jest na tyle prosty, by działał na możliwie wielu platformach, nawet wyposażonych +jedynie w podstawowe biblioteki Perla. +<!--l. 853--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.6. </span> <a + id="x1-230003.1.6"></a>Zaawansowany program instalacyjny w trybie graficznym</h5> +<!--l. 855--><p class="noindent" >Rysunek <a +href="#x1-18001r2">2<!--tex4ht:ref: fig:gui-main --></a> przedstawia program instalacyjny w trybie graficznym, w wersji rozszerzonej. W systemie Windows +znajdziemy tu dodatkowe przyciski dla opcji nieistotnych w systemach Unix/Linux. Tryb ten uruchamiamy +poleceniem: + <div class="alltt"> +<!--l. 860--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10"> ></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">install-tl</span><span +class="ec-lmtk-10"> -gui=perltk</span> +</div> +</div> +<!--l. 864--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.7. </span> <a + id="x1-240003.1.7"></a>Uproszczony program instalacyjny</h5> +<!--l. 866--><p class="noindent" >W systemie Windows domyślnie uruchamiany jest uproszczony program instalujący wszystkie pakiety <span class="TEX">T<span +class="E">E</span>X</span> +Live, który wymaga od użytkownika odpowiedzi jedynie na kilka pytań (katalog docelowy itp.). Tryb ten, +zwany <span +class="ec-lmri-10">wizard </span>(„czarodziej”, „mag”, rys. <a +href="#x1-20001r3">3<!--tex4ht:ref: fig:wizard-w32 --></a>), uruchamiany jest poleceniem: + <div class="alltt"> +<!--l. 872--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">install-tl</span><span +class="ec-lmtk-10"> -gui=wizard</span> +</div> +</div> + + +<!--l. 876--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">3.2. </span> <a + id="x1-250003.2"></a>Podczas instalacji</h4> +<!--l. 879--><p class="noindent" >Program instalacyjny jest z założenia na tyle prosty, że szczegółowe wyjaśnienia wydają się zbędne. Podamy +jednak kilka uwag dotyczących różnych opcji i dostępnych podmenu. +<!--l. 883--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.2.1. </span> <a + id="x1-260003.2.1"></a>Menu: binary systems (tylko Unix)</h5> +<!--l. 886--><p class="noindent" ><hr class="figure"><div class="figure" +> + + +<a + id="x1-26043r4"></a> + + +<div class="fancyvrb" id="fancyvrb2"><a + id="x1-26002r1"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Available</span><span +class="ec-lmtt-8"> platforms:</span><span +class="ec-lmtt-8"> (Dostępne</span><span +class="ec-lmtt-8"> platformy:)</span><br class="fancyvrb" /><a + id="x1-26004r2"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ===============================================================================</span> +<br class="fancyvrb" /><a + id="x1-26006r3"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> a</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> alpha-linux</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> DEC</span><span +class="ec-lmtt-8"> Alpha</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/Linux</span><br class="fancyvrb" /><a + id="x1-26008r4"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> b</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> amd64-freebsd</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> x86_64</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> FreeBSD</span> +<br class="fancyvrb" /><a + id="x1-26010r5"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> c</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> amd64-kfreebsd</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> x86_64</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/FreeBSD</span><br class="fancyvrb" /><a + id="x1-26012r6"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> d</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> armel-linux</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ARM</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/Linux</span> +<br class="fancyvrb" /><a + id="x1-26014r7"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> e</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> i386-cygwin</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Intel</span><span +class="ec-lmtt-8"> x86</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> Cygwin</span><br class="fancyvrb" /><a + id="x1-26016r8"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> f</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> i386-freebsd</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Intel</span><span +class="ec-lmtt-8"> x86</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> FreeBSD</span> +<br class="fancyvrb" /><a + id="x1-26018r9"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> g</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> i386-kfreebsd</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Intel</span><span +class="ec-lmtt-8"> x86</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/FreeBSD</span><br class="fancyvrb" /><a + id="x1-26020r10"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> h</span><span +class="ec-lmtt-8"> [X]</span><span +class="ec-lmtt-8"> i386-linux</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Intel</span><span +class="ec-lmtt-8"> x86</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/Linux</span> +<br class="fancyvrb" /><a + id="x1-26022r11"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> i</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> i386-solaris</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Intel</span><span +class="ec-lmtt-8"> x86</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> Solaris</span><br class="fancyvrb" /><a + id="x1-26024r12"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> j</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> mips-irix</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> SGI</span><span +class="ec-lmtt-8"> IRIX</span><br class="fancyvrb" /><a + id="x1-26026r13"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> k</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> mipsel-linux</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> mipsel</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> Linux</span> +<br class="fancyvrb" /><a + id="x1-26028r14"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> l</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> powerpc-aix</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> PowerPC</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> AIX</span><br class="fancyvrb" /><a + id="x1-26030r15"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> m</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> powerpc-linux</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> PowerPC</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/Linux</span> +<br class="fancyvrb" /><a + id="x1-26032r16"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> o</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> sparc-solaris</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Sparc</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> Solaris</span><br class="fancyvrb" /><a + id="x1-26034r17"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> p</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> universal-darwin</span><span +class="ec-lmtt-8"> universal</span><span +class="ec-lmtt-8"> binaries</span><span +class="ec-lmtt-8"> for</span><span +class="ec-lmtt-8"> MacOSX/Darwin</span> +<br class="fancyvrb" /><a + id="x1-26036r18"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> s</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> win32</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Windows</span><br class="fancyvrb" /><a + id="x1-26038r19"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> t</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> x86_64-darwin</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> x86_64</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> MacOSX/Darwin</span> +<br class="fancyvrb" /><a + id="x1-26040r20"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> u</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> x86_64-linux</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> x86_64</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> GNU/Linux</span><br class="fancyvrb" /><a + id="x1-26042r21"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> v</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> x86_64-solaris</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> x86_64</span><span +class="ec-lmtt-8"> with</span><span +class="ec-lmtt-8"> Solaris</span></div> +<br /> <div class="caption" +><span class="id">Rysunek 4: </span><span +class="content">Wybór platformy (systemu operacyjnego)</span></div><!--tex4ht:label?: x1-26043r4 --> + + +<!--l. 911--><p class="noindent" ></div><hr class="endfigure"> +<!--l. 913--><p class="indent" > Rysunek <a +href="#x1-26043r4">4<!--tex4ht:ref: fig:bin-text --></a> pokazuje (w trybie tekstowym) wybór platformy (systemu operacyjnego). Domyślnie +instalowane są tylko programy dla bieżącej platformy, ale menu to pozwala wybrać także zestawy +dla innych platform. Może być to przydatne do instalacji na serwerze i współdzielenia zasobów +w sieci dla różnych systemów operacyjnych bądź dla instalacji dla kilku systemów na tej samej +maszynie. + <h5 class="subsubsectionHead"><span class="titlemark">3.2.2. </span> <a + id="x1-270003.2.2"></a>Wybór składników do instalacji</h5> +<!--l. 923--><p class="noindent" ><hr class="figure"><div class="figure" +> + + +<a + id="x1-27025r5"></a> + + +<div class="fancyvrb" id="fancyvrb3"><a + id="x1-27002r1"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Select</span><span +class="ec-lmtt-8"> scheme:</span><span +class="ec-lmtt-8"> (Wyb</span><span +class="ec-lmtt-8">ór</span><span +class="ec-lmtt-8"> schematu</span><span +class="ec-lmtt-8"> do</span><span +class="ec-lmtt-8"> instalacji:)</span><br class="fancyvrb" /><a + id="x1-27004r2"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ===============================================================================</span> +<br class="fancyvrb" /><a + id="x1-27006r3"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> a</span><span +class="ec-lmtt-8"> [X]</span><span +class="ec-lmtt-8"> full</span><span +class="ec-lmtt-8"> scheme</span><span +class="ec-lmtt-8"> (everything)</span><br class="fancyvrb" /><a + id="x1-27008r4"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> b</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> medium</span><span +class="ec-lmtt-8"> scheme</span><span +class="ec-lmtt-8"> (small</span><span +class="ec-lmtt-8"> +</span><span +class="ec-lmtt-8"> more</span><span +class="ec-lmtt-8"> packages</span><span +class="ec-lmtt-8"> and</span><span +class="ec-lmtt-8"> languages)</span> +<br class="fancyvrb" /><a + id="x1-27010r5"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> c</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> small</span><span +class="ec-lmtt-8"> scheme</span><span +class="ec-lmtt-8"> (basic</span><span +class="ec-lmtt-8"> +</span><span +class="ec-lmtt-8"> xetex,</span><span +class="ec-lmtt-8"> metapost,</span><span +class="ec-lmtt-8"> a</span><span +class="ec-lmtt-8"> few</span><span +class="ec-lmtt-8"> languages)</span><br class="fancyvrb" /><a + id="x1-27012r6"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> d</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> basic</span><span +class="ec-lmtt-8"> scheme</span><span +class="ec-lmtt-8"> (plain</span><span +class="ec-lmtt-8"> and</span><span +class="ec-lmtt-8"> latex)</span> +<br class="fancyvrb" /><a + id="x1-27014r7"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> e</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> minimal</span><span +class="ec-lmtt-8"> scheme</span><span +class="ec-lmtt-8"> (plain</span><span +class="ec-lmtt-8"> only)</span><br class="fancyvrb" /><a + id="x1-27016r8"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> f</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> ConTeXt</span><span +class="ec-lmtt-8"> scheme</span><br class="fancyvrb" /><a + id="x1-27018r9"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> g</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> GUST</span><span +class="ec-lmtt-8"> TeX</span><span +class="ec-lmtt-8"> Live</span><span +class="ec-lmtt-8"> scheme</span> +<br class="fancyvrb" /><a + id="x1-27020r10"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> h</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> teTeX</span><span +class="ec-lmtt-8"> scheme</span><span +class="ec-lmtt-8"> (more</span><span +class="ec-lmtt-8"> than</span><span +class="ec-lmtt-8"> medium,</span><span +class="ec-lmtt-8"> but</span><span +class="ec-lmtt-8"> nowhere</span><span +class="ec-lmtt-8"> near</span><span +class="ec-lmtt-8"> full)</span><br class="fancyvrb" /><a + id="x1-27022r11"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> i</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> XML</span><span +class="ec-lmtt-8"> scheme</span><br class="fancyvrb" /><a + id="x1-27024r12"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> j</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><span +class="ec-lmtt-8"> custom</span><span +class="ec-lmtt-8"> selection</span><span +class="ec-lmtt-8"> of</span><span +class="ec-lmtt-8"> collections</span></div> +<br /> <div class="caption" +><span class="id">Rysunek 5: </span><span +class="content">Menu: wybór schematów</span></div><!--tex4ht:label?: x1-27025r5 --> + + +<!--l. 939--><p class="noindent" ></div><hr class="endfigure"> +<!--l. 941--><p class="indent" > Rysunek <a +href="#x1-27025r5">5<!--tex4ht:ref: fig:scheme-text --></a> pokazuje menu „Wybór schematów”. Schematy to obszerne zestawy pakietów, przeznaczone do +wstępnego wyboru instalowanych komponentów. Mamy tu schematy do instalacji: podstawowej (<span +class="ec-lmtt-10">basic</span>), +typowej (<span +class="ec-lmtt-10">medium</span>) i pełnej (<span +class="ec-lmtt-10">full</span>; jest ona domyślna), pozostałe przygotowano z myślą o wybranych grupach +użytkowników (np. GUST) lub zastosowaniach (np. XML lub ConTeXt). +<!--l. 948--><p class="indent" > <hr class="figure"><div class="figure" +> + + +<a + id="x1-27026r6"></a> + + +<div class="center" +> +<!--l. 949--><p class="noindent" > + +<!--l. 950--><p class="noindent" ><img +src="../texlive-common/stdcoll.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Rysunek 6: </span><span +class="content">Menu Collections (Kolekcje)</span></div><!--tex4ht:label?: x1-27026r6 --> +</div> + + +<!--l. 953--><p class="indent" > </div><hr class="endfigure"> +<!--l. 955--><p class="indent" > Wstępnie wybrane schematy można modyfikować. W skład ,schematów” wchodzą tzw. „kolekcje”, które +można wybrać w kolejnych menu o nazwach: „Kolekcje standardowe” i „Kolekcje językowe” (rys. <a +href="#x1-27026r6">6<!--tex4ht:ref: fig:collections-gui --></a>). Kolekcje +stanowią niższy poziom niż schematy, a same składają się z „pakietów”. Dopiero pakiety zawierają właściwe +pliki makr, fontów itp. Jeśli chcemy dodać lub usunąć pakiet, to po instalacji właściwej użyjemy programu +<span class="TEX">T<span +class="E">E</span>X</span> Live Manager (<span +class="ec-lmss-10">tlmgr</span>, patrz część <a +href="#x1-460005">5<!--tex4ht:ref: sec:tlmgr --></a>). + <h5 class="subsubsectionHead"><span class="titlemark">3.2.3. </span> <a + id="x1-280003.2.3"></a>Katalogi</h5> +<!--l. 966--><p class="noindent" >Domyślny układ katalogów opisano w części <a +href="#x1-110002.3">2.3<!--tex4ht:ref: sec:texmftrees --></a> na str. <a +href="#x1-110002.3">9<!--tex4ht:ref: sec:texmftrees --></a>. Położenie domyślne całej instalacji (<span +class="ec-lmtt-10">TEXDIR</span>) różni +się w Windows (<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">%SystemDrive%\texlive\2012</span></span></span>) i w Unix (<span +class="ec-lmtt-10">/usr/local/texlive/2012</span>). +<!--l. 971--><p class="indent" > Głównym powodem, dla którego chcielibyśmy ewentualnie zmienić domyślne położenie <span +class="ec-lmtt-10">TEXDIR</span>, może być +brak uprawnień systemowych. Aby zainstalować <span class="TEX">T<span +class="E">E</span>X</span> Live, nie musimy być administratorem systemu, musimy +jednak posiadać uprawnienia do zapisu w docelowym katalogu. Rozsądną alternatywą może być wtedy +instalacja w katalogu domowym, szczególnie gdy będziemy jej jedynym użytkownikiem. Stosujemy tu zapis +„<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">~</span></span></span>” do zaznaczenia katalogu domowego użytkownika, np. <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">~/texlive/2012</span></span></span>. Zalecamy użycie katalogu z nazwą +odzwierciedlającą rok wydania, co pozwoli na zainstalowanie obok siebie różnych wydań <span class="TEX">T<span +class="E">E</span>X</span> +Live. +<!--l. 985--><p class="indent" > Zmiana <span +class="ec-lmtt-10">TEXDIR </span>w programie instalacyjnym zmieni także ścieżki katalogów określone przez zmienne +<span +class="ec-lmtt-10">TEXMFLOCAL</span>, <span +class="ec-lmtt-10">TEXMFSYSVAR </span>i <span +class="ec-lmtt-10">TEXMFSYSCONFIG</span>. +<!--l. 989--><p class="indent" > <span +class="ec-lmtt-10">TEXMFHOME </span>jest zalecanym położeniem dla prywatnych makr i fontów użytkownika. Domyślnym +katalogiem jest <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">~/texmf</span></span></span>. W odróżnieniu od <span +class="ec-lmtt-10">TEXDIR</span>, znak <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">~</span></span></span> jest zachowywany w generowanych plikach +konfiguracyjnych, ponieważ w wygodny sposób odnosi się do katalogu domowego podczas każdego +uruchamiania programów. Znak ten rozwijany jest do zmiennej <span +class="ec-lmtt-10">$HOME </span>w Unix i <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">%USERPROFILE%</span></span></span> w Windows. +Po raz kolejny podkreślmy, że tak jak inne drzewa katalogów, <span +class="ec-lmtt-10">TEXMFHOME </span>musi mieć strukturę zgodną z +TDS. +<!--l. 998--><p class="indent" > Katalog określany przez zmienną <span +class="ec-lmtt-10">TEXMFVAR </span>przechowuje dane konfiguracyjne specyficzne dla każdego +użytkownika. Katalog określany przez zmienną <span +class="ec-lmtt-10">TEXMFCACHE </span>przechowuje dane buforowane (<span +class="ec-lmri-10">cached</span>) +Con<span class="TEX">T<span +class="E">E</span>X</span>t MkIV (patrz część <a +href="#x1-370003.4.5">3.4.5<!--tex4ht:ref: sec:context-mkiv --></a>, na str. <a +href="#x1-370003.4.5">39<!--tex4ht:ref: sec:context-mkiv --></a>). +<!--l. 1004--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.2.4. </span> <a + id="x1-290003.2.4"></a>Opcje</h5> +<!--l. 1007--><p class="noindent" ><hr class="figure"><div class="figure" +> + + +<a + id="x1-29025r7"></a> + + +<div class="fancyvrb" id="fancyvrb4"><a + id="x1-29002r1"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Options</span><span +class="ec-lmtt-8"> setup:</span><br class="fancyvrb" /><a + id="x1-29004r2"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ===============================================================================</span> +<br class="fancyvrb" /><a + id="x1-29006r3"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <P></span><span +class="ec-lmtt-8"> use</span><span +class="ec-lmtt-8"> letter</span><span +class="ec-lmtt-8"> size</span><span +class="ec-lmtt-8"> instead</span><span +class="ec-lmtt-8"> of</span><span +class="ec-lmtt-8"> A4</span><span +class="ec-lmtt-8"> by</span><span +class="ec-lmtt-8"> default:</span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><br class="fancyvrb" /><a + id="x1-29008r4"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <E></span><span +class="ec-lmtt-8"> execution</span><span +class="ec-lmtt-8"> of</span><span +class="ec-lmtt-8"> restricted</span><span +class="ec-lmtt-8"> list</span><span +class="ec-lmtt-8"> of</span><span +class="ec-lmtt-8"> programs:</span><span +class="ec-lmtt-8"> [X]</span> +<br class="fancyvrb" /><a + id="x1-29010r5"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <F></span><span +class="ec-lmtt-8"> create</span><span +class="ec-lmtt-8"> all</span><span +class="ec-lmtt-8"> format</span><span +class="ec-lmtt-8"> files:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> [X]</span><br class="fancyvrb" /><a + id="x1-29012r6"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <D></span><span +class="ec-lmtt-8"> install</span><span +class="ec-lmtt-8"> font/macro</span><span +class="ec-lmtt-8"> doc</span><span +class="ec-lmtt-8"> tree:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> [X]</span> +<br class="fancyvrb" /><a + id="x1-29014r7"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <S></span><span +class="ec-lmtt-8"> install</span><span +class="ec-lmtt-8"> font/macro</span><span +class="ec-lmtt-8"> source</span><span +class="ec-lmtt-8"> tree:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> [X]</span><br class="fancyvrb" /><a + id="x1-29016r8"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <L></span><span +class="ec-lmtt-8"> create</span><span +class="ec-lmtt-8"> symlinks</span><span +class="ec-lmtt-8"> in</span><span +class="ec-lmtt-8"> standard</span><span +class="ec-lmtt-8"> directories:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> [</span><span +class="ec-lmtt-8"> ]</span><br class="fancyvrb" /><a + id="x1-29018r9"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> binaries</span><span +class="ec-lmtt-8"> to:</span> +<br class="fancyvrb" /><a + id="x1-29020r10"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> manpages</span><span +class="ec-lmtt-8"> to:</span><br class="fancyvrb" /><a + id="x1-29022r11"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> info</span><span +class="ec-lmtt-8"> to:</span><br class="fancyvrb" /><a + id="x1-29024r12"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> <Y></span><span +class="ec-lmtt-8"> after</span><span +class="ec-lmtt-8"> installation,</span><span +class="ec-lmtt-8"> get</span><span +class="ec-lmtt-8"> package</span><span +class="ec-lmtt-8"> updates</span><span +class="ec-lmtt-8"> from</span><span +class="ec-lmtt-8"> CTAN:</span><span +class="ec-lmtt-8"> [X]</span></div> +<br /> <div class="caption" +><span class="id">Rysunek 7: </span><span +class="content">Menu: Options (Opcje) w Unix</span></div><!--tex4ht:label?: x1-29025r7 --> + + +<!--l. 1023--><p class="noindent" ></div><hr class="endfigure"> +<!--l. 1025--><p class="indent" > Rysunek <a +href="#x1-29025r7">7<!--tex4ht:ref: fig:options-text --></a> pokazuje menu (w trybie tekstowym) z dodatkowymi opcjami. Warto tu je wymienić: + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10">use letter size instead of A4 by default</span> </dt><dd +class="description">(użyj domyślnie formatu papieru letter zamiast A4): + pozwala określić domyślny format papieru dla wielu programów. Oczywiście format papieru + można (nawet: należy) specyfikować dla każdego dokumentu w miarę potrzeby. + </dd><dt class="description"> +<span +class="ec-lmbx-10">execution of restricted list of programs</span> </dt><dd +class="description">(zezwalaj na uruchomienie niektórych programów): od + <span class="TEX">T<span +class="E">E</span>X</span> Live 2010 wykonanie niektórych przydatnych programów pomocniczych, uruchamianych + jako podprocesy (w „tle”), zostało zastrzeżone dla ich niewielkiej listy, zamieszczonej w pliku + <span +class="ec-lmtt-10">texmf.cnf</span>. Szczegóły znajdziesz w części „Wydanie 2010” (<a +href="#x1-8500011.7">11.7<!--tex4ht:ref: sec:2010news --></a>). + </dd><dt class="description"> +<span +class="ec-lmbx-10">create format files</span> </dt><dd +class="description">(generuj pliki formatów): chociaż zbędne formaty zajmują miejsce na dysku, + zaleca się pozostawić tę opcję włączoną; jeśli tego nie zrobimy, formaty będą generowane + automatycznie (w razie potrzeby) w prywatnych katalogach <span +class="ec-lmtt-10">TEXMFVAR </span>użytkowników, nie będą + jednak odświeżane, gdy w instalacji zostaną zaktualizowane np. same programy bądź wzorce + przenoszenia; wskutek tego pliki formatów mogą utracić zgodność ze środowiskiem, w którym + są używane. + </dd><dt class="description"> +<span +class="ec-lmbx-10">install font/macro </span><span +class="ec-lmbx-10">…</span><span +class="ec-lmbx-10"> tree</span> </dt><dd +class="description">(instaluj pliki źródłowe i/lub dokumentacji dla fontów bądź makr): + wprawdzie wyłączenie tych opcji pozwala zaoszczędzić miejsce na dysku, ale nie jest zalecane. + </dd><dt class="description"> +<span +class="ec-lmbx-10">create symlinks in standard directories</span> </dt><dd +class="description">(utwórz dowiązania w standardowych + katalogach, dotyczy tylko Unix): opcja ta pozwala uniknąć ustawiania zmiennych środowiska + po instalacji (<span +class="ec-lmtt-10">PATH</span>, <span +class="ec-lmtt-10">MANPATH </span>i <span +class="ec-lmtt-10">INFOPATH</span>), ale jej użycie nie jest zalecane, bo może powodować + kolizje z już zainstalowanym w systemie środowiskiem <span class="TEX">T<span +class="E">E</span>X</span>; może być ona przydatna jedynie + wtedy, gdy w standardowych katalogach (np. <span +class="ec-lmtt-10">/usr/local/bin</span>) nie ma jakichkolwiek programów + <span class="TEX">T<span +class="E">E</span>X</span>-owych. Wymaga ona ponadto uprawnień do zapisu w docelowych katalogach. + </dd><dt class="description"> +<span +class="ec-lmbx-10">after installation </span><span +class="ec-lmbx-10">…</span><span +class="ec-lmbx-10"> CTAN</span> </dt><dd +class="description">(po instalacji użyj CTAN, aby pobrać aktualizacje): gdy instalujemy + z DVD, opcja ta jest domyślnie włączona, co pozwala dokonać aktualizacji zainstalowanych + pakietów z sieci (z kopii CTAN). Jedyny powód, dla którego moglibyśmy wyłączyć tę opcję, to + sytuacja, gdy instalujemy tylko część pakietów i zamierzamy potem doinstalować z DVD inne. + Tak czy inaczej, repozytorium pakietów do instalacji bądź aktualizacji może być w każdej + chwili zmienione w linii poleceń, lub po wyborze odpowiedniego menu programu <span +class="ec-lmss-10">tlmgr </span>w trybie + graficznym. Patrz część <a +href="#x1-310003.3.1">3.3.1<!--tex4ht:ref: sec:location --></a> i część <a +href="#x1-350003.4.3">3.4.3<!--tex4ht:ref: sec:dvd-install-net-updates --></a>.</dd></dl> +<!--l. 1074--><p class="indent" > Po wykonaniu wszystkich potrzebnych ustawień można rozpocząć instalację (klawisz „I”). +Po instalacji zaleca się zajrzeć do części <a +href="#x1-320003.4">3.4<!--tex4ht:ref: sec:postinstall --></a>, bo być może będą jeszcze potrzebne dodatkowe +kroki. + <h4 class="subsectionHead"><span class="titlemark">3.3. </span> <a + id="x1-300003.3"></a>Parametry instalacji z linii poleceń</h4> +<!--l. 1137--><p class="noindent" >Uruchom <div class="alltt"> +<!--l. 1138--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">install-tl</span><span +class="ec-lmtk-10"> -help</span> +</div> +</div> aby wyświetlić wszystkie dostępne parametry. Oto najczęściej używane: +<!--l. 1145--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span +class="ec-lmtt-10">-gui</span> </dt><dd +class="list"> + <!--l. 1146--><p class="noindent" >użyj (jeśli to możliwe) programu w wersji graficznej (GUI); wymagane jest posiadanie modułu + Perl/Tk (<a +href="http://tug.org/texlive/distro.html#perltk" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/distro.html#perltk</span></a>) skompilowanego ze wsparciem dla + XFT; gdy jest on niedostępny, program instalacyjny uruchomiony zostanie w trybie tekstowym; + + + </dd><dt class="list"> + <span +class="ec-lmtt-10">-no-gui</span> </dt><dd +class="list"> + <!--l. 1152--><p class="noindent" >wymusza tryb tekstowy, np. w Windows. + </dd><dt class="list"> + <span +class="ec-lmtt-10">-lang </span><span +class="ec-lmro-10">ll</span> </dt><dd +class="list"> + <!--l. 1153--><p class="noindent" >pozwala wybrać język komunikatów, <span +class="ec-lmri-10">ll </span>oznacza tu dwuliterowy kod języka; listę dostępnych + języków wyświetli <span +class="ec-lmtt-10">install-tl –help</span>; program samoczynnie wykrywa język systemu, ale jeśli + jest to niemożliwe, komunikaty i menu będą wyświetlane w języku angielskim; + <!--l. 1173--><p class="noindent" ><a id="opt-in-place"></a> + </dd><dt class="list"> + <span +class="ec-lmtt-10">-in-place</span> </dt><dd +class="list"> + <!--l. 1174--><p class="noindent" >jeśli posiadamy kopię repozytorium <span class="TEX">T<span +class="E">E</span>X</span> Live uzyskaną via rsync, svn itp. (patrz + <a +href="http://tug.org/texlive/acquire-mirror.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/acquire-mirror.html</span></a>), opcja ta pozwala na wykorzystanie jako + instalacji owej kopii i jedynie wykona kroki poinstalacyjne (konfigurację). <span +class="ec-lmbx-10">Uwaga: </span>plik + <span +class="ec-lmtt-10">tlpkg/texlive.tlpdb </span>może zostać nadpisany, a więc warto go uprzednio skopiować w bezpieczne + miejsce. Ponadto usuwanie zbędnych pakietów należy wykonać wtedy ręcznie, słowem, użycie tej + opcji zaleca się jedynie zaawansowanym użytkownikom. Opcja ta może być włączona/wyłączona + w programie instalacyjnym. + </dd><dt class="list"> + <span +class="ec-lmtt-10">-portable</span> </dt><dd +class="list"> + <!--l. 1184--><p class="noindent" >instalacja do użycia przenośnego, np. na pen drivie; opcja ta może być użyta zarówno w trybie + tekstowym (poleceniem <span +class="ec-lmtt-10">V</span>), jak i przez wyb˘r odpowiedniego przycisku programu instalacyjnego + w trybie GUI (patrz część  <a +href="#x1-440004.2">4.2<!--tex4ht:ref: sec:portable-tl --></a>). + </dd><dt class="list"> + <span +class="ec-lmtt-10">-profile </span><span +class="ec-lmro-10">plik</span> </dt><dd +class="list"> + <!--l. 1189--><p class="noindent" >wczytuje <span +class="ec-lmro-10">plik </span>profilu instalacji i przebiega ona bez interakcji ze strony użytkownika; program + instalacyjny zapisuje plik <span +class="ec-lmtt-10">texlive.profile </span>w katalogu <span +class="ec-lmtt-10">tlpkg </span>naszej instalacji, co pozwala + wykorzystać go dla powielenia w trybie wsadowym wszystkich wyborów i ustawień w kolejnych + instalacjach; + </dd><dt class="list"> + <span +class="ec-lmtt-10">-repository </span><span +class="ec-lmro-10">url-lub-</span><span +class="ec-lmro-10">ście</span><span +class="ec-lmro-10">żka</span> </dt><dd +class="list"> + <!--l. 1196--><p class="noindent" >pozwala określić inne niż domyślne źródło instalacji (patrz poniżej).</dd></dl> +<!--l. 1200--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.3.1. </span> <a + id="x1-310003.3.1"></a>Parametr <span +class="ec-lmtt-10">-repository</span></h5> +<!--l. 1203--><p class="noindent" >Domyślnym repozytorium pakietów dla <span class="TEX">T<span +class="E">E</span>X</span> Live jest kopia (<span +class="ec-lmri-10">mirror</span>) CTAN, znajdywana automatycznie +poprzez sewis <a +href="http://mirror.ctan.org" class="url" ><span +class="ec-lmtt-10">http://mirror.ctan.org</span></a>. +<!--l. 1206--><p class="indent" > Parametrowi <span +class="ec-lmtt-10">-repository </span>można przypisać adres w sieci (rozpoczynający się od <span +class="ec-lmtt-10">ftp:</span>, <span +class="ec-lmtt-10">http: </span>lub <span +class="ec-lmtt-10">file:/</span>) +lub pełną ścieżkę do kopii pakietów na dysku (np. pobranej za pomocą programu <span +class="ec-lmtt-10">wget </span>lub <span +class="ec-lmtt-10">rsync</span>). Jeśli +podany argument wskazuje na lokalny dysk (ścieżkę bądź adres <span +class="ec-lmtt-10">file:/</span>), wybrana zostanie instalacja ze +skompresowanych plików <span +class="ec-lmtt-10">tar.xz</span>, zawartych w podkatalogu <span +class="ec-lmtt-10">archive</span>. (Podając adres <span +class="ec-lmtt-10">http:</span> lub +<span +class="ec-lmtt-10">ftp:</span> końcowy znak ‘<span +class="ec-lmtt-10">/</span>’ lub komponent ‘<span +class="ec-lmtt-10">/tlpkg</span>’ są ignorowane.) +<!--l. 1216--><p class="indent" > Przykładowo, można wybrać konkretną kopię (zwierciadło) CTAN z +<a +href="http://ctan.example.org/tex-archive/systems/texlive/tlnet/" class="url" ><span +class="ec-lmtt-10">http://ctan.example.org/tex-archive/systems/texlive/tlnet/</span></a> podstawiając prawdziwą nazwę hosta i +jego konkretną ścieżkę do korzenia CTAN zamiast <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">ctan.example.org/tex-archive</span></span></span>. Lista zwierciadeł +CTAN jest dostępna na stronie <a +href="http://ctan.org/mirrors" class="url" ><span +class="ec-lmtt-10">http://ctan.org/mirrors</span></a>. +<!--l. 1222--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">3.4. </span> <a + id="x1-320003.4"></a>Czynności poinstalacyjne</h4> + + +<!--l. 1233--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.1. </span> <a + id="x1-330003.4.1"></a>Zmienne środowiska dla Unix</h5> +<!--l. 1236--><p class="noindent" >Użycie opisanej w części <a +href="#x1-290003.2.4">3.2.4<!--tex4ht:ref: sec:options --></a> opcji tworzenia dowiązań symbolicznych w standardowych katalogach nie +wymaga zmian w zmiennych środowiska systemowego. Niemniej jednak w systemach Unix po instalacji należy +do zmiennej <span +class="ec-lmtt-10">PATH </span>dodać ścieżkę do programów <span class="TEX">T<span +class="E">E</span>X</span> Live. (W Windows program instalacyjny czyni to za +nas.) +<!--l. 1242--><p class="indent" > Każda z obsługiwanych platform ma własny podkatalog w ramach <span +class="ec-lmtt-10">TEXDIR/bin</span>. Listę platform i +odpowiadających im katalogów przedstawiono na rys. <a +href="#x1-26043r4">4<!--tex4ht:ref: fig:bin-text --></a>. +<!--l. 1246--><p class="indent" > Również korzystanie z systemowych przeglądarek dokumentacji <span +class="ec-lmss-10">man </span>i <span +class="ec-lmss-10">info </span>staje się możliwe dopiero po +dodaniu odpowiednich katalogów do ich ścieżek przeszukiwania. Strony <span +class="ec-lmss-10">man </span>mogą być także znajdywane +automatycznie po dodaniu ścieżki ich położenia do <span +class="ec-lmtt-10">MANPATH</span>. +<!--l. 1252--><p class="indent" > Dla powłoki zgodnej z Bourne shell (<span +class="ec-lmss-10">sh</span>, <span +class="ec-lmss-10">bash</span>, <span +class="ec-lmss-10">ksh</span>) możemy dopisać do pliku <span +class="ec-lmtt-10">$HOME/.profile</span>: +<!--l. 1255--><p class="indent" > + <div class="fancyvrb" id="fancyvrb5"><a + id="x1-33002r1"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> PATH=/usr/local/texlive/2012/bin/i386-linux:$PATH;</span><span +class="ec-lmtt-9"> export</span><span +class="ec-lmtt-9"> PATH</span> +<br class="fancyvrb" /><a + id="x1-33004r2"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> MANPATH=/usr/local/texlive/2012/texmf/doc/man:$MANPATH;</span><span +class="ec-lmtt-9"> export</span><span +class="ec-lmtt-9"> MANPATH</span> +<br class="fancyvrb" /><a + id="x1-33006r3"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> INFOPATH=/usr/local/texlive/2012/texmf/doc/info:$INFOPATH;</span><span +class="ec-lmtt-9"> export</span><span +class="ec-lmtt-9"> INFOPATH</span></div> +<!--l. 1261--><p class="indent" > W wypadku csh lub tcsh należy zmodyfikować plik <span +class="ec-lmtt-10">$HOME/.cshrc</span>, np.: +<!--l. 1263--><p class="indent" > + <div class="fancyvrb" id="fancyvrb6"><a + id="x1-33008r1"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> setenv</span><span +class="ec-lmtt-9"> PATH</span><span +class="ec-lmtt-9"> /usr/local/texlive/2012/bin/i386-linux:$PATH</span><br class="fancyvrb" /><a + id="x1-33010r2"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> setenv</span><span +class="ec-lmtt-9"> MANPATH</span><span +class="ec-lmtt-9"> /usr/local/texlive/2012/texmf/doc/man:$MANPATH</span> +<br class="fancyvrb" /><a + id="x1-33012r3"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> setenv</span><span +class="ec-lmtt-9"> INFOPATH</span><span +class="ec-lmtt-9"> /usr/local/texlive/2012/texmf/doc/info:$INFOPATH</span></div> +<!--l. 1269--><p class="indent" > Jeśli są już jakieś ustawienia zawarte w prywatnych plikach konfiguracyjnych, wówczas oczywiście katalogi +<span class="TEX">T<span +class="E">E</span>X</span> Live powinny być tam odpowiednio wkomponowane. +<!--l. 1272--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.2. </span> <a + id="x1-340003.4.2"></a>Zmienne środowiska: konfiguracja globalna</h5> +<!--l. 1275--><p class="noindent" >Jeśli zmiany mają być dokonane globalnie, lub jeśli mają być dokonane dla nowego użytkownika systemu, +wówczas należy dokonać tego na własną rękę – jest zbyt wiele możliwości dla różnych systemów dotyczących +miejsca i sposobu konfiguracji. +<!--l. 1280--><p class="indent" > Nasze dwie rady są następujące: 1) można sprawdzić plik <span +class="ec-lmtt-10">/etc/manpath.config </span>i, jeśli jest obecny, +dodać w nim wiersze + <div class="fancyvrb" id="fancyvrb7"><a + id="x1-34002r1"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> MANPATH_MAP</span><span +class="ec-lmtt-9"> /usr/local/texlive/2012/bin/i386-linux</span><span +class="ec-lmtt-9"> \</span><br class="fancyvrb" /><a + id="x1-34004r2"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> /usr/local/texlive/2012/texmf/doc/man</span></div> +<!--l. 1286--><p class="noindent" >2) można sprawdzić plik <span +class="ec-lmtt-10">/etc/environment</span>, w którym może być zdefiniowana ścieżka wyszukiwania i inne +domyślne zmienne środowiska. +<!--l. 1289--><p class="indent" > W każdym katalogu w plikami wykonywalnymi systemów uniksowych możemy utworzyć symboliczne +dowiązanie o nazwie <span +class="ec-lmtt-10">man </span>do katalogu <span +class="ec-lmtt-10">texmf/doc/man</span>. Niektóre programy <span +class="ec-lmtt-10">man</span>, np. standardowy program <span +class="ec-lmtt-10">man</span> +w systemie Mac OS X, automatycznie znajdą to dowiązanie, likwidując potrzebę jakiegokolwiek ustawiania dla +stron manuala. +<!--l. 1295--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.3. </span> <a + id="x1-350003.4.3"></a>Aktualizacje z internetu po instalacji z DVD</h5> +<!--l. 1298--><p class="noindent" >Po instalacji z DVD i <span +class="ec-lmbx-10">po modyfikacji </span>ścieżki wyszukiwania programów (jak opisano to powyżej), możemy +pobrać z internetu aktualizacje pakietów: + <div class="alltt"> +<!--l. 1302--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tlmgr</span><span +class="ec-lmtk-10"> option</span><span +class="ec-lmtk-10"> repository</span><span +class="ec-lmtk-10"> http://mirror.ctan.org/systems/texlive/tlnet</span> +</div> +</div> +<!--l. 1306--><p class="indent" > Wówczas pakiety będą aktualizowane z najbliższej, automatycznie znalezionej kopii archiwów CTAN (co +domyślnie włączono podczas instalacji). Jeśli wystąpią problemy z automatycznym wyborem archiwum, +należy podać konkretny adres (listę adresów znajdziemy na <a +href="http://ctan.org/mirrors" class="url" ><span +class="ec-lmtt-10">http://ctan.org/mirrors</span></a>) wraz z pełną ścieżką +do podkatalogu <span +class="ec-lmtt-10">tlnet</span>. +<!--l. 1312--><p class="indent" > <a id="xetexfontconfig"></a> <a id="sysfontconfig"></a> + + + <h5 class="subsubsectionHead"><span class="titlemark">3.4.4. </span> <a + id="x1-360003.4.4"></a>Konfiguracja fontów dla Xe<span class="TEX">T<span +class="E">E</span>X</span> i Lua<span class="TEX">T<span +class="E">E</span>X</span></h5> +<!--l. 1317--><p class="noindent" >Xe<span class="TEX">T<span +class="E">E</span>X</span> i Lua<span class="TEX">T<span +class="E">E</span>X</span> pozwalają użyć każdy font zainstalowany w systemie, nie tylko fonty znajdujące się +w katalogach <span class="TEX">T<span +class="E">E</span>X</span>-owych. Korzystają tu ze zbliżonych, ale jednak różnych metod. +<!--l. 1321--><p class="indent" > W systemach Windows fonty dostarczone z <span class="TEX">T<span +class="E">E</span>X</span> Live są automatycznie dostępne dla programu Xe<span class="TEX">T<span +class="E">E</span>X</span>. +Gdy w systemie uniksowym zainstalowano <span +class="ec-lmtt-10">xetex</span>, należy skonfigurować system tak, aby program ten mógł +znaleźć fonty dostarczone w <span class="TEX">T<span +class="E">E</span>X</span> Live. Aby to ułatwić, podczas instalacji pakietu tworzony jest plik +konfiguracyjny fontów: <span +class="ec-lmtt-10">TEXMFSYSVAR/fonts/conf/texlive-fontconfig.conf</span>. +<!--l. 1329--><p class="indent" > Aby udostępnić fonty <span class="TEX">T<span +class="E">E</span>X</span> Live dla innych aplikacji systemu (zakładając, że mamy odpowiednie +uprawnienia) należy wykonać następujące czynności: + <ol class="enumerate1" > + <li + class="enumerate" id="x1-36002x1">skopiować <span +class="ec-lmtt-10">texlive-fontconfig.conf </span>do <span +class="ec-lmtt-10">/etc/fonts/conf.d/09-texlive.conf</span>; + </li> + <li + class="enumerate" id="x1-36004x2">uruchomić <span +class="ec-lmtk-10">fc-cache -fsv</span>.</li></ol> +<!--l. 1338--><p class="indent" > Jeśli nie mamy odpowiednich uprawnień i chcemy podczas uruchamiania Xe<span class="TEX">T<span +class="E">E</span>X</span>-a korzystać jedynie +z fontów dostępnych w <span class="TEX">T<span +class="E">E</span>X</span> Live, należy: + <ol class="enumerate1" > + <li + class="enumerate" id="x1-36006x1">skopiować plik <span +class="ec-lmtt-10">texlive-fontconfig.conf </span>do <span +class="ec-lmtt-10">~/.fonts.conf</span>, gdzie <span +class="ec-lmtt-10">~ </span>oznacza nasz katalog + domowy. + </li> + <li + class="enumerate" id="x1-36008x2">uruchomić <span +class="ec-lmtk-10">fc-cache -fv</span>.</li></ol> +<!--l. 1346--><p class="indent" > Uruchomienie programu <span +class="ec-lmtt-10">fc-list </span>pozwala wyświetlić nazwy fontów systemowych. <span +class="ec-lmtt-10">fc-list : family</span> +<span +class="ec-lmtt-10">style file spacing </span>pokaże więcej interesujących informacji. +<!--l. 1380--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.5. </span> <a + id="x1-370003.4.5"></a>Con<span class="TEX">T<span +class="E">E</span>X</span>t Mark IV</h5> +<!--l. 1383--><p class="noindent" >Zarówno tzw. „stary” Con<span class="TEX">T<span +class="E">E</span>X</span>t (Mark II), jak i nowy Con<span class="TEX">T<span +class="E">E</span>X</span>t (Mark IV, oparty na Lua<span class="TEX">T<span +class="E">E</span>X</span>) powinny +działać po instalacji <span class="TEX">T<span +class="E">E</span>X</span> Live bez problemów, o ile do aktualizacji będziemy używać wyłącznie programu +<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">tlmgr</span></span></span>. +<!--l. 1388--><p class="indent" > Ponieważ Con<span class="TEX">T<span +class="E">E</span>X</span>t MkIV nie stosuje biblioteki kpathsea do wyszukiwania plików, po zainstalowaniu +ręcznie nowych plików (bez użycia <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">tlmgr</span></span></span>) wymagane jest uruchomienie: + <div class="fancyvrb" id="fancyvrb8"><a + id="x1-37002r1"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> context</span><span +class="ec-lmtt-9"> --generate</span></div> +<!--l. 1394--><p class="noindent" >do odświeżenia danych buforowych Con<span class="TEX">T<span +class="E">E</span>X</span>t. Wygenerowane dane buforowe zostaną zapisane w katalogach +wskazywanych przez zmienną <span +class="ec-lmtt-10">TEXMFCACHE </span>(domyślna wartość w <span class="TEX">T<span +class="E">E</span>X</span> Live tej zmiennej to +<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">TEXMSYSVAR;TEXMFVAR</span></span></span>). +<!--l. 1399--><p class="indent" > Con<span class="TEX">T<span +class="E">E</span>X</span>t MkIV przeszuka wszystkie ścieżki wymienione w <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">TEXMFCACHE</span></span></span> i zapisze dane w pierwszej ścieżce, +która jest dostępna do zapisu. Gdy dane buforowe są zduplikowane, podczas ich odczytywania zostaną +wykorzystane ostatnio znalezione. +<!--l. 1404--><p class="indent" > Więcej informacji znajdziemy na stronach: <a +href="http://wiki.contextgarden.net/Running_Mark_IV" class="url" ><span +class="ec-lmtt-10">http://wiki.contextgarden.net/Running_Mark_IV</span></a>. +<!--l. 1407--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.6. </span> <a + id="x1-380003.4.6"></a>Integracja lokalnych i prywatnych pakietów makr</h5> +<!--l. 1410--><p class="noindent" >Jak już wspomniano w części <a +href="#x1-110002.3">2.3<!--tex4ht:ref: sec:texmftrees --></a>, katalog <span +class="ec-lmtt-10">TEXMFLOCAL </span>(domyślnie <span +class="ec-lmtt-10">/usr/local/texlive/texmf-local </span>lub +<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">%SystemDrive%\texlive\texmf-local</span></span></span> w Windows) przeznaczony jest na lokalne (np. w danej +sieci komputerowej) fonty oraz pakiety makr. Z kolei <span +class="ec-lmtt-10">TEXMFHOME </span>(domyślnie <span +class="ec-lmtt-10">$HOME/texmf </span>lub +<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">%USERPROFILE%\texmf</span></span></span>) jest przeznaczony na prywatne makra i fonty użytkownika. W zamierzeniu oba te +katalogi powinny być zachowywane przy instalacji nowszych wersji <span class="TEX">T<span +class="E">E</span>X</span> Live, a ich zawartość ma być +automatycznie dostępna w kolejnych wydaniach. Zalecamy zatem, by nie przedefiniowywać <span +class="ec-lmtt-10">TEXMFLOCAL</span>, co +pozwoli uniknąć ręcznego konfigurowania w przyszłości. +<!--l. 1422--><p class="indent" > W obu drzewach katalogów pliki powinny być umieszczane w odpowiednich podkatalogach, zgodnie +z zaleceniami TDS (patrz: <a +href="http://tug.org/tds" class="url" ><span +class="ec-lmtt-10">http://tug.org/tds</span></a>, także plik <span +class="ec-lmtt-10">texmf/web2c/texmf.cnf</span>). Przykładowo pliki +klas lub makr <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>-a powinny być umieszczane w katalogu <span +class="ec-lmtt-10">TEXMFLOCAL/tex/latex/ </span>lub +<span +class="ec-lmtt-10">TEXMFHOME/tex/latex/ </span>(lub ich podkatalogach). + + +<!--l. 1429--><p class="indent" > <span +class="ec-lmtt-10">TEXMFLOCAL </span>po zmianie zawartości wymaga odświeżenia bazy danych – poleceniem <span +class="ec-lmss-10">mktexlsr </span>lub +poprzez użycie przycisku „Odśwież bazy danych” w graficznym trybie programu TeX Live Manager +(<span +class="ec-lmss-10">tlmgr</span>). +<!--l. 1433--><p class="indent" > Każda z tych zmiennych ma domyślnie przypisany pojedynczy katalog, ale nie musi być to regułą. Jeśli +testujemy różne wersje pakietów, możemy do własnych celów zakładać kolejne drzewa katalogów i przełączać +kolejność ich przeszukiwania. Wystarczy zadeklarować zmienną <span +class="ec-lmtt-10">TEXMFHOME </span>dla listy katalogów, które +oddzielamy przecinkami i umieszczamy w klamrach: + + + <div class="verbatim" id="verbatim-1"> + <div class="fancyvrb" id="fancyvrb9"><a + id="x1-38002r1"></a>    TEXMFHOME = {/my/dir1,/mydir2,/a/third/dir}</div> +</div> +<!--l. 1441--><p class="nopar" > +<!--l. 1443--><p class="indent" > W części <a +href="#x1-630008.1.5">8.1.5<!--tex4ht:ref: sec:brace-expansion --></a> opisano dokładniej analizę listy katalogów umieszczonych w klamrach. +<!--l. 1446--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.7. </span> <a + id="x1-390003.4.7"></a>Integracja fontów z innych źródeł</h5> +<!--l. 1448--><p class="noindent" >Jest to, niestety, bardzo skomplikowane zagadnienie, wymagające sporej wiedzy użytkownika. Warto najpierw +się dowiedzieć, jakie fonty mamy dostępne bezpłatnie (patrz część <a +href="#x1-150002.7">2.7<!--tex4ht:ref: sec:tl-fonts --></a>). +<!--l. 1452--><p class="indent" > Alternatywą jest tu użycie programu Xe<span class="TEX">T<span +class="E">E</span>X</span> lub Lua<span class="TEX">T<span +class="E">E</span>X</span> (patrz część <a +href="#x1-120002.4">2.4<!--tex4ht:ref: sec:tex-extensions --></a>), które korzystają z fontów +systemowych bez potrzeby instalowania ich dla programów <span class="TEX">T<span +class="E">E</span>X</span>-owych. +<!--l. 1456--><p class="indent" > Procedury instalacji i integracji fontów opisano dokładnie np. w: <a +href="http://tug.org/fonts/fontinstall.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/fonts/fontinstall.html</span></a>. +<!--l. 1461--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">3.5. </span> <a + id="x1-400003.5"></a>Testowanie instalacji</h4> +<!--l. 1464--><p class="noindent" >Po zainstalowaniu <span class="TEX">T<span +class="E">E</span>X</span> Live warto sprawdzić, czy programy działają poprawnie. Opiszemy tu podstawowe +procedury testujące funkcjonowanie systemu w systemach Unix. W Mac OS X i Windows najczęściej użyjemy +środowiska graficznego (GUI), reguły jednak będą podobne. +<!--l. 1469--><p class="indent" > + <ol class="enumerate1" > + <li + class="enumerate" id="x1-40002x1">Sprawdzamy najpierw, czy uruchamia się program <span +class="ec-lmss-10">tex</span>: + <div class="alltt"> + <!--l. 1472--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tex</span><span +class="ec-lmtk-10"> --version</span> + <br /><span +class="ec-lmtt-10">TeX</span><span +class="ec-lmtt-10"> 3.1415926</span><span +class="ec-lmtt-10"> (TeX</span><span +class="ec-lmtt-10"> Live</span><span +class="ec-lmtt-10"> ...)</span> + <br /><span +class="ec-lmtt-10">kpathsea</span><span +class="ec-lmtt-10"> version</span><span +class="ec-lmtt-10"> 6.0.1</span> + <br /><span +class="ec-lmtt-10">Copyright</span><span +class="ec-lmtt-10"> ...</span><span +class="ec-lmtt-10"> D.E.</span><span +class="ec-lmtt-10"> Knuth.</span> + <br /><span +class="ec-lmtt-10">...</span> +</div> + </div> Jeśli uruchomienie kończy się komunikatem <span +class="ec-lmri-10">command not found </span>(<span +class="ec-lmri-10">nie znaleziono polecenia</span>), oznacza to, + że niepoprawnie zadeklarowano zmienną <span +class="ec-lmtt-10">PATH </span>(patrz: deklaracje zmiennych środowiska na + str. <a +href="#x1-330003.4.1">38<!--tex4ht:ref: sec:env --></a>). + </li> + <li + class="enumerate" id="x1-40004x2">Następnie przetwarzamy prosty plik <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>-owy: <div class="alltt"> + <!--l. 1485--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">latex</span><span +class="ec-lmtk-10"> sample2e.tex</span> + <br /><span +class="ec-lmtt-10">pdfTeX</span><span +class="ec-lmtt-10"> 3.1415926-...</span><span +class="ec-lmtt-10"> (TeX</span><span +class="ec-lmtt-10"> Live</span><span +class="ec-lmtt-10"> ...)</span> + <br /><span +class="ec-lmtt-10">.....</span> + <br /><span +class="ec-lmtt-10">Output</span><span +class="ec-lmtt-10"> written</span><span +class="ec-lmtt-10"> on</span><span +class="ec-lmtt-10"> sample2e.dvi</span><span +class="ec-lmtt-10"> (3</span><span +class="ec-lmtt-10"> pages,</span><span +class="ec-lmtt-10"> 7484</span><span +class="ec-lmtt-10"> bytes).</span> + <br /><span +class="ec-lmtt-10">Transcript</span><span +class="ec-lmtt-10"> written</span><span +class="ec-lmtt-10"> on</span><span +class="ec-lmtt-10"> sample2e.log.</span> +</div> + </div> Gdy program nie znajduje <span +class="ec-lmtt-10">sample2e.tex </span>(bądź innych wymaganych plików), może to oznaczać, że + nadal działają ustawienia zmiennych środowiska bądź pliki konfiguracyjne z innej (poprzedniej) + instalacji. Szczegółową analizę, gdzie pliki są szukane i znajdowane, umożliwia diagnostyka opisana + w części <a +href="#x1-700008.2.4">8.2.4<!--tex4ht:ref: sec:debugging --></a> na str. <a +href="#x1-700008.2.4">73<!--tex4ht:ref: sec:debugging --></a>. + </li> + <li + class="enumerate" id="x1-40006x3">Podgląd wyniku składu: <div class="alltt"> + + + <!--l. 1500--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10"> ></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">xdvi</span><span +class="ec-lmtk-10"> sample2e.dvi</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> #</span><span +class="ec-lmtt-10"> Unix</span> + <br /><span +class="ec-lmtt-10"> ></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">dviout</span><span +class="ec-lmtk-10"> sample2e.dvi</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> #</span><span +class="ec-lmtt-10"> Windows</span> +</div> + </div> Polecenie <span +class="ec-lmss-10">xdvi </span>wymaga uruchomionego środowiska graficznego X Window. Dla MS Windows + analogicznym poleceniem jest <span +class="ec-lmss-10">dviout</span>. + </li> + <li + class="enumerate" id="x1-40008x4">Przetwarzanie wyniku składu do PostScript w celu wyświetlenia lub wydruku: <div class="alltt"> + <!--l. 1514--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">dvips</span><span +class="ec-lmtk-10"> sample2e.dvi</span><span +class="ec-lmtk-10"> -o</span><span +class="ec-lmtk-10"> sample2e.ps</span> +</div> + </div> + </li> + <li + class="enumerate" id="x1-40010x5">Tworzenie dokumentu bezpośrednio w formacie PDF: <div class="alltt"> + <!--l. 1519--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">pdflatex</span><span +class="ec-lmtk-10"> sample2e.tex</span> +</div> + </div> + </li> + <li + class="enumerate" id="x1-40012x6">Podgląd dokumentu PDF: <div class="alltt"> + <!--l. 1524--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">gv</span><span +class="ec-lmtk-10"> sample2e.pdf</span> + <br />lub: + <br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">xpdf</span><span +class="ec-lmtk-10"> sample2e.pdf</span> +</div> + </div> Programy <span +class="ec-lmss-10">gv </span>i <span +class="ec-lmss-10">xpdf </span>są zwykle dostarczane w ramach systemu operacyjnego, wobec tego nie + zamieszczono ich na <span class="TEX">T<span +class="E">E</span>X</span> Live. Przed samodzielną instalacją warto odwiedzić strony, odpowiednio: + <a +href="http://www.gnu.org/software/gv" class="url" ><span +class="ec-lmtt-10">http://www.gnu.org/software/gv</span></a> i <a +href="http://www.foolabs.com/xpdf" class="url" ><span +class="ec-lmtt-10">http://www.foolabs.com/xpdf</span></a>. W sieci dostępny jest także + bezpłatny program Adobe Reader (<a +href="http://www.adobe.com" class="url" ><span +class="ec-lmtt-10">http://www.adobe.com</span></a>). Użytkownikom Windows można + zarekomendować program Sumatra PDF (<a +href="http://blog.kowalczyk.info/software/sumatrapdf" class="url" ><span +class="ec-lmtt-10">http://blog.kowalczyk.info/software/sumatrapdf</span></a>. + W systemie Windows domyślnie instalowany jest dla <span class="TEX">T<span +class="E">E</span>X</span> Live program <span +class="ec-lmss-10">psv </span>(PS_View), pozwalający + przeglądać pliki <span +class="ec-lmss-10">.ps </span>i <span +class="ec-lmss-10">.pdf</span>. Program ten można też zainstalować samodzielnie w systemach Linux + (<a +href="http://psview.sourceforge.net/download.html" class="url" ><span +class="ec-lmtt-10">http://psview.sourceforge.net/download.html</span></a>). + </li> + <li + class="enumerate" id="x1-40014x7">Inne przydatne pliki testowe: + <!--l. 1546--><p class="noindent" > + <dl class="list2"><dt class="list"> + <span +class="ec-lmtt-10">small2e.tex</span> </dt><dd +class="list"> + <!--l. 1547--><p class="noindent" >przykład prostszy niż <span +class="ec-lmtt-10">sample2e</span>; + </dd><dt class="list"> + <span +class="ec-lmtt-10">testpage.tex</span> </dt><dd +class="list"> + <!--l. 1548--><p class="noindent" >test położenia wydruku na kartce papieru, przydatny do sprawdzenia, czy nasza drukarka + nie wprowadza przesunięć; + + + </dd><dt class="list"> + <span +class="ec-lmtt-10">nfssfont.tex</span> </dt><dd +class="list"> + <!--l. 1550--><p class="noindent" >służy do wydruku tablic fontowych; + </dd><dt class="list"> + <span +class="ec-lmtt-10">testfont.tex</span> </dt><dd +class="list"> + <!--l. 1551--><p class="noindent" >jak wyżej, z tym że zamiast <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>-a trzeba użyć plain <span class="TEX">T<span +class="E">E</span>X</span>; + </dd><dt class="list"> + <span +class="ec-lmtt-10">story.tex</span> </dt><dd +class="list"> + <!--l. 1553--><p class="noindent" >najbardziej kanoniczny przykład dla plain <span class="TEX">T<span +class="E">E</span>X</span>; na zakończenie przetwarzania + uruchomionego poleceniem „<span +class="ec-lmtt-10">tex story</span>”, po ukazaniu się <span +class="ec-lmtt-10">*</span>, należy wpisać „<span +class="ec-lmtt-10">\bye</span>”.</dd></dl> + </li> + <li + class="enumerate" id="x1-40016x8">Jeśli zainstalowano pakiet <span +class="ec-lmtt-10">xetex</span>, możemy przetestować użycie fontów systemowych: <div class="alltt"> + <!--l. 1560--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">xetex</span><span +class="ec-lmtk-10"> opentype-info.tex</span> + <br /><span +class="ec-lmtt-10">This</span><span +class="ec-lmtt-10"> is</span><span +class="ec-lmtt-10"> XeTeX,</span><span +class="ec-lmtt-10"> Version</span><span +class="ec-lmtt-10"> 3.1415926</span><span +class="ec-lmtt-10">…</span> + <br /><span +class="ec-lmtt-10">...</span> + <br /><span +class="ec-lmtt-10">Output</span><span +class="ec-lmtt-10"> written</span><span +class="ec-lmtt-10"> on</span><span +class="ec-lmtt-10"> opentype-info.pdf</span><span +class="ec-lmtt-10"> (1</span><span +class="ec-lmtt-10"> page).</span> + <br /><span +class="ec-lmtt-10">Transcript</span><span +class="ec-lmtt-10"> written</span><span +class="ec-lmtt-10"> on</span><span +class="ec-lmtt-10"> opentype-info.log.</span> +</div> + </div> Gdy otrzymamy komunikat błędu: „Invalid fontname ‘Latin Modern Roman/ICU’…”, oznacza to, że + należy zmienić konfigurację, jak to opisano w części <a +href="#x1-360003.4.4">3.4.4<!--tex4ht:ref: sec:font-conf-sys --></a>. + </li></ol> +<!--l. 1574--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">3.6. </span> <a + id="x1-410003.6"></a>Programy pomocnicze dla Windows</h4> +<!--l. 1576--><p class="noindent" >Początkującym użytkownikom polecamy stronę <a +href="http://tug.org/begin.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/begin.html</span></a> oraz podręcznik Petera Flynna +<span +class="ec-lmri-10">Formatting Information</span>, dostępny pod adresem <a +href="http://www.ctan.org/tex-archive/documentation/beginlatex" class="url" ><span +class="ec-lmtt-10">http://www.ctan.org/tex-archive/documentation/beginlatex</span></a>. +<!--l. 1581--><p class="indent" > Aby instalacja była kompletna, <span class="TEX">T<span +class="E">E</span>X</span> Live wymaga kilku pomocniczych programów, które nie są +dostarczane z systemem Windows. Wiele skryptów napisano w języku Perl, ponadto wiele narzędzi wymaga +programu Ghostscript (interpretera języka PostScript) do rasteryzacji bądź konwersji plików. Przydatne są +także w wielu wypadkach różne programy do obróbki grafiki. Ponadto posiadanie edytora zorientowanego na +środowisko <span class="TEX">T<span +class="E">E</span>X</span> znacznie ułatwi pracę. +<!--l. 1589--><p class="indent" > Wszystkie te programy dla Windows można dosyć łatwo znaleźć w sieci, ponieważ jednak jest ich spory +wybór, postanowiliśmy te najbardziej istotne umieścić w dystrybucji <span class="TEX">T<span +class="E">E</span>X</span> Live: + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10">Perl i Ghostscript</span> </dt><dd +class="description">– obydwa te programy są niezbędne do poprawnego działania <span class="TEX">T<span +class="E">E</span>X</span> Live, + dołączyliśmy zatem <span +class="ec-lmss-10">Ghostscript </span>8.62 i minimalną dystrybucję <span +class="ec-lmss-10">Perl </span>5.8, wystarczającą do + uruchomienia wszystkich zawartych w <span class="TEX">T<span +class="E">E</span>X</span> Live skryptów perlowych; oba programy zostały + „ukryte”, to znaczy tylko programy <span class="TEX">T<span +class="E">E</span>X</span> Live, które z nich korzystają, „wiedzą” gdzie je znaleźć; + tym samym nie powinny kolidować z ewentualnie zainstalowanymi w systemie programami Perl + i Ghostscript; + </dd><dt class="description"> +<span +class="ec-lmbx-10">narzędzia uruchamiane z</span><span +class="ec-lmbx-10"> linii polece</span><span +class="ec-lmbx-10">ń</span> </dt><dd +class="description">– zestaw kilku przydatnych programów (<span +class="ec-lmtt-10">gzip</span>, <span +class="ec-lmtt-10">unzip</span>, + <span +class="ec-lmtt-10">jpeg2ps </span>i <span +class="ec-lmtt-10">tiff2png</span>) a także kilka narzędzi z zestawu <span +class="ec-lmss-10">xpdf</span>, uruchamianych z linii poleceń (sam + <span +class="ec-lmss-10">xpdf </span>nie jest dostępny dla Windows, można jednak pobrać z internetu opartą na nim przeglądarkę + PDF: <a +href="http://blog.kowalczyk.info/software/sumatrapdf" class="url" ><span +class="ec-lmtt-10">http://blog.kowalczyk.info/software/sumatrapdf</span></a>); + </dd><dt class="description"> +<span +class="ec-lmbx-10">fc-list, fc-cache</span> </dt><dd +class="description">– narzędzia z biblioteki fontconfig; program <span +class="ec-lmss-10">fc-cache </span>rejestruje dla Xe<span class="TEX">T<span +class="E">E</span>X</span>-a + fonty systemowe lub dostarczane w dystrybucji <span class="TEX">T<span +class="E">E</span>X</span> Live fonty OpenType; <span +class="ec-lmss-10">fc-list </span>wyświetla + zarejestrowane fonty, podając ich pełne nazwy (deklarujemy je w rozszerzonym w Xe<span class="TEX">T<span +class="E">E</span>X</span>-u + poleceniu <span +class="ec-lmtt-10">\font</span>); + + + </dd><dt class="description"> +<span +class="ec-lmbx-10">PS_View</span> </dt><dd +class="description">– program do podglądu plików postscriptowych (a także plików PDF), patrz rys. <a +href="#x1-41001r8">8<!--tex4ht:ref: fig:psview --></a>.</dd></dl> +<!--l. 1623--><p class="indent" > <hr class="figure"><div class="figure" +> + + +<a + id="x1-41001r8"></a> + + +<div class="center" +> +<!--l. 1624--><p class="noindent" > + +<!--l. 1625--><p class="noindent" ><img +src="../texlive-common/psview.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Rysunek 8: </span><span +class="content">PS_View: umożliwia bardzo duże powiększenia!</span></div><!--tex4ht:label?: x1-41001r8 --> +</div> + + +<!--l. 1628--><p class="indent" > </div><hr class="endfigure"> +<!--l. 1630--><p class="indent" > Poniżej zamieszczono listę miejsc, z których można pobrać programy pomocnicze: + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10">Ghostscript</span> </dt><dd +class="description"><a +href="http://www.cs.wisc.edu/~ghost/" class="url" ><span +class="ec-lmtt-10">http://www.cs.wisc.edu/~ghost/</span></a> + </dd><dt class="description"> +<span +class="ec-lmbx-10">Perl</span> </dt><dd +class="description"><a +href="http://www.perl.org" class="url" ><span +class="ec-lmtt-10">http://www.perl.org</span></a> (uzupełniające, przydatne pakiety należy pobrać z zasobów CPAN + <a +href="http://cpan.org" class="url" ><span +class="ec-lmtt-10">http://cpan.org</span></a>) + </dd><dt class="description"> +<span +class="ec-lmbx-10">ImageMagick</span> </dt><dd +class="description">– bogaty zestaw narzędzi do wsadowego przetwarzania plików graficznych + (<a +href="http://www.imagemagick.com" class="url" ><span +class="ec-lmtt-10">http://www.imagemagick.com</span></a>) + </dd><dt class="description"> +<span +class="ec-lmbx-10">NetPBM</span> </dt><dd +class="description">– do przetwarzania i konwersji plików graficznych możemy użyć alternatywnego dla + <span +class="ec-lmss-10">ImageMagick </span>programu NetPBM (<a +href="http://netpbm.sourceforge.net/" class="url" ><span +class="ec-lmtt-10">http://netpbm.sourceforge.net/</span></a>) + </dd><dt class="description"> +<span +class="ec-lmbx-10">Edytory dla systemu </span><span class="TEX"><span +class="ec-lmbx-10">T</span><span +class="E"><span +class="ec-lmbx-10">E</span></span><span +class="ec-lmbx-10">X</span></span> </dt><dd +class="description">– spory wybór programów, uwzględniających indywidualne preferencje + użytkownika (poniżej wymieniono jedynie te działające w systemach Windows) + <ul class="itemize1"> + <li class="itemize"><span +class="ec-lmss-10">GNU Emacs </span>– w wersji zintegrowanej z <span +class="ec-lmss-10">AucTeX </span>dla Windows dostępny jest w archiwach + CTAN; strona domowa: <a +href="http://www.gnu.org/software/auctex" class="url" ><span +class="ec-lmtt-10">http://www.gnu.org/software/auctex</span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10">LEd </span>– polski edytor, dostępny z <a +href="http://mirror.ctan.org/support/LEd" class="url" ><span +class="ec-lmtt-10">http://mirror.ctan.org/support/LEd</span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10">SciTE </span>– edytor dostępny z <a +href="http://www.scintilla.org/SciTE.html" class="url" ><span +class="ec-lmtt-10">http://www.scintilla.org/SciTE.html</span></a> + </li> + <li class="itemize"><span +class="ec-lmss-10">Texmaker </span>– edytor dostępny z <a +href="http://www.xm1math.net/texmaker" class="url" ><span +class="ec-lmtt-10">http://www.xm1math.net/texmaker</span></a>. + </li> + <li class="itemize"><span +class="ec-lmss-10">TexMakerX </span>jest rozszerzeniem <span +class="ec-lmss-10">Texmaker </span>(<a +href="http://texmakerx.sourceforge.net" class="url" ><span +class="ec-lmtt-10">http://texmakerx.sourceforge.net</span></a>). + </li> + <li class="itemize">TeXnicCenter – kolejny, dosyć bogaty w funkcje edytor + (<a +href="http://www.toolscenter.org/products/texniccenter/" class="url" ><span +class="ec-lmtt-10">http://www.toolscenter.org/products/texniccenter/</span></a>) + </li> + <li class="itemize"><span +class="ec-lmss-10">TeXworks </span>– nowy edytor, dostępny z <a +href="http://tug.org/texworks" class="url" ><span +class="ec-lmtt-10">http://tug.org/texworks</span></a> i instalowany w Windows + oraz Mac OS X jako część <span class="TEX">T<span +class="E">E</span>X</span> Live. + </li> + <li class="itemize"><span +class="ec-lmss-10">Vim </span>– rozbudowany i bardzo funkcjonalny edytor, wywodzący się z klasycznego dla + systemów Unix edytora <span +class="ec-lmss-10">vi </span>(<a +href="http://www.vim.org" class="url" ><span +class="ec-lmtt-10">http://www.vim.org</span></a>) + </li> + <li class="itemize"><span +class="ec-lmss-10">WinShell </span>– prosty edytor/shell (<a +href="http://www.winshell.de" class="url" ><span +class="ec-lmtt-10">http://www.winshell.de</span></a>) + </li> + <li class="itemize"><span +class="ec-lmss-10">WinEdt </span>– bogaty w funkcje edytor dla <span class="TEX">T<span +class="E">E</span>X</span>-a, dostępny jako <span +class="ec-lmri-10">shareware</span> + (<a +href="http://www.winedt.com" class="url" ><span +class="ec-lmtt-10">http://www.winedt.com</span></a>)</li></ul> + </dd></dl> +<!--l. 1676--><p class="indent" > Obszerniejszą listę programów można znaleźć na stronie <a +href="http://tug.org/interest.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/interest.html</span></a>. + <h3 class="sectionHead"><span class="titlemark">4. </span> <a + id="x1-420004"></a>Instalacje zaawansowane</h3> +<!--l. 1681--><p class="noindent" >W poprzednich częściach opisano proces typowej instalacji. Teraz omówimy te bardziej wyspecjalizowane. +<!--l. 1684--><p class="indent" > <a id="tlsharedinstall"></a> + <h4 class="subsectionHead"><span class="titlemark">4.1. </span> <a + id="x1-430004.1"></a>Instalacje dla wielu użytkowników (lub wieloplatformowe)</h4> + + +<!--l. 1688--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Live zaprojektowano tak, by w sieci komputerowej mogło z niego korzystać wielu użytkowników, nawet +w różnych systemach operacyjnych. Dzięki standardowej strukturze katalogów nie ma potrzeby konfiguracji +i określania konkretnych ścieżek: położenie plików wymaganych przez programy <span class="TEX">T<span +class="E">E</span>X</span> Live jest zdefiniowane +jako względne wobec samych programów. Można to zobaczyć w pliku <span +class="ec-lmtt-10">$TEXMFMAIN/web2c/texmf.cnf</span>, który +zawiera np. takie wiersze: + <div class="fancyvrb" id="fancyvrb10"><a + id="x1-43002r1"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> TEXMFMAIN</span><span +class="ec-lmtt-9"> =</span><span +class="ec-lmtt-9"> $SELFAUTOPARENT/texmf</span><br class="fancyvrb" /><a + id="x1-43004r2"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ...</span><br class="fancyvrb" /><a + id="x1-43006r3"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> TEXMFLOCAL</span><span +class="ec-lmtt-9"> =</span><span +class="ec-lmtt-9"> $SELFAUTOPARENT/../texmf-local</span></div> +<!--l. 1700--><p class="noindent" >W konsekwencji oznacza to, że dla różnych systemów operacyjnych bądź użytkowników wystarczy dodać do ich +ścieżek przeszukiwania tylko ścieżkę do programów <span class="TEX">T<span +class="E">E</span>X</span> Live. +<!--l. 1704--><p class="indent" > Możliwa jest zatem np. instalacja lokalna <span class="TEX">T<span +class="E">E</span>X</span> Live, po czym przeniesienie całej struktury w inne miejsce +w sieci. +<!--l. 1707--><p class="indent" > Użytkownicy Windows mogą pobrać z internetu skrypt <span +class="ec-lmtt-10">w32client </span>(patrz: <a +href="http://tug.org/texlive/w32client.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/w32client.html</span></a>), +który pozwala dostosować istniejącą instalację <span class="TEX">T<span +class="E">E</span>X</span> Live dla potrzeb sieci (włącznie z utworzeniem skrótów +w menu systemowym). Plik .zip dostępny na wymienionej stronie zawiera ponadto skrypt <span +class="ec-lmtt-10">w32unclient</span>, +służący do odinstalowania. +<!--l. 1718--><p class="indent" > <a id="tlportable"></a> + <h4 class="subsectionHead"><span class="titlemark">4.2. </span> <a + id="x1-440004.2"></a>Przenośna instalacja na pen drivie USB</h4> +<!--l. 1722--><p class="noindent" >Aby wykonać przenośną instalację na pen drivie należy uruchomić program instalacyjny z opcją <span +class="ec-lmtt-10">-portable</span> +(lub polecenie <span +class="ec-lmtt-10">V </span>w trybie tekstowym bądź odpowiednia opcja w trybie GUI). Instalacja taka nie ingeruje w +sam system operacyjny. Można ją wykonać bezpośrednio na pen drivie, lub na dysku twardym, skąd +kopiujemy ją na urządzenie przenośne. +<!--l. 1728--><p class="indent" > Do uruchomienia programów <span class="TEX">T<span +class="E">E</span>X</span> Live w takiej instalacji wystarczy w sesji terminala dodać, jak +zazwyczaj, odpowiedni katalog do zmiennej <span +class="ec-lmtt-10">PATH</span>. W Windows należy dwukrotnie kliknąć <span +class="ec-lmtt-10">tl-tray-menu </span>w +głównym katalogu instalacji, aby wybrać jedno z podstawowych zadań, pokazanych na poniższym +rysunku: + +<!--l. 1735--><p class="indent" > <img +src="../texlive-common/tray-menu.png" alt="pict" +> +<!--l. 1738--><p class="noindent" >Wybór „More…” pokaże komunikat z informacją jak można dostosować menu do własnych potrzeb. +<!--l. 1741--><p class="indent" > <a id="tlisoinstall"></a> + <h4 class="subsectionHead"><span class="titlemark">4.3. </span> <a + id="x1-450004.3"></a>Instalacje z pliku obrazu ISO (lub DVD)</h4> +<!--l. 1745--><p class="noindent" >Jeśli nie zamierzamy często aktualizować bądź modyfikować w inny sposób naszej instalacji, a także gdy +zamierzamy uruchamiać <span class="TEX">T<span +class="E">E</span>X</span> Live na wielu systemach, warto utworzyć plik obrazu ISO takiej instalacji, +choćby z poniższych powodów: + <ul class="itemize1"> + <li class="itemize">kopiowanie obrazu ISO między komputerami jest znacznie szybsze niż kopiowanie zwykłej + instalacji; + </li> + <li class="itemize">jeśli używamy kilku systemów operacyjnych na tym samym komputerze i chcemy korzystać z tej + samej instalacji <span class="TEX">T<span +class="E">E</span>X</span> Live, obraz ISO instalacji jest pozbawiony ograniczeń różnych systemów + plików (FAT32, NTFS, HFS+); + </li> + <li class="itemize">systemy uruchamiane w trybie wirtualnym mogą po prostu zamontować plik obrazu ISO.</li></ul> +<!--l. 1761--><p class="indent" > Obraz ISO można oczywiście wypalić na płytce DVD. +<!--l. 1763--><p class="indent" > Systemy GNU/Linux/Unix (w tym Mac OS X) pozwalają na montowanie pliku obrazu ISO. Prócz tego taka +instalacja w niczym się nie różni od typowej, wykonanej na dysku (patrz: <a +href="#x1-330003.4.1">3.4.1<!--tex4ht:ref: sec:env --></a>). +<!--l. 1767--><p class="indent" > Podczas wykonywania instalacji do ISO warto pominąć specyfikowanie katalogu dla roku wydania, +ponadto warto umieścić katalog <span +class="ec-lmtt-10">texmf-local </span>na tym samym poziomie co inne drzewa (<span +class="ec-lmtt-10">texmf</span>, <span +class="ec-lmtt-10">texmf-dist</span>, +itd.). Zmianę katalogów umożliwia opcja <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">TEXDIR</span></span></span> programu instalacyjnego. +<!--l. 1772--><p class="indent" > Dla natywnego (nie wirtualnego) systemu Windows można wypalić obraz ISO na płytce DVD, ale warto +też rozważyć instalację któregoś z dostępnych w sieci programów umożliwiających montowanie takiego +obrazu. Np. dla Windows XP Microsoft oferuje program <span +class="ec-lmtt-10">winxpvirtualcdcontrolpanel</span>. + + +<!--l. 1777--><p class="indent" > Poza tym w Windows można dołączyć opisany wyżej skrypt <span +class="ec-lmtt-10">w32client </span>(patrz: <a +href="#x1-430004.1">4.1<!--tex4ht:ref: sec:sharedinstall --></a> oraz +<a +href="http://tug.org/texlive/w32client.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/w32client.html</span></a>), który wykonuje swe zadania, podobnie jak w wypadku instalacji +sieciowej. +<!--l. 1782--><p class="indent" > W systemie Mac OS X programy TeXShop i <span class="TEX">T<span +class="E">E</span>X</span>works będą mogły wykorzystać instalację +na DVD, gdy zadeklarujemy dowiązanie symboliczne <span +class="ec-lmtt-10">/usr/texbin </span>do odpowiedniego katalogu, +np.: + + + <div class="verbatim" id="verbatim-2"> + <div class="fancyvrb" id="fancyvrb11"><a + id="x1-45002r1"></a>  sudo ln -s /Volumes/MyTeXLive/bin/universal-darwin /usr/texbin</div> +</div> +<!--l. 1787--><p class="nopar" > +<!--l. 1789--><p class="indent" > Uwaga historyczna: <span class="TEX">T<span +class="E">E</span>X</span> Live 2010 był pierwszą edycją, która (z różnych przyczyn) nie była faktycznie +<span +class="ec-lmri-10">live</span>. Niemniej jednak poprzednie edycje zawsze wymagały akrobatycznych „sztuczek” do uruchamiania +programów bezpośrednio z DVD lub obrazu ISO (np. deklarowania dodatkowej zmiennej środowiska). Obraz +ISO, tworzony obecnie, tego nie wymaga. +<!--l. 1795--><p class="indent" > <a id="tlmgr"></a> + <h3 class="sectionHead"><span class="titlemark">5. </span> <a + id="x1-460005"></a><span +class="ec-lmss-10">tlmgr</span>: zarządzanie instalacją</h3> +<!--l. 1799--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Live zawiera program o nazwie <span +class="ec-lmss-10">tlmgr</span>, służący do dalszego zarządzania <span class="TEX">T<span +class="E">E</span>X</span> Live po pierwotnej +instalacji. Programy <span +class="ec-lmss-10">updmap</span>, <span +class="ec-lmss-10">fmtutil </span>oraz <span +class="ec-lmss-10">texconfig </span>są nadal dostępne i będą utrzymywane w przyszłości, +jednakże obecnie polecanym interfejsem jest <span +class="ec-lmss-10">tlmgr</span>. Jego możliwości obejmują: + <ul class="itemize1"> + <li class="itemize">instalowanie, aktualizację, tworzenie kopii zapasowych, odtwarzanie oraz usuwanie pojedynczych + pakietów (opcjonalnie – z uwzględnieniem zależności pomiędzy pakietami); + </li> + <li class="itemize">wyszukiwanie i pokazanie zawartości pakietów; + </li> + <li class="itemize">wyszczególnianie oraz dodawanie architektur (platform systemowych); + </li> + <li class="itemize">zmianę opcji instalacji, takich jak rozmiar papieru czy zmiana położenia źródła instalacji (patrz + część <a +href="#x1-310003.3.1">3.3.1<!--tex4ht:ref: sec:location --></a>).</li></ul> +<!--l. 1815--><p class="indent" > <hr class="figure"><div class="figure" +> + + +<a + id="x1-46001r9"></a> + + + +<!--l. 1816--><p class="noindent" ><img +src="../texlive-common/tlmgr-gui.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Rysunek 9: </span><span +class="content"><span +class="ec-lmss-10">tlmgr </span>w trybie graficznym: główne okno, po akcji „Wczytaj” (<span +class="ec-lmri-10">Load</span>).</span></div><!--tex4ht:label?: x1-46001r9 --> + + +<!--l. 1820--><p class="indent" > </div><hr class="endfigure"> +<!--l. 1822--><p class="indent" > <hr class="figure"><div class="figure" +> + + +<a + id="x1-46002r10"></a><a + id="x1-46003r11"></a> + + + +<!--l. 1826--><p class="noindent" ><img +src="../texlive-common/tlmgr-general-options.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Rysunek 10: </span><span +class="content"><span +class="ec-lmtt-10">tlmgr </span>w trybie GUI: Opcje ogólne</span></div><!--tex4ht:label?: x1-46002r10 --> +<!--l. 1833--><p class="noindent" ><img +src="../texlive-common/tlmgr-paper-options.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Rysunek 11: </span><span +class="content"><span +class="ec-lmtt-10">tlmgr </span>w trybie GUI: +Opcje dotyczące formatu papieru</span></div><!--tex4ht:label?: x1-46003r11 --> + + +<!--l. 1838--><p class="indent" > </div><hr class="endfigure"> + <h4 class="subsectionHead"><span class="titlemark">5.1. </span> <a + id="x1-470005.1"></a><span +class="ec-lmss-10">tlmgr </span>– tryb graficzny (GUI)</h4> +<!--l. 1847--><p class="noindent" ><span +class="ec-lmss-10">tlmgr </span>może być uruchomiony w trybie graficznym (rys. <a +href="#x1-46001r9">9<!--tex4ht:ref: fig:tlmgr-gui --></a>) za pomocą polecenia: <div class="alltt"> +<!--l. 1849--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tlmgr</span><span +class="ec-lmtk-10"> -gui</span> +</div> +</div> zaś w systemie Windows poprzez wybór menu: <span +class="ec-lmtt-10">Start</span>, <span +class="ec-lmtt-10">Programy</span>, <span +class="ec-lmtt-10">TeX Live 2012</span>, <span +class="ec-lmtt-10">TeX Live</span> +<span +class="ec-lmtt-10">Manager</span>. Po kliknięciu przycisku „Wczytaj” wyświetla listę dostępnych oraz listę zainstalowanych +pakietów. +<!--l. 1860--><p class="indent" > Rysunki <a +href="#x1-46002r10">10<!--tex4ht:ref: fig:tlmgr-general-options --></a> i <a +href="#x1-46003r11">11<!--tex4ht:ref: fig:tlmgr-paper-options --></a> pokazują zakładki doczące opcji. +<!--l. 1863--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">5.2. </span> <a + id="x1-480005.2"></a>Przykładowe wywołania <span +class="ec-lmss-10">tlmgr </span>z linii poleceń</h4> +<!--l. 1865--><p class="noindent" >Po zainstalowaniu <span class="TEX">T<span +class="E">E</span>X</span> Live można dokonać aktualizacji wszystkich pakietów: <div class="alltt"> +<!--l. 1866--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tlmgr</span><span +class="ec-lmtk-10"> update</span><span +class="ec-lmtk-10"> -all</span> +</div> +</div> Symulację aktualizacji umożliwia: <div class="alltt"> +<!--l. 1870--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tlmgr</span><span +class="ec-lmtk-10"> update</span><span +class="ec-lmtk-10"> -all</span><span +class="ec-lmtk-10"> -dry-run</span> +</div> +</div> bądź tylko wyliczenie, jakie pakiety będą aktualizowane: <div class="alltt"> +<!--l. 1874--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tlmgr</span><span +class="ec-lmtk-10"> update</span><span +class="ec-lmtk-10"> -list</span> +</div> +</div> +<!--l. 1878--><p class="indent" > Poniższy przykład dodaje kolekcję zawierającą m.in. nowy „silnik” Xe<span class="TEX">T<span +class="E">E</span>X</span>, z lokalnego repozytorium +instalacji: + <div class="alltt"> +<!--l. 1882--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tlmgr</span><span +class="ec-lmtk-10"> -repository</span><span +class="ec-lmtk-10"> /local/mirror/tlnet</span><span +class="ec-lmtk-10"> install</span><span +class="ec-lmtk-10"> collection-xetex</span> +</div> +</div> co pokazują komunikaty (tu w skrócie): + <div class="fancyvrb" id="fancyvrb12"><a + id="x1-48002r1"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> install:</span><span +class="ec-lmtt-8"> collection-xetex</span><br class="fancyvrb" /><a + id="x1-48004r2"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> install:</span><span +class="ec-lmtt-8"> arabxetex</span><br class="fancyvrb" /><a + id="x1-48006r3"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ...</span><br class="fancyvrb" /><a + id="x1-48008r4"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> install:</span><span +class="ec-lmtt-8"> xetex</span><br class="fancyvrb" /><a + id="x1-48010r5"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> install:</span><span +class="ec-lmtt-8"> xetexconfig</span> +<br class="fancyvrb" /><a + id="x1-48012r6"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> install:</span><span +class="ec-lmtt-8"> xetex.i386-linux</span><br class="fancyvrb" /><a + id="x1-48014r7"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> running</span><span +class="ec-lmtt-8"> post</span><span +class="ec-lmtt-8"> install</span><span +class="ec-lmtt-8"> action</span><span +class="ec-lmtt-8"> for</span><span +class="ec-lmtt-8"> xetex</span><br class="fancyvrb" /><a + id="x1-48016r8"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> install:</span><span +class="ec-lmtt-8"> xetex-def</span><br class="fancyvrb" /><a + id="x1-48018r9"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ...</span><br class="fancyvrb" /><a + id="x1-48020r10"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> running</span><span +class="ec-lmtt-8"> mktexlsr</span> +<br class="fancyvrb" /><a + id="x1-48022r11"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> mktexlsr:</span><span +class="ec-lmtt-8"> Updating</span><span +class="ec-lmtt-8"> /usr/local/texlive/2012/texmf/ls-R...</span><br class="fancyvrb" /><a + id="x1-48024r12"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ...</span><br class="fancyvrb" /><a + id="x1-48026r13"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> running</span><span +class="ec-lmtt-8"> fmtutil-sys</span><span +class="ec-lmtt-8"> --missing</span><br class="fancyvrb" /><a + id="x1-48028r14"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> ...</span> +<br class="fancyvrb" /><a + id="x1-48030r15"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Transcript</span><span +class="ec-lmtt-8"> written</span><span +class="ec-lmtt-8"> on</span><span +class="ec-lmtt-8"> xelatex.log.</span><br class="fancyvrb" /><a + id="x1-48032r16"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> fmtutil:</span><span +class="ec-lmtt-8"> /usr/local/texlive/2012/texmf-var/web2c/xetex/xelatex.fmt</span><span +class="ec-lmtt-8"> installed.</span></div> +<!--l. 1905--><p class="indent" > Jak widać, <span +class="ec-lmss-10">tlmgr </span>instaluje wszystkie pakiety zależne, a także przeprowadza wymagane czynności +poinstalacyjne, jak aktualizacja bazy danych, budowa plików formatów itp. (w przykładzie wygenerowaliśmy +nowy format dla Xe<span class="TEX">T<span +class="E">E</span>X</span>). +<!--l. 1910--><p class="indent" > Aby wyświetlić informację o pakiecie (kolekcji bądź schemacie), należy uruchomić np.: <div class="alltt"> +<!--l. 1912--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tlmgr</span><span +class="ec-lmtk-10"> show</span><span +class="ec-lmtk-10"> collection-latexextra</span> + + +</div> +</div> co pokaże: + <div class="fancyvrb" id="fancyvrb13"><a + id="x1-48034r1"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> package:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> collection-latexextra</span><br class="fancyvrb" /><a + id="x1-48036r2"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> category:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Collection</span><br class="fancyvrb" /><a + id="x1-48038r3"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> shortdesc:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> LaTeX</span><span +class="ec-lmtt-8"> supplementary</span><span +class="ec-lmtt-8"> packages</span> +<br class="fancyvrb" /><a + id="x1-48040r4"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> longdesc:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> A</span><span +class="ec-lmtt-8"> large</span><span +class="ec-lmtt-8"> collection</span><span +class="ec-lmtt-8"> of</span><span +class="ec-lmtt-8"> add-on</span><span +class="ec-lmtt-8"> packages</span><span +class="ec-lmtt-8"> for</span><span +class="ec-lmtt-8"> LaTeX.</span><br class="fancyvrb" /><a + id="x1-48042r5"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> installed:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> Yes</span><br class="fancyvrb" /><a + id="x1-48044r6"></a><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> revision:</span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> </span><span +class="ec-lmtt-8"> 14675</span></div> +<!--l. 1925--><p class="noindent" ><span +class="ec-lmbx-10">Uwaga: </span>pełna dokumentacja programu <span +class="ec-lmss-10">tlmgr </span>dostępna jest pod adresem: <a +href="http://tug.org/texlive/tlmgr.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/tlmgr.html</span></a> +lub po uruchomieniu: <div class="alltt"> +<!--l. 1929--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">tlmgr</span><span +class="ec-lmtk-10"> -help</span> +</div> +</div> +<!--l. 1933--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">6. </span> <a + id="x1-490006"></a>Uwagi dotyczące Windows</h3> +<!--l. 1941--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">6.1. </span> <a + id="x1-500006.1"></a>Cechy specyficzne w systemie Windows</h4> +<!--l. 1944--><p class="noindent" >W systemie Windows program instalacyjny wykonuje kilka dodatkowych czynności: + <dl class="description"><dt class="description"> +<span +class="ec-lmbx-10">Menu i skr</span><span +class="ec-lmbx-10">óty.</span> </dt><dd +class="description">W menu systemowym instalowane jest podmenu „<span class="TEX">T<span +class="E">E</span>X</span> Live”, które zawiera + kilka pozycji dla programów działających w trybie graficznym (<span +class="ec-lmss-10">tlmgr</span>, <span +class="ec-lmss-10">texdoctk</span>, PS_View – + przeglądarka plików postscriptowych) oraz dokumentacji. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Skojarzenia typ</span><span +class="ec-lmbx-10">ów plik</span><span +class="ec-lmbx-10">ów.</span> </dt><dd +class="description">Jeśli wybrano tę opcję, <span +class="ec-lmss-10">TeXworks</span>, <span +class="ec-lmss-10">Dviout </span>oraz <span +class="ec-lmss-10">PS_view </span>otwierają + domyślne dla tych programów typy plików (lub, przy kliknięciu prawym klawiszem myszy na + danym pliku, proponują „Otwórz” i wybór programu). + </dd><dt class="description"> +<span +class="ec-lmbx-10">Konwerter bitmap do EPS.</span> </dt><dd +class="description">Dla różnych formatów graficznych plików bitmapowych kliknięcie + prawym klawiszem myszy wyświetla w menu „Otwórz” <span +class="ec-lmss-10">bitmap2eps</span>. Bitmap2eps jest prostym + skryptem, który pozwala na wybór programu <span +class="ec-lmss-10">sam2p </span>bądź <span +class="ec-lmss-10">bmeps</span>. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Automatyczne ustawienie zmiennych </span><span +class="ec-lmbx-10">środowiska.</span> </dt><dd +class="description">Po instalacji nie są wymagane żadne „ręczne” + zmiany ustawień. + </dd><dt class="description"> +<span +class="ec-lmbx-10">Odinstalowanie.</span> </dt><dd +class="description">Program instalacyjny rejestruje instalację w menu „Dodaj/Usuń programy” + w Panelu sterowania; odinstalowanie odbywa się zatem w standardowy dla Windows sposób.</dd></dl> +<!--l. 1982--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">6.2. </span> <a + id="x1-510006.2"></a>User Profile to inaczej Home (katalog domowy)</h4> +<!--l. 1985--><p class="noindent" >Odpowiednikiem uniksowego katalogu domowego użytkownika (<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">$HOME</span></span></span>) jest w Windows katalog określany +zmienną <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">%USERPROFILE%</span></span></span>. W Windows XP jest to zazwyczaj katalog <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">C:\Documents</span><span +class="ec-lmtt-10"> and</span><span +class="ec-lmtt-10"> Settings\</span></span></span> +<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10"><nazwa_u</span><span +class="ec-lmtt-10">żytkownika></span></span></span>, zaś w Windows Vista i Windows 7 katalog <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">C:\Users\<nazwa_u</span><span +class="ec-lmtt-10">żytkownika></span></span></span>. +W pliku konfiguracyjnym <span +class="ec-lmtt-10">texmf.cnf </span>i bibliotekach Kpathsea znak <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">~</span></span></span> jest poprawnie rozwijany do +odpowiedniej zmiennej zarówno w Windows, jak i w Unix/Linux. + + +<!--l. 1994--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">6.3. </span> <a + id="x1-520006.3"></a>Rejestr Windows</h4> +<!--l. 1997--><p class="noindent" >W systemie Windows prawie wszystkie dane konfiguracyjne przechowywane są w tzw. rejestrze. Zawiera on +hierachicznie zorganizowane klucze, w ramach kilku kluczy głównych. Najbardziej istotne dla programów +instalacyjnych są klucze <span class="path"><span +class="ec-lmtt-10">HKEY_CURRENT_USER</span></span> oraz <span class="path"><span +class="ec-lmtt-10">HKEY_LOCAL_MACHINE</span></span> (w skrócie <span class="path"><span +class="ec-lmtt-10">HKCU</span></span> i <span class="path"><span +class="ec-lmtt-10">HKLM</span></span>). Część <span class="path"><span +class="ec-lmtt-10">HKCU</span></span> +dotyczy katalogów domowych użytkowników (patrz <a +href="#x1-510006.2">6.2<!--tex4ht:ref: sec:winhome --></a>), zaś <span class="path"><span +class="ec-lmtt-10">HKLM</span></span> – podkatalogów systemowych (w katalogu +Windows). +<!--l. 2005--><p class="indent" > Informacje o ustawieniach systemu można czasem uzyskać ze zmiennych środowiska, ale po inne +informacje, np. położenie tzw. skrótów, trzeba odwołać się do rejestru. Także zapis zmiennych środowiska na +stałe wymaga dostępu do rejestru. +<!--l. 2010--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">6.4. </span> <a + id="x1-530006.4"></a>Uprawnienia w Windows</h4> +<!--l. 2017--><p class="noindent" >W nowszych wersjach Windows istnieje wyraźne rozróżnienie między użytkownikami „zwykłymi” +i administratorami, mającymi pełną swobodę dostępu do całości systemu. Dołożono wielu starań, aby +umożliwić instalację <span class="TEX">T<span +class="E">E</span>X</span> Live także osobom bez uprawnień administratora. +<!--l. 2027--><p class="indent" > Jeśli osoba instalująca jest administratorem, to udostępniona jest opcja instalacji dla wszystkich +użytkowników. Użycie jej oznacza, że tworzone są skróty, a także ustawiane są zmienne środowiska dla całego +systemu. W przeciwnym wypadku skróty i menu są tworzone jedynie dla konkretnego użytkownika, także +definiowane zmienne środowiska dotyczą zwykłych użytkowników. +<!--l. 2037--><p class="indent" > Bez względu na status użytkownika proponowanym, domyślnym katalogiem głównym instalacji, jest +katalog w ramach <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">%SystemDrive%</span></span></span>. Program instalacyjny zawsze sprawdza, czy ten katalog jest dostępny do +zapisu dla aktualnego użytkownika. +<!--l. 2042--><p class="indent" > Problem może się pojawić wtedy, gdy użytkownik instalujący <span class="TEX">T<span +class="E">E</span>X</span> Live nie jest administratorem, +a programy <span class="TEX">T<span +class="E">E</span>X</span>-owe są już w ścieżce przeszukiwania. Wynikowa ścieżka zawiera wtedy ścieżkę systemową, +do której dodano ścieżkę do programów użytkownika. W konsekwencji nie będą znajdowane nowo instalowane +programy. Aby rozwiązać ten problem, program instalacyjny tworzy skrót do okna z wierszem poleceń, +w którym ścieżka do nowych programów <span class="TEX">T<span +class="E">E</span>X</span> Live ma priorytet. W ten sposób, po uruchomieniu tego +skrótu, będzie można korzystać z <span class="TEX">T<span +class="E">E</span>X</span> Live. Dotyczy to także programu <span class="TEX">T<span +class="E">E</span>X</span>works, o ile go +zainstalowaliśmy. +<!--l. 2051--><p class="indent" > Windows Vista i Windows 7 stwarzają dodatkowe utrudnienia: nawet jeśli jesteśmy zalogowani jako +administrator, musimy dodatkowo żądać uprawnień do uruchomienia programów jako administrator! +W rzeczywistości nie ma sensu logowanie jako administrator, zamiast tego wystarczy kliknąć +prawym klawiszem myszy na programie (lub skrócie), co pozwala wybrać opcję „Uruchom jako +administrator”. +<!--l. 2059--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">6.5. </span> <a + id="x1-540006.5"></a>Zwiększanie maksymalnej ilości dostępnej pamięci w Windows i Cygwin</h4> +<!--l. 2062--><p class="noindent" >Użytkownicy systemów Windows i Cygwin mogą w przypadku uruchamiania niektórych programów +dostarczonych w <span class="TEX">T<span +class="E">E</span>X</span> Live spotkać się z niewystarczającą ilością dostępnej pamięci. Na przykład <span +class="ec-lmss-10">asy</span> +wyczerpie dostępną pamięć w przypadku próby zadeklarowania macierzy składającej się z 25 milionów liczb +rzeczywistych, a Lua<span class="TEX">T<span +class="E">E</span>X</span> przy przetwarzaniu dokumentu zawierającego wiele dużych czcionek. +<!--l. 2070--><p class="indent" > W Cygwin można ten problem rozwiązać w sposób podany za poradą zawartą w Podręczniku +Użytkownika Cygwin (<a +href="http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html" class="url" ><span +class="ec-lmtt-10">http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html</span></a>). +<!--l. 2074--><p class="indent" > W Windows należy utworzyć plik, np. <span +class="ec-lmtt-10">moremem.reg</span>, o zawartości: + <div class="fancyvrb" id="fancyvrb14"><a + id="x1-54002r1"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> Windows</span><span +class="ec-lmtt-9"> Registry</span><span +class="ec-lmtt-9"> Editor</span><span +class="ec-lmtt-9"> Version</span><span +class="ec-lmtt-9"> 5.00</span><br class="fancyvrb" /><a + id="x1-54004r2"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><br class="fancyvrb" /><a + id="x1-54006r3"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> [HKEY_LOCAL_MACHINE\Software\Cygwin]</span><br class="fancyvrb" /><a + id="x1-54008r4"></a><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> "heap_chunk_in_mb"=dword:ffffff00</span></div> +<!--l. 2082--><p class="noindent" >a następnie wykonać (jako użytkownik z prawami administratora) polecenie: <span +class="ec-lmtt-10">regedit /s moremem.reg</span>. +Zamiast ustawień globalnych dla systemu, można też zmienić wielkość dostępnej pamięci jedynie dla +bieżącego użytkownika, używając <span +class="ec-lmtt-10">HKEY_CURRENT_USER</span>. +<!--l. 2087--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">7. </span> <a + id="x1-550007"></a>W razie problemów</h3> + + +<!--l. 2091--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">7.1. </span> <a + id="x1-560007.1"></a>Co zrobić gdy <span +class="ec-lmtt-10">latex </span>nie może znaleźć potrzebnych plików?</h4> + <ul class="itemize1"> + <li class="itemize">Podstawowym narzędziem do diagnozowania problemów jest program <span +class="ec-lmss-10">kpsewhich</span>. Wyprowadza on + informacje diagnostyczne na wyjście stderr, przy czym konsole (okienka wierszy poleceń) starszych + systemów Windows nie potrafią przekierować stderr do pliku. Umożliwia to dopiero system Windows NT + i późniejsze, ale rozwiązanie przedstawione poniżej działa dla każdej konsoli (okienka wierszy poleceń). + Otóż dla celów diagnostycznych można tymczasowo zdefiniować zmienną środowiska (w oknie + poleceń): + + + <div class="verbatim" id="verbatim-3"> + <div class="fancyvrb" id="fancyvrb15"><a + id="x1-56002r1"></a>  SET KPATHSEA_DEBUG_OUTPUT=err.log</div> +</div> + <!--l. 2103--><p class="nopar" >Można również zadać zakres diagnostyki: + + + <div class="verbatim" id="verbatim-4"> + <div class="fancyvrb" id="fancyvrb16"><a + id="x1-56004r1"></a>  SET KPATHSEA_DEBUG=-1</div> +</div> + <!--l. 2107--><p class="nopar" > + <!--l. 2109--><p class="noindent" >Podobnie, aby przekierować wyjście stderr na stdout: + + + <div class="verbatim" id="verbatim-5"> + <div class="fancyvrb" id="fancyvrb17"><a + id="x1-56006r1"></a>  SET KPATHSEA_DEBUG_OUTPUT=con:</div> +</div> + <!--l. 2112--><p class="nopar" >W ten sposób można skierować zarówno stderr, jak i stdout do tego samego pliku. + </li> + <li class="itemize">Przy założeniu, że instalację wykonano w <span class="path"><span +class="ec-lmtt-10">c:/TeX</span></span>, należy sprawdzić (porównać) następujące + wartości:<br +class="newline" /><!--tex4ht:inline--><div class="tabular"> <table id="TBL-2" class="tabular" +cellspacing="0" cellpadding="0" +><colgroup id="TBL-2-1g"><col +id="TBL-2-1"><col +id="TBL-2-2"></colgroup><tr + style="vertical-align:baseline;" id="TBL-2-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-1-1" +class="td11"> <span class="path"><span +class="ec-lmtt-9">kpsewhich</span><span +class="ec-lmtt-9"> -expand-path</span><span +class="ec-lmtt-9"> $SELFAUTOPARENT</span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-2-1-2" +class="td11"> <span class="path"><span +class="ec-lmtt-9">c:/TeX</span></span> </td> +</tr><tr + style="vertical-align:baseline;" id="TBL-2-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-2-1" +class="td11"> <span class="path"><span +class="ec-lmtt-9">kpsewhich</span><span +class="ec-lmtt-9"> -expand-path</span><span +class="ec-lmtt-9"> $TEXMF</span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-2-2-2" +class="td11"> <span class="path"><span +class="ec-lmtt-9">c:/TeX/texmf....</span></span> </td> +</tr><tr + style="vertical-align:baseline;" id="TBL-2-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-3-1" +class="td11"> <span class="path"><span +class="ec-lmtt-9">kpsewhich</span><span +class="ec-lmtt-9"> -expand-var</span><span +class="ec-lmtt-9"> $TEXINPUTS</span></span> </td><td style="white-space:nowrap; text-align:left;" id="TBL-2-3-2" +class="td11"> <span class="path"><span +class="ec-lmtt-9">.;c:/TeX/texmf/tex//</span></span> </td></tr></table> + </div> + <!--l. 2124--><p class="noindent" >Jeśli w otoczeniu systemowym są zdefiniowane zmienne związane z <span class="TEX">T<span +class="E">E</span>X</span>-em, należy je usunąć, mają + bowiem pierwszeństwo przed tymi, które określono w pliku <span +class="ec-lmtt-10">texmf.cnf</span>. + </li> + <li class="itemize">Następnie należy sprawdzić (porównać) wartości:<br +class="newline" /><!--tex4ht:inline--><div class="tabular"> <table id="TBL-3" class="tabular" +cellspacing="0" cellpadding="0" +><colgroup id="TBL-3-1g"><col +id="TBL-3-1"><col +id="TBL-3-2"></colgroup><tr + style="vertical-align:baseline;" id="TBL-3-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-3-1-1" +class="td11"> <span +class="ec-lmtt-9">kpsewhich cmr10.tfm </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-3-1-2" +class="td11"> <span class="path"><span +class="ec-lmtt-9">c:/TeX/texmf-dist/fonts/tfm/public/cm/cmr10.tfm</span></span> </td> +</tr><tr + style="vertical-align:baseline;" id="TBL-3-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-3-2-1" +class="td11"> <span +class="ec-lmtt-9">kpsewhich latex.fmt </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-3-2-2" +class="td11"> <span class="path"><span +class="ec-lmtt-9">c:/TeX/texmf-var/web2c/pdftex/latex.fmt</span></span> </td></tr></table> + </div> + <!--l. 2135--><p class="noindent" >Jeśli podczas sprawdzania nie znaleziono odstępstw, to <span class="TEX">T<span +class="E">E</span>X</span> i programy towarzyszące powinny działać. + Jeśli tak nie jest, to należy poeksperymentować z opcją <span class="path"><span +class="ec-lmtt-10">-debug=n</span></span> programu <span class="path"><span +class="ec-lmtt-10">kpsewhich</span></span> i zweryfikować + wszystkie uzyskane wartości. Po zidentyfikowaniu problemu warto go zgłosić.</li></ul> +<!--l. 2143--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">8. </span> <a + id="x1-570008"></a>Instrukcja obsługi systemu Web2C</h3> +<!--l. 2145--><p class="noindent" >Web2C to zestaw programów związanych z <span class="TEX">T<span +class="E">E</span>X</span>-em, tj. sam <span class="TEX">T<span +class="E">E</span>X</span>, Metafont, MetaPost, BibTeX itd. Stanowią +one rdzeń dystrybucji <span class="TEX">T<span +class="E">E</span>X</span> Live. +<!--l. 2148--><p class="indent" > Oryginalna implementacja wykonana została przez Tomasa Rokickiego, który w roku 1987 stworzył +pierwszy system <span class="TEX">T<span +class="E">E</span>X</span>-to-C, adaptując pliki wymiany (<span +class="ec-lmri-10">change files</span>) pod Unix-em (pierwotnie +były one dziełem Howarda Trickey’a oraz Pavela Curtisa). W czasie, gdy Tim Morgan zajmował +się systemem, jego nazwa została zmieniona na Web-to-C. W 1990 roku prace nad projektem +przejął Karl Berry wraz z dziesiątkami współpracowników, a w roku 1997 pałeczkę przejął Olaf +Weber. +<!--l. 2156--><p class="indent" > Web2C działa na platformach systemowych, takich jak Unix (w tym Mac OS X), Windows 9x/NT/2K/XP +i innych. System wykorzystuje oryginalne źródła <span class="TEX">T<span +class="E">E</span>X</span>-owe autorstwa Donalda Knutha oraz inne programy +napisane w <span +class="ec-lmtt-10">WEB </span>i tłumaczy je na kod źródłowy C. Ponadto system udostępnia spory zestaw makr i funkcji +stworzonych dla zwiększenia funkcjonalności oryginalnych zasobów oprogramowania związanego z <span class="TEX">T<span +class="E">E</span>X</span>-em. +Podstawowymi składnikami systemu są: +<!--l. 2164--><p class="indent" > + <dl class="list1"><dt class="list"> + <span +class="ec-lmss-10">bibtex</span> </dt><dd +class="list"> + <!--l. 2165--><p class="noindent" >tworzenie spisów bibliograficznych; + </dd><dt class="list"> + <span +class="ec-lmss-10">dvicopy</span> </dt><dd +class="list"> + <!--l. 2166--><p class="noindent" >modyfikowanie pliku DVI; + </dd><dt class="list"> + <span +class="ec-lmss-10">dvitomp</span> </dt><dd +class="list"> + <!--l. 2167--><p class="noindent" >konwersja DVI do MPX (rysunki MetaPost-owe); + </dd><dt class="list"> + <span +class="ec-lmss-10">dvitype</span> </dt><dd +class="list"> + <!--l. 2168--><p class="noindent" >konwersja DVI na plik tekstowy (ASCII); + </dd><dt class="list"> + <span +class="ec-lmss-10">gftodvi</span> </dt><dd +class="list"> + <!--l. 2169--><p class="noindent" >zamiana fontu GF na plik DVI; + + + </dd><dt class="list"> + <span +class="ec-lmss-10">gftopk</span> </dt><dd +class="list"> + <!--l. 2170--><p class="noindent" >zamiana fontu w formacie GF na font spakowany (PK); + </dd><dt class="list"> + <span +class="ec-lmss-10">gftype</span> </dt><dd +class="list"> + <!--l. 2171--><p class="noindent" >zamiana fontu GF na plik tekstowy (ASCII); + </dd><dt class="list"> + <span +class="ec-lmss-10">mf</span> </dt><dd +class="list"> + <!--l. 2172--><p class="noindent" >generowanie fontów bitmapowych w formacie GF; + </dd><dt class="list"> + <span +class="ec-lmss-10">mft</span> </dt><dd +class="list"> + <!--l. 2173--><p class="noindent" >skład plików źródłowych Metafont-a; + </dd><dt class="list"> + <span +class="ec-lmss-10">mpost</span> </dt><dd +class="list"> + <!--l. 2174--><p class="noindent" >tworzenie rysunków oraz diagramów technicznych; + </dd><dt class="list"> + <span +class="ec-lmss-10">patgen</span> </dt><dd +class="list"> + <!--l. 2175--><p class="noindent" >tworzenie wzorców przenoszenia wyrazów; + </dd><dt class="list"> + <span +class="ec-lmss-10">pktogf</span> </dt><dd +class="list"> + <!--l. 2176--><p class="noindent" >zamiana fontów w formacie PK na fonty GF; + </dd><dt class="list"> + <span +class="ec-lmss-10">pktype</span> </dt><dd +class="list"> + <!--l. 2177--><p class="noindent" >zamiana fontu PK na plik tekstowy (ASCII); + </dd><dt class="list"> + <span +class="ec-lmss-10">pltotf</span> </dt><dd +class="list"> + <!--l. 2178--><p class="noindent" >konwersja tekstowej listy właściwości do TFM; + </dd><dt class="list"> + <span +class="ec-lmss-10">pooltype</span> </dt><dd +class="list"> + <!--l. 2179--><p class="noindent" >wyświetlanie <span +class="ec-lmtt-10">WEB</span>-owych plików pool; + </dd><dt class="list"> + <span +class="ec-lmss-10">tangle</span> </dt><dd +class="list"> + <!--l. 2180--><p class="noindent" >konwersja <span +class="ec-lmtt-10">WEB </span>do języka Pascal; + </dd><dt class="list"> + <span +class="ec-lmss-10">tex</span> </dt><dd +class="list"> + <!--l. 2181--><p class="noindent" >skład tekstu; + </dd><dt class="list"> + <span +class="ec-lmss-10">tftopl</span> </dt><dd +class="list"> + <!--l. 2182--><p class="noindent" >konwersja TFM do tekstowej listy właściwości (PL); + </dd><dt class="list"> + <span +class="ec-lmss-10">vftovp</span> </dt><dd +class="list"> + <!--l. 2183--><p class="noindent" >konwersja fontów wirtualnych do wirtualnej listy właściwości (VPL); + </dd><dt class="list"> + <span +class="ec-lmss-10">vptovf</span> </dt><dd +class="list"> + <!--l. 2185--><p class="noindent" >konwersja wirtualnej listy właściwości do fontów wirtualnych; + </dd><dt class="list"> + <span +class="ec-lmss-10">weave</span> </dt><dd +class="list"> + <!--l. 2186--><p class="noindent" >konwersja <span +class="ec-lmtt-10">WEB </span>do <span class="TEX">T<span +class="E">E</span>X</span>-a.</dd></dl> + + +<!--l. 2189--><p class="noindent" >Dokładny opis funkcji oraz składni tych programów zawarty jest w dokumentacji poszczególnych pakietów +samego Web2C. Do optymalnego korzystania z instalacji Web2C przyda się znajomość kilku zasad rządzących +całą rodziną programów. +<!--l. 2195--><p class="indent" > Wszystkie programy obsługują standardowe opcje GNU: + <dl class="description"><dt class="description"> +<span +class="ec-lmtk-10">--help</span><span +class="ec-lmtk-10"> </span><span +class="ec-lmtk-10"> </span><span +class="ec-lmtk-10"> </span> </dt><dd +class="description">podaje podstawowe zasady użytkowania; + </dd><dt class="description"> +<span +class="ec-lmtk-10">--verbose</span> </dt><dd +class="description">podaje dokładny raport z działania programu; + </dd><dt class="description"> +<span +class="ec-lmtk-10">--version</span> </dt><dd +class="description">podaje informację o wersji, po czym kończy działanie programu.</dd></dl> +<!--l. 2203--><p class="indent" > Do lokalizowania plików programy oparte na Web2C używają biblioteki do przeszukiwania ścieżek zwanej +Kpathsea. Dla optymalizacji przeszukiwania <span class="TEX">T<span +class="E">E</span>X</span>-owego drzewa podkatalogów biblioteka ta używa +kombinacji zmiennych środowiskowych oraz kilku plików konfiguracyjnych. Web2C potrafi obsługiwać +jednocześnie więcej niż jedno drzewo podkatalogów, co jest użyteczne w wypadku, gdy chce się +przechowywać standardową dystrybucję <span class="TEX">T<span +class="E">E</span>X</span>-a jak i lokalne rozszerzenia w dwóch różnych drzewach +katalogów. Aby przyspieszyć poszukiwanie plików, katalog główny każdego drzewa ma swój plik <span +class="ec-lmtt-10">ls-R</span>, +zawierający pozycje określające nazwę i względną ścieżkę dla wszystkich plików zawartych w tym +katalogu. +<!--l. 2215--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">8.1. </span> <a + id="x1-580008.1"></a>Przeszukiwanie ścieżek przez Kpathsea</h4> +<!--l. 2218--><p class="noindent" >Opiszemy najpierw ogólny mechanizm przeszukiwania ścieżek przez bibliotekę Kpathsea. +<!--l. 2221--><p class="indent" > Tym, co nazywamy <span +class="ec-lmri-10">ście</span><span +class="ec-lmri-10">żką przeszukiwania</span>, jest rozdzielona dwukropkami lub średnikami lista <span +class="ec-lmri-10">element</span><span +class="ec-lmri-10">ów</span> +<span +class="ec-lmri-10">ście</span><span +class="ec-lmri-10">żki</span>, które zasadniczo są nazwami podkatalogów. Ścieżka przeszukiwania może pochodzić z (kombinacji) +wielu źródeł. Przykładowo, aby odnaleźć plik „<span +class="ec-lmtt-10">my-file</span>” w ścieżce „<span +class="ec-lmtt-10">.:/dir</span>”, Kpathsea sprawdza istnienie +danego elementu ścieżki w następującej kolejności: najpierw <span +class="ec-lmtt-10">./my-file</span>, potem <span +class="ec-lmtt-10">/dir/my-file</span>, zwracając +pierwszy odnaleziony (lub możliwie wszystkie). +<!--l. 2229--><p class="indent" > Aby optymalnie zaadaptować się do konwencji wszystkich systemów operacyjnych, na systemach +nieunixowych Kpathsea może używać jako separatorów nazw ścieżek znaków innych niż dwukropek („<span +class="ec-lmtt-10">:</span>”) oraz +„ciach” („<span +class="ec-lmtt-10">/</span>”). +<!--l. 2234--><p class="indent" > W celu sprawdzenia konkretnego elementu <span +class="ec-lmro-10">p </span>ścieżki, Kpathsea najpierw sprawdza, czy zbudowana +wcześniej baza danych (patrz „Baza nazw plików” na str. <a +href="#x1-660008.2">70<!--tex4ht:ref: Filename-database --></a>) odnosi sie do <span +class="ec-lmro-10">p</span>, tj. czy baza danych znajduje się +w podkatalogu z prefiksem <span +class="ec-lmro-10">p</span>. Jeżeli tak, to specyfikacja ścieżki jest porównywana z zawartością +bazy. +<!--l. 2240--><p class="indent" > Jeśli baza danych nie istnieje bądź nie odnosi się do danego elementu ścieżki albo też nie zawiera +elementów zgodnych, to przeszukiwany jest system plików (jeżeli nie zostało to zabronione przez specyfikację +rozpoczynającą się od „<span +class="ec-lmtt-10">!!</span>” oraz jeżeli poszukiwany plik musi istnieć). Kpathsea konstruuje listę +podkatalogów, które korespondują z danym elementem ścieżki, a następnie sprawdza w każdym z nich, czy +nie ma tam poszukiwanego pliku. +<!--l. 2248--><p class="indent" > Warunek mówiący, że „plik musi istnieć” dotyczy np. plików „<span +class="ec-lmtt-10">.vf</span>” i plików dołączanych <span class="TEX">T<span +class="E">E</span>X</span>-owym +poleceniem <span +class="ec-lmtt-10">\openin</span>. Takiego pliku może nie być (np. <span +class="ec-lmtt-10">cmr10.vf</span>), błędne byłoby zatem poszukiwanie go na +dysku. Jeśli więc zapomnisz o aktualizacji <span +class="ec-lmtt-10">ls-R </span>po instalacji nowego pliku „<span +class="ec-lmtt-10">.vf</span>”, to nie zostanie on +odnaleziony. Każdy element ścieżki sprawdzany jest w następującej kolejności: najpierw w bazie danych, +potem na dysku. Jeżeli plik się znajdzie, to przeszukiwanie zostanie zatrzymane i zwrócony zostanie +wynik. +<!--l. 2259--><p class="indent" > Ponieważ najprostszym i najbardziej powszechnym elementem ścieżki jest nazwa katalogu, Kpathsea +korzysta z dodatkowych możliwości w przeszukiwaniu ścieżek: wielowarstwowych wartości domyślnych, +zmiennych środowiskowych, wartości pliku konfiguracyjnego, lokalnych podkatalogów użytkownika oraz +rekursywnego przeszukiwania podkatalogów. Można więc powiedzieć, że Kpathsea <span +class="ec-lmri-10">rozwija </span>element ścieżki, +tzn. transformuje wszystkie specyfikacje do podstawowej nazwy lub nazw katalogów. Jest to opisane +w kolejnych akapitach, w kolejności w jakiej to zachodzi. +<!--l. 2269--><p class="indent" > Trzeba zauważyć, że jeżeli nazwa poszukiwanego pliku jest absolutna lub jawnie względna, tj. +zaczyna się od „<span +class="ec-lmtt-10">/</span>” lub „<span +class="ec-lmtt-10">./</span>” lub „<span +class="ec-lmtt-10">../</span>”, to Kpathsea ogranicza się do sprawdzenia, czy ten plik +istnieje. + + +<!--l. 2283--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">8.1.1. </span> <a + id="x1-590008.1.1"></a>Źródła ścieżek</h5> +<!--l. 2286--><p class="noindent" >Nazwa przeszukiwanej ścieżki może pochodzić z wielu źródeł. Oto kolejność, w jakiej Kpathsea ich +używa: +<!--l. 2289--><p class="indent" > + <ol class="enumerate1" > + <li + class="enumerate" id="x1-59002x1">Zmienna środowiskowa ustawiana przez użytkownika, np. <span +class="ec-lmtt-10">TEXINPUTS</span>. + Zmienne środowiskowe z dołączoną kropką i nazwą programu zastępują inne, np. jeżeli „<span +class="ec-lmtt-10">latex</span>” + jest nazwą uruchomionego programu, wtedy zamiast <span +class="ec-lmtt-10">TEXINPUTS </span>wykorzystana zostanie zmienna + <span +class="ec-lmtt-10">TEXINPUTS.latex</span>. + </li> + <li + class="enumerate" id="x1-59004x2">Plik konfiguracyjny konkretnego programu, np. linia „<span +class="ec-lmtt-10">S /a:/b</span>” w pliku <span +class="ec-lmtt-10">config.ps </span>programu + <span +class="ec-lmss-10">dvips</span>. + </li> + <li + class="enumerate" id="x1-59006x3">Plik konfiguracyjny Kpathsea <span +class="ec-lmtt-10">texmf.cnf</span>, zawierający taką linię, jak „<span +class="ec-lmtt-10">TEXINPUTS=/c:/d</span>” (patrz + poniżej). + </li> + <li + class="enumerate" id="x1-59008x4">Wartości domyślne dla uruchamianych programów.</li></ol> +<!--l. 2303--><p class="noindent" >Każdą z tych wartości dla danej ścieżki przeszukiwania można zobaczyć, używając opcji diagnostyki błędów +(patrz „Diagnostyka błędów” na str. <a +href="#x1-700008.2.4">73<!--tex4ht:ref: sec:debugging --></a>). +<!--l. 2307--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">8.1.2. </span> <a + id="x1-600008.1.2"></a>Pliki konfiguracyjne</h5> +<!--l. 2310--><p class="noindent" >Kpathsea szuka ścieżek przeszukiwania i innych definicji w <span +class="ec-lmri-10">plikach konfiguracyjnych </span>o nazwach <span +class="ec-lmtt-10">texmf.cnf</span>. +Ścieżka przeszukiwania używana do znajdowania tych plików określana jest przez zmienną <span +class="ec-lmtt-10">TEXMFCNF</span>, ale nie +zalecamy jawnego ustawiania tej, jak i innych zmiennych w systemie. Zamiast tego typowa instalacja <span class="TEX">T<span +class="E">E</span>X</span> +Live tworzy plik <span +class="ec-lmtt-10">.../2012/texmf.cnf</span>, który w wyjątkowych wypadkach możemy modyfikować. Głównym +plikiem konfiguracyjnym jest <span +class="ec-lmtt-10">.../2012/texmf/web2c/texmf.cnf</span>, ale nie powinien być on modyfikowany, +gdyż zmiany będą utracone podczas aktualizacji. +<!--l. 2324--><p class="indent" > Czytane będą <span +class="ec-lmri-10">wszystkie </span>pliki <span +class="ec-lmtt-10">texmf.cnf </span>w ścieżce przeszukiwania, a definicje we wcześniejszych plikach +zastąpią te w późniejszych. Tak więc w ścieżce <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">.:$TEXMF</span></span></span> wartości pochodzące z <span +class="ec-lmtt-10">./texmf.cnf </span>zastąpią te +z <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">$TEXMF/texmf.cnf</span></span></span>. +<!--l. 2331--><p class="indent" > Dociekliwy czytelnik może być zainteresowany sposobem, w jaki programy znajdują plik <span +class="ec-lmtt-10">texmf.cnf</span>, skoro +nie ma konieczności deklarowania specyficznej zmiennej środowiskowej systemu. Otóż położenie domyślne jest +wkompilowane w programy jako względne do ich położenia (określanego, jak wiemy, w ścieżce specyfikowanej +przez <span +class="ec-lmtt-10">$PATH</span>): <span class="path"><span +class="ec-lmtt-10">../../texmf/web2c/</span></span> bądź <span class="path"><span +class="ec-lmtt-10">../texmf/web2c/</span></span>. Jeśli jawnie deklarujemy zmienną <span +class="ec-lmtt-10">TEXMFCNF</span>, +wymagane jest podanie bezwzględnej ścieżki. +<!--l. 2340--><p class="indent" > Czytając zamieszczony poniżej opis formatu pliku <span +class="ec-lmtt-10">texmf.cnf</span>, warto przeglądać jego zawartość. Położenie +<span +class="ec-lmri-10">aktywnego </span>pliku znajdziemy za pomocą polecenia <span +class="ec-lmtt-10">kpsewhich texmf.cnf</span>. + <ul class="itemize1"> + <li class="itemize">Komentarze zaczynają się od „<span +class="ec-lmtt-10">%</span>”, a kończą na końcu wiersza. + </li> + <li class="itemize">Puste wiersze nie są brane pod uwagę. + </li> + <li class="itemize">Znak „<span +class="ec-lmtt-10">\</span>” na końcu wiersza działa jako znak kontynuacji, tzn. oznacza, że kolejny wiersz jest + kontynuacją bieżącego. Spacja na początku kolejnego wiersza nie jest ignorowana. + </li> + <li class="itemize">Pozostałe wiersze mają postać: <div class="alltt"> + <!--l. 2355--><p class="noindent" ><div class="obeylines-v"> + <span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtti-10">zmienna</span><span +class="ec-lmtt-10">[.</span><span +class="ec-lmtti-10">program</span><span +class="ec-lmtt-10">]</span><span +class="ec-lmtt-10"> [=]</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtti-10">warto</span><span +class="ec-lmtti-10">ś</span><span +class="ec-lmtti-10">ć</span> + + +</div> + </div>gdzie „<span +class="ec-lmtt-10">=</span>” i otaczające spacje są opcjonalne. + </li> + <li class="itemize">„<span +class="ec-lmro-10">zmienna</span>” zawierać może dowolne znaki poza spacją, „<span +class="ec-lmtt-10">=</span>”, lub „<span +class="ec-lmtt-10">.</span>” (kropką), najbezpieczniej jednak + używać znaków z zakresu „<span +class="ec-lmtt-10">A-Za-z_</span>”. + </li> + <li class="itemize">Napis „<span +class="ec-lmtt-10">.</span><span +class="ec-lmro-10">program</span>” ma zastosowanie w wypadku, gdy uruchamiany program nosi nazwę + <span +class="ec-lmro-10">program </span>lub <span +class="ec-lmro-10">program</span><span +class="ec-lmtt-10">.exe</span>. Pozwala to różnym odmianom <span class="TEX">T<span +class="E">E</span>X</span>-a stosować różne ścieżki + przeszukiwania. + </li> + <li class="itemize">„<span +class="ec-lmro-10">warto</span><span +class="ec-lmro-10">ś</span><span +class="ec-lmro-10">ć</span>” zawierać może dowolne znaki poza „<span +class="ec-lmtt-10">%</span>” i „<span +class="ec-lmtt-10">@</span>”. Nie można używać konstrukcji + „<span +class="ec-lmtt-10">$</span><span +class="ec-lmro-10">zmienna</span><span +class="ec-lmtt-10">.</span><span +class="ec-lmro-10">program</span>” po prawej stronie. Zamiast tego trzeba zastosować zmienną pomocniczą. + Jeżeli systemem operacyjnym jest Unix, to średnik „<span +class="ec-lmtt-10">;</span>” użyty w „<span +class="ec-lmro-10">warto</span><span +class="ec-lmro-10">ś</span><span +class="ec-lmro-10">ć</span>” zamieniany + jest na „<span +class="ec-lmtt-10">:</span>”; umożliwia to istnienie wspólnego pliku <span +class="ec-lmtt-10">texmf.cnf </span>dla systemów Unix oraz + Windows. + </li> + <li class="itemize">Wszystkie definicje czytane są zanim cokolwiek zostanie rozwinięte, tak więc do zmiennych można się + odwoływać przed ich zdefiniowaniem.</li></ul> +<!--l. 2380--><p class="noindent" >Oto fragment pliku konfiguracyjnego ilustrujący większość opisanych powyżej reguł notacji: + <div class="fancyvrb" id="fancyvrb18"> +<a + id="x1-60002r1"></a><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> TEXMF</span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> =</span><span +class="ec-lmtt-8x-x-87"> {$TEXMFLOCAL,!!$TEXMFMAIN}</span> +<br class="fancyvrb" /><a + id="x1-60004r2"></a><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> TEXINPUTS.latex</span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> =</span><span +class="ec-lmtt-8x-x-87"> .;$TEXMF/tex/{latex,generic;}//</span> +<br class="fancyvrb" /><a + id="x1-60006r3"></a><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> TEXINPUTS.fontinst</span><span +class="ec-lmtt-8x-x-87"> =</span><span +class="ec-lmtt-8x-x-87"> .;$TEXMF/tex//;$TEXMF/fonts/afm//</span> +<br class="fancyvrb" /><a + id="x1-60008r4"></a><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> %</span><span +class="ec-lmtt-8x-x-87"> e-TeX</span><span +class="ec-lmtt-8x-x-87"> related</span><span +class="ec-lmtt-8x-x-87"> files</span> +<br class="fancyvrb" /><a + id="x1-60010r5"></a><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> TEXINPUTS.elatex</span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> =</span><span +class="ec-lmtt-8x-x-87"> .;$TEXMF/{etex,tex}/{latex,generic;}//</span> +<br class="fancyvrb" /><a + id="x1-60012r6"></a><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> TEXINPUTS.etex</span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> </span><span +class="ec-lmtt-8x-x-87"> =</span><span +class="ec-lmtt-8x-x-87"> .;$TEXMF/{etex,tex}/{eplain,plain,generic;}//</span> + </div> +<!--l. 2388--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">8.1.3. </span> <a + id="x1-610008.1.3"></a>Rozwijanie ścieżek</h5> +<!--l. 2391--><p class="noindent" >Kpathsea rozpoznaje w ścieżkach przeszukiwania pewne specjalne znaki oraz konstrukcje, podobne do tych, +które są dostępne w powłokach systemów typu Unix. Jako ogólny przykład: złożona ścieżka +<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">~$USER/{foo,bar}//baz</span></span></span> rozwija się do wszystkich podkatalogów pod katalogami <span +class="ec-lmtt-10">foo </span>i <span +class="ec-lmtt-10">bar </span>w katalogu +głównym <span +class="ec-lmtt-10">$USER</span>, które zawierają katalog lub plik <span +class="ec-lmtt-10">baz</span>. Rozwinięcia te opisane są w poniższych +podrozdziałach. +<!--l. 2400--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">8.1.4. </span> <a + id="x1-620008.1.4"></a>Rozwijanie domyślne</h5> +<!--l. 2404--><p class="noindent" >Jeżeli ścieżka przeszukiwania największego uprzywilejowania (patrz „Źródła ścieżek” na str. <a +href="#x1-590008.1.1">65<!--tex4ht:ref: Path-sources --></a>) zawiera +<span +class="ec-lmri-10">dodatkowy dwukropek </span>(np. na początku, na końcu lub podwójny), to Kpathsea wstawia w tym miejscu +następną zdefiniowaną w hierarchii uprzywilejowania ścieżkę przeszukiwania. Jeżeli ta wstawiona +ścieżka ma dodatkowy dwukropek, to dzieje się dalej to samo. Przykładowo, jeżeli ustawić zmienną +środowiskową + <div class="alltt"> +<!--l. 2413--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">setenv</span><span +class="ec-lmtk-10"> TEXINPUTS</span><span +class="ec-lmtk-10"> /home/karl:</span> +</div> +</div> oraz wartość <span +class="ec-lmtt-10">TEXINPUTS </span>pobraną z <span +class="ec-lmtt-10">texmf.cnf</span> + <div class="alltt"> +<!--l. 2418--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> .:$TEXMF//tex</span> + + +</div> +</div> to końcową wartością użytą w przeszukiwaniu będzie: + <div class="alltt"> +<!--l. 2423--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /home/karl:.:$TEXMF//tex</span> +</div> +</div> +<!--l. 2427--><p class="indent" > Ponieważ nieużytecznym byłoby wstawiać wartość domyślną w więcej niż jednym miejscu, Kpathsea +zmienia tylko jeden dodatkowy „<span +class="ec-lmtt-10">:</span>” i pozostawia inne bez zmian. Kpathsea najpierw szuka dwukropków na +początku linii, potem na końcu, a następnie podwójnych. +<!--l. 2432--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">8.1.5. </span> <a + id="x1-630008.1.5"></a>Rozwijanie nawiasów</h5> +<!--l. 2435--><p class="noindent" >Użyteczna jest możliwość rozwijania nawiasów, co oznacza, że np. <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">v{a,b}w</span></span></span> rozwija się do <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">vaw:vbw</span></span></span>. Nawiasy +można też zagnieżdżać. Funkcji tej można użyć do zaimplementowania różnych hierarchii <span class="TEX">T<span +class="E">E</span>X</span>-owych przez +przypisanie listy nawiasów do <span +class="ec-lmtt-10">$TEXMF</span>. Przykładowo, w pliku <span +class="ec-lmtt-10">texmf.cnf </span>można znaleźć następującą +(uproszczoną tu) definicję: + + + <div class="verbatim" id="verbatim-6"> + <div class="fancyvrb" id="fancyvrb19"><a + id="x1-63002r1"></a>    TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN}</div> +</div> +<!--l. 2444--><p class="nopar" >Używając jej, można następnie napisać coś w rodzaju: + + + <div class="verbatim" id="verbatim-7"> + <div class="fancyvrb" id="fancyvrb20"><a + id="x1-63004r1"></a>    TEXINPUTS = .;$TEXMF/tex//</div> +</div> +<!--l. 2448--><p class="nopar" >co oznacza, że po szukaniu w katalogu bieżącym będą przeszukane kolejno <span +class="ec-lmtt-10">$TEXMFHOME/tex</span>, +<span +class="ec-lmtt-10">$TEXMFLOCAL/tex</span>, <span +class="ec-lmtt-10">$TEXMFVAR/tex </span>i <span +class="ec-lmtt-10">$TEXMFMAIN/tex </span>(wszystkie wraz z katalogami niższego poziomu; dwie +ostatnie ścieżki <span +class="ec-lmri-10">wyłącznie </span>na podstawie zawartości pliku <span +class="ec-lmtt-10">ls-R</span>). Jest to wygodny sposób na uruchamianie +dwóch równoległych struktur <span class="TEX">T<span +class="E">E</span>X</span>-owych, jednej „zamrożonej” (np. na CD), a drugiej ciągle uaktualnianej +nowo pojawiającymi się wersjami. Używając zmiennej <span +class="ec-lmtt-10">$TEXMF </span>we wszystkich definicjach daje pewność, że +najpierw przeszukiwane jest drzewo uaktualnione. +<!--l. 2460--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">8.1.6. </span> <a + id="x1-640008.1.6"></a>Rozwijanie podkatalogów</h5> +<!--l. 2463--><p class="noindent" >Dwa lub więcej kolejnych „ciachów” („/”) w elemencie ścieżki, występujących po nazwie katalogu <span +class="ec-lmro-10">d</span>, +zastępowanych jest przez wszystkie podkatalogi <span +class="ec-lmro-10">d</span>, najpierw podkatalogi znajdujące się bezpośrednio pod <span +class="ec-lmro-10">d</span>, +potem te pod powyższymi i tak dalej. Na każdym etapie kolejność, w jakiej przeszukiwane są katalogi, jest +<span +class="ec-lmri-10">nieokre</span><span +class="ec-lmri-10">ślona</span>. +<!--l. 2469--><p class="indent" > Jeśli wyszczególni się człony nazwy pliku po „<span +class="ec-lmtt-10">//</span>”, to uwzględnione zostaną tylko te podkatalogi, które +zawierają powyższe człony. Na przykład „<span +class="ec-lmtt-10">/a//b</span>” rozwija się do katalogów <span +class="ec-lmtt-10">/a/1/b</span>, <span +class="ec-lmtt-10">/a/2/b</span>, <span +class="ec-lmtt-10">/a/1/1/b </span>itd., ale +nie do <span +class="ec-lmtt-10">/a/b/c </span>czy <span +class="ec-lmtt-10">/a/1</span>. +<!--l. 2474--><p class="indent" > Możliwe jest wielokrotne użycie „<span +class="ec-lmtt-10">//</span>” w ścieżce, jednakże „<span +class="ec-lmtt-10">//</span>” występujące na początku ścieżki nie jest +brane pod uwagę. +<!--l. 2477--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">8.1.7. </span> <a + id="x1-650008.1.7"></a>Lista znaków specjalnych i ich znaczeń – podsumowanie</h5> +<!--l. 2479--><p class="noindent" >Poniższa lista podsumowuje znaczenie znaków specjalnych w plikach konfiguracyjnych. +<!--l. 2483--><p class="indent" > + <dl class="description"><dt class="description"> +<span +class="ec-lmtk-10">:</span> </dt><dd +class="description">znak rozdzielający w specyfikacji ścieżki; umieszczony na początku lub na końcu ścieżki + zastępuje domyślne rozwinięcie ścieżki; + </dd><dt class="description"> +<span +class="ec-lmtk-10">;</span> </dt><dd +class="description">znak rozdzielający dla systemów nieuniksowych (działa tak jak „<span +class="ec-lmtt-10">:</span>”); + </dd><dt class="description"> +<span +class="ec-lmtk-10">$</span> </dt><dd +class="description">rozwijanie zmiennej; + </dd><dt class="description"> +<span +class="ec-lmtk-10">~</span> </dt><dd +class="description">oznacza katalog główny użytkownika; + </dd><dt class="description"> +<span +class="ec-lmtk-10">{</span><span +class="ec-lmtk-10">…}</span> </dt><dd +class="description">rozwijanie nawiasów, np. <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">a{1,2}b</span></span></span> zmieni się w <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">a1b:a2b</span></span></span>; + </dd><dt class="description"> +<span +class="ec-lmtk-10">//</span> </dt><dd +class="description">rozwijanie podkatalogów (może wystąpić gdziekolwiek w ścieżce, poza jej początkiem); + </dd><dt class="description"> +<span +class="ec-lmtk-10">%</span> </dt><dd +class="description">początek komentarza, obejmującego wszystkie znaki do końca linii; + </dd><dt class="description"> +<span +class="ec-lmtt-10">\</span> </dt><dd +class="description">znak kontynuacji (pozwala na przełamanie wiersza z wyrażeniem); + </dd><dt class="description"> +<span +class="ec-lmtk-10">!!</span> </dt><dd +class="description">przeszukiwanie <span +class="ec-lmri-10">tylko </span>bazy danych, a <span +class="ec-lmri-10">nie </span>dysku.</dd></dl> + + +<!--l. 2503--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">8.2. </span> <a + id="x1-660008.2"></a>Bazy nazw plików</h4> +<!--l. 2506--><p class="noindent" >Podczas przeszukiwania Kpathsea stara się zminimalizować dostęp do dysku. Niemniej, w przypadku instalacji +ze zbyt dużą liczbą katalogów przeglądanie każdego dopuszczalnego katalogu w poszukiwaniu pliku może +zabierać sporo czasu (ma to miejsce zwłaszcza, jeżeli przeszukać trzeba setki katalogów z fontami). +Dlatego też Kpathsea może używać zewnętrznego pliku z „bazą danych” o nazwie <span +class="ec-lmtt-10">ls-R</span>, który +zawiera przypisania plików do katalogów. Unika się w ten sposób czasochłonnego przeszukiwania +dysku. +<!--l. 2515--><p class="indent" > Drugi plik z bazą danych – <span +class="ec-lmtt-10">aliases </span>– pozwala na nadawanie dodatkowych nazw plikom zawartym w <span +class="ec-lmtt-10">ls-R</span>. +Może to być pomocne do adaptacji do DOS-owej konwencji „8.3” nazewnictwa plików w plikach +źródłowych. +<!--l. 2520--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">8.2.1. </span> <a + id="x1-670008.2.1"></a>Baza nazw plików</h5> +<!--l. 2523--><p class="noindent" >Jak wspomniano, plik zawierający główną bazę nazw plików musi nosić nazwę <span +class="ec-lmtt-10">ls-R</span>. W katalogu +podstawowym każdej hierarchii <span class="TEX">T<span +class="E">E</span>X</span>-owej (domyślnie <span +class="ec-lmtt-10">$TEXMF</span>), którą chcemy włączyć w mechanizm +przeszukiwania, umieszczać można po jednym pliku <span +class="ec-lmtt-10">ls-R</span>; w większości przypadków istnieje tylko jedna +hierarchia. Kpathsea szuka pliku <span +class="ec-lmtt-10">ls-R </span>w ścieżce <span +class="ec-lmtt-10">TEXMFDBS</span>. +<!--l. 2530--><p class="indent" > Najlepszym sposobem stworzenia i utrzymywania pliku <span +class="ec-lmtt-10">ls-R </span>jest uruchomienie skryptu <span +class="ec-lmtt-10">mktexlsr</span>, +będącego składnikiem dystrybucji. Jest on wywoływany przez różne skrypty typu „<span +class="ec-lmtt-10">mktex...</span>”. W zasadzie +skrypt ten jedynie wykonuje polecenie <div class="alltt"> +<!--l. 2534--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">cd</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmro-10">/your/texmf/root</span><span +class="ec-lmtt-10"> &&</span><span +class="ec-lmtt-10"> ls</span><span +class="ec-lmtt-10"> -LAR</span><span +class="ec-lmtt-10"> ./</span><span +class="ec-lmtt-10"> >ls-R</span> +</div> +</div> zakładając, że polecenie <span +class="ec-lmtt-10">ls </span>danego systemu utworzy właściwy format strumienia wyjściowego (GNU <span +class="ec-lmtt-10">ls</span> +działa prawidłowo). Aby mieć pewność, że baza danych jest zawsze aktualna, wygodnie jest przebudowywać +ją regularnie za pomocą demona <span +class="ec-lmtt-10">cron</span>. +<!--l. 2545--><p class="indent" > Jeśli pliku nie ma w bazie danych, Kpathsea domyślnie przechodzi do przeszukiwania dysku. Jeżeli jednak +dany element ścieżki zaczyna sie od „<span +class="ec-lmtt-10">!!</span>”, to w poszukiwaniu tego elementu sprawdzona zostanie <span +class="ec-lmri-10">jedynie </span>baza +danych, a nigdy dysk. +<!--l. 2550--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">8.2.2. </span> <a + id="x1-680008.2.2"></a>kpsewhich – program do przeszukiwania ścieżek</h5> +<!--l. 2553--><p class="noindent" >Przeszukiwanie ścieżek przez program <span +class="ec-lmtt-10">kpsewhich </span>jest niezależne od jakiejkolwiek aplikacji. Może on być +przydatny jako rodzaj programu <span +class="ec-lmtt-10">find</span>, za pomocą którego lokalizować można pliki w hierarchiach <span class="TEX">T<span +class="E">E</span>X</span>-owych +(jest on używany intensywnie w skryptach „<span +class="ec-lmtt-10">mktex...</span>” tej dystrybucji). + <div class="alltt"> +<!--l. 2559--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> </span><span +class="ec-lmro-10">opcje</span><span +class="ec-lmtk-10">…</span><span +class="ec-lmtk-10"> </span><span +class="ec-lmro-10">nazwa-pliku</span><span +class="ec-lmtk-10">…</span> +</div> +</div> Parametry wyszczególnione w „<span +class="ec-lmro-10">opcje</span>” mogą zaczynać się zarówno od „<span +class="ec-lmtt-10">-</span>”, jak i od „<span +class="ec-lmtt-10">--</span>”, a dozwolony jest +każdy jednoznaczny skrót. +<!--l. 2565--><p class="indent" > Kpathsea traktuje każdy argument niebędący parametrem jako nazwę pliku i zwraca pierwszą odnalezioną +nazwę. Nie ma parametru nakazującego zwracanie wszystkich nazw plików o określonej nazwie (w tym celu +można wykorzystać Unix-owy program „<span +class="ec-lmtt-10">find</span>”). +<!--l. 2570--><p class="indent" > Oto ważniejsze parametry. +<!--l. 2572--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span +class="ec-lmtt-10">--dpi=</span><span +class="ec-lmro-10">num</span> </dt><dd +class="list"> + <!--l. 2573--><p class="noindent" ><br +class="newline" />Ustaw rozdzielczość na „<span +class="ec-lmro-10">num</span>”; ma to tylko wpływ na przeszukiwanie fontów „<span +class="ec-lmtt-10">gf</span>” i „<span +class="ec-lmtt-10">pk</span>”. Dla + zgodności z <span +class="ec-lmss-10">dvips </span>parametr „<span +class="ec-lmtt-10">-D</span>” działa identycznie. Domyślną wartością jest 600. + + + </dd><dt class="list"> + <span +class="ec-lmtt-10">--format=</span><span +class="ec-lmro-10">nazwa</span> </dt><dd +class="list"> + <!--l. 2578--><p class="noindent" ><br +class="newline" />Ustawienie formatu (typu pliku) przeszukiwania na „<span +class="ec-lmro-10">nazwa</span>”. Domyślnie format odgadywany jest + z nazwy pliku. Dla formatów, które nie mają przydzielonego jednoznacznego rozszerzenia, takich + jak niektóre pliki MetaPost-owe czy pliki konfiguracyjne <span +class="ec-lmss-10">dvips</span>-a, należy wyszczególnić nazwę, + których listę wyświetli uruchomienie <span +class="ec-lmtt-10">kpsewhich --help</span>. + </dd><dt class="list"> + <span +class="ec-lmtt-10">--mode=</span><span +class="ec-lmro-10">napis</span> </dt><dd +class="list"> + <!--l. 2586--><p class="noindent" ><br +class="newline" />Ustaw nazwę trybu na „<span +class="ec-lmro-10">napis</span>”; dotyczy to jedynie szukania fontów „<span +class="ec-lmtt-10">gf</span>” oraz „<span +class="ec-lmtt-10">pk</span>”. Brakuje + wartości domyślnej – odnaleziony zostanie dowolny wyszczególniony tryb. + </dd><dt class="list"> + <span +class="ec-lmtt-10">--must-exist</span> </dt><dd +class="list"> + <!--l. 2591--><p class="noindent" ><br +class="newline" />Zrób wszystko co możliwe, aby odnaleźć pliki, włączając w to przede wszystkim przeszukanie + dysku. Domyślnie, w celu zwiększeniu efektywności działania, sprawdzana jest tylko baza <span +class="ec-lmtt-10">ls-R</span>. + </dd><dt class="list"> + <span +class="ec-lmtt-10">--path=</span><span +class="ec-lmro-10">napis</span> </dt><dd +class="list"> + <!--l. 2596--><p class="noindent" ><br +class="newline" />Szukaj w ścieżce „<span +class="ec-lmro-10">napis</span>” (rozdzielonej, jak zwykle, dwukropkami), zamiast zgadywać ścieżkę + przeszukiwania z nazwy pliku. „<span +class="ec-lmtt-10">//</span>” i wszystkie zwykłe rozszerzenia są możliwe. Parametry + „<span +class="ec-lmtt-10">--path</span>” oraz „<span +class="ec-lmtt-10">--format</span>” wzajemnie się wykluczają. + </dd><dt class="list"> + <span +class="ec-lmtt-10">--progname=</span><span +class="ec-lmro-10">nazwa</span> </dt><dd +class="list"> + <!--l. 2602--><p class="noindent" ><br +class="newline" />Ustaw nazwę programu na „<span +class="ec-lmro-10">nazwa</span>”. Może to mieć wpływ na ścieżkę przeszukiwania poprzez + „<span +class="ec-lmtt-10">.</span><span +class="ec-lmro-10">program</span>” w plikach konfiguracyjnych. Ustawieniem domyślnym jest „<span +class="ec-lmtt-10">kpsewhich</span>”. + </dd><dt class="list"> + <span +class="ec-lmtt-10">--show-path=</span><span +class="ec-lmro-10">nazwa</span> </dt><dd +class="list"> + <!--l. 2607--><p class="noindent" ><br +class="newline" />Pokazuje ścieżkę używaną do poszukiwania plików typu „<span +class="ec-lmro-10">nazwa</span>”. Użyć można zarówno + rozszerzenia („<span +class="ec-lmtt-10">.pk</span>”, „<span +class="ec-lmtt-10">.vf</span>”, etc.), jak i nazwy pliku, tak jak w wypadku parametru „<span +class="ec-lmtt-10">--format</span>”. + </dd><dt class="list"> + <span +class="ec-lmtt-10">--debug=</span><span +class="ec-lmro-10">num</span> </dt><dd +class="list"> + <!--l. 2612--><p class="noindent" ><br +class="newline" />ustawia parametry wykrywania błędów na „<span +class="ec-lmro-10">num</span>”.</dd></dl> +<!--l. 2621--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">8.2.3. </span> <a + id="x1-690008.2.3"></a>Przykłady użycia</h5> +<!--l. 2624--><p class="noindent" >Przyjrzyjmy sie teraz, jak działa Kpathsea. + <div class="alltt"> +<!--l. 2626--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> </span><span +class="ec-lmtk-10"> article.cls</span> +<br /><span +class="ec-lmtt-10">/usr/local/texmf-dist/tex/latex/base/article.cls</span> +</div> +</div> Szukamy tu pliku <span +class="ec-lmtt-10">article.cls</span>. Ponieważ rozszerzenie „<span +class="ec-lmtt-10">.cls</span>” jest jednoznaczne, nie musimy zaznaczać, że +poszukujemy pliku typu „tex” (katalogi plików źródłowych <span class="TEX">T<span +class="E">E</span>X</span>-a). Znajdujemy go w podkatalogu +<span +class="ec-lmtt-10">tex/latex/base</span>, pod katalogiem nadrzędnym „<span +class="ec-lmtt-10">texmf-dist</span>”. Podobnie wszystkie poniższe pliki odnajdywane +są bezproblemowo dzięki swoim jednoznacznym rozszerzeniom: <div class="alltt"> + + +<!--l. 2637--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> array.sty</span> +<br /><span +class="ec-lmtt-10">/usr/local/texmf-dist/tex/latex/tools/array.sty</span> +<br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> latin1.def</span> +<br /><span +class="ec-lmtt-10">/usr/local/texmf-dist/tex/latex/base/latin1.def</span> +<br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> size10.clo</span> +<br /><span +class="ec-lmtt-10">/usr/local/texmf-dist/tex/latex/base/size10.clo</span> +<br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> small2e.tex</span> +<br /><span +class="ec-lmtt-10">/usr/local/texmf-dist/tex/latex/base/small2e.tex</span> +<br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> tugboat.bib</span> +<br /><span +class="ec-lmtt-10">/usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib</span> +</div> +</div> +<!--l. 2650--><p class="noindent" >(ostatni plik to BibTeX-owa baza bibliograficzna dla artykułów <span +class="ec-lmri-10">TUGBoat</span>). + <div class="alltt"> +<!--l. 2653--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> cmr10.pk</span> +</div> +</div> Pliki czcionek bitmapowych typu <span +class="ec-lmtt-10">.pk </span>używane są przez sterowniki, takie jak <span +class="ec-lmss-10">dvips </span>czy <span +class="ec-lmss-10">xdvi</span>. W tym wypadku +wynik przeszukiwania okaże się pusty, ponieważ w systemie brak gotowych wygenerowanych czcionek „<span +class="ec-lmtt-10">.pk</span>” +Computer Modern (wynika to z faktu używania w <span class="TEX">T<span +class="E">E</span>X</span> Live fontów PostScript-owych Type1). +<div class="alltt"> +<!--l. 2663--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> wsuipa10.pk</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk</span> +</div> +</div> Dla tych fontów (alfabetu fonetycznego) musieliśmy wygenerować pliki „<span +class="ec-lmtt-10">.pk</span>”, a ponieważ domyślnym +Metafont-owym trybem naszej instalacji jest <span +class="ec-lmtt-10">ljfour </span>z podstawową rozdzielczością 600dpi, zwracany jest taki +właśnie wynik. <div class="alltt"> +<!--l. 2673--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> -dpi=300</span><span +class="ec-lmtk-10"> wsuipa10.pk</span> +</div> +</div> W tym wypadku, kiedy zaznaczamy, że interesuje nas rozdzielczość 300dpi (<span +class="ec-lmtt-10">-dpi=300</span>), to widzimy, że +w naszej instalacji taka czcionka nie jest dostępna. Program taki jak <span +class="ec-lmss-10">dvips </span>czy <span +class="ec-lmss-10">xdvi </span>zatrzymałby się, aby +utworzyć pliki <span +class="ec-lmtt-10">.pk </span>w wymaganej rozdzielczości (używając skryptu <span +class="ec-lmss-10">mktexpk</span>). +<!--l. 2683--><p class="indent" > Przeanalizujmy teraz pliki nagłówkowe i konfiguracyjne programu <span +class="ec-lmss-10">dvips</span>. Najpierw szukamy pliku +PostScript-owego prologu <span +class="ec-lmtt-10">tex.pro</span>, wykorzystywanego dla potrzeb <span class="TEX">T<span +class="E">E</span>X</span>-a. Drugi przykład pokazuje +poszukiwanie pliku konfiguracyjnego <span +class="ec-lmtt-10">config.ps</span>, zaś trzeci – szukanie pliku mapy czcionek PostScriptowych +<span +class="ec-lmtt-10">psfonts.map </span>(począwszy od obecnej edycji, pliki <span +class="ec-lmtt-10">.map </span>i <span +class="ec-lmtt-10">.enc </span>mają własne reguły przeszukiwania ścieżek +i zmienione położenie w ramach drzew <span +class="ec-lmtt-10">texmf</span>). Ponieważ rozszerzenie „<span +class="ec-lmtt-10">.ps</span>” nie jest jednoznaczne, +musimy wyraźnie zaznaczyć, jaki typ jest wymagany dla pliku <span +class="ec-lmtt-10">config.ps </span>(„<span +class="ec-lmtt-10">dvips config</span>”). +<div class="alltt"> +<!--l. 2695--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> tex.pro</span> +<br /><span +class="ec-lmtt-10">/usr/local/texmf/dvips/base/tex.pro</span> +<br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> --format="dvips</span><span +class="ec-lmtk-10"> config"</span><span +class="ec-lmtk-10"> config.ps</span> +<br /><span +class="ec-lmtt-10">/usr/local/texmf-var/dvips/config/config.ps</span> +<br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> psfonts.map</span> +<br /><span +class="ec-lmtt-10">/usr/local/texmf-var/fonts/map/dvips/updmap/psfonts.map</span> + + +</div> +</div> +<!--l. 2704--><p class="indent" > Następnie przyjrzyjmy się bliżej plikom pomocniczym fontów Times z kolekcji URW. W standardzie +nazewnictwa fontów mają one prefiks „<span +class="ec-lmtt-10">utm</span>”. Pierwszy plik, którego szukamy, to plik konfiguracyjny, +zawierający nazwę pliku z przemapowaniem fontów: <div class="alltt"> +<!--l. 2708--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> --format="dvips</span><span +class="ec-lmtk-10"> config"</span><span +class="ec-lmtk-10"> config.utm</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-dist/dvips/psnfss/config.utm</span> +</div> +</div> W pliku tym znajduje się wiersz: <div class="alltt"> +<!--l. 2713--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> p</span><span +class="ec-lmtt-10"> +utm.map</span> +</div> +</div> wskazujący na plik <span +class="ec-lmtt-10">utm.map</span>, który chcemy zlokalizować w następnej kolejności: <div class="alltt"> +<!--l. 2718--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> utm.map</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-dist/fonts/map/dvips/times/utm.map</span> +</div> +</div> Plik z przemapowaniem definiuje nazwy czcionek PostScriptowych Type1 w zestawie fontów URW, zaś jego +zawartość wygląda następująco (pokazane są tylko fragmenty wierszy): <div class="alltt"> +<!--l. 2725--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">utmb8r</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> NimbusRomNo9L-Medi</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> ...</span><span +class="ec-lmtt-10"> <utmb8a.pfb</span> +<br /><span +class="ec-lmtt-10">utmbi8r</span><span +class="ec-lmtt-10"> NimbusRomNo9L-MediItal...</span><span +class="ec-lmtt-10"> <utmbi8a.pfb</span> +<br /><span +class="ec-lmtt-10">utmr8r</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> NimbusRomNo9L-Regu</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> ...</span><span +class="ec-lmtt-10"> <utmr8a.pfb</span> +<br /><span +class="ec-lmtt-10">utmri8r</span><span +class="ec-lmtt-10"> NimbusRomNo9L-ReguItal...</span><span +class="ec-lmtt-10"> <utmri8a.pfb</span> +<br /><span +class="ec-lmtt-10">utmbo8r</span><span +class="ec-lmtt-10"> NimbusRomNo9L-Medi</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> ...</span><span +class="ec-lmtt-10"> <utmb8a.pfb</span> +<br /><span +class="ec-lmtt-10">utmro8r</span><span +class="ec-lmtt-10"> NimbusRomNo9L-Regu</span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> ...</span><span +class="ec-lmtt-10"> <utmr8a.pfb</span> +</div> +</div> Używając przeszukiwania plików z fontami Type1, znajdźmy font Times Roman <span +class="ec-lmtt-10">utmr8a.pfb </span>w drzewie +katalogów <span +class="ec-lmtt-10">texmf</span>: <div class="alltt"> +<!--l. 2735--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">kpsewhich</span><span +class="ec-lmtk-10"> utmr8a.pfb</span> +<br /><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtt-10"> /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb</span> +</div> +</div> +<!--l. 2742--><p class="indent" > Powyższe przykłady pokazują, jak łatwo można znajdować lokalizację danego pliku. Jest to ważne +zwłaszcza wówczas, gdy istnieje podejrzenie, że gdzieś zawieruszyła się błędna wersja jakiegoś pliku; <span +class="ec-lmss-10">kpsewhich</span> +pokaże tylko pierwszy napotkany plik. +<!--l. 2747--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">8.2.4. </span> <a + id="x1-700008.2.4"></a>Diagnostyka błędów</h5> +<!--l. 2750--><p class="noindent" >Czasami niezbędne są informacje o tym, jak program sobie radzi z odniesieniami do plików. Aby dało się je +uzyskać w wygodny sposób, Kpathsea oferuje różne poziomy diagnostyki błędów: + <ul class="itemize1"> + <li class="itemize">wywołania <span +class="ec-lmtt-10">stat </span>(testy pliku). Podczas uruchamiania z uaktualnioną bazą danych <span +class="ec-lmtt-10">ls-R </span>nie + powinno to przeważnie dawać żadnego wyniku. + + + </li> + <li class="itemize">Zapis odwołań do tablic asocjacyjnych (<span +class="ec-lmri-10">hash tables</span>), takich jak baza <span +class="ec-lmtt-10">ls-R</span>, pliki przemapowań, + pliki konfiguracyjne. + </li> + <li class="itemize">Operacje otwarcia i zamknięcia pliku. + </li> + <li class="itemize">Ogólne informacje o ścieżkach dla typów plików szukanych przez Kpathsea; użyteczne do + znalezienia ścieżki zdefiniowanej dla danego pliku. + </li> + <li class="itemize">Lista katalogów dla każdego z elementów ścieżki (odnosi się tylko do poszukiwań na dysku). + </li> + <li class="itemize">Poszukiwania plików.</li></ul> +<!--l. 2767--><p class="noindent" >Wartość <span +class="ec-lmtt-10">-1 </span>ustawia wszystkie powyższe opcje – w praktyce, poszukując przyczyny błędów, prawdopodobnie +będziesz zawsze używać tych poziomów. +<!--l. 2771--><p class="indent" > Podobnie w przypadku programu <span +class="ec-lmss-10">dvips</span>, ustawiając kombinację przełączników wykrywania błędów, można +dokładnie śledzić, skąd pochodzą pliki. W sytuacji gdy plik nie zostanie odnaleziony, widać, +w których katalogach program szukał danego pliku, dzięki czemu można się zorientować, w czym +problem. +<!--l. 2777--><p class="indent" > Ogólnie mówiąc, ponieważ programy odwołują się wewnętrznie do biblioteki Kpathsea, opcje wykrywania +błędów można wybrać przy użyciu zmiennej środowiskowej <span +class="ec-lmtt-10">KPATHSEA_DEBUG</span>, ustawiając ją na opisaną +powyżej wartość (kombinację wartości). +<!--l. 2782--><p class="noindent" ><span +class="ec-lmbx-10">Uwaga dla u</span><span +class="ec-lmbx-10">żytkownik</span><span +class="ec-lmbx-10">ów Windows: </span>w systemie tym niełatwo przekierować komunikaty programu do +pliku. Do celów diagnostycznych można chwilowo ustawić zmienne (w oknie CMD): + + + <div class="verbatim" id="verbatim-8"> + <div class="fancyvrb" id="fancyvrb21"><a + id="x1-70002r1"></a>  SET KPATHSEA_DEBUG_OUTPUT=err.log<br class="fancyvrb" /><a + id="x1-70004r2"></a>  SET KPATHSEA_DEBUG=-1</div> +</div> +<!--l. 2789--><p class="nopar" > +<!--l. 2791--><p class="indent" > Rozważmy na przykład mały <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>-owy plik źródłowy <span +class="ec-lmtt-10">hello-world.tex</span>, który zawiera: + + + <div class="verbatim" id="verbatim-9"> + <div class="fancyvrb" id="fancyvrb22"><a + id="x1-70006r1"></a>    \documentclass{article}<br class="fancyvrb" /><a + id="x1-70008r2"></a>    \begin{document}<br class="fancyvrb" /><a + id="x1-70010r3"></a>    Hello World!<br class="fancyvrb" /><a + id="x1-70012r4"></a>    \end{document}</div> +</div> +<!--l. 2798--><p class="nopar" >Ten mały plik korzysta jedynie z fontu <span +class="ec-lmtt-10">cmr10</span>. Przyjrzyjmy się, jak <span +class="ec-lmss-10">dvips </span>przygotowuje plik PostScript-owy +(chcemy użyć wersji Type1 fontu Computer Modern, stąd opcja <span +class="ec-lmtt-10">-Pcms</span>). <div class="alltt"> +<!--l. 2802--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">dvips</span><span +class="ec-lmtk-10"> -d4100</span><span +class="ec-lmtk-10"> hello-world</span><span +class="ec-lmtk-10"> -Pcms</span><span +class="ec-lmtk-10"> -o</span> +</div> +</div> Mamy tu do czynienia jednocześnie z czwartą klasą wykrywania błędów programu <span +class="ec-lmss-10">dvips </span>(ścieżki +fontowe) oraz z rozwijaniem elementu ścieżki przez Kpathsea (patrz: <span +class="ec-lmri-10">Dvips Reference Manual</span>, +<a +href="../../../../texmf/doc/dvips/dvips.pdf" >texmf/doc/dvips/dvips.pdf</a>). Komunikaty z uruchomienia programu (nieco zmodyfikowane) znajdują się +na rys. <a +href="#x1-70035r12">12<!--tex4ht:ref: fig:dvipsdbga --></a>. +<!--l. 2811--><p class="indent" > <a + id="x1-70035r12"></a><a + id="x1-70040r13"></a><a + id="x1-70053r14"></a><hr class="float"><div class="float" +> + + +<div class="BVerbatimInput"><span +class="ec-lmtt-9">debug:start</span><span +class="ec-lmtt-9"> search(file=texmf.cnf,</span><span +class="ec-lmtt-9"> must_exist=1,</span><span +class="ec-lmtt-9"> find_all=1,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:/usr/local/bin/texlive:/usr/local/bin:</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> /usr/local/bin/texmf/web2c:/usr/local:</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> /usr/local/texmf/web2c:/.:/./teTeX/TeX/texmf/web2c:).</span><br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=ls-R,</span><span +class="ec-lmtt-9"> must_exist=1,</span><span +class="ec-lmtt-9"> find_all=1,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=~/tex:/usr/local/texmf).</span><br /><span +class="ec-lmtt-9">kdebug:search(ls-R)</span><span +class="ec-lmtt-9"> =>/usr/local/texmf/ls-R</span><br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=aliases,</span><span +class="ec-lmtt-9"> must_exist=1,</span><span +class="ec-lmtt-9"> find_all=1,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=~/tex:/usr/local/texmf).</span><br /><span +class="ec-lmtt-9">kdebug:search(aliases)</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> /usr/local/texmf/aliases</span><br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=config.ps,</span><span +class="ec-lmtt-9"> must_exist=0,</span><span +class="ec-lmtt-9"> find_all=0,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex:!!/usr/local/texmf/dvips//).</span><br /><span +class="ec-lmtt-9">kdebug:search(config.ps)</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> /usr/local/texmf/dvips/config/config.ps</span><br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=/root/.dvipsrc,</span><span +class="ec-lmtt-9"> must_exist=0,</span><span +class="ec-lmtt-9"> find_all=0,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex:!!/usr/local/texmf/dvips//).</span><br /><span +class="ec-lmtt-9">search(file=/home/goossens/.dvipsrc,</span><span +class="ec-lmtt-9"> must_exist=1,</span><span +class="ec-lmtt-9"> find_all=0,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//).</span><br /><span +class="ec-lmtt-9">kdebug:search($HOME/.dvipsrc)</span><span +class="ec-lmtt-9"> =></span><br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=config.cms,</span><span +class="ec-lmtt-9"> must_exist=0,</span><span +class="ec-lmtt-9"> find_all=0,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//).</span><br /><span +class="ec-lmtt-9">kdebug:search(config.cms)</span><br /><span +class="ec-lmtt-9">=>/usr/local/texmf/dvips/cms/config.cms</span></div> + <div class="caption" +><span class="id">Rysunek 12: </span><span +class="content">Szukanie pliku konfiguracyjnego</span></div><!--tex4ht:label?: x1-70035r12 --> +<div class="BVerbatimInput"><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=texc.pro,</span><span +class="ec-lmtt-9"> must\_exist=0,</span><span +class="ec-lmtt-9"> find\_all=0,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).</span><br /><span +class="ec-lmtt-9">kdebug:search(texc.pro)</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> /usr/local/texmf/dvips/base/texc.pro</span></div> + <div class="caption" +><span class="id">Rysunek 13: </span><span +class="content">Szukanie pliku prologu</span></div><!--tex4ht:label?: x1-70040r13 --> +<div class="BVerbatimInput"><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=cmr10.tfm,</span><span +class="ec-lmtt-9"> must\_exist=1,</span><span +class="ec-lmtt-9"> find\_all=0,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//:</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> /var/tex/fonts/tfm//).</span><br /><span +class="ec-lmtt-9">kdebug:search(cmr10.tfm)</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm</span><br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=texps.pro,</span><span +class="ec-lmtt-9"> must\_exist=0,</span><span +class="ec-lmtt-9"> find\_all=0,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ...</span><br /><span +class="ec-lmtt-9"><texps.pro></span><br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=cmr10.pfb,</span><span +class="ec-lmtt-9"> must\_exist=0,</span><span +class="ec-lmtt-9"> find\_all=0,</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:</span><br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).</span><br /><span +class="ec-lmtt-9">kdebug:search(cmr10.pfb)</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb</span><br /><span +class="ec-lmtt-9"><cmr10.pfb>[1]</span></div> + <div class="caption" +><span class="id">Rysunek 14: </span><span +class="content">Szukanie pliku fontu</span></div><!--tex4ht:label?: x1-70053r14 --> + + + </div><hr class="endfloat" /> +<!--l. 2826--><p class="indent" > Program <span +class="ec-lmss-10">dvips </span>zaczyna pracę od zlokalizowania potrzebnych mu plików. Najpierw znajduje plik <span +class="ec-lmtt-10">texmf.cnf</span>, +który zawiera ścieżki przeszukiwania dla innych plików. Potem znajduje bazę danych <span +class="ec-lmtt-10">ls-R </span>(w celu +optymalizacji szukania plików), następnie plik <span +class="ec-lmtt-10">aliases</span>, który umożliwia deklarowanie różnych nazw (np. +krótkie DOS-owe „8.3” i bardziej naturalne dłuższe wersje) dla tych samych plików. Następnie +<span +class="ec-lmss-10">dvips </span>znajduje podstawowy plik konfiguracyjny <span +class="ec-lmtt-10">config.ps</span>, zanim poszuka pliku z ustawieniami +użytkownika <span +class="ec-lmtt-10">.dvipsrc </span>(który w tym wypadku <span +class="ec-lmri-10">nie </span>zostaje odnaleziony). W końcu <span +class="ec-lmss-10">dvips </span>lokalizuje plik +konfiguracyjny <span +class="ec-lmtt-10">config.cms </span>dla fontów PostScript-owych Computer Modern (jest to inicjowane przez +dodanie parametru <span +class="ec-lmtt-10">-Pcms </span>przy uruchamianiu programu). Plik ten zawiera listę plików z „mapami”, +które definiują relacje pomiędzy <span class="TEX">T<span +class="E">E</span>X</span>-owymi, PostScript-owymi i systemowymi nazwami fontów. +<div class="alltt"> +<!--l. 2840--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">more</span><span +class="ec-lmtk-10"> /usr/local/texmf/dvips/config/config.cms</span> +<br /><span +class="ec-lmtt-10">p</span><span +class="ec-lmtt-10"> +ams.map</span> +<br /><span +class="ec-lmtt-10">p</span><span +class="ec-lmtt-10"> +cms.map</span> +<br /><span +class="ec-lmtt-10">p</span><span +class="ec-lmtt-10"> +cmbkm.map</span> +<br /><span +class="ec-lmtt-10">p</span><span +class="ec-lmtt-10"> +amsbkm.map</span> +</div> +</div> W ten sposób <span +class="ec-lmss-10">dvips </span>wyszukuje wszystkie te pliki oraz główny plik z przemapowaniem <span +class="ec-lmtt-10">psfonts.map</span>, który +ładowany jest domyślnie (zawiera on deklaracje często używanych fontów postscriptowych; więcej szczegółów +na temat postscriptowych plików przemapowań fontów można znaleźć w ostatniej części rozdziału +<a +href="#x1-690008.2.3">8.2.3<!--tex4ht:ref: SExamplesofuse --></a>). +<!--l. 2854--><p class="indent" > W tym miejscu <span +class="ec-lmss-10">dvips </span>zgłasza się użytkownikowi: <div class="alltt"> +<!--l. 2855--><p class="noindent" ><div class="obeylines-v"> +<br /><span +class="ec-lmtt-10">This</span><span +class="ec-lmtt-10"> is</span><span +class="ec-lmtt-10"> dvips</span><span +class="ec-lmtt-10"> 5.92b</span><span +class="ec-lmtt-10"> Copyright</span><span +class="ec-lmtt-10"> 2002</span><span +class="ec-lmtt-10"> Radical</span><span +class="ec-lmtt-10"> Eye</span><span +class="ec-lmtt-10"> Software</span><span +class="ec-lmtt-10"> (www.radicaleye.com)</span> +</div> +</div>…potem szuka pliku prologu <span +class="ec-lmtt-10">texc.pro</span>: <div class="alltt"> +<!--l. 2861--><p class="noindent" ><div class="obeylines-v"> +<br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=texc.pro,</span><span +class="ec-lmtt-9"> must_exist=0,</span><span +class="ec-lmtt-9"> find_all=0,</span> +<br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:</span> +<br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).</span> +<br /><span +class="ec-lmtt-9">kdebug:search(texc.pro)</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> /usr/local/texmf/dvips/base/texc.pro</span> +</div> +</div> Po znalezieniu szukanego pliku <span +class="ec-lmss-10">dvips </span>podaje datę i czas oraz informuje o generowaniu pliku <span +class="ec-lmtt-10">hello-world.ps</span>. +Ponieważ potrzebuje pliku z fontem <span +class="ec-lmtt-10">cmr10</span>, a jest on zadeklarowany jako dostępny, wyświetla komunikat: +<div class="alltt"> +<!--l. 2876--><p class="noindent" ><div class="obeylines-v"> +<br /><span +class="ec-lmtt-9">TeX</span><span +class="ec-lmtt-9"> output</span><span +class="ec-lmtt-9"> 1998.02.26:1204’</span><span +class="ec-lmtt-9"> -></span><span +class="ec-lmtt-9"> hello-world.ps</span> +<br /><span +class="ec-lmtt-9">Defining</span><span +class="ec-lmtt-9"> font</span><span +class="ec-lmtt-9"> ()</span><span +class="ec-lmtt-9"> cmr10</span><span +class="ec-lmtt-9"> at</span><span +class="ec-lmtt-9"> 10.0pt</span> +<br /><span +class="ec-lmtt-9">Font</span><span +class="ec-lmtt-9"> cmr10</span><span +class="ec-lmtt-9"> <CMR10></span><span +class="ec-lmtt-9"> is</span><span +class="ec-lmtt-9"> resident.</span> +</div> +</div> Teraz trwa poszukiwanie pliku <span +class="ec-lmtt-10">cmr10.tfm</span>, który zostaje znaleziony, po czym <span +class="ec-lmss-10">dvips </span>powołuje się na kilka +innych plików startowych (nie pokazanych). W końcu przykładowy font Type1 <span +class="ec-lmtt-10">cmr10.pfb </span>zostaje +zlokalizowany i dołączony do pliku wynikowego (patrz ostatnia linia): <div class="alltt"> +<!--l. 2885--><p class="noindent" ><div class="obeylines-v"> +<br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=cmr10.tfm,</span><span +class="ec-lmtt-9"> must_exist=1,</span><span +class="ec-lmtt-9"> find_all=0,</span> +<br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//:</span> +<br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> /var/tex/fonts/tfm//).</span> +<br /><span +class="ec-lmtt-9">kdebug:search(cmr10.tfm)</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm</span> + + +<br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=texps.pro,</span><span +class="ec-lmtt-9"> must_exist=0,</span><span +class="ec-lmtt-9"> find_all=0,</span> +<br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ...</span> +<br /><span +class="ec-lmtt-9"><texps.pro></span> +<br /><span +class="ec-lmtt-9">kdebug:start</span><span +class="ec-lmtt-9"> search(file=cmr10.pfb,</span><span +class="ec-lmtt-9"> must_exist=0,</span><span +class="ec-lmtt-9"> find_all=0,</span> +<br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:</span> +<br /><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).</span> +<br /><span +class="ec-lmtt-9">kdebug:search(cmr10.pfb)</span><span +class="ec-lmtt-9"> =></span><span +class="ec-lmtt-9"> /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb</span> +<br /><span +class="ec-lmtt-9"><cmr10.pfb>[1]</span> +</div> +</div> + <h4 class="subsectionHead"><span class="titlemark">8.3. </span> <a + id="x1-710008.3"></a>Parametry kontrolujące działanie programów</h4> +<!--l. 2901--><p class="noindent" >Inną użyteczną cechą Web2C jest możliwość ustalania wielu parametrów określających wielkość pamięci za +pomocą pliku <span +class="ec-lmtt-10">texmf.cnf</span>. Ustawienia wszystkich parametrów znajdują się w części trzeciej pliku. +Najważniejszymi zmiennymi są: + <dl class="description"><dt class="description"> +<span +class="ec-lmtk-10">main_memory</span> </dt><dd +class="description">Całkowita wielkość pamięci dostępnej dla <span class="TEX">T<span +class="E">E</span>X</span>-a, Metafont-a i MetaPost-a. Dla każdego + nowego ustawienia tej zmiennej należy wykonać nowy format. + </dd><dt class="description"> +<span +class="ec-lmtk-10">extra_mem_bot</span> </dt><dd +class="description">Dodatkowa wielkość pamięci przeznaczonej na „duże” struktury danych <span class="TEX">T<span +class="E">E</span>X</span>-a, takie + jak: pudełka, kleje itd.; przydatna zwłaszcza w wypadku korzystania z pakietu PI C<span class="TEX">T<span +class="E">E</span>X</span>. + </dd><dt class="description"> +<span +class="ec-lmtk-10">font_mem_size</span> </dt><dd +class="description">Wielkość pamięci przeznaczonej przez <span class="TEX">T<span +class="E">E</span>X</span>-a na informacje o fontach. Jest to mniej + więcej ogólna wielkość wczytywanych przez <span class="TEX">T<span +class="E">E</span>X</span>-a plików TFM. + </dd><dt class="description"> +<span +class="ec-lmtk-10">hash_extra</span> </dt><dd +class="description">Dodatkowa wielkość pamięci przeznaczonej na tablicę zawierającą nazwy instrukcji. + Tablica główna może zmieścić w przybliżeniu 10000 nazw; wielkość ta może się okazać + zbyt mała, np. w wypadku obszernej książki zawierającej liczne odsyłacze. Domyślna wartość + <span +class="ec-lmtt-10">hash_extra </span>to <span +class="ec-lmtt-10">50000</span>.</dd></dl> +<!--l. 2934--><p class="noindent" >Oczywiście powyższa możliwość nie zastąpi prawdziwej, dynamicznej alokacji pamięci. Jest to jednak niezwykle +trudne do zaimplementowania w obecnej wersji <span class="TEX">T<span +class="E">E</span>X</span>-a i dlatego powyższe parametry stanowią praktyczny +kompromis, pozwalając na pewną elastyczność. +<!--l. 2940--><p class="indent" > Należy tu jednak nadmienić, iż nie wszystkie programy korzystają z tych zmiennych. Np. Lua<span class="TEX">T<span +class="E">E</span>X</span> posiada +nowoczesną, w pełni dynamiczną alokację pamięci, a zatem powyższe zmienne są w tym przypadku po prostu +ignorowane. +<!--l. 2947--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">9. </span> <a + id="x1-720009"></a>Budowa systemu na nowej platformie uniksowej</h3> +<!--l. 2948--><p class="noindent" >Jeżeli mamy do czynienia z platformą, dla której nie są dostarczone binaria, trzeba będzie skompilować +<span class="TEX">T<span +class="E">E</span>X</span>-a oraz towarzyszące mu programy. Nie jest to takie trudne, jak się wydaje. Wszystko czego potrzebujemy, +znajduje się na DVD w katalogu <span +class="ec-lmtt-10">source</span>. +<!--l. 2954--><p class="indent" > Najpierw należy zainstalować główne drzewo plików <span class="TEX">T<span +class="E">E</span>X</span>-owych z <span class="TEX">T<span +class="E">E</span>X</span> Live DVD (najlepiej wykonać +instalację podstawową, bez wybierania binariów systemowych). +<!--l. 2958--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">9.1. </span> <a + id="x1-730009.1"></a>Warunki wstępne</h4> +<!--l. 2959--><p class="noindent" >Do skompilowania całego <span class="TEX">T<span +class="E">E</span>X</span>-a i jego programów pomocniczych potrzeba około 100 megabajtów wolnego +miejsca na dysku. Potrzebny jest także kompilator ANSI C, oprogramowanie <span +class="ec-lmss-10">make</span>, skaner leksykalny oraz +generator parserów. Programy użytkowe GNU (<span +class="ec-lmss-10">gcc</span>, GNU <span +class="ec-lmss-10">make</span>, <span +class="ec-lmss-10">m4</span>, <span +class="ec-lmss-10">flex</span>, <span +class="ec-lmss-10">bison</span>) są najlepiej przetestowanymi +na różnych platformach. Poprawnie powinny pracować <span +class="ec-lmss-10">gcc</span>-2.7.*, <span +class="ec-lmss-10">flex</span>-2.4.7 i GNU <span +class="ec-lmss-10">make</span>-3.72.1 lub +nowszy. Można też korzystać z innych kompilatorów C i programów <span +class="ec-lmss-10">make</span>, wymaga to jednak +dobrego zrozumienia zasad tworzenia programów uniksowych, aby poradzić sobie z ewentualnymi +problemami. + + +<!--l. 2974--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">9.2. </span> <a + id="x1-740009.2"></a>Konfiguracja</h4> +<!--l. 2975--><p class="noindent" >Należy rozpakować źródła ze skompresowanego pliku <span +class="ec-lmtt-10">tar </span>z katalogu <span +class="ec-lmtt-10">source </span>na twardy dysk, a potem przejść +do katalogu, do którego zostały one skopiowane. Teraz trzeba się zdecydować, gdzie będzie główny katalog +instalacji, np. <span class="path"><span +class="ec-lmtt-10">/usr/TeX</span></span> lub <span class="path"><span +class="ec-lmtt-10">/usr/local/TeX</span></span>. Naturalnie, należy użyć tej samej lokalizacji, która została +użyta podczas instalacji głównego drzewa <span class="TEX">T<span +class="E">E</span>X</span>-owego. +<!--l. 2983--><p class="indent" > Uruchomić <span +class="ec-lmss-10">configure </span>z linii poleceń: <div class="alltt"> +<!--l. 2984--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">./configure</span><span +class="ec-lmtk-10"> --prefix=/usr/local/TeX</span> +</div> +</div> +<!--l. 2988--><p class="indent" > Katalog „prefix” to ten, w którym zainstalowane zostało główne drzewo <span class="TEX">T<span +class="E">E</span>X</span>-owe. Zostanie użyty +następujący układ katalogów (<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">$TEXDIR</span></span></span> oznacza wybrany powyżej katalog): +<!--l. 2992--><p class="noindent" ><!--tex4ht:inline--><div class="tabular"> <table id="TBL-4" class="tabular" +cellspacing="0" cellpadding="0" +><colgroup id="TBL-4-1g"><col +id="TBL-4-1"><col +id="TBL-4-2"></colgroup><tr + style="vertical-align:baseline;" id="TBL-4-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-4-1-1" +class="td11"> <span +class="ec-lmtt-10">$TEXDIR/man </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-4-1-2" +class="td10"> strony manuala uniksowego, </td> +</tr><tr + style="vertical-align:baseline;" id="TBL-4-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-4-2-1" +class="td11"> <span +class="ec-lmtt-10">$TEXDIR/share/texmf </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-4-2-2" +class="td10"> główne drzewo <span class="TEX">T<span +class="E">E</span>X</span>-owe, zawierające makra itp.,</td> +</tr><tr + style="vertical-align:baseline;" id="TBL-4-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-4-3-1" +class="td11"> <span +class="ec-lmtt-10">$TEXDIR/info </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-4-3-2" +class="td10"> podręczniki w formacie GNU info, </td> +</tr><tr + style="vertical-align:baseline;" id="TBL-4-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-4-4-1" +class="td11"> <span +class="ec-lmtt-10">$TEXDIR/bin/$PLATFORM </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-4-4-2" +class="td10"> binaria </td> +</tr><tr + style="vertical-align:baseline;" id="TBL-4-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-4-5-1" +class="td11"> </td></tr></table></div> +<!--l. 3003--><p class="indent" > Można uniknąć stosowania „<span +class="ec-lmtt-10">share/</span>” przed katalogiem <span +class="ec-lmtt-10">texmf</span>, ponieważ <span +class="ec-lmtt-10">$TEXDIR/share/texmf</span> +i <span +class="ec-lmtt-10">$TEXDIR/texmf </span>są wykrywane automatycznie przez skrypt <span +class="ec-lmss-10">configure</span>. W razie wybrania innego katalogu, +trzeba ten katalog wyszczególnić parametrem <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">--datadir</span></span></span> skryptu <span +class="ec-lmss-10">configure</span>. +<!--l. 3009--><p class="indent" > Jeżeli nie chcemy używać katalogu <span +class="ec-lmtt-10">$PLATFORM </span>(a więc umieścić binaria bezpośrednio w <span +class="ec-lmtt-10">$TEXDIR/bin</span>), to +w wywołaniu skryptu <span +class="ec-lmss-10">configure </span>należy użyć parametru <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">--disable-multiplatform</span></span></span>. +<!--l. 3014--><p class="indent" > Więcej dostępnych parametrów (np. pomijanie pakietów opcjonalnych, takich jak Omega) można zobaczyć, +uruchamiając <span +class="ec-lmtt-10">./configure --help</span>. +<!--l. 3018--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">9.3. </span> <a + id="x1-750009.3"></a>Uruchamianie <span +class="ec-lmss-10">make</span></h4> +<!--l. 3019--><p class="noindent" >Po upewnieniu się, że nie jest ustawiona zmienna powłoki <span +class="ec-lmtt-10">noclobber</span>, należy napisać: <div class="alltt"> +<!--l. 3021--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">make</span><span +class="ec-lmtk-10"> world</span> +</div> +</div> i …zaparzyć sobie kawę. +<!--l. 3026--><p class="indent" > Może się też przydać zapisanie całego procesu kompilacji w pliku <span +class="ec-lmtt-10">.log</span>: <div class="alltt"> +<!--l. 3028--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">sh</span><span +class="ec-lmtk-10"> -c</span><span +class="ec-lmtk-10"> "make</span><span +class="ec-lmtk-10"> world</span><span +class="ec-lmtk-10"> >world.log</span><span +class="ec-lmtk-10"> 2>&1"</span><span +class="ec-lmtk-10"> &</span> +</div> +</div> Zanim stwierdzimy, że wszystko jest w porządku, warto sprawdzić, czy w pliku <span +class="ec-lmtt-10">.log </span>nie ma komunikatów +błędów (kiedy polecenie zwraca kod błędu, GNU <span +class="ec-lmss-10">make </span>zawsze używa sekwencji „<span +class="ec-lmtt-10">***</span>”), i czy utworzone +zostały wszystkie binaria: <div class="alltt"> +<!--l. 3035--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">cd</span><span +class="ec-lmtk-10"> </span><span +class="ec-lmro-10">TEXDIR</span><span +class="ec-lmtk-10">/bin/</span><span +class="ec-lmro-10">archname</span> +<br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">ls</span><span +class="ec-lmtk-10"> |</span><span +class="ec-lmtk-10"> wc</span> +</div> +</div> Oczekiwanym rezultatem jest ponad 200. Polecenie <span +class="ec-lmtt-10">make world </span>jest równoważne z <span +class="ec-lmtt-10">make all install</span> +<span +class="ec-lmtt-10">strip</span>. Jeśli do uruchamiania <span +class="ec-lmtt-10">make install </span>potrzebne są specjalne uprawnienia, można uruchomić dwie +oddzielne sesje <span +class="ec-lmss-10">make</span>: <div class="alltt"> + + +<!--l. 3043--><p class="noindent" ><div class="obeylines-v"> +<span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">make</span><span +class="ec-lmtk-10"> all</span> +<br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">su</span> +<br /><span +class="ec-lmtt-10">></span><span +class="ec-lmtt-10"> </span><span +class="ec-lmtk-10">make</span><span +class="ec-lmtk-10"> install</span><span +class="ec-lmtk-10"> strip</span> +</div> +</div> +<!--l. 3049--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">9.4. </span> <a + id="x1-760009.4"></a>Końcowe kroki konfiguracyjne</h4> +<!--l. 3050--><p class="noindent" >Należy uaktualnić zmienną <span +class="ec-lmtt-10">PATH </span>o nazwę katalogu zawierającego właśnie zainstalowane binaria +(np. <span +class="ec-lmtt-10">/usr/local/TeX/bin/mips-sgi-irix6.3</span>); podobnie postąpić trzeba z <span +class="ec-lmtt-10">MANPATH </span>i <span +class="ec-lmtt-10">INFOPATH </span>i dołączyć +do nich odpowiednie nazwy podkatalogów, tj. <span +class="ec-lmtt-10">$TEXDIR/man </span>oraz <span +class="ec-lmtt-10">$TEXDIR/info</span>. Patrz część <a +href="#x1-320003.4">3.4<!--tex4ht:ref: sec:postinstall --></a> +(str. <a +href="#x1-320003.4">37<!--tex4ht:ref: sec:postinstall --></a>). +<!--l. 3058--><p class="indent" > Jeśli zechcesz udostępnić skompilowane przez siebie programy, skontaktuj się z nami (<a +href="tex-live@tug.org" class="url" ><span +class="ec-lmtt-10">tex-live@tug.org</span></a>); +chętnie umieścimy je na stronie <span class="TEX">T<span +class="E">E</span>X</span> Live. +<!--l. 3063--><p class="indent" > <a id="ack"></a> + <h3 class="sectionHead"><span class="titlemark">10. </span> <a + id="x1-7700010"></a>Podziękowania</h3> +<!--l. 3066--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Live jest wspólnym dziełem prawie wszystkich grup <span class="TEX">T<span +class="E">E</span>X</span>-owych. Niniejsza edycja <span class="TEX">T<span +class="E">E</span>X</span> Live została +opracowana pod kierownictwem Karla Berry’ego, przy głównym współudziale: + <ul class="itemize1"> + <li class="itemize">grup <span class="TEX">T<span +class="E">E</span>X</span>-owych: międzynarodowej, niemieckiej, holenderskiej i polskiej (odpowiednio: TUG, + DANTE e.V., NTG, i GUST), które wspólnie zapewniają potrzebną infrastrukturę techniczną + i organizacyjną. Dołącz do swojej grupy <span class="TEX">T<span +class="E">E</span>X</span>-owej!; + </li> + <li class="itemize">zespołu CTAN (w szczególności Robina Fairbairnsa, Jima Hefferona i Rainera Schöpfa), który + dystrybuuje obrazy płyt <span class="TEX">T<span +class="E">E</span>X</span> Live i udostępnia wspólną infrastrukturę służącą aktualizacji + pakietów, od której zależy <span class="TEX">T<span +class="E">E</span>X</span> Live; + </li> + <li class="itemize">Nelsona Beebe, za umożliwienie dostępu do wielu platform ekipie <span class="TEX">T<span +class="E">E</span>X</span> Live i pomoc w testowaniu; + </li> + <li class="itemize">Johna Bowmana, który dostosował swój zaawansowany program Asymptote do współpracy z TL; + </li> + <li class="itemize">Petera Breitenlohnera i zespołu e-<span class="TEX">T<span +class="E">E</span>X</span>, którzy stworzyli stabilną podstawę przyszłych wersji + <span class="TEX">T<span +class="E">E</span>X</span>-a (Peter dodatkowo służy nieustanną pomocą w wykorzystaniu narzędzi autotools w <span class="TEX">T<span +class="E">E</span>X</span> + Live); + </li> + <li class="itemize">Jin-Hwan Cho i całego zespołu DVIPDFM<span +class="lmmi-10">x </span>za ten znakomity sterownik i nieustanną pomoc + w rozwiązywaniu problemów z konfiguracją; + </li> + <li class="itemize">Thomasa Essera, autora wspaniałego te<span class="TEX">T<span +class="E">E</span>X</span>-a, bez którego <span class="TEX">T<span +class="E">E</span>X</span> Live z całą pewnością by nie + powstał i którego stała pomoc umożliwiła doskonalenie tej dystrybucji; + </li> + <li class="itemize">Michaela Goossensa, który był współautorem pierwotnej dokumentacji; + </li> + <li class="itemize">Eitana Gurari, autora programu <span class="TEX">T<span +class="E">E</span>X</span>4ht (wykorzystanego do tworzenia niniejszej dokumentacji + w wersji HTML), który niezmordowanie pracował nad jego ulepszaniem i błyskawicznie + dostarczał poprawki; Eitan zmarł w czerwcu 2009 r. i dedykujemy tę dokumentację Jego pamięci; + </li> + <li class="itemize">Hansa Hagena, który dostosowywał Con<span class="TEX">T<span +class="E">E</span>X</span>t do potrzeb <span class="TEX">T<span +class="E">E</span>X</span> Live; + </li> + <li class="itemize">Hàn Thế Thànha, Martina Schrödera i zespołu pdf<span class="TEX">T<span +class="E">E</span>X</span>-a, którzy ciągle ulepszali możliwości + <span class="TEX">T<span +class="E">E</span>X</span>-a; + </li> + <li class="itemize">Hartmuta Henkela, mającego istotny udział w rozwoju pdf<span class="TEX">T<span +class="E">E</span>X</span>-a, Lua<span class="TEX">T<span +class="E">E</span>X</span>-a i innych + programów; + + + </li> + <li class="itemize">Taco Hoekwatera, który wznowił rozwój MetaPosta i pracował nad Lua<span class="TEX">T<span +class="E">E</span>X</span>-em, jak też + pomógł w integracji Con<span class="TEX">T<span +class="E">E</span>X</span>t w <span class="TEX">T<span +class="E">E</span>X</span> Live oraz ulepszył bibliotekę Kpathsea, dodając jej + wielowątkowość; + </li> + <li class="itemize">Pawła Jackowskiego, który wykonał instalator dla Windows <span +class="ec-lmss-10">tlpm </span>i Tomka Łuczaka, twórcy + <span +class="ec-lmss-10">tlpmgui </span>(programy te były wykorzystane w poprzednich edycjach); + </li> + <li class="itemize">Akira Kakuto, który dostarczył programy dla Windows, pochodzące z dystrybucji W32TEX + (<a +href="http://w32tex.org" class="url" ><span +class="ec-lmtt-10">http://w32tex.org</span></a>), stale dostosowywane i aktualizowane dla potrzeb <span class="TEX">T<span +class="E">E</span>X</span> Live; + </li> + <li class="itemize">Jonathana Kew, który zainicjował nową ścieżkę rozwojową – Xe<span class="TEX">T<span +class="E">E</span>X</span>, i który włożył sporo + wysiłku w zintegrowanie tego programu z <span class="TEX">T<span +class="E">E</span>X</span> Live, jak również zapoczątkował prace nad + instalatorem dla Mac<span class="TEX">T<span +class="E">E</span>X</span> oraz edytorem <span class="TEX">T<span +class="E">E</span>X</span>works; + </li> + <li class="itemize">Dicka Kocha, który pielęgnuje Mac<span class="TEX">T<span +class="E">E</span>X</span>-a (<a +href="http://tug.org/mactex" class="url" ><span +class="ec-lmtt-10">http://tug.org/mactex</span></a>) w ścisłym połączeniu + z <span class="TEX">T<span +class="E">E</span>X</span> Live i bardzo sympatycznie współpracuje; + </li> + <li class="itemize">Reinharda Kotuchy, mającego istotny udział w stworzeniu nowej infrastruktury i programu + instalacyjnego dla <span class="TEX">T<span +class="E">E</span>X</span> Live 2009, uparcie dążącego do ujednolicenia działania <span class="TEX">T<span +class="E">E</span>X</span> Live + w Windows i Unix, który również opracował skrypt <span +class="ec-lmtt-10">getnonfreefonts </span>i wykonał wiele innych + prac; + </li> + <li class="itemize">Siep Kroonenberg, która również wzięła udział w stworzeniu nowej infrastruktury i programu + instalacyjnego dla <span class="TEX">T<span +class="E">E</span>X</span> Live 2009 (szczególnie dla Windows) oraz włożyła sporo pracy w + aktualizację tej dokumentacji; + </li> + <li class="itemize">Petra Olšáka, który koordynował i sprawdzał przygotowanie pakietów czeskich i słowackich; + </li> + <li class="itemize">Toshio Oshimy, który opracował przeglądarkę <span +class="ec-lmss-10">dviout </span>dla Windows; + </li> + <li class="itemize">Manuela Pégourié-Gonnarda, który pomógł w aktualizacji pakietów i pracował nad <span +class="ec-lmss-10">texdoc</span>; + </li> + <li class="itemize">Fabrice’a Popineau, który pierwszy stworzył wersje oprogramowania dla Windows; + </li> + <li class="itemize">Norberta Preininga, głównego architekta infrastruktury i programu instalacyjnego <span class="TEX">T<span +class="E">E</span>X</span> Live + 2009, który przyczynił się również do aktualizacji pakietów, a także koordynował (wraz + z Frankiem Küsterem) debianową wersję <span class="TEX">T<span +class="E">E</span>X</span> Live i przedstawił wiele sugestii ulepszeń; + </li> + <li class="itemize">Sebastiana Rahtza, który stworzył <span class="TEX">T<span +class="E">E</span>X</span> Live i kierował projektem przez wiele lat; + </li> + <li class="itemize">Phila Taylora, który skonfigurował BitTorrent (do pobierania plików z sieci) na potrzeby <span class="TEX">T<span +class="E">E</span>X</span> + Live; + </li> + <li class="itemize">Tomka Trzeciaka, który pracowicie rozwiązywał rozliczne problemy związane z Windows; + </li> + <li class="itemize">Vladimira Volovicha, który wydatnie pomógł w rozwiązywaniu problemów przenośności, + szczególnie zaś umożliwił dołączenia <span +class="ec-lmss-10">xindy</span>; + </li> + <li class="itemize">Staszka Wawrykiewicza, głównego testującego <span class="TEX">T<span +class="E">E</span>X</span> Live w różnych systemach, który ponadto + koordynował przygotowanie wszystkich polskich dodatków (fontów, programów instalacyjnych + i wielu innych); + </li> + <li class="itemize">Olafa Webera, który cierpliwie pielęgnował Web2C, od którego wszystko zależy; + </li> + <li class="itemize">Gerbena Wierda, który przygotował oryginalne oprogramowanie i wsparcie dla Mac OS X; + </li> + <li class="itemize">Grahama Williamsa, którego prace nad katalogiem pakietów bardzo pomogły w przygotowaniu + dystrybucji.</li></ul> + + +<!--l. 3153--><p class="indent" > Binaria dla różnych platform skompilowali: Ettore Aldrovandi (<span +class="ec-lmss-10">i386-solaris</span>, <span +class="ec-lmss-10">x86_64-solaris</span>), Alan Braslau +(<span +class="ec-lmss-10">amd64-kfreebsd</span>, <span +class="ec-lmss-10">i386-kfreebsd</span>), Peter Breitenlohner (<span +class="ec-lmss-10">x86_64-linux</span>), Karl Berry (<span +class="ec-lmss-10">i386-linux</span>), Ken Brown +(<span +class="ec-lmss-10">i386-cygwin</span>), Akira Kakuto (<span +class="ec-lmss-10">win32</span>), Dick Koch (<span +class="ec-lmss-10">universal-darwin</span>, <span +class="ec-lmss-10">x86_64-darwin</span>), Nikola Lečić +(<span +class="ec-lmss-10">amd64-freebsd</span>, <span +class="ec-lmss-10">i386-freebsd</span>), Mojca Miklavec (<span +class="ec-lmss-10">mipsel-linux</span>), Norbert Preining (<span +class="ec-lmss-10">alpha-linux</span>), Thomas Schmitz +(<span +class="ec-lmss-10">powerpc-linux</span>), Boris Veytsman (<span +class="ec-lmss-10">armel-linux</span>), Vladimir Volovich (<span +class="ec-lmss-10">powerpc-aix</span>, <span +class="ec-lmss-10">sparc-solaris</span>), Olaf +Weber (<span +class="ec-lmss-10">mips-irix</span>). Informacje na temat procesu budowy <span class="TEX">T<span +class="E">E</span>X</span> Live można znaleźć na stronie: +<a +href="http://tug.org/texlive/build.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/build.html</span></a>. +<!--l. 3172--><p class="indent" > Aktualizacje i tłumaczenia dokumentacji wykonali: Siep Kroonenberg i Karl Berry (angielski), Manuel +Pégourié-Gonnard (francuski), Uwe Ziegenhagen (niemiecki), Jjgod Jiang, Jinsong Zhao, Yue Wang i Helin +Gai (chiński), Marco Pallante (włoski), Nikola Lečić (serbski), Petr Sojka i Jan Busa (czeski/słowacki), Boris +Veytsman (rosyjski), Staszek Wawrykiewicz (polski). Na stronie <a +href="http://tug.org/texlive/doc.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/doc.html</span></a> będą +umieszczane ewentualne aktualizacje tej dokumentacji. +<!--l. 3185--><p class="indent" > Oczywiście, najważniejsze podziękowania należą się Donaldowi Knuthowi za stworzenie systemu <span class="TEX">T<span +class="E">E</span>X</span> +i ofiarowanie go nam wszystkim. +<!--l. 3189--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">11. </span> <a + id="x1-7800011"></a>Historia</h3> +<!--l. 3192--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">11.1. </span> <a + id="x1-7900011.1"></a>Poprzednie wersje</h4> +<!--l. 3194--><p class="noindent" >Dystrybucja <span class="TEX">T<span +class="E">E</span>X</span> Live jest wspólnym przedsięwzięciem grup Użytkowników Systemu <span class="TEX">T<span +class="E">E</span>X</span> z Niemiec, +Holandii, Wielkiej Brytanii, Francji, Czech, Słowacji, Polski, Indii i Rosji oraz grupy międzynarodowej TUG +(<span class="TEX"><span +class="ec-lmri-10">T</span><span +class="E"><span +class="ec-lmri-10">E</span></span><span +class="ec-lmri-10">X</span></span> <span +class="ec-lmri-10">Users Group</span>). Dyskusje nad projektem rozpoczęły się pod koniec 1993 roku, kiedy holenderska Grupa +Użytkowników <span class="TEX">T<span +class="E">E</span>X</span>-a rozpoczęła prace nad swoim 4All<span class="TEX">T<span +class="E">E</span>X</span> CD dla użytkowników MS-DOS. W tym też +czasie pojawiły się nadzieje na opracowanie jednego CD dla wszystkich systemów. Projekt ten był wprawdzie +zbyt ambitny, zrodził jednak nie tylko bardzo popularny i uwieńczony dużym powodzeniem projekt +4All<span class="TEX">T<span +class="E">E</span>X</span> CD, lecz również spowodował powstanie Grupy Roboczej TUG ds. Standardu Katalogów +<span class="TEX">T<span +class="E">E</span>X</span>-owych (<span class="TEX"><span +class="ec-lmri-10">T</span><span +class="E"><span +class="ec-lmri-10">E</span></span><span +class="ec-lmri-10">X</span></span> <span +class="ec-lmri-10">Directory Structure</span>), określającego, w jaki sposób tworzyć zgodne i łatwe do +zarządzania zestawy pakietów <span class="TEX">T<span +class="E">E</span>X</span>-owych. Końcowy raport TDS został opublikowany w grudniowym +numerze <span +class="ec-lmri-10">TUGboat</span>-a, i jasnym się stało, że jednym z oczekiwanych wyników wprowadzenia tego +standardu mogłaby być modelowa struktura na płytce CD. Wydana wówczas płytka CD była +bezpośrednim rezultatem rozważań i zaleceń Grupy Roboczej ds. TDS. Jasne także było, że sukces +4All<span class="TEX">T<span +class="E">E</span>X</span> CD pokazał, że użytkownicy Unixa także wiele by zyskali, mogąc korzystać z podobnie +łatwego w instalacji/pielęgnacji i użytkowaniu systemu. Było to jednym z celów projektu <span class="TEX">T<span +class="E">E</span>X</span> +Live. +<!--l. 3219--><p class="indent" > Projekt przygotowania płytki CD, opartej na standardzie TDS i zorientowanej na systemy uniksowe, +rozpoczął się jesienią 1995 roku. Szybko zdecydowaliśmy się na wykorzystanie te<span class="TEX">T<span +class="E">E</span>X</span>-a autorstwa Thomasa +Essera, ponieważ działał na wielu platformach i został zaprojektowany z myślą o przenośności pomiędzy +różnymi systemami plików. Thomas zgodził się pomóc i prace rozpoczęły się na dobre na początku 1996 roku. +Pierwsze wydanie ukazało się w maju 1996 roku. Na początku 1997 roku Karl Berry udostępnił +nową, istotnie zmienioną wersję swojego pakietu Web2C, zawierającą prawie wszystkie funkcje +wprowadzone do te<span class="TEX">T<span +class="E">E</span>X</span>-a przez Thomasa Essera. W związku z tym zdecydowaliśmy się oprzeć +drugie wydanie CD na standardowej bibliotece Web2C, z dodaniem skryptu <span +class="ec-lmtt-10">texconfig </span>z pakietu +te<span class="TEX">T<span +class="E">E</span>X</span>. Trzecie wydanie CD było oparte na Web2C wersji 7.2, przygotowanej przez Olafa Webera. +W tym samym czasie została przygotowana nowa wersja te<span class="TEX">T<span +class="E">E</span>X</span>-a i <span class="TEX">T<span +class="E">E</span>X</span> Live udostępniał prawie +wszystkie jego nowe funkcje. Czwarta edycja była przygotowana podobnie, z użyciem nowej wersji +te<span class="TEX">T<span +class="E">E</span>X</span>-a i nowej wersji Web2C (7.3). Wtedy to też zapoczątkowano kompletną dystrybucję dla +Windows. +<!--l. 3237--><p class="indent" > Edycja piąta (marzec 2000) zawierała wiele poprawek i uzupełnień; zaktualizowano setki pakietów. +Szczegółową zawartość pakietów zapisano w plikach XML. Główną zmianą w <span class="TEX">T<span +class="E">E</span>X</span> Live 5 było usunięcie +programów, które nie miały statusu <span +class="ec-lmri-10">public domain</span>. Zawartość całej płytki powinna odpowiadać ustaleniom +Debian Free Software Guidelines (<a +href="http://www.debian.org/intro/free" class="url" ><span +class="ec-lmtt-10">http://www.debian.org/intro/free</span></a>). Dołożyliśmy wszelkich starań, aby +sprawdzić warunki licencyjne pakietów. +<!--l. 3246--><p class="indent" > Szósta edycja (lipiec 2001) zawierała aktualizacje całego materiału. Główną zmianą było wprowadzenie +nowej koncepcji programów instalacyjnych – użytkownik miał odtąd możliwość dokładniejszego wyboru +potrzebnych zestawów i pakietów. Zestawy dotyczące obsługi poszczególnych języków zostały całkowicie + + +zreorganizowane, dzięki czemu wybór jednego z nich nie tylko instalował potrzebne makra i fonty, ale też +przygotowywał odpowiedni plik <span +class="ec-lmtt-10">language.dat</span>. +<!--l. 3254--><p class="indent" > <span class="TEX">T<span +class="E">E</span>X</span> Live 7 (rok 2002) zawierał po raz pierwszy oprogramowanie dla Mac OS X i – jak zwykle – +aktualizację wszelkich programów i pakietów. Ważnym zadaniem, które wykonano, było ujednolicenie plików +źródłowych programów z dystrybucją te<span class="TEX">T<span +class="E">E</span>X</span>. W programach instalacyjnych wprowadzono możliwość wyboru +bardziej ogólnych, predefiniowanych zestawów pakietów (m.in. dla użytkowników francuskojęzycznych oraz +polskich). Nowością było także wprowadzenie procedury aktualizacji map fontowych dla Dvips i PDFTeX +podczas instalacji oraz doinstalowywania pakietów fontowych. +<!--l. 3263--><p class="indent" > W 2003 r., wraz z napływem aktualizacji i dodatkowych nowych pakietów, okazało się, że <span class="TEX">T<span +class="E">E</span>X</span> Live nie +mieści się na pojedynczym CD. Zmuszeni byliśmy podzielić <span class="TEX">T<span +class="E">E</span>X</span> Live na trzy dystrybucje, które wydano na +DVD i dwóch płytkach CD. Ponadto: + <ul class="itemize1"> + <li class="itemize">na życzenie „<span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> team” zmieniono standardowe użycie programów <span +class="ec-lmss-10">latex </span>i <span +class="ec-lmss-10">pdflatex</span> – by + korzystały one z e-<span class="TEX">T<span +class="E">E</span>X</span> (patrz str. <a +href="#x1-120002.4">11<!--tex4ht:ref: text:etex --></a>); + </li> + <li class="itemize">załączono nowe fonty obwiedniowe Latin Modern, które zastępują m.in. fonty EC (zawierając + komplet znaków europejskich), szczególnie do tworzenia poprawnych plików PDF; + </li> + <li class="itemize">usunięto binaria dla platformy Alpha OSF (poprzednio usunięto także binaria dla HPUX), niestety + nie udało się znaleźć osób chętnych do wykonania kompilacji; + </li> + <li class="itemize">zmieniono instalację w systemach Windows, wprowadzając po raz pierwszy zintegrowane + środowisko pracy, oparte na edytorze XEmacs; + </li> + <li class="itemize">potrzebne programy pomocnicze dla Windows (Perl, Ghostscript, ImageMagick, Ispell) + instalowano w strukturze katalogów instalacji <span class="TEX">T<span +class="E">E</span>X</span> Live; + </li> + <li class="itemize">mapy fontowe, z których korzystają programy <span +class="ec-lmss-10">dvips</span>, <span +class="ec-lmss-10">dvipdfm </span>oraz <span +class="ec-lmss-10">pdftex</span>, generowano odtąd + w katalogu <span +class="ec-lmtt-10">texmf/fonts/map</span>; + </li> + <li class="itemize"><span class="TEX">T<span +class="E">E</span>X</span>, Metafont oraz MetaPost domyślnie pozwalały wypisywać komunikaty na ekranie i w pliku + .log, a także w operacjach <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">\write</span></span></span> w ich reprezentacji 8-bitowej, zamiast tradycyjnej notacji <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">^^</span></span></span>; + w <span class="TEX">T<span +class="E">E</span>X</span> Live 7 eksperymentalnie wprowadzono zależność przekodowania wyjścia programów od + systemowej strony kodowej, potem ten pomysł zarzucono; + </li> + <li class="itemize">znacznie zmieniono niniejszą dokumentację; + </li> + <li class="itemize">wreszcie, ponieważ numery wersji kolejnych edycji mogły wprowadzać w błąd, postanowiono + identyfikować edycje <span class="TEX">T<span +class="E">E</span>X</span> Live zgodnie z rokiem wydania.</li></ul> +<!--l. 3298--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">11.2. </span> <a + id="x1-8000011.2"></a>Wydanie 2004</h4> +<!--l. 3300--><p class="noindent" >Jak w każdej kolejnej wersji, w 2004 roku uaktualniono wiele pakietów i programów. Poniżej wymieniamy +najbardziej istotne zmiany. + <ul class="itemize1"> + <li class="itemize">Gdy mieliśmy już lokalnie zainstalowane fonty, które korzystały z własnych plików <span +class="ec-lmtt-10">.map </span>i/lub + <span +class="ec-lmtt-10">.enc</span>, <span +class="ec-lmri-10">nale</span><span +class="ec-lmri-10">żało </span>przenieść te pliki w nowe miejsce w strukturze <span +class="ec-lmtt-10">texmf/</span>. + <!--l. 3308--><p class="noindent" >Pliki <span +class="ec-lmtt-10">.map </span>(map fontowych) są odtąd wyszukiwane w podkatalogach <span +class="ec-lmtt-10">fonts/map </span>(w każdym + drzewie <span +class="ec-lmtt-10">texmf</span>), zgodnie ze ścieżką określoną przez zmienną <span +class="ec-lmtt-10">TEXFONTMAPS</span>. Analogicznie, pliki + <span +class="ec-lmtt-10">.enc </span>(przekodowań fontów) są odtąd wyszukiwane w podkatalogach <span +class="ec-lmtt-10">fonts/enc</span>, zgodnie ze + ścieżką określoną przez zmienną <span +class="ec-lmtt-10">ENCFONTS</span>. O niewłaściwie umieszczonych plikach tego typu + zostaniemy ostrzeżeni podczas uruchomienia programu <span +class="ec-lmss-10">updmap</span>. Zmiany te wprowadzono w celu + uporządkowania struktury katalogów: wszystkie pliki dotyczące fontów znajdują się odtąd + w ramach jednego podkatalogu <span +class="ec-lmtt-10">fonts/</span>. + + + <!--l. 3319--><p class="noindent" >Metody radzenia sobie z sytuacjami związanymi z przejściem na nowy układ katalogów omawiał + artykuł <a +href="http://tug.org/texlive/mapenc.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/mapenc.html</span></a>. + </li> + <li class="itemize">Do <span class="TEX">T<span +class="E">E</span>X</span> Collection DVD dodano nową dystrybucję dla Windows o nazwie pro<span class="TEX">T<span +class="E">E</span>X</span>t (opartą + na MiK<span class="TEX">T<span +class="E">E</span>X</span>-u). Była ona dostępna także na odrębnym CD. Choć pro<span class="TEX">T<span +class="E">E</span>X</span>t nie bazuje na + implementacji Web2C, stosuje układ katalogów zgodny z TDS (patrz część <a +href="#x1-80002">2<!--tex4ht:ref: sec:struct-tl --></a> na str. <a +href="#x1-80002">7<!--tex4ht:ref: sec:struct-tl --></a>). + </li> + <li class="itemize">W ramach <span class="TEX">T<span +class="E">E</span>X</span> Live dotychczasowe pojedyncze drzewo katalogów <span +class="ec-lmtt-10">texmf </span>zostało rozdzielone + na trzy mniejsze: <span +class="ec-lmtt-10">texmf</span>, <span +class="ec-lmtt-10">texmf-dist </span>i <span +class="ec-lmtt-10">texmf-doc </span>(patrz część <a +href="#x1-100002.2">2.2<!--tex4ht:ref: sec:tld --></a>, str. <a +href="#x1-100002.2">8<!--tex4ht:ref: sec:tld --></a>) oraz pliki <span +class="ec-lmtt-10">README</span> + w każdym z tych katalogów). + </li> + <li class="itemize">Wszystkie + pliki makr wczytywane przez <span class="TEX">T<span +class="E">E</span>X</span>-a zostały umieszczone wyłącznie w podkalogu <span +class="ec-lmtt-10">tex </span>w ramach + <span +class="ec-lmtt-10">texmf*</span>. Tym samym usunięto zbędne katalogi <span +class="ec-lmtt-10">etex</span>, <span +class="ec-lmtt-10">pdftex</span>, <span +class="ec-lmtt-10">pdfetex </span>itp. i uproszczono metody + wyszukiwania plików. Patrz <a +href="../../../../texmf-dist/doc/generic/tds/tds.html#Extensions" ><span +class="ec-lmtt-10">texmf-dist/doc/generic/tds/tds.html#Extensions</span></a>. + </li> + <li class="itemize">Pomocnicze + skrypty wykonywalne, niezależne od platformy i zwykle uruchamiane w sposób automatyczny, + były odtąd umieszczone w nowym podkatalogu <span +class="ec-lmtt-10">scripts </span>w ramach <span +class="ec-lmtt-10">texmf*</span>. Znajdowane są + poleceniem <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">kpsewhich</span><span +class="ec-lmtt-10"> -format=texmfscripts</span></span></span>. Programy korzystające z tych skryptów mogły + wymagać modyfikacji. Patrz <a +href="../../../../texmf-dist/doc/generic/tds/tds.html#Scripts" ><span +class="ec-lmtt-10">texmf-dist/doc/generic/tds/tds.html#Scripts</span></a>. + </li> + <li class="itemize">Prawie wszystkie formaty traktują od tego wydania większość znaków jako jawnie „wyświetlalne” + (<span +class="ec-lmri-10">printable</span>), nie zaś, jak było dotychczas, konwertowane na <span class="TEX">T<span +class="E">E</span>X</span>-ową notację <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">^^</span></span></span>. Było to możliwe + dzięki domyślnemu wczytywaniu tablicy przekodowań <span +class="ec-lmtt-10">cp227.tcx</span>. Dokładniej, znaki o kodach + 32–256, HT, VT oraz FF zostały potraktowane dosłownie podczas wyświetlania komunikatów. + Wyjątkiem jest plain <span class="TEX">T<span +class="E">E</span>X</span> (tylko znaki z zakresu 32–127 są nie zmieniane), Con<span class="TEX">T<span +class="E">E</span>X</span>t (znaki z + zakresu 0–255) oraz formaty bazujące na Omedze. Podobna domyślna właściwość występowała + w <span class="TEX">T<span +class="E">E</span>X</span> Live 2003, ale w tej edycji została zaimplementowana w bardziej elegancki sposób + i z większymi możliwościami indywidualnego dostosowania (patrz <a +href="../../../../texmf/doc/web2c/web2c.html#TCX-files" ><span +class="ec-lmtt-10">texmf/doc/web2c/web2c.</span> + <span +class="ec-lmtt-10">tml#TCX-files</span></a>. (Warto wspomnieć, że wczytując Unicode, <span class="TEX">T<span +class="E">E</span>X</span> może w komunikatach błędów + pokazywać niekompletne sekwencje znaków, ponieważ został zaprojektowany „bajtowo”.) + </li> + <li class="itemize">Program <span +class="ec-lmss-10">pdfetex </span>został domyślną „maszyną” dla większości formatów (nie dotyczy to + samego Plain <span +class="ec-lmss-10">tex</span>). Domyślnie, gdy uruchamiamy polecenie <span +class="ec-lmss-10">latex</span>, <span +class="ec-lmss-10">mex </span>itp., generowane są + pliki DVI. Możliwe jest jednak wykorzystanie w <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>, Con<span class="TEX">T<span +class="E">E</span>X</span>t itp. m.in. właściwości + mikrotypograficznych zaimplementowanych w <span +class="ec-lmss-10">pdftex</span>, a także rozszerzonych cech e-<span class="TEX">T<span +class="E">E</span>X</span>-a + (<a +href="../../../../texmf-dist/doc/etex/base/" >texmf-dist/doc/etex/base/</a>). + <!--l. 3374--><p class="noindent" >Oznacza to także, co warto podkreślić, że <span +class="ec-lmri-10">zalecane </span>jest odtąd użycie pakietu <span +class="ec-lmss-10">ifpdf </span>(który działa + zarówno z plain, jak i <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>) lub analogicznych makr. Zwykłe sprawdzanie czy zdefiniowano + <span +class="ec-lmtt-10">\pdfoutput </span>bądź kilka innych poleceń pierwotnych może nie wystarczyć do rozstrzygnięcia czy + nie jest generowany plik PDF. W 2004 roku podjęliśmy wysiłek by zachować, najlepiej jak to + możliwe, kompatybilność z dotychczasowymi przyzwyczajeniami użytkowników. Brano wówczas + pod uwagę, że <span +class="ec-lmtt-10">\pdfoutput </span>może być zdefiniowany nawet wtedy, gdy generowany jest plik DVI. + </li> + <li class="itemize">pdf<span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://pdftex.org" class="url" ><span +class="ec-lmtt-10">http://pdftex.org</span></a>) zyskał wówczas wiele nowych cech: + <ul class="itemize2"> + <li class="itemize"><span +class="ec-lmtt-10">\pdfmapfile </span>i <span +class="ec-lmtt-10">\pdfmapline </span>pozwalają określić z poziomu dokumentu użyte mapy fontowe, + a także pojedyncze dodatkowe wpisy w tych mapach. + </li> + <li class="itemize">mikrotypograficzne operacje z fontami są łatwiejsze w użyciu;<br +class="newline" /><a +href="http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html" class="url" ><span +class="ec-lmtt-10">http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html</span></a> + + + </li> + <li class="itemize">wszystkie parametry pracy pdf<span class="TEX">T<span +class="E">E</span>X</span>-a, dotychczas określane w specjalnym pliku + konfiguracyjnym <span +class="ec-lmtt-10">pdftex.cfg</span>, muszą być odtąd ustawiane poleceniami wbudowanymi, jak + w pliku <span +class="ec-lmtt-10">pdftexconfig.tex</span>; plik <span +class="ec-lmtt-10">pdftex.cfg </span>nie jest już w ogóle wykorzystywany. Po + zmianie <span +class="ec-lmtt-10">pdftexconfig.tex </span>należało na nowo wygenerować pliki formatów (wciąż jednak + użytkownik miał pełną swobodę określania parametrów w redagowanym dokumencie); + </li> + <li class="itemize">więcej informacji zawarto w podręczniku pdf<span class="TEX">T<span +class="E">E</span>X</span>-a: + <a +href="../../../../texmf-dist/doc/pdftex/manual/pdftex-a.pdf" >texmf-dist/doc/pdftex/manual/pdftex-a.pdf</a>. + </li></ul> + </li> + <li class="itemize">Polecenie <span +class="ec-lmtt-10">\input </span>w programach <span +class="ec-lmss-10">tex</span>, <span +class="ec-lmss-10">mf </span>oraz <span +class="ec-lmss-10">mpost </span>akceptowało odtąd nazwy plików ograniczone + podwójnymi apostrofami, zawierające spacje i inne znaki, np.: + + + <div class="verbatim" id="verbatim-10"> + <div class="fancyvrb" id="fancyvrb23"><a + id="x1-80002r1"></a>  \input "nazwa_pliku ze spacjami"   % plain<br class="fancyvrb" /><a + id="x1-80004r2"></a>  \input{"nazwa_pliku ze spacjami"}  % latex</div> +</div> + <!--l. 3415--><p class="nopar" >Więcej informacji zawarto w podręczniku Web2C: <a +href="../../../../texmf/doc/web2c" >texmf/doc/web2c</a>. + </li> + <li class="itemize"><span +class="ec-lmtt-10">-output-directory </span>– nowa opcja programów <span +class="ec-lmss-10">tex</span>, <span +class="ec-lmss-10">mf </span>oraz <span +class="ec-lmss-10">mpost </span>– pozwalała na zapisanie + wyniku pracy w wyspecyfikowanym katalogu (np. można uruchomić program <span +class="ec-lmtt-10">tex </span>z plikiem + znajdującym się na dysku tylko do odczytu, zaś wynik zapisać na dysku pozwalającym + na to); + </li> + <li class="itemize">Rozszerzenie enc<span class="TEX">T<span +class="E">E</span>X</span> zostało szczęśliwie włączone do Web2C. Aby uaktywnić to rozszerzenie, należało + podczas generowania formatu użyć opcji <span +class="ec-lmtt-10">-enc</span>. Ogólnie mówiąc, enc<span class="TEX">T<span +class="E">E</span>X</span> obsługuje przekodowanie + wejścia i wyjścia, włączając także Unicode (UTF-8) (patrz <a +href="../../../../texmf-dist/doc/generic/enctex/" >texmf-dist/doc/generic/enctex/</a> oraz + <a +href="http://www.olsak.net/enctex.html" class="url" ><span +class="ec-lmtt-10">http://www.olsak.net/enctex.html</span></a>). + </li> + <li class="itemize">Udostępniono nowy program Aleph, który łączył cechy e-<span class="TEX">T<span +class="E">E</span>X</span> i Omega. Skromna dokumentacja jest + dostępna na <a +href="../../../../texmf-dist/doc/aleph/base" >texmf-dist/doc/aleph/base</a> oraz <a +href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph" class="url" ><span +class="ec-lmtt-10">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph</span></a>. + Format oparty na <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>-u dla programu Aleph nazwano <span +class="ec-lmss-10">lamed</span>. + </li> + <li class="itemize">Dystrybucja <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>-a została po raz pierwszy zaopatrzona w nową licencję LPPL, odtąd w pełni + zgodną i aprobowaną przez zalecenia określone w licencji Debiana. O nowościach i uaktualnieniach + można się dowiedzieć przeglądając pliki <span +class="ec-lmtt-10">ltnews </span>w <a +href="../../../../texmf-dist/doc/latex/base" >texmf-dist/doc/latex/base</a>. + </li> + <li class="itemize">Dołączono także program <span +class="ec-lmss-10">dvipng </span>konwertujący pliki DVI do formatu graficznego PNG + (<a +href="../../../../texmf/doc/man/man1/dvipng.1" >texmf/doc/man/man1/dvipng.1</a>). + </li> + <li class="itemize">W porozumieniu i z pomocą autora, Claudio Beccariego, ograniczono pakiet <span +class="ec-lmss-10">cbgreek </span>do + zestawu fontów rozsądnego rozmiaru. Usunięto sporadycznie używane fonty konturowe + i służące do prezentacji. Pełen zestaw jest oczywiście nadal dostępny z serwerów CTAN + (<a +href="http://mirror.ctan.org/tex-archive/fonts/greek/cb" class="url" ><span +class="ec-lmtt-10">http://mirror.ctan.org/tex-archive/fonts/greek/cb</span></a>). + </li> + <li class="itemize">Usunięto program <span +class="ec-lmss-10">oxdvi</span>; jego funkcje przejął <span +class="ec-lmss-10">xdvi</span>. + </li> + <li class="itemize">Programy z przedrostkiem <span +class="ec-lmss-10">ini </span>oraz <span +class="ec-lmss-10">vir </span>(np. <span +class="ec-lmss-10">initex</span>), które zwykle były dowiązaniami do programów <span +class="ec-lmss-10">tex</span>, <span +class="ec-lmss-10">mf</span> + i <span +class="ec-lmss-10">mpost</span>, nie były od tej pory dostępne – w zupełności wystarcza użycie w wierszu poleceń opcji + <span +class="ec-lmtt-10">-ini</span>. + </li> + <li class="itemize">Dystrybucja nie zawierała binariów dla platformy <span +class="ec-lmss-10">i386-openbsd </span>(głównie z powodu braku chętnych do + wykonania kompilacji). + </li> + <li class="itemize">W systemie <span +class="ec-lmss-10">sparc-solaris </span>należało ustawić zmienną systemową <span +class="ec-lmtt-10">LD_LIBRARY_PATH</span>, aby uruchomić + programy <span +class="ec-lmss-10">t1utils</span>. Binaria były kompilowane w C++, ale w tym systemie brakowało standardowego + położenia bibliotek uruchomieniowych. Wiedziano o tym już wcześniej, nie było to jednak dotychczas + udokumentowane. Z kolei dla systemu <span +class="ec-lmss-10">mips-irix </span>wymagana była obecność bibliotek MIPSpro + 7.4. + </li></ul> + + +<!--l. 3471--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">11.3. </span> <a + id="x1-8100011.3"></a>Wydanie 2005</h4> +<!--l. 3473--><p class="noindent" >Kolejna edycja przyniosła, jak zwykle, mnóstwo aktualizacji pakietów i programów. Struktura dystrybucji +ustabilizowała się, niemniej pojawiło się nieco zmian w konfiguracji: + <ul class="itemize1"> + <li class="itemize">Wprowadzono nowe skrypty <span +class="ec-lmss-10">texconfig-sys</span>, <span +class="ec-lmss-10">updmap-sys </span>i <span +class="ec-lmss-10">fmtutil-sys</span>, których zadaniem + jest modyfikowanie plików konfiguracyjnych w głównych drzewach katalogów systemu. + Dotychczasowe skrypty <span +class="ec-lmss-10">texconfig</span>, <span +class="ec-lmss-10">updmap </span>i <span +class="ec-lmss-10">fmtutil </span>modyfikują odtąd pliki użytkownika + w katalogu <span +class="ec-lmtt-10">$HOME/.texlive2005</span>. + </li> + <li class="itemize">Dodano nowe zmienne środowiskowe <span +class="ec-lmtt-10">TEXMFCONFIG </span>i <span +class="ec-lmtt-10">TEXMFSYSCONFIG</span>, które wskazują + położenie drzew katalogów z plikami konfiguracyjnymi, odpowiednio: użytkownika i systemu. + Tak więc mogło okazać się koniecznym przeniesienie własnych wersji <span +class="ec-lmtt-10">fmtutil.cnf</span> + i <span +class="ec-lmtt-10">updmap.cfg </span>w odpowiednie miejsca. Inną możliwością było przedefiniowanie <span +class="ec-lmtt-10">TEXMFCONFIG</span> + lub <span +class="ec-lmtt-10">TEXMFSYSCONFIG </span>w pliku <span +class="ec-lmtt-10">texmf.cnf</span>. W każdym z przypadków położenie tych plików + i przypisania <span +class="ec-lmtt-10">TEXMFCONFIG </span>i <span +class="ec-lmtt-10">TEXMFSYSCONFIG </span>muszą być zgodne. (Patrz część <a +href="#x1-110002.3">2.3<!--tex4ht:ref: sec:texmftrees --></a>, str. <a +href="#x1-110002.3">9<!--tex4ht:ref: sec:texmftrees --></a>.) + </li> + <li class="itemize">W wydaniu z poprzedniego roku podczas tworzenia wynikowego pliku DVI <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">\pdfoutput</span></span></span> + i podobne polecenia pozostawały niezdefiniowane, mimo że używany był program <span +class="ec-lmss-10">pdfetex</span>. + Zgodnie z obietnicą, w 2005 roku zarzucono to rozwiązanie (jego celem było zapewnienie + kompatybilności). Z tego powodu użytkownik był zmuszony zmienić te dokumenty, które używały + <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">\ifx\pdfoutput\undefined</span></span></span> do sprawdzania, czy plik wynikowy ma być w formacie PDF. + Zamiast tego należało zastosować pakiet <span +class="ec-lmss-10">ifpdf.sty</span>, który działa zarówno z plain <span class="TEX">T<span +class="E">E</span>X</span>-em jak + i <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>-em, albo zapożyczyć zastosowane w nim rozwiązania. + </li> + <li class="itemize">W wydaniu z 2004 roku zmieniono większość formatów tak, by na wyjściu 8-bitowe znaki były + reprezentowane przez same siebie (por. poprzednia część). Nowy plik TCX o nazwie <span +class="ec-lmtt-10">empty.tcx</span> + pozwalał w łatwy sposób uzyskać w razie potrzeby oryginalną notację (<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">^^</span></span></span>), np.: + + + <div class="verbatim" id="verbatim-11"> + <div class="fancyvrb" id="fancyvrb24"><a + id="x1-81002r1"></a>  latex --translate-file=empty.tcx twojplik.tex</div> +</div> + <!--l. 3515--><p class="nopar" > + </li> + <li class="itemize">Dołączono nowy program <span +class="ec-lmss-10">dvipdfmx</span>, służący do konwersji DVI do PDF. Program jest aktywnie + pielęgnowaną wersją programu <span +class="ec-lmss-10">dvipdfm</span>, który wciąż jest dostępny, ale nie jest już jednak + polecany. + </li> + <li class="itemize">Nowe programy <span +class="ec-lmss-10">pdfopen </span>i <span +class="ec-lmss-10">pdfclose </span>pozwalały na przeładowanie plików PDF w Adobe Acrobat Reader, + bez konieczności ponownego uruchamiania programu. (Inne przeglądarki formatu PDF, jak <span +class="ec-lmss-10">xpdf</span>, <span +class="ec-lmss-10">gv</span> + i <span +class="ec-lmss-10">gsview</span>, nigdy na tę przypadłość nie cierpiały.) + </li> + <li class="itemize">Dla spójności, zmienne <span +class="ec-lmtt-10">HOMETEXMF </span>i <span +class="ec-lmtt-10">VARTEXMF </span>zostały przemianowane odpowiednio na <span +class="ec-lmtt-10">TEXMFHOME</span> + i <span +class="ec-lmtt-10">TEXMFSYSVAR</span>. Zachowano zmienną <span +class="ec-lmtt-10">TEXMFVAR</span>, przeznaczoną domyślnie dla użytkownika. Patrz też + punkt pierwszy, powyżej. + </li></ul> +<!--l. 3534--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">11.4. </span> <a + id="x1-8200011.4"></a>Wydanie 2006–2007</h4> +<!--l. 3536--><p class="noindent" >Największą nowością edycji lat 2006 i 2007 był Xe<span class="TEX">T<span +class="E">E</span>X</span>, w postaci programów <span +class="ec-lmtt-10">xetex </span>i <span +class="ec-lmtt-10">xelatex</span>; patrz +<a +href="../../../../texmf-dist/doc/xetex/XeTeX-reference.pdf" >texmf-dist/doc/xetex/XeTeX-reference.pdf</a> lub <a +href="http://scripts.sil.org/xetex" class="url" ><span +class="ec-lmtt-10">http://scripts.sil.org/xetex</span></a>. +<!--l. 3541--><p class="indent" > W istotny sposób został zaktualizowany MetaPost, zaplanowano także jego dalszy rozwój +(<a +href="http://tug.org/metapost/articles" class="url" ><span +class="ec-lmtt-10">http://tug.org/metapost/articles</span></a>); to samo dotyczy pdf<span class="TEX">T<span +class="E">E</span>X</span>-a (<a +href="http://tug.org/applications/pdftex" class="url" ><span +class="ec-lmtt-10">http://tug.org/applications/pdftex</span></a>). +<!--l. 3545--><p class="indent" > Pliki formatów (pdf)TeX-a (<span +class="ec-lmtt-10">.fmt</span>) oraz analogiczne dla MetaPosta i MetaFonta są od tej edycji zapisywane +w podkatalogach <span +class="ec-lmtt-10">texmf/web2c</span>, choć sam ten katalog jest nadal przeszukiwany. Podkatalogi te mają nazwę +zgodną z zastosowanym podczas generowania „silnikiem”, np. <span +class="ec-lmtt-10">tex</span>, <span +class="ec-lmtt-10">pdftex </span>lub <span +class="ec-lmtt-10">xetex</span>. Zmiana ta nie powinna +być zauważalna w typowym użyciu. +<!--l. 3552--><p class="indent" > Program <span +class="ec-lmtt-10">tex </span>(plain) od tej edycji już nie analizował pierwszego wiersza rozpoczynającego się znakami <span +class="ec-lmtt-10">%&</span>, +aby ustalić jaki ma wczytać format. Pozostał zatem czysty, Knuthowy <span class="TEX">T<span +class="E">E</span>X</span>. <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> i wszystkie pozostałe +formaty nadal analizują pierwszy wiersz z <span +class="ec-lmtt-10">%&</span>. +<!--l. 3557--><p class="indent" > Oczywiście, jak zwykle, w okresie od poprzedniego wydania opracowano setki innych aktualizacji pakietów +i programów. Kolejne aktualizacje można znaleźć tradycyjnie na CTAN (<a +href="http://mirror.ctan.org" class="url" ><span +class="ec-lmtt-10">http://mirror.ctan.org</span></a>). +<!--l. 3561--><p class="indent" > Drzewo źródłowe <span class="TEX">T<span +class="E">E</span>X</span> Live jest odtąd przechowywane w Subversion. Przeglądanie umożliwia standardowy +interfejs www, a jego adres zamieszczono na stronie <a +href="http://tug.org.pl/texlive" class="url" ><span +class="ec-lmtt-10">http://tug.org.pl/texlive</span></a>. Mimo iż nie widać efektów +tej zmiany w końcowej dystrybucji, mamy nadzieję, że w nadchodzących latach będzie to stabilne +repozytorium oprogramowania dla rozwoju <span class="TEX">T<span +class="E">E</span>X</span> Live. +<!--l. 3568--><p class="indent" > W maju 2006 r. Thomas Esser ogłosił, że zaprzestaje aktualizowania dystrybucji te<span class="TEX">T<span +class="E">E</span>X</span> +(<a +href="http://tug.org/tetex" class="url" ><span +class="ec-lmtt-10">http://tug.org/tetex</span></a>). Spowodowało to znaczny wzrost zainteresowanie <span class="TEX">T<span +class="E">E</span>X</span> Live, szczególnie wśród +dystrybutorów GNU/Linuksa. (W <span class="TEX">T<span +class="E">E</span>X</span> Live zdefiniowano w przybliżeniu równoważny, nowy schemat +instalacyjny pod nazwą <span +class="ec-lmtt-10">tetex</span>.) Mamy nadzieję, że w przyszłości doprowadzi to do takich ulepszeń +w otoczeniu <span class="TEX">T<span +class="E">E</span>X</span>-owym, na których skorzystają wszyscy. +<!--l. 3576--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">11.5. </span> <a + id="x1-8300011.5"></a>Wydanie 2008</h4> +<!--l. 3578--><p class="noindent" >W 2008 roku cała infrastruktura <span class="TEX">T<span +class="E">E</span>X</span> Live została przeprojektowana i przeprogramowana. Informacja +dotycząca instalacji jest przechowywana obecnie w zwykłym pliku tekstowym <span +class="ec-lmtt-10">tlpkg/texlive.tlpdb</span>. +<!--l. 3582--><p class="indent" > Po zainstalowaniu <span class="TEX">T<span +class="E">E</span>X</span> Live wreszcie jest możliwa jego aktualizacja z internetu, podobnie jak od paru lat +umożliwia to dystrybucja MiK<span class="TEX">T<span +class="E">E</span>X</span>. Zamierzamy regularnie aktualizować pakiety, w miarę jak będą się +pojawiać na serwerach CTAN. +<!--l. 3587--><p class="indent" > W tym wydaniu pojawił się nowy „silnik”, Lua<span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://luatex.org" class="url" ><span +class="ec-lmtt-10">http://luatex.org</span></a>). Prócz nowych, elastycznych +możliwości dotyczących składu, udostępnia on doskonały język skryptowy do zastosowania zarówno +w dokumentach <span class="TEX">T<span +class="E">E</span>X</span>-owych, jak i poza nimi. + + +<!--l. 3592--><p class="indent" > Obsługa dla Windows i platform opartych na Unix została obecnie znacznie bardziej zunifikowana. +W szczególności większość skryptów w Perlu i Lua dostępna jest teraz także dla Windows (zastosowano +„wewnętrzny” Perl, dostarczany wraz z <span class="TEX">T<span +class="E">E</span>X</span> Live). +<!--l. 3597--><p class="indent" > Pojawił się nowy skrypt <span +class="ec-lmss-10">tlmgr </span>(patrz część <a +href="#x1-460005">5<!--tex4ht:ref: sec:tlmgr --></a>), który staje się głównym narzędziem do zarządzania <span class="TEX">T<span +class="E">E</span>X</span> +Live po jego instalacji. Umożliwia on aktualizację pakietów wraz z niezbędnymi wtedy czynnościami, jak +regenerowanie formatów, aktualizacja map fontowych itp. +<!--l. 3602--><p class="indent" > Wraz z pojawieniem się <span +class="ec-lmss-10">tlmgr </span>niektóre funkcje <span +class="ec-lmss-10">texconfig </span>zostały zablokowane (edycja plików +konfiguracyjnych formatów i wzorców przenoszenia). +<!--l. 3606--><p class="indent" > Program <span +class="ec-lmss-10">xindy </span>do tworzenia skorowidzów (<a +href="http://xindy.sourceforge.net/" class="url" ><span +class="ec-lmtt-10">http://xindy.sourceforge.net/</span></a>) jest obecnie dostępny dla +większości platform. +<!--l. 3610--><p class="indent" > Narzędzie <span +class="ec-lmss-10">kpsewhich </span>może obecnie raportować wszystkie wyniki przeszukiwania danego pliku (parametr +<span +class="ec-lmtt-10">–all</span>), jak również ograniczyć wyszukiwanie do jednego katalogu (parametr <span +class="ec-lmtt-10">–subdir</span>). +<!--l. 3614--><p class="indent" > Program <span +class="ec-lmss-10">dvipdfmx </span>posiada obecnie funkcję <span +class="ec-lmss-10">extractbb </span>uzyskania informacji o prostokącie ograniczającym +(<span +class="ec-lmri-10">bounding box</span>); jest to jedna z ostatnich cech przejętych od dawniej używanego programu <span +class="ec-lmss-10">dvipdfm </span>(który jest +nadal dostępny). +<!--l. 3619--><p class="indent" > Usunięto aliasy fontów <span +class="ec-lmtt-10">Times-Roman</span>, <span +class="ec-lmtt-10">Helvetica</span>, itd. Różne pakiety korzystały z nich w nieoczekiwany +sposób (np. spodziewając się, że fonty te będą miały różne kodowanie). Nie ma obecnie dobrego sposobu na +rozwiązanie tych sprzeczności. +<!--l. 3624--><p class="indent" > Usunięto format <span +class="ec-lmss-10">platex</span>, by uniknąć konfliktu nazwy z używanym od wielu lat japońskim pakietem +<span +class="ec-lmss-10">platex</span>; pakiet <span +class="ec-lmss-10">polski </span>(czyli dawny <span +class="ec-lmss-10">platex</span>) jest obecnie wystarczającym sposobem na polonizację dla +<span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>-a. +<!--l. 3629--><p class="indent" > Usunięto pliki <span +class="ec-lmtt-10">.pool</span>, które są obecnie wkompilowane w programy, co ułatwia ich aktualizację. +<!--l. 3632--><p class="indent" > Do tego wydania włączono także ostatnie zmiany dokonane przez Donalda Knutha (tzw. <span class="TEX"><span +class="ec-lmri-10">T</span><span +class="E"><span +class="ec-lmri-10">E</span></span><span +class="ec-lmri-10">X</span></span><span +class="ec-lmri-10"> tuneup of</span> +<span +class="ec-lmri-10">2008</span>); patrz: <a +href="http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf" class="url" ><span +class="ec-lmtt-10">http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf</span></a>. +<!--l. 3636--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">11.6. </span> <a + id="x1-8400011.6"></a>Wydanie 2009</h4> +<!--l. 3638--><p class="noindent" >W wydaniu 2009 najbardziej widoczną zmianą jest to, że pdf(L<span +class="ec-lmr-7">A</span> )<span class="TEX">T<span +class="E">E</span>X</span> <span +class="ec-lmri-10">automatycznie </span>dokonuje konwersji pliku +EPS do PDF, poprzez uruchomienie programu <span +class="ec-lmtt-10">epstopdf </span>(dotyczy to sytuacji, gdy użyto pliku +konfiguracyjnego <span +class="ec-lmtt-10">graphics.cfg </span><span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>-a i gdy plikiem wynikowym składu ma być PDF). Domyślne +ustawienia zapobiegają nadpisaniu wszelkich utworzonych wcześniej przez użytkownika plików PDF, ale +można także wyłączyć uruchamianie <span +class="ec-lmtt-10">epstopdf</span>, wstawiając <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">\newcommand{\DoNotLoadEpstopdf}{}</span></span></span> (lub +<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">\def...</span></span></span>) przed deklaracją <span +class="ec-lmtt-10">\documentclass</span>. Szczegóły można znaleźć w dokumentacji pakietu epstopdf +(<a +href="http://ctan.org/pkg/epstopdf-pkg" class="url" ><span +class="ec-lmtt-10">http://ctan.org/pkg/epstopdf-pkg</span></a>). +<!--l. 3649--><p class="indent" > Ważną zmianą jest także uruchamianie podczas kompilacji niektórych zewnętrznych programów via +<span +class="ec-lmtt-10">\write18</span>. Dotyczy to np. <span +class="ec-lmtt-10">epstopdf</span>, <span +class="ec-lmtt-10">makeindex </span>czy <span +class="ec-lmtt-10">bibtex</span>. Dokładna lista takich programów zawarta jest w +pliku <span +class="ec-lmtt-10">texmf.cnf</span>. Dla instalacji, które mogą wymagać zakazu uruchamiania takich programów „w tle” +przewidziano odpowiednią opcję w programie instalacyjnym (patrz część  <a +href="#x1-290003.2.4">3.2.4<!--tex4ht:ref: sec:options --></a>). Po instalacji można +zablokować uruchamianie w pliku <span +class="ec-lmtt-10">texmf.cnf</span>. +<!--l. 3658--><p class="indent" > Od wydania 2009 domyślnym formatem wyjściowym dla Lua(L<span +class="ec-lmr-7">A</span> )<span class="TEX">T<span +class="E">E</span>X</span> staje się PDF (wykorzystuje on +m.in. obsługę przez Lua<span class="TEX">T<span +class="E">E</span>X</span>-a fontów OpenType). Aby uzyskać plik DVI należy użyć nowych poleceń: +<span +class="ec-lmtt-10">dviluatex </span>lub <span +class="ec-lmtt-10">dvilualatex</span>. Strona domowa projektu Lua<span class="TEX">T<span +class="E">E</span>X</span>: <a +href="http://luatex.org" class="url" ><span +class="ec-lmtt-10">http://luatex.org</span></a>. +<!--l. 3663--><p class="indent" > Usunięto oryginalny silnik Omega i format Lambda (w uzgodnieniu z autorami). Pozostał zaktualizowany +Aleph i format Lamed, oraz pliki pomocnicze Omega. +<!--l. 3666--><p class="indent" > Załączono nowe wydanie fontów AMS Type 1, m.in. fonty Computer Modern. Zawierają one poprawki dokonane +w plikach metafontowych przez D. Knutha w ciągu ostatnich lat, a także poprawki hintingu. Hermann Zapf +przeprojektował także fonty Euler (patrz <a +href="http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf" class="url" ><span +class="ec-lmtt-10">http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf</span></a>). +Co ważne, dla wszystkich fontów nie zmieniono plików metrycznych (TFM). Strona domowa fontów: +<a +href="http://www.ams.org/tex/amsfonts.html" class="url" ><span +class="ec-lmtt-10">http://www.ams.org/tex/amsfonts.html</span></a>. +<!--l. 3674--><p class="indent" > Dla Windows i Mac<span class="TEX">T<span +class="E">E</span>X</span> dołączono nowe środowisko-edytor <span class="TEX">T<span +class="E">E</span>X</span>works. Dla innych platform patrz: +<a +href="http://tug.org/texworks" class="url" ><span +class="ec-lmtt-10">http://tug.org/texworks</span></a>. Inspirowany przez edytor TeXShop dla Mac OS X, <span class="TEX">T<span +class="E">E</span>X</span>works jest +wieloplatformowym, łatwym w użyciu środowiskiem pracy. +<!--l. 3679--><p class="indent" > Dla niektórych platform załączono nowy program graficzny Asymptote (<a +href="http://asymptote.sourceforge.net" class="url" ><span +class="ec-lmtt-10">http://asymptote.sourceforge.net</span></a>). +Korzysta on z tekstowej notacji zbliżonej do MetaPosta, ale rozszerzonej do obsługi 3D itp. +<!--l. 3683--><p class="indent" > Program <span +class="ec-lmtt-10">dvipdfm </span>został zastąpiony przez <span +class="ec-lmtt-10">dvipdfmx</span>, który działa w specjalnym trybie kompatybilnym, gdy +użyć do wywołania dawną nazwę. <span +class="ec-lmtt-10">dvipdfmx </span>wspiera CJK i zawiera wiele poprawek od ostatniej dystrybucji +<span +class="ec-lmtt-10">dvipdfm</span>. Strona domowa: <a +href="http://project.ktug.or.kr/dvipdfmx" class="url" ><span +class="ec-lmtt-10">http://project.ktug.or.kr/dvipdfmx</span></a>. +<!--l. 3689--><p class="indent" > Dodano zestawy programów dla <span +class="ec-lmss-10">cygwin </span>i <span +class="ec-lmss-10">i386-netbsd</span>, podczas gdy usunięto programy dla innych platform + + +BSD. Zapewniono nas, że użytkownicy OpenBSD i FreeBSD będą mogli pobierać pakiety <span class="TEX">T<span +class="E">E</span>X</span>-owe wraz z +aktualizacją obu systemów. Ponadto natknęliśmy się na spore trudności przy kompilacji programów, które +mogłyby działać w różnych wersjach tych systemów. +<!--l. 3696--><p class="indent" > Inne zmiany: do kompresji pakietów użyto programu <span +class="ec-lmss-10">xz</span>, stanowiącego stabilny zamiennik <span +class="ec-lmss-10">lzma</span> +(<a +href="http://tukaani.org/xz/" class="url" ><span +class="ec-lmtt-10">http://tukaani.org/xz/</span></a>); znak <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">$</span></span></span> jest obecnie dozwolony w nazwach plików, o ile nie poprzedza on nazwy +znanej zmiennej; biblioteka Kpathsea jest obecnie wielowątkowa (co wykorzystano w programie MetaPost); do +budowy wszystkich programów wykorzystano teraz Automake. +<!--l. 3703--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">11.7. </span> <a + id="x1-8500011.7"></a>Wydanie 2010</h4> +<!--l. 3706--><p class="noindent" >Od wydania 2010 generowane są pliki PDF w wersji 1.5, oferującej lepszą kompresję. Dotyczy to wszystkich +mechanizmów używanych do generowania PDF, w tym <span +class="ec-lmtt-10">dvipdfmx</span>. Powrót do wersji 1.4 jest możliwy poprzez +użycie pakietu <span +class="ec-lmss-10">pdf14 </span>lub komendy <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">\pdfminorversion=4</span></span></span>. +<!--l. 3711--><p class="indent" > Obecnie pdf(L<span +class="ec-lmr-7">A</span> )<span class="TEX">T<span +class="E">E</span>X</span> <span +class="ec-lmri-10">automatycznie </span>konwertuje plik EPS (<span +class="ec-lmri-10">Encapsulated PostScript</span>) do formatu PDF, +wykorzystując pakiet <span +class="ec-lmss-10">epstopdf</span>, o ile załadowano <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>-owy plik konfiguracyjny <span +class="ec-lmtt-10">graphics.cfg </span>i wybrano +format wyjściowy PDF. Domyślne ustawienia mają na celu wykluczenie przypadkowego nadpisania +istniejących już, wygenerowanych innym sposobem plików PDF, ale można również zabronić uruchamiania +<span +class="ec-lmtt-10">epstopdf </span>wpisując przed poleceniem <span +class="ec-lmtt-10">\documentclass </span>polecenie <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">\newcommand{\DoNotLoadEpstopdf}{}</span></span></span> (lub +<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">\def...</span></span></span>). Program <span +class="ec-lmtt-10">epstopdf </span>nie jest również używany w przypadku dołączenia pakietu <span +class="ec-lmss-10">pst-pdf</span>. Więcej +szczegółów znajduje się w dokumentacji pakietu epstopdf (<a +href="http://ctan.org/pkg/epstopdf-pkg" class="url" ><span +class="ec-lmtt-10">http://ctan.org/pkg/epstopdf-pkg</span></a>). +<!--l. 3723--><p class="indent" > Domyślnie włączono również wykonywanie kilku programów zewnętrznych dla <span class="TEX">T<span +class="E">E</span>X</span>-a poprzez mechanizm +<span +class="ec-lmtt-10">\write18</span>. Dotyczy to: <span +class="ec-lmtt-10">repstopdf</span>, <span +class="ec-lmtt-10">makeindex</span>, <span +class="ec-lmtt-10">kpsewhich</span>, <span +class="ec-lmtt-10">bibtex </span>i <span +class="ec-lmtt-10">bibtex8 </span>(lista jest zdefiniowana +w <span +class="ec-lmtt-10">texmf.cnf</span>). W środowiskach, w których wykonywanie zewnętrznych programów jest niepożądane, należy +tę opcję zaznaczyć podczas instalacji (patrz: część <a +href="#x1-290003.2.4">3.2.4<!--tex4ht:ref: sec:options --></a>) lub wyłączyć już po niej poprzez uruchomienie: +<span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">tlmgr</span><span +class="ec-lmtt-10"> conf</span><span +class="ec-lmtt-10"> texmf</span><span +class="ec-lmtt-10"> shell_escape</span><span +class="ec-lmtt-10"> 0</span></span></span>. +<!--l. 3731--><p class="indent" > Kolejna zmiana dotyczyła programów BibTeX i Makeindex, które (podobnie zresztą jak sam <span class="TEX">T<span +class="E">E</span>X</span>) +domyślnie nie zapisują swoich plików wynikowych do dowolnie zdefiniowanego katalogu. Umożliwia to +w ograniczonym zakresie zadziałanie polecenia <span +class="ec-lmtt-10">\write18</span>. Aby to zmienić, należy ustawić zmienną +<span +class="ec-lmtt-10">TEXMFOUTPUT </span>lub zmodyfikować <span class="obeylines-h"><span class="verb"><span +class="ec-lmtt-10">openout_any</span></span></span>. +<!--l. 3737--><p class="indent" > Podobnie jak pdf<span class="TEX">T<span +class="E">E</span>X</span>, obecnie również Xe<span class="TEX">T<span +class="E">E</span>X</span> obsługuje wyrównywanie (tzw. kernowanie) na krawędzi +wiersza, ale możliwość poszerzania pisma (<span +class="ec-lmri-10">font expansion</span>) nadal nie jest dostępna. +<!--l. 3741--><p class="indent" > Program tlmgr podczas aktualizacji zachowuje obecnie domyślnie kopię poprzedniej wersji pakietu (<span +class="ec-lmtt-10">tlmgr</span> +<span +class="ec-lmtt-10">option autobackup 1</span>), zatem aktualizacja może zostać łatwo cofnięta poprzez <span +class="ec-lmtt-10">tlmgr restore</span>. +W przypadku ograniczonej ilości miejsca na dysku, opcja ta może zostać wyłączona przez <span +class="ec-lmtt-10">tlmgr option</span> +<span +class="ec-lmtt-10">autobackup 0</span>. +<!--l. 3747--><p class="indent" > Dołączono nowe programy: p<span class="TEX">T<span +class="E">E</span>X</span> i narzędzia do składu w języku japońskim, BibTeXU dla obsługi +Unicode w BibTeX-u, chktex (<a +href="http://baruch.ev-en.org/proj/chktex" class="url" ><span +class="ec-lmtt-10">http://baruch.ev-en.org/proj/chktex</span></a>) – program do sprawdzania +dokumentów (L<span +class="ec-lmr-7">A</span> )<span class="TEX">T<span +class="E">E</span>X</span>, dvisvgm – konwerter DVI do SVG (<a +href="http://dvisvgm.sourceforge.net" class="url" ><span +class="ec-lmtt-10">http://dvisvgm.sourceforge.net</span></a>) oraz binaria +dla nowych platform sprzętowych: <span +class="ec-lmtt-10">amd64-freebsd</span>, <span +class="ec-lmtt-10">amd64-kfreebsd</span>, <span +class="ec-lmtt-10">i386-freebsd</span>, <span +class="ec-lmtt-10">i386-kfreebsd</span>, +<span +class="ec-lmtt-10">x86_64-darwin</span>, <span +class="ec-lmtt-10">x86_64-solaris</span>. +<!--l. 3756--><p class="indent" > W dokumentacji zmian poprzedniego wydanie (<span class="TEX">T<span +class="E">E</span>X</span> Live 2009) nie zdążono uwzględnić usunięcia wielu +programów uruchomieniowych dla <span class="TEX">T<span +class="E">E</span>X</span>4ht (<a +href="http://tug.org/tex4ht" class="url" ><span +class="ec-lmtt-10">http://tug.org/tex4ht</span></a>) oraz zastąpienia ich jednym programem +<span +class="ec-lmtt-10">mk4ht</span>. +<!--l. 3761--><p class="indent" > Wreszcie, z powodu niewystarczającej ilości miejsca na płycie <span class="TEX">T<span +class="E">E</span>X</span> Collection DVD, zrezygnowano +z możliwości uruchamiania <span class="TEX">T<span +class="E">E</span>X</span> Live w trybie „live”. Jednocześnie znacznie przyspieszyło to sam proces +instalacji <span class="TEX">T<span +class="E">E</span>X</span> Live z płytki DVD. +<!--l. 3765--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">11.8. </span> <a + id="x1-8600011.8"></a>Wydanie 2011</h4> +<!--l. 3767--><p class="noindent" >Edycja 2011 zawierała stosunkowo niewiele zmian w porównaniu do poprzednich wydań. +<!--l. 3770--><p class="indent" > Programy dla Mac OS X (<span +class="ec-lmtt-10">universal-darwin </span>i <span +class="ec-lmtt-10">x86_64-darwin</span>) działają od tego momentu tylko dla wersji +Leopard i późniejszych. Wersje Panther i Tiger nie będą obsługiwane. +<!--l. 3774--><p class="indent" > Dla większości platform dołączono program <span +class="ec-lmtt-10">biber</span>, służący do przetwarzania danych bibliograficznych. +Rozwój tego programu jest ściśle związany z pakietem <span +class="ec-lmtt-10">biblatex</span>, który w zupełnie nowy sposób obsługuje +bibliografie w La<span class="TEX">T<span +class="E">E</span>X</span>-u . +<!--l. 3779--><p class="indent" > Program MetaPost (<span +class="ec-lmtt-10">mpost</span>) ani nie tworzy, ani już więcej nie wykorzystuje pliku formatu <span +class="ec-lmtt-10">.mem</span>. Wymagane +pliki (np. <span +class="ec-lmtt-10">plain.mp</span>) są po prostu wczytywane przy każdym uruchomieniu. Zmiana (choć niezauważalna dla + + +przeciętnego użytkownika) związana jest z nowym, innym podejściem: MetaPost jest obecnie traktowany jako +biblioteka programów. +<!--l. 3785--><p class="indent" > Zaprogramowany w Perl program <span +class="ec-lmtt-10">updmap </span>(uprzednio stosowany tylko w Windows) został dostosowany do +wszystkich platform. Również te zmiany są niezauważalne dl użytkownika, choć znacznie przyspieszyły +działanie programu. +<!--l. 3790--><p class="indent" > <a id="news"></a> + <h4 class="subsectionHead"><span class="titlemark">11.9. </span> <a + id="x1-8700011.9"></a>Obecna edycja</h4> +<!--l. 3794--><p class="noindent" >Program <span +class="ec-lmtt-10">tlmgr </span>pozwala na aktualizacje z kilku repozytoriów w sieci. Szczegóły zawarto w pomocy (<span +class="ec-lmtt-10">tlmgr</span> +<span +class="ec-lmtt-10">help</span>), w części dotyczącej wielu repozytoriów. +<!--l. 3798--><p class="indent" > Dla parametru <span +class="ec-lmtt-10">\XeTeXdashbreakstate </span>(<span +class="ec-lmtt-10">xetex </span>i <span +class="ec-lmtt-10">xelatex</span>) ustawiono domyślnie wartość 1. Pozwala to na +łamanie wierszy po myślnikach i separatorach zakresu liczb, co było zawsze typowe dla kompilacji programami +<span class="TEX">T<span +class="E">E</span>X</span>, <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>, Lua<span class="TEX">T<span +class="E">E</span>X</span>, itp. Chcąc zachować dotychczasowe dokładne miejsca łamania, pliki kompilowane +programem Xe<span class="TEX">T<span +class="E">E</span>X</span> wymagają zatem użycia polecenia <span +class="ec-lmtt-10">\XeTeXdashbreakstate=0</span>. +<!--l. 3806--><p class="indent" > Wynikowe pliki <span +class="ec-lmtt-10">pdftex </span>oraz <span +class="ec-lmtt-10">dvips </span>mogą obecnie przekroczyć wielkość 2GB. +<!--l. 3809--><p class="indent" > Dotychczas program <span +class="ec-lmtt-10">dvips </span>korzystał ze zbyt wielu różnych wersji standardowych 35 fontów +postscriptowych. Nie były one domyślnie włączane do pliku wynikowego, bo zakładano, że urządzenia +drukujące bądź programy (np. GhostScript) mają dostęp do odpowiednich fontów. Od tej edycji fonty ze +standardowego zestawu, dostarczone w dystrybucji <span class="TEX">T<span +class="E">E</span>X</span> Live, domyślnie są włączane do tworzonego przez +<span +class="ec-lmtt-10">dvips </span>pliku. +<!--l. 3816--><p class="indent" > W zastrzeżonym trybie pracy <span +class="ec-lmtt-10">\write18 </span>(ustawianym domyślnie) dopuszczono uruchamianie programu +<span +class="ec-lmtt-10">mpost</span>. +<!--l. 3819--><p class="indent" > Plik konfiguracyjny <span +class="ec-lmtt-10">texmf.cnf </span>znajdywany jest obecnie także w drzewie katalogów <span +class="ec-lmtt-10">../texmf-local</span>, np. +<span +class="ec-lmtt-10">/usr/local/texlive/texmf-local/web2c/texmf.cnf</span>. +<!--l. 3823--><p class="indent" > Skrypt <span +class="ec-lmtt-10">updmap </span>wczytuje <span +class="ec-lmtt-10">updmap.cfg </span>z kolejnych drzew <span class="TEX">T<span +class="E">E</span>X</span>-owych, zamiast jeden plik globalny. Zmiana +nie powinna być zauważalna, chyba że zmienimy ręcznie <span +class="ec-lmtt-10">updmap.cfg</span>. Uruchomienie <span +class="ec-lmtt-10">updmap –help </span>pokaże +szczegóły. +<!--l. 3828--><p class="indent" > Dodano binaria dla <span +class="ec-lmss-10">armel-linux </span>and <span +class="ec-lmss-10">mipsel-linux</span>. Usunięto z głównej dystrybucji binaria dla <span +class="ec-lmss-10">sparc-linux</span> +i <span +class="ec-lmss-10">i386-netbsd</span>, ale są one nadal dostępne (wraz z binariami dla kilku innych platform) na stronie: +<a +href="http://tug.org/texlive/custom-bin.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/custom-bin.html</span></a>. +<!--l. 3834--><p class="noindent" >Wszystkie wydania <span class="TEX">T<span +class="E">E</span>X</span> Live, wraz z dodatkowymi materiałami (np. okładkami płytek), są dostępne na +stronie: <a +href="ftp://tug.org/historic/systems/texlive" class="url" ><span +class="ec-lmtt-10">ftp://tug.org/historic/systems/texlive</span></a>. +<!--l. 3840--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">11.10. </span> <a + id="x1-8800011.10"></a> Przyszłe wersje</h4> +<!--l. 3842--><p class="noindent" ><span +class="ec-lmri-10">Niniejsza dystrybucja nie jest doskonała! </span>Planujemy kontynuować wydawanie nowych wersji i chcielibyśmy, +żeby zawierały one jeszcze więcej pomocnej dokumentacji, więcej programów użytkowych, lepsze programy +instalacyjne oraz stale ulepszany i poprawiany katalog makr i fontów. Zadanie to jest wykonywane przez +ciężko pracujących ochotników, poświęcających na to mnóstwo swojego wolnego czasu. Wiele +jeszcze zostało do zrobienia. Jeżeli możesz pomóc, nie zastanawiaj się i przyłącz się do nas. Patrz: +<a +href="http://tug.org/texlive/contribute.html" class="url" ><span +class="ec-lmtt-10">http://tug.org/texlive/contribute.html</span></a>. +<!--l. 3851--><p class="indent" > Prosimy o przesyłanie poprawek, sugestii i uzupełnień oraz deklaracji pomocy w opracowywaniu kolejnych +edycji pod adres: <a +href="mailto:tex-live@tug.org" ><span class="path"><span +class="ec-lmtt-10">tex-live@tug.org</span></span></a>. + +</body></html> + + + + diff --git a/Master/texmf-dist/doc/texlive/texlive-pl/texlive-pl.pdf b/Master/texmf-dist/doc/texlive/texlive-pl/texlive-pl.pdf Binary files differnew file mode 100644 index 00000000000..a470bb3aa68 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-pl/texlive-pl.pdf diff --git a/Master/texmf-dist/doc/texlive/texlive-pl/texlive-pl.tex b/Master/texmf-dist/doc/texlive/texlive-pl/texlive-pl.tex new file mode 100644 index 00000000000..9990b17257a --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-pl/texlive-pl.tex @@ -0,0 +1,3862 @@ +% iso8859-2 +% $Id: texlive-pl.tex, v. 46 2012/06/04 +% TeX Live documentation. +% Originally written by Sebastian Rahtz and Michel Goossens, +% now maintained by Karl Berry and others. +% Polish translation and additions by Staszek Wawrykiewicz +% (with a little help from my friends, while my guitar gently weeps ;-) +% Public domain. +% ---- +% UWAGA dla recenzentów/t³umaczy: %%! to moje komentarze (StaW) +\documentclass{article} +\let\tldocenglish=0 % for live4ht.cfg +\let\textsl\textit +\usepackage{tex-livep} +\usepackage{polski} %% for PL +\usepackage[latin2]{inputenc} %% for PL +\exhyphenpenalty=10000 %% for PL +\def\Dash{---} +\widowpenalty=10000 +\clubpenalty=10000 +%% redefined MF logo! %% for PL +%\def\MF{\textlogo{META}\-\textlogo{FONT}} %% for PL +%\def\MP{\textlogo{META}\-\textlogo{POST}} %% *** TP *** +\def\shac{\char178} % for PL + qtmr (HTML) +\def\aac{\char225} % for PL + qtmr (HTML) +\def\iac{\char237} % for PL + qtmr (HTML) +\renewcommand{\samp}[1]{,,\texttt{#1}''} %% for PL +%% Polish style for sections +\makeatletter +\renewcommand{\@seccntformat}[1]{% + \csname the#1\endcsname.\hspace{.5em}} %% +\def\numberline#1{\hb@xt@\@tempdima{#1.\hfill}} +\makeatother +\hyphenation{tex-basic la-tex pdf-tex} +%% ----- +\begin{document} + +\title{{\huge \textit{Przewodnik po \protect\TL}\\[1ex]} + {\LARGE \textsf\TL{} 2012} +} + +\author{Redakcja: Karl Berry \\[3mm] + \url{http://tug.org/texlive/} +} + +\date{Czerwiec 2012} + +\maketitle + +\begin{multicols}{2} +\tableofcontents +%\listoftables +\end{multicols} +%-------------------------- +\section{Wstêp}\label{sec:intro} + +\subsection{\TeX\ Live i \TeX\ Collection} +Niniejsza dokumentacja opisuje oprogramowanie \TL{} -- +dystrybucjê \TeX-a wraz z~programami pomocniczymi, dostêpn± dla +ró¿nych wersji Unix, w~tym \acro{GNU}/Linux, \MacOSX{} i~Cygwin, +oraz Windows. + +\TL{} mo¿na ¶ci±gn±æ z~sieci b±d¼ otrzymaæ na p³ytce \DVD \TK{}, dostarczanej +swoim cz³onkom przez Grupy U¿ytkowników Systemu \TeX{}. +Czê¶æ \ref{sec:tl-coll-dists} omawia pokrótce zawarto¶æ tej p³ytki. +Zarówno \TL{}, jak i \TK{} powsta³y dziêki zbiorowemu wysi³kowi Grup. +W~tym dokumencie omówimy g³ównie sam± dystrybucjê \TL. + +\TL{} zawiera skompilowane programy: \TeX{}, \LaTeXe{}, \mbox{\MF}, \MP, +\BibTeX{} i~wiele innych oraz bogaty zestaw pakietów makr o~wielorakim +zastosowaniu, a tak¿e fonty i~dokumentacje. Wszystko to umo¿liwia sk³ad +publikacji w~wielu jêzykach. + +Pakiety zawarte w~\TL{} s± regularnie aktualizowane z serwerów \acro{CTAN} +(\textit{Comprehensive TeX Archive Network}), które gromadz± wszelkie +zasoby dotycz±ce systemu \TeX: \url{http://www.ctan.org}. + +Lista najwa¿niejszych zmian dokonanych w~tej edycji \TL{} +znajduje siê w~czê¶ci~\ref{sec:tlcurrent}, na str.~\pageref{sec:tlcurrent}. + +Nie opisujemy tu, czym jest system \TeX{}, a~jedynie kwestiê instalacji +i~konfiguracji oprogramowania \TL. +Pocz±tkuj±cy u¿ytkownicy mog± siê zapoznaæ z~podstawowymi pojêciami +np. w~artykule {\it Przewodnik po systemie \TeX\/}: +\OnCD{texmf-dist/doc/generic/tex-virtual-academy-pl/cototex.html}. + +\htmlanchor{platforms} +\subsection{Obs³ugiwane systemy operacyjne} +\label{sec:os_support} + +\TL{} zawiera oprogramowanie dla wielu platform uniksowych, +w~tym \GNU/Linux, \MacOSX i~Cygwin. Za³±czone pliki ¼ród³owe pozwalaj± te¿ +na jego instalacjê na platformach innych systemów operacyjnych. + +Spo¶ród systemów Windows obs³ugiwane s± tylko XP i nowsze wersje +(choæ w Windows 2000 \TL{} te¿ w zasadzie dzia³a). +Wprawdzie brak jest oprogramowania dedykowanego dla wersji 64-bitowych, ale +aplikacje 32-bitowe powinny na nich dzia³aæ. + +W czê¶ci \ref{sec:tl-coll-dists} omówiono alternatywne dystrybucje, +przeznaczone dla Windows oraz \MacOSX. + +\subsection{Podstawy instalacji \protect\TL{}} +\label{sec:basic} + +\TL{} mo¿na zainstalowaæ z~p³ytki \DVD{} lub internetu +(\url{http://tug.org/texlive/acquire.html}). Program instalacyjny +jest niewielki i~pozwala pobraæ z sieci wszystkie potrzebne pakiety. +Jest to wygodne, zw³aszcza gdy potrzebujemy jedynie czê¶ci oprogramowania +\TL\ i~nie chcemy pobieraæ niepotrzebnie obrazu ca³ej p³yty instalacyjnej. + +Posiadaj±c p³ytkê \TK{} \DVD{} (lub jej obraz w~pliku \code{.iso}) +mo¿emy jedynie zaistalowaæ \TL{} na twardym dysku, +lub przygotowaæ przeno¶n± instalacjê np. na pen drivie +(patrz czê¶æ~\ref{sec:portable-tl}). +Szczegó³owy opis instalacji \TL{} znajduje siê w dalszych rozdzia³ach +tego dokumentu, tu podamy skrócony przepis: + +\begin{itemize*} + \item program instalacyjny \filename{install-tl} mo¿e dzia³aæ w~kilku +trybach: tzw. ,,wizard'' (graficznym, parametr \code{-gui=wizard}) -- +domy¶lnym dla Windows; tekstowym (\code{-gui=text}, domy¶lnym dla +Unix/Linux) i~graficznym trybie ,,expert'' (parametr \code{-gui=perltk}). +Dla wygody u¿ytkowników Windows uruchomienie +\filename{install-tl-advanced.bat} prze³±cza instalator w tryb ,,expert''. + %tryb mo¿na wymusiæ podaj±c parametr \code{-gui} + %b±d¼ \code{-no-gui}; + +\item jednym z~instalowanych programów jest \prog{tlmgr} (mened¿er \TL{}), +który równie¿ mo¿na uruchamiaæ w~trybie tekstowym b±d¼ graficznym; pozwala +on doinstalowaæ lub usun±æ pakiety, aktualizowaæ je z~sieci, a tak¿e +wykonaæ ró¿ne czynno¶ci konfiguracyjne. + +\end{itemize*} + +\htmlanchor{security} +\subsection{Uwagi dotycz±ce bezpieczeñstwa} +\label{sec:security} + +Zgodnie z~nasz± najlepsz± wiedz±, g³ówne programy \TeX-owe s± +(i~zawsze by³y) nadzwyczaj odporne. Jednak mimo dok³adania najwy¿szej +staranno¶ci, inne programy wspieraj±ce, zawarte w~\TeX\ Live, nie +zawsze osi±gaj± ten sam poziom. Jak zawsze, nale¿y byæ +ostro¿nym przy uruchamianiu programów z~danymi pochodz±cymi +z~niepewnych ¼róde³. Dla uzyskania najwy¿szego stopnia +bezpieczeñstwa zalecamy stosowania podczas pracy nowych podfolderów. + +Konieczno¶æ zachowania staranno¶ci jest szczególnie wa¿na w systemie +Windows, poniewa¿ niezale¿nie od zawarto¶ci ¶cie¿ki przeszukiwania +poszukuje on programów zawsze najpierw w bie¿±cym folderze. To +zachowanie systemu otwiera szerokie mo¿liwo¶ci ataku. Usunêli¶my +wiele luk, lecz niew±tpliwie niektóre jeszcze pozosta³y, szczególnie +przy uruchamianiu programów pochodz±cych z~innych ¼róde³. Zalecamy +wiêc sprawdzanie bie¿±cych folderów pod k±tem obecno¶ci podejrzanych +plików, w~szczególno¶ci plików wykonywalnych (binarnych lub +skryptów). Zwykle nie powinno ich byæ, a~w~szczególno¶ci nie +powinny byæ one tworzone w~wyniku zwyk³ego przetwarzania dokumentów. + +I~na koniec: \TeX\ (oraz towarzysz±ce mu programy) mog± tworzyæ +pliki przy przetwarzaniu dokumentów. W³asno¶æ ta jest na wiele ró¿nych +sposobów podatna na nadu¿ycia. Tak¿e w~tych przypadkach, +przetwarzanie nieznanych dokumentów w~nowych podfolderach jest +najlepszym znanym sposobem zabezpieczenia. + +\subsection{Dostêpna pomoc} +\label{sec:help} + +Spo³eczno¶æ \TeX-owa jest bardzo aktywna i~pomocna, st±d te¿ wiêkszo¶æ +powa¿nych zapytañ nie pozostaje bez odpowiedzi. Przed zadaniem +pytania warto je uprzednio dobrze przemy¶leæ i~sformu³owaæ, poniewa¿ +respondenci to wolontariusze, w¶ród których znale¼æ siê mog± mniej lub +bardziej do¶wiadczeni u¿ytkownicy. +(Je¶li preferujemy komercyjne wsparcie techniczne, mo¿emy zamiast +\TL{} zakupiæ system u~jednego z~dostawców, których listê mo¿na znale¼æ +na \url{http://tug.org/interest.html#vendors}.) + +Oto lista ¼róde³ pomocy, w~kolejno¶ci przez nas rekomendowanej: + +\begin{description} +\item [\TeX{} \acro{FAQ}] \TeX-owy \acro{FAQ} jest obszernym zbiorem +odpowiedzi na wiele pytañ, od najprostszych do najbardziej +zaawansowanych. Jest on za³±czony na \TL{} w~katalogu +\OnCD{texmf-dist/doc/generic/FAQ-en/html/index.html}, +a~tak¿e dostêpny w~sieci: \url{http://www.tex.ac.uk/faq}. Proponujemy +zajrzeæ najpierw tam. Uruchomiono te¿ serwis \acro{FAQ} +w~jêzyku polskim: \url{http://faq.gust.org.pl}. + +\item [\TeX{} Catalogue] Je¶li poszukujemy konkretnego pakietu, fontu, +programu itp., to polecamy \TeX{} Catalogue. Jest to obszerne zestawienie +wszelkich pakietów dotycz±cych \TeX-a. Patrz: + %\OnCD{texmf-dist/doc/english/catalogue} lub + \url{http://mirror.ctan.org/help/Catalogue/}. + +\item [\TeX{} Web Resources] Strona \url{http://tug.org/interest.html} +zawiera wiele odsy³aczy, w~szczególno¶ci do ksi±¿ek, podrêczników +i~artyku³ów po¶wiêconych wszelkim aspektom pracy z~systemem \TeX. + +\item [archiwa pomocy] Dwa g³ówne fora pomocy to grupa +Usenet \url{news:comp.text.tex} oraz lista dyskusyjna +\email{texhax@tug.org}. Warto przeszukaæ archiwa list dyskusyjnych, +zawieraj±ce wiele pytañ i odpowiedzi zbieranych przez wiele lat: +\url{http://groups.google.com/group/comp.text.tex/topics} oraz +\url{http://tug.org/mail-archives/texhax}. Nie zaszkodzi +skorzystanie z~wyszukiwarki, np. \url{http://www.google.com}. + +\item [wysy³anie pytañ] Je¶li nadal nie znajdujemy rozwi±zania problemu, +to mo¿emy wys³aæ pytanie do \dirname{comp.text.tex}, korzystaj±c z~Google, +czytnika wiadomo¶ci b±d¼ pisz±c list na adres \email{texhax@tug.org}. +Przedtem jednak \emph{nale¿y} zapoznaæ siê z~poradami dotycz±cymi sposobu +zadawania pytañ, zawartymi w~\acro{FAQ}: +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. +Warto wspomnieæ stronê \LaTeX{} Community +(\url{http://www.latex-community.org/}), forum +\url{http://www.latex-community.org/forum/} oraz +\TeX\ StackExchange (\url{http://tex.stackexchange.com/}). +Polscy u¿ytkownicy maj± do dyspozycji listê dyskusyjn± GUST (polskiej Grupy +U¿ytkowników Systemu \TeX); informacje o niej +znajdziemy na stronie \url{http://www.gust.org.pl}. + +\item [wsparcie ze strony spo³eczno¶ci \TL{}] Gdy chcemy zg³osiæ b³±d +b±d¼ sugestie i~komentarze dotycz±ce dystrybucji \TL{}, instalacji +lub dokumentacji, mamy do dyspozycji listê dyskusyjn± +\email{tex-live@tug.org}. Je¶li kwestia dotyczy konkretnego programu +(pakietu makr itp.) z~\TL{}, to lepiej jednak skierowaæ pytanie do osoby +opiekuj±cej siê danym programem lub na specjalistyczn± listê dyskusyjn±. + +\end{description} + +Druga strona medalu to pomaganie tym, którzy maj± problemy. Zarówno +\dirname{comp.text.tex}, jak i~\code{texhax} (oraz lista dyskusyjna GUST) +s± otwarte dla ka¿dego, +tak wiêc zapraszamy do w³±czenia siê, czytania wiadomo¶ci i~pomagania +innym w~miarê w³asnych mo¿liwo¶ci. Witamy w¶ród u¿ytkowników +systemu \TeX! + +%-------------------------- +\section{Struktura \protect\TeX\protect\ Live} +\label{sec:struct-tl} + +Omówimy tutaj strukturê i~zawarto¶æ dystrybucji \TL{}, a~tak¿e \TK{} -- +p³ytki \DVD, w~sk³ad której wchodzi \TL. + +\subsection{\protect\TeX\protect\ Collection: \TL, pro\TeX{}t, Mac\TeX} +\label{sec:tl-coll-dists} + +\TK{} \DVD{} zawiera: + +\begin{description} + +\item [\TL] kompletny system na \acro{DVD}, pozwala na instalacjê na +twardym dysku lub przygotowanie przeno¶nej instalacji np. na pen drivie; +strona domowa projektu: \url{http://tug.org/texlive/}. + +\item [Mac\TeX] dla systemu \MacOSX; posiada w³asny program instalacyjny +i~dodatkowe programy dla tego systemu; strona domowa projektu: +\url{http://tug.org/mactex/}; + +\item [pro\TeX{}t] dystrybucja dla Windows, oparta na dystrybucji \MIKTEX{}, +rozszerzonej o~dodatkowe narzêdzia; ca³kowicie niezale¿na od \TL; +\ProTeXt\ posiada w³asny, ³atwy w~obs³udze program instalacyjny; + strona domowa projektu: \url{http://tug.org/protext}; + +\item [CTAN] zrzut zawarto¶ci archiwów \CTAN{}; +(\url{http://www.ctan.org}). + +\item [\texttt{texmf-extra}] katalog z wybranymi pakietami dodatkowymi. + +\end{description} + +\CTAN, \pkgname{protext}, i~\texttt{texmf-extra} nie spe³niaj± przyjêtych dla +\TL{} wymogów dotycz±cych swobody kopiowania, wobec tego nale¿y ten fakt +uwzglêdniæ przy redystrybucji b±d¼ modyfikacji zawarto¶ci wymienionych +katalogów. + +\subsection{G³ówne katalogi \TL} +\label{sec:tld} + +Poni¿ej wymieniono wa¿niejsze podkatalogi g³ównego katalogu \emph{instalacji} \TL +(na p³ytce \TK{} \DVD{} ca³a dystrybucja \TL{} zosta³a +umieszczona w katalogu \dirname{texlive}, którego struktura nieco siê ró¿ni, nie za¶ w~katalogu g³ównym; +poni¿ej traktujemy katalog \dirname{texlive} jako katalog g³ówny we wszystkich +odniesieniach do \TL). + +\begin{ttdescription} +\item[bin] skompilowane programy \TeX-owe, zorganizowane w~podkatalogach + wed³ug platform systemowych; + +\item[readme-*.html] krótkie omówienie z~u¿ytecznymi odno¶nikami, +w kilku jêzykach, w formacie \HTML{} i~zwyk³ym tekstowym; + +\item[source] ¼ród³a wszystkich programów, w³±cznie z~g³ównymi dystrybucjami + \Webc{} \TeX-a; + +%\item[support] ró¿ne programy pomocnicze zwi±zane z~\TeX-em, które \emph{nie} +% s± domy¶lnie instalowane; +% dla u¿ytkowników systemów Windows do³±czono ponadto szereg programów +% (edytory, ,,shelle TeX-owe''), których zwykle brak w~typowej instalacji +% Windows (programy te mog± byæ szczególnie przydatne dla pocz±tkuj±cych); + +\item[texmf] drzewo katalogów plików pomocniczych i~dokumentacji dla + \emph{programów} (patrz: \texttt{TEXMFMAIN} w~nastêpnej czê¶ci); + +\item[texmf-dist] g³ówne drzewo katalogów formatów i~pakietów (zawiera makra, + fonty i~dokumentacje; patrz: \texttt{TEXMDIST} w~nastêpnej czê¶ci); + +%\item[texmf-doc] drzewo samodzielnych dokumentacji (m.in. podrêczniki itp.), +% niezwi±zane z~konkretnymi pakietami, zorganizowane wed³ug jêzyków. + +\item[tlpkg] skrypty, programy i~inne dane potrzebne do instalacji; + katalog zawiera tak¿e ,,prywatne'' dla \TL{} kopie oprogramowania Perl i~Ghostscript + dla Windows (nie koliduj± one z~posiadanymi przez u¿ytkownika podobnymi + programami i~dzia³aj± tylko w~ramach instalacji); poza tym do³±czono + szybki i~wygodny program do podgl±du plików postscriptowych i~PDF + -- PS\_View dla Windows. +\end{ttdescription} + +Prócz podkatalogów wymienionych powy¿ej, katalog g³ówny zawiera skrypty +instalacyjne oraz pliki \filename{README}, w~formacie tekstowym lub HTML, +w~kilku jêzykach (równie¿ polskim). + + %Katalog \dirname{texmf-doc} zawiera, jak wspomniano wy¿ej, dokumentacje + %ogólne, np. podrêczniki (tak¿e po polsku). + Do znalezienia dokumentacji przydatne mog± byæ dowi±zania zawarte w pliku +\OnCD{doc.html}, który znajdziemy w~g³ównym katalogu instalacji. Dokumentacje programów +(man, info, tak¿e w~formacie PDF) znajduj± siê w~katalogu +\dirname{texmf/doc}, za¶ dokumentacje pakietów makr, fontów i~formatów +w~katalogu \dirname{texmf-dist/doc}. W~odszukaniu konkretnej dokumentacji +w~dowolnym z~wymienionych katalogów mog± pomóc programy \cmdname{texdoc} lub +\cmdname{texdoctk}. + +Niniejsza dokumentacja w~kilku jêzykach znajduje siê na p³ytce \TK{}DVD\ w~podkatalogach katalogu \dirname{texlive-doc}, +za¶ po instalacji w~podkatalogach katalogu \dirname{texmf/doc/texlive}: + +\begin{itemize*} +\item{uproszczony chiñski:} \OnCD{texmf/doc/texlive/texlive-zh-cn} +\item{czeski/s³owacki:} \OnCD{texmf/doc/texlive/texlive-cz} +\item{angielski:} \OnCD{texmf/doc/texlive/texlive-en} +\item{francuski:} \OnCD{texmf/doc/texlive/texlive-fr} +\item{niemiecki:} \OnCD{texmf/doc/texlive/texlive-de} +\item{polski:} \OnCD{texmf/doc/texlive/texlive-pl} +\item{rosyjski:} \OnCD{texmf/doc/texlive/texlive-ru} +\item{serbski:} \OnCD{texmf/doc/texlive/texlive-sr} +\item{w³oski:} \OnCD{texmf/doc/texlive/texlive-it} +\end{itemize*} + +\subsection{Predefiniowane drzewa katalogów texmf} +\label{sec:texmftrees} + +W tej czê¶ci wymieniono wszystkie u¿ywane przez system, predefiniowane +zmienne specyfikuj±ce drzewa katalogów texmf; omówiono te¿ ich przeznaczenie. +Uruchomiaj±c polecenie \texttt{tlmgr conf}, wy¶wietlimy warto¶ci tych +zmiennych, dziêki czemu ³atwo ustalimy, które katalogi w~naszej instalacji s± +przypisane do konkretnych zmiennych. + +Wszystkie drzewa katalogów, w³±cznie z prywatnymi katalogami u¿ytkownika, +powinny posiadaæ strukturê zgodn± z zaleceniami \TeX\ +Directory Structure (\TDS, \url{http://tug.org/tds}), konsekwentnie wraz +z mnóstwem podkatalogów. W przeciwnym wypadku potrzebne pliki mog± nie zostaæ +odnalezione. W czê¶ci \ref{sec:local-personal-macros} +(str.~\pageref{sec:local-personal-macros}) bêdzie to omówione dok³adniej. + +\begin{ttdescription} +\item [TEXMFMAIN] Drzewo katalogów zawieraj±ce podstawowe dla + dystrybucji elementy systemu, jak skrypty + %(np. \verb+web2c/mktexdir+), + i~inne pliki pomocnicze oraz dokumentacjê programów (nie zawiera zatem + pakietów makr ani formatów). +\item [TEXMFDIST] Drzewo katalogów zawieraj±ce pakiety makr, fontów itp., + %tak jak s± one oryginalnie dystrybuowane; + drzewo to mo¿e byæ wspó³dzielone z~dowoln± dystybucj±. +\item [TEXMFLOCAL] Drzewo katalogów, które administratorzy mog± wykorzystaæ + do przechowywania lokalnych makr, fontów itp., dostêpnych dla wszystkich + u¿ytkowników serwera. +\item [TEXMFHOME] Drzewo katalogów dla prywatnych makr, fontów itp. + u¿ytkownika. Rozwiniêcie tej zmiennej zale¿y domy¶lnie od warto¶ci przypisanej + zmiennej systemowej \verb+$HOME+ (w~Windows \verb+%USERPROFILE%+). +\item [TEXMFCONFIG] Lokalne drzewo katalogów wykorzystywane przez narzêdzia + \verb+texconfig+, \verb+updmap+ oraz \verb+fmtutil+ do przechowywania + danych konfiguracyjnych (domy¶lnie w~ramach \envname{TEXMFHOME}). +\item [TEXMFSYSCONFIG] Drzewo katalogów wykorzystywane przez narzêdzia + \verb+texconfig-sys+, \verb+updmap-sys+ oraz \verb+fmtutil-sys+ + do przechowywania danych konfiguracyjnych dla ca³ej instalacji (np. + sieciowej). +\item [TEXMFVAR] Lokalne drzewo katalogów wykorzystywane przez \verb+texconfig+, + \verb+updmap+ i~\verb+fmtutil+ do przechowywania wygenerowanych plików + formatów i~map fontowych (domy¶lnie w~ramach \envname{TEXMFHOME}). +\item [TEXMFCACHE] Drzewa katalogów wykorzystywane przez + \ConTeXt\ Mk\acro{IV} do przechowywania + %!!!(cached) runtime data. ??? + buforowanych danych z~przetwarzania. + %Domy¶lna warto¶æ w \TL{} jest identyczna z \verb+TEXMFVAR+. +\item [TEXMFSYSVAR] Drzewo katalogów wykorzystywane przez + \verb+texconfig-sys+, \verb+updmap-sys+, \verb+fmtutil-sys+, a~tak¿e + przez program \verb+tlmgr+ do przechowywania wygenerowanych plików + formatów i~map fontowych dla ca³ej instalacji. +\end{ttdescription} + +\noindent +Domy¶lny uk³ad katalogów: +\begin{description} + \item[ogólnosystemowy katalog instalacji] mo¿e zawieraæ kilka wydañ \TL{}: + \begin{ttdescription} + \item[2011] poprzednie wydanie, + \item[2012] wydanie aktualne: + \begin{ttdescription} + \item [bin] ~ + \begin{ttdescription} + \item [i386-linux] programy dla \GNU/Linux + \item [...] + \item [universal-darwin] programy dla \MacOSX + \item [win32] programy dla Windows + \end{ttdescription} + \item [texmf\ \ \ \ ] okre¶lany zmienn± \envname{TEXMFMAIN} + \item [texmf-dist\ \ ] \envname{TEXMFDIST} + \item [texmf-var\ \ ] \envname{TEXMFSYSVAR} + \item [texmf-config] \envname{TEXMFSYSCONFIG} + \end{ttdescription} + \item [texmf-local] \envname{TEXMFLOCAL}, katalog zachowywany + od wydania do wydania, + \end{ttdescription} + \item[katalog domowy u¿ytkownika] (\texttt{\$HOME} lub + \texttt{\%USERPROFILE\%}) + \begin{ttdescription} + \item[.texlive2011] prywatne pliki konfiguracyjne + poprzedniego wydania + \item[.texlive2012] prywatne pliki konfiguracyjne + dla bie¿±cego wydania: + \begin{ttdescription} + \item [texmf-var\ \ ] \envname{TEXMFVAR}, \envname{TEXMFCACHE} + \item [texmf-config] \envname{TEXMFCONFIG} + \end{ttdescription} + \item[texmf] \envname{TEXMFHOME} prywatne makra, fonty itp. + \end{ttdescription} +\end{description} + +\subsection{Rozszerzenia \protect\TeX-a} +\label{sec:tex-extensions} + +Oryginalny \TeX{}, stworzony przez prof. Knutha, zosta³ zamro¿ony, ale +jest i~bêdzie w~przysz³o¶ci dostêpny w~dystrybucji. \TL{} zawiera ponadto +kilka wersji rozszerzonych standardowego \TeX-a: + +\begin{description} +\item [\eTeX] wersja \label{text:etex} programu \TeX{}, w~której dodano + po¿yteczny zestaw nowych poleceñ wbudowanych + (dotycz±cych g³ównie rozwijania makr, leksemów znakowych, interpretacji + znaczników itp.) oraz rozszerzenie \TeXXeT{} dla sk³adu + od prawej do lewej. W~trybie domy¶lnym \eTeX{} jest w~100\% zgodny ze + standardowym programem \TeX. Wiêcej szczegó³ów mo¿na znale¼æ + w~\OnCD{texmf-dist/doc/etex/base/etex_man.pdf}. + +\item [pdf\TeX] program zawieraj±cy silnik \eTeX{} i dalsze +rozszerzenia, który umo¿liwia tworzenie plików zarówno w~formacie PDF, jak +i~\dvi{}. Jest on domy¶lnym programem dla wiêkszo¶ci formatów (prócz plain +\TeX), nie ma wiêc obecnie rozró¿nienia na ,,maszyny'' \textsf{pdftex} i +\textsf{pdfetex}, jak to mia³o miejsce w~poprzednich wersjach programów +i~w~poprzednich dystrybucjach \TL. Podrêczniki znajdziemy w~katalogu +\OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf}, za¶ przyk³ad wykorzystania +w~pliku \OnCD{texmf-dist/doc/pdftex/manual/samplepdf/samplepdf.tex}. + +\item [Lua\TeX] docelowo sukcesor pdf\TeX-a, z~którym ma byæ, aczkolwiek +nieca³kowicie, zgodny wstecz. +Powinien tak¿e zast±piæ Aleph (patrz ni¿ej), choæ nie zak³ada siê +tu technicznej kompatybilno¶ci. Za³±czony +interpreter Lua (patrz strona domowa \url{http://www.lua.org/}) +pozwala na eleganckie rozwi±zanie wielu trudnych problemów \TeX-a. +Program \filename{texlua} ma funkcjonalno¶æ samodzielnego +interpretera Lua, co sprawia, ¿e jest u¿ywany w~\TL{} do wielu zadañ. +Patrz \url{http://www.luatex.org/} i~na \DVD{} +\OnCD{texmf-dist/doc/luatex/luatexref-t.pdf}. + +\item [Xe\TeX] umo¿liwia kodowanie tekstów w~Unicode oraz korzystanie +z~fontów OpenType (tak¿e tych dostêpnych bezpo¶rednio w~systemie operacyjnym), +przy czym stosuje biblioteki obce. Patrz \url{http://tug.org/xetex}. + +\item [\OMEGA{} (Omega)] program, który pracuje wewnêtrznie ze znakami +kodowanymi 16-bitowo (Unicode), pozwalaj±c sk³adaæ jednocze¶nie +wiêkszo¶æ tekstów spotykanych na ¶wiecie. Wspomaga dynamicznie +³adowane tzw. ,,procesy t³umaczenia \OMEGA'' (\acro{OTP}), co pozwala +u¿ytkownikowi definiowaæ z³o¿one transformacje, wykonywane na dowolnych +strumieniach wej¶ciowych. + %Wiêcej szczegó³ów znale¼æ mo¿na na \DVD: + %\OnCD{texmf-dist/doc/omega/base/doc-1.8.tex} (dokumentacja niezbyt aktualna; + Sam program od dawna nie jest aktualizowany, zosta³ wiêc usuniêty z~\TL. + Pozostawiono jego dzia³aj±cy klon: + +\item [Aleph] ³±czy rozszerzenia \OMEGA\ i~\eTeX; powsta³ jako niezale¿ny +projekt z~potrzeby stabilnej ,,u¿ywalno¶ci'' programu Omega, w~sytuacji, +gdy ten pozostawa³ wci±¿ w~fazie eksperymentalnej. Dostêpna jest minimalna +dokumentacja: \OnCD{texmf-dist/doc/aleph/base}. + +\end{description} + +\subsection{Inne wa¿niejsze programy \protect\TL} + +Poni¿ej zestawiono kilka innych, najczê¶ciej u¿ywanych programów, dostêpnych +w~dystrybucji \TL{}: + +\begin{cmddescription} + +\item[bibtex, bibtex8] tworzenie spisów bibliograficznych; + +\item[makeindex, xindy] tworzenie posortowanych skorowidzów; + +\item[dvips] konwersja \dvi{} do \PS{}; + +\item[xdvi] przegl±darka plików \dvi{} dla X~Window; + +\item[dvilj] sterownik dla drukarek HP LaserJet; + +%\item [dv2dt, dt2dv] konwerter \dvi{} do/z tekstu ASCII; + +\item [dviconcat, dviselect] programy do manipulacji stronami w~plikach + \dvi{}; + +\item [dvipdfmx] konwersja \dvi{} do PDF, metoda alternatywna w~stosunku + do wspomnianego wy¿ej programu pdf\TeX{}; + %(pakiety \pkgname{ps4pdf} i~\pkgname{pdftricks} dostarczaj± tutaj kolejnych + %mo¿liwo¶ci); + +\item [psselect, psnup, \ldots] narzêdzia do manipulacji na plikach +postscriptowych; + +\item [pdfjam, pdfjoin, \ldots] narzêdzia do manipulacji na plikach + \acro{PDF}; + +%\item [lacheck] kontrola syntaktyki plików \LaTeX-owych; + +\item [texexec, texmfstart] programy uruchamiaj±ce dla Con\TeX{}t; + +\item [tex4ht] postprocesor dla \TeX-a konwersji do HTML i XML. + +\end{cmddescription} + +%%! zostawiam tê czê¶æ, choæ wylecia³a z wersji oryginalnej!!! 27.08.2003 +%%! zmiany: 24.09.2009 + +\subsection[Pakiety i ich zestawy]{Pakiety i ich zestawy} +\label{packages} +Zawarto¶æ drzew \texttt{texmf} na \TL{} zosta³a do celów instalacji +zorganizowana w~szereg ,,zestawów'' (\emph{collections}), +z~których ka¿dy posiada zbiór ,,pakietów'' (\emph{packages}; jest ich obecnie +ponad 2500). Normalna instalacja pozwala u¿ytkownikowi skopiowaæ +z~\DVD{} na twardy dysk jeden lub wiêcej zestawów, ale mo¿na te¿ +doinstalowaæ z niej do ju¿ zainstalowanego zestawu jedynie pojedynczy pakiet. + +Zestawy pozwalaj± lepiej dobraæ instalowane sk³adniki, a~tak¿e okre¶liæ, +jakie jêzyki bêd± obs³ugiwane po instalacji. Najwa¿niejszy zestaw, wymagany +dla wiêkszo¶ci zastosowañ, to ,,Essential programs and files''. Zestawy +,,Basic LaTeX packages'' i~,,Recommended fonts'' s± rekomendowane dla +wiêkszo¶ci u¿ytkowników. Pozosta³e zestawy s± opcjonalne. + +Oto wybrane dostêpne zestawy i~krótki opis ich zawarto¶ci: + +\begin{description} +\item[Essential programs and files] podstawowe programy, pakiety makr +i~fontów systemu \TeX{}, pliki konfiguracyjne dla podstawowych sterowników; +\item[Extra BibTeX styles] dodatkowa, obszerna biblioteka stylów Bib\TeX-owych + i~bazy danych bibliograficznych (podstawowe style znajduj± siê w~zestawie + ,,Essential\dots''); +%\item[chemistry] pakiety makr do sk³adu wzorów chemicznych; + \item[Context format] pakiet makr do Con\TeX{}t -- ,,dialektu'' \TeX-a + autorstwa Hansa Hagena; + %\item[documentation] dodatkowe, u¿yteczne dokumentacje; + %\item[etex] pliki pomocnicze dla programu e-\TeX; + \item[TeX auxiliary programs] ró¿ne programy pomocnicze; zestaw + zawiera m.in. + programy i~makra dla systemu texinfo, programy do manipulacji na plikach + DVI itp.; +\item[TeX and Outline font utilities] programy do konwersji plików + fontowych oraz testowania + i~instalacji fontów (zestaw do tworzenia fontów wirtualnych, manipulacji + plikami .gf i~.pk, programy \texttt{mft}, \texttt{fontinst} itp.); +\item[Recommended fonts] obszerna biblioteka czê¶ciej u¿ywanych fontów + w~postaci ¼ród³owej (.mf) b±d¼ fontów obwiedniowych oraz pliki z~definicjami + i~stylami \LaTeX-a dla tych fontów; +\item[Extra fonts] biblioteka ró¿nych rzadziej u¿ywanych fontów; +\item[Extra formats] pliki pomocnicze do generowania dodatkowych + ,,formatów'' (tj. obszerne zestawy makr s³u¿±ce do wstêpnego przetworzenia + i~utworzenia pliku \texttt{.fmt}); +\item[Games typesetting] pakiety do prezentacji zapisu ró¿nych gier (szachy, + bryd¿ itp.); +\item[Extra generic packages] obszerna biblioteka makr, trudnych do + sklasyfikowania, dzia³aj±cych z~ró¿nymi formatami (Plain, \LaTeX{} itp.); +\item[HTML/SGML/XML support] pakiety konwersji \LaTeX-a do XML/HTML oraz + do sk³adu dokumentów XML/SGML; +\item[lang\dots] wsparcie poszczególnych jêzyków; zestawy zawieraj± + wzorce przenoszenia wyrazów i~makra obs³ugi danych jêzyków, czasem te¿ + specyficzne fonty itp., przyk³adowo: + %\item[langarmenian] armeñski; +%\item[langcjk] pakiety CJK (obs³uga chiñskiego, japoñskiego i~koreañskiego); +%\item[langcroatian] chorwacki; +%\item[langcyrillic] fonty i makra do sk³adu cyrylic±; +%\item[langczechslovak] fonty i pakiety makr dla czeskiego i~s³owackiego; +%\item[langdanish] duñski; +%\item[langdutch] holenderski; +%\item[langfinnish] fiñski; +%\item[langfrench] francuski; +%\item[langgerman] niemiecki; +%\item[langgreek] grecki; +%\item[langhungarian] wêgierski; +%\item[langindic] wsparcie dla jêzyków indyjskich; +%\item[langitalian] w³oski; +%\item[langlatin] ³acina; +%\item[langmanju] jêzyk Manju; +%\item[langmongolian] mongolski; +%\item[langnorwegian] norweski; +%\item[langother] wzorce przenoszenia wyrazów dla innych jêzyków; +\item[langpolish] zawiera polskie pakiety: makra do tworzenia formatu MeX, + pakiety \texttt{polski}, \texttt{mwcls}, fonty i~makra dodatkowe + przydatne dla polskich u¿ytkowników oraz dokumentacje w~jêzyku polskim. +%\item[langportuguese] portugalski; +%\item[langspanish] hiszpañski; +%\item[langswedish] szwedzki; +%\item[langtibetan] fonty i~wsparcie do sk³adu tybetañskiego; +%\item[langukenglish] angielski (brytyjski); +%\item[langvietnamese] wietnamski; +%\item[music] makra do sk³adu nutowego; +%\item[omega] rozszerzenie \TeX{}a autorstwa Johna Plaice'a i~Yannisa Haralambousa, dzia³aj±ce ze znakami kodowanymi 16-bitowo; +%\item[pdftex] pliki pomocnicze dla pdf\TeX{}-a, wersji programu \TeX{} +% tworz±cej pliki w~formacie PDF; +%\item[pictures] pakiety do tworzenia diagramów i~innych obiektów graficznych; +%\item[plainextra] dodatkowe biblioteki makr dla Plain \TeX; +%\item[psutils] narzêdzia do manipulacji plikami \PS-owymi; +%\item[publishers] pakiety makr pochodz±ce od ró¿nych wydawnictw; +%\item[t1utils] narzêdzia do obs³ugi fontów w~formacie Type~1; +%\item[texbooks] przyk³ady i~inne materia³y autorstwa D.E.~Knutha; +%\item[ttfutils] narzêdzia do konwersji fontów True Type. +\end{description} +%-------------------------- +%%! koniec pozostawionej sekcji 24.09.2009 + +\begin{figure}[ht] +\begin{boxedverbatim} +Installing TeX Live 2012 from: ... +Platform: i386-linux => 'Intel x86 with GNU/Linux' +Distribution: inst (compressed) +... + Detected platform: Intel x86 with GNU/Linux + + <B> platforms: 1 out of 19 + + <S> Installation scheme (scheme-full) + 84 collections out of 85, disk space required: 3091 MB + + Customizing installation scheme: + <C> standard collections + <L> language collections + + <D> directories: + TEXDIR (the main TeX directory): + /usr/local/texlive/2012 + ... + + <O> options: + [ ] use letter size instead of A4 by default + ... + + <V> set up for portable installation + +Actions: + <I> start installation to hard disk + <H> help + <Q> quit +\end{boxedverbatim} +\caption{G³ówny ekran instalatora w~trybie tekstowym + (\GNU/Linux)}\label{fig:text-main} +\end{figure} + +Plik \texttt{tlpdb/texlive.tlpdb} (wykorzystywany podczas instalacji) +zawiera spis wszystkich plików w~ka¿dym pakiecie. + +\subsection{Fonty w \protect\TL} +\label{sec:tl-fonts} + +\TL{} zawiera wiele wysokiej jako¶ci fontów skalowanych. Patrz: +\url{http://tug.org/fonts} oraz +\OnCD{texmf-dist/doc/fonts/free-math-fonts-survey}. + +%==== + +\htmlanchor{installation} +\section{Instalacja} +\label{sec:install} + +\subsection{Start instalacji} +\label{sec:inst-start} + +Instalacjê \TL{} uruchamiamy z~p³ytki \TK{} \DVD{} (b±d¼ po pobraniu z~sieci +pakietu instalacyjnego i~jego rozpakowaniu) skryptem \filename{install-tl} +(Unix), \filename{install-tl.bat} lub \filename{install-tl-advanced.bat} +(Windows). Dodatkowe informacje na temat ró¿nych metod instalacji znajdziemy +na stronie \url{http://tug.org/texlive/acquire.html}. + +\begin{description} +\item [Instalacja z sieci:] z~archiwum \CTAN, z~katalogu +\dirname{systems/texlive/tlnet} +(\url{http://mirror.ctan.org/systems/texlive/tlnet} automatycznie +przekierowuje do najbli¿szej kopii \CTAN) nale¿y pobraæ plik +\filename{install-tl.zip} (wspólny dla Unix i Windows) lub znacznie mniejszy +\filename{install-unx.tar.gz} (tylko dla Unix). Po rozpakowaniu, +w~katalogu \dirname{install-tl/} znajdziemy skrypty instalacyjne +\filename{install-tl}, \filename{install-tl.bat} +i~\filename{install-tl-advanced.bat}. + +\item [Instalacja z p³ytki \TeX{} Collection \DVD:] po zamontowaniu +p³ytki nale¿y zmieniæ katalog bie¿±cy na \dirname{texlive} \DVD{} +(w~Windows program instalacyjny powinien uruchomiæ siê automatycznie). +\DVD{} otrzymamy w ramach cz³onkostwa w~dowolnej Grupie U¿ytkowników +Systemu \TeX{} (kontakt w Polsce \url{http://www.gust.org.pl}). Mo¿emy +tak¿e wypaliæ p³ytkê z dostêpnego w sieci jej obrazu \ISO{} b±d¼ zamontowaæ +bezpo¶rednio plik obrazu (w wiêkszo¶ci systemów istnieje taka mo¿liwo¶æ). Po +zainstalowaniu z \DVD\ lub obrazu \ISO{} mo¿na dokonywaæ aktualizacji +z~internetu (patrz \ref{sec:dvd-install-net-updates}). +\end{description} + +Bez wzglêdu na ¼ród³o stosowany jest ten sam program instalacyjny. Jedyn± +widoczn± ró¿nic± przy instalacji z sieci jest pobranie zaktualizowanych +pakietów, w przeciwieñstwie do \DVD\ i obrazu \ISO, które nie s± +aktualizowane miêdzy corocznymi wydaniami. + +Dalsze kroki omówiono dok³adniej poni¿ej. + + +\subsubsection{Unix} + +\noindent +Poni¿ej \texttt{>} oznacza znak zachêty systemu (tzw. prompt); to, +co wpisuje u¿ytkownik, zaznaczono \Ucom{\texttt{pogrubieniem}}. +W~oknie terminala nale¿y wykonaæ: +\begin{alltt} +> \Ucom{cd /path/to/installer} +> \Ucom{perl install-tl} +\end{alltt} +(mo¿na tak¿e uruchomiæ \Ucom{perl /path/to/installer/install-tl} lub +\Ucom{./install-tl}; w dalszej czê¶ci nie bêdziemy powtarzaæ wszelkich +mo¿liwych kombinacji). Zalecane jest powiêkszenie okna terminala, aby +zobaczyæ pe³n± zawarto¶æ ekranu programu instalacyjnego +(rys.~\ref{fig:text-main}). + +Do uruchomienia w~trybie graficznym (\GUI; rys.~\ref{fig:gui-main}) +wymagana jest obecno¶æ w~systemie modu³u \dirname{Perl/TK} skompilowanego +ze wsparciem dla \acro{XFT} (w~systemach \GNU/Linux{} jest on z~regu³y +dostêpny, ale dla innych systemów niekoniecznie): +\begin{alltt} +> \Ucom{perl install-tl -gui} +\end{alltt} + +Kompletny wykaz dostêpnych opcji otrzymamy uruchamiaj±c: +\begin{alltt} +> \Ucom{perl install-tl -help} +\end{alltt} + +\textbf{Uwaga dotycz±ca uprawnieñ w Unix:} program instalacyjny +bêdzie respektowa³ aktualn± warto¶æ \code{umask}. +Je¶li wiêc chcemy, aby instalacja by³a dostêpna dla innych u¿ytkowników, +musimy ustawiæ warto¶æ np. \code{umask 002}. Wiêcej informacji na temat +\code{umask} znajdziemy w~dokumentacji posiadanego systemu operacyjnego. + +\begin{figure}[tb] +\tlpng{install-lnx-main}{\linewidth,trim=10 4 0 20,clip} +\caption{Ekran zaawansowanego programu instalacyjnego \GUI{} +(\GNU/Linux)}\label{fig:gui-main} +\end{figure} + +\textbf{Uwagi specjalne dotycz±ce Cygwin:} w~odró¿nieniu od wielu +rzeczywistych systemów operacyjnych, których Cygwin jest jedynie emulatorem, +w~¶rodowisku tym mog± nie byæ domy¶lnie zainstalowane niektóre programy +wymagane dla instalatora \TL. Dodatkowe informacje -- patrz +czê¶æ~\ref{sec:cygwin}. + +\subsubsection{MacOSX} + +Jak wspomniano w czê¶ci \ref{sec:tl-coll-dists}, dla \MacOSX{} +przygotowano odrêbn± dystrybucjê Mac\TeX\ (\url{http://tug.org/mactex}). +W~jej wypadku nale¿y u¿yæ dedykowanego programu instalacyjnego, gdy¿ +zmienia on w~specyficzny sposób ustawienia systemu, w~szczególno¶ci pozwala +na ³atwe prze³±czanie miêdzy ró¿nymi dystrybucjami \TeX-a dla +\MacOSX: Mac\TeX, Fink, MacPorts. + +Mac\TeX\ jest oparty na \TL{} i g³ówne drzewa katalogów pozosta³y w~nim +dok³adnie takie same, dodano jedynie katalogi ze specyficznymi dla systemu +\MacOSX\ dokumentacjami i~aplikacjami. + +\subsubsection{Windows} + +Gdy u¿ywamy instalatora pobranego z~sieci (b±d¼ program ten nie uruchamia siê +automatycznie po w³o¿eniu \DVD{} do napêdu), nale¿y uruchomiæ +\filename{install-tl.bat} (np. podwójnym klikniêciem myszy). +Mo¿na to uczyniæ tak¿e z~linii poleceñ. Gdy katalog zawieraj±cy ten plik +jest katalogiem bie¿±cym, wystarczy uruchomiæ: +\begin{alltt} +> \Ucom{install-tl} +\end{alltt} +b±d¼, dla bardziej wymagaj±cej instalacji, pozwalaj±cej na wybór schematów, +kolekcji itp.: +\begin{alltt} +> \Ucom{install-tl-advanced} +\end{alltt} + +W linii poleceñ mo¿na te¿ podaæ ¶cie¿kê do programu, np.: +\begin{alltt} +> \Ucom{D:\bs{}texlive\bs{}install-tl} +\end{alltt} +dla \TK\ \DVD, zak³adaj±c, ¿e \dirname{D:} jest napêdem \DVD +(rys.~\ref{fig:wizard-w32} pokazuje domy¶lny dla Windows ekran programu +instalacyjnego). + +Instalacja w~trybie tekstowym wymaga podania: +\begin{alltt} +> \Ucom{install-tl -no-gui} +\end{alltt} + +Wszystkie dostêpne opcje wy¶wietlimy uruchamiaj±c: +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} + +\begin{figure}[tb] +\tlpng{wizard-w32}{\linewidth,trim=0 4 0 0,clip} +\caption{Ekran programu instalacyjnego ,,Wizard'' +(Windows)}\label{fig:wizard-w32} +\end{figure} + +\htmlanchor{cygwin} +\subsubsection{Cygwin} +\label{sec:cygwin} + +Program instaluj±cy \TL{} obs³uguje jedynie Cygwin w~wersji 1.7. +Przed instalacj± w tym systemie zaleca siê uruchomiæ program +\filename{setup.exe} i,~o~ile nie zosta³y one uprzednio zainstalowane, +zainstalowaæ pakiety \filename{perl} oraz \filename{wget}. +Ponadto zalecana jest instalacja: +\begin{itemize*} +\item \filename{fontconfig} (wymagany dla \XeTeX) +\item \filename{ghostscript} (wymagany dla wielu narzêdzi) +\item \filename{libXaw7} (wymagany dla \code{xdvi}) +\item \filename{ncurses} (udostêpnia \code{clear} -- ,,czyste'' polecenie +stosowane przez program instalacyjny) +\end{itemize*} + +\subsubsection{Instalator w trybie tekstowym} + +Rysunek \ref{fig:text-main} przedstawia g³ówny ekran programu +\filename{install-tl} w (domy¶lnym) trybie tekstowym w~systemie Unix. +W tym trybie nie u¿ywamy ani klawiszy kursora, ani myszy, +lecz wy³±cznie klawiszy alfanumerycznych (uwaga: du¿e i~ma³e litery s± +rozró¿niane!). Wybran± opcjê zatwierdzamy klawiszem Enter. +Instalator w~trybie tekstowym jest na tyle prosty, by dzia³a³ na +mo¿liwie wielu platformach, nawet wyposa¿onych jedynie w~podstawowe +biblioteki Perla. + +\subsubsection{Zaawansowany program instalacyjny w trybie graficznym} + +Rysunek \ref{fig:gui-main} przedstawia program instalacyjny w~trybie +graficznym, w~wersji rozszerzonej. W systemie Windows znajdziemy +tu dodatkowe przyciski dla opcji nieistotnych w systemach Unix/Linux. +Tryb ten uruchamiamy poleceniem: + +\begin{alltt} + > \Ucom{install-tl -gui=perltk} +\end{alltt} + +\subsubsection{Uproszczony program instalacyjny} + +W systemie Windows domy¶lnie uruchamiany jest uproszczony program +instaluj±cy wszystkie pakiety \TL{}, który wymaga od u¿ytkownika odpowiedzi +jedynie na kilka pytañ (katalog docelowy itp.). Tryb ten, zwany +\textit{wizard} (,,czarodziej'', ,,mag'', rys.~\ref{fig:wizard-w32}), +uruchamiany jest poleceniem: + +\begin{alltt} +> \Ucom{install-tl -gui=wizard} +\end{alltt} + +\subsection{Podczas instalacji} +\label{sec:runinstall} + +Program instalacyjny jest z~za³o¿enia na tyle prosty, ¿e szczegó³owe +wyja¶nienia wydaj± siê zbêdne. Podamy jednak kilka uwag dotycz±cych ró¿nych +opcji i~dostêpnych podmenu. + +\subsubsection{Menu: binary systems (tylko Unix)} +\label{sec:binary} + +\begin{figure}[tb] +\begin{boxedverbatim} +Available platforms: (Dostêpne platformy:) +=============================================================================== + a [ ] alpha-linux DEC Alpha with GNU/Linux + b [ ] amd64-freebsd x86_64 with FreeBSD + c [ ] amd64-kfreebsd x86_64 with GNU/FreeBSD + d [ ] armel-linux ARM with GNU/Linux + e [ ] i386-cygwin Intel x86 with Cygwin + f [ ] i386-freebsd Intel x86 with FreeBSD + g [ ] i386-kfreebsd Intel x86 with GNU/FreeBSD + h [X] i386-linux Intel x86 with GNU/Linux + i [ ] i386-solaris Intel x86 with Solaris + j [ ] mips-irix SGI IRIX + k [ ] mipsel-linux mipsel with Linux + l [ ] powerpc-aix PowerPC with AIX + m [ ] powerpc-linux PowerPC with GNU/Linux + o [ ] sparc-solaris Sparc with Solaris + p [ ] universal-darwin universal binaries for MacOSX/Darwin + s [ ] win32 Windows + t [ ] x86_64-darwin x86_64 with MacOSX/Darwin + u [ ] x86_64-linux x86_64 with GNU/Linux + v [ ] x86_64-solaris x86_64 with Solaris +\end{boxedverbatim} +\caption{Wybór platformy (systemu operacyjnego)}\label{fig:bin-text} +\end{figure} + +Rysunek \ref{fig:bin-text} pokazuje (w~trybie tekstowym) wybór platformy +(systemu operacyjnego). Domy¶lnie instalowane s± tylko programy dla bie¿±cej +platformy, ale menu to pozwala wybraæ tak¿e zestawy dla innych platform. Mo¿e +byæ to przydatne do instalacji na serwerze i~wspó³dzielenia zasobów w~sieci +dla ró¿nych systemów operacyjnych b±d¼ dla instalacji dla kilku systemów na +tej samej maszynie. + +\subsubsection{Wybór sk³adników do instalacji} +\label{sec:components} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Select scheme: (Wybór schematu do instalacji:) +=============================================================================== + a [X] full scheme (everything) + b [ ] medium scheme (small + more packages and languages) + c [ ] small scheme (basic + xetex, metapost, a few languages) + d [ ] basic scheme (plain and latex) + e [ ] minimal scheme (plain only) + f [ ] ConTeXt scheme + g [ ] GUST TeX Live scheme + h [ ] teTeX scheme (more than medium, but nowhere near full) + i [ ] XML scheme + j [ ] custom selection of collections +\end{boxedverbatim} +\caption{Menu: wybór schematów}\label{fig:scheme-text} +\end{figure} + +Rysunek \ref{fig:scheme-text} pokazuje menu ,,Wybór schematów''. Schematy to +obszerne zestawy pakietów, przeznaczone do wstêpnego wyboru instalowanych +komponentów. Mamy tu schematy do instalacji: podstawowej (\optname{basic}), +typowej (\optname{medium}) i~pe³nej (\optname{full}; jest ona +domy¶lna), pozosta³e przygotowano z~my¶l± o~wybranych grupach +u¿ytkowników (np.~GUST) lub zastosowaniach (np.~XML lub ConTeXt). + +\begin{figure}[tb] +\begin{center} +\tlpng{stdcoll}{.7\linewidth,trim=0 4 0 0,clip} +\caption{Menu Collections (Kolekcje)}\label{fig:collections-gui} +\end{center} +\end{figure} + +Wstêpnie wybrane schematy mo¿na modyfikowaæ. W sk³ad ,schematów'' wchodz± +tzw. ,,kolekcje'', które mo¿na wybraæ w~kolejnych menu o~nazwach: ,,Kolekcje +standardowe'' i~,,Kolekcje jêzykowe'' (rys.~\ref{fig:collections-gui}). +Kolekcje stanowi± ni¿szy poziom ni¿ schematy, a~same sk³adaj± siê z +,,pakietów''. Dopiero pakiety zawieraj± w³a¶ciwe pliki makr, fontów itp. +Je¶li chcemy dodaæ lub usun±æ pakiet, to po instalacji w³a¶ciwej u¿yjemy +programu \TeX\ Live Manager (\prog{tlmgr}, patrz czê¶æ~\ref{sec:tlmgr}). + +\subsubsection{Katalogi} +\label{sec:directories} + +Domy¶lny uk³ad katalogów opisano w czê¶ci~\ref{sec:texmftrees} na +str.~\pageref{sec:texmftrees}. Po³o¿enie domy¶lne ca³ej instalacji +(\dirname{TEXDIR}) ró¿ni siê w~Windows (|%SystemDrive%\texlive\2012|) +i~w~Unix (\dirname{/usr/local/texlive/2012}). + +G³ównym powodem, dla którego chcieliby¶my ewentualnie zmieniæ domy¶lne +po³o¿enie \dirname{TEXDIR}, +mo¿e byæ brak uprawnieñ systemowych. Aby zainstalowaæ \TL{}, nie musimy byæ +administratorem systemu, musimy jednak posiadaæ uprawnienia do zapisu +w~docelowym katalogu. Rozs±dn± alternatyw± mo¿e byæ wtedy instalacja +w~katalogu domowym, szczególnie gdy bêdziemy jej jedynym u¿ytkownikiem. +Stosujemy tu zapis ,,|~|'' do zaznaczenia katalogu domowego u¿ytkownika, np. +|~/texlive/2012|. Zalecamy u¿ycie katalogu z~nazw± odzwierciedlaj±c± +rok wydania, co pozwoli na zainstalowanie obok siebie ró¿nych wydañ \TL{}. + %%! przegadane, na razie olewam (SW) + %(You may wish to make a + %version-independent name such as \dirname{/usr/local/texlive-cur} via a + %symbolic link, which you can then update after testing the new release.) + +Zmiana \dirname{TEXDIR} w programie instalacyjnym zmieni tak¿e ¶cie¿ki +katalogów okre¶lone przez zmienne \dirname{TEXMFLOCAL}, \dirname{TEXMFSYSVAR} +i~\dirname{TEXMFSYSCONFIG}. + +\dirname{TEXMFHOME} jest zalecanym po³o¿eniem dla prywatnych makr i~fontów +u¿ytkownika. Domy¶lnym katalogiem jest |~/texmf|. W odró¿nieniu od +\dirname{TEXDIR}, znak |~| jest zachowywany w generowanych plikach +konfiguracyjnych, poniewa¿ w~wygodny sposób odnosi siê do katalogu domowego +podczas ka¿dego uruchamiania programów. Znak ten rozwijany jest do zmiennej +\dirname{$HOME} w~Unix i~\verb|%USERPROFILE%| w~Windows. Po raz kolejny +podkre¶lmy, ¿e tak jak inne drzewa katalogów, \envname{TEXMFHOME} musi +mieæ strukturê zgodn± z \TDS. + +Katalog okre¶lany przez zmienn± \dirname{TEXMFVAR} przechowuje +dane konfiguracyjne specyficzne dla ka¿dego u¿ytkownika. Katalog +okre¶lany przez zmienn± \dirname{TEXMFCACHE} przechowuje dane buforowane +(\textit{cached}) \ConTeXt\ Mk\acro{IV} (patrz czê¶æ~\ref{sec:context-mkiv}, +na str.~\pageref{sec:context-mkiv}). + +\subsubsection{Opcje} +\label{sec:options} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Options setup: +=============================================================================== + <P> use letter size instead of A4 by default: [ ] + <E> execution of restricted list of programs: [X] + <F> create all format files: [X] + <D> install font/macro doc tree: [X] + <S> install font/macro source tree: [X] + <L> create symlinks in standard directories: [ ] + binaries to: + manpages to: + info to: + <Y> after installation, get package updates from CTAN: [X] +\end{boxedverbatim} +\caption{Menu: Options (Opcje) w Unix}\label{fig:options-text} +\end{figure} + +Rysunek \ref{fig:options-text} pokazuje menu (w~trybie tekstowym) +z~dodatkowymi opcjami. Warto tu je wymieniæ: + +\begin{description} +\item[use letter size instead of A4 by default] (u¿yj domy¶lnie formatu +papieru letter zamiast A4): pozwala okre¶liæ domy¶lny format papieru +dla wielu programów. Oczywi¶cie format papieru mo¿na (nawet: nale¿y) +specyfikowaæ dla ka¿dego dokumentu w miarê potrzeby. + +\item[execution of restricted list of programs] (zezwalaj na uruchomienie + niektórych programów): od \TL\ 2010 wykonanie niektórych przydatnych + programów pomocniczych, uruchamianych jako podprocesy (w~,,tle''), zosta³o + zastrze¿one dla ich niewielkiej listy, zamieszczonej w~pliku + \filename{texmf.cnf}. Szczegó³y znajdziesz w~czê¶ci ,,Wydanie + 2010'' (\ref{sec:2010news}). + +\item[create format files] (generuj pliki formatów): +chocia¿ zbêdne formaty zajmuj± miejsce na dysku, zaleca siê +pozostawiæ tê opcjê w³±czon±; je¶li tego nie zrobimy, formaty bêd± +generowane automatycznie (w~razie potrzeby) w~prywatnych katalogach +\dirname{TEXMFVAR} u¿ytkowników, nie bêd± jednak od¶wie¿ane, gdy w~instalacji +zostan± zaktualizowane np. same programy b±d¼ wzorce przenoszenia; wskutek +tego pliki formatów mog± utraciæ zgodno¶æ ze ¶rodowiskiem, w~którym s± +u¿ywane. + +\item[install font/macro \ldots\ tree] (instaluj pliki ¼ród³owe i/lub + dokumentacji dla fontów b±d¼ makr): wprawdzie wy³±czenie tych opcji + pozwala zaoszczêdziæ miejsce na dysku, ale nie jest zalecane. + +\item[create symlinks in standard directories] (utwórz dowi±zania + w~standardowych katalogach, dotyczy tylko Unix): opcja ta pozwala + unikn±æ ustawiania zmiennych ¶rodowiska po instalacji (\envname{PATH}, + \envname{MANPATH} i~\envname{INFOPATH}), ale jej u¿ycie nie jest zalecane, + bo mo¿e powodowaæ kolizje z ju¿ zainstalowanym w~systemie ¶rodowiskiem + \TeX; mo¿e byæ ona przydatna jedynie wtedy, gdy w~standardowych katalogach + (np. \dirname{/usr/local/bin}) nie ma jakichkolwiek programów \TeX-owych. + Wymaga ona ponadto uprawnieñ do zapisu w docelowych katalogach. + +\item[after installation \ldots\ \CTAN] (po instalacji u¿yj CTAN, aby pobraæ + aktualizacje): gdy instalujemy z~\DVD, opcja ta jest domy¶lnie w³±czona, + co pozwala dokonaæ aktualizacji zainstalowanych pakietów z~sieci (z~kopii + CTAN). Jedyny powód, dla którego mogliby¶my wy³±czyæ tê opcjê, to sytuacja, + gdy instalujemy tylko czê¶æ pakietów i~zamierzamy potem doinstalowaæ z~\DVD\ + inne. Tak czy inaczej, repozytorium pakietów do instalacji b±d¼ + aktualizacji mo¿e byæ w~ka¿dej chwili zmienione w~linii poleceñ, lub + po wyborze odpowiedniego menu programu \cmdname{tlmgr} w~trybie graficznym. + Patrz czê¶æ~\ref{sec:location} i~czê¶æ~\ref{sec:dvd-install-net-updates}. +\end{description} + +Po wykonaniu wszystkich potrzebnych ustawieñ mo¿na rozpocz±æ instalacjê +(klawisz ,,I''). Po instalacji zaleca siê zajrzeæ do czê¶ci +\ref{sec:postinstall}, bo byæ mo¿e bêd± jeszcze potrzebne dodatkowe kroki. + +%\htmlanchor{runfromdvd} +%\subsubsection{Uruchamianie bezpo¶rednio z DVD{} (tylko w trybie tekstowym)} +%\label{sec:fromdvd} +% +%Aby uruchomiæ programy bezpo¶rednio z~p³ytki \DVD{}, nale¿y wybraæ +%opcjê ,,|V|'', co zmienia menu na przedstawione na +%rys.~\ref{fig:main-fromdvd}. +%\begin{figure}[tbh] +%\begin{boxedverbatim} +%======================> TeX Live installation procedure <===================== +%... +% <D> directories: +% TEXDIRW (Writable root): +% !! default location: /usr/local/texlive/2009 +% !! is not writable, please select a different one! +% TEXMFLOCAL (directory for site-wide local files): +% /usr/local/texlive/texmf-local +% TEXMFSYSVAR (directory for variable and automatically generated data): +% /usr/local/texlive/2009/texmf-var +% TEXMFSYSCONFIG (directory for local config): +% /usr/local/texlive/2009/texmf-config +% TEXMFHOME (directory for user-specific files): +% ~/texmf +% +% <O> options: +% [ ] use letter size instead of A4 by default +% [X] create all format files +% +% <V> set up for installing to hard disk +% +%Other actions: +% <I> start installation for running from DVD +% <H> help +% <Q> quit +%\end{boxedverbatim} +%\caption{Menu g³ówne dla uruchamiania z~\optname{DVD}}% +%\label{fig:main-fromdvd} +%\end{figure} +% +%Zwróæmy uwagê na nastêpuj±ce zmiany w menu: zniknê³y wszystkie opcje dotycz±ce +%wyboru pakietów, sekcja dotycz±ca katalogów pokazuje teraz \dirname{TEXDIRW} +%-- katalog posiadaj±cy prawa do zapisu. Pozwoli to uruchamiaæ dowolny program +%bezpo¶rednio z~p³ytki; na dysku twardym znajd± siê (w odpowiednich +%katalogach) jedynie niezbêdne pliki konfiguracyjne. +% +%Poniewa¿ struktura katalogów ró¿ni siê nieco od domy¶lnej, niezbêdne bêd± +%pewne czynno¶ci konfiguracyjne, omówione w~czê¶ci~\ref{sec:postinstall}. +% +%Instalator \GUI nie posiada opcji ,,V'', dlatego +%u¿ytkownicy Windows mog± uruchomiæ program jedynie +%z~linii poleceñ, jak opisano to w~czê¶ci~\ref{sec:cmdline}. +% +%W~rozdziale \ref{sec:portable-tl} opisano jeszcze inny, przeno¶ny sposób +%uruchamiania \TL, który nie wymaga zmian w~konfiguracji systemu +%(a~wrêcz nie pozwala na nie). + +\subsection{Parametry instalacji z linii poleceñ} +\label{sec:cmdline} + +Uruchom +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} +aby wy¶wietliæ wszystkie dostêpne parametry. + % Either |-| or |--| can be used to introduce option names. + Oto najczê¶ciej u¿ywane: + +\begin{ttdescription} +\item[-gui] u¿yj (je¶li to mo¿liwe) programu w~wersji graficznej (\GUI); + wymagane jest posiadanie modu³u Perl/Tk + (\url{http://tug.org/texlive/distro.html#perltk}) skompilowanego ze +wsparciem dla \acro{XFT}; +gdy jest on niedostêpny, program instalacyjny uruchomiony zostanie +w trybie tekstowym; +\item[-no-gui] wymusza tryb tekstowy, np. w~Windows. +\item[-lang {\sl ll}] pozwala wybraæ jêzyk komunikatów, + \textsl{ll} oznacza tu dwuliterowy kod jêzyka; listê dostêpnych + jêzyków wy¶wietli \code{install-tl --help}; + %angielski (\texttt{en}, domy¶lny), + % chiñski tradycyjny (\texttt{zh-tw}), + % chiñski uproszczony (\texttt{zh-cn}), + % czeski (\texttt{cz}, + % francuski (\texttt{fr}), + % holenderski (\texttt{nl}), + % japoñski (\texttt{ja}), + % niemiecki (\texttt{de}), + % polski (\texttt{pl}), + % rosyjski (\texttt{ru}), + % serbski (\texttt{sr}), + % s³owacki (\texttt{sk}), + % s³oweñski (\texttt{sl}), + % w³oski (\texttt{it}) i~wietnamski (\texttt{vi}); + program samoczynnie wykrywa jêzyk systemu, ale je¶li jest to niemo¿liwe, +komunikaty i menu bêd± wy¶wietlane w jêzyku angielskim; + +\htmlanchor{opt-in-place} +\item[-in-place] je¶li posiadamy kopiê repozytorium \TL{} uzyskan± via + rsync, svn itp. (patrz \url{http://tug.org/texlive/acquire-mirror.html}), + opcja ta pozwala na wykorzystanie jako instalacji owej kopii i jedynie + wykona kroki poinstalacyjne (konfiguracjê). \textbf{Uwaga:} plik + \filename{tlpkg/texlive.tlpdb} mo¿e zostaæ nadpisany, a wiêc warto go + uprzednio skopiowaæ w bezpieczne miejsce. Ponadto usuwanie zbêdnych pakietów + nale¿y wykonaæ wtedy rêcznie, s³owem, u¿ycie tej opcji zaleca siê jedynie + zaawansowanym u¿ytkownikom. Opcja ta mo¿e byæ w³±czona/wy³±czona w programie + instalacyjnym. + +\item[-portable] instalacja do u¿ycia przeno¶nego, np. na pen drivie; + opcja ta mo¿e byæ u¿yta zarówno w trybie tekstowym (poleceniem \code{V}), + jak i przez wyb¢r odpowiedniego przycisku programu instalacyjnego w trybie +GUI (patrz czê¶æ ~\ref{sec:portable-tl}). + +\item[-profile {\sl plik}] wczytuje \var{plik} profilu instalacji + i~przebiega ona bez interakcji ze strony u¿ytkownika; program + instalacyjny zapisuje plik \filename{texlive.profile} w~katalogu + \dirname{tlpkg} naszej instalacji, co pozwala wykorzystaæ go dla + powielenia w trybie wsadowym wszystkich wyborów i~ustawieñ w~kolejnych + instalacjach; + +\item [-repository {\sl url-lub-¶cie¿ka}] pozwala okre¶liæ inne ni¿ + domy¶lne ¼ród³o instalacji (patrz poni¿ej). +\end{ttdescription} + +\subsubsection{Parametr \optname{-repository}} +\label{sec:location} + +Domy¶lnym repozytorium pakietów dla \TL{} jest kopia (\textit{mirror}) CTAN, +znajdywana automatycznie poprzez sewis \url{http://mirror.ctan.org}. + +Parametrowi \optname{-repository} mo¿na przypisaæ adres w sieci +(rozpoczynaj±cy siê od \texttt{ftp:}, \texttt{http:} lub \texttt{file:/}) lub +pe³n± ¶cie¿kê do kopii pakietów na dysku (np. pobranej za pomoc± programu +\filename{wget} lub \filename{rsync}). Je¶li podany argument wskazuje na +lokalny dysk (¶cie¿kê b±d¼ adres \texttt{file:/}), wybrana zostanie +instalacja ze skompresowanych plików \filename{tar.xz}, zawartych +w~podkatalogu \dirname{archive}. (Podaj±c adres \texttt{http:}\ lub +\texttt{ftp:}\ koñcowy znak `\texttt{/}' lub komponent `\texttt{/tlpkg}' s± +ignorowane.) + +Przyk³adowo, mo¿na wybraæ konkretn± kopiê (zwierciad³o) \CTAN\ z +\url{http://ctan.example.org/tex-archive/systems/texlive/tlnet/} podstawiaj±c +prawdziw± nazwê hosta i jego konkretn± ¶cie¿kê do korzenia \CTAN\ zamiast +|ctan.example.org/tex-archive|. Lista zwierciade³ \CTAN\ jest dostêpna na +stronie \url{http://ctan.org/mirrors}. + +\subsection{Czynno¶ci poinstalacyjne} +\label{sec:postinstall} + + % %Czê¶æ ta nie dotyczy systemu Windows, dla którego program instalacyjny + %przeprowadza ca³± konfiguracjê, w³±cznie z~ustawieniami menu systemowego + %i~tworzeniem ikon na pulpicie. Poni¿sze uwagi mog± byæ przydatne dla + %u¿ytkowników innych systemów. + % + %\subsubsection{Gdy zastosujemy dowi±zania symboliczne} + % + +\subsubsection{Zmienne ¶rodowiska dla Unix} +\label{sec:env} + +U¿ycie opisanej w~czê¶ci~\ref{sec:options} opcji tworzenia dowi±zañ +symbolicznych w~standardowych katalogach nie wymaga zmian w zmiennych +¶rodowiska systemowego. Niemniej jednak w systemach Unix +po instalacji nale¿y do zmiennej \envname{PATH} dodaæ ¶cie¿kê do +programów \TL. (W Windows program instalacyjny czyni to za nas.) + +Ka¿da z~obs³ugiwanych platform ma w³asny podkatalog +w~ramach \dirname{TEXDIR/bin}. Listê platform i odpowiadaj±cych im katalogów +przedstawiono na rys.~\ref{fig:bin-text}. + +Równie¿ korzystanie z~systemowych przegl±darek dokumentacji \prog{man} +i~\prog{info} staje siê mo¿liwe dopiero +po dodaniu odpowiednich katalogów do ich ¶cie¿ek przeszukiwania. +Strony \prog{man} mog± byæ tak¿e znajdywane automatycznie po dodaniu +¶cie¿ki ich po³o¿enia do \envname{MANPATH}. + +Dla pow³oki zgodnej z~Bourne shell (\cmdname{sh}, \cmdname{bash}, +\cmdname{ksh}) mo¿emy dopisaæ do pliku \filename{$HOME/.profile}: + +\begin{sverbatim} +PATH=/usr/local/texlive/2012/bin/i386-linux:$PATH; export PATH +MANPATH=/usr/local/texlive/2012/texmf/doc/man:$MANPATH; export MANPATH +INFOPATH=/usr/local/texlive/2012/texmf/doc/info:$INFOPATH; export INFOPATH +\end{sverbatim} + +W~wypadku csh lub tcsh nale¿y zmodyfikowaæ plik \filename{$HOME/.cshrc}, np.: + +\begin{sverbatim} +setenv PATH /usr/local/texlive/2012/bin/i386-linux:$PATH +setenv MANPATH /usr/local/texlive/2012/texmf/doc/man:$MANPATH +setenv INFOPATH /usr/local/texlive/2012/texmf/doc/info:$INFOPATH +\end{sverbatim} + +Je¶li s± ju¿ jakie¶ ustawienia zawarte w prywatnych plikach konfiguracyjnych, +wówczas oczywi¶cie katalogi \TL\ powinny byæ tam odpowiednio wkomponowane. + +\subsubsection{Zmienne ¶rodowiska: konfiguracja globalna} +\label{sec:envglobal} + +Je¶li zmiany maj± byæ dokonane globalnie, lub je¶li maj± byæ dokonane dla +nowego u¿ytkownika systemu, wówczas nale¿y dokonaæ tego na w³asn± rêkê -- +jest zbyt wiele mo¿liwo¶ci dla ró¿nych systemów dotycz±cych miejsca i sposobu +konfiguracji. + +Nasze dwie rady s± nastêpuj±ce: 1)~mo¿na sprawdziæ plik +\filename{/etc/manpath.config} i,~je¶li jest obecny, dodaæ w nim wiersze +\begin{sverbatim} +MANPATH_MAP /usr/local/texlive/2012/bin/i386-linux \ + /usr/local/texlive/2012/texmf/doc/man +\end{sverbatim} + 2)~mo¿na sprawdziæ plik \filename{/etc/environment}, w którym mo¿e byæ +zdefiniowana ¶cie¿ka wyszukiwania i~inne domy¶lne zmienne ¶rodowiska. + +W ka¿dym katalogu w plikami wykonywalnymi systemów uniksowych mo¿emy utworzyæ +symboliczne dowi±zanie o nazwie \code{man} do katalogu +\dirname{texmf/doc/man}. Niektóre programy \code{man}, np. standardowy +program \code{man} w systemie \MacOSX, automatycznie znajd± to dowi±zanie, +likwiduj±c potrzebê jakiegokolwiek ustawiania dla stron manuala. + +\subsubsection{Aktualizacje z internetu po instalacji z \DVD} +\label{sec:dvd-install-net-updates} + +Po instalacji z \DVD\ i \textbf{po modyfikacji} ¶cie¿ki wyszukiwania +programów (jak opisano to powy¿ej), mo¿emy pobraæ z internetu aktualizacje +pakietów: + +\begin{alltt} +> \Ucom{tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet} +\end{alltt} + +Wówczas pakiety bêd± aktualizowane z najbli¿szej, automatycznie +znalezionej kopii archiwów CTAN (co domy¶lnie w³±czono podczas instalacji). +Je¶li wyst±pi± problemy z automatycznym wyborem archiwum, nale¿y podaæ +konkretny adres (listê adresów znajdziemy na \url{http://ctan.org/mirrors}) +wraz z pe³n± ¶cie¿k± do podkatalogu \dirname{tlnet}. + +\htmlanchor{xetexfontconfig} % keep historical anchor working +\htmlanchor{sysfontconfig} +\subsubsection{Konfiguracja fontów dla \XeTeX\ i~Lua\TeX} +\label{sec:font-conf-sys} + +\XeTeX\ i~Lua\TeX\ pozwalaj± u¿yæ ka¿dy font zainstalowany w~systemie, +nie tylko fonty znajduj±ce siê w~katalogach \TeX-owych. Korzystaj± tu ze +zbli¿onych, ale jednak ró¿nych metod. + +W systemach Windows fonty dostarczone z~\TL\ s± automatycznie dostêpne +dla programu \XeTeX{}. +Gdy w systemie uniksowym zainstalowano \filename{xetex}, nale¿y +skonfigurowaæ system tak, aby program ten móg³ znale¼æ fonty dostarczone +w~\TL. Aby to u³atwiæ, podczas instalacji pakietu tworzony jest +plik konfiguracyjny fontów: +\filename{TEXMFSYSVAR/fonts/conf/texlive-fontconfig.conf}. + +Aby udostêpniæ fonty \TL{} dla innych aplikacji systemu +(zak³adaj±c, ¿e mamy odpowiednie uprawnienia) nale¿y wykonaæ +nastêpuj±ce czynno¶ci: +\begin{enumerate*} +\item skopiowaæ \filename{texlive-fontconfig.conf} do +\dirname{/etc/fonts/conf.d/09-texlive.conf}; +\item uruchomiæ \Ucom{fc-cache -fsv}. +\end{enumerate*} + +Je¶li nie mamy odpowiednich uprawnieñ i chcemy podczas uruchamiania \XeTeX-a +korzystaæ jedynie z~fontów dostêpnych w~\TL, nale¿y: +\begin{enumerate*} +\item skopiowaæ plik \filename{texlive-fontconfig.conf} do + \filename{~/.fonts.conf}, gdzie \filename{~} oznacza nasz katalog domowy. +\item uruchomiæ \Ucom{fc-cache -fv}. +\end{enumerate*} + +Uruchomienie programu \code{fc-list} pozwala wy¶wietliæ nazwy fontów +systemowych. \code{fc-list : family style file spacing} poka¿e wiêcej +interesuj±cych informacji. + +%\subsubsection{Gdy uruchamiamy programy z~DVD} +% +%Programy \TL{} wyszukuj± potrzebne dane w~ró¿nych drzewach katalogów, +%korzystaj±c z~pliku \filename{texmf.cnf}. Plik ten poszukiwany jest w ca³ej +%serii po³o¿eñ wzglêdem po³o¿enia samych programów, ale zasada ta nie dzia³a, +%gdy uruchamiamy programy bezpo¶rednio z~\DVD. Wynika to z faktu, ¿e niektóre +%pliki s± zapisywane na twardym dysku (\DVD{} jest medium tylko do odczytu) +%i~trac± tym samym predefiniowane wzglêdne po³o¿enie. Wymagane jest zatem +%zdefiniowanie w~¶rodowisku zmiennej \envname{TEXMFCNF}, która wska¿e +%po³o¿enie \filename{texmf.cnf}. Nadal jest potrzebna modyfikacja zmiennej +%\envname{PATH}, jak opisano wy¿ej. +% +%Na zakoñczenie instalacji program powinien pokazaæ komunikat informuj±cy, +%jak± warto¶æ nale¿y przypisaæ zmiennej \envname{TEXMFCNF}. Gdyby¶my +%to przeoczyli -- warto¶ci± t± jest \dirname{$TEXMFSYSVAR/web2c}, czyli dla +%domy¶lnych ustawieñ (\dirname{/usr/local/texlive/2009/texmf-var/web2c}) +%potrzebujemy deklaracji: +%\begin{sverbatim} +%TEXMFCNF=/usr/local/texlive/2009/texmf-var/web2c; export TEXMFCNF +%\end{sverbatim} +%lub, dla [t]csh: +%\begin{sverbatim} +%setenv TEXMFCNF /usr/local/texlive/2009/texmf-var/web2c +%\end{sverbatim} +% +%Opcja ta jest najbardziej przydatna, gdy chcemy uruchamiaæ programy \TL{} +%we w³asnym systemie, ale brak nam wystarczaj±cego miejsca na dysku. +%W pe³ni przeno¶ny sposób korzystania z~\TL{}, np. z pen drive USB, +%opisano w czê¶ci~~\ref{sec:portable-tl}. + +\subsubsection{\ConTeXt{} Mark IV} +\label{sec:context-mkiv} + +Zarówno tzw. ,,stary'' \ConTeXt{} (Mark \acro{II}), jak i~nowy +\ConTeXt{} (Mark \acro{IV}, oparty na Lua\TeX) powinny dzia³aæ po instalacji +\TL bez problemów, o ile do aktualizacji bêdziemy u¿ywaæ wy³±cznie programu +\verb+tlmgr+. + +Poniewa¿ \ConTeXt{} Mk\acro{IV} nie stosuje biblioteki kpathsea do +wyszukiwania plików, po zainstalowaniu rêcznie nowych plików (bez u¿ycia +\verb+tlmgr+) wymagane jest uruchomienie: +\begin{sverbatim} +context --generate +\end{sverbatim} +do od¶wie¿enia danych buforowych \ConTeXt. +Wygenerowane dane buforowe zostan± zapisane w~katalogach wskazywanych przez +zmienn± \code{TEXMFCACHE} (domy¶lna warto¶æ w \TL\ tej zmiennej to +\verb+TEXMSYSVAR;TEXMFVAR+). + +\ConTeXt\ Mk\acro{IV} przeszuka wszystkie ¶cie¿ki wymienione w +\verb+TEXMFCACHE+ i zapisze dane w pierwszej ¶cie¿ce, która jest dostêpna +do zapisu. Gdy dane buforowe s± zduplikowane, podczas ich odczytywania +zostan± wykorzystane ostatnio znalezione. + +Wiêcej informacji znajdziemy na stronach: +\url{http://wiki.contextgarden.net/Running_Mark_IV}. + +\subsubsection{Integracja lokalnych i prywatnych pakietów makr} +\label{sec:local-personal-macros} + +Jak ju¿ wspomniano w~czê¶ci~\ref{sec:texmftrees}, katalog \dirname{TEXMFLOCAL} +(domy¶lnie \dirname{/usr/local/texlive/texmf-local} lub +\verb|%SystemDrive%\texlive\texmf-local| w~Windows) przeznaczony jest na lokalne +(np. w~danej sieci komputerowej) fonty oraz pakiety makr. Z~kolei +\dirname{TEXMFHOME} (domy¶lnie \dirname{$HOME/texmf} lub +\verb|%USERPROFILE%\texmf|) jest przeznaczony na prywatne makra i~fonty +u¿ytkownika. W zamierzeniu oba te katalogi powinny byæ zachowywane przy +instalacji nowszych wersji \TL{}, a~ich zawarto¶æ ma byæ automatycznie +dostêpna w~kolejnych wydaniach. Zalecamy zatem, by nie +przedefiniowywaæ \dirname{TEXMFLOCAL}, co pozwoli unikn±æ rêcznego +konfigurowania w~przysz³o¶ci. + +W~obu drzewach katalogów pliki powinny byæ umieszczane w~odpowiednich +podkatalogach, zgodnie z~zaleceniami \TDS{} (patrz: \url{http://tug.org/tds}, +tak¿e plik \filename{texmf/web2c/texmf.cnf}). Przyk³adowo pliki klas lub +makr \LaTeX-a powinny byæ umieszczane w~katalogu +\dirname{TEXMFLOCAL/tex/latex/} lub \dirname{TEXMFHOME/tex/latex/} +(lub ich podkatalogach). + +\dirname{TEXMFLOCAL} po zmianie zawarto¶ci wymaga od¶wie¿enia bazy danych -- +poleceniem \cmdname{mktexlsr} lub poprzez u¿ycie przycisku ,,Od¶wie¿ bazy +danych'' w~graficznym trybie programu TeX Live Manager (\prog{tlmgr}). + +Ka¿da z tych zmiennych ma domy¶lnie przypisany pojedynczy katalog, ale +nie musi byæ to regu³±. Je¶li testujemy ró¿ne wersje pakietów, mo¿emy +do w³asnych celów zak³adaæ kolejne drzewa katalogów i prze³±czaæ kolejno¶æ +ich przeszukiwania. Wystarczy zadeklarowaæ zmienn± \dirname{TEXMFHOME} +dla listy katalogów, które oddzielamy przecinkami i~umieszczamy w~klamrach: + +\begin{verbatim} + TEXMFHOME = {/my/dir1,/mydir2,/a/third/dir} +\end{verbatim} + +W czê¶ci \ref{sec:brace-expansion} opisano dok³adniej analizê listy +katalogów umieszczonych w klamrach. + +\subsubsection{Integracja fontów z innych ¼róde³} + +Jest to, niestety, bardzo skomplikowane zagadnienie, wymagaj±ce sporej wiedzy +u¿ytkownika. Warto najpierw siê dowiedzieæ, jakie fonty mamy dostêpne +bezp³atnie (patrz czê¶æ~\ref{sec:tl-fonts}). + +Alternatyw± jest tu u¿ycie programu \XeTeX{} lub Lua\TeX\ (patrz +czê¶æ~\ref{sec:tex-extensions}), które korzystaj± z fontów systemowych +bez potrzeby instalowania ich dla programów \TeX-owych. + +Procedury instalacji i integracji fontów + % for our best effort at wielkim staraniem ?? + opisano dok³adnie np. +w:~\url{http://tug.org/fonts/fontinstall.html}. + +\subsection{Testowanie instalacji} +\label{sec:test-install} + +Po zainstalowaniu \TL{} warto sprawdziæ, czy programy dzia³aj± +poprawnie. Opiszemy tu podstawowe procedury testuj±ce funkcjonowanie +systemu w~systemach Unix. W~\MacOSX{} i~Windows najczê¶ciej u¿yjemy +¶rodowiska graficznego (\GUI), regu³y jednak bêd± podobne. + +\begin{enumerate} +\item Sprawdzamy najpierw, czy uruchamia siê program \cmdname{tex}: + +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.1415926 (TeX Live ...) +kpathsea version 6.0.1 +Copyright ... D.E. Knuth. +... +\end{alltt} +Je¶li uruchomienie koñczy siê komunikatem \emph{command not found} +(\emph{nie znaleziono polecenia}), oznacza to, ¿e niepoprawnie +zadeklarowano zmienn± \envname{PATH} (patrz: deklaracje zmiennych +¶rodowiska na str.~\pageref{sec:env}). + +\item Nastêpnie przetwarzamy prosty plik \LaTeX-owy: +\begin{alltt} +> \Ucom{latex sample2e.tex} +pdfTeX 3.1415926-... (TeX Live ...) +..... +Output written on sample2e.dvi (3 pages, 7484 bytes). +Transcript written on sample2e.log. +\end{alltt} +Gdy program nie znajduje \filename{sample2e.tex} (b±d¼ innych wymaganych +plików), mo¿e to oznaczaæ, ¿e nadal dzia³aj± ustawienia zmiennych ¶rodowiska +b±d¼ pliki konfiguracyjne z~innej (poprzedniej) instalacji. +Szczegó³ow± analizê, gdzie pliki s± szukane i~znajdowane, +umo¿liwia diagnostyka opisana w~czê¶ci \ref{sec:debugging} na +str.~\pageref{sec:debugging}. + +\item Podgl±d wyniku sk³adu: +\begin{alltt} + > \Ucom{xdvi sample2e.dvi} # Unix + > \Ucom{dviout sample2e.dvi} # Windows +\end{alltt} +Polecenie \cmdname{xdvi} wymaga uruchomionego ¶rodowiska graficznego +X~Window. Dla MS Windows analogicznym poleceniem jest \cmdname{dviout}. + %%! + %%! You should see a new window with a nice document explaining some of the + %%! basics of \LaTeX{}. (Well worth reading, by the way if you're new to the + %%! system.) You do have to be running under X for \cmdname{xdvi} to work; if + %%! you're not, or your \envname{DISPLAY} environment variable is set + %%! incorrectly, you'll get an error \samp{Can't open display}. + +\item Przetwarzanie wyniku sk³adu do \PS{} w~celu wy¶wietlenia lub wydruku: +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item Tworzenie dokumentu bezpo¶rednio w~formacie \acro{PDF}: +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item Podgl±d dokumentu \acro{PDF}: +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{lub:} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} +Programy \cmdname{gv} i~\cmdname{xpdf} s± zwykle dostarczane +w~ramach systemu operacyjnego, wobec tego nie zamieszczono ich +na \TL. Przed samodzieln± instalacj± warto odwiedziæ strony, +odpowiednio: \url{http://www.gnu.org/software/gv} +i~\url{http://www.foolabs.com/xpdf}. W~sieci dostêpny jest tak¿e +bezp³atny program Adobe Reader (\url{http://www.adobe.com}). +U¿ytkownikom Windows mo¿na zarekomendowaæ program +Sumatra PDF (\url{http://blog.kowalczyk.info/software/sumatrapdf}. +W~systemie Windows domy¶lnie instalowany jest dla \TL{} program +\cmdname{psv} +(PS\_View), pozwalaj±cy przegl±daæ pliki \cmdname{.ps} i~\cmdname{.pdf}. +Program ten mo¿na te¿ zainstalowaæ samodzielnie w~systemach Linux + %(w~katalogu \dirname{support/} znajdziemy plik \filename{psview-5.09t.zip}). + (\url{http://psview.sourceforge.net/download.html}). + +\item Inne przydatne pliki testowe: + +\begin{ttdescription} +\item [small2e.tex] przyk³ad prostszy ni¿ \filename{sample2e}; +\item [testpage.tex] test po³o¿enia wydruku na kartce papieru, przydatny + do sprawdzenia, czy nasza drukarka nie wprowadza przesuniêæ; +\item [nfssfont.tex] s³u¿y do wydruku tablic fontowych; +\item [testfont.tex] jak wy¿ej, z~tym ¿e zamiast \LaTeX-a trzeba u¿yæ plain + \TeX{}; +\item [story.tex] najbardziej kanoniczny przyk³ad dla plain \TeX{}; + na zakoñczenie przetwarzania uruchomionego poleceniem \samp{tex story}, + po ukazaniu siê \code{*}, nale¿y wpisaæ \samp{\bs bye}. +\end{ttdescription} + +\item Je¶li zainstalowano pakiet \filename{xetex}, mo¿emy przetestowaæ + u¿ycie fontów systemowych: +\begin{alltt} +> \Ucom{xetex opentype-info.tex} +This is XeTeX, Version 3.1415926\dots +... +Output written on opentype-info.pdf (1 page). +Transcript written on opentype-info.log. +\end{alltt} +Gdy otrzymamy komunikat b³êdu: +,,Invalid fontname `Latin Modern Roman/ICU'\dots'', oznacza to, ¿e +nale¿y zmieniæ konfiguracjê, jak to opisano +w~czê¶ci~\ref{sec:font-conf-sys}. + +\end{enumerate} + +\subsection{Programy pomocnicze dla Windows} + +Pocz±tkuj±cym u¿ytkownikom polecamy stronê +\url{http://tug.org/begin.html} oraz podrêcznik +Petera Flynna \textsl{Formatting Information}, dostêpny pod adresem +\url{http://www.ctan.org/tex-archive/documentation/beginlatex}. + +Aby instalacja by³a kompletna, \TL{} wymaga kilku pomocniczych +programów, które nie s± dostarczane z~systemem Windows. +Wiele skryptów napisano w~jêzyku Perl, ponadto wiele narzêdzi wymaga +programu Ghostscript (interpretera jêzyka PostScript) do +rasteryzacji b±d¼ konwersji plików. Przydatne s± tak¿e w~wielu wypadkach +ró¿ne programy do obróbki grafiki. Ponadto posiadanie edytora +zorientowanego na ¶rodowisko \TeX{} znacznie u³atwi pracê. + +Wszystkie te programy dla Windows mo¿na dosyæ ³atwo znale¼æ w~sieci, +poniewa¿ jednak jest ich spory wybór, postanowili¶my te najbardziej istotne +umie¶ciæ w~dystrybucji \TL: +\begin{description} +\item[Perl i Ghostscript] -- obydwa te programy s± niezbêdne do +poprawnego dzia³ania \TL, do³±czyli¶my zatem \cmdname{Ghostscript} 8.62 +i~minimaln± dystrybucjê \cmdname{Perl} 5.8, wystarczaj±c± do +uruchomienia wszystkich zawartych w~\TL{} skryptów perlowych; +oba programy zosta³y ,,ukryte'', to znaczy tylko programy \TL, które +z~nich korzystaj±, ,,wiedz±'' gdzie je znale¼æ; tym samym nie powinny +kolidowaæ z~ewentualnie zainstalowanymi w~systemie programami Perl +i~Ghostscript; +\item[narzêdzia uruchamiane z~linii poleceñ] -- zestaw kilku przydatnych + programów + (\texttt{gzip}, \texttt{unzip}, \texttt{jpeg2ps} i~\texttt{tiff2png}) + a~tak¿e kilka narzêdzi z~zestawu \cmdname{xpdf}, uruchamianych z~linii + poleceñ (sam \cmdname{xpdf} nie jest dostêpny dla Windows, + mo¿na jednak pobraæ z~internetu opart± na nim przegl±darkê \acro{PDF}: + \url{http://blog.kowalczyk.info/software/sumatrapdf}); +\item[fc-list, fc-cache] -- narzêdzia z~biblioteki fontconfig; program +\prog{fc-cache} rejestruje dla \XeTeX-a fonty systemowe lub dostarczane + w~dystrybucji \TL{} fonty OpenType; \prog{fc-list} wy¶wietla zarejestrowane + fonty, podaj±c ich pe³ne nazwy (deklarujemy je w~rozszerzonym w~\XeTeX-u + poleceniu \cs{font}); +\item[PS\_View] -- program do podgl±du plików postscriptowych (a~tak¿e + plików \acro{PDF}), patrz rys.~\ref{fig:psview}. +\end{description} + %\begin{description} + %\item[katalog \texttt{support,}] wspomniany ju¿ w~czê¶ci~\ref{sec:tld}, + %zawiera ró¿ne programy, które mog± byæ u¿yteczne w~¶rodowisku \TeX-owym + %(np. edytory/¶rodowiska dla \TeX-a); programy te \emph{nie s±} uwzglêdniane + %podczas instalacji samego \TL, nale¿y je wiêc zainstalowaæ samodzielnie. + %\end{description} + +\begin{figure}[h] +\begin{center} +\tlpng{psview}{.6\linewidth} +\caption{PS\_View: umo¿liwia bardzo du¿e powiêkszenia!}\label{fig:psview} +\end{center} +\end{figure} + +Poni¿ej zamieszczono listê miejsc, z~których mo¿na pobraæ programy +pomocnicze: + +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.perl.org} (uzupe³niaj±ce, przydatne + pakiety nale¿y pobraæ z~zasobów CPAN \url{http://cpan.org}) +\item[ImageMagick] -- bogaty zestaw narzêdzi do wsadowego przetwarzania + plików graficznych (\url{http://www.imagemagick.com}) +\item[NetPBM] -- do przetwarzania i~konwersji plików graficznych mo¿emy + u¿yæ alternatywnego dla \textsf{ImageMagick} programu NetPBM + (\url{http://netpbm.sourceforge.net/}) +\item[Edytory dla systemu \TeX{}] -- spory wybór programów, uwzglêdniaj±cych + indywidualne preferencje u¿ytkownika (poni¿ej wymieniono jedynie + te dzia³aj±ce w~systemach Windows) + \begin{itemize*} + \item \cmdname{GNU Emacs} -- w~wersji zintegrowanej z~\textsf{AucTeX} + dla Windows dostêpny jest w~archiwach \CTAN; + strona domowa: \url{http://www.gnu.org/software/auctex}. +% http://www.gnu.org/software/emacs/windows/ntemacs.html}) +% \item \cmdname{XEmacs} -- bardziej przyjazna wersja dla Windows +% (\url{http://www.xemacs.org/}) + \item \cmdname{LEd} -- polski edytor, dostêpny + z~\url{http://mirror.ctan.org/support/LEd}. + \item \cmdname{SciTE} -- edytor dostêpny + z \url{http://www.scintilla.org/SciTE.html} + \item \cmdname{Texmaker} -- edytor dostêpny z + \url{http://www.xm1math.net/texmaker}. + \item \cmdname{TexMakerX} jest rozszerzeniem \cmdname{Texmaker} + (\url{http://texmakerx.sourceforge.net}). + \item TeXnicCenter -- kolejny, dosyæ bogaty w~funkcje edytor + (\url{http://www.toolscenter.org/products/texniccenter/}) + \item \cmdname{TeXworks} -- nowy edytor, dostêpny z + \url{http://tug.org/texworks} i instalowany w Windows oraz + \MacOSX\ jako czê¶æ \TL. + \item \cmdname{Vim} -- rozbudowany i~bardzo funkcjonalny edytor, + wywodz±cy siê z~klasycznego dla systemów Unix edytora \cmdname{vi} + %, dostêpny na \TL{} w~katalogu \dirname{support/vim} + (\url{http://www.vim.org}) + \item \cmdname{WinShell} -- prosty edytor/shell + (\url{http://www.winshell.de}) + \item \cmdname{WinEdt} -- bogaty w~funkcje edytor dla \TeX-a, dostêpny jako + \emph{shareware} (\url{http://www.winedt.com}) + \end{itemize*} +\end{description} + +Obszerniejsz± listê programów mo¿na znale¼æ na stronie +\url{http://tug.org/interest.html}. + +\section{Instalacje zaawansowane} + +W poprzednich czê¶ciach opisano proces typowej instalacji. Teraz +omówimy te bardziej wyspecjalizowane. + +\htmlanchor{tlsharedinstall} +\subsection{Instalacje dla wielu u¿ytkowników (lub wieloplatformowe)} +\label{sec:sharedinstall} + +\TL{} zaprojektowano tak, by w~sieci komputerowej mog³o z~niego korzystaæ +wielu u¿ytkowników, nawet w~ró¿nych systemach operacyjnych. +Dziêki standardowej strukturze katalogów nie ma potrzeby konfiguracji +i~okre¶lania konkretnych ¶cie¿ek: po³o¿enie plików wymaganych przez programy +\TL{} jest zdefiniowane jako wzglêdne wobec samych programów. Mo¿na to +zobaczyæ w~pliku \filename{$TEXMFMAIN/web2c/texmf.cnf}, który zawiera np. +takie wiersze: +\begin{sverbatim} +TEXMFMAIN = $SELFAUTOPARENT/texmf +... +TEXMFLOCAL = $SELFAUTOPARENT/../texmf-local +\end{sverbatim} +W konsekwencji oznacza to, ¿e dla ró¿nych systemów operacyjnych b±d¼ +u¿ytkowników wystarczy dodaæ do ich ¶cie¿ek przeszukiwania tylko ¶cie¿kê +do programów \TL{}. + +Mo¿liwa jest zatem np. instalacja lokalna \TL{}, po czym przeniesienie +ca³ej struktury w~inne miejsce w~sieci. + +U¿ytkownicy Windows mog± pobraæ z internetu skrypt \filename{w32client} +(patrz: \url{http://tug.org/texlive/w32client.html}), który +pozwala dostosowaæ istniej±c± instalacjê \TL{} dla potrzeb sieci +(w³±cznie z~utworzeniem skrótów w~menu systemowym). Plik .zip dostêpny na +wymienionej stronie zawiera ponadto skrypt \filename{w32unclient}, +s³u¿±cy do odinstalowania. + +%W czê¶ci~\ref{sec:kpathsea} dowiemy siê wiêcej o~konfigurowaniu \TL{} +%i~zasadach przeszukiwania ¶cie¿ek. + +%%! 2 sekcje t³umaczy³ Kocio (Andrzej Borzyszkowski), przeredagowa³ StaW +\htmlanchor{tlportable} +\subsection{Przeno¶na instalacja na pen drivie USB} +\label{sec:portable-tl} + +Aby wykonaæ przeno¶n± instalacjê na pen drivie nale¿y uruchomiæ program +instalacyjny z~opcj± \optname{-portable} (lub polecenie \code{V} w trybie +tekstowym b±d¼ odpowiednia opcja w trybie \GUI). Instalacja taka nie ingeruje +w sam system operacyjny. Mo¿na j± wykonaæ bezpo¶rednio na pen drivie, lub na +dysku twardym, sk±d kopiujemy j± na urz±dzenie przeno¶ne. + +Do uruchomienia programów \TL\ w takiej instalacji wystarczy w sesji +terminala dodaæ, jak zazwyczaj, odpowiedni katalog do zmiennej \code{PATH}. W +Windows nale¿y dwukrotnie klikn±æ \filename{tl-tray-menu} w g³ównym katalogu +instalacji, aby wybraæ jedno z podstawowych zadañ, pokazanych na poni¿szym +rysunku: + +\medskip +\tlpng{tray-menu}{4cm} +\smallskip + +\noindent Wybór ,,More\ldots'' poka¿e komunikat z informacj± jak mo¿na +dostosowaæ menu do w³asnych potrzeb. + +\htmlanchor{tlisoinstall} +\subsection{Instalacje z pliku obrazu \ISO\ (lub \DVD)} +\label{sec:isoinstall} + +Je¶li nie zamierzamy czêsto aktualizowaæ b±d¼ modyfikowaæ w inny sposób +naszej instalacji, a~tak¿e gdy zamierzamy uruchamiaæ \TL\ na wielu systemach, +warto utworzyæ plik obrazu \ISO\ takiej instalacji, choæby z poni¿szych +powodów: + +\begin{itemize} +\item kopiowanie obrazu \ISO\ miêdzy komputerami jest znacznie szybsze + ni¿ kopiowanie zwyk³ej instalacji; +\item je¶li u¿ywamy kilku systemów operacyjnych na tym samym komputerze + i chcemy korzystaæ z~tej samej instalacji \TL, obraz \ISO instalacji + jest pozbawiony ograniczeñ ró¿nych systemów plików + (\acro{FAT32}, \acro{NTFS}, \acro{HFS+}); +\item systemy uruchamiane w trybie wirtualnym mog± po prostu zamontowaæ + plik obrazu \ISO. +\end{itemize} + +Obraz \ISO\ mo¿na oczywi¶cie wypaliæ na p³ytce \DVD. + +Systemy \GNU/Linux/Unix (w tym \MacOSX) pozwalaj± na montowanie pliku obrazu +\ISO. Prócz tego taka instalacja w niczym siê nie ró¿ni od typowej, wykonanej +na dysku (patrz: \ref{sec:env}). + +Podczas wykonywania instalacji do \ISO\ warto pomin±æ specyfikowanie katalogu +dla roku wydania, ponadto warto umie¶ciæ katalog \filename{texmf-local} na +tym samym poziomie co inne drzewa (\filename{texmf}, \filename{texmf-dist}, +itd.). Zmianê katalogów umo¿liwia opcja \verb+TEXDIR+ programu instalacyjnego. + +Dla natywnego (nie wirtualnego) systemu Windows mo¿na wypaliæ obraz \ISO\ na +p³ytce \DVD, ale warto te¿ rozwa¿yæ instalacjê którego¶ z~dostêpnych w sieci +programów umo¿liwiaj±cych montowanie takiego obrazu. Np. dla Windows XP +Microsoft oferuje program \filename{winxpvirtualcdcontrolpanel}. + +Poza tym w Windows mo¿na do³±czyæ opisany wy¿ej skrypt \filename{w32client} +(patrz: \ref{sec:sharedinstall} oraz +\url{http://tug.org/texlive/w32client.html}), który wykonuje swe zadania, +podobnie jak w wypadku instalacji sieciowej. + +W systemie \MacOSX{} programy TeXShop i \TeX{}works bêd± mog³y wykorzystaæ +instalacjê na \acro{DVD}, gdy zadeklarujemy dowi±zanie symboliczne +\filename{/usr/texbin} do odpowiedniego katalogu, np.: +\begin{verbatim} +sudo ln -s /Volumes/MyTeXLive/bin/universal-darwin /usr/texbin +\end{verbatim} + +Uwaga historyczna: \TL{} 2010 by³ pierwsz± edycj±, która (z ró¿nych przyczyn) +nie by³a faktycznie \textit{live}. Niemniej jednak poprzednie edycje zawsze +wymaga³y akrobatycznych ,,sztuczek'' do uruchamiania programów bezpo¶rednio +z \DVD\ lub obrazu \ISO (np. deklarowania dodatkowej zmiennej ¶rodowiska). +Obraz \ISO, tworzony obecnie, tego nie wymaga. + +\htmlanchor{tlmgr} +\section{\cmdname{tlmgr}: zarz±dzanie instalacj±} +\label{sec:tlmgr} + +\TL{} zawiera program o~nazwie \prog{tlmgr}, s³u¿±cy do dalszego +zarz±dzania \TL{} po pierwotnej instalacji. Programy \prog{updmap}, +\prog{fmtutil} oraz \prog{texconfig} s± nadal dostêpne i~bêd± utrzymywane +w~przysz³o¶ci, jednak¿e obecnie polecanym interfejsem jest \prog{tlmgr}. Jego +mo¿liwo¶ci obejmuj±: + +\begin{itemize*} +\item instalowanie, aktualizacjê, tworzenie kopii zapasowych, odtwarzanie + oraz usuwanie pojedynczych pakietów (opcjonalnie~-- z~uwzglêdnieniem + zale¿no¶ci pomiêdzy pakietami); +\item wyszukiwanie i pokazanie zawarto¶ci pakietów; +\item wyszczególnianie oraz dodawanie architektur (platform systemowych); +\item zmianê opcji instalacji, takich jak rozmiar papieru czy zmiana + po³o¿enia ¼ród³a instalacji (patrz czê¶æ~\ref{sec:location}). +\end{itemize*} + +\begin{figure}[tb] +\tlpng{tlmgr-gui}{\linewidth} +\caption{\prog{tlmgr} w~trybie graficznym: g³ówne okno, po akcji +,,Wczytaj'' (\textit{Load}).} +\label{fig:tlmgr-gui} +\end{figure} + +\begin{figure}[tb] +\hbox to \hsize{% + \vtop{\hsize=.59\linewidth + \null % make figures align at the top + \tlpng{tlmgr-general-options}{\hsize} + \caption{\texttt{tlmgr} w trybie \GUI: Opcje ogólne} + \label{fig:tlmgr-general-options} + } + \hfil + \vtop{\hsize=.39\linewidth + \null + \tlpng{tlmgr-paper-options}{\hsize} + \caption{\texttt{tlmgr} w trybie \GUI: Opcje dotycz±ce formatu papieru} + \label{fig:tlmgr-paper-options} + } +} +\end{figure} + + %\begin{figure}[tb] + %\tlpng{tlmgr-config}{.8\linewidth} + %\caption{\texttt{tlmgr} w~trybie graficznym: zak³adka + %konfiguracji}\label{fig:tlmgr-config} + %\end{figure} + +\subsection{\cmdname{tlmgr} -- tryb graficzny (GUI)} +\prog{tlmgr} mo¿e byæ uruchomiony w~trybie graficznym +(rys.~\ref{fig:tlmgr-gui}) za pomoc± polecenia: +\begin{alltt} +> \Ucom{tlmgr -gui} +\end{alltt} + za¶ w~systemie Windows poprzez wybór menu: \texttt{Start}, +\texttt{Programy}, \texttt{TeX Live 2012}, \texttt{TeX Live Manager}. +Po klikniêciu przycisku ,,Wczytaj'' wy¶wietla listê dostêpnych oraz +listê zainstalowanych pakietów. + %(te ostatnie poprzedzone s± znacznikiem + %,,(i)''). Zak³adamy oczywi¶cie, ¿e ¼ród³a instalacji s± poprawne i~s± + %dostêpne. + +Rysunki~\ref{fig:tlmgr-general-options} i~\ref{fig:tlmgr-paper-options} +pokazuj± zak³adki docz±ce opcji. + +\subsection{Przyk³adowe wywo³ania \cmdname{tlmgr} z~linii poleceñ} + +Po zainstalowaniu \TL{} mo¿na dokonaæ aktualizacji wszystkich pakietów: +\begin{alltt} +> \Ucom{tlmgr update -all} +\end{alltt} +Symulacjê aktualizacji umo¿liwia: +\begin{alltt} +> \Ucom{tlmgr update -all -dry-run} +\end{alltt} +b±d¼ tylko wyliczenie, jakie pakiety bêd± aktualizowane: +\begin{alltt} +> \Ucom{tlmgr update -list} +\end{alltt} + +Poni¿szy przyk³ad dodaje kolekcjê zawieraj±c± m.in. nowy ,,silnik'' \XeTeX, + %z~innego ni¿ domy¶lne po³o¿enia ¼ród³a + z~lokalnego repozytorium instalacji: + +\begin{alltt} +> \Ucom{tlmgr -repository /local/mirror/tlnet install collection-xetex} +\end{alltt} +co pokazuj± komunikaty (tu w skrócie): +\begin{fverbatim} +install: collection-xetex +install: arabxetex +... +install: xetex +install: xetexconfig +install: xetex.i386-linux +running post install action for xetex +install: xetex-def +... +running mktexlsr +mktexlsr: Updating /usr/local/texlive/2012/texmf/ls-R... +... +running fmtutil-sys --missing +... +Transcript written on xelatex.log. +fmtutil: /usr/local/texlive/2012/texmf-var/web2c/xetex/xelatex.fmt installed. +\end{fverbatim} + +Jak widaæ, \prog{tlmgr} instaluje wszystkie pakiety zale¿ne, a tak¿e +przeprowadza wymagane czynno¶ci poinstalacyjne, jak aktualizacja bazy +danych, budowa plików formatów itp. (w przyk³adzie wygenerowali¶my +nowy format dla \XeTeX). + +Aby wy¶wietliæ informacjê o~pakiecie (kolekcji b±d¼ schemacie), nale¿y +uruchomiæ np.: +\begin{alltt} +> \Ucom{tlmgr show collection-latexextra} +\end{alltt} +co poka¿e: +\begin{fverbatim} +package: collection-latexextra +category: Collection +shortdesc: LaTeX supplementary packages +longdesc: A large collection of add-on packages for LaTeX. +installed: Yes +revision: 14675 +\end{fverbatim} + +\noindent +\textbf{Uwaga:} pe³na dokumentacja programu \cmdname{tlmgr} dostêpna +jest pod adresem: +\url{http://tug.org/texlive/tlmgr.html} lub po uruchomieniu: +\begin{alltt} +> \Ucom{tlmgr -help} +\end{alltt} + +\section{Uwagi dotycz±ce Windows} +\label{sec:windows} + +%\TL\ posiada tylko jeden program instalacyjny, dzia³aj±cy zarówno w~Unix, +%jak i~w~Windows. Stworzenie takiego programu by³o mo¿liwe dopiero +%po zaniechaniu wsparcia dla starszych wersji Windows. Obecnie +%\TL\ mo¿na instalowaæ tylko w~Windows 2000 i~nowszych. + +\subsection{Cechy specyficzne w~systemie Windows} +\label{sec:winfeatures} + +W systemie Windows program instalacyjny wykonuje kilka dodatkowych czynno¶ci: +\begin{description} +\item[Menu i skróty.] W~menu systemowym instalowane jest podmenu ,,\TL'', + które zawiera kilka pozycji dla programów dzia³aj±cych w~trybie graficznym + (\prog{tlmgr}, \prog{texdoctk}, PS\_View -- przegl±darka plików + postscriptowych) oraz dokumentacji. + %Dla PS\_View tworzony jest tak¿e + %skrót (ikona) na pulpicie, umo¿liwiaj±cy ,,przeci±ganie\dywiz upuszczanie'' + %na ikonie plików postscriptowych. +\item[Skojarzenia typów plików.] Je¶li wybrano tê opcjê, + \prog{TeXworks}, \prog{Dviout} oraz \prog{PS\_view} otwieraj± domy¶lne + dla tych programów typy plików (lub, przy klikniêciu prawym klawiszem + myszy na danym pliku, proponuj± ,,Otwórz'' i wybór programu). +\item[Konwerter bitmap do EPS.] Dla ró¿nych formatów graficznych plików + bitmapowych klikniêcie prawym klawiszem myszy wy¶wietla w~menu ,,Otwórz'' + \cmdname{bitmap2eps}. Bitmap2eps jest prostym skryptem, który pozwala + na wybór programu \cmdname{sam2p} b±d¼ \cmdname{bmeps}. +\item[Automatyczne ustawienie zmiennych ¶rodowiska.] + Po instalacji nie s± wymagane ¿adne ,,rêczne'' zmiany ustawieñ. +\item[Odinstalowanie.] Program instalacyjny rejestruje instalacjê +w~menu ,,Dodaj/Usuñ programy'' w~Panelu sterowania; odinstalowanie +odbywa siê zatem w~standardowy dla Windows sposób. +\end{description} + +%\subsection{Program Dviout} +% +%Obecne wydanie \TL{} nie oferuje niestety preinstalowanego programu do +%podgl±du plików \acro{DVI} dla Windows, mo¿na jednak samodzielnie +%zainstalowaæ doskona³y \prog{dviout}, autorstwa Toshio Oshimy. Znajdziemy go +%w~katalogu \path{support/dviout/}, zawieraj±cym równie¿ krótki plik +%\filename{README} omawiaj±cy, jak zaistalowaæ i~skonfigurowaæ \prog{dviout} +%dla \TL. Przed instalacj± zalecamy przeczytaæ informacje tam zawarte. +% +%Pierwsze uruchomienie \verb+dviout+ zazwyczaj automatycznie generuje wymagane +%fonty ekranowe. Po kilku sesjach komunikaty dotycz±ce generowania fontów +%stan± siê rzadsze. Wiêcej informacji mo¿na znale¼æ w~bardzo dobrym +%poradniku \emph{on-line} tego programu. + +\subsection{User Profile to inaczej Home (katalog domowy)} +\label{sec:winhome} + +Odpowiednikiem uniksowego katalogu domowego u¿ytkownika (|$HOME|) jest +w~Windows katalog okre¶lany zmienn± \verb|%USERPROFILE%|. W~Windows XP jest +to zazwyczaj katalog \verb|C:\Documents and Settings\| +\verb|<nazwa_u¿ytkownika>|, +za¶ w~Windows Vista i~Windows~7 katalog +\verb|C:\Users\<nazwa_u¿ytkownika>|. W~pliku konfiguracyjnym +\filename{texmf.cnf} i~bibliotekach \KPS{} znak \verb|~| jest poprawnie +rozwijany do odpowiedniej zmiennej zarówno w~Windows, jak i~w~Unix/Linux. + +\subsection{Rejestr Windows} +\label{sec:registry} + +W systemie Windows prawie wszystkie dane konfiguracyjne przechowywane s± +w~tzw. rejestrze. Zawiera on hierachicznie zorganizowane klucze, w~ramach +kilku kluczy g³ównych. Najbardziej istotne dla programów instalacyjnych +s± klucze \path{HKEY_CURRENT_USER} oraz \path{HKEY_LOCAL_MACHINE} +(w~skrócie \path{HKCU} i~\path{HKLM}). Czê¶æ \path{HKCU} dotyczy katalogów +domowych u¿ytkowników (patrz~\ref{sec:winhome}), za¶ \path{HKLM} -- podkatalogów +systemowych (w~katalogu Windows). + +Informacje o~ustawieniach systemu mo¿na czasem uzyskaæ ze zmiennych +¶rodowiska, ale po inne informacje, np. po³o¿enie tzw. skrótów, trzeba +odwo³aæ siê do rejestru. Tak¿e zapis zmiennych ¶rodowiska na sta³e wymaga +dostêpu do rejestru. + +\subsection{Uprawnienia w Windows} +\label{sec:winpermissions} + +%%! UWAGA SW: ca³a ta czê¶æ jest mocno niejasna w oryginale. T³umaczy³em +%%! j± maj±c na uwadze ogólny sens, w niektórych miejscach doprecyzowuj±c +%%! sformu³owania. Ale i tak jest, wg mnie, do bani :-) + +W nowszych wersjach Windows istnieje wyra¼ne rozró¿nienie miêdzy +u¿ytkownikami ,,zwyk³ymi'' i~administratorami, maj±cymi +pe³n± swobodê dostêpu do ca³o¶ci systemu. + %%! ??? + %In practice, though, you could better describe + %these classes of users as unprivileged users and normal users: being an + %administrator is the rule, not the exception. + Do³o¿ono wielu starañ, aby umo¿liwiæ instalacjê \TL{} tak¿e osobom bez + uprawnieñ administratora. + +Je¶li osoba instaluj±ca jest administratorem, to udostêpniona jest opcja +instalacji dla wszystkich u¿ytkowników. U¿ycie jej oznacza, ¿e tworzone s± +skróty, a tak¿e ustawiane s± zmienne ¶rodowiska dla ca³ego systemu. +W~przeciwnym wypadku skróty i~menu s± tworzone jedynie dla konkretnego +u¿ytkownika, tak¿e definiowane zmienne ¶rodowiska dotycz± zwyk³ych +u¿ytkowników. + %Maj±c uprawnienia admistratora mo¿emy zainstalowaæ \TL{} tylko + %dla u¿ytkowników; nale¿y wtedy uruchomiæ \prog{install-tl} z~parametrem + %\optname{-non-admin}. + +Bez wzglêdu na status u¿ytkownika proponowanym, domy¶lnym katalogiem g³ównym +instalacji, jest katalog w~ramach \verb|%SystemDrive%|. Program instalacyjny +zawsze sprawdza, czy ten katalog jest dostêpny do zapisu dla aktualnego +u¿ytkownika. + +Problem mo¿e siê pojawiæ wtedy, gdy u¿ytkownik instaluj±cy \TL{} nie jest +administratorem, a~programy \TeX-owe s± ju¿ w~¶cie¿ce przeszukiwania. +Wynikowa ¶cie¿ka zawiera wtedy ¶cie¿kê systemow±, do której dodano ¶cie¿kê do +programów u¿ytkownika. W~konsekwencji nie bêd± znajdowane nowo instalowane +programy. Aby rozwi±zaæ ten problem, program instalacyjny tworzy skrót do +okna z~wierszem poleceñ, w~którym ¶cie¿ka do nowych programów \TL{} ma +priorytet. W~ten sposób, po uruchomieniu tego skrótu, bêdzie mo¿na korzystaæ +z~\TL. Dotyczy to tak¿e programu \TeX{}works, o ile go zainstalowali¶my. + +Windows Vista i Windows~7 stwarzaj± dodatkowe utrudnienia: nawet je¶li +jeste¶my zalogowani jako administrator, musimy dodatkowo ¿±daæ uprawnieñ do +uruchomienia programów jako administrator! W rzeczywisto¶ci nie ma sensu +logowanie jako administrator, zamiast tego wystarczy klikn±æ prawym klawiszem +myszy na programie (lub skrócie), co pozwala wybraæ opcjê ,,Uruchom jako +administrator''. + +\subsection{Zwiêkszanie maksymalnej ilo¶ci dostêpnej pamiêci +w~Windows i~Cygwin} +\label{sec:cygwin-maxmem} + +U¿ytkownicy systemów Windows i~Cygwin mog± w~przypadku uruchamiania +niektórych programów dostarczonych w~\TL{} spotkaæ siê z~niewystarczaj±c± +ilo¶ci± dostêpnej pamiêci. Na przyk³ad \prog{asy} wyczerpie dostêpn± pamiêæ +w~przypadku próby zadeklarowania macierzy sk³adaj±cej siê z~25~milionów liczb +rzeczywistych, a~Lua\TeX\ przy przetwarzaniu dokumentu zawieraj±cego wiele +du¿ych czcionek. + % XXX "du¿ych" jest brzydkie, ale nie mam lepszego pomys³u :/ + +W~Cygwin mo¿na ten problem rozwi±zaæ w~sposób podany za porad± zawart± +w~Podrêczniku U¿ytkownika Cygwin +(\url{http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html}). + +W~Windows nale¿y utworzyæ plik, np. \code{moremem.reg}, o~zawarto¶ci: +\begin{sverbatim} +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\Software\Cygwin] +"heap_chunk_in_mb"=dword:ffffff00 +\end{sverbatim} + +\noindent a~nastêpnie wykonaæ (jako u¿ytkownik z~prawami administratora) +polecenie: \code{regedit /s moremem.reg}. Zamiast ustawieñ globalnych dla +systemu, mo¿na te¿ zmieniæ wielko¶æ dostêpnej pamiêci jedynie dla bie¿±cego +u¿ytkownika, u¿ywaj±c \code{HKEY\_CURRENT\_USER}. + +\section{W razie problemów} +\label{troubleshooting} + +\subsection{Co zrobiæ gdy \texttt{latex} nie mo¿e znale¼æ potrzebnych +plików?} + +\begin{itemize} + \item Podstawowym narzêdziem do diagnozowania problemów jest program + \cmdname{kpsewhich}. Wyprowadza on informacje diagnostyczne na wyj¶cie +stderr, przy czym konsole (okienka wierszy poleceñ) starszych systemów +Windows nie potrafi± przekierowaæ stderr do pliku. Umo¿liwia to dopiero +system Windows NT i~pó¼niejsze, ale rozwi±zanie przedstawione poni¿ej dzia³a +dla ka¿dej konsoli (okienka wierszy poleceñ). Otó¿ dla celów diagnostycznych +mo¿na tymczasowo zdefiniowaæ zmienn± ¶rodowiska (w~oknie poleceñ): +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=err.log +\end{verbatim} +Mo¿na równie¿ zadaæ zakres diagnostyki: +\begin{verbatim} +SET KPATHSEA_DEBUG=-1 +\end{verbatim} + +Podobnie, aby przekierowaæ wyj¶cie stderr na stdout: +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=con: +\end{verbatim} +W ten sposób mo¿na skierowaæ zarówno stderr, jak i stdout do tego samego pliku. +\item Przy za³o¿eniu, ¿e instalacjê wykonano w \path|c:/TeX|, nale¿y + sprawdziæ (porównaæ) nastêpuj±ce warto¶ci:\\ + {\small + \begin{tabular}{ll} + \path|kpsewhich -expand-path $SELFAUTOPARENT| & \path|c:/TeX| \\ + \path|kpsewhich -expand-path $TEXMF| & \path|c:/TeX/texmf....| \\ + \path|kpsewhich -expand-var $TEXINPUTS| & \path|.;c:/TeX/texmf/tex//| + \end{tabular} +} + +Je¶li w otoczeniu systemowym s± zdefiniowane zmienne zwi±zane z~\TeX-em, +nale¿y je usun±æ, maj± bowiem pierwszeñstwo przed tymi, +które okre¶lono w~pliku \filename{texmf.cnf}. +\item Nastêpnie nale¿y sprawdziæ (porównaæ) warto¶ci:\\ +{\small + \begin{tabular}{ll} + \texttt{kpsewhich cmr10.tfm} & \path|c:/TeX/texmf-dist/fonts/tfm/public/cm/cmr10.tfm|\\ + \texttt{kpsewhich latex.fmt}& \path|c:/TeX/texmf-var/web2c/pdftex/latex.fmt| + \end{tabular} +} + +Je¶li podczas sprawdzania nie znaleziono odstêpstw, to \TeX{} i~programy +towarzysz±ce powinny dzia³aæ. Je¶li tak nie jest, to nale¿y poeksperymentowaæ +z opcj± \path|-debug=n| programu \path|kpsewhich| i~zweryfikowaæ wszystkie +uzyskane warto¶ci. Po zidentyfikowaniu problemu warto go zg³osiæ. +\end{itemize} + +%-------------------------- +% don't use \Webc so the \uppercase in the headline works. +\section{Instrukcja obs³ugi systemu Web2C} + +\Webc{} to zestaw programów zwi±zanych z~\TeX-em, tj. sam \TeX{}, \MF{}, +\MP, \BibTeX{} itd. Stanowi± one rdzeñ dystrybucji \TL. + +Oryginalna implementacja wykonana zosta³a przez Tomasa Rokickiego, który +w~roku 1987 stworzy³ pierwszy system \TeX{}-to-C, adaptuj±c pliki wymiany +(\emph{change files}) pod Unix-em (pierwotnie by³y one dzie³em Howarda +Trickey'a oraz Pavela Curtisa). W~czasie, gdy Tim Morgan zajmowa³ siê +systemem, jego nazwa zosta³a zmieniona na Web-to-C\@. W~1990 roku prace nad +projektem przej±³ Karl Berry wraz z~dziesi±tkami wspó³pracowników, a~w~roku +1997 pa³eczkê przej±³ Olaf Weber. + +\Webc{} dzia³a na platformach systemowych, takich jak Unix (w~tym \MacOSX), +Windows 9x/\acro{NT/2K/XP} i~innych. +System wykorzystuje oryginalne ¼ród³a \TeX-owe autorstwa Donalda Knutha +oraz inne programy napisane w~\web{} i~t³umaczy je na kod ¼ród³owy~C. +Ponadto system udostêpnia spory zestaw makr i~funkcji stworzonych dla +zwiêkszenia funkcjonalno¶ci oryginalnych zasobów oprogramowania +zwi±zanego z~\TeX-em. Podstawowymi sk³adnikami systemu s±: + +\begin{cmddescription} +\item[bibtex] tworzenie spisów bibliograficznych; +\item[dvicopy] modyfikowanie pliku \dvi; +\item[dvitomp] konwersja \dvi{} do MPX (rysunki \MP{}-owe); +\item[dvitype] konwersja \dvi{} na plik tekstowy (ASCII); +\item[gftodvi] zamiana fontu GF na plik \dvi; +\item[gftopk] zamiana fontu w~formacie GF na font spakowany (PK); +\item[gftype] zamiana fontu GF na plik tekstowy (ASCII); +\item[mf] generowanie fontów bitmapowych w formacie GF; +\item[mft] sk³ad plików ¼ród³owych \MF{}-a; +\item[mpost] tworzenie rysunków oraz diagramów technicznych; +\item[patgen] tworzenie wzorców przenoszenia wyrazów; +\item[pktogf] zamiana fontów w formacie PK na fonty GF; +\item[pktype] zamiana fontu PK na plik tekstowy (ASCII); +\item[pltotf] konwersja tekstowej listy w³a¶ciwo¶ci do TFM; +\item[pooltype] wy¶wietlanie \web-owych plików pool; +\item[tangle] konwersja \web{} do jêzyka Pascal; +\item[tex] sk³ad tekstu; +\item[tftopl] konwersja TFM do tekstowej listy w³a¶ciwo¶ci (PL); +\item[vftovp] konwersja fontów wirtualnych do wirtualnej listy + w³a¶ciwo¶ci (VPL); +\item[vptovf] konwersja wirtualnej listy w³a¶ciwo¶ci do fontów wirtualnych; +\item[weave] konwersja \web{} do \TeX-a. +\end{cmddescription} + +\noindent +Dok³adny opis funkcji oraz sk³adni tych programów zawarty jest +w~dokumentacji poszczególnych pakietów samego \Webc{}. +Do optymalnego korzystania z~instalacji \Webc{} +przyda siê znajomo¶æ kilku zasad rz±dz±cych ca³± rodzin± programów. + +Wszystkie programy obs³uguj± standardowe opcje \acro{GNU}: +\begin{description} +\item[\texttt{-{}-help\ \ \ }] podaje podstawowe zasady u¿ytkowania; +\item[\texttt{-{}-verbose}] podaje dok³adny raport z~dzia³ania programu; +\item[\texttt{-{}-version}] podaje informacjê o~wersji, po czym koñczy + dzia³anie programu. +\end{description} + +Do lokalizowania plików programy oparte na \Webc{} u¿ywaj± biblioteki do +przeszukiwania ¶cie¿ek zwanej \KPS{}. +Dla optymalizacji przeszukiwania \TeX-owego drzewa podkatalogów biblioteka ta +u¿ywa kombinacji zmiennych ¶rodowiskowych oraz kilku plików konfiguracyjnych. +\Webc{} potrafi obs³ugiwaæ jednocze¶nie wiêcej ni¿ jedno drzewo +podkatalogów, co jest u¿yteczne w~wypadku, gdy chce siê przechowywaæ +standardow± dystrybucjê \TeX-a jak i~lokalne rozszerzenia w~dwóch ró¿nych +drzewach katalogów. +Aby przyspieszyæ poszukiwanie plików, katalog g³ówny ka¿dego drzewa ma swój +plik \file{ls-R}, zawieraj±cy pozycje okre¶laj±ce nazwê i~wzglêdn± ¶cie¿kê +dla wszystkich plików zawartych w~tym katalogu. + +\subsection{Przeszukiwanie ¶cie¿ek przez Kpathsea} +\label{sec:kpathsea} + +Opiszemy najpierw ogólny mechanizm przeszukiwania ¶cie¿ek przez bibliotekê +\KPS{}. + +Tym, co nazywamy \emph{¶cie¿k± przeszukiwania}, jest rozdzielona dwukropkami +lub ¶rednikami lista \emph{elementów ¶cie¿ki}, które zasadniczo s± nazwami +podkatalogów. ¦cie¿ka przeszukiwania mo¿e pochodziæ z~(kombinacji) wielu +¼róde³. Przyk³adowo, aby odnale¼æ plik \samp{my-file} w~¶cie¿ce +\samp{.:/dir}, \KPS{} sprawdza istnienie danego elementu ¶cie¿ki +w~nastêpuj±cej kolejno¶ci: najpierw \file{./my-file}, potem +\file{/dir/my-file}, zwracaj±c pierwszy odnaleziony (lub mo¿liwie wszystkie). + +Aby optymalnie zaadaptowaæ siê do konwencji wszystkich systemów operacyjnych, +na systemach nieunixowych \KPS{} mo¿e u¿ywaæ +jako separatorów nazw ¶cie¿ek znaków innych +ni¿ dwukropek (\samp{:}) oraz ,,ciach'' (\samp{/}). + +W~celu sprawdzenia konkretnego elementu \var{p} ¶cie¿ki, \KPS{} najpierw +sprawdza, czy zbudowana wcze¶niej baza danych (patrz ,,Baza nazw plików'' na +str.~\pageref{Filename-database}) odnosi sie do \var{p}, tj. +czy baza danych znajduje siê w~podkatalogu z~prefiksem~\var{p}. +Je¿eli tak, to specyfikacja ¶cie¿ki jest porównywana z~zawarto¶ci± bazy. + +Je¶li baza danych nie istnieje b±d¼ nie odnosi siê do danego elementu +¶cie¿ki albo te¿ nie zawiera elementów zgodnych, to przeszukiwany jest system +plików (je¿eli nie zosta³o to zabronione przez specyfikacjê rozpoczynaj±c± +siê od~\samp{!!}\ oraz je¿eli poszukiwany plik musi istnieæ). +\KPS{} konstruuje listê podkatalogów, które koresponduj± z~danym elementem +¶cie¿ki, a~nastêpnie sprawdza w~ka¿dym z~nich, czy nie ma tam poszukiwanego +pliku. + +Warunek mówi±cy, ¿e ,,plik musi istnieæ'' dotyczy np. plików \samp{.vf} +i~plików do³±czanych \TeX-owym poleceniem \cs{openin}. +Takiego pliku mo¿e nie byæ (np. \file{cmr10.vf}), b³êdne by³oby zatem +poszukiwanie go na dysku. +Je¶li wiêc zapomnisz o~aktualizacji \file{ls-R} po instalacji nowego +pliku \samp{.vf}, to nie zostanie on odnaleziony. +Ka¿dy element ¶cie¿ki sprawdzany jest w~nastêpuj±cej kolejno¶ci: najpierw +w~bazie danych, potem na dysku. +Je¿eli plik siê znajdzie, to przeszukiwanie zostanie zatrzymane i~zwrócony +zostanie wynik. + +Poniewa¿ najprostszym i~najbardziej powszechnym elementem ¶cie¿ki jest +nazwa katalogu, \KPS{} korzysta z~dodatkowych mo¿liwo¶ci w~przeszukiwaniu +¶cie¿ek: +wielowarstwowych warto¶ci domy¶lnych, zmiennych ¶rodowiskowych, warto¶ci +pliku konfiguracyjnego, lokalnych +podkatalogów u¿ytkownika oraz rekursywnego przeszukiwania podkatalogów. +Mo¿na wiêc powiedzieæ, ¿e \KPS{} \emph{rozwija} element ¶cie¿ki, tzn. +transformuje wszystkie specyfikacje do podstawowej nazwy lub nazw katalogów. +Jest to opisane w~kolejnych akapitach, w~kolejno¶ci w~jakiej to zachodzi. + +Trzeba zauwa¿yæ, ¿e je¿eli nazwa poszukiwanego pliku jest +absolutna lub jawnie wzglêdna, tj. zaczyna siê od \samp{/} lub \samp{./} +lub \samp{../}, to \KPS{} ogranicza siê do sprawdzenia, czy ten plik istnieje. + +\ifSingleColumn +\else +\begin{figure*} +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{Przyk³ad pliku konfiguracyjnego} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{¬ród³a ¶cie¿ek} +\label{Path-sources} + +Nazwa przeszukiwanej ¶cie¿ki mo¿e pochodziæ z~wielu ¼róde³. +Oto kolejno¶æ, w~jakiej \KPS{} ich u¿ywa: + +\begin{enumerate} +\item + Zmienna ¶rodowiskowa ustawiana przez u¿ytkownika, np. + \envname{TEXINPUTS}. + Zmienne ¶rodowiskowe z~do³±czon± kropk± i~nazw± programu zastêpuj± inne, + np. je¿eli \samp{latex} jest nazw± uruchomionego programu, wtedy zamiast + \envname{TEXINPUTS} wykorzystana zostanie zmienna \envname{TEXINPUTS.latex}. +\item + Plik konfiguracyjny konkretnego programu, np. linia ,,\texttt{S /a:/b}'' + w~pliku \file{config.ps} programu \cmdname{dvips}. +\item Plik konfiguracyjny \KPS{} \file{texmf.cnf}, zawieraj±cy tak± liniê, + jak \samp{TEXINPUTS=/c:/d} (patrz poni¿ej). +\item Warto¶ci domy¶lne dla uruchamianych programów. +\end{enumerate} +\noindent Ka¿d± z~tych warto¶ci dla danej ¶cie¿ki przeszukiwania mo¿na +zobaczyæ, u¿ywaj±c opcji diagnostyki b³êdów (patrz ,,Diagnostyka b³êdów'' na +str.~\pageref{sec:debugging}). + +\subsubsection{Pliki konfiguracyjne} + +\tolerance=3500 + \KPS{} szuka ¶cie¿ek przeszukiwania i~innych definicji w~\emph{plikach +konfiguracyjnych} o~nazwach \file{texmf.cnf}. +¦cie¿ka przeszukiwania u¿ywana do znajdowania tych plików okre¶lana jest +przez zmienn± \envname{TEXMFCNF}, + %(domy¶lnie taki plik znajduje siê + %w~podkatalogu \file{texmf/web2c}). + ale nie zalecamy jawnego ustawiania tej, jak i~innych zmiennych w~systemie. +Zamiast tego typowa instalacja \TL{} tworzy plik \file{.../2012/texmf.cnf}, +który w~wyj±tkowych wypadkach mo¿emy modyfikowaæ. G³ównym plikiem +konfiguracyjnym jest \file{.../2012/texmf/web2c/texmf.cnf}, ale +nie powinien byæ on modyfikowany, gdy¿ + %wprowadzone ewentualne + zmiany bêd± utracone podczas aktualizacji. + +Czytane bêd± \emph{wszystkie} pliki \file{texmf.cnf} w~¶cie¿ce +przeszukiwania, a~definicje we wcze¶niejszych plikach zast±pi± te +w~pó¼niejszych. Tak wiêc w~¶cie¿ce \verb|.:$TEXMF| warto¶ci pochodz±ce +z~\file{./texmf.cnf} zast±pi± te z~\verb|$TEXMF/texmf.cnf|. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +Dociekliwy czytelnik mo¿e byæ zainteresowany sposobem, w~jaki programy +znajduj± plik \file{texmf.cnf}, skoro nie ma konieczno¶ci deklarowania +specyficznej zmiennej ¶rodowiskowej systemu. Otó¿ po³o¿enie domy¶lne jest +wkompilowane w~programy jako wzglêdne do ich po³o¿enia (okre¶lanego, jak +wiemy, w~¶cie¿ce specyfikowanej przez \texttt{\$PATH}): +\path{../../texmf/web2c/} b±d¼ \path{../texmf/web2c/}. Je¶li jawnie +deklarujemy zmienn± \envname{TEXMFCNF}, wymagane jest podanie bezwzglêdnej +¶cie¿ki. + +Czytaj±c zamieszczony poni¿ej opis formatu pliku \file{texmf.cnf}, +warto przegl±daæ jego zawarto¶æ. Po³o¿enie \emph{aktywnego} pliku +znajdziemy za pomoc± polecenia \texttt{kpsewhich texmf.cnf}. + +\begin{itemize} +\item + Komentarze zaczynaj± siê od ,,\texttt{\%}'', a~koñcz± na koñcu wiersza. +\item + Puste wiersze nie s± brane pod uwagê. +\item + Znak ,,\bs{}'' na koñcu wiersza dzia³a jako znak kontynuacji, tzn. + oznacza, ¿e kolejny wiersz jest kontynuacj± bie¿±cego. + Spacja na pocz±tku kolejnego wiersza nie jest ignorowana. +\item + Pozosta³e wiersze maj± postaæ: +\begin{alltt} + \emph{zmienna}[.\emph{program}] [=] \emph{warto¶æ} +\end{alltt}% + gdzie \samp{=} i~otaczaj±ce spacje s± opcjonalne. +\item + ,,\texttt{\var{zmienna}}'' zawieraæ mo¿e dowolne znaki poza spacj±, + \samp{=}, lub \samp{.} (kropk±), najbezpieczniej jednak u¿ywaæ znaków + z~zakresu \samp{A-Za-z\_}. +\item + Napis ,,\texttt{.\var{program}}'' ma zastosowanie w~wypadku, gdy + uruchamiany program nosi nazwê \texttt{\var{program}} lub + \texttt{\var{program}.exe}. Pozwala to ró¿nym odmianom \TeX-a stosowaæ + ró¿ne ¶cie¿ki przeszukiwania. +\item ,,\texttt{\var{warto¶æ}}'' zawieraæ mo¿e dowolne znaki poza + ,,\texttt{\%}'' i \samp{@}. + Nie mo¿na u¿ywaæ konstrukcji ,,\texttt{\$\var{zmienna}.\var{program}}'' + po prawej stronie. Zamiast tego trzeba zastosowaæ zmienn± pomocnicz±. + Je¿eli systemem operacyjnym jest Unix, + to ¶rednik \samp{;}\ u¿yty w~,,\texttt{\var{warto¶æ}}'' zamieniany jest na + \samp{:}; umo¿liwia to istnienie + wspólnego pliku \file{texmf.cnf} dla systemów Unix oraz Windows. +\item + Wszystkie definicje czytane s± zanim cokolwiek zostanie rozwiniête, tak + wiêc do zmiennych mo¿na siê odwo³ywaæ przed ich zdefiniowaniem. +\end{itemize} +Oto fragment pliku konfiguracyjnego ilustruj±cy wiêkszo¶æ opisanych powy¿ej +regu³ notacji: +\ifSingleColumn +\verbatiminput{examples/ex5.tex} +\else +jest pokazany na rys.~\ref{fig:config-sample}. +\fi + +\subsubsection{Rozwijanie ¶cie¿ek} +\label{Path-expansion} + +\KPS{} rozpoznaje w~¶cie¿kach przeszukiwania pewne specjalne znaki oraz +konstrukcje, podobne do tych, które s± dostêpne w~pow³okach systemów +typu Unix. +Jako ogólny przyk³ad: z³o¿ona ¶cie¿ka +\verb+~$USER/{foo,bar}//baz+ rozwija siê do wszystkich podkatalogów pod +katalogami \file{foo} i~\file{bar} w~katalogu g³ównym \texttt{\$USER}, +które zawieraj± katalog lub plik \file{baz}. +Rozwiniêcia te opisane s± w~poni¿szych podrozdzia³ach. + +\subsubsection{Rozwijanie domy¶lne} +\label{Default-expansion} + +\tolerance=2500 +Je¿eli ¶cie¿ka przeszukiwania najwiêkszego uprzywilejowania (patrz ,,¬ród³a +¶cie¿ek'' na str.~\pageref{Path-sources}) zawiera +\emph{dodatkowy dwukropek} (np. na pocz±tku, na koñcu lub podwójny), to \KPS{} +wstawia w~tym miejscu nastêpn± zdefiniowan± w~hierarchii uprzywilejowania +¶cie¿kê przeszukiwania. +Je¿eli ta wstawiona ¶cie¿ka ma dodatkowy dwukropek, to dzieje siê dalej to samo. +Przyk³adowo, je¿eli ustawiæ zmienn± ¶rodowiskow± +\tolerance=1500 + +\begin{alltt} +> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} +oraz warto¶æ \code{TEXINPUTS} pobran± z~\file{texmf.cnf} + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} +to koñcow± warto¶ci± u¿yt± w~przeszukiwaniu bêdzie: + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +Poniewa¿ nieu¿ytecznym by³oby wstawiaæ warto¶æ domy¶ln± w~wiêcej ni¿ jednym +miejscu, \KPS{} zmienia tylko jeden dodatkowy \samp{:}\ i~pozostawia +inne bez zmian. \KPS{} najpierw szuka dwukropków na pocz±tku linii, potem na koñcu, +a~nastêpnie podwójnych. + +\subsubsection{Rozwijanie nawiasów} +\label{sec:brace-expansion} + +U¿yteczna jest mo¿liwo¶æ rozwijania nawiasów, co oznacza, ¿e np. +\verb+v{a,b}w+ rozwija siê do \verb+vaw:vbw+. +Nawiasy mo¿na te¿ zagnie¿d¿aæ. +Funkcji tej mo¿na u¿yæ do zaimplementowania ró¿nych hierarchii \TeX-owych +przez przypisanie listy nawiasów do \code{\$TEXMF}. Przyk³adowo, +w~pliku \file{texmf.cnf} mo¿na znale¼æ nastêpuj±c± (uproszczon± tu) +definicjê: +\begin{verbatim} + TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN} +\end{verbatim} +U¿ywaj±c jej, mo¿na nastêpnie napisaæ co¶ w~rodzaju: +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +co oznacza, ¿e po szukaniu w~katalogu bie¿±cym bêd± przeszukane kolejno +\code{\$TEXMFHOME/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$TEXMFVAR/tex} +i~\code{\$TEXMFMAIN/tex} (wszystkie wraz z~katalogami ni¿szego poziomu; +dwie ostatnie ¶cie¿ki \emph{wy³±cznie} na podstawie zawarto¶ci +pliku \file{ls-R}). +Jest to wygodny sposób na uruchamianie dwóch równoleg³ych struktur \TeX-owych, +jednej ,,zamro¿onej'' (np. na \CD), a~drugiej ci±gle uaktualnianej nowo +pojawiaj±cymi siê wersjami. +U¿ywaj±c zmiennej \code{\$TEXMF} we wszystkich definicjach daje pewno¶æ, +¿e najpierw przeszukiwane jest drzewo uaktualnione. + +\subsubsection{Rozwijanie podkatalogów} +\label{Subdirectory-expansion} + +Dwa lub wiêcej kolejnych ,,ciachów'' (,,/'') w~elemencie ¶cie¿ki, +wystêpuj±cych po nazwie katalogu~\var{d}, zastêpowanych jest przez wszystkie +podkatalogi~\var{d}, najpierw podkatalogi znajduj±ce siê bezpo¶rednio +pod~\var{d}, potem te pod powy¿szymi i~tak dalej. Na ka¿dym etapie +kolejno¶æ, w~jakiej przeszukiwane s± katalogi, jest \emph{nieokre¶lona}. + +Je¶li wyszczególni siê cz³ony nazwy pliku po \samp{//}, to uwzglêdnione zostan± +tylko te podkatalogi, które zawieraj± powy¿sze cz³ony. +Na przyk³ad \samp{/a//b} rozwija siê do katalogów \file{/a/1/b}, +\file{/a/2/b}, \file{/a/1/1/b} itd., ale nie do \file{/a/b/c} czy \file{/a/1}. + +Mo¿liwe jest wielokrotne u¿ycie \samp{//} w~¶cie¿ce, jednak¿e \samp{//} +wystêpuj±ce na pocz±tku ¶cie¿ki nie jest brane pod uwagê. + +\subsubsection{Lista znaków specjalnych i~ich znaczeñ -- podsumowanie} + +Poni¿sza lista podsumowuje znaczenie znaków specjalnych w~plikach +konfiguracyjnych. + +\newcommand{\CODE}[1]{\makebox[2.2em][l]{\code{#1}}} +\begin{description} +\item[\CODE{:}] znak rozdzielaj±cy w~specyfikacji ¶cie¿ki; umieszczony na + pocz±tku lub na koñcu ¶cie¿ki zastêpuje domy¶lne rozwiniêcie ¶cie¿ki; +\item[\CODE{;}] znak rozdzielaj±cy dla systemów nieuniksowych + (dzia³a tak jak ,,\code{:}''); +\item[\CODE{\$}] rozwijanie zmiennej; +\item[\CODE{\string~}] oznacza katalog g³ówny u¿ytkownika; +\item[\CODE{\char`\{\dots\char`\}}] rozwijanie nawiasów, np. + \verb+a{1,2}b+ zmieni siê w~\verb+a1b:a2b+; +\item[\CODE{//}] rozwijanie podkatalogów (mo¿e wyst±piæ gdziekolwiek + w~¶cie¿ce, poza jej pocz±tkiem); +\item[\CODE{\%}] pocz±tek komentarza, obejmuj±cego wszystkie znaki do koñca + linii; +\item[\CODE{\bs}] znak kontynuacji (pozwala na prze³amanie wiersza + z~wyra¿eniem); +\item[\CODE{!!}] przeszukiwanie \emph{tylko} bazy danych, + a~\emph{nie} dysku. +\end{description} + + +\subsection{Bazy nazw plików} +\label{Filename-database} + +Podczas przeszukiwania \KPS{} stara siê zminimalizowaæ dostêp do dysku. +Niemniej, w~przypadku instalacji ze zbyt du¿± liczb± katalogów +przegl±danie ka¿dego dopuszczalnego katalogu w~poszukiwaniu pliku mo¿e +zabieraæ sporo czasu (ma to miejsce zw³aszcza, je¿eli przeszukaæ trzeba setki +katalogów z~fontami). +Dlatego te¿ \KPS{} mo¿e u¿ywaæ zewnêtrznego pliku z~,,baz± danych'' +o~nazwie \file{ls-R}, który zawiera przypisania plików do katalogów. +Unika siê w~ten sposób czasoch³onnego przeszukiwania dysku. + +Drugi plik z~baz± danych -- \file{aliases} -- pozwala na nadawanie +dodatkowych nazw plikom zawartym w~\file{ls-R}. +Mo¿e to byæ pomocne do adaptacji do DOS-owej konwencji ,,8.3'' nazewnictwa +plików w~plikach ¼ród³owych. + +\subsubsection{Baza nazw plików} +\label{ls-R} + +Jak wspomniano, plik zawieraj±cy g³ówn± bazê nazw +plików musi nosiæ nazwê \file{ls-R}. +W~katalogu podstawowym ka¿dej hierarchii \TeX-owej (domy¶lnie \code{\$TEXMF}), +któr± chcemy w³±czyæ w~mechanizm przeszukiwania, umieszczaæ mo¿na po jednym +pliku \file{ls-R}; w~wiêkszo¶ci przypadków istnieje tylko jedna hierarchia. +\KPS{} szuka pliku \file{ls-R} w~¶cie¿ce \code{TEXMFDBS}. + +Najlepszym sposobem stworzenia i~utrzymywania pliku \file{ls-R} jest +uruchomienie skryptu \code{mktexlsr}, bêd±cego sk³adnikiem dystrybucji. +Jest on wywo³ywany przez ró¿ne skrypty typu \samp{mktex...}. +W~zasadzie skrypt ten jedynie wykonuje polecenie +\begin{alltt} +cd \var{/your/texmf/root} && ls -LAR ./ >ls-R +\end{alltt} +zak³adaj±c, ¿e polecenie \code{ls} danego systemu utworzy w³a¶ciwy format +strumienia wyj¶ciowego (\acro{GNU} \code{ls} dzia³a prawid³owo). +Aby mieæ pewno¶æ, ¿e baza danych jest zawsze aktualna, wygodnie jest + przebudowywaæ j± regularnie za pomoc± demona \code{cron}. + %tak ¿e wraz ze zmianami + %w~instalowanych plikach -- np. po instalacji lub uaktualnianiu pakietu + %\LaTeX{} -- plik \file{ls-R} jest uaktualniany automatycznie. + +Je¶li pliku nie ma w~bazie danych, \KPS{} domy¶lnie przechodzi do +przeszukiwania dysku. Je¿eli jednak dany element ¶cie¿ki zaczyna sie od +\samp{!!}, to w~poszukiwaniu tego elementu sprawdzona zostanie \emph{jedynie} +baza danych, a~nigdy dysk. + +\subsubsection{kpsewhich -- program do przeszukiwania ¶cie¿ek} +\label{Invoking-kpsewhich} + +Przeszukiwanie ¶cie¿ek przez program \texttt{kpsewhich} jest niezale¿ne od +jakiejkolwiek aplikacji. +Mo¿e on byæ przydatny jako rodzaj programu \code{find}, za pomoc± którego +lokalizowaæ mo¿na pliki w~hierarchiach \TeX-owych (jest on u¿ywany +intensywnie w~skryptach \samp{mktex...} tej dystrybucji). + +\begin{alltt} +> \Ucom{kpsewhich \var{opcje}\dots{} \var{nazwa-pliku}\dots{}} +\end{alltt} +Parametry wyszczególnione w~,,\texttt{\var{opcje}}'' mog± zaczynaæ siê zarówno od +\samp{-}, jak i~od \samp{-{}-}, a~dozwolony jest ka¿dy jednoznaczny skrót. + +\KPS{} traktuje ka¿dy argument niebêd±cy parametrem jako nazwê pliku +i~zwraca pierwsz± odnalezion± nazwê. +Nie ma parametru nakazuj±cego zwracanie wszystkich nazw plików o~okre¶lonej +nazwie (w~tym celu mo¿na wykorzystaæ Unix-owy program \samp{find}). + +Oto wa¿niejsze parametry. + +\begin{ttdescription} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{}\\* + Ustaw rozdzielczo¶æ na ,,\texttt{\var{num}}''; ma to tylko wp³yw na + przeszukiwanie fontów \samp{gf} i~\samp{pk}. Dla zgodno¶ci + z~\cmdname{dvips} parametr + \samp{-D} dzia³a identycznie. Domy¶ln± warto¶ci± jest 600. +\item[\texttt{-{}-format=\var{nazwa}}]\mbox{}\\ + Ustawienie formatu (typu pliku) przeszukiwania na ,,\texttt{\var{nazwa}}''. + Domy¶lnie format odgadywany jest z~nazwy pliku. + Dla formatów, które nie maj± przydzielonego jednoznacznego rozszerzenia, + takich jak niektóre pliki \MP{}-owe czy pliki konfiguracyjne + \cmdname{dvips}-a, nale¿y wyszczególniæ nazwê, których listê wy¶wietli + uruchomienie \texttt{kpsewhich -{}-help}. + +\item[\texttt{-{}-mode=\var{napis}}]\mbox{}\\* + Ustaw nazwê trybu na ,,\texttt{\var{napis}}''; dotyczy to jedynie szukania + fontów \samp{gf} oraz \samp{pk}. + Brakuje warto¶ci domy¶lnej -- odnaleziony zostanie dowolny + wyszczególniony tryb. +\item[\texttt{-{}-must-exist}]\mbox{}\\ + Zrób wszystko co mo¿liwe, aby odnale¼æ pliki, w³±czaj±c w~to przede wszystkim + przeszukanie dysku. + Domy¶lnie, w~celu zwiêkszeniu efektywno¶ci dzia³ania, sprawdzana jest + tylko baza \file{ls-R}. +\item[\texttt{-{}-path=\var{napis}}]\mbox{}\\ + Szukaj w~¶cie¿ce ,,\texttt{\var{napis}}'' (rozdzielonej, jak + zwykle, dwukropkami), zamiast zgadywaæ ¶cie¿kê przeszukiwania z~nazwy + pliku. + \samp{//} i~wszystkie zwyk³e rozszerzenia s± mo¿liwe. + Parametry \samp{-{}-path} oraz \samp{-{}-format} wzajemnie siê wykluczaj±. +\item[\texttt{-{}-progname=\var{nazwa}}]\mbox{}\\ + Ustaw nazwê programu na ,,\texttt{\var{nazwa}}''. + Mo¿e to mieæ wp³yw na ¶cie¿kê przeszukiwania poprzez + ,,\texttt{.\var{program}}'' w~plikach konfiguracyjnych. + Ustawieniem domy¶lnym jest \samp{kpsewhich}. +\item[\texttt{-{}-show-path=\var{nazwa}}]\mbox{}\\ + Pokazuje ¶cie¿kê u¿ywan± do poszukiwania plików typu + ,,\texttt{\var{nazwa}}''. + U¿yæ mo¿na zarówno rozszerzenia (\samp{.pk}, \samp{.vf}, etc.), jak + i~nazwy pliku, tak jak w~wypadku parametru \samp{-{}-format}. +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + ustawia parametry wykrywania b³êdów na ,,\texttt{\var{num}}''. +\end{ttdescription} + +%Zmienne ¶rodowiskowe domy¶lnie ustawiane s± w~pliku konfiguracyjnym +%\file{texmf.cnf}. W~wypadku gdy chce siê uniewa¿niæ warto¶ci zmiennych +%wyszczególnione w~tym pliku, mo¿na narzuciæ ich ustawienie w~¶rodowisku, +%w~którym uruchamiane s± programy. + +\subsubsection{Przyk³ady u¿ycia} +\label{SExamplesofuse} + +Przyjrzyjmy sie teraz, jak dzia³a \KPS{}. + +\begin{alltt} +> \Ucom{kpsewhich article.cls} +/usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} +Szukamy tu pliku \file{article.cls}. +Poniewa¿ rozszerzenie \samp{.cls} jest jednoznaczne, nie musimy zaznaczaæ, ¿e +poszukujemy pliku typu ,,tex'' (katalogi plików ¼ród³owych \TeX-a). +Znajdujemy go w~podkatalogu \file{tex/latex/base}, pod katalogiem nadrzêdnym +\samp{texmf-dist}. +Podobnie wszystkie poni¿sze pliki odnajdywane s± bez\-pro\-ble\-mo\-wo +dziêki swoim jednoznacznym rozszerzeniom: +\begin{alltt} +> \Ucom{kpsewhich array.sty} +/usr/local/texmf-dist/tex/latex/tools/array.sty +> \Ucom{kpsewhich latin1.def} +/usr/local/texmf-dist/tex/latex/base/latin1.def +> \Ucom{kpsewhich size10.clo} +/usr/local/texmf-dist/tex/latex/base/size10.clo +> \Ucom{kpsewhich small2e.tex} +/usr/local/texmf-dist/tex/latex/base/small2e.tex +> \Ucom{kpsewhich tugboat.bib} +/usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib +\end{alltt} + +\noindent (ostatni plik to \BibTeX-owa baza bibliograficzna dla artyku³ów +\textsl{TUGBoat}). + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} +Pliki czcionek bitmapowych typu \file{.pk} u¿ywane s± przez sterowniki, + % ??? dvips to chyba nie przegl±darka --- + % w oryg. by³o display programs like dvips... + takie jak \cmdname{dvips} czy \cmdname{xdvi}. +W~tym wypadku wynik przeszukiwania oka¿e siê pusty, poniewa¿ +w~systemie brak gotowych wygenerowanych czcionek \samp{.pk} Computer Modern +(wynika to z~faktu u¿ywania w~\TL{} fontów PostScript-owych Type1). +\begin{alltt} +> \Ucom{kpsewhich wsuipa10.pk} +\ifSingleColumn /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk +\else /usr/local/texmf-var/fonts/pk/ljfour/public/ +..... wsuipa/wsuipa10.600pk +\fi\end{alltt} +Dla tych fontów (alfabetu fonetycznego) musieli¶my wygenerowaæ pliki +\samp{.pk}, a~poniewa¿ domy¶lnym \MF{}-owym trybem naszej instalacji jest +\texttt{ljfour} z~podstawow± rozdzielczo¶ci± 600dpi, zwracany jest taki +w³a¶nie wynik. +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} +W~tym wypadku, kiedy zaznaczamy, ¿e interesuje nas rozdzielczo¶æ +300dpi (\texttt{-dpi=300}), to widzimy, ¿e w~naszej instalacji taka +czcionka nie jest dostêpna. +Program taki jak \cmdname{dvips} czy \cmdname{xdvi} zatrzyma³by siê, aby +utworzyæ pliki \texttt{.pk} w~wymaganej rozdzielczo¶ci (u¿ywaj±c skryptu +\cmdname{mktexpk}). + +Przeanalizujmy teraz pliki nag³ówkowe i~konfiguracyjne +programu \cmdname{dvips}. +Najpierw szukamy pliku PostScript-owego prologu \file{tex.pro}, +wykorzystywanego dla potrzeb \TeX-a. Drugi przyk³ad pokazuje +poszukiwanie pliku konfiguracyjnego \file{config.ps}, za¶ trzeci -- +szukanie pliku mapy czcionek PostScriptowych \file{psfonts.map} +(pocz±wszy od obecnej edycji, pliki \file{.map} i~\file{.enc} +maj± w³asne regu³y przeszukiwania ¶cie¿ek i~zmienione po³o¿enie w~ramach +drzew \dirname{texmf}). +Poniewa¿ rozszerzenie \samp{.ps} nie jest jednoznaczne, musimy +wyra¼nie zaznaczyæ, jaki typ jest wymagany dla pliku +\texttt{config.ps} (,,\texttt{dvips config}''). +\begin{alltt} +> \Ucom{kpsewhich tex.pro} +/usr/local/texmf/dvips/base/tex.pro +> \Ucom{kpsewhich --format="dvips config" config.ps} +/usr/local/texmf-var/dvips/config/config.ps +> \Ucom{kpsewhich psfonts.map} +/usr/local/texmf-var/fonts/map/dvips/updmap/psfonts.map +\end{alltt} + +Nastêpnie przyjrzyjmy siê bli¿ej plikom pomocniczym fontów Times z~kolekcji +URW. W~standardzie nazewnictwa fontów maj± one prefiks \samp{utm}. +Pierwszy plik, którego szukamy, to plik konfiguracyjny, zawieraj±cy nazwê +pliku z~przemapowaniem fontów: +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" config.utm} + /usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} +W~pliku tym znajduje siê wiersz: +\begin{alltt} + p +utm.map +\end{alltt} +wskazuj±cy na plik \file{utm.map}, który chcemy zlokalizowaæ w~nastêpnej +kolejno¶ci: +\begin{alltt} +> \Ucom{kpsewhich utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} +Plik z~przemapowaniem definiuje nazwy czcionek PostScriptowych Type1 +w~zestawie fontów URW, za¶ jego zawarto¶æ wygl±da nastêpuj±co +(pokazane s± tylko fragmenty wierszy): +\begin{alltt} +utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb +utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb +utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb +utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} +U¿ywaj±c przeszukiwania plików z~fontami Type1, znajd¼my font +Times Roman \file{utmr8a.pfb} w~drzewie katalogów \file{texmf}: +\begin{alltt} +> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +\else /usr/local/texmf-dist/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + +Powy¿sze przyk³ady pokazuj±, jak ³atwo mo¿na znajdowaæ lokalizacjê danego +pliku. Jest to wa¿ne zw³aszcza wówczas, gdy istnieje podejrzenie, ¿e gdzie¶ +zawieruszy³a siê b³êdna wersja jakiego¶ pliku; \cmdname{kpsewhich} poka¿e tylko +pierwszy napotkany plik. + +\subsubsection{Diagnostyka b³êdów} +\label{sec:debugging} + +Czasami niezbêdne s± informacje o~tym, jak program sobie radzi +z~odniesieniami do plików. Aby da³o siê je uzyskaæ w~wygodny sposób, +\KPS{} oferuje ró¿ne poziomy diagnostyki b³êdów: +\begin{itemize} +\item[\texttt{\ 1}] wywo³ania \texttt{stat} (testy pliku). Podczas + uruchamiania z~uaktualnion± baz± danych \file{ls-R} nie powinno to + przewa¿nie dawaæ ¿adnego wyniku. +\item[\texttt{\ 2}] Zapis odwo³añ do tablic asocjacyjnych (\emph{hash + tables}), takich jak baza \file{ls-R}, pliki przemapowañ, pliki konfiguracyjne. +\item[\texttt{\ 4}] Operacje otwarcia i~zamkniêcia pliku. +\item[\texttt{\ 8}] Ogólne informacje o~¶cie¿kach dla typów + plików szukanych przez \KPS; u¿yteczne do znalezienia ¶cie¿ki + zdefiniowanej dla danego pliku. +\item[\texttt{16}] Lista katalogów dla ka¿dego z~elementów ¶cie¿ki + (odnosi siê tylko do poszukiwañ na dysku). +\item[\texttt{32}] Poszukiwania plików. +\end{itemize} +Warto¶æ \texttt{-1} ustawia wszystkie powy¿sze opcje -- w~praktyce, +poszukuj±c przyczyny b³êdów, prawdopodobnie bêdziesz zawsze u¿ywaæ +tych poziomów. + +Podobnie w~przypadku programu \cmdname{dvips}, ustawiaj±c kombinacjê +prze³±czników wykrywania b³êdów, mo¿na dok³adnie ¶ledziæ, sk±d pochodz± pliki. +W~sytuacji gdy plik nie zostanie odnaleziony, widaæ, w~których katalogach +program szuka³ danego pliku, dziêki czemu mo¿na siê zorientowaæ, w~czym +problem. + +Ogólnie mówi±c, poniewa¿ programy odwo³uj± siê wewnêtrznie do +biblioteki \KPS{}, opcje wykrywania b³êdów mo¿na wybraæ przy u¿yciu +zmiennej ¶rodowiskowej \envname{KPATHSEA\_DEBUG}, ustawiaj±c j± +na opisan± powy¿ej warto¶æ (kombinacjê warto¶ci). + +\noindent +\textbf{Uwaga dla u¿ytkowników Windows:} w~systemie tym nie³atwo +przekierowaæ komunikaty programu do pliku. Do celów diagnostycznych +mo¿na chwilowo ustawiæ zmienne (w~oknie CMD): +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=err.log +SET KPATHSEA_DEBUG=-1 +\end{verbatim} + +Rozwa¿my na przyk³ad ma³y \LaTeX-owy plik ¼ród³owy \file{hello-world.tex}, +który zawiera: +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +Ten ma³y plik korzysta jedynie z~fontu \file{cmr10}. Przyjrzyjmy siê, jak +\cmdname{dvips} przygotowuje plik PostScript-owy (chcemy u¿yæ wersji Type1 +fontu Computer Modern, st±d opcja \texttt{-Pcms}). +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +Mamy tu do czynienia jednocze¶nie z~czwart± klas± wykrywania b³êdów +programu \cmdname{dvips} (¶cie¿ki fontowe) oraz z~rozwijaniem elementu +¶cie¿ki przez \KPS{} (patrz: \emph{Dvips Reference Manual}, +\OnCD{texmf/doc/dvips/dvips.pdf}). +Komunikaty z~uruchomienia programu (nieco zmodyfikowane) znajduj± siê +na~rys.~\ref{fig:dvipsdbga}. +\begin{figure*}[tp] +\centering +\input{examples/ex6a.tex} +\caption{Szukanie pliku konfiguracyjnego}\label{fig:dvipsdbga} + +\bigskip + +\input{examples/ex6b.tex} +\caption{Szukanie pliku prologu}\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{Szukanie pliku fontu}\label{fig:dvipsdbgc} +\end{figure*} + Program \cmdname{dvips} zaczyna pracê od zlokalizowania potrzebnych mu plików. +Najpierw znajduje plik \file{texmf.cnf}, który zawiera ¶cie¿ki +przeszukiwania dla innych plików. Potem znajduje bazê danych \file{ls-R} +(w~celu optymalizacji szukania plików), nastêpnie plik \file{aliases}, +który umo¿liwia deklarowanie ró¿nych nazw (np. krótkie \acro{DOS}-owe ,,8.3'' +i~bardziej naturalne d³u¿sze wersje) dla tych samych plików. +Nastêpnie \cmdname{dvips} znajduje podstawowy plik konfiguracyjny +\file{config.ps}, zanim poszuka pliku z~ustawieniami u¿ytkownika +\file{.dvipsrc} (który w~tym wypadku \emph{nie} zostaje odnaleziony). +W~koñcu \cmdname{dvips} lokalizuje plik konfiguracyjny \file{config.cms} +dla fontów PostScript-owych Computer Modern (jest to inicjowane przez +dodanie parametru \texttt{-Pcms} przy uruchamianiu programu). +Plik ten zawiera listê plików z~,,mapami'', które definiuj± relacje +pomiêdzy \TeX-owymi, PostScript-owymi i~systemowymi nazwami fontów. +\begin{alltt} +> \Ucom{more /usr/local/texmf/dvips/config/config.cms} +p +ams.map +p +cms.map +p +cmbkm.map +p +amsbkm.map +\end{alltt} +W~ten sposób \cmdname{dvips} wyszukuje wszystkie te pliki oraz g³ówny plik +z~przemapowaniem +\file{psfonts.map}, który ³adowany jest domy¶lnie (zawiera on deklaracje +czêsto u¿ywanych fontów postscriptowych; wiêcej szczegó³ów na temat +postscriptowych plików przemapowañ fontów mo¿na znale¼æ w~ostatniej czê¶ci +rozdzia³u \ref{SExamplesofuse}). + +W~tym miejscu \cmdname{dvips} zg³asza siê u¿ytkownikowi: +\begin{alltt}\ifSingleColumn +This is dvips 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) +\else\small{}This is dvips 5.86 Copyright 1999 Radical Eye... +\fi\end{alltt}% decided to accept slight overrun in tub case +\ifSingleColumn +\ldots potem szuka pliku prologu \file{texc.pro}: +\begin{alltt}\small +kdebug:start search(file=texc.pro, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro +\end{alltt} +\else +potem szuka pliku prologu \file{texc.pro}. + %(patrz rys.~\ref{fig:dvipsdbgb}). + +\fi +Po znalezieniu szukanego pliku \cmdname{dvips} podaje datê i~czas +oraz informuje o~generowaniu pliku \file{hello-world.ps}. +Poniewa¿ potrzebuje pliku z~fontem \file{cmr10}, a~jest on +zadeklarowany jako dostêpny, wy¶wietla komunikat: +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} +Teraz trwa poszukiwanie pliku \file{cmr10.tfm}, który zostaje znaleziony, +po czym \cmdname{dvips} powo³uje siê na kilka innych plików startowych +(nie pokazanych). W~koñcu przyk³adowy font Type1 \file{cmr10.pfb} +zostaje zlokalizowany i~do³±czony do pliku wynikowego (patrz ostatnia linia): +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{Parametry kontroluj±ce dzia³anie programów} +Inn± u¿yteczn± cech± \Webc{} jest mo¿liwo¶æ ustalania wielu parametrów +okre¶laj±cych wielko¶æ pamiêci za pomoc± pliku \texttt{texmf.cnf}. + %Za³±cznik~\ref{app:texmf.cnf} zaczynaj±cy siê na + %stronie~\pageref{app:texmf.cnf} zawiera listing pliku \texttt{texmf.cnf}. + Ustawienia wszystkich parametrów znajduj± siê w~czê¶ci trzeciej pliku. +Najwa¿niejszymi zmiennymi s±: +\begin{description} +\item[\code{main\_memory}] Ca³kowita wielko¶æ pamiêci dostêpnej dla + \TeX-a, \MF{}-a i~\MP{}-a. Dla ka¿dego nowego ustawienia tej zmiennej + nale¿y wykonaæ nowy format. + %Przyk³adowo, mo¿esz wygenerowaæ ,,ogromn±'' wersjê formatu \TeX{} i~nazwaæ + %taki plik \texttt{hugetex.fmt}. + %Dziêki standardowemu sposobowi nazywania programów przez + %\KPS{}, okre¶lona warto¶æ zmiennej \verb|main_memory| bêdzie + %przeczytana z~pliku \texttt{texmf.cnf} (por. warto¶æ standardow± + %oraz warto¶æ ,,ogromn±'', wykorzystywan± przez program \texttt{hugetex}, + %itd.). + % +\item[\code{extra\_mem\_bot}] Dodatkowa wielko¶æ pamiêci przeznaczonej + na ,,du¿e'' struktury danych \TeX-a, takie jak: pude³ka, kleje itd.; + przydatna zw³aszcza w~wypadku korzystania z~pakietu \PiCTeX{}. + % +\item[\code{font\_mem\_size}] Wielko¶æ pamiêci przeznaczonej przez + \TeX-a na informacje o~fontach. Jest to mniej wiêcej ogólna + wielko¶æ wczytywanych przez \TeX-a plików TFM. + % +\item[\code{hash\_extra}] Dodatkowa wielko¶æ pamiêci przeznaczonej + na tablicê zawieraj±c± nazwy instrukcji. Tablica g³ówna + mo¿e zmie¶ciæ w~przybli¿eniu 10000 nazw; wielko¶æ ta mo¿e siê okazaæ + zbyt ma³a, np. w~wypadku obszernej ksi±¿ki zawieraj±cej liczne + odsy³acze. Domy¶lna warto¶æ \texttt{hash\_extra} to \texttt{50000}. +\end{description} + % +Oczywi¶cie powy¿sza mo¿liwo¶æ nie zast±pi prawdziwej, dynamicznej +alokacji pamiêci. Jest to jednak niezwykle trudne +do zaimplementowania w~obecnej wersji \TeX-a i~dlatego +powy¿sze parametry stanowi± praktyczny kompromis, pozwalaj±c +na pewn± elastyczno¶æ. + +Nale¿y tu jednak nadmieniæ, i¿ nie wszystkie programy korzystaj± +z tych zmiennych. Np. Lua\TeX\ posiada nowoczesn±, +w~pe³ni dynamiczn± alokacjê pamiêci, a zatem powy¿sze zmienne s± +w tym przypadku po prostu ignorowane. + +%%==== +%\begin{comment} %% nie wiem czemu rezygnowaæ z tej czê¶ci (SW) +\section{Budowa systemu na nowej platformie uniksowej}\label{sec:build} +Je¿eli mamy do czynienia z~platform±, dla której nie s± dostarczone binaria, +trzeba bêdzie skompilowaæ \TeX-a oraz towarzysz±ce mu programy. +Nie jest to takie trudne, jak siê wydaje. +Wszystko czego potrzebujemy, znajduje siê na \DVD{} w~katalogu +\texttt{source}. + +Najpierw nale¿y zainstalowaæ g³ówne drzewo plików \TeX-owych z~\TL{} \DVD{} +(najlepiej wykonaæ instalacjê podstawow±, bez wybierania +binariów systemowych). + +\subsection{Warunki wstêpne} +Do skompilowania ca³ego \TeX-a i~jego programów pomocniczych potrzeba +oko³o 100 megabajtów wolnego miejsca na dysku. +Potrzebny jest tak¿e kompilator \acro{ANSI}~C, oprogramowanie \cmdname{make}, +skaner leksykalny oraz generator parserów. +Programy u¿ytkowe \acro{GNU} (\cmdname{gcc}, \acro{GNU} +\cmdname{make}, \cmdname{m4}, \cmdname{flex}, \cmdname{bison}) +s± najlepiej przetestowanymi na ró¿nych platformach. +Poprawnie powinny pracowaæ \cmdname{gcc}-2.7.*, \cmdname{flex}-2.4.7 +i~\acro{GNU}\,\cmdname{make}-3.72.1 lub nowszy. +Mo¿na te¿ korzystaæ z~innych kompilatorów C i~programów +\cmdname{make}, wymaga to jednak dobrego zrozumienia zasad tworzenia +programów uniksowych, aby poradziæ sobie z~ewentualnymi problemami. + %W~wyniku wykonania polecenia \texttt{uname} powinni¶my + %otrzymaæ jak±¶ rozs±dn± warto¶æ. + +\subsection{Konfiguracja} +Nale¿y rozpakowaæ ¼ród³a ze skompresowanego pliku \texttt{tar} +z~katalogu \dirname{source} na twardy dysk, a~potem przej¶æ do katalogu, +do którego zosta³y one skopiowane. +Teraz trzeba siê zdecydowaæ, gdzie bêdzie g³ówny katalog instalacji, +np.\ \path|/usr/TeX| lub \path|/usr/local/TeX|. +Naturalnie, nale¿y u¿yæ tej samej lokalizacji, która zosta³a u¿yta +podczas instalacji g³ównego drzewa \TeX-owego. + +Uruchomiæ \textsf{configure} z~linii poleceñ: +\begin{alltt} +> \Ucom{./configure --prefix=/usr/local/TeX} +\end{alltt} + +Katalog ,,prefix'' to ten, w~którym zainstalowane zosta³o g³ówne drzewo +\TeX-owe. Zostanie u¿yty nastêpuj±cy uk³ad katalogów + (\verb|$TEXDIR| oznacza wybrany powy¿ej katalog): + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/man} & strony manuala uniksowego,\\ + \dirname{$TEXDIR/share/texmf} & g³ówne drzewo \TeX-owe, + zawieraj±ce makra itp.,\\ + \dirname{$TEXDIR/info} & podrêczniki w formacie \acro{GNU} + info,\\ + \dirname{$TEXDIR/bin/$PLATFORM} & binaria\\ +\end{tabular} +%$ + +Mo¿na unikn±æ stosowania ,,\dirname{share/}'' przed katalogiem +\dirname{texmf}, poniewa¿ \dirname{$TEXDIR/share/texmf} +i~\dirname{$TEXDIR/texmf} s± wykrywane automatycznie przez skrypt \cmdname{configure}. +W~razie wybrania innego katalogu, trzeba ten katalog wyszczególniæ +parametrem \verb|--datadir| skryptu \cmdname{configure}. + +Je¿eli nie chcemy u¿ywaæ katalogu \dirname{$PLATFORM} +(a~wiêc umie¶ciæ binaria bezpo¶rednio w~\dirname{$TEXDIR/bin}), to +w~wywo³aniu skryptu \cmdname{configure} nale¿y u¿yæ parametru +\verb|--disable-multiplatform|. + +Wiêcej dostêpnych parametrów (np. pomijanie pakietów opcjonalnych, takich +jak \OMEGA) mo¿na zobaczyæ, uruchamiaj±c +\texttt{./configure -{}-help}. + +\subsection{Uruchamianie \textsf{make}} +Po upewnieniu siê, ¿e nie jest ustawiona zmienna pow³oki \texttt{noclobber}, +nale¿y napisaæ: +\begin{alltt} +> \Ucom{make world} +\end{alltt} +i~\ldots zaparzyæ sobie kawê. + +Mo¿e siê te¿ przydaæ zapisanie ca³ego procesu +kompilacji w~pliku \texttt{.log}: +\begin{alltt} +> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} +Zanim stwierdzimy, ¿e wszystko jest w~porz±dku, warto sprawdziæ, czy w~pliku +\texttt{.log} nie ma komunikatów b³êdów (kiedy polecenie zwraca kod b³êdu, +\acro{GNU} \cmdname{make} zawsze u¿ywa sekwencji \samp{***}), +i~czy utworzone zosta³y wszystkie binaria: +\begin{alltt} +> \Ucom{cd \var{TEXDIR}/bin/\var{archname}} +> \Ucom{ls | wc} +\end{alltt} +Oczekiwanym rezultatem jest ponad 200. Polecenie \texttt{make world} jest +równowa¿ne z~\texttt{make all install strip}. +Je¶li do uruchamiania \texttt{make install} potrzebne s± specjalne +uprawnienia, mo¿na uruchomiæ dwie oddzielne sesje \cmdname{make}: +\begin{alltt} +> \Ucom{make all} +> \Ucom{su} +> \Ucom{make install strip} +\end{alltt} + +\subsection{Koñcowe kroki konfiguracyjne} +Nale¿y uaktualniæ zmienn± \envname{PATH} o~nazwê katalogu zawieraj±cego +w³a¶nie zainstalowane binaria (np.\ +\dirname{/usr/local/TeX/bin/mips-sgi-irix6.3}); podobnie post±piæ trzeba +z~\envname{MANPATH} i~\envname{INFOPATH} i~do³±czyæ do nich +odpowiednie nazwy podkatalogów, tj.\ +\dirname{$TEXDIR/man} oraz \dirname{$TEXDIR/info}. +Patrz czê¶æ~\ref{sec:postinstall} (str.~\pageref{sec:postinstall}). + +Je¶li zechcesz udostêpniæ skompilowane przez siebie programy, skontaktuj +siê z~nami (\url{tex-live@tug.org}); chêtnie umie¶cimy je na stronie \TL. +%\end{comment} + +%-------------------------- +\htmlanchor{ack} +\section{Podziêkowania} + +\TL{} jest wspólnym dzie³em prawie wszystkich grup \TeX-owych. +Niniejsza edycja \TL{} zosta³a opracowana pod kierownictwem Karla Berry'ego, +przy g³ównym wspó³udziale: + +\begin{itemize*} +\item grup \TeX-owych: miêdzynarodowej, niemieckiej, holenderskiej i~polskiej + (odpowiednio: \acro{TUG}, \acro{DANTE} e.V., \acro{NTG}, i~\acro{GUST}), + które wspólnie zapewniaj± potrzebn± infrastrukturê techniczn± + i~organizacyjn±. Do³±cz do swojej grupy \TeX-owej!; +\item zespo³u \acro{CTAN} (w~szczególno¶ci Robina Fairbairnsa, Jima + Hef{}ferona i~Rainera Sch\"opfa), który dystrybuuje obrazy p³yt \TL{} + i~udostêpnia wspóln± infrastrukturê s³u¿±c± aktualizacji pakietów, od której + zale¿y \TL{}; +\item Nelsona Beebe, za umo¿liwienie dostêpu do wielu platform ekipie \TL\ + i pomoc w testowaniu; +\item Johna Bowmana, który dostosowa³ swój zaawansowany program Asymptote + do wspó³pracy z TL; +\item Petera Breitenlohnera i~zespo³u \eTeX, którzy stworzyli stabiln± + podstawê przysz³ych wersji \TeX-a (Peter dodatkowo s³u¿y nieustann± pomoc± + w~wykorzystaniu narzêdzi autotools w~\TL); +\item Jin-Hwan Cho i ca³ego zespo³u DVIPDFM$x$ za ten znakomity sterownik + i nieustann± pomoc w~rozwi±zywaniu problemów z konfiguracj±; +\item Thomasa Essera, autora wspania³ego \teTeX-a, bez którego + \TL{} z~ca³± pewno¶ci± by nie powsta³ i~którego sta³a + pomoc umo¿liwi³a doskonalenie tej dystrybucji; +\item Michaela Goossensa, który by³ wspó³autorem pierwotnej dokumentacji; +\item Eitana Gurari, autora programu \TeX4ht{} (wykorzystanego do + tworzenia niniejszej dokumentacji w~wersji \HTML), który niezmordowanie + pracowa³ nad jego ulepszaniem i~b³yskawicznie dostarcza³ poprawki; + Eitan zmar³ w czerwcu 2009~r. i dedykujemy tê dokumentacjê Jego pamiêci; +\item Hansa Hagena, który dostosowywa³ \ConTeXt\ do potrzeb \TL; +\item \Thanh{}a, Martina Schr\"odera i~zespo³u pdf\TeX-a, którzy ci±gle + ulepszali mo¿liwo¶ci \TeX-a; +\item Hartmuta Henkela, maj±cego istotny udzia³ w~rozwoju pdf\TeX-a, + Lua\TeX-a i~innych programów; +\item Taco Hoekwatera, który wznowi³ rozwój MetaPosta i~pracowa³ nad + Lua\TeX-em, jak te¿ pomóg³ w~integracji \ConTeXt\ w~\TL oraz + ulepszy³ bibliotekê Kpathsea, dodaj±c jej wielow±tkowo¶æ; +\item Paw³a Jackowskiego, który wykona³ instalator dla Windows \cmdname{tlpm} + i~Tomka £uczaka, twórcy \cmdname{tlpmgui} (programy te by³y wykorzystane + w~poprzednich edycjach); +\item Akira Kakuto, który dostarczy³ programy dla Windows, pochodz±ce + z~dystrybucji \acro{W32TEX} + (\url{http://w32tex.org}), + stale dostosowywane i~aktualizowane dla potrzeb \TL; +\item Jonathana Kew, który zainicjowa³ now± ¶cie¿kê + rozwojow± -- Xe\TeX{}, i~który w³o¿y³ sporo wysi³ku w~zintegrowanie + tego programu z~\TL, jak równie¿ zapocz±tkowa³ prace nad instalatorem dla + Mac\TeX{} oraz edytorem \TeX{}works; +\item Dicka Kocha, który pielêgnuje Mac\TeX-a (\url{http://tug.org/mactex}) + w~¶cis³ym po³±czeniu z~\TL i~bardzo sympatycznie wspó³pracuje; +\item Reinharda Kotuchy, maj±cego istotny udzia³ w~stworzeniu nowej infrastruktury + i~programu instalacyjnego dla \TL{} 2009, uparcie d±¿±cego do ujednolicenia + dzia³ania \TL{} w~Windows i~Unix, który równie¿ opracowa³ skrypt + \texttt{getnonfreefonts} i~wykona³ wiele innych prac; +\item Siep Kroonenberg, która równie¿ wziê³a udzia³ w~stworzeniu nowej + infrastruktury i~programu instalacyjnego dla \TL{} 2009 (szczególnie dla + Windows) oraz w³o¿y³a sporo pracy w aktualizacjê tej dokumentacji; +\item Petra Ol\shac{}\aac{}ka, który koordynowa³ i~sprawdza³ + przygotowanie pakietów czeskich i~s³owackich; +\item Toshio Oshimy, który opracowa³ przegl±darkê \cmdname{dviout} dla Windows; +\item Manuela P\'egouri\'e-Gonnarda, który pomóg³ w~aktualizacji pakietów + i~pracowa³ nad \cmdname{texdoc}; +\item Fabrice'a Popineau, który pierwszy stworzy³ wersje oprogramowania + dla Windows; +\item Norberta Preininga, g³ównego architekta infrastruktury i~programu + instalacyjnego \TL{} 2009, który przyczyni³ siê równie¿ do aktualizacji + pakietów, a tak¿e koordynowa³ (wraz z~Frankiem K\"usterem) debianow± + wersjê \TL{} i~przedstawi³ wiele sugestii ulepszeñ; +\item Sebastiana Rahtza, który stworzy³ \TL{} i~kierowa³ projektem przez + wiele lat; +\item Phila Taylora, który skonfigurowa³ BitTorrent + (do pobierania plików z sieci) na potrzeby \TL{}; +\item Tomka Trzeciaka, który pracowicie rozwi±zywa³ rozliczne problemy + zwi±zane z Windows; +\item Vladimira Volovicha, który wydatnie pomóg³ w~rozwi±zywaniu problemów + przeno¶no¶ci, szczególnie za¶ umo¿liwi³ do³±czenia \cmdname{xindy}; +\item Staszka Wawrykiewicza, g³ównego testuj±cego \TL{} w~ró¿nych systemach, + który ponadto koordynowa³ przygotowanie wszystkich polskich dodatków (fontów, + programów instalacyjnych i~wielu innych); +\item Olafa Webera, który cierpliwie pielêgnowa³ Web2C, od którego wszystko zale¿y; +\item Gerbena Wierda, który przygotowa³ oryginalne oprogramowanie i~wsparcie + dla \MacOSX{}; +\item Grahama Williamsa, którego prace nad katalogiem pakietów bardzo + pomog³y w~przygotowaniu dystrybucji. +\end{itemize*} + +Binaria dla ró¿nych platform skompilowali: +Ettore Aldrovandi (\pkgname{i386-solaris}, \pkgname{x86\_64-solaris}), +Alan Braslau (\pkgname{amd64-kfreebsd}, \pkgname{i386-kfreebsd}), +Peter Breitenlohner (\pkgname{x86\_64-linux}), +Karl Berry (\pkgname{i386-linux}), +Ken Brown (\pkgname{i386-cygwin}), +Akira Kakuto (\pkgname{win32}), +Dick Koch (\pkgname{universal-darwin}, \pkgname{x86\_64-darwin}), +Nikola Le\v{c}i\'c (\pkgname{amd64-freebsd}, \pkgname{i386-freebsd}), +Mojca Miklavec (\pkgname{mipsel-linux}), +Norbert Preining (\pkgname{alpha-linux}), + %Jukka Salmi (\pkgname{i386-netbsd}), + Thomas Schmitz (\pkgname{powerpc-linux}), +Boris Veytsman (\pkgname{armel-linux}), +Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-solaris}), +Olaf Weber (\pkgname{mips-irix}). +Informacje na temat procesu budowy \TL{} mo¿na znale¼æ na stronie: +\url{http://tug.org/texlive/build.html}. + +Aktualizacje i~t³umaczenia dokumentacji wykonali: +Siep Kroonenberg i~Karl Berry (angielski), +Manuel P\'egouri\'e-Gonnard (francuski), +Uwe Ziegenhagen (niemiecki), +Jjgod Jiang, Jinsong Zhao, Yue Wang i~Helin Gai (chiñski), +Marco Pallante (w³oski), +Nikola Le\v{c}i\'c (serbski), +Petr Sojka i~Jan Busa (czeski\slash s³owacki), +Boris Veytsman (rosyjski), +Staszek Wawrykiewicz (polski). +Na stronie \url{http://tug.org/texlive/doc.html} bêd± umieszczane ewentualne +aktualizacje tej dokumentacji. + +Oczywi¶cie, najwa¿niejsze podziêkowania nale¿± siê Donaldowi Knuthowi +za stworzenie systemu \TeX{} i~ofiarowanie go nam wszystkim. + +%%% +\section{Historia} +\label{sec:history} + +\subsection{Poprzednie wersje} + +Dystrybucja \TL{} jest wspólnym przedsiêwziêciem +grup U¿ytkowników Systemu \TeX{} z Niemiec, Holandii, Wielkiej +Brytanii, Francji, Czech, S³owacji, Polski, Indii i~Rosji oraz grupy +miêdzynarodowej TUG (\emph{\TeX{} Users Group}). +Dyskusje nad projektem rozpoczê³y siê pod koniec 1993 roku, kiedy holenderska +Grupa U¿ytkowników \TeX-a rozpoczê³a prace nad swoim +4All\TeX{} \CD{} dla u¿ytkowników \acro{MS-DOS}. W~tym te¿ +czasie pojawi³y siê nadzieje na opracowanie jednego \CD{} dla +wszystkich systemów. +Projekt ten by³ wprawdzie zbyt ambitny, zrodzi³ jednak nie tylko bardzo +popularny i~uwieñczony du¿ym powodzeniem projekt 4All\TeX{} \CD{}, +lecz równie¿ spowodowa³ powstanie Grupy Roboczej TUG ds. Standardu Katalogów +\TeX-owych (\emph{\TeX{} Directory Structure}), okre¶laj±cego, w~jaki +sposób tworzyæ zgodne i~³atwe do zarz±dzania zestawy pakietów \TeX-owych. +Koñcowy raport \TDS{} zosta³ opublikowany w~grudniowym numerze +\textsl{TUGboat}-a, i~jasnym siê sta³o, ¿e +jednym z~oczekiwanych wyników wprowadzenia tego standardu mog³aby +byæ modelowa struktura na p³ytce \CD. +Wydana wówczas p³ytka \CD{} by³a bezpo¶rednim rezultatem rozwa¿añ i~zaleceñ +Grupy Roboczej ds. \TDS. +Jasne tak¿e by³o, ¿e sukces 4All\TeX{} \CD{} pokaza³, ¿e +u¿ytkownicy Unixa tak¿e wiele by zyskali, mog±c korzystaæ +z~podobnie ³atwego w~instalacji/pielêgnacji i~u¿ytkowaniu systemu. +By³o to jednym z~celów projektu \TL. + +Projekt przygotowania p³ytki \CD, opartej na standardzie \TDS i~zorientowanej +na systemy uniksowe, rozpocz±³ siê jesieni± 1995 roku. Szybko +zdecydowali¶my siê na wykorzystanie \teTeX-a autorstwa Thomasa Essera, poniewa¿ +dzia³a³ na wielu platformach i~zosta³ zaprojektowany z~my¶l± +o~przeno¶no¶ci pomiêdzy ró¿nymi systemami plików. Thomas zgodzi³ siê pomóc +i~prace rozpoczê³y siê na dobre na pocz±tku 1996 roku. Pierwsze wydanie +ukaza³o siê w~maju 1996 roku. Na pocz±tku 1997 roku Karl Berry udostêpni³ +now±, istotnie zmienion± wersjê swojego pakietu \Webc, zawieraj±c± prawie +wszystkie funkcje wprowadzone do \teTeX-a przez Thomasa Essera. W~zwi±zku +z~tym zdecydowali¶my siê oprzeæ drugie wydanie \CD{} na standardowej +bibliotece \Webc, z~dodaniem skryptu \texttt{texconfig} z~pakietu \teTeX. +Trzecie wydanie \CD{} by³o oparte na \Webc{} wersji 7.2, przygotowanej przez +Olafa Webera. W~tym samym czasie zosta³a przygotowana nowa wersja \teTeX-a +i~\TL{} udostêpnia³ prawie wszystkie jego nowe funkcje. +Czwarta edycja by³a przygotowana podobnie, +z~u¿yciem nowej wersji te\TeX-a i~nowej wersji \Webc{} (7.3). +Wtedy to te¿ zapocz±tkowano kompletn± dystrybucjê dla Windows. + +Edycja pi±ta (marzec 2000) zawiera³a wiele poprawek i~uzupe³nieñ; +zaktualizowano setki pakietów. Szczegó³ow± zawarto¶æ pakietów +zapisano w~plikach XML. +G³ówn± zmian± w~\TeX\ Live~5 by³o usuniêcie programów, które nie mia³y +statusu {\it public domain}. Zawarto¶æ ca³ej p³ytki powinna odpowiadaæ ustaleniom +Debian Free Software Guidelines (\url{http://www.debian.org/intro/free}). +Do³o¿yli¶my wszelkich starañ, aby sprawdziæ warunki licencyjne pakietów. + %nadal jednak bardzo prosimy o~zg³aszanie zauwa¿onych pomy³ek. + +Szósta edycja (lipiec 2001) zawiera³a aktualizacje ca³ego materia³u. G³ówn± +zmian± by³o wprowadzenie nowej koncepcji programów instalacyjnych -- u¿ytkownik +mia³ odt±d mo¿liwo¶æ dok³adniejszego wyboru potrzebnych zestawów i~pakietów. +Zestawy dotycz±ce obs³ugi poszczególnych jêzyków zosta³y ca³kowicie +zreorganizowane, dziêki czemu wybór jednego z~nich nie tylko instalowa³ +potrzebne makra i~fonty, ale te¿ przygotowywa³ odpowiedni plik +\texttt{language.dat}. + +\TL~7 (rok 2002) zawiera³ po raz pierwszy oprogramowanie dla \MacOSX{} +i -- jak zwykle -- aktualizacjê wszelkich programów i~pakietów. +Wa¿nym zadaniem, które wykonano, by³o ujednolicenie plików ¼ród³owych +programów z~dystrybucj± te\TeX. W~programach instalacyjnych wprowadzono +mo¿liwo¶æ wyboru bardziej ogólnych, predefiniowanych zestawów pakietów +(m.in. dla u¿ytkowników francuskojêzycznych oraz polskich). Nowo¶ci± +by³o tak¿e wprowadzenie procedury aktualizacji map fontowych dla Dvips +i~PDFTeX podczas instalacji oraz doinstalowywania pakietów fontowych. + +W~2003~r., wraz z~nap³ywem aktualizacji i~dodatkowych nowych pakietów, +okaza³o siê, ¿e \TL{} nie mie¶ci siê na pojedynczym \CD. +Zmuszeni byli¶my podzieliæ \TL{} na trzy dystrybucje, które wydano +na \DVD{} i~dwóch p³ytkach \CD. Ponadto: + +\begin{itemize*} +\item na ¿yczenie ,,\LaTeX{} team'' zmieniono standardowe u¿ycie + programów \cmdname{latex} i~\cmdname{pdflatex}~-- by korzysta³y + one z~\eTeX{} (patrz str.~\pageref{text:etex}); +\item za³±czono nowe fonty obwiedniowe Latin Modern, które zastêpuj± + m.in. fonty EC (zawieraj±c komplet znaków europejskich), szczególnie + do tworzenia poprawnych plików PDF; +\item usuniêto binaria dla platformy Alpha \acro{OSF} (poprzednio + usuniêto tak¿e binaria dla \acro{HPUX}), niestety nie uda³o siê znale¼æ + osób chêtnych do wykonania kompilacji; +\item zmieniono instalacjê w~systemach Windows, wprowadzaj±c po raz pierwszy + zintegrowane ¶rodowisko pracy, oparte na edytorze XEmacs; +\item potrzebne programy pomocnicze dla Windows (Perl, Ghost\-script, + Image\-Magick, Ispell) instalowano w~strukturze katalogów + instalacji \TL; +\item mapy fontowe, z~których korzystaj± programy \cmdname{dvips}, + \cmdname{dvipdfm} oraz \cmdname{pdftex}, generowano odt±d w~katalogu + \dirname{texmf/fonts/map}; +\item \TeX{}, \MF{} oraz \MP{} domy¶lnie pozwala³y wypisywaæ komunikaty + na ekranie i~w~pliku .log, a~tak¿e w~operacjach \verb|\write| w~ich + reprezentacji 8-bitowej, zamiast tradycyjnej notacji \verb|^^|; + w~\TL{}~7 eksperymentalnie wprowadzono zale¿no¶æ przekodowania + wyj¶cia programów od systemowej strony kodowej, potem ten pomys³ + zarzucono; +\item znacznie zmieniono niniejsz± dokumentacjê; +\item wreszcie, poniewa¿ numery wersji kolejnych edycji mog³y wprowadzaæ + w~b³±d, postanowiono identyfikowaæ edycje \TL{} zgodnie z~rokiem + wydania. +\end{itemize*} + +\subsection{Wydanie 2004} + +Jak w~ka¿dej kolejnej wersji, w~2004 roku uaktualniono wiele pakietów +i~programów. Poni¿ej wymieniamy najbardziej istotne zmiany. + +\begin{itemize} +\item Gdy mieli¶my ju¿ lokalnie zainstalowane fonty, które korzysta³y +z~w³asnych plików \filename{.map} i/lub \filename{.enc}, \emph{nale¿a³o} +przenie¶æ te pliki w~nowe miejsce w~strukturze \filename{texmf/}. + +Pliki \filename{.map} (map fontowych) s± odt±d wyszukiwane w~podkatalogach +\dirname{fonts/map} (w~ka¿dym drzewie \filename{texmf}), zgodnie ze ¶cie¿k± +okre¶lon± przez zmienn± \envname{TEXFONTMAPS}. Analogicznie, pliki +\filename{.enc} (przekodowañ fontów) s± odt±d wyszukiwane w~podkatalogach +\dirname{fonts/enc}, zgodnie ze ¶cie¿k± okre¶lon± przez zmienn± +\envname{ENCFONTS}. O~niew³a¶ciwie umieszczonych plikach tego typu +zostaniemy ostrze¿eni podczas uruchomienia programu \cmdname{updmap}. +Zmiany te wprowadzono w~celu uporz±dkowania struktury katalogów: wszystkie +pliki dotycz±ce fontów znajduj± siê odt±d w~ramach jednego podkatalogu +\dirname{fonts/}. + +Metody radzenia sobie z~sytuacjami zwi±zanymi z~przej¶ciem na nowy uk³ad +katalogów omawia³ artyku³ \url{http://tug.org/texlive/mapenc.html}. + +\item Do \TK\ \DVD{} dodano now± dystrybucjê dla Windows o~nazwie +pro\TeX{}t (opart± na \MIKTEX-u). By³a ona dostêpna tak¿e na odrêbnym \CD. +Choæ pro\TeX{}t nie bazuje na implementacji Web2C, stosuje uk³ad katalogów +zgodny z~\TDS (patrz czê¶æ~\ref{sec:struct-tl} na +str.~\pageref{sec:struct-tl}). + +\item W ramach \TL{} dotychczasowe pojedyncze drzewo katalogów +\dirname{texmf} zosta³o rozdzielone na trzy mniejsze: \dirname{texmf}, +\dirname{texmf-dist} i~\dirname{texmf-doc} (patrz +czê¶æ~\ref{sec:tld}, str.~\pageref{sec:tld}) oraz pliki \filename{README} +w~ka¿dym z~tych katalogów). + +\item Wszystkie pliki makr wczytywane przez \TeX-a zosta³y +umieszczone wy³±cznie w~podkalogu \dirname{tex} w~ramach +\dirname{texmf*}. Tym samym usuniêto zbêdne katalogi +\dirname{etex}, \dirname{pdftex}, \dirname{pdfetex} itp. i~uproszczono +metody wyszukiwania plików. Patrz +\CDref{texmf-dist/doc/generic/tds/tds.html\#Extensions} +{\texttt{texmf-dist/doc/generic/tds/tds.html\#Extensions}}. + +\item Pomocnicze skrypty wykonywalne, niezale¿ne od platformy +i~zwykle uruchamiane w~sposób automatyczny, by³y odt±d +umieszczone w~nowym podkatalogu \dirname{scripts} w~ramach \dirname{texmf*}. +Znajdowane s± poleceniem \verb|kpsewhich -format=texmfscripts|. +Programy korzystaj±ce z tych skryptów mog³y wymagaæ modyfikacji. +Patrz \CDref{texmf-dist/doc/generic/tds/tds.html\#Scripts} +{\texttt{texmf-dist/doc/generic/tds/tds.html\#Scripts}}. + +\item Prawie wszystkie formaty traktuj± od tego wydania wiêkszo¶æ znaków jako +jawnie ,,wy¶wietlalne'' (\emph{printable}), nie za¶, jak by³o dotychczas, +konwertowane na \TeX-ow± notacjê \verb|^^|. By³o to mo¿liwe dziêki domy¶lnemu +wczytywaniu tablicy przekodowañ \filename{cp227.tcx}. Dok³adniej, znaki +o~kodach 32--256, HT, VT oraz FF zosta³y potraktowane dos³ownie podczas +wy¶wietlania komunikatów. Wyj±tkiem jest plain \TeX{} (tylko znaki z~zakresu +32--127 s± nie zmieniane), \ConTeXt{} (znaki z zakresu 0--255) oraz formaty +bazuj±ce na Omedze. Podobna domy¶lna w³a¶ciwo¶æ wystêpowa³a w~\TL\,2003, ale +w~tej edycji zosta³a zaimplementowana w~bardziej elegancki sposób +i~z~wiêkszymi mo¿liwo¶ciami indywidualnego dostosowania (patrz +\CDref{texmf/doc/web2c/web2c.html\#TCX-files} {\texttt{texmf/doc/web2c/web2c. +tml\#TCX-files}}. (Warto wspomnieæ, ¿e wczytuj±c Unicode, \TeX{} mo¿e +w~komunikatach b³êdów pokazywaæ niekompletne sekwencje znaków, poniewa¿ +zosta³ zaprojektowany ,,bajtowo''.) + %%! hmmm, ca³y akapit by o strumieniach we-wy? + +\item Program \textsf{pdfetex} zosta³ domy¶ln± ,,maszyn±'' dla +wiêkszo¶ci formatów (nie dotyczy to samego Plain \textsf{tex}). +Domy¶lnie, gdy uruchamiamy polecenie \textsf{latex}, \textsf{mex} +itp., generowane s± pliki \acro{DVI}. Mo¿liwe jest jednak wykorzystanie +w~\LaTeX, \ConTeXt{} itp. m.in. w³a¶ciwo¶ci mikrotypograficznych +zaimplementowanych w~\textsf{pdftex}, a~tak¿e rozszerzonych cech \eTeX-a +(\OnCD{texmf-dist/doc/etex/base/}). + +Oznacza to tak¿e, co warto podkre¶liæ, ¿e \emph{zalecane} jest odt±d u¿ycie +pakietu \pkgname{ifpdf} (który dzia³a zarówno z~plain, jak i~\LaTeX) +lub analogicznych makr. Zwyk³e sprawdzanie czy zdefiniowano \cs{pdfoutput} +b±d¼ kilka innych poleceñ pierwotnych mo¿e nie wystarczyæ do rozstrzygniêcia +czy nie jest generowany plik \acro{PDF}. W~2004 roku podjêli¶my +wysi³ek by zachowaæ, najlepiej jak to mo¿liwe, kompatybilno¶æ +z~dotychczasowymi przyzwyczajeniami u¿ytkowników. Brano wówczas pod uwagê, +¿e \cs{pdfoutput} mo¿e byæ zdefiniowany nawet wtedy, +gdy generowany jest plik \acro{DVI}. + +\item pdf\TeX\ (\url{http://pdftex.org}) zyska³ wówczas wiele nowych +cech: + + \begin{itemize*} + \item \cs{pdfmapfile} i~\cs{pdfmapline} pozwalaj± okre¶liæ + z~poziomu dokumentu u¿yte mapy fontowe, a~tak¿e pojedyncze + dodatkowe wpisy w~tych mapach. + + \item mikrotypograficzne operacje z~fontami s± ³atwiejsze w u¿yciu;\\ + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} + + \item wszystkie parametry pracy pdf\TeX-a, dotychczas okre¶lane + w~specjalnym pliku konfiguracyjnym \filename{pdftex.cfg}, musz± byæ + odt±d ustawiane poleceniami wbudowanymi, jak w~pliku + \filename{pdftexconfig.tex}; plik \filename{pdftex.cfg} + nie jest ju¿ w~ogóle wykorzystywany. Po zmianie \filename{pdftexconfig.tex} + nale¿a³o na nowo wygenerowaæ pliki formatów (wci±¿ jednak u¿ytkownik mia³ + pe³n± swobodê okre¶lania parametrów w~redagowanym dokumencie); + + \item wiêcej informacji zawarto w~podrêczniku pdf\TeX-a: + \OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf}. + + \end{itemize*} + +\item Polecenie \cs{input} w~programach \cmdname{tex}, + \cmdname{mf} oraz \cmdname{mpost} akceptowa³o odt±d nazwy + plików ograniczone podwójnymi apostrofami, zawieraj±ce spacje i~inne + znaki, np.: +\begin{verbatim} +\input "nazwa_pliku ze spacjami" % plain +\input{"nazwa_pliku ze spacjami"} % latex +\end{verbatim} +Wiêcej informacji zawarto w~podrêczniku Web2C: \OnCD{texmf/doc/web2c}. + +\item \texttt{-output-directory} -- nowa opcja programów \cmdname{tex}, + \cmdname{mf} oraz \cmdname{mpost} -- pozwala³a na zapisanie wyniku pracy + w~wyspecyfikowanym katalogu (np. mo¿na uruchomiæ program \texttt{tex} + z~plikiem znajduj±cym siê na dysku tylko do odczytu, za¶ wynik zapisaæ + na dysku pozwalaj±cym na~to); + +\item Rozszerzenie enc\TeX\ zosta³o szczê¶liwie w³±czone do Web2C. + Aby uaktywniæ to rozszerzenie, nale¿a³o podczas generowania formatu + u¿yæ opcji \optname{-enc}. Ogólnie mówi±c, enc\TeX\ obs³uguje + przekodowanie wej¶cia i~wyj¶cia, w³±czaj±c tak¿e Unicode (\acro{UTF}-8) + (patrz \OnCD{texmf-dist/doc/generic/enctex/} oraz + \url{http://www.olsak.net/enctex.html}). + +\item Udostêpniono nowy program Aleph, który ³±czy³ cechy \eTeX\ i~\OMEGA. + Skromna dokumentacja jest dostêpna na \OnCD{texmf-dist/doc/aleph/base} + oraz \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph}. + Format oparty na \LaTeX-u dla programu Aleph nazwano \textsf{lamed}. + +\item Dystrybucja \LaTeX-a zosta³a po raz pierwszy zaopatrzona w~now± + licencjê \acro{LPPL}, odt±d w~pe³ni zgodn± i~aprobowan± przez zalecenia + okre¶lone w~licencji Debiana. O~nowo¶ciach i~uaktualnieniach mo¿na siê + dowiedzieæ przegl±daj±c pliki \filename{ltnews} + w~\OnCD{texmf-dist/doc/latex/base}. + +\item Do³±czono tak¿e program \cmdname{dvipng} konwertuj±cy pliki \acro{DVI} +do formatu graficznego \acro{PNG} (\OnCD{texmf/doc/man/man1/dvipng.1}). + +\item W~porozumieniu i~z~pomoc± autora, Claudio Beccariego, ograniczono + pakiet \pkgname{cbgreek} do zestawu fontów rozs±dnego rozmiaru. Usuniêto + sporadycznie u¿ywane fonty konturowe i~s³u¿±ce do prezentacji. Pe³en + zestaw jest oczywi¶cie nadal dostêpny z~serwerów \acro{CTAN} +(\url{http://mirror.ctan.org/tex-archive/fonts/greek/cb}). + +\item Usuniêto program \cmdname{oxdvi}; jego funkcje przej±³ + \cmdname{xdvi}. + +\item Programy z~przedrostkiem \cmdname{ini} oraz \cmdname{vir} + (np. \cmdname{initex}), które zwykle by³y dowi±zaniami do programów + \cmdname{tex}, \cmdname{mf} i~\cmdname{mpost}, nie by³y od tej pory dostêpne + -- w~zupe³no¶ci wystarcza u¿ycie w~wierszu poleceñ opcji \optname{-ini}. + +\item Dystrybucja nie zawiera³a binariów dla platformy \textsf{i386-openbsd} + (g³ównie z~powodu braku chêtnych do wykonania kompilacji). + +\item W~systemie \textsf{sparc-solaris} nale¿a³o ustawiæ zmienn± systemow± + \envname{LD\_LIBRARY\_PATH}, aby uruchomiæ programy \pkgname{t1utils}. + Binaria by³y kompilowane w~C++, ale w~tym systemie brakowa³o standardowego + po³o¿enia bibliotek uruchomieniowych. Wiedziano o~tym ju¿ wcze¶niej, + nie by³o to jednak dotychczas udokumentowane. Z~kolei dla systemu + \textsf{mips-irix} wymagana by³a obecno¶æ bibliotek \acro{MIPS}pro 7.4. + +\end{itemize} + +\subsection{Wydanie 2005} + +Kolejna edycja przynios³a, jak zwykle, mnóstwo aktualizacji pakietów +i~programów. Struktura dystrybucji ustabilizowa³a siê, niemniej +pojawi³o siê nieco zmian w~konfiguracji: + +\begin{itemize} + +\item Wprowadzono nowe skrypty \cmdname{texconfig-sys}, \cmdname{updmap-sys} + i~\cmdname{fmtutil-sys}, których zadaniem jest modyfikowanie plików + konfiguracyjnych w~g³ównych drzewach katalogów systemu. Dotychczasowe + skrypty \cmdname{texconfig}, \cmdname{updmap} i~\cmdname{fmtutil} + modyfikuj± odt±d pliki u¿ytkownika w~katalogu \dirname{$HOME/.texlive2005}. + %(Patrz czê¶æ~\ref{sec:texconfig}, str.~\pageref{sec:texconfig}). + +\item Dodano nowe zmienne ¶rodowiskowe \envname{TEXMFCONFIG} + i~\envname{TEXMFSYSCONFIG}, które wskazuj± po³o¿enie drzew katalogów + z~plikami konfiguracyjnymi, odpowiednio: u¿ytkownika i~systemu. Tak wiêc + mog³o okazaæ siê koniecznym przeniesienie w³asnych wersji + \filename{fmtutil.cnf} i~\filename{updmap.cfg} w~odpowiednie miejsca. + Inn± mo¿liwo¶ci± by³o przedefiniowanie \envname{TEXMFCONFIG} lub + \envname{TEXMFSYSCONFIG} w~pliku \file{texmf.cnf}. W~ka¿dym z~przypadków + po³o¿enie tych plików i~przypisania + \envname{TEXMFCONFIG} i~\envname{TEXMFSYSCONFIG} musz± byæ zgodne. + (Patrz czê¶æ~\ref{sec:texmftrees}, str.~\pageref{sec:texmftrees}.) + +\item W~wydaniu z~poprzedniego roku podczas tworzenia wynikowego pliku + DVI \verb|\pdfoutput| i~podobne polecenia pozostawa³y niezdefiniowane, mimo + ¿e u¿ywany by³ program \cmdname{pdfetex}. Zgodnie z~obietnic±, + w~2005 roku zarzucono to rozwi±zanie (jego celem by³o zapewnienie + kompatybilno¶ci). Z~tego powodu u¿ytkownik by³ zmuszony zmieniæ te dokumenty, + które u¿ywa³y \verb|\ifx\pdfoutput\undefined| do sprawdzania, czy plik + wynikowy ma byæ w~formacie PDF. Zamiast tego nale¿a³o zastosowaæ pakiet + \pkgname{ifpdf.sty}, który dzia³a zarówno z~plain \TeX-em jak i~\LaTeX-em, + albo zapo¿yczyæ zastosowane w~nim rozwi±zania. + +\item W~wydaniu z~2004 roku zmieniono wiêkszo¶æ formatów tak, by + na wyj¶ciu 8-bitowe znaki by³y reprezentowane przez same siebie (por. + poprzednia czê¶æ). Nowy plik TCX o~nazwie \filename{empty.tcx} pozwala³ + w~³atwy sposób uzyskaæ w~razie potrzeby oryginaln± notacjê (\verb|^^|), + np.: + +\begin{verbatim} +latex --translate-file=empty.tcx twojplik.tex +\end{verbatim} + +\item Do³±czono nowy program \cmdname{dvipdfmx}, s³u¿±cy do konwersji DVI + do PDF. Program jest aktywnie pielêgnowan± wersj± programu + \cmdname{dvipdfm}, który wci±¿ jest dostêpny, ale nie jest ju¿ jednak + polecany. + +\item Nowe programy \cmdname{pdfopen} i~\cmdname{pdfclose} pozwala³y na + prze³adowanie plików PDF w~Adobe Acrobat Reader, bez konieczno¶ci ponownego + uruchamiania programu. (Inne przegl±darki formatu PDF, jak \cmdname{xpdf}, + \cmdname{gv} i~\cmdname{gsview}, nigdy na tê przypad³o¶æ nie cierpia³y.) + +\item Dla spójno¶ci, zmienne \envname{HOMETEXMF} i~\envname{VARTEXMF} zosta³y + przemianowane odpowiednio na \envname{TEXMFHOME} i~\envname{TEXMFSYSVAR}. + Zachowano zmienn± \envname{TEXMFVAR}, przeznaczon± domy¶lnie dla + u¿ytkownika. Patrz te¿ punkt pierwszy, powy¿ej. + +\end{itemize} + +\subsection{Wydanie 2006--2007} + +Najwiêksz± nowo¶ci± edycji lat 2006 i~2007 by³ Xe\TeX{}, +w~postaci programów \texttt{xetex} i~\texttt{xelatex}; patrz +\OnCD{texmf-dist/doc/xetex/XeTeX-reference.pdf} lub +\url{http://scripts.sil.org/xetex}. + +W istotny sposób zosta³ zaktualizowany MetaPost, zaplanowano tak¿e jego +dalszy rozwój (\url{http://tug.org/metapost/articles}); to samo dotyczy +pdf\TeX-a (\url{http://tug.org/applications/pdftex}). + +Pliki formatów (pdf)TeX-a (\filename{.fmt}) oraz analogiczne dla MetaPosta +i~Meta\-Fonta s± od tej edycji zapisywane w~podkatalogach +\dirname{texmf/web2c}, choæ sam ten katalog jest nadal przeszukiwany. +Podkatalogi te maj± nazwê zgodn± z~zastosowanym podczas generowania +,,silnikiem'', np. \filename{tex}, \filename{pdftex} lub \filename{xetex}. +Zmiana ta nie powinna byæ zauwa¿alna w~typowym u¿yciu. + +Program \texttt{tex} (plain) od tej edycji ju¿ nie analizowa³ pierwszego +wiersza rozpoczynaj±cego siê znakami \texttt{\%\&}, aby ustaliæ jaki ma +wczytaæ format. Pozosta³ zatem czysty, Knuthowy \TeX. \LaTeX\ i~wszystkie +pozosta³e formaty nadal analizuj± pierwszy wiersz z~\texttt{\%\&}. + +Oczywi¶cie, jak zwykle, w~okresie od poprzedniego wydania opracowano setki +innych aktualizacji pakietów i programów. Kolejne aktualizacje mo¿na znale¼æ +tradycyjnie na \acro{CTAN} (\url{http://mirror.ctan.org}). + +Drzewo ¼ród³owe \TL{} jest odt±d przechowywane w~Subversion. Przegl±danie +umo¿liwia standardowy interfejs www, a~jego adres zamieszczono na stronie +\url{http://tug.org.pl/texlive}. +Mimo i¿ nie widaæ efektów tej zmiany w koñcowej dystrybucji, mamy nadziejê, +¿e w~nadchodz±cych latach bêdzie to stabilne repozytorium oprogramowania +dla rozwoju \TL{}. + +W~maju 2006~r. Thomas Esser og³osi³, ¿e zaprzestaje aktualizowania +dystrybucji te\TeX{} (\url{http://tug.org/tetex}). Spowodowa³o to znaczny +wzrost zainteresowanie \TL, szczególnie w¶ród dystrybutorów +\acro{GNU}/Linuksa. (W~\TL{} zdefiniowano w przybli¿eniu równowa¿ny, nowy +schemat instalacyjny pod nazw± \texttt{tetex}.) Mamy nadziejê, ¿e +w~przysz³o¶ci doprowadzi to do takich ulepszeñ w~otoczeniu \TeX-owym, na +których skorzystaj± wszyscy. + +\subsection{Wydanie 2008} + +W 2008 roku ca³a infrastruktura \TL{} zosta³a przeprojektowana +i~przeprogramowana. Informacja dotycz±ca instalacji jest przechowywana +obecnie w~zwyk³ym pliku tekstowym \filename{tlpkg/texlive.tlpdb}. + +Po zainstalowaniu \TL{} wreszcie jest mo¿liwa jego aktualizacja z~internetu, +podobnie jak od paru lat umo¿liwia to dystrybucja MiK\TeX. Zamierzamy +regularnie aktualizowaæ pakiety, w~miarê jak bêd± siê pojawiaæ na serwerach +\CTAN. + +W~tym wydaniu pojawi³ siê nowy ,,silnik'', Lua\TeX\ +(\url{http://luatex.org}). Prócz nowych, elastycznych mo¿liwo¶ci +dotycz±cych sk³adu, udostêpnia on doskona³y jêzyk skryptowy do +zastosowania zarówno w~dokumentach \TeX-owych, jak i~poza nimi. + +Obs³uga dla Windows i~platform opartych na Unix zosta³a obecnie znacznie +bardziej zunifikowana. W~szczególno¶ci wiêkszo¶æ skryptów w~Perlu i~Lua +dostêpna jest teraz tak¿e dla Windows (zastosowano ,,wewnêtrzny'' Perl, +dostarczany wraz z~\TL). + +Pojawi³ siê nowy skrypt \cmdname{tlmgr} (patrz czê¶æ~\ref{sec:tlmgr}), który +staje siê g³ównym narzêdziem do zarz±dzania \TL{} po jego instalacji. +Umo¿liwia on aktualizacjê pakietów wraz z~niezbêdnymi wtedy czynno¶ciami, +jak regenerowanie formatów, aktualizacja map fontowych itp. + +Wraz z pojawieniem siê \cmdname{tlmgr} niektóre funkcje \cmdname{texconfig} +zosta³y zablokowane (edycja plików konfiguracyjnych formatów i~wzorców +przenoszenia). + +Program \cmdname{xindy} do tworzenia skorowidzów +(\url{http://xindy.sourceforge.net/}) jest obecnie dostêpny dla wiêkszo¶ci +platform. + +Narzêdzie \cmdname{kpsewhich} mo¿e obecnie raportowaæ wszystkie wyniki +przeszukiwania danego pliku (parametr \optname{--all}), jak równie¿ +ograniczyæ wyszukiwanie do jednego katalogu (parametr \optname{--subdir}). + +Program \cmdname{dvipdfmx} posiada obecnie funkcjê \cmdname{extractbb} +uzyskania informacji o~prostok±cie ograniczaj±cym (\textit{bounding box}); +jest to jedna z~ostatnich cech przejêtych od dawniej u¿ywanego programu +\cmdname{dvipdfm} (który jest nadal dostêpny). + +Usuniêto aliasy fontów \filename{Times-Roman}, \filename{Helvetica}, itd. +Ró¿ne pakiety korzysta³y z~nich w~nieoczekiwany sposób (np. spodziewaj±c +siê, ¿e fonty te bêd± mia³y ró¿ne kodowanie). Nie ma obecnie dobrego sposobu +na rozwi±zanie tych sprzeczno¶ci. + +Usuniêto format \pkgname{platex}, by unikn±æ konfliktu nazwy z~u¿ywanym od +wielu lat japoñskim pakietem \pkgname{platex}; pakiet \pkgname{polski} (czyli +dawny \pkgname{platex}) jest obecnie wystarczaj±cym sposobem na polonizacjê +dla \LaTeX-a. + +Usuniêto pliki \filename{.pool}, które s± obecnie wkompilowane w~programy, +co u³atwia ich aktualizacjê. + +Do tego wydania w³±czono tak¿e ostatnie zmiany dokonane przez +Donalda Knutha (tzw. \textit{\TeX\ tuneup of 2008}); patrz: +\url{http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}. + +\subsection{Wydanie 2009} + +W wydaniu 2009 najbardziej widoczn± zmian± jest to, ¿e +pdf\AllTeX\ \emph{automatycznie} dokonuje konwersji pliku EPS do PDF, +poprzez uruchomienie programu \code{epstopdf} (dotyczy to sytuacji, +gdy u¿yto pliku konfiguracyjnego \code{graphics.cfg} \LaTeX-a i gdy +plikiem wynikowym sk³adu ma byæ PDF). Domy¶lne ustawienia zapobiegaj± +nadpisaniu wszelkich utworzonych wcze¶niej przez u¿ytkownika plików PDF, +ale mo¿na tak¿e wy³±czyæ uruchamianie \code{epstopdf}, wstawiaj±c +|\newcommand{\DoNotLoadEpstopdf}{}| (lub |\def...|) przed deklaracj± +\cs{documentclass}. Szczegó³y mo¿na znale¼æ w dokumentacji pakietu epstopdf +(\url{http://ctan.org/pkg/epstopdf-pkg}). + +Wa¿n± zmian± jest tak¿e uruchamianie podczas kompilacji niektórych +zewnêtrznych programów via \cs{write18}. Dotyczy to np. +\code{epstopdf}, \code{makeindex} czy \code{bibtex}. Dok³adna lista +takich programów zawarta jest w pliku \code{texmf.cnf}. +Dla instalacji, które mog± wymagaæ zakazu uruchamiania takich programów +,,w~tle'' przewidziano odpowiedni± opcjê w programie instalacyjnym (patrz +czê¶æ~~\ref{sec:options}). Po instalacji mo¿na zablokowaæ uruchamianie +w~pliku \code{texmf.cnf}. + +Od wydania 2009 domy¶lnym formatem wyj¶ciowym dla Lua\AllTeX\ staje siê PDF +(wykorzystuje on m.in. obs³ugê przez Lua\-\TeX-a fontów OpenType). Aby uzyskaæ +plik DVI nale¿y u¿yæ nowych poleceñ: \code{dviluatex} lub \code{dvilualatex}. +Strona domowa projektu Lua\TeX: \url{http://luatex.org}. + +Usuniêto oryginalny silnik Omega i format Lambda (w uzgodnieniu z autorami). +Pozosta³ zaktualizowany Aleph i format Lamed, oraz pliki pomocnicze Omega. + +Za³±czono nowe wydanie fontów AMS \TypeI, m.in. fonty +Computer Modern. Zawieraj± one poprawki dokonane w plikach metafontowych +przez D.~Knutha w ci±gu ostatnich lat, a tak¿e poprawki hintingu. +Hermann Zapf przeprojektowa³ tak¿e fonty Euler (patrz +\url{http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf}). +Co wa¿ne, dla wszystkich fontów nie zmieniono plików metrycznych (TFM). +Strona domowa fontów: \url{http://www.ams.org/tex/amsfonts.html}. + +Dla Windows i Mac\TeX{} do³±czono nowe ¶rodowisko\dywiz edytor \TeX{}works. +Dla innych platform patrz: \url{http://tug.org/texworks}. +Inspirowany przez edytor TeXShop dla \MacOSX, \TeX{}works jest +wieloplatformowym, ³atwym w u¿yciu ¶rodowiskiem pracy. + +Dla niektórych platform za³±czono nowy program graficzny Asymptote +(\url{http://asymptote.sourceforge.net}). Korzysta on z tekstowej notacji +zbli¿onej do MetaPosta, ale rozszerzonej do obs³ugi 3D itp. + +Program \code{dvipdfm} zosta³ zast±piony przez \code{dvipdfmx}, który +dzia³a w specjalnym trybie kompatybilnym, gdy u¿yæ do wywo³ania +dawn± nazwê. \code{dvipdfmx} wspiera \acro{CJK} i zawiera wiele poprawek +od ostatniej dystrybucji \code{dvipdfm}. Strona domowa: +\url{http://project.ktug.or.kr/dvipdfmx}. + +Dodano zestawy programów dla \pkgname{cygwin} i \pkgname{i386-netbsd}, +podczas gdy usuniêto programy dla innych platform BSD. Zapewniono nas, +¿e u¿ytkownicy OpenBSD i FreeBSD bêd± mogli pobieraæ pakiety \TeX-owe +wraz z aktualizacj± obu systemów. Ponadto natknêli¶my siê na spore trudno¶ci +przy kompilacji programów, które mog³yby dzia³aæ w ró¿nych wersjach tych +systemów. + +Inne zmiany: do kompresji pakietów u¿yto programu \pkgname{xz}, +stanowi±cego stabilny zamiennik \pkgname{lzma} +(\url{http://tukaani.org/xz/}); znak |$| jest obecnie dozwolony w nazwach +plików, o ile nie poprzedza on nazwy znanej zmiennej; biblioteka Kpathsea +jest obecnie wielow±tkowa (co wykorzystano w~programie MetaPost); do budowy +wszystkich programów wykorzystano teraz Automake. + +\subsection{Wydanie 2010} +\label{sec:2010news} % keep with 2010 + +Od wydania 2010 generowane s± pliki PDF w~wersji 1.5, oferuj±cej lepsz± +kompresjê. Dotyczy to wszystkich mechanizmów u¿ywanych do generowania PDF, +w~tym \code{dvipdfmx}. Powrót do wersji 1.4 jest mo¿liwy poprzez u¿ycie +pakietu \pkgname{pdf14} lub komendy |\pdfminorversion=4|. + +Obecnie pdf\AllTeX\ \emph{automatycznie} konwertuje plik EPS +(\textit{Encapsulated PostScript}) do formatu PDF, wykorzystuj±c pakiet +\pkgname{epstopdf}, o~ile za³adowano \LaTeX-owy plik konfiguracyjny +\code{graphics.cfg} i~wybrano format wyj¶ciowy PDF. Domy¶lne ustawienia maj± +na celu wykluczenie przypadkowego nadpisania istniej±cych ju¿, wygenerowanych +innym sposobem plików PDF, ale mo¿na równie¿ zabroniæ uruchamiania +\code{epstopdf} wpisuj±c przed poleceniem \cs{documentclass} polecenie +|\newcommand{\DoNotLoadEpstopdf}{}| (lub |\def...|). Program \code{epstopdf} nie jest +równie¿ u¿ywany w~przypadku do³±czenia pakietu \pkgname{pst-pdf}. Wiêcej +szczegó³ów znajduje siê w dokumentacji pakietu epstopdf +(\url{http://ctan.org/pkg/epstopdf-pkg}). + +Domy¶lnie w³±czono równie¿ wykonywanie kilku programów zewnêtrznych dla \TeX-a +poprzez mechanizm \cs{write18}. Dotyczy to: \code{repstopdf}, +\code{makeindex}, \code{kpsewhich}, \code{bibtex} i~\code{bibtex8} (lista +jest zdefiniowana w~\code{texmf.cnf}). W~¶rodowiskach, w~których wykonywanie +zewnêtrznych programów jest niepo¿±dane, nale¿y tê opcjê zaznaczyæ podczas +instalacji (patrz: czê¶æ~\ref{sec:options}) lub wy³±czyæ ju¿ po niej poprzez +uruchomienie: |tlmgr conf texmf shell_escape 0|. + +Kolejna zmiana dotyczy³a programów \BibTeX\ i~Makeindex, które (podobnie +zreszt± jak sam \TeX) domy¶lnie nie zapisuj± swoich plików wynikowych do +dowolnie zdefiniowanego katalogu. Umo¿liwia to w~ograniczonym zakresie +zadzia³anie polecenia \cs{write18}. Aby to zmieniæ, nale¿y ustawiæ zmienn± +\envname{TEXMFOUTPUT} lub zmodyfikowaæ |openout_any|. + +Podobnie jak pdf\TeX, obecnie równie¿ \XeTeX\ obs³uguje wyrównywanie (tzw. +kernowanie) na krawêdzi wiersza, ale mo¿liwo¶æ poszerzania pisma +(\textit{font expansion}) nadal nie jest dostêpna. + +Program tlmgr podczas aktualizacji zachowuje obecnie domy¶lnie kopiê +poprzedniej wersji pakietu (\code{tlmgr option autobackup 1}), zatem +aktualizacja mo¿e zostaæ ³atwo cofniêta poprzez \code{tlmgr restore}. +W~przypadku ograniczonej ilo¶ci miejsca na dysku, opcja ta mo¿e zostaæ +wy³±czona przez \code{tlmgr option autobackup 0}. + +Do³±czono nowe programy: p\TeX\ i~narzêdzia do sk³adu w~jêzyku japoñskim, +\BibTeX{}U dla obs³ugi Unicode w~\BibTeX-u, chktex +(\url{http://baruch.ev-en.org/proj/chktex}) -- program do sprawdzania +dokumentów \AllTeX, dvisvgm -- konwerter DVI do SVG +(\url{http://dvisvgm.sourceforge.net}) oraz binaria dla nowych platform +sprzêtowych: \code{amd64-freebsd}, \code{amd64-kfreebsd}, +\code{i386-freebsd}, \code{i386-kfreebsd}, \code{x86\_64-darwin}, +\code{x86\_64-solaris}. + +W~dokumentacji zmian poprzedniego wydanie (\TL{} 2009) nie zd±¿ono uwzglêdniæ +usuniêcia wielu programów uruchomieniowych dla \TeX4ht +(\url{http://tug.org/tex4ht}) oraz zast±pienia ich jednym programem +\code{mk4ht}. + +Wreszcie, z~powodu niewystarczaj±cej ilo¶ci miejsca na p³ycie \TK\ \DVD, +zrezygnowano z~mo¿liwo¶ci uruchamiania \TL{} w~trybie ,,live''. Jednocze¶nie +znacznie przyspieszy³o to sam proces instalacji \TL{} z~p³ytki \DVD. + +\subsection{Wydanie 2011} + +Edycja 2011 zawiera³a stosunkowo niewiele zmian w porównaniu do poprzednich +wydañ. + +Programy dla \MacOSX\ (\code{universal-darwin} i \code{x86\_64-darwin}) +dzia³aj± od tego momentu tylko dla wersji Leopard i pó¼niejszych. Wersje +Panther i Tiger nie bêd± obs³ugiwane. + +Dla wiêkszo¶ci platform do³±czono program \code{biber}, s³u¿±cy do +przetwarzania danych bibliograficznych. Rozwój tego programu jest ¶ci¶le +zwi±zany z pakietem \code{biblatex}, który w zupe³nie nowy sposób +obs³uguje bibliografie w~La\TeX-u . + +Program MetaPost (\code{mpost}) ani nie tworzy, ani ju¿ wiêcej nie +wykorzystuje pliku formatu \code{.mem}. Wymagane pliki (np. \code{plain.mp}) +s± po prostu wczytywane przy ka¿dym uruchomieniu. Zmiana (choæ niezauwa¿alna +dla przeciêtnego u¿ytkownika) zwi±zana jest z nowym, innym podej¶ciem: +MetaPost jest obecnie traktowany jako biblioteka programów. + +Zaprogramowany w Perl program \code{updmap} (uprzednio stosowany tylko w +Windows) zosta³ dostosowany do wszystkich platform. Równie¿ te zmiany +s± niezauwa¿alne dl u¿ytkownika, choæ znacznie przyspieszy³y dzia³anie +programu. + +\htmlanchor{news} +\subsection{Obecna edycja} +\label{sec:tlcurrent} + +Program \code{tlmgr} pozwala na aktualizacje z~kilku repozytoriów w~sieci. +Szczegó³y zawarto w~pomocy (\code{tlmgr help}), w~czê¶ci dotycz±cej wielu +repozytoriów. + +Dla parametru \cs{XeTeXdashbreakstate} (\code{xetex} i~\code{xelatex}) +ustawiono domy¶lnie warto¶æ~1. Pozwala to na ³amanie wierszy po my¶lnikach +i~separatorach zakresu liczb, co by³o zawsze typowe dla kompilacji +programami \TeX, \LaTeX, Lua\TeX, itp. +Chc±c zachowaæ dotychczasowe dok³adne miejsca ³amania, +pliki kompilowane programem \XeTeX\ wymagaj± zatem u¿ycia polecenia +\cs{XeTeXdashbreakstate=0}. + +Wynikowe pliki \code{pdftex} oraz \code{dvips} mog± obecnie przekroczyæ +wielko¶æ 2GB. + +Dotychczas program \code{dvips} korzysta³ ze zbyt wielu ró¿nych wersji +standardowych 35~fontów postscriptowych. Nie by³y one domy¶lnie w³±czane +do pliku wynikowego, bo zak³adano, ¿e urz±dzenia drukuj±ce b±d¼ programy +(np. GhostScript) maj± dostêp do odpowiednich fontów. +Od tej edycji fonty ze standardowego zestawu, dostarczone w~dystrybucji \TL, +domy¶lnie s± w³±czane do tworzonego przez \code{dvips} pliku. + +W zastrze¿onym trybie pracy \cs{write18} (ustawianym domy¶lnie) dopuszczono +uruchamianie programu \code{mpost}. + +Plik konfiguracyjny \code{texmf.cnf} znajdywany jest obecnie tak¿e +w~drzewie katalogów \filename{../texmf-local}, np. +\filename{/usr/local/texlive/texmf-local/web2c/texmf.cnf}. + +Skrypt \code{updmap} wczytuje \code{updmap.cfg} z~kolejnych drzew \TeX-owych, +zamiast jeden plik globalny. Zmiana nie powinna byæ zauwa¿alna, chyba ¿e +zmienimy rêcznie \code{updmap.cfg}. Uruchomienie \code{updmap --help} +poka¿e szczegó³y. + +Dodano binaria dla \pkgname{armel-linux} and \pkgname{mipsel-linux}. +Usuniêto z~g³ównej dystrybucji binaria dla \pkgname{sparc-linux} +i~\pkgname{i386-netbsd}, ale s± one nadal dostêpne (wraz z~binariami dla +kilku innych platform) na stronie: +\url{http://tug.org/texlive/custom-bin.html}. + +\medskip \noindent + %%!Koñcowa uwaga, dotycz±ca przesz³o¶ci: + Wszystkie wydania \TL{}, wraz z~dodatkowymi materia³ami (np. ok³adkami +p³ytek), s± dostêpne na stronie: +\url{ftp://tug.org/historic/systems/texlive}. + +\subsection{\enspace Przysz³e wersje} + +\emph{Niniejsza dystrybucja nie jest doskona³a!} Planujemy kontynuowaæ +wydawanie nowych wersji i~chcieliby¶my, ¿eby zawiera³y one jeszcze wiêcej +pomocnej dokumentacji, wiêcej programów u¿ytkowych, lepsze programy +instalacyjne oraz stale ulepszany i~poprawiany katalog makr +i~fontów. Zadanie to jest wykonywane przez ciê¿ko pracuj±cych ochotników, +po¶wiêcaj±cych na to mnóstwo swojego wolnego czasu. Wiele jeszcze zosta³o do +zrobienia. Je¿eli mo¿esz pomóc, nie zastanawiaj siê i~przy³±cz siê do nas. +Patrz: \url{http://tug.org/texlive/contribute.html}. + +Prosimy o~przesy³anie poprawek, sugestii i~uzupe³nieñ oraz deklaracji +pomocy w~opracowywaniu kolejnych edycji pod adres: +%\begin{quote} +\email{tex-live@tug.org}. +%\url{http://tug.org/texlive} +%\end{quote} + +%Uaktualnienia, og³oszenia i~wskazówki bêd± dostêpne na stronie +%\url{http://tug.org/texlive.html}. + +\end{document} + diff --git a/Master/texmf-dist/doc/texlive/texlive-ru/Makefile b/Master/texmf-dist/doc/texlive/texlive-ru/Makefile new file mode 100644 index 00000000000..02d0de9f135 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-ru/Makefile @@ -0,0 +1,2 @@ +include ../texlive-en/Makefile +doc = texlive-ru diff --git a/Master/texmf-dist/doc/texlive/texlive-ru/live4ht.cfg b/Master/texmf-dist/doc/texlive/texlive-ru/live4ht.cfg new file mode 100644 index 00000000000..508ccca27c8 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-ru/live4ht.cfg @@ -0,0 +1,47 @@ +% tex4ht configuration file for the TeX Live documentation. +% Accumulated over many years. Public domain. +% +% html specifies the main output format. +% info for extra debugging info in the log files. + +% better approach is to have html in one piece (including footnotes). +% also the newest TeX4ht could produce UTF-8 output (-utf8 option) +\Preamble{charset=iso-8859-5,html,info,fn-in} + +% add extra stylesheet +\Configure{@HEAD}{\HCode{% +<link rel="stylesheet" type="text/css" href="\jobname.css" />\Hnewline +<link rel="stylesheet" type="text/css" href="tex-live.css" />\Hnewline +}} + +% or LaTeX complains it is missing. +\begin{document} + +\EndPreamble + +% simplify output for HTML. We leave TeX and LaTeX alone, since tex4ht +% actually does the lowered E (and raised A) in CSS. +\def\OMEGA{Omega} +\def\LaTeXe{LaTeX2e} +\def\eTeX{e-\TeX} +\def\acro#1{#1} +\def\MF{Metafont} +\def\BibTeX{BibTeX} +\def\warningbox{} +\def\endwarningbox{} + +\newif\ifhackliterals +\ifx\tldocenglish\undefined \else \hackliteralstrue \fi +\ifx\tldocrussian\undefined \else \hackliteralstrue \fi +\ifx\tldocgerman\undefined \else \hackliteralstrue \fi +% +\ifhackliterals + % these definitions cause "missing } inserted" at \end{tabularx} in + % French and Czech. don't know why. + % + % don't make these into links, as happens with \path. We only have a couple + % special characters that actually occur. + \def\dirname{\texttt\bgroup\catcode`\$=12 \catcode`\_=12 \finishliteral} + \def\finishliteral#1{#1\egroup} + \let\filename=\dirname +\fi diff --git a/Master/texmf-dist/doc/texlive/texlive-ru/t2almdh.fd b/Master/texmf-dist/doc/texlive/texlive-ru/t2almdh.fd new file mode 100644 index 00000000000..1e45d6f7208 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-ru/t2almdh.fd @@ -0,0 +1,51 @@ +%% +%% This is file `t2acmdh.fd', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% t2lhfnt.fdd (with options: `T2Acmdh') +%% This file is a generated file from the sources of the `cyrillic' bundle +%% in the LaTeX2e distribution. +%% +%% This is a generated file. +%% +%% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2008 +%% The LaTeX3 Project and any individual authors listed elsewhere +%% in this file. +%% +%% This file was generated from file(s) of the Standard LaTeX `Cyrillic Bundle'. +%% ----------------------------------------------------------------------------- +%% +%% It may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3c +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This file may only be distributed together with a copy of the LaTeX +%% `Cyrillic Bundle'. You may however distribute the LaTeX `Cyrillic +%% Bundle' without such generated files. +%% +%% The list of all files belonging to the `Cyrillic Bundle' is +%% given in the file `manifest.txt'. +%% +%% In particular, permission is granted to customize the declarations in +%% this file to serve the needs of your installation. +%% +%% However, NO PERMISSION is granted to distribute a modified version +%% of this file under its original name. +%% +\ProvidesFile{t2almdh.fd} + [2001/08/11 v1.0a Computer Modern Cyrillic font definitions] +\providecommand{\EC@family}[5]{% + \DeclareFontShape{#1}{#2}{#3}{#4}% + {<5><6><7><8><9><10><10.95><12><14.4>% + <17.28><20.74><24.88><29.86><35.83>genb*#5}{}} +\DeclareFontFamily{T2A}{lmdh}{} +\EC@family{T2A}{lmdh}{m}{n}{ladh} +\endinput +%% +%% End of file `t2acmdh.fd'. diff --git a/Master/texmf-dist/doc/texlive/texlive-ru/t2almr.fd b/Master/texmf-dist/doc/texlive/texlive-ru/t2almr.fd new file mode 100644 index 00000000000..8dfade4c712 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-ru/t2almr.fd @@ -0,0 +1,60 @@ +%% +%% This is file `t2acmr.fd', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% t2lhfnt.fdd (with options: `T2Acmr') +%% This file is a generated file from the sources of the `cyrillic' bundle +%% in the LaTeX2e distribution. +%% +%% This is a generated file. +%% +%% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2008 +%% The LaTeX3 Project and any individual authors listed elsewhere +%% in this file. +%% +%% This file was generated from file(s) of the Standard LaTeX `Cyrillic Bundle'. +%% ----------------------------------------------------------------------------- +%% +%% It may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3c +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This file may only be distributed together with a copy of the LaTeX +%% `Cyrillic Bundle'. You may however distribute the LaTeX `Cyrillic +%% Bundle' without such generated files. +%% +%% The list of all files belonging to the `Cyrillic Bundle' is +%% given in the file `manifest.txt'. +%% +%% In particular, permission is granted to customize the declarations in +%% this file to serve the needs of your installation. +%% +%% However, NO PERMISSION is granted to distribute a modified version +%% of this file under its original name. +%% +\ProvidesFile{t2almr.fd} + [2001/08/11 v1.0a Computer Modern Cyrillic font definitions] +\providecommand{\EC@family}[5]{% + \DeclareFontShape{#1}{#2}{#3}{#4}% + {<5><6><7><8><9><10><10.95><12><14.4>% + <17.28><20.74><24.88><29.86><35.83>genb*#5}{}} +\DeclareFontFamily{T2A}{lmr}{} +\EC@family{T2A}{lmr}{m}{n}{larm} +\EC@family{T2A}{lmr}{m}{sl}{lasl} +\EC@family{T2A}{lmr}{m}{it}{lati} +\EC@family{T2A}{lmr}{m}{sc}{lacc} +\EC@family{T2A}{lmr}{bx}{n}{labx} +\EC@family{T2A}{lmr}{b}{n}{larb} +\EC@family{T2A}{lmr}{bx}{it}{labi} +\EC@family{T2A}{lmr}{bx}{sl}{labl} +\EC@family{T2A}{lmr}{bx}{sc}{laxc} +\EC@family{T2A}{lmr}{m}{ui}{laui} +\endinput +%% +%% End of file `t2acmr.fd'. diff --git a/Master/texmf-dist/doc/texlive/texlive-ru/t2almss.fd b/Master/texmf-dist/doc/texlive/texlive-ru/t2almss.fd new file mode 100644 index 00000000000..91649f2fc94 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-ru/t2almss.fd @@ -0,0 +1,60 @@ +%% +%% This is file `t2acmss.fd', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% t2lhfnt.fdd (with options: `T2Acmss') +%% This file is a generated file from the sources of the `cyrillic' bundle +%% in the LaTeX2e distribution. +%% +%% This is a generated file. +%% +%% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2008 +%% The LaTeX3 Project and any individual authors listed elsewhere +%% in this file. +%% +%% This file was generated from file(s) of the Standard LaTeX `Cyrillic Bundle'. +%% ----------------------------------------------------------------------------- +%% +%% It may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3c +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This file may only be distributed together with a copy of the LaTeX +%% `Cyrillic Bundle'. You may however distribute the LaTeX `Cyrillic +%% Bundle' without such generated files. +%% +%% The list of all files belonging to the `Cyrillic Bundle' is +%% given in the file `manifest.txt'. +%% +%% In particular, permission is granted to customize the declarations in +%% this file to serve the needs of your installation. +%% +%% However, NO PERMISSION is granted to distribute a modified version +%% of this file under its original name. +%% +\ProvidesFile{t2almss.fd} + [2001/08/11 v1.0a Computer Modern Cyrillic font definitions] +\providecommand{\EC@family}[5]{% + \DeclareFontShape{#1}{#2}{#3}{#4}% + {<5><6><7><8><9><10><10.95><12><14.4>% + <17.28><20.74><24.88><29.86><35.83>genb*#5}{}} +\DeclareFontFamily{T2A}{lmss}{} +\EC@family{T2A}{lmss}{m}{n}{lass} +\EC@family{T2A}{lmss}{m}{sl}{lasi} +\EC@family{T2A}{lmss}{m}{it}{lasi} +\EC@family{T2A}{lmss}{bx}{n}{lasx} +\EC@family{T2A}{lmss}{bx}{it}{laso} +\EC@family{T2A}{lmss}{bx}{sl}{laso} +\DeclareFontShape{T2A}{lmss}{m}{sc}{<->sub*cmr/m/sc}{} +\DeclareFontShape{T2A}{lmss}{sbc}{n}{% + <5><6><7><8><9><10><10.95><12><14.4><17.28><20.74><24.88>lassdc10% +}{} +\endinput +%% +%% End of file `t2acmss.fd'. diff --git a/Master/texmf-dist/doc/texlive/texlive-ru/t2almtt.fd b/Master/texmf-dist/doc/texlive/texlive-ru/t2almtt.fd new file mode 100644 index 00000000000..8168ab4e28c --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-ru/t2almtt.fd @@ -0,0 +1,59 @@ +%% +%% This is file `t2acmtt.fd', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% t2lhfnt.fdd (with options: `T2Acmtt,tt,nowarn') +%% This file is a generated file from the sources of the `cyrillic' bundle +%% in the LaTeX2e distribution. +%% +%% This is a generated file. +%% +%% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2008 +%% The LaTeX3 Project and any individual authors listed elsewhere +%% in this file. +%% +%% This file was generated from file(s) of the Standard LaTeX `Cyrillic Bundle'. +%% ----------------------------------------------------------------------------- +%% +%% It may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3c +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This file may only be distributed together with a copy of the LaTeX +%% `Cyrillic Bundle'. You may however distribute the LaTeX `Cyrillic +%% Bundle' without such generated files. +%% +%% The list of all files belonging to the `Cyrillic Bundle' is +%% given in the file `manifest.txt'. +%% +%% In particular, permission is granted to customize the declarations in +%% this file to serve the needs of your installation. +%% +%% However, NO PERMISSION is granted to distribute a modified version +%% of this file under its original name. +%% +\ProvidesFile{t2almtt.fd} + [2001/08/11 v1.0a Computer Modern Cyrillic font definitions] +\providecommand{\EC@ttfamily}[5]{% + \DeclareFontShape{#1}{#2}{#3}{#4}% + {<5><6><7><8>#50800% + <9><10><10.95><12><14.4><17.28><20.74><24.88><29.86>% + <35.83>genb*#5}{}} +\DeclareFontFamily{T2A}{lmtt}{\hyphenchar\font\m@ne} +\EC@ttfamily{T2A}{lmtt}{m}{n}{latt} +\EC@ttfamily{T2A}{lmtt}{m}{sl}{last} +\EC@ttfamily{T2A}{lmtt}{m}{it}{lait} +\EC@ttfamily{T2A}{lmtt}{m}{sc}{latc} +\DeclareFontShape{T2A}{lmtt}{bx}{n}% + {<->ssub*cmtt/m/n}{} +\DeclareFontShape{T2A}{lmtt}{bx}{it}% + {<->ssub*cmtt/m/it}{} +\endinput +%% +%% End of file `t2acmtt.fd'. diff --git a/Master/texmf-dist/doc/texlive/texlive-ru/tex-live.css b/Master/texmf-dist/doc/texlive/texlive-ru/tex-live.css new file mode 100644 index 00000000000..5062bc0d229 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-ru/tex-live.css @@ -0,0 +1,44 @@ +/* $Id$ + Simple CSS for TeX Live that adds margins and a little color. + original by Bzyl Wlodzimierz, edited by Karl Berry, 2005. + Public domain. */ + +html { + // top left bottom right + margin: 15pt 15pt 15pt 15pt; + background: rgb(255,255,224); +} + +body { + margin: 0 5pt 0 5pt; + padding: 0; + //matw: background: rgb(224,255,224); + // (It looks better to me to have a consistent background --karl) +// fonts in browser are low resolution; +// therefore generated serif are poor quality, +// so they disturb reading (that is my opinion) + font-family: sans-serif; + font-style: normal; +} + +/* (It looks better to me to not vary colors at every level --karl) */ + +h3.sectionHead { + padding: 12pt 10pt 12pt 20pt; + //matw: background: rgb(192,224,255); + background: rgb(224,224,255); + color: rgb(0,0,32); +} + +h4.subsectionHead { + padding: 7pt 10pt 7pt 40pt; + background: rgb(224,224,255); + color: rgb(0,0,32); +} + +h5.subsubsectionHead { + padding: 3pt 10pt 3pt 40pt; + //matw: background: rgb(224,255,255); + background: rgb(224,224,255); + color: rgb(0,0,32); +} diff --git a/Master/texmf-dist/doc/texlive/texlive-ru/texlive-ru.css b/Master/texmf-dist/doc/texlive/texlive-ru/texlive-ru.css new file mode 100644 index 00000000000..8de0d2f83c1 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-ru/texlive-ru.css @@ -0,0 +1,192 @@ + +/* start css.sty */ +.lati-2074{font-size:200%;font-style: italic;} +.lati-2074{font-style: italic;} +.lass-1728{font-size:170%;font-family: monospace;} +.lass-1728{font-family: monospace;} +.larm-1200{font-size:120%;} +.latt-1200{font-size:120%;font-family: monospace;} +.latt-1200{font-family: monospace;} +.latt-1200{font-family: monospace;} +.latt-1200{font-family: monospace;} +.latt-1200{font-family: monospace;} +.latt-1000{font-family: monospace;} +.latt-1000{font-family: monospace;} +.latt-1000{font-family: monospace;} +.latt-1000{font-family: monospace;} +.latt-1000{font-family: monospace;} +.lass-1000{font-family: monospace;} +.lass-1000{font-family: monospace;} +.labx-1000{font-weight: bold;} +.lati-1000{font-style: italic;} +.lati-1000{font-style: italic;} +.latt-0800{font-size:80%;font-family: monospace;} +.latt-0800{font-family: monospace;} +.latt-0800{font-family: monospace;} +.latt-0800{font-family: monospace;} +.latt-0800{font-family: monospace;} +.latt-0900{font-size:90%;font-family: monospace;} +.latt-0900{font-family: monospace;} +.latt-0900{font-family: monospace;} +.latt-0900{font-family: monospace;} +.latt-0900{font-family: monospace;} +.larm-0700{font-size:70%;} +.latt-0800x-x-87{font-size:69%;font-family: monospace;} +.latt-0800x-x-87{font-family: monospace;} +.latt-0800x-x-87{font-family: monospace;} +.latt-0800x-x-87{font-family: monospace;} +.latt-0800x-x-87{font-family: monospace;} +p.noindent { text-indent: 0em } +td p.noindent { text-indent: 0em; margin-top:0em; } +p.nopar { text-indent: 0em; } +p.indent{ text-indent: 1.5em } +@media print {div.crosslinks {visibility:hidden;}} +a img { border-top: 0; border-left: 0; border-right: 0; } +center { margin-top:1em; margin-bottom:1em; } +td center { margin-top:0em; margin-bottom:0em; } +.Canvas { position:relative; } +img.math{vertical-align:middle;} +li p.indent { text-indent: 0em } +li p:first-child{ margin-top:0em; } +li p:last-child, li div:last-child { margin-bottom:0.5em; } +li p~ul:last-child, li p~ol:last-child{ margin-bottom:0.5em; } +.enumerate1 {list-style-type:decimal;} +.enumerate2 {list-style-type:lower-alpha;} +.enumerate3 {list-style-type:lower-roman;} +.enumerate4 {list-style-type:upper-alpha;} +div.newtheorem { margin-bottom: 2em; margin-top: 2em;} +.obeylines-h,.obeylines-v {white-space: nowrap; } +div.obeylines-v p { margin-top:0; margin-bottom:0; } +.overline{ text-decoration:overline; } +.overline img{ border-top: 1px solid black; } +td.displaylines {text-align:center; white-space:nowrap;} +.centerline {text-align:center;} +.rightline {text-align:right;} +div.verbatim {font-family: monospace; white-space: nowrap; text-align:left; clear:both; } +.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +div.fbox {display:table} +div.center div.fbox {text-align:center; clear:both; padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +div.minipage{width:100%;} +div.center, div.center div.center {text-align: center; margin-left:1em; margin-right:1em;} +div.center div {text-align: left;} +div.flushright, div.flushright div.flushright {text-align: right;} +div.flushright div {text-align: left;} +div.flushleft {text-align: left;} +.underline{ text-decoration:underline; } +.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; } +.framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +.framebox-c {text-align:center;} +.framebox-l {text-align:left;} +.framebox-r {text-align:right;} +span.thank-mark{ vertical-align: super } +span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript{ font-size:80%; } +div.footnotes{border-top:solid 1px black; border-bottom:solid 1px black; padding-bottom:1ex; padding-top:0.5ex; margin-right:15%; margin-top:2ex; font-style:italic; font-size:85%;} +div.footnotes p{margin-top:0; margin-bottom:0; text-indent:0;} +div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; } +table.tabular td p{margin-top:0em;} +table.tabular {margin-left: auto; margin-right: auto;} +td p:first-child{ margin-top:0em; } +td p:last-child{ margin-bottom:0em; } +div.td00{ margin-left:0pt; margin-right:0pt; } +div.td01{ margin-left:0pt; margin-right:5pt; } +div.td10{ margin-left:5pt; margin-right:0pt; } +div.td11{ margin-left:5pt; margin-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +td.td00{ padding-left:0pt; padding-right:0pt; } +td.td01{ padding-left:0pt; padding-right:5pt; } +td.td10{ padding-left:5pt; padding-right:0pt; } +td.td11{ padding-left:5pt; padding-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +.hline hr, .cline hr{ height : 1px; margin:0px; } +.tabbing-right {text-align:right;} +span.TEX {letter-spacing: -0.125em; } +span.TEX span.E{ position:relative;top:0.5ex;left:-0.0417em;} +a span.TEX span.E {text-decoration: none; } +span.LATEX span.A{ position:relative; top:-0.5ex; left:-0.4em; font-size:85%;} +span.LATEX span.TEX{ position:relative; left: -0.4em; } +div.float, div.figure {margin-left: auto; margin-right: auto;} +div.float img {text-align:center;} +div.figure img {text-align:center;} +.marginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;} +.marginpar p{margin-top:0.4em; margin-bottom:0.4em;} +table.equation {width:100%;} +.equation td{text-align:center; } +td.equation { margin-top:1em; margin-bottom:1em; } +td.equation-label { width:5%; text-align:center; } +td.eqnarray4 { width:5%; white-space: normal; } +td.eqnarray2 { width:5%; } +table.eqnarray-star, table.eqnarray {width:100%;} +div.eqnarray{text-align:center;} +div.array {text-align:center;} +div.pmatrix {text-align:center;} +table.pmatrix {width:100%;} +span.pmatrix img{vertical-align:middle;} +div.pmatrix {text-align:center;} +table.pmatrix {width:100%;} +span.bar-css {text-decoration:overline;} +img.cdots{vertical-align:middle;} +div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; } +table.tabular td p{margin-top:0em;} +table.tabular {margin-left: auto; margin-right: auto;} +td p:first-child{ margin-top:0em; } +td p:last-child{ margin-bottom:0em; } +div.td00{ margin-left:0pt; margin-right:0pt; } +div.td01{ margin-left:0pt; margin-right:5pt; } +div.td10{ margin-left:5pt; margin-right:0pt; } +div.td11{ margin-left:5pt; margin-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +td.td00{ padding-left:0pt; padding-right:0pt; } +td.td01{ padding-left:0pt; padding-right:5pt; } +td.td10{ padding-left:5pt; padding-right:0pt; } +td.td11{ padding-left:5pt; padding-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +.hline hr, .cline hr{ height : 1px; margin:0px; } +div.array {text-align:center;} +.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; font-weight:bold; font-size:110%;} +.index-item, .index-subitem, .index-subsubitem {display:block} +div.caption {text-indent:-2em; margin-left:3em; margin-right:1em; text-align:left;} +div.caption span.id{font-weight: bold; white-space: nowrap; } +h1.partHead{text-align: center} +p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } +p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } +.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;} +.subparagraphHead, .likesubparagraphHead { font-weight: bold;} +.quote {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; margin-right:1em; text-align:justify;} +.verse{white-space:nowrap; margin-left:2em} +div.maketitle {text-align:center;} +h2.titleHead{text-align:center;} +div.maketitle{ margin-bottom: 2em; } +div.author, div.date {text-align:center;} +div.thanks{text-align:left; margin-left:10%; font-size:85%; font-style:italic; } +.quotation {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; } +.abstract p {margin-left:5%; margin-right:5%;} +div.abstract {width:100%;} +.alltt P { margin-bottom : 0em; margin-top : 0em; } +.alltt { margin-bottom : 1em; margin-top : 1em; } +.figure img.graphics {margin-left:10%;} +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +div.longtable{text-align:center;} +.uline{ text-decoration:underline; } +.uuline{ text-decoration:underline; } +span.sout {text-decoration: line-through } +span.xout {text-decoration: line-through } +span.uwave {text-decoration:underline } +P.fancyvrb {white-space: nowrap; margin:0em;} +div#fancyvrb1{ border-top: solid 0.4pt; } +div#fancyvrb1{ border-left: solid 0.4pt; } +div#fancyvrb1{ border-bottom: solid 0.4pt; } +div#fancyvrb1{ border-right: solid 0.4pt; } +div#fancyvrb2{ border-top: solid 0.4pt; } +div#fancyvrb2{ border-left: solid 0.4pt; } +div#fancyvrb2{ border-bottom: solid 0.4pt; } +div#fancyvrb2{ border-right: solid 0.4pt; } +div#fancyvrb3{ border-top: solid 0.4pt; } +div#fancyvrb3{ border-left: solid 0.4pt; } +div#fancyvrb3{ border-bottom: solid 0.4pt; } +div#fancyvrb3{ border-right: solid 0.4pt; } +div#fancyvrb4{ border-top: solid 0.4pt; } +div#fancyvrb4{ border-left: solid 0.4pt; } +div#fancyvrb4{ border-bottom: solid 0.4pt; } +div#fancyvrb4{ border-right: solid 0.4pt; } +/* end css.sty */ + diff --git a/Master/texmf-dist/doc/texlive/texlive-ru/texlive-ru.html b/Master/texmf-dist/doc/texlive/texlive-ru/texlive-ru.html new file mode 100644 index 00000000000..ab2a1488b5e --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-ru/texlive-ru.html @@ -0,0 +1,6368 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//RU" + "http://www.w3.org/TR/html4/loose.dtd"> +<html > +<head> + <title>Руководство пользователя TEX Live +TeX Live 2012</title> +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> +<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> +<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> +<!-- charset=iso-8859-1,html,info,fn-in --> +<meta name="src" content="texlive-ru.tex"> +<meta name="date" content="2012-05-26 11:00:00"> +<link rel="stylesheet" type="text/css" href="texlive-ru.css"> +<link rel="stylesheet" type="text/css" href="texlive-ru.css" > +<link rel="stylesheet" type="text/css" href="tex-live.css" > +</head><body +> + <div class="maketitle"> + + + + + +<h2 class="titleHead">Руководство пользователя <span class="TEX">T<span +class="E">E</span>X</span> Live<br /> +<span class="TEX">T<span +class="E">E</span>X</span> Live 2012</h2> + <div class="author" ><span +class="larm-1200">Редактор: Карл Берри</span> +<br /> <a +href="http://tug.org/texlive/" class="url" ><span +class="latt-1200">http://tug.org/texlive/</span></a></div><br /> +<div class="date" ><span +class="larm-1200">Июнь 2012</span></div> + </div> + <h3 class="likesectionHead"><a + id="x1-1000"></a>Содержание</h3> + <div class="tableofcontents"> + <span class="sectionToc" >1 <a +href="#x1-20001" id="QQ2-1-2">Введение</a></span> +<br />  <span class="subsectionToc" >1.1 <a +href="#x1-30001.1" id="QQ2-1-3">TEX Live и TEX Collection</a></span> +<br />  <span class="subsectionToc" >1.2 <a +href="#x1-40001.2" id="QQ2-1-4">Поддерживаемые операционные системы</a></span> +<br />  <span class="subsectionToc" >1.3 <a +href="#x1-50001.3" id="QQ2-1-5">Основы установки <span class="TEX">T<span +class="E">E</span>X</span> Live</a></span> +<br />  <span class="subsectionToc" >1.4 <a +href="#x1-60001.4" id="QQ2-1-6">Соображения безопасности</a></span> +<br />  <span class="subsectionToc" >1.5 <a +href="#x1-70001.5" id="QQ2-1-7">Где можно получить поддержку</a></span> +<br /> <span class="sectionToc" >2 <a +href="#x1-80002" id="QQ2-1-8">Структура <span class="TEX">T<span +class="E">E</span>X</span> Live</a></span> +<br />  <span class="subsectionToc" >2.1 <a +href="#x1-90002.1" id="QQ2-1-9"><span class="TEX">T<span +class="E">E</span>X</span> Collection: TEX Live, proTEXt, MacTEX</a></span> +<br />  <span class="subsectionToc" >2.2 <a +href="#x1-100002.2" id="QQ2-1-10">Корневые директории TEX Live</a></span> +<br />  <span class="subsectionToc" >2.3 <a +href="#x1-110002.3" id="QQ2-1-11">Описание директорий texmf</a></span> +<br />  <span class="subsectionToc" >2.4 <a +href="#x1-120002.4" id="QQ2-1-12">Расширения <span class="TEX">T<span +class="E">E</span>X</span>а</a></span> +<br />  <span class="subsectionToc" >2.5 <a +href="#x1-130002.5" id="QQ2-1-13">Другие интересные программы в дистрибутиве <span class="TEX">T<span +class="E">E</span>X</span> Live</a></span> +<br />  <span class="subsectionToc" >2.6 <a +href="#x1-140002.6" id="QQ2-1-14">Шрифты в <span class="TEX">T<span +class="E">E</span>X</span> Live</a></span> +<br /> <span class="sectionToc" >3 <a +href="#x1-150003" id="QQ2-1-15">Установка</a></span> +<br />  <span class="subsectionToc" >3.1 <a +href="#x1-160003.1" id="QQ2-1-16">Запуск программы установки</a></span> +<br />   <span class="subsubsectionToc" >3.1.1 <a +href="#x1-170003.1.1" id="QQ2-1-17">UNIX</a></span> +<br />   <span class="subsubsectionToc" >3.1.2 <a +href="#x1-180003.1.2" id="QQ2-1-18">MacOSX</a></span> +<br />   <span class="subsubsectionToc" >3.1.3 <a +href="#x1-190003.1.3" id="QQ2-1-19">Windows</a></span> +<br />   <span class="subsubsectionToc" >3.1.4 <a +href="#x1-200003.1.4" id="QQ2-1-23">Cygwin</a></span> +<br />   <span class="subsubsectionToc" >3.1.5 <a +href="#x1-210003.1.5" id="QQ2-1-24">Установка в текстовом режиме</a></span> +<br />   <span class="subsubsectionToc" >3.1.6 <a +href="#x1-220003.1.6" id="QQ2-1-25">Установка в экспертном графическом режиме</a></span> +<br />   <span class="subsubsectionToc" >3.1.7 <a +href="#x1-230003.1.7" id="QQ2-1-26">Установка в упрощенном графическом режиме</a></span> +<br />  <span class="subsectionToc" >3.2 <a +href="#x1-240003.2" id="QQ2-1-27">Работа программы установки</a></span> +<br />   <span class="subsubsectionToc" >3.2.1 <a +href="#x1-250003.2.1" id="QQ2-1-28">Меню выбора платформы (только для UNIX)</a></span> +<br />   <span class="subsubsectionToc" >3.2.2 <a +href="#x1-260003.2.2" id="QQ2-1-30">Выбор основных компонентов</a></span> +<br />   <span class="subsubsectionToc" >3.2.3 <a +href="#x1-270003.2.3" id="QQ2-1-33">Директории</a></span> +<br />   <span class="subsubsectionToc" >3.2.4 <a +href="#x1-280003.2.4" id="QQ2-1-34">Опции</a></span> +<br />  <span class="subsectionToc" >3.3 <a +href="#x1-290003.3" id="QQ2-1-36">Опции вызова команды install-tl</a></span> +<br />   <span class="subsubsectionToc" >3.3.1 <a +href="#x1-300003.3.1" id="QQ2-1-37">Параметр <span +class="latt-1000">-repository</span></a></span> +<br />  <span class="subsectionToc" >3.4 <a +href="#x1-310003.4" id="QQ2-1-38">Действия после установки</a></span> +<br />   <span class="subsubsectionToc" >3.4.1 <a +href="#x1-320003.4.1" id="QQ2-1-39">Переменные окружения для UNIX</a></span> +<br />   <span class="subsubsectionToc" >3.4.2 <a +href="#x1-330003.4.2" id="QQ2-1-40">Переменные окружения: глобальная конфигурация</a></span> +<br />   <span class="subsubsectionToc" >3.4.3 <a +href="#x1-340003.4.3" id="QQ2-1-41">Обновления из Интернета после установки с DVD</a></span> +<br />   <span class="subsubsectionToc" >3.4.4 <a +href="#x1-350003.4.4" id="QQ2-1-42">Настройка шрифтов для программ XeTEX и LuaTEX</a></span> +<br />   <span class="subsubsectionToc" >3.4.5 <a +href="#x1-360003.4.5" id="QQ2-1-43">ConTEXt Mark IV</a></span> +<br />   <span class="subsubsectionToc" >3.4.6 <a +href="#x1-370003.4.6" id="QQ2-1-44">Добавление личных и локальных пакетов</a></span> + + +<br />   <span class="subsubsectionToc" >3.4.7 <a +href="#x1-380003.4.7" id="QQ2-1-45">Добавление новых шрифтов</a></span> +<br />  <span class="subsectionToc" >3.5 <a +href="#x1-390003.5" id="QQ2-1-46">Тестирование системы</a></span> +<br />  <span class="subsectionToc" >3.6 <a +href="#x1-400003.6" id="QQ2-1-47">Ссылки на дополнительные программы</a></span> +<br /> <span class="sectionToc" >4 <a +href="#x1-410004" id="QQ2-1-48">Установка системы в особых случаях</a></span> +<br />  <span class="subsectionToc" >4.1 <a +href="#x1-420004.1" id="QQ2-1-49">Установка в локальной сети</a></span> +<br /> <span class="sectionToc" >5 <a +href="#x1-430005" id="QQ2-1-50">Установка TEX Live на флешку</a></span> +<br />  <span class="subsectionToc" >5.1 <a +href="#x1-440005.1" id="QQ2-1-51">Создание образа ISO или DVD</a></span> +<br /> <span class="sectionToc" >6 <a +href="#x1-450006" id="QQ2-1-52">Администрирование системы при помощи <span +class="lass-1000">tlmgr</span></a></span> +<br />  <span class="subsectionToc" >6.1 <a +href="#x1-460006.1" id="QQ2-1-56">Программа <span +class="lass-1000">tlmgr </span>в графическом режиме</a></span> +<br />  <span class="subsectionToc" >6.2 <a +href="#x1-470006.2" id="QQ2-1-57">Примеры запуска программы <span +class="lass-1000">tlmgr </span>из командной строки</a></span> +<br /> <span class="sectionToc" >7 <a +href="#x1-480007" id="QQ2-1-58">Дополнительные замечания о Windows</a></span> +<br />  <span class="subsectionToc" >7.1 <a +href="#x1-490007.1" id="QQ2-1-59">Дополнительные возможности Windows</a></span> +<br />  <span class="subsectionToc" >7.2 <a +href="#x1-500007.2" id="QQ2-1-60">Дополнительные пакеты для Windows</a></span> +<br />  <span class="subsectionToc" >7.3 <a +href="#x1-510007.3" id="QQ2-1-62">Домашняя директория под Windows</a></span> +<br />  <span class="subsectionToc" >7.4 <a +href="#x1-520007.4" id="QQ2-1-63">Регистр Windows</a></span> +<br />  <span class="subsectionToc" >7.5 <a +href="#x1-530007.5" id="QQ2-1-64">Права доступа под Windows</a></span> +<br />   <span class="subsubsectionToc" >7.5.1 <a +href="#x1-540007.5.1" id="QQ2-1-65">Увеличение предоставляемой памяти под Windows и Cygwin</a></span> +<br /> <span class="sectionToc" >8 <a +href="#x1-550008" id="QQ2-1-66">Руководство пользователя Web2C</a></span> +<br />  <span class="subsectionToc" >8.1 <a +href="#x1-560008.1" id="QQ2-1-67">Поиск файлов в Kpathsea</a></span> +<br />   <span class="subsubsectionToc" >8.1.1 <a +href="#x1-570008.1.1" id="QQ2-1-68">Источники путей поиска</a></span> +<br />   <span class="subsubsectionToc" >8.1.2 <a +href="#x1-580008.1.2" id="QQ2-1-69">Конфигурационные файлы</a></span> +<br />   <span class="subsubsectionToc" >8.1.3 <a +href="#x1-590008.1.3" id="QQ2-1-70">Подстановка путей</a></span> +<br />   <span class="subsubsectionToc" >8.1.4 <a +href="#x1-600008.1.4" id="QQ2-1-71">Подстановка по умолчанию</a></span> +<br />   <span class="subsubsectionToc" >8.1.5 <a +href="#x1-610008.1.5" id="QQ2-1-72">Подстановка скобок</a></span> +<br />   <span class="subsubsectionToc" >8.1.6 <a +href="#x1-620008.1.6" id="QQ2-1-73">Подстановка поддиректорий</a></span> +<br />   <span class="subsubsectionToc" >8.1.7 <a +href="#x1-630008.1.7" id="QQ2-1-74">Список специальных символов и их значений</a></span> +<br />  <span class="subsectionToc" >8.2 <a +href="#x1-640008.2" id="QQ2-1-75">Базы данных файлов</a></span> +<br />   <span class="subsubsectionToc" >8.2.1 <a +href="#x1-650008.2.1" id="QQ2-1-76">Базы данных <span +class="latt-1000">ls-R</span></a></span> +<br />   <span class="subsubsectionToc" >8.2.2 <a +href="#x1-660008.2.2" id="QQ2-1-77">kpsewhich: Программа для поиска файлов</a></span> +<br />   <span class="subsubsectionToc" >8.2.3 <a +href="#x1-670008.2.3" id="QQ2-1-78">Примеры использования</a></span> +<br />   <span class="subsubsectionToc" >8.2.4 <a +href="#x1-680008.2.4" id="QQ2-1-79">Отладка</a></span> +<br />  <span class="subsectionToc" >8.3 <a +href="#x1-690008.3" id="QQ2-1-83">Опции запуска</a></span> +<br /> <span class="sectionToc" >9 <a +href="#x1-700009" id="QQ2-1-84">Благодарности</a></span> +<br /> <span class="sectionToc" >10 <a +href="#x1-7100010" id="QQ2-1-85">История издания</a></span> +<br />  <span class="subsectionToc" >10.1 <a +href="#x1-7200010.1" id="QQ2-1-86">Прошлое</a></span> +<br />   <span class="subsubsectionToc" >10.1.1 <a +href="#x1-7300010.1.1" id="QQ2-1-87">2003</a></span> +<br />   <span class="subsubsectionToc" >10.1.2 <a +href="#x1-7400010.1.2" id="QQ2-1-88">2004</a></span> +<br />   <span class="subsubsectionToc" >10.1.3 <a +href="#x1-7500010.1.3" id="QQ2-1-89">2005</a></span> +<br />   <span class="subsubsectionToc" >10.1.4 <a +href="#x1-7600010.1.4" id="QQ2-1-90">2006–2007</a></span> +<br />   <span class="subsubsectionToc" >10.1.5 <a +href="#x1-7700010.1.5" id="QQ2-1-91">2008</a></span> +<br />   <span class="subsubsectionToc" >10.1.6 <a +href="#x1-7800010.1.6" id="QQ2-1-92">2009</a></span> +<br />   <span class="subsubsectionToc" >10.1.7 <a +href="#x1-7900010.1.7" id="QQ2-1-93">2010</a></span> +<br />   <span class="subsubsectionToc" >10.1.8 <a +href="#x1-8000010.1.8" id="QQ2-1-94">2011</a></span> +<br />  <span class="subsectionToc" >10.2 <a +href="#x1-8100010.2" id="QQ2-1-95">Настоящее</a></span> +<br />  <span class="subsectionToc" >10.3 <a +href="#x1-8200010.3" id="QQ2-1-96">Будущее</a></span> + </div> +<!--l. 36--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">1 </span> <a + id="x1-20001"></a>Введение</h3> + + +<!--l. 39--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">1.1 </span> <a + id="x1-30001.1"></a><span class="TEX">T<span +class="E">E</span>X</span> Live и <span class="TEX">T<span +class="E">E</span>X</span> Collection</h4> +<!--l. 42--><p class="noindent" >В этом документе описаны основные возможности программного продукта <span class="TEX">T<span +class="E">E</span>X</span> Live — дистрибутива +<span class="TEX">T<span +class="E">E</span>X</span>а и других программ для GNU/Linux и других UNIXов, Mac OS X и Windows. +<!--l. 46--><p class="indent" > <span class="TEX">T<span +class="E">E</span>X</span> Live можно скачать с Интернета, а можно получить на DVD «<span class="TEX">T<span +class="E">E</span>X</span> Collection». Эти DVD +распространяются группами пользователей <span class="TEX">T<span +class="E">E</span>X</span>а. В разделе <a +href="#x1-90002.1">2.1<!--tex4ht:ref: sec:tl-coll-dists --></a> кратко описано содержание такого +DVD. И <span class="TEX">T<span +class="E">E</span>X</span> Live, и <span class="TEX">T<span +class="E">E</span>X</span> Collection поддерживаются группами пользователей <span class="TEX">T<span +class="E">E</span>X</span>а. В этом документе +в основном описан <span class="TEX">T<span +class="E">E</span>X</span> Live. +<!--l. 52--><p class="indent" > В <span class="TEX">T<span +class="E">E</span>X</span> Live включены программы <span class="TEX">T<span +class="E">E</span>X</span>, LaTeX2e, Con<span class="TEX">T<span +class="E">E</span>X</span>t, Metafont, MetaPost, BibTeX и многие +другие; обширная коллекция макросов, шрифтов и документации; а также поддержка вёрстки на +многих языках мира. +<!--l. 57--><p class="indent" > Краткий список основных изменений в этом издании <span class="TEX">T<span +class="E">E</span>X</span> Live можно найти в разделе <a +href="#x1-7100010">10<!--tex4ht:ref: sec:history --></a>, +стр. <a +href="#x1-7100010">73<!--tex4ht:ref: sec:history --></a>. +<!--l. 60--><p class="indent" > <a id="platforms"></a> + <h4 class="subsectionHead"><span class="titlemark">1.2 </span> <a + id="x1-40001.2"></a>Поддерживаемые операционные системы</h4> +<!--l. 64--><p class="noindent" >В <span class="TEX">T<span +class="E">E</span>X</span> Live включены скомпилированные программы для многих вариантов UNIX, включая +GNU/Linux, Mac OS X и Cygwin. Исходный код также включён в дистрибутив, что позволяет +компилировать <span class="TEX">T<span +class="E">E</span>X</span> Live и на платформах, для которых мы не включили собранных программ. +<!--l. 69--><p class="indent" > Что касается Windows: поддерживаются версии Windows XP и младше. Программы также более или +менее работоспособны под Windows 2000. Мы не собрали 64-битовые программы для Windows, но +32-битовые варианты должны работать на 64-битовых систем. +<!--l. 74--><p class="indent" > Альтернативные варианты для Windows и Mac OS X описаны в разделе <a +href="#x1-90002.1">2.1<!--tex4ht:ref: sec:tl-coll-dists --></a>. +<!--l. 77--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">1.3 </span> <a + id="x1-50001.3"></a>Основы установки <span class="TEX">T<span +class="E">E</span>X</span> Live</h4> +<!--l. 80--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Live можно установить с DVD или с Интернета (<a +href="http://tug.org/texlive/acquire.html" class="url" ><span +class="latt-1000">http://tug.org/texlive/acquire.html</span></a>). +Программа для установки с сети сама по себе мала — она скачивает все нужное с Интернета. +<!--l. 84--><p class="indent" > Программа установки с DVD позволяет установить <span class="TEX">T<span +class="E">E</span>X</span> Live на диск компьютера. Вы не сможете +запускать <span class="TEX">T<span +class="E">E</span>X</span> Live непосредственно с DVD, но вы можете собрать работающую версию <span class="TEX">T<span +class="E">E</span>X</span> Live, +например, на флешке USB (см. <a +href="#x1-430005">5<!--tex4ht:ref: sec:portable-tl --></a>). Установка системы подробно описана в следующих разделах +(стр. <a +href="#x1-150003">12<!--tex4ht:ref: sec:install --></a>), но вкратце она состоит в следующем: + <ul class="itemize1"> + <li class="itemize">Скрипт для установки системы называется <span +class="latt-1000">install-tl</span>. Он может работать в упрощенном + графическом варианте, если выбрана опция <span +class="latt-1000">-gui=wizard</span>) (режим по умолчанию для + Windows), в текстовом варианте, если выбрана опция <span +class="latt-1000">-gui=text </span>(режим по умолчанию + для остальных архитектур), и в графическом варианте для экспертов, если выбрана опция + <span +class="latt-1000">-gui=perltk</span>. + </li> + <li class="itemize">Среди установленных программ есть «Менеджер <span class="TEX">T<span +class="E">E</span>X</span> Live», <span +class="lass-1000">tlmgr</span>. Как и программа + установки, он может работать как в графическом, так и в текстовом режимах. Эта + программа позволяет устанавливать и удалять пакеты, а также настраивать систему.</li></ul> +<!--l. 105--><p class="indent" > <a id="security"></a> + <h4 class="subsectionHead"><span class="titlemark">1.4 </span> <a + id="x1-60001.4"></a>Соображения безопасности</h4> +<!--l. 109--><p class="noindent" >Насколько мы можем сказать, основные программы <span class="TEX">T<span +class="E">E</span>X</span>а были и остаются очень надежными. Однако +несмотря на все усилия, некоторые программы дистрибутива могут не достичь этого уровня. Как +обычно, вы должны быть осторожны, обрабатывая любыми программами ненадежные исходные данные; +для безопасности делайте это в отдельной поддиректории. +<!--l. 115--><p class="indent" > Особенной осторожности требует работа под Windows, поскольку Windows обычно запускает в +первую очередь копию программы из текущей директории, даже если существует другая копия там, где +в системе обычно находятся бинарники. Это открывает много возможностей для хакерских атак. Мы +закрыли много дыр в безопасности, но без сомнения, ещё больше дыр осталось, особенно в +предоставленных нам чужих программах. Поэтому мы рекомендуем проверять подозрительные файлы в + + +рабочей директории, особенно исполняемые файлы (бинарники и скрипты). Обычно их там быть не +должно, и вёрстка документов не должна их создавать. +<!--l. 126--><p class="indent" > Наконец, <span class="TEX">T<span +class="E">E</span>X</span> (и вспомогательные программы) способны писать в файлы при обработке документов. +Это можно использовать для атаки разнообразными способами. И опять, безопаснее всего обрабатывать +неизвестные документы в отдельной директории. +<!--l. 131--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">1.5 </span> <a + id="x1-70001.5"></a>Где можно получить поддержку</h4> +<!--l. 134--><p class="noindent" >Сообщество пользователей <span class="TEX">T<span +class="E">E</span>X</span>а активно и дружелюбно, и практически на каждый серьёзный вопрос +найдётся ответ. Однако эта поддержка неформальна, выполняется добровольцами, и поэтому очень +важно, чтобы вы сами попробовали найти ответ перед тем, как задавать вопрос. (Если вы предпочитаете +коммерческую поддержку, возможно вам ст´оит вместо <span class="TEX">T<span +class="E">E</span>X</span> Live купить одну из коммерческих версий +<span class="TEX">T<span +class="E">E</span>X</span>а, см. список по адресу <a +href="http://tug.org/interest.html#vendors" class="url" ><span +class="latt-1000">http://tug.org/interest.html#vendors</span></a>). +<!--l. 142--><p class="indent" > Вот список источников поддержки, приблизительно в том порядке, в котором мы рекомендуем к ним +обращаться: +<!--l. 145--><p class="indent" > + <dl class="description"><dt class="description"> +<span +class="labx-1000">Страница для новичков:</span> </dt><dd +class="description">Если вы — новичок, то страница <a +href="http://tug.org/begin.html" class="url" ><span +class="latt-1000">http://tug.org/begin.html</span></a> может + послужить для начала. + </dd><dt class="description"> +<span class="TEX"><span +class="labx-1000">T</span><span +class="E"><span +class="labx-1000">E</span></span><span +class="labx-1000">X</span></span> <span +class="labx-1000">FAQ:</span> </dt><dd +class="description"><span class="TEX">T<span +class="E">E</span>X</span> FAQ (ЧаВо, часто задаваемые вопросы) — огромная коллекция ответов на + всевозможные вопросы, от самых простых до самых сложных. Английская версия ЧаВо + находится на <span class="TEX">T<span +class="E">E</span>X</span> Live в разделе <a +href="../../../../texmf-dist/doc/generic/FAQ-en/html/index.html" >texmf-dist/doc/generic/FAQ-en/html/index.html</a> и доступна + в Интернете по адресу <a +href="http://www.tex.ac.uk/faq" class="url" ><span +class="latt-1000">http://www.tex.ac.uk/faq</span></a>. Пожалуйста, начинайте поиск ответа на + ваши вопросы отсюда. + </dd><dt class="description"> +<span class="TEX"><span +class="labx-1000">T</span><span +class="E"><span +class="labx-1000">E</span></span><span +class="labx-1000">X</span></span> <span +class="labx-1000">Catalogue:</span> </dt><dd +class="description">Если вы ищете какой-либо пакет, шрифт, программу и т.п., то вам стоит + заглянуть в <span class="TEX">T<span +class="E">E</span>X</span> Catalogue. Это огромный каталог всего, что относится к <span class="TEX">T<span +class="E">E</span>X</span>у. См. + <a +href="http://www.ctan.org/help/Catalogue" class="url" ><span +class="latt-1000">http://www.ctan.org/help/Catalogue</span></a>. + </dd><dt class="description"> +<span class="TEX"><span +class="labx-1000">T</span><span +class="E"><span +class="labx-1000">E</span></span><span +class="labx-1000">X</span></span> <span +class="labx-1000">во всемирной паутине:</span> </dt><dd +class="description">Вот страничка, на которой много ссылок по <span class="TEX">T<span +class="E">E</span>X</span>у, включая + многочисленные книги, руководства и статьи: <a +href="http://tug.org/interest.html" class="url" ><span +class="latt-1000">http://tug.org/interest.html</span></a>. + </dd><dt class="description"> +<span +class="labx-1000">Архивы списков рассылки и групп:</span> </dt><dd +class="description">Два основных форума технической поддержки — группа + <a +href="news:comp.text.tex" class="url" ><span +class="latt-1000">news:comp.text.tex</span></a> и список рассылки <a +href="mailto:texhax@tug.org" ><span class="path"><span +class="latt-1000">texhax@tug.org</span></span></a>. В их архивах тысячи вопросов и + ответов на все случаи жизни. См. <a +href="http://groups.google.com/groups?group=comp.text.tex" class="url" ><span +class="latt-1000">http://groups.google.com/groups?group=comp.text.tex</span></a> + и <a +href="http://tug.org/mail-archives/texhax" class="url" ><span +class="latt-1000">http://tug.org/mail-archives/texhax</span></a>. Поиск, например, в Гугле (<a +href="http://google.com" class="url" ><span +class="latt-1000">http://google.com</span></a>) + тоже часто помогает найти ответ. + </dd><dt class="description"> +<span +class="labx-1000">Вопросы на форумах</span> </dt><dd +class="description">Если вы не можете найти ответа на ваш вопрос, вы можете либо + опубликовать вопрос в <span +class="latt-1000">comp.text.tex </span>при помощи Google или вашей любимой новостной + программы, либо послать письмо на лист рассылки <a +href="mailto:texhax@tug.org" ><span class="path"><span +class="latt-1000">texhax@tug.org</span></span></a>. Но перед этим + <span +class="lati-1000">пожалуйста </span>прочтите в ЧаВо совет о том, как правильно задавать вопросы на этих + форумах: <a +href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion" class="url" ><span +class="latt-1000">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion</span></a>. + </dd><dt class="description"> +<span +class="labx-1000">Поддержка </span><span class="TEX"><span +class="labx-1000">T</span><span +class="E"><span +class="labx-1000">E</span></span><span +class="labx-1000">X</span></span> <span +class="labx-1000">Live</span> </dt><dd +class="description">Если вы хотите сообщить о баге или высказать нам свои предложения + и замечания о дистрибутиве <span class="TEX">T<span +class="E">E</span>X</span> Live, его установке или документации, пишите на лист + рассылки <a +href="mailto:tex-live@tug.org" ><span class="path"><span +class="latt-1000">tex-live@tug.org</span></span></a>. Однако если ваш вопрос касается конкретной программы, + входящей в <span class="TEX">T<span +class="E">E</span>X</span> Live, вам лучше задавать вопросы её автору или посылать их на + соответствующий список рассылки. Часто соответствующий адрес можно получить при + помощи опции <span +class="latt-1000">--help </span>нужной программы. + + + </dd><dt class="description"> +<span +class="labx-1000">Русскоязычные ресурсы</span> </dt><dd +class="description"><span +class="lati-1000">(добавлено переводчиком) </span>Эхоконференция <span +class="latt-1000">ru.tex </span>доступна как в + сети ФИДО, так и в Интернете (как <a +href="news:fido7.ru.tex" class="url" ><span +class="latt-1000">news:fido7.ru.tex</span></a>). Русские группы ФИДО можно + найти на многих серверах, например <span +class="latt-1000">demos.ddt.su</span>. В ЧаВо этой группы приводится много + ссылок на русскоязычные ресурсы. + </dd></dl> +<!--l. 200--><p class="indent" > С другой стороны, вы сами тоже можете помочь тем, у кого есть вопросы. И <span +class="latt-1000">comp.text.tex</span>, и +<span +class="latt-1000">texhax</span>, и <span +class="latt-1000">fido7.ru.tex </span>открыты для всех, поэтому вы тоже можете присоединиться, читать и помогать +другим. +<!--l. 210--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">2 </span> <a + id="x1-80002"></a>Структура <span class="TEX">T<span +class="E">E</span>X</span> Live</h3> +<!--l. 213--><p class="noindent" >Этот раздел описывает структуру и содержание <span class="TEX">T<span +class="E">E</span>X</span> Collection и его составной части <span class="TEX">T<span +class="E">E</span>X</span> +Live. +<!--l. 217--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.1 </span> <a + id="x1-90002.1"></a><span class="TEX">T<span +class="E">E</span>X</span> Collection: <span class="TEX">T<span +class="E">E</span>X</span> Live, pro<span class="TEX">T<span +class="E">E</span>X</span>t, Mac<span class="TEX">T<span +class="E">E</span>X</span></h4> +<!--l. 220--><p class="noindent" >DVD <span class="TEX">T<span +class="E">E</span>X</span> Collection содержит следующие пакеты: +<!--l. 222--><p class="indent" > + <dl class="description"><dt class="description"> +<span class="TEX"><span +class="labx-1000">T</span><span +class="E"><span +class="labx-1000">E</span></span><span +class="labx-1000">X</span></span> <span +class="labx-1000">Live:</span> </dt><dd +class="description">полная система, которую можно установить на жесткий диск компьютера. Её + домашняя страница <a +href="http://tug.org/texlive/" class="url" ><span +class="latt-1000">http://tug.org/texlive/</span></a>. + </dd><dt class="description"> +<span +class="labx-1000">Mac</span><span class="TEX"><span +class="labx-1000">T</span><span +class="E"><span +class="labx-1000">E</span></span><span +class="labx-1000">X</span></span><span +class="labx-1000">:</span> </dt><dd +class="description">вариант для Mac OS X. + Этот пакет добавляет к <span class="TEX">T<span +class="E">E</span>X</span> Live программу установки для Mac OS X и другие программы + для Макинтошей. Страница проекта — <a +href="http://www.tug.org/mactex/" class="url" ><span +class="latt-1000">http://www.tug.org/mactex/</span></a>. + </dd><dt class="description"> +<span +class="labx-1000">pro</span><span class="TEX"><span +class="labx-1000">T</span><span +class="E"><span +class="labx-1000">E</span></span><span +class="labx-1000">X</span></span><span +class="labx-1000">t:</span> </dt><dd +class="description">улучшенный вариант дистрибутива MiK<span class="TEX">T<span +class="E">E</span>X</span> для Windows. pro<span class="TEX">T<span +class="E">E</span>X</span>t включает в себя + дополнительные программы и упрощённую установку. Он не зависит от <span class="TEX">T<span +class="E">E</span>X</span> Live и включает + собственные инструкции по установке. Страница pro<span class="TEX">T<span +class="E">E</span>X</span>t — <a +href="http://tug.org/protext" class="url" ><span +class="latt-1000">http://tug.org/protext</span></a>. + </dd><dt class="description"> +<span +class="labx-1000">CTAN:</span> </dt><dd +class="description">Зеркало архива CTAN (<a +href="http://www/ctan/org" class="url" ><span +class="latt-1000">http://www/ctan/org</span></a>). + </dd><dt class="description"> +<span +class="latt-1000">texmf-extra</span><span +class="labx-1000">:</span> </dt><dd +class="description">директория с разнообразными дополнительными пакетами. + </dd></dl> +<!--l. 246--><p class="indent" > Лицензии на использование CTAN, <span +class="lass-1000">protext </span>и <span +class="latt-1000">texmf-extra </span>отличаются от лицензии <span class="TEX">T<span +class="E">E</span>X</span> Live, поэтому +будьте внимательны при распространении или модификации программ, входящих в эти +дистрибутивы. +<!--l. 252--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.2 </span> <a + id="x1-100002.2"></a>Корневые директории <span class="TEX">T<span +class="E">E</span>X</span> Live</h4> +<!--l. 255--><p class="noindent" >Вот краткое описание корневых директорий в дистрибутиве <span class="TEX">T<span +class="E">E</span>X</span> Live. +<!--l. 257--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span +class="latt-1000">bin:</span> </dt><dd +class="list"> + <!--l. 258--><p class="noindent" >Программы системы <span class="TEX">T<span +class="E">E</span>X</span>, сгруппированные по платформам. + </dd><dt class="list"> + <span +class="latt-1000">readme-*.dir:</span> </dt><dd +class="list"> + <!--l. 260--><p class="noindent" >Краткое руководство пользователя и коллекция ссылок на разных языках, в текстовом + формате и формате HTML. + + + </dd><dt class="list"> + <span +class="latt-1000">source:</span> </dt><dd +class="list"> + <!--l. 264--><p class="noindent" >Исходный код всех программ, включая дистрибутивы Web2C <span class="TEX">T<span +class="E">E</span>X</span> и Metafont. + </dd><dt class="list"> + <span +class="latt-1000">texmf:</span> </dt><dd +class="list"> + <!--l. 267--><p class="noindent" >См. <span +class="latt-1000">TEXMFMAIN </span>ниже. + </dd><dt class="list"> + <span +class="latt-1000">texmf-dist:</span> </dt><dd +class="list"> + <!--l. 269--><p class="noindent" >См. <span +class="latt-1000">TEXMFDIST </span>ниже. + </dd><dt class="list"> + <span +class="latt-1000">tlpkg:</span> </dt><dd +class="list"> + <!--l. 271--><p class="noindent" >Скрипты, программы и другие файлы для поддержки системы, а также некоторые полезные + программы для Windows</dd></dl> +<!--l. 276--><p class="indent" > Кроме этих директорий, в корневой директории находятся скрипты установки и файлы <span +class="latt-1000">README </span>(на +разных языках). +<!--l. 279--><p class="indent" > Файл <a +href="../../../../doc.html" >doc.html</a> в корневой директории содержит много ссылок на полезную документацию. +Документация к отдельным программам (руководства, man, info) находится в директории <span +class="latt-1000">texmf/doc</span>. +Документация макропакетов и форматов находится в директории <span +class="latt-1000">texmf-dist/doc</span>. Для поиска +документации можно воспользоваться программой <span +class="lass-1000">texdoc</span>. +<!--l. 286--><p class="indent" > Документация к самому дистрибутиву <span class="TEX">T<span +class="E">E</span>X</span> Live находится в директории <span +class="latt-1000">texmf-doc </span>и доступна на +нескольких языках: + <ul class="itemize1"> + <li class="itemize">Английский: <a +href="../../../../texmf/doctexlive-en" >texmf/doctexlive-en</a> + </li> + <li class="itemize">Итальянский: <a +href="../../../../texmf/doc/texlive/texlive-it" >texmf/doc/texlive/texlive-it</a> + </li> + <li class="itemize">Упрощенный китайский: <a +href="../../../../texmf/doc/texlive-zh-cn" >texmf/doc/texlive-zh-cn</a> + </li> + <li class="itemize">Немецкий: <a +href="../../../../texmf/doc/texlive-de" >texmf/doc/texlive-de</a> + </li> + <li class="itemize">Польский: <a +href="../../../../texmf/doc/texlive-pl" >texmf/doc/texlive-pl</a> + </li> + <li class="itemize">Русский: <a +href="../../../../texmf/doc/texlive-ru" >texmf/doc/texlive-ru</a> + </li> + <li class="itemize">Сербский: <a +href="../../../../texmf/doc/texlive/texlive-sr" >texmf/doc/texlive/texlive-sr</a> + </li> + <li class="itemize">Французский: <a +href="../../../../texmf/doc/texlive-fr" >texmf/doc/texlive-fr</a> + </li> + <li class="itemize">Чешский и словацкий: <a +href="../../../../texmf/doc/texlive-cz" >texmf/doc/texlive-cz</a></li></ul> +<!--l. 300--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.3 </span> <a + id="x1-110002.3"></a>Описание директорий texmf</h4> +<!--l. 303--><p class="noindent" >В этом разделе описаны все переменные, задающие положение деревьев директорий texmf и их значения +по умолчанию. Команда <span +class="latt-1000">tlmgr</span><span +class="latt-1000"> conf </span>показывает текущие значения этих переменных, так что вы можете +определить, где эти директории находятся в вашей системе. +<!--l. 309--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span +class="latt-1000">TEXMFMAIN</span> </dt><dd +class="list"> + <!--l. 310--><p class="noindent" >Дерево, где находятся основные части системы: файлы конфигурации, скрипты и + документация. + </dd><dt class="list"> + <span +class="latt-1000">TEXMFDIST</span> </dt><dd +class="list"> + <!--l. 312--><p class="noindent" >Дерево с основным набором макропакетов, шрифтов и т.д. + + + </dd><dt class="list"> + <span +class="latt-1000">TEXMFLOCAL</span> </dt><dd +class="list"> + <!--l. 314--><p class="noindent" >Дерево, которое может быть использовано администраторами системы для дополнительных + пакетов, шрифтов и т.д. + </dd><dt class="list"> + <span +class="latt-1000">TEXMFHOME</span> </dt><dd +class="list"> + <!--l. 317--><p class="noindent" >Дерево, которое пользователи могут использовать для установки собственных пакетов, + шрифтов и т.д., или для обновлённых версий системных пакетов. Эта переменная указывает + на дерево в домашней директории, своей для каждого пользователя. + </dd><dt class="list"> + <span +class="latt-1000">TEXMFCONFIG</span> </dt><dd +class="list"> + <!--l. 321--><p class="noindent" >Это дерево используется утилитами <span class="obeylines-h"><span class="verb"><span +class="latt-1000">texconfig</span></span></span>, <span class="obeylines-h"><span class="verb"><span +class="latt-1000">updmap</span></span></span> и <span class="obeylines-h"><span class="verb"><span +class="latt-1000">fmtutil</span></span></span> для хранения + модифицированных файлов конфигурации (своих для каждого пользователя) + </dd><dt class="list"> + <span +class="latt-1000">TEXMFSYSCONFIG</span> </dt><dd +class="list"> + <!--l. 325--><p class="noindent" >Это дерево используется утилитами <span class="obeylines-h"><span class="verb"><span +class="latt-1000">texconfig-sys</span></span></span>, <span class="obeylines-h"><span class="verb"><span +class="latt-1000">updmap-sys</span></span></span> и <span class="obeylines-h"><span class="verb"><span +class="latt-1000">fmtutil-sys</span></span></span> для хранения + модифицированных файлов конфигурации, общих для всех пользователей. + </dd><dt class="list"> + <span +class="latt-1000">TEXMFVAR</span> </dt><dd +class="list"> + <!--l. 329--><p class="noindent" >Это дерево используется утилитами <span class="obeylines-h"><span class="verb"><span +class="latt-1000">texconfig</span></span></span>, <span class="obeylines-h"><span class="verb"><span +class="latt-1000">updmap</span></span></span> и <span class="obeylines-h"><span class="verb"><span +class="latt-1000">fmtutil</span></span></span> для хранения создаваемых + автоматически файлов: форматов, карт шрифтов. + </dd><dt class="list"> + <span +class="latt-1000">TEXMFCACHE</span> </dt><dd +class="list"> + <!--l. 332--><p class="noindent" >Это дерево используется программой Con<span class="TEX">T<span +class="E">E</span>X</span>t MkIV для хранения файлов, создаваемых + автоматически. + </dd><dt class="list"> + <span +class="latt-1000">TEXMFSYSVAR</span> </dt><dd +class="list"> + <!--l. 335--><p class="noindent" >Это дерево используется утилитами <span class="obeylines-h"><span class="verb"><span +class="latt-1000">texconfig-sys</span></span></span>, <span class="obeylines-h"><span class="verb"><span +class="latt-1000">updmap-sys</span></span></span>, <span class="obeylines-h"><span class="verb"><span +class="latt-1000">fmtutil-sys</span></span></span>, а также <span class="obeylines-h"><span class="verb"><span +class="latt-1000">tlmgr</span></span></span> + для хранения создаваемых автоматически файлов: форматов, карт шрифтов, — общих для + всех пользователей.</dd></dl> +<!--l. 342--><p class="noindent" >По умолчанию структура директорий выглядит так: + <dl class="description"><dt class="description"> +<span +class="labx-1000">корневая директория</span> </dt><dd +class="description">может содержать несколько версий <span class="TEX">T<span +class="E">E</span>X</span> Live: + <dl class="list2"><dt class="list"> + <span +class="latt-1000">2011</span> </dt><dd +class="list"> + <!--l. 347--><p class="noindent" >Предыдущая версия. + </dd><dt class="list"> + <span +class="latt-1000">2012</span> </dt><dd +class="list"> + <!--l. 348--><p class="noindent" >Текущая версия. + <dl class="list3"><dt class="list"> + <span +class="latt-1000">bin</span> </dt><dd +class="list"> + <!--l. 350--><p class="noindent" >  + <dl class="list4"><dt class="list"> + <span +class="latt-1000">i386-linux</span> </dt><dd +class="list"> + <!--l. 352--><p class="noindent" >Программы для GNU/Linux + </dd><dt class="list"> + <span +class="latt-1000">...</span> </dt><dd +class="list"> + <!--l. 353--><p class="noindent" > + </dd><dt class="list"> + <span +class="latt-1000">universal-darwin</span> </dt><dd +class="list"> + <!--l. 354--><p class="noindent" >Программы для Mac OS X + + + </dd><dt class="list"> + <span +class="latt-1000">win32</span> </dt><dd +class="list"> + <!--l. 355--><p class="noindent" >Программы для Windows</dd></dl> + </dd><dt class="list"> + <span +class="latt-1000">texmf</span><span +class="latt-1000"> </span><span +class="latt-1000"> </span><span +class="latt-1000"> </span><span +class="latt-1000"> </span><span +class="latt-1000"> </span><span +class="latt-1000"> </span><span +class="latt-1000"> </span> </dt><dd +class="list"> + <!--l. 357--><p class="noindent" ><span +class="latt-1000">TEXMFMAIN</span>. + </dd><dt class="list"> + <span +class="latt-1000">texmf-dist</span><span +class="latt-1000"> </span><span +class="latt-1000"> </span> </dt><dd +class="list"> + <!--l. 358--><p class="noindent" ><span +class="latt-1000">TEXMFDIST</span> + </dd><dt class="list"> + <span +class="latt-1000">texmf-var </span><span +class="latt-1000"> </span><span +class="latt-1000"> </span> </dt><dd +class="list"> + <!--l. 359--><p class="noindent" ><span +class="latt-1000">TEXMFSYSVAR</span> + </dd><dt class="list"> + <span +class="latt-1000">texmf-config</span> </dt><dd +class="list"> + <!--l. 360--><p class="noindent" ><span +class="latt-1000">TEXMFSYSCONFIG</span></dd></dl> + </dd><dt class="list"> + <span +class="latt-1000">texmf-local</span> </dt><dd +class="list"> + <!--l. 362--><p class="noindent" ><span +class="latt-1000">TEXMFLOCAL</span>, общая для всех версий <span class="TEX">T<span +class="E">E</span>X</span> Live.</dd></dl> + </dd><dt class="description"> +<span +class="labx-1000">домашняя директория пользователя</span> </dt><dd +class="description">(<span +class="latt-1000">$HOME </span>или <span +class="latt-1000">%USERPROFILE%</span>) + <dl class="list2"><dt class="list"> + <span +class="latt-1000">.texlive2011</span> </dt><dd +class="list"> + <!--l. 368--><p class="noindent" >Данные и конфигурационные файлы предыдущей версии. + </dd><dt class="list"> + <span +class="latt-1000">.texlive2012</span> </dt><dd +class="list"> + <!--l. 370--><p class="noindent" >Данные и конфигурационные файлы текущей версии. + <dl class="list3"><dt class="list"> + <span +class="latt-1000">texmf-var</span><span +class="latt-1000"> </span><span +class="latt-1000"> </span><span +class="latt-1000"> </span> </dt><dd +class="list"> + <!--l. 373--><p class="noindent" ><span +class="latt-1000">TEXMFVAR</span> + </dd><dt class="list"> + <span +class="latt-1000">texmf-config</span> </dt><dd +class="list"> + <!--l. 374--><p class="noindent" ><span +class="latt-1000">TEXMFCONFIG</span></dd></dl> + </dd><dt class="list"> + <span +class="latt-1000">texmf</span> </dt><dd +class="list"> + <!--l. 376--><p class="noindent" ><span +class="latt-1000">TEXMFHOME </span>Личные макропакеты и т.д.</dd></dl> + </dd></dl> +<!--l. 380--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.4 </span> <a + id="x1-120002.4"></a>Расширения <span class="TEX">T<span +class="E">E</span>X</span>а</h4> +<!--l. 383--><p class="noindent" >Кнутовский вариант <span class="TEX">T<span +class="E">E</span>X</span>а заморожен — за исключением редких исправлений багов, в него +не вносится никаких изменений. Он все ещё распространяется в <span class="TEX">T<span +class="E">E</span>X</span> Live как <span +class="lass-1000">tex </span>и будет +распространяться в обозримом будущем. В состав <span class="TEX">T<span +class="E">E</span>X</span> Live входит несколько расширений +<span class="TEX">T<span +class="E">E</span>X</span>а: +<!--l. 388--><p class="indent" > + <dl class="description"><dt class="description"> +<span +class="labx-1000">e-</span><span class="TEX"><span +class="labx-1000">T</span><span +class="E"><span +class="labx-1000">E</span></span><span +class="labx-1000">X</span></span> </dt><dd +class="description">добавляет набор новых примитивов (относящийся к макроподстановкам, чтению + символов, дополнительным возможностям отладки и многому другому) и расширения + <span class="TEX">T<span +class="E">E</span>X</span>--XE T для вёрстки справа налево и слева направо. В обычном режиме e-<span class="TEX">T<span +class="E">E</span>X</span> на 100% + совместим со стандартным<span class="TEX">T<span +class="E">E</span>X</span>ом. См. <a +href="../../../../texmf-dist/doc/etex/base/etex_man.pdf" >texmf-dist/doc/etex/base/etex_man.pdf</a>. + </dd><dt class="description"> +<span +class="labx-1000">pdf</span><span class="TEX"><span +class="labx-1000">T</span><span +class="E"><span +class="labx-1000">E</span></span><span +class="labx-1000">X</span></span> </dt><dd +class="description">включает в себя расширения e-<span class="TEX">T<span +class="E">E</span>X</span>а, добавляя поддержку формата PDF, помимо + стандартного DVI, а также много других новых возможностей. Эта программа используется + большинством форматов, например, <span +class="lass-1000">etex</span>, <span +class="lass-1000">latex</span>, <span +class="lass-1000">pdflatex</span>. Страница программы на сети: + + + <a +href="http://www.pdftex.org/" class="url" ><span +class="latt-1000">http://www.pdftex.org/</span></a>. + В руководстве пользователя <a +href="../../../../texmf-dist/doc/pdftex/manual/padftex-a.pdf" >texmf-dist/doc/pdftex/manual/padftex-a.pdf</a> и примерах + <a +href="../../../../texmf-dist/doc/pdftex/manual/samplepdf/samplepdf.tex" >texmf-dist/doc/pdftex/manual/samplepdf/samplepdf.tex</a> описаны возможности программы. + </dd><dt class="description"> +<span +class="labx-1000">Lua</span><span class="TEX"><span +class="labx-1000">T</span><span +class="E"><span +class="labx-1000">E</span></span><span +class="labx-1000">X</span></span> </dt><dd +class="description">предназначен заменить pdf<span class="TEX">T<span +class="E">E</span>X</span> в будущем во многом (хотя и не во всем) совместим + с ним. Он также заменит Aleph, см. ниже, хотя совместимости между этими проектами не + предполагается. Встроенный интерпретатор языка Lua (см. <a +href="http://www.lua.org/" class="url" ><span +class="latt-1000">http://www.lua.org/</span></a>) позволяет + элегантно решить многие сложные проблемы <span class="TEX">T<span +class="E">E</span>X</span>а. Когда эта программа запускается как + <span +class="latt-1000">texlua</span>, она работает как интерпретатор Lua, и в этом качестве используется в <span class="TEX">T<span +class="E">E</span>X</span> Live. + См. <a +href="http://www.luatex.org/" class="url" ><span +class="latt-1000">http://www.luatex.org/</span></a> и <a +href="../../../../texmf-dist/doc/luatex/luatexref-t.pdf" >texmf-dist/doc/luatex/luatexref-t.pdf</a>. + </dd><dt class="description"> +<span +class="labx-1000">Xe</span><span class="TEX"><span +class="labx-1000">T</span><span +class="E"><span +class="labx-1000">E</span></span><span +class="labx-1000">X</span></span> </dt><dd +class="description">добавляет поддержку Unicode и шрифтов в формате OpenType, сделанную через + стандартные библиотеки. См. <a +href="http://tug.org/xetex" class="url" ><span +class="latt-1000">http://tug.org/xetex</span></a>. + </dd><dt class="description"> +<span +class="labx-1000">Omega</span><span +class="labx-1000"> (Омега)</span> </dt><dd +class="description">основана на Unicode (система 16-битовых символов), что позволяет работать + одновременно почти со всеми письменностями мира. Она также поддерживает так + называемый «процесс трансляции Omega» (OTPs) для сложных преобразований + произвольного входного потока. Омега больше не включается в дистрибутив <span class="TEX">T<span +class="E">E</span>X</span> Live в + качестве самостоятельной программы; на диске есть только Aleph (см. ниже). + </dd><dt class="description"> +<span +class="labx-1000">Aleph</span> </dt><dd +class="description">объединяет Omega и e-<span class="TEX">T<span +class="E">E</span>X</span>. См. краткую документацию в <a +href="../../../../texmf-dist/doc/aleph/base" >texmf-dist/doc/aleph/base</a>. + </dd></dl> +<!--l. 437--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.5 </span> <a + id="x1-130002.5"></a>Другие интересные программы в дистрибутиве <span class="TEX">T<span +class="E">E</span>X</span> Live</h4> +<!--l. 439--><p class="noindent" >Вот несколько других важных программ в дистрибутиве <span class="TEX">T<span +class="E">E</span>X</span> Live: +<!--l. 441--><p class="indent" > + <dl class="list1"><dt class="list"> + <span +class="lass-1000">bibtex</span> </dt><dd +class="list"> + <!--l. 443--><p class="noindent" >поддержка библиографий. + </dd><dt class="list"> + <span +class="lass-1000">makeindex, xindy</span> </dt><dd +class="list"> + <!--l. 445--><p class="noindent" >поддержка алфавитных указателей. + </dd><dt class="list"> + <span +class="lass-1000">dvips</span> </dt><dd +class="list"> + <!--l. 447--><p class="noindent" >преобразование DVI в PostScript. + </dd><dt class="list"> + <span +class="lass-1000">xdvi</span> </dt><dd +class="list"> + <!--l. 449--><p class="noindent" >программа для просмотра DVI для X Window System. + </dd><dt class="list"> + <span +class="lass-1000">dvilj</span> </dt><dd +class="list"> + <!--l. 451--><p class="noindent" >драйвер для лазерных принтеров семейства HP LaserJet. + </dd><dt class="list"> + <span +class="lass-1000">dviconcat, dviselect</span> </dt><dd +class="list"> + <!--l. 454--><p class="noindent" >перестановка страниц в файлах DVI. + </dd><dt class="list"> + <span +class="lass-1000">dvipdfmx</span> </dt><dd +class="list"> + <!--l. 456--><p class="noindent" >преобразование DVI в PDF, альтернатива pdf<span class="TEX">T<span +class="E">E</span>X</span>у, упомянутому выше. + + + </dd><dt class="list"> + <span +class="lass-1000">psselect, psnup, </span><span +class="lass-1000">…</span> </dt><dd +class="list"> + <!--l. 459--><p class="noindent" >утилиты для работы с файлами в формате PostScript. + </dd><dt class="list"> + <span +class="lass-1000">pdfjam, pdfjoin, </span><span +class="lass-1000">…</span> </dt><dd +class="list"> + <!--l. 462--><p class="noindent" >утилиты для работы с файлами в формате PDF. + </dd><dt class="list"> + <span +class="lass-1000">texexec, texmfstart</span> </dt><dd +class="list"> + <!--l. 465--><p class="noindent" >Программы для Con<span class="TEX">T<span +class="E">E</span>X</span>tа и обработки PDF. + </dd><dt class="list"> + <span +class="lass-1000">tex4ht</span> </dt><dd +class="list"> + <!--l. 467--><p class="noindent" >конвертер из <span class="TEX">T<span +class="E">E</span>X</span>а в HTML, XML и многие другие форматы. + </dd></dl> +<!--l. 472--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.6 </span> <a + id="x1-140002.6"></a>Шрифты в <span class="TEX">T<span +class="E">E</span>X</span> Live</h4> +<!--l. 475--><p class="noindent" >В <span class="TEX">T<span +class="E">E</span>X</span> Live включено много векторных шрифтов высокого качества. См. <a +href="http://tug.org/fonts" class="url" ><span +class="latt-1000">http://tug.org/fonts</span></a> и +<a +href="../../../../texmf-dist/doc/fonts/free-math-fonts-survey" >texmf-dist/doc/fonts/free-math-fonts-survey</a>. +<!--l. 479--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">3 </span> <a + id="x1-150003"></a>Установка</h3> +<!--l. 482--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">3.1 </span> <a + id="x1-160003.1"></a>Запуск программы установки</h4> +<!--l. 485--><p class="noindent" >Для начала вам потребуется DVD <span class="TEX">T<span +class="E">E</span>X</span> Collection или программа установки <span class="TEX">T<span +class="E">E</span>X</span> Live с +Интернета. Найдите скрипт установки: <span +class="latt-1000">install-tl </span>для UNIX, <span +class="latt-1000">install-tl.bat </span>для Windows. Более +подробно различные способы приобретения и установки дистрибутива рассмотрены на странице +<a +href="http://tug.org/texlive/acquire.html" class="url" ><span +class="latt-1000">http://tug.org/texlive/acquire.html</span></a>. +<!--l. 491--><p class="indent" > + <dl class="description"><dt class="description"> +<span +class="labx-1000">Установка с сети:</span> </dt><dd +class="description">скачайте программу из архива CTAN, директория <span +class="latt-1000">systems/texlive/tlnet</span>; + адрес + <a +href="http://mirror.ctan.org/systems/texlive/tlnet" class="url" ><span +class="latt-1000">http://mirror.ctan.org/systems/texlive/tlnet</span></a> автоматически приводит к ближайшему + зеркалу архива. Вы можете скачать либо <span +class="latt-1000">install-tl.zip </span>(установка под UNIX и Windows), + либо файл существенно меньшего размера <span +class="latt-1000">install-unx.tar.gz </span>(только для UNIX). После + распаковки файлы <span +class="latt-1000">install-tl </span>и <span +class="latt-1000">install-tl.bat </span>окажутся в директории <span +class="latt-1000">install-tl</span>. + </dd><dt class="description"> +<span class="TEX"><span +class="labx-1000">T</span><span +class="E"><span +class="labx-1000">E</span></span><span +class="labx-1000">X</span></span> <span +class="labx-1000">Collection DVD:</span> </dt><dd +class="description">Перейдите в поддиректорию <span +class="latt-1000">texlive</span>. Под Windows программа + установки запускается автоматически, когда вы вставляете DVD в компьютер. Вы + можете получить DVD, вступив в группу пользователей <span class="TEX">T<span +class="E">E</span>X</span>а (мы настоятельно + рекомендуем это сделать, <a +href="http://tug.org/usergroups.html" class="url" ><span +class="latt-1000">http://tug.org/usergroups.html</span></a>), либо купив его отдельно + (<a +href="http://tug.org/store" class="url" ><span +class="latt-1000">http://tug.org/store</span></a>), либо сделав его самостоятельно, скачав ISO образ диска. После + установки системы вы можете получать обновления из Интернета, см. раздел <a +href="#x1-340003.4.3">3.4.3<!--tex4ht:ref: sec:dvd-install-net-updates --></a>. + </dd></dl> +<!--l. 515--><p class="indent" > В обоих случаях программа установки системы одна и та же. Главное различие состоит в том, что +при установке с сети ставятся последние версии пакетов — в отличие от установки с DVD или +ISO. +<!--l. 519--><p class="indent" > В следующих разделах установка описывается более подробно. + + +<!--l. 521--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.1 </span> <a + id="x1-170003.1.1"></a>UNIX</h5> +<!--l. 523--><p class="noindent" >Ниже <span +class="latt-1000">> </span>указывает системный промпт; то, что вводит пользователь, показано <span +class="latt-1000">жирным шрифтом</span>. Проще +всего начать установку так: <div class="alltt"> +<!--l. 526--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">></span><span +class="latt-1000"> cd</span><span +class="latt-1000"> /path/to/installer</span> +<br /><span +class="latt-1000">></span><span +class="latt-1000"> perl</span><span +class="latt-1000"> install-tl</span> +</div> +</div> (Вместо этого вы можете запустить <span +class="latt-1000">perl /path/to/installer/install-tl</span>, или <span +class="latt-1000">./install-tl</span>, если у +этого скрипта есть права на выполнение, и т.д. Мы не будем указывать все эти варианты.) +Возможно, вам придется увеличить размер окна терминала, чтобы в него поместился весь диалог +(Рисунок <a +href="#x1-19061r1">1<!--tex4ht:ref: fig:text-main --></a>). +<!--l. 538--><p class="indent" > Для установки в экспертном графическом режиме (рисунок <a +href="#x1-19062r2">2<!--tex4ht:ref: fig:gui-main --></a>) вам потребуется модуль <span +class="latt-1000">Perl/TK</span>, +собранный с поддержкой XFT (он обычно есть в системах GNU/Linux, но может отсутствовать на +других системах). Если он у вас установлен, используйте <div class="alltt"> +<!--l. 543--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">></span><span +class="latt-1000"> perl</span><span +class="latt-1000"> install-tl</span><span +class="latt-1000"> -gui</span> +</div> +</div> +<!--l. 547--><p class="indent" > Полный список возможных опций дает команда <div class="alltt"> +<!--l. 548--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">></span><span +class="latt-1000"> perl</span><span +class="latt-1000"> install-tl</span><span +class="latt-1000"> -help</span> +</div> +</div> +<!--l. 552--><p class="indent" > <span +class="labx-1000">Предупреждение о правах доступа в UNIX: </span>система установки <span class="TEX">T<span +class="E">E</span>X</span> Live использует текущее +значение параметра <span +class="latt-1000">umask</span>. Поэтому если вы хотите, чтобы системой могли пользоваться не только вы, +но и другие пользователи, вы должны установить, например, <span +class="latt-1000">umask 022</span>. Более подробно <span +class="latt-1000">umask</span> +обсуждается в документации к вашей системе. +<!--l. 559--><p class="indent" > <span +class="labx-1000">Замечание об установке под Cygwin: </span>в отличие от других систем типа UNIX, Cygwin в +стандартной конфигурации не включает всех необходимых для установки <span class="TEX">T<span +class="E">E</span>X</span> Live программ. См. +раздел <a +href="#x1-200003.1.4">3.1.4<!--tex4ht:ref: sec:cygwin --></a>. +<!--l. 564--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.2 </span> <a + id="x1-180003.1.2"></a>MacOSX</h5> +<!--l. 566--><p class="noindent" >Как отмечается в разделе <a +href="#x1-90002.1">2.1<!--tex4ht:ref: sec:tl-coll-dists --></a>, для Mac OS X существует специальный дистрибутив, Mac<span class="TEX">T<span +class="E">E</span>X</span> +(<a +href="http://tug.org/mactex" class="url" ><span +class="latt-1000">http://tug.org/mactex</span></a>). Мы рекомендуем пользоваться его системой установки, а не общим скриптом +<span class="TEX">T<span +class="E">E</span>X</span> Live, поскольку у него есть дополнительные возможности, специфические для Макинтошей, +например, удобное переключение между различными дистрибутивами <span class="TEX">T<span +class="E">E</span>X</span>а для Mac OS X (Mac<span class="TEX">T<span +class="E">E</span>X</span>, +Fink, MacPorts, …). +<!--l. 574--><p class="indent" > Mac<span class="TEX">T<span +class="E">E</span>X</span> основан на <span class="TEX">T<span +class="E">E</span>X</span> Live, и основные деревья директорий у этих дистрибутивов совпадают. +Mac<span class="TEX">T<span +class="E">E</span>X</span> добавляет несколько поддиректорий с программами и документацией, предназначенными для +Макинтошей. +<!--l. 578--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.3 </span> <a + id="x1-190003.1.3"></a>Windows</h5> +<!--l. 580--><p class="noindent" >Если вы устанавливаете систему с сети, или если программа установки с DVD не стартовала +автоматически, дважды щёлкните по <span +class="latt-1000">install-tl.bat</span>. Если вам нужна более тонкая +настройка, например, если вы хотите выбрать определенные коллекции пакетов, запустите +<span +class="latt-1000">install-tl-advanced.bat</span>. +<!--l. 586--><p class="indent" > Можно также запустить программу из командной строки. Ниже <span +class="latt-1000">> </span>означает системный промпт; то, +что вводит пользователь, указано <span +class="latt-1000">жирным шрифтом</span>. Если вы находитесь в директории программы +установки, напечатайте: <div class="alltt"> + + +<!--l. 590--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">></span><span +class="latt-1000"> install-tl</span> +</div> +</div> +<!--l. 594--><p class="indent" > Программу можно вызвать и из другой директории, например, <div class="alltt"> +<!--l. 595--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">></span><span +class="latt-1000"> D:\texlive\install-tl</span> +</div> +</div> (предполагается, что в <span +class="latt-1000">D: </span>находится DVD <span class="TEX">T<span +class="E">E</span>X</span> Collection). На рисунке <a +href="#x1-19063r3">3<!--tex4ht:ref: fig:wizard-w32 --></a> показан специальный +проводник установки, который по умолчанию запускается в Windows. +<!--l. 602--><p class="indent" > Для установки в текстовом режиме используйте <div class="alltt"> +<!--l. 603--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">></span><span +class="latt-1000"> install-tl</span><span +class="latt-1000"> -no-gui</span> +</div> +</div> +<!--l. 608--><p class="indent" > Все опции программы можно получить при помощи команды <div class="alltt"> +<!--l. 609--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">></span><span +class="latt-1000"> install-tl</span><span +class="latt-1000"> -help</span> +</div> +</div> +<!--l. 613--><p class="indent" > <hr class="figure"><div class="figure" +> + + +<a + id="x1-19061r1"></a> + + +<div class="fancyvrb" id="fancyvrb1"><a + id="x1-19002r1"></a><span +class="latt-0800"> </span><span +class="latt-0800"> Installing</span><span +class="latt-0800"> TeX</span><span +class="latt-0800"> Live</span><span +class="latt-0800"> 2012</span><span +class="latt-0800"> from:</span><span +class="latt-0800"> ...</span><br class="fancyvrb" /><a + id="x1-19004r2"></a><span +class="latt-0800"> </span><span +class="latt-0800"> Platform:</span><span +class="latt-0800"> i386-linux</span><span +class="latt-0800"> =></span><span +class="latt-0800"> ’Intel</span><span +class="latt-0800"> x86</span><span +class="latt-0800"> with</span><span +class="latt-0800"> GNU/Linux’</span><br class="fancyvrb" /><a + id="x1-19006r3"></a><span +class="latt-0800"> </span><span +class="latt-0800"> Distribution:</span><span +class="latt-0800"> inst</span><span +class="latt-0800"> (compressed)</span> +<br class="fancyvrb" /><a + id="x1-19008r4"></a><span +class="latt-0800"> </span><span +class="latt-0800"> ...</span><br class="fancyvrb" /><a + id="x1-19010r5"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> Detected</span><span +class="latt-0800"> platform:</span><span +class="latt-0800"> Intel</span><span +class="latt-0800"> x86</span><span +class="latt-0800"> with</span><span +class="latt-0800"> GNU/Linux</span><br class="fancyvrb" /><a + id="x1-19012r6"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><br class="fancyvrb" /><a + id="x1-19014r7"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> <B></span><span +class="latt-0800"> platforms:</span><span +class="latt-0800"> 1</span><span +class="latt-0800"> out</span><span +class="latt-0800"> of</span><span +class="latt-0800"> 19</span><br class="fancyvrb" /><a + id="x1-19016r8"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><br class="fancyvrb" /><a + id="x1-19018r9"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> <S></span><span +class="latt-0800"> Installation</span><span +class="latt-0800"> scheme</span><span +class="latt-0800"> (scheme-full)</span> +<br class="fancyvrb" /><a + id="x1-19020r10"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> 84</span><span +class="latt-0800"> collections</span><span +class="latt-0800"> out</span><span +class="latt-0800"> of</span><span +class="latt-0800"> 85,</span><span +class="latt-0800"> disk</span><span +class="latt-0800"> space</span><span +class="latt-0800"> required:</span><span +class="latt-0800"> 2600</span><span +class="latt-0800"> MB</span><br class="fancyvrb" /><a + id="x1-19022r11"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><br class="fancyvrb" /><a + id="x1-19024r12"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> Customizing</span><span +class="latt-0800"> installation</span><span +class="latt-0800"> scheme:</span> +<br class="fancyvrb" /><a + id="x1-19026r13"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> <C></span><span +class="latt-0800"> standard</span><span +class="latt-0800"> collections</span><br class="fancyvrb" /><a + id="x1-19028r14"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> <L></span><span +class="latt-0800"> language</span><span +class="latt-0800"> collections</span><br class="fancyvrb" /><a + id="x1-19030r15"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><br class="fancyvrb" /><a + id="x1-19032r16"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> <D></span><span +class="latt-0800"> directories:</span><br class="fancyvrb" /><a + id="x1-19034r17"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> TEXDIR</span><span +class="latt-0800"> (the</span><span +class="latt-0800"> main</span><span +class="latt-0800"> TeX</span><span +class="latt-0800"> directory):</span> +<br class="fancyvrb" /><a + id="x1-19036r18"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> /usr/local/texlive/2012</span><br class="fancyvrb" /><a + id="x1-19038r19"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> ...</span><br class="fancyvrb" /><a + id="x1-19040r20"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><br class="fancyvrb" /><a + id="x1-19042r21"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> <O></span><span +class="latt-0800"> options:</span><br class="fancyvrb" /><a + id="x1-19044r22"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> [</span><span +class="latt-0800"> ]</span><span +class="latt-0800"> use</span><span +class="latt-0800"> letter</span><span +class="latt-0800"> size</span><span +class="latt-0800"> instead</span><span +class="latt-0800"> of</span><span +class="latt-0800"> A4</span><span +class="latt-0800"> by</span><span +class="latt-0800"> default</span><br class="fancyvrb" /><a + id="x1-19046r23"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> ...</span><br class="fancyvrb" /><a + id="x1-19048r24"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span> +<br class="fancyvrb" /><a + id="x1-19050r25"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> <V></span><span +class="latt-0800"> set</span><span +class="latt-0800"> up</span><span +class="latt-0800"> for</span><span +class="latt-0800"> portable</span><span +class="latt-0800"> installation</span><br class="fancyvrb" /><a + id="x1-19052r26"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><br class="fancyvrb" /><a + id="x1-19054r27"></a><span +class="latt-0800"> </span><span +class="latt-0800"> Actions:</span><br class="fancyvrb" /><a + id="x1-19056r28"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> <I></span><span +class="latt-0800"> start</span><span +class="latt-0800"> installation</span><span +class="latt-0800"> to</span><span +class="latt-0800"> hard</span><span +class="latt-0800"> disk</span><br class="fancyvrb" /><a + id="x1-19058r29"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> <H></span><span +class="latt-0800"> help</span><br class="fancyvrb" /><a + id="x1-19060r30"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> <Q></span><span +class="latt-0800"> quit</span></div> +<br /> <div class="caption" +><span class="id">Рис. 1: </span><span +class="content">Главное меню программы установки в текстовом режиме (GNU/Linux)</span></div><!--tex4ht:label?: x1-19061r1 --> + + +<!--l. 648--><p class="indent" > </div><hr class="endfigure"> +<!--l. 650--><p class="indent" > <hr class="figure"><div class="figure" +> + + +<a + id="x1-19062r2"></a> + + + +<!--l. 651--><p class="noindent" ><img +src="../texlive-common/install-lnx-main.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Рис. 2: </span><span +class="content">Главное меню программы установки в экспертном графическом режиме (GNU/Linux)</span></div><!--tex4ht:label?: x1-19062r2 --> + + +<!--l. 654--><p class="indent" > </div><hr class="endfigure"> +<!--l. 656--><p class="indent" > <hr class="figure"><div class="figure" +> + + +<a + id="x1-19063r3"></a> + + + +<!--l. 657--><p class="noindent" ><img +src="../texlive-common/wizard-w32.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Рис. 3: </span><span +class="content">Главное меню программы установки в упрощенном графическом режиме (Windows)</span></div><!--tex4ht:label?: x1-19063r3 --> + + +<!--l. 660--><p class="indent" > </div><hr class="endfigure"> +<!--l. 662--><p class="indent" > <a id="cygwin"></a> + <h5 class="subsubsectionHead"><span class="titlemark">3.1.4 </span> <a + id="x1-200003.1.4"></a>Cygwin</h5> +<!--l. 666--><p class="noindent" >Система установки <span class="TEX">T<span +class="E">E</span>X</span> Live работает только под Cygwin 1.7. Перед началом установки <span class="TEX">T<span +class="E">E</span>X</span> +Live, установите при помощи программы <span +class="latt-1000">setup.exe </span>из комплекта Cygwin пакеты <span +class="latt-1000">perl </span>и +<span +class="latt-1000">wget</span>, если их нет в вашей системе. Мы рекомендуем также следующие дополнительные +пакеты: + <ul class="itemize1"> + <li class="itemize"><span +class="latt-1000">fontconfig </span>[нужен для Xe<span class="TEX">T<span +class="E">E</span>X</span>] + </li> + <li class="itemize"><span +class="latt-1000">ghostscript </span>[нужен для разных программ] + </li> + <li class="itemize"><span +class="latt-1000">libXaw7 </span>[нужен для xdvi] + </li> + <li class="itemize"><span +class="latt-1000">ncurses </span>[предоставляет команду «clear», которая нужна при установке]</li></ul> +<!--l. 681--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.5 </span> <a + id="x1-210003.1.5"></a>Установка в текстовом режиме</h5> +<!--l. 683--><p class="noindent" >На рисунке <a +href="#x1-19061r1">1<!--tex4ht:ref: fig:text-main --></a> показано основное меню программы установки в текстовом режиме для UNIX. Текстовый +режим является режимом по умолчанию для UNIX. +<!--l. 687--><p class="indent" > Интерфейс программы довольно примитивен: поддержки курсора в нем нет. Например, +нельзя передвигаться по полям при помощи клавиши «Tab». Вы просто печатаете что-то +(регистр учитывается!) и нажимаете клавишу «Enter», после чего перерисовывается весь +экран. +<!--l. 692--><p class="indent" > Этот интерфейс примитивен не случайно: он должен работать на как можно большем количестве +платформ, включая такие, где есть только усеченный вариант программы Perl. +<!--l. 696--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.6 </span> <a + id="x1-220003.1.6"></a>Установка в экспертном графическом режиме</h5> +<!--l. 698--><p class="noindent" >На рисунке <a +href="#x1-19062r2">2<!--tex4ht:ref: fig:gui-main --></a> изображено меню программы установки в графическом режиме под GNU/Linux. Основное +различие между этим рисунком и рисунком <a +href="#x1-19061r1">1<!--tex4ht:ref: fig:text-main --></a> в том, что в первом используются кнопки и +меню. +<!--l. 703--><p class="indent" > Этот вариант может быть выбран командой <div class="alltt"> +<!--l. 704--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">></span><span +class="latt-1000"> install-tl</span><span +class="latt-1000"> -gui=perltk</span> +</div> +</div> +<!--l. 708--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.7 </span> <a + id="x1-230003.1.7"></a>Установка в упрощенном графическом режиме</h5> +<!--l. 710--><p class="noindent" >Под Windows установка по умолчанию работает в самом простом режиме, который мы только могли +придумать, напоминающий интерфейс «Проводника установки». Он устанавливает все и +(почти) не задает никаких вопросов. Если вы хотите более тонкую настройку, вызовите другой +режим. +<!--l. 716--><p class="indent" > Этот режим может быть выбран командой <div class="alltt"> +<!--l. 717--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">></span><span +class="latt-1000"> install-tl</span><span +class="latt-1000"> -gui=wizard</span> +</div> +</div> + + +<!--l. 722--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">3.2 </span> <a + id="x1-240003.2"></a>Работа программы установки</h4> +<!--l. 725--><p class="noindent" >Меню программы установки должно быть понятно без объяснений. Мы все же приведем несколько +кратких замечаний по поводу различных опций и подменю. +<!--l. 729--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.2.1 </span> <a + id="x1-250003.2.1"></a>Меню выбора платформы (только для UNIX)</h5> +<!--l. 733--><p class="noindent" ><hr class="figure"><div class="figure" +> + + +<a + id="x1-25043r4"></a> + + +<div class="fancyvrb" id="fancyvrb2"><a + id="x1-25002r1"></a><span +class="latt-0800"> </span><span +class="latt-0800"> Available</span><span +class="latt-0800"> platforms:</span><br class="fancyvrb" /><a + id="x1-25004r2"></a><span +class="latt-0800"> </span><span +class="latt-0800"> ===============================================================================</span> +<br class="fancyvrb" /><a + id="x1-25006r3"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> a</span><span +class="latt-0800"> [</span><span +class="latt-0800"> ]</span><span +class="latt-0800"> alpha-linux</span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> DEC</span><span +class="latt-0800"> Alpha</span><span +class="latt-0800"> with</span><span +class="latt-0800"> GNU/Linux</span><br class="fancyvrb" /><a + id="x1-25008r4"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> b</span><span +class="latt-0800"> [</span><span +class="latt-0800"> ]</span><span +class="latt-0800"> amd64-freebsd</span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> x86_64</span><span +class="latt-0800"> with</span><span +class="latt-0800"> FreeBSD</span> +<br class="fancyvrb" /><a + id="x1-25010r5"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> c</span><span +class="latt-0800"> [</span><span +class="latt-0800"> ]</span><span +class="latt-0800"> amd64-kfreebsd</span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> x86_64</span><span +class="latt-0800"> with</span><span +class="latt-0800"> GNU/FreeBSD</span><br class="fancyvrb" /><a + id="x1-25012r6"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> d</span><span +class="latt-0800"> [</span><span +class="latt-0800"> ]</span><span +class="latt-0800"> i386-cygwin</span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> Intel</span><span +class="latt-0800"> x86</span><span +class="latt-0800"> with</span><span +class="latt-0800"> Cygwin</span> +<br class="fancyvrb" /><a + id="x1-25014r7"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> e</span><span +class="latt-0800"> [</span><span +class="latt-0800"> ]</span><span +class="latt-0800"> i386-freebsd</span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> Intel</span><span +class="latt-0800"> x86</span><span +class="latt-0800"> with</span><span +class="latt-0800"> FreeBSD</span><br class="fancyvrb" /><a + id="x1-25016r8"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> f</span><span +class="latt-0800"> [</span><span +class="latt-0800"> ]</span><span +class="latt-0800"> i386-kfreebsd</span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> Intel</span><span +class="latt-0800"> x86</span><span +class="latt-0800"> with</span><span +class="latt-0800"> GNU/FreeBSD</span> +<br class="fancyvrb" /><a + id="x1-25018r9"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> g</span><span +class="latt-0800"> [X]</span><span +class="latt-0800"> i386-linux</span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> Intel</span><span +class="latt-0800"> x86</span><span +class="latt-0800"> with</span><span +class="latt-0800"> GNU/Linux</span><br class="fancyvrb" /><a + id="x1-25020r10"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> h</span><span +class="latt-0800"> [</span><span +class="latt-0800"> ]</span><span +class="latt-0800"> i386-netbsd</span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> Intel</span><span +class="latt-0800"> x86</span><span +class="latt-0800"> with</span><span +class="latt-0800"> NetBSD</span> +<br class="fancyvrb" /><a + id="x1-25022r11"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> i</span><span +class="latt-0800"> [</span><span +class="latt-0800"> ]</span><span +class="latt-0800"> i386-solaris</span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> Intel</span><span +class="latt-0800"> x86</span><span +class="latt-0800"> with</span><span +class="latt-0800"> Solaris</span><br class="fancyvrb" /><a + id="x1-25024r12"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> j</span><span +class="latt-0800"> [</span><span +class="latt-0800"> ]</span><span +class="latt-0800"> mips-irix</span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> SGI</span><span +class="latt-0800"> IRIX</span><br class="fancyvrb" /><a + id="x1-25026r13"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> k</span><span +class="latt-0800"> [</span><span +class="latt-0800"> ]</span><span +class="latt-0800"> powerpc-aix</span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> PowerPC</span><span +class="latt-0800"> with</span><span +class="latt-0800"> AIX</span> +<br class="fancyvrb" /><a + id="x1-25028r14"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> l</span><span +class="latt-0800"> [</span><span +class="latt-0800"> ]</span><span +class="latt-0800"> powerpc-linux</span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> PowerPC</span><span +class="latt-0800"> with</span><span +class="latt-0800"> GNU/Linux</span><br class="fancyvrb" /><a + id="x1-25030r15"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> m</span><span +class="latt-0800"> [</span><span +class="latt-0800"> ]</span><span +class="latt-0800"> sparc-linux</span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> Sparc</span><span +class="latt-0800"> with</span><span +class="latt-0800"> GNU/Linux</span> +<br class="fancyvrb" /><a + id="x1-25032r16"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> o</span><span +class="latt-0800"> [</span><span +class="latt-0800"> ]</span><span +class="latt-0800"> sparc-solaris</span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> Sparc</span><span +class="latt-0800"> with</span><span +class="latt-0800"> Solaris</span><br class="fancyvrb" /><a + id="x1-25034r17"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> p</span><span +class="latt-0800"> [</span><span +class="latt-0800"> ]</span><span +class="latt-0800"> universal-darwin</span><span +class="latt-0800"> universal</span><span +class="latt-0800"> binaries</span><span +class="latt-0800"> for</span><span +class="latt-0800"> MacOSX/Darwin</span> +<br class="fancyvrb" /><a + id="x1-25036r18"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> s</span><span +class="latt-0800"> [</span><span +class="latt-0800"> ]</span><span +class="latt-0800"> win32</span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> Windows</span><br class="fancyvrb" /><a + id="x1-25038r19"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> t</span><span +class="latt-0800"> [</span><span +class="latt-0800"> ]</span><span +class="latt-0800"> x86_64-darwin</span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> x86_64</span><span +class="latt-0800"> with</span><span +class="latt-0800"> MacOSX/Darwin</span> +<br class="fancyvrb" /><a + id="x1-25040r20"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> u</span><span +class="latt-0800"> [</span><span +class="latt-0800"> ]</span><span +class="latt-0800"> x86_64-linux</span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> x86_64</span><span +class="latt-0800"> with</span><span +class="latt-0800"> GNU/Linux</span><br class="fancyvrb" /><a + id="x1-25042r21"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> v</span><span +class="latt-0800"> [</span><span +class="latt-0800"> ]</span><span +class="latt-0800"> x86_64-solaris</span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> x86_64</span><span +class="latt-0800"> with</span><span +class="latt-0800"> Solaris</span></div> +<br /> <div class="caption" +><span class="id">Рис. 4: </span><span +class="content">Меню выбора платформы</span></div><!--tex4ht:label?: x1-25043r4 --> + + +<!--l. 758--><p class="noindent" ></div><hr class="endfigure"> +<!--l. 760--><p class="indent" > На рисунке <a +href="#x1-25043r4">4<!--tex4ht:ref: fig:bin-text --></a> изображено меню выбора платформы. По умолчанию устанавливаются только +программы для вашей текущей архитектуры. В этом меню вы можете выбрать также установку +программ для других платформ. Это может быть полезно, если вы используете одно и то же дерево +<span class="TEX">T<span +class="E">E</span>X</span>а для разных машин и раздаёте его по локальной сети, либо если на вашей машине установлено +несколько операционных систем. + <h5 class="subsubsectionHead"><span class="titlemark">3.2.2 </span> <a + id="x1-260003.2.2"></a>Выбор основных компонентов</h5> +<!--l. 771--><p class="noindent" ><hr class="figure"><div class="figure" +> + + +<a + id="x1-26023r5"></a> + + +<div class="fancyvrb" id="fancyvrb3"><a + id="x1-26002r1"></a><span +class="latt-0800"> </span><span +class="latt-0800"> Select</span><span +class="latt-0800"> scheme:</span><br class="fancyvrb" /><a + id="x1-26004r2"></a><span +class="latt-0800"> </span><span +class="latt-0800"> ===============================================================================</span> +<br class="fancyvrb" /><a + id="x1-26006r3"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> a</span><span +class="latt-0800"> [</span><span +class="latt-0800"> ]</span><span +class="latt-0800"> basic</span><span +class="latt-0800"> scheme</span><span +class="latt-0800"> (plain</span><span +class="latt-0800"> and</span><span +class="latt-0800"> LaTeX)</span><br class="fancyvrb" /><a + id="x1-26008r4"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> b</span><span +class="latt-0800"> [</span><span +class="latt-0800"> ]</span><span +class="latt-0800"> ConTeXt</span><span +class="latt-0800"> scheme</span><br class="fancyvrb" /><a + id="x1-26010r5"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> c</span><span +class="latt-0800"> [X]</span><span +class="latt-0800"> full</span><span +class="latt-0800"> scheme</span><span +class="latt-0800"> (everything)</span><br class="fancyvrb" /><a + id="x1-26012r6"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> d</span><span +class="latt-0800"> [</span><span +class="latt-0800"> ]</span><span +class="latt-0800"> GUST</span><span +class="latt-0800"> TeX</span><span +class="latt-0800"> Live</span><span +class="latt-0800"> scheme</span> +<br class="fancyvrb" /><a + id="x1-26014r7"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> e</span><span +class="latt-0800"> [</span><span +class="latt-0800"> ]</span><span +class="latt-0800"> medium</span><span +class="latt-0800"> scheme</span><span +class="latt-0800"> (plain,</span><span +class="latt-0800"> latex,</span><span +class="latt-0800"> recommended</span><span +class="latt-0800"> packages,</span><span +class="latt-0800"> some</span><span +class="latt-0800"> languages)</span><br class="fancyvrb" /><a + id="x1-26016r8"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> f</span><span +class="latt-0800"> [</span><span +class="latt-0800"> ]</span><span +class="latt-0800"> minimal</span><span +class="latt-0800"> scheme</span><span +class="latt-0800"> (plain</span><span +class="latt-0800"> only)</span> +<br class="fancyvrb" /><a + id="x1-26018r9"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> g</span><span +class="latt-0800"> [</span><span +class="latt-0800"> ]</span><span +class="latt-0800"> teTeX</span><span +class="latt-0800"> scheme</span><span +class="latt-0800"> (more</span><span +class="latt-0800"> than</span><span +class="latt-0800"> medium,</span><span +class="latt-0800"> but</span><span +class="latt-0800"> nowhere</span><span +class="latt-0800"> near</span><span +class="latt-0800"> full)</span><br class="fancyvrb" /><a + id="x1-26020r10"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> h</span><span +class="latt-0800"> [</span><span +class="latt-0800"> ]</span><span +class="latt-0800"> XML</span><span +class="latt-0800"> scheme</span><br class="fancyvrb" /><a + id="x1-26022r11"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> i</span><span +class="latt-0800"> [</span><span +class="latt-0800"> ]</span><span +class="latt-0800"> custom</span><span +class="latt-0800"> selection</span><span +class="latt-0800"> of</span><span +class="latt-0800"> collections</span></div> +<br /> <div class="caption" +><span class="id">Рис. 5: </span><span +class="content">Выбор основных компонентов</span></div><!--tex4ht:label?: x1-26023r5 --> + + +<!--l. 786--><p class="noindent" ></div><hr class="endfigure"> +<!--l. 789--><p class="indent" > На рисунке <a +href="#x1-26023r5">5<!--tex4ht:ref: fig:scheme-text --></a> показано меню выбора основных компонентов (схем) <span class="TEX">T<span +class="E">E</span>X</span> Live. В этом меню вы +можете выбрать «схему», т.е. набор коллекций пакетов. По умолчанию используется схема <span +class="latt-1000">full</span>, т.е. все +пакеты <span class="TEX">T<span +class="E">E</span>X</span> Live, но вы можете выбрать схему <span +class="latt-1000">basic </span>для небольшой системы, схему <span +class="latt-1000">minimal </span>для +тестирования или схемы <span +class="latt-1000">medium </span>или <span +class="latt-1000">teTeX</span>. Есть также ряд специальных схем, в том числе и +предназначенных для различных стран. +<!--l. 798--><p class="indent" > <hr class="figure"><div class="figure" +> + + +<a + id="x1-26024r6"></a> + + + +<!--l. 799--><p class="noindent" ><img +src="../texlive-common/stdcoll.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Рис. 6: </span><span +class="content">Меню коллекций</span></div><!--tex4ht:label?: x1-26024r6 --> + + +<!--l. 801--><p class="indent" > </div><hr class="endfigure"> +<!--l. 803--><p class="indent" > Вы можете уточнить ваш выбор при помощи меню «коллекций» (рисунок <a +href="#x1-26024r6">6<!--tex4ht:ref: fig:collections-gui --></a>, для разнообразия +сделанный в графическом режиме). +<!--l. 807--><p class="indent" > Коллекции представляют собой следующий после схем уровень иерархии <span class="TEX">T<span +class="E">E</span>X</span> Live. Грубо говоря, +схемы состоят из коллекций, коллекции состоят из пакетов, а пакеты (нижний уровень иерархии <span class="TEX">T<span +class="E">E</span>X</span> +Live) содержат макросы, шрифты и т.д. +<!--l. 812--><p class="indent" > Если вы хотите более тонкой настройки, чем возможна в меню коллекций, вы можете использовать +программу <span +class="lass-1000">tlmgr </span>после установки (см. раздел <a +href="#x1-450006">6<!--tex4ht:ref: sec:tlmgr --></a>). Эта программа позволяет устанавливать или удалять +отдельные пакеты. + <h5 class="subsubsectionHead"><span class="titlemark">3.2.3 </span> <a + id="x1-270003.2.3"></a>Директории</h5> +<!--l. 820--><p class="noindent" >Схема директорий по умолчанию описана в разделе <a +href="#x1-110002.3">2.3<!--tex4ht:ref: sec:texmftrees --></a>, стр. <a +href="#x1-110002.3">8<!--tex4ht:ref: sec:texmftrees --></a>. Положение дерева <span +class="latt-1000">TEXDIR </span>отличается +для Windows (<span class="obeylines-h"><span class="verb"><span +class="latt-1000">%SystemDrive%\texlive\2012</span></span></span>) и UNIX (<span +class="latt-1000">/usr/local/texlive/2012</span>). +<!--l. 826--><p class="indent" > Основная причина, по которой бывает необходимо изменить эту схему — отсутствие у +вас прав на запись в нужные директории. Вам не надо иметь права администратора для +установки <span class="TEX">T<span +class="E">E</span>X</span> Live, однако вам надо иметь право на запись в директорию, куда устанавливается +система. +<!--l. 831--><p class="indent" > Если у вас нет права на запись в системные директории, естественной альтернативой является +установка в вашу домашнюю директорию, особенно если вы будете единственным пользователем +системы. Для этого используйте ‘<span class="obeylines-h"><span class="verb"><span +class="latt-1000">~</span></span></span>’ например ‘<span class="obeylines-h"><span class="verb"><span +class="latt-1000">~/texlive/2012</span></span></span>’. +<!--l. 836--><p class="indent" > Мы рекомендуем включать номер года в название директории, чтобы можно было держать отдельно +разные версии <span class="TEX">T<span +class="E">E</span>X</span> Live. После тестирования новой версии вы сможете сделать <span +class="latt-1000">/usr/local/texlive-cur</span> +ссылкой на соответствующую директорию. +<!--l. 841--><p class="indent" > Изменение <span +class="latt-1000">TEXDIR </span>изменит также <span +class="latt-1000">TEXMFLOCAL</span>, <span +class="latt-1000">TEXMFSYSVAR </span>и <span +class="latt-1000">TEXMFSYSCONFIG</span>. +<!--l. 844--><p class="indent" > Личные пакеты и файлы рекомендуется держать в директории <span +class="latt-1000">TEXMFHOME</span>. По умолчанию это +<span class="obeylines-h"><span class="verb"><span +class="latt-1000">~/texmf</span></span></span>. В отличие от <span +class="latt-1000">TEXDIR</span>, здесь <span class="obeylines-h"><span class="verb"><span +class="latt-1000">~</span></span></span> будет своим для каждого пользователя. Эта переменная +становится <span +class="latt-1000">$HOME </span>под UNIX и <span class="obeylines-h"><span class="verb"><span +class="latt-1000">%USERPROFILE%</span></span></span> под Windows. На всякий случай повторим, что структура +<span +class="latt-1000">TEXMFHOME </span>должна совпадать со стандартной структурой директорий <span +class="latt-1000">TEXMF</span>, иначе система может не +найти ваши файлы. +<!--l. 853--><p class="indent" > Директория <span +class="latt-1000">TEXMFVAR </span>используется для хранения автоматически создаваемых файлов, своих для +каждого пользователя. Директория <span +class="latt-1000">TEXMFCACHE </span>используется для этой же цели программой +Con<span class="TEX">T<span +class="E">E</span>X</span>t MkIV (см. раздел <a +href="#x1-360003.4.5">3.4.5<!--tex4ht:ref: sec:context-mkiv --></a>, стр. <a +href="#x1-360003.4.5">39<!--tex4ht:ref: sec:context-mkiv --></a>). +<!--l. 860--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.2.4 </span> <a + id="x1-280003.2.4"></a>Опции</h5> +<!--l. 863--><p class="noindent" ><hr class="figure"><div class="figure" +> + + +<a + id="x1-28023r7"></a> + + +<div class="fancyvrb" id="fancyvrb4"><a + id="x1-28002r1"></a><span +class="latt-0800"> </span><span +class="latt-0800"> Options</span><span +class="latt-0800"> setup:</span><br class="fancyvrb" /><a + id="x1-28004r2"></a><span +class="latt-0800"> </span><span +class="latt-0800"> ===============================================================================</span> +<br class="fancyvrb" /><a + id="x1-28006r3"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> <P></span><span +class="latt-0800"> use</span><span +class="latt-0800"> letter</span><span +class="latt-0800"> size</span><span +class="latt-0800"> instead</span><span +class="latt-0800"> of</span><span +class="latt-0800"> A4</span><span +class="latt-0800"> by</span><span +class="latt-0800"> default:</span><span +class="latt-0800"> [</span><span +class="latt-0800"> ]</span><br class="fancyvrb" /><a + id="x1-28008r4"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> <E></span><span +class="latt-0800"> execution</span><span +class="latt-0800"> of</span><span +class="latt-0800"> restricted</span><span +class="latt-0800"> list</span><span +class="latt-0800"> of</span><span +class="latt-0800"> programs:</span><span +class="latt-0800"> [X]</span> +<br class="fancyvrb" /><a + id="x1-28010r5"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> <F></span><span +class="latt-0800"> create</span><span +class="latt-0800"> format</span><span +class="latt-0800"> files:</span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> [X]</span><br class="fancyvrb" /><a + id="x1-28012r6"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> <D></span><span +class="latt-0800"> install</span><span +class="latt-0800"> font/macro</span><span +class="latt-0800"> doc</span><span +class="latt-0800"> tree:</span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> [X]</span> +<br class="fancyvrb" /><a + id="x1-28014r7"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> <S></span><span +class="latt-0800"> install</span><span +class="latt-0800"> font/macro</span><span +class="latt-0800"> source</span><span +class="latt-0800"> tree:</span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> [X]</span><br class="fancyvrb" /><a + id="x1-28016r8"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> <L></span><span +class="latt-0800"> create</span><span +class="latt-0800"> symlinks</span><span +class="latt-0800"> in</span><span +class="latt-0800"> standard</span><span +class="latt-0800"> directories:</span><span +class="latt-0800"> </span><span +class="latt-0800"> [</span><span +class="latt-0800"> ]</span> +<br class="fancyvrb" /><a + id="x1-28018r9"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> binaries</span><span +class="latt-0800"> to:</span><br class="fancyvrb" /><a + id="x1-28020r10"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> manpages</span><span +class="latt-0800"> to:</span><br class="fancyvrb" /><a + id="x1-28022r11"></a><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> info</span><span +class="latt-0800"> to:</span></div> +<br /> <div class="caption" +><span class="id">Рис. 7: </span><span +class="content">Меню опций (Unix)</span></div><!--tex4ht:label?: x1-28023r7 --> + + +<!--l. 878--><p class="noindent" ></div><hr class="endfigure"> +<!--l. 880--><p class="indent" > На рисунке <a +href="#x1-28023r7">7<!--tex4ht:ref: fig:options-text --></a> приведено меню опций (текстовый режим). Стоит упомянуть несколько из +них: + <dl class="description"><dt class="description"> +<span +class="labx-1000">use letter size instead of A4 by default (использовать по умолочанию размер letter вместо A4):</span> </dt><dd +class="description"> + выбор размера бумаги по умолчанию. Разумеется, отдельные документы могут при + необходиости указать собственный размер бумаги. + </dd><dt class="description"> +<span +class="labx-1000">execution of restricted list of programs:</span> </dt><dd +class="description">Начиная с <span class="TEX">T<span +class="E">E</span>X</span> Live 2010 <span class="TEX">T<span +class="E">E</span>X</span> может автоматически + вызывать несколько внешних программ. Список этих программ находится в файле + <span +class="latt-1000">texmf.cnf</span>; он очень мал, но эти программы очень полезны. См. раздел “Что нового в <span class="TEX">T<span +class="E">E</span>X</span> + Live 2010» <a +href="#x1-7900010.1.7">10.1.7<!--tex4ht:ref: sec:2010news --></a>. + </dd><dt class="description"> +<span +class="labx-1000">create all format files (созать все форматы):</span> </dt><dd +class="description">Хотя ненужные форматы занимают место на + диске и требуют времени для создания, мы все же рекомендуем не изменять эту опцию. В + противном случае отсутствующие форматы будут генрироваться в директориях <span +class="latt-1000">TEXMFVAR</span> + для каждого пользователя. Они не будут автоматически перегенерироваться при изменении + программ и схем переноса, и в итоге могут оказаться несовместимыми с новой системой. + </dd><dt class="description"> +<span +class="labx-1000">install font/macro </span><span +class="labx-1000">…</span><span +class="labx-1000"> tree:</span> </dt><dd +class="description">Эти опции позволяют вам не устанавливать документацию и + исходники, которые входят в большинство пакетов. Мы не рекомендуем экономить место на + этой важной информации. + </dd><dt class="description"> +<span +class="labx-1000">create symlinks in standard directories (создать симлинки в стандартных директориях)</span> </dt><dd +class="description"> + (только для UNIX): Эта опция делает ненужной смену переменных окружения. Без неё + директории <span class="TEX">T<span +class="E">E</span>X</span> Live нужно добавить к <span +class="latt-1000">PATH</span>, <span +class="latt-1000">MANPATH </span>и <span +class="latt-1000">INFOPATH</span>. Для этой опции вам + нужны права на запись в стандартные директории. Мы не советуем вам подменять <span class="TEX">T<span +class="E">E</span>X</span> из + дистрибутива вашей системы при помощи этой опции. Она нужна для создания симлинков + в директориях типа <span +class="latt-1000">/usr/local/bin</span>, которые не содержат файлов <span class="TEX">T<span +class="E">E</span>X</span>а из системного + дистрибутива.</dd></dl> +<!--l. 920--><p class="indent" > Задав нужные настройки, вы можете начать установку системы, нажав клавишу «<span class="obeylines-h"><span class="verb"><span +class="latt-1000">I</span></span></span>». Когда +установка будет закончена, перейдите к разделу <a +href="#x1-310003.4">3.4<!--tex4ht:ref: sec:postinstall --></a> чтобы проверить, нужно ли вам сделать ещё +что-нибудь. + <h4 class="subsectionHead"><span class="titlemark">3.3 </span> <a + id="x1-290003.3"></a>Опции вызова команды install-tl</h4> +<!--l. 928--><p class="noindent" >Напечатайте <div class="alltt"> +<!--l. 929--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">></span><span +class="latt-1000"> install-tl</span><span +class="latt-1000"> -help</span> +</div> +</div> чтобы получить список опций комадной строки. В опциях можно использовать как <span class="obeylines-h"><span class="verb"><span +class="latt-1000">-</span></span></span>, так и <span class="obeylines-h"><span class="verb"><span +class="latt-1000">--</span></span></span>. Вот +самые интересные опции: +<!--l. 935--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span +class="latt-1000">-gui</span> </dt><dd +class="list"> + <!--l. 936--><p class="noindent" >Если возможно, использовать графический режим. Для этого нужен модуль Perl/Tk с + поддержкой XFT (<a +href="http://tug.org/texlive/distro.html#perltk" class="url" ><span +class="latt-1000">http://tug.org/texlive/distro.html#perltk</span></a>); если этого модуля в + системе нет, установка происходит в текстовом режиме. + </dd><dt class="list"> + <span +class="latt-1000">-no-gui</span> </dt><dd +class="list"> + <!--l. 941--><p class="noindent" >Использовать текстовый режим, даже под Windows. + + + </dd><dt class="list"> + <span +class="latt-1000">-lang </span><span +class="lasl-1000">LL</span> </dt><dd +class="list"> + <!--l. 943--><p class="noindent" >Задать язык интерфейса программы установки (стандартным кодом страны <span +class="lasl-1000">LL</span>). Сейчас + доступны следующие языки: <span +class="latt-1000">cs </span>(чешский), <span +class="latt-1000">de </span>(немецкий), <span +class="latt-1000">en </span>(английский, по умолчанию) + <span +class="latt-1000">fr </span>(французский), <span +class="latt-1000">it </span>(итальянский), <span +class="latt-1000">ja </span>(японский), <span +class="latt-1000">nl </span>(голландский), <span +class="latt-1000">pl </span>(польский), + <span +class="latt-1000">ru </span>(русский), <span +class="latt-1000">sk </span>(словацкий), <span +class="latt-1000">sl </span>(словенский), <span +class="latt-1000">sr </span>(сербский), <span +class="latt-1000">vi </span>(вьетнамский), <span +class="latt-1000">zh-cn</span> + (упрощенный китайский), <span +class="latt-1000">zh-tw </span>(традиционный китайский). Программа установки пытается + определеть нужный язык автоматически, но если это не получается или если нужный язык + не поддерживается, она переходит на английский. + <!--l. 965--><p class="noindent" ><a id="opt-in-place"></a> + </dd><dt class="list"> + <span +class="latt-1000">-in-place</span> </dt><dd +class="list"> + <!--l. 966--><p class="noindent" >Если у вас уже есть копия <span class="TEX">T<span +class="E">E</span>X</span> Live, полученная из репозитория + (см. <a +href="http://tug.org/texlive/acquire-mirror.html" class="url" ><span +class="latt-1000">http://tug.org/texlive/acquire-mirror.html</span></a>), то эта опция позволяет использовать + эту копию. Учтите, что при этом база данных <span +class="latt-1000">tlpkg/texlive.tlpdb </span>может быть затерта; + вы должны сохранить её сами. Кроме того, удаление пакетов нужно будет делать вручную. + Не используйте эту опцию, если вы не эксперт. Эту опцию нельзя выбрать после того, как + программа запущена. + </dd><dt class="list"> + <span +class="latt-1000">-portable</span> </dt><dd +class="list"> + <!--l. 975--><p class="noindent" >Установить переносимую версию <span class="TEX">T<span +class="E">E</span>X</span> Live, например, на флешку USB. Эту опцию также + можно указать при помощи команды <span +class="latt-1000">V </span>в текстовом установки, или из графического режима. + См. также раздел <a +href="#x1-430005">5<!--tex4ht:ref: sec:portable-tl --></a>. + </dd><dt class="list"> + <span +class="latt-1000">-profile </span><span +class="lasl-1000"> +class="list"> + <!--l. 980--><p class="noindent" >Использовать конфигурацию установки <span +class="lasl-1000"> + Программа установки всегда записывает файл <span +class="latt-1000">texlive.profile </span>в поддиректорию <span +class="latt-1000">tlpkg</span>. + Этот фаил может быть использован в качестве аргумента данной опции, чтобы, например, + получить идентичную конфигурацию на другой машине. Вы можете также создать + собственную конфигурацию, например, взяв за основу автоматически созданный файл + или пустой файл (так что параметры, которые не заданы в файле, получат значения по + умолчанию). + </dd><dt class="list"> + <span +class="latt-1000">-repository </span><span +class="lasl-1000">url +class="list"> + <!--l. 990--><p class="noindent" >Указать альтернативный источник о пакетов для установки; см. ниже.</dd></dl> +<!--l. 994--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.3.1 </span> <a + id="x1-300003.3.1"></a>Параметр <span +class="latt-1000">-repository</span></h5> +<!--l. 997--><p class="noindent" >По умолчанию пакеты сгружаются с одного из зеркал архива CTAN. Ссылка <a +href="http://mirror.ctan.org" class="url" ><span +class="latt-1000">http://mirror.ctan.org</span></a> +автоматически выбирает зеркало. +<!--l. 1000--><p class="indent" > Если вы хотите указать другой источник, вы можете задать его как URL, начинающийся с <span +class="latt-1000">ftp:</span>, +<span +class="latt-1000">http:</span>, <span +class="latt-1000">file:/ </span>или просто как директорию на диске. (Когда вы указываете репозиторию как <span +class="latt-1000">ftp: </span>или +<span +class="latt-1000">http:</span>, окончание <span +class="latt-1000">/ </span>или <span +class="latt-1000">/tlpkg </span>игнорируется.) +<!--l. 1006--><p class="indent" > Например, вы можете задать в качестве параметра определенное зеркало CTAN: +<a +href="http://ctan.example.org/tex-archive/texlive/tlnet/" class="url" ><span +class="latt-1000">http://ctan.example.org/tex-archive/texlive/tlnet/</span></a>. Разумеется, вам следует подставить вместо +<span +class="latt-1000">example.ctan.org </span>нужное зеркало и путь к архиву на этом зеркале. Список зеркал находится на +<a +href="http://ctan.org/mirrors" class="url" ><span +class="latt-1000">http://ctan.org/mirrors</span></a>. +<!--l. 1014--><p class="indent" > Если параметр задает директорию на диски (прямо или при помощи <span +class="latt-1000">file:/</span>), система +автоматически определяет, является ли источник архивом: если найдена поддиректория <span +class="latt-1000">archive </span>со +сжатыми файлами, то она будет использована, даже если рядом находятся незаархивированные +файлы. + + +<!--l. 1022--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">3.4 </span> <a + id="x1-310003.4"></a>Действия после установки</h4> +<!--l. 1025--><p class="noindent" >Иногда после установки системы требуются дополнительные действия. +<!--l. 1029--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.1 </span> <a + id="x1-320003.4.1"></a>Переменные окружения для UNIX</h5> +<!--l. 1032--><p class="noindent" >Если бы решили создать симлинки в стандартных директориях (см. раздел <a +href="#x1-280003.2.4">3.2.4<!--tex4ht:ref: sec:options --></a>), то изменять +переменные окружения не требуется. В противном случае вам нужно добавить к списку поиска +программ директорию, где лежат программы <span class="TEX">T<span +class="E">E</span>X</span>live (под Windows программа установки делает это +сама). +<!--l. 1038--><p class="indent" > Программы для каждой архитектуры помещаются в собственную поддиректорию под <span +class="latt-1000">TEXDIR/bin</span>. +См. список поддиректорий и соответствующих платформ на рисунке <a +href="#x1-25043r4">4<!--tex4ht:ref: fig:bin-text --></a>. +<!--l. 1042--><p class="indent" > Вы можете также добавить директории с документацией в формате man и info к соответствующим +путям поиска, если вы хотите, чтобы ваша операционная система знала о них. В некоторых системах +документация в формате man будет найдена автоматически после изменения переменной +<span +class="latt-1000">PATH</span>. +<!--l. 1048--><p class="indent" > Ниже мы используем для примера стандартную систему директорий в системе Intel86 +GNU/Linux. +<!--l. 1051--><p class="indent" > Для оболочек типа Bourne (<span +class="lass-1000">bash </span>и т.п.) вы можете добавить в файл <span +class="latt-1000">$HOME/.profile </span>(или в файл, +который вызывается из <span +class="latt-1000">.profile</span>) следующее: +<!--l. 1055--><p class="indent" > + <div class="fancyvrb" id="fancyvrb5"><a + id="x1-32002r1"></a><span +class="latt-0900"> </span><span +class="latt-0900"> PATH=/usr/local/texlive/2012/bin/i386-linux:$PATH;</span><span +class="latt-0900"> export</span><span +class="latt-0900"> PATH</span> +<br class="fancyvrb" /><a + id="x1-32004r2"></a><span +class="latt-0900"> </span><span +class="latt-0900"> MANPATH=/usr/local/texlive/2012/texmf/doc/man:$MANPATH;</span><span +class="latt-0900"> export</span><span +class="latt-0900"> MANPATH</span> +<br class="fancyvrb" /><a + id="x1-32006r3"></a><span +class="latt-0900"> </span><span +class="latt-0900"> INFOPATH=/usr/local/texlive/2012/texmf/doc/info:$INFOPATH;</span><span +class="latt-0900"> export</span><span +class="latt-0900"> INFOPATH</span></div> +<!--l. 1061--><p class="indent" > Для <span +class="lass-1000">csh </span>или <span +class="lass-1000">tcsh </span>следует редактировать файл <span +class="latt-1000">$HOME/.cshrc</span>, и следует добавить что-то +вроде +<!--l. 1064--><p class="indent" > + <div class="fancyvrb" id="fancyvrb6"><a + id="x1-32008r1"></a><span +class="latt-0900"> </span><span +class="latt-0900"> setenv</span><span +class="latt-0900"> PATH</span><span +class="latt-0900"> /usr/local/texlive/2012/bin/i386-linux:$PATH</span><br class="fancyvrb" /><a + id="x1-32010r2"></a><span +class="latt-0900"> </span><span +class="latt-0900"> setenv</span><span +class="latt-0900"> MANPATH</span><span +class="latt-0900"> /usr/local/texlive/2012/texmf/doc/man:$MANPATH</span> +<br class="fancyvrb" /><a + id="x1-32012r3"></a><span +class="latt-0900"> </span><span +class="latt-0900"> setenv</span><span +class="latt-0900"> INFOPATH</span><span +class="latt-0900"> /usr/local/texlive/2012/texmf/doc/info:$INFOPATH</span></div> +<!--l. 1070--><p class="indent" > Разумеется, в ваших конфигурационных файлах уже могут быть определены эти переменные; +фрагменты выше добавляют к ним директории <span class="TEX">T<span +class="E">E</span>X</span> Live. +<!--l. 1073--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.2 </span> <a + id="x1-330003.4.2"></a>Переменные окружения: глобальная конфигурация</h5> +<!--l. 1076--><p class="noindent" >Если вы хотите внести эти изменения для всех пользователей, или добавлять их автоматически для +новых пользователей, то вам следует разобраться самому: в разных системах это делается слишком +по-разному. +<!--l. 1081--><p class="indent" > Два совета: 1) возможно, вам следует добавить в файл <span +class="latt-1000">/etc/manpath.config </span>строчки +вроде: +<!--l. 1084--><p class="indent" > + <div class="fancyvrb" id="fancyvrb7"><a + id="x1-33002r1"></a><span +class="latt-0900"> </span><span +class="latt-0900"> MANPATH_MAP</span><span +class="latt-0900"> /usr/local/texlive/2012/bin/i386-linux</span><span +class="latt-0900"> \</span><br class="fancyvrb" /><a + id="x1-33004r2"></a><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> /usr/local/texlive/2012/texmf/doc/man</span></div> +<!--l. 1089--><p class="indent" > И 2) иногда пути поиска и другие глобальные переменные окружения задаются в файле +<span +class="latt-1000">/etc/environment</span>. +<!--l. 1092--><p class="indent" > Мы также добавляем симлинк <span class="path"><span +class="latt-1000">man</span></span> в каждой поддиректории <span class="path"><span +class="latt-1000">bin</span></span>. Некоторые варианты программы +<span +class="latt-1000">man</span>, например, в Mac OS X, автоматически ищут файлы в этих поддиректориях, что избавляет от +необходимости добавлять их в <span +class="latt-1000">MANPATH</span>. +<!--l. 1097--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.3 </span> <a + id="x1-340003.4.3"></a>Обновления из Интернета после установки с DVD</h5> +<!--l. 1100--><p class="noindent" >Если вы устновили <span class="TEX">T<span +class="E">E</span>X</span> Live с DVD и хотите получать обновления из Интернета, запустите следующую +команду (<span +class="lati-1000">после </span>добавления программ <span class="TEX">T<span +class="E">E</span>X</span> Live к списку поиска программ, см. предыдущий +раздел): + <div class="alltt"> + + +<!--l. 1104--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">></span><span +class="latt-1000"> tlmgr</span><span +class="latt-1000"> option</span><span +class="latt-1000"> repository</span><span +class="latt-1000"> http://mirror.ctan.org/systems/texlive/tlnet</span> +</div> +</div> +<!--l. 1108--><p class="indent" > Она указывает программе <span +class="lass-1000">tlmgr</span>, что нужно искать обновления на ближайшем зеркале +CTAN. +<!--l. 1111--><p class="indent" > Если автоматический выбор зеркала не работает, вы можете указать адрес зеркала вручную, взяв его +из списка на <a +href="http://ctan.org/mirrors" class="url" ><span +class="latt-1000">http://ctan.org/mirrors</span></a>. Задайте при этом точное положение директории <span +class="latt-1000">tlnet</span>, как +указано выше. +<!--l. 1117--><p class="indent" > <a id="xetexfontconfig"></a> <a id="sysfontconfig"></a> + <h5 class="subsubsectionHead"><span class="titlemark">3.4.4 </span> <a + id="x1-350003.4.4"></a>Настройка шрифтов для программ Xe<span class="TEX">T<span +class="E">E</span>X</span> и Lua<span class="TEX">T<span +class="E">E</span>X</span></h5> +<!--l. 1122--><p class="noindent" >Xe<span class="TEX">T<span +class="E">E</span>X</span> и Lua<span class="TEX">T<span +class="E">E</span>X</span> могут использовать все шрифты, установленные в вашей системе, не только те, +которые находятся в директориях <span class="TEX">T<span +class="E">E</span>X</span>а. Они это делают при помощи похожих, но чуть-чуть разных +методов. +<!--l. 1126--><p class="indent" > Под Windows шрифты, включенные в дистрибутив <span class="TEX">T<span +class="E">E</span>X</span> Live, автоматически доступны в +Xe<span class="TEX">T<span +class="E">E</span>X</span>е. Но если вы установили пакет <span +class="latt-1000">xetex </span>под UNIX, то вам нужно настроить вашу систему, +чтобы Xe<span class="TEX">T<span +class="E">E</span>X</span> мог найти шрифты <span class="TEX">T<span +class="E">E</span>X</span> Live по названию шрифта, а не только по имени +файла. +<!--l. 1131--><p class="indent" > Чтобы помочь этому, когда пакет <span +class="lass-1000">xetex </span>устанавливается (либо при первоначальной +установке дистрибутива, либо позже), он создает необходимый конфигурационный файл в +<span +class="latt-1000">TEXMFSYSVAR/fonts/conf/texlive-fontconfig.conf</span>. +<!--l. 1136--><p class="indent" > Если вы обладаете правами администратора, то для того, чтобы шрифты <span class="TEX">T<span +class="E">E</span>X</span> Live были доступны +всем программам, сделайте следующее: + <ol class="enumerate1" > + <li + class="enumerate" id="x1-35002x1">Скопируйте файл <span +class="latt-1000">texlive-fontconfig.conf </span>в <span +class="latt-1000">/etc/fonts/conf.d/09-texlive.conf</span>. + </li> + <li + class="enumerate" id="x1-35004x2">Запустите <span +class="latt-1000">fc-cache -fsv</span>.</li></ol> +<!--l. 1144--><p class="indent" > Если у вас нет прав администратора, то вы можете вместо этого сделать шрифты <span class="TEX">T<span +class="E">E</span>X</span> Live +доступными только вам: + <ol class="enumerate1" > + <li + class="enumerate" id="x1-35006x1">Скопируйте файл <span +class="latt-1000">texlive-fontconfig.conf </span>в <span +class="latt-1000">~/.fonts.conf</span>, где <span +class="latt-1000">~ </span>—  ваша домашняя + директория. + </li> + <li + class="enumerate" id="x1-35008x2">Запустите <span +class="latt-1000">fc-cache -fv</span>.</li></ol> +<!--l. 1153--><p class="indent" > Чтобы посмотреть названия системных шрифтов, вы можете запустить программу <span +class="latt-1000">fc-list</span>. Можно +получить много интересной информации, запустив её как <span +class="latt-1000">fc-list : family style file spacing </span>(все +аргументы—текстовые строки). +<!--l. 1158--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.5 </span> <a + id="x1-360003.4.5"></a>Con<span class="TEX">T<span +class="E">E</span>X</span>t Mark IV</h5> +<!--l. 1161--><p class="noindent" >Как «старый» Con<span class="TEX">T<span +class="E">E</span>X</span>t(Mark II), так и «новый> Con<span class="TEX">T<span +class="E">E</span>X</span>t (Mark IV) должны работать «из коробки» +после установки <span class="TEX">T<span +class="E">E</span>X</span> Live и после обновления системы при помощи <span class="obeylines-h"><span class="verb"><span +class="latt-1000">tlmgr</span></span></span>. +<!--l. 1165--><p class="indent" > Однако так как Con<span class="TEX">T<span +class="E">E</span>X</span>t MkIV не использует библиотеку <span class="obeylines-h"><span class="verb"><span +class="latt-1000">kpathsea</span></span></span>, после установки новый файлов +вручную (<span +class="lati-1000">не </span>при помощи <span class="obeylines-h"><span class="verb"><span +class="latt-1000">tlmgr</span></span></span>) нужны дополнительные действия. Каждый пользователь MkIV должен +после такого обновления запустить + <div class="fancyvrb" id="fancyvrb8"><a + id="x1-36002r1"></a><span +class="latt-0900"> </span><span +class="latt-0900"> context</span><span +class="latt-0900"> --generate</span></div> +<!--l. 1172--><p class="noindent" >чтобы обновить базу данных Con<span class="TEX">T<span +class="E">E</span>X</span>t. Получившиеся файлы будут установлены в директории <span +class="latt-1000">TEXMFCACHE</span>. +В <span class="TEX">T<span +class="E">E</span>X</span> Live эта директория совпадает с <span +class="latt-1000">TEXMFVAR</span>. +<!--l. 1176--><p class="indent" > Con<span class="TEX">T<span +class="E">E</span>X</span>t MkIV читает файлы из всех директорий, заданных переменной <span class="obeylines-h"><span class="verb"><span +class="latt-1000">TEXMFCACHE</span></span></span> и пишет в +первую директорию в списке, в которой у него есть права на запись. При чтении в случае дублирующих +записей имеет преимущество последняя прочитанная запись. +<!--l. 1181--><p class="indent" > См. также <a +href="http://wiki.contextgarden.net/Running_Mark_IV" class="url" ><span +class="latt-1000">http://wiki.contextgarden.net/Running_Mark_IV</span></a>. + + +<!--l. 1185--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.6 </span> <a + id="x1-370003.4.6"></a>Добавление личных и локальных пакетов</h5> +<!--l. 1188--><p class="noindent" >Этот вопрос уже обсуждался в разделе <a +href="#x1-110002.3">2.3<!--tex4ht:ref: sec:texmftrees --></a>: для локальных шрифтов и пакетов, общих у всех +пользователей, предназначена директория <span +class="latt-1000">TEXMFLOCAL </span>(по умолчанию, <span +class="latt-1000">/usr/local/texlive/texmf-local</span> +или <span class="obeylines-h"><span class="verb"><span +class="latt-1000">%SystemDrive%\texlive\texmf-local</span></span></span>), а для личных шрифтов и пакетов — директория <span +class="latt-1000">TEXMFHOME</span> +(по умолчанию, <span +class="latt-1000">$HOME/texmf </span>или <span class="obeylines-h"><span class="verb"><span +class="latt-1000">%USERPROFILE%\texmf</span></span></span>). Эти директории предполагаются общими для +всех версий <span class="TEX">T<span +class="E">E</span>X</span> Live, и каждая версия <span class="TEX">T<span +class="E">E</span>X</span> Live видит их автоматически. Поэтому мы не +рекомендуем менять значение <span +class="latt-1000">TEXMFLOCAL</span>, иначе вам придется делать это для каждой новой +версии. +<!--l. 1201--><p class="indent" > Файлы в обеих директориях должны находиться в правильных поддиректориях; см. +<a +href="http://tug.org/tds" class="url" ><span +class="latt-1000">http://tug.org/tds</span></a> и <span +class="latt-1000">texmf/web2c/texmf.cnf</span>. Например, <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>овский класс или пакет должен +находиться в директории <span +class="latt-1000">TEXMFLOCAL/tex/latex </span>или <span +class="latt-1000">TEXMFHOME/tex/latex </span>или какой-либо из их +поддиректорий. +<!--l. 1207--><p class="indent" > Для директории <span +class="latt-1000">TEXMFLOCAL </span>должна поддерживаться база данных о файлах, иначе система не +сможет найти там нужные файлы. Эта база обновляется командой <span +class="lass-1000">mktexlsr </span>или кнопкой «Reinit file +database» в графическом режиме программы <span +class="lass-1000">tlmgr</span>. +<!--l. 1212--><p class="indent" > По умолчанию, каждая из этих переменных указывает на одну директорию, как в нашем примере. +Однако это не обязательное требование. Если вам нужно, например, поддерживать несколько +версий больших пакетов, вы можете захотеть иметь несколько деревьев директорий. Тогда вы +можете определить <span +class="latt-1000">TEXMFHOME </span>как набор директорий в фигурных скобках, разделенных +запятыми: + + + <div class="verbatim" id="verbatim-1"> + <div class="fancyvrb" id="fancyvrb9"><a + id="x1-37002r1"></a>    TEXMFHOME = {/my/dir1,/mydir2,/a/third/dir}</div> +</div> +<!--l. 1221--><p class="nopar" > +<!--l. 1223--><p class="indent" > Подробнее эти вопросы объясняются в разделе <a +href="#x1-610008.1.5">8.1.5<!--tex4ht:ref: sec:brace-expansion --></a>. +<!--l. 1226--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.7 </span> <a + id="x1-380003.4.7"></a>Добавление новых шрифтов</h5> +<!--l. 1228--><p class="noindent" >К сожалению, это очень сложная задача. Не делайте этого, если вы не знаете <span class="TEX">T<span +class="E">E</span>X</span>а как свои пять +пальцев. Не забудьте сначала проверить, какие шрифты у вас уже есть, см. раздел <a +href="#x1-140002.6">2.6<!--tex4ht:ref: sec:tl-fonts --></a>. +<!--l. 1232--><p class="indent" > Возможная альтернатива — программа Xe<span class="TEX">T<span +class="E">E</span>X</span> (см. раздел <a +href="#x1-120002.4">2.4<!--tex4ht:ref: sec:tex-extensions --></a>), которая позволяет автоматически +использовать в <span class="TEX">T<span +class="E">E</span>X</span>е шрифты вашей операционной системы. +<!--l. 1236--><p class="indent" > Если вам все же нужно добавить шрифты, то посмотрите страницу <a +href="http://tug.org/fonts/fontinstall.html" class="url" ><span +class="latt-1000">http://tug.org/fonts/fontinstall.html</span></a> — + это лучшее, что мы смогли написать по этому поводу. Если вы правильно поддерживаете карты +шрифтов, <span +class="latt-1000">tlmgr generate updmap </span><span +class="lati-1000">может </span>оказаться полезной, особенно при переходе на новую версию +<span class="TEX">T<span +class="E">E</span>X</span> Live; см. документацию программы <span +class="lass-1000">tlmgr</span>. +<!--l. 1244--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">3.5 </span> <a + id="x1-390003.5"></a>Тестирование системы</h4> +<!--l. 1248--><p class="noindent" >После установки <span class="TEX">T<span +class="E">E</span>X</span> Live вы, скорее всего, захотите проверить работу системы, а уже затем перейти к +созданию прекрасных документов и/или шрифтов. +<!--l. 1252--><p class="indent" > В этом разделе описываются основные процедуры по тестированию системы. Мы приводим команды +для операционных систем типа Unix; под Mac OS X и Windows вы, скорее всего, будете использовать +графический интерфейс, но принцип тот же. +<!--l. 1258--><p class="indent" > + <ol class="enumerate1" > + <li + class="enumerate" id="x1-39002x1">Сначала проверьте, что вы можете запускать программу <span +class="lass-1000">tex</span>: + <div class="alltt"> + <!--l. 1263--><p class="noindent" ><div class="obeylines-v"> + <span +class="latt-1000">></span><span +class="latt-1000"> tex</span><span +class="latt-1000"> --version</span> + <br /><span +class="latt-1000">TeX</span><span +class="latt-1000"> 3.1415926</span><span +class="latt-1000"> (TeX</span><span +class="latt-1000"> Live</span><span +class="latt-1000"> ...)</span> + <br /><span +class="latt-1000">kpathsea</span><span +class="latt-1000"> version</span><span +class="latt-1000"> 6.0.1</span> + <br /><span +class="latt-1000">Copyright</span><span +class="latt-1000"> ...</span><span +class="latt-1000"> D.E.</span><span +class="latt-1000"> Knuth.</span> + <br /><span +class="latt-1000">...</span> +</div> + </div> Если вы получаете в ответ «command not found» вместо номера версии и информации о копирайте, + у вас, скорее всего, нет директории с нужными программами в переменной <span +class="latt-1000">PATH</span>. См. обсуждение + на странице <a +href="#x1-320003.4.1">38<!--tex4ht:ref: sec:env --></a>. + </li> + <li + class="enumerate" id="x1-39004x2">Скомпилируйте простой <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>овский файл: <div class="alltt"> + <!--l. 1277--><p class="noindent" ><div class="obeylines-v"> + <span +class="latt-1000">></span><span +class="latt-1000"> latex</span><span +class="latt-1000"> sample2e.tex</span> + <br /><span +class="latt-1000">pdfTeX</span><span +class="latt-1000"> 3.1415926-...</span><span +class="latt-1000"> (TeX</span><span +class="latt-1000"> Live</span><span +class="latt-1000"> ...)</span> + <br /><span +class="latt-1000">...</span> + <br /><span +class="latt-1000">Output</span><span +class="latt-1000"> written</span><span +class="latt-1000"> on</span><span +class="latt-1000"> sample2e.dvi</span><span +class="latt-1000"> (3</span><span +class="latt-1000"> pages,</span><span +class="latt-1000"> 7484</span><span +class="latt-1000"> bytes).</span> + <br /><span +class="latt-1000">Transcript</span><span +class="latt-1000"> written</span><span +class="latt-1000"> on</span><span +class="latt-1000"> sample2e.log.</span> + + +</div> + </div> Если программа не может найти <span +class="latt-1000">sample2e.tex </span>или другие файлы, возможно, у вас остались следы + от старой установки: переменные окружения или конфигурационные файлы. Мы рекомендуем + сначала убрать все переменные окружения, относящиеся к <span class="TEX">T<span +class="E">E</span>X</span>у. (Для отладки вы + всегда можете попросить <span class="TEX">T<span +class="E">E</span>X</span> точно сказать, что именно он ищет; см. «Отладка» на + стр. <a +href="#x1-680008.2.4">66<!--tex4ht:ref: sec:debugging --></a>.) + </li> + <li + class="enumerate" id="x1-39006x3">Посмотрите результат на экране: <div class="alltt"> + <!--l. 1292--><p class="noindent" ><div class="obeylines-v"> + <span +class="latt-1000">></span><span +class="latt-1000"> xdvi</span><span +class="latt-1000"> sample2e.dvi</span><span +class="latt-1000"> </span><span +class="latt-1000"> </span><span +class="latt-1000"> </span><span +class="latt-1000"> #</span><span +class="latt-1000"> Unix</span> + <br /><span +class="latt-1000">></span><span +class="latt-1000"> dviout</span><span +class="latt-1000"> sample2e.dvi</span><span +class="latt-1000"> </span><span +class="latt-1000"> #</span><span +class="latt-1000"> Windows</span> +</div> + </div> Вы должны увидеть новое окно с красиво свёрстанным документом, объясняющим основы + <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>а. (Кстати, если вы — новичок, вам ст´оит его прочесть.) Чтобы программа <span +class="lass-1000">xdvi </span>могла + запуститься, вы должны быть в среде X Window; если это не так, или если переменная <span +class="latt-1000">DISPLAY</span> + установлена неправильно, вы увидите ошибку «<span +class="latt-1000">Can’t open display</span>». + </li> + <li + class="enumerate" id="x1-39008x4">Создайте файл в формате PostScript для печати или просмотра на экране: <div class="alltt"> + <!--l. 1304--><p class="noindent" ><div class="obeylines-v"> + <span +class="latt-1000">></span><span +class="latt-1000"> dvips</span><span +class="latt-1000"> sample2e.dvi</span><span +class="latt-1000"> -o</span><span +class="latt-1000"> sample2e.ps</span> +</div> + </div> + </li> + <li + class="enumerate" id="x1-39010x5">Создайте файл в формате PDF вместо DVI; команда ниже компилирует файл <span +class="latt-1000">.tex </span>и создаёт PDF: + <div class="alltt"> + <!--l. 1310--><p class="noindent" ><div class="obeylines-v"> + <span +class="latt-1000">></span><span +class="latt-1000"> pdflatex</span><span +class="latt-1000"> sample2e.tex</span> +</div> + </div> + </li> + <li + class="enumerate" id="x1-39012x6">Посмотрите результат на экране: <div class="alltt"> + <!--l. 1315--><p class="noindent" ><div class="obeylines-v"> + <span +class="latt-1000">></span><span +class="latt-1000"> gv</span><span +class="latt-1000"> sample2e.pdf</span> + <br />или: + <br /><span +class="latt-1000">></span><span +class="latt-1000"> xpdf</span><span +class="latt-1000"> sample2e.pdf</span> +</div> + </div> К сожалению, ни <span +class="lass-1000">gv</span>, ни <span +class="lass-1000">xpdf </span>не включены в текущую версию <span class="TEX">T<span +class="E">E</span>X</span> Live, так что вам придётся + устанавливать их отдельно. См. соответственно <a +href="http://www.gnu.org/software/gv" class="url" ><span +class="latt-1000">http://www.gnu.org/software/gv</span></a> и + <a +href="http://www.foolabs.com/xpdf" class="url" ><span +class="latt-1000">http://www.foolabs.com/xpdf</span></a>. Разумеется, есть и много других программ для просмотра + файлов в формате PDF. Пользователям Windows мы рекомендуем Sumatra PDF + (<a +href="http://blog.kowalczyk.info/software/sumatrapdf" class="url" ><span +class="latt-1000">http://blog.kowalczyk.info/software/sumatrapdf</span></a>). + </li> + <li + class="enumerate" id="x1-39014x7">Другие стандартные тестовые файлы, которые вам могут пригодиться: + <!--l. 1331--><p class="noindent" > + + + <dl class="list2"><dt class="list"> + <span +class="latt-1000">small2e.tex</span> </dt><dd +class="list"> + <!--l. 1332--><p class="noindent" >Более простой документ, чем <span +class="latt-1000">sample2e</span>, удобный, если последний слишком велик для + вас. + </dd><dt class="list"> + <span +class="latt-1000">testpage.tex</span> </dt><dd +class="list"> + <!--l. 1334--><p class="noindent" >Проверяет поля и позиционирование бумаги для вашего принтера. + </dd><dt class="list"> + <span +class="latt-1000">nfssfont.tex</span> </dt><dd +class="list"> + <!--l. 1336--><p class="noindent" >Используется для печати таблиц шрифтов и тестов. + </dd><dt class="list"> + <span +class="latt-1000">testfont.tex</span> </dt><dd +class="list"> + <!--l. 1337--><p class="noindent" >Печать таблиц шрифтов под plain <span class="TEX">T<span +class="E">E</span>X</span>. + </dd><dt class="list"> + <span +class="latt-1000">story.tex</span> </dt><dd +class="list"> + <!--l. 1338--><p class="noindent" >Самый канонический файл в формате (plain) <span class="TEX">T<span +class="E">E</span>X</span>. Вы должны напечатать «<span +class="latt-1000">\bye</span>» в + ответ на приглашение <span +class="latt-1000">* </span>после «<span +class="latt-1000">tex story.tex</span>».</dd></dl> + </li> + <li + class="enumerate" id="x1-39016x8">Если вы установили пакет <span +class="latt-1000">xetex</span>, вы можете проверить, доступны ли ему системные шрифты: + <div class="alltt"> + <!--l. 1345--><p class="noindent" ><div class="obeylines-v"> + <span +class="latt-1000">></span><span +class="latt-1000"> xetex</span><span +class="latt-1000"> opentype-info.tex</span> + <br /><span +class="latt-1000">This</span><span +class="latt-1000"> is</span><span +class="latt-1000"> XeTeX,</span><span +class="latt-1000"> Version</span><span +class="latt-1000"> 3.1415926</span><span +class="latt-1000">…</span> + <br /><span +class="latt-1000">...</span> + <br /><span +class="latt-1000">Output</span><span +class="latt-1000"> written</span><span +class="latt-1000"> on</span><span +class="latt-1000"> opentype-info.pdf</span><span +class="latt-1000"> (1</span><span +class="latt-1000"> page).</span> + <br /><span +class="latt-1000">Transcript</span><span +class="latt-1000"> written</span><span +class="latt-1000"> on</span><span +class="latt-1000"> opentype-info.log.</span> +</div> + </div> (или аналогично для <span +class="latt-1000">luatex</span>.) + <!--l. 1354--><p class="noindent" >Если вы получите сообщение об ошибке: «Invalid fontname ‘Latin Modern Roman/ICU’…», + то вам нужно настроить систему, чтобы Xe<span class="TEX">T<span +class="E">E</span>X</span> мог найти шрифты <span class="TEX">T<span +class="E">E</span>X</span> Live. См. + раздел <a +href="#x1-350003.4.4">3.4.4<!--tex4ht:ref: sec:font-conf-sys --></a>. + </li></ol> +<!--l. 1360--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">3.6 </span> <a + id="x1-400003.6"></a>Ссылки на дополнительные программы</h4> +<!--l. 1362--><p class="noindent" >Если вы новичок в <span class="TEX">T<span +class="E">E</span>X</span>е, или вам нужна помощь в создании документов на языке <span class="TEX">T<span +class="E">E</span>X</span> или <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>, +посетите <a +href="http://tug.org/begin.html" class="url" ><span +class="latt-1000">http://tug.org/begin.html</span></a>. +<!--l. 1367--><p class="indent" > Вот ссылки на некоторые другие программы, которые вам могут пригодиться: + <dl class="description"><dt class="description"> +<span +class="labx-1000">Ghostscript</span> </dt><dd +class="description"><a +href="http://www.cs.wisc.edu/~ghost/" class="url" ><span +class="latt-1000">http://www.cs.wisc.edu/~ghost/</span></a> + </dd><dt class="description"> +<span +class="labx-1000">Perl</span> </dt><dd +class="description"><a +href="http://www.perl.org/" class="url" ><span +class="latt-1000">http://www.perl.org/</span></a> с дополнительными пакетами из архива CPAN, + <a +href="http://www.cpan.org/" class="url" ><span +class="latt-1000">http://www.cpan.org/</span></a> + </dd><dt class="description"> +<span +class="labx-1000">ImageMagick</span> </dt><dd +class="description"><a +href="http://www.imagemagick.com" class="url" ><span +class="latt-1000">http://www.imagemagick.com</span></a>, для конвертирования и преобразования графики. + </dd><dt class="description"> +<span +class="labx-1000">NetPBM</span> </dt><dd +class="description"><a +href="http://netpbm.sourceforge.net/" class="url" ><span +class="latt-1000">http://netpbm.sourceforge.net/</span></a>, тоже для графики. + </dd><dt class="description"> +<span +class="labx-1000">Редакторы для </span><span class="TEX"><span +class="labx-1000">T</span><span +class="E"><span +class="labx-1000">E</span></span><span +class="labx-1000">X</span></span><span +class="labx-1000">а</span> </dt><dd +class="description">Их очень много, и выбор их — дело вкуса. Вот несколько из них (некоторые + доступны только для Windows): + + + <ul class="itemize1"> + <li class="itemize"><span +class="lass-1000">GNU Emacs </span>есть для Windows, см. + <a +href="http://www.gnu.org/software/emacs/windows/ntemacs.html" class="url" ><span +class="latt-1000">http://www.gnu.org/software/emacs/windows/ntemacs.html</span></a>. + </li> + <li class="itemize"><span +class="lass-1000">Emacs </span>с Auc<span class="TEX">T<span +class="E">E</span>X</span>ом для Windows есть в директории <span class="path"><span +class="latt-1000">tlpkg/support</span></span> на DVD <span class="TEX">T<span +class="E">E</span>X</span> Live; + его страница на сети: <a +href="http://www.gnu.org/software/auctex" class="url" ><span +class="latt-1000">http://www.gnu.org/software/auctex</span></a>. + </li> + <li class="itemize"><span +class="lass-1000">LEd </span>можно скачать с <a +href="http://www.ctan.org/support/LEd" class="url" ><span +class="latt-1000">http://www.ctan.org/support/LEd</span></a>. + </li> + <li class="itemize"><span +class="lass-1000">SciTE </span>можно скачать с <a +href="http://www.scintilla.org/SciTE.html" class="url" ><span +class="latt-1000">http://www.scintilla.org/SciTE.html</span></a>. + </li> + <li class="itemize"><span +class="lass-1000">Texmaker </span>—  это свободная программа, которую можно скачать с + <a +href="http://www.xm1math.net/texmaker/" class="url" ><span +class="latt-1000">http://www.xm1math.net/texmaker/</span></a>. + </li> + <li class="itemize">TeXnicCenter —  это свободная программа, которую можно скачать с + <a +href="http://www.toolscenter.org" class="url" ><span +class="latt-1000">http://www.toolscenter.org</span></a> и в дистрибутиве pro<span class="TEX">T<span +class="E">E</span>X</span>t. + </li> + <li class="itemize"><span +class="lass-1000">TeXworks </span>—  это + свободная программа, которую можно скачать с <a +href="http://tug.org/texworks" class="url" ><span +class="latt-1000">http://tug.org/texworks</span></a>. Её версии + для Windows и Mac OS X входят в <span class="TEX">T<span +class="E">E</span>X</span> Live. + </li> + <li class="itemize"><span +class="lass-1000">Vim </span>—  это свободная программа, которую можно скачать с <a +href="http://www.vim.org" class="url" ><span +class="latt-1000">http://www.vim.org</span></a>. + </li> + <li class="itemize"><span +class="lass-1000">WinEdt </span>это shareware. Эту программу можно скачать с <a +href="http://tug.org/winedt" class="url" ><span +class="latt-1000">http://tug.org/winedt</span></a> или + <a +href="http://www.winedt.com" class="url" ><span +class="latt-1000">http://www.winedt.com</span></a>. + </li> + <li class="itemize"><span +class="lass-1000">WinShell </span>можно скачать с <a +href="http://www.winshell.de" class="url" ><span +class="latt-1000">http://www.winshell.de</span></a>.</li></ul> + </dd></dl> +<!--l. 1405--><p class="indent" > Гораздо более полный лист программ и пакетов находится на <a +href="http://tug.org/interest.html" class="url" ><span +class="latt-1000">http://tug.org/interest.html</span></a>. +<!--l. 1408--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">4 </span> <a + id="x1-410004"></a>Установка системы в особых случаях</h3> +<!--l. 1410--><p class="noindent" >В предыдущих разделах описывались основы процесса установки <span class="TEX">T<span +class="E">E</span>X</span> Live. Здесь мы остановимся на +нескольких особых случаях. +<!--l. 1413--><p class="indent" > <a id="tlsharedinstall"></a> + <h4 class="subsectionHead"><span class="titlemark">4.1 </span> <a + id="x1-420004.1"></a>Установка в локальной сети</h4> +<!--l. 1417--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Live может использоваться одновременно разными пользователями или даже разными машинами в +локальной сети. В стандартной схеме директорий все пути к файлам являются относительными: +программы <span class="TEX">T<span +class="E">E</span>X</span> Live определяют, где лежат нужные им файлы, исходя из того, где они находятся сами. +Вы можете увидеть, как это делается, посмотрев конфигурационный файл <span +class="latt-1000">$TEXMFMAIN/web2c/texmf.cnf</span> +со строчками типа + <div class="fancyvrb" id="fancyvrb10"><a + id="x1-42002r1"></a><span +class="latt-0900"> </span><span +class="latt-0900"> TEXMFMAIN</span><span +class="latt-0900"> =</span><span +class="latt-0900"> $SELFAUTOPARENT/texmf</span><br class="fancyvrb" /><a + id="x1-42004r2"></a><span +class="latt-0900"> </span><span +class="latt-0900"> ...</span><br class="fancyvrb" /><a + id="x1-42006r3"></a><span +class="latt-0900"> </span><span +class="latt-0900"> TEXMFLOCAL</span><span +class="latt-0900"> =</span><span +class="latt-0900"> $SELFAUTOPARENT/../texmf-local</span></div> +<!--l. 1429--><p class="noindent" >Это означает, что другие системы или пользователи должны просто добавить директорию с программами +<span class="TEX">T<span +class="E">E</span>X</span> Live к директориям поиска. +<!--l. 1432--><p class="indent" > Точно так же вы можете установить <span class="TEX">T<span +class="E">E</span>X</span> Live на один компьютер, а затем перенести всю иерархию +на локальную сеть. +<!--l. 1435--><p class="indent" > Под Windows скрипт для установки системы в локальной сети называется <span +class="latt-1000">w32client </span>и находится +на <a +href="http://tug.org/texlive/w32client.html" class="url" ><span +class="latt-1000">http://tug.org/texlive/w32client.html</span></a>. Он добавляет к уже установленной системе +<span class="TEX">T<span +class="E">E</span>X</span> Live необходимые для работы в локальной сети изменения. Есть также скрипт для +удаления этих изменений <span +class="latt-1000">w32unclient</span>. См. более подробное описание на странице скрипта +выше. +<!--l. 1444--><p class="indent" > <a id="tlportable"></a> + + + <h3 class="sectionHead"><span class="titlemark">5 </span> <a + id="x1-430005"></a>Установка <span class="TEX">T<span +class="E">E</span>X</span> Live на флешку</h3> +<!--l. 1448--><p class="noindent" >Опция программы установки <span +class="latt-1000">-portable </span>(или команда <span +class="latt-1000">V </span>в текстовом режиме, или соответствующий +пункт меню в графическом режиме) создает систему, находящуюся полностью в своей директории, и не +изменяет конфигурации компьютера. Вы можете установить такую систему на USB флешку или в +отдельную директорию, а потом скопировать её на флешку. +<!--l. 1455--><p class="indent" > Чтобы запустить <span class="TEX">T<span +class="E">E</span>X</span> с такой флешки, вам нужно добавить директорию с программами к путям +поиска программ. Под Юниксом это делается при помощи изменения переменной окружения <span +class="latt-1000">PATH</span>. Под +Windows вы можете щелкнуть на <span +class="latt-1000">tl-tray-menu</span>, чтобы выбрать из нескольких стандартных задач, как +показано ниже: + +<!--l. 1462--><p class="indent" > <img +src="../texlive-common/tray-menu.png" alt="pict" +> +<!--l. 1465--><p class="noindent" >Меню «Custom Script» вызывает окошко с объяснением, как добавить дополнительные возможности в +меню. +<!--l. 1468--><p class="indent" > <a id="tlisoinstall"></a> + <h4 class="subsectionHead"><span class="titlemark">5.1 </span> <a + id="x1-440005.1"></a>Создание образа ISO или DVD</h4> +<!--l. 1472--><p class="noindent" >Если вам не нужно часто обновлять систему, и/или у вас несколько машин, на которых вы хотите +использовать <span class="TEX">T<span +class="E">E</span>X</span> Live, то для вас может иметь смысл создать образ ISO или DVD, так +как: + <ul class="itemize1"> + <li class="itemize">Копирование ISO с компьютера на компьютер быстрее, чем копирование обычной системы. + </li> + <li class="itemize">Если вы держите на одном компьютере несколько операционных систем, и хотите + использовать для них одну копию <span class="TEX">T<span +class="E">E</span>X</span> Live, то создать образ диска можеть быть проще, чем + учитывать особенности и ограничения файловых систем на общих разделах (FAT32, NTFS, + HFS+). + </li> + <li class="itemize">Виртуальные машины могут использовать образ как виртуальный диск.</li></ul> +<!--l. 1488--><p class="indent" > Разумеется, вы можете также прожечь реальный DVD, если это вам удобнее. +<!--l. 1491--><p class="indent" > Десктопные версии GNU/Linux/Unix, включая Mac OS X, умеют монтировать ISO. В остальном +установка такая же, как при установке на жесткий диск, см. раздел <a +href="#x1-320003.4.1">3.4.1<!--tex4ht:ref: sec:env --></a>. +<!--l. 1495--><p class="indent" > При установке на ISO имеет смысл не делать поддиректорию для года текущей версии, и +устанавливать <span +class="latt-1000">texmf-local </span>на том же уровнем что и другие деревья (<span +class="latt-1000">texmf</span>, <span +class="latt-1000">texmf-dist</span>, и т. д.). Это +можно сделать при помощи опций программы установки. +<!--l. 1500--><p class="indent" > Для обычной (не виртуальной) машины под Windows вы можете прожечь ISO на DVD. Однако +возможно, что вам будет удобно использовать разнообразные свободные программы для монтирования +виртуальных дисков. Для Windows XP Microsoft рекомендует <span +class="latt-1000">winxpvirtualcdcontrolpanel</span>. +<!--l. 1506--><p class="indent" > Для лучшего взаимодействия с системой, вы можете включить скрипты для <span +class="latt-1000">w32client</span>, описанные в +разделе <a +href="#x1-420004.1">4.1<!--tex4ht:ref: sec:sharedinstall --></a> и на странице <a +href="http://tug.org/texlive/w32client.html" class="url" ><span +class="latt-1000">http://tug.org/texlive/w32client.html</span></a>. Они работают с ISO точно так же, +как и с системой в локальной сети. +<!--l. 1511--><p class="indent" > Под Mac OS X TeXShop и <span class="TEX">T<span +class="E">E</span>X</span>works могут использовать систему на DVD, если симлинк <span +class="latt-1000">/usr/texbin</span> +указывает на директорию с программами для нужной архитектуры, например + + + <div class="verbatim" id="verbatim-2"> + <div class="fancyvrb" id="fancyvrb11"><a + id="x1-44002r1"></a>  sudo ln -s /Volumes/MyTeXLive/bin/universal-darwin /usr/texbin</div> +</div> +<!--l. 1516--><p class="nopar" > +<!--l. 1518--><p class="indent" > Историческая справка: <span class="TEX">T<span +class="E">E</span>X</span> Live 2010 была первым изданием <span class="TEX">T<span +class="E">E</span>X</span> Live, который не мог работать +непосрественно с диска («live»). Однако для работы с DVD или ISO всегда нужны были +дополнительные усилия: например, необходимо было установить хотя бы одну переменную окружения. +Если бы создаете образ ISO из существующей системы, то в этом нет нужды. +<!--l. 1524--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">6 </span> <a + id="x1-450006"></a>Администрирование системы при помощи <span +class="lass-1000">tlmgr</span></h3> +<!--l. 1527--><p class="noindent" ><hr class="figure"><div class="figure" +> + + +<a + id="x1-45001r8"></a> + + + +<!--l. 1528--><p class="noindent" ><img +src="../texlive-common/tlmgr-gui.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Рис. 8: </span><span +class="content"><span +class="lass-1000">tlmgr </span>в графическом режиме. Список пакетов/коллекций/схем после нажатия на клавишу +«Load»</span></div><!--tex4ht:label?: x1-45001r8 --> + + +<!--l. 1532--><p class="noindent" ></div><hr class="endfigure"> +<!--l. 1534--><p class="indent" > <hr class="figure"><div class="figure" +> + + +<a + id="x1-45002r9"></a><a + id="x1-45003r10"></a> + + + +<!--l. 1538--><p class="noindent" ><img +src="../texlive-common/tlmgr-general-options.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Рис. 9: </span><span +class="content">Программа <span +class="latt-1000">tlmgr </span>в графическом режиме: главное +меню</span></div><!--tex4ht:label?: x1-45002r9 --> +<!--l. 1545--><p class="noindent" ><img +src="../texlive-common/tlmgr-paper-options.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Рис. 10: </span><span +class="content">Программа <span +class="latt-1000">tlmgr</span> +в графическом режиме: меню выбора +размера бумаги</span></div><!--tex4ht:label?: x1-45003r10 --> + + +<!--l. 1551--><p class="indent" > </div><hr class="endfigure"> +<!--l. 1553--><p class="indent" > В <span class="TEX">T<span +class="E">E</span>X</span> Live входит программа <span +class="lass-1000">tlmgr </span>для администрирования системы после установки. Программы +<span +class="lass-1000">updmap</span>, <span +class="lass-1000">fmtutil </span>и <span +class="lass-1000">texconfig </span>все ещё есть в системе и будут там в будущем, но мы рекомендуем теперь +программу <span +class="lass-1000">tlmgr</span>. Среди её возможностей: + <ul class="itemize1"> + <li class="itemize">установка, обновление, архивирование, восстановление и удаление отдельных пакетов, при + желании с учетом зависимостей между ними; + </li> + <li class="itemize">поиск и перечисление пакетов; + </li> + <li class="itemize">перечисление, добавление и удаление платформ; + </li> + <li class="itemize">изменение параметров системы, например, размера бумаги и источника установки (см. + раздел <a +href="#x1-300003.3.1">3.3.1<!--tex4ht:ref: sec:location --></a>).</li></ul> + <h4 class="subsectionHead"><span class="titlemark">6.1 </span> <a + id="x1-460006.1"></a>Программа <span +class="lass-1000">tlmgr </span>в графическом режиме</h4> +<!--l. 1567--><p class="noindent" >Программа <span +class="lass-1000">tlmgr </span>может быть запущена в графическом режиме: <div class="alltt"> +<!--l. 1568--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">></span><span +class="latt-1000"> tlmgr</span><span +class="latt-1000"> -gui</span> +</div> +</div> или на Windows из меню Start: <span +class="latt-1000">Start</span>, <span +class="latt-1000">Programs</span>, <span +class="latt-1000">TeX Live 2012</span>, <span +class="latt-1000">TeX Live Manager</span>. После нажатия на +клавишу «Load», она показывает список доступных и установленных пакетов. Это, разумеется, +происходит при условии, что источник установки доступен. +<!--l. 1577--><p class="indent" > На рисунках <a +href="#x1-45002r9">9<!--tex4ht:ref: fig:tlmgr-general-options --></a> и <a +href="#x1-45003r10">10<!--tex4ht:ref: fig:tlmgr-paper-options --></a> показаны главное меню и меню выбора размера бумаги. +<!--l. 1580--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">6.2 </span> <a + id="x1-470006.2"></a>Примеры запуска программы <span +class="lass-1000">tlmgr </span>из командной строки</h4> +<!--l. 1582--><p class="noindent" >После первоначальной установки вы можете обновить систему до последних версий, имеющихся на сети: +<div class="alltt"> +<!--l. 1584--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">></span><span +class="latt-1000"> tlmgr</span><span +class="latt-1000"> update</span><span +class="latt-1000"> -all</span> +</div> +</div> Если вы хотите сначала посмотреть, что именно будет обновляться, попробуйте сначала +<div class="alltt"> +<!--l. 1589--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">></span><span +class="latt-1000"> tlmgr</span><span +class="latt-1000"> update</span><span +class="latt-1000"> -all</span><span +class="latt-1000"> -dry-run</span> +</div> +</div> или (не так многословно): <div class="alltt"> +<!--l. 1593--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">></span><span +class="latt-1000"> tlmgr</span><span +class="latt-1000"> update</span><span +class="latt-1000"> -list</span> +</div> +</div> +<!--l. 1597--><p class="indent" > В более сложном примере мы добавляем новую коллекцию (Xe<span class="TEX">T<span +class="E">E</span>X</span>) из локальной директории: + <div class="alltt"> +<!--l. 1600--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">></span><span +class="latt-1000"> tlmgr</span><span +class="latt-1000"> -repository</span><span +class="latt-1000"> /local/mirror/tlnet</span><span +class="latt-1000"> install</span><span +class="latt-1000"> collection-xetex</span> + + +</div> +</div> В результате система печатает следующее (многие строки удалены для краткости): + <div class="fancyvrb" id="fancyvrb12"><a + id="x1-47002r1"></a><span +class="latt-0800"> </span><span +class="latt-0800"> install:</span><span +class="latt-0800"> collection-xetex</span><br class="fancyvrb" /><a + id="x1-47004r2"></a><span +class="latt-0800"> </span><span +class="latt-0800"> install:</span><span +class="latt-0800"> arabxetex</span><br class="fancyvrb" /><a + id="x1-47006r3"></a><span +class="latt-0800"> </span><span +class="latt-0800"> ...</span><br class="fancyvrb" /><a + id="x1-47008r4"></a><span +class="latt-0800"> </span><span +class="latt-0800"> install:</span><span +class="latt-0800"> xetex</span><br class="fancyvrb" /><a + id="x1-47010r5"></a><span +class="latt-0800"> </span><span +class="latt-0800"> install:</span><span +class="latt-0800"> xetexconfig</span> +<br class="fancyvrb" /><a + id="x1-47012r6"></a><span +class="latt-0800"> </span><span +class="latt-0800"> install:</span><span +class="latt-0800"> xetex.i386-linux</span><br class="fancyvrb" /><a + id="x1-47014r7"></a><span +class="latt-0800"> </span><span +class="latt-0800"> running</span><span +class="latt-0800"> post</span><span +class="latt-0800"> install</span><span +class="latt-0800"> action</span><span +class="latt-0800"> for</span><span +class="latt-0800"> xetex</span><br class="fancyvrb" /><a + id="x1-47016r8"></a><span +class="latt-0800"> </span><span +class="latt-0800"> install:</span><span +class="latt-0800"> xetex-def</span><br class="fancyvrb" /><a + id="x1-47018r9"></a><span +class="latt-0800"> </span><span +class="latt-0800"> ...</span><br class="fancyvrb" /><a + id="x1-47020r10"></a><span +class="latt-0800"> </span><span +class="latt-0800"> running</span><span +class="latt-0800"> mktexlsr</span> +<br class="fancyvrb" /><a + id="x1-47022r11"></a><span +class="latt-0800"> </span><span +class="latt-0800"> mktexlsr:</span><span +class="latt-0800"> Updating</span><span +class="latt-0800"> /usr/local/texlive/2012/texmf/ls-R...</span><br class="fancyvrb" /><a + id="x1-47024r12"></a><span +class="latt-0800"> </span><span +class="latt-0800"> ...</span><br class="fancyvrb" /><a + id="x1-47026r13"></a><span +class="latt-0800"> </span><span +class="latt-0800"> running</span><span +class="latt-0800"> fmtutil-sys</span><span +class="latt-0800"> --missing</span><br class="fancyvrb" /><a + id="x1-47028r14"></a><span +class="latt-0800"> </span><span +class="latt-0800"> ...</span> +<br class="fancyvrb" /><a + id="x1-47030r15"></a><span +class="latt-0800"> </span><span +class="latt-0800"> Transcript</span><span +class="latt-0800"> written</span><span +class="latt-0800"> on</span><span +class="latt-0800"> xelatex.log.</span><br class="fancyvrb" /><a + id="x1-47032r16"></a><span +class="latt-0800"> </span><span +class="latt-0800"> fmtutil:</span><span +class="latt-0800"> /usr/local/texlive/2012/texmf-var/web2c/xetex/xelatex.fmt</span><span +class="latt-0800"> installed.</span></div> +<!--l. 1624--><p class="indent" > Как вы видите, <span +class="lass-1000">tlmgr </span>учитывает зависимости между пакетами, и сама делает нужные после +установки шаги, включая обновление базы имен файлов и перегенерирование форматов. В примере +выше она создала новые форматы для программы Xe<span class="TEX">T<span +class="E">E</span>X</span>. +<!--l. 1629--><p class="indent" > Описание пакета (или коллекции или схемы): <div class="alltt"> +<!--l. 1630--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">></span><span +class="latt-1000"> tlmgr</span><span +class="latt-1000"> show</span><span +class="latt-1000"> collection-latexextra</span> +</div> +</div> что дает + <div class="fancyvrb" id="fancyvrb13"><a + id="x1-47034r1"></a><span +class="latt-0800"> </span><span +class="latt-0800"> package:</span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> collection-latexextra</span><br class="fancyvrb" /><a + id="x1-47036r2"></a><span +class="latt-0800"> </span><span +class="latt-0800"> category:</span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> Collection</span><br class="fancyvrb" /><a + id="x1-47038r3"></a><span +class="latt-0800"> </span><span +class="latt-0800"> shortdesc:</span><span +class="latt-0800"> </span><span +class="latt-0800"> LaTeX</span><span +class="latt-0800"> supplementary</span><span +class="latt-0800"> packages</span> +<br class="fancyvrb" /><a + id="x1-47040r4"></a><span +class="latt-0800"> </span><span +class="latt-0800"> longdesc:</span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> A</span><span +class="latt-0800"> large</span><span +class="latt-0800"> collection</span><span +class="latt-0800"> of</span><span +class="latt-0800"> add-on</span><span +class="latt-0800"> packages</span><span +class="latt-0800"> for</span><span +class="latt-0800"> LaTeX.</span><br class="fancyvrb" /><a + id="x1-47042r5"></a><span +class="latt-0800"> </span><span +class="latt-0800"> installed:</span><span +class="latt-0800"> </span><span +class="latt-0800"> Yes</span><br class="fancyvrb" /><a + id="x1-47044r6"></a><span +class="latt-0800"> </span><span +class="latt-0800"> revision:</span><span +class="latt-0800"> </span><span +class="latt-0800"> </span><span +class="latt-0800"> 14675</span></div> +<!--l. 1643--><p class="indent" > И наконец, полная документация находится по адресу <a +href="http://tug.org/texlive/tlmgr.html" class="url" ><span +class="latt-1000">http://tug.org/texlive/tlmgr.html</span></a> или +вызывается командой <div class="alltt"> +<!--l. 1645--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">></span><span +class="latt-1000"> tlmgr</span><span +class="latt-1000"> -help</span> +</div> +</div> +<!--l. 1651--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">7 </span> <a + id="x1-480007"></a>Дополнительные замечания о Windows</h3> +<!--l. 1655--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">7.1 </span> <a + id="x1-490007.1"></a>Дополнительные возможности Windows</h4> +<!--l. 1658--><p class="noindent" >Под Windows программа установки делает несколько дополнительных вещей: + <dl class="description"><dt class="description"> +<span +class="labx-1000">Меню и ярлыки.</span> </dt><dd +class="description">Устанавливается подменю «<span class="TEX">T<span +class="E">E</span>X</span> Live» меню «Start», которое содержит + некоторые программы (<span +class="lass-1000">tlmgr</span>, <span +class="lass-1000">texdoctk</span>, программа PS_View (<span +class="lass-1000">psv</span>) для просмотра файлов в + формате PostScript) и документацию. + </dd><dt class="description"> +<span +class="labx-1000">Программы по умолчанию.</span> </dt><dd +class="description">При необходиости, программы <span +class="lass-1000">TeXworks</span>, <span +class="lass-1000">Dviout </span>и <span +class="lass-1000">PS_view</span> + становятся программами по умолчанию для соответствующих типов файлов или заносятся + в меню «Открыть при помощи...» для этих файлов. + </dd><dt class="description"> +<span +class="labx-1000">Конвертирование графики в формат eps.</span> </dt><dd +class="description">В меню «Открыть при + помощи...> для графических файлов добавляется команда <span +class="lass-1000">bitmap2eps</span>. Это простой скрипт, + который вызывает программы <span +class="lass-1000">sam2p </span>или <span +class="lass-1000">bmeps </span>для конвертирования графики. + </dd><dt class="description"> +<span +class="labx-1000">Автоматическая установка переменных окружения.</span> </dt><dd +class="description">Все переменные окружения + устанавливаются автоматически. + </dd><dt class="description"> +<span +class="labx-1000">Удаление системы.</span> </dt><dd +class="description">Программа установки создает в меню «Add/Remove Programs» запись + «<span class="TEX">T<span +class="E">E</span>X</span> Live». Клавиша «удалить» в меню <span +class="lass-1000">tlmgr </span>вызывает удаление системы.</dd></dl> + + +<!--l. 1682--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">7.2 </span> <a + id="x1-500007.2"></a>Дополнительные пакеты для Windows</h4> +<!--l. 1686--><p class="noindent" >Для полноты дистрибутиву <span class="TEX">T<span +class="E">E</span>X</span> Live необходимы дополнительные пакеты, которые обычно не +встречаются на машине под Windows. В <span class="TEX">T<span +class="E">E</span>X</span> Live есть недостающие программы и пакеты: + <dl class="description"><dt class="description"> +<span +class="labx-1000">Perl и Ghostscript.</span> </dt><dd +class="description">Ввиду важности этих программ, <span class="TEX">T<span +class="E">E</span>X</span> Live включает их «скрытые» копии. + Программы <span class="TEX">T<span +class="E">E</span>X</span> Live, которым они нужны, знают, где их найти, но они не выдают их + присутствия системе через переменные окружения или регистр. Это усеченные варианты + программ Perl и Ghostscript, и они не должны замещать системные версии. + </dd><dt class="description"> +<span +class="labx-1000">PS_View.</span> </dt><dd +class="description">Также устанавливается PS_View, программа для просмотра файлов в форматах + PostScript и PDF, см. рисунок <a +href="#x1-50001r11">11<!--tex4ht:ref: fig:psview --></a>. + <!--l. 1700--><p class="noindent" ><hr class="figure"><div class="figure" +><a + id="x1-50001r11"></a> <img +src="../texlive-common/psview.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Рис. 11: </span><span +class="content">PS_View: программа умеет показывать файлы под большим увеличением!</span></div><!--tex4ht:label?: x1-50001r11 --> + <!--l. 1704--><p class="noindent" ></div><hr class="endfigure"> + </dd><dt class="description"> +<span +class="labx-1000">dviout.</span> </dt><dd +class="description">Также устанавливается <span +class="lass-1000">dviout</span>, программа для просмотра файлов в формате DVI. При первом + запуске программы она создает шрифты для просмотра файлов. Если вы будете пользоваться ей + некоторое время, она создаст практически все нужные вам шрифты, и окно создания шрифтов + будет появляться все реже. Дополнительная информация о программе содержится в (очень + хорошем) меню Help. + </dd><dt class="description"> +<span +class="labx-1000">TeXworks.</span> </dt><dd +class="description"><span class="TEX">T<span +class="E">E</span>X</span>works —  это редактор для <span class="TEX">T<span +class="E">E</span>X</span>а со встроенной программой для просмотра PDF. Он + устанавливается уже настроенным для <span class="TEX">T<span +class="E">E</span>X</span> Live. + </dd><dt class="description"> +<span +class="labx-1000">Утилиты командной строки.</span> </dt><dd +class="description">Вместе с программами <span class="TEX">T<span +class="E">E</span>X</span> Live устанавливается ряд портированных + под Windows стандартных юниксовских утилит: <span +class="lass-1000">gzip</span>, <span +class="lass-1000">unzip </span>и программы из набора <span +class="lass-1000">xpdf</span>. Сам <span +class="lass-1000">xpdf</span> + под Windows не работает, но вы можете скачать основанную на его коде программу Sumatra: + <a +href="http://blog.kowalczyk.info/software/sumatrapdf" class="url" ><span +class="latt-1000">http://blog.kowalczyk.info/software/sumatrapdf</span></a>.) + </dd><dt class="description"> +<span +class="labx-1000">fc-list, fc-cache и т.д.</span> </dt><dd +class="description">Эти программы из библиотеки <span +class="lass-1000">fontconfig </span>помогают Xe<span class="TEX">T<span +class="E">E</span>X</span>у работать со + шрифтами под Windows. Вы можете определить названия шрифтов для команды <span +class="latt-1000">\font </span>при + помощи программы <span +class="lass-1000">fc-list</span>. Если нужно, вызовите сначала программу <span +class="lass-1000">fc-cache</span>, чтобы обновить + информацию о шрифтах. + </dd></dl> +<!--l. 1738--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">7.3 </span> <a + id="x1-510007.3"></a>Домашняя директория под Windows</h4> +<!--l. 1741--><p class="noindent" >Аналогом домашней директории под UNIX является директория <span class="obeylines-h"><span class="verb"><span +class="latt-1000">%USERPROFILE%</span></span></span>. Под Windows XP +это обычно <span class="obeylines-h"><span class="verb"><span +class="latt-1000">C:\Documents</span><span +class="latt-1000"> and</span><span +class="latt-1000"> Settings\<username></span></span></span>, а под Windows Vista и Windows 7 — +<span class="obeylines-h"><span class="verb"><span +class="latt-1000">C:\Users\<username></span></span></span>. В файле <span +class="latt-1000">texmf.cnf </span>и вообще при работе Kpathsea, тильда <span class="obeylines-h"><span class="verb"><span +class="latt-1000">~</span></span></span> правильно +интерпретируется как домашняя директория пользователя и под Windows, и под UNIX. +<!--l. 1750--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">7.4 </span> <a + id="x1-520007.4"></a>Регистр Windows</h4> +<!--l. 1753--><p class="noindent" >Windows хранит почти все конфигурационные данные в регистре. Регистр содержит набор иерархически +организованных записей, с несколькими корневыми записями. Наиболее важны для программ установки +записи <span class="path"><span +class="latt-1000">HKEY_CURRENT_USER</span></span> и <span class="path"><span +class="latt-1000">HKEY_LOCAL_MACHINE</span></span>, сокращенно <span class="path"><span +class="latt-1000">HKCU</span></span> и <span class="path"><span +class="latt-1000">HKLM</span></span>. Как правило, <span class="path"><span +class="latt-1000">HKCU</span></span> +находится в домашней директории пользователя (см. раздел <a +href="#x1-510007.3">7.3<!--tex4ht:ref: sec:winhome --></a>), а <span class="path"><span +class="latt-1000">HKLM</span></span> — поддиректория директории +Windows. + + +<!--l. 1761--><p class="indent" > Иногда конфигурация системы определяется переменными окружения, но некоторые вещи +(например, положение ярлыков) задаются в регистре. Для того, чтобы перманентно задать переменные +окружения, также нужен доступ к регистру. +<!--l. 1766--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">7.5 </span> <a + id="x1-530007.5"></a>Права доступа под Windows</h4> +<!--l. 1769--><p class="noindent" >В поздних версиях Windows делается различие между обычными пользователями и администраторами, +причем только последние имеют право доступа ко всей операционной системе. На практике однако +было бы более правильно описывать эти классы пользователей как «непривилегированные +пользователи» и «обычные пользователи»: права администратора являются правилом, а не +исключением. Однако мы постарались сделать возможным установку <span class="TEX">T<span +class="E">E</span>X</span> Live без прав +администратора. +<!--l. 1778--><p class="indent" > Если пользователь является администратором, он может установить <span class="TEX">T<span +class="E">E</span>X</span> Live для всех +пользователей. В этом случае ярлыки создаются у всех пользователей, и модифицируются системные +параметры. В противном случае ярлыки и меню создаются только для текущего пользователя, и +модифицируются его параметры. +<!--l. 1784--><p class="indent" > Вне зависимости от статуса пользователя, корень установки <span class="TEX">T<span +class="E">E</span>X</span> Live, предлагаемый по умолчанию, +всегда находится под <span class="obeylines-h"><span class="verb"><span +class="latt-1000">%SystemDrive%</span></span></span>. Программа установки всегда проверяет, открыта ли корневая +директория на запись для текущего пользователя. +<!--l. 1789--><p class="indent" > Может возникнуть проблема, если у пользователя нет прав администратора, а в пути поиска уже +есть <span class="TEX">T<span +class="E">E</span>X</span>. Поскольку в пути поиска системный путь стоит перед путем пользователя, <span class="TEX">T<span +class="E">E</span>X</span> из <span class="TEX">T<span +class="E">E</span>X</span> Live +не будет найден. Чтобы обойти эту проблему, программа в таком случае создает ярлык с командной +строкой, в которой директория <span class="TEX">T<span +class="E">E</span>X</span> Live стоит первой в пути поиска. Из этой командной строки можно +пользоваться <span class="TEX">T<span +class="E">E</span>X</span> Live. Ярлык для <span class="TEX">T<span +class="E">E</span>X</span>works, если эта программа установлена, также добавляет +директории <span class="TEX">T<span +class="E">E</span>X</span> Live в начало пути поиска. +<!--l. 1798--><p class="indent" > У Windows Vista и Windows 7 есть ещё одна особенность: даже если вы являетесь администратором, +вам нужно отдельно указать административные права при запуске программ. Поэтому не имеет особого +смысла заходить в систему как администратор: вместо этого, щелкнув правой клавишей мыши на +ярлык, выберите из меню «Run as administrator». +<!--l. 1804--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">7.5.1 </span> <a + id="x1-540007.5.1"></a>Увеличение предоставляемой памяти под Windows и Cygwin</h5> +<!--l. 1807--><p class="noindent" >Пользователи Windows и Cygwin (см. раздел <a +href="#x1-200003.1.4">3.1.4<!--tex4ht:ref: sec:cygwin --></a> об особенностях установки под Cygwin) могут +обнаружить, что для некоторых программ <span class="TEX">T<span +class="E">E</span>X</span> Live не хватает оперативной памяти. Например, +программа <span +class="lass-1000">asy </span>может не запуститься, если вам нужно разместить массив в 25 000 000 числе с +плавающей точкой, а Lua<span class="TEX">T<span +class="E">E</span>X</span> может не справиться с документом, в котором много разных +шрифтов. +<!--l. 1814--><p class="indent" > Под Cygwin можно увеличить используемый объем памяти, если воспользоваться инструкциями в +Руководстве пользователя Cygwin (<a +href="http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html" class="url" ><span +class="latt-1000">http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html</span></a>). +<!--l. 1818--><p class="indent" > Под Windows нужно создать файл, скажем, <span +class="latt-1000">moremem.reg</span>, со следующими четырьмя строками: +<!--l. 1821--><p class="indent" > + <div class="fancyvrb" id="fancyvrb14"><a + id="x1-54002r1"></a><span +class="latt-0900"> </span><span +class="latt-0900"> Windows</span><span +class="latt-0900"> Registry</span><span +class="latt-0900"> Editor</span><span +class="latt-0900"> Version</span><span +class="latt-0900"> 5.00</span><br class="fancyvrb" /><a + id="x1-54004r2"></a><span +class="latt-0900"> </span><span +class="latt-0900"> </span><br class="fancyvrb" /><a + id="x1-54006r3"></a><span +class="latt-0900"> </span><span +class="latt-0900"> [HKEY_LOCAL_MACHINE\Software\Cygwin]</span><br class="fancyvrb" /><a + id="x1-54008r4"></a><span +class="latt-0900"> </span><span +class="latt-0900"> "heap_chunk_in_mb"=dword:ffffff00</span></div> +<!--l. 1828--><p class="noindent" >а затем выполнить как администратор команду <span +class="latt-1000">regedit /s moremem.reg</span>. Если вы хотите +изменить этот параметр только для текущего пользователя, то в третьей строке надо написать +<span +class="latt-1000">HKEY_CURRENT_USER</span>. +<!--l. 1834--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">8 </span> <a + id="x1-550008"></a>Руководство пользователя Web2C</h3> +<!--l. 1836--><p class="noindent" >Web2C — это интегрированная коллекция программ, относящихся к <span class="TEX">T<span +class="E">E</span>X</span>у: сам <span class="TEX">T<span +class="E">E</span>X</span>, Metafont, MetaPost, +BibTeX, и т.д. Это сердце <span class="TEX">T<span +class="E">E</span>X</span> Live. Страница Web2C с руководством пользователя и многим другим +находится на <a +href="http://tug.org/web2c" class="url" ><span +class="latt-1000">http://tug.org/web2c</span></a>. +<!--l. 1841--><p class="indent" > Немного истории. Первая версия программы была написана Томасом Рокики, который в 1987 году +создал систему <span class="TEX">T<span +class="E">E</span>X</span>-to-C, адаптировав патчи для UNIX, разработанные в основном Говардом Трики и +Павлом Куртисом. Тим Морган стал поддерживать систему, и в этот период её название сменилось на + + +Web-to-C. В 1990 году Карл Берри взял на себя этот проект, координируя работу десятков +программистов, а в 1997 он передал руководство Олафу Веберу, который вернул его Карлу в 2006 +году. +<!--l. 1850--><p class="indent" > Система Web2C работает под UNIX, 32-битовых Windows, Mac OS X, и других операционных +системах. Она использует оригинальные исходники Кнута для <span class="TEX">T<span +class="E">E</span>X</span>а и других программ, написанных на +языке <span +class="latt-1000">WEB </span>и переведённых на C. Основные программы системы: +<!--l. 1855--><p class="indent" > + <dl class="list1"><dt class="list"> + <span +class="lass-1000">bibtex</span> </dt><dd +class="list"> + <!--l. 1856--><p class="noindent" >Поддержка библиографий. + </dd><dt class="list"> + <span +class="lass-1000">dvicopy</span> </dt><dd +class="list"> + <!--l. 1857--><p class="noindent" >Работа с виртуальными шрифтами в файлах DVI. + </dd><dt class="list"> + <span +class="lass-1000">dvitomp</span> </dt><dd +class="list"> + <!--l. 1858--><p class="noindent" >Перевод DVI в MPX (рисунки в MetaPost). + </dd><dt class="list"> + <span +class="lass-1000">dvitype</span> </dt><dd +class="list"> + <!--l. 1859--><p class="noindent" >Перевод DVI в текст. + </dd><dt class="list"> + <span +class="lass-1000">gftodvi</span> </dt><dd +class="list"> + <!--l. 1860--><p class="noindent" >Гранки шрифтов. + </dd><dt class="list"> + <span +class="lass-1000">gftopk</span> </dt><dd +class="list"> + <!--l. 1861--><p class="noindent" >Упаковка шрифтов + </dd><dt class="list"> + <span +class="lass-1000">gftype</span> </dt><dd +class="list"> + <!--l. 1862--><p class="noindent" >Перевод GF в текст. + </dd><dt class="list"> + <span +class="lass-1000">mf</span> </dt><dd +class="list"> + <!--l. 1863--><p class="noindent" >Создание шрифтов. + </dd><dt class="list"> + <span +class="lass-1000">mft</span> </dt><dd +class="list"> + <!--l. 1864--><p class="noindent" >Вёрстка исходников Metafont. + </dd><dt class="list"> + <span +class="lass-1000">mpost</span> </dt><dd +class="list"> + <!--l. 1865--><p class="noindent" >Рисование диаграмм. + </dd><dt class="list"> + <span +class="lass-1000">patgen</span> </dt><dd +class="list"> + <!--l. 1866--><p class="noindent" >Создание таблиц переносов. + </dd><dt class="list"> + <span +class="lass-1000">pktogf</span> </dt><dd +class="list"> + <!--l. 1867--><p class="noindent" >Перевод PK в GF. + </dd><dt class="list"> + <span +class="lass-1000">pktype</span> </dt><dd +class="list"> + <!--l. 1868--><p class="noindent" >Перевод PK в текст + </dd><dt class="list"> + <span +class="lass-1000">pltotf</span> </dt><dd +class="list"> + <!--l. 1869--><p class="noindent" >Перевод из списка свойств шрифта в TFM. + + + </dd><dt class="list"> + <span +class="lass-1000">pooltype</span> </dt><dd +class="list"> + <!--l. 1870--><p class="noindent" >Расшифровка файлов pool в <span +class="latt-1000">WEB</span>. + </dd><dt class="list"> + <span +class="lass-1000">tangle</span> </dt><dd +class="list"> + <!--l. 1871--><p class="noindent" >Перевод <span +class="latt-1000">WEB </span>в Pascal. + </dd><dt class="list"> + <span +class="lass-1000">tex</span> </dt><dd +class="list"> + <!--l. 1872--><p class="noindent" >Вёрстка. + </dd><dt class="list"> + <span +class="lass-1000">tftopl</span> </dt><dd +class="list"> + <!--l. 1873--><p class="noindent" >Перевод TFM в список свойств шрифта. + </dd><dt class="list"> + <span +class="lass-1000">vftovp</span> </dt><dd +class="list"> + <!--l. 1874--><p class="noindent" >Перевод виртуального шрифта в список свойств шрифта. + </dd><dt class="list"> + <span +class="lass-1000">vptovf</span> </dt><dd +class="list"> + <!--l. 1875--><p class="noindent" >Перевод списка свойств шрифта в виртуальный шрифт. + </dd><dt class="list"> + <span +class="lass-1000">weave</span> </dt><dd +class="list"> + <!--l. 1876--><p class="noindent" >Перевод <span +class="latt-1000">WEB </span>в <span class="TEX">T<span +class="E">E</span>X</span>.</dd></dl> +<!--l. 1879--><p class="noindent" >Полностью эти программы описаны в документации к соответствующим пакетам и самой Web2C. +Однако знание некоторых общих принципов для всей семьи программ поможет вам полнее использовать +программы системы Web2C. +<!--l. 1884--><p class="indent" > Все программы поддерживают стандартные опции GNU: + <dl class="list1"><dt class="list"> + <span +class="latt-1000">--help</span> </dt><dd +class="list"> + <!--l. 1886--><p class="noindent" >напечатать краткую справку + </dd><dt class="list"> + <span +class="latt-1000">--verbose</span> </dt><dd +class="list"> + <!--l. 1887--><p class="noindent" >печатать подробную информацию по мере работы + </dd><dt class="list"> + <span +class="latt-1000">--version</span> </dt><dd +class="list"> + <!--l. 1888--><p class="noindent" >Напечатать версию программы и завершить работу.</dd></dl> +<!--l. 1891--><p class="indent" > Для поиска файлов программы Web2C используют библиотеку Kpathsea (<a +href="http://tug.org/kpathsea" class="url" ><span +class="latt-1000">http://tug.org/kpathsea</span></a>). +Эта библиотека использует комбинацию переменных окружения и конфигурационных файлов, чтобы +найти нужные файлы в огромной системе <span class="TEX">T<span +class="E">E</span>X</span>. Web2C может просматривать одновременно больше +одного дерева директорий, что полезно для работы со стандартным дистрибутивом <span class="TEX">T<span +class="E">E</span>X</span>а и его +локальными расширениями. Для ускорения поисков файлов каждое дерево содержит файл <span +class="latt-1000">ls-R</span>, в +котором указаны названия и относительные пути всех файлов в этом дереве. +<!--l. 1901--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">8.1 </span> <a + id="x1-560008.1"></a>Поиск файлов в Kpathsea</h4> +<!--l. 1904--><p class="noindent" >Рассмотрим сначала общий алгоритм библиотеки Kpathsea. +<!--l. 1906--><p class="indent" > Будем называть <span +class="lati-1000">путём поиска </span>набор разделённых двоеточием или точкой с запятой <span +class="lati-1000">элементов</span> +<span +class="lati-1000">пути</span>, представляющих из себя в основном названия директорий. Путь поиска может иметь много +источников. Чтобы найти файл «<span +class="latt-1000">my-file</span>» в директории «<span +class="latt-1000">.:/dir</span>», Kpathsea проверяет каждый элемент +пути по очереди: сначала <span +class="latt-1000">./my-file</span>, затем <span +class="latt-1000">/dir/my-file</span>, возвращая первый файл (или, возможно, все +файлы). +<!--l. 1914--><p class="indent" > Чтобы работать с разными операционными системами, Kpathsea под системой, отличной от UNIX +может использовать разделители, отличные от «<span +class="latt-1000">:</span>» и «<span +class="latt-1000">/</span>». + + +<!--l. 1918--><p class="indent" > Чтобы проверить определённый элемент пути <span +class="lasl-1000">p</span>, Kpathsea вначале проверяет наличие базы данных +(см. раздел «База данных файлов» на стр. <a +href="#x1-640008.2">63<!--tex4ht:ref: sec:filename-database --></a>), т.е., есть ли база в директории, которая +является префиксом для <span +class="lasl-1000">p</span>. Если это так, спецификация пути сравнивается с содержимым базы +данных. +<!--l. 1924--><p class="indent" > Если база данных не существует, или не относится к этому элементу пути, или не содержит нужного +элемента, проверяется файловая система (если это не запрещено спецификацией, начинающейся с «<span +class="latt-1000">!!</span>», +и если файл должен существовать). Kpathsea конструирует список директорий, которые соответствуют +элементу, и в каждой директории ищет нужный файл. +<!--l. 1931--><p class="indent" > Условие «файл должен существовать» важно для файлов «<span +class="latt-1000">.vf</span>» и файлов, которые открывает <span class="TEX">T<span +class="E">E</span>X</span> +по команде <span +class="latt-1000">\openin</span>. Такие файлы могут и не существовать (например, файл <span +class="latt-1000">cmr10.vf</span>), и было бы +неправильно искать их на диске. Поэтому, если вы не обновите <span +class="latt-1000">ls-R </span>при установке нового файла +«<span +class="latt-1000">.vf</span>», он никогда не будет найден. Каждый элемент пути ищется по очереди: сначала база +данных, затем диск. Если нужный файл найден, поиск останавливается, и возвращается +результат. +<!--l. 1940--><p class="indent" > Хотя самый простой и часто встречающийся элемент пути — это название директории, Kpathsea +поддерживает дополнительные возможности: разнообразные значения по умолчанию, имена переменных +окружения, значения из конфигурационных файлов, домашние директории пользователей, рекурсивный +поиск поддиректорий. Поэтому мы говорим, что Kpathsea <span +class="lati-1000">вычисляет </span>элемент пути, т.е., что библиотека +преобразует спецификации в имя или имена директории. Это описано в следующих разделах в том же +порядке, в котором происходит поиск. +<!--l. 1949--><p class="indent" > Заметьте, что имя файла при поиске может быть абсолютным или относительным, т.е. начинаться с +«<span +class="latt-1000">/</span>», или «<span +class="latt-1000">./</span>», или «<span +class="latt-1000">../</span>», Kpathsea просто проверяет, существует ли файл. +<!--l. 1963--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">8.1.1 </span> <a + id="x1-570008.1.1"></a>Источники путей поиска</h5> +<!--l. 1966--><p class="noindent" >Путь поиска может иметь разные источники. Kpathsea использует их в следующем порядке: +<!--l. 1969--><p class="indent" > + <ol class="enumerate1" > + <li + class="enumerate" id="x1-57002x1">Установленные пользователем переменные окружения, например <span +class="latt-1000">TEXINPUTS</span>. Переменные + окружения с точкой и названием программы имеют преимущество; например если «<span +class="latt-1000">latex</span>» — + имя программы. то <span +class="latt-1000">TEXINPUTS.latex </span>имеет преимущество перед <span +class="latt-1000">TEXINPUTS</span>. + </li> + <li + class="enumerate" id="x1-57004x2">Конфигурационный файл, специфический для данной программы, например, строка «<span +class="latt-1000">S</span> + <span +class="latt-1000">/a:/b</span>» в <span +class="latt-1000">config.ps </span>для <span +class="lass-1000">dvips</span>. + </li> + <li + class="enumerate" id="x1-57006x3">Конфигурационный файл Kpathsea <span +class="latt-1000">texmf.cnf</span>, содержащий строку типа «<span +class="latt-1000">TEXINPUTS=/c:/d</span>» + (см. ниже). + </li> + <li + class="enumerate" id="x1-57008x4">Значение, заданное при компиляции.</li></ol> +<!--l. 1985--><p class="noindent" >Вы можете увидеть каждое из этих значений для данного пути поиска, задав соответствующий уровень +отладки (см. «Отладка» на стр. <a +href="#x1-680008.2.4">66<!--tex4ht:ref: sec:debugging --></a>). +<!--l. 1989--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">8.1.2 </span> <a + id="x1-580008.1.2"></a>Конфигурационные файлы</h5> +<!--l. 1992--><p class="noindent" >Kpathsea читает <span +class="lati-1000">конфигурационные файлы </span><span +class="latt-1000">texmf.cnf</span>, в которых задаются параметры программы. +Раньше для поиска этих файлов использовалась переменная <span +class="latt-1000">TEXMFCNF</span>, но теперь мы не рекомендуем +пользоваться этой (или какой-либо другой) переменной окружения. +<!--l. 1998--><p class="indent" > Теперь при нормальной установке создается файл <span +class="latt-1000">.../2012/texmf.cnf</span>. Если вам нужно изменить +настройки (обычно этого делать, не приходится), внесите их в этот файл. Главный конфигурационный +файл — файл <span +class="latt-1000">.../2012/texmf/web2c/texmf.cnf </span>Его редактировать <span +class="lati-1000">не </span>следует, так как при обновлении +системы ваши изменения пропадут. +<!--l. 2005--><p class="indent" > <span +class="lati-1000">Все </span>найденные файлы <span +class="latt-1000">texmf.cnf </span>будут прочитаны, и определения в более ранних файлах имеют +преимущество перед определениями в более поздних. Таким образом, если путь поиска задан как +<span class="obeylines-h"><span class="verb"><span +class="latt-1000">.:$TEXMF</span></span></span>, значения в <span +class="latt-1000">./texmf.cnf </span>имеют преимущество перед значениями в <span class="obeylines-h"><span class="verb"><span +class="latt-1000">$TEXMF/texmf.cnf</span></span></span>. + + + <ul class="itemize1"> + <li class="itemize">Комментарии начинаются с <span +class="latt-1000">% </span>и продолжаются до конца строки. + </li> + <li class="itemize">Пустые строки игнорируются + </li> + <li class="itemize"><span +class="latt-1000">\ </span>в конце строки означает продолжение, т.е. добавляется следующая строка. Пробелы в + начале следующей строки не игнорируются. + </li> + <li class="itemize">Определения параметров имеют вид <div class="alltt"> + <!--l. 2023--><p class="noindent" ><div class="obeylines-v"> + <span +class="latt-1000"> </span><span +class="latt-1000"> </span><span +class="lait-1000">variable</span><span +class="latt-1000">[.</span><span +class="lait-1000">progname</span><span +class="latt-1000">]</span><span +class="latt-1000"> [=]</span><span +class="latt-1000"> </span><span +class="lait-1000">value</span> +</div> + </div>где «<span +class="latt-1000">=</span>» и пробелы вокруг могут опускаться. + </li> + <li class="itemize"><span +class="lasl-1000">variable </span>может содержать любые символы, кроме пробела, «<span +class="latt-1000">=</span>» или «<span +class="latt-1000">.</span>», но надёжнее всего + придерживаться набора «<span +class="latt-1000">A-Za-z_</span>». + </li> + <li class="itemize">Если есть «<span +class="latt-1000">.</span><span +class="lasl-1000">progname</span>», определение относится только к программе, которая называется <span +class="lasl-1000">progname</span> + или <span +class="lasl-1000">progname</span><span +class="latt-1000">.exe</span>. Это позволяет, например разным видам <span class="TEX">T<span +class="E">E</span>X</span>а иметь разные пути + поиска. + </li> + <li class="itemize"><span +class="lasl-1000">value </span>может содержать любые символы, кроме <span +class="latt-1000">% </span>и «<span +class="latt-1000">@</span>». Нельзя использовать <span +class="latt-1000">$</span><span +class="lasl-1000">var</span><span +class="latt-1000">.</span><span +class="lasl-1000">prog </span>в правой + части; вместо этого вы должны задать дополнительную переменную. Символ «<span +class="latt-1000">;</span>» в правой части + эквивалентен под UNIX символу «<span +class="latt-1000">:</span>»; это полезно, чтобы поддерживать общий файл для UNIX, + MS-DOS и Windows. + </li> + <li class="itemize">Все определения читаются до подстановок, поэтому к переменным можно обращаться до того, как + они определены.</li></ul> +<!--l. 2047--><p class="noindent" >Фрагмент конфигурационного файла, иллюстрирующий эти правила, приведeн ниже: +<!--l. 2051--><p class="indent" > + <div class="fancyvrb" id="fancyvrb15"> +<a + id="x1-58002r1"></a><span +class="latt-0800x-x-87"> </span><span +class="latt-0800x-x-87"> TEXMF</span><span +class="latt-0800x-x-87"> </span><span +class="latt-0800x-x-87"> </span><span +class="latt-0800x-x-87"> </span><span +class="latt-0800x-x-87"> </span><span +class="latt-0800x-x-87"> </span><span +class="latt-0800x-x-87"> </span><span +class="latt-0800x-x-87"> </span><span +class="latt-0800x-x-87"> </span><span +class="latt-0800x-x-87"> </span><span +class="latt-0800x-x-87"> </span><span +class="latt-0800x-x-87"> </span><span +class="latt-0800x-x-87"> </span><span +class="latt-0800x-x-87"> </span><span +class="latt-0800x-x-87"> =</span><span +class="latt-0800x-x-87"> {$TEXMFLOCAL,!!$TEXMFMAIN}</span> +<br class="fancyvrb" /><a + id="x1-58004r2"></a><span +class="latt-0800x-x-87"> </span><span +class="latt-0800x-x-87"> TEXINPUTS.latex</span><span +class="latt-0800x-x-87"> </span><span +class="latt-0800x-x-87"> </span><span +class="latt-0800x-x-87"> </span><span +class="latt-0800x-x-87"> =</span><span +class="latt-0800x-x-87"> .;$TEXMF/tex/{latex,generic;}//</span> +<br class="fancyvrb" /><a + id="x1-58006r3"></a><span +class="latt-0800x-x-87"> </span><span +class="latt-0800x-x-87"> TEXINPUTS.fontinst</span><span +class="latt-0800x-x-87"> =</span><span +class="latt-0800x-x-87"> .;$TEXMF/tex//;$TEXMF/fonts/afm//</span> +<br class="fancyvrb" /><a + id="x1-58008r4"></a><span +class="latt-0800x-x-87"> </span><span +class="latt-0800x-x-87"> %</span><span +class="latt-0800x-x-87"> e-TeX</span><span +class="latt-0800x-x-87"> related</span><span +class="latt-0800x-x-87"> files</span> +<br class="fancyvrb" /><a + id="x1-58010r5"></a><span +class="latt-0800x-x-87"> </span><span +class="latt-0800x-x-87"> TEXINPUTS.elatex</span><span +class="latt-0800x-x-87"> </span><span +class="latt-0800x-x-87"> </span><span +class="latt-0800x-x-87"> =</span><span +class="latt-0800x-x-87"> .;$TEXMF/{etex,tex}/{latex,generic;}//</span> +<br class="fancyvrb" /><a + id="x1-58012r6"></a><span +class="latt-0800x-x-87"> </span><span +class="latt-0800x-x-87"> TEXINPUTS.etex</span><span +class="latt-0800x-x-87"> </span><span +class="latt-0800x-x-87"> </span><span +class="latt-0800x-x-87"> </span><span +class="latt-0800x-x-87"> </span><span +class="latt-0800x-x-87"> =</span><span +class="latt-0800x-x-87"> .;$TEXMF/{etex,tex}/{eplain,plain,generic;}//</span> + </div> +<!--l. 2056--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">8.1.3 </span> <a + id="x1-590008.1.3"></a>Подстановка путей</h5> +<!--l. 2060--><p class="noindent" >Kpathsea распознаёт определённые специальные символы и конструкции в путях поиска, аналогичные +конструкциям в стандартных оболочках UNIX. Например, сложный путь <span class="obeylines-h"><span class="verb"><span +class="latt-1000">~$USER/{foo,bar}//baz</span></span></span>, +означает все поддиректории директорий <span +class="latt-1000">foo </span>и <span +class="latt-1000">bar </span>в домашней директории пользователя <span +class="latt-1000">$USER</span>, которые +содержат файл или поддиректорию <span +class="latt-1000">baz</span>. Это объяснено в следующих разделах. + + + <h5 class="subsubsectionHead"><span class="titlemark">8.1.4 </span> <a + id="x1-600008.1.4"></a>Подстановка по умолчанию</h5> +<!--l. 2072--><p class="noindent" >Если путь поиска с наибольшим приоритетом (см. раздел «Источники путей поиска» на стр. <a +href="#x1-570008.1.1">58<!--tex4ht:ref: sec:path-sources --></a>) +содержит <span +class="lati-1000">дополнительное двоеточие </span>(в начале, в конце, двойное), Kpathsea заменяет его +следующим по приоритету путём. Если этот вставленный путь содержит дополнительное +двоеточие, то же происходит со следующим путём. Например, если переменная окружения задана +как + <div class="alltt"> +<!--l. 2080--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">></span><span +class="latt-1000"> setenv</span><span +class="latt-1000"> TEXINPUTS</span><span +class="latt-1000"> /home/karl:</span> +</div> +</div> и <span +class="latt-1000">TEXINPUTS </span>в файле <span +class="latt-1000">texmf.cnf </span>содержит + <div class="alltt"> +<!--l. 2085--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000"> </span><span +class="latt-1000"> .:$TEXMF//tex</span> +</div> +</div> то поиск будет происходить с путём + <div class="alltt"> +<!--l. 2090--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000"> </span><span +class="latt-1000"> /home/karl:.:$TEXMF//tex</span> +</div> +</div> +<!--l. 2094--><p class="indent" > Поскольку было бы бесполезно вставлять значение по умолчанию более чем один раз, Kpathsea +изменяет только одно лишнее двоеточие, и оставляет остальные: она проверяет сначала двоеточие в +начале, потом в конце, потом двойные двоеточия. +<!--l. 2099--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">8.1.5 </span> <a + id="x1-610008.1.5"></a>Подстановка скобок</h5> +<!--l. 2102--><p class="noindent" >Полезна также подстановка скобок, из-за которой, например, <span class="obeylines-h"><span class="verb"><span +class="latt-1000">v{a,b}w</span></span></span> означает <span class="obeylines-h"><span class="verb"><span +class="latt-1000">vaw:vbw</span></span></span>. Вложенность +тут допускается. Благодаря этому можно иметь несколько иерархий директорий, присвоив <span +class="latt-1000">$TEXMF</span> +несколько вариантов путей. Например, в файле <span +class="latt-1000">texmf.cnf</span>, можно найти следующее определение (это +упрощение, на самом деле там ещё больше деревьев): + + + <div class="verbatim" id="verbatim-3"> + <div class="fancyvrb" id="fancyvrb16"><a + id="x1-61002r1"></a>    TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN}</div> +</div> +<!--l. 2110--><p class="nopar" >Благодаря этому можно писать такое: + + + <div class="verbatim" id="verbatim-4"> + <div class="fancyvrb" id="fancyvrb17"><a + id="x1-61004r1"></a>    TEXINPUTS = .;$TEXMF/tex//</div> +</div> +<!--l. 2114--><p class="nopar" >что означает, что кроме текущей директории будет происходить поиск <span +class="lati-1000">только </span>в <span +class="latt-1000">$TEXMFHOME/tex</span>, +<span +class="latt-1000">$TEXMFLOCAL/tex</span>, <span +class="latt-1000">$TEXMFVAR/tex </span>и <span +class="latt-1000">$TEXMFMAIN/tex </span>(последние два дерева используют файлы <span +class="latt-1000">ls-R</span>). Это +удобно для поддержки двух параллельных структур, «замороженной» (например, на CD) и обновляемой +по мере появления новых версий. Используя переменную <span +class="latt-1000">$TEXMF </span>во всех определениях, можно задать +поиск в обновляемом дереве первым. +<!--l. 2125--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">8.1.6 </span> <a + id="x1-620008.1.6"></a>Подстановка поддиректорий</h5> +<!--l. 2128--><p class="noindent" >Два или более слэша «<span +class="latt-1000">/</span>» в элементе пути вслед за именем директории <span +class="lasl-1000">d </span>заменяются всеми +поддиректориями <span +class="lasl-1000">d </span>рекурсивно. На каждом уровне порядок поиска по директориям <span +class="lati-1000">не определён</span>. +<!--l. 2132--><p class="indent" > Если вы определите компоненты имени файла после «<span +class="latt-1000">//</span>», только поддиректории с соответствующими +компонентами будут включены. Например, «<span +class="latt-1000">/a//b</span>» даёт поддиректории <span +class="latt-1000">/a/1/b</span>, <span +class="latt-1000">/a/2/b</span>, <span +class="latt-1000">/a/1/1/b</span>, и +т.д., но не <span +class="latt-1000">/a/b/c </span>или <span +class="latt-1000">/a/1</span>. +<!--l. 2138--><p class="indent" > Возможны несколько конструкций «<span +class="latt-1000">//</span>» в одном пути, но «<span +class="latt-1000">//</span>» в начале пути игнорируются. +<!--l. 2141--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">8.1.7 </span> <a + id="x1-630008.1.7"></a>Список специальных символов и их значений</h5> +<!--l. 2143--><p class="noindent" >В следующем списке приводятся специальные символы в конфигурационных файлах Kpathsea. +<!--l. 2147--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span +class="latt-1000">:</span> </dt><dd +class="list"> + <!--l. 2148--><p class="noindent" >Разделитель в спецификациях путей; в начале или конце спецификации означает + подстановку по умолчанию. + </dd><dt class="list"> + <span +class="latt-1000">;</span> </dt><dd +class="list"> + <!--l. 2150--><p class="noindent" >Разделитель путей в системах, отличных от UNIX (то же, что <span +class="latt-1000">:</span>). + </dd><dt class="list"> + <span +class="latt-1000">$</span> </dt><dd +class="list"> + <!--l. 2152--><p class="noindent" >Подстановка переменных. + </dd><dt class="list"> + <span +class="latt-1000">~</span> </dt><dd +class="list"> + <!--l. 2153--><p class="noindent" >Означает домашнюю директорию пользователя. + </dd><dt class="list"> + <span +class="latt-1000">{...}</span> </dt><dd +class="list"> + <!--l. 2154--><p class="noindent" >Подстановка скобок. + </dd><dt class="list"> + <span +class="latt-1000">//</span> </dt><dd +class="list"> + <!--l. 2155--><p class="noindent" >Подстановка поддиректорий (может встретиться где угодно, кроме начала пути). + </dd><dt class="list"> + <span +class="latt-1000">%</span> </dt><dd +class="list"> + <!--l. 2157--><p class="noindent" >Начало комментария. + </dd><dt class="list"> + <span +class="latt-1000">\</span> </dt><dd +class="list"> + <!--l. 2158--><p class="noindent" >Символ продолжения (для команд из нескольких строк). + </dd><dt class="list"> + <span +class="latt-1000">!!</span> </dt><dd +class="list"> + <!--l. 2159--><p class="noindent" >Поиск <span +class="lati-1000">только </span>в базе данных, но <span +class="lati-1000">не </span>на диске.</dd></dl> + + +<!--l. 2164--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">8.2 </span> <a + id="x1-640008.2"></a>Базы данных файлов</h4> +<!--l. 2167--><p class="noindent" >Kpathsea старается минимизировать обращение к диску при поиске. Тем не менее в системах с +большим количеством директорий поиск в каждой возможной директории может занять долгое +время (это особенно верно, если надо проверить сотни директорий со шрифтами). Поэтому +Kpathsea умеет использовать внешний текстовый файл, «базу данных» <span +class="latt-1000">ls-R</span>, который знает, +где находятся файлы в директориях, что даёт возможность избежать частых обращений к +диску. +<!--l. 2175--><p class="indent" > Ещё одна база данных, файл <span +class="latt-1000">aliases </span>позволяет вам давать дополнительные названия файлам в +<span +class="latt-1000">ls-R</span>. Это полезно, если вам нужно соблюдать правило DOS «8.3». +<!--l. 2179--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">8.2.1 </span> <a + id="x1-650008.2.1"></a>Базы данных <span +class="latt-1000">ls-R</span></h5> +<!--l. 2182--><p class="noindent" >Как объяснено выше, основная база данных называется <span +class="latt-1000">ls-R</span>. Вы можете создать её в корне каждого +дерева <span class="TEX">T<span +class="E">E</span>X</span>а, которое просматривается Kpathsea (по умолчанию, <span +class="latt-1000">$TEXMF</span>). Kpathsea ищет файлы <span +class="latt-1000">ls-R </span>в +пути <span +class="latt-1000">TEXMFDBS</span>. +<!--l. 2187--><p class="indent" > Рекомендуемый способ создания и поддержки «<span +class="latt-1000">ls-R</span>» — скрипт <span +class="latt-1000">mktexlsr</span>, включённый в +дистрибутив. Он вызывается разными скриптами «<span +class="latt-1000">mktex</span>»…. В принципе этот скрипт выполняет команды +типа <div class="alltt"> +<!--l. 2191--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">cd</span><span +class="latt-1000"> </span><span +class="lasl-1000">/your/texmf/root</span><span +class="latt-1000"> &&</span><span +class="latt-1000"> </span><span class="path"><span +class="latt-1000">\</span></span><span +class="latt-1000">ls</span><span +class="latt-1000"> -1LAR</span><span +class="latt-1000"> ./</span><span +class="latt-1000"> >ls-R</span> +</div> +</div> при условии, что в вашей системе <span +class="latt-1000">ls </span>даёт вывод в нужном формате (GNU <span +class="latt-1000">ls </span>годится). Чтобы +поддерживать базу данных в текущем состоянии, проще всего перегенерировать её регулярно из +<span +class="latt-1000">cron</span>а, так что она автоматически обновляется через некоторое время после установки нового +пакета. +<!--l. 2200--><p class="indent" > Если файл не найден в базе данных, по умолчанию Kpathsea ищет его на диске. Если элемент пути +начинается с «<span +class="latt-1000">!!</span>», то поиск происходит <span +class="lati-1000">только </span>в базе данных. +<!--l. 2205--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">8.2.2 </span> <a + id="x1-660008.2.2"></a>kpsewhich: Программа для поиска файлов</h5> +<!--l. 2208--><p class="noindent" >Программа <span +class="latt-1000">kpsewhich </span>выполняет поиск в соответствии с алгоритмом, описанным выше. Это может быть +полезно в качестве варианта команды <span +class="latt-1000">find </span>для поиска файлов в иерархиях <span class="TEX">T<span +class="E">E</span>X</span>а (это широко +используется в скриптах «<span +class="latt-1000">mktex</span>»…). + <div class="alltt"> +<!--l. 2213--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">></span><span +class="latt-1000"> kpsewhich</span><span +class="latt-1000"> </span><span +class="lasl-1000">option</span><span +class="latt-1000">…</span><span +class="latt-1000"> </span><span +class="lasl-1000"> +class="latt-1000">…</span> +</div> +</div> Опции, указанные в <span +class="lasl-1000">option</span>, начинаются либо с «<span +class="latt-1000">-</span>» либо «<span +class="latt-1000">--</span>», и любые однозначные сокращения +допустимы. +<!--l. 2219--><p class="indent" > Kpathsea рассматривает каждый аргумент, не являющийся опцией, как имя файла, и возвращает +первый найденный файл. Нет опции вернуть все найденные файлы (для этого можно использовать +программу «<span +class="latt-1000">find</span>»). +<!--l. 2223--><p class="indent" > Наиболее важные опции описаны ниже. +<!--l. 2225--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span +class="latt-1000">--dpi=</span><span +class="lasl-1000">num</span> </dt><dd +class="list"> + <!--l. 2226--><p class="noindent" ><br +class="newline" />Установить разрешение <span +class="lasl-1000">num</span>; это влияет только на поиск файлов «<span +class="latt-1000">gf</span>» и «<span +class="latt-1000">pk</span>». Синоним «<span +class="latt-1000">-D</span>», + для совместимости с <span +class="lass-1000">dvips</span>. По умолчанию 600. + + + </dd><dt class="list"> + <span +class="latt-1000">--format=</span><span +class="lasl-1000">name</span> </dt><dd +class="list"> + <!--l. 2231--><p class="noindent" ><br +class="newline" />Установить формат для поиска <span +class="lasl-1000">name</span>. По умолчанию, формат определяется из имени файла. + Для форматов, для которых нет однозначного суффикса, например, файлов MetaPost + и конфигурационных файлов <span +class="lass-1000">dvips</span>, вы должны указать название, известное Kpathsea, + например, <span +class="latt-1000">tex </span>или <span +class="latt-1000">enc files</span>. Список вариантов можно получить командой <span +class="latt-1000">kpsewhich</span> + <span +class="latt-1000">--help</span>. + </dd><dt class="list"> + <span +class="latt-1000">--mode=</span><span +class="lasl-1000">string</span> </dt><dd +class="list"> + <!--l. 2239--><p class="noindent" ><br +class="newline" />Установить значение режима печати <span +class="lasl-1000">string</span>; это влияет только на поиск файлов «<span +class="latt-1000">gf</span>» и «<span +class="latt-1000">pk</span>». + Значения по умолчанию нет: ищутся файлы для всех режимов. + </dd><dt class="list"> + <span +class="latt-1000">--must-exist</span> </dt><dd +class="list"> + <!--l. 2244--><p class="noindent" ><br +class="newline" />Сделать всё возможное, чтобы найти файл включая поиск на диске. По умолчанию для + повышения эффективности просматривается только база данных <span +class="latt-1000">ls-R</span>. + </dd><dt class="list"> + <span +class="latt-1000">--path=</span><span +class="lasl-1000">string</span> </dt><dd +class="list"> + <!--l. 2249--><p class="noindent" ><br +class="newline" />Искать в наборе директорий <span +class="lasl-1000">string </span>(как обычно, разделённых двоеточиями), вместо того, + чтобы вычислять путь поиска по имени файла. «<span +class="latt-1000">//</span>» и обычные подстановки работают. + Опции «<span +class="latt-1000">--path</span>» и «<span +class="latt-1000">--format</span>» несовместимы. + </dd><dt class="list"> + <span +class="latt-1000">--progname=</span><span +class="lasl-1000">name</span> </dt><dd +class="list"> + <!--l. 2255--><p class="noindent" ><br +class="newline" />Установить имя программы равным <span +class="lasl-1000">name</span>. Это влияет на путь поиска из-за префикса + <span +class="latt-1000">.</span><span +class="lasl-1000">progname</span>. По умолчанию <span +class="lass-1000">kpsewhich</span>. + </dd><dt class="list"> + <span +class="latt-1000">--show-path=</span><span +class="lasl-1000">name</span> </dt><dd +class="list"> + <!--l. 2260--><p class="noindent" ><br +class="newline" />Показать путь, используемый при поисках файлов типа <span +class="lasl-1000">name</span>. Можно использовать + расширение (<span +class="latt-1000">.pk</span>, <span +class="latt-1000">.vf </span>и т.д.) или тип файла, как для опции «<span +class="latt-1000">--format</span>». + </dd><dt class="list"> + <span +class="latt-1000">--debug=</span><span +class="lasl-1000">num</span> </dt><dd +class="list"> + <!--l. 2265--><p class="noindent" ><br +class="newline" />Установить уровень отладки <span +class="lasl-1000">num</span>.</dd></dl> +<!--l. 2271--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">8.2.3 </span> <a + id="x1-670008.2.3"></a>Примеры использования</h5> +<!--l. 2274--><p class="noindent" >Давайте посмотрим на Kpathsea в действии. Вот простой поиск: + <div class="alltt"> +<!--l. 2276--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">></span><span +class="latt-1000"> kpsewhich</span><span +class="latt-1000"> article.cls</span> +<br /><span +class="latt-1000"> /usr/local/texmf-dist/tex/latex/base/article.cls</span> +</div> +</div> Мы ищем файл <span +class="latt-1000">article.cls</span>. Так как суффикс «<span +class="latt-1000">.cls</span>» однозначен, нам не нужно указывать, что мы +ищем файл типа <span +class="latt-1000">tex </span>(исходники <span class="TEX">T<span +class="E">E</span>X</span>а). Мы находим его в поддиректории <span +class="latt-1000">tex/latex/base </span>директории +«<span +class="latt-1000">temf-dist</span>» <span class="TEX">T<span +class="E">E</span>X</span> Live. Аналогично, всё последующее находится без проблем благодаря однозначному +суффиксу: <div class="alltt"> + + +<!--l. 2285--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">></span><span +class="latt-1000"> kpsewhich</span><span +class="latt-1000"> array.sty</span> +<br /><span +class="latt-1000"> </span><span +class="latt-1000"> </span><span +class="latt-1000"> /usr/local/texmf-dist/tex/latex/tools/array.sty</span> +<br /><span +class="latt-1000">></span><span +class="latt-1000"> kpsewhich</span><span +class="latt-1000"> latin1.def</span> +<br /><span +class="latt-1000"> </span><span +class="latt-1000"> </span><span +class="latt-1000"> /usr/local/texmf-dist/tex/latex/base/latin1.def</span> +<br /><span +class="latt-1000">></span><span +class="latt-1000"> kpsewhich</span><span +class="latt-1000"> size10.clo</span> +<br /><span +class="latt-1000"> </span><span +class="latt-1000"> </span><span +class="latt-1000"> /usr/local/texmf-dist/tex/latex/base/size10.clo</span> +<br /><span +class="latt-1000">></span><span +class="latt-1000"> kpsewhich</span><span +class="latt-1000"> small2e.tex</span> +<br /><span +class="latt-1000"> </span><span +class="latt-1000"> </span><span +class="latt-1000"> /usr/local/texmf-dist/tex/latex/base/small2e.tex</span> +<br /><span +class="latt-1000">></span><span +class="latt-1000"> kpsewhich</span><span +class="latt-1000"> tugboat.bib</span> +<br /><span +class="latt-1000"> </span><span +class="latt-1000"> </span><span +class="latt-1000"> /usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib</span> +</div> +</div> +<!--l. 2298--><p class="indent" > Кстати, последнее — библиографическая база данных статей журнала <span +class="lasl-1000">TUGBoat</span>. + <div class="alltt"> +<!--l. 2301--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">></span><span +class="latt-1000"> kpsewhich</span><span +class="latt-1000"> cmr10.pk</span> +</div> +</div> Битмапы шрифтов типа <span +class="latt-1000">.pk </span>используются программами <span +class="lass-1000">dvips </span>и <span +class="lass-1000">xdvi</span>. Ничего не найдено, поскольку у +нас нет готовых файлов шрифтов Computer Modern в формате «<span +class="latt-1000">.pk</span>» (так как мы используем версии в +формате Type 1 из дистрибутива <span class="TEX">T<span +class="E">E</span>X</span> Live). <div class="alltt"> +<!--l. 2308--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">></span><span +class="latt-1000"> kpsewhich</span><span +class="latt-1000"> wsiupa10.pk</span> +<br /><span +class="latt-1000"> </span><span +class="latt-1000"> </span><span +class="latt-1000"> /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk</span> +</div> +</div> Для этих шрифтов (фонетический алфавит, созданный в Университете штата Вашингтон) мы должны +сгенерировать «<span +class="latt-1000">.pk</span>», и так как режим Metafont по умолчанию в нашей системе <span +class="latt-1000">ljfour </span>с разрешением of +600 dpi (точек на дюйм), этот шрифт и найден. <div class="alltt"> +<!--l. 2319--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">></span><span +class="latt-1000"> kpsewhich</span><span +class="latt-1000"> -dpi=300</span><span +class="latt-1000"> wsuipa10.pk</span> +</div> +</div> В этом случае нам нужно разрешение 300 dpi (<span +class="latt-1000">-dpi=300</span>); мы видим, что такого шрифта в системе нет. +На самом деле программа <span +class="lass-1000">dvips </span>или <span +class="lass-1000">xdvi </span>построила бы нужный файл <span +class="latt-1000">.pk </span>при помощи скрипта +<span +class="lass-1000">mktexpk</span>. +<!--l. 2327--><p class="indent" > Теперь обратимся к заголовкам и конфигурационным файлам <span +class="lass-1000">dvips</span>. Вначале рассмотрим один из +наиболее часто используемых файлов, пролог <span +class="latt-1000">tex.pro </span>для поддержки <span class="TEX">T<span +class="E">E</span>X</span>а, а затем рассмотрим общий +конфигурационный файл <span +class="latt-1000">config.ps </span>и карту шрифтов <span +class="latt-1000">psfonts.map </span>(с 2004 года карты и файлы +кодировок имеют собственные пути поиска в деревьях <span +class="latt-1000">texmf</span>). Так как суффикс «<span +class="latt-1000">.ps</span>» неоднозначен, мы +должные явно указать тип файла, который мы ищем: (<span +class="latt-1000">dvips config</span>) для файла <span +class="latt-1000">config.ps</span>. +<div class="alltt"> +<!--l. 2335--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">></span><span +class="latt-1000"> kpsewhich</span><span +class="latt-1000"> tex.pro</span> +<br /><span +class="latt-1000"> </span><span +class="latt-1000"> </span><span +class="latt-1000"> /usr/local/texmf/dvips/base/tex.pro</span> +<br /><span +class="latt-1000">></span><span +class="latt-1000"> kpsewhich</span><span +class="latt-1000"> --format="dvips</span><span +class="latt-1000"> config"</span><span +class="latt-1000"> config.ps</span> +<br /><span +class="latt-1000"> </span><span +class="latt-1000"> </span><span +class="latt-1000"> /usr/local/texmf/dvips/config/config.ps</span> +<br /><span +class="latt-1000">></span><span +class="latt-1000"> kpsewhich</span><span +class="latt-1000"> psfonts.map</span> +<br /><span +class="latt-1000"> </span><span +class="latt-1000"> </span><span +class="latt-1000"> /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map</span> + + +</div> +</div> +<!--l. 2344--><p class="indent" > Рассмотрим теперь файлы поддержки URW Times (PostScript). Префикс для этих файлов в +стандартной схеме обозначения шрифтов «<span +class="latt-1000">utm</span>». Вначале мы рассмотрим конфигурационный файл, +который содержит название карты шрифтов: <div class="alltt"> +<!--l. 2348--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">></span><span +class="latt-1000"> kpsewhich</span><span +class="latt-1000"> --format="dvips</span><span +class="latt-1000"> config"</span><span +class="latt-1000"> config.utm</span> +<br /><span +class="latt-1000">/usr/local/texmf-dist/dvips/psnfss/config.utm</span> +</div> +</div> Содержание этого файла: <div class="alltt"> +<!--l. 2353--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000"> </span><span +class="latt-1000"> p</span><span +class="latt-1000"> +utm.map</span> +</div> +</div> что указывает на файл <span +class="latt-1000">utm.map</span>, который мы хотим теперь найти. <div class="alltt"> +<!--l. 2357--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">></span><span +class="latt-1000"> kpsewhich</span><span +class="latt-1000"> --format="dvips</span><span +class="latt-1000"> config"</span><span +class="latt-1000"> utm.map</span> +<br /><span +class="latt-1000"> </span><span +class="latt-1000"> </span><span +class="latt-1000"> /usr/local/texmf-dist/fonts/map/dvips/times/utm.map</span> +</div> +</div> Эта карта определяет названия шрифтов формата Type 1 (PostScript) в коллекции URW. Она +выглядит так (мы показываем только часть файла): <div class="alltt"> +<!--l. 2363--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">utmb8r</span><span +class="latt-1000"> </span><span +class="latt-1000"> NimbusRomNo9L-Medi</span><span +class="latt-1000"> </span><span +class="latt-1000"> </span><span +class="latt-1000"> </span><span +class="latt-1000"> ...</span><span +class="latt-1000"> <utmb8a.pfb</span> +<br /><span +class="latt-1000">utmbi8r</span><span +class="latt-1000"> NimbusRomNo9L-MediItal...</span><span +class="latt-1000"> <utmbi8a.pfb</span> +<br /><span +class="latt-1000">utmr8r</span><span +class="latt-1000"> </span><span +class="latt-1000"> NimbusRomNo9L-Regu</span><span +class="latt-1000"> </span><span +class="latt-1000"> </span><span +class="latt-1000"> </span><span +class="latt-1000"> ...</span><span +class="latt-1000"> <utmr8a.pfb</span> +<br /><span +class="latt-1000">utmri8r</span><span +class="latt-1000"> NimbusRomNo9L-ReguItal...</span><span +class="latt-1000"> <utmri8a.pfb</span> +<br /><span +class="latt-1000">utmbo8r</span><span +class="latt-1000"> NimbusRomNo9L-Medi</span><span +class="latt-1000"> </span><span +class="latt-1000"> </span><span +class="latt-1000"> </span><span +class="latt-1000"> ...</span><span +class="latt-1000"> <utmb8a.pfb</span> +<br /><span +class="latt-1000">utmro8r</span><span +class="latt-1000"> NimbusRomNo9L-Regu</span><span +class="latt-1000"> </span><span +class="latt-1000"> </span><span +class="latt-1000"> </span><span +class="latt-1000"> ...</span><span +class="latt-1000"> <utmr8a.pfb</span> +</div> +</div> Давайте найдём, например, файл для Times Roman <span +class="latt-1000">utmr8a.pfb</span>: <div class="alltt"> +<!--l. 2373--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">></span><span +class="latt-1000"> kpsewhich</span><span +class="latt-1000"> utmr8a.pfb</span> +<br /><span +class="latt-1000"> </span><span +class="latt-1000"> </span><span +class="latt-1000"> /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb</span> +</div> +</div> +<!--l. 2380--><p class="indent" > Из этих примеров видно, что вы можете легко найти заданный файл. Это особенно важно, если вы +подозреваете, что программы находят неправильную версию файла, поскольку <span +class="lass-1000">kpsewhich </span>показывает +первый найденный файл. +<!--l. 2385--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">8.2.4 </span> <a + id="x1-680008.2.4"></a>Отладка</h5> +<!--l. 2388--><p class="noindent" >Иногда необходимо проверить, как программа ищет файлы. С этой целью Kpathsea предлагает разные +уровни отладки: +<!--l. 2391--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span +class="latt-1000"> 1</span> </dt><dd +class="list"> + <!--l. 2392--><p class="noindent" >статистика обращений к диску. При работе с базами <span +class="latt-1000">ls-R </span>это почти не должно давать записей + в лог. + + + </dd><dt class="list"> + <span +class="latt-1000"> 2</span> </dt><dd +class="list"> + <!--l. 2394--><p class="noindent" >Ссылки на хеши (например, базы данных <span +class="latt-1000">ls-R</span>, конфигурационные файлы и т.д.). + </dd><dt class="list"> + <span +class="latt-1000"> 4</span> </dt><dd +class="list"> + <!--l. 2396--><p class="noindent" >Операции открытия и закрытия файлов. + </dd><dt class="list"> + <span +class="latt-1000"> 8</span> </dt><dd +class="list"> + <!--l. 2397--><p class="noindent" >Общая информация о типах файлов, которые ищет Kpathsea. Это полезно для того, чтобы + найти, где определяется тип пути поиска для данного файла. + </dd><dt class="list"> + <span +class="latt-1000">16</span> </dt><dd +class="list"> + <!--l. 2400--><p class="noindent" >Список директорий для каждого элемента пути (при поисках на диске). + </dd><dt class="list"> + <span +class="latt-1000">32</span> </dt><dd +class="list"> + <!--l. 2402--><p class="noindent" >Поиски файлов. + </dd><dt class="list"> + <span +class="latt-1000">64</span> </dt><dd +class="list"> + <!--l. 2403--><p class="noindent" >Значения переменных.</dd></dl> +<!--l. 2405--><p class="noindent" >Значение <span +class="latt-1000">-1 </span>задаст все опции выше; именно это значение чаще всего используется на практике. +<!--l. 2408--><p class="indent" > Аналогично, запустив программу <span +class="lass-1000">dvips </span>и используя сочетание этих опций, можно проследить +подробно, как ищутся файлы. С другой стороны, если файл не найден, трассировка показывает, где его +искали, так что можно понять, в чём состоит проблема. +<!--l. 2413--><p class="indent" > Вообще говоря, поскольку большинство программ пользуются библиотекой Kpathsea, вы можете +установить опцию отладки используя переменную окружения <span +class="latt-1000">KPATHSEA_DEBUG</span>, и установив её на +комбинацию описанных выше значений. +<!--l. 2418--><p class="indent" > (Примечание для пользователей Windows: в этой системе трудно перенаправить все сообщения в +файл. Для диагностики вы можете временно установить <span +class="latt-1000">SET KPATHSEA_DEBUG_OUTPUT=err.log</span>). +<!--l. 2423--><p class="indent" > Рассмотрим в качестве примера простой файл в формате <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>, <span +class="latt-1000">hello-world.tex</span>, со следующим +содержанием: + + + <div class="verbatim" id="verbatim-5"> + <div class="fancyvrb" id="fancyvrb18"><a + id="x1-68002r1"></a>    \documentclass{article}<br class="fancyvrb" /><a + id="x1-68004r2"></a>    \begin{document}<br class="fancyvrb" /><a + id="x1-68006r3"></a>    Hello World!<br class="fancyvrb" /><a + id="x1-68008r4"></a>    \end{document}</div> +</div> +<!--l. 2430--><p class="nopar" >Этот маленький файл использует только шрифт <span +class="latt-1000">cmr10</span>, так что давайте посмотрим, как <span +class="lass-1000">dvips </span>создаёт +файл в формате PostScript (мы хотим использовать версию шрифтов в формате Type 1, отсюда опция +<span +class="latt-1000">-Pcms</span>). <div class="alltt"> +<!--l. 2435--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">></span><span +class="latt-1000"> dvips</span><span +class="latt-1000"> -d4100</span><span +class="latt-1000"> hello-world</span><span +class="latt-1000"> -Pcms</span><span +class="latt-1000"> -o</span> +</div> +</div> В этом случае мы объединили отладочный уровень 4 для <span +class="lass-1000">dvips </span>(директории шрифтов) с подстановкой +элементов путей в Kpathsea(см. Руководство пользователя <span +class="lass-1000">dvips</span>, <a +href="../../../../texmf/doc/dvips/dvips.pdf" >texmf/doc/dvips/dvips.pdf</a>). Результат +(слегка отредактированный) показан на рисунке <a +href="#x1-68031r12">12<!--tex4ht:ref: fig:dvipsdbga --></a>. +<!--l. 2443--><p class="indent" > <a + id="x1-68031r12"></a><a + id="x1-68036r13"></a><a + id="x1-68049r14"></a><hr class="float"><div class="float" +> + + +<div class="BVerbatimInput"><span +class="latt-0900">debug:start</span><span +class="latt-0900"> search(file=texmf.cnf,</span><span +class="latt-0900"> must_exist=1,</span><span +class="latt-0900"> find_all=1,</span><br /><span +class="latt-0900"> </span><span +class="latt-0900"> path=.:/usr/local/bin/texlive:/usr/local/bin:</span><br /><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> /usr/local/bin/texmf/web2c:/usr/local:</span><br /><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> /usr/local/texmf/web2c:/.:/./teTeX/TeX/texmf/web2c:).</span><br /><span +class="latt-0900">kdebug:start</span><span +class="latt-0900"> search(file=ls-R,</span><span +class="latt-0900"> must_exist=1,</span><span +class="latt-0900"> find_all=1,</span><br /><span +class="latt-0900"> </span><span +class="latt-0900"> path=~/tex:/usr/local/texmf).</span><br /><span +class="latt-0900">kdebug:search(ls-R)</span><span +class="latt-0900"> =>/usr/local/texmf/ls-R</span><br /><span +class="latt-0900">kdebug:start</span><span +class="latt-0900"> search(file=aliases,</span><span +class="latt-0900"> must_exist=1,</span><span +class="latt-0900"> find_all=1,</span><br /><span +class="latt-0900"> </span><span +class="latt-0900"> path=~/tex:/usr/local/texmf).</span><br /><span +class="latt-0900">kdebug:search(aliases)</span><span +class="latt-0900"> =></span><span +class="latt-0900"> /usr/local/texmf/aliases</span><br /><span +class="latt-0900">kdebug:start</span><span +class="latt-0900"> search(file=config.ps,</span><span +class="latt-0900"> must_exist=0,</span><span +class="latt-0900"> find_all=0,</span><br /><span +class="latt-0900"> </span><span +class="latt-0900"> path=.:~/tex:!!/usr/local/texmf/dvips//).</span><br /><span +class="latt-0900">kdebug:search(config.ps)</span><span +class="latt-0900"> =></span><span +class="latt-0900"> /usr/local/texmf/dvips/config/config.ps</span><br /><span +class="latt-0900">kdebug:start</span><span +class="latt-0900"> search(file=/root/.dvipsrc,</span><span +class="latt-0900"> must_exist=0,</span><span +class="latt-0900"> find_all=0,</span><br /><span +class="latt-0900"> </span><span +class="latt-0900"> path=.:~/tex:!!/usr/local/texmf/dvips//).</span><br /><span +class="latt-0900">search(file=/home/goossens/.dvipsrc,</span><span +class="latt-0900"> must_exist=1,</span><span +class="latt-0900"> find_all=0,</span><br /><span +class="latt-0900"> </span><span +class="latt-0900"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//).</span><br /><span +class="latt-0900">kdebug:search($HOME/.dvipsrc)</span><span +class="latt-0900"> =></span><br /><span +class="latt-0900">kdebug:start</span><span +class="latt-0900"> search(file=config.cms,</span><span +class="latt-0900"> must_exist=0,</span><span +class="latt-0900"> find_all=0,</span><br /><span +class="latt-0900"> </span><span +class="latt-0900"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//).</span><br /><span +class="latt-0900">kdebug:search(config.cms)</span><br /><span +class="latt-0900">=>/usr/local/texmf/dvips/cms/config.cms</span></div> + <div class="caption" +><span class="id">Рис. 12: </span><span +class="content">Поиск конфигурационных файлов</span></div><!--tex4ht:label?: x1-68031r12 --> +<div class="BVerbatimInput"><span +class="latt-0900">kdebug:start</span><span +class="latt-0900"> search(file=texc.pro,</span><span +class="latt-0900"> must\_exist=0,</span><span +class="latt-0900"> find\_all=0,</span><br /><span +class="latt-0900"> </span><span +class="latt-0900"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:</span><br /><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).</span><br /><span +class="latt-0900">kdebug:search(texc.pro)</span><span +class="latt-0900"> =></span><span +class="latt-0900"> /usr/local/texmf/dvips/base/texc.pro</span></div> + <div class="caption" +><span class="id">Рис. 13: </span><span +class="content">Поиск файла пролога</span></div><!--tex4ht:label?: x1-68036r13 --> +<div class="BVerbatimInput"><span +class="latt-0900">kdebug:start</span><span +class="latt-0900"> search(file=cmr10.tfm,</span><span +class="latt-0900"> must\_exist=1,</span><span +class="latt-0900"> find\_all=0,</span><br /><span +class="latt-0900"> </span><span +class="latt-0900"> path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//:</span><br /><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> /var/tex/fonts/tfm//).</span><br /><span +class="latt-0900">kdebug:search(cmr10.tfm)</span><span +class="latt-0900"> =></span><span +class="latt-0900"> /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm</span><br /><span +class="latt-0900">kdebug:start</span><span +class="latt-0900"> search(file=texps.pro,</span><span +class="latt-0900"> must\_exist=0,</span><span +class="latt-0900"> find\_all=0,</span><br /><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> ...</span><br /><span +class="latt-0900"><texps.pro></span><br /><span +class="latt-0900">kdebug:start</span><span +class="latt-0900"> search(file=cmr10.pfb,</span><span +class="latt-0900"> must\_exist=0,</span><span +class="latt-0900"> find\_all=0,</span><br /><span +class="latt-0900"> </span><span +class="latt-0900"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:</span><br /><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).</span><br /><span +class="latt-0900">kdebug:search(cmr10.pfb)</span><span +class="latt-0900"> =></span><span +class="latt-0900"> /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb</span><br /><span +class="latt-0900"><cmr10.pfb>[1]</span></div> + <div class="caption" +><span class="id">Рис. 14: </span><span +class="content">Поиск файла шрифта</span></div><!--tex4ht:label?: x1-68049r14 --> + + + </div><hr class="endfloat" /> +<!--l. 2459--><p class="indent" > Программа <span +class="lass-1000">dvips </span>вначале ищет свои конфигурационные файлы. Сначала находится <span +class="latt-1000">texmf.cnf</span>, +который содержит определения для путей поиска остальных файлов, затем база данных <span +class="latt-1000">ls-R</span> +(для оптимизации поиска файлов) и файл <span +class="latt-1000">aliases</span>, который позволяет объявить несколько +имён (например, короткие 8.3 и более длинные) для одного файла. Затем <span +class="lass-1000">dvips </span>ищет свой +конфигурационный файл <span +class="latt-1000">config.ps </span>и файл <span +class="latt-1000">.dvipsrc </span>(который в данном случае <span +class="lati-1000">не найден</span>). Наконец, +<span +class="lass-1000">dvips </span>находит конфигурационный файл для шрифтов Computer Modern PostScript <span +class="latt-1000">config.cms </span>(это +было задано опцией <span +class="latt-1000">-Pcms </span>в командной строке). Этот файл содержит список карт, которые +определяют соотношения между файлами в форматах <span class="TEX">T<span +class="E">E</span>X</span>, PostScript и названиями шрифтов: +<div class="alltt"> +<!--l. 2472--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">></span><span +class="latt-1000"> more</span><span +class="latt-1000"> /usr/local/texmf/dvips/cms/config.cms</span> +<br /><span +class="latt-1000"> </span><span +class="latt-1000"> </span><span +class="latt-1000"> p</span><span +class="latt-1000"> +ams.map</span> +<br /><span +class="latt-1000"> </span><span +class="latt-1000"> </span><span +class="latt-1000"> p</span><span +class="latt-1000"> +cms.map</span> +<br /><span +class="latt-1000"> </span><span +class="latt-1000"> </span><span +class="latt-1000"> p</span><span +class="latt-1000"> +cmbkm.map</span> +<br /><span +class="latt-1000"> </span><span +class="latt-1000"> </span><span +class="latt-1000"> p</span><span +class="latt-1000"> +amsbkm.map</span> +</div> +</div> <span +class="lass-1000">dvips </span>находит все эти файлы плюс общую карту шрифтов <span +class="latt-1000">psfonts.map</span>, которая всегда загружается +(она содержит обычные шрифты в формате PostScript; см. последнюю часть раздела <a +href="#x1-670008.2.3">8.2.3<!--tex4ht:ref: sec:examples-of-use --></a>). +<!--l. 2484--><p class="indent" > В этот момент <span +class="lass-1000">dvips </span>сообщает о себе пользователю: <div class="alltt"> +<!--l. 2485--><p class="noindent" ><div class="obeylines-v"> +<span +class="latt-1000">This</span><span +class="latt-1000"> is</span><span +class="latt-1000"> dvips(k)</span><span +class="latt-1000"> 5.92b</span><span +class="latt-1000"> Copyright</span><span +class="latt-1000"> 2002</span><span +class="latt-1000"> Radical</span><span +class="latt-1000"> Eye</span><span +class="latt-1000"> Software</span><span +class="latt-1000"> (www.radicaleye.com)</span> +</div> +</div> Затем она ищет пролог <span +class="latt-1000">texc.pro</span>: <div class="alltt"> +<!--l. 2490--><p class="noindent" ><div class="obeylines-v"> +<br /><span +class="latt-0900">kdebug:start</span><span +class="latt-0900"> search(file=texc.pro,</span><span +class="latt-0900"> must_exist=0,</span><span +class="latt-0900"> find_all=0,</span> +<br /><span +class="latt-0900"> </span><span +class="latt-0900"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:</span> +<br /><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).</span> +<br /><span +class="latt-0900">kdebug:search(texc.pro)</span><span +class="latt-0900"> =></span><span +class="latt-0900"> /usr/local/texmf/dvips/base/texc.pro</span> +</div> +</div> +<!--l. 2501--><p class="indent" > Найдя этот файл, <span +class="lass-1000">dvips </span>печатает дату и время, и информирует нас, что собирается генерировать +файл <span +class="latt-1000">hello-world.ps</span>, что ей нужен файл <span +class="latt-1000">cmr10</span>, и что последний является «резидентным» (битмапы не +нужны): <div class="alltt"> +<!--l. 2505--><p class="noindent" ><div class="obeylines-v"> +<br /><span +class="latt-0900">TeX</span><span +class="latt-0900"> output</span><span +class="latt-0900"> 1998.02.26:1204’</span><span +class="latt-0900"> -></span><span +class="latt-0900"> hello-world.ps</span> +<br /><span +class="latt-0900">Defining</span><span +class="latt-0900"> font</span><span +class="latt-0900"> ()</span><span +class="latt-0900"> cmr10</span><span +class="latt-0900"> at</span><span +class="latt-0900"> 10.0pt</span> +<br /><span +class="latt-0900">Font</span><span +class="latt-0900"> cmr10</span><span +class="latt-0900"> <CMR10></span><span +class="latt-0900"> is</span><span +class="latt-0900"> resident.</span> +</div> +</div> Теперь она ищет файл <span +class="latt-1000">cmr10.tfm</span>, который она находит, затем ещё несколько прологов (здесь они +опущены), и наконец файл формата Type 1 <span +class="latt-1000">cmr10.pfb </span>найден и включён в выходной файл (см, +последнюю строку): <div class="alltt"> +<!--l. 2514--><p class="noindent" ><div class="obeylines-v"> +<br /><span +class="latt-0900">kdebug:start</span><span +class="latt-0900"> search(file=cmr10.tfm,</span><span +class="latt-0900"> must_exist=1,</span><span +class="latt-0900"> find_all=0,</span> +<br /><span +class="latt-0900"> </span><span +class="latt-0900"> path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//:</span> +<br /><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> /var/tex/fonts/tfm//).</span> +<br /><span +class="latt-0900">kdebug:search(cmr10.tfm)</span><span +class="latt-0900"> =></span><span +class="latt-0900"> /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm</span> +<br /><span +class="latt-0900">kdebug:start</span><span +class="latt-0900"> search(file=texps.pro,</span><span +class="latt-0900"> must_exist=0,</span><span +class="latt-0900"> find_all=0,</span> +<br /><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> ...</span> + + +<br /><span +class="latt-0900"><texps.pro></span> +<br /><span +class="latt-0900">kdebug:start</span><span +class="latt-0900"> search(file=cmr10.pfb,</span><span +class="latt-0900"> must_exist=0,</span><span +class="latt-0900"> find_all=0,</span> +<br /><span +class="latt-0900"> </span><span +class="latt-0900"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:</span> +<br /><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> </span><span +class="latt-0900"> ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).</span> +<br /><span +class="latt-0900">kdebug:search(cmr10.pfb)</span><span +class="latt-0900"> =></span><span +class="latt-0900"> /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb</span> +<br /><span +class="latt-0900"><cmr10.pfb>[1]</span> +</div> +</div> + <h4 class="subsectionHead"><span class="titlemark">8.3 </span> <a + id="x1-690008.3"></a>Опции запуска</h4> +<!--l. 2531--><p class="noindent" >Ещё одна полезная возможность Web2C — изменение параметров памяти (в особенности +размеров массивов) при запуске, во время чтения файла <span +class="latt-1000">texmf.cnf </span>библиотекой Kpathsea. +Параметры памяти находятся в части 3 этого файла в дистрибутиве <span class="TEX">T<span +class="E">E</span>X</span> Live. Вот самые +важные: +<!--l. 2536--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span +class="latt-1000">main_memory</span> </dt><dd +class="list"> + <!--l. 2537--><p class="noindent" >Общее количество слов в памяти для программ <span class="TEX">T<span +class="E">E</span>X</span>, Metafont и MetaPost. После изменения + этого параметра надо перегенерировать формат. Например, вы можете создать «огромную» + версию <span class="TEX">T<span +class="E">E</span>X</span>а, и назвать соответствующий формат <span +class="latt-1000">hugetex.fmt</span>. По общим правилам + Kpathsea, значение переменной <span +class="latt-1000">main_memory </span>будет читаться из файла <span +class="latt-1000">texmf.cnf</span>. + </dd><dt class="list"> + <span +class="latt-1000">extra_mem_bot</span> </dt><dd +class="list"> + <!--l. 2543--><p class="noindent" >Дополнительная память для «больших» структур, которые создаёт <span class="TEX">T<span +class="E">E</span>X</span>: боксов, клея и т.д. + Особенно полезно при использовании PI C<span class="TEX">T<span +class="E">E</span>X</span>а. + </dd><dt class="list"> + <span +class="latt-1000">font_mem_size</span> </dt><dd +class="list"> + <!--l. 2546--><p class="noindent" >Количество слов информации о шрифтах для <span class="TEX">T<span +class="E">E</span>X</span>а. Это примерно суммарный размер всех + файлов TFM, которые читает <span class="TEX">T<span +class="E">E</span>X</span>. + </dd><dt class="list"> + <span +class="latt-1000">hash_extra</span> </dt><dd +class="list"> + <!--l. 2549--><p class="noindent" >Дополнительный размер хеша для имён команд. Примерно 10 000 команд может быть + помещено в основной хеш. Если вы делаете большую книгу со многими перекрёстными + ссылками, этого может не хватить. По умолчанию <span +class="latt-1000">hash_extra </span>равен <span +class="latt-1000">50000</span>.</dd></dl> +<!--l. 2556--><p class="noindent" >Разумеется, это не замена настоящих динамических массивов и распределения памяти, но поскольку эти +черты исключительно сложно осуществить в текущем <span class="TEX">T<span +class="E">E</span>X</span>е, использование этих параметров +представляет собой полезный компромисс и обеспечивает некоторую гибкость. +<!--l. 2667--><p class="indent" > <a id="ack"></a> + <h3 class="sectionHead"><span class="titlemark">9 </span> <a + id="x1-700009"></a>Благодарности</h3> +<!--l. 2670--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Live — результат объединённых усилий практически всех групп пользователей <span class="TEX">T<span +class="E">E</span>X</span>а. Это издание +<span class="TEX">T<span +class="E">E</span>X</span> Live выходит под редакцией Карла Берри. Другие основные авторы, прошлые и настоящие, +перечислены ниже. Мы благодарим: + <ul class="itemize1"> + <li class="itemize">Англоязычную, + немецкую, голландскую и польскую группы пользователей <span class="TEX">T<span +class="E">E</span>X</span>а (TUG, DANTE e.V., NTG + и GUST) за необходимую техническую и административную инфраструктуру. Пожалуйста, + вступайте в группы пользователей <span class="TEX">T<span +class="E">E</span>X</span>а (см. <a +href="http://tug.org/usergroups.html" class="url" ><span +class="latt-1000">http://tug.org/usergroups.html</span></a>). + </li> + <li class="itemize">Группу поддержки CTAN, в особенности Робина Фэйрбэйрнса, Джима Хефферона и Райнера + Шопфа за размещение дисков <span class="TEX">T<span +class="E">E</span>X</span> Live и поддержку инфраструктуры обновления пакетов, + от которой зависит <span class="TEX">T<span +class="E">E</span>X</span> Live. + + + </li> + <li class="itemize">Нельсона Биба за предоставленные разработчикам <span class="TEX">T<span +class="E">E</span>X</span> Live компьютеры и за тестирование + дистрибутива. + </li> + <li class="itemize">Джона Боумана за работу по интегрированию его программы для сложной графики + Asymptote в <span class="TEX">T<span +class="E">E</span>X</span> Live. + </li> + <li class="itemize">Питера Брейтенлохнера и команду разработчиков e-<span class="TEX">T<span +class="E">E</span>X</span>а за стабильный движок для + будущих <span class="TEX">T<span +class="E">E</span>X</span>ов, и в особенности Питера за блестящую работу с системой GNU autoools для + <span class="TEX">T<span +class="E">E</span>X</span> Live. + </li> + <li class="itemize">Цзинь-Хуэя Чоу и команду разработчиков DVIPDFM<span +class="lmmi-10">x </span>за их прекрасный драйвер и помощь + в его конфигурации. + </li> + <li class="itemize">Томаса Эссера, без замечательного пакета te<span class="TEX">T<span +class="E">E</span>X</span> которого <span class="TEX">T<span +class="E">E</span>X</span> Live не существовал бы. + </li> + <li class="itemize">Майкла Гусенса, который был соавтором первой версии документации. + </li> + <li class="itemize">Эйтана Гурари, чей <span class="TEX">T<span +class="E">E</span>X</span>4ht использовался для создания файлов в формате HTML, и + который неустанно работал, по первому требованию добавляя нужные нам возможности. + Эйтан безвременно скончался в июне 2009 года, и мы посвящаем эту документацию его + памяти. + </li> + <li class="itemize">Ханса Хагена за помощь в тестировании и приспособлении формата + Con<span class="TEX">T<span +class="E">E</span>X</span>t (<a +href="http://pragma-ade.com" class="url" ><span +class="latt-1000">http://pragma-ade.com</span></a>) к <span class="TEX">T<span +class="E">E</span>X</span> Live. + </li> + <li class="itemize">Хан Тхе Тханя, Мартина Шрёдера и команду pdf<span class="TEX">T<span +class="E">E</span>X</span>a (<a +href="http://pdftex.org" class="url" ><span +class="latt-1000">http://pdftex.org</span></a>) расширение + возможностей <span class="TEX">T<span +class="E">E</span>X</span>а. + </li> + <li class="itemize">Хартмута Хенкеля за существенный вклад в pdf<span class="TEX">T<span +class="E">E</span>X</span> Lua<span class="TEX">T<span +class="E">E</span>X</span> и другие программы. + </li> + <li class="itemize">Тако Хоекватера за возобновление работы над MetaPost и (Lua)<span class="TEX">T<span +class="E">E</span>X</span>ом (<a +href="http://luatex.org" class="url" ><span +class="latt-1000">http://luatex.org</span></a>) + за интегрирование Con<span class="TEX">T<span +class="E">E</span>X</span>tа в <span class="TEX">T<span +class="E">E</span>X</span> Live, параллелизацию программы Kpathsea и много + другое + </li> + <li class="itemize">Павла Яцковского за инсталлятор для Windows <span +class="lass-1000">tlpm</span>, и Томаша Лужака за <span +class="lass-1000">tlpmgui</span>, + использованные в прошлых версиях <span class="TEX">T<span +class="E">E</span>X</span> Live. + </li> + <li class="itemize">Акиру Какуто за большую помощь в интегрировании в систему программ для Windows + из его дистрибутива W32TEX (<a +href="http://www.fsci.fuk.kindai.ac.jp/kakuto/win32-ptex/" class="url" ><span +class="latt-1000">http://www.fsci.fuk.kindai.ac.jp/kakuto/win32-ptex/</span></a>) и + многое другое. + </li> + <li class="itemize">Джонатана Кью за создание замечательной новой системы Xe<span class="TEX">T<span +class="E">E</span>X</span>, за усилия по её + интегрированию в <span class="TEX">T<span +class="E">E</span>X</span> Live, за исходную версию программы установки Mac<span class="TEX">T<span +class="E">E</span>X</span>и за + рекомендованную нами оболочку для работы в <span class="TEX">T<span +class="E">E</span>X</span>е — <span class="TEX">T<span +class="E">E</span>X</span>works. + </li> + <li class="itemize">Дика Коча за поддержку Mac<span class="TEX">T<span +class="E">E</span>X</span>а (<a +href="http://tug.org/mactex" class="url" ><span +class="latt-1000">http://tug.org/mactex</span></a>) в тесном сотрудничестве с + <span class="TEX">T<span +class="E">E</span>X</span> Live, и за его неистощимых энтузиазм. + </li> + <li class="itemize">Рейнхарда Котучу за огромную работу по инфраструктуре <span class="TEX">T<span +class="E">E</span>X</span> Live 2008, за + исследовательскую работу в области Windows, за скрипт <span +class="latt-1000">getnonfreefonts </span>и многое другое. + </li> + <li class="itemize">Сипа Кроненберга, также за большой влад в инфраструктуру <span class="TEX">T<span +class="E">E</span>X</span> Live 2008 и программу + установки, особенно для Windows, а также за основную работу по документации новых + возможностей. + </li> + <li class="itemize">Хейко Обердиека за пакет <span +class="lass-1000">epstopdf </span>и многие другие, включая сжатие огромных файлов + пакета <span +class="lass-1000">pst-geo</span>, что позволило включить их в дитрибутив, и главное — за его замечательную + работу над пакетом <span +class="lass-1000">hyperref</span>. + </li> + + + <li class="itemize">Петра Олшака за координацию и тщательную проверку чешского и словацкого материала. + </li> + <li class="itemize">Тошио Ошиму за программу <span +class="lass-1000">dviout </span>для Windows. + </li> + <li class="itemize">Мануэля Пьегорье-Гоннара за помощь в обновлении пакетов, документации и работу над + программой <span +class="lass-1000">texdoc</span>. + </li> + <li class="itemize">Фабриция Попинье, за поддержку Windows в первых версиях <span class="TEX">T<span +class="E">E</span>X</span> Live и за работу над + французской документацией. + </li> + <li class="itemize">Норберта Прейнинга, который был главным архитектором инфраструктуры и программы + установки <span class="TEX">T<span +class="E">E</span>X</span> Live 2008, а также координировал дебиановскую версию <span class="TEX">T<span +class="E">E</span>X</span> Live (совместно + с Франком Кюстером), выдвинув много ценных предложений. + </li> + <li class="itemize">Себастьяна Ратца, создавшего проект <span class="TEX">T<span +class="E">E</span>X</span> Live и много лет поддерживавшего его. + </li> + <li class="itemize">Фила Тейлора за организацию скачивания <span class="TEX">T<span +class="E">E</span>X</span> Live в системе BitTorrent. + </li> + <li class="itemize">Томаша Тжечака за помощь в работе над версией для Windows. + </li> + <li class="itemize">Владимира Воловича за помощь в портировании и поддержке программ, в особенности за + работу над <span +class="lass-1000">xindy</span>, которая дала возможность включить эту программу в дистрибутив. + </li> + <li class="itemize">Сташекa Ваврикевича, который был главным тестером <span class="TEX">T<span +class="E">E</span>X</span> Live и координировал многие + польские проекты: шрифты, установку под Windows и многое другое. + </li> + <li class="itemize">Олафа Вебера за терпеливую работу над Web2C. + </li> + <li class="itemize">Гербена Виерду за разработку и поддержку <span class="TEX">T<span +class="E">E</span>X</span>а для Mac OS X, участие в сборке и + тестировании <span class="TEX">T<span +class="E">E</span>X</span> Live. + </li> + <li class="itemize">Грэма Виллиамса, создавшего каталог пакетов <span class="TEX">T<span +class="E">E</span>X</span> Catalogue. + </li></ul> +<!--l. 2803--><p class="indent" > Программы компилировали: Этторе Алдрованди (<span +class="lass-1000">i386-solaris</span>, <span +class="lass-1000">x86_64-solaris</span>). Алан Браслау +(<span +class="lass-1000">amd64-kfreebsd</span>, <span +class="lass-1000">i386-kfreebsd</span>), Питер Брейтенлохнер (<span +class="lass-1000">x86_64-linux</span>), Карл Берри (<span +class="lass-1000">i386-linux</span>), Кен Браун +(<span +class="lass-1000">i386-cygwin</span>), Акира Какуто (<span +class="lass-1000">win32</span>), Дик Коч (<span +class="lass-1000">universal-darwin</span>, <span +class="lass-1000">x86_64-darwin</span>), Никола Лечич +(<span +class="lass-1000">amd64-freebsd</span>, <span +class="lass-1000">i386-freebsd</span>), Мойка Миклавек (<span +class="lass-1000">mipsel-linux</span>), Норберт Прейнинг (<span +class="lass-1000">alpha-linux</span>), Юкка Салми +(<span +class="lass-1000">i386-netbsd</span>), Томас Шмитц (<span +class="lass-1000">powerpc-linux</span>), Борис Вейцман (<span +class="lass-1000">armel-linux</span>), Владимир Волович (<span +class="lass-1000">powerpc-aix</span>, +<span +class="lass-1000">sparc-solaris</span>), Олаф Вебер (<span +class="lass-1000">mips-irix</span>). Информация о процессе компилирования <span class="TEX">T<span +class="E">E</span>X</span> Live находится на +<a +href="http://tug.org/texlive/build.html" class="url" ><span +class="latt-1000">http://tug.org/texlive/build.html</span></a>. +<!--l. 2823--><p class="indent" > Перевод документации: Борис Вейцман (русский), Цзигод Цзян, Цзиньсун Чжао, Юэ Ван и Хэлинь +Гай (китайский), Уве Цигенхаген (немецкий), Мануэль Пьегорье-Гоннар (французский), Марко Паллант +(итальянский), Никола Лечич (сербский), Петр Сойка и Ян Буса (чешский и словацкий), Сташек +Ваврикевич (польский). Страница документации <span class="TEX">T<span +class="E">E</span>X</span> Live: <a +href="http://tug.org/texlive/doc.html" class="url" ><span +class="latt-1000">http://tug.org/texlive/doc.html</span></a>. +<!--l. 2834--><p class="indent" > Разумеется, наша главная благодарность — Дональду Кнуту, во-первых, за разработку <span class="TEX">T<span +class="E">E</span>X</span>а, и +во-вторых, за то, что он подарил его миру. +<!--l. 2837--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">10 </span> <a + id="x1-7100010"></a>История издания</h3> +<!--l. 2840--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">10.1 </span> <a + id="x1-7200010.1"></a>Прошлое</h4> +<!--l. 2842--><p class="noindent" >В конце 1993 года в голландской группе пользователей <span class="TEX">T<span +class="E">E</span>X</span>а во время работы над дистрибутивом +4All<span class="TEX">T<span +class="E">E</span>X</span> CD для пользователей MS-DOS возникла новая идея. Была поставлена цель создать +единый CD для всех систем. Эта цель была черечур сложна для того времени, однако она +привела не только к появлению очень успешного CD 4All<span class="TEX">T<span +class="E">E</span>X</span>, но и к созданию рабочей + + +группы Технического Совета TUG по структуре директорий для <span class="TEX">T<span +class="E">E</span>X</span>а (<a +href="http://tug.org/tds" class="url" ><span +class="latt-1000">http://tug.org/tds</span></a>), +которая разработала стандарт структуры директорий для системы <span class="TEX">T<span +class="E">E</span>X</span> и указала, как создать +логичную единую систему файлов для <span class="TEX">T<span +class="E">E</span>X</span>а. Несколько версий TDS было опубликовано +в декабрьском выпуске <span +class="lasl-1000">TUGboat </span>в 1995 году, и с самого начала стало ясно, что следует +создать пример структуры на CD. Дистрибутив, который вы держите в руках, — прямой +результат работы этой группы. Из успеха 4All<span class="TEX">T<span +class="E">E</span>X</span> был сделан вывод, что пользователям +UNIX также подойдёт такая удобная система, и так родилась другая важная часть <span class="TEX">T<span +class="E">E</span>X</span> +Live. +<!--l. 2859--><p class="indent" > Мы начали делать CD с UNIX и структурой директорий TDS осенью 1995 года, и быстро +поняли, что у te<span class="TEX">T<span +class="E">E</span>X</span>а Томаса Эссера идеальный состав дистрибутива и поддержка многих +платформ. Томас согласился нам помочь, и мы в начале 1996 года стали серьёзно работать над +дистрибутивом. Первое издание вышло в мае 1996 года. В начале 1997 года Карл Берри завершил +новую версию Web2C, которая включила практически все новые возможности, добавленные +Томасом Эссером в te<span class="TEX">T<span +class="E">E</span>X</span>, и мы решили основать второе издание на стандартном Web2C, с +добавлением скрипта <span +class="latt-1000">texconfig </span>из te<span class="TEX">T<span +class="E">E</span>X</span>а. Третье издание CD основывалось на новой версии +Web2C 7.2, Олафа Вебера; в то же время была выпущена новая версия te<span class="TEX">T<span +class="E">E</span>X</span>а, и <span class="TEX">T<span +class="E">E</span>X</span> Live +включил почти все его новые возможности. Четвертое издание следовало той же традиции, +используя новую версию te<span class="TEX">T<span +class="E">E</span>X</span>а и Web2C (7.3). Теперь в нём была полная система для +Windows. +<!--l. 2874--><p class="indent" > Для пятого издания (март 2000 года) многие пакеты на CD были пересмотрены и проверены. +Информация о пакетах была собрана в файлы XML. Но главным изменением в <span class="TEX">T<span +class="E">E</span>X</span> Live 5 было +удаление всех несвободных программ. Всё на <span class="TEX">T<span +class="E">E</span>X</span> Live преполагается совместимым с Правилами +Дебиана для Свободных Программ (<a +href="http://www.debian.org/intro/free" class="url" ><span +class="latt-1000">http://www.debian.org/intro/free</span></a>); мы сделали всё, что +могли, чтобы проверить лицензии всех пакетов, и мы будем благодарны за любое указание на +ошибки. +<!--l. 2883--><p class="indent" > В шестом издании (июль 2001 года) было много нового материала. Главным была новая концепция +установки: пользователь выбирал нужный набор коллекций. Языковые коллекции были полностью +реорганизованы, так что выбор любой из них устанавливал не только макросы, шрифты и и т.д., но и +вносил изменения в <span +class="latt-1000">language.dat</span>. +<!--l. 2889--><p class="indent" > Седьмое издание 2002 года добавило поддержку Mac OS X, и большое количество обновлений для +пакетов и программ. Важной целью была интеграция с te<span class="TEX">T<span +class="E">E</span>X</span>ом, чтобы исправить расхождение, +наметившееся в версиях 5 и 6. +<!--l. 2894--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">10.1.1 </span> <a + id="x1-7300010.1.1"></a>2003</h5> +<!--l. 2896--><p class="noindent" >В 2003 году мы продолжили изменения и дополнения, и обнаружили, что <span class="TEX">T<span +class="E">E</span>X</span> Live так вырос, что не +помещается на CD. Поэтому мы разделили его на три дистрибутива (см. раздел <a +href="#x1-90002.1">2.1<!--tex4ht:ref: sec:tl-coll-dists --></a>, стр. <a +href="#x1-90002.1">7<!--tex4ht:ref: sec:tl-coll-dists --></a>). Кроме +того: + <ul class="itemize1"> + <li class="itemize">По просьбе авторов <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>а, мы сменили стандартные команды <span +class="lass-1000">latex </span>и <span +class="lass-1000">pdflatex</span>: теперь они + используют e-<span class="TEX">T<span +class="E">E</span>X</span> (см. стр. <a +href="#x1-120002.4">10<!--tex4ht:ref: text:etex --></a>). + </li> + <li class="itemize">Новые шрифты Latin Modern включены и рекомендованы для использования. + </li> + <li class="itemize">Убрана поддержка для Alpha OSF (поддержка для HPUX была убрана ранее), поскольку + никто не имел (и не предложил) компьютеров для компилирования программ. + </li> + <li class="itemize">Сильно изменилась установка для Windows: впервые была предложена интегрированная + среда на основе редактора XEmacs. + </li> + <li class="itemize">Добавлены вспомогателные программы для Windows (Perl, Ghostscript, ImageMagick, Ispell). + </li> + <li class="itemize">Файлы Fontmap для <span +class="lass-1000">dvips</span>, <span +class="lass-1000">dvipdfm </span>и <span +class="lass-1000">pdftex </span>генерируютрся программой <span +class="lass-1000">updmap </span>и + устанваливаются в <span +class="latt-1000">texmf/fonts/map</span>. + </li> + <li class="itemize"><span class="TEX">T<span +class="E">E</span>X</span>, Metafont, and MetaPost теперь по умолчанию выводят символы из верхней половины + таблицы ASCII в файлы, открытые командой <span class="obeylines-h"><span class="verb"><span +class="latt-1000">\write</span></span></span>, логи и на терминал буквально, т.е. <span +class="lati-1000">не</span> + + + используя формат <span class="obeylines-h"><span class="verb"><span +class="latt-1000">^^</span></span></span>. В <span class="TEX">T<span +class="E">E</span>X</span> Live 7 это зависело от системной локали, но теперь это верно + для всех локалей. Если вам нужен формат <span class="obeylines-h"><span class="verb"><span +class="latt-1000">^^</span></span></span>, переименуйте файл <span class="obeylines-h"><span class="verb"><span +class="latt-1000">texmf/web2c/cp8bit.tcx</span></span></span>. + В будущем эта процедура будет упрощена. + </li> + <li class="itemize">Документация была существенно обновлена. + </li> + <li class="itemize">Наконец, из-за того, что нумерация по изданиям стала неудобной, мы перешли на нумерацию + по годам: <span class="TEX">T<span +class="E">E</span>X</span> Live 2003.</li></ul> +<!--l. 2930--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">10.1.2 </span> <a + id="x1-7400010.1.2"></a>2004</h5> +<!--l. 2932--><p class="noindent" >В 2004 году мы внесли много изменений. + <ul class="itemize1"> + <li class="itemize">Если у вас есть локальные шрифты с собственными файлами <span +class="latt-1000">.map </span>или <span +class="latt-1000">.enc</span>, вам может + понадобиться переместить эти файлы. + <!--l. 2940--><p class="noindent" >Файлы <span +class="latt-1000">.map </span>теперь ищутся только в поддиректориях <span +class="latt-1000">fonts/map </span>(в каждом дереве <span +class="latt-1000">texmf</span>) + в пути <span +class="latt-1000">TEXFONTMAPS</span>. Аналогично файлы <span +class="latt-1000">.enc </span>теперь ищутся в только в поддиректориях + <span +class="latt-1000">fonts/enc </span>в пути <span +class="latt-1000">ENCFONTS</span>. Программа <span +class="lass-1000">updmap </span>предупреждает, если находит эти файлы не + там, где они должны быть. + <!--l. 2947--><p class="noindent" >См. описание этой структуры на <a +href="http://tug.org/texlive/mapenc.html" class="url" ><span +class="latt-1000">http://tug.org/texlive/mapenc.html</span></a>. + </li> + <li class="itemize">К коллекции <span class="TEX">T<span +class="E">E</span>X</span> Collection был добавлен установочный CD с дистрибутивом MiK<span class="TEX">T<span +class="E">E</span>X</span> для + тех, кто предпочитает MiK<span class="TEX">T<span +class="E">E</span>X</span> программам, основанным на Web2C. См. раздел <a +href="#x1-80002">2<!--tex4ht:ref: sec:overview-tl --></a> (стр. <a +href="#x1-80002">7<!--tex4ht:ref: sec:overview-tl --></a>). + </li> + <li class="itemize">Дерево <span +class="latt-1000">texmf </span>в <span class="TEX">T<span +class="E">E</span>X</span> Live было разделено на три: <span +class="latt-1000">texmf</span>, <span +class="latt-1000">texmf-dist </span>и <span +class="latt-1000">texmf-doc</span>. См. + раздел <a +href="#x1-100002.2">2.2<!--tex4ht:ref: sec:tld --></a> (стр. <a +href="#x1-100002.2">7<!--tex4ht:ref: sec:tld --></a>) и файлы <span +class="latt-1000">README </span>в соответствующих директориях. + </li> + <li class="itemize">Все файлы, которые читает <span class="TEX">T<span +class="E">E</span>X</span>, собраны в + поддиректории <span +class="latt-1000">tex </span>деревьев <span +class="latt-1000">texmf* </span>вместо разделения на <span +class="latt-1000">tex</span>, <span +class="latt-1000">etex</span>, <span +class="latt-1000">pdftex</span>, <span +class="latt-1000">pdfetex </span>и т.д. + См. <a +href="../../../../texmf-doc/doc/english/tds/tds.html#Extensions" ><span +class="latt-1000">texmf-doc/doc/english/tds/tds.html#Extensions</span></a>. + </li> + <li class="itemize">Вспомогательные скрипты (вызываемые другими программами, а не непосредственно + пользователем) теперь собраны в директории <span +class="latt-1000">scripts </span>деревьев <span +class="latt-1000">texmf* </span>и ищутся командой + <span class="obeylines-h"><span class="verb"><span +class="latt-1000">kpsewhich</span><span +class="latt-1000"> -format=texmfscripts</span></span></span>. Поэтому если у вас есть программы, которые вызывают + такие скрипты, их надо изменить. См. <a +href="../../../../texmf-doc/doc/english/tds/tds.html#Scripts" ><span +class="latt-1000">texmf-doc/doc/english/tds/tds.html#Scripts</span></a>. + </li> + <li class="itemize">Почти все форматы теперь печатают большинство символов непосредственно, используя + «таблицы перевода» <span +class="latt-1000">cp227.tcx </span>вместо формата <span class="obeylines-h"><span class="verb"><span +class="latt-1000">^^</span></span></span>. В частности, символы с кодами 32–256 + плюс табуляция, вертикальная табуляция и перевод страницы печатаются непосредственно. + Исключениями являются plain <span class="TEX">T<span +class="E">E</span>X</span> (печатаются непосредственно символы 32–127), + Con<span class="TEX">T<span +class="E">E</span>X</span>t (0–255) и форматы, относящиеся к программе Omega. Это поведение почти такое + же, как у <span class="TEX">T<span +class="E">E</span>X</span> Live 2003, но реализовано более аккуратно, с б´ольшей возможностью + настройки. См. <a +href="../../../../texmf/doc/web2c/web2c.html#TCX-files" ><span +class="latt-1000">texmf/doc/web2c/web2c.html#TCX-files</span></a>. (Кстати, при вводе в Unicode, + <span class="TEX">T<span +class="E">E</span>X</span> может выводить при указании на ошибку только часть многобайтного символа, так + как внутри <span class="TEX">T<span +class="E">E</span>X</span> работает с байтами). + </li> + <li class="itemize"><span +class="lass-1000">pdfetex </span>теперь используется для всех форматов, кроме plain <span +class="lass-1000">tex</span>. (Разумеется, он делает + файлы в формате DVI, если вызван как <span +class="lass-1000">latex </span>и т.п.). Это означает, помимо прочего, + что возможности <span +class="lass-1000">pdftex</span>a для микротипографии а также возможности e-<span class="TEX">T<span +class="E">E</span>X</span>а доступны в + форматах <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>, Con<span class="TEX">T<span +class="E">E</span>X</span>t и т.д. (<a +href="../../../../texmf-dist/doc/etex/base/" >texmf-dist/doc/etex/base/</a>). + + + <!--l. 2998--><p class="noindent" >Это также означает, что теперь <span +class="lati-1000">очень важно </span>использовать пакет <span +class="lass-1000">ifpdf </span>(работает и с plain, и с + <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>) или эквивалентные средства, поскольку просто проверка, определён ли <span +class="latt-1000">\pdfoutput</span> + или другой примитив не достаточна для того, чтобы понять, в каком формате генерируется + результат. Мы сделали всё возможное для совместимости в этом году, но в будущем году + <span +class="latt-1000">\pdfoutput </span>может быть определён даже если генерируется DVI. + </li> + <li class="itemize">У программы pdf<span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://pdftex.org" class="url" ><span +class="latt-1000">http://pdftex.org</span></a>) много новых возможностей: + <ul class="itemize2"> + <li class="itemize">Поддержка карт шрифтов изнутри документа при помощи <span +class="latt-1000">\pdfmapfile </span>и <span +class="latt-1000">\pdfmapline</span>. + </li> + <li class="itemize">Микротипографические расширения могут быть использованы намного проще.<br +class="newline" /><a +href="http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html" class="url" ><span +class="latt-1000">http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html</span></a> + </li> + <li class="itemize">Все параметры, ранее задававшиеся в специальном конфигурационном файле + <span +class="latt-1000">pdftex.cfg</span>, теперь должны быть установлены примитивами, например, в файле + <span +class="latt-1000">pdftexconfig.tex</span>. Файл <span +class="latt-1000">pdftex.cfg </span>больше не поддерживается. При изменении файла + <span +class="latt-1000">pdftexconfig.tex </span>все форматы <span +class="latt-1000">.fmt </span>должны быть перегенерированы. + </li> + <li class="itemize">Остальные изменения описаны в руководстве пользователя программой pdf<span class="TEX">T<span +class="E">E</span>X</span>: + <a +href="../../../../texmf/doc/pdftex/manual" >texmf/doc/pdftex/manual</a>. + </li></ul> + </li> + <li class="itemize">Примитив <span +class="latt-1000">\input </span>в программе <span +class="lass-1000">tex </span>(и <span +class="lass-1000">mf </span>и <span +class="lass-1000">mpost</span>) теперь правильно интерпретирует пробелы и + другие специальные символы в двойных кавычках. Вот типичные примеры: + + + <div class="verbatim" id="verbatim-6"> + <div class="fancyvrb" id="fancyvrb19"><a + id="x1-74002r1"></a>  \input "filename with spaces"   % plain<br class="fancyvrb" /><a + id="x1-74004r2"></a>  \input{"filename with spaces"}  % latex</div> +</div> + <!--l. 3040--><p class="nopar" >См. подробности в руководстве к программе Web2C: <a +href="../../../../texmf/doc/web2c" >texmf/doc/web2c</a>. + </li> + <li class="itemize">Поддержка enc<span class="TEX">T<span +class="E">E</span>X</span>а включена в Web2C, и поэтому во все программы <span class="TEX">T<span +class="E">E</span>X</span>, которые теперь + поддерживают опцию <span +class="latt-1000">-enc </span>(только при генерировании форматов). enc<span class="TEX">T<span +class="E">E</span>X</span> обеспечивает общую + перекодировку входного и выходного потоков, что позволяет полную поддержку Unicode (в + UTF-8). См. <a +href="../../../../texmf-dist/doc/generic/enctex/" >texmf-dist/doc/generic/enctex/</a> и <a +href="http://www.olsak.net/enctex.html" class="url" ><span +class="latt-1000">http://www.olsak.net/enctex.html</span></a>. + </li> + <li class="itemize">В дистрибутиве появилась новая программа Aleph, сочетающая e-<span class="TEX">T<span +class="E">E</span>X</span> и Omega. Краткая информация о + ней находится в <a +href="../../../../texmf-dist/doc/aleph/base" >texmf-dist/doc/aleph/base</a> и <a +href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph" class="url" ><span +class="latt-1000">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph</span></a>. + Формат для <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>а на основе этой программы называется <span +class="lass-1000">lamed</span>. + </li> + <li class="itemize">Последняя версия <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>а включает новую версию лицензии LPPL — теперь официально + одобренную Debianом. Некоторые другие изменения перечислены в файлах <span +class="latt-1000">ltnews </span>в + <a +href="../../../../texmf-dist/doc/latex/base" >texmf-dist/doc/latex/base</a>. + </li> + <li class="itemize">В дистрибутиве появилась <span +class="lass-1000">dvipng</span>, новая программа для перевода DVI в PNG. См. + <a +href="../../../../texmf/doc/man/man1/dvipng.1" >texmf/doc/man/man1/dvipng.1</a>. + </li> + <li class="itemize">Мы уменьшили размер пакета <span +class="lass-1000">cbgreek </span>до приемлемого набора шрифтов, с согласия и совета автора + (Клаудио Беккари). Исключены невидимые, прозрачные и полупрозрачные шрифты, которые + относительно редко используются, а нам не хватало места. Полный набор шрифтов можно найти в + архиве CTAN (<a +href="http://www.ctan.org/tex-archive/fonts/greek/cb" class="url" ><span +class="latt-1000">http://www.ctan.org/tex-archive/fonts/greek/cb</span></a>). + </li> + <li class="itemize">Программа <span +class="lass-1000">oxdvi </span>удалена из дистрибутива; используйте <span +class="lass-1000">xdvi</span>. + </li> + <li class="itemize">Линки <span +class="lass-1000">ini </span>и <span +class="lass-1000">vir </span>для программ <span +class="lass-1000">tex</span>, <span +class="lass-1000">mf </span>и <span +class="lass-1000">mpost </span>(например, <span +class="lass-1000">initex</span>) больше не создаются. Уже много лет + опция <span +class="latt-1000">-ini </span>их успешно заменяет. + </li> + <li class="itemize">Убрана поддержка платформы <span +class="lass-1000">i386-openbsd</span>. Так как в портах BSD есть пакет <span +class="lass-1000">tetex</span>, и можно + пользоваться программами для GNU/Linux и FreeBSD, мы посчитали, что время добровольных + сотрудников проекта можно потратить с б´ольшей пользой по-другому. + </li> + <li class="itemize">По крайней мере для платформы <span +class="lass-1000">sparc-solaris </span>требуется установить переменную окружения + <span +class="latt-1000">LD_LIBRARY_PATH </span>для работы программ <span +class="lass-1000">t1utils</span>. Это вызвано тем, что они написаны на C++, а + стандартной директории для бибилиотек C++ в системе нет (это появилось до 2004 года, но ранее + эта особенность не была документирована). Аналогично, в <span +class="lass-1000">mips-irix </span>требуются библиотеки + MIPSpro 7.4. + </li></ul> +<!--l. 3101--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">10.1.3 </span> <a + id="x1-7500010.1.3"></a>2005</h5> +<!--l. 3103--><p class="noindent" >В 2005 году было, как всегда, сделано много изменений в пакетах и программах. Инфраструктура +почти не изменилась по сравненению с 2004 годом, но некоторые неизбежные изменения были +сделаны. + <ul class="itemize1"> + <li class="itemize">Были добавлены новые скрипты <span +class="lass-1000">texconfig-sys</span>, <span +class="lass-1000">updmap-sys </span>и <span +class="lass-1000">fmtutil-sys</span>, которые изменяют + конфигурационные файлы в системных деревьях. Скрипты <span +class="lass-1000">texconfig</span>, <span +class="lass-1000">updmap </span>и <span +class="lass-1000">fmtutil </span>теперь + модифицируют индивидуальные файлы пользователя в <span +class="latt-1000">$HOME/.texlive2005</span>. + + + </li> + <li class="itemize">Были добавлены новые переменные <span +class="latt-1000">TEXMFCONFIG </span>и <span +class="latt-1000">TEXMFSYSCONFIG </span>для указания, где + находятся конфигурационные файлы (пользовательские и системные). Таким образом, вам + надо переместить туда ваши личные копии <span +class="latt-1000">fmtutil.cnf </span>и <span +class="latt-1000">texmf.cnf</span>. В любом случае + положение этих файлов и значения переменных <span +class="latt-1000">TEXMFCONFIG </span>и <span +class="latt-1000">TEXMFSYSCONFIG </span>должны + быть согласованы. См. раздел <a +href="#x1-110002.3">2.3<!--tex4ht:ref: sec:texmftrees --></a>, стр. <a +href="#x1-110002.3">8<!--tex4ht:ref: sec:texmftrees --></a>. + </li> + <li class="itemize">В прошлом году мы оставили неопределёнными <span class="obeylines-h"><span class="verb"><span +class="latt-1000">\pdfoutput</span></span></span> и другие переменные при + генерировании файлов в формате DVI, хотя для этого использовалась программа <span +class="lass-1000">pdfetex</span>. В + этом году, как и было обещано, это уже не так. Поэтому если ваш документ использует для + проверки формата <span class="obeylines-h"><span class="verb"><span +class="latt-1000">\ifx\pdfoutput\undefined</span></span></span>, его надо изменить. Вы можете использовать + пакет <span +class="lass-1000">ifpdf.sty </span>(работает в plain <span class="TEX">T<span +class="E">E</span>X</span> и <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>) или аналогичную логику. + </li> + <li class="itemize">В прошлом году мы изменили большинство форматов, которые стали выдавать 8-битовые символы. + Если вам всё же нужны старый вариант с <span class="obeylines-h"><span class="verb"><span +class="latt-1000">^^</span></span></span>, используйте новый файл <span +class="latt-1000">empty.tcx</span>: + + + <div class="verbatim" id="verbatim-7"> + <div class="fancyvrb" id="fancyvrb20"><a + id="x1-75002r1"></a>  latex --translate-file=empty.tcx yourfile.tex</div> +</div> + <!--l. 3138--><p class="nopar" > + </li> + <li class="itemize">Добавлена новая программа <span +class="lass-1000">dvipdfmx </span>для перевода из DVI в PDF; это активно поддерживаемая + версия программы <span +class="lass-1000">dvipdfm</span>, которая пока ещё включена в дистрибутив, но уже не рекомендована. + </li> + <li class="itemize">Добавлены новые программы <span +class="lass-1000">pdfopen </span>и <span +class="lass-1000">pdfclose</span>, которые позволяют перегрузить файл PDF в + Adobe Acrobat Reader, не перезапуская программу (у других программ для чтения файлов PDF, + включая <span +class="lass-1000">xpdf</span>, <span +class="lass-1000">gv </span>и <span +class="lass-1000">gsview</span>, такой проблемы никогда не было). + </li> + <li class="itemize">Для единообразия мы переименовали переменные <span +class="latt-1000">HOMETEXMF </span>и <span +class="latt-1000">VARTEXMF </span>в <span +class="latt-1000">TEXMFHOME </span>и + <span +class="latt-1000">TEXMFSYSVAR</span>. Есть также <span +class="latt-1000">TEXMFVAR</span>, индивидуальная для каждого пользователя (см. первый пункт + выше).</li></ul> +<!--l. 3158--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">10.1.4 </span> <a + id="x1-7600010.1.4"></a>2006–2007</h5> +<!--l. 3160--><p class="noindent" >В 2006–2007 главным нововведением была программа Xe<span class="TEX">T<span +class="E">E</span>X</span>, вызываемая как <span +class="latt-1000">xetex </span>или <span +class="latt-1000">xelatex</span>; см. +<a +href="http://scripts.sil.org/xetex" class="url" ><span +class="latt-1000">http://scripts.sil.org/xetex</span></a>. +<!--l. 3164--><p class="indent" > Значительно обновлена программа MetaPost; предполагаются дополнительные обновления в будущем +(<a +href="http://tug.org/metapost/articles" class="url" ><span +class="latt-1000">http://tug.org/metapost/articles</span></a>). Также обновлён pdf<span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://tug.org/applications/pdftex" class="url" ><span +class="latt-1000">http://tug.org/applications/pdftex</span></a>). +<!--l. 3168--><p class="indent" > Форматы <span +class="latt-1000">.fmt </span>и т.д. теперь хранятся в поддиректориях <span +class="latt-1000">texmf/web2c</span>, а не в самой директории (хотя +директория всё ещё включена в поиск форматов, на случай, если там находятся старые файлы). +Поддиректории названы по имени программы, например, <span +class="latt-1000">tex</span>, <span +class="latt-1000">pdftex</span>, <span +class="latt-1000">xetex</span>. Это изменение не должно +влиять на работу программ. +<!--l. 3175--><p class="indent" > Программа (plain) <span +class="latt-1000">tex </span>больше не определяет по <span +class="latt-1000">%& </span>в первой строке, какой формат использовать: это +всегда Кнутовский <span class="TEX">T<span +class="E">E</span>X</span> (<span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> и другие ещё используют <span +class="latt-1000">%&</span>). +<!--l. 3179--><p class="indent" > Разумеется, в этом году были, как обычно, сотни обновлений пакетов и программ. Как обычно, +обновлённые версии можно найти в сети CTAN (<a +href="http://www.ctan.org" class="url" ><span +class="latt-1000">http://www.ctan.org</span></a>). +<!--l. 3183--><p class="indent" > Дерево <span class="TEX">T<span +class="E">E</span>X</span> Live теперь хранится в системе Subversion, и у нас появился WWW-интерфейс для +его просмотра. Мы предполагаем, что эта система будет использована для разработки в +будущем. +<!--l. 3187--><p class="indent" > Наконец, в мае 2006 года Томас Эссер объявил о прекращении работы над te<span class="TEX">T<span +class="E">E</span>X</span>ом +(<a +href="http://tug.org/tetex" class="url" ><span +class="latt-1000">http://tug.org/tetex</span></a>). Это вызвало всплеск интереса к <span class="TEX">T<span +class="E">E</span>X</span> Live, особенно среди разработчиков +систем GNU/Linux (мы добавили схему <span +class="latt-1000">tetex</span>, которая устанавливает систему, примерно +соответствующую te<span class="TEX">T<span +class="E">E</span>X</span>у). Мы надеемся, что это приведёт в конечном итоге к улучшению работы в +<span class="TEX">T<span +class="E">E</span>X</span>е для всех. +<!--l. 3195--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">10.1.5 </span> <a + id="x1-7700010.1.5"></a>2008</h5> +<!--l. 3197--><p class="noindent" >В 2008 была заново разработана и переписана вся структура <span class="TEX">T<span +class="E">E</span>X</span> Live. Полная информация об +установке системы теперь хранится в текстовом файле <span +class="latt-1000">tlpkg/texlive.tlpdb</span>. +<!--l. 3201--><p class="indent" > Помимо прочего, это наконец позволило обновление <span class="TEX">T<span +class="E">E</span>X</span> Live по сети — возможность, которая много +лет была у программы MiK<span class="TEX">T<span +class="E">E</span>X</span>. Мы предполагаем регулярно обновлять пакеты, поступающие на +CTAN. +<!--l. 3205--><p class="indent" > Включен новый важный «движок» Lua<span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://luatex.org" class="url" ><span +class="latt-1000">http://luatex.org</span></a>); помимо нового уровня вёрстки, +это дает прекрасный скриптовый язык для использования как изнутри документов <span class="TEX">T<span +class="E">E</span>X</span>а, так и +отдельно. +<!--l. 3209--><p class="indent" > Поддержка многих платформ на основе UNIX и Windows теперь гораздо более последовательна. В +частности, большинство скриптов на языках Perl и Lua теперь доступны под Windows благодаря версии +Perlа, распространяемой с <span class="TEX">T<span +class="E">E</span>X</span> Live. +<!--l. 3214--><p class="indent" > Новый скрипт <span +class="lass-1000">tlmgr </span>(см. раздел <a +href="#x1-450006">6<!--tex4ht:ref: sec:tlmgr --></a>) теперь является основным интерфейсом для администрирования +<span class="TEX">T<span +class="E">E</span>X</span> Live после установки. Он осуществляет обновление пакетов и перегенерирование форматов, карт +шрифтов и языков, включая локальные добавления. + + +<!--l. 3219--><p class="indent" > В связи с появлением программы <span +class="lass-1000">tlmgr</span>, возможности программы <span +class="lass-1000">texconfig </span>по редактированию +конфигурационных файлов форматов и таблиц переноса отключены. +<!--l. 3223--><p class="indent" > Программа <span +class="lass-1000">xindy </span>(<a +href="http://xindy.sourceforge.net/" class="url" ><span +class="latt-1000">http://xindy.sourceforge.net/</span></a>) для создания указателей теперь работает на +большинстве платформ. +<!--l. 3226--><p class="indent" > Программа <span +class="lass-1000">kpsewhich </span>теперь может сообщить обо всех нужных файлах (опция <span +class="latt-1000">-all</span>) и ограничить +поиск определенной поддиректорией (опция <span +class="latt-1000">-subdir</span>). +<!--l. 3230--><p class="indent" > Программа <span +class="lass-1000">dvipdfmx </span>теперь может извлекать информацию о высоте и ширине текста, если вызвана +как <span +class="lass-1000">extractbb</span>; это одна из последних возможностей программы <span +class="lass-1000">dvipdfm</span>, которой не было у +<span +class="lass-1000">dvipdfmx</span>. +<!--l. 3235--><p class="indent" > Алиасы <span +class="latt-1000">Times-Roman</span>, <span +class="latt-1000">Helvetica </span>и т.д. убраны. Разные пакеты ожидают от них разного +поведения (особенно при разных кодировках), и мы не нашли способа решить эту проблему +единообразно. +<!--l. 3239--><p class="indent" > Формат <span +class="lass-1000">platex </span>убран из-за конфликта с японским пакетом <span +class="lass-1000">platex</span>; теперь основная поддержка +польского языка осуществляется через пакет <span +class="lass-1000">polski</span>. +<!--l. 3243--><p class="indent" > Пулы строковых констант <span +class="latt-1000">WEB</span> теперь компилируются в сами программы для удобства +обновлений. +<!--l. 3246--><p class="indent" > Наконец, добавлены изменения, сделанные Дональдом Кнутом в его «Настройке <span class="TEX">T<span +class="E">E</span>X</span>а 2008 года», +см. <a +href="http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf" class="url" ><span +class="latt-1000">http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf</span></a>. +<!--l. 3250--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">10.1.6 </span> <a + id="x1-7800010.1.6"></a>2009</h5> +<!--l. 3252--><p class="noindent" >Начиная с 2009 года по умолчанию Lua(L<span +class="larm-0700">A</span> )<span class="TEX">T<span +class="E">E</span>X</span> теперь создает файлы в формате PDF, чтобы полнее +использовать поддержку шрифтов в формате OpenType. Чтобы получить результат в формате +DVI, используйте программы <span +class="latt-1000">dviluatex </span>и <span +class="latt-1000">dvilualatex</span>. Страница Lua<span class="TEX">T<span +class="E">E</span>X</span> находится на +<a +href="http://luatex.org" class="url" ><span +class="latt-1000">http://luatex.org</span></a>. +<!--l. 3258--><p class="indent" > Программа Omega и формат Lambda были после консультаций с авторами исключены из +дистрибутива. В дистрибутиве остались Aleph и Lamed, а также утилиты из набора Omega. +<!--l. 3262--><p class="indent" > Включена новая версия шрифтов AMS в формате Type 1. Она включает Computer Modern: были +учтены изменения, которые Кнут внес в исходные параметры для программы Metafont, а также +обновлены хинты. Шрифты Euler были полностью перерисованы Германом Цапфом (см. +<a +href="http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf" class="url" ><span +class="latt-1000">http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf</span></a>). Во всех случаях метрики шрифтов +не изменились. Страница шрифтов AMS находится на <a +href="http://www.ams.org/tex/amsfonts.html" class="url" ><span +class="latt-1000">http://www.ams.org/tex/amsfonts.html</span></a>. +<!--l. 3271--><p class="indent" > Новая графическая оболочка <span class="TEX">T<span +class="E">E</span>X</span>works включена в дистрибутив для Windows и Mac<span class="TEX">T<span +class="E">E</span>X</span>. +Информация о версиях для других платформ и дополнительная документация находится на +<a +href="http://tug.org/texworks" class="url" ><span +class="latt-1000">http://tug.org/texworks</span></a>. Это мультиплатформенная оболочка, вдохновленная программой TeXShop +для Mac OS X и ориентированная на упрощение работы с <span class="TEX">T<span +class="E">E</span>X</span>ом. +<!--l. 3278--><p class="indent" > Графическая программа Asymptote включена в дистрибутив для нескольких платформ. Она +основана на языке представления графики, напоминающем MetaPost, но с поддержкой трехмерных +объектов и другими возможностями. Её страница находится на <a +href="http://asymptote.sourceforge.net" class="url" ><span +class="latt-1000">http://asymptote.sourceforge.net</span></a>. +<!--l. 3284--><p class="indent" > Программа <span +class="latt-1000">dvipdfm </span>была заменена программой <span +class="latt-1000">dvipdfmx</span>; если вызвать последнюю как <span +class="latt-1000">dvipdfm</span>, она +работает в специальном режиме эмуляции <span +class="latt-1000">dvipdfm</span>. Программа <span +class="latt-1000">dvipdfmx </span>включает поддержку +китайского, японского и корейского языков (CJK) и много других изменений по сравнению с <span +class="latt-1000">dvipdfm</span>. Её +страница находится на <a +href="http://project.ktug.or.kr/dvipdfmx" class="url" ><span +class="latt-1000">http://project.ktug.or.kr/dvipdfmx</span></a>. +<!--l. 3291--><p class="indent" > В дистрибутив включены программы для <span +class="lass-1000">cygwin </span>и <span +class="lass-1000">i386-netbsd</span>, в то время как другие варианты BSD +были исключены: нам сказали, что пользователи OpenBSD и FreeBSD устанавливают <span class="TEX">T<span +class="E">E</span>X</span>, пользуясь +пакетными менеджерами. Кроме того, оказалось сложным создать программы, которые бы работали под +разными версиями этих систем. +<!--l. 3298--><p class="indent" > Ещё несколько изменений: мы теперь используем архиватор <span +class="latt-1000">xz</span>, стабильную замену для <span +class="latt-1000">lzma</span> +(<a +href="http://tukaani.org/xz/" class="url" ><span +class="latt-1000">http://tukaani.org/xz/</span></a>); знак доллара <span class="obeylines-h"><span class="verb"><span +class="latt-1000">$</span></span></span> теперь допустим в именах файлов, если результат не может +быть истолкован как известная перемена окружения; библиотека Kpathsea теперь параллелизована (это +нужно для новой версии программы MetaPost); процесс компиляции теперь полностью основан на +Automake. +<!--l. 3305--><p class="indent" > Последнее замечание о прошлом: все выпуски <span class="TEX">T<span +class="E">E</span>X</span> Live вместе с дополнительными +материалами вроде обложек CD хранятся на <a +href="ftp://tug.org/historic/systems/texlive" class="url" ><span +class="latt-1000">ftp://tug.org/historic/systems/texlive</span></a>. +<a +href="ftp://tug.org/historic/systems/texlive" class="url" ><span +class="latt-1000">ftp://tug.org/historic/systems/texlive</span></a>. + + +<!--l. 3310--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">10.1.7 </span> <a + id="x1-7900010.1.7"></a>2010</h5> +<!--l. 3313--><p class="noindent" >Начиная с 2010 года файлы в формате PDF по умолчанияю создаются в версии PDF 1.5. Это верно для +всех вариантов <span class="TEX">T<span +class="E">E</span>X</span>а, которые способны создавать файлы PDF, а также для <span +class="latt-1000">dvipdfmx</span>. Чтобы +получать файлы в формате PDF 1.4, используйте <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>овский пакет <span +class="lass-1000">pdf14 </span>или команду +<span class="obeylines-h"><span class="verb"><span +class="latt-1000">\pdfminorversion=4</span></span></span>. +<!--l. 3319--><p class="indent" > pdf(L<span +class="larm-0700">A</span> )<span class="TEX">T<span +class="E">E</span>X</span> теперь <span +class="lati-1000">автоматически </span>конвертирует файлы в формате Encapsulated PostScript (EPS) в +PDF при помощи пакета <span +class="lass-1000">epstopdf</span>, если используется конфигурационный файл <span +class="latt-1000">graphics.cfg </span>в <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>е, +и требуется вывод в формате PDF. Вы можете отказаться от загрузки пакета <span +class="latt-1000">epstopdf</span>, поместив перед +объявлением <span +class="latt-1000">\documentclass </span>команду <span class="obeylines-h"><span class="verb"><span +class="latt-1000">\newcommand{\DoNotLoadEpstopdf}{}</span></span></span> (или <span class="obeylines-h"><span class="verb"><span +class="latt-1000">\def...</span></span></span>). Он также не +загружается, если используется пакет <span +class="lass-1000">pst-pdf</span>. См. также документацию к пакету <span +class="lass-1000">epstopdf</span> +(<a +href="http://ctan.org/pkg/epstopdf-pkg" class="url" ><span +class="latt-1000">http://ctan.org/pkg/epstopdf-pkg</span></a>). +<!--l. 3330--><p class="indent" > С этим связано ещё одно изменение: теперь по умолчанию разрешено вызывать из <span class="TEX">T<span +class="E">E</span>X</span>а несколько +внешних команд (при помощи механизма <span +class="latt-1000">\write18</span>). Это <span +class="latt-1000">repstopdf</span>, <span +class="latt-1000">makeindex</span>, <span +class="latt-1000">kpsewhich</span>, <span +class="latt-1000">bibtex </span>и +<span +class="latt-1000">bibtex8</span>. Список определен в <span +class="latt-1000">texmf.cnf</span>. В случае, если необходимо запретить все текие команды, можно +убрать соответствующую опцию при установке системы (см. раздел <a +href="#x1-280003.2.4">3.2.4<!--tex4ht:ref: sec:options --></a>) или переконфигурировать +систему после установки командой <span class="obeylines-h"><span class="verb"><span +class="latt-1000">tlmgr</span><span +class="latt-1000"> conf</span><span +class="latt-1000"> texmf</span><span +class="latt-1000"> shell_escape</span><span +class="latt-1000"> 0</span></span></span>. +<!--l. 3339--><p class="indent" > Ещё одно изменение, связанное с этим: теперь BibTeX и Makeindex по умолчанию отказываются +записывать в файлы, лежащие в произвольной директории системы (как и сам <span class="TEX">T<span +class="E">E</span>X</span>). Поэтому их можно +запускать через механизм <span +class="latt-1000">\write18</span>. Чтобы изменить это правило, можно установить переменную +окружения <span +class="latt-1000">TEXMFOUTPUT </span>или изменить значение параметра <span class="obeylines-h"><span class="verb"><span +class="latt-1000">openout_any</span></span></span>. +<!--l. 3346--><p class="indent" > Xe<span class="TEX">T<span +class="E">E</span>X</span> теперь поддерживает оптическое выравнивание полей, как это умеет делать pdf<span class="TEX">T<span +class="E">E</span>X</span>. +(Шрифты с вариантами пока не поддерживаются). +<!--l. 3349--><p class="indent" > По умолчанию, <span +class="lass-1000">tlmgr </span>теперь сохраняет предыдущую версию каждого пакета после апгрейда +(<span +class="latt-1000">tlmgr option autobackup 1</span>), поэтому ошибки можно «откатить назад» командой <span +class="latt-1000">tlmgr</span> +<span +class="latt-1000">restore</span>. Если у вас нет места на диске для этих копий, запустите <span +class="latt-1000">tlmgr option autobackup</span> +<span +class="latt-1000">0</span>. +<!--l. 3355--><p class="indent" > Новые программы: p<span class="TEX">T<span +class="E">E</span>X</span> и пакет утилит для набора японских текстов, программа BibTeXU для +варианта BibTeXа с поддержкой Юникода, утилита <span +class="lass-1000">chktex </span>(<a +href="http://baruch.ev-en.org/proj/chktex" class="url" ><span +class="latt-1000">http://baruch.ev-en.org/proj/chktex</span></a>) для +проверки документов, созданных (L<span +class="larm-0700">A</span> )<span class="TEX">T<span +class="E">E</span>X</span>ом, программа <span +class="lass-1000">dvisvgm </span>(<a +href="http://dvisvgm.sourceforge.net" class="url" ><span +class="latt-1000">http://dvisvgm.sourceforge.net</span></a>) для +перевода из формата DVI в формат SVG. +<!--l. 3362--><p class="indent" > Включены программы для следующих новых платформ: <span +class="latt-1000">amd64-freebsd</span>, <span +class="latt-1000">amd64-kfreebsd</span>, +<span +class="latt-1000">i386-freebsd</span>, <span +class="latt-1000">i386-kfreebsd</span>, <span +class="latt-1000">x86_64-darwin</span>, <span +class="latt-1000">x86_64-solaris</span>. +<!--l. 3366--><p class="indent" > Об одном изменении в <span class="TEX">T<span +class="E">E</span>X</span> Live 2009 мы забыли упомянуть в свое время: многочисленные +программы конвертера <span class="TEX">T<span +class="E">E</span>X</span>4ht (<a +href="http://tug.org/tex4ht" class="url" ><span +class="latt-1000">http://tug.org/tex4ht</span></a>) были убраны из директорий для бинарников; +все теперь делается одной программой <span +class="latt-1000">mk4ht</span>. +<!--l. 3371--><p class="indent" > Наконец, релиз <span class="TEX">T<span +class="E">E</span>X</span> Live на <span class="TEX">T<span +class="E">E</span>X</span> Collection DVD уже нельзя использовать «live», непосредственно с +диска (что может показаться странным). Кстати, из-за этого установка с DVD будет теперь +значительно быстрее. +<!--l. 3375--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">10.1.8 </span> <a + id="x1-8000010.1.8"></a>2011</h5> +<!--l. 3378--><p class="noindent" >В 2011 году было сделано относительно немного изменений. +<!--l. 3380--><p class="indent" > Программы для Mac OS X (<span +class="latt-1000">universal-darwin </span>и <span +class="latt-1000">x86_64-darwin</span>) работают теперь только под Leopard +или младшей системой; Panther и Tiger больше не поддерживаются. +<!--l. 3384--><p class="indent" > Программа <span +class="latt-1000">biber </span>для обработки библиографических списков добавлена для всех платформ. Она +тесно связана с пакетом <span +class="latt-1000">biblatex</span>, который предлагает совершенно новый способ обработки +библиографий из <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>а. +<!--l. 3389--><p class="indent" > Программа MetaPost (<span +class="latt-1000">mpost</span>) больше не создает файлов <span +class="latt-1000">.mem</span>. Нужные файлы, например <span +class="latt-1000">plain.mp</span>, +теперь просто перечитываются при каждом запуске. Это связано с поддержкой MetaPost как +библиотеки — ещё одно важное, но прозрачное для пользователя изменение. +<!--l. 3395--><p class="indent" > Версия программы <span +class="latt-1000">updmap</span>, написанная на Перле, ранее использованная только под Windows, теперь +улучшена и устанавливается для всех платформ. Это должно быть прозрачно для пользователя — разве +что программа теперь работает гораздо быстрее. +<!--l. 3401--><p class="indent" > <a id="news"></a> + <h4 class="subsectionHead"><span class="titlemark">10.2 </span> <a + id="x1-8100010.2"></a>Настоящее</h4> + + +<!--l. 3405--><p class="noindent" >Программа <span +class="latt-1000">tlmgr </span>теперь поддерживает обновления из нескольких сетевых репозиториев. Эти +возможности подробнее описаны в соответствующем разделе <span +class="latt-1000">tlmgr help</span>. +<!--l. 3409--><p class="indent" > Параметр <span +class="latt-1000">\XeTeXdashbreakstate </span>теперь по умолчанию равен 1, как для <span +class="latt-1000">xetex</span>, так и для +<span +class="latt-1000">xelatex</span>. Это разрешает переход на новую строку после тире, что всегда было разрешено в plain +TeX, <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>, Lua<span class="TEX">T<span +class="E">E</span>X</span> и т.д. Старые документы в Xe<span class="TEX">T<span +class="E">E</span>X</span>е, для которых нужно в точности +сохранить старое форматирование, теперь должны будут явно установить <span +class="latt-1000">\XeTeXdashbreakstate</span> +равным 0. +<!--l. 3416--><p class="indent" > Файлы, создаваемые программами <span +class="latt-1000">pdftex </span>и <span +class="latt-1000">dvips</span>, теперь могут быть больше 2 гигабайт. +<!--l. 3419--><p class="indent" > 35 стандартных шрифтов PostScriptа теперь по умолчанию включены в файлы, создаваемые <span +class="latt-1000">dvips</span>, +так как сейчас существует много разных версий этих «стандартных» шрифтов. +<!--l. 3423--><p class="indent" > К программам, которые могут по умолчанию вызываться в ограниченном режиме через <span +class="latt-1000">\write18</span>, +добавлена <span +class="latt-1000">mpost</span>. +<!--l. 3426--><p class="indent" > Файл <span +class="latt-1000">texmf.cnf </span>теперь ищется ещё и в директории <span +class="latt-1000">../texmf-local</span>, т. е. если файл +<span +class="latt-1000">/usr/local/texlive/texmf-local/web2c/texmf.cnf </span>существует, он будет использован. +<!--l. 3431--><p class="indent" > Скрипт <span +class="latt-1000">updmap </span>теперь читает файлы <span +class="latt-1000">updmap.cfg </span>в каждом поддереве директорий, вместо одного +глобального конфигурационного файла. Это изменение должно быть прозрачным для пользователя, +если бы не редактировали вручную файлы <span +class="latt-1000">updmap.cfg</span>. Подробнее объяснено в документации, +выдаваемой командой <span +class="latt-1000">updmap –help</span>. +<!--l. 3437--><p class="indent" > Платформы: добавлены <span +class="lass-1000">armel-linux </span>и <span +class="lass-1000">mipsel-linux</span>; из основного дистрибутива исключена платформа +<span +class="lass-1000">sparc-linux</span>. Её теперь можно сгрузить, вместе с другими дополнительными платформами, из +<a +href="http://tug.org/texlive/custom-bin.html" class="url" ><span +class="latt-1000">http://tug.org/texlive/custom-bin.html</span></a>. +<!--l. 3442--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">10.3 </span> <a + id="x1-8200010.3"></a>Будущее</h4> +<!--l. 3444--><p class="noindent" ><span class="TEX"><span +class="lati-1000">T</span><span +class="E"><span +class="lati-1000">E</span></span><span +class="lati-1000">X</span></span> <span +class="lati-1000">Live не совершенен! </span>(И никогда не будет.) Мы предполагаем выпускать новые версии, добавляя +справочный материал, утилиты, установочные программы и (конечно) новое, улучшенное и +проверенное дерево макросов и шрифтов. Эта работа делается очень занятыми добровольцами в +свободное время, и многое остается сделать. Если вы можете помочь, не стесняйтесь. См. +<a +href="http://tug.org/texlive/contribute.html" class="url" ><span +class="latt-1000">http://tug.org/texlive/contribute.html</span></a>. +<!--l. 3452--><p class="indent" > Присылайте, пожалуйста, замечания и предложения по адресу: + <div class="quote"> + <!--l. 3454--><p class="noindent" ><a +href="mailto:tex-live@tug.org" ><span class="path"><span +class="latt-1000">tex-live@tug.org</span></span></a> <br +class="newline" /><a +href="http://tug.org/texlive" class="url" ><span +class="latt-1000">http://tug.org/texlive</span></a></div> +<!--l. 3459--><p class="noindent" ><span +class="lasl-1000">Happy </span><span class="TEX"><span +class="lasl-1000">T</span><span +class="E"><span +class="lasl-1000">E</span></span><span +class="lasl-1000">X</span></span><span +class="lasl-1000">ing!</span> + +</body></html> + + + + diff --git a/Master/texmf-dist/doc/texlive/texlive-ru/texlive-ru.pdf b/Master/texmf-dist/doc/texlive/texlive-ru/texlive-ru.pdf Binary files differnew file mode 100644 index 00000000000..b5d626f5988 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-ru/texlive-ru.pdf diff --git a/Master/texmf-dist/doc/texlive/texlive-ru/texlive-ru.tex b/Master/texmf-dist/doc/texlive/texlive-ru/texlive-ru.tex new file mode 100644 index 00000000000..34699258cff --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-ru/texlive-ru.tex @@ -0,0 +1,3468 @@ +% $Id$ +% +%\def\Status{1} +\documentclass{article} +\let\tldocrussian=1 % for live4ht.cfg +\usepackage{cmap} +\usepackage{tex-live} +\usepackage[koi8-r]{inputenc} +\usepackage[russian]{babel} +\newcommand\Unix{Unix} +\newcommand\Windows{Windows} +\usepackage{indentfirst} +\def\p.{ÓÔÒ.~}% +\renewcommand{\samp}[1]{<<\texttt{#1}>>} +\hypersetup{unicode=true} % Makes bookmarks work in Russian +% +\begin{document} + +\title{% + {\huge \textit{òÕËÏ×ÏÄÓÔ×Ï ÐÏÌØÚÏ×ÁÔÅÌÑ \protect\TL{}}\\\smallskip}% + {\LARGE \textsf{\TL{} 2012}}% +} + +\author{òÅÄÁËÔÏÒ: ëÁÒÌ âÅÒÒÉ\\[3mm] + \url{http://tug.org/texlive/}} +\date{éÀÎØ 2012} + +\maketitle + + +\begin{multicols}{2} +\tableofcontents +%\listoftables +\end{multicols} + +\section{÷×ÅÄÅÎÉÅ} +\label{sec:intro} + +\subsection{\TeX\ Live É \TeX\ Collection} + + +÷ ÜÔÏÍ ÄÏËÕÍÅÎÔÅ ÏÐÉÓÁÎÙ ÏÓÎÏ×ÎÙÅ ×ÏÚÍÏÖÎÏÓÔÉ ÐÒÏÇÒÁÍÍÎÏÇÏ ÐÒÏÄÕËÔÁ +\TL{} "--- ÄÉÓÔÒÉÂÕÔÉ×Á \TeX{}Á É ÄÒÕÇÉÈ ÐÒÏÇÒÁÍÍ ÄÌÑ +\acro{GNU}/Linux É ÄÒÕÇÉÈ UNIXÏ×, \MacOSX É Windows. + +\TL{} ÍÏÖÎÏ ÓËÁÞÁÔØ Ó éÎÔÅÒÎÅÔÁ, Á ÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÎÁ \DVD{} <<\TK{}>>. üÔÉ +\DVD{} ÒÁÓÐÒÏÓÔÒÁÎÑÀÔÓÑ ÇÒÕÐÐÁÍÉ ÐÏÌØÚÏ×ÁÔÅÌÅÊ \TeX Á. ÷ ÒÁÚÄÅÌÅ +\ref{sec:tl-coll-dists} ËÒÁÔËÏ ÏÐÉÓÁÎÏ ÓÏÄÅÒÖÁÎÉÅ ÔÁËÏÇÏ \DVD{}. é +\TL{}, É \TK{} ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ ÇÒÕÐÐÁÍÉ ÐÏÌØÚÏ×ÁÔÅÌÅÊ \TeX Á. ÷ ÜÔÏÍ +ÄÏËÕÍÅÎÔÅ × ÏÓÎÏ×ÎÏÍ ÏÐÉÓÁÎ \TL{}. + +÷ \TL{} ×ËÌÀÞÅÎÙ ÐÒÏÇÒÁÍÍÙ \TeX{}, \LaTeXe{}, \ConTeXt, \MF, \MP, +\BibTeX{} É ÍÎÏÇÉÅ ÄÒÕÇÉÅ; ÏÂÛÉÒÎÁÑ ËÏÌÌÅËÃÉÑ ÍÁËÒÏÓÏ×, ÛÒÉÆÔÏ× É +ÄÏËÕÍÅÎÔÁÃÉÉ; Á ÔÁËÖÅ ÐÏÄÄÅÒÖËÁ ×£ÒÓÔËÉ ÎÁ ÍÎÏÇÉÈ ÑÚÙËÁÈ ÍÉÒÁ. + + +ëÒÁÔËÉÊ ÓÐÉÓÏË ÏÓÎÏ×ÎÙÈ ÉÚÍÅÎÅÎÉÊ × ÜÔÏÍ ÉÚÄÁÎÉÉ \TeXLive{} ÍÏÖÎÏ +ÎÁÊÔÉ × ÒÁÚÄÅÌÅ~\ref{sec:history}, \p.\pageref{sec:history}. + +\htmlanchor{platforms} +\subsection{ðÏÄÄÅÒÖÉ×ÁÅÍÙÅ ÏÐÅÒÁÃÉÏÎÎÙÅ ÓÉÓÔÅÍÙ} +\label{sec:os-support} + +÷ \TL{} ×ËÌÀÞÅÎÙ ÓËÏÍÐÉÌÉÒÏ×ÁÎÎÙÅ ÐÒÏÇÒÁÍÍÙ ÄÌÑ ÍÎÏÇÉÈ ×ÁÒÉÁÎÔÏ× UNIX, +×ËÌÀÞÁÑ \GNU/Linux, \MacOSX{} É Cygwin. éÓÈÏÄÎÙÊ ËÏÄ ÔÁËÖÅ ×ËÌÀÞ£Î × +ÄÉÓÔÒÉÂÕÔÉ×, ÞÔÏ ÐÏÚ×ÏÌÑÅÔ ËÏÍÐÉÌÉÒÏ×ÁÔØ \TL{} É ÎÁ ÐÌÁÔÆÏÒÍÁÈ, ÄÌÑ +ËÏÔÏÒÙÈ ÍÙ ÎÅ ×ËÌÀÞÉÌÉ ÓÏÂÒÁÎÎÙÈ ÐÒÏÇÒÁÍÍ. + +þÔÏ ËÁÓÁÅÔÓÑ Windows: ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ ×ÅÒÓÉÉ Windows~\acro{XP} É +ÍÌÁÄÛÅ. ðÒÏÇÒÁÍÍÙ ÔÁËÖÅ ÂÏÌÅÅ ÉÌÉ ÍÅÎÅÅ ÒÁÂÏÔÏÓÐÏÓÏÂÎÙ ÐÏÄ +Windows~2000. íÙ ÎÅ ÓÏÂÒÁÌÉ 64-ÂÉÔÏ×ÙÅ ÐÒÏÇÒÁÍÍÙ ÄÌÑ Windows, ÎÏ +32-ÂÉÔÏ×ÙÅ ×ÁÒÉÁÎÔÙ ÄÏÌÖÎÙ ÒÁÂÏÔÁÔØ ÎÁ 64-ÂÉÔÏ×ÙÈ ÓÉÓÔÅÍ. + +áÌØÔÅÒÎÁÔÉ×ÎÙÅ ×ÁÒÉÁÎÔÙ ÄÌÑ Windows É \MacOSX{} ÏÐÉÓÁÎÙ × +ÒÁÚÄÅÌÅ~\ref{sec:tl-coll-dists}. + +\subsection{ïÓÎÏ×Ù ÕÓÔÁÎÏ×ËÉ \protect\TL{}} +\label{sec:basic} + +\TL{} ÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ Ó \DVD{} ÉÌÉ Ó éÎÔÅÒÎÅÔÁ +(\url{http://tug.org/texlive/acquire.html}). ðÒÏÇÒÁÍÍÁ ÄÌÑ ÕÓÔÁÎÏ×ËÉ +Ó ÓÅÔÉ ÓÁÍÁ ÐÏ ÓÅÂÅ ÍÁÌÁ "--- ÏÎÁ ÓËÁÞÉ×ÁÅÔ ×ÓÅ ÎÕÖÎÏÅ Ó éÎÔÅÒÎÅÔÁ. + +ðÒÏÇÒÁÍÍÁ ÕÓÔÁÎÏ×ËÉ Ó \DVD{} ÐÏÚ×ÏÌÑÅÔ ÕÓÔÁÎÏ×ÉÔØ \TL{} ÎÁ ÄÉÓË +ËÏÍÐØÀÔÅÒÁ. ÷Ù ÎÅ ÓÍÏÖÅÔÅ ÚÁÐÕÓËÁÔØ \TL{} ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ Ó \DVD{}, +ÎÏ ×Ù ÍÏÖÅÔÅ ÓÏÂÒÁÔØ ÒÁÂÏÔÁÀÝÕÀ ×ÅÒÓÉÀ \TL, ÎÁÐÒÉÍÅÒ, ÎÁ ÆÌÅÛËÅ \acro{USB} +(ÓÍ.~\ref{sec:portable-tl}). õÓÔÁÎÏ×ËÁ ÓÉÓÔÅÍÙ ÐÏÄÒÏÂÎÏ ÏÐÉÓÁÎÁ × +ÓÌÅÄÕÀÝÉÈ ÒÁÚÄÅÌÁÈ (\p.\pageref{sec:install}), ÎÏ ×ËÒÁÔÃÅ ÏÎÁ ÓÏÓÔÏÉÔ +× ÓÌÅÄÕÀÝÅÍ: +\begin{itemize*} + +\item óËÒÉÐÔ ÄÌÑ ÕÓÔÁÎÏ×ËÉ ÓÉÓÔÅÍÙ ÎÁÚÙ×ÁÅÔÓÑ \texttt{install-tl}. ïÎ + ÍÏÖÅÔ ÒÁÂÏÔÁÔØ × ÕÐÒÏÝÅÎÎÏÍ ÇÒÁÆÉÞÅÓËÏÍ ×ÁÒÉÁÎÔÅ, ÅÓÌÉ ×ÙÂÒÁÎÁ ÏÐÃÉÑ + \code{-gui=wizard}) (ÒÅÖÉÍ ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ Windows), × ÔÅËÓÔÏ×ÏÍ + ×ÁÒÉÁÎÔÅ, ÅÓÌÉ ×ÙÂÒÁÎÁ ÏÐÃÉÑ \texttt{-gui=text} (ÒÅÖÉÍ ÐÏ ÕÍÏÌÞÁÎÉÀ + ÄÌÑ ÏÓÔÁÌØÎÙÈ ÁÒÈÉÔÅËÔÕÒ), É × ÇÒÁÆÉÞÅÓËÏÍ ×ÁÒÉÁÎÔÅ ÄÌÑ ÜËÓÐÅÒÔÏ×, + ÅÓÌÉ ×ÙÂÒÁÎÁ ÏÐÃÉÑ \code{-gui=perltk}. + +\item óÒÅÄÉ ÕÓÔÁÎÏ×ÌÅÎÎÙÈ ÐÒÏÇÒÁÍÍ ÅÓÔØ <<íÅÎÅÄÖÅÒ \TL{}>>, + \prog{tlmgr}. ëÁË É ÐÒÏÇÒÁÍÍÁ ÕÓÔÁÎÏ×ËÉ, ÏÎ ÍÏÖÅÔ ÒÁÂÏÔÁÔØ ËÁË × + ÇÒÁÆÉÞÅÓËÏÍ, ÔÁË É × ÔÅËÓÔÏ×ÏÍ ÒÅÖÉÍÁÈ. üÔÁ ÐÒÏÇÒÁÍÍÁ ÐÏÚ×ÏÌÑÅÔ + ÕÓÔÁÎÁ×ÌÉ×ÁÔØ É ÕÄÁÌÑÔØ ÐÁËÅÔÙ, Á ÔÁËÖÅ ÎÁÓÔÒÁÉ×ÁÔØ ÓÉÓÔÅÍÕ. +\end{itemize*} + +\htmlanchor{security} +\subsection{óÏÏÂÒÁÖÅÎÉÑ ÂÅÚÏÐÁÓÎÏÓÔÉ} +\label{sec:security} + +îÁÓËÏÌØËÏ ÍÙ ÍÏÖÅÍ ÓËÁÚÁÔØ, ÏÓÎÏ×ÎÙÅ ÐÒÏÇÒÁÍÍÙ \TeX{}Á ÂÙÌÉ É ÏÓÔÁÀÔÓÑ +ÏÞÅÎØ ÎÁÄÅÖÎÙÍÉ. ïÄÎÁËÏ ÎÅÓÍÏÔÒÑ ÎÁ ×ÓÅ ÕÓÉÌÉÑ, ÎÅËÏÔÏÒÙÅ ÐÒÏÇÒÁÍÍÙ +ÄÉÓÔÒÉÂÕÔÉ×Á ÍÏÇÕÔ ÎÅ ÄÏÓÔÉÞØ ÜÔÏÇÏ ÕÒÏ×ÎÑ. ëÁË ÏÂÙÞÎÏ, ×Ù ÄÏÌÖÎÙ +ÂÙÔØ ÏÓÔÏÒÏÖÎÙ, ÏÂÒÁÂÁÔÙ×ÁÑ ÌÀÂÙÍÉ ÐÒÏÇÒÁÍÍÁÍÉ ÎÅÎÁÄÅÖÎÙÅ ÉÓÈÏÄÎÙÅ +ÄÁÎÎÙÅ; ÄÌÑ ÂÅÚÏÐÁÓÎÏÓÔÉ ÄÅÌÁÊÔÅ ÜÔÏ × ÏÔÄÅÌØÎÏÊ ÐÏÄÄÉÒÅËÔÏÒÉÉ. + +ïÓÏÂÅÎÎÏÊ ÏÓÔÏÒÏÖÎÏÓÔÉ ÔÒÅÂÕÅÔ ÒÁÂÏÔÁ ÐÏÄ Windows, ÐÏÓËÏÌØËÕ Windows +ÏÂÙÞÎÏ ÚÁÐÕÓËÁÅÔ × ÐÅÒ×ÕÀ ÏÞÅÒÅÄØ ËÏÐÉÀ ÐÒÏÇÒÁÍÍÙ ÉÚ ÔÅËÕÝÅÊ +ÄÉÒÅËÔÏÒÉÉ, ÄÁÖÅ ÅÓÌÉ ÓÕÝÅÓÔ×ÕÅÔ ÄÒÕÇÁÑ ËÏÐÉÑ ÔÁÍ, ÇÄÅ × ÓÉÓÔÅÍÅ +ÏÂÙÞÎÏ ÎÁÈÏÄÑÔÓÑ ÂÉÎÁÒÎÉËÉ. üÔÏ ÏÔËÒÙ×ÁÅÔ ÍÎÏÇÏ ×ÏÚÍÏÖÎÏÓÔÅÊ ÄÌÑ +ÈÁËÅÒÓËÉÈ ÁÔÁË. íÙ ÚÁËÒÙÌÉ ÍÎÏÇÏ ÄÙÒ × ÂÅÚÏÐÁÓÎÏÓÔÉ, ÎÏ ÂÅÚ ÓÏÍÎÅÎÉÑ, +ÅÝ£ ÂÏÌØÛÅ ÄÙÒ ÏÓÔÁÌÏÓØ, ÏÓÏÂÅÎÎÏ × ÐÒÅÄÏÓÔÁ×ÌÅÎÎÙÈ ÎÁÍ ÞÕÖÉÈ +ÐÒÏÇÒÁÍÍÁÈ. ðÏÜÔÏÍÕ ÍÙ ÒÅËÏÍÅÎÄÕÅÍ ÐÒÏ×ÅÒÑÔØ ÐÏÄÏÚÒÉÔÅÌØÎÙÅ ÆÁÊÌÙ × +ÒÁÂÏÞÅÊ ÄÉÒÅËÔÏÒÉÉ, ÏÓÏÂÅÎÎÏ ÉÓÐÏÌÎÑÅÍÙÅ ÆÁÊÌÙ (ÂÉÎÁÒÎÉËÉ É +ÓËÒÉÐÔÙ). ïÂÙÞÎÏ ÉÈ ÔÁÍ ÂÙÔØ ÎÅ ÄÏÌÖÎÏ, É ×£ÒÓÔËÁ ÄÏËÕÍÅÎÔÏ× ÎÅ +ÄÏÌÖÎÁ ÉÈ ÓÏÚÄÁ×ÁÔØ. + +îÁËÏÎÅÃ, \TeX{} (É ×ÓÐÏÍÏÇÁÔÅÌØÎÙÅ ÐÒÏÇÒÁÍÍÙ) ÓÐÏÓÏÂÎÙ ÐÉÓÁÔØ × ÆÁÊÌÙ +ÐÒÉ ÏÂÒÁÂÏÔËÅ ÄÏËÕÍÅÎÔÏ×. üÔÏ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÄÌÑ ÁÔÁËÉ +ÒÁÚÎÏÏÂÒÁÚÎÙÍÉ ÓÐÏÓÏÂÁÍÉ. é ÏÐÑÔØ, ÂÅÚÏÐÁÓÎÅÅ ×ÓÅÇÏ ÏÂÒÁÂÁÔÙ×ÁÔØ +ÎÅÉÚ×ÅÓÔÎÙÅ ÄÏËÕÍÅÎÔÙ × ÏÔÄÅÌØÎÏÊ ÄÉÒÅËÔÏÒÉÉ. + +\subsection{çÄÅ ÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÐÏÄÄÅÒÖËÕ} +\label{sec:help} + +óÏÏÂÝÅÓÔ×Ï ÐÏÌØÚÏ×ÁÔÅÌÅÊ \TeX{}Á ÁËÔÉ×ÎÏ É ÄÒÕÖÅÌÀÂÎÏ, É ÐÒÁËÔÉÞÅÓËÉ +ÎÁ ËÁÖÄÙÊ ÓÅÒØ£ÚÎÙÊ ×ÏÐÒÏÓ ÎÁÊÄ£ÔÓÑ ÏÔ×ÅÔ. ïÄÎÁËÏ ÜÔÁ ÐÏÄÄÅÒÖËÁ +ÎÅÆÏÒÍÁÌØÎÁ, ×ÙÐÏÌÎÑÅÔÓÑ ÄÏÂÒÏ×ÏÌØÃÁÍÉ, É ÐÏÜÔÏÍÕ ÏÞÅÎØ ×ÁÖÎÏ, ÞÔÏÂÙ +×Ù ÓÁÍÉ ÐÏÐÒÏÂÏ×ÁÌÉ ÎÁÊÔÉ ÏÔ×ÅÔ ÐÅÒÅÄ ÔÅÍ, ËÁË ÚÁÄÁ×ÁÔØ ×ÏÐÒÏÓ. (åÓÌÉ +×Ù ÐÒÅÄÐÏÞÉÔÁÅÔÅ ËÏÍÍÅÒÞÅÓËÕÀ ÐÏÄÄÅÒÖËÕ, ×ÏÚÍÏÖÎÏ ×ÁÍ ÓÔ\'ÏÉÔ ×ÍÅÓÔÏ +\TL{} ËÕÐÉÔØ ÏÄÎÕ ÉÚ ËÏÍÍÅÒÞÅÓËÉÈ ×ÅÒÓÉÊ \TeX{}Á, ÓÍ. ÓÐÉÓÏË ÐÏ +ÁÄÒÅÓÕ \url{http://tug.org/interest.html#vendors}). + +÷ÏÔ ÓÐÉÓÏË ÉÓÔÏÞÎÉËÏ× ÐÏÄÄÅÒÖËÉ, ÐÒÉÂÌÉÚÉÔÅÌØÎÏ × ÔÏÍ ÐÏÒÑÄËÅ, × +ËÏÔÏÒÏÍ ÍÙ ÒÅËÏÍÅÎÄÕÅÍ Ë ÎÉÍ ÏÂÒÁÝÁÔØÓÑ: + +\begin{description} + +\item[óÔÒÁÎÉÃÁ ÄÌÑ ÎÏ×ÉÞËÏ×:] åÓÌÉ ×Ù "--- ÎÏ×ÉÞÏË, ÔÏ ÓÔÒÁÎÉÃÁ + \url{http://tug.org/begin.html} ÍÏÖÅÔ ÐÏÓÌÕÖÉÔØ ÄÌÑ ÎÁÞÁÌÁ. + +\item [\TeX{} \acro{FAQ}:] \TeX{} \acro{FAQ} (þÁ÷Ï, ÞÁÓÔÏ ÚÁÄÁ×ÁÅÍÙÅ + ×ÏÐÒÏÓÙ) "--- ÏÇÒÏÍÎÁÑ ËÏÌÌÅËÃÉÑ ÏÔ×ÅÔÏ× ÎÁ ×ÓÅ×ÏÚÍÏÖÎÙÅ ×ÏÐÒÏÓÙ, ÏÔ + ÓÁÍÙÈ ÐÒÏÓÔÙÈ ÄÏ ÓÁÍÙÈ ÓÌÏÖÎÙÈ. áÎÇÌÉÊÓËÁÑ ×ÅÒÓÉÑ þÁ÷Ï ÎÁÈÏÄÉÔÓÑ ÎÁ + \TL{} × ÒÁÚÄÅÌÅ \OnCD{texmf-dist/doc/generic/FAQ-en/html/index.html} + É ÄÏÓÔÕÐÎÁ × éÎÔÅÒÎÅÔÅ ÐÏ ÁÄÒÅÓÕ \url{http://www.tex.ac.uk/faq}. + ðÏÖÁÌÕÊÓÔÁ, ÎÁÞÉÎÁÊÔÅ ÐÏÉÓË ÏÔ×ÅÔÁ ÎÁ ×ÁÛÉ ×ÏÐÒÏÓÙ ÏÔÓÀÄÁ. + +\item [\TeX{} Catalogue:] åÓÌÉ ×Ù ÉÝÅÔÅ ËÁËÏÊ-ÌÉÂÏ ÐÁËÅÔ, ÛÒÉÆÔ, + ÐÒÏÇÒÁÍÍÕ É Ô.Ð., ÔÏ ×ÁÍ ÓÔÏÉÔ ÚÁÇÌÑÎÕÔØ × \TeX{} Catalogue. üÔÏ + ÏÇÒÏÍÎÙÊ ËÁÔÁÌÏÇ ×ÓÅÇÏ, ÞÔÏ ÏÔÎÏÓÉÔÓÑ Ë \TeX{}Õ. óÍ. + \url{http://www.ctan.org/help/Catalogue}. + +\item [\TeX{} ×Ï ×ÓÅÍÉÒÎÏÊ ÐÁÕÔÉÎÅ:] ÷ÏÔ ÓÔÒÁÎÉÞËÁ, ÎÁ ËÏÔÏÒÏÊ ÍÎÏÇÏ + ÓÓÙÌÏË ÐÏ \TeX{}Õ, ×ËÌÀÞÁÑ ÍÎÏÇÏÞÉÓÌÅÎÎÙÅ ËÎÉÇÉ, ÒÕËÏ×ÏÄÓÔ×Á É + ÓÔÁÔØÉ: \url{http://tug.org/interest.html}. + +\item [áÒÈÉ×Ù ÓÐÉÓËÏ× ÒÁÓÓÙÌËÉ É ÇÒÕÐÐ:] ä×Á ÏÓÎÏ×ÎÙÈ ÆÏÒÕÍÁ + ÔÅÈÎÉÞÅÓËÏÊ ÐÏÄÄÅÒÖËÉ "--- ÇÒÕÐÐÁ \url{news:comp.text.tex} É ÓÐÉÓÏË + ÒÁÓÓÙÌËÉ \email{texhax@tug.org}. ÷ ÉÈ ÁÒÈÉ×ÁÈ ÔÙÓÑÞÉ ×ÏÐÒÏÓÏ× É + ÏÔ×ÅÔÏ× ÎÁ ×ÓÅ ÓÌÕÞÁÉ ÖÉÚÎÉ. óÍ. + \url{http://groups.google.com/groups?group=comp.text.tex} É + \url{http://tug.org/mail-archives/texhax}. ðÏÉÓË, ÎÁÐÒÉÍÅÒ, × çÕÇÌÅ + (\url{http://google.com}) ÔÏÖÅ ÞÁÓÔÏ ÐÏÍÏÇÁÅÔ ÎÁÊÔÉ ÏÔ×ÅÔ. + +\item [÷ÏÐÒÏÓÙ ÎÁ ÆÏÒÕÍÁÈ] åÓÌÉ ×Ù ÎÅ ÍÏÖÅÔÅ ÎÁÊÔÉ ÏÔ×ÅÔÁ ÎÁ ×ÁÛ + ×ÏÐÒÏÓ, ×Ù ÍÏÖÅÔÅ ÌÉÂÏ ÏÐÕÂÌÉËÏ×ÁÔØ ×ÏÐÒÏÓ × \dirname{comp.text.tex} + ÐÒÉ ÐÏÍÏÝÉ Google ÉÌÉ ×ÁÛÅÊ ÌÀÂÉÍÏÊ ÎÏ×ÏÓÔÎÏÊ ÐÒÏÇÒÁÍÍÙ, ÌÉÂÏ + ÐÏÓÌÁÔØ ÐÉÓØÍÏ ÎÁ ÌÉÓÔ ÒÁÓÓÙÌËÉ \email{texhax@tug.org}. îÏ ÐÅÒÅÄ + ÜÔÉÍ \emph{ÐÏÖÁÌÕÊÓÔÁ} ÐÒÏÞÔÉÔÅ × þÁ÷Ï ÓÏ×ÅÔ Ï ÔÏÍ, ËÁË ÐÒÁ×ÉÌØÎÏ + ÚÁÄÁ×ÁÔØ ×ÏÐÒÏÓÙ ÎÁ ÜÔÉÈ ÆÏÒÕÍÁÈ: + \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. + +\item [ðÏÄÄÅÒÖËÁ \TL{}] åÓÌÉ ×Ù ÈÏÔÉÔÅ ÓÏÏÂÝÉÔØ Ï ÂÁÇÅ ÉÌÉ + ×ÙÓËÁÚÁÔØ ÎÁÍ Ó×ÏÉ ÐÒÅÄÌÏÖÅÎÉÑ É ÚÁÍÅÞÁÎÉÑ Ï ÄÉÓÔÒÉÂÕÔÉ×Å \TL{}, + ÅÇÏ ÕÓÔÁÎÏ×ËÅ ÉÌÉ ÄÏËÕÍÅÎÔÁÃÉÉ, ÐÉÛÉÔÅ ÎÁ ÌÉÓÔ ÒÁÓÓÙÌËÉ + \email{tex-live@tug.org}. ïÄÎÁËÏ ÅÓÌÉ ×ÁÛ ×ÏÐÒÏÓ ËÁÓÁÅÔÓÑ + ËÏÎËÒÅÔÎÏÊ ÐÒÏÇÒÁÍÍÙ, ×ÈÏÄÑÝÅÊ × \TL{}, ×ÁÍ ÌÕÞÛÅ ÚÁÄÁ×ÁÔØ + ×ÏÐÒÏÓ٠ţ Á×ÔÏÒÕ ÉÌÉ ÐÏÓÙÌÁÔØ ÉÈ ÎÁ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÊ ÓÐÉÓÏË + ÒÁÓÓÙÌËÉ. þÁÓÔÏ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÊ ÁÄÒÅÓ ÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÐÒÉ ÐÏÍÏÝÉ + ÏÐÃÉÉ \code{-{}-help} ÎÕÖÎÏÊ ÐÒÏÇÒÁÍÍÙ. + +\item[òÕÓÓËÏÑÚÙÞÎÙÅ ÒÅÓÕÒÓÙ] \emph{(ÄÏÂÁ×ÌÅÎÏ ÐÅÒÅ×ÏÄÞÉËÏÍ)} + üÈÏËÏÎÆÅÒÅÎÃÉÑ \dirname{ru.tex} ÄÏÓÔÕÐÎÁ ËÁË × ÓÅÔÉ æéäï, ÔÁË É × + éÎÔÅÒÎÅÔÅ (ËÁË \url{news:fido7.ru.tex}). òÕÓÓËÉÅ ÇÒÕÐÐÙ æéäï ÍÏÖÎÏ + ÎÁÊÔÉ ÎÁ ÍÎÏÇÉÈ ÓÅÒ×ÅÒÁÈ, ÎÁÐÒÉÍÅÒ \code{demos.ddt.su}. ÷ þÁ÷Ï + ÜÔÏÊ ÇÒÕÐÐÙ ÐÒÉ×ÏÄÉÔÓÑ ÍÎÏÇÏ ÓÓÙÌÏË ÎÁ + ÒÕÓÓËÏÑÚÙÞÎÙÅ ÒÅÓÕÒÓÙ. + +\end{description} + +ó ÄÒÕÇÏÊ ÓÔÏÒÏÎÙ, ×Ù ÓÁÍÉ ÔÏÖÅ ÍÏÖÅÔÅ ÐÏÍÏÞØ ÔÅÍ, Õ ËÏÇÏ ÅÓÔØ ×ÏÐÒÏÓÙ. +é \dirname{comp.text.tex}, É \code{texhax}, É \dirname{fido7.ru.tex} +ÏÔËÒÙÔÙ ÄÌÑ ×ÓÅÈ, ÐÏÜÔÏÍÕ ×Ù ÔÏÖÅ ÍÏÖÅÔÅ ÐÒÉÓÏÅÄÉÎÉÔØÓÑ, ÞÉÔÁÔØ É +ÐÏÍÏÇÁÔØ ÄÒÕÇÉÍ. + + +% don't use \TL so the \uppercase in the headline works. Also so +% tex4ht ends up with the right TeX. Likewise the \protect's. + + +\section{óÔÒÕËÔÕÒÁ \protect\TeX\protect\ Live} +\label{sec:overview-tl} + +üÔÏÔ ÒÁÚÄÅÌ ÏÐÉÓÙ×ÁÅÔ ÓÔÒÕËÔÕÒÕ É ÓÏÄÅÒÖÁÎÉÅ \TK{} É ÅÇÏ ÓÏÓÔÁ×ÎÏÊ +ÞÁÓÔÉ \TL{}. + + +\subsection{\protect\TeX\protect\ Collection: \TL, pro\TeX{}t, Mac\TeX} +\label{sec:tl-coll-dists} + +\DVD{} \TK{} ÓÏÄÅÒÖÉÔ ÓÌÅÄÕÀÝÉÅ ÐÁËÅÔÙ: + +\begin{description} + +\item [\TL:] ÐÏÌÎÁÑ ÓÉÓÔÅÍÁ, ËÏÔÏÒÕÀ ÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ ÎÁ ÖÅÓÔËÉÊ ÄÉÓË + ËÏÍÐØÀÔÅÒÁ. å£ ÄÏÍÁÛÎÑÑ ÓÔÒÁÎÉÃÁ \url{http://tug.org/texlive/}. + +\item [Mac\TeX:] ×ÁÒÉÁÎÔ ÄÌÑ \MacOSX{}. üÔÏÔ ÐÁËÅÔ ÄÏÂÁ×ÌÑÅÔ Ë \TL{} + ÐÒÏÇÒÁÍÍÕ ÕÓÔÁÎÏ×ËÉ ÄÌÑ \MacOSX{} É ÄÒÕÇÉÅ ÐÒÏÇÒÁÍÍÙ ÄÌÑ íÁËÉÎÔÏÛÅÊ. + óÔÒÁÎÉÃÁ ÐÒÏÅËÔÁ "--- \url{http://www.tug.org/mactex/}. + + +\item[pro\TeX{}t:] ÕÌÕÞÛÅÎÎÙÊ ×ÁÒÉÁÎÔ ÄÉÓÔÒÉÂÕÔÉ×Á \MIKTEX\ ÄÌÑ Windows. + \ProTeXt\ ×ËÌÀÞÁÅÔ × ÓÅÂÑ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÐÒÏÇÒÁÍÍÙ É ÕÐÒÏÝ£ÎÎÕÀ + ÕÓÔÁÎÏ×ËÕ. ïÎ ÎÅ ÚÁ×ÉÓÉÔ ÏÔ \TL{} É ×ËÌÀÞÁÅÔ ÓÏÂÓÔ×ÅÎÎÙÅ ÉÎÓÔÒÕËÃÉÉ + ÐÏ ÕÓÔÁÎÏ×ËÅ. óÔÒÁÎÉÃÁ \ProTeXt{} "--- + \url{http://tug.org/protext}. + +\item [CTAN:] úÅÒËÁÌÏ ÁÒÈÉ×Á \CTAN{} (\url{http://www/ctan/org}). + +\item[\texttt{texmf-extra}:] ÄÉÒÅËÔÏÒÉÑ Ó ÒÁÚÎÏÏÂÒÁÚÎÙÍÉ + ÄÏÐÏÌÎÉÔÅÌØÎÙÍÉ ÐÁËÅÔÁÍÉ. + + +\end{description} + +ìÉÃÅÎÚÉÉ ÎÁ ÉÓÐÏÌØÚÏ×ÁÎÉÅ \CTAN{}, \pkgname{protext} É +\texttt{texmf-extra} ÏÔÌÉÞÁÀÔÓÑ ÏÔ ÌÉÃÅÎÚÉÉ \TL{}, ÐÏÜÔÏÍÕ ÂÕÄØÔÅ +×ÎÉÍÁÔÅÌØÎÙ ÐÒÉ ÒÁÓÐÒÏÓÔÒÁÎÅÎÉÉ ÉÌÉ ÍÏÄÉÆÉËÁÃÉÉ ÐÒÏÇÒÁÍÍ, ×ÈÏÄÑÝÉÈ × +ÜÔÉ ÄÉÓÔÒÉÂÕÔÉ×Ù. + + +\subsection{ëÏÒÎÅ×ÙÅ ÄÉÒÅËÔÏÒÉÉ \TL{}} +\label{sec:tld} + +÷ÏÔ ËÒÁÔËÏÅ ÏÐÉÓÁÎÉÅ ËÏÒÎÅ×ÙÈ ÄÉÒÅËÔÏÒÉÊ × ÄÉÓÔÒÉÂÕÔÉ×Å \TL{}. + +\begin{ttdescription} +\item[bin:] ðÒÏÇÒÁÍÍÙ ÓÉÓÔÅÍÙ \TeX{}, ÓÇÒÕÐÐÉÒÏ×ÁÎÎÙÅ ÐÏ ÐÌÁÔÆÏÒÍÁÍ. +% +\item[readme-*.dir:] ëÒÁÔËÏÅ ÒÕËÏ×ÏÄÓÔ×Ï + ÐÏÌØÚÏ×ÁÔÅÌÑ É ËÏÌÌÅËÃÉÑ ÓÓÙÌÏË ÎÁ ÒÁÚÎÙÈ ÑÚÙËÁÈ, × ÔÅËÓÔÏ×ÏÍ + ÆÏÒÍÁÔÅ É ÆÏÒÍÁÔÅ HTML. +% +\item[source:] éÓÈÏÄÎÙÊ ËÏÄ ×ÓÅÈ ÐÒÏÇÒÁÍÍ, ×ËÌÀÞÁÑ ÄÉÓÔÒÉÂÕÔÉ×Ù \Webc{} + \TeX{} É \MF{}. +% +\item[texmf:] óÍ. \dirname{TEXMFMAIN} ÎÉÖÅ. +% +\item[texmf-dist:] óÍ. \dirname{TEXMFDIST} ÎÉÖÅ. +% +\item[tlpkg:] óËÒÉÐÔÙ, ÐÒÏÇÒÁÍÍÙ É ÄÒÕÇÉÅ ÆÁÊÌÙ ÄÌÑ ÐÏÄÄÅÒÖËÉ ÓÉÓÔÅÍÙ, + Á ÔÁËÖÅ ÎÅËÏÔÏÒÙÅ ÐÏÌÅÚÎÙÅ ÐÒÏÇÒÁÍÍÙ ÄÌÑ Windows +\end{ttdescription} + + +ëÒÏÍÅ ÜÔÉÈ ÄÉÒÅËÔÏÒÉÊ, × ËÏÒÎÅ×ÏÊ ÄÉÒÅËÔÏÒÉÉ ÎÁÈÏÄÑÔÓÑ ÓËÒÉÐÔÙ +ÕÓÔÁÎÏ×ËÉ É ÆÁÊÌÙ \filename{README} (ÎÁ ÒÁÚÎÙÈ ÑÚÙËÁÈ). + +æÁÊÌ \OnCD{doc.html} × ËÏÒÎÅ×ÏÊ ÄÉÒÅËÔÏÒÉÉ ÓÏÄÅÒÖÉÔ ÍÎÏÇÏ ÓÓÙÌÏË ÎÁ +ÐÏÌÅÚÎÕÀ ÄÏËÕÍÅÎÔÁÃÉÀ. +äÏËÕÍÅÎÔÁÃÉÑ Ë ÏÔÄÅÌØÎÙÍ ÐÒÏÇÒÁÍÍÁÍ (ÒÕËÏ×ÏÄÓÔ×Á, man, info) ÎÁÈÏÄÉÔÓÑ × +ÄÉÒÅËÔÏÒÉÉ \dirname{texmf/doc}. äÏËÕÍÅÎÔÁÃÉÑ ÍÁËÒÏÐÁËÅÔÏ× É ÆÏÒÍÁÔÏ× +ÎÁÈÏÄÉÔÓÑ × ÄÉÒÅËÔÏÒÉÉ \dirname{texmf-dist/doc}. äÌÑ ÐÏÉÓËÁ +ÄÏËÕÍÅÎÔÁÃÉÉ ÍÏÖÎÏ ×ÏÓÐÏÌØÚÏ×ÁÔØÓÑ ÐÒÏÇÒÁÍÍÏÊ \cmdname{texdoc}. + +äÏËÕÍÅÎÔÁÃÉÑ Ë ÓÁÍÏÍÕ ÄÉÓÔÒÉÂÕÔÉ×Õ \TL{} ÎÁÈÏÄÉÔÓÑ × ÄÉÒÅËÔÏÒÉÉ +\dirname{texmf-doc} É ÄÏÓÔÕÐÎÁ ÎÁ ÎÅÓËÏÌØËÉÈ ÑÚÙËÁÈ: +\begin{itemize*} +\item{áÎÇÌÉÊÓËÉÊ:} \OnCD{texmf/doctexlive-en} +\item{éÔÁÌØÑÎÓËÉÊ:} \OnCD{texmf/doc/texlive/texlive-it} +\item{õÐÒÏÝÅÎÎÙÊ ËÉÔÁÊÓËÉÊ:} \OnCD{texmf/doc/texlive-zh-cn} +\item{îÅÍÅÃËÉÊ:} \OnCD{texmf/doc/texlive-de} +\item{ðÏÌØÓËÉÊ:} \OnCD{texmf/doc/texlive-pl} +\item{òÕÓÓËÉÊ:} \OnCD{texmf/doc/texlive-ru} +\item{óÅÒÂÓËÉÊ:} \OnCD{texmf/doc/texlive/texlive-sr} +\item{æÒÁÎÃÕÚÓËÉÊ:} \OnCD{texmf/doc/texlive-fr} +\item{þÅÛÓËÉÊ É ÓÌÏ×ÁÃËÉÊ:} \OnCD{texmf/doc/texlive-cz} +\end{itemize*} + +\subsection{ïÐÉÓÁÎÉÅ ÄÉÒÅËÔÏÒÉÊ texmf} +\label{sec:texmftrees} + +÷ ÜÔÏÍ ÒÁÚÄÅÌÅ ÏÐÉÓÁÎÙ ×ÓÅ ÐÅÒÅÍÅÎÎÙÅ, ÚÁÄÁÀÝÉÅ ÐÏÌÏÖÅÎÉÅ ÄÅÒÅ×ØÅ× +ÄÉÒÅËÔÏÒÉÊ texmf É ÉÈ ÚÎÁÞÅÎÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ. ëÏÍÁÎÄÁ +\texttt{tlmgr~conf} ÐÏËÁÚÙ×ÁÅÔ ÔÅËÕÝÉÅ ÚÎÁÞÅÎÉÑ ÜÔÉÈ ÐÅÒÅÍÅÎÎÙÈ, +ÔÁË ÞÔÏ ×Ù ÍÏÖÅÔÅ ÏÐÒÅÄÅÌÉÔØ, ÇÄÅ ÜÔÉ ÄÉÒÅËÔÏÒÉÉ ÎÁÈÏÄÑÔÓÑ × +×ÁÛÅÊ ÓÉÓÔÅÍÅ. + +\begin{ttdescription} +\item [TEXMFMAIN] äÅÒÅ×Ï, ÇÄÅ ÎÁÈÏÄÑÔÓÑ ÏÓÎÏ×ÎÙÅ ÞÁÓÔÉ ÓÉÓÔÅÍÙ: ÆÁÊÌÙ + ËÏÎÆÉÇÕÒÁÃÉÉ, ÓËÒÉÐÔÙ É ÄÏËÕÍÅÎÔÁÃÉÑ. +\item [TEXMFDIST] äÅÒÅ×Ï Ó ÏÓÎÏ×ÎÙÍ ÎÁÂÏÒÏÍ ÍÁËÒÏÐÁËÅÔÏ×, ÛÒÉÆÔÏ× É + Ô.Ä. +\item [TEXMFLOCAL] äÅÒÅ×Ï, ËÏÔÏÒÏÅ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÏ + ÁÄÍÉÎÉÓÔÒÁÔÏÒÁÍÉ ÓÉÓÔÅÍÙ ÄÌÑ ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ÐÁËÅÔÏ×, + ÛÒÉÆÔÏ× É Ô.Ä. +\item [TEXMFHOME] äÅÒÅ×Ï, ËÏÔÏÒÏÅ ÐÏÌØÚÏ×ÁÔÅÌÉ ÍÏÇÕÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÄÌÑ + ÕÓÔÁÎÏ×ËÉ ÓÏÂÓÔ×ÅÎÎÙÈ ÐÁËÅÔÏ×, ÛÒÉÆÔÏ× É Ô.Ä., ÉÌÉ ÄÌÑ ÏÂÎÏ×Ì£ÎÎÙÈ + ×ÅÒÓÉÊ ÓÉÓÔÅÍÎÙÈ ÐÁËÅÔÏ×. üÔÁ ÐÅÒÅÍÅÎÎÁÑ ÕËÁÚÙ×ÁÅÔ ÎÁ ÄÅÒÅ×Ï × + ÄÏÍÁÛÎÅÊ ÄÉÒÅËÔÏÒÉÉ, Ó×ÏÅÊ ÄÌÑ ËÁÖÄÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ. +\item [TEXMFCONFIG] üÔÏ ÄÅÒÅ×Ï ÉÓÐÏÌØÚÕÅÔÓÑ ÕÔÉÌÉÔÁÍÉ + \verb+texconfig+, \verb+updmap+ É \verb+fmtutil+ + ÄÌÑ ÈÒÁÎÅÎÉÑ ÍÏÄÉÆÉÃÉÒÏ×ÁÎÎÙÈ ÆÁÊÌÏ× ËÏÎÆÉÇÕÒÁÃÉÉ (Ó×ÏÉÈ ÄÌÑ ËÁÖÄÏÇÏ + ÐÏÌØÚÏ×ÁÔÅÌÑ) +\item [TEXMFSYSCONFIG] üÔÏ ÄÅÒÅ×Ï ÉÓÐÏÌØÚÕÅÔÓÑ ÕÔÉÌÉÔÁÍÉ + \verb+texconfig-sys+, \verb+updmap-sys+ É \verb+fmtutil-sys+ + ÄÌÑ ÈÒÁÎÅÎÉÑ ÍÏÄÉÆÉÃÉÒÏ×ÁÎÎÙÈ ÆÁÊÌÏ× + ËÏÎÆÉÇÕÒÁÃÉÉ, ÏÂÝÉÈ ÄÌÑ ×ÓÅÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ. +\item [TEXMFVAR] üÔÏ ÄÅÒÅ×Ï ÉÓÐÏÌØÚÕÅÔÓÑ ÕÔÉÌÉÔÁÍÉ \verb+texconfig+, + \verb+updmap+ É \verb+fmtutil+ ÄÌÑ ÈÒÁÎÅÎÉÑ + ÓÏÚÄÁ×ÁÅÍÙÈ Á×ÔÏÍÁÔÉÞÅÓËÉ ÆÁÊÌÏ×: ÆÏÒÍÁÔÏ×, ËÁÒÔ ÛÒÉÆÔÏ×. +\item [TEXMFCACHE] üÔÏ ÄÅÒÅ×Ï + ÉÓÐÏÌØÚÕÅÔÓÑ ÐÒÏÇÒÁÍÍÏÊ \ConTeXt\ Mk\acro{IV} ÄÌÑ ÈÒÁÎÅÎÉÑ ÆÁÊÌÏ×, + ÓÏÚÄÁ×ÁÅÍÙÈ Á×ÔÏÍÁÔÉÞÅÓËÉ. +\item [TEXMFSYSVAR] üÔÏ ÄÅÒÅ×Ï ÉÓÐÏÌØÚÕÅÔÓÑ ÕÔÉÌÉÔÁÍÉ + \verb+texconfig-sys+, \verb+updmap-sys+, \verb+fmtutil-sys+, Á ÔÁËÖÅ + \verb+tlmgr+ + ÄÌÑ ÈÒÁÎÅÎÉÑ ÓÏÚÄÁ×ÁÅÍÙÈ Á×ÔÏÍÁÔÉÞÅÓËÉ ÆÁÊÌÏ×: + ÆÏÒÍÁÔÏ×, ËÁÒÔ ÛÒÉÆÔÏ×, "--- ÏÂÝÉÈ ÄÌÑ ×ÓÅÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ. +\end{ttdescription} + +\noindent +ðÏ ÕÍÏÌÞÁÎÉÀ ÓÔÒÕËÔÕÒÁ ÄÉÒÅËÔÏÒÉÊ ×ÙÇÌÑÄÉÔ ÔÁË: +\begin{description} + \item[ËÏÒÎÅ×ÁÑ ÄÉÒÅËÔÏÒÉÑ] ÍÏÖÅÔ ÓÏÄÅÒÖÁÔØ ÎÅÓËÏÌØËÏ ×ÅÒÓÉÊ \TL{}: + \begin{ttdescription} + \item[2011] ðÒÅÄÙÄÕÝÁÑ ×ÅÒÓÉÑ. + \item[2012] ôÅËÕÝÁÑ ×ÅÒÓÉÑ. + \begin{ttdescription} + \item [bin] ~ + \begin{ttdescription} + \item [i386-linux] ðÒÏÇÒÁÍÍÙ ÄÌÑ \GNU/Linux + \item [...] + \item [universal-darwin] ðÒÏÇÒÁÍÍÙ ÄÌÑ \MacOSX + \item [win32] ðÒÏÇÒÁÍÍÙ ÄÌÑ Windows + \end{ttdescription} + \item [texmf\ \ \ \ \ \ \ ] \envname{TEXMFMAIN}. + \item [texmf-dist\ \ ] \envname{TEXMFDIST} + \item [texmf-var \ \ ] \envname{TEXMFSYSVAR} + \item [texmf-config] \envname{TEXMFSYSCONFIG} + \end{ttdescription} + \item [texmf-local] \envname{TEXMFLOCAL}, ÏÂÝÁÑ ÄÌÑ ×ÓÅÈ ×ÅÒÓÉÊ + \TL{}. + \end{ttdescription} + \item[ÄÏÍÁÛÎÑÑ ÄÉÒÅËÔÏÒÉÑ ÐÏÌØÚÏ×ÁÔÅÌÑ] (\texttt{\$HOME} ÉÌÉ + \texttt{\%USERPROFILE\%}) + \begin{ttdescription} + \item[.texlive2011] äÁÎÎÙÅ É ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÅ ÆÁÊÌÙ ÐÒÅÄÙÄÕÝÅÊ + ×ÅÒÓÉÉ. + \item[.texlive2012] äÁÎÎÙÅ É ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÅ ÆÁÊÌÙ ÔÅËÕÝÅÊ + ×ÅÒÓÉÉ. + \begin{ttdescription} + \item [texmf-var\ \ \ ] \envname{TEXMFVAR} + \item [texmf-config] \envname{TEXMFCONFIG} + \end{ttdescription} + \item[texmf] \envname{TEXMFHOME} ìÉÞÎÙÅ ÍÁËÒÏÐÁËÅÔÙ É Ô.Ä. + \end{ttdescription} +\end{description} + +\subsection{òÁÓÛÉÒÅÎÉÑ \protect\TeX{}Á} +\label{sec:tex-extensions} + +ëÎÕÔÏ×ÓËÉÊ ×ÁÒÉÁÎÔ \TeX Á ÚÁÍÏÒÏÖÅÎ "--- ÚÁ ÉÓËÌÀÞÅÎÉÅÍ ÒÅÄËÉÈ +ÉÓÐÒÁ×ÌÅÎÉÊ ÂÁÇÏ×, × ÎÅÇÏ ÎÅ ×ÎÏÓÉÔÓÑ ÎÉËÁËÉÈ ÉÚÍÅÎÅÎÉÊ. ïÎ ×ÓÅ ÅÝ£ +ÒÁÓÐÒÏÓÔÒÁÎÑÅÔÓÑ × \TL{} ËÁË \prog{tex} É ÂÕÄÅÔ ÒÁÓÐÒÏÓÔÒÁÎÑÔØÓÑ × +ÏÂÏÚÒÉÍÏÍ ÂÕÄÕÝÅÍ. ÷ ÓÏÓÔÁ× \TL{} ×ÈÏÄÉÔ ÎÅÓËÏÌØËÏ ÒÁÓÛÉÒÅÎÉÊ \TeX{}Á: + +\begin{description} + +\item [\eTeX] ÄÏÂÁ×ÌÑÅÔ ÎÁÂÏÒ ÎÏ×ÙÈ ÐÒÉÍÉÔÉ×Ï× +\label{text:etex} +(ÏÔÎÏÓÑÝÉÊÓÑ Ë ÍÁËÒÏÐÏÄÓÔÁÎÏ×ËÁÍ, ÞÔÅÎÉÀ ÓÉÍ×ÏÌÏ×, ÄÏÐÏÌÎÉÔÅÌØÎÙÍ +×ÏÚÍÏÖÎÏÓÔÑÍ ÏÔÌÁÄËÉ É ÍÎÏÇÏÍÕ ÄÒÕÇÏÍÕ) É ÒÁÓÛÉÒÅÎÉÑ \TeXXeT{} ÄÌÑ +×£ÒÓÔËÉ ÓÐÒÁ×Á ÎÁÌÅ×Ï É ÓÌÅ×Á ÎÁÐÒÁ×Ï. ÷ ÏÂÙÞÎÏÍ ÒÅÖÉÍÅ \eTeX{} ÎÁ +100\% ÓÏ×ÍÅÓÔÉÍ ÓÏ ÓÔÁÎÄÁÒÔÎÙÍ\TeX{}ÏÍ. óÍ. +\OnCD{texmf-dist/doc/etex/base/etex_man.pdf}. + +\item [pdf\TeX] ×ËÌÀÞÁÅÔ × ÓÅÂÑ ÒÁÓÛÉÒÅÎÉÑ \eTeX Á, ÄÏÂÁ×ÌÑÑ ÐÏÄÄÅÒÖËÕ + ÆÏÒÍÁÔÁ \acro{PDF}, ÐÏÍÉÍÏ ÓÔÁÎÄÁÒÔÎÏÇÏ \dvi{}, Á ÔÁËÖÅ ÍÎÏÇÏ ÄÒÕÇÉÈ + ÎÏ×ÙÈ ×ÏÚÍÏÖÎÏÓÔÅÊ. üÔÁ ÐÒÏÇÒÁÍÍÁ ÉÓÐÏÌØÚÕÅÔÓÑ ÂÏÌØÛÉÎÓÔ×ÏÍ + ÆÏÒÍÁÔÏ×, ÎÁÐÒÉÍÅÒ, \prog{etex}, \prog{latex}, \prog{pdflatex}. + óÔÒÁÎÉÃÁ ÐÒÏÇÒÁÍÍÙ ÎÁ ÓÅÔÉ: \url{http://www.pdftex.org/}. ÷ + ÒÕËÏ×ÏÄÓÔ×Å ÐÏÌØÚÏ×ÁÔÅÌÑ + \OnCD{texmf-dist/doc/pdftex/manual/padftex-a.pdf} É ÐÒÉÍÅÒÁÈ + \OnCD{texmf-dist/doc/pdftex/manual/samplepdf/samplepdf.tex} ÏÐÉÓÁÎÙ + ×ÏÚÍÏÖÎÏÓÔÉ ÐÒÏÇÒÁÍÍÙ. + +\item[Lua\TeX] ÐÒÅÄÎÁÚÎÁÞÅÎ ÚÁÍÅÎÉÔØ pdf\TeX{} × ÂÕÄÕÝÅÍ ×Ï ÍÎÏÇÏÍ + (ÈÏÔÑ É ÎÅ ×Ï ×ÓÅÍ) ÓÏ×ÍÅÓÔÉÍ Ó ÎÉÍ. ïÎ ÔÁËÖÅ + ÚÁÍÅÎÉÔ Aleph, ÓÍ. ÎÉÖÅ, ÈÏÔÑ ÓÏ×ÍÅÓÔÉÍÏÓÔÉ ÍÅÖÄÕ ÜÔÉÍÉ ÐÒÏÅËÔÁÍÉ ÎÅ + ÐÒÅÄÐÏÌÁÇÁÅÔÓÑ. ÷ÓÔÒÏÅÎÎÙÊ ÉÎÔÅÒÐÒÅÔÁÔÏÒ ÑÚÙËÁ Lua (ÓÍ. + \url{http://www.lua.org/}) ÐÏÚ×ÏÌÑÅÔ ÜÌÅÇÁÎÔÎÏ ÒÅÛÉÔØ ÍÎÏÇÉÅ ÓÌÏÖÎÙÅ + ÐÒÏÂÌÅÍÙ \TeX Á. ëÏÇÄÁ ÜÔÁ ÐÒÏÇÒÁÍÍÁ ÚÁÐÕÓËÁÅÔÓÑ ËÁË + \filename{texlua}, ÏÎÁ ÒÁÂÏÔÁÅÔ ËÁË ÉÎÔÅÒÐÒÅÔÁÔÏÒ Lua, É × ÜÔÏÍ + ËÁÞÅÓÔ×Å ÉÓÐÏÌØÚÕÅÔÓÑ × \TL{}. óÍ. \url{http://www.luatex.org/} É + \OnCD{texmf-dist/doc/luatex/luatexref-t.pdf}. + +\item [Xe\TeX] ÄÏÂÁ×ÌÑÅÔ ÐÏÄÄÅÒÖËÕ Unicode É ÛÒÉÆÔÏ× × ÆÏÒÍÁÔÅ + OpenType, ÓÄÅÌÁÎÎÕÀ ÞÅÒÅÚ ÓÔÁÎÄÁÒÔÎÙÅ ÂÉÂÌÉÏÔÅËÉ. óÍ. + \url{http://tug.org/xetex}. + +\item [\OMEGA\ (ïÍÅÇÁ)] ÏÓÎÏ×ÁÎÁ ÎÁ Unicode (ÓÉÓÔÅÍÁ 16-ÂÉÔÏ×ÙÈ + ÓÉÍ×ÏÌÏ×), ÞÔÏ ÐÏÚ×ÏÌÑÅÔ ÒÁÂÏÔÁÔØ ÏÄÎÏ×ÒÅÍÅÎÎÏ ÐÏÞÔÉ ÓÏ ×ÓÅÍÉ + ÐÉÓØÍÅÎÎÏÓÔÑÍÉ ÍÉÒÁ. ïÎÁ ÔÁËÖÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÔÁË ÎÁÚÙ×ÁÅÍÙÊ <<ÐÒÏÃÅÓÓ + ÔÒÁÎÓÌÑÃÉÉ \OMEGA{}>> (\acro{OTP}s) ÄÌÑ ÓÌÏÖÎÙÈ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÊ + ÐÒÏÉÚ×ÏÌØÎÏÇÏ ×ÈÏÄÎÏÇÏ ÐÏÔÏËÁ. ïÍÅÇÁ ÂÏÌØÛÅ ÎÅ ×ËÌÀÞÁÅÔÓÑ × + ÄÉÓÔÒÉÂÕÔÉ× \TL{} × ËÁÞÅÓÔ×Å ÓÁÍÏÓÔÏÑÔÅÌØÎÏÊ ÐÒÏÇÒÁÍÍÙ; ÎÁ ÄÉÓËÅ + ÅÓÔØ ÔÏÌØËÏ Aleph (ÓÍ. ÎÉÖÅ). + + +\item[Aleph] ÏÂßÅÄÉÎÑÅÔ \OMEGA\ É \eTeX. óÍ. ËÒÁÔËÕÀ ÄÏËÕÍÅÎÔÁÃÉÀ × + \OnCD{texmf-dist/doc/aleph/base}. + +\end{description} + + +\subsection{äÒÕÇÉÅ ÉÎÔÅÒÅÓÎÙÅ ÐÒÏÇÒÁÍÍÙ × ÄÉÓÔÒÉÂÕÔÉ×Å \protect\TL} + +÷ÏÔ ÎÅÓËÏÌØËÏ ÄÒÕÇÉÈ ×ÁÖÎÙÈ ÐÒÏÇÒÁÍÍ × ÄÉÓÔÒÉÂÕÔÉ×Å \TL{}: + +\begin{cmddescription} + +\item [bibtex] ÐÏÄÄÅÒÖËÁ ÂÉÂÌÉÏÇÒÁÆÉÊ. + +\item [makeindex, xindy] ÐÏÄÄÅÒÖËÁ ÁÌÆÁ×ÉÔÎÙÈ ÕËÁÚÁÔÅÌÅÊ. + +\item [dvips] ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ \dvi{} × \PS{}. + +\item [xdvi] ÐÒÏÇÒÁÍÍÁ ÄÌÑ ÐÒÏÓÍÏÔÒÁ \dvi{} ÄÌÑ X Window System. + +\item [dvilj] ÄÒÁÊ×ÅÒ ÄÌÑ ÌÁÚÅÒÎÙÈ ÐÒÉÎÔÅÒÏ× ÓÅÍÅÊÓÔ×Á HP LaserJet. + + +\item [dviconcat, dviselect] ÐÅÒÅÓÔÁÎÏ×ËÁ ÓÔÒÁÎÉÃ × ÆÁÊÌÁÈ \dvi{}. + +\item [dvipdfmx] ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ \dvi{} × \acro{PDF}, ÁÌØÔÅÒÎÁÔÉ×Á + pdf\TeX{}Õ, ÕÐÏÍÑÎÕÔÏÍÕ ×ÙÛÅ. + +\item [psselect, psnup, \ldots] ÕÔÉÌÉÔÙ ÄÌÑ ÒÁÂÏÔÙ Ó ÆÁÊÌÁÍÉ × ÆÏÒÍÁÔÅ + \PS{}. + +\item [pdfjam, pdfjoin, \ldots] ÕÔÉÌÉÔÙ ÄÌÑ ÒÁÂÏÔÙ Ó ÆÁÊÌÁÍÉ × ÆÏÒÍÁÔÅ + \acro{PDF}. + +\item [texexec, texmfstart] ðÒÏÇÒÁÍÍÙ ÄÌÑ Con\TeX{}tÁ É ÏÂÒÁÂÏÔËÉ \acro{PDF}. + +\item [tex4ht] ËÏÎ×ÅÒÔÅÒ ÉÚ \TeX{}Á × \acro{HTML}, \acro{XML} É ÍÎÏÇÉÅ + ÄÒÕÇÉÅ ÆÏÒÍÁÔÙ. + +\end{cmddescription} + +\subsection{ûÒÉÆÔÙ × \protect\TL{}} +\label{sec:tl-fonts} + +÷ \TL{} ×ËÌÀÞÅÎÏ ÍÎÏÇÏ ×ÅËÔÏÒÎÙÈ ÛÒÉÆÔÏ× ×ÙÓÏËÏÇÏ ËÁÞÅÓÔ×Á. +óÍ. \url{http://tug.org/fonts} É +\OnCD{texmf-dist/doc/fonts/free-math-fonts-survey}. + +\section{õÓÔÁÎÏ×ËÁ} +\label{sec:install} + +\subsection{úÁÐÕÓË ÐÒÏÇÒÁÍÍÙ ÕÓÔÁÎÏ×ËÉ} +\label{sec:inst-start} + +äÌÑ ÎÁÞÁÌÁ ×ÁÍ ÐÏÔÒÅÂÕÅÔÓÑ \DVD{} \TK{} ÉÌÉ ÐÒÏÇÒÁÍÍÁ ÕÓÔÁÎÏ×ËÉ \TL{} +Ó éÎÔÅÒÎÅÔÁ. îÁÊÄÉÔÅ ÓËÒÉÐÔ ÕÓÔÁÎÏ×ËÉ: \filename{install-tl} ÄÌÑ +UNIX, \filename{install-tl.bat} ÄÌÑ Windows. âÏÌÅÅ ÐÏÄÒÏÂÎÏ ÒÁÚÌÉÞÎÙÅ +ÓÐÏÓÏÂÙ ÐÒÉÏÂÒÅÔÅÎÉÑ É ÕÓÔÁÎÏ×ËÉ ÄÉÓÔÒÉÂÕÔÉ×Á ÒÁÓÓÍÏÔÒÅÎÙ ÎÁ ÓÔÒÁÎÉÃÅ +\url{http://tug.org/texlive/acquire.html}. + +\begin{description} +\item [õÓÔÁÎÏ×ËÁ Ó ÓÅÔÉ:] ÓËÁÞÁÊÔÅ ÐÒÏÇÒÁÍÍÕ ÉÚ ÁÒÈÉ×Á \CTAN, ÄÉÒÅËÔÏÒÉÑ +\dirname{systems/texlive/tlnet}; ÁÄÒÅÓ +\url{http://mirror.ctan.org/systems/texlive/tlnet} Á×ÔÏÍÁÔÉÞÅÓËÉ +ÐÒÉ×ÏÄÉÔ Ë ÂÌÉÖÁÊÛÅÍÕ ÚÅÒËÁÌÕ ÁÒÈÉ×Á. ÷Ù ÍÏÖÅÔÅ ÓËÁÞÁÔØ ÌÉÂÏ +\filename{install-tl.zip} (ÕÓÔÁÎÏ×ËÁ ÐÏÄ UNIX É Windows), ÌÉÂÏ ÆÁÊÌ +ÓÕÝÅÓÔ×ÅÎÎÏ ÍÅÎØÛÅÇÏ ÒÁÚÍÅÒÁ +\filename{install-unx.tar.gz} (ÔÏÌØËÏ ÄÌÑ UNIX). ðÏÓÌÅ ÒÁÓÐÁËÏ×ËÉ +ÆÁÊÌÙ \filename{install-tl} É +\filename{install-tl.bat} ÏËÁÖÕÔÓÑ × ÄÉÒÅËÔÏÒÉÉ \dirname{install-tl}. + +\item [\TeX{} Collection \DVD:] ðÅÒÅÊÄÉÔÅ × ÐÏÄÄÉÒÅËÔÏÒÉÀ + \dirname{texlive}. ðÏÄ Windows ÐÒÏÇÒÁÍÍÁ ÕÓÔÁÎÏ×ËÉ ÚÁÐÕÓËÁÅÔÓÑ + Á×ÔÏÍÁÔÉÞÅÓËÉ, ËÏÇÄÁ ×Ù ×ÓÔÁ×ÌÑÅÔÅ \DVD{} × ËÏÍÐØÀÔÅÒ. ÷Ù ÍÏÖÅÔÅ + ÐÏÌÕÞÉÔØ \DVD, ×ÓÔÕÐÉ× × ÇÒÕÐÐÕ ÐÏÌØÚÏ×ÁÔÅÌÅÊ \TeX Á (ÍÙ + ÎÁÓÔÏÑÔÅÌØÎÏ ÒÅËÏÍÅÎÄÕÅÍ ÜÔÏ ÓÄÅÌÁÔØ, + \url{http://tug.org/usergroups.html}), ÌÉÂÏ ËÕÐÉ× ÅÇÏ ÏÔÄÅÌØÎÏ + (\url{http://tug.org/store}), ÌÉÂÏ ÓÄÅÌÁ× ÅÇÏ ÓÁÍÏÓÔÏÑÔÅÌØÎÏ, ÓËÁÞÁ× + \ISO\ ÏÂÒÁÚ ÄÉÓËÁ. ðÏÓÌÅ ÕÓÔÁÎÏ×ËÉ ÓÉÓÔÅÍÙ ×Ù ÍÏÖÅÔÅ ÐÏÌÕÞÁÔØ + ÏÂÎÏ×ÌÅÎÉÑ ÉÚ éÎÔÅÒÎÅÔÁ, + ÓÍ. ÒÁÚÄÅÌ~\ref{sec:dvd-install-net-updates}. + +\end{description} + +÷ ÏÂÏÉÈ ÓÌÕÞÁÑÈ ÐÒÏÇÒÁÍÍÁ ÕÓÔÁÎÏ×ËÉ ÓÉÓÔÅÍÙ ÏÄÎÁ É ÔÁ ÖÅ. çÌÁ×ÎÏÅ +ÒÁÚÌÉÞÉÅ ÓÏÓÔÏÉÔ × ÔÏÍ, ÞÔÏ ÐÒÉ ÕÓÔÁÎÏ×ËÅ Ó ÓÅÔÉ ÓÔÁ×ÑÔÓÑ ÐÏÓÌÅÄÎÉÅ +×ÅÒÓÉÉ ÐÁËÅÔÏ× "--- × ÏÔÌÉÞÉÅ ÏÔ ÕÓÔÁÎÏ×ËÉ Ó \DVD\ ÉÌÉ \ISO. + +÷ ÓÌÅÄÕÀÝÉÈ ÒÁÚÄÅÌÁÈ ÕÓÔÁÎÏ×ËÁ ÏÐÉÓÙ×ÁÅÔÓÑ ÂÏÌÅÅ ÐÏÄÒÏÂÎÏ. + +\subsubsection{UNIX} + +îÉÖÅ \texttt{>} ÕËÁÚÙ×ÁÅÔ ÓÉÓÔÅÍÎÙÊ ÐÒÏÍÐÔ; ÔÏ, ÞÔÏ ××ÏÄÉÔ +ÐÏÌØÚÏ×ÁÔÅÌØ, ÐÏËÁÚÁÎÏ \Ucom{\texttt{ÖÉÒÎÙÍ ÛÒÉÆÔÏÍ}}. +ðÒÏÝÅ ×ÓÅÇÏ ÎÁÞÁÔØ ÕÓÔÁÎÏ×ËÕ ÔÁË: +\begin{alltt} +> \Ucom{cd /path/to/installer} +> \Ucom{perl install-tl} +\end{alltt} +(÷ÍÅÓÔÏ ÜÔÏÇÏ ×Ù ÍÏÖÅÔÅ ÚÁÐÕÓÔÉÔØ \Ucom{perl + /path/to/installer/install-tl}, ÉÌÉ +\Ucom{./install-tl}, ÅÓÌÉ Õ ÜÔÏÇÏ ÓËÒÉÐÔÁ ÅÓÔØ ÐÒÁ×Á ÎÁ ×ÙÐÏÌÎÅÎÉÅ, É +Ô.Ä. íÙ ÎÅ ÂÕÄÅÍ ÕËÁÚÙ×ÁÔØ ×ÓÅ ÜÔÉ ×ÁÒÉÁÎÔÙ.) ÷ÏÚÍÏÖÎÏ, ×ÁÍ +ÐÒÉÄÅÔÓÑ Õ×ÅÌÉÞÉÔØ ÒÁÚÍÅÒ ÏËÎÁ ÔÅÒÍÉÎÁÌÁ, ÞÔÏÂÙ × ÎÅÇÏ ÐÏÍÅÓÔÉÌÓÑ ×ÅÓØ +ÄÉÁÌÏÇ (òÉÓÕÎÏË~\ref{fig:text-main}). + + +äÌÑ ÕÓÔÁÎÏ×ËÉ × ÜËÓÐÅÒÔÎÏÍ ÇÒÁÆÉÞÅÓËÏÍ ÒÅÖÉÍÅ +(ÒÉÓÕÎÏË~\ref{fig:gui-main}) ×ÁÍ ÐÏÔÒÅÂÕÅÔÓÑ ÍÏÄÕÌØ \dirname{Perl/TK}, +ÓÏÂÒÁÎÎÙÊ Ó ÐÏÄÄÅÒÖËÏÊ \acro{XFT} (ÏÎ ÏÂÙÞÎÏ ÅÓÔØ × ÓÉÓÔÅÍÁÈ +\GNU/Linux, ÎÏ ÍÏÖÅÔ ÏÔÓÕÔÓÔ×Ï×ÁÔØ ÎÁ ÄÒÕÇÉÈ ÓÉÓÔÅÍÁÈ). åÓÌÉ ÏÎ Õ ×ÁÓ +ÕÓÔÁÎÏ×ÌÅÎ, ÉÓÐÏÌØÚÕÊÔÅ +\begin{alltt} +> \Ucom{perl install-tl -gui} +\end{alltt} + +ðÏÌÎÙÊ ÓÐÉÓÏË ×ÏÚÍÏÖÎÙÈ ÏÐÃÉÊ ÄÁÅÔ ËÏÍÁÎÄÁ +\begin{alltt} +> \Ucom{perl install-tl -help} +\end{alltt} + +\textbf{ðÒÅÄÕÐÒÅÖÄÅÎÉÅ Ï ÐÒÁ×ÁÈ ÄÏÓÔÕÐÁ × UNIX:} ÓÉÓÔÅÍÁ ÕÓÔÁÎÏ×ËÉ +\TL{} ÉÓÐÏÌØÚÕÅÔ ÔÅËÕÝÅÅ ÚÎÁÞÅÎÉÅ ÐÁÒÁÍÅÔÒÁ \code{umask}. ðÏÜÔÏÍÕ +ÅÓÌÉ ×Ù ÈÏÔÉÔÅ, ÞÔÏÂÙ ÓÉÓÔÅÍÏÊ ÍÏÇÌÉ ÐÏÌØÚÏ×ÁÔØÓÑ ÎÅ ÔÏÌØËÏ ×Ù, ÎÏ É +ÄÒÕÇÉÅ ÐÏÌØÚÏ×ÁÔÅÌÉ, ×Ù ÄÏÌÖÎÙ ÕÓÔÁÎÏ×ÉÔØ, ÎÁÐÒÉÍÅÒ, \code{umask + 022}. âÏÌÅÅ ÐÏÄÒÏÂÎÏ \code{umask} ÏÂÓÕÖÄÁÅÔÓÑ × ÄÏËÕÍÅÎÔÁÃÉÉ Ë +×ÁÛÅÊ ÓÉÓÔÅÍÅ. + +\textbf{úÁÍÅÞÁÎÉÅ Ï ÕÓÔÁÎÏ×ËÅ ÐÏÄ Cygwin:} × ÏÔÌÉÞÉÅ ÏÔ ÄÒÕÇÉÈ +ÓÉÓÔÅÍ ÔÉÐÁ UNIX, Cygwin × ÓÔÁÎÄÁÒÔÎÏÊ ËÏÎÆÉÇÕÒÁÃÉÉ ÎÅ ×ËÌÀÞÁÅÔ ×ÓÅÈ +ÎÅÏÂÈÏÄÉÍÙÈ ÄÌÑ ÕÓÔÁÎÏ×ËÉ \TL{} ÐÒÏÇÒÁÍÍ. +óÍ. ÒÁÚÄÅÌ~\ref{sec:cygwin}. + +\subsubsection{MacOSX} + +ëÁË ÏÔÍÅÞÁÅÔÓÑ × ÒÁÚÄÅÌÅ~\ref{sec:tl-coll-dists}, ÄÌÑ \MacOSX{} +ÓÕÝÅÓÔ×ÕÅÔ ÓÐÅÃÉÁÌØÎÙÊ ÄÉÓÔÒÉÂÕÔÉ×, Mac\TeX{} +(\url{http://tug.org/mactex}). íÙ ÒÅËÏÍÅÎÄÕÅÍ ÐÏÌØÚÏ×ÁÔØÓÑ ÅÇÏ +ÓÉÓÔÅÍÏÊ ÕÓÔÁÎÏ×ËÉ, Á ÎÅ ÏÂÝÉÍ ÓËÒÉÐÔÏÍ \TL{}, ÐÏÓËÏÌØËÕ Õ ÎÅÇÏ ÅÓÔØ +ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ×ÏÚÍÏÖÎÏÓÔÉ, ÓÐÅÃÉÆÉÞÅÓËÉÅ ÄÌÑ íÁËÉÎÔÏÛÅÊ, ÎÁÐÒÉÍÅÒ, +ÕÄÏÂÎÏÅ ÐÅÒÅËÌÀÞÅÎÉÅ ÍÅÖÄÕ ÒÁÚÌÉÞÎÙÍÉ ÄÉÓÔÒÉÂÕÔÉ×ÁÍÉ \TeX Á ÄÌÑ +\MacOSX{} (Mac\TeX, Fink, MacPorts, \ldots). + +Mac\TeX{} ÏÓÎÏ×ÁÎ ÎÁ \TL{}, É ÏÓÎÏ×ÎÙÅ ÄÅÒÅ×ØÑ ÄÉÒÅËÔÏÒÉÊ Õ ÜÔÉÈ ÄÉÓÔÒÉÂÕÔÉ×Ï× +ÓÏ×ÐÁÄÁÀÔ. Mac\TeX{} ÄÏÂÁ×ÌÑÅÔ ÎÅÓËÏÌØËÏ ÐÏÄÄÉÒÅËÔÏÒÉÊ Ó ÐÒÏÇÒÁÍÍÁÍÉ É +ÄÏËÕÍÅÎÔÁÃÉÅÊ, ÐÒÅÄÎÁÚÎÁÞÅÎÎÙÍÉ ÄÌÑ íÁËÉÎÔÏÛÅÊ. + +\subsubsection{Windows} + +åÓÌÉ ×Ù ÕÓÔÁÎÁ×ÌÉ×ÁÅÔÅ ÓÉÓÔÅÍÕ Ó ÓÅÔÉ, ÉÌÉ ÅÓÌÉ ÐÒÏÇÒÁÍÍÁ ÕÓÔÁÎÏ×ËÉ Ó +\DVD{} ÎÅ ÓÔÁÒÔÏ×ÁÌÁ Á×ÔÏÍÁÔÉÞÅÓËÉ, Ä×ÁÖÄ٠ݣÌËÎÉÔÅ ÐÏ +\filename{install-tl.bat}. åÓÌÉ ×ÁÍ ÎÕÖÎÁ ÂÏÌÅÅ ÔÏÎËÁÑ ÎÁÓÔÒÏÊËÁ, +ÎÁÐÒÉÍÅÒ, ÅÓÌÉ ×Ù ÈÏÔÉÔÅ ×ÙÂÒÁÔØ ÏÐÒÅÄÅÌÅÎÎÙÅ ËÏÌÌÅËÃÉÉ ÐÁËÅÔÏ×, +ÚÁÐÕÓÔÉÔÅ \filename{install-tl-advanced.bat}. + +íÏÖÎÏ ÔÁËÖÅ ÚÁÐÕÓÔÉÔØ ÐÒÏÇÒÁÍÍÕ ÉÚ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ. îÉÖÅ \texttt{>} +ÏÚÎÁÞÁÅÔ ÓÉÓÔÅÍÎÙÊ ÐÒÏÍÐÔ; ÔÏ, ÞÔÏ ××ÏÄÉÔ ÐÏÌØÚÏ×ÁÔÅÌØ, ÕËÁÚÁÎÏ +\Ucom{\texttt{ÖÉÒÎÙÍ ÛÒÉÆÔÏÍ}}. åÓÌÉ ×Ù ÎÁÈÏÄÉÔÅÓØ × ÄÉÒÅËÔÏÒÉÉ +ÐÒÏÇÒÁÍÍÙ ÕÓÔÁÎÏ×ËÉ, ÎÁÐÅÞÁÔÁÊÔÅ: +\begin{alltt} +> \Ucom{install-tl} +\end{alltt} + +ðÒÏÇÒÁÍÍÕ ÍÏÖÎÏ ×ÙÚ×ÁÔØ É ÉÚ ÄÒÕÇÏÊ ÄÉÒÅËÔÏÒÉÉ, ÎÁÐÒÉÍÅÒ, +\begin{alltt} +> \Ucom{D:\bs{}texlive\bs{}install-tl} +\end{alltt} +(ÐÒÅÄÐÏÌÁÇÁÅÔÓÑ, ÞÔÏ × \dirname{D:} ÎÁÈÏÄÉÔÓÑ \DVD{} \TK{}). îÁ +ÒÉÓÕÎËÅ~\ref{fig:wizard-w32} ÐÏËÁÚÁÎ ÓÐÅÃÉÁÌØÎÙÊ ÐÒÏ×ÏÄÎÉË ÕÓÔÁÎÏ×ËÉ, +ËÏÔÏÒÙÊ ÐÏ ÕÍÏÌÞÁÎÉÀ ÚÁÐÕÓËÁÅÔÓÑ × Windows. + +äÌÑ ÕÓÔÁÎÏ×ËÉ × ÔÅËÓÔÏ×ÏÍ ÒÅÖÉÍÅ ÉÓÐÏÌØÚÕÊÔÅ +\begin{alltt} +> \Ucom{install-tl -no-gui} +\end{alltt} + + +÷ÓÅ ÏÐÃÉÉ ÐÒÏÇÒÁÍÍÙ ÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÐÒÉ ÐÏÍÏÝÉ ËÏÍÁÎÄÙ +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} + +\begin{figure}[tb] +\begin{boxedverbatim} +Installing TeX Live 2012 from: ... +Platform: i386-linux => 'Intel x86 with GNU/Linux' +Distribution: inst (compressed) +... + Detected platform: Intel x86 with GNU/Linux + + <B> platforms: 1 out of 19 + + <S> Installation scheme (scheme-full) + 84 collections out of 85, disk space required: 2600 MB + + Customizing installation scheme: + <C> standard collections + <L> language collections + + <D> directories: + TEXDIR (the main TeX directory): + /usr/local/texlive/2012 + ... + + <O> options: + [ ] use letter size instead of A4 by default + ... + + <V> set up for portable installation + +Actions: + <I> start installation to hard disk + <H> help + <Q> quit +\end{boxedverbatim} +\caption{çÌÁ×ÎÏÅ ÍÅÎÀ ÐÒÏÇÒÁÍÍÙ ÕÓÔÁÎÏ×ËÉ × ÔÅËÓÔÏ×ÏÍ ÒÅÖÉÍÅ + (\GNU/Linux)}\label{fig:text-main} +\end{figure} + +\begin{figure}[tb] +\tlpng{install-lnx-main}{\linewidth,trim=10 4 0 20,clip} +\caption{çÌÁ×ÎÏÅ ÍÅÎÀ ÐÒÏÇÒÁÍÍÙ ÕÓÔÁÎÏ×ËÉ × ÜËÓÐÅÒÔÎÏÍ ÇÒÁÆÉÞÅÓËÏÍ + ÒÅÖÉÍÅ (\GNU/Linux)}\label{fig:gui-main} +\end{figure} + +\begin{figure}[tb] +\tlpng{wizard-w32}{\linewidth,trim=0 4 0 0,clip} +\caption{çÌÁ×ÎÏÅ ÍÅÎÀ ÐÒÏÇÒÁÍÍÙ ÕÓÔÁÎÏ×ËÉ × ÕÐÒÏÝÅÎÎÏÍ ÇÒÁÆÉÞÅÓËÏÍ + ÒÅÖÉÍÅ (Windows)}\label{fig:wizard-w32} +\end{figure} + +\htmlanchor{cygwin} +\subsubsection{Cygwin} +\label{sec:cygwin} + +óÉÓÔÅÍÁ ÕÓÔÁÎÏ×ËÉ \TL{} ÒÁÂÏÔÁÅÔ ÔÏÌØËÏ ÐÏÄ Cygwin 1.7. +ðÅÒÅÄ ÎÁÞÁÌÏÍ ÕÓÔÁÎÏ×ËÉ \TL, ÕÓÔÁÎÏ×ÉÔÅ ÐÒÉ ÐÏÍÏÝÉ ÐÒÏÇÒÁÍÍÙ +\filename{setup.exe} ÉÚ ËÏÍÐÌÅËÔÁ Cygwin ÐÁËÅÔÙ \filename{perl} É +\filename{wget}, ÅÓÌÉ ÉÈ ÎÅÔ × ×ÁÛÅÊ ÓÉÓÔÅÍÅ. íÙ ÒÅËÏÍÅÎÄÕÅÍ ÔÁËÖÅ +ÓÌÅÄÕÀÝÉÅ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÐÁËÅÔÙ: +\begin{itemize*} +\item \filename{fontconfig} [ÎÕÖÅÎ ÄÌÑ \XeTeX] +\item \filename{ghostscript} [ÎÕÖÅÎ ÄÌÑ ÒÁÚÎÙÈ ÐÒÏÇÒÁÍÍ] +\item \filename{libXaw7} [ÎÕÖÅÎ ÄÌÑ xdvi] +\item \filename{ncurses} [ÐÒÅÄÏÓÔÁ×ÌÑÅÔ ËÏÍÁÎÄÕ <<clear>>, ËÏÔÏÒÁÑ + ÎÕÖÎÁ ÐÒÉ ÕÓÔÁÎÏ×ËÅ] +\end{itemize*} + + + +\subsubsection{õÓÔÁÎÏ×ËÁ × ÔÅËÓÔÏ×ÏÍ ÒÅÖÉÍÅ} + +îÁ ÒÉÓÕÎËÅ~\ref{fig:text-main} ÐÏËÁÚÁÎÏ ÏÓÎÏ×ÎÏÅ ÍÅÎÀ ÐÒÏÇÒÁÍÍÙ +ÕÓÔÁÎÏ×ËÉ × ÔÅËÓÔÏ×ÏÍ ÒÅÖÉÍÅ ÄÌÑ UNIX. ôÅËÓÔÏ×ÙÊ ÒÅÖÉÍ Ñ×ÌÑÅÔÓÑ +ÒÅÖÉÍÏÍ ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ UNIX. + +éÎÔÅÒÆÅÊÓ ÐÒÏÇÒÁÍÍÙ ÄÏ×ÏÌØÎÏ ÐÒÉÍÉÔÉ×ÅÎ: ÐÏÄÄÅÒÖËÉ ËÕÒÓÏÒÁ × ÎÅÍ +ÎÅÔ. îÁÐÒÉÍÅÒ, ÎÅÌØÚÑ ÐÅÒÅÄ×ÉÇÁÔØÓÑ ÐÏ ÐÏÌÑÍ ÐÒÉ ÐÏÍÏÝÉ ËÌÁ×ÉÛÉ +<<Tab>>. ÷Ù ÐÒÏÓÔÏ ÐÅÞÁÔÁÅÔÅ ÞÔÏ-ÔÏ (ÒÅÇÉÓÔÒ ÕÞÉÔÙ×ÁÅÔÓÑ!) É +ÎÁÖÉÍÁÅÔÅ ËÌÁ×ÉÛÕ <<Enter>>, ÐÏÓÌÅ ÞÅÇÏ ÐÅÒÅÒÉÓÏ×Ù×ÁÅÔÓÑ ×ÅÓØ ÜËÒÁÎ. + +üÔÏÔ ÉÎÔÅÒÆÅÊÓ ÐÒÉÍÉÔÉ×ÅÎ ÎÅ ÓÌÕÞÁÊÎÏ: ÏÎ ÄÏÌÖÅÎ ÒÁÂÏÔÁÔØ ÎÁ +ËÁË ÍÏÖÎÏ ÂÏÌØÛÅÍ ËÏÌÉÞÅÓÔ×Å ÐÌÁÔÆÏÒÍ, ×ËÌÀÞÁÑ ÔÁËÉÅ, ÇÄÅ ÅÓÔØ ÔÏÌØËÏ +ÕÓÅÞÅÎÎÙÊ ×ÁÒÉÁÎÔ ÐÒÏÇÒÁÍÍÙ Perl. + +\subsubsection{õÓÔÁÎÏ×ËÁ × ÜËÓÐÅÒÔÎÏÍ ÇÒÁÆÉÞÅÓËÏÍ ÒÅÖÉÍÅ} + +îÁ ÒÉÓÕÎËÅ~\ref{fig:gui-main} ÉÚÏÂÒÁÖÅÎÏ ÍÅÎÀ ÐÒÏÇÒÁÍÍÙ ÕÓÔÁÎÏ×ËÉ × +ÇÒÁÆÉÞÅÓËÏÍ ÒÅÖÉÍÅ ÐÏÄ \GNU/Linux. ïÓÎÏ×ÎÏÅ ÒÁÚÌÉÞÉÅ ÍÅÖÄÕ ÜÔÉÍ +ÒÉÓÕÎËÏÍ É ÒÉÓÕÎËÏÍ~\ref{fig:text-main} × ÔÏÍ, ÞÔÏ × ÐÅÒ×ÏÍ +ÉÓÐÏÌØÚÕÀÔÓÑ ËÎÏÐËÉ É ÍÅÎÀ. + +üÔÏÔ ×ÁÒÉÁÎÔ ÍÏÖÅÔ ÂÙÔØ ×ÙÂÒÁÎ ËÏÍÁÎÄÏÊ +\begin{alltt} +> \Ucom{install-tl -gui=perltk} +\end{alltt} + +\subsubsection{õÓÔÁÎÏ×ËÁ × ÕÐÒÏÝÅÎÎÏÍ ÇÒÁÆÉÞÅÓËÏÍ ÒÅÖÉÍÅ} + +ðÏÄ Windows ÕÓÔÁÎÏ×ËÁ ÐÏ ÕÍÏÌÞÁÎÉÀ ÒÁÂÏÔÁÅÔ × ÓÁÍÏÍ ÐÒÏÓÔÏÍ ÒÅÖÉÍÅ, +ËÏÔÏÒÙÊ ÍÙ ÔÏÌØËÏ ÍÏÇÌÉ ÐÒÉÄÕÍÁÔØ, ÎÁÐÏÍÉÎÁÀÝÉÊ ÉÎÔÅÒÆÅÊÓ <<ðÒÏ×ÏÄÎÉËÁ +ÕÓÔÁÎÏ×ËÉ>>. ïÎ ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ×ÓÅ É (ÐÏÞÔÉ) ÎÅ ÚÁÄÁÅÔ ÎÉËÁËÉÈ +×ÏÐÒÏÓÏ×. åÓÌÉ ×Ù ÈÏÔÉÔÅ ÂÏÌÅÅ ÔÏÎËÕÀ ÎÁÓÔÒÏÊËÕ, ×ÙÚÏ×ÉÔÅ ÄÒÕÇÏÊ +ÒÅÖÉÍ. + +üÔÏÔ ÒÅÖÉÍ ÍÏÖÅÔ ÂÙÔØ ×ÙÂÒÁÎ ËÏÍÁÎÄÏÊ +\begin{alltt} +> \Ucom{install-tl -gui=wizard} +\end{alltt} + + +\subsection{òÁÂÏÔÁ ÐÒÏÇÒÁÍÍÙ ÕÓÔÁÎÏ×ËÉ} +\label{sec:runinstall} + +íÅÎÀ ÐÒÏÇÒÁÍÍÙ ÕÓÔÁÎÏ×ËÉ ÄÏÌÖÎÏ ÂÙÔØ ÐÏÎÑÔÎÏ ÂÅÚ ÏÂßÑÓÎÅÎÉÊ. íÙ ×ÓÅ +ÖÅ ÐÒÉ×ÅÄÅÍ ÎÅÓËÏÌØËÏ ËÒÁÔËÉÈ ÚÁÍÅÞÁÎÉÊ ÐÏ ÐÏ×ÏÄÕ ÒÁÚÌÉÞÎÙÈ ÏÐÃÉÊ É +ÐÏÄÍÅÎÀ. + +\subsubsection{íÅÎÀ ×ÙÂÏÒÁ ÐÌÁÔÆÏÒÍÙ (ÔÏÌØËÏ ÄÌÑ UNIX)} +\label{sec:binary} + + +\begin{figure}[tbh] +\begin{boxedverbatim} +Available platforms: +=============================================================================== + a [ ] alpha-linux DEC Alpha with GNU/Linux + b [ ] amd64-freebsd x86_64 with FreeBSD + c [ ] amd64-kfreebsd x86_64 with GNU/FreeBSD + d [ ] i386-cygwin Intel x86 with Cygwin + e [ ] i386-freebsd Intel x86 with FreeBSD + f [ ] i386-kfreebsd Intel x86 with GNU/FreeBSD + g [X] i386-linux Intel x86 with GNU/Linux + h [ ] i386-netbsd Intel x86 with NetBSD + i [ ] i386-solaris Intel x86 with Solaris + j [ ] mips-irix SGI IRIX + k [ ] powerpc-aix PowerPC with AIX + l [ ] powerpc-linux PowerPC with GNU/Linux + m [ ] sparc-linux Sparc with GNU/Linux + o [ ] sparc-solaris Sparc with Solaris + p [ ] universal-darwin universal binaries for MacOSX/Darwin + s [ ] win32 Windows + t [ ] x86_64-darwin x86_64 with MacOSX/Darwin + u [ ] x86_64-linux x86_64 with GNU/Linux + v [ ] x86_64-solaris x86_64 with Solaris +\end{boxedverbatim} +\caption{íÅÎÀ ×ÙÂÏÒÁ ÐÌÁÔÆÏÒÍÙ}\label{fig:bin-text} +\end{figure} + +îÁ ÒÉÓÕÎËÅ~\ref{fig:bin-text} ÉÚÏÂÒÁÖÅÎÏ ÍÅÎÀ ×ÙÂÏÒÁ ÐÌÁÔÆÏÒÍÙ. ðÏ +ÕÍÏÌÞÁÎÉÀ ÕÓÔÁÎÁ×ÌÉ×ÁÀÔÓÑ ÔÏÌØËÏ ÐÒÏÇÒÁÍÍÙ ÄÌÑ ×ÁÛÅÊ ÔÅËÕÝÅÊ +ÁÒÈÉÔÅËÔÕÒÙ. ÷ ÜÔÏÍ ÍÅÎÀ ×Ù ÍÏÖÅÔÅ ×ÙÂÒÁÔØ ÔÁËÖÅ ÕÓÔÁÎÏ×ËÕ ÐÒÏÇÒÁÍÍ +ÄÌÑ ÄÒÕÇÉÈ ÐÌÁÔÆÏÒÍ. üÔÏ ÍÏÖÅÔ ÂÙÔØ ÐÏÌÅÚÎÏ, ÅÓÌÉ ×Ù ÉÓÐÏÌØÚÕÅÔÅ ÏÄÎÏ +É ÔÏ ÖÅ ÄÅÒÅ×Ï \TeX{}Á ÄÌÑ ÒÁÚÎÙÈ ÍÁÛÉÎ É ÒÁÚÄÁ£ÔÅ ÅÇÏ ÐÏ ÌÏËÁÌØÎÏÊ +ÓÅÔÉ, ÌÉÂÏ ÅÓÌÉ ÎÁ ×ÁÛÅÊ ÍÁÛÉÎÅ ÕÓÔÁÎÏ×ÌÅÎÏ ÎÅÓËÏÌØËÏ ÏÐÅÒÁÃÉÏÎÎÙÈ +ÓÉÓÔÅÍ. + +\subsubsection{÷ÙÂÏÒ ÏÓÎÏ×ÎÙÈ ËÏÍÐÏÎÅÎÔÏ×} +\label{sec:components} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Select scheme: +=============================================================================== + a [ ] basic scheme (plain and LaTeX) + b [ ] ConTeXt scheme + c [X] full scheme (everything) + d [ ] GUST TeX Live scheme + e [ ] medium scheme (plain, latex, recommended packages, some languages) + f [ ] minimal scheme (plain only) + g [ ] teTeX scheme (more than medium, but nowhere near full) + h [ ] XML scheme + i [ ] custom selection of collections +\end{boxedverbatim} +\caption{÷ÙÂÏÒ ÏÓÎÏ×ÎÙÈ ËÏÍÐÏÎÅÎÔÏ×}\label{fig:scheme-text} +\end{figure} + + +îÁ ÒÉÓÕÎËÅ~\ref{fig:scheme-text} ÐÏËÁÚÁÎÏ ÍÅÎÀ ×ÙÂÏÒÁ ÏÓÎÏ×ÎÙÈ +ËÏÍÐÏÎÅÎÔÏ× (ÓÈÅÍ) \TL{}. ÷ ÜÔÏÍ ÍÅÎÀ ×Ù ÍÏÖÅÔÅ ×ÙÂÒÁÔØ <<ÓÈÅÍÕ>>, +Ô.Å. ÎÁÂÏÒ ËÏÌÌÅËÃÉÊ ÐÁËÅÔÏ×. ðÏ ÕÍÏÌÞÁÎÉÀ ÉÓÐÏÌØÚÕÅÔÓÑ ÓÈÅÍÁ +\optname{full}, Ô.Å. ×ÓÅ ÐÁËÅÔÙ \TL{}, ÎÏ ×Ù ÍÏÖÅÔÅ ×ÙÂÒÁÔØ ÓÈÅÍÕ +\optname{basic} ÄÌÑ ÎÅÂÏÌØÛÏÊ ÓÉÓÔÅÍÙ, ÓÈÅÍÕ \optname{minimal} ÄÌÑ +ÔÅÓÔÉÒÏ×ÁÎÉÑ ÉÌÉ ÓÈÅÍÙ \optname{medium} ÉÌÉ \optname{teTeX}. åÓÔØ +ÔÁËÖÅ ÒÑÄ ÓÐÅÃÉÁÌØÎÙÈ ÓÈÅÍ, × ÔÏÍ ÞÉÓÌÅ É ÐÒÅÄÎÁÚÎÁÞÅÎÎÙÈ ÄÌÑ +ÒÁÚÌÉÞÎÙÈ ÓÔÒÁÎ. + +\begin{figure}[tbh] +\tlpng{stdcoll}{.7\linewidth,trim=0 4 0 0,clip} +\caption{íÅÎÀ ËÏÌÌÅËÃÉÊ}\label{fig:collections-gui} +\end{figure} + +÷Ù ÍÏÖÅÔÅ ÕÔÏÞÎÉÔØ ×ÁÛ ×ÙÂÏÒ ÐÒÉ ÐÏÍÏÝÉ ÍÅÎÀ <<ËÏÌÌÅËÃÉÊ>> +(ÒÉÓÕÎÏË~\ref{fig:collections-gui}, ÄÌÑ ÒÁÚÎÏÏÂÒÁÚÉÑ ÓÄÅÌÁÎÎÙÊ × +ÇÒÁÆÉÞÅÓËÏÍ ÒÅÖÉÍÅ). + +ëÏÌÌÅËÃÉÉ ÐÒÅÄÓÔÁ×ÌÑÀÔ ÓÏÂÏÊ ÓÌÅÄÕÀÝÉÊ ÐÏÓÌÅ ÓÈÅÍ ÕÒÏ×ÅÎØ +ÉÅÒÁÒÈÉÉ \TL{}. çÒÕÂÏ ÇÏ×ÏÒÑ, ÓÈÅÍÙ ÓÏÓÔÏÑÔ ÉÚ ËÏÌÌÅËÃÉÊ, ËÏÌÌÅËÃÉÉ +ÓÏÓÔÏÑÔ ÉÚ ÐÁËÅÔÏ×, Á ÐÁËÅÔÙ (ÎÉÖÎÉÊ ÕÒÏ×ÅÎØ ÉÅÒÁÒÈÉÉ \TL{}) ÓÏÄÅÒÖÁÔ +ÍÁËÒÏÓÙ, ÛÒÉÆÔÙ É Ô.Ä. + +åÓÌÉ ×Ù ÈÏÔÉÔÅ ÂÏÌÅÅ ÔÏÎËÏÊ ÎÁÓÔÒÏÊËÉ, ÞÅÍ ×ÏÚÍÏÖÎÁ × ÍÅÎÀ ËÏÌÌÅËÃÉÊ, +×Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÒÏÇÒÁÍÍÕ \prog{tlmgr} ÐÏÓÌÅ ÕÓÔÁÎÏ×ËÉ +(ÓÍ. ÒÁÚÄÅÌ~\ref{sec:tlmgr}). üÔÁ ÐÒÏÇÒÁÍÍÁ ÐÏÚ×ÏÌÑÅÔ ÕÓÔÁÎÁ×ÌÉ×ÁÔØ +ÉÌÉ ÕÄÁÌÑÔØ ÏÔÄÅÌØÎÙÅ ÐÁËÅÔÙ. + +\subsubsection{äÉÒÅËÔÏÒÉÉ} +\label{sec:directories} + +óÈÅÍÁ ÄÉÒÅËÔÏÒÉÊ ÐÏ ÕÍÏÌÞÁÎÉÀ ÏÐÉÓÁÎÁ × ÒÁÚÄÅÌÅ~\ref{sec:texmftrees}, +\p.\pageref{sec:texmftrees}. ðÏÌÏÖÅÎÉÅ ÄÅÒÅ×Á +\dirname{TEXDIR} ÏÔÌÉÞÁÅÔÓÑ ÄÌÑ Windows +(|%SystemDrive%\texlive\2012|) É UNIX +(\dirname{/usr/local/texlive/2012}). + +ïÓÎÏ×ÎÁÑ ÐÒÉÞÉÎÁ, ÐÏ ËÏÔÏÒÏÊ ÂÙ×ÁÅÔ ÎÅÏÂÈÏÄÉÍÏ ÉÚÍÅÎÉÔØ ÜÔÕ ÓÈÅÍÕ +"--- ÏÔÓÕÔÓÔ×ÉÅ Õ ×ÁÓ ÐÒÁ× ÎÁ ÚÁÐÉÓØ × ÎÕÖÎÙÅ ÄÉÒÅËÔÏÒÉÉ. ÷ÁÍ ÎÅ +ÎÁÄÏ ÉÍÅÔØ ÐÒÁ×Á ÁÄÍÉÎÉÓÔÒÁÔÏÒÁ ÄÌÑ ÕÓÔÁÎÏ×ËÉ \TL{}, ÏÄÎÁËÏ ×ÁÍ ÎÁÄÏ +ÉÍÅÔØ ÐÒÁ×Ï ÎÁ ÚÁÐÉÓØ × ÄÉÒÅËÔÏÒÉÀ, ËÕÄÁ ÕÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ ÓÉÓÔÅÍÁ. + +åÓÌÉ Õ ×ÁÓ ÎÅÔ ÐÒÁ×Á ÎÁ ÚÁÐÉÓØ × ÓÉÓÔÅÍÎÙÅ ÄÉÒÅËÔÏÒÉÉ, ÅÓÔÅÓÔ×ÅÎÎÏÊ +ÁÌØÔÅÒÎÁÔÉ×ÏÊ Ñ×ÌÑÅÔÓÑ ÕÓÔÁÎÏ×ËÁ × ×ÁÛÕ ÄÏÍÁÛÎÀÀ ÄÉÒÅËÔÏÒÉÀ, ÏÓÏÂÅÎÎÏ +ÅÓÌÉ ×Ù ÂÕÄÅÔÅ ÅÄÉÎÓÔ×ÅÎÎÙÍ ÐÏÌØÚÏ×ÁÔÅÌÅÍ ÓÉÓÔÅÍÙ. äÌÑ ÜÔÏÇÏ +ÉÓÐÏÌØÚÕÊÔÅ `|~|' ÎÁÐÒÉÍÅÒ `|~/texlive/2012|'. + +íÙ ÒÅËÏÍÅÎÄÕÅÍ ×ËÌÀÞÁÔØ ÎÏÍÅÒ ÇÏÄÁ × ÎÁÚ×ÁÎÉÅ ÄÉÒÅËÔÏÒÉÉ, ÞÔÏÂÙ ÍÏÖÎÏ +ÂÙÌÏ ÄÅÒÖÁÔØ ÏÔÄÅÌØÎÏ ÒÁÚÎÙÅ ×ÅÒÓÉÉ \TL{}. ðÏÓÌÅ ÔÅÓÔÉÒÏ×ÁÎÉÑ ÎÏ×ÏÊ +×ÅÒÓÉÉ ×Ù ÓÍÏÖÅÔÅ ÓÄÅÌÁÔØ \dirname{/usr/local/texlive-cur} ÓÓÙÌËÏÊ ÎÁ +ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÕÀ ÄÉÒÅËÔÏÒÉÀ. + +éÚÍÅÎÅÎÉÅ \dirname{TEXDIR} ÉÚÍÅÎÉÔ ÔÁËÖÅ \dirname{TEXMFLOCAL}, +\dirname{TEXMFSYSVAR} É \dirname{TEXMFSYSCONFIG}. + +ìÉÞÎÙÅ ÐÁËÅÔÙ É ÆÁÊÌÙ ÒÅËÏÍÅÎÄÕÅÔÓÑ ÄÅÒÖÁÔØ × ÄÉÒÅËÔÏÒÉÉ +\dirname{TEXMFHOME}. ðÏ ÕÍÏÌÞÁÎÉÀ ÜÔÏ |~/texmf|. ÷ ÏÔÌÉÞÉÅ ÏÔ +\dirname{TEXDIR}, ÚÄÅÓØ |~| ÂÕÄÅÔ Ó×ÏÉÍ ÄÌÑ ËÁÖÄÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ. +üÔÁ ÐÅÒÅÍÅÎÎÁÑ ÓÔÁÎÏ×ÉÔÓÑ \dirname{$HOME} ÐÏÄ UNIX É +\verb|%USERPROFILE%| ÐÏÄ Windows. îÁ ×ÓÑËÉÊ ÓÌÕÞÁÊ ÐÏ×ÔÏÒÉÍ, ÞÔÏ +ÓÔÒÕËÔÕÒÁ \envname{TEXMFHOME} ÄÏÌÖÎÁ ÓÏ×ÐÁÄÁÔØ ÓÏ ÓÔÁÎÄÁÒÔÎÏÊ +ÓÔÒÕËÔÕÒÏÊ ÄÉÒÅËÔÏÒÉÊ \dirname{TEXMF}, ÉÎÁÞÅ ÓÉÓÔÅÍÁ ÍÏÖÅÔ ÎÅ ÎÁÊÔÉ +×ÁÛÉ ÆÁÊÌÙ. + +äÉÒÅËÔÏÒÉÑ \dirname{TEXMFVAR} ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÈÒÁÎÅÎÉÑ Á×ÔÏÍÁÔÉÞÅÓËÉ +ÓÏÚÄÁ×ÁÅÍÙÈ ÆÁÊÌÏ×, Ó×ÏÉÈ ÄÌÑ ËÁÖÄÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ. äÉÒÅËÔÏÒÉÑ +\dirname{TEXMFCACHE} ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÜÔÏÊ ÖÅ ÃÅÌÉ ÐÒÏÇÒÁÍÍÏÊ +\ConTeXt\ Mk\acro{IV} (ÓÍ. ÒÁÚÄÅÌ~\ref{sec:context-mkiv}, +\p.\pageref{sec:context-mkiv}). + + +\subsubsection{ïÐÃÉÉ} +\label{sec:options} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Options setup: +=============================================================================== + <P> use letter size instead of A4 by default: [ ] + <E> execution of restricted list of programs: [X] + <F> create format files: [X] + <D> install font/macro doc tree: [X] + <S> install font/macro source tree: [X] + <L> create symlinks in standard directories: [ ] + binaries to: + manpages to: + info to: +\end{boxedverbatim} +\caption{íÅÎÀ ÏÐÃÉÊ (Unix)}\label{fig:options-text} +\end{figure} + +îÁ ÒÉÓÕÎËÅ~\ref{fig:options-text} ÐÒÉ×ÅÄÅÎÏ ÍÅÎÀ ÏÐÃÉÊ (ÔÅËÓÔÏ×ÙÊ +ÒÅÖÉÍ). óÔÏÉÔ ÕÐÏÍÑÎÕÔØ ÎÅÓËÏÌØËÏ ÉÚ ÎÉÈ: +\begin{description} +\item[use letter size instead of A4 by default (ÉÓÐÏÌØÚÏ×ÁÔØ ÐÏ + ÕÍÏÌÏÞÁÎÉÀ ÒÁÚÍÅÒ letter ×ÍÅÓÔÏ A4):] ×ÙÂÏÒ ÒÁÚÍÅÒÁ ÂÕÍÁÇÉ + ÐÏ ÕÍÏÌÞÁÎÉÀ. òÁÚÕÍÅÅÔÓÑ, ÏÔÄÅÌØÎÙÅ ÄÏËÕÍÅÎÔÙ ÍÏÇÕÔ ÐÒÉ + ÎÅÏÂÈÏÄÉÏÓÔÉ ÕËÁÚÁÔØ ÓÏÂÓÔ×ÅÎÎÙÊ ÒÁÚÍÅÒ ÂÕÍÁÇÉ. + +\item[execution of restricted list of programs:] îÁÞÉÎÁÑ Ó \TL\ 2010 + \TeX{} ÍÏÖÅÔ Á×ÔÏÍÁÔÉÞÅÓËÉ ×ÙÚÙ×ÁÔØ ÎÅÓËÏÌØËÏ ×ÎÅÛÎÉÈ ÐÒÏÇÒÁÍÍ. + óÐÉÓÏË ÜÔÉÈ ÐÒÏÇÒÁÍÍ ÎÁÈÏÄÉÔÓÑ × ÆÁÊÌÅ \filename{texmf.cnf}; ÏÎ + ÏÞÅÎØ ÍÁÌ, ÎÏ ÜÔÉ ÐÒÏÇÒÁÍÍÙ ÏÞÅÎØ ÐÏÌÅÚÎÙ. óÍ. ÒÁÚÄÅÌ ``þÔÏ ÎÏ×ÏÇÏ + × \TL\ 2010>>~\ref{sec:2010news}. + +\item[create all format files (ÓÏÚÁÔØ ×ÓÅ ÆÏÒÍÁÔÙ):] èÏÔÑ ÎÅÎÕÖÎÙÅ + ÆÏÒÍÁÔÙ ÚÁÎÉÍÁÀÔ ÍÅÓÔÏ ÎÁ ÄÉÓËÅ É ÔÒÅÂÕÀÔ ×ÒÅÍÅÎÉ ÄÌÑ ÓÏÚÄÁÎÉÑ, ÍÙ + ×ÓÅ ÖÅ ÒÅËÏÍÅÎÄÕÅÍ ÎÅ ÉÚÍÅÎÑÔØ ÜÔÕ ÏÐÃÉÀ. ÷ ÐÒÏÔÉ×ÎÏÍ ÓÌÕÞÁÅ + ÏÔÓÕÔÓÔ×ÕÀÝÉÅ ÆÏÒÍÁÔÙ ÂÕÄÕÔ ÇÅÎÒÉÒÏ×ÁÔØÓÑ × ÄÉÒÅËÔÏÒÉÑÈ + \dirname{TEXMFVAR} ÄÌÑ ËÁÖÄÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ. ïÎÉ ÎÅ ÂÕÄÕÔ + Á×ÔÏÍÁÔÉÞÅÓËÉ ÐÅÒÅÇÅÎÅÒÉÒÏ×ÁÔØÓÑ ÐÒÉ ÉÚÍÅÎÅÎÉÉ ÐÒÏÇÒÁÍÍ É ÓÈÅÍ + ÐÅÒÅÎÏÓÁ, É × ÉÔÏÇÅ ÍÏÇÕÔ ÏËÁÚÁÔØÓÑ ÎÅÓÏ×ÍÅÓÔÉÍÙÍÉ Ó ÎÏ×ÏÊ ÓÉÓÔÅÍÏÊ. + + +\item[install font/macro \ldots\ tree:] üÔÉ ÏÐÃÉÉ ÐÏÚ×ÏÌÑÀÔ ×ÁÍ ÎÅ + ÕÓÔÁÎÁ×ÌÉ×ÁÔØ ÄÏËÕÍÅÎÔÁÃÉÀ É ÉÓÈÏÄÎÉËÉ, ËÏÔÏÒÙÅ ×ÈÏÄÑÔ × ÂÏÌØÛÉÎÓÔ×Ï + ÐÁËÅÔÏ×. íÙ ÎÅ ÒÅËÏÍÅÎÄÕÅÍ ÜËÏÎÏÍÉÔØ ÍÅÓÔÏ ÎÁ ÜÔÏÊ ×ÁÖÎÏÊ + ÉÎÆÏÒÍÁÃÉÉ. + + +\item[create symlinks in standard directories (ÓÏÚÄÁÔØ ÓÉÍÌÉÎËÉ × + ÓÔÁÎÄÁÒÔÎÙÈ ÄÉÒÅËÔÏÒÉÑÈ)] (ÔÏÌØËÏ ÄÌÑ UNIX): üÔÁ ÏÐÃÉÑ ÄÅÌÁÅÔ + ÎÅÎÕÖÎÏÊ ÓÍÅÎÕ ÐÅÒÅÍÅÎÎÙÈ ÏËÒÕÖÅÎÉÑ. âÅÚ ÎÅ£ ÄÉÒÅËÔÏÒÉÉ \TL{} ÎÕÖÎÏ + ÄÏÂÁ×ÉÔØ Ë \envname{PATH}, \envname{MANPATH} É \envname{INFOPATH}. + äÌÑ ÜÔÏÊ ÏÐÃÉÉ ×ÁÍ ÎÕÖÎÙ ÐÒÁ×Á ÎÁ ÚÁÐÉÓØ × ÓÔÁÎÄÁÒÔÎÙÅ ÄÉÒÅËÔÏÒÉÉ. + íÙ ÎÅ ÓÏ×ÅÔÕÅÍ ×ÁÍ ÐÏÄÍÅÎÑÔØ \TeX{} ÉÚ ÄÉÓÔÒÉÂÕÔÉ×Á ×ÁÛÅÊ ÓÉÓÔÅÍÙ + ÐÒÉ ÐÏÍÏÝÉ ÜÔÏÊ ÏÐÃÉÉ. ïÎÁ ÎÕÖÎÁ ÄÌÑ ÓÏÚÄÁÎÉÑ ÓÉÍÌÉÎËÏ× × + ÄÉÒÅËÔÏÒÉÑÈ ÔÉÐÁ \dirname{/usr/local/bin}, ËÏÔÏÒÙÅ ÎÅ ÓÏÄÅÒÖÁÔ + ÆÁÊÌÏ× \TeX Á ÉÚ ÓÉÓÔÅÍÎÏÇÏ ÄÉÓÔÒÉÂÕÔÉ×Á. +\end{description} + +úÁÄÁ× ÎÕÖÎÙÅ ÎÁÓÔÒÏÊËÉ, ×Ù ÍÏÖÅÔÅ ÎÁÞÁÔØ ÕÓÔÁÎÏ×ËÕ ÓÉÓÔÅÍÙ, ÎÁÖÁ× +ËÌÁ×ÉÛÕ <<|I|>>. ëÏÇÄÁ ÕÓÔÁÎÏ×ËÁ ÂÕÄÅÔ ÚÁËÏÎÞÅÎÁ, ÐÅÒÅÊÄÉÔÅ Ë +ÒÁÚÄÅÌÕ~\ref{sec:postinstall} ÞÔÏÂÙ ÐÒÏ×ÅÒÉÔØ, ÎÕÖÎÏ ÌÉ ×ÁÍ ÓÄÅÌÁÔØ +ÅÝ£ ÞÔÏ-ÎÉÂÕÄØ. + +\subsection{ïÐÃÉÉ ×ÙÚÏ×Á ËÏÍÁÎÄÙ install-tl} +\label{sec:cmdline} + +îÁÐÅÞÁÔÁÊÔÅ +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} +ÞÔÏÂÙ ÐÏÌÕÞÉÔØ ÓÐÉÓÏË ÏÐÃÉÊ ËÏÍÁÄÎÏÊ ÓÔÒÏËÉ. ÷ ÏÐÃÉÑÈ ÍÏÖÎÏ +ÉÓÐÏÌØÚÏ×ÁÔØ ËÁË |-|, ÔÁË É |--|. ÷ÏÔ ÓÁÍÙÅ ÉÎÔÅÒÅÓÎÙÅ ÏÐÃÉÉ: + +\begin{ttdescription} +\item[-gui] åÓÌÉ ×ÏÚÍÏÖÎÏ, ÉÓÐÏÌØÚÏ×ÁÔØ ÇÒÁÆÉÞÅÓËÉÊ ÒÅÖÉÍ. äÌÑ ÜÔÏÇÏ + ÎÕÖÅÎ ÍÏÄÕÌØ Perl/Tk Ó ÐÏÄÄÅÒÖËÏÊ \acro{XFT} + (\url{http://tug.org/texlive/distro.html#perltk}); ÅÓÌÉ ÜÔÏÇÏ ÍÏÄÕÌÑ + × ÓÉÓÔÅÍÅ ÎÅÔ, ÕÓÔÁÎÏ×ËÁ ÐÒÏÉÓÈÏÄÉÔ × ÔÅËÓÔÏ×ÏÍ ÒÅÖÉÍÅ. + +\item[-no-gui] éÓÐÏÌØÚÏ×ÁÔØ ÔÅËÓÔÏ×ÙÊ ÒÅÖÉÍ, ÄÁÖÅ ÐÏÄ Windows. + +\item[-lang {\sl LL}] úÁÄÁÔØ ÑÚÙË ÉÎÔÅÒÆÅÊÓÁ ÐÒÏÇÒÁÍÍÙ ÕÓÔÁÎÏ×ËÉ + (ÓÔÁÎÄÁÒÔÎÙÍ ËÏÄÏÍ ÓÔÒÁÎÙ \textsl{LL}). óÅÊÞÁÓ ÄÏÓÔÕÐÎÙ ÓÌÅÄÕÀÝÉÅ + ÑÚÙËÉ: + \texttt{cs} (ÞÅÛÓËÉÊ), + \texttt{de} (ÎÅÍÅÃËÉÊ), + \texttt{en} (ÁÎÇÌÉÊÓËÉÊ, ÐÏ ÕÍÏÌÞÁÎÉÀ) + \texttt{fr} (ÆÒÁÎÃÕÚÓËÉÊ), + \texttt{it} (ÉÔÁÌØÑÎÓËÉÊ), + \texttt{ja} (ÑÐÏÎÓËÉÊ), + \texttt{nl} (ÇÏÌÌÁÎÄÓËÉÊ), + \texttt{pl} (ÐÏÌØÓËÉÊ), + \texttt{ru} (ÒÕÓÓËÉÊ), + \texttt{sk} (ÓÌÏ×ÁÃËÉÊ), + \texttt{sl} (ÓÌÏ×ÅÎÓËÉÊ), + \texttt{sr} (ÓÅÒÂÓËÉÊ), + \texttt{vi} (×ØÅÔÎÁÍÓËÉÊ), + \texttt{zh-cn} (ÕÐÒÏÝÅÎÎÙÊ ËÉÔÁÊÓËÉÊ), + \texttt{zh-tw} (ÔÒÁÄÉÃÉÏÎÎÙÊ ËÉÔÁÊÓËÉÊ). +ðÒÏÇÒÁÍÍÁ ÕÓÔÁÎÏ×ËÉ ÐÙÔÁÅÔÓÑ ÏÐÒÅÄÅÌÅÔØ ÎÕÖÎÙÊ ÑÚÙË + Á×ÔÏÍÁÔÉÞÅÓËÉ, ÎÏ ÅÓÌÉ ÜÔÏ ÎÅ ÐÏÌÕÞÁÅÔÓÑ ÉÌÉ ÅÓÌÉ ÎÕÖÎÙÊ ÑÚÙË ÎÅ + ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ, ÏÎÁ ÐÅÒÅÈÏÄÉÔ ÎÁ ÁÎÇÌÉÊÓËÉÊ. + +\htmlanchor{opt-in-place} +\item[-in-place] åÓÌÉ Õ ×ÁÓ ÕÖÅ ÅÓÔØ ËÏÐÉÑ \TL, ÐÏÌÕÞÅÎÎÁÑ ÉÚ ÒÅÐÏÚÉÔÏÒÉÑ + (ÓÍ.~\url{http://tug.org/texlive/acquire-mirror.html}), ÔÏ ÜÔÁ ÏÐÃÉÑ + ÐÏÚ×ÏÌÑÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÜÔÕ ËÏÐÉÀ. õÞÔÉÔÅ, ÞÔÏ ÐÒÉ ÜÔÏÍ ÂÁÚÁ ÄÁÎÎÙÈ + \filename{tlpkg/texlive.tlpdb} ÍÏÖÅÔ ÂÙÔØ ÚÁÔÅÒÔÁ; ×Ù ÄÏÌÖÎÙ + ÓÏÈÒÁÎÉÔØ Å£ ÓÁÍÉ. ëÒÏÍÅ ÔÏÇÏ, ÕÄÁÌÅÎÉÅ ÐÁËÅÔÏ× ÎÕÖÎÏ ÂÕÄÅÔ ÄÅÌÁÔØ + ×ÒÕÞÎÕÀ. îÅ ÉÓÐÏÌØÚÕÊÔÅ ÜÔÕ ÏÐÃÉÀ, ÅÓÌÉ ×Ù ÎÅ ÜËÓÐÅÒÔ. üÔÕ ÏÐÃÉÀ + ÎÅÌØÚÑ ×ÙÂÒÁÔØ ÐÏÓÌÅ ÔÏÇÏ, ËÁË ÐÒÏÇÒÁÍÍÁ ÚÁÐÕÝÅÎÁ. + + +\item[-portable] õÓÔÁÎÏ×ÉÔØ ÐÅÒÅÎÏÓÉÍÕÀ ×ÅÒÓÉÀ \TL, ÎÁÐÒÉÍÅÒ, ÎÁ + ÆÌÅÛËÕ \acro{USB}. üÔÕ ÏÐÃÉÀ ÔÁËÖÅ ÍÏÖÎÏ ÕËÁÚÁÔØ ÐÒÉ ÐÏÍÏÝÉ ËÏÍÁÎÄÙ + \code{V} × ÔÅËÓÔÏ×ÏÍ ÕÓÔÁÎÏ×ËÉ, ÉÌÉ ÉÚ ÇÒÁÆÉÞÅÓËÏÇÏ ÒÅÖÉÍÁ. óÍ. + ÔÁËÖÅ ÒÁÚÄÅÌ~\ref{sec:portable-tl}. + +\item[-profile {\sl ÆÁÊÌ}] éÓÐÏÌØÚÏ×ÁÔØ ËÏÎÆÉÇÕÒÁÃÉÀ ÕÓÔÁÎÏ×ËÉ + \var{file} É ÎÅ ÚÁÄÁ×ÁÔØ ÐÏÌØÚÏ×ÁÔÅÌÀ ÎÉËÁËÉÈ ×ÏÐÒÏÓÏ×. ðÒÏÇÒÁÍÍÁ + ÕÓÔÁÎÏ×ËÉ ×ÓÅÇÄÁ ÚÁÐÉÓÙ×ÁÅÔ ÆÁÊÌ \filename{texlive.profile} × + ÐÏÄÄÉÒÅËÔÏÒÉÀ \dirname{tlpkg}. üÔÏÔ ÆÁÉÌ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎ × + ËÁÞÅÓÔ×Å ÁÒÇÕÍÅÎÔÁ ÄÁÎÎÏÊ ÏÐÃÉÉ, ÞÔÏÂÙ, ÎÁÐÒÉÍÅÒ, ÐÏÌÕÞÉÔØ + ÉÄÅÎÔÉÞÎÕÀ ËÏÎÆÉÇÕÒÁÃÉÀ ÎÁ ÄÒÕÇÏÊ ÍÁÛÉÎÅ. ÷Ù ÍÏÖÅÔÅ ÔÁËÖÅ ÓÏÚÄÁÔØ + ÓÏÂÓÔ×ÅÎÎÕÀ ËÏÎÆÉÇÕÒÁÃÉÀ, ÎÁÐÒÉÍÅÒ, ×ÚÑ× ÚÁ ÏÓÎÏ×Õ Á×ÔÏÍÁÔÉÞÅÓËÉ + ÓÏÚÄÁÎÎÙÊ ÆÁÊÌ ÉÌÉ ÐÕÓÔÏÊ ÆÁÊÌ (ÔÁË ÞÔÏ ÐÁÒÁÍÅÔÒÙ, ËÏÔÏÒÙÅ ÎÅ ÚÁÄÁÎÙ + × ÆÁÊÌÅ, ÐÏÌÕÞÁÔ ÚÎÁÞÅÎÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ). + +\item [-repository {\sl url ÉÌÉ ÄÉÒÅËÔÏÒÉÑ}] õËÁÚÁÔØ ÁÌØÔÅÒÎÁÔÉ×ÎÙÊ ÉÓÔÏÞÎÉË +Ï ÐÁËÅÔÏ× ÄÌÑ ÕÓÔÁÎÏ×ËÉ; ÓÍ. ÎÉÖÅ. +\end{ttdescription} + +\subsubsection{ðÁÒÁÍÅÔÒ \optname{-repository}} +\label{sec:location} + +ðÏ ÕÍÏÌÞÁÎÉÀ ÐÁËÅÔÙ ÓÇÒÕÖÁÀÔÓÑ Ó ÏÄÎÏÇÏ ÉÚ ÚÅÒËÁÌ ÁÒÈÉ×Á \CTAN. óÓÙÌËÁ +\url{http://mirror.ctan.org} Á×ÔÏÍÁÔÉÞÅÓËÉ ×ÙÂÉÒÁÅÔ ÚÅÒËÁÌÏ. + +åÓÌÉ ×Ù ÈÏÔÉÔÅ ÕËÁÚÁÔØ ÄÒÕÇÏÊ ÉÓÔÏÞÎÉË, ×Ù ÍÏÖÅÔÅ ÚÁÄÁÔØ ÅÇÏ ËÁË URL, +ÎÁÞÉÎÁÀÝÉÊÓÑ Ó \texttt{ftp:}, \texttt{http:}, \texttt{file:/} ÉÌÉ +ÐÒÏÓÔÏ ËÁË ÄÉÒÅËÔÏÒÉÀ ÎÁ ÄÉÓËÅ. (ëÏÇÄÁ ×Ù ÕËÁÚÙ×ÁÅÔÅ ÒÅÐÏÚÉÔÏÒÉÀ ËÁË +\texttt{ftp:} ÉÌÉ \texttt{http:}, ÏËÏÎÞÁÎÉÅ \texttt{/} ÉÌÉ +\texttt{/tlpkg} ÉÇÎÏÒÉÒÕÅÔÓÑ.) + +îÁÐÒÉÍÅÒ, ×Ù ÍÏÖÅÔÅ ÚÁÄÁÔØ × ËÁÞÅÓÔ×Å ÐÁÒÁÍÅÔÒÁ ÏÐÒÅÄÅÌÅÎÎÏÅ ÚÅÒËÁÌÏ +\CTAN: +\url{http://ctan.example.org/tex-archive/texlive/tlnet/}. +òÁÚÕÍÅÅÔÓÑ, ×ÁÍ ÓÌÅÄÕÅÔ ÐÏÄÓÔÁ×ÉÔØ ×ÍÅÓÔÏ \dirname{example.ctan.org} +ÎÕÖÎÏÅ ÚÅÒËÁÌÏ É ÐÕÔØ Ë ÁÒÈÉ×Õ ÎÁ ÜÔÏÍ ÚÅÒËÁÌÅ. óÐÉÓÏË ÚÅÒËÁÌ +ÎÁÈÏÄÉÔÓÑ ÎÁ \url{http://ctan.org/mirrors}. + + +åÓÌÉ ÐÁÒÁÍÅÔÒ ÚÁÄÁÅÔ ÄÉÒÅËÔÏÒÉÀ ÎÁ ÄÉÓËÉ (ÐÒÑÍÏ ÉÌÉ ÐÒÉ ÐÏÍÏÝÉ +\texttt{file:/}), ÓÉÓÔÅÍÁ Á×ÔÏÍÁÔÉÞÅÓËÉ ÏÐÒÅÄÅÌÑÅÔ, Ñ×ÌÑÅÔÓÑ ÌÉ +ÉÓÔÏÞÎÉË ÁÒÈÉ×ÏÍ: ÅÓÌÉ ÎÁÊÄÅÎÁ ÐÏÄÄÉÒÅËÔÏÒÉÑ \dirname{archive} ÓÏ +ÓÖÁÔÙÍÉ ÆÁÊÌÁÍÉ, ÔÏ ÏÎÁ ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÎÁ, ÄÁÖÅ ÅÓÌÉ ÒÑÄÏÍ ÎÁÈÏÄÑÔÓÑ +ÎÅÚÁÁÒÈÉ×ÉÒÏ×ÁÎÎÙÅ ÆÁÊÌÙ. + + + +\subsection{äÅÊÓÔ×ÉÑ ÐÏÓÌÅ ÕÓÔÁÎÏ×ËÉ} +\label{sec:postinstall} + +éÎÏÇÄÁ ÐÏÓÌÅ ÕÓÔÁÎÏ×ËÉ ÓÉÓÔÅÍÙ ÔÒÅÂÕÀÔÓÑ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÄÅÊÓÔ×ÉÑ. + + + +\subsubsection{ðÅÒÅÍÅÎÎÙÅ ÏËÒÕÖÅÎÉÑ ÄÌÑ UNIX} +\label{sec:env} + +åÓÌÉ ÂÙ ÒÅÛÉÌÉ ÓÏÚÄÁÔØ ÓÉÍÌÉÎËÉ × ÓÔÁÎÄÁÒÔÎÙÈ ÄÉÒÅËÔÏÒÉÑÈ +(ÓÍ. ÒÁÚÄÅÌ~\ref{sec:options}), ÔÏ ÉÚÍÅÎÑÔØ ÐÅÒÅÍÅÎÎÙÅ ÏËÒÕÖÅÎÉÑ ÎÅ +ÔÒÅÂÕÅÔÓÑ. ÷ ÐÒÏÔÉ×ÎÏÍ ÓÌÕÞÁÅ ×ÁÍ ÎÕÖÎÏ ÄÏÂÁ×ÉÔØ Ë ÓÐÉÓËÕ ÐÏÉÓËÁ +ÐÒÏÇÒÁÍÍ ÄÉÒÅËÔÏÒÉÀ, ÇÄÅ ÌÅÖÁÔ ÐÒÏÇÒÁÍÍÙ \TeX live (ÐÏÄ Windows +ÐÒÏÇÒÁÍÍÁ ÕÓÔÁÎÏ×ËÉ ÄÅÌÁÅÔ ÜÔÏ ÓÁÍÁ). + +ðÒÏÇÒÁÍÍÙ ÄÌÑ ËÁÖÄÏÊ ÁÒÈÉÔÅËÔÕÒÙ ÐÏÍÅÝÁÀÔÓÑ × ÓÏÂÓÔ×ÅÎÎÕÀ +ÐÏÄÄÉÒÅËÔÏÒÉÀ ÐÏÄ \dirname{TEXDIR/bin}. óÍ. ÓÐÉÓÏË ÐÏÄÄÉÒÅËÔÏÒÉÊ É +ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÈ ÐÌÁÔÆÏÒÍ ÎÁ ÒÉÓÕÎËÅ~\ref{fig:bin-text}. + +÷Ù ÍÏÖÅÔÅ ÔÁËÖÅ ÄÏÂÁ×ÉÔØ ÄÉÒÅËÔÏÒÉÉ Ó ÄÏËÕÍÅÎÔÁÃÉÅÊ × ÆÏÒÍÁÔÅ man É +info Ë ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÍ ÐÕÔÑÍ ÐÏÉÓËÁ, ÅÓÌÉ ×Ù ÈÏÔÉÔÅ, ÞÔÏÂÙ ×ÁÛÁ +ÏÐÅÒÁÃÉÏÎÎÁÑ ÓÉÓÔÅÍÁ ÚÎÁÌÁ Ï ÎÉÈ. ÷ ÎÅËÏÔÏÒÙÈ ÓÉÓÔÅÍÁÈ ÄÏËÕÍÅÎÔÁÃÉÑ × +ÆÏÒÍÁÔÅ man ÂÕÄÅÔ ÎÁÊÄÅÎÁ Á×ÔÏÍÁÔÉÞÅÓËÉ ÐÏÓÌÅ ÉÚÍÅÎÅÎÉÑ ÐÅÒÅÍÅÎÎÏÊ +\envname{PATH}. + +îÉÖÅ ÍÙ ÉÓÐÏÌØÚÕÅÍ ÄÌÑ ÐÒÉÍÅÒÁ ÓÔÁÎÄÁÒÔÎÕÀ ÓÉÓÔÅÍÕ ÄÉÒÅËÔÏÒÉÊ × ÓÉÓÔÅÍÅ +Intel86 GNU/Linux. + +äÌÑ ÏÂÏÌÏÞÅË ÔÉÐÁ Bourne (\prog{bash} É Ô.Ð.) ×Ù ÍÏÖÅÔÅ ÄÏÂÁ×ÉÔØ × +ÆÁÊÌ \filename{$HOME/.profile} (ÉÌÉ × ÆÁÊÌ, ËÏÔÏÒÙÊ ×ÙÚÙ×ÁÅÔÓÑ ÉÚ +\filename{.profile}) ÓÌÅÄÕÀÝÅÅ: + +\begin{sverbatim} +PATH=/usr/local/texlive/2012/bin/i386-linux:$PATH; export PATH +MANPATH=/usr/local/texlive/2012/texmf/doc/man:$MANPATH; export MANPATH +INFOPATH=/usr/local/texlive/2012/texmf/doc/info:$INFOPATH; export INFOPATH +\end{sverbatim} + +äÌÑ \prog{csh} ÉÌÉ \prog{tcsh} ÓÌÅÄÕÅÔ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÆÁÊÌ +\filename{$HOME/.cshrc}, É ÓÌÅÄÕÅÔ ÄÏÂÁ×ÉÔØ ÞÔÏ-ÔÏ ×ÒÏÄÅ + +\begin{sverbatim} +setenv PATH /usr/local/texlive/2012/bin/i386-linux:$PATH +setenv MANPATH /usr/local/texlive/2012/texmf/doc/man:$MANPATH +setenv INFOPATH /usr/local/texlive/2012/texmf/doc/info:$INFOPATH +\end{sverbatim} + +òÁÚÕÍÅÅÔÓÑ, × ×ÁÛÉÈ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÈ ÆÁÊÌÁÈ ÕÖÅ ÍÏÇÕÔ ÂÙÔØ ÏÐÒÅÄÅÌÅÎÙ +ÜÔÉ ÐÅÒÅÍÅÎÎÙÅ; ÆÒÁÇÍÅÎÔÙ ×ÙÛÅ ÄÏÂÁ×ÌÑÀÔ Ë ÎÉÍ ÄÉÒÅËÔÏÒÉÉ \TL{}. + +\subsubsection{ðÅÒÅÍÅÎÎÙÅ ÏËÒÕÖÅÎÉÑ: ÇÌÏÂÁÌØÎÁÑ ËÏÎÆÉÇÕÒÁÃÉÑ} +\label{sec:envglobal} + +åÓÌÉ ×Ù ÈÏÔÉÔÅ ×ÎÅÓÔÉ ÜÔÉ ÉÚÍÅÎÅÎÉÑ ÄÌÑ ×ÓÅÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ, ÉÌÉ +ÄÏÂÁ×ÌÑÔØ ÉÈ Á×ÔÏÍÁÔÉÞÅÓËÉ ÄÌÑ ÎÏ×ÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ, ÔÏ ×ÁÍ ÓÌÅÄÕÅÔ +ÒÁÚÏÂÒÁÔØÓÑ ÓÁÍÏÍÕ: × ÒÁÚÎÙÈ ÓÉÓÔÅÍÁÈ ÜÔÏ ÄÅÌÁÅÔÓÑ ÓÌÉÛËÏÍ +ÐÏ-ÒÁÚÎÏÍÕ. + +ä×Á ÓÏ×ÅÔÁ: 1)~×ÏÚÍÏÖÎÏ, ×ÁÍ ÓÌÅÄÕÅÔ ÄÏÂÁ×ÉÔØ × ÆÁÊÌ +\filename{/etc/manpath.config} ÓÔÒÏÞËÉ ×ÒÏÄÅ: + +\begin{sverbatim} +MANPATH_MAP /usr/local/texlive/2012/bin/i386-linux \ + /usr/local/texlive/2012/texmf/doc/man +\end{sverbatim} + +é 2)~ÉÎÏÇÄÁ ÐÕÔÉ ÐÏÉÓËÁ É ÄÒÕÇÉÅ ÇÌÏÂÁÌØÎÙÅ ÐÅÒÅÍÅÎÎÙÅ ÏËÒÕÖÅÎÉÑ +ÚÁÄÁÀÔÓÑ × ÆÁÊÌÅ \filename{/etc/environment}. + +íÙ ÔÁËÖÅ ÄÏÂÁ×ÌÑÅÍ ÓÉÍÌÉÎË \path{man} × ËÁÖÄÏÊ ÐÏÄÄÉÒÅËÔÏÒÉÉ +\path{bin}. îÅËÏÔÏÒÙÅ ×ÁÒÉÁÎÔÙ ÐÒÏÇÒÁÍÍÙ \code{man}, ÎÁÐÒÉÍÅÒ, × +\MacOSX, Á×ÔÏÍÁÔÉÞÅÓËÉ ÉÝÕÔ ÆÁÊÌÙ × ÜÔÉÈ ÐÏÄÄÉÒÅËÔÏÒÉÑÈ, ÞÔÏ ÉÚÂÁ×ÌÑÅÔ +ÏÔ ÎÅÏÂÈÏÄÉÍÏÓÔÉ ÄÏÂÁ×ÌÑÔØ ÉÈ × \code{MANPATH}. + +\subsubsection{ïÂÎÏ×ÌÅÎÉÑ ÉÚ éÎÔÅÒÎÅÔÁ ÐÏÓÌÅ ÕÓÔÁÎÏ×ËÉ Ó \DVD} +\label{sec:dvd-install-net-updates} + +åÓÌÉ ×Ù ÕÓÔÎÏ×ÉÌÉ \TL\ Ó \DVD\ É ÈÏÔÉÔÅ ÐÏÌÕÞÁÔØ ÏÂÎÏ×ÌÅÎÉÑ ÉÚ +éÎÔÅÒÎÅÔÁ, ÚÁÐÕÓÔÉÔÅ ÓÌÅÄÕÀÝÕÀ ËÏÍÁÎÄÕ (\emph{ÐÏÓÌÅ} ÄÏÂÁ×ÌÅÎÉÑ +ÐÒÏÇÒÁÍÍ \TL\ Ë ÓÐÉÓËÕ ÐÏÉÓËÁ ÐÒÏÇÒÁÍÍ, ÓÍ. ÐÒÅÄÙÄÕÝÉÊ ÒÁÚÄÅÌ): + +\begin{alltt} +> \Ucom{tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet} +\end{alltt} + +ïÎÁ ÕËÁÚÙ×ÁÅÔ ÐÒÏÇÒÁÍÍÅ \prog{tlmgr}, ÞÔÏ ÎÕÖÎÏ ÉÓËÁÔØ ÏÂÎÏ×ÌÅÎÉÑ +ÎÁ ÂÌÉÖÁÊÛÅÍ ÚÅÒËÁÌÅ \CTAN. + +åÓÌÉ Á×ÔÏÍÁÔÉÞÅÓËÉÊ ×ÙÂÏÒ ÚÅÒËÁÌÁ ÎÅ ÒÁÂÏÔÁÅÔ, ×Ù ÍÏÖÅÔÅ ÕËÁÚÁÔØ ÁÄÒÅÓ +ÚÅÒËÁÌÁ ×ÒÕÞÎÕÀ, ×ÚÑ× ÅÇÏ ÉÚ ÓÐÉÓËÁ ÎÁ \url{http://ctan.org/mirrors}. +úÁÄÁÊÔÅ ÐÒÉ ÜÔÏÍ ÔÏÞÎÏÅ ÐÏÌÏÖÅÎÉÅ ÄÉÒÅËÔÏÒÉÉ \dirname{tlnet}, ËÁË +ÕËÁÚÁÎÏ ×ÙÛÅ. + + +\htmlanchor{xetexfontconfig} % keep historical anchor working +\htmlanchor{sysfontconfig} +\subsubsection{îÁÓÔÒÏÊËÁ ÛÒÉÆÔÏ× ÄÌÑ ÐÒÏÇÒÁÍÍ \XeTeX\ É Lua\TeX} +\label{sec:font-conf-sys} + +\XeTeX\ É Lua\TeX\ ÍÏÇÕÔ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÓÅ ÛÒÉÆÔÙ, ÕÓÔÁÎÏ×ÌÅÎÎÙÅ × +×ÁÛÅÊ ÓÉÓÔÅÍÅ, ÎÅ ÔÏÌØËÏ ÔÅ, ËÏÔÏÒÙÅ ÎÁÈÏÄÑÔÓÑ × ÄÉÒÅËÔÏÒÉÑÈ \TeX Á. +ïÎÉ ÜÔÏ ÄÅÌÁÀÔ ÐÒÉ ÐÏÍÏÝÉ ÐÏÈÏÖÉÈ, ÎÏ ÞÕÔØ-ÞÕÔØ ÒÁÚÎÙÈ ÍÅÔÏÄÏ×. + +ðÏÄ Windows ÛÒÉÆÔÙ, ×ËÌÀÞÅÎÎÙÅ × ÄÉÓÔÒÉÂÕÔÉ× \TL, Á×ÔÏÍÁÔÉÞÅÓËÉ +ÄÏÓÔÕÐÎÙ × \XeTeX Å. îÏ ÅÓÌÉ ×Ù ÕÓÔÁÎÏ×ÉÌÉ ÐÁËÅÔ \filename{xetex} ÐÏÄ +UNIX, ÔÏ ×ÁÍ ÎÕÖÎÏ ÎÁÓÔÒÏÉÔØ ×ÁÛÕ ÓÉÓÔÅÍÕ, ÞÔÏÂÙ \XeTeX{} ÍÏÇ ÎÁÊÔÉ +ÛÒÉÆÔÙ \TL\ ÐÏ ÎÁÚ×ÁÎÉÀ ÛÒÉÆÔÁ, Á ÎÅ ÔÏÌØËÏ ÐÏ ÉÍÅÎÉ ÆÁÊÌÁ. + +þÔÏÂÙ ÐÏÍÏÞØ ÜÔÏÍÕ, ËÏÇÄÁ ÐÁËÅÔ \pkgname{xetex} ÕÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ (ÌÉÂÏ +ÐÒÉ ÐÅÒ×ÏÎÁÞÁÌØÎÏÊ ÕÓÔÁÎÏ×ËÅ ÄÉÓÔÒÉÂÕÔÉ×Á, ÌÉÂÏ ÐÏÚÖÅ), ÏÎ ÓÏÚÄÁÅÔ +ÎÅÏÂÈÏÄÉÍÙÊ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ × +\filename{TEXMFSYSVAR/fonts/conf/texlive-fontconfig.conf}. + +åÓÌÉ ×Ù ÏÂÌÁÄÁÅÔÅ ÐÒÁ×ÁÍÉ ÁÄÍÉÎÉÓÔÒÁÔÏÒÁ, ÔÏ ÄÌÑ ÔÏÇÏ, ÞÔÏÂÙ ÛÒÉÆÔÙ +\TL{} ÂÙÌÉ ÄÏÓÔÕÐÎÙ ×ÓÅÍ ÐÒÏÇÒÁÍÍÁÍ, ÓÄÅÌÁÊÔÅ ÓÌÅÄÕÀÝÅÅ: +\begin{enumerate*} +\item óËÏÐÉÒÕÊÔÅ ÆÁÊÌ \filename{texlive-fontconfig.conf} × +\dirname{/etc/fonts/conf.d/09-texlive.conf}. +\item úÁÐÕÓÔÉÔÅ \Ucom{fc-cache -fsv}. +\end{enumerate*} + +åÓÌÉ Õ ×ÁÓ ÎÅÔ ÐÒÁ× ÁÄÍÉÎÉÓÔÒÁÔÏÒÁ, ÔÏ ×Ù ÍÏÖÅÔÅ ×ÍÅÓÔÏ ÜÔÏÇÏ ÓÄÅÌÁÔØ +ÛÒÉÆÔÙ \TL{} ÄÏÓÔÕÐÎÙÍÉ ÔÏÌØËÏ ×ÁÍ: +\begin{enumerate*} +\item óËÏÐÉÒÕÊÔÅ ÆÁÊÌ \filename{texlive-fontconfig.conf} × + \filename{~/.fonts.conf}, ÇÄÅ \filename{~} "---~×ÁÛÁ ÄÏÍÁÛÎÑÑ + ÄÉÒÅËÔÏÒÉÑ. +\item úÁÐÕÓÔÉÔÅ \Ucom{fc-cache -fv}. +\end{enumerate*} + +þÔÏÂÙ ÐÏÓÍÏÔÒÅÔØ ÎÁÚ×ÁÎÉÑ ÓÉÓÔÅÍÎÙÈ ÛÒÉÆÔÏ×, ×Ù ÍÏÖÅÔÅ ÚÁÐÕÓÔÉÔØ +ÐÒÏÇÒÁÍÍÕ \code{fc-list}. íÏÖÎÏ ÐÏÌÕÞÉÔØ ÍÎÏÇÏ ÉÎÔÅÒÅÓÎÏÊ ÉÎÆÏÒÍÁÃÉÉ, +ÚÁÐÕÓÔÉ× Å£ ËÁË \code{fc-list : family style file spacing} (×ÓÅ +ÁÒÇÕÍÅÎÔÙ---ÔÅËÓÔÏ×ÙÅ ÓÔÒÏËÉ). + +\subsubsection{\ConTeXt{} Mark IV} +\label{sec:context-mkiv} + +ëÁË <<ÓÔÁÒÙÊ>> \ConTeXt{}(Mark \acro{II}), ÔÁË É <<ÎÏ×ÙÊ> \ConTeXt{} +(Mark \acro{IV}) ÄÏÌÖÎÙ ÒÁÂÏÔÁÔØ <<ÉÚ ËÏÒÏÂËÉ>> ÐÏÓÌÅ ÕÓÔÁÎÏ×ËÉ \TL{} +É ÐÏÓÌÅ ÏÂÎÏ×ÌÅÎÉÑ ÓÉÓÔÅÍÙ ÐÒÉ ÐÏÍÏÝÉ \verb+tlmgr+. + +ïÄÎÁËÏ ÔÁË ËÁË \ConTeXt{} Mk\acro{IV} ÎÅ ÉÓÐÏÌØÚÕÅÔ ÂÉÂÌÉÏÔÅËÕ +\verb+kpathsea+, ÐÏÓÌÅ ÕÓÔÁÎÏ×ËÉ ÎÏ×ÙÊ ÆÁÊÌÏ× ×ÒÕÞÎÕÀ (\emph{ÎÅ} ÐÒÉ +ÐÏÍÏÝÉ \verb+tlmgr+) ÎÕÖÎÙ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÄÅÊÓÔ×ÉÑ. ëÁÖÄÙÊ +ÐÏÌØÚÏ×ÁÔÅÌØ Mk\acro{IV} ÄÏÌÖÅÎ ÐÏÓÌÅ ÔÁËÏÇÏ ÏÂÎÏ×ÌÅÎÉÑ ÚÁÐÕÓÔÉÔØ +\begin{sverbatim} +context --generate +\end{sverbatim} +ÞÔÏÂÙ ÏÂÎÏ×ÉÔØ ÂÁÚÕ ÄÁÎÎÙÈ \ConTeXt{}. ðÏÌÕÞÉ×ÛÉÅÓÑ ÆÁÊÌÙ ÂÕÄÕÔ +ÕÓÔÁÎÏ×ÌÅÎÙ × ÄÉÒÅËÔÏÒÉÉ \code{TEXMFCACHE}. ÷ \TL\ ÜÔÁ ÄÉÒÅËÔÏÒÉÑ +ÓÏ×ÐÁÄÁÅÔ Ó \code{TEXMFVAR}. + +\ConTeXt\ Mk\acro{IV} ÞÉÔÁÅÔ ÆÁÊÌÙ ÉÚ ×ÓÅÈ ÄÉÒÅËÔÏÒÉÊ, ÚÁÄÁÎÎÙÈ +ÐÅÒÅÍÅÎÎÏÊ \verb+TEXMFCACHE+ É ÐÉÛÅÔ × ÐÅÒ×ÕÀ ÄÉÒÅËÔÏÒÉÀ × ÓÐÉÓËÅ, × +ËÏÔÏÒÏÊ Õ ÎÅÇÏ ÅÓÔØ ÐÒÁ×Á ÎÁ ÚÁÐÉÓØ. ðÒÉ ÞÔÅÎÉÉ × ÓÌÕÞÁÅ ÄÕÂÌÉÒÕÀÝÉÈ +ÚÁÐÉÓÅÊ ÉÍÅÅÔ ÐÒÅÉÍÕÝÅÓÔ×Ï ÐÏÓÌÅÄÎÑÑ ÐÒÏÞÉÔÁÎÎÁÑ ÚÁÐÉÓØ. + +óÍ. ÔÁËÖÅ +\url{http://wiki.contextgarden.net/Running_Mark_IV}. + + +\subsubsection{äÏÂÁ×ÌÅÎÉÅ ÌÉÞÎÙÈ É ÌÏËÁÌØÎÙÈ ÐÁËÅÔÏ×} +\label{sec:local-personal-macros} + +üÔÏÔ ×ÏÐÒÏÓ ÕÖÅ ÏÂÓÕÖÄÁÌÓÑ × ÒÁÚÄÅÌÅ~\ref{sec:texmftrees}: ÄÌÑ +ÌÏËÁÌØÎÙÈ ÛÒÉÆÔÏ× É ÐÁËÅÔÏ×, ÏÂÝÉÈ Õ ×ÓÅÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ, +ÐÒÅÄÎÁÚÎÁÞÅÎÁ ÄÉÒÅËÔÏÒÉÑ +\dirname{TEXMFLOCAL} (ÐÏ ÕÍÏÌÞÁÎÉÀ, +\dirname{/usr/local/texlive/texmf-local} ÉÌÉ +\verb|%SystemDrive%\texlive\texmf-local|), Á ÄÌÑ ÌÉÞÎÙÈ ÛÒÉÆÔÏ× É +ÐÁËÅÔÏ× "--- ÄÉÒÅËÔÏÒÉÑ \dirname{TEXMFHOME} (ÐÏ ÕÍÏÌÞÁÎÉÀ, +\dirname{$HOME/texmf} ÉÌÉ \verb|%USERPROFILE%\texmf|). üÔÉ ÄÉÒÅËÔÏÒÉÉ +ÐÒÅÄÐÏÌÁÇÁÀÔÓÑ ÏÂÝÉÍÉ ÄÌÑ ×ÓÅÈ ×ÅÒÓÉÊ \TL{}, É ËÁÖÄÁÑ ×ÅÒÓÉÑ \TL{} +×ÉÄÉÔ ÉÈ Á×ÔÏÍÁÔÉÞÅÓËÉ. ðÏÜÔÏÍÕ ÍÙ ÎÅ ÒÅËÏÍÅÎÄÕÅÍ ÍÅÎÑÔØ ÚÎÁÞÅÎÉÅ +\dirname{TEXMFLOCAL}, ÉÎÁÞÅ ×ÁÍ ÐÒÉÄÅÔÓÑ ÄÅÌÁÔØ ÜÔÏ ÄÌÑ ËÁÖÄÏÊ ÎÏ×ÏÊ +×ÅÒÓÉÉ. + +æÁÊÌÙ × ÏÂÅÉÈ ÄÉÒÅËÔÏÒÉÑÈ ÄÏÌÖÎÙ ÎÁÈÏÄÉÔØÓÑ × ÐÒÁ×ÉÌØÎÙÈ +ÐÏÄÄÉÒÅËÔÏÒÉÑÈ; ÓÍ. \url{http://tug.org/tds} É +\filename{texmf/web2c/texmf.cnf}. îÁÐÒÉÍÅÒ, \LaTeX Ï×ÓËÉÊ ËÌÁÓÓ ÉÌÉ +ÐÁËÅÔ ÄÏÌÖÅÎ ÎÁÈÏÄÉÔØÓÑ × ÄÉÒÅËÔÏÒÉÉ \dirname{TEXMFLOCAL/tex/latex} ÉÌÉ +\dirname{TEXMFHOME/tex/latex} ÉÌÉ ËÁËÏÊ-ÌÉÂÏ ÉÚ ÉÈ ÐÏÄÄÉÒÅËÔÏÒÉÊ. + +äÌÑ ÄÉÒÅËÔÏÒÉÉ \dirname{TEXMFLOCAL} ÄÏÌÖÎÁ ÐÏÄÄÅÒÖÉ×ÁÔØÓÑ ÂÁÚÁ ÄÁÎÎÙÈ +Ï ÆÁÊÌÁÈ, ÉÎÁÞÅ ÓÉÓÔÅÍÁ ÎÅ ÓÍÏÖÅÔ ÎÁÊÔÉ ÔÁÍ ÎÕÖÎÙÅ ÆÁÊÌÙ. üÔÁ ÂÁÚÁ +ÏÂÎÏ×ÌÑÅÔÓÑ ËÏÍÁÎÄÏÊ \cmdname{mktexlsr} ÉÌÉ ËÎÏÐËÏÊ <<Reinit file +database>> × ÇÒÁÆÉÞÅÓËÏÍ ÒÅÖÉÍÅ ÐÒÏÇÒÁÍÍÙ \prog{tlmgr}. + +ðÏ ÕÍÏÌÞÁÎÉÀ, ËÁÖÄÁÑ ÉÚ ÜÔÉÈ ÐÅÒÅÍÅÎÎÙÈ ÕËÁÚÙ×ÁÅÔ ÎÁ ÏÄÎÕ ÄÉÒÅËÔÏÒÉÀ, +ËÁË × ÎÁÛÅÍ ÐÒÉÍÅÒÅ. ïÄÎÁËÏ ÜÔÏ ÎÅ ÏÂÑÚÁÔÅÌØÎÏÅ ÔÒÅÂÏ×ÁÎÉÅ. åÓÌÉ ×ÁÍ +ÎÕÖÎÏ, ÎÁÐÒÉÍÅÒ, ÐÏÄÄÅÒÖÉ×ÁÔØ ÎÅÓËÏÌØËÏ ×ÅÒÓÉÊ ÂÏÌØÛÉÈ ÐÁËÅÔÏ×, ×Ù +ÍÏÖÅÔÅ ÚÁÈÏÔÅÔØ ÉÍÅÔØ ÎÅÓËÏÌØËÏ ÄÅÒÅ×ØÅ× ÄÉÒÅËÔÏÒÉÊ. ôÏÇÄÁ ×Ù ÍÏÖÅÔÅ +ÏÐÒÅÄÅÌÉÔØ \dirname{TEXMFHOME} ËÁË ÎÁÂÏÒ ÄÉÒÅËÔÏÒÉÊ × ÆÉÇÕÒÎÙÈ +ÓËÏÂËÁÈ, ÒÁÚÄÅÌÅÎÎÙÈ ÚÁÐÑÔÙÍÉ: + +\begin{verbatim} + TEXMFHOME = {/my/dir1,/mydir2,/a/third/dir} +\end{verbatim} + +ðÏÄÒÏÂÎÅÅ ÜÔÉ ×ÏÐÒÏÓÙ ÏÂßÑÓÎÑÀÔÓÑ × +ÒÁÚÄÅÌÅ~\ref{sec:brace-expansion}. + +\subsubsection{äÏÂÁ×ÌÅÎÉÅ ÎÏ×ÙÈ ÛÒÉÆÔÏ×} + +ë ÓÏÖÁÌÅÎÉÀ, ÜÔÏ ÏÞÅÎØ ÓÌÏÖÎÁÑ ÚÁÄÁÞÁ. îÅ ÄÅÌÁÊÔÅ ÜÔÏÇÏ, ÅÓÌÉ ×Ù ÎÅ +ÚÎÁÅÔÅ \TeX Á ËÁË Ó×ÏÉ ÐÑÔØ ÐÁÌØÃÅ×. îÅ ÚÁÂÕÄØÔÅ ÓÎÁÞÁÌÁ ÐÒÏ×ÅÒÉÔØ, +ËÁËÉÅ ÛÒÉÆÔÙ Õ ×ÁÓ ÕÖÅ ÅÓÔØ, ÓÍ. ÒÁÚÄÅÌ~\ref{sec:tl-fonts}. + +÷ÏÚÍÏÖÎÁÑ ÁÌØÔÅÒÎÁÔÉ×Á "--- ÐÒÏÇÒÁÍÍÁ \XeTeX{} (ÓÍ. +ÒÁÚÄÅÌ~\ref{sec:tex-extensions}), ËÏÔÏÒÁÑ ÐÏÚ×ÏÌÑÅÔ Á×ÔÏÍÁÔÉÞÅÓËÉ +ÉÓÐÏÌØÚÏ×ÁÔØ × \TeX Å ÛÒÉÆÔÙ ×ÁÛÅÊ ÏÐÅÒÁÃÉÏÎÎÏÊ ÓÉÓÔÅÍÙ. + +åÓÌÉ ×ÁÍ ×ÓÅ ÖÅ ÎÕÖÎÏ ÄÏÂÁ×ÉÔØ ÛÒÉÆÔÙ, ÔÏ ÐÏÓÍÏÔÒÉÔÅ +ÓÔÒÁÎÉÃÕ \url{http://tug.org/fonts/fontinstall.html} "---~ÜÔÏ ÌÕÞÛÅÅ, +ÞÔÏ ÍÙ ÓÍÏÇÌÉ ÎÁÐÉÓÁÔØ ÐÏ ÜÔÏÍÕ ÐÏ×ÏÄÕ. åÓÌÉ ×Ù ÐÒÁ×ÉÌØÎÏ +ÐÏÄÄÅÒÖÉ×ÁÅÔÅ ËÁÒÔÙ ÛÒÉÆÔÏ×, \texttt{tlmgr generate updmap} +\textit{ÍÏÖÅÔ} ÏËÁÚÁÔØÓÑ ÐÏÌÅÚÎÏÊ, ÏÓÏÂÅÎÎÏ ÐÒÉ ÐÅÒÅÈÏÄÅ ÎÁ ÎÏ×ÕÀ +×ÅÒÓÉÀ \TL; ÓÍ. ÄÏËÕÍÅÎÔÁÃÉÀ ÐÒÏÇÒÁÍÍÙ \cmdname{tlmgr}. + + +\subsection{ôÅÓÔÉÒÏ×ÁÎÉÅ ÓÉÓÔÅÍÙ} +\label{sec:test-install} + + +ðÏÓÌÅ ÕÓÔÁÎÏ×ËÉ \TL{} ×Ù, ÓËÏÒÅÅ ×ÓÅÇÏ, ÚÁÈÏÔÉÔÅ ÐÒÏ×ÅÒÉÔØ ÒÁÂÏÔÕ +ÓÉÓÔÅÍÙ, Á ÕÖÅ ÚÁÔÅÍ ÐÅÒÅÊÔÉ Ë ÓÏÚÄÁÎÉÀ ÐÒÅËÒÁÓÎÙÈ ÄÏËÕÍÅÎÔÏ× É/ÉÌÉ +ÛÒÉÆÔÏ×. + +÷ ÜÔÏÍ ÒÁÚÄÅÌÅ ÏÐÉÓÙ×ÁÀÔÓÑ ÏÓÎÏ×ÎÙÅ ÐÒÏÃÅÄÕÒÙ ÐÏ ÔÅÓÔÉÒÏ×ÁÎÉÀ ÓÉÓÔÅÍÙ. +íÙ ÐÒÉ×ÏÄÉÍ ËÏÍÁÎÄÙ ÄÌÑ ÏÐÅÒÁÃÉÏÎÎÙÈ ÓÉÓÔÅÍ ÔÉÐÁ Unix; ÐÏÄ \MacOSX{} É +Windows ×Ù, ÓËÏÒÅÅ ×ÓÅÇÏ, ÂÕÄÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÇÒÁÆÉÞÅÓËÉÊ ÉÎÔÅÒÆÅÊÓ, +ÎÏ ÐÒÉÎÃÉÐ ÔÏÔ ÖÅ. + + +\begin{enumerate} + +\item óÎÁÞÁÌÁ ÐÒÏ×ÅÒØÔÅ, ÞÔÏ ×Ù ÍÏÖÅÔÅ ÚÁÐÕÓËÁÔØ ÐÒÏÇÒÁÍÍÕ + \cmdname{tex}: + +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.1415926 (TeX Live ...) +kpathsea version 6.0.1 +Copyright ... D.E. Knuth. +... +\end{alltt} +åÓÌÉ ×Ù ÐÏÌÕÞÁÅÔÅ × ÏÔ×ÅÔ <<command not found>> ×ÍÅÓÔÏ ÎÏÍÅÒÁ ×ÅÒÓÉÉ É +ÉÎÆÏÒÍÁÃÉÉ Ï ËÏÐÉÒÁÊÔÅ, Õ ×ÁÓ, ÓËÏÒÅÅ ×ÓÅÇÏ, ÎÅÔ ÄÉÒÅËÔÏÒÉÉ Ó ÎÕÖÎÙÍÉ +ÐÒÏÇÒÁÍÍÁÍÉ × ÐÅÒÅÍÅÎÎÏÊ \envname{PATH}. óÍ. ÏÂÓÕÖÄÅÎÉÅ ÎÁ +ÓÔÒÁÎÉÃÅ~\pageref{sec:env}. + + +\item óËÏÍÐÉÌÉÒÕÊÔÅ ÐÒÏÓÔÏÊ \LaTeX{}Ï×ÓËÉÊ ÆÁÊÌ: +\begin{alltt} +> \Ucom{latex sample2e.tex} +pdfTeX 3.1415926-... (TeX Live ...) +... +Output written on sample2e.dvi (3 pages, 7484 bytes). +Transcript written on sample2e.log. +\end{alltt} +åÓÌÉ ÐÒÏÇÒÁÍÍÁ ÎÅ ÍÏÖÅÔ ÎÁÊÔÉ \filename{sample2e.tex} ÉÌÉ ÄÒÕÇÉÅ +ÆÁÊÌÙ, ×ÏÚÍÏÖÎÏ, Õ ×ÁÓ ÏÓÔÁÌÉÓØ ÓÌÅÄÙ ÏÔ ÓÔÁÒÏÊ ÕÓÔÁÎÏ×ËÉ: ÐÅÒÅÍÅÎÎÙÅ +ÏËÒÕÖÅÎÉÑ ÉÌÉ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÅ ÆÁÊÌÙ. íÙ ÒÅËÏÍÅÎÄÕÅÍ ÓÎÁÞÁÌÁ ÕÂÒÁÔØ +×ÓÅ ÐÅÒÅÍÅÎÎÙÅ ÏËÒÕÖÅÎÉÑ, ÏÔÎÏÓÑÝÉÅÓÑ Ë \TeX Õ. (äÌÑ ÏÔÌÁÄËÉ ×Ù ×ÓÅÇÄÁ ÍÏÖÅÔÅ +ÐÏÐÒÏÓÉÔØ \TeX{} ÔÏÞÎÏ ÓËÁÚÁÔØ, ÞÔÏ ÉÍÅÎÎÏ ÏÎ ÉÝÅÔ; ÓÍ. <<ïÔÌÁÄËÁ>> ÎÁ +ÓÔÒ.~\pageref{sec:debugging}.) + +\item ðÏÓÍÏÔÒÉÔÅ ÒÅÚÕÌØÔÁÔ ÎÁ ÜËÒÁÎÅ: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} # Unix +> \Ucom{dviout sample2e.dvi} # Windows +\end{alltt} +÷Ù ÄÏÌÖÎÙ Õ×ÉÄÅÔØ ÎÏ×ÏÅ ÏËÎÏ Ó ËÒÁÓÉ×Ï Ó×£ÒÓÔÁÎÎÙÍ ÄÏËÕÍÅÎÔÏÍ, +ÏÂßÑÓÎÑÀÝÉÍ ÏÓÎÏ×Ù \LaTeX{}Á. (ëÓÔÁÔÉ, ÅÓÌÉ ×Ù "--- ÎÏ×ÉÞÏË, ×ÁÍ +ÓÔ\'ÏÉÔ ÅÇÏ ÐÒÏÞÅÓÔØ.) þÔÏÂÙ ÐÒÏÇÒÁÍÍÁ \cmdname{xdvi} ÍÏÇÌÁ +ÚÁÐÕÓÔÉÔØÓÑ, ×Ù ÄÏÌÖÎÙ ÂÙÔØ × ÓÒÅÄÅ X Window; ÅÓÌÉ ÜÔÏ ÎÅ ÔÁË, ÉÌÉ +ÅÓÌÉ ÐÅÒÅÍÅÎÎÁÑ \envname{DISPLAY} ÕÓÔÁÎÏ×ÌÅÎÁ ÎÅÐÒÁ×ÉÌØÎÏ, ×Ù Õ×ÉÄÉÔÅ +ÏÛÉÂËÕ \samp{Can't open display}. + +\item óÏÚÄÁÊÔÅ ÆÁÊÌ × ÆÏÒÍÁÔÅ \PS{} ÄÌÑ ÐÅÞÁÔÉ ÉÌÉ ÐÒÏÓÍÏÔÒÁ ÎÁ ÜËÒÁÎÅ: +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item óÏÚÄÁÊÔÅ ÆÁÊÌ × ÆÏÒÍÁÔÅ \acro{PDF} ×ÍÅÓÔÏ \dvi{}; ËÏÍÁÎÄÁ ÎÉÖÅ + ËÏÍÐÉÌÉÒÕÅÔ ÆÁÊÌ \filename{.tex} É ÓÏÚÄÁ£Ô \acro{PDF}: +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item ðÏÓÍÏÔÒÉÔÅ ÒÅÚÕÌØÔÁÔ ÎÁ ÜËÒÁÎÅ: +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{ÉÌÉ:} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} +ë ÓÏÖÁÌÅÎÉÀ, ÎÉ \cmdname{gv}, ÎÉ \cmdname{xpdf} ÎÅ ×ËÌÀÞÅÎÙ × ÔÅËÕÝÕÀ +×ÅÒÓÉÀ \TL{}, ÔÁË ÞÔÏ ×ÁÍ ÐÒÉÄ£ÔÓÑ ÕÓÔÁÎÁ×ÌÉ×ÁÔØ ÉÈ +ÏÔÄÅÌØÎÏ. óÍ. ÓÏÏÔ×ÅÔÓÔ×ÅÎÎÏ +\url{http://www.gnu.org/software/gv} É +\url{http://www.foolabs.com/xpdf}. òÁÚÕÍÅÅÔÓÑ, ÅÓÔØ É ÍÎÏÇÏ ÄÒÕÇÉÈ +ÐÒÏÇÒÁÍÍ ÄÌÑ ÐÒÏÓÍÏÔÒÁ ÆÁÊÌÏ× × ÆÏÒÍÁÔÅ \acro{PDF}. ðÏÌØÚÏ×ÁÔÅÌÑÍ +Windows ÍÙ ÒÅËÏÍÅÎÄÕÅÍ Sumatra PDF +(\url{http://blog.kowalczyk.info/software/sumatrapdf}). + +\item äÒÕÇÉÅ ÓÔÁÎÄÁÒÔÎÙÅ ÔÅÓÔÏ×ÙÅ ÆÁÊÌÙ, ËÏÔÏÒÙÅ ×ÁÍ ÍÏÇÕÔ ÐÒÉÇÏÄÉÔØÓÑ: + +\begin{ttdescription} +\item [small2e.tex] âÏÌÅÅ ÐÒÏÓÔÏÊ ÄÏËÕÍÅÎÔ, ÞÅÍ \filename{sample2e}, + ÕÄÏÂÎÙÊ, ÅÓÌÉ ÐÏÓÌÅÄÎÉÊ ÓÌÉÛËÏÍ ×ÅÌÉË ÄÌÑ ×ÁÓ. +\item [testpage.tex] ðÒÏ×ÅÒÑÅÔ ÐÏÌÑ É ÐÏÚÉÃÉÏÎÉÒÏ×ÁÎÉÅ ÂÕÍÁÇÉ ÄÌÑ + ×ÁÛÅÇÏ ÐÒÉÎÔÅÒÁ. +\item [nfssfont.tex] éÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÐÅÞÁÔÉ ÔÁÂÌÉà ÛÒÉÆÔÏ× É ÔÅÓÔÏ×. +\item [testfont.tex] ðÅÞÁÔØ ÔÁÂÌÉà ÛÒÉÆÔÏ× ÐÏÄ plain \TeX{}. +\item [story.tex] óÁÍÙÊ ËÁÎÏÎÉÞÅÓËÉÊ ÆÁÊÌ × ÆÏÒÍÁÔÅ (plain) \TeX. ÷Ù + ÄÏÌÖÎÙ ÎÁÐÅÞÁÔÁÔØ \samp{\bs bye} × ÏÔ×ÅÔ ÎÁ ÐÒÉÇÌÁÛÅÎÉÅ \code{*} + ÐÏÓÌÅ \samp{tex story.tex}. +\end{ttdescription} + +\item åÓÌÉ ×Ù ÕÓÔÁÎÏ×ÉÌÉ ÐÁËÅÔ \filename{xetex}, ×Ù ÍÏÖÅÔÅ ÐÒÏ×ÅÒÉÔØ, + ÄÏÓÔÕÐÎÙ ÌÉ ÅÍÕ ÓÉÓÔÅÍÎÙÅ ÛÒÉÆÔÙ: +\begin{alltt} +> \Ucom{xetex opentype-info.tex} +This is XeTeX, Version 3.1415926\dots +... +Output written on opentype-info.pdf (1 page). +Transcript written on opentype-info.log. +\end{alltt} +(ÉÌÉ ÁÎÁÌÏÇÉÞÎÏ ÄÌÑ \filename{luatex}.) + +åÓÌÉ ×Ù ÐÏÌÕÞÉÔÅ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ: <<Invalid fontname `Latin Modern +Roman/ICU'\dots>>, ÔÏ ×ÁÍ ÎÕÖÎÏ ÎÁÓÔÒÏÉÔØ ÓÉÓÔÅÍÕ, ÞÔÏÂÙ \XeTeX{} ÍÏÇ +ÎÁÊÔÉ ÛÒÉÆÔÙ \TL. óÍ. ÒÁÚÄÅÌ~\ref{sec:font-conf-sys}. + +\end{enumerate} + +\subsection{óÓÙÌËÉ ÎÁ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÐÒÏÇÒÁÍÍÙ} + +åÓÌÉ ×Ù ÎÏ×ÉÞÏË × \TeX{}Å, ÉÌÉ ×ÁÍ ÎÕÖÎÁ ÐÏÍÏÝØ × ÓÏÚÄÁÎÉÉ ÄÏËÕÍÅÎÔÏ× +ÎÁ ÑÚÙËÅ \TeX{} ÉÌÉ \LaTeX{}, ÐÏÓÅÔÉÔÅ +\url{http://tug.org/begin.html}. + + +÷ÏÔ ÓÓÙÌËÉ ÎÁ ÎÅËÏÔÏÒÙÅ ÄÒÕÇÉÅ ÐÒÏÇÒÁÍÍÙ, ËÏÔÏÒÙÅ ×ÁÍ ÍÏÇÕÔ +ÐÒÉÇÏÄÉÔØÓÑ: +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.perl.org/} Ó ÄÏÐÏÌÎÉÔÅÌØÎÙÍÉ + ÐÁËÅÔÁÍÉ ÉÚ ÁÒÈÉ×Á \acro{CPAN}, \url{http://www.cpan.org/} +\item[ImageMagick] \url{http://www.imagemagick.com}, ÄÌÑ + ËÏÎ×ÅÒÔÉÒÏ×ÁÎÉÑ É ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ ÇÒÁÆÉËÉ. +\item[NetPBM] \url{http://netpbm.sourceforge.net/}, ÔÏÖÅ ÄÌÑ ÇÒÁÆÉËÉ. + +\item[òÅÄÁËÔÏÒÙ ÄÌÑ \TeX Á] éÈ ÏÞÅÎØ ÍÎÏÇÏ, É ×ÙÂÏÒ ÉÈ "--- ÄÅÌÏ + ×ËÕÓÁ. ÷ÏÔ ÎÅÓËÏÌØËÏ ÉÚ ÎÉÈ (ÎÅËÏÔÏÒÙÅ ÄÏÓÔÕÐÎÙ ÔÏÌØËÏ ÄÌÑ Windows): + \begin{itemize*} + \item \cmdname{GNU Emacs} ÅÓÔØ ÄÌÑ Windows, ÓÍ. + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html}. + \item \cmdname{Emacs} Ó Auc\TeX ÏÍ ÄÌÑ Windows ÅÓÔØ × ÄÉÒÅËÔÏÒÉÉ + \path{tlpkg/support} ÎÁ \DVD{} \TL{}; ÅÇÏ ÓÔÒÁÎÉÃÁ ÎÁ ÓÅÔÉ: + \url{http://www.gnu.org/software/auctex}. + \item \cmdname{LEd} ÍÏÖÎÏ ÓËÁÞÁÔØ Ó \url{http://www.ctan.org/support/LEd}. + \item \cmdname{SciTE} ÍÏÖÎÏ ÓËÁÞÁÔØ Ó + \url{http://www.scintilla.org/SciTE.html}. + \item \cmdname{Texmaker} "---~ÜÔÏ Ó×ÏÂÏÄÎÁÑ ÐÒÏÇÒÁÍÍÁ, ËÏÔÏÒÕÀ ÍÏÖÎÏ + ÓËÁÞÁÔØ Ó \url{http://www.xm1math.net/texmaker/}. + \item TeXnicCenter "---~ÜÔÏ Ó×ÏÂÏÄÎÁÑ ÐÒÏÇÒÁÍÍÁ, ËÏÔÏÒÕÀ ÍÏÖÎÏ ÓËÁÞÁÔØ Ó + \url{http://www.toolscenter.org} É × ÄÉÓÔÒÉÂÕÔÉ×Å pro\TeX{}t. + \item \cmdname{TeXworks} "---~ÜÔÏ Ó×ÏÂÏÄÎÁÑ ÐÒÏÇÒÁÍÍÁ, ËÏÔÏÒÕÀ ÍÏÖÎÏ + ÓËÁÞÁÔØ Ó + \url{http://tug.org/texworks}. å£ ×ÅÒÓÉÉ ÄÌÑ Windows É + \MacOSX\ ×ÈÏÄÑÔ × \TL. + \item \cmdname{Vim} "---~ÜÔÏ Ó×ÏÂÏÄÎÁÑ ÐÒÏÇÒÁÍÍÁ, ËÏÔÏÒÕÀ ÍÏÖÎÏ ÓËÁÞÁÔØ Ó + \url{http://www.vim.org}. + \item \cmdname{WinEdt} ÜÔÏ shareware. üÔÕ ÐÒÏÇÒÁÍÍÕ ÍÏÖÎÏ ÓËÁÞÁÔØ Ó + \url{http://tug.org/winedt} ÉÌÉ + \url{http://www.winedt.com}. + \item \cmdname{WinShell} ÍÏÖÎÏ ÓËÁÞÁÔØ Ó \url{http://www.winshell.de}. + \end{itemize*} +\end{description} + +çÏÒÁÚÄÏ ÂÏÌÅÅ ÐÏÌÎÙÊ ÌÉÓÔ ÐÒÏÇÒÁÍÍ É ÐÁËÅÔÏ× ÎÁÈÏÄÉÔÓÑ ÎÁ +\url{http://tug.org/interest.html}. + +\section{õÓÔÁÎÏ×ËÁ ÓÉÓÔÅÍÙ × ÏÓÏÂÙÈ ÓÌÕÞÁÑÈ} + +÷ ÐÒÅÄÙÄÕÝÉÈ ÒÁÚÄÅÌÁÈ ÏÐÉÓÙ×ÁÌÉÓØ ÏÓÎÏ×Ù ÐÒÏÃÅÓÓÁ ÕÓÔÁÎÏ×ËÉ \TL. +úÄÅÓØ ÍÙ ÏÓÔÁÎÏ×ÉÍÓÑ ÎÁ ÎÅÓËÏÌØËÉÈ ÏÓÏÂÙÈ ÓÌÕÞÁÑÈ. + +\htmlanchor{tlsharedinstall} +\subsection{õÓÔÁÎÏ×ËÁ × ÌÏËÁÌØÎÏÊ ÓÅÔÉ} +\label{sec:sharedinstall} + +\TL{} ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÏÄÎÏ×ÒÅÍÅÎÎÏ ÒÁÚÎÙÍÉ ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ ÉÌÉ +ÄÁÖÅ ÒÁÚÎÙÍÉ ÍÁÛÉÎÁÍÉ × ÌÏËÁÌØÎÏÊ ÓÅÔÉ. ÷ ÓÔÁÎÄÁÒÔÎÏÊ ÓÈÅÍÅ +ÄÉÒÅËÔÏÒÉÊ ×ÓÅ ÐÕÔÉ Ë ÆÁÊÌÁÍ Ñ×ÌÑÀÔÓÑ ÏÔÎÏÓÉÔÅÌØÎÙÍÉ: ÐÒÏÇÒÁÍÍÙ \TL{} +ÏÐÒÅÄÅÌÑÀÔ, ÇÄÅ ÌÅÖÁÔ ÎÕÖÎÙÅ ÉÍ ÆÁÊÌÙ, ÉÓÈÏÄÑ ÉÚ ÔÏÇÏ, ÇÄÅ ÏÎÉ +ÎÁÈÏÄÑÔÓÑ ÓÁÍÉ. ÷Ù ÍÏÖÅÔÅ Õ×ÉÄÅÔØ, ËÁË ÜÔÏ ÄÅÌÁÅÔÓÑ, ÐÏÓÍÏÔÒÅ× +ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ \filename{$TEXMFMAIN/web2c/texmf.cnf} ÓÏ +ÓÔÒÏÞËÁÍÉ ÔÉÐÁ +\begin{sverbatim} +TEXMFMAIN = $SELFAUTOPARENT/texmf +... +TEXMFLOCAL = $SELFAUTOPARENT/../texmf-local +\end{sverbatim} +üÔÏ ÏÚÎÁÞÁÅÔ, ÞÔÏ ÄÒÕÇÉÅ ÓÉÓÔÅÍÙ ÉÌÉ ÐÏÌØÚÏ×ÁÔÅÌÉ ÄÏÌÖÎÙ ÐÒÏÓÔÏ +ÄÏÂÁ×ÉÔØ ÄÉÒÅËÔÏÒÉÀ Ó ÐÒÏÇÒÁÍÍÁÍÉ \TL{} Ë ÄÉÒÅËÔÏÒÉÑÍ ÐÏÉÓËÁ. + +ôÏÞÎÏ ÔÁË ÖÅ ×Ù ÍÏÖÅÔÅ ÕÓÔÁÎÏ×ÉÔØ \TL{} ÎÁ ÏÄÉÎ ËÏÍÐØÀÔÅÒ, Á ÚÁÔÅÍ +ÐÅÒÅÎÅÓÔÉ ×ÓÀ ÉÅÒÁÒÈÉÀ ÎÁ ÌÏËÁÌØÎÕÀ ÓÅÔØ. + +ðÏÄ Windows ÓËÒÉÐÔ ÄÌÑ ÕÓÔÁÎÏ×ËÉ ÓÉÓÔÅÍÙ × ÌÏËÁÌØÎÏÊ ÓÅÔÉ ÎÁÚÙ×ÁÅÔÓÑ +\filename{w32client} É ÎÁÈÏÄÉÔÓÑ ÎÁ +\url{http://tug.org/texlive/w32client.html}. ïÎ ÄÏÂÁ×ÌÑÅÔ Ë ÕÖÅ +ÕÓÔÁÎÏ×ÌÅÎÎÏÊ ÓÉÓÔÅÍÅ \TL{} ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÒÁÂÏÔÙ × ÌÏËÁÌØÎÏÊ ÓÅÔÉ +ÉÚÍÅÎÅÎÉÑ. åÓÔØ ÔÁËÖÅ ÓËÒÉÐÔ ÄÌÑ ÕÄÁÌÅÎÉÑ ÜÔÉÈ ÉÚÍÅÎÅÎÉÊ +\filename{w32unclient}. óÍ. ÂÏÌÅÅ ÐÏÄÒÏÂÎÏÅ ÏÐÉÓÁÎÉÅ ÎÁ ÓÔÒÁÎÉÃÅ +ÓËÒÉÐÔÁ ×ÙÛÅ. + + +\htmlanchor{tlportable} +\section{õÓÔÁÎÏ×ËÁ \TL\ ÎÁ ÆÌÅÛËÕ} +\label{sec:portable-tl} + +ïÐÃÉÑ ÐÒÏÇÒÁÍÍÙ ÕÓÔÁÎÏ×ËÉ \code{-portable} (ÉÌÉ ËÏÍÁÎÄÁ \code{V} × +ÔÅËÓÔÏ×ÏÍ ÒÅÖÉÍÅ, ÉÌÉ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÊ ÐÕÎËÔ ÍÅÎÀ × ÇÒÁÆÉÞÅÓËÏÍ ÒÅÖÉÍÅ) +ÓÏÚÄÁÅÔ ÓÉÓÔÅÍÕ, +ÎÁÈÏÄÑÝÕÀÓÑ ÐÏÌÎÏÓÔØÀ × Ó×ÏÅÊ ÄÉÒÅËÔÏÒÉÉ, É ÎÅ ÉÚÍÅÎÑÅÔ ËÏÎÆÉÇÕÒÁÃÉÉ +ËÏÍÐØÀÔÅÒÁ. ÷Ù ÍÏÖÅÔÅ ÕÓÔÁÎÏ×ÉÔØ ÔÁËÕÀ ÓÉÓÔÅÍÕ ÎÁ \USB{} ÆÌÅÛËÕ ÉÌÉ × +ÏÔÄÅÌØÎÕÀ ÄÉÒÅËÔÏÒÉÀ, Á ÐÏÔÏÍ ÓËÏÐÉÒÏ×ÁÔØ Å£ ÎÁ ÆÌÅÛËÕ. + +þÔÏÂÙ ÚÁÐÕÓÔÉÔØ \TeX\ Ó ÔÁËÏÊ ÆÌÅÛËÉ, ×ÁÍ ÎÕÖÎÏ ÄÏÂÁ×ÉÔØ ÄÉÒÅËÔÏÒÉÀ Ó +ÐÒÏÇÒÁÍÍÁÍÉ Ë ÐÕÔÑÍ ÐÏÉÓËÁ ÐÒÏÇÒÁÍÍ. ðÏÄ àÎÉËÓÏÍ ÜÔÏ ÄÅÌÁÅÔÓÑ ÐÒÉ +ÐÏÍÏÝÉ ÉÚÍÅÎÅÎÉÑ ÐÅÒÅÍÅÎÎÏÊ ÏËÒÕÖÅÎÉÑ \envname{PATH}. ðÏÄ Windows ×Ù +ÍÏÖÅÔÅ ÝÅÌËÎÕÔØ ÎÁ \filename{tl-tray-menu}, ÞÔÏÂÙ ×ÙÂÒÁÔØ ÉÚ +ÎÅÓËÏÌØËÉÈ ÓÔÁÎÄÁÒÔÎÙÈ ÚÁÄÁÞ, ËÁË ÐÏËÁÚÁÎÏ ÎÉÖÅ: + +\medskip +\tlpng{tray-menu}{4cm} +\smallskip + +\noindent íÅÎÀ <<Custom Script>> ×ÙÚÙ×ÁÅÔ ÏËÏÛËÏ +Ó ÏÂßÑÓÎÅÎÉÅÍ, ËÁË ÄÏÂÁ×ÉÔØ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ×ÏÚÍÏÖÎÏÓÔÉ × ÍÅÎÀ. + +\htmlanchor{tlisoinstall} +\subsection{óÏÚÄÁÎÉÅ ÏÂÒÁÚÁ \ISO\ ÉÌÉ \DVD} +\label{sec:isoinstall} + +åÓÌÉ ×ÁÍ ÎÅ ÎÕÖÎÏ ÞÁÓÔÏ ÏÂÎÏ×ÌÑÔØ ÓÉÓÔÅÍÕ, É/ÉÌÉ Õ ×ÁÓ ÎÅÓËÏÌØËÏ +ÍÁÛÉÎ, ÎÁ ËÏÔÏÒÙÈ ×Ù ÈÏÔÉÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ \TL, ÔÏ ÄÌÑ ×ÁÓ ÍÏÖÅÔ +ÉÍÅÔØ ÓÍÙÓÌ ÓÏÚÄÁÔØ ÏÂÒÁÚ \ISO\ ÉÌÉ \DVD, ÔÁË ËÁË: + +\begin{itemize} +\item ëÏÐÉÒÏ×ÁÎÉÅ \ISO\ Ó ËÏÍÐØÀÔÅÒÁ ÎÁ ËÏÍÐØÀÔÅÒ ÂÙÓÔÒÅÅ, ÞÅÍ + ËÏÐÉÒÏ×ÁÎÉÅ ÏÂÙÞÎÏÊ ÓÉÓÔÅÍÙ. +\item åÓÌÉ ×Ù ÄÅÒÖÉÔÅ ÎÁ ÏÄÎÏÍ ËÏÍÐØÀÔÅÒÅ ÎÅÓËÏÌØËÏ ÏÐÅÒÁÃÉÏÎÎÙÈ + ÓÉÓÔÅÍ, É ÈÏÔÉÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÄÌÑ ÎÉÈ ÏÄÎÕ ËÏÐÉÀ \TL, ÔÏ ÓÏÚÄÁÔØ + ÏÂÒÁÚ ÄÉÓËÁ ÍÏÖÅÔØ ÂÙÔØ ÐÒÏÝÅ, ÞÅÍ ÕÞÉÔÙ×ÁÔØ ÏÓÏÂÅÎÎÏÓÔÉ É + ÏÇÒÁÎÉÞÅÎÉÑ ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍ ÎÁ ÏÂÝÉÈ ÒÁÚÄÅÌÁÈ (\acro{FAT32}, + \acro{NTFS}, \acro{HFS+}). +\item ÷ÉÒÔÕÁÌØÎÙÅ ÍÁÛÉÎÙ ÍÏÇÕÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÏÂÒÁÚ ËÁË ×ÉÒÔÕÁÌØÎÙÊ + ÄÉÓË. +\end{itemize} + +òÁÚÕÍÅÅÔÓÑ, ×Ù ÍÏÖÅÔÅ ÔÁËÖÅ ÐÒÏÖÅÞØ ÒÅÁÌØÎÙÊ \DVD, ÅÓÌÉ ÜÔÏ ×ÁÍ +ÕÄÏÂÎÅÅ. + +äÅÓËÔÏÐÎÙÅ ×ÅÒÓÉÉ \GNU/Linux/Unix, ×ËÌÀÞÁÑ \MacOSX, ÕÍÅÀÔ ÍÏÎÔÉÒÏ×ÁÔØ +\ISO. ÷ ÏÓÔÁÌØÎÏÍ ÕÓÔÁÎÏ×ËÁ ÔÁËÁÑ ÖÅ, ËÁË ÐÒÉ ÕÓÔÁÎÏ×ËÅ ÎÁ ÖÅÓÔËÉÊ +ÄÉÓË, ÓÍ. ÒÁÚÄÅÌ~\ref{sec:env}. + +ðÒÉ ÕÓÔÁÎÏ×ËÅ ÎÁ \ISO\ ÉÍÅÅÔ ÓÍÙÓÌ ÎÅ ÄÅÌÁÔØ ÐÏÄÄÉÒÅËÔÏÒÉÀ ÄÌÑ ÇÏÄÁ +ÔÅËÕÝÅÊ ×ÅÒÓÉÉ, É ÕÓÔÁÎÁ×ÌÉ×ÁÔØ \filename{texmf-local} ÎÁ ÔÏÍ ÖÅ +ÕÒÏ×ÎÅÍ ÞÔÏ É ÄÒÕÇÉÅ ÄÅÒÅ×ØÑ (\filename{texmf}, \filename{texmf-dist}, +É Ô.\,Ä.). üÔÏ ÍÏÖÎÏ ÓÄÅÌÁÔØ ÐÒÉ ÐÏÍÏÝÉ ÏÐÃÉÊ ÐÒÏÇÒÁÍÍÙ ÕÓÔÁÎÏ×ËÉ. + +äÌÑ ÏÂÙÞÎÏÊ (ÎÅ ×ÉÒÔÕÁÌØÎÏÊ) ÍÁÛÉÎÙ ÐÏÄ Windows ×Ù ÍÏÖÅÔÅ ÐÒÏÖÅÞØ +\ISO\ ÎÁ \DVD. ïÄÎÁËÏ ×ÏÚÍÏÖÎÏ, ÞÔÏ ×ÁÍ ÂÕÄÅÔ ÕÄÏÂÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ +ÒÁÚÎÏÏÂÒÁÚÎÙÅ Ó×ÏÂÏÄÎÙÅ ÐÒÏÇÒÁÍÍÙ ÄÌÑ ÍÏÎÔÉÒÏ×ÁÎÉÑ ×ÉÒÔÕÁÌØÎÙÈ +ÄÉÓËÏ×. äÌÑ Windows \acro{XP} Microsoft ÒÅËÏÍÅÎÄÕÅÔ +\filename{winxpvirtualcdcontrolpanel}. + +äÌÑ ÌÕÞÛÅÇÏ ×ÚÁÉÍÏÄÅÊÓÔ×ÉÑ Ó ÓÉÓÔÅÍÏÊ, ×Ù ÍÏÖÅÔÅ ×ËÌÀÞÉÔØ ÓËÒÉÐÔÙ ÄÌÑ +\filename{w32client}, ÏÐÉÓÁÎÎÙÅ × ÒÁÚÄÅÌÅ~\ref{sec:sharedinstall} É ÎÁ +ÓÔÒÁÎÉÃÅ \url{http://tug.org/texlive/w32client.html}. ïÎÉ ÒÁÂÏÔÁÀÔ Ó +\ISO\ ÔÏÞÎÏ ÔÁË ÖÅ, ËÁË É Ó ÓÉÓÔÅÍÏÊ × ÌÏËÁÌØÎÏÊ ÓÅÔÉ. + +ðÏÄ \MacOSX\ TeXShop É \TeX{}works ÍÏÇÕÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÉÓÔÅÍÕ ÎÁ \DVD, +ÅÓÌÉ ÓÉÍÌÉÎË \filename{/usr/texbin} ÕËÁÚÙ×ÁÅÔ ÎÁ ÄÉÒÅËÔÏÒÉÀ Ó +ÐÒÏÇÒÁÍÍÁÍÉ ÄÌÑ ÎÕÖÎÏÊ ÁÒÈÉÔÅËÔÕÒÙ, ÎÁÐÒÉÍÅÒ +\begin{verbatim} +sudo ln -s /Volumes/MyTeXLive/bin/universal-darwin /usr/texbin +\end{verbatim} + +éÓÔÏÒÉÞÅÓËÁÑ ÓÐÒÁ×ËÁ: \TL{} 2010 ÂÙÌÁ ÐÅÒ×ÙÍ ÉÚÄÁÎÉÅÍ \TL, ËÏÔÏÒÙÊ ÎÅ +ÍÏÇ ÒÁÂÏÔÁÔØ ÎÅÐÏÓÒÅÓÔ×ÅÎÎÏ Ó ÄÉÓËÁ (<<live>>). ïÄÎÁËÏ ÄÌÑ ÒÁÂÏÔÙ Ó +\DVD\ ÉÌÉ \ISO\ ×ÓÅÇÄÁ ÎÕÖÎÙ ÂÙÌÉ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÕÓÉÌÉÑ: ÎÁÐÒÉÍÅÒ, +ÎÅÏÂÈÏÄÉÍÏ ÂÙÌÏ ÕÓÔÁÎÏ×ÉÔØ ÈÏÔÑ ÂÙ ÏÄÎÕ ÐÅÒÅÍÅÎÎÕÀ ÏËÒÕÖÅÎÉÑ. åÓÌÉ ÂÙ +ÓÏÚÄÁÅÔÅ ÏÂÒÁÚ \ISO\ ÉÚ ÓÕÝÅÓÔ×ÕÀÝÅÊ ÓÉÓÔÅÍÙ, ÔÏ × ÜÔÏÍ ÎÅÔ ÎÕÖÄÙ. + +\section{áÄÍÉÎÉÓÔÒÉÒÏ×ÁÎÉÅ ÓÉÓÔÅÍÙ ÐÒÉ ÐÏÍÏÝÉ \cmdname{tlmgr}} +\label{sec:tlmgr} + +\begin{figure}[tb] +\tlpng{tlmgr-gui}{\linewidth} +\caption{\prog{tlmgr} × ÇÒÁÆÉÞÅÓËÏÍ ÒÅÖÉÍÅ. óÐÉÓÏË + ÐÁËÅÔÏ×/ËÏÌÌÅËÃÉÊ/ÓÈÅÍ ÐÏÓÌÅ ÎÁÖÁÔÉÑ ÎÁ ËÌÁ×ÉÛÕ + <<Load>>}\label{fig:tlmgr-gui} +\end{figure} + +\begin{figure}[tb] +\hbox to \hsize{% + \vtop{\hsize=.59\linewidth + \null % make figures align at the top + \tlpng{tlmgr-general-options}{\hsize} + \caption{ðÒÏÇÒÁÍÍÁ \texttt{tlmgr} × ÇÒÁÆÉÞÅÓËÏÍ ÒÅÖÉÍÅ: ÇÌÁ×ÎÏÅ ÍÅÎÀ} + \label{fig:tlmgr-general-options} + } + \hfil + \vtop{\hsize=.39\linewidth + \null + \tlpng{tlmgr-paper-options}{\hsize} + \caption{ðÒÏÇÒÁÍÍÁ \texttt{tlmgr} × ÇÒÁÆÉÞÅÓËÏÍ ÒÅÖÉÍÅ: ÍÅÎÀ + ×ÙÂÏÒÁ ÒÁÚÍÅÒÁ ÂÕÍÁÇÉ} + \label{fig:tlmgr-paper-options} + } +} +\end{figure} + +÷ \TL{} ×ÈÏÄÉÔ ÐÒÏÇÒÁÍÍÁ \prog{tlmgr} ÄÌÑ ÁÄÍÉÎÉÓÔÒÉÒÏ×ÁÎÉÑ ÓÉÓÔÅÍÙ +ÐÏÓÌÅ ÕÓÔÁÎÏ×ËÉ. ðÒÏÇÒÁÍÍÙ \prog{updmap}, \prog{fmtutil} É +\prog{texconfig} ×ÓÅ ÅÝ£ ÅÓÔØ × ÓÉÓÔÅÍÅ É ÂÕÄÕÔ ÔÁÍ × ÂÕÄÕÝÅÍ, ÎÏ +ÍÙ ÒÅËÏÍÅÎÄÕÅÍ ÔÅÐÅÒØ ÐÒÏÇÒÁÍÍÕ \prog{tlmgr}. óÒÅÄÉ Å£ ×ÏÚÍÏÖÎÏÓÔÅÊ: +\begin{itemize*} +\item ÕÓÔÁÎÏ×ËÁ, ÏÂÎÏ×ÌÅÎÉÅ, ÁÒÈÉ×ÉÒÏ×ÁÎÉÅ, ×ÏÓÓÔÁÎÏ×ÌÅÎÉÅ É ÕÄÁÌÅÎÉÅ + ÏÔÄÅÌØÎÙÈ ÐÁËÅÔÏ×, ÐÒÉ ÖÅÌÁÎÉÉ Ó ÕÞÅÔÏÍ ÚÁ×ÉÓÉÍÏÓÔÅÊ ÍÅÖÄÕ ÎÉÍÉ; +\item ÐÏÉÓË É ÐÅÒÅÞÉÓÌÅÎÉÅ ÐÁËÅÔÏ×; +\item ÐÅÒÅÞÉÓÌÅÎÉÅ, ÄÏÂÁ×ÌÅÎÉÅ É ÕÄÁÌÅÎÉÅ ÐÌÁÔÆÏÒÍ; +\item ÉÚÍÅÎÅÎÉÅ ÐÁÒÁÍÅÔÒÏ× ÓÉÓÔÅÍÙ, ÎÁÐÒÉÍÅÒ, ÒÁÚÍÅÒÁ ÂÕÍÁÇÉ É + ÉÓÔÏÞÎÉËÁ ÕÓÔÁÎÏ×ËÉ (ÓÍ. ÒÁÚÄÅÌ~\ref{sec:location}). +\end{itemize*} + +\subsection{ðÒÏÇÒÁÍÍÁ \cmdname{tlmgr} × ÇÒÁÆÉÞÅÓËÏÍ ÒÅÖÉÍÅ} +ðÒÏÇÒÁÍÍÁ \prog{tlmgr} ÍÏÖÅÔ ÂÙÔØ ÚÁÐÕÝÅÎÁ × ÇÒÁÆÉÞÅÓËÏÍ ÒÅÖÉÍÅ: +\begin{alltt} +> \Ucom{tlmgr -gui} +\end{alltt} +ÉÌÉ ÎÁ Windows ÉÚ ÍÅÎÀ Start: \texttt{Start}, \texttt{Programs}, +\texttt{TeX Live 2012}, \texttt{TeX Live Manager}. ðÏÓÌÅ ÎÁÖÁÔÉÑ ÎÁ +ËÌÁ×ÉÛÕ <<Load>>, ÏÎÁ ÐÏËÁÚÙ×ÁÅÔ ÓÐÉÓÏË ÄÏÓÔÕÐÎÙÈ É ÕÓÔÁÎÏ×ÌÅÎÎÙÈ +ÐÁËÅÔÏ×. üÔÏ, ÒÁÚÕÍÅÅÔÓÑ, ÐÒÏÉÓÈÏÄÉÔ ÐÒÉ ÕÓÌÏ×ÉÉ, ÞÔÏ ÉÓÔÏÞÎÉË +ÕÓÔÁÎÏ×ËÉ ÄÏÓÔÕÐÅÎ. + +îÁ ÒÉÓÕÎËÁÈ~\ref{fig:tlmgr-general-options} É~\ref{fig:tlmgr-paper-options} +ÐÏËÁÚÁÎÙ ÇÌÁ×ÎÏÅ ÍÅÎÀ É ÍÅÎÀ ×ÙÂÏÒÁ ÒÁÚÍÅÒÁ ÂÕÍÁÇÉ. + +\subsection{ðÒÉÍÅÒÙ ÚÁÐÕÓËÁ ÐÒÏÇÒÁÍÍÙ \cmdname{tlmgr} ÉÚ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ} + +ðÏÓÌÅ ÐÅÒ×ÏÎÁÞÁÌØÎÏÊ ÕÓÔÁÎÏ×ËÉ ×Ù ÍÏÖÅÔÅ ÏÂÎÏ×ÉÔØ ÓÉÓÔÅÍÕ ÄÏ ÐÏÓÌÅÄÎÉÈ +×ÅÒÓÉÊ, ÉÍÅÀÝÉÈÓÑ ÎÁ ÓÅÔÉ: +\begin{alltt} +> \Ucom{tlmgr update -all} +\end{alltt} +åÓÌÉ ×Ù ÈÏÔÉÔÅ ÓÎÁÞÁÌÁ ÐÏÓÍÏÔÒÅÔØ, ÞÔÏ ÉÍÅÎÎÏ ÂÕÄÅÔ ÏÂÎÏ×ÌÑÔØÓÑ, +ÐÏÐÒÏÂÕÊÔÅ ÓÎÁÞÁÌÁ +\begin{alltt} +> \Ucom{tlmgr update -all -dry-run} +\end{alltt} +ÉÌÉ (ÎÅ ÔÁË ÍÎÏÇÏÓÌÏ×ÎÏ): +\begin{alltt} +> \Ucom{tlmgr update -list} +\end{alltt} + +÷ ÂÏÌÅÅ ÓÌÏÖÎÏÍ ÐÒÉÍÅÒÅ ÍÙ ÄÏÂÁ×ÌÑÅÍ ÎÏ×ÕÀ ËÏÌÌÅËÃÉÀ (\XeTeX) ÉÚ +ÌÏËÁÌØÎÏÊ ÄÉÒÅËÔÏÒÉÉ: + +\begin{alltt} +> \Ucom{tlmgr -repository /local/mirror/tlnet install collection-xetex} +\end{alltt} +÷ ÒÅÚÕÌØÔÁÔÅ ÓÉÓÔÅÍÁ ÐÅÞÁÔÁÅÔ ÓÌÅÄÕÀÝÅÅ (ÍÎÏÇÉÅ ÓÔÒÏËÉ ÕÄÁÌÅÎÙ ÄÌÑ +ËÒÁÔËÏÓÔÉ): +\begin{fverbatim} +install: collection-xetex +install: arabxetex +... +install: xetex +install: xetexconfig +install: xetex.i386-linux +running post install action for xetex +install: xetex-def +... +running mktexlsr +mktexlsr: Updating /usr/local/texlive/2012/texmf/ls-R... +... +running fmtutil-sys --missing +... +Transcript written on xelatex.log. +fmtutil: /usr/local/texlive/2012/texmf-var/web2c/xetex/xelatex.fmt installed. +\end{fverbatim} + +ëÁË ×Ù ×ÉÄÉÔÅ, \prog{tlmgr} ÕÞÉÔÙ×ÁÅÔ ÚÁ×ÉÓÉÍÏÓÔÉ ÍÅÖÄÕ ÐÁËÅÔÁÍÉ, É +ÓÁÍÁ ÄÅÌÁÅÔ ÎÕÖÎÙÅ ÐÏÓÌÅ ÕÓÔÁÎÏ×ËÉ ÛÁÇÉ, ×ËÌÀÞÁÑ ÏÂÎÏ×ÌÅÎÉÅ ÂÁÚÙ ÉÍÅÎ +ÆÁÊÌÏ× É ÐÅÒÅÇÅÎÅÒÉÒÏ×ÁÎÉÅ ÆÏÒÍÁÔÏ×. ÷ ÐÒÉÍÅÒÅ ×ÙÛÅ ÏÎÁ ÓÏÚÄÁÌÁ +ÎÏ×ÙÅ ÆÏÒÍÁÔÙ ÄÌÑ ÐÒÏÇÒÁÍÍÙ \XeTeX. + +ïÐÉÓÁÎÉÅ ÐÁËÅÔÁ (ÉÌÉ ËÏÌÌÅËÃÉÉ ÉÌÉ ÓÈÅÍÙ): +\begin{alltt} +> \Ucom{tlmgr show collection-latexextra} +\end{alltt} +ÞÔÏ ÄÁÅÔ +\begin{fverbatim} +package: collection-latexextra +category: Collection +shortdesc: LaTeX supplementary packages +longdesc: A large collection of add-on packages for LaTeX. +installed: Yes +revision: 14675 +\end{fverbatim} + +é ÎÁËÏÎÅÃ, ÐÏÌÎÁÑ ÄÏËÕÍÅÎÔÁÃÉÑ ÎÁÈÏÄÉÔÓÑ ÐÏ ÁÄÒÅÓÕ +\url{http://tug.org/texlive/tlmgr.html} ÉÌÉ ×ÙÚÙ×ÁÅÔÓÑ ËÏÍÁÎÄÏÊ +\begin{alltt} +> \Ucom{tlmgr -help} +\end{alltt} + + + +\section{äÏÐÏÌÎÉÔÅÌØÎÙÅ ÚÁÍÅÞÁÎÉÑ Ï Windows} +\label{sec:windows} + + +\subsection{äÏÐÏÌÎÉÔÅÌØÎÙÅ ×ÏÚÍÏÖÎÏÓÔÉ Windows} +\label{sec:winfeatures} + +ðÏÄ Windows ÐÒÏÇÒÁÍÍÁ ÕÓÔÁÎÏ×ËÉ ÄÅÌÁÅÔ ÎÅÓËÏÌØËÏ ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ×ÅÝÅÊ: +\begin{description} +\item[íÅÎÀ É ÑÒÌÙËÉ.] õÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ ÐÏÄÍÅÎÀ <<\TL{}>> ÍÅÎÀ + <<Start>>, ËÏÔÏÒÏÅ ÓÏÄÅÒÖÉÔ ÎÅËÏÔÏÒÙÅ ÐÒÏÇÒÁÍÍÙ (\prog{tlmgr}, + \prog{texdoctk}, ÐÒÏÇÒÁÍÍÁ PS\_View (\prog{psv}) ÄÌÑ ÐÒÏÓÍÏÔÒÁ + ÆÁÊÌÏ× × ÆÏÒÍÁÔÅ PostScript) É ÄÏËÕÍÅÎÔÁÃÉÀ. +\item[ðÒÏÇÒÁÍÍÙ ÐÏ ÕÍÏÌÞÁÎÉÀ.] ðÒÉ ÎÅÏÂÈÏÄÉÏÓÔÉ, ÐÒÏÇÒÁÍÍÙ + \prog{TeXworks}, \prog{Dviout} É \prog{PS\_view} ÓÔÁÎÏ×ÑÔÓÑ + ÐÒÏÇÒÁÍÍÁÍÉ ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÈ ÔÉÐÏ× ÆÁÊÌÏ× ÉÌÉ + ÚÁÎÏÓÑÔÓÑ × ÍÅÎÀ <<ïÔËÒÙÔØ ÐÒÉ ÐÏÍÏÝÉ...>> ÄÌÑ ÜÔÉÈ ÆÁÊÌÏ×. +\item[ëÏÎ×ÅÒÔÉÒÏ×ÁÎÉÅ ÇÒÁÆÉËÉ × ÆÏÒÍÁÔ eps.] ÷ ÍÅÎÀ <<ïÔËÒÙÔØ ÐÒÉ + ÐÏÍÏÝÉ...> ÄÌÑ ÇÒÁÆÉÞÅÓËÉÈ ÆÁÊÌÏ× ÄÏÂÁ×ÌÑÅÔÓÑ ËÏÍÁÎÄÁ + \cmdname{bitmap2eps}. üÔÏ ÐÒÏÓÔÏÊ ÓËÒÉÐÔ, ËÏÔÏÒÙÊ ×ÙÚÙ×ÁÅÔ + ÐÒÏÇÒÁÍÍÙ \cmdname{sam2p} ÉÌÉ \cmdname{bmeps} ÄÌÑ ËÏÎ×ÅÒÔÉÒÏ×ÁÎÉÑ + ÇÒÁÆÉËÉ. +\item[á×ÔÏÍÁÔÉÞÅÓËÁÑ ÕÓÔÁÎÏ×ËÁ ÐÅÒÅÍÅÎÎÙÈ ÏËÒÕÖÅÎÉÑ.] ÷ÓÅ ÐÅÒÅÍÅÎÎÙÅ + ÏËÒÕÖÅÎÉÑ ÕÓÔÁÎÁ×ÌÉ×ÁÀÔÓÑ Á×ÔÏÍÁÔÉÞÅÓËÉ. +\item[õÄÁÌÅÎÉÅ ÓÉÓÔÅÍÙ.] ðÒÏÇÒÁÍÍÁ ÕÓÔÁÎÏ×ËÉ ÓÏÚÄÁÅÔ × ÍÅÎÀ + <<Add/Remove Programs>> ÚÁÐÉÓØ <<\TL{}>>. ëÌÁ×ÉÛÁ <<ÕÄÁÌÉÔØ>> × + ÍÅÎÀ \prog{tlmgr} ×ÙÚÙ×ÁÅÔ ÕÄÁÌÅÎÉÅ ÓÉÓÔÅÍÙ. +\end{description} + + + +\subsection{äÏÐÏÌÎÉÔÅÌØÎÙÅ ÐÁËÅÔÙ ÄÌÑ Windows} + + + +äÌÑ ÐÏÌÎÏÔÙ ÄÉÓÔÒÉÂÕÔÉ×Õ \TL ÎÅÏÂÈÏÄÉÍÙ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÐÁËÅÔÙ, +ËÏÔÏÒÙÅ ÏÂÙÞÎÏ ÎÅ ×ÓÔÒÅÞÁÀÔÓÑ ÎÁ ÍÁÛÉÎÅ ÐÏÄ Windows. ÷ \TL{} ÅÓÔØ +ÎÅÄÏÓÔÁÀÝÉÅ ÐÒÏÇÒÁÍÍÙ É ÐÁËÅÔÙ: +\begin{description} +\item[Perl É Ghostscript.] ÷×ÉÄÕ ×ÁÖÎÏÓÔÉ ÜÔÉÈ ÐÒÏÇÒÁÍÍ, \TL{} + ×ËÌÀÞÁÅÔ ÉÈ <<ÓËÒÙÔÙÅ>> ËÏÐÉÉ. ðÒÏÇÒÁÍÍÙ \TL{}, ËÏÔÏÒÙÍ ÏÎÉ ÎÕÖÎÙ, + ÚÎÁÀÔ, ÇÄÅ ÉÈ ÎÁÊÔÉ, ÎÏ ÏÎÉ ÎÅ ×ÙÄÁÀÔ ÉÈ ÐÒÉÓÕÔÓÔ×ÉÑ ÓÉÓÔÅÍÅ ÞÅÒÅÚ + ÐÅÒÅÍÅÎÎÙÅ ÏËÒÕÖÅÎÉÑ ÉÌÉ ÒÅÇÉÓÔÒ. üÔÏ ÕÓÅÞÅÎÎÙÅ ×ÁÒÉÁÎÔÙ ÐÒÏÇÒÁÍÍ + Perl É Ghostscript, É ÏÎÉ ÎÅ ÄÏÌÖÎÙ ÚÁÍÅÝÁÔØ ÓÉÓÔÅÍÎÙÅ ×ÅÒÓÉÉ. + +\item[PS\_View.] ôÁËÖÅ ÕÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ PS\_View, ÐÒÏÇÒÁÍÍÁ ÄÌÑ + ÐÒÏÓÍÏÔÒÁ ÆÁÊÌÏ× × ÆÏÒÍÁÔÁÈ \PS{} É \acro{PDF}, + ÓÍ. ÒÉÓÕÎÏË~\ref{fig:psview}. + +\begin{figure}[tb] +\tlpng{psview}{.6\linewidth} +\caption{PS\_View: ÐÒÏÇÒÁÍÍÁ ÕÍÅÅÔ ÐÏËÁÚÙ×ÁÔØ ÆÁÊÌÙ ÐÏÄ ÂÏÌØÛÉÍ + Õ×ÅÌÉÞÅÎÉÅÍ!}\label{fig:psview} +\end{figure} + +\item[dviout.] ôÁËÖÅ ÕÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ \prog{dviout}, ÐÒÏÇÒÁÍÍÁ ÄÌÑ + ÐÒÏÓÍÏÔÒÁ ÆÁÊÌÏ× × ÆÏÒÍÁÔÅ \acro{DVI}. ðÒÉ ÐÅÒ×ÏÍ ÚÁÐÕÓËÅ ÐÒÏÇÒÁÍÍÙ + ÏÎÁ ÓÏÚÄÁÅÔ ÛÒÉÆÔÙ ÄÌÑ ÐÒÏÓÍÏÔÒÁ ÆÁÊÌÏ×. åÓÌÉ ×Ù ÂÕÄÅÔÅ + ÐÏÌØÚÏ×ÁÔØÓÑ ÅÊ ÎÅËÏÔÏÒÏÅ ×ÒÅÍÑ, ÏÎÁ ÓÏÚÄÁÓÔ ÐÒÁËÔÉÞÅÓËÉ ×ÓÅ ÎÕÖÎÙÅ + ×ÁÍ ÛÒÉÆÔÙ, É ÏËÎÏ ÓÏÚÄÁÎÉÑ ÛÒÉÆÔÏ× ÂÕÄÅÔ ÐÏÑ×ÌÑÔØÓÑ ×ÓÅ ÒÅÖÅ. + äÏÐÏÌÎÉÔÅÌØÎÁÑ ÉÎÆÏÒÍÁÃÉÑ Ï ÐÒÏÇÒÁÍÍÅ ÓÏÄÅÒÖÉÔÓÑ × (ÏÞÅÎØ ÈÏÒÏÛÅÍ) + ÍÅÎÀ Help. + + +\item[TeXworks.] \TeX{}works "---~ÜÔÏ ÒÅÄÁËÔÏÒ ÄÌÑ \TeX Á ÓÏ + ×ÓÔÒÏÅÎÎÏÊ ÐÒÏÇÒÁÍÍÏÊ ÄÌÑ ÐÒÏÓÍÏÔÒÁ \acro{PDF}. ïÎ ÕÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ + ÕÖÅ ÎÁÓÔÒÏÅÎÎÙÍ ÄÌÑ \TL. + + + +\item[õÔÉÌÉÔÙ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ.] ÷ÍÅÓÔÅ Ó ÐÒÏÇÒÁÍÍÁÍÉ \TL{} + ÕÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ ÒÑÄ ÐÏÒÔÉÒÏ×ÁÎÎÙÈ ÐÏÄ Windows ÓÔÁÎÄÁÒÔÎÙÈ + ÀÎÉËÓÏ×ÓËÉÈ ÕÔÉÌÉÔ: \cmdname{gzip}, \cmdname{unzip} É ÐÒÏÇÒÁÍÍÙ ÉÚ + ÎÁÂÏÒÁ \cmdname{xpdf}. óÁÍ \cmdname{xpdf} ÐÏÄ Windows ÎÅ ÒÁÂÏÔÁÅÔ, + ÎÏ ×Ù ÍÏÖÅÔÅ ÓËÁÞÁÔØ ÏÓÎÏ×ÁÎÎÕÀ ÎÁ ÅÇÏ ËÏÄÅ ÐÒÏÇÒÁÍÍÕ Sumatra: + \url{http://blog.kowalczyk.info/software/sumatrapdf}.) + +\item[fc-list, fc-cache É Ô.Ä.] üÔÉ ÐÒÏÇÒÁÍÍÙ ÉÚ ÂÉÂÌÉÏÔÅËÉ + \prog{fontconfig} ÐÏÍÏÇÁÀÔ \XeTeX Õ ÒÁÂÏÔÁÔØ ÓÏ ÛÒÉÆÔÁÍÉ ÐÏÄ + Windows. ÷Ù ÍÏÖÅÔÅ ÏÐÒÅÄÅÌÉÔØ ÎÁÚ×ÁÎÉÑ ÛÒÉÆÔÏ× ÄÌÑ ËÏÍÁÎÄÙ + \cs{font} ÐÒÉ ÐÏÍÏÝÉ ÐÒÏÇÒÁÍÍÙ \prog{fc-list}. åÓÌÉ ÎÕÖÎÏ, ×ÙÚÏ×ÉÔÅ + ÓÎÁÞÁÌÁ ÐÒÏÇÒÁÍÍÕ \prog{fc-cache}, ÞÔÏÂÙ ÏÂÎÏ×ÉÔØ ÉÎÆÏÒÍÁÃÉÀ Ï + ÛÒÉÆÔÁÈ. + +\end{description} + + +\subsection{äÏÍÁÛÎÑÑ ÄÉÒÅËÔÏÒÉÑ ÐÏÄ Windows} +\label{sec:winhome} + +áÎÁÌÏÇÏÍ ÄÏÍÁÛÎÅÊ ÄÉÒÅËÔÏÒÉÉ ÐÏÄ UNIX Ñ×ÌÑÅÔÓÑ ÄÉÒÅËÔÏÒÉÑ +\verb|%USERPROFILE%|. ðÏÄ Windows \acro{XP} ÜÔÏ ÏÂÙÞÎÏ +\verb|C:\Documents and Settings\<username>|, Á ÐÏÄ Windows Vista É +Windows~7 "--- +\verb|C:\Users\<username>|. ÷ ÆÁÊÌÅ \filename{texmf.cnf} É ×ÏÏÂÝÅ ÐÒÉ +ÒÁÂÏÔÅ \KPS{}, ÔÉÌØÄÁ \verb|~| ÐÒÁ×ÉÌØÎÏ ÉÎÔÅÒÐÒÅÔÉÒÕÅÔÓÑ ËÁË ÄÏÍÁÛÎÑÑ +ÄÉÒÅËÔÏÒÉÑ ÐÏÌØÚÏ×ÁÔÅÌÑ É ÐÏÄ Windows, É +ÐÏÄ UNIX. + +\subsection{òÅÇÉÓÔÒ Windows} +\label{sec:registry} + +Windows ÈÒÁÎÉÔ ÐÏÞÔÉ ×ÓÅ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÅ ÄÁÎÎÙÅ × ÒÅÇÉÓÔÒÅ. òÅÇÉÓÔÒ +ÓÏÄÅÒÖÉÔ ÎÁÂÏÒ ÉÅÒÁÒÈÉÞÅÓËÉ ÏÒÇÁÎÉÚÏ×ÁÎÎÙÈ ÚÁÐÉÓÅÊ, Ó ÎÅÓËÏÌØËÉÍÉ +ËÏÒÎÅ×ÙÍÉ ÚÁÐÉÓÑÍÉ. îÁÉÂÏÌÅÅ ×ÁÖÎÙ ÄÌÑ ÐÒÏÇÒÁÍÍ ÕÓÔÁÎÏ×ËÉ ÚÁÐÉÓÉ +\path{HKEY_CURRENT_USER} É \path{HKEY_LOCAL_MACHINE}, ÓÏËÒÁÝÅÎÎÏ +\path{HKCU} É \path{HKLM}. ëÁË ÐÒÁ×ÉÌÏ, \path{HKCU} ÎÁÈÏÄÉÔÓÑ × +ÄÏÍÁÛÎÅÊ ÄÉÒÅËÔÏÒÉÉ ÐÏÌØÚÏ×ÁÔÅÌÑ (ÓÍ. ÒÁÚÄÅÌ~\ref{sec:winhome}), Á +\path{HKLM} "--- ÐÏÄÄÉÒÅËÔÏÒÉÑ ÄÉÒÅËÔÏÒÉÉ Windows. + +éÎÏÇÄÁ ËÏÎÆÉÇÕÒÁÃÉÑ ÓÉÓÔÅÍÙ ÏÐÒÅÄÅÌÑÅÔÓÑ ÐÅÒÅÍÅÎÎÙÍÉ ÏËÒÕÖÅÎÉÑ, ÎÏ +ÎÅËÏÔÏÒÙÅ ×ÅÝÉ (ÎÁÐÒÉÍÅÒ, ÐÏÌÏÖÅÎÉÅ ÑÒÌÙËÏ×) ÚÁÄÁÀÔÓÑ × ÒÅÇÉÓÔÒÅ. äÌÑ +ÔÏÇÏ, ÞÔÏÂÙ ÐÅÒÍÁÎÅÎÔÎÏ ÚÁÄÁÔØ ÐÅÒÅÍÅÎÎÙÅ ÏËÒÕÖÅÎÉÑ, ÔÁËÖÅ ÎÕÖÅÎ +ÄÏÓÔÕÐ Ë ÒÅÇÉÓÔÒÕ. + +\subsection{ðÒÁ×Á ÄÏÓÔÕÐÁ ÐÏÄ Windows} +\label{sec:winpermissions} + +÷ ÐÏÚÄÎÉÈ ×ÅÒÓÉÑÈ Windows ÄÅÌÁÅÔÓÑ ÒÁÚÌÉÞÉÅ ÍÅÖÄÕ ÏÂÙÞÎÙÍÉ +ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ É ÁÄÍÉÎÉÓÔÒÁÔÏÒÁÍÉ, ÐÒÉÞÅÍ ÔÏÌØËÏ ÐÏÓÌÅÄÎÉÅ ÉÍÅÀÔ ÐÒÁ×Ï +ÄÏÓÔÕÐÁ ËÏ ×ÓÅÊ ÏÐÅÒÁÃÉÏÎÎÏÊ ÓÉÓÔÅÍÅ. îÁ ÐÒÁËÔÉËÅ ÏÄÎÁËÏ ÂÙÌÏ ÂÙ +ÂÏÌÅÅ ÐÒÁ×ÉÌØÎÏ ÏÐÉÓÙ×ÁÔØ ÜÔÉ ËÌÁÓÓÙ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ËÁË +<<ÎÅÐÒÉ×ÉÌÅÇÉÒÏ×ÁÎÎÙÅ ÐÏÌØÚÏ×ÁÔÅÌÉ>> É <<ÏÂÙÞÎÙÅ ÐÏÌØÚÏ×ÁÔÅÌÉ>>: ÐÒÁ×Á +ÁÄÍÉÎÉÓÔÒÁÔÏÒÁ Ñ×ÌÑÀÔÓÑ ÐÒÁ×ÉÌÏÍ, Á ÎÅ ÉÓËÌÀÞÅÎÉÅÍ. ïÄÎÁËÏ ÍÙ +ÐÏÓÔÁÒÁÌÉÓØ ÓÄÅÌÁÔØ ×ÏÚÍÏÖÎÙÍ ÕÓÔÁÎÏ×ËÕ \TL{} ÂÅÚ ÐÒÁ× +ÁÄÍÉÎÉÓÔÒÁÔÏÒÁ. + +åÓÌÉ ÐÏÌØÚÏ×ÁÔÅÌØ Ñ×ÌÑÅÔÓÑ ÁÄÍÉÎÉÓÔÒÁÔÏÒÏÍ, ÏÎ ÍÏÖÅÔ ÕÓÔÁÎÏ×ÉÔØ \TL{} +ÄÌÑ ×ÓÅÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ. ÷ ÜÔÏÍ ÓÌÕÞÁÅ ÑÒÌÙËÉ ÓÏÚÄÁÀÔÓÑ Õ ×ÓÅÈ +ÐÏÌØÚÏ×ÁÔÅÌÅÊ, É ÍÏÄÉÆÉÃÉÒÕÀÔÓÑ ÓÉÓÔÅÍÎÙÅ ÐÁÒÁÍÅÔÒÙ. ÷ ÐÒÏÔÉ×ÎÏÍ +ÓÌÕÞÁÅ ÑÒÌÙËÉ É ÍÅÎÀ ÓÏÚÄÁÀÔÓÑ ÔÏÌØËÏ ÄÌÑ ÔÅËÕÝÅÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ, É +ÍÏÄÉÆÉÃÉÒÕÀÔÓÑ ÅÇÏ ÐÁÒÁÍÅÔÒÙ. + +÷ÎÅ ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÓÔÁÔÕÓÁ ÐÏÌØÚÏ×ÁÔÅÌÑ, ËÏÒÅÎØ ÕÓÔÁÎÏ×ËÉ \TL{}, +ÐÒÅÄÌÁÇÁÅÍÙÊ ÐÏ ÕÍÏÌÞÁÎÉÀ, ×ÓÅÇÄÁ ÎÁÈÏÄÉÔÓÑ ÐÏÄ +\verb|%SystemDrive%|. ðÒÏÇÒÁÍÍÁ ÕÓÔÁÎÏ×ËÉ ×ÓÅÇÄÁ ÐÒÏ×ÅÒÑÅÔ, ÏÔËÒÙÔÁ +ÌÉ ËÏÒÎÅ×ÁÑ ÄÉÒÅËÔÏÒÉÑ ÎÁ ÚÁÐÉÓØ ÄÌÑ ÔÅËÕÝÅÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ. + +íÏÖÅÔ ×ÏÚÎÉËÎÕÔØ ÐÒÏÂÌÅÍÁ, ÅÓÌÉ Õ ÐÏÌØÚÏ×ÁÔÅÌÑ ÎÅÔ ÐÒÁ× +ÁÄÍÉÎÉÓÔÒÁÔÏÒÁ, Á × ÐÕÔÉ ÐÏÉÓËÁ ÕÖÅ ÅÓÔØ \TeX{}. ðÏÓËÏÌØËÕ × ÐÕÔÉ +ÐÏÉÓËÁ ÓÉÓÔÅÍÎÙÊ ÐÕÔØ ÓÔÏÉÔ ÐÅÒÅÄ ÐÕÔÅÍ ÐÏÌØÚÏ×ÁÔÅÌÑ, \TeX{} ÉÚ \TL{} +ÎÅ ÂÕÄÅÔ ÎÁÊÄÅÎ. þÔÏÂÙ ÏÂÏÊÔÉ ÜÔÕ ÐÒÏÂÌÅÍÕ, ÐÒÏÇÒÁÍÍÁ × ÔÁËÏÍ ÓÌÕÞÁÅ +ÓÏÚÄÁÅÔ ÑÒÌÙË Ó ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÏÊ, × ËÏÔÏÒÏÊ ÄÉÒÅËÔÏÒÉÑ \TL{} ÓÔÏÉÔ +ÐÅÒ×ÏÊ × ÐÕÔÉ ÐÏÉÓËÁ. éÚ ÜÔÏÊ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ ÍÏÖÎÏ ÐÏÌØÚÏ×ÁÔØÓÑ +\TL{}. ñÒÌÙË ÄÌÑ \TeX{}works, ÅÓÌÉ ÜÔÁ ÐÒÏÇÒÁÍÍÁ ÕÓÔÁÎÏ×ÌÅÎÁ, ÔÁËÖÅ +ÄÏÂÁ×ÌÑÅÔ ÄÉÒÅËÔÏÒÉÉ \TL{} × ÎÁÞÁÌÏ ÐÕÔÉ ÐÏÉÓËÁ. + +õ Windows Vista É Windows~7 ÅÓÔØ ÅÝ£ ÏÄÎÁ ÏÓÏÂÅÎÎÏÓÔØ: ÄÁÖÅ ÅÓÌÉ ×Ù Ñ×ÌÑÅÔÅÓØ +ÁÄÍÉÎÉÓÔÒÁÔÏÒÏÍ, ×ÁÍ ÎÕÖÎÏ ÏÔÄÅÌØÎÏ ÕËÁÚÁÔØ ÁÄÍÉÎÉÓÔÒÁÔÉ×ÎÙÅ ÐÒÁ×Á ÐÒÉ +ÚÁÐÕÓËÅ ÐÒÏÇÒÁÍÍ. ðÏÜÔÏÍÕ ÎÅ ÉÍÅÅÔ ÏÓÏÂÏÇÏ ÓÍÙÓÌÁ ÚÁÈÏÄÉÔØ × ÓÉÓÔÅÍÕ +ËÁË ÁÄÍÉÎÉÓÔÒÁÔÏÒ: ×ÍÅÓÔÏ ÜÔÏÇÏ, ÝÅÌËÎÕ× ÐÒÁ×ÏÊ ËÌÁ×ÉÛÅÊ ÍÙÛÉ ÎÁ +ÑÒÌÙË, ×ÙÂÅÒÉÔÅ ÉÚ ÍÅÎÀ <<Run as administrator>>. + +\subsubsection{õ×ÅÌÉÞÅÎÉÅ ÐÒÅÄÏÓÔÁ×ÌÑÅÍÏÊ ÐÁÍÑÔÉ ÐÏÄ Windows É Cygwin} +\label{sec:cygwin-maxmem} + +ðÏÌØÚÏ×ÁÔÅÌÉ Windows É Cygwin (ÓÍ. ÒÁÚÄÅÌ~\ref{sec:cygwin} Ï +ÏÓÏÂÅÎÎÏÓÔÑÈ ÕÓÔÁÎÏ×ËÉ ÐÏÄ Cygwin) ÍÏÇÕÔ ÏÂÎÁÒÕÖÉÔØ, ÞÔÏ ÄÌÑ +ÎÅËÏÔÏÒÙÈ ÐÒÏÇÒÁÍÍ \TL{} ÎÅ È×ÁÔÁÅÔ ÏÐÅÒÁÔÉ×ÎÏÊ ÐÁÍÑÔÉ. îÁÐÒÉÍÅÒ, +ÐÒÏÇÒÁÍÍÁ \prog{asy} ÍÏÖÅÔ ÎÅ ÚÁÐÕÓÔÉÔØÓÑ, ÅÓÌÉ ×ÁÍ ÎÕÖÎÏ ÒÁÚÍÅÓÔÉÔØ +ÍÁÓÓÉ× × 25\,000\,000 ÞÉÓÌÅ Ó ÐÌÁ×ÁÀÝÅÊ ÔÏÞËÏÊ, Á Lua\TeX{} ÍÏÖÅÔ ÎÅ +ÓÐÒÁ×ÉÔØÓÑ Ó ÄÏËÕÍÅÎÔÏÍ, × ËÏÔÏÒÏÍ ÍÎÏÇÏ ÒÁÚÎÙÈ ÛÒÉÆÔÏ×. + +ðÏÄ Cygwin ÍÏÖÎÏ Õ×ÅÌÉÞÉÔØ ÉÓÐÏÌØÚÕÅÍÙÊ ÏÂßÅÍ ÐÁÍÑÔÉ, ÅÓÌÉ +×ÏÓÐÏÌØÚÏ×ÁÔØÓÑ ÉÎÓÔÒÕËÃÉÑÍÉ × òÕËÏ×ÏÄÓÔ×Å ÐÏÌØÚÏ×ÁÔÅÌÑ Cygwin +(\url{http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html}). + +ðÏÄ Windows ÎÕÖÎÏ ÓÏÚÄÁÔØ ÆÁÊÌ, ÓËÁÖÅÍ, \code{moremem.reg}, ÓÏ +ÓÌÅÄÕÀÝÉÍÉ ÞÅÔÙÒØÍÑ ÓÔÒÏËÁÍÉ: + +\begin{sverbatim} +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\Software\Cygwin] +"heap_chunk_in_mb"=dword:ffffff00 +\end{sverbatim} + +\noindent Á ÚÁÔÅÍ ×ÙÐÏÌÎÉÔØ ËÁË ÁÄÍÉÎÉÓÔÒÁÔÏÒ ËÏÍÁÎÄÕ \code{regedit /s + moremem.reg}. åÓÌÉ ×Ù ÈÏÔÉÔÅ ÉÚÍÅÎÉÔØ ÜÔÏÔ ÐÁÒÁÍÅÔÒ ÔÏÌØËÏ ÄÌÑ +ÔÅËÕÝÅÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ, ÔÏ × ÔÒÅÔØÅÊ ÓÔÒÏËÅ ÎÁÄÏ ÎÁÐÉÓÁÔØ +\code{HKEY\_CURRENT\_USER}. + + +\section{òÕËÏ×ÏÄÓÔ×Ï ÐÏÌØÚÏ×ÁÔÅÌÑ Web2C} + +\Webc{} "--- ÜÔÏ ÉÎÔÅÇÒÉÒÏ×ÁÎÎÁÑ ËÏÌÌÅËÃÉÑ ÐÒÏÇÒÁÍÍ, ÏÔÎÏÓÑÝÉÈÓÑ Ë +\TeX{}Õ: ÓÁÍ \TeX{}, \MF{}, \MP, \BibTeX{}, É Ô.Ä. üÔÏ ÓÅÒÄÃÅ +\TL{}. óÔÒÁÎÉÃÁ \Webc{} Ó ÒÕËÏ×ÏÄÓÔ×ÏÍ ÐÏÌØÚÏ×ÁÔÅÌÑ É ÍÎÏÇÉÍ ÄÒÕÇÉÍ +ÎÁÈÏÄÉÔÓÑ ÎÁ \url{http://tug.org/web2c}. + +îÅÍÎÏÇÏ ÉÓÔÏÒÉÉ. ðÅÒ×ÁÑ ×ÅÒÓÉÑ ÐÒÏÇÒÁÍÍÙ ÂÙÌÁ ÎÁÐÉÓÁÎÁ ôÏÍÁÓÏÍ +òÏËÉËÉ, ËÏÔÏÒÙÊ × 1987 ÇÏÄÕ ÓÏÚÄÁÌ ÓÉÓÔÅÍÕ \TeX{}-to-C, ÁÄÁÐÔÉÒÏ×Á× +ÐÁÔÞÉ ÄÌÑ UNIX, ÒÁÚÒÁÂÏÔÁÎÎÙÅ × ÏÓÎÏ×ÎÏÍ çÏ×ÁÒÄÏÍ ôÒÉËÉ É ðÁ×ÌÏÍ +ëÕÒÔÉÓÏÍ. ôÉÍ íÏÒÇÁÎ ÓÔÁÌ ÐÏÄÄÅÒÖÉ×ÁÔØ ÓÉÓÔÅÍÕ, É × ÜÔÏÔ ÐÅÒÉÏÄ Å£ +ÎÁÚ×ÁÎÉÅ ÓÍÅÎÉÌÏÓØ ÎÁ Web-to-C\@. ÷ 1990 ÇÏÄÕ ëÁÒÌ âÅÒÒÉ ×ÚÑÌ ÎÁ ÓÅÂÑ +ÜÔÏÔ ÐÒÏÅËÔ, ËÏÏÒÄÉÎÉÒÕÑ ÒÁÂÏÔÕ ÄÅÓÑÔËÏ× ÐÒÏÇÒÁÍÍÉÓÔÏ×, Á × 1997 ÏÎ +ÐÅÒÅÄÁÌ ÒÕËÏ×ÏÄÓÔ×Ï ïÌÁÆÕ ÷ÅÂÅÒÕ, ËÏÔÏÒÙÊ ×ÅÒÎÕÌ ÅÇÏ ëÁÒÌÕ × 2006 +ÇÏÄÕ. + +óÉÓÔÅÍÁ \Webc{} ÒÁÂÏÔÁÅÔ ÐÏÄ UNIX, 32-ÂÉÔÏ×ÙÈ Windows, \MacOSX{}, É +ÄÒÕÇÉÈ ÏÐÅÒÁÃÉÏÎÎÙÈ ÓÉÓÔÅÍÁÈ. ïÎÁ ÉÓÐÏÌØÚÕÅÔ ÏÒÉÇÉÎÁÌØÎÙÅ ÉÓÈÏÄÎÉËÉ +ëÎÕÔÁ ÄÌÑ \TeX{}Á É ÄÒÕÇÉÈ ÐÒÏÇÒÁÍÍ, ÎÁÐÉÓÁÎÎÙÈ ÎÁ ÑÚÙËÅ \web{} É +ÐÅÒÅ×ÅÄ£ÎÎÙÈ ÎÁ C. ïÓÎÏ×ÎÙÅ ÐÒÏÇÒÁÍÍÙ ÓÉÓÔÅÍÙ: + +\begin{cmddescription} +\item[bibtex] ðÏÄÄÅÒÖËÁ ÂÉÂÌÉÏÇÒÁÆÉÊ. +\item[dvicopy] òÁÂÏÔÁ Ó ×ÉÒÔÕÁÌØÎÙÍÉ ÛÒÉÆÔÁÍÉ × ÆÁÊÌÁÈ \dvi{}. +\item[dvitomp] ðÅÒÅ×ÏÄ \dvi{} × MPX (ÒÉÓÕÎËÉ × \MP{}). +\item[dvitype] ðÅÒÅ×ÏÄ \dvi{} × ÔÅËÓÔ. +\item[gftodvi] çÒÁÎËÉ ÛÒÉÆÔÏ×. +\item[gftopk] õÐÁËÏ×ËÁ ÛÒÉÆÔÏ× +\item[gftype] ðÅÒÅ×ÏÄ GF × ÔÅËÓÔ. +\item[mf] óÏÚÄÁÎÉÅ ÛÒÉÆÔÏ×. +\item[mft] ÷£ÒÓÔËÁ ÉÓÈÏÄÎÉËÏ× \MF{}. +\item[mpost] òÉÓÏ×ÁÎÉÅ ÄÉÁÇÒÁÍÍ. +\item[patgen] óÏÚÄÁÎÉÅ ÔÁÂÌÉà ÐÅÒÅÎÏÓÏ×. +\item[pktogf] ðÅÒÅ×ÏÄ PK × GF. +\item[pktype] ðÅÒÅ×ÏÄ PK × ÔÅËÓÔ +\item[pltotf] ðÅÒÅ×ÏÄ ÉÚ ÓÐÉÓËÁ Ó×ÏÊÓÔ× ÛÒÉÆÔÁ × TFM. +\item[pooltype] òÁÓÛÉÆÒÏ×ËÁ ÆÁÊÌÏ× pool × \web{}. +\item[tangle] ðÅÒÅ×ÏÄ \web{} × Pascal. +\item[tex] ÷£ÒÓÔËÁ. +\item[tftopl] ðÅÒÅ×ÏÄ TFM × ÓÐÉÓÏË Ó×ÏÊÓÔ× ÛÒÉÆÔÁ. +\item[vftovp] ðÅÒÅ×ÏÄ ×ÉÒÔÕÁÌØÎÏÇÏ ÛÒÉÆÔÁ × ÓÐÉÓÏË Ó×ÏÊÓÔ× ÛÒÉÆÔÁ. +\item[vptovf] ðÅÒÅ×ÏÄ ÓÐÉÓËÁ Ó×ÏÊÓÔ× ÛÒÉÆÔÁ × ×ÉÒÔÕÁÌØÎÙÊ ÛÒÉÆÔ. +\item[weave] ðÅÒÅ×ÏÄ \web{} × \TeX. +\end{cmddescription} + +\noindent ðÏÌÎÏÓÔØÀ ÜÔÉ ÐÒÏÇÒÁÍÍÙ ÏÐÉÓÁÎÙ × ÄÏËÕÍÅÎÔÁÃÉÉ Ë +ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÍ ÐÁËÅÔÁÍ É ÓÁÍÏÊ \Webc{}. ïÄÎÁËÏ ÚÎÁÎÉÅ ÎÅËÏÔÏÒÙÈ +ÏÂÝÉÈ ÐÒÉÎÃÉÐÏ× ÄÌÑ ×ÓÅÊ ÓÅÍØÉ ÐÒÏÇÒÁÍÍ ÐÏÍÏÖÅÔ ×ÁÍ ÐÏÌÎÅÅ +ÉÓÐÏÌØÚÏ×ÁÔØ ÐÒÏÇÒÁÍÍÙ ÓÉÓÔÅÍÙ \Webc{}. + +÷ÓÅ ÐÒÏÇÒÁÍÍÙ ÐÏÄÄÅÒÖÉ×ÁÀÔ ÓÔÁÎÄÁÒÔÎÙÅ ÏÐÃÉÉ \acro{GNU}: +\begin{ttdescription} +\item[-{}-help] ÎÁÐÅÞÁÔÁÔØ ËÒÁÔËÕÀ ÓÐÒÁ×ËÕ +\item[-{}-verbose] ÐÅÞÁÔÁÔØ ÐÏÄÒÏÂÎÕÀ ÉÎÆÏÒÍÁÃÉÀ ÐÏ ÍÅÒÅ ÒÁÂÏÔÙ +\item[-{}-version] îÁÐÅÞÁÔÁÔØ ×ÅÒÓÉÀ ÐÒÏÇÒÁÍÍÙ É ÚÁ×ÅÒÛÉÔØ ÒÁÂÏÔÕ. +\end{ttdescription} + +äÌÑ ÐÏÉÓËÁ ÆÁÊÌÏ× ÐÒÏÇÒÁÍÍÙ \Webc{} ÉÓÐÏÌØÚÕÀÔ ÂÉÂÌÉÏÔÅËÕ \KPS{} +(\url{http://tug.org/kpathsea}). üÔÁ ÂÉÂÌÉÏÔÅËÁ ÉÓÐÏÌØÚÕÅÔ ËÏÍÂÉÎÁÃÉÀ +ÐÅÒÅÍÅÎÎÙÈ ÏËÒÕÖÅÎÉÑ É ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÈ ÆÁÊÌÏ×, ÞÔÏÂÙ ÎÁÊÔÉ ÎÕÖÎÙÅ +ÆÁÊÌÙ × ÏÇÒÏÍÎÏÊ ÓÉÓÔÅÍÅ \TeX{}. \Webc{} ÍÏÖÅÔ ÐÒÏÓÍÁÔÒÉ×ÁÔØ +ÏÄÎÏ×ÒÅÍÅÎÎÏ ÂÏÌØÛÅ ÏÄÎÏÇÏ ÄÅÒÅ×Á ÄÉÒÅËÔÏÒÉÊ, ÞÔÏ ÐÏÌÅÚÎÏ ÄÌÑ ÒÁÂÏÔÙ +ÓÏ ÓÔÁÎÄÁÒÔÎÙÍ ÄÉÓÔÒÉÂÕÔÉ×ÏÍ \TeX{}Á É ÅÇÏ ÌÏËÁÌØÎÙÍÉ ÒÁÓÛÉÒÅÎÉÑÍÉ. +äÌÑ ÕÓËÏÒÅÎÉÑ ÐÏÉÓËÏ× ÆÁÊÌÏ× ËÁÖÄÏÅ ÄÅÒÅ×Ï ÓÏÄÅÒÖÉÔ ÆÁÊÌ \file{ls-R}, +× ËÏÔÏÒÏÍ ÕËÁÚÁÎÙ ÎÁÚ×ÁÎÉÑ É ÏÔÎÏÓÉÔÅÌØÎÙÅ ÐÕÔÉ ×ÓÅÈ ÆÁÊÌÏ× × ÜÔÏÍ +ÄÅÒÅ×Å. + +\subsection{ðÏÉÓË ÆÁÊÌÏ× × Kpathsea} +\label{sec:kpathsea} + +òÁÓÓÍÏÔÒÉÍ ÓÎÁÞÁÌÁ ÏÂÝÉÊ ÁÌÇÏÒÉÔÍ ÂÉÂÌÉÏÔÅËÉ \KPS. + +âÕÄÅÍ ÎÁÚÙ×ÁÔØ \emph{ÐÕÔ£Í ÐÏÉÓËÁ} ÎÁÂÏÒ ÒÁÚÄÅÌ£ÎÎÙÈ Ä×ÏÅÔÏÞÉÅÍ ÉÌÉ +ÔÏÞËÏÊ Ó ÚÁÐÑÔÏÊ \emph{ÜÌÅÍÅÎÔÏ× ÐÕÔÉ}, ÐÒÅÄÓÔÁ×ÌÑÀÝÉÈ ÉÚ ÓÅÂÑ × +ÏÓÎÏ×ÎÏÍ ÎÁÚ×ÁÎÉÑ ÄÉÒÅËÔÏÒÉÊ. ðÕÔØ ÐÏÉÓËÁ ÍÏÖÅÔ ÉÍÅÔØ ÍÎÏÇÏ +ÉÓÔÏÞÎÉËÏ×. þÔÏÂÙ ÎÁÊÔÉ ÆÁÊÌ \samp{my-file} × ÄÉÒÅËÔÏÒÉÉ +\samp{.:/dir}, \KPS{} ÐÒÏ×ÅÒÑÅÔ ËÁÖÄÙÊ ÜÌÅÍÅÎÔ ÐÕÔÉ ÐÏ ÏÞÅÒÅÄÉ: +ÓÎÁÞÁÌÁ \file{./my-file}, ÚÁÔÅÍ \file{/dir/my-file}, ×ÏÚ×ÒÁÝÁÑ ÐÅÒ×ÙÊ +ÆÁÊÌ (ÉÌÉ, ×ÏÚÍÏÖÎÏ, ×ÓÅ ÆÁÊÌÙ). + +þÔÏÂÙ ÒÁÂÏÔÁÔØ Ó ÒÁÚÎÙÍÉ ÏÐÅÒÁÃÉÏÎÎÙÍÉ ÓÉÓÔÅÍÁÍÉ, \KPS{} ÐÏÄ ÓÉÓÔÅÍÏÊ, +ÏÔÌÉÞÎÏÊ ÏÔ UNIX ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÒÁÚÄÅÌÉÔÅÌÉ, ÏÔÌÉÞÎÙÅ ÏÔ +\samp{:} É \samp{/}. + +þÔÏÂÙ ÐÒÏ×ÅÒÉÔØ ÏÐÒÅÄÅÌ£ÎÎÙÊ ÜÌÅÍÅÎÔ ÐÕÔÉ \var{p}, \KPS{} ×ÎÁÞÁÌÅ +ÐÒÏ×ÅÒÑÅÔ ÎÁÌÉÞÉÅ ÂÁÚÙ ÄÁÎÎÙÈ (ÓÍ. ÒÁÚÄÅÌ <<âÁÚÁ ÄÁÎÎÙÈ +ÆÁÊÌÏ×>> ÎÁ ÓÔÒ.~\pageref{sec:filename-database}), Ô.Å., ÅÓÔØ ÌÉ ÂÁÚÁ × +ÄÉÒÅËÔÏÒÉÉ, ËÏÔÏÒÁÑ Ñ×ÌÑÅÔÓÑ ÐÒÅÆÉËÓÏÍ ÄÌÑ \var{p}. åÓÌÉ ÜÔÏ ÔÁË, +ÓÐÅÃÉÆÉËÁÃÉÑ ÐÕÔÉ ÓÒÁ×ÎÉ×ÁÅÔÓÑ Ó ÓÏÄÅÒÖÉÍÙÍ ÂÁÚÙ ÄÁÎÎÙÈ. + +åÓÌÉ ÂÁÚÁ ÄÁÎÎÙÈ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ, ÉÌÉ ÎÅ ÏÔÎÏÓÉÔÓÑ Ë ÜÔÏÍÕ ÜÌÅÍÅÎÔÕ +ÐÕÔÉ, ÉÌÉ ÎÅ ÓÏÄÅÒÖÉÔ ÎÕÖÎÏÇÏ ÜÌÅÍÅÎÔÁ, ÐÒÏ×ÅÒÑÅÔÓÑ ÆÁÊÌÏ×ÁÑ ÓÉÓÔÅÍÁ +(ÅÓÌÉ ÜÔÏ ÎÅ ÚÁÐÒÅÝÅÎÏ ÓÐÅÃÉÆÉËÁÃÉÅÊ, ÎÁÞÉÎÁÀÝÅÊÓÑ Ó \samp{!!}, É ÅÓÌÉ +ÆÁÊÌ ÄÏÌÖÅÎ ÓÕÝÅÓÔ×Ï×ÁÔØ). \KPS{} ËÏÎÓÔÒÕÉÒÕÅÔ ÓÐÉÓÏË ÄÉÒÅËÔÏÒÉÊ, +ËÏÔÏÒÙÅ ÓÏÏÔ×ÅÔÓÔ×ÕÀÔ ÜÌÅÍÅÎÔÕ, É × ËÁÖÄÏÊ ÄÉÒÅËÔÏÒÉÉ ÉÝÅÔ ÎÕÖÎÙÊ +ÆÁÊÌ. + +õÓÌÏ×ÉÅ <<ÆÁÊÌ ÄÏÌÖÅÎ ÓÕÝÅÓÔ×Ï×ÁÔØ>> ×ÁÖÎÏ ÄÌÑ ÆÁÊÌÏ× \samp{.vf} É +ÆÁÊÌÏ×, ËÏÔÏÒÙÅ ÏÔËÒÙ×ÁÅÔ \TeX{} ÐÏ ËÏÍÁÎÄÅ \cs{openin}. ôÁËÉÅ ÆÁÊÌÙ +ÍÏÇÕÔ É ÎÅ ÓÕÝÅÓÔ×Ï×ÁÔØ (ÎÁÐÒÉÍÅÒ, ÆÁÊÌ \file{cmr10.vf}), É ÂÙÌÏ ÂÙ +ÎÅÐÒÁ×ÉÌØÎÏ ÉÓËÁÔØ ÉÈ ÎÁ ÄÉÓËÅ. ðÏÜÔÏÍÕ, ÅÓÌÉ ×Ù ÎÅ ÏÂÎÏ×ÉÔÅ +\file{ls-R} ÐÒÉ ÕÓÔÁÎÏ×ËÅ ÎÏ×ÏÇÏ ÆÁÊÌÁ \samp{.vf}, ÏÎ ÎÉËÏÇÄÁ ÎÅ ÂÕÄÅÔ +ÎÁÊÄÅÎ. ëÁÖÄÙÊ ÜÌÅÍÅÎÔ ÐÕÔÉ ÉÝÅÔÓÑ ÐÏ ÏÞÅÒÅÄÉ: ÓÎÁÞÁÌÁ ÂÁÚÁ ÄÁÎÎÙÈ, +ÚÁÔÅÍ ÄÉÓË. åÓÌÉ ÎÕÖÎÙÊ ÆÁÊÌ ÎÁÊÄÅÎ, ÐÏÉÓË ÏÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ, É +×ÏÚ×ÒÁÝÁÅÔÓÑ ÒÅÚÕÌØÔÁÔ. + +èÏÔÑ ÓÁÍÙÊ ÐÒÏÓÔÏÊ É ÞÁÓÔÏ ×ÓÔÒÅÞÁÀÝÉÊÓÑ ÜÌÅÍÅÎÔ ÐÕÔÉ "--- ÜÔÏ +ÎÁÚ×ÁÎÉÅ ÄÉÒÅËÔÏÒÉÉ, \KPS{} ÐÏÄÄÅÒÖÉ×ÁÅÔ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ×ÏÚÍÏÖÎÏÓÔÉ: +ÒÁÚÎÏÏÂÒÁÚÎÙÅ ÚÎÁÞÅÎÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ, ÉÍÅÎÁ ÐÅÒÅÍÅÎÎÙÈ ÏËÒÕÖÅÎÉÑ, +ÚÎÁÞÅÎÉÑ ÉÚ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÈ ÆÁÊÌÏ×, ÄÏÍÁÛÎÉÅ ÄÉÒÅËÔÏÒÉÉ +ÐÏÌØÚÏ×ÁÔÅÌÅÊ, ÒÅËÕÒÓÉ×ÎÙÊ ÐÏÉÓË ÐÏÄÄÉÒÅËÔÏÒÉÊ. ðÏÜÔÏÍÕ ÍÙ ÇÏ×ÏÒÉÍ, +ÞÔÏ \KPS{} \emph{×ÙÞÉÓÌÑÅÔ} ÜÌÅÍÅÎÔ ÐÕÔÉ, Ô.Å., ÞÔÏ ÂÉÂÌÉÏÔÅËÁ +ÐÒÅÏÂÒÁÚÕÅÔ ÓÐÅÃÉÆÉËÁÃÉÉ × ÉÍÑ ÉÌÉ ÉÍÅÎÁ ÄÉÒÅËÔÏÒÉÉ. üÔÏ ÏÐÉÓÁÎÏ × +ÓÌÅÄÕÀÝÉÈ ÒÁÚÄÅÌÁÈ × ÔÏÍ ÖÅ ÐÏÒÑÄËÅ, × ËÏÔÏÒÏÍ ÐÒÏÉÓÈÏÄÉÔ ÐÏÉÓË. + +úÁÍÅÔØÔÅ, ÞÔÏ ÉÍÑ ÆÁÊÌÁ ÐÒÉ ÐÏÉÓËÅ ÍÏÖÅÔ ÂÙÔØ ÁÂÓÏÌÀÔÎÙÍ ÉÌÉ +ÏÔÎÏÓÉÔÅÌØÎÙÍ, Ô.Å. ÎÁÞÉÎÁÔØÓÑ Ó \samp{/}, ÉÌÉ \samp{./}, ÉÌÉ +\samp{../}, \KPS{} ÐÒÏÓÔÏ ÐÒÏ×ÅÒÑÅÔ, ÓÕÝÅÓÔ×ÕÅÔ ÌÉ ÆÁÊÌ. + +\ifSingleColumn +\else +\begin{figure*} +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{ðÒÉÍÅÒ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÏÇÏ ÆÁÊÌÁ} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{éÓÔÏÞÎÉËÉ ÐÕÔÅÊ ÐÏÉÓËÁ} +\label{sec:path-sources} + +ðÕÔØ ÐÏÉÓËÁ ÍÏÖÅÔ ÉÍÅÔØ ÒÁÚÎÙÅ ÉÓÔÏÞÎÉËÉ. \KPS{} ÉÓÐÏÌØÚÕÅÔ ÉÈ × +ÓÌÅÄÕÀÝÅÍ ÐÏÒÑÄËÅ: + +\begin{enumerate} +\item õÓÔÁÎÏ×ÌÅÎÎÙÅ ÐÏÌØÚÏ×ÁÔÅÌÅÍ ÐÅÒÅÍÅÎÎÙÅ ÏËÒÕÖÅÎÉÑ, ÎÁÐÒÉÍÅÒ + \envname{TEXINPUTS}\@. ðÅÒÅÍÅÎÎÙÅ ÏËÒÕÖÅÎÉÑ Ó ÔÏÞËÏÊ É ÎÁÚ×ÁÎÉÅÍ + ÐÒÏÇÒÁÍÍÙ ÉÍÅÀÔ ÐÒÅÉÍÕÝÅÓÔ×Ï; ÎÁÐÒÉÍÅÒ ÅÓÌÉ \samp{latex} "--- ÉÍÑ + ÐÒÏÇÒÁÍÍÙ. ÔÏ \envname{TEXINPUTS.latex} ÉÍÅÅÔ ÐÒÅÉÍÕÝÅÓÔ×Ï ÐÅÒÅÄ + \envname{TEXINPUTS}. +\item + ëÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ, ÓÐÅÃÉÆÉÞÅÓËÉÊ ÄÌÑ ÄÁÎÎÏÊ ÐÒÏÇÒÁÍÍÙ, ÎÁÐÒÉÍÅÒ, + ÓÔÒÏËÁ + \samp{S /a:/b} × \file{config.ps} ÄÌÑ \cmdname{dvips}. +\item + ëÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ \KPS{} \file{texmf.cnf}, ÓÏÄÅÒÖÁÝÉÊ ÓÔÒÏËÕ + ÔÉÐÁ + \samp{TEXINPUTS=/c:/d} (ÓÍ. ÎÉÖÅ). +\item úÎÁÞÅÎÉÅ, ÚÁÄÁÎÎÏÅ ÐÒÉ ËÏÍÐÉÌÑÃÉÉ. +\end{enumerate} +\noindent ÷Ù ÍÏÖÅÔÅ Õ×ÉÄÅÔØ ËÁÖÄÏÅ ÉÚ ÜÔÉÈ ÚÎÁÞÅÎÉÊ ÄÌÑ ÄÁÎÎÏÇÏ ÐÕÔÉ +ÐÏÉÓËÁ, ÚÁÄÁ× ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÊ ÕÒÏ×ÅÎØ ÏÔÌÁÄËÉ (ÓÍ. <<ïÔÌÁÄËÁ>> +ÎÁ ÓÔÒ.~\pageref{sec:debugging}). + +\subsubsection{ëÏÎÆÉÇÕÒÁÃÉÏÎÎÙÅ ÆÁÊÌÙ} + +\begingroup\tolerance=3500 +\KPS{} ÞÉÔÁÅÔ \emph{ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÅ ÆÁÊÌÙ} \file{texmf.cnf}, × +ËÏÔÏÒÙÈ ÚÁÄÁÀÔÓÑ ÐÁÒÁÍÅÔÒÙ ÐÒÏÇÒÁÍÍÙ. òÁÎØÛÅ ÄÌÑ ÐÏÉÓËÁ ÜÔÉÈ ÆÁÊÌÏ× +ÉÓÐÏÌØÚÏ×ÁÌÁÓØ ÐÅÒÅÍÅÎÎÁÑ \envname{TEXMFCNF}, ÎÏ ÔÅÐÅÒØ ÍÙ ÎÅ +ÒÅËÏÍÅÎÄÕÅÍ ÐÏÌØÚÏ×ÁÔØÓÑ ÜÔÏÊ (ÉÌÉ ËÁËÏÊ-ÌÉÂÏ ÄÒÕÇÏÊ) ÐÅÒÅÍÅÎÎÏÊ +ÏËÒÕÖÅÎÉÑ. + +ôÅÐÅÒØ ÐÒÉ ÎÏÒÍÁÌØÎÏÊ ÕÓÔÁÎÏ×ËÅ ÓÏÚÄÁÅÔÓÑ ÆÁÊÌ +\file{.../2012/texmf.cnf}. åÓÌÉ ×ÁÍ ÎÕÖÎÏ ÉÚÍÅÎÉÔØ ÎÁÓÔÒÏÊËÉ (ÏÂÙÞÎÏ +ÜÔÏÇÏ ÄÅÌÁÔØ, ÎÅ ÐÒÉÈÏÄÉÔÓÑ), ×ÎÅÓÉÔÅ ÉÈ × ÜÔÏÔ ÆÁÊÌ. çÌÁ×ÎÙÊ +ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ "--- ÆÁÊÌ \file{.../2012/texmf/web2c/texmf.cnf} +åÇÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ \emph{ÎÅ} ÓÌÅÄÕÅÔ, ÔÁË ËÁË ÐÒÉ ÏÂÎÏ×ÌÅÎÉÉ ÓÉÓÔÅÍÙ +×ÁÛÉ ÉÚÍÅÎÅÎÉÑ ÐÒÏÐÁÄÕÔ. + +\emph{÷ÓÅ} ÎÁÊÄÅÎÎÙÅ ÆÁÊÌÙ \file{texmf.cnf} ÂÕÄÕÔ ÐÒÏÞÉÔÁÎÙ, É +ÏÐÒÅÄÅÌÅÎÉÑ × ÂÏÌÅÅ ÒÁÎÎÉÈ ÆÁÊÌÁÈ ÉÍÅÀÔ ÐÒÅÉÍÕÝÅÓÔ×Ï ÐÅÒÅÄ +ÏÐÒÅÄÅÌÅÎÉÑÍÉ × ÂÏÌÅÅ ÐÏÚÄÎÉÈ. ôÁËÉÍ ÏÂÒÁÚÏÍ, ÅÓÌÉ ÐÕÔØ ÐÏÉÓËÁ ÚÁÄÁÎ +ËÁË \verb|.:$TEXMF|, ÚÎÁÞÅÎÉÑ × \file{./texmf.cnf} ÉÍÅÀÔ ÐÒÅÉÍÕÝÅÓÔ×Ï +ÐÅÒÅÄ ÚÎÁÞÅÎÉÑÍÉ × \verb|$TEXMF/texmf.cnf|. +\endgroup + +\begin{itemize} +\item + ëÏÍÍÅÎÔÁÒÉÉ ÎÁÞÉÎÁÀÔÓÑ Ó \code{\%} É ÐÒÏÄÏÌÖÁÀÔÓÑ ÄÏ ËÏÎÃÁ ÓÔÒÏËÉ. +\item + ðÕÓÔÙÅ ÓÔÒÏËÉ ÉÇÎÏÒÉÒÕÀÔÓÑ +\item + \bs{} × ËÏÎÃÅ ÓÔÒÏËÉ ÏÚÎÁÞÁÅÔ ÐÒÏÄÏÌÖÅÎÉÅ, Ô.Å. ÄÏÂÁ×ÌÑÅÔÓÑ + ÓÌÅÄÕÀÝÁÑ ÓÔÒÏËÁ. ðÒÏÂÅÌÙ × ÎÁÞÁÌÅ ÓÌÅÄÕÀÝÅÊ ÓÔÒÏËÉ ÎÅ + ÉÇÎÏÒÉÒÕÀÔÓÑ. +\item + ïÐÒÅÄÅÌÅÎÉÑ ÐÁÒÁÍÅÔÒÏ× ÉÍÅÀÔ ×ÉÄ +\begin{alltt} + \emph{variable}[.\emph{progname}] [=] \emph{value} +\end{alltt}% + ÇÄÅ \samp{=} É ÐÒÏÂÅÌÙ ×ÏËÒÕÇ ÍÏÇÕÔ ÏÐÕÓËÁÔØÓÑ. +\item + \ttvar{variable} ÍÏÖÅÔ ÓÏÄÅÒÖÁÔØ ÌÀÂÙÅ ÓÉÍ×ÏÌÙ, ËÒÏÍÅ ÐÒÏÂÅÌÁ, + \samp{=} ÉÌÉ \samp{.}, ÎÏ ÎÁÄ£ÖÎÅÅ ×ÓÅÇÏ ÐÒÉÄÅÒÖÉ×ÁÔØÓÑ ÎÁÂÏÒÁ + \samp{A-Za-z\_}. +\item + åÓÌÉ ÅÓÔØ \samp{.\var{progname}}, ÏÐÒÅÄÅÌÅÎÉÅ ÏÔÎÏÓÉÔÓÑ ÔÏÌØËÏ Ë + ÐÒÏÇÒÁÍÍÅ, ËÏÔÏÒÁÑ ÎÁÚÙ×ÁÅÔÓÑ + \texttt{\var{progname}} ÉÌÉ \texttt{\var{progname}.exe}. üÔÏ + ÐÏÚ×ÏÌÑÅÔ, ÎÁÐÒÉÍÅÒ ÒÁÚÎÙÍ ×ÉÄÁÍ \TeX{}Á ÉÍÅÔØ ÒÁÚÎÙÅ ÐÕÔÉ ÐÏÉÓËÁ. +\item \var{value} ÍÏÖÅÔ ÓÏÄÅÒÖÁÔØ ÌÀÂÙÅ ÓÉÍ×ÏÌÙ, ËÒÏÍÅ + \code{\%} É \samp{@}. îÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ + \code{\$\var{var}.\var{prog}} × ÐÒÁ×ÏÊ ÞÁÓÔÉ; ×ÍÅÓÔÏ ÜÔÏÇÏ ×Ù ÄÏÌÖÎÙ + ÚÁÄÁÔØ ÄÏÐÏÌÎÉÔÅÌØÎÕÀ ÐÅÒÅÍÅÎÎÕÀ. óÉÍ×ÏÌ + \samp{;} × ÐÒÁ×ÏÊ ÞÁÓÔÉ ÜË×É×ÁÌÅÎÔÅÎ ÐÏÄ UNIX ÓÉÍ×ÏÌÕ \samp{:}; ÜÔÏ + ÐÏÌÅÚÎÏ, ÞÔÏÂÙ ÐÏÄÄÅÒÖÉ×ÁÔØ ÏÂÝÉÊ ÆÁÊÌ ÄÌÑ UNIX, \acro{MS-DOS} É + Windows. +\item + ÷ÓÅ ÏÐÒÅÄÅÌÅÎÉÑ ÞÉÔÁÀÔÓÑ ÄÏ ÐÏÄÓÔÁÎÏ×ÏË, ÐÏÜÔÏÍÕ Ë ÐÅÒÅÍÅÎÎÙÍ ÍÏÖÎÏ + ÏÂÒÁÝÁÔØÓÑ ÄÏ ÔÏÇÏ, ËÁË ÏÎÉ ÏÐÒÅÄÅÌÅÎÙ. +\end{itemize} +æÒÁÇÍÅÎÔ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÏÇÏ ÆÁÊÌÁ, ÉÌÌÀÓÔÒÉÒÕÀÝÉÊ ÜÔÉ ÐÒÁ×ÉÌÁ, ÐÒÉ×ÅÄeÎ +\ifSingleColumn +ÎÉÖÅ: + +\verbatiminput{examples/ex5.tex} +\else +ÎÁ ÒÉÓÕÎËÅ~\ref{fig:config-sample}. +\fi + +\subsubsection{ðÏÄÓÔÁÎÏ×ËÁ ÐÕÔÅÊ} +\label{sec:path-expansion} + + +\KPS{} ÒÁÓÐÏÚÎÁ£Ô ÏÐÒÅÄÅÌ£ÎÎÙÅ ÓÐÅÃÉÁÌØÎÙÅ ÓÉÍ×ÏÌÙ É ËÏÎÓÔÒÕËÃÉÉ × +ÐÕÔÑÈ ÐÏÉÓËÁ, ÁÎÁÌÏÇÉÞÎÙÅ ËÏÎÓÔÒÕËÃÉÑÍ × ÓÔÁÎÄÁÒÔÎÙÈ ÏÂÏÌÏÞËÁÈ +UNIX. îÁÐÒÉÍÅÒ, ÓÌÏÖÎÙÊ ÐÕÔØ +\verb+~$USER/{foo,bar}//baz+, ÏÚÎÁÞÁÅÔ ×ÓÅ ÐÏÄÄÉÒÅËÔÏÒÉÉ ÄÉÒÅËÔÏÒÉÊ +\file{foo} É \file{bar} × ÄÏÍÁÛÎÅÊ ÄÉÒÅËÔÏÒÉÉ ÐÏÌØÚÏ×ÁÔÅÌÑ +\texttt{\$USER}, ËÏÔÏÒÙÅ ÓÏÄÅÒÖÁÔ ÆÁÊÌ ÉÌÉ ÐÏÄÄÉÒÅËÔÏÒÉÀ \file{baz}. +üÔÏ ÏÂßÑÓÎÅÎÏ × ÓÌÅÄÕÀÝÉÈ ÒÁÚÄÅÌÁÈ. +%$ +\subsubsection{ðÏÄÓÔÁÎÏ×ËÁ ÐÏ ÕÍÏÌÞÁÎÉÀ} +\label{sec:default-expansion} + + +åÓÌÉ ÐÕÔØ ÐÏÉÓËÁ Ó ÎÁÉÂÏÌØÛÉÍ ÐÒÉÏÒÉÔÅÔÏÍ (ÓÍ. ÒÁÚÄÅÌ <<éÓÔÏÞÎÉËÉ ÐÕÔÅÊ +ÐÏÉÓËÁ>> ÎÁ ÓÔÒ.~\pageref{sec:path-sources}) ÓÏÄÅÒÖÉÔ \emph{ÄÏÐÏÌÎÉÔÅÌØÎÏÅ + Ä×ÏÅÔÏÞÉÅ} (× ÎÁÞÁÌÅ, × ËÏÎÃÅ, Ä×ÏÊÎÏÅ), \KPS{} ÚÁÍÅÎÑÅÔ ÅÇÏ +ÓÌÅÄÕÀÝÉÍ ÐÏ ÐÒÉÏÒÉÔÅÔÕ ÐÕÔ£Í. åÓÌÉ ÜÔÏÔ ×ÓÔÁ×ÌÅÎÎÙÊ ÐÕÔØ ÓÏÄÅÒÖÉÔ +ÄÏÐÏÌÎÉÔÅÌØÎÏÅ Ä×ÏÅÔÏÞÉÅ, ÔÏ ÖÅ ÐÒÏÉÓÈÏÄÉÔ ÓÏ ÓÌÅÄÕÀÝÉÍ ÐÕÔ£Í. +îÁÐÒÉÍÅÒ, ÅÓÌÉ ÐÅÒÅÍÅÎÎÁÑ ÏËÒÕÖÅÎÉÑ ÚÁÄÁÎÁ ËÁË + + +\begin{alltt} +> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} +É \code{TEXINPUTS} × ÆÁÊÌÅ \file{texmf.cnf} ÓÏÄÅÒÖÉÔ + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} +ÔÏ ÐÏÉÓË ÂÕÄÅÔ ÐÒÏÉÓÈÏÄÉÔØ Ó ÐÕÔ£Í + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +ðÏÓËÏÌØËÕ ÂÙÌÏ ÂÙ ÂÅÓÐÏÌÅÚÎÏ ×ÓÔÁ×ÌÑÔØ ÚÎÁÞÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ ÂÏÌÅÅ ÞÅÍ +ÏÄÉÎ ÒÁÚ, \KPS{} ÉÚÍÅÎÑÅÔ ÔÏÌØËÏ ÏÄÎÏ ÌÉÛÎÅÅ Ä×ÏÅÔÏÞÉÅ, É ÏÓÔÁ×ÌÑÅÔ +ÏÓÔÁÌØÎÙÅ: ÏÎÁ ÐÒÏ×ÅÒÑÅÔ ÓÎÁÞÁÌÁ Ä×ÏÅÔÏÞÉÅ × ÎÁÞÁÌÅ, ÐÏÔÏÍ × ËÏÎÃÅ, +ÐÏÔÏÍ Ä×ÏÊÎÙÅ Ä×ÏÅÔÏÞÉÑ. + +\subsubsection{ðÏÄÓÔÁÎÏ×ËÁ ÓËÏÂÏË} +\label{sec:brace-expansion} + +ðÏÌÅÚÎÁ ÔÁËÖÅ ÐÏÄÓÔÁÎÏ×ËÁ ÓËÏÂÏË, ÉÚ-ÚÁ ËÏÔÏÒÏÊ, ÎÁÐÒÉÍÅÒ, +\verb+v{a,b}w+ ÏÚÎÁÞÁÅÔ \verb+vaw:vbw+. ÷ÌÏÖÅÎÎÏÓÔØ ÔÕÔ ÄÏÐÕÓËÁÅÔÓÑ. +âÌÁÇÏÄÁÒÑ ÜÔÏÍÕ ÍÏÖÎÏ ÉÍÅÔØ ÎÅÓËÏÌØËÏ ÉÅÒÁÒÈÉÊ ÄÉÒÅËÔÏÒÉÊ, ÐÒÉÓ×ÏÉ× +\code{\$TEXMF} ÎÅÓËÏÌØËÏ ×ÁÒÉÁÎÔÏ× ÐÕÔÅÊ. +îÁÐÒÉÍÅÒ, × ÆÁÊÌÅ \file{texmf.cnf}, ÍÏÖÎÏ ÎÁÊÔÉ ÓÌÅÄÕÀÝÅÅ ÏÐÒÅÄÅÌÅÎÉÅ +(ÜÔÏ ÕÐÒÏÝÅÎÉÅ, ÎÁ ÓÁÍÏÍ ÄÅÌÅ ÔÁÍ ÅÝ£ ÂÏÌØÛÅ ÄÅÒÅ×ØÅ×): +\begin{verbatim} + TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN} +\end{verbatim} +âÌÁÇÏÄÁÒÑ ÜÔÏÍÕ ÍÏÖÎÏ ÐÉÓÁÔØ ÔÁËÏÅ: +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +ÞÔÏ ÏÚÎÁÞÁÅÔ, ÞÔÏ ËÒÏÍÅ ÔÅËÕÝÅÊ ÄÉÒÅËÔÏÒÉÉ ÂÕÄÅÔ ÐÒÏÉÓÈÏÄÉÔØ ÐÏÉÓË +\emph{ÔÏÌØËÏ} × \code{\$TEXMFHOME/tex}, \code{\$TEXMFLOCAL/tex}, +\code{\$TEXMFVAR/tex} É \code{\$TEXMFMAIN/tex} (ÐÏÓÌÅÄÎÉÅ Ä×Á ÄÅÒÅ×Á +ÉÓÐÏÌØÚÕÀÔ ÆÁÊÌÙ \file{ls-R}). üÔÏ ÕÄÏÂÎÏ ÄÌÑ ÐÏÄÄÅÒÖËÉ Ä×ÕÈ +ÐÁÒÁÌÌÅÌØÎÙÈ ÓÔÒÕËÔÕÒ, <<ÚÁÍÏÒÏÖÅÎÎÏÊ>> (ÎÁÐÒÉÍÅÒ, ÎÁ \CD) É +ÏÂÎÏ×ÌÑÅÍÏÊ ÐÏ ÍÅÒÅ ÐÏÑ×ÌÅÎÉÑ ÎÏ×ÙÈ ×ÅÒÓÉÊ. éÓÐÏÌØÚÕÑ ÐÅÒÅÍÅÎÎÕÀ +\code{\$TEXMF} ×Ï ×ÓÅÈ ÏÐÒÅÄÅÌÅÎÉÑÈ, ÍÏÖÎÏ ÚÁÄÁÔØ ÐÏÉÓË × ÏÂÎÏ×ÌÑÅÍÏÍ +ÄÅÒÅ×Å ÐÅÒ×ÙÍ. + +\subsubsection{ðÏÄÓÔÁÎÏ×ËÁ ÐÏÄÄÉÒÅËÔÏÒÉÊ} +\label{sec:subdirectory-expansion} + +ä×Á ÉÌÉ ÂÏÌÅÅ ÓÌÜÛÁ \samp{/} × ÜÌÅÍÅÎÔÅ ÐÕÔÉ ×ÓÌÅÄ ÚÁ ÉÍÅÎÅÍ ÄÉÒÅËÔÏÒÉÉ +\var{d} ÚÁÍÅÎÑÀÔÓÑ ×ÓÅÍÉ ÐÏÄÄÉÒÅËÔÏÒÉÑÍÉ \var{d} ÒÅËÕÒÓÉ×ÎÏ. îÁ ËÁÖÄÏÍ +ÕÒÏ×ÎÅ ÐÏÒÑÄÏË ÐÏÉÓËÁ ÐÏ ÄÉÒÅËÔÏÒÉÑÍ \emph{ÎÅ ÏÐÒÅÄÅÌ£Î}. + +åÓÌÉ ×Ù ÏÐÒÅÄÅÌÉÔÅ ËÏÍÐÏÎÅÎÔÙ ÉÍÅÎÉ ÆÁÊÌÁ ÐÏÓÌÅ \samp{//}, ÔÏÌØËÏ +ÐÏÄÄÉÒÅËÔÏÒÉÉ Ó ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÍÉ ËÏÍÐÏÎÅÎÔÁÍÉ ÂÕÄÕÔ ×ËÌÀÞÅÎÙ. +îÁÐÒÉÍÅÒ, \samp{/a//b} ÄÁ£Ô ÐÏÄÄÉÒÅËÔÏÒÉÉ \file{/a/1/b}, +\file{/a/2/b}, \file{/a/1/1/b}, É Ô.Ä., ÎÏ ÎÅ \file{/a/b/c} ÉÌÉ +\file{/a/1}. + +÷ÏÚÍÏÖÎÙ ÎÅÓËÏÌØËÏ ËÏÎÓÔÒÕËÃÉÊ \samp{//} × ÏÄÎÏÍ ÐÕÔÉ, ÎÏ +\samp{//} × ÎÁÞÁÌÅ ÐÕÔÉ ÉÇÎÏÒÉÒÕÀÔÓÑ. + +\subsubsection{óÐÉÓÏË ÓÐÅÃÉÁÌØÎÙÈ ÓÉÍ×ÏÌÏ× É ÉÈ ÚÎÁÞÅÎÉÊ} + +÷ ÓÌÅÄÕÀÝÅÍ ÓÐÉÓËÅ ÐÒÉ×ÏÄÑÔÓÑ ÓÐÅÃÉÁÌØÎÙÅ ÓÉÍ×ÏÌÙ × ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÈ +ÆÁÊÌÁÈ \KPS{}. + +\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} +\begin{ttdescription} +\item[\CODE{:}] òÁÚÄÅÌÉÔÅÌØ × ÓÐÅÃÉÆÉËÁÃÉÑÈ ÐÕÔÅÊ; × ÎÁÞÁÌÅ ÉÌÉ ËÏÎÃÅ + ÓÐÅÃÉÆÉËÁÃÉÉ ÏÚÎÁÞÁÅÔ ÐÏÄÓÔÁÎÏ×ËÕ ÐÏ ÕÍÏÌÞÁÎÉÀ. +\item[\CODE{;}] òÁÚÄÅÌÉÔÅÌØ ÐÕÔÅÊ × ÓÉÓÔÅÍÁÈ, ÏÔÌÉÞÎÙÈ ÏÔ UNIX (ÔÏ + ÖÅ, ÞÔÏ \code{:}). +\item[\CODE{\$}] ðÏÄÓÔÁÎÏ×ËÁ ÐÅÒÅÍÅÎÎÙÈ. +\item[\CODE{\string~}] ïÚÎÁÞÁÅÔ ÄÏÍÁÛÎÀÀ ÄÉÒÅËÔÏÒÉÀ ÐÏÌØÚÏ×ÁÔÅÌÑ. +\item[\CODE{\char`\{...\char`\}}] ðÏÄÓÔÁÎÏ×ËÁ ÓËÏÂÏË. +\item[\CODE{//}] ðÏÄÓÔÁÎÏ×ËÁ ÐÏÄÄÉÒÅËÔÏÒÉÊ (ÍÏÖÅÔ ×ÓÔÒÅÔÉÔØÓÑ ÇÄÅ + ÕÇÏÄÎÏ, ËÒÏÍÅ ÎÁÞÁÌÁ ÐÕÔÉ). +\item[\CODE{\%}] îÁÞÁÌÏ ËÏÍÍÅÎÔÁÒÉÑ. +\item[\CODE{\bs}] óÉÍ×ÏÌ ÐÒÏÄÏÌÖÅÎÉÑ (ÄÌÑ ËÏÍÁÎÄ ÉÚ ÎÅÓËÏÌØËÉÈ ÓÔÒÏË). +\item[\CODE{!!}] ðÏÉÓË \emph{ÔÏÌØËÏ} × ÂÁÚÅ ÄÁÎÎÙÈ, ÎÏ \emph{ÎÅ} ÎÁ + ÄÉÓËÅ. +\end{ttdescription} + + +\subsection{âÁÚÙ ÄÁÎÎÙÈ ÆÁÊÌÏ×} +\label{sec:filename-database} + +\KPS{} ÓÔÁÒÁÅÔÓÑ ÍÉÎÉÍÉÚÉÒÏ×ÁÔØ ÏÂÒÁÝÅÎÉÅ Ë ÄÉÓËÕ ÐÒÉ ÐÏÉÓËÅ. ôÅÍ ÎÅ +ÍÅÎÅÅ × ÓÉÓÔÅÍÁÈ Ó ÂÏÌØÛÉÍ ËÏÌÉÞÅÓÔ×ÏÍ ÄÉÒÅËÔÏÒÉÊ ÐÏÉÓË × ËÁÖÄÏÊ +×ÏÚÍÏÖÎÏÊ ÄÉÒÅËÔÏÒÉÉ ÍÏÖÅÔ ÚÁÎÑÔØ ÄÏÌÇÏÅ ×ÒÅÍÑ (ÜÔÏ ÏÓÏÂÅÎÎÏ ×ÅÒÎÏ, +ÅÓÌÉ ÎÁÄÏ ÐÒÏ×ÅÒÉÔØ ÓÏÔÎÉ ÄÉÒÅËÔÏÒÉÊ ÓÏ ÛÒÉÆÔÁÍÉ). ðÏÜÔÏÍÕ \KPS{} +ÕÍÅÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÎÅÛÎÉÊ ÔÅËÓÔÏ×ÙÊ ÆÁÊÌ, +<<ÂÁÚÕ ÄÁÎÎÙÈ>> \file{ls-R}, ËÏÔÏÒÙÊ ÚÎÁÅÔ, ÇÄÅ ÎÁÈÏÄÑÔÓÑ ÆÁÊÌÙ × +ÄÉÒÅËÔÏÒÉÑÈ, ÞÔÏ ÄÁ£Ô ×ÏÚÍÏÖÎÏÓÔØ ÉÚÂÅÖÁÔØ ÞÁÓÔÙÈ ÏÂÒÁÝÅÎÉÊ Ë ÄÉÓËÕ. + +åÝ£ ÏÄÎÁ ÂÁÚÁ ÄÁÎÎÙÈ, ÆÁÊÌ \file{aliases} ÐÏÚ×ÏÌÑÅÔ ×ÁÍ ÄÁ×ÁÔØ +ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÎÁÚ×ÁÎÉÑ ÆÁÊÌÁÍ × \file{ls-R}. üÔÏ ÐÏÌÅÚÎÏ, ÅÓÌÉ ×ÁÍ +ÎÕÖÎÏ ÓÏÂÌÀÄÁÔØ ÐÒÁ×ÉÌÏ \acro{DOS} <<8.3>>. + +\subsubsection{âÁÚÙ ÄÁÎÎÙÈ \texttt{ls-R}} +\label{sec:ls-R} + +ëÁË ÏÂßÑÓÎÅÎÏ ×ÙÛÅ, ÏÓÎÏ×ÎÁÑ ÂÁÚÁ ÄÁÎÎÙÈ ÎÁÚÙ×ÁÅÔÓÑ \file{ls-R}. ÷Ù +ÍÏÖÅÔÅ ÓÏÚÄÁÔØ Å£ × ËÏÒÎÅ ËÁÖÄÏÇÏ ÄÅÒÅ×Á \TeX{}Á, ËÏÔÏÒÏÅ +ÐÒÏÓÍÁÔÒÉ×ÁÅÔÓÑ \KPS{} (ÐÏ ÕÍÏÌÞÁÎÉÀ, \code{\$TEXMF}). \KPS{} ÉÝÅÔ +ÆÁÊÌÙ \file{ls-R} × ÐÕÔÉ \code{TEXMFDBS}. + +òÅËÏÍÅÎÄÕÅÍÙÊ ÓÐÏÓÏ ÓÏÚÄÁÎÉÑ É ÐÏÄÄÅÒÖËÉ \samp{ls-R} "--- ÓËÒÉÐÔ +\code{mktexlsr}, ×ËÌÀÞ£ÎÎÙÊ × ÄÉÓÔÒÉÂÕÔÉ×. ïÎ ×ÙÚÙ×ÁÅÔÓÑ ÒÁÚÎÙÍÉ +ÓËÒÉÐÔÁÍÉ \samp{mktex}\dots. ÷ ÐÒÉÎÃÉÐÅ ÜÔÏÔ ÓËÒÉÐÔ ×ÙÐÏÌÎÑÅÔ ËÏÍÁÎÄÙ +ÔÉÐÁ +\begin{alltt} +cd \var{/your/texmf/root} && \path|\|ls -1LAR ./ >ls-R +\end{alltt} +ÐÒÉ ÕÓÌÏ×ÉÉ, ÞÔÏ × ×ÁÛÅÊ ÓÉÓÔÅÍÅ \code{ls} ÄÁ£Ô ×Ù×ÏÄ × ÎÕÖÎÏÍ ÆÏÒÍÁÔÅ +(\acro{GNU} \code{ls} ÇÏÄÉÔÓÑ). þÔÏÂÙ ÐÏÄÄÅÒÖÉ×ÁÔØ ÂÁÚÕ ÄÁÎÎÙÈ × +ÔÅËÕÝÅÍ ÓÏÓÔÏÑÎÉÉ, ÐÒÏÝÅ ×ÓÅÇÏ ÐÅÒÅÇÅÎÅÒÉÒÏ×ÁÔØ Å£ ÒÅÇÕÌÑÒÎÏ ÉÚ +\code{cron}Á, ÔÁË ÞÔÏ ÏÎÁ Á×ÔÏÍÁÔÉÞÅÓËÉ ÏÂÎÏ×ÌÑÅÔÓÑ ÞÅÒÅÚ ÎÅËÏÔÏÒÏÅ +×ÒÅÍÑ ÐÏÓÌÅ ÕÓÔÁÎÏ×ËÉ ÎÏ×ÏÇÏ ÐÁËÅÔÁ. + +åÓÌÉ ÆÁÊÌ ÎÅ ÎÁÊÄÅÎ × ÂÁÚÅ ÄÁÎÎÙÈ, ÐÏ ÕÍÏÌÞÁÎÉÀ \KPS{} ÉÝÅÔ ÅÇÏ ÎÁ ÄÉÓËÅ. +åÓÌÉ ÜÌÅÍÅÎÔ ÐÕÔÉ ÎÁÞÉÎÁÅÔÓÑ Ó \samp{!!}, ÔÏ ÐÏÉÓË ÐÒÏÉÓÈÏÄÉÔ +\emph{ÔÏÌØËÏ} × ÂÁÚÅ ÄÁÎÎÙÈ. + + +\subsubsection{kpsewhich: ðÒÏÇÒÁÍÍÁ ÄÌÑ ÐÏÉÓËÁ ÆÁÊÌÏ×} +\label{sec:invoking-kpsewhich} + +ðÒÏÇÒÁÍÍÁ \texttt{kpsewhich} ×ÙÐÏÌÎÑÅÔ ÐÏÉÓË × ÓÏÏÔ×ÅÔÓÔ×ÉÉ Ó +ÁÌÇÏÒÉÔÍÏÍ, ÏÐÉÓÁÎÎÙÍ ×ÙÛÅ. üÔÏ ÍÏÖÅÔ ÂÙÔØ ÐÏÌÅÚÎÏ × ËÁÞÅÓÔ×Å +×ÁÒÉÁÎÔÁ ËÏÍÁÎÄÙ \code{find} ÄÌÑ ÐÏÉÓËÁ ÆÁÊÌÏ× × ÉÅÒÁÒÈÉÑÈ \TeX{}Á +(ÜÔÏ ÛÉÒÏËÏ ÉÓÐÏÌØÚÕÅÔÓÑ × ÓËÒÉÐÔÁÈ \samp{mktex}\dots). + +\begin{alltt} +> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} +\end{alltt} +ïÐÃÉÉ, ÕËÁÚÁÎÎÙÅ × \ttvar{option}, ÎÁÞÉÎÁÀÔÓÑ ÌÉÂÏ Ó \samp{-} +ÌÉÂÏ \samp{-{}-}, É ÌÀÂÙÅ ÏÄÎÏÚÎÁÞÎÙÅ ÓÏËÒÁÝÅÎÉÑ ÄÏÐÕÓÔÉÍÙ. + +\KPS{} ÒÁÓÓÍÁÔÒÉ×ÁÅÔ ËÁÖÄÙÊ ÁÒÇÕÍÅÎÔ, ÎÅ Ñ×ÌÑÀÝÉÊÓÑ ÏÐÃÉÅÊ, ËÁË ÉÍÑ +ÆÁÊÌÁ, É ×ÏÚ×ÒÁÝÁÅÔ ÐÅÒ×ÙÊ ÎÁÊÄÅÎÎÙÊ ÆÁÊÌ. îÅÔ ÏÐÃÉÉ ×ÅÒÎÕÔØ ×ÓÅ +ÎÁÊÄÅÎÎÙÅ ÆÁÊÌÙ (ÄÌÑ ÜÔÏÇÏ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÒÏÇÒÁÍÍÕ \samp{find}). + +îÁÉÂÏÌÅÅ ×ÁÖÎÙÅ ÏÐÃÉÉ ÏÐÉÓÁÎÙ ÎÉÖÅ. + +\begin{ttdescription} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{}\\ + õÓÔÁÎÏ×ÉÔØ ÒÁÚÒÅÛÅÎÉÅ \ttvar{num}; ÜÔÏ ×ÌÉÑÅÔ ÔÏÌØËÏ ÎÁ ÐÏÉÓË ÆÁÊÌÏ× + \samp{gf} É \samp{pk}. óÉÎÏÎÉÍ \samp{-D}, ÄÌÑ + ÓÏ×ÍÅÓÔÉÍÏÓÔÉ Ó \cmdname{dvips}. ðÏ ÕÍÏÌÞÁÎÉÀ 600. + +\item[\texttt{-{}-format=\var{name}}]\mbox{}\\ + õÓÔÁÎÏ×ÉÔØ ÆÏÒÍÁÔ ÄÌÑ ÐÏÉÓËÁ \ttvar{name}. ðÏ ÕÍÏÌÞÁÎÉÀ, ÆÏÒÍÁÔ + ÏÐÒÅÄÅÌÑÅÔÓÑ ÉÚ ÉÍÅÎÉ ÆÁÊÌÁ. äÌÑ ÆÏÒÍÁÔÏ×, ÄÌÑ ËÏÔÏÒÙÈ ÎÅÔ + ÏÄÎÏÚÎÁÞÎÏÇÏ ÓÕÆÆÉËÓÁ, ÎÁÐÒÉÍÅÒ, ÆÁÊÌÏ× \MP{} É ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÈ + ÆÁÊÌÏ× \cmdname{dvips}, ×Ù ÄÏÌÖÎÙ ÕËÁÚÁÔØ ÎÁÚ×ÁÎÉÅ, ÉÚ×ÅÓÔÎÏÅ + \KPS{}, ÎÁÐÒÉÍÅÒ, \texttt{tex} ÉÌÉ \texttt{enc files}. óÐÉÓÏË + ×ÁÒÉÁÎÔÏ× ÍÏÖÎÏ ÐÏÌÕÞÉÔØ ËÏÍÁÎÄÏÊ \texttt{kpsewhich -{}-help}. + +\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ + õÓÔÁÎÏ×ÉÔØ ÚÎÁÞÅÎÉÅ ÒÅÖÉÍÁ ÐÅÞÁÔÉ \ttvar{string}; ÜÔÏ ×ÌÉÑÅÔ ÔÏÌØËÏ + ÎÁ ÐÏÉÓË ÆÁÊÌÏ× \samp{gf} É \samp{pk}. úÎÁÞÅÎÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ ÎÅÔ: + ÉÝÕÔÓÑ ÆÁÊÌÙ ÄÌÑ ×ÓÅÈ ÒÅÖÉÍÏ×. + +\item[\texttt{-{}-must-exist}]\mbox{}\\ + óÄÅÌÁÔØ ×Ó£ ×ÏÚÍÏÖÎÏÅ, ÞÔÏÂÙ ÎÁÊÔÉ ÆÁÊÌ ×ËÌÀÞÁÑ ÐÏÉÓË ÎÁ ÄÉÓËÅ. ðÏ + ÕÍÏÌÞÁÎÉÀ ÄÌÑ ÐÏ×ÙÛÅÎÉÑ ÜÆÆÅËÔÉ×ÎÏÓÔÉ ÐÒÏÓÍÁÔÒÉ×ÁÅÔÓÑ ÔÏÌØËÏ ÂÁÚÁ + ÄÁÎÎÙÈ \file{ls-R}. + +\item[\texttt{-{}-path=\var{string}}]\mbox{}\\ + éÓËÁÔØ × ÎÁÂÏÒÅ ÄÉÒÅËÔÏÒÉÊ \ttvar{string} (ËÁË ÏÂÙÞÎÏ, ÒÁÚÄÅÌ£ÎÎÙÈ + Ä×ÏÅÔÏÞÉÑÍÉ), ×ÍÅÓÔÏ ÔÏÇÏ, ÞÔÏÂÙ ×ÙÞÉÓÌÑÔØ ÐÕÔØ ÐÏÉÓËÁ ÐÏ ÉÍÅÎÉ + ÆÁÊÌÁ. \samp{//} É ÏÂÙÞÎÙÅ ÐÏÄÓÔÁÎÏ×ËÉ ÒÁÂÏÔÁÀÔ. ïÐÃÉÉ + \samp{-{}-path} É \samp{-{}-format} ÎÅÓÏ×ÍÅÓÔÉÍÙ. + +\item[\texttt{-{}-progname=\var{name}}]\mbox{}\\ + õÓÔÁÎÏ×ÉÔØ ÉÍÑ ÐÒÏÇÒÁÍÍÙ ÒÁ×ÎÙÍ \texttt{\var{name}}. üÔÏ ×ÌÉÑÅÔ ÎÁ + ÐÕÔØ ÐÏÉÓËÁ ÉÚ-ÚÁ ÐÒÅÆÉËÓÁ \texttt{.\var{progname}}. ðÏ ÕÍÏÌÞÁÎÉÀ + \cmdname{kpsewhich}. + +\item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\ + ðÏËÁÚÁÔØ ÐÕÔØ, ÉÓÐÏÌØÚÕÅÍÙÊ ÐÒÉ ÐÏÉÓËÁÈ ÆÁÊÌÏ× ÔÉÐÁ + \texttt{\var{name}}. íÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÒÁÓÛÉÒÅÎÉÅ (\code{.pk}, + \code{.vf} É Ô.Ä.) ÉÌÉ ÔÉÐ ÆÁÊÌÁ, ËÁË ÄÌÑ ÏÐÃÉÉ \samp{-{}-format}. + +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + õÓÔÁÎÏ×ÉÔØ ÕÒÏ×ÅÎØ ÏÔÌÁÄËÉ \texttt{\var{num}}. +\end{ttdescription} + + + +\subsubsection{ðÒÉÍÅÒÙ ÉÓÐÏÌØÚÏ×ÁÎÉÑ} +\label{sec:examples-of-use} + +äÁ×ÁÊÔÅ ÐÏÓÍÏÔÒÉÍ ÎÁ \KPS{} × ÄÅÊÓÔ×ÉÉ. ÷ÏÔ ÐÒÏÓÔÏÊ ÐÏÉÓË: + +\begin{alltt} +> \Ucom{kpsewhich article.cls} + /usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} +íÙ ÉÝÅÍ ÆÁÊÌ \file{article.cls}. ôÁË ËÁË ÓÕÆÆÉËÓ \samp{.cls} +ÏÄÎÏÚÎÁÞÅÎ, ÎÁÍ ÎÅ ÎÕÖÎÏ ÕËÁÚÙ×ÁÔØ, ÞÔÏ ÍÙ ÉÝÅÍ ÆÁÊÌ ÔÉÐÁ +\optname{tex} (ÉÓÈÏÄÎÉËÉ \TeX{}Á). íÙ ÎÁÈÏÄÉÍ ÅÇÏ × ÐÏÄÄÉÒÅËÔÏÒÉÉ +\file{tex/latex/base} ÄÉÒÅËÔÏÒÉÉ \samp{temf-dist} \TL. áÎÁÌÏÇÉÞÎÏ, +×Ó£ ÐÏÓÌÅÄÕÀÝÅÅ ÎÁÈÏÄÉÔÓÑ ÂÅÚ ÐÒÏÂÌÅÍ ÂÌÁÇÏÄÁÒÑ ÏÄÎÏÚÎÁÞÎÏÍÕ ÓÕÆÆÉËÓÕ: +\begin{alltt} +> \Ucom{kpsewhich array.sty} + /usr/local/texmf-dist/tex/latex/tools/array.sty +> \Ucom{kpsewhich latin1.def} + /usr/local/texmf-dist/tex/latex/base/latin1.def +> \Ucom{kpsewhich size10.clo} + /usr/local/texmf-dist/tex/latex/base/size10.clo +> \Ucom{kpsewhich small2e.tex} + /usr/local/texmf-dist/tex/latex/base/small2e.tex +> \Ucom{kpsewhich tugboat.bib} + /usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib +\end{alltt} + +ëÓÔÁÔÉ, ÐÏÓÌÅÄÎÅÅ "--- ÂÉÂÌÉÏÇÒÁÆÉÞÅÓËÁÑ ÂÁÚÁ ÄÁÎÎÙÈ ÓÔÁÔÅÊ ÖÕÒÎÁÌÁ +\textsl{TUGBoat}. + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} +âÉÔÍÁÐÙ ÛÒÉÆÔÏ× ÔÉÐÁ \file{.pk} ÉÓÐÏÌØÚÕÀÔÓÑ ÐÒÏÇÒÁÍÍÁÍÉ +\cmdname{dvips} É \cmdname{xdvi}. îÉÞÅÇÏ ÎÅ ÎÁÊÄÅÎÏ, ÐÏÓËÏÌØËÕ Õ ÎÁÓ +ÎÅÔ ÇÏÔÏ×ÙÈ ÆÁÊÌÏ× ÛÒÉÆÔÏ× Computer Modern × ÆÏÒÍÁÔÅ \samp{.pk} (ÔÁË +ËÁË ÍÙ ÉÓÐÏÌØÚÕÅÍ ×ÅÒÓÉÉ × ÆÏÒÍÁÔÅ Type~1 ÉÚ ÄÉÓÔÒÉÂÕÔÉ×Á \TL{}). +\begin{alltt} +> \Ucom{kpsewhich wsiupa10.pk} +\ifSingleColumn /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk +\else /usr/local/texmf-var/fonts/pk/ljfour/public/ +... wsuipa/wsuipa10.600pk +\fi\end{alltt} +äÌÑ ÜÔÉÈ ÛÒÉÆÔÏ× (ÆÏÎÅÔÉÞÅÓËÉÊ ÁÌÆÁ×ÉÔ, ÓÏÚÄÁÎÎÙÊ × õÎÉ×ÅÒÓÉÔÅÔÅ +ÛÔÁÔÁ ÷ÁÛÉÎÇÔÏÎ) ÍÙ ÄÏÌÖÎÙ ÓÇÅÎÅÒÉÒÏ×ÁÔØ +\samp{.pk}, É ÔÁË ËÁË ÒÅÖÉÍ \MF{} ÐÏ ÕÍÏÌÞÁÎÉÀ × ÎÁÛÅÊ ÓÉÓÔÅÍÅ +\texttt{ljfour} Ó ÒÁÚÒÅÛÅÎÉÅÍ of 600\dpi{} (ÔÏÞÅË ÎÁ ÄÀÊÍ), ÜÔÏÔ ÛÒÉÆÔ +É ÎÁÊÄÅÎ. +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} +÷ ÜÔÏÍ ÓÌÕÞÁÅ ÎÁÍ ÎÕÖÎÏ ÒÁÚÒÅÛÅÎÉÅ 300\dpi{} (\texttt{-dpi=300}); ÍÙ +×ÉÄÉÍ, ÞÔÏ ÔÁËÏÇÏ ÛÒÉÆÔÁ × ÓÉÓÔÅÍÅ ÎÅÔ. îÁ ÓÁÍÏÍ ÄÅÌÅ ÐÒÏÇÒÁÍÍÁ +\cmdname{dvips} ÉÌÉ \cmdname{xdvi} ÐÏÓÔÒÏÉÌÁ ÂÙ ÎÕÖÎÙÊ ÆÁÊÌ +\texttt{.pk} ÐÒÉ ÐÏÍÏÝÉ ÓËÒÉÐÔÁ \cmdname{mktexpk}. + +ôÅÐÅÒØ ÏÂÒÁÔÉÍÓÑ Ë ÚÁÇÏÌÏ×ËÁÍ É ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÍ ÆÁÊÌÁÍ +\cmdname{dvips}. ÷ÎÁÞÁÌÅ ÒÁÓÓÍÏÔÒÉÍ ÏÄÉÎ ÉÚ ÎÁÉÂÏÌÅÅ ÞÁÓÔÏ +ÉÓÐÏÌØÚÕÅÍÙÈ ÆÁÊÌÏ×, ÐÒÏÌÏÇ \file{tex.pro} ÄÌÑ ÐÏÄÄÅÒÖËÉ \TeX{}Á, Á +ÚÁÔÅÍ ÒÁÓÓÍÏÔÒÉÍ ÏÂÝÉÊ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ \file{config.ps} É ËÁÒÔÕ +ÛÒÉÆÔÏ× \file{psfonts.map} (Ó 2004 ÇÏÄÁ ËÁÒÔÙ É ÆÁÊÌÙ ËÏÄÉÒÏ×ÏË ÉÍÅÀÔ +ÓÏÂÓÔ×ÅÎÎÙÅ ÐÕÔÉ ÐÏÉÓËÁ × ÄÅÒÅ×ØÑÈ \dirname{texmf}). ôÁË ËÁË ÓÕÆÆÉËÓ +\samp{.ps} ÎÅÏÄÎÏÚÎÁÞÅÎ, ÍÙ ÄÏÌÖÎÙÅ Ñ×ÎÏ ÕËÁÚÁÔØ ÔÉÐ ÆÁÊÌÁ, ËÏÔÏÒÙÊ ÍÙ +ÉÝÅÍ: (\optname{dvips config}) ÄÌÑ ÆÁÊÌÁ \texttt{config.ps}. +\begin{alltt} +> \Ucom{kpsewhich tex.pro} + /usr/local/texmf/dvips/base/tex.pro +> \Ucom{kpsewhich --format="dvips config" config.ps} + /usr/local/texmf/dvips/config/config.ps +> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map +\end{alltt} + +òÁÓÓÍÏÔÒÉÍ ÔÅÐÅÒØ ÆÁÊÌÙ ÐÏÄÄÅÒÖËÉ \acro{URW} Times (\PS{}). ðÒÅÆÉËÓ +ÄÌÑ ÜÔÉÈ ÆÁÊÌÏ× × ÓÔÁÎÄÁÒÔÎÏÊ ÓÈÅÍÅ ÏÂÏÚÎÁÞÅÎÉÑ ÛÒÉÆÔÏ× \samp{utm}. +÷ÎÁÞÁÌÅ ÍÙ ÒÁÓÓÍÏÔÒÉÍ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ, ËÏÔÏÒÙÊ ÓÏÄÅÒÖÉÔ ÎÁÚ×ÁÎÉÅ +ËÁÒÔÙ ÛÒÉÆÔÏ×: +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" config.utm} +/usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} +óÏÄÅÒÖÁÎÉÅ ÜÔÏÇÏ ÆÁÊÌÁ: +\begin{alltt} + p +utm.map +\end{alltt} +ÞÔÏ ÕËÁÚÙ×ÁÅÔ ÎÁ ÆÁÊÌ \file{utm.map}, ËÏÔÏÒÙÊ ÍÙ ÈÏÔÉÍ ÔÅÐÅÒØ ÎÁÊÔÉ. +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} +üÔÁ ËÁÒÔÁ ÏÐÒÅÄÅÌÑÅÔ ÎÁÚ×ÁÎÉÑ ÛÒÉÆÔÏ× ÆÏÒÍÁÔÁ Type~1 (\PS{}) × +ËÏÌÌÅËÃÉÉ URW. ïÎÁ ×ÙÇÌÑÄÉÔ ÔÁË (ÍÙ ÐÏËÁÚÙ×ÁÅÍ ÔÏÌØËÏ ÞÁÓÔØ ÆÁÊÌÁ): +\begin{alltt} +utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb +utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb +utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb +utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} +äÁ×ÁÊÔÅ ÎÁÊÄ£Í, ÎÁÐÒÉÍÅÒ, ÆÁÊÌ ÄÌÑ Times Roman +\file{utmr8a.pfb}: +\begin{alltt} +> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +\else /usr/local/texmf-dist/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + +éÚ ÜÔÉÈ ÐÒÉÍÅÒÏ× ×ÉÄÎÏ, ÞÔÏ ×Ù ÍÏÖÅÔÅ ÌÅÇËÏ ÎÁÊÔÉ ÚÁÄÁÎÎÙÊ ÆÁÊÌ. +üÔÏ ÏÓÏÂÅÎÎÏ ×ÁÖÎÏ, ÅÓÌÉ ×Ù ÐÏÄÏÚÒÅ×ÁÅÔÅ, ÞÔÏ ÐÒÏÇÒÁÍÍÙ ÎÁÈÏÄÑÔ +ÎÅÐÒÁ×ÉÌØÎÕÀ ×ÅÒÓÉÀ ÆÁÊÌÁ, ÐÏÓËÏÌØËÕ \cmdname{kpsewhich} ÐÏËÁÚÙ×ÁÅÔ +ÐÅÒ×ÙÊ ÎÁÊÄÅÎÎÙÊ ÆÁÊÌ. + +\subsubsection{ïÔÌÁÄËÁ} +\label{sec:debugging} + +éÎÏÇÄÁ ÎÅÏÂÈÏÄÉÍÏ ÐÒÏ×ÅÒÉÔØ, ËÁË ÐÒÏÇÒÁÍÍÁ ÉÝÅÔ ÆÁÊÌÙ. ó ÜÔÏÊ ÃÅÌØÀ +\KPS{} ÐÒÅÄÌÁÇÁÅÔ ÒÁÚÎÙÅ ÕÒÏ×ÎÉ ÏÔÌÁÄËÉ: + +\begin{ttdescription} +\item[\texttt{\ 1}] ÓÔÁÔÉÓÔÉËÁ ÏÂÒÁÝÅÎÉÊ Ë ÄÉÓËÕ. ðÒÉ ÒÁÂÏÔÅ Ó ÂÁÚÁÍÉ + \file{ls-R} ÜÔÏ ÐÏÞÔÉ ÎÅ ÄÏÌÖÎÏ ÄÁ×ÁÔØ ÚÁÐÉÓÅÊ × ÌÏÇ. +\item[\texttt{\ 2}] óÓÙÌËÉ ÎÁ ÈÅÛÉ (ÎÁÐÒÉÍÅÒ, ÂÁÚÙ ÄÁÎÎÙÈ \file{ls-R}, + ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÅ ÆÁÊÌÙ É Ô.Ä.). +\item[\texttt{\ 4}] ïÐÅÒÁÃÉÉ ÏÔËÒÙÔÉÑ É ÚÁËÒÙÔÉÑ ÆÁÊÌÏ×. +\item[\texttt{\ 8}] ïÂÝÁÑ ÉÎÆÏÒÍÁÃÉÑ Ï ÔÉÐÁÈ ÆÁÊÌÏ×, ËÏÔÏÒÙÅ ÉÝÅÔ + \KPS. üÔÏ ÐÏÌÅÚÎÏ ÄÌÑ ÔÏÇÏ, ÞÔÏÂÙ ÎÁÊÔÉ, ÇÄÅ ÏÐÒÅÄÅÌÑÅÔÓÑ ÔÉÐ ÐÕÔÉ + ÐÏÉÓËÁ ÄÌÑ ÄÁÎÎÏÇÏ ÆÁÊÌÁ. +\item[\texttt{16}] óÐÉÓÏË ÄÉÒÅËÔÏÒÉÊ ÄÌÑ ËÁÖÄÏÇÏ ÜÌÅÍÅÎÔÁ ÐÕÔÉ (ÐÒÉ + ÐÏÉÓËÁÈ ÎÁ ÄÉÓËÅ). +\item[\texttt{32}] ðÏÉÓËÉ ÆÁÊÌÏ×. +\item[\texttt{64}] úÎÁÞÅÎÉÑ ÐÅÒÅÍÅÎÎÙÈ. +\end{ttdescription} +úÎÁÞÅÎÉÅ \texttt{-1} ÚÁÄÁÓÔ ×ÓÅ ÏÐÃÉÉ ×ÙÛÅ; ÉÍÅÎÎÏ ÜÔÏ ÚÎÁÞÅÎÉÅ ÞÁÝÅ +×ÓÅÇÏ ÉÓÐÏÌØÚÕÅÔÓÑ ÎÁ ÐÒÁËÔÉËÅ. + +áÎÁÌÏÇÉÞÎÏ, ÚÁÐÕÓÔÉ× ÐÒÏÇÒÁÍÍÕ \cmdname{dvips} É ÉÓÐÏÌØÚÕÑ ÓÏÞÅÔÁÎÉÅ +ÜÔÉÈ ÏÐÃÉÊ, ÍÏÖÎÏ ÐÒÏÓÌÅÄÉÔØ ÐÏÄÒÏÂÎÏ, ËÁË ÉÝÕÔÓÑ ÆÁÊÌÙ. ó ÄÒÕÇÏÊ +ÓÔÏÒÏÎÙ, ÅÓÌÉ ÆÁÊÌ ÎÅ ÎÁÊÄÅÎ, ÔÒÁÓÓÉÒÏ×ËÁ ÐÏËÁÚÙ×ÁÅÔ, ÇÄÅ ÅÇÏ ÉÓËÁÌÉ, +ÔÁË ÞÔÏ ÍÏÖÎÏ ÐÏÎÑÔØ, × Þ£Í ÓÏÓÔÏÉÔ ÐÒÏÂÌÅÍÁ. + +÷ÏÏÂÝÅ ÇÏ×ÏÒÑ, ÐÏÓËÏÌØËÕ ÂÏÌØÛÉÎÓÔ×Ï ÐÒÏÇÒÁÍÍ ÐÏÌØÚÕÀÔÓÑ ÂÉÂÌÉÏÔÅËÏÊ +\KPS{}, ×Ù ÍÏÖÅÔÅ ÕÓÔÁÎÏ×ÉÔØ ÏÐÃÉÀ ÏÔÌÁÄËÉ ÉÓÐÏÌØÚÕÑ ÐÅÒÅÍÅÎÎÕÀ +ÏËÒÕÖÅÎÉÑ \envname{KPATHSEA\_DEBUG}, É ÕÓÔÁÎÏ×É× Å£ ÎÁ ËÏÍÂÉÎÁÃÉÀ +ÏÐÉÓÁÎÎÙÈ ×ÙÛÅ ÚÎÁÞÅÎÉÊ. + +(ðÒÉÍÅÞÁÎÉÅ ÄÌÑ ÐÏÌØÚÏ×ÁÔÅÌÅÊ Windows: × ÜÔÏÊ ÓÉÓÔÅÍÅ ÔÒÕÄÎÏ +ÐÅÒÅÎÁÐÒÁ×ÉÔØ ×ÓÅ ÓÏÏÂÝÅÎÉÑ × ÆÁÊÌ. äÌÑ ÄÉÁÇÎÏÓÔÉËÉ ×Ù ÍÏÖÅÔÅ ×ÒÅÍÅÎÎÏ +ÕÓÔÁÎÏ×ÉÔØ \texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log}). + + +òÁÓÓÍÏÔÒÉÍ × ËÁÞÅÓÔ×Å ÐÒÉÍÅÒÁ ÐÒÏÓÔÏÊ ÆÁÊÌ × ÆÏÒÍÁÔÅ \LaTeX{}, +\file{hello-world.tex}, ÓÏ ÓÌÅÄÕÀÝÉÍ ÓÏÄÅÒÖÁÎÉÅÍ: +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +üÔÏÔ ÍÁÌÅÎØËÉÊ ÆÁÊÌ ÉÓÐÏÌØÚÕÅÔ ÔÏÌØËÏ ÛÒÉÆÔ \file{cmr10}, ÔÁË ÞÔÏ +ÄÁ×ÁÊÔÅ ÐÏÓÍÏÔÒÉÍ, ËÁË \cmdname{dvips} ÓÏÚÄÁ£Ô ÆÁÊÌ × ÆÏÒÍÁÔÅ \PS{} +(ÍÙ ÈÏÔÉÍ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÅÒÓÉÀ ÛÒÉÆÔÏ× × ÆÏÒÍÁÔÅ Type~1, ÏÔÓÀÄÁ ÏÐÃÉÑ +\texttt{-Pcms}). +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +÷ ÜÔÏÍ ÓÌÕÞÁÅ ÍÙ ÏÂßÅÄÉÎÉÌÉ ÏÔÌÁÄÏÞÎÙÊ ÕÒÏ×ÅÎØ 4 ÄÌÑ \cmdname{dvips} +(ÄÉÒÅËÔÏÒÉÉ ÛÒÉÆÔÏ×) Ó ÐÏÄÓÔÁÎÏ×ËÏÊ ÜÌÅÍÅÎÔÏ× ÐÕÔÅÊ × \KPS (ÓÍ. +òÕËÏ×ÏÄÓÔ×Ï ÐÏÌØÚÏ×ÁÔÅÌÑ \cmdname{dvips}, +\OnCD{texmf/doc/dvips/dvips.pdf}). òÅÚÕÌØÔÁÔ (ÓÌÅÇËÁ +ÏÔÒÅÄÁËÔÉÒÏ×ÁÎÎÙÊ) ÐÏËÁÚÁÎ ÎÁ ÒÉÓÕÎËÅ~\ref{fig:dvipsdbga}. +\begin{figure*}[tp] +\centering +\input{examples/ex6a.tex} +\caption{ðÏÉÓË ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÈ ÆÁÊÌÏ×}\label{fig:dvipsdbga} + +\bigskip + +\input{examples/ex6b.tex} +\caption{ðÏÉÓË ÆÁÊÌÁ ÐÒÏÌÏÇÁ}\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{ðÏÉÓË ÆÁÊÌÁ ÛÒÉÆÔÁ}\label{fig:dvipsdbgc} +\end{figure*} + +ðÒÏÇÒÁÍÍÁ \cmdname{dvips} ×ÎÁÞÁÌÅ ÉÝÅÔ Ó×ÏÉ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÅ ÆÁÊÌÙ. +óÎÁÞÁÌÁ ÎÁÈÏÄÉÔÓÑ \file{texmf.cnf}, ËÏÔÏÒÙÊ ÓÏÄÅÒÖÉÔ ÏÐÒÅÄÅÌÅÎÉÑ ÄÌÑ +ÐÕÔÅÊ ÐÏÉÓËÁ ÏÓÔÁÌØÎÙÈ ÆÁÊÌÏ×, ÚÁÔÅÍ ÂÁÚÁ ÄÁÎÎÙÈ \file{ls-R} (ÄÌÑ +ÏÐÔÉÍÉÚÁÃÉÉ ÐÏÉÓËÁ ÆÁÊÌÏ×) É ÆÁÊÌ \file{aliases}, ËÏÔÏÒÙÊ ÐÏÚ×ÏÌÑÅÔ +ÏÂßÑ×ÉÔØ ÎÅÓËÏÌØËÏ ÉͣΠ(ÎÁÐÒÉÍÅÒ, ËÏÒÏÔËÉÅ 8.3 É ÂÏÌÅÅ ÄÌÉÎÎÙÅ) ÄÌÑ +ÏÄÎÏÇÏ ÆÁÊÌÁ. úÁÔÅÍ \cmdname{dvips} ÉÝÅÔ Ó×ÏÊ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ +\file{config.ps} É ÆÁÊÌ +\file{.dvipsrc} (ËÏÔÏÒÙÊ × ÄÁÎÎÏÍ ÓÌÕÞÁÅ \emph{ÎÅ ÎÁÊÄÅÎ}). îÁËÏÎÅÃ, +\cmdname{dvips} ÎÁÈÏÄÉÔ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ ÄÌÑ ÛÒÉÆÔÏ× Computer +Modern \PS{} \file{config.cms} (ÜÔÏ ÂÙÌÏ ÚÁÄÁÎÏ ÏÐÃÉÅÊ \texttt{-Pcms} +× ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÅ). üÔÏÔ ÆÁÊÌ ÓÏÄÅÒÖÉÔ ÓÐÉÓÏË ËÁÒÔ, ËÏÔÏÒÙÅ +ÏÐÒÅÄÅÌÑÀÔ ÓÏÏÔÎÏÛÅÎÉÑ ÍÅÖÄÕ ÆÁÊÌÁÍÉ × ÆÏÒÍÁÔÁÈ \TeX{}, \PS{} +É ÎÁÚ×ÁÎÉÑÍÉ ÛÒÉÆÔÏ×: +\begin{alltt} +> \Ucom{more /usr/local/texmf/dvips/cms/config.cms} + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map +\end{alltt} +\cmdname{dvips} ÎÁÈÏÄÉÔ ×ÓÅ ÜÔÉ ÆÁÊÌÙ ÐÌÀÓ ÏÂÝÕÀ ËÁÒÔÕ ÛÒÉÆÔÏ× +\file{psfonts.map}, ËÏÔÏÒÁÑ ×ÓÅÇÄÁ ÚÁÇÒÕÖÁÅÔÓÑ (ÏÎÁ ÓÏÄÅÒÖÉÔ ÏÂÙÞÎÙÅ +ÛÒÉÆÔÙ × ÆÏÒÍÁÔÅ \PS{}; ÓÍ. ÐÏÓÌÅÄÎÀÀ ÞÁÓÔØ +ÒÁÚÄÅÌÁ~\ref{sec:examples-of-use}). + +÷ ÜÔÏÔ ÍÏÍÅÎÔ \cmdname{dvips} ÓÏÏÂÝÁÅÔ Ï ÓÅÂÅ ÐÏÌØÚÏ×ÁÔÅÌÀ: +\begin{alltt} +This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) +\end{alltt} +\ifSingleColumn +úÁÔÅÍ ÏÎÁ ÉÝÅÔ ÐÒÏÌÏÇ \file{texc.pro}: +\begin{alltt}\small +kdebug:start search(file=texc.pro, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro +\end{alltt} +\else +úÁÔÅÍ ÏÎÁ ÉÝÅÔ ÐÒÏÌÏÇ \file{texc.pro} (ÓÍ. +ÒÉÓÕÎÏË~\ref{fig:dvipsdbgb}). +\fi + +îÁÊÄÑ ÜÔÏÔ ÆÁÊÌ, \cmdname{dvips} ÐÅÞÁÔÁÅÔ ÄÁÔÕ É ×ÒÅÍÑ, É ÉÎÆÏÒÍÉÒÕÅÔ +ÎÁÓ, ÞÔÏ ÓÏÂÉÒÁÅÔÓÑ ÇÅÎÅÒÉÒÏ×ÁÔØ ÆÁÊÌ \file{hello-world.ps}, ÞÔÏ ÅÊ +ÎÕÖÅÎ ÆÁÊÌ \file{cmr10}, É ÞÔÏ ÐÏÓÌÅÄÎÉÊ Ñ×ÌÑÅÔÓÑ <<ÒÅÚÉÄÅÎÔÎÙÍ>> +(ÂÉÔÍÁÐÙ ÎÅ ÎÕÖÎÙ): +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} +ôÅÐÅÒØ ÏÎÁ ÉÝÅÔ ÆÁÊÌ \file{cmr10.tfm}, ËÏÔÏÒÙÊ ÏÎÁ ÎÁÈÏÄÉÔ, ÚÁÔÅÍ ÅÝ£ +ÎÅÓËÏÌØËÏ ÐÒÏÌÏÇÏ× (ÚÄÅÓØ ÏÎÉ ÏÐÕÝÅÎÙ), É ÎÁËÏÎÅà ÆÁÊÌ ÆÏÒÍÁÔÁ Type~1 +\file{cmr10.pfb} ÎÁÊÄÅÎ É ×ËÌÀÞ£Î × ×ÙÈÏÄÎÏÊ ÆÁÊÌ (ÓÍ, ÐÏÓÌÅÄÎÀÀ +ÓÔÒÏËÕ): +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{ïÐÃÉÉ ÚÁÐÕÓËÁ} + +åÝ£ ÏÄÎÁ ÐÏÌÅÚÎÁÑ ×ÏÚÍÏÖÎÏÓÔØ \Webc{} "--- ÉÚÍÅÎÅÎÉÅ ÐÁÒÁÍÅÔÒÏ× ÐÁÍÑÔÉ +(× ÏÓÏÂÅÎÎÏÓÔÉ ÒÁÚÍÅÒÏ× ÍÁÓÓÉ×Ï×) ÐÒÉ ÚÁÐÕÓËÅ, ×Ï ×ÒÅÍÑ ÞÔÅÎÉÑ ÆÁÊÌÁ +\file{texmf.cnf} ÂÉÂÌÉÏÔÅËÏÊ \KPS{}. ðÁÒÁÍÅÔÒÙ ÐÁÍÑÔÉ ÎÁÈÏÄÑÔÓÑ × +ÞÁÓÔÉ~3 ÜÔÏÇÏ ÆÁÊÌÁ × ÄÉÓÔÒÉÂÕÔÉ×Å \TL{}. ÷ÏÔ ÓÁÍÙÅ ×ÁÖÎÙÅ: + +\begin{ttdescription} +\item[\texttt{main\_memory}] ïÂÝÅÅ ËÏÌÉÞÅÓÔ×Ï ÓÌÏ× × ÐÁÍÑÔÉ ÄÌÑ + ÐÒÏÇÒÁÍÍ \TeX{}, \MF{} É \MP. ðÏÓÌÅ ÉÚÍÅÎÅÎÉÑ ÜÔÏÇÏ ÐÁÒÁÍÅÔÒÁ ÎÁÄÏ + ÐÅÒÅÇÅÎÅÒÉÒÏ×ÁÔØ ÆÏÒÍÁÔ. îÁÐÒÉÍÅÒ, ×Ù ÍÏÖÅÔÅ ÓÏÚÄÁÔØ <<ÏÇÒÏÍÎÕÀ>> + ×ÅÒÓÉÀ \TeX{}Á, É ÎÁÚ×ÁÔØ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÊ ÆÏÒÍÁÔ + \texttt{hugetex.fmt}. ðÏ ÏÂÝÉÍ ÐÒÁ×ÉÌÁÍ \KPS{}, ÚÎÁÞÅÎÉÅ ÐÅÒÅÍÅÎÎÏÊ + \texttt{main\_memory} ÂÕÄÅÔ ÞÉÔÁÔØÓÑ ÉÚ ÆÁÊÌÁ \file{texmf.cnf}. +\item[\texttt{extra\_mem\_bot}] äÏÐÏÌÎÉÔÅÌØÎÁÑ ÐÁÍÑÔØ ÄÌÑ <<ÂÏÌØÛÉÈ>> + ÓÔÒÕËÔÕÒ, ËÏÔÏÒÙÅ ÓÏÚÄÁ£Ô \TeX{}: ÂÏËÓÏ×, ËÌÅÑ É Ô.Ä. ïÓÏÂÅÎÎÏ + ÐÏÌÅÚÎÏ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ \PiCTeX{}Á. +\item[\texttt{font\_mem\_size}] ëÏÌÉÞÅÓÔ×Ï ÓÌÏ× ÉÎÆÏÒÍÁÃÉÉ Ï ÛÒÉÆÔÁÈ + ÄÌÑ \TeX{}Á. üÔÏ ÐÒÉÍÅÒÎÏ ÓÕÍÍÁÒÎÙÊ ÒÁÚÍÅÒ ×ÓÅÈ ÆÁÊÌÏ× TFM, ËÏÔÏÒÙÅ + ÞÉÔÁÅÔ \TeX. +\item[\texttt{hash\_extra}] + äÏÐÏÌÎÉÔÅÌØÎÙÊ ÒÁÚÍÅÒ ÈÅÛÁ ÄÌÑ ÉͣΠËÏÍÁÎÄ. ðÒÉÍÅÒÎÏ 10\,000 ËÏÍÁÎÄ + ÍÏÖÅÔ ÂÙÔØ ÐÏÍÅÝÅÎÏ × ÏÓÎÏ×ÎÏÊ ÈÅÛ. åÓÌÉ ×Ù ÄÅÌÁÅÔÅ ÂÏÌØÛÕÀ ËÎÉÇÕ ÓÏ + ÍÎÏÇÉÍÉ ÐÅÒÅËÒ£ÓÔÎÙÍÉ ÓÓÙÌËÁÍÉ, ÜÔÏÇÏ ÍÏÖÅÔ ÎÅ È×ÁÔÉÔØ. ðÏ ÕÍÏÌÞÁÎÉÀ + \texttt{hash\_extra} ÒÁ×ÅÎ \texttt{50000}. +\end{ttdescription} + +\noindent òÁÚÕÍÅÅÔÓÑ, ÜÔÏ ÎÅ ÚÁÍÅÎÁ ÎÁÓÔÏÑÝÉÈ ÄÉÎÁÍÉÞÅÓËÉÈ ÍÁÓÓÉ×Ï× É +ÒÁÓÐÒÅÄÅÌÅÎÉÑ ÐÁÍÑÔÉ, ÎÏ ÐÏÓËÏÌØËÕ ÜÔÉ ÞÅÒÔÙ ÉÓËÌÀÞÉÔÅÌØÎÏ ÓÌÏÖÎÏ +ÏÓÕÝÅÓÔ×ÉÔØ × ÔÅËÕÝÅÍ \TeX{}Å, ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÜÔÉÈ ÐÁÒÁÍÅÔÒÏ× +ÐÒÅÄÓÔÁ×ÌÑÅÔ ÓÏÂÏÊ ÐÏÌÅÚÎÙÊ ËÏÍÐÒÏÍÉÓÓ É ÏÂÅÓÐÅÞÉ×ÁÅÔ ÎÅËÏÔÏÒÕÀ +ÇÉÂËÏÓÔØ. + + +\begin{comment} +\section{ëÏÍÐÉÌÉÒÏ×ÁÎÉÅ ÄÌÑ ÎÏ×ÏÊ ÐÌÁÔÆÏÒÍÙ ÔÉÐÁ Unix} + + +åÓÌÉ Õ ×ÁÓ ÐÌÁÔÆÏÒÍÁ, ÄÌÑ ËÏÔÏÒÏÊ ÍÙ ÎÅ ÓËÏÍÐÉÌÉÒÏ×ÁÌÉ ÐÒÏÇÒÁÍÍ, ×ÁÍ +ÐÒÉÄ£ÔÓÑ ÜÔÏ ÓÄÅÌÁÔØ ÓÁÍÉÍ. üÔÏ ÎÅ ÔÁË ÕÖ ÓÌÏÖÎÏ. ÷Ó£, ÞÔÏ ×ÁÍ ÍÏÖÅÔ +ÐÏÎÁÄÏÂÉÔØÓÑ, ÅÓÔØ × ÄÉÓÔÒÉÂÕÔÉ×Å × ÄÉÒÅËÔÏÒÉÉ \texttt{source}. + +\subsection{îÅÏÂÈÏÄÉÍÙÅ ÉÎÓÔÒÕÍÅÎÔÙ} + +÷ÁÍ ÎÕÖÎÏ ÐÏ ËÒÁÊÎÅÊ ÍÅÒÅ 100\,Mb ÎÁ ÄÉÓËÅ ÄÌÑ ËÏÍÐÉÌÉÒÏ×ÁÎÉÑ \TeX{}Á É +ÄÒÕÇÉÈ ÐÒÏÇÒÁÍÍ. ÷ÁÍ ÐÏÔÒÅÂÕÅÔÓÑ ËÏÍÐÉÌÑÔÏÒ \acro{ANSI} C, ÐÒÏÇÒÁÍÍÁ +\cmdname{make}, ÌÅËÓÉÞÅÓËÉÊ ÓËÁÎÅÒ É ÇÅÎÅÒÁÔÏÒ ÐÁÒÓÅÒÏ×. íÙ +ÒÅËÏÍÅÎÄÕÅÍ ×ÅÒÓÉÉ ÜÔÉÈ ÐÒÏÇÒÁÍÍ ÏÔ \acro{GNU} +(\cmdname{gcc}, \acro{GNU} \cmdname{make}, \cmdname{m4}, \cmdname{flex}, +\cmdname{bison}). ÷Ù ÍÏÖÅÔÅ ÒÁÂÏÔÁÔØ É Ó ÄÒÕÇÉÍÉ ËÏÍÐÉÌÑÔÏÒÁÍÉ É +×ÅÒÓÉÑÍÉ \cmdname{make}, ÎÏ ×ÁÍ ÐÏÔÒÅÂÕÅÔÓÑ ÇÌÕÂÏËÏÅ ÐÏÎÉÍÁÎÉÅ UNIX, +ÞÔÏÂÙ ÒÁÚÏÂÒÁÔØÓÑ × ×ÏÚÍÏÖÎÙÈ ÐÒÏÂÌÅÍÁÈ. + +ëÒÏÍÅ ÔÏÇÏ, ËÏÍÁÎÄÁ \texttt{uname} ÄÏÌÖÎÁ ÄÁ×ÁÔØ ÒÁÚÕÍÎÙÊ ÒÅÚÕÌØÔÁÔ. + + +\subsection{ëÏÎÆÉÇÕÒÁÃÉÑ} + +óÎÁÞÁÌÁ ÐÒÏÉÚ×ÅÄÉÔÅ ÎÏÒÍÁÌØÎÕÀ ÕÓÔÁÎÏ×ËÕ \TL{} ÎÁ ×ÁÛ ÄÉÓË (ÓÍ. +ÒÁÚÄÅÌ~\ref{sec:unix-install-disk} +\p.~\pageref{sec:unix-install-disk}). ÷Ù ÍÏÖÅÔÅ ÐÒÏÐÕÓÔÉÔØ ÕÓÔÁÎÏ×ËÕ +ÓËÏÍÐÉÌÉÒÏ×ÁÎÎÙÈ ÐÒÏÇÒÁÍÍ. + +úÁÔÅÍ ÒÁÓÐÁËÕÊÔÅ ÉÓÈÏÄÎÉËÉ ÉÚ ÆÁÊÌÁ × ÄÉÒÅËÔÏÒÉÉ \dirname{source} ÎÁ +×ÁÛ ÄÉÓË É ÓÍÅÎÉÔÅ ÄÉÒÅËÔÏÒÉÀ ÔÕÄÁ, ÇÄÅ ×Ù ÒÁÓËÒÙÌÉ ÜÔÏÔ ÆÁÊÌ. + +úÁÔÅÍ ÚÁÐÕÓÔÉÔÅ \cmdname{configure}, ÎÁÐÒÉÍÅÒ, ÔÁË: +\begin{alltt} +> \Ucom{sh configure -prefix=/usr/local/TeX} +\end{alltt} + +äÉÒÅËÔÏÒÉÑ \optname{-prefix} "--- ÜÔÏ ÍÅÓÔÏ, ËÕÄÁ ×Ù ÕÓÔÁÎÏ×ÉÌÉ +ÏÓÎÏ×ÎÏÅ ÄÅÒÅ×Ï ÐÏÄÄÅÒÖËÉ. óÔÒÕËÔÕÒÁ ÄÉÒÅËÔÏÒÉÊ ÂÕÄÅÔ ÔÁËÏ×Á +(\$TEXDIR ÏÚÎÁÞÁÅÔ ×ÙÂÒÁÎÎÕÀ ÄÉÒÅËÔÏÒÉÀ): + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/share/texmf} & ÏÓÎÏ×ÎÏÅ ÄÅÒÅ×Ï ÓÏ ÛÒÉÆÔÁÍÉ,\\ + & \qquad ÍÁËÒÏÓÙ É Ô.Ä.\\ + \dirname{$TEXDIR/man} & ÒÕËÏ×ÏÄÓÔ×Á × ÆÏÒÍÁÔÅ Unix man\\ + \dirname{$TEXDIR/info} & ÒÕËÏ×ÏÄÓÔ×Á × ÆÏÒÍÁÔÅ \acro{GNU} Info \\ + \dirname{$TEXDIR/bin/$PLATFORM} & ÐÒÏÇÒÁÍÍÙ\\ +\end{tabular} +%$ + +åÓÌÉ ×Ù ÈÏÔÉÔÅ ÕÂÒÁÔØ ÕÒÏ×ÅÎØ ÄÉÒÅËÔÏÒÉÊ \dirname{$PLATFORM}, +Ô.Å. ÐÏÍÅÓÔÉÔØ ÐÒÏÇÒÁÍÍÙ ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ × \dirname{$TEXDIR/bin}, +ÄÏÂÁ×ØÔÅ Ë ÏÐÃÉÑÍ \verb|--disable-multiplatform|. + +ðÏÓÍÏÔÒÉÔÅ ÎÁ ÒÅÚÕÌØÔÁÔ \verb|./configure --help| ÄÌÑ ÏÓÔÁÌØÎÙÈ +ÏÐÃÉÊ. îÁÐÒÉÍÅÒ, ×Ù ÍÏÖÅÔÅ ÎÅ ËÏÍÐÉÌÉÒÏ×ÁÔØ \OMEGA{} É +\eTeX{}. + + +\subsection{úÁÐÕÓË \cmdname{make}} + +õÂÅÄÉÔÅÓØ, ÞÔÏ ÐÅÒÅÍÅÎÎÁÑ ÏÂÏÌÏÞËÉ ÉÌÉ ÏÐÃÉÑ \texttt{noclobber} ÎÅ +ÚÁÄÁÎÁ. úÁÔÅÍ ÚÁÐÕÓÔÉÔÅ \cmdname{make}: +\begin{alltt} +> \Ucom{make world} +\end{alltt} +É ÒÁÓÓÌÁÂØÔÅÓØ\ldots + +åÓÌÉ ×Ù ÈÏÔÉÔÅ ÚÁÐÉÓÁÔØ × ÌÏÇ ×ÓÅ ÐÒÏÉÓÈÏÄÑÝÅÅ, ÉÓÐÏÌØÚÕÊÔÅ: +\begin{alltt} +> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} + +ðÅÒÅÄ ÔÅÍ, ËÁË ×Ù ÒÅÛÉÔÅ, ÞÔÏ ×Ó£ ÐÒÏÛÌÏ ÎÏÒÍÁÌØÎÏ, ÐÒÏ×ÅÒØÔÅ ÌÏÇ ÎÁ +ÏÛÉÂËÉ; \acro{GNU} \cmdname{make} ×ÓÅÇÄÁ ÉÓÐÏÌØÚÕÅÔ ÓÔÒÏËÕ \samp{***} +ÐÒÉ ÏÛÉÂËÅ. ëÒÏÍÅ ÔÏÇÏ, ÐÒÏ×ÅÒØÔÅ, ÞÔÏ ×ÓÅ ÐÒÏÇÒÁÍÍÙ +ÓËÏÍÐÉÌÉÒÏ×ÁÌÉÓØ: +\begin{alltt} +> \Ucom{cd \emph{TEXDIR}/bin/\emph{archname}} +> \Ucom{ls | wc} +\end{alltt} +òÅÚÕÌØÔÁÔ ÄÏÌÖÅÎ ÂÙÔØ ÂÏÌØÛÅ 200 (×Ù ÍÏÖÅÔÅ ÐÏÌÕÞÉÔØ ÔÏÞÎÏÅ ÞÉÓÌÏ, +ÐÒÏ×ÅÒÉ× ÓÏÄÅÒÖÉÍÏÅ ÄÉÒÅËÔÏÒÉÉ +\dirname{bin} × ÄÉÓÔÒÉÂÕÔÉ×Å). + +åÓÌÉ ×ÁÍ ÎÕÖÎÙ ÓÐÅÃÉÁÌØÎÙÅ ÐÒÉ×ÉÌÅÇÉÉ ÄÌÑ \texttt{make install}, ×Ù +ÍÏÖÅÔÅ ÒÁÚÄÅÌÉÔØ \samp{make world} ÎÁ Ä×Á ÐÒÉ£ÍÁ: +\begin{alltt} +> \Ucom{make all} +> \Ucom{su} +> \Ucom{make install strip} +\end{alltt} + +ðÏÓÌÅ ÕÓÔÁÎÏ×ËÉ ×ÁÛÉÈ ÎÏ×ÙÈ ÐÒÏÇÒÁÍÍ, ×ÙÐÏÌÎÉÔÅ ÏÂÙÞÎÙÅ ÐÒÏÃÅÄÕÒÙ +ÎÁÓÔÒÏÊËÉ, ÏÐÉÓÁÎÎÙÅ × ÒÁÚÄÅÌÅ~\ref{sec:postinstall}, +\p.~\pageref{sec:postinstall}. + +ëÒÏÍÅ ÔÏÇÏ, ÅÓÌÉ ×Ù ÈÏÔÉÔÅ, ÞÔÏÂÙ ×ÁÛÉÍÉ ÐÒÏÇÒÁÍÍÁÍÉ ÐÏÌØÚÏ×ÁÌÉÓØ +ÄÒÕÇÉÅ ÌÀÄÉ, ÎÁÐÉÛÉÔÅ ÎÁÍ. íÙ ÂÕÄÅÍ ÒÁÄÙ ÐÏÍÅÓÔÉÔØ ÉÈ ÎÁ ÓÔÒÁÎÉÃÙ +\TL{} × ÓÅÔÉ. + +\end{comment} + +\htmlanchor{ack} +\section{âÌÁÇÏÄÁÒÎÏÓÔÉ} + +\TL{} "--- ÒÅÚÕÌØÔÁÔ ÏÂßÅÄÉΣÎÎÙÈ ÕÓÉÌÉÊ ÐÒÁËÔÉÞÅÓËÉ ×ÓÅÈ ÇÒÕÐÐ +ÐÏÌØÚÏ×ÁÔÅÌÅÊ \TeX Á. üÔÏ ÉÚÄÁÎÉÅ \TL{} ×ÙÈÏÄÉÔ ÐÏÄ ÒÅÄÁËÃÉÅÊ ëÁÒÌÁ +âÅÒÒÉ. äÒÕÇÉÅ ÏÓÎÏ×ÎÙÅ Á×ÔÏÒÙ, ÐÒÏÛÌÙÅ É ÎÁÓÔÏÑÝÉÅ, ÐÅÒÅÞÉÓÌÅÎÙ ÎÉÖÅ. +íÙ ÂÌÁÇÏÄÁÒÉÍ: + +\begin{itemize*} + +\item áÎÇÌÏÑÚÙÞÎÕÀ, ÎÅÍÅÃËÕÀ, ÇÏÌÌÁÎÄÓËÕÀ É ÐÏÌØÓËÕÀ ÇÒÕÐÐÙ + ÐÏÌØÚÏ×ÁÔÅÌÅÊ \TeX{}Á (\acro{TUG}, \acro{DANTE} e.V., \acro{NTG} É + \acro{GUST}) ÚÁ ÎÅÏÂÈÏÄÉÍÕÀ ÔÅÈÎÉÞÅÓËÕÀ É ÁÄÍÉÎÉÓÔÒÁÔÉ×ÎÕÀ + ÉÎÆÒÁÓÔÒÕËÔÕÒÕ. ðÏÖÁÌÕÊÓÔÁ, ×ÓÔÕÐÁÊÔÅ × ÇÒÕÐÐÙ ÐÏÌØÚÏ×ÁÔÅÌÅÊ \TeX + Á (ÓÍ. \url{http://tug.org/usergroups.html}). + +\item çÒÕÐÐÕ ÐÏÄÄÅÒÖËÉ \acro{CTAN}, × ÏÓÏÂÅÎÎÏÓÔÉ òÏÂÉÎÁ æÜÊÒÂÜÊÒÎÓÁ, + äÖÉÍÁ èÅÆÆÅÒÏÎÁ É òÁÊÎÅÒÁ ûÏÐÆÁ ÚÁ ÒÁÚÍÅÝÅÎÉÅ ÄÉÓËÏ× \TL{} É + ÐÏÄÄÅÒÖËÕ ÉÎÆÒÁÓÔÒÕËÔÕÒÙ ÏÂÎÏ×ÌÅÎÉÑ ÐÁËÅÔÏ×, ÏÔ ËÏÔÏÒÏÊ ÚÁ×ÉÓÉÔ + \TL. + +\item îÅÌØÓÏÎÁ âÉÂÁ ÚÁ ÐÒÅÄÏÓÔÁ×ÌÅÎÎÙÅ ÒÁÚÒÁÂÏÔÞÉËÁÍ \TL\ ËÏÍÐØÀÔÅÒÙ É + ÚÁ ÔÅÓÔÉÒÏ×ÁÎÉÅ ÄÉÓÔÒÉÂÕÔÉ×Á. + +\item äÖÏÎÁ âÏÕÍÁÎÁ ÚÁ ÒÁÂÏÔÕ ÐÏ ÉÎÔÅÇÒÉÒÏ×ÁÎÉÀ ÅÇÏ ÐÒÏÇÒÁÍÍÙ ÄÌÑ + ÓÌÏÖÎÏÊ ÇÒÁÆÉËÉ Asymptote × \TL. + + +\item ðÉÔÅÒÁ âÒÅÊÔÅÎÌÏÈÎÅÒÁ É ËÏÍÁÎÄÕ ÒÁÚÒÁÂÏÔÞÉËÏ× \eTeX Á ÚÁ + ÓÔÁÂÉÌØÎÙÊ Ä×ÉÖÏË ÄÌÑ ÂÕÄÕÝÉÈ \TeX Ï×, É × ÏÓÏÂÅÎÎÏÓÔÉ ðÉÔÅÒÁ ÚÁ + ÂÌÅÓÔÑÝÕÀ ÒÁÂÏÔÕ Ó ÓÉÓÔÅÍÏÊ \acro{GNU} autoools ÄÌÑ \TL{}. + +\item ãÚÉÎØ-èÕÜÑ þÏÕ É ËÏÍÁÎÄÕ ÒÁÚÒÁÂÏÔÞÉËÏ× DVIPDFM$x$ ÚÁ ÉÈ + ÐÒÅËÒÁÓÎÙÊ ÄÒÁÊ×ÅÒ É ÐÏÍÏÝØ × ÅÇÏ ËÏÎÆÉÇÕÒÁÃÉÉ. + + +\item ôÏÍÁÓÁ üÓÓÅÒÁ, ÂÅÚ ÚÁÍÅÞÁÔÅÌØÎÏÇÏ ÐÁËÅÔÁ \teTeX{} ËÏÔÏÒÏÇÏ \TL{} + ÎÅ ÓÕÝÅÓÔ×Ï×ÁÌ ÂÙ. + +\item íÁÊËÌÁ çÕÓÅÎÓÁ, ËÏÔÏÒÙÊ ÂÙÌ ÓÏÁ×ÔÏÒÏÍ ÐÅÒ×ÏÊ ×ÅÒÓÉÉ ÄÏËÕÍÅÎÔÁÃÉÉ. + + +\item üÊÔÁÎÁ çÕÒÁÒÉ, ÞÅÊ \TeX4ht{} ÉÓÐÏÌØÚÏ×ÁÌÓÑ ÄÌÑ ÓÏÚÄÁÎÉÑ ÆÁÊÌÏ× × + ÆÏÒÍÁÔÅ \HTML{}, É ËÏÔÏÒÙÊ ÎÅÕÓÔÁÎÎÏ ÒÁÂÏÔÁÌ, ÐÏ ÐÅÒ×ÏÍÕ ÔÒÅÂÏ×ÁÎÉÀ + ÄÏÂÁ×ÌÑÑ ÎÕÖÎÙÅ ÎÁÍ ×ÏÚÍÏÖÎÏÓÔÉ. üÊÔÁÎ ÂÅÚ×ÒÅÍÅÎÎÏ ÓËÏÎÞÁÌÓÑ × ÉÀÎÅ + 2009 ÇÏÄÁ, É ÍÙ ÐÏÓ×ÑÝÁÅÍ ÜÔÕ ÄÏËÕÍÅÎÔÁÃÉÀ ÅÇÏ ÐÁÍÑÔÉ. + +\item èÁÎÓÁ èÁÇÅÎÁ ÚÁ ÐÏÍÏÝØ × ÔÅÓÔÉÒÏ×ÁÎÉÉ É ÐÒÉÓÐÏÓÏÂÌÅÎÉÉ ÆÏÒÍÁÔÁ + \ConTeXt\ (\url{http://pragma-ade.com}) Ë \TL. + +\item èÁÎ ôÈÅ ôÈÁÎÑ, íÁÒÔÉÎÁ ûÒ£ÄÅÒÁ É ËÏÍÁÎÄÕ pdf\TeX a + (\url{http://pdftex.org}) ÒÁÓÛÉÒÅÎÉÅ ×ÏÚÍÏÖÎÏÓÔÅÊ \TeX + Á. + +\item èÁÒÔÍÕÔÁ èÅÎËÅÌÑ ÚÁ ÓÕÝÅÓÔ×ÅÎÎÙÊ ×ËÌÁÄ × pdf\TeX\, Lua\TeX{} É + ÄÒÕÇÉÅ ÐÒÏÇÒÁÍÍÙ. + + +\item ôÁËÏ èÏÅË×ÁÔÅÒÁ ÚÁ ×ÏÚÏÂÎÏ×ÌÅÎÉÅ ÒÁÂÏÔÙ ÎÁÄ \MP{} É (Lua)\TeX ÏÍ + (\url{http://luatex.org}) ÚÁ ÉÎÔÅÇÒÉÒÏ×ÁÎÉÅ \ConTeXt Á × \TL, + ÐÁÒÁÌÌÅÌÉÚÁÃÉÀ ÐÒÏÇÒÁÍÍÙ Kpathsea É ÍÎÏÇÏ ÄÒÕÇÏÅ + +\item ðÁ×ÌÁ ñÃËÏ×ÓËÏÇÏ ÚÁ ÉÎÓÔÁÌÌÑÔÏÒ ÄÌÑ Windows \cmdname{tlpm}, É + ôÏÍÁÛÁ ìÕÖÁËÁ ÚÁ \cmdname{tlpmgui}, ÉÓÐÏÌØÚÏ×ÁÎÎÙÅ × ÐÒÏÛÌÙÈ ×ÅÒÓÉÑÈ + \TL{}. + +\item áËÉÒÕ ëÁËÕÔÏ ÚÁ ÂÏÌØÛÕÀ ÐÏÍÏÝØ × ÉÎÔÅÇÒÉÒÏ×ÁÎÉÉ × ÓÉÓÔÅÍÕ + ÐÒÏÇÒÁÍÍ ÄÌÑ Windows ÉÚ ÅÇÏ ÄÉÓÔÒÉÂÕÔÉ×Á \acro{W32TEX} + (\url{http://www.fsci.fuk.kindai.ac.jp/kakuto/win32-ptex/}) É ÍÎÏÇÏÅ + ÄÒÕÇÏÅ. + +\item äÖÏÎÁÔÁÎÁ ëØÀ ÚÁ ÓÏÚÄÁÎÉÅ ÚÁÍÅÞÁÔÅÌØÎÏÊ + ÎÏ×ÏÊ ÓÉÓÔÅÍÙ Xe\TeX{}, ÚÁ ÕÓÉÌÉÑ ÐÏ Å£ ÉÎÔÅÇÒÉÒÏ×ÁÎÉÀ × \TL{}, ÚÁ + ÉÓÈÏÄÎÕÀ ×ÅÒÓÉÀ ÐÒÏÇÒÁÍÍÙ ÕÓÔÁÎÏ×ËÉ Mac\TeX É ÚÁ + ÒÅËÏÍÅÎÄÏ×ÁÎÎÕÀ ÎÁÍÉ ÏÂÏÌÏÞËÕ ÄÌÑ ÒÁÂÏÔÙ × \TeX Å "--- \TeX works. + +\item äÉËÁ ëÏÞÁ ÚÁ ÐÏÄÄÅÒÖËÕ Mac\TeX Á (\url{http://tug.org/mactex}) × + ÔÅÓÎÏÍ ÓÏÔÒÕÄÎÉÞÅÓÔ×Å Ó \TL{}, É ÚÁ ÅÇÏ ÎÅÉÓÔÏÝÉÍÙÈ ÜÎÔÕÚÉÁÚÍ. + +\item òÅÊÎÈÁÒÄÁ ëÏÔÕÞÕ ÚÁ ÏÇÒÏÍÎÕÀ ÒÁÂÏÔÕ ÐÏ ÉÎÆÒÁÓÔÒÕËÔÕÒÅ + \TL{} 2008, ÚÁ ÉÓÓÌÅÄÏ×ÁÔÅÌØÓËÕÀ ÒÁÂÏÔÕ × ÏÂÌÁÓÔÉ Windows, ÚÁ + ÓËÒÉÐÔ \texttt{getnonfreefonts} É ÍÎÏÇÏÅ ÄÒÕÇÏÅ. + + +\item óÉÐÁ ëÒÏÎÅÎÂÅÒÇÁ, ÔÁËÖÅ ÚÁ ÂÏÌØÛÏÊ ×ÌÁÄ × ÉÎÆÒÁÓÔÒÕËÔÕÒÕ \TL{} + 2008 É ÐÒÏÇÒÁÍÍÕ ÕÓÔÁÎÏ×ËÉ, ÏÓÏÂÅÎÎÏ ÄÌÑ Windows, Á ÔÁËÖÅ ÚÁ + ÏÓÎÏ×ÎÕÀ ÒÁÂÏÔÕ ÐÏ ÄÏËÕÍÅÎÔÁÃÉÉ ÎÏ×ÙÈ ×ÏÚÍÏÖÎÏÓÔÅÊ. + + +\item èÅÊËÏ ïÂÅÒÄÉÅËÁ ÚÁ ÐÁËÅÔ \pkgname{epstopdf} É ÍÎÏÇÉÅ ÄÒÕÇÉÅ, + ×ËÌÀÞÁÑ ÓÖÁÔÉÅ ÏÇÒÏÍÎÙÈ ÆÁÊÌÏ× ÐÁËÅÔÁ \pkgname{pst-geo}, ÞÔÏ + ÐÏÚ×ÏÌÉÌÏ ×ËÌÀÞÉÔØ ÉÈ × ÄÉÔÒÉÂÕÔÉ×, É ÇÌÁ×ÎÏÅ "--- ÚÁ ÅÇÏ + ÚÁÍÅÞÁÔÅÌØÎÕÀ ÒÁÂÏÔÕ ÎÁÄ ÐÁËÅÔÏÍ \pkgname{hyperref}. + +\item ðÅÔÒÁ ïÌÛÁËÁ ÚÁ ËÏÏÒÄÉÎÁÃÉÀ É ÔÝÁÔÅÌØÎÕÀ ÐÒÏ×ÅÒËÕ ÞÅÛÓËÏÇÏ É + ÓÌÏ×ÁÃËÏÇÏ ÍÁÔÅÒÉÁÌÁ. + +\item ôÏÛÉÏ ïÛÉÍÕ ÚÁ ÐÒÏÇÒÁÍÍÕ \cmdname{dviout} ÄÌÑ Windows. + + +\item íÁÎÕÜÌÑ ðØÅÇÏÒØÅ-çÏÎÎÁÒÁ ÚÁ ÐÏÍÏÝØ × ÏÂÎÏ×ÌÅÎÉÉ ÐÁËÅÔÏ×, + ÄÏËÕÍÅÎÔÁÃÉÉ É ÒÁÂÏÔÕ ÎÁÄ ÐÒÏÇÒÁÍÍÏÊ \cmdname{texdoc}. + +\item æÁÂÒÉÃÉÑ ðÏÐÉÎØÅ, ÚÁ ÐÏÄÄÅÒÖËÕ Windows × ÐÅÒ×ÙÈ ×ÅÒÓÉÑÈ \TL{} É + ÚÁ ÒÁÂÏÔÕ ÎÁÄ ÆÒÁÎÃÕÚÓËÏÊ ÄÏËÕÍÅÎÔÁÃÉÅÊ. + +\item îÏÒÂÅÒÔÁ ðÒÅÊÎÉÎÇÁ, ËÏÔÏÒÙÊ ÂÙÌ ÇÌÁ×ÎÙÍ ÁÒÈÉÔÅËÔÏÒÏÍ + ÉÎÆÒÁÓÔÒÕËÔÕÒÙ É ÐÒÏÇÒÁÍÍÙ ÕÓÔÁÎÏ×ËÉ \TL{} 2008, Á ÔÁËÖÅ + ËÏÏÒÄÉÎÉÒÏ×ÁÌ ÄÅÂÉÁÎÏ×ÓËÕÀ ×ÅÒÓÉÀ \TL{} (ÓÏ×ÍÅÓÔÎÏ Ó æÒÁÎËÏÍ + ëÀÓÔÅÒÏÍ), ×ÙÄ×ÉÎÕ× ÍÎÏÇÏ ÃÅÎÎÙÈ ÐÒÅÄÌÏÖÅÎÉÊ. + + +\item óÅÂÁÓÔØÑÎÁ òÁÔÃÁ, ÓÏÚÄÁ×ÛÅÇÏ ÐÒÏÅËÔ \TL{} É ÍÎÏÇÏ ÌÅÔ + ÐÏÄÄÅÒÖÉ×Á×ÛÅÇÏ ÅÇÏ. + +\item æÉÌÁ ôÅÊÌÏÒÁ ÚÁ ÏÒÇÁÎÉÚÁÃÉÀ ÓËÁÞÉ×ÁÎÉÑ \TL{} × ÓÉÓÔÅÍÅ BitTorrent. + +\item ôÏÍÁÛÁ ôÖÅÞÁËÁ ÚÁ ÐÏÍÏÝØ × ÒÁÂÏÔÅ ÎÁÄ ×ÅÒÓÉÅÊ ÄÌÑ Windows. + +\item ÷ÌÁÄÉÍÉÒÁ ÷ÏÌÏ×ÉÞÁ ÚÁ ÐÏÍÏÝØ × ÐÏÒÔÉÒÏ×ÁÎÉÉ É ÐÏÄÄÅÒÖËÅ + ÐÒÏÇÒÁÍÍ, × ÏÓÏÂÅÎÎÏÓÔÉ ÚÁ ÒÁÂÏÔÕ ÎÁÄ \cmdname{xindy}, ËÏÔÏÒÁÑ ÄÁÌÁ + ×ÏÚÍÏÖÎÏÓÔØ ×ËÌÀÞÉÔØ ÜÔÕ ÐÒÏÇÒÁÍÍÕ × ÄÉÓÔÒÉÂÕÔÉ×. + +\item óÔÁÛÅËa ÷Á×ÒÉËÅ×ÉÞÁ, ËÏÔÏÒÙÊ ÂÙÌ ÇÌÁ×ÎÙÍ ÔÅÓÔÅÒÏÍ \TL{} É + ËÏÏÒÄÉÎÉÒÏ×ÁÌ ÍÎÏÇÉÅ ÐÏÌØÓËÉÅ ÐÒÏÅËÔÙ: ÛÒÉÆÔÙ, ÕÓÔÁÎÏ×ËÕ ÐÏÄ + Windows É ÍÎÏÇÏÅ ÄÒÕÇÏÅ. + +\item ïÌÁÆÁ ÷ÅÂÅÒÁ ÚÁ ÔÅÒÐÅÌÉ×ÕÀ ÒÁÂÏÔÕ ÎÁÄ \Webc. + +\item çÅÒÂÅÎÁ ÷ÉÅÒÄÕ ÚÁ ÒÁÚÒÁÂÏÔËÕ É ÐÏÄÄÅÒÖËÕ \TeX{}Á ÄÌÑ \MacOSX, + ÕÞÁÓÔÉÅ × ÓÂÏÒËÅ É ÔÅÓÔÉÒÏ×ÁÎÉÉ \TL. + +\item çÒÜÍÁ ÷ÉÌÌÉÁÍÓÁ, ÓÏÚÄÁ×ÛÅÇÏ ËÁÔÁÌÏÇ ÐÁËÅÔÏ× \TeX\ Catalogue. + +\end{itemize*} + +ðÒÏÇÒÁÍÍÙ ËÏÍÐÉÌÉÒÏ×ÁÌÉ: +üÔÔÏÒÅ áÌÄÒÏ×ÁÎÄÉ (\pkgname{i386-solaris}, \pkgname{x86\_64-solaris}). +áÌÁÎ âÒÁÓÌÁÕ (\pkgname{amd64-kfreebsd}, \pkgname{i386-kfreebsd}), +ðÉÔÅÒ âÒÅÊÔÅÎÌÏÈÎÅÒ (\pkgname{x86\_64-linux}), +ëÁÒÌ âÅÒÒÉ (\pkgname{i386-linux}), +ëÅÎ âÒÁÕÎ (\pkgname{i386-cygwin}), +áËÉÒÁ ëÁËÕÔÏ (\pkgname{win32}), +äÉË ëÏÞ (\pkgname{universal-darwin}, \pkgname{x86\_64-darwin}), +îÉËÏÌÁ ìÅÞÉÞ (\pkgname{amd64-freebsd}, \pkgname{i386-freebsd}), +íÏÊËÁ íÉËÌÁ×ÅË (\pkgname{mipsel-linux}), +îÏÒÂÅÒÔ ðÒÅÊÎÉÎÇ (\pkgname{alpha-linux}), +àËËÁ óÁÌÍÉ (\pkgname{i386-netbsd}), +ôÏÍÁÓ ûÍÉÔà (\pkgname{powerpc-linux}), +âÏÒÉÓ ÷ÅÊÃÍÁÎ (\pkgname{armel-linux}), +÷ÌÁÄÉÍÉÒ ÷ÏÌÏ×ÉÞ (\pkgname{powerpc-aix}, \pkgname{sparc-solaris}), +ïÌÁÆ ÷ÅÂÅÒ (\pkgname{mips-irix}). +éÎÆÏÒÍÁÃÉÑ Ï ÐÒÏÃÅÓÓÅ ËÏÍÐÉÌÉÒÏ×ÁÎÉÑ \TL{} ÎÁÈÏÄÉÔÓÑ ÎÁ +\url{http://tug.org/texlive/build.html}. + + +ðÅÒÅ×ÏÄ ÄÏËÕÍÅÎÔÁÃÉÉ: +âÏÒÉÓ ÷ÅÊÃÍÁÎ (ÒÕÓÓËÉÊ), +ãÚÉÇÏÄ ãÚÑÎ, ãÚÉÎØÓÕÎ þÖÁÏ, àÜ ÷ÁÎ É èÜÌÉÎØ çÁÊ (ËÉÔÁÊÓËÉÊ), +õ×Å ãÉÇÅÎÈÁÇÅÎ (ÎÅÍÅÃËÉÊ), +íÁÎÕÜÌØ ðØÅÇÏÒØÅ-çÏÎÎÁÒ (ÆÒÁÎÃÕÚÓËÉÊ), +íÁÒËÏ ðÁÌÌÁÎÔ (ÉÔÁÌØÑÎÓËÉÊ), +îÉËÏÌÁ ìÅÞÉÞ (ÓÅÒÂÓËÉÊ), +ðÅÔÒ óÏÊËÁ É ñÎ âÕÓÁ (ÞÅÛÓËÉÊ É ÓÌÏ×ÁÃËÉÊ), +óÔÁÛÅË ÷Á×ÒÉËÅ×ÉÞ (ÐÏÌØÓËÉÊ). +óÔÒÁÎÉÃÁ ÄÏËÕÍÅÎÔÁÃÉÉ \TL{}: \url{http://tug.org/texlive/doc.html}. + +òÁÚÕÍÅÅÔÓÑ, ÎÁÛÁ ÇÌÁ×ÎÁÑ ÂÌÁÇÏÄÁÒÎÏÓÔØ "--- äÏÎÁÌØÄÕ ëÎÕÔÕ, ×Ï-ÐÅÒ×ÙÈ, +ÚÁ ÒÁÚÒÁÂÏÔËÕ \TeX Á, É ×Ï-×ÔÏÒÙÈ, ÚÁ ÔÏ, ÞÔÏ ÏÎ ÐÏÄÁÒÉÌ ÅÇÏ ÍÉÒÕ. + +\section{éÓÔÏÒÉÑ ÉÚÄÁÎÉÑ} +\label{sec:history} + +\subsection{ðÒÏÛÌÏÅ} + +÷ ËÏÎÃÅ 1993 ÇÏÄÁ × ÇÏÌÌÁÎÄÓËÏÊ ÇÒÕÐÐÅ ÐÏÌØÚÏ×ÁÔÅÌÅÊ \TeX{}Á ×Ï ×ÒÅÍÑ +ÒÁÂÏÔÙ ÎÁÄ ÄÉÓÔÒÉÂÕÔÉ×ÏÍ 4All\TeX{} \CD{} ÄÌÑ ÐÏÌØÚÏ×ÁÔÅÌÅÊ +\acro{MS-DOS} ×ÏÚÎÉËÌÁ ÎÏ×ÁÑ ÉÄÅÑ. âÙÌÁ ÐÏÓÔÁ×ÌÅÎÁ ÃÅÌØ ÓÏÚÄÁÔØ +ÅÄÉÎÙÊ \CD{} ÄÌÑ ×ÓÅÈ ÓÉÓÔÅÍ. üÔÁ ÃÅÌØ ÂÙÌÁ ÞÅÒÅÞÕÒ ÓÌÏÖÎÁ ÄÌÑ ÔÏÇÏ +×ÒÅÍÅÎÉ, ÏÄÎÁËÏ ÏÎÁ ÐÒÉ×ÅÌÁ ÎÅ ÔÏÌØËÏ Ë ÐÏÑ×ÌÅÎÉÀ ÏÞÅÎØ ÕÓÐÅÛÎÏÇÏ \CD{} +4All\TeX{}, ÎÏ É Ë ÓÏÚÄÁÎÉÀ ÒÁÂÏÞÅÊ ÇÒÕÐÐÙ ôÅÈÎÉÞÅÓËÏÇÏ óÏ×ÅÔÁ +\acro{TUG} ÐÏ ÓÔÒÕËÔÕÒÅ ÄÉÒÅËÔÏÒÉÊ ÄÌÑ \TeX{}Á +(\url{http://tug.org/tds}), ËÏÔÏÒÁÑ ÒÁÚÒÁÂÏÔÁÌÁ ÓÔÁÎÄÁÒÔ ÓÔÒÕËÔÕÒÙ +ÄÉÒÅËÔÏÒÉÊ ÄÌÑ ÓÉÓÔÅÍÙ \TeX{} É ÕËÁÚÁÌÁ, ËÁË ÓÏÚÄÁÔØ ÌÏÇÉÞÎÕÀ ÅÄÉÎÕÀ +ÓÉÓÔÅÍÕ ÆÁÊÌÏ× ÄÌÑ \TeX Á. îÅÓËÏÌØËÏ ×ÅÒÓÉÊ \TDS{} ÂÙÌÏ ÏÐÕÂÌÉËÏ×ÁÎÏ +× ÄÅËÁÂÒØÓËÏÍ ×ÙÐÕÓËÅ \textsl{TUGboat} × 1995 ÇÏÄÕ, É Ó ÓÁÍÏÇÏ ÎÁÞÁÌÁ +ÓÔÁÌÏ ÑÓÎÏ, ÞÔÏ ÓÌÅÄÕÅÔ ÓÏÚÄÁÔØ ÐÒÉÍÅÒ ÓÔÒÕËÔÕÒÙ ÎÁ \CD{}. äÉÓÔÒÉÂÕÔÉ×, +ËÏÔÏÒÙÊ ×Ù ÄÅÒÖÉÔÅ × ÒÕËÁÈ, "--- ÐÒÑÍÏÊ ÒÅÚÕÌØÔÁÔ ÒÁÂÏÔÙ ÜÔÏÊ ÇÒÕÐÐÙ. +éÚ ÕÓÐÅÈÁ 4All\TeX{} ÂÙÌ ÓÄÅÌÁÎ ×Ù×ÏÄ, ÞÔÏ ÐÏÌØÚÏ×ÁÔÅÌÑÍ UNIX ÔÁËÖÅ +ÐÏÄÏÊÄ£Ô ÔÁËÁÑ ÕÄÏÂÎÁÑ ÓÉÓÔÅÍÁ, É ÔÁË ÒÏÄÉÌÁÓØ ÄÒÕÇÁÑ ×ÁÖÎÁÑ ÞÁÓÔØ +\TL. + +íÙ ÎÁÞÁÌÉ ÄÅÌÁÔØ \CD{} Ó UNIX É ÓÔÒÕËÔÕÒÏÊ ÄÉÒÅËÔÏÒÉÊ \TDS{} ÏÓÅÎØÀ +1995 ÇÏÄÁ, É ÂÙÓÔÒÏ ÐÏÎÑÌÉ, ÞÔÏ Õ \teTeX{}Á ôÏÍÁÓÁ üÓÓÅÒÁ ÉÄÅÁÌØÎÙÊ +ÓÏÓÔÁ× ÄÉÓÔÒÉÂÕÔÉ×Á É ÐÏÄÄÅÒÖËÁ ÍÎÏÇÉÈ ÐÌÁÔÆÏÒÍ. ôÏÍÁÓ ÓÏÇÌÁÓÉÌÓÑ ÎÁÍ +ÐÏÍÏÞØ, É ÍÙ × ÎÁÞÁÌÅ 1996 ÇÏÄÁ ÓÔÁÌÉ ÓÅÒØ£ÚÎÏ ÒÁÂÏÔÁÔØ ÎÁÄ +ÄÉÓÔÒÉÂÕÔÉ×ÏÍ. ðÅÒ×ÏÅ ÉÚÄÁÎÉÅ ×ÙÛÌÏ × ÍÁÅ 1996 ÇÏÄÁ. ÷ ÎÁÞÁÌÅ 1997 +ÇÏÄÁ ëÁÒÌ âÅÒÒÉ ÚÁ×ÅÒÛÉÌ ÎÏ×ÕÀ ×ÅÒÓÉÀ Web2C, ËÏÔÏÒÁÑ ×ËÌÀÞÉÌÁ +ÐÒÁËÔÉÞÅÓËÉ ×ÓÅ ÎÏ×ÙÅ ×ÏÚÍÏÖÎÏÓÔÉ, ÄÏÂÁ×ÌÅÎÎÙÅ ôÏÍÁÓÏÍ üÓÓÅÒÏÍ × +\teTeX, É ÍÙ ÒÅÛÉÌÉ ÏÓÎÏ×ÁÔØ ×ÔÏÒÏÅ ÉÚÄÁÎÉÅ ÎÁ ÓÔÁÎÄÁÒÔÎÏÍ \Webc, Ó +ÄÏÂÁ×ÌÅÎÉÅÍ ÓËÒÉÐÔÁ \texttt{texconfig} ÉÚ \teTeX{}Á. ôÒÅÔØÅ ÉÚÄÁÎÉÅ +\CD{} ÏÓÎÏ×Ù×ÁÌÏÓØ ÎÁ ÎÏ×ÏÊ ×ÅÒÓÉÉ \Webc{} 7.2, ïÌÁÆÁ ÷ÅÂÅÒÁ; × ÔÏ ÖÅ +×ÒÅÍÑ ÂÙÌÁ ×ÙÐÕÝÅÎÁ ÎÏ×ÁÑ ×ÅÒÓÉÑ \teTeX{}Á, É \TL{} ×ËÌÀÞÉÌ ÐÏÞÔÉ ×ÓÅ +ÅÇÏ ÎÏ×ÙÅ ×ÏÚÍÏÖÎÏÓÔÉ. þÅÔ×ÅÒÔÏÅ ÉÚÄÁÎÉÅ ÓÌÅÄÏ×ÁÌÏ ÔÏÊ ÖÅ ÔÒÁÄÉÃÉÉ, +ÉÓÐÏÌØÚÕÑ ÎÏ×ÕÀ ×ÅÒÓÉÀ \teTeX{}Á É \Webc{} (7.3). ôÅÐÅÒØ × Î£Í ÂÙÌÁ +ÐÏÌÎÁÑ ÓÉÓÔÅÍÁ ÄÌÑ Windows. + +äÌÑ ÐÑÔÏÇÏ ÉÚÄÁÎÉÑ (ÍÁÒÔ 2000 ÇÏÄÁ) ÍÎÏÇÉÅ ÐÁËÅÔÙ ÎÁ \CD{} ÂÙÌÉ +ÐÅÒÅÓÍÏÔÒÅÎÙ É ÐÒÏ×ÅÒÅÎÙ. éÎÆÏÒÍÁÃÉÑ Ï ÐÁËÅÔÁÈ ÂÙÌÁ ÓÏÂÒÁÎÁ × ÆÁÊÌÙ +XML. îÏ ÇÌÁ×ÎÙÍ ÉÚÍÅÎÅÎÉÅÍ × \TeX\ Live 5 ÂÙÌÏ ÕÄÁÌÅÎÉÅ ×ÓÅÈ +ÎÅÓ×ÏÂÏÄÎÙÈ ÐÒÏÇÒÁÍÍ. ÷Ó£ ÎÁ \TL{} ÐÒÅÐÏÌÁÇÁÅÔÓÑ ÓÏ×ÍÅÓÔÉÍÙÍ Ó +ðÒÁ×ÉÌÁÍÉ äÅÂÉÁÎÁ ÄÌÑ ó×ÏÂÏÄÎÙÈ ðÒÏÇÒÁÍÍ +(\url{http://www.debian.org/intro/free}); ÍÙ ÓÄÅÌÁÌÉ ×Ó£, ÞÔÏ ÍÏÇÌÉ, +ÞÔÏÂÙ ÐÒÏ×ÅÒÉÔØ ÌÉÃÅÎÚÉÉ ×ÓÅÈ ÐÁËÅÔÏ×, É ÍÙ ÂÕÄÅÍ ÂÌÁÇÏÄÁÒÎÙ ÚÁ ÌÀÂÏÅ +ÕËÁÚÁÎÉÅ ÎÁ ÏÛÉÂËÉ. + +÷ ÛÅÓÔÏÍ ÉÚÄÁÎÉÉ (ÉÀÌØ 2001 ÇÏÄÁ) ÂÙÌÏ ÍÎÏÇÏ ÎÏ×ÏÇÏ ÍÁÔÅÒÉÁÌÁ. +çÌÁ×ÎÙÍ ÂÙÌÁ ÎÏ×ÁÑ ËÏÎÃÅÐÃÉÑ ÕÓÔÁÎÏ×ËÉ: ÐÏÌØÚÏ×ÁÔÅÌØ ×ÙÂÉÒÁÌ ÎÕÖÎÙÊ +ÎÁÂÏÒ ËÏÌÌÅËÃÉÊ. ñÚÙËÏ×ÙÅ ËÏÌÌÅËÃÉÉ ÂÙÌÉ ÐÏÌÎÏÓÔØÀ ÒÅÏÒÇÁÎÉÚÏ×ÁÎÙ, +ÔÁË ÞÔÏ ×ÙÂÏÒ ÌÀÂÏÊ ÉÚ ÎÉÈ ÕÓÔÁÎÁ×ÌÉ×ÁÌ ÎÅ ÔÏÌØËÏ ÍÁËÒÏÓÙ, ÛÒÉÆÔÙ É É +Ô.Ä., ÎÏ É ×ÎÏÓÉÌ ÉÚÍÅÎÅÎÉÑ × \texttt{language.dat}. + +óÅÄØÍÏÅ ÉÚÄÁÎÉÅ 2002 ÇÏÄÁ ÄÏÂÁ×ÉÌÏ ÐÏÄÄÅÒÖËÕ \MacOSX{}, É ÂÏÌØÛÏÅ +ËÏÌÉÞÅÓÔ×Ï ÏÂÎÏ×ÌÅÎÉÊ ÄÌÑ ÐÁËÅÔÏ× É ÐÒÏÇÒÁÍÍ. ÷ÁÖÎÏÊ ÃÅÌØÀ ÂÙÌÁ +ÉÎÔÅÇÒÁÃÉÑ Ó \teTeX{}ÏÍ, ÞÔÏÂÙ ÉÓÐÒÁ×ÉÔØ ÒÁÓÈÏÖÄÅÎÉÅ, ÎÁÍÅÔÉ×ÛÅÅÓÑ × +×ÅÒÓÉÑÈ~5 É~6. + +\subsubsection{2003} + +÷ 2003 ÇÏÄÕ ÍÙ ÐÒÏÄÏÌÖÉÌÉ ÉÚÍÅÎÅÎÉÑ É ÄÏÐÏÌÎÅÎÉÑ, É ÏÂÎÁÒÕÖÉÌÉ, ÞÔÏ +\TL{} ÔÁË ×ÙÒÏÓ, ÞÔÏ ÎÅ ÐÏÍÅÝÁÅÔÓÑ ÎÁ \CD. ðÏÜÔÏÍÕ ÍÙ ÒÁÚÄÅÌÉÌÉ ÅÇÏ ÎÁ +ÔÒÉ ÄÉÓÔÒÉÂÕÔÉ×Á (ÓÍ. ÒÁÚÄÅÌ~\ref{sec:tl-coll-dists}, +\p.\pageref{sec:tl-coll-dists}). ëÒÏÍÅ ÔÏÇÏ: + +\begin{itemize*} +\item ðÏ ÐÒÏÓØÂÅ Á×ÔÏÒÏ× \LaTeX{}Á, ÍÙ ÓÍÅÎÉÌÉ ÓÔÁÎÄÁÒÔÎÙÅ ËÏÍÁÎÄÙ + \cmdname{latex} É \cmdname{pdflatex}: ÔÅÐÅÒØ ÏÎÉ ÉÓÐÏÌØÚÕÀÔ \eTeX{} + (ÓÍ. ÓÔÒ.~\pageref{text:etex}). +\item îÏ×ÙÅ ÛÒÉÆÔÙ Latin Modern ×ËÌÀÞÅÎÙ É ÒÅËÏÍÅÎÄÏ×ÁÎÙ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ. +\item õÂÒÁÎÁ ÐÏÄÄÅÒÖËÁ ÄÌÑ Alpha \acro{OSF} + (ÐÏÄÄÅÒÖËÁ ÄÌÑ \acro{HPUX} ÂÙÌÁ ÕÂÒÁÎÁ ÒÁÎÅÅ), ÐÏÓËÏÌØËÕ ÎÉËÔÏ + ÎÅ ÉÍÅÌ (É ÎÅ ÐÒÅÄÌÏÖÉÌ) ËÏÍÐØÀÔÅÒÏ× ÄÌÑ ËÏÍÐÉÌÉÒÏ×ÁÎÉÑ + ÐÒÏÇÒÁÍÍ. +\item óÉÌØÎÏ ÉÚÍÅÎÉÌÁÓØ ÕÓÔÁÎÏ×ËÁ ÄÌÑ Windows: ×ÐÅÒ×ÙÅ ÂÙÌÁ ÐÒÅÄÌÏÖÅÎÁ + ÉÎÔÅÇÒÉÒÏ×ÁÎÎÁÑ ÓÒÅÄÁ ÎÁ ÏÓÎÏ×Å ÒÅÄÁËÔÏÒÁ XEmacs. +\item äÏÂÁ×ÌÅÎÙ ×ÓÐÏÍÏÇÁÔÅÌÎÙÅ ÐÒÏÇÒÁÍÍÙ ÄÌÑ Windows + (Perl, Ghost\-script, Image\-Magick, Ispell). +\item æÁÊÌÙ Fontmap ÄÌÑ \cmdname{dvips}, \cmdname{dvipdfm} + É \cmdname{pdftex} ÇÅÎÅÒÉÒÕÀÔÒÓÑ ÐÒÏÇÒÁÍÍÏÊ + \cmdname{updmap} É ÕÓÔÁÎ×ÁÌÉ×ÁÀÔÓÑ × \dirname{texmf/fonts/map}. +\item \TeX{}, \MF{}, and \MP{} ÔÅÐÅÒØ ÐÏ ÕÍÏÌÞÁÎÉÀ ×Ù×ÏÄÑÔ ÓÉÍ×ÏÌÙ + ÉÚ ×ÅÒÈÎÅÊ ÐÏÌÏ×ÉÎÙ ÔÁÂÌÉÃÙ ASCII × ÆÁÊÌÙ, ÏÔËÒÙÔÙÅ + ËÏÍÁÎÄÏÊ \verb|\write|, ÌÏÇÉ É ÎÁ ÔÅÒÍÉÎÁÌ ÂÕË×ÁÌØÎÏ, + Ô.Å. \emph{ÎÅ} ÉÓÐÏÌØÚÕÑ ÆÏÒÍÁÔ \verb|^^|. ÷ \TL{}~7 ÜÔÏ ÚÁ×ÉÓÅÌÏ ÏÔ + ÓÉÓÔÅÍÎÏÊ ÌÏËÁÌÉ, ÎÏ ÔÅÐÅÒØ ÜÔÏ ×ÅÒÎÏ ÄÌÑ ×ÓÅÈ ÌÏËÁÌÅÊ. åÓÌÉ + ×ÁÍ ÎÕÖÅÎ ÆÏÒÍÁÔ \verb|^^|, ÐÅÒÅÉÍÅÎÕÊÔÅ ÆÁÊÌ + \verb|texmf/web2c/cp8bit.tcx|. ÷ ÂÕÄÕÝÅÍ ÜÔÁ ÐÒÏÃÅÄÕÒÁ ÂÕÄÅÔ + ÕÐÒÏÝÅÎÁ. +\item äÏËÕÍÅÎÔÁÃÉÑ ÂÙÌÁ ÓÕÝÅÓÔ×ÅÎÎÏ ÏÂÎÏ×ÌÅÎÁ. +\item îÁËÏÎÅÃ, ÉÚ-ÚÁ ÔÏÇÏ, ÞÔÏ ÎÕÍÅÒÁÃÉÑ ÐÏ ÉÚÄÁÎÉÑÍ ÓÔÁÌÁ ÎÅÕÄÏÂÎÏÊ, + ÍÙ ÐÅÒÅÛÌÉ ÎÁ ÎÕÍÅÒÁÃÉÀ ÐÏ ÇÏÄÁÍ: \TL{} 2003. +\end{itemize*} + +\subsubsection{2004} + +÷ 2004 ÇÏÄÕ ÍÙ ×ÎÅÓÌÉ ÍÎÏÇÏ ÉÚÍÅÎÅÎÉÊ. + +\begin{itemize} + +\item åÓÌÉ Õ ×ÁÓ ÅÓÔØ ÌÏËÁÌØÎÙÅ ÛÒÉÆÔÙ Ó ÓÏÂÓÔ×ÅÎÎÙÍÉ ÆÁÊÌÁÍÉ + \filename{.map} ÉÌÉ \filename{.enc}, ×ÁÍ ÍÏÖÅÔ ÐÏÎÁÄÏÂÉÔØÓÑ + ÐÅÒÅÍÅÓÔÉÔØ ÜÔÉ ÆÁÊÌÙ. + + æÁÊÌÙ \filename{.map} ÔÅÐÅÒØ ÉÝÕÔÓÑ ÔÏÌØËÏ × ÐÏÄÄÉÒÅËÔÏÒÉÑÈ + \dirname{fonts/map} (× ËÁÖÄÏÍ ÄÅÒÅ×Å \filename{texmf}) × ÐÕÔÉ + \envname{TEXFONTMAPS}. áÎÁÌÏÇÉÞÎÏ ÆÁÊÌÙ \filename{.enc} ÔÅÐÅÒØ + ÉÝÕÔÓÑ × ÔÏÌØËÏ × ÐÏÄÄÉÒÅËÔÏÒÉÑÈ \dirname{fonts/enc} × ÐÕÔÉ + \envname{ENCFONTS}. ðÒÏÇÒÁÍÍÁ \cmdname{updmap} ÐÒÅÄÕÐÒÅÖÄÁÅÔ, ÅÓÌÉ + ÎÁÈÏÄÉÔ ÜÔÉ ÆÁÊÌÙ ÎÅ ÔÁÍ, ÇÄÅ ÏÎÉ ÄÏÌÖÎÙ ÂÙÔØ. + + óÍ. ÏÐÉÓÁÎÉÅ ÜÔÏÊ ÓÔÒÕËÔÕÒÙ ÎÁ + \url{http://tug.org/texlive/mapenc.html}. + +\item ë ËÏÌÌÅËÃÉÉ \TK{} ÂÙÌ ÄÏÂÁ×ÌÅÎ ÕÓÔÁÎÏ×ÏÞÎÙÊ \CD{} Ó + ÄÉÓÔÒÉÂÕÔÉ×ÏÍ \MIKTEX{} ÄÌÑ ÔÅÈ, ËÔÏ ÐÒÅÄÐÏÞÉÔÁÅÔ \MIKTEX{} + ÐÒÏÇÒÁÍÍÁÍ, ÏÓÎÏ×ÁÎÎÙÍ ÎÁ \Webc. óÍ. ÒÁÚÄÅÌ~\ref{sec:overview-tl} + (\p.\pageref{sec:overview-tl}). + + +\item äÅÒÅ×Ï \dirname{texmf} × \TL{} ÂÙÌÏ ÒÁÚÄÅÌÅÎÏ ÎÁ ÔÒÉ: + \dirname{texmf}, \dirname{texmf-dist} É \dirname{texmf-doc}. + óÍ. ÒÁÚÄÅÌ~\ref{sec:tld} (\p.\pageref{sec:tld}) É ÆÁÊÌÙ + \filename{README} × ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÈ ÄÉÒÅËÔÏÒÉÑÈ. + +\item ÷ÓÅ ÆÁÊÌÙ, ËÏÔÏÒÙÅ ÞÉÔÁÅÔ \TeX, ÓÏÂÒÁÎÙ × ÐÏÄÄÉÒÅËÔÏÒÉÉ + \dirname{tex} ÄÅÒÅ×ØÅ× \dirname{texmf*} ×ÍÅÓÔÏ ÒÁÚÄÅÌÅÎÉÑ ÎÁ + \dirname{tex}, \dirname{etex}, \dirname{pdftex}, \dirname{pdfetex} É + Ô.Ä. óÍ. \CDref{texmf-doc/doc/english/tds/tds.html\#Extensions} + {\texttt{texmf-doc/doc/english/tds/tds.html\#Extensions}}. + + +\item ÷ÓÐÏÍÏÇÁÔÅÌØÎÙÅ ÓËÒÉÐÔÙ (×ÙÚÙ×ÁÅÍÙÅ ÄÒÕÇÉÍÉ ÐÒÏÇÒÁÍÍÁÍÉ, Á ÎÅ + ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ ÐÏÌØÚÏ×ÁÔÅÌÅÍ) ÔÅÐÅÒØ ÓÏÂÒÁÎÙ × ÄÉÒÅËÔÏÒÉÉ + \dirname{scripts} ÄÅÒÅ×ØÅ× \dirname{texmf*} É ÉÝÕÔÓÑ ËÏÍÁÎÄÏÊ + \verb|kpsewhich -format=texmfscripts|. ðÏÜÔÏÍÕ ÅÓÌÉ Õ ×ÁÓ ÅÓÔØ + ÐÒÏÇÒÁÍÍÙ, ËÏÔÏÒÙÅ ×ÙÚÙ×ÁÀÔ ÔÁËÉÅ ÓËÒÉÐÔÙ, ÉÈ ÎÁÄÏ ÉÚÍÅÎÉÔØ. óÍ. + \CDref{texmf-doc/doc/english/tds/tds.html\#Scripts} + {\texttt{texmf-doc/doc/english/tds/tds.html\#Scripts}}. + + +\item ðÏÞÔÉ ×ÓÅ ÆÏÒÍÁÔÙ ÔÅÐÅÒØ ÐÅÞÁÔÁÀÔ ÂÏÌØÛÉÎÓÔ×Ï ÓÉÍ×ÏÌÏ× + ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ, ÉÓÐÏÌØÚÕÑ <<ÔÁÂÌÉÃÙ ÐÅÒÅ×ÏÄÁ>> \filename{cp227.tcx} + ×ÍÅÓÔÏ ÆÏÒÍÁÔÁ \verb|^^|. ÷ ÞÁÓÔÎÏÓÔÉ, ÓÉÍ×ÏÌÙ Ó ËÏÄÁÍÉ 32--256 + ÐÌÀÓ ÔÁÂÕÌÑÃÉÑ, ×ÅÒÔÉËÁÌØÎÁÑ ÔÁÂÕÌÑÃÉÑ É ÐÅÒÅ×ÏÄ ÓÔÒÁÎÉÃÙ ÐÅÞÁÔÁÀÔÓÑ + ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ. éÓËÌÀÞÅÎÉÑÍÉ Ñ×ÌÑÀÔÓÑ plain \TeX{} (ÐÅÞÁÔÁÀÔÓÑ + ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ ÓÉÍ×ÏÌÙ 32--127), \ConTeXt{} (0--255) É ÆÏÒÍÁÔÙ, + ÏÔÎÏÓÑÝÉÅÓÑ Ë ÐÒÏÇÒÁÍÍÅ \OMEGA. üÔÏ ÐÏ×ÅÄÅÎÉÅ ÐÏÞÔÉ ÔÁËÏÅ ÖÅ, ËÁË Õ + \TL\,2003, ÎÏ ÒÅÁÌÉÚÏ×ÁÎÏ ÂÏÌÅÅ ÁËËÕÒÁÔÎÏ, Ó Â\'ÏÌØÛÅÊ ×ÏÚÍÏÖÎÏÓÔØÀ + ÎÁÓÔÒÏÊËÉ. óÍ. \CDref{texmf/doc/web2c/web2c.html\#TCX-files} + {\texttt{texmf/doc/web2c/web2c.html\#TCX-files}}. (ëÓÔÁÔÉ, ÐÒÉ ××ÏÄÅ + × Unicode, \TeX\ ÍÏÖÅÔ ×Ù×ÏÄÉÔØ ÐÒÉ ÕËÁÚÁÎÉÉ ÎÁ ÏÛÉÂËÕ ÔÏÌØËÏ ÞÁÓÔØ + ÍÎÏÇÏÂÁÊÔÎÏÇÏ ÓÉÍ×ÏÌÁ, ÔÁË ËÁË ×ÎÕÔÒÉ \TeX\ ÒÁÂÏÔÁÅÔ Ó ÂÁÊÔÁÍÉ). + + +\item \textsf{pdfetex} ÔÅÐÅÒØ ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ×ÓÅÈ ÆÏÒÍÁÔÏ×, ËÒÏÍÅ + plain \textsf{tex}. (òÁÚÕÍÅÅÔÓÑ, ÏÎ ÄÅÌÁÅÔ ÆÁÊÌÙ × ÆÏÒÍÁÔÅ + \acro{DVI}, ÅÓÌÉ ×ÙÚ×ÁÎ ËÁË \textsf{latex} É Ô.Ð.). üÔÏ ÏÚÎÁÞÁÅÔ, + ÐÏÍÉÍÏ ÐÒÏÞÅÇÏ, ÞÔÏ ×ÏÚÍÏÖÎÏÓÔÉ \textsf{pdftex}a ÄÌÑ ÍÉËÒÏÔÉÐÏÇÒÁÆÉÉ + Á ÔÁËÖÅ ×ÏÚÍÏÖÎÏÓÔÉ \eTeX Á ÄÏÓÔÕÐÎÙ × ÆÏÒÍÁÔÁÈ \LaTeX, \ConTeXt{} É + Ô.Ä. (\OnCD{texmf-dist/doc/etex/base/}). + + üÔÏ ÔÁËÖÅ ÏÚÎÁÞÁÅÔ, ÞÔÏ ÔÅÐÅÒØ \emph{ÏÞÅÎØ ×ÁÖÎÏ} ÉÓÐÏÌØÚÏ×ÁÔØ ÐÁËÅÔ + \pkgname{ifpdf} (ÒÁÂÏÔÁÅÔ É Ó plain, É Ó \LaTeX) ÉÌÉ ÜË×É×ÁÌÅÎÔÎÙÅ + ÓÒÅÄÓÔ×Á, ÐÏÓËÏÌØËÕ ÐÒÏÓÔÏ ÐÒÏ×ÅÒËÁ, ÏÐÒÅÄẠ̊ΠÌÉ \cs{pdfoutput} ÉÌÉ + ÄÒÕÇÏÊ ÐÒÉÍÉÔÉ× ÎÅ ÄÏÓÔÁÔÏÞÎÁ ÄÌÑ ÔÏÇÏ, ÞÔÏÂÙ ÐÏÎÑÔØ, × ËÁËÏÍ + ÆÏÒÍÁÔÅ ÇÅÎÅÒÉÒÕÅÔÓÑ ÒÅÚÕÌØÔÁÔ. íÙ ÓÄÅÌÁÌÉ ×Ó£ ×ÏÚÍÏÖÎÏÅ ÄÌÑ + ÓÏ×ÍÅÓÔÉÍÏÓÔÉ × ÜÔÏÍ ÇÏÄÕ, ÎÏ × ÂÕÄÕÝÅÍ ÇÏÄÕ \cs{pdfoutput} ÍÏÖÅÔ + ÂÙÔØ ÏÐÒÅÄẠ̊ΠÄÁÖÅ ÅÓÌÉ ÇÅÎÅÒÉÒÕÅÔÓÑ \acro{DVI}. + + +\item õ ÐÒÏÇÒÁÍÍÙ pdf\TeX\ (\url{http://pdftex.org}) ÍÎÏÇÏ ÎÏ×ÙÈ + ×ÏÚÍÏÖÎÏÓÔÅÊ: + + \begin{itemize*} + + \item ðÏÄÄÅÒÖËÁ ËÁÒÔ ÛÒÉÆÔÏ× ÉÚÎÕÔÒÉ ÄÏËÕÍÅÎÔÁ ÐÒÉ ÐÏÍÏÝÉ + \cs{pdfmapfile} É \cs{pdfmapline}. + + \item íÉËÒÏÔÉÐÏÇÒÁÆÉÞÅÓËÉÅ ÒÁÓÛÉÒÅÎÉÑ ÍÏÇÕÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÙ + ÎÁÍÎÏÇÏ + ÐÒÏÝÅ.\\ + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} + + + \item ÷ÓÅ ÐÁÒÁÍÅÔÒÙ, ÒÁÎÅÅ ÚÁÄÁ×Á×ÛÉÅÓÑ × ÓÐÅÃÉÁÌØÎÏÍ + ËÏÎÆÉÇÕÒÁÃÉÏÎÎÏÍ ÆÁÊÌÅ \filename{pdftex.cfg}, ÔÅÐÅÒØ ÄÏÌÖÎÙ ÂÙÔØ + ÕÓÔÁÎÏ×ÌÅÎÙ ÐÒÉÍÉÔÉ×ÁÍÉ, ÎÁÐÒÉÍÅÒ, × ÆÁÊÌÅ + \filename{pdftexconfig.tex}. æÁÊÌ \filename{pdftex.cfg} ÂÏÌØÛÅ ÎÅ + ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ. ðÒÉ ÉÚÍÅÎÅÎÉÉ ÆÁÊÌÁ \filename{pdftexconfig.tex} + ×ÓÅ ÆÏÒÍÁÔÙ \filename{.fmt} ÄÏÌÖÎÙ ÂÙÔØ ÐÅÒÅÇÅÎÅÒÉÒÏ×ÁÎÙ. + + \item ïÓÔÁÌØÎÙÅ ÉÚÍÅÎÅÎÉÑ ÏÐÉÓÁÎÙ × ÒÕËÏ×ÏÄÓÔ×Å ÐÏÌØÚÏ×ÁÔÅÌÑ + ÐÒÏÇÒÁÍÍÏÊ pdf\TeX: \OnCD{texmf/doc/pdftex/manual}. + + \end{itemize*} + + +\item ðÒÉÍÉÔÉ× \cs{input} × ÐÒÏÇÒÁÍÍÅ \cmdname{tex} (É \cmdname{mf} É + \cmdname{mpost}) ÔÅÐÅÒØ ÐÒÁ×ÉÌØÎÏ ÉÎÔÅÒÐÒÅÔÉÒÕÅÔ ÐÒÏÂÅÌÙ É ÄÒÕÇÉÅ + ÓÐÅÃÉÁÌØÎÙÅ ÓÉÍ×ÏÌÙ × Ä×ÏÊÎÙÈ ËÁ×ÙÞËÁÈ. ÷ÏÔ ÔÉÐÉÞÎÙÅ ÐÒÉÍÅÒÙ: +\begin{verbatim} +\input "filename with spaces" % plain +\input{"filename with spaces"} % latex +\end{verbatim} +óÍ. ÐÏÄÒÏÂÎÏÓÔÉ × ÒÕËÏ×ÏÄÓÔ×Å Ë ÐÒÏÇÒÁÍÍÅ \Webc: \OnCD{texmf/doc/web2c}. + + +\item ðÏÄÄÅÒÖËÁ enc\TeX Á ×ËÌÀÞÅÎÁ × \Webc, É ÐÏÜÔÏÍÕ ×Ï ×ÓÅ + ÐÒÏÇÒÁÍÍÙ \TeX, ËÏÔÏÒÙÅ ÔÅÐÅÒØ ÐÏÄÄÅÒÖÉ×ÁÀÔ ÏÐÃÉÀ \optname{-enc} + (ÔÏÌØËÏ ÐÒÉ ÇÅÎÅÒÉÒÏ×ÁÎÉÉ ÆÏÒÍÁÔÏ×). enc\TeX{} + ÏÂÅÓÐÅÞÉ×ÁÅÔ ÏÂÝÕÀ ÐÅÒÅËÏÄÉÒÏ×ËÕ ×ÈÏÄÎÏÇÏ É ×ÙÈÏÄÎÏÇÏ ÐÏÔÏËÏ×, ÞÔÏ + ÐÏÚ×ÏÌÑÅÔ ÐÏÌÎÕÀ ÐÏÄÄÅÒÖËÕ Unicode (× \acro{UTF}-8). + óÍ. \OnCD{texmf-dist/doc/generic/enctex/} É + \url{http://www.olsak.net/enctex.html}. + +\item ÷ ÄÉÓÔÒÉÂÕÔÉ×Å ÐÏÑ×ÉÌÁÓØ ÎÏ×ÁÑ ÐÒÏÇÒÁÍÍÁ Aleph, ÓÏÞÅÔÁÀÝÁÑ + \eTeX\ É \OMEGA. ëÒÁÔËÁÑ ÉÎÆÏÒÍÁÃÉÑ Ï ÎÅÊ ÎÁÈÏÄÉÔÓÑ × + \OnCD{texmf-dist/doc/aleph/base} É + \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph}. æÏÒÍÁÔ + ÄÌÑ \LaTeX Á ÎÁ ÏÓÎÏ×Å ÜÔÏÊ ÐÒÏÇÒÁÍÍÙ ÎÁÚÙ×ÁÅÔÓÑ \textsf{lamed}. + +\item ðÏÓÌÅÄÎÑÑ ×ÅÒÓÉÑ \LaTeX Á ×ËÌÀÞÁÅÔ ÎÏ×ÕÀ ×ÅÒÓÉÀ ÌÉÃÅÎÚÉÉ + \acro{LPPL} "--- ÔÅÐÅÒØ ÏÆÉÃÉÁÌØÎÏ ÏÄÏÂÒÅÎÎÕÀ DebianÏÍ. îÅËÏÔÏÒÙÅ + ÄÒÕÇÉÅ ÉÚÍÅÎÅÎÉÑ ÐÅÒÅÞÉÓÌÅÎÙ × ÆÁÊÌÁÈ \filename{ltnews} × + \OnCD{texmf-dist/doc/latex/base}. + +\item ÷ ÄÉÓÔÒÉÂÕÔÉ×Å ÐÏÑ×ÉÌÁÓØ \cmdname{dvipng}, ÎÏ×ÁÑ ÐÒÏÇÒÁÍÍÁ ÄÌÑ + ÐÅÒÅ×ÏÄÁ \acro{DVI} × \acro{PNG}. + óÍ. \OnCD{texmf/doc/man/man1/dvipng.1}. + +\item íÙ ÕÍÅÎØÛÉÌÉ ÒÁÚÍÅÒ ÐÁËÅÔÁ \pkgname{cbgreek} ÄÏ ÐÒÉÅÍÌÅÍÏÇÏ + ÎÁÂÏÒÁ ÛÒÉÆÔÏ×, Ó ÓÏÇÌÁÓÉÑ É ÓÏ×ÅÔÁ Á×ÔÏÒÁ (ëÌÁÕÄÉÏ âÅËËÁÒÉ). + éÓËÌÀÞÅÎÙ ÎÅ×ÉÄÉÍÙÅ, ÐÒÏÚÒÁÞÎÙÅ É ÐÏÌÕÐÒÏÚÒÁÞÎÙÅ ÛÒÉÆÔÙ, ËÏÔÏÒÙÅ + ÏÔÎÏÓÉÔÅÌØÎÏ ÒÅÄËÏ ÉÓÐÏÌØÚÕÀÔÓÑ, Á ÎÁÍ ÎÅ È×ÁÔÁÌÏ ÍÅÓÔÁ. ðÏÌÎÙÊ + ÎÁÂÏÒ ÛÒÉÆÔÏ× ÍÏÖÎÏ ÎÁÊÔÉ × ÁÒÈÉ×Å \acro{CTAN} + (\url{http://www.ctan.org/tex-archive/fonts/greek/cb}). + + +\item ðÒÏÇÒÁÍÍÁ \cmdname{oxdvi} ÕÄÁÌÅÎÁ ÉÚ ÄÉÓÔÒÉÂÕÔÉ×Á; ÉÓÐÏÌØÚÕÊÔÅ + \cmdname{xdvi}. + + +\item ìÉÎËÉ \cmdname{ini} É \cmdname{vir} ÄÌÑ ÐÒÏÇÒÁÍÍ \cmdname{tex}, + \cmdname{mf} É \cmdname{mpost} (ÎÁÐÒÉÍÅÒ, \cmdname{initex}) ÂÏÌØÛÅ + ÎÅ ÓÏÚÄÁÀÔÓÑ. õÖÅ ÍÎÏÇÏ ÌÅÔ ÏÐÃÉÑ \optname{-ini} ÉÈ ÕÓÐÅÛÎÏ + ÚÁÍÅÎÑÅÔ. + +\item õÂÒÁÎÁ ÐÏÄÄÅÒÖËÁ ÐÌÁÔÆÏÒÍÙ \textsf{i386-openbsd}. ôÁË ËÁË × + ÐÏÒÔÁÈ BSD ÅÓÔØ ÐÁËÅÔ \pkgname{tetex}, É ÍÏÖÎÏ ÐÏÌØÚÏ×ÁÔØÓÑ + ÐÒÏÇÒÁÍÍÁÍÉ ÄÌÑ \acro{GNU/}Linux É Free\acro{BSD}, ÍÙ ÐÏÓÞÉÔÁÌÉ, ÞÔÏ + ×ÒÅÍÑ ÄÏÂÒÏ×ÏÌØÎÙÈ ÓÏÔÒÕÄÎÉËÏ× ÐÒÏÅËÔÁ ÍÏÖÎÏ ÐÏÔÒÁÔÉÔØ Ó Â\'ÏÌØÛÅÊ + ÐÏÌØÚÏÊ ÐÏ-ÄÒÕÇÏÍÕ. + + +\item ðÏ ËÒÁÊÎÅÊ ÍÅÒÅ ÄÌÑ ÐÌÁÔÆÏÒÍÙ \textsf{sparc-solaris} ÔÒÅÂÕÅÔÓÑ + ÕÓÔÁÎÏ×ÉÔØ ÐÅÒÅÍÅÎÎÕÀ ÏËÒÕÖÅÎÉÑ \envname{LD\_LIBRARY\_PATH} ÄÌÑ + ÒÁÂÏÔÙ ÐÒÏÇÒÁÍÍ \pkgname{t1utils}. üÔÏ ×ÙÚ×ÁÎÏ ÔÅÍ, ÞÔÏ ÏÎÉ + ÎÁÐÉÓÁÎÙ ÎÁ C++, Á ÓÔÁÎÄÁÒÔÎÏÊ ÄÉÒÅËÔÏÒÉÉ ÄÌÑ ÂÉÂÉÌÉÏÔÅË C++ × + ÓÉÓÔÅÍÅ ÎÅÔ (ÜÔÏ ÐÏÑ×ÉÌÏÓØ ÄÏ 2004 ÇÏÄÁ, ÎÏ ÒÁÎÅÅ ÜÔÁ ÏÓÏÂÅÎÎÏÓÔØ ÎÅ + ÂÙÌÁ ÄÏËÕÍÅÎÔÉÒÏ×ÁÎÁ). áÎÁÌÏÇÉÞÎÏ, × \textsf{mips-irix} ÔÒÅÂÕÀÔÓÑ + ÂÉÂÌÉÏÔÅËÉ \acro{MIPS}pro~7.4. + +\end{itemize} + +\subsubsection{2005} + +÷ 2005 ÇÏÄÕ ÂÙÌÏ, ËÁË ×ÓÅÇÄÁ, ÓÄÅÌÁÎÏ ÍÎÏÇÏ ÉÚÍÅÎÅÎÉÊ × ÐÁËÅÔÁÈ É +ÐÒÏÇÒÁÍÍÁÈ. éÎÆÒÁÓÔÒÕËÔÕÒÁ ÐÏÞÔÉ ÎÅ ÉÚÍÅÎÉÌÁÓØ ÐÏ ÓÒÁ×ÎÅÎÅÎÉÀ Ó 2004 +ÇÏÄÏÍ, ÎÏ ÎÅËÏÔÏÒÙÅ ÎÅÉÚÂÅÖÎÙÅ ÉÚÍÅÎÅÎÉÑ ÂÙÌÉ ÓÄÅÌÁÎÙ. + +\begin{itemize} + +\item âÙÌÉ ÄÏÂÁ×ÌÅÎÙ ÎÏ×ÙÅ ÓËÒÉÐÔÙ \cmdname{texconfig-sys}, + \cmdname{updmap-sys} É \cmdname{fmtutil-sys}, ËÏÔÏÒÙÅ ÉÚÍÅÎÑÀÔ + ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÅ ÆÁÊÌÙ × ÓÉÓÔÅÍÎÙÈ ÄÅÒÅ×ØÑÈ. óËÒÉÐÔÙ + \cmdname{texconfig}, \cmdname{updmap} É \cmdname{fmtutil} ÔÅÐÅÒØ + ÍÏÄÉÆÉÃÉÒÕÀÔ ÉÎÄÉ×ÉÄÕÁÌØÎÙÅ ÆÁÊÌÙ ÐÏÌØÚÏ×ÁÔÅÌÑ × + \dirname{$HOME/.texlive2005}. + +\item âÙÌÉ ÄÏÂÁ×ÌÅÎÙ ÎÏ×ÙÅ ÐÅÒÅÍÅÎÎÙÅ \envname{TEXMFCONFIG} É + \envname{TEXMFSYSCONFIG} ÄÌÑ ÕËÁÚÁÎÉÑ, ÇÄÅ ÎÁÈÏÄÑÔÓÑ + ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÅ ÆÁÊÌÙ (ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÅ É ÓÉÓÔÅÍÎÙÅ). ôÁËÉÍ + ÏÂÒÁÚÏÍ, ×ÁÍ ÎÁÄÏ ÐÅÒÅÍÅÓÔÉÔØ ÔÕÄÁ ×ÁÛÉ ÌÉÞÎÙÅ ËÏÐÉÉ + \filename{fmtutil.cnf} É \filename{texmf.cnf}. ÷ ÌÀÂÏÍ ÓÌÕÞÁÅ + ÐÏÌÏÖÅÎÉÅ ÜÔÉÈ ÆÁÊÌÏ× É ÚÎÁÞÅÎÉÑ ÐÅÒÅÍÅÎÎÙÈ \envname{TEXMFCONFIG} É + \envname{TEXMFSYSCONFIG} ÄÏÌÖÎÙ ÂÙÔØ ÓÏÇÌÁÓÏ×ÁÎÙ. + óÍ. ÒÁÚÄÅÌ~\ref{sec:texmftrees}, \p.\pageref{sec:texmftrees}. + +\item ÷ ÐÒÏÛÌÏÍ ÇÏÄÕ ÍÙ ÏÓÔÁ×ÉÌÉ ÎÅÏÐÒÅÄÅÌ£ÎÎÙÍÉ \verb|\pdfoutput| É + ÄÒÕÇÉÅ ÐÅÒÅÍÅÎÎÙÅ ÐÒÉ ÇÅÎÅÒÉÒÏ×ÁÎÉÉ ÆÁÊÌÏ× × ÆÏÒÍÁÔÅ DVI, ÈÏÔÑ ÄÌÑ + ÜÔÏÇÏ ÉÓÐÏÌØÚÏ×ÁÌÁÓØ ÐÒÏÇÒÁÍÍÁ \cmdname{pdfetex}. ÷ ÜÔÏÍ ÇÏÄÕ, ËÁË + É ÂÙÌÏ ÏÂÅÝÁÎÏ, ÜÔÏ ÕÖÅ ÎÅ ÔÁË. ðÏÜÔÏÍÕ ÅÓÌÉ ×ÁÛ ÄÏËÕÍÅÎÔ + ÉÓÐÏÌØÚÕÅÔ ÄÌÑ ÐÒÏ×ÅÒËÉ ÆÏÒÍÁÔÁ \verb|\ifx\pdfoutput\undefined|, ÅÇÏ + ÎÁÄÏ ÉÚÍÅÎÉÔØ. ÷Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÁËÅÔ \pkgname{ifpdf.sty} + (ÒÁÂÏÔÁÅÔ × plain \TeX{} É \LaTeX) ÉÌÉ ÁÎÁÌÏÇÉÞÎÕÀ ÌÏÇÉËÕ. + +\item ÷ ÐÒÏÛÌÏÍ ÇÏÄÕ ÍÙ ÉÚÍÅÎÉÌÉ ÂÏÌØÛÉÎÓÔ×Ï ÆÏÒÍÁÔÏ×, ËÏÔÏÒÙÅ ÓÔÁÌÉ + ×ÙÄÁ×ÁÔØ 8-ÂÉÔÏ×ÙÅ ÓÉÍ×ÏÌÙ. åÓÌÉ ×ÁÍ ×Ó£ ÖÅ ÎÕÖÎÙ ÓÔÁÒÙÊ ×ÁÒÉÁÎÔ Ó + \verb|^^|, ÉÓÐÏÌØÚÕÊÔÅ ÎÏ×ÙÊ ÆÁÊÌ \filename{empty.tcx}: +\begin{verbatim} +latex --translate-file=empty.tcx yourfile.tex +\end{verbatim} + + +\item äÏÂÁ×ÌÅÎÁ ÎÏ×ÁÑ ÐÒÏÇÒÁÍÍÁ \cmdname{dvipdfmx} ÄÌÑ ÐÅÒÅ×ÏÄÁ ÉÚ DVI + × PDF; ÜÔÏ ÁËÔÉ×ÎÏ ÐÏÄÄÅÒÖÉ×ÁÅÍÁÑ ×ÅÒÓÉÑ ÐÒÏÇÒÁÍÍÙ + \cmdname{dvipdfm}, ËÏÔÏÒÁÑ ÐÏËÁ ÅÝ£ ×ËÌÀÞÅÎÁ × ÄÉÓÔÒÉÂÕÔÉ×, ÎÏ ÕÖÅ + ÎÅ ÒÅËÏÍÅÎÄÏ×ÁÎÁ. + +\item äÏÂÁ×ÌÅÎÙ ÎÏ×ÙÅ ÐÒÏÇÒÁÍÍÙ \cmdname{pdfopen} É + \cmdname{pdfclose}, ËÏÔÏÒÙÅ ÐÏÚ×ÏÌÑÀÔ ÐÅÒÅÇÒÕÚÉÔØ ÆÁÊÌ PDF × Adobe + Acrobat Reader, ÎÅ ÐÅÒÅÚÁÐÕÓËÁÑ ÐÒÏÇÒÁÍÍÕ (Õ ÄÒÕÇÉÈ ÐÒÏÇÒÁÍÍ ÄÌÑ + ÞÔÅÎÉÑ ÆÁÊÌÏ× PDF, ×ËÌÀÞÁÑ \cmdname{xpdf}, \cmdname{gv} É + \cmdname{gsview}, ÔÁËÏÊ ÐÒÏÂÌÅÍÙ ÎÉËÏÇÄÁ ÎÅ ÂÙÌÏ). + +\item äÌÑ ÅÄÉÎÏÏÂÒÁÚÉÑ ÍÙ ÐÅÒÅÉÍÅÎÏ×ÁÌÉ ÐÅÒÅÍÅÎÎÙÅ \envname{HOMETEXMF} + É \envname{VARTEXMF} × \envname{TEXMFHOME} É \envname{TEXMFSYSVAR}. + åÓÔØ ÔÁËÖÅ \envname{TEXMFVAR}, ÉÎÄÉ×ÉÄÕÁÌØÎÁÑ ÄÌÑ ËÁÖÄÏÇÏ + ÐÏÌØÚÏ×ÁÔÅÌÑ (ÓÍ. ÐÅÒ×ÙÊ ÐÕÎËÔ ×ÙÛÅ). +\end{itemize} + +\subsubsection{2006--2007} + +÷ 2006--2007 ÇÌÁ×ÎÙÍ ÎÏ×Ï××ÅÄÅÎÉÅÍ ÂÙÌÁ ÐÒÏÇÒÁÍÍÁ Xe\TeX{}, ×ÙÚÙ×ÁÅÍÁÑ +ËÁË \texttt{xetex} ÉÌÉ \texttt{xelatex}; +ÓÍ. \url{http://scripts.sil.org/xetex}. + +úÎÁÞÉÔÅÌØÎÏ ÏÂÎÏ×ÌÅÎÁ ÐÒÏÇÒÁÍÍÁ \MP; ÐÒÅÄÐÏÌÁÇÁÀÔÓÑ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ +ÏÂÎÏ×ÌÅÎÉÑ × ÂÕÄÕÝÅÍ (\url{http://tug.org/metapost/articles}). ôÁËÖÅ +ÏÂÎÏ×̣Πpdf\TeX{} (\url{http://tug.org/applications/pdftex}). + +æÏÒÍÁÔÙ \filename{.fmt} É Ô.Ä. ÔÅÐÅÒØ ÈÒÁÎÑÔÓÑ × ÐÏÄÄÉÒÅËÔÏÒÉÑÈ +\dirname{texmf/web2c}, Á ÎÅ × ÓÁÍÏÊ ÄÉÒÅËÔÏÒÉÉ (ÈÏÔÑ ÄÉÒÅËÔÏÒÉÑ ×Ó£ ÅÝ£ +×ËÌÀÞÅÎÁ × ÐÏÉÓË ÆÏÒÍÁÔÏ×, ÎÁ ÓÌÕÞÁÊ, ÅÓÌÉ ÔÁÍ ÎÁÈÏÄÑÔÓÑ ÓÔÁÒÙÅ +ÆÁÊÌÙ). ðÏÄÄÉÒÅËÔÏÒÉÉ ÎÁÚ×ÁÎÙ ÐÏ ÉÍÅÎÉ ÐÒÏÇÒÁÍÍÙ, ÎÁÐÒÉÍÅÒ, +\filename{tex}, \filename{pdftex}, \filename{xetex}. üÔÏ ÉÚÍÅÎÅÎÉÅ ÎÅ +ÄÏÌÖÎÏ ×ÌÉÑÔØ ÎÁ ÒÁÂÏÔÕ ÐÒÏÇÒÁÍÍ. + +ðÒÏÇÒÁÍÍÁ (plain) \texttt{tex} ÂÏÌØÛÅ ÎÅ ÏÐÒÅÄÅÌÑÅÔ ÐÏ \texttt{\%\&} × +ÐÅÒ×ÏÊ ÓÔÒÏËÅ, ËÁËÏÊ ÆÏÒÍÁÔ ÉÓÐÏÌØÚÏ×ÁÔØ: ÜÔÏ ×ÓÅÇÄÁ ëÎÕÔÏ×ÓËÉÊ +\TeX{} (\LaTeX{} É ÄÒÕÇÉÅ ÅÝ£ ÉÓÐÏÌØÚÕÀÔ \texttt{\%\&}). + +òÁÚÕÍÅÅÔÓÑ, × ÜÔÏÍ ÇÏÄÕ ÂÙÌÉ, ËÁË ÏÂÙÞÎÏ, ÓÏÔÎÉ ÏÂÎÏ×ÌÅÎÉÊ ÐÁËÅÔÏ× É +ÐÒÏÇÒÁÍÍ. ëÁË ÏÂÙÞÎÏ, ÏÂÎÏ×Ì£ÎÎÙÅ ×ÅÒÓÉÉ ÍÏÖÎÏ ÎÁÊÔÉ × ÓÅÔÉ \acro{CTAN} +(\url{http://www.ctan.org}). + +äÅÒÅ×Ï \TL{} ÔÅÐÅÒØ ÈÒÁÎÉÔÓÑ × ÓÉÓÔÅÍÅ Subversion, É Õ ÎÁÓ ÐÏÑ×ÉÌÓÑ +WWW-ÉÎÔÅÒÆÅÊÓ ÄÌÑ ÅÇÏ ÐÒÏÓÍÏÔÒÁ. íÙ ÐÒÅÄÐÏÌÁÇÁÅÍ, ÞÔÏ ÜÔÁ ÓÉÓÔÅÍÁ +ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÎÁ ÄÌÑ ÒÁÚÒÁÂÏÔËÉ × ÂÕÄÕÝÅÍ. + +îÁËÏÎÅÃ, × ÍÁÅ 2006 ÇÏÄÁ ôÏÍÁÓ üÓÓÅÒ ÏÂßÑ×ÉÌ Ï ÐÒÅËÒÁÝÅÎÉÉ ÒÁÂÏÔÙ ÎÁÄ +te\TeX ÏÍ (\url{http://tug.org/tetex}). üÔÏ ×ÙÚ×ÁÌÏ ×ÓÐÌÅÓË ÉÎÔÅÒÅÓÁ +Ë \TL, ÏÓÏÂÅÎÎÏ ÓÒÅÄÉ ÒÁÚÒÁÂÏÔÞÉËÏ× ÓÉÓÔÅÍ \acro{GNU}/Linux (ÍÙ +ÄÏÂÁ×ÉÌÉ ÓÈÅÍÕ \texttt{tetex}, ËÏÔÏÒÁÑ ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ÓÉÓÔÅÍÕ, ÐÒÉÍÅÒÎÏ +ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÕÀ te\TeX Õ). íÙ ÎÁÄÅÅÍÓÑ, ÞÔÏ ÜÔÏ ÐÒÉ×ÅÄ£Ô × ËÏÎÅÞÎÏÍ +ÉÔÏÇÅ Ë ÕÌÕÞÛÅÎÉÀ ÒÁÂÏÔÙ × \TeX Å ÄÌÑ ×ÓÅÈ. + + +\subsubsection{2008} + +÷ 2008 ÂÙÌÁ ÚÁÎÏ×Ï ÒÁÚÒÁÂÏÔÁÎÁ É ÐÅÒÅÐÉÓÁÎÁ ×ÓÑ ÓÔÒÕËÔÕÒÁ +\TL{}. ðÏÌÎÁÑ ÉÎÆÏÒÍÁÃÉÑ Ï ÕÓÔÁÎÏ×ËÅ ÓÉÓÔÅÍÙ ÔÅÐÅÒØ ÈÒÁÎÉÔÓÑ × +ÔÅËÓÔÏ×ÏÍ ÆÁÊÌÅ \filename{tlpkg/texlive.tlpdb}. + +ðÏÍÉÍÏ ÐÒÏÞÅÇÏ, ÜÔÏ ÎÁËÏÎÅà ÐÏÚ×ÏÌÉÌÏ ÏÂÎÏ×ÌÅÎÉÅ \TL{} ÐÏ ÓÅÔÉ "--- +×ÏÚÍÏÖÎÏÓÔØ, ËÏÔÏÒÁÑ ÍÎÏÇÏ ÌÅÔ ÂÙÌÁ Õ ÐÒÏÇÒÁÍÍÙ MiK\TeX{}. íÙ +ÐÒÅÄÐÏÌÁÇÁÅÍ ÒÅÇÕÌÑÒÎÏ ÏÂÎÏ×ÌÑÔØ ÐÁËÅÔÙ, ÐÏÓÔÕÐÁÀÝÉÅ ÎÁ \CTAN. + +÷ËÌÀÞÅÎ ÎÏ×ÙÊ ×ÁÖÎÙÊ <<Ä×ÉÖÏË>> Lua\TeX\ (\url{http://luatex.org}); +ÐÏÍÉÍÏ ÎÏ×ÏÇÏ ÕÒÏ×ÎÑ ×£ÒÓÔËÉ, ÜÔÏ ÄÁÅÔ ÐÒÅËÒÁÓÎÙÊ ÓËÒÉÐÔÏ×ÙÊ ÑÚÙË ÄÌÑ +ÉÓÐÏÌØÚÏ×ÁÎÉÑ ËÁË ÉÚÎÕÔÒÉ ÄÏËÕÍÅÎÔÏ× \TeX Á, ÔÁË É ÏÔÄÅÌØÎÏ. + +ðÏÄÄÅÒÖËÁ ÍÎÏÇÉÈ ÐÌÁÔÆÏÒÍ ÎÁ ÏÓÎÏ×Å UNIX É Windows ÔÅÐÅÒØ ÇÏÒÁÚÄÏ +ÂÏÌÅÅ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÁ. ÷ ÞÁÓÔÎÏÓÔÉ, ÂÏÌØÛÉÎÓÔ×Ï ÓËÒÉÐÔÏ× ÎÁ ÑÚÙËÁÈ +Perl É Lua ÔÅÐÅÒØ ÄÏÓÔÕÐÎÙ ÐÏÄ Windows ÂÌÁÇÏÄÁÒÑ ×ÅÒÓÉÉ PerlÁ, +ÒÁÓÐÒÏÓÔÒÁÎÑÅÍÏÊ Ó \TL{}. + +îÏ×ÙÊ ÓËÒÉÐÔ \cmdname{tlmgr} (ÓÍ. ÒÁÚÄÅÌ~\ref{sec:tlmgr}) ÔÅÐÅÒØ +Ñ×ÌÑÅÔÓÑ ÏÓÎÏ×ÎÙÍ ÉÎÔÅÒÆÅÊÓÏÍ ÄÌÑ ÁÄÍÉÎÉÓÔÒÉÒÏ×ÁÎÉÑ \TL{} ÐÏÓÌÅ +ÕÓÔÁÎÏ×ËÉ. ïÎ ÏÓÕÝÅÓÔ×ÌÑÅÔ ÏÂÎÏ×ÌÅÎÉÅ ÐÁËÅÔÏ× É ÐÅÒÅÇÅÎÅÒÉÒÏ×ÁÎÉÅ +ÆÏÒÍÁÔÏ×, ËÁÒÔ ÛÒÉÆÔÏ× É ÑÚÙËÏ×, ×ËÌÀÞÁÑ ÌÏËÁÌØÎÙÅ ÄÏÂÁ×ÌÅÎÉÑ. + +÷ Ó×ÑÚÉ Ó ÐÏÑ×ÌÅÎÉÅÍ ÐÒÏÇÒÁÍÍÙ \cmdname{tlmgr}, ×ÏÚÍÏÖÎÏÓÔÉ ÐÒÏÇÒÁÍÍÙ +\cmdname{texconfig} ÐÏ ÒÅÄÁËÔÉÒÏ×ÁÎÉÀ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÈ ÆÁÊÌÏ× ÆÏÒÍÁÔÏ× +É ÔÁÂÌÉà ÐÅÒÅÎÏÓÁ ÏÔËÌÀÞÅÎÙ. + +ðÒÏÇÒÁÍÍÁ \cmdname{xindy} (\url{http://xindy.sourceforge.net/}) ÄÌÑ +ÓÏÚÄÁÎÉÑ ÕËÁÚÁÔÅÌÅÊ ÔÅÐÅÒØ ÒÁÂÏÔÁÅÔ ÎÁ ÂÏÌØÛÉÎÓÔ×Å ÐÌÁÔÆÏÒÍ. + +ðÒÏÇÒÁÍÍÁ \cmdname{kpsewhich} ÔÅÐÅÒØ ÍÏÖÅÔ ÓÏÏÂÝÉÔØ ÏÂÏ ×ÓÅÈ ÎÕÖÎÙÈ +ÆÁÊÌÁÈ (ÏÐÃÉÑ \optname{-all}) É ÏÇÒÁÎÉÞÉÔØ ÐÏÉÓË ÏÐÒÅÄÅÌÅÎÎÏÊ +ÐÏÄÄÉÒÅËÔÏÒÉÅÊ (ÏÐÃÉÑ \optname{-subdir}). + +ðÒÏÇÒÁÍÍÁ \cmdname{dvipdfmx} ÔÅÐÅÒØ ÍÏÖÅÔ ÉÚ×ÌÅËÁÔØ ÉÎÆÏÒÍÁÃÉÀ Ï +×ÙÓÏÔÅ É ÛÉÒÉÎÅ ÔÅËÓÔÁ, ÅÓÌÉ ×ÙÚ×ÁÎÁ ËÁË \cmdname{extractbb}; ÜÔÏ ÏÄÎÁ +ÉÚ ÐÏÓÌÅÄÎÉÈ ×ÏÚÍÏÖÎÏÓÔÅÊ ÐÒÏÇÒÁÍÍÙ \cmdname{dvipdfm}, ËÏÔÏÒÏÊ ÎÅ ÂÙÌÏ +Õ \cmdname{dvipdfmx}. + +áÌÉÁÓÙ \filename{Times-Roman}, \filename{Helvetica} É Ô.Ä. ÕÂÒÁÎÙ. +òÁÚÎÙÅ ÐÁËÅÔÙ ÏÖÉÄÁÀÔ ÏÔ ÎÉÈ ÒÁÚÎÏÇÏ ÐÏ×ÅÄÅÎÉÑ (ÏÓÏÂÅÎÎÏ ÐÒÉ ÒÁÚÎÙÈ +ËÏÄÉÒÏ×ËÁÈ), É ÍÙ ÎÅ ÎÁÛÌÉ ÓÐÏÓÏÂÁ ÒÅÛÉÔØ ÜÔÕ ÐÒÏÂÌÅÍÕ ÅÄÉÎÏÏÂÒÁÚÎÏ. + +æÏÒÍÁÔ \pkgname{platex} ÕÂÒÁÎ ÉÚ-ÚÁ ËÏÎÆÌÉËÔÁ Ó ÑÐÏÎÓËÉÍ ÐÁËÅÔÏÍ +\pkgname{platex}; ÔÅÐÅÒØ ÏÓÎÏ×ÎÁÑ ÐÏÄÄÅÒÖËÁ ÐÏÌØÓËÏÇÏ ÑÚÙËÁ +ÏÓÕÝÅÓÔ×ÌÑÅÔÓÑ ÞÅÒÅÚ ÐÁËÅÔ \pkgname{polski}. + +ðÕÌÙ ÓÔÒÏËÏ×ÙÈ ËÏÎÓÔÁÎÔ \web\ ÔÅÐÅÒØ ËÏÍÐÉÌÉÒÕÀÔÓÑ × ÓÁÍÉ ÐÒÏÇÒÁÍÍÙ +ÄÌÑ ÕÄÏÂÓÔ×Á ÏÂÎÏ×ÌÅÎÉÊ. + +îÁËÏÎÅÃ, ÄÏÂÁ×ÌÅÎÙ ÉÚÍÅÎÅÎÉÑ, ÓÄÅÌÁÎÎÙÅ äÏÎÁÌØÄÏÍ ëÎÕÔÏÍ × ÅÇÏ +<<îÁÓÔÒÏÊËÅ \TeX Á 2008 ÇÏÄÁ>>, ÓÍ. +\url{http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}. + +\subsubsection{2009} + +îÁÞÉÎÁÑ Ó 2009 ÇÏÄÁ ÐÏ ÕÍÏÌÞÁÎÉÀ Lua\AllTeX\ ÔÅÐÅÒØ ÓÏÚÄÁÅÔ ÆÁÊÌÙ × +ÆÏÒÍÁÔÅ PDF, ÞÔÏÂÙ ÐÏÌÎÅÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÏÄÄÅÒÖËÕ ÛÒÉÆÔÏ× × ÆÏÒÍÁÔÅ +OpenType. þÔÏÂÙ ÐÏÌÕÞÉÔØ ÒÅÚÕÌØÔÁÔ × ÆÏÒÍÁÔÅ DVI, ÉÓÐÏÌØÚÕÊÔÅ +ÐÒÏÇÒÁÍÍÙ \code{dviluatex} É \code{dvilualatex}. óÔÒÁÎÉÃÁ Lua\TeX\ +ÎÁÈÏÄÉÔÓÑ ÎÁ \url{http://luatex.org}. + +ðÒÏÇÒÁÍÍÁ Omega É ÆÏÒÍÁÔ Lambda ÂÙÌÉ ÐÏÓÌÅ ËÏÎÓÕÌØÔÁÃÉÊ Ó Á×ÔÏÒÁÍÉ +ÉÓËÌÀÞÅÎÙ ÉÚ ÄÉÓÔÒÉÂÕÔÉ×Á. ÷ ÄÉÓÔÒÉÂÕÔÉ×Å ÏÓÔÁÌÉÓØ Aleph É Lamed, Á +ÔÁËÖÅ ÕÔÉÌÉÔÙ ÉÚ ÎÁÂÏÒÁ Omega. + +÷ËÌÀÞÅÎÁ ÎÏ×ÁÑ ×ÅÒÓÉÑ ÛÒÉÆÔÏ× AMS × ÆÏÒÍÁÔÅ Type~1. ïÎÁ ×ËÌÀÞÁÅÔ +Computer Modern: ÂÙÌÉ ÕÞÔÅÎÙ ÉÚÍÅÎÅÎÉÑ, ËÏÔÏÒÙÅ ëÎÕÔ ×ÎÅÓ × ÉÓÈÏÄÎÙÅ +ÐÁÒÁÍÅÔÒÙ ÄÌÑ ÐÒÏÇÒÁÍÍÙ Metafont, Á ÔÁËÖÅ ÏÂÎÏ×ÌÅÎÙ ÈÉÎÔÙ. ûÒÉÆÔÙ +Euler ÂÙÌÉ ÐÏÌÎÏÓÔØÀ ÐÅÒÅÒÉÓÏ×ÁÎÙ çÅÒÍÁÎÏÍ ãÁÐÆÏÍ +(ÓÍ. +\url{http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf}). ÷Ï +×ÓÅÈ ÓÌÕÞÁÑÈ ÍÅÔÒÉËÉ ÛÒÉÆÔÏ× ÎÅ ÉÚÍÅÎÉÌÉÓØ. óÔÒÁÎÉÃÁ ÛÒÉÆÔÏ× AMS +ÎÁÈÏÄÉÔÓÑ ÎÁ \url{http://www.ams.org/tex/amsfonts.html}. + +îÏ×ÁÑ ÇÒÁÆÉÞÅÓËÁÑ ÏÂÏÌÏÞËÁ \TeX{}works ×ËÌÀÞÅÎÁ × ÄÉÓÔÒÉÂÕÔÉ× ÄÌÑ +Windows É Mac\TeX. éÎÆÏÒÍÁÃÉÑ Ï ×ÅÒÓÉÑÈ ÄÌÑ ÄÒÕÇÉÈ ÐÌÁÔÆÏÒÍ É +ÄÏÐÏÌÎÉÔÅÌØÎÁÑ ÄÏËÕÍÅÎÔÁÃÉÑ ÎÁÈÏÄÉÔÓÑ ÎÁ +\url{http://tug.org/texworks}. üÔÏ ÍÕÌØÔÉÐÌÁÔÆÏÒÍÅÎÎÁÑ ÏÂÏÌÏÞËÁ, +×ÄÏÈÎÏ×ÌÅÎÎÁÑ ÐÒÏÇÒÁÍÍÏÊ TeXShop ÄÌÑ \MacOSX{} É ÏÒÉÅÎÔÉÒÏ×ÁÎÎÁÑ ÎÁ +ÕÐÒÏÝÅÎÉÅ ÒÁÂÏÔÙ Ó \TeX{}ÏÍ. + +çÒÁÆÉÞÅÓËÁÑ ÐÒÏÇÒÁÍÍÁ Asymptote ×ËÌÀÞÅÎÁ × ÄÉÓÔÒÉÂÕÔÉ× ÄÌÑ ÎÅÓËÏÌØËÉÈ +ÐÌÁÔÆÏÒÍ. ïÎÁ ÏÓÎÏ×ÁÎÁ ÎÁ ÑÚÙËÅ ÐÒÅÄÓÔÁ×ÌÅÎÉÑ ÇÒÁÆÉËÉ, ÎÁÐÏÍÉÎÁÀÝÅÍ +MetaPost, ÎÏ Ó ÐÏÄÄÅÒÖËÏÊ ÔÒÅÈÍÅÒÎÙÈ ÏÂßÅËÔÏ× É ÄÒÕÇÉÍÉ +×ÏÚÍÏÖÎÏÓÔÑÍÉ. å£ ÓÔÒÁÎÉÃÁ ÎÁÈÏÄÉÔÓÑ ÎÁ +\url{http://asymptote.sourceforge.net}. + +ðÒÏÇÒÁÍÍÁ \code{dvipdfm} ÂÙÌÁ ÚÁÍÅÎÅÎÁ ÐÒÏÇÒÁÍÍÏÊ \code{dvipdfmx}; +ÅÓÌÉ ×ÙÚ×ÁÔØ ÐÏÓÌÅÄÎÀÀ ËÁË \code{dvipdfm}, ÏÎÁ ÒÁÂÏÔÁÅÔ × ÓÐÅÃÉÁÌØÎÏÍ +ÒÅÖÉÍÅ ÜÍÕÌÑÃÉÉ \code{dvipdfm}. ðÒÏÇÒÁÍÍÁ \code{dvipdfmx} ×ËÌÀÞÁÅÔ +ÐÏÄÄÅÒÖËÕ ËÉÔÁÊÓËÏÇÏ, ÑÐÏÎÓËÏÇÏ É ËÏÒÅÊÓËÏÇÏ ÑÚÙËÏ× (CJK) É ÍÎÏÇÏ +ÄÒÕÇÉÈ ÉÚÍÅÎÅÎÉÊ ÐÏ ÓÒÁ×ÎÅÎÉÀ Ó \code{dvipdfm}. å£ ÓÔÒÁÎÉÃÁ +ÎÁÈÏÄÉÔÓÑ ÎÁ \url{http://project.ktug.or.kr/dvipdfmx}. + +÷ ÄÉÓÔÒÉÂÕÔÉ× ×ËÌÀÞÅÎÙ ÐÒÏÇÒÁÍÍÙ ÄÌÑ \pkgname{cygwin} É +\pkgname{i386-netbsd}, × ÔÏ ×ÒÅÍÑ ËÁË ÄÒÕÇÉÅ ×ÁÒÉÁÎÔÙ BSD ÂÙÌÉ +ÉÓËÌÀÞÅÎÙ: ÎÁÍ ÓËÁÚÁÌÉ, ÞÔÏ ÐÏÌØÚÏ×ÁÔÅÌÉ OpenBSD É FreeBSD +ÕÓÔÁÎÁ×ÌÉ×ÁÀÔ \TeX, ÐÏÌØÚÕÑÓØ ÐÁËÅÔÎÙÍÉ ÍÅÎÅÄÖÅÒÁÍÉ. ëÒÏÍÅ ÔÏÇÏ, +ÏËÁÚÁÌÏÓØ ÓÌÏÖÎÙÍ ÓÏÚÄÁÔØ ÐÒÏÇÒÁÍÍÙ, ËÏÔÏÒÙÅ ÂÙ ÒÁÂÏÔÁÌÉ ÐÏÄ ÒÁÚÎÙÍÉ +×ÅÒÓÉÑÍÉ ÜÔÉÈ ÓÉÓÔÅÍ. + +åÝ£ ÎÅÓËÏÌØËÏ ÉÚÍÅÎÅÎÉÊ: ÍÙ ÔÅÐÅÒØ ÉÓÐÏÌØÚÕÅÍ ÁÒÈÉ×ÁÔÏÒ \code{xz}, +ÓÔÁÂÉÌØÎÕÀ ÚÁÍÅÎÕ ÄÌÑ \code{lzma} (\url{http://tukaani.org/xz/}); +ÚÎÁË ÄÏÌÌÁÒÁ |$| ÔÅÐÅÒØ ÄÏÐÕÓÔÉÍ × ÉÍÅÎÁÈ ÆÁÊÌÏ×, ÅÓÌÉ ÒÅÚÕÌØÔÁÔ ÎÅ ÍÏÖÅÔ +ÂÙÔØ ÉÓÔÏÌËÏ×ÁÎ ËÁË ÉÚ×ÅÓÔÎÁÑ ÐÅÒÅÍÅÎÁ ÏËÒÕÖÅÎÉÑ; ÂÉÂÌÉÏÔÅËÁ Kpathsea +ÔÅÐÅÒØ ÐÁÒÁÌÌÅÌÉÚÏ×ÁÎÁ (ÜÔÏ ÎÕÖÎÏ ÄÌÑ ÎÏ×ÏÊ ×ÅÒÓÉÉ ÐÒÏÇÒÁÍÍÙ +MetaPost); ÐÒÏÃÅÓÓ ËÏÍÐÉÌÑÃÉÉ ÔÅÐÅÒØ ÐÏÌÎÏÓÔØÀ ÏÓÎÏ×ÁÎ ÎÁ Automake. + +ðÏÓÌÅÄÎÅÅ ÚÁÍÅÞÁÎÉÅ Ï ÐÒÏÛÌÏÍ: ×ÓÅ ×ÙÐÕÓËÉ \TL{} ×ÍÅÓÔÅ Ó +ÄÏÐÏÌÎÉÔÅÌØÎÙÍÉ ÍÁÔÅÒÉÁÌÁÍÉ ×ÒÏÄÅ ÏÂÌÏÖÅË \CD{} ÈÒÁÎÑÔÓÑ ÎÁ +\url{ftp://tug.org/historic/systems/texlive}. +\url{ftp://tug.org/historic/systems/texlive}. + +\subsubsection{2010} +\label{sec:2010news} % keep with 2010 + +îÁÞÉÎÁÑ Ó 2010 ÇÏÄÁ ÆÁÊÌÙ × ÆÏÒÍÁÔÅ PDF ÐÏ ÕÍÏÌÞÁÎÉÑÀ ÓÏÚÄÁÀÔÓÑ × +×ÅÒÓÉÉ PDF~1.5. üÔÏ ×ÅÒÎÏ ÄÌÑ ×ÓÅÈ ×ÁÒÉÁÎÔÏ× \TeX Á, ËÏÔÏÒÙÅ ÓÐÏÓÏÂÎÙ +ÓÏÚÄÁ×ÁÔØ ÆÁÊÌÙ PDF, Á ÔÁËÖÅ ÄÌÑ \code{dvipdfmx}. þÔÏÂÙ ÐÏÌÕÞÁÔØ +ÆÁÊÌÙ × ÆÏÒÍÁÔÅ PDF~1.4, ÉÓÐÏÌØÚÕÊÔÅ \LaTeX Ï×ÓËÉÊ ÐÁËÅÔ +\pkgname{pdf14} ÉÌÉ ËÏÍÁÎÄÕ |\pdfminorversion=4|. + +pdf\AllTeX\ ÔÅÐÅÒØ \emph{Á×ÔÏÍÁÔÉÞÅÓËÉ} ËÏÎ×ÅÒÔÉÒÕÅÔ ÆÁÊÌÙ × ÆÏÒÍÁÔÅ +Encapsulated PostScript (EPS) × PDF ÐÒÉ ÐÏÍÏÝÉ ÐÁËÅÔÁ +\pkgname{epstopdf}, ÅÓÌÉ ÉÓÐÏÌØÚÕÅÔÓÑ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ +\code{graphics.cfg} × \LaTeX Å, É ÔÒÅÂÕÅÔÓÑ ×Ù×ÏÄ × ÆÏÒÍÁÔÅ PDF. ÷Ù +ÍÏÖÅÔÅ ÏÔËÁÚÁÔØÓÑ ÏÔ ÚÁÇÒÕÚËÉ ÐÁËÅÔÁ \code{epstopdf}, ÐÏÍÅÓÔÉ× ÐÅÒÅÄ +ÏÂßÑ×ÌÅÎÉÅÍ \cs{documentclass} ËÏÍÁÎÄÕ +|\newcommand{\DoNotLoadEpstopdf}{}| (ÉÌÉ |\def...|). ïÎ ÔÁËÖÅ ÎÅ +ÚÁÇÒÕÖÁÅÔÓÑ, ÅÓÌÉ ÉÓÐÏÌØÚÕÅÔÓÑ ÐÁËÅÔ \pkgname{pst-pdf}. óÍ. ÔÁËÖÅ +ÄÏËÕÍÅÎÔÁÃÉÀ Ë ÐÁËÅÔÕ \pkgname{epstopdf} +(\url{http://ctan.org/pkg/epstopdf-pkg}). + +ó ÜÔÉÍ Ó×ÑÚÁÎÏ ÅÝ£ ÏÄÎÏ ÉÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÐÏ ÕÍÏÌÞÁÎÉÀ ÒÁÚÒÅÛÅÎÏ +×ÙÚÙ×ÁÔØ ÉÚ \TeX Á ÎÅÓËÏÌØËÏ ×ÎÅÛÎÉÈ ËÏÍÁÎÄ (ÐÒÉ ÐÏÍÏÝÉ ÍÅÈÁÎÉÚÍÁ +\cs{write18}). üÔÏ \code{repstopdf}, \code{makeindex}, +\code{kpsewhich}, \code{bibtex} É \code{bibtex8}. óÐÉÓÏË ÏÐÒÅÄÅÌÅÎ × +\code{texmf.cnf}. ÷ ÓÌÕÞÁÅ, ÅÓÌÉ ÎÅÏÂÈÏÄÉÍÏ ÚÁÐÒÅÔÉÔØ ×ÓÅ ÔÅËÉÅ +ËÏÍÁÎÄÙ, ÍÏÖÎÏ ÕÂÒÁÔØ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÕÀ ÏÐÃÉÀ ÐÒÉ ÕÓÔÁÎÏ×ËÅ ÓÉÓÔÅÍÙ +(ÓÍ. ÒÁÚÄÅÌ~\ref{sec:options}) ÉÌÉ ÐÅÒÅËÏÎÆÉÇÕÒÉÒÏ×ÁÔØ ÓÉÓÔÅÍÕ ÐÏÓÌÅ +ÕÓÔÁÎÏ×ËÉ ËÏÍÁÎÄÏÊ |tlmgr conf texmf shell_escape 0|. + +åÝ£ ÏÄÎÏ ÉÚÍÅÎÅÎÉÅ, Ó×ÑÚÁÎÎÏÅ Ó ÜÔÉÍ: ÔÅÐÅÒØ \BibTeX\ É Makeindex +ÐÏ ÕÍÏÌÞÁÎÉÀ ÏÔËÁÚÙ×ÁÀÔÓÑ ÚÁÐÉÓÙ×ÁÔØ × ÆÁÊÌÙ, ÌÅÖÁÝÉÅ × ÐÒÏÉÚ×ÏÌØÎÏÊ +ÄÉÒÅËÔÏÒÉÉ ÓÉÓÔÅÍÙ (ËÁË É ÓÁÍ \TeX). ðÏÜÔÏÍÕ ÉÈ ÍÏÖÎÏ ÚÁÐÕÓËÁÔØ ÞÅÒÅÚ +ÍÅÈÁÎÉÚÍ \cs{write18}. þÔÏÂÙ ÉÚÍÅÎÉÔØ ÜÔÏ ÐÒÁ×ÉÌÏ, ÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ +ÐÅÒÅÍÅÎÎÕÀ ÏËÒÕÖÅÎÉÑ \envname{TEXMFOUTPUT} ÉÌÉ ÉÚÍÅÎÉÔØ ÚÎÁÞÅÎÉÅ +ÐÁÒÁÍÅÔÒÁ |openout_any|. + +\XeTeX\ ÔÅÐÅÒØ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÏÐÔÉÞÅÓËÏÅ ×ÙÒÁ×ÎÉ×ÁÎÉÅ ÐÏÌÅÊ, ËÁË ÜÔÏ +ÕÍÅÅÔ ÄÅÌÁÔØ pdf\TeX. (ûÒÉÆÔÙ Ó ×ÁÒÉÁÎÔÁÍÉ ÐÏËÁ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ). + +ðÏ ÕÍÏÌÞÁÎÉÀ, \prog{tlmgr} ÔÅÐÅÒØ ÓÏÈÒÁÎÑÅÔ ÐÒÅÄÙÄÕÝÕÀ ×ÅÒÓÉÀ ËÁÖÄÏÇÏ +ÐÁËÅÔÁ ÐÏÓÌÅ ÁÐÇÒÅÊÄÁ (\code{tlmgr option autobackup 1}), ÐÏÜÔÏÍÕ +ÏÛÉÂËÉ ÍÏÖÎÏ <<ÏÔËÁÔÉÔØ ÎÁÚÁÄ>> ËÏÍÁÎÄÏÊ \code{tlmgr restore}. åÓÌÉ Õ +×ÁÓ ÎÅÔ ÍÅÓÔÁ ÎÁ ÄÉÓËÅ ÄÌÑ ÜÔÉÈ ËÏÐÉÊ, ÚÁÐÕÓÔÉÔÅ \code{tlmgr option + autobackup 0}. + +îÏ×ÙÅ ÐÒÏÇÒÁÍÍÙ: p\TeX\ É ÐÁËÅÔ ÕÔÉÌÉÔ ÄÌÑ ÎÁÂÏÒÁ ÑÐÏÎÓËÉÈ ÔÅËÓÔÏ×, +ÐÒÏÇÒÁÍÍÁ \BibTeX{}U ÄÌÑ ×ÁÒÉÁÎÔÁ \BibTeX Á Ó ÐÏÄÄÅÒÖËÏÊ àÎÉËÏÄÁ, +ÕÔÉÌÉÔÁ \prog{chktex} (\url{http://baruch.ev-en.org/proj/chktex}) ÄÌÑ +ÐÒÏ×ÅÒËÉ ÄÏËÕÍÅÎÔÏ×, ÓÏÚÄÁÎÎÙÈ \AllTeX ÏÍ, ÐÒÏÇÒÁÍÍÁ \prog{dvisvgm} +(\url{http://dvisvgm.sourceforge.net}) ÄÌÑ ÐÅÒÅ×ÏÄÁ ÉÚ ÆÏÒÍÁÔÁ DVI × +ÆÏÒÍÁÔ SVG. + +÷ËÌÀÞÅÎÙ ÐÒÏÇÒÁÍÍÙ ÄÌÑ ÓÌÅÄÕÀÝÉÈ ÎÏ×ÙÈ ÐÌÁÔÆÏÒÍ: \code{amd64-freebsd}, +\code{amd64-kfreebsd}, \code{i386-freebsd}, \code{i386-kfreebsd}, +\code{x86\_64-darwin}, \code{x86\_64-solaris}. + +ï ÏÄÎÏÍ ÉÚÍÅÎÅÎÉÉ × \TL{} 2009 ÍÙ ÚÁÂÙÌÉ ÕÐÏÍÑÎÕÔØ × Ó×ÏÅ ×ÒÅÍÑ: +ÍÎÏÇÏÞÉÓÌÅÎÎÙÅ ÐÒÏÇÒÁÍÍÙ ËÏÎ×ÅÒÔÅÒÁ \TeX4ht +(\url{http://tug.org/tex4ht}) ÂÙÌÉ ÕÂÒÁÎÙ ÉÚ ÄÉÒÅËÔÏÒÉÊ ÄÌÑ +ÂÉÎÁÒÎÉËÏ×; ×ÓÅ ÔÅÐÅÒØ ÄÅÌÁÅÔÓÑ ÏÄÎÏÊ ÐÒÏÇÒÁÍÍÏÊ \code{mk4ht}. + +îÁËÏÎÅÃ, ÒÅÌÉÚ \TL{} ÎÁ \TK\ \DVD\ ÕÖÅ ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ <<live>>, +ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ Ó ÄÉÓËÁ (ÞÔÏ ÍÏÖÅÔ ÐÏËÁÚÁÔØÓÑ ÓÔÒÁÎÎÙÍ). ëÓÔÁÔÉ, +ÉÚ-ÚÁ ÜÔÏÇÏ ÕÓÔÁÎÏ×ËÁ Ó \DVD\ ÂÕÄÅÔ ÔÅÐÅÒØ ÚÎÁÞÉÔÅÌØÎÏ ÂÙÓÔÒÅÅ. + +\subsubsection{2011} + + +÷ 2011 ÇÏÄÕ ÂÙÌÏ ÓÄÅÌÁÎÏ ÏÔÎÏÓÉÔÅÌØÎÏ ÎÅÍÎÏÇÏ ÉÚÍÅÎÅÎÉÊ. + +ðÒÏÇÒÁÍÍÙ ÄÌÑ \MacOSX\ (\code{universal-darwin} É +\code{x86\_64-darwin}) ÒÁÂÏÔÁÀÔ ÔÅÐÅÒØ ÔÏÌØËÏ ÐÏÄ Leopard ÉÌÉ ÍÌÁÄÛÅÊ +ÓÉÓÔÅÍÏÊ; Panther É Tiger ÂÏÌØÛÅ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ. + +ðÒÏÇÒÁÍÍÁ \code{biber} ÄÌÑ ÏÂÒÁÂÏÔËÉ ÂÉÂÌÉÏÇÒÁÆÉÞÅÓËÉÈ ÓÐÉÓËÏ× +ÄÏÂÁ×ÌÅÎÁ ÄÌÑ ×ÓÅÈ ÐÌÁÔÆÏÒÍ. ïÎÁ ÔÅÓÎÏ Ó×ÑÚÁÎÁ Ó ÐÁËÅÔÏÍ +\code{biblatex}, ËÏÔÏÒÙÊ ÐÒÅÄÌÁÇÁÅÔ ÓÏ×ÅÒÛÅÎÎÏ ÎÏ×ÙÊ ÓÐÏÓÏ ÏÂÒÁÂÏÔËÉ +ÂÉÂÌÉÏÇÒÁÆÉÊ ÉÚ \LaTeX Á. + +ðÒÏÇÒÁÍÍÁ MetaPost (\code{mpost}) ÂÏÌØÛÅ ÎÅ ÓÏÚÄÁÅÔ ÆÁÊÌÏ× +\code{.mem}. îÕÖÎÙÅ ÆÁÊÌÙ, ÎÁÐÒÉÍÅÒ \code{plain.mp}, ÔÅÐÅÒØ ÐÒÏÓÔÏ +ÐÅÒÅÞÉÔÙ×ÁÀÔÓÑ ÐÒÉ ËÁÖÄÏÍ ÚÁÐÕÓËÅ. üÔÏ Ó×ÑÚÁÎÏ Ó ÐÏÄÄÅÒÖËÏÊ MetaPost +ËÁË ÂÉÂÌÉÏÔÅËÉ "--- ÅÝ£ ÏÄÎÏ ×ÁÖÎÏÅ, ÎÏ ÐÒÏÚÒÁÞÎÏÅ ÄÌÑ ÐÏÌØÚÏ×ÁÔÅÌÑ +ÉÚÍÅÎÅÎÉÅ. + +÷ÅÒÓÉÑ ÐÒÏÇÒÁÍÍÙ \code{updmap}, ÎÁÐÉÓÁÎÎÁÑ ÎÁ ðÅÒÌÅ, ÒÁÎÅÅ +ÉÓÐÏÌØÚÏ×ÁÎÎÁÑ ÔÏÌØËÏ ÐÏÄ Windows, ÔÅÐÅÒØ ÕÌÕÞÛÅÎÁ É ÕÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ +ÄÌÑ ×ÓÅÈ ÐÌÁÔÆÏÒÍ. üÔÏ ÄÏÌÖÎÏ ÂÙÔØ ÐÒÏÚÒÁÞÎÏ ÄÌÑ ÐÏÌØÚÏ×ÁÔÅÌÑ "--- +ÒÁÚ×Å ÞÔÏ ÐÒÏÇÒÁÍÍÁ ÔÅÐÅÒØ ÒÁÂÏÔÁÅÔ ÇÏÒÁÚÄÏ ÂÙÓÔÒÅÅ. + +% +\htmlanchor{news} +\subsection{îÁÓÔÏÑÝÅÅ} +\label{sec:tlcurrent} + +ðÒÏÇÒÁÍÍÁ \code{tlmgr} ÔÅÐÅÒØ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÏÂÎÏ×ÌÅÎÉÑ ÉÚ ÎÅÓËÏÌØËÉÈ +ÓÅÔÅ×ÙÈ ÒÅÐÏÚÉÔÏÒÉÅ×. üÔÉ ×ÏÚÍÏÖÎÏÓÔÉ ÐÏÄÒÏÂÎÅÅ ÏÐÉÓÁÎÙ × +ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÍ ÒÁÚÄÅÌÅ \code{tlmgr help}. + +ðÁÒÁÍÅÔÒ \cs{XeTeXdashbreakstate} ÔÅÐÅÒØ ÐÏ ÕÍÏÌÞÁÎÉÀ ÒÁ×ÅÎ~1, ËÁË +ÄÌÑ \code{xetex}, ÔÁË É ÄÌÑ \code{xelatex}. üÔÏ ÒÁÚÒÅÛÁÅÔ ÐÅÒÅÈÏÄ ÎÁ +ÎÏ×ÕÀ ÓÔÒÏËÕ ÐÏÓÌÅ ÔÉÒÅ, ÞÔÏ ×ÓÅÇÄÁ ÂÙÌÏ ÒÁÚÒÅÛÅÎÏ × plain TeX, +\LaTeX, Lua\TeX\ É Ô.Ä. óÔÁÒÙÅ ÄÏËÕÍÅÎÔÙ × \XeTeX Å, ÄÌÑ ËÏÔÏÒÙÈ +ÎÕÖÎÏ × ÔÏÞÎÏÓÔÉ ÓÏÈÒÁÎÉÔØ ÓÔÁÒÏÅ ÆÏÒÍÁÔÉÒÏ×ÁÎÉÅ, ÔÅÐÅÒØ ÄÏÌÖÎÙ ÂÕÄÕÔ +Ñ×ÎÏ ÕÓÔÁÎÏ×ÉÔØ \cs{XeTeXdashbreakstate} ÒÁ×ÎÙÍ~0. + +æÁÊÌÙ, ÓÏÚÄÁ×ÁÅÍÙÅ ÐÒÏÇÒÁÍÍÁÍÉ \code{pdftex} É \code{dvips}, ÔÅÐÅÒØ +ÍÏÇÕÔ ÂÙÔØ ÂÏÌØÛÅ 2~ÇÉÇÁÂÁÊÔ. + +35 ÓÔÁÎÄÁÒÔÎÙÈ ÛÒÉÆÔÏ× PostScriptÁ ÔÅÐÅÒØ ÐÏ ÕÍÏÌÞÁÎÉÀ ×ËÌÀÞÅÎÙ × +ÆÁÊÌÙ, ÓÏÚÄÁ×ÁÅÍÙÅ \code{dvips}, ÔÁË ËÁË ÓÅÊÞÁÓ ÓÕÝÅÓÔ×ÕÅÔ ÍÎÏÇÏ +ÒÁÚÎÙÈ ×ÅÒÓÉÊ ÜÔÉÈ <<ÓÔÁÎÄÁÒÔÎÙÈ>> ÛÒÉÆÔÏ×. + +ë ÐÒÏÇÒÁÍÍÁÍ, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÐÏ ÕÍÏÌÞÁÎÉÀ ×ÙÚÙ×ÁÔØÓÑ × ÏÇÒÁÎÉÞÅÎÎÏÍ +ÒÅÖÉÍÅ ÞÅÒÅÚ \cs{write18}, ÄÏÂÁ×ÌÅÎÁ \code{mpost}. + +æÁÊÌ \code{texmf.cnf} ÔÅÐÅÒØ ÉÝÅÔÓÑ ÅÝ£ É × ÄÉÒÅËÔÏÒÉÉ +\filename{../texmf-local}, Ô.\,Å. ÅÓÌÉ ÆÁÊÌ +\filename{/usr/local/texlive/texmf-local/web2c/texmf.cnf} ÓÕÝÅÓÔ×ÕÅÔ, +ÏÎ ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÎ. + +óËÒÉÐÔ \code{updmap} ÔÅÐÅÒØ ÞÉÔÁÅÔ ÆÁÊÌÙ \code{updmap.cfg} × ËÁÖÄÏÍ +ÐÏÄÄÅÒÅ×Å ÄÉÒÅËÔÏÒÉÊ, ×ÍÅÓÔÏ ÏÄÎÏÇÏ ÇÌÏÂÁÌØÎÏÇÏ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÏÇÏ +ÆÁÊÌÁ. üÔÏ ÉÚÍÅÎÅÎÉÅ ÄÏÌÖÎÏ ÂÙÔØ ÐÒÏÚÒÁÞÎÙÍ ÄÌÑ ÐÏÌØÚÏ×ÁÔÅÌÑ, ÅÓÌÉ ÂÙ +ÎÅ ÒÅÄÁËÔÉÒÏ×ÁÌÉ ×ÒÕÞÎÕÀ ÆÁÊÌÙ \code{updmap.cfg}. ðÏÄÒÏÂÎÅÅ ÏÂßÑÓÎÅÎÏ +× ÄÏËÕÍÅÎÔÁÃÉÉ, ×ÙÄÁ×ÁÅÍÏÊ ËÏÍÁÎÄÏÊ \code{updmap --help}. + +ðÌÁÔÆÏÒÍÙ: ÄÏÂÁ×ÌÅÎÙ \pkgname{armel-linux} É \pkgname{mipsel-linux}; +ÉÚ ÏÓÎÏ×ÎÏÇÏ ÄÉÓÔÒÉÂÕÔÉ×Á ÉÓËÌÀÞÅÎÁ ÐÌÁÔÆÏÒÍÁ \pkgname{sparc-linux}. +å£ ÔÅÐÅÒØ ÍÏÖÎÏ ÓÇÒÕÚÉÔØ, ×ÍÅÓÔÅ Ó ÄÒÕÇÉÍÉ ÄÏÐÏÌÎÉÔÅÌØÎÙÍÉ +ÐÌÁÔÆÏÒÍÁÍÉ, ÉÚ \url{http://tug.org/texlive/custom-bin.html}. + +\subsection{âÕÄÕÝÅÅ} + +\emph{\TL{} ÎÅ ÓÏ×ÅÒÛÅÎÅÎ!} (é ÎÉËÏÇÄÁ ÎÅ ÂÕÄÅÔ.) íÙ ÐÒÅÄÐÏÌÁÇÁÅÍ +×ÙÐÕÓËÁÔØ ÎÏ×ÙÅ ×ÅÒÓÉÉ, ÄÏÂÁ×ÌÑÑ ÓÐÒÁ×ÏÞÎÙÊ ÍÁÔÅÒÉÁÌ, +ÕÔÉÌÉÔÙ, ÕÓÔÁÎÏ×ÏÞÎÙÅ ÐÒÏÇÒÁÍÍÙ É (ËÏÎÅÞÎÏ) ÎÏ×ÏÅ, ÕÌÕÞÛÅÎÎÏÅ É +ÐÒÏ×ÅÒÅÎÎÏÅ ÄÅÒÅ×Ï ÍÁËÒÏÓÏ× É ÛÒÉÆÔÏ×. üÔÁ ÒÁÂÏÔÁ ÄÅÌÁÅÔÓÑ ÏÞÅÎØ +ÚÁÎÑÔÙÍÉ ÄÏÂÒÏ×ÏÌØÃÁÍÉ × Ó×ÏÂÏÄÎÏÅ ×ÒÅÍÑ, É ÍÎÏÇÏÅ ÏÓÔÁÅÔÓÑ ÓÄÅÌÁÔØ. +åÓÌÉ ×Ù ÍÏÖÅÔÅ ÐÏÍÏÞØ, ÎÅ +ÓÔÅÓÎÑÊÔÅÓØ. óÍ. \url{http://tug.org/texlive/contribute.html}. + +ðÒÉÓÙÌÁÊÔÅ, ÐÏÖÁÌÕÊÓÔÁ, ÚÁÍÅÞÁÎÉÑ É ÐÒÅÄÌÏÖÅÎÉÑ ÐÏ ÁÄÒÅÓÕ:\hfill\null +\begin{quote} +\email{tex-live@tug.org} \\ +\url{http://tug.org/texlive} +\end{quote} + +\medskip +\noindent \textsl{Happy \TeX ing!} + +\end{document} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% LaTeX-command-style: (("." "pdflatex")) +%%% TeX-view-style: (("." "acroread %s.pdf")) +%%% End: diff --git a/Master/texmf-dist/doc/texlive/texlive-sr/Makefile b/Master/texmf-dist/doc/texlive/texlive-sr/Makefile new file mode 100644 index 00000000000..6b080f3e5a5 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-sr/Makefile @@ -0,0 +1,26 @@ +# Makefile for Serbian Translation of the TeX Live documentation. + +TEX = xelatex +TECKIT = teckit_compile +doc = texlive-sr +source = $(doc).tex +pdf = $(doc).pdf +html = ${doc}.html + +all: realclean pdf + +env = TEXINPUTS=../texlive-common:../texlive-en:images:; export TEXINPUTS; + +pdf: + $(env) $(TEX) $(source) + $(env) $(TEX) $(source) + $(env) $(TEX) $(source) + +clean: + rm -f *.aux *.log *.blg *.toc *.out *.lot tex4ht.ps *.4* + rm -f *.xref* *.lg *.idv *.out *.otc *.tmp tmp.* + rm -f $(doc).dvi $(doc).ps $(doc).xdv + +realclean: clean + rm -f $(doc).pdf + rm -f *.html *.htm $(doc).css *.gif *.jpg $(doc).tec *~ diff --git a/Master/texmf-dist/doc/texlive/texlive-sr/README-SR.txt b/Master/texmf-dist/doc/texlive/texlive-sr/README-SR.txt new file mode 100644 index 00000000000..1f663444e95 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-sr/README-SR.txt @@ -0,0 +1,48 @@ +======================================================================== + TeX Live Guide Translation (Serbian, Cyrillic Script) + -------------------------------------------------------------------- + Original: The TeX Live Guide: TeX Live 2012, Karl Berry (ed.) + Translator: Nikola LeÄić <nikola.lecic@anthesphoria.net> +======================================================================== + +To compile texlive-sr.tex, you need: + +1. XeTeX (xelatex); + +2. the following packages, apart from those required to build texlive-en: + fontspec, xunicode, xltxtra, polyglossia, caption and relsize; + +3. the following fonts: + + Old Standard >= 2.0.2 (by Alexey Kryukov) [1] + Computer Modern Unicode >= 0.6.3a (by Andrey Panov) [2] + + [1] http://www.thessalonica.org.ru/en/oldstandard.html + [2] http://canopus.iacp.dvo.ru/~panov/cm-unicode/ + http://sourceforge.net/projects/cm-unicode/ + + (these fonts are also included in TeX Live >= 2010 -- please read + the TeX Live Guide, section `Font configuration for XeTeX' on how to + configure your system); + +4. BSD or GNU make. + +To produce texlive-sr.pdf, type `make pdf'. + +Since tex4ht currently does not fully support XeTeX, the HTML version +of this documentation is produced similarly to that of the English +original, but some handiwork was necessary to simplify .tex and .sty, to +change encoding to cp1251 and back to utf-8, and to alter the generated +CSS. Therefore you cannot produce HTML from the source using Makefile. + +If you have any problems, suggestions or questions, please contact the +translator. + +Permission is granted to copy, distribute and/or modify this translation +under the terms of the adapted version of FreeBSD documentation licence. +The text of the licence is included in texlive-sr.tex and at the end of +resulting PDF/HTML files. + +http://www.gnu.org/licenses/license-list.html#FreeDocumentationLicenses +http://www.freebsd.org/copyright/freebsd-doc-license.html + diff --git a/Master/texmf-dist/doc/texlive/texlive-sr/images/tl2012-install-tl-collections-freebsd-sr.png b/Master/texmf-dist/doc/texlive/texlive-sr/images/tl2012-install-tl-collections-freebsd-sr.png Binary files differnew file mode 100644 index 00000000000..8331906a354 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-sr/images/tl2012-install-tl-collections-freebsd-sr.png diff --git a/Master/texmf-dist/doc/texlive/texlive-sr/images/tl2012-install-tl-expert-gui-freebsd-sr.png b/Master/texmf-dist/doc/texlive/texlive-sr/images/tl2012-install-tl-expert-gui-freebsd-sr.png Binary files differnew file mode 100644 index 00000000000..98f16710444 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-sr/images/tl2012-install-tl-expert-gui-freebsd-sr.png diff --git a/Master/texmf-dist/doc/texlive/texlive-sr/images/tl2012-install-tl-wizard-win32-sr.png b/Master/texmf-dist/doc/texlive/texlive-sr/images/tl2012-install-tl-wizard-win32-sr.png Binary files differnew file mode 100644 index 00000000000..27b38416a8e --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-sr/images/tl2012-install-tl-wizard-win32-sr.png diff --git a/Master/texmf-dist/doc/texlive/texlive-sr/images/tl2012-tlmgr-main-screen-freebsd-sr.png b/Master/texmf-dist/doc/texlive/texlive-sr/images/tl2012-tlmgr-main-screen-freebsd-sr.png Binary files differnew file mode 100644 index 00000000000..5e135ecd93c --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-sr/images/tl2012-tlmgr-main-screen-freebsd-sr.png diff --git a/Master/texmf-dist/doc/texlive/texlive-sr/images/tl2012-tlmgr-options-freebsd-sr.png b/Master/texmf-dist/doc/texlive/texlive-sr/images/tl2012-tlmgr-options-freebsd-sr.png Binary files differnew file mode 100644 index 00000000000..03ca041eeb1 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-sr/images/tl2012-tlmgr-options-freebsd-sr.png diff --git a/Master/texmf-dist/doc/texlive/texlive-sr/images/tl2012-tlmgr-paper-options-freebsd-sr.png b/Master/texmf-dist/doc/texlive/texlive-sr/images/tl2012-tlmgr-paper-options-freebsd-sr.png Binary files differnew file mode 100644 index 00000000000..a35d4835709 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-sr/images/tl2012-tlmgr-paper-options-freebsd-sr.png diff --git a/Master/texmf-dist/doc/texlive/texlive-sr/texlive-sr.css b/Master/texmf-dist/doc/texlive/texlive-sr/texlive-sr.css new file mode 100644 index 00000000000..d4f18b9bb10 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-sr/texlive-sr.css @@ -0,0 +1,178 @@ + +/* start css.sty */ +.larm-1728{font-size:170%;} +.larm-2074{font-size:200%;} +.lmsy-10x-x-172{font-size:172%;} +.larm-1200{font-size:120%;} +.larm-0900{font-size:90%;} +.larm-0700{font-size:70%;} +.larm-0800{font-size:80%;} +p.noindent { text-indent: 0em } +td p.noindent { text-indent: 0em; margin-top:0em; } +p.nopar { text-indent: 0em; } +p.indent{ text-indent: 1.5em } +@media print {div.crosslinks {visibility:hidden;}} +a img { border-top: 0; border-left: 0; border-right: 0; } +center { margin-top:1em; margin-bottom:1em; } +td center { margin-top:0em; margin-bottom:0em; } +.Canvas { position:relative; } +img.math{vertical-align:middle;} +li p.indent { text-indent: 0em } +li p:first-child{ margin-top:0em; } +li p:last-child, li div:last-child { margin-bottom:0.5em; } +li p~ul:last-child, li p~ol:last-child{ margin-bottom:0.5em; } +.enumerate1 {list-style-type:decimal;} +.enumerate2 {list-style-type:lower-alpha;} +.enumerate3 {list-style-type:lower-roman;} +.enumerate4 {list-style-type:upper-alpha;} +div.newtheorem { margin-bottom: 2em; margin-top: 2em;} +.obeylines-h,.obeylines-v {white-space: nowrap; } +div.obeylines-v p { margin-top:0; margin-bottom:0; } +.overline{ text-decoration:overline; } +.overline img{ border-top: 1px solid black; } +td.displaylines {text-align:center; white-space:nowrap;} +.centerline {text-align:center;} +.rightline {text-align:right;} +div.verbatim {font-family: monospace; white-space: nowrap; text-align:left; clear:both; } +.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +div.fbox {display:table} +div.center div.fbox {text-align:center; clear:both; padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +div.minipage{width:100%;} +div.center, div.center div.center {text-align: center; margin-left:1em; margin-right:1em;} +div.center div {text-align: left;} +div.flushright, div.flushright div.flushright {text-align: right;} +div.flushright div {text-align: left;} +div.flushleft {text-align: left;} +.underline{ text-decoration:underline; } +.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; } +.framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +.framebox-c {text-align:center;} +.framebox-l {text-align:left;} +.framebox-r {text-align:right;} +span.thank-mark{ vertical-align: super } +span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript{ font-size:80%; } +div.footnotes{border-top:solid 1px black; border-bottom:solid 1px black; padding-bottom:1ex; padding-top:0.5ex; margin-right:15%; margin-top:2ex; font-style:italic; font-size:85%;} +div.footnotes p{margin-top:0; margin-bottom:0; text-indent:0;} +div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; } +table.tabular td p{margin-top:0em;} +table.tabular {margin-left: auto; margin-right: auto;} +td p:first-child{ margin-top:0em; } +td p:last-child{ margin-bottom:0em; } +div.td00{ margin-left:0pt; margin-right:0pt; } +div.td01{ margin-left:0pt; margin-right:5pt; } +div.td10{ margin-left:5pt; margin-right:0pt; } +div.td11{ margin-left:5pt; margin-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +td.td00{ padding-left:0pt; padding-right:0pt; } +td.td01{ padding-left:0pt; padding-right:5pt; } +td.td10{ padding-left:5pt; padding-right:0pt; } +td.td11{ padding-left:5pt; padding-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +.hline hr, .cline hr{ height : 1px; margin:0px; } +.tabbing-right {text-align:right;} +span.TEX {letter-spacing: -0.125em; } +span.TEX span.E{ position:relative;top:0.5ex;left:-0.0417em;} +a span.TEX span.E {text-decoration: none; } +span.LATEX span.A{ position:relative; top:-0.5ex; left:-0.4em; font-size:85%;} +span.LATEX span.TEX{ position:relative; left: -0.4em; } +div.float, div.figure {margin-left: auto; margin-right: auto;} +div.float img {text-align:center;} +div.figure img {text-align:center;} +.marginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;} +.marginpar p{margin-top:0.4em; margin-bottom:0.4em;} +table.equation {width:100%;} +.equation td{text-align:center; } +td.equation { margin-top:1em; margin-bottom:1em; } +td.equation-label { width:5%; text-align:center; } +td.eqnarray4 { width:5%; white-space: normal; } +td.eqnarray2 { width:5%; } +table.eqnarray-star, table.eqnarray {width:100%;} +div.eqnarray{text-align:center;} +div.array {text-align:center;} +div.pmatrix {text-align:center;} +table.pmatrix {width:100%;} +span.pmatrix img{vertical-align:middle;} +div.pmatrix {text-align:center;} +table.pmatrix {width:100%;} +span.bar-css {text-decoration:overline;} +img.cdots{vertical-align:middle;} +div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; } +table.tabular td p{margin-top:0em;} +table.tabular {margin-left: auto; margin-right: auto;} +td p:first-child{ margin-top:0em; } +td p:last-child{ margin-bottom:0em; } +div.td00{ margin-left:0pt; margin-right:0pt; } +div.td01{ margin-left:0pt; margin-right:5pt; } +div.td10{ margin-left:5pt; margin-right:0pt; } +div.td11{ margin-left:5pt; margin-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +td.td00{ padding-left:0pt; padding-right:0pt; } +td.td01{ padding-left:0pt; padding-right:5pt; } +td.td10{ padding-left:5pt; padding-right:0pt; } +td.td11{ padding-left:5pt; padding-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +.hline hr, .cline hr{ height : 1px; margin:0px; } +div.array {text-align:center;} +.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; font-weight:bold; font-size:110%;} +.index-item, .index-subitem, .index-subsubitem {display:block} +div.caption {text-indent:-2em; margin-left:3em; margin-right:1em; text-align:left;} +div.caption span.id{font-weight: bold; white-space: nowrap; } +h1.partHead{text-align: center} +p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } +p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } +.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;} +.subparagraphHead, .likesubparagraphHead { font-weight: bold;} +.quote {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; margin-right:1em; text-align:justify;} +.verse{white-space:nowrap; margin-left:2em} +div.maketitle {text-align:center;} +h2.titleHead{text-align:center;} +div.maketitle{ margin-bottom: 2em; } +div.author, div.date {text-align:center;} +div.thanks{text-align:left; margin-left:10%; font-size:85%; font-style:italic; } +.quotation {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; } +.abstract p {margin-left:5%; margin-right:5%;} +div.abstract {width:100%;} +.alltt P { margin-bottom : 0em; margin-top : 0em; } +.alltt { margin-bottom : 1em; margin-top : 1em; } +.figure img.graphics {margin-left:10%;} +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +div.longtable{text-align:center;} +.uline{ text-decoration:underline; } +.uuline{ text-decoration:underline; } +span.sout {text-decoration: line-through } +span.xout {text-decoration: line-through } +span.uwave {text-decoration:underline } +P.fancyvrb {white-space: nowrap; margin:0em;} +div#fancyvrb1{ border-top: solid 0.4pt; } +div#fancyvrb1{ border-left: solid 0.4pt; } +div#fancyvrb1{ border-bottom: solid 0.4pt; } +div#fancyvrb1{ border-right: solid 0.4pt; } +div#fancyvrb2{ border-top: solid 0.4pt; } +div#fancyvrb2{ border-left: solid 0.4pt; } +div#fancyvrb2{ border-bottom: solid 0.4pt; } +div#fancyvrb2{ border-right: solid 0.4pt; } +div#fancyvrb3{ border-top: solid 0.4pt; } +div#fancyvrb3{ border-left: solid 0.4pt; } +div#fancyvrb3{ border-bottom: solid 0.4pt; } +div#fancyvrb3{ border-right: solid 0.4pt; } +div#fancyvrb4{ border-top: solid 0.4pt; } +div#fancyvrb4{ border-left: solid 0.4pt; } +div#fancyvrb4{ border-bottom: solid 0.4pt; } +div#fancyvrb4{ border-right: solid 0.4pt; } +/* end css.sty */ + +/* handiwork */ +body, h3.sectionHead, h4.subsectionHead, h5.subsubsectionHead { font-family : "DejaVu Sans", Verdana, Calibri, Arial, Helvetica, "Bitstream Vera Sans", sans-serif; } +div.fancyvrb, div.BVerbatimInput, .texttt, .file, .samp { font-family: "DejaVu Sans Mono", "Courier New", Monaco, "Andale Mono", "Lucida Console", "Bitstream Vera Sans Mono", monospace; font-size: 85%; } +.url {font-family: "DejaVu Sans Mono", "Courier New", Monaco, "Andale Mono", "Lucida Console", "Bitstream Vera Sans Mono", monospace; font-size: 80%; } +div.verbatim {font-family: "DejaVu Sans Mono", "Courier New", Monaco, "Andale Mono", "Lucida Console", "Bitstream Vera Sans Mono", monospace; white-space: nowrap; text-align:left; clear:both; } +dt.description {font-weight: bold; } +dt.list {font-family: "DejaVu Sans Mono", "Courier New", Monaco, "Andale Mono", "Lucida Console", "Bitstream Vera Sans Mono", monospace; font-weight: bold; font-size: 80%; } +.obeylines-h,.obeylines-v { font-family: "DejaVu Sans Mono", "Courier New", Monaco, "Andale Mono", "Lucida Console", "Bitstream Vera Sans Mono", monospace; font-size: 80%; } +div.caption {text-indent:-2em; margin-left:3em; margin-right:1em; text-align:left; margin-top: .5em; margin-bottom: .9em; } +.path { font-family: "DejaVu Sans Mono", "Courier New", Monaco, "Andale Mono", "Lucida Console", "Bitstream Vera Sans Mono", monospace; font-size: 80%; } +div.footnotes{border-top:solid 1px black; border-bottom:solid 1px black; padding-bottom:1ex; padding-top:0.5ex; margin-right:15%; margin-top:2ex; font-style:normal; font-size:85%;} +div.footnotes p{margin-top:0; margin-bottom:0; text-indent:0;} +.larm-0700 { font-size: 85%; } +.command { font-weight: bold; } +.emph { font-style: italic; } diff --git a/Master/texmf-dist/doc/texlive/texlive-sr/texlive-sr.html b/Master/texmf-dist/doc/texlive/texlive-sr/texlive-sr.html new file mode 100644 index 00000000000..a011d3744e4 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-sr/texlive-sr.html @@ -0,0 +1,5934 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" + "http://www.w3.org/TR/html4/loose.dtd"> +<html xml:lang="sr" > +<head> + <title>TeX Live: Приручник +TeX Live 2012</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> +<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> +<!-- charset=utf-8,html,info,fn-in --> +<meta name="src" content="texlive-sr.tex"> +<meta name="date" content="2012-06-04 02:10:00"> +<link rel="stylesheet" type="text/css" href="texlive-sr.css"> +<link rel="stylesheet" type="text/css" href="texlive-sr.css" > +<link rel="stylesheet" type="text/css" href="../texlive-en/tex-live.css" > +</head><body +> + <div class="maketitle"> + + + + + +<h2 class="titleHead"><span class="TEX">T<span +class="E">E</span>X</span> Live: Приручник<br /> +<span class="TEX">T<span +class="E">E</span>X</span> Live 2012<span class="thank-mark"><a +href="#tk-1" id="kt-1">*</a></span></h2> + <div class="author" ><span +class="larm-1200">Карл Бери, уредник</span> +<br /> <a +href="http://tug.org/texlive/" class="url" ><span +class="larm-1200">http://tug.org/texlive/</span></a><br> +<br /> <span +class="larm-0900">превод на ÑрпÑки језик</span> +<br /> <span +class="larm-0900">Ðикола Лечић</span> +<br /> <a +href="mailto:nikola.lecic@anthesphoria.net" ><span class="path"><span +class="larm-0700">nikola.lecic@anthesphoria.net</span></span></a> </div><br /> +<div class="date" ><span +class="larm-1200">јун 2012</span></div> + </div> + <h3 class="likesectionHead"><a + id="x1-1000"></a>Садржај</h3> + <div class="tableofcontents"> + <span class="sectionToc" >1 <a +href="#x1-20001" id="QQ2-1-2">Увод</a></span> +<br /> <span class="subsectionToc" >1.1 <a +href="#x1-30001.1" id="QQ2-1-3">TEX Live и TEX Collection</a></span> +<br /> <span class="subsectionToc" >1.2 <a +href="#x1-40001.2" id="QQ2-1-4">Подржани оперативни ÑиÑтеми</a></span> +<br /> <span class="subsectionToc" >1.3 <a +href="#x1-50001.3" id="QQ2-1-5">ОÑновна инÑталација <span class="TEX">T<span +class="E">E</span>X</span> Live-а</a></span> +<br /> <span class="subsectionToc" >1.4 <a +href="#x1-60001.4" id="QQ2-1-6">Ðа шта треба обратити пажњу што Ñе тиче ÑигурноÑти</a></span> +<br /> <span class="subsectionToc" >1.5 <a +href="#x1-70001.5" id="QQ2-1-7">Помоћ у раду</a></span> +<br /> <span class="sectionToc" >2 <a +href="#x1-80002" id="QQ2-1-8">Преглед <span class="TEX">T<span +class="E">E</span>X</span> Live-а</a></span> +<br /> <span class="subsectionToc" >2.1 <a +href="#x1-90002.1" id="QQ2-1-9"><span class="TEX">T<span +class="E">E</span>X</span> Collection: TEX Live, proTEXt, MacTEX</a></span> +<br /> <span class="subsectionToc" >2.2 <a +href="#x1-100002.2" id="QQ2-1-10">TEX Live директоријуми највишег нивоа</a></span> +<br /> <span class="subsectionToc" >2.3 <a +href="#x1-110002.3" id="QQ2-1-11">Садржај директоријума texmf</a></span> +<br /> <span class="subsectionToc" >2.4 <a +href="#x1-120002.4" id="QQ2-1-12">Проширења <span class="TEX">T<span +class="E">E</span>X</span>-а</a></span> +<br /> <span class="subsectionToc" >2.5 <a +href="#x1-130002.5" id="QQ2-1-13">Други иÑтакнути програми у <span class="TEX">T<span +class="E">E</span>X</span> Live</a></span> +<br /> <span class="subsectionToc" >2.6 <a +href="#x1-140002.6" id="QQ2-1-14">Фонтови у <span class="TEX">T<span +class="E">E</span>X</span> Live</a></span> +<br /> <span class="sectionToc" >3 <a +href="#x1-150003" id="QQ2-1-15">ИнÑталација</a></span> +<br /> <span class="subsectionToc" >3.1 <a +href="#x1-160003.1" id="QQ2-1-16">Покретање инÑталационог програма</a></span> +<br /> <span class="subsubsectionToc" >3.1.1 <a +href="#x1-170003.1.1" id="QQ2-1-17">Unix</a></span> +<br /> <span class="subsubsectionToc" >3.1.2 <a +href="#x1-180003.1.2" id="QQ2-1-18">MacOSX</a></span> +<br /> <span class="subsubsectionToc" >3.1.3 <a +href="#x1-190003.1.3" id="QQ2-1-19">Windows</a></span> +<br /> <span class="subsubsectionToc" >3.1.4 <a +href="#x1-200003.1.4" id="QQ2-1-23">Cygwin</a></span> +<br /> <span class="subsubsectionToc" >3.1.5 <a +href="#x1-210003.1.5" id="QQ2-1-24">ИнÑталација у текÑтуалном режиму</a></span> +<br /> <span class="subsubsectionToc" >3.1.6 <a +href="#x1-220003.1.6" id="QQ2-1-25">ИнÑталација у екÑпертÑком графичком режиму</a></span> +<br /> <span class="subsubsectionToc" >3.1.7 <a +href="#x1-230003.1.7" id="QQ2-1-26">ИнÑталација у поједноÑтављеном +графичком („wizard“) режиму</a></span> +<br /> <span class="subsectionToc" >3.2 <a +href="#x1-240003.2" id="QQ2-1-27">Употреба инÑталационог програма</a></span> +<br /> <span class="subsubsectionToc" >3.2.1 <a +href="#x1-250003.2.1" id="QQ2-1-28">Мени за избор платформе (Ñамо на Unix-у)</a></span> +<br /> <span class="subsubsectionToc" >3.2.2 <a +href="#x1-260003.2.2" id="QQ2-1-30">Избор компоненти</a></span> +<br /> <span class="subsubsectionToc" >3.2.3 <a +href="#x1-270003.2.3" id="QQ2-1-33">Директоријуми</a></span> +<br /> <span class="subsubsectionToc" >3.2.4 <a +href="#x1-280003.2.4" id="QQ2-1-34">Опције</a></span> +<br /> <span class="subsectionToc" >3.3 <a +href="#x1-290003.3" id="QQ2-1-36">Параметри програма install-tl на командној линији</a></span> +<br /> <span class="subsubsectionToc" >3.3.1 <a +href="#x1-300003.3.1" id="QQ2-1-37">Параметар -repository</a></span> +<br /> <span class="subsectionToc" >3.4 <a +href="#x1-310003.4" id="QQ2-1-38">ПоÑтинÑталациони задаци</a></span> +<br /> <span class="subsubsectionToc" >3.4.1 <a +href="#x1-320003.4.1" id="QQ2-1-39">СиÑтемÑке променљиве на Unix-у</a></span> +<br /> <span class="subsubsectionToc" >3.4.2 <a +href="#x1-330003.4.2" id="QQ2-1-40">СиÑтемÑке променљиве: глобална подешавања</a></span> + + +<br /> <span class="subsubsectionToc" >3.4.3 <a +href="#x1-340003.4.3" id="QQ2-1-41">Ðадоградње преко Интернета поÑле инÑталације +Ñа DVD-ја</a></span> +<br /> <span class="subsubsectionToc" >3.4.4 <a +href="#x1-350003.4.4" id="QQ2-1-42">Подешавање ÑиÑтемÑких фонтова за XeTEX и LuaTEX</a></span> +<br /> <span class="subsubsectionToc" >3.4.5 <a +href="#x1-360003.4.5" id="QQ2-1-43">ConTEXt Mark IV</a></span> +<br /> <span class="subsubsectionToc" >3.4.6 <a +href="#x1-370003.4.6" id="QQ2-1-44">Укључивање локалних и личних макроа</a></span> +<br /> <span class="subsubsectionToc" >3.4.7 <a +href="#x1-380003.4.7" id="QQ2-1-45">Укључивање Ñпољних фонтова</a></span> +<br /> <span class="subsectionToc" >3.5 <a +href="#x1-390003.5" id="QQ2-1-46">ТеÑтирање инÑталације</a></span> +<br /> <span class="subsectionToc" >3.6 <a +href="#x1-400003.6" id="QQ2-1-47">Додатни Ñофтвер који Ñе може преузети Ñа Интернета</a></span> +<br /> <span class="sectionToc" >4 <a +href="#x1-410004" id="QQ2-1-48">Специјализоване инÑталације</a></span> +<br /> <span class="subsectionToc" >4.1 <a +href="#x1-420004.1" id="QQ2-1-49">ИнÑталације које дели више кориÑника или +више компјутера</a></span> +<br /> <span class="subsectionToc" >4.2 <a +href="#x1-430004.2" id="QQ2-1-50">ПреноÑиве инÑталације на USB-диÑку</a></span> +<br /> <span class="subsectionToc" >4.3 <a +href="#x1-440004.3" id="QQ2-1-51">ISO (или DVD) инÑталације</a></span> +<br /> <span class="sectionToc" >5 <a +href="#x1-450005" id="QQ2-1-52">Одржавање инÑталације помоћу tlmgr</a></span> +<br /> <span class="subsectionToc" >5.1 <a +href="#x1-460005.1" id="QQ2-1-56">tlmgr у графичком (GUI) режиму рада</a></span> +<br /> <span class="subsectionToc" >5.2 <a +href="#x1-470005.2" id="QQ2-1-57">Примери позивања tlmgr-а Ñа командне линије</a></span> +<br /> <span class="sectionToc" >6 <a +href="#x1-480006" id="QQ2-1-58">Ðапомене за Windows</a></span> +<br /> <span class="subsectionToc" >6.1 <a +href="#x1-490006.1" id="QQ2-1-59">МогућноÑти Ñпецифичне за Windows</a></span> +<br /> <span class="subsectionToc" >6.2 <a +href="#x1-500006.2" id="QQ2-1-60">Додатни Ñофтвер укључен на Windows-у</a></span> +<br /> <span class="subsectionToc" >6.3 <a +href="#x1-510006.3" id="QQ2-1-62">Лични кориÑнички директоријум на Windows-у</a></span> +<br /> <span class="subsectionToc" >6.4 <a +href="#x1-520006.4" id="QQ2-1-63">Windows-ов „registry“</a></span> +<br /> <span class="subsectionToc" >6.5 <a +href="#x1-530006.5" id="QQ2-1-64">Овлашћења на Windows-у</a></span> +<br /> <span class="subsectionToc" >6.6 <a +href="#x1-540006.6" id="QQ2-1-65">Увећавање макÑимума доÑтупне меморије +на Windows-у и Cygwin-у</a></span> +<br /> <span class="sectionToc" >7 <a +href="#x1-550007" id="QQ2-1-66">КориÑнички водич кроз Web2C</a></span> +<br /> <span class="subsectionToc" >7.1 <a +href="#x1-560007.1" id="QQ2-1-67">Проналажење фајлова помоћу Kpathsea</a></span> +<br /> <span class="subsubsectionToc" >7.1.1 <a +href="#x1-570007.1.1" id="QQ2-1-68">Извори путања</a></span> +<br /> <span class="subsubsectionToc" >7.1.2 <a +href="#x1-580007.1.2" id="QQ2-1-69">Конфигурациони фајлови</a></span> +<br /> <span class="subsubsectionToc" >7.1.3 <a +href="#x1-590007.1.3" id="QQ2-1-70">Прерачунавање путање</a></span> +<br /> <span class="subsubsectionToc" >7.1.4 <a +href="#x1-600007.1.4" id="QQ2-1-71">Стандардно прерачунавање</a></span> +<br /> <span class="subsubsectionToc" >7.1.5 <a +href="#x1-610007.1.5" id="QQ2-1-72">Прерачунавање заграда</a></span> +<br /> <span class="subsubsectionToc" >7.1.6 <a +href="#x1-620007.1.6" id="QQ2-1-73">Прерачунавање поддиректоријума</a></span> +<br /> <span class="subsubsectionToc" >7.1.7 <a +href="#x1-630007.1.7" id="QQ2-1-74">СпиÑак Ñпецијалних Ñимбола и њихово значење: +преглед</a></span> +<br /> <span class="subsectionToc" >7.2 <a +href="#x1-640007.2" id="QQ2-1-75">Базе података Ñа именима фајлова</a></span> +<br /> <span class="subsubsectionToc" >7.2.1 <a +href="#x1-650007.2.1" id="QQ2-1-76">База података ls-R</a></span> +<br /> <span class="subsubsectionToc" >7.2.2 <a +href="#x1-660007.2.2" id="QQ2-1-77">СамоÑтални програм за претраживање: kpsewhich</a></span> +<br /> <span class="subsubsectionToc" >7.2.3 <a +href="#x1-670007.2.3" id="QQ2-1-78">Примери употребе</a></span> +<br /> <span class="subsubsectionToc" >7.2.4 <a +href="#x1-680007.2.4" id="QQ2-1-79">ПоÑтупци отклањања грешака</a></span> +<br /> <span class="subsectionToc" >7.3 <a +href="#x1-690007.3" id="QQ2-1-83">Опције током рада (runtime options)</a></span> +<br /> <span class="sectionToc" >8 <a +href="#x1-700008" id="QQ2-1-84">Захвалнице</a></span> +<br /> <span class="sectionToc" >9 <a +href="#x1-710009" id="QQ2-1-85">ИÑторија издањÄ</a></span> +<br /> <span class="subsectionToc" >9.1 <a +href="#x1-720009.1" id="QQ2-1-86">ПрошлоÑÑ‚</a></span> +<br /> <span class="subsubsectionToc" >9.1.1 <a +href="#x1-730009.1.1" id="QQ2-1-87">2003</a></span> +<br /> <span class="subsubsectionToc" >9.1.2 <a +href="#x1-740009.1.2" id="QQ2-1-88">2004</a></span> +<br /> <span class="subsubsectionToc" >9.1.3 <a +href="#x1-750009.1.3" id="QQ2-1-89">2005</a></span> +<br /> <span class="subsubsectionToc" >9.1.4 <a +href="#x1-760009.1.4" id="QQ2-1-90">2006–2007</a></span> +<br /> <span class="subsubsectionToc" >9.1.5 <a +href="#x1-770009.1.5" id="QQ2-1-91">2008</a></span> +<br /> <span class="subsubsectionToc" >9.1.6 <a +href="#x1-780009.1.6" id="QQ2-1-92">2009</a></span> +<br /> <span class="subsubsectionToc" >9.1.7 <a +href="#x1-790009.1.7" id="QQ2-1-93">2010</a></span> +<br /> <span class="subsubsectionToc" >9.1.8 <a +href="#x1-800009.1.8" id="QQ2-1-94">2011</a></span> +<br /> <span class="subsectionToc" >9.2 <a +href="#x1-810009.2" id="QQ2-1-95">Тренутно Ñтање</a></span> +<br /> <span class="subsectionToc" >9.3 <a +href="#x1-820009.3" id="QQ2-1-96">БудућноÑÑ‚</a></span> + </div> + + +<!--l. 103--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">1 </span> <a + id="x1-20001"></a>Увод</h3> +<!--l. 106--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">1.1 </span> <a + id="x1-30001.1"></a><span class="TEX">T<span +class="E">E</span>X</span> Live и <span class="TEX">T<span +class="E">E</span>X</span> Collection</h4> +<!--l. 108--><p class="noindent" >У овом документу Ñу опиÑане главне могућноÑти ÑофтверÑке диÑтрибуције <span class="TEX">T<span +class="E">E</span>X</span> +Live, која Ñе ÑаÑтоји од <span class="TEX">T<span +class="E">E</span>X</span>-а и програма који Ñу повезани Ñа +њим, и која Ñе прави за GNU/Linux и друге варијанте Unix-а, Mac OS X и +Windows. +<!--l. 113--><p class="indent" > <span class="TEX">T<span +class="E">E</span>X</span> Live Ñе може преузети Ñа Интернета или добити преко <span class="TEX">T<span +class="E">E</span>X</span> Collection DVD-ја +који групе кориÑника <span class="TEX">T<span +class="E">E</span>X</span>-а диÑтрибуирају Ñвојим члановима, +и на разне друге начине. Одељак <a +href="#x1-90002.1">2.1<!--tex4ht:ref: sec:tl-coll-dists --></a> укратко опиÑује Ñадржај +DVD-ја. <span class="TEX">T<span +class="E">E</span>X</span> Live и <span class="TEX">T<span +class="E">E</span>X</span> Collection Ñу резултат удружених напора многих група +кориÑника <span class="TEX">T<span +class="E">E</span>X</span>-а. Овај документ опиÑује пре Ñвега Ñâм <span class="TEX">T<span +class="E">E</span>X</span> +Live. +<!--l. 120--><p class="indent" > У <span class="TEX">T<span +class="E">E</span>X</span> Live Ñу укључени програми <span class="TEX">T<span +class="E">E</span>X</span>, LaTeX2e, Con<span class="TEX">T<span +class="E">E</span>X</span>t, Metafont, MetaPost, BibTeX и +многи други, обимна колекција макроа, фонтова и документације, као +и подршка за припрему текÑта на много разних пиÑама и језика из Ñвих делова +Ñвета. +<!--l. 125--><p class="indent" > Кратак преглед најважнијих промена у овом издању <span class="TEX">T<span +class="E">E</span>X</span> Live-а налази Ñе +на крају документа, у одељку <a +href="#x1-710009">9<!--tex4ht:ref: sec:history --></a> (ÑÑ‚Ñ€. <a +href="#x1-710009">81<!--tex4ht:ref: sec:history --></a>). +<!--l. 129--><p class="indent" > <a id="platforms"></a> + <h4 class="subsectionHead"><span class="titlemark">1.2 </span> <a + id="x1-40001.2"></a>Подржани оперативни ÑиÑтеми</h4> +<!--l. 133--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Live Ñадржи унапред компајлиране програме за многе варијанте +Unix-а, укључујући GNU/Linux и Mac OS X. Такође, +ту Ñу и верзије програма за Cygwin. Пошто је изворни код +укључен у диÑтрибуцију, програми Ñе могу компајлирати и на +платформама<span class="footnote-mark"><a +href="#fn1x0" id="fn1x0-bk"><sup class="textsuperscript">1</sup></a></span><a + id="x1-4001f1"></a> +за које немамо унапред припремљене бинарне фајлове. +<!--l. 149--><p class="indent" > Што Ñе тиче Windows-а, подржани Ñу Ñамо Windows XP и каÑније верзије. +Windows 2000 ће Ñа великом вероватноћом и даље радити за +највећи број Ñтвари. Ðе поÑтоје поÑебни 64-битни програми за +Windows; умеÑто тога, 32-битни програми би требало да раде на 64-битним ÑиÑтемима. +<!--l. 155--><p class="indent" > Погледајте одељек <a +href="#x1-90002.1">2.1<!--tex4ht:ref: sec:tl-coll-dists --></a> ако Вам је потребно више информација о +алтернативним решењима за Windows и Mac OS X. +<!--l. 158--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">1.3 </span> <a + id="x1-50001.3"></a>ОÑновна инÑталација <span class="TEX">T<span +class="E">E</span>X</span> Live-а</h4> +<!--l. 161--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Live Ñе може инÑталирати Ñа DVD-ја или преко Интернета (<a +href="http://tug.org/texlive/acquire.html" class="url" >http://tug.org/texlive/acquire.html</a>). +Сам програм за инÑталацију који ради преко мреже је мали и Ñкида Ñве што +је задато Ñа Интернета. +<!--l. 166--><p class="indent" > Програм за инÑталацију Ñа DVD-ја Вам омогућава да инÑталирате <span class="TEX">T<span +class="E">E</span>X</span> +Live на локални диÑк. <span class="TEX">T<span +class="E">E</span>X</span> Live Ñе не може директно покретати Ñа DVD-ја (као ни +из DVD <span class="path">.iso</span> одраза), али зато можете да припремите преноÑиву радну верзију на +нпр. USB-диÑку (погледајте одељак <a +href="#x1-430004.2">4.2<!--tex4ht:ref: sec:portable-tl --></a>). ИнÑталација је +детаљно опиÑана у одељцима који Ñледе (ÑÑ‚Ñ€. <a +href="#x1-150003">13<!--tex4ht:ref: sec:install --></a>); укратко, поÑтупак изгледа +овако: + <ul class="itemize1"> + <li class="itemize">ИнÑталациона Ñкрипта + Ñе зове <span class="path">install-tl</span>. Она може да ради у поједноÑтављеном графичком, тзв. + + + „wizard“ режиму, ако Ñе позове Ñа опцијом <span class="path">-gui=wizard</span> (подразумевани режим на + Windows-у, у текÑтуалном режиму ако Ñе позове Ñа <span class="path">-gui=text</span> (подразумевани режим на Ñвим + другим ÑиÑтемима), и графичком режиму на екÑпертÑком нивоу (тзв. „expert GUI“ режим), + који Ñе позива Ñа <span class="path">-gui=perltk</span>. + </li> + <li class="itemize">Један од инÑталираних програма је и <span class="TEX">T<span +class="E">E</span>X</span> Live Manager, који Ñе + позива помоћу tlmgr. Као и програм за инÑталацију, он може да Ñе кориÑти + и у графичком (GUI) и у текÑтуалном режиму. Можете га кориÑтити да инÑталирате и + деинÑталирате пакете и да обавите разне конфигурационе задатке. + </li></ul> +<!--l. 193--><p class="indent" > <a id="security"></a> + <h4 class="subsectionHead"><span class="titlemark">1.4 </span> <a + id="x1-60001.4"></a>Ðа шта треба обратити пажњу што Ñе тиче ÑигурноÑти</h4> +<!--l. 197--><p class="noindent" >Према нашем најдубљем знању и уверењу, оÑновни <span class="TEX">T<span +class="E">E</span>X</span> програми +који чине језгро <span class="TEX">T<span +class="E">E</span>X</span> Live-a изузетно Ñу робуÑни (и увек Ñу били такви). +Међутим, допунÑки програми који Ñу укључени у <span class="TEX">T<span +class="E">E</span>X</span> Live ниÑу +нужно на иÑтом нивоу, ÑƒÐ¿Ñ€ÐºÐ¾Ñ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼ напорима. Као и увек, требало би да будете опрезни +када покрећете програме да обрађују непоуздане улазне податке; +најÑигурније што можете да урадите јеÑте да то увек радите у новом +поддиректоријуму. +<!--l. 205--><p class="indent" > Потреба за опрезом је нарочито важна на Windows-у, пошто Windows обично +тражи програме у текућем директоријуму пре него на било ко другом +меÑту, без обзира на путању за претрагу коју задаје кориÑник. Ово +отвара широку лепезу могућноÑти за напад. Ми Ñмо Ñанирали многе ÑигурноÑне +пропуÑте, али неки превиди Ñу без Ñумње и даље ту, нарочито у програмима +који нам долазе Ñа Ñтране. Стога препоручујемо да проверите да ли радни +директоријум Ñадржи Ñумњиве, пре Ñвега извршне фајлове (бинарне или +Ñкрипте). Њих обично нема, и Ñвакако не би требало да Ñе Ñтворе обичном обрадом неког +документа. +<!--l. 215--><p class="indent" > Коначно, <span class="TEX">T<span +class="E">E</span>X</span> (и пратећи програми) чеÑто Ñтварају нове фајлове када +обрађују документ, што је оÑобина која Ñе може злоупотребити на +много разних начина. Да поновимо, обрада непознатих докумената у новом поддиректоријуму +је најÑигурније што можете да урадите. +<!--l. 221--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">1.5 </span> <a + id="x1-70001.5"></a>Помоћ у раду</h4> +<!--l. 224--><p class="noindent" >Заједница кориÑника <span class="TEX">T<span +class="E">E</span>X</span>-а је активна и пријатељÑки раÑположена, +тако да Ñе и на најозбиљнија питања на крају нађе +одговор. Међутим, ова подршка је неформалне природе будући да долази од +Ð²Ð¾Ð»Ð¾Ð½Ñ‚ÐµÑ€Ä Ð¸ Ñлучајних читалаца мејлинг-лиÑта, тако да је нарочито +важно да „урадите домаћи задатак“ пре него што нешто питате. (Ðко више волите +загарантовану комерцијалну подршку, можете Ñе у у потпуноÑти одрећи <span class="TEX">T<span +class="E">E</span>X</span> Live-а и +купити одговарајући ÑиÑтем; на Ñтраници <a +href="http://tug.org/interest.html#vendors" class="url" >http://tug.org/interest.html#vendors</a> +поÑтоји ÑпиÑак таквих продаваца.) +<!--l. 234--><p class="indent" > Ово је лиÑта раÑположивих реÑурÑа датих отприлике редоÑледом по коме +препоручујемо да их кориÑтите: +<!--l. 237--><p class="indent" > + <dl class="description"><dt class="description"> +Страница за почетнике </dt><dd +class="description">Ðко Ñте нови у <span class="TEX">T<span +class="E">E</span>X</span>-у, Ñтраница <a +href="http://tug.org/begin.html" class="url" >http://tug.org/begin.html</a> нуди кратак + увод у ÑиÑтем. + </dd><dt class="description"> +<span class="TEX">T<span +class="E">E</span>X</span> FAQ </dt><dd +class="description">(питања везана за <span class="TEX">T<span +class="E">E</span>X</span> која Ñе чеÑто поÑтављају) + предÑтавља огромну збирку одговора на Ñве врÑте + питања, од најоÑновнијих до најÑложенијих. + Та збирка је укључена у <span class="TEX">T<span +class="E">E</span>X</span> Live и налази Ñе у директоријуму + + + <a +href="../../../../texmf-dist/doc/generic/FAQ-en/html/index.html" >texmf-dist/doc/generic/FAQ-en/html/index.html</a>, а доÑтупна је и на Интернету преко + <a +href="http://www.tex.ac.uk/faq" class="url" >http://www.tex.ac.uk/faq</a>. Молимо Ð’Ð°Ñ Ð´Ð° одговоре прво овде потражите. + </dd><dt class="description"> +<span class="TEX">T<span +class="E">E</span>X</span> Catalogue </dt><dd +class="description">(<span class="TEX">T<span +class="E">E</span>X</span>-каталог) Ðко тражите неки Ñпецифичан пакет, фонт или програм, + <span class="TEX">T<span +class="E">E</span>X</span>-каталог је меÑто на коме треба отпочети претрагу. То је + огромна колекција Ñвих Ñтвари које имају везе Ñа <span class="TEX">T<span +class="E">E</span>X</span>-ом. + Погледајте <a +href="http://mirror.ctan.org/help/Catalogue/" class="url" >http://mirror.ctan.org/help/Catalogue/</a>. + </dd><dt class="description"> +<span class="TEX">T<span +class="E">E</span>X</span> реÑурÑи на Интернету </dt><dd +class="description">Интернет-Ñтраница <a +href="http://tug.org/interest.html" class="url" >http://tug.org/interest.html</a> Ñадржи + многе линкове који имају везе Ñа <span class="TEX">T<span +class="E">E</span>X</span>-ом, нарочито на бројне + књиге, приручнике и чланке о Ñвим аÑпектима ÑиÑтема. + </dd><dt class="description"> +архивирана подршка </dt><dd +class="description">Два главна форума Ñу Usenet група <a +href="news:comp.text.tex" class="url" >news:comp.text.tex</a> + и мејлинг-лиÑта <a +href="mailto:texhax@tug.org" ><span class="path">texhax@tug.org</span></a>. Ðрхиве ова два форума Ñадрже велики + број питања и одговора прикупљених током много година; ове + претраживе архиве Ñу доÑтупне преко <a +href="http://groups.google.com/group/comp.text.tex/topics" class="url" >http://groups.google.com/group/comp.text.tex/topics</a> и + <a +href="http://tug.org/mail-archives/texhax" class="url" >http://tug.org/mail-archives/texhax</a>. Такође, обична претрага Интернета, на пример + преко <a +href="http://google.com" class="url" >http://google.com</a>, никад није на одмет. + </dd><dt class="description"> +поÑтављање питања </dt><dd +class="description">Ðко и даље + не можете да пронађете одговор, можете да поÑтавите питање на + <span class="path">comp.text.tex</span> кориÑтећи Google или Ñвој newsreader, или на <a +href="mailto:texhax@tug.org" ><span class="path">texhax@ + tug.org</span></a> путем електронÑке поште. Ðли, пре него што поÑтавите питање, + <span class="emph">молимо ВаÑ</span> да прочитате овај текÑÑ‚ из FAQ + колекције како биÑте увећали шанÑе да добијете кориÑтан + одговор: <a +href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion" class="url" >http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion</a>. Треба поменути и + Интернет-Ñтраницу <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> + заједнице (<span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> Community, <a +href="http://www.latex-community.org/" class="url" >http://www.latex-community.org/</a>) и њихов + форум <a +href="http://www.latex-community.org/forum/" class="url" >http://www.latex-community.org/forum/</a>, као и Интернет-портал <span class="TEX">T<span +class="E">E</span>X</span> StackExchange, + <a +href="http://tex.stackexchange.com/" class="url" >http://tex.stackexchange.com/</a>. + </dd><dt class="description"> +подршка везана за <span class="TEX">T<span +class="E">E</span>X</span> Live </dt><dd +class="description">Ðко желите да пријавите грешку или ако имате + предлоге и коментаре везане за диÑтрибуцију, инÑталацију или + документацију <span class="TEX">T<span +class="E">E</span>X</span> Live-а, мејлинг-лиÑта је <a +href="mailto:tex-live@tug.org" ><span class="path">tex-live@tug.org</span></a>. + Међутим, ако Ñе Ваше питање тиче употребе неког поÑебног програма + укљученог у <span class="TEX">T<span +class="E">E</span>X</span> Live, молимо Ð’Ð°Ñ Ð´Ð° пишете оÑоби која тренутно одржава + тај програм или на одговарајућу мејлинг-лиÑту. Врло + чеÑто, покретање програма Ñа параметром <span class="path">--help</span> даје адреÑу на + коју треба пријавити грешке. + </dd></dl> +<!--l. 294--><p class="indent" > С друге Ñтране, ту је пружање помоћи онима који +поÑтављају питања. И <span class="path">comp.text.tex</span> и <span class="path">texhax</span> Ñу отворени за Ñваког, па Ñтога +будите Ñлободни да Ñе прикључите; почните да читате и помозите где можете. +<!--l. 302--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">2 </span> <a + id="x1-80002"></a>Преглед <span class="TEX">T<span +class="E">E</span>X</span> Live-а</h3> +<!--l. 305--><p class="noindent" >Овај одељак опиÑује Ñадржај диÑтрибуције <span class="TEX">T<span +class="E">E</span>X</span> Collection +и њеног ÑаÑтавног дела, <span class="TEX">T<span +class="E">E</span>X</span> Live-а. +<!--l. 307--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.1 </span> <a + id="x1-90002.1"></a><span class="TEX">T<span +class="E">E</span>X</span> Collection: <span class="TEX">T<span +class="E">E</span>X</span> Live, pro<span class="TEX">T<span +class="E">E</span>X</span>t, Mac<span class="TEX">T<span +class="E">E</span>X</span></h4> +<!--l. 310--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Collection DVD обухвата: +<!--l. 312--><p class="indent" > + + + <dl class="description"><dt class="description"> +<span class="TEX">T<span +class="E">E</span>X</span> Live </dt><dd +class="description">Комплетан <span class="TEX">T<span +class="E">E</span>X</span> ÑиÑтем који Ñе може инÑталирати на диÑк. Интернет-Ñтраница + <span class="TEX">T<span +class="E">E</span>X</span> Live-a је <a +href="http://tug.org/texlive/" class="url" >http://tug.org/texlive/</a>. + </dd><dt class="description"> +Mac<span class="TEX">T<span +class="E">E</span>X</span> </dt><dd +class="description">Варијанта <span class="TEX">T<span +class="E">E</span>X</span> Live-а за Mac OS X; укључује инÑталациони + програм + пиÑан Ñпецијално за Mac OS X и још неке Mac апликације. + Интернет-Ñтраница пројекта је <a +href="http://tug.org/mactex/" class="url" >http://tug.org/mactex/</a>. + </dd><dt class="description"> +pro<span class="TEX">T<span +class="E">E</span>X</span>t </dt><dd +class="description">Рађен као проширење Windows + диÑтрибуције MiK<span class="TEX">T<span +class="E">E</span>X</span>, pro<span class="TEX">T<span +class="E">E</span>X</span>t укључује неколико допунÑких + алатки и поједноÑтављује инÑталацију. Он је + у потпуноÑти незавиÑан од <span class="TEX">T<span +class="E">E</span>X</span> Live-а и има ÑопÑтвена упутÑтва за инÑталацију. + Интернет-Ñтраница pro<span class="TEX">T<span +class="E">E</span>X</span>t пројекта је <a +href="http://tug.org/protext" class="url" >http://tug.org/protext</a>. + </dd><dt class="description"> +CTAN </dt><dd +class="description">Сајт-копија (mirror) репозиторијума CTAN + (<a +href="http://www.ctan.org" class="url" >http://www.ctan.org</a>). + </dd><dt class="description"> +<span class="texttt">texmf-extra</span> </dt><dd +class="description">Директоријум Ñа разним допунÑким + пакетима. + </dd></dl> +<!--l. 335--><p class="indent" > Лиценце које одређују уÑлове умножавања CTAN-а, пакета +<span class="path">protext</span> и Ñадржаја директоријума <span class="path">texmf-extra</span> ниÑу нужно иÑте као у <span class="TEX">T<span +class="E">E</span>X</span> Live-у, па +Ñтога будите опрезни када их редиÑтрибуирате или преправљате. +<!--l. 341--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.2 </span> <a + id="x1-100002.2"></a><span class="TEX">T<span +class="E">E</span>X</span> Live директоријуми највишег нивоа</h4> +<!--l. 344--><p class="noindent" >Ево ÑпиÑка и кратких опиÑа Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ˜ÑƒÐ¼Ä Ð½Ð°Ñ˜Ð²Ð¸ÑˆÐµÐ³ нивоа у <span class="TEX">T<span +class="E">E</span>X</span> Live +инÑталацији: +<!--l. 347--><p class="noindent" > + <dl class="list1"><dt class="list"> + bin </dt><dd +class="list"> + <!--l. 348--><p class="noindent" >Програми <span class="TEX">T<span +class="E">E</span>X</span> ÑиÑтема, групиÑани по платформама. + </dd><dt class="list"> + readme-*.dir </dt><dd +class="list"> + <!--l. 350--><p class="noindent" >Кратак преглед <span class="TEX">T<span +class="E">E</span>X</span> Live-a и кориÑни линкови на разним језицима, у HTML и + текÑтуалном формату. + </dd><dt class="list"> + source </dt><dd +class="list"> + <!--l. 353--><p class="noindent" >Изворни кôд Ñвих програма који Ñу укључени у <span class="TEX">T<span +class="E">E</span>X</span> + Live, укључујући Ñредишње <span class="TEX">T<span +class="E">E</span>X</span> диÑтрибуције + заÑноване на Web2C-у. + </dd><dt class="list"> + texmf </dt><dd +class="list"> + <!--l. 357--><p class="noindent" >Погледајте Ð¾Ð¿Ð¸Ñ Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ðµ <span class="path">TEXMFMAIN</span> у Ñледећем + одељку. + </dd><dt class="list"> + texmf-dist </dt><dd +class="list"> + <!--l. 360--><p class="noindent" >Погледајте Ð¾Ð¿Ð¸Ñ Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ðµ <span class="path">TEXMFDIST</span> у Ñледећем + одељку. + + + </dd><dt class="list"> + tlpkg </dt><dd +class="list"> + <!--l. 363--><p class="noindent" >Скрипте, програми и подаци потребни за одржавање инÑталације, као и + фајлови Ñпецифични за Windows.</dd></dl> +<!--l. 367--><p class="indent" > ОÑим управо набројаних директоријума, на највишем нивоу +диÑтрибуције налазе Ñе и инÑталационе Ñкрипте и <span class="path">README</span> (<span class="path">ПРОЧИТÐЈ-МЕ</span>) +фајлови на разним језицима. +<!--l. 371--><p class="indent" > Што Ñе тиче документације, од помоћи могу да буду иÑцрпни линкови у +фајлу <a +href="../../../../doc.html" >doc.html</a>, који Ñе налази у директоријуму највишег +нивоа. Документација за поједине програме (приручници, man-Ñтранице, +Info-фајлови) налази Ñе у <span class="path">texmf/doc</span>. Документација за <span class="TEX">T<span +class="E">E</span>X</span> пакете и формате налази +Ñе у <span class="path">texmf-dist/doc</span>. Можете да употребите програм texdoc ако желите да пронађете било +који део документације. +<!--l. 379--><p class="indent" > Документација о Ñамој диÑтрибуцији <span class="TEX">T<span +class="E">E</span>X</span> Live налази Ñе у +<span class="path">texmf/doc/texlive</span> и доÑтупна је на неколико језика: + <ul class="itemize1"> + <li class="itemize">енглеÑки: <a +href="../../../../texmf/doc/texlive/texlive-en" >texmf/doc/texlive/texlive-en</a> + </li> + <li class="itemize">италијанÑки: <a +href="../../../../texmf/doc/texlive/texlive-it" >texmf/doc/texlive/texlive-it</a> + </li> + <li class="itemize">кинеÑки: <a +href="../../../../texmf/doc/texlive/texlive-zh-cn" >texmf/doc/texlive/texlive-zh-cn</a> + </li> + <li class="itemize">немачки: <a +href="../../../../texmf/doc/texlive/texlive-de" >texmf/doc/texlive/texlive-de</a> + </li> + <li class="itemize">пољÑки: <a +href="../../../../texmf/doc/texlive/texlive-pl" >texmf/doc/texlive/texlive-pl</a> + </li> + <li class="itemize">руÑки: <a +href="../../../../texmf/doc/texlive/texlive-ru" >texmf/doc/texlive/texlive-ru</a> + </li> + <li class="itemize">ÑрпÑки: <a +href="../../../../texmf/doc/texlive/texlive-sr" >texmf/doc/texlive/texlive-sr</a> (овај документ) + </li> + <li class="itemize">француÑки: <a +href="../../../../texmf/doc/texlive/texlive-fr" >texmf/doc/texlive/texlive-fr</a> + </li> + <li class="itemize">чешки и Ñловачки: <a +href="../../../../texmf/doc/texlive/texlive-cz" >texmf/doc/texlive/texlive-cz</a></li></ul> +<!--l. 394--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.3 </span> <a + id="x1-110002.3"></a>Садржај директоријума texmf</h4> +<!--l. 397--><p class="noindent" >Овај одељак даје ÑпиÑак унапред дефиниÑаних променљивих +које одређују раÑпоред података унутар директоријума texmf, +Ñврху којој Ñлуже, као и њихов подразумевани положај и +ÑвојÑтва унутар <span class="TEX">T<span +class="E">E</span>X</span> Live-а. Команда <span class="texttt">tlmgr conf</span> +приказује вредноÑти ових променљивих тако да лако можете да видите на +који директоријум (дрво) на Вашој инÑталацији оне +упућују. +<!--l. 404--><p class="indent" > Сви ови директоријуми (дрвета), укључујући и лични, треба да +поштују TDS (<span class="emph">Ñтруктуру <span class="TEX">T<span +class="E">E</span>X</span> директоријума</span>, одноÑно +<span class="TEX">T<span +class="E">E</span>X</span> Directory Structure — <a +href="http://tug.org/tds" class="url" >http://tug.org/tds</a>), Ñа Ñвим безбројним поддиректоријумима +карактериÑтичним за њу, иначе може да Ñе деÑи да Ñе неки фајлови не могу +пронаћи. Одељак <a +href="#x1-370003.4.6">3.4.6<!--tex4ht:ref: sec:local-personal-macros --></a> (ÑÑ‚Ñ€. <a +href="#x1-370003.4.6">43<!--tex4ht:ref: sec:local-personal-macros --></a>) детаљно Ñе бави овом темом. +<!--l. 412--><p class="noindent" > + <dl class="list1"><dt class="list"> + TEXMFMAIN </dt><dd +class="list"> + <!--l. 413--><p class="noindent" >Дрво у коме Ñе налазе витални делови ÑиÑтема као што Ñу конфигурациони + фајлови, помоћне Ñкрипте и документација за програме. + + + </dd><dt class="list"> + TEXMFDIST </dt><dd +class="list"> + <!--l. 416--><p class="noindent" >Дрво које Ñадржи главни Ñкуп макро-пакета, фонтова, итд. + </dd><dt class="list"> + TEXMFLOCAL </dt><dd +class="list"> + <!--l. 418--><p class="noindent" >Дрво које админиÑтратори могу да кориÑте за инÑталацију додатних или + надограђених макроа, фонтова, итд; Ñадржај овог дрвета важи за цео + ÑиÑтем. + </dd><dt class="list"> + TEXMFHOME </dt><dd +class="list"> + <!--l. 421--><p class="noindent" >Дрво које кориÑници могу да + кориÑте за Ñвоје личне инÑталације додатних или надограђених + макроа, фонтова, итд; вредноÑÑ‚ ове променљиве динамички Ñе прилагођава + положају личног директоријума Ñваког појединог кориÑника. + </dd><dt class="list"> + TEXMFCONFIG </dt><dd +class="list"> + <!--l. 425--><p class="noindent" >(Лично кориÑниково) дрво које апликације <span class="obeylines-h"><span class="verb">texconfig</span></span>, <span class="obeylines-h"><span class="verb">updmap</span></span> и <span class="obeylines-h"><span class="verb">fmtutil</span></span> + кориÑте за чување измењених конфигурационих података. + </dd><dt class="list"> + TEXMFSYSCONFIG </dt><dd +class="list"> + <!--l. 428--><p class="noindent" >(Глобално важеће) дрво које кориÑте апликације <span class="obeylines-h"><span class="verb">texconfig-sys</span></span>, + <span class="obeylines-h"><span class="verb">updmap-sys</span></span> и <span class="obeylines-h"><span class="verb">fmtutil-sys</span></span> за чување измењених конфигурационих података. + </dd><dt class="list"> + TEXMFVAR </dt><dd +class="list"> + <!--l. 431--><p class="noindent" >(Лично кориÑниково) дрво које кориÑте <span class="obeylines-h"><span class="verb">texconfig</span></span>, <span class="obeylines-h"><span class="verb">updmap</span></span> и <span class="obeylines-h"><span class="verb">fmtutil</span></span> за + чување аутоматÑки направљених података које разни програми + кориÑте током рада, као што Ñу формати и мапе. + </dd><dt class="list"> + TEXMFSYSVAR </dt><dd +class="list"> + <!--l. 435--><p class="noindent" >(Глобално важеће) дрво које кориÑте <span class="obeylines-h"><span class="verb">texconfig-sys</span></span>, <span class="obeylines-h"><span class="verb">updmap-sys</span></span> и + <span class="obeylines-h"><span class="verb">fmtutil-sys</span></span>, као и <span class="obeylines-h"><span class="verb">tlmgr</span></span>, за чување аутоматÑки направљених података + које разни програми кориÑте током рада, као што Ñу формати и мапе. + </dd><dt class="list"> + TEXMFCACHE </dt><dd +class="list"> + <!--l. 439--><p class="noindent" >Дрво (или више дрвета) које Con<span class="TEX">T<span +class="E">E</span>X</span>t MkIV кориÑти за чување + (кешираних) радних података.</dd></dl> +<!--l. 443--><p class="noindent" >Подразумевана Ñтруктура директоријума изгледа овако: + <dl class="description"><dt class="description"> +корен ÑиÑтема </dt><dd +class="description">може да Ñадржи више различитих издања <span class="TEX">T<span +class="E">E</span>X</span> Live-а: + <dl class="list2"><dt class="list"> + 2011 </dt><dd +class="list"> + <!--l. 448--><p class="noindent" >Претходно издање. + </dd><dt class="list"> + 2012 </dt><dd +class="list"> + <!--l. 449--><p class="noindent" >Тренутно издање. + <dl class="list3"><dt class="list"> + bin </dt><dd +class="list"> + <!--l. 451--><p class="noindent" > + <dl class="list4"><dt class="list"> + i386-freebsd </dt><dd +class="list"> + <!--l. 453--><p class="noindent" >програми за FreeBSD + + + </dd><dt class="list"> + i386-linux </dt><dd +class="list"> + <!--l. 454--><p class="noindent" >програми за GNU/Linux + </dd><dt class="list"> + ... </dt><dd +class="list"> + <!--l. 455--><p class="noindent" > + </dd><dt class="list"> + universal-darwin </dt><dd +class="list"> + <!--l. 456--><p class="noindent" >програми за Mac OS X + </dd><dt class="list"> + win32 </dt><dd +class="list"> + <!--l. 457--><p class="noindent" >програми за Windows</dd></dl> + </dd><dt class="list"> + texmf </dt><dd +class="list"> + <!--l. 459--><p class="noindent" ><span class="path">TEXMFMAIN</span> + </dd><dt class="list"> + texmf-dist </dt><dd +class="list"> + <!--l. 460--><p class="noindent" ><span class="path">TEXMFDIST</span> + </dd><dt class="list"> + texmf-var </dt><dd +class="list"> + <!--l. 461--><p class="noindent" ><span class="path">TEXMFSYSVAR</span> + </dd><dt class="list"> + texmf-config </dt><dd +class="list"> + <!--l. 462--><p class="noindent" ><span class="path">TEXMFSYSCONFIG</span></dd></dl> + </dd><dt class="list"> + texmf-local </dt><dd +class="list"> + <!--l. 464--><p class="noindent" ><span class="path">TEXMFLOCAL</span>, заједнички за Ñва издања.</dd></dl> + </dd><dt class="description"> +кориÑников лични директоријум </dt><dd +class="description">(<span class="texttt">$HOME</span> или <span + class="texttt">%USERPROFILE%</span>) + <dl class="list2"><dt class="list"> + .texlive2011 </dt><dd +class="list"> + <!--l. 469--><p class="noindent" >Лични направљени и конфигурациони подаци за претходно издање. + </dd><dt class="list"> + .texlive2012 </dt><dd +class="list"> + <!--l. 471--><p class="noindent" >Лични направљени и конфигурациони подаци за тренутно издање. + <dl class="list3"><dt class="list"> + texmf-var </dt><dd +class="list"> + <!--l. 474--><p class="noindent" ><span class="path">TEXMFVAR</span>, <span class="path">TEXMFCACHE</span> + </dd><dt class="list"> + texmf-config </dt><dd +class="list"> + <!--l. 475--><p class="noindent" ><span class="path">TEXMFCONFIG</span></dd></dl> + </dd><dt class="list"> + texmf </dt><dd +class="list"> + <!--l. 477--><p class="noindent" ><span class="path">TEXMFHOME</span> Лични макрои итд.</dd></dl> + </dd></dl> +<!--l. 482--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.4 </span> <a + id="x1-120002.4"></a>Проширења <span class="TEX">T<span +class="E">E</span>X</span>-а</h4> +<!--l. 485--><p class="noindent" >Кнутов [Knuth] оригинални <span class="TEX">T<span +class="E">E</span>X</span> је замрзнут: оÑим ретких поправки грешака, у њега +Ñе не уноÑе никакве иÑправке. Изворни <span class="TEX">T<span +class="E">E</span>X</span> је још увек приÑутан у <span class="TEX">T<span +class="E">E</span>X</span> Live-у као +програм tex, и тако ће и оÑтати у будућноÑти. <span class="TEX">T<span +class="E">E</span>X</span> Live Ñадржи неколико проширених +варијанти <span class="TEX">T<span +class="E">E</span>X</span>-а: +<!--l. 490--><p class="indent" > + + + <dl class="description"><dt class="description"> +e-<span class="TEX">T<span +class="E">E</span>X</span> </dt><dd +class="description">додаје неколико нових Ð¿Ñ€Ð¸Ð¼Ð¸Ñ‚Ð¸Ð²Ä + (којe Ñе одноÑе на проширење макроа, читање ÑимболÄ, + клаÑе ознака, додатне могућноÑти за отклањање грешака и + још пуно тога), као и проширење звано <span class="TEX">T<span +class="E">E</span>X</span>--XE T које Ñлужи за + припрему докумената Ñа Ñадржајем на језицима који Ñе пишу Ñа + лева на деÑно, уз оне који Ñе пишу Ñа деÑна на лево. У подразумеваном режиму, + e-<span class="TEX">T<span +class="E">E</span>X</span> је 100% компатибилан Ñа Ñтандардним <span class="TEX">T<span +class="E">E</span>X</span>-ом. Погледајте + <a +href="../../../../texmf-dist/doc/etex/base/etex_man.pdf" >texmf-dist/doc/etex/base/etex_man.pdf</a>. + </dd><dt class="description"> +pdf<span class="TEX">T<span +class="E">E</span>X</span> </dt><dd +class="description">је изграђен на проширењима које је донео + e-<span class="TEX">T<span +class="E">E</span>X</span>, додајући на + њих подршку за прављење докумената директно у PDF формату + (поред уобичајеног DVI) и много проширења невезаних за излаз. Ово + је програм који Ñе кориÑти за већину формата, као што Ñу etex, + latex, pdflatex. Интернет Ñтраница пројекта је <a +href="http://www.pdftex.org/" class="url" >http://www.pdftex.org/</a>. + УпутÑтво за употребу је <a +href="../../../../texmf-dist/doc/pdftex/manual/pdftex-a.pdf" >texmf-dist/doc/pdftex/manual/pdftex-a.pdf</a>, а примери + који демонÑтрирају неке од његових могућноÑти налазе + Ñе у <a +href="../../../../texmf-dist/doc/pdftex/manual/samplepdf/samplepdf.tex" >texmf-dist/doc/pdftex/manual/samplepdf/samplepdf.tex</a>. + </dd><dt class="description"> +Lua<span class="TEX">T<span +class="E">E</span>X</span> </dt><dd +class="description">је предвиђен да буде наÑледник pdf<span class="TEX">T<span +class="E">E</span>X</span>-а, и углавном је + (мада не у потпуноÑти) компатибилан Ñа Ñвојим претходницима. Ðамера + је такође да он буде функционални надÑкуп Aleph-а (погледајте + ниже), премда нема намере да Ñе подржи техничка компатибилноÑÑ‚. Уграђени + интерпретер језика Lua (<a +href="http://www.lua.org/" class="url" >http://www.lua.org/</a>) омогућава елегантна + решења за многе тешко решиве проблеме у <span class="TEX">T<span +class="E">E</span>X</span>-у. Када Ñе позива као <span class="path">texlua</span>, + функционише као ÑамоÑтални Lua интерпретер и као такав је већ + у употреби унутар <span class="TEX">T<span +class="E">E</span>X</span> Live-а. Интернет-Ñтраница пројекта је + <a +href="http://www.luatex.org/" class="url" >http://www.luatex.org/</a> а приручник је <a +href="../../../../texmf-dist/doc/luatex/luatexref-t.pdf" >texmf-dist/doc/luatex/luatexref-t.pdf</a>. + </dd><dt class="description"> +Xe<span class="TEX">T<span +class="E">E</span>X</span> </dt><dd +class="description">додаје подршку за ÑƒÐ½Ð¾Ñ Ñ‚ÐµÐºÑта према Unicode Ñтандарду уз употребу OpenType + фонтова; Xe<span class="TEX">T<span +class="E">E</span>X</span> може да кориÑти фонтове који већ поÑтоје + на ÑиÑтему; ова подршка је урађена уз употребу Ñпољних + библиотека. Погледајте <a +href="http://tug.org/xetex" class="url" >http://tug.org/xetex</a>. + </dd><dt class="description"> +Omega (Omega) </dt><dd +class="description">је заÑнован на Unicode Ñтандарду (Ñваки знак заузима 16 бита), па + Ñтога подржава рад Ñа Ñкоро Ñвим ÑветÑким пиÑмима у иÑто време. Он подржава и + тзв. „Omega процеÑе превођења“ („Omega Translation Processes“ — OTP) + за извођење Ñложених транформација над произвољним + улазом. Omega није више укључен у <span class="TEX">T<span +class="E">E</span>X</span> Live као одвојени + програм; одржавамо Ñамо Aleph (погледајте иÑпод). + </dd><dt class="description"> +Aleph </dt><dd +class="description">комбинује проширења која Ñу донели Omega и e-<span class="TEX">T<span +class="E">E</span>X</span>. + Погледајте <a +href="../../../../texmf-dist/doc/aleph/base" >texmf-dist/doc/aleph/base</a>. + </dd></dl> +<!--l. 541--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.5 </span> <a + id="x1-130002.5"></a>Други иÑтакнути програми у <span class="TEX">T<span +class="E">E</span>X</span> Live</h4> +<!--l. 543--><p class="noindent" >Ево неколико других важних програма који Ñу укључени у <span class="TEX">T<span +class="E">E</span>X</span> Live и који +Ñе чеÑто кориÑте: +<!--l. 546--><p class="indent" > + <dl class="list1"><dt class="list"> + bibtex, bibtex8 </dt><dd +class="list"> + <!--l. 548--><p class="noindent" >подршка за прављење библиографијÄ. + + + </dd><dt class="list"> + makeindex, xindy </dt><dd +class="list"> + <!--l. 549--><p class="noindent" >подршка за прављење индекÑÄ. + </dd><dt class="list"> + dvips </dt><dd +class="list"> + <!--l. 550--><p class="noindent" >пребацује DVI формат у PostScript. + </dd><dt class="list"> + xdvi </dt><dd +class="list"> + <!--l. 551--><p class="noindent" >програм за приказивање DVI формата у графичком ÑиÑтему X (X Window System). + </dd><dt class="list"> + dvilj </dt><dd +class="list"> + <!--l. 553--><p class="noindent" >DVI драјвер за породицу ÑˆÑ‚Ð°Ð¼Ð¿Ð°Ñ‡Ä HP LaserJet. + </dd><dt class="list"> + dviconcat, dviselect </dt><dd +class="list"> + <!--l. 554--><p class="noindent" >рад Ñа документима у DVI формату. + </dd><dt class="list"> + dvipdfmx </dt><dd +class="list"> + <!--l. 555--><p class="noindent" >пребацује DVI у PDF; Ñлужи као алтернатива приÑтупу који + омогућава pdf<span class="TEX">T<span +class="E">E</span>X</span> (објашњено у претходном одељку). + </dd><dt class="list"> + psselect, psnup... </dt><dd +class="list"> + <!--l. 557--><p class="noindent" >алатке за баратање PostScript документима. + </dd><dt class="list"> + pdfjam, pdfjoin... </dt><dd +class="list"> + <!--l. 558--><p class="noindent" >алатке за баратање PDF документима. + </dd><dt class="list"> + texexec, texmfstart </dt><dd +class="list"> + <!--l. 559--><p class="noindent" >програми за Con<span class="TEX">T<span +class="E">E</span>X</span>t и PDF. + </dd><dt class="list"> + tex4ht </dt><dd +class="list"> + <!--l. 560--><p class="noindent" >конвертор из <span class="TEX">T<span +class="E">E</span>X</span>-а у HTML, XML и много других формата.</dd></dl> +<!--l. 565--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">2.6 </span> <a + id="x1-140002.6"></a>Фонтови у <span class="TEX">T<span +class="E">E</span>X</span> Live</h4> +<!--l. 568--><p class="noindent" >У <span class="TEX">T<span +class="E">E</span>X</span> Live је укључен велики број векторÑких фонтова виÑоког квалитета. +Погледајте <a +href="http://tug.org/fonts" class="url" >http://tug.org/fonts</a> и <a +href="../../../../texmf-dist/doc/fonts/free-math-font-survey" >texmf-dist/doc/fonts/free-math-font-survey</a>. +<!--l. 573--><p class="indent" > <a id="installation"></a> + <h3 class="sectionHead"><span class="titlemark">3 </span> <a + id="x1-150003"></a>ИнÑталација</h3> +<!--l. 577--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">3.1 </span> <a + id="x1-160003.1"></a>Покретање инÑталационог програма</h4> +<!--l. 580--><p class="noindent" >За почетак, потребан Вам је <span class="TEX">T<span +class="E">E</span>X</span> Collection DVD или програм за инÑталирање <span class="TEX">T<span +class="E">E</span>X</span> +Live-а преко Интернета (net installer). Пронађите инÑталациону Ñкрипту: она Ñе зове <span class="path">install-tl</span> на +Unix-има, а <span class="path">install-tl.bat</span> на Windows-у. Ðа Ñтраници <a +href="http://tug.org/texlive/acquire.html" class="url" >http://tug.org/texlive/acquire.html</a> налазе Ñе додатне +информације како можете да дођете до Ñофтвера. +<!--l. 587--><p class="indent" > + + + <dl class="description"><dt class="description"> +Net installer: </dt><dd +class="description">Скините га Ñа CTAN-а, налази Ñе у директоријуму <span class="path">systems/texlive/ + tlnet</span>; преко путање <a +href="http://mirror.ctan.org/systems/texlive/tlnet" class="url" >http://mirror.ctan.org/systems/texlive/tlnet</a> бићете + аутоматÑки пребачени на географÑки најближи Ñајт-копију + (mirror) који Ñадржи најновије верзије целокупног + Ñадржаја. Можете да преузмете <span class="path">install-tl.zip</span>, који Ñе може кориÑтити + и под Unix-ом и под Windows-ом, или значајно мањи <span class="path">install-unx.tar.gz</span> + (Ñамо за Unix). Када раÑпакујете фајл који Ñте преузели, у + поддиректоријуму <span class="path">install-tl</span> наћи ћете фајлове <span class="path">install-tl</span> + и <span class="path">install-tl.bat</span>. + </dd><dt class="description"> +<span class="TEX">T<span +class="E">E</span>X</span> Collection DVD: </dt><dd +class="description">Уђите у директоријум <span class="path">texlive</span> на DVD-ју. Ðа + Windows-у Ñе инÑталациони програм обично Ñам покреће када убаците DVD. DVD + можете добити ако поÑтанете члан неке групе кориÑника <span class="TEX">T<span +class="E">E</span>X</span>-а (наша Ñрдачна препорука да + урадите тако, погледајте <a +href="http://tug.org/usergroups.html" class="url" >http://tug.org/usergroups.html</a>), тако што ћете га + купити (<a +href="http://tug.org/store" class="url" >http://tug.org/store</a>), или тако што ћете Ñами нарезати ISO фајл. + Ðа већини ÑиÑтема можете и да директно приÑтупите Ñадржају ISO + одраза („mount“). Ðко поÑле инÑталације преко DVD-ја или ISO одраза + желите да наÑтавите Ñа надоградњама преко Интернета, погледајте + одељак <a +href="#x1-340003.4.3">3.4.3<!--tex4ht:ref: sec:dvd-install-net-updates --></a>. + </dd></dl> +<!--l. 612--><p class="indent" > Без обзира на то који извор кориÑтите, покреће Ñе један иÑти инÑталер. +Ðајвидљивија разлика је то што преко мреже („Net installer“) +добијате пакете који Ñу доÑтупни у том тренутку. За разлику од тога, +DVD и ISO фајлови Ñе не оÑвежавају у периоду између главних +издања. +<!--l. 618--><p class="indent" > Ðаредни одељци детаљно објашњавају како Ñе +инÑталациони програм кориÑти. +<!--l. 621--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.1 </span> <a + id="x1-170003.1.1"></a>Unix</h5> +<!--l. 623--><p class="noindent" >Од Ñада па надаље, <span class="texttt"»</span> означава „промпт“ („shell prompt“); оно што +уноÑи кориÑник приказано је <span class="command">подебљаним</span> <span +class="command">Ñловима</span>. Скрипта <span class="path">install-tl</span> је напиÑана у језику Perl. +ÐајједноÑтавнији начин да је покренете на Unix ÑиÑтемима изгледа +овако: <div class="alltt"> +<!--l. 628--><p class="noindent" ><div class="obeylines-v"> > <span +class="command">cd /путања/до/програма/за/инÑталацију</span> +<br />> <span class="command">perl install-tl</span> +</div> +</div> (УмеÑто тога, можете је позвати Ñа <span class="command">perl +/путања/до/инÑталера/install-tl</span> или Ñа <span class="command">./install-tl</span> ако +је Ñкрипта извршни фајл — има „права на извршавање“, речено Unix +језиком — итд; нећемо понављати Ñве ове варијације.) +Може Ñе деÑити да је потребно да повећате прозор Ñвог терминала како би у +њега Ñтао цео Ñадржај програма (Ñлика <a +href="#x1-19061r1">1<!--tex4ht:ref: fig:text-main --></a>). +<!--l. 638--><p class="indent" > Ðко желите да обавите инÑталацију у екÑпертÑком графичком режиму („expert GUI“, +Ñлика <a +href="#x1-19062r2">2<!--tex4ht:ref: fig:gui-main --></a>), биће Вам потребан <span class="path">Perl/TK</span> модул компајлиран Ñа XFT подршком; то +је обично тако на GNU/Linux-у, али није нужно Ñлучај на другим +ÑиÑтемима.<span class="footnote-mark"><a +href="#fn2x0" id="fn2x0-bk"><sup class="textsuperscript">2</sup></a></span><a + id="x1-17001f2"></a> +Када Ñве буде Ñпремно, откуцајте: <div class="alltt"> +<!--l. 646--><p class="noindent" ><div class="obeylines-v"> > <span class="command">perl install-tl -gui</span> + + +</div> +</div> +<!--l. 649--><p class="indent" > Ðко желите да видите комплетан ÑпиÑак разних опција, откуцајте: +<div class="alltt"> +<!--l. 650--><p class="noindent" ><div class="obeylines-v"> > <span class="command">perl install-tl -help</span> +</div> +</div> +<!--l. 653--><p class="indent" > Упозорење везано за кориÑничка овлашћења на Unix ÑиÑтемима: +ИнÑталациони програм <span class="TEX">T<span +class="E">E</span>X</span> Live-а ће поштовати Ваш <span class="path">umask</span> који важи у време +инÑталације. Дакле, ако желите да инÑталирани ÑиÑтем кориÑте и други кориÑници, побрините +Ñе да подеÑите одговарајуће дозволе, на пример, <span class="path">umask 002</span>. ИÑцрпније +информације о команди <span class="path">umask</span> можете пронаћи у документацији на Вашем +ÑиÑтему. +<!--l. 660--><p class="indent" > ПоÑебни обзири везани за Cygwin: За разлику од других ÑиÑтема компатибилних Ñа Unix-ом, Cygwin +у Ñвом Ñтандардном облику не Ñадржи Ñве неопходне програме који Ñу потребни +инÑталационом програму <span class="TEX">T<span +class="E">E</span>X</span> Live-а. Одељак <a +href="#x1-200003.1.4">3.1.4<!--tex4ht:ref: sec:cygwin --></a> поÑвећен је овој +теми. +<!--l. 666--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.2 </span> <a + id="x1-180003.1.2"></a>MacOSX</h5> +<!--l. 668--><p class="noindent" >Као што је поменуто у одељку <a +href="#x1-90002.1">2.1<!--tex4ht:ref: sec:tl-coll-dists --></a>, за Mac OS X је припремљена +поÑебна диÑтрибуција по имену Mac<span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://tug.org/mactex" class="url" >http://tug.org/mactex</a>). Препоручујемо да +на Mac OS X ÑиÑтему кориÑтите изворни инÑталациони програм умеÑто оног који је +укључен у <span class="TEX">T<span +class="E">E</span>X</span> Live зато што ће Mac<span class="TEX">T<span +class="E">E</span>X</span> верзија урадити и нека +додатна подешавања Ñпецифична за Mac OS X, пре Ñвега она која Вам +омогућавају да Ñе лако пребацујете Ñа једне на другу +диÑтрибуцију <span class="TEX">T<span +class="E">E</span>X</span>-а (Mac<span class="TEX">T<span +class="E">E</span>X</span>, Fink, MacPorts...). +<!--l. 677--><p class="indent" > Mac<span class="TEX">T<span +class="E">E</span>X</span> је Ñтрого заÑнован на <span class="TEX">T<span +class="E">E</span>X</span> Live-у и главни <span class="TEX">T<span +class="E">E</span>X</span> директоријуми +Ñу у потпуноÑти иÑти. Mac<span class="TEX">T<span +class="E">E</span>X</span> на ту Ñтруктуру додаје неколико допунÑких +директоријума Ñа документацијом и апликацијама Ñпецифичним за +Mac. +<!--l. 682--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.3 </span> <a + id="x1-190003.1.3"></a>Windows</h5> +<!--l. 684--><p class="noindent" >Ðко кориÑтите програм за инÑталацију преко Интернета (net installer) или ако Ñе инÑталациони +програм Ñа DVD-ја не отвори аутоматÑки, двапут кликните <span class="path">install-tl.bat</span>. Ðко желите да имате +више могућноÑти око подешавања разних параметара, нпр. да изаберете или не +изаберете поједине колекције пакета, умеÑто поменутог програма покрените +<span class="path">install-tl-advanced.bat</span>. +<!--l. 691--><p class="indent" > ИнÑталациони програм Ñе може покренути и Ñа командне линије (command-prompt). У +наÑтавку текÑта, <span class="texttt"»</span> ће означавати промпт; оно што куца +кориÑник биће штампано <span class="command">подебљаним</span> <span +class="command">Ñловима</span>. Када уђете у директоријум у коме Ñе налази +инÑталациони програм, откуцајте: <div class="alltt"> +<!--l. 696--><p class="noindent" ><div class="obeylines-v"> > <span class="command">install-tl</span> +</div> +</div> +<!--l. 699--><p class="indent" > Можете да употребите и апÑолутну путању, на пример: <div class="alltt"> +<!--l. 700--><p class="noindent" ><div class="obeylines-v"> > <span class="command">D:\texlive\install-tl</span> + + +</div> +</div> Овај конкретан пример значи да кориÑтите <span class="TEX">T<span +class="E">E</span>X</span> Collection DVD и да је ознака +оптичког драјва на Вашем компјутеру <span class="path">D:</span>. Слика <a +href="#x1-19063r3">3<!--tex4ht:ref: fig:wizard-w32 --></a> приказује +поједноÑтављени графички („wizard“) режим рада инÑталационог програма; +овај режим Ñе на Windows-у подразумева. +<!--l. 708--><p class="indent" > Ðко хоћете да инÑталирате у текÑтуалном режиму, откуцајте: <div class="alltt"> +<!--l. 709--><p class="noindent" ><div class="obeylines-v"> > <span class="command">install-tl -no-gui</span> +</div> +</div> +<!--l. 712--><p class="indent" > Комплетан ÑпиÑак Ð¾Ð¿Ñ†Ð¸Ñ˜Ä Ð´Ð¾Ð±Ð¸Ñ›ÐµÑ‚Ðµ ако откуцате: <div class="alltt"> +<!--l. 713--><p class="noindent" ><div class="obeylines-v"> > <span class="command">install-tl -help</span> +</div> +</div> +<!--l. 716--><p class="indent" > <hr class="figure"><div class="figure" +> + + +<a + id="x1-19061r1"></a> + + +<div class="fancyvrb" id="fancyvrb1"><a + id="x1-19002r1"></a><span +class="larm-0800"> </span><span +class="larm-0800"> Installing</span><span +class="larm-0800"> TeX</span><span +class="larm-0800"> Live</span><span +class="larm-0800"> 2012</span><span +class="larm-0800"> from:</span><span +class="larm-0800"> ...</span><br class="fancyvrb" /><a + id="x1-19004r2"></a><span +class="larm-0800"> </span><span +class="larm-0800"> Platform:</span><span +class="larm-0800"> i386-linux</span><span +class="larm-0800"> =></span><span +class="larm-0800"> "Intel</span><span +class="larm-0800"> x86</span><span +class="larm-0800"> with</span><span +class="larm-0800"> GNU/Linux"</span><br class="fancyvrb" /><a + id="x1-19006r3"></a><span +class="larm-0800"> </span><span +class="larm-0800"> Distribution:</span><span +class="larm-0800"> live</span><span +class="larm-0800"> (compressed)</span><br class="fancyvrb" /><a + id="x1-19008r4"></a><span +class="larm-0800"> </span><span +class="larm-0800"> ...</span> +<br class="fancyvrb" /><a + id="x1-19010r5"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> Detected</span><span +class="larm-0800"> platform:</span><span +class="larm-0800"> Intel</span><span +class="larm-0800"> x86</span><span +class="larm-0800"> with</span><span +class="larm-0800"> GNU/Linux</span><br class="fancyvrb" /><a + id="x1-19012r6"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><br class="fancyvrb" /><a + id="x1-19014r7"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> <B></span><span +class="larm-0800"> platforms:</span><span +class="larm-0800"> 1</span><span +class="larm-0800"> out</span><span +class="larm-0800"> of</span><span +class="larm-0800"> 19</span><br class="fancyvrb" /><a + id="x1-19016r8"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><br class="fancyvrb" /><a + id="x1-19018r9"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> <S></span><span +class="larm-0800"> installation</span><span +class="larm-0800"> scheme</span><span +class="larm-0800"> (scheme-full)</span> +<br class="fancyvrb" /><a + id="x1-19020r10"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> 84</span><span +class="larm-0800"> collections</span><span +class="larm-0800"> out</span><span +class="larm-0800"> of</span><span +class="larm-0800"> 85,</span><span +class="larm-0800"> disk</span><span +class="larm-0800"> space</span><span +class="larm-0800"> required:</span><span +class="larm-0800"> 3091</span><span +class="larm-0800"> MB</span><br class="fancyvrb" /><a + id="x1-19022r11"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><br class="fancyvrb" /><a + id="x1-19024r12"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> Customizing</span><span +class="larm-0800"> installation</span><span +class="larm-0800"> scheme:</span> +<br class="fancyvrb" /><a + id="x1-19026r13"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> <C></span><span +class="larm-0800"> standard</span><span +class="larm-0800"> collections</span><br class="fancyvrb" /><a + id="x1-19028r14"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> <L></span><span +class="larm-0800"> language</span><span +class="larm-0800"> collections</span><br class="fancyvrb" /><a + id="x1-19030r15"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><br class="fancyvrb" /><a + id="x1-19032r16"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> <D></span><span +class="larm-0800"> directories:</span><br class="fancyvrb" /><a + id="x1-19034r17"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> TEXDIR</span><span +class="larm-0800"> (the</span><span +class="larm-0800"> main</span><span +class="larm-0800"> TeX</span><span +class="larm-0800"> directory):</span> +<br class="fancyvrb" /><a + id="x1-19036r18"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> /usr/local/texlive/2012</span><br class="fancyvrb" /><a + id="x1-19038r19"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> ...</span><br class="fancyvrb" /><a + id="x1-19040r20"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><br class="fancyvrb" /><a + id="x1-19042r21"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> <O></span><span +class="larm-0800"> options:</span><br class="fancyvrb" /><a + id="x1-19044r22"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> [</span><span +class="larm-0800"> ]</span><span +class="larm-0800"> use</span><span +class="larm-0800"> letter</span><span +class="larm-0800"> size</span><span +class="larm-0800"> instead</span><span +class="larm-0800"> of</span><span +class="larm-0800"> A4</span><span +class="larm-0800"> by</span><span +class="larm-0800"> default</span><br class="fancyvrb" /><a + id="x1-19046r23"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> ...</span><br class="fancyvrb" /><a + id="x1-19048r24"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span> +<br class="fancyvrb" /><a + id="x1-19050r25"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> <V></span><span +class="larm-0800"> set</span><span +class="larm-0800"> up</span><span +class="larm-0800"> for</span><span +class="larm-0800"> portable</span><span +class="larm-0800"> installation</span><br class="fancyvrb" /><a + id="x1-19052r26"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><br class="fancyvrb" /><a + id="x1-19054r27"></a><span +class="larm-0800"> </span><span +class="larm-0800"> Actions:</span><br class="fancyvrb" /><a + id="x1-19056r28"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> <I></span><span +class="larm-0800"> start</span><span +class="larm-0800"> installation</span><span +class="larm-0800"> to</span><span +class="larm-0800"> hard</span><span +class="larm-0800"> disk</span><br class="fancyvrb" /><a + id="x1-19058r29"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> <H></span><span +class="larm-0800"> help</span><br class="fancyvrb" /><a + id="x1-19060r30"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> <Q></span><span +class="larm-0800"> quit</span></div> +<br /> <div class="caption" +><span class="id">Слика 1: </span><span +class="content">Главни екран инÑталационог програма (GNU/Linux)</span></div><!--tex4ht:label?: x1-19061r1 --> + + +<!--l. 751--><p class="indent" > </div><hr class="endfigure"> +<!--l. 753--><p class="indent" > <hr class="figure"><div class="figure" +> + + +<a + id="x1-19062r2"></a> + + + +<!--l. 754--><p class="noindent" ><img +src="images/tl2012-install-tl-expert-gui-freebsd-sr.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Слика 2: </span><span +class="content">ИнÑталациони програм у екÑпертÑком графичком („Expert GUI“) режиму (FreeBSD)</span></div><!--tex4ht:label?: x1-19062r2 --> + + +<!--l. 757--><p class="indent" > </div><hr class="endfigure"> +<!--l. 759--><p class="indent" > <hr class="figure"><div class="figure" +> + + +<a + id="x1-19063r3"></a> + + + +<!--l. 760--><p class="noindent" ><img +src="images/tl2012-install-tl-wizard-win32-sr.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Слика 3: </span><span +class="content">ИнÑталациони програм у поједноÑтављеном графичком („Wizard“) +режиму (Windows)</span></div><!--tex4ht:label?: x1-19063r3 --> + + +<!--l. 763--><p class="indent" > </div><hr class="endfigure"> +<!--l. 766--><p class="indent" > <a id="cygwin"></a> + <h5 class="subsubsectionHead"><span class="titlemark">3.1.4 </span> <a + id="x1-200003.1.4"></a>Cygwin</h5> +<!--l. 770--><p class="noindent" >ИнÑталациони програм <span class="TEX">T<span +class="E">E</span>X</span> Live-а ради Ñамо на Cygwin 1.7. Пре него што почнете инÑталацију, +покрените Cygwin-ов програм <span class="path">setup.exe</span> како биÑте инÑталирали пакете <span class="path">perl</span> и <span class="path">wget</span> уколико не +поÑтоје на Вашем ÑиÑтему. Препоручују Ñе и ови додатни пакети: + <ul class="itemize1"> + <li class="itemize"><span class="path">fontconfig</span> [потребан за Xe<span class="TEX">T<span +class="E">E</span>X</span>] + </li> + <li class="itemize"><span class="path">ghostscript</span> [потребан за више разних програма] + </li> + <li class="itemize"><span class="path">libXaw7</span> [потребан за <span class="path">xdvi</span>] + </li> + <li class="itemize"><span class="path">ncurses</span> [обезбеђује команду <span class="path">clear</span> коју кориÑти инÑталациони + програм]</li></ul> +<!--l. 784--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.5 </span> <a + id="x1-210003.1.5"></a>ИнÑталација у текÑтуалном режиму</h5> +<!--l. 786--><p class="noindent" >Слика <a +href="#x1-19061r1">1<!--tex4ht:ref: fig:text-main --></a> приказује главни екран инÑталационог програма у текÑтуалном режиму рада на +Unix-у. ТекÑтуални режим је Ñтандард на Unix-у. +<!--l. 790--><p class="indent" > У овом режиму, инÑталациони програм Ñе иÑкључиво оÑлања на командну +линију; употреба курзора није могућа. Ðа пример, не можете да употебите +дугме „Тab“ да Ñе премештате од поља до поља за избор и ÑƒÐ½Ð¾Ñ Ñ‚ÐµÐºÑта. ПроÑто откуцате +нешто на промпту (разлика између великих и малих Ñлова је битна) и +притиÑнете Enter; тада Ñе цео екран терминала поново иÑпуњава измењеним +Ñадржајем. +<!--l. 797--><p class="indent" > ТекÑтуални Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÑ˜Ñ Ñ˜Ðµ Ñ Ñ€Ð°Ð·Ð»Ð¾Ð³Ð¾Ð¼ овако примитиван: он је +дизајниран да ради на што је год могуће већем броју +оперативних ÑиÑтема, укључујући и оне Ñа тако једноÑтавним +инÑталацијама које Ñадрже Ñамо чиÑÑ‚ Perl. +<!--l. 803--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.6 </span> <a + id="x1-220003.1.6"></a>ИнÑталација у екÑпертÑком графичком режиму</h5> +<!--l. 805--><p class="noindent" >Слика <a +href="#x1-19062r2">2<!--tex4ht:ref: fig:gui-main --></a> приказује екÑпертÑки графички режим рада на FreeBSD ÑиÑтему. ОÑновна разлика у +одноÑу на текÑтуални режим јеÑте то што овде можете да кориÑтите дугмиће и +меније. +<!--l. 809--><p class="indent" > Овај режим рада Ñе може изричито позвати помоћу <div class="alltt"> +<!--l. 810--><p class="noindent" ><div class="obeylines-v"> > <span class="command">install-tl -gui=perltk</span> +</div> +</div> +<!--l. 815--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.1.7 </span> <a + id="x1-230003.1.7"></a>ИнÑталација у поједноÑтављеном графичком („wizard“) +режиму</h5> +<!--l. 817--><p class="noindent" >Ðко није другачије захтевано, на Windows-у инÑталациони програм кориÑти +најједноÑтавнији режим рада који Ñмо могли да оÑмиÑлимо и +који Ñе зове „wizard“ („чаробњак“ — Ñлика <a +href="#x1-19063r3">3<!--tex4ht:ref: fig:wizard-w32 --></a>). Програм у том режиму инÑталира Ñве и +не пита Ñкоро ништа. Ðко желите да подешавате инÑталацију, треба да кориÑтите неки од горе +опиÑаних режима. +<!--l. 824--><p class="indent" > Овај режим Ñе може изричито позвати помоћу <div class="alltt"> + + +<!--l. 825--><p class="noindent" ><div class="obeylines-v"> > <span class="command">install-tl -gui=wizard</span> +</div> +</div> +<!--l. 829--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">3.2 </span> <a + id="x1-240003.2"></a>Употреба инÑталационог програма</h4> +<!--l. 832--><p class="noindent" >ИнÑталер је направљен Ñа намером да буде мање-више јаÑан по Ñеби, +али ево неколико напомена о разним опцијама. +<!--l. 835--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.2.1 </span> <a + id="x1-250003.2.1"></a>Мени за избор платформе (Ñамо на Unix-у)</h5> +<!--l. 838--><p class="noindent" ><hr class="figure"><div class="figure" +> + + +<a + id="x1-25043r4"></a> + + +<div class="fancyvrb" id="fancyvrb2"><a + id="x1-25002r1"></a><span +class="larm-0800"> </span><span +class="larm-0800"> Available</span><span +class="larm-0800"> platforms:</span><br class="fancyvrb" /><a + id="x1-25004r2"></a><span +class="larm-0800"> </span><span +class="larm-0800"> ===============================================================================</span> +<br class="fancyvrb" /><a + id="x1-25006r3"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> a</span><span +class="larm-0800"> [</span><span +class="larm-0800"> ]</span><span +class="larm-0800"> alpha-linux</span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> DEC</span><span +class="larm-0800"> Alpha</span><span +class="larm-0800"> with</span><span +class="larm-0800"> GNU/Linux</span><br class="fancyvrb" /><a + id="x1-25008r4"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> b</span><span +class="larm-0800"> [X]</span><span +class="larm-0800"> amd64-freebsd</span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> x86_64</span><span +class="larm-0800"> with</span><span +class="larm-0800"> FreeBSD</span> +<br class="fancyvrb" /><a + id="x1-25010r5"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> c</span><span +class="larm-0800"> [</span><span +class="larm-0800"> ]</span><span +class="larm-0800"> amd64-kfreebsd</span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> x86_64</span><span +class="larm-0800"> with</span><span +class="larm-0800"> GNU/kFreeBSD</span><br class="fancyvrb" /><a + id="x1-25012r6"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> d</span><span +class="larm-0800"> [</span><span +class="larm-0800"> ]</span><span +class="larm-0800"> armel-linux</span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> ARM</span><span +class="larm-0800"> with</span><span +class="larm-0800"> GNU/Linux</span> +<br class="fancyvrb" /><a + id="x1-25014r7"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> e</span><span +class="larm-0800"> [</span><span +class="larm-0800"> ]</span><span +class="larm-0800"> i386-cygwin</span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> Intel</span><span +class="larm-0800"> x86</span><span +class="larm-0800"> with</span><span +class="larm-0800"> Cygwin</span><br class="fancyvrb" /><a + id="x1-25016r8"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> f</span><span +class="larm-0800"> [</span><span +class="larm-0800"> ]</span><span +class="larm-0800"> i386-freebsd</span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> Intel</span><span +class="larm-0800"> x86</span><span +class="larm-0800"> with</span><span +class="larm-0800"> FreeBSD</span> +<br class="fancyvrb" /><a + id="x1-25018r9"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> g</span><span +class="larm-0800"> [</span><span +class="larm-0800"> ]</span><span +class="larm-0800"> i386-kfreebsd</span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> Intel</span><span +class="larm-0800"> x86</span><span +class="larm-0800"> with</span><span +class="larm-0800"> GNU/kFreeBSD</span><br class="fancyvrb" /><a + id="x1-25020r10"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> h</span><span +class="larm-0800"> [</span><span +class="larm-0800"> ]</span><span +class="larm-0800"> i386-linux</span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> Intel</span><span +class="larm-0800"> x86</span><span +class="larm-0800"> with</span><span +class="larm-0800"> GNU/Linux</span> +<br class="fancyvrb" /><a + id="x1-25022r11"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> i</span><span +class="larm-0800"> [</span><span +class="larm-0800"> ]</span><span +class="larm-0800"> i386-solaris</span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> Intel</span><span +class="larm-0800"> x86</span><span +class="larm-0800"> with</span><span +class="larm-0800"> Solaris</span><br class="fancyvrb" /><a + id="x1-25024r12"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> j</span><span +class="larm-0800"> [</span><span +class="larm-0800"> ]</span><span +class="larm-0800"> mips-irix</span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> SGI</span><span +class="larm-0800"> IRIX</span><br class="fancyvrb" /><a + id="x1-25026r13"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> k</span><span +class="larm-0800"> [</span><span +class="larm-0800"> ]</span><span +class="larm-0800"> mipsel-linux</span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> mipsel</span><span +class="larm-0800"> with</span><span +class="larm-0800"> Linux</span> +<br class="fancyvrb" /><a + id="x1-25028r14"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> l</span><span +class="larm-0800"> [</span><span +class="larm-0800"> ]</span><span +class="larm-0800"> powerpc-aix</span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> PowerPC</span><span +class="larm-0800"> with</span><span +class="larm-0800"> AIX</span><br class="fancyvrb" /><a + id="x1-25030r15"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> m</span><span +class="larm-0800"> [</span><span +class="larm-0800"> ]</span><span +class="larm-0800"> powerpc-linux</span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> PowerPC</span><span +class="larm-0800"> with</span><span +class="larm-0800"> GNU/Linux</span> +<br class="fancyvrb" /><a + id="x1-25032r16"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> o</span><span +class="larm-0800"> [</span><span +class="larm-0800"> ]</span><span +class="larm-0800"> sparc-solaris</span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> Sparc</span><span +class="larm-0800"> with</span><span +class="larm-0800"> Solaris</span><br class="fancyvrb" /><a + id="x1-25034r17"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> p</span><span +class="larm-0800"> [</span><span +class="larm-0800"> ]</span><span +class="larm-0800"> universal-darwin</span><span +class="larm-0800"> universal</span><span +class="larm-0800"> binaries</span><span +class="larm-0800"> for</span><span +class="larm-0800"> MacOSX/Darwin</span> +<br class="fancyvrb" /><a + id="x1-25036r18"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> s</span><span +class="larm-0800"> [</span><span +class="larm-0800"> ]</span><span +class="larm-0800"> win32</span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> Windows</span><br class="fancyvrb" /><a + id="x1-25038r19"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> t</span><span +class="larm-0800"> [</span><span +class="larm-0800"> ]</span><span +class="larm-0800"> x86_64-darwin</span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> x86_64</span><span +class="larm-0800"> with</span><span +class="larm-0800"> MacOSX/Darwin</span> +<br class="fancyvrb" /><a + id="x1-25040r20"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> u</span><span +class="larm-0800"> [</span><span +class="larm-0800"> ]</span><span +class="larm-0800"> x86_64-linux</span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> x86_64</span><span +class="larm-0800"> with</span><span +class="larm-0800"> GNU/Linux</span><br class="fancyvrb" /><a + id="x1-25042r21"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> v</span><span +class="larm-0800"> [</span><span +class="larm-0800"> ]</span><span +class="larm-0800"> x86_64-solaris</span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> x86_64</span><span +class="larm-0800"> with</span><span +class="larm-0800"> Solaris</span></div> +<br /> <div class="caption" +><span class="id">Слика 4: </span><span +class="content">Мени за избор платформе (тј. архитектуре и оперативног ÑиÑтема) за програме</span></div><!--tex4ht:label?: x1-25043r4 --> + + +<!--l. 863--><p class="noindent" ></div><hr class="endfigure"> +<!--l. 865--><p class="indent" > Слика <a +href="#x1-25043r4">4<!--tex4ht:ref: fig:bin-text --></a> приказује мени Ñа подржаним платформама (в. фуÑноту 1 за +објашњење израза „платформа“) за програме, у текÑтуалном режиму. +Подразумева Ñе да ће бити инÑталиране Ñамо верзије програма за тип процеÑора и +оперативни ÑиÑтем на коме Ñте покренули инÑталацију. Можете, међутим, изабрати и +да инÑталирате верзије програма и за неке друге платформе. Ово може да буде +кориÑно ако Ñе <span class="TEX">T<span +class="E">E</span>X</span> заједнички кориÑти на мрежи Ñа разнородним машинама или на +компјутерима који на Ñеби имају неколико различитих оперативних +ÑиÑтема. + <h5 class="subsubsectionHead"><span class="titlemark">3.2.2 </span> <a + id="x1-260003.2.2"></a>Избор компоненти</h5> +<!--l. 878--><p class="noindent" ><hr class="figure"><div class="figure" +> + + +<a + id="x1-26025r5"></a> + + +<div class="fancyvrb" id="fancyvrb3"><a + id="x1-26002r1"></a><span +class="larm-0800"> </span><span +class="larm-0800"> Select</span><span +class="larm-0800"> scheme:</span><br class="fancyvrb" /><a + id="x1-26004r2"></a><span +class="larm-0800"> </span><span +class="larm-0800"> ===============================================================================</span> +<br class="fancyvrb" /><a + id="x1-26006r3"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> a</span><span +class="larm-0800"> [X]</span><span +class="larm-0800"> full</span><span +class="larm-0800"> scheme</span><span +class="larm-0800"> (everything)</span><br class="fancyvrb" /><a + id="x1-26008r4"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> b</span><span +class="larm-0800"> [</span><span +class="larm-0800"> ]</span><span +class="larm-0800"> medium</span><span +class="larm-0800"> scheme</span><span +class="larm-0800"> (small</span><span +class="larm-0800"> +</span><span +class="larm-0800"> more</span><span +class="larm-0800"> packages</span><span +class="larm-0800"> and</span><span +class="larm-0800"> languages)</span> +<br class="fancyvrb" /><a + id="x1-26010r5"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> c</span><span +class="larm-0800"> [</span><span +class="larm-0800"> ]</span><span +class="larm-0800"> small</span><span +class="larm-0800"> scheme</span><span +class="larm-0800"> (basic</span><span +class="larm-0800"> +</span><span +class="larm-0800"> xetex,</span><span +class="larm-0800"> metapost,</span><span +class="larm-0800"> a</span><span +class="larm-0800"> few</span><span +class="larm-0800"> languages)</span><br class="fancyvrb" /><a + id="x1-26012r6"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> d</span><span +class="larm-0800"> [</span><span +class="larm-0800"> ]</span><span +class="larm-0800"> basic</span><span +class="larm-0800"> scheme</span><span +class="larm-0800"> (plain</span><span +class="larm-0800"> and</span><span +class="larm-0800"> latex)</span> +<br class="fancyvrb" /><a + id="x1-26014r7"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> e</span><span +class="larm-0800"> [</span><span +class="larm-0800"> ]</span><span +class="larm-0800"> minimal</span><span +class="larm-0800"> scheme</span><span +class="larm-0800"> (plain</span><span +class="larm-0800"> only)</span><br class="fancyvrb" /><a + id="x1-26016r8"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> f</span><span +class="larm-0800"> [</span><span +class="larm-0800"> ]</span><span +class="larm-0800"> ConTeXt</span><span +class="larm-0800"> scheme</span><br class="fancyvrb" /><a + id="x1-26018r9"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> g</span><span +class="larm-0800"> [</span><span +class="larm-0800"> ]</span><span +class="larm-0800"> GUST</span><span +class="larm-0800"> TeX</span><span +class="larm-0800"> Live</span><span +class="larm-0800"> scheme</span> +<br class="fancyvrb" /><a + id="x1-26020r10"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> h</span><span +class="larm-0800"> [</span><span +class="larm-0800"> ]</span><span +class="larm-0800"> teTeX</span><span +class="larm-0800"> scheme</span><span +class="larm-0800"> (more</span><span +class="larm-0800"> than</span><span +class="larm-0800"> medium,</span><span +class="larm-0800"> but</span><span +class="larm-0800"> nowhere</span><span +class="larm-0800"> near</span><span +class="larm-0800"> full)</span><br class="fancyvrb" /><a + id="x1-26022r11"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> i</span><span +class="larm-0800"> [</span><span +class="larm-0800"> ]</span><span +class="larm-0800"> XML</span><span +class="larm-0800"> scheme</span><br class="fancyvrb" /><a + id="x1-26024r12"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> j</span><span +class="larm-0800"> [</span><span +class="larm-0800"> ]</span><span +class="larm-0800"> custom</span><span +class="larm-0800"> selection</span><span +class="larm-0800"> of</span><span +class="larm-0800"> collections</span></div> +<br /> <div class="caption" +><span class="id">Слика 5: </span><span +class="content">Мени Ñа шемама</span></div><!--tex4ht:label?: x1-26025r5 --> + + +<!--l. 894--><p class="noindent" ></div><hr class="endfigure"> +<!--l. 896--><p class="indent" > Слика <a +href="#x1-26025r5">5<!--tex4ht:ref: fig:scheme-text --></a> приказује <span class="TEX">T<span +class="E">E</span>X</span> Live-ов мени Ñа шемама; преко њега можете изабрати +„шему“, тј. један кохерентан Ñкуп колекција пакета. Подразумевана +„пуна“ (full) шема инÑталира Ñве. Препоручује Ñе да тако и урадите; ипак, можете +да изаберете и „оÑновну“ (basic) шему прикладну за мале ÑиÑтеме, „минималну“ (minimal) +шему за потребе теÑтирања и „Ñредњу“ (medium) шему — заправо teTeX — +нешто у Ñредини између претходна два. ПоÑтоје такође и разне +Ñпецијализоване шеме и шеме прилагођене некој поÑебној +земљи. +<!--l. 906--><p class="indent" > <hr class="figure"><div class="figure" +> + + +<a + id="x1-26026r6"></a> + + +<div +> +<!--l. 907--><p class="noindent" > + +<!--l. 908--><p class="noindent" ><img +src="images/tl2012-install-tl-collections-freebsd-sr.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Слика 6: </span><span +class="content">Мени Ñа колекцијама</span></div><!--tex4ht:label?: x1-26026r6 --> +</div> + + +<!--l. 911--><p class="indent" > </div><hr class="endfigure"> +<!--l. 913--><p class="indent" > Одабир шеме може да Ñе даље разради помоћу менија „Стандардне +колекције“ и „Језичке колекције“ (Ñлика <a +href="#x1-26026r6">6<!--tex4ht:ref: fig:collections-gui --></a>, овог пута, за промену, приказани у +графичком режиму). +<!--l. 917--><p class="indent" > Колекције Ñу за један ниво детаљније него шеме — +поједноÑтављено речено, једна шема Ñе ÑаÑтоји од неколико +колекција, колекција Ñе ÑаÑтоји од једног или више пакетÄ, а +пакет (најнижи ниво групиÑања у <span class="TEX">T<span +class="E">E</span>X</span> Live-у) Ñадржи Ñтварне фајлове +<span class="TEX">T<span +class="E">E</span>X</span> макроа, фонтова, итд. +<!--l. 922--><p class="indent" > Ðко желите још више контроле него што нуде менији Ñа колекцијама, +можете да кориÑтите <span class="TEX">T<span +class="E">E</span>X</span> Live Manager (tlmgr) након инÑталације (подгледајте +одељак <a +href="#x1-450005">5<!--tex4ht:ref: sec:tlmgr --></a>); помоћу њега можете да контролишете инÑталацију на +нивоу пакетÄ. + <h5 class="subsubsectionHead"><span class="titlemark">3.2.3 </span> <a + id="x1-270003.2.3"></a>Директоријуми</h5> +<!--l. 930--><p class="noindent" >Подразумевани раÑпоред Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ˜ÑƒÐ¼Ä Ð¾Ð¿Ð¸Ñан је у одељку <a +href="#x1-110002.3">2.3<!--tex4ht:ref: sec:texmftrees --></a>, ÑÑ‚Ñ€. <a +href="#x1-110002.3">9<!--tex4ht:ref: sec:texmftrees --></a>. +Стандардна локација директоријума <span class="path">TEXDIR</span> је <span class="path">/usr/local/texlive/2012</span> на +Unix-у и <span class="obeylines-h"><span class="verb">%SystemDrive%\texlive\2012</span></span> на Windows-у. +<!--l. 936--><p class="indent" > Главни разлог да промените ове вредноÑти јеÑте ако немате право упиÑивања на +подразумевано меÑто. Ðе морате да будете root или админиÑтратор да биÑте инÑталирали <span class="TEX">T<span +class="E">E</span>X</span> Live, али +морате имати право упиÑивања у циљни директоријум. +<!--l. 941--><p class="indent" > Разумна алтернатива јеÑте неки директоријум унутар личног директоријума, +поÑебно ако ћете једини кориÑник бити Ви. Ознака за лични доректоријум +је „<span class="obeylines-h"><span class="verb">~</span></span>“, на пример „<span class="obeylines-h"><span class="verb">~/texlive/2012</span></span>“. +<!--l. 945--><p class="indent" > Препоручујемо да укључите ознаку за годину у име изабраног директоријума +како биÑте били у могућноÑти да држите различита издања <span class="TEX">T<span +class="E">E</span>X</span> Live-а једно +поред другог. (Такође, можете и да помоћу Ñимболичког линка направите име +незавиÑно од верзије, нпр. <span class="path">/usr/local/texlive-cur</span> и да тај линк каÑније +промените након теÑтирања новог издања.) +<!--l. 952--><p class="indent" > Промена вредноÑти променљиве <span class="path">TEXDIR</span> у инÑталационом програму повлачи за Ñобом и +промену Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ˜ÑƒÐ¼Ä <span class="path">TEXMFLOCAL</span>, <span class="path">TEXMFSYSVAR</span> и <span class="path">TEXMFSYSCONFIG</span>. +<!--l. 957--><p class="indent" > Препоручујемо да кориÑтите <span class="path">TEXMFHOME</span> као меÑто за личне макрое и пакете. +Подразумевана вредноÑÑ‚ је <span class="obeylines-h"><span class="verb">~/texmf</span></span>. ÐаÑупрот <span class="path">TEXDIR</span>-у, овде Ñе ознака <span class="obeylines-h"><span class="verb">~</span></span> чува у +новозапиÑаним конфигурационим фајловима зато што означава лични директоријум +било ког појединца који кориÑти <span class="TEX">T<span +class="E">E</span>X</span>. Он на Unix-у узима вредноÑÑ‚ <span class="path">$HOME</span> а на +Windows-у поÑтаје <span class="obeylines-h"><span class="verb">%USERPROFILE%</span></span>. ПоÑебна, већ помало Ñувишна напомена: +<span class="path">TEXMFHOME</span>, као и Ñва дрвета Ñа подацима, мора бити организовано у Ñкладу Ñа TDS; у противном Ñе +може деÑити да фајлови не могу да Ñе пронађу. +<!--l. 967--><p class="indent" > <span class="path">TEXMFVAR</span> је меÑто где Ñе Ñмештају кеширани подаци који Ñе +Ñтварају током рада Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ä Ð¸ који Ñе разликују од кориÑника +до кориÑника. Con<span class="TEX">T<span +class="E">E</span>X</span>t MkIV кориÑти у те Ñврхе директоријум <span class="path">TEXMFCACHE</span> +(погледајте одељак <a +href="#x1-360003.4.5">3.4.5<!--tex4ht:ref: sec:context-mkiv --></a>, ÑÑ‚Ñ€. <a +href="#x1-360003.4.5">42<!--tex4ht:ref: sec:context-mkiv --></a>). +<!--l. 974--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.2.4 </span> <a + id="x1-280003.2.4"></a>Опције</h5> +<!--l. 977--><p class="noindent" ><hr class="figure"><div class="figure" +> + + +<a + id="x1-28025r7"></a> + + +<div class="fancyvrb" id="fancyvrb4"><a + id="x1-28002r1"></a><span +class="larm-0800"> </span><span +class="larm-0800"> Options</span><span +class="larm-0800"> setup:</span><br class="fancyvrb" /><a + id="x1-28004r2"></a><span +class="larm-0800"> </span><span +class="larm-0800"> ===============================================================================</span> +<br class="fancyvrb" /><a + id="x1-28006r3"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> <P></span><span +class="larm-0800"> use</span><span +class="larm-0800"> letter</span><span +class="larm-0800"> size</span><span +class="larm-0800"> instead</span><span +class="larm-0800"> of</span><span +class="larm-0800"> A4</span><span +class="larm-0800"> by</span><span +class="larm-0800"> default:</span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> [</span><span +class="larm-0800"> ]</span><br class="fancyvrb" /><a + id="x1-28008r4"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> <E></span><span +class="larm-0800"> execution</span><span +class="larm-0800"> of</span><span +class="larm-0800"> restricted</span><span +class="larm-0800"> list</span><span +class="larm-0800"> of</span><span +class="larm-0800"> programs:</span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> [X]</span> +<br class="fancyvrb" /><a + id="x1-28010r5"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> <F></span><span +class="larm-0800"> create</span><span +class="larm-0800"> format</span><span +class="larm-0800"> files:</span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> [X]</span><br class="fancyvrb" /><a + id="x1-28012r6"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> <D></span><span +class="larm-0800"> install</span><span +class="larm-0800"> font/macro</span><span +class="larm-0800"> doc</span><span +class="larm-0800"> tree:</span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> [X]</span> +<br class="fancyvrb" /><a + id="x1-28014r7"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> <S></span><span +class="larm-0800"> install</span><span +class="larm-0800"> font/macro</span><span +class="larm-0800"> source</span><span +class="larm-0800"> tree:</span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> [X]</span><br class="fancyvrb" /><a + id="x1-28016r8"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> <L></span><span +class="larm-0800"> create</span><span +class="larm-0800"> symlinks</span><span +class="larm-0800"> in</span><span +class="larm-0800"> standard</span><span +class="larm-0800"> directories:</span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> [</span><span +class="larm-0800"> ]</span> +<br class="fancyvrb" /><a + id="x1-28018r9"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> binaries</span><span +class="larm-0800"> to:</span><br class="fancyvrb" /><a + id="x1-28020r10"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> manpages</span><span +class="larm-0800"> to:</span><br class="fancyvrb" /><a + id="x1-28022r11"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> info</span><span +class="larm-0800"> to:</span><br class="fancyvrb" /><a + id="x1-28024r12"></a><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> <Y></span><span +class="larm-0800"> after</span><span +class="larm-0800"> installation,</span><span +class="larm-0800"> get</span><span +class="larm-0800"> package</span><span +class="larm-0800"> updates</span><span +class="larm-0800"> from</span><span +class="larm-0800"> CTAN:</span><span +class="larm-0800"> [X]</span></div> +<br /> <div class="caption" +><span class="id">Слика 7: </span><span +class="content">Мени Ñа опцијама (Unix)</span></div><!--tex4ht:label?: x1-28025r7 --> + + +<!--l. 993--><p class="noindent" ></div><hr class="endfigure"> +<!--l. 995--><p class="indent" > Слика <a +href="#x1-28025r7">7<!--tex4ht:ref: fig:options-text --></a> приказује мени Ñа опцијама у текÑтуалном режиму рада. Следи више +информација о Ñвакој од њих: + <dl class="description"><dt class="description"> +узети Letter као подразумевану величину папира умеÑто A4 </dt><dd +class="description">(use letter size instead of A4 by + default): Избор подразумеване величине папира. Ðаравно, можете да употребите било + коју величину папира ако Ñе за тим укаже потреба у неком поÑебном документу. + </dd><dt class="description"> +извршавање ограничене лиÑте програма </dt><dd +class="description">(execution of restricted list of programs): Почев + од <span class="TEX">T<span +class="E">E</span>X</span> Live 2010, покретање једног броја Ñпољних + програма дозвољено је у Ñтандардној инÑталацији. + ЛиÑта дозвољених програма (која је веома кратка) дата + је у <span class="path">texmf.cnf</span>. Више детаља можете наћи у ÑпиÑку новитета за + <span class="TEX">T<span +class="E">E</span>X</span> Live 2010 (одељак <a +href="#x1-790009.1.7">9.1.7<!--tex4ht:ref: sec:2010news --></a>). + </dd><dt class="description"> +направи фајлове Ñа форматима </dt><dd +class="description">(create format files): + Иако фајлови Ñа форматима које не кориÑтите заузимају меÑто + на диÑку и одузимају време да Ñе направе, препоручује Ñе да оÑтавите + ову опцију укључену: ако то не урадите, формати ће по потреби + бити прављени у личним директоријумима кориÑника (дрво <span class="path">TEXMFVAR</span>). + Ðа том меÑту неће бити аутоматÑки оÑвежени ако Ñе, рецимо, појави нова + верзија програма или правила за прелом текÑта, па кориÑник лако може да има + проблем Ñа некомпатибилним форматима. + </dd><dt class="description"> +инÑталирај изворни кôд и документацију фонтова и макроа </dt><dd +class="description"> + (install font/macro doc/source tree): Ове опције Вам омогућавају + да изоÑтавите + преузимање Ñа Интернета или инÑталацију документације и + изворног кôда који поÑтоје за већину пакета. + ИÑкључивање ове опције Ñе не препоручује. + </dd><dt class="description"> +направи Ñимболичке линкове у ÑиÑтемÑким директоријумима </dt><dd +class="description"> + (create symlinks in standard directories): Ова опција (Ñамо на Unix-у) Ñлужи + да избегнете подешавање променљивих из радног окружења + (environment variables). Без ове опције, директоријуми <span class="TEX">T<span +class="E">E</span>X</span> Live-а + обично морају да Ñе додају у <span class="path">PATH</span>, <span class="path">MANPATH</span> и <span class="path">INFOPATH</span>. + Биће Вам потребно и овлашћење за упиÑивање у + те ÑиÑтемÑке директоријуме. Изричито Ñаветујемо да употребом ове + опције <span class="emph">не дирате</span> инÑталацију <span class="TEX">T<span +class="E">E</span>X</span>-а + која је део Вашег ÑиÑтема. Она је намењена пре Ñвега + да би Ñе <span class="TEX">T<span +class="E">E</span>X</span> Live ÑиÑтему приÑтупало кроз директоријуме који Ñу + већ познати кориÑнику, као што је <span class="path">/usr/local/bin</span> али Ñамо ако они пре + тога ниÑу Ñадржавали никакве фајлове везане за <span class="TEX">T<span +class="E">E</span>X</span>. + </dd><dt class="description"> +поÑле инÑталације обнављати пакете преко CTAN-а </dt><dd +class="description">(after installation, get + package updates from CTAN): Када инÑталирате Ñа DVD-ја, ова опција Ñе + подразумева зато што већина кориÑника жели да преузме Ñве нове верзије + пакета Ñа CTAN-а које Ñе појаве током године. Једини разумни + разлог да иÑкључите ову опцију појављује Ñе + у Ñлучају када Ñа DVD-ја инÑталирате Ñамо део ÑиÑтема и планирате + да га каÑније проширите. У Ñваком Ñлучају, репозиторијум + Ð¿Ð°ÐºÐµÑ‚Ä ÐºÐ¾Ñ˜Ð¸ Ñе кориÑти за инÑталацију и за будуће + оÑвежавање ÑиÑтема може да Ñе подеÑи и каÑније; погледајте + одељке <a +href="#x1-300003.3.1">3.3.1<!--tex4ht:ref: sec:location --></a> и <a +href="#x1-340003.4.3">3.4.3<!--tex4ht:ref: sec:dvd-install-net-updates --></a>.</dd></dl> +<!--l. 1053--><p class="indent" > Када Ñу Ñви параметри подешени према Вашој жељи, можете да притиÑнете „<span class="obeylines-h"><span class="verb">I</span></span>“ +како биÑте започели поÑтупак инÑталације. Када Ñе Ñве заврши, пређите на + + +одељак <a +href="#x1-310003.4">3.4<!--tex4ht:ref: sec:postinstall --></a> и прочитајте шта поÑле тога има да Ñе уради, ако уопште нешто буде +потребно. + <h4 class="subsectionHead"><span class="titlemark">3.3 </span> <a + id="x1-290003.3"></a>Параметри програма install-tl на командној линији</h4> +<!--l. 1062--><p class="noindent" >Откуцајте <div class="alltt"> +<!--l. 1063--><p class="noindent" ><div class="obeylines-v"> > <span class="command">install-tl -help</span> +</div> +</div> како биÑте добили ÑпиÑак Ñвих параметара које можете да употребите на командној +линији. Можете да кориÑтите и <span class="obeylines-h"><span class="verb">-</span></span> и <span class="obeylines-h"><span class="verb">--</span></span> иÑпред назива параметра. Ово је ÑпиÑак +могућноÑти које Ñе најчешће употребљавају: +<!--l. 1069--><p class="noindent" > + <dl class="list1"><dt class="list"> + -gui </dt><dd +class="list"> + <!--l. 1070--><p class="noindent" >Ðко је могуће биће употребљена графичка (GUI) + верзија инÑталационог програма. За ово је потребан Perl/Tk модул + (<a +href="http://tug.org/texlive/distro.html#perltk" class="url" >http://tug.org/texlive/distro.html#perltk</a>) компајлиран Ñа подршком за XFT; ако + Perl/Tk није доÑтупан, инÑталација Ñе наÑтавља у текÑтуалном + режиму. + </dd><dt class="list"> + -no-gui </dt><dd +class="list"> + <!--l. 1076--><p class="noindent" >Изричито захтевање употребе текÑтуалног режима рада, чак и на Windows-у. + </dd><dt class="list"> + -lang <span class="emph">LL</span> </dt><dd +class="list"> + <!--l. 1079--><p class="noindent" >Задавање језика инÑталационог програма према Ñтандардном двоÑловном + коду <span class="emph">LL</span>. ИнÑталациони програм ће покушати + да уÑтанови који Ñе језик кориÑти на ÑиÑтему; ако не уÑпе + или ако језик није доÑтупан, пребациће Ñе на енглеÑки. + Команда <span class="path">install-tl --help</span> ће приказати лиÑту раÑположивих језика. + ИнÑталациони програм је преведен на ÑрпÑки; покрените га помоћу + <span class="path">install-tl -gui -lang sr</span>. + <!--l. 1087--><p class="noindent" ><a id="opt-in-place"></a> + </dd><dt class="list"> + -in-place </dt><dd +class="list"> + <!--l. 1088--><p class="noindent" >Ðко већ имате копију <span class="TEX">T<span +class="E">E</span>X</span> Live-а направљену + помоћу rsync, svn или друге копије Ñамог <span class="TEX">T<span +class="E">E</span>X</span> Live-а (погледајте + <a +href="http://tug.org/texlive/acquire-mirror.html" class="url" >http://tug.org/texlive/acquire-mirror.html</a>), онда Ñе овим параметром задаје да + Ñе употреби то што имате, такво какво је; биће обављене + Ñамо неопходне поÑÑ‚-инÑталационе радње. Будите пажљиви зато што + фајл <span class="path">tlpkg/texlive.tlpdb</span> може бити пребриÑан новом верзијом; на Вама + је да га Ñачувате. Такође, уклањање Ð¿Ð°ÐºÐµÑ‚Ä Ð¼Ð¾Ñ€Ð° + да Ñе уради ручно. Ðе треба да кориÑтите овај параметар ако не знате тачно + шта радите. Овај параметар не може да Ñе укључи преко графичког + интерфејÑа инÑталера. + </dd><dt class="list"> + -portable </dt><dd +class="list"> + <!--l. 1099--><p class="noindent" >Припрема преноÑиве инÑталације на USB-диÑку. Овај параметар Ñе може + изабрати и у текÑтуалном режиму инÑталера (помоћу команде <span class="path">V</span>), као и у + графичком режиму. Погледајте одељак <a +href="#x1-430004.2">4.2<!--tex4ht:ref: sec:portable-tl --></a>. + </dd><dt class="list"> + -profile <span class="emph">file</span> </dt><dd +class="list"> + + + <!--l. 1104--><p class="noindent" >Учитава инÑталациони профил <span class="emph">file</span> и обавља + инÑталацију без интеракције Ñа кориÑником. ИнÑталациони програм увек + запиÑује фајл <span class="path">texlive.profile</span> у <span class="path">tlpkg</span>, поддиректоријум Ваше + инÑталације. Помоћу ове опције поменути фајл Ñе може + употребити да Ñе, на пример, идентична инÑталација понови да неком другом + ÑиÑтему. ОÑим тога, можете да лако припремите ÑопÑтвени профил тако што промените + вредноÑти у профилу који је аутоматÑки направљен (проÑтом + изменом вредноÑти у текÑÑ‚ едитору) или да подеÑите да профил буде празан фајл + (у ком Ñлучају ће инÑталациони програм без питања инÑталирати + <span class="TEX">T<span +class="E">E</span>X</span> Live Ñа подразумеваним параметрима). + <!--l. 1116--><p class="noindent" >Ова опција задаје програму да изнова употреби такав фајл тако + да, након прве инÑталације, можете да инÑталирате <span class="TEX">T<span +class="E">E</span>X</span> Live на више ÑиÑтема + или компјутера у режиму без поÑтављања питања + (batch mode), понављајући Ñве опције које Ñте + првобитно изабрали. + </dd><dt class="list"> + -repository <span class="emph">url-or-directory</span> </dt><dd +class="list"> + <!--l. 1121--><p class="noindent" >Одређује репозиторијум из кога ће Ñе инÑталирати + пакети; погледајте Ñледећи одељак.</dd></dl> +<!--l. 1126--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.3.1 </span> <a + id="x1-300003.3.1"></a>Параметар -repository</h5> +<!--l. 1129--><p class="noindent" >Подразумевани репозиторијум пакета је један од Ñајтова-копија +(mirror) CTAN-a који Ñе аутоматÑки одређује преко <a +href="http://mirror.ctan.org" class="url" >http://mirror.ctan.org</a>. +<!--l. 1133--><p class="indent" > Ðко не желите да кориÑтите овај ÑиÑтем, вредноÑÑ‚ локације може да буде +путања (URL) која почиње Ñа <span class="texttt">ftp:</span>, +<span class="texttt">http:</span> или <span class="texttt">file:/</span>, или пак да буде +обична путања до локалног директоријума. (Када задајете <span +class="texttt">http:</span> или <span class="texttt">ftp:</span>, завршни знак „<span +class="texttt">/</span>“ и/или завршни текÑÑ‚ „<span class="texttt">/tlpkg</span>“ Ñе +игноришу.) +<!--l. 1140--><p class="indent" > Ðа пример, можете да изаберете неки поÑебан CTAN mirror отприлике овако: +<a +href="http://ctan.example.org/tex-archive/systems/texlive/tlnet/" class="url" >http://ctan.example.org/tex-archive/systems/texlive/tlnet/</a>, Ñтављајући право +име Ñервера (hostname) и његову Ñпецифичну путању до CTAN-Ñадржаја +умеÑто <span class="obeylines-h"><span class="verb">ctan.example.org/tex-archive</span></span>. Увек Ñвежа лиÑта ÑÐµÑ€Ð²ÐµÑ€Ä ÐºÐ¾Ñ˜Ð¸ држе Ñвеже +копије Ñадржаја CTAN-а налази Ñе на <a +href="http://ctan.org/mirrors" class="url" >http://ctan.org/mirrors</a>. +<!--l. 1148--><p class="indent" > Ðко је задата вредноÑÑ‚ локална (путања или URL који почиње Ñа +<span class="texttt">file:/</span>), употребиће Ñе Ñпаковани фајлови из +поддиректоријума <span class="path">archive</span> у репозиторијуму (чак и у Ñлучају да Ñу +раÑпаковани фајлови доÑтупни упоредо Ñа њима). +<!--l. 1154--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">3.4 </span> <a + id="x1-310003.4"></a>ПоÑтинÑталациони задаци</h4> +<!--l. 1157--><p class="noindent" >Може Ñе деÑити да је потребно урадити нешто и поÑле инÑталације. +<!--l. 1160--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.1 </span> <a + id="x1-320003.4.1"></a>СиÑтемÑке променљиве на Unix-у</h5> +<!--l. 1163--><p class="noindent" >Ðко Ñте изабрали да Ñе направе Ñимболички линкови у Ñтандардним директоријумима (као што је +објашњено у одељку <a +href="#x1-280003.2.4">3.2.4<!--tex4ht:ref: sec:options --></a>), онда нема потребе да Ñе преправљају ÑиÑтемÑке +променљиве.<span class="footnote-mark"><a +href="#fn3x0" id="fn3x0-bk"><sup class="textsuperscript">3</sup></a></span><a + id="x1-32001f3"></a> +У Ñупротном Ñе на Unix ÑиÑтемима директоријум Ñа програмима за Ваш оперативни +ÑиÑтем мора додати у путању за претрагу. (Ðа Windows-у о овоме инÑталер Ñам води +рачуна.) + + +<!--l. 1176--><p class="indent" > Сваки подржани оперативни ÑиÑтем има Ñвој поддиректоријум унутар <span class="path">TEXDIR/bin</span>. +Ðа Ñлици <a +href="#x1-25043r4">4<!--tex4ht:ref: fig:bin-text --></a> можете да видите ÑпиÑак поддиректоријума и одговарајућих +платформи. +<!--l. 1180--><p class="indent" > По избору можете да додате и директоријуме Ñа man-Ñтраницама и Info-документацијом +у одговарајуће путање за претрагу, уколико желите да ÑиÑтемÑке алатке +могу да их уоче. Може Ñе деÑити да man-Ñтранице поÑтану аутоматÑки доÑтупне и поÑле +проширивања ÑпиÑка путања из ÑиÑтемÑке променљиве <span class="path">PATH</span>. +<!--l. 1186--><p class="indent" > Ðко кориÑтите шкољку (shell) компатибилну Ñа Bourne као што је bash и Intel x86 +GNU/Linux и ако Ñте задржали подразумевани раÑпоред директоријума као у нашем примеру, +фајл који треба да уредите требало би да буде <span class="path">$HOME/.profile</span> (или неки други +фајл који Ñе позива из <span class="path">.profile</span>), а линије које треба додати +изгледале би овако: +<!--l. 1193--><p class="indent" > + <div class="fancyvrb" id="fancyvrb5"><a + id="x1-32003r1"></a><span +class="larm-0900"> </span><span +class="larm-0900"> PATH=/usr/local/texlive/2012/bin/i386-linux:$PATH;</span><span +class="larm-0900"> export</span><span +class="larm-0900"> PATH</span> +<br class="fancyvrb" /><a + id="x1-32005r2"></a><span +class="larm-0900"> </span><span +class="larm-0900"> MANPATH=/usr/local/texlive/2012/texmf/doc/man:$MANPATH;</span><span +class="larm-0900"> export</span><span +class="larm-0900"> MANPATH</span> +<br class="fancyvrb" /><a + id="x1-32007r3"></a><span +class="larm-0900"> </span><span +class="larm-0900"> INFOPATH=/usr/local/texlive/2012/texmf/doc/info:$INFOPATH;</span><span +class="larm-0900"> export</span><span +class="larm-0900"> INFOPATH</span></div> +<!--l. 1199--><p class="indent" > Ðко кориÑтите шкољку csh или tcsh, фајл који треба уредити +обично је <span class="path">$HOME/.cshrc</span>, а линије које треба додати изгледале би +овако: +<!--l. 1203--><p class="indent" > + <div class="fancyvrb" id="fancyvrb6"><a + id="x1-32009r1"></a><span +class="larm-0900"> </span><span +class="larm-0900"> setenv</span><span +class="larm-0900"> PATH</span><span +class="larm-0900"> /usr/local/texlive/2012/bin/i386-linux:$PATH</span><br class="fancyvrb" /><a + id="x1-32011r2"></a><span +class="larm-0900"> </span><span +class="larm-0900"> setenv</span><span +class="larm-0900"> MANPATH</span><span +class="larm-0900"> /usr/local/texlive/2012/texmf/doc/man:$MANPATH</span> +<br class="fancyvrb" /><a + id="x1-32013r3"></a><span +class="larm-0900"> </span><span +class="larm-0900"> setenv</span><span +class="larm-0900"> INFOPATH</span><span +class="larm-0900"> /usr/local/texlive/2012/texmf/doc/info:$INFOPATH</span></div> +<!--l. 1209--><p class="indent" > Ðко у Ñвојим конфигурационим фајловима („који почињу Ñа +тачком“) већ имате нека подешавања ове врÑте, онда би наравно требало +да уклопите <span class="TEX">T<span +class="E">E</span>X</span> Live директоријуме у већ поÑтојеће +вредноÑти. +<!--l. 1214--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.2 </span> <a + id="x1-330003.4.2"></a>СиÑтемÑке променљиве: глобална подешавања</h5> +<!--l. 1217--><p class="noindent" >Ðко желите да промене опиÑане у претходном одељку важе глобално и за Ñваког новог +кориÑника на ÑиÑтему, онда Ñте препуштени Ñами Ñеби; напроÑто поÑтоји превише +варијација од ÑиÑтема до ÑиÑтема у погледу тога како и где Ñе ове Ñтвари +подешавају. +<!--l. 1222--><p class="indent" > Можемо Вам дати два Ñавета: (1) пробајте да потражите фајл <span class="path">/etc/manpath.config</span> +и да, ако поÑтоји, додате линије као што Ñу ове: +<!--l. 1226--><p class="indent" > + <div class="fancyvrb" id="fancyvrb7"><a + id="x1-33002r1"></a><span +class="larm-0900"> </span><span +class="larm-0900"> MANPATH_MAP</span><span +class="larm-0900"> /usr/local/texlive/2012/bin/i386-linux</span><span +class="larm-0900"> \</span><br class="fancyvrb" /><a + id="x1-33004r2"></a><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> /usr/local/texlive/2012/texmf/doc/man</span></div> +<!--l. 1231--><p class="indent" > Или, (2) потрáжите фајл <span class="path">/etc/environment</span>; у њему би могле бити +дефиниÑане путање за претрагу и друге подразумеване ÑиÑтемÑке променљиве. +<!--l. 1235--><p class="indent" > ОÑим тога, у Ñвим директоријумима Ñа програмима на Unix ÑиÑтемима прави Ñе Ñимболички +линк <span class="path">man</span> који показује према <span class="path">texmf/doc/man</span>. Ðеке варијанте програма +<span class="path">man</span>, као што је Ñтандардни <span class="path">man</span> на Mac OS X-у, аутоматÑки ће Ñе Ñнаћи Ñа +новом путањом; на тај начин ћете избећи потребу да било шта +подешавате на путањама за претрагу. +<!--l. 1243--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.3 </span> <a + id="x1-340003.4.3"></a>Ðадоградње преко Интернета поÑле инÑталације Ñа DVD-ја</h5> +<!--l. 1246--><p class="noindent" >Ðко Ñте инÑталирали <span class="TEX">T<span +class="E">E</span>X</span> Live Ñа DVD-ја и желите да поÑле тога преузимате надоградње +Ñа Интернета, потребно је да покренете ову команду — али <span class="emph">тек пошто +Ñте</span> проширили Ñвоју питању за претрагу (као што је опиÑано у +претходном одељку): + <div class="alltt"> + + +<!--l. 1251--><p class="noindent" ><div class="obeylines-v"> > <span +class="command">tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet</span> +</div> +</div> +<!--l. 1254--><p class="indent" > Ова команда говори програму tlmgr да употреби оближњу Ñајт-копију +(mirror) CTAN-а за будуће надоградње. Ðадоградње ће Ñе овим путем +аутоматÑки обављати ако Ñте инÑталирали <span class="TEX">T<span +class="E">E</span>X</span> Live Ñа DVD-ја, према опцији +опиÑаној у одељку <a +href="#x1-280003.2.4">3.2.4<!--tex4ht:ref: sec:options --></a>. +<!--l. 1260--><p class="indent" > У Ñлучају проблема Ñа аутоматÑким избором најближег Ñајта, можете да +назначите неку поÑебну копију (mirror) CTAN-а Ñа ÑпиÑка доÑтупног на <a +href="http://ctan.org/mirrors" class="url" >http://ctan.org/mirrors</a>. +КориÑтите тачну путању до поддиректоријума <span class="path">tlnet</span> на том Ñајту, као што +је урађено у нашем примеру. +<!--l. 1267--><p class="indent" > <a id="xetexfontconfig"></a> <a id="sysfontconfig"></a> + <h5 class="subsubsectionHead"><span class="titlemark">3.4.4 </span> <a + id="x1-350003.4.4"></a>Подешавање ÑиÑтемÑких фонтова за Xe<span class="TEX">T<span +class="E">E</span>X</span> и Lua<span class="TEX">T<span +class="E">E</span>X</span></h5> +<!--l. 1272--><p class="noindent" >Xe<span class="TEX">T<span +class="E">E</span>X</span> и Lua<span class="TEX">T<span +class="E">E</span>X</span> могу да кориÑте не Ñамо фонтове који Ñу укључени у <span class="TEX">T<span +class="E">E</span>X</span> Live, +него и било који фонт инÑталиран на Вашем ÑиÑтему. Они то раде на Ñличан, али не идентичан +начин. +<!--l. 1276--><p class="indent" > Ðа Windows-у Ñу фонтови укључени у <span class="TEX">T<span +class="E">E</span>X</span> Live аутоматÑки доÑтупни Xe<span class="TEX">T<span +class="E">E</span>X</span>-у. +Ðли, ако Ñте инÑталирали пакет <span class="path">xetex</span> на оперативном ÑиÑтему компатибилним Ñа Unix-ом, +морате да подеÑите ÑиÑтем тако да може да пронађе фонтове из <span class="TEX">T<span +class="E">E</span>X</span> Live-а према +Ñтварном називу фонта, а не проÑто према именима фајлова од којих Ñе фонт +ÑаÑтоји. +<!--l. 1282--><p class="indent" > Како биÑмо олакшали овај задатак, када Ñе инÑталира пакет <span class="path">xetex</span> (у +иницијалној поÑтавци или накнадно) прави Ñе и одговарајући +конфигурациони фајл <span class="path">TEXMFSYSVAR/fonts/conf/texlive-fontconfig.conf</span>. +<!--l. 1287--><p class="indent" > Како биÑте начинили фонтове из <span class="TEX">T<span +class="E">E</span>X</span> Live-а видљивим за цео ÑиÑтем, +подразумевајући да имате одговарајућа овлашћења +на ÑиÑтему, урадите Ñледеће: + <ol class="enumerate1" > + <li + class="enumerate" id="x1-35002x1">прекопирајте фајл <span class="path">texlive-fontconfig.conf</span> у <span class="path">/etc/fonts/conf.d/09-texlive. + conf</span>; + </li> + <li + class="enumerate" id="x1-35004x2">покрените <span class="command">fc-cache -fsv</span>.</li></ol> +<!--l. 1296--><p class="indent" > Ðко немате овлашћења да ово урадите или ако Вам је довољно да +фонтови из <span class="TEX">T<span +class="E">E</span>X</span> Live-а буду видљиви Ñамо једном кориÑнику, можете да урадите +Ñледеће: + <ol class="enumerate1" > + <li + class="enumerate" id="x1-35006x1">прекопирајте <span class="path">texlive-fontconfig.conf</span> у <span class="path">~/.fonts.conf</span>, где <span class="path">~</span> предÑтавља Ваш + лични директоријум; + </li> + <li + class="enumerate" id="x1-35008x2">покрените <span class="command">fc-cache -fv</span>.</li></ol> +<!--l. 1306--><p class="indent" > Команда <span class="path">fc-list</span> ће излиÑтати називе Ñвих фонтова раÑположивих на Вашем ÑиÑтему. Ðко +је позовете помоћу <span class="path">fc-list : family style file spacing</span> (унеÑите аргументе баш у +том облику), биће приказане информације које ће Вам +највероватније бити веома кориÑне за рад. +<!--l. 1313--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.5 </span> <a + id="x1-360003.4.5"></a>Con<span class="TEX">T<span +class="E">E</span>X</span>t Mark IV</h5> +<!--l. 1316--><p class="noindent" >И „Ñтари“ Con<span class="TEX">T<span +class="E">E</span>X</span>t (Mark II) и „нови“ Con<span class="TEX">T<span +class="E">E</span>X</span>t (Mark IV) требало би да раде без икаквих +интервенција након инÑталације <span class="TEX">T<span +class="E">E</span>X</span> Live-а; тако би требало и да оÑтане ако за +надоградње будете кориÑтили Ñамо <span class="obeylines-h"><span class="verb">tlmgr</span></span>. + + +<!--l. 1321--><p class="indent" > Ипак, пошто Con<span class="TEX">T<span +class="E">E</span>X</span>t MkIV не кориÑти библиотеку Kpathsea, неопходне Ñу неке ручне +интервенције кад год ручно инÑталирате нове фајлове (без <span class="obeylines-h"><span class="verb">tlmgr</span></span>). ПоÑле Ñваке такве +инÑталације кориÑник мора да покрене команду + <div class="fancyvrb" id="fancyvrb8"><a + id="x1-36002r1"></a><span +class="larm-0900"> </span><span +class="larm-0900"> luatools</span><span +class="larm-0900"> --generate</span></div> +<!--l. 1328--><p class="noindent" >како би оÑвежио кеширане радне податке које Con<span class="TEX">T<span +class="E">E</span>X</span>t чува на диÑку. Ðаправљени +фајлови Ñе Ñмештају у <span class="path">TEXMFCACHE</span>; подразумевана вредноÑÑ‚ ове променљиве +у <span class="TEX">T<span +class="E">E</span>X</span> Live-у је <span class="obeylines-h"><span class="verb">TEXMSYSVAR;TEXMFVAR</span></span>. +<!--l. 1332--><p class="indent" > Con<span class="TEX">T<span +class="E">E</span>X</span>t MkIV ће читати из Ñвих путања поменутих у <span class="obeylines-h"><span class="verb">TEXMFCACHE</span></span>, а податке +ће Ñмештати у прву путању у коју Ñе може упиÑивати. Приликом +читања, поÑледње уÑтановљено поклапање ће имати предноÑÑ‚ +у Ñлучају дуплираних кешираних података. +<!--l. 1337--><p class="indent" > Више информација можете наћи на <a +href="http://wiki.contextgarden.net/Running_Mark_IV" class="url" >http://wiki.contextgarden.net/Running_Mark_IV</a>. +<!--l. 1341--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.6 </span> <a + id="x1-370003.4.6"></a>Укључивање локалних и личних макроа</h5> +<!--l. 1344--><p class="noindent" >Ова тема је имплицтно већ начета у одељку <a +href="#x1-110002.3">2.3<!--tex4ht:ref: sec:texmftrees --></a>: <span class="path">TEXMFLOCAL</span> +(чија је подразумевана вредноÑÑ‚ <span class="path">/usr/local/texlive/texmf-local</span> или +<span class="obeylines-h"><span class="verb">%SystemDrive%\texlive\texmf-local</span></span> на Windows-у) јеÑте меÑто предвиђено за локалне +фонтове и макрое који Ñе употребљавају на целом ÑиÑтему, док +је <span class="path">TEXMFHOME</span> (чија је подразумевана вредноÑÑ‚ <span class="path">$HOME/texmf</span> +или <span class="obeylines-h"><span class="verb">%USERPROFILE%\texmf</span></span>) намењен за кориÑникове личне фонтове и макрое. +Предвиђено је да Ñе ови директоријуми не мењају од +издања до издања и да нове верзије <span class="TEX">T<span +class="E">E</span>X</span> Live-а аутоматÑки узимају +у обзир њихов Ñадржај. Стога је најбоље да Ñе +Ñуздржите од подешавања вредноÑти променљиве <span class="path">TEXMFLOCAL</span> на нешто +што је превише удаљено од главног директоријума <span class="TEX">T<span +class="E">E</span>X</span> Live-а, +иначе ћете морати ручно да мењате ту вредноÑÑ‚ за Ñвако будуће +издање. +<!--l. 1358--><p class="indent" > У оба ова директоријума фајлови треба да буду раÑпоређени у +одговарајуће поддиректоријуме у Ñкладу Ñа <span class="emph">Ñтруктуром +<span class="TEX">T<span +class="E">E</span>X</span> директоријума</span> (TDS) — погледајте <a +href="http://tug.org/tds" class="url" >http://tug.org/tds</a> или +прегледајте фајл <span class="path">texmf/web2c/texmf.cnf</span>. Ðа пример, једна <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> клаÑа или +пакет треба да Ñе Ñтаве у <span class="path">TEXMFLOCAL/tex/latex</span> или у <span class="path">TEXMFHOME/tex/latex</span>, или у неки +поддиректоријум поменутих директоријума. +<!--l. 1366--><p class="indent" > ФункционалноÑÑ‚ директоријума <span class="path">TEXMFLOCAL</span> завиÑи од тога да ли је база +података Ñа именима фајлова увек Ñвежа; у Ñупротном фајлови неће +моћи да Ñе пронађу. Базу можете оÑвежити командом mktexlsr или употребом дугмета +„Поново поÑтави базу података Ñа фајловима“ („Reinit file database“) — наћи +ћете га у језичку за конфигурацију програма <span class="TEX">T<span +class="E">E</span>X</span> Live Manager (tlmgr) када +он ради у графичком (GUI) режиму. +<!--l. 1374--><p class="indent" > Подразумевана вредноÑÑ‚ Ñваке ове променљиве једнака je једном поÑебном +директоријуму, као што је Ð¼Ð°Ð»Ð¾Ñ‡Ð°Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ð¾. Ово правило није Ñтриктно. Ðа +пример, ако Вам је потребно да Ñе лако пребацујете навише и наниже кроз разне +верзије великих пакета, можете да одржавате више директоријума (дрвета) за Ваше +ÑопÑтвене потребе. То Ñе ради тако што Ñе <span class="path">TEXMFHOME</span> подеÑи као ÑпиÑак директоријума +одвојених зарезима, унутар заграда: + + + <div class="verbatim" id="verbatim-1"> + <div class="fancyvrb" id="fancyvrb9"><a + id="x1-37002r1"></a> TEXMFHOME = {/мој/дир1,/мојдир2,/неки/трећи/дир}</div> +</div> +<!--l. 1384--><p class="nopar" > +<!--l. 1386--><p class="indent" > Одељак <a +href="#x1-610007.1.5">7.1.5<!--tex4ht:ref: sec:brace-expansion --></a> Ñе детаљно бави прерачунавањем заграда. +<!--l. 1390--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">3.4.7 </span> <a + id="x1-380003.4.7"></a>Укључивање Ñпољних фонтова</h5> +<!--l. 1392--><p class="noindent" >ÐажалоÑÑ‚, ово је веома компликован задатак. Ðемојте ни да размишљате о +овоме уколико ниÑте вољни да Ñе удубите у најÑитније детаље +инÑталације <span class="TEX">T<span +class="E">E</span>X</span>-а. Ðе заборавите да прво прегледате шта Вам Ñтоји на +раÑполагању за Ñлободну употребу: погледајте одељак <a +href="#x1-140002.6">2.6<!--tex4ht:ref: sec:tl-fonts --></a>. +<!--l. 1398--><p class="indent" > Једна од Ð°Ð»Ñ‚ÐµÑ€Ð½Ð°Ñ‚Ð¸Ð²Ä ÐºÐ¾Ñ˜Ðµ Вам Ñтоје на раÑполагању +јеÑте да кориÑтите Xe<span class="TEX">T<span +class="E">E</span>X</span> или Lua<span class="TEX">T<span +class="E">E</span>X</span> (погледајте одељак <a +href="#x1-120002.4">2.4<!--tex4ht:ref: sec:tex-extensions --></a>); ови +програми Вам омогућавају да кориÑтите фонтове из оперативног ÑиÑтема без икакве +инÑталације унутар <span class="TEX">T<span +class="E">E</span>X</span>-а. +<!--l. 1404--><p class="indent" > Ðко ипак морате да Ñе упуÑтите у ову Ñложену материју, погледајте +<a +href="http://tug.org/fonts/fontinstall.html" class="url" >http://tug.org/fonts/fontinstall.html</a>: на тој Ñтрани Ñмо најбоље што Ñмо +могли покушали да опишемо неопходну процедуру. Ðко Ñтрого одржавате Ñвоје +локалне мапе фонтова, онда команда <span class="texttt">tlmgr generate updmap</span> +<span class="emph">може</span> бити кориÑна, нарочито када Ñе пребацујете Ñа +једног издања на друго; погледајте документацију програма +tlmgr. +<!--l. 1413--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">3.5 </span> <a + id="x1-390003.5"></a>ТеÑтирање инÑталације</h4> +<!--l. 1416--><p class="noindent" >Ðакон што Ñте инÑталирали <span class="TEX">T<span +class="E">E</span>X</span> Live, природно је да ћете желети да га иÑпробате +како биÑте могли да почнете Ñа израдом дивних докумената и/или фонтова. +<!--l. 1420--><p class="indent" > Овај одељак опиÑује неке оÑновне поÑтупке за проверу функционалноÑти +новог ÑиÑтема. Овде ћемо дати команде за Unix-е; ако кориÑтите Mac OS X или Windows, +вероватно ћете Ñве ове команде покретати покренути кроз графички интерфејÑ, мада +принцип оÑтаје иÑти. +<!--l. 1425--><p class="indent" > + <ol class="enumerate1" > + <li + class="enumerate" id="x1-39002x1">Ðајпре проверите да ли можете да покренете Ñам програм tex: <div class="alltt"> + <!--l. 1429--><p class="noindent" ><div class="obeylines-v"> > <span class="command">tex --version</span> + <br />TeX 3.1415926 (TeX Live ...) + <br />kpathsea version 6.0.1 + <br />Copyright ... D.E. Knuth. + <br />... +</div> + </div> Ðко овде добијете поруку „command not found“ („команда Ñе не може пронаћи“) + умеÑто података о верзији <span class="TEX">T<span +class="E">E</span>X</span>-а и ауторÑким правима, или ако је + верзија коју видите Ñтарија, то највероватније значи + да немате иÑправан поддиректоријум <span class="path">bin</span> као елемент у ÑиÑтемÑкој + променљиви <span class="path">PATH</span>. Погледајте како Ñе подешавају ÑиÑтемÑке + променљиве на ÑÑ‚Ñ€. <a +href="#x1-320003.4.1">40<!--tex4ht:ref: sec:env --></a>. + </li> + <li + class="enumerate" id="x1-39004x2">Покушајте да обрадите оÑновни <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> фајл: <div class="alltt"> + + + <!--l. 1443--><p class="noindent" ><div class="obeylines-v"> > <span class="command">latex sample2e.tex</span> + <br />pdfTeX 3.1415926-... (TeX Live ...) + <br />... + <br />Output written on sample2e.dvi (3 pages, 7484 bytes). + <br />Transcript written on sample2e.log. +</div> + </div> Ðко <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> не уÑпе да пронађе <span class="path">sample2e.tex</span> или неки други фајл, + највероватније је у питању нека збрка Ñтарих и нових + ÑиÑтемÑких променљивих или конфигурационих фајлова; у таквим + Ñлучајевима Ñе препоручује да, за почетак, обришете вредноÑти Ñвих ÑиÑтемÑких + променљивих које имају везе Ñа <span class="TEX">T<span +class="E">E</span>X</span>-ом. (Ðко Вам треба + дубља анализа, може Ñе од Ñамог <span class="TEX">T<span +class="E">E</span>X</span> програма тражити да извеÑти које + путање употребљава за претрагу и шта притом уÑпева да пронађе; + погледајте одељак „ПоÑтупци за отклањање грешака“ + [debugging] на ÑÑ‚Ñ€. <a +href="#x1-680007.2.4">74<!--tex4ht:ref: sec:debugging --></a>.) + </li> + <li + class="enumerate" id="x1-39006x3">Затим прегледајте како изгледа документ који Ñте добили овом обрадом: + <div class="alltt"> + <!--l. 1461--><p class="noindent" ><div class="obeylines-v"> > <span class="command">xdvi sample2e.dvi</span> # Unix + <br />> <span class="command">dviout sample2e.dvi</span> # Windows +</div> + </div> Требало би да Ñе појави нови прозор Ñа лепим документом који + објашњава неке оÑновне Ñтвари о <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>-у. (Узгред, тај текÑÑ‚ + је врло кориÑно прочитати ако Ñте почетник.) Како би програм xdvi радио, + морате имати покренут графички X Ñервер; ако X не ради или ако је ÑиÑтемÑка + променљива <span class="path">DISPLAY</span> неправилно подешена, добићете грешку „<span + class="samp">Can"t open display</span>“ („Ðије могуће отворити + диÑплеј“). + </li> + <li + class="enumerate" id="x1-39008x4">Ðаправите PostScript фајл за штампање или гледање на екрану: + <div class="alltt"> + <!--l. 1473--><p class="noindent" ><div class="obeylines-v"> > <span class="command">dvips sample2e.dvi -o sample2e.ps</span> +</div> + </div> + </li> + <li + class="enumerate" id="x1-39010x5">Ðаправите PDF умеÑто DVI фајла; ова команда ће обрадити <span class="path">.tex</span> фајл и + директно направити PDF: <div class="alltt"> + <!--l. 1478--><p class="noindent" ><div class="obeylines-v"> > <span class="command">pdflatex sample2e.tex</span> +</div> + </div> + </li> + <li + class="enumerate" id="x1-39012x6">Прегледајте добијени PDF фајл: <div class="alltt"> + <!--l. 1482--><p class="noindent" ><div class="obeylines-v"> > <span class="command">gv sample2e.pdf</span> + <br />или: + <br />> <span class="command">xpdf sample2e.pdf</span> + + +</div> + </div> Ðи gv ни xpdf ниÑу укључени у <span class="TEX">T<span +class="E">E</span>X</span> Live, тако да морате да их Ñами + одвојено инÑталирате. Погледајте <a +href="http://www.gnu.org/software/gv" class="url" >http://www.gnu.org/software/gv</a> и + <a +href="http://www.foolabs.com/xpdf" class="url" >http://www.foolabs.com/xpdf</a> ако Вам треба више информација о овим програмима. + Ðаравно, има још много других програма у којима можете отварати PDF + фајлове. Ðко кориÑтите Windows, препоручујемо да пробате Sumatra PDF + (<a +href="http://blog.kowalczyk.info/software/sumatrapdf" class="url" >http://blog.kowalczyk.info/software/sumatrapdf</a>). + </li> + <li + class="enumerate" id="x1-39014x7">Може бити кориÑно да пробате и друге теÑÑ‚-фајлове оÑим <span class="path">sample2e.tex</span>: + <!--l. 1498--><p class="noindent" > + <dl class="list2"><dt class="list"> + small2e.tex: </dt><dd +class="list"> + <!--l. 1499--><p class="noindent" >једноÑтавнији документ него <span class="path">sample2e</span>; Ñврха му је да + минимализује величину података који Ñе обрађују + ако Ñе појаве неки проблеми; + </dd><dt class="list"> + testpage.tex: </dt><dd +class="list"> + <!--l. 1502--><p class="noindent" >проверава понашање Вашег штампача (ивице, итд); + </dd><dt class="list"> + nfssfont.tex: </dt><dd +class="list"> + <!--l. 1503--><p class="noindent" >Ñлужи да одштампате табеле фонтова и одговарајуће теÑтове везане + за њих; + </dd><dt class="list"> + testfont.tex: </dt><dd +class="list"> + <!--l. 1505--><p class="noindent" >такође за табеле Ñа фонтовима, али кориÑти оÑновни <span class="TEX">T<span +class="E">E</span>X</span>; + </dd><dt class="list"> + story.tex: </dt><dd +class="list"> + <!--l. 1507--><p class="noindent" >најчиÑтији канонÑки теÑÑ‚-фајл за <span class="TEX">T<span +class="E">E</span>X</span> који Ñе + може направити; морате да откуцате „<span class="samp">\bye</span>“ када Ñе + појави упит Ñа звездицом (<span class="path">*</span>) након што покренете „<span class="samp">tex + story.tex</span>“.</dd></dl> + </li> + <li + class="enumerate" id="x1-39016x8">Ðко Ñте инÑталирали пакет <span class="path">xetex</span>, можете да иÑпробате да ли Ñу ÑиÑтемÑки фонтови + видљиви за Xe<span class="TEX">T<span +class="E">E</span>X</span> на овај начин: <div class="alltt"> + <!--l. 1514--><p class="noindent" ><div class="obeylines-v"> > <span class="command">xetex opentype-info.tex</span> + <br />This is XeTeX, Version 3.1415926... + <br />... + <br />Output written on opentype-info.pdf (1 page). + <br />Transcript written on opentype-info.log. +</div> + </div> (Идентичан поÑтупак Ñе може употребити и за <span class="path">luatex</span>.) + <!--l. 1522--><p class="noindent" >Ðко добијете поруку „Invalid fontname "Latin Modern Roman/ICU"…“ („ÐеиÑправно име + фонта "Latin Modern Roman/ICU"…“), онда морате да подеÑите ÑиÑтем тако да Xe<span class="TEX">T<span +class="E">E</span>X</span> може да + пронађе фонтове који Ñу укључени у <span class="TEX">T<span +class="E">E</span>X</span> Live. Погледајте + одељак <a +href="#x1-350003.4.4">3.4.4<!--tex4ht:ref: sec:font-conf-sys --></a>. + </li></ol> +<!--l. 1529--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">3.6 </span> <a + id="x1-400003.6"></a>Додатни Ñофтвер који Ñе може преузети Ñа Интернета</h4> +<!--l. 1531--><p class="noindent" >Ðко Ñте нови у <span class="TEX">T<span +class="E">E</span>X</span>-у, или Вам из било ког разлога треба помоћ око пиÑања +докумената у <span class="TEX">T<span +class="E">E</span>X</span>-у или <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>-у, молимо Ð’Ð°Ñ Ð´Ð° поÑетите <a +href="http://tug.org/begin.html" class="url" >http://tug.org/begin.html</a>: ту ћете +наћи неке текÑтове који Ñу веома добри као увод. + + +<!--l. 1536--><p class="indent" > Ово Ñу линкови ка Интернет-Ñтраницама Ñа још неким програмима који би могли +да Вам буду од кориÑти: + <dl class="description"><dt class="description"> +Ghostscript </dt><dd +class="description"><a +href="http://www.cs.wisc.edu/~ghost/" class="url" >http://www.cs.wisc.edu/~ghost/</a>; + </dd><dt class="description"> +Perl </dt><dd +class="description"><a +href="http://www.perl.org/" class="url" >http://www.perl.org/</a> Ñа додатним пакетима Ñа CPAN-а, <a +href="http://www.cpan.org/" class="url" >http://www.cpan.org/</a>. + </dd><dt class="description"> +ImageMagick </dt><dd +class="description"><a +href="http://www.imagemagick.com" class="url" >http://www.imagemagick.com</a>, за обраду Ñлика и пребацивање из + једног формата у други. + </dd><dt class="description"> +NetPBM </dt><dd +class="description"><a +href="http://netpbm.sourceforge.net/" class="url" >http://netpbm.sourceforge.net/</a>, такође за обраду Ñлика. + </dd><dt class="description"> +Едитори Ñпецијализовани за <span class="TEX">T<span +class="E">E</span>X</span> </dt><dd +class="description">Овде имате велики избор и Ñве завиÑи од Вашег укуÑа. Ево + Ñамо неколико, по абецедном реду (неки од побројаних програма раде Ñамо на + Windows-у): + <ul class="itemize1"> + <li class="itemize">GNU Emacs је доÑтупан и у изворном облику за Windows: погледајте + <a +href="http://www.gnu.org/software/emacs/windows/ntemacs.html" class="url" >http://www.gnu.org/software/emacs/windows/ntemacs.html</a>. + </li> + <li class="itemize">Emacs Ñа Auc<span class="TEX">T<span +class="E">E</span>X</span>-ом за Windows доÑтупан је преко CTAN-a. + Интернет-Ñтраница Auc<span class="TEX">T<span +class="E">E</span>X</span>-а је <a +href="http://www.gnu.org/software/auctex" class="url" >http://www.gnu.org/software/auctex</a>. + </li> + <li class="itemize">LEd Ñе може набавити на <a +href="http://mirror.ctan.org/support/LEd" class="url" >http://mirror.ctan.org/support/LEd</a>. + </li> + <li class="itemize">SciTE је доÑтупан на <a +href="http://www.scintilla.org/SciTE.html" class="url" >http://www.scintilla.org/SciTE.html</a>. + </li> + <li class="itemize">Texmaker је Ñофтвер отвореног кода, доÑтупан на + <a +href="http://www.xm1math.net/texmaker" class="url" >http://www.xm1math.net/texmaker</a>. + </li> + <li class="itemize">TexMakerX је дериват (fork) Texmaker-а и укључује неке + додатне могућноÑти; погледајте <a +href="http://texmakerx.sourceforge.net" class="url" >http://texmakerx.sourceforge.net</a>. + </li> + <li class="itemize">TeXnicCenter + је Ñофтвер отвореног кода, доÑтупан на <a +href="http://www.texniccenter.org" class="url" >http://www.texniccenter.org</a> и као део + диÑтрибуције pro<span class="TEX">T<span +class="E">E</span>X</span>t. + </li> + <li class="itemize">TeXworks + је такође отворени Ñофтвер, доÑтупан на <a +href="http://tug.org/texworks" class="url" >http://tug.org/texworks</a>; на + Windows-у и Mac OS X-у инÑталира Ñе као део <span class="TEX">T<span +class="E">E</span>X</span> Live-а. + </li> + <li class="itemize">Vim је отворени Ñофтвер, доÑтупан преко <a +href="http://www.vim.org" class="url" >http://www.vim.org</a>. + </li> + <li class="itemize">WinEdt је „shareware“ доÑтупан на <a +href="http://tug.org/winedt" class="url" >http://tug.org/winedt</a> или + <a +href="http://www.winedt.com" class="url" >http://www.winedt.com</a>. + </li> + <li class="itemize">WinShell Ñе може набавити на <a +href="http://www.winshell.de" class="url" >http://www.winshell.de</a>.</li></ul> + </dd></dl> +<!--l. 1579--><p class="noindent" >Још иÑцрпнији ÑпиÑак пакета и програма налази Ñе на <a +href="http://tug.org/interest.html" class="url" >http://tug.org/interest.html</a>. +<!--l. 1583--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">4 </span> <a + id="x1-410004"></a>Специјализоване инÑталације</h3> +<!--l. 1585--><p class="noindent" >Претходни одељци бавили Ñу Ñе оÑновним процеÑом инÑталације. Сада прелазимо на +неке Ñпецијализоване Ñлучајеве. +<!--l. 1588--><p class="indent" > <a id="tlsharedinstall"></a> + + + <h4 class="subsectionHead"><span class="titlemark">4.1 </span> <a + id="x1-420004.1"></a>ИнÑталације које дели више кориÑника или више компјутера</h4> +<!--l. 1592--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Live је дизајниран тако га иÑтовремено могу употребљавати или више +кориÑника на неком ÑиÑтему или кориÑници који имају разне оперативне ÑиÑтеме на +некој компјутерÑкој мрежи. Ðко Ñе држите Ñтандардног раÑпореда +директоријума, подешавања не Ñадрже ниједну фикÑирану путању: +локације фајлова који Ñу потребни <span class="TEX">T<span +class="E">E</span>X</span> Live програмима проналазе Ñе +релативно у одноÑу на Ñаме програме. Овакав приÑтуп поÑтаје јаÑан ако погледате +главни конфигурациони фајл <span class="path">$TEXMFMAIN/web2c/texmf.cnf</span>, који Ñадржи овакве +линије: + <div class="fancyvrb" id="fancyvrb10"><a + id="x1-42002r1"></a><span +class="larm-0900"> </span><span +class="larm-0900"> TEXMFMAIN</span><span +class="larm-0900"> =</span><span +class="larm-0900"> $SELFAUTOPARENT/texmf</span><br class="fancyvrb" /><a + id="x1-42004r2"></a><span +class="larm-0900"> </span><span +class="larm-0900"> ...</span><br class="fancyvrb" /><a + id="x1-42006r3"></a><span +class="larm-0900"> </span><span +class="larm-0900"> TEXMFLOCAL</span><span +class="larm-0900"> =</span><span +class="larm-0900"> $SELFAUTOPARENT/../texmf-local</span></div> +<!--l. 1605--><p class="noindent" >Ово значи да кориÑници других оперативних ÑиÑтема Ñамо треба да додају директоријум +који Ñадржи верзије програма за њихову платформу у Ñвоје +путање за претрагу како би добили поÑтавку Ñпремну за употребу. +<!--l. 1609--><p class="indent" > Ðа иÑти начин можете да инÑталирате <span class="TEX">T<span +class="E">E</span>X</span> Live локално и да онда накнадно премеÑтите целу +хијерархију на неко друго меÑто на мрежи. +<!--l. 1612--><p class="indent" > За Windows Ñмо припремили једноÑтавну Ñкрипту за мрежне инÑталације по имену +<span class="path">w32client</span>; можете је преузети на Ñтраници <a +href="http://tug.org/texlive/w32client.html" class="url" >http://tug.org/texlive/w32client.html</a>. Она прави Ñва +потребна подешавања и пречице у менијима тако да можете да кориÑтите +поÑтојећу инÑталацију <span class="TEX">T<span +class="E">E</span>X</span> Live-а на LAN мрежи. Скрипта такође +поÑтавља и деинÑталациони програм <span class="path">w32unclient</span> који можете наћи у иÑтом zip +фајлу. Погледајте поменуту Интернет Ñтраницу ако Вам је потребно више +података о овом поÑтупку. +<!--l. 1622--><p class="indent" > <a id="tlportable"></a> + <h4 class="subsectionHead"><span class="titlemark">4.2 </span> <a + id="x1-430004.2"></a>ПреноÑиве инÑталације на USB-диÑку</h4> +<!--l. 1626--><p class="noindent" >Ðко инÑталациони програм покренете Ñа параметром <span class="path">-portable</span> (или употребите команду <span class="path">V</span> у +текÑтуалном режиму, одноÑно ако изаберете одговарајућу опцију у +графичком режиму), направиће Ñе потпуно затворена и ÑамоÑтална инÑталација <span class="TEX">T<span +class="E">E</span>X</span> +Live-а и биће изоÑтављена интеграција Ñа оÑтатком ÑиÑтема. Такву +инÑталацију можете да направите директно на USB-диÑку или да је на USB-диÑк +каÑније копирате. +<!--l. 1633--><p class="indent" > Као и обично, како биÑте покренули <span class="TEX">T<span +class="E">E</span>X</span> из овакве преноÑиве инÑталације, морате да +додате одговарајући директоријум Ñа програмима у путању за +претрагу у Ñвом терминалу. Ðа Windows-у Вам двоÑтруки клик миша на радну („tray“) иконицу +даје избор између неколико уобичајених задатака, као што је +приказано на Ñледећој Ñлици: +<div +> +<!--l. 1640--><p class="noindent" > + +<!--l. 1641--><p class="noindent" ><img +src="../texlive-common/tray-menu.png" alt="pict" +></div> +<!--l. 1645--><p class="noindent" >Ставка „More…“ објашњава како овај мени можете да прилагодите +Ñвојим потребама. +<!--l. 1649--><p class="indent" > <a id="tlisoinstall"></a> + <h4 class="subsectionHead"><span class="titlemark">4.3 </span> <a + id="x1-440004.3"></a>ISO (или DVD) инÑталације</h4> +<!--l. 1653--><p class="noindent" >Ðко немате потребе да чеÑто надограђујете инÑталацију или да је +мењате на било који начин и/или имате неколико ÑиÑÑ‚ÐµÐ¼Ä Ð½Ð° којима +је потребно кориÑтити <span class="TEX">T<span +class="E">E</span>X</span> Live, може бити веома кориÑно да направите ISO одраз +Ñвоје личне инÑталације <span class="TEX">T<span +class="E">E</span>X</span> Live-а. Ова пракÑа може бити веома добра зато +што је: + + + <ul class="itemize1"> + <li class="itemize">копирање ISO фајла Ñа компјутера на компјутер много + брже него копирање обичне инÑталације; + </li> + <li class="itemize">ако имате компјутер Ñа више оперативних ÑиÑтема (dual-boot) и желите да Ñе + инÑталација <span class="TEX">T<span +class="E">E</span>X</span> Live-а кориÑти на Ñвим тим ÑиÑтемима, ISO-инÑталација + није уÑловљена ÑпецифичноÑтима и ограничењима Ñтраних + ÑиÑтема (FAT32, NTFS, HFS+); + </li> + <li class="itemize">директан приÑтуп таквом ISO одразу („mount“) је једноÑтаван на + виртуелним машинама.</li></ul> +<!--l. 1672--><p class="indent" > Ðаравно, Ваш ISO одраз може и да Ñе нареже на DVD ако Вам је тако згодније. +<!--l. 1675--><p class="indent" > ДеÑктоп ÑиÑтеми из GNU/Linux/Unix породице, укључујући Mac OS X, +могу да приÑтупе Ñадржају ISO одраза као обичном фајл-ÑиÑтему („mount“). ОÑим тог +детаља, ништа није другачије у поређењу Ñа обичном +инÑталацијом на хард-диÑку: погледајте одељак <a +href="#x1-320003.4.1">3.4.1<!--tex4ht:ref: sec:env --></a>. +<!--l. 1681--><p class="indent" > Када припремате такву ISO инÑталацију, најбоље је да +изоÑтавите поддиректоријум који Ñе одноÑи на годину издања +и да поÑтавите <span class="path">texmf-local</span> на иÑти ниво Ñа другим дрветима (<span class="path">texmf</span>, <span class="path">texmf-dist</span> итд). Ово +можете да урадите у инÑталеру кориÑтећи уобичајене опције за +директоријуме. +<!--l. 1687--><p class="indent" > За реални (не виртуелни) Windows ÑиÑтем можете да нарежете ISO на DVD. Међутим, +иÑплати Ñе одвојити мало времена и иÑпитати могућноÑти директне употребе +ISO Ð¾Ð´Ñ€Ð°Ð·Ä (ISO-mounting) које нуди отворени Ñофтвер. ОÑим тога, за Windows XP +Microsoft нуди <span class="path">winxpvirtualcdcontrolpanel</span>. +<!--l. 1694--><p class="indent" > Ради боље интеграције Ñа ÑиÑтемом на Windows-у можете да убаците и Ñкрипте из +групе <span class="path">w32client</span> (опиÑане у одељку <a +href="#x1-420004.1">4.1<!--tex4ht:ref: sec:sharedinstall --></a> и на Ñтраници <a +href="http://tug.org/texlive/w32client.html" class="url" >http://tug.org/texlive/w32client.html</a>), +које добро баратају и ISO инÑталацијама и инÑталацијама преко +мреже. +<!--l. 1700--><p class="indent" > Ðа Mac OS X-у, програми TeXShop and <span class="TEX">T<span +class="E">E</span>X</span>works могу да кориÑте DVD-инÑталацију ако +Ñимболички линк <span class="path">/usr/texbin</span> показује на одговарајући директоријум Ñа +програмима, на пример + + + <div class="verbatim" id="verbatim-2"> + <div class="fancyvrb" id="fancyvrb11"><a + id="x1-44002r1"></a> sudo ln -s /Volumes/MyTeXLive/bin/universal-darwin /usr/texbin</div> +</div> +<!--l. 1705--><p class="nopar" > +<!--l. 1707--><p class="indent" > ИÑторијÑка напомена: <span class="TEX">T<span +class="E">E</span>X</span> Live 2010 био је први <span class="TEX">T<span +class="E">E</span>X</span> Live који +није био издат „жив“ (live). Ипак, увек је било потребно мало акробација да +би Ñе <span class="TEX">T<span +class="E">E</span>X</span> Live кориÑтио Ñа DVD-ја или из ISO одраза; ово Ñе поÑебно одноÑило на +чињеницу да није поÑтојао згодан начин да Ñе подеÑи барем још +једна додатна ÑиÑтемÑка променљива. Ðко, међутим, направите Ñвој +ÑопÑтвени ISO од поÑтојеће инÑталације, за овим додатком неће +бити потребе. +<!--l. 1716--><p class="indent" > <a id="tlmgr"></a> + <h3 class="sectionHead"><span class="titlemark">5 </span> <a + id="x1-450005"></a>Одржавање инÑталације помоћу tlmgr</h3> +<!--l. 1720--><p class="noindent" ><hr class="figure"><div class="figure" +> + + +<a + id="x1-45001r8"></a> + + +<div +> +<!--l. 1721--><p class="noindent" > + +<!--l. 1722--><p class="noindent" ><img +src="images/tl2012-tlmgr-main-screen-freebsd-sr.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Слика 8: </span><span +class="content">tlmgr у графичком (GUI) режиму рада: главни прозор, Ñтање поÑле +учитавања репозиторијума помоћу дугмета „Учитај“ („Load“).</span></div><!--tex4ht:label?: x1-45001r8 --> +</div> + + +<!--l. 1728--><p class="noindent" ></div><hr class="endfigure"> +<!--l. 1730--><p class="indent" > <hr class="figure"><div class="figure" +> + + +<a + id="x1-45002r9"></a><a + id="x1-45003r10"></a> + + +<div class="minipage"> +<!--l. 1733--><p class="noindent" ><img +src="images/tl2012-tlmgr-options-freebsd-sr.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Слика 9: </span><span +class="content"><span class="texttt">tlmgr</span> у +графичком режиму: Општа подешавања</span></div><!--tex4ht:label?: x1-45002r9 --> +</div> <div class="minipage"> +<img +src="images/tl2012-tlmgr-paper-options-freebsd-sr.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Слика 10: +</span><span +class="content"><span class="texttt">tlmgr</span> у +графичком режиму: +Подешавање величине +папира</span></div><!--tex4ht:label?: x1-45003r10 --> +</div> + + +<!--l. 1745--><p class="indent" > </div><hr class="endfigure"> +<!--l. 1747--><p class="indent" > <span class="TEX">T<span +class="E">E</span>X</span> Live Ñадржи програм по имену tlmgr који Ñлужи за одржавање <span class="TEX">T<span +class="E">E</span>X</span> Live-а +након почетне инÑталације. Програми updmap, fmtutil и texconfig и даље Ñу +укључени и биће задржани као део ÑиÑтема и у будућноÑти, али tlmgr +је Ñада алатка која Ñе препоручује. Његове могућноÑти +између оÑталог укључују: + <ul class="itemize1"> + <li class="itemize">инÑталацију, оÑвежавање, бекаповање, + повраћање из бекапа, уклањање појединачних + пакета Ñа могућношћу да Ñе узму у обзир Ñа њима повезани пакети; + </li> + <li class="itemize">претрагу и прављење разних ÑпиÑкова пакета; + </li> + <li class="itemize">излиÑтавање, додавање и уклањање верзија + програма за неки оперативни ÑиÑтем (одноÑно платформу); + </li> + <li class="itemize">промену параметара инÑталације као што Ñу величина папира или + локација изворног кода (погледајте одељак <a +href="#x1-300003.3.1">3.3.1<!--tex4ht:ref: sec:location --></a>).</li></ul> + <h4 class="subsectionHead"><span class="titlemark">5.1 </span> <a + id="x1-460005.1"></a>tlmgr у графичком (GUI) режиму рада</h4> +<!--l. 1765--><p class="noindent" >tlmgr Ñе може покренути у графичком (GUI) режиму (Ñлика <a +href="#x1-45001r8">8<!--tex4ht:ref: fig:tlmgr-gui --></a>) помоћу <div class="alltt"> +<!--l. 1767--><p class="noindent" ><div class="obeylines-v"> > <span class="command">tlmgr -gui</span> +</div> +</div> (ÑрпÑки језик добијате помоћу <span class="command">-gui-lang +sr</span>) или преко Start-менија на Windows-у: <span class="texttt">Start</span>, +<span class="texttt">Programs</span>, <span class="texttt">TeX Live 2012</span>, <span +class="texttt">TeX Live Manager</span>. Када притиÑнете „Учитај“ („Load“), програм +приказује ÑпиÑак доÑтупних и инÑталираних пакета. Овде Ñе наравно подразумева да +је извор инÑталације (installation source) иÑправно задат, функционалан и +доÑтупан. +<!--l. 1777--><p class="indent" > Слике <a +href="#x1-45002r9">9<!--tex4ht:ref: fig:tlmgr-general-options --></a> и <a +href="#x1-45003r10">10<!--tex4ht:ref: fig:tlmgr-paper-options --></a> приказују изглед програма приликом подешавања општих +опција и величине папира. +<!--l. 1781--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">5.2 </span> <a + id="x1-470005.2"></a>Примери позивања tlmgr-а Ñа командне линије</h4> +<!--l. 1783--><p class="noindent" >Ðакон почетне инÑталације, можете да оÑвежите Ñвој ÑиÑтем најновијим +доÑтупним верзијама целокупног Ñадржаја помоћу: <div class="alltt"> +<!--l. 1785--><p class="noindent" ><div class="obeylines-v"> > <span class="command">tlmgr update -all</span> +</div> +</div> Ðко Ð’Ð°Ñ Ð¾Ð²Ð¾ чини нервозним, прво пробајте <div class="alltt"> +<!--l. 1788--><p class="noindent" ><div class="obeylines-v"> > <span class="command">tlmgr update -all -dry-run</span> +</div> +</div> или (Ñа мање објашњења): <div class="alltt"> +<!--l. 1791--><p class="noindent" ><div class="obeylines-v"> > <span class="command">tlmgr update -list</span> +</div> +</div> +<!--l. 1794--><p class="indent" > Следећи Ñложенији пример додаје једну колекцију (Ñве +што је везано за Xe<span class="TEX">T<span +class="E">E</span>X</span>), и то из једног локалног директоријума: + <div class="alltt"> + + +<!--l. 1797--><p class="noindent" ><div class="obeylines-v"> > <span +class="command">tlmgr -repository /local/mirror/tlnet install collection-xetex</span> +</div> +</div> Ова команда даје Ñледеће поруке (Ñкраћено): + <div class="fancyvrb" id="fancyvrb12"><a + id="x1-47002r1"></a><span +class="larm-0800"> </span><span +class="larm-0800"> install:</span><span +class="larm-0800"> collection-xetex</span><br class="fancyvrb" /><a + id="x1-47004r2"></a><span +class="larm-0800"> </span><span +class="larm-0800"> install:</span><span +class="larm-0800"> arabxetex</span><br class="fancyvrb" /><a + id="x1-47006r3"></a><span +class="larm-0800"> </span><span +class="larm-0800"> ...</span><br class="fancyvrb" /><a + id="x1-47008r4"></a><span +class="larm-0800"> </span><span +class="larm-0800"> install:</span><span +class="larm-0800"> xetex</span><br class="fancyvrb" /><a + id="x1-47010r5"></a><span +class="larm-0800"> </span><span +class="larm-0800"> install:</span><span +class="larm-0800"> xetexconfig</span><br class="fancyvrb" /><a + id="x1-47012r6"></a><span +class="larm-0800"> </span><span +class="larm-0800"> install:</span><span +class="larm-0800"> xetex.i386-linux</span> +<br class="fancyvrb" /><a + id="x1-47014r7"></a><span +class="larm-0800"> </span><span +class="larm-0800"> running</span><span +class="larm-0800"> post</span><span +class="larm-0800"> install</span><span +class="larm-0800"> action</span><span +class="larm-0800"> for</span><span +class="larm-0800"> xetex</span><br class="fancyvrb" /><a + id="x1-47016r8"></a><span +class="larm-0800"> </span><span +class="larm-0800"> install:</span><span +class="larm-0800"> xetex-def</span><br class="fancyvrb" /><a + id="x1-47018r9"></a><span +class="larm-0800"> </span><span +class="larm-0800"> ...</span><br class="fancyvrb" /><a + id="x1-47020r10"></a><span +class="larm-0800"> </span><span +class="larm-0800"> running</span><span +class="larm-0800"> mktexlsr</span><br class="fancyvrb" /><a + id="x1-47022r11"></a><span +class="larm-0800"> </span><span +class="larm-0800"> mktexlsr:</span><span +class="larm-0800"> Updating</span><span +class="larm-0800"> /usr/local/texlive/2012/texmf/ls-R...</span><br class="fancyvrb" /><a + id="x1-47024r12"></a><span +class="larm-0800"> </span><span +class="larm-0800"> ...</span> +<br class="fancyvrb" /><a + id="x1-47026r13"></a><span +class="larm-0800"> </span><span +class="larm-0800"> running</span><span +class="larm-0800"> fmtutil-sys</span><span +class="larm-0800"> --missing</span><br class="fancyvrb" /><a + id="x1-47028r14"></a><span +class="larm-0800"> </span><span +class="larm-0800"> ...</span><br class="fancyvrb" /><a + id="x1-47030r15"></a><span +class="larm-0800"> </span><span +class="larm-0800"> Transcript</span><span +class="larm-0800"> written</span><span +class="larm-0800"> on</span><span +class="larm-0800"> xelatex.log.</span><br class="fancyvrb" /><a + id="x1-47032r16"></a><span +class="larm-0800"> </span><span +class="larm-0800"> fmtutil:</span><span +class="larm-0800"> /usr/local/texlive/2012/texmf-var/web2c/xetex/xelatex.fmt</span><span +class="larm-0800"> installed.</span></div> +<!--l. 1819--><p class="indent" > Као што видите, tlmgr инÑталира Ñве неопходне пакете и води рачуна о Ñвим радњама +које Ñу неопходне поÑле инÑталације, што у овом Ñлучају обухвата +оÑвежавање базе података Ñа именима фајлова и поновно прављење +неких формата. У претходном примеру Ñмо направили нове формате за Xe<span class="TEX">T<span +class="E">E</span>X</span>. +<!--l. 1825--><p class="indent" > Ðко Вам је потребан Ð¾Ð¿Ð¸Ñ Ð¿Ð°ÐºÐµÑ‚Ð° (или колекције или шеме), откуцајте: +<div class="alltt"> +<!--l. 1826--><p class="noindent" ><div class="obeylines-v"> > <span class="command">tlmgr show collection-latexextra</span> +</div> +</div> Команда даје Ñледећи излаз: + <div class="fancyvrb" id="fancyvrb13"><a + id="x1-47034r1"></a><span +class="larm-0800"> </span><span +class="larm-0800"> package:</span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> collection-latexextra</span><br class="fancyvrb" /><a + id="x1-47036r2"></a><span +class="larm-0800"> </span><span +class="larm-0800"> category:</span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> Collection</span><br class="fancyvrb" /><a + id="x1-47038r3"></a><span +class="larm-0800"> </span><span +class="larm-0800"> shortdesc:</span><span +class="larm-0800"> </span><span +class="larm-0800"> LaTeX</span><span +class="larm-0800"> supplementary</span><span +class="larm-0800"> packages</span> +<br class="fancyvrb" /><a + id="x1-47040r4"></a><span +class="larm-0800"> </span><span +class="larm-0800"> longdesc:</span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> A</span><span +class="larm-0800"> large</span><span +class="larm-0800"> collection</span><span +class="larm-0800"> of</span><span +class="larm-0800"> add-on</span><span +class="larm-0800"> packages</span><span +class="larm-0800"> for</span><span +class="larm-0800"> LaTeX.</span><br class="fancyvrb" /><a + id="x1-47042r5"></a><span +class="larm-0800"> </span><span +class="larm-0800"> installed:</span><span +class="larm-0800"> </span><span +class="larm-0800"> Yes</span><br class="fancyvrb" /><a + id="x1-47044r6"></a><span +class="larm-0800"> </span><span +class="larm-0800"> revision:</span><span +class="larm-0800"> </span><span +class="larm-0800"> </span><span +class="larm-0800"> 14675</span></div> +<!--l. 1838--><p class="indent" > ПоÑледње и најважније, пуна документација о програму tlmgr +налази Ñе на Ñтраници <a +href="http://tug.org/texlive/tlmgr.html" class="url" >http://tug.org/texlive/tlmgr.html</a>, а можете је видети и ако откуцате: +<div class="alltt"> +<!--l. 1841--><p class="noindent" ><div class="obeylines-v"> > <span class="command">tlmgr -help</span> +</div> +</div> +<!--l. 1845--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">6 </span> <a + id="x1-480006"></a>Ðапомене за Windows</h3> +<!--l. 1848--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">6.1 </span> <a + id="x1-490006.1"></a>МогућноÑти Ñпецифичне за Windows</h4> +<!--l. 1851--><p class="noindent" >ОÑим онога што је опиÑано у претходним одељцима, инÑталациони програм на +Windows-у обавља још неке додатне Ñтвари: + <dl class="description"><dt class="description"> +Менији и пречице. </dt><dd +class="description">У Start менију Ñе додаје нови одељак + „<span class="TEX">T<span +class="E">E</span>X</span> Live“, преко кога Ñе могу позивати неки графички (GUI) програми (tlmgr, + texdoctk, PS_View (psv) PostScript previewer) и преко кога можете да дођете до + једног дела документације. + </dd><dt class="description"> +Повезивање клаÑа докумената Ñа одговарајућим програмима. </dt><dd +class="description">Ðко Ñу + инÑталирани, TeXworks, Dviout и PS_view поÑтају или подразумевани програми + за одговарајуће клаÑе докумената или добијају Ñтавку + у менију „Open with“ („отвори помоћу“), који Ñе добија + када документима поменутих клаÑа приÑтупите притиÑком на деÑно дугме миша. + </dd><dt class="description"> +Превођење бит-мапа у eps формат. </dt><dd +class="description">Разни формати који + за оÑнову имају бит-мапе добијају Ñтавку bitmap2eps у Ñвом + менију „Open with“ („отвори помоћу“), који Ñе добија + притиÑком на деÑно дугме миша. Bitmap2eps је једноÑтавна Ñкрипта + која омогућава да sam2p и bmeps обаве главни део поÑла. + + + </dd><dt class="description"> +ÐутоматÑко подешавање путања. </dt><dd +class="description">Ðије потребна никаква ручна + интервенција по овом питању. + </dd><dt class="description"> +Уклањање <span class="TEX">T<span +class="E">E</span>X</span> Live-а. </dt><dd +class="description"> + ИнÑталациони програм додаје одговарајућу Ñтавку за <span class="TEX">T<span +class="E">E</span>X</span> Live + у „Add/Remove Programs“. Дугме за деинÑталацију у графичком (GUI) режиму + програма <span class="TEX">T<span +class="E">E</span>X</span> Live Manager („Уклони“) води до тамо.</dd></dl> +<!--l. 1878--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">6.2 </span> <a + id="x1-500006.2"></a>Додатни Ñофтвер укључен на Windows-у</h4> +<!--l. 1880--><p class="noindent" >За целовиту инÑталацију <span class="TEX">T<span +class="E">E</span>X</span> Live-а потребни Ñу помоћни пакети који +обично не поÑтоје на Windows компјутеру. <span class="TEX">T<span +class="E">E</span>X</span> Live обезбеђује +Ñледеће карике које недоÑтају: + <dl class="description"><dt class="description"> +Perl и Ghostscript. </dt><dd +class="description">Због важноÑти Perl-а и Ghostscript-а, <span class="TEX">T<span +class="E">E</span>X</span> Live Ñадржи „Ñкривене“ + копије ових програма. <span class="TEX">T<span +class="E">E</span>X</span> Live програми који их кориÑте знају + где треба да их потраже, али не одају њихово приÑуÑтво кроз + ÑиÑтемÑке променљиве или путем измена у „registry“-ју. То ниÑу целовите + инÑталације и не би требало да дођу у Ñукоб Ñа неком правом + инÑталацијом Perl-а или Ghostscript-а која је Windows-у + видљива. + </dd><dt class="description"> +PS_View. </dt><dd +class="description">Такође Ñе инÑталира и PS_View, програм у коме Ñе могу отворити PostScript + и PDF фајлови; погледајте Ñлику <a +href="#x1-50001r11">11<!--tex4ht:ref: fig:psview --></a>. + <!--l. 1895--><p class="noindent" ><hr class="figure"><div class="figure" +><a + id="x1-50001r11"></a> +<div +> +<!--l. 1896--><p class="noindent" > + +<!--l. 1897--><p class="noindent" ><img +src="../texlive-common/psview.png" alt="pict" +> +<br /> <div class="caption" +><span class="id">Слика 11: </span><span +class="content">PS_View може да приказује Ñадржај под великим +увећањем</span></div><!--tex4ht:label?: x1-50001r11 --> +</div> + <!--l. 1901--><p class="noindent" ></div><hr class="endfigure"> + </dd><dt class="description"> +dviout. </dt><dd +class="description">Ðа Windows-у Ñе инÑталира и dviout, програм у коме можете да прегледате DVI + фајлове. У почетку, када почнете да га употребљавате за ту Ñврху, dviout + ће правити потребне фонтове (зато што фонтови за екран ниÑу инÑталирани). ПоÑле неког + времена у употреби, направиће Ñе већина фонтова која Вам је + потребна и ретко ћете виђати прозор који Ð’Ð°Ñ Ð¾Ð±Ð°Ð²ÐµÑˆÑ‚Ð°Ð²Ð° о овом + поÑтупку. О овом програму можете добити много више података на Интернет Ñтраници + (коју топло препоручујемо). + </dd><dt class="description"> +<span class="TEX">T<span +class="E">E</span>X</span>works. </dt><dd +class="description"><span class="TEX">T<span +class="E">E</span>X</span>works је едитор Ñпецијализован за <span class="TEX">T<span +class="E">E</span>X</span>; он има уграђен + приказивач PDF фајлова. + </dd><dt class="description"> +Ðлатке за командну линију. </dt><dd +class="description">ОÑим уобичајених <span class="TEX">T<span +class="E">E</span>X</span> Live програма, на + Windows-у Ñе инÑталира и извеÑтан број Windows Ð²ÐµÑ€Ð·Ð¸Ñ˜Ä + уобичајених Unix алатки за командну линију. Ту Ñпадају + gzip, unzip и алати из пројекта xpdf (pdfinfo, pdffonts...). Сâм + xpdf viewer (прегледач) нема верзију која ради на Windows-у. Jедна + алтернатива јеÑте да умеÑто њега преузмете Sumatra PDF viewer, + који је заÑнован на xpdf-у; Интернет-Ñтраница пројекта је + <a +href="http://blog.kowalczyk.info/software/sumatrapdf" class="url" >http://blog.kowalczyk.info/software/sumatrapdf</a>. + + + </dd><dt class="description"> +fc-list, fc-cache... </dt><dd +class="description">Ðлатке из библиотеке fontconfig омогућавају Xe<span class="TEX">T<span +class="E">E</span>X</span>-у да барата + ÑиÑтемÑким фонтовима на Windows-у. Можете да кориÑтите fc-list да одредите имена фонтова + која задајете у Xe<span class="TEX">T<span +class="E">E</span>X</span>-овој проширеној команди <span + class="texttt">\font</span>. Ðко је потребно, најпре покрените fc-cache како би + Ñе подаци о фонтовима оÑвежили. + </dd></dl> +<!--l. 1936--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">6.3 </span> <a + id="x1-510006.3"></a>Лични кориÑнички директоријум на Windows-у</h4> +<!--l. 1939--><p class="noindent" >Еквивалент Unix-овом личном директоријуму кориÑника (home) на Windows-у јеÑте +директоријум <span class="obeylines-h"><span class="verb">%USERPROFILE%</span></span>. Ðа Windows-у XP то је обично +<span class="obeylines-h"><span class="verb">C:\Documents and Settings\<username></span></span>, док Windows Vista кориÑти <span class="obeylines-h"><span class="verb">C:\Users\<username></span></span>. У +фајлу <span class="path">texmf.cnf</span> и у Kpathsea уопште, Ñимбол <span class="obeylines-h"><span class="verb">~</span></span> ће Ñе претворити у иÑправну +путању и на Windows-у и на Unix-у. +<!--l. 1947--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">6.4 </span> <a + id="x1-520006.4"></a>Windows-ов „registry“</h4> +<!--l. 1950--><p class="noindent" >Windows држи Ñкоро Ñва подешавања у тзв. „registry“-ју. То Ñкладиште +Ñадржи Ñкуп хијерархијÑки организованих кључева, Ñа неколико +кључева највишег нивоа. Ðајважнији за инÑталационе програме Ñу +<span class="path">HKEY_CURRENT_USER</span> и <span class="path">HKEY_LOCAL_MACHINE</span>, или Ñкраћено <span class="path">HKCU</span> и <span class="path">HKLM</span>. Део +„registry“-ја <span class="path">HKCU</span> налази Ñе у личном директоријуму кориÑника (погледајте +одељак <a +href="#x1-510006.3">6.3<!--tex4ht:ref: sec:winhome --></a>). <span class="path">HKLM</span> Ñе обично налази у поддиректоријуму директоријума +званог Windows. +<!--l. 1959--><p class="indent" > У неким Ñлучајевима, информације о ÑиÑтему Ñе могу добити из ÑиÑтемÑких +променљивих, али неке, на пример локација пречицÄ, и даље +захтевају да Ñе конÑултује „registry“. Трајно подешавање ÑиÑтемÑких +променљивих такође захтева приÑтуп „registry“-ју. +<!--l. 1966--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">6.5 </span> <a + id="x1-530006.5"></a>Овлашћења на Windows-у</h4> +<!--l. 1969--><p class="noindent" >У новијим верзијама Windows-а поÑтоји разлика између обичних +кориÑника и админиÑтратора; Ñамо админиÑтратори имају Ñлободан приÑтуп целом +оперативном ÑиÑтему. У пракÑи би, међутим, боље било опиÑати ове клаÑе кориÑника +као неовлашћене и обичне кориÑнике: бити админиÑтратор је правило, а не изузетак. +Без обриза на то, уложили Ñмо доÑта напора да омогућимо да Ñе <span class="TEX">T<span +class="E">E</span>X</span> Live може инÑталирати +без админиÑтраторÑких овлашћења. +<!--l. 1977--><p class="indent" > Ðко је кориÑник админиÑтратор, доÑтупна му је опција да инÑталира +<span class="TEX">T<span +class="E">E</span>X</span> Live за Ñве кориÑнике. Ðко изабере да ово уради, пречице Ñе праве за Ñве кориÑнике и +мењају Ñе поÑтавке на нивоу ÑиÑтема. У Ñупротном, пречице и одељци у +менију праве Ñе Ñамо за текућег кориÑника и мења Ñе Ñамо његово +окружење. +<!--l. 1983--><p class="indent" > Без обзира на то да ли кориÑник има ÑÑ‚Ð°Ñ‚ÑƒÑ Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñтратора или не, подразумевани оÑновни +директоријум за <span class="TEX">T<span +class="E">E</span>X</span> Live који предлаже инÑталациони програм увек је +унутар <span class="obeylines-h"><span class="verb">%SystemDrive%</span></span>. Програм увек теÑтира да ли тренутни кориÑник може да упиÑује +податке у тај оÑновни директоријум. +<!--l. 1988--><p class="indent" > Може Ñе појавити проблем ако кориÑник није админиÑтратор а <span class="TEX">T<span +class="E">E</span>X</span> већ +поÑтоји у путањи за претрагу програма. Пошто Ñе радна путања за +претрагу ÑаÑтоји од ÑиÑтемÑког дела иза кога Ñледи кориÑнички део Ñа Ñвојим +путањама, нови <span class="TEX">T<span +class="E">E</span>X</span> Live никад неће добити предноÑÑ‚. Како би Ñе решила ова +Ñитуација, инÑталациони програм прави пречицу до командног промпта у коме Ñу нови <span class="TEX">T<span +class="E">E</span>X</span> +Live програми Ñтављени иÑпред локалне путање за претрагу. Ðови <span class="TEX">T<span +class="E">E</span>X</span> Live ће +увек бити употребљив унутар таквог командног промпта. Пречица за <span class="TEX">T<span +class="E">E</span>X</span>works, ако +Ñе тај програм инÑталира, такође додаје <span class="TEX">T<span +class="E">E</span>X</span> Live на почетак + + +путање за претрагу, тако да би и тај едитор требало да буде имун на ове проблеме Ñа +путањама. +<!--l. 1999--><p class="indent" > Ðа Windows-у Vista и 7 поÑтоји још једна оÑобеноÑÑ‚: чак иако Ñте +улоговани као админиÑтратор, морате да изричито затражите админиÑтраторкÑе привилегије. +У Ñтвари, нема много Ñврхе да узимате улогу правог админиÑтратора. УмеÑто тога, кликните деÑним +дугметом миша на програм који желите да покренете или на његову пречицу, и то +ће Вам у нормалним околноÑтима дати могућноÑÑ‚ да „покренете програм као +админиÑтратор“ („Run as administrator“). +<!--l. 2008--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">6.6 </span> <a + id="x1-540006.6"></a>Увећавање макÑимума доÑтупне меморије на Windows-у и +Cygwin-у</h4> +<!--l. 2011--><p class="noindent" >КориÑницима Windows-а и Cygwin-а (погледајте одаљак <a +href="#x1-200003.1.4">3.1.4<!--tex4ht:ref: sec:cygwin --></a> о ÑпецифичноÑтима +инÑталације на Cygwin-у) може да Ñе деÑи да оÑтану без меморије када +покрећу неке програме укључене у <span class="TEX">T<span +class="E">E</span>X</span> Live. Ðа пример, asy може да оÑтане без +меморије ако покушате да заузмете низ (array) од 25.000.000 реалних бројева, а +Lua<span class="TEX">T<span +class="E">E</span>X</span> може да оÑтане без меморије ако покушавате да обрадите документ Ñа много великих +фонтова. +<!--l. 2019--><p class="indent" > Што Ñе тиче Cygwin-а, можете да увећате раÑположиву меморију ако пратите +одговарајућа упутÑтва из њиховог водича за кориÑнике (Cygwin User"s Guide +— <a +href="http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html" class="url" >http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html</a>). +<!--l. 2024--><p class="indent" > Ðа Windows-у морате да направите један додатни фајл, рецимо <span class="path">moremem.reg</span>, +који Ñадржи Ñледеће четири линије: +<!--l. 2027--><p class="indent" > + <div class="fancyvrb" id="fancyvrb14"><a + id="x1-54002r1"></a><span +class="larm-0900"> </span><span +class="larm-0900"> Windows</span><span +class="larm-0900"> Registry</span><span +class="larm-0900"> Editor</span><span +class="larm-0900"> Version</span><span +class="larm-0900"> 5.00</span><br class="fancyvrb" /><a + id="x1-54004r2"></a><span +class="larm-0900"> </span><span +class="larm-0900"> </span><br class="fancyvrb" /><a + id="x1-54006r3"></a><span +class="larm-0900"> </span><span +class="larm-0900"> [HKEY_LOCAL_MACHINE\Software\Cygwin]</span><br class="fancyvrb" /><a + id="x1-54008r4"></a><span +class="larm-0900"> </span><span +class="larm-0900"> "heap_chunk_in_mb"=dword:ffffff00</span></div> +<!--l. 2034--><p class="noindent" >и да онда извршите команду <span class="path">regedit /s moremem.reg</span> као админиÑтратор. (Ðко желите да +увећате меморију Ñамо за тренутног кориÑника умеÑто на целом ÑиÑтему, употребите +кључ <span class="path">HKEY_CURRENT_USER</span>.) +<!--l. 2040--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">7 </span> <a + id="x1-550007"></a>КориÑнички водич кроз Web2C</h3> +<!--l. 2042--><p class="noindent" >Web2C је интегриÑана колекција програма везаних за <span class="TEX">T<span +class="E">E</span>X</span>: Ñâм <span class="TEX">T<span +class="E">E</span>X</span>, +Metafont, MetaPost, BibTeX, итд. Web2C је Ñрце <span class="TEX">T<span +class="E">E</span>X</span> Live-а. Интернет-Ñтраница +пројекта, на којој Ñе налази најновији приручник и много +других Ñтвари, налази Ñе на <a +href="http://tug.org/web2c" class="url" >http://tug.org/web2c</a>. +<!--l. 2048--><p class="indent" > Мало иÑторије: првобитну имплементацију је направио Ð¢Ð¾Ð¼Ð°Ñ Ð Ð¾ÐºÐ¸Ñ†ÐºÐ¸ +[Tomas Rokicki], који је 1987. развио први „<span class="TEX">T<span +class="E">E</span>X</span>-у-C“ разрадивши изворну Unix +верзију, оригинални рад Хауарда Трикија [Howard Trickey] и Павела КертиÑа [Pavel +Curtis]. +<!--l. 2054--><p class="indent" > Одржавање ÑиÑтема је наÑтавио Тим Морган [Tim Morgan] и током +тог периода име је промењено у Web-to-C. 1990. године рад је +преузео Карл Бери [Karl Berry] који је уз помоћ више деÑетина +Ñарадника одржавао пројекат до 1997, када је предао штафету Олафу Веберу +[Olaf Weber], који је руковођење вратио Карлу 2006. +године. +<!--l. 2061--><p class="indent" > Web2C ÑиÑтем ради на Unix-у, 32-битним Windows ÑиÑтемима, Mac OS X-у и многим другим +оперативним ÑиÑтемима. Он кориÑти оригинални Кнутов [Knuth] кôд за <span class="TEX">T<span +class="E">E</span>X</span> и друге +оÑновне програме напиÑане у „WEB ÑиÑтему за пиÑмено програмирање“ (WEB literate +programming system) и преводи их у језик C. Језгро ÑаÑтављено од <span class="TEX">T<span +class="E">E</span>X</span> +Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ä ÐºÐ¾Ñ˜Ð¸ Ñе третирају на овај начин чине: +<!--l. 2069--><p class="indent" > + <dl class="list1"><dt class="list"> + bibtex </dt><dd +class="list"> + <!--l. 2070--><p class="noindent" >Рад Ñа библиографијама. + + + </dd><dt class="list"> + dvicopy </dt><dd +class="list"> + <!--l. 2071--><p class="noindent" >Рад Ñа виртуелним фонтовима у DVI фајловима. + </dd><dt class="list"> + dvitomp </dt><dd +class="list"> + <!--l. 2072--><p class="noindent" >Претвара DVI у MPX (MetaPost Ñлике). + </dd><dt class="list"> + dvitype </dt><dd +class="list"> + <!--l. 2073--><p class="noindent" >Претвара DVI у читљив текÑÑ‚. + </dd><dt class="list"> + gftodvi </dt><dd +class="list"> + <!--l. 2074--><p class="noindent" >Визуализација изворних (generic) фонтова. + </dd><dt class="list"> + gftopk </dt><dd +class="list"> + <!--l. 2076--><p class="noindent" >Претвара изворне (generic) у Ñпаковане (packed) фонтове. + </dd><dt class="list"> + gftype </dt><dd +class="list"> + <!--l. 2078--><p class="noindent" >Претвара GF (изворне фонтове) у читљив текÑÑ‚. + </dd><dt class="list"> + mf </dt><dd +class="list"> + <!--l. 2079--><p class="noindent" >Програм за прављење Ð¿Ð¾Ñ€Ð¾Ð´Ð¸Ñ†Ä Ñ„Ð¾Ð½Ñ‚Ð¾Ð²Ð° (typeface families). + </dd><dt class="list"> + mft </dt><dd +class="list"> + <!--l. 2081--><p class="noindent" >„Лепо штампање“ (prettyprinting) Metafont кôда + </dd><dt class="list"> + mpost </dt><dd +class="list"> + <!--l. 2083--><p class="noindent" >Програм за прављење техничких дијаграма. + </dd><dt class="list"> + patgen </dt><dd +class="list"> + <!--l. 2084--><p class="noindent" >Програм за прављење Ð¿Ñ€Ð°Ð²Ð¸Ð»Ä Ð·Ð° прелом речи (hyphenation + patterns). + </dd><dt class="list"> + pktogf </dt><dd +class="list"> + <!--l. 2086--><p class="noindent" >Претвара Ñпаковане (packed) у изворне (generic) фонтове. + </dd><dt class="list"> + pktype </dt><dd +class="list"> + <!--l. 2088--><p class="noindent" >Претвара PK у читљив текÑÑ‚. + </dd><dt class="list"> + pltotf </dt><dd +class="list"> + <!--l. 2089--><p class="noindent" >Претвара текÑтуални ÑпиÑак оÑобина фонта у acroTFM. + </dd><dt class="list"> + pooltype </dt><dd +class="list"> + <!--l. 2090--><p class="noindent" >Приказује WEB pool фајлове. + </dd><dt class="list"> + tangle </dt><dd +class="list"> + <!--l. 2091--><p class="noindent" >Преводи WEB кôд у језик Pascal. + </dd><dt class="list"> + tex </dt><dd +class="list"> + <!--l. 2092--><p class="noindent" >Припрема текÑта. + + + </dd><dt class="list"> + tftopl </dt><dd +class="list"> + <!--l. 2093--><p class="noindent" >Претвара TFM у текÑтуални ÑпиÑак оÑобина фонта. + </dd><dt class="list"> + vftovp </dt><dd +class="list"> + <!--l. 2094--><p class="noindent" >Претвара виртуелни фонт у виртуелни ÑпиÑак оÑобинÄ. + </dd><dt class="list"> + vptovf </dt><dd +class="list"> + <!--l. 2096--><p class="noindent" >Претвара виртуелни ÑпиÑак оÑÐ¾Ð±Ð¸Ð½Ä Ñƒ виртуелни фонт. + </dd><dt class="list"> + weave </dt><dd +class="list"> + <!--l. 2098--><p class="noindent" >Преводи WEB кôд у <span class="TEX">T<span +class="E">E</span>X</span>.</dd></dl> +<!--l. 2101--><p class="noindent" >Прецизне функције и ÑинтакÑа ових програма опиÑани Ñу у документацији +која долази уз одговарајуће пакете, као и уз Ñâм Web2C. +Међутим, кориÑно је знати неколико заједничких принципа који +важе за Ñве њих зато што на тај начин можете боље да иÑкориÑтите +Ñвоју Web2C инÑталацију. +<!--l. 2107--><p class="indent" > Сви ови програми поштују ове Ñтандардне GNU параметре: + <dl class="list1"><dt class="list"> + --help </dt><dd +class="list"> + <!--l. 2109--><p class="noindent" >штампање оÑновног прегледа употребе. + </dd><dt class="list"> + --verbose </dt><dd +class="list"> + <!--l. 2110--><p class="noindent" >штампање детаљнијег извештаја о раду. + </dd><dt class="list"> + --version </dt><dd +class="list"> + <!--l. 2111--><p class="noindent" >штампање података о верзији, иза кога Ñледи напуштање + програма.</dd></dl> +<!--l. 2115--><p class="indent" > Да би одредили положај разних фајлова, Web2C програми кориÑте библиотеку за +претрагу Kpathsea (<a +href="http://tug.org/kpathsea" class="url" >http://tug.org/kpathsea</a>). Ова библиотека кориÑти комбинацију +ÑиÑтемÑких променљивих и конфигурационих фајлова како би оптимизовала +претрагу кроз (огромни) Ñадржај <span class="TEX">T<span +class="E">E</span>X</span> ÑиÑтема. Web2C може да упоредо кориÑти више +хијерархија за претрагу, што је кориÑно за одржавање +Ñтандардних диÑтрибуција <span class="TEX">T<span +class="E">E</span>X</span>-а упоредо Ñа локалним и личним проширењима у +одвојеним директоријумима. Како би Ñе претраживање убрзало, +директоријум највишег нивоа у Ñвакој хијерархији има +фајл <span class="file">ls-R</span> који Ñадржи запиÑе ÑаÑтављене од +имена и релативне путање за Ñве фајлове који Ñе налазе ниже по +хијерархији у том директоријуму. +<!--l. 2128--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">7.1 </span> <a + id="x1-560007.1"></a>Проналажење фајлова помоћу Kpathsea</h4> +<!--l. 2131--><p class="noindent" >Опишимо најпре механизам трагања који кориÑти библиотека +Kpathsea. +<!--l. 2133--><p class="indent" > <span class="emph">Путањом за претрагу</span> (search path) називамо ÑпиÑак <span +class="emph">елемената путање</span> раздвојених двотачком или тачка-зарезом; +ти елементи Ñу обично имена директоријума, мада путања за претрагу може да Ñе +ÑаÑтави од елемената који потичу из разних извора. Када тражи фајл „<span +class="samp">my-file</span>“ по путањи „<span class="samp">.:/dir</span>“, +Kpathsea проверава један по један Ñваки елемент путање: прво <span +class="file">./my-file</span>, затим <span class="file">/dir/my-file</span>, и враћа први +погодак (уз могућноÑÑ‚ да врати и Ñве поготке одједном). + + +<!--l. 2142--><p class="indent" > Како би Ñе оптимално прилагодила конвенцијама Ñвих оперативних ÑиÑтема, на ÑиÑтемима +који ниÑу Ñродни Ñа Unix-ом Kpathsea може да кориÑти и друге Ñепараторе а не Ñамо двотачку +(„<span class="samp">:</span>“) и коÑу црту („<span class="samp">/</span>“). +<!--l. 2147--><p class="indent" > Када проверава поједини елемент путање <span class="emph">p</span>, Kpathsea +прво проверава да ли Ñе унапред припремљена база података (погледајте +„База података Ñа именима фајлова“ на Ñтрани <a +href="#x1-640007.2">69<!--tex4ht:ref: sec:filename-database --></a>) може употребити за <span +class="emph">p</span>, тј. да ли Ñе база података налази у директоријуму +који је Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Ð¾Ð´ <span class="emph">p</span>. Ðко је то +Ñлучај, задата путања Ñе Ñ€Ã Ð²Ð½Ä Ð¿Ñ€ÐµÐ¼Ð° Ñадржају базе +података. +<!--l. 2154--><p class="indent" > Ðко база података не поÑтоји или ако Ñе не може применити на задати елемент +путање или ако у њој нема Ñлагања, претражује Ñе реални +фајл-ÑиÑтем (ако то није забрањено Ñпецификацијом +која почиње Ñа „<span class="samp">!!</span>“ или ако је задато да +фајл који Ñе тражи „мора да поÑтоји“). Kpathsea конÑтруише ÑпиÑак +директоријума који одговарају овом елементу путање и затим +тражи задати фајл у Ñваком од њих. +<!--l. 2161--><p class="indent" > УÑлов „фајл мора да поÑтоји“ одноÑи Ñе пре Ñвега на „<span +class="samp">.vf</span>“ фајлове и на улазне фајлове који Ñе +читају <span class="TEX">T<span +class="E">E</span>X</span>-овом командом <span class="texttt">\openin</span>. Може Ñе деÑити да +такви фајлови не поÑтоје (нпр. <span class="file">cmr10.vf</span>) па би +Ñтога било погрешно претраживати диÑк. Дакле, ако Ñе деÑи да пропуÑтите да оÑвежите +<span class="file">ls-R</span> када инÑталирате нови „<span class="samp">.vf</span>“ +фајл, он никад неће бити пронађен. У Ñваком пролаÑку Ñе проверава по +један елемент путање: најпре база података, затим диÑк. Ðко Ñе +нађе оно што је задато, претрага Ñе зауÑтавља и враћа Ñе +резултат. +<!--l. 2171--><p class="indent" > Премда је најједноÑтавнији и најуобичајенији +елемент путање име директоријума, Kpathsea подржава и додатне могућноÑти +у путањама за претрагу: „рашчлањене“ подразумеване вредноÑти (layered default values, +одноÑно вредноÑти које имају предноÑÑ‚ једна у одноÑу на другу завиÑно од +извора у одноÑу на који Ñе кориÑте), имена ÑиÑтемÑких променљивих, вредноÑти из +конфигурационих фајлова, личне директоријуме кориÑникÄ, као и наредбе за +рекурзивно претраживање поддиректоријумÄ. Стога кажемо да Kpathsea <span +class="emph">прерачунава</span><span class="footnote-mark"><a +href="#fn4x0" id="fn4x0-bk"><sup class="textsuperscript">4</sup></a></span><a + id="x1-56001f4"></a> +елемент путање, што значи да он транÑформише Ñве Ñпецификације у оÑновно име +(или имена) директоријума. Ово је опиÑано у наредним одељцима у иÑтом +поретку у коме Ñе претрага и врши. +<!--l. 2188--><p class="indent" > Обратите пажњу на један детаљ: ако је име фајла +који Ñе тражи апÑолутно или изричито задато у релативном облику, тј. ако +почиње Ñа „<span class="samp">/</span>“, „<span class="samp">./</span>“ или „<span +class="samp">../</span>“, Kpathsea проÑто проверава да ли тај фајл +поÑтоји. +<!--l. 2203--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">7.1.1 </span> <a + id="x1-570007.1.1"></a>Извори путања</h5> +<!--l. 2206--><p class="noindent" >Путања за претрагу може имати разне изворе. Ово је редоÑлед у коме их Kpathsea +кориÑти: +<!--l. 2209--><p class="indent" > + <ol class="enumerate1" > + <li + class="enumerate" id="x1-57002x1">СиÑтемÑке променљиве подешене од Ñтране кориÑника, на пример <span class="path">TEXINPUTS</span>. + СиÑтемÑке променљиве које Ñадрже име програма придодато на + крају иза тачке добијају предноÑÑ‚; нпр. ако је име + покренутог програма „<span class="samp">latex</span>“, онда ће <span class="path">TEXINPUTS. + latex</span> имати предноÑÑ‚ у одноÑу на <span class="path">TEXINPUTS</span>. + </li> + <li + class="enumerate" id="x1-57004x2">Конфигурациони фајл Ñпецифичан за + + + поједини програм, нпр. линија „<span class="samp">S /a:/b</span>“ у + фајлу <span class="file">config.ps</span> који припада програму dvips. + </li> + <li + class="enumerate" id="x1-57006x3">Конфигурациони фајл <span class="file">texmf.cnf</span> који + припада Kpathsea-у, и који Ñадржи линију као што је „<span + class="samp">TEXINPUTS=/c:/d</span>“ (погледајте ниже). + </li> + <li + class="enumerate" id="x1-57008x4">ВредноÑÑ‚ задата у време компајлирања.</li></ol> +<!--l. 2223--><p class="noindent" >Како Ñе према Ñвакој од набројаних Ñтавки формирају вредноÑти за неку задату +путању можете да пратите ако употребите опцију за отклањање +грешака (debugging) — погледајте одељак „ПоÑтупци за отклањање +грешака“ на Ñтрани <a +href="#x1-680007.2.4">74<!--tex4ht:ref: sec:debugging --></a>). +<!--l. 2229--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">7.1.2 </span> <a + id="x1-580007.1.2"></a>Конфигурациони фајлови</h5> +<!--l. 2231--><p class="noindent" >Kpathsea чита конфигурационе фајлове назване <span class="file">texmf.cnf</span> (ови +фајлови Ñу предвиђени да Ñе читају Ñамо када програми раде) и из +њих узима путању за претрагу и друге дефиниције. Путања за +претрагу која Ñе кориÑти да Ñе Ñáми ови фајлови лоцирају зове Ñе +<span class="path">TEXMFCNF</span>, али ми не препоручујемо да поÑтављате ову (нити било коју +другу) ÑиÑтемÑку променљиву. +<!--l. 2238--><p class="indent" > УмеÑто тога, уобичајени инÑталациони Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð´Ð¾Ð²Ð¾Ð´Ð¸ до обликовања +фајла <span class="file">.../2012/texmf.cnf</span>. Ðко морате да начините неке промене +вредноÑти које Ñу тамо упиÑане као подразумеване (што обично није потребно), +онда је овај фајл меÑто где те вредноÑти треба упиÑати. Главни +конфигурациони фајл је <span class="file">.../2012/texmf/web2c/texmf.cnf</span>; +њега не би требало да преправљате зато што ће Ñе промене изгубити када Ñе +верзија инÑталирана путем диÑтрибуције оÑвежи. +<!--l. 2247--><p class="indent" > <span class="emph">Сви</span> фајлови названи <span class="file">texmf.cnf</span> +који Ñе нађу у путањи за претрагу биће прочитани и +дефиниције из претходних фајлова биће замењене онима на +које Ñе каÑније наиђе. Ðа пример, ако је путања за +претрагу <span class="obeylines-h"><span class="verb">.:$TEXMF</span></span>, вредноÑти из <span class="file">./texmf.cnf</span> имају предноÑÑ‚ у +одноÑу на оне из <span class="obeylines-h"><span class="verb">$TEXMF/texmf.cnf</span></span>. + <ul class="itemize1"> + <li class="itemize">Коментари почињу Ñа <span class="path">%</span> и наÑтављају Ñе до краја + линије. + </li> + <li class="itemize">Празне линије Ñе преÑкачу. + </li> + <li class="itemize">Симбол \ на крају линије има улогу ознаке за наÑтавак, тј. + Ñледећа линија Ñе придодаје на текућу. Размаци + (whitespace<span class="footnote-mark"><a +href="#fn5x0" id="fn5x0-bk"><sup class="textsuperscript">5</sup></a></span><a + id="x1-58001f5"></a>) + на почетку линије која Ñе додаје Ñе <span class="emph">не</span> + игноришу. + </li> + <li class="itemize">Све оÑтале линије имају Ñледећи облик: <div class="alltt"> + <!--l. 2267--><p class="noindent" ><div class="obeylines-v"> <span class="emph">променљива</span>[.<span + class="emph">име-програма</span>] [=] <span class="emph">вредноÑÑ‚</span> +</div> + </div>где Ñе знак „<span class="samp">=</span>“ и размаци око њега могу изоÑтавити. + + + </li> + <li class="itemize"><span class="emph">променљива</span> може да Ñадржи било који + знак оÑим Ñ€Ð°Ð·Ð¼Ð°ÐºÄ (whitespace), „<span class="samp">=</span>“ и „<span + class="samp">.</span>“, али је најÑигурније држати Ñе Ñкупа „<span + class="samp">A-Za-z_</span>“ (тј. велика и мала Ñлова енглеÑког алфабета и + доња црта). + </li> + <li class="itemize">Ðко је приÑутна променљива „<span class="samp">.<span + class="emph">име-програма</span></span>“, дефиниција важи Ñамо ако Ñе покренути + програм зове <span class="texttt"><span class="emph">име-програма</span></span> или <span + class="texttt"><span class="emph">име-програма</span>.exe</span>. Између оÑталог, + то значи да разни варијетети <span class="TEX">T<span +class="E">E</span>X</span>-а могу да имају различите путање за + претрагу. + </li> + <li class="itemize"><span class="emph">вредноÑÑ‚</span> може да Ñадржи било који знак оÑим <span class="path">%</span> и „<span + class="samp">@</span>“. МогућноÑÑ‚ <span class="path">\$\var {пром}.\var {прог}</span> не може + Ñе кориÑтити Ñа ове Ñтране једнакоÑти; умеÑто тога, морате да употребите + додатну променљиву. Знак „<span class="samp">;</span>“ унутар <span + class="emph">променљиве</span> преводи Ñе у „<span class="samp">:</span>“ ако + је у питању Unix; ово је кориÑно јер омогућава + да Ñе иÑти <span class="file">texmf.cnf</span> кориÑти и за Unix и за MS-DOS и за + Windows. + </li> + <li class="itemize">Све дефиниције Ñе прочитају пре него што Ñе било шта прерачуна, што значи да + Ñе променљиве могу употребити и пре него што Ñе дефинишу.</li></ul> +<!--l. 2292--><p class="noindent" >Део конфигурационог фајла који илуÑтрује већину ових Ñтвари +приказан је у Ñледећој табели: +<!--l. 2296--><p class="indent" > + <div class="fancyvrb" id="fancyvrb15"> +<a + id="x1-58003r1"></a><span +class="larm-0700"> </span><span +class="larm-0700"> TEXMF</span><span +class="larm-0700"> </span><span +class="larm-0700"> </span><span +class="larm-0700"> </span><span +class="larm-0700"> </span><span +class="larm-0700"> </span><span +class="larm-0700"> </span><span +class="larm-0700"> </span><span +class="larm-0700"> </span><span +class="larm-0700"> </span><span +class="larm-0700"> </span><span +class="larm-0700"> </span><span +class="larm-0700"> </span><span +class="larm-0700"> </span><span +class="larm-0700"> =</span><span +class="larm-0700"> {$TEXMFLOCAL,!!$TEXMFMAIN}</span> +<br class="fancyvrb" /><a + id="x1-58005r2"></a><span +class="larm-0700"> </span><span +class="larm-0700"> TEXINPUTS.latex</span><span +class="larm-0700"> </span><span +class="larm-0700"> </span><span +class="larm-0700"> </span><span +class="larm-0700"> =</span><span +class="larm-0700"> .;$TEXMF/tex/{latex,generic;}//</span> +<br class="fancyvrb" /><a + id="x1-58007r3"></a><span +class="larm-0700"> </span><span +class="larm-0700"> TEXINPUTS.fontinst</span><span +class="larm-0700"> =</span><span +class="larm-0700"> .;$TEXMF/tex//;$TEXMF/fonts/afm//</span> +<br class="fancyvrb" /><a + id="x1-58009r4"></a><span +class="larm-0700"> </span><span +class="larm-0700"> %</span><span +class="larm-0700"> e-TeX</span><span +class="larm-0700"> related</span><span +class="larm-0700"> files</span> +<br class="fancyvrb" /><a + id="x1-58011r5"></a><span +class="larm-0700"> </span><span +class="larm-0700"> TEXINPUTS.elatex</span><span +class="larm-0700"> </span><span +class="larm-0700"> </span><span +class="larm-0700"> =</span><span +class="larm-0700"> .;$TEXMF/{etex,tex}/{latex,generic;}//</span> +<br class="fancyvrb" /><a + id="x1-58013r6"></a><span +class="larm-0700"> </span><span +class="larm-0700"> TEXINPUTS.etex</span><span +class="larm-0700"> </span><span +class="larm-0700"> </span><span +class="larm-0700"> </span><span +class="larm-0700"> </span><span +class="larm-0700"> =</span><span +class="larm-0700"> .;$TEXMF/{etex,tex}/{eplain,plain,generic;}//</span> + </div> +<!--l. 2301--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">7.1.3 </span> <a + id="x1-590007.1.3"></a>Прерачунавање путање</h5> +<!--l. 2304--><p class="noindent" >Kpathsea препознаје неке Ñпецијалне ознаке и конÑтрукције у путањама +за претрагу, Ñличне онима из Unix шкољки (shells). Ðа пример, Ñложена путања +<span class="obeylines-h"><span class="verb">~$USER/{foo,bar}//baz</span></span> претвара Ñе поÑле прерачунавања у Ñве поддиректоријуме +унутар Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ˜ÑƒÐ¼Ä <span class="file">foo</span> и <span class="file">bar</span> +у личном директоријуму кориÑника <span class="texttt">$USER</span>, и то Ñамо +онакве који Ñадрже у Ñеби директоријум или фајл по имену <span +class="file">baz</span>. Овакве транÑформације објашњене Ñу у +Ñледећем одељку. +<!--l. 2313--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">7.1.4 </span> <a + id="x1-600007.1.4"></a>Стандардно прерачунавање</h5> +<!--l. 2316--><p class="noindent" >Ðко путања за претрагу Ñа највећим приоритетом (погледајте +„Извори путања“ на ÑÑ‚Ñ€. <a +href="#x1-570007.1.1">63<!--tex4ht:ref: sec:path-sources --></a>) Ñадржи једну <span class="emph">додатну +двотачку</span> (на почетку, на крају, или удвојену) Kpathsea убацује на +том меÑту путању која је Ñледећу по приоритету у оквиру задате +претраге. Ðко та уметнута путања има додатну двотачку, иÑто Ñе дешава Ñа Ñледећим +раÑположивим приоритетом по важноÑти. Ðа пример, ако Ñу ÑиÑтемÑке променљиве +поÑтављене овако: + <div class="alltt"> + + +<!--l. 2324--><p class="noindent" ><div class="obeylines-v"> > <span class="command">setenv TEXINPUTS /home/karl:</span> +</div> +</div> и ако је вредноÑÑ‚ променљиве <span class="path">TEXINPUTS</span> из <span class="file">texmf.cnf</span> +једнака + <div class="alltt"> +<!--l. 2329--><p class="noindent" ><div class="obeylines-v"> .:$TEXMF//tex +</div> +</div> онда ће коначна вредноÑÑ‚ која ће бити употребљена за претрагу +бити: + <div class="alltt"> +<!--l. 2333--><p class="noindent" ><div class="obeylines-v"> /home/karl:.:$TEXMF//tex +</div> +</div> +<!--l. 2336--><p class="indent" > Пошто би било беÑкориÑно уметати подразумевану вредноÑÑ‚ на више од једног меÑта, +Kpathsea транÑформише Ñамо један додатни „<span class="samp">:</span>“ а +оÑтале оÑтавља како јеÑу. Програм најпре тражи има ли „<span +class="samp">:</span>“ на почетку реда, затим на крају, а затим тражи двоÑтруке „<span +class="samp">:</span>“. +<!--l. 2341--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">7.1.5 </span> <a + id="x1-610007.1.5"></a>Прерачунавање заграда</h5> +<!--l. 2344--><p class="noindent" >Једна кориÑна могућноÑÑ‚ је и прерачунавање заграда: на пример, +<span class="obeylines-h"><span class="verb">v{a,b}w</span></span> Ñе претвара у <span class="obeylines-h"><span class="verb">vaw:vbw</span></span>. Дозвољено је уметање заграда унутар +поÑтојећег пара заграда; захваљујући овоме могуће +је имати више <span class="TEX">T<span +class="E">E</span>X</span> хијерархија Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ˜ÑƒÐ¼Ä Ñ‚Ð°ÐºÐ¾ што Ñе +<span class="path">\$TEXMF</span>-у додели лиÑта заграда. Ðа пример, у фајлу <span class="file">texmf.cnf</span> +је направљена оваква дефиниција (у овом примеру Ñтварни кôд +је поједноÑтављен): + + + <div class="verbatim" id="verbatim-3"> + <div class="fancyvrb" id="fancyvrb16"><a + id="x1-61002r1"></a> TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN}</div> +</div> +<!--l. 2353--><p class="nopar" >Захваљујући овоме, могуће је напиÑати: + + + <div class="verbatim" id="verbatim-4"> + <div class="fancyvrb" id="fancyvrb17"><a + id="x1-61004r1"></a> TEXINPUTS = .;$TEXMF/tex//</div> +</div> +<!--l. 2357--><p class="nopar" >што значи да ће Ñе претрага, након задржавања у тренутном директоријуму, +обавити <span class="emph">иÑкључиво</span> у дрветима <span class="path">\$TEXMFHOME/tex</span>, +<span class="path">\$TEXMFLOCAL/tex</span>, <span class="path">\$TEXMFVAR/tex</span> и <span class="path">\$TEXMFMAIN/tex</span> (поÑледња два имају +базу података Ñа фајловима <span class="file">ls-R</span>). Ово предÑтавља +један удобан начин да одржавате две паралелне Ñтруктуре <span class="TEX">T<span +class="E">E</span>X</span>-а, једну +„замрзнуту“ (на пример на CD-у) и једну која Ñе непреÑтано оÑвежава новим +верзијама чим Ñе појаве. Пошто кориÑтимо променљиву <span class="path">\$TEXMF</span> у Ñвим +дефиницијама, можемо бити Ñигурни да ће увек оно дрво које Ñе оÑвежава +бити прво које Ñе претражује. +<!--l. 2370--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">7.1.6 </span> <a + id="x1-620007.1.6"></a>Прерачунавање поддиректоријума</h5> +<!--l. 2373--><p class="noindent" >Две или више узаÑтопних коÑих црта у елементу путање које Ñледе иза +директоријума <span class="emph">d</span> транÑформишу Ñе у ÑпиÑак Ñвих +поддиректоријума који Ñе по хијерархији налазе иÑпод +<span class="emph">d</span>: прво иду они који Ñу непоÑредно иÑпод <span +class="emph">d</span>, затим они иÑпод њих, итд. Ðа Ñваком од тих нивоа редоÑлед +којим Ñе директоријуми претражују <span class="emph">није +изричито одређен</span>. +<!--l. 2380--><p class="indent" > Ðко Ñтавите неки део имена фајла поÑле „<span class="samp">//</span>“, биће +укључени Ñамо поддиректоријуми који Ñадрже поклапање +Ñа тим делом имена. Ðа пример, „<span class="samp">/a//b</span>“ Ñе претвара у +директоријуме <span class="file">/a/1/b</span>, <span class="file">/a/2/b</span>, <span +class="file">/a/1/1/b</span> итд, али не у <span class="file">/a/b/c</span> или <span +class="file">/a/1</span>. +<!--l. 2386--><p class="indent" > Могуће је употребити и више конÑтрукција Ñа „<span +class="samp">//</span>“ у једној путањи, али Ñе „<span +class="samp">//</span>“ на почетку путање игнорише. +<!--l. 2389--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">7.1.7 </span> <a + id="x1-630007.1.7"></a>СпиÑак Ñпецијалних Ñимбола и њихово значење: преглед</h5> +<!--l. 2391--><p class="noindent" >Следећа лиÑта даје преглед Ñпецијалних Ñимбола у конфигурационим +фајловима које кориÑти Kpathsea. +<!--l. 2396--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span class="path">:</span> </dt><dd +class="list"> + <!--l. 2397--><p class="noindent" >Сепаратор у задавању путање; на почетку или на крају + путање Ñлужи умеÑто подразумеваног прерачунавања путање. + </dd><dt class="list"> + <span class="path">;</span> </dt><dd +class="list"> + <!--l. 2399--><p class="noindent" >Сепаратор на ÑиÑтемима који ниÑу Ñродни Ñа Unix-им (понаша Ñе иÑто као <span class="path">:</span>). + </dd><dt class="list"> + <span class="path">\$</span> </dt><dd +class="list"> + <!--l. 2401--><p class="noindent" >Прерачунавање променљиве. + </dd><dt class="list"> + <span class="path"> ~</span></dt><dd +class="list"> + <!--l. 2402--><p class="noindent" >ПредÑтавља кориÑников лични директоријум. + </dd><dt class="list"> + <span class="path">{...}</span></dt><dd +class="list"> + <!--l. 2403--><p class="noindent" >Прерачунавање заградÄ. + + + </dd><dt class="list"> + <span class="path">//</span> </dt><dd +class="list"> + <!--l. 2404--><p class="noindent" >Прерачунавање Ð¿Ð¾Ð´Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ˜ÑƒÐ¼Ä (може да Ñтоји било + где у путањи изузев на почетку). + </dd><dt class="list"> + <span class="path">%</span> </dt><dd +class="list"> + <!--l. 2406--><p class="noindent" >Почетак коментара. + </dd><dt class="list"> + <span class="path">\ </span> </dt><dd +class="list"> + <!--l. 2407--><p class="noindent" >Ознака да Ñледи наÑтавак текÑта (омогућава Ñтавке које Ñе проÑтиру кроз + више линија). + </dd><dt class="list"> + <span class="path">!!</span> </dt><dd +class="list"> + <!--l. 2409--><p class="noindent" >Претраживање <span class="emph">иÑкључиво</span> базе података да + Ñе нађе фајл, диÑк Ñе <span class="emph">не</span> + претражује.</dd></dl> +<!--l. 2414--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">7.2 </span> <a + id="x1-640007.2"></a>Базе података Ñа именима фајлова</h4> +<!--l. 2417--><p class="noindent" >Kpathsea покушава да колико је могуће Ñмањи физички приÑтуп диÑку +када обавља Ñвоје претраге. Ð£Ð¿Ñ€ÐºÐ¾Ñ Ñ‚Ð¾Ð¼Ðµ, на инÑталацијама Ñа +великим бројем директоријума, претраживање Ñвих могућих +директоријума да би Ñе нашао задати фајл може предуго да траје (ово +је нарочито Ñлучај ако Ñе мора проћи више Ñтотина директоријума +који Ñадрже фонтове). Из тог разлога је Kpathsea оÑмишљен да може да +кориÑти унапред ÑаÑтављену „базу података“ — заправо текÑтуални фајл — по имену +<span class="file">ls-R</span>, који повезује Ñтварне фајлове Ñа +одговарајућим директоријумима и на тај начин елиминише потребу +да Ñе диÑку чеÑто приÑтупа. +<!--l. 2427--><p class="indent" > Други фајл — база података, по имену <span class="file">aliases</span>, +омогућава Вам да дате додатна имена фајловима који Ñу излиÑтани у <span +class="file">ls-R</span>. Ово може да буде од кориÑти ако је потребно да Ñе у неком изворном +коду поштује конвенција о именима фајлова која потиче из +ÑиÑтема DOS 8.3. +<!--l. 2433--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">7.2.1 </span> <a + id="x1-650007.2.1"></a>База података ls-R</h5> +<!--l. 2436--><p class="noindent" >Као што је Ð¼Ð°Ð»Ð¾Ñ‡Ð°Ñ Ð¾Ð±Ñ˜Ð°ÑˆÑšÐµÐ½Ð¾, име главне базе података Ñа +фајловима мора бити <span class="file">ls-R</span>. Можете да Ñтавите по један +такав фајл у корен Ñваке <span class="TEX">T<span +class="E">E</span>X</span>-хијерархије коју имате и +коју желите да претражујете помоћу Kpathsea (подразумева Ñе +<span class="path">\$TEXMF</span>). Kpathsea увек проверава да ли има неки <span class="file">ls-R</span> дуж +<span class="path">TEXMFDBS</span>. +<!--l. 2442--><p class="indent" > Препоручени начин да направите и одржавате „<span class="samp">ls-R</span>“ јеÑте да +покренете Ñкрипту <span class="path">mktexlsr</span> (која је укључена у диÑтрибуцију). +Њу позивају разне „<span class="samp">mktex</span>“... Ñкрипте. У принципу, ова +Ñкрипта напроÑто покреће команду <div class="alltt"> +<!--l. 2446--><p class="noindent" ><div class="obeylines-v"> cd <span +class="emph">/корен/texmf/хијерархије</span> && <span class="path">\</span>ls -1LAR ./ >ls-R + + +</div> +</div> уз претпоÑтавку да команда <span class="path">ls</span> на Вашем ÑиÑтему даје иÑправан излаз (GNU <span class="path">ls</span> је +таква команда). Како биÑте били Ñигурни да је база података увек Ñвежа, најлакши +начин је да је редовно преправљате кориÑтећи <span class="path">cron</span>, тако +да Ñе она аутоматÑки оÑвежава увек када Ñе неки већ инÑталирани фајл +промени, као што је Ñлучај када Ñе инÑталира или оÑвежава неки <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> +пакет. +<!--l. 2455--><p class="indent" > Ðко фајл не може да Ñе пронађе у бази података, подразумевана радња +коју предузима Kpathsea јеÑте да крене у претрагу директно на диÑку. Ðко, +међутим, неки поједини елемент путање почиње Ñа „<span +class="samp">!!</span>“, претражиће Ñе <span class="emph">Ñамо</span> база података, +никада Ñâм диÑк. +<!--l. 2461--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">7.2.2 </span> <a + id="x1-660007.2.2"></a>СамоÑтални програм за претраживање: kpsewhich</h5> +<!--l. 2464--><p class="noindent" >Програм <span class="texttt">kpsewhich</span> изводи претраживање незавиÑно од било +које апликације. У овом ÑмиÑлу он може бити кориÑтан и као нека врÑта програма +<span class="path">find</span> ако треба лоцирати појединачне фајлове у <span class="TEX">T<span +class="E">E</span>X</span>-хијерархијама +(<span class="texttt">kpsewhich</span> Ñе заиÑта и кориÑти веома интензивно у Ñкриптама „<span +class="samp">mktex</span>“... које Ñу део диÑтрибуције). + <div class="alltt"> +<!--l. 2470--><p class="noindent" ><div class="obeylines-v"> > <span class="command">kpsewhich <span class="emph">option</span>... <span +class="emph">filename</span>...</span> +</div> +</div> Опције назначене у <span class="emph">option</span> могу да почну и Ñа „<span +class="samp">-</span>“ и Ñа „<span class="samp">--</span>“; такође, дозвољено +је и било које недвоÑмиÑлено Ñкраћивање. +<!--l. 2475--><p class="indent" > Kpathsea третира Ñваки аргумент Ñа командне линије (који није +опција) као име фајла, и враћа први фајл који +пронађе. Ðе поÑтоји могућноÑÑ‚ да Ñе врате Ñва имена фајлова Ñа +појединим именом (ако Вам је тако нешто потребно, употребите Unix команду „<span +class="samp">find</span>“). +<!--l. 2480--><p class="indent" > Следи Ð¾Ð¿Ð¸Ñ Ð½Ð°Ñ˜Ð²Ð°Ð¶Ð½Ð¸Ñ˜Ð¸Ñ… параметара. +<!--l. 2482--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span class="texttt">--dpi=<span class="emph">num</span></span> </dt><dd +class="list"> + <!--l. 2483--><p class="noindent" ><br +class="newline" />Задаје резолуцију <span class="emph">num</span>; + ово Ñе тиче Ñамо претрага за фајловима типа „<span class="samp">gf</span>“ и + „<span class="samp">pk</span>“. „<span class="samp">-D</span>“ је Ñиноним, + омогућен ради компатибилноÑти Ñа dvips. Подразумевана вредноÑÑ‚ је 600. + </dd><dt class="list"> + <span class="texttt">--format=<span class="emph">name</span></span> </dt><dd +class="list"> + <!--l. 2489--><p class="noindent" ><br +class="newline" />Задаје да Ñе тражи формат <span class="emph">name</span>. Подразумевани + формат Ñе претпоÑтавља на оÑнову имена фајла. За формате који + немају једнозначан наÑтавак, као што Ñу нпр. помоћни + фајлови програма MetaPost или конфигурациони фајлови програма + dvips, морате назначити име које је познато Kpathsea-у, на пример <span + class="texttt">tex</span> или <span class="texttt">enc files</span>. Покрените <span + class="texttt">kpsewhich --help</span> ако желите да видите целовит ÑпиÑак. + </dd><dt class="list"> + <span class="texttt">--mode=<span class="emph">string</span></span> </dt><dd +class="list"> + <!--l. 2498--><p class="noindent" ><br +class="newline" />Задаје режим по имену <span class="emph">string</span>; ово Ñе тиче + + + једино претрага за фајловима типа „<span class="samp">gf</span>“ + и „<span class="samp">pk</span>“. Ðема подразумеване вредноÑти: тражиће Ñе + фајлови за Ñве режиме. + </dd><dt class="list"> + <span class="texttt">--must-exist</span> </dt><dd +class="list"> + <!--l. 2503--><p class="noindent" ><br +class="newline" />Задаје да Ñе учини + Ñве што је могуће да Ñе фајлови пронађу; пре Ñвега Ñе + миÑли на прибегавање директном претраживању диÑка. Подразумева Ñе да + Ñе, ефикаÑноÑти ради, проверава Ñамо база података <span class="file">ls-R</span>. + </dd><dt class="list"> + <span class="texttt">--path=<span class="emph">string</span></span> </dt><dd +class="list"> + <!--l. 2509--><p class="noindent" ><br +class="newline" />Претрага ће Ñе вршити низ путању <span class="emph">string</span> + (обично Ñу то елементи раздвојени двотачкама), умеÑто да Ñе путања + за претрагу претпоÑтавља на оÑнову имена фајла. Подржани Ñу „<span + class="samp">//</span>“ + и Ñва Ñтандардна прерачунавања и транÑформације. Параметри „<span + class="samp">--path</span>“ и „<span class="samp">--format</span>“ узајамно + Ñе иÑкључују. + </dd><dt class="list"> + <span class="texttt">--progname=<span class="emph">name</span></span> </dt><dd +class="list"> + <!--l. 2516--><p class="noindent" ><br +class="newline" />Задаје <span class="texttt"><span class="emph">name</span></span> као име + програма. Ово може да утиче на путање за претрагу путем могућноÑти + допиÑивања имена програма (<span + class="texttt">.<span class="emph">progname</span></span>). Подразумевана вредноÑÑ‚ + је kpsewhich. + </dd><dt class="list"> + <span class="texttt">--show-path=<span class="emph">name</span></span> </dt><dd +class="list"> + <!--l. 2522--><p class="noindent" ><br +class="newline" />Приказује + путању која Ñе кориÑти да Ñе пронађе фајл или тип + фајла <span class="texttt"><span class="emph">name</span></span>. Могу Ñе + кориÑтити и наÑтавци за имена фајлова (<span class="path">.pk</span>, <span class="path">.vf</span>, итд), као и Ñама имена, баш као + у Ñлучају опције „<span class="samp">--format</span>“. + </dd><dt class="list"> + <span class="texttt">--debug=<span class="emph">num</span></span> </dt><dd +class="list"> + <!--l. 2528--><p class="noindent" ><br +class="newline" />ПоÑтавља ниво потраге за грешкама на <span class="texttt"><span + class="emph">num</span></span>.</dd></dl> +<!--l. 2533--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">7.2.3 </span> <a + id="x1-670007.2.3"></a>Примери употребе</h5> +<!--l. 2536--><p class="noindent" >Погледајмо Ñада Kpathsea на делу. Ево једне једноÑтавне претраге: + <div class="alltt"> +<!--l. 2538--><p class="noindent" ><div class="obeylines-v"> > <span class="command">kpsewhich article.cls</span> +<br /> /usr/local/texmf-dist/tex/latex/base/article.cls +</div> +</div> Оно што тражимо је фајл <span class="file">article.cls</span>. Пошто је +наÑтавак „<span class="samp">.cls</span>“ недвоÑмиÑлен, не морамо да поÑебно назначимо да желимо +да тражимо фајл типа tex (директоријуми који Ñадрже фајлове Ñа + + +изворним <span class="TEX">T<span +class="E">E</span>X</span> кôдом). Тражимо га у поддиректоријуму <span +class="file">tex/latex/base</span> који Ñе налази у <span class="TEX">T<span +class="E">E</span>X</span> Live директоријуму „<span +class="samp">texmf-dist</span>“. Ðа Ñличан начин, Ñви фајлови у примерима који +Ñледе проналазе Ñе без проблема захваљујући Ñвојим недвоÑмиÑленим +наÑтавцима: <div class="alltt"> +<!--l. 2549--><p class="noindent" ><div class="obeylines-v"> > <span class="command">kpsewhich array.sty</span> +<br /> /usr/local/texmf-dist/tex/latex/tools/array.sty +<br />> <span class="command">kpsewhich latin1.def</span> +<br /> /usr/local/texmf-dist/tex/latex/base/latin1.def +<br />> <span class="command">kpsewhich size10.clo</span> +<br /> /usr/local/texmf-dist/tex/latex/base/size10.clo +<br />> <span class="command">kpsewhich small2e.tex</span> +<br /> /usr/local/texmf-dist/tex/latex/base/small2e.tex +<br />> <span class="command">kpsewhich tugboat.bib</span> +<br /> /usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib +</div> +</div> +<!--l. 2561--><p class="indent" > Узгред, поÑледњи фајл из овог низа је библиографÑка база података +програма BibTeX која Ñе одноÑи на чланке у чаÑопиÑу <span class="emph">TUGboat</span>. + <div class="alltt"> +<!--l. 2565--><p class="noindent" ><div class="obeylines-v"> > <span class="command">kpsewhich cmr10.pk</span> +</div> +</div> Фајловe типa <span class="file">.pk</span> (фонтови направљени као бит-мапе) кориÑте +приказивачи као што Ñу dvips и xdvi. У овом Ñлучају Ñе не враћа никаква вредноÑÑ‚ +пошто нема унапред припремљених Computer Modern „<span class="samp">.pk</span>“ +фајлова у <span class="TEX">T<span +class="E">E</span>X</span> Live-у — подразумева Ñе да Ñе кориÑте Type 1 варијанте. +<div class="alltt"> +<!--l. 2572--><p class="noindent" ><div class="obeylines-v"> > <span class="command">kpsewhich wsuipa10.pk</span> +<br /> /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk +</div> +</div> За ове фонтове (фонетÑки алфабет, производ Универзитета Вашингтона) морамо да генеришемо „<span +class="samp">.pk</span>“ фајлове, и пошто је подразумевани режим програма +Metafont на нашем ÑиÑтему <span class="texttt">ljfour</span> Ñа оÑновном резолуцијом од +600 dpi (тачака по инчу), имамо баш овај резултат. <div class="alltt"> +<!--l. 2581--><p class="noindent" ><div class="obeylines-v"> > <span class="command">kpsewhich -dpi=300 wsuipa10.pk</span> +</div> +</div> У овом Ñлучају, међутим, када је изричито назначено да Ñмо заинтереÑовани +за резолуцију од 300 dpi (<span class="texttt">-dpi=300</span>), видимо да такав фонт +није раÑположив на ÑиÑтему. ОÑтаје на програмима као што Ñу dvips или xdvi да Ñами +направе потребне <span class="texttt">.pk</span> фајлове помоћу Ñкрипте +mktexpk. +<!--l. 2589--><p class="indent" > Сада ћемо размотрити заглавља (headers) и конфигурационе фајлове +програма dvips. Погледајмо најпре један веома чеÑто коришћени +фајл, пролог <span class="file">tex.pro</span> за <span class="TEX">T<span +class="E">E</span>X</span> подршку, а затим један +општи конфигурациони фајл (<span class="file">config.ps</span>) и PostScript фонт-мапу +<span class="file">psfonts.map</span> — од издања <span class="TEX">T<span +class="E">E</span>X</span> Live-а из 2004. фајлови Ñа +мапама и кодним раÑпоредима имају Ñвоје ÑопÑтвене путање за +претрагу и нов положај унутар <span class="path">texmf</span> дрветÄ. Пошто је наÑтавак +„<span class="samp">.ps</span>“ вишеÑмиÑлен, морамо да изричито назначимо који +тип имамо у виду (dvips config) за фајл <span class="texttt">config.ps</span>. +<div class="alltt"> + + +<!--l. 2599--><p class="noindent" ><div class="obeylines-v"> > <span class="command">kpsewhich tex.pro</span> +<br /> /usr/local/texmf/dvips/base/tex.pro +<br />> <span class="command">kpsewhich --format="dvips config" config.ps</span> +<br /> /usr/local/texmf/dvips/config/config.ps +<br />> <span class="command">kpsewhich psfonts.map</span> +<br /> /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map +</div> +</div> +<!--l. 2607--><p class="indent" > Погледајмо Ñада поближе помоћне фајлове програма PostScript +који Ñе тичу фонта URW Times. ПрефикÑи за ове фајлове Ñу, према +Ñтандардној шеми за именовање фонтова, „<span class="samp">utm</span>“. +Први фајл који разматрамо је један конфигурациони +фајл, који Ñадржи име фајла Ñа одговарајућом мапом: +<div class="alltt"> +<!--l. 2612--><p class="noindent" ><div class="obeylines-v"> > <span class="command">kpsewhich --format="dvips config" config.utm</span> +<br /> /usr/local/texmf-dist/dvips/psnfss/config.utm +</div> +</div> Садржај тог фајла је <div class="alltt"> +<!--l. 2616--><p class="noindent" ><div class="obeylines-v"> p +utm.map +</div> +</div> што указује на фајл <span class="file">utm.map</span>, и он је +Ñледећи ког желимо да лоцирамо. <div class="alltt"> +<!--l. 2620--><p class="noindent" ><div class="obeylines-v"> > <span class="command">kpsewhich utm.map</span> +<br /> /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +</div> +</div> Овај фајл Ñа мапом одређује имена фајлова Type 1 +PostScript фонтова у URW колекцији. Његов Ñадржај изгледа овако +(приказујемо Ñамо део): <div class="alltt"> +<!--l. 2625--><p class="noindent" ><div class="obeylines-v"> utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb +<br />utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb +<br />utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb +<br />utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb +<br />utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb +<br />utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +</div> +</div> Узмимо, на пример, инÑтанцу фонта Times Roman по имену <span class="file">utmr8a.pfb</span> +и потрáжимо њен положај у директоријуму <span +class="file">texmf</span>, уз трагање за фонт-фајловима типа Type 1: +<div class="alltt"> +<!--l. 2635--><p class="noindent" ><div class="obeylines-v"> > <span class="command">kpsewhich utmr8a.pfb</span> +<br /> /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +</div> +</div> +<!--l. 2641--><p class="indent" > Из ових примера требало би да буде јаÑно како лако можете да одредите положај +било ког задатог фајла. Ово је нарочито важно ако Ñумњате да +је у обради неког документа употребљена погрешна верзија неког +фајла, пошто ће Вам kpsewhich приказати Ñамо први фајл на који +наиђе. + + +<!--l. 2646--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">7.2.4 </span> <a + id="x1-680007.2.4"></a>ПоÑтупци отклањања грешака</h5> +<!--l. 2649--><p class="noindent" >Понекад је неопходно да Ñе иÑпита како неки програм разрешава упућивања +на одређене фајлове. Да би помогао у таквим Ñитуацијама, Kpathsea нуди +разне нивое излаза у режиму трагања за грешкама (debugging): + <dl class="list1"><dt class="list"> + <span class="texttt"> 1</span> </dt><dd +class="list"> + <!--l. 2654--><p class="noindent" >СтатиÑтика директног приÑтупа диÑку. Када Ñе претрага обавља Ñа Ñвежом <span + class="file">ls-R</span> базом, ово не би требало да дâ готово никакав + излаз. + </dd><dt class="list"> + <span class="texttt"> 2</span> </dt><dd +class="list"> + <!--l. 2657--><p class="noindent" >Упућивања на „hash“ табеле (као што је база података <span + class="file">ls-R</span>, фајлови Ñа мапама, конфигурациони фајлови). + </dd><dt class="list"> + <span class="texttt"> 4</span> </dt><dd +class="list"> + <!--l. 2659--><p class="noindent" >Операције отварања и затварања фајлова. + </dd><dt class="list"> + <span class="texttt"> 8</span> </dt><dd +class="list"> + <!--l. 2660--><p class="noindent" >Опште информације о путањама које Kpathsea кориÑти за разне + типове фајлова. Ово је кориÑно када треба уÑтановити на ком меÑту + је нека поједина путања за неки фајл дефиниÑана. + </dd><dt class="list"> + <span class="texttt">16</span> </dt><dd +class="list"> + <!--l. 2663--><p class="noindent" >ЛиÑта директоријума за Ñваки елемент путање (ово је релевантно + Ñамо ако Ñе претражује диÑк). + </dd><dt class="list"> + <span class="texttt">32</span> </dt><dd +class="list"> + <!--l. 2665--><p class="noindent" >Претраге за фајловима. + </dd><dt class="list"> + <span class="texttt">64</span> </dt><dd +class="list"> + <!--l. 2666--><p class="noindent" >ВредноÑти променљивих.</dd></dl> +<!--l. 2668--><p class="noindent" >ВредноÑÑ‚ <span class="texttt">-1</span> ће активирати Ñве опиÑане опције; у пракÑи +је ово обично и најкориÑније. +<!--l. 2671--><p class="indent" > Ðа Ñличан начин, ако Ñе програм dvips покрене Ñа одговарајућом +комбинацијом ових опција, може Ñе до најÑитнијих детаља +пратити одакле Ñе узимају поједини фајлови. Или, ако Ñе неки +фајл не пронађе, детаљан излаз који Ñмо добили показује у +којим је директоријумима програм покушавао да нађе +задати фајл, тако да Ñе може добити неки наговештај о томе где лежи +проблем. +<!--l. 2678--><p class="indent" > Уопштено говорећи, будући да већина програма позива библиотеку +Kpathsea интерно, опција за отклањање грешака Ñе може укључити +путем ÑиÑтемÑке променљиве <span class="path">KPATHSEA_DEBUG</span> тако што Ñе она подеÑи на неку вредноÑÑ‚ +(или комбинацију вредноÑти) опиÑану у претходној табели. +<!--l. 2683--><p class="indent" > (Ðапомена за кориÑнике Windows-а: на овом ÑиÑтему није лако преуÑмерити Ñве поруке +које даје неки програм у фајл. За Ñврхе дијагноÑтиковања +можете привремено да подеÑите одговарајућу променљиву помоћу +<span class="texttt">SET KPATHSEA_DEBUG_OUTPUT=err.log</span>.) +<!--l. 2688--><p class="indent" > Размотримо као пример један мали фајл Ñа <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> кôдом, <span +class="file">hello-world.tex</span> („Здраво, Ñвете!“), Ñа Ñледећим Ñадржајем: + + + <div class="verbatim" id="verbatim-5"> + <div class="fancyvrb" id="fancyvrb18"><a + id="x1-68002r1"></a> \documentclass{article}<br class="fancyvrb" /><a + id="x1-68004r2"></a> \begin{document}<br class="fancyvrb" /><a + id="x1-68006r3"></a> Hello World!<br class="fancyvrb" /><a + id="x1-68008r4"></a> \end{document}</div> +</div> +<!--l. 2695--><p class="nopar" >Овај мали фајл кориÑти Ñамо фонт <span class="file">cmr10</span>, па +погледајмо Ñтога како dvips припрема PostScript фајл (желимо да кориÑтимо +Type 1 верзију фонтова из породице Computer Modern, отуда опција <span +class="texttt">-Pcms</span>). <div class="alltt"> +<!--l. 2700--><p class="noindent" ><div class="obeylines-v"> > <span class="command">dvips -d4100 hello-world -Pcms -o</span> +</div> +</div> У овом Ñлучају Ñмо комбиновали ниво 4 за отклањање грешака програма +dvips (тј. путање везане за фонтове) Ñа прерачунавањем елемента +путање преко Kpathsea (погледајте упутÑтво за употребу програма dvips, +<a +href="../../../../texmf/doc/dvips/dvips.pdf" >texmf/doc/dvips/dvips.pdf</a>). Излаз (незнатно преÑложен) може Ñе видети на Ñлици <a +href="#x1-68031r12">12<!--tex4ht:ref: fig:dvipsdbga --></a>. +<!--l. 2707--><p class="indent" > <a + id="x1-68031r12"></a><a + id="x1-68036r13"></a><a + id="x1-68049r14"></a><hr class="float"><div class="float" +> + + +<div class="BVerbatimInput"><span +class="larm-0900">debug:start</span><span +class="larm-0900"> search(file=texmf.cnf,</span><span +class="larm-0900"> must_exist=1,</span><span +class="larm-0900"> find_all=1,</span><br /><span +class="larm-0900"> </span><span +class="larm-0900"> path=.:/usr/local/bin/texlive:/usr/local/bin:</span><br /><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> /usr/local/bin/texmf/web2c:/usr/local:</span><br /><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> /usr/local/texmf/web2c:/.:/./teTeX/TeX/texmf/web2c:).</span><br /><span +class="larm-0900">kdebug:start</span><span +class="larm-0900"> search(file=ls-R,</span><span +class="larm-0900"> must_exist=1,</span><span +class="larm-0900"> find_all=1,</span><br /><span +class="larm-0900"> </span><span +class="larm-0900"> path=~/tex:/usr/local/texmf).</span><br /><span +class="larm-0900">kdebug:search(ls-R)</span><span +class="larm-0900"> =>/usr/local/texmf/ls-R</span><br /><span +class="larm-0900">kdebug:start</span><span +class="larm-0900"> search(file=aliases,</span><span +class="larm-0900"> must_exist=1,</span><span +class="larm-0900"> find_all=1,</span><br /><span +class="larm-0900"> </span><span +class="larm-0900"> path=~/tex:/usr/local/texmf).</span><br /><span +class="larm-0900">kdebug:search(aliases)</span><span +class="larm-0900"> =></span><span +class="larm-0900"> /usr/local/texmf/aliases</span><br /><span +class="larm-0900">kdebug:start</span><span +class="larm-0900"> search(file=config.ps,</span><span +class="larm-0900"> must_exist=0,</span><span +class="larm-0900"> find_all=0,</span><br /><span +class="larm-0900"> </span><span +class="larm-0900"> path=.:~/tex:!!/usr/local/texmf/dvips//).</span><br /><span +class="larm-0900">kdebug:search(config.ps)</span><span +class="larm-0900"> =></span><span +class="larm-0900"> /usr/local/texmf/dvips/config/config.ps</span><br /><span +class="larm-0900">kdebug:start</span><span +class="larm-0900"> search(file=/root/.dvipsrc,</span><span +class="larm-0900"> must_exist=0,</span><span +class="larm-0900"> find_all=0,</span><br /><span +class="larm-0900"> </span><span +class="larm-0900"> path=.:~/tex:!!/usr/local/texmf/dvips//).</span><br /><span +class="larm-0900">search(file=/home/goossens/.dvipsrc,</span><span +class="larm-0900"> must_exist=1,</span><span +class="larm-0900"> find_all=0,</span><br /><span +class="larm-0900"> </span><span +class="larm-0900"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//).</span><br /><span +class="larm-0900">kdebug:search($HOME/.dvipsrc)</span><span +class="larm-0900"> =></span><br /><span +class="larm-0900">kdebug:start</span><span +class="larm-0900"> search(file=config.cms,</span><span +class="larm-0900"> must_exist=0,</span><span +class="larm-0900"> find_all=0,</span><br /><span +class="larm-0900"> </span><span +class="larm-0900"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//).</span><br /><span +class="larm-0900">kdebug:search(config.cms)</span><br /><span +class="larm-0900">=>/usr/local/texmf/dvips/cms/config.cms</span></div> + <div class="caption" +><span class="id">Слика 12: </span><span +class="content">Тражење конфигурационих фајлова</span></div><!--tex4ht:label?: x1-68031r12 --> +<div class="BVerbatimInput"><span +class="larm-0900">kdebug:start</span><span +class="larm-0900"> search(file=texc.pro,</span><span +class="larm-0900"> must_exist=0,</span><span +class="larm-0900"> find_all=0,</span><br /><span +class="larm-0900"> </span><span +class="larm-0900"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:</span><br /><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).</span><br /><span +class="larm-0900">kdebug:search(texc.pro)</span><span +class="larm-0900"> =></span><span +class="larm-0900"> /usr/local/texmf/dvips/base/texc.pro</span></div> + <div class="caption" +><span class="id">Слика 13: </span><span +class="content">Тражење пролог фајла</span></div><!--tex4ht:label?: x1-68036r13 --> +<div class="BVerbatimInput"><span +class="larm-0900">kdebug:start</span><span +class="larm-0900"> search(file=cmr10.tfm,</span><span +class="larm-0900"> must_exist=1,</span><span +class="larm-0900"> find_all=0,</span><br /><span +class="larm-0900"> </span><span +class="larm-0900"> path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//:</span><br /><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> /var/tex/fonts/tfm//).</span><br /><span +class="larm-0900">kdebug:search(cmr10.tfm)</span><span +class="larm-0900"> =></span><span +class="larm-0900"> /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm</span><br /><span +class="larm-0900">kdebug:start</span><span +class="larm-0900"> search(file=texps.pro,</span><span +class="larm-0900"> must_exist=0,</span><span +class="larm-0900"> find_all=0,</span><br /><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> ...</span><br /><span +class="larm-0900"><texps.pro></span><br /><span +class="larm-0900">kdebug:start</span><span +class="larm-0900"> search(file=cmr10.pfb,</span><span +class="larm-0900"> must_exist=0,</span><span +class="larm-0900"> find_all=0,</span><br /><span +class="larm-0900"> </span><span +class="larm-0900"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:</span><br /><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).</span><br /><span +class="larm-0900">kdebug:search(cmr10.pfb)</span><span +class="larm-0900"> =></span><span +class="larm-0900"> /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb</span><br /><span +class="larm-0900"><cmr10.pfb>[1]</span></div> + <div class="caption" +><span class="id">Слика 14: </span><span +class="content">Тражење фајла Ñа фонтом</span></div><!--tex4ht:label?: x1-68049r14 --> + + + </div><hr class="endfloat" /> +<!--l. 2723--><p class="indent" > dvips почиње тако што лоцира Ñвоје ÑопÑтвене конфигурационе фајлове. +Ðајпре налази <span class="file">texmf.cnf</span>, и тај фајл му +даје дефиниције путања на којима треба наћи +друге фајлове, затим Ñе проналази база података <span class="file">ls-R</span> +(како би Ñе трагање за фајловима оптимизовало), и коначно фајл +<span class="file">aliases</span>, који омогућава да Ñе зада више имена за +иÑти фајл (нпр. кратка имена у Ñтилу ÑиÑтема DOS 8.3 или читкије дуже +варијанте). Затим dvips прелази на тражење општег конфигурационог фајла +<span class="file">config.ps</span>, пре него што прегледа фајл Ñа подешавањима по +имену <span class="file">.dvipsrc</span> (који, у овом Ñлучају, <span +class="emph">није пронађен</span>). Коначно, dvips налази конфигурациони +фајл за породицу PostScript фонтова Computer Modern, који Ñе зове <span +class="file">config.cms</span> (ово је иницирано зато што је уз команду dvips +употребљена опција <span class="texttt">-Pcms</span>). Овај +фајл Ñадржи лиÑту фајлова Ñа мапама који дефинишу Ð¾Ð´Ð½Ð¾Ñ +између <span class="TEX">T<span +class="E">E</span>X</span>-а, PostScript-а и Ñтварних имена фонтова на диÑку. <div class="alltt"> +<!--l. 2738--><p class="noindent" ><div class="obeylines-v"> > <span class="command">more /usr/local/texmf/dvips/cms/config.cms</span> +<br /> p +ams.map +<br /> p +cms.map +<br /> p +cmbkm.map +<br /> p +amsbkm.map +</div> +</div> dvips налази Ñве ове фајлове, као и општи фајл Ñа мапом по имену <span +class="file">psfonts.map</span>, који Ñе увек учитава (он Ñадржи декларације за +најчешће коришћене PostScript фонтове; поÑледњи део +одељка <a +href="#x1-670007.2.3">7.2.3<!--tex4ht:ref: sec:examples-of-use --></a> Ñадржи више информација о коришћењу +фајлова Ñа мапама за PostScript фонтове). +<!--l. 2750--><p class="indent" > Ðа овом Ñтупњу dvips Ñе предÑтавља кориÑнику: <div class="alltt"> +<!--l. 2751--><p class="noindent" ><div class="obeylines-v"> This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) +</div> +</div> Затим прелази на тражење пролог фајла <span class="file">texc.pro</span>: +<div class="alltt"> +<!--l. 2755--><p class="noindent" ><div class="obeylines-v"> +<br /><span +class="larm-0900">kdebug:start</span><span +class="larm-0900"> search(file=texc.pro,</span><span +class="larm-0900"> must_exist=0,</span><span +class="larm-0900"> find_all=0,</span> +<br /><span +class="larm-0900"> </span><span +class="larm-0900"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:</span> +<br /><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).</span> +<br /><span +class="larm-0900">kdebug:search(texc.pro)</span><span +class="larm-0900"> =></span><span +class="larm-0900"> /usr/local/texmf/dvips/base/texc.pro</span> +</div> +</div> +<!--l. 2766--><p class="indent" > Ðашавши поменути фајл, dvips иÑпиÑује датум и време и обавештава Ð½Ð°Ñ Ð´Ð° +ће направити фајл <span class="file">hello-world.ps</span>, затим да му треба +фонт-фајл <span class="file">cmr10</span>, као и да ће овај +поÑледњи бити означен као „резидентан“ (тј. да му ниÑу потребне бит-мапе): +<div class="alltt"> +<!--l. 2770--><p class="noindent" ><div class="obeylines-v"> +<br /><span +class="larm-0900">TeX</span><span +class="larm-0900"> output</span><span +class="larm-0900"> 1998.02.26:1204"</span><span +class="larm-0900"> -></span><span +class="larm-0900"> hello-world.ps</span> +<br /><span +class="larm-0900">Defining</span><span +class="larm-0900"> font</span><span +class="larm-0900"> ()</span><span +class="larm-0900"> cmr10</span><span +class="larm-0900"> at</span><span +class="larm-0900"> 10.0pt</span> +<br /><span +class="larm-0900">Font</span><span +class="larm-0900"> cmr10</span><span +class="larm-0900"> <CMR10></span><span +class="larm-0900"> is</span><span +class="larm-0900"> resident.</span> + + +</div> +</div> Сада Ñе претрага наÑтавља, овог пута за фајлом <span class="file">cmr10.tfm</span>; +када га пронађе, упућује Ñе на још неколико пролог +фајлова (ниÑу приказани), и на крају Ñе лоцира Type 1 облик фонта, који Ñе +зове <span class="file">cmr10.pfb</span>, и тај податак Ñе укључује у +фајл Ñа излазом (погледајте поÑледњу линију). <div class="alltt"> +<!--l. 2780--><p class="noindent" ><div class="obeylines-v"> +<br /><span +class="larm-0900">kdebug:start</span><span +class="larm-0900"> search(file=cmr10.tfm,</span><span +class="larm-0900"> must_exist=1,</span><span +class="larm-0900"> find_all=0,</span> +<br /><span +class="larm-0900"> </span><span +class="larm-0900"> path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//:</span> +<br /><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> /var/tex/fonts/tfm//).</span> +<br /><span +class="larm-0900">kdebug:search(cmr10.tfm)</span><span +class="larm-0900"> =></span><span +class="larm-0900"> /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm</span> +<br /><span +class="larm-0900">kdebug:start</span><span +class="larm-0900"> search(file=texps.pro,</span><span +class="larm-0900"> must_exist=0,</span><span +class="larm-0900"> find_all=0,</span> +<br /><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> ...</span> +<br /><span +class="larm-0900"><texps.pro></span> +<br /><span +class="larm-0900">kdebug:start</span><span +class="larm-0900"> search(file=cmr10.pfb,</span><span +class="larm-0900"> must_exist=0,</span><span +class="larm-0900"> find_all=0,</span> +<br /><span +class="larm-0900"> </span><span +class="larm-0900"> path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:</span> +<br /><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> </span><span +class="larm-0900"> ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).</span> +<br /><span +class="larm-0900">kdebug:search(cmr10.pfb)</span><span +class="larm-0900"> =></span><span +class="larm-0900"> /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb</span> +<br /><span +class="larm-0900"><cmr10.pfb>[1]</span> +</div> +</div> + <h4 class="subsectionHead"><span class="titlemark">7.3 </span> <a + id="x1-690007.3"></a>Опције током рада (runtime options)</h4> +<!--l. 2797--><p class="noindent" >Још једна кориÑна ÑпоÑобноÑÑ‚ Web2C-а јеÑте могућноÑÑ‚ да Ñе +контролише велики број меморијÑких параметара (а поÑебно „array sizes“) путем +фајла <span class="file">texmf.cnf</span> који чита Kpathsea. Подешавања +која Ñе тичу меморије могу Ñе пронаћи у делу 3 тог фајла у <span class="TEX">T<span +class="E">E</span>X</span> +Live диÑтрибуцији. Важнији параметри које можете да подеÑите +Ñу: +<!--l. 2803--><p class="noindent" > + <dl class="list1"><dt class="list"> + <span class="texttt">main_memory</span> </dt><dd +class="list"> + <!--l. 2804--><p class="noindent" >Укупна раÑположива меморија (Total words of memory available) за <span class="TEX">T<span +class="E">E</span>X</span>, Metafont + и MetaPost. За Ñваку вредноÑÑ‚ Ñе мора направити поÑебан фајл Ñа форматом. + Ðа пример, можете да направите „огромну“ (huge) верзију <span class="TEX">T<span +class="E">E</span>X</span>-a и да назовете + фајл Ñа форматом <span class="texttt">hugetex.fmt</span>. Према Ñтандардним + правилима означавања Ð¸Ð¼ÐµÐ½Ä + Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ä ÐºÐ¾Ñ˜Ð¸Ñ… Ñе држи Kpathsea, поÑебна вредноÑÑ‚ променљиве + <span class="texttt">main_memory</span> прочитаће Ñе из фајла <span + class="file">texmf.cnf</span>. + </dd><dt class="list"> + <span class="texttt">extra_mem_bot</span> </dt><dd +class="list"> + <!--l. 2813--><p class="noindent" >Додатни проÑтор за „велике“ („large“) Ñтруктуре података које прави <span class="TEX">T<span +class="E">E</span>X</span>: оквири + (boxes), лепак (glue), меÑта прелома (breakpoints) итд. ПоÑебно кориÑно ако кориÑтите + PI C<span class="TEX">T<span +class="E">E</span>X</span>. + </dd><dt class="list"> + <span class="texttt">font_mem_size</span> </dt><dd +class="list"> + <!--l. 2818--><p class="noindent" >Количина меморије за податке о фонтовима која Ñтоји <span class="TEX">T<span +class="E">E</span>X</span>-у на + раÑполагању. Ово је мање-више укупна величина Ñвих прочитаних + TFM фајлова. + </dd><dt class="list"> + <span class="texttt">hash_extra</span> </dt><dd +class="list"> + <!--l. 2822--><p class="noindent" >Додатни проÑтор за „hash“ табелу Ñа именима контролних Ñеквенци. Само ~10.000 + контролних Ñеквенци може да Ñе ÑмеÑти у главну „hash“ табелу; ако имате велику + књигу Ñа бројним унакрÑним референцама, може Ñе лако деÑити да + то није довољно. Подразумевана вредноÑÑ‚ променљиве <span + class="texttt">hash_extra</span> је <span class="texttt">50000</span>.</dd></dl> + + +<!--l. 2830--><p class="noindent" >Ðаравно, ово није замена за праве динамичке низове и методе раÑполагања +меморијом, али пошто је изузетно тешко да Ñе тако нешто изведе у Ñадашњем +изворном кôду <span class="TEX">T<span +class="E">E</span>X</span>-а, ови параметри за покретање програма +предÑтављају практични ÐºÐ¾Ð¼Ð¿Ñ€Ð¾Ð¼Ð¸Ñ ÐºÐ¾Ñ˜Ð¸ ипак даје и нешто +флекÑибилноÑти. +<!--l. 2943--><p class="indent" > <a id="ack"></a> + <h3 class="sectionHead"><span class="titlemark">8 </span> <a + id="x1-700008"></a>Захвалнице</h3> +<!--l. 2946--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> Live је резултат заједничких напора практично Ñвих група кориÑника <span class="TEX">T<span +class="E">E</span>X</span>-а. +Овим издањем <span class="TEX">T<span +class="E">E</span>X</span> Live-а руководио је Карл Бери [Karl Berry]. Групе и +појединци набројани на ÑпиÑку који Ñледи, они који Ñу у прошлоÑти +радили на <span class="TEX">T<span +class="E">E</span>X</span> Live-у и они који Ñу тренутно активни, заÑлужују нашу велику +захвалноÑÑ‚. + <ul class="itemize1"> + <li class="itemize">Централно удружење кориÑника + <span class="TEX">T<span +class="E">E</span>X</span>-а, као и удружења из Ðемачке, Холандије и ПољÑке (TUG, + DANTE e.V., NTG и GUST), која обезбеђују неопходну техничку + и админиÑтративну инфраÑтруктуру. Молимо Ð’Ð°Ñ Ð´Ð° Ñе учланите у најближу групу + кориÑника <span class="TEX">T<span +class="E">E</span>X</span>-а! (Погледајте <a +href="http://tug.org/usergroups.html" class="url" >http://tug.org/usergroups.html</a>); + </li> + <li class="itemize">CTAN тим, поÑебно Робин Ð¤ÐµÑ€Ð½Ð±ÐµÑ€Ð½Ñ [Robin Fairbairns], Ðим Хеферон [Jim Hefferon] + и Рајнер Шепф [Rainer Schöpf], који диÑтрибуира издања + <span class="TEX">T<span +class="E">E</span>X</span> Live-а и обезбеђује обједињену инфраÑтруктуру + за оÑвежавање Ñвих пакета који имају везе Ñа <span class="TEX">T<span +class="E">E</span>X</span>-ом, од + којих <span class="TEX">T<span +class="E">E</span>X</span> Live завиÑи; + </li> + <li class="itemize">Ðелзон Биб [Nelson Beebe], који је Ñтавио програмерима <span class="TEX">T<span +class="E">E</span>X</span> Live-а + на раÑполагање многе платформе и који је Ñâм + обавио много темељних теÑтова; + </li> + <li class="itemize">Ðон Боумен [John Bowman], који је обавио велики поÑао на + интеграцији Ñвог напредног графичког програма Asymptote у <span class="TEX">T<span +class="E">E</span>X</span> Live; + </li> + <li class="itemize">Петер Брајтенлонер [Peter Breitenlohner] и e-<span class="TEX">T<span +class="E">E</span>X</span> тим, зато што Ñу поÑтавили + чврÑте темеље будућим варијантама <span class="TEX">T<span +class="E">E</span>X</span>-а, а Петеру поÑебно + за бриљантан поÑао на увођењу и одржавању ÑиÑтема + GNU autotools унутар <span class="TEX">T<span +class="E">E</span>X</span> Live-а; + </li> + <li class="itemize">Сташек Ваврикевич [Staszek Wawrykiewicz], главна оÑоба за теÑтирање <span class="TEX">T<span +class="E">E</span>X</span> + Live-а и координатор многих пољÑких пројеката, за рад на Windows + инÑталацији, и још много тога; + </li> + <li class="itemize">Олаф Вебер [Olaf Weber], за Ñвоје Ñтрпљиво одржавање ÑиÑтема + Web2C; + </li> + <li class="itemize">Гербен Вирда [Gerben Wierda], зато што је уÑтановио и одржавао <span class="TEX">T<span +class="E">E</span>X</span> Live на + Mac OS X-у и за учешће у теÑтирању; + </li> + <li class="itemize">Грејем Ð’Ð¸Ð»Ð¸Ñ˜Ð°Ð¼Ñ [Graham Williams], на чији рад Ñе + оÑлања каталог Ð¿Ð°ÐºÐµÑ‚Ä <span class="TEX">T<span +class="E">E</span>X</span> Catalogue; + </li> + <li class="itemize">Владимир Волович, за помоћ око портовања <span class="TEX">T<span +class="E">E</span>X</span> Live-а на многе ÑиÑтеме + и за рад на многим програмима, нарочито зато што је омогућио да Ñе у + диÑтрибуцију укључи xindy; + + + </li> + <li class="itemize">Ђин-Хуан Чо [Jin-Hwan Cho] и DVIPDFM<span +class="lmmi-10">x </span>тим, за њихов изврÑни + драјвер и брзе реакције везане за конфигурационе проблеме; + </li> + <li class="itemize">Михел ГоÑÐµÐ½Ñ [Michel Goossens], који је био један од аутора прве + верзије ове документације; + </li> + <li class="itemize">Ејтан Гурари [Eitan Gurari], чији Ñе ÑиÑтем <span class="TEX">T<span +class="E">E</span>X</span>4ht употребљава + да Ñе направе верзије ове документације у HTML формату, и + који је Ñваке године неуморно радио на уÑавршавању Ñвог + програма. Ејтан је прерано преминуо у јуну 2009. и ми + поÑвећујемо ову документацију уÑпомени на њега; + </li> + <li class="itemize">Ð¢Ð¾Ð¼Ð°Ñ Ð•Ñер [Thomas Esser], без чијег Ñјајног te<span class="TEX">T<span +class="E">E</span>X</span> пакета <span class="TEX">T<span +class="E">E</span>X</span> + Live никада не би поÑтојао; + </li> + <li class="itemize">Павел ЈаковÑки [Pawe<span +class="rm-lmr-10">ł </span>Jackowski], за развој инÑталационог програма за + Windows по имену tlpm, и Томаш Лужак [Tomasz <span +class="rm-lmr-10">Ł</span>uczak] за програм tlpmgui, који + Ñу Ñе кориÑтили у ранијим издањима; + </li> + <li class="itemize">Ðкира Какуто [Akira Kakuto], зато што је Ñтавио на раÑполагање + верзије програма за Windows из Ñвоје диÑтрибуције W32TEX + за јапанÑки <span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://w32tex.org" class="url" >http://w32tex.org</a>), као и за велики Ð´Ð¾Ð¿Ñ€Ð¸Ð½Ð¾Ñ Ñ€Ð°Ð·Ð²Ð¾Ñ˜Ñƒ + многих елемената <span class="TEX">T<span +class="E">E</span>X</span> Live-a; + </li> + <li class="itemize">Ðонатан Кју [Jonathan Kew], зато што је развио изузетни дериват + Xe<span class="TEX">T<span +class="E">E</span>X</span> и зато што је одвојио време и Ñнагу да га уклопи у <span class="TEX">T<span +class="E">E</span>X</span> Live, као + и за почетну верзију инÑталера за Mac<span class="TEX">T<span +class="E">E</span>X</span> и за рад на Ñпецијализованом + едитору <span class="TEX">T<span +class="E">E</span>X</span>works, који Ñада препоручујемо као окружење за + рад; + </li> + <li class="itemize">Рајнхард Котуха [Reinhard Kotucha], + за велики Ð´Ð¾Ð¿Ñ€Ð¸Ð½Ð¾Ñ Ð½Ð° развоју инфраÑтруктуре и инÑталационог програма за <span class="TEX">T<span +class="E">E</span>X</span> + Live 2008, као и за многа иÑтраживања на пољу Windows-а, за Ñкрипту + <span class="texttt">getnonfreefonts</span>, и још много тога; + </li> + <li class="itemize">Дик Коч [Dick Koch], за одржавање Mac<span class="TEX">T<span +class="E">E</span>X</span>-а (<a +href="http://tug.org/mactex" class="url" >http://tug.org/mactex</a>) у + теÑној Ñарадњи Ñа <span class="TEX">T<span +class="E">E</span>X</span> Live тимом, као и за Ñвој непреÑушни + ентузијазам током рада; + </li> + <li class="itemize">Сип Кроненберг [Siep Kroonenberg], за велики Ð´Ð¾Ð¿Ñ€Ð¸Ð½Ð¾Ñ Ñƒ раду на инфраÑтруктури и + инÑталационом програму за <span class="TEX">T<span +class="E">E</span>X</span> Live 2008, поÑебно на Windows-у, као и за велики рад на + проширивању овог приручника како би Ñе те нове могућноÑти опиÑале; + </li> + <li class="itemize">Хеико Обердик [Heiko Oberdiek], за пакет <span class="path">epstopdf</span> и за многе друге пакете, за + компреÑију огромних <span class="path">pst-geo</span> фајлова Ñа подацима тако да Ñмо могли да + их укључимо у диÑтрибуцију, и изнад Ñвега, за његов изузетни рад + на <span class="path">hyperref</span> пакету; + </li> + <li class="itemize">Петр Олшак [Petr OlÅ¡ak], који је веома пажљиво прегледао + цео чешки и Ñловачки материјал и координиÑао рад да Ñе он направи; + </li> + <li class="itemize">Тошио Ошима [Toshio Oshima], за његов dviout приказивач за Windows; + </li> + <li class="itemize">Мануел Перугје-Гонар [Manuel Pégourié-Gonnard], + за помоћ на оÑвежавању пакета, Ñтално унапређивање + документације, као и за развој програма texdoc; + + + </li> + <li class="itemize">Ð¤Ð°Ð±Ñ€Ð¸Ñ ÐŸÐ¾Ð¿Ð¸Ð½Ð¾ [Fabrice Popineau], за првобитну подршку за Windows у <span class="TEX">T<span +class="E">E</span>X</span> Live-у и за рад + на француÑкој верзији документације; + </li> + <li class="itemize">Ðорберт Прајнинг [Norbert Preining], зато што је био главни + архитекта инфраÑтруктуре и инÑталационог програма за <span class="TEX">T<span +class="E">E</span>X</span> Live 2008, као и за + координацију верзије <span class="TEX">T<span +class="E">E</span>X</span> Live-а за Debian, заједно Ñа Франком + КиÑтером [Frank Küster], као и за многе добре Ñавете током тог рада; + </li> + <li class="itemize">СебаÑтијан Рац [Sebastian Rahtz], зато што је Ñтворио <span class="TEX">T<span +class="E">E</span>X</span> Live и + одржавао га много година; + </li> + <li class="itemize">Фил Тејлор [Phil Taylor], зато што је омогућио да Ñе <span class="TEX">T<span +class="E">E</span>X</span> Live + преузима преко BitTorrent ÑиÑтема; + </li> + <li class="itemize">Томаш Тжечак [Tomasz Trzeciak], за Ñвеобухватну помоћ везану за Windows; + </li> + <li class="itemize">Хан Те Танг [Hà n Thế Thà nh], Мартин Шредер [Martin Schröder] и pdf<span class="TEX">T<span +class="E">E</span>X</span> тим + (<a +href="http://pdftex.org" class="url" >http://pdftex.org</a>) за непреÑтани рад на проширивању могућноÑти <span class="TEX">T<span +class="E">E</span>X</span>-а; + </li> + <li class="itemize">Ð¥Ð°Ð½Ñ Ð¥Ð°Ñ…ÐµÐ½ [Hans Hagen], за велики поÑао теÑтирања Ñвог Con<span class="TEX">T<span +class="E">E</span>X</span>t формата + (<a +href="http://pragma-ade.com" class="url" >http://pragma-ade.com</a>) и зато што је омогућио да он ради у оквиру <span class="TEX">T<span +class="E">E</span>X</span> + Live-а; + </li> + <li class="itemize">Хартмут Хенкел [Hartmut Henkel], за значајни Ð´Ð¾Ð¿Ñ€Ð¸Ð½Ð¾Ñ Ð½Ð° развоју + pdf<span class="TEX">T<span +class="E">E</span>X</span>-а, Lua<span class="TEX">T<span +class="E">E</span>X</span>-а, и још много тога; + </li> + <li class="itemize">Тако Хукватер [Taco Hoekwater], зато што је обновио развој MetaPost-а + и за рад на [Lua]<span class="TEX">T<span +class="E">E</span>X</span>-у (<a +href="http://luatex.org" class="url" >http://luatex.org</a>), за напоре на укључивању + Con<span class="TEX">T<span +class="E">E</span>X</span>t-а у <span class="TEX">T<span +class="E">E</span>X</span> Live, зато што је омогућио multi-threading у Kpathsea + библиотеци, и још много тога. + </li></ul> +<!--l. 3101--><p class="indent" > Програме за подржане оперативне ÑиÑтеме Ñу припремили: Еторе Ðлдрованди (<span class="path">i386-solaris</span>, +<span class="path">x86_64-solaris</span>), Карл Бери [Karl Berry] (<span class="path">i386-linux</span>), Петер Брајтенлонер [Peter Breitenlohner] +(<span class="path">x86_64-linux</span>), Ðлан БраÑло [Alan Braslau] (<span class="path">amd64-kfreebsd</span>, <span class="path">i386-kfreebsd</span>), Кен Браун [Ken Brown] +(<span class="path">i386-cygwin</span>), Олаф Вебер [Olaf Weber] (<span class="path">mips-irix</span>), Ð‘Ð¾Ñ€Ð¸Ñ Ð’ÐµÑ˜Ñ†Ð¼Ð°Ð½ [Ð‘Ð¾Ñ€Ð¸Ñ Ð’ÐµÐ¹Ñ†Ð¼Ð°Ð½] +(<span class="path">armel-linux</span>), Владимир Волович (<span class="path">powerpc-aix</span>, <span class="path">sparc-solaris</span>), Ðкира Какуто [Akira Kakuto] (<span class="path">win32</span>), Дик +Коч [Dick Koch] (<span class="path">universal-darwin</span>, <span class="path">x86_64-darwin</span>), Ðикола Лечић (<span class="path">amd64-freebsd</span>, <span class="path">i386-freebsd</span>), +Мојца Миклавец (<span class="path">mipsel-linux</span>), Ðорберт Прајнинг [Norbert Preining] (<span class="path">alpha-linux</span>), +Ð¢Ð¾Ð¼Ð°Ñ Ð¨Ð¼Ð¸Ñ† [Thomas Schmitz] (<span class="path">powerpc-linux</span>). ÐŸÑ€Ð¾Ñ†ÐµÑ ÐºÐ¾Ð¼Ð¿Ð°Ñ˜Ð»Ð¸Ñ€Ð°ÑšÐ° <span class="TEX">T<span +class="E">E</span>X</span> Live-а +опиÑан је на <a +href="http://tug.org/texlive/build.html" class="url" >http://tug.org/texlive/build.html</a>. +<!--l. 3123--><p class="indent" > Ову документацију Ñу превели: Сташек Ваврикевич [Staszek Wawrykiewicz] +(пољÑки), Ð‘Ð¾Ñ€Ð¸Ñ Ð’ÐµÑ˜Ñ†Ð¼Ð°Ð½ [Ð‘Ð¾Ñ€Ð¸Ñ Ð’ÐµÐ¹Ñ†Ð¼Ð°Ð½] (руÑки), Ђигод Ђијанг +[Jjgod Jiang], ЂинÑонг Ðао [Jinsong Zhao], Јие Ванг [Yue Wang] и Хелин Гаи +[Helin Gai] (кинеÑки), Ðикола Лечић (ÑрпÑки), Марко Паланте [Marco Pallante] +(италијанÑки), Мануел Пегурје-Гонар [Manuel Pégourié-Gonnard] (француÑки), Петр +Сојка [Petr Sojka] и Јан Буша [Ján BuÅ¡a] (чешки/Ñловачки), Уве Цигенхаген [Uwe +Ziegenhagen] (немачки), Интернет-Ñтраница Ñа документацијом за <span class="TEX">T<span +class="E">E</span>X</span> Live је +<a +href="http://tug.org/texlive/doc.html" class="url" >http://tug.org/texlive/doc.html</a>. +<!--l. 3139--><p class="indent" > Ðаравно, најважнија захвалница мора ићи Доналду Кнуту [Donald +Knuth], најпре зато што је изумео <span class="TEX">T<span +class="E">E</span>X</span>, а потом зато што га је поклонио +Ñвету. +<!--l. 3143--><p class="noindent" > + <h3 class="sectionHead"><span class="titlemark">9 </span> <a + id="x1-710009"></a>ИÑторија издањÄ</h3> + + +<!--l. 3146--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">9.1 </span> <a + id="x1-720009.1"></a>ПрошлоÑÑ‚</h4> +<!--l. 3148--><p class="noindent" >Крајем 1993. године у ХоландÑком удружењу кориÑÐ½Ð¸ÐºÄ <span class="TEX">T<span +class="E">E</span>X</span>-а Ñе, током рада +на пројекту 4All<span class="TEX">T<span +class="E">E</span>X</span> CD (намењеног кориÑницима MS-DOS-а), појавила +идеја да Ñе можда може направити јединÑтвени CD за Ñве ÑиÑтеме. То је +био преамбициозан циљ за оно време; ипак, идеја не Ñамо што је +дала подÑтрек да Ñе доврши рад на иначе веома уÑпешном 4All<span class="TEX">T<span +class="E">E</span>X</span> CD пројекту, +него је из ње произашла и радна група названа Технички Ñавет TUG-а +(Удружења кориÑÐ½Ð¸ÐºÄ <span class="TEX">T<span +class="E">E</span>X</span>-а) која је радила на <span +class="emph">Ñтруктури <span class="TEX">T<span +class="E">E</span>X</span> директоријума</span> (<span class="emph"><span class="TEX">T<span +class="E">E</span>X</span> +Directory Structure</span> — <a +href="http://tug.org/tds" class="url" >http://tug.org/tds</a>); група је оÑмиÑлила како да Ñе +направи конзиÑтентна и употребљива колекција помоћних <span class="TEX">T<span +class="E">E</span>X</span> +фајлова. Целовит нацрт TDS-а објављен је у децембарÑком +издању чаÑопиÑа <span class="emph">TUGboat</span> из 1995. и већ на том раном +Ñтадијуму било је јаÑно да би такву Ñтруктуру требало Ñледити и на CD-у. +ДиÑтрибуција <span class="TEX">T<span +class="E">E</span>X</span> Live која је пред Вама предÑтавља директан +резултат преданоÑти те радне групе. Такође је било јаÑно да је +уÑпех 4All<span class="TEX">T<span +class="E">E</span>X</span> CD-а показао да кориÑници Unix-а могу имати кориÑти од тако функционалног +ÑиÑтема, и управо ова идеја предÑтавља други главни мотив за рад на <span class="TEX">T<span +class="E">E</span>X</span> +Live-у. +<!--l. 3168--><p class="indent" > Предузели Ñмо прве кораке да направимо такав TDS CD који би радио на Unix-у на +јеÑен 1995. и брзо Ñмо Ñхватили да је te<span class="TEX">T<span +class="E">E</span>X</span> ТомаÑа ЕÑера [Thomas Esser] Ñавршена +полазна тачка, пошто је он већ имао подршку за више оперативних ÑиÑтема и пошто +је био направљен узимајући у обзир преноÑивоÑÑ‚ у погледу +организације фајлова које ти ÑиÑтеми кориÑте. Ð¢Ð¾Ð¼Ð°Ñ Ñе Ñложио +да помогне и озбиљан рад је почео почетком 1996. Прво издање +објављено је у мају иÑте године. Почетком 1997, Карл Бери [Karl +Berry] је објавио ново издање ÑиÑтема Web2C, које је +укључивало готово Ñве могућноÑти које је Ð¢Ð¾Ð¼Ð°Ñ Ð•Ñер +већ убацио у te<span class="TEX">T<span +class="E">E</span>X</span>, и тако Ñмо одлучили да Ñе друго издање CD-а базира на +Ñтандардном Web2C-у, уз додатак Ñкрипте <span class="texttt">texconfig</span> из te<span class="TEX">T<span +class="E">E</span>X</span>-а. +Треће издање CD-а заÑнивало Ñе на темељно прерађеној +верзији Web2C-a (7.2), коју је урадио Олаф Вебер [Olaf Weber]; +иÑтовремено је урађена и нова верзија te<span class="TEX">T<span +class="E">E</span>X</span>-а, а <span class="TEX">T<span +class="E">E</span>X</span> Live је +укључио Ñкоро Ñве његове могућноÑти. Четврто издање Ñледило +је иÑти Ñмер, укључивало је нову верзију te<span class="TEX">T<span +class="E">E</span>X</span>-а и ново +издање Web2C-а (7.3). СиÑтем је овог пута имао и потпуну подршку за +Windows. +<!--l. 3187--><p class="indent" > За пето издање (март 2000) многи делови CD-а Ñу редизајнирани и +темељније теÑтирани, а биле Ñу укључене и нове верзије више Ñтотина +пакета. Подаци о пакетима Ñпаковани Ñу у XML фајлове. Ипак, највећа +промена у <span class="TEX">T<span +class="E">E</span>X</span> Live 5 била је то што Ñу уклоњени Ñви програми који ниÑу +рађени у Ñкладу Ñа идејом Ñлободног Ñофтвера. Ðаиме, намера је била да од +тада Ñве у <span class="TEX">T<span +class="E">E</span>X</span> Live-у буде у ÑаглаÑноÑти Ñа Debian-овим упутÑтвима за Ñлободни Ñофтвер (Debian Free +Software Guidelines — <a +href="http://www.debian.org/intro/free" class="url" >http://www.debian.org/intro/free</a>); учинили Ñмо Ñве што је +тада било у нашој моћи да проверимо лиценце Ñвих пакета; били биÑмо +веома захвални ако Ð½Ð°Ñ Ð¸Ð·Ð²ÐµÑтите о било којој грешци коју Ñмо +направили. +<!--l. 3199--><p class="indent" > ШеÑто издање (јул 2001) Ñадржавало је још више оÑвеженог +материјала. Главна промена био је нов инÑталациони концепт: кориÑник од Ñада може +да изабере много одређенији Ñкуп колекција које Ñу му потребне. +Језичке колекције биле Ñу комплетно преуређене за ово издање: избор +неке од њих од тада не значи да Ñе Ñамо инÑталирају одговарајући +макрои, фонтови итд, него да Ñе уз то припреми и одговарајући <span +class="texttt">language.dat</span>. +<!--l. 3207--><p class="indent" > Седмо издање из 2002. укључивало је велики новитет у облику подршке за +Mac OS X, и већ уобичајено огромни број оÑвежења Ñвих врÑта +пакета и програма. Један од најважнијих циљева овог издања +била је и поновна интеграција кôда Ñа te<span class="TEX">T<span +class="E">E</span>X</span>-ом како би Ñе +елиминиÑао раÑкорак направљен у верзијама 5 и 6. + + +<!--l. 3213--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">9.1.1 </span> <a + id="x1-730009.1.1"></a>2003</h5> +<!--l. 3215--><p class="noindent" >2003. године, уÑлед непреÑтаног прилива измена и допуна, Ñхватили Ñмо да је <span class="TEX">T<span +class="E">E</span>X</span> Live толико +нараÑтао да више није могао да Ñтане на један CD, тако да Ñмо га поделили на три +одвојене диÑтрибуције (погледајте одељак <a +href="#x1-90002.1">2.1<!--tex4ht:ref: sec:tl-coll-dists --></a>, ÑÑ‚Ñ€. <a +href="#x1-90002.1">7<!--tex4ht:ref: sec:tl-coll-dists --></a>). Уз +то, + <ul class="itemize1"> + <li class="itemize">Према захтеву развојног тима <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>-а променили Ñмо Ñтандардне команде latex + и pdflatex тако да од Ñада кориÑте e-<span class="TEX">T<span +class="E">E</span>X</span> (в. ÑÑ‚Ñ€. <a +href="#x1-120002.4">12<!--tex4ht:ref: text:etex --></a>). + </li> + <li class="itemize">Укључени Ñу нови Latin Modern фонтови и препоручени за употребу. + </li> + <li class="itemize">Укинута је подршка за Alpha OSF (подршка за HPUX је укинута + још раније), зато што нико није имао нити био Ñпреман да + уÑтупи хардвер на којем биÑмо компајлирали нове верзије + програмÄ. + </li> + <li class="itemize">ИнÑталација за Windows је измењена из корена; по први пут Ñмо + укључили интегриÑано окружење заÑновано на XEmacs-у. + </li> + <li class="itemize">Верзије важних помоћних програма за Windows (Perl, Ghostscript, + ImageMagick, Ispell) Ñада Ñу укључене у Ñтандардну инÑталацију <span class="TEX">T<span +class="E">E</span>X</span> + Live-а. + </li> + <li class="itemize">Фонт-мапе које кориÑте dvips, dvipdfm и pdftex Ñада Ñе праве помоћу новог + програма по имену updmap и инÑталирају Ñе у <span class="path">texmf/fonts/map</span>. + </li> + <li class="itemize"><span class="TEX">T<span +class="E">E</span>X</span>, Metafont и MetaPost Ñада, оÑим ако није другачије подешено, + упиÑују већину унеÑених знакова (Ñа ASCII кôдом 32 и + даље) као такве + у излазне фајлове (нпр. <span class="obeylines-h"><span class="verb">\write</span></span>), лог-фајлове и на терминал, тј. + <span class="emph">непреведене</span> уз помоћ нотације <span class="obeylines-h"><span class="verb">^^</span></span>. У <span class="TEX">T<span +class="E">E</span>X</span> + Live 7, овај превод је завиÑио од језичких подешавања + у ÑиÑтему (тзв. „locale“); Ñада језичка подешавања немају + утицај на понашање <span class="TEX">T<span +class="E">E</span>X</span> програмÄ. Ðко Вам је из + неког разлога потребан излаз прерађен помоћу <span class="obeylines-h"><span class="verb">^^</span></span>, проÑто промените + име фајла <span class="obeylines-h"><span class="verb">texmf/web2c/cp8bit.tcx</span></span>. (У будућим издањима ова + процедура ће бити упрошћена.) + </li> + <li class="itemize">Ова документација је темељно прерађена. + </li> + <li class="itemize">Коначно, пошто Ñу бројеви у ознаци верзије поÑтали непрактични за + употребу, верзија је Ñада проÑто изједачена Ñа годином: <span class="TEX">T<span +class="E">E</span>X</span> + Live 2003.</li></ul> +<!--l. 3257--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">9.1.2 </span> <a + id="x1-740009.1.2"></a>2004</h5> +<!--l. 3259--><p class="noindent" >2004. године деÑиле Ñу Ñе многе промене: + <ul class="itemize1"> + + + <li class="itemize">Ðко имате приватно инÑталиране фонтове који кориÑте Ñвоје ÑопÑтвене + <span class="path">.map</span> или (много мање вероватно) <span class="path">.enc</span> помоћне фајлове, може Ñе + деÑити да ћете морати да те фајлове уклоните. + <!--l. 3268--><p class="noindent" ><span class="path">.map</span> фајлови Ñе Ñада, оÑим дуж путање <span class="path">TEXFONTMAPS</span>, траже + иÑкључиво у директоријумима иÑпод <span class="path">fonts/map</span> (тј. у Ñваком + <span class="path">texmf</span> Ñтаблу). Слично, <span class="path">.enc</span> фајлови Ñе Ñада, оÑим дуж путање + <span class="path">ENCFONTS</span>, траже иÑкључиво у директоријумима иÑпод <span class="path">fonts/enc</span>. + updmap ће покушати да изда неко упозорење ако наиђе на + проблематичне фајлове. + <!--l. 3276--><p class="noindent" >УпутÑтва о томе како да Ñе поÑтупа Ñа овим и другим подацима налазе Ñе на + <a +href="http://tug.org/texlive/mapenc.html" class="url" >http://tug.org/texlive/mapenc.html</a>. + </li> + <li class="itemize"><span class="TEX">T<span +class="E">E</span>X</span> Collection је проширен инÑталациониом CD-ом базираним на MiK<span class="TEX">T<span +class="E">E</span>X</span>-у, за + оне који више воле ту имплементацију него Web2C. Погледајте + одељак <a +href="#x1-80002">2<!--tex4ht:ref: sec:overview-tl --></a> (ÑÑ‚Ñ€. <a +href="#x1-80002">7<!--tex4ht:ref: sec:overview-tl --></a>). + </li> + <li class="itemize">Унутар <span class="TEX">T<span +class="E">E</span>X</span> Live-а, једно велико <span class="path">texmf</span> Ñтабло из претходних издања + замењено је Ñа три: <span class="path">texmf</span>, <span class="path">texmf-dist</span> и <span class="path">texmf-doc</span>. Погледајте + одељак <a +href="#x1-100002.2">2.2<!--tex4ht:ref: sec:tld --></a> (ÑÑ‚Ñ€. <a +href="#x1-100002.2">8<!--tex4ht:ref: sec:tld --></a>) и фајлове по имену <span class="path">README</span> у Ñваком од + њих. + </li> + <li class="itemize">Сви улазни фајлови који Ñе одноÑе на <span class="TEX">T<span +class="E">E</span>X</span> Ñада Ñу прикупљени + у поддиректоријум <span class="path">tex</span> у Ñваком <span class="path">texmf*</span> дрвету; они Ñу Ñе раније налазили + у одвојеним Ñродним директоријумима <span class="path">tex</span>, <span class="path">etex</span>, <span class="path">pdftex</span>, <span class="path">pdfetex</span>, итд. + Погледајте <a +href="../../../../texmf-dist/doc/generic/tds/tds.html#Extensions" ><span + class="texttt">texmf-dist/doc/generic/tds/tds.html#Extensions</span></a>. + </li> + <li class="itemize">Помоћне Ñкрипте (helper + scripts) — за које није предвиђено да их покрећу Ñами + кориÑници — Ñада Ñу Ñмештене у нове поддиректоријуме по имену <span class="path">scripts</span> у Ñваком + <span class="path">texmf*</span> дрвету, и могу Ñе пронаћи помоћу <span class="obeylines-h"><span class="verb">kpsewhich -format=texmfscripts</span></span>. + То значи да треба да поправите подешавања у програмима + који позивају такве Ñкрипте, ако их имате. Погледајте <a +href="../../../../texmf-dist/doc/generic/tds/tds.html#Scripts" ><span + class="texttt">texmf-dist/doc/generic/tds/tds.html#Scripts</span></a>. + </li> + <li class="itemize">Скоро Ñви формати оÑтављају већину Ñлова одштампаним каква + јеÑу преко „фајла Ñа преводом“ <span class="path">cp227.tcx</span>; некада Ñу их преводили + помоћу <span class="obeylines-h"><span class="verb">^^</span></span> нотације. ПоÑебно, Ñлова на позицијама 32–256, + „tab“, „vertical tab“ и „form feed“ Ñада Ñе Ñматрају приказивим (printable) не + преводе Ñе. Изузетак предÑтављају формати везани за чиÑти (plain) + <span class="TEX">T<span +class="E">E</span>X</span> (Ñамо Ñе 32–126 могу штампати), за Con<span class="TEX">T<span +class="E">E</span>X</span>t (0–255 Ñу принтабилни) и за + програм Omega. Ово подразумевано понашање је Ñкоро иÑто као у + <span class="TEX">T<span +class="E">E</span>X</span> Live 2003, али је реализовано на много чиÑтији начин, Ñа + више могућноÑти за накнадна подешавања. Погледајте <a +href="../../../../texmf/doc/web2c/web2c.html#TCX-files" ><span + class="texttt">texmf/doc/web2c/web2c.html#TCX-files</span></a>. (Узгред, ако је + улаз по Unicode Ñтандарду, може Ñе деÑити да <span class="TEX">T<span +class="E">E</span>X</span> избаци непотпуне низове знакова + када показује контекÑÑ‚ грешке, пошто ради Ñамо Ñа појединачним + бајтовима.) + </li> + <li class="itemize">pdfetex је Ñада подразумевани програм за Ñве формате изузев за чиÑти (plain) tex. + (Ðаравно, он прави DVI када ради као latex, итд.) Ово између оÑталог значи да + Ñу микротипографÑке могућноÑти pdftex-а доÑтупне и у <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>-у, Con<span class="TEX">T<span +class="E">E</span>X</span>t-у, итд; + иÑто важи и за могућноÑти e-<span class="TEX">T<span +class="E">E</span>X</span>-а (<a +href="../../../../texmf-dist/doc/etex/base/" >texmf-dist/doc/etex/base/</a>). + <!--l. 3330--><p class="noindent" >То такође значи да је важније него икада раније + да Ñе кориÑти пакет <span class="path">ifpdf</span> (који ради и Ñа чиÑтим <span class="TEX">T<span +class="E">E</span>X</span>-ом и Ñа <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>-ом) + + + или неки Ñличан кôд, зато што проÑто теÑтирање да ли <span + class="texttt">\pdfoutput</span> или нека примитива (primitive) ниÑу дефиниÑани + није поуздан начин да Ñе одреди да ли је излаз који Ñе Ñтвара + уједно и у PDF формату. Ове године Ñмо подеÑили да ово понашање + буде компатибилно Ñа ранијим верзијама колико Ñмо могли, али + Ñледеће године Ñе може деÑити да <span class="texttt">\pdfoutput</span> буде + дефиниÑан чак и ако Ñе прави DVI. + </li> + <li class="itemize">pdf<span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://pdftex.org" class="url" >http://pdftex.org</a>) има много нових могућноÑти: + <ul class="itemize2"> + <li class="itemize"><span class="texttt">\pdfmapfile</span> и <span class="texttt">\pdfmapline</span> + омогућавају да Ñе барата фонт-мапама из Ñамог документа. + </li> + <li class="itemize">Олакшана је употреба микротипографÑког проширења фонтова (font + expansion).<br +class="newline" /><a +href="http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html" class="url" >http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html</a> + </li> + <li class="itemize">Сви параметри који Ñу Ñе раније подешавали у поÑебном + конфигурационом фајлу <span class="path">pdftex.cfg</span> Ñада Ñе морају подешавати + путем примитивÄ, обично у фајлу <span class="path">pdftexconfig.tex</span>; укинута је + подршка за <span class="path">pdftex.cfg</span>. Сви поÑтојећи <span class="path">.fmt</span> фајлови + морају да Ñе прераде кад год Ñе <span class="path">pdftexconfig.tex</span> промени. + </li> + <li class="itemize">Више информација о Ñвему овоме можете пронаћи у приручнику за + pdf<span class="TEX">T<span +class="E">E</span>X</span>: <a +href="../../../../texmf-dist/doc/pdftex/manual/pdftex-a.pdf" >texmf-dist/doc/pdftex/manual/pdftex-a.pdf</a>. + </li></ul> + </li> + <li class="itemize">Примитива <span class="texttt">\input</span> у програму tex (као и у mf и у mpost) Ñада + прихвата аргументе Ñа дуплим наводницима који Ñадрже размаке и друге + Ñпецијалне знаке. Типични примери: + + + <div class="verbatim" id="verbatim-6"> + <div class="fancyvrb" id="fancyvrb19"><a + id="x1-74002r1"></a> \input "име фајла Ñа размацима" % plain<br class="fancyvrb" /><a + id="x1-74004r2"></a> \input{"име фајла Ñа размацима"} % latex</div> +</div> + <!--l. 3370--><p class="nopar" >Web2C приручник Ñадржи много више информација о овоме: <a +href="../../../../texmf/doc/web2c" >texmf/doc/web2c</a>. + </li> + <li class="itemize">Web2C Ñада укључује и подршку за enc<span class="TEX">T<span +class="E">E</span>X</span> (а тиме и за Ñве <span class="TEX">T<span +class="E">E</span>X</span> програме) + путем опције -enc, али <span class="emph">Ñамо када Ñе праве фајлови Ñа + форматима</span>. enc<span class="TEX">T<span +class="E">E</span>X</span> подржава Ñвеобухватно мењање кодног раÑпореда + улаза и излаза, омогућујући на тај начин пуну подршку за + Unicode (у UTF-8 кодном раÑпореду). Погледајте <a +href="../../../../texmf-dist/doc/generic/enctex/" >texmf-dist/doc/generic/enctex/</a> и + <a +href="http://www.olsak.net/enctex.html" class="url" >http://www.olsak.net/enctex.html</a>. + </li> + <li class="itemize">У диÑтрибуцији је Ñада доÑтупан Aleph, програм који комбинује + e-<span class="TEX">T<span +class="E">E</span>X</span> и Omega. Кратка документација Ñе може наћи у <a +href="../../../../texmf-dist/doc/aleph/base" >texmf-dist/doc/aleph/base</a> + и на Ñтраници <a +href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph" class="url" >http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph</a>. Aleph формат заÑнован на + <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>-у назива Ñе lamed. + </li> + <li class="itemize">Ðајновије издање <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>-а Ñадржи нову верзију LPPL + лиценце — која је Ñада званично одобрена од Ñтране Debian-а. Што Ñе + тиче других новоÑти везаних за ову облаÑÑ‚, погледајте фајл <span class="path">ltnews</span> у + <a +href="../../../../texmf-dist/doc/latex/base" >texmf-dist/doc/latex/base</a>. + </li> + <li class="itemize">У диÑтрибуцију је укључен dvipng, нови програм за претварање + DVI фајлова у PNG Ñлике. Погледајте <a +href="../../../../texmf/doc/man/man1/dvipng.1" >texmf/doc/man/man1/dvipng.1</a>. + </li> + <li class="itemize">Скуп фонтова који припадају пакету <span class="path">cbgreek</span> Ñвели Ñмо на „Ñредњу“ + величину, уз приÑтанак и Ñавет аутора, Клаудија Бекарија [Claudio + Beccari]. ИÑкључили Ñмо невидљиве, провидне и „оцртане“ (outlined) + фонтове; они Ñе веома ретко кориÑте а нама је проÑтор био преко потребан. + Цела колекција је наравно и даље доÑтупна преко CTAN-a + (<a +href="http://mirror.ctan.org/tex-archive/fonts/greek/cb" class="url" >http://mirror.ctan.org/tex-archive/fonts/greek/cb</a>). + </li> + <li class="itemize">oxdvi је уклоњен; умеÑто њега проÑто кориÑтите xdvi. + </li> + <li class="itemize">Линкови ini и vir за команде tex, mf и mpost више Ñе не праве (као нпр. initex). ФункционалноÑÑ‚ + команде ini била је доÑтупна путем опције -ini годинама уназад. + </li> + <li class="itemize">Укинута је подршка за платформу i386-openbsd. Пошто је пакет <span class="path">tetex</span> доÑтупан + преко портова на BSD ÑиÑтемима и пошто Ñмо имали Ñпремљене верзије + Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ä Ð·Ð° GNU/Linux и FreeBSD, били Ñмо мишљења да Ñе време + Ð²Ð¾Ð»Ð¾Ð½Ñ‚ÐµÑ€Ä Ð¼Ð¾Ð³Ð»Ð¾ боље употребити за неке друге Ñтвари. + </li> + <li class="itemize">Ðа платформи sparc-solaris (можда и другде) може бити неопходно да подеÑите ÑиÑтемÑку + променљиву <span class="path">LD_LIBRARY_PATH</span> како би програми из пакета <span class="path">t1utils</span> могли да раде. + Ово Ñе деÑило зато што Ñе они компајлирају помоћу C++, а на том + ÑиÑтему нема Ñтандардне локације за библиотеке које програми кориÑте док + раде. (Ово није ново у верзији 2004, али није било документовано у + претходним издањима.) Слично, на платформи mips-irix, неоходни Ñу MIPSpro 7.4 радне + библиотеке. + </li></ul> + + +<!--l. 3431--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">9.1.3 </span> <a + id="x1-750009.1.3"></a>2005</h5> +<!--l. 3433--><p class="noindent" >Издање из 2005. објављено је, као и увек, Ñа великим бројем +измена на пакетима и програмима. ИнфраÑтруктура је оÑтала релативно непромењена +у одноÑу на 2004. годину. Ðеизбежно, понешто је морало другачије да Ñе +уради: + <ul class="itemize1"> + <li class="itemize">Уведене Ñу нове Ñкрипте texconfig-sys, updmap-sys и fmtutil-sys; оне мењају + конфигурацију у ÑиÑтемÑким директоријумима. Скрипте texconfig, + updmap и fmtutil Ñада прерађују фајлове Ñпецифичне за + кориÑника; ти фајлови Ñу Ñмештени у <span class="path">$HOME/.texlive2005</span>. + </li> + <li class="itemize">У Ñкладу Ñа тим, уведене Ñу и одговарајуће нове променљиве + <span class="path">TEXMFCONFIG</span> и <span class="path">TEXMFSYSCONFIG</span>; оне одређују + директоријуме у којима Ñе налазе конфигурациони фајлови + (кориÑнички + или ÑиÑтемÑки). Стога Ñе може деÑити да треба да премеÑтите личне верзије + фајлова <span class="path">fmtutil.cnf</span> и <span class="path">updmap.cfg</span> на та нова меÑта; друга могућноÑÑ‚ + је да у <span class="path">texmf.cnf</span> промените вредноÑти <span class="path">TEXMFCONFIG</span> или <span class="path">TEXMFSYSCONFIG</span>. + У Ñваком Ñлучају, Ñтварни положај ових фајлова и вредноÑти + променљивих <span class="path">TEXMFCONFIG</span> и <span class="path">TEXMFSYSCONFIG</span> морају да Ñе Ñлажу. + Погледајте одељак <a +href="#x1-110002.3">2.3<!--tex4ht:ref: sec:texmftrees --></a>, ÑÑ‚Ñ€. <a +href="#x1-110002.3">9<!--tex4ht:ref: sec:texmftrees --></a>. + </li> + <li class="itemize">Прошле године Ñмо задржали <span class="obeylines-h"><span class="verb">\pdfoutput</span></span> и друге примитиве које ниÑу + дефиниÑане за DVI излаз, чак и ако Ñе кориÑти pdfetex. Ове године, као што Ñмо + обећали, повукли Ñмо ту меру компатибилноÑти. Дакле, ако Ваш документ кориÑти + <span class="obeylines-h"><span class="verb">\ifx\pdfoutput\undefined</span></span> да уÑтанови да ли Ñе прави PDF као излаз, морате да промените + тај теÑÑ‚. Можете да за ту Ñврху употребите пакет <span class="path">ifpdf.sty</span> (који ради и + под чиÑтим <span class="TEX">T<span +class="E">E</span>X</span>-ом и под <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>-ом) или да позајмите логику из његовог + кôда. + </li> + <li class="itemize">Прошле године Ñмо променили већину формата тако да иÑпиÑују (8-битне) + знакове као такве (погледајте претходни одељак). Ðови TCX фајл + <span class="path">empty.tcx</span> Ñада омогућава лакши начин да Ñе добије оригинална <span class="obeylines-h"><span class="verb">^^</span></span> + нотација ако је желите, на пример: + + + <div class="verbatim" id="verbatim-7"> + <div class="fancyvrb" id="fancyvrb20"><a + id="x1-75002r1"></a> latex --translate-file=empty.tcx yourfile.tex</div> +</div> + <!--l. 3475--><p class="nopar" > + </li> + <li class="itemize">У диÑтрибуцију је Ñада укључен нови програм dvipdfmx који + преводи DVI у PDF; ово је надоградња програма dvipdfm која иза Ñебе + има активну групу програмера (Ñтари програм је за Ñада још увек доÑтупан, + премда га не препоручујемо). + </li> + <li class="itemize">Укључени Ñу нови програми pdfopen и pdfclose: они омогућавају да Ñе + <span class="path">.pdf</span> фајлови изнова учитају у приказивачу Adobe Acrobat Reader без поновног + покретања програма. (Други pdf читачи, пре Ñвега xpdf, gv и gsview, никада ниÑу имали + овај проблем.) + </li> + <li class="itemize">Ради доÑледноÑти, имена променљивих <span class="path">HOMETEXMF</span> и <span class="path">VARTEXMF</span> промењена + Ñу у <span class="path">TEXMFHOME</span> и <span class="path">TEXMFSYSVAR</span>. Ту је такође и <span class="path">TEXMFVAR</span>, за + коју је предвиђено да буде Ñпецифична за појединог + кориÑника. Погледајте прву Ñтавку у овом ÑпиÑку. + </li></ul> +<!--l. 3498--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">9.1.4 </span> <a + id="x1-760009.1.4"></a>2006–2007</h5> +<!--l. 3500--><p class="noindent" >Током 2006. и 2007. главни додатак <span class="TEX">T<span +class="E">E</span>X</span> Live-у био је програм Xe<span class="TEX">T<span +class="E">E</span>X</span>, доÑтупан +путем команди <span class="texttt">xetex</span> и <span class="texttt">xelatex</span>; +погледајте <a +href="http://scripts.sil.org/xetex" class="url" >http://scripts.sil.org/xetex</a>. +<!--l. 3504--><p class="indent" > Такође, значајно је обновљен и унапређен програм +MetaPost, уз велике планове за будућноÑÑ‚ (<a +href="http://tug.org/metapost/articles" class="url" >http://tug.org/metapost/articles</a>); наÑтављен +је и развој pdf<span class="TEX">T<span +class="E">E</span>X</span>-а (<a +href="http://tug.org/applications/pdftex" class="url" >http://tug.org/applications/pdftex</a>). +<!--l. 3509--><p class="indent" > <span class="TEX">T<span +class="E">E</span>X</span>-ов <span class="path">.fmt</span> (high-speed format) и Ñлични фајлови за MetaPost и Metafont Ñада Ñу +Ñмештени у директоријуме унутар <span class="path">texmf/web2c</span> умеÑто у Ñâм тај +директоријум (премда Ñе тај директоријум и даље претражује, +зарад поÑтојећих <span class="path">.fmt</span> фајлова). Поддиректоријуми Ñу +названи према програмима (врÑтама <span class="TEX">T<span +class="E">E</span>X</span>-а) који Ñу у употреби, као што Ñу <span class="path">tex</span>, <span class="path">pdftex</span> +или <span class="path">xetex</span>. Ова промена не би требало да буде видљива у Ñвакодневној +употреби. +<!--l. 3518--><p class="indent" > (ЧиÑти) <span class="texttt">tex</span> програм више не чита прву линију која +почиње Ñа <span class="texttt">%&</span> како би одредио који формат да покрене; +<span class="texttt">tex</span> је Ñада чиÑти кнутовÑки <span class="TEX">T<span +class="E">E</span>X</span>. (<span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> и Ñви други и +даље читају линије Ñа <span class="texttt">%&</span>.) +<!--l. 3523--><p class="indent" > Ðаравно, и ове године Ñмо, као и обично, унели Ñтотине надоградњи Ñвих пакета и програма. +Као и увек, молимо Ð’Ð°Ñ Ð´Ð° проверите да ли поÑтоје нове верзије на CTAN-у +(<a +href="http://mirror.ctan.org" class="url" >http://mirror.ctan.org</a>). +<!--l. 3527--><p class="indent" > Што Ñе тиче интерног рада програмерÑког тима, развојно дрво <span class="TEX">T<span +class="E">E</span>X</span> Live-а Ñе Ñада држи под +контролом ÑиÑтема Subversion, Ñа уобичајеним веб-интерфејÑом за прегледање +кôда; можете доћи до одговарајућих Ñтраница преко наше +уводне Интернет-Ñтране. Премда није оÑтавила много видљивих трагова у коначном +издању из ове године, очекујемо да ће ова промена обезбедити Ñтабилан +развојни темељ за године које долазе. +<!--l. 3535--><p class="indent" > Коначно, у мају 2006. Ð¢Ð¾Ð¼Ð°Ñ Ð•Ñер [Thomas Esser] је објавио да више +неће радити на te<span class="TEX">T<span +class="E">E</span>X</span>-у (<a +href="http://tug.org/tetex" class="url" >http://tug.org/tetex</a>). Директна поÑледица овог потеза било +је огромно интереÑовање за <span class="TEX">T<span +class="E">E</span>X</span> Live, поÑебно међу GNU/Linux +диÑтрибуцијама. (У <span class="TEX">T<span +class="E">E</span>X</span> Live-у Ñада поÑтоји нова инÑталациона шема <span +class="texttt">tetex</span>, која даје приближни еквивалент.) Ðадамо Ñе да +ће Ñе ово у једном тренутку преточити у побољшање квалитета + + +<span class="TEX">T<span +class="E">E</span>X</span> окружења за Ñве кориÑнике. +<!--l. 3545--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">9.1.5 </span> <a + id="x1-770009.1.5"></a>2008</h5> +<!--l. 3547--><p class="noindent" >2008. године цела инфраÑтруктура <span class="TEX">T<span +class="E">E</span>X</span> Live-а је редизајнирана и иÑпиÑана +иÑпочетка. Сви подаци о инÑталацији Ñада Ñу Ñмештени у текÑтуалном фајлу +<span class="path">tlpkg/texlive.tlpdb</span>. +<!--l. 3551--><p class="indent" > Између оÑталог, ово је коначно омогућило да Ñе инÑталција <span class="TEX">T<span +class="E">E</span>X</span> +Live-а оÑвежава преко Интернета након почетног Ñмештања на диÑк, што је +функционалноÑÑ‚ коју је MiK<span class="TEX">T<span +class="E">E</span>X</span> имао пре много година. Очекујемо да +кориÑницима редовно Ñтављамо на раÑполагање нове пакете чим Ñе објаве на +CTAN-у. +<!--l. 3557--><p class="indent" > У диÑтрибуцију је укључен важан нови дериват Lua<span class="TEX">T<span +class="E">E</span>X</span> (<a +href="http://luatex.org" class="url" >http://luatex.org</a>); +поред новог нивоа флекÑибилноÑти у припреми текÑта, он уводи и Ñјајан +језик за пиÑање команди у облику Ñкрипте (scripting language), који може да +Ñе кориÑти и унутар и ван <span class="TEX">T<span +class="E">E</span>X</span> докумената. +<!--l. 3563--><p class="indent" > Подршка за Windows и платформе заÑноване на Unix-у Ñада је много униформнија. +Ðарочито је битно то што је Ñада већина Ñкрипти које Ñу напиÑане у +језицима Perl и Lua Ñада доÑтупна и на Windows-у зато што Ñе Perl диÑтрибуира у оквиру <span class="TEX">T<span +class="E">E</span>X</span> +Live-а. +<!--l. 3568--><p class="indent" > Ðова Ñкрипта tlmgr (одељак <a +href="#x1-450005">5<!--tex4ht:ref: sec:tlmgr --></a>) Ñада предÑтавља општи Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÑ˜Ñ +за одржавање <span class="TEX">T<span +class="E">E</span>X</span> Live-а поÑле почетне инÑталације. Она барата новим +верзијама Ð¿Ð°ÐºÐµÑ‚Ä Ð¸ води рачуна о одговарајућим прерадама +фајлова Ñа форматима, мапама (map files), фајловима везаним за поједине +језике, уз могућноÑÑ‚ да Ñе укључе и локални додаци. +<!--l. 3575--><p class="indent" > Пошто Ñада имамо на раÑполагању Ñкрипту tlmgr, Ñве радње (везане за прераду +конфигурационих фајлова Ñа форматима и правилима за прелом речи) које +је некада обављао програм texconfig Ñада Ñу иÑкључене. +<!--l. 3580--><p class="indent" > Програм за прављење индекÑÄ xindy (<a +href="http://xindy.sourceforge.net/" class="url" >http://xindy.sourceforge.net/</a>) +укључен је за већину подржаних оперативних ÑиÑтема. +<!--l. 3584--><p class="indent" > Ðлатка kpsewhich Ñада може да врати Ñве поготке за задати фајл (опција –all) или +да ограничи поготке на задати поддиректоријум (опција –subdir). +<!--l. 3588--><p class="indent" > Програм dvipdfmx Ñада има могућноÑÑ‚ да извуче податке о виÑини и ширини текÑта +(bounding box) ако Ñе позове као extractbb; ово је била једна од поÑледњих +могућноÑти које је имао dvipdfm а које ниÑу поÑтојале у +dvipdfmx-у. +<!--l. 3594--><p class="indent" > Уклоњена Ñу алтернативна имена (алиаÑи) за фонтове <span class="path">Times-Roman</span>, <span class="path">Helvetica</span> итд. +Различити пакети очекују различито понашање од тих имена (пре Ñвега +очекују да имају различите кодне раÑпореде), и није поÑтојао добар +начин да Ñе ово реши. +<!--l. 3600--><p class="indent" > Уклоњен је формат <span class="path">platex</span> како би Ñе разрешио конфликт око имена Ñа потпуно +незавиÑним јапанÑким <span class="path">platex</span>-ом; пакет <span class="path">polski</span> Ñада предÑтавља главни оÑлонац за Ñве +што Ñе тиче пољÑког језика. +<!--l. 3605--><p class="indent" > Интерно, WEB string pool фајлови Ñада Ñу компајлирани као бинарни +фајлови, како би Ñе олакшале надоградње. +<!--l. 3608--><p class="indent" > Коначно, промене које је увео Доналд Кнут [Donald Knuth] у Ñвом раду „Дорада +<span class="TEX">T<span +class="E">E</span>X</span>-а из 2008“ („<span class="TEX">T<span +class="E">E</span>X</span> tuneup of 2008“) укључене Ñу у ово издање. Погледајте +<a +href="http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf" class="url" >http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf</a>. +<!--l. 3614--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">9.1.6 </span> <a + id="x1-780009.1.6"></a>2009</h5> +<!--l. 3616--><p class="noindent" >У издању из 2009, PDF је поÑтављен као подразумевани излазни формат за +Lua(L<span +class="larm-0700">A</span> )<span class="TEX">T<span +class="E">E</span>X</span> како би Ñе иÑкориÑтиле могућноÑти напредне Lua<span class="TEX">T<span +class="E">E</span>X</span>-ове подршке за OpenType +итд. Ðови програми названи <span class="path">dviluatex</span> и <span class="path">dvilualatex</span> покрећу Lua<span class="TEX">T<span +class="E">E</span>X</span> Ñа излазом у DVI +формату. Интернет-Ñтраница Lua<span class="TEX">T<span +class="E">E</span>X</span>-а је <a +href="http://luatex.org" class="url" >http://luatex.org</a>. +<!--l. 3622--><p class="indent" > Програм Omega и формат Lambda Ñу уклоњени, након диÑкуÑије Ñа ауторима +пројекта Omega. У диÑтрибуцији Ñу оÑтале надограђене верзије + + +Aleph-а и Lamed-а, као и алатке из пројекта Omega. +<!--l. 3626--><p class="indent" > Укључено је и ново издање AMS Type 1 фонтова, међу +њима и Computer Modern: на тај начин је поÑтало доÑтупно неколико +промена Ð¾Ð±Ð»Ð¸ÐºÄ ÐºÐ¾Ñ˜Ðµ је Кнут [Knuth] током претходних година унео у изворни +Metafont кôд, а побољшан је и „hinting“. Херман Цапф [Hermann +Zapf] је темељно редизајнирао Ојлер [Euler] фонтове (в. +<a +href="http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf" class="url" >http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf</a>). У Ñвим овим Ñлучајевима, +метрика је оÑтала непромењена. Интернет-Ñтраница фонтова Ðмеричког математичког +друштва (AMS) је <a +href="http://www.ams.org/tex/amsfonts.html" class="url" >http://www.ams.org/tex/amsfonts.html</a>. +<!--l. 3637--><p class="indent" > У диÑтрибуцију Ñу укључене верзије новог графичког окружења +<span class="TEX">T<span +class="E">E</span>X</span>works за Windows и Mac<span class="TEX">T<span +class="E">E</span>X</span>. Ðко желите да кориÑтите <span class="TEX">T<span +class="E">E</span>X</span>works на другим оперативним +ÑиÑтемима, погледајте Интернет-Ñтраницу пројекта <a +href="http://tug.org/texworks" class="url" >http://tug.org/texworks</a>. <span class="TEX">T<span +class="E">E</span>X</span>works +је програм пиÑан за више платформи и инÑпириÑан је Mac OS X едитором TeXShop, Ñа +циљем да олакша Ñвакодневни рад у <span class="TEX">T<span +class="E">E</span>X</span>-у. +<!--l. 3644--><p class="indent" > Такође, укључене Ñу верзије графичког програма Asymptote за неколико +оперативних ÑиÑтема. Он интерпретира језик за опиÑивање Ñ†Ñ€Ñ‚ÐµÐ¶Ä +који личи на MetaPost, али Ñа развијеном подршком за тродимензионалне +пројекције и многим другим могућноÑтима. Интернет-Ñтраница овог +програма је <a +href="http://asymptote.sourceforge.net" class="url" >http://asymptote.sourceforge.net</a>. +<!--l. 3651--><p class="indent" > ЗаÑебни програм <span class="path">dvipdfm</span> замењен је <span class="path">dvipdfmx</span>-ом; <span class="path">dvipdfmx</span> може да ради у поÑебном +режиму компатибилноÑти ако Ñе позове Ñа Ñтарим именом. <span class="path">dvipdfmx</span> укључује подршку +за кинеÑки, јапанÑки и корејÑки (CJK) и током година које Ñу прошле од +поÑледњег издања <span class="path">dvipdfm</span>-а накупило Ñе много иÑправки. Интернет-Ñтраница +DVIPDFM<span +class="lmmi-10">x</span>-а је <a +href="http://project.ktug.or.kr/dvipdfmx" class="url" >http://project.ktug.or.kr/dvipdfmx</a>. +<!--l. 3659--><p class="indent" > Додати Ñу програми за платформе <span class="path">i386-cygwin</span> и <span class="path">i386-netbsd</span>; поÑаветовани Ñмо да кориÑници +OpenBSD-ја добијају <span class="TEX">T<span +class="E">E</span>X</span> Live преко Ñвог ÑиÑтема за пакете; +такође, било је и тешкоћа да Ñе направе програми који би имали +шанÑу да раде на више од једног издања тог оперативног ÑиÑтема. +<!--l. 3665--><p class="indent" > Још неколико малих промена: Ñада кориÑтимо компреÑију типа <span class="path">xz</span>, која +предÑтавља Ñтабилну замену за <span class="path">lzma</span> (<a +href="http://tukaani.org/xz/" class="url" >http://tukaani.org/xz/</a>); знак <span class="obeylines-h"><span class="verb">$</span></span> је Ñада +дозвољен у именима фајлова уколико то не доводи то поклапања Ñа +именом неке поÑтојеће променљиве; библиотека Kpathsea Ñада има +подршку за multi-threading (неопходно за нову верзију програма MetaPost); читаво +компајлирање <span class="TEX">T<span +class="E">E</span>X</span> Live-а Ñада Ñе заÑнива на ÑиÑтему Automake. +<!--l. 3674--><p class="indent" > Ðа крају, једна напомена везана за прошлоÑÑ‚: Ñва издања <span class="TEX">T<span +class="E">E</span>X</span> Live-а, Ñа +допунÑким материјалом као што Ñу налепнице и омоти за CD-ове, доÑтупна Ñу на Ñтраници +<a +href="ftp://tug.org/historic/systems/texlive" class="url" >ftp://tug.org/historic/systems/texlive</a>. +<!--l. 3679--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">9.1.7 </span> <a + id="x1-790009.1.7"></a>2010</h5> +<!--l. 3682--><p class="noindent" >У издању <span class="TEX">T<span +class="E">E</span>X</span> Live-а из 2010. године подразумевана верзија PDF формата +који праве разни програми поÑтављена је на 1.5; ово омогућава +бољу компреÑију докумената. Ова промена важи за Ñве <span class="TEX">T<span +class="E">E</span>X</span> програме када им +је задато да праве PDF, као и за <span class="path">dvipdfmx</span>. Ðко желите да вратите верзију на +PDF 1.4, учитајте <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> пакет по имену <span class="path">pdf14</span> или подеÑите <span class="obeylines-h"><span class="verb">\pdfminorversion=4</span></span>. +<!--l. 3689--><p class="indent" > pdf(L<span +class="larm-0700">A</span> )<span class="TEX">T<span +class="E">E</span>X</span> Ñада <span class="emph">аутоматÑки</span> пребацује задати +Encapsulated PostScript (EPS) фајл у PDF формат помоћу пакета <span class="path">epstopdf</span>; иÑто +важи и ако је учитан <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>-ов конфигурациони фајл <span class="path">graphics.cfg</span> и ако +је излаз подешен на PDF. Стандардне опције Ñу подешене Ñа намером +да елиминишу могућноÑÑ‚ да Ñе неки ручно урађени PDF фајл +Ñлучајно пребрише у том процеÑу, али Ви Ñвеједно можете да Ñпречите да Ñе <span class="path">epstopdf</span> +учитава Ñтављајући <span class="obeylines-h"><span class="verb">\newcommand{\DoNotLoadEpstopdf}{}</span></span> (или +<span class="obeylines-h"><span class="verb">\def...</span></span>) пре команде <span class="texttt">\documentclass</span>. ИÑто тако, <span class="path">epstopdf</span> Ñе +не учитава ако Ñе кориÑти пакет <span class="path">pst-pdf</span>. Више детаља о овим Ñтварима можете +пронаћи у документацији укљученој у пакет <span class="path">epstopdf</span> +(<a +href="http://ctan.org/pkg/epstopdf-pkg" class="url" >http://ctan.org/pkg/epstopdf-pkg</a>). +<!--l. 3702--><p class="indent" > Још једна промена која има везе Ñа овим: Ñада је +покретање малог броја Ñпољних команди од Ñтране <span class="TEX">T<span +class="E">E</span>X</span>-a (путем <span + + +class="texttt">\write18</span>) активирано у Ñтандардној инÑталацији. Ове команде +Ñу: <span class="path">repstopdf</span>, <span class="path">makeindex</span>, <span class="path">kpsewhich</span>, <span class="path">bibtex</span> и <span class="path">bibtex8</span>; ÑпиÑак је одређен у +фајлу <span class="path">texmf.cnf</span>. Ðко радите у окружењу у коме морате да укинете +покретање Ñвих таквих Ñпољних команди, можете да иÑкључите +одговарајућу опцију у инÑталационом програму (погледајте +одељак <a +href="#x1-280003.2.4">3.2.4<!--tex4ht:ref: sec:options --></a>) или да промените вредноÑÑ‚ након инÑталације помоћу команде +<span class="obeylines-h"><span class="verb">tlmgr conf texmf shell_escape 0</span></span>. +<!--l. 3713--><p class="indent" > Промена која Ñледи из претходне две јеÑте то што ће BibTeX и Makeindex +Ñада, у Ñтандардној конфигурацији, одбити да упиÑују Ñвоје +излазне фајлове у произвољни директоријум (као и Ñâм <span class="TEX">T<span +class="E">E</span>X</span>). +Ова промена је уведена да би Ñе иÑкориÑтила могућноÑÑ‚ да Ñе bibtex и makeindex +додају на лиÑту дозвољених команди путем <span class="texttt">\write18</span>; из +поменутих разлога оне Ñу у тај ÑпиÑак и укључене. Ðко желите да промените ово +подразумевано понашање, можете да дефинишете ÑиÑтемÑку променљиву +<span class="path">TEXMFOUTPUT</span> или да промените параметар <span class="obeylines-h"><span class="verb">openout_any</span></span>. +<!--l. 3723--><p class="indent" > Xe<span class="TEX">T<span +class="E">E</span>X</span> Ñада подржава микротипографÑке ефекте (margin kerning) на иÑти начин као pdf<span class="TEX">T<span +class="E">E</span>X</span>. +(Проширивање фонтова [font expansion] тренутно није подржано.) +<!--l. 3727--><p class="indent" > У Ñтандардној конфигурацији, tlmgr Ñада прави по једну резервну +копију (бекап) за Ñваки надограђени пакет (<span class="path">tlmgr option autobackup 1</span>), +тако да Ñе пакети чије оÑвежавање не уÑпе могу лако повратити у радно +Ñтање помоћу <span class="path">tlmgr restore</span>. Ðко надограђујете пакете поÑле +инÑталације а немате проÑтора на диÑку за резервне копије, покрените команду +<span class="path">tlmgr option autobackup 0</span>. +<!--l. 3734--><p class="indent" > У <span class="TEX">T<span +class="E">E</span>X</span> Live Ñу укључени неки нови програми: p<span class="TEX">T<span +class="E">E</span>X</span> и алатке повезане Ñа њим, +Ñпецијализовани за припрему текÑта на јапанÑком језику; програм BibTeXU +који уводи подршку за Unicode у BibTeX; алатка chktex (<a +href="http://baruch.ev-en.org/proj/chktex" class="url" >http://baruch.ev-en.org/proj/chktex</a>) +која проверава иÑправноÑÑ‚ (L<span +class="larm-0700">A</span> )<span class="TEX">T<span +class="E">E</span>X</span> докумената; програм за пребацивање из DVI у +SVG векторÑки формат (<a +href="http://dvisvgm.sourceforge.net" class="url" >http://dvisvgm.sourceforge.net</a>). +<!--l. 3741--><p class="indent" > Додате Ñу верзије Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ä Ð·Ð° пет нових платформи: <span class="path">amd64-freebsd</span>, <span class="path">amd64-kfreebsd</span>, +<span class="path">i386-freebsd</span>, <span class="path">i386-kfreebsd</span>, <span class="path">x86_64-darwin</span> и <span class="path">x86_64-solaris</span>. +<!--l. 3745--><p class="indent" > Једна промена из <span class="TEX">T<span +class="E">E</span>X</span> Live 2009 коју Ñмо пропуÑтили да евидентирамо: +бројни програми везани за <span class="TEX">T<span +class="E">E</span>X</span>4ht (<a +href="http://tug.org/tex4ht" class="url" >http://tug.org/tex4ht</a>) Ñклоњени Ñу из +директоријума Ñа извршним фајловима. Програм <span class="path">mk4ht</span> Ñада покрива Ñве +могуће <span class="path">tex4ht</span> комбинације. +<!--l. 3750--><p class="indent" > Ðа нашу велику жалоÑÑ‚, издање <span class="TEX">T<span +class="E">E</span>X</span> Live-а на <span class="TEX">T<span +class="E">E</span>X</span> Collection DVD-ју више не +може да Ñе покреће „живо“ (live): DVD као медиј проÑто више није +довољно велики. У томе има, међутим, и једна уÑпутна предноÑÑ‚: +инÑталација Ñа DVD-ја је Ñада много бржа. +<!--l. 3756--><p class="noindent" > + <h5 class="subsubsectionHead"><span class="titlemark">9.1.8 </span> <a + id="x1-800009.1.8"></a>2011</h5> +<!--l. 3758--><p class="noindent" >Издање <span class="TEX">T<span +class="E">E</span>X</span> Live-a из 2011. године донело је релативно мало промена. +<!--l. 3760--><p class="indent" > Програми за Mac OS X (<span class="path">universal-darwin</span> и <span class="path">x86_64-darwin</span>) Ñада раде Ñамо на ÑиÑтему Leopard и на +новијим издањима; Panther и Tiger ниÑу више подржани. +<!--l. 3764--><p class="indent" > Укључен је програм за обраду библиографија <span class="path">biber</span>; поÑтоје +верзије за Ñве уобичајене оперативне ÑиÑтеме. Развој овог Ñофтвера +је теÑно повезан Ñа пакетом <span class="path">biblatex</span>. <span class="path">biber</span> поÑтавља на нове оÑнове библиографÑке +могућноÑти које поÑтоје у <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>-у. +<!--l. 3769--><p class="indent" > Програм MetaPost (<span class="path">mpost</span>) више не прави и не кориÑти <span class="path">.mem</span> фајлове. Ðеопховни +фајлови, као што је <span class="path">plain.mp</span>, напроÑто Ñе изнова читају Ñваки пут када Ñе +програм покрене. Ова промена везана је за подршку MetaPost-а као библиотеке, што +је још једна значајна, премда за кориÑнике невидљива +промена. +<!--l. 3775--><p class="indent" > Имплементација програма <span class="path">updmap</span> у програмÑком језику Perl, која +је раније била у употреби Ñамо на Windows-у, Ñада је прерађена и +Ñтављена у употребу на Ñвим платформама. Ова промена не би требало да буде видљива +за кориÑнике, оÑим што ће од Ñада програм радити много брже. +<!--l. 3783--><p class="indent" > <a id="news"></a> + + + <h4 class="subsectionHead"><span class="titlemark">9.2 </span> <a + id="x1-810009.2"></a>Тренутно Ñтање</h4> +<!--l. 3787--><p class="noindent" ><span class="path">tlmgr</span> Ñада може да обавља надоградње кориÑтећи неколико +репозиторијума на Интернету упоредо. О овоме можете да прочитате више у +документацији <span class="TEX">T<span +class="E">E</span>X</span> Live менаџера (<span class="path">tlmgr help</span>). +<!--l. 3791--><p class="indent" > Подразумевана вредноÑÑ‚ параметра <span class="texttt">\XeTeXdashbreakstate</span> Ñада +је 1 (и за <span class="path">xetex</span> и за <span class="path">xelatex</span>). То значи да ће Ñе линије ломити поÑле +Ñредњих и великих Ñ†Ñ€Ñ‚Ä (em-dash и en-dash), као што је увек био +Ñлучај у чиÑтом <span class="TEX">T<span +class="E">E</span>X</span>-у, <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>-у, Lua<span class="TEX">T<span +class="E">E</span>X</span>-у, итд. У поÑтојећим +Xe<span class="TEX">T<span +class="E">E</span>X</span> документима у којима је неопходно задржати потпуну компатибилноÑÑ‚ по +питању ломљења линије иза црте морате изричито да подеÑите +вредноÑÑ‚ <span class="texttt">\XeTeXdashbreakstate</span> на 0. +<!--l. 3800--><p class="indent" > Фајлови које праве <span class="path">pdftex</span> и <span class="path">dvips</span> (између оÑталих) Ñада могу да буду +већи од 2 гигабајта. +<!--l. 3803--><p class="indent" > 35 Ñтандардних PostScript фонтова Ñада Ñе уграђују у Ñве фајлове +које прави <span class="path">dvips</span>, зато што Ñе појавило много разних верзија ових +„Ñтандардних“ фонтова. +<!--l. 3807--><p class="indent" > У режиму рада <span class="texttt">\write18</span> (у коме је дозвољено +покретање Ñамо малог броја Ñпољних команди), још једна +команда додата је у повлашћени ÑпиÑак у Ñтандардној инÑталацији: +<span class="path">mpost</span>. +<!--l. 3811--><p class="indent" > Фајл <span class="path">texmf.cnf</span> Ñе Ñада може пронаћи и у <span class="path">../texmf-local</span>, тј. преко +<span class="path">/usr/local/texlive/texmf-local/web2c/texmf.cnf</span> (ако поÑтоји). +<!--l. 3815--><p class="indent" > Скрипта <span class="path">updmap</span> Ñада чита <span class="path">updmap.cfg</span> у Ñваком дрвету умеÑто Ñамо једну глобалну +конфигурацију. Ова промена нема никаквих практичних поÑледица за кориÑнике који +ниÑу директно мењали <span class="path">updmap.cfg</span> фајлове. Више информација можете +пронаћи у документацији Ñкрипте <span class="path">updmap</span> (покрените <span class="path">updmap --help</span>). +<!--l. 3821--><p class="indent" > Додате Ñу нове платформе <span class="path">armel-linux</span> и <span class="path">mipsel-linux</span>; платформе <span class="path">sparc-linux</span> и <span class="path">i386-netbsd</span> +удаљене Ñу из главне диÑтрибуције <span class="TEX">T<span +class="E">E</span>X</span> Live-а, али програме за ове платформе (као и +за велики број других) и даље је могуће инÑталирати +помоћу поÑтупка опиÑаног на Ñтраници <a +href="http://tug.org/texlive/custom-bin.html" class="url" >http://tug.org/texlive/custom-bin.html</a>. +<!--l. 3829--><p class="noindent" > + <h4 class="subsectionHead"><span class="titlemark">9.3 </span> <a + id="x1-820009.3"></a>БудућноÑÑ‚</h4> +<!--l. 3831--><p class="noindent" ><span class="emph"><span class="TEX">T<span +class="E">E</span>X</span> Live није Ñавршен!</span> (И никада неће ни бити.) +Ðамера нам је да наÑтавимо да издајемо нове верзије, да пружимо +више помоћног материјала, више алатки, више инÑталационих програма и +(наравно) још боље подешену и теÑтирану Ñтруктуру макроа и фонтова, +који Ñе Ñа Ñвоје Ñтране непреÑтано уÑавршавају. Сав овај рад +обављају волонтери у Ñвом Ñлободном времену, тако да поÑла увек има на претек. +Стога Ð’Ð°Ñ Ð¿Ð¾Ð·Ð¸Ð²Ð°Ð¼Ð¾ да поÑетите Ñтраницу <a +href="http://tug.org/texlive/contribute.html" class="url" >http://tug.org/texlive/contribute.html</a>. +<!--l. 3840--><p class="indent" > Молимо Ð’Ð°Ñ Ð´Ð° шаљете иÑправке, предлоге и понуде за помоћ на: + <div class="quote"> + <!--l. 3842--><p class="noindent" ><a +href="mailto:tex-live@tug.org" ><span class="path">tex-live@tug.org</span></a> <br +class="newline" /><a +href="http://tug.org/texlive" class="url" >http://tug.org/texlive</a></div> +<!--l. 3847--><p class="noindent" ><span class="emph">Срећно <span class="TEX">T<span +class="E">E</span>X</span>-овање!</span> +<!--l. 3851--><p class="noindent" >_____________________________________________________________________________________ + + +<!--l. 3854--><p class="noindent" ><div class="minipage"><span +class="larm-0700">Permission is granted to copy, distribute and/or modify this translation under the terms of the adapted version</span> +<span +class="larm-0700">of</span> <span +class="larm-0700">FreeBSD</span> <span +class="larm-0700">documentation licence.</span> +<!--l. 3863--><p class="noindent" ><a +href="http://www.gnu.org/licenses/license-list.html#FreeDocumentationLicenses" class="url" ><span +class="larm-0700">http://www.gnu.org/licenses/license-list.html#FreeDocumentationLicenses</span></a><br +class="newline" /><a +href="http://www.freebsd.org/copyright/freebsd-doc-license.html" class="url" ><span +class="larm-0700">http://www.freebsd.org/copyright/freebsd-doc-license.html</span></a><br><br> +<span +class="larm-0700">ДиÑтрибуција овог превода дозвољена је под уÑловима прилагођене</span> +<span +class="larm-0700">варијанте FreeBSD Documentation License. TекÑÑ‚ лиценце je прилагођен техничким</span> +<span +class="larm-0700">карактериÑтикама ове документације.</span> +<!--l. 3874--><p class="noindent" ><span +class="larm-0700">Serbian translation of <span class="emph"></span><span class="TEX"><span +class="larm-0700">T</span><span +class="E"><span +class="larm-0700">E</span></span><span +class="larm-0700">X</span></span><span +class="larm-0700"> Live Guide: </span><span class="TEX"><span +class="larm-0700">T</span><span +class="E"><span +class="larm-0700">E</span></span><span +class="larm-0700">X</span></span> <span +class="larm-0700">Live 2012</span>.</span><br +class="newline" /><span +class="larm-0700">Copyright (C) 2010, 2011, 2012 Nikola LeÄić (the translator).</span> +<!--l. 3878--><p class="noindent" ><span +class="larm-0700">Redistribution and use in source (Xe</span><span class="LATEX"><span +class="larm-0700">L</span><span class="A"><span +class="larm-0700">A</span></span><span class="TEX"><span +class="larm-0700">T</span><span +class="E"><span +class="larm-0700">E</span></span><span +class="larm-0700">X</span></span></span><span +class="larm-0700"> code) and "compiled" forms (XDV, SGML, HTML, PDF,</span> +<span +class="larm-0700">PostScript, RTF and so forth) with or without modification, are permitted provided that the following</span> +<span +class="larm-0700">conditions are met:</span> + <ul class="itemize1"> + <li class="itemize"><span +class="larm-0700">Redistributions of source code (Xe</span><span class="LATEX"><span +class="larm-0700">L</span><span class="A"><span +class="larm-0700">A</span></span><span class="TEX"><span +class="larm-0700">T</span><span +class="E"><span +class="larm-0700">E</span></span><span +class="larm-0700">X</span></span></span><span +class="larm-0700"> code) must retain the above copyright notice, this</span> + <span +class="larm-0700">list of conditions and the following disclaimer as the first lines of the source file unmodified.</span> + </li> + <li class="itemize"><span +class="larm-0700">Redistributions in compiled form (transformed to other DTDs, converted to PDF, HTML,</span> + <span +class="larm-0700">PostScript, RTF and other formats) must reproduce the above copyright notice, this list of</span> + <span +class="larm-0700">conditions and the following disclaimer in the documentation and/or other materials provided</span> + <span +class="larm-0700">with the distribution.</span></li></ul> +<!--l. 3898--><p class="noindent" ><span +class="larm-0700">THIS DOCUMENTATION IS PROVIDED BY THE TRANSLATOR "AS IS" AND ANY EXPRESS OR</span> +<span +class="larm-0700">IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF</span> +<span +class="larm-0700">MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.</span> +<span +class="larm-0700">IN NO EVENT SHALL THE TRANSLATOR BE LIABLE FOR ANY DIRECT, INDIRECT,</span> +<span +class="larm-0700">INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT</span> +<span +class="larm-0700">NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF</span> +<span +class="larm-0700">USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON</span> +<span +class="larm-0700">ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span> +<span +class="larm-0700">(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF</span> +<span +class="larm-0700">THIS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span> +</div> +<div class="footnotes"><p> + <a +href="#kt-1" id="tk-1"><span class="thank-mark"><span +class="lmsy-10">*</span></span></a>Превод текÑта: Karl Berry (ed.), <span class="emph">The <span class="TEX">T<span +class="E">E</span>X</span> Live Guide: <span class="TEX">T<span +class="E">E</span>X</span> Live 2012</span>. +Ова верзија превода је еквивалент <span class="TEX">T<span +class="E">E</span>X</span> кôда из фајла +<span class="file">texlive-en.tex</span>, SVN r26703. УÑлови под којима можете да +кориÑтите овај превод дати Ñу на крају документа, као и у фајлу +<span class="file">texlive-sr.tex</span>.</p> +<!--l. 146--><p class="indent" > <span class="footnote-mark"><a +href="#fn1x0-bk" id="fn1x0"><sup class="textsuperscript">1</sup></a></span><span +class="larm-0800"><span class="emph">Платформа</span> предÑтавља комбинацију архитектуре и оперативног</span> +<span +class="larm-0800">ÑиÑтема: нпр. оперативни ÑиÑтем FreeBSD који ради на 64-битном Intel или AMD процеÑору јеÑте</span> +<span +class="larm-0800">платформа по имену </span><span class="path"><span +class="larm-0800">amd64-freebsd</span></span><span +class="larm-0800">. Развојни тим </span><span class="TEX"><span +class="larm-0800">T</span><span +class="E"><span +class="larm-0800">E</span></span><span +class="larm-0800">X</span></span> <span +class="larm-0800">Live-a Ñе одлучио да овом изразу дâ</span> +<span +class="larm-0800">предноÑÑ‚ у одноÑу на израз „оперативни ÑиÑтем“ и ми ћемо Ñледити ту одлуку колико је то</span> +<span +class="larm-0800">могуће, мада не у Ñвим Ñлучајевима (пре Ñвега у ÑрпÑком преводу програмÄ</span><span +class="larm-0800"> install-tl и tlmgr, у</span> +<span +class="larm-0800">којима би употреба израза <span class="emph">архитектура</span> могла лако да збуни кориÑника пошто тамо</span> +<span +class="larm-0800">није могуће дати овакво објашњење) — <span class="emph">прим.</span> +<span +class="larm-0800">прев.</span></span> +<!--l. 644--><p class="indent" > <span class="footnote-mark"><a +href="#fn2x0-bk" id="fn2x0"><sup class="textsuperscript">2</sup></a></span><span +class="larm-0800">Ово нарочито важи ако кориÑтите ћириличне верзије програма, укључујући и</span> +<span +class="larm-0800">ÑрпÑку; фонтови могу бити читљиви, али ће изгледати веома лоше — <span class="emph">прим.</span> +<span +class="larm-0800">прев.</span></span> +<!--l. 1171--><p class="indent" > <span class="footnote-mark"><a +href="#fn3x0-bk" id="fn3x0"><sup class="textsuperscript">3</sup></a></span><span +class="larm-0800"><span class="emph">СиÑтемÑка променљива</span> је превод израза <span</span> +<span +class="larm-0800"><class="emph">environment variable</span>. Други могући превод био би <span class="emph">променљива из</span> +<span +class="larm-0800">окружења</span>, али Ñмо Ñе одлучили да избегнемо ту конÑтрукцију зато што је она</span> +<span +class="larm-0800">по нашем мишљењу (1) мање јаÑна кориÑницима Windows-а и зато што</span> +<span +class="larm-0800">(2) обе имају мање-више иÑто значење у пракÑи — <span class="emph">прим.</span> +<span +class="larm-0800">прев.</span></span> +<!--l. 2184--><p class="indent" > <span class="footnote-mark"><a +href="#fn4x0-bk" id="fn4x0"><sup class="textsuperscript">4</sup></a></span><span +class="larm-0800"><span class="emph">Прерачунавање</span> је превод израза <span class="emph">expanding</span>;</span> +<span +class="larm-0800">генерално Ñе ради о замени неког једноÑтавног израза неким компликованијим Ñадржајем до</span> +<span +class="larm-0800">кога Ñе долази одговарајућим алгоритмом; Ñтога, у завиÑноÑти од контекÑта, може да значи и <span</span> +<span +class="larm-0800"><class="emph">рашчлањавање</span> и <span class="emph">проширивање</span> — <span</span> +<span +class="larm-0800"><class="emph">прим. прев.</span></span> +<!--l. 2263--><p class="noindent" ><span class="footnote-mark"><a +href="#fn5x0-bk" id="fn5x0"><sup class="textsuperscript">5</sup></a></span><span +class="larm-0800">Израз <span class="emph">whitespace</span> означава Ñве врÑте „провидних знакова“, пре Ñвега размак</span> +<span +class="larm-0800">(„space“) и „Tab“ — <span class="emph">прим. прев.</span></span> </div> + +</body></html> + + + + diff --git a/Master/texmf-dist/doc/texlive/texlive-sr/texlive-sr.pdf b/Master/texmf-dist/doc/texlive/texlive-sr/texlive-sr.pdf Binary files differnew file mode 100644 index 00000000000..02e9040a216 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-sr/texlive-sr.pdf diff --git a/Master/texmf-dist/doc/texlive/texlive-sr/texlive-sr.sty b/Master/texmf-dist/doc/texlive/texlive-sr/texlive-sr.sty new file mode 100644 index 00000000000..d36ddff8c92 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-sr/texlive-sr.sty @@ -0,0 +1,70 @@ +\def\Status{1} + +% Settings specific for Serbian translation and its XeLaTeX code +% --------------------------------------------------------------------- + +% Extra packages needed for XeLaTeX +\RequirePackage{polyglossia} +% Import the original tex-live.sty from texlive-en; this must be done +% after fontspec (fontspec is loaded by polyglossia). xltxtra loads +% xunicode: +\RequirePackage{tex-live} +\RequirePackage{xltxtra} +% ... and: +\RequirePackage[center,it,small]{caption} +\RequirePackage{relsize} +\RequirePackage{fancyhdr} + +% Load the default and all other languages. +% For the sake of simplicity, we enclose non-Serbian text in +% appropriate \textLL{} only if we need different hyphenation. +\setdefaultlanguage[script=Cyrillic]{serbian} +\setotherlanguage{english} +\setotherlanguage{russian} +\setotherlanguage{german} +\setotherlanguage{french} +\setotherlanguage{italian} +\setotherlanguage{polish} +\setotherlanguage{czech} +\setotherlanguage{slovak} +\setotherlanguage{dutch} +\setotherlanguage{finnish} + +% OTF fonts that we use; cf. README-SR.txt. +% (We use only tex-text for the sake of simplicity.) +\setmainfont[RawFeature={+ss11,+ss12},Mapping=tex-text]{Old Standard} +\newfontfamily\serbianfont[RawFeature={+ss11,+ss12},% + Mapping=tex-text]{Old Standard} +\setsansfont{CMU Sans Serif} +\setmonofont{CMU Typewriter Text Light} + +% A bit more tuning: +% "Windows" is a very frequent word so let's get it properly +% hyphenated. The same for Kpathsea: +\newcommand{\Windows}{\textenglish{Windows}} +\def\KPS{\textenglish{Kpathsea}} +% We need different quotes for Serbian. +\renewcommand{\samp}[1]{\char"201E\texttt{#1}\char"201C{}} +% There is no slanted Old Standard, so use XeTeX's fake slant feature. +\newfontfamily\slantfont[FakeSlant=.2]{Old Standard} +\newfontfamily\cmutt{CMU Typewriter Text} +\renewcommand{\var}[1]{{\slantfont#1}} +\renewcommand{\textsl}[1]{{\slantfont#1}} +\def\Ucom#1{{\cmutt\bfseries#1}} +\renewcommand{\BibTeX}{B{\smaller IB}\TeX{}} +% Redefine running headers. +\pagestyle{fancyplain} +\fancyhf{} +\renewcommand{\sectionmark}[1]{\markboth{#1}{}} +\lhead{\fancyplain{}{{\serbianfont\emph{\MakeUppercase\leftmark}}}} +\rhead{\fancyplain{}{{\serbianfont\thepage}}} +\setlength{\headheight}{12.22003pt} +\renewcommand{\headrulewidth}{0pt} + +% Finally: +\widowpenalty=4000 +\clubpenalty=4000 +\frenchspacing +\flushbottom + +\endinput diff --git a/Master/texmf-dist/doc/texlive/texlive-sr/texlive-sr.tex b/Master/texmf-dist/doc/texlive/texlive-sr/texlive-sr.tex new file mode 100644 index 00000000000..56897545f34 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-sr/texlive-sr.tex @@ -0,0 +1,3907 @@ +% TeX Live documentation. Originally written by Sebastian Rahtz and +% Michel Goossens, now maintained by Karl Berry and others. +% Public domain. + +% ---------------------------------------------------------------------- +% Serbian translation of TeX Live Guide: TeX Live 2012 +% Copyright (C) 2010, 2011, 2012 Nikola LeÄić +% <nikola.lecic@anthesphoria.net> (the translator). +% +% Redistribution and use in source (XeLaTeX code) and `compiled' +% forms (XDV, SGML, HTML, PDF, PostScript, RTF and so forth) with or +% without modification, are permitted provided that the following +% conditions are met: +% +% * Redistributions of source code (XeLaTeX code) must retain the above +% copyright notice, this list of conditions and the following +% disclaimer as the first lines of the source file unmodified. +% +% * Redistributions in compiled form (transformed to other DTDs, +% converted to PDF, HTML, PostScript, RTF and other formats) must +% reproduce the above copyright notice, this list of conditions and +% the following disclaimer in the documentation and/or other +% materials provided with the distribution. +% +% THIS DOCUMENTATION IS PROVIDED BY THE TRANSLATOR ``AS IS'' AND ANY +% EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +% IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +% PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE TRANSLATOR BE LIABLE +% FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +% CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +% SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +% BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +% WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +% OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +% DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +% See README-SR.txt for the technical details specific to this +% translation. + +% Revision history: +% 2012/06/02: for TeX Live 2012: new screenshots, +% = texlive-en.tex r26703. +% 2011/06/14: = texlive-en.tex r22906; screenshots updated. +% 2011/06/07: small corrections. +% 2011/06/05: first version for TeX Live 2011; new screenshots; +% = texlive-en.tex r22709. +% 2010/07/17: New localised screenshots. +% 2010/07/14: = texlive-en.tex r19386. +% 2010/07/07: = texlive-en.tex r19168. +% 2010/06/22: first revision to be included into the TL SVN trunk. The +% translated text is equivalent to texlive-en.tex r19070. +% 2010/07/06: fixed typos, some better wording; = texlive-en.tex r19168. +% 2010/07/13: = texlive-en.tex r19386. +% 2010/07/17: a small adjustment for new screenshot. +% ---------------------------------------------------------------------- + +\documentclass{article} +\let\tldocenglish=0 % for live4ht.cfg +\usepackage{texlive-sr} + +\begin{document} + +% Different font; we want to change geometry a bit, plus +% we want footnotes etc.: +\newgeometry{hscale=0.75,lines=57,vmarginratio=10:8} + +\title{% + {\huge \textit{\TeX\ Live: Приручник}\\\smallskip}% + {\LARGE \textsf{\TL{} 2012}}% + \footnote{\textserbian{Превод текÑта: \textenglish{Karl Berry + (ed.), \emph{The \TL{} Guide: \TL{} 2012}}. Ова верзија превода је + еквивалент \TeX\ ко\char"0302 да из фајла + \hbox{\file{texlive-en.tex}}, \acro{SVN} r26703. УÑлови под којима + можете да кориÑтите овај превод дати Ñу на крају документа, као + и у фајлу \hbox{\file{texlive-sr.tex}}.}}% +} + +\author{% + Карл Бери, уредник\\[1mm] + \url{http://tug.org/texlive/}\\[5mm] + \small{\textit{превод на ÑрпÑки језик}}\\[.5mm] + \small{Ðикола Лечић}\\ + \scriptsize{\email{nikola.lecic@anthesphoria.net}} +} + +\date{јун 2012} + +\maketitle + +\begin{multicols}{2} +\tableofcontents +%\listoftables +\end{multicols} +\vfill +\pagebreak + +\section{Увод} +\label{sec:intro} + +\subsection{\TeX\ Live и \TeX\ Collection} + +У овом документу Ñу опиÑане главне могућноÑти ÑофтверÑке диÑтрибуције +\TL{}, која Ñе ÑаÑтоји од \TeX{}-а и програма који Ñу повезани Ñа њим, +и која Ñе прави за \GNU/Linux и друге варијанте Unix-а, \MacOSX и +\Windows{}. + +\TL{} Ñе може преузети Ñа Интернета или добити преко \TK{} \DVD-ја +који групе кориÑника \TeX{}-а диÑтрибуирају Ñвојим члановима, и на +разне друге начине. Одељак \ref{sec:tl-coll-dists} укратко опиÑује +Ñадржај \DVD-ја. \TL{} и \TK{} Ñу резултат удружених напора многих +група кориÑника \TeX{}-а. Овај документ опиÑује пре Ñвега +Ñа\char"0302 м \TL{}. + +У \TL{} Ñу укључени програми \TeX{}, \LaTeXe{}, \ConTeXt, \MF, \MP, +\BibTeX{} и многи други, обимна колекција макроа, фонтова и +документације, као и подршка за припрему текÑта на много разних +пиÑама и језика из Ñвих делова Ñвета. + +Кратак преглед најважнијих промена у овом издању \TL{}-а налази Ñе на +крају документа, у одељку~\ref{sec:history} +(ÑÑ‚Ñ€.~\pageref{sec:history}). + +\htmlanchor{platforms} +\subsection{Подржани оперативни ÑиÑтеми} +\label{sec:os-support} + +\TL{} Ñадржи унапред компајлиране програме за многе варијанте Unix-а, +укључујући \GNU/Linux и \MacOSX. Такође, ту Ñу и верзије програма за +Cygwin. Пошто је изворни код укључен у диÑтрибуцију, програми Ñе могу +компајлирати и на платформама\footnote{\textserbian{\emph{Платформа} +предÑтавља комбинацију архитектуре и оперативног ÑиÑтема: нпр. +оперативни ÑиÑтем Free\acro{BSD} који ради на 64-битном \acro{Intel} +или \acro{AMD} процеÑору јеÑте платформа по имену +\pkgname{amd64-freebsd}. Развојни тим \TL{}-a Ñе одлучио да овом +изразу да\char"0302\ предноÑÑ‚ у одноÑу на израз „оперативни ÑиÑтем“ и +ми ћемо Ñледити ту одлуку колико је то могуће, мада не у Ñвим +Ñлучајевима (пре Ñвега у ÑрпÑком преводу програма\char"0304\ +\prog{install-tl} и \prog{tlmgr}, у којима би употреба израза +\emph{архитектура} могла лако да збуни кориÑника пошто тамо није +могуће дати овакво објашњење) --- \emph{прим. прев.}}} за које немамо +унапред припремљене бинарне фајлове. + +Што Ñе тиче \Windows{}-а, подржани Ñу Ñамо \Windows{} \acro{XP} и +каÑније верзије. \Windows{}~2000 ће Ñа великом вероватноћом и даље +радити за највећи број Ñтвари. Ðе поÑтоје поÑебни 64-битни програми +за \Windows{}; умеÑто тога, 32-битни програми би требало да раде на +64-битним ÑиÑтемима. + +Погледајте одељек~\ref{sec:tl-coll-dists} ако Вам је потребно више +информација о алтернативним решењима за \Windows{} и \MacOSX. + +\subsection{ОÑновна инÑталација \protect\TL{}-а} +\label{sec:basic} + +\TL{} Ñе може инÑталирати Ñа \DVD{}-ја или преко Интернета +(\url{http://tug.org/texlive/acquire.html}). Сам програм за +инÑталацију који ради преко мреже је мали и Ñкида Ñве што је задато +Ñа Интернета. + +Програм за инÑталацију Ñа \DVD{}-ја Вам омогућава да инÑталирате +\TL{} на локални диÑк. \TL{} Ñе не може директно покретати Ñа +\DVD{}-ја (као ни из \DVD{} \code{.iso} одраза), али зато можете да +припремите преноÑиву радну верзију на нпр. \acro{USB}-диÑку +(погледајте одељак~\ref{sec:portable-tl}). ИнÑталација је детаљно +опиÑана у одељцима који Ñледе (ÑÑ‚Ñ€.~\pageref{sec:install}); укратко, +поÑтупак изгледа овако: + +\begin{itemize*} + +\item ИнÑталациона Ñкрипта Ñе зове \filename{install-tl}. Она може да + ради у поједноÑтављеном графичком, тзв. „wizard“ режиму, ако Ñе + позове Ñа опцијом \code{-gui=wizard} (подразумевани режим на + Win\-\hbox{dows-у}, у текÑтуалном режиму ако Ñе позове Ñа + \code{-gui=text} (подразумевани режим на Ñвим другим + ÑиÑтемима), и графичком режиму на екÑпертÑком нивоу (тзв. „expert + \GUI{}“ режим), који Ñе позива Ñа \code{-gui=perltk}. + +\item Један од инÑталираних програма је и \TL\ Manager, који Ñе позива + помоћу \prog{tlmgr}. Као и програм за инÑталацију, он може да Ñе + кориÑти и у графичком (\GUI{}) и у текÑтуалном режиму. Можете га + кориÑтити да инÑталирате и деинÑталирате пакете и да обавите разне + конфигурационе задатке. + +\end{itemize*} + + +\htmlanchor{security} +\subsection{Ðа шта треба обратити пажњу што Ñе тиче ÑигурноÑти} +\label{sec:security} + +Према нашем најдубљем знању и уверењу, оÑновни \TeX\ програми који +чине језгро \TL{}-a изузетно Ñу робуÑни (и увек Ñу били такви). +Међутим, допунÑки програми који Ñу укључени у \TeX\ Live ниÑу нужно +на иÑтом нивоу, ÑƒÐ¿Ñ€ÐºÐ¾Ñ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼ напорима. Као и увек, требало би да +будете опрезни када покрећете програме да обрађују непоуздане улазне +податке; најÑигурније што можете да урадите јеÑте да то увек радите у +новом поддиректоријуму. + +Потреба за опрезом је нарочито важна на \Windows{}-у, пошто +\Windows{} обично тражи програме у текућем директоријуму пре него на +било ко другом меÑту, без обзира на путању за претрагу коју задаје +кориÑник. Ово отвара широку лепезу могућноÑти\char"0304\ за напад. Ми +Ñмо Ñанирали многе ÑигурноÑне пропуÑте, али неки превиди Ñу без Ñумње +и даље ту, нарочито у програмима који нам долазе Ñа Ñтране. Стога +препоручујемо да проверите да ли радни директоријум Ñадржи Ñумњиве, +пре Ñвега извршне фајлове (бинарне или Ñкрипте). Њих обично нема, и +Ñвакако не би требало да Ñе Ñтворе обичном обрадом неког документа. + +Коначно, \TeX\ (и пратећи програми) чеÑто Ñтварају нове фајлове када +обрађују документ, што је оÑобина која Ñе може злоупотребити на много +разних начина. Да поновимо, обрада непознатих докумената у новом +поддиректоријуму је најÑигурније што можете да урадите. + + +\subsection{Помоћ у раду} +\label{sec:help} + +Заједница кориÑника \TeX{}-а је активна и пријатељÑки раÑположена, +тако да Ñе и на најозбиљнија питања на крају нађе одговор. Међутим, +ова подршка је неформалне природе будући да долази од +волонтера\char"0304\ и Ñлучајних читалаца мејлинг-лиÑта, тако да је +нарочито важно да „урадите домаћи задатак“ пре него што нешто питате. +(Ðко више волите загарантовану комерцијалну подршку, можете Ñе у у +потпуноÑти одрећи \TL{}-а и купити одговарајући ÑиÑтем; на Ñтраници +\url{http://tug.org/interest.html#vendors} поÑтоји ÑпиÑак таквих +продаваца.) + +Ово је лиÑта раÑположивих реÑурÑа датих отприлике редоÑледом по коме +препоручујемо да их кориÑтите: + +\begin{description} +\item [Страница за почетнике] Ðко Ñте нови у \TeX-у, Ñтраница +\url{http://tug.org/begin.html} нуди кратак увод у ÑиÑтем. + +\item [\TeX{} \acro{FAQ}] (питања везана за \TeX{} која Ñе чеÑто +поÑтављају) предÑтавља огромну збирку одговора на Ñве врÑте питања, +од најоÑновнијих до најÑложенијих. Та збирка је укључена у \TL{} и +налази Ñе у директоријуму +\OnCD{texmf-dist/doc/generic/FAQ-en/html/index.html}, а доÑтупна је и +на Интернету преко \url{http://www.tex.ac.uk/faq}. Молимо Ð’Ð°Ñ Ð´Ð° +одговоре прво овде потражите. + +\item [\TeX{} Catalogue] (\TeX{}-каталог) Ðко тражите неки Ñпецифичан +пакет, фонт или програм, \TeX{}-каталог је меÑто на коме треба +отпочети претрагу. То је огромна колекција Ñвих Ñтвари које имају +везе Ñа \TeX{}-ом. Погледајте +\url{http://mirror.ctan.org/help/Catalogue/}. + +\item [\TeX{} реÑурÑи на Интернету] Интернет-Ñтраница +\url{http://tug.org/interest.html} Ñадржи многе линкове који имају +везе Ñа \TeX{}-ом, нарочито на бројне књиге, приручнике и чланке о +Ñвим аÑпектима ÑиÑтема. + +\item [архивирана подршка] Два главна форума Ñу Usenet група + \url{news:comp.text.tex} и мејлинг-лиÑта \email{texhax@tug.org}. + Ðрхиве ова два форума Ñадрже велики број питања и одговора + прикупљених током много година; ове претраживе архиве Ñу доÑтупне + преко \url{http://groups.google.com/group/comp.text.tex/topics} и + \url{http://tug.org/mail-archives/texhax}. Такође, обична претрага + Интернета, на пример преко \url{http://google.com}, никад није на + одмет. + +\item [поÑтављање питања] Ðко и даље не можете да пронађете одговор, + можете да поÑтавите питање на \dirname{comp.text.tex} кориÑтећи + Google или Ñвој newsreader, или на \email{texhax@tug.org} путем + електронÑке поште. Ðли, пре него што поÑтавите питање, \emph{молимо + ВаÑ} да прочитате овај текÑÑ‚ из \acro{FAQ} колекције како биÑте + увећали шанÑе да добијете кориÑтан одговор: + \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. + Треба поменути и Ин\-тер\-нет-Ñтраницу \LaTeX{} заједнице + (\textenglish{\LaTeX{} Community}, + \url{http://www.latex-community.org/}) и њихов форум + \url{http://www.latex-community.org/forum/}, као и Интернет-портал + \TeX\ \textenglish{StackExchange}, + \url{http://tex.stackexchange.com/}. + +\item [подршка везана за \TL{}] Ðко желите да пријавите грешку или + ако имате предлоге и коментаре везане за диÑтрибуцију, инÑталацију + или документацију \TL{}-а, мејлинг-лиÑта је \email{tex-live@tug.org}. + Међутим, ако Ñе Ваше питање тиче употребе неког поÑебног програма + укљученог у \TL{}, молимо Ð’Ð°Ñ Ð´Ð° пишете оÑоби која тренутно одржава + тај програм или на одговарајућу мејлинг-лиÑту. Врло чеÑто, покретање + програма Ñа параметром \code{-{}-help} даје адреÑу на коју треба + пријавити грешке. + +\end{description} + +С друге Ñтране, ту је пружање помоћи онима који поÑтављају питања. И +\dirname{comp.text.tex} и \code{texhax} Ñу отворени за Ñваког, па +Ñтога будите Ñлободни да Ñе прикључите; почните да читате и помозите +где можете. + + +% don't use \TL so the \uppercase in the headline works. Also so +% tex4ht ends up with the right TeX. Likewise the \protect's. +\section{Преглед \protect\TeX\protect\ Live{}-а} +\label{sec:overview-tl} + +Овај одељак опиÑује Ñадржај диÑтрибуције \TK{} и њеног ÑаÑтавног дела, \TL{}-а. + +\subsection{\protect\TeX\protect\ Collection: \TL, pro\TeX{}t, Mac\TeX} +\label{sec:tl-coll-dists} + +\TK{} \DVD{} обухвата: + +\begin{description} + +\item [\TL] Комплетан \TeX{} ÑиÑтем који Ñе може инÑталирати на диÑк. + Интернет-Ñтраница \TL{}-a је \url{http://tug.org/texlive/}. + +\item [Mac\TeX] Варијанта \TL{}-а за \MacOSX; укључује инÑталациони + програм пиÑан Ñпецијално за \MacOSX\ и још неке Mac апликације. + Интернет-Ñтраница пројекта је \url{http://tug.org/mactex/}. + +\item [pro\TeX{}t] Рађен као проширење \Windows{} диÑтрибуције + \MIKTEX, \ProTeXt\ укључује неколико допунÑких алатки и + поједноÑтављује инÑталацију. Он је у потпуноÑти незавиÑан од \TL{}-а + и има ÑопÑтвена упутÑтва за инÑталацију. Интернет-Ñтраница + \ProTeXt\ пројекта је \url{http://tug.org/protext}. + +\item [CTAN] Сајт-копија (mirror) репозиторијума \CTAN{} + (\url{http://www.ctan.org}). + +\item [\texttt{\textbf texmf-extra}] Директоријум Ñа разним допунÑким + пакетима. + +\end{description} + +Лиценце које одређују уÑлове умножавања \CTAN{}-а, пакета + \pkgname{protext} и Ñадржаја директоријума \dirname{texmf-extra} ниÑу + нужно иÑте као у \TL{}-у, па Ñтога будите опрезни када их + редиÑтрибуирате или преправљате. + + +\subsection{\TL{} директоријуми највишег нивоа} +\label{sec:tld} + +Ево ÑпиÑка и кратких опиÑа директоријума\char"0304\ највишег нивоа у +\TL{} инÑталацији: + +\begin{ttdescription} +\item[bin] Програми \TeX{} ÑиÑтема, групиÑани по платформама. +% +\item[readme-*.dir] Кратак преглед \TL{}-a и кориÑни линкови на + разним језицима, у \HTML{} и текÑтуалном формату. +% +\item[source] Изворни ко\char"0302 д Ñвих програма који Ñу укључени у + \TL{}, укључујући Ñредишње \TeX{} диÑтрибуције заÑноване на + \Webc{}-у. +% +\item[texmf] Погледајте Ð¾Ð¿Ð¸Ñ Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ðµ \dirname{TEXMFMAIN} у Ñледећем + одељку. +% +\item[texmf-dist] Погледајте Ð¾Ð¿Ð¸Ñ Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ðµ \dirname{TEXMFDIST} у + Ñледећем одељку. +% +\item[tlpkg] Скрипте, програми и подаци потребни за одржавање + инÑталације, као и фајлови Ñпецифични за \Windows{}. +\end{ttdescription} + +ОÑим управо набројаних директоријума, на највишем нивоу диÑтрибуције +налазе Ñе и инÑталационе Ñкрипте и \filename{README} +(\filename{ПРОЧИТÐЈ-МЕ}) фајлови на разним језицима. + +Што Ñе тиче документације, од помоћи могу да буду иÑцрпни линкови у +фајлу \OnCD{doc.html}, који Ñе налази у директоријуму највишег нивоа. +Документација за поједине програме (приручници, man-Ñтранице, +Info-фајлови) налази Ñе у \dirname{texmf/doc}. Документација за \TeX\ +пакете и формате налази Ñе у \dirname{texmf-dist/doc}. Можете да +употребите програм \cmdname{texdoc} ако желите да пронађете било који +део документације. + +Документација о Ñамој диÑтрибуцији \TL\ налази Ñе у +\dirname{texmf/doc/texlive} и доÑтупна је на неколико језика: + +\begin{itemize*} +\item{енглеÑки:} \OnCD{texmf/doc/texlive/texlive-en} +\item{италијанÑки:} \OnCD{texmf/doc/texlive/texlive-it} +\item{кинеÑки:} \OnCD{texmf/doc/texlive/texlive-zh-cn} +\item{немачки:} \OnCD{texmf/doc/texlive/texlive-de} +\item{пољÑки:} \OnCD{texmf/doc/texlive/texlive-pl} +\item{руÑки:} \OnCD{texmf/doc/texlive/texlive-ru} +\item{ÑрпÑки:} \OnCD{texmf/doc/texlive/texlive-sr} (овај документ) +\item{француÑки:} \OnCD{texmf/doc/texlive/texlive-fr} +\item{чешки и Ñловачки:} \OnCD{texmf/doc/texlive/texlive-cz} +\end{itemize*} + +\subsection{Садржај директоријума texmf} +\label{sec:texmftrees} + +Овај одељак даје ÑпиÑак унапред дефиниÑаних променљивих које одређују +раÑпоред података унутар директоријума texmf, Ñврху којој Ñлуже, као +и њихов подразумевани положај и ÑвојÑтва унутар \TL{}-а. Команда +\texttt{tlmgr~conf} приказује вредноÑти ових променљивих тако да лако +можете да видите на који директоријум (дрво) на Вашој инÑталацији оне +упућују. + +Сви ови директоријуми (дрвета), укључујући и лични, треба да поштују +\TDS\ (\emph{Ñтруктуру \TeX{} директоријума}, одноÑно \TeX{} +\textenglish{Directory Structure} --- \url{http://tug.org/tds}), Ñа +Ñвим безбројним поддиректоријумима карактериÑтичним за њу, иначе може +да Ñе деÑи да Ñе неки фајлови не могу пронаћи. +Одељак~\ref{sec:local-personal-macros} +(ÑÑ‚Ñ€.~\pageref{sec:local-personal-macros}) детаљно Ñе бави овом темом. + +\begin{ttdescription} +\item [TEXMFMAIN] Дрво у коме Ñе налазе витални делови ÑиÑтема као + што Ñу конфигурациони фајлови, помоћне Ñкрипте и документација за + програме. +\item [TEXMFDIST] Дрво које Ñадржи главни Ñкуп макро-пакета, фонтова, + итд. +\item [TEXMFLOCAL] Дрво које админиÑтратори могу да кориÑте за + инÑталацију додатних или надограђених макроа, фонтова, итд; Ñадржај + овог дрвета важи за цео ÑиÑтем. +\item [TEXMFHOME] Дрво које кориÑници могу да кориÑте за Ñвоје личне + инÑталације додатних или надограђених макроа, фонтова, итд; вредноÑÑ‚ + ове променљиве динамички Ñе прилагођава положају личног директоријума + Ñваког појединог кориÑника. +\item [TEXMFCONFIG] (Лично кориÑниково) дрво које апликације + \verb+texconfig+, \verb+updmap+ и \verb+fmtutil+ кориÑте за чување + измењених конфигурационих података. +\item [TEXMFSYSCONFIG] (Глобално важеће) дрво које кориÑте апликације + \verb+texconfig-sys+, \verb+updmap-sys+ и \verb+fmtutil-sys+ за + чување измењених конфигурационих података. +\item [TEXMFVAR] (Лично кориÑниково) дрво које кориÑте + \verb+texconfig+, \verb+updmap+ и \verb+fmtutil+ за чување аутоматÑки + направљених података које разни програми кориÑте током рада, као што + Ñу формати и мапе. +\item [TEXMFSYSVAR] (Глобално важеће) дрво које кориÑте + \verb+texconfig-sys+, \verb+updmap-sys+ и \verb+fmtutil-sys+, као и + \verb+tlmgr+, за чување аутоматÑки направљених података које разни + програми кориÑте током рада, као што Ñу формати и мапе. +\item [TEXMFCACHE] Дрво (или више дрвета) које \ConTeXt\ Mk\acro{IV} + кориÑти за чување (кешираних) радних података. +\end{ttdescription} + +\noindent +Подразумевана Ñтруктура директоријума изгледа овако: +\begin{description} + \item[корен ÑиÑтема] може да Ñадржи више различитих издања \TL{}-а: + \begin{ttdescription} + \item[2011] Претходно издање. + \item[2012] Тренутно издање. + \begin{ttdescription} + \item [bin] ~ + \begin{ttdescription} + \item [i386-freebsd\ \ \ \ ] програми за FreeBSD + \item [i386-linux\ \ \ \ \ \ ] програми за \GNU/Linux + \item [...] + \item [universal-darwin] програми за \MacOSX + \item [win32\ \ \ \ \ \ \ \ \ \ \ ] програми за \Windows{} + \end{ttdescription} + \item [texmf\ \ \ \ \ \ \ ] \envname{TEXMFMAIN} + \item [texmf-dist\ \ ] \envname{TEXMFDIST} + \item [texmf-var \ \ ] \envname{TEXMFSYSVAR} + \item [texmf-config] \envname{TEXMFSYSCONFIG} + \end{ttdescription} + \item [texmf-local] \envname{TEXMFLOCAL}, заједнички за Ñва издања. + \end{ttdescription} + \item[кориÑников лични директоријум] (\texttt{\$HOME} или + \texttt{\%USERPROFILE\%}) + \begin{ttdescription} + \item[.texlive2011] Лични направљени и конфигурациони подаци за + претходно издање. + \item[.texlive2012] Лични направљени и конфигурациони подаци за + тренутно издање. + \begin{ttdescription} + \item [texmf-var\ \ \ ] \envname{TEXMFVAR}, \envname{TEXMFCACHE} + \item [texmf-config] \envname{TEXMFCONFIG} + \end{ttdescription} + \item[texmf] \envname{TEXMFHOME} Лични макрои итд. + \end{ttdescription} +\end{description} + + +\subsection{Проширења \protect\TeX-а} +\label{sec:tex-extensions} + +Кнутов [Knuth] оригинални \TeX{} је замрзнут: оÑим ретких поправки +грешака, у њега Ñе не уноÑе никакве иÑправке. Изворни \TeX{} је још +увек приÑутан у \TL-у као програм \prog{tex}, и тако ће и оÑтати у +будућноÑти. \TL{} Ñадржи неколико проширених варијанти \TeX-а: + +\begin{description} + +\item [\eTeX] додаје неколико нових примитива\char"0304\ + \label{text:etex} (којe Ñе одноÑе на проширење макроа, читање + Ñимбола\char"0304, клаÑе ознака, додатне могућноÑти за отклањање + грешака и још пуно тога), као и проширење звано \TeXXeT{} које + Ñлужи за припрему докумената Ñа Ñадржајем на језицима који Ñе пишу + Ñа лева на деÑно, уз оне који Ñе пишу Ñа деÑна на лево. + У подразумеваном режиму, \eTeX{} је 100\% компатибилан Ñа Ñтандардним + \TeX-ом. Погледајте \OnCD{texmf-dist/doc/etex/base/etex_man.pdf}. + +\item [pdf\TeX] је изграђен на проширењима које је донео \eTeX, + додајући на њих подршку за прављење докумената директно у \acro{PDF} + формату (поред уобичајеног \dvi{}) и много проширења невезаних за + излаз. Ово је програм који Ñе кориÑти за већину формата, као што Ñу + \prog{etex}, \prog{latex}, \prog{pdflatex}. Интернет Ñтраница + пројекта је \url{http://www.pdftex.org/}. УпутÑтво за употребу је + \OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf}, а примери који + демонÑтрирају неке од његових могућноÑти налазе Ñе у + \OnCD{texmf-dist/doc/pdftex/manual/samplepdf/samplepdf.tex}. + +\item [Lua\TeX] је предвиђен да буде наÑледник pdf\TeX-а, и углавном + је (мада не у потпуноÑти) компатибилан Ñа Ñвојим претходницима. + Ðамера је такође да он буде функционални надÑкуп Aleph-а (погледајте + ниже), премда нема намере да Ñе подржи техничка компатибилноÑÑ‚. + Уграђени интерпретер језика Lua (\url{http://www.lua.org/}) омогућава + елегантна решења за многе тешко решиве проблеме у \TeX{}-у. Када Ñе + позива као \filename{texlua}, функционише као ÑамоÑтални Lua + интерпретер и као такав је већ у употреби унутар \TL-а. + Интернет-Ñтраница пројекта је \url{http://www.luatex.org/} а + приручник је \OnCD{texmf-dist/doc/luatex/luatexref-t.pdf}. + +\item [\XeTeX] додаје подршку за ÑƒÐ½Ð¾Ñ Ñ‚ÐµÐºÑта према Unicode + Ñтандарду уз употребу OpenType фонтова; \XeTeX\ може да кориÑти + фонтове који већ поÑтоје на ÑиÑтему; ова подршка је урађена уз + употребу Ñпољних библиотека. Погледајте \url{http://tug.org/xetex}. + +\item [\OMEGA\ (Omega)] је заÑнован на Unicode Ñтандарду (Ñваки знак + заузима 16 бита), па Ñтога подржава рад Ñа Ñкоро Ñвим ÑветÑким + пиÑмима у иÑто време. Он подржава и тзв. „\OMEGA{} процеÑе превођења“ + („\textenglish{\OMEGA{}~Translation Processes}“ --- \acro{OTP}) за + извођење Ñложених транформација над произвољним улазом. Omega није + више укључен у \TL{} као одвојени програм; одржавамо Ñамо Aleph + (погледајте иÑпод). + +\item [Aleph] комбинује проширења која Ñу донели \OMEGA\ и \eTeX. + Погледајте \OnCD{texmf-dist/doc/aleph/base}. + +\end{description} + + +\subsection{Други иÑтакнути програми у \protect\TL} + +Ево неколико других важних програма који Ñу укључени у \TL{} и који +Ñе чеÑто кориÑте: + +\begin{cmddescription} +\itemsep=-.2em +\item [bibtex, bibtex8] подршка за прављење библиографија\char"0304. +\item [makeindex, xindy] подршка за прављење индекÑа\char"0304. +\item [dvips] пребацује \dvi{} формат у \PS{}. +\item [xdvi] програм за приказивање \dvi{} формата у графичком + ÑиÑтему X (X Window System). +\item [dvilj] \dvi{} драјвер за породицу штампача\char"0304\ HP LaserJet. +\item [dviconcat, dviselect] рад Ñа документима у \dvi{} формату. +\item [dvipdfmx] пребацује \dvi{} у \acro{PDF}; Ñлужи као + алтернатива приÑтупу који омогућава pdf\TeX\ (објашњено у претходном одељку). +\item [psselect, psnup...] алатке за баратање \PS{} документима. +\item [pdfjam, pdfjoin...] алатке за баратање \acro{PDF} документима. +\item [texexec, texmfstart] програми за Con\TeX{}t и \acro{PDF}. +\item [tex4ht] конвертор из \TeX{}-а у \acro{HTML}, \acro{XML} и + много других формата. +\end{cmddescription} + + +\subsection{Фонтови у \protect\TL} +\label{sec:tl-fonts} + +У \TL{} је укључен велики број векторÑких фонтова виÑоког квалитета. +Погледајте \url{http://tug.org/fonts} и +\OnCD{texmf-dist/doc/fonts/free-math-font-survey}. + + +\htmlanchor{installation} +\section{ИнÑталација} +\label{sec:install} + +\subsection{Покретање инÑталационог програма} +\label{sec:inst-start} + +За почетак, потребан Вам је \TK{} \DVD{} или програм за инÑталирање +\TL{}-а преко Интернета (\textenglish{net installer}). Пронађите +инÑталациону Ñкрипту: она Ñе зове \filename{install-tl} на Unix-има, +а \filename{install-tl.bat} на \Windows{}-у. Ðа Ñтраници +\url{http://tug.org/texlive/acquire.html} налазе Ñе додатне информације +како можете да дођете до Ñофтвера. + +\begin{description} +\item [Net installer:] Скините га Ñа \CTAN-а, налази Ñе у + директоријуму \dirname{systems/texlive/tlnet}; преко путање + \url{http://mirror.ctan.org/systems/texlive/tlnet} бићете аутоматÑки + пребачени на географÑки најближи Ñајт-копију (mirror) који Ñадржи + најновије верзије целокупног Ñадржаја. Можете да преузмете + \filename{install-tl.zip}, који Ñе може кориÑтити и под Unix-ом и под + \Windows{}-ом, или значајно мањи \filename{install-unx.tar.gz} (Ñамо + за Unix). Када раÑпакујете фајл који Ñте преузели, у поддиректоријуму + \dirname{install-tl} наћи ћете фајлове \filename{install-tl} и + \filename{install-tl.bat}. + +\item [\TeX{} Collection \DVD:] Уђите у директоријум \dirname{texlive} + на \DVD-ју. Ðа \Windows{}-у Ñе инÑталациони програм обично Ñам + покреће када убаците \DVD. \DVD можете добити ако поÑтанете члан неке + групе кориÑника \TeX-а (наша Ñрдачна препорука да урадите тако, + погледајте \url{http://tug.org/usergroups.html}), тако што ћете га + купити (\url{http://tug.org/store}), или тако што ћете Ñами нарезати + \ISO\ фајл. Ðа већини ÑиÑтема можете и да директно приÑтупите + Ñадржају \ISO{} одраза („\textenglish{mount}“). Ðко поÑле инÑталације + преко \DVD{}-ја или \ISO{} одраза желите да наÑтавите Ñа надоградњама + преко Интернета, погледајте одељак~\ref{sec:dvd-install-net-updates}. + +\end{description} + +Без обзира на то који извор кориÑтите, покреће Ñе један иÑти инÑталер. +Ðајвидљивија разлика је то што преко мреже („\textenglish{Net +installer}“) добијате пакете који Ñу доÑтупни у том тренутку. За +разлику од тога, \DVD{} и \ISO{} фајлови Ñе не оÑвежавају у периоду +између главних издања. + +Ðаредни одељци детаљно објашњавају како Ñе инÑталациони програм +кориÑти. + +\subsubsection{Unix} + +Од Ñада па надаље, \texttt{>} означава „промпт“ („shell prompt“); оно +што уноÑи кориÑник приказано је \Ucom{подебљаним} \Ucom{Ñловима}. +Скрипта \filename{install-tl} је напиÑана у језику Perl. +ÐајједноÑтавнији начин да је покренете на Unix ÑиÑтемима изгледа +овако: +\begin{alltt}> \Ucom{cd /путања/до/програма/за/инÑталацију} +> \Ucom{perl install-tl} +\end{alltt} +(УмеÑто тога, можете је позвати Ñа \Ucom{perl +/путања/до/инÑталера/install-tl} или Ñа \Ucom{./install-tl} ако је +Ñкрипта извршни фајл --- има „права на извршавање“, речено Unix +језиком --- итд; нећемо понављати Ñве ове варијације.) Може Ñе деÑити +да је потребно да повећате прозор Ñвог терминала како би у њега Ñтао +цео Ñадржај програма (Ñлика~\ref{fig:text-main}). + +Ðко желите да обавите инÑталацију у екÑпертÑком графичком режиму +(„expert \acro{GUI}“, Ñлика~\ref{fig:gui-main}), биће Вам потребан +\dirname{Perl/TK} модул компајлиран Ñа \acro{XFT} подршком; то је +обично тако на \GNU/Linux-у, али није нужно Ñлучај на другим +ÑиÑтемима.\footnote{\textserbian{Ово нарочито важи ако кориÑтите +ћириличне верзије програма, укључујући и ÑрпÑку; фонтови могу бити +читљиви, али ће изгледати веома лоше --- \emph{прим. прев.}}} Када +Ñве буде Ñпремно, откуцајте: +\begin{alltt}> \Ucom{perl install-tl -gui} +\end{alltt} + +Ðко желите да видите комплетан ÑпиÑак разних опција, откуцајте: +\begin{alltt}> \Ucom{perl install-tl -help} +\end{alltt} + +\textbf{Упозорење везано за кориÑничка овлашћења на Unix ÑиÑтемима:} +ИнÑталациони програм \TL{}-а ће поштовати Ваш \code{umask} који важи +у време инÑталације. Дакле, ако желите да инÑталирани ÑиÑтем кориÑте +и други кориÑници, побрините Ñе да подеÑите одговарајуће дозволе, на +пример, \code{umask 002}. ИÑцрпније информације о команди +\code{umask} можете пронаћи у документацији на Вашем ÑиÑтему. + +\textbf{ПоÑебни обзири везани за Cygwin:} За разлику од других +ÑиÑтема компатибилних Ñа Unix-ом, Cygwin у Ñвом Ñтандардном облику не +Ñадржи Ñве неопходне програме који Ñу потребни инÑталационом програму +\TL{}-а. Одељак~\ref{sec:cygwin} поÑвећен је овој теми. + + +\subsubsection{MacOSX} + +Као што је поменуто у одељку~\ref{sec:tl-coll-dists}, за \MacOSX је +припремљена поÑебна диÑтрибуција по имену Mac\TeX\ +(\url{http://tug.org/mactex}). Препоручујемо да на \MacOSX ÑиÑтему +кориÑтите изворни инÑталациони програм умеÑто оног који је укључен у +\TL\ зато што ће Mac\TeX\ верзија урадити и нека додатна подешавања +Ñпецифична за \MacOSX, пре Ñвега она која Вам омогућавају да Ñе лако +пребацујете Ñа једне на другу диÑтрибуцију \TeX-а (Mac\TeX, Fink, +MacPorts...). + +Mac\TeX\ је Ñтрого заÑнован на \TL-у и главни \TeX\ директоријуми Ñу +у потпуноÑти иÑти. Mac\TeX\ на ту Ñтруктуру додаје неколико допунÑких +директоријума Ñа документацијом и апликацијама Ñпецифичним за Mac. + + +\subsubsection{Windows} + +Ðко кориÑтите програм за инÑталацију преко Интернета (net installer) +или ако Ñе инÑталациони програм Ñа \DVD-ја не отвори аутоматÑки, +двапут кликните \filename{install-tl.bat}. Ðко желите да имате више +могућноÑти око подешавања разних параметара, нпр. да изаберете или не +изаберете поједине колекције пакета, умеÑто поменутог програма +покрените \filename{install-tl-advanced.bat}. + +ИнÑталациони програм Ñе може покренути и Ñа командне линије +(command-prompt). У наÑтавку текÑта, \texttt{>} ће означавати промпт; +оно што куца кориÑник биће штампано \Ucom{подебљаним} \Ucom{Ñловима}. +Када уђете у директоријум у коме Ñе налази инÑталациони програм, +откуцајте: +\begin{alltt}> \Ucom{install-tl} +\end{alltt} + +Можете да употребите и апÑолутну путању, на пример: +\begin{alltt}> \Ucom{D:\bs{}texlive\bs{}install-tl} +\end{alltt} +Овај конкретан пример значи да кориÑтите \TK\ \DVD и да је ознака +оптичког драјва на Вашем компјутеру \dirname{D:}. +Слика~\ref{fig:wizard-w32} приказује поједноÑтављени графички +(„wizard“) режим рада инÑталационог програма; овај режим Ñе на +\Windows{}-у подразумева. + +Ðко хоћете да инÑталирате у текÑтуалном режиму, откуцајте: +\begin{alltt}> \Ucom{install-tl -no-gui} +\end{alltt} + +Комплетан ÑпиÑак опција\char"0304\ добићете ако откуцате: +\begin{alltt}> \Ucom{install-tl -help} +\end{alltt} + +\begin{figure}[tb] +\begin{boxedverbatim} +Installing TeX Live 2012 from: ... +Platform: i386-linux => 'Intel x86 with GNU/Linux' +Distribution: live (compressed) +... + Detected platform: Intel x86 with GNU/Linux + + <B> platforms: 1 out of 19 + + <S> installation scheme (scheme-full) + 84 collections out of 85, disk space required: 3091 MB + + Customizing installation scheme: + <C> standard collections + <L> language collections + + <D> directories: + TEXDIR (the main TeX directory): + /usr/local/texlive/2012 + ... + + <O> options: + [ ] use letter size instead of A4 by default + ... + + <V> set up for portable installation + +Actions: + <I> start installation to hard disk + <H> help + <Q> quit +\end{boxedverbatim} +\caption{Главни екран инÑталационог програма + (\GNU/Linux)}\label{fig:text-main} +\end{figure} + +\begin{figure}[tb] +\tlpng{tl2012-install-tl-expert-gui-freebsd-sr}{\linewidth} + \caption{ИнÑталациони програм у екÑпертÑком графичком („Expert + \GUI{}“) режиму (FreeBSD)}\label{fig:gui-main} +\end{figure} + +\begin{figure}[tb] +\tlpng{tl2012-install-tl-wizard-win32-sr}{\linewidth} +\caption{ИнÑталациони програм у поједноÑтављеном графичком („Wizard“) + режиму (\Windows{})}\label{fig:wizard-w32} +\end{figure} + + +\htmlanchor{cygwin} +\subsubsection{Cygwin} +\label{sec:cygwin} + +ИнÑталациони програм \TL{}-а ради Ñамо на Cygwin 1.7. Пре него што +почнете инÑталацију, покрените Cygwin-ов програм \filename{setup.exe} +како биÑте инÑталирали пакете \filename{perl} и \filename{wget} +уколико не поÑтоје на Вашем ÑиÑтему. Препоручују Ñе и ови додатни +пакети: +\begin{itemize*} +\item \filename{fontconfig} [потребан за \XeTeX] +\item \filename{ghostscript} [потребан за више разних програма] +\item \filename{libXaw7} [потребан за \code{xdvi}] +\item \filename{ncurses} [обезбеђује команду \code{clear} коју + кориÑти инÑталациони програм] +\end{itemize*} + + +\subsubsection{ИнÑталација у текÑтуалном режиму} + +Слика~\ref{fig:text-main} приказује главни екран инÑталационог +програма у текÑтуалном режиму рада на Unix-у. ТекÑтуални режим је +Ñтандард на Unix-у. + +У овом режиму, инÑталациони програм Ñе иÑкључиво оÑлања на командну +линију; употреба курзора није могућа. Ðа пример, не можете да +употебите дугме „Тab“ да Ñе премештате од поља до поља за избор и +ÑƒÐ½Ð¾Ñ Ñ‚ÐµÐºÑта. ПроÑто откуцате нешто на промпту (разлика између великих +и малих Ñлова је битна) и притиÑнете Enter; тада Ñе цео екран +терминала поново иÑпуњава измењеним Ñадржајем. + +ТекÑтуални Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÑ˜Ñ Ñ˜Ðµ Ñ Ñ€Ð°Ð·Ð»Ð¾Ð³Ð¾Ð¼ овако примитиван: он је дизајниран +да ради на што је год могуће већем броју оперативних ÑиÑтема, +укључујући и оне Ñа тако једноÑтавним инÑталацијама које Ñадрже Ñамо +чиÑÑ‚ Perl. + + +\subsubsection{ИнÑталација у екÑпертÑком графичком режиму} + +Слика~\ref{fig:gui-main} приказује екÑпертÑки графички режим рада на +Free\acro{BSD} ÑиÑтему. ОÑновна разлика у одноÑу на текÑтуални режим +јеÑте то што овде можете да кориÑтите дугмиће и меније. + +Овај режим рада Ñе може изричито позвати помоћу +\begin{alltt}> \Ucom{install-tl -gui=perltk} +\end{alltt} + + +\subsubsection{ИнÑталација у поједноÑтављеном графичком („wizard“) + режиму} + +Ðко није другачије захтевано, на \Windows{}-у инÑталациони програм +кориÑти најједноÑтавнији режим рада који Ñмо могли да оÑмиÑлимо и који +Ñе зове „wizard“ („чаробњак“ --- Ñлика \ref{fig:wizard-w32}). Програм +у том режиму инÑталира Ñве и не пита Ñкоро ништа. Ðко желите да +подешавате инÑталацију, треба да кориÑтите неки од горе опиÑаних +режима. + +Овај режим Ñе може изричито позвати помоћу +\begin{alltt}> \Ucom{install-tl -gui=wizard} +\end{alltt} + + +\subsection{Употреба инÑталационог програма} +\label{sec:runinstall} + +ИнÑталер је направљен Ñа намером да буде мање-више јаÑан по Ñеби, али +ево неколико напомена о разним опцијама. + +\subsubsection{Мени за избор платформе (Ñамо на Unix-у)} +\label{sec:binary} + +\begin{figure}[tb] +\begin{boxedverbatim} +Available platforms: +=============================================================================== + a [ ] alpha-linux DEC Alpha with GNU/Linux + b [X] amd64-freebsd x86_64 with FreeBSD + c [ ] amd64-kfreebsd x86_64 with GNU/kFreeBSD + d [ ] armel-linux ARM with GNU/Linux + e [ ] i386-cygwin Intel x86 with Cygwin + f [ ] i386-freebsd Intel x86 with FreeBSD + g [ ] i386-kfreebsd Intel x86 with GNU/kFreeBSD + h [ ] i386-linux Intel x86 with GNU/Linux + i [ ] i386-solaris Intel x86 with Solaris + j [ ] mips-irix SGI IRIX + k [ ] mipsel-linux mipsel with Linux + l [ ] powerpc-aix PowerPC with AIX + m [ ] powerpc-linux PowerPC with GNU/Linux + o [ ] sparc-solaris Sparc with Solaris + p [ ] universal-darwin universal binaries for MacOSX/Darwin + s [ ] win32 Windows + t [ ] x86_64-darwin x86_64 with MacOSX/Darwin + u [ ] x86_64-linux x86_64 with GNU/Linux + v [ ] x86_64-solaris x86_64 with Solaris +\end{boxedverbatim} +\caption{Мени за избор платформе (тј. архитектуре и оперативног ÑиÑтема) за програме}\label{fig:bin-text} +\end{figure} + +Слика~\ref{fig:bin-text} приказује мени Ñа подржаним платформама +(в.~фуÑноту 1 за објашњење израза „платформа“) за програме, у +текÑтуалном режиму. Подразумева Ñе да ће бити инÑталиране Ñамо +верзије програма за тип процеÑора и оперативни ÑиÑтем на коме Ñте +покренули инÑталацију. Можете, међутим, изабрати и да инÑталирате +верзије програма и за неке друге платформе. Ово може да буде кориÑно +ако Ñе \TeX\ заједнички кориÑти на мрежи Ñа разнородним машинама или +на компјутерима који на Ñеби имају неколико различитих оперативних +ÑиÑтема. + +\subsubsection{Избор компоненти} +\label{sec:components} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Select scheme: +=============================================================================== + a [X] full scheme (everything) + b [ ] medium scheme (small + more packages and languages) + c [ ] small scheme (basic + xetex, metapost, a few languages) + d [ ] basic scheme (plain and latex) + e [ ] minimal scheme (plain only) + f [ ] ConTeXt scheme + g [ ] GUST TeX Live scheme + h [ ] teTeX scheme (more than medium, but nowhere near full) + i [ ] XML scheme + j [ ] custom selection of collections +\end{boxedverbatim} +\caption{Мени Ñа шемама}\label{fig:scheme-text} +\end{figure} + +Слика~\ref{fig:scheme-text} приказује \TL-ов мени Ñа шемама; преко њега +можете изабрати „шему“, тј. један кохерентан Ñкуп колекција пакета. +Подразумевана „пуна“ (\optname{full}) шема инÑталира Ñве. Препоручује +Ñе да тако и урадите; ипак, можете да изаберете и „оÑновну“ +(\optname{basic}) шему прикладну за мале ÑиÑтеме, „минималну“ +(\optname{minimal}) шему за потребе теÑтирања и „Ñредњу“ +(\optname{medium}) шему --- заправо \optname{teTeX} --- нешто у +Ñредини између претходна два. ПоÑтоје такође и разне Ñпецијализоване +шеме и шеме прилагођене некој поÑебној земљи. + +\begin{figure}[tb] +\begin{center} + \tlpng{tl2012-install-tl-collections-freebsd-sr}{.85\linewidth} + \caption{Мени Ñа колекцијама}\label{fig:collections-gui} +\end{center} +\end{figure} + +Одабир шеме може да Ñе даље разради помоћу менија „Стандардне +колекције“ и „Језичке колекције“ (Ñлика~\ref{fig:collections-gui}, +овог пута, за промену, приказани у графичком режиму). + +Колекције Ñу за један ниво детаљније него шеме --- поједноÑтављено +речено, једна шема Ñе ÑаÑтоји од неколико колекција, колекција Ñе +ÑаÑтоји од једног или више пакета\char"0304, а пакет (најнижи ниво +групиÑања у \TL-у) Ñадржи Ñтварне фајлове \TeX\ макроа, фонтова, итд. + +Ðко желите још више контроле него што нуде менији Ñа колекцијама, +можете да кориÑтите \textenglish{\TeX\ Live Manager} (\prog{tlmgr}) +након инÑталације (подгледајте одељак~\ref{sec:tlmgr}); помоћу њега +можете да контролишете инÑталацију на нивоу пакета\char"0304. + +\subsubsection{Директоријуми} +\label{sec:directories} + +Подразумевани раÑпоред директоријума\char"0304\ опиÑан је у +одељку~\ref{sec:texmftrees}, ÑÑ‚Ñ€.~\pageref{sec:texmftrees}. +Стандардна локација директоријума \dirname{TEXDIR} је +\dirname{/usr/local/texlive/2012} на Unix-у и +|%SystemDrive%\texlive\2012| на Win\-dows-у. + +Главни разлог да промените ове вредноÑти јеÑте ако немате право +упиÑивања на подразумевано меÑто. Ðе морате да будете root или +админиÑтратор да биÑте инÑталирали \TL, али морате имати право +упиÑивања у циљни директоријум. + +Разумна алтернатива јеÑте неки директоријум унутар личног +директоријума, поÑебно ако ћете једини кориÑник бити Ви. Ознака за +лични доректоријум је „|~|“, на пример „|~/texlive/2012|“. + +Препоручујемо да укључите ознаку за годину у име изабраног +директоријума како биÑте били у могућноÑти да држите различита издања +\TL{}-а једно поред другог. (Такође, можете и да помоћу Ñимболичког +линка направите име незавиÑно од верзије, нпр. +\dirname{/usr/local/texlive-cur} и да тај линк каÑније промените +након теÑтирања новог издања.) + +Промена вредноÑти променљиве \dirname{TEXDIR} у инÑталационом +програму повлачи за Ñобом и промену директоријума\char"0304\ +\dirname{TEXMFLOCAL}, \dirname{TEXMFSYSVAR} и +\dirname{TEXMFSYSCONFIG}. + +Препоручујемо да кориÑтите \dirname{TEXMFHOME} као меÑто за личне +макрое и пакете. Подразумевана вредноÑÑ‚ је |~/texmf|. ÐаÑупрот +\dirname{TEXDIR}-у, овде Ñе ознака |~| чува у новозапиÑаним +конфигурационим фајловима зато што означава лични директоријум +било ког појединца који кориÑти \TeX. Он на Unix-у узима вредноÑÑ‚ +\dirname{$HOME} а на \Windows{}-у поÑтаје \verb|%USERPROFILE%|. +ПоÑебна, већ помало Ñувишна напомена: \envname{TEXMFHOME}, као и +Ñва дрвета Ñа подацима, мора бити организовано у Ñкладу Ñа \TDS{}; +у противном Ñе може деÑити да фајлови не могу да Ñе пронађу. + +\dirname{TEXMFVAR} је меÑто где Ñе Ñмештају кеширани подаци који Ñе +Ñтварају током рада програма\char"0304\ и који Ñе разликују од +кориÑника до кориÑника. \ConTeXt\ Mk\acro{IV} кориÑти у те Ñврхе +директоријум \dirname{TEXMFCACHE} (погледајте +одељак~\ref{sec:context-mkiv}, ÑÑ‚Ñ€.~\pageref{sec:context-mkiv}). + + +\subsubsection{Опције} +\label{sec:options} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Options setup: +=============================================================================== + <P> use letter size instead of A4 by default: [ ] + <E> execution of restricted list of programs: [X] + <F> create format files: [X] + <D> install font/macro doc tree: [X] + <S> install font/macro source tree: [X] + <L> create symlinks in standard directories: [ ] + binaries to: + manpages to: + info to: + <Y> after installation, get package updates from CTAN: [X] +\end{boxedverbatim} +\caption{Мени Ñа опцијама (Unix)}\label{fig:options-text} +\end{figure} + +Слика~\ref{fig:options-text} приказује мени Ñа опцијама у текÑтуалном режиму +рада. Следи више информација о Ñвакој од њих: + +\begin{description} +\itemsep=.2em +\item[узети Letter као подразумевану величину папира умеÑто A4] + (\textenglish{use letter size instead of A4 by de\-fault}): Избор + подразумеване величине папира. Ðаравно, можете да употребите било + коју величину папира ако Ñе за тим укаже потреба у неком поÑебном + документу. + +\item[извршавање ограничене лиÑте програма] (\textenglish{execution + of restricted list of programs}): Почев од \TL\ 2010, покретање + једног броја Ñпољних програма дозвољено је у Ñтандардној инÑталацији. + ЛиÑта дозвољених програма (која је веома кратка) дата је у + \filename{texmf.cnf}. Више детаља можете наћи у ÑпиÑку новитета за + \TL\ 2010 (одељак~\ref{sec:2010news}). + +\item[направи фајлове Ñа форматима] (\textenglish{create format + files}): Иако фајлови Ñа форматима које не кориÑтите заузимају меÑто + на диÑку и одузимају време да Ñе направе, препоручује Ñе да оÑтавите + ову опцију укључену: ако то не урадите, формати ће по потреби бити + прављени у личним директоријумима кориÑника (дрво \dirname{TEXMFVAR}). + Ðа том меÑту неће бити аутоматÑки оÑвежени ако Ñе, рецимо, појави + нова верзија програма или правила за прелом текÑта, па кориÑник лако + може да има проблем Ñа некомпатибилним форматима. + +\item[инÑталирај изворни ко\char"0302 д и документацију фонтова и макроа] + (\textenglish{install font/macro doc/source tree}): Ове опције Вам + омогућавају да изоÑтавите преузимање Ñа Интернета или инÑталацију + документације и изворног ко\char"0302 да који поÑтоје за већину пакета. + ИÑкључивање ове опције Ñе не препоручује. + +\item[направи Ñимболичке линкове у ÑиÑтемÑким директоријумима] + (\textenglish{create symlinks in standard directories}): Ова опција + (Ñамо на Unix-у) Ñлужи да избегнете подешавање променљивих из + радног окружења (\textenglish{environment variables}). Без ове опције, + директоријуми \TL{}-а обично морају да Ñе додају у \envname{PATH}, + \envname{MANPATH} и \envname{INFOPATH}. Биће Вам потребно и овлашћење + за упиÑивање у те ÑиÑтемÑке директоријуме. Изричито Ñаветујемо да + употребом ове опције \emph{не дирате} инÑталацију \TeX-а која је део + Вашег ÑиÑтема. Она је намењена пре Ñвега да би Ñе \TL{} ÑиÑтему + приÑтупало кроз директоријуме који Ñу већ познати кориÑнику, као што + је \dirname{/usr/local/bin} али Ñамо ако они пре тога ниÑу Ñадржавали + никакве фајлове везане за \TeX. + +\item[поÑле инÑталације обнављати пакете преко CTAN-а] + (\textenglish{after installation, get package updates from CTAN}): + Када инÑталирате Ñа \DVD-ја, ова опција Ñе подразумева зато што већина + кориÑника жели да преузме Ñве нове верзије пакета Ñа \CTAN-а које Ñе + појаве током године. Једини разумни разлог да иÑкључите ову опцију + појављује Ñе у Ñлучају када Ñа \DVD-ја инÑталирате Ñамо део ÑиÑтема и + планирате да га каÑније проширите. У Ñваком Ñлучају, репозиторијум + пакета\char"0304\ који Ñе кориÑти за инÑталацију и за будуће + оÑвежавање ÑиÑтема може да Ñе подеÑи и каÑније; погледајте + одељке~\ref{sec:location} и~\ref{sec:dvd-install-net-updates}. +\end{description} + +Када Ñу Ñви параметри подешени према Вашој жељи, можете да притиÑнете +„|I|“ како биÑте започели поÑтупак инÑталације. Када Ñе Ñве заврши, +пређите на одељак~\ref{sec:postinstall} и прочитајте шта поÑле тога +има да Ñе уради, ако уопште нешто буде потребно. + + +\subsection{Параметри програма install-tl на командној линији} +\label{sec:cmdline} + +Откуцајте +\begin{alltt}> \Ucom{install-tl -help} +\end{alltt} +како биÑте добили ÑпиÑак Ñвих параметара које можете да употребите на +командној линији. Можете да кориÑтите и |-| и |--| иÑпред назива +параметра. Ово је ÑпиÑак могућноÑти које Ñе најчешће употребљавају: + +\begin{ttdescription} +\item[-gui] Ðко је могуће биће употребљена графичка (\GUI{}) верзија + инÑталационог програма. За ово је потребан Perl/Tk модул + (\url{http://tug.org/texlive/distro.html#perltk}) компајлиран Ñа + подршком за \acro{XFT}; ако Perl/Tk није доÑтупан, инÑталација Ñе + наÑтавља у текÑтуалном режиму. + +\item[-no-gui] Изричито захтевање употребе текÑтуалног режима рада, + чак и на \Windows{}-у. + +\item[-lang {\sl LL}] Задавање језика инÑталационог програма према + Ñтандардном двоÑловном коду \textsl{LL}. ИнÑталациони програм ће + покушати да уÑтанови који Ñе језик кориÑти на ÑиÑтему; ако не уÑпе + или ако језик није доÑтупан, пребациће Ñе на енглеÑки. Команда + \code{install-tl --help} ће приказати лиÑту раÑположивих језика. + ИнÑталациони програм је преведен на ÑрпÑки; покрените га помоћу + \code{install-tl -gui -lang sr}. + +\htmlanchor{opt-in-place} +\item[-in-place] Ðко већ имате копију \TL{}-а направљену помоћу + \prog{rsync}, \prog{svn} или друге копије Ñамог \TL{}-а (погледајте + \url{http://tug.org/texlive/acquire-mirror.html}), онда Ñе овим + параметром задаје да Ñе употреби то што имате, такво какво је; биће + обављене Ñамо неопходне поÑÑ‚-инÑталационе радње. Будите пажљиви зато + што фајл \filename{tlpkg/texlive.tlpdb} може бити пребриÑан новом + верзијом; на Вама је да га Ñачувате. Такође, уклањање + пакета\char"0304\ мора да Ñе уради ручно. Ðе треба да кориÑтите овај + параметар ако не знате тачно шта радите. Овај параметар не може да Ñе + укључи преко графичког интерфејÑа инÑталера. + +\item[-portable] При\char"030F према преноÑиве инÑталације на + \acro{USB}-диÑку. Овај параметар Ñе може изабрати и у текÑтуалном + режиму инÑталера (помоћу команде \code{V}), као и у графичком режиму. + Погледајте одељак~\ref{sec:portable-tl}. + +\item[-profile {\sl file}] Учитава инÑталациони профил \var{file} и + обавља инÑталацију без интеракције Ñа кориÑником. ИнÑталациони + програм увек запиÑује фајл \filename{texlive.profile} у + \dirname{tlpkg}, поддиректоријум Ваше инÑталације. Помоћу ове опције + поменути фајл Ñе може употребити да Ñе, на пример, идентична + инÑталација понови да неком другом ÑиÑтему. ОÑим тога, можете да лако + припремите ÑопÑтвени профил тако што промените вредноÑти у профилу + који је аутоматÑки направљен (проÑтом изменом вредноÑти у текÑÑ‚ + едитору) или да подеÑите да профил буде празан фајл (у ком Ñлучају ће + инÑталациони програм без питања инÑталирати \TL{} Ñа подразумеваним + параметрима). + +Ова опција задаје програму да изнова употреби такав фајл + тако да, након прве инÑталације, можете да инÑталирате \TL{} на више + ÑиÑтема или компјутера у режиму без поÑтављања питања (batch mode), + понављајући Ñве опције које Ñте првобитно изабрали. + +\item [-repository {\sl url-or-directory}] Одређује репозиторијум из + кога ће Ñе инÑталирати пакети; погледајте Ñледећи одељак. +\end{ttdescription} + + +\subsubsection{Параметар \optname{-repository}} +\label{sec:location} + +Подразумевани репозиторијум пакета је један од Ñајтова-копија +(mirror) \CTAN{}-a који Ñе аутоматÑки одређује преко +\url{http://mirror.ctan.org}. + +Ðко не желите да кориÑтите овај ÑиÑтем, вредноÑÑ‚ локације може да +буде путања (URL) која почиње Ñа \texttt{ftp:}, \texttt{http:} или +\texttt{file:/}, или пак да буде обична путања до локалног +директоријума. (Када задајете \texttt{http:} или \texttt{ftp:}, +завршни знак „\texttt{/}“ и/или завршни текÑÑ‚ +„\texttt{/tlpkg}“ Ñе игноришу.) + +Ðа пример, можете да изаберете неки поÑебан \CTAN\ mirror отприлике +овако: +\url{http://ctan.example.org/tex-archive/systems/texlive/tlnet/}, +Ñтављајући право име Ñервера (hostname) и његову Ñпецифичну путању до +\CTAN-Ñадржаја умеÑто |ctan.example.org/tex-archive|. Увек Ñвежа +лиÑта Ñервера\char"0304\ који држе Ñвеже копије Ñадржаја \CTAN-а +налази Ñе на \url{http://ctan.org/mirrors}. + +Ðко је задата вредноÑÑ‚ локална (путања или URL који почиње Ñа +\texttt{file:/}), употребиће Ñе Ñпаковани фајлови из поддиректоријума +\dirname{archive} у репозиторијуму (чак и у Ñлучају да Ñу раÑпаковани +фајлови доÑтупни упоредо Ñа њима). + + +\subsection{ПоÑтинÑталациони задаци} +\label{sec:postinstall} + +Може Ñе деÑити да је потребно урадити нешто и поÑле инÑталације. + + +\subsubsection{СиÑтемÑке променљиве на Unix-у} +\label{sec:env} + +Ðко Ñте изабрали да Ñе направе Ñимболички линкови у Ñтандардним +директоријумима (као што је објашњено у одељку~\ref{sec:options}), +онда нема потребе да Ñе преправљају ÑиÑтемÑке променљиве.% +\footnote{\textserbian{\emph{СиÑтемÑка променљива} је +превод израза \textenglish{\emph{environment variable}}. Други могући +превод био би \emph{променљива из окружења}, али Ñмо Ñе одлучили да +избегнемо ту конÑтрукцију зато што је она по нашем мишљењу (1) мање +јаÑна кориÑницима \Windows{}-а и зато што (2) обе имају мање-више +иÑто значење у пракÑи --- \emph{прим. прев.}}} У Ñупротном Ñе на Unix +ÑиÑтемима директоријум Ñа програмима за Ваш оперативни ÑиÑтем мора +додати у путању за претрагу. (Ðа \Windows-у о овоме инÑталер Ñам води +рачуна.) + +Сваки подржани оперативни ÑиÑтем има Ñвој поддиректоријум унутар +\dirname{TEXDIR/bin}. Ðа Ñлици~\ref{fig:bin-text} можете да видите +ÑпиÑак поддиректоријума и одговарајућих платформи. + +По избору можете да додате и директоријуме Ñа man-Ñтраницама и +Info-документацијом у одговарајуће путање за претрагу, уколико желите +да ÑиÑтемÑке алатке могу да их уоче. Може Ñе деÑити да man-Ñтранице +поÑтану аутоматÑки доÑтупне и поÑле проширивања ÑпиÑка путања из +ÑиÑтемÑке променљиве \envname{PATH}. + +Ðко кориÑтите шкољку (shell) компатибилну Ñа Bourne као што је +\prog{bash} и Intel x86 GNU/Linux и ако Ñте задржали подразумевани +раÑпоред директоријума као у нашем примеру, фајл који треба да +уредите требало би да буде \filename{$HOME/.profile} (или неки други +фајл који Ñе позива из \filename{.profile}), а линије које треба +додати изгледале би овако: + +\begin{sverbatim} +PATH=/usr/local/texlive/2012/bin/i386-linux:$PATH; export PATH +MANPATH=/usr/local/texlive/2012/texmf/doc/man:$MANPATH; export MANPATH +INFOPATH=/usr/local/texlive/2012/texmf/doc/info:$INFOPATH; export INFOPATH +\end{sverbatim} + +Ðко кориÑтите шкољку csh или tcsh, фајл који треба уредити обично је +\filename{$HOME/.cshrc}, а линије које треба додати изгледале би +овако: + +\begin{sverbatim} +setenv PATH /usr/local/texlive/2012/bin/i386-linux:$PATH +setenv MANPATH /usr/local/texlive/2012/texmf/doc/man:$MANPATH +setenv INFOPATH /usr/local/texlive/2012/texmf/doc/info:$INFOPATH +\end{sverbatim} + +Ðко у Ñвојим конфигурационим фајловима („који почињу Ñа тачком“) већ +имате нека подешавања ове врÑте, онда би наравно требало да уклопите +\TL\ директоријуме у већ поÑтојеће вредноÑти. + + +\subsubsection{СиÑтемÑке променљиве: глобална подешавања} +\label{sec:envglobal} + +Ðко желите да промене опиÑане у претходном одељку важе глобално и за +Ñваког новог кориÑника на ÑиÑтему, онда Ñте препуштени Ñами Ñеби; +напроÑто поÑтоји превише варијација од ÑиÑтема до ÑиÑтема у погледу +тога како и где Ñе ове Ñтвари подешавају. + +Можемо Вам дати два Ñавета: (1)~пробајте да потражите фајл +\filename{/etc/manpath.config} и да, ако поÑтоји, додате линије као +што Ñу ове: + +\begin{sverbatim} +MANPATH_MAP /usr/local/texlive/2012/bin/i386-linux \ + /usr/local/texlive/2012/texmf/doc/man +\end{sverbatim} + +Или, (2)~потра\char"0301 жите фајл \filename{/etc/environment}; у њему +би могле бити дефиниÑане путање за претрагу и друге подразумеване +ÑиÑтемÑке променљиве. + +ОÑим тога, у Ñвим директоријумима Ñа програмима на Unix ÑиÑтемима +прави Ñе Ñимболички линк \code{man} који показује према +\dirname{texmf/doc/man}. Ðеке варијанте програма \code{man}, као што +је Ñтандардни \code{man} на \MacOSX-у, аутоматÑки ће Ñе Ñнаћи Ñа +новом путањом; на тај начин ћете избећи потребу да било шта подешавате +на путањама за претрагу. + + +\subsubsection{Ðадоградње преко Интернета поÑле инÑталације Ñа \DVD-ја} +\label{sec:dvd-install-net-updates} + +Ðко Ñте инÑталирали \TL\ Ñа \DVD-ја и желите да поÑле тога преузимате +надоградње Ñа Интернета, потребно је да покренете ову команду --- али +\emph{тек пошто Ñте} проширили Ñвоју питању за претрагу (као што је +опиÑано у претходном одељку): + +\begin{alltt}> \Ucom{tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet} +\end{alltt} + +Ова команда говори програму \cmdname{tlmgr} да употреби оближњу +Ñајт-копију (\textenglish{mirror}) \CTAN-а за будуће надоградње. +Ðадоградње ће Ñе овим путем аутоматÑки обављати ако Ñте инÑталирали +\TL\ Ñа \DVD-ја, према опцији опиÑаној у одељку~\ref{sec:options}. + + +У Ñлучају проблема Ñа аутоматÑким избором најближег Ñајта, можете да +назначите неку поÑебну копију (\textenglish{mirror}) \CTAN-а Ñа ÑпиÑка +доÑтупног на \url{http://ctan.org/mirrors}. КориÑтите тачну путању до +поддиректоријума \dirname{tlnet} на том Ñајту, као што је урађено у +нашем примеру. + + +\htmlanchor{xetexfontconfig} % keep historical anchor working +\htmlanchor{sysfontconfig} +\subsubsection{Подешавање ÑиÑтемÑких фонтова за \XeTeX\ и Lua\TeX} +\label{sec:font-conf-sys} + +\XeTeX\ и Lua\TeX\ могу да кориÑте не Ñамо фонтове који Ñу укључени +у \TL, него и било који фонт инÑталиран на Вашем ÑиÑтему. Они то раде +на Ñличан, али не идентичан начин. + +Ðа \Windows-у Ñу фонтови укључени у \TL\ аутоматÑки доÑтупни \XeTeX-у. +Ðли, ако Ñте инÑталирали пакет \filename{xetex} на оперативном ÑиÑтему +компатибилним Ñа Unix-ом, морате да подеÑите ÑиÑтем тако да може да +пронађе фонтове из \TL-а према Ñтварном називу фонта, а не проÑто +према именима фајлова од којих Ñе фонт ÑаÑтоји. + +Како биÑмо олакшали овај задатак, када Ñе инÑталира пакет +\pkgname{xetex} (у иницијалној поÑтавци или накнадно) прави Ñе и +одговарајући конфигурациони фајл +\filename{TEXMFSYSVAR/fonts/conf/texlive-fontconfig.conf}. + +Како биÑте начинили фонтове из \TL{}-а видљивим за цео ÑиÑтем, +подразумевајући да имате одговарајућа овлашћења на ÑиÑтему, урадите +Ñледеће: +\begin{enumerate*} +\item прекопирајте фајл \filename{texlive-fontconfig.conf} у + \dirname{/etc/fonts/conf.d/09-texlive.conf}; +\item покрените \Ucom{fc-cache -fsv}. +\end{enumerate*} + +Ðко немате овлашћења да ово урадите или ако Вам је довољно да фонтови +из \TL{}-а буду видљиви Ñамо једном кориÑнику, можете да урадите +Ñледеће: +\begin{enumerate*} +\item прекопирајте \filename{texlive-fontconfig.conf} у + \filename{~/.fonts.conf}, где \filename{~} предÑтавља Ваш лични + директоријум; +\item покрените \Ucom{fc-cache -fv}. +\end{enumerate*} + +Команда \code{fc-list} ће излиÑтати називе Ñвих фонтова раÑположивих +на Вашем ÑиÑтему. Ðко је позовете помоћу +\code{fc-list : family style file spacing} (унеÑите аргументе баш у +том облику), биће приказане информације које ће Вам највероватније +бити веома кориÑне за рад. + + +\subsubsection{\ConTeXt{} Mark IV} +\label{sec:context-mkiv} + +И „Ñтари“ \ConTeXt{} (Mark \acro{II}) и „нови“ \ConTeXt{} (Mark +\acro{IV}) требало би да раде без икаквих интервенција након +инÑталације \TL{}-а; тако би требало и да оÑтане ако за надоградње +будете кориÑтили Ñамо \verb+tlmgr+. + +Ипак, пошто \ConTeXt{} Mk\acro{IV} не кориÑти библиотеку \KPS{}, +неопходне Ñу неке ручне интервенције кад год ручно инÑталирате нове +фајлове (без \verb+tlmgr+). ПоÑле Ñваке такве инÑталације кориÑник +мора да покрене команду +\begin{sverbatim} +luatools --generate +\end{sverbatim} +како би оÑвежио кеширане радне податке које \ConTeXt{} чува на диÑку. +Ðаправљени фајлови Ñе Ñмештају у \code{TEXMFCACHE}; подразумевана +вредноÑÑ‚ ове променљиве у \TL-у је \verb+TEXMSYSVAR;TEXMFVAR+. + +\ConTeXt\ Mk\acro{IV} ће читати из Ñвих путања поменутих у +\verb+TEXMFCACHE+, а податке ће Ñмештати у прву путању у коју Ñе може +упиÑивати. Приликом читања, поÑледње уÑтановљено поклапање ће имати +предноÑÑ‚ у Ñлучају дуплираних кешираних података. + +Више информација можете наћи на +\url{http://wiki.contextgarden.net/Running_Mark_IV}. + + +\subsubsection{Укључивање локалних и личних макроа} +\label{sec:local-personal-macros} + +Ова тема је имплицтно већ начета у одељку~\ref{sec:texmftrees}: +\dirname{TEXMFLOCAL} (чија је подразумевана вредноÑÑ‚ +\dirname{/usr/local/texlive/texmf-local} или +\verb|%SystemDrive%\texlive\texmf-local| на \Windows-у) јеÑте меÑто +предвиђено за локалне фонтове и макрое који Ñе употребљавају на целом +ÑиÑтему, док је \dirname{TEXMFHOME} (чија је подразумевана вредноÑÑ‚ +\dirname{$HOME/texmf} или \verb|%USERPROFILE%\texmf|) намењен за +кориÑникове личне фонтове и макрое. Предвиђено је да Ñе ови +директоријуми не мењају од издања до издања и да нове верзије \TL{}-а +аутоматÑки узимају у обзир њихов Ñадржај. Стога је најбоље да Ñе +Ñуздржите од подешавања вредноÑти променљиве \dirname{TEXMFLOCAL} на +нешто што је превише удаљено од главног директоријума \TL{}-а, иначе +ћете морати ручно да мењате ту вредноÑÑ‚ за Ñвако будуће издање. + +У оба ова директоријума фајлови треба да буду раÑпоређени у +одговарајуће поддиректоријуме у Ñкладу Ñа \emph{Ñтруктуром \TeX{} +директоријума} (\TDS) --- погледајте \url{http://tug.org/tds} или +прегледајте фајл \filename{texmf/web2c/texmf.cnf}. Ðа пример, једна +\LaTeX{} клаÑа или пакет треба да Ñе Ñтаве у +\dirname{TEXMFLOCAL/tex/latex} или у \dirname{TEXMFHOME/tex/latex}, +или у неки поддиректоријум поменутих директоријума. + +ФункционалноÑÑ‚ директоријума \dirname{TEXMFLOCAL} завиÑи од тога да +ли је база података Ñа именима фајлова увек Ñвежа; у Ñупротном фајлови +неће моћи да Ñе пронађу. Базу можете оÑвежити командом +\cmdname{mktexlsr} или употребом дугмета „Поново поÑтави базу +података Ñа фајловима“ („\textenglish{Reinit file database}“) --- наћи +ћете га у језичку за конфигурацију програма \TeX\ Live Manager +(\prog{tlmgr}) када он ради у графичком (\GUI) режиму. + +Подразумевана вредноÑÑ‚ Ñваке ове променљиве једнака je једном поÑебном +директоријуму, као што је Ð¼Ð°Ð»Ð¾Ñ‡Ð°Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ð¾. Ово правило није Ñтриктно. +Ðа пример, ако Вам је потребно да Ñе лако пребацујете навише и наниже +кроз разне верзије великих пакета, можете да одржавате више +директоријума (дрвета) за Ваше ÑопÑтвене потребе. То Ñе ради тако што +Ñе \dirname{TEXMFHOME} подеÑи као ÑпиÑак директоријума одвојених +зарезима, унутар заграда: + +\begin{verbatim} + TEXMFHOME = {/мој/дир1,/мојдир2,/неки/трећи/дир} +\end{verbatim} + +Одељак~\ref{sec:brace-expansion} Ñе детаљно бави прерачунавањем +заграда. + + +\subsubsection{Укључивање Ñпољних фонтова} + +ÐажалоÑÑ‚, ово је веома компликован задатак. Ðемојте ни да размишљате +о овоме уколико ниÑте вољни да Ñе удубите у најÑитније детаље +инÑталације \TeX{}-а. Ðе заборавите да прво прегледате шта Вам Ñтоји +на раÑполагању за Ñлободну употребу: погледајте +одељак~\ref{sec:tl-fonts}. + +Једна од алтернатива\char"0304\ које Вам Ñтоје на раÑполагању јеÑте +да кориÑтите \XeTeX\ или Lua\TeX\ (погледајте +одељак~\ref{sec:tex-extensions}); ови програми Вам омогућавају да +кориÑтите фонтове из оперативног ÑиÑтема без икакве инÑталације +унутар \TeX-а. + +Ðко ипак морате да Ñе упуÑтите у ову Ñложену материју, погледајте +\url{http://tug.org/fonts/fontinstall.html}: на тој Ñтрани Ñмо +најбоље што Ñмо могли покушали да опишемо неопходну процедуру. Ðко +Ñтрого одржавате Ñвоје локалне мапе фонтова, онда команда +\texttt{tlmgr generate updmap} \emph{може} бити кориÑна, нарочито +када Ñе пребацујете Ñа једног издања на друго; погледајте +документацију програма \cmdname{tlmgr}. + + +\subsection{ТеÑтирање инÑталације} +\label{sec:test-install} + +Ðакон што Ñте инÑталирали \TL{}, природно је да ћете желети да га +иÑпробате како биÑте могли да почнете Ñа израдом дивних докумената +и\slash или фонтова. + +Овај одељак опиÑује неке оÑновне поÑтупке за проверу функционалноÑти +новог ÑиÑтема. Овде ћемо дати команде за Unix-е; ако кориÑтите +\MacOSX{} или \Windows{}, вероватно ћете Ñве ове команде покретати +покренути кроз графички интерфејÑ, мада принцип оÑтаје иÑти. + +\begin{enumerate} + +\item Ðајпре проверите да ли можете да покренете Ñам програм + \cmdname{tex}: +\begin{alltt}> \Ucom{tex -{}-version} +TeX 3.1415926 (TeX Live ...) +kpathsea version 6.0.1 +Copyright ... D.E. Knuth. +... +\end{alltt} +Ðко овде добијете поруку „command not found“ („команда Ñе не може +пронаћи“) умеÑто података о верзији \TeX-а и ауторÑким правима, или +ако је верзија коју видите Ñтарија, то највероватније значи да немате +иÑправан поддиректоријум \dirname{bin} као елемент у ÑиÑтемÑкој +променљиви \envname{PATH}. Погледајте како Ñе подешавају ÑиÑтемÑке +променљиве на ÑÑ‚Ñ€.~\pageref{sec:env}. + +\item Покушајте да обрадите оÑновни \LaTeX{} фајл: +\begin{alltt}> \Ucom{latex sample2e.tex} +pdfTeX 3.1415926-... (TeX Live ...) +... +Output written on sample2e.dvi (3 pages, 7484 bytes). +Transcript written on sample2e.log. +\end{alltt} +Ðко \LaTeX{} не уÑпе да пронађе \filename{sample2e.tex} или неки +други фајл, највероватније је у питању нека збрка Ñтарих и нових +ÑиÑтемÑких променљивих или конфигурационих фајлова; у таквим +Ñлучајевима Ñе препоручује да, за почетак, обришете вредноÑти Ñвих +ÑиÑтемÑких променљивих које имају везе Ñа \TeX-ом. (Ðко Вам треба +дубља анализа, може Ñе од Ñамог \TeX{} програма тражити да извеÑти +које путање употребљава за претрагу и шта притом уÑпева да пронађе; +погледајте одељак „ПоÑтупци за отклањање грешака“ +[\textenglish{debugging}] на ÑÑ‚Ñ€.~\pageref{sec:debugging}.) + +\item Затим прегледајте како изгледа документ који Ñте добили овом + обрадом: +\begin{alltt}> \Ucom{xdvi sample2e.dvi} # Unix +> \Ucom{dviout sample2e.dvi} # Windows +\end{alltt} +Требало би да Ñе појави нови прозор Ñа лепим документом који +објашњава неке оÑновне Ñтвари о \LaTeX{}-у. (Узгред, тај текÑÑ‚ је +врло кориÑно прочитати ако Ñте почетник.) Како би програм +\cmdname{xdvi} радио, морате имати покренут графички X Ñервер; ако X +не ради или ако је ÑиÑтемÑка променљива \envname{DISPLAY} неправилно +подешена, добићете грешку \samp{Can't open display} („Ðије могуће +отворити диÑплеј“). + +\item Ðаправите \PS{} фајл за штампање или гледање на екрану: +\begin{alltt}> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item Ðаправите \acro{PDF} умеÑто \dvi{} фајла; ова команда ће + обрадити \filename{.tex} фајл и директно направити \acro{PDF}: +\begin{alltt}> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item Прегледајте добијени \acro{PDF} фајл: +\begin{alltt}> \Ucom{gv sample2e.pdf} +\textrm{или:} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} +Ðи \cmdname{gv} ни \cmdname{xpdf} ниÑу укључени у \TL{}, тако да +морате да их Ñами одвојено инÑталирате. Погледајте +\url{http://www.gnu.org/software/gv} и +\url{http://www.foolabs.com/xpdf} ако Вам треба више информација о +овим програмима. Ðаравно, има још много других програма у којима +можете отварати \acro{PDF} фајлове. Ðко кориÑтите \Windows{}, +препоручујемо да пробате Sumatra PDF +(\url{http://blog.kowalczyk.info/software/sumatrapdf}). + +\item Може бити кориÑно да пробате и друге теÑÑ‚-фајлове оÑим +\filename{sample2e.tex}: + +\begin{ttdescription} +\item [small2e.tex:] једноÑтавнији документ него \filename{sample2e}; + Ñврха му је да минимализује величину података који Ñе обрађују ако Ñе + појаве неки проблеми; +\item [testpage.tex:] проверава понашање Вашег штампача (ивице, итд); +\item [nfssfont.tex:] Ñлужи да одштампате табеле фонтова и + одговарајуће теÑтове везане за њих; +\item [testfont.tex:] такође за табеле Ñа фонтовима, али кориÑти + оÑновни \TeX{}; +\item [story.tex:] најчиÑтији канонÑки теÑÑ‚-фајл за \TeX{} који Ñе + може направити; морате да откуцате \samp{\bs bye} када Ñе појави упит + Ñа звездицом (\code{*}) након што покренете \samp{tex story.tex}. +\end{ttdescription} + +\item Ðко Ñте инÑталирали пакет \filename{xetex}, можете да иÑпробате + да ли Ñу ÑиÑтемÑки фонтови видљиви за \XeTeX\ на овај начин: +\begin{alltt}> \Ucom{xetex opentype-info.tex} +This is XeTeX, Version 3.1415926... +... +Output written on opentype-info.pdf (1 page). +Transcript written on opentype-info.log. +\end{alltt} +(Идентичан поÑтупак Ñе може употребити и за \filename{luatex}.) + +Ðко добијете поруку „Invalid fontname `Latin Modern Roman/ICU'\dots“ +(„ÐеиÑправно име фонта `Latin Modern Roman/ICU'\dots“), онда морате +да подеÑите ÑиÑтем тако да \XeTeX{} може да пронађе фонтове који Ñу +укључени у \TL. Погледајте одељак~\ref{sec:font-conf-sys}. + +\end{enumerate} + +\subsection{Додатни Ñофтвер који Ñе може преузети Ñа Интернета} + +Ðко Ñте нови у \TeX{}-у, или Вам из било ког разлога треба помоћ око +пиÑања докумената у \TeX{}-у или \LaTeX{}-у, молимо Ð’Ð°Ñ Ð´Ð° поÑетите +\url{http://tug.org/begin.html}: ту ћете наћи неке текÑтове који Ñу +веома добри као увод. + +Ово Ñу линкови ка Интернет-Ñтраницама Ñа још неким програмима који +би могли да Вам буду од кориÑти: +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/}; +\item[Perl] \url{http://www.perl.org/} Ñа додатним пакетима Ñа + \acro{CPAN}-а, \url{http://www.cpan.org/}. +\item[ImageMagick] \url{http://www.imagemagick.com}, за обраду Ñлика + и пребацивање из једног формата у други. +\item[NetPBM] \url{http://netpbm.sourceforge.net/}, такође за обраду + Ñлика. +\item[Едитори Ñпецијализовани за \TeX] Овде имате велики избор и Ñве + завиÑи од Вашег укуÑа. Ево Ñамо неколико, по абецедном реду (неки од + побројаних програма раде Ñамо на \Windows{}-у): + \begin{itemize*} + \itemsep=.1em + \item \cmdname{GNU Emacs} је доÑтупан и у изворном облику за + \Windows{}: погледајте + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html}. + \item \cmdname{Emacs} Ñа Auc\TeX-ом за \Windows{} доÑтупан је преко + \CTAN-a. Интернет-Ñтраница Auc\TeX-а је + \url{http://www.gnu.org/software/auctex}. + \item \cmdname{LEd} Ñе може набавити на + \url{http://mirror.ctan.org/support/LEd}. + \item \cmdname{SciTE} је доÑтупан на + \url{http://www.scintilla.org/SciTE.html}. + \item \cmdname{Texmaker} је Ñофтвер отвореног кода, доÑтупан на + \url{http://www.xm1math.net/texmaker}. + \item \cmdname{TexMakerX} је дериват (fork) \cmdname{Texmaker}-а и + укључује неке додатне могућноÑти; погледајте + \url{http://texmakerx.sourceforge.net}. + \item \cmdname{TeXnicCenter} је Ñофтвер отвореног кода, доÑтупан на + \url{http://www.texniccenter.org} и као део диÑтрибуције pro\TeX{}t. + \item \cmdname{TeXworks} је такође отворени Ñофтвер, доÑтупан на + \url{http://tug.org/texworks}; на \Windows{}-у и \MacOSX-у инÑталира + Ñе као део \TL-а. + \item \cmdname{Vim} је отворени Ñофтвер, доÑтупан преко + \url{http://www.vim.org}. + \item \cmdname{WinEdt} је „shareware“ доÑтупан на + \url{http://tug.org/winedt} или \url{http://www.winedt.com}. + \item \cmdname{WinShell} Ñе може набавити на + \url{http://www.winshell.de}. + \end{itemize*} +\end{description} +Још иÑцрпнији ÑпиÑак пакета и програма налази Ñе на +\url{http://tug.org/interest.html}. + + +\section{Специјализоване инÑталације} + +Претходни одељци бавили Ñу Ñе оÑновним процеÑом инÑталације. Сада +прелазимо на неке Ñпецијализоване Ñлучајеве. + +\htmlanchor{tlsharedinstall} +\subsection{ИнÑталације које дели више кориÑника или више компјутера} +\label{sec:sharedinstall} + +\TL{} је дизајниран тако га иÑтовремено могу употребљавати или више +кориÑника на неком ÑиÑтему или кориÑници који имају разне +оперативне ÑиÑтеме на некој компјутерÑкој мрежи. Ðко Ñе држите +Ñтандардног раÑпореда директоријума, подешавања не Ñадрже ниједну +фикÑирану путању: локације фајлова који Ñу потребни \TL{} програмима +проналазе Ñе релативно у одноÑу на Ñаме програме. Овакав приÑтуп +поÑтаје јаÑан ако погледате главни конфигурациони фајл +\filename{$TEXMFMAIN/web2c/texmf.cnf}, који Ñадржи овакве линије: +\begin{sverbatim} +TEXMFMAIN = $SELFAUTOPARENT/texmf +... +TEXMFLOCAL = $SELFAUTOPARENT/../texmf-local +\end{sverbatim} +Ово значи да кориÑници других оперативних ÑиÑтема Ñамо треба да додају +директоријум који Ñадржи верзије програма за њихову платформу у Ñвоје +путање за претрагу како би добили поÑтавку Ñпремну за употребу. + +Ðа иÑти начин можете да инÑталирате \TL{} локално и да онда накнадно +премеÑтите целу хијерархију на неко друго меÑто на мрежи. + +За \Windows{} Ñмо припремили једноÑтавну Ñкрипту за мрежне +инÑталације по имену \filename{w32client}; можете је преузети на +Ñтраници \url{http://tug.org/texlive/w32client.html}. Она прави Ñва +потребна подешавања и пречице у менијима тако да можете да кориÑтите +поÑтојећу инÑталацију \TL{}-а на \acro{LAN} мрежи. Скрипта такође +поÑтавља и деинÑталациони програм \filename{w32unclient} који можете +наћи у иÑтом zip фајлу. Погледајте поменуту Интернет Ñтраницу ако Вам +је потребно више података о овом поÑтупку. + + +\htmlanchor{tlportable} +\subsection{ПреноÑиве инÑталације на USB-диÑку} +\label{sec:portable-tl} + +Ðко инÑталациони програм покренете Ñа параметром \code{-portable} +(или употребите команду \code{V} у текÑтуалном режиму, одноÑно ако +изаберете одговарајућу опцију у графичком режиму), направиће Ñе +потпуно затворена и ÑамоÑтална инÑталација \TL{}-а и биће изоÑтављена +интеграција Ñа оÑтатком ÑиÑтема. Такву инÑталацију можете да направите +директно на \USB{}-диÑку или да је на \USB{}-диÑк каÑније копирате. + +Као и обично, како биÑте покренули \TeX\ из овакве преноÑиве +инÑталације, морате да додате одговарајући директоријум Ñа програмима +у путању за претрагу у Ñвом терминалу. Ðа \Windows{}-у Вам двоÑтруки +клик миша на радну („tray“) иконицу даје избор између неколико +уобичајених задатака, као што је приказано на Ñледећој Ñлици: + +\medskip +\begin{center} + \tlpng{tray-menu}{4cm} +\end{center} +\smallskip + +\noindent Ставка „More\ldots“ објашњава како овај мени можете да +прилагодите Ñвојим потребама. + + +\htmlanchor{tlisoinstall} +\subsection{\ISO\ (или \DVD) инÑталације} +\label{sec:isoinstall} + +Ðко немате потребе да чеÑто надограђујете инÑталацију или да је мењате +на било који начин и\slash или имате неколико ÑиÑтема\char"0304\ на +којима је потребно кориÑтити \TL{}, може бити веома кориÑно да +направите \ISO\ одраз Ñвоје личне инÑталације \TL{}-а. Ова пракÑа може +бити веома добра зато што~је: + +\begin{itemize} +\itemsep=.01em +\item копирање \ISO\ фајла Ñа компјутера на компјутер много брже него + копирање обичне инÑталације; +\item ако имате компјутер Ñа више оперативних ÑиÑтема + (\textenglish{dual-boot}) и желите да Ñе инÑталација \TL{}-а кориÑти + на Ñвим тим ÑиÑтемима, \ISO-инÑталација није уÑловљена + ÑпецифичноÑтима и ограничењима Ñтраних ÑиÑтема (\acro{FAT32}, + \acro{NTFS}, \acro{HFS+}); +\item директан приÑтуп таквом \ISO\ одразу („\textenglish{mount}“) је + једноÑтаван на виртуелним машинама. +\end{itemize} + +Ðаравно, Ваш \ISO\ одраз може и да Ñе нареже на \DVD\ ако Вам је тако +згодније. + +ДеÑктоп ÑиÑтеми из \acro{GNU}/Linux/Unix породице, укључујући \MacOSX, +могу да приÑтупе Ñадржају \ISO\ одраза као обичном фајл-ÑиÑтему +(„\textenglish{mount}“). ОÑим тог детаља, ништа није другачије у +поређењу Ñа обичном инÑталацијом на хард-диÑку: погледајте +одељак~\ref{sec:env}. + +Када припремате такву \ISO\ инÑталацију, најбоље је да изоÑтавите +поддиректоријум који Ñе одноÑи на годину издања и да поÑтавите +\filename{texmf-local} на иÑти ниво Ñа другим дрветима +(\filename{texmf}, \filename{texmf-dist} итд). Ово можете да урадите +у инÑталеру кориÑтећи уобичајене опције за директоријуме. + +За реални (не виртуелни) \Windows{} ÑиÑтем можете да нарежете \ISO\ на +\acro{DVD}. Међутим, иÑплати Ñе одвојити мало времена и иÑпитати +могућноÑти директне употребе \ISO\ одраза\char"0304\ +(\ISO-\textenglish{mounting}) које нуди отворени Ñофтвер. ОÑим тога, +за \Windows{} \acro{XP} \textenglish{Microsoft} нуди +\filename{winxpvirtualcdcontrolpanel}. + +Ради боље интеграције Ñа ÑиÑтемом на \Windows{}-у можете да убаците и +Ñкрипте из групе \filename{w32client} +(опиÑане у одељку~\ref{sec:sharedinstall} и на Ñтраници +\url{http://tug.org/texlive/w32client.html}), које добро баратају и +\ISO\ инÑталацијама и инÑталацијама преко мреже. + +Ðа \MacOSX-у, програми TeXShop and \TeX{}works могу да кориÑте +\acro{DVD}-инÑталацију ако Ñимболички линк \filename{/usr/texbin} +показује на одговарајући директоријум Ñа програмима, на пример +\begin{verbatim} +sudo ln -s /Volumes/MyTeXLive/bin/universal-darwin /usr/texbin +\end{verbatim} + +ИÑторијÑка напомена: \TL{} 2010 био је први \TL{} који није био издат +„жив“ (\textenglish{live}). Ипак, увек је било потребно мало +акробација да би Ñе \TL{} кориÑтио Ñа \DVD-ја или из \ISO\ одраза; ово +Ñе поÑебно одноÑило на чињеницу да није поÑтојао згодан начин да Ñе +подеÑи барем још једна додатна ÑиÑтемÑка променљива. Ðко, међутим, +направите Ñвој ÑопÑтвени \ISO\ од поÑтојеће инÑталације, за овим +додатком неће бити потребе. + + +\htmlanchor{tlmgr} +\section{Одржавање инÑталације помоћу \cmdname{tlmgr}} +\label{sec:tlmgr} + +\begin{figure}[tb] +\begin{center} + \tlpng{tl2012-tlmgr-main-screen-freebsd-sr}{\linewidth} + \caption{\prog{tlmgr} у графичком (\GUI) режиму рада: главни + прозор, Ñтање поÑле учитавања\\ репозиторијума помоћу дугмета „Учитај“ + („Load“).} +\label{fig:tlmgr-gui} +\end{center} +\end{figure} + +\begin{figure}[tb] +\begin{minipage}[t]{.56\linewidth} + \null + \tlpng{tl2012-tlmgr-options-freebsd-sr}{\hsize} + \caption{\texttt{tlmgr} у графичком режиму: Општа подешавања} + \label{fig:tlmgr-general-options} +\end{minipage} + \hfil +\begin{minipage}[t]{.39\linewidth} + \null + \tlpng{tl2012-tlmgr-paper-options-freebsd-sr}{\hsize} + \caption{\texttt{tlmgr} у графичком режиму: Подешавање величине + папира} + \label{fig:tlmgr-paper-options} +\end{minipage} +\end{figure} + +\TL{} Ñадржи програм по имену \prog{tlmgr} који Ñлужи за одржавање +\TL{}-а након почетне инÑталације. Програми \prog{updmap}, +\prog{fmtutil} и \prog{texconfig} и даље Ñу укључени и биће задржани +као део ÑиÑтема и у будућноÑти, али \prog{tlmgr} је Ñада алатка која +Ñе препоручује. Његове могућноÑти између оÑталог укључују: + +\begin{itemize*} +\item инÑталацију, оÑвежавање, бекаповање, повраћање из бекапа, + уклањање појединачних пакета Ñа могућношћу да Ñе узму у обзир Ñа њима + повезани пакети; +\item претрагу и прављење разних ÑпиÑкова пакета; +\item излиÑтавање, додавање и уклањање верзија програма за неки + оперативни ÑиÑтем (одноÑно платформу); +\item промену параметара инÑталације као што Ñу величина папира или + локација изворног кода (погледајте одељак~\ref{sec:location}). +\end{itemize*} + +\subsection{\cmdname{tlmgr} у графичком (GUI) режиму рада} +\prog{tlmgr} Ñе може покренути у графичком (\GUI{}) режиму + (Ñлика~\ref{fig:tlmgr-gui}) помоћу +\begin{alltt}> \Ucom{tlmgr -gui} +\end{alltt} +(ÑрпÑки језик добијате помоћу \Ucom{-gui-lang sr}) или преко +Start-менија на \Windows{}-у: \texttt{Start}, \texttt{Programs}, +\texttt{TeX Live 2012}, \texttt{TeX Live Manager}. Када притиÑнете +„Учитај“ („Load“), програм приказује ÑпиÑак доÑтупних и инÑталираних +пакета. Овде Ñе наравно подразумева да је извор инÑталације +(\textenglish{installation source}) иÑправно задат, функционалан и +доÑтупан. + +Слике~\ref{fig:tlmgr-general-options} и~\ref{fig:tlmgr-paper-options} +приказују изглед програма приликом подешавања општих опција и +величине папира. + +\subsection{Примери позивања \cmdname{tlmgr}-а Ñа командне линије} + +Ðакон почетне инÑталације, можете да оÑвежите Ñвој ÑиÑтем најновијим +доÑтупним верзијама целокупног Ñадржаја помоћу: +\begin{alltt}> \Ucom{tlmgr update -all} +\end{alltt} +Ðко Ð’Ð°Ñ Ð¾Ð²Ð¾ чини нервозним, прво пробајте +\begin{alltt}> \Ucom{tlmgr update -all -dry-run} +\end{alltt} +или (Ñа мање објашњења): +\begin{alltt}> \Ucom{tlmgr update -list} +\end{alltt} + +Следећи Ñложенији пример додаје једну колекцију (Ñве што је везано за +\XeTeX), и то из једног локалног директоријума: + +\begin{alltt}> \Ucom{tlmgr -repository /local/mirror/tlnet install collection-xetex} +\end{alltt} +Ова команда даје Ñледеће поруке (Ñкраћено): +\begin{fverbatim} +install: collection-xetex +install: arabxetex +... +install: xetex +install: xetexconfig +install: xetex.i386-linux +running post install action for xetex +install: xetex-def +... +running mktexlsr +mktexlsr: Updating /usr/local/texlive/2012/texmf/ls-R... +... +running fmtutil-sys --missing +... +Transcript written on xelatex.log. +fmtutil: /usr/local/texlive/2012/texmf-var/web2c/xetex/xelatex.fmt installed. +\end{fverbatim} + +Као што видите, \prog{tlmgr} инÑталира Ñве неопходне пакете и води +рачуна о Ñвим радњама које Ñу неопходне поÑле инÑталације, што у овом +Ñлучају обухвата оÑвежавање базе података Ñа именима фајлова и +поновно прављење неких формата. У претходном примеру Ñмо направили +нове формате за \XeTeX. + +Ðко Вам је потребан Ð¾Ð¿Ð¸Ñ Ð¿Ð°ÐºÐµÑ‚Ð° (или колекције или шеме), откуцајте: +\begin{alltt}> \Ucom{tlmgr show collection-latexextra} +\end{alltt} +Команда даје Ñледећи излаз: +\begin{fverbatim} +package: collection-latexextra +category: Collection +shortdesc: LaTeX supplementary packages +longdesc: A large collection of add-on packages for LaTeX. +installed: Yes +revision: 14675 +\end{fverbatim} + +ПоÑледње и најважније, пуна документација о програму \prog{tlmgr} +налази Ñе на Ñтраници \url{http://tug.org/texlive/tlmgr.html}, а +можете је видети и ако откуцате: +\begin{alltt}> \Ucom{tlmgr -help} +\end{alltt} + + +\section{Ðапомене за Windows} +\label{sec:windows} + +\subsection{МогућноÑти Ñпецифичне за Windows} +\label{sec:winfeatures} + +ОÑим онога што је опиÑано у претходним одељцима, инÑталациони програм +на \Windows{}-у обавља још неке додатне Ñтвари: +\begin{description} +\item[Менији и пречице.] У Start менију Ñе додаје нови одељак + „\TL{}“, преко кога Ñе могу позивати неки графички (\GUI{}) програми + (\prog{tlmgr}, \prog{texdoctk}, PS\_View (\prog{psv}) PostScript + previewer) и преко кога можете да дођете до једног дела + документације. +\item[Повезивање клаÑа докумената Ñа одговарајућим програмима.] Ðко Ñу + инÑталирани, \prog{TeXworks}, \prog{Dviout} и \prog{PS\_view} поÑтају + или подразумевани програми за одговарајуће клаÑе докумената или + добијају Ñтавку у менију „\textenglish{Open with}“ („отвори помоћу“), + који Ñе добија када документима поменутих клаÑа приÑтупите притиÑком + на деÑно дугме миша. +\item[Превођење бит-мапа у eps формат.] Разни формати који за оÑнову + имају бит-мапе добијају Ñтавку \cmdname{bitmap2eps} у Ñвом менију + „\textenglish{Open with}“ („отвори помоћу“), који Ñе добија притиÑком + на деÑно дугме миша. Bitmap2eps је једноÑтавна Ñкрипта која омогућава + да \cmdname{sam2p} и \cmdname{bmeps} обаве главни део поÑла. +\item[ÐутоматÑко подешавање путања.] Ðије потребна никаква ручна + интервенција по овом питању. +\item[Уклањање \TL{}-а.] ИнÑталациони програм додаје одговарајућу + Ñтавку за \TL{} у „\textenglish{Add/Re\-mo\-ve Programs}“. Дугме + за деинÑталацију у графичком (\GUI) режиму програма + \textenglish{\TeX\ Live Manager} („Уклони“) води до тамо. +\end{description} + +\subsection{Додатни Ñофтвер укључен на Windows-у} + +За целовиту инÑталацију \TL-а потребни Ñу помоћни пакети који обично +не поÑтоје на \Windows{} компјутеру. \TL{} обезбеђује Ñледеће карике +које недоÑтају: +\begin{description} +\item[Perl и Ghostscript.] Због важноÑти Perl-а и Ghostscript-а, + \TL{} Ñадржи „Ñкривене“ копије ових програма. \TL{} програми који их + кориÑте знају где треба да их потраже, али не одају њихово приÑуÑтво + кроз ÑиÑтемÑке променљиве или путем измена у „registry“-ју. То ниÑу + целовите инÑталације и не би требало да дођу у Ñукоб Ñа неком правом + инÑталацијом Perl-а или Ghostscript-а која је \Windows{}-у видљива. + +\item[PS\_View.] Такође Ñе инÑталира и PS\_View, програм у коме Ñе + могу отворити \PS{} и \acro{PDF} фајлови; погледајте + Ñлику~\ref{fig:psview}. + +\begin{figure}[tb] +\begin{center} + \tlpng{psview}{.6\linewidth} + \caption{PS\_View може да приказује Ñадржај под великим + увећањем}\label{fig:psview} +\end{center} +\end{figure} + +\item[dviout.] Ðа \Windows{}-у Ñе инÑталира и \prog{dviout}, програм + у коме можете да прегледате \acro{DVI} фајлове. У почетку, када + почнете да га употребљавате за ту Ñврху, \prog{dviout} ће правити + потребне фонтове (зато што фонтови за екран ниÑу инÑталирани). ПоÑле + неког времена у употреби, направиће Ñе већина фонтова која Вам је + потребна и ретко ћете виђати прозор који Ð’Ð°Ñ Ð¾Ð±Ð°Ð²ÐµÑˆÑ‚Ð°Ð²Ð° о овом + поÑтупку. О овом програму можете добити много више података на + Интернет Ñтраници (коју топло препоручујемо). + +\item[\TeX{}works.] \TeX{}works је едитор Ñпецијализован за \TeX; он + има уграђен приказивач \acro{PDF} фајлова. + +\item[Ðлатке за командну линију.] ОÑим уобичајених \TL{} програма, на + \Windows{}-у Ñе инÑталира и извеÑтан број \Windows{} + верзија\char"0304\ уобичајених Unix алатки за командну линију. Ту + Ñпадају \cmdname{gzip}, \cmdname{unzip} и алати из пројекта + \cmdname{xpdf} (\cmdname{pdfinfo}, \cmdname{pdffonts}...). + Са\char"0302 м \cmdname{xpdf} \textenglish{viewer} (прегледач) нема + верзију која ради на \Windows{}-у. Jедна алтернатива јеÑте да умеÑто + њега преузмете Sumatra \acro{PDF} viewer, који је заÑнован на + \cmdname{xpdf}-у; Интернет-Ñтраница пројекта је + \url{http://blog.kowalczyk.info/software/sumatrapdf}. + +\item[fc-list, fc-cache...] Ðлатке из библиотеке fontconfig + омогућавају \XeTeX{}-у да барата ÑиÑтемÑким фонтовима на + \Windows{}-у. Можете да кориÑтите \prog{fc-list} да одредите имена + фонтова која задајете у \XeTeX-овој проширеној команди \cs{font}. Ðко + је потребно, најпре покрените \prog{fc-cache} како би Ñе подаци о + фонтовима оÑвежили. + +\end{description} + + +\subsection{Лични кориÑнички директоријум на Windows-у} +\label{sec:winhome} + +Еквивалент Unix-овом личном директоријуму кориÑника (home) на +\Windows{}-у јеÑте директоријум \verb|%USERPROFILE%|. Ðа \Windows{}-у +\acro{XP} то је обично \verb|C:\Documents and Settings\<username>|, +док \Windows{} Vista кориÑти \verb|C:\Users\<username>|. У фајлу +\filename{texmf.cnf} и у \KPS{} уопште, Ñимбол \verb|~| ће Ñе +претворити у иÑправну путању и на \Windows{}-у и на Unix-у. + + +\subsection{Windows-ов „registry“} +\label{sec:registry} + +\Windows{} држи Ñкоро Ñва подешавања у тзв. „registry“-ју. То +Ñкладиште Ñадржи Ñкуп хијерархијÑки организованих кључева, Ñа +неколико кључева највишег нивоа. Ðајважнији за инÑталационе програме +Ñу \path{HKEY_CURRENT_USER} и \path{HKEY_LOCAL_MACHINE}, или Ñкраћено +\path{HKCU} и \path{HKLM}. Део „registry“-ја \path{HKCU} налази Ñе у +личном директоријуму кориÑника (погледајте одељак~\ref{sec:winhome}). +\path{HKLM} Ñе обично налази у поддиректоријуму директоријума званог +\Windows{}. + +У неким Ñлучајевима, информације о ÑиÑтему Ñе могу добити из +ÑиÑтемÑких променљивих, али неке, на пример локација +пречица\char"0304, и даље захтевају да Ñе конÑултује „registry“. +Трајно подешавање ÑиÑтемÑких променљивих такође захтева приÑтуп +„registry“-ју. + + +\subsection{Овлашћења на Windows-у} +\label{sec:winpermissions} + +У новијим верзијама \Windows{}-а поÑтоји разлика између обичних +кориÑника и админиÑтратора; Ñамо админиÑтратори имају Ñлободан +приÑтуп целом оперативном ÑиÑтему. У пракÑи би, међутим, боље било +опиÑати ове клаÑе кориÑника као неовлашћене и обичне кориÑнике: бити +админиÑтратор је правило, а не изузетак. Без обриза на то, уложили +Ñмо доÑта напора да омогућимо да Ñе \TL{} може инÑталирати без +админиÑтраторÑких овлашћења. + +Ðко је кориÑник админиÑтратор, доÑтупна му је опција да инÑталира +\TL{} за Ñве кориÑнике. Ðко изабере да ово уради, пречице Ñе праве за +Ñве кориÑнике и мењају Ñе поÑтавке на нивоу ÑиÑтема. У Ñупротном, +пречице и одељци у менију праве Ñе Ñамо за текућег кориÑника и мења +Ñе Ñамо његово окружење. + +Без обзира на то да ли кориÑник има ÑÑ‚Ð°Ñ‚ÑƒÑ Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñтратора или не, +подразумевани оÑновни директоријум за \TL{} који предлаже инÑталациони +програм увек је унутар \verb|%SystemDrive%|. Програм увек теÑтира да +ли тренутни кориÑник може да упиÑује податке у тај оÑновни директоријум. + +Може Ñе појавити проблем ако кориÑник није админиÑтратор а \TeX{} већ +поÑтоји у путањи за претрагу програма. Пошто Ñе радна путања за +претрагу ÑаÑтоји од ÑиÑтемÑког дела иза кога Ñледи кориÑнички део Ñа +Ñвојим путањама, нови \TL{} никад неће добити предноÑÑ‚. Како би Ñе +решила ова Ñитуација, инÑталациони програм прави пречицу до командног +промпта у коме Ñу нови \TL{} програми Ñтављени иÑпред локалне путање +за претрагу. Ðови \TL{} ће увек бити употребљив унутар таквог +командног промпта. Пречица за \TeX{}works, ако Ñе тај програм +инÑталира, такође додаје \TL{} на почетак путање за претрагу, тако да +би и тај едитор требало да буде имун на ове проблеме Ñа путањама. + +Ðа \Windows-у Vista и 7 поÑтоји још једна оÑобеноÑÑ‚: чак иако Ñте +улоговани као админиÑтратор, морате да изричито затражите +админиÑтраторкÑе привилегије. У Ñтвари, нема много Ñврхе да узимате +улогу правог админиÑтратора. УмеÑто тога, кликните деÑним дугметом +миша на програм који желите да покренете или на његову пречицу, и то +ће Вам у нормалним околноÑтима дати могућноÑÑ‚ да „покренете програм +као админиÑтратор“ („\textenglish{Run as administrator}“). + +\subsection{Увећавање макÑимума доÑтупне меморије на Windows-у и + Cygwin-у} +\label{sec:cygwin-maxmem} + +КориÑницима \Windows{}-а и Cygwin-а (погледајте +одаљак~\ref{sec:cygwin} о ÑпецифичноÑтима инÑталације на Cygwin-у) +може да Ñе деÑи да оÑтану без меморије када покрећу неке програме +укључене у \TL. Ðа пример, \prog{asy} може да оÑтане без меморије ако +покушате да заузмете низ (array) од 25.000.000 реалних бројева, а +Lua\TeX\ може да оÑтане без меморије ако покушавате да обрадите +документ Ñа много великих фонтова. + +Што Ñе тиче Cygwin-а, можете да увећате раÑположиву меморију ако +пратите одговарајућа упутÑтва из њиховог водича за кориÑнике (Cygwin +User's Guide --- +\url{http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html}). + +Ðа \Windows{}-у морате да направите један додатни фајл, рецимо +\code{moremem.reg}, који Ñадржи Ñледеће четири линије: + +\begin{sverbatim} +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\Software\Cygwin] +"heap_chunk_in_mb"=dword:ffffff00 +\end{sverbatim} + +\noindent и да онда извршите команду \code{regedit /s moremem.reg} +као админиÑтратор. (Ðко желите да увећате меморију Ñамо за тренутног +кориÑника умеÑто на целом ÑиÑтему, употребите кључ +\code{HKEY\_CURRENT\_USER}.) + + +\section{КориÑнички водич кроз Web2C} + +\Webc{} је интегриÑана колекција програма везаних за \TeX: +Ñа\char"0302 м \TeX{}, \MF{}, \MP, \BibTeX{}, итд. \Webc{} је Ñрце +\TL{}-а. Интернет-Ñтраница пројекта, на којој Ñе налази најновији +приручник и много других Ñтвари, налази Ñе на +\url{http://tug.org/web2c}. + +Мало иÑторије: првобитну имплементацију је направио Ð¢Ð¾Ð¼Ð°Ñ Ð Ð¾ÐºÐ¸Ñ†ÐºÐ¸ +[\textgerman{Tomas Rokicki}], који је 1987. развио први „\TeX{}-у-C“ +разрадивши изворну Unix верзију, оригинални рад Хауарда Трикија +[\textenglish{Howard Trickey}] и Павела КертиÑа [\textenglish{Pavel +Curtis}]. + +Одржавање ÑиÑтема је наÑтавио Тим Морган [\textenglish{Tim +Morgan}] и током тог периода име је промењено у Web-to-C\@. 1990. +године рад је преузео Карл Бери [\textenglish{Karl Berry}] који је уз +помоћ више деÑетина Ñарадника одржавао пројекат до 1997, када је +предао штафету Олафу Веберу [\textenglish{Olaf Weber}], који је +руковођење вратио Карлу 2006. године. + +\Webc{} ÑиÑтем ради на Unix-у, 32-битним \Windows{} ÑиÑтемима, +\MacOSX{}-у и многим другим оперативним ÑиÑтемима. Он кориÑти +оригинални Кнутов [\textenglish{Knuth}] ко\char"0302 д за \TeX{} и +друге оÑновне програме напиÑане у „\web{} ÑиÑтему за пиÑмено +програмирање“ (\web{} literate programming system) и преводи их у +језик C. Језгро ÑаÑтављено од \TeX{} програма\char"0304\ који Ñе +третирају на овај начин чине: + +\begin{cmddescription} +\item[bibtex] Рад Ñа библиографијама. +\item[dvicopy] Рад Ñа виртуелним фонтовима у \dvi{} фајловима. +\item[dvitomp] Претвара \dvi{} у \acro{MPX} (\MP{} Ñлике). +\item[dvitype] Претвара \dvi{} у читљив текÑÑ‚. +\item[gftodvi] Визуализација изворних (\textenglish{generic}) + фонтова. +\item[gftopk] Претвара изворне (generic) у Ñпаковане (packed) + фонтове. +\item[gftype] Претвара \acro{GF} (изворне фонтове) у читљив текÑÑ‚. +\item[mf] Програм за прављење породица\char"0304\ фонтова + (typeface families). +\item[mft] „Лепо штампање“ (prettyprinting) \MF{} + ко\char"0302 да +\item[mpost] Програм за прављење техничких дијаграма. +\item[patgen] Програм за прављење правила\char"0304\ за прелом + речи\char"0304\ (\textenglish{hyphenation patterns}). +\item[pktogf] Претвара Ñпаковане (packed) у изворне (generic) + фонтове. +\item[pktype] Претвара \acro{PK} у читљив текÑÑ‚. +\item[pltotf] Претвара текÑтуални ÑпиÑак оÑобина фонта у acro{TFM}. +\item[pooltype] Приказује \web{} pool фајлове. +\item[tangle] Преводи \web{} ко\char"0302 д у језик Pascal. +\item[tex] Припрема текÑта. +\item[tftopl] Претвара \acro{TFM} у текÑтуални ÑпиÑак оÑобина фонта. +\item[vftovp] Претвара виртуелни фонт у виртуелни ÑпиÑак + оÑобина\char"0304. +\item[vptovf] Претвара виртуелни ÑпиÑак оÑобина\char"0304\ у + виртуелни фонт. +\item[weave] Преводи \web{} ко\char"0302 д у \TeX. +\end{cmddescription} + +\noindent Прецизне функције и ÑинтакÑа ових програма опиÑани Ñу у +документацији која долази уз одговарајуће пакете, као и уз +Ñа\char"0302 м \Webc{}. Међутим, кориÑно је знати неколико +заједничких принципа који важе за Ñве њих зато што на тај начин +можете боље да иÑкориÑтите Ñвоју \Webc{} инÑталацију. + +Сви ови програми поштују ове Ñтандардне \GNU параметре: +\begin{ttdescription} +\item[-{}-help] штампање оÑновног прегледа употребе. +\item[-{}-verbose] штампање детаљнијег извештаја о раду. +\item[-{}-version] штампање података о верзији, иза кога Ñледи + напуштање програма. +\end{ttdescription} + +Да би одредили положај разних фајлова, \Webc{} програми кориÑте +библиотеку за претрагу \KPS{} (\url{http://tug.org/kpathsea}). Ова +библиотека кориÑти комбинацију ÑиÑтемÑких променљивих и +конфигурационих фајлова како би оптимизовала претрагу кроз (огромни) +Ñадржај \TeX{} ÑиÑтема. \Webc{} може да упоредо кориÑти више +хијерархија за претрагу, што је кориÑно за одржавање Ñтандардних +диÑтрибуција \TeX-а упоредо Ñа локалним и личним проширењима у +одвојеним директоријумима. Како би Ñе претраживање убрзало, +директоријум највишег нивоа у Ñвакој хијерархији има фајл \file{ls-R} +који Ñадржи запиÑе ÑаÑтављене од и\char"030F мена и релативне путање +за Ñве фајлове који Ñе налазе ниже по хијерархији у том директоријуму. + + +\subsection{Проналажење фајлова помоћу Kpathsea} +\label{sec:kpathsea} + +Опишимо најпре механизам трагања који кориÑти библиотека \KPS{}. + +\emph{Путањом за претрагу} (search path) називамо ÑпиÑак +\emph{елемената путање} раздвојених двотачком или тачка-зарезом; ти +елементи Ñу обично имена директоријума, мада путања за претрагу може +да Ñе ÑаÑтави од елемената који потичу из разних извора. Када тражи +фајл \samp{my-file} по путањи \samp{.:/dir}, \KPS{} проверава један +по један Ñваки елемент путање: прво \file{./my-file}, затим +\file{/dir/my-file}, и враћа први погодак (уз могућноÑÑ‚ да врати и +Ñве поготке одједном). + +Како би Ñе оптимално прилагодила конвенцијама Ñвих оперативних +ÑиÑтема, на ÑиÑтемима који ниÑу Ñродни Ñа Unix-ом \KPS{} може да +кориÑти и друге Ñепараторе а не Ñамо двотачку (\samp{:}) и коÑу црту +(\samp{/}). + +Када проверава поједини елемент путање \var{p}, \KPS{} прво проверава +да ли Ñе унапред припремљена база података (погледајте „База података +Ñа именима фајлова“ на Ñтрани~\pageref{sec:filename-database}) може +употребити за \var{p}, тј. да ли Ñе база података налази у +директоријуму који је Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Ð¾Ð´ \var{p}. Ðко је то Ñлучај, задата +путања Ñе ра\char"0300 вна\char"0304\ према Ñадржају базе података. + +Ðко база података не поÑтоји или ако Ñе не може применити на задати +елемент путање или ако у њој нема Ñлагања, претражује Ñе реални +фајл-ÑиÑтем (ако то није забрањено Ñпецификацијом која почиње Ñа +\samp{!!}\ или ако је задато да фајл који Ñе тражи „мора да поÑтоји“). +\KPS{} конÑтруише ÑпиÑак директоријума који одговарају овом елементу +путање и затим тражи задати фајл у Ñваком од~њих. + +УÑлов „фајл мора да поÑтоји“ одноÑи Ñе пре Ñвега на \samp{.vf} +фајлове и на улазне фајлове који Ñе читају \TeX-овом командом +\cs{openin}. Може Ñе деÑити да такви фајлови не поÑтоје (нпр. +\file{cmr10.vf}) па би Ñтога било погрешно претраживати диÑк. Дакле, +ако Ñе деÑи да пропуÑтите да оÑвежите \file{ls-R} када инÑталирате +нови \samp{.vf} фајл, он никад неће бити пронађен. У Ñваком пролаÑку +Ñе проверава по један елемент путање: најпре база података, затим +диÑк. Ðко Ñе нађе оно што је задато, претрага Ñе зауÑтавља и враћа Ñе +резултат. + +Премда је најједноÑтавнији и најуобичајенији елемент путање име +директоријума, \KPS{} подржава и додатне могућноÑти у путањама за +претрагу: „рашчлањене“ подразумеване вредноÑти (\textenglish{layered +default values}, одноÑно вредноÑти које имају предноÑÑ‚ једна у одноÑу +на другу завиÑно од извора у одноÑу на који Ñе кориÑте), имена +ÑиÑтемÑких променљивих, вредноÑти из конфигурационих фајлова, личне +директоријуме кориÑника\char"0304, као и наредбе за рекурзивно +претраживање поддиректоријума\char"0304. Стога кажемо да \KPS{} +\emph{прерачунава}\footnote{\textserbian{\emph{Прерачунавање} је +превод израза \textenglish{\emph{expanding}; генерално Ñе ради о +замени неког једноÑтавног израза неким компликованијим Ñадржајем до +кога Ñе долази одговарајућим алгоритмом; Ñтога, у завиÑноÑти од +контекÑта, може да значи и \emph{рашчлањавање} и \emph{проширивање}} +--- \emph{прим. прев.}}} елемент путање, што значи да он транÑформише +Ñве Ñпецификације у оÑновно име (или имена) директоријума. Ово је +опиÑано у наредним одељцима у иÑтом поретку у коме Ñе претрага и врши. + +Обратите пажњу на један детаљ: ако је име фајла који Ñе тражи +апÑолутно или изричито задато у релативном облику, тј. ако почиње Ñа +\samp{/}, \samp{./} или \samp{../}, \KPS{} проÑто проверава да ли тај +фајл поÑтоји. + +\ifSingleColumn +\else +\begin{figure*} +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{ИлуÑтративни пример конфигурационог фајла} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{Извори путања} +\label{sec:path-sources} + +Путања за претрагу може имати разне изворе. Ово је редоÑлед у коме их +\KPS{} кориÑти: + +\begin{enumerate} +\item СиÑтемÑке променљиве подешене од Ñтране кориÑника, на пример +\envname{TEXINPUTS}\@. СиÑтемÑке променљиве које Ñадрже име програма + придодато на крају иза тачке добијају предноÑÑ‚; нпр. ако је име + покренутог програма \samp{latex}, онда ће \envname{TEXINPUTS.latex} + имати предноÑÑ‚ у одноÑу на \envname{TEXINPUTS}. +\item Конфигурациони фајл Ñпецифичан за поједини програм, нпр. линија + \samp{S /a:/b} у фајлу \file{config.ps} који припада програму + \cmdname{dvips}. +\item Конфигурациони фајл \file{texmf.cnf} који припада \KPS{}-у, и + који Ñадржи линију као што је \samp{TEXINPUTS=/c:/d} (погледајте + ниже). +\item ВредноÑÑ‚ задата у време компајлирања. +\end{enumerate} +\noindent Како Ñе према Ñвакој од набројаних Ñтавки формирају +вредноÑти за неку задату путању можете да пратите ако употребите +опцију за отклањање грешака (\textenglish{debugging}) --- погледајте +одељак „ПоÑтупци за отклањање грешака“ на +Ñтрани~\pageref{sec:debugging}). + +\subsubsection{Конфигурациони фајлови} + +\KPS{} чита конфигурационе фајлове назване \file{texmf.cnf} (ови +фајлови Ñу предвиђени да Ñе читају Ñамо када програми раде) и из њих +узима путању за претрагу и друге дефиниције. Путања за претрагу која +Ñе кориÑти да Ñе Ñа\char"0301 ми ови фајлови лоцирају зове Ñе +\envname{TEXMFCNF}, али ми не препоручујемо да поÑтављате ову (нити +било коју другу) ÑиÑтемÑку променљиву. + +УмеÑто тога, уобичајени инÑталациони Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð´Ð¾Ð²Ð¾Ð´Ð¸ до обликовања +фајла \file{.../2012/texmf.cnf}. Ðко морате да начините неке промене +вредноÑти\char"0304\ које Ñу тамо упиÑане као подразумеване (што +обично није потребно), онда је овај фајл меÑто где те вредноÑти треба +упиÑати. Главни конфигурациони фајл је +\file{.../2012/texmf/web2c/texmf.cnf}; њега не би требало да +преправљате зато што ће Ñе промене изгубити када Ñе верзија +инÑталирана путем диÑтрибуције оÑвежи. + +\emph{Сви} фајлови названи \file{texmf.cnf} који Ñе нађу у путањи за +претрагу биће прочитани и дефиниције из претходних фајлова биће +замењене онима на које Ñе каÑније наиђе. Ðа пример, ако је путања за +претрагу \verb|.:$TEXMF|, вредноÑти из \file{./texmf.cnf} имају +предноÑÑ‚ у одноÑу на оне из \verb|$TEXMF/texmf.cnf|. + +\begin{itemize*} +\item + Коментари почињу Ñа \code{\%} и наÑтављају Ñе до краја линије. +\item + Празне линије Ñе преÑкачу. +\item + Симбол \bs{} на крају линије има улогу ознаке за наÑтавак, тј. + Ñледећа линија Ñе придодаје на текућу. Размаци + (\textenglish{whitespace}\footnote{\textserbian{Израз + \emph{whitespace} означава Ñве врÑте „провидних знакова“, пре Ñвега + размак („\textenglish{space}“) и „Tab“ --- \emph{прим. прев.}}}) на + почетку линије која Ñе додаје Ñе \emph{не} игноришу. +\item + Све оÑтале линије имају Ñледећи облик: +\begin{alltt} \var{променљива}[.\var{име-програма}] [=] \var{вредноÑÑ‚} +\end{alltt}% + где Ñе знак \samp{=} и размаци око њега могу изоÑтавити. +\item + \ttvar{променљива} може да Ñадржи било који знак оÑим + размака\char"0304\ (\textenglish{whitespace}), \samp{=} и \samp{.}, + али је најÑигурније држати Ñе Ñкупа \samp{A-Za-z\_} (тј. велика и + мала Ñлова енглеÑког алфабета и доња црта). +\item + Ðко је приÑутна променљива \samp{.\var{име-програма}}, дефиниција + важи Ñамо ако Ñе покренути програм зове \texttt{\var{име-програма}} + или \texttt{\var{име-програма}.exe}. Између оÑталог, то значи да + разни варијетети \TeX{}-а могу да имају различите путање за претрагу. +\item + \var{вредноÑÑ‚} може да Ñадржи било који знак оÑим \code{\%} и + \samp{@}. МогућноÑÑ‚ \code{\$\var{пром}.\var{прог}} не може Ñе + кориÑтити Ñа ове Ñтране једнакоÑти; умеÑто тога, морате да употребите + додатну променљиву. Знак \samp{;}\ унутар \var{променљиве} преводи Ñе + у \samp{:} ако је у питању Unix; ово је кориÑно јер омогућава да Ñе + иÑти \file{texmf.cnf} кориÑти и за Unix и за \acro{MS-DOS} и за + \Windows{}. +\item + Све дефиниције Ñе прочитају пре него што Ñе било шта прерачуна, што + значи да Ñе променљиве могу употребити и пре него што Ñе дефинишу. +\end{itemize*} +Део конфигурационог фајла који илуÑтрује већину ових Ñтвари +\ifSingleColumn +приказан је у Ñледећој табели: + +\verbatiminput{examples/ex5.tex} +\else +приказан је на Ñлици~\ref{fig:config-sample}. +\fi + +\subsubsection{Прерачунавање путање} +\label{sec:path-expansion} + +\KPS{} препознаје неке Ñпецијалне ознаке и конÑтрукције у путањама за +претрагу, Ñличне онима из Unix шкољки (\textenglish{shells}). Ðа +пример, Ñложена путања \verb+~$USER/{foo,bar}//baz+ претвара Ñе поÑле +прерачунавања у Ñве поддиректоријуме унутар директоријума\char"0304\ +\file{foo} и \file{bar} у личном директоријуму кориÑника +\texttt{\$USER}, и то Ñамо онакве који Ñадрже у Ñеби директоријум или +фајл по имену \file{baz}. Овакве транÑформације објашњене Ñу у Ñледећем +одељку. + +\subsubsection{Стандардно прерачунавање} +\label{sec:default-expansion} + +Ðко путања за претрагу Ñа највећим приоритетом (погледајте „Извори +путања“ на ÑÑ‚Ñ€.~\pageref{sec:path-sources}) Ñадржи једну +\emph{додатну двотачку} (на почетку, на крају, или удвојену) \KPS{} +убацује на том меÑту путању која је Ñледећу по приоритету у оквиру +задате претраге. Ðко та уметнута путања има додатну двотачку, иÑто Ñе +дешава Ñа Ñледећим раÑположивим приоритетом по важноÑти. Ðа пример, +ако Ñу ÑиÑтемÑке променљиве поÑтављене овако: + +\begin{alltt}> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} +и ако је вредноÑÑ‚ променљиве \code{TEXINPUTS} из \file{texmf.cnf} +једнака + +\begin{alltt} .:\$TEXMF//tex +\end{alltt} +онда ће коначна вредноÑÑ‚ која ће бити употребљена за претрагу бити: + +\begin{alltt} /home/karl:.:\$TEXMF//tex +\end{alltt} + +Пошто би било беÑкориÑно уметати подразумевану вредноÑÑ‚ на више од +једног меÑта, \KPS{} транÑформише Ñамо један додатни \samp{:} а +оÑтале оÑтавља како јеÑу. Програм најпре тражи има ли \samp{:} на +почетку реда, затим на крају, а затим тражи двоÑтруке \samp{:}. + +\subsubsection{Прерачунавање заграда} +\label{sec:brace-expansion} + +Једна кориÑна могућноÑÑ‚ је и прерачунавање заграда: на пример, +\verb+v{a,b}w+ Ñе претвара у \verb+vaw:vbw+. Дозвољено је уметање +заграда унутар поÑтојећег пара заграда; захваљујући овоме могуће је +имати више \TeX{} хијерархија директоријума\char"0304\ тако што Ñе +\code{\$TEXMF}-у додели лиÑта заграда. Ðа пример, у фајлу +\file{texmf.cnf} је направљена оваква дефиниција (у овом примеру +Ñтварни ко\char"0302 д је поједноÑтављен): +\begin{verbatim} + TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN} +\end{verbatim} +Захваљујући овоме, могуће је напиÑати: +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +што значи да ће Ñе претрага, након задржавања у тренутном +директоријуму, обавити \emph{иÑкључиво} у дрветима +\code{\$TEXMFHOME/tex}, \code{\$TEXMFLOCAL/tex}, +\code{\$TEXMFVAR/tex} и \code{\$TEXMFMAIN/tex} (поÑледња два имају +базу података Ñа фајловима \file{ls-R}). Ово предÑтавља један удобан +начин да одржавате две паралелне Ñтруктуре \TeX{}-а, једну +„замрзнуту“ (на пример на \CD-у) и једну која Ñе непреÑтано оÑвежава +новим верзијама чим Ñе појаве. Пошто кориÑтимо променљиву +\code{\$TEXMF} у Ñвим дефиницијама, можемо бити Ñигурни да ће увек +оно дрво које Ñе оÑвежава бити прво које Ñе претражује. + +\subsubsection{Прерачунавање поддиректоријума} +\label{sec:subdirectory-expansion} + +Две или више узаÑтопних коÑих црта у елементу путање које Ñледе иза +директоријума \var{d} транÑформишу Ñе у ÑпиÑак Ñвих поддиректоријума +који Ñе по хијерархији налазе иÑпод \var{d}: прво иду они који Ñу +непоÑредно иÑпод \var{d}, затим они иÑпод њих, итд. Ðа Ñваком од +тих нивоа редоÑлед којим Ñе директоријуми претражују \emph{није +изричито одређен}. + +Ðко Ñтавите неки део имена фајла поÑле \samp{//}, биће укључени Ñамо +поддиректоријуми који Ñадрже поклапање Ñа тим делом имена. Ðа пример, +\samp{/a//b} Ñе претвара у директоријуме \file{/a/1/b}, +\file{/a/2/b}, \file{/a/1/1/b} итд, али не у \file{/a/b/c} или +\file{/a/1}. + +Могуће је употребити и више конÑтрукција Ñа \samp{//} у једној +путањи, али Ñе \samp{//} на почетку путање игнорише. + +\subsubsection{СпиÑак Ñпецијалних Ñимбола и њихово значење: преглед} + +Следећа лиÑта даје преглед Ñпецијалних Ñимбола у конфигурационим +фајловима које кориÑти \KPS{}. + +% need a wider space for the item labels here. +\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} +\begin{ttdescription} +\item[\CODE{:}] Сепаратор у задавању путање; на почетку или на крају + путање Ñлужи умеÑто подразумеваног прерачунавања путање.\par +\item[\CODE{;}] Сепаратор на ÑиÑтемима који ниÑу Ñродни Ñа Unix-им + (понаша Ñе иÑто као \code{:}). +\item[\CODE{\$}] Прерачунавање променљиве. +\item[\CODE{\string~}] ПредÑтавља кориÑников лични директоријум. +\item[\CODE{\char`\{...\char`\}}] Прерачунавање заграда\char"0304. +\item[\CODE{//}] Прерачунавање поддиректоријума\char"0304\ (може да + Ñтоји било где у путањи изузев на почетку). +\item[\CODE{\%}] Почетак коментара. +\item[\CODE{\bs}] Ознака да Ñледи наÑтавак текÑта (омогућава Ñтавке + које Ñе проÑтиру кроз више линија). +\item[\CODE{!!}] Претраживање \emph{иÑкључиво} базе података да Ñе + нађе фајл, диÑк Ñе \emph{не} претражује. +\end{ttdescription} + + +\subsection{Базе података Ñа именима фајлова} +\label{sec:filename-database} + +\KPS{} покушава да колико је могуће Ñмањи физички приÑтуп диÑку када +обавља Ñвоје претраге. Ð£Ð¿Ñ€ÐºÐ¾Ñ Ñ‚Ð¾Ð¼Ðµ, на инÑталацијама Ñа великим +бројем директоријума, претраживање Ñвих могућих директоријума да би +Ñе нашао задати фајл може предуго да траје (ово је нарочито Ñлучај +ако Ñе мора проћи више Ñтотина директоријума који Ñадрже фонтове). Из +тог разлога је \KPS{} оÑмишљен да може да кориÑти унапред ÑаÑтављену +„базу података“ --- заправо текÑтуални фајл --- по имену \file{ls-R}, +који повезује Ñтварне фајлове Ñа одговарајућим директоријумима и на +тај начин елиминише потребу да Ñе диÑку чеÑто приÑтупа. + +Други фајл --- база података, по имену \file{aliases}, омогућава Вам +да дате додатна имена фајловима који Ñу излиÑтани у \file{ls-R}. Ово +може да буде од кориÑти ако је потребно да Ñе у неком изворном коду +поштује конвенција о именима фајлова која потиче из ÑиÑтема +\acro{DOS}~8.3. + +\subsubsection{База података ls-R} +\label{sec:ls-R} + +Као што је Ð¼Ð°Ð»Ð¾Ñ‡Ð°Ñ Ð¾Ð±Ñ˜Ð°ÑˆÑšÐµÐ½Ð¾, име главне базе података Ñа фајловима +мора бити \file{ls-R}. Можете да Ñтавите по један такав фајл у корен +Ñваке \TeX{}-хијерархије коју имате и коју желите да претражујете +помоћу \KPS{} (подразумева Ñе \code{\$TEXMF}). \KPS{} увек проверава +да ли има неки \file{ls-R} дуж \code{TEXMFDBS}. + +Препоручени начин да направите и одржавате \samp{ls-R} јеÑте да +покренете Ñкрипту \code{mktexlsr} (која је укључена у диÑтрибуцију). +Њу позивају разне \samp{mktex}... Ñкрипте. У принципу, ова Ñкрипта +напроÑто покреће команду +\begin{alltt}cd \var{/корен/texmf/хијерархије} && \path|\|ls -1LAR ./ >ls-R +\end{alltt} +уз претпоÑтавку да команда \code{ls} на Вашем ÑиÑтему даје иÑправан +излаз (\GNU \code{ls} је таква команда). Како биÑте били Ñигурни да је +база података увек Ñвежа, најлакши начин је да је редовно преправљате +кориÑтећи \code{cron}, тако да Ñе она аутоматÑки оÑвежава увек када +Ñе неки већ инÑталирани фајл промени, као што је Ñлучај када Ñе +инÑталира или оÑвежава неки \LaTeX{} пакет. + +Ðко фајл не може да Ñе пронађе у бази података, подразумевана радња +коју предузима \KPS{} јеÑте да крене у претрагу директно на диÑку. +Ðко, међутим, неки поједини елемент путање почиње Ñа \samp{!!}, +претражиће Ñе \emph{Ñамо} база података, никада Ñа\char"0302 м диÑк. + + +\subsubsection{СамоÑтални програм за претраживање: kpsewhich} +\label{sec:invoking-kpsewhich} + +Програм \texttt{kpsewhich} изводи претраживање незавиÑно од било које +апликације. У овом ÑмиÑлу он може бити кориÑтан и као нека врÑта +програма \code{find} ако треба лоцирати појединачне фајлове у +\TeX{}-хијерархијама (\texttt{kpsewhich} Ñе заиÑта и кориÑти веома +интензивно у Ñкриптама \samp{mktex}... које Ñу део диÑтрибуције). + +\begin{alltt}> \Ucom{kpsewhich \var{option}... \var{filename}...} +\end{alltt} +Опције назначене у \ttvar{option} могу да почну и Ñа \samp{-} и Ñа +\samp{-{}-}; такође, дозвољено је и било које недвоÑмиÑлено Ñкраћивање. + +\KPS{} третира Ñваки аргумент Ñа командне линије (који није опција) +као име фајла, и враћа први фајл који пронађе. Ðе поÑтоји могућноÑÑ‚ +да Ñе врате Ñва имена фајлова Ñа појединим именом (ако Вам је тако +нешто потребно, употребите Unix команду \samp{find}). + +Следи Ð¾Ð¿Ð¸Ñ Ð½Ð°Ñ˜Ð²Ð°Ð¶Ð½Ð¸Ñ˜Ð¸Ñ… параметара. + +\begin{ttdescription} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{}\\ + Задаје резолуцију \ttvar{num}; ово Ñе тиче Ñамо претрага за + фајловима типа \samp{gf} и \samp{pk}. \samp{-D} је Ñиноним, омогућен + ради компатибилноÑти Ñа \cmdname{dvips}. Подразумевана вредноÑÑ‚ је + 600. + +\item[\texttt{-{}-format=\var{name}}]\mbox{}\\ + Задаје да Ñе тражи формат \ttvar{name}. Подразумевани формат Ñе + претпоÑтавља на оÑнову имена фајла. За формате који немају + једнозначан наÑтавак, као што Ñу нпр. помоћни фајлови програма + \MP{} или конфигурациони фајлови програма \cmdname{dvips}, морате + назначити име које је познато \KPS{}-у, на пример \texttt{tex} или + \texttt{enc files}. Покрените \texttt{kpsewhich -{}-help} ако желите + да видите целовит ÑпиÑак. + +\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ + Задаје режим по имену \ttvar{string}; ово Ñе тиче једино претрага + за фајловима типа \samp{gf} и \samp{pk}. Ðема подразумеване + вредноÑти: тражиће Ñе фајлови за Ñве режиме. + +\item[\texttt{-{}-must-exist}]\mbox{}\\ + Задаје да Ñе учини Ñве што је могуће да Ñе фајлови пронађу; пре + Ñвега Ñе миÑли на прибегавање директном претраживању диÑка. + Подразумева Ñе да Ñе, ефикаÑноÑти ради, проверава Ñамо база података + \file{ls-R}. + +\item[\texttt{-{}-path=\var{string}}]\mbox{}\\ + Претрага ће Ñе вршити низ путању \ttvar{string} (обично Ñу то + елементи раздвојени двотачкама), умеÑто да Ñе путања за претрагу + претпоÑтавља на оÑнову имена фајла. Подржани Ñу \samp{//} и Ñва + Ñтандардна прерачунавања и транÑформације. Параметри \samp{-{}-path} + и \samp{-{}-format} узајамно Ñе иÑкључују. + +\item[\texttt{-{}-progname=\var{name}}]\mbox{}\\ + Задаје \texttt{\var{name}} као име програма. Ово може да утиче на + путање за претрагу путем могућноÑти допиÑивања имена програма + (\texttt{.\var{progname}}). Подразумевана вредноÑÑ‚ је + \cmdname{kpsewhich}. + +\item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\ + Приказује путању која Ñе кориÑти да Ñе пронађе фајл или тип фајла + \texttt{\var{name}}. Могу Ñе кориÑтити и наÑтавци за имена фајлова + (\code{.pk}, \code{.vf}, итд), као и Ñама имена, баш као у Ñлучају + опције \hbox{\samp{-{}-format}}. + +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + ПоÑтавља ниво потраге за грешкама на \texttt{\var{num}}. +\end{ttdescription} + + +\subsubsection{Примери употребе} +\label{sec:examples-of-use} + +Погледајмо Ñада \KPS{} на делу. Ево једне једноÑтавне претраге: + +\begin{alltt}> \Ucom{kpsewhich article.cls} + /usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} +Оно што тражимо је фајл \file{article.cls}. Пошто је наÑтавак +\samp{.cls} недвоÑмиÑлен, не морамо да поÑебно назначимо да желимо да +тражимо фајл типа \optname{tex} (директоријуми који Ñадрже фајлове Ñа +изворним \TeX{} ко\char"0302 дом). Тражимо га у поддиректоријуму +\file{tex/latex/base} који Ñе налази у \TL\ директоријуму +\samp{texmf-dist}. Ðа Ñличан начин, Ñви фајлови у примерима који Ñледе +проналазе Ñе без проблема захваљујући Ñвојим недвоÑмиÑленим +наÑтавцима: +\begin{alltt}> \Ucom{kpsewhich array.sty} + /usr/local/texmf-dist/tex/latex/tools/array.sty +> \Ucom{kpsewhich latin1.def} + /usr/local/texmf-dist/tex/latex/base/latin1.def +> \Ucom{kpsewhich size10.clo} + /usr/local/texmf-dist/tex/latex/base/size10.clo +> \Ucom{kpsewhich small2e.tex} + /usr/local/texmf-dist/tex/latex/base/small2e.tex +> \Ucom{kpsewhich tugboat.bib} + /usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib +\end{alltt} + +Узгред, поÑледњи фајл из овог низа је библиографÑка база података +програма \BibTeX{} која Ñе одноÑи на чланке у чаÑопиÑу +\textsl{TUGboat}. + +\begin{alltt}> \Ucom{kpsewhich cmr10.pk} +\end{alltt} +Фајловe типa \file{.pk} (фонтови направљени као бит-мапе) кориÑте +приказивачи као што Ñу \cmdname{dvips} и \cmdname{xdvi}. У овом +Ñлучају Ñе не враћа никаква вредноÑÑ‚ пошто нема унапред припремљених +\textenglish{Computer Modern} \samp{.pk} фајлова у \TL{}-у --- +подразумева Ñе да Ñе кориÑте Type~1 варијанте. +\begin{alltt}> \Ucom{kpsewhich wsuipa10.pk} +\ifSingleColumn /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk +\else /usr/local/texmf-var/fonts/pk/ljfour/public/ +... wsuipa/wsuipa10.600pk +\fi\end{alltt} +За ове фонтове (фонетÑки алфабет, производ Универзитета Вашингтона) +морамо да генеришемо \samp{.pk} фајлове, и пошто је подразумевани +режим програма \MF{} на нашем ÑиÑтему \texttt{ljfour} Ñа оÑновном +резолуцијом од 600\dpi{} (тачака по инчу), имамо баш овај резултат. +\begin{alltt}> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} +У овом Ñлучају, међутим, када је изричито назначено да Ñмо +заинтереÑовани за резолуцију од 300\dpi{} (\texttt{-dpi=300}), видимо +да такав фонт није раÑположив на ÑиÑтему. ОÑтаје на програмима као +што Ñу \cmdname{dvips} или \cmdname{xdvi} да Ñами направе потребне +\texttt{.pk} фајлове помоћу Ñкрипте \cmdname{mktexpk}. + +Сада ћемо размотрити заглавља (\textenglish{headers}) и +конфигурационе фајлове програма \cmdname{dvips}. Погледајмо најпре +један веома чеÑто коришћени фајл, пролог \file{tex.pro} за \TeX{} +подршку, а затим један општи конфигурациони фајл (\file{config.ps}) и +\PS{} фонт-мапу \file{psfonts.map} --- од издања \TL{}-а из 2004. +фајлови Ñа мапама и кодним раÑпоредима имају Ñвоје ÑопÑтвене путање +за претрагу и нов положај унутар \dirname{texmf} дрвета\char"0304. +Пошто је наÑтавак \samp{.ps} вишеÑмиÑлен, морамо да изричито +назначимо који тип имамо у виду (\optname{dvips config}) за фајл +\texttt{config.ps}. +\begin{alltt}> \Ucom{kpsewhich tex.pro} + /usr/local/texmf/dvips/base/tex.pro +> \Ucom{kpsewhich --format="dvips config" config.ps} + /usr/local/texmf/dvips/config/config.ps +> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map +\end{alltt} + +Погледајмо Ñада поближе помоћне фајлове програма \PS{} који Ñе тичу +фонта \acro{URW} Times. ПрефикÑи за ове фајлове Ñу, према Ñтандардној +шеми за именовање фонтова, \samp{utm}. Први фајл који разматрамо је +један конфигурациони фајл, који Ñадржи име фајла Ñа одговарајућом +мапом: +\begin{alltt}> \Ucom{kpsewhich --format="dvips config" config.utm} + /usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} +Садржај тог фајла је +\begin{alltt} p +utm.map +\end{alltt} +што указује на фајл \file{utm.map}, и он је Ñледећи ког желимо да +лоцирамо. +\begin{alltt}> \Ucom{kpsewhich utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} +Овај фајл Ñа мапом одређује имена фајлова Type~1 \PS{} фонтова у URW +колекцији. Његов Ñадржај изгледа овако (приказујемо Ñамо део): +\begin{alltt}utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb +utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb +utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb +utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} +Узмимо, на пример, инÑтанцу фонта \textenglish{Times Roman} по имену +\file{utmr8a.pfb} и потра\char"0301 жимо њен положај у директоријуму +\file{texmf}, уз трагање за фонт-фајловима типа Type~1: +\begin{alltt}> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +\else /usr/local/texmf-dist/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + +Из ових примера требало би да буде јаÑно како лако можете да одредите +положај било ког задатог фајла. Ово је нарочито важно ако Ñумњате да +је у обради неког документа употребљена погрешна верзија неког фајла, +пошто ће Вам \cmdname{kpsewhich} приказати Ñамо први фајл на који наиђе. + +\subsubsection{ПоÑтупци отклањања грешака} +\label{sec:debugging} + +Понекад је неопходно да Ñе иÑпита како неки програм разрешава +упућивања на одређене фајлове. Да би помогао у таквим Ñитуацијама, +\KPS{} нуди разне нивое излаза у режиму трагања за грешкама +(\textenglish{debugging}): +\begin{ttdescription} +\item[\texttt{\ 1}] СтатиÑтика директног приÑтупа диÑку. Када Ñе + претрага обавља Ñа Ñвежом \file{ls-R} базом, ово не би требало да + да\char"0302\ готово никакав излаз. +\item[\texttt{\ 2}] Упућивања на „hash“ табеле (као што је база + података \file{ls-R}, фајлови Ñа мапама, конфигурациони фајлови). +\item[\texttt{\ 4}] Операције отварања и затварања фајлова. +\item[\texttt{\ 8}] Опште информације о путањама које \KPS{} кориÑти + за разне типове фајлова. Ово је кориÑно када треба уÑтановити на + ком меÑту је нека поједина путања за неки фајл дефиниÑана. +\item[\texttt{16}] ЛиÑта директоријума за Ñваки елемент путање (ово + је релевантно Ñамо ако Ñе претражује диÑк). +\item[\texttt{32}] Претраге за фајловима. +\item[\texttt{64}] ВредноÑти променљивих. +\end{ttdescription} +ВредноÑÑ‚ \texttt{-1} ће активирати Ñве опиÑане опције; у пракÑи је ово +обично и најкориÑније. + +Ðа Ñличан начин, ако Ñе програм \cmdname{dvips} покрене Ñа +одговарајућом комбинацијом ових опција, може Ñе до најÑитнијих детаља +пратити одакле Ñе узимају поједини фајлови. Или, ако Ñе неки фајл не +пронађе, детаљан излаз који Ñмо добили показује у којим је +директоријумима програм покушавао да нађе задати фајл, тако да Ñе +може добити неки наговештај о томе где лежи проблем. + +Уопштено говорећи, будући да већина програма позива библиотеку \KPS{} +интерно, опција за отклањање грешака Ñе може укључити путем ÑиÑтемÑке +променљиве \envname{KPATHSEA\_DEBUG} тако што Ñе она подеÑи на неку +вредноÑÑ‚ (или комбинацију вредноÑти) опиÑану у претходној табели. + +(Ðапомена за кориÑнике \Windows{}-а: на овом ÑиÑтему није лако +преуÑмерити Ñве поруке које даје неки програм у фајл. За Ñврхе +дијагноÑтиковања можете привремено да подеÑите одговарајућу +променљиву помоћу \texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log}.) + +Размотримо као пример један мали фајл Ñа \LaTeX{} ко\char"0302 дом, +\file{hello-world.tex} („Здраво, Ñвете!“), Ñа Ñледећим Ñадржајем: +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +Овај мали фајл кориÑти Ñамо фонт \file{cmr10}, па погледајмо Ñтога +како \cmdname{dvips} припрема \PS{} фајл (желимо да кориÑтимо Type~1 +верзију фонтова из породице \textenglish{Computer Modern}, отуда +опција \texttt{-Pcms}). +\begin{alltt}> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +У овом Ñлучају Ñмо комбиновали ниво 4 за отклањање грешака програма +\cmdname{dvips} (тј. путање везане за фонтове) Ñа прерачунавањем +елемента путање преко \KPS{} (погледајте упутÑтво за употребу +програма \cmdname{dvips}, \OnCD{texmf/doc/dvips/dvips.pdf}). Излаз +(незнатно преÑложен) може Ñе видети на Ñлици~\ref{fig:dvipsdbga}. +\begin{figure*}[tp] +\centering +\input{examples/ex6a.tex} +\caption{Тражење конфигурационих фајлова}\label{fig:dvipsdbga} + +\bigskip + +\input{examples/ex6b.tex} +\caption{Тражење пролог фајла}\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{Тражење фајла Ñа фонтом}\label{fig:dvipsdbgc} +\end{figure*} + +\cmdname{dvips} почиње тако што лоцира Ñвоје ÑопÑтвене конфигурационе +фајлове. Ðајпре налази \file{texmf.cnf}, и тај фајл му даје дефиниције +путања на којима треба наћи друге фајлове, затим Ñе проналази база +података \file{ls-R} (како би Ñе трагање за фајловима оптимизовало), +и коначно фајл \file{aliases}, који омогућава да Ñе зада више имена +за иÑти фајл (нпр. кратка имена у Ñтилу ÑиÑтема \acro{DOS}~8.3 или +читкије дуже варијанте). Затим \cmdname{dvips} прелази на тражење +општег конфигурационог фајла \file{config.ps}, пре него што прегледа +фајл Ñа подешавањима по имену \file{.dvipsrc} (који, у овом Ñлучају, +\emph{није пронађен}). Коначно, \cmdname{dvips} налази конфигурациони +фајл за породицу \PS{} фонтова \textenglish{Computer Modern}, који Ñе +зове \file{config.cms} (ово је иницирано зато што је уз команду +\cmdname{dvips} употребљена опција \texttt{-Pcms}). Овај фајл Ñадржи +лиÑту фајлова Ñа мапама који дефинишу Ð¾Ð´Ð½Ð¾Ñ Ð¸Ð·Ð¼ÐµÑ’Ñƒ \TeX{}-а, \PS{}-а +и Ñтварних имена фонтова на диÑку. +\begin{alltt}> \Ucom{more /usr/local/texmf/dvips/cms/config.cms} + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map +\end{alltt} +\cmdname{dvips} налази Ñве ове фајлове, као и општи фајл Ñа мапом по +имену \file{psfonts.map}, који Ñе увек учитава (он Ñадржи декларације +за најчешће коришћене \PS{} фонтове; поÑледњи део одељка +\ref{sec:examples-of-use} Ñадржи више информација о коришћењу фајлова +Ñа мапама за \PS{} фонтове). + +Ðа овом Ñтупњу \cmdname{dvips} Ñе предÑтавља кориÑнику: +\begin{alltt}This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) +\end{alltt} +\ifSingleColumn +Затим прелази на тражење пролог фајла \file{texc.pro}: +\begin{alltt}\small +kdebug:start search(file=texc.pro, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro +\end{alltt} +\else +Затим тражи пролог фајла \file{texc.pro} (погледајте +Ñлику~\ref{fig:dvipsdbgb}). +\fi + +Ðашавши поменути фајл, \cmdname{dvips} иÑпиÑује датум и време и +обавештава Ð½Ð°Ñ Ð´Ð° ће направити фајл \file{hello-world.ps}, затим да +му треба фонт-фајл \file{cmr10}, као и да ће овај поÑледњи бити +означен као „резидентан“ (тј. да му ниÑу потребне бит-мапе): +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} +Сада Ñе претрага наÑтавља, овог пута за фајлом \file{cmr10.tfm}; када +га пронађе, упућује Ñе на још неколико пролог фајлова (ниÑу +приказани), и на крају Ñе лоцира Type~1 облик фонта, који Ñе зове +\file{cmr10.pfb}, и тај податак Ñе укључује у фајл Ñа излазом +(погледајте поÑледњу линију). +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{Опције током рада (runtime options)} + +Још једна кориÑна ÑпоÑобноÑÑ‚ \Webc{}-а јеÑте могућноÑÑ‚ да Ñе +контролише велики број меморијÑких параметара (а поÑебно „array +sizes“) путем фајла \file{texmf.cnf} који чита \KPS{}. Подешавања +која Ñе тичу меморије могу Ñе пронаћи у делу~3 тог фајла у \TL{} +диÑтрибуцији. Важнији параметри које можете да подеÑите Ñу: + +\begin{ttdescription} +\item[\texttt{main\_memory}] + Укупна раÑположива меморија (\textenglish{Total words of memory + available}) за \TeX{}, \MF{} и \MP. За Ñваку вредноÑÑ‚ Ñе мора + направити поÑебан фајл Ñа форматом. Ðа пример, можете да направите + „огромну“ (huge) верзију \TeX{}-a и да назовете фајл Ñа форматом + \texttt{hugetex.fmt}. Према Ñтандардним правилима означавања + имена\char"0304\ програма\char"0304\ којих Ñе држи \KPS{}, поÑебна + вредноÑÑ‚ променљиве \texttt{main\_memory} прочитаће Ñе из фајла + \file{texmf.cnf}. +\item[\texttt{extra\_mem\_bot}] + Додатни проÑтор за „велике“ („large“) Ñтруктуре података које прави + \TeX{}: оквири (\textenglish{boxes}), лепак (\textenglish{glue}), + меÑта прелома (\textenglish{breakpoints}) итд. ПоÑебно кориÑно ако + кориÑтите \PiCTeX{}. +\item[\texttt{font\_mem\_size}] + Количина меморије за податке о фонтовима која Ñтоји \TeX{}-у на + раÑполагању. Ово је мање-више укупна величина Ñвих прочитаних + \acro{TFM} фајлова. +\item[\texttt{hash\_extra}] + Додатни проÑтор за „hash“ табелу Ñа именима контролних Ñеквенци. + Само \char"007E 10.000 контролних Ñеквенци може да Ñе ÑмеÑти у + главну „hash“ табелу; ако имате велику књигу Ñа бројним унакрÑним + референцама, може Ñе лако деÑити да то није довољно. Подразумевана + вредноÑÑ‚ променљиве \texttt{hash\_extra} је \texttt{50000}. +\end{ttdescription} + +\noindent Ðаравно, ово није замена за праве динамичке низове и методе + раÑполагања меморијом, али пошто је изузетно тешко да Ñе тако нешто + изведе у Ñадашњем изворном ко\char"0302 ду \TeX{}-а, ови параметри за + покретање програма предÑтављају практични ÐºÐ¾Ð¼Ð¿Ñ€Ð¾Ð¼Ð¸Ñ ÐºÐ¾Ñ˜Ð¸ ипак даје и + нешто флекÑибилноÑти. + + +\begin{comment} +\section{Компајлирање на новом Unix оператовном ÑиÑтему} + +Ðко имате платформу (оперативни ÑиÑтем) за који ниÑу укључени +прекомпајлирани програми, мораћете да компајлирате \TeX{} и пропратне +програме. То није тако тешко као што звучи. Оно што Вам треба је Ñве +што Ñе налази у директоријуму \texttt{source} који Ñе налази у +диÑтрибуцији. + +\subsection{ПредуÑлови} + +Требаће Вам најмање 100 мегабајта Ñлободног проÑтора на диÑку ако +желите да компајлирате \TeX{} и Ñве помоћне програме. Такође ће Вам +требати и \acro{ANSI} C компајлер, алатка \cmdname{make}, лекÑички +Ñкенер и парÑер-генератор. Препоручујемо \GNU-ове верзије ових +програма (\cmdname{gcc}, \GNU \cmdname{make}, \cmdname{m4}, +\cmdname{flex}, \cmdname{bison}). Може бити Ñлучај да уÑпете Ñве ово +да урадите и Ñа другим C компајлерима и \cmdname{make} програмаима, +али за то ће Вам вероватно бити потребно веома добро разумевање +компајлирања програма на Unix-у како биÑте решили проблеме када Ñе +појаве. + +Такође, команда \texttt{uname} мора приказати ÑмиÑлену вредноÑÑ‚. + + +\subsection{Конфигурација} + +За почетак, обавите уобичајену инÑталацију \TL{}-а на диÑк +(погледајте одељак~\ref{sec:install-disk}, +ÑÑ‚Ñ€.~\pageref{sec:install-disk}). Може бити и да желите да преÑкочите +инÑталацију Ñвих унапред компајлираних програма. + +Затим, раÑпакујте Ñпаковане \texttt{tar}-фајлове из директоријума +\dirname{source} на диÑк и уђите у директоријум где Ñте их +раÑпаковали. + +Затим, покренуте \cmdname{configure} Ñа оваквом командном линијом: +\begin{alltt}> \Ucom{sh configure -prefix=/usr/local/TeX} +\end{alltt} + +Директоријум задат уз \optname{-prefix} је меÑто где ће Ñе инÑталирати +подржавајуће дрво; Ñтруктура директоријума ће бити оваква (\$TEXDIR означава +директоријум који Ñте изабрали): + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/share/texmf} & главно дрво Ñа фонтовима,\\ + & \qquad макроима, итд.\\ + \dirname{$TEXDIR/man} & Unix man-Ñтранице\\ + \dirname{$TEXDIR/info} & Info-Ñтранице у \GNU Ñтилу\\ + \dirname{$TEXDIR/bin/$PLATFORM} & програми\\ +\end{tabular} +%$ + +Ðко желите да одуÑтанете (изоÑтавите) од поддиректоријума +\dirname{$PLATFORM}, тј. да Ñтавите програме директно у +\dirname{$TEXDIR/bin}, назначите то програму \cmdname{configure} +помоћу опције \verb|--disable-multiplatform|. + +Излаз команде \verb|./configure --help| Вам нуди ÑпиÑак Ñвих опција +које можете да употребите. Ðа пример, можете да преÑкочите +компајлирање програма \OMEGA{} и \eTeX{}. + + +\subsection{Покретање \cmdname{make}} + +Побрините Ñе да ниÑу подешене ШЕЛ променљива или опција +\texttt{noclobber}. Затим покрените главни \cmdname{make} на овај +начин: +\begin{alltt}> \Ucom{make world} +\end{alltt} +и опуÑтите Ñе... + +Ðлтернативно, можете да запишете цео излаз, овако: +\begin{alltt}> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} + +Пре него што поверујете да је Ñве прошло како треба, молимо Ð’Ð°Ñ Ð´Ð° +прегледате лог-фајл и проверите да ли је пријављена нека грешка: \GNU +\cmdname{make} увек кориÑти Ñтринг \samp{***} када нека команда не +уÑпе да Ñе изврши. Такође, проверите да ли Ñу Ñе Ñви програми +компајлирали: + +\begin{alltt}> \Ucom{cd \var{TEXDIR}/bin/\var{archname}} +> \Ucom{ls | wc} +\end{alltt} +Резултат би требало да буде преко 200 (можете да упоредите тачан број +Ñа Ñадржајем директоријума \dirname{bin} у диÑтрибуцији). + +Ðко Вам требају поÑебне привилегије за \texttt{make install}, можете +да на овај начин раздвојите \samp{make world} у два одвојена +поÑтупка: +\begin{alltt}> \Ucom{make all} +> \Ucom{su} +> \Ucom{make install strip} +\end{alltt} + +Када инÑталирате нове програме, Ñледите уобичајену поÑÑ‚-инÑталациону +процедуру опиÑану у одељку~\ref{sec:postinstall}, +ÑÑ‚Ñ€.~\p.\pageref{sec:postinstall}. + +Такође, ако желите да нови програми буду на раÑполагању и другим +кориÑницима Вашег ÑиÑтема, молимо Ð’Ð°Ñ Ð´Ð° Ð½Ð°Ñ ÐºÐ¾Ð½Ð°ÐºÑ‚Ð¸Ñ€Ð°Ñ‚Ðµ. Бићемо +веома задовољни да их поÑтавимо на \TL\ Интернет Ñтранице. +\end{comment} + +\htmlanchor{ack} +\section{Захвалнице} + +\TL{} је резултат заједничких напора практично Ñвих група кориÑника +\TeX{}-а. Овим издањем \TL{}-а руководио је Карл Бери +[\textenglish{Karl Berry}]. Групе и појединци набројани на ÑпиÑку +који Ñледи, они који Ñу у прошлоÑти радили на \TL{}-у и они који Ñу +тренутно активни, заÑлужују нашу велику захвалноÑÑ‚. + +\begin{itemize} +% We need this manual tuning here to avoid very ugly page break. +\itemsep=.25em +\parskip=0pt + +\item Централно удружење кориÑника \TeX{}-а, као и удружења из + Ðемачке, Холандије и ПољÑке (\acro{TUG}, \acro{DANTE} e.V., + \acro{NTG} и \acro{GUST}), која обезбеђују неопходну техничку и + админиÑтративну инфраÑтруктуру. Молимо Ð’Ð°Ñ Ð´Ð° Ñе учланите у најближу + групу кориÑника \TeX{}-а! (Погледајте + \url{http://tug.org/usergroups.html}); + +\item \acro{CTAN} тим, поÑебно Робин Ð¤ÐµÑ€Ð½Ð±ÐµÑ€Ð½Ñ [\textenglish{Robin + Fairbairns}], Ðим Хеферон [\textenglish{Jim Hefferon}] и Рајнер Шепф + [\textgerman{Rainer Schöpf}], који диÑтрибуира издања \TL{}-а и + обезбеђује обједињену инфраÑтруктуру за оÑвежавање Ñвих пакета који + имају везе Ñа \TeX{}-ом, од којих \TL{} завиÑи; + +\item Ðелзон Биб [\textenglish{Nelson Beebe}], који је Ñтавио + програмерима \TL{}-а на раÑполагање многе платформе и који је + Ñа\char"0302 м обавио много темељних теÑтова; + +\item Ðон Боумен [\textenglish{John Bowman}], који је обавио велики + поÑао на интеграцији Ñвог напредног графичког програма + \prog{Asymptote} у \TL{}; + +\item Петер Брајтенлонер [\textgerman{Peter Breitenlohner}] и \eTeX\ + тим, зато што Ñу поÑтавили чврÑте темеље будућим варијантама \TeX-а, + а Петеру поÑебно за бриљантан поÑао на увођењу и одржавању ÑиÑтема + \GNU\ autotools унутар \TL-а; + +\item Сташек Ваврикевич [\textpolish{Staszek Wawrykiewicz}], главна + оÑоба за теÑтирање \TL{}-а и координатор многих пољÑких пројеката, + за рад на \Windows{} инÑталацији, и још много тога; + +\item Олаф Вебер [\textenglish{Olaf Weber}], за Ñвоје Ñтрпљиво + одржавање ÑиÑтема \Webc; + +\item Гербен Вирда [\textdutch{Gerben Wierda}], зато што је + уÑтановио и одржавао \TL{} на \MacOSX-у и за учешће у теÑтирању; + +\item Грејем Ð’Ð¸Ð»Ð¸Ñ˜Ð°Ð¼Ñ [\textenglish{Graham Williams}], на чији рад Ñе + оÑлања каталог пакета\char"0304\ \TeX\ Catalogue; + +\item Владимир Волович, за помоћ око портовања \TL{}-а на многе + ÑиÑтеме и за рад на многим програмима, нарочито зато што је омогућио + да Ñе у диÑтрибуцију укључи \cmdname{xindy}; + +\item Ђин-Хуан Чо [\textenglish{Jin-Hwan Cho}] и \acro{DVIPDFM}$x$ + тим, за њихов изврÑни драјвер и брзе реакције везане за + конфигурационе проблеме; + +\item Михел ГоÑÐµÐ½Ñ [\textdutch{Michel Goossens}], који је био један + од аутора прве верзије ове документације; + +\item Ејтан Гурари [\textenglish{Eitan Gurari}], чији Ñе ÑиÑтем + \TeX4ht употребљава да Ñе направе верзије ове документације у \HTML{} + формату, и који је Ñваке године неуморно радио на уÑавршавању Ñвог + програма. Ејтан је прерано преминуо у јуну 2009. и ми поÑвећујемо ову + документацију уÑпомени на њега; + +\item Ð¢Ð¾Ð¼Ð°Ñ Ð•Ñер [\textgerman{Thomas Esser}], без чијег Ñјајног + \teTeX{} пакета \TL{} никада не би поÑтојао; + +\item Павел ЈаковÑки [\textpolish{Pawe{\l} Jackowski}], за развој + инÑталационог програма за \Windows{} по имену \cmdname{tlpm}, и Томаш + Лужак [\textpolish{Tomasz {\L}uczak}] за програм \cmdname{tlpmgui}, + који Ñу Ñе кориÑтили у ранијим издањима; + +\item Ðкира Какуто [\textenglish{Akira Kakuto}], зато што је Ñтавио + на раÑполагање верзије програма за \Windows{} из Ñвоје диÑтрибуције + \acro{W32TEX} за јапанÑки \TeX\ (\url{http://w32tex.org}), као и за + велики Ð´Ð¾Ð¿Ñ€Ð¸Ð½Ð¾Ñ Ñ€Ð°Ð·Ð²Ð¾Ñ˜Ñƒ многих елемената \TL{}-a; + +\item Ðонатан Кју [\textenglish{Jonathan Kew}], зато што је развио + изузетни дериват \XeTeX{} и зато што је одвојио време и Ñнагу да га + уклопи у \TL{}, као и за почетну верзију инÑталера за Mac\TeX\ и за + рад на Ñпецијализованом едитору \TeX{}works, који Ñада препоручујемо + као окружење за рад; + +\item Рајнхард Котуха [\textgerman{Reinhard Kotucha}], за велики + Ð´Ð¾Ð¿Ñ€Ð¸Ð½Ð¾Ñ Ð½Ð° развоју инфраÑтруктуре и инÑталационог програма за \TL{} + 2008, као и за многа иÑтраживања на пољу \Windows{}-а, за Ñкрипту + \texttt{getnonfreefonts}, и још много тога; + +\item Дик Коч [\textenglish{Dick Koch}], за одржавање Mac\TeX-а + (\url{http://tug.org/mactex}) у теÑној Ñарадњи Ñа \TL{} тимом, као и + за Ñвој непреÑушни ентузијазам током рада; + +\item Си\char"0304 п Кроненберг [\textdutch{Siep Kroonenberg}], + за велики Ð´Ð¾Ð¿Ñ€Ð¸Ð½Ð¾Ñ Ñƒ раду на инфраÑтруктури и инÑталационом програму + за \TL{} 2008, поÑебно на \Windows{}-у, као и за велики рад на + проширивању овог приручника како би Ñе те нове могућноÑти опиÑале; + +\item Хеико Оберди\char"0304 к [\textdutch{Heiko Oberdiek}], за пакет + \pkgname{epstopdf} и за многе друге пакете, за компреÑију огромних + \pkgname{pst-geo} фајлова Ñа подацима тако да Ñмо могли да их + укључимо у диÑтрибуцију, и изнад Ñвега, за његов изузетни рад на + \pkgname{hyperref} пакету; + +\item Петр Олшак [\textczech{Petr OlÅ¡ak}], који је веома пажљиво + прегледао цео чешки и Ñловачки материјал и координиÑао рад да Ñе он + направи; + +\item Тошио Ошима [\textenglish{Toshio Oshima}], за његов + \cmdname{dviout} приказивач за \Windows{}; + +\item Мануел Перугје-Гонар [\textfrench{Manuel Pégourié-Gonnard}], за + помоћ на оÑвежавању пакета, Ñтално унапређивање документације, као и + за развој програма \cmdname{texdoc}; + +\item Ð¤Ð°Ð±Ñ€Ð¸Ñ ÐŸÐ¾Ð¿Ð¸Ð½Ð¾ [\textfrench{Fabrice Popineau}], за првобитну + подршку за \Windows{} у \TL{}-у и за рад на француÑкој верзији + документације; + +\item Ðорберт Прајнинг [\textgerman{Norbert Preining}], зато што је + био главни архитекта инфраÑтруктуре и инÑталационог програма за \TL{} + 2008, као и за координацију верзије \TL{}-а за Debian, заједно Ñа + Франком КиÑтером [\textgerman{Frank Küster}], као и за многе добре + Ñавете током тог рада; + +\item СебаÑтијан Рац [\textgerman{Sebastian Rahtz}], зато што је + Ñтворио \TL{} и одржавао га много година; + +\item Фил Тејлор [\textenglish{Phil Taylor}], зато што је омогућио + да Ñе \TL{} преузима преко \textenglish{BitTorrent} ÑиÑ\-тема; + +\item Томаш Тжечак [\textpolish{Tomasz Trzeciak}], за Ñвеобухватну + помоћ везану за \Windows{}; + +\item Хан Те Танг [Hà n The\char"0302\char"0301\ Thà nh], Мартин Шредер + [\textgerman{Martin Schröder}] и pdf\TeX\ тим + (\url{http://pdftex.org}) за непреÑтани рад на проширивању могућноÑти + \TeX-а; + +\item Ð¥Ð°Ð½Ñ Ð¥Ð°Ñ…ÐµÐ½ [\textdutch{Hans Hagen}], за велики поÑао теÑтирања + Ñвог \ConTeXt\ формата (\url{http://pragma-ade.com}) и зато што је + омогућио да он ради у оквиру \TL-а; + +\item Хартмут Хенкел [\textgerman{Hartmut Henkel}], за значајни + Ð´Ð¾Ð¿Ñ€Ð¸Ð½Ð¾Ñ Ð½Ð° развоју pdf\TeX-а, Lua\TeX-а, и још много тога; + +\item Тако Хукватер [\textdutch{Taco Hoekwater}], зато што је обновио + развој MetaPost-а и за рад на [Lua]\TeX-у (\url{http://luatex.org}), + за напоре на укључивању \ConTeXt-а у \TL, зато што је омогућио + \textenglish{multi-threading} у \KPS{} библиотеци, и још много тога. + +\end{itemize} + +Програме за подржане оперативне ÑиÑтеме Ñу припремили: +Еторе Ðлдрованди (\pkgname{i386-solaris}, \pkgname{x86\_64-solaris}), +Карл Бери [\textenglish{Karl Berry}] (\pkgname{i386-linux}), +Петер Брајтенлонер [\textgerman{Peter Breitenlohner}] + (\pkgname{x86\_64-linux}), +Ðлан БраÑло [\textfrench{Alan Braslau}] (\pkgname{amd64-kfreebsd}, + \pkgname{i386-kfreebsd}), +Кен Браун [\textenglish{Ken Brown}] (\pkgname{i386-cygwin}), +Олаф Вебер [\textenglish{Olaf Weber}] (\pkgname{mips-irix}), +Ð‘Ð¾Ñ€Ð¸Ñ Ð’ÐµÑ˜Ñ†Ð¼Ð°Ð½ [\textrussian{Ð‘Ð¾Ñ€Ð¸Ñ Ð’ÐµÐ¹Ñ†Ð¼Ð°Ð½}] (\pkgname{armel-linux}), +Владимир Волович (\pkgname{powerpc-aix}, \pkgname{sparc-solaris}), +Ðкира Какуто [\textenglish{Akira Kakuto}] (\pkgname{win32}), +Дик Коч [\textenglish{Dick Koch}] (\pkgname{universal-darwin}, + \pkgname{x86\_64-darwin}), +Ðикола Лечић (\pkgname{amd64-freebsd}, \pkgname{i386-freebsd}), +Мојца Миклавец (\pkgname{mipsel-linux}), +Ðорберт Прајнинг [\textgerman{Norbert Preining}] + (\pkgname{alpha-linux}), +Ð¢Ð¾Ð¼Ð°Ñ Ð¨Ð¼Ð¸Ñ† [\textgerman{Thomas Schmitz}] (\pkgname{powerpc-linux}). +ÐŸÑ€Ð¾Ñ†ÐµÑ ÐºÐ¾Ð¼Ð¿Ð°Ñ˜Ð»Ð¸Ñ€Ð°ÑšÐ° \TL{}-а опиÑан је на +\url{http://tug.org/texlive/build.html}. + +Ову документацију Ñу превели: +Сташек Ваврикевич [\textpolish{Staszek Wawrykiewicz}] (пољÑки), +Ð‘Ð¾Ñ€Ð¸Ñ Ð’ÐµÑ˜Ñ†Ð¼Ð°Ð½ [\textrussian{Ð‘Ð¾Ñ€Ð¸Ñ Ð’ÐµÐ¹Ñ†Ð¼Ð°Ð½}] (руÑки), Ђигод Ђијанг + [\textenglish{Jjgod Jiang}], ЂинÑонг Ðао + [\textenglish{Jinsong Zhao}], Јие Ванг [\textenglish{Yue Wang}] и + Хелин Гаи [\textenglish{Helin Gai}] (кинеÑки), +Ðикола Лечић (ÑрпÑки), +Марко Паланте \textitalian{[Marco Pallante]} (италијанÑки), +Мануел Пегурје-Гонар [\textfrench{Manuel Pégourié-Gonnard}] + (француÑки), +Петр Сојка [\textczech{Petr Sojka}] и Јан Буша [\textslovak{Ján + BuÅ¡a}] (чешки\slash Ñловачки), +Уве Цигенхаген [\textgerman{Uwe Ziegenhagen}] (немачки), +Интернет-Ñтраница Ñа документацијом за \TL{} је +\url{http://tug.org/texlive/doc.html}. + +Ðаравно, најважнија захвалница мора ићи Доналду Кнуту [Donald Knuth], +најпре зато што је изумео \TeX, а потом зато што га је поклонио Ñвету. + + +\section{ИÑторија издања\char"0304} +\label{sec:history} + +\subsection{ПрошлоÑÑ‚} + +Крајем 1993. године у ХоландÑком удружењу кориÑника\char"0304\ +\TeX{}-а Ñе, током рада на пројекту 4All\TeX{} \CD{} (намењеног +кориÑницима \acro{MS-DOS}-а), појавила идеја да Ñе можда може +направити јединÑтвени \CD{} за Ñве ÑиÑтеме. То је био преамбициозан +циљ за оно време; ипак, идеја не Ñамо што је дала подÑтрек да Ñе +доврши рад на иначе веома уÑпешном 4All\TeX{} \CD{} пројекту, него је +из ње произашла и радна група названа Технички Ñавет \acro{TUG}-а +(Удружења кориÑника\char"0304\ \TeX{}-а) која је радила на +\emph{Ñтруктури \TeX{} директоријума} (\emph{\TeX{} +\textenglish{Directory Structure}} --- \url{http://tug.org/tds}); +група је оÑмиÑлила како да Ñе направи конзиÑтентна и употребљива +колекција помоћних \TeX{} фајлова. Целовит нацрт \TDS{}-а објављен је +у децембарÑком издању чаÑопиÑа \textsl{TUGboat} из 1995. и већ на том +раном Ñтадијуму било је јаÑно да би такву Ñтруктуру требало Ñледити и +на \CD{}-у. ДиÑтрибуција \TL{} која је пред Вама предÑтавља директан +резултат преданоÑти те радне групе. Такође је било јаÑно да је уÑпех +4All\TeX{} \CD{}-а показао да кориÑници Unix-а могу имати кориÑти од +тако функционалног ÑиÑтема, и управо ова идеја предÑтавља други +главни мотив за рад на \TL-у. + +Предузели Ñмо прве кораке да направимо такав \TDS{} \CD{} који би +радио на Unix-у на јеÑен 1995. и брзо Ñмо Ñхватили да је \teTeX{} +ТомаÑа ЕÑера [\textgerman{Thomas Esser}] Ñавршена полазна тачка, +пошто је он већ имао подршку за више оперативних ÑиÑтема и пошто је +био направљен узимајући у обзир преноÑивоÑÑ‚ у погледу организације +фајлова које ти ÑиÑтеми кориÑте. Ð¢Ð¾Ð¼Ð°Ñ Ñе Ñложио да помогне и +озбиљан рад је почео почетком 1996. Прво издање објављено је у мају +иÑте године. Почетком 1997, Карл Бери [\textenglish{Karl Berry}] је +објавио ново издање ÑиÑтема \Webc{}, које је укључивало готово Ñве +могућноÑти које је Ð¢Ð¾Ð¼Ð°Ñ Ð•Ñер већ убацио у \teTeX, и тако Ñмо +одлучили да Ñе друго издање \CD{}-а базира на Ñтандардном \Webc-у, уз +додатак Ñкрипте \texttt{texconfig} из \teTeX-а. Треће издање \CD{}-а +заÑнивало Ñе на темељно прерађеној верзији \Webc{}-a (7.2), коју је +урадио Олаф Вебер [\textenglish{Olaf Weber}]; иÑтовремено је урађена +и нова верзија \teTeX-а, а \TL{} је укључио Ñкоро Ñве његове +могућноÑти. Четврто издање Ñледило је иÑти Ñмер, укључивало је нову +верзију \teTeX-а и ново издање \Webc{}-а (7.3). СиÑтем је овог пута +имао и потпуну подршку за \Windows{}. + +За пето издање (март 2000) многи делови \CD{}-а Ñу редизајнирани и +темељније теÑтирани, а биле Ñу укључене и нове верзије више Ñтотина +пакета. Подаци о пакетима Ñпаковани Ñу у \acro{XML} фајлове. Ипак, +највећа промена у \TeX\ Live~5 била је то што Ñу уклоњени Ñви +програми који ниÑу рађени у Ñкладу Ñа идејом Ñлободног Ñофтвера. +Ðаиме, намера је била да од тада Ñве у \TL{}-у буде у ÑаглаÑноÑти Ñа +Debian-овим упутÑтвима за Ñлободни Ñофтвер (\textenglish{Debian Free +Software Guidelines} --- \url{http://www.debian.org/intro/free}); +учинили Ñмо Ñве што је тада било у нашој моћи да проверимо лиценце +Ñвих пакета; били биÑмо веома захвални ако Ð½Ð°Ñ Ð¸Ð·Ð²ÐµÑтите о било којој +грешци коју Ñмо направили. + +ШеÑто издање (јул 2001) Ñадржавало је још више оÑвеженог материјала. +Главна промена био је нов инÑталациони концепт: кориÑник од Ñада може +да изабере много одређенији Ñкуп колекција које Ñу му потребне. +Језичке колекције биле Ñу комплетно преуређене за ово издање: избор +неке од њих од тада не значи да Ñе Ñамо инÑталирају одговарајући +макрои, фонтови итд, него да Ñе уз то припреми и одговарајући +\texttt{language.dat}. + +Седмо издање из 2002. укључивало је велики новитет у облику подршке +за \MacOSX{}, и већ уобичајено огромни број оÑвежења Ñвих врÑта +пакета и програма. Један од најважнијих циљева овог издања била је и +поновна интеграција ко\char"0302 да Ñа \teTeX-ом како би Ñе +елиминиÑао раÑкорак направљен у верзијама 5~и~6. + +\subsubsection{2003} + +2003. године, уÑлед непреÑтаног прилива измена и допуна, Ñхватили Ñмо +да је \TL{} толико нараÑтао да више није могао да Ñтане на један \CD, +тако да Ñмо га поделили на три одвојене диÑтрибуције (погледајте +одељак~\ref{sec:tl-coll-dists}, ÑÑ‚Ñ€.~\pageref{sec:tl-coll-dists}). Уз +то, + +\begin{itemize*} +\itemsep=.5em +\item Према захтеву развојног тима \LaTeX{}-а променили Ñмо + Ñтандардне команде \cmdname{latex} и \cmdname{pdflatex} тако да од + Ñада кориÑте \eTeX{} (в.~ÑÑ‚Ñ€.~\pageref{text:etex}). +\item Укључени Ñу нови \textenglish{Latin Modern} фонтови и + препоручени за употребу. +\item Укинута је подршка за Alpha \acro{OSF} (подршка за \acro{HPUX} + је укинута још раније), зато што нико није имао нити био Ñпреман да + уÑтупи хардвер на којем биÑмо компајлирали нове верзије + програма\char"0304. +\item ИнÑталација за \Windows{} је измењена из корена; по први пут + Ñмо укључили интегриÑано окружење заÑновано на \prog{XEmacs}-у. +\item Верзије важних помоћних програма за \Windows{} (Perl, + Ghost\-script, Image\-Magick, Ispell) Ñада Ñу укључене у Ñтандардну + инÑталацију \TL{}-а. +\item Фонт-мапе које кориÑте \cmdname{dvips}, \cmdname{dvipdfm} и + \cmdname{pdftex} Ñада Ñе праве помоћу новог програма по имену + \cmdname{updmap} и инÑталирају Ñе у \dirname{texmf/fonts/map}. +\item \TeX{}, \MF{} и \MP{} Ñада, оÑим ако није другачије подешено, + упиÑују већину унеÑених знакова (Ñа \acro{ASCII} ко\char"0302 дом 32 + и даље) као такве у излазне фајлове (нпр. \verb|\write|), + лог-фајлове и на терминал, тј. \emph{непреведене} уз помоћ нотације + \verb|^^|. У \TL{}~7, овај превод је завиÑио од језичких подешавања у + ÑиÑтему (тзв. „\textenglish{locale}“); Ñада језичка подешавања немају + утицај на понашање \TeX{} програма\char"0304. Ðко Вам је из неког + разлога потребан излаз прерађен помоћу \verb|^^|, проÑто промените + име фајла \verb|texmf/web2c/cp8bit.tcx|. (У будућим издањима ова + процедура ће бити упрошћена.) +\item Ова документација је темељно прерађена. +\item Коначно, пошто Ñу бројеви у ознаци верзије поÑтали непрактични + за употребу, верзија је Ñада проÑто изједачена Ñа годином: + \TL{}~2003. +\end{itemize*} + + +\subsubsection{2004} + +2004. године деÑиле Ñу Ñе многе промене: + +\begin{itemize} + +\item Ðко имате приватно инÑталиране фонтове који кориÑте Ñвоје + ÑопÑтвене \filename{.map} или (много мање вероватно) \filename{.enc} + помоћне фајлове, може Ñе деÑити да ћете морати да те фајлове + уклоните. + + \filename{.map} фајлови Ñе Ñада, оÑим дуж путање + \envname{TEXFONTMAPS}, траже иÑкључиво у директоријумима иÑпод + \dirname{fonts/map} (тј. у Ñваком \filename{texmf} Ñтаблу). Слично, + \filename{.enc} фајлови Ñе Ñада, оÑим дуж путање \envname{ENCFONTS}, + траже иÑкључиво у директоријумима иÑпод \dirname{fonts/enc}. + \cmdname{updmap} ће покушати да изда неко упозорење ако наиђе на + проблематичне фајлове. + + УпутÑтва о томе како да Ñе поÑтупа Ñа овим и другим подацима налазе + Ñе на \url{http://tug.org/texlive/mapenc.html}. + +\item \TK\ је проширен инÑталациониом \CD-ом базираним на \MIKTEX-у, + за оне који више воле ту имплементацију него \Webc. Погледајте + одељак~\ref{sec:overview-tl} (ÑÑ‚Ñ€.~\pageref{sec:overview-tl}). + +\item Унутар \TL-а, једно велико \dirname{texmf} Ñтабло из претходних + издања замењено је Ñа три: \dirname{texmf}, \dirname{texmf-dist} и + \dirname{texmf-doc}. Погледајте одељак~\ref{sec:tld} + (ÑÑ‚Ñ€.~\pageref{sec:tld}) и фајлове по имену \filename{README} у + Ñваком од њих. + +\item Сви улазни фајлови који Ñе одноÑе на \TeX\ Ñада Ñу прикупљени у + поддиректоријум \dirname{tex} у Ñваком \dirname{texmf*} дрвету; они + Ñу Ñе раније налазили у одвојеним Ñродним директоријумима + \dirname{tex}, \dirname{etex}, \dirname{pdftex}, \dirname{pdfetex}, + итд. Погледајте + \CDref{texmf-dist/doc/generic/tds/tds.html\#Extensions}% + {\texttt{texmf-dist/doc/generic/tds/tds.html\#Extensions}}. + +\item Помоћне Ñкрипте (\textenglish{helper scripts}) --- за које + није предвиђено да их покрећу Ñами кориÑници --- Ñада Ñу Ñмештене у + нове поддиректоријуме по имену \dirname{scripts} у Ñваком + \dirname{texmf*} дрвету, и могу Ñе пронаћи помоћу + \verb|kpsewhich -format=texmfscripts|. То значи да треба да + поправите подешавања у програмима који позивају такве Ñкрипте, ако + их имате. Погледајте + \CDref{texmf-dist/doc/generic/tds/tds.html\#Scripts}% + {\texttt{texmf-dist/doc/generic/tds/tds.html\#Scripts}}. + +\item Скоро Ñви формати оÑтављају већину Ñлова одштампаним каква јеÑу + преко „фајла Ñа преводом“ \filename{cp227.tcx}; некада Ñу их + преводили помоћу \verb|^^| нотације. ПоÑебно, Ñлова на позицијама + 32--256, „\textenglish{tab}“, „\textenglish{vertical tab}“ и + „\textenglish{form feed}“ Ñада Ñе Ñматрају приказивим + (\textenglish{printable}) не преводе Ñе. Изузетак предÑтављају + формати везани за чиÑти (\textenglish{plain}) \TeX\ (Ñамо Ñе 32--126 + могу штампати), за \ConTeXt\ (0--255 Ñу принтабилни) и за програм + \OMEGA. Ово подразумевано понашање је Ñкоро иÑто као у \TL~2003, али + је реализовано на много чиÑтији начин, Ñа више могућноÑти за накнадна + подешавања. Погледајте \CDref{texmf/doc/web2c/web2c.html\#TCX-files}% + {\texttt{texmf/doc/web2c/web2c.html\#TCX-files}}. (Узгред, ако је + улаз по \textenglish{Unicode} Ñтандарду, може Ñе деÑити да \TeX\ + избаци непотпуне низове знакова када показује контекÑÑ‚ грешке, пошто + ради Ñамо Ñа појединачним бајтовима.) + +\item \textsf{pdfetex} је Ñада подразумевани програм за Ñве формате + изузев за чиÑти (\textenglish{plain}) \textsf{tex}. (Ðаравно, он + прави \acro{DVI} када ради као \textsf{latex}, итд.) Ово између + оÑталог значи да Ñу микротипографÑке могућноÑти \textsf{pdftex}-а + доÑтупне и у \LaTeX-у, \ConTeXt-у, итд; иÑто важи и за могућноÑти + \eTeX-а (\OnCD{texmf-dist/doc/etex/base/}). + + То такође значи да је важније него икада раније да Ñе кориÑти пакет % emph! + \pkgname{ifpdf} (који ради и Ñа чиÑтим \TeX-ом и Ñа \LaTeX-ом) или + неки Ñличан ко\char"0302 д, зато што проÑто теÑтирање да ли + \cs{pdfoutput} или нека примитива (\textenglish{primitive}) ниÑу + дефиниÑани није поуздан начин да Ñе одреди да ли је излаз који Ñе + Ñтвара уједно и у \acro{PDF} формату. Ове године Ñмо подеÑили да ово + понашање буде компатибилно Ñа ранијим верзијама колико Ñмо могли, али + Ñледеће године Ñе може деÑити да \cs{pdfoutput} буде дефиниÑан чак и + ако Ñе прави \acro{DVI}. + +\item pdf\TeX\ (\url{http://pdftex.org}) има много нових могућноÑти: + +\begin{itemize*} + + \item \cs{pdfmapfile} и \cs{pdfmapline} омогућавају да Ñе барата + фонт-мапама из Ñамог документа. + + \item Олакшана је употреба микротипографÑког проширења фонтова + (\textenglish{font expansion}).\\ + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} + + \item Сви параметри који Ñу Ñе раније подешавали у поÑебном + конфигурационом фајлу \filename{pdftex.cfg} Ñада Ñе морају + подешавати путем примитива\char"0304, обично у фајлу + \filename{pdftexconfig.tex}; укинута је подршка за + \filename{pdftex.cfg}. Сви поÑтојећи \filename{.fmt} фајлови + морају да Ñе прераде кад год Ñе \filename{pdftexconfig.tex} промени. + + \item Више информација о Ñвему овоме можете пронаћи у приручнику за + pdf\TeX: \OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf}. + + \end{itemize*} + +\item Примитива \cs{input} у програму \cmdname{tex} (као и у + \cmdname{mf} и у \cmdname{mpost}) Ñада прихвата аргументе Ñа дуплим + наводницима који Ñадрже размаке и друге Ñпецијалне знаке. Типични + примери: +\begin{verbatim} +\input "име фајла Ñа размацима" % plain +\input{"име фајла Ñа размацима"} % latex +\end{verbatim} + \Webc{} приручник Ñадржи много више информација о овоме: + \OnCD{texmf/doc/web2c}. + +\item \Webc{} Ñада укључује и подршку за enc\TeX\ (а тиме и за Ñве + \TeX\ програме) путем опције \optname{-enc}, али \emph{Ñамо када + Ñе праве фајлови Ñа форматима}. enc\TeX\ подржава Ñвеобухватно мењање + кодног раÑпореда улаза и излаза, омогућујући на тај начин пуну + подршку за \textenglish{Unicode} (у \acro{UTF}-8 кодном раÑпореду). + Погледајте \OnCD{texmf-dist/doc/generic/enctex/} и + \url{http://www.olsak.net/enctex.html}. + +\item У диÑтрибуцији је Ñада доÑтупан Aleph, програм који комбинује + \eTeX\ и \OMEGA. Кратка документација Ñе може наћи у + \OnCD{texmf-dist/doc/aleph/base} и на Ñтраници + \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph}. Aleph + формат заÑнован на \LaTeX-у назива Ñе \textsf{lamed}. + +\item Ðајновије издање \LaTeX-а Ñадржи нову верзију \acro{LPPL} + лиценце --- која је Ñада званично одобрена од Ñтране Debian-а. Што Ñе + тиче других новоÑти везаних за ову облаÑÑ‚, погледајте фајл + \filename{ltnews} у \OnCD{texmf-dist/doc/latex/base}. + +\item У диÑтрибуцију је укључен \cmdname{dvipng}, нови програм за + претварање \acro{DVI} фајлова у \acro{PNG} Ñлике. Погледајте + \OnCD{texmf/doc/man/man1/dvipng.1}. + +\item Скуп фонтова који припадају пакету \pkgname{cbgreek} Ñвели Ñмо + на „Ñредњу“ величину, уз приÑтанак и Ñавет аутора, Клаудија + Бекарија\textitalian{[Claudio Beccari]}. ИÑкључили Ñмо невидљиве, + провидне и „оцртане“ (\textenglish{outlined}) фонтове; они Ñе веома + ретко кориÑте а нама је проÑтор био преко потребан. Цела колекција је + наравно и даље доÑтупна преко \acro{CTAN}-a + (\url{http://mirror.ctan.org/tex-archive/fonts/greek/cb}). + +\item \cmdname{oxdvi} је уклоњен; умеÑто њега проÑто кориÑтите + \cmdname{xdvi}. + +\item Линкови \cmdname{ini} и \cmdname{vir} за команде \cmdname{tex}, + \cmdname{mf} и \cmdname{mpost} више Ñе не праве (као нпр. + \cmdname{initex}). ФункционалноÑÑ‚ команде \cmdname{ini} била је + доÑтупна путем опције \optname{-ini} годинама уназад. + +\item Укинута је подршка за платформу \textsf{i386-openbsd}. Пошто је + пакет \pkgname{tetex} доÑтупан преко портова на \acro{BSD} ÑиÑтемима + и пошто Ñмо имали Ñпремљене верзије програма\char"0304\ за + \acro{GNU/}Linux и Free\acro{BSD}, били Ñмо мишљења да Ñе време + волонтера\char"0304\ могло боље употребити за неке друге Ñтвари. + +\item Ðа платформи \textsf{sparc-solaris} (можда и другде) може бити + неопходно да подеÑите ÑиÑтемÑку променљиву + \envname{LD\_LIBRARY\_PATH} како би програми из пакета + \pkgname{t1utils} могли да раде. Ово Ñе деÑило зато што Ñе они + компајлирају помоћу C++, а на том ÑиÑтему нема Ñтандардне локације за + библиотеке које програми кориÑте док раде. (Ово није ново у верзији + 2004, али није било документовано у претходним издањима.) Слично, на + платформи \textsf{mips-irix}, неоходни Ñу \acro{MIPS}pro 7.4 радне + библиотеке. + +\end{itemize} + +\subsubsection{2005} + +Издање из 2005. објављено је, као и увек, Ñа великим бројем измена на +пакетима и програмима. ИнфраÑтруктура је оÑтала релативно непромењена +у одноÑу на 2004. годину. Ðеизбежно, понешто је морало другачије да +Ñе уради: + +\begin{itemize} +\itemsep=.5em + +\item Уведене Ñу нове Ñкрипте \cmdname{texconfig-sys}, + \cmdname{updmap-sys} и \cmdname{fmtutil-sys}; оне мењају + конфигурацију у ÑиÑтемÑким директоријумима. Скрипте + \cmdname{texconfig}, \cmdname{updmap} и \cmdname{fmtutil} Ñада + прерађују фајлове Ñпецифичне за кориÑника; ти фајлови Ñу Ñмештени у + \dirname{$HOME/.texlive2005}. + +\item У Ñкладу Ñа тим, уведене Ñу и одговарајуће нове променљиве + \envname{TEXMFCONFIG} и \envname{TEXMFSYSCONFIG}; оне одређују + директоријуме у којима Ñе налазе конфигурациони фајлови (кориÑнички + или ÑиÑтемÑки). Стога Ñе може деÑити да треба да премеÑтите личне + верзије фајлова \filename{fmtutil.cnf} и \filename{updmap.cfg} на та + нова меÑта; друга могућноÑÑ‚ је да у \filename{texmf.cnf} промените + вредноÑти \envname{TEXMFCONFIG} или \envname{TEXMFSYSCONFIG}. У + Ñваком Ñлучају, Ñтварни положај ових фајлова и вредноÑти променљивих + \envname{TEXMFCONFIG} и \envname{TEXMFSYSCONFIG} морају да Ñе Ñлажу. + Погледајте одељак~\ref{sec:texmftrees}, + ÑÑ‚Ñ€.~\pageref{sec:texmftrees}. + +\item Прошле године Ñмо задржали \verb|\pdfoutput| и друге примитиве +које ниÑу дефиниÑане за \dvi\ излаз, чак и ако Ñе кориÑти +\cmdname{pdfetex}. Ове године, као што Ñмо обећали, повукли Ñмо ту +меру компатибилноÑти. Дакле, ако Ваш документ кориÑти +\verb|\ifx\pdfoutput\undefined| да уÑтанови да ли Ñе прави \acro{PDF} +као излаз, морате да промените тај теÑÑ‚. Можете да за ту Ñврху +употребите пакет \pkgname{ifpdf.sty} (који ради и под чиÑтим \TeX-ом +и под \LaTeX-ом) или да позајмите логику из његовог ко\char"0302 да. + +\item Прошле године Ñмо променили већину формата тако да иÑпиÑују + (8-битне) знакове као такве (погледајте претходни одељак). Ðови + \acro{TCX} фајл \filename{empty.tcx} Ñада омогућава лакши начин да Ñе + добије оригинална \verb|^^| нотација ако је желите, на пример: +\begin{verbatim} +latex --translate-file=empty.tcx yourfile.tex +\end{verbatim} + +\item У диÑтрибуцију је Ñада укључен нови програм \cmdname{dvipdfmx} + који преводи \acro{DVI} у \acro{PDF}; ово је надоградња програма + \cmdname{dvipdfm} која иза Ñебе има активну групу програмера (Ñтари + програм је за Ñада још увек доÑтупан, премда га не препоручујемо). + +\item Укључени Ñу нови програми \cmdname{pdfopen} и + \cmdname{pdfclose}: они омогућавају да Ñе \filename{.pdf} фајлови + изнова учитају у приказивачу \textenglish{Adobe Acrobat Reader} без + поновног покретања програма. (Други pdf читачи, пре Ñвега + \cmdname{xpdf}, \cmdname{gv} и \cmdname{gsview}, никада ниÑу имали + овај проблем.) + +\item Ради доÑледноÑти, имена променљивих \envname{HOMETEXMF} и + \envname{VARTEXMF} промењена Ñу у \envname{TEXMFHOME} и + \envname{TEXMFSYSVAR}. Ту је такође и \envname{TEXMFVAR}, за коју је + предвиђено да буде Ñпецифична за појединог кориÑника. Погледајте прву + Ñтавку у овом ÑпиÑку. + +\end{itemize} + + +\subsubsection{2006--2007} + +Током 2006. и 2007. главни додатак \TL{}-у био је програм \XeTeX{}, +доÑтупан путем команди \texttt{xetex} и \texttt{xelatex}; погледајте +\url{http://scripts.sil.org/xetex}. + +Такође, значајно је обновљен и унапређен програм \MP{}, уз велике +планове за будућноÑÑ‚ (\url{http://tug.org/metapost/articles}); +наÑтављен је и развој pdf\TeX{}-а +(\url{http://tug.org/applications/pdftex}). + +\TeX-ов \filename{.fmt} (\textenglish{high-speed format}) и Ñлични +фајлови за \MP\ и \MF\ Ñада Ñу Ñмештени у директоријуме унутар +\dirname{texmf/web2c} умеÑто у Ñа\char"0302 м тај директоријум +(премда Ñе тај директоријум и даље претражује, зарад поÑтојећих +\filename{.fmt} фајлова). Поддиректоријуми Ñу названи према +програмима (врÑтама \TeX{}-а) који Ñу у употреби, као што Ñу +\filename{tex}, \filename{pdftex} или \filename{xetex}. Ова промена +не би требало да буде видљива у Ñвакодневној употреби. + +(ЧиÑти) \texttt{tex} програм више не чита прву линију која почиње Ñа +\texttt{\%\&} како би одредио који формат да покрене; \texttt{tex} је +Ñада чиÑти кнутовÑки \TeX. (\LaTeX\ и Ñви други и даље читају линије +Ñа \texttt{\%\&}.) + +Ðаравно, и ове године Ñмо, као и обично, унели Ñтотине надоградњи +Ñвих пакета и програма. Као и увек, молимо Ð’Ð°Ñ Ð´Ð° проверите да ли +поÑтоје нове верзије на \acro{CTAN}-у (\url{http://mirror.ctan.org}). + +Што Ñе тиче интерног рада програмерÑког тима, развојно дрво \TL{}-а +Ñе Ñада држи под контролом ÑиÑтема \textenglish{Subversion}, Ñа +уобичајеним веб-интерфејÑом за прегледање ко\char"0302 да; можете +доћи до одговарајућих Ñтраница преко наше уводне Интернет-Ñтране. +Премда није оÑтавила много видљивих трагова у коначном издању из ове +године, очекујемо да ће ова промена обезбедити Ñтабилан развојни +темељ за године које долазе. + +Коначно, у мају 2006. Ð¢Ð¾Ð¼Ð°Ñ Ð•Ñер [\textgerman{Thomas Esser}] је +објавио да више неће радити на te\TeX{}-у +(\url{http://tug.org/tetex}). Директна поÑледица овог потеза било је +огромно интереÑовање за \TL{}, поÑебно међу \GNU/Linux +диÑтрибуцијама. (У \TL{}-у Ñада поÑтоји нова инÑталациона шема +\texttt{tetex}, која даје приближни еквивалент.) Ðадамо Ñе да ће Ñе +ово у једном тренутку преточити у побољшање квалитета \TeX\ окружења +за Ñве кориÑнике. + + +\subsubsection{2008} + +2008. године цела инфраÑтруктура \TL{}-а је редизајнирана и иÑпиÑана +иÑпочетка. Сви подаци о инÑталацији Ñада Ñу Ñмештени у текÑтуалном +фајлу \filename{tlpkg/texlive.tlpdb}. + +Између оÑталог, ово је коначно омогућило да Ñе инÑталција \TL{}-а +оÑвежава преко Интернета након почетног Ñмештања на диÑк, што је +функционалноÑÑ‚ коју је MiK\TeX\ имао пре много година. Очекујемо да +кориÑницима редовно Ñтављамо на раÑполагање нове пакете чим Ñе објаве +на \CTAN-у. + +У диÑтрибуцију је укључен важан нови дериват Lua\TeX\ +(\url{http://luatex.org}); поред новог нивоа флекÑибилноÑти у +припреми текÑта, он уводи и Ñјајан језик за пиÑање команди у облику +Ñкрипте (\textenglish{scripting language}), који може да Ñе кориÑти и +унутар и ван \TeX\ докумената. + +Подршка за \Windows{} и платформе заÑноване на Unix-у Ñада је много +униформнија. Ðарочито је битно то што је Ñада већина Ñкрипти које Ñу +напиÑане у језицима Perl и Lua Ñада доÑтупна и на \Windows{}-у зато +што Ñе Perl диÑтрибуира у оквиру \TL-а. + +Ðова Ñкрипта \cmdname{tlmgr} (одељак~\ref{sec:tlmgr}) Ñада предÑтавља +општи Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÑ˜Ñ Ð·Ð° одржавање \TL{}-а поÑле почетне инÑталације. Она +барата новим верзијама пакета\char"0304\ и води рачуна о одговарајућим +прерадама фајлова Ñа форматима, мапама (\textenglish{map files}), +фајловима везаним за поједине језике, уз могућноÑÑ‚ да Ñе укључе и +локални додаци. + +Пошто Ñада имамо на раÑполагању Ñкрипту \cmdname{tlmgr}, Ñве радње +(везане за прераду конфигурационих фајлова Ñа форматима и правилима +за прелом речи\char"0304) које је некада обављао програм +\cmdname{texconfig} Ñада Ñу иÑкључене. + +Програм за прављење индекÑа\char"0304\ \cmdname{xindy} +(\url{http://xindy.sourceforge.net/}) укључен је за већину подржаних +оперативних ÑиÑтема. + +Ðлатка \cmdname{kpsewhich} Ñада може да врати Ñве поготке за задати +фајл (опција \optname{--all}) или да ограничи поготке на задати +поддиректоријум (опција \optname{--subdir}). + +Програм \cmdname{dvipdfmx} Ñада има могућноÑÑ‚ да извуче податке о +виÑини и ширини текÑта (\textenglish{bounding box}) ако Ñе позове као +\cmdname{extractbb}; ово је била једна од поÑледњих могућноÑти које +је имао \cmdname{dvipdfm} а које ниÑу поÑтојале у +\cmdname{dvipdfmx}-у. + +Уклоњена Ñу алтернативна имена (алиаÑи) за фонтове +\filename{Times-Roman}, \filename{Helvetica} итд. Различити пакети +очекују различито понашање од тих имена (пре Ñвега очекују да имају +различите кодне раÑпореде), и није поÑтојао добар начин да Ñе ово +реши. + +Уклоњен је формат \pkgname{platex} како би Ñе разрешио конфликт око +имена Ñа потпуно незавиÑним јапанÑким \pkgname{platex}-ом; пакет +\pkgname{polski} Ñада предÑтавља главни оÑлонац за Ñве што Ñе тиче +пољÑког језика. + +Интерно, \web\ string pool фајлови Ñада Ñу компајлирани као бинарни +фајлови, како би Ñе олакшале надоградње. + +Коначно, промене које је увео Доналд Кнут [Donald Knuth] у Ñвом раду +„Дорада \TeX{}-а из 2008“ („\textenglish{\TeX\ tuneup of 2008}“) +укључене Ñу у ово издање. Погледајте +\url{http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}. + + +\subsubsection{2009} + +У издању из 2009, PDF је поÑтављен као подразумевани излазни формат +за Lua\AllTeX\ како би Ñе иÑкориÑтиле могућноÑти напредне Lua\TeX-ове +подршке за OpenType итд. Ðови програми названи \code{dviluatex} и +\code{dvilualatex} покрећу Lua\TeX\ Ñа излазом у DVI формату. +Интернет-Ñтраница Lua\TeX-а је \url{http://luatex.org}. + +Програм Omega и формат Lambda Ñу уклоњени, након диÑкуÑије Ñа +ауторима пројекта Omega. У диÑтрибуцији Ñу оÑтале надограђене верзије +Aleph-а и Lamed-а, као и алатке из пројекта Omega. + +Укључено је и ново издање AMS \TypeI\ фонтова, међу њима и +\textenglish{Computer Modern}: на тај начин је поÑтало доÑтупно +неколико промена облика\char"0304\ које је Кнут [Knuth] током +претходних година унео у изворни \MF\ ко\char"0302 д, а побољшан је и +„hinting“. Херман Цапф [\textgerman{Hermann Zapf}] је темељно +редизајнирао Ојлер [\textgerman{Euler}] фонтове (в. +\url{http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf}). У +Ñвим овим Ñлучајевима, метрика је оÑтала непромењена. +Интернет-Ñтраница фонтова Ðмеричког математичког друштва (AMS) је +\url{http://www.ams.org/tex/amsfonts.html}. + +У диÑтрибуцију Ñу укључене верзије новог графичког окружења +\TeX{}works за \Windows{} и Mac\TeX. Ðко желите да кориÑтите +\TeX{}works на другим оперативним ÑиÑтемима, погледајте +Интернет-Ñтраницу пројекта \url{http://tug.org/texworks}. \TeX{}works +је програм пиÑан за више платформи и инÑпириÑан је \MacOSX\ едитором +TeXShop, Ñа циљем да олакша Ñвакодневни рад у \TeX{}-у. + +Такође, укључене Ñу верзије графичког програма +\textenglish{Asymptote} за неколико оперативних ÑиÑтема. Он +интерпретира језик за опиÑивање цртежа\char"0304\ који личи на \MP, али +Ñа развијеном подршком за тродимензионалне пројекције и многим другим +могућноÑтима. Интернет-Ñтраница овог програма је +\url{http://asymptote.sourceforge.net}. + +ЗаÑебни програм \code{dvipdfm} замењен је \code{dvipdfmx}-ом; +\code{dvipdfmx} може да ради у поÑебном режиму компатибилноÑти ако Ñе +позове Ñа Ñтарим именом. \code{dvipdfmx} укључује подршку за кинеÑки, +јапанÑки и корејÑки (\acro{CJK}) и током година које Ñу прошле од +поÑледњег издања \code{dvipdfm}-а накупило Ñе много иÑправки. +Интернет-Ñтраница DVIPDFM$x$-а је +\url{http://project.ktug.or.kr/dvipdfmx}. + +Додати Ñу програми за платформе \pkgname{i386-cygwin} и +\pkgname{i386-netbsd}; поÑаветовани Ñмо да кориÑници Open\acro{BSD}-ја +добијају \TL{} преко Ñвог ÑиÑтема за пакете; такође, било је и тешкоћа +да Ñе направе програми који би имали шанÑу да раде на више од једног +издања тог оперативног ÑиÑтема. + +Још неколико малих промена: Ñада кориÑтимо компреÑију типа +\pkgname{xz}, која предÑтавља Ñтабилну замену за \pkgname{lzma} +(\url{http://tukaani.org/xz/}); знак |$| је Ñада дозвољен у именима +фајлова уколико то не доводи то поклапања Ñа именом неке поÑтојеће +променљиве; библиотека \KPS{} Ñада има подршку за +\textenglish{multi-threading} (неопходно за нову верзију програма +\MP{}); читаво компајлирање \TL{}-а Ñада Ñе заÑнива на ÑиÑтему +\textenglish{Automake}. + +Ðа крају, једна напомена везана за прошлоÑÑ‚: Ñва издања \TL{}-а, Ñа +допунÑким материјалом као што Ñу налепнице и омоти за \CD-ове, +доÑтупна Ñу на Ñтраници \url{ftp://tug.org/historic/systems/texlive}. + + +\subsubsection{2010} +\label{sec:2010news} % keep with 2010 + +У издању \TL{}-а из 2010. године подразумевана верзија \acro{PDF} +формата који праве разни програми поÑтављена је на 1.5; ово омогућава +бољу компреÑију докумената. Ова промена важи за Ñве \TeX\ програме +када им је задато да праве PDF, као и за \code{dvipdfmx}. Ðко желите +да вратите верзију на PDF~1.4, учитајте \LaTeX\ пакет по имену +\pkgname{pdf14} или подеÑите |\pdfminorversion=4|. + +pdf\AllTeX\ Ñада \emph{аутоматÑки} пребацује задати +\textenglish{Encapsulated PostScript} (EPS) фајл у PDF формат помоћу +пакета \pkgname{epstopdf}; иÑто важи и ако је учитан \LaTeX-ов +конфигурациони фајл \code{graphics.cfg} и ако је излаз подешен на +PDF. Стандардне опције Ñу подешене Ñа намером да елиминишу могућноÑÑ‚ +да Ñе неки ручно урађени PDF фајл Ñлучајно пребрише у том процеÑу, +али Ви Ñвеједно можете да Ñпречите да Ñе \code{epstopdf} учитава +Ñтављајући |\newcommand{\DoNotLoadEpstopdf}{}| (или |\def...|) пре +команде \cs{documentclass}. ИÑто тако, \code{epstopdf} Ñе не учитава +ако Ñе кориÑти пакет \pkgname{pst-pdf}. Више детаља о овим Ñтварима +можете пронаћи у документацији укљученој у пакет \pkgname{epstopdf} +(\url{http://ctan.org/pkg/epstopdf-pkg}). + +Још једна промена која има везе Ñа овим: Ñада је покретање малог +броја Ñпољних команди од Ñтране \TeX-a (путем \cs{write18}) +активирано у Ñтандардној инÑталацији. Ове команде Ñу: +\code{repstopdf}, \code{makeindex}, \code{kpsewhich}, \code{bibtex} и +\code{bibtex8}; ÑпиÑак је одређен у фајлу \code{texmf.cnf}. Ðко +радите у окружењу у коме морате да укинете покретање Ñвих таквих +Ñпољних команди, можете да иÑкључите одговарајућу опцију у +инÑталационом програму (погледајте одељак~\ref{sec:options}) или да +промените вредноÑÑ‚ након инÑталације помоћу команде +|tlmgr conf texmf shell_escape 0|. + +Промена која Ñледи из претходне две јеÑте то што ће \BibTeX\ и +Makeindex Ñада, у Ñтандардној конфигурацији, одбити да упиÑују Ñвоје +излазне фајлове у произвољни директоријум (као и Ñа\char"0302 м +\TeX). Ова промена је уведена да би Ñе иÑкориÑтила могућноÑÑ‚ да Ñе +\cmdname{bibtex} и \cmdname{makeindex} додају на лиÑту дозвољених +команди путем \cs{write18}; из поменутих разлога оне Ñу у тај ÑпиÑак +и укључене. Ðко желите да промените ово подразумевано понашање, +можете да дефинишете ÑиÑтемÑку променљиву \envname{TEXMFOUTPUT} или +да промените параметар |openout_any|. + +\XeTeX\ Ñада подржава микротипографÑке ефекте (\textenglish{margin +kerning}) на иÑти начин као pdf\TeX. (Проширивање фонтова +[\textenglish{font expansion}] тренутно није подржано.) + +У Ñтандардној конфигурацији, \prog{tlmgr} Ñада прави по једну +резервну копију (бекап) за Ñваки надограђени пакет (\code{tlmgr +option autobackup 1}), тако да Ñе пакети чије оÑвежавање не уÑпе могу +лако повратити у радно Ñтање помоћу \code{tlmgr restore}. Ðко +надограђујете пакете поÑле инÑталације а немате проÑтора на диÑку за +резервне копије, покрените команду \code{tlmgr option autobackup 0}. + +У \TL{} Ñу укључени неки нови програми: p\TeX\ и алатке повезане Ñа +њим, Ñпецијализовани за припрему текÑта на јапанÑком језику; програм +\BibTeX{}U који уводи подршку за \textenglish{Unicode} у \BibTeX; +алатка \prog{chktex} (\url{http://baruch.ev-en.org/proj/chktex}) која +проверава иÑправноÑÑ‚ \AllTeX\ докумената; програм за пребацивање из +DVI у SVG векторÑки формат (\url{http://dvisvgm.sourceforge.net}). + +Додате Ñу верзије програма\char"0304\ за пет нових платформи: +\code{amd64-freebsd}, \code{amd64-kfreebsd}, \code{i386-freebsd}, +\code{i386-kfreebsd}, \code{x86\_64-darwin} и \code{x86\_64-solaris}. + +Једна промена из \TL{} 2009 коју Ñмо пропуÑтили да евидентирамо: +бројни програми везани за \TeX4ht\ (\url{http://tug.org/tex4ht}) +Ñклоњени Ñу из директоријума Ñа извршним фајловима. Програм +\code{mk4ht} Ñада покрива Ñве могуће \code{tex4ht} комбинације. + +Ðа нашу велику жалоÑÑ‚, издање \TL{}-а на \TK\ \DVD-ју више не може да +Ñе покреће „живо“ (\textenglish{live}): \DVD\ као медиј проÑто више +није довољно велики. У томе има, међутим, и једна уÑпутна предноÑÑ‚: +инÑталација Ñа \DVD-ја је Ñада много бржа. + + +\subsubsection{2011} + +Издање \TL{}-a из 2011. године донело је релативно мало промена. + +Програми за \MacOSX\ (\code{universal-darwin} и \code{x86\_64-darwin}) +Ñада раде Ñамо на ÑиÑтему \textenglish{Leopard} и на новијим издањима; +\textenglish{Panther} и \textenglish{Tiger} ниÑу више подржани. + +Укључен је програм за обраду библиографија \code{biber}; поÑтоје +верзије за Ñве уобичајене оперативне ÑиÑтеме. Развој овог Ñофтвера је +теÑно повезан Ñа пакетом \code{biblatex}. \code{biber} поÑтавља на +нове оÑнове библиографÑке могућноÑти које поÑтоје у \LaTeX{}-у. + +Програм \MP\ (\code{mpost}) више не прави и не кориÑти \code{.mem} +фајлове. Ðеопховни фајлови, као што је \code{plain.mp}, напроÑто Ñе +изнова читају Ñваки пут када Ñе програм покрене. Ова промена везана је +за подршку \MP-а као библиотеке, што је још једна значајна, премда за +кориÑнике невидљива промена. + +Имплементација програма \code{updmap} у програмÑком језику Perl, +која је раније била у употреби Ñамо на \Windows-у, Ñада је прерађена +и Ñтављена у употребу на Ñвим платформама. Ова промена не би требало +да буде видљива за кориÑнике, оÑим што ће од Ñада програм радити много +брже. + + +% +\htmlanchor{news} +\subsection{Тренутно Ñтање} +\label{sec:tlcurrent} + +\code{tlmgr} Ñада може да обавља надоградње кориÑтећи неколико +репозиторијума на Интернету упоредо. О овоме можете да прочитате +више у документацији \TL\ менаџера (\code{tlmgr help}). + +Подразумевана вредноÑÑ‚ параметра \cs{XeTeXdashbreakstate} Ñада је~1 +(и за \code{xetex} и за \code{xelatex}). То значи да ће Ñе линије +ломити поÑле Ñредњих и великих црта\char"0304\ +(\textenglish{em-dash} и \textenglish{en-dash}), као што је увек био +Ñлучај у чиÑтом \TeX-у, \LaTeX-у, Lua\TeX-у, итд. У поÑтојећим \XeTeX\ +документима у којима је неопходно задржати потпуну компатибилноÑÑ‚ по +питању ломљења линије иза црте морате изричито да подеÑите вредноÑÑ‚ +\cs{XeTeXdashbreakstate} на~0. + +Фајлови које праве \code{pdftex} и \code{dvips} (између оÑталих) Ñада +могу да буду већи од 2 гигабајта. + +35 Ñтандардних \PS фонтова Ñада Ñе уграђују у Ñве фајлове које прави +\code{dvips}, зато што Ñе појавило много разних верзија ових +„Ñтандардних“ фонтова. + +У режиму рада \cs{write18} (у коме је дозвољено покретање Ñамо малог +броја Ñпољних команди), још једна команда додата је у повлашћени ÑпиÑак +у Ñтандардној инÑталацији: \code{mpost}. + +Фајл \code{texmf.cnf} Ñе Ñада може пронаћи и у +\filename{../texmf-local}, тј. преко +\filename{/usr/local/texlive/texmf-local/web2c/texmf.cnf} (ако поÑтоји). + +Скрипта \code{updmap} Ñада чита \code{updmap.cfg} у Ñваком дрвету +умеÑто Ñамо једну глобалну конфигурацију. Ова промена нема никаквих +практичних поÑледица за кориÑнике који ниÑу директно мењали +\code{updmap.cfg} фајлове. Више информација можете пронаћи у +документацији Ñкрипте \code{updmap} (покрените \code{updmap --help}). + +Додате Ñу нове платформе \pkgname{armel-linux} и +\pkgname{mipsel-linux}; платформе \pkgname{sparc-linux} и +\pkgname{i386-netbsd} удаљене Ñу из главне диÑтрибуције \TL-а, али +програме за ове платформе (као и за велики број других) и даље је +могуће инÑталирати помоћу поÑтупка опиÑаног на Ñтраници +\url{http://tug.org/texlive/custom-bin.html}. + + +\subsection{БудућноÑÑ‚} + +\emph{\TL{} није Ñавршен!} (И никада неће ни бити.) Ðамера нам је да +наÑтавимо да издајемо нове верзије, да пружимо више помоћног +материјала, више алатки, више инÑталационих програма и (наравно) још +боље подешену и теÑтирану Ñтруктуру макроа и фонтова, који Ñе Ñа +Ñвоје Ñтране непреÑтано уÑавршавају. Сав овај рад обављају волонтери +у Ñвом Ñлободном времену, тако да поÑла увек има на претек. Стога Ð’Ð°Ñ +позивамо да поÑетите Ñтраницу +\url{http://tug.org/texlive/contribute.html}. + +Молимо Ð’Ð°Ñ Ð´Ð° шаљете иÑправке, предлоге и понуде за помоћ на: +\begin{quote} +\email{tex-live@tug.org} \\ +\url{http://tug.org/texlive} +\end{quote} + +\medskip +\noindent \textsl{Срећно \TeX-овање!} + +% ---------------------------------------------------------------------- +\vfill +\noindent\rule{\linewidth}{.4pt} + +\bigskip +\noindent\centering\begin{minipage}[b]{.8\textwidth} +\scriptsize + +\begin{english} +Permission is granted to copy, distribute and/or modify this translation +under the terms of the adapted version of \mbox{FreeBSD} documentation +licence. + +\smallskip +\url{http://www.gnu.org/licenses/license-list.html#FreeDocumentationLicenses}\\ +\url{http://www.freebsd.org/copyright/freebsd-doc-license.html} +\end{english} + +\smallskip +ДиÑтрибуција овог превода дозвољена је под уÑловима прилагођене +варијанте FreeBSD Documentation License. TекÑÑ‚ лиценце je прилагођен +техничким карактериÑтикама ове документације. + +\bigskip +\begin{english} +Serbian translation of \emph{\TeX\ Live Guide: \TL{} 2012}.\\ +Copyright © 2010, 2011, 2012 Nikola LeÄić (the translator). + +\smallskip +Redistribution and use in source (\XeLaTeX\ code) and `compiled' +forms (XDV, SGML, HTML, PDF, PostScript, RTF and so forth) with or +without modification, are permitted provided that the following +conditions are met: + +\begin{itemize} +\parskip=0pt +\itemsep=.1em + +\item Redistributions of source code (\XeLaTeX\ code) must retain the + above copyright notice, this list of conditions and the following + disclaimer as the first lines of the source file unmodified. + +\item Redistributions in compiled form (transformed to other DTDs, + converted to PDF, HTML, PostScript, RTF and other formats) must + reproduce the above copyright notice, this list of conditions and + the following disclaimer in the documentation and/or other materials + provided with the distribution. +\end{itemize} + +THIS DOCUMENTATION IS PROVIDED BY THE TRANSLATOR ``AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE TRANSLATOR BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +\end{english} +\end{minipage} +% ---------------------------------------------------------------------- + +\end{document} diff --git a/Master/texmf-dist/doc/texlive/texlive-zh-cn/Makefile b/Master/texmf-dist/doc/texlive/texlive-zh-cn/Makefile new file mode 100644 index 00000000000..54edd60add4 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-zh-cn/Makefile @@ -0,0 +1,23 @@ +# $Id$ +# Makefile for TeX Live documentation. Public domain. +TEX = xelatex +doc = texlive-zh-cn +source = $(doc).tex +pdf = $(doc).pdf + +all: $(pdf) + +env = TEXINPUTS=../texlive-common:../texlive-en:; export TEXINPUTS; + +$(pdf): $(source) tex-live-zh-cn.sty + $(env) $(TEX) $< + $(env) $(TEX) $< + +clean: + rm -f *.aux *.log *.blg *.toc *.out *.lot tex4ht.ps *.4* + rm -f *.xref* *.lg *.idv *.out *.otc *.tmp tmp.* + rm -f $(doc).dvi $(doc).ps + +realclean: clean + rm -f $(doc).pdf + rm -f *.html *.htm $(doc).css *.gif *.jpg diff --git a/Master/texmf-dist/doc/texlive/texlive-zh-cn/README-live.ZH-CN b/Master/texmf-dist/doc/texlive/texlive-zh-cn/README-live.ZH-CN new file mode 100644 index 00000000000..29191a6a5d4 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-zh-cn/README-live.ZH-CN @@ -0,0 +1,25 @@ +TeX Live Guide Translation (Simplified Chinese) +=============================================== + +To compile live.tex, you need: + +1. Xe(La)TeX (and related packages like fontspec) 0.9995+ +(a recent version is bundled with TeX Live). + +2. xeCJK macro package. + +3. We use the following fonts: + + AR PL UMing + AR PL UKai [1] + Droid Sans Fallback [2] + + They can be retrieved here: + [1] http://www.freedesktop.org/wiki/Software/CJKUnifonts/Download + [2] http://android.git.kernel.org/?p=platform/frameworks/base.git;a=tree;f=data/fonts;hb=HEAD + +4. make + +5. If you have any problems, please contact: + gzjjgod at gmail dot com + diff --git a/Master/texmf-dist/doc/texlive/texlive-zh-cn/tex-live-zh-cn.sty b/Master/texmf-dist/doc/texlive/texlive-zh-cn/tex-live-zh-cn.sty new file mode 100644 index 00000000000..cf6d597105a --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-zh-cn/tex-live-zh-cn.sty @@ -0,0 +1,35 @@ +% Import the original tex-live.sty from texlive-en +\def\Status{1} + +% Chinese support (with XeTeX 0.9995+) +\RequirePackage{xeCJK} +\parindent=20pt +\defaultfontfeatures{Mapping=tex-text} +\setCJKmainfont[BoldFont=Droid Sans Fallback, ItalicFont=AR PL UKai CN]{AR PL UMing CN} +\setCJKmonofont[Scale=0.9]{AR PL UKai CN} +\setCJKfamilyfont{song}[BoldFont=Droid Sans Fallback]{AR PL UMing CN} +\setCJKfamilyfont{sf}[BoldFont=Droid Sans Fallback]{Droid Sans Fallback} + +\RequirePackage{tex-live} + +\renewcommand\contentsname{目录} +\renewcommand\listfigurename{æ’图列表} +\renewcommand\listtablename{è¡¨æ ¼åˆ—è¡¨} +\renewcommand\refname{å‚考文献} +\renewcommand\indexname{索引} +\renewcommand\figurename{图} +\renewcommand\tablename{表} +\renewcommand\partname{部分} +\renewcommand\appendixname{附录} +\renewcommand\abstractname{摘è¦} +\setlength{\parskip}{5pt} + +% Fix for xeCJK: xeCJK will remove all spaces after Chinese, +% but it cannot add spaces between Chinese and \Url, that's +% why we need to add them here +% \renewcommand\path{ \begingroup \urlstyle{tt}\Url} +% \def\OnCD#1{ \href{../../../../#1}{\path{#1}}} +% \def\email#1{ \href{mailto:#1}{\path{#1}}} % \path comes from url +% \renewcommand\url{ \begingroup \Url} + +\endinput diff --git a/Master/texmf-dist/doc/texlive/texlive-zh-cn/texlive-zh-cn.pdf b/Master/texmf-dist/doc/texlive/texlive-zh-cn/texlive-zh-cn.pdf Binary files differnew file mode 100644 index 00000000000..6ff85630bcd --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-zh-cn/texlive-zh-cn.pdf diff --git a/Master/texmf-dist/doc/texlive/texlive-zh-cn/texlive-zh-cn.tex b/Master/texmf-dist/doc/texlive/texlive-zh-cn/texlive-zh-cn.tex new file mode 100644 index 00000000000..abb8acc13ab --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-zh-cn/texlive-zh-cn.tex @@ -0,0 +1,2788 @@ +% $Id$ +% TeX Live documentation. Originally written by Sebastian Rahtz and +% Michel Goossens, now maintained by Karl Berry and others. +% Translated by Jjgod Jiang <gzjjgod@gmail.com>, +% Jinsong Zhao <jinsong.zhao@gmail.com>, +% Yue Wang <yulewang@gmail.com> +% Helin Gai <helin.gai@gmail.com> +% Public domain. +% +\documentclass{article} +\let\tldocenglish=1 % for live4ht.cfg + +\usepackage{tex-live-zh-cn, indentfirst} + +\begin{document} + +\title{% + {\huge \textit{\TeX\ Live 指å—}\\\smallskip}% + {\LARGE \textsf{\TL{} 2012}} +} + +\author{Karl Berry 编写 \\[3mm] + \url{http://tug.org/texlive/} + } + +\date{2012 å¹´ 6 月} + +\maketitle + +\begin{multicols}{2} +\tableofcontents +%\listoftables +\end{multicols} + +\section{简介} +\label{sec:intro} + +\subsection{\TeX\ Live 与 \TeX\ Collection} + +本文档æè¿° \TL{} 软件的主è¦åŠŸèƒ½å’Œç‰¹æ€§ï¼Œ\TL{} 是 \TeX{} åŠå…¶ç›¸å…³ç¨‹åºåœ¨ +\acro{GNU}/Linux åŠå…¶ä»–ç±» Unix 系统ã€\MacOSX\ å’Œ Windows +系统下的一套å‘行版。 + +ä½ å¯ä»¥ç›´æŽ¥ä¸‹è½½ \TL{},也å¯ä»¥åœ¨ \TeX{} 用户组织给会员分å‘çš„ \TK{} +\DVD ä¸æ‰¾åˆ°ã€‚第~\ref{sec:tl-coll-dists}~节ä¸ï¼Œç®€è¦åœ°ä»‹ç»äº† +\DVD 的内容。这两套å‘行版都是用户组织共åŒå作完æˆçš„。 +这篇文档, 主è¦ä»‹ç» \TL{} 本身。 + +\TL{} 包括了 \TeX{}, \LaTeXe{}, \ConTeXt, \MF, \MP, \BibTeX{} +ç‰è®¸å¤šå¯æ‰§è¡Œç¨‹åºï¼›ç§ç±»ç¹å¤šçš„å®åŒ…ã€å—体和文档,并支æŒä¸–界上许多 +ä¸åŒçš„è¯è¨€ã€‚ + +文档末尾的第~\ref{sec:history}~节 (第~\pageref{sec:history}~页) +介ç»äº†è¿™ä¸€ç‰ˆ \TL{} çš„é‡è¦æ”¹å˜ã€‚ + +\htmlanchor{platforms} +\subsection{æ“作系统支æŒ} +\label{sec:os-support} + +\TL{} 为多ç§åŸºäºŽ Unix çš„å¹³å°æ供了å¯æ‰§è¡Œæ–‡ä»¶ï¼ŒåŒ…括 \GNU/Linux〠+\MacOSX{}ã€å’Œ Cygwin。它还包å«äº†æºä»£ç ,å¯ä¾›åœ¨æ²¡æœ‰æ +ä¾›å¯æ‰§è¡Œæ–‡ä»¶çš„å¹³å°ä¸Šç¼–译安装。 + +至于 Windows,\TL{} ä»…æ”¯æŒ Windows \acro{XP} 或åŽç»ç‰ˆæœ¬ã€‚ +Windows~2000 å¯èƒ½å¯ä»¥ç»§ç»å·¥ä½œã€‚æˆ‘ä»¬æ²¡æœ‰åŒ…å« 64 ä½çš„ Windows +å¯æ‰§è¡Œæ–‡ä»¶ï¼Œä¸è¿‡ 32 ä½çš„å¯æ‰§è¡Œæ–‡ä»¶ä¹Ÿèƒ½ 64 ä½çš„系统上æ£å¸¸è¿è¡Œã€‚ + +除了 \TL{} 以外,Windows å’Œ \MacOSX 用户还有其它的选择,请å‚考 +第~\ref{sec:tl-coll-dists}~节。 + +\subsection{\protect\TL{} 的基本安装} +\label{sec:basic} + +ä½ å¯ä»¥ä½¿ç”¨ \DVD{} æ–¹å¼æˆ–者网络方å¼æ¥å®‰è£… \TL{} +(\url{http://tug.org/texlive/acquire.html})。 +通过网络的安装程åºæœ¬èº«éžå¸¸å°ï¼Œå®ƒå¯ä»¥ä»Žç½‘ä¸Šä¸‹è½½æ‰€æœ‰çš„ä½ æ‰€è¦æ±‚的软 +件包。网络安装程åºå¯¹ä»…使用 \TL{} 一å°éƒ¨åˆ†çš„用户æ¥è¯´éžå¸¸é€‚宜。 + +\DVD{} 安装程åºå¯ä»¥æŠŠ \TL{} å®‰è£…åˆ°ä½ çš„æœ¬åœ°ç£ç›˜ä¸Šã€‚ä½ ä¸èƒ½ç›´æŽ¥ä»Ž \TK{} +\DVD{} (或者它的 \code{.iso} é•œåƒ) 上è¿è¡Œ \TL{}ï¼Œä½†ä½ å¯ä»¥åœ¨ä¸€ä¸ª \acro{USB} 盘上 +安装一套å¯ä»¥è¿è¡Œçš„版本 (å‚è§ \ref{sec:portable-tl})。安装方法将 +在下é¢çš„ç« èŠ‚ä»‹ç» (\p.\pageref{sec:install}),这里æ供一个快速入门: + +\begin{itemize*} + +\item 安装脚本的å称是 \filename{install-tl}。它å¯ä»¥åœ¨æŒ‡å®šäº† +\code{-gui=wizard} 选项的情况下以“å‘导â€æ¨¡å¼ (Windows 下的默认模å¼) +工作,或指定 \code{-gui=text} é€‰é¡¹ä»¥æ–‡æœ¬æ¨¡å¼ (其它系统下默认模å¼) +工作,还有一个专家 \GUI{} 模å¼å¯ä»¥é€šè¿‡ \code{-gui=perltk} 选项å¯ç”¨ã€‚ + +\item 安装完æˆåŽå¯ä»¥å¾—到一个å为 \prog{tlmgr} 的程åºï¼š`\TL\ Manager'。 +和安装程åºä¸€æ ·ï¼Œå®ƒå¯ä»¥åœ¨ \GUI{} 模å¼æˆ–文本模å¼ä¸‹è¿è¡Œã€‚ä½ ä¸ä½†å¯ä»¥ç”¨å®ƒ +æ¥å®‰è£…或å¸è½½è½¯ä»¶åŒ…,还å¯ä»¥ç”¨æ¥å®Œæˆå„ç§é…置工作。 + +\end{itemize*} + + +\subsection{获得帮助} +\label{sec:help} + +\TeX{} 社群是活跃而å‹å¥½çš„ï¼Œå‡ ä¹Žæ‰€æœ‰è®¤çœŸçš„æ问都能得到回ç”。尽管如æ¤ï¼Œè¿™ç§ç”±å¿—愿者 +和业余读者组æˆçš„技术支æŒä»ç„¶æ˜¾å¾—ä¸å¤ªæ£å¼ï¼Œæ‰€ä»¥ï¼Œåœ¨æé—®å‰æœ€å¥½åšå¥½åŠŸè¯¾ã€‚(å¦‚æžœä½ æ›´å–œæ¬¢ +有ä¿éšœçš„商业性技术支æŒï¼Œå¯ä»¥æ”¾å¼ƒ \TL{},改为è´ä¹°å•†ä¸š \TeX{} 系统,在 +\url{http://tug.org/interest.html#vendors} 上有一份销售商的列表。) + +按照推è使用的顺åºï¼Œæˆ‘ä»¬åˆ—å‡ºäº†è¿™æ ·ä¸€ä»½èµ„æºåˆ—表: + +\begin{description} +\item [èµ·æ¥] å¦‚æžœä½ åˆšåˆšæŽ¥è§¦ \TeX,\url{http://tug.org/begin.html} +这个网页æ供了这个系统的简çŸä»‹ç»ã€‚ + +\item [\TeX{} \acro{FAQ}] 这套庞大的 \TeX{} \acro{FAQ} 对å„ç§å„æ ·çš„ +问题——从最基础到最晦涩的——都给予了简明的回ç”,它在 \TL{} çš„ +\OnCD{texmf-dist/doc/generic/FAQ-en/html/index.html},也å¯ä»¥åœ¨ +\url{http://www.tex.ac.uk/faq} 网站上找到。有问题时请先看看这里能å¦æ‰¾ +到解ç”。 + +\item [\TeX{} Catalogue] å¦‚æžœä½ åœ¨å¯»æ‰¾æŸä¸ªç‰¹å®šçš„å®åŒ…ã€å—体ã€ç¨‹åºç‰ç‰ï¼Œ\TeX{} +Catalogue å°±æ˜¯ä½ é¦–å…ˆè¯¥æ‰¾çš„åœ°æ–¹ã€‚è¿™é‡Œæ˜¯æ‰€æœ‰ \TeX{} 相关内容的一个巨大集åˆã€‚å‚è§ +\url{http://mirror.ctan.org/help/Catalogue/}。 + +\item [\TeX{} 网上资æº] \url{http://tug.org/interest.html}~页é¢ä¸Šæœ‰ +许多和 \TeX{} 相关的链接,包括讨论这个系统方方é¢é¢çš„许多书ç±ã€æ‰‹å†Œå’Œæ–‡ç« 。 + +\item [支æŒä¿¡æ¯çš„å½’æ¡£] 最é‡è¦çš„两个技术支æŒè®ºå›æ˜¯ Usenet 的新闻组 +\url{news:comp.text.tex} 和邮件列表 \email{texhax@tug.org}。它们的内容 +å½’æ¡£ä¸æœ‰å¤šå¹´ä»¥æ¥çš„æ问和回ç”ä¾›ä½ æœç´¢ã€‚ä½ å¯ä»¥åˆ†åˆ«ä»Ž \\ +\url{http://groups.google.com/groups?group=comp.text.tex} å’Œ \\ +\url{http://tug.org/mail-archives/texhax} 进行查询。当然,一般性的æœç´¢ +æ–¹å¼ï¼Œæ¯”如用 \url{http://google.com} 找找,总没有å处。 + +\item [æé—®] å¦‚æžœä½ è¿˜æ˜¯æ‰¾ä¸åˆ°ç”案,就å¯ä»¥é€šè¿‡ Google æˆ–è€…ä½ çš„æ–°é—»ç»„é˜…è¯»å™¨åœ¨ +\dirname{comp.text.tex} 上æ问,或者å‘é€é‚®ä»¶åˆ° \email{texhax@tug.org}。 +ä¸è¿‡ï¼Œåœ¨æ问之å‰\emph{请一定}先阅读 \acro{FAQ} 上的这一æ¡ï¼š +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}, +它能æé«˜ä½ èŽ·å¾—å›žç”çš„å¯èƒ½æ€§ã€‚ +Also worth mentioning are the \LaTeX{} Community site at +å¦å¤–值得æ到的有ä½äºŽ \url{http://www.latex-community.org/} çš„ +\LaTeX{} Community å’Œå®ƒçš„è®ºå› +\url{http://www.latex-community.org/forum/} ä»¥åŠ +在 \url{http://tex.stackexchange.com/} çš„ \TeX\ StackExchange。 + +\item [\TL{} 技术支æŒ] å¦‚æžœä½ éœ€è¦æŠ¥å‘Š bug,或者æ出对 \TL{} çš„å‘è¡Œã€å®‰è£…或 +文档的建议和æ„è§ï¼Œå¯ä»¥ä½¿ç”¨ \email{tex-live@tug.org} 这个邮件列表。ä¸è¿‡ï¼Œå¦‚果问题 +是针对 \TL{} ä¸åŒ…å«çš„æŸä¸ªç‰¹å®šç¨‹åºï¼Œé‚£æœ€å¥½è¿˜æ˜¯å†™ä¿¡ç»™è¿™ä¸ªç¨‹åºçš„维护者或邮件列表。 +用 \code{-{}-help} å‚æ•°æ¥è¿è¡Œç¨‹åºéƒ½ä¸€èˆ¬èƒ½å¾—到用æ¥æŠ¥å‘Šå…¶ bug 的地å€ã€‚ + +\end{description} + +å¦ä¸€æ–¹é¢ï¼Œä½ 也ä¸å¦¨å¸®åŠ©å…¶ä»–有问题的朋å‹ï¼Œ\dirname{comp.text.tex} 与 +\code{texhax} 都是对所有人开放的,请尽管å‚ä¸Žè¿›åŽ»ï¼Œåœ¨ä½ èƒ½åŠ›æ‰€åŠçš„范围内æ供帮助。 + +% don't use \TL so the \uppercase in the headline works. Also so +% tex4ht ends up with the right TeX. Likewise the \protect's. +\section{\protect\TeX\protect\ Live 概览} +\label{sec:overview-tl} + +这个å°èŠ‚æ述的是 \TL{} 的内容,以åŠåŒ…å« \TL{} çš„ \TK{}。 + +\subsection{\TL, pro\TeX{}t, Mac\TeX\ 的大集åˆï¼š\TK} +\label{sec:tl-coll-dists} + +\TK{} çš„ \DVD{} 包å«äº†ä»¥ä¸‹å†…容: + +\begin{description} + +\item [\TL] 是一个完整的 \TeX{} 系统,它å¯ä»¥å®‰è£…在本 +地ç£ç›˜ä¸Šã€‚它的主页在 \url{http://tug.org/texlive/}。 + +\item [Mac\TeX] 在 \TL{} çš„åŸºç¡€ä¸Šå¢žåŠ äº†åŽŸç”Ÿçš„ \MacOSX\ 的安装程åºå’Œä¸€äº›å…¶å®ƒçš„ +Mac 应用程åºã€‚它的主页在 \url{http://tug.org/mactex/}。 + +\item [pro\TeX{}t] 是 Windows 下的 \MIKTEX\ å‘行版的一个增强版本。\ProTeXt\ 在 +\MIKTEX\ åŸºç¡€ä¸Šå¢žåŠ äº†ä¸€äº›å·¥å…·ï¼Œç®€åŒ–äº†å®‰è£…ã€‚å®ƒå®Œå…¨ç‹¬ç«‹äºŽ \TL{},有其 +自己的安装æ¥éª¤ã€‚\ProTeXt\ 的主页在 \url{http://tug.org/protext}。 + +\item [CTAN] 一份 \CTAN{} 仓库的快照 (\url{http://mirror.ctan.org})。 + +\item[\texttt{texmf-extra}] 一个æä¾›é¢å¤–çš„é…套软件包的目录。 + +\end{description} + +\CTAN{}, \pkgname{protext} å’Œ \dirname{texmf-extra} 并ä¸ä¸€å®šéµå¾ª \TL{} +的版æƒåè®®ï¼Œå› æ¤åœ¨åˆ†å‘或修改时è¦æ ¼å¤–地å°å¿ƒã€‚ + +\subsection{\TL{} 的顶层目录} +\label{sec:tld} + +这里是 \TL{} å‘行版顶层目录的一个简çŸçš„列表和æ述。 + +\begin{ttdescription} +\item[bin] \TeX{} 系统程åºï¼ŒæŒ‰å¹³å°ç»„织。 +% +\item[readme.html] 网页,æ供了多ç§è¯è¨€çš„简介和有用的链接。 +\item[readme-*.dir] \TL{} 多ç§è¯è¨€çš„简介和有用的链接,åŒæ—¶æœ‰ \HTML{} +和纯文本版本。 + +% +\item[source] 所有程åºçš„æºä»£ç ,包括主è¦çš„基于 \Webc{} çš„ \TeX{} + å‘行版。 +% +\item[texmf] è§ä¸‹æ–‡çš„ \dirname{TEXMFMAIN}。 +% +\item[texmf-dist] è§ä¸‹æ–‡çš„ \dirname{TEXMFDIST}。 +% +\item[tlpkg] 用æ¥ç»´æŠ¤å®‰è£…程åºæ‰€ç”¨åˆ°çš„脚本,程åºå’Œæ•°æ®ï¼Œä»¥åŠå¯¹ +Windows 的特殊支æŒã€‚ +\end{ttdescription} + +上述目录之外,安装脚本和 (多ç§è¯è¨€çš„) \filename{README} 文件也å˜æ”¾åœ¨å‘行版的顶层目录下。 + +至于文档,顶层目录下的 \OnCD{doc.html} 文件ä¸æ供的完整的链接会有帮助。 +程åºçš„文档 (手册,man page, Info 文件ç‰) 在 \dirname{texmf/doc} +ç›®å½•ä¸‹ï¼Œå› ä¸ºè¿™äº›ç¨‹åºæœ¬èº«æ˜¯å±žäºŽ \dirname{texmf} 目录的。\TeX\ å®åŒ…ä¸Žæ ¼å¼æ–‡ä»¶ +的文档则放在 \dirname{texmf-dist/doc} 目录。但ä¸ç®¡æ”¾åœ¨å“ªä¸ªåœ°æ–¹ï¼Œä½ 都å¯ä»¥ä½¿ç”¨ +\cmdname{texdoc} 程åºæ¥å¯»æ‰¾è¿™äº›æ–‡æ¡£ã€‚ + +\TL\ 本身的文档在 \dirname{texmf/doc/texlive} 目录下,有以下这些è¯è¨€çš„版本: + +\begin{itemize*} +\item{æ·å…‹/斯洛ä¼å…‹è¯:} \OnCD{texmf/doc/texlive/texlive-cz} +\item{å¾·è¯:} \OnCD{texmf/doc/texlive/texlive-de} +\item{英è¯:} \OnCD{texmf/doc/texlive/texlive-en} +\item{法è¯:} \OnCD{texmf/doc/texlive/texlive-fr} +\item{æ„大利è¯:} \OnCD{texmf/doc/texlive/texlive-it} +\item{波兰è¯:} \OnCD{texmf/doc/texlive/texlive-pl} +\item{ä¿„è¯:} \OnCD{texmf/doc/texlive/texlive-ru}a +\item{塞尔维亚è¯:} \OnCD{texmf/doc/texlive/texlive-sr} +\item{简体ä¸æ–‡:} \OnCD{texmf/doc/texlive/texlive-zh-cn} +\end{itemize*} + + +\subsection{预定义的 texmf ç›®å½•æ ‘æ¦‚è§ˆ} +\label{sec:texmftrees} + +本å°èŠ‚列出了系统ä¸ç”¨äºŽæŒ‡å®š texmf 目录的所有预定义å˜é‡åŠå…¶ç”¨é€”, +ä»¥åŠ \TL{} 的默认布局。\texttt{tlmgr~conf} å‘½ä»¤å¯ +以列出这些å˜é‡çš„å€¼ï¼Œè¿™æ ·ä½ å¯ä»¥å¾ˆå®¹æ˜“æ‰¾åˆ°å®ƒä»¬å’Œä½ æ‰€å®‰è£…åˆ°çš„ç›®å½• +å称的对应关系。 + +æ‰€æœ‰è¿™äº›ç›®å½•æ ‘ï¼ŒåŒ…æ‹¬ä¸ªäººçš„ï¼Œéƒ½åº”è¯¥éµå¾ª \TeX\ 目录结构 (\TDS, +\url{http://tug.org/tds}),包括其ä¸æ‰€æœ‰ç»†å°çš„å目录,å¦åˆ™æ–‡ä»¶å°± +å¯èƒ½æ‰¾ä¸åˆ°ã€‚第 \ref{sec:local-personal-macros} 节 (第 +\pageref{sec:local-personal-macros} 页) 有更详细的介ç»ã€‚ + +\begin{ttdescription} +\item [TEXMFMAIN] å˜å‚¨ç³»ç»Ÿæ ¸å¿ƒéƒ¨ä»¶çš„ç›®å½•æ ‘ï¼ŒåŒ…æ‹¬é…置文件ã€è¾…助 +脚本和程åºæ–‡æ¡£ã€‚ +\item [TEXMFDIST] å˜å‚¨ä¸»è¦çš„å®åŒ…ã€å—体ç‰ç‰ã€‚ +\item [TEXMFLOCAL] 系统管ç†å‘˜ç”¨æ¥å®‰è£…供整个系统使用的é¢å¤–的或更新过的å®åŒ…ã€å—体的目录。 +\item [TEXMFHOME] 给用户å˜æ”¾å®ƒä»¬è‡ªå·±ç‹¬ç«‹å®‰è£…çš„çš„å®åŒ…ã€å—体ç‰ç‰ã€‚ +这个å˜é‡æ ¹æ®ä¸åŒçš„用户选择ä¸åŒçš„主目录。 +\item [TEXMFCONFIG] ç»™ \verb+texconfig+ã€\verb+updmap+ã€å’Œ \verb+fmtutil+ +这些程åºå˜å‚¨ä¸ªäººä¿®æ”¹è¿‡çš„é…置文件。 +\item [TEXMFSYSCONFIG] ç»™ \verb+texconfig-sys+ã€\verb+updmap-sys+ å’Œ +\verb+fmtutil-sys+ 这些程åºå˜å‚¨ä¿®æ”¹è¿‡çš„全局文件. +\item [TEXMFVAR] 这个目录是给 \verb+texconfig+ã€\verb+updmap+ å’Œ + \verb+fmtutil+ å˜å‚¨ (缓å˜) æ ¼å¼æ–‡ä»¶ã€ç”Ÿæˆ map 文件这类è¿è¡Œæ—¶ä¸ªäººæ•°æ®çš„。 +\item [TEXMFSYSVAR] ç»™ \verb+texconfig-sys+ã€\verb+updmap-sys+ å’Œ +\verb+fmtutil-sys+ 还有 \verb+tlmgr+ è¿™å‡ ä¸ªå‘½ä»¤å˜å‚¨ã€ç¼“å˜è¿è¡Œæ—¶ä½¿ç”¨çš„æ ¼å¼æ–‡ä»¶å’Œ +生æˆçš„ map 文件,对整个系统都有效。 +\item [TEXMFCACHE] \ConTeXt\ Mk\acro{IV} 用æ¥ä¿å˜ (缓å˜çš„) è¿è¡Œæ—¶æ•°æ®çš„ç›®å½•æ ‘ã€‚ +\end{ttdescription} + +\noindent +默认的目录结构: +\begin{description} + \item[å…¨ç³»ç»Ÿæ ¹ç›®å½•] å¯ä»¥åŒ…å«å¤šä¸ª \TL{} 版本: + \begin{ttdescription} + \item[2011] 上一个版本。 + \item[2012] 当å‰ç‰ˆæœ¬ã€‚ + \begin{ttdescription} + \item [bin] ~ + \begin{ttdescription} + \item [i386-linux] \GNU/Linux 二进制文件 + \item [...] + \item [universal-darwin] \MacOSX\ 二进制文件 + \item [win32] Windows 二进制文件 + \end{ttdescription} + \item [texmf\ \ \ \ \ \ \ ] 这是 \envname{TEXMFMAIN}。 + \item [texmf-dist\ \ ] \envname{TEXMFDIST} + \item [texmf-var \ \ ] \envname{TEXMFSYSVAR} + \item [texmf-config] \envname{TEXMFSYSCONFIG} + \end{ttdescription} + \item [texmf-local] \envname{TEXMFLOCAL} 用æ¥å˜æ”¾åœ¨ä¸åŒç‰ˆæœ¬é—´å…±äº«çš„æ•°æ®ã€‚ + \end{ttdescription} + \item[用户主 (home) 目录] (\texttt{\$HOME} 或 + \texttt{\%USERPROFILE\%}) + \begin{ttdescription} + \item[.texlive2011] 给上个版本的,个人生æˆå’Œé…置的数æ®ã€‚ + \item[.texlive2012] 给这个版本的,个人生æˆå’Œé…置的数æ®ã€‚ + \begin{ttdescription} + \item [texmf-var\ \ \ ] \envname{TEXMFVAR}, \envname{TEXMFCACHE} + \item [texmf-config] \envname{TEXMFCONFIG} + \end{ttdescription} + \item[texmf] \envname{TEXMFHOME} 个人的å®åŒ…文件,ç‰ç‰ã€‚ + \textit{ç‰ç‰ã€‚} + \end{ttdescription} +\end{description} + + +\subsection{\protect\TeX\ 的扩展版本} +\label{sec:tex-extensions} + +原始的 Knuth \TeX{} 本身的开å‘å·²ç»å†»ç»“了,仅仅修改除去å‘现的 +æžå…¶å°‘é‡çš„错误。它在 \TL\ ä¸ä»ç„¶ä½œä¸º \prog{tex} 程åºå‡ºçŽ°ï¼Œåœ¨ +å¯è§çš„未æ¥ä¹Ÿä»ç„¶å¦‚æ¤ã€‚\TL{} 包括了一些建立在 \TeX\ 基础上的 +扩展程åºï¼š + +\begin{description} + +\item [\eTeX] 为 \TeX\ å¢žåŠ äº†ä¸€å¥—æ–°çš„åŽŸè¯ (primitive)。 +\label{text:etex} (包括å®å±•å¼€ï¼Œå—符扫æ,mark 的分类,é¢å¤–的调试功能,ç‰ç‰) +以åŠç”¨äºŽåŒå‘排版的 \TeXXeT{} 扩展模å¼ã€‚在默认模å¼ä¸‹ï¼Œ\eTeX{} 是与原始的 \TeX\ +100\% 兼容的。å‚è§ \OnCD{texmf-dist/doc/etex/base/etex_man.pdf}。 + +\item [pdf\TeX] 在 \eTeX\ 扩展的基础上构建,在 \dvi{} è¾“å‡ºä¹‹å¤–å¢žåŠ å¯¹ +\acro{PDF} 输出的支æŒï¼Œä»¥åŠè®¸å¤šå…¶ä»–的扩展。 +这是针对 \prog{etex}, \prog{latex} 或 \prog{pdflatex} è¿™äº›æ ¼å¼ä½¿ç”¨çš„缺çœç¨‹åºã€‚ +å¯ä»¥åœ¨ \OnCD{texmf/doc/pdftex/manual/samplepdf/samplepdf.tex} 找到展示部分功 +能的例å。 + +\item [Lua\TeX] 是 pdf\TeX\ 指定的åŽç»§è€…,而且对 pdf\TeX\ ä¿æŒå¤§éƒ¨åˆ† +(但ä¸æ˜¯å®Œå…¨åœ°) å‘ä¸‹å…¼å®¹ã€‚å®ƒä¹Ÿå¸Œæœ›åŒ…å« Aleph (è§åŽ) 的功能,尽管在技术 +上未必与它兼容。它内置的 Lua è¯è¨€è§£é‡Šå™¨ (\url{http://www.lua.org}) 为 +许多棘手的 \TeX{} 问题æ供了优雅的解决方案。 +当以 \filename{texlua} 命令执行时,它就åƒä¸€ä¸ªæ ‡å‡†çš„ Lua è§£é‡Šå™¨ä¸€æ ·å·¥ä½œï¼Œ +所以,Lua\TeX\ 在 \TL\ ä¸ä¹Ÿè¢«ä½œä¸º Lua 程åºçš„解释器。 +è§ \url{http://www.luatex.org} å’Œ \OnCD{texmf-dist/doc/luatex/luatexref-t.pdf}。 + +\item [Xe\TeX] é€šè¿‡ç¬¬ä¸‰æ–¹åº“ï¼Œå¢žåŠ å¯¹ Unicode 输入文本和 OpenType å—体的支æŒï¼Œ +能够直接使用系统å—体。å‚è§ \url{http://tug.org/xetex}。 + +\item [\OMEGA\ (Omega)] 基于 Unicode (16 ä½å—符集)ï¼Œå› è€ŒåŒæ—¶æ”¯æŒå¤„ç†ä¸–界上 +å‡ ä¹Žæ‰€æœ‰çš„è¯è¨€ã€‚它åŒæ—¶è¿˜æ”¯æŒæ‰€è°“çš„ `\OMEGA{} Translation Processes' (\acro{OTP}), +用于对任æ„输入进行å¤æ‚çš„å˜æ¢æ“作。Omega 现在已ç»ä¸ä½œä¸ºå•ç‹¬çš„程åºå‡ºçŽ°åœ¨ \TL{} +ä¸äº†ï¼›æ”¹ä¸ºåªæ”¯æŒ Aleph: + +\item [Aleph] å°† \OMEGA\ 与 \eTeX\ 扩展åˆå¹¶åˆ°ä¸€èµ·å¾—到的。 +å‚è§ \OnCD{texmf-dist/doc/aleph/base}。 + +\end{description} + + +\subsection{\protect\TL\ ä¸å…¶ä»–值得一æ的程åº} + +这里是在 \TL{} ä¸å…¶ä»–的一些常用程åºï¼š + +\begin{cmddescription} + +\item [bibtex, bibtex8] å‚考文献支æŒã€‚ + +\item [makeindex, xindy] 索引支æŒã€‚ + +\item [dvips] å°† \dvi{} 转æ¢ä¸º \PS{}。 + +\item [xdvi] X Window System 下的 \dvi{} 阅读器。 + +\item [dvilj] HP LaserJet 系列打å°æœºçš„ \dvi{} 驱动。 + +\item [dviconcat, dviselect] 从 \dvi{} 文件ä¸å¤åˆ¶å’Œç²˜è´´é¡µé¢ã€‚ + +\item [dvipdfmx] å°† \dvi{} 转æ¢ä¸º \acro{PDF},是 (å‰é¢æ到过的) +pdf\TeX\ 的一套替æ¢æ–¹æ¡ˆã€‚ + +\item [psselect, psnup, \ldots] \PS{} 实用程åºã€‚ + +\item [pdfjam, pdfjoin, \ldots] \acro{PDF} 实用程åºã€‚ + +\item [texexec, texmfstart] Con\TeX{}t å’Œ \acro{PDF} 处ç†å·¥å…·ã€‚ + +\item [tex4ht] \TeX{} 到 \acro{HTML} (还有 \acro{XML} ç‰å…¶ä»–æ ¼å¼) +的转æ¢å™¨ã€‚ + +\end{cmddescription} + + +\subsection{\TL\ ä¸çš„å—体} +\label{sec:tl-fonts} + +\TL{} ä¸åŒ…括了很多的高质é‡çŸ¢é‡å—体,å‚è§ \url{http://tug.org/fonts} å’Œ +\OnCD{texmf-dist/doc/fonts/free-math-fonts-survey}。 + +\htmlanchor{installation} +\section{安装} +\label{sec:install} + +\subsection{å¯åŠ¨å®‰è£…程åº} +\label{sec:inst-start} + +首先请找æ¥ä¸€å¼ \TK{} çš„ \DVD{},或者下载 \TL{} 的网络安装程åºï¼Œç„¶åŽ +找到这个安装脚本:Unix 下是 \filename{install-tl},Windows 下是 +\filename{install-tl.bat}。å‚è§ \url{http://tug.org/texlive/acquire.html} +以了解更多关于获得这个软件的信æ¯å’Œæ–¹æ³•ã€‚ + +\begin{description} +\item [网络安装程åºï¼š] 在 \CTAN çš„ \dirname{systems/texlive/tlnet} +目录下å¯ä»¥ä¸‹è½½ï¼Œ\url{http://mirror.ctan.org/systems/texlive/tlnet} 这个地å€èƒ½ +è‡ªåŠ¨å°†ä½ å¯¼å‘一个附近的ã€ä¿æŒæ›´æ–°çš„é•œåƒã€‚ä½ å¯ä»¥ä¸‹è½½åŒæ—¶æ”¯æŒ Unix å’Œ +Windows çš„ \filename{install-tl.zip} 或者å°å¾—多ã€ä½†åªæ”¯æŒ Unix çš„ +\filename{install-unx.tar.gz}。解压åŽï¼Œ\filename{install-tl} å’Œ +\filename{install-tl.bat} 就会出现在 \dirname{install-tl} å目录ä¸ã€‚ + +\item [\TeX{} Collection \DVD:] 打开 \DVD\ çš„ \dirname{texlive} 这个å目录。 +在 Windows 下安装程åºé€šå¸¸åœ¨æ’å…¥ \DVD åŽå°±è‡ªåŠ¨å¯åŠ¨äº†ã€‚è¦èŽ·å¾— \DVD çš„ +è¯å¯ä»¥åŠ 入一个 \TeX\ 用户组织 (推è这么åšï¼Œå‚è§ +\url{http://tug.org/usergroups.html}) 或是å•ç‹¬è´ä¹° (通过 +\url{http://tug.org/store}),åˆæˆ–者是自己从 \ISO\ é•œåƒåˆ»å½•ã€‚ +åœ¨å¤šæ•°ç³»ç»Ÿé‡Œä½ éƒ½å¯ä»¥ç›´æŽ¥æŒ‚载这个 \ISO{}。在从 \DVD\ 或者 \ISO{} 安装åŽï¼Œ +如果还希望从 Internet 获得æŒç»çš„更新,请看第 \ref{sec:dvd-install-net-updates} +节。 + +\end{description} + +ä¸ç®¡ä»Žå“ªé‡Œè½½å…¥ï¼Œæ‰§è¡Œçš„都是åŒä¸€ä¸ªå®‰è£…程åºã€‚两者最明显的区别是通过网络安装 +得到的当å‰å¯ç”¨çš„程åºåŒ…。这和和 \DVD\ 或者 \ISO\ é•œåƒåœ¨ä¸»ç‰ˆæœ¬ä¹‹é—´ä¸èƒ½æ›´æ–° +ä¸åŒã€‚ + +\noindent +下é¢çš„ç« èŠ‚ä»‹ç»æ›´è¯¦ç»†åœ°ä»‹ç»äº†å®‰è£…程åºçš„å¯åŠ¨ã€‚ + +\subsubsection{Unix} + +\filename{install-tl} 是一个 Perl 脚本。在 Unix 兼容的系统下å¯åŠ¨å®ƒæœ€ç®€å• +çš„æ–¹æ³•æ˜¯è¿™æ ·çš„ï¼š + +\begin{alltt} +> \Ucom{cd /path/to/installer} +> \Ucom{perl install-tl} +\end{alltt} +(æˆ–è€…ä½ å¯ä»¥ç›´æŽ¥è¿è¡Œ \Ucom{perl /path/to/installer/install-tl},或者 +\Ucom{./install-tl},如果这个文件有å¯æ‰§è¡Œå±žæ€§ï¼Œæˆ‘们ä¸ä¼šæŠŠæ‰€æœ‰è¿™äº›æ‰§ +行方法列出æ¥ã€‚) ä½ å¯èƒ½éœ€è¦æ‰©å¤§ç»ˆç«¯çª—å£çš„大å°æ‰èƒ½åœ¨ä¸€å±å†…显示完整的 +文本安装程åºç•Œé¢ (图~\ref{fig:text-main})。 + +è¦åœ¨ä¸“家 \GUI\ 模å¼ä¸‹å®‰è£… (è§å›¾~\ref{fig:gui-main})ï¼Œä½ éœ€è¦åŠ 入了 +\acro{XFT} 支æŒçš„ \dirname{Perl/TK}模å—,\GNU/Linux ä¸‹é€šå¸¸éƒ½æ˜¯è¿™æ ·ï¼Œ +但其他系统下å¯èƒ½ä¸æ˜¯ã€‚è¿™ç§æƒ…å†µä¸‹ï¼Œä½ å¯ä»¥è¿è¡Œï¼š +\begin{alltt} +> \Ucom{perl install-tl -gui} +\end{alltt} + +è¦åˆ—出所有这些选项: +\begin{alltt} +> \Ucom{perl install-tl -help} +\end{alltt} + +\textbf{关于 Unix 下æƒé™çš„è¦å‘Šï¼š} 在安装过程ä¸ï¼Œ\TL{} 安装程åºå°†ä¼š +éµç…§ä½ çš„ \code{umask} è¡Œäº‹ã€‚æ‰€ä»¥å¦‚æžœä½ éœ€è¦è®©ä½ 的安装能给其他用户使 +用,就必须ä¿è¯ä½ 设置的æƒé™è¶³å¤Ÿï¼Œæ¯”如 \code{umask 002}。更多关于 +\code{umask} çš„ä¿¡æ¯è¯·å‚è§ä½ 自己系统的文档。 + +\textbf{关于 Cygwin 的特殊考虑:} 和其他 Unix 兼容系统ä¸åŒï¼ŒCygwin +并没有包å«æ‰€æœ‰è¿è¡Œ \TL{} 安装程åºæ‰€å¿…须的程åºï¼Œè¯¦è§ç¬¬~\ref{sec:cygwin}~节。 + +\subsubsection{Mac OS X} + +如第~\ref{sec:tl-coll-dists}~节æ到的,我们给 \MacOSX 准备了一套独立的 +å‘行版,å«åš Mac\TeX\ (\url{http://tug.org/mactex})。我们推è使用原生的 +Mac\TeX\ 安装程åºï¼Œè€Œä¸æ˜¯ \TL\ è‡ªå¸¦çš„é‚£ä¸ªï¼Œå› ä¸ºåŽŸç”Ÿçš„å®‰è£…ç¨‹åºåšäº†ä¸€äº› +针对 Mac 的调整,尤其方便在多个 \MacOSX 下的 \TeX\ å‘行版 (Mac\TeX, Fink, +MacPorts, \ldots) 之间切æ¢ã€‚ + +Mac\TeX\ æ˜¯ä¸¥æ ¼ä¾èµ– \TL 构建的,所以主 \TeX\ æ ‘ä¹Ÿæ˜¯å®Œå…¨ä¸€è‡´çš„ã€‚ä¸è¿‡å®ƒæ·» +åŠ äº†ä¸€äº›ç”¨æ¥å˜æ”¾ Mac 专有文档和程åºçš„目录。 + +\subsubsection{Windows} + +å¦‚æžœä½ ä½¿ç”¨çš„æ˜¯ç½‘ç»œå®‰è£…ç¨‹åºï¼Œåˆæˆ–者 \DVD 安装程åºæ— 法自动å¯åŠ¨äº†ï¼Œè¯· +åŒå‡» \filename{install-tl.bat}ã€‚å¦‚æžœä½ éœ€è¦æ›´å¤šå®šåˆ¶é€‰é¡¹ï¼Œæ¯”如è¦é€‰æ‹© +特定的包集åˆï¼Œè¯·æ”¹ä¸ºè¿è¡Œ \filename{install-tl-advanced.bat}。 + +ä½ ä¹Ÿå¯ä»¥ä»Žå‘½ä»¤è¡Œæ示符下å¯åŠ¨å®‰è£…程åºã€‚ä¸‹é¢ \texttt{>} 表示的就是æ示符, +用户输入用 \Ucom{\texttt{bold}} ä½“è¡¨ç¤ºã€‚å¦‚æžœä½ æ£åœ¨å®‰è£…程åºç›®å½•ä¸‹ï¼Œåªéœ€è¦ +è¿è¡Œï¼š +\begin{alltt} +> \Ucom{install-tl} +\end{alltt} + +æˆ–è€…ä½ ä¹Ÿå¯ä»¥é€šè¿‡ç»å¯¹è·¯å¾„æ¥è¿è¡Œï¼Œæ¯”如: +\begin{alltt} +> \Ucom{D:\bs{}texlive\bs{}install-tl} +\end{alltt} +这是对 \TK\ \DVD 而言的,å‡å®š \dirname{D:} 是光驱。图~\ref{fig:wizard-w32} +展示了å‘导安装程åºï¼Œå®ƒæ˜¯ Windows 下的默认形å¼ã€‚ + +è¦åœ¨æ–‡æœ¬æ¨¡å¼ä¸‹å®‰è£…,使用: +\begin{alltt} +> \Ucom{install-tl -no-gui} +\end{alltt} + +è¦åˆ—出所有å¯ç”¨çš„选项: +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} + +\begin{figure}[tb] +\begin{boxedverbatim} +Installing TeX Live 2012 from: ... +Platform: i386-linux => 'Intel x86 with GNU/Linux' +Distribution: inst (compressed) +... + Detected platform: Intel x86 with GNU/Linux + + <B> platforms: 1 out of 19 + + <S> installation scheme (scheme-full) + 84 collections out of 85, disk space required: 2600 MB + + Customizing installation scheme: + <C> standard collections + <L> language collections + + <D> directories: + TEXDIR (the main TeX directory): + /usr/local/texlive/2012 + ... + + <O> options: + ... + + <V> set up for portable installation + +Actions: + <I> start installation to hard disk + <H> help + <Q> quit +\end{boxedverbatim} +\caption{文本安装程åºä¸»ç•Œé¢ (\GNU/Linux)}\label{fig:text-main} +\end{figure} + +\begin{figure}[tb] +\tlpng{install-lnx-main}{\linewidth} +\caption{ä¸“å®¶æ¨¡å¼ \GUI{} 安装程åºç•Œé¢ (\GNU/Linux)}\label{fig:gui-main} +\end{figure} + +\begin{figure}[tb] +\tlpng{wizard-w32}{\linewidth} +\caption{å‘导模å¼å®‰è£…程åºç•Œé¢ (Windows)}\label{fig:wizard-w32} +\end{figure} + + +\htmlanchor{cygwin} +\subsubsection{Cygwin} +\label{sec:cygwin} + +\TL{} 安装程åºåªæ”¯æŒ Cygwin 1.7。 +在开始安装之å‰ï¼Œè¯·å…ˆä½¿ç”¨ Cygwin çš„ \filename{setup.exe} 程åºå®‰è£… +\filename{perl} å’Œ \filename{wget} è½¯ä»¶åŒ…ï¼Œå¦‚æžœä½ è¿˜æ²¡è£…è¿‡ã€‚æ¤å¤– +还推è安装下列软件包: +\begin{itemize*} +\item \filename{fontconfig} [\XeTeX\ 需è¦] +\item \filename{ghostscript} [å„ç§å®žç”¨å·¥å…·éœ€è¦] +\item \filename{libXaw7} [\code{xdvi} 需è¦] +\item \filename{ncurses} [给安装程åºæä¾› \code{clear} 命令] +\end{itemize*} + +\subsubsection{文本界é¢å®‰è£…程åº} + +图~\ref{fig:text-main} 展示了 Unix 下文本模å¼çš„主界é¢ï¼Œè¿™æ˜¯ Unix +下安装程åºçš„默认界é¢ã€‚ + +这是一个完全用命令行æ“作的安装程åºï¼Œå®Œå…¨ä¸æ”¯æŒå…‰æ ‡ç§»åŠ¨ã€‚æ‰€ä»¥ä½ æ— æ³• +在多选框或者输入框之间用 Tab 上下切æ¢ï¼Œåªèƒ½åœ¨æ示符下输入特定的å—符 +(大å°å†™æ•æ„Ÿçš„) 然åŽæŒ‰ä¸‹ Enter,整个终端窗å£å°±ä¼šæŠŠæ–°çš„内容刷新出æ¥ã€‚ + +文本安装程åºä¹‹æ‰€ä»¥è¿™ä¹ˆç®€é™‹æ˜¯å› 为它è¦å°½å¯èƒ½æ”¯æŒæœ€å¤šçš„å¹³å°ï¼Œå°±ç®— +åªæœ‰ä¸€ä¸ª Perl 的系统也能è¿è¡Œå®ƒã€‚ + +\subsubsection{专家图形界é¢å®‰è£…程åº} + +图~\ref{fig:gui-main} 展示了 \GNU/Linux 下的专家图形界é¢å®‰è£…程åºã€‚ +除使用了按钮和èœå•ä»¥å¤–,这个和文本模å¼çš„安装程åºæ²¡ä»€ä¹ˆåŒºåˆ«ã€‚ + +这个模å¼å¯ä»¥é€šè¿‡ä¸‹é¢çš„命令手工å¯åŠ¨ï¼š +\begin{alltt} +> \Ucom{install-tl -gui=perltk} +\end{alltt} + +\subsubsection{简化的å‘导安装程åº} + +在 Windows 下,缺çœä¼šä½¿ç”¨æˆ‘们所支æŒçš„最简å•çš„安装方法,也就是“å‘导â€å®‰è£… +ç¨‹åº (图~\ref{fig:wizard-w32})。它会把所有东西都装上,ä¸æ任何问题。如果 +ä½ éœ€è¦å®šåˆ¶å®‰è£…,请è¿è¡Œå…¶ä»–的安装程åºã€‚ + +这个模å¼å¯ä»¥é€šè¿‡ä¸‹é¢çš„命令手工å¯åŠ¨ï¼š +\begin{alltt} +> \Ucom{install-tl -gui=wizard} +\end{alltt} + + +\subsection{执行安装程åº} +\label{sec:runinstall} + +安装程åºåº”该ä¸éœ€è¦æ–‡æ¡£å°±è¶³å¤Ÿæ˜Žç¡®ï¼Œä½†ä¸‹é¢è¿˜æ˜¯å¯¹è¿™äº›é€‰é¡¹å’Œåèœå•ä½œä¸€ç‚¹è¯´æ˜Žã€‚ + +\subsubsection{二进制系统èœå• (åªå¯¹ Unix 适用)} +\label{sec:binary} + +\begin{figure}[tb] +\begin{boxedverbatim} +Available platforms: +=============================================================================== + a [ ] alpha-linux DEC Alpha with GNU/Linux + b [ ] amd64-freebsd x86_64 with FreeBSD + c [ ] amd64-kfreebsd x86_64 with GNU/kFreeBSD + d [ ] armel-linux ARM with GNU/Linux + e [ ] i386-cygwin Intel x86 with Cygwin + f [ ] i386-freebsd Intel x86 with FreeBSD + g [ ] i386-kfreebsd Intel x86 with GNU/kFreeBSD + h [X] i386-linux Intel x86 with GNU/Linux + i [ ] i386-solaris Intel x86 with Solaris + j [ ] mips-irix SGI IRIX + k [ ] mipsel-linux mipsel with Linux + l [ ] powerpc-aix PowerPC with AIX + m [ ] powerpc-linux PowerPC with GNU/Linux + o [ ] sparc-solaris Sparc with Solaris + p [ ] universal-darwin universal binaries for MacOSX/Darwin + s [ ] win32 Windows + t [ ] x86_64-darwin x86_64 with MacOSX/Darwin + u [ ] x86_64-linux x86_64 with GNU/Linux + v [ ] x86_64-solaris x86_64 with Solaris +\end{boxedverbatim} +\caption{Binaries (二进制程åº) èœå•}\label{fig:bin-text} +\end{figure} + +图~\ref{fig:bin-text} 展示了文本模å¼ä¸‹çš„ binaries (二进制程åº) +èœå•ã€‚默认情况下åªä¼šå®‰è£…ä½ å½“å‰å¹³å°ä¸‹çš„二进制程åºã€‚在这个èœå•ä¸‹ï¼Œ +ä½ å¯ä»¥é€‰æ‹©å®‰è£…其他平å°çš„二进制程åºã€‚è¿™å¯¹ä½ è¦å°† \TeX\ æ ‘å…±äº«åœ¨ +异构网络上的情况比较有用,åˆæˆ–者用于åŒå¯åŠ¨çš„系统。 + +\subsubsection{选择è¦å®‰è£…的组件} +\label{sec:components} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Select scheme: +=============================================================================== + a [X] full scheme (everything) + b [ ] medium scheme (small + more packages and languages) + c [ ] small scheme (basic + xetex, metapost, a few languages) + d [ ] basic scheme (plain and latex) + e [ ] minimal scheme (plain only) + f [ ] ConTeXt scheme + g [ ] GUST TeX Live scheme + h [ ] teTeX scheme (more than medium, but nowhere near full) + i [ ] XML scheme + j [ ] custom selection of collections +\end{boxedverbatim} +\caption{Scheme (安装方案) èœå•}\label{fig:scheme-text} +\end{figure} + +图~\ref{fig:scheme-text} 展示了 \TL\ 的安装方案èœå•ï¼›ä»Žè¿™é‡Œä½ 选择的是 +一套``安装方案'',也就是对软件包集åˆçš„一个统一划分。默认的 \optname{full} +方案会把所有å¯ç”¨çš„都装上。这是推è方案,ä¸è¿‡ä½ 也å¯ä»¥ç»™å°ç‚¹çš„系统选择 +\optname{basic} 方案,为测试选用 \optname{minimal} 方案,åˆæˆ–者是 +介乎其间的 \optname{medium} 或 \optname{teTeX} 方案。还有许多特殊或者 +专门针对特定国家的方案。 + +\begin{figure}[tb] +\tlpng{stdcoll}{.7\linewidth} +\caption{Collections (集åˆ) èœå•}\label{fig:collections-gui} +\end{figure} + +ä½ å¯ä»¥ä½¿ç”¨ `standard collections' 与 `language collections' èœå•æ¥è¯¦ç»† +选择安装方案。(图~\ref{fig:collections-gui} 显示了 \GUI 模å¼ä¸‹ä¿®æ”¹çš„情 +况。) + +Collection (安装集åˆ) 是比 scheme (方案) è¦æ›´ç»†çš„一层 \Dash 实际上一个 +方案包å«äº†å¤šä¸ªé›†åˆï¼Œè€Œä¸€ä¸ªé›†åˆåˆåŒ…å«äº†ä¸€åˆ°å¤šä¸ªè½¯ä»¶åŒ…,然åŽæ¯ä¸ªè½¯ä»¶åŒ… +(\TL ä¸æœ€å°çš„组织å•ä½) 则包å«äº†å®žé™…çš„ \TeX\ å®æ–‡ä»¶ï¼Œå—体文件,ç‰ç‰ã€‚ + +å¦‚æžœä½ è§‰å¾— collection èœå•å¯¹å®‰è£…控制还ä¸å¤Ÿç»†ï¼Œå¯ä»¥åœ¨å®‰è£…åŽä½¿ç”¨ +\TeX\ Live Manager (\prog{tlmgr}) ç¨‹åº (å‚è§ç¬¬~\ref{sec:tlmgr}~节), +它能在软件包一层控制安装。 + +\subsubsection{目录} +\label{sec:directories} + +缺çœçš„目录布局在第~\ref{sec:texmftrees}~节有过å™è¿°ï¼Œè§ +第~\pageref{sec:texmftrees}~页。默认的 \dirname{TEXDIR} 路径 +在 Unix 下是 \dirname{/usr/local/texlive/2012} 而 Windows 下是 +|%SystemDrive%\texlive\2012|。 + +更改默认值的主è¦åŽŸå› å¤§æ¦‚æ˜¯ä½ å¯èƒ½æ²¡æœ‰é»˜è®¤ä½ç½®çš„写æƒé™ã€‚虽然è¦å®‰è£… +\TL ä¸éœ€è¦æ˜¯ç®¡ç†å‘˜æˆ–者 root ç”¨æˆ·ï¼Œä½†ä½ è‡³å°‘å¾—å¯¹å®‰è£…çš„ç›®çš„ç›®å½•æœ‰å†™ +æƒé™ã€‚ + +一个åˆç†çš„é€‰æ‹©æ˜¯ä½ è‡ªå·±ä¸»ç›®å½•ä¸‹çš„ä¸€ä¸ªå目录,尤其在åªæœ‰ä½ 一个人 +使用的时候。使用 `|~|' æ¥è¡¨ç¤ºä¸»ç›®å½•ï¼Œæ¯”如 `|~/texlive/2012|'。 + +我们建议在目录å称ä¸ä¿ç•™å¹´ä»½ï¼Œè¿™æ ·å¯ä»¥è®©ä½ ä¿ç•™å¤šä¸ªä¸åŒç‰ˆæœ¬çš„ +\TL{}。(ä½ å¯èƒ½å¸Œæœ›ç”¨ä¸€ä¸ªç±»ä¼¼ \dirname{/usr/local/texlive-cur} +è¿™æ ·çš„åå—作为指å‘当å‰ç‰ˆæœ¬çš„符å·é“¾æŽ¥ï¼Œè¿™æ ·çš„目录åå°±å’Œç‰ˆæœ¬æ— +å…³äº†ï¼Œä½ åªè¦åœ¨æ–°ç‰ˆæœ¬å‡ºæ¥ç›´æŽ¥æ›´æ–°ç¬¦å·é“¾æŽ¥å³å¯ã€‚) + +在安装程åºä¸ä¿®æ”¹ \dirname{TEXDIR} 之åŽè¿˜ä¼šåŒæ—¶ä¿®æ”¹ +\dirname{TEXMFLOCAL}, \dirname{TEXMFSYSVAR} å’Œ +\dirname{TEXMFSYSCONFIG}。 + +\dirname{TEXMFHOME} 是推è用æ¥å˜æ”¾ä¸ªäººå®æ–‡ä»¶å’Œè½¯ä»¶åŒ…的目录。 +其缺çœå€¼æ˜¯ |~/texmf|。与 \dirname{TEXDIR} ä¸åŒï¼Œå…¶ä¸åŒ…å«çš„ +|~| 会被ä¸åŠ 转æ¢åœ°å†™è¿›é…ç½®æ–‡ä»¶ï¼Œå› ä¸ºå®ƒèƒ½åœ¨ \TeX 系统è¿è¡Œæ—¶ +自动被替æ¢ä¸ºæ¯ä¸ªç”¨æˆ·è‡ªå·±çš„主目录。在 Unix 它会被展开为 +\dirname{$HOME},而 Windows 下展开为 \verb|%USERPROFILE%|。 +å¤šåŠ ä¸€å¥ï¼š\envname{TEXMFHOME} å’Œæ‰€æœ‰çš„ç›®å½•æ ‘ä¸€æ ·ï¼Œéƒ½å¿…é¡»æŒ‰ç…§ +\TDS\ 组织,å¦åˆ™æ–‡ä»¶å¯èƒ½ä¼šæ‰¾ä¸åˆ°ã€‚ + +\dirname{TEXMFVAR} 是用æ¥ç»™æ¯ä¸ªç”¨æˆ·å˜å‚¨å¤§å¤šæ•°è¿è¡Œæ—¶ç¼“å˜æ•°æ® +的。\dirname{TEXMFCACHE} 则给 \ConTeXt\ Mk\acro{IV} å˜å‚¨ç¼“å˜ +(è§ \pageref{sec:context-mkiv} 页)。 + +\subsubsection{选项} +\label{sec:options} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Current setup: + <P> use letter size instead of A4 by default: [ ] + <E> execution of restricted list of programs: [X] + <F> create format files: [X] + <D> install font/macro doc tree: [X] + <S> install font/macro source tree: [X] + <L> create symlinks in standard directories: [ ] + binaries to: + manpages to: + info to: + <Y> after installation, get package updates from CTAN: [X] +\end{boxedverbatim} +\caption{Options èœå• (Unix)}\label{fig:options-text} +\end{figure} + +图~\ref{fig:options-text} 显示了文本模å¼çš„选项èœå•ã€‚关于这个èœå•çš„ +æ¯ä¸ªé€‰é¡¹ï¼š + +\begin{description} +\item[use letter size instead of A4 by default:] 缺çœçš„çº¸å¼ å¤§å°é€‰æ‹©ã€‚ +当然如果需è¦ï¼Œæ¯ä»½æ–‡æ¡£éƒ½å¯ä»¥å¹¶ä¸”应该å•ç‹¬è®¾å®šä¸€ä¸ªçº¸å¼ 大å°ã€‚ + +\item[execution of restricted list of programs:] 在 \TL\ 2010 ä¸ï¼Œ +默认å…许执行一些外部程åºã€‚è¿™ (很少的一部分) å…许的程åºåˆ—表在 +\filename{texmf.cnf} ä¸å®šä¹‰ã€‚å‚è§ 2010 版新闻 (第~\ref{sec:2010news} 节) +以了解更多信æ¯ã€‚ + +\item[create format files:] 虽然创建ä¸å¿…è¦çš„æ ¼å¼æ–‡ä»¶ä¼šæµªè´¹ä¸€ +点时间,也会多å 一些ç£ç›˜ç©ºé—´ï¼Œä½† +我们还是建议现在ä¿æŒè¿™ä¸ªé€‰é¡¹çš„选定状æ€ï¼Œå› 为如果这次ä¸ç”Ÿæˆï¼Œä¸‹æ¬¡ +ç”¨åˆ°çš„æ—¶å€™æ ¼å¼æ–‡ä»¶å°±ä¼šåœ¨ç”¨æˆ·ä¸ªäººçš„ \dirname{TEXMFVAR} ç›®å½•æ ‘å†…ç”Ÿ +æˆã€‚è¿™æ ·æ¯æ¬¡äºŒè¿›åˆ¶æ–‡ä»¶æˆ–者æ–å—模å¼æ›´æ–°çš„æ—¶å€™ï¼Œè¿™äº›æ ¼å¼æ–‡ä»¶ä¹Ÿå¾—ä¸ +到更新,所以å¯èƒ½ä¼šå¯¼è‡´å®ƒä»¬çš„ä¸å…¼å®¹ã€‚ + +\item[install font/macro \ldots\ tree:] 这些选项å…è®¸ä½ å¿½ç•¥ä¸‹è½½å®‰è£… +大部分å®åŒ…ä¸çš„文档和æºä»£ç 文件。ä¸å»ºè®®ä½¿ç”¨ã€‚ + +\item[create symlinks in standard directories:] +这个选项 (åªå¯¹ Unix 有效的) å¯ä»¥çœä¸‹è®¾å®šçŽ¯å¢ƒå˜é‡çš„æ¥éª¤ã€‚如果 +没有选择它,就必须把 \TL{} çš„å¯¹åº”ç›®å½•æ·»åŠ åˆ° \envname{PATH}, +\envname{MANPATH} å’Œ \envname{INFOPATH} ä¸ã€‚如果è¦åˆ›å»ºç¬¦å·é“¾ +æŽ¥ï¼Œä½ éœ€è¦å¯¹è¿™äº›ç›®æ ‡ç›®å½•çš„写æƒé™ã€‚我们强烈建议ä¸è¦\emph{ä¸è¦} +用这个命令æ¥è¦†ç›–现有的 \TeX\ 系统,它主è¦æ˜¯ä¸ºäº†åœ¨ç”¨æˆ·å·²çŸ¥çš„ +æ ‡å‡†ç›®å½•ä¸åˆ›å»ºç¬¦å·é“¾æŽ¥è®¾è®¡çš„,这些目录并ä¸åŒ…å«ä»»ä½• \TeX\ 文件。 + +\item[after installation \ldots\ \CTAN:] 从 \DVD\ 安装时,这个选项 +被缺çœå¯ç”¨ï¼Œå› ä¸ºé€šå¸¸ä½ ä¼šå¸Œæœ›åœ¨æ¤åŽé€šè¿‡ \CTAN\ 安装一年内更新的软件 +包。ç¦ç”¨å®ƒå”¯ä¸€å¯èƒ½çš„åŽŸå› æ˜¯ä½ åªå®‰è£…了 \DVD\ å†…å®¹çš„ä¸€éƒ¨åˆ†ï¼Œè®¡åˆ’åœ¨ä»¥åŽ +æ‰©å±•å®‰è£…ã€‚æ— è®ºå¦‚ä½•ï¼Œå®‰è£…ç¨‹åºæ—¶å’Œå®‰è£…åŽçš„更新的软件包仓库如果需è¦å¯ +以分别设置,è§ç¬¬~\ref{sec:location}~节和 +第~\ref{sec:dvd-install-net-updates}~节。 +\end{description} + +如果所有的设置已ç»é½å¤‡ï¼Œä½ å°±å¯ä»¥æŒ‰ä¸‹ `I' æ¥å¼€å§‹å®‰è£…了。安装完æˆåŽï¼Œ +ä½ å¯ä»¥è·³è‡³ç¬¬~\ref{sec:postinstall}~节æ¥äº†è§£è¿˜éœ€è¦åšäº›ä»€ä¹ˆå·¥ä½œã€‚ + +\subsection{install-tl 命令行选项} +\label{sec:cmdline} + +输入 +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} +å¯ä»¥åˆ—出所有的命令行å‚æ•°ã€‚ä½ æ—¢å¯ä»¥ç”¨ |-| 也å¯ä»¥ç”¨ |--| æ¥æŒ‡å®šä¸€ä¸ª +å‚数。这里有些比较常è§çš„: + +\begin{ttdescription} +\item[-gui] å°½å¯èƒ½ç”¨ \GUI{} 模å¼çš„安装程åºã€‚它需è¦å®‰è£…了 + 编译进 \acro{XFT} 支æŒçš„ Perl/Tk æ¨¡å— + (\url{http://tug.org/texlive/distro.html#perltk})ï¼› + 如果找ä¸åˆ° Perl/Tk,安装程åºå°±ä¼šåœ¨æ–‡æœ¬æ¨¡å¼ä¸‹å‡ºçŽ°ã€‚ + +\item[-no-gui] 强制使用文本模å¼å®‰è£…程åºï¼Œå°±ç®—在 Windows 下也是如æ¤ã€‚ + +\item[-lang {\sl LL}] 指定安装程åºç•Œé¢çš„è¯è¨€ï¼Œä½¿ç”¨æ ‡å‡†çš„ (通常是两个 +两个å—符) è¯è¨€ä»£ç 。安装程åºä¼šå°è¯•è‡ªå·±åˆ¤æ–出åˆé€‚çš„è¯è¨€ï¼Œå¦‚果判æ–出的 +è¯è¨€æ²¡æœ‰æ”¯æŒå°±ä¼šä½¿ç”¨è‹±è¯æ›¿ä»£ã€‚å¯ä»¥è¿è¡Œ \code{install-tl --help} 获得 +支æŒçš„è¯è¨€åˆ—表。 + +\htmlanchor{opt-in-place} +\item[-in-place] å¦‚æžœä½ å·²ç»æœ‰ä¸€ä»½ç”¨ rsync, svn, 或者其他方å¼å®‰è£…çš„ +\TL{} (å‚è§ \url{http://tug.org/texlive/acquire-mirror.html}) é‚£ +这个选项会使用现有的,åªæ‰§è¡Œå¿…è¦çš„安装åŽæ“ä½œã€‚æ³¨æ„ \filename{tlpkg/texlive.tlpdb} +æ–‡ä»¶ä¼šè¢«è¦†ç›–ï¼Œä½ éœ€è¦è‡ªå·±å¤‡ä»½å®ƒã€‚å¦å¤–ï¼Œæ–‡ä»¶çš„åˆ é™¤å¿…é¡»æ‰‹åŠ¨å®Œæˆã€‚所以 +åªåœ¨ä½ 知é“自己在干什么的情况下æ‰ç”¨å®ƒã€‚这个选项ä¸èƒ½åœ¨å®‰è£…程åºç•Œé¢ä¸ +选择。 + +\item[-portable] 为比如 \acro{USB} 盘上便æºä½¿ç”¨å®‰è£…。也å¯ä»¥åœ¨ +文本安装程åºä¸ç”¨ \code{V} 命令选择,或者 GUI 安装程åºä¸é€‰æ‹©ï¼Œ +å‚è§ç¬¬ \ref{sec:portable-tl} 节。 + +\item[-profile {\sl profile}] 载入安装é…置文件 \var{file} 以ä¸éœ€è¦ +用户干预的方å¼å®Œæˆå®‰è£…。安装程åºä¼šåœ¨å®‰è£…到的 \dirname{tlpkg} +å目录ä¸åˆ›å»ºä¸€ä¸ªå« \filename{texlive.profile} 的文件。这个文件å¯ä»¥ +用作å‚数,在ä¸åŒçš„系统下完æˆå®Œå…¨ä¸€è‡´çš„å®‰è£…ã€‚æˆ–è€…ä½ ä¹Ÿå¯ä»¥ä½¿ç”¨ä¸€ä¸ªå®š +制的é…置文件,一般通过è£å‰ªç”Ÿæˆçš„æ–‡ä»¶å¾—åˆ°ï¼Œæˆ–è€…ç©ºæ–‡ä»¶ï¼Œè¿™æ ·å®‰è£…æ—¶ä¼š +使用所有缺çœå€¼ã€‚ + +\item [-repository {\sl url-or-directory}] 指定作为æ¥æºçš„软件包仓库, +å‚è§ä¸‹æ–‡ã€‚ +\end{ttdescription} + +\subsubsection{\optname{-repository} å‚æ•°} +\label{sec:location} + +默认的网络软件包安装ä½ç½®æ˜¯ç”± \url{http://mirror.ctan.org} 自动选择 +çš„ \CTAN{} é•œåƒã€‚ + +å¦‚æžœä½ éœ€è¦è‡ªå·±æŒ‡å®šï¼Œåœ°å€å¯ä»¥æ˜¯ä»¥ \texttt{ftp:}, \texttt{http:} 或 +\texttt{file:/} 起始的 URL,或者本地路径。(如果给定了一个 +\texttt{http:} 或 \texttt{ftp:} 地å€ï¼Œå…¶æœ«å°¾çš„ `\texttt{/}' å—符 +和末尾的 `\texttt{/tlpkg}' 这段都会被忽略。) + +æ¯”å¦‚ä½ å¯ä»¥é€‰æ‹©è¿™æ ·çš„一个 \CTAN\ é•œåƒï¼š +\url{http://ctan.example.org/tex-archive/systems/texlive/tlnet/}, +å½“ç„¶ä½ åº”è¯¥æŠŠ |ctan.example.org/tex-archive| 替æ¢ä¸ºå…·ä½“é•œåƒçš„ +域å和特定的顶层 \CTAN\ 路径 (\url{http://ctan.org/mirrors}) +维护了一个 \CTAN\ çš„é•œåƒåˆ—表)。 + +如果给定的地å€åœ¨æœ¬åœ°ç£ç›˜ä¸Š (或者是路径或者是 \texttt{file:/} +开头的 URL),就会使用指定路径下 \dirname{archive} å目录ä¸çš„ +压缩文件进行安装。 + +\subsection{安装åŽçš„æ“作} +\label{sec:postinstall} + +安装åŽå¯èƒ½éœ€è¦ä¸€äº›é¢å¤–çš„æ“作。 + +\subsubsection{Unix 下的环境å˜é‡} +\label{sec:env} + +å¦‚æžœä½ é€‰æ‹©äº†åœ¨æ ‡å‡†è·¯å¾„ä¸‹åˆ›å»ºç¬¦å·è¿žæŽ¥ (在第~\ref{sec:options}~节æ到), +那就ä¸éœ€è¦è®¾ç½®çŽ¯å¢ƒå˜é‡äº†ã€‚å¦åˆ™ï¼Œåœ¨ Unix 系统ä¸ï¼Œä½ åº”è¯¥å°†è‡ªå·±ä½¿ç”¨çš„å¹³å° +下二进制程åºçš„ç›®å½•åŠ å…¥æœç´¢è·¯å¾„ä¸ã€‚(在 Windows 下安装程åºä¼šè´Ÿè´£è¿™ä¸€æ¥ã€‚) + +æ¯ä¸ªæ”¯æŒçš„å¹³å°éƒ½åœ¨ \dirname{TEXDIR/bin} 下有自己的å目录。 +å‚è§å›¾~\ref{fig:bin-text} 以了解所有的这些å目录和它们对应的平å°ã€‚ + +如果希望 man å’Œ info èƒ½å¤Ÿæ‰¾åˆ°ï¼Œä½ è¿˜å¯ä»¥æŠŠæ–‡æ¡£çš„ man å’Œ Info ç›®å½•åŠ +入其对应的æœç´¢è·¯å¾„ä¸ã€‚åœ¨æ·»åŠ \envname{PATH} åŽï¼Œæ‰‹å†Œé¡µé¡µå¯ä»¥è¢«è‡ªåŠ¨ +找到。 + +对于 \prog{bash} è¿™æ ·çš„ Bourne 兼容 shell 而言,以 Intel x86 下的 +GNU/Linuxã€é»˜è®¤çš„目录设置为例,需è¦ä¿®æ”¹çš„文件是 \filename{$HOME/.profile} +(或者其他由 \filename{.profile} 载入的文件)ï¼Œåº”è¯¥æ·»åŠ çš„å†…å®¹åº”è¯¥ç±»ä¼¼ +è¿™æ ·ï¼š + +\begin{sverbatim} +PATH=/usr/local/texlive/2012/bin/i386-linux:$PATH; export PATH +MANPATH=/usr/local/texlive/2012/texmf/doc/man:$MANPATH; export MANPATH +INFOPATH=/usr/local/texlive/2012/texmf/doc/info:$INFOPATH; export INFOPATH +\end{sverbatim} + +对于 csh 或者 tcsh,需è¦ä¿®æ”¹çš„文件通常是 \filename{$HOME/.cshrc},而 +åº”è¯¥æ·»åŠ çš„å†…å®¹ç±»ä¼¼ï¼š + +\begin{sverbatim} +setenv PATH /usr/local/texlive/2012/bin/i386-linux:$PATH +setenv MANPATH /usr/local/texlive/2012/texmf/doc/man:$MANPATH +setenv INFOPATH /usr/local/texlive/2012/texmf/doc/info:$INFOPATH +\end{sverbatim} + +å¦‚æžœä½ å·²ç»åœ¨ä½ çš„é…ç½®æ–‡ä»¶é‡Œå†™è¿‡äº†è¿™æ ·çš„è·¯å¾„è®¾ç½®ï¼Œé‚£å°±åªéœ€è¦ +把 \TL\ çš„è¿™äº›ç›®å½•åŠ è¿›åŽ»å°±è¡Œäº†ã€‚ + +\subsubsection{环境å˜é‡çš„全局é…ç½®} +\label{sec:envglobal} + +å¦‚æžœä½ å¸Œæœ›åœ¨æ•´ä¸ªç³»ç»ŸèŒƒå›´å†…ä¿®æ”¹è¿™äº›å˜é‡ï¼Œæˆ–è¿™æ ·ç³»ç»Ÿæ–°å¢žçš„ç”¨æˆ·è‡ªåŠ¨ +继承这些å˜é‡ï¼Œå°±å¾—è‡ªå¯»æ–¹æ³•äº†ï¼Œå› ä¸ºä¸åŒçš„系统之间这方é¢çš„é…置差异 +太大。 + +我们的建议是: 1)~ä½ å¯èƒ½åº”该看看 \filename{/etc/manpath.config} +这个文件是å¦å˜åœ¨ï¼Œå¦‚果有的è¯ï¼Œæ·»åŠ 下é¢è¿™æ ·çš„内容: + +\begin{sverbatim} +MANPATH_MAP /usr/local/texlive/2012/bin/i386-linux \ + /usr/local/texlive/2012/texmf/doc/man +\end{sverbatim} + +ç„¶åŽ 2)~检查 \filename{/etc/environment} 是å¦å®šä¹‰äº†é»˜è®¤çš„æœç´¢è·¯å¾„ +和其他的默认环境å˜é‡ã€‚ + +在æ¯ä¸ª (Unix) 二进制目录下,我们都会创建一个 \code{man} 符å·é“¾æŽ¥ +到 \dirname{texmf/doc/man} ç›®å½•ã€‚å› ä¸º +有些 \code{man} 程åºï¼Œæ¯”如 \MacOSX\ æ ‡å‡†çš„ \code{man} 就能够自动通 +è¿‡è¿™ä¸ªé“¾æŽ¥æ‰¾åˆ°å¯¹åº”çš„æ‰‹å†Œé¡µï¼Œè¿™æ ·ä½ å°±ä¸å¿…手工设置手册页路径了。 + +\subsubsection{\DVD\ 安装åŽçš„网络更新} +\label{sec:dvd-install-net-updates} + +å¦‚æžœä½ ä»Ž \DVD\ 安装了 \TL\ 并希望从网络获å–更新,需è¦åœ¨æ›´æ–°äº†æœç´¢è·¯å¾„ +(如上一节所述) \emph{之åŽ}执行这个命令: + +\begin{alltt} +> \Ucom{tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet} +\end{alltt} + +这告诉 \cmdname{tlmgr} 从就近的 \CTAN\ é•œåƒèŽ·å–未æ¥æ›´æ–°ã€‚ +从 \DVD{} 安装时会默认完æˆè¿™ä¸€æ¥ï¼Œé€šè¿‡ç¬¬~\ref{sec:options}~èŠ‚ä»‹ç» +的选项。 + +如果自动镜åƒé€‰æ‹©å‡ºçŽ°äº†é—®é¢˜ï¼Œä½ å¯ä»¥ä»Ž \url{http://ctan.org/mirrors} +列表ä¸è‡ªå·±æŒ‡å®šä¸€ä¸ª \CTAN\ é•œåƒã€‚使用与上述一致的 \dirname{tlnet} +å目录路径。 + +\subsubsection{\XeTeX{} å’Œ Lua\TeX{} 的系统å—体é…ç½®} +\label{sec:font-conf-sys} + +\XeTeX\ å’Œ Lua\TeX\ å¯ä»¥ä½¿ç”¨ä»»ä½•ç³»ç»Ÿå®‰è£…çš„å—体,而ä¸åªæ˜¯ \TeX\ ç›®å½•æ ‘ +ä¸çš„那些。它们使用类似但ä¸å®Œå…¨ä¸€è‡´çš„æ–¹å¼å®žçŽ°è¿™ä¸€åŠŸèƒ½ã€‚ + +在 Windows 下 \TL\ æ供的å—体会自动为 \XeTeX\ 所用。 +ä½†å¦‚æžœä½ åœ¨ Unix 兼容的系统ä¸å®‰è£…了 \filename{xetex} 软件包,则需è¦æŠŠç³» +统é…置一番 \XeTeX\ æ‰èƒ½æ‰¾åˆ°éš \TL\ 安装的那些å—体。 + +为了进行é…置,\pkgname{xetex} å®‰è£…åŽ (ä¸ç®¡æ˜¯åˆå§‹å®‰è£…还是åŽæ¥å®‰è£…çš„) 都会在 +\filename{TEXMFSYSVAR/fonts/conf/texlive-fontconfig.conf} 创建一个 +必需的é…置文件。 + +è¦åœ¨æ•´ä¸ªç³»ç»Ÿä¸ä½¿ç”¨ \TL{} çš„å—体 (å‡å®šä½ 有足够的æƒé™),请ä¾ç…§ä¸‹é¢çš„ +æ¥éª¤æ¥åšï¼š +\begin{enumerate*} +\item å°† \filename{texlive-fontconfig.conf} 文件å¤åˆ¶åˆ° +\dirname{/etc/fonts/conf.d/09-texlive.conf}。 +\item è¿è¡Œ \Ucom{fc-cache -fsv}。 +\end{enumerate*} + +å¦‚æžœä½ æ²¡æœ‰è¶³å¤Ÿçš„æƒé™æ‰§è¡Œä¸Šè¿°æ“作,或者åªéœ€è¦æŠŠ \TL{} å—体æä¾›ç»™ä½ è‡ª +己,å¯ä»¥è¿™ä¹ˆåšï¼š +\begin{enumerate*} +\item å°† \filename{texlive-fontconfig.conf} 文件å¤åˆ¶åˆ° + \filename{~/.fonts.conf}ï¼Œå…¶ä¸ \filename{~} æ˜¯ä½ çš„ä¸»ç›®å½•ã€‚ +\item è¿è¡Œ \Ucom{fc-cache -fv}。 +\end{enumerate*} + +ä½ å¯ä»¥è¿è¡Œ \code{fc-list} æ¥æŸ¥çœ‹ç³»ç»Ÿå—体的å称。命令 +\code{fc-list : family style file spacing} å¯ä»¥åˆ—出一些有趣的信æ¯ã€‚ + +\subsubsection{\ConTeXt{} Mark IV} +\label{sec:context-mkiv} + +“旧â€çš„ \ConTeXt{} (Mark \acro{II}) 和“新的†\ConTeXt{} (Mark \acro{IV}) +应该在 \TL{} 安装åŽç›´æŽ¥å°±èƒ½è¿è¡Œï¼Œè€Œä¸”åªè¦ä½ 一直用 \verb+tlmgr+ æ¥æ›´æ–°ï¼Œ +它ä¸åº”该需è¦ä»»ä½•å…¶ä»–的处ç†ã€‚ + +ç„¶è€Œï¼Œå› ä¸º \ConTeXt{} Mk\acro{IV} 没有使用 kpathsea åº“ï¼Œåœ¨ä½ æ‰‹åŠ¨å®‰è£… +文件 (没使用 \verb+tlmgr+) åŽå¿…须执行一定的设置。在æ¯æ¬¡å®‰è£…åŽï¼Œæ¯ä¸ª +Mk\acro{IV} 用户必须执行: + +\begin{sverbatim} +context --generate +\end{sverbatim} +æ¥åˆ·æ–° \ConTeXt{} ç£ç›˜ç¼“å˜æ•°æ®ã€‚ +生æˆçš„文件会被ä¿å˜åœ¨ \code{TEXMFCACHE} 目录下,在 \TL{} ä¸è¿™ä¸ªç›®å½• +的默认值是 \verb+TEXMSYSVAR;TEXMFVAR+。 + +\ConTeXt\ Mk\acro{IV} ä¼šè¯»å– \verb+TEXMFCACHE+ æ到的所有路径, +并写入第一个å¯å†™ä¸œé£Žè·¯å¾„。在读å–时,最åŽæ‰¾åˆ°çš„匹é…会被优先选择。 + +è¦äº†è§£æ›´å¤šä¿¡æ¯ï¼Œå‚è§ +\url{http://wiki.contextgarden.net/Running_Mark_IV}。 + +\subsubsection{集æˆæœ¬åœ°ä¸Žä¸ªäººå®æ–‡ä»¶} +\label{sec:local-personal-macros} + +这在第~\ref{sec:texmftrees}~节已ç»é¡ºå¸¦æ到过了:\dirname{TEXMFLOCAL} +目录 (它的默认值是 \dirname{/usr/local/texlive/texmf-local} 或者 +Windows 下的 \verb|%SystemDrive%\texlive\texmf-local|) 这个目录就是为了å˜å‚¨ +é¢å‘整个系统的本地å—体和å®æ–‡ä»¶çš„;而 \dirname{TEXMFHOME} 目录 (å…¶ +默认值是 \dirname{$HOME/texmf} 或者 \verb|%USERPROFILE%\texmf|), +则是用æ¥å˜å‚¨ä¸ªäººçš„å—体和å®æ–‡ä»¶çš„。这些目录应该在å„个 \TL{} +版本之间共享,æ¯ä¸ªç‰ˆæœ¬éƒ½èƒ½çœ‹åˆ°å…¶å†…å®¹ã€‚å› æ¤ä¸åº”该把 +\dirname{TEXMFLOCAL} 改得和主 \TL{} 目录差别太大,å¦åˆ™æ–°çš„ç‰ˆæœ¬å‡ºæ¥ +ä½ åˆå¾—å†æ”¹ã€‚ + +å¯¹äºŽè¿™ä¸¤ä¸ªç›®å½•æ ‘è€Œè¨€ï¼Œæ–‡ä»¶éƒ½åº”è¯¥æ”¾åˆ°åˆé€‚çš„ \TeX\ 目录结构 (\TDS) +å目录ä¸ï¼Œå‚è§ \url{http://tug.org/tds} 或者 \filename{texmf/web2c/texmf.cnf} +文件。比如一个 \LaTeX{} 文档类或者å®åŒ…应该放在 +\dirname{TEXMFLOCAL/tex/latex} 或者 \dirname{TEXMFHOME/tex/latex} +目录下,è¦ä¸ç„¶å°±æ˜¯å®ƒä»¬çš„一个å目录下。 + +\dirname{TEXMFLOCAL} 目录需è¦ä¸€ä¸ªä¿æŒæ›´æ–°çš„文件åæ•°æ®åº“,å¦åˆ™æ–°å¢ž +çš„æ–‡ä»¶å°±æ— æ³•æ‰¾åˆ°ã€‚ä½ å¯ä»¥ä½¿ç”¨ \cmdname{mktexlsr} 命令或者 +\TeX\ Live Manager \GUI{},configuration 选项å¡ä¸çš„ +`Reinit file database' 按钮æ¥åˆ·æ–°å®ƒã€‚ + +默认情况下,这些å˜é‡çš„æ¯ä¸€ä¸ªéƒ½å®šä¹‰ä¸ºæ‰€ç¤ºå•ç‹¬çš„目录。这ä¸æ˜¯ä¸€ä¸ªç¡¬æ€§ +è§„å®šã€‚å¦‚æžœä½ éœ€è¦åœ¨æŸäº›å¤§çš„å®åŒ…çš„ä¸åŒç‰ˆæœ¬ç›´æŽ¥æ–¹ä¾¿åœ°åˆ‡æ¢ï¼Œå¯ä»¥ç»´æŠ¤å¤š +ä¸ªè‡ªå·±çš„ç›®å½•æ ‘ï¼Œè¿™é€šè¿‡æŠŠ \dirname{TEXMFHOME} 设置为目录列表实现, +大括å·åŒ…围,逗å·åˆ†éš”: + +\begin{verbatim} + TEXMFHOME = {/my/dir1,/mydir2,/a/third/dir} +\end{verbatim} + +第~\ref{sec:brace-expansion}~节进一æ¥ä»‹ç»äº†æ‹¬å·å±•å¼€ã€‚ + +\subsubsection{集æˆç¬¬ä¸‰æ–¹å—体} + +ä¸å¹¸çš„是,这是一个éžå¸¸æ··ä¹±çš„问题。除éžä½ æ„¿æ„深入 \TeX{} 安装的细节, +å¦åˆ™è¯·ä¸è¦æ¶‰è¶³è¿™ä¸ªé¢†åŸŸã€‚别忘了事先看看我们附带的å—体,å‚è§ +第~\ref{sec:tl-fonts}~节。 + +\XeTeX\ 或 Lua\TeX\ 是å¯è¡Œçš„替代方案 (å‚è§ç¬¬~\ref{sec:tex-extensions}~节), +å®ƒä»¬èƒ½è®©ä½ ä½¿ç”¨æ“作系统的å—体而ä¸å¿…将它安装到 \TeX ä¸ã€‚ + +å¦‚æžœä½ éžå¾—这么åšï¼Œå‚è§ \url{http://tug.org/fonts/fontinstall.html}, +这是我们对整个过程最好的æè¿°ã€‚å¦‚æžœä½ ä¸¥æ ¼åœ°ç®¡ç†è‡ªå·±çš„本地å—ä½“æ˜ å°„ï¼Œ +\texttt{tlmgr generate updmap} \textit{å¯èƒ½}会有用,尤其是在版本 +å‡çº§æ—¶ï¼Œå‚è§ \cmdname{tlmgr} 文档。 + +\subsection{测试安装是å¦æˆåŠŸ} +\label{sec:test-install} + +在完æˆä½ 所需è¦çš„ \TL{} 安装之åŽï¼Œè‡ªç„¶ä½ 会希望试试看它是å¦æ£å¸¸å·¥ä½œï¼Œå¥½è®©ä½ 在以åŽèƒ½å¤Ÿ +创建优美的文档和å—体。 + +这个å°èŠ‚给出了一些测试系统是å¦æ£å¸¸å·¥ä½œçš„基本æ¥éª¤ã€‚我们这里使用的是 Unix 命令,在 +\MacOSX{} å’Œ Windows ä¸‹ä½ æ›´å¯èƒ½æ˜¯ä½¿ç”¨å›¾å½¢ç•Œé¢è¿è¡Œè¿™äº›æµ‹è¯•çš„,ä¸è¿‡å…¶åŽŸç†å¹¶æ— ä¸åŒã€‚ + +\begin{enumerate} + +\item é¦–å…ˆç¡®è®¤ä½ å¯ä»¥æ‰§è¡Œ \cmdname{tex} 程åºï¼š +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.1415926 (TeX Live ...) +kpathsea version 6.0.1 +Copyright ... D.E. Knuth. +... +\end{alltt} +如果返回的结果是 `command not found' 而éžç‰ˆæœ¬å’Œç‰ˆæƒä¿¡æ¯ï¼Œæˆ–者显示了 +旧版本的信æ¯ï¼Œå¾ˆæœ‰å¯èƒ½æ˜¯å› ä¸ºä½ æ²¡æœ‰æŠŠæ£ç¡®çš„ \dirname{bin} åç›®å½•æ·»åŠ +到 \envname{PATH} ä¸ã€‚å‚è§ç¬¬~\pageref{sec:env}~页关于设置环境å˜é‡ +的说明。 + +\item 处ç†ä¸€ä¸ªåŸºæœ¬çš„ \LaTeX{} 文件: +\begin{alltt} +> \Ucom{latex sample2e.tex} +pdfTeX 3.1415926-... (TeX Live ...) +... +Output written on sample2e.dvi (3 pages, 7484 bytes). +Transcript written on sample2e.log. +\end{alltt} +å¦‚æžœæ— æ³•æ‰¾åˆ° \filename{sample2e.tex} 或其他什么文件,很å¯èƒ½æ˜¯å› 为旧的环境å˜é‡ +或é…置文件影å“了判æ–ã€‚æˆ‘ä»¬å»ºè®®ä½ é‡ç½®æ‰€æœ‰ \TeX 相关的环境å˜é‡ç„¶åŽé‡è¯•ã€‚(ä½ å¯ä»¥ +让 \TeX{} 报告具体æœç´¢çš„路径,以便仔细分æžå‡ºé”™çš„åŽŸå› ã€‚å‚è§ +第~\pageref{sec:debugging}~页的``调试æ“作''一节以了解更多信æ¯ã€‚) + +\item å³æ—¶é¢„览结果: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} # Unix +> \Ucom{dviout sample2e.dvi} # Windows +\end{alltt} +ä½ åº”è¯¥å¯ä»¥çœ‹åˆ°åœ¨æ–°çª—å£ä¸å‡ºçŽ°äº†ä¸€ç¯‡ä»‹ç» \LaTeX{} 基础的有趣文档。 +(å¦‚æžœä½ åˆšæŽ¥è§¦ \TeX\ 系统,还是值得一读的。) \cmdname{xdvi} +需è¦è¿è¡Œåœ¨ X 窗å£ç³»ç»Ÿä¸‹æ‰èƒ½å·¥ä½œï¼Œå¦‚果没有è¿è¡Œçª—å£çŽ¯å¢ƒæˆ– +\envname{DISPLAY} 环境å˜é‡è®¾ç½®é”™è¯¯ï¼Œéƒ½ä¼šå¾—到 +\samp{Can't open display} è¿™å¥é”™è¯¯ä¿¡æ¯ã€‚ + +\item 创建用于打å°æˆ–显示的 \PS{} 文件: +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item 创建 \acro{PDF} æ–‡ä»¶è€Œéž \dvi{}ï¼Œè¿™é‡Œé‡‡ç”¨ç›´æŽ¥å¤„ç† \filename{.tex} +文件输出 \acro{PDF} çš„æ–¹å¼ï¼š +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item 预览 \acro{PDF} 文件: +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{或:} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} +\cmdname{gv} å’Œ \cmdname{xpdf} 现在都ä¸åŒ…å«åœ¨ \TL{} ä¸ï¼Œä½ +å¿…é¡»å•ç‹¬å®‰è£…它们。请分别å‚阅 \url{http://www.gnu.org/software/gv} å’Œ +\url{http://www.foolabs.com/xpdf}。(还有许多其他的 \acro{PDF} 查看器。) +Windows 下我们推è Sumatra PDF (\url{http://blog.kowalczyk.info/software/sumatrapdf})。 + +\item 除 \filename{sample2e.tex} 外å¯èƒ½ä¼šå¯¹ä½ æœ‰ç”¨çš„æ ‡å‡†æµ‹è¯•æ–‡ä»¶ï¼š + +\begin{ttdescription} +\item [small2e.tex] 比 \filename{sample2e} 更为简å•çš„æ–‡æ¡£ï¼Œä¾›ä½ åœ¨é‡åˆ°é—®é¢˜ +æ—¶å°è¯•å‡å°‘输入的内容。 +\item [testpage.tex] æµ‹è¯•ä½ çš„æ‰“å°æœºæ˜¯å¦å¸¦æœ‰é¢„设的å移é‡ã€‚ +\item [nfssfont.tex] 打å°ä¸€ä»½å—ä½“è¡¨æ ¼ (proofsheet) 以供测试。 +\item [testfont.tex] 用 plain \TeX{} 打å°å—ä½“è¡¨æ ¼ã€‚ +\item [story.tex] 最ç»å…¸çš„ (plain) \TeX{} 测试文件。在执行 +\samp{tex story.tex} 之åŽï¼Œä½ 还è¦åœ¨ \code{*} æ示符下键入 \samp{\bs bye}。 +\end{ttdescription} +ä½ å¯ä»¥ç”¨ä¸Žæˆ‘ä»¬å¤„ç† \filename{sample2e.tex} 文件时相åŒçš„æ–¹å¼æ¥å¤„ç†è¿™äº›æ–‡ä»¶ã€‚ + +\item å¦‚æžœä½ å®‰è£…äº† \filename{xetex} 包,å¯ä»¥æŒ‰å¦‚下æ¥éª¤æµ‹è¯•å®ƒèƒ½å¦è®¿é—®ç³»ç»Ÿå—体: +\begin{alltt} +> \Ucom{xetex opentype-info.tex} +This is XeTeX, Version 3.1415926\dots +... +Output written on opentype-info.pdf (1 page). +Transcript written on opentype-info.log. +\end{alltt} +(或者对 \filename{luatex} åšåŒæ ·çš„æ¥éª¤ã€‚) + +å¦‚æžœä½ æ”¶åˆ° ``Invalid fontname `Latin Modern Roman/ICU'\dots'' è¿™æ · +的错误信æ¯ï¼Œå°±è¯´æ˜Žéœ€è¦é…置系统 \XeTeX{} æ‰èƒ½æ‰¾åˆ° \TL{} 自带的å—体。 +å‚è§ç¬¬~\ref{sec:font-conf-sys}~节。 + +\end{enumerate} + +\subsection{其他å¯ä¸‹è½½è½¯ä»¶çš„链接} + +å¦‚æžœä½ è¿˜æ˜¯ä¸ª \TeX{} 新手,或者在编辑 \TeX{} 或 \LaTeX{} 文档时需è¦å¸®åŠ©ï¼Œ +请访问 \url{http://tug.org/begin.html} 寻找引导性的资æºã€‚ + +è¿™é‡Œæ˜¯ä¸€äº›ä½ å¯èƒ½ä¼šè€ƒè™‘安装的其他工具的链接。 +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.perl.org/} 与 \acro{CPAN} ä¸çš„补充包, + \url{http://www.cpan.org/} +\item[ImageMagick] \url{http://www.imagemagick.com}, 用于图形处ç†å’Œè½¬æ¢ +\item[NetPBM] \url{http://netpbm.sourceforge.net/}, åŒæ ·ç”¨äºŽå›¾å½¢ã€‚ + +\item[é¢å‘ \TeX\ 的编辑器] 有很广泛的选择,一般ä¾ç”¨æˆ·ä¸ªäººçš„å£å‘³è€Œå®šã€‚è¿™ + 里按å—å…¸åºåˆ—出了一些 (部分是 Windows æ‰æœ‰çš„)。 + \begin{itemize*} + \item \cmdname{GNU Emacs} 在 Windows 下的原生版本在 + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html}。 + \item \cmdname{Emacs çš„ Auc\TeX\ 包} çš„ Windows 版本在 \CTAN\ æ供。 + AuC\TeX\ 的主页在 \url{http://www.gnu.org/software/auctex}。 + \item \cmdname{LEd} 在 \url{http://mirror.ctan.org/support/LEd} æ供。 + \item \cmdname{SciTE} 在 + \url{http://www.scintilla.org/SciTE.html} æ供。 + \item \cmdname{Texmaker} 是自由软件,在 + \url{http://www.xm1math.net/texmaker} æ供。 + \item \cmdname{TexMakerX} 是 \cmdname{Texmaker} 的一个 + fork,引入了é¢å¤–的功能;\url{http://texmakerx.sourceforge.net}。 + \item \cmdname{TeXnicCenter} 是自由软件,在 + \url{http://www.texniccenter.org} æä¾›ï¼Œä¹Ÿéš pro\TeX{}t + å‘行版附带。 + \item \cmdname{TeXworks} 是自由软件,在 + \url{http://tug.org/texworks} æ供,也作为 \TL{} 的一部分在 + Windows å’Œ \MacOSX\ 下被安装。 + \item \cmdname{Vim} 是自由软件,在 + \url{http://www.vim.org} æ供。 + \item \cmdname{WinEdt} 是共享软件,在 + \url{http://tug.org/winedt} 或 \url{http://www.winedt.com} æ供。 + \item \cmdname{WinShell} 在 \url{http://www.winshell.de} æ供。 + \end{itemize*} +\end{description} +关于这类软件包和程åºï¼Œ\url{http://tug.org/interest.html} 有一份更长的列表。 + +\section{特殊安装} + +å‰é¢çš„ç« èŠ‚æ述了基本的安装过程。这里我们介ç»ä¸€äº›ç‰¹æ®Šçš„情形。 + +\htmlanchor{tlsharedinstall} +\subsection{用户共享 (或跨机器) 安装} +\label{sec:sharedinstall} + +\TL{} 的设计å¯ä»¥ä½¿å®ƒåœ¨åŒä¸€ä¸ªç³»ç»Ÿçš„ä¸åŒçš„用户间共享,或者å¯ä»¥åœ¨ç½‘ç»œä¸Šä¸ +åŒçš„ç³»ç»Ÿé—´å…±äº«ã€‚åœ¨æ ‡å‡†çš„ç›®å½•ç»“æž„ä¸‹ï¼Œä¸éœ€è¦é…置固定的ç»å¯¹è·¯å¾„:\TL{} 程 +åºæ‰€éœ€è¦çš„文件都能通过都在这些程åºè‡ªèº«çš„ç›¸å¯¹è·¯å¾„æ‰¾åˆ°ã€‚ä½ å¯ä»¥åœ¨ +\filename{$TEXMFMAIN/web2c/texmf.cnf} é…置文件ä¸çœ‹åˆ°å®žé™…的处ç†ï¼Œ +它包å«äº†ç±»ä¼¼ä¸‹é¢çš„内容: +\begin{verbatim} +TEXMFMAIN = $SELFAUTOPARENT/texmf +... +TEXMFLOCAL = $SELFAUTOPARENT/../texmf-local +\end{verbatim} +这就æ„味ç€ï¼Œå…¶å®ƒçš„系统或用户åªéœ€è¦æŠŠ \TL{} çš„å¯æ‰§è¡Œæ–‡ä»¶çš„ä½ç½®æ·»åŠ 到其 +系统的æœç´¢è·¯å¾„ä¸å°±å¯ä»¥ä½¿ç”¨äº†ã€‚ + +åŒç†ï¼Œä½ 也å¯ä»¥å…ˆæŠŠ \TL{} 安装在本地,然åŽå†æŠŠæ•´ä¸ªå®‰è£…目录转移到网络上。 + +至于 Windows,å¯ä»¥åœ¨ \url{http://tug.org/texlive/w32client.html} +ä¸‹è½½åˆ°ä¸€ä¸ªå« \filename{w32client} 的示例网络安装脚本。它å¯ä»¥ä¸ºå±€åŸŸ +网上的 \TL{} 安装产生é…置文件和èœå•å¿«æ·æ–¹å¼ã€‚å®ƒè¿˜ä¼šæ³¨å†Œä¸€ä¸ªå« +\filename{w32unclient} çš„å¸è½½ç¨‹åºï¼Œåœ¨åŒä¸€ä¸ª zip 文件ä¸ã€‚å‚è§å®ƒçš„ +网页以了解更多信æ¯ã€‚ + +\htmlanchor{tlportable} +\section{ä¾¿æº (\USB{}) 安装} +\label{sec:portable-tl} + +\code{-portable} 安装程åºé€‰é¡¹ (或者文本安装程åºçš„ \code{V} 命令, +或对应的 \GUI{} 选项) 创建的是一套在一个独立路径下完全自包å«çš„ \TL{} +安装,而跳过系统集æˆã€‚ä½ å¯ä»¥åœ¨ \USB{} ç›˜ä¸Šåˆ›å»ºè¿™æ ·çš„å®‰è£…ï¼Œæˆ–è€…åœ¨å®‰è£… +åŽå¤åˆ¶åˆ° \USB{} 盘上。 + +è¦ä½¿ç”¨è¿™æ ·çš„便æºå®‰è£…æ¥è¿è¡Œ \TeX{}ï¼Œä½ å¿…é¡»å°†å¯¹åº”çš„äºŒè¿›åˆ¶ç›®å½•åŠ å…¥ç»ˆç«¯ +çš„æœç´¢è·¯å¾„ï¼Œå¦‚å¾€å¸¸ä¸€æ ·ã€‚åœ¨ Windows ä¸‹ï¼Œä½ å¯ä»¥åŒå‡»å®‰è£…æ ¹ç›®å½•ä¸‹çš„ +\filename{tl-tray-menu} æ¥é€‰æ‹©æ‰§è¡Œä¸€äº›å¸¸è§ä»»åŠ¡ï¼Œå¦‚这个截图所示: + +\medskip +\tlpng{tray-menu}{4cm} +\smallskip + +\noindent `More\ldots' 项目解释了如何定制这个èœå•ã€‚ + +\htmlanchor{tlisoinstall} +\subsection{\ISO\ (或 \DVD) 安装} +\label{sec:isoinstall} + +å¦‚æžœä½ ä¸éœ€è¦ç»å¸¸æ›´æ–°æˆ–者修改安装,或者有其他å¯ä»¥ä½¿ç”¨ \TL{} 的系统, +创建一个 \TL{} 安装的 \ISO\ å¯èƒ½ä¼šæ¯”è¾ƒæ–¹ä¾¿ï¼Œå› ä¸ºï¼š + +\begin{itemize} +\item 在ä¸åŒè®¡ç®—机之间å¤åˆ¶ \ISO\ è¦æ¯”å¤åˆ¶æ™®é€šå®‰è£…快得多。 +\item å¦‚æžœä½ åŒå¯åŠ¨ä¸åŒçš„æ“作系统而且希望它们共享一个 + \TL{} 的安装,\ISO\ 安装ä¸ä¼šå—ä¸åŒæ–‡ä»¶ç³»ç»Ÿæ”¯æŒ + (\acro{FAT32}, \acro{NTFS}, \acro{HFS+}) çš„é™åˆ¶ã€‚ +\item 虚拟机å¯ä»¥ç›´æŽ¥æŒ‚è½½è¿™æ ·çš„ \ISO{}。 +\end{itemize} + +å½“ç„¶ä½ è¿˜å¯ä»¥æŠŠ \ISO\ 刻录到 \DVD{} 上,如果有用的è¯ã€‚ + +æ¡Œé¢ \GNU/Linux/Unix 系统,包括 \MacOSX{},都能够挂载 \ISO{}。æ¤å¤–, +没有任何与普通硬盘安装ä¸åŒçš„地方,å‚è§ç¬¬ \ref{sec:env} 节。 + +åœ¨å‡†å¤‡è¿™æ ·çš„ \ISO\ 安装时,最好忽略å‘布年份的å目录,并让 \filename{texmf-local} +å¤„åœ¨å’Œå…¶ä»–ç›®å½•æ ‘ (\filename{texmf}, \filename{texmf-dist} ç‰) åŒçº§ã€‚ +ä½ å¯ä»¥åœ¨å®‰è£…程åºçš„普通目录选项ä¸è®¾ç½®è¿™äº›ã€‚ + +对于一个物ç†çš„ (而ä¸æ˜¯è™šæ‹Ÿçš„) Windows ç³»ç»Ÿï¼Œä½ å¯ä»¥å°† \ISO\ 刻录在 +\acro{DVD} 上,ä¸è¿‡èŠ±ç‚¹æ—¶é—´åœ¨å…费的 \ISO\ 挂载工具上是值得的。对于 +Windows \acro{XP},微软æ供了 \filename{winxpvirtualcdcontrolpanel}。 + +至于 Windows 系统集æˆï¼Œä½ å¯ä»¥åŒ…å«ç¬¬~\ref{sec:sharedinstall} 节æè¿°çš„ +\filename{w32client} 脚本 (在 \url{http://tug.org/texlive/w32client.html}), +它在 \ISO\ é‡Œå’Œåœ¨ç½‘ç»œå®‰è£…æ—¶ä¸€æ ·å¥½ç”¨ã€‚ + +在 \MacOSX{},如果符å·é“¾æŽ¥ \filename{/usr/texbin} 指å‘对应的二进制目录, +TeXShop å’Œ \TeX{}works 会使用 \acro{DVD} 安装,比如: +\begin{verbatim} +sudo ln -s /Volumes/MyTeXLive/bin/universal-darwin /usr/texbin +\end{verbatim} + +历å²è¯´æ˜Žï¼š\TL{} 2010 是第一个ä¸æ”¯æŒâ€œliveâ€å‘布的 \TL{} 版本,但è¦åœ¨ +\DVD\ 或者 \ISO\ 上执行一直是需è¦ä¸€å®šæŠ€å·§çš„,尤其是必须设置一些环境 +å˜é‡ã€‚å¦‚æžœä½ ä»ŽçŽ°æœ‰çš„å®‰è£…åˆ›å»º \ISO\ å°±ä¸éœ€è¦äº†ã€‚ + +\htmlanchor{tlmgr} +\section{\cmdname{tlmgr}: 管ç†ä½ 的安装} +\label{sec:tlmgr} + + +\begin{figure}[tb] +\tlpng{tlmgr-gui}{.8\linewidth} +\caption{\GUI\ 模å¼çš„ \prog{tlmgr}:按下 `Load' åŽçš„主窗å£ã€‚} +\label{fig:tlmgr-gui} +\end{figure} + +\begin{figure}[tb] +\hbox to \hsize{% + \vtop{\hsize=.59\linewidth + \null % make figures align at the top + \tlpng{tlmgr-general-options}{\hsize} + \caption{\GUI\ 模å¼çš„ \texttt{tlmgr}:通用选项} + \label{fig:tlmgr-general-options} + } + \hfil + \vtop{\hsize=.39\linewidth + \null + \tlpng{tlmgr-paper-options}{\hsize} + \caption{\GUI\ 模å¼çš„ \texttt{tlmgr}ï¼šçº¸å¼ å°ºå¯¸é€‰é¡¹} + \label{fig:tlmgr-paper-options} + } +} +\end{figure} + +\TL{} 包å«ä¸€ä¸ªå« \prog{tlmgr} 的程åºï¼Œå®ƒå¯ä»¥ç”¨æ¥ç®¡ç†å®‰è£…åŽçš„ +ç³»ç»Ÿã€‚åƒ \prog{updmap}, \prog{fmtutil} å’Œ \prog{texconfig} è¿™äº›ç¨‹åº +ä»ç„¶åŒ…å«åœ¨å‘行版ä¸ï¼Œè€Œä¸”在将æ¥ä¹Ÿä¸ä¼šå‰”除,但是 \prog{tlmgr} 是一个 +优选的界é¢ã€‚它的功能包括: + +\begin{itemize*} +\item 列出方案 (scheme),集åˆå’Œå®‰è£…包; +\item 安装ã€å‡çº§ã€å¤‡ä»½ã€æ¢å¤ã€å¸è½½è½¯ä»¶åŒ…,并且能自动计算ä¾èµ–关系; +\item 查找和列出软件包; +\item 列出ã€æ·»åŠ å’Œåˆ é™¤ä¸åŒå¹³å°çš„å¯æ‰§è¡Œæ–‡ä»¶ï¼› +\item 改å˜å®‰è£…é€‰é¡¹ï¼Œæ¯”å¦‚çº¸å¼ å¤§å°å’Œæºæ–‡ä»¶ä½ç½® (å‚è§ç¬¬~\ref{sec:location}~节)。 +\end{itemize*} + +\subsection{图形界é¢æ¨¡å¼çš„ \cmdname{tlmgr}} +\prog{tlmgr} å¯ä»¥ç”¨ä»¥ä¸‹å‘½ä»¤ä»¥å›¾å½¢æ¨¡å¼ (图~\ref{fig:tlmgr-gui}) å¯åŠ¨ï¼š +\begin{alltt} +> \Ucom{tlmgr -gui} +\end{alltt} +Windows 下å¯ä»¥é€šè¿‡å¼€å§‹èœå•ï¼š\texttt{开始},\texttt{程åº}, +\texttt{TeX Live 2012},\texttt{TeX Live Manager}。 +在å‡å®šå®‰è£…包æºæ˜¯æœ‰æ•ˆä¸”å¯åŠçš„情况下,在点击 `Load' 以åŽï¼Œå®ƒä¼šåˆ—出 +所有å¯èŽ·å–的或已安装的软件包。 + +图~\ref{fig:tlmgr-general-options} å’Œ~\ref{fig:tlmgr-paper-options} +å±•ç¤ºäº†é€šç”¨å’Œçº¸å¼ å°ºå¯¸é€‰é¡¹ç•Œé¢ã€‚ + +\subsection{\cmdname{tlmgr} 命令行使用示例} + +在åˆå§‹å®‰è£…之åŽï¼Œä½ å¯ä»¥ç”¨ä¸‹é¢çš„命令更新系统: +\begin{alltt} +> \Ucom{tlmgr update -all} +\end{alltt} +如果这太激进了一点,先å°è¯•ï¼š +\begin{alltt} +> \Ucom{tlmgr update -all -dry-run} +\end{alltt} +或 (产生更少输出): +\begin{alltt} +> \Ucom{tlmgr update -list} +\end{alltt} + +下é¢è¿™ä¸ªæ›´å¤æ‚一点的例åä»Žæœ¬åœ°ç›®å½•æ·»åŠ äº†ä¸€ä¸ªæ–°çš„è½¯ä»¶åŒ…é›†åˆï¼Œç”¨äºŽ \XeTeX\ 引擎。 + +\begin{alltt} +> \Ucom{tlmgr -repository /local/mirror/tlnet install collection-xetex} +\end{alltt} +它会产生下é¢çš„输出 (节略部分): +\begin{fverbatim} +install: collection-xetex +install: arabxetex +... +install: xetex +install: xetexconfig +install: xetex.i386-linux +running post install action for xetex +install: xetex-def +... +running mktexlsr +mktexlsr: Updating /usr/local/texlive/2012/texmf/ls-R... +... +running fmtutil-sys --missing +... +Transcript written on xelatex.log. +fmtutil: /usr/local/texlive/2012/texmf-var/web2c/xetex/xelatex.fmt installed. +\end{fverbatim} + +å¦‚ä½ æ‰€è§ï¼Œ\prog{tlmgr} 会安装所有ä¾èµ–的包,也会处ç†æ‰€æœ‰åŒ…括刷新文件å +æ•°æ®åº“å’Œé‡æ–°ç”Ÿæˆæ ¼å¼æ–‡ä»¶åœ¨å†…的所有必è¦çš„安装åŽå·¥ä½œã€‚上é¢ç»™ \XeTeX{} +生æˆäº†æ–°çš„æ ¼å¼æ–‡ä»¶ã€‚ + +è¦æ述一个包 (或者集åˆã€å®‰è£…方案): +\begin{alltt} +> \Ucom{tlmgr show collection-latexextra} +\end{alltt} +会产生 +\begin{fverbatim} +package: collection-latexextra +category: Collection +shortdesc: LaTeX supplementary packages +longdesc: A large collection of add-on packages for LaTeX. +installed: Yes +revision: 14675 +\end{fverbatim} + +最åŽä¹Ÿæ˜¯æœ€é‡è¦çš„,查阅 \url{http://tug.org/texlive/tlmgr.html} +这里的完整文档,或者: +\begin{alltt} +> \Ucom{tlmgr -help} +\end{alltt} + +\section{有关 Windows å¹³å°çš„说明} +\label{sec:windows} + +\subsection{针对 Windows 的特å¾} +\label{sec:winfeatures} + +在 Windows 下,安装程åºé¢å¤–地åšäº†ä»¥ä¸‹ä¸€äº›äº‹æƒ…: +\begin{description} +\item[èœå•ä¸Žå¿«æ·æ–¹å¼ã€‚] 在开始èœå•ä¸ŠåŠ 入了新的`\TL{}'程åºèœå•ï¼Œä¸»è¦æ˜¯ä¸€äº› +\GUI{} ç¨‹åº (如 \prog{tlmgr}ã€\prog{texdoctk}ã€PS\_View (\prog{psv}),它是 +PostScript 预览程åº) 和一些文档的èœå•ã€‚ +\item[文件关è”。] 如果å¯ç”¨ï¼Œ\prog{TeXworks}ã€\prog{Dviout} +å’Œ \prog{PS\_view} 会æˆä¸ºå®ƒä»¬å¯¹åº”文件类型的默认程åºï¼Œæˆ–者在 +这些文件类型的“用...打开â€å³é”®èœå•ä¸å‡ºçŽ°ã€‚ +\item[ä½å›¾åˆ° eps 转æ¢å™¨ã€‚] 许多ä½å›¾æ ¼å¼ä¼šåœ¨å®ƒä»¬çš„“用...打开â€èœå•ä¸èŽ·å¾—一个 + \cmdname{bitmap2eps} 项目。Bitmap2eps 是一个使用 \cmdname{sam2p} 或 + \cmdname{bmeps} 的简å•è„šæœ¬ã€‚ +\item[自动路径调整。] ä¸éœ€è¦æ‰‹åŠ¨é…ç½®æ¥éª¤ã€‚ +\item[自动设置环境å˜é‡ã€‚] ä¸å†éœ€è¦æ‰‹åŠ¨çš„é…ç½®æ¥éª¤ã€‚ +\item[å安装程åºã€‚] 安装程åºä¸º \TL{} 创建了`æ·»åŠ /åˆ é™¤ç¨‹åº'æ¡ç›®ã€‚这与 +\TeX\ Live Manager \GUI\ çš„åˆ é™¤æŒ‰é’®ç›¸å¯¹åº”ã€‚ +\end{description} + +\subsection{Windows ä¸Šé™„åŠ çš„è½¯ä»¶} + +ä¸ºäº†ä½¿å®‰è£…æ›´åŠ å®Œæ•´ï¼Œ\TL{} 需è¦æ”¯æŒé‚£äº› Windows 机器上ä¸å¸¸è§çš„软件包。 +\TL{} æ供了以下缺失的部分: +\begin{description} +\item[Perl å’Œ Ghostscript。] 由于 Perl å’Œ Ghostscript çš„é‡è¦æ€§ï¼Œ\TL{} +æ供了这些程åºçš„`éšè—'æ‹·è´ã€‚需è¦è¿™äº›è½¯ä»¶æ”¯æŒçš„ \TL{} 程åºçŸ¥é“它们的ä½ç½®ï¼Œ +但它们ä¸ä¼šé€šè¿‡çŽ¯å¢ƒå˜é‡å’Œæ³¨å†Œè¡¨è®¾ç½®æ¥æš´éœ²æ‰€åœ¨çš„ä½ç½®ã€‚它们ä¸æ˜¯å®Œæ•´çš„安装版, +也ä¸ä¼šä¸Žä»»ä½• Perl 或 Ghostscript 系统安装程åºå†²çªã€‚ + +\item[PS\_View。] åŒæ—¶å®‰è£…的还有 PS\_View,一款 \PS{} å’Œ \acro{PDF} +æµè§ˆå™¨ï¼›è§å›¾~\ref{fig:psview}。 + +\begin{figure}[tb] +\tlpng{psview}{.6\linewidth} +\caption{PS\_View:å¯ä»¥èŽ·å¾—很高的放大å€æ•°ï¼}\label{fig:psview} +\end{figure} + +\item[dviout。] å¦å¤–安装的还包括一款 \acro{DVI} é¢„è§ˆç¨‹åº \prog{dviout}。 +å½“ä½ ç¬¬ä¸€æ¬¡ä½¿ç”¨ \cmdname{dviout} é¢„è§ˆæ–‡ä»¶æ—¶ï¼Œå› ä¸ºæ²¡æœ‰å®‰è£…å±å¹•æ˜¾ç¤ºå—体,它 +将生æˆå—体。一段时间åŽï¼Œä½ 所使用的大部分å—体都将生æˆï¼ŒéšåŽï¼Œä½ 将很少å†çœ‹ +到生æˆå—体的窗å£ã€‚ä½ å¯ä»¥ä»Ž (强烈推èçš„) 在线帮助ä¸èŽ·å¾—æ›´åŠ è¯¦ç»†çš„ä¿¡æ¯ã€‚ + +\item[\TeX{}works.] \TeX{}works 是一个集æˆäº† \acro{PDF} 阅读器的 + \TeX\ 编辑器。 + +\item[命令行工具。] 与常è§çš„ \TL{} 二进制文件一起,还安装了一些常è§çš„ +Unix 命令行工具的 Windows 移æ¤ç‰ˆæœ¬ã€‚它们包括 \cmdname{gzip}〠+\cmdname{unzip} 以åŠæ¥è‡ªäºŽ \cmdname{xpdf} 套装ä¸çš„一些工具 +(\cmdname{pdfinfo}, \cmdname{pdffonts}, \ldots)。 +虽然 \cmdname{xpdf} æµè§ˆå™¨æœ¬èº«æ²¡æœ‰ Windows ç‰ˆæœ¬ï¼Œä½†ä½ å¯ä»¥ä»Ž +\url{http://blog.kowalczyk.info/software/sumatrapdf} +下载基于 xpdf çš„ Sumatra \acro{PDF} æµè§ˆå™¨ï¼Œè¿™æ˜¯ä¸€ç§è§£å†³åŠžæ³•ã€‚ + +\item[fc-listã€fc-cache, \ldots] æ¥è‡ªäºŽ fontconfig 库的这些工具有助于 \XeTeX{} +å¤„ç† Windows 的系统å—ä½“ã€‚ä½ å¯ä»¥ä½¿ç”¨ \prog{fc-list} æ¥ç¡®å®šä¼ é€’ç»™ç» \XeTeX +扩展åŽçš„ \cs{font} 命令的å—体å称。如果需è¦ï¼Œé¦–å…ˆè¿è¡Œ \prog{fc-cache} æ›´æ–° +å—体信æ¯ã€‚ +\end{description} + + +\subsection{User Profile 目录相当于主目录} +\label{sec:winhome} + +Windows 下对应于 Unix 下的主目录的是 \verb|%USERPROFILE%|。 +在 Windows \acro{XP} 下,它通常ä½äºŽ +\verb|C:\Documents and Settings\<username>|ï¼› +在 Windows Vista å’Œ Windows~7 下是 \verb|C:\Users\<username>|。通常情况下,在 +\filename{texmf.cnf} 文件和 \KPS{} ä¸ï¼Œ\verb|~| 在 Windows å’Œ Unix 下å‡å¯ä»¥ +进行åˆé€‚的展开。 + +\subsection{Windows 注册表} +\label{sec:registry} + +Windows å°†å‡ ä¹Žæ‰€æœ‰çš„é…置数æ®å˜æ”¾åœ¨æ³¨å†Œè¡¨ä¸ã€‚注册表是包å«å‡ 个主支的一系 +列分层组织的分支。对于安装的程åºè€Œè¨€ï¼Œæœ€é‡è¦çš„主支是 \path{HKEY_CURRENT_USER} +å’Œ \path{HKEY_LOCAL_MACHINE},通常简写为 \path{HKCU} å’Œ \path{HKLM}。注册表的 +\path{HKCU} 部分ä½äºŽç”¨æˆ·çš„主目录 (å‚è§~\ref{sec:winhome}~节)。\path{HKLM} +通常ä½äºŽ Windows 目录的å目录ä¸ã€‚ + +在æŸäº›æƒ…况下,系统信æ¯å¯ä»¥ä»ŽçŽ¯å¢ƒå˜é‡èŽ·å¾—,但对于其它信æ¯ï¼Œå¦‚å¿«æ·æ–¹å¼çš„ä½ç½®ï¼Œ +则需è¦è®¿é—®æ³¨å†Œè¡¨ã€‚设置永久环境å˜é‡ä¹Ÿéœ€è¦è®¿é—®æ³¨å†Œè¡¨ã€‚ + + +\subsection{Windows æƒé™} +\label{sec:winpermissions} + +在较新的 Windows 版本ä¸ï¼Œæ™®é€šç”¨æˆ·ä¸Žç®¡ç†å‘˜æ˜¯æœ‰åŒºåˆ«çš„。åªæœ‰ç®¡ç†å‘˜èƒ½è‡ªç”±è®¿é—® +整个æ“作系统。尽管如æ¤ï¼Œåœ¨å®žé™…ä¸ï¼Œä½œä¸ºå—é™ç”¨æˆ·ä¸Žæ™®é€šç”¨æˆ·ï¼Œä½ 最能好能够æ +述所处的用户类别:作为一个管ç†å‘˜æ˜¯æƒ¯ä¾‹ï¼Œè€Œä¸æ˜¯ç‰¹ä¾‹ã€‚æ— è®ºå¦‚ä½•ï¼Œæˆ‘ä»¬åŠªåŠ›ä½¿å¾— +\TL{} 的安装ä¸éœ€è¦ç®¡ç†å‘˜æƒé™ã€‚ + +如果用户是管ç†å‘˜èº«ä»½ï¼Œä¼šæœ‰é€‰é¡¹å…许给所有用户安装,如果å¯ç”¨äº†è¿™ä¸ªé€‰é¡¹ï¼Œå°±ä¼š +给所有用户创建快æ·æ–¹å¼ï¼Œå¹¶ä¿®æ”¹ç³»ç»ŸçŽ¯å¢ƒå˜é‡ã€‚å¦åˆ™ï¼Œå®‰è£…程åºåªä¸ºå½“å‰ç”¨æˆ·åˆ›å»º +å¿«æ·æ–¹å¼ï¼Œå¹¶æ”¹å˜ç”¨æˆ·çŽ¯å¢ƒå˜é‡ã€‚ + +æ— è®ºç®¡ç†å‘˜çŠ¶æ€å¦‚何,\TL{} é¢„è®¾çš„é»˜è®¤æ ¹ç›®å½•æ€»æ˜¯ä½äºŽ \verb|%SystemDrive%| +下。对于当å‰ç”¨æˆ·å®‰è£…程åºæ€»æ˜¯è¦æµ‹è¯•ï¼Œæ ¹ç›®å½•æ˜¯å¦å¯å†™ã€‚ + +如果用户ä¸æ˜¯ç®¡ç†å‘˜ï¼Œå¹¶ä¸” \TeX{} å·²ç»å˜åœ¨æœç´¢è·¯å¾„ä¸ï¼Œåˆ™å¯èƒ½ä¼šå‡ºçŽ°é—®é¢˜ã€‚ +å› ä¸ºæœ‰æ•ˆè·¯å¾„æ˜¯ç”±ç³»ç»Ÿè·¯å¾„åŽæŽ¥ç”¨æˆ·è·¯å¾„组æˆï¼Œæ–°å®‰è£…çš„ \TL{} å¯èƒ½æ°¸è¿œä¸ä¼š +优先è¿è¡Œã€‚为了ä¿é™©èµ·è§ï¼Œå®‰è£…程åºä¸ºå‘½ä»¤æ示符创建快æ·æ–¹å¼ã€‚åœ¨è¿™ä¸ªå¿«æ· +æ–¹å¼ä¸ï¼Œæ–°å®‰è£…çš„ \TL{} çš„å¯æ‰§è¡Œç›®å½•è¢«é¢„设于本地的æœç´¢è·¯å¾„ä¸ã€‚当从这个 +å¿«æ·æ–¹å¼å¯åŠ¨å‘½ä»¤è¡Œä»»åŠ¡æ—¶ï¼Œä¾¿å¯ä»¥ä½¿ç”¨æ–°çš„ \TL{}。如果安装了 \TeX{}works, +其快æ·æ–¹å¼ä¹Ÿå°† \TL{} åŠ è¿›äº†æœç´¢è·¯å¾„ä¸ï¼Œæ‰€ä»¥å®ƒåº”该ä¸ä¼šå‡ºçŽ°è·¯å¾„问题。 + +对于 Vista å’Œ Windows~7 系统,还有å¦å¤–一个奇怪的问题:å³ä½¿ä½ 以管ç†å‘˜èº« +份登录系统,ä¾æ—§è¦æ±‚ä½ æ供管ç†å‘˜æƒé™ã€‚实际上,是å¦ä»¥ç®¡ç†å‘˜èº«ä»½ç™»å½•å¹¶ä¸ +是问题所在。相åï¼Œåœ¨ä½ å¸Œæœ›è¿è¡Œçš„程åºæˆ–å¿«æ·æ–¹å¼ä¸Šå•å‡»å³é”®ï¼Œç³»ç»Ÿé€šå¸¸ä¼šç»™å‡º +“以管ç†å‘˜èº«ä»½æ‰§è¡Œâ€è¿™æ ·çš„选择。 + +\subsection{å¢žåŠ Windows å’Œ Cygwin 下的最大内å˜é‡} +\label{sec:cygwin-maxmem} + +Windows å’Œ Cygwin (å‚è§ç¬¬~\ref{sec:cygwin}~节以了解 Cygwin 安装细节) çš„ +用户å¯èƒ½ä¼šåœ¨æ‰§è¡Œç‰¹å®š \TL\ 程åºæ—¶é‡åˆ°å†…å˜ä¸è¶³çš„情况。例如 \prog{asy} 在 +ä½ å°è¯•åˆ†é…一个 25,000,000 个实数的数组时å¯èƒ½ä¼šå†…å˜ä¸è¶³ï¼Œè€Œ Lua\TeX\ 在 +ä½ å°è¯•å¤„ç†ä¸€ä¸ªåŒ…å«å¤§é‡å—体的文档时å¯èƒ½ä¼šå†…å˜ä¸è¶³ã€‚ + +对 Cygwinï¼Œä½ å¯ä»¥æŒ‰ç…§ Cygwin ç”¨æˆ·æŒ‡å— +(\url{http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html}) ä¸çš„办法 +å¢žåŠ å¯ç”¨å†…å˜é‡ã€‚ + +对 Windowsï¼Œä½ å¿…é¡»åˆ›å»ºä¸€ä¸ªæ–‡ä»¶ï¼Œä¾‹å¦‚å‘½å为 \code{moremem.reg}ï¼ŒåŒ…å« +如下内容: + +\begin{sverbatim} +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\Software\Cygwin] +"heap_chunk_in_mb"=dword:ffffff00 +\end{sverbatim} + +\noindent 然åŽä»¥ç®¡ç†å‘˜èº«ä»½æ‰§è¡Œå‘½ä»¤ \code{regedit /s moremem.reg}。(如果 +ä½ åªå¸Œæœ›ä¿®æ”¹å½“å‰ç”¨æˆ·è€Œä¸æ˜¯æ•´ä¸ªç³»ç»Ÿçš„内å˜ï¼Œæ”¹ç”¨ \code{HKEY\_CURRENT\_USER}。) + +\section{Web2C 用户指å—} + +\Webc{} 是一整套 \TeX{} 相关程åºçš„集åˆï¼š\TeX{} 本身ã€\MF{}ã€\MP{}ã€\BibTeX{}, +ç‰ç‰ã€‚它是 \TL{} çš„æ ¸å¿ƒã€‚\Webc{} 的主页åŠæœ€æ–°çš„手册ç‰éƒ½åœ¨ +\url{http://tug.org/web2c}。 + +我们简å•çš„介ç»ä¸€ä¸‹å®ƒçš„历å²ï¼šæœ€æ—©å®ƒæ˜¯ç”± Tomas Rokicki 在 1987 年实现的,他开å‘了第一套 +å°† \TeX{} 系统的代ç 转æ¢ä¸º C è¯è¨€ä»£ç 的系统,基于的是 Unix 下 change files +的原ç†ï¼Œchange files çš„ +工作是 Howard Trickey å’Œ Pavel Curtis 完æˆçš„。Tim Morgan åŽæ¥æˆä¸ºäº†è¿™å¥—系统的维护 +者,在这期间,软件的å称改为了 Web-to-C\@。在许多其他贡献者的帮助下,1990 å¹´ Karl Berry +接手了这个工作,到 1997 年,他把这项工作交给了 Olaf Weber。Olaf Weber 在 2006 å¹´åˆ +把这项工作交还给了 Karl。 + +\Webc{} 系统å¯ä»¥åœ¨ Unixã€32 ä½ Windows 系统ã€\MacOSX{} 和其他的一些æ“作系统下è¿è¡Œã€‚ +它使用的是 Knuth 用 \web{} æ–‡å¦ç¼–程è¯è¨€ç¼–写的 \TeX{} 和其他基本程åºçš„原始代ç ,将其转æ¢ä¸º C +æºç 。用这ç§æ–¹æ³•å¤„ç†çš„æ ¸å¿ƒçš„ \TeX{} 程åºåŒ…括: + +\begin{cmddescription} +\item[bibtex] 维护å‚考文献。 +\item[dvicopy] 展开 \dvi{} ä¸çš„虚拟å—体 (virtual font) 引用。 +\item[dvitomp] å°† \dvi{} 转æ¢ä¸º MPX (MetaPost 图片)。 +\item[dvitype] å°† \dvi{} 转æ¢ä¸ºå¯è¯»æ–‡æœ¬ã€‚ +\item[gftodvi] ç”Ÿæˆ Generic æ ¼å¼å—体的 proofsheet。 +\item[gftopk] å°† Generic æ ¼å¼å—体转æ¢ä¸º packed æ ¼å¼å—体。 +\item[gftype] å°† Generic æ ¼å¼å—体转æ¢ä¸ºå¯è¯»æ–‡æœ¬ã€‚ +\item[mf] 创建å—体。 +\item[mft] 以漂亮的方å¼æŽ’版输出 \MF{} 的代ç 。 +\item[mpost] 创建技术性æ’图。 +\item[patgen] 创建æ–å—规则文件。 +\item[pktogf] å°† Packed æ ¼å¼å—体转æ¢ä¸º generic æ ¼å¼å—体。 +\item[pktype] å°† PK æ ¼å¼è½¬æ¢ä¸ºå¯è¯»çš„文本。 +\item[pltotf] 将纯文本的 property list 转æ¢ä¸º TFM æ ¼å¼ã€‚ +\item[pooltype] 显示 \web{} çš„ pool 文件。 +\item[tangle] å°† \web{} 转æ¢ä¸º Pascal 代ç 。 +\item[tex] 排版。 +\item[tftopl] å°† TFM æ ¼å¼è½¬æ¢ä¸ºçº¯æ–‡æœ¬çš„ property list æ ¼å¼ã€‚ +\item[vftovp] 将虚拟å—ä½“æ ¼å¼è½¬æ¢ä¸º virtual property list æ ¼å¼ã€‚ +\item[vptovf] å°† virtual property list æ ¼å¼è½¬æ¢ä¸ºè™šæ‹Ÿå—ä½“æ ¼å¼ã€‚ +\item[weave] å°† \web{} 转æ¢ä¸º \TeX。 +\end{cmddescription} + +\noindent 这些程åºçš„详细功能和调用è¯æ³•éƒ½åœ¨å…¶å„自软件包的文档ä¸æœ‰è¯´æ˜Žï¼Œåœ¨ \Webc{} çš„æ–‡ +æ¡£ä¸ä¹Ÿæœ‰ç›¸å…³ä»‹ç»ã€‚ä¸è¿‡ï¼Œæœ‰äº›è§„则对所有这些程åºéƒ½æ˜¯é€šç”¨çš„ï¼Œäº†è§£è¿™äº›è§„åˆ™æœ‰åŠ©äºŽä½ æ›´å¥½çš„ä½¿ç”¨ +\Webc{}。 + +所有的程åºéƒ½æŽ¥å—这些 \GNU æ ‡å‡†çš„é€‰é¡¹ï¼š +\begin{ttdescription} +\item[-{}-help] 显示基本使用说明。 +\item[-{}-verbose] 显示详细的执行过程。 +\item[-{}-version] 显示版本信æ¯ï¼Œç„¶åŽé€€å‡ºã€‚ +\end{ttdescription} + +所有的 \Webc{} 程åºå‡ä½¿ç”¨ \KPS{} (\url{http://tug.org/kpathsea}) 路径æœç´¢åº“æ¥æŸ¥æ‰¾æ–‡ä»¶ï¼Œ +这套库结åˆçŽ¯å¢ƒå˜é‡å’Œé…置文件的 +使用æ¥ä¼˜åŒ–å¤§é‡ \TeX{} 文件的æœç´¢ã€‚\Webc{} å¯ä»¥åœ¨å¤šäºŽä¸€å¥—çš„ç›®å½•æ ‘ä¸‹æ‰§è¡ŒæŸ¥æ‰¾ï¼Œè¿™å¯ä»¥æ–¹ +便维护类似 \TeX{} æ ‡å‡†å‘è¡Œç‰ˆå’Œæœ¬åœ°ç‰ˆæœ¬çš„æ‰©å±•è¿™æ ·ä¸¤å¥—ç›®å½•æ ‘ã€‚ä¸ºäº†ä¼˜åŒ–æœç´¢çš„速度,æ¯ä¸ªç›® +å½•æ ‘çš„é¡¶å±‚ç›®å½•ä¸‹éƒ½æœ‰ä¸€ä¸ª \file{ls-R} 文件,这个文件里包å«äº†æ‰€æœ‰æ¤ç›®å½•ä¸‹æ–‡ä»¶çš„å称和对 +应的相对路径。 + +\subsection{Kpathsea 路径æœç´¢} +\label{sec:kpathsea} + +我们首先介ç»ä¸€ä¸‹ \KPS{} 库的的通用路径æœç´¢æ–¹å¼ã€‚ + +我们将目录å称称作\emph{è·¯å¾„å…ƒç´ },而把用冒å·æˆ–者分å·åˆ†éš”çš„è·¯å¾„å…ƒç´ åˆ—è¡¨ç§° +作\emph{æœç´¢è·¯å¾„}。æœç´¢è·¯å¾„å¯èƒ½æ˜¯è®¸å¤šç§æ¥æºçš„组åˆï¼Œæ¯”如在 \samp{.:/dir} 路径下 +æœç´¢ \samp{my-file} 这个文件,\KPS{} å°†é€ä¸ªå°è¯•è·¯å¾„ä¸çš„æ¯ä¸ªå…ƒç´ :首先是 +\file{./my-file},然åŽæ˜¯ \file{/dir/my-file},并返回找到的第一个结果 (或者 +也å¯ä»¥è¿”回所有的结果)。 + +为了符åˆæ‰€æœ‰æ“ä½œç³»ç»Ÿä¸‹çš„ä¹ æƒ¯ï¼Œ\KPS{} åœ¨éž Unix 系统下使用的路径分隔符å¯èƒ½ä¸æ˜¯å†’å· +(\samp{:}) 和斜æ (\samp{/})。 + +åœ¨æ£€æŸ¥ä¸€ä¸ªå…·ä½“çš„è·¯å¾„å…ƒç´ \var{p} 时,\KPS{} 首先检查是å¦æœ‰ç¬¦åˆ \var{p} 的文件å +æ•°æ®åº“ (è§ç¬¬~\pageref{sec:filename-database}~页的``文件åæ•°æ®åº“'') å˜åœ¨ï¼Œä¹Ÿå°±æ˜¯è¯´ï¼Œ +是å¦æœ‰æ•°æ®åº“æ£å¥½å¯¹åº”ç€ \var{p} 的一个å‰ç¼€ã€‚如果å˜åœ¨ï¼Œå°±åœ¨æ•°æ®åº“ä¸å¯»æ‰¾ç¬¦åˆçš„路径åŽç¼€ã€‚ + +è¦æ˜¯æ²¡æœ‰è¿™ç§æ•°æ®åº“å˜åœ¨ã€åˆæˆ–者所有的数æ®åº“都ä¸èƒ½å’ŒæŒ‡å®šçš„路径å‰ç¼€åŒ¹é…上ã€å†æˆ–者找到的数 +æ®åº“里没有进一æ¥çš„匹é…,就è¦æœç´¢æ–‡ä»¶ç³»ç»Ÿäº† (å‰æ是我们没在路径å‰åŠ 上 \samp{!!} ï¼Œåˆ +或者æœç´¢æ—¶å°±æŒ‡å®šäº†è¿™æ˜¯ä¸€æ¬¡``必定å˜åœ¨ (must exist)''åž‹çš„æœç´¢æ–¹å¼)。æ¤æ—¶ \KPS{} å°† +æ ¹æ®è·¯å¾„å…ƒç´ æž„å»ºä¸€ä¸ªéœ€è¦æ£€æŸ¥çš„目录列表,é€ä¸ªå°è¯•è¿™äº›ç›®å½•ï¼Œè¯•å›¾æ‰¾åˆ°æŒ‡å®šçš„文件。 + +æœç´¢ \samp{.vf} 文件和 \TeX{} 用 \cs{openin} 命令读入的文件时,会指定``文件必 +定å˜åœ¨ (must exist)''这个选项。而有些文件 (比如 \file{cmr10.vf}) å¯èƒ½ä¸å˜åœ¨ï¼Œ +花费时间在ç£ç›˜ä¸Šå¯¹å®ƒè¿›è¡Œæœç´¢æ˜¯ä¸å€¼å¾—çš„ã€‚å› æ¤ï¼Œå¦‚æžœä½ å®‰è£…äº†æ–°çš„ \samp{.vf} 文件åŽæ²¡æœ‰ +æ›´æ–° \file{ls-R},那这个文件将永远找ä¸åˆ°ã€‚æœç´¢æ—¶ä¼šä¼˜å…ˆåœ¨æ•°æ®åº“寻找,然åŽå†åŽ»æœç´¢ç£ç›˜ã€‚ +一旦找到了就立å³åœæ¢æœç´¢ï¼Œè¿”回结果。 + +尽管最简å•ä¹Ÿæœ€å¸¸è§çš„è·¯å¾„å…ƒç´ æ˜¯ç›®å½•å称,\KPS{} æœç´¢çš„路径里还是å¯ä»¥ä½¿ç”¨å…¶ä»–é¢å¤–功能的: +多层默认值,环境å˜é‡å称ã€é…置文件值ã€ç”¨æˆ·ä¸»ç›®å½•ï¼Œä»¥åŠé€’å½’å¼å目录查找。所以我们把 \KPS{} +å°†æœç´¢è·¯å¾„å˜æ¢ä¸ºä¸€ä¸ªæˆ–多个基本目录å的过程称为\emph{展开}è·¯å¾„å…ƒç´ çš„è¿‡ç¨‹ã€‚å±•å¼€çš„æ–¹å¼ +按执行的顺åºåœ¨åŽç»å°èŠ‚里有å™è¿°ã€‚ + +注æ„,如果æœç´¢çš„文件给出了ç»å¯¹è·¯å¾„或者明确的相对路径,å³ä»¥ \samp{/} 或 \samp{./} 或 +\samp{../} 起始,\KPS{} å°†åªæ£€æŸ¥è¯¥æ–‡ä»¶æ˜¯å¦å˜åœ¨ã€‚ + +\ifSingleColumn +\else +\begin{figure*} +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{一份示例性的é…置文件的例å} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{路径的æ¥æº} +\label{sec:path-sources} + +æœç´¢è·¯å¾„å¯èƒ½æ¥è‡ªè®¸å¤šåœ°æ–¹ï¼Œ\KPS{} 是按照下é¢çš„顺åºæŸ¥æ‰¾çš„: + +\begin{enumerate} +\item + 用户设置的环境å˜é‡ï¼Œä¾‹å¦‚ \envname{TEXINPUTS}\@。以 . 连接æŸä¸ªç¨‹åºå称的环境å˜é‡ +有更高的优先级,比如若æ£åœ¨è¿è¡Œçš„程åºæ˜¯ \samp{latex},那 \envname{TEXINPUTS.latex} +将比 \envname{TEXINPUTS} 优先级更高。 +\item + 专门针对æŸä¸ªç¨‹åºçš„é…置文件,比如 \cmdname{dvips} çš„ \file{config.ps} 里出现 +\samp{S /a:/b} è¿™æ ·ä¸€è¡Œã€‚ +\item \KPS{} é…置文件 \file{texmf.cnf},包å«ç±»ä¼¼ + \samp{TEXINPUTS=/c:/d} è¿™æ ·çš„ä¸€è¡Œ (å‚è§ä¸‹é¢çš„解释)。 +\item 编译时的缺çœå€¼ã€‚ +\end{enumerate} +\noindent ä½ å¯ä»¥é€šè¿‡è°ƒè¯•é€‰é¡¹çœ‹åˆ°æ‰€æœ‰çš„这些值 (å‚è§ç¬¬~\pageref{sec:debugging}~页的 +``调试æ“作'')。 + +\subsubsection{é…置文件} + +\KPS{} 读入\emph{è¿è¡Œæ—¶é…置文件} \file{texmf.cnf} æ¥èŽ·å¾—æœç´¢è·¯å¾„和其他定义。 +而这个 \file{texmf.cnf} å˜æ”¾çš„路径则是在 \envname{TEXMFCNF} å˜é‡é‡Œå®šä¹‰çš„, +但我们ä¸å»ºè®®è®¾ç½®è¿™ä¸ª (或者任何) 环境å˜é‡ã€‚ + +ä½œä¸ºä»£æ›¿ï¼Œæ ‡å‡†çš„å®‰è£…å°†äº§ç”Ÿæ–‡ä»¶ \file{.../2012/texmf.cnf}ã€‚å¦‚æžœä½ å¿…é¡»ä¿®æ”¹ç¼ºçœ +值 (一般ä¸éœ€è¦),这是修改的地方。主é…置文件是 +\file{.../2012/texmf/web2c/texmf.cnf}ã€‚ä½ ä¸åº”该修改åŽè€…ï¼Œå› ä¸ºåœ¨å‘行版本被更新 +åŽä¼šä¸¢å¤±ä¿®æ”¹ã€‚ + +æœç´¢è·¯å¾„里\emph{所有的} \file{texmf.cnf} 文件都会被读入,而先读入的优先级更高。 +比如æœç´¢è·¯å¾„是 \verb|.:$TEXMF|,那么文件 \file{./texmf.cnf} 里é¢çš„值è¦æ¯” +\verb|$TEXMF/texmf.cnf| 里边的优先。 + +\begin{itemize} +\item + 以 \code{\%} 表示å•è¡Œæ³¨é‡Šã€‚ +\item + 忽略空行。 +\item + 行末的 \bs{} 作为连接符,å³æŠŠä¸‹ä¸€è¡Œç›´æŽ¥æŽ¥ä¸Šã€‚但ä¿ç•™ä¸‹ä¸€è¡Œè¡Œé¦–的空白。 +\item + æ‰€æœ‰å‰©ä½™çš„è¡Œæ ¼å¼å¦‚下: +\begin{alltt} + \var{variable}[.\var{progname}] [=] \var{value} +\end{alltt}% + \samp{=} å·å’Œç©ºç™½éƒ½æ˜¯å¯é€‰çš„。 +\item + \ttvar{variable} (å˜é‡) å…许包å«ä»»ä½•å—符,除空白ã€\samp{=}ã€\samp{.} + 之外。ä¸è¿‡åªç”¨ \samp{A-Za-z\_} 是最ä¿é™©çš„。 +\item + 如果 \samp{.\var{progname}} (程åºå) å˜åœ¨ï¼Œåˆ™è¯¥å®šä¹‰åªå¯¹æ£åœ¨è¿è¡Œçš„åå« + \texttt{\var{progname}} 或 \texttt{\var{progname}.exe} + 的程åºèµ·ä½œç”¨ã€‚è¿™å¯ä»¥è®©ç»™ä¸åŒç§ç±»çš„ \TeX{} 程åºè®¾ç½®ä¸åŒçš„æœç´¢è·¯å¾„。 +\item \var{value} (值) å…许任何 \code{\%} 与 \samp{@} 之外的å—符出现。 + ä¸æ”¯æŒåœ¨ç‰å·å³ä¾§ä½¿ç”¨ \code{\$\var{var}.\var{prog}} è¿™æ ·çš„å†™æ³•ã€‚ + 如果在 Unix 下,\var{value} ä¸çš„ \samp{;}\ å—符会被转æ¢ä¸º + \samp{:}ã€‚å¦‚æžœä½ å¸Œæœ›è®© Unix, \acro{MS-DOS} å’Œ Windows 里都用åŒä¸€ä¸ª + \file{texmf.cnf},这会很有用。 +\item + 在读入所有定义åŽå†å¼€å§‹å±•å¼€ï¼Œæ‰€ä»¥ä½ å¯ä»¥å¼•ç”¨åŽè¾¹æ‰å®šä¹‰çš„å˜é‡ã€‚ +\end{itemize} +展示上é¢æ‰€æœ‰å†…容的一段é…置文件 +\ifSingleColumn +如下: + +\verbatiminput{examples/ex5.tex} +\else +è§å›¾~\ref{fig:config-sample}. +\fi + +\subsubsection{路径展开} +\label{sec:path-expansion} + +å’Œ Unix shell 类似,\KPS{} 能够识别æœç´¢è·¯å¾„ä¸çš„特殊å—符。比如一个å¤æ‚的路径 +\verb+~$USER/{foo,bar}//baz+ï¼Œå°†å±•å¼€ä¸ºè¿™æ ·çš„å目录:在 \texttt{\$USER} +的主目录下的 \file{foo} 或 \file{bar} 目录ä¸ï¼Œä¸”åŒ…å« \file{baz} +文件或目录。这ç§å±•å¼€å°†åœ¨ä¸‹é¢è§£é‡Šã€‚ +%$ +\subsubsection{默认展开} +\label{sec:default-expansion} + +如果最高优先级 (å‚è§ç¬¬~\pageref{sec:path-sources}~页的``路径æ¥æº'') +çš„æœç´¢è·¯å¾„ä¸åŒ…å«ä¸€ä¸ª\emph{é¢å¤–的冒å·} (å³å‰ç½®ã€åŽç½®æˆ–è¿žç»çš„冒å·),\KPS{} 将在 +æ¤å¤„æ’入次高优先级的æœç´¢è·¯å¾„。如果æ’入的那个路径里也有é¢å¤–的冒å·ï¼ŒåŒæ ·çš„æ¥éª¤å°†å‘生 +在更次以åŠä¼˜å…ˆçº§çš„路径上。å‡è®¾çŽ¯å¢ƒå˜é‡è®¾ç½®ä¸º + +\begin{alltt} +> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} + +而 \file{texmf.cnf} 里的 \code{TEXINPUTS} 值为 + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} + +则用于æœç´¢çš„最终值为: + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +å› ä¸ºæ²¡å¿…è¦æ’入多个相åŒçš„值,所以 \KPS{} åªä¼šä¿®æ”¹ä¸€ä¸ªé¢å¤–çš„ \samp{:},其他的ä¸å˜ã€‚ +它首先检查å‰ç½®çš„ \samp{:},然åŽæ˜¯æœ«å°¾çš„ \samp{:},最åŽæ˜¯è¿žç»çš„ \samp{:}。 + +\subsubsection{大括å·å±•å¼€} +\label{sec:brace-expansion} + +大括å·å±•å¼€æ˜¯ä¸€é¡¹æœ‰ç”¨çš„特性,其作用是把 \verb+v{a,b}w+ è¿™æ ·çš„è½¬æ¢ä¸º +\verb+vaw:vbw+,å…许嵌套使用。通过把 \code{\$TEXMF} 赋值为一个括å·åˆ—表, +å¯ä»¥æž„é€ å‡ºå¤šå¥— \TeX{} 层级结构。例如在 \file{texmf.cnf} 里有下é¢çš„定义 +(简化的例å): +\begin{verbatim} + TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN} +\end{verbatim} +è¿™æ ·ä¸€æ¥ï¼Œå½“ä½ è®¾ç½® +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +的时候,检查完当å‰ç›®å½•åŽï¼Œä¾æ¬¡æ£€æŸ¥çš„路径是 +\code{\$TEXMFHOME/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$TEXMFVAR/tex} +å’Œ \code{\$TEXMFMAIN/tex} (åŽä¸¤ä¸ªåªåœ¨ \file{ls-R} æ•°æ®åº“ä¸æœç´¢)ã€‚è¿™æ ·ç»´æŠ¤ +两套并行的 \TeX{} 结构就很方便的,一套是``固定 (frozen)''çš„ (比如放在 \CD\ 上) +而å¦ä¸€å¥—æ˜¯åœ¨æ–°ç‰ˆæœ¬å‡ºçŽ°æ—¶å°±æ›´æ–°çš„ã€‚å› ä¸ºæ‰€æœ‰çš„å®šä¹‰é‡Œéƒ½ç”¨åˆ°äº† \code{\$TEXMF}, +æ‰€ä»¥ä½ å¯ä»¥ç¡®ä¿¡æ—¶å¸¸æ›´æ–°çš„那个版本肯定是先被找到的。 + +\subsubsection{å目录展开} +\label{sec:subdirectory-expansion} + +åœ¨è·¯å¾„å…ƒç´ é‡Œçš„ç›®å½•å称 \var{d} åŽé¢æŽ¥è¿žä½¿ç”¨ä¸¤ä¸ªæˆ–更多连ç»çš„æ–œæ ,表示 \var{d} çš„ +所有å目录:首先是直接处于 \var{d} 下的那些,然åŽæ˜¯è¿™äº›å目录的å目录,ä¾æ¤ç±»æŽ¨ã€‚ +æ¯å±‚的目录出现的顺åºæ˜¯\emph{ä¸ä¸€å®š}的。 + +å¦‚æžœä½ åœ¨ \samp{//} åŽé¢è¿˜æŒ‡å®šäº†æ–‡ä»¶å,匹é…çš„å°†åªæ˜¯é‚£äº›åŒ…å«äº†æŒ‡å®šæ–‡ä»¶çš„路径。 +比如 \samp{/a//b} 将展开为路径 \file{/a/1/b}, \file{/a/2/b}, +\file{/a/1/1/b} ç‰ç‰ï¼Œä½†ä¸ä¼šå±•å¼€ä¸º \file{/a/b/c} 或 \file{/a/1}。 + +å¯ä»¥åœ¨å•ä¸ªè·¯å¾„å…ƒç´ é‡Œä½¿ç”¨å¤šä¸ª \samp{//},但出现在路径开头的 \samp{//} +将被忽略。 + +\subsubsection{特殊å—符与其æ„义:简è¦è¯´æ˜Ž} + +下é¢çš„列表总结了 \KPS{} é…置文件ä¸å‡ºçŽ°çš„特殊å—符: + +% need a wider space for the item labels here. +\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} +\begin{ttdescription} +\item[\CODE{:}] 路径分隔符,在路径的å‰è¾¹æˆ–者末尾时表示默认的展开方å¼ã€‚\par +\item[\CODE{;}] éž Unix 系统下的路径分隔符 (å’Œ \code{:} åŠŸèƒ½ä¸€æ ·)。 +\item[\CODE{\$}] å˜é‡å±•å¼€ã€‚ +\item[\CODE{\string~}] 表示用户的个人主目录。 +\item[\CODE{\char`\{...\char`\}}] Brace expansion. +\item[\CODE{//}] å目录展开 (å¯ä»¥å‡ºçŽ°åœ¨é™¤è·¯å¾„开头外的任æ„ä½ç½®)。 +\item[\CODE{\%}] 注释的起始。 +\item[\CODE{\bs}] 连接下一行的å—符 (以支æŒè·¨è¡Œçš„设置项)。 +\item[\CODE{!!}] \emph{åª}在数æ®åº“ä¸æœç´¢æ–‡ä»¶ï¼Œ\emph{ä¸}æœå¯»ç£ç›˜ã€‚ +\end{ttdescription} + + +\subsection{文件åæ•°æ®åº“} +\label{sec:filename-database} + +\KPS{} 使用了一些方法æ¥å‡å°‘æœç´¢æ—¶çš„ç£ç›˜è®¿é—®æ¬¡æ•°ã€‚尽管如æ¤ï¼Œå¦‚æžœå®‰è£…çš„æ–‡ä»¶è¶³å¤Ÿå¤šï¼Œåœ¨å„ +个å¯èƒ½çš„目录下æœç´¢æŸä¸ªæ–‡ä»¶ä»ç„¶å¯èƒ½èŠ±ä¸Šå¾ˆé•¿æ—¶é—´ (尤其是在必须é历数百个å—体目录的时候)。 +å› æ¤ï¼Œ\KPS{} 使用一个专门构建的纯文本``æ•°æ®åº“''文件,这个文件å«åš \file{ls-R},它将 +æ–‡ä»¶å’Œç›®å½•è¿›è¡Œæ˜ å°„ï¼Œé¿å…对ç£ç›˜çš„大é‡æœç´¢ã€‚ + +第二个数æ®åº“ \file{aliases} å…è®¸ä½ ç»™ \file{ls-R} ä¸çš„文件指定其他的åå—。有助于 +帮助æºæ–‡ä»¶ç¬¦åˆ \acro{DOS} 8.3 命å规范。 + +\subsubsection{文件åæ•°æ®åº“} +\label{sec:ls-R} + +å‰è¾¹å·²ç»è§£é‡Šè¿‡ï¼Œä¸»æ–‡ä»¶åæ•°æ®åº“çš„å称必须是 \file{ls-R}ã€‚ä½ å¯ä»¥åœ¨æ¯ä¸ªéœ€è¦æœç´¢çš„ +\TeX{} ç›®å½•æ ‘ (缺çœæ˜¯ \code{\$TEXMF}) ä¸‹æ”¾ç½®ä¸€ä¸ªè¿™æ ·çš„æ–‡ä»¶ã€‚\KPS{} 在 +\code{TEXMFDBS} 指定的路径ä¸å¯»æ‰¾è¿™äº› \file{ls-R} 文件。 + +推è使用å‘行版ä¸åŒ…å«çš„ \code{mktexlsr} 脚本æ¥åˆ›å»ºå’Œç»´æŠ¤ \samp{ls-R} 文件。å„ç±» +\samp{mktex} 脚本也å¯èƒ½ä¼šé—´æŽ¥è°ƒç”¨è¿™ä¸ªè„šæœ¬ã€‚实际上,这个脚本åªæ˜¯æ‰§è¡Œä¸‹é¢çš„命令: + +\begin{alltt} +cd \var{/your/texmf/root} && \path|\|ls -1LAR ./ >ls-R +\end{alltt} + +æ„味ç€ä½ 的系统的 \code{ls} å‘½ä»¤çš„è¾“å‡ºæ ¼å¼å¿…é¡»æ£ç¡® (\GNU \code{ls} 是没 +问题的)。è¦ä¿è¯æ•°æ®åº“åŠæ—¶æ›´æ–°ï¼Œæœ€ç®€å•çš„方法是定期通过 \code{cron} æ¥é‡å»ºã€‚ + +如果文件在数æ®åº“ä¸æ‰¾ä¸åˆ°ï¼Œç¼ºçœæƒ…况下 \KPS{} 会在ç£ç›˜ä¸Šæœç´¢ã€‚如果æŸä¸ªç‰¹å®šçš„è·¯å¾„å…ƒç´ +是以 \samp{!!} 起始的,就\emph{åªä¼š}åœ¨é’ˆå¯¹è¿™ä¸€å…ƒç´ çš„æ•°æ®åº“ä¸æŸ¥æ‰¾è€Œä¸æœç´¢ç£ç›˜ã€‚ + + +\subsubsection{kpsewhich: 独立的路径æœç´¢} +\label{sec:invoking-kpsewhich} + +\texttt{kpsewhich} 程åºå°†è·¯å¾„æœç´¢ä»Žå…¶ä»–专用程åºä¸ç‹¬ç«‹å‡ºæ¥ï¼Œå®ƒå¯ä»¥ä½œä¸ºç±»ä¼¼ \code{find} +ä¸€æ ·çš„ç¨‹åºï¼Œä¸“门在 \TeX{} 层级结构ä¸å®šä½æ–‡ä»¶ (这在å‘行版ä¸çš„ \samp{mktex}\dots\ +脚本ä¸ä½¿ç”¨å¾—éžå¸¸å¤š)。 + +\begin{alltt} +> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} +\end{alltt} +\ttvar{option} 处的选项å¯ä»¥ç”¨ \samp{-} 也å¯ä»¥ç”¨ \samp{-{}-} æ¥èµ·å§‹ï¼Œå¹¶æŽ¥å— +任何ä¸é€ æˆç–‘义的缩写。 + +\KPS{} 将第一个éžé€‰é¡¹çš„å‚数作为文件åæ¥æŸ¥æ‰¾ï¼Œå¹¶è¿”回找到的第一个文件。它ä¸æä¾› +寻找所有相åŒå称文件的功能 (ä½ å¯ä»¥ä½¿ç”¨ Unix çš„ \samp{find} 程åºæ¥è¾¾åˆ°è¿™ä¸ªåŠŸèƒ½)。 + +下é¢ä»‹ç»äº†ä¸€äº›æ¯”较常è§çš„选项。 + +\begin{ttdescription} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{} + 将解æžåº¦è®¾ç½®ä¸º \ttvar{num},这个选项åªå½±å“ \samp{gf} 文件和 \samp{pk} + 文件的查找。为了与 \cmdname{dvips} 兼容,æä¾› \samp{-D} + 这个åŒä¹‰çš„å‚数,默认值是 600。 + +\item[\texttt{-{}-format=\var{name}}]\mbox{}\\ + å°†æŸ¥æ‰¾çš„æ–‡ä»¶æ ¼å¼è®¾ç½®ä¸º \ttvar{name}。默认情况下是通过文件åæ¥çŒœæµ‹æ ¼å¼çš„。对于扩展å +æœ‰äºŒä¹‰æ€§çš„æ ¼å¼ï¼Œæ¯”如 \MP{} 支æŒæ–‡ä»¶å’Œ \cmdname{dvips} é…置文件,必须以 \KPS{} 已知 +çš„åç§°æŒ‡å®šæ ¼å¼ï¼Œæ¯”如 \texttt{tex} 或 \texttt{enc files}。è¿è¡Œ + \texttt{kpsewhich -{}-help} ä¼šæ˜¾ç¤ºæ ¼å¼çš„列表。 + +\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ + 设置模å¼ä¸º \ttvar{string},åªå½±å“ \samp{gf} å’Œ \samp{pk} + 文件的查找。默认情况匹é…所有的模å¼ã€‚ +\item[\texttt{-{}-must-exist}]\mbox{}\\ + 尽一切å¯èƒ½æ‰¾åˆ°æ–‡ä»¶ï¼ŒåŒ…括直接在ç£ç›˜ä¸Šæœå¯»ã€‚默认情况下为了效率考虑,åªæ£€æŸ¥ + \file{ls-R} æ•°æ®åº“里的内容。 +\item[\texttt{-{}-path=\var{string}}]\mbox{}\\ + ä¸é€šè¿‡æ–‡ä»¶åæ¥çŒœæµ‹è·¯å¾„,沿 \ttvar{string} 指出的路径æœç´¢ + (也使用冒å·åˆ†éš”)ã€‚æ”¯æŒ \samp{//} 和所有常è§çš„展开方å¼ã€‚\samp{-{}-path} 选项 + å’Œ \samp{-{}-format} 选项是互斥的。 +\item[\texttt{-{}-progname=\var{name}}]\mbox{}\\ + 将执行查找的程åºå称设为 \texttt{\var{name}}。 + 这会通过 \texttt{.\var{progname}} 特性影å“æœç´¢è·¯å¾„。 + 缺çœå€¼æ˜¯ \cmdname{kpsewhich}。 +\item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\ + 显示用于查找 \texttt{\var{name}} 类型文件的路径。和 \samp{-{}-format} + é€‰é¡¹ä¸€æ ·ï¼Œå¯ä»¥ä½¿ç”¨æ‰©å±•å (\code{.pk}, \code{.vf}, ç‰ç‰) 也å¯ä»¥ä½¿ç”¨å…¨å。 +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + 将调试选项 (ç‰çº§) 设置为 \texttt{\var{num}}。 +\end{ttdescription} + + +\subsubsection{使用举例} +\label{sec:examples-of-use} + +现在我们看看实际使用 \KPS{} 的例å。这里是一个简å•çš„æœç´¢ï¼š + +\begin{alltt} +> \Ucom{kpsewhich article.cls} + /usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} +我们寻找的是 \file{article.cls} æ–‡ä»¶ã€‚å› ä¸º \samp{.cls} åŽç¼€å·²ç»è¯´æ˜Žäº†æ–‡ä»¶çš„类型,所以 +我们ä¸éœ€è¦ç‰¹åˆ«æŒ‡æ˜ŽæŸ¥æ‰¾çš„是 \optname{tex} 类型的文件 (也就是è¦åœ¨ (\TeX{} æºæ–‡ä»¶ç›®å½•ä¸‹æŸ¥æ‰¾)。 +我们在 \samp{texmf-dist} çš„ \file{tex/latex/base} å目录下找到了这个文件。与之类似, +ä¸‹åˆ—æ‰€æœ‰æ–‡ä»¶éƒ½é¡ºåˆ©æ‰¾åˆ°ï¼Œå› ä¸ºå…¶æ‰©å±•å没有二义。 +\begin{alltt} +> \Ucom{kpsewhich array.sty} + /usr/local/texmf-dist/tex/latex/tools/array.sty +> \Ucom{kpsewhich latin1.def} + /usr/local/texmf-dist/tex/latex/base/latin1.def +> \Ucom{kpsewhich size10.clo} + /usr/local/texmf-dist/tex/latex/base/size10.clo +> \Ucom{kpsewhich small2e.tex} + /usr/local/texmf-dist/tex/latex/base/small2e.tex +> \Ucom{kpsewhich tugboat.bib} + /usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib +\end{alltt} + +å¦å¤–,最åŽä¸€ä¸ªæ˜¯ \textsl{TUGBoat} æ–‡ç« çš„ \BibTeX{} å‚考文献数æ®åº“。 + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} + +\file{.pk} 类型的å—体ä½å›¾æ–‡ä»¶æ˜¯ç»™ \cmdname{dvips} 或者 \cmdname{xdvi} +è¿™ç§æ˜¾ç¤ºç¨‹åºæä¾›çš„ã€‚å› ä¸º \TL{} 里没有预生æˆçš„ Computer Modern \samp{.pk} +å—体,所以没有找到任何内容\Dash \TL{} 默认使用 Type~1 版本的。 + +\begin{alltt} +> \Ucom{kpsewhich wsuipa10.pk} +\ifSingleColumn /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk +\else /usr/local/texmf-var/fonts/pk/ljfour/public/ +... wsuipa/wsuipa10.600pk +\fi\end{alltt} + +而这个å—体 (Washington 大å¦çš„一套注音å—æ¯è¡¨) 就需è¦ç”Ÿæˆ \samp{.pk} 文件了。我们默认的 +\MF{} 模å¼æ˜¯ \texttt{ljfour},基础解æžåº¦æ˜¯ 600\dpi{} (dots per inch)ï¼Œæ‰€ä»¥ä¼šå¾—åˆ°è¿™æ ·ä¸€ä¸ªæ–‡ä»¶ã€‚ +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} + +一旦指明我们需è¦å¯»æ‰¾çš„åªæ˜¯ 300\dpi{} 的文件时 (\texttt{-dpi=300}),就会å‘现系统里 +没有符åˆè¦æ±‚çš„æ–‡ä»¶ã€‚è¿™æ · \cmdname{dvips} 或 \cmdname{xdvi} 会使用 \cmdname{mktexpk} +脚本去创建所需的 \texttt{.pk} 文件。 + +下é¢æˆ‘们将注æ„åŠ›è½¬å‘ \cmdname{dvips} 的头文件和é…置文件。首先看看最常用的一个,\file{tex.pro} +prologue 文件,然åŽæ£€æŸ¥é€šç”¨é…置文件 \file{config.ps} å’Œ \PS{} å—ä½“æ˜ å°„æ–‡ä»¶ +\file{psfonts.map}\Dash 从 2004 å¹´å¼€å§‹ï¼Œæ˜ å°„æ–‡ä»¶å’Œç¼–ç 文件都在 \dirname{texmf} +ç›®å½•æ ‘ä¸‹æœ‰å…¶è‡ªå·±çš„æœç´¢è·¯å¾„äº†ã€‚å› ä¸º \samp{.ps} åŽç¼€å¯èƒ½ä¼šæœ‰äºŒä¹‰ï¼Œæˆ‘们必须指明æ„æ€æ˜¯ +\optname{dvips config}。 + +\begin{alltt} +> \Ucom{kpsewhich tex.pro} + /usr/local/texmf/dvips/base/tex.pro +> \Ucom{kpsewhich --format="dvips config" config.ps} + /usr/local/texmf/dvips/config/config.ps +> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map +\end{alltt} + +è¿™æ ·æˆ‘ä»¬å¯ä»¥æ›´ä»”细地分æžä¸€ä¸‹ \acro{URW} Times çš„ \PS{} 支æŒæ–‡ä»¶ã€‚ä¾ç…§æ ‡å‡†çš„å—体 +命å方案,这些文件的å‰ç¼€æ˜¯ \samp{utm}。首先查询的是é…置文件,其ä¸åŒ…å«çš„是 map +文件的å称: + +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" config.utm} + /usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} + +这个文件的内容是 + +\begin{alltt} + p +utm.map +\end{alltt} + +å³æŒ‡å‘ \file{utm.map} 文件,也就是我们下一æ¥è¦æ‰¾çš„。 + +\begin{alltt} +> \Ucom{kpsewhich utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} + +这个 map 文件定义了 URW 集åˆä¸çš„ Type~1 \PS{} å—体文件å。内容差ä¸å¤šæ˜¯ä¸‹è¾¹è¿™æ · +(我们åªåˆ—出了其ä¸ä¸€éƒ¨åˆ†): + +\begin{alltt} +utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb +utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb +utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb +utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} + +比如我们å¯ä»¥ä»¥ä¸€ä¸ª Times Roman å—体 \file{utmr8a.pfb} 为例,在 \file{texmf} +目录下的 Type~1 å—体文件ä¸å¯»æ‰¾å®ƒçš„ä½ç½®ï¼š + +\begin{alltt} +> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +\else /usr/local/texmf-dist/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + +çŽ°åœ¨ä½ å¯ä»¥å‘现,追寻æŸä¸ªæ–‡ä»¶çš„下è½æ˜¯å¦‚æ¤æ–¹ä¾¿ã€‚å°¤å…¶æ˜¯åœ¨ä½ æ€€ç–‘æ‰¾åˆ°çš„æ–‡ä»¶é”™äº†çš„æ—¶å€™ï¼Œè¿™äº› +功能éžå¸¸é‡è¦ï¼Œå› 为 \cmdname{kpsewhich} åªèƒ½å‘Šè¯‰ä½ 找到的第一个文件。 + +\subsubsection{调试æ“作} +\label{sec:debugging} + +æœ‰æ—¶ä½ å¯èƒ½ä¼šéœ€è¦åˆ†æžç¨‹åºæ˜¯å¦‚何解æžæ–‡ä»¶å¼•ç”¨çš„。\KPS{} æ供了多层调试输出æ¥å®žçŽ°è¿™ä¸ªåŠŸèƒ½ï¼š + +\begin{ttdescription} +\item[\texttt{\ 1}] \texttt{stat} 调用 (ç£ç›˜ä¸Šçš„查询)。在 \file{ls-R} + æ•°æ®åº“åŠæ—¶æ›´æ–°çš„æƒ…å†µä¸‹å‡ ä¹Žä¸ä¼šæœ‰ä»€ä¹ˆè¾“出。 +\item[\texttt{\ 2}] 对散列表的引用 (例如 \file{ls-R} æ•°æ®åº“ï¼Œæ˜ å°„æ–‡ä»¶ï¼Œé…置文件)。 +\item[\texttt{\ 4}] 文件的打开与关é—æ“作。 +\item[\texttt{\ 8}] \KPS{} æœç´¢çš„文件类型的通用路径信æ¯ã€‚有助于寻找针对æŸä¸€æ–‡ä»¶çš„ +特定路径。 +\item[\texttt{16}] æ¯ä¸ªè·¯å¾„å…ƒç´ çš„ç›®å½•åˆ—è¡¨ (åªåœ¨æœ¬åœ°ç£ç›˜ä¸Šæœç´¢æ—¶æœ‰ç”¨)。 +\item[\texttt{32}] 文件æœç´¢ã€‚ +\item[\texttt{64}] å˜é‡çš„值。 +\end{ttdescription} +ç‰çº§ \texttt{-1} å°†å¯ç”¨ä¸Šè¿°æ‰€æœ‰é€‰é¡¹ï¼Œå®žé™…上这是最方便的设置方法了。 + +类似地,在 \cmdname{dvips} 程åºä¸è®¾ç½®ä¸Šè¿°è°ƒè¯•é€‰é¡¹çš„组åˆï¼Œä½ å°±å¯ä»¥å‡º \cmdname{dvips} +是从哪里找到它所需的文件的。å¦ä¸€æ–¹é¢ï¼Œå¦‚果找ä¸åˆ°æŸä¸ªæ–‡ä»¶ï¼Œè°ƒè¯•è¾“出也会显示程åºä»Žå“ªäº›ç›®å½•è¿›è¡Œ +äº†æŸ¥æ‰¾ï¼Œä½ ä¹Ÿå¯ä»¥æ®æ¤åˆ¤æ–出问题出在哪里。 + +ä¸€èˆ¬è€Œè¨€ï¼Œå› ä¸ºæ‰€æœ‰çš„ç¨‹åºéƒ½åœ¨å…¶å†…部调用 \KPS{} åº“ï¼Œä½ å¯ä»¥è®¾ç½® \envname{KPATHSEA\_DEBUG} +环境å˜é‡æ¥é€‰æ‹©è°ƒè¯•å‚数,将这个å˜é‡è®¾ç½®ä¸ºä¸Šè¿°å‚æ•°çš„ç»„åˆ (åŠ æ³•) 以获得对应的功能。 + +(Windows 用户请注æ„ï¼šå› ä¸ºåœ¨ Windows 下ä¸å®¹æ˜“把所有信æ¯éƒ½é‡å®šå‘到固定的文件ä¸ï¼Œä¸ºäº†æ–¹ä¾¿è¯Šæ–, +ä½ å¯ä»¥ä¸´æ—¶è®¾ç½® \texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log})。 + +让我们以一个简å•çš„ \LaTeX{} æºæ–‡ä»¶ \file{hello-world.tex} 为例,其内容如下: +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +这个å°æ–‡ä»¶åªä½¿ç”¨äº† \file{cmr10} å—体,我们å¯ä»¥çœ‹çœ‹ \cmdname{dvips} æ˜¯å¦‚ä½•ç”Ÿæˆ \PS{} +文件的 (我们希望使用 Type~1 版本的 Computer Modern å—体,所以使用了 \texttt{-Pcms} +å‚æ•°)。 +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +æ¤æ—¶æˆ‘们将 \cmdname{dvips} 的调试ç‰çº§ 4 (表示å—体路径) å’Œ \KPS\ çš„è·¯å¾„å…ƒç´ å±•å¼€ç»„åˆåˆ° +一起 (å‚è§ \cmdname{dvips} å‚考手册,\OnCD{texmf/doc/html/dvips/dvips_toc.html})。 +(ç¨ä½œæ•´ç†çš„) 输出è§å›¾~\ref{fig:dvipsdbga}。 +\begin{figure*}[tp] +\centering +\input{examples/ex6a.tex} +\caption{寻找é…置文件}\label{fig:dvipsdbga} + +\bigskip + +\input{examples/ex6b.tex} +\caption{寻找 prolog 文件}\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{寻找å—体文件}\label{fig:dvipsdbgc} +\end{figure*} + +\cmdname{dvips} å¯åŠ¨åŽå°±å¼€å§‹æœå¯»å…¶éœ€è¦ä½¿ç”¨çš„文件。首先找到的是 \file{texmf.cnf}, +它给出了用于进一æ¥æŸ¥è¯¢å…¶ä»–文件的路径,然åŽæ‰¾åˆ°çš„是 \file{ls-R} 文件åæ•°æ®åº“ (用于 +优化文件æœç´¢é€Ÿåº¦) å’Œ \file{aliases} 文件 (用于创建åŒä¸€æ–‡ä»¶çš„多个别å,比如为较自然 +的长文件å创建 \acro{DOS} 8.3 é£Žæ ¼çš„çŸåˆ«å)ã€‚ç„¶åŽ \cmdname{dvips} 去寻找它的通用 +é…置文件 \file{config.ps},接下æ¥æŸ¥æ‰¾ä¸ªäººå®šåˆ¶æ–‡ä»¶ \file{.dvipsrc} (ä¸è¿‡ä¸Šè¿°ä¾‹åä¸å¹¶ +未找到,显示 \emph{not found})ã€‚æœ€åŽ \cmdname{dvips} 找到了 Computer Modern +\PS{} å—体的é…置文件 \file{config.cms} (å› ä¸ºæ‰§è¡Œ \cmdname{dvips} 时使用了 +\texttt{-Pcms} 选项)。这个文件里包å«äº†å—体的 \TeX{} å称, \PS{} å称和文件å的对 +应关系。 + +\begin{alltt} +> \Ucom{more /usr/local/texmf/dvips/cms/config.cms} + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map +\end{alltt} +于是 \cmdname{dvips} 接下æ¥å¯»æ‰¾è¿™äº›æ–‡ä»¶ï¼Œå†åŠ ä¸Šå›ºå®šè½½å…¥çš„ï¼Œé€šç”¨æ˜ å°„æ–‡ä»¶ +\file{psfonts.map} (这个文件里包å«å¸¸ç”¨ \PS{} å—ä½“çš„æ˜ å°„ï¼Œå‚è§ç¬¬ +\ref{sec:examples-of-use}~节的最åŽä¸€éƒ¨åˆ†ï¼Œè®¨è®ºäº† \PS{} æ˜ å°„æ–‡ä»¶çš„å¤„ç†)。 + +这时候 \cmdname{dvips} å‘用户表示它的å˜åœ¨ï¼š +\begin{alltt} +This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) +\end{alltt} +\ifSingleColumn +然åŽå¼€å§‹å¯»æ‰¾ prolog 文件 \file{texc.pro}: +\begin{alltt}\small +kdebug:start search(file=texc.pro, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro +\end{alltt} +\else +然åŽå¼€å§‹å¯»æ‰¾ prolog 文件 \file{texc.pro} (è§å›¾~\ref{fig:dvipsdbgb})。 +\fi + +找到所需文件åŽï¼Œ\cmdname{dvips} è¾“å‡ºæ—¥æœŸå’Œæ—¶é—´ï¼Œå¹¶å‘ŠçŸ¥æˆ‘ä»¬å®ƒå°†ç”Ÿæˆ +\file{hello-world.ps} 文件,需è¦ç”¨åˆ° \file{cmr10} å—体文件, +这个å—体属于``常驻 (resident) çš„'',也就是ä¸éœ€è¦è½½å…¥ä½å›¾æ–‡ä»¶çš„å—体: +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} +寻找并找到了 \file{cmr10.tfm} 文件。然åŽå†æ¬¡å¼•ç”¨äº†ä¸€äº› prolog 文件 (æ¤å¤„略去), +最终找到了 \file{cmr10.pfb} 这个 Type~1 å—体,并将它包å«åœ¨è¾“å‡ºæ–‡ä»¶ä¸ (è§æœ€åŽ +一行)。 +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{è¿è¡Œæ—¶é€‰é¡¹} + +\Webc{} å¦ä¸€é¡¹æœ‰ç”¨çš„特性是å¯ä»¥é€šè¿‡ \KPS{} 读入的è¿è¡Œæ—¶æ–‡ä»¶ \file{texmf.cnf} +æ¥æŽ§åˆ¶ä¸€ç³»åˆ—的内å˜å‚æ•° (具体而言是数组的大å°)。内å˜çš„设置å¯ä»¥åœ¨è¿™ä¸ªæ–‡ä»¶çš„第三部分找到。 +比较é‡è¦çš„å‡ ä¸ªè®¾ç½®æ˜¯ï¼š + +\begin{ttdescription} +\item[\texttt{main\_memory}] + 总的å¯ç”¨å†…å˜æ•°ï¼Œä»¥ word 为å•ä½ï¼Œ\TeX{}, \MF{} å’Œ \MP\ å—æ¤é™åˆ¶ã€‚ + æ¯ä¿®æ”¹ä¸€æ¬¡éƒ½å¿…é¡»é‡æ–°ç”Ÿæˆä¸€ä¸ªæ–°çš„æ ¼å¼æ–‡ä»¶ã€‚æ¯”å¦‚ä½ å¯ä»¥ç”Ÿæˆä¸€ä¸ª``巨型''版本的 + \TeX{},将其å˜ä¸º \texttt{hugetex.fmt}。 +\item[\texttt{extra\_mem\_bot}] + 为``大型'' \TeX{} æ•°æ®ç»“构预留的é¢å¤–空间:boxes, glue, breakpoint ç‰ã€‚å¦‚æžœä½ ä½¿ç”¨ + \PiCTeX{} 时特别有用。 +\item[\texttt{font\_mem\_size}] + \TeX{} 用于å˜å‚¨å—体数æ®çš„ word 数。大致ç‰äºŽè½½å…¥çš„所有 \acro{TFM} 文件的总和。 +\item[\texttt{hash\_extra}] + 为å˜å‚¨æŽ§åˆ¶åºåˆ—而设置的散列表的é¢å¤–空间。一般散列表足够å˜å‚¨å°†è¿‘ 10,000 + 个控制åºåˆ—ã€‚å¦‚æžœä½ æŽ’ç‰ˆçš„æ˜¯ä¸€æœ¬æœ‰å¤§é‡äº¤å‰å¼•ç”¨çš„书ç±ï¼Œè¿™ä¸ªå€¼å¯èƒ½ä¸å¤Ÿç”¨ã€‚默认的 + \texttt{hash\_extra} 是 \texttt{50000}。 +\end{ttdescription} + +\noindent 当然,这项功能并éžçœŸæ£çš„动æ€å†…å˜å’Œæ•°ç»„分é…的替代,但考虑到动æ€åˆ†é…在现在的 \TeX{} +太难实现,æ‰é€šè¿‡è¿™äº›é€‰é¡¹æ供了一些çµæ´»æ€§ã€‚ + +\section{致谢} + +\TL{} æ˜¯åœ¨å‡ ä¹Žæ‰€æœ‰ \TeX{} 用户组织的å力下完æˆçš„。这个版本由 Karl Berry +监制。下é¢åˆ—出了过去和现在主è¦çš„贡献者: + +\begin{itemize*} + +\item 英国ã€å¾·å›½ã€è·å…°å’Œæ³¢å…°çš„ \TeX{} 用户组织 +(分别为 \acro{TUG}, \acro{DANTE} e.V., \acro{NTG}, å’Œ \acro{GUST}),他们为所在 +地区的 \TeX{} 社群æ供了必备的技术和管ç†åŸºç¡€è®¾æ–½ã€‚è¯·åŠ å…¥æœ¬åœ°çš„ \TeX ç”¨æˆ·ç»„ç»‡ï¼ +(å‚è§ \url{http://tug.org/usergroups.html}。) + +\item \acro{CTAN} 团队,值得一æ的是 Robin Fairbairns, Jim Hef{}feron, +å’Œ Rainer Sch\"opfã€‚ä»–ä»¬è´Ÿè´£åˆ†å‘ \TL{} 光盘镜åƒï¼Œä¸ºè½¯ä»¶åŒ…æ›´æ–°æ供支撑,\TL{} +æ£æ˜¯åŸºäºŽè¿™äº›è½¯ä»¶åŒ…构建的。 + +\item Nelson Beebe,他为 \TL\ æ供了许多平å°ï¼Œè‡ªå·±ä¹Ÿè¿›è¡Œäº†è¯¦å°½çš„测试。 + +\item John Bowmanï¼Œä»–å¯¹å…ˆè¿›çš„å›¾å½¢ç¨‹åº Asymptote åšäº†è®¸å¤šä¿®æ”¹ï¼Œä½¿ä¹‹èƒ½åœ¨ \TL{} +ä¸å·¥ä½œã€‚ + +\item Peter Breitenlohner å’Œ \eTeX\ å›¢é˜Ÿï¼Œä»–ä»¬åˆ›é€ äº†æœªæ¥ \TeX\ 的稳定基础。 +åŒæ—¶ç‰¹åˆ«æ„Ÿè°¢ Peter,他为整个 \TL ä¸ \GNU\ autotools 的使用æ供了主è¦çš„帮助。 + +\item Jin-Hwan Cho 和整个 DVIPDFM$x$ å›¢é˜Ÿï¼Œä»–ä»¬åˆ›é€ äº†è¿™ä¸ªä¼˜ç§€çš„ DVI 输出程åºï¼Œ +以åŠå¯¹é…置问题åŠæ—¶çš„回应。 + +\item Thomas Esser,如果没有他优秀的 \teTeX{} 套件,\TL{} æ ¹æœ¬ä¸å¯èƒ½å˜åœ¨ã€‚ + +\item Michel Goossens,他一起编写了原始的文档。 + +\item Eitan Gurari,他ä¸çŸ¥ç–²å€¦åœ°æ”¹è¿›ç€çš„ \TeX4ht 程åºç”¨äºŽåˆ›å»ºè¿™ä»½æ–‡æ¡£çš„ \HTML{} +版本,年å¤ä¸€å¹´ã€‚Eitan 于 2009 å¹´ 6 月过早地离开了我们,我们希望把这份文档 +献给它,以志纪念。 + +\item Hans Hagen,他对 \ConTeXt\ æ ¼å¼ (\url{http://pragma-ade.com}) åšäº† +许多测试和修改,使之能够包å«åœ¨ \TL{} 的框架下。 + +\item \Thanh, Martin Schr\"oder,和 pdf\TeX\ 团队,他们æŒç»ä¸æ–地改进 \TeX\ +的功能。 + +\item Hartmut Henkel,他对 pdf\TeX\, Lua\TeX ç‰ç¨‹åºçš„å¼€å‘起到了é‡è¦çš„贡献。 + +\item Taco Hoekwater,他对 \MP{} å’Œ (Lua)\TeX\ (\url{http://luatex.org}) +é‡è¦çš„å¼€å‘使之焕å‘新的活力。他还å‚与了将 \ConTeXt\ èžå…¥ \TL{}ã€ç»™ +Kpathsea æ·»åŠ å¤šçº¿ç¨‹åŠŸèƒ½ï¼Œç‰ç‰è®¸å¤šå·¥ä½œã€‚ + +\item Pawe{\l} Jackowski,他创建了 Windows ä¸‹çš„å®‰è£…ç¨‹åº \cmdname{tlpm}, +å’Œ Tomasz {\L}uczakï¼Œå› ä¸ºä»–çš„ \cmdname{tlpmgui} 被用在了以å‰çš„版本。 + +\item Akira Kakuto,以他的 \acro{W32TEX} å‘行版 +(\url{http://w32tex.org/}) 为基础æ供了 Windows 下的二进制文件,以åŠè®¸å¤š +其他的贡献。 + +\item Jonathan Kew,他开å‘了éžå‡¡çš„ Xe\TeX{} 引擎并花了大é‡æ—¶é—´å’Œç²¾åŠ›é›†æˆåˆ° +\TL{} ä¸ã€‚ä»¥åŠ Mac\TeX 安装程åºçš„早期版本,还有我们推èçš„å‰ç«¯ \TeX{}works。 + +\item Dick Koch 他维护了 Mac\TeX\ (\url{http://tug.org/mactex}) 这个和 +\TL{} è”ç³»éžå¸¸ç´§å¯†çš„å‘行版本。 + +\item Reinhard Kotucha,他对 \TL{} 2008 的基础架构和安装程åºèµ·åˆ°äº†é‡è¦è´¡çŒ®ï¼Œ +ä»¥åŠ Windows ä¸‹çš„ç ”ç©¶æ€§å·¥ä½œï¼Œ\texttt{getnonfreefonts} 脚本,ç‰ç‰ã€‚ + +\item Siep Kroonenbergï¼Œä¹Ÿå› ä¸ºä»–å¯¹ \TL{} 2008 基础架构和安装程åºçš„é‡è¦è´¡çŒ®ï¼Œ +尤其是在 Windows 上。他还花了大é‡çš„时间更新手册,介ç»äº†è¿™äº›ç‰¹æ€§ã€‚ + +\item Heiko Oberdiekï¼Œå› ä¸ºä»–çš„ \pkgname{epstopdf} 包和许多其他的工作,压缩 +巨大的 \pkgname{pst-geo} æ•°æ®æ–‡ä»¶ä½¿æˆ‘们得以包å«å®ƒä»¬ï¼Œæœ€é‡è¦çš„è¿˜æ˜¯å› ä¸ºä»–åœ¨ +\pkgname{hyperref} å®åŒ…上优秀的工作。 + +\item Petr Ol\v{s}ak,他éžå¸¸è®¤çœŸåœ°å调和检查所有的æ·å…‹è¯å’Œæ–¯æ´›ä¼å…‹è¯èµ„料。 + +\item Toshio Oshima,他æ供了 Windows 下的 \cmdname{dviout} 预览工具。 + +\item Manuel P\'egouri\'e-Gonnard,他对å®åŒ…æ›´æ–°ã€æ–‡æ¡£æ”¹è¿›ä»¥åŠ +\cmdname{texdoc} å¼€å‘上的努力。 + +\item Fabrice Popineau,他创建了 \TL{} 最早的 Windows 支æŒã€‚ + +\item Norbert Preining,他是 \TL{} 2008 基础架构和安装程åºçš„总设计师,还 +è´Ÿè´£å调了 Debian 版本的 \TL{} 工作 (å’Œ Frank K\"uster 一起),并æ供了许 +多建议。 + +\item Sebastian Rahtz,他是 \TL{} 的创始者,并维护了它许多年。 + +\item Phil Taylor,他设置了 BitTorrent 下载。 + +\item Tomasz Trzeciak,他为 Windows å¼€å‘æ供了广泛的帮助。 + +\item Vladimir Volovich,他很大地帮助解决了许多移æ¤å’Œç»´æŠ¤çš„问题,尤其是令我们能够 +å°† \cmdname{xindy} 包å«è¿›æ¥ã€‚ + +\item Staszek Wawrykiewicz,\TL{} 主è¦çš„测试人员,åŒæ—¶è¿˜æ˜¯è®¸å¤šé‡è¦æ³¢å…°è¯æ”¯æŒçš„åè°ƒ +人员:å—体ã€Windows 安装,和其他许多工作。 + +\item Olaf Weber,他对 \Webc{} è€å¿ƒçš„维护。 + +\item Gerben Wierda,他创建和维护了原æ¥çš„ \MacOSX\ 支æŒï¼Œå¹¶å‚与了大é‡é›†æˆå’Œæµ‹è¯•å·¥ä½œã€‚ + +\item Graham Williams,他整ç†äº†è½¯ä»¶åŒ…çš„ä¾èµ–情况的 \TeX\ Catalogue。 + +\end{itemize*} + +二进制版本的编译者: +Ettore Aldrovandi (\pkgname{i386-solaris}, \pkgname{x86\_64-solaris}), +Alan Braslau (\pkgname{amd64-kfreebsd}, \pkgname{i386-kfreebsd}), +Peter Breitenlohner (\pkgname{x86\_64-linux}), +Karl Berry (\pkgname{i386-linux}), +Ken Brown (\pkgname{i386-cygwin}), +Akira Kakuto (\pkgname{win32}), +Dick Koch (\pkgname{universal-darwin}, \pkgname{x86\_64-darwin}), +Nikola Le\v{c}i\'c (\pkgname{amd64-freebsd}, \pkgname{i386-freebsd}), +Mojca Miklavec (\pkgname{mipsel-linux}), +Norbert Preining (\pkgname{alpha-linux}), +Thomas Schmitz (\pkgname{powerpc-linux}), +Boris Veytsman (\pkgname{armel-linux}), +Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-solaris}), +Olaf Weber (\pkgname{mips-irix})。 +关于 \TL{} 编译进程的信æ¯ï¼Œè¯·æŸ¥é˜… \url{http://tug.org/texlive/build.html}。 + +这份手册的翻译者: +Boris Veytsman (ä¿„è¯), +Jjgod Jiang, Jinsong Zhao, Yue Wang, \& Helin Gai (ä¸æ–‡), +Uwe Ziegenhagen (German), +Manuel P\'egouri\'e-Gonnard (法è¯), +Marco Pallante (æ„大利è¯), +Nikola Le\v{c}i\'c (塞尔维亚è¯), +Petr Sojka \& Jan Busa (æ·å…‹\slash 斯洛ä¼å…‹è¯), +Staszek Wawrykiewicz (波兰è¯)。\TL{} 文档的主页是 +\url{http://tug.org/texlive/doc.html}。 + +当然,最é‡è¦çš„感谢应该致予 Donald Knuth,感谢他å‘明了 \TeX,也感谢他将 +\TeX\ èµ ä¸Žå…¨ä¸–ç•Œã€‚ + +\section{å‘行历å²} +\label{sec:history} + +\subsection{过去} + +1993 年末è·å…° \TeX{} 用户组开始为 \acro{MS-DOS} ç”¨æˆ·å¼€å‘ 4All\TeX{} \CD{} 时, +我们就开始了相关的讨论,并希望在æ¤æ—¶ä¸ºæ‰€æœ‰çš„æ“作系统æ供一个å•ä¸€çš„ã€åˆç†çš„ \CD{}。当时 +那是一个过于å®ä¼Ÿçš„ç›®æ ‡ï¼Œä½†çš„ç¡®æ»‹ç”Ÿäº†éžå¸¸æˆåŠŸçš„ 4All\TeX{} \CD{},åŒæ—¶ \acro{TUG} +技术委员会工作组也开始设计 \emph{\TeX{} 目录结构} (\url{http://tug.org/tds}), +以指明如何创建一套一致而å¯æŽ§çš„集åˆï¼Œå›Šæ‹¬æ‰€æœ‰ \TeX{} 相关的文件。\TDS{} 的完整è‰æ¡ˆåœ¨ 1995 +å¹´ 12 月的 \textsl{TUGboat} 上出版,并åˆæ¥ç¡®å®šæœŸæœ›çš„产å“将是在 \CD{} 上出现的范例 +ç»“æž„ã€‚ä½ çŽ°åœ¨ä½¿ç”¨çš„è¿™ä¸ªå‘行版æ£æ˜¯å·¥ä½œç»„审议的直接结果。4All\TeX{} \CD{} çš„æˆåŠŸä¹Ÿè¯´æ˜Ž +å¦‚æžœæœ‰ä¸€ä¸ªç±»ä¼¼è¿™æ ·çš„æ˜“äºŽä½¿ç”¨çš„ç³»ç»Ÿï¼Œå¯¹ Unix 用户肯定很有帮助,这是 \TL{} 最主è¦çš„出å‘点。 + +我们在 1995 年秋天开始å°è¯•æž„建一个新的 \CD{} (基于 \TDS{}),并很快å‘现 Thomas Esser +çš„ \teTeX{} å·²ç»æ˜¯æ¯”较ç†æƒ³çš„é…ç½®ï¼Œå¹¶å› ä¸ºåœ¨å®ƒæž„å»ºæ—¶å°±å·²ç»è€ƒè™‘了跨文件系统的兼容性问题, +也已具有多平å°æ”¯æŒã€‚Thomas åŒæ„帮助我们,并在 1996 å¹´åˆå¼€å§‹äº†æ£å¼çš„工作。第一版是在 +1996 年五月å‘行的。到 1997 å¹´åˆï¼ŒKarl Berry 完æˆäº† \Webc{} 的一个é‡å¤§çš„更新版本, +å°†å‡ ä¹Žæ‰€æœ‰ Thomas Esser åŠ å…¥ \teTeX{} çš„ç‰¹æ€§å›Šæ‹¬åœ¨å†…ï¼Œè¿™æ ·æˆ‘ä»¬å†³å®šåœ¨ \teTeX{} çš„ +\texttt{texconfig} è„šæœ¬çš„è¾…åŠ©ä¸‹ï¼ŒåŸºäºŽæ ‡å‡†çš„ \Webc{} æ¥åˆ¶ä½œç¬¬äºŒç‰ˆçš„ \CD{}。 +第 3 版的 \CD{} 基于 Olaf Weber 完æˆçš„ \Webc{} 的一个é‡å¤§ä¿®æ£ç‰ˆæœ¬ï¼Œ7.2。与æ¤åŒæ—¶ï¼Œ +\teTeX{} 的一个新版本出现了,\TL{} 也包å«äº†å…¶ä¸ç»å¤§å¤šæ•°ç‰¹æ€§ã€‚第 4 版ä¾ç…§ä¸Šé¢çš„模å¼è¿› +行,使用了新版本的 \teTeX{} 和新版本的 \Webc{} (7.3)。系统æ¤æ—¶ä¹ŸåŒ…括了完整的 Windows +下的é…置。 + +在第 5 版 (2000 å¹´ 3 月) ä¸æ£€æŸ¥å¹¶ä¿®æ£äº† \CD{} 的许多部分,更新了数百个软件包。软件 +包的详细说明现在å˜æ”¾åœ¨ XML 文件ä¸ã€‚ä¸è¿‡ \TeX\ Live 5 的首è¦å˜åŒ–还是移除了所有的éžè‡ªç”±è½¯ +件。\TL{} çš„æ‰€æœ‰éƒ¨åˆ†çŽ°åœ¨éƒ½åœ¨å‘ Debian Free Software Guidelines 兼容的方å‘改进, +我们尽最大努力检查了所有软件包的授æƒå议,欢迎为我们指出错误。 + +第 6 版 (2001 å¹´ 7 月) 更新了许多内容。最é‡å¤§çš„一项是新的安装形å¼ï¼Œç”¨æˆ·å¯ä»¥æ›´ç²¾ç¡® +地选择所需的软件集åˆã€‚与è¯è¨€ç›¸å…³çš„集åˆä¹Ÿé‡æ–°ç»„ç»‡è¿‡äº†ï¼Œè¿™æ ·ä¸€æ¥ï¼Œé€‰å®šæŸä¸ªè¯è¨€é›†åˆæ—¶ä¼šè‡ª +动安装å®åŒ…ã€å—体ç‰æ–‡ä»¶ï¼Œå¹¶è‡ªåŠ¨è®¾ç½®å¥½ \texttt{language.dat}。 + +2002 年出现的第 7 ç‰ˆé‡Œæ˜¾è‘—çš„æ›´æ–°æ˜¯æ·»åŠ äº† \MacOSX{} 的支æŒï¼Œè¿˜æœ‰å¤§é‡å„ç±»å®åŒ…å’Œç¨‹åº +的更新。这个版本的一个é‡è¦çš„ç›®æ ‡æ˜¯å°†æºä»£ç é‡æ–°ä¸Ž \teTeX{} 集æˆï¼Œå› 为在第 5 和第 6 +版ä¸å®ƒä»¬å离得太远了。 + +\subsubsection{2003} + +2003 年,在更新和增添æŒç»ä¸æ–到æ¥çš„情况下,我们å‘现 \TL{} å·²ç»è¿‡äºŽåºžå¤§ï¼Œæ— æ³•åœ¨ä¸€å¼ +\CD\ ä¸å®¹çº³ï¼ŒäºŽæ˜¯å°†å…¶åˆ‡åˆ†ä¸ºä¸‰å¥—ä¸åŒçš„å‘行版 (å‚è§ç¬¬~\ref{sec:tl-coll-dists} +节,\p.\pageref{sec:tl-coll-dists})。æ¤å¤–: + +\begin{itemize*} +\item 在 \LaTeX{} 团队的è¦æ±‚下,我们将 \cmdname{latex} å’Œ \cmdname{pdflatex} + 命令改为使用 \eTeX{} 引擎 (å‚è§ \p.\pageref{text:etex})。 +\item 包å«äº†æ–°çš„ Latin Modern å—体 (并推è使用)。 +\item å› ä¸ºä¸å†æœ‰äººæ‹¥æœ‰ (或主动æä¾›) 用于编译新的二进制程åºçš„硬件,去除了 + Alpha \acro{OSF} çš„æ”¯æŒ (å…ˆå‰å·²ç»åŽ»é™¤äº† \acro{HPUX} 的支æŒ)。 +\item Windows 下的安装有很大改å˜ï¼Œé¦–次æ供了基于 XEmacs 的集æˆçŽ¯å¢ƒã€‚ +\item Windows 下é‡è¦çš„è¾…åŠ©æ€§ç¨‹åº (Perl, Ghost\-script, Image\-Magick, Ispell) + 现在放在 \TL{} 的安装目录。 +\item \cmdname{dvips}, \cmdname{dvipdfm} å’Œ \cmdname{pdftex} + 使用的å—ä½“æ˜ å°„æ–‡ä»¶çŽ°åœ¨é€šè¿‡ \cmdname{updmap} 这套新程åºç”Ÿæˆï¼Œå¹¶å®‰è£…到 + \dirname{texmf/fonts/map} 目录下。 +\item \TeX{}, \MF{}, å’Œ \MP{} 现在缺çœç›´æŽ¥è¾“出大多数的输入å—符 (ä½ç½® 32 åŠå…¶ä»¥ä¸Š) + (比如通过 \verb|\write|),包括输出到文件ã€æ—¥å¿—和终端上。也就是说,\emph{ä¸å†}使用 + \verb|^^| æ ‡è®°æ¥è½¬æ¢ã€‚在 \TL{}~7 ä¸æ˜¯å¦è½¬æ¢æ ¹æ®ç³»ç»ŸåŒºåŸŸ (locale) + 设置而定,而这一版里 locale 设置ä¸å†å½±å“ \TeX{} 程åºçš„è¡Œä¸ºï¼Œæ‰€ä»¥å¦‚æžœä½ éœ€è¦ + \verb|^^| å½¢å¼çš„输出,请将 \verb|texmf/web2c/cp8bit.tcx| + 文件改å。(åŽç»ç‰ˆæœ¬å°†æ供更简æ´çš„æ–¹å¼æ¥æŽ§åˆ¶ã€‚) +\item 对文档作了大é‡æ›´æ–°ã€‚ +\item 最åŽï¼Œå› 为版本å·å¢žé•¿å¾—实在太快,现在简å•åœ°ä½¿ç”¨å¹´ä»½æ¥æ ‡è¯†ç‰ˆæœ¬ï¼š\TL{} 2003。 +\end{itemize*} + + +\subsubsection{2004} + +2004 年有许多改å˜ï¼š + +\begin{itemize} + +\item å¦‚æžœä½ åœ¨æœ¬åœ°å®‰è£…çš„å—体时涉åŠäº† \filename{.map} 或 \filename{.enc} +(附带这ç§æ–‡ä»¶çš„å¯èƒ½æ€§å¾ˆå°) 辅助文件,å¯èƒ½éœ€è¦è½¬ç§»è¿™äº›æ–‡ä»¶çš„ä½ç½®ã€‚ + +çŽ°åœ¨æ ¹æ® \envname{TEXFONTMAPS} å˜é‡ä¸çš„路径设置,åªåœ¨ (所有 \filename{texmf} +ç›®å½•æ ‘ä¸‹çš„) \dirname{fonts/map} å目录下æœç´¢ \filename{.map} +文件。与之类似,\filename{.enc} 文件现在åªåœ¨ \dirname{fonts/enc} +目录下æœç´¢ï¼Œæ ¹æ® \envname{ENCFONTS} å˜é‡ä¸çš„路径设置。如果é‡åˆ°æœ‰é—®é¢˜çš„æ–‡ +件,\cmdname{updmap} 会æ出è¦å‘Šã€‚ + +关于这ç§æœç´¢æ–¹å¼çš„其他信æ¯ï¼Œè¯·å‚è§ \url{http://tug.org/texlive/mapenc.html}。 + +\item å› ä¸ºæœ‰äººå¯èƒ½æ›´æ„¿æ„使用 \MIKTEX\ è€Œéž \Webc{} 系统,\TK\ +现在包å«äº†ä¸€å¥—基于 \MIKTEX\ çš„å¯å®‰è£… \CD,å‚è§ç¬¬~\ref{sec:overview-tl}~节 +(\p.\pageref{sec:overview-tl})。 + +\item 在原æ¥æ—§ç‰ˆæœ¬ \TL\ ä¸å•ä¸€çš„ \dirname{texmf} ç›®å½•æ ‘è¢«åˆ†æ‹†ä¸ºä¸‰ +个:\dirname{texmf}, \dirname{texmf-dist}, å’Œ \dirname{texmf-doc}。å‚è§ +第~\ref{sec:tld}~节 (\p.\pageref{sec:tld}) åŠå„目录下的 \filename{README} +文件。 + +\item 所有 \TeX\ 输入文件现在统一收集到了 \dirname{texmf*} 下的 +\dirname{tex} å目录ä¸ï¼Œä¸å†åˆ†æ•£åœ¨å„个 \dirname{tex}, \dirname{etex}, +\dirname{pdftex}, \dirname{pdfetex} 目录。è§~ +\CDref{texmf-dist/doc/english/tds/tds.html\#Extensions} +{\texttt{texmf-dist/doc/english/tds/tds.html\#Extensions}}。 + +\item 辅助性脚本 (并éžç›´æŽ¥æ供给用户调用的) 现在放在 \dirname{texmf*} ç›®å½•æ ‘ä¸‹ +æ–°çš„ \dirname{scripts} å目录ä¸ï¼Œå¹¶å¯ä»¥é€šè¿‡ \verb|kpsewhich -format=texmfscripts| +æ¥æœç´¢ã€‚å¦‚æžœä½ çš„ç¨‹åºè°ƒç”¨äº†è¿™äº›è„šæœ¬ï¼Œå¿…须修改路径。å‚è§ +\CDref{texmf-dist/doc/english/tds/tds.html\#Scripts} +{\texttt{texmf-dist/doc/english/tds/tds.html\#Scripts}}。 + +\item å‡ ä¹Žæ‰€æœ‰æ ¼å¼ï¼Œéƒ½ç”¨ \filename{cp227.tcx} 这个转æ¢æ–‡ä»¶å°†å¤§å¤šæ•°çš„å¯è§ (printable) +å—符ä¿ç•™ä¸‹æ¥ï¼Œè€Œä¸å†ä½¿ç”¨ \verb|^^| æ ‡è¯†æ¥è½¬æ¢è¿™äº›å—符。具体而言,在ä½ç½® 32--256 çš„ +å—ç¬¦ï¼ŒåŠ ä¸Š tab, vertical tab, å’Œ form feed å—符都作为å¯è§å—符而ä¸å†è½¬æ¢ã€‚例外情况是 +plain \TeX\ (åªå°†ä½ç½® 32--126 çš„å—符视为å¯è§), \ConTeXt\ (0--255 都视为å¯è§) 和与 +\OMEGA\ ç›¸å…³çš„æ ¼å¼ã€‚缺çœçš„æƒ…å†µå‡ ä¹Žä¸Ž \TL\,2003 完全一致,但通过更简æ´çš„æ–¹å¼å®žçŽ°ï¼Œå¹¶å…许 +更多定制。å‚è§ \CDref{texmf/doc/web2c/web2c.html\#TCX-files} +{\texttt{texmf/doc/web2c/web2c.html\#TCX-files}}。 +(å¦å¤–,如果é‡åˆ° Unicode 输入,\TeX\ å¯èƒ½ä¼šåœ¨æ˜¾ç¤ºé”™è¯¯ä¸Šä¸‹æ–‡æ—¶è¾“出åŠä¸ªå—ç¬¦ï¼Œå› ä¸ºå®ƒæ˜¯åŸºäºŽ +å—节æµæ¥å¤„ç†è¾“入的。) + +\item \textsf{pdfetex} 现在是除 (plain) \textsf{tex} å¤–æ‰€æœ‰æ ¼å¼çš„默认引擎 (当然 +以 \textsf{latex} è¿™ç§æ–¹å¼è¿è¡Œæ—¶å®ƒè¿˜æ˜¯ç”Ÿæˆ \acro{DVI})ã€‚è¿™æ ·ä¸€æ¥ï¼Œè‡³å°‘ \textsf{pdftex} +的微调排版 (microtypographic) 技术å¯ä»¥åœ¨ \LaTeX, \ConTeXt ç‰æ ¼å¼ä¸ä½¿ç”¨ï¼Œå¦å¤– \eTeX\ +的特性也包å«åœ¨å…¶ä¸ (\OnCD{texmf-dist/doc/etex/base/})。 + +这还说明\emph{比以å‰ä»»ä½•æ—¶å€™éƒ½æ›´æœ‰å¿…è¦}使用 (对 plain å’Œ \LaTeX\ 都适用的) +\pkgname{ifpdf} å®åŒ…或其类似代ç ï¼Œå› ä¸ºåªæ£€æŸ¥ \cs{pdfoutput} 或其他原è¯æ˜¯å¦å·²ç»å®šä¹‰ +ä¸å†æ˜¯åˆ¤æ–是å¦å¤„于 \acro{PDF} 输出状æ€çš„å¯é 方法。我们在这一年尽å¯èƒ½åœ°ä¿æŒå‘ä¸‹å…¼å®¹ï¼Œä½†ä»¥åŽ +å³ä½¿åœ¨è¾“出 \acro{DVI} æ—¶ \cs{pdfoutput} 也å¯èƒ½å·²ç»å®šä¹‰ã€‚ + +\item pdf\TeX\ (\url{http://pdftex.org}) 新增了许多特性: + + \begin{itemize*} + + \item å¯ä»¥ä½¿ç”¨ \cs{pdfmapfile} å’Œ \cs{pdfmapline} æ¥åœ¨å•ç‹¬æ–‡æ¡£å†…指定å—ä½“æ˜ å°„æ–‡ä»¶ã€‚ + + \item å¯ä»¥æ›´æ–¹ä¾¿åœ°ä½¿ç”¨æŽ’版微调 (Microtypographic) å’Œå—体延展 (font expansion) + 技术了。\\ + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} + + \item 原æ¥ä½¿ç”¨ä¸“æœ‰æ ¼å¼çš„é…置文件 \filename{pdftex.cfg} 里的选项现在都必须改用 + \TeX{} 原è¯æ¥è®¾ç½®ï¼Œé€šå¸¸æ”¾åœ¨ \filename{pdftexconfig.tex} 里é¢ï¼Œä¸å†æ”¯æŒ + \filename{pdftex.cfg} çš„é…置方å¼ã€‚æ¯æ¬¡ä¿®æ”¹ \filename{pdftexconfig.tex} + 之åŽéƒ½å¿…é¡»é‡æ–°ç”Ÿæˆ \filename{.fmt} 文件。 + + \item å‚è§ pdf\TeX\ 手册以了解更多信æ¯ï¼š\OnCD{texmf/doc/pdftex/manual}。 + + \end{itemize*} + +\item \cmdname{tex} (ä»¥åŠ \cmdname{mf} å’Œ \cmdname{mpost}) ä¸çš„ \cs{input} +原è¯çŽ°åœ¨æ”¯æŒé€šè¿‡åŒå¼•å·æ¥å¼•ç”¨åŒ…å«ç©ºæ ¼å’Œç‰¹æ®Šå—符的文件。一个典型的例å如下: +\begin{verbatim} +\input "filename with spaces" % plain +\input{"filename with spaces"} % latex +\end{verbatim} +å‚阅 \Webc{} 文档以了解更多信æ¯ï¼š\OnCD{texmf/doc/web2c}。 + +\item enc\TeX\ 的支æŒçŽ°åœ¨å·²è¢«åŒ…å«åœ¨ \Webc{} ä¸ï¼Œå› 而所有 \TeX\ 程åºéƒ½å¯ä»¥é€šè¿‡ +\optname{-enc} å‚æ•°å¯ç”¨è¿™ä¸€æ”¯æŒ \Dash \emph{å‰ææ˜¯æž„å»ºå¥½äº†æ ¼å¼æ–‡ä»¶}。enc\TeX\ +æ供了对输入输出通用的é‡æ–°ç¼–ç 功能,实现对 Unicode (以 \acro{UTF}-8 ç¼–ç çš„å½¢å¼) +的完整支æŒã€‚å‚è§ \OnCD{texmf-dist/doc/generic/enctex/} å’Œ +\url{http://www.olsak.net/enctex.html}。 + +\item æ供了 Aleph 这套新的 \TeX{} 引擎,它将 \eTeX\ å’Œ \OMEGA\ åˆå¹¶åˆ°äº†ä¸€èµ·ã€‚ +关于 Aleph 的部分信æ¯å¯ä»¥åœ¨ \OnCD{texmf-dist/doc/aleph/base} +å’Œ \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph} 找到。Aleph +çš„ \LaTeX æ ¼å¼æ–‡ä»¶ç§°åš \textsf{lamed}。 + +\item 最新å‘布的 \LaTeX\ 包å«äº†æ˜¯æ–°ç‰ˆçš„ \acro{LPPL} 授æƒåè®®\Dash 这一å议已被 +Debian 首肯。\LaTeX\ å…¶ä»–çš„æ›´æ–°è¯·è§ \OnCD{texmf-dist/doc/latex/base} 下的 +\filename{ltnews} 文件。 + +\item 包å«äº†ä¸€ä¸ªå«åš \cmdname{dvipng} 的新程åºï¼Œç”¨äºŽå°† \acro{DVI} 转æ¢ä¸º +\acro{PNG} 图åƒæ–‡ä»¶ã€‚å‚è§ \OnCD{texmf/doc/man/man1/dvipng.1}。 + +\item 我们在作者 (Claudio Beccari) çš„åŒæ„下,将 \pkgname{cbgreek} 包å«çš„ +å—体数é‡å‡å°‘到ä¸ç‰ã€‚去除了ä¸å¯è§ã€è½®å»“å’Œé€æ˜Žç‰ˆæœ¬çš„å—体,这些å—ä½“å‡ ä¹Žå¾ˆå°‘ç”¨åˆ°ã€‚è€Œæˆ‘ä»¬ +的光盘镜åƒéœ€è¦ç©ºé—´ã€‚完整版本当然还是在 \acro{CTAN} æä¾› +(\url{http://mirror.ctan.org/tex-archive/fonts/greek/cb})。 + +\item 去掉了 \cmdname{oxdvi},改为åªä½¿ç”¨ \cmdname{xdvi}。 + +\item ä¸å†ä¸º \cmdname{tex}, \cmdname{mf}, å’Œ \cmdname{mpost} 程åºåˆ›å»º +\cmdname{ini} å’Œ \cmdname{vir} 开头的命令链接,比如 +\cmdname{initex}。\cmdname{ini} çš„åŠŸèƒ½æ—©åœ¨å‡ å¹´å‰å°±é€šè¿‡ \optname{-ini} +命令行å‚æ•°æ供了。 + +\item 去掉了 \textsf{i386-openbsd} å¹³å°çš„支æŒã€‚å› ä¸ºåœ¨ \acro{BSD} Ports +系统ä¸å·²ç»åŒ…å«äº† \pkgname{tetex} 软件包,而 \acro{GNU/}Linux å’Œ +Free\acro{BSD} 下的二进制版本都已å˜åœ¨ï¼Œæ‰€ä»¥å¿—愿者的时间å¯ä»¥èŠ±åœ¨å…¶ä»–的地方了。 + +\item 至少在 \textsf{sparc-solaris} å¹³å°ä¸‹ï¼Œä½ 必须设置好 +\envname{LD\_LIBRARY\_PATH} 环境å˜é‡æ‰èƒ½æ‰§è¡Œ \pkgname{t1utils} 包å«çš„程åºã€‚ +å› ä¸ºè¿™äº›ç¨‹åºæ˜¯ä½¿ç”¨ C++ 编写的,其è¿è¡Œæ—¶åº“没有固定的ä½ç½®ã€‚(这一情况并éžåœ¨ 2004 版 +ä¸é¦–次出现,但现在æ‰å†™å…¥æ–‡æ¡£) 与之类似,\textsf{mips-irix} å¹³å°ä¸‹éœ€è¦ç”¨åˆ° +\acro{MIPS}pro 7.4 è¿è¡Œæ—¶åº“。 + +\end{itemize} + +\subsubsection{2005} + +2005 年一如往常,å®åŒ…和程åºéƒ½æœ‰å¤§é‡çš„更新。底层结构和 2004 年相比ä¿æŒäº†ç¨³å®šï¼Œ +ä¸è¿‡ä»ç„¶å˜åœ¨ä¸€äº›å˜åŒ–。 + +\begin{itemize} + +\item 引入了新的 \cmdname{texconfig-sys}, \cmdname{updmap-sys}, å’Œ + \cmdname{fmtutil-sys} å®‰è£…è„šæœ¬ï¼Œç”¨äºŽä¿®æ”¹ç³»ç»Ÿç›®å½•æ ‘ä¸‹çš„é…置。而原有的 + \cmdname{texconfig}, \cmdname{updmap}, å’Œ \cmdname{fmtutil} + 则用于修改针对å•ä¸ªç”¨æˆ·çš„文件 (放在 \dirname{$HOME/.texlive2005} + 目录下的)。 + +\item å¢žåŠ äº†å¯¹åº”çš„ \envname{TEXMFCONFIG} å’Œ \envname{TEXMFSYSCONFIG} + å˜é‡ï¼Œåˆ†åˆ«ç”¨äºŽè®¾ç½®é’ˆå¯¹ç”¨æˆ·å’Œç³»ç»Ÿçš„,专门å˜æ”¾é…ç½®æ–‡ä»¶çš„ç›®å½•æ ‘ã€‚æ‰€ä»¥ä½ éœ€è¦å°†ä¸ªäººä½¿ç”¨çš„ + \filename{fmtutil.cnf} å’Œ \filename{updmap.cfg} + 放到åˆé€‚ä½ç½®ã€‚ä¸è¿‡è¿˜æœ‰ä¸€ç§æ–¹æ³•æ˜¯åœ¨ \filename{texmf.cnf} 里边é‡æ–°å®šä¹‰ + \envname{TEXMFCONFIG} 或 \envname{TEXMFSYSCONFIG} + å˜é‡ã€‚æ— è®ºå¦‚ä½•ï¼Œè¿™ä¸¤ä¸ªå€¼å¯¹åº”çš„å®žé™…ç›®å½•éƒ½å¿…é¡»æ£ç¡®å˜åœ¨ã€‚å‚è§ + 第~\pageref{sec:texmftrees}~页的第~\ref{sec:texmftrees}~节。 + +\item 虽然我们在上一年就已ç»ä½¿ç”¨äº† \cmdname{pdfetex} 作为输出程åºï¼Œä½†åœ¨å®ƒè¾“出 \dvi\ + æ ¼å¼æ—¶ä¼šç¦ç”¨ \verb|\pdfoutput| ç‰åŽŸè¯ + (primitive)。这一年,我们按照预期计划å–消了这一兼容性é™åˆ¶ã€‚æ‰€ä»¥ï¼Œå¦‚æžœä½ çš„æ–‡æ¡£é‡Œä½¿ç”¨äº† + \verb|\ifx\pdfoutput\undefined| è¿™æ ·çš„è¯å¥æ¥åˆ¤æ–是å¦æ£åœ¨ PDF + 输出模å¼ä¸‹ï¼ŒçŽ°åœ¨å°±å¿…é¡»ä¿®æ”¹äº†ã€‚ä½ å¯ä»¥ä½¿ç”¨ \pkgname{ifpdf.sty} å®åŒ… (对 plain \TeX\ + å’Œ \LaTeX{} 都适用) æ¥åˆ¤æ–,或者仿照这个文件里的判æ–原ç†è‡ªå·±å†™ä¸€ä¸ªã€‚ + +\item ä¸Šä¸€å¹´ï¼Œæˆ‘ä»¬å°†æ ¼å¼æ–‡ä»¶çš„输出改æˆäº†å’Œè¿™äº›æ–‡ä»¶æœ¬èº«ä¸€æ ·çš„ 8 + ä½å—ç¬¦ã€‚åœ¨ä½ éœ€è¦çš„情况下,å¯ä»¥ä½¿ç”¨æ–°çš„ TCX 文件 \filename{empty.tcx} æ¥èŽ·å¾—原有的 + \verb|^^| 表示方å¼ã€‚例如: + +\begin{verbatim} +latex --translate-file=empty.tcx yourfile.tex +\end{verbatim} + +\item æ–°å¢žäº†ç”¨äºŽè½¬æ¢ DVI 为 PDF çš„ \cmdname{dvipdfmx} 程åºï¼Œè¿™æ˜¯ + \cmdname{dvipdfm} 的一个比较活跃更新的版本 (我们ä»ç„¶æä¾› + \cmdname{dvipdfm},但ä¸å»ºè®®ä½ 继ç»ä½¿ç”¨)。 + +\item æ–°å¢žäº†å« \cmdname{pdfopen} å’Œ \cmdname{pdfclose} 的两个程åºï¼Œç”¨äºŽæŽ§åˆ¶ + Adobe Acrobat\slash Reader 在ä¸é‡å¯ç¨‹åºçš„情况下é‡æ–°è½½å…¥ pdf 文件。(其他的 + pdf 阅读器,如 \cmdname{xpdf}, \cmdname{gv}, å’Œ + \cmdname{gsview},都ä¸ä¼šé‡åˆ°è¿™ä¸ªé—®é¢˜ã€‚) + +\item 为了ä¿æŒä¸€è‡´æ€§ï¼Œå°† \envname{HOMETEXMF} å’Œ \envname{VARTEXMF} + 环境å˜é‡åˆ†åˆ«æ›´å为 \envname{TEXMFHOME} å’Œ + \envname{TEXMFSYSVAR}。还有一个针对å•ç‹¬ç”¨æˆ·çš„ \envname{TEXMFVAR} + 环境å˜é‡å¯ç”¨ã€‚å‚è§ä¸Šé¢çš„第一点。 + +\end{itemize} + + +\subsubsection{2006--2007} + +2006--2007 年,\TL{} 的一个é‡å¤§å˜åŒ–æ˜¯å¢žåŠ äº† \XeTeX{},以 \texttt{xetex} å’Œ +\texttt{xelatex} 程åºçš„å½¢å¼æ供。请å‚è§ \url{http://scripts.sil.org/xetex}。 + +\MP{} 也有å¯è§‚的更新,并计划在未æ¥å®žçŽ°æ›´å¤šçš„改进 +(\url{http://tug.org/metapost/articles}),pdf\TeX{} åŒæ ·å¦‚æ¤ +(\url{http://tug.org/applications/pdftex})。 + +\TeX\ \filename{.fmt} (缓å˜æ ¼å¼) 文件和用于 MetaPost å’Œ \MF\ 的类似文件 +现在å˜å‚¨åœ¨ \dirname{texmf/web2c} çš„å目录ä¸è€Œä¸ç›´æŽ¥æ”¾åœ¨ \dirname{texmf/web2c} +目录下 (ä¸è¿‡è€ƒè™‘到现有的 \filename{.fmt} 文件,直接放置在这个目录下的文件ä»ç„¶ +能被æœç´¢åˆ°)。å目录的åç§°æ˜¯æ ¹æ®å½“å‰ä½¿ç”¨çš„``引擎''决定的,比如 \filename{tex} +或 \filename{pdftex} 或 \filename{xetex}。这个å˜åŒ–ä¸ä¼šå¯¹æ—¥å¸¸ä½¿ç”¨å¸¦æ¥ä»»ä½• +å½±å“。 + +(plain) \texttt{tex} 程åºä¸å†é€šè¿‡è¯»å– \texttt{\%\&} 开头的第一行æ¥å†³å®š +执行何ç§æ ¼å¼ï¼Œè€Œéµå¾ªçº¯ç²¹çš„ Knuth é£Žæ ¼ \TeX\ çš„ä¼ ç»Ÿã€‚(\LaTeX\ å’Œå…¶ä»–æ‰€æœ‰çš„ç¨‹åº +ä»ç„¶è¯»å– \texttt{\%\&} 开头的行。) + +å½“ç„¶ï¼Œå’Œå¾€å¸¸ä¸€æ ·ï¼Œè¿™ä¸€å¹´é‡Œä½ èƒ½çœ‹åˆ°æˆç™¾ä¸Šåƒçš„å®åŒ…与程åºå¾—åˆ°æ›´æ–°ã€‚ä¹Ÿå’Œå¾€å¸¸ä¸€æ ·ï¼Œ +进一æ¥çš„更新请使用 \acro{CTAN} (\url{http://mirror.ctan.org})。 + +从内部角度上看,æºä»£ç æ ‘çŽ°åœ¨æ”¹ä¸ºä½¿ç”¨ Subversion 管ç†ï¼Œå¹¶åœ¨æˆ‘们的主页上æ供了 +到 Web ç•Œé¢çš„链接,用于æµè§ˆä»£ç æ ‘ã€‚æˆ‘ä»¬å¸Œæœ›å®ƒèƒ½æˆä¸ºæœªæ¥å‡ å¹´ä¸ç¨³å®šçš„å¼€å‘ +å¹³å°ã€‚ + +末了,2006 年五月 Thomas Esser 宣布他将åœæ¢ te\TeX{} +(\url{http://tug.org/tetex}) çš„æ›´æ–°ã€‚è¿™æ ·ä¸€æ¥ï¼Œå¤§å®¶å¯¹ \TL{} 的兴趣大增,尤其是在 +\GNU/Linux å‘行版ä¸ã€‚(\TL{} æ供了一套新的 \texttt{tetex} 安装方案, +å‡ ä¹Žå’ŒåŽŸæœ‰çš„ te\TeX{} æ¯«æ— äºŒè‡´ã€‚) 我们希望这些å˜åŒ–将最终转æ¢ä¸ºå¯¹æ•´ä¸ª \TeX\ +环境的改进,从而æ¯ä¸ªäººéƒ½ä¼šå—益。 + +\subsubsection{2008} + +在 2008 年,整个 \TL{} 的基础架构都é‡æ–°è®¾è®¡è¿‡å¹¶é‡æ–°å®žçŽ°äº†ã€‚安装的完整 +ä¿¡æ¯è¢«å˜æ”¾åœ¨ \filename{tlpkg/texlive.tlpdb} 这个纯文本文件ä¸ã€‚ + +除了许多其他的功能外,我们终于å¯ä»¥é€šè¿‡ Internet 在安装åŽæ›´æ–° \TL{} +了,这是 MiK\TeX\ æ—©å·²æ供了许多年的特性。我们希望能定期更新 \CTAN\ 上 +æ–°å‘布的软件包。 + +包å«äº†ä¸€ä¸ªé‡è¦çš„新引擎 Lua\TeX\ (\url{http://luatex.org}),除了 +在排版上çµæ´»æ€§æ›´ä¸Šä¸€å±‚楼以外,它还æ供了一个优秀的脚本è¯è¨€ä¾› \TeX\ +文档内外使用。 + +对 Windows 和基于 Unix 系统的支æŒçŽ°åœ¨è¦ä¸€è‡´å¾—多了。尤其是大部分 Perl å’Œ +Lua 脚本都能在 Windows 下使用,通过 \TL 内部包å«çš„ Perl。 + +æ–°çš„ \cmdname{tlmgr} 脚本 (第~\ref{sec:tlmgr}~节) 是在åˆå§‹å®‰è£…åŽç®¡ç† +\TL{} 的通用界é¢ã€‚它处ç†äº†è½¯ä»¶åŒ…æ›´æ–°å’ŒåŽç»çš„æ ¼å¼æ–‡ä»¶ã€map 文件和è¯è¨€æ–‡ä»¶ +çš„é‡æ–°ç”Ÿæˆï¼Œå¹¶å¯é€‰åœ°åŒ…å«äº†æœ¬åœ°æ·»åŠ 的内容。 + +éšç€ \cmdname{tlmgr} 到æ¥ï¼Œç¦ç”¨äº† \cmdname{texconfig} ä¸ç¼–è¾‘æ ¼å¼å’Œ +æ–å—é…置文件的功能。 + +今年还æ供了大多数平å°çš„ \cmdname{xindy} 索引生æˆç¨‹åº +(\url{http://xindy.sourceforge.net})。 + +\cmdname{kpsewhich} 现在å¯ä»¥æŠ¥å‘Šç»™å®šæ–‡ä»¶çš„æ‰€æœ‰åŒ¹é… (\optname{--all} +å‚æ•°) 并é™åˆ¶åˆ—å‡ºç‰¹å®šç›®å½•ä¸‹çš„åŒ¹é… (\optname{--subdir} å‚æ•°)。 + +\cmdname{dvipdfmx} 程åºçŽ°åœ¨æ”¯æŒç”¨ \cmdname{extractbb} 命令æ¥è§£æž +bounding box ä¿¡æ¯ï¼Œè¿™æ˜¯ \cmdname{dvipdfm} 包å«ä½†æœªæ›¾å‡ºçŽ°åœ¨ +\cmdname{dvipdfmx} ä¸çš„最åŽä¸€ä¸ªåŠŸèƒ½ã€‚ + +去除了 \filename{Times-Roman}, \filename{Helvetica} ç‰å—体别å。ä¸åŒçš„ +å®åŒ…对它们的ç†è§£ä¸åŒ (尤其是编ç 的处ç†ä¸ä¸€æ ·),所以没有什么好的办法能解 +决。 + +去除了 \pkgname{platex} æ ¼å¼æ–‡ä»¶ï¼Œä»¥é¿å…与日文 \pkgname{platex} 的命å +冲çªï¼Œ\pkgname{polski} å®åŒ…现在被用作主è¦çš„波兰è¯æ”¯æŒã€‚ + +从内部而言 \web\ å—符串 pool 文件被编译进了二进制文件ä¸ï¼Œè¿™æ ·å¯ä»¥æ–¹ä¾¿ +å‡çº§ã€‚ + +最终 Donald Knuth 在他的 `\TeX\ tuneup of 2008' ä¸çš„更新也被包å«åœ¨è¿™æ¬¡ +å‘布ä¸ã€‚å‚è§ \url{http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}。 + +\subsubsection{2009} + +在 2009 年,为了充分利用 Lua\TeX\ çš„ OpenType 支æŒç‰ç‰¹æ€§ï¼ŒLua\AllTeX\ +çš„é»˜è®¤è¾“å‡ºæ ¼å¼æ˜¯ PDF。新增å«åš \code{dviluatex} å’Œ \code{dvilualatex} +的这两个命令会以 DVI 输出方å¼è¿è¡Œ Lua\TeX{}。Lua\TeX\ 的主页在 +\url{http://luatex.org}。 + +在与 Omega 的作者讨论åŽï¼ŒåŽŸæ¥çš„ Omega 引擎和 Lambda æ ¼å¼æ–‡ä»¶è¢«åŽ»æŽ‰äº†ã€‚ +æ›´æ–°åŽçš„ Alpeh å’Œ Lamed ä»ç„¶åœ¨ï¼ŒåŒæ—¶ä¿ç•™çš„还有 Omega 实用工具。 + +包å«äº†æ–°ç‰ˆæœ¬çš„ AMS \TypeI\ å—体,包括 Computer Modern:其ä¸éƒ¨åˆ†å—å½¢ +éš Knuth 多年以æ¥ä¿®æ”¹çš„ MetaFont æºä»£ç 更新,hinting ä¿¡æ¯ä¹Ÿæ›´æ–°äº†ã€‚ +Euler å—体也整个由 Hermann Zapf é‡æ–°ç»˜åˆ¶äº†ä¸€é (å‚è§ +\url{http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf})。 +ä¸è¿‡ä¸Šè¿°å˜åŒ–并没有改å˜å—体的 metrics 文件。AMS å—体的主页在 +\url{http://www.ams.org/tex/amsfonts.html}。 + +现在 Windows å’Œ Mac\TeX\ 都包å«äº†æ–°çš„ GUI å‰ç«¯ \TeX{}works。至于其他 +çš„å¹³å°å’Œæ›´å¤šçš„ä¿¡æ¯ï¼Œè¯·å‚è§ \TeX{}works 的主页,\url{http://tug.org/texworks}。 +设计这个跨平å°å‰ç«¯çš„çµæ„Ÿæ¥è‡ªäºŽ \MacOSX\ 下的 TeXShop ç¼–è¾‘å™¨ï¼Œç›®æ ‡å°±æ˜¯ +易用。 + +在许多平å°ä¸‹åŒ…å«äº† Asymptote 图形程åºï¼Œå®ƒå®žçŽ°äº†ä¸€å¥—与 MetaPost 约略 +相似的文本图形æè¿°è¯è¨€ï¼Œä½†åŒ…å«äº†å…ˆè¿›çš„ 3D 支æŒç‰å…¶ä»–特性。它的主页在 +\url{http://asymptote.sourceforge.net}。 + +å•ç‹¬çš„ \code{dvipdfm} 程åºå·²è¢« \code{dvipdfmx} 所替代,如果以 \code{dvipdfm} +这个åå—调用的时候,åŽè€…会以一ç§ç‰¹æ®Šçš„兼容性模å¼è¿è¡Œã€‚\code{dvipdfmx} +包å«äº† \acro{CJK} 支æŒï¼Œå¹¶åŒ…å«äº†å¤šå¹´ä»¥æ¥åœ¨ \code{dvipdfm} 基础上的许多 +ä¿®æ£ã€‚DVIPDFMx 项目的主页在 \url{http://project.ktug.or.kr/dvipdfmx}。 + +现在包括了 \pkgname{cygwin} å’Œ \pkgname{i386-netbsd} å¹³å°ä¸‹çš„å¯æ‰§è¡Œæ–‡ä»¶ï¼Œ +而我们建议 OpenBSD å’Œ FreeBSD 的用户使用他们自己的包管ç†ç³»ç»Ÿæ供的 \TeX{}, +å¦å¤–è¿™ä¹Ÿæ˜¯å› ä¸ºè¦ç¼–译出能在多ç§ç‰ˆæœ¬ä¸‹éƒ½å·¥ä½œçš„二进制程åºæœ‰äº›å›°éš¾ã€‚ + +一些更ä¸èµ·çœ¼çš„更新:我们现在使用 \pkgname{xz} 这套稳定的压缩方å¼æ¥æ›¿ä»£ +原有的 \pkgname{lzma} (\url{http://tukaani.org/xz/});在ä¸å’ŒçŽ°æœ‰å˜é‡å +冲çªçš„情况下å…许文件ä¸ä½¿ç”¨ |$| å—符;Kpathsea 库现在支æŒå¤šçº¿ç¨‹äº† (å…¶ä¸ +用到了 MetaPost);整个 \TL{} 的编译现在基于 Automake 了。 + +对过去历å²çš„最终一点æ示: 所有版本的 \TL{},包括 \CD\ æ ‡ç¾è¿™äº›é™„属æ料, +都在 \url{ftp://tug.org/historic/systems/texlive} æ供。 + +\subsubsection{2010} +\label{sec:2010news} % keep with 2010 + +在 2010 年,缺çœçš„ PDF 输出版本现在是 1.5,以支æŒæ›´å¤šåŽ‹ç¼©ã€‚这对所有输出 +PDF çš„ \TeX\ 引擎生效,也对 \code{dvipdfmx} 有效。载入 \pkgname{pdf14} +\LaTeX\ å®åŒ…将改回 PDF~1.4,或者设置 |\pdfminorversion=4|。 + +在载入了 \LaTeX\ \code{graphics.cfg} é…置文件,而且输出的是 PDF 时, +pdf\AllTeX\ 现在\emph{自动地}将请求的å°è£… PostScript (EPS) 文件转æ¢ä¸º +PDF,通过 \pkgname{epstopdf} å®åŒ…。默认选项是为了é¿å…覆盖任何手工创建 +çš„ PDF æ–‡ä»¶ï¼Œä½†ä½ ä¹Ÿå¯ä»¥å°† |\newcommand{\DoNotLoadEpstopdf}{}| (或 +|\def...|) 放在 \cs{documentclass} 声明å‰ä»¥é¿å…载入 \code{epstopdf}。 +如果使用了 \pkgname{pst-pdf} å®åŒ…,也ä¸ä¼šè½½å…¥å®ƒã€‚è¦äº†è§£æ›´å¤šçš„ç»†èŠ‚ï¼Œå‚ +è§ \pkgname{epstopdf} å®åŒ…的文档 (\url{http://ctan.org/pkg/epstopdf-pkg})。 + +一个相关的å˜åŒ–是通过 \cs{write18} 特性从 \TeX\ 执行少é‡å¤–部命令,现在 +默认å¯ç”¨äº†ã€‚这些命令是 \code{repstopdf}, \code{makeindex}, \code{kpsewhich}, +\code{bibtex}, å’Œ \code{bibtex8};这个列表定义在 \code{texmf.cnf}。必须 +ç¦ç”¨è¿™äº›å¤–部命令的环境å¯ä»¥é€šè¿‡å®‰è£…程åºå–消这个选项 (å‚è§ç¬¬~\ref{sec:options}~节), +或者在安装åŽé€šè¿‡è¿è¡Œ |tlmgr conf texmf shell_escape 0| 覆盖这个值。 + +å¦ä¸€ä¸ªç›¸å…³çš„å˜åŒ–是 \BibTeX\ å’Œ Makeindex 现在默认会拒ç»å¾€ä»»æ„目录写入 +输出文件了 (类似 \TeX\ 本身)ã€‚è¿™æ ·ä½¿å¾—å®ƒä»¬èƒ½è¢«å¯ç”¨ç»™å—é™çš„ \cs{write18} +使用。è¦ä¿®æ”¹è¿™ä¸ªè¡Œä¸ºï¼Œå¯ä»¥è®¾ç½® \envname{TEXMFOUTPUT} 环境å˜é‡ï¼Œæˆ–者修改 +|openout_any| 设置。 + +\XeTeX\ 现在支æŒä¸Ž pdf\TeX\ ä¸€æ ·çš„ margin kerning。(Font expansion 现在 +还ä¸æ”¯æŒã€‚) + +默认情况下,\prog{tlmgr} 现在回给æ¯ä¸ªæ›´æ–°çš„包ä¿å˜ä¸€ä¸ªå¤‡ä»½ +(\code{tlmgr option autobackup 1}),所以æŸå的包更新å¯ä»¥ç®€å•åœ°é€šè¿‡ +\code{tlmgr restore} æ¢å¤ã€‚å¦‚æžœä½ åœ¨å®‰è£…åŽè¦æ‰§è¡Œæ›´æ–°ï¼Œä½†æ²¡æœ‰è¶³å¤Ÿçš„ +ç£ç›˜ç©ºé—´æ¥ä¿å˜å¤‡ä»½ï¼Œå¯ä»¥è¿è¡Œ \code{tlmgr option autobackup 0}。 + +包å«äº†è¿™äº›æ–°çš„程åºï¼šç”¨äºŽæŽ’版日文的 p\TeX\ 引擎和相关实用工具;支æŒäº† +Unicode \BibTeX\ çš„ \BibTeX{}U 程åºï¼›\prog{chktex} 实用工具 +(\url{http://baruch.ev-en.org/proj/chktex}) +用æ¥æ£€æŸ¥ \AllTeX\ 文档;\prog{dvisvgm} +(\url{http://dvisvgm.sourceforge.net}) 是 DVI 到 SVG æ ¼å¼è½¬æ¢å™¨ã€‚ + +现在包å«äº†è¿™äº›æ–°å¹³å°çš„å¯æ‰§è¡Œæ–‡ä»¶ï¼š\code{amd64-freebsd}, +\code{amd64-kfreebsd}, \code{i386-freebsd}, \code{i386-kfreebsd}, +\code{x86\_64-darwin}, \code{x86\_64-solaris}。 + +我们忘记注明的一个 \TL{} 2009 的修改是:许多 \TeX4ht 相关的å¯æ‰§è¡Œæ–‡ä»¶ +(\url{http://tug.org/tex4ht}) è¢«ä»ŽäºŒè¿›åˆ¶ç›®å½•åˆ é™¤äº†ã€‚é€šç”¨çš„ \code{mk4ht} +程åºå¯ä»¥ç”¨æ¥è¿è¡Œè¿™äº› \code{tex4ht} 组åˆçš„ä»»æ„一ç§ã€‚ + +最åŽï¼Œ\TK\ \DVD\ 上的 \TL{} å‘è¡Œä¸èƒ½å†ç›´æŽ¥æ‰§è¡Œäº† (å¬èµ·æ¥å¾ˆå¥‡æ€ª)。 +å•å¼ \DVD\ å·²ç»æ²¡æœ‰è¶³å¤Ÿçš„ç©ºé—´äº†ã€‚ä¸€ä¸ªä¼˜ç‚¹æ˜¯ä»Žç‰©ç† \DVD\ 的安装将会 +快很多。 + +\subsubsection{2011} + +\MacOSX\ äºŒè¿›åˆ¶ç¨‹åº (\code{universal-darwin} å’Œ \code{x86\_64-darwin}) +现在åªèƒ½åœ¨ Leopard åŠä»¥åŽç‰ˆæœ¬ä¸Šå·¥ä½œï¼›Panther å’Œ Tiger 都ä¸å†æ”¯æŒäº†ã€‚ + +用于å‚考文献处ç†çš„ \code{biber} 程åºåœ¨å¸¸è§å¹³å°ä¸‹éƒ½å·²åŒ…å«ã€‚它的分å‘å’Œ +\code{biblatex} å®åŒ…紧密相关的,这个å®åŒ…完全é‡æ–°å®žçŽ°äº† \LaTeX{} æä¾› +çš„å‚考文献机制。 + +MetaPost (\code{mpost}) 程åºä¸å†åˆ›å»ºæˆ–者使用 \code{.mem} 文件了。所 +需的文件,比如 \code{plain.mp},会在æ¯æ¬¡è¿è¡Œæ—¶è¯»å…¥ã€‚这个å˜åŒ–和将 +MetaPost 作为一个库有关,这是å¦ä¸€ä¸ªé‡è¦è€Œç”¨æˆ·ä¸ä¼šæ³¨æ„çš„å˜åŒ–。 + +\code{updmap} çš„ Perl 实现,先å‰åªåœ¨ Windows 下使用,现在被更新并用 +于所有平å°äº†ã€‚è¿™ä¸åº”è¯¥é€ æˆä»»ä½•ç”¨æˆ·å¯è§çš„å˜åŒ–,除了它å˜å¾—快得多。 + +\htmlanchor{news} +\subsection{Present} +\label{sec:tlcurrent} + +\code{tlmgr} 支æŒäº†ä»Žå¤šä¸ªç½‘络仓库更新。\code{tlmgr help} 输出ä¸çš„多仓库 +一节有更多信æ¯ã€‚ + +对于 \code{xetex} å’Œ \code{xelatex},\cs{XeTeXdashbreakstate} å‚数被缺 +çœè®¾ç½®ä¸º~1。这å…许了 em-dash å’Œ en-dash åŽçš„æ¢è¡Œï¼Œè¿™å’Œ plain \TeX, +\LaTeX, Lua\TeX\ 现在的行为一致。现有的 \XeTeX\ 文档如果需è¦ä¿æŒå®Œç¾Žçš„ +æ¢è¡Œå…¼å®¹æ€§åˆ™éœ€è¦æ˜¾å¼è®¾ç½® \cs{XeTeXdashbreakstate} 为~0。 + +\code{pdftex} å’Œ \code{dvips} ç‰ç”Ÿæˆçš„输出文件现在å¯ä»¥è¶…过 2 GB 了。 + +35 æ ‡å‡† PostScripts å—体现在在 \code{dvips} 输出ä¸ç¼ºçœä¿å‡½äº†ï¼Œå› 为现在 +有太多这些å—体的ä¸åŒç‰ˆæœ¬äº†ã€‚ + +默认设置的 \cs{write18} å—é™æ‰§è¡Œæ¨¡å¼ä¸ï¼Œ\code{mpost} æˆä¸ºäº†ä¸€ä¸ªå…许的 +程åºã€‚ + +\filename{../texmf-local} 下现在也会出现一个 \code{texmf.cnf} 文件, +比如 \filename{/usr/local/texlive/texmf-local/web2c/texmf.cnf}。 + +\code{updmap} 脚本现在读å–的是针对å„ä¸ªç›®å½•æ ‘çš„ \code{updmap.cfg}ï¼Œè€Œä¸ +å†æ˜¯å…¨å±€çš„é…置文件。这个修改应该ä¸å®¹æ˜“å‘现,除éžä½ 直接编辑过 \code{updmap.cfg} +文件。\code{updmap --help} 输出ä¸æœ‰æ›´å¤šä¿¡æ¯ã€‚ + +å¹³å°ï¼šå¢žåŠ 了 \pkgname{armel-linux} å’Œ \pkgname{mipsel-linux} å¹³å°ï¼› +\pkgname{sparc-linux} å’Œ \pkgname{i386-netbsd} ä¸å†å‡ºçŽ°åœ¨ä¸»å‘è¡Œä¸ï¼Œ +但å¯ä»¥ä½œä¸ºå¯é€‰å®‰è£…,和一系列其他平å°ä¸€èµ·ï¼š +\url{http://tug.org/texlive/custom-bin.html}。 + +\subsection{未æ¥} + +\emph{\TL{} 并ä¸å®Œç¾Žï¼} (也永远ä¸ä¼šè¾¾åˆ°å®Œç¾Žã€‚) 我们希望继ç»å‘行新的 +版本,也希望æ供更多的帮助文档ã€æ›´å¤šçš„实用程åºã€æ›´å¤šçš„安装程åºï¼Œå½“然还 +有更多更新的å®åŒ…与å—体。这个工作是由志愿者在其空闲时间完æˆçš„,所以总有 +更多值得åšçš„地方。请å‚è§ \url{http://tug.org/texlive/contribute.html}。 + +请把更æ£ã€å»ºè®®æˆ–者æ供帮助的æ„æ„¿å‘é€åˆ°ï¼š +\begin{quote} +\email{tex-live@tug.org} \\ +\url{http://tug.org/texlive} +\end{quote} + +\medskip +\noindent \textsl{ç¥ä½ 使用 \textrm{\TeX} 愉快ï¼} + +\section{翻译说明} + +这里对简体ä¸æ–‡ç‰ˆæœ¬ã€Š\TL{} 指å—》,å³æœ¬æ–‡æ¡£ä¸éµå¾ªçš„翻译惯例作一简è¦è¯´æ˜Žï¼š + +\begin{itemize} + +\item package, 视上下文,有时翻译为软件包,有时翻译为å®åŒ…。 +\item format file, å³ \TeX{} 程åºä¸€èˆ¬éƒ½ä¼šé¢„载入的 \texttt{.fmt} +文件。本文档ä¸ç¿»è¯‘ä¸ºæ ¼å¼æ–‡ä»¶ã€‚ +\item scheme, 本文档ä¸è¯‘为 (安装) 方案。 +\item collection, 本文档ä¸è¯‘为 (软件) 集åˆã€‚ +\item 本文档ä¸æœ‰æ—¶å¯¹åŽŸæ–‡æ²¡æœ‰é‡‡ç”¨é€å—é€å¥çš„对比翻译,而是总括其æ„æ€ï¼Œè½¬æ¢ä¸º +更易为ä¸æ–‡ \TeX{} ç”¨æˆ·ä¹ æƒ¯çš„è¡¨è¾¾æ–¹å¼ã€‚ +\item architecture/platform, 是æ„æ€æ¯”较相近的è¯ï¼ŒåŸºæœ¬ä¸Šæ˜¯åªæŸç§ CPU +和对应这个 CPU çš„æ“作系统。比如 i386-linux。本文里翻译为架构ã€å¹³å°ã€ä½“ç³» +结构ç‰ç‰ã€‚ +\item binary, 二进制文件,其实就是说å¯æ‰§è¡Œç¨‹åºæ–‡ä»¶å’Œåº“文件了。 + +\end{itemize} + +2007 年的简体ä¸æ–‡ç‰ˆæœ¬ç”± Jiang Jiang, Jinsong Zhao, Yue Wang, +Helin Gai ç¿»è¯‘ã€‚å…¶ä¸ Jinsong Zhao è´Ÿè´£ Windows 部分的翻译,Yue Wang +å’Œ Helin Gai è¿›è¡Œäº†æ ¡å¯¹ï¼ŒJiang Jiang 则负责其余的翻译和统稿。 + +2008 年的简体ä¸æ–‡ç‰ˆæœ¬ç”± Jiang Jiang, Yue Wang å’Œ Jinsong Zhao 翻译。 + +2009 年的简体ä¸æ–‡ç‰ˆæœ¬ç”± Jiang Jiang å’Œ Jinsong Zhao 翻译。 + +2010 年的简体ä¸æ–‡ç‰ˆæœ¬ç”± Jiang Jiang 翻译。 + +2011 年的简体ä¸æ–‡ç‰ˆæœ¬ç”± Jiang Jiang 翻译。 + +2012 年的简体ä¸æ–‡ç‰ˆæœ¬ç”± Jiang Jiang 翻译。 + +\end{document} diff --git a/Master/texmf-dist/doc/texworks/README b/Master/texmf-dist/doc/texworks/README new file mode 100644 index 00000000000..23a151bb64a --- /dev/null +++ b/Master/texmf-dist/doc/texworks/README @@ -0,0 +1,14 @@ +$Id$ +Public domain. Originally written by Karl Berry, 2009. + +TeXworks is a cross-platform GUI front end for TeX, written by Jonathan Kew. +Its home page is http://tug.org/texworks, with links to documentation, +articles, and othe resources. + +TeX Live includes a Windows binary for TeXworks, and MacTeX includes a +MacOSX binary. No other binaries are included, because it depends +(implicitly or explicitly) on so many libraries that it is impossible to +ship anything that has a chance of working across different releases. + +So for other platforms, please download from the TeXworks home page if +available, or compile from source. diff --git a/Master/texmf-dist/doc/tpic2pdftex/Makefile b/Master/texmf-dist/doc/tpic2pdftex/Makefile new file mode 100644 index 00000000000..99cd48d04e5 --- /dev/null +++ b/Master/texmf-dist/doc/tpic2pdftex/Makefile @@ -0,0 +1,31 @@ +#$Id: Makefile,v 1.21 2007/01/14 13:35:17 hahe Exp hahe $ + +.PRECIOUS: %.tpic %.tex + +all: example.pdf beamerexample.pdf + +example.pdf: example.tex + pdftex $< + +beamerexample.pdf: beamerexample.tex + pdflatex $< + +%.tpic: %.pic Makefile + pic -z -t $< > $@ + +%.tex: %.tpic + tpic2pdftex $< > $@ + +clean: + - rm *.tex + - rm *.log + - rm *.toc + - rm *.out + - rm *.snm + - rm *.nav + - rm *.aux + - rm *.tpic + +allclean: + make clean + - rm *.pdf diff --git a/Master/texmf-dist/doc/tpic2pdftex/beamerexample.pdf b/Master/texmf-dist/doc/tpic2pdftex/beamerexample.pdf Binary files differnew file mode 100644 index 00000000000..fd756bd7597 --- /dev/null +++ b/Master/texmf-dist/doc/tpic2pdftex/beamerexample.pdf diff --git a/Master/texmf-dist/doc/tpic2pdftex/beamerexample.pic b/Master/texmf-dist/doc/tpic2pdftex/beamerexample.pic new file mode 100644 index 00000000000..558bfaaaf12 --- /dev/null +++ b/Master/texmf-dist/doc/tpic2pdftex/beamerexample.pic @@ -0,0 +1,88 @@ +%$Id: beamerexample.pic,v 1.3 2004/04/13 21:36:47 hahe Exp hahe $ +\documentclass{beamer} +\beamertemplatenavigationsymbolsempty +\newcommand\gpicbox[1]{\vbox{\unvcopy\csname #1\endcsname\kern0pt}} +%*********************************************************************** +\begin{document} + +\section{PDF File Generation} + +\frame{ +\frametitle{How a PDF File is generated\ldots} +.PS +[ + boxwid=0.8; boxht=0.2 + ellipsewid=0.8; ellipseht=0.25 + down + A:ellipse "{\ttfamily foo.tex}" + arrow 0.2 at A.s + B:box "tex" + [ + right + ellipse wid 1.2*ellipsewid "{\ttfamily $\ast$.tfm}" + arrow 0.2 + ] with .e at B.w + arrow 0.2 at B.s + C:ellipse "{\ttfamily foo.dvi}" +\only<2-3>{% + arrow 0.2 + D:box "dvips" + Q:[ + D: ellipse wid 1.2*ellipsewid "{\ttfamily $\ast$.vf}, {\ttfamily $\ast$.tfm}" + move 0.1 + E: ellipse ht 0.8 wid 1.2*ellipsewid "{\ttfamily psfonts.map}" \ + "{\ttfamily $\ast$.enc}, {\ttfamily $\ast$.pfb}" + ] with .e at D.w - (0.2,0) + spline -> right 0.05 from Q.D.e to D.nw + spline -> right 0.05 from Q.E.e to D.sw + arrow down 0.2 at D.s + ellipse "{\ttfamily foo.ps}" +\relax}% +\only<3>{% + arrow 0.2 + X:box "ps2pdf" + arrow 0.2 + ellipse "{\ttfamily foo.pdf}" +\relax}% +\only<4-| handout:0>{% + arrow 0.2 at C.s + D1:box "dvipdfm\textcolor{black!50}{x}" + Q1:[ + D: ellipse wid 1.2*ellipsewid "{\ttfamily $\ast$.vf}, {\ttfamily $\ast$.tfm}" + move 0.1 + E: ellipse ht 0.8 wid 1.2*ellipsewid "{\ttfamily psfonts.map}" \ + "{\ttfamily $\ast$.enc}, {\ttfamily $\ast$.pfb}" + ] with .e at D.w - (0.2,0) + spline -> right 0.05 from Q1.D.e to D1.nw + spline -> right 0.05 from Q1.E.e to D1.sw + arrow down 0.2 at D1.s + ellipse "{\ttfamily foo.pdf}" +\relax}% +\only<5->{% + move right 2.2 at A.n + down + ellipse "{\ttfamily foo.tex}" + arrow 0.2 + P:box ht (B.n.y - D1.s.y) "pdftex" + [ + right + ellipse wid 1.2*ellipsewid "{\ttfamily $\ast$.vf}, {\ttfamily $\ast$.tfm}" + arrow 0.2 + ] with .e at (P.w.x,Q.D.y) + RR:[ + A:ellipse ht 0.8 wid 1.2*ellipsewid "{\ttfamily pdftex.map}" \ + "{\ttfamily $\ast$.enc}, {\ttfamily $\ast$.pfb}" + ] with .e at (P.w.x - 0.2,Q.E.y) + spline -> right 0.05 from RR.A.e to P.sw + down + arrow 0.2 at P.s + ellipse "{\ttfamily foo.pdf}" +] +\relax}% +.PE + +\centering +\leavevmode\gpicbox{graph} +} + +\end{document} diff --git a/Master/texmf-dist/doc/tpic2pdftex/example.pdf b/Master/texmf-dist/doc/tpic2pdftex/example.pdf new file mode 100644 index 00000000000..abf6e55720b --- /dev/null +++ b/Master/texmf-dist/doc/tpic2pdftex/example.pdf @@ -0,0 +1,714 @@ +%PDF-1.4 +%ÐÔÅØ +3 0 obj << +/Length 20581 +>> +stream +q +1 0 0 1 72 760.126 cm +[]0 d 0 J 0.398 w 0 0 m 468 0 l S +Q +BT +/F1 9.9626 Tf 72 744.983 Td [(1)]TJ 46.736 -27.033 Td [(A)]TJ +ET +1 0 0 1 126.208 753.95 cm + q [] 0 d 1 J 1 j 0.576 w 1.008 w q [0 3.6] 0 d 0 -36 m 54 -36 l S Q q [0 3.6] 0 d 54 -36 m 54 0 l S Q q [0 3.6] 0 d 54 0 m 0 0 l S Q q [0 3.6] 0 d 0 0 m 0 -36 l S Q 0.072 w q 0 g 82.8 -16.2 m 90 -18 l 82.8 -19.8 l 82.8 -16.2 l B Q 0.576 w 54 -18 m 82.8 -18 l S 126 -18 m 126 -27.941125 117.941125 -36 108 -36 c 98.058875 -36 90 -27.941125 90 -18 c 90 -8.058875 98.058875 0 108 0 c 117.941125 0 126 -8.058875 126 -18 c h q 0.9 g f Q 126 -18 m 126 -18 l S 125.928 -16.488 m 125.928 -16.488 l S 125.784 -15.048 m 125.784 -15.048 l S 125.424 -13.608 m 125.424 -13.608 l S 124.992 -12.168 m 124.992 -12.168 l S 124.488 -10.8 m 124.488 -10.8 l S 123.84 -9.432 m 123.84 -9.432 l S 123.048 -8.136 m 123.048 -8.136 l S 122.184 -6.912 m 122.184 -6.912 l S 121.248 -5.832 m 121.248 -5.832 l S 120.168 -4.752 m 120.168 -4.752 l S 119.088 -3.816 m 119.088 -3.816 l S 117.864 -2.952 m 117.864 -2.952 l S 116.568 -2.16 m 116.568 -2.16 l S 115.2 -1.512 m 115.2 -1.512 l S 113.832 -1.008 m 113.832 -1.008 l S 112.392 -0.576 m 112.392 -0.576 l S 110.952 -0.216 m 110.952 -0.216 l S 109.512 -0.072 m 109.512 -0.072 l S 108 0 m 108 0 l S 106.488 -0.072 m 106.488 -0.072 l S 105.048 -0.216 m 105.048 -0.216 l S 103.608 -0.576 m 103.608 -0.576 l S 102.168 -1.008 m 102.168 -1.008 l S 100.8 -1.512 m 100.8 -1.512 l S 99.432 -2.16 m 99.432 -2.16 l S 98.136 -2.952 m 98.136 -2.952 l S 96.912 -3.816 m 96.912 -3.816 l S 95.832 -4.752 m 95.832 -4.752 l S 94.752 -5.832 m 94.752 -5.832 l S 93.816 -6.912 m 93.816 -6.912 l S 92.952 -8.136 m 92.952 -8.136 l S 92.16 -9.432 m 92.16 -9.432 l S 91.512 -10.8 m 91.512 -10.8 l S 91.008 -12.168 m 91.008 -12.168 l S 90.576 -13.608 m 90.576 -13.608 l S 90.216 -15.048 m 90.216 -15.048 l S 90.072 -16.488 m 90.072 -16.488 l S 90 -18 m 90 -18 l S 90.072 -19.512 m 90.072 -19.512 l S 90.216 -20.952 m 90.216 -20.952 l S 90.576 -22.392 m 90.576 -22.392 l S 91.008 -23.832 m 91.008 -23.832 l S 91.512 -25.2 m 91.512 -25.2 l S 92.16 -26.568 m 92.16 -26.568 l S 92.952 -27.864 m 92.952 -27.864 l S 93.816 -29.088 m 93.816 -29.088 l S 94.752 -30.168 m 94.752 -30.168 l S 95.832 -31.248 m 95.832 -31.248 l S 96.912 -32.184 m 96.912 -32.184 l S 98.136 -33.048 m 98.136 -33.048 l S 99.432 -33.84 m 99.432 -33.84 l S 100.8 -34.488 m 100.8 -34.488 l S 102.168 -34.992 m 102.168 -34.992 l S 103.608 -35.424 m 103.608 -35.424 l S 105.048 -35.784 m 105.048 -35.784 l S 106.488 -35.928 m 106.488 -35.928 l S 108 -36 m 108 -36 l S 109.512 -35.928 m 109.512 -35.928 l S 110.952 -35.784 m 110.952 -35.784 l S 112.392 -35.424 m 112.392 -35.424 l S 113.832 -34.992 m 113.832 -34.992 l S 115.2 -34.488 m 115.2 -34.488 l S 116.568 -33.84 m 116.568 -33.84 l S 117.864 -33.048 m 117.864 -33.048 l S 119.088 -32.184 m 119.088 -32.184 l S 120.168 -31.248 m 120.168 -31.248 l S 121.248 -30.168 m 121.248 -30.168 l S 122.184 -29.088 m 122.184 -29.088 l S 123.048 -27.864 m 123.048 -27.864 l S 123.84 -26.568 m 123.84 -26.568 l S 124.488 -25.2 m 124.488 -25.2 l S 124.992 -23.832 m 124.992 -23.832 l S 125.424 -22.392 m 125.424 -22.392 l S 125.784 -20.952 m 125.784 -20.952 l S 125.928 -19.512 m 125.928 -19.512 l S Q +1 0 0 1 -126.208 -753.95 cm +BT +/F1 9.9626 Tf 223 733.805 Td [(Hello)]TJ +ET +1 0 0 1 126.208 753.95 cm + q [] 0 d 1 J 1 j 0.576 w 0.072 w q 0 g 154.8 -16.2 m 162 -18 l 154.8 -19.8 l 154.8 -16.2 l B Q 0.576 w 126 -18 m 154.8 -18 l S 198 -18 m 198 -27.941125 189.941125 -36 180 -36 c 170.058875 -36 162 -27.941125 162 -18 c 162 -8.058875 170.058875 0 180 0 c 189.941125 0 198 -8.058875 198 -18 c h q 0.9 g B Q 0.072 w q 0 g 226.8 -16.2 m 234 -18 l 226.8 -19.8 l 226.8 -16.2 l B Q 0.576 w 198 -18 m 226.8 -18 l S 270 -18 m 270 -27.941125 261.941125 -36 252 -36 c 242.058875 -36 234 -27.941125 234 -18 c 234 -8.058875 242.058875 0 252 0 c 261.941125 0 270 -8.058875 270 -18 c h q 0.1 g B Q 0.072 w q 0 g 298.8 -16.2 m 306 -18 l 298.8 -19.8 l 298.8 -16.2 l B Q 0.576 w 270 -18 m 298.8 -18 l S q [7.2 8.4] 0 d 306 -36 m 360 -36 l S Q q [7.2 7.2] 0 d 360 -36 m 360 0 l S Q q [7.2 8.4] 0 d 360 0 m 306 0 l S Q q [7.2 7.2] 0 d 306 0 m 306 -36 l S Q Q +1 0 0 1 -126.208 -753.95 cm +BT +/F1 9.9626 Tf 486.208 717.95 Td [(B)]TJ +ET +q +1 0 0 1 72 712.769 cm +[]0 d 0 J 0.398 w 0 0 m 468 0 l S +Q +BT +/F1 9.9626 Tf 72 697.626 Td [(2)]TJ 19.736 -27.034 Td [(A)]TJ +ET +1 0 0 1 99.208 706.592 cm + q [] 0 d 1 J 1 j 0.576 w 0.576 w 54 -18 m 54 -27.941125 41.911688 -36 27 -36 c 12.088312 -36 0 -27.941125 0 -18 c 0 -8.058875 12.088312 0 27 0 c 41.911688 0 54 -8.058875 54 -18 c S 0.072 w q 0 g 82.8 -16.2 m 90 -18 l 82.8 -19.8 l 82.8 -16.2 l B Q 0.576 w 54 -18 m 82.8 -18 l S Q +q 1 0 0 RG + q [] 0 d 1 J 1 j 0.576 w 2.016 w 143.496 -14.472 m 143.496 -14.472 l S 141.984 -11.232 m 141.984 -11.232 l S 139.824 -8.424 m 139.824 -8.424 l S 137.16 -6.048 m 137.16 -6.048 l S 134.208 -4.104 m 134.208 -4.104 l S 130.968 -2.592 m 130.968 -2.592 l S 127.584 -1.44 m 127.584 -1.44 l S 124.128 -0.648 m 124.128 -0.648 l S 120.528 -0.144 m 120.528 -0.144 l S 117 0 m 117 0 l S 113.4 -0.144 m 113.4 -0.144 l S 109.872 -0.648 m 109.872 -0.648 l S 106.416 -1.44 m 106.416 -1.44 l S 103.032 -2.592 m 103.032 -2.592 l S 99.792 -4.104 m 99.792 -4.104 l S 96.84 -6.048 m 96.84 -6.048 l S 94.176 -8.424 m 94.176 -8.424 l S 91.944 -11.232 m 91.944 -11.232 l S 90.504 -14.472 m 90.504 -14.472 l S 90 -18 m 90 -18 l S 90.504 -21.528 m 90.504 -21.528 l S 92.016 -24.768 m 92.016 -24.768 l S 94.176 -27.576 m 94.176 -27.576 l S 96.84 -29.952 m 96.84 -29.952 l S 99.792 -31.896 m 99.792 -31.896 l S 103.032 -33.408 m 103.032 -33.408 l S 106.416 -34.56 m 106.416 -34.56 l S 109.872 -35.352 m 109.872 -35.352 l S 113.472 -35.856 m 113.472 -35.856 l S 117 -36 m 117 -36 l S 120.6 -35.856 m 120.6 -35.856 l S 124.128 -35.352 m 124.128 -35.352 l S 127.584 -34.56 m 127.584 -34.56 l S 130.968 -33.408 m 130.968 -33.408 l S 134.208 -31.896 m 134.208 -31.896 l S 137.16 -29.952 m 137.16 -29.952 l S 139.824 -27.576 m 139.824 -27.576 l S 142.056 -24.768 m 142.056 -24.768 l S 143.496 -21.528 m 143.496 -21.528 l S 144 -18 m 144 -18 l S Q +Q + q [] 0 d 1 J 1 j 2.016 w 0.072 w q 0 g 172.8 -16.2 m 180 -18 l 172.8 -19.8 l 172.8 -16.2 l B Q 0.576 w 144 -18 m 172.8 -18 l S 232.02864 -11.238401 m 232.334929 -11.742368 232.610282 -12.264498 232.853174 -12.801899 c S 230.975377 -9.770722 m 231.349857 -10.253474 231.696602 -10.757114 232.013936 -11.279209 c S 225.693804 -4.98167 m 226.708489 -5.626132 227.671516 -6.348532 228.574174 -7.142335 c S 219.281172 -1.964592 m 220.418948 -2.349286 221.534033 -2.798082 222.621076 -3.308826 c S 212.333894 -0.40708 m 213.522876 -0.565692 214.703718 -0.780277 215.872486 -1.05012 c S 205.200606 -0.040028 m 206.398633 0.013299 207.598438 0.013343 208.796469 -0.039898 c S 198.12434 -1.050853 m 199.293321 -0.780855 200.474385 -0.566138 201.663596 -0.407415 c S 191.376004 -3.310198 m 192.463073 -2.799308 193.578194 -2.350371 194.716014 -1.965543 c S 185.424044 -7.143902 m 186.326784 -6.349863 187.289921 -5.627248 188.304741 -4.982594 c S 181.912252 -11.28219 m 182.229476 -10.760023 182.576116 -10.256303 182.950494 -9.773467 c S 181.145542 -12.80474 m 181.388313 -12.2673 181.663546 -11.745124 181.969719 -11.241103 c S 180.135449 -19.799705 m 179.955148 -18.608668 179.954849 -17.397298 180.134561 -16.206172 c S 181.97265 -24.763719 m 181.66638 -24.259979 181.391022 -23.738083 181.1481 -23.20092 c S 183.025934 -26.230968 m 182.651519 -25.748432 182.304817 -25.245018 181.987502 -24.723157 c S 188.309223 -31.020252 m 187.294602 -30.376051 186.331609 -29.653929 185.428954 -28.860415 c S 194.721259 -34.03623 m 193.583624 -33.651685 192.468666 -33.203056 191.381736 -32.692495 c S 201.66927 -35.665342 m 200.480162 -35.506814 199.29919 -35.292302 198.130289 -35.022521 c S 208.802412 -36.031837 m 207.604389 -36.085254 206.404583 -36.085387 205.206549 -36.032236 c S 215.878435 -35.020506 m 214.709586 -35.290565 213.528652 -35.505355 212.339568 -35.664162 c S 222.626779 -32.688494 m 221.539616 -33.199557 220.424387 -33.648652 219.286448 -34.033624 c S 228.579048 -28.853377 m 227.676327 -29.647684 226.713181 -30.370559 225.698325 -31.015458 c S 232.08916 -24.715485 m 231.771918 -25.237881 231.425238 -25.741821 231.050797 -26.224868 c S 232.855725 -23.192455 m 232.612982 -23.730136 232.33775 -24.25255 232.031554 -24.756801 c S 233.864098 -16.197307 m 234.044704 -17.388339 234.045302 -18.599749 233.865871 -19.790959 c S Q +1 0 0 1 -99.208 -706.592 cm +BT +/F19 9.9626 Tf 286.976 703.932 Td [(q)]TJ +ET +q +1 0 0 1 296.938 704.131 cm +[]0 d 0 J 0.398 w 0 0 m 28.501 0 l S +Q +BT +/F1 9.9626 Tf 296.938 692.425 Td [(3)]TJ/F7 9.9626 Tf 4.981 0 Td [(=)]TJ/F1 9.9626 Tf 4.982 0 Td [(7)]TJ/F13 9.9626 Tf 7.195 0 Td [(\001)]TJ/F4 6.9738 Tf 6.177 3.923 Td [(2)]TJ +ET +q +1 0 0 1 320.273 694.916 cm +[]0 d 0 J 0.398 w 0 0 m 3.971 0 l S +Q +BT +/F4 6.9738 Tf 320.273 688.99 Td [(5)]TJ/F1 9.9626 Tf -25.827 -8.52 Td [(No.)-333(2)]TJ +ET +1 0 0 1 99.208 706.592 cm + q [] 0 d 1 J 1 j 0.576 w 0.072 w q 0 g 262.8 -16.2 m 270 -18 l 262.8 -19.8 l 262.8 -16.2 l B Q 0.576 w 234 -18 m 262.8 -18 l S Q +q 0 0 1 RG + 0.5 0.5 0.0 rg + q [] 0 d 1 J 1 j 0.576 w 324 -18 m 324 -27.941125 315.941125 -36 306 -36 c 296.058875 -36 288 -27.941125 288 -18 c 288 -8.058875 296.058875 0 306 0 c 315.941125 0 324 -8.058875 324 -18 c h q 0.95 g f Q 306 -18 m 306 -27.941125 297.941125 -36 288 -36 c 278.058875 -36 270 -27.941125 270 -18 c 270 -8.058875 278.058875 0 288 0 c 297.941125 0 306 -8.058875 306 -18 c h q 0.95 g f Q 306 -18 m 306 -27.941125 297.941125 -36 288 -36 c 278.058875 -36 270 -27.941125 270 -18 c 270 -8.058875 278.058875 0 288 0 c 297.941125 0 306 -8.058875 306 -18 c h q 0.95 g f Q 324 -18 m 324 -27.941125 315.941125 -36 306 -36 c 296.058875 -36 288 -27.941125 288 -18 c 288 -8.058875 296.058875 0 306 0 c 315.941125 0 324 -8.058875 324 -18 c h q 0.95 g f Q 1.008 w q 0.95 g 324 -18 m 324 -18 l 270 -18 l 270 -18 l 324 -18 l f Q q 0.95 g 306 -36 m 306 0 l 288 0 l 288 -36 l 306 -36 l f Q 0.576 w 288.000006 -36 m 278.058876 -36.000003 269.999997 -27.941124 270 -17.999994 c S 270 -18.000006 m 269.999997 -8.058876 278.058876 0.000003 288.000006 0 c S 306.000006 0 m 315.941129 -0.000003 324 -8.058877 324 -18 c S 324 -18 m 324 -27.941123 315.941129 -35.999997 306.000006 -36 c S 270 -18 m 270 -18 l S 288 0 m 306 0 l S 324 -18 m 324 -18 l S 306 -36 m 288 -36 l S Q +1 0 0 1 -99.208 -706.592 cm +BT +/F1 9.9626 Tf 385 686.447 Td [(Hello)]TJ +ET +1 0 0 1 99.208 706.592 cm + q [] 0 d 1 J 1 j 0.576 w 0.072 w q 0 g 352.8 -16.2 m 360 -18 l 352.8 -19.8 l 352.8 -16.2 l B Q 0.576 w 324 -18 m 352.8 -18 l S Q +Q + q [] 0 d 1 J 1 j 0.576 w q 0.8 g 360 -36 m 414 -36 l 414 0 l 360 0 l 360 -36 l f Q q [0 3.6] 0 d 360 -36 m 414 -36 l S Q q [0 3.6] 0 d 414 -36 m 414 0 l S Q q [0 3.6] 0 d 414 0 m 360 0 l S Q q [0 3.6] 0 d 360 0 m 360 -36 l S Q Q +1 0 0 1 -99.208 -706.592 cm +BT +/F1 9.9626 Tf 513.208 670.592 Td [(B)]TJ +ET +q +1 0 0 1 72 665.412 cm +[]0 d 0 J 0.398 w 0 0 m 468 0 l S +Q +BT +/F1 9.9626 Tf 72 650.268 Td [(3)]TJ 172.736 -27.033 Td [(A)]TJ +ET +1 0 0 1 252.208 659.235 cm + q [] 0 d 1 J 1 j 0.576 w 0.576 w 0 -36 m 36 -36 l S 54 -18 m 54 -27.941123 45.941129 -35.999997 36.000006 -36 c S 54 -18.000006 m 53.999997 -8.058876 62.058876 0.000003 72.000006 0 c S 72 0 m 108 0 l S Q +1 0 0 1 -252.208 -659.235 cm +BT +/F1 9.9626 Tf 360.208 623.235 Td [(B)]TJ +ET +q +1 0 0 1 72 618.054 cm +[]0 d 0 J 0.398 w 0 0 m 468 0 l S +Q +BT +/F1 9.9626 Tf 72 602.911 Td [(4)]TJ 190.736 -27.034 Td [(A)]TJ +ET +1 0 0 1 270.208 611.877 cm + q [] 0 d 1 J 1 j 0.576 w 0.072 w q 0 g 64.8 -34.2 m 72 -36 l 64.8 -37.8 l 64.8 -34.2 l B Q 0.576 w 0 0 m 36 0 l 60.48 0 60.48 -5.76 36 -18 c 11.52 -30.24 11.4048 -36 35.64 -36 c 71.28 -36 l S 0.072 w q 0 g 64.8 -34.2 m 72 -36 l 64.8 -37.8 l 64.8 -34.2 l B Q 0.576 w q [3.6 4.] 0 d 0 0 m 72 0 l S Q q [3.6 4.089845] 0 d 72 0 m 0 -36 l S Q q [3.6 4.05] 0 d 0 -36 m 64.8 -36 l S Q Q +1 0 0 1 -270.208 -611.877 cm +BT +/F1 9.9626 Tf 342.208 575.877 Td [(B)]TJ +ET +q +1 0 0 1 72 570.697 cm +[]0 d 0 J 0.398 w 0 0 m 468 0 l S +Q +BT +/F1 9.9626 Tf 72 555.554 Td [(5)]TJ 190.736 -63.034 Td [(A)]TJ +ET +1 0 0 1 270.208 564.52 cm +q 0 1 0 RG + q [] 0 d 1 J 1 j 0.576 w 0.072 w q 0 g 1.8 -64.8 m 0 -72 l -1.728 -64.8 l 1.8 -64.8 l B Q 0.576 w q [3.6] 0 d 0 0 m 36 0 l 60.48 0 60.48 -5.76 36 -18 c 11.52 -30.24 0 -41.6448 0 -53.64 c 0 -71.28 l S Q Q +Q + q [] 0 d 1 J 1 j 0.576 w 0.072 w q 0 g 1.8 -64.8 m 0 -72 l -1.728 -64.8 l 1.8 -64.8 l B Q 0.576 w q [0 1.44] 0 d 0 0 m 72 0 l S Q q [0 1.437472] 0 d 72 0 m 0 -36 l S Q q [0 1.44] 0 d 0 -36 m 0 -64.8 l S Q Q +1 0 0 1 -270.208 -564.52 cm +BT +/F1 9.9626 Tf 342.208 492.52 Td [(B)]TJ +ET +q +1 0 0 1 72 487.339 cm +[]0 d 0 J 0.398 w 0 0 m 468 0 l S +Q +BT +/F1 9.9626 Tf 72 472.196 Td [(6)]TJ 194.837 -18.033 Td [(A)]TJ +ET +q +1 0 0 1 274.508 454.163 cm +[]0 d 0 J 0.398 w 0 0 m 0 27 l S +Q +1 0 0 1 274.708 481.163 cm + q [] 0 d 1 J 1 j 0.576 w 0.072 w q 0 g 59.184 -20.664 m 63 -27 l 56.664 -23.184 l 59.184 -20.664 l B Q 0.576 w 27 -27 m 9.036 -27 l -3.17952 -27 -3.17952 -21.25152 9.036 -9.036 c 21.25152 3.17952 32.67936 3.26016 44.748 -8.784 c 62.496 -26.496 l S Q +q +1 0 0 1 63.199 -27 cm +[]0 d 0 J 0.398 w 0 0 m 0 27 l S +Q +1 0 0 1 -274.708 -481.163 cm +BT +/F1 9.9626 Tf 338.106 454.163 Td [(B)]TJ +ET +q +1 0 0 1 72 448.982 cm +[]0 d 0 J 0.398 w 0 0 m 468 0 l S +Q +BT +/F1 9.9626 Tf 72 433.839 Td [(7)]TJ 208.736 -27.034 Td [(A)]TJ +ET +1 0 0 1 288.208 442.805 cm + q [] 0 d 1 J 1 j 0.576 w 0.072 w q 0 g 1.8 -28.8 m 0 -36 l -1.728 -28.8 l 1.8 -28.8 l B Q 0.576 w 0 -36 m 18 -36 l 30.24 -36 36 -30.24 36 -18 c 36 -5.76 30.24 0 18 0 c 5.76 0 0 -5.6448 0 -17.64 c 0 -35.28 l S 0.072 w q 0 g 1.8 -28.8 m 0 -36 l -1.728 -28.8 l 1.8 -28.8 l B Q 0.576 w q [0 3.6] 0 d 0 -36 m 36 -36 l S Q q [0 3.6] 0 d 36 -36 m 36 0 l S Q q [0 3.6] 0 d 36 0 m 0 0 l S Q q [0 3.6] 0 d 0 0 m 0 -28.8 l S Q Q +1 0 0 1 -288.208 -442.805 cm +BT +/F1 9.9626 Tf 324.208 406.805 Td [(B)]TJ +ET +q +1 0 0 1 72 401.625 cm +[]0 d 0 J 0.398 w 0 0 m 468 0 l S +Q +BT +/F1 9.9626 Tf 72 386.481 Td [(8)]TJ 179.935 -70.234 Td [(A)]TJ +ET +1 0 0 1 259.407 395.448 cm + q [] 0 d 1 J 1 j 0.576 w 0.576 w 64.8 -18 m 64.8 -27.941125 56.741125 -36 46.8 -36 c 36.858875 -36 28.8 -27.941125 28.8 -18 c 28.8 -8.058875 36.858875 0 46.8 0 c 56.741125 0 64.8 -8.058875 64.8 -18 c S Q +1 0 0 1 -259.407 -395.448 cm +BT +/F1 9.9626 Tf 303.578 375.303 Td [(x)]TJ +ET +1 0 0 1 259.407 395.448 cm + q [] 0 d 1 J 1 j 0.576 w 36 -61.2 m 36 -71.141125 27.941125 -79.2 18 -79.2 c 8.058875 -79.2 0 -71.141125 0 -61.2 c 0 -51.258875 8.058875 -43.2 18 -43.2 c 27.941125 -43.2 36 -51.258875 36 -61.2 c S Q +1 0 0 1 -259.407 -395.448 cm +BT +/F1 9.9626 Tf 274.778 332.103 Td [(y)]TJ +ET +1 0 0 1 259.407 395.448 cm + q [] 0 d 1 J 1 j 0.576 w 93.6 -61.2 m 93.6 -71.141125 85.541125 -79.2 75.6 -79.2 c 65.658875 -79.2 57.6 -71.141125 57.6 -61.2 c 57.6 -51.258875 65.658875 -43.2 75.6 -43.2 c 85.541125 -43.2 93.6 -51.258875 93.6 -61.2 c S Q +1 0 0 1 -259.407 -395.448 cm +BT +/F1 9.9626 Tf 332.794 332.103 Td [(z)]TJ +ET +1 0 0 1 259.407 395.448 cm + q [] 0 d 1 J 1 j 0.576 w 0.072 w q 0 g 33.48 -41.256 m 28.008 -46.224 l 30.456 -39.24 l 33.48 -41.256 l B Q 0.576 w 36.792 -32.976 m 31.968 -40.248 l S 0.072 w q 0 g 50.4 -59.4 m 57.6 -61.2 l 50.4 -63 l 50.4 -59.4 l B Q 0.576 w 36 -61.2 m 50.4 -61.2 l S 0.072 w q 0 g 59.256 -39.96 m 56.808 -32.976 l 62.28 -37.944 l 59.256 -39.96 l B Q 0.576 w 65.592 -46.224 m 60.768 -38.952 l S Q +1 0 0 1 -259.407 -395.448 cm +BT +/F1 9.9626 Tf 353.008 316.247 Td [(B)]TJ +ET +q +1 0 0 1 72 311.067 cm +[]0 d 0 J 0.398 w 0 0 m 468 0 l S +Q +BT +/F1 9.9626 Tf 72 295.924 Td [(9)]TJ 79.135 -135.034 Td [(A)]TJ +ET +1 0 0 1 158.607 304.89 cm + q [] 0 d 1 J 1 j 0.576 w 0.576 w 43.2 -43.2 m 64.8 -43.2 l 64.8 -28.8 l 43.2 -28.8 l 43.2 -43.2 l S 43.2 -57.6 m 64.8 -57.6 l 64.8 -43.2 l 43.2 -43.2 l 43.2 -57.6 l S 43.2 -72 m 64.8 -72 l 64.8 -57.6 l 43.2 -57.6 l 43.2 -72 l S 43.2 -115.2 m 64.8 -115.2 l 64.8 -72 l 43.2 -72 l 43.2 -115.2 l S Q +1 0 0 1 -158.607 -304.89 cm +BT +/F1 9.9626 Tf 211.224 221.1 Td [(.)]TJ 0 -11.955 Td [(.)]TJ 0 -11.955 Td [(.)]TJ +ET +1 0 0 1 158.607 304.89 cm + q [] 0 d 1 J 1 j 0.576 w 43.2 -129.6 m 64.8 -129.6 l 64.8 -115.2 l 43.2 -115.2 l 43.2 -129.6 l S 43.2 -144 m 64.8 -144 l 64.8 -129.6 l 43.2 -129.6 l 43.2 -144 l S Q +1 0 0 1 -158.607 -304.89 cm +BT +/F1 9.9626 Tf 161.777 266.745 Td [(hash)28(tab:)]TJ +ET +1 0 0 1 158.607 304.89 cm + q [] 0 d 1 J 1 j 0.576 w 93.6 -14.4 m 129.6 -14.4 l 129.6 0 l 93.6 0 l 93.6 -14.4 l S Q +1 0 0 1 -158.607 -304.89 cm +BT +/F1 9.9626 Tf 266.056 295.545 Td [(...)]TJ +ET +1 0 0 1 158.607 304.89 cm + q [] 0 d 1 J 1 j 0.576 w 129.6 -14.4 m 144 -14.4 l 144 0 l 129.6 0 l 129.6 -14.4 l S Q +1 0 0 1 -158.607 -304.89 cm +BT +/F1 9.9626 Tf 290.149 295.545 Td [(n1)]TJ +ET +1 0 0 1 158.607 304.89 cm + q [] 0 d 1 J 1 j 0.576 w 144 -14.4 m 165.6 -14.4 l 165.6 0 l 144 0 l 144 -14.4 l S Q +1 0 0 1 -158.607 -304.89 cm +BT +/F1 9.9626 Tf 308.149 295.545 Td [(d1)]TJ +ET +1 0 0 1 158.607 304.89 cm + q [] 0 d 1 J 1 j 0.576 w 165.6 -14.4 m 194.4 -14.4 l 194.4 0 l 165.6 0 l 165.6 -14.4 l S Q +1 0 0 1 -158.607 -304.89 cm +BT +/F1 9.9626 Tf 333.349 295.545 Td [(n3)]TJ +ET +1 0 0 1 158.607 304.89 cm + q [] 0 d 1 J 1 j 0.576 w 194.4 -14.4 m 216 -14.4 l 216 0 l 194.4 0 l 194.4 -14.4 l S Q +1 0 0 1 -158.607 -304.89 cm +BT +/F1 9.9626 Tf 358.55 295.545 Td [(d3)]TJ +ET +1 0 0 1 158.607 304.89 cm + q [] 0 d 1 J 1 j 0.576 w 216 -14.4 m 244.8 -14.4 l 244.8 0 l 216 0 l 216 -14.4 l S Q +1 0 0 1 -158.607 -304.89 cm +BT +/F1 9.9626 Tf 384.856 295.545 Td [(...)]TJ +ET +1 0 0 1 158.607 304.89 cm + q [] 0 d 1 J 1 j 0.576 w 244.8 -14.4 m 280.8 -14.4 l 280.8 0 l 244.8 0 l 244.8 -14.4 l S Q +1 0 0 1 -158.607 -304.89 cm +BT +/F1 9.9626 Tf 416.149 295.545 Td [(n2)]TJ +ET +1 0 0 1 158.607 304.89 cm + q [] 0 d 1 J 1 j 0.576 w 280.8 -14.4 m 295.2 -14.4 l 295.2 0 l 280.8 0 l 280.8 -14.4 l S Q +1 0 0 1 -158.607 -304.89 cm +BT +/F1 9.9626 Tf 441.349 295.545 Td [(d2)]TJ +ET +1 0 0 1 158.607 304.89 cm + q [] 0 d 1 J 1 j 0.576 w 0.072 w q 0 g 82.8 -48.6 m 90 -50.4 l 82.8 -52.2 l 82.8 -48.6 l B Q 0.576 w 54 -50.4 m 82.8 -50.4 l S 90 -54 m 100.8 -54 l 100.8 -46.8 l 90 -46.8 l 90 -54 l S 90 -61.2 m 100.8 -61.2 l 100.8 -54 l 90 -54 l 90 -61.2 l S 90 -68.4 m 100.8 -68.4 l 100.8 -61.2 l 90 -61.2 l 90 -68.4 l S 0.072 w q 0 g 127.8 -19.44 m 133.2 -14.4 l 130.752 -21.384 l 127.8 -19.44 l B Q 0.576 w 95.4 -50.4 m 102.6 -50.4 l 107.496 -50.4 113.4864 -44.73216 121.32 -32.688 c 132.84 -14.976 l S 0.072 w q 0 g 141.984 -19.224 m 147.6 -14.4 l 144.936 -21.312 l 141.984 -19.224 l B Q 0.576 w 95.4 -57.6 m 106.2 -57.6 l 113.544 -57.6 121.82688 -50.78016 132.084 -36.288 c 147.168 -14.976 l S 0.072 w q 0 g 124.2 -63 m 131.4 -64.8 l 124.2 -66.6 l 124.2 -63 l B Q 0.576 w 95.4 -64.8 m 124.2 -64.8 l S 131.4 -68.4 m 142.2 -68.4 l 142.2 -61.2 l 131.4 -61.2 l 131.4 -68.4 l S 131.4 -75.6 m 142.2 -75.6 l 142.2 -68.4 l 131.4 -68.4 l 131.4 -75.6 l S 131.4 -82.8 m 142.2 -82.8 l 142.2 -75.6 l 131.4 -75.6 l 131.4 -82.8 l S 0.072 w q 0 g 243.576 -20.016 m 248.4 -14.4 l 246.816 -21.672 l 243.576 -20.016 l B Q 0.576 w 136.8 -64.8 m 144 -64.8 l 148.896 -64.8 165.6 -59.04 196.2 -46.8 c 226.8 -34.56 242.30592 -26.59968 244.656 -21.924 c 248.112 -15.048 l S 0.072 w q 0 g 279.576 -20.016 m 284.4 -14.4 l 282.816 -21.672 l 279.576 -20.016 l B Q 0.576 w 136.8 -72 m 147.6 -72 l 154.944 -72 177.408 -65.088 217.8 -50.4 c 258.192 -35.712 278.30592 -26.59968 280.656 -21.924 c 284.112 -15.048 l S 0.072 w q 0 g 118.8 -120.6 m 126 -122.4 l 118.8 -124.2 l 118.8 -120.6 l B Q 0.576 w 54 -122.4 m 118.8 -122.4 l S 126 -126 m 136.8 -126 l 136.8 -118.8 l 126 -118.8 l 126 -126 l S 126 -133.2 m 136.8 -133.2 l 136.8 -126 l 126 -126 l 126 -133.2 l S 126 -140.4 m 136.8 -140.4 l 136.8 -133.2 l 126 -133.2 l 126 -140.4 l S 0.072 w q 0 g 165.888 -21.024 m 169.2 -14.4 l 169.416 -21.816 l 165.888 -21.024 l B Q 0.576 w 131.4 -122.4 m 138.6 -122.4 l 143.496 -122.4 149.52096 -105.2352 157.428 -68.76 c 169.056 -15.12 l S 0.072 w q 0 g 193.68 -20.448 m 198 -14.4 l 197.064 -21.744 l 193.68 -20.448 l B Q 0.576 w 131.4 -129.6 m 142.2 -129.6 l 149.544 -129.6 160.15392 -111.27168 175.356 -72.324 c 197.712 -15.048 l S Q +1 0 0 1 -158.607 -304.89 cm +BT +/F1 9.9626 Tf 364.788 180.345 Td [(ndblo)-28(c)28(k)]TJ +ET +1 0 0 1 158.607 304.89 cm + q [] 0 d 1 J 1 j 0.576 w 0.072 w q 0 g 159.984 -132.768 m 152.568 -132.48 l 159.264 -129.24 l 159.984 -132.768 l B Q 0.576 w q [3.6 4.251194] 0 d 201.6 -122.4 m 159.624 -131.04 l S Q Q +1 0 0 1 -158.607 -304.89 cm +BT +/F1 9.9626 Tf 212.896 295.545 Td [(ndtable:)]TJ 240.912 -134.655 Td [(B)]TJ +ET +q +1 0 0 1 72 155.709 cm +[]0 d 0 J 0.398 w 0 0 m 468 0 l S +Q +BT +/F1 9.9626 Tf 72 140.566 Td [(10)]TJ 231.509 -35.386 Td [(1)]TJ +ET +endstream +endobj +2 0 obj << +/Type /Page +/Contents 3 0 R +/Resources 1 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9 0 R +>> endobj +1 0 obj << +/Font << /F1 4 0 R /F19 5 0 R /F7 6 0 R /F13 7 0 R /F4 8 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +10 0 obj +[569.5 569.5 569.5 569.5] +endobj +11 0 obj +[277.8] +endobj +12 0 obj +[500] +endobj +13 0 obj +[1000] +endobj +14 0 obj +[277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 277.8 777.8 472.2 472.2 777.8 750 708.3 722.2 763.9 680.6 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.6 777.8 736.1 555.6 722.2 750 750 1027.8 750 750 611.1 277.8 500 277.8 500 277.8 277.8 500 555.6 444.4 555.6 444.4 305.6 500 555.6 277.8 305.6 527.8 277.8 833.3 555.6 500 555.6 527.8 391.7 394.4 388.9 555.6 527.8 722.2 527.8 527.8 444.4] +endobj +15 0 obj << +/Length1 752 +/Length2 1024 +/Length3 0 +/Length 1776 +>> +stream +%!PS-AdobeFont-1.1: CMEX10 1.00 +%%CreationDate: 1992 Jul 23 21:22:48 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.00) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMEX10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /CZNUER+CMEX10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 113 /radicalBig put +readonly def +/FontBBox{-24 -2960 1454 772}readonly def +currentdict end +currentfile eexec +ÙÖoc;„j—¶†©~E£Ðª*Bg·N³ÀÓ½ƒØ‘l¦ÊKq*Þ²Xú«šææwüsŠ¼|QÍFïq˜Õþæv`æšz¹XòšMyåp"÷ƒë»¶Ôôì5OÒÞË©”Y¤ÅðÆë¡P(DTçÜ! +Ià3YeòûA˜I—™ÎÌȪ]%RdxLÓ +>‚•ˆŽû +Ý׺ÄZîîÍÿzG¨ŽiØLžW&Á¬i£K_
èîNߟJÞ‡h $ØÕ·>ðNE—|¨sÔÝEÞf£¸%†L5X€Ý& È–Ñ«†’YtŽ˜öqN$&žÕó(4Fd:ùñÎgÛ/]>§~ç4Ò¾Ö#ùsæ„,<&fÝMÑÁÈ8Oj{ªÍôA» +®¢¦—äSÙÛ²Ø`L ‘“i Ó41ÞD?ü»uak<f¬5ŒtíûáEÑê +endstream +endobj +16 0 obj << +/Type /FontDescriptor +/FontName /CZNUER+CMEX10 +/Flags 4 +/FontBBox [-24 -2960 1454 772] +/Ascent 40 +/CapHeight 0 +/Descent -600 +/ItalicAngle 0 +/StemV 47 +/XHeight 431 +/CharSet (/radicalBig) +/FontFile 15 0 R +>> endobj +17 0 obj << +/Length1 752 +/Length2 1005 +/Length3 0 +/Length 1757 +>> +stream +%!PS-AdobeFont-1.1: CMMI10 1.100 +%%CreationDate: 1996 Jul 23 07:53:57 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.100) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMMI10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +end readonly def +/FontName /VIMHMC+CMMI10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 61 /slash put +readonly def +/FontBBox{-32 -250 1048 750}readonly def +currentdict end +currentfile eexec +ÙÖoc;„j—¶†©~E£Ðª)s™§„̾…´™;.ëÞ;Ôr·ÏTeò…ji«–íK/df5à¶A|Ç{S/…ØÇ
)¡šSïcë\^ÈŸÆÂm‰çÙäp·+ïÚ#õßv¾¯Lé17¢íŠ©×Öýó~kÍàÙ˜d#å– +]Ÿ»L•eVèßËúìGo£oÙ¥È\šõþÙÂÝÒkÜ
™9‹ŸMÕ™=ü 0)xfáÍ +1›kÙXž9JS:6ÔV ™ +é:ùm— ,MZ+²¸Ç’\Ex +:áØã9pEz–~ÿ„öØGuE¸Ì[Ùn窙ÝÉài9ヽ¤u#=X&>¿¯Àâø@Q-2fT{0lY+Šáú%d¹¢m¬%däÈBag(ÙÇMÃIônǹp‹†Ft%¦ý³£–V/~äØ@´6!tLø¢:nS&I¶l* +kM:s;ÆÊÜÏU!¦ƒ]ˆÇߣI,i6½Œrÿ‡ËÌôl§Ñê§GAP»šI¦â¢…àšN]ùÈÔÒÅô¶MBôŸÞP8/P¿\'—sÁ)p€–PhoØ~,‰ï{6HlÂÀâ¼Æâãß=ðà3oâøÇ臿æ”63ÙîÅi»ï¹öeÒÒ/§çÊRFY\i´ö$öï5 —³‚-Afò9ÛÖº®Õƒ^!nC½¬€ÖÒô4 Q‚ô¸—»¸¡.ß`w³*ÍXz8‘Úá +endstream +endobj +18 0 obj << +/Type /FontDescriptor +/FontName /VIMHMC+CMMI10 +/Flags 4 +/FontBBox [-32 -250 1048 750] +/Ascent 694 +/CapHeight 683 +/Descent -194 +/ItalicAngle -14 +/StemV 72 +/XHeight 431 +/CharSet (/slash) +/FontFile 17 0 R +>> endobj +19 0 obj << +/Length1 1212 +/Length2 6788 +/Length3 0 +/Length 8000 +>> +stream +%!PS-AdobeFont-1.1: CMR10 1.00B +%%CreationDate: 1992 Feb 19 19:54:52 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.00B) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMR10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /WNQXBD+CMR10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 65 /A put +dup 66 /B put +dup 72 /H put +dup 78 /N put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 58 /colon put +dup 100 /d put +dup 101 /e put +dup 56 /eight put +dup 53 /five put +dup 52 /four put +dup 104 /h put +dup 107 /k put +dup 108 /l put +dup 110 /n put +dup 57 /nine put +dup 111 /o put +dup 49 /one put +dup 46 /period put +dup 115 /s put +dup 55 /seven put +dup 54 /six put +dup 116 /t put +dup 51 /three put +dup 50 /two put +dup 120 /x put +dup 121 /y put +dup 122 /z put +dup 48 /zero put +readonly def +/FontBBox{-251 -250 1009 969}readonly def +currentdict end +currentfile eexec +ÙÖoc;„j—¶†©~E£Ðª*Bg·N³ÀÓ½ƒØ‘l¦ÊKq*Þ²Xú«šææwüsŠ¼|QÍFïq˜Õþæv`æšz¹XòšMyåp"÷ƒë»¶Ôôì5OÒÞË©”Y¤ÅðÆë¡P(DTçÜ! +"p?”ÿ{u@š]A}¦s +iãújB)ü~ObÄÆ<PéžžµLKÄRr/Ž@ñáBŽy.¯à\ZPÓŒRMüÒMT|¿%ÝocÞ@R§S¶A¢~ä”x„Î5fI?¡ž +*†{aU†q0=殨NEvvæ»´*š$¬¼>°Ê{z;þ¨Oí9ÌûmT[²¼Äž^—d«”UlÔð$ïW›h +Hs(çãùÃ}ˆ²„CEà¼îê +Ë„“o†!i%|uj—æ‚`M~ÙP£QÁM¬Kê°åµ®µ[À›St‹a´àD&4X¿•9†¿–6~•ûBZ¬–üí[Lvo“ª
»k +"Ž:ŸÊn´õÀÇuÂZÿOP™Í:/¥šÊsWøé5S yJ‰èL4ó+F^ ÌÀ¡\-îW+ÚؽßÏ'C¡_Š“8ha‚bQò¹•Ô6JœÎP~)Y¡Ú§wµ’ˆ8íæû>þƒ‡¨àKˆÉîë-¸
Mµ,éÙÚß‚ZSP#ÑC¨ sFt}f·ã+M1ú†³×¢.BÅ(ª¯ÏŽ3âÄVsƒž¡‰¸©†O²sZ¥¹þF ï,qi€ôòÊ=-‰ýz¼ƒ‘æ®GÝŒ\§.ó“4omošl^êl}í…Ž§ž§±ýßçfgÔEä +þ›1¼‰*($¢µ÷P˜&~–BžÇ‡©Ïñ,Á¡8õp™Šø›?SLtŸV\¥ž·&C´®”ß%«lŸÂD%qBhsbüWN·›:KÂQZF£üü8þñaŽß‹›µfTAt¢8@G=û¢¦‘q¼²Ü(r…ÀU“´w“âñdŠ®™\?N\æâ*íÑÌj£Ü&Ö…â²Pº_YÛÙTeÅÅL´Š¦‡yx0€‹• ÌnÛ_o©ç…w0KŠ }ä¶q¯RHBôKE›^ ½BÞýܳYd È})ÊÛ”²SÛ»Öõ^¡ +aì +ë"¤‘Ê +ã×—ùb +‹õÜL¦>„³]Äú*ìÎ!Ão‡ +0Ù\\÷£6ÚÓ²ƒA…£R®¤¾•ÿ +@ùÃ9øÙ„h +®}j:Ìiˆ§Ïû‡Í·r.F.Bf‘ÐCý{Ìø’p¡¡`…îD0Ò\-9óû¦‰iWñN€ì®_¤ù|ÄKÅ(Ç—&Fø%8%Ölòþv7}÷_$«†¦YMïÉcô×*wõ)Œö~W½44ÔÛ¨Þíãiœ¹ÅÌø[ªU + +Z$îКµ±Zù“yˆ¾Ç>¦$gІÆFHÜ 15üµ¹—çzòæGŸB +$˜N_“ý†tù°ÜåžiÞÅ®‚·9~”•yž"Xõc媒CÍ!.%µÈ¶ˆM‚ÐÇš¬.Ñ棼H"^já†4Ão»Ø‹ç»{*«;œ…nðâ²B6–¾ÎÇ#Jq#AÏ€’¥ +5 /¨ïrìÉÔoXŒªß5ç›AB°cXf áÒß>«hk¼)å¦[/‡Þ¬©ˆ¬¦êáfAnf쓵„É-HFbu§Ï!á@C[ÛG5Ôˆú2bŽ¨°æ3Í÷‹Ë4"SÖr©äËö,uø}˜UºÔ]‘L@_½ó.m”:Q†¯N‚©ÜSát¹ÿØÑJ0x¶©†¾6€÷Ç9àø ¹Wäæ´¹Èé/b)ë”–qY¡³>æ»X*f ÄmFß™1uwaølˆ*Ô™¨iR›r„›¢-|³K°wbKº%÷ü^*®1‚CH‰¿¿iNª9¹ÜUÍñ«÷'Ä·WpôšÏÞÕn‡guÖyÎÛuÁÔþMš—Ê‹*Ÿ%Š¹pÔõt^®ÂÉßÛ™)±Ù=´–;¾Å*ðsu7Põ¨GÀr?
®CÎ7Óä|žj_
wÏ›ôklO
Ësµ”Æ/4mŽd? no*z,9C÷ +Û§Çv `"7 ͤN 娒ÿû,°<¾$8¼àø¦Ú‡º3ŸHßHˆ1«~fŸhÔDçVNÓíS(y9gEðçhT£õÙZý¥TÁÉý•ýîµ×§öùHÀ.d-÷‘¹¿uÀLÒ*œÇ^cã„Úšç·gãì&M›Ë=ý6ΟnhÐY{&â#5ôëŠâ\©YÃ$©ó¿—ùcí÷3)‰B|æ\;ì4ÄtÇŽ˜ÏÉRÒ?ãšT ï÷jÎm/²ÃÞ¸°.wÃ[ÏIyãzá@÷—Ë»ØóÀŸ†û/Aÿü²u„ã°³û î<pp£d6Gàè[Ï88”9yíÏ=C®h +¨~Ðf`òN[Ç®ê*ÓÐÚn‘&Iù#´N+©ŸK¸•}r óúÿ*úôÅÖAÀk«K¢ë*ÙïïlÝâ"T¬˜|OÝ‹‘¢ÛJç›Ñ×äÖ:4[\~z;¾.‘踩( +È´ÊcJË›Ôâ’xoÑí•»=Éí4’öŸ´Ø·WÔhÉWâ€CŸm ^þá «¬,yPW?Fs‰æ·•ÁrlE÷’䘞–l5ùé3§¼eÒ5·t®%LQ¿å£Ô·O1‰}k½a ,Õ3¹Âj6Ý+¤àÑ[M>EÓÊåGwäñŸe[odLŽfHMÛGñújŸN壘³ +4ÚÂÃDiXWÒB®W8®X»ôüoÜsФ›(.¦ìgüRq¤ +6=Ähw¯ïHH¾’
4PÿÕ¬d¹ÚüT1&P=Yé!êÈhts¤m„@C +3$Ï›ïòNªô™ÍÃ)CF™ÞÛV
)L¦ÿûðaáð0¤ÞË9Ë FØ‘-àe<¸ªÁHÅDÙ*KûT +ÊM€@jµ ¹LKË–˜¼ñ¯ªÕJn¿,æ`ƒ[Mø/ºf³q +\™â:þ©„‰¹°'¢FÀ7ÿx£NéùÞ0ŠbWº×¥CÓxDÁG+l`¤š Lá¹I»‹pð«cÉëÝó?_4±E,2p©î»‹,„uEÀõmÚ{fÁÁÌçIi¹ßDj8ºó˜ý(NÚ;¯˜ùÈTib/À
4)¥4öéY¶{^|EÙŒ!¬‰3LP}ü¯óâžRˆfÂcõ^•v-^ñ<2]‹–·E +U4â|©YGʾW»4ßvçæ¿4¿Úü&ÉÀ9;ÀÄ£P¼Î¨óŒIôãä;»`S¯óäçé&6Äe·šÁ¾ÃfVü<5`OQ<´fûEEM5;– +T@Ñ|zC¿°RqÕ83é\„¹‡³à +Y˜Ø|ZpjK¾«™‘áêa~U_+›àî®çƪDBÜmvŒCoÜkÚáÍ{Îoòˆ€™ÑÊ}x +Öý¹½ÁHx·2©&Ó¬ô®áTöF7sHSž1 y GCøç&µ/ŒÊ÷WVž”è æu +DåTpÀ¼¯UHpÏ0 ½-øŒ®\ÏùþÈ¡YÓ DÈ„]Ïœæé!Ç ¡JPúç´²)¯Éjê/¢ûåþK»µd–Y ½Šï¯ŒàÕn£*†@^ÄÒP-†b\AðH|°±¡¶0ÐÅ3ëoè8 "Î+vçT}mú¼5DŠÈYÉøôhªU/ü›Ä[¸-•@™•Ñà’mD¯S3ƒƒ'vÝÌ ;1ÿe_Ô@r„ûêw_—kPqÞœãÜð|B ˜®)ê+dA +endstream +endobj +20 0 obj << +/Type /FontDescriptor +/FontName /WNQXBD+CMR10 +/Flags 4 +/FontBBox [-251 -250 1009 969] +/Ascent 694 +/CapHeight 683 +/Descent -194 +/ItalicAngle 0 +/StemV 69 +/XHeight 431 +/CharSet (/A/B/H/N/a/b/c/colon/d/e/eight/five/four/h/k/l/n/nine/o/one/period/s/seven/six/t/three/two/x/y/z/zero) +/FontFile 19 0 R +>> endobj +21 0 obj << +/Length1 752 +/Length2 1305 +/Length3 0 +/Length 2057 +>> +stream +%!PS-AdobeFont-1.1: CMR7 1.0 +%%CreationDate: 1991 Aug 20 16:39:21 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMR7) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /EHJXAY+CMR7 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 53 /five put +dup 50 /two put +readonly def +/FontBBox{-27 -250 1122 750}readonly def +currentdict end +currentfile eexec +ÙÖoc;„j—¶†©~E£Ðª*Bg·N³ÀÓ½ƒØ‘l¦ÊKq*Þ²Xú«šææwüsŠ¼|QÍFïq˜Õþæv`æšz¹XòšMyåp"÷ƒë»¶Ôôì5OÒÞË©”Y¤ÅðÆë¡P(DTçÜ! +(Ñ´t†`È +_2…áùXñÇðâoî|c™Ž¡2‹É„WÈ FÒÂü4bI¦dìû¢ÎP6Χ5ŸÊÀö†Ã»'îúEÕH÷½LæbjOƒÆŸé:S$:x6/0ŽÌ€ÝIá7Íɬºã’‚âjzMŒ›•ò'½¢¢¯©ÚëóPC€²¢ÏŸë.š?³½>€ŸÆ)4‡§E^³¸yÒ´½F”+±$8–&G"ËYl?e½Y¹jt±+²šT¯I2!nþXKÀt`‰Ë±~h„]{> Qîäaãiσ\¾mFÇU#GŽvh2uöÙnÃ8½WÕ;Rõ4¬ŸàEjÑ1‚B4²b¬«¤;bëÚ9y[®lþ—V:Pªáñ•ˆ‡9òg`†©\šJ~óO>%V‰0øݬ;cJÔºjYr¤t’6Ïy«¤ql4˜QoÙ«~ØôoÁ†‹_=6xßqªw,ñ÷Ý",kñŽðÏ·§oÆÑ +Ó#ÁvI«7_ ÏÍfz°”âÇË!yÄ(3)Éä5ç¤*к Y³øb#a€³M?ÎØ3G%wºÍG*LÕÇ4}.
f0ôFópË)¨Dƒ ›,%óÝ–ÆÓÊÓF÷d‹×n«N‰eæûŽï.7„%„iÂÿVF¡·ìóIv0úxÒCXf’bÔ <8ñolZR¸¡á=þ%Ø ×¨Ì¡¢é…•Ô±Ä€ +VÖÂ2Cã®Vf¾;³HV¾8YÑ·²gz&Õg~KYÕrg“<n~Deµ4mé<Òor_Œ-dÜÝÈëØ#T|óBg˜Ê‹ýýÅ?½$š:yào¶¹ÉÎó:x+òΆHnâ%ÏQ#;´^”²³-qëÇ\Í̵òD:;¶5A¥äVUÓmÀ¶ P¯DFì©,ošÍã8½ªà›™ñC§]äCßâd(ö•EìºwXò‡U´¤J3º˜Û~¸›î!Àd•s`ð‚ûä(¡3f×1üÒ:²üÒ°ø³ÉàȈMÇß‘9m¹OPuVÞ©×3•2 +C’^R ÛíåÖRr#·èÄîÓe„UûŽ»TM| +Æw3É>˜§?[j[ +endstream +endobj +22 0 obj << +/Type /FontDescriptor +/FontName /EHJXAY+CMR7 +/Flags 4 +/FontBBox [-27 -250 1122 750] +/Ascent 694 +/CapHeight 683 +/Descent -194 +/ItalicAngle 0 +/StemV 79 +/XHeight 431 +/CharSet (/five/two) +/FontFile 21 0 R +>> endobj +23 0 obj << +/Length1 757 +/Length2 583 +/Length3 0 +/Length 1340 +>> +stream +%!PS-AdobeFont-1.1: CMSY10 1.0 +%%CreationDate: 1991 Aug 15 07:20:57 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMSY10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.035 def +/isFixedPitch false def +end readonly def +/FontName /CKUQXN+CMSY10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 1 /periodcentered put +readonly def +/FontBBox{-29 -960 1116 775}readonly def +currentdict end +currentfile eexec +ÙÖoc;„j—¶†©~E£Ðª/ ùÈéÙÀX¸~›id}S5žQ!gt¤ê¡âµŽÃkÑJc;•r´NŒ^ô¢¬µŠ ¦X€5¿.ØSyƒŠ–
þ+'êIÃqV˜œ…â:¿r㚉#,Ùô#ÈždèBZ£¾÷ÞÖ*R’*"7Ù¨ÝyÝçÓò¸—Ç=cîÍÚLIPsFŠ'Ñf>bôaöä +]fvÑÑ+QæAÁÔèâwdüOŒ¿[xìˆ"‡%ñÄS¦xõŠ~{×ÊpÒˆë¡õ|O +¿BÅÝÐÄÇâ/€G¾LÈã3hûÈ+N–g0Þ3²æ¸ËjäU±¯1‡ÿè¥~ø¦akœ·”Dìzq§»=÷U}.K¶˜Y碌ÃÖ»1?ÔÙCùŸ NÌŠ2Muµö–¸hŽë/åí4ÌÖÐG¤ã€m +OaFþÁåÞ‹Åp7Ú º?À +ÄSÆ Æ'¨¬QXÏ|Ý•‹ò·–ë ø3¦ÝUu`$LXÜß%{6ùj÷;ÍúןŮ—÷äËd;æ]ÂW¾‚\΀ꘆ¯‡´›oÏ:µ|±–ƒRTíà音PËf,Œ¤kM ‰*}/²¥|B¸tÕÞ–ÁŠì…^bÝ7`ˆY~‘R~©£ûzç Æ%Cíuÿmúä4ò„QÌ×€ñZ¾A~Ru;ïzßú©<Gv“jÕXT¼‚ͳ2stå@¤ ¢{j°œ\r» +endstream +endobj +24 0 obj << +/Type /FontDescriptor +/FontName /CKUQXN+CMSY10 +/Flags 4 +/FontBBox [-29 -960 1116 775] +/Ascent 750 +/CapHeight 683 +/Descent -194 +/ItalicAngle -14 +/StemV 85 +/XHeight 431 +/CharSet (/periodcentered) +/FontFile 23 0 R +>> endobj +5 0 obj << +/Type /Font +/Subtype /Type1 +/BaseFont /CZNUER+CMEX10 +/FontDescriptor 16 0 R +/FirstChar 113 +/LastChar 113 +/Widths 13 0 R +>> endobj +6 0 obj << +/Type /Font +/Subtype /Type1 +/BaseFont /VIMHMC+CMMI10 +/FontDescriptor 18 0 R +/FirstChar 61 +/LastChar 61 +/Widths 12 0 R +>> endobj +4 0 obj << +/Type /Font +/Subtype /Type1 +/BaseFont /WNQXBD+CMR10 +/FontDescriptor 20 0 R +/FirstChar 46 +/LastChar 122 +/Widths 14 0 R +>> endobj +8 0 obj << +/Type /Font +/Subtype /Type1 +/BaseFont /EHJXAY+CMR7 +/FontDescriptor 22 0 R +/FirstChar 50 +/LastChar 53 +/Widths 10 0 R +>> endobj +7 0 obj << +/Type /Font +/Subtype /Type1 +/BaseFont /CKUQXN+CMSY10 +/FontDescriptor 24 0 R +/FirstChar 1 +/LastChar 1 +/Widths 11 0 R +>> endobj +9 0 obj << +/Type /Pages +/Count 1 +/Kids [2 0 R] +>> endobj +25 0 obj << +/Type /Catalog +/Pages 9 0 R +>> endobj +26 0 obj << +/Producer (pdfTeX-1.40.1) +/Creator (TeX) +/CreationDate (D:20070114152809+01'00') +/ModDate (D:20070114152809+01'00') +/Trapped /False +/PTEX.Fullbanner (This is pdfTeX, Version 3.141592-1.40.1-2.2 (Web2C 7.5.6) kpathsea version 3.5.6) +>> endobj +xref +0 27 +0000000000 65535 f +0000020764 00000 n +0000020653 00000 n +0000000015 00000 n +0000038334 00000 n +0000038054 00000 n +0000038195 00000 n +0000038610 00000 n +0000038473 00000 n +0000038747 00000 n +0000020873 00000 n +0000020915 00000 n +0000020939 00000 n +0000020961 00000 n +0000020984 00000 n +0000021417 00000 n +0000023290 00000 n +0000023515 00000 n +0000025369 00000 n +0000025593 00000 n +0000033691 00000 n +0000034008 00000 n +0000036162 00000 n +0000036385 00000 n +0000037821 00000 n +0000038804 00000 n +0000038854 00000 n +trailer +<< /Size 27 +/Root 25 0 R +/Info 26 0 R +/ID [<8AB6EC8E164610D55BC97AC789C1EE29> <8AB6EC8E164610D55BC97AC789C1EE29>] >> +startxref +39108 +%%EOF diff --git a/Master/texmf-dist/doc/tpic2pdftex/example.pic b/Master/texmf-dist/doc/tpic2pdftex/example.pic new file mode 100644 index 00000000000..f0158638bbe --- /dev/null +++ b/Master/texmf-dist/doc/tpic2pdftex/example.pic @@ -0,0 +1,127 @@ +%$Id: example.pic,v 1.19 2007/01/14 14:03:51 hahe Exp hahe $ +%*********************************************************************** +\pdfcompresslevel=0 +\def\gpicbox#1{\vbox{\unvbox\csname #1\endcsname\kern0pt}} +\newcount\piccount\piccount=0 +\def\sep{\advance\piccount by 1% + \kern5pt\hrule\kern5pt\rlap{\smash{\lower10pt\hbox{\the\piccount}}}} +\sep +%*********************************************************************** +% 1 +.PS +box dotted thickness 1; arrow; +circle dotted 0.02 fill 0.1 "Hello"; arrowhead = 7; arrow; circle fill 0.1; +arrowhead = 2; arrow; circle fill 0.9; arrow; box dashed 0.1 +.PE +\centerline{A\gpicbox{graph}B} +\sep +%*********************************************************************** +% 2 +.PS +ellipse; arrow; +\pdfliteral {q 1 0 0 RG} +ellipse dotted thickness 2; +\pdfliteral {Q} +arrow; +ellipse dashed "$\sqrt{3/7\cdot{2\over5}}$" "No.~2"; arrow; +\pdfliteral {q 0 0 1 RG} +\pdfliteral { 0.5 0.5 0.0 rg} +box rad 0.25 fill 0.05 "Hello"; arrow; +\pdfliteral {Q} +box dotted fill 0.2 +.PE +\centerline{A\gpicbox{graph}B} +\sep +%*********************************************************************** +% 3 +.PS +line; arc; arc cw; line +.PE +\centerline{A\gpicbox{graph}B} +\sep +%*********************************************************************** +% 4 +.PS +spline right 1 then down .5 left 1 then right 1 ->; +line dashed right 1 then down .5 left 1 then right 1 -> at last spline +.PE +\centerline{A\gpicbox{graph}B} +\sep +%*********************************************************************** +% 5 +.PS +\pdfliteral {q 0 1 0 RG} +spline dashed right 1 then down .5 left 1 then down -> +\pdfliteral {Q} +line dotted 0.02 right 1 then down .5 left 1 then down -> at last spline +.PE +\centerline{A\gpicbox{graph}B} +\sep +%*********************************************************************** +% 6 +.PS +spline left then up right then down right -> +.PE +\centerline{A\vrule\gpicbox{graph}\vrule B} +\sep +%*********************************************************************** +% 7 +.PS +spline right then up then left then down -> +line dotted right then up then left then down -> at last spline +.PE +\centerline{A\gpicbox{graph}B} +\sep +%*********************************************************************** +% 8 +.PS +circle "x" +circle "y" at 1st circle - (0.4, 0.6) +circle "z" at 1st circle + (0.4, -0.6) +arrow from 1st circle to 2nd circle chop +arrow from 2st circle to 3rd circle chop +arrow from 3rd circle to 1st circle chop +.PE +\centerline{A\gpicbox{graph}B} +\sep +%*********************************************************************** +% 9 +% example borrowed from file cstr116.pdf or cstr116.ps: +% PIC --- A Graphics Language for Typesetting, User Manual, +% Brian W. Kernighan, Revised, May, 1991 +.PS +define ndblock{ + box wid boxwid/2 ht boxht/2 + down; box same with .t at bottom of last box; box same +} +boxht = .2; boxwid = .3; circlerad = .3; dx = 0.05 +down; box; box; box; box ht 3*boxht "." "." "." +L: box; box; box invis wid 2*boxwid "hashtab:" with .e at 1st box .w +right +Start: box wid .5 with .sw at 1st box.ne + (.4,.2) "..." +N1: box wid .2 "n1"; D1: box wid .3 "d1" +N3: box wid .4 "n3"; D3: box wid .3 "d3" +box wid .4 "..." +N2: box wid .5 "n2"; D2: box wid .2 "d2" +arrow right from 2nd box +ndblock +spline -> right .2 from 3rd last box then to N1.sw + (dx,0) +spline -> right .3 from 2nd last box then to D1.sw + (dx,0) +arrow right from last box +ndblock +spline -> right .2 from 3rd last box to N2.sw - (dx,.2) to N2.sw + (dx,0) +spline -> right .3 from 2nd last box to D2.sw - (dx,.2) to D2.sw + (dx,0) +arrow right 2* linewid from L +ndblock +spline -> right .2 from 3rd last box to N3.sw + (dx,0) +spline -> right .3 from 2nd last box to D3.sw + (dx,0) +circlerad=.3 +circle invis "ndblock" at last box.e + (1.2,.2) +arrow dashed from last circle.w to last box chop 0 chop .3 +box invis wid 2*boxwid "ndtable:" with .e at Start.w +.PE +\centerline{A\gpicbox{graph}B} +\sep +%*********************************************************************** +\end + diff --git a/Master/texmf-dist/doc/ttf2pk/ttf2pk.doc b/Master/texmf-dist/doc/ttf2pk/ttf2pk.doc new file mode 100644 index 00000000000..6c3b4937f5c --- /dev/null +++ b/Master/texmf-dist/doc/ttf2pk/ttf2pk.doc @@ -0,0 +1,806 @@ + +ttf2tfm -- TrueType to TFM converter +ttf2pk -- TrueType to PK converter +==================================== + +These two auxiliary programs make TrueType fonts usable with TeX. +ttf2tfm extracts the metric and kerning information of a TrueType font +and converts it into metric files usable by TeX (quite similar to +afm2tfm which is part of the dvips package). ttf2pk rasterizes the +glyph outlines of a TrueType font into a bitmap font in PK format. + +Since a TrueType font often contains more than 256 glyphs, some means +are necessary to map a subset of the TrueType glyphs into a TeX font. +To do this, two mapping tables are needed: the first maps from the +TrueType font to a raw TeX font (this mapping table is used both by +ttf2tfm and ttf2pk), and the second maps from the raw TeX font to +another (virtual) TeX font providing all kerning and ligature +information needed by TeX. + +We sometimes refer to this first map as the `input' or `raw' map, and +to the second as the `output' or `virtual' map. + +This two stage mapping has the advantage that one raw font can be +accessed with various TeX encodings (e.g. T1 and OT1) via the virtual +font mechanism, and just one PK file is necessary. + +For CJKV fonts, a different mechanism is provided (see section +`Subfont definition files' below). Additionally, rotated glyphs for +pseudo-vertical writing are supported -- if possible, vertical glyph +presentation forms are used from the font's GSUB table. + + + +ttf2tfm +======= + +Usage: + + ttf2tfm FILE[.ttf|.ttc] [OPTION]... [FILE[.tfm]] + +Options (default values are given in brackets): + +-c REAL use REAL for height of small caps made with -V [0.8] +-e REAL widen (extend) characters by a factor of REAL [1.0] +-E INT select INT as the TTF encoding ID [1] +-f INT select INT as the font index in a TTC [0] +-l create 1st/2nd byte ligatures in subfonts +-L LIGFILE[.sfd] create 1st/2nd byte ligatures in subfonts using LIGFILE +-n use PS names of TrueType font +-N use only PS names and no cmap +-O use octal for all character codes in the vpl file +-p ENCFILE[.enc] read ENCFILE for the TTF->raw TeX mapping +-P INT select INT as the TTF platform ID [3] +-q suppress informational output +-r OLDNAME NEWNAME replace glyph name OLDNAME with NEWNAME +-R RPLFILE[.rpl] read RPLFILE containing glyph replacement names +-s REAL oblique (slant) characters by REAL, usually <<1 [0.0] +-t ENCFILE[.enc] read ENCFILE for the encoding of the vpl file +-T ENCFILE[.enc] equivalent to -p ENCFILE -t ENCFILE +-u output only characters from encodings, nothing extra +-v FILE[.vpl] make a VPL file for conversion to VF +-V SCFILE[.vpl] like -v, but synthesize smallcaps as lowercase +-w generate subfont enc. vectors containing glyph indices +-x rotate subfont glyphs by 90 degrees +-y REAL move rotated glyphs down by a factor of REAL [0.25] +--help print this message and exit +--version print version number and exit + + +The usage is very similar to afm2tfm. Please consult the dvips info +file for more details on the various parameters. Here we will +concentrate on the differences between afm2tfm and ttf2tfm. + + +cmaps +----- + +Contrary to Type 1 PostScript fonts (but similar to the new CID-keyed +PostScript fonts), most TrueType fonts have more than one native +mapping table, also called `cmap', which maps the (internal) TTF glyph +indices to the (external) TTF character codes. Common examples are a +mapping table to Unicode encoded character positions and the standard +Macintosh mapping. To specify this TrueType mapping table, use the +options `-P' and `-E'. With `-P' you specify the platform ID; defined +values are: + + platform platform ID (pid) + ---------------------------------- + Apple Unicode 0 + Macintosh 1 + ISO 2 + Microsoft 3 + +The encoding ID depends on the platform. For pid=0, we ignore the +`-E' parameter (setting it to zero) since the mapping table is always +Unicode version 2.0. For pid=1, the following table lists the defined +values: + + platform ID = 1 + script encoding ID (eid) + --------------------------------- + Roman 0 + Japanese 1 + Chinese 2 + Korean 3 + Arabic 4 + Hebrew 5 + Greek 6 + Russian 7 + Roman Symbol 8 + Devanagari 9 + Gurmukhi 10 + Gujarati 11 + Oriya 12 + Bengali 13 + Tamil 14 + Telugu 15 + Kannada 16 + Malayalam 17 + Sinhalese 18 + Burmese 19 + Khmer 20 + Thai 21 + Laotian 22 + Georgian 23 + Armenian 24 + Maldivian 25 + Tibetan 26 + Mongolian 27 + Geez 28 + Slavic 29 + Vietnamese 30 + Sindhi 31 + Uninterpreted 32 + +Here are the ISO encoding IDs: + + platform ID = 2 + encoding encoding ID + ---------------------------- + ASCII 0 + ISO 10646 1 + ISO 8859-1 2 + +And finally, the Microsoft encoding IDs: + + platform ID = 3 + encoding encoding ID + --------------------------- + Symbol 0 + Unicode 2.0 1 + Shift JIS 2 + GB 2312 (1980) 3 + Big 5 4 + KSC 5601 (Wansung) 5 + KSC 5601 (Johab) 6 + UCS-4 10 + +The program will abort if you specify an invalid platform/encoding ID +pair. It will then show the possible pid/eid pairs. Please note that +most fonts have at most two or three cmaps, usually corresponding to +the pid/eid pairs (1,0), (3,0), or (3,1) in case of Latin based fonts. +Valid Microsoft fonts should have a (3,1) mapping table, but some +fonts exist (mostly Asian fonts) which have a (3,1) cmap not encoded +in Unicode. The reason for this strange behavior is the fact that +some old MS Windows versions will reject fonts having a non-Unicode +cmap (since all non-Unicode Microsoft encoding IDs are for Asian +specific MS Windows versions). + +The `-P' and `-E' options to ttf2tfm must be equally specified for +ttf2pk; the corresponding parameters in a map file are `Pid' and +`Eid', respectively. + +The default pid/eid pair is (3,1). + +If you use the `-N' switch, all cmaps are ignored, using only the +PostScript names in the TrueType font. The corresponding option in a +map file is `PS=Only'. + +If you use the `-n' switch, the default glyph names built into ttf2tfm +are replaced with the PS glyph names found in the font. In many cases +this is not what you want because the glyph names in the font are +often incorrect or non-standard. The corresponding option in a map +file is `PS=Yes'. + + +input and output encodings +-------------------------- + +You must specify the encoding vectors from the TrueType font to the +raw TeX font and from the raw TeX font to the virtual TeX font exactly +as with afm2tfm, but you have more possibilities to address the +character codes. [With `encoding vector' a mapping table with 256 +entries in form of a PostScript vector is meant; see the file +`T1-WGL4.enc' of this package for an example.] With afm2tfm, you must +access each glyph with its Adobe glyph name, e.g. `/quotedsingle' or +`/Acircumflex'. This has been extended with ttf2tfm; now you can (and +sometimes must) access the code points and/or glyphs directly using +the following syntax for specifying the character position in decimal, +octal, or hexadecimal notation: `/.c<decimal-number>', +`/.c0<octal-number>', or `/.c0x<hexadecimal-number>'. Examples: +`/.c72', `/.c0646', `/.c0x48'. To access a glyph index directly, use +the character `g' instead of `c' in the just introduced notation. +Example: `/.g0x32'. + +[Note: The `.cXXX' notation makes no sense if `-N' is used.] + +Another possibility is to use the `-r old-glyphname new-glyphname' +switch to rename a glyph. Example: + + ttf2tfm ... -r .g0xc7 dotlessi -r hungarumlaut dblacute ... + +Nevertheless, it is not allowed to use the `.gXXX' or `.cXXX' glyph +name construct for `new-glyphname'. + +Alternatively, you can collect such replacement pairs in a file which +should have `.rpl' as extension, using the `-R' option. The syntax is +simple: Each line contains a pair `old-glyphname new-glyphname' +separated by whitespace (without the quotation marks). The percent +sign starts a line comment; you can continue a line with a backslash +as the last character. An example for a replacement file is `VPS.rpl' +(to be used in conjunction with `t5.enc' for Vietnamese) which is +part of this package. + +The `-r' and `-R' switches are ignored for subfonts or if no encoding +tables are specified. For ttf2pk, the corresponding option to `-R' is +`Replacement'. Single replacements are directly given as +old_glyphname=newglyphname in a map file. + +For pid/eid pairs (1,0) and (3,1), both ttf2tfm and ttf2pk recognize +built-in default Adobe glyph names; the former pair follows the names +given in Appendix E of the book `Inside Macintosh', volume 6, the +latter uses the names given in the TrueType Specification (WGL4, a +Unicode subset). Note that Adobe glyph names are not unique and do +sometimes differ: E.g., many PS fonts have the glyph `mu', whereas +this glyph is called `mu1' in the WGL4 character set to distinguish it +from the real Greek letter mu. You can find those mapping tables in +the source code file `ttfenc.c'. Be also aware that OpenType +(i.e. TrueType 2.0) fonts use an updated WGL4 table; we use the data +from the latest published TrueType specification (1.66). + +On the other hand, the switches `-n' and `-N' make ttf2tfm read in and +use the PostScript names in the TrueType font itself (stored in the +font's `post' table) instead of the default Adobe glyph names. + +If you don't select an input encoding, the first 256 glyphs of the +TrueType font with a valid entry in the selected cmap will be mapped +to the TeX raw font (without the `-q' option ttf2tfm prints this +mapping table to standard output), followed by all glyphs not yet +addressed in the selected cmap. However, some code points for the +(1,0) pid/eid pair are omitted since they do not represent glyphs +useful for TeX: 0x00 (null), 0x08 (backspace), 0x09 (horizontal +tabulation), 0x0d (carriage return), and 0x1d (group separator). The +`invalid character' with glyph index 0 will be omitted too. + +If you select the `-N' switch, the first 256 glyphs of the TrueType +font with a valid PostScript name will be used in case no input +encoding is specified. Again, some glyphs are omitted: `.notdef', +`.null', and `nonmarkingreturn'. + +If you don't select an output encoding, ttf2tfm uses the same mapping +table as afm2tfm would use (you can find it in the source code file +texenc.c); it corresponds to TeX typewriter text. Unused positions +(either caused by empty code points in the mapping table or missing +glyphs in the TrueType font) will be filled (rather arbitrarily) with +characters present in the input encoding but not specified in the +output encoding (without the `-q' option ttf2tfm prints the final +output encoding to standard output). Use the `-u' option if you want +only glyphs in the virtual font which are defined in the output +encoding file, and nothing more. + +One feature missing in afm2tfm has been added which is needed by the +LaTeX T1 encoding: ttf2tfm will construct the glyph `Germandbls' (by +simply concatenating to `S' glyphs) even for normal fonts if possible. +It appears in the glyph list (written to stdout) as the last item, +marked with an asterisk. Since this isn't a real glyph it will be +available only in the virtual font. + +For both input and output encoding, an empty code position is +represented by the glyph name `.notdef'. + +In encoding files, you can use `\' as the final character of a line to +indicate that the input is continued on the next line. The backslash +and the following newline character will be removed. + +ttf2tfm returns 0 on success and 1 on error; warning and error +messages are written to standard error. + + +other options +------------- + +You can select the font in a TrueType font collection (which usually +has the extension `.ttc') with `-f'; the default value, zero, +specifies the first font. For fonts not being a collection this +parameter is ignored. + +The option `-l' makes ttf2tfm create ligatures in subfonts between +first and second bytes of all the original character codes. Example: +Character code 0xABCD maps to character position 123 in subfont 45. +Then a ligature in subfont 45 between position 0xAB and 0xCD pointing +to character 123 will be produced. The fonts of the Korean HLaTeX +package use this feature. Note that this option generates correct +ligatures only for TrueType fonts where the input cmap is identical to +the output encoding. In case of HLaTeX, TTFs must have platform ID 3 +and encoding ID 5. + +Option `-L' is the same as `-l', but character codes for ligatures are +specified in a ligature file. For example, `-L KS-HLaTeX' generates +correct ligatures for the Korean HLaTeX package regardless of the +platform and encoding ID of the used TrueType font (the file +`KS-HLaTeX.sfd' is part of the ttf2pk package). Ligature files have +the same format and extension as SFD files. Both `-L'and `-l' are +ignored if not in subfont mode. + +PostScript encoding vectors containing glyph indices of subfonts, +primarily used to embed TrueType fonts in pdfLaTeX, can be created +with option `-w'. ttf2tfm takes the TFM names and replaces the suffix +with `.enc'; that is, for files `foo01.tfm', `foo02.tfm', ... it +creates `foo01.enc', `foo02.enc', ... at the same place. + +To produce glyphs rotated by 90 degrees counter-clockwise, use `-x'. +If the font contains a GSUB table (with feature `vert') to specify +vertical glyph presentation forms, both ttf2pk and ttf2tfm will use +it. This will work only in subfont mode. The y-offset of rotated +glyphs can be specified with the `-y' option; its parameter gives the +fractional amount of shifting downwards (the unit is one EM). If not +specified, a value of 0.25 (em) is used. + + + +ttf2pk +====== + +Usage: + + ttf2pk [-q] [-n] FONT DPI + ttf2pk -t [-q] FONT + +Options: + +-q suppresses informational output +-n only use `.pk' as extension +-t test for FONT (returns 0 on success) +--help print this message and exit +--version print version number and exit + + +The FONT parameter must correspond to an entry in a map file recorded +in the configuration file ttf2pk.cfg (see below for details), +otherwise error code 2 is returned -- this can be used for scripts +like mktexpk to test whether the given font name is a (registered) +TrueType font. + +Another possibility is to use the `-t' switch which will print the +line of a map file corresponding to FONT and return 0 on success (`-q' +suppresses any output). + +DPI specifies the intended resolution (we always assume a design size +of 10pt). + + +ttf2pk.cfg +---------- + +ttf2pk uses a small configuration file called ttf2pk.cfg; in each line +it contains a keyword with its value, separated by whitespace. +Comment lines can start with any of the following characters: `*', +`#', `;', and `%'. Leading whitespace is ignored. + +Currently, only one keyword, `map', is recognized in this file; it +takes a map file name as a parameter. If no extension is given to the +map file name, `.map' is appended. No whitespace is allowed in the +map file name. The `map' keyword can be given more than once to +specify multiple map files; if the map file name is prepended by a +plus sign, it is added to the list of map files to be used. Example: + + map foo + map +bar + +This makes ttf2pk to first read `foo.map', then `bar.map'. + +If the configuration file is not found, ttf2pk tries to use +`ttfonts.map' instead. + + +map files +--------- + +Parameters specified to ttf2tfm are preserved for ttf2pk in map files +-- ttf2tfm writes out to standard output, as the last line, a proper +entry for a map file. + +As an example, a call to + + ttf2tfm arial -s 0.25 -P 1 -E 0 -r .g0xc7 caron \ + -p 8r.enc -t T1-WGL4.enc -v arialsx arials + +will produce the following line: + + arials arial Slant=0.25 Encoding=8r.enc Pid=1 Eid=0 .g0xc7=caron + +The output encoding given with `-t' for the virtual font `arialsx' is +immaterial to ttf2pk (nevertheless, input encoding files must have the +same format as with ttf2tfm, and all said above about encoding files +holds). + +Here a table listing the various ttf2tfm parameters and its +corresponding entries in a map file: + + -s Slant + -e Extend + -p Encoding + -f Fontindex + -P Pid + -E Eid + -n PS=Yes + -N PS=Only + -R Replacement + -x Rotate=Yes + -y Y-Offset + +Single replacement glyph names given to ttf2tfm with the `-r' switch +are directly specified with old-glyphname=new-glyphname. For subfonts +or if no encoding file is given, replacement glyphs are ignored. + +One additional parameter in a map file is unique to ttf2pk: `Hinting', +which can take the values `On' or `Off'. Some fonts (e.g. the CJKV +part of cyberbit.ttf) are rendered incorrectly if hinting is +activated. Default is `On' (you can also use `Yes', `No', `1', and +`0'). + +The format of map files is simple. Each line defines a font; first +comes the TeX font name, then its TrueType font file name, followed by +the parameters in any order. Case is significant (even for parameter +names); the parameters are separated from its values by an equal sign, +with possible whitespace surrounding it. ttf2pk reads in a map file +line by line, continuing until the TeX font specified on the command +line is found, otherwise the programs exits with error code 2. Thus +you can use any character invalid in a TeX font name to start a +comment line. + +In both map files and encoding files, use `\' as the final character +of a line to indicate that the input is continued on the next line. +The backslash and the following newline character will be removed. + +ttf2pk will abort if it can't find and read the TeX font metrics file +of the given TeX font name. + + +Subfont definition files +======================== + +CJKV (Chinese/Japanese/Korean/old Vietnamese) fonts usually contain +several thousand glyphs; to use them with TeX it is necessary to split +such large fonts into subfonts. Subfont definition files (usually +having the extension `.sfd') are a simple means to do this smoothly. +A subfont file name usually consists of a prefix, a subfont infix, and +a postfix (which is empty in most cases), e.g. + + ntukai23 -> prefix: ntukai, infix: 23, postfix: (empty) + +Here the syntax of a line in an SFD file, describing one subfont: + + <whitespace> <infix> <whitespace> <ranges> <whitespace> `\n' + + <infix> := anything except whitespace. It's best to use only + alphanumerical characters. + <whitespace> := space, formfeed, carriage return, horizontal and + vertical tabs -- no newline characters. + <ranges> := <ranges> <whitespace> <codepoint> | + <ranges> <whitespace> <range> | + <ranges> <whitespace> <offset> <whitespace> <range> + + <codepoint> := <number> + <range> := <number> `_' <number> + <offset> := <number> `:' + + <number> := hexadecimal (prefix `0x'), decimal, or octal + (prefix `0') + +A line can be continued on the next line with a backslash ending the +line. The ranges must not overlap; offsets have to be in the range +0-255. + +Example: + + The line + + 03 10: 0x2349 0x2345_0x2347 + + assigns to the code positions 10, 11, 12, and 13 of the subfont + having the infix `03' the character codes 0x2349, 0x2345, 0x2346, + and 0x2347, respectively. + +The SFD files in the distribution are customized for the CJK package +for LaTeX. + +You have to embed the SFD file into the TFM font name (at the place +where the infix will appear) surrounded by two `@' signs, on the +command line resp. a map file; both ttf2tfm and ttf2pk switch then +to subfont mode. + +It is possible to use more than a single SFD file by separating them +with commata and no whitespace; for a given subfont, the first file is +scanned for an entry, then the next file, and so on. Later entries +override entries found earlier (possibly only partially). For example, +the first SFD file sets up range 0x10-0xA0, and the next one modifies +entries 0x12 and 0x25. As can be easily seen, this algorithm allows +for adding and replacing, but not for removing entries. + +Subfont mode disables the options `-n', `-N', `-p', `-r', `-R', `-t', +`-T', `-u', `-v', `-w', and `-V' for ttf2tfm; similarly, no `Encoding' +and `Replacement' parameter resp. single replacement glyph names are +allowed in a map file. + +ttf2tfm will create ALL subfont TFM files specified in the SFD files +(provided the subfont contains glyphs) in one run. + +Example: + + The call + + ttf2tfm ntukai.ttf ntukai@Big5,Big5-supp@ + + will use `Big5.sfd' and `Big5-supp.sfd', producing the subfont files + ntukai01.tfm, ntukai02.tfm etc. + + ttf2pk should be then called on the subfonts directly: + + ttf2pk ntukai01 600 + ttf2pk ntukai02 600 + ... + + +Some notes on file searching +============================ + +Both ttf2pk and ttf2tfm use either the kpathsea, emtexdir, or MiKTeX +library for searching files (emtexdir will work only on operating +systems which have an MS-DOSish background, i.e. MS-DOS, OS/2, +Windows; MiKTeX is specific to MS Windows). + +During compilation, you have to define HAVE_KPATHSEA, HAVE_EMTEXDIR, +or MIKTEX to activate the specific file search code. + +As a last resort, both programs can be compiled without a search +library; the searched files must be then in the current directory or +specified with a path. Default extensions will be appended also (with +the exception that only `.ttf' is appended and not `.ttc'). + + +kpathsea +-------- + +Please note that older versions of kpathsea (<3.2) have no special +means to search for TrueType fonts and related files, thus we use the +paths for PostScript related stuff. The actual version of kpathsea is +displayed on screen if you call either ttf2pk or ttf2tfm with the +`--version' command line switch. + +Here is a table of the file type and the corresponding kpathsea +variables. TTF2PKINPUTS and TTF2TFMINPUTS are program specific +environment variables introduced in kpathsea version 3.2: + + .ttf and .ttc TTFONTS + ttf2pk.cfg TTF2PKINPUTS + .map TTF2PKINPUTS + .enc TTF2PKINPUTS, TTF2TFMINPUTS + .rpl TTF2PKINPUTS, TTF2TFMINPUTS + .tfm TFMFONTS + .sfd TTF2PKINPUTS, TTF2TFMINPUTS + +And here the same for pre-3.2-versions of kpathsea: + + .ttf and .ttc T1FONTS + ttf2pk.cfg TEXCONFIG + .map TEXCONFIG + .enc TEXPSHEADERS + .rpl TEXPSHEADERS + .tfm TFMFONTS + .sfd TEXPSHEADERS + +Finally, the same for pre-3.0-versions: + + .ttf and .ttc DVIPSHEADERS + ttf2pk.cfg TEXCONFIG + .map TEXCONFIG + .enc DVIPSHEADERS + .rpl DVIPSHEADERS + .tfm TFMFONTS + .sfd DVIPSHEADERS + +Please consult the info files for kpathsea for details on these +variables. The decision whether to use the old or the new scheme will +be done during compilation. + +You should set the TEXMFCNF variable to the directory where your +texmf.cnf configuration file resides. + +The default TDS location for the files in the data subdirectory is + + $TEXMF/ttf2tfm + +(or $TEXMF/ttf2pk; you should either make a symbolic link + + % ln -s $TEXMF/ttf2tfm $TEXMF/ttf2pk + +or set the variable TTF2PKINPUTS to $TEXMF/ttf2tfm for newer kpathsea +versions) + +Here is the proper command to find out to which value a kpathsea +variable is set (we use `TTFONTS' as an example). This is especially +useful if a variable isn't set in texmf.cnf or in the environment, +thus pointing to the default value which is hard-coded into the +kpathsea library. + + % kpsewhich --progname=ttf2tfm --expand-var='$TTFONTS' + +We select the program name also since it is possible to specify +variables which are searched only for a certain program -- in our +example it would be `TTFONTS.ttf2tfm'. + +A similar but not identical method is to say + + % kpsewhich --progname=ttf2tfm --show-path='truetype fonts' + +[A full list of format types can be obtained by saying `kpsewhich +--help' on the command line prompt.] This is exactly how ttf2tfm (and +ttf2pk) searches for files; the disadvantage is that all variables are +expanded which can cause a very long string. + + +emtexdir +-------- + +Here the list of suffixes and its related environment variables to be +set in autoexec.bat (resp. in config.sys for OS/2): + + .ttf and .ttc TTFONTS + ttf2pk.cfg TTFCFG + .map TTFCFG + .enc TTFCFG + .rpl TTFCFG + .tfm TEXTFM + .sfd TTFCFG + +With other words, all files in the `data' subdirectory should be moved +to a place in your emtex tree with TTFCFG pointing to this directory. + +If one of the variables isn't set, a warning message is emitted. The +current directory will always be searched. As usual, one exclamation +mark appended to a directory path causes subdirectories one level deep +to be searched, two exclamation marks causes all subdirectories to be +searched. Example: + + TTFONTS=c:\fonts\truetype!!;d:\myfonts\truetype! + +Constructions like `c:\fonts!!\truetype' aren't possible. + + +MiKTeX +------ + +Both ttf2tfm and ttf2pk have been fully integrated into MiKTeX. +Please refer to the documentation of MiKTeX for more details on file +searching. + + + +A full example +============== + +Here an example how to handle the font `verdana.ttf' and its variants. + + +1. Construct the font name +-------------------------- + + [This is the most complicated part -- in case you are too lazy to + construct font names compliant to TeX's `fontname' scheme, just use + your own names.] + + Using the `ftdump' utility (which is part of FreeType 1) you can + find out the PostScript name of the specific TTF which is probably + the best choice to adapt TrueType fonts to the PostScript-oriented + `fontname' scheme. + + In our example, the PostScript name is `Verdana'. + + `fontname' uses the scheme + + S TT W [V...] [N] [E] [DD] + + as documented in `fontname.texi' resp. `fontname.dvi'. Now you have + to check the various mapping files: + + S: supplier.map: `j' for `Microsoft' + TT: typeface.map: `vn' for `Verdana' + W: weight.map: `r' for `Regular Roman', + `b' for `bold' + V, + N: variant.map: `8r' for the raw base font + `8t' for the virtual font + (i.e., LaTeX's T1 encoding) + [additionally an inserted `c' for small caps, + `o' for slanted (`oblique'), or `i' for italic + fonts] + + Here the standard combinations: + + `jvnr8r' for the default base font. + `jvnr8t' for the virtual default font. + `jvnrc8t' for the virtual font with small caps. [As you can + see, no additional raw font is needed.] + `jvnro8r' for the slanted base font. + `jvnro8t' for the virtual slanted font. + + The corresponding variants are: + + bold: verdanab.ttf -> jvnb{8r,8t} + small caps: jvnbc8t + slanted: jvnbo{8r,8t} + italic: verdanai.ttf -> jvni{8r,8t} + bold and italic: verdanaz.ttf -> jvnbi{8r,8t} + + +* NOTE: Be careful to use different names for the virtual font and the +* raw font! In the above example, `*8r' and `*8t' is used. You +* could also use the postfix `*-raw', to name an example, for +* the raw font if you don't follow the `fontname' naming scheme. + + +2. Font definition files +------------------------ + + The FD file should be called `t1jvn.fd' (as you can see, this is T1 + encoding). It is very similar to `t1ptm.fd', part of the PSNFSS + package (which can be found in almost all TeX distributions). A + `verdana.sty' file can also be modeled after `times.sty'. + + +3. Calling ttf2tfm +------------------ + + To make the example simpler, we use `T1-WGL4.enc' for both the raw + and the virtual encoding. This should be sufficient for most + TrueType fonts mapped to T1 encoding. Other packages may define + other encodings (e.g. the `t2' package available from CTAN defines + mapping files for Cyrillic encodings) -- it may also be necessary to + use the `-n' or `-N' switch together with replacement glyph names to + access all glyph names in the TrueType font. + + To create `jvnr8r' and `jvnr8t', just call + + ttf2tfm verdana -T T1-WGL4 -v jvnr8t jvnr8r + vptovf jvnr8t + + For `jvnrc8t', do + + ttf2tfm verdana -T T1-WGL4 -V jvnrc8t jvnr8r + vptovf jvnrc8t + + Note that almost always some warnings will appear about missing + glyphs. + + The last line written to stdout by ttf2tfm is a suitable entry for a + map file -- let's call it `verdana.map'. Since ttf2pk doesn't care + about virtual fonts, both calls below produce the same. + + Now just repeat this procedure. For slanted fonts you should + additionally use the switch `-s 0.176' (of course you can change the + slanting amount to make it fit your needs). + + +4. Modifying ttf2pk.cfg +----------------------- + + The final step is to add `verdana.map' to ttf2pk's configuration + file. Simply insert the following line at the end of `ttf2pk.cfg': + + map +verdana + + +Problems +======== + +Most vptovf implementations allow only 100 bytes for the TFM header +(the limit is 1024 in the TFM file itself): 8 bytes for checksum and +design size, 40 bytes for the family name, 20 bytes for the encoding, +and 4 bytes for a face byte. There remain only 28 bytes for some +additional information which is used by ttf2tfm for an identification +string (which is essentially a copy of the command line), and this +limit is always exceeded. + +The optimal solution is to increase the value of `max_header_bytes' in +the file vptovf.w (and probably pltotf.w) to, say, 400 and recompile +vptovf (and pltotf). Otherwise you will get some (harmless) error +messages like + + This HEADER index is too big for my present table size + +which can be safely ignored. + + +--- end of ttf2pk.doc --- diff --git a/Master/texmf-dist/doc/ttf2pk/ttf2pk.txt b/Master/texmf-dist/doc/ttf2pk/ttf2pk.txt new file mode 100644 index 00000000000..281dfb353b1 --- /dev/null +++ b/Master/texmf-dist/doc/ttf2pk/ttf2pk.txt @@ -0,0 +1,152 @@ +TTF2PK(1) TTF2PK(1) + + + +NAME + ttf2pk - convert a TrueType font into TeX's PK format + +SYNOPSIS + ttf2pk [-q] [-n] font-name resolution + ttf2pk -t [-q] font-name + ttf2pk --version | --help + +DESCRIPTION + This program converts a TrueType font into a PK file; the created font + can then be used with TeX or LaTeX. + + CJKV (Chinese/Japanese/Korean/old Vietnamese) subfonts as created by + ttf2tfm are also supported. + + ttf2pk always assumes 10pt as the design size for the written TeX font. + +PARAMETERS + -q This optional switch makes ttf2pk quiet. It suppresses any in- + formational output except warning and error messages. + + -n Use only `.pk' as the extension instead of `.<resolution>pk'. + + -t Test for the existence of font-name. Returns 0 on success and + prints out the corresponding line of a map file (default: + ttfonts.map), provided the -q switch isn't set. + + font-name + The TeX name of the font. ttf2pk looks this name up in a map + file (see below) for further information how to process the + font. + + resolution + The resolution, given in dots per inch. Currently the horizon- + tal resolution is equal to the vertical resolution. The design + size is always assumed to be 10pt. + + --version + Shows the current version of ttf2pk and the used file search li- + brary (e.g. kpathsea). + + --help Shows usage information. + + Environment variables for file searching are described in the manual + page of ttf2tfm. + +THE CONFIGURATION FILE + ttf2pk uses a small configuration file called ttf2pk.cfg; in each line + it contains a keyword with its value, separated by whitespace. Comment + lines can start with any of the following characters: `*', `#', `;', + and `%'. Leading whitespace is ignored. + + Currently, only one keyword, `map', is recognized in this file; it + takes a map file name as a parameter. If no extension is given to the + map file name, .map is appended. No whitespace is allowed in the map + file name. The `map' keyword can be given more than once to specify + multiple map files; if the map file name is prepended by a plus sign, + it is added to the list of map files to be used. Example: + + map foo + map +bar + + This makes ttf2pk to first read foo.map, then bar.map. + + If the configuration file is not found, ttf2pk tries to use ttfonts.map + instead. + +MAP FILES + Parameters specified to ttf2tfm are preserved for ttf2pk in map files-- + ttf2tfm writes out to standard output, as the last line, a proper entry + for a map file. + + As an example, a call to + + ttf2tfm arial -p T1.enc -s 0.25 -P 1 -E 0 arials + + will produce the following line: + + arials arial Slant=0.25 Pid=1 Eid=0 Encoding=T1.enc + + See ttf2tfm(1) and afm2tfm(1) of the dvips package for a detailed de- + scription of encoding files. + + Here a table listing the various ttf2tfm parameters and the correspond- + ing entries in a map file: + + -s Slant + -e Extend + -p Encoding + -f Fontindex + -P Pid + -E Eid + -n PS=Yes + -N PS=Only + -R Replacement + -x Rotate=Yes + -y Y-Offset + + Single replacement glyph names given to ttf2tfm with `-r old-glyph- + name new-glyphname' are directly specified with `old-glyphname=new- + glyphname'. They will be ignored if in subfont mode or if no encoding + file is given. + + One additional parameter in a map file is unique to ttf2pk: `Hinting', + which can take the values `On' or `Off'. Some fonts (e.g. the CJK part + of cyberbit.ttf) are rendered incorrectly if hinting is activated. De- + fault is `On' (you can also use `Yes', `No', `1', and `0'). + + For a description of subfonts (i.e., entries of the form + `<namestem>@<sfd-filename>@') please refer to ttf2tfm(1). + + The format of a map file is simple. Each line defines a font; first + comes the TeX font name, then its TrueType font file name, followed by + the parameters in any order. Case is significant (even for parameter + names); the parameters are separated from its values by an equal sign, + with whitespace possibly surrounding it. ttf2pk reads in all map files + line by line in the order given in the configuration file, continuing + until the TeX font specified on the command line is found, otherwise + the programs exits with error code 2. Thus you can use any character + invalid in a TeX font name to start a comment line. + + You can use `\' as the final character of a line to indicate that the + input is continued on the next line. The backslash and the following + newline character will be removed. + + ttf2pk will abort if it can't find or read the TeX font metrics file of + the given TeX font name. + +RETURN VALUE + If the call was successful, 0 will be returned. In case of error, the + return value is 1. Finally, if the font can't be found in the map + files, 2 is returned. This simplifies the inclusion of ttf2pk into + scripts like mktexpk for automatic font generation. + +SEE ALSO + ttf2tfm(1), afm2tfm(1) + +AVAILABILITY + ttf2pk is part of the FreeType 1 package, a high quality TrueType ren- + dering library. + +AUTHORS + Werner LEMBERG <wl@gnu.org> + Frédéric LOYER <loyer@ensta.fr> + + + +FreeType version 1.5 10-Jan-2002 TTF2PK(1) diff --git a/Master/texmf-dist/doc/ttf2pk/ttf2tfm.txt b/Master/texmf-dist/doc/ttf2pk/ttf2tfm.txt new file mode 100644 index 00000000000..2aaa78167b6 --- /dev/null +++ b/Master/texmf-dist/doc/ttf2pk/ttf2tfm.txt @@ -0,0 +1,644 @@ +TTF2TFM(1) TTF2TFM(1) + + + +NAME + ttf2tfm - build TeX metric files from a TrueType font + +SYNOPSIS + ttf2tfm ttffile[.ttf|.ttc] [-c caps-height-factor] + [-e extension-factor] [-E encoding-id] [-f font-index] [-l] + [-L ligature-file[.sfd]] [-n] [-N] [-O] [-p inencfile[.enc]] + [-P platform-id] [-q] [-r old-glyphname new-glyphname] + [-R replacement-file[.rpl]] [-s slant-factor] + [-t outencfile[.enc]] [-T inoutencfile[.enc]] [-u] + [-v vplfile[.vpl]] [-V scvplfile[.vpl]] [-w] [-x] + [-y vertical-shift-factor] [tfmfile[.tfm]] + ttf2tfm --version | --help + +DESCRIPTION + This program extracts the metric and kerning information of a TrueType + font and converts it into metric files usable by TeX (quite similar to + afm2tfm which is part of the dvips package; please consult its info + files for more details on the various parameters (especially encoding + files). + + Since a TrueType font often contains more than 256 glyphs, some means + are necessary to map a subset of the TrueType glyphs onto a TeX font. + To do this, two mapping tables are needed: the first (called `input' or + `raw' encoding) maps the TrueType font to a raw TeX font (this mapping + table is used by both ttf2tfm and ttf2pk), and the second (called `out- + put' or `virtual' encoding) maps the raw TeX font to another (virtual) + TeX font, providing all kerning and ligature information needed by TeX. + + This two stage mapping has the advantage that one raw font can be ac- + cessed with various LaTeX encodings (e.g. T1 and OT1) via the virtual + font mechanism, and just one PK file is necessary. + + For CJKV (Chinese/Japanese/Korean/old Vietnamese) fonts, a different + mechanism is provided (see SUBFONT DEFINITION FILES below). + +PARAMETERS + Most of the command line switch names are the same as in afm2tfm for + convenience. One or more space characters between an option and its + value is mandatory; options can't be concatenated. For historical rea- + sons, the first parameter can not be a switch but must be the font + name. + + -c caps-height-factor + The height of small caps made with the -V switch. Default value + of this real number is 0.8 times the height of uppercase glyphs. + + Will be ignored in subfont mode. + + -e extension-factor + The extension factor to stretch the characters horizontally. + Default value of this real number is 1.0; if less than 1.0, you + get a condensed font. + + -E encoding-id + The TrueType encoding ID. Default value of this non-negative + integer is 1. + + Will be ignored if -N is used. + + -f font-index + The font index in a TrueType Collection. Default is the first + font (index 0). [TrueType collections are usually found in some + CJK fonts; e.g. the first font index specifies glyphs and met- + rics for horizontal writing, and the second font index does the + same for vertical writing. TrueType collections usually have + the extension `.ttc'.] + + Will be ignored for ordinary TrueType fonts. + + -l Create ligatures in subfonts between first and second bytes of + all the original character codes. Example: Character + code 0xABCD maps to character position 123 in subfont 45. Then + a ligature in subfont 45 between position 0xAB and 0xCD pointing + to character 123 will be produced. The fonts of the Korean HLa- + TeX package use this feature. Note that this option generates + correct ligatures only for TrueType fonts where the input cmap + is identical to the output encoding. In case of HLaTeX, TTFs + must have platform ID 3 and encoding ID 5. + + Will be ignored if not in subfont mode. + + -L ligature-file + Same as -l, but character codes for ligatures are specified in + ligature-file. For example, `-L KS-HLaTeX' generates correct + ligatures for the Korean HLaTeX package regardless of the plat- + form and encoding ID of the used TrueType font (the file KS-HLa- + TeX.sfd is part of the ttf2pk package). + + Ligature files have the same format and extension as SFD files. + This option will be ignored if not in subfont mode. + + -n Use PS names (of glyphs) of the TrueType font. Only glyphs with + a valid entry in the selected cmap are used. + + Will be ignored in subfont mode. + + -N Use only PS names of the TrueType font. No cmap is used, thus + the switches -E and -P have no effect, causing a warning mes- + sage. + + Will be ignored in subfont mode. + + -O Use octal values for all character codes in the VPL file rather + than names; this is useful for symbol or CJK fonts where charac- + ter names such as `A' are meaningless. + + -p inencfile + The input encoding file name for the TTF->raw TeX mapping. This + parameter has to be specified in a map file (default: + ttfonts.map) recorded in ttf2pk.cfg for successive ttf2pk calls. + + Will be ignored in subfont mode. + + -P platform-id + The TrueType platform ID. Default value of this non-negative + integer is 3. + + Will be ignored if -N is used. + + -q Make ttf2tfm quiet. It suppresses any informational output ex- + cept warning and error messages. For CJK fonts, the output can + get quite large if you don't specify this switch. + + -r old-glyphname new-glyphname + Replaces old-glyphname with new-glyphname. This switch is use- + ful if you want to give an unnamed glyph (i.e., a glyph which + can be represented with `.gXXX' or `.cXXX' only) a name or if + you want to rename an already existing glyph name. You can't + use the `.gXXX' or `.cXXX' glyph name constructs for + new-glyphname; multiple occurrences of -r are possible. + + If in subfont mode or if no encoding file is specified, this + switch is ignored. + + -R replacement-file + Use this switch if you have many replacement pairs; they can be + collected in a file which should have `.rpl' as extension. The + syntax used in such replacement files is simple: Each non-empty + line must contain a pair `old-glyphname new-glyphname' separated + by whitespace (without the quotation marks). A percent sign + starts a line comment; you can continue a line on the next line + with a backslash as the last character. + + If in subfont mode or if no encoding file is specified, this + switch is ignored. + + -s slant-factor + The obliqueness factor to slant the font, usually much smaller + than 1. Default of this real number is 0.0; if the value is + larger than zero, the characters slope to the right, otherwise + to the left. + + -t outencfile + The output encoding file name for the virtual font(s). Only + characters in the raw TeX font are used. + + Will be ignored in subfont mode. + + -T inoutencfile + This is equivalent to `-p inoutencfile -t inoutencfile'. + + Will be ignored in subfont mode. + + -u Use only those characters specified in the output encoding, and + no others. By default, ttf2tfm tries to include all characters + in the virtual font, even those not present in the encoding for + the virtual font (it puts them into otherwise-unused positions, + rather arbitrarily). + + Will be ignored in subfont mode. + + -v vplfile + Output a VPL file in addition to the TFM file. If no output en- + coding file is specified, ttf2tfm uses a default font encoding + (cmtt10). Note: Be careful to use different names for the vir- + tual font and the raw font! + + Will be ignored in subfont mode. + + -V scvplfile + Same as -v, but the virtual font generated is a pseudo small + caps font obtained by scaling uppercase letters by 0.8 (resp. + the value specified with -c) to typeset lowercase. This font + handles accented letters and retains proper kerning. + + Will be ignored in subfont mode. + + -w Generate PostScript encoding vectors containing glyph indices, + primarily used to embed TrueType fonts in pdfTeX. ttf2tfm takes + the TFM names and replaces the suffix with .enc; that is, for + files foo01.tfm, foo02.tfm, ... it creates foo01.enc, + foo02.enc, ... at the same place. + + Will be ignored if not in subfont mode. + + -x Rotate all glyphs by 90 degrees counter-clockwise. If no -y pa- + rameter is given, the rotated glyphs are shifted down vertically + by 0.25em. + + Will be ignored if not in subfont mode. + + -y vertical-shift-factor + Shift down rotated glyphs by the given amount (the unit is em). + + Ignored if not in subfont mode or glyphs are not rotated. + + --version + Shows the current version of ttf2tfm and the used file search + library (e.g. kpathsea). + + --help Shows usage information. + + If no TFM file name is given, the name of the TTF file is used, includ- + ing the full path and replacing the extension with `.tfm'. + +CMAPS + Contrary to Type 1 PostScript fonts (but similar to the new CID Post- + Script font format), most TrueType fonts have more than one native map- + ping table, also called `cmap', which maps the (internal) TTF glyph in- + dices to the (external) TTF character codes. Common examples are a + mapping table to Unicode encoded character positions, and the standard + Macintosh mapping. + + To specify a TrueType mapping table, use the options -P and -E. With + -P you specify the platform ID; defined values are: + + platform platform ID (pid) + + Apple Unicode 0 + Macintosh 1 + ISO 2 + Microsoft 3 + + The encoding ID depends on the platform. For pid=0, we ignore the -E + parameter (setting it to zero) since the mapping table is always Uni- + code version 2.0. For pid=1, the following table lists the defined + values: + + platform ID = 1 + + script encoding ID (eid) + + Roman 0 + Japanese 1 + Chinese 2 + Korean 3 + Arabic 4 + Hebrew 5 + Greek 6 + Russian 7 + Roman Symbol 8 + Devanagari 9 + Gurmukhi 10 + Gujarati 11 + Oriya 12 + Bengali 13 + Tamil 14 + Telugu 15 + Kannada 16 + Malayalam 17 + Sinhalese 18 + Burmese 19 + Khmer 20 + Thai 21 + Laotian 22 + Georgian 23 + Armenian 24 + Maldivian 25 + Tibetan 26 + Mongolian 27 + Geez 28 + Slavic 29 + Vietnamese 30 + Sindhi 31 + Uninterpreted 32 + + Here are the ISO encoding IDs: + + platform ID = 2 + + encoding encoding ID (eid) + + ASCII 0 + ISO 10646 1 + ISO 8859-1 2 + + And finally, the Microsoft encoding IDs: + + platform ID = 3 + + encoding encoding ID (eid) + + Symbol 0 + Unicode 2.0 1 + Shift JIS 2 + GB 2312 (1980) 3 + Big 5 4 + KS X 1001 (Wansung) 5 + KS X 1001 (Johab) 6 + UCS-4 10 + + The program will abort if you specify an invalid platform/encoding ID + pair. It will then show the possible pid/eid pairs. Please note that + most fonts have at most two or three cmaps, usually corresponding to + the pid/eid pairs (1,0), (3,0), or (3,1) in case of Latin based fonts. + Valid Microsoft fonts should have a (3,1) mapping table, but some fonts + exist (mostly Asian fonts) which have a (3,1) cmap not encoded in Uni- + code. The reason for this strange behavior is the fact that some old + MS Windows versions will reject fonts having a non-(3,1) cmap (since + all non-Unicode Microsoft encoding IDs are for Asian MS Windows ver- + sions). + + The -P and -E options of ttf2tfm must be equally specified for ttf2pk; + the corresponding parameters in a map file are `Pid' and `Eid', respec- + tively. + + The default pid/eid pair is (3,1). + + Similarly, an -f option must be specified as `Fontindex' parameter in a + map file. + + If you use the -N switch, all cmaps are ignored, using only the Post- + Script names in the TrueType font. The corresponding option in a map + file is `PS=Only'. If you use the -n switch, the default glyph names + built into ttf2tfm are replaced with the PS glyph names found in the + font. In many cases this is not what you want because the glyph names + in the font are often incorrect or non-standard. The corresponding op- + tion in a map file is `PS=Yes'. + + Single replacement glyph names specified with -r must be given directly + as `old-glyphname new-glyphname' in a map file; -R is equivalent to the + `Replacement' option. + +INPUT AND OUTPUT ENCODINGS + You must specify the encoding vectors from the TrueType font to the raw + TeX font and from the raw TeX font to the virtual TeX font exactly as + with afm2tfm, but you have more possibilities to address the character + codes. [With `encoding vector' a mapping table with 256 entries in + form of a PostScript vector is meant; see the file T1-WGL4.enc of this + package for an example.] With afm2tfm, you must access each glyph with + its Adobe glyph name, e.g. `/quotedsingle' or `/Acircumflex'. This has + been extended with ttf2tfm; now you can (and sometimes must) access the + code points and/or glyphs directly, using the following syntax for + specifying the character position in decimal, octal, or hexadecimal no- + tation: `/.c<decimal-number>', `/.c0<octal-number>', or `/.c0x<hexadec- + imal-number>'. Examples: `/.c72', `/.c0646', `/.c0x48'. To access a + glyph index directly, use the character `g' instead of `c' in the just + introduced notation. Example: `/.g0x32'. [Note: The `.cXXX' notation + makes no sense if -N is used.] + + For pid/eid pairs (1,0) and (3,1), both ttf2tfm and ttf2pk recognize + built-in default Adobe glyph names; the former follows the names given + in Appendix E of the book `Inside Macintosh', volume 6, the latter uses + the names given in the TrueType Specification (WGL4, a Unicode subset). + Note that Adobe names for a given glyph are often not unique and do + sometimes differ, e.g., many PS fonts have the glyph `mu', whereas this + glyph is called `mu1' in the WGL4 character set to distinguish it from + the real Greek letter mu. Be also aware that OpenType (i.e. True- + Type 2.0) fonts use an updated WGL4 table; we use the data from the + latest published TrueType specification (1.66). You can find those + mapping tables in the source code file ttfenc.c. + + On the other hand, the switches -n and -N makes ttf2tfm read in and use + the PostScript names in the TrueType font itself (stored in the `post' + table) instead of the default Adobe glyph names. + + Use the -r switch to remap single glyph names and -R to specify a file + containing replacement glyph name pairs. + + If you don't select an input encoding, the first 256 glyphs of the + TrueType font with a valid entry in the selected cmap will be mapped to + the TeX raw font (without the -q option, ttf2tfm prints this mapping + table to standard output), followed by all glyphs not yet addressed in + the selected cmap. However, some code points for the (1,0) pid/eid + pair are omitted since they do not represent glyphs useful for TeX: + 0x00 (null), 0x08 (backspace), 0x09 (horizontal tabulation), 0x0d (car- + riage return), and 0x1d (group separator). The `invalid character' + with glyph index 0 will be omitted too. + + If you select the -N switch, the first 256 glyphs of the TrueType font + with a valid PostScript name will be used in case no input encoding is + specified. Again, some glyphs are omitted: `.notdef', `.null', and + `nonmarkingreturn'. + + If you don't select an output encoding, ttf2tfm uses the same mapping + table as afm2tfm would use (you can find it in the source code file + texenc.c); it corresponds to TeX typewriter text. Unused positions + (either caused by empty code points in the mapping table or missing + glyphs in the TrueType font) will be filled (rather arbitrarily) with + characters present in the input encoding but not specified in the out- + put encoding (without the -q option ttf2tfm prints the final output en- + coding to standard output). Use the -u option if you want only glyphs + in the virtual font which are defined in the output encoding file, and + nothing more. + + One feature missing in afm2tfm has been added which is needed by La- + TeX's T1 encoding: ttf2tfm will construct the glyph `Germandbls' (by + simply concatenating two `S' glyphs) even for normal fonts if possible. + It appears in the glyph list as the last item, marked with an asterisk. + Since this isn't a real glyph it will be available only in the virtual + font. + + For both input and output encoding, an empty code position is repre- + sented by the glyph name `/.notdef'. + + In encoding files, you can use `\' as the final character of a line to + indicate that the input is continued on the next line. The backslash + and the following newline character will be removed. + + +SUBFONT DEFINITION FILES + CJKV (Chinese/Japanese/Korean/old Vietnamese) fonts usually contain + several thousand glyphs; to use them with TeX it is necessary to split + such large fonts into subfonts. Subfont definition files (usually hav- + ing the extension `.sfd') are a simple means to do this smoothly. + + A subfont file name usually consists of a prefix, a subfont infix, and + a postfix (which is empty in most cases), e.g. + + ntukai23 -> prefix: ntukai, infix: 23, postfix: (empty) + + Here the syntax of a line in an SFD file, describing one subfont: + + <whitespace> <infix> <whitespace> <ranges> <whitespace> + + + <infix> := + anything except whitespace. It is best to use only alphanumeri- + cal characters. + + <whitespace> := + space, formfeed, carriage return, horizontal and vertical tabs + -- no newline characters. + + <ranges> := + <ranges> <whitespace> <codepoint> | + <ranges> <whitespace> <range> | + <ranges> <whitespace> <offset> <whitespace> <range> + + <codepoint> := + <number> + + <range> := + <number> `_' <number> + + <offset> := + <number> `:' + + <number> := + hexadecimal (prefix `0x'), decimal, or octal (prefix `0') + + A line can be continued on the next line with a backslash ending the + line. The ranges must not overlap; offsets have to be in the range + 0-255. + + Example: + + The line + + 03 10: 0x2349 0x2345_0x2347 + + assigns to the code positions 10, 11, 12, and 13 of the subfont hav- + ing the infix `03' the character codes 0x2349, 0x2345, 0x2346, and + 0x2347 respectively. + + The SFD files in the distribution are customized for the CJK package + for LaTeX. + + You have to embed the SFD file name into the TFM font name (at the + place where the infix will appear) surrounded by two `@' signs, on the + command line resp. a map file; both ttf2tfm and ttf2pk switch then to + subfont mode. + + It is possible to use more than a single SFD file by separating them + with commata and no whitespace; for a given subfont, the first file is + scanned for an entry, then the next file, and so on. Later entries + override entries found earlier (possibly only partially). For example, + the first SFD file sets up range 0x10-0xA0, and the next one modifies + entries 0x12 and 0x25. As can be easily seen, this algorithm allows + for adding and replacing, but not for removing entries. + + Subfont mode disables the options -n, -N, -p, -r, -R, -t, -T, -u, -v, + -V and -w for ttf2tfm; similarly, no `Encoding' or `Replacement' param- + eter is allowed in a map file. Single replacement glyph names are ig- + nored too. + + ttf2tfm will create all subfont TFM files specified in the SFD files + (provided the subfont contains glyphs) in one run. + + Example: + + The call + + ttf2tfm ntukai.ttf ntukai@Big5,Big5-supp@ + + will use Big5.sfd and Big5-supp.sfd, producing all subfont files + ntukai01.tfm, ntukai02.tfm, etc. + +RETURN VALUE + ttf2tfm returns 0 on success and 1 on error; warning and error messages + are written to standard error. + +SOME NOTES ON FILE SEARCHING + Both ttf2pk and ttf2tfm use either the kpathsea, emtexdir, or MiKTeX + library for searching files (emtexdir will work only on operating sys- + tems which have an MS-DOSish background, i.e. MS-DOS, OS/2, Windows; + MikTeX is specific to MS Windows). + + As a last resort, both programs can be compiled without a search li- + brary; the searched files must be then in the current directory or + specified with a path. Default extensions will be appended also (with + the exception that only `.ttf' is appended and not `.ttc'). + + kpathsea + Please note that older versions of kpathsea (<3.2) have no special + means to seach for TrueType fonts and related files, thus we use the + paths for PostScript related stuff. The actual version of kpathsea is + displayed on screen if you call either ttf2pk or ttf2tfm with the + --version command line switch. + + Here is a table of the file type and the corresponding kpathsea vari- + ables. TTF2PKINPUTS and TTF2TFMINPUTS are program specific environment + variables introduced in kpathsea version 3.2: + + .ttf and .ttc TTFONTS + ttf2pk.cfg TTF2PKINPUTS + .map TTF2PKINPUTS + .enc TTF2PKINPUTS, TTF2TFMINPUTS + .rpl TTF2PKINPUTS, TTF2TFMINPUTS + .tfm TFMFONTS + .sfd TTF2PKINPUTS, TTF2TFMINPUTS + + And here the same for pre-3.2-versions of kpathsea: + + .ttf and .ttc T1FONTS + ttf2pk.cfg TEXCONFIG + .map TEXCONFIG + .enc TEXPSHEADERS + .rpl TEXPSHEADERS + .tfm TFMFONTS + .sfd TEXPSHEADERS + + Finally, the same for pre-3.0-versions (as used e.g. in teTeX 0.4): + + .ttf and .ttc DVIPSHEADERS + ttf2pk.cfg TEXCONFIG + .map TEXCONFIG + .enc DVIPSHEADERS + .rpl DVIPSHEADERS + .tfm TFMFONTS + .sfd DVIPSHEADERS + + Please consult the info files of kpathsea for details on these vari- + ables. The decision whether to use the old or the new scheme will be + done during compilation. + + You should set the TEXMFCNF variable to the directory where your + texmf.cnf configuration file resides. + + Here is the proper command to find out to which value a kpathsea vari- + able is set (we use TTFONTS as an example). This is especially useful + if a variable isn't set in texmf.cnf or in the environment, thus point- + ing to the default value which is hard-coded into the kpathsea library. + + kpsewhich -progname=ttf2tfm -expand-var='$TTFONTS' + + We select the program name also since it is possible to specify vari- + ables which are searched only for a certain program -- in our example + it would be TTFONTS.ttf2tfm. + + A similar but not identical method is to say + + kpsewhich -progname=ttf2tfm -show-path='truetype fonts' + + [A full list of format types can be obtained by saying `kpsewhich + --help' on the command line prompt.] This is exactly how ttf2tfm (and + ttf2pk) searches for files; the disadvantage is that all variables are + expanded which can cause very long strings. + + emtexdir + Here the list of suffixes and their related environment variables to be + set in autoexec.bat (resp. in config.sys for OS/2): + + .ttf and .ttc TTFONTS + ttf2pk.cfg TTFCFG + .map TTFCFG + .enc TTFCFG + .rpl TTFCFG + .tfm TEXTFM + .sfd TTFCFG + + If one of the variables isn't set, a warning message is emitted. The + current directory will always be searched. As usual, one exclamation + mark appended to a directory path causes subdirectories one level deep + to be searched, two exclamation marks cause all subdirectories to be + searched. Example: + + TTFONTS=c:\fonts\truetype!!;d:\myfonts\truetype! + + Constructions like `c:\fonts!!\truetype' aren't possible. + + MiKTeX + Both ttf2tfm and ttf2pk have been fully integrated into MiKTeX. Please + refer to the documentation of MiKTeX for more details on file search- + ing. + +PROBLEMS + Many vptovf implementations allow only 100 bytes for the TFM header + (the limit is 1024 in the TFM file format itself): 8 bytes for checksum + and design size, 40 bytes for the family name, 20 bytes for the encod- + ing, and 4 bytes for a face byte. There remain only 28 bytes for some + additional information which is used by ttf2tfm for an identification + string (which is essentially a copy of the command line), and this lim- + it is always exceeded. + + The optimal solution is to increase the value of max_header_bytes in + the file vptovf.web (and probably pltotf.web too) to, say, 400 and re- + compile vptovf (and pltotf). Otherwise you'll get some (harmless) er- + ror messages like + + This HEADER index is too big for my present table size + + which can be safely ignored. + +SEE ALSO + ttf2pk(1), afm2tfm(1), vptovf(1), + the info pages for dvips and kpathsea + +AVAILABILITY + ttf2tfm is part of the FreeType 1 package, a high quality TrueType ren- + dering library. + +AUTHORS + Werner LEMBERG <wl@gnu.org> + Frédéric LOYER <loyer@ensta.fr> + + + +FreeType version 1.5 10-Jan-2002 TTF2TFM(1) diff --git a/Master/texmf-dist/doc/vlna/vlna.pdf b/Master/texmf-dist/doc/vlna/vlna.pdf Binary files differnew file mode 100644 index 00000000000..55c286a75fb --- /dev/null +++ b/Master/texmf-dist/doc/vlna/vlna.pdf diff --git a/Master/texmf-dist/doc/web2c/web2c.html b/Master/texmf-dist/doc/web2c/web2c.html new file mode 100644 index 00000000000..ed9c8a4947c --- /dev/null +++ b/Master/texmf-dist/doc/web2c/web2c.html @@ -0,0 +1,4718 @@ +<html lang="en"> +<head> +<title>Web2c: A TeX implementation</title> +<meta http-equiv="Content-Type" content="text/html"> +<meta name="description" content="Web2c: A TeX implementation"> +<meta name="generator" content="makeinfo 4.13"> +<link title="Top" rel="top" href="#Top"> +<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> +<!-- +This file documents the installation and use of the programs in Web2c, +an implementation of Donald Knuth's TeX system. + +Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, +2004, 2005, 2007, 2008, 2009 Karl Berry & Olaf Weber. + +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. + + +Permission is granted to copy and distribute modified versions of this +manual under the conditions for verbatim copying, provided that the +entire resulting derived work is distributed under the terms of a +permission notice identical to this one. + +Permission is granted to copy and distribute translations of this manual +into another language, under the above conditions for modified versions, +except that this permission notice may be stated in a translation--> +<meta http-equiv="Content-Style-Type" content="text/css"> +<style type="text/css"><!-- + pre.display { font-family:inherit } + pre.format { font-family:inherit } + pre.smalldisplay { font-family:inherit; font-size:smaller } + pre.smallformat { font-family:inherit; font-size:smaller } + pre.smallexample { font-size:smaller } + pre.smalllisp { font-size:smaller } + span.sc { font-variant:small-caps } + span.roman { font-family:serif; font-weight:normal; } + span.sansserif { font-family:sans-serif; font-weight:normal; } +--></style> +</head> +<body> +<h1 class="settitle">Web2c: A TeX implementation</h1> +<div class="contents"> +<h2>Table of Contents</h2> +<ul> +<li><a name="toc_Top" href="#Top">Web2c</a> +<li><a name="toc_Introduction" href="#Introduction">1 Introduction</a> +<li><a name="toc_Installation" href="#Installation">2 Installation</a> +<ul> +<li><a href="#configure-options">2.1 <code>configure</code> options</a> +<li><a href="#Compile_002dtime-options">2.2 Compile-time options</a> +<li><a href="#Additional-targets">2.3 Additional targets</a> +<li><a href="#Triptrap">2.4 Trip, trap, and mptrap: Torture tests</a> +<li><a href="#Runtime-options">2.5 Runtime options</a> +</li></ul> +<li><a name="toc_Commonalities" href="#Commonalities">3 Commonalities</a> +<ul> +<li><a href="#Option-conventions">3.1 Option conventions</a> +<li><a href="#Common-options">3.2 Common options</a> +<li><a href="#Path-searching">3.3 Path searching</a> +<li><a href="#Output-file-location">3.4 Output file location</a> +<li><a href="#Three-programs">3.5 Three programs: Metafont, MetaPost, and TeX</a> +<ul> +<li><a href="#Initial-and-virgin">3.5.1 Initial and virgin</a> +<li><a href="#Memory-dumps">3.5.2 Memory dumps</a> +<ul> +<li><a href="#Creating-memory-dumps">3.5.2.1 Creating memory dumps</a> +<li><a href="#Determining-the-memory-dump-to-use">3.5.2.2 Determining the memory dump to use</a> +<li><a href="#Hardware-and-memory-dumps">3.5.2.3 Hardware and memory dumps</a> +</li></ul> +<li><a href="#Editor-invocation">3.5.3 Editor invocation</a> +<li><a href="#_005cinput-filenames">3.5.4 <code>\input</code> filenames</a> +</li></ul> +</li></ul> +<li><a name="toc_TeX" href="#TeX">4 TeX: Typesetting</a> +<ul> +<li><a href="#tex-invocation">4.1 <code>tex</code> invocation</a> +<li><a href="#Initial-TeX">4.2 Initial TeX</a> +<li><a href="#Formats">4.3 Formats</a> +<li><a href="#Languages-and-hyphenation">4.4 Languages and hyphenation</a> +<ul> +<li><a href="#MLTeX">4.4.1 MLTeX: Multi-lingual TeX</a> +<ul> +<li><a href="#_005ccharsubdef">4.4.1.1 <code>\charsubdef</code>: Character substitutions</a> +<li><a href="#_005ctracingcharsubdef">4.4.1.2 <code>\tracingcharsubdef</code>: Substitution diagnostics</a> +</li></ul> +<li><a href="#TCX-files">4.4.2 TCX files: Character translations</a> +<li><a href="#patgen-invocation">4.4.3 Patgen: Creating hyphenation patterns</a> +</li></ul> +<li><a href="#Shell-escapes">4.5 Shell escapes</a> +<li><a href="#IPC-and-TeX">4.6 IPC and TeX</a> +<li><a href="#TeX-extensions">4.7 TeX extensions</a> +</li></ul> +<li><a name="toc_Metafont" href="#Metafont">5 Metafont: Creating typeface families</a> +<ul> +<li><a href="#mf-invocation">5.1 <code>mf</code> invocation</a> +<li><a href="#Initial-Metafont">5.2 Initial Metafont</a> +<li><a href="#Modes">5.3 Modes: Device definitions for Metafont</a> +<li><a href="#Online-Metafont-graphics">5.4 Online Metafont graphics</a> +<li><a href="#gftodvi-invocation">5.5 GFtoDVI: Character proofs of fonts</a> +<li><a href="#mft-invocation">5.6 MFT: Prettyprinting Metafont source</a> +</li></ul> +<li><a name="toc_MetaPost" href="#MetaPost">6 MetaPost: Creating technical illustrations</a> +<ul> +<li><a href="#mpost-invocation">6.1 <code>mpost</code> invocation</a> +<li><a href="#Initial-MetaPost">6.2 Initial MetaPost</a> +<li><a href="#dvitomp-invocation">6.3 DVItoMP: DVI to MPX conversion</a> +</li></ul> +<li><a name="toc_BibTeX" href="#BibTeX">7 BibTeX: Bibliographies</a> +<ul> +<li><a href="#bibtex-invocation">7.1 BibTeX invocation</a> +<li><a href="#Basic-BibTeX-style-files">7.2 Basic BibTeX style files</a> +</li></ul> +<li><a name="toc_WEB" href="#WEB">8 WEB: Literate programming</a> +<ul> +<li><a href="#tangle-invocation">8.1 Tangle: Translate WEB to Pascal</a> +<li><a href="#weave-invocation">8.2 Weave: Translate WEB to TeX</a> +<li><a href="#pooltype-invocation">8.3 Pooltype: Display WEB pool files</a> +</li></ul> +<li><a name="toc_DVI-utilities" href="#DVI-utilities">9 DVI utilities</a> +<ul> +<li><a href="#dvicopy-invocation">9.1 DVIcopy: Canonicalize virtual font references</a> +<li><a href="#dvitype-invocation">9.2 DVItype: Plain text transliteration of DVI files</a> +<ul> +<li><a href="#dvitype-output-example">9.2.1 DVItype output example</a> +</li></ul> +</li></ul> +<li><a name="toc_Font-utilities" href="#Font-utilities">10 Font utilities</a> +<ul> +<li><a href="#Font-file-formats">10.1 Font file formats</a> +<li><a href="#gftopk-invocation">10.2 GFtoPK: Generic to packed font conversion</a> +<li><a href="#pktogf-invocation">10.3 PKtoGF: Packed to generic font conversion</a> +<li><a href="#pktype-invocation">10.4 PKtype: Plain text transliteration of packed fonts</a> +<li><a href="#gftype-invocation">10.5 GFtype: Plain text transliteration of generic fonts</a> +<li><a href="#tftopl-invocation">10.6 TFtoPL: TeX font metric to property list conversion</a> +<li><a href="#pltotf-invocation">10.7 PLtoTF: Property list to TeX font metric conversion</a> +<li><a href="#vftovp-invocation">10.8 VFtoVP: Virtual font to virtual property lists</a> +<li><a href="#vptovf-invocation">10.9 VPtoVF: Virtual property lists to virtual font</a> +<li><a href="#Font-utilities-available-elsewhere">10.10 Font utilities available elsewhere</a> +</li></ul> +<li><a name="toc_Legalisms" href="#Legalisms">Appendix A Legalisms</a> +<li><a name="toc_References" href="#References">Appendix B References</a> +<li><a name="toc_Index" href="#Index">Index</a> +</li></ul> +</div> + + + +<div class="node"> +<a name="Top"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Introduction">Introduction</a>, +Up: <a rel="up" accesskey="u" href="#dir">(dir)</a> + +</div> + +<h2 class="unnumbered">Web2c</h2> + +<p>This document describes how to install and use the programs in the Web2c +implementation of the TeX system, especially for Unix systems. It +corresponds to Web2c version 2012, released in +May 2012. + +<ul class="menu"> +<li><a accesskey="1" href="#Introduction">Introduction</a>: A brief introduction. +<li><a accesskey="2" href="#Installation">Installation</a>: How to compile and install Web2c. +<li><a accesskey="3" href="#Commonalities">Commonalities</a>: Option syntax, standard options, memory dumps. +<li><a accesskey="4" href="#TeX">TeX</a>: Typesetting. +<li><a accesskey="5" href="#Metafont">Metafont</a>: Typeface design. +<li><a accesskey="6" href="#MetaPost">MetaPost</a>: Technical illustrations. +<li><a accesskey="7" href="#BibTeX">BibTeX</a>: Reusable bibliographies. +<li><a accesskey="8" href="#WEB">WEB</a>: Literate programming. +<li><a accesskey="9" href="#DVI-utilities">DVI utilities</a>: DVI expansion. +<li><a href="#Font-utilities">Font utilities</a>: Font format conversion. +<li><a href="#Legalisms">Legalisms</a>: Blah blah blah. +<li><a href="#References">References</a>: Books and such. +<li><a href="#Index">Index</a>: General index. +</ul> + +<div class="node"> +<a name="Introduction"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Installation">Installation</a>, +Previous: <a rel="previous" accesskey="p" href="#Top">Top</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">1 Introduction</h2> + +<p><a name="index-introduction-1"></a> +This manual corresponds to version 2012 of Web2c, released in +May 2012. + + <p><a name="index-Knuth_002c-Donald-E_002e-2"></a><a name="index-g_t_0040TeX_007b_007d_002c-Web2c-implementation-of-3"></a><a name="index-Hobby_002c-John-4"></a><a name="index-Breitenlohner_002c-Peter-5"></a><dfn>Web2c</dfn> is the name of a TeX implementation, originally for Unix, +but now also running under DOS, Amiga, and other operating systems. By +<dfn>TeX implementation</dfn>, we mean all of the standard programs +developed by the Stanford TeX project directed by Donald E. Knuth: +Metafont, DVItype, GFtoDVI, BibTeX, Tangle, etc., as well as TeX +itself. Other programs are also included: DVIcopy, written by Peter +Breitenlohner, MetaPost and its utilities (derived from Metafont), by +John Hobby, etc. + + <p><a name="index-translation-from-WEB-to-C-6"></a><a name="index-strategy_002c-overall-7"></a>General strategy: Web2c works, as its name implies, by translating the +WEB source in which TeX is written into C source code. Its output is +not self-contained, however; it makes extensive use of many macros and +functions in a library (the <samp><span class="file">web2c/lib</span></samp> directory in the sources). +Therefore, it will not work without change on an arbitrary WEB program. + + <p><a name="index-licensing-terms-8"></a><a name="index-freedom-of-Web2c-9"></a><a name="index-ice-cream-10"></a><a name="index-Henry_002c-Patrick-11"></a>Availability: All of Web2c is freely available—“free” both in the +sense of no cost (free ice cream) and of having the source code to +modify and/or redistribute (free speech). See <a href="kpathsea.html#unixtex_002eftp">unixtex.ftp</a>, for the practical details of how to obtain Web2c. + + <p>Different parts of the Web2c distribution have different licensing +terms, however, reflecting the different circumstances of their +creation; consult each source file for exact details. The main +practical implication for redistributors of Web2c is that the executables +are covered by the GNU General Public License, and therefore anyone +who gets a binary distribution must also get the sources, as explained +by the terms of the GPL (see <a href="kpathsea.html#Copying">Copying</a>). The +GPL covers the Web2c executables, including <code>tex</code>, because the Free +Software Foundation sponsored the initial development of the Kpathsea +library that Web2c uses. The basic source files from Stanford, however, +have their own copyright terms or are in the public domain, and are not +covered by the GPL. + + <p><a name="index-history-12"></a><a name="index-Rokicki_002c-Tomas-13"></a><a name="index-Trickey_002c-Howard-14"></a><a name="index-Curtis_002c-Pavel-15"></a><a name="index-Morgan_002c-Tim-16"></a><a name="index-Berry_002c-Karl-17"></a><a name="index-Weber_002c-Olaf-18"></a>History: Tomas Rokicki originated the TeX-to-C system in 1987, +working from the first change files for TeX under Unix, which were +done primarily by Howard Trickey and Pavel Curtis. Tim Morgan then took +over development and maintenance for a number of years; the name changed +to Web-to-C somewhere in there. In 1990, Karl Berry became the +maintainer. He made many changes to the original sources, and started +using the shorter name Web2c. In 1997, Olaf Weber took over. Dozens of +other people have contributed; their names are listed in the +<samp><span class="file">ChangeLog</span></samp> files. + + <p><a name="index-acknowledgements-19"></a><a name="index-Martin_002c-Rick-20"></a><a name="index-Morris_002c-Bob-21"></a><a name="index-Stallman_002c-Richard-22"></a>Other acknowledgements: The University of Massachusetts at Boston +(particularly Rick Martin and Bob Morris) provided computers and ftp +access to me for many years. Richard Stallman at the Free Software +Foundation employed me while I wrote the original path searching library +(for the GNU font utilities). (rms also gave us Emacs, GDB, and GCC, +without which I cannot imagine developing Web2c.) And, of course, +TeX would not exist in the first place without Donald E. Knuth. + + <p><a name="index-reading_002c-additional-23"></a>Further reading: See <a href="#References">References</a>. + +<div class="node"> +<a name="Installation"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Commonalities">Commonalities</a>, +Previous: <a rel="previous" accesskey="p" href="#Introduction">Introduction</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">2 Installation</h2> + +<p><a name="index-configuration-24"></a><a name="index-compilation-25"></a><a name="index-installation-26"></a> +(A copy of this chapter is in the distribution file <samp><span class="file">web2c/INSTALL</span></samp>.) + + <p>Installing Web2c is mostly the same as installing any other +Kpathsea-using program. Therefore, for the basic steps involved, +see <a href="kpathsea.html#Installation">Installation</a>. (A copy is in the file +<samp><span class="file">kpathsea/INSTALL</span></samp>.) + + <p>One peculiarity to Web2c is that the source distribution comes in two +files: <samp><span class="file">web.tar.gz</span></samp> and <samp><span class="file">web2c.tar.gz</span></samp>. You must retrieve and +unpack them both. (We have two because the former archive contains the +very large and seldom-changing original WEB source files.) +See <a href="kpathsea.html#unixtex_002eftp">unixtex.ftp</a>. + + <p><a name="index-mpost_0040r_007b_002c-reason-for-name-change_007d-27"></a>Another peculiarity is the MetaPost program. Although it has been +installed previously as <code>mp</code>, as of Web2c 7.0 the installed name is +now <code>mpost</code>, to avoid conflict with the <code>mp</code> program that does +prettyprinting. This approach was recommended by the MetaPost author, +John Hobby. If you as the TeX administrator wish to make it +available under its shorter name as well, you will have to set up a link +or some such yourself. And of course individual users can do the same. + + <p>For solutions to common installation problems and information on how to +report a bug, see the file <samp><span class="file">kpathsea/BUGS</span></samp> (see <a href="kpathsea.html#Bugs">Bugs</a>). See also the Web2c home page, +<a href="http://www.tug.org/web2c">http://www.tug.org/web2c</a>. + + <p>Points worth repeating: + + <ul> +<li><a name="index-directory-structure-28"></a><a name="index-basic-fonts-and-macros-29"></a><a name="index-fonts_002c-basic-30"></a><a name="index-macros_002c-basic-31"></a>Before starting the standard compilation and installation you must +install the basic fonts, macros, and other library files. +See <a href="kpathsea.html#Installation">Installation</a>. + + <li>If you do not wish to use the standard file locations, see <a href="kpathsea.html#Changing-search-paths">Changing search paths</a>. + + <li>Some Web2c features are enabled or disabled at <code>configure</code> time, +as described in the first section below. + + </ul> + +<ul class="menu"> +<li><a accesskey="1" href="#configure-options">configure options</a>: Especially --with and --enable. +<li><a accesskey="2" href="#Compile_002dtime-options">Compile-time options</a>: Unusual -D's. +<li><a accesskey="3" href="#Additional-targets">Additional targets</a>: Breaking down the task. +<li><a accesskey="4" href="#Triptrap">Triptrap</a>: Running the torture tests. +<li><a accesskey="5" href="#Runtime-options">Runtime options</a>: Array sizes and the like. +</ul> + +<div class="node"> +<a name="configure-options"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Compile_002dtime-options">Compile-time options</a>, +Up: <a rel="up" accesskey="u" href="#Installation">Installation</a> + +</div> + +<h3 class="section">2.1 <code>configure</code> options</h3> + +<p><a name="index-configuration_002c-compile_002dtime-32"></a><a name="index-compile_002dtime-options-33"></a><a name="index-configure-_002d_002dwith_002f_002d_002denable-_0040r_007boptions_007d-34"></a>This section gives pointers to descriptions of the ‘<samp><span class="samp">--with</span></samp>’ and +‘<samp><span class="samp">--enable</span></samp>’ <code>configure</code> arguments that Web2c accepts. Some are +specific to Web2c, others are generic to all Kpathsea-using programs. + + <p>For a list of all the options <code>configure</code> accepts, run +‘<samp><span class="samp">configure --help</span></samp>’. The generic options are listed first, and the +package-specific options come last. + + <p>For a description of the generic options (which mainly allow you to +specify installation directories) and basic <code>configure</code> usage, +see <a href="autoconf.html#Invoking-configure">Running <code>configure</code> scripts</a>, a copy is in the file <samp><span class="file">kpathsea/CONFIGURE</span></samp>. + + <dl> +<dt>‘<samp><span class="samp">--disable-dump-share</span></samp>’<dd>Do not make fmt/base/mem files sharable across different endian +architectures. See <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a>. + + <br><dt>‘<samp><span class="samp">--without-maketexmf-default</span></samp>’<dt>‘<samp><span class="samp">--without-maketexpk-default</span></samp>’<dt>‘<samp><span class="samp">--without-maketextfm-default</span></samp>’<dt>‘<samp><span class="samp">--with-maketextex-default</span></samp>’<dd>Enable or disable the dynamic generation programs. See <a href="kpathsea.html#mktex-configuration">mktex configuration</a>. The defaults are the inverse of +the options, i.e., everything is enabled except <code>mktextex</code>. + + <br><dt>‘<samp><span class="samp">--enable-shared</span></samp>’<dd>Build Kpathsea as a shared library. See <a href="kpathsea.html#Shared-library">Shared library</a>. + + <br><dt>‘<samp><span class="samp">--with-editor=</span><var>cmd</var></samp>’<dd>Change the default editor invoked by the ‘<samp><span class="samp">e</span></samp>’ interactive command. +See <a href="#Editor-invocation">Editor invocation</a>. + + <br><dt>‘<samp><span class="samp">--with-epsfwin</span></samp>’<dt>‘<samp><span class="samp">--with-hp2627win</span></samp>’<dt>‘<samp><span class="samp">--with-mftalkwin</span></samp>’<dt>‘<samp><span class="samp">--with-nextwin</span></samp>’<dt>‘<samp><span class="samp">--with-regiswin</span></samp>’<dt>‘<samp><span class="samp">--with-suntoolswin</span></samp>’<dt>‘<samp><span class="samp">--with-tektronixwin</span></samp>’<dt>‘<samp><span class="samp">--with-unitermwin</span></samp>’<dt>‘<samp><span class="samp">--with-x</span></samp>’<dt>‘<samp><span class="samp">--with-x-toolkit=KIT</span></samp>’<dt>‘<samp><span class="samp">--with-x11win</span></samp>’<dt>‘<samp><span class="samp">--with-x11</span></samp>’<dd>Define Metafont graphics support; by default, no graphics support is +enabled. See <a href="#Online-Metafont-graphics">Online Metafont graphics</a>. + + <br><dt>‘<samp><span class="samp">--x-includes=</span><var>dir</var></samp>’<dt>‘<samp><span class="samp">--x-libraries=</span><var>dir</var></samp>’<dd>Define the locations of the X11 include files and libraries; by default, +<code>configure</code> does its best to guess). See <a href="autoconf.html#Optional-Features">Optional Features</a>. A copy is in <samp><span class="file">kpathsea/CONFIGURE</span></samp>. +</dl> + +<div class="node"> +<a name="Compile-time-options"></a> +<a name="Compile_002dtime-options"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Additional-targets">Additional targets</a>, +Previous: <a rel="previous" accesskey="p" href="#configure-options">configure options</a>, +Up: <a rel="up" accesskey="u" href="#Installation">Installation</a> + +</div> + +<h3 class="section">2.2 Compile-time options</h3> + +<p><a name="index-compile_002dtime-options-35"></a><a name="index-g_t_0040samp_007b_0023define_007d-options-36"></a><a name="index-g_t_002dD-_0040r_007bcompiler-options_007d-37"></a>In addition to the <code>configure</code> options listed in the previous +section, there are a few things that can be affected at compile-time +with C definitions, rather than with <code>configure</code>. Using any of +these is unusual. + + <p>To specify extra compiler flags (‘<samp><span class="samp">-D</span><var>name</var></samp>’ in this case), the +simplest thing to do is: +<pre class="example"> make XCFLAGS="<var>ccoptions</var>" +</pre> + <p class="noindent">You can also set the <code>CFLAGS</code> environment variable before +running <code>configure</code>. See <a href="kpathsea.html#configure-environment">configure environment</a>. + + <p>Anyway, here are the possibilities: + + <dl> +<dt>‘<samp><span class="samp">-DFIXPT</span></samp>’<dt>‘<samp><span class="samp">-DNO_MF_ASM</span></samp>’<dd><a name="index-FIXPT-38"></a><a name="index-fixed_002dpoint-arithmetic-39"></a><a name="index-floating_002dpoint-arithmetic-40"></a><a name="index-assembly-language-routines-41"></a><a name="index-fraction-routines-42"></a>Use the original WEB fixed-point routines for Metafont and MetaPost +arithmetic calculations regarding fractions. By default, +assembly-language routines are used on x86 hardware with GNU C (unless +‘<samp><span class="samp">NO_MF_ASM</span></samp>’ is defined), and floating-point routines are used +otherwise. + + <br><dt>‘<samp><span class="samp">-DIPC_DEBUG</span></samp>’<dd><a name="index-IPC_005fDEBUG-43"></a>Report on various interprocess communication activities. See <a href="#IPC-and-TeX">IPC and TeX</a>. +</dl> + +<div class="node"> +<a name="Additional-targets"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Triptrap">Triptrap</a>, +Previous: <a rel="previous" accesskey="p" href="#Compile_002dtime-options">Compile-time options</a>, +Up: <a rel="up" accesskey="u" href="#Installation">Installation</a> + +</div> + +<h3 class="section">2.3 Additional targets</h3> + +<p><a name="index-additional-Make-targets-44"></a><a name="index-targets_002c-additional-Make-45"></a><a name="index-Make-targets_002c-additional-46"></a> +Web2c has several Make targets besides the standard ones. You can invoke +these either in the top level directory of the source distribution (the +one containing <samp><span class="file">kpathsea/</span></samp> and <samp><span class="file">web2c/</span></samp>), or in the +<samp><span class="file">web2c/</span></samp> directory. + + <dl> +<dt>‘<samp><span class="samp">c-sources</span></samp>’<dd><a name="index-c_002dsources-_0040r_007bMakefile-target_007d-47"></a><a name="index-non_002dUnix-system_002c-compiling-on-48"></a>Make only the C files, translated from the Web sources, presumably +because you want to take them to a non-Unix machine. + + <br><dt>‘<samp><span class="samp">formats</span></samp>’<dt>‘<samp><span class="samp">install-formats</span></samp>’<dd><a name="index-formats-_0040r_007bMake-target_007d-49"></a><a name="index-install_002dformats-_0040r_007bMake-target_007d-50"></a>Make or install all the memory dumps (see <a href="#Memory-dumps">Memory dumps</a>). By +default, the standard plain formats plus <samp><span class="file">latex.fmt</span></samp> are made. You +can add other formats by redefining the <code>fmts</code>, <code>bases</code>, and +<code>mems</code> variables. See the top of <samp><span class="file">web2c/Makefile</span></samp> for the +possibilities. + + <br><dt>‘<samp><span class="samp">fmts</span></samp>’<dt>‘<samp><span class="samp">install-fmts</span></samp>’<dd><a name="index-fmts-_0040r_007bMake-target_007d-51"></a><a name="index-install_002dfmts-_0040r_007bMake-target_007d-52"></a>Make or install the TeX <samp><span class="file">.fmt</span></samp> files. See <a href="#Initial-TeX">Initial TeX</a>. + + <br><dt>‘<samp><span class="samp">bases</span></samp>’<dt>‘<samp><span class="samp">install-bases</span></samp>’<dd><a name="index-bases-_0040r_007bMake-target_007d-53"></a><a name="index-install_002dbases-_0040r_007bMake-target_007d-54"></a> +Make or install the Metafont <samp><span class="file">.base</span></samp> files. See <a href="#Initial-Metafont">Initial Metafont</a>. + + <br><dt>‘<samp><span class="samp">mems</span></samp>’<dt>‘<samp><span class="samp">install-mems</span></samp>’<dd><a name="index-mems-_0040r_007bMake-target_007d-55"></a><a name="index-install_002dmems-_0040r_007bMake-target_007d-56"></a>Make or install the MetaPost <samp><span class="file">.mem</span></samp> files. See <a href="#Initial-MetaPost">Initial MetaPost</a>. + + <br><dt>‘<samp><span class="samp">triptrap</span></samp>’<dt>‘<samp><span class="samp">trip</span></samp>’<dt>‘<samp><span class="samp">trap</span></samp>’<dt>‘<samp><span class="samp">mptrap</span></samp>’<dd><a name="index-triptrap-_0040r_007bMake-target_007d-57"></a><a name="index-trip-_0040r_007bMake-target_007d-58"></a><a name="index-trap-_0040r_007bMake-target_007d-59"></a><a name="index-mptrap-_0040r_007bMake-target_007d-60"></a>To run the torture tests for TeX, Metafont, and MetaPost +(respectively). See the next section. + + </dl> + +<div class="node"> +<a name="Triptrap"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Runtime-options">Runtime options</a>, +Previous: <a rel="previous" accesskey="p" href="#Additional-targets">Additional targets</a>, +Up: <a rel="up" accesskey="u" href="#Installation">Installation</a> + +</div> + +<h3 class="section">2.4 Trip, trap, and mptrap: Torture tests</h3> + +<p><a name="index-Gruff_002c-Billy-Goat-61"></a><a name="index-trip-test-62"></a><a name="index-trap-test-63"></a><a name="index-mptrap-test-64"></a><a name="index-torture-tests-65"></a> +<a name="index-tripman_002etex-66"></a><a name="index-trapman_002etex-67"></a><a name="index-mptrap_002ereadme-68"></a>To validate your TeX, Metafont, and MetaPost executables, run +‘<samp><span class="samp">make triptrap</span></samp>’. This runs the trip, trap, and mptrap “torture +tests”. See the files <samp><span class="file">triptrap/tripman.tex</span></samp>, +<samp><span class="file">triptrap/trapman.tex</span></samp>, and <samp><span class="file">triptrap/mptrap.readme</span></samp> for +detailed information and background on the tests. + + <p>The differences between your executables' behavior and the standard +values will show up on your terminal. The usual differences (these are +all acceptable) are: + + <ul> +<li>string usage and table sizes; +<li>glue set ratios; +<li>‘<samp><span class="samp">down4</span></samp>’, ‘<samp><span class="samp">right4</span></samp>’, and ‘<samp><span class="samp">y4</span></samp>’ commands in DVItype output; +<li>dates and times. +</ul> + +<p class="noindent">Any other differences are trouble. The most common culprit in +the past has been compiler bugs, especially when optimizing. +See <a href="kpathsea.html#TeX-or-Metafont-failing">TeX or Metafont failing</a>. + + <p>The files <samp><span class="file">trip.diffs</span></samp>, <samp><span class="file">mftrap.diffs</span></samp>, and +<samp><span class="file">mptrap.diffs</span></samp> in the <samp><span class="file">triptrap</span></samp> directory show the standard +diffs against the original output. If you diff your diffs against these +files, you should come up clean. For example +<pre class="example"> make trip >&mytrip.diffs + diff triptrap/trip.diffs mytrip.diffs +</pre> + <p>To run the tests separately, use the targets <code>trip</code>, <code>trap</code>, +and <code>mptrap</code>. + + <p>To run simple tests for all the programs as well as the torture tests, +run ‘<samp><span class="samp">make check</span></samp>’. You can compare the output to the distributed +file <samp><span class="file">tests/check.log</span></samp> if you like. + +<div class="node"> +<a name="Runtime-options"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Triptrap">Triptrap</a>, +Up: <a rel="up" accesskey="u" href="#Installation">Installation</a> + +</div> + +<h3 class="section">2.5 Runtime options</h3> + +<p><a name="index-runtime-options-69"></a> +<a name="index-configuration-file-values-70"></a><a name="index-array-sizes-71"></a>Besides the configure- and compile-time options described in the +previous sections, you can control a number of parameters (in +particular, array sizes) in the <samp><span class="file">texmf.cnf</span></samp> runtime file read by +Kpathsea (see <a href="kpathsea.html#Config-files">Config files</a>). + + <p>Rather than exhaustively listing them here, please see the last section +of the distributed <samp><span class="file">kpathsea/texmf.cnf</span></samp>. Some of the more +interesting values: + + <dl> +<dt>‘<samp><span class="samp">main_memory</span></samp>’<a name="index-main_005fmemory-72"></a><dd>Total words of memory available, for TeX, Metafont, and MetaPost. +Must remake the format file after changing. + + <br><dt>‘<samp><span class="samp">extra_mem_bot</span></samp>’<a name="index-extra_005fmem_005fbot-73"></a><dd><a name="index-boxes_002c-memory-for-74"></a><a name="index-glue_002c-memory-for-75"></a><a name="index-breakpoints_002c-memory-for-76"></a><a name="index-PiC_0040TeX_007b_007d_002c-increasing-memory-for-77"></a>Extra space for “large” TeX data structures: boxes, glue, +breakpoints, et al. If you use PiCTeX, you may well want to set this. + + <br><dt>‘<samp><span class="samp">font_mem_size</span></samp>’<a name="index-font_005fmem_005fsize-78"></a><dd><a name="index-TFM-files_002c-memory-for-79"></a>Words of font info available for TeX; this is approximately the total +size of all TFM files read. + + <br><dt>‘<samp><span class="samp">hash_extra</span></samp>’<a name="index-hash_005fextra-80"></a><dd><a name="index-control-sequence-names_002c-space-for-81"></a><a name="index-hash-table_002c-increasing-size-of-82"></a>Additional space for the hash table of control sequence names. +Approximately 10,000 control sequences can be stored in the main hash +table; if you have a large book with numerous cross-references, +this might not be enough, and thus you will want to set <code>hash_extra</code>. + + </dl> + + <p><a name="index-array-limit_002c-fixed-83"></a><a name="index-swap-space_002c-as-array-limit-84"></a><a name="index-reallocation-of-arrays-85"></a><a name="index-dynamic-array-allocation-86"></a>Of course, ideally all arrays would be dynamically expanded as +necessary, so the only limiting factor would be the amount of swap space +available. Unfortunately, implementing this is extremely difficult, as +the fixed size of arrays is assumed in many places throughout the source +code. These runtime limits are a practical compromise between the +compile-time limits in previous versions, and truly dynamic arrays. (On +the other hand, the Web2c BibTeX implementation does do dynamic +reallocation of some arrays.) + +<div class="node"> +<a name="Commonalities"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#TeX">TeX</a>, +Previous: <a rel="previous" accesskey="p" href="#Installation">Installation</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">3 Commonalities</h2> + +<p><a name="index-commonalities-87"></a> +Many aspects of the TeX system are the same among more than one +program, so we describe all those pieces together, here. + +<ul class="menu"> +<li><a accesskey="1" href="#Option-conventions">Option conventions</a>: -- or -, = or ` ' for values. +<li><a accesskey="2" href="#Common-options">Common options</a>: --help --version --verbose, and TeX/MF/MP options. +<li><a accesskey="3" href="#Path-searching">Path searching</a>: Features of the common path searching library. +<li><a accesskey="4" href="#Output-file-location">Output file location</a>: TEXMFOUTPUT allows output in places other than `.'. +<li><a accesskey="5" href="#Three-programs">Three programs</a>: TeX, Metafont, and MetaPost have a lot in common. +</ul> + +<div class="node"> +<a name="Option-conventions"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Common-options">Common options</a>, +Up: <a rel="up" accesskey="u" href="#Commonalities">Commonalities</a> + +</div> + +<h3 class="section">3.1 Option conventions</h3> + +<p><a name="index-option-conventions-88"></a><a name="index-conventions-for-options_002c-89"></a> +<a name="index-getopt_005flong_005fonly-90"></a>To provide a clean and consistent behavior, we chose to have all these +programs use the GNU function <code>getopt_long_only</code> to parse command +lines. However, we do use in a restricted mode, where all the options +have to come before the rest of the arguments. + + <p><a name="index-g_t_002d-_0040r_007bstarts-option-names_007d-91"></a><a name="index-g_t_002d_002d-_0040r_007bstarts-option-names_007d-92"></a>As a result, you can: + <ul> +<li>use ‘<samp><span class="samp">-</span></samp>’ or ‘<samp><span class="samp">--</span></samp>’ to start an option name; + + <li>use any unambiguous abbreviation for an option name; + + <li>separate option names and values with either ‘<samp><span class="samp">=</span></samp>’ or one or more +spaces; + + <li><a name="index-g_t_002d-_0040r_007bstarting-a-filename_007d-93"></a><a name="index-filenames-starting-with-_0040samp_007b_002d_007d-94"></a>use filenames that would otherwise look like options by putting them +after an option ‘<samp><span class="samp">--</span></samp>’. +</ul> + + <p>By convention, non-option arguments, if specified, generally define the +name of an input file, as documented for each program. + + <p>If a particular option with a value is given more than once, it is the +last value that counts. + + <p>For example, the following command line specifies the options +‘<samp><span class="samp">foo</span></samp>’, ‘<samp><span class="samp">bar</span></samp>’, and ‘<samp><span class="samp">verbose</span></samp>’; gives the value ‘<samp><span class="samp">baz</span></samp>’ +to the ‘<samp><span class="samp">abc</span></samp>’ option, and the value ‘<samp><span class="samp">xyz</span></samp>’ to the ‘<samp><span class="samp">quux</span></samp>’ +option; and specifies the filename <samp><span class="file">-myfile-</span></samp>. + +<pre class="example"> -foo --bar -verb -abc=baz -quux karl --quux xyz -- -myfile- +</pre> + <div class="node"> +<a name="Common-options"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Path-searching">Path searching</a>, +Previous: <a rel="previous" accesskey="p" href="#Option-conventions">Option conventions</a>, +Up: <a rel="up" accesskey="u" href="#Commonalities">Commonalities</a> + +</div> + +<h3 class="section">3.2 Common options</h3> + +<p><a name="index-common-options-95"></a>All of these programs accept the standard GNU ‘<samp><span class="samp">--help</span></samp>’ and +‘<samp><span class="samp">--version</span></samp>’ options, and several programs accept +‘<samp><span class="samp">--verbose</span></samp>’. Rather than writing identical descriptions for +every program, they are described here. + + <dl> +<dt>‘<samp><span class="samp">--help</span></samp>’<dd><a name="index-g_t_002d_002dhelp-_0040r_007bcommon-option_007d-96"></a><a name="index-help_002c-online-97"></a>Print a usage message listing basic usage and all available options to +standard output, then exit successfully. + + <br><dt>‘<samp><span class="samp">--verbose</span></samp>’<dd><a name="index-g_t_002d_002dverbose-_0040r_007bcommon-option_007d-98"></a><a name="index-verbosity_002c-enabling-99"></a>Print progress reports to standard output. + + <br><dt>‘<samp><span class="samp">--version</span></samp>’<dd><a name="index-g_t_002d_002dversion-_0040r_007bcommon-option_007d-100"></a><a name="index-version-number_002c-finding-101"></a>Print the version number to standard output, then exit successfully. +</dl> + + <p>TeX, Metafont, and MetaPost have a number of additional options in +common: + + <dl> +<dt>‘<samp><span class="samp">-file-line-error</span></samp>’<dd><a name="index-g_t_002dfile_002dline_002derror-102"></a><dt>‘<samp><span class="samp">-no-file-line-error</span></samp>’<dd><a name="index-g_t_002dno_002dfile_002dline_002derror-103"></a><a name="index-g_t_002dfile_002dline_002derror_002dstyle-104"></a><a name="index-changing-error-messages-style-105"></a>Change (or do not change) the way error messages are printed. The +alternate style looks like error messages from many compilers and is +easier to parse for some editors that invoke TeX. This option used +to be called ‘<samp><span class="samp">-file-line-error-style</span></samp>’. + + <br><dt>‘<samp><span class="samp">-fmt=</span><var>dumpname</var></samp>’<dt>‘<samp><span class="samp">-base=</span><var>dumpname</var></samp>’<dt>‘<samp><span class="samp">-mem=</span><var>dumpname</var></samp>’<dd><a name="index-g_t_002dfmt_003d_0040var_007bdumpname_007d-106"></a><a name="index-g_t_002dbase_003d_0040var_007bdumpname_007d-107"></a><a name="index-g_t_002dmem_003d_0040var_007bdumpname_007d-108"></a><a name="index-dump-file-109"></a>Use <var>dumpname</var> instead of the program name or a ‘<samp><span class="samp">%&</span></samp>’ line to +determine the name of the memory dump file read (‘<samp><span class="samp">fmt</span></samp>’ for TeX, +‘<samp><span class="samp">base</span></samp>’ for Metafont, ‘<samp><span class="samp">mem</span></samp>’ for MetaPost). See <a href="#Memory-dumps">Memory dumps</a>. Also sets the program name to <var>dumpname</var> if no +‘<samp><span class="samp">-progname</span></samp>’ option was given. + + <br><dt>‘<samp><span class="samp">-halt-on-error</span></samp>’<dd><a name="index-g_t_002dhalt_002don_002derror-110"></a><a name="index-stopping-at-the-first-error-111"></a>Stop processing and exit when an error occurs, as opposed to the normal +process of trying to recover and continue. + + <br><dt>‘<samp><span class="samp">-ini</span></samp>’<dd><a name="index-g_t_002dini-112"></a><a name="index-program-names_002c-special-113"></a><a name="index-initial-form_002c-enabling-114"></a>Enable the “initial” form of the program (see <a href="#Initial-and-virgin">Initial and virgin</a>). This is implicitly set if the program name is <code>initex</code> +resp. <code>inimf</code>. + + <br><dt>‘<samp><span class="samp">-interaction=</span><var>string</var></samp>’<dd><a name="index-g_t_002dinteraction_003d_0040var_007bstring_007d-115"></a><a name="index-interaction-mode-116"></a>Set the interaction mode from the command line. The <var>string</var> must +be one of ‘<samp><span class="samp">batchmode</span></samp>’, ‘<samp><span class="samp">nonstopmode</span></samp>’, ‘<samp><span class="samp">scrollmode</span></samp>’, or +‘<samp><span class="samp">errorstopmode</span></samp>’. + + <br><dt>‘<samp><span class="samp">-jobname=</span><var>string</var></samp>’<dd><a name="index-g_t_002djobname_003d_0040var_007bstring_007d-117"></a><a name="index-job-name-118"></a>Set the job name to <var>string</var>, instead of deriving it from the name +of the input file. + + <br><dt>‘<samp><span class="samp">-kpathsea-debug=</span><var>number</var></samp>’<dd><a name="index-g_t_002dkpathsea_002ddebug_003d_0040var_007bnumber_007d-119"></a><a name="index-KPATHSEA_005fDEBUG-120"></a><a name="index-debugging-flags_002c-specifying-121"></a><a name="index-path-searching-debugging-122"></a>Set path searching debugging flags according to the bits of <var>number</var> +(see <a href="kpathsea.html#Debugging">Debugging</a>). You can also specify this in +<code>KPATHSEA_DEBUG</code> environment variable (for all Web2c programs). +(The command line value overrides.) The most useful value is ‘<samp><span class="samp">-1</span></samp>’, +to get all available output. + + <br><dt>‘<samp><span class="samp">-output-directory=</span><var>dirname</var></samp>’<dd><a name="index-g_t_002doutput_002ddirectory-123"></a><a name="index-output-directory_002c-specifying-124"></a>Specify the directory <var>dirname</var> to which output files are written. +Also look for input files in <var>dirname</var> first, before looking along +the normal search path. See <a href="#Output-file-location">Output file location</a>. + + <br><dt>‘<samp><span class="samp">-parse-first-line</span></samp>’<dd><a name="index-g_t_002dparse_002dfirst_002dline-125"></a><dt>‘<samp><span class="samp">-no-parse-first-line</span></samp>’<dd><a name="index-g_t_002dno_002dparse_002dfirst_002dline-126"></a><a name="index-parsing-the-first-line-127"></a>Check or disable checking whether the first line of the main input +file starts with ‘<samp><span class="samp">%&</span></samp>’, and parse it if it does. This line can be +used specify the format and/or a TCX file. + + <br><dt>‘<samp><span class="samp">-progname=</span><var>string</var></samp>’<dd><a name="index-g_t_002dprogname_003d_0040var_007bstring_007d-128"></a><a name="index-binaries_002c-linking-129"></a><a name="index-linking-binaries-130"></a><a name="index-program-names_002c-special-131"></a>Set program (and memory dump) name to <var>string</var>. This may affect the +search paths and other values used (see <a href="kpathsea.html#Config-files">Config files</a>). Using this option is equivalent to making a link named +<var>string</var> to the binary and then invoking the binary under that +name. See <a href="#Memory-dumps">Memory dumps</a>. + + <br><dt>‘<samp><span class="samp">-recorder</span></samp>’<dd><a name="index-g_t_002drecorder-132"></a><a name="index-file-recorder-133"></a>Enable the filename recorder. This makes the program save a list of the +opened files into a file with (by default) extension ‘<samp><span class="samp">.fls</span></samp>’. For +Aleph, this option is always on, and the file has extension ‘<samp><span class="samp">.ofl</span></samp>’. + + <p>Ordinarily, the ‘<samp><span class="samp">.fls</span></samp>’ file is written to the same location as +the ‘<samp><span class="samp">.log</span></samp>’ file, for example, respecting +<samp><span class="option">-output-directory</span></samp> if it is given (see <a href="#Output-file-location">Output file location</a>). However, if TeX processing is done on the command line +(or in response to the ‘<samp><span class="samp">**</span></samp>’ prompt), the ‘<samp><span class="samp">.fls</span></samp>’ might be +written to the current directory, or include an integer (the current +pid), as in <samp><span class="file">texput1234.fls</span></samp>. You can use <samp><span class="option">-jobname</span></samp> to +explicitly set the basename. + + <br><dt>‘<samp><span class="samp">-translate-file=</span><var>tcxfile</var></samp>’<dd><a name="index-g_t_002dtranslate_002dfile_003d_0040var_007btcxfile_007d-134"></a><a name="index-translation-file-for-_0040TeX_007b_007d_002c-specifying-135"></a><a name="index-g_t_002etcx-_0040r_007bcharacter-translation-files_007d-136"></a><a name="index-first-line-of-the-main-input-file-137"></a>Use <var>tcxfile</var> to define which characters are printable and translations +between the internal and external character sets. Moreover, +<var>tcxfile</var> can be explicitly declared in the first line of the main +input file ‘<samp><span class="samp">%& -translate-file=</span><var>tcxfile</var></samp>’. +This is the recommended method for portability reasons. +See <a href="#TCX-files">TCX files</a>. + + <br><dt>‘<samp><span class="samp">-8bit</span></samp>’<dd><a name="index-g_t_002d8bit-138"></a><a name="index-g_t8-bit-clean-139"></a><a name="index-g_t8-bit-clean-output_002c-specifying-140"></a>This option specifies that by default all characters should be +considered printable. If ‘<samp><span class="samp">-translate-file</span></samp>’ was given as well, then the +TCX file may mark characters as non-printable. + + </dl> + +<div class="node"> +<a name="Path-searching"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Output-file-location">Output file location</a>, +Previous: <a rel="previous" accesskey="p" href="#Common-options">Common options</a>, +Up: <a rel="up" accesskey="u" href="#Commonalities">Commonalities</a> + +</div> + +<h3 class="section">3.3 Path searching</h3> + +<p><a name="index-path-searching-141"></a> +<a name="index-texmf_002ecnf-142"></a><a name="index-configuration-file-reading-143"></a>All of the Web2c programs, including TeX, which do path searching use +the Kpathsea routines to do so. The precise names of the environment +and configuration file variables which get searched for particular file +formatted are therefore documented in the Kpathsea manual +(see <a href="kpathsea.html#Supported-file-formats">Supported file formats</a>). Reading +<samp><span class="file">texmf.cnf</span></samp> (see <a href="kpathsea.html#Config-files">Config files</a>), invoking +<code>mktex...</code> scripts (see <a href="kpathsea.html#mktex-scripts">mktex scripts</a>), and so on are all handled by Kpathsea. + + <p><a name="index-font-aliases-144"></a><a name="index-aliases-for-fonts-145"></a><a name="index-texfonts_002emap-146"></a>The programs which read fonts make use of another Kpathsea feature: +<samp><span class="file">texfonts.map</span></samp>, which allows arbitrary aliases for the actual names +of font files; for example, ‘<samp><span class="samp">Times-Roman</span></samp>’ for ‘<samp><span class="samp">ptmr8r.tfm</span></samp>’. +The distributed (and installed by default) <samp><span class="file">texfonts.map</span></samp> includes +aliases for many widely available PostScript fonts by their PostScript +names. + +<div class="node"> +<a name="Output-file-location"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Three-programs">Three programs</a>, +Previous: <a rel="previous" accesskey="p" href="#Path-searching">Path searching</a>, +Up: <a rel="up" accesskey="u" href="#Commonalities">Commonalities</a> + +</div> + +<h3 class="section">3.4 Output file location</h3> + +<p><a name="index-output-file-location-147"></a><a name="index-current-directory_002c-used-for-output-148"></a><a name="index-g_t_002e_0040r_007b_002c-used-for-output_007d-149"></a>All the programs generally follow the usual convention for output files. +Namely, they are placed in the directory current when the program is +run, regardless of any input file location; or, in a few cases, output +is to standard output. + + <p>For example, if you run ‘<samp><span class="samp">tex /tmp/foo</span></samp>’, for example, the output +will be in <samp><span class="file">./foo.dvi</span></samp> and <samp><span class="file">./foo.log</span></samp>, not +<samp><span class="file">/tmp/foo.dvi</span></samp> and <samp><span class="file">/tmp/foo.log</span></samp>. + + <p><a name="index-g_t_002doutput_002ddirectory-150"></a><a name="index-output-directory_002c-specifying-151"></a><a name="index-readonly-directory_002c-running-_0040TeX_007b_007d-in-152"></a>You can use the ‘<samp><span class="samp">-output-directory</span></samp>’ option to cause all output +files that would normally be written in the current directory to be +written in the specified directory instead. See <a href="#Common-options">Common options</a>. + + <p><a name="index-TEXMFOUTPUT_0040r_007b_002c-used-if-_0040samp_007b_002e_007d-unwritable_007d-153"></a><a name="index-readonly-directory_002c-running-_0040TeX_007b_007d-in-154"></a>If the current directory is not writable, and ‘<samp><span class="samp">-output-directory</span></samp>’ +is not specified, the main programs (TeX, Metafont, MetaPost, and +BibTeX) make an exception: if the config file or environment +variable value <code>TEXMFOUTPUT</code> is set (it is not by default), +output files are written to the directory specified. + + <p><a name="index-TEXMFOUTPUT_0040r_007b_002c-used-for-reading_007d-155"></a><code>TEXMFOUTPUT</code> is also checked for input files, as TeX often +generates files that need to be subsequently read; for input, no +suffixes (such as ‘<samp><span class="samp">.tex</span></samp>’) are added by default and no exhaustive +path searching is done, the input name is +simply checked as given. + +<div class="node"> +<a name="Three-programs"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Output-file-location">Output file location</a>, +Up: <a rel="up" accesskey="u" href="#Commonalities">Commonalities</a> + +</div> + +<h3 class="section">3.5 Three programs: Metafont, MetaPost, and TeX</h3> + +<p><a name="index-three-programs-156"></a><a name="index-g_t_0040TeX_007b_007d_002c-Metafont_002c-and-MetaPost-157"></a><a name="index-Metafont_002c-MetaPost_002c-and-_0040TeX_007b_007d-158"></a><a name="index-MetaPost_002c-_0040TeX_007b_007d_002c-and-Metafont-159"></a> +TeX, Metafont, and MetaPost have a number of features in common. +Besides the ones here, the common command-line options are described in +the previous section. The configuration file options that let you +control some array sizes and other features are described in +<a href="#Runtime-options">Runtime options</a>. + +<ul class="menu"> +<li><a accesskey="1" href="#Initial-and-virgin">Initial and virgin</a>: Making memory dumps vs. production runs. +<li><a accesskey="2" href="#Memory-dumps">Memory dumps</a>: .fmt/.base files for fast startup. +<li><a accesskey="3" href="#Editor-invocation">Editor invocation</a>: The `e' response at errors. +<li><a accesskey="4" href="#g_t_005cinput-filenames">\input filenames</a>: ~ and $ expansion in TeX/MF/MP. +</ul> + +<div class="node"> +<a name="Initial-and-virgin"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Memory-dumps">Memory dumps</a>, +Up: <a rel="up" accesskey="u" href="#Three-programs">Three programs</a> + +</div> + +<h4 class="subsection">3.5.1 Initial and virgin</h4> + +<p><a name="index-executables_002c-shared-initial-and-virgin-160"></a>The TeX and Metafont programs each have two main variants, called +<dfn>initial</dfn> and <dfn>virgin</dfn>. MetaPost no longer makes this +distinction. + + <p>The initial form is enabled if: + <ol type=1 start=1> +<li><a name="index-g_t_002dini-161"></a>the ‘<samp><span class="samp">-ini</span></samp>’ option was specified; or +<li>the program name is <samp><span class="file">initex</span></samp> resp. <samp><span class="file">inimf</span></samp>; or +<li>the first line of the main input file is ‘<samp><span class="samp">%&ini</span></samp>’; + </ol> +otherwise, the virgin form is used. + + <p><a name="index-virgin-programs-162"></a><a name="index-production-use-163"></a>The <dfn>virgin</dfn> form is the one generally invoked for production use. +The first thing it does is read a memory dump (see <a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a>), and then proceeds on with the main job. + + <p><a name="index-initial-programs-164"></a><a name="index-initializations_002c-lengthy-165"></a>The <dfn>initial</dfn> form is generally used only to create memory dumps +(see the next section). It starts up more slowly than the virgin form, +because it must do lengthy initializations that are encapsulated in the +memory dump file. + +<div class="node"> +<a name="Memory-dumps"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Editor-invocation">Editor invocation</a>, +Previous: <a rel="previous" accesskey="p" href="#Initial-and-virgin">Initial and virgin</a>, +Up: <a rel="up" accesskey="u" href="#Three-programs">Three programs</a> + +</div> + +<h4 class="subsection">3.5.2 Memory dumps</h4> + +<p><a name="index-memory-dumps-166"></a> +<a name="index-dumping-memory-167"></a><a name="index-macros_002c-predefining-in-memory-dumps-168"></a><a name="index-predefined-macros-and-memory-dumps-169"></a>In typical use, TeX and Metafont require a large number of +macros to be predefined; therefore, they support <dfn>memory dump</dfn> +files, which can be read much more efficiently than ordinary source +code. + +<ul class="menu"> +<li><a accesskey="1" href="#Creating-memory-dumps">Creating memory dumps</a> +<li><a accesskey="2" href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a> +<li><a accesskey="3" href="#Hardware-and-memory-dumps">Hardware and memory dumps</a> +</ul> + +<div class="node"> +<a name="Creating-memory-dumps"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a>, +Up: <a rel="up" accesskey="u" href="#Memory-dumps">Memory dumps</a> + +</div> + +<h5 class="subsubsection">3.5.2.1 Creating memory dumps</h5> + +<p><a name="index-memory-dumps_002c-creating-170"></a><a name="index-creating-memory-dumps-171"></a><a name="index-writing-memory-dumps-172"></a> +The programs all create memory dumps in slightly idiosyncratic (thought +substantially similar) way, so we describe the details in separate +sections (references below). The basic idea is to run the initial +version of the program (see <a href="#Initial-and-virgin">Initial and virgin</a>), read the source +file to define the macros, and then execute the <code>\dump</code> primitive. + + <p>Also, each program uses a different filename extension for its memory +dumps, since although they are completely analogous they are not +interchangeable (TeX cannot read a Metafont memory dump, for +example). + + <p>Here is a list of filename extensions with references to examples of +creating memory dumps: + + <dl> +<dt>TeX<dd>(‘<samp><span class="samp">.fmt</span></samp>’) See <a href="#Initial-TeX">Initial TeX</a>. + + <br><dt>Metafont<dd>(‘<samp><span class="samp">.base</span></samp>’) See <a href="#Initial-Metafont">Initial Metafont</a>. +</dl> + + <p>When making memory dumps, the programs read environment variables and +configuration files for path searching and other values as usual. If +you are making a new installation and have environment variables +pointing to an old one, for example, you will probably run into +difficulties. + +<div class="node"> +<a name="Determining-the-memory-dump-to-use"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Hardware-and-memory-dumps">Hardware and memory dumps</a>, +Previous: <a rel="previous" accesskey="p" href="#Creating-memory-dumps">Creating memory dumps</a>, +Up: <a rel="up" accesskey="u" href="#Memory-dumps">Memory dumps</a> + +</div> + +<h5 class="subsubsection">3.5.2.2 Determining the memory dump to use</h5> + +<p><a name="index-memory-dump-to-use_002c-determining-173"></a><a name="index-fmt-file_002c-determining-174"></a><a name="index-base-file_002c-determining-175"></a><a name="index-mem-file_002c-determining-176"></a> +The virgin form (see <a href="#Initial-and-virgin">Initial and virgin</a>) of each program always +reads a memory dump before processing normal source input. All three +programs determine the memory dump to use in the same way: + + <ol type=1 start=1> +<li>If the first non-option command-line argument begins with ‘<samp><span class="samp">&</span></samp>’, the +program uses the remainder of that argument as the memory dump name. +For example, running ‘<samp><span class="samp">tex \&super</span></samp>’ reads <samp><span class="file">super.fmt</span></samp>. (The +backslash protects the ‘<samp><span class="samp">&</span></samp>’ against interpretation by the shell.) + + <li><a name="index-g_t_002dfmt_003d_0040var_007bfmt_007d-177"></a><a name="index-g_t_002dbase_003d_0040var_007bbase_007d-178"></a>If the ‘<samp><span class="samp">-fmt</span></samp>’ resp. ‘<samp><span class="samp">-base</span></samp>’ option is +specified, its value is used. + + <li><a name="index-g_t_002dprogname_003d_0040var_007bstring_007d-179"></a>If the ‘<samp><span class="samp">-progname</span></samp>’ option is specified, its value is used. + + <li><a name="index-g_t_0025_0026-_0040r_007bmagic-number_007d-180"></a>If the first line of the main input file (which must be specified on the +command line, not in response to ‘<samp><span class="samp">**</span></samp>’) is <code>%&</code><var>dump</var>, and +<var>dump</var> is an existing memory dump of the appropriate type, +<var>dump</var> is used. + + <p>The first line of the main input file can also specify which character +translation file is to be used: <code>%&-translate-file=</code><var>tcxfile</var> +(see <a href="#TCX-files">TCX files</a>). + + <p>These two roles can be combined: <code>%&</code><var>dump</var><code> +-translate-file=</code><var>tcxfile</var>. If this is done, the name of the dump +must be given first. + + <li><a name="index-program-name_002c-determines-memory-dump-181"></a><a name="index-links-to-binaries-182"></a>Otherwise, the program uses the program invocation name, most commonly +<samp><span class="file">tex</span></samp> resp. <samp><span class="file">mf</span></samp>. For example, if <samp><span class="file">latex</span></samp> is a link +to <samp><span class="file">tex</span></samp>, and the user runs ‘<samp><span class="samp">latex foo</span></samp>’, <samp><span class="file">latex.fmt</span></samp> +will be used. + + </ol> + +<div class="node"> +<a name="Hardware-and-memory-dumps"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a>, +Up: <a rel="up" accesskey="u" href="#Memory-dumps">Memory dumps</a> + +</div> + +<h5 class="subsubsection">3.5.2.3 Hardware and memory dumps</h5> + +<p><a name="index-hardware-and-memory-dumps-183"></a><a name="index-memory-dumps-and-hardware-184"></a><a name="index-sharing-memory-dumps-185"></a><a name="index-fmt-files_002c-sharing-186"></a><a name="index-base-files_002c-sharing-187"></a><a name="index-mem-files_002c-sharing-188"></a> +<a name="index-LittleEndian-machines-189"></a><a name="index-BigEndian-machines-190"></a><a name="index-endian-dependencies-191"></a><a name="index-machine-dependencies-192"></a><a name="index-architecture-dependencies-193"></a><a name="index-dependencies_002c-hardware-194"></a><a name="index-g_t_002d_002ddisable_002ddump_002dshare-configure-_0040r_007boption_007d-195"></a>By default, memory dump files are generally sharable between +architectures of different types; specifically, on machines of different +endianness (see <a href="libc.html#Byte-order">Byte order</a>). (This is a +feature of the Web2c implementation, and is not true of all TeX +implementations.) If you specify ‘<samp><span class="samp">--disable-dump-share</span></samp>’ to +<code>configure</code>, however, memory dumps will be endian-dependent. + + <p><a name="index-byte-swapping-196"></a><a name="index-swapping-bytes-197"></a>The reason to do this is speed. To achieve endian-independence, the +reading of memory dumps on LittleEndian architectures, such as PC's and +DEC architectures, is somewhat slowed (all the multibyte values have to +be swapped). Usually, this is not noticeable, and the advantage of +being able to share memory dumps across all platforms at a site far +outweighs the speed loss. But if you're installing Web2c for use on +LittleEndian machines only, perhaps on a PC being used only by you, you +may wish to get maximum speed. + + <p><a name="index-floating_002dpoint-values-198"></a><a name="index-glue-ratio-representations-199"></a>TeXnically, even without ‘<samp><span class="samp">--disable-dump-share</span></samp>’, sharing of +<samp><span class="file">.fmt</span></samp> files cannot be guaranteed to work. Floating-point values +are always written in native format, and hence will generally not be +readable across platforms. Fortunately, TeX uses floating point +only to represent glue ratios, and all common formats (plain, +LaTeX, AMSTeX, <small class="dots">...</small>) do not do any glue setting at +<samp><span class="file">.fmt</span></samp>-creation time. Metafont does not use floating point in +any dumped value at all. + + <p><a name="index-date-and-time_002c-in-memory-dumps-200"></a><a name="index-time-and-date_002c-in-memory-dumps-201"></a><a name="index-memory-dumps_002c-contain-date-and-time-202"></a>Incidentally, different memory dump files will never compare equal +byte-for-byte, because the program always dumps the current date and +time. So don't be alarmed by just a few bytes difference. + + <p><a name="index-Harbison_002c-Samuel-P_002e-203"></a><a name="index-Steele-Jr_002e_002c-Guy-L_002e-204"></a>If you don't know what endianness your machine is, and you're curious, +here is a little C program to tell you. (The <code>configure</code> script +contains a similar program.) This is from the book <cite>C: A Reference +Manual</cite>, by Samuel P. Harbison and Guy L. Steele +Jr. (see <a href="#References">References</a>). + +<pre class="example"> main () + { + /* Are we little or big endian? From Harbison&Steele. */ + union + { + long l; + char c[sizeof (long)]; + } u; + u.l = 1; + if (u.c[0] == 1) + printf ("LittleEndian\n"); + else if (u.c[sizeof (long) - 1] == 1) + printf ("BigEndian\n"); + else + printf ("unknownEndian"); + + exit (u.c[sizeof (long) - 1] == 1); + } +</pre> + <div class="node"> +<a name="Editor-invocation"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#g_t_005cinput-filenames">\input filenames</a>, +Previous: <a rel="previous" accesskey="p" href="#Memory-dumps">Memory dumps</a>, +Up: <a rel="up" accesskey="u" href="#Three-programs">Three programs</a> + +</div> + +<h4 class="subsection">3.5.3 Editor invocation</h4> + +<p><a name="index-editor-invoked-at-error-205"></a><a name="index-errors_002c-editor-invoked-at-206"></a><a name="index-e-_0040r_007bresponse-at-error-prompt_007d-207"></a> +TeX, Metafont, and MetaPost all (by default) stop and ask for user +intervention at an error. If the input came from a file, and the user +responds with <kbd>e</kbd> or <kbd>E</kbd>, the program invokes an editor. + + <p><a name="index-TEXEDIT-208"></a><a name="index-MFEDIT-209"></a><a name="index-MPEDIT-210"></a><a name="index-g_t_002d_002dwith_002deditor_003d_0040var_007bcmd_007d-211"></a>Specifying ‘<samp><span class="samp">--with-editor=</span><var>cmd</var></samp>’ to <code>configure</code> sets the +default editor command string to <var>cmd</var>. The environment +variables/configuration values <code>TEXEDIT</code>, <code>MFEDIT</code>, and +<code>MPEDIT</code> (respectively) override this. If ‘<samp><span class="samp">--with-editor</span></samp>’ is +not specified, the default is <code>vi +%d %s</code> on Unix, and an +invocation of the TeXworks editor on Windows. (See +<samp><span class="file">texmf.cnf</span></samp> for the precise values.) + + <p>In this string, ‘<samp><span class="samp">%d</span></samp>’ is replaced by the line number of the error, +and ‘<samp><span class="samp">%s</span></samp>’ is replaced by the name of the current input file. + +<div class="node"> +<a name="%5cinput-filenames"></a> +<a name="g_t_005cinput-filenames"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Editor-invocation">Editor invocation</a>, +Up: <a rel="up" accesskey="u" href="#Three-programs">Three programs</a> + +</div> + +<h4 class="subsection">3.5.4 <code>\input</code> filenames</h4> + +<p><a name="index-input-filenames-212"></a><a name="index-filename-conventions_002c-in-input-files-213"></a><a name="index-g_t_005cinput-_0040r_007bfilenames_007d-214"></a> +TeX, Metafont, and MetaPost source programs can all read other source +files with the <code>\input</code> (TeX) and <code>input</code> (MF and MP) +primitives: +<pre class="example"> \input <var>name</var> % in TeX +</pre> + <p><a name="index-space_002dterminated-filenames-215"></a><a name="index-whitespace_002dterminated-filenames-216"></a><a name="index-terminator-for-filenames-217"></a>The file <var>name</var> can always be terminated with whitespace; for +Metafont and MetaPost, the statement terminator ‘<samp><span class="samp">;</span></samp>’ also works. +(LaTeX and other macro packages provide other interfaces to +<code>\input</code> that allow different notation; here we are concerned only +with the primitive operation.) + + <p>As of Web2c version 7.5.3, double-quote characters can be used to +include spaces or other special cases. In typical use, the ‘<samp><span class="samp">"</span></samp>’ +characters surround the entire filename: +<pre class="example"> \input "filename with spaces" +</pre> + <p>Technically, the quote characters can be used inside the name, and +can enclose any characters, as in: +<pre class="example"> \input filename" "with" "spaces +</pre> + <p>One more point. In LaTeX, the quotes are needed inside the braces, thus +<pre class="example"> \input{a b} % fails + \input{"a b"} % ok +</pre> + <p>This quoting mechanism comes into play <em>after</em> TeX has +tokenized and expanded the input. So, multiple spaces and tabs may be +seen as a single space, active characters such as ‘<samp><span class="samp">~</span></samp>’ are +expanded first, and so on. (See below.) + + <p><a name="index-NUL_002c-not-allowed-in-filenames-218"></a><a name="index-eight_002dbit-characters-in-filenames-219"></a><a name="index-meta-characters-in-filenames-220"></a>On the other hand, various C library routines and Unix itself use the null +byte (character code zero, ASCII NUL) to terminate strings. So +filenames in Web2c cannot contain nulls, even though TeX itself does +not treat NUL specially. +In addition, some older Unix variants do not allow eight-bit characters +(codes 128–255) in filenames. + + <p><a name="index-portable-filenames-221"></a>For maximal portability of your document across systems, use only the +characters ‘<samp><span class="samp">a</span></samp>’–‘<samp><span class="samp">z</span></samp>’, ‘<samp><span class="samp">0</span></samp>’–‘<samp><span class="samp">9</span></samp>’, and ‘<samp><span class="samp">.</span></samp>’, and +restrict your filenames to at most eight characters (not including the +extension), and at most a three-character extension. Do not use +anything but simple filenames, since directory separators vary among +systems; instead, add the necessary directories to the appropriate +search path. + + <p><a name="index-g_t_007e-_0040r_007bexpansion-in-filenames_007d-222"></a><a name="index-g_t_0024-_0040r_007bexpansion-in-filenames_007d-223"></a>Finally, the present Web2c implementation does ‘<samp><span class="samp">~</span></samp>’ and ‘<samp><span class="samp">$</span></samp>’ +expansion on <var>name</var>, unlike Knuth's original implementation and +older versions of Web2c. Thus: +<pre class="example"> \input ~jsmith/$foo.bar +</pre> + <p>will dereference the environment variable or Kpathsea config file value +‘<samp><span class="samp">foo</span></samp>’ and read that file extended with ‘<samp><span class="samp">.bar</span></samp>’ in user +‘<samp><span class="samp">jsmith</span></samp>’'s home directory. You can also use braces, as in +‘<samp><span class="samp">${foo}bar</span></samp>’, if you want to follow the variable name with a letter, +numeral, or ‘<samp><span class="samp">_</span></samp>’. + + <p>(So another way to get a program to read a filename containing +whitespace is to define an environment variable and dereference it.) + + <p><a name="index-g_t_005cstring-224"></a>In all the common TeX formats (plain TeX, LaTeX, AMSTeX), +the characters ‘<samp><span class="samp">~</span></samp>’ and ‘<samp><span class="samp">$</span></samp>’ have special category codes, so to +actually use these in a document you have to change their catcodes or +use <code>\string</code>. (The result is unportable anyway, see the +suggestions above.) The place where they are most likely to be useful +is when typing interactively. + +<div class="node"> +<a name="TeX"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Metafont">Metafont</a>, +Previous: <a rel="previous" accesskey="p" href="#Commonalities">Commonalities</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">4 TeX: Typesetting</h2> + +<p><a name="index-g_t_0040TeX_007b_007d_002c-description-of-225"></a><a name="index-typesetting-226"></a><a name="index-mathematical-typesetting-227"></a> +TeX is a typesetting system: it was especially designed to handle +complex mathematics, as well as most ordinary text typesetting. + + <p><a name="index-batch-languages-228"></a><a name="index-word-processor_002c-not-229"></a>TeX is a batch language, like C or Pascal, and not an interactive +“word processor”: you compile a TeX input file into a corresponding +device-independent (DVI) file (and then translate the DVI file to the +commands for a particular output device). This approach has both +considerable disadvantages and considerable advantages. For a complete +description of the TeX language, see <cite>The TeXbook</cite> +(see <a href="#References">References</a>). Many other books on TeX, introductory and +otherwise, are available. + +<ul class="menu"> +<li><a accesskey="1" href="#tex-invocation">tex invocation</a>: Invoking TeX. +<li><a accesskey="2" href="#Initial-TeX">Initial TeX</a>: Making format files. +<li><a accesskey="3" href="#Formats">Formats</a>: Major TeX macro packages. +<li><a accesskey="4" href="#Languages-and-hyphenation">Languages and hyphenation</a>: TeX supports many human languages. +<li><a accesskey="5" href="#Shell-escapes">Shell escapes</a>: Running subprograms from TeX. +<li><a accesskey="6" href="#IPC-and-TeX">IPC and TeX</a>: DVI output to a socket. +<li><a accesskey="7" href="#TeX-extensions">TeX extensions</a>: Changes to the TeX language. +</ul> + +<div class="node"> +<a name="tex-invocation"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Initial-TeX">Initial TeX</a>, +Up: <a rel="up" accesskey="u" href="#TeX">TeX</a> + +</div> + +<h3 class="section">4.1 <code>tex</code> invocation</h3> + +<p><a name="index-tex-230"></a><a name="index-g_t_0040TeX_007b_007d_002c-invocation-231"></a> +TeX (usually invoked as <code>tex</code>) formats the given text and +commands, and outputs a corresponding device-independent representation +of the typeset document. This section merely describes the options +available in the Web2c implementation. For a complete description of +the TeX typesetting language, see <cite>The TeXbook</cite> +(see <a href="#References">References</a>). + + <p>TeX, Metafont, and MetaPost process the command line (described +here) and determine their memory dump (fmt) file in the same way +(see <a href="#Memory-dumps">Memory dumps</a>). Synopses: + +<pre class="example"> tex [<var>option</var>]... [<var>texname</var>[.tex]] [<var>tex-commands</var>] + tex [<var>option</var>]... \<var>first-line</var> + tex [<var>option</var>]... &<var>fmt</var> <var>args</var> +</pre> + <p><a name="index-g_t_002etex-232"></a><a name="index-g_t_0040TeX_007b_007d_002c-input-files-found-233"></a>TeX searches the usual places for the main input file <var>texname</var> +(see <a href="kpathsea.html#Supported-file-formats">Supported file formats</a>), extending +<var>texname</var> with <samp><span class="file">.tex</span></samp> if necessary. To see all the +relevant paths, set the environment variable <code>KPATHSEA_DEBUG</code> to +‘<samp><span class="samp">-1</span></samp>’ before running the program. + + <p>After <var>texname</var> is read, TeX processes any remaining +<var>tex-commands</var> on the command line as regular TeX input. Also, +if the first non-option argument begins with a TeX escape character +(usually <code>\</code>), TeX processes all non-option command-line +arguments as a line of regular TeX input. + + <p>If no arguments or options are specified, TeX prompts for an +input file name with ‘<samp><span class="samp">**</span></samp>’. + + <p><a name="index-texput-234"></a>TeX writes the main DVI output to the file +<samp><var>basetexname</var><span class="file">.dvi</span></samp>, where <var>basetexname</var> is the basename of +<var>texname</var>, or ‘<samp><span class="samp">texput</span></samp>’ if no input file was specified. A DVI +file is a device-independent binary representation of your TeX +document. The idea is that after running TeX, you translate the DVI +file using a separate program to the commands for a particular output +device, such as a PostScript printer +(see <a href="dvips.html#Top">Introduction</a>) or an X Window System display +(see xdvi(1)). + + <p><a name="index-EC-fonts-235"></a><a name="index-mktextfM_0040r_007b_002c-disabling_007d-236"></a><a name="index-g_t_005cfont-_0040r_007band-dynamic-generation_007d-237"></a>TeX also reads TFM files for any fonts you load in your document with +the <code>\font</code> primitive. By default, it runs an external program +named <samp><span class="file">mktextfm</span></samp> to create any nonexistent TFM files. You can +disable this at configure-time or runtime (see <a href="kpathsea.html#mktex-configuration">mktex configuration</a>). This is enabled mostly for the +sake of the EC fonts, which can be generated at any size. + + <p><a name="index-g_t_005copenout-_0040r_007band-security_007d-238"></a><a name="index-security_002c-and-_0040code_007b_005copenout_007d-239"></a><a name="index-output-files_002c-written-by-_0040TeX_007b_007d-programs-240"></a><a name="index-Trojan-horses-and-_0040TeX_007b_007d-programs-241"></a><a name="index-dot-files_002c-written-by-_0040TeX_007b_007d-programs-242"></a><a name="index-security_002c-and-output-files-243"></a>TeX can write output files, via the <code>\openout</code> primitive; this opens +a security hole vulnerable to Trojan horse attack: an unwitting user could +run a TeX program that overwrites, say, <samp><span class="file">~/.rhosts</span></samp>. (MetaPost has +a <code>write</code> primitive with similar implications). To alleviate this and +similar problems the functions <code>kpathsea_out_name_ok</code> and +<code>kpathsea_in_name_ok</code> from the Kpathse library (see <a href="kpathsea.html#Calling-sequence">Calling sequence</a>) are used to determine if a given filename +is acceptable to be opened for output or input, depending on the setting of +the configuration variables <code>openout_any</code> and <code>openin_any</code>: +‘<samp><span class="samp">a</span></samp>’ (for “any”, the default for <code>openin_any</code>), ‘<samp><span class="samp">r</span></samp>’ (for +“restricted”), or ‘<samp><span class="samp">p</span></samp>’ (for “paranoid”, the default for +<code>openout_any</code>). + + <p>In any case, all <code>\openout</code> filenames are recorded in the log file, +except those opened on the first line of input, which is processed when +the log file has not yet been opened. + + <p>The program accepts the following options, as well as the standard +‘<samp><span class="samp">-help</span></samp>’ and ‘<samp><span class="samp">-version</span></samp>’ (see <a href="#Common-options">Common options</a>): + <dl> +<dt>‘<samp><span class="samp">-enc</span></samp>’<dt>‘<samp><span class="samp">-[no]-file-line-error</span></samp>’<dt>‘<samp><span class="samp">-fmt=</span><var>fmtname</var></samp>’<dt>‘<samp><span class="samp">-halt-on-error</span></samp>’<dt>‘<samp><span class="samp">-ini</span></samp>’<dt>‘<samp><span class="samp">-interaction=</span><var>string</var></samp>’<dt>‘<samp><span class="samp">-ipc</span></samp>’<dt>‘<samp><span class="samp">-ipc-start</span></samp>’<dt>‘<samp><span class="samp">-jobname=</span><var>string</var></samp>’<dt>‘<samp><span class="samp">-kpathsea-debug=</span><var>number</var></samp>’<dt>‘<samp><span class="samp">-[no]parse-first-line</span></samp>’<dt>‘<samp><span class="samp">-output-directory</span></samp>’<dt>‘<samp><span class="samp">-progname=</span><var>string</var></samp>’<dt>‘<samp><span class="samp">-recorder</span></samp>’<dt>‘<samp><span class="samp">-translate-file=</span><var>tcxfile</var></samp>’<dt>‘<samp><span class="samp">-8bit</span></samp>’<dd>These options are common to TeX, Metafont, and MetaPost. +See <a href="#Common-options">Common options</a>. + + <br><dt>‘<samp><span class="samp">-enc</span></samp>’<dd><a name="index-g_t_002denc-244"></a><a name="index-Unicode-input-245"></a><a name="index-UTF_002d8-input-246"></a>Enable encTeX extensions, such as <code>\mubyte</code>. This can be used +to support Unicode UTF-8 input encoding. See +<a href="http://www.olsak.net/enctex.html">http://www.olsak.net/enctex.html</a>. + + <br><dt>‘<samp><span class="samp">-ipc</span></samp>’<dt>‘<samp><span class="samp">-ipc-start</span></samp>’<dd><a name="index-g_t_002dipc-247"></a><a name="index-g_t_002dipc_002dstart-248"></a><a name="index-g_t_002d_002denable_002dipc-configure-_0040r_007boption_007d-249"></a>With either option, TeX writes its DVI output to a socket as well as +to the usual <samp><span class="file">.dvi</span></samp> file. With ‘<samp><span class="samp">-ipc-start</span></samp>’, TeX also +opens a server program at the other end to read the output. See <a href="#IPC-and-TeX">IPC and TeX</a>. + + <p>These options are available only if the ‘<samp><span class="samp">--enable-ipc</span></samp>’ option was +specified to <code>configure</code> during installation of Web2c. + + <br><dt>‘<samp><span class="samp">-mktex=</span><var>filetype</var></samp>’<dt>‘<samp><span class="samp">-no-mktex=</span><var>filetype</var></samp>’<dd><a name="index-g_t_002dmktex_003d_0040var_007bfiletype_007d-250"></a><a name="index-g_t_002dno_002dmktex_003d_0040var_007bfiletype_007d-251"></a>Turn on or off the ‘<samp><span class="samp">mktex</span></samp>’ script associated with <var>filetype</var>. +For TeX proper, <var>filetype</var> can only be ‘<samp><span class="samp">tex</span></samp>’ and +‘<samp><span class="samp">tfm</span></samp>’, but for pdfTeX and luaTeX, it can also be ‘<samp><span class="samp">pk</span></samp>’. + + <br><dt>‘<samp><span class="samp">-mltex</span></samp>’<dd><a name="index-g_t_002dmltex-252"></a><a name="index-ML_0040TeX_007b_007d_002c-enabling-253"></a><a name="index-program-names_002c-special-254"></a>If we are <code>INITEX</code> (see <a href="#Initial-and-virgin">Initial and virgin</a>), enable MLTeX +extensions such as <code>\charsubdef</code>. Implicitly set if the program +name is <code>mltex</code>. See <a href="#MLTeX">MLTeX</a>. + + <br><dt>‘<samp><span class="samp">-output-comment=</span><var>string</var></samp>’<dd><a name="index-g_t_002doutput_002dcomment_003d_0040var_007bstring_007d-255"></a><a name="index-output_005fcomment-_0040r_007bfor-DVI-files_007d-256"></a><a name="index-DVI-comment_002c-specifying-257"></a><a name="index-regression-testing-258"></a>Use <var>string</var> as the DVI file comment. Ordinarily, this comment +records the date and time of the TeX run, but if you are doing +regression testing, you may not want the DVI file to have this spurious +difference. This is also taken from the environment variable and +config file value ‘<samp><span class="samp">output_comment</span></samp>’. + + <br><dt>‘<samp><span class="samp">-shell-escape</span></samp>’<dd><a name="index-g_t_002dshell_002descape-259"></a><dt>‘<samp><span class="samp">-no-shell-escape</span></samp>’<dd><a name="index-g_t_002dno_002dshell_002descape-260"></a><dt>‘<samp><span class="samp">-shell-restricted</span></samp>’<dd><a name="index-g_t_002dshell_002drestricted-261"></a>Enable, or disable, or enable with restrictions the +<code>\write18{</code><var>shell-command</var><code>}</code> feature for external executing +shell commands. See <a href="#Shell-escapes">Shell escapes</a>. + + <br><dt>‘<samp><span class="samp">-enable-write18</span></samp>’<dd><a name="index-g_t_002denable_002dwrite18-262"></a><dt>‘<samp><span class="samp">-disable-write18</span></samp>’<dd><a name="index-g_t_002ddisable_002dwrite18-263"></a>Synonyms for <samp><span class="option">-shell-escape</span></samp> and <samp><span class="option">-no-shell-escape</span></samp>, for +compatibility with MiKTeX. (MiKTeX also accepts both pairs of +options.) See <a href="#Shell-escapes">Shell escapes</a>. + + <br><dt>‘<samp><span class="samp">-src-specials</span></samp>’<dt>‘<samp><span class="samp">-src-specials=</span><var>string</var></samp>’<dd><a name="index-generating-source-specials-264"></a>This option makes TeX output specific source information using +‘<samp><span class="samp">\special</span></samp>’ commands in the DVI file. These ‘<samp><span class="samp">\special</span></samp>’ track +the current file name and line number. + + <p>Using the first form of this option, the ‘<samp><span class="samp">\special</span></samp>’ commands are +inserted automatically. + + <p>In the second form of the option, <var>string</var> is +a comma separated list of the following values: ‘<samp><span class="samp">cr</span></samp>’, +‘<samp><span class="samp">display</span></samp>’, ‘<samp><span class="samp">hbox</span></samp>’, ‘<samp><span class="samp">math</span></samp>’, ‘<samp><span class="samp">par</span></samp>’, ‘<samp><span class="samp">parend</span></samp>’, +‘<samp><span class="samp">vbox</span></samp>’. You can use this list to specify where you want TeX to +output such commands. For example, ‘<samp><span class="samp">-src-specials=cr,math</span></samp>’ will +output source information every line and every math formula. + + <p>These commands can be used with the appropriate DVI viewer and text +editor to switch from the current position in the editor to the same +position in the viewer and back from the viewer +to the editor. + + <p>This option works by inserting ‘<samp><span class="samp">\special</span></samp>’ commands into the token +stream, and thus in principle these additional tokens can be recovered +or seen by the tricky-enough macros. If you run across a case, let us +know, because this counts as a bug. However, such bugs are very hard +to fix, requiring significant changes to TeX, so please don't count +on it. + + <p>Redefining ‘<samp><span class="samp">\special</span></samp>’ will not affect the functioning of this +option. The commands inserted into the token stream are +hard-coded to always use the ‘<samp><span class="samp">\special</span></samp>’ primitive. + + <p>TeX does not pass the trip test when this option is enabled. + + </dl> + +<div class="node"> +<a name="Initial-TeX"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Formats">Formats</a>, +Previous: <a rel="previous" accesskey="p" href="#tex-invocation">tex invocation</a>, +Up: <a rel="up" accesskey="u" href="#TeX">TeX</a> + +</div> + +<h3 class="section">4.2 Initial TeX</h3> + +<p><a name="index-initial-_0040TeX_007b_007d-265"></a><a name="index-g_t_0040TeX_007b_007d_002c-initial-266"></a> +<a name="index-g_t_002efmt-267"></a><a name="index-fmt-files-268"></a>The <dfn>initial</dfn> form of TeX is invoked by ‘<samp><span class="samp">tex -ini</span></samp>’. It +does lengthy initializations avoided by the “virgin” (<code>vir</code>) +form, so as to be capable of dumping ‘<samp><span class="samp">.fmt</span></samp>’ files (see <a href="#Memory-dumps">Memory dumps</a>). For a detailed comparison of virgin and initial forms, +see <a href="#Initial-and-virgin">Initial and virgin</a>. In past releases, a separate program +<samp><span class="command">initex</span></samp> was installed to invoke the initial form, but this is +no longer the case. + + <p>For a list of options and other information, see <a href="#tex-invocation">tex invocation</a>. + + <p><a name="index-plain_002efmt-269"></a><a name="index-tex_002efmt-270"></a><a name="index-format-files-271"></a>Unlike Metafont and MetaPost, many format files are commonly used with +TeX. The standard one implementing the features described in the +<cite>TeXbook</cite> is ‘<samp><span class="samp">plain.fmt</span></samp>’, also known as ‘<samp><span class="samp">tex.fmt</span></samp>’ +(again, see <a href="#Memory-dumps">Memory dumps</a>). It is created by default during +installation, but you can also do so by hand if necessary (e.g., if an +update to <samp><span class="file">plain.tex</span></samp> is issued): +<pre class="example"> tex -ini '\input plain \dump' +</pre> + <p class="noindent">(The quotes prevent interpretation of the backslashes from the shell.) +Then install the resulting <samp><span class="file">plain.fmt</span></samp> in ‘<samp><span class="samp">$(fmtdir)</span></samp>’ +(<samp><span class="file">/usr/local/share/texmf/web2c</span></samp> by default), and link +<samp><span class="file">tex.fmt</span></samp> to it. + + <p>The necessary invocation for generating a format file differs for each +format, so instructions that come with the format should explain. The +top-level <samp><span class="file">web2c</span></samp> Makefile has targets for making most common +formats: <tt>plain latex amstex texinfo eplain</tt>. See <a href="#Formats">Formats</a>, for +more details on TeX formats. + +<div class="node"> +<a name="Formats"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Languages-and-hyphenation">Languages and hyphenation</a>, +Previous: <a rel="previous" accesskey="p" href="#Initial-TeX">Initial TeX</a>, +Up: <a rel="up" accesskey="u" href="#TeX">TeX</a> + +</div> + +<h3 class="section">4.3 Formats</h3> + +<p><a name="index-formats-for-_0040TeX_007b_007d-272"></a><a name="index-g_t_0040TeX_007b_007d_002c-format-packages-for-273"></a><a name="index-macro-packages_002c-major-_0040TeX_007b_007d-274"></a> +TeX <dfn>formats</dfn> are large collections of macros, often dumped +into a <samp><span class="file">.fmt</span></samp> file (see <a href="#Memory-dumps">Memory dumps</a>) by <code>tex -ini</code> +(see <a href="#Initial-TeX">Initial TeX</a>). A number of formats are in reasonably +widespread use, and the Web2c Makefile has targets to make the versions +current at the time of release. You can change which formats are +automatically built by setting the <code>fmts</code> Make variable; by default, +only the ‘<samp><span class="samp">plain</span></samp>’ and ‘<samp><span class="samp">latex</span></samp>’ formats are made. + + <p>You can get the latest versions of most of these formats from the CTAN +archives in subdirectories of <samp><var>CTAN:</var><span class="file">/macros</span></samp> (for CTAN info, +see <a href="kpathsea.html#unixtex_002eftp">unixtex.ftp</a>). The archive +<a href="ftp://ftp.tug.org/tex/lib.tar.gz">ftp://ftp.tug.org/tex/lib.tar.gz</a> (also available from CTAN) +contains most of these formats (although perhaps not the absolute latest +version), among other things. + + <dl> +<dt><tt>latex</tt><dd><a name="index-g_t_0040LaTeX_007b_007d-275"></a>The most widely used format. The current release is named `LaTeX +2e'; new versions are released approximately every six months, with +patches issued as needed. The old release was called `LaTeX 2.09', +and is no longer maintained or supported. LaTeX attempts to provide +generic markup instructions, such as “emphasize”, instead of specific +typesetting instructions, such as “use the 10<span class="dmn">pt</span> Computer Modern +italic font”. The LaTeX home page: <a href="http://www.latex-project.org">http://www.latex-project.org</a>. + + <br><dt><tt>context</tt><dd>ConTeXt is an independent macro package which has a basic document +structuring approach similar to LaTeX. It also supports creating +interactive PDF files and has integrated MetaPost support, among many +other interesting features. The ConTeXt home page: +<a href="http://www.pragma-ade.com">http://www.pragma-ade.com</a>. + + <br><dt><tt>amstex</tt><dd><a name="index-AMS_0040TeX_007b_007d-276"></a><a name="index-American-Mathematical-Society_002c-typesetting-system-277"></a><a name="index-Mathematical-Reviews-278"></a>The official typesetting system of the American Mathematical Society. +Like LaTeX, it encourages generic markup commands. The AMS also +provides many LaTeX package for authors who prefer LaTeX. Taken +together, they are used to produce nearly all AMS publications, e.g., +<cite>Mathematical Reviews</cite>. The AMSTeX home page: +<a href="http://www.ams.org/tex">http://www.ams.org/tex</a>. + + <br><dt><tt>texinfo</tt><dd><a name="index-Texinfo-279"></a><a name="index-Info-format-280"></a><a name="index-Free-Software-Foundation-documentation-system-281"></a>The documentation system developed and maintained by the Free Software +Foundation for their software manuals. It can be automatically +converted into plain text, a machine-readable on-line format called +`info', HTML, etc. The Texinfo home page: +<a href="http://www.gnu.org/software/texinfo">http://www.gnu.org/software/texinfo</a>. + + <br><dt><tt>eplain</tt><dd><a name="index-Eplain-282"></a><a name="index-expanded-plain-format-283"></a>The “expanded plain” format provides various common features (e.g., +symbolic cross-referencing, tables of contents, indexing, citations +using BibTeX), for those authors who prefer to handle their own +high-level formatting. The Eplain home page: +<a href="http://www.tug.org/eplain">http://www.tug.org/eplain</a>. + + <br><dt><tt>slitex</tt><dd><a name="index-Sli_0040TeX_007b_007d-284"></a><a name="index-slides_002c-producing-285"></a>An obsolete LaTeX 2.09 format for making slides. It is replaced by +the ‘<samp><span class="samp">slides</span></samp>’ document class, along with the ‘<samp><span class="samp">beamer</span></samp>’, +‘<samp><span class="samp">texpower</span></samp>’, and other packages. + + </dl> + +<div class="node"> +<a name="Languages-and-hyphenation"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Shell-escapes">Shell escapes</a>, +Previous: <a rel="previous" accesskey="p" href="#Formats">Formats</a>, +Up: <a rel="up" accesskey="u" href="#TeX">TeX</a> + +</div> + +<h3 class="section">4.4 Languages and hyphenation</h3> + +<p><a name="index-language-support-in-_0040TeX_007b_007d-286"></a><a name="index-human-languages_002c-supported-in-_0040TeX_007b_007d-287"></a><a name="index-hyphenation-and-languages-288"></a> +TeX supports most natural languages. See also <a href="#TeX-extensions">TeX extensions</a>. + +<ul class="menu"> +<li><a accesskey="1" href="#MLTeX">MLTeX</a>: Multi-lingual TeX. +<li><a accesskey="2" href="#patgen-invocation">patgen invocation</a>: Creating hyphenation patterns. +<li><a accesskey="3" href="#TCX-files">TCX files</a>: Support for different character sets & fonts. +</ul> + +<div class="node"> +<a name="MLTeX"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#patgen-invocation">patgen invocation</a>, +Up: <a rel="up" accesskey="u" href="#Languages-and-hyphenation">Languages and hyphenation</a> + +</div> + +<h4 class="subsection">4.4.1 MLTeX: Multi-lingual TeX</h4> + +<p><a name="index-mltex-289"></a><a name="index-Multi_002dlingual-_0040TeX_007b_007d-290"></a> +<a name="index-Ferguson_002c-Michael-291"></a><a name="index-Raichle_002c-Bernd-292"></a><a name="index-accents_002c-hyphenating-words-with-293"></a><a name="index-glyph-substitutions-294"></a><a name="index-substitutions-of-font-glyphs-295"></a>Multi-lingual TeX (<code>mltex</code>) is an extension of TeX originally +written by Michael Ferguson and now updated and maintained by Bernd +Raichle. It allows the use of non-existing glyphs in a font by +declaring glyph substitutions. These are restricted to substitutions of +an accented character glyph, which need not be defined in the current +font, by its appropriate <code>\accent</code> construction using a base and +accent character glyph, which do have to exist in the current font. +This substitution is automatically done behind the scenes, if necessary, +and thus MLTeX additionally supports hyphenation of words containing +an accented character glyph for fonts missing this glyph (e.g., Computer +Modern). Standard TeX suppresses hyphenation in this case. + + <p>MLTeX works at <samp><span class="file">.fmt</span></samp>-creation time: the basic idea is to +specify the ‘<samp><span class="samp">-mltex</span></samp>’ option to TeX when you <code>\dump</code> a +format. Then, when you subsequently invoke TeX and read that +<code>.fmt</code> file, the MLTeX features described below will be enabled. + + <p>Generally, you use special macro files to create an MLTeX <code>.fmt</code> +file. + + <p>The sections below describe the two new primitives that MLTeX defines. +Aside from these, MLTeX is completely compatible with standard TeX. + +<ul class="menu"> +<li><a accesskey="1" href="#g_t_005ccharsubdef">\charsubdef</a>: Character substitution definitions. +<li><a accesskey="2" href="#g_t_005ctracingcharsubdef">\tracingcharsubdef</a>: Tracing substitutions. +</ul> + +<div class="node"> +<a name="%5ccharsubdef"></a> +<a name="g_t_005ccharsubdef"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#g_t_005ctracingcharsubdef">\tracingcharsubdef</a>, +Up: <a rel="up" accesskey="u" href="#MLTeX">MLTeX</a> + +</div> + +<h5 class="subsubsection">4.4.1.1 <code>\charsubdef</code>: Character substitutions</h5> + +<p><a name="index-g_t_005ccharsubdef-_0040r_007band-ML_0040TeX_007b_007d_007d-296"></a> +The most important primitive MLTeX adds is <code>\charsubdef</code>, used +in a way reminiscent of <code>\chardef</code>: +<pre class="example"> \charsubdef <var>composite</var> [=] <var>accent</var> <var>base</var> +</pre> + <p>Each of <var>composite</var>, <var>accent</var>, and <var>base</var> are font glyph +numbers, expressed in the usual TeX syntax: <tt>`\e</tt> symbolically, +<tt>'145</tt> for octal, <tt>"65</tt> for hex, <tt>101</tt> for decimal. + + <p>MLTeX's <code>\charsubdef</code> declares how to construct an accented +character glyph (not necessarily existing in the current font) using two +character glyphs (that do exist). Thus it defines whether a character +glyph code, either typed as a single character or using the <code>\char</code> +primitive, will be mapped to a font glyph or to an <code>\accent</code> glyph +construction. + + <p>For example, if you assume glyph code 138 +<a name="index-e_002dcircumflex-297"></a>(decimal) for an e-circumflex +and you are using the Computer Modern fonts, which have the circumflex +accent in position 18 and lowercase `e' in the usual ASCII position 101 +decimal, you would use <code>\charsubdef</code> as follows: + +<pre class="example"> \charsubdef 138 = 18 101 +</pre> + <p>For the plain TeX format to make use of this substitution, you have +to redefine the circumflex accent macro <code>\^</code> in such a way that if +its argument is character `e' the expansion <code>\char138 </code> is used +instead of <code>\accent18 e</code>. Similar <code>\charsubdef</code> declaration +and macro redefinitions have to be done for all other accented +characters. + + <p>To disable a previous <code>\charsubdef </code><var>c</var>, redefine <var>c</var> +as a pair of zeros. For example: +<pre class="example"> \charsubdef '321 = 0 0 % disable N tilde +</pre> + <p><a name="index-N-tilde-298"></a>(Octal <tt>'321</tt> is the ISO Latin-1 value for the Spanish N tilde.) + + <p><code>\charsubdef</code> commands should only be given once. Although in +principle you can use <code>\charsubdef</code> at any time, the result is +unspecified. If <code>\charsubdef</code> declarations are changed, usually +either incorrect character dimensions will be used or MLTeX will +output missing character warnings. (The substitution of a +<code>\charsubdef</code> is used by TeX when appending the character node +to the current horizontal list, to compute the width of a horizontal box +when the box gets packed, and when building the <code>\accent</code> +construction at <code>\shipout</code>-time. In summary, the substitution is +accessed often, so changing it is not desirable, nor generally useful.) + +<div class="node"> +<a name="%5ctracingcharsubdef"></a> +<a name="g_t_005ctracingcharsubdef"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#g_t_005ccharsubdef">\charsubdef</a>, +Up: <a rel="up" accesskey="u" href="#MLTeX">MLTeX</a> + +</div> + +<h5 class="subsubsection">4.4.1.2 <code>\tracingcharsubdef</code>: Substitution diagnostics</h5> + +<p><a name="index-g_t_005ctracingcharsubdef-_0040r_007band-ML_0040TeX_007b_007d_007d-299"></a><a name="index-redefined-character-substitutions-300"></a>To help diagnose problems with ‘<samp><span class="samp">\charsubdef</span></samp>’, MLTeX provides a +new primitive parameter, <code>\tracingcharsubdef</code>. If positive, every +use of <code>\charsubdef</code> will be reported. This can help track down +when a character is redefined. + + <p><a name="index-g_t_005ctracinglostchars-_0040r_007band-ML_0040TeX_007b_007d_007d-301"></a>In addition, if the TeX parameter <code>\tracinglostchars</code> is 100 or +more, the character substitutions actually performed at +<code>\shipout</code>-time will be recorded. + +<div class="node"> +<a name="TCX-files"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#patgen-invocation">patgen invocation</a>, +Up: <a rel="up" accesskey="u" href="#Languages-and-hyphenation">Languages and hyphenation</a> + +</div> + +<h4 class="subsection">4.4.2 TCX files: Character translations</h4> + +<p><a name="index-TCX-_0040r_007bcharacter-translation-files_007d-302"></a><a name="index-g_t_002etcx-_0040r_007bcharacter-translation-files_007d-303"></a><a name="index-character-translation-files-304"></a> +<a name="index-international-characters-305"></a><a name="index-g_t8_002dbit-characters-306"></a><a name="index-accented-character-307"></a>TCX (TeX character translation) files help TeX support direct +input of 8-bit international characters if fonts containing those +characters are being used. Specifically, they map an input (keyboard) +character code to the internal TeX character code (a superset of +ASCII). + + <p>Of the various proposals for handling more than one input encoding, +TCX files were chosen because they follow Knuth's original ideas for +the use of the ‘<samp><span class="samp">xchr</span></samp>’ and ‘<samp><span class="samp">xord</span></samp>’ tables. He ventured that +these would be changed in the WEB source in order to adjust the actual +version to a given environment. It turns out, however, that +recompiling the WEB sources is not as simple a task as Knuth may have +imagined; therefore, TCX files, providing the possibility of changing +of the conversion tables on on-the-fly, have been implemented instead. + + <p>This approach limits the portability of TeX documents, as some +implementations do not support it (or use a different method for +input-internal reencoding). It may also be problematic to determine +the encoding to use for a TeX document of unknown provenance; in +the worst case, failure to do so correctly may result in subtle errors +in the typeset output. But we feel the benefits outweigh these +disadvantages. + + <p>This is entirely independent of the MLTeX extension (see <a href="#MLTeX">MLTeX</a>): +whereas a TCX file defines how an input keyboard character is mapped to +TeX's internal code, MLTeX defines substitutions for a +non-existing character glyph in a font with a <code>\accent</code> +construction made out of two separate character glyphs. TCX files +involve no new primitives; it is not possible to specify +that an input (keyboard) character maps to more than one character. + + <p><a name="index-WEB2C_0040r_007b_002c-search-path-for-TCX-files_007d-308"></a>Information on specifying TCX files: + + <ul> +<li>The best way to specify a TCX file is to list it explicitly in the +first line of the main document: + <pre class="example"> %& -translate-file=<var>tcxfile</var> +</pre> + <li>You can also specify a TCX file to be used on a particular TeX run +with the command-line option ‘<samp><span class="samp">-translate-file=</span><var>tcxfile</var></samp>’. + + <li>TCX files are searched for along the <code>WEB2C</code> path. + + <li>Initial TeX (see <a href="#Initial-TeX">Initial TeX</a>) ignores TCX files. +</ul> + + <p><a name="index-il1_002dt1_002etcx-309"></a><a name="index-il2_002dt1_002etcx-310"></a><a name="index-empty_002etcx-311"></a><a name="index-Cork-encoding-and-ISO-input-312"></a><a name="index-T1-encoding-and-ISO-input-313"></a>The Web2c distribution comes with a number of TCX files. Two +important ones are <samp><span class="file">il1-t1.tcx</span></samp> and <samp><span class="file">il2-t1.tcx</span></samp>, which +support ISO Latin 1 and ISO Latin 2, respectively, with Cork-encoded +fonts (a.k.a. the LaTeX T1 encoding). TCX files for Czech, +Polish, and Slovak are also provided. + + <p>One other notable TCX file is <samp><span class="file">empty.tcx</span></samp>, which is, well, +empty. Its purpose is to reset Web2C's behavior to the default (only +visible ASCII being printable, as described below) when a format was +dumped with another TCX being active—which is in fact the case for +everything but plain TeX in the TeX Live and other distributions. +Thus: + +<pre class="example"> latex somefile8.tex + ⇒ terminal etc. output with 8-bit chars + latex --translate-file=empty.tcx somefile8.tex + ⇒ terminal etc. output with ^^ notation +</pre> + <p><a name="index-syntax-of-TCX-files-314"></a>Syntax of TCX files: + <ol type=1 start=1> +<li><a name="index-blank-lines_002c-in-TCX-files-315"></a>Line-oriented. Blank lines are ignored. + + <li><a name="index-whitespace_002c-in-TCX-files-316"></a>Whitespace is ignored except as a separator. + + <li><a name="index-comments_002c-in-TCX-files-317"></a>Comments start with ‘<samp><span class="samp">%</span></samp>’ and continue to the end of the line. + + <li>Otherwise, a line consists of one or two character codes, optionally +followed by 0 or 1. The last number indicates whether <var>dest</var> is +considered printable. + <pre class="example"> <var>src</var> [<var>dest</var> [<var>prnt</var>]] +</pre> + <li><a name="index-character-codes_002c-in-TCX-files-318"></a><a name="index-octal-character-codes_002c-in-TCX-files-319"></a><a name="index-hex-character-codes_002c-in-TCX-files-320"></a><a name="index-decimal-character-codes_002c-in-TCX-files-321"></a>Each character code may be specified in octal with a leading ‘<samp><span class="samp">0</span></samp>’, +hexadecimal with a leading ‘<samp><span class="samp">0x</span></samp>’, or decimal otherwise. Values must +be between 0 and 255, inclusive (decimal). + + <li>If the <var>dest</var> code is not specified, it is taken to be the same as +<var>src</var>. + + <li>If the same <var>src</var> code is specified more than once, it is the last +definition that counts. + </ol> + + <p><a name="index-printable-characters_002c-specifying-322"></a><a name="index-g_t_005e_005e-_0040r_007bnotation_002c-avoiding_007d-323"></a>Finally, here's what happens: when TeX sees an input character with +code <var>src</var>, it 1) changes <var>src</var> to <var>dest</var>; and 2) makes the +<var>dest</var> code “printable”, i.e., printed as-is in diagnostics and the +log file rather than in ‘<samp><span class="samp">^^</span></samp>’ notation. + + <p>By default, no characters are translated, and character codes between 32 +and 126 inclusive (decimal) are printable. + + <p>Specifying translations for the printable ASCII characters (codes +32–127) will yield unpredictable results. Additionally you shouldn't +make the following characters printable: <code>^^I</code> (TAB), <code>^^J</code> +(line feed), <code>^^M</code> (carriage return), and <code>^^?</code> (delete), +since TeX uses them in various ways. + + <p><a name="index-font-character-code_002c-translating-324"></a><a name="index-keyboard-character-code_002c-translating-325"></a>Thus, the idea is to specify the input (keyboard) character code for +<var>src</var>, and the output (font) character code for <var>dest</var>. + + <p><a name="index-interaction-between-TCX-files-and-_0040samp_007b_002d8bit_007d_002e-326"></a>By default, only the printable ASCII characters are considered printable +by TeX. If you specify the ‘<samp><span class="samp">-8bit</span></samp>’ option, all characters are +considered printable by default. If you specify both the ‘<samp><span class="samp">-8bit</span></samp>’ +option and a TCX file, then the TCX can set specific characters to be +non-printable. + + <p>Both the specified TCX encoding and whether characters are printable +are saved in the dump files (like <samp><span class="file">tex.fmt</span></samp>). So by giving these +options in combination with ‘<samp><span class="samp">-ini</span></samp>’, you control the defaults seen +by anyone who uses the resulting dump file. + + <p>When loading a dump, if the ‘<samp><span class="samp">-8bit</span></samp>’ option was given, then all +characters become printable by default. + + <p>When loading a dump, if a TCX file was specified, then the TCX data from +the dump is ignored and the data from the file used instead. + +<div class="node"> +<a name="patgen-invocation"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#TCX-files">TCX files</a>, +Previous: <a rel="previous" accesskey="p" href="#MLTeX">MLTeX</a>, +Up: <a rel="up" accesskey="u" href="#Languages-and-hyphenation">Languages and hyphenation</a> + +</div> + +<h4 class="subsection">4.4.3 Patgen: Creating hyphenation patterns</h4> + +<p><a name="index-patgen-327"></a><a name="index-hyphenation-patterns_002c-creating-328"></a><a name="index-languages_002c-hyphenation-rules-for-329"></a> +Patgen creates hyphenation patterns from dictionary files for use with +TeX. Synopsis: + +<pre class="example"> patgen <var>dictionary</var> <var>patterns</var> <var>output</var> <var>translate</var> +</pre> + <p>Each argument is a filename. No path searching is done. The output is +written to the file <var>output</var>. + +<!-- @table @var --> +<!-- @item dictionary --> +<!-- @cindex dictionary file --> +<!-- @findex \lefthyphemmin --> +<!-- @findex \righthyphenmin --> +<!-- The first line contains the values of @code{}\lefthyphenmin} and --> +<!-- @code{\righthyphenmin} in columns 1-2 and 3-4. Columns 5, 6, and 7 may --> +<!-- optionally contain replacements for the default characters @samp{.}, --> +<!-- @samp{-}, and @samp{*} respectively used in the word lists. --> +<!-- Subsequent lines are either comments (if they start with two identical --> +<!-- characters, e.g., @samp{%%}), or contain the external representation of --> +<!-- the lower case version of a letter, followed by an arbitrary number of --> +<!-- upper case versions, preceded and separated by a delimiter and followed --> +<!-- by two consecutive delimiters. The delimiter may be any character not --> +<!-- occurring in either version. --> + <p>In addition, Patgen prompts interactively for other values. + + <p>For more information, see <cite>Word hy-phen-a-tion by com-puter</cite> by +Frank Liang (see <a href="#References">References</a>), and also the <samp><span class="file">patgen.web</span></samp> source file. + + <p>The only options are ‘<samp><span class="samp">-help</span></samp>’ and ‘<samp><span class="samp">-version</span></samp>’ (see <a href="#Common-options">Common options</a>). + +<div class="node"> +<a name="Shell-escapes"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#IPC-and-TeX">IPC and TeX</a>, +Previous: <a rel="previous" accesskey="p" href="#Languages-and-hyphenation">Languages and hyphenation</a>, +Up: <a rel="up" accesskey="u" href="#TeX">TeX</a> + +</div> + +<h3 class="section">4.5 Shell escapes</h3> + +<p><a name="index-shell-commands-in-_0040TeX_007b_007d-330"></a><a name="index-security_002c-and-shell-escapes-331"></a><a name="index-restricted-shell-escapes-332"></a><a name="index-system-command-333"></a><a name="index-shell_005fescape-_0040r_007benabling-in-_0040TeX_007b_007d_007d-334"></a><a name="index-g_t_005cimmediate_005cwrite18-335"></a><a name="index-g_t_005cwrite18-_0040r_007bshell-escape-extension_007d-336"></a><a name="index-system-_0040r_007bC-library-function_007d-337"></a> +TeX can execute <dfn>shell escapes</dfn>, that is, arbitrary shell +commands. Although tremendously useful, this also has obvious +security implications. Therefore, as of TeX Live 2009, a +<dfn>restricted</dfn> mode for shell escapes is the default mode of +operation, which allows executing only certain commands, as specified +in the <samp><span class="file">texmf.cnf</span></samp> configuration file. + + <ul> +<li>Unrestricted shell escapes are allowed if the option +<samp><span class="option">--shell-escape</span></samp> is specified, or if the environment variable +or config file value <code>shell_escape</code> is set to ‘<samp><span class="samp">t</span></samp>’ or +‘<samp><span class="samp">y</span></samp>’ and ‘<samp><span class="samp">1</span></samp>’. + + <li>Restricted shell escapes are allowed if <code>shell_escape</code> is set to +‘<samp><span class="samp">p</span></samp>’. This is the default. + + <li>Shell escapes are completely disabled if <samp><span class="option">--no-shell-escape</span></samp> is +specified, or if <code>shell_escape</code> is set to anything else. +</ul> + + <p>When enabled, the TeX construct to execute a system command is +<code>\write18{</code><var>shell-command</var><code>}</code>; for example: + +<pre class="example"> \write18{echo "hello, world"} +</pre> + <p><a name="index-g_t_005coutput-_0040r_007broutine_002c-and-_0040code_007b_005cwrite_007d_007d-338"></a>From TeX's point of view, this is a normal <code>\write</code> command, +and is therefore subject to the usual TeX expansions. Also, the +system call either happens during the ‘<samp><span class="samp">\output</span></samp>’ routine or right +away, according to the absence or presence of the <code>\immediate</code> +prefix, as usual for <code>\write</code>. + + <p><a name="index-exit-status_002c-of-shell-escape-339"></a>The <var>shell-command</var> string is passed to the command shell (via the +C library function <code>system</code>). The output of <var>shell-command</var> +is not diverted anywhere, so it will not appear in the log file, or +anywhere but the terminal output. The exit status of the system call +is also not available to TeX. + + <p>In unrestricted mode, the argument is simply passed straight to +<code>system</code> unaltered. + + <p>In restricted mode, ASCII double quote characters (<tt>"</tt>) should +always be used in the argument to <code>\write18</code> where quoting of +arguments is needed, as in the example above. This is to achieve some +measure of system independence. On Unix systems, these are replaced +with single quote (<tt>'</tt>) characters to avoid insecure further +expansion. Care is also taken on Windows to avoid additional +expansions (from, e.g., <tt>`...`</tt>). Mismatched quotation marks +in the command string result in a diagnostic message in the log file; +no execution is performed. + + <p><a name="index-shell_005fescape_005fcommands-340"></a>After quotation processing, if the first word (delimited by a space or +tab) of the command is in the list specified by the +<code>shell_escape_commands</code> configuration value, the command is +executed. Otherwise it is not. In any case, a message is written to +the log file. + + <p>The <code>shell_escape_commands</code> value is a comma-separated list of +words. Whitespace is significant, and typically should not be +present. The default definition looks like this, but with more +commands included: + +<pre class="example"> shell_escape_commands = bibtex,dvips,epstopdf,...,tex +</pre> + <p><a name="index-pipes_002c-reading-and-writing-341"></a><a name="index-g_t_005copenin_0040r_007b_002c-and-pipes_007d-342"></a><a name="index-g_t_005cinput_0040r_007b_002c-and-pipes_007d-343"></a><a name="index-g_t_005copenout_0040r_007b_002c-and-pipes_007d-344"></a><a name="index-g_t_005cpdfshellescape-345"></a>pdfTeX and luaTeX support reading (via <code>\input</code> and +<code>\openin</code>) and writing (via <code>\openout</code>) from pipes if the +first character is ‘<samp><span class="samp">|</span></samp>’. The following command is then treated +exactly the same as the argument to <code>\write18</code>. In these +engines, the primitive variable <code>\pdfshellescape</code> is set to 0 if +shell escapes are disabled, 1 if they are enabled, and 2 if they are +enabled with restrictions. + + <p><a name="index-web-environments_002c-and-security-346"></a>The purpose of this feature is to make it possible for TeX +documents to perform useful external actions in the common case of an +individual user running a known document on his or her own machine. +In such environments as CGI scripts or wikis where the input has to be +considered untrustworthy, shell escapes should be completely disabled. + +<div class="node"> +<a name="IPC-and-TeX"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#TeX-extensions">TeX extensions</a>, +Previous: <a rel="previous" accesskey="p" href="#Shell-escapes">Shell escapes</a>, +Up: <a rel="up" accesskey="u" href="#TeX">TeX</a> + +</div> + +<h3 class="section">4.6 IPC and TeX</h3> + +<p><a name="index-IPC-347"></a><a name="index-sockets-348"></a>(If anyone uses this feature and needs documentation, write +<a href="mailto:tex-k@tug.org">tex-k@tug.org</a>.) + + <p>This functionality is available only if the ‘<samp><span class="samp">--enable-ipc</span></samp>’ option +was specified to <code>configure</code> during installation of Web2c +(see <a href="#Installation">Installation</a>). + + <p><a name="index-IPC_005fDEBUG-349"></a>If you define <code>IPC_DEBUG</code> before compilation (e.g., with ‘<samp><span class="samp">make +XCFLAGS=-DIPC_DEBUG</span></samp>’), TeX will print messages to standard error +about its socket operations. This may be helpful if you are, well, +debugging. + +<div class="node"> +<a name="TeX-extensions"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#IPC-and-TeX">IPC and TeX</a>, +Up: <a rel="up" accesskey="u" href="#TeX">TeX</a> + +</div> + +<h3 class="section">4.7 TeX extensions</h3> + +<p><a name="index-extensions-to-_0040TeX_007b_007d-350"></a><a name="index-g_t_0040TeX_007b_007d_002c-extensions-to-351"></a> +The base TeX program has been extended in many ways. Here's a +partial list. + + <dl> +<dt>e-TeX<dd><a name="index-e_002d_0040TeX_007b_007d-352"></a><a name="index-primitives_002c-new-353"></a>Adds many new primitives, including right-to-left typesetting and more +registers. Now frozen. + + <br><dt>Aleph<dd><a name="index-Aleph-354"></a><a name="index-Unicode-355"></a>This adds Unicode support, right-to-left typesetting, and more. Omega +was the original program. Aleph is an updated version with a variety +of bug fixes, and includes e-TeX. Aleph is not actively maintained. + + <br><dt>pdfTeX<dd><a name="index-pdf_0040TeX_007b_007d-356"></a><a name="index-PDF-357"></a><a name="index-micro_002dtypography-358"></a><a name="index-hypertext-359"></a>Can produce PDF as well as DVI files. It also incorporates the +e-TeX extensions, new primitives for hypertext and +micro-typography, reading/writing from pipes, and much more. Home +page: <a href="http://pdftex.org">http://pdftex.org</a>. + + <br><dt>luaTeX<dd><a name="index-lua_0040TeX_007b_007d-360"></a><a name="index-Lua-361"></a>Based on pdfTeX, this also embeds the Lua programming language +(<a href="http://lua.org">http://lua.org</a>) and opens up the TeX typesetting engine to +control from Lua. Home page: <a href="http://luatex.org">http://luatex.org</a>. + + <br><dt>XeTeX<dd><a name="index-Xe_0040TeX_007b_007d-362"></a><a name="index-Unicode-363"></a>Combines support for Unicode input and OpenType- and system fonts +with the capabilities of pdfTeX. +Home page: <a href="http://tug.org/xetex">http://tug.org/xetex</a>. + + </dl> + +<div class="node"> +<a name="Metafont"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#MetaPost">MetaPost</a>, +Previous: <a rel="previous" accesskey="p" href="#TeX">TeX</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">5 Metafont: Creating typeface families</h2> + +<p><a name="index-Metafont-364"></a><a name="index-typeface-families-365"></a><a name="index-geometric-designs-366"></a><a name="index-shapes-367"></a><a name="index-font-design-368"></a> +Metafont is a system for producing shapes; it was designed for producing +complete typeface families, but it can also produce geometric designs, +dingbats, etc. And it has considerable mathematical and +equation-solving capabilities which can be useful entirely on their own. + + <p>Metafont is a batch language, like C or Pascal: you compile a Metafont +program into a corresponding font, rather than interactively drawing +lines or curves. This approach has both considerable disadvantages +(people unfamiliar with conventional programming languages will be +unlikely to find it usable) and considerable advantages (you can make +your design intentions specific and parameterizable). For a complete +description of the Metafont language, see <cite>The METAFONTbook</cite> +(see <a href="#References">References</a>). + +<ul class="menu"> +<li><a accesskey="1" href="#mf-invocation">mf invocation</a>: Invoking Metafont. +<li><a accesskey="2" href="#Initial-Metafont">Initial Metafont</a>: Making bases. +<li><a accesskey="3" href="#Modes">Modes</a>: Device definitions for Metafont. +<li><a accesskey="4" href="#Online-Metafont-graphics">Online Metafont graphics</a>: Seeing MF output online. +<li><a accesskey="5" href="#gftodvi-invocation">gftodvi invocation</a>: Making proofsheets for fonts. +<li><a accesskey="6" href="#mft-invocation">mft invocation</a>: Prettyprinting Metafont sources. +</ul> + +<div class="node"> +<a name="mf-invocation"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Initial-Metafont">Initial Metafont</a>, +Up: <a rel="up" accesskey="u" href="#Metafont">Metafont</a> + +</div> + +<h3 class="section">5.1 <code>mf</code> invocation</h3> + +<p><a name="index-mf-369"></a><a name="index-Metafont-invocation-370"></a> +Metafont (usually invoked as <code>mf</code>) reads character definitions +specified in the Metafont programming language, and outputs the +corresponding font. This section merely describes the options available +in the Web2c implementation. For a complete description of the Metafont +language, see <cite>The Metafontbook</cite> (see <a href="#References">References</a>). + + <p>Metafont processes its command line and determines its memory dump +(base) file in a way exactly analogous to MetaPost and TeX +(see <a href="#tex-invocation">tex invocation</a>, and see <a href="#Memory-dumps">Memory dumps</a>). Synopses: + +<pre class="example"> mf [<var>option</var>]... [<var>mfname</var>[.mf]] [<var>mf-commands</var>] + mf [<var>option</var>]... \<var>first-line</var> + mf [<var>option</var>]... &<var>base</var> <var>args</var> +</pre> + <p>Most commonly, a Metafont invocation looks like this: +<pre class="example"> mf '\mode:=<var>mode</var>; mag:=<var>magnification</var>; input <var>mfname</var>' +</pre> + <p class="noindent">(The single quotes avoid unwanted interpretation by the shell.) + + <p><a name="index-g_t_002emf-371"></a><a name="index-Metafont-input-files-372"></a><a name="index-EC-fonts-373"></a><a name="index-mktexmf_0040r_007b_002c-disabling_007d-374"></a>Metafont searches the usual places for the main input file <var>mfname</var> +(see <a href="kpathsea.html#Supported-file-formats">Supported file formats</a>), extending +<var>mfname</var> with <samp><span class="file">.mf</span></samp> if necessary. To see all the relevant +paths, set the environment variable <code>KPATHSEA_DEBUG</code> to ‘<samp><span class="samp">-1</span></samp>’ +before running the program. By default, Metafont runs an external +program named <samp><span class="file">mktexmf</span></samp> to create any nonexistent Metafont source +files you input. You can disable this at configure-time or runtime +(see <a href="kpathsea.html#mktex-configuration">mktex configuration</a>). This is mostly +for the sake of the EC fonts, which can be generated at any size. + + <p><a name="index-g_t_002e_0040var_007bnnn_007dgf-_0040r_007bgeneric-fonts_007d-375"></a><a name="index-mfput-376"></a><a name="index-GF-output-377"></a><a name="index-GF-files_002c-output-by-Metafont-378"></a><a name="index-PK-files_002c-not-output-by-Metafont-379"></a>Metafont writes the main GF output to the file +<samp><var>basemfname</var><span class="file">.</span><var>nnn</var><span class="file">gf</span></samp>, where <var>nnn</var> is the font +resolution in pixels per inch, and <var>basemfname</var> is the basename of +<var>mfname</var>, or ‘<samp><span class="samp">mfput</span></samp>’ if no input file was specified. A GF file +contains bitmaps of the actual character shapes. Usually GF files are +converted immediately to PK files with GFtoPK (see <a href="#gftopk-invocation">gftopk invocation</a>), since PK files contain equivalent information, but are +more compact. (Metafont output in GF format rather than PK for only +historical reasons.) + + <p><a name="index-g_t_002etfm-_0040r_007boutput_007d-380"></a><a name="index-TFM-files_002c-output-by-Metafont-381"></a>Metafont also usually writes a metric file in TFM format to +<samp><var>basemfname</var><span class="file">.tfm</span></samp>. A TFM file contains character dimensions, +kerns, and ligatures, and spacing parameters. TeX reads only this +<tt>.tfm</tt> file, not the GF file. + + <p><a name="index-mode-needed-to-run-Metafont-382"></a><a name="index-proof-_0040r_007bmode_007d-383"></a><a name="index-g_t2602gf-384"></a><a name="index-g_t_002e2602gf-385"></a>The <var>mode</var> in the example command above is a name referring to a +device definition (see <a href="#Modes">Modes</a>); for example, <code>localfont</code> or +<code>ljfour</code>. These device definitions must generally be precompiled +into the base file. If you leave this out, the default is <code>proof</code> +mode, as stated in <cite>The Metafontbook</cite>, in which Metafont outputs at +a resolution of 2602<span class="dmn">dpi</span>; this is usually not what you want. The +remedy is simply to assign a different mode—<code>localfont</code>, for +example. + + <p>The <var>magnification</var> assignment in the example command above is a +magnification factor; for example, if the device is 600<span class="dmn">dpi</span> and you +specify <code>mag:=2</code>, Metafont will produce output at 1200<span class="dmn">dpi</span>. +Very often, the <var>magnification</var> is an expression such as +<code>magstep(.5)</code>, corresponding to a TeX “magstep”, which are +factors of + + <p>After running Metafont, you can use the font in a TeX document as +usual. For example: +<pre class="example"> \font\myfont = newfont + \myfont Now I am typesetting in my new font (minimum hamburgers). +</pre> + <p>The program accepts the following options, as well as the standard +‘<samp><span class="samp">-help</span></samp>’ and ‘<samp><span class="samp">-version</span></samp>’ (see <a href="#Common-options">Common options</a>): + <dl> +<dt>‘<samp><span class="samp">-[no]-file-line-error</span></samp>’<dt>‘<samp><span class="samp">-fmt=</span><var>fmtname</var></samp>’<dt>‘<samp><span class="samp">-halt-on-error</span></samp>’<dt>‘<samp><span class="samp">-ini</span></samp>’<dt>‘<samp><span class="samp">-interaction=</span><var>string</var></samp>’<dt>‘<samp><span class="samp">-jobname=</span><var>string</var></samp>’<dt>‘<samp><span class="samp">-kpathsea-debug=</span><var>number</var></samp>’<dt>‘<samp><span class="samp">-[no]parse-first-line</span></samp>’<dt>‘<samp><span class="samp">-output-directory</span></samp>’<dt>‘<samp><span class="samp">-progname=</span><var>string</var></samp>’<dt>‘<samp><span class="samp">-recorder</span></samp>’<dt>‘<samp><span class="samp">-translate-file=</span><var>tcxfile</var></samp>’<dt>‘<samp><span class="samp">-8bit</span></samp>’<dd>These options are common to TeX, Metafont, and MetaPost. +See <a href="#Common-options">Common options</a>. + + <br><dt>‘<samp><span class="samp">-mktex=</span><var>filetype</var></samp>’<dt>‘<samp><span class="samp">-no-mktex=</span><var>filetype</var></samp>’<dd><a name="index-g_t_002dmktex_003d_0040var_007bfiletype_007d-386"></a><a name="index-g_t_002dno_002dmktex_003d_0040var_007bfiletype_007d-387"></a>Turn on or off the ‘<samp><span class="samp">mktex</span></samp>’ script associated with <var>filetype</var>. +The only value that makes sense for <var>filetype</var> is ‘<samp><span class="samp">mf</span></samp>’. +</dl> + +<div class="node"> +<a name="Initial-Metafont"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Modes">Modes</a>, +Previous: <a rel="previous" accesskey="p" href="#mf-invocation">mf invocation</a>, +Up: <a rel="up" accesskey="u" href="#Metafont">Metafont</a> + +</div> + +<h3 class="section">5.2 Initial Metafont</h3> + +<p><a name="index-initial-Metafont-388"></a><a name="index-Metafont_002c-initial-389"></a> +<a name="index-g_t_002ebase-390"></a><a name="index-base-files-391"></a><code>inimf</code> is the “initial” form of Metafont, which does lengthy +initializations avoided by the “virgin” (<code>vir</code>) form, so as to +be capable of dumping ‘<samp><span class="samp">.base</span></samp>’ files (see <a href="#Memory-dumps">Memory dumps</a>). For +a detailed comparison of virgin and initial forms, see <a href="#Initial-and-virgin">Initial and virgin</a>. In past releases, a separate program <samp><span class="command">inimf</span></samp> was +installed to invoke the initial form, but this is no longer the case. + + <p>For a list of options and other information, see <a href="#mf-invocation">mf invocation</a>. + + <p><a name="index-plain_002ebase-392"></a><a name="index-mf_002ebase-393"></a>The only memory dump file commonly used with Metafont is the default +‘<samp><span class="samp">plain.base</span></samp>’, also known as ‘<samp><span class="samp">mf.base</span></samp>’ (again, see <a href="#Memory-dumps">Memory dumps</a>). It is created by default during installation, but you can also +do so by hand if necessary (e.g., if a Metafont update is issued): +<pre class="example"> mf -ini '\input plain; input modes; dump' +</pre> + <p class="noindent">(The quotes prevent interpretation of the backslashes from the shell.) +Then install the resulting <samp><span class="file">plain.base</span></samp> in ‘<samp><span class="samp">$(basedir)</span></samp>’ +(<samp><span class="file">/usr/local/share/texmf/web2c</span></samp> by default), and link +<samp><span class="file">mf.base</span></samp> to it. + + <p>For an explanation of the additional <samp><span class="file">modes.mf</span></samp> file, +see <a href="#Modes">Modes</a>. This file has no counterpart in TeX or MetaPost. + + <p><a name="index-cmmf_002ebase-_0040r_007bnot-recommended_007d-394"></a><a name="index-cm_002ebase-395"></a><a name="index-cmbase_002emf-396"></a><a name="index-Computer-Modern-macros-397"></a><a name="index-base-files_002c-plain-only-398"></a>In the past, it was sometimes useful to create a base file +<samp><span class="file">cmmf.base</span></samp> (a.k.a. <samp><span class="file">cm.base</span></samp>), with the Computer Modern +macros also included in the base file. Nowadays, however, the +additional time required to read <samp><span class="file">cmbase.mf</span></samp> is exceedingly small, +usually not enough to be worth the administrative hassle of updating the +<samp><span class="file">cmmf.base</span></samp> file when you install a new version of <samp><span class="file">modes.mf</span></samp>. +<a name="index-type-design_002c-personal-399"></a>People actually working on a typeface may still find it worthwhile to +create their own base file, of course. + +<div class="node"> +<a name="Modes"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Online-Metafont-graphics">Online Metafont graphics</a>, +Previous: <a rel="previous" accesskey="p" href="#Initial-Metafont">Initial Metafont</a>, +Up: <a rel="up" accesskey="u" href="#Metafont">Metafont</a> + +</div> + +<h3 class="section">5.3 Modes: Device definitions for Metafont</h3> + +<p><a name="index-modes-file-needed-for-Metafont-400"></a><a name="index-base-files_002c-need-mode-definitions-401"></a><a name="index-device-definitions_002c-for-Metafont-402"></a><a name="index-printer-characteristics_002c-for-Metafont-403"></a>Running Metafont and creating Metafont base files requires information +that TeX and MetaPost do not: <dfn>mode</dfn> definitions which specify +device characteristics, so Metafont can properly rasterize the shapes. + + <p><a name="index-modes_002emf-_0040r_007brecommended-modes-file_007d-404"></a>When making a base file, a file containing modes for locally-available +devices should be input after <samp><span class="file">plain.mf</span></samp>. One commonly used file +is <a href="ftp://ftp.tug.org/tex/modes.mf">ftp://ftp.tug.org/tex/modes.mf</a>; it includes all known +definitions. + + <p><a name="index-small-Metafont-memory-and-modes-405"></a><a name="index-mode_005fdef-406"></a><a name="index-mode_005fsetup-407"></a>If, however, for some reason you have decreased the memory available in +your Metafont, you may need to copy <samp><span class="file">modes.mf</span></samp> and remove the +definitions irrelevant to you (probably most of them) instead of using +it directly. (Or, if you're a Metafont hacker, maybe you can suggest a +way to redefine <code>mode_def</code> and/or <code>mode_setup</code>; right now, the +amount of memory used is approximately four times the total length of +the <code>mode_def</code> names, and that's a lot.) + + <p>If you have a device not included in <samp><span class="file">modes.mf</span></samp>, please see +comments in that file for how to create the new definition, and please +send the definition to <a href="mailto:tex-fonts@math.utah.edu">tex-fonts@math.utah.edu</a> to get it included +in the next release of <samp><span class="file">modes.mf</span></samp>. + + <p><a name="index-smode-_0040r_007band-dynamic-Metafont-mode-definition_007d-408"></a><a name="index-dynamic-Metafont-mode-definitions-with-_0040code_007bsmode_007d-409"></a>Usually, when you run Metafont you must supply the name of a mode that +was dumped in the base file. But you can also define the mode +characteristics dynamically, by invoking Metafont with an assignment to +<code>smode</code> instead of <code>mode</code>, like this: +<pre class="example"> mf '\smode:="newmode.mf"; mag:=<var>magnification</var>; input <var>mfname</var>' +</pre> + <p class="noindent">This is most useful when you are working on the definition of a new +mode. + + <p>The <var>magnification</var> and <var>mfname</var> arguments are explained in +<a href="#mf-invocation">mf invocation</a>. In the file <samp><span class="file">newmode.mf</span></samp>, you should have the +following (with no <code>mode_def</code> or <code>enddef</code>), if you are using +<samp><span class="file">modes.mf</span></samp> conventions: +<pre class="example"> mode_param (pixels_per_inch, <var>dpi</var>); + mode_param (blacker, <var>b</var>); + mode_param (fillin, <var>f</var>); + mode_param (o_correction, <var>o</var>); + mode_common_setup_; +</pre> + <p class="noindent">(Of course, you should use real numbers for <var>dpi</var>, <var>b</var>, <var>f</var>, +and <var>o</var>.) + + <p>For more information on the use of <code>smode</code>, or if you are not using +<samp><span class="file">modes.mf</span></samp>, see page 269 of <cite>The Metafontbook</cite>. + +<div class="node"> +<a name="Online-Metafont-graphics"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#gftodvi-invocation">gftodvi invocation</a>, +Previous: <a rel="previous" accesskey="p" href="#Modes">Modes</a>, +Up: <a rel="up" accesskey="u" href="#Metafont">Metafont</a> + +</div> + +<h3 class="section">5.4 Online Metafont graphics</h3> + +<p><a name="index-online-Metafont-graphics-410"></a><a name="index-Metafont-graphics-411"></a> +The Web2c implementation of Metafont can do online graphics with a +number of devices. (See the Metafont manual for more information about +how to draw on your screen.) By default, no graphics support is +enabled. + + <p><a name="index-MFTERM-412"></a><a name="index-TERM-413"></a>Metafont examines the <code>MFTERM</code> environment variable or config file +value at runtime, or the <code>TERM</code> environment variable if +<code>MFTERM</code> is not set, to determine the device support to use. +Naturally, only the devices for which support has been compiled in can +be selected. + + <p>Here is a table of the possibilities, showing the <code>MFTERM</code> value +and the corresponding <code>configure</code> option(s) in parentheses. + + <dl> +<dt><code>epsf</code><a name="index-epsf-414"></a><dd><a name="index-Herberts_002c-Mathias-415"></a><a name="index-g_t_002d_002denable_002depsfwin-416"></a>(‘<samp><span class="samp">--enable-epsfwin</span></samp>’) Pseudo-window server for Encapsulated +PostScript (see <samp><span class="file">web2c/window/epsf.c</span></samp>). This device produces an +EPS file containing the graphics which would be displayed online on +other devices. The name of the EPS file defaults to metafont.eps but +can be changed by setting the MFEPSF environment variable to the new +filename. Contributed by Mathias Herberts. + + <br><dt><code>hp2627</code><a name="index-hp2627-417"></a><dd><a name="index-g_t_002d_002denable_002dhp2627win-418"></a>(‘<samp><span class="samp">--enable-hp2627win</span></samp>’) HP2627a color graphics terminals. + + <br><dt><code>mftalk</code><a name="index-mftalk-419"></a><dd><a name="index-g_t_002d_002denable_002dmftalkwin-420"></a>(‘<samp><span class="samp">--enable-mftalkwin</span></samp>’) Generic window server (see +<samp><span class="file">web2c/window/mftalk.c</span></samp>). + + <br><dt><code>next</code><a name="index-next-421"></a><dd><a name="index-DrawingServant-422"></a><a name="index-g_t_002d_002denable_002dnext-423"></a>(‘<samp><span class="samp">--enable-next</span></samp>’) NeXT window system. This requires a separate +program, called <code>DrawingServant</code>, available separately. See the +<samp><span class="file">web2c/window/next.c</span></samp>. + + <br><dt><code>regis</code><a name="index-regis-424"></a><dd><a name="index-g_t_002d_002denable_002dregiswin-425"></a><a name="index-Regis-graphics-support-426"></a>(‘<samp><span class="samp">--enable-regiswin</span></samp>’) Regis terminals. + + <br><dt><code>sun</code><a name="index-sun-427"></a><dd><a name="index-SunView-428"></a><a name="index-Suntools-429"></a><a name="index-g_t_002d_002denable_002dsuntoolswin-430"></a><a name="index-sun_002dgfx_002ec-431"></a>(‘<samp><span class="samp">--enable-suntoolswin</span></samp>’) The old Suntools (not any flavor of X) +window system. (You can get the even older SunWindows <code>gfx</code> system +by using <samp><span class="file">sun-gfx.c</span></samp>.) + + <br><dt><code>tek</code><a name="index-tek-432"></a><dd><a name="index-Tektronix-433"></a><a name="index-g_t_002d_002denable_002dtektronixwin-434"></a>(‘<samp><span class="samp">--enable-tektronixwin</span></samp>’) Tektronix terminals. + + <p><a name="index-Poole_002c-Simon-435"></a><br><dt><code>uniterm</code><a name="index-uniterm-436"></a><dd><a name="index-Tektronix-4014-437"></a><a name="index-g_t_002d_002denable_002dunitermwin-438"></a>(‘<samp><span class="samp">--enable-unitermwin</span></samp>’) Uniterm, Simon Poole's emulator of a smart +Tektronix 4014 terminal. This may work with regular Tektronix terminals +as well; it's faster than the driver ‘<samp><span class="samp">--enable-tektronixwin</span></samp>’ selects. + + <p><a name="index-NO_005fX11WIN-439"></a><a name="index-Xt-440"></a><a name="index-Xlib-441"></a><br><dt><code>xterm</code><a name="index-xterm-442"></a><dd><a name="index-g_t_002d_002dwith_002dx-443"></a>‘<samp><span class="samp">--with-x</span></samp>’ The X window system (version 11). + + <p><a name="index-g_t_002d_002dwith_002dmf_002dx_002dtoolkit_003d_0040var_007bkit_007d-444"></a><a name="index-toolkits_002c-X-445"></a><a name="index-X-toolkits-and-Metafont-446"></a><a name="index-Xt-support-447"></a><a name="index-Xlib-support-448"></a>There are two variants of the X11 support, one that works with the Xt +toolkit, and another that works directly with Xlib. The Xt support is +more efficient and has more functionality, so it is the default. If you +must use the Xlib support, use ‘<samp><span class="samp">configure --with-x +--with-kf-x-toolkit=no</span></samp>’. + + <p><a name="index-g_t_002d_002ddisable_002dmf_002dnowin-449"></a><a name="index-non_002dwindows_002dcapable-Metafont-450"></a>Specify ‘<samp><span class="samp">--disable-mf-nowin</span></samp>’ in order not to build a separate +non-windows-capable Metafont executable <code>mf-nowin</code> (or +<code>mf-nowin.exe</code>). + + <p><a name="index-X-resources-451"></a><a name="index-X-class-name-for-Metafont-452"></a><a name="index-class-name-for-Metafont-453"></a><a name="index-geometry-for-Metafont-454"></a><a name="index-Metafont-geometry-455"></a><a name="index-g_t_002eXdefaults-456"></a><a name="index-g_t_002eXresources-457"></a><a name="index-g_t_002dgeometry_0040r_007b_002c-supported-with-Xt_007d-458"></a>You cannot specify any of the usual X options (e.g., ‘<samp><span class="samp">-geometry</span></samp>’) +on the Metafont command line, but you can specify X resources in your +<samp><span class="file">~/.Xdefaults</span></samp> or <samp><span class="file">~/.Xresources</span></samp> file. The class name is +<code>Metafont</code>. If you're using the Xt support, all the usual X toolkit +resources are supported. If you're using the Xlib support, only the +<code>geometry</code> resource is supported. + + <p><a name="index-DISPLAY-459"></a>You specify the X display to which Metafont connects in the +<code>DISPLAY</code> environment variable, as usual. + + </dl> + + <p><a name="index-Metafont-online-support_002c-new-devices-460"></a><a name="index-new-graphics-support-for-Metafont-461"></a><a name="index-texmfmp_002ec-462"></a>Writing support for a new device is straightforward. Aside from defining +the basic drawing routines that Metafont uses (see <samp><span class="file">mf.web</span></samp>), you +only have to add another entry to the tables on the last page of +<samp><span class="file">web2c/lib/texmfmp.c</span></samp>. Or you can write an independent program and +use MFtalk (see <samp><span class="file">web2c/window/mftalk.c</span></samp>). + +<div class="node"> +<a name="gftodvi-invocation"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#mft-invocation">mft invocation</a>, +Previous: <a rel="previous" accesskey="p" href="#Online-Metafont-graphics">Online Metafont graphics</a>, +Up: <a rel="up" accesskey="u" href="#Metafont">Metafont</a> + +</div> + +<h3 class="section">5.5 GFtoDVI: Character proofs of fonts</h3> + +<p><a name="index-gftodvi-463"></a><a name="index-character-proofs-of-fonts-464"></a><a name="index-font-proofs-465"></a><a name="index-proof-sheets_002c-of-fonts-466"></a> +GFtoDVI makes <dfn>proof sheets</dfn> from a GF bitmap file as output by, for +example, Metafont (see <a href="#Metafont">Metafont</a>). This is an indispensable aid for +font designers or Metafont hackers. Synopsis: + +<pre class="example"> gftodvi [<var>option</var>]... <var>gfname</var>[gf] +</pre> + <p>The font <var>gfname</var> is searched for in the usual places (see <a href="kpathsea.html#Glyph-lookup">Glyph lookup</a>). To see all the relevant paths, set the +environment variable <code>KPATHSEA_DEBUG</code> to ‘<samp><span class="samp">-1</span></samp>’ before running +the program. + + <p>The suffix ‘<samp><span class="samp">gf</span></samp>’ is supplied if not already present. This suffix is +not an extension, no ‘<samp><span class="samp">.</span></samp>’ precedes it; for instance, <samp><span class="file">cmr10.600gf</span></samp>. + + <p>The output filename is the basename of <var>gfname</var> extended with +<samp><span class="file">.dvi</span></samp>, e.g., ‘<samp><span class="samp">gftodvi /wherever/foo.600gf</span></samp>’ creates +<samp><span class="file">./foo.dvi</span></samp>. + + <p>The characters from <var>gfname</var> appear one per page in the DVI output, +with labels, titles, and annotations, as specified in Appendix H +(Hardcopy Proofs) of <cite>The Metafontbook</cite>. + + <p>GFtoDVI uses several fonts besides <var>gfname</var> itself: + + <ul> +<li><a name="index-gray-font-467"></a><dfn>gray font</dfn> (default <samp><span class="file">gray</span></samp>): for the pixels that actually make +up the character. Simply using black is not right, since then labels, +key points, and other information could not be shown. + + <li><a name="index-title-font-468"></a><dfn>title font</dfn> (default <samp><span class="file">cmr8</span></samp>): for the header information at +the top of each output page. + + <li><a name="index-label-font-469"></a><dfn>label font</dfn> (default <samp><span class="file">cmtt10</span></samp>): for the labels on key points +of the figure. + + <li><a name="index-slant-font-470"></a><dfn>slant font</dfn> (no default): for diagonal lines, which are otherwise +simulated using horizontal and vertical rules. +</ul> + + <p>To change the default fonts, you must use <code>special</code> commands in +your Metafont source file, typically via commands like <code>slantfont +slantlj4</code>. There is no default slant font since no one printer is +suitable as a default. You can make your own by copying one of the +existing files, such as +<samp><span class="file">.../fonts/source/public/misc/slantlj4.mf</span></samp> and then running +<samp><span class="command">mf</span></samp> on it. + + <p>For testing purposes, you may it useful to run <code>mf-nowin rtest</code> +(hit RETURN when it stops) to get a <samp><span class="file">gf</span></samp> file of a thorn glyph. +Or use <samp><span class="command">mf</span></samp> instead of <samp><span class="command">mf-nowin</span></samp> to have the glyph(s) +displayed on the screen. After that, <code>gftodvi rtest.2602gf</code> +should produce <samp><span class="file">rtest.dvi</span></samp>, which you process as usual. + + <p>The program accepts the following option, as well as the standard +‘<samp><span class="samp">-verbose</span></samp>’, ‘<samp><span class="samp">-help</span></samp>’, and ‘<samp><span class="samp">-version</span></samp>’ (see <a href="#Common-options">Common options</a>): + + <dl> +<dt>‘<samp><span class="samp">-overflow-label-offset=</span><var>points</var></samp>’<dd><a name="index-g_t_002doverflow_002dlabel_002doffset_003d_0040var_007bpoints_007d-471"></a><a name="index-overflow-label-offset-472"></a><a name="index-offset-for-overflow-labels-473"></a>Typeset the so-called overflow labels, if any, <var>points</var> TeX +points from the right edge of the character bounding box. The default +is a little over two inches (ten million scaled points, to be precise). +Overflow equations are used to locate coordinates when their actual +position is too crowded with other information. +</dl> + +<div class="node"> +<a name="mft-invocation"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#gftodvi-invocation">gftodvi invocation</a>, +Up: <a rel="up" accesskey="u" href="#Metafont">Metafont</a> + +</div> + +<h3 class="section">5.6 MFT: Prettyprinting Metafont source</h3> + +<p><a name="index-mft-474"></a><a name="index-Metafont-source_002c-prettyprinting-475"></a><a name="index-prettyprinting-Metafont-source-476"></a><a name="index-g_t_0040TeX_007b_007d_002c-creating-from-Metafont-477"></a> +<a name="index-mftmac_002etex-478"></a>MFT translates a Metafont program into a TeX document suitable for +typesetting, with the aid of TeX macros defined in the file +<samp><span class="file">mftmac.tex</span></samp>. Synopsis: + +<pre class="example"> mft [<var>option</var>]... <var>mfname</var>[.mf] +</pre> + <p>MFT searches the usual places for <var>mfname</var> (see <a href="kpathsea.html#Supported-file-formats">Supported file formats</a>). To see all the relevant paths, set the +environment variable <code>KPATHSEA_DEBUG</code> to ‘<samp><span class="samp">-1</span></samp>’ before running +the program. The output goes to the basename of <var>mfname</var> extended +with <samp><span class="file">.tex</span></samp>, e.g., ‘<samp><span class="samp">mft /wherever/foo.mf</span></samp>’ creates +<samp><span class="file">./foo.tex</span></samp>. + + <p>Line breaks in the input are carried over into the output; moreover, +blank spaces at the beginning of a line are converted to quads of +indentation in the output. Thus, you have full control over the +indentation and line breaks. Each line of input is translated +independently of the others. + + <p>Further control is allowed via Metafont comments: +<a name="index-comments_002c-MFT-control-479"></a> + <ul> +<li>Metafont comments following a single ‘<samp><span class="samp">%</span></samp>’ should be valid TeX +input. But Metafont material can be included within vertical bars in a +comment; this will be translated by MFT as if it were regular Metafont +code. For example, a comment like ‘<samp><span class="samp">% |x2r| is the tip of the bowl</span></samp>’ +will be translated into the TeX ‘<samp><span class="samp">% $x_{2r}$ is the ...</span></samp>’, +i.e., the ‘<samp><span class="samp">x2r</span></samp>’ is treated as an identifier. + + <li>‘<samp><span class="samp">%%</span></samp>’ indicates that the remainder of an input line should be copied +verbatim to the output. This is typically used to introduce additional +TeX material at the beginning or an MFT job, e.g. code to modify the +standard layout or the formatting macros defined in <samp><span class="file">mftmac.tex</span></samp>, +or to add a line saying ‘<samp><span class="samp">%%\bye</span></samp>’ at the end of the job. (MFT +doesn't add this automatically in order to allow processing several +files produces by MFT in the same TeX job.) + + <li>‘<samp><span class="samp">%%% </span><var>token1</var> <var>other-tokens</var></samp>’ +introduces a change in MFT's formatting rules; all the <var>other-tokens</var> +will henceforth be translated according to the current conventions for +<var>token1</var>. The tokens must be symbolic (i.e., not +numeric or string tokens). For example, the input line + <pre class="example"> %%% addto fill draw filldraw +</pre> + <p class="noindent">says to format the ‘<samp><span class="samp">fill</span></samp>’, ‘<samp><span class="samp">draw</span></samp>’, and ‘<samp><span class="samp">filldraw</span></samp>’ +operations of plain Metafont just like the primitive token ‘<samp><span class="samp">addto</span></samp>’, +i.e., in boldface type. Without such reformatting commands, MFT would +treat ‘<samp><span class="samp">fill</span></samp>’ like an ordinary tag or variable name. In fact, you +need a ‘<samp><span class="samp">%%%</span></samp>’ command even to get parentheses to act like +delimiters. + + <li>‘<samp><span class="samp">%%%%</span></samp>’ introduces an MFT comment, i.e., MFT ignores the remainder +of such a line. + + <li>Five or more ‘<samp><span class="samp">%</span></samp>’ signs should not be used. +</ul> + + <p><a name="index-Knuth_002c-Donald-E_002e-480"></a>(The above description was edited from <samp><span class="file">mft.web</span></samp>, written by +D.E. Knuth<!-- /@w -->.) + + <p>The program accepts the following options, as well as the standard +‘<samp><span class="samp">-help</span></samp>’ and ‘<samp><span class="samp">-version</span></samp>’ (see <a href="#Common-options">Common options</a>): + <dl> +<dt>‘<samp><span class="samp">-change=</span><var>chfile</var><span class="samp">[.ch]</span></samp>’<dd><a name="index-g_t_002dchange_003d_0040var_007bchfile_007d-481"></a><a name="index-change-files_002c-and-MFT-482"></a>Apply the change file <var>chfile</var> as with Tangle and Weave +(see <a href="#WEB">WEB</a>). + + <br><dt>‘<samp><span class="samp">-style=</span><var>mftfile</var><span class="samp">[.mft]</span></samp>’<dd><a name="index-g_t_002dstyle_003d_0040var_007bmftfile_007d-483"></a><a name="index-style-files-484"></a><a name="index-plain_002emft-485"></a>Read <var>mftfile</var> before anything else; a MFT style file typically +contains only MFT directives as described above. The default style file +is named <samp><span class="file">plain.mft</span></samp>, which defines this properly for programs +using plain Metafont. The MFT files is searched along the +<code>MFTINPUTS</code> path; see <a href="kpathsea.html#Supported-file-formats">Supported file formats</a>. + + <p><a name="index-cmbase_002emft-486"></a><a name="index-e_002emft-487"></a><a name="index-g_t_0040cite_007bComputer-Modern-Typefaces_007d_002c-production-of-488"></a>Other examples of MFT style files are <samp><span class="file">cmbase.mft</span></samp>, which defines +formatting rules for the macros defined in <samp><span class="file">cm.base</span></samp>, and +<samp><span class="file">e.mft</span></samp>, which was used in the production of Knuth's Volume <!-- /@w -->E, +<cite>Computer Modern Typefaces</cite>. + + <p><a name="index-MetaPost-source_002c-prettyprinting-489"></a>Using an appropriate MFT style file, it is also possible to configure +MFT for typesetting MetaPost sources. However, MFT does not search +the usual places for MetaPost input files. +</dl> + + <p>If you use eight-bit characters in the input file, they are +passed on verbatim to the TeX output file; it is up to you to +configure TeX to print these properly. + +<div class="node"> +<a name="MetaPost"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#BibTeX">BibTeX</a>, +Previous: <a rel="previous" accesskey="p" href="#Metafont">Metafont</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">6 MetaPost: Creating technical illustrations</h2> + +<p><a name="index-MetaPost-490"></a><a name="index-PostScript-meets-Metafont-491"></a><a name="index-Metafont-meets-PostScript-492"></a>MetaPost is a picture-drawing language similar to Metafont +(see <a href="#Metafont">Metafont</a>), but instead of outputting bitmaps in a “font”, it +outputs PostScript commands. It's primarily intended for creating +technical illustrations. + + <p>MetaPost also provides for arbitrary integration of text and graphics in +a natural way, using any typesetter (TeX and Troff are both +supported) and a number of other subsidiary programs, described below. + +<ul class="menu"> +<li><a accesskey="1" href="#mpost-invocation">mpost invocation</a>: Invoking MetaPost. +<li><a accesskey="2" href="#Initial-MetaPost">Initial MetaPost</a>: Making mems. +<li><a accesskey="3" href="#dvitomp-invocation">dvitomp invocation</a>: DVI-to-MPX translation. +</ul> + +<div class="node"> +<a name="mpost-invocation"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Initial-MetaPost">Initial MetaPost</a>, +Up: <a rel="up" accesskey="u" href="#MetaPost">MetaPost</a> + +</div> + +<h3 class="section">6.1 <code>mpost</code> invocation</h3> + +<p><a name="index-mpost-493"></a><a name="index-MetaPost-invocation-494"></a> +<a name="index-mpman_002eps-495"></a>MetaPost (installed as <code>mpost</code>) reads a series of pictures +specified in the MetaPost programming language, and outputs +corresponding PostScript code. This section merely describes the +options available in the Web2c implementation. For a complete +description of the MetaPost language, see AT&T technical report +CSTR-162, generally available in <samp><var>texmf</var><span class="file">/doc/metapost/</span></samp>, +where <var>texmf</var> is the root of TeX directory structure. See +also: + <ul> +<li><a href="http://cm.bell-labs.com/who/hobby/MetaPost.html">http://cm.bell-labs.com/who/hobby/MetaPost.html</a> (the + MetaPost author's home page); +<li><a href="http://tug.org/metapost">http://tug.org/metapost</a> (papers, packages, and + related information). +</ul> + + <p><a name="index-mpgraph_002eps-496"></a>Also, a standard MetaPost package for drawing graphs is documented in +AT&T technical report CSTR-164, available as the file <samp><span class="file">mpgraph.ps</span></samp>, +generally stored alongside <samp><span class="file">mpman.ps</span></samp>. + + <p>MetaPost processes its command line and determines its memory dump (mem) +file in a way exactly analogous to Metafont and TeX (see <a href="#tex-invocation"><code>tex</code> invocation</a>, and see <a href="#Memory-dumps">Memory dumps</a>). +Synopses: + +<pre class="example"> mpost [<var>option</var>]... [<var>mpname</var>[.mp]] [<var>mp-commands</var>] + mpost [<var>option</var>]... \<var>first-line</var> + mpost [<var>option</var>]... &<var>mem</var> <var>args</var> +</pre> + <p><a name="index-g_t_002emp-497"></a><a name="index-MetaPost-input-files-498"></a>MetaPost searches the usual places for the main input file <var>mpname</var> +(see <a href="kpathsea.html#Supported-file-formats">Supported file formats</a>), extending +<var>mpname</var> with <samp><span class="file">.mp</span></samp> if necessary. To see all the relevant +paths, set the environment variable <code>KPATHSEA_DEBUG</code> to ‘<samp><span class="samp">-1</span></samp>’ +before running the program. + + <p><a name="index-beginfig-499"></a><a name="index-g_t_002e_0040var_007bnnn_007d-_0040r_007bPostScript-figures_007d-500"></a><a name="index-g_t_002etfm-_0040r_007boutput_007d-501"></a><a name="index-mpout-502"></a><a name="index-TFM-files_002c-output-by-MetaPost-503"></a><a name="index-PostScript-output-504"></a>MetaPost writes its PostScript output to a series of files +<samp><var>basempname</var><span class="file">.</span><var>nnn</var></samp> (or perhaps +<samp><var>basempname</var><span class="file">.ps</span></samp>, very occasionally +<samp><var>basempname</var><span class="file">.tfm</span></samp>), where <var>nnn</var> are the figure numbers +specified in the input, typically to the <code>beginfig</code> macro, and +<var>basempname</var> is the basename of <var>mpname</var>, or ‘<samp><span class="samp">mpout</span></samp>’ if no +input file was specified. MetaPost uses the ‘<samp><span class="samp">.ps</span></samp>’ extension when +the figure number is out of range, e.g., if you say <code>beginfig(-1)</code>. + + <p>You can use the output files as figures in a TeX document just as +with any other PostScript figures. For example, with this TeX command: +<pre class="example"> \special{psfile="<var>filename</var>"} +</pre> + <p class="noindent">or by using <samp><span class="file">epsf.tex</span></samp> (see <a href="dvips.html#EPSF-macros">EPSF macros</a>). + + <p><a name="index-btex-_0040r_007bfor-MetaPost-labels_007d-505"></a><a name="index-etex-_0040r_007bfor-MetaPost-labels_007d-506"></a>The MetaPost construct +<pre class="example"> btex ... <var>tex-input</var> ... etex +</pre> + <p class="noindent">generates a MetaPost picture expression corresponding to +<var>tex-input</var>. + + <p>The construct +<pre class="example"> verbatimtex ... <var>tex-input</var> ... etex +</pre> + <p class="noindent">simply passes the <var>tex-input</var> through to +TeX. For example, if you are using LaTeX, your MetaPost input file +must start with a <code>verbatimtex</code> block that gives the necessary +<code>\documentclass</code> (or <code>\documentstyle</code>) +<code>\begin{document}</code> command. You will also need to set the +enviroment variable <code>TEX</code> to ‘<samp><span class="samp">latex</span></samp>’. + + <p><var>tex-input</var> need not be specifically TeX input; it could also be +Troff. In that case, you will need the ‘<samp><span class="samp">-m pictures</span></samp>’ Troff macro +package (unfortunately absent from many Troff implementations), or an +equivalent such as the ‘<samp><span class="samp">-m pspic</span></samp>’ macros from GNU groff described +in grops(1). + + <p><a name="index-PostScript-fonts_002c-and-Troff-507"></a><a name="index-Troff_002c-and-MetaPost-508"></a><a name="index-Computer-Modern-fonts_002c-and-Troff-509"></a>Naturally, you must use fonts that are supported by the typesetter; +specifically, you'll probably want to use standard PostScript fonts with +Troff. And only the TeX system understands Computer Modern or other +Metafont fonts; you can also use PostScript fonts with TeX, of course. + + <p><a name="index-mproof_002etex-510"></a><a name="index-downloading-of-fonts-for-MetaPost-labels-511"></a><a name="index-font-downloading-for-MetaPost-labels-512"></a>MetaPost-generated PostScript figures which do use Computer Modern fonts +for labels cannot be directly previewed or printed. Instead, you must +include them in a TeX document and run the resulting DVI file through +Dvips to arrange for the downloading of the required fonts (see <a href="dvips.html#Fonts-in-figures">Fonts in figures</a>). To help with this, the MetaPost +distribution provides a small TeX file <samp><span class="file">mproof.tex</span></samp> which is +typically called as: +<pre class="example"> tex mproof <var>mp-output-files</var>... ; dvips mproof -o +</pre> + <p class="noindent">The resulting file <samp><span class="file">mproof.ps</span></samp> can then be printed or previewed. + + <p><a name="index-prologues_0040r_007b_002c-and-EPSF-output_007d-513"></a><a name="index-psfonts_002emap_0040r_007b_002c-read-by-MetaPost_007d-514"></a>To generate EPSF files, set the internal MetaPost variable +<code>prologues</code> positive. To make the output files self-contained, use +only standard PostScript fonts. MetaPost reads the same +<samp><span class="file">psfonts.map</span></samp> file as Dvips, to determine PostScript fonts that +need to be downloaded (see <a href="dvips.html#psfonts_002emap">psfonts.map</a>). + + <p><a name="index-PDF_002c-and-_0040code_007b_002emps_007d-files-515"></a><a name="index-g_t_0040code_007b_002emps_007d-files-and-PDF-516"></a>It is posible for pdfTeX to read MetaPost output directly; this is +in contrast to general EPSF files, which have to be converted for use +with PDF output. The easiest way is to name the MetaPost output files +with the <code>.mps</code> extension. Then the LaTeX +<code>\includegraphics</code> command, for example, will be able to read +them, even when outputting PDF. + + <p><a name="index-security_002c-and-_0040code_007bwrite_007d-517"></a>MetaPost can write output files, via the <code>write</code> primitive; this +opens a security hole. See <a href="#tex-invocation">tex invocation</a>. + + <p>The program accepts the following options, as well as the standard +‘<samp><span class="samp">-help</span></samp>’ and ‘<samp><span class="samp">-version</span></samp>’ (see <a href="#Common-options">Common options</a>): + <dl> +<dt>‘<samp><span class="samp">-[no]-file-line-error</span></samp>’<dt>‘<samp><span class="samp">-fmt=</span><var>fmtname</var></samp>’<dt>‘<samp><span class="samp">-halt-on-error</span></samp>’<dt>‘<samp><span class="samp">-ini</span></samp>’<dt>‘<samp><span class="samp">-interaction=</span><var>string</var></samp>’<dt>‘<samp><span class="samp">-jobname=</span><var>string</var></samp>’<dt>‘<samp><span class="samp">-kpathsea-debug=</span><var>number</var></samp>’<dt>‘<samp><span class="samp">-[no]parse-first-line</span></samp>’<dt>‘<samp><span class="samp">-output-directory</span></samp>’<dt>‘<samp><span class="samp">-progname=</span><var>string</var></samp>’<dt>‘<samp><span class="samp">-recorder</span></samp>’<dt>‘<samp><span class="samp">-translate-file=</span><var>tcxfile</var></samp>’<dt>‘<samp><span class="samp">-8bit</span></samp>’<dd>These options are common to TeX, Metafont, and MetaPost. +See <a href="#Common-options">Common options</a>. + + <br><dt>‘<samp><span class="samp">-T</span></samp>’<dt>‘<samp><span class="samp">-troff</span></samp>’<dd><a name="index-g_t_002dT-518"></a><a name="index-g_t_002dtroff-519"></a><a name="index-prologues-520"></a>Set the <code>prologues</code> internal variable to <code>1</code>. + + <br><dt>‘<samp><span class="samp">-tex=</span><var>texprogram</var></samp>’<dd><a name="index-g_t_002dtex_003d_0040var_007btexprogram_007d-521"></a>When this option is given, the program <var>texprogram</var> is used to +typeset the labels. + + </dl> + +<div class="node"> +<a name="Initial-MetaPost"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#dvitomp-invocation">dvitomp invocation</a>, +Previous: <a rel="previous" accesskey="p" href="#mpost-invocation">mpost invocation</a>, +Up: <a rel="up" accesskey="u" href="#MetaPost">MetaPost</a> + +</div> + +<h3 class="section">6.2 Initial MetaPost</h3> + +<p><a name="index-initial-MetaPost-522"></a><a name="index-MetaPost_002c-initial-523"></a> +As of MetaPost 1.504 (TeX Live 2011), MetaPost no longer dumps +<samp><span class="file">.mem</span></samp> files (see <a href="#Memory-dumps">Memory dumps</a>) and does not distinguish +virgin and initial forms (see <a href="#Initial-and-virgin">Initial and virgin</a>). Instead, the +“initial” file name is read in its source form—that is, +<samp><span class="file">mpost.mp</span></samp> when the program is invoked as <samp><span class="command">mpost</span></samp>. + + <p>For a list of options and other information, see <a href="#mpost-invocation">mpost invocation</a>. + + <p><a name="index-Metafont_002c-compatibility-in-MetaPost-524"></a><a name="index-plain-Metafont_002c-compatibility-in-MetaPost-525"></a><a name="index-MetaPost-and-plain-Metafont-compatibility-526"></a><a name="index-mfplain-527"></a>MetaPost provides a format with all the features of plain Metafont, +called <samp><span class="file">mfplain</span></samp>. You can use that in the same way; just run +<samp><span class="command">mfplain</span></samp> instead of <samp><span class="command">mpost</span></samp>. This lets you directly +process Metafont source files with MetaPost, producing character +proofs (one file for each character) similar to those produced with +Metafont in proof mode and GFtoDVI (see <a href="#gftodvi-invocation">gftodvi invocation</a>). + +<div class="node"> +<a name="dvitomp-invocation"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Initial-MetaPost">Initial MetaPost</a>, +Up: <a rel="up" accesskey="u" href="#MetaPost">MetaPost</a> + +</div> + +<h3 class="section">6.3 DVItoMP: DVI to MPX conversion</h3> + +<p><a name="index-dvitomp-528"></a><a name="index-DVI-files_002c-converting-to-MPX-529"></a><a name="index-MPX-files_002c-converting-from-DVI-files-530"></a> +DVItoMP converts DVI files into low-level MetaPost commands in a +so-called MPX file. Synopsis: + +<pre class="example"> dvitomp <var>dvifile</var>[.dvi] [<var>mpxfile</var>[.mpx]] +</pre> + <p class="noindent">If <var>mpxfile</var> is not specified, the output goes to the basename of +<var>dvifile</var> extended with <samp><span class="file">.mpx</span></samp>, e.g., ‘<samp><span class="samp">dvitomp +/wherever/foo.dvi</span></samp>’ creates <samp><span class="file">./foo.mpx</span></samp>. + + <p><a name="index-color_002c-in-DVItoMP-531"></a>DVItoMP supports Dvips-style color specials, such as ‘<samp><span class="samp">color push +</span><var>name</var></samp>’ and ‘<samp><span class="samp">color pop</span></samp>’, outputting them as <code>withcolor</code> +MetaPost commands. + + <p>The only options are ‘<samp><span class="samp">-help</span></samp>’ and ‘<samp><span class="samp">-version</span></samp>’ (see <a href="#Common-options">Common options</a>). + +<div class="node"> +<a name="BibTeX"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#WEB">WEB</a>, +Previous: <a rel="previous" accesskey="p" href="#MetaPost">MetaPost</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">7 BibTeX: Bibliographies</h2> + +<p><a name="index-bibliographies_002c-creating-532"></a><a name="index-Bib_0040TeX_007b_007d-533"></a> +BibTeX automates much of the job of typesetting bibliographies, and +makes bibliography entries reusable in many different contexts. + +<ul class="menu"> +<li><a accesskey="1" href="#bibtex-invocation">bibtex invocation</a> +<li><a accesskey="2" href="#Basic-BibTeX-style-files">Basic BibTeX style files</a>: The standard and semi-standard styles. +</ul> + +<div class="node"> +<a name="bibtex-invocation"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Basic-BibTeX-style-files">Basic BibTeX style files</a>, +Up: <a rel="up" accesskey="u" href="#BibTeX">BibTeX</a> + +</div> + +<h3 class="section">7.1 BibTeX invocation</h3> + +<p><a name="index-bibtex-534"></a> +<a name="index-g_t_002ebbl-_0040r_007bbibliography-files_007d-535"></a><a name="index-g_t_002eaux-_0040r_007bcross_002dreference-files_007d-536"></a><a name="index-g_t_002ebib-_0040r_007bbibliography-databases_007d-537"></a>BibTeX creates a printable bibliography (<samp><span class="file">.bbl</span></samp>) file from +references in a <samp><span class="file">.aux</span></samp> file, generally written by TeX or +LaTeX. The <samp><span class="file">.bbl</span></samp> file is then incorporated on a subsequent +run. The basic bibliographic information comes from <samp><span class="file">.bib</span></samp> files, +and a BibTeX style (<samp><span class="file">.bst</span></samp>) file controls the precise contents +of the <samp><span class="file">.bbl</span></samp> file. Synopsis: + +<pre class="example"> bibtex [<var>option</var>]... <var>auxfile</var>[.aux] +</pre> + <p><a name="index-g_t_002eblg-_0040r_007bBib_0040TeX_007b_007d-log-file_007d-538"></a><a name="index-log-file_002c-Bib_0040TeX_007b_007d-539"></a>The output goes to the basename of <var>auxfile</var> extended with +<samp><span class="file">.bbl</span></samp>; for example, ‘<samp><span class="samp">bibtex /wherever/foo.aux</span></samp>’ creates +<samp><span class="file">./foo.bbl</span></samp>. BibTeX also writes a log file to the basename of +<var>auxfile</var> extended with ‘<samp><span class="samp">.blg</span></samp>’. + + <p><a name="index-g_t_005cbibliography-540"></a><a name="index-g_t_005cbibliographystyle-541"></a><a name="index-TEXBIB_0040r_007b_002c-search-path-for-bib-files_007d-542"></a><a name="index-BIBINPUTS_0040r_007b_002c-search-path-for-bib-files_007d-543"></a><a name="index-BSTINPUTS_0040r_007b_002c-search-path-for-bst-files_007d-544"></a>The names of the <samp><span class="file">.bib</span></samp> and <samp><span class="file">.bst</span></samp> files are specified in the +<samp><span class="file">.aux</span></samp> file as well, via the <samp><span class="file">\bibliography</span></samp> and +<samp><span class="file">\bibliographystyle</span></samp> (La)TeX macros. BibTeX searches for +<samp><span class="file">.bib</span></samp> files using the <code>BIBINPUTS</code> and <code>TEXBIB</code> paths, +and for <samp><span class="file">.bst</span></samp> files using <code>BSTINPUTS</code> (see <a href="kpathsea.html#Supported-file-formats">Supported file formats</a>). It does no path searching for +<samp><span class="file">.aux</span></samp> files. + + <p>The program accepts the following options, as well as the standard +‘<samp><span class="samp">-help</span></samp>’ and ‘<samp><span class="samp">-version</span></samp>’ (see <a href="#Common-options">Common options</a>): + <dl> +<dt>‘<samp><span class="samp">-terse</span></samp>’<dd><a name="index-g_t_002dterse-545"></a><a name="index-terse-output-546"></a><a name="index-verbose-Bib_0040TeX_007b_007d-output_002c-suppressing-547"></a>Suppress the program banner and progress reports normally output. + + <br><dt>‘<samp><span class="samp">-min-crossrefs=</span><var>n</var></samp>’<dd><a name="index-g_t_002dmin_002dcrossrefs_003d_0040var_007bn_007d-548"></a><a name="index-cross_002dreferenced-bibliography-items-549"></a><a name="index-bibliography-items_002c-cross_002dreferenced-550"></a>If at least <var>n</var> (2 by default) bibliography entries refer to another +entry <var>e</var> via their <code>crossref</code> field, include <var>e</var> in the +<tt>.bbl</tt> file, even if it was not explicitly referenced in the <tt>.aux</tt> +file. For example, <var>e</var> might be a conference proceedings as a whole, +with the cross-referencing entries being individual articles published +in the proceedings. In some circumstances, you may want to avoid these +automatic inclusions altogether; to do this, make <var>n</var> a sufficiently +large number. +</dl> + + <p>See also: + <dl> +<dt><samp><span class="file">btxdoc.tex</span></samp><dd><a name="index-btxdoc_002etex-551"></a>Basic LaTeXable documentation for general BibTeX users. + + <br><dt><samp><span class="file">btxhak.tex</span></samp><dd><a name="index-btxhak_002etex-552"></a><a name="index-style-design_002c-for-Bib_0040TeX_007b_007d-553"></a>LaTeXable documentation for style designers. + + <br><dt><samp><span class="file">btxdoc.bib</span></samp><dd><a name="index-btxdoc_002ebib-554"></a>BibTeX database file for the two above documents. + + <br><dt><samp><span class="file">xampl.bib</span></samp><dd><a name="index-xampl_002ebib-555"></a>Example database file with all the standard entry types. + + <br><dt><samp><span class="file"><a href="ftp://ftp.math.utah.edu/pub/tex/bib/">ftp://ftp.math.utah.edu/pub/tex/bib/</a></span></samp><dd><a name="index-ftp_002emath_002eutah_002eedu-556"></a><a name="index-Bib_0040TeX_007b_007d-collection-557"></a><a name="index-TUGboat-bibliography-558"></a><a name="index-g_t_0040TeX_007b_007d_002c-bibliographies-for-559"></a>A very large <samp><span class="file">.bib</span></samp> and <samp><span class="file">.bst</span></samp> collection, including +references for all the standard TeX books and a complete bibliography +for TUGboat. +</dl> + +<div class="node"> +<a name="Basic-BibTeX-style-files"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#bibtex-invocation">bibtex invocation</a>, +Up: <a rel="up" accesskey="u" href="#BibTeX">BibTeX</a> + +</div> + +<h3 class="section">7.2 Basic BibTeX style files</h3> + +<p><a name="index-basic-Bib_0040TeX_007b_007d-style-files-560"></a><a name="index-Bib_0040TeX_007b_007d-style-files-561"></a> +Here are descriptions of the four standard and four semi-standard basic +BibTeX styles. <samp><var>CTAN:</var><span class="file">/biblio/bibtex</span></samp> contains these and +many more (for CTAN info, see <a href="kpathsea.html#unixtex_002eftp">unixtex.ftp</a>). + + <dl> +<dt><code>plain</code><dd><a name="index-plain_002ebst-562"></a>Sorts entries alphabetically, with numeric labels. Generally formatted +according to van Leunen's <cite>A Handbook for Scholars</cite>. The other +style files listed here are based on <code>plain</code>. + + <br><dt><code>abbrv</code><dd><a name="index-abbrv_002ebst-563"></a>First names, month names, and journal names are abbreviated. + + <br><dt><code>acm</code><dd><a name="index-acm_002ebst-564"></a>Names are printed in small caps. + + <br><dt><code>alpha</code><dd><a name="index-alpha_002ebst-565"></a>Alphanumeric labels, e.g., ‘<samp><span class="samp">Knu66</span></samp>’. + + <br><dt><code>apalike</code><dd><a name="index-apalike_002ebst-566"></a>No labels at all; instead, the year appears in parentheses after the author. +Use this in conjunction with <samp><span class="file">apalike.tex</span></samp> (plain TeX) or +<samp><span class="file">apalike.sty</span></samp> (LaTeX), which also changes the citations in the +text to be ‘<samp><span class="samp">(</span><var>author</var><span class="samp">, </span><var>year</var><span class="samp">)</span></samp>’. + + <br><dt><code>ieeetr</code><dd><a name="index-ieeetr_002ebst-567"></a>Numeric labels, entries in citation order, <span class="sc">ieee</span> abbreviations, +article titles in quotes. + + <br><dt><code>siam</code><dd><a name="index-siam_002ebst-568"></a>Numeric labels, alphabetic order, <cite>Math. Reviews</cite> +abbreviations, names in small caps. + + <br><dt><code>unsrt</code><dd><a name="index-unsrt_002ebst-569"></a>Lists entries in citation order, i.e., unsorted. + + <br><dt><code>btxbst.doc</code><dd>The template file and documentation for the standard styles. + + </dl> + +<div class="node"> +<a name="WEB"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#DVI-utilities">DVI utilities</a>, +Previous: <a rel="previous" accesskey="p" href="#BibTeX">BibTeX</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">8 WEB: Literate programming</h2> + +<p><a name="index-WEB-570"></a><a name="index-literate-programming-571"></a> +<dfn>WEB</dfn> languages allow you to write a single source file that can +produce both a compilable program and a well-formatted document +describing the program in as much detail as you wish to prepare. +Writing in this kind of dual-purpose language is called <dfn>literate +programming</dfn>. (The Usenet newsgroup <samp><span class="file">comp.programming.literate</span></samp> +is devoted to this subject.) + + <p><a name="index-webman_002etex-572"></a><a name="index-Spiderweb-573"></a><a name="index-Cweb-574"></a><a name="index-CWEB-575"></a><a name="index-Awk_002c-WEB-for-576"></a><a name="index-Ada_002c-WEB-for-577"></a><a name="index-Troff_002c-WEB-for-578"></a>WEB-like languages have been implemented with many pairs of base +languages: Cweb provides C and Troff (see <a href="#References">References</a>); CWEB provides +C and TeX (<samp><var>CTAN:</var><span class="file">/web/c_cpp/cweb</span></samp>); Spiderweb provides C, +C++, Awk, Ada, many others, and TeX +(<samp><var>CTAN:</var><span class="file">/web/spiderweb</span></samp>); and, of course, the original WEB +provides Pascal and TeX, the implementation languages for the +original TeX, Metafont, MetaPost, and related programs to come from +the TeX project at Stanford. + + <p>The original WEB language is documented in the file <samp><span class="file">webman.tex</span></samp>, +which is included in the <a href="ftp://ftp.tug.org/tex/lib.tar.gz">ftp://ftp.tug.org/tex/lib.tar.gz</a> archive +(and available in many other places, of course). + +<ul class="menu"> +<li><a accesskey="1" href="#tangle-invocation">tangle invocation</a> +<li><a accesskey="2" href="#weave-invocation">weave invocation</a> +<li><a accesskey="3" href="#pooltype-invocation">pooltype invocation</a> +</ul> + +<div class="node"> +<a name="tangle-invocation"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#weave-invocation">weave invocation</a>, +Up: <a rel="up" accesskey="u" href="#WEB">WEB</a> + +</div> + +<h3 class="section">8.1 Tangle: Translate WEB to Pascal</h3> + +<p><a name="index-tangle-579"></a><a name="index-Pascal_002c-creating-from-WEB-580"></a><a name="index-WEB-programs_002c-compiling-581"></a> +Tangle creates a compilable Pascal program from a WEB source file +(see <a href="#WEB">WEB</a>). Synopsis: + +<pre class="example"> tangle [<var>option</var>]... <var>webfile</var>[.web] [<var>changefile</var>[.ch]] +</pre> + <p><a name="index-change-files_002c-and-Tangle-582"></a>The Pascal output is written to the basename of <var>webfile</var> extended +with ‘<samp><span class="samp">.p</span></samp>’; for example, ‘<samp><span class="samp">tangle /wherever/foo.web</span></samp>’ creates +<samp><span class="file">./foo.p</span></samp>. Tangle applies <var>changefile</var> to <var>webfile</var> before +writing the output; by default, there is no change file. + + <p><a name="index-pool-file_002c-writing-583"></a><a name="index-string-pool_002c-writing-584"></a>If the program makes use of the WEB string facility, Tangle writes the +string pool to the basename of <var>webfile</var> extended with ‘<samp><span class="samp">.pool</span></samp>’. + + <p>The Pascal output is packed into lines of 72 characters or less, with +the only concession to readability being the termination of lines at +semicolons when this can be done conveniently. + + <p>The program accepts the following options, as well as the standard +‘<samp><span class="samp">--help</span></samp>’ and ‘<samp><span class="samp">--version</span></samp>’ (see <a href="#Common-options">Common options</a>): + + <dl> +<dt>‘<samp><span class="samp">-length=</span><var>number</var></samp>’<dd><a name="index-g_t_002dlength_003d_0040var_007bnumber_007d-585"></a><a name="index-identifier-length-586"></a>The number of characters that are considered significant in an +identifier. Whether underline characters are counted depends on the +‘<samp><span class="samp">-underline</span></samp>’ option. The default value is 32, the original tangle +used 7, but this proved too restrictive for use by Web2c. + + <br><dt>‘<samp><span class="samp">-lowercase</span></samp>’<dt>‘<samp><span class="samp">-mixedcase</span></samp>’<dt>‘<samp><span class="samp">-uppercase</span></samp>’<dd><a name="index-g_t_002dlowercase-587"></a><a name="index-g_t_002dmixedcase-588"></a><a name="index-g_t_002duppercase-589"></a><a name="index-identifier-case-590"></a>These options specify the case of identifiers in the output of tangle. +If ‘<samp><span class="samp">-uppercase</span></samp>’ (‘<samp><span class="samp">-lowercase</span></samp>’) is specified, tangle will +convert all identfiers to uppercase (lowercase). The default is +‘<samp><span class="samp">-mixedcase</span></samp>’, which specifies that the case will not be changed. + + <br><dt>‘<samp><span class="samp">-underline</span></samp>’<dd><a name="index-g_t_002dunderline-591"></a><a name="index-identifiers-with-underlines-592"></a>When this option is given, tangle does not strip underline characters +from identifiers. + + <br><dt>‘<samp><span class="samp">-loose</span></samp>’<dt>‘<samp><span class="samp">-strict</span></samp>’<dd><a name="index-g_t_002dloose-593"></a><a name="index-g_t_002dstrict-594"></a><a name="index-identifier-collisions-595"></a>These options specify how strict tangle must be when checking +identifiers for equality. The default is ‘<samp><span class="samp">-loose</span></samp>’, which means +that tangle will follow the rules set by the case-smashing and underline +options above. If ‘<samp><span class="samp">-strict</span></samp>’ is set, then identifiers will always +be stripped of underlines and converted to uppercase before checking +whether they collide. + + </dl> + +<div class="node"> +<a name="weave-invocation"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#pooltype-invocation">pooltype invocation</a>, +Previous: <a rel="previous" accesskey="p" href="#tangle-invocation">tangle invocation</a>, +Up: <a rel="up" accesskey="u" href="#WEB">WEB</a> + +</div> + +<h3 class="section">8.2 Weave: Translate WEB to TeX</h3> + +<p><a name="index-weave-596"></a><a name="index-g_t_0040TeX_007b_007d_002c-creating-from-WEB-597"></a><a name="index-WEB-programs_002c-typesetting-598"></a><a name="index-prettyprinting-WEB-programs-599"></a> +Weave creates a TeX document from a WEB source file (see <a href="#WEB">WEB</a>), +assuming various macros defined in <samp><span class="file">webmac.tex</span></samp>. It takes care of +typographic details such as page layout, indentation, and italicizing +identifiers. It also automatically gathers and outputs extensive +cross-reference information. Synopsis: + +<pre class="example"> weave [<var>option</var>]... <var>webfile</var>[.web] [<var>changefile</var>[.ch]] +</pre> + <p><a name="index-change-files_002c-and-Weave-600"></a>The output is to the basename of <var>webfile</var> extended with +‘<samp><span class="samp">.tex</span></samp>’; for example, ‘<samp><span class="samp">weave /wherever/foo.web</span></samp>’ creates +<samp><span class="file">./foo.tex</span></samp>. Weave applies <var>changefile</var> to <var>webfile</var> +before writing the output; by default, there is no change file. + + <p>The program accepts the following option, as well as the standard +‘<samp><span class="samp">-verbose</span></samp>’, ‘<samp><span class="samp">-help</span></samp>’ and ‘<samp><span class="samp">-version</span></samp>’ (see <a href="#Common-options">Common options</a>): + <dl> +<dt>‘<samp><span class="samp">-x</span></samp>’<dd><a name="index-g_t_002dx-601"></a><a name="index-cross_002dreferences_002c-omitting-602"></a><a name="index-CONTENTS_002etex-603"></a><a name="index-webmac_002etex-604"></a>Omit the cross-reference information: the index, the list of WEB module +names, and the table of contents (an empty <samp><span class="file">CONTENTS.tex</span></samp> file will +still be written when the Weave output file is processed by TeX using +the default <samp><span class="file">webmac.tex</span></samp>, though). +</dl> + + <p>Conventionally, WEB programmers should define the TeX <code>\title</code> +macro at the beginning of the source file. Also, to get output of only +changed modules, one can say <code>\let\maybe=\iffalse</code> (usually as the +first change in the change file). + +<div class="node"> +<a name="pooltype-invocation"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#weave-invocation">weave invocation</a>, +Up: <a rel="up" accesskey="u" href="#WEB">WEB</a> + +</div> + +<h3 class="section">8.3 Pooltype: Display WEB pool files</h3> + +<p><a name="index-pooltype-605"></a><a name="index-type-programs_002c-pool-606"></a><a name="index-string-numbers_002c-displaying-607"></a><a name="index-WEB-pool-files_002c-displaying-608"></a> +Pooltype shows the so-called <dfn>string number</dfn> of each string in a WEB +pool file (see <a href="#WEB">WEB</a>), as output by Tangle (see <a href="#tangle-invocation">tangle invocation</a>), including the first 256 strings corresponding to the +possible input characters. Pooltype primarily serves as an example of +WEB conventions to implementors of the TeX system. Synopsis: + +<pre class="example"> pooltype [<var>option</var>]... <var>poolfile</var>[.pool] +</pre> + <p class="noindent">No path searching is done for <var>poolfile</var>. Output is to standard +output. + + <p>The only options are ‘<samp><span class="samp">--help</span></samp>’ and ‘<samp><span class="samp">--version</span></samp>’ (see <a href="#Common-options">Common options</a>). + + <p>As an example of the output, here is the (edited) output for <samp><span class="file">tex.pool</span></samp>: +<pre class="example"> 0: "^^@" + 1: "^^A" + ... + 255: "^^ff" + 256: "pool size" + ... + 1314: "Using character substitution: " + (23617 characters in all.) +</pre> + <p><a name="index-representation-of-strings-609"></a><a name="index-string-representation-610"></a>In Metafont and MetaPost, the first 256 characters are actually +represented as single bytes (i.e., themselves), not in the ‘<samp><span class="samp">^^</span></samp>’ +notation. Consider Pooltype as showing the results after conversion for +output. + +<div class="node"> +<a name="DVI-utilities"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Font-utilities">Font utilities</a>, +Previous: <a rel="previous" accesskey="p" href="#WEB">WEB</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">9 DVI utilities</h2> + +<p><a name="index-DVI-utilities-611"></a> +TeX outputs a file in <dfn>DVI</dfn> (DeVice Independent) format as a +compact representation of the original document. DVI files can be +translated to meet the requirements of a real physical device, such as +PostScript printers (see <a href="dvips.html#Top">Introduction</a>), PCL +printers (see dvilj(1)), and X displays (see xdvi(1)). In fact, DVI +translators are available for virtually all common devices: see +<samp><var>CTAN:</var><span class="file">/dviware</span></samp> (for CTAN info, see <a href="kpathsea.html#unixtex_002eftp">unixtex.ftp</a>). + + <p><a name="index-dvitype_002eweb-612"></a><a name="index-DVI-format-definition-613"></a>For the precise definition of the DVI file format, see (for example) the +source file <samp><span class="file">web2c/dvitype.web</span></samp>. + + <p>The DVI-processing programs in the Web2c distribution are not device +drivers; they perform generic utility functions. + +<ul class="menu"> +<li><a accesskey="1" href="#dvicopy-invocation">dvicopy invocation</a>: Expand virtual fonts. +<li><a accesskey="2" href="#dvitype-invocation">dvitype invocation</a>: DVI to human-readable text. +</ul> + +<div class="node"> +<a name="dvicopy-invocation"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#dvitype-invocation">dvitype invocation</a>, +Up: <a rel="up" accesskey="u" href="#DVI-utilities">DVI utilities</a> + +</div> + +<h3 class="section">9.1 DVIcopy: Canonicalize virtual font references</h3> + +<p><a name="index-dvicopy-614"></a><a name="index-virtual-fonts_002c-expanding-615"></a> +DVIcopy reads a DVI file, expands any references to virtual fonts +(see <a href="dvips.html#Virtual-fonts">Virtual fonts</a>) to base fonts, and writes the +resulting DVI file. Thus you can use virtual fonts even if your DVI +processor does not support them, by passing the documents through +DVIcopy first. Synopsis: + +<pre class="example"> dvicopy [<var>option</var>]... [<var>indvi</var>[.dvi] [<var>outdvi</var>[.dvi]]] +</pre> + <p>DVIcopy reads standard input if <var>indvi</var> is not specified, and writes +standard output if <var>outdvi</var> is not specified. + + <p>The program accepts the following options, as well as the standard +‘<samp><span class="samp">-help</span></samp>’ and ‘<samp><span class="samp">-version</span></samp>’ (see <a href="#Common-options">Common options</a>): + <dl> +<dt>‘<samp><span class="samp">-magnification=</span><var>integer</var></samp>’<dd><a name="index-g_t_002dmagnification_003d_0040var_007binteger_007d-616"></a><a name="index-magnification-617"></a><a name="index-g_t_005cmag-618"></a>Override existing magnification in <var>indvi</var> with <var>integer</var>; 1000 +specifies no magnification. This is equivalent to setting TeX's +<code>\mag</code> parameter. + + <br><dt>‘<samp><span class="samp">-max-pages=</span><var>n</var></samp>’<dd><a name="index-g_t_002dmax_002dpages_003d_0040var_007bn_007d-619"></a>Process <var>n</var> pages; default is one million. + + <br><dt>‘<samp><span class="samp">-page-start=</span><var>page-spec</var></samp>’<dd><a name="index-g_t_002dpage_002dstart_003d_0040var_007bpage_002dspec_007d-620"></a><a name="index-starting-page-621"></a><a name="index-page_002c-starting-622"></a><a name="index-g_t_005ccount_0040var_007bn_007d-623"></a>Start at the first page matching <var>page-spec</var>, which is one or more +(signed) integers separated by periods, corresponding to TeX's +<code>\count0...9</code> parameters at <code>\shipout</code> time; ‘<samp><span class="samp">*</span></samp>’ +matches anything. Examples: ‘<samp><span class="samp">3</span></samp>’, ‘<samp><span class="samp">1.*.-4</span></samp>’. +</dl> + +<div class="node"> +<a name="dvitype-invocation"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#dvicopy-invocation">dvicopy invocation</a>, +Up: <a rel="up" accesskey="u" href="#DVI-utilities">DVI utilities</a> + +</div> + +<h3 class="section">9.2 DVItype: Plain text transliteration of DVI files</h3> + +<p><a name="index-dvitype-_0040r_007bDVI-validation_007d-624"></a><a name="index-conversion_002c-DVI-to-plain-text-625"></a><a name="index-plain-text_002c-converting-DVI-to-626"></a><a name="index-human_002dreadable-text_002c-converting-DVI-to-627"></a><a name="index-type-programs_002c-DVI-628"></a><a name="index-validation_002c-of-DVI-files-629"></a> +DVItype translates a DeVice Independent (DVI) file (as output by TeX, +for example) to a plain text file that humans can read. It also serves +as a DVI-validating program, i.e., if DVItype can read a file, it's +correct. Synopsis: + +<pre class="example"> dvitype [<var>option</var>]... <var>dvifile</var>[.dvi] +</pre> + <p class="noindent">DVItype does not read any bitmap files, but it does read TFM files for +fonts referenced in <var>dvifile</var>. The usual places are searched +(see <a href="kpathsea.html#Supported-file-formats">Supported file formats</a>). To see all the +relevant paths, set the environment variable <code>KPATHSEA_DEBUG</code> to +‘<samp><span class="samp">-1</span></samp>’ before running the program. + + <p>Output goes to standard output. + + <p>The program accepts the following options, as well as the standard +‘<samp><span class="samp">-help</span></samp>’ and ‘<samp><span class="samp">-version</span></samp>’ (see <a href="#Common-options">Common options</a>): + <dl> +<dt>‘<samp><span class="samp">-dpi=</span><var>real</var></samp>’<dd><a name="index-g_t_002ddpi_003d_0040var_007breal_007d-630"></a>Do pixel movement calculations at <var>real</var> pixels per inch; default +300.0. + + <br><dt>‘<samp><span class="samp">-magnification=</span><var>integer</var></samp>’<dd><a name="index-g_t_002dmagnification_003d_0040var_007binteger_007d-631"></a><a name="index-magnification-632"></a><a name="index-g_t_005cmag-633"></a>Override existing magnification in <var>indvi</var> with <var>integer</var>; 1000 +specifies no magnification. This is equivalent to setting TeX's +<code>\mag</code> parameter. + + <br><dt>‘<samp><span class="samp">-max-pages=</span><var>n</var></samp>’<dd><a name="index-g_t_002dmax_002dpages_003d_0040var_007bn_007d-634"></a>Process <var>n</var> pages; default is one million. + + <br><dt>‘<samp><span class="samp">-output-level=</span><var>n</var></samp>’<dd><a name="index-g_t_002doutput_002dlevel_003d_0040var_007bn_007d-635"></a>Verbosity level of output, from 0 to 4 (default 4): + <ul> +<li>0: Global document information only. +<li>1: Most DVI commands included, and typeset characters summarized. +<li>2: Character and movement commands explicitly included. +<li>3: DVI stack and current position calculations included. +<li>4: Same information as level 3, but DVItype does random positioning +in the file, reading the DVI postamble first. +</ul> + + <br><dt>‘<samp><span class="samp">-page-start=</span><var>page-spec</var></samp>’<dd><a name="index-g_t_002dpage_002dstart_003d_0040var_007bpage_002dspec_007d-636"></a><a name="index-starting-page-637"></a><a name="index-page_002c-starting-638"></a><a name="index-g_t_005ccount_0040var_007bn_007d-639"></a>Start at the first page matching <var>page-spec</var>, which is one or more +(signed) integers separated by periods, corresponding to TeX's +<code>\count0...9</code> parameters at <code>\shipout</code> time; ‘<samp><span class="samp">*</span></samp>’ +matches anything. Examples: ‘<samp><span class="samp">1</span></samp>’, ‘<samp><span class="samp">5.*.-9</span></samp>’. + + <br><dt>‘<samp><span class="samp">-show-opcodes</span></samp>’<dd><a name="index-g_t_002dshow_002dopcodes-640"></a><a name="index-opcodes_002c-showing-DVI-641"></a><a name="index-DVI-opcodes_002c-showing-642"></a><a name="index-debugging-DVI-utilities-643"></a>Show numeric opcode values (in decimal) for DVI commands, in braces +after the command name. This can help in debugging DVI utilities. We +use decimal because in the DVI format documentation (in +<samp><span class="file">dvitype.web</span></samp>, among others) the opcodes are shown in decimal. +</dl> + +<ul class="menu"> +<li><a accesskey="1" href="#dvitype-output-example">dvitype output example</a> +</ul> + +<div class="node"> +<a name="dvitype-output-example"></a> +<p><hr> +Up: <a rel="up" accesskey="u" href="#dvitype-invocation">dvitype invocation</a> + +</div> + +<h4 class="subsection">9.2.1 DVItype output example</h4> + +<p><a name="index-dvitype-output-example-644"></a>As an example of the output from DVItype (see section above), here is +its (abridged) translation of the <samp><span class="file">story.dvi</span></samp> resulting from +running the example in <cite>The TeXbook</cite>, with +‘<samp><span class="samp">-output-level=4</span></samp>’ and ‘<samp><span class="samp">-show-opcodes</span></samp>’ on. + +<pre class="example"> ... + Options selected: + Starting page = * + Maximum number of pages = 1000000 + Output level = 4 (the works) + Resolution = 300.00000000 pixels per inch + numerator/denominator=25400000/473628672 + magnification=1000; 0.00006334 pixels per DVI unit + ' TeX output 1992.05.17:0844' + Postamble starts at byte 564. + maxv=43725786, maxh=30785863, maxstackdepth=3, totalpages=1 + Font 33: cmsl10---loaded at size 655360 DVI units + Font 23: cmbx10---loaded at size 655360 DVI units + Font 0: cmr10---loaded at size 655360 DVI units + + 42: beginning of page 1 + 87: push {141} + level 0:(h=0,v=0,w=0,x=0,y=0,z=0,hh=0,vv=0) + 88: down3 -917504 {159} v:=0-917504=-917504, vv:=-58 + 92: pop {142} + ... + 104: putrule {137} height 26214, width 30785863 (2x1950 pixels) + 113: down3 5185936 {159} v:=655360+5185936=5841296, vv:=370 + 117: push {141} + level 1:(h=0,v=5841296,w=0,x=0,y=0,z=0,hh=0,vv=370) + 118: right4 12265425 {146} h:=0+12265425=12265425, hh:=777 + [ ] + 123: fntdef1 23 {243}: cmbx10 + 145: fntnum23 {194} current font is cmbx10 + 146: setchar65 h:=12265425+569796=12835221, hh:=813 + 147: w3 251220 {150} h:=12835221+251220=13086441, hh:=829 + 151: setchar83 h:=13086441+418700=13505141, hh:=856 + ... + 164: setchar82 h:=17448202+565245=18013447, hh:=1142 + 165: x0 -62805 {152} h:=18013447-62805=17950642, hh:=1138 + 166: setchar89 h:=17950642+569796=18520438, hh:=1174 + [A SHORT STORY] + 167: pop {142} + level 1:(h=0,v=5841296,w=0,x=0,y=0,z=0,hh=0,vv=370) + ... + 550: pop {142} + level 0:(h=0,v=42152922,w=0,x=0,y=0,z=0,hh=0,vv=2670) + 551: down3 1572864 {159} v:=42152922+1572864=43725786, vv:=2770 + 555: push {141} + level 0:(h=0,v=43725786,w=0,x=0,y=0,z=0,hh=0,vv=2770) + 556: right4 15229091 {146} h:=0+15229091=15229091, hh:=965 + 561: setchar49 h:=15229091+327681=15556772, hh:=986 + [ 1] + 562: pop {142} + level 0:(h=0,v=43725786,w=0,x=0,y=0,z=0,hh=0,vv=2770) + 563: eop {140} +</pre> + <p>Explanation: + + <ul> +<li>The DVItype options are recorded at the beginning, followed by +global information about the document, including fonts used. + + <li>Each DVI command is preceded by its byte position in the file +(‘<samp><span class="samp">42:</span></samp>’, ‘<samp><span class="samp">87:</span></samp>’, <small class="dots">...</small>), and (because of the +‘<samp><span class="samp">-show-opcodes</span></samp>’) followed by its decimal opcode value in braces +(‘<samp><span class="samp">{141}</span></samp>’, ‘<samp><span class="samp">{142}</span></samp>’, <small class="dots">...</small>). + + <li>The ‘<samp><span class="samp">level</span></samp>’ lines record information about the DVI stack; ‘<samp><span class="samp">h</span></samp>’ +and ‘<samp><span class="samp">v</span></samp>’ define the current position in DVI units, while ‘<samp><span class="samp">hh</span></samp>’ +and ‘<samp><span class="samp">vv</span></samp>’ are the same in pixels. + + <li>Text sequences are summarized in brackets, as in ‘<samp><span class="samp">[A SHORT +STORY]</span></samp>’ and the ‘<samp><span class="samp">[ 1]</span></samp>’. +</ul> + +<div class="node"> +<a name="Font-utilities"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Legalisms">Legalisms</a>, +Previous: <a rel="previous" accesskey="p" href="#DVI-utilities">DVI utilities</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">10 Font utilities</h2> + +<p><a name="index-font-utilities-645"></a> +The Web2c programs described here convert between various TeX-related +font formats; the first section below briefly describes the +formats. GFtoPK is the only one that is routinely used, as Metafont +outputs GF format, but it's most efficient for device drivers to use PK. + + <p><a name="index-pktype_002eweb-646"></a><a name="index-gftype_002eweb-647"></a><a name="index-PK-format-definition-648"></a><a name="index-GF-format-definition-649"></a>The precise definitions of the PK, GF, TFM, PL, VF, and VPL formats +mentioned below are in the source files that read them; +<samp><span class="file">pktype.web</span></samp>, <samp><span class="file">gftype.web</span></samp>, <samp><span class="file">tftopl.web</span></samp>, etc. + +<ul class="menu"> +<li><a accesskey="1" href="#Font-file-formats">Font file formats</a>: Explanations of GF, PK, TFM, VF, ... +<li><a accesskey="2" href="#gftopk-invocation">gftopk invocation</a>: GF -> PK (compact) +<li><a accesskey="3" href="#pktogf-invocation">pktogf invocation</a>: PK -> GF (expand). +<li><a accesskey="4" href="#pktype-invocation">pktype invocation</a>: PK -> human-readable text. +<li><a accesskey="5" href="#gftype-invocation">gftype invocation</a>: GF -> human-readable text. +<li><a accesskey="6" href="#tftopl-invocation">tftopl invocation</a>: TFM -> PL (for editing TFM). +<li><a accesskey="7" href="#pltotf-invocation">pltotf invocation</a>: PL -> TFM (make editing results usable). +<li><a accesskey="8" href="#vftovp-invocation">vftovp invocation</a>: VF -> VPL (tftopl for virtual fonts). +<li><a accesskey="9" href="#vptovf-invocation">vptovf invocation</a>: VPL -> VF (pltotf for virtual fonts). +<li><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a>: Type 1, BDF, editors, etc. +</ul> + +<div class="node"> +<a name="Font-file-formats"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#gftopk-invocation">gftopk invocation</a>, +Up: <a rel="up" accesskey="u" href="#Font-utilities">Font utilities</a> + +</div> + +<h3 class="section">10.1 Font file formats</h3> + +<p><a name="index-font-file-formats-650"></a><a name="index-file-formats-for-fonts-651"></a> +(For another perspective on this, see <a href="dvips.html#Font-concepts">Font concepts</a>). + + <p>Font files come in several varieties, with suffixes like: +<pre class="example"> .tfm .*pk .*gf .*pxl<span class="roman"> (obsolete)</span> .pl .mf .vf .vpl +</pre> + <p class="noindent">Each represents a file format. + + <p><a name="index-TFM-files_002c-explained-652"></a>A TFM (TeX font metric) file is a compact binary file that contains +information about each character in a font, about combinations of +characters within that font, and about the font as a whole. The font +metric information contained in TFM files is device-independent units is +used by TeX to do typesetting. Unlike the bitmap (raster) fonts +described below, TFM font files contain no information about the shapes +of characters. They describe rectangular areas and combinations +thereof, but not what will eventually be printed in those areas. + + <p><a name="index-scaling-of-fonts-653"></a><a name="index-optical-font-scaling-654"></a><a name="index-geometric-font-scaling-655"></a><a name="index-PostScript_002c-and-font-scaling-656"></a>Since TeX does scaling calculations, one TFM file serves for all +magnifications of a given typeface. On the other hand, the best printed +results are obtained when magnified (or reduced fonts) are not produced +geometrically (as done by PostScript, for example) but rather optically, +with each size a separate design (as done with Computer Modern and the +EC fonts, for example); then a separate TFM file is needed for each +size. + + <p><a name="index-DVI-files_002c-explained-657"></a>At any rate, TeX produces a DVI (DeVice Independent) file from your +source document. In order to print DVI files on real devices, you need +font files defining digitized character shapes and other data. Then +previewers and printer-driver programs can translate your DVI files into +something usable by your monitor or printer. Bitmap fonts come with +suffixes such as ‘<samp><span class="samp">.600pk</span></samp>’ or ‘<samp><span class="samp">.600gf</span></samp>’ or ‘<samp><span class="samp">.3000pxl</span></samp>’, where +the ‘<samp><span class="samp">600</span></samp>’ is the horizontal dots-per-inch resolution at which the +font was produced, and the ‘<samp><span class="samp">pk</span></samp>’ or ‘<samp><span class="samp">gf</span></samp>’ or ‘<samp><span class="samp">pxl</span></samp>’ +indicates the font format. Outline fonts in PostScript Type 1 format +have suffixes such as ‘<samp><span class="samp">.pfa</span></samp>’ or ‘<samp><span class="samp">.pfb</span></samp>’. + + <p><a name="index-PXL-files_002c-explained-658"></a><a name="index-PK-files_002c-explained-659"></a><a name="index-GF-files_002c-explained-660"></a>Fonts in pk (packed) format are in the tightly packed raster format that +is pretty much the standard today. They take up less space than fonts +in the gf (generic font) format that Metafont generates, and far less +space than fonts in pxl format. Fonts in pxl format take up gross +amounts of disk space and permit only 128 characters. They are +obsolete. + + <p><a name="index-PL-files_002c-explained-661"></a>Font files with the ‘<samp><span class="samp">.pl</span></samp>’ (property list) suffix are the plain text +(human-readable) analog of the binary ‘<samp><span class="samp">.tfm</span></samp>’ files. +The TFtoPL and PLtoTF programs convert between the two formats +(see <a href="#tftopl-invocation">tftopl invocation</a> and <a href="#pltotf-invocation">pltotf invocation</a>). + + <p>Font files with the ‘<samp><span class="samp">.mf</span></samp>’ suffix are in Metafont source format. +These are the files used by Metafont to generate rastered fonts for +specific typefaces at specific magnifications for the specific +resolution and type of mapping used by your device. + + <p><a name="index-virtual_002dfonts_002eknuth-662"></a><a name="index-virtualfonts_002etxt-663"></a>The suffix ‘<samp><span class="samp">.vf</span></samp>’ identifies “virtual font” files, for which +‘<samp><span class="samp">.vpl</span></samp>’ is the human-readable analog. See See <a href="#vftovp-invocation">vftovp invocation</a>, +and <a href="#vptovf-invocation">vptovf invocation</a>. For further discussion of virtual fonts, +see <samp><var>CTAN:</var><span class="file">/doc/virtual-fonts.knuth</span></samp>, +<samp><var>CTAN:</var><span class="file">/help/virtualfonts.txt</span></samp>, and <a href="dvips.html#Virtual-fonts">Virtual fonts</a>. + + <p><a name="index-MacKay_002c-Pierre-664"></a><a name="index-Tachikawa_002c-Elizabeth-665"></a>(This section is based on documentation in the original Unix TeX +distribution by Pierre MacKay and Elizabeth Tachikawa.) + +<div class="node"> +<a name="gftopk-invocation"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#pktogf-invocation">pktogf invocation</a>, +Previous: <a rel="previous" accesskey="p" href="#Font-file-formats">Font file formats</a>, +Up: <a rel="up" accesskey="u" href="#Font-utilities">Font utilities</a> + +</div> + +<h3 class="section">10.2 GFtoPK: Generic to packed font conversion</h3> + +<p><a name="index-gftopk-666"></a><a name="index-conversion_002c-GF-to-PK-667"></a><a name="index-PK_002c-converting-GF-to-668"></a><a name="index-GF_002c-converting-to-PK-669"></a> +GFtoPK converts a generic font (GF) file output by, for example, +Metafont (see <a href="#mf-invocation">mf invocation</a>) to a packed font (PK) file. PK files +are considerably smaller than the corresponding gf files, so they are +generally the bitmap font format of choice. Some DVI-processing +programs, notably Dvips, only support PK files and not GF files. +Synopsis: + +<pre class="example"> gftopk [<var>option</var>]... <var>gfname</var>.<var>dpi</var>[gf] [<var>pkfile</var>] +</pre> + <p class="noindent">The font <var>gfname</var> is searched for in the usual places (see <a href="kpathsea.html#Glyph-lookup">Glyph lookup</a>). To see all the relevant paths, set the +environment variable <code>KPATHSEA_DEBUG</code> to ‘<samp><span class="samp">-1</span></samp>’ before running +the program. + + <p>The suffix ‘<samp><span class="samp">gf</span></samp>’ is supplied if not already present. This suffix is +not an extension; no ‘<samp><span class="samp">.</span></samp>’ precedes it: for instance, +<samp><span class="file">cmr10.600gf</span></samp>. + + <p>If <var>pkfile</var> is not specified, the output is written to the basename +of ‘<samp><var>gfname</var><span class="samp">.</span><var>dpi</var><span class="samp">pk</span></samp>’, e.g., ‘<samp><span class="samp">gftopk +/wherever/cmr10.600gf</span></samp>’ creates <samp><span class="file">./cmr10.600pk</span></samp>. + + <p>The only options are ‘<samp><span class="samp">--verbose</span></samp>’, ‘<samp><span class="samp">--help</span></samp>’, and +‘<samp><span class="samp">--version</span></samp>’ (see <a href="#Common-options">Common options</a>). + +<div class="node"> +<a name="pktogf-invocation"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#pktype-invocation">pktype invocation</a>, +Previous: <a rel="previous" accesskey="p" href="#gftopk-invocation">gftopk invocation</a>, +Up: <a rel="up" accesskey="u" href="#Font-utilities">Font utilities</a> + +</div> + +<h3 class="section">10.3 PKtoGF: Packed to generic font conversion</h3> + +<p><a name="index-pktogf-670"></a><a name="index-conversion_002c-PK-to-GF-671"></a><a name="index-GF_002c-converting-PK-to-672"></a><a name="index-PK_002c-converting-to-GF-673"></a> +PKtoGF converts a packed font (PK) file to a generic font (GF) file. +Since PK format is much more compact than GF format, the most likely +reason to do this is to run GFtype (see <a href="#gftype-invocation">gftype invocation</a>) on the +result, so you can see the bitmap images. Also, a few old utility +programs do not support PK format. Synopsis: + +<pre class="example"> pktogf [<var>option</var>]... <var>pkname</var>.<var>dpi</var>[pk] [<var>gffile</var>] +</pre> + <p class="noindent">The font <var>pkname</var> is searched for in the usual places (see <a href="kpathsea.html#Glyph-lookup">Glyph lookup</a>). To see all the relevant paths, set the +environment variable <code>KPATHSEA_DEBUG</code> to ‘<samp><span class="samp">-1</span></samp>’ before running +the program. + + <p>The suffix ‘<samp><span class="samp">pk</span></samp>’ is supplied if not already present. This suffix is +not an extension; no ‘<samp><span class="samp">.</span></samp>’ precedes it: for instance, +<samp><span class="file">cmr10.600pk</span></samp>. + + <p>If <var>gffile</var> is not specified, the output is written to the basename +of ‘<samp><var>pkname</var><span class="samp">.</span><var>dpi</var><span class="samp">gf</span></samp>’, e.g., ‘<samp><span class="samp">pktogf +/wherever/cmr10.600pk</span></samp>’ creates <samp><span class="file">./cmr10.600gf</span></samp>. + + <p>The only options are ‘<samp><span class="samp">--verbose</span></samp>’, ‘<samp><span class="samp">--help</span></samp>’, and +‘<samp><span class="samp">--version</span></samp>’ (see <a href="#Common-options">Common options</a>). + +<div class="node"> +<a name="pktype-invocation"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#gftype-invocation">gftype invocation</a>, +Previous: <a rel="previous" accesskey="p" href="#pktogf-invocation">pktogf invocation</a>, +Up: <a rel="up" accesskey="u" href="#Font-utilities">Font utilities</a> + +</div> + +<h3 class="section">10.4 PKtype: Plain text transliteration of packed fonts</h3> + +<p><a name="index-pktype-_0040r_007bPK-validation_007d-674"></a><a name="index-conversion_002c-PK-to-plain-text-675"></a><a name="index-plain-text_002c-converting-PK-to-676"></a><a name="index-human_002dreadable-text_002c-converting-PK-to-677"></a><a name="index-type-programs_002c-PK-678"></a><a name="index-validation_002c-of-PK-files-679"></a> +PKtype translates a packed font (PK) bitmap file (as output by GFtoPK, +for example) to a plain text file that humans can read. It also serves +as a PK-validating program, i.e., if PKtype can read a file, it's +correct. Synopsis: + +<pre class="example"> pktype <var>pkname</var>.<var>dpi</var>[pk] +</pre> + <p>The font <var>pkname</var> is searched for in the usual places (see <a href="kpathsea.html#Glyph-lookup">Glyph lookup</a>). To see all the relevant paths, set the +environment variable <code>KPATHSEA_DEBUG</code> to ‘<samp><span class="samp">-1</span></samp>’ before running +the program. + + <p>The suffix ‘<samp><span class="samp">pk</span></samp>’ is supplied if not already present. This suffix is +not an extension; no ‘<samp><span class="samp">.</span></samp>’ precedes it: for instance, <samp><span class="file">cmr10.600pk</span></samp>. + + <p>The translation is written to standard output. + + <p>The only options are ‘<samp><span class="samp">-help</span></samp>’ and ‘<samp><span class="samp">-version</span></samp>’ +(see <a href="#Common-options">Common options</a>). + + <p>As an example of the output, here is the (abridged) translation of the +letter `K' in ‘<samp><span class="samp">cmr10</span></samp>’, as rendered at 600<span class="dmn">dpi</span> with the mode +‘<samp><span class="samp">ljfour</span></samp>’ from <a href="modes.mf">modes.mf</a> (available from +<samp><span class="file">ftp://ftp.tug.org/tex/modes.mf</span></samp>). + +<pre class="smallexample"> 955: Flag byte = 184 Character = 75 Packet length = 174 + Dynamic packing variable = 11 + TFM width = 815562 dx = 4259840 + Height = 57 Width = 57 X-offset = -3 Y-offset = 56 + [2]23(16)17(8)9(25)11(13)7(27)7(16)7(28)4(18)7(28)2(20)7(27)... + ... + (14)9(24)12(5)[2]23(13)21 +</pre> + <p class="noindent">Explanation: + + <dl> +<dt>‘<samp><span class="samp">955</span></samp>’<dd><a name="index-byte-position-680"></a>The byte position in the file where this character starts. + + <br><dt>‘<samp><span class="samp">Flag byte</span></samp>’<dt>‘<samp><span class="samp">Dynamic packing variable</span></samp>’<dd><a name="index-flag-byte-681"></a><a name="index-dynamic-packing-variable-682"></a>Related to the packing for this character; see the source code. + + <br><dt>‘<samp><span class="samp">Character</span></samp>’<dd><a name="index-character-codes_002c-in-PKtype-output-683"></a>The character code, in decimal. + + <br><dt>‘<samp><span class="samp">Packet length</span></samp>’<dd><a name="index-packet-length-684"></a>The total length of this character definition, in bytes. + + <br><dt>‘<samp><span class="samp">TFM width</span></samp>’<dd><a name="index-TFM-width-of-characters-685"></a><a name="index-device_002dindependent-width-686"></a><a name="index-width_002c-device_002dindependent-687"></a>The device-independent (TFM) width of this character. It is 2^24 +times the ratio of the true width to the font's design size. + + <br><dt>‘<samp><span class="samp">dx</span></samp>’<dd><a name="index-horizontal-escapement-688"></a><a name="index-escapement_002c-horizontal-689"></a><a name="index-scaled-pixels-690"></a><a name="index-dx-_0040r_007bhorizontal-escapement_007d-691"></a>The device-dependent width, in <dfn>scaled pixels</dfn>, i.e., units of +horizontal pixels times 2^16. + + <br><dt>‘<samp><span class="samp">Height</span></samp>’<dt>‘<samp><span class="samp">Width</span></samp>’<dd><a name="index-height_002c-in-pixels-692"></a><a name="index-pixel-height-693"></a><a name="index-pixel-width-694"></a><a name="index-width_002c-in-pixels-695"></a>The bitmap height and width, in pixels. + + <br><dt>‘<samp><span class="samp">X-offset</span></samp>’<dt>‘<samp><span class="samp">Y-offset</span></samp>’<dd><a name="index-x-offset-696"></a><a name="index-y-offset-697"></a><a name="index-origin-698"></a><a name="index-reference-pixel-699"></a><a name="index-side-bearings-700"></a><a name="index-left-side-bearing-701"></a><a name="index-right-side-bearing-702"></a>Horizontal and vertical offset from the upper left pixel to the +reference (origin) pixel for this character, in pixels (right and down +are positive). The <dfn>reference pixel</dfn> is the pixel that occupies the +unit square in Metafont; the Metafont reference point is the lower left +hand corner of this pixel. Put another way, the x-offset is the negative +of the left side bearing; the right side bearing is the horizontal +escapement minus the bitmap width plus the x-offset. + + <br><dt>‘<samp><span class="samp">[2]23(16)...</span></samp>’<dd><a name="index-run-length-encoded-bitmaps-703"></a><a name="index-repeated-rows-704"></a>Finally, run lengths of black pixels alternate with parenthesized run +lengths of white pixels, and brackets indicate a repeated row. +</dl> + +<div class="node"> +<a name="gftype-invocation"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#tftopl-invocation">tftopl invocation</a>, +Previous: <a rel="previous" accesskey="p" href="#pktype-invocation">pktype invocation</a>, +Up: <a rel="up" accesskey="u" href="#Font-utilities">Font utilities</a> + +</div> + +<h3 class="section">10.5 GFtype: Plain text transliteration of generic fonts</h3> + +<p><a name="index-gftype-_0040r_007bGF-validation_007d-705"></a><a name="index-conversion_002c-GF-to-plain-text-706"></a><a name="index-plain-text_002c-converting-GF-to-707"></a><a name="index-human_002dreadable-text_002c-converting-GF-to-708"></a><a name="index-type-programs_002c-GF-709"></a><a name="index-validation_002c-of-GF-files-710"></a> +GFtype translates a generic font (GF) bitmap file (as output by +Metafont, for example) to a plain text file that humans can read. It +also serves as a GF-validating program, i.e., if GFtype can read a file, +it's correct. Synopsis: + +<pre class="example"> gftype [<var>option</var>]... <var>gfname</var>.<var>dpi</var>[gf] +</pre> + <p>The font <var>gfname</var> is searched for in the usual places (see <a href="kpathsea.html#Glyph-lookup">Glyph lookup</a>). To see all the relevant paths, set the +environment variable <code>KPATHSEA_DEBUG</code> to ‘<samp><span class="samp">-1</span></samp>’ before running +the program. + + <p>The suffix ‘<samp><span class="samp">gf</span></samp>’ is supplied if not already present. This suffix is +not an extension; no ‘<samp><span class="samp">.</span></samp>’ precedes it: for instance, <samp><span class="file">cmr10.600gf</span></samp>. + + <p>The translation is written to standard output. + + <p>The program accepts the following options, as well as the standard +‘<samp><span class="samp">-help</span></samp>’ and ‘<samp><span class="samp">-version</span></samp>’ (see <a href="#Common-options">Common options</a>): + <dl> +<dt>‘<samp><span class="samp">-images</span></samp>’<dd><a name="index-g_t_002dimages-711"></a>Show the characters' bitmaps using asterisks and spaces. + + <br><dt>‘<samp><span class="samp">-mnemonics</span></samp>’<dd><a name="index-g_t_002dmnemonics-712"></a>Translate all commands in the GF file. +</dl> + + <p>As an example of the output, here is the (abrdiged) translation of the +letter `K' in ‘<samp><span class="samp">cmr10</span></samp>’, as rendered at 600<span class="dmn">dpi</span> with the mode +‘<samp><span class="samp">ljfour</span></samp>’ from <samp><span class="file">modes.mf</span></samp> (available from +<a href="ftp://ftp.tug.org/tex/modes.mf">ftp://ftp.tug.org/tex/modes.mf</a>), with both ‘<samp><span class="samp">-mnemonics</span></samp>’ and +‘<samp><span class="samp">-images</span></samp>’ enabled. + + <p>GFtype outputs the information about a character in two places: a main +definition and a one-line summary at the end. We show both. Here is the +main definition: + +<pre class="example"> 2033: beginning of char 75: 3<=m<=60 0<=n<=56 + (initially n=56) paint (0)24(12)20 + 2043: newrow 0 (n=55) paint 24(12)20 + 2047: newrow 0 (n=54) paint 24(12)20 + 2051: newrow 0 (n=53) paint 24(12)20 + 2055: newrow 7 (n=52) paint 10(21)13 + 2059: newrow 8 (n=51) paint 8(23)9 + ... + 2249: newrow 8 (n=5) paint 8(23)11 + 2253: newrow 7 (n=4) paint 10(22)12 + 2257: newrow 0 (n=3) paint 24(11)22 + 2261: newrow 0 (n=2) paint 24(11)22 + 2265: newrow 0 (n=1) paint 24(11)22 + 2269: newrow 0 (n=0) paint 24(11)22 + 2273: eoc + .<--This pixel's lower left corner is at (3,57) in METAFONT coordinates + ************************ ******************** + ************************ ******************** + ************************ ******************** + ************************ ******************** + ********** ************* + ******** ********* + ... + ******** *********** + ********** ************ + ************************ ********************** + ************************ ********************** + ************************ ********************** + ************************ ********************** + .<--This pixel's upper left corner is at (3,0) in METAFONT coordinates +</pre> + <p class="noindent">Explanation: + + <dl> +<dt>‘<samp><span class="samp">2033</span></samp>’<dt>‘<samp><span class="samp">2043</span></samp>’<dt>‘<samp><span class="samp">...</span></samp>’<dd><a name="index-byte-position-713"></a>The byte position in the file where each GF command starts. + + <br><dt>‘<samp><span class="samp">beginning of char 75</span></samp>’<dd><a name="index-character-codes_002c-in-GFtype-output-714"></a>The character code, in decimal. + + <br><dt>‘<samp><span class="samp">3<=m<=60 0<=n<=56</span></samp>’<dd><a name="index-left-side-bearing-715"></a><a name="index-right-side-bearing-716"></a><a name="index-side-bearings-717"></a>The character's bitmap lies between 3 and 60 (inclusive) horizontally, +and between 0 and 56 (inclusive) vertically. (m is a column +position and n is a row position.) Thus, 3 is the left side +bearing. The right side bearing is the horizontal escapement (given +below) minus the maximum m. + + <br><dt>‘<samp><span class="samp">(initially n=56) paint (0)24(12)20</span></samp>’<dd><a name="index-run-length-encoded-bitmaps-718"></a>The first row of pixels: 0 white pixels, 24 black pixels, 12 white +pixels, etc. + + <br><dt>‘<samp><span class="samp">newrow 0 (n=55) paint 24(12)20</span></samp>’<dd><a name="index-newrow-_0040r_007bGF-command_007d-719"></a>The second row of pixels, with zero leading white pixels on the row. + + <br><dt>‘<samp><span class="samp">eoc</span></samp>’<dd><a name="index-eoc-_0040r_007bGF-command_007d-720"></a>The end of the main character definition. + + </dl> + + <p>Here is the GF postamble information that GFtype outputs at the end: + +<pre class="example"> Character 75: dx 4259840 (65), width 815562 (64.57289), loc 2033 +</pre> + <p>Explanation: + + <dl> +<dt>‘<samp><span class="samp">dx</span></samp>’<dd><a name="index-horizontal-escapement-721"></a><a name="index-escapement_002c-horizontal-722"></a><a name="index-vertical-escapement-723"></a><a name="index-escapement_002c-vertical-724"></a><a name="index-scaled-pixels-725"></a><a name="index-dx-_0040r_007bhorizontal-escapement_007d-726"></a><a name="index-dy-_0040r_007bvertical-escapement_007d-727"></a>The device-dependent width, in <dfn>scaled pixels</dfn>, i.e., units of +horizontal pixels times 2^16. The ‘<samp><span class="samp">(65)</span></samp>’ is simply the same number +rounded. If the vertical escapement is nonzero, it would appear here as +a ‘<samp><span class="samp">dy</span></samp>’ value. + + <br><dt>‘<samp><span class="samp">width</span></samp>’<dd><a name="index-TFM-width-of-characters-728"></a><a name="index-device_002dindependent-width-729"></a><a name="index-width_002c-device_002dindependent-730"></a>The device-independent (TFM) width of this character. It is 2^24 +times the ratio of the true width to the font's design size. The +‘<samp><span class="samp">64.57289</span></samp>’ is the same number converted to pixels. + + <br><dt>‘<samp><span class="samp">loc</span></samp>’<dd>The byte position in the file where this character starts. + + </dl> + +<div class="node"> +<a name="tftopl-invocation"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#pltotf-invocation">pltotf invocation</a>, +Previous: <a rel="previous" accesskey="p" href="#gftype-invocation">gftype invocation</a>, +Up: <a rel="up" accesskey="u" href="#Font-utilities">Font utilities</a> + +</div> + +<h3 class="section">10.6 TFtoPL: TeX font metric to property list conversion</h3> + +<p><a name="index-tftopl-731"></a><a name="index-conversion_002c-TFM-to-property-list-732"></a><a name="index-validation_002c-of-TFM-files-733"></a><a name="index-property-list_002c-converting-TFM-to-734"></a><a name="index-human_002dreadable-text_002c-converting-TFM-to-735"></a><a name="index-plain-text_002c-converting-TFM-to-736"></a> +TFtoPL translates a TeX font metric (TFM, see <a href="dvips.html#Metric-files">Metric files</a>) file (as output by Metafont, for example) to +<dfn>property list format</dfn> (a list of parenthesized items describing the +font) that humans can edit or read. This program is mostly used by +people debugging TeX implementations, writing font utilities, etc. +Synopsis: + +<pre class="example"> tftopl [<var>option</var>]... <var>tfmname</var>[.tfm] [<var>plfile</var>[.pl]] +</pre> + <p>The font <var>tfmname</var> (extended with ‘<samp><span class="samp">.tfm</span></samp>’ if necessary) is +searched for in the usual places (see <a href="kpathsea.html#Supported-file-formats">Supported file formats</a>). To see all the relevant paths, set the +environment variable <code>KPATHSEA_DEBUG</code> to ‘<samp><span class="samp">-1</span></samp>’ before running +the program. + + <p>If <var>plfile</var> (which is extended with ‘<samp><span class="samp">.pl</span></samp>’ if necessary) is not +specified, the property list file is written to standard output. The +property list file can be converted back to TFM format by the companion +program TFtoPL (see the next section). + + <p>The program accepts the following option, as well as the standard +‘<samp><span class="samp">-verbose</span></samp>’, ‘<samp><span class="samp">-help</span></samp>’ and ‘<samp><span class="samp">-version</span></samp>’ (see <a href="#Common-options">Common options</a>): + <dl> +<dt>‘<samp><span class="samp">-charcode-format=</span><var>type</var></samp>’<dd><a name="index-g_t_002dcharcode_002dformat_003d_0040var_007btype_007d-737"></a>Output character codes in the PL file according to <var>type</var>: either +‘<samp><span class="samp">octal</span></samp>’ or ‘<samp><span class="samp">ascii</span></samp>’. Default is ‘<samp><span class="samp">ascii</span></samp>’ for letters and +digits, octal for all other characters. Exception: if the font's coding +scheme starts with ‘<samp><span class="samp">TeX math sy</span></samp>’ or ‘<samp><span class="samp">TeX math ex</span></samp>’, all +character codes are output in octal. + + <p>In ‘<samp><span class="samp">ascii</span></samp>’ format, character codes that correspond to graphic +characters, except for left and right parentheses, are output as a +‘<samp><span class="samp">C</span></samp>’ followed by the single character: ‘<samp><span class="samp">C K</span></samp>’, for example. In +octal format, character codes are output as the letter ‘<samp><span class="samp">O</span></samp>’ followed +by octal digits, as in ‘<samp><span class="samp">O 113</span></samp>’ for ‘<samp><span class="samp">K</span></samp>’. + + <p>‘<samp><span class="samp">octal</span></samp>’ format is useful for symbol and other non-alphabetic fonts, +where using ASCII characters for the character codes is merely +confusing. +</dl> + + <p><a name="index-property-list-format-738"></a>As an example of the output, here is the (abridged) property list +translation of <samp><span class="file">cmr10.tfm</span></samp>: + +<pre class="example"> (FAMILY CMR) + (FACE O 352) + (CODINGSCHEME TEX TEXT) + (DESIGNSIZE R 10.0) + (COMMENT DESIGNSIZE IS IN POINTS) + (COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE) + (CHECKSUM O 11374260171) + (FONTDIMEN + (SLANT R 0.0) + (SPACE R 0.333334) + (STRETCH R 0.166667) + (SHRINK R 0.111112) + (XHEIGHT R 0.430555) + (QUAD R 1.000003) + (EXTRASPACE R 0.111112) + ) + (LIGTABLE + ... + (LABEL C f) + (LIG C i O 14) + (LIG C f O 13) + (LIG C l O 15) + (KRN O 47 R 0.077779) + (KRN O 77 R 0.077779) + (KRN O 41 R 0.077779) + (KRN O 51 R 0.077779) + (KRN O 135 R 0.077779) + (STOP) + ... + ) + ... + (CHARACTER C f + (CHARWD R 0.305557) + (CHARHT R 0.694445) + (CHARIC R 0.077779) + (COMMENT + (LIG C i O 14) + (LIG C f O 13) + (LIG C l O 15) + (KRN O 47 R 0.077779) + (KRN O 77 R 0.077779) + ... + ) + ) + ... +</pre> + <p>As you can see, the general format is a list of parenthesized +<dfn>properties</dfn>, nested where necessary. + + <ul> +<li><a name="index-FAMILY-_0040r_007bproperty_007d-739"></a><a name="index-FACE-_0040r_007bproperty_007d-740"></a><a name="index-headerbyte-_0040r_007binformation_007d-741"></a>The first few items (<code>FAMILY</code>, <code>FACE</code>, and so on) are +the so-called <dfn>headerbyte</dfn> information from Metafont, giving general +information about the font. + + <li><a name="index-FAMILY-_0040r_007bproperty_007d-742"></a><a name="index-g_t_005cfontdimen-743"></a>The <code>FONTDIMEN</code> property defines the TeX <code>\fontdimen</code> +values. + + <li><a name="index-LIGTABLE-_0040r_007bproperty_007d-744"></a><a name="index-LABEL-_0040r_007bproperty_007d-745"></a><a name="index-LIG-_0040r_007bproperty_007d-746"></a><a name="index-KRN-_0040r_007bproperty_007d-747"></a><a name="index-ligature-table_002c-in-TFM-files-748"></a><a name="index-kerning-table_002c-in-TFM-files-749"></a><a name="index-design_002dsize-units-750"></a>The <code>LIGTABLE</code> property defines the ligature and kerning table. +<code>LIG</code> properties define ligatures: in the example above, an +‘<samp><span class="samp">f</span></samp>’ (in the ‘<samp><span class="samp">LABEL</span></samp>’) followed by an ‘<samp><span class="samp">i</span></samp>’ is a ligature, +i.e., a typesetting program like TeX replaces those two consecutive +characters by the character at position octal '014 in the current +font—presumably the `fi' ligature. <code>KRN</code> properties define +kerns: if an ‘<samp><span class="samp">f</span></samp>’ is followed by character octal '047 (an +apostrophe), TeX inserts a small amount of space between them: +0.077779 times the design size the font was loaded at (about +three-quarters of a printer's point by default in this case, or .001 +inches). + + <li><a name="index-CHARACTER-_0040r_007bproperty_007d-751"></a><a name="index-CHARWD-_0040r_007bproperty_007d-752"></a><a name="index-CHARHT-_0040r_007bproperty_007d-753"></a><a name="index-CHARDP-_0040r_007bproperty_007d-754"></a><a name="index-CHARIC-_0040r_007bproperty_007d-755"></a>The <code>CHARACTER</code> property defines the dimensions of a character: its +width, height, depth, and italic correction, also in design-size units, +as explained in the previous item. For our example `f', the depth is +zero, so that property is omitted. TFtoPL also inserts any kerns and +ligatures for this character as a comment. + + </ul> + +<div class="node"> +<a name="pltotf-invocation"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#vftovp-invocation">vftovp invocation</a>, +Previous: <a rel="previous" accesskey="p" href="#tftopl-invocation">tftopl invocation</a>, +Up: <a rel="up" accesskey="u" href="#Font-utilities">Font utilities</a> + +</div> + +<h3 class="section">10.7 PLtoTF: Property list to TeX font metric conversion</h3> + +<p><a name="index-pltotf-756"></a><a name="index-conversion_002c-property-list-to-TFM-757"></a><a name="index-TFM-files_002c-converting-property-lists-to-758"></a><a name="index-machine_002dreadable_002c-converting-property-lists-to-759"></a> +PLtoTF translates a property list file (as output by TFtoPL, for +example) to TeX font metric (TFM, see <a href="dvips.html#Metric-files">Metric files</a>) +format. It's much easier for both programs and humans to create the +(plain text) property list files and let PLtoTF take care of creating +the binary TFM equivalent than to output TFM files directly. Synopsis: + +<pre class="example"> pltotf [<var>option</var>]... <var>plfile</var>[.pl] [<var>tfmfile</var>[.tfm]] +</pre> + <p>If <var>tfmfile</var> (extended with ‘<samp><span class="samp">.tfm</span></samp>’ if necessary) is +not specified, the TFM file is written to the basename of +‘<samp><var>plfile</var><span class="samp">.tfm</span></samp>’, e.g., ‘<samp><span class="samp">pltotf /wherever/cmr10.pl</span></samp>’ creates +<samp><span class="file">./cmr10.tfm</span></samp>. (Since TFM files are binary, writing to standard +output by default is undesirable.) + + <p>The only options are ‘<samp><span class="samp">-verbose</span></samp>’, ‘<samp><span class="samp">-help</span></samp>’, and +‘<samp><span class="samp">-version</span></samp>’ (see <a href="#Common-options">Common options</a>). + + <p>For an example of property list format, see the previous section. + +<div class="node"> +<a name="vftovp-invocation"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#vptovf-invocation">vptovf invocation</a>, +Previous: <a rel="previous" accesskey="p" href="#pltotf-invocation">pltotf invocation</a>, +Up: <a rel="up" accesskey="u" href="#Font-utilities">Font utilities</a> + +</div> + +<h3 class="section">10.8 VFtoVP: Virtual font to virtual property lists</h3> + +<p><a name="index-vftovp-760"></a><a name="index-conversion_002c-VF-to-VPL-761"></a><a name="index-validation_002c-of-VF-files-762"></a><a name="index-property-list_002c-converting-VF-to-virtual-763"></a><a name="index-human_002dreadable-text_002c-converting-VF-to-764"></a><a name="index-plain-text_002c-converting-VF-to-765"></a> +VFtoVP translates a virtual font metric (VF, see <a href="dvips.html#Virtual-fonts">Virtual fonts</a>) file and its accompanying TeX font metric (TFM, +see <a href="dvips.html#Metric-files">Metric files</a>) file (as output by VPtoVF, for +example) to <dfn>virtual property list format</dfn> (a list of parenthesized +items describing the virtual font) that humans can edit or read. This +program is mostly used by people debugging virtual font utilities. +Synopsis: + +<pre class="example"> vftovp [<var>option</var>]... <var>vfname</var>[.vf] [<var>tfmname</var>[.tfm] [<var>vplfile</var>[.vpl]]] +</pre> + <p>The fonts <var>vfname</var> and <var>tfmname</var> (extended with ‘<samp><span class="samp">.vf</span></samp>’ and +‘<samp><span class="samp">.tfm</span></samp>’ if necessary) are searched for in the usual places +(see <a href="kpathsea.html#Supported-file-formats">Supported file formats</a>). To see all the +relevant paths, set the environment variable <code>KPATHSEA_DEBUG</code> to +‘<samp><span class="samp">-1</span></samp>’ before running the program. If <var>tfmname</var> is not +specified, <var>vfname</var> (without a trailing ‘<samp><span class="samp">.vf</span></samp>’) is used. + + <p>If <var>vplfile</var> (extended with ‘<samp><span class="samp">.vpl</span></samp>’ if necessary) is +not specified, the property list file is written to standard output. +The property list file can be converted back to VF and TFM format by the +companion program VFtoVP (see the next section). + + <p>The program accepts the following option, as well as the standard +‘<samp><span class="samp">-verbose</span></samp>’, ‘<samp><span class="samp">-help</span></samp>’ and ‘<samp><span class="samp">-version</span></samp>’ (see <a href="#Common-options">Common options</a>): + <dl> +<dt>‘<samp><span class="samp">-charcode-format=</span><var>type</var></samp>’<dd><a name="index-g_t_002dcharcode_002dformat_003d_0040var_007btype_007d-766"></a>Output character codes in the PL file according to <var>type</var>: either +‘<samp><span class="samp">octal</span></samp>’ or ‘<samp><span class="samp">ascii</span></samp>’. Default is ‘<samp><span class="samp">ascii</span></samp>’ for letters and +digits, octal for all other characters. Exception: if the font's coding +scheme starts with ‘<samp><span class="samp">TeX math sy</span></samp>’ or ‘<samp><span class="samp">TeX math ex</span></samp>’, all +character codes are output in octal. + + <p>In ‘<samp><span class="samp">ascii</span></samp>’ format, character codes that correspond to graphic +characters, except for left and right parentheses, are output as a +‘<samp><span class="samp">C</span></samp>’ followed by the single character: ‘<samp><span class="samp">C K</span></samp>’, for example. In +octal format, character codes are output as the letter ‘<samp><span class="samp">O</span></samp>’ followed +by octal digits, as in ‘<samp><span class="samp">O 113</span></samp>’ for ‘<samp><span class="samp">K</span></samp>’. + + <p>‘<samp><span class="samp">octal</span></samp>’ format is useful for symbol and other non-alphabetic fonts, +where using ASCII characters for the character codes is merely +confusing. +</dl> + +<div class="node"> +<a name="vptovf-invocation"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a>, +Previous: <a rel="previous" accesskey="p" href="#vftovp-invocation">vftovp invocation</a>, +Up: <a rel="up" accesskey="u" href="#Font-utilities">Font utilities</a> + +</div> + +<h3 class="section">10.9 VPtoVF: Virtual property lists to virtual font</h3> + +<p><a name="index-vptovf-767"></a><a name="index-conversion_002c-property-list-to-VF-768"></a><a name="index-VF-files_002c-converting-property-lists-to-769"></a><a name="index-machine_002dreadable_002c-converting-property-lists-to-770"></a> +VPtoVF translates a virtual property list file (as output by VFtoVP, for +example) to virtual font (VF, see <a href="dvips.html#Virtual-fonts">Virtual fonts</a>) and +TeX font metric (TFM, see <a href="dvips.html#Metric-files">Metric files</a>) files. +It's much easier for both programs and humans to create the (plain text) +property list files and let VPtoVF take care of creating the binary VF +and TFM equivalents than to output them directly. Synopsis: + +<pre class="example"> vptovf [<var>option</var>]... <var>vplfile</var>[.vpl] [<var>vffile</var>[.vf] [<var>tfmfile</var>[.tfm]]] +</pre> + <p>If <var>vffile</var> (extended with ‘<samp><span class="samp">.vf</span></samp>’ if necessary) is not +specified, the VF output is written to the basename of +‘<samp><var>vplfile</var><span class="samp">.vf</span></samp>’; similarly for <var>tfmfile</var>. For example, +‘<samp><span class="samp">vptovf /wherever/ptmr.vpl</span></samp>’ creates <samp><span class="file">./ptmr.vf</span></samp> and +<samp><span class="file">./ptmr.tfm</span></samp>. + + <p>The only options are ‘<samp><span class="samp">-verbose</span></samp>’, ‘<samp><span class="samp">-help</span></samp>’, and ‘<samp><span class="samp">-version</span></samp>’ +(see <a href="#Common-options">Common options</a>). + +<div class="node"> +<a name="Font-utilities-available-elsewhere"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#vptovf-invocation">vptovf invocation</a>, +Up: <a rel="up" accesskey="u" href="#Font-utilities">Font utilities</a> + +</div> + +<h3 class="section">10.10 Font utilities available elsewhere</h3> + +<p><a name="index-font-utilities_002c-non_002dWeb2c-771"></a> +The Web2c complement of font utilities merely implements a few basic +conversions. Many other more sophisticated font utilities exist; most +are in <samp><var>CTAN:</var><span class="file">/fonts/utilities</span></samp> (for CTAN info, +see <a href="kpathsea.html#unixtex_002eftp">unixtex.ftp</a>). Here are some of the most +commonly-requested items: + + <ul> +<li><a name="index-AFM-to-TFM-conversion-772"></a><a name="index-afm2tfm-773"></a><a name="index-afmtopl-774"></a>AFM (Adobe font metric) to TFM conversion: see <a href="dvips.html#Invoking-afm2tfm">Invoking afm2tfm</a>, and <samp><var>CTAN:</var><span class="file">/fonts/utilities/afmtopl</span></samp>. + + <li><a name="index-X-bitmap-fonts-775"></a><a name="index-BDF-and-GF-conversion-776"></a>BDF (the X bitmap format) conversion: +<a href="ftp://ftp.tug.org/tex/bdf.tar.gz">ftp://ftp.tug.org/tex/bdf.tar.gz</a>. + + <li><a name="index-metatype1-777"></a><a name="index-Latin-Modern-778"></a>Creating fonts using MetaPost: MetaType1. +<a href="ftp://bop.eps.gda.pl/pub/metatype1">ftp://bop.eps.gda.pl/pub/metatype1</a>. This is used to create +the excellent Latin Modern font family (<samp><var>CTAN:</var><span class="file">/fonts/lm</span></samp>), +which extends Computer Modern to a vast repertoire of scripts. + + <li><a name="index-editing-of-bitmap-fonts-779"></a><a name="index-xbfe_0040r_007b_002c-bitmap-font-editor_007d-780"></a><a name="index-xfed_0040r_007b_002c-bitmap-font-editor_007d-781"></a><a name="index-xfedor_0040r_007b_002c-bitmap-font-editor_007d-782"></a><a name="index-gftopxl-783"></a><a name="index-chtopx-784"></a><a name="index-pxtoch-785"></a>Editing of bitmap fonts: Xbfe from the GNU font utilities mentioned +below; the X BDF-editing programs available from +<a href="ftp://ftp.x.org/R5contrib/xfed.tar.Z">ftp://ftp.x.org/R5contrib/xfed.tar.Z</a> and +<a href="ftp://ftp.x.org/R5contrib/xfedor.tar.Z">ftp://ftp.x.org/R5contrib/xfedor.tar.Z</a>; and finally, if your +fonts have only 128 characters, you can use the old <code>gftopxl</code>, +<code>pxtoch</code>, and <code>chtopx</code> programs from +<a href="ftp://ftp.tug.org/tex/web">ftp://ftp.tug.org/tex/web</a>. + + <li><a name="index-fontforge-786"></a><a name="index-pfaedit-787"></a>Editing of outline fonts: FontForge, <a href="fontforge.sourceforge.net">fontforge.sourceforge.net</a>. +This is a very elaborate program with support for many outline formats +(Type 1, OpenType, TrueType, <small class="dots">...</small>), and many advanced font +editing features. + + <li><a name="index-PK-bitmaps-from-PostScript-788"></a><a name="index-PostScript-to-PK-bitmaps-789"></a><a name="index-gsftopk-790"></a><a name="index-ps2pk-791"></a>PK bitmaps from PostScript outline fonts: gsftopk from the ‘<samp><span class="samp">xdvi</span></samp>’ +distribution. Alternatively, <code>ps2pk</code>, from +<samp><var>CTAN:</var><span class="file">/fonts/utilities/ps2pk</span></samp>. + + <li><a name="index-Type-1-conversion-792"></a><a name="index-PFA-and-PFB-conversion-793"></a><a name="index-PostScript-Type-1-font-conversion-794"></a>PostScript Type 1 font format conversion (i.e., between PFA and PFB +formats): <a href="http://www.lcdf.org/type">http://www.lcdf.org/type</a>. + + <li><a name="index-scanned-images-of-fonts-795"></a><a name="index-typeface-specimen-sheets-796"></a><a name="index-fontutils-797"></a>Scanned image conversion: the (aging) GNU font utilities convert type +specimen images to Metafont, PostScript, etc.: +<a href="http://www.gnu.org/software/fontutils/">http://www.gnu.org/software/fontutils/</a>. + + <li><a name="index-autotrace-798"></a><a name="index-potrace-799"></a>Tracing bitmaps to fitted outlines: Autotrace +(<a href="http://autotrace.sourceforge.net">http://autotrace.sourceforge.net</a>), Potrace +(<a href="http://potrace.sourceforge.net">http://potrace.sourceforge.net</a>). For Metafont fonts, either of +the two programs <code>mftrace</code> +(<a href="http://www.xs4all.nl/~hanwen/mftrace">http://www.xs4all.nl/~hanwen/mftrace</a>) or <code>textrace</code> +(<a href="http://textrace.sourceforge.net">http://textrace.sourceforge.net</a>) make the job easier. + + <li><a name="index-virtual-font-creation-800"></a><a name="index-fontinst_0040r_007b_002c-for-creating-virtual-fonts_007d-801"></a>Virtual font creation: <samp><var>CTAN:</var><span class="file">/fonts/utilities/fontinst</span></samp>. +</ul> + +<div class="node"> +<a name="Legalisms"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#References">References</a>, +Previous: <a rel="previous" accesskey="p" href="#Font-utilities">Font utilities</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="appendix">Appendix A Legalisms</h2> + +<p><a name="index-legalisms-802"></a><a name="index-copyright-notices-803"></a><a name="index-permissions_002c-legal-804"></a> +In general, each file has its own copyright notice stating the copying +permissions for that file. Following is a summary. + + <p>The Web2c system itself and most of the original WEB source files are +public domain. + + <p><samp><span class="file">tex.web</span></samp>, the MLTeX code, <samp><span class="file">mf.web</span></samp>, and <samp><span class="file">bibtex.web</span></samp>, +are copyrighted by their authors. They may be copied verbatim, but may +be modified only through a <samp><span class="file">.ch</span></samp> file. + + <p>MetaPost-related files, including <samp><span class="file">mp.web</span></samp> itself, are copyrighted +under X-like terms; the precise notice is included below. + + <p>Finally, the Kpathsea library is covered by the GNU Lesser General +Public License (see <a href="kpathsea.html#Introduction">Introduction</a>). Therefore, +the <em>binaries</em> resulting from a standard Web2c compilation are also +covered by the LGPL; so if you (re)distribute the binaries, you must +also (offer to) distribute the complete source that went into those +binaries. See the file <samp><span class="file">LGPL</span></samp> for complete details on the LGPL. + + <p>The following notice must be included by the terms of the MetaPost +copyright. + + <blockquote> +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that the copyright notice and this permission notice and warranty +disclaimer appear in supporting documentation, and that the names of +AT&T Bell Laboratories or any of its entities not be used in advertising +or publicity pertaining to distribution of the software without +specific, written prior permission. + + <p>AT&T disclaims all warranties with regard to this software, including +all implied warranties of merchantability and fitness. In no event +shall AT&T be liable for any special, indirect or consequential damages +or any damages whatsoever resulting from loss of use, data or profits, +whether in an action of contract, negligence or other tortious action, +arising out of or in connection with the use or performance of this +software. +</blockquote> + +<div class="node"> +<a name="References"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Index">Index</a>, +Previous: <a rel="previous" accesskey="p" href="#Legalisms">Legalisms</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="appendix">Appendix B References</h2> + +<p><a name="index-references-805"></a><a name="index-bibliography-806"></a> + <ol type=1 start=1> +<li>Kpathsea: See <a href="kpathsea.html#Top">Introduction</a>. + + <li>Dvips and Afm2tfm: See <a href="dvips.html#Top">Introduction</a>. + + <li>The TeX Users Group: <a href="http://www.tug.org">http://www.tug.org</a>. For an introduction +to the TeX system, see <a href="http://tug.org/begin.html">http://tug.org/begin.html</a>. + + <li>TUGboat: <a href="http://tug.org/TUGboat">http://tug.org/TUGboat</a>. + + <li>TeX and computer typesetting in general:<br> +<a href="ftp://ftp.math.utah.edu/pub/tex/bib/texbook1.bib">ftp://ftp.math.utah.edu/pub/tex/bib/texbook1.bib</a>. + + <li>For a bibliography of formal articles and technical reports on the +TeX project, see the books <cite>TeX: The Program</cite> or +<cite>Metafont: The Program</cite> cited below. + + <!-- begin{thebibliography}{Knu86d} --> + <li>[Bil87] +Neenie Billawala. +Write-white printing engines and tuning fonts with Metafont. +<cite>TUGboat</cite>, 8(1):29–32, April 1987. +<a href="http://tug.org/TUGboat/tb08-1/tb17billawala.pdf">http://tug.org/TUGboat/tb08-1/tb17billawala.pdf</a>. + + <li>[GMS94] +Michel Goossens, Frank Mittelbach, and Alexander Samarin. +<cite>The LaTeX Companion</cite>. +Addison-Wesley, Reading, MA, USA, 1994. + + <li>[Hob89] +John D. Hobby. +A Metafont-like system with PS output. +<cite>TUGboat</cite>, 10(4):505–512, December 1989. +<a href="http://tug.org/metapost">http://tug.org/metapost</a>. + + <li>[Hob92] +John D. Hobby. +A User's Manual for MetaPost. +Technical Report CSTR-162, AT&T Bell Laboratories, 1992. + + <li>[Hob93] +John D. Hobby. +Drawing Graphs with MetaPost. +Technical Report CSTR-164, AT&T Bell Laboratories, 1993. + + <li>[HS91] +Samuel P. Harbison and Guy L. Steele Jr. +<cite>C—A Reference Manual</cite>. +Prentice-Hall, Upper Saddle River, NJ 07458, USA, third edition, 1991. +An authoritative reference to the C programming language, and a good + companion to Kernighan and Ritchie. + + <li>[KL93] +Donald E. Knuth and Silvio Levy. +<cite>The CWEB System of Structured Documentation, Version 3.0</cite>. +Addison-Wesley, Reading, MA, USA, 1993. + + <li>[Knu84] +Donald E. Knuth. +A torture test for TeX. +Report No. STAN-CS-84-1027, Stanford University, Department of Computer + Science, 1984. + + <li>[Knu86a] +Donald E. Knuth. +A Torture Test for METAFONT. +Report No. STAN-CS-86-1095, Stanford University, Department of Computer + Science, 1986. + + <li>[Knu86b] +Donald E. Knuth. +<cite>The TeXbook</cite>, volume A of <cite>Computers and Typesetting</cite>. +Addison-Wesley, Reading, MA, USA, 1986. + + <li>[Knu86c] +Donald E. Knuth. +<cite>TeX: The Program</cite>, volume B of <cite>Computers and Typesetting</cite>. +Addison-Wesley, Reading, MA, USA, 1986. + + <li>[Knu86d] +Donald E. Knuth. +<cite>The METAFONTbook</cite>, volume C of <cite>Computers and Typesetting</cite>. +Addison-Wesley, Reading, MA, USA, 1986. + + <li>[Knu86e] +Donald E. Knuth. +<cite>METAFONT: The Program</cite>, volume D of <cite>Computers and + Typesetting</cite>. +Addison-Wesley, Reading, MA, USA, 1986. + + <li>[Knu86f] +Donald E. Knuth. +<cite>Computer Modern Typefaces</cite>, volume E of <cite>Computers and + Typesetting</cite>. +Addison-Wesley, Reading, MA, USA, 1986. + + <li>[Knu89] +Donald E. Knuth. +The errors of TeX. +<cite>Software—Practice and Experience</cite>, 19(7):607–681, July + 1989. +This is an updated version of Knuth:1988:ET. + + <li>[Knu90] +Donald Knuth. +Virtual Fonts: More Fun for Grand Wizards. +<cite>TUGboat</cite>, 11(1):13–23, April 1990. +<a href="http://tug.org/TUGboat/tb11-1/tb27knut.pdf">http://tug.org/TUGboat/tb11-1/tb27knut.pdf</a>. + + <li>[Knu92] +Donald E. Knuth. +<cite>Literate Programming</cite>. +CSLI Lecture Notes Number 27. Stanford University Center for the Study of + Language and Information, Stanford, CA, USA, 1992. + + <li>[Lam94] +Leslie Lamport. +<cite>LaTeX: A Document Preparation System: User's Guide and Reference + Manual</cite>. +Addison-Wesley, Reading, MA, USA, second edition, 1994. +Reprinted with corrections in 1996. + + <li>[Lia83] +Franklin Mark Liang. +Word hy-phen-a-tion by com-pu-ter. +Technical Report STAN-CS-83-977, Stanford University, August 1983. +<a href="http://tug.org/docs/liang/liang-thesis.pdf">http://tug.org/docs/liang/liang-thesis.pdf</a>. + + <li>[Mac91] +Pierre A. MacKay. +Looking at the pixels: Quality control for 300 dpi laser printer fonts, + especially Metafonts. +In Robert A. Morris and Jacques Andre, editors, <cite>Raster Imaging and + Digital Typography II—Papers from the second RIDT meeting, held in + Boston, Oct. 14–16, 1991</cite>, pages 205–215, New York, 1991. Cambridge + University Press. + + <li>[Spi89] +Michael D. Spivak. +<cite>LAMSTeX, The Synthesis</cite>. +The TeXplorators Corporation, 3701 W. Alabama, Suite 450-273, Houston, TX + 77027, USA, 1989. + + <li>[Spi90] +Michael D. Spivak. +<cite>The Joy of TeX—A Gourmet Guide to Typesetting with the + AMSTeX macro package</cite>. +American Mathematical Society, Providence, RI, USA, 2nd revised edition, 1990. + + <!-- end{thebibliography} --> + </ol> + +<div class="node"> +<a name="Index"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#References">References</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="unnumbered">Index</h2> + +<ul class="index-cp" compact> +<li><a href="#index-g_t_0040samp_007b_0023define_007d-options-36">‘<samp><span class="samp">#define</span></samp>’ options</a>: <a href="#Compile_002dtime-options">Compile-time options</a></li> +<li><a href="#index-g_t_0024-_0040r_007bexpansion-in-filenames_007d-223"><code>$ </code><span class="roman">expansion in filenames</span></a>: <a href="#g_t_005cinput-filenames">\input filenames</a></li> +<li><a href="#index-g_t_0025_0026-_0040r_007bmagic-number_007d-180"><code>%& </code><span class="roman">magic number</span></a>: <a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></li> +<li><a href="#index-g_t_002d-_0040r_007bstarting-a-filename_007d-93"><code>- </code><span class="roman">starting a filename</span></a>: <a href="#Option-conventions">Option conventions</a></li> +<li><a href="#index-g_t_002d-_0040r_007bstarts-option-names_007d-91"><code>- </code><span class="roman">starts option names</span></a>: <a href="#Option-conventions">Option conventions</a></li> +<li><a href="#index-g_t_002d_002d-_0040r_007bstarts-option-names_007d-92"><code>-- </code><span class="roman">starts option names</span></a>: <a href="#Option-conventions">Option conventions</a></li> +<li><a href="#index-g_t_002d_002ddisable_002ddump_002dshare-configure-_0040r_007boption_007d-195"><code>--disable-dump-share configure </code><span class="roman">option</span></a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li> +<li><a href="#index-g_t_002d_002ddisable_002dmf_002dnowin-449"><code>--disable-mf-nowin</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-g_t_002d_002denable_002depsfwin-416"><code>--enable-epsfwin</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-g_t_002d_002denable_002dhp2627win-418"><code>--enable-hp2627win</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-g_t_002d_002denable_002dipc-configure-_0040r_007boption_007d-249"><code>--enable-ipc configure </code><span class="roman">option</span></a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-g_t_002d_002denable_002dmftalkwin-420"><code>--enable-mftalkwin</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-g_t_002d_002denable_002dnext-423"><code>--enable-next</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-g_t_002d_002denable_002dregiswin-425"><code>--enable-regiswin</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-g_t_002d_002denable_002dsuntoolswin-430"><code>--enable-suntoolswin</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-g_t_002d_002denable_002dtektronixwin-434"><code>--enable-tektronixwin</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-g_t_002d_002denable_002dunitermwin-438"><code>--enable-unitermwin</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-g_t_002d_002dhelp-_0040r_007bcommon-option_007d-96"><code>--help </code><span class="roman">common option</span></a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-g_t_002d_002dverbose-_0040r_007bcommon-option_007d-98"><code>--verbose </code><span class="roman">common option</span></a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-g_t_002d_002dversion-_0040r_007bcommon-option_007d-100"><code>--version </code><span class="roman">common option</span></a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-g_t_002d_002dwith_002deditor_003d_0040var_007bcmd_007d-211"><code>--with-editor=</code><var>cmd</var></a>: <a href="#Editor-invocation">Editor invocation</a></li> +<li><a href="#index-g_t_002d_002dwith_002dmf_002dx_002dtoolkit_003d_0040var_007bkit_007d-444"><code>--with-mf-x-toolkit=</code><var>kit</var></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-g_t_002d_002dwith_002dx-443"><code>--with-x</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-g_t_002d8bit-138"><code>-8bit</code></a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-g_t_002dbase_003d_0040var_007bbase_007d-178"><code>-base=</code><var>base</var></a>: <a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></li> +<li><a href="#index-g_t_002dbase_003d_0040var_007bdumpname_007d-107"><code>-base=</code><var>dumpname</var></a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-g_t_002dchange_003d_0040var_007bchfile_007d-481"><code>-change=</code><var>chfile</var></a>: <a href="#mft-invocation">mft invocation</a></li> +<li><a href="#index-g_t_002dcharcode_002dformat_003d_0040var_007btype_007d-766"><code>-charcode-format=</code><var>type</var></a>: <a href="#vftovp-invocation">vftovp invocation</a></li> +<li><a href="#index-g_t_002dcharcode_002dformat_003d_0040var_007btype_007d-737"><code>-charcode-format=</code><var>type</var></a>: <a href="#tftopl-invocation">tftopl invocation</a></li> +<li><a href="#index-g_t_002dD-_0040r_007bcompiler-options_007d-37"><code>-D </code><span class="roman">compiler options</span></a>: <a href="#Compile_002dtime-options">Compile-time options</a></li> +<li><a href="#index-g_t_002ddisable_002dwrite18-263"><code>-disable-write18</code></a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-g_t_002ddpi_003d_0040var_007breal_007d-630"><code>-dpi=</code><var>real</var></a>: <a href="#dvitype-invocation">dvitype invocation</a></li> +<li><a href="#index-g_t_002denable_002dwrite18-262"><code>-enable-write18</code></a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-g_t_002denc-244"><code>-enc</code></a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-g_t_002dfile_002dline_002derror-102"><code>-file-line-error</code></a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-g_t_002dfile_002dline_002derror_002dstyle-104"><code>-file-line-error-style</code></a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-g_t_002dfmt_003d_0040var_007bdumpname_007d-106"><code>-fmt=</code><var>dumpname</var></a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-g_t_002dfmt_003d_0040var_007bfmt_007d-177"><code>-fmt=</code><var>fmt</var></a>: <a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></li> +<li><a href="#index-g_t_002dgeometry_0040r_007b_002c-supported-with-Xt_007d-458"><code>-geometry</code><span class="roman">, supported with Xt</span></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-g_t_002dhalt_002don_002derror-110"><code>-halt-on-error</code></a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-g_t_002dimages-711"><code>-images</code></a>: <a href="#gftype-invocation">gftype invocation</a></li> +<li><a href="#index-g_t_002dini-161"><code>-ini</code></a>: <a href="#Initial-and-virgin">Initial and virgin</a></li> +<li><a href="#index-g_t_002dini-112"><code>-ini</code></a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-g_t_002dinteraction_003d_0040var_007bstring_007d-115"><code>-interaction=</code><var>string</var></a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-g_t_002dipc-247"><code>-ipc</code></a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-g_t_002dipc_002dstart-248"><code>-ipc-start</code></a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-g_t_002djobname_003d_0040var_007bstring_007d-117"><code>-jobname=</code><var>string</var></a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-g_t_002dkpathsea_002ddebug_003d_0040var_007bnumber_007d-119"><code>-kpathsea-debug=</code><var>number</var></a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-g_t_002dlength_003d_0040var_007bnumber_007d-585"><code>-length=</code><var>number</var></a>: <a href="#tangle-invocation">tangle invocation</a></li> +<li><a href="#index-g_t_002dloose-593"><code>-loose</code></a>: <a href="#tangle-invocation">tangle invocation</a></li> +<li><a href="#index-g_t_002dlowercase-587"><code>-lowercase</code></a>: <a href="#tangle-invocation">tangle invocation</a></li> +<li><a href="#index-g_t_002dmagnification_003d_0040var_007binteger_007d-631"><code>-magnification=</code><var>integer</var></a>: <a href="#dvitype-invocation">dvitype invocation</a></li> +<li><a href="#index-g_t_002dmagnification_003d_0040var_007binteger_007d-616"><code>-magnification=</code><var>integer</var></a>: <a href="#dvicopy-invocation">dvicopy invocation</a></li> +<li><a href="#index-g_t_002dmax_002dpages_003d_0040var_007bn_007d-634"><code>-max-pages=</code><var>n</var></a>: <a href="#dvitype-invocation">dvitype invocation</a></li> +<li><a href="#index-g_t_002dmax_002dpages_003d_0040var_007bn_007d-619"><code>-max-pages=</code><var>n</var></a>: <a href="#dvicopy-invocation">dvicopy invocation</a></li> +<li><a href="#index-g_t_002dmem_003d_0040var_007bdumpname_007d-108"><code>-mem=</code><var>dumpname</var></a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-g_t_002dmin_002dcrossrefs_003d_0040var_007bn_007d-548"><code>-min-crossrefs=</code><var>n</var></a>: <a href="#bibtex-invocation">bibtex invocation</a></li> +<li><a href="#index-g_t_002dmixedcase-588"><code>-mixedcase</code></a>: <a href="#tangle-invocation">tangle invocation</a></li> +<li><a href="#index-g_t_002dmktex_003d_0040var_007bfiletype_007d-386"><code>-mktex=</code><var>filetype</var></a>: <a href="#mf-invocation">mf invocation</a></li> +<li><a href="#index-g_t_002dmktex_003d_0040var_007bfiletype_007d-250"><code>-mktex=</code><var>filetype</var></a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-g_t_002dmltex-252"><code>-mltex</code></a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-g_t_002dmnemonics-712"><code>-mnemonics</code></a>: <a href="#gftype-invocation">gftype invocation</a></li> +<li><a href="#index-g_t_002dno_002dfile_002dline_002derror-103"><code>-no-file-line-error</code></a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-g_t_002dno_002dmktex_003d_0040var_007bfiletype_007d-387"><code>-no-mktex=</code><var>filetype</var></a>: <a href="#mf-invocation">mf invocation</a></li> +<li><a href="#index-g_t_002dno_002dmktex_003d_0040var_007bfiletype_007d-251"><code>-no-mktex=</code><var>filetype</var></a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-g_t_002dno_002dparse_002dfirst_002dline-126"><code>-no-parse-first-line</code></a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-g_t_002dno_002dshell_002descape-260"><code>-no-shell-escape</code></a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-g_t_002doutput_002dcomment_003d_0040var_007bstring_007d-255"><code>-output-comment=</code><var>string</var></a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-g_t_002doutput_002ddirectory-150"><code>-output-directory</code></a>: <a href="#Output-file-location">Output file location</a></li> +<li><a href="#index-g_t_002doutput_002ddirectory-123"><code>-output-directory</code></a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-g_t_002doutput_002dlevel_003d_0040var_007bn_007d-635"><code>-output-level=</code><var>n</var></a>: <a href="#dvitype-invocation">dvitype invocation</a></li> +<li><a href="#index-g_t_002doverflow_002dlabel_002doffset_003d_0040var_007bpoints_007d-471"><code>-overflow-label-offset=</code><var>points</var></a>: <a href="#gftodvi-invocation">gftodvi invocation</a></li> +<li><a href="#index-g_t_002dpage_002dstart_003d_0040var_007bpage_002dspec_007d-636"><code>-page-start=</code><var>page-spec</var></a>: <a href="#dvitype-invocation">dvitype invocation</a></li> +<li><a href="#index-g_t_002dpage_002dstart_003d_0040var_007bpage_002dspec_007d-620"><code>-page-start=</code><var>page-spec</var></a>: <a href="#dvicopy-invocation">dvicopy invocation</a></li> +<li><a href="#index-g_t_002dparse_002dfirst_002dline-125"><code>-parse-first-line</code></a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-g_t_002dprogname_003d_0040var_007bstring_007d-179"><code>-progname=</code><var>string</var></a>: <a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></li> +<li><a href="#index-g_t_002dprogname_003d_0040var_007bstring_007d-128"><code>-progname=</code><var>string</var></a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-g_t_002drecorder-132"><code>-recorder</code></a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-g_t_002dshell_002descape-259"><code>-shell-escape</code></a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-g_t_002dshell_002drestricted-261"><code>-shell-restricted</code></a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-g_t_002dshow_002dopcodes-640"><code>-show-opcodes</code></a>: <a href="#dvitype-invocation">dvitype invocation</a></li> +<li><a href="#index-g_t_002dstrict-594"><code>-strict</code></a>: <a href="#tangle-invocation">tangle invocation</a></li> +<li><a href="#index-g_t_002dstyle_003d_0040var_007bmftfile_007d-483"><code>-style=</code><var>mftfile</var></a>: <a href="#mft-invocation">mft invocation</a></li> +<li><a href="#index-g_t_002dT-518"><code>-T</code></a>: <a href="#mpost-invocation">mpost invocation</a></li> +<li><a href="#index-g_t_002dterse-545"><code>-terse</code></a>: <a href="#bibtex-invocation">bibtex invocation</a></li> +<li><a href="#index-g_t_002dtex_003d_0040var_007btexprogram_007d-521"><code>-tex=</code><var>texprogram</var></a>: <a href="#mpost-invocation">mpost invocation</a></li> +<li><a href="#index-g_t_002dtranslate_002dfile_003d_0040var_007btcxfile_007d-134"><code>-translate-file=</code><var>tcxfile</var></a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-g_t_002dtroff-519"><code>-troff</code></a>: <a href="#mpost-invocation">mpost invocation</a></li> +<li><a href="#index-g_t_002dunderline-591"><code>-underline</code></a>: <a href="#tangle-invocation">tangle invocation</a></li> +<li><a href="#index-g_t_002duppercase-589"><code>-uppercase</code></a>: <a href="#tangle-invocation">tangle invocation</a></li> +<li><a href="#index-g_t_002dx-601"><code>-x</code></a>: <a href="#weave-invocation">weave invocation</a></li> +<li><a href="#index-g_t_002e_0040r_007b_002c-used-for-output_007d-149"><code>.</code><span class="roman">, used for output</span></a>: <a href="#Output-file-location">Output file location</a></li> +<li><a href="#index-g_t_002e2602gf-385"><code>.2602gf</code></a>: <a href="#mf-invocation">mf invocation</a></li> +<li><a href="#index-g_t_002eaux-_0040r_007bcross_002dreference-files_007d-536"><code>.aux </code><span class="roman">cross-reference files</span></a>: <a href="#bibtex-invocation">bibtex invocation</a></li> +<li><a href="#index-g_t_002ebase-390"><code>.base</code></a>: <a href="#Initial-Metafont">Initial Metafont</a></li> +<li><a href="#index-g_t_002ebbl-_0040r_007bbibliography-files_007d-535"><code>.bbl </code><span class="roman">bibliography files</span></a>: <a href="#bibtex-invocation">bibtex invocation</a></li> +<li><a href="#index-g_t_002ebib-_0040r_007bbibliography-databases_007d-537"><code>.bib </code><span class="roman">bibliography databases</span></a>: <a href="#bibtex-invocation">bibtex invocation</a></li> +<li><a href="#index-g_t_002eblg-_0040r_007bBib_0040TeX_007b_007d-log-file_007d-538"><code>.blg </code><span class="roman">BibTeX log file</span></a>: <a href="#bibtex-invocation">bibtex invocation</a></li> +<li><a href="#index-g_t_002efmt-267"><code>.fmt</code></a>: <a href="#Initial-TeX">Initial TeX</a></li> +<li><a href="#index-g_t_002emf-371"><code>.mf</code></a>: <a href="#mf-invocation">mf invocation</a></li> +<li><a href="#index-g_t_002emp-497"><code>.mp</code></a>: <a href="#mpost-invocation">mpost invocation</a></li> +<li><a href="#index-g_t_0040code_007b_002emps_007d-files-and-PDF-516"><code>.mps</code> files and PDF</a>: <a href="#mpost-invocation">mpost invocation</a></li> +<li><a href="#index-g_t_002e_0040var_007bnnn_007d-_0040r_007bPostScript-figures_007d-500"><code>.</code><var>nnn</var> <span class="roman">PostScript figures</span></a>: <a href="#mpost-invocation">mpost invocation</a></li> +<li><a href="#index-g_t_002e_0040var_007bnnn_007dgf-_0040r_007bgeneric-fonts_007d-375"><code>.</code><var>nnn</var><code>gf </code><span class="roman">generic fonts</span></a>: <a href="#mf-invocation">mf invocation</a></li> +<li><a href="#index-g_t_002etcx-_0040r_007bcharacter-translation-files_007d-303"><code>.tcx </code><span class="roman">character translation files</span></a>: <a href="#TCX-files">TCX files</a></li> +<li><a href="#index-g_t_002etcx-_0040r_007bcharacter-translation-files_007d-136"><code>.tcx </code><span class="roman">character translation files</span></a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-g_t_002etex-232"><code>.tex</code></a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-g_t_002etfm-_0040r_007boutput_007d-501"><code>.tfm </code><span class="roman">output</span></a>: <a href="#mpost-invocation">mpost invocation</a></li> +<li><a href="#index-g_t_002etfm-_0040r_007boutput_007d-380"><code>.tfm </code><span class="roman">output</span></a>: <a href="#mf-invocation">mf invocation</a></li> +<li><a href="#index-g_t_002eXdefaults-456"><code>.Xdefaults</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-g_t_002eXresources-457"><code>.Xresources</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-g_t2602gf-384"><code>2602gf</code></a>: <a href="#mf-invocation">mf invocation</a></li> +<li><a href="#index-g_t8-bit-clean-139">8 bit clean</a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-g_t8-bit-clean-output_002c-specifying-140"><code>8 bit clean output, specifying</code></a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-g_t8_002dbit-characters-306">8-bit characters</a>: <a href="#TCX-files">TCX files</a></li> +<li><a href="#index-g_t_005cbibliography-540"><code>\bibliography</code></a>: <a href="#bibtex-invocation">bibtex invocation</a></li> +<li><a href="#index-g_t_005cbibliographystyle-541"><code>\bibliographystyle</code></a>: <a href="#bibtex-invocation">bibtex invocation</a></li> +<li><a href="#index-g_t_005ccharsubdef-_0040r_007band-ML_0040TeX_007b_007d_007d-296"><code>\charsubdef </code><span class="roman">and MLTeX</span></a>: <a href="#g_t_005ccharsubdef">\charsubdef</a></li> +<li><a href="#index-g_t_005ccount_0040var_007bn_007d-639"><code>\count</code><var>n</var></a>: <a href="#dvitype-invocation">dvitype invocation</a></li> +<li><a href="#index-g_t_005ccount_0040var_007bn_007d-623"><code>\count</code><var>n</var></a>: <a href="#dvicopy-invocation">dvicopy invocation</a></li> +<li><a href="#index-g_t_005cfont-_0040r_007band-dynamic-generation_007d-237"><code>\font </code><span class="roman">and dynamic generation</span></a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-g_t_005cfontdimen-743"><code>\fontdimen</code></a>: <a href="#tftopl-invocation">tftopl invocation</a></li> +<li><a href="#index-g_t_005cimmediate_005cwrite18-335"><code>\immediate\write18</code></a>: <a href="#Shell-escapes">Shell escapes</a></li> +<li><a href="#index-g_t_005cinput-_0040r_007bfilenames_007d-214"><code>\input </code><span class="roman">filenames</span></a>: <a href="#g_t_005cinput-filenames">\input filenames</a></li> +<li><a href="#index-g_t_005cinput_0040r_007b_002c-and-pipes_007d-343"><code>\input</code><span class="roman">, and pipes</span></a>: <a href="#Shell-escapes">Shell escapes</a></li> +<li><a href="#index-g_t_005cmag-633"><code>\mag</code></a>: <a href="#dvitype-invocation">dvitype invocation</a></li> +<li><a href="#index-g_t_005cmag-618"><code>\mag</code></a>: <a href="#dvicopy-invocation">dvicopy invocation</a></li> +<li><a href="#index-g_t_005copenin_0040r_007b_002c-and-pipes_007d-342"><code>\openin</code><span class="roman">, and pipes</span></a>: <a href="#Shell-escapes">Shell escapes</a></li> +<li><a href="#index-g_t_005copenout-_0040r_007band-security_007d-238"><code>\openout </code><span class="roman">and security</span></a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-g_t_005copenout_0040r_007b_002c-and-pipes_007d-344"><code>\openout</code><span class="roman">, and pipes</span></a>: <a href="#Shell-escapes">Shell escapes</a></li> +<li><a href="#index-g_t_005coutput-_0040r_007broutine_002c-and-_0040code_007b_005cwrite_007d_007d-338"><code>\output </code><span class="roman">routine, and </span><code>\write</code></a>: <a href="#Shell-escapes">Shell escapes</a></li> +<li><a href="#index-g_t_005cpdfshellescape-345"><code>\pdfshellescape</code></a>: <a href="#Shell-escapes">Shell escapes</a></li> +<li><a href="#index-g_t_005cstring-224"><code>\string</code></a>: <a href="#g_t_005cinput-filenames">\input filenames</a></li> +<li><a href="#index-g_t_005ctracingcharsubdef-_0040r_007band-ML_0040TeX_007b_007d_007d-299"><code>\tracingcharsubdef </code><span class="roman">and MLTeX</span></a>: <a href="#g_t_005ctracingcharsubdef">\tracingcharsubdef</a></li> +<li><a href="#index-g_t_005ctracinglostchars-_0040r_007band-ML_0040TeX_007b_007d_007d-301"><code>\tracinglostchars </code><span class="roman">and MLTeX</span></a>: <a href="#g_t_005ctracingcharsubdef">\tracingcharsubdef</a></li> +<li><a href="#index-g_t_005cwrite18-_0040r_007bshell-escape-extension_007d-336"><code>\write18 </code><span class="roman">shell escape extension</span></a>: <a href="#Shell-escapes">Shell escapes</a></li> +<li><a href="#index-g_t_005e_005e-_0040r_007bnotation_002c-avoiding_007d-323"><code>^^ </code><span class="roman">notation, avoiding</span></a>: <a href="#TCX-files">TCX files</a></li> +<li><a href="#index-g_t_0040cite_007bComputer-Modern-Typefaces_007d_002c-production-of-488"><cite>Computer Modern Typefaces</cite>, production of</a>: <a href="#mft-invocation">mft invocation</a></li> +<li><a href="#index-abbrv_002ebst-563"><code>abbrv.bst</code></a>: <a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></li> +<li><a href="#index-accented-character-307">accented character</a>: <a href="#TCX-files">TCX files</a></li> +<li><a href="#index-accents_002c-hyphenating-words-with-293">accents, hyphenating words with</a>: <a href="#MLTeX">MLTeX</a></li> +<li><a href="#index-acknowledgements-19">acknowledgements</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-acm_002ebst-564"><code>acm.bst</code></a>: <a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></li> +<li><a href="#index-Ada_002c-WEB-for-577">Ada, WEB for</a>: <a href="#WEB">WEB</a></li> +<li><a href="#index-additional-Make-targets-44">additional Make targets</a>: <a href="#Additional-targets">Additional targets</a></li> +<li><a href="#index-AFM-to-TFM-conversion-772">AFM to TFM conversion</a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li> +<li><a href="#index-afm2tfm-773"><code>afm2tfm</code></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li> +<li><a href="#index-afmtopl-774"><code>afmtopl</code></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li> +<li><a href="#index-Aleph-354">Aleph</a>: <a href="#TeX-extensions">TeX extensions</a></li> +<li><a href="#index-aliases-for-fonts-145">aliases for fonts</a>: <a href="#Path-searching">Path searching</a></li> +<li><a href="#index-alpha_002ebst-565"><code>alpha.bst</code></a>: <a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></li> +<li><a href="#index-American-Mathematical-Society_002c-typesetting-system-277">American Mathematical Society, typesetting system</a>: <a href="#Formats">Formats</a></li> +<li><a href="#index-AMS_0040TeX_007b_007d-276">AMSTeX</a>: <a href="#Formats">Formats</a></li> +<li><a href="#index-apalike_002ebst-566"><code>apalike.bst</code></a>: <a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></li> +<li><a href="#index-architecture-dependencies-193">architecture dependencies</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li> +<li><a href="#index-array-limit_002c-fixed-83">array limit, fixed</a>: <a href="#Runtime-options">Runtime options</a></li> +<li><a href="#index-array-sizes-71">array sizes</a>: <a href="#Runtime-options">Runtime options</a></li> +<li><a href="#index-assembly-language-routines-41">assembly language routines</a>: <a href="#Compile_002dtime-options">Compile-time options</a></li> +<li><a href="#index-autotrace-798"><code>autotrace</code></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li> +<li><a href="#index-Awk_002c-WEB-for-576">Awk, WEB for</a>: <a href="#WEB">WEB</a></li> +<li><a href="#index-base-file_002c-determining-175">base file, determining</a>: <a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></li> +<li><a href="#index-base-files-391">base files</a>: <a href="#Initial-Metafont">Initial Metafont</a></li> +<li><a href="#index-base-files_002c-need-mode-definitions-401">base files, need mode definitions</a>: <a href="#Modes">Modes</a></li> +<li><a href="#index-base-files_002c-plain-only-398">base files, plain only</a>: <a href="#Initial-Metafont">Initial Metafont</a></li> +<li><a href="#index-base-files_002c-sharing-187">base files, sharing</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li> +<li><a href="#index-bases-_0040r_007bMake-target_007d-53"><code>bases </code><span class="roman">Make target</span></a>: <a href="#Additional-targets">Additional targets</a></li> +<li><a href="#index-basic-Bib_0040TeX_007b_007d-style-files-560">basic BibTeX style files</a>: <a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></li> +<li><a href="#index-basic-fonts-and-macros-29">basic fonts and macros</a>: <a href="#Installation">Installation</a></li> +<li><a href="#index-batch-languages-228">batch languages</a>: <a href="#TeX">TeX</a></li> +<li><a href="#index-BDF-and-GF-conversion-776">BDF and GF conversion</a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li> +<li><a href="#index-beginfig-499"><code>beginfig</code></a>: <a href="#mpost-invocation">mpost invocation</a></li> +<li><a href="#index-Berry_002c-Karl-17">Berry, Karl</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-BIBINPUTS_0040r_007b_002c-search-path-for-bib-files_007d-543"><code>BIBINPUTS</code><span class="roman">, search path for bib files</span></a>: <a href="#bibtex-invocation">bibtex invocation</a></li> +<li><a href="#index-bibliographies_002c-creating-532">bibliographies, creating</a>: <a href="#BibTeX">BibTeX</a></li> +<li><a href="#index-bibliography-806">bibliography</a>: <a href="#References">References</a></li> +<li><a href="#index-bibliography-items_002c-cross_002dreferenced-550">bibliography items, cross-referenced</a>: <a href="#bibtex-invocation">bibtex invocation</a></li> +<li><a href="#index-bibtex-534"><code>bibtex</code></a>: <a href="#bibtex-invocation">bibtex invocation</a></li> +<li><a href="#index-Bib_0040TeX_007b_007d-533">BibTeX</a>: <a href="#BibTeX">BibTeX</a></li> +<li><a href="#index-Bib_0040TeX_007b_007d-collection-557">BibTeX collection</a>: <a href="#bibtex-invocation">bibtex invocation</a></li> +<li><a href="#index-Bib_0040TeX_007b_007d-style-files-561">BibTeX style files</a>: <a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></li> +<li><a href="#index-BigEndian-machines-190">BigEndian machines</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li> +<li><a href="#index-binaries_002c-linking-129">binaries, linking</a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-blank-lines_002c-in-TCX-files-315">blank lines, in TCX files</a>: <a href="#TCX-files">TCX files</a></li> +<li><a href="#index-boxes_002c-memory-for-74">boxes, memory for</a>: <a href="#Runtime-options">Runtime options</a></li> +<li><a href="#index-breakpoints_002c-memory-for-76">breakpoints, memory for</a>: <a href="#Runtime-options">Runtime options</a></li> +<li><a href="#index-Breitenlohner_002c-Peter-5">Breitenlohner, Peter</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-BSTINPUTS_0040r_007b_002c-search-path-for-bst-files_007d-544"><code>BSTINPUTS</code><span class="roman">, search path for bst files</span></a>: <a href="#bibtex-invocation">bibtex invocation</a></li> +<li><a href="#index-btex-_0040r_007bfor-MetaPost-labels_007d-505"><code>btex </code><span class="roman">for MetaPost labels</span></a>: <a href="#mpost-invocation">mpost invocation</a></li> +<li><a href="#index-btxdoc_002ebib-554"><code>btxdoc.bib</code></a>: <a href="#bibtex-invocation">bibtex invocation</a></li> +<li><a href="#index-btxdoc_002etex-551"><code>btxdoc.tex</code></a>: <a href="#bibtex-invocation">bibtex invocation</a></li> +<li><a href="#index-btxhak_002etex-552"><code>btxhak.tex</code></a>: <a href="#bibtex-invocation">bibtex invocation</a></li> +<li><a href="#index-byte-position-713">byte position</a>: <a href="#gftype-invocation">gftype invocation</a></li> +<li><a href="#index-byte-position-680">byte position</a>: <a href="#pktype-invocation">pktype invocation</a></li> +<li><a href="#index-byte-swapping-196">byte swapping</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li> +<li><a href="#index-c_002dsources-_0040r_007bMakefile-target_007d-47"><code>c-sources </code><span class="roman">Makefile target</span></a>: <a href="#Additional-targets">Additional targets</a></li> +<li><a href="#index-change-files_002c-and-MFT-482">change files, and MFT</a>: <a href="#mft-invocation">mft invocation</a></li> +<li><a href="#index-change-files_002c-and-Tangle-582">change files, and Tangle</a>: <a href="#tangle-invocation">tangle invocation</a></li> +<li><a href="#index-change-files_002c-and-Weave-600">change files, and Weave</a>: <a href="#weave-invocation">weave invocation</a></li> +<li><a href="#index-changing-error-messages-style-105">changing error messages style</a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-character-codes_002c-in-GFtype-output-714">character codes, in GFtype output</a>: <a href="#gftype-invocation">gftype invocation</a></li> +<li><a href="#index-character-codes_002c-in-PKtype-output-683">character codes, in PKtype output</a>: <a href="#pktype-invocation">pktype invocation</a></li> +<li><a href="#index-character-codes_002c-in-TCX-files-318">character codes, in TCX files</a>: <a href="#TCX-files">TCX files</a></li> +<li><a href="#index-character-proofs-of-fonts-464">character proofs of fonts</a>: <a href="#gftodvi-invocation">gftodvi invocation</a></li> +<li><a href="#index-CHARACTER-_0040r_007bproperty_007d-751"><code>CHARACTER </code><span class="roman">property</span></a>: <a href="#tftopl-invocation">tftopl invocation</a></li> +<li><a href="#index-character-translation-files-304">character translation files</a>: <a href="#TCX-files">TCX files</a></li> +<li><a href="#index-CHARDP-_0040r_007bproperty_007d-754"><code>CHARDP </code><span class="roman">property</span></a>: <a href="#tftopl-invocation">tftopl invocation</a></li> +<li><a href="#index-CHARHT-_0040r_007bproperty_007d-753"><code>CHARHT </code><span class="roman">property</span></a>: <a href="#tftopl-invocation">tftopl invocation</a></li> +<li><a href="#index-CHARIC-_0040r_007bproperty_007d-755"><code>CHARIC </code><span class="roman">property</span></a>: <a href="#tftopl-invocation">tftopl invocation</a></li> +<li><a href="#index-CHARWD-_0040r_007bproperty_007d-752"><code>CHARWD </code><span class="roman">property</span></a>: <a href="#tftopl-invocation">tftopl invocation</a></li> +<li><a href="#index-chtopx-784"><code>chtopx</code></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li> +<li><a href="#index-class-name-for-Metafont-453">class name for Metafont</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-cm_002ebase-395"><code>cm.base</code></a>: <a href="#Initial-Metafont">Initial Metafont</a></li> +<li><a href="#index-cmbase_002emf-396"><code>cmbase.mf</code></a>: <a href="#Initial-Metafont">Initial Metafont</a></li> +<li><a href="#index-cmbase_002emft-486"><code>cmbase.mft</code></a>: <a href="#mft-invocation">mft invocation</a></li> +<li><a href="#index-cmmf_002ebase-_0040r_007bnot-recommended_007d-394"><code>cmmf.base </code><span class="roman">not recommended</span></a>: <a href="#Initial-Metafont">Initial Metafont</a></li> +<li><a href="#index-color_002c-in-DVItoMP-531">color, in DVItoMP</a>: <a href="#dvitomp-invocation">dvitomp invocation</a></li> +<li><a href="#index-comments_002c-in-TCX-files-317">comments, in TCX files</a>: <a href="#TCX-files">TCX files</a></li> +<li><a href="#index-comments_002c-MFT-control-479">comments, MFT control</a>: <a href="#mft-invocation">mft invocation</a></li> +<li><a href="#index-common-options-95">common options</a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-commonalities-87">commonalities</a>: <a href="#Commonalities">Commonalities</a></li> +<li><a href="#index-compilation-25">compilation</a>: <a href="#Installation">Installation</a></li> +<li><a href="#index-compile_002dtime-options-35">compile-time options</a>: <a href="#Compile_002dtime-options">Compile-time options</a></li> +<li><a href="#index-compile_002dtime-options-33">compile-time options</a>: <a href="#configure-options">configure options</a></li> +<li><a href="#index-Computer-Modern-fonts_002c-and-Troff-509">Computer Modern fonts, and Troff</a>: <a href="#mpost-invocation">mpost invocation</a></li> +<li><a href="#index-Computer-Modern-macros-397">Computer Modern macros</a>: <a href="#Initial-Metafont">Initial Metafont</a></li> +<li><a href="#index-configuration-24">configuration</a>: <a href="#Installation">Installation</a></li> +<li><a href="#index-configuration-file-reading-143">configuration file reading</a>: <a href="#Path-searching">Path searching</a></li> +<li><a href="#index-configuration-file-values-70">configuration file values</a>: <a href="#Runtime-options">Runtime options</a></li> +<li><a href="#index-configuration_002c-compile_002dtime-32">configuration, compile-time</a>: <a href="#configure-options">configure options</a></li> +<li><a href="#index-configure-_002d_002dwith_002f_002d_002denable-_0040r_007boptions_007d-34"><code>configure --with/--enable </code><span class="roman">options</span></a>: <a href="#configure-options">configure options</a></li> +<li><a href="#index-CONTENTS_002etex-603"><code>CONTENTS.tex</code></a>: <a href="#weave-invocation">weave invocation</a></li> +<li><a href="#index-control-sequence-names_002c-space-for-81">control sequence names, space for</a>: <a href="#Runtime-options">Runtime options</a></li> +<li><a href="#index-conventions-for-options_002c-89">conventions for options,</a>: <a href="#Option-conventions">Option conventions</a></li> +<li><a href="#index-conversion_002c-DVI-to-plain-text-625">conversion, DVI to plain text</a>: <a href="#dvitype-invocation">dvitype invocation</a></li> +<li><a href="#index-conversion_002c-GF-to-PK-667">conversion, GF to PK</a>: <a href="#gftopk-invocation">gftopk invocation</a></li> +<li><a href="#index-conversion_002c-GF-to-plain-text-706">conversion, GF to plain text</a>: <a href="#gftype-invocation">gftype invocation</a></li> +<li><a href="#index-conversion_002c-PK-to-GF-671">conversion, PK to GF</a>: <a href="#pktogf-invocation">pktogf invocation</a></li> +<li><a href="#index-conversion_002c-PK-to-plain-text-675">conversion, PK to plain text</a>: <a href="#pktype-invocation">pktype invocation</a></li> +<li><a href="#index-conversion_002c-property-list-to-TFM-757">conversion, property list to TFM</a>: <a href="#pltotf-invocation">pltotf invocation</a></li> +<li><a href="#index-conversion_002c-property-list-to-VF-768">conversion, property list to VF</a>: <a href="#vptovf-invocation">vptovf invocation</a></li> +<li><a href="#index-conversion_002c-TFM-to-property-list-732">conversion, TFM to property list</a>: <a href="#tftopl-invocation">tftopl invocation</a></li> +<li><a href="#index-conversion_002c-VF-to-VPL-761">conversion, VF to VPL</a>: <a href="#vftovp-invocation">vftovp invocation</a></li> +<li><a href="#index-copyright-notices-803">copyright notices</a>: <a href="#Legalisms">Legalisms</a></li> +<li><a href="#index-Cork-encoding-and-ISO-input-312">Cork encoding and ISO input</a>: <a href="#TCX-files">TCX files</a></li> +<li><a href="#index-creating-memory-dumps-171">creating memory dumps</a>: <a href="#Creating-memory-dumps">Creating memory dumps</a></li> +<li><a href="#index-cross_002dreferenced-bibliography-items-549">cross-referenced bibliography items</a>: <a href="#bibtex-invocation">bibtex invocation</a></li> +<li><a href="#index-cross_002dreferences_002c-omitting-602">cross-references, omitting</a>: <a href="#weave-invocation">weave invocation</a></li> +<li><a href="#index-current-directory_002c-used-for-output-148">current directory, used for output</a>: <a href="#Output-file-location">Output file location</a></li> +<li><a href="#index-Curtis_002c-Pavel-15">Curtis, Pavel</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-CWEB-575">CWEB</a>: <a href="#WEB">WEB</a></li> +<li><a href="#index-Cweb-574">Cweb</a>: <a href="#WEB">WEB</a></li> +<li><a href="#index-date-and-time_002c-in-memory-dumps-200">date and time, in memory dumps</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li> +<li><a href="#index-debugging-DVI-utilities-643">debugging DVI utilities</a>: <a href="#dvitype-invocation">dvitype invocation</a></li> +<li><a href="#index-debugging-flags_002c-specifying-121">debugging flags, specifying</a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-decimal-character-codes_002c-in-TCX-files-321">decimal character codes, in TCX files</a>: <a href="#TCX-files">TCX files</a></li> +<li><a href="#index-dependencies_002c-hardware-194">dependencies, hardware</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li> +<li><a href="#index-design_002dsize-units-750">design-size units</a>: <a href="#tftopl-invocation">tftopl invocation</a></li> +<li><a href="#index-device-definitions_002c-for-Metafont-402">device definitions, for Metafont</a>: <a href="#Modes">Modes</a></li> +<li><a href="#index-device_002dindependent-width-729">device-independent width</a>: <a href="#gftype-invocation">gftype invocation</a></li> +<li><a href="#index-device_002dindependent-width-686">device-independent width</a>: <a href="#pktype-invocation">pktype invocation</a></li> +<li><a href="#index-directory-structure-28">directory structure</a>: <a href="#Installation">Installation</a></li> +<li><a href="#index-DISPLAY-459"><code>DISPLAY</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-dot-files_002c-written-by-_0040TeX_007b_007d-programs-242">dot files, written by TeX programs</a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-downloading-of-fonts-for-MetaPost-labels-511">downloading of fonts for MetaPost labels</a>: <a href="#mpost-invocation">mpost invocation</a></li> +<li><a href="#index-DrawingServant-422"><code>DrawingServant</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-dump-file-109">dump file</a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-dumping-memory-167">dumping memory</a>: <a href="#Memory-dumps">Memory dumps</a></li> +<li><a href="#index-DVI-comment_002c-specifying-257">DVI comment, specifying</a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-DVI-files_002c-converting-to-MPX-529">DVI files, converting to MPX</a>: <a href="#dvitomp-invocation">dvitomp invocation</a></li> +<li><a href="#index-DVI-files_002c-explained-657">DVI files, explained</a>: <a href="#Font-file-formats">Font file formats</a></li> +<li><a href="#index-DVI-format-definition-613">DVI format definition</a>: <a href="#DVI-utilities">DVI utilities</a></li> +<li><a href="#index-DVI-opcodes_002c-showing-642">DVI opcodes, showing</a>: <a href="#dvitype-invocation">dvitype invocation</a></li> +<li><a href="#index-DVI-utilities-611">DVI utilities</a>: <a href="#DVI-utilities">DVI utilities</a></li> +<li><a href="#index-dvicopy-614"><code>dvicopy</code></a>: <a href="#dvicopy-invocation">dvicopy invocation</a></li> +<li><a href="#index-dvitomp-528"><code>dvitomp</code></a>: <a href="#dvitomp-invocation">dvitomp invocation</a></li> +<li><a href="#index-dvitype-_0040r_007bDVI-validation_007d-624"><code>dvitype </code><span class="roman">DVI validation</span></a>: <a href="#dvitype-invocation">dvitype invocation</a></li> +<li><a href="#index-dvitype-output-example-644">dvitype output example</a>: <a href="#dvitype-output-example">dvitype output example</a></li> +<li><a href="#index-dvitype_002eweb-612"><code>dvitype.web</code></a>: <a href="#DVI-utilities">DVI utilities</a></li> +<li><a href="#index-dx-_0040r_007bhorizontal-escapement_007d-726">dx <span class="roman">horizontal escapement</span></a>: <a href="#gftype-invocation">gftype invocation</a></li> +<li><a href="#index-dx-_0040r_007bhorizontal-escapement_007d-691">dx <span class="roman">horizontal escapement</span></a>: <a href="#pktype-invocation">pktype invocation</a></li> +<li><a href="#index-dy-_0040r_007bvertical-escapement_007d-727">dy <span class="roman">vertical escapement</span></a>: <a href="#gftype-invocation">gftype invocation</a></li> +<li><a href="#index-dynamic-array-allocation-86">dynamic array allocation</a>: <a href="#Runtime-options">Runtime options</a></li> +<li><a href="#index-dynamic-Metafont-mode-definitions-with-_0040code_007bsmode_007d-409">dynamic Metafont mode definitions with <code>smode</code></a>: <a href="#Modes">Modes</a></li> +<li><a href="#index-dynamic-packing-variable-682">dynamic packing variable</a>: <a href="#pktype-invocation">pktype invocation</a></li> +<li><a href="#index-e-_0040r_007bresponse-at-error-prompt_007d-207"><code>e </code><span class="roman">response at error prompt</span></a>: <a href="#Editor-invocation">Editor invocation</a></li> +<li><a href="#index-e_002dcircumflex-297">e-circumflex</a>: <a href="#g_t_005ccharsubdef">\charsubdef</a></li> +<li><a href="#index-e_002d_0040TeX_007b_007d-352">e-TeX</a>: <a href="#TeX-extensions">TeX extensions</a></li> +<li><a href="#index-e_002emft-487"><code>e.mft</code></a>: <a href="#mft-invocation">mft invocation</a></li> +<li><a href="#index-EC-fonts-373">EC fonts</a>: <a href="#mf-invocation">mf invocation</a></li> +<li><a href="#index-EC-fonts-235">EC fonts</a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-editing-of-bitmap-fonts-779">editing of bitmap fonts</a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li> +<li><a href="#index-editor-invoked-at-error-205">editor invoked at error</a>: <a href="#Editor-invocation">Editor invocation</a></li> +<li><a href="#index-eight_002dbit-characters-in-filenames-219">eight-bit characters in filenames</a>: <a href="#g_t_005cinput-filenames">\input filenames</a></li> +<li><a href="#index-empty_002etcx-311"><code>empty.tcx</code></a>: <a href="#TCX-files">TCX files</a></li> +<li><a href="#index-endian-dependencies-191">endian dependencies</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li> +<li><a href="#index-eoc-_0040r_007bGF-command_007d-720"><code>eoc </code><span class="roman">GF command</span></a>: <a href="#gftype-invocation">gftype invocation</a></li> +<li><a href="#index-Eplain-282">Eplain</a>: <a href="#Formats">Formats</a></li> +<li><a href="#index-epsf-414"><code>epsf</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-errors_002c-editor-invoked-at-206">errors, editor invoked at</a>: <a href="#Editor-invocation">Editor invocation</a></li> +<li><a href="#index-escapement_002c-horizontal-722">escapement, horizontal</a>: <a href="#gftype-invocation">gftype invocation</a></li> +<li><a href="#index-escapement_002c-horizontal-689">escapement, horizontal</a>: <a href="#pktype-invocation">pktype invocation</a></li> +<li><a href="#index-escapement_002c-vertical-724">escapement, vertical</a>: <a href="#gftype-invocation">gftype invocation</a></li> +<li><a href="#index-etex-_0040r_007bfor-MetaPost-labels_007d-506"><code>etex </code><span class="roman">for MetaPost labels</span></a>: <a href="#mpost-invocation">mpost invocation</a></li> +<li><a href="#index-executables_002c-shared-initial-and-virgin-160">executables, shared initial and virgin</a>: <a href="#Initial-and-virgin">Initial and virgin</a></li> +<li><a href="#index-exit-status_002c-of-shell-escape-339">exit status, of shell escape</a>: <a href="#Shell-escapes">Shell escapes</a></li> +<li><a href="#index-expanded-plain-format-283">expanded plain format</a>: <a href="#Formats">Formats</a></li> +<li><a href="#index-extensions-to-_0040TeX_007b_007d-350">extensions to TeX</a>: <a href="#TeX-extensions">TeX extensions</a></li> +<li><a href="#index-extra_005fmem_005fbot-73"><code>extra_mem_bot</code></a>: <a href="#Runtime-options">Runtime options</a></li> +<li><a href="#index-FACE-_0040r_007bproperty_007d-740"><code>FACE </code><span class="roman">property</span></a>: <a href="#tftopl-invocation">tftopl invocation</a></li> +<li><a href="#index-FAMILY-_0040r_007bproperty_007d-739"><code>FAMILY </code><span class="roman">property</span></a>: <a href="#tftopl-invocation">tftopl invocation</a></li> +<li><a href="#index-Ferguson_002c-Michael-291">Ferguson, Michael</a>: <a href="#MLTeX">MLTeX</a></li> +<li><a href="#index-file-formats-for-fonts-651">file formats for fonts</a>: <a href="#Font-file-formats">Font file formats</a></li> +<li><a href="#index-file-recorder-133">file recorder</a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-filename-conventions_002c-in-input-files-213">filename conventions, in input files</a>: <a href="#g_t_005cinput-filenames">\input filenames</a></li> +<li><a href="#index-filenames-starting-with-_0040samp_007b_002d_007d-94">filenames starting with ‘<samp><span class="samp">-</span></samp>’</a>: <a href="#Option-conventions">Option conventions</a></li> +<li><a href="#index-first-line-of-the-main-input-file-137">first line of the main input file</a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-fixed_002dpoint-arithmetic-39">fixed-point arithmetic</a>: <a href="#Compile_002dtime-options">Compile-time options</a></li> +<li><a href="#index-FIXPT-38"><code>FIXPT</code></a>: <a href="#Compile_002dtime-options">Compile-time options</a></li> +<li><a href="#index-flag-byte-681">flag byte</a>: <a href="#pktype-invocation">pktype invocation</a></li> +<li><a href="#index-floating_002dpoint-arithmetic-40">floating-point arithmetic</a>: <a href="#Compile_002dtime-options">Compile-time options</a></li> +<li><a href="#index-floating_002dpoint-values-198">floating-point values</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li> +<li><a href="#index-fmt-file_002c-determining-174">fmt file, determining</a>: <a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></li> +<li><a href="#index-fmt-files-268">fmt files</a>: <a href="#Initial-TeX">Initial TeX</a></li> +<li><a href="#index-fmt-files_002c-sharing-186">fmt files, sharing</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li> +<li><a href="#index-fmts-_0040r_007bMake-target_007d-51"><code>fmts </code><span class="roman">Make target</span></a>: <a href="#Additional-targets">Additional targets</a></li> +<li><a href="#index-font-aliases-144">font aliases</a>: <a href="#Path-searching">Path searching</a></li> +<li><a href="#index-font-character-code_002c-translating-324">font character code, translating</a>: <a href="#TCX-files">TCX files</a></li> +<li><a href="#index-font-design-368">font design</a>: <a href="#Metafont">Metafont</a></li> +<li><a href="#index-font-downloading-for-MetaPost-labels-512">font downloading for MetaPost labels</a>: <a href="#mpost-invocation">mpost invocation</a></li> +<li><a href="#index-font-file-formats-650">font file formats</a>: <a href="#Font-file-formats">Font file formats</a></li> +<li><a href="#index-font-proofs-465">font proofs</a>: <a href="#gftodvi-invocation">gftodvi invocation</a></li> +<li><a href="#index-font-utilities-645">font utilities</a>: <a href="#Font-utilities">Font utilities</a></li> +<li><a href="#index-font-utilities_002c-non_002dWeb2c-771">font utilities, non-Web2c</a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li> +<li><a href="#index-font_005fmem_005fsize-78"><code>font_mem_size</code></a>: <a href="#Runtime-options">Runtime options</a></li> +<li><a href="#index-fontforge-786"><code>fontforge</code></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li> +<li><a href="#index-fontinst_0040r_007b_002c-for-creating-virtual-fonts_007d-801"><code>fontinst</code><span class="roman">, for creating virtual fonts</span></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li> +<li><a href="#index-fonts_002c-basic-30">fonts, basic</a>: <a href="#Installation">Installation</a></li> +<li><a href="#index-fontutils-797"><code>fontutils</code></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li> +<li><a href="#index-format-files-271">format files</a>: <a href="#Initial-TeX">Initial TeX</a></li> +<li><a href="#index-formats-for-_0040TeX_007b_007d-272">formats for TeX</a>: <a href="#Formats">Formats</a></li> +<li><a href="#index-formats-_0040r_007bMake-target_007d-49"><code>formats </code><span class="roman">Make target</span></a>: <a href="#Additional-targets">Additional targets</a></li> +<li><a href="#index-fraction-routines-42">fraction routines</a>: <a href="#Compile_002dtime-options">Compile-time options</a></li> +<li><a href="#index-Free-Software-Foundation-documentation-system-281">Free Software Foundation documentation system</a>: <a href="#Formats">Formats</a></li> +<li><a href="#index-freedom-of-Web2c-9">freedom of Web2c</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-ftp_002emath_002eutah_002eedu-556"><code>ftp.math.utah.edu</code></a>: <a href="#bibtex-invocation">bibtex invocation</a></li> +<li><a href="#index-generating-source-specials-264">generating source specials</a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-geometric-designs-366">geometric designs</a>: <a href="#Metafont">Metafont</a></li> +<li><a href="#index-geometric-font-scaling-655">geometric font scaling</a>: <a href="#Font-file-formats">Font file formats</a></li> +<li><a href="#index-geometry-for-Metafont-454">geometry for Metafont</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-getopt_005flong_005fonly-90"><code>getopt_long_only</code></a>: <a href="#Option-conventions">Option conventions</a></li> +<li><a href="#index-GF-files_002c-explained-660">GF files, explained</a>: <a href="#Font-file-formats">Font file formats</a></li> +<li><a href="#index-GF-files_002c-output-by-Metafont-378">GF files, output by Metafont</a>: <a href="#mf-invocation">mf invocation</a></li> +<li><a href="#index-GF-format-definition-649">GF format definition</a>: <a href="#Font-utilities">Font utilities</a></li> +<li><a href="#index-GF-output-377">GF output</a>: <a href="#mf-invocation">mf invocation</a></li> +<li><a href="#index-GF_002c-converting-PK-to-672">GF, converting PK to</a>: <a href="#pktogf-invocation">pktogf invocation</a></li> +<li><a href="#index-GF_002c-converting-to-PK-669">GF, converting to PK</a>: <a href="#gftopk-invocation">gftopk invocation</a></li> +<li><a href="#index-gftodvi-463"><code>gftodvi</code></a>: <a href="#gftodvi-invocation">gftodvi invocation</a></li> +<li><a href="#index-gftopk-666"><code>gftopk</code></a>: <a href="#gftopk-invocation">gftopk invocation</a></li> +<li><a href="#index-gftopxl-783"><code>gftopxl</code></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li> +<li><a href="#index-gftype-_0040r_007bGF-validation_007d-705"><code>gftype </code><span class="roman">GF validation</span></a>: <a href="#gftype-invocation">gftype invocation</a></li> +<li><a href="#index-gftype_002eweb-647"><code>gftype.web</code></a>: <a href="#Font-utilities">Font utilities</a></li> +<li><a href="#index-glue-ratio-representations-199">glue ratio representations</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li> +<li><a href="#index-glue_002c-memory-for-75">glue, memory for</a>: <a href="#Runtime-options">Runtime options</a></li> +<li><a href="#index-glyph-substitutions-294">glyph substitutions</a>: <a href="#MLTeX">MLTeX</a></li> +<li><a href="#index-gray-font-467">gray font</a>: <a href="#gftodvi-invocation">gftodvi invocation</a></li> +<li><a href="#index-Gruff_002c-Billy-Goat-61">Gruff, Billy Goat</a>: <a href="#Triptrap">Triptrap</a></li> +<li><a href="#index-gsftopk-790"><code>gsftopk</code></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li> +<li><a href="#index-Harbison_002c-Samuel-P_002e-203">Harbison, Samuel P.</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li> +<li><a href="#index-hardware-and-memory-dumps-183">hardware and memory dumps</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li> +<li><a href="#index-hash-table_002c-increasing-size-of-82">hash table, increasing size of</a>: <a href="#Runtime-options">Runtime options</a></li> +<li><a href="#index-hash_005fextra-80"><code>hash_extra</code></a>: <a href="#Runtime-options">Runtime options</a></li> +<li><a href="#index-headerbyte-_0040r_007binformation_007d-741"><code>headerbyte </code><span class="roman">information</span></a>: <a href="#tftopl-invocation">tftopl invocation</a></li> +<li><a href="#index-height_002c-in-pixels-692">height, in pixels</a>: <a href="#pktype-invocation">pktype invocation</a></li> +<li><a href="#index-help_002c-online-97">help, online</a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-Henry_002c-Patrick-11">Henry, Patrick</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-Herberts_002c-Mathias-415">Herberts, Mathias</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-hex-character-codes_002c-in-TCX-files-320">hex character codes, in TCX files</a>: <a href="#TCX-files">TCX files</a></li> +<li><a href="#index-history-12">history</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-Hobby_002c-John-4">Hobby, John</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-horizontal-escapement-721">horizontal escapement</a>: <a href="#gftype-invocation">gftype invocation</a></li> +<li><a href="#index-horizontal-escapement-688">horizontal escapement</a>: <a href="#pktype-invocation">pktype invocation</a></li> +<li><a href="#index-hp2627-417"><code>hp2627</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-human-languages_002c-supported-in-_0040TeX_007b_007d-287">human languages, supported in TeX</a>: <a href="#Languages-and-hyphenation">Languages and hyphenation</a></li> +<li><a href="#index-human_002dreadable-text_002c-converting-DVI-to-627">human-readable text, converting DVI to</a>: <a href="#dvitype-invocation">dvitype invocation</a></li> +<li><a href="#index-human_002dreadable-text_002c-converting-GF-to-708">human-readable text, converting GF to</a>: <a href="#gftype-invocation">gftype invocation</a></li> +<li><a href="#index-human_002dreadable-text_002c-converting-PK-to-677">human-readable text, converting PK to</a>: <a href="#pktype-invocation">pktype invocation</a></li> +<li><a href="#index-human_002dreadable-text_002c-converting-TFM-to-735">human-readable text, converting TFM to</a>: <a href="#tftopl-invocation">tftopl invocation</a></li> +<li><a href="#index-human_002dreadable-text_002c-converting-VF-to-764">human-readable text, converting VF to</a>: <a href="#vftovp-invocation">vftovp invocation</a></li> +<li><a href="#index-hypertext-359">hypertext</a>: <a href="#TeX-extensions">TeX extensions</a></li> +<li><a href="#index-hyphenation-and-languages-288">hyphenation and languages</a>: <a href="#Languages-and-hyphenation">Languages and hyphenation</a></li> +<li><a href="#index-hyphenation-patterns_002c-creating-328">hyphenation patterns, creating</a>: <a href="#patgen-invocation">patgen invocation</a></li> +<li><a href="#index-ice-cream-10">ice cream</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-identifier-case-590">identifier case</a>: <a href="#tangle-invocation">tangle invocation</a></li> +<li><a href="#index-identifier-collisions-595">identifier collisions</a>: <a href="#tangle-invocation">tangle invocation</a></li> +<li><a href="#index-identifier-length-586">identifier length</a>: <a href="#tangle-invocation">tangle invocation</a></li> +<li><a href="#index-identifiers-with-underlines-592">identifiers with underlines</a>: <a href="#tangle-invocation">tangle invocation</a></li> +<li><a href="#index-ieeetr_002ebst-567"><code>ieeetr.bst</code></a>: <a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></li> +<li><a href="#index-il1_002dt1_002etcx-309"><code>il1-t1.tcx</code></a>: <a href="#TCX-files">TCX files</a></li> +<li><a href="#index-il2_002dt1_002etcx-310"><code>il2-t1.tcx</code></a>: <a href="#TCX-files">TCX files</a></li> +<li><a href="#index-Info-format-280">Info format</a>: <a href="#Formats">Formats</a></li> +<li><a href="#index-initial-form_002c-enabling-114">initial form, enabling</a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-initial-Metafont-388">initial Metafont</a>: <a href="#Initial-Metafont">Initial Metafont</a></li> +<li><a href="#index-initial-MetaPost-522">initial MetaPost</a>: <a href="#Initial-MetaPost">Initial MetaPost</a></li> +<li><a href="#index-initial-programs-164">initial programs</a>: <a href="#Initial-and-virgin">Initial and virgin</a></li> +<li><a href="#index-initial-_0040TeX_007b_007d-265">initial TeX</a>: <a href="#Initial-TeX">Initial TeX</a></li> +<li><a href="#index-initializations_002c-lengthy-165">initializations, lengthy</a>: <a href="#Initial-and-virgin">Initial and virgin</a></li> +<li><a href="#index-input-filenames-212">input filenames</a>: <a href="#g_t_005cinput-filenames">\input filenames</a></li> +<li><a href="#index-install_002dbases-_0040r_007bMake-target_007d-54"><code>install-bases </code><span class="roman">Make target</span></a>: <a href="#Additional-targets">Additional targets</a></li> +<li><a href="#index-install_002dfmts-_0040r_007bMake-target_007d-52"><code>install-fmts </code><span class="roman">Make target</span></a>: <a href="#Additional-targets">Additional targets</a></li> +<li><a href="#index-install_002dformats-_0040r_007bMake-target_007d-50"><code>install-formats </code><span class="roman">Make target</span></a>: <a href="#Additional-targets">Additional targets</a></li> +<li><a href="#index-install_002dmems-_0040r_007bMake-target_007d-56"><code>install-mems </code><span class="roman">Make target</span></a>: <a href="#Additional-targets">Additional targets</a></li> +<li><a href="#index-installation-26">installation</a>: <a href="#Installation">Installation</a></li> +<li><a href="#index-interaction-between-TCX-files-and-_0040samp_007b_002d8bit_007d_002e-326">interaction between TCX files and ‘<samp><span class="samp">-8bit</span></samp>’.</a>: <a href="#TCX-files">TCX files</a></li> +<li><a href="#index-interaction-mode-116">interaction mode</a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-international-characters-305">international characters</a>: <a href="#TCX-files">TCX files</a></li> +<li><a href="#index-introduction-1">introduction</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-IPC-347">IPC</a>: <a href="#IPC-and-TeX">IPC and TeX</a></li> +<li><a href="#index-IPC_005fDEBUG-349"><code>IPC_DEBUG</code></a>: <a href="#IPC-and-TeX">IPC and TeX</a></li> +<li><a href="#index-IPC_005fDEBUG-43"><code>IPC_DEBUG</code></a>: <a href="#Compile_002dtime-options">Compile-time options</a></li> +<li><a href="#index-job-name-118">job name</a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-kerning-table_002c-in-TFM-files-749">kerning table, in TFM files</a>: <a href="#tftopl-invocation">tftopl invocation</a></li> +<li><a href="#index-keyboard-character-code_002c-translating-325">keyboard character code, translating</a>: <a href="#TCX-files">TCX files</a></li> +<li><a href="#index-Knuth_002c-Donald-E_002e-480">Knuth, Donald E.</a>: <a href="#mft-invocation">mft invocation</a></li> +<li><a href="#index-Knuth_002c-Donald-E_002e-2">Knuth, Donald E.</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-KPATHSEA_005fDEBUG-120"><code>KPATHSEA_DEBUG</code></a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-KRN-_0040r_007bproperty_007d-747"><code>KRN </code><span class="roman">property</span></a>: <a href="#tftopl-invocation">tftopl invocation</a></li> +<li><a href="#index-label-font-469">label font</a>: <a href="#gftodvi-invocation">gftodvi invocation</a></li> +<li><a href="#index-LABEL-_0040r_007bproperty_007d-745"><code>LABEL </code><span class="roman">property</span></a>: <a href="#tftopl-invocation">tftopl invocation</a></li> +<li><a href="#index-language-support-in-_0040TeX_007b_007d-286">language support in TeX</a>: <a href="#Languages-and-hyphenation">Languages and hyphenation</a></li> +<li><a href="#index-languages_002c-hyphenation-rules-for-329">languages, hyphenation rules for</a>: <a href="#patgen-invocation">patgen invocation</a></li> +<li><a href="#index-g_t_0040LaTeX_007b_007d-275">LaTeX</a>: <a href="#Formats">Formats</a></li> +<li><a href="#index-Latin-Modern-778">Latin Modern</a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li> +<li><a href="#index-left-side-bearing-715">left side bearing</a>: <a href="#gftype-invocation">gftype invocation</a></li> +<li><a href="#index-left-side-bearing-701">left side bearing</a>: <a href="#pktype-invocation">pktype invocation</a></li> +<li><a href="#index-legalisms-802">legalisms</a>: <a href="#Legalisms">Legalisms</a></li> +<li><a href="#index-licensing-terms-8">licensing terms</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-LIG-_0040r_007bproperty_007d-746"><code>LIG </code><span class="roman">property</span></a>: <a href="#tftopl-invocation">tftopl invocation</a></li> +<li><a href="#index-ligature-table_002c-in-TFM-files-748">ligature table, in TFM files</a>: <a href="#tftopl-invocation">tftopl invocation</a></li> +<li><a href="#index-LIGTABLE-_0040r_007bproperty_007d-744"><code>LIGTABLE </code><span class="roman">property</span></a>: <a href="#tftopl-invocation">tftopl invocation</a></li> +<li><a href="#index-linking-binaries-130">linking binaries</a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-links-to-binaries-182">links to binaries</a>: <a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></li> +<li><a href="#index-literate-programming-571">literate programming</a>: <a href="#WEB">WEB</a></li> +<li><a href="#index-LittleEndian-machines-189">LittleEndian machines</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li> +<li><a href="#index-log-file_002c-Bib_0040TeX_007b_007d-539">log file, BibTeX</a>: <a href="#bibtex-invocation">bibtex invocation</a></li> +<li><a href="#index-Lua-361">Lua</a>: <a href="#TeX-extensions">TeX extensions</a></li> +<li><a href="#index-lua_0040TeX_007b_007d-360">luaTeX</a>: <a href="#TeX-extensions">TeX extensions</a></li> +<li><a href="#index-machine-dependencies-192">machine dependencies</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li> +<li><a href="#index-machine_002dreadable_002c-converting-property-lists-to-770">machine-readable, converting property lists to</a>: <a href="#vptovf-invocation">vptovf invocation</a></li> +<li><a href="#index-machine_002dreadable_002c-converting-property-lists-to-759">machine-readable, converting property lists to</a>: <a href="#pltotf-invocation">pltotf invocation</a></li> +<li><a href="#index-MacKay_002c-Pierre-664">MacKay, Pierre</a>: <a href="#Font-file-formats">Font file formats</a></li> +<li><a href="#index-macro-packages_002c-major-_0040TeX_007b_007d-274">macro packages, major TeX</a>: <a href="#Formats">Formats</a></li> +<li><a href="#index-macros_002c-basic-31">macros, basic</a>: <a href="#Installation">Installation</a></li> +<li><a href="#index-macros_002c-predefining-in-memory-dumps-168">macros, predefining in memory dumps</a>: <a href="#Memory-dumps">Memory dumps</a></li> +<li><a href="#index-magnification-632">magnification</a>: <a href="#dvitype-invocation">dvitype invocation</a></li> +<li><a href="#index-magnification-617">magnification</a>: <a href="#dvicopy-invocation">dvicopy invocation</a></li> +<li><a href="#index-main_005fmemory-72"><code>main_memory</code></a>: <a href="#Runtime-options">Runtime options</a></li> +<li><a href="#index-Make-targets_002c-additional-46">Make targets, additional</a>: <a href="#Additional-targets">Additional targets</a></li> +<li><a href="#index-Martin_002c-Rick-20">Martin, Rick</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-Mathematical-Reviews-278">Mathematical Reviews</a>: <a href="#Formats">Formats</a></li> +<li><a href="#index-mathematical-typesetting-227">mathematical typesetting</a>: <a href="#TeX">TeX</a></li> +<li><a href="#index-mem-file_002c-determining-176">mem file, determining</a>: <a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></li> +<li><a href="#index-mem-files_002c-sharing-188">mem files, sharing</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li> +<li><a href="#index-memory-dump-to-use_002c-determining-173">memory dump to use, determining</a>: <a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></li> +<li><a href="#index-memory-dumps-166">memory dumps</a>: <a href="#Memory-dumps">Memory dumps</a></li> +<li><a href="#index-memory-dumps-and-hardware-184">memory dumps and hardware</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li> +<li><a href="#index-memory-dumps_002c-contain-date-and-time-202">memory dumps, contain date and time</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li> +<li><a href="#index-memory-dumps_002c-creating-170">memory dumps, creating</a>: <a href="#Creating-memory-dumps">Creating memory dumps</a></li> +<li><a href="#index-mems-_0040r_007bMake-target_007d-55"><code>mems </code><span class="roman">Make target</span></a>: <a href="#Additional-targets">Additional targets</a></li> +<li><a href="#index-meta-characters-in-filenames-220">meta characters in filenames</a>: <a href="#g_t_005cinput-filenames">\input filenames</a></li> +<li><a href="#index-Metafont-364">Metafont</a>: <a href="#Metafont">Metafont</a></li> +<li><a href="#index-Metafont-geometry-455">Metafont geometry</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-Metafont-graphics-411">Metafont graphics</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-Metafont-input-files-372">Metafont input files</a>: <a href="#mf-invocation">mf invocation</a></li> +<li><a href="#index-Metafont-invocation-370">Metafont invocation</a>: <a href="#mf-invocation">mf invocation</a></li> +<li><a href="#index-Metafont-meets-PostScript-492">Metafont meets PostScript</a>: <a href="#MetaPost">MetaPost</a></li> +<li><a href="#index-Metafont-online-support_002c-new-devices-460">Metafont online support, new devices</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-Metafont-source_002c-prettyprinting-475">Metafont source, prettyprinting</a>: <a href="#mft-invocation">mft invocation</a></li> +<li><a href="#index-Metafont_002c-compatibility-in-MetaPost-524">Metafont, compatibility in MetaPost</a>: <a href="#Initial-MetaPost">Initial MetaPost</a></li> +<li><a href="#index-Metafont_002c-initial-389">Metafont, initial</a>: <a href="#Initial-Metafont">Initial Metafont</a></li> +<li><a href="#index-Metafont_002c-MetaPost_002c-and-_0040TeX_007b_007d-158">Metafont, MetaPost, and TeX</a>: <a href="#Three-programs">Three programs</a></li> +<li><a href="#index-MetaPost-490">MetaPost</a>: <a href="#MetaPost">MetaPost</a></li> +<li><a href="#index-MetaPost-and-plain-Metafont-compatibility-526">MetaPost and plain Metafont compatibility</a>: <a href="#Initial-MetaPost">Initial MetaPost</a></li> +<li><a href="#index-MetaPost-input-files-498">MetaPost input files</a>: <a href="#mpost-invocation">mpost invocation</a></li> +<li><a href="#index-MetaPost-invocation-494">MetaPost invocation</a>: <a href="#mpost-invocation">mpost invocation</a></li> +<li><a href="#index-MetaPost-source_002c-prettyprinting-489">MetaPost source, prettyprinting</a>: <a href="#mft-invocation">mft invocation</a></li> +<li><a href="#index-MetaPost_002c-initial-523">MetaPost, initial</a>: <a href="#Initial-MetaPost">Initial MetaPost</a></li> +<li><a href="#index-MetaPost_002c-_0040TeX_007b_007d_002c-and-Metafont-159">MetaPost, TeX, and Metafont</a>: <a href="#Three-programs">Three programs</a></li> +<li><a href="#index-metatype1-777"><code>metatype1</code></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li> +<li><a href="#index-mf-369"><code>mf</code></a>: <a href="#mf-invocation">mf invocation</a></li> +<li><a href="#index-mf_002ebase-393"><code>mf.base</code></a>: <a href="#Initial-Metafont">Initial Metafont</a></li> +<li><a href="#index-MFEDIT-209"><code>MFEDIT</code></a>: <a href="#Editor-invocation">Editor invocation</a></li> +<li><a href="#index-mfplain-527"><code>mfplain</code></a>: <a href="#Initial-MetaPost">Initial MetaPost</a></li> +<li><a href="#index-mfput-376"><code>mfput</code></a>: <a href="#mf-invocation">mf invocation</a></li> +<li><a href="#index-mft-474"><code>mft</code></a>: <a href="#mft-invocation">mft invocation</a></li> +<li><a href="#index-mftalk-419"><code>mftalk</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-MFTERM-412"><code>MFTERM</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-mftmac_002etex-478"><code>mftmac.tex</code></a>: <a href="#mft-invocation">mft invocation</a></li> +<li><a href="#index-micro_002dtypography-358">micro-typography</a>: <a href="#TeX-extensions">TeX extensions</a></li> +<li><a href="#index-mktexmf_0040r_007b_002c-disabling_007d-374"><code>mktexmf</code><span class="roman">, disabling</span></a>: <a href="#mf-invocation">mf invocation</a></li> +<li><a href="#index-mktextfM_0040r_007b_002c-disabling_007d-236"><code>mktextfM</code><span class="roman">, disabling</span></a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-mltex-289"><code>mltex</code></a>: <a href="#MLTeX">MLTeX</a></li> +<li><a href="#index-ML_0040TeX_007b_007d_002c-enabling-253">MLTeX, enabling</a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-mode-needed-to-run-Metafont-382">mode needed to run Metafont</a>: <a href="#mf-invocation">mf invocation</a></li> +<li><a href="#index-mode_005fdef-406"><code>mode_def</code></a>: <a href="#Modes">Modes</a></li> +<li><a href="#index-mode_005fsetup-407"><code>mode_setup</code></a>: <a href="#Modes">Modes</a></li> +<li><a href="#index-modes-file-needed-for-Metafont-400">modes file needed for Metafont</a>: <a href="#Modes">Modes</a></li> +<li><a href="#index-modes_002emf-_0040r_007brecommended-modes-file_007d-404"><code>modes.mf </code><span class="roman">recommended modes file</span></a>: <a href="#Modes">Modes</a></li> +<li><a href="#index-Morgan_002c-Tim-16">Morgan, Tim</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-Morris_002c-Bob-21">Morris, Bob</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-MPEDIT-210"><code>MPEDIT</code></a>: <a href="#Editor-invocation">Editor invocation</a></li> +<li><a href="#index-mpgraph_002eps-496"><code>mpgraph.ps</code></a>: <a href="#mpost-invocation">mpost invocation</a></li> +<li><a href="#index-mpman_002eps-495"><code>mpman.ps</code></a>: <a href="#mpost-invocation">mpost invocation</a></li> +<li><a href="#index-mpost-493"><code>mpost</code></a>: <a href="#mpost-invocation">mpost invocation</a></li> +<li><a href="#index-mpost_0040r_007b_002c-reason-for-name-change_007d-27"><code>mpost</code><span class="roman">, reason for name change</span></a>: <a href="#Installation">Installation</a></li> +<li><a href="#index-mpout-502"><code>mpout</code></a>: <a href="#mpost-invocation">mpost invocation</a></li> +<li><a href="#index-mproof_002etex-510"><code>mproof.tex</code></a>: <a href="#mpost-invocation">mpost invocation</a></li> +<li><a href="#index-mptrap-_0040r_007bMake-target_007d-60"><code>mptrap </code><span class="roman">Make target</span></a>: <a href="#Additional-targets">Additional targets</a></li> +<li><a href="#index-mptrap-test-64">mptrap test</a>: <a href="#Triptrap">Triptrap</a></li> +<li><a href="#index-mptrap_002ereadme-68"><code>mptrap.readme</code></a>: <a href="#Triptrap">Triptrap</a></li> +<li><a href="#index-MPX-files_002c-converting-from-DVI-files-530">MPX files, converting from DVI files</a>: <a href="#dvitomp-invocation">dvitomp invocation</a></li> +<li><a href="#index-Multi_002dlingual-_0040TeX_007b_007d-290">Multi-lingual TeX</a>: <a href="#MLTeX">MLTeX</a></li> +<li><a href="#index-N-tilde-298">N tilde</a>: <a href="#g_t_005ccharsubdef">\charsubdef</a></li> +<li><a href="#index-new-graphics-support-for-Metafont-461">new graphics support for Metafont</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-newrow-_0040r_007bGF-command_007d-719"><code>newrow </code><span class="roman">GF command</span></a>: <a href="#gftype-invocation">gftype invocation</a></li> +<li><a href="#index-next-421"><code>next</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-NO_005fX11WIN-439"><code>NO_X11WIN</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-non_002dUnix-system_002c-compiling-on-48">non-Unix system, compiling on</a>: <a href="#Additional-targets">Additional targets</a></li> +<li><a href="#index-non_002dwindows_002dcapable-Metafont-450">non-windows-capable Metafont</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-NUL_002c-not-allowed-in-filenames-218">NUL, not allowed in filenames</a>: <a href="#g_t_005cinput-filenames">\input filenames</a></li> +<li><a href="#index-octal-character-codes_002c-in-TCX-files-319">octal character codes, in TCX files</a>: <a href="#TCX-files">TCX files</a></li> +<li><a href="#index-offset-for-overflow-labels-473">offset for overflow labels</a>: <a href="#gftodvi-invocation">gftodvi invocation</a></li> +<li><a href="#index-online-Metafont-graphics-410">online Metafont graphics</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-opcodes_002c-showing-DVI-641">opcodes, showing DVI</a>: <a href="#dvitype-invocation">dvitype invocation</a></li> +<li><a href="#index-optical-font-scaling-654">optical font scaling</a>: <a href="#Font-file-formats">Font file formats</a></li> +<li><a href="#index-option-conventions-88">option conventions</a>: <a href="#Option-conventions">Option conventions</a></li> +<li><a href="#index-origin-698">origin</a>: <a href="#pktype-invocation">pktype invocation</a></li> +<li><a href="#index-output-directory_002c-specifying-151">output directory, specifying</a>: <a href="#Output-file-location">Output file location</a></li> +<li><a href="#index-output-directory_002c-specifying-124">output directory, specifying</a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-output-file-location-147">output file location</a>: <a href="#Output-file-location">Output file location</a></li> +<li><a href="#index-output-files_002c-written-by-_0040TeX_007b_007d-programs-240">output files, written by TeX programs</a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-output_005fcomment-_0040r_007bfor-DVI-files_007d-256"><code>output_comment </code><span class="roman">for DVI files</span></a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-overflow-label-offset-472">overflow label offset</a>: <a href="#gftodvi-invocation">gftodvi invocation</a></li> +<li><a href="#index-packet-length-684">packet length</a>: <a href="#pktype-invocation">pktype invocation</a></li> +<li><a href="#index-page_002c-starting-638">page, starting</a>: <a href="#dvitype-invocation">dvitype invocation</a></li> +<li><a href="#index-page_002c-starting-622">page, starting</a>: <a href="#dvicopy-invocation">dvicopy invocation</a></li> +<li><a href="#index-parsing-the-first-line-127">parsing the first line</a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-Pascal_002c-creating-from-WEB-580">Pascal, creating from WEB</a>: <a href="#tangle-invocation">tangle invocation</a></li> +<li><a href="#index-patgen-327"><code>patgen</code></a>: <a href="#patgen-invocation">patgen invocation</a></li> +<li><a href="#index-path-searching-141">path searching</a>: <a href="#Path-searching">Path searching</a></li> +<li><a href="#index-path-searching-debugging-122">path searching debugging</a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-PDF-357">PDF</a>: <a href="#TeX-extensions">TeX extensions</a></li> +<li><a href="#index-PDF_002c-and-_0040code_007b_002emps_007d-files-515">PDF, and <code>.mps</code> files</a>: <a href="#mpost-invocation">mpost invocation</a></li> +<li><a href="#index-pdf_0040TeX_007b_007d-356">pdfTeX</a>: <a href="#TeX-extensions">TeX extensions</a></li> +<li><a href="#index-permissions_002c-legal-804">permissions, legal</a>: <a href="#Legalisms">Legalisms</a></li> +<li><a href="#index-PFA-and-PFB-conversion-793">PFA and PFB conversion</a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li> +<li><a href="#index-pfaedit-787"><code>pfaedit</code></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li> +<li><a href="#index-PiC_0040TeX_007b_007d_002c-increasing-memory-for-77">PiCTeX, increasing memory for</a>: <a href="#Runtime-options">Runtime options</a></li> +<li><a href="#index-pipes_002c-reading-and-writing-341">pipes, reading and writing</a>: <a href="#Shell-escapes">Shell escapes</a></li> +<li><a href="#index-pixel-height-693">pixel height</a>: <a href="#pktype-invocation">pktype invocation</a></li> +<li><a href="#index-pixel-width-694">pixel width</a>: <a href="#pktype-invocation">pktype invocation</a></li> +<li><a href="#index-PK-bitmaps-from-PostScript-788">PK bitmaps from PostScript</a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li> +<li><a href="#index-PK-files_002c-explained-659">PK files, explained</a>: <a href="#Font-file-formats">Font file formats</a></li> +<li><a href="#index-PK-files_002c-not-output-by-Metafont-379">PK files, not output by Metafont</a>: <a href="#mf-invocation">mf invocation</a></li> +<li><a href="#index-PK-format-definition-648">PK format definition</a>: <a href="#Font-utilities">Font utilities</a></li> +<li><a href="#index-PK_002c-converting-GF-to-668">PK, converting GF to</a>: <a href="#gftopk-invocation">gftopk invocation</a></li> +<li><a href="#index-PK_002c-converting-to-GF-673">PK, converting to GF</a>: <a href="#pktogf-invocation">pktogf invocation</a></li> +<li><a href="#index-pktogf-670"><code>pktogf</code></a>: <a href="#pktogf-invocation">pktogf invocation</a></li> +<li><a href="#index-pktype-_0040r_007bPK-validation_007d-674"><code>pktype </code><span class="roman">PK validation</span></a>: <a href="#pktype-invocation">pktype invocation</a></li> +<li><a href="#index-pktype_002eweb-646"><code>pktype.web</code></a>: <a href="#Font-utilities">Font utilities</a></li> +<li><a href="#index-PL-files_002c-explained-661">PL files, explained</a>: <a href="#Font-file-formats">Font file formats</a></li> +<li><a href="#index-plain-Metafont_002c-compatibility-in-MetaPost-525">plain Metafont, compatibility in MetaPost</a>: <a href="#Initial-MetaPost">Initial MetaPost</a></li> +<li><a href="#index-plain-text_002c-converting-DVI-to-626">plain text, converting DVI to</a>: <a href="#dvitype-invocation">dvitype invocation</a></li> +<li><a href="#index-plain-text_002c-converting-GF-to-707">plain text, converting GF to</a>: <a href="#gftype-invocation">gftype invocation</a></li> +<li><a href="#index-plain-text_002c-converting-PK-to-676">plain text, converting PK to</a>: <a href="#pktype-invocation">pktype invocation</a></li> +<li><a href="#index-plain-text_002c-converting-TFM-to-736">plain text, converting TFM to</a>: <a href="#tftopl-invocation">tftopl invocation</a></li> +<li><a href="#index-plain-text_002c-converting-VF-to-765">plain text, converting VF to</a>: <a href="#vftovp-invocation">vftovp invocation</a></li> +<li><a href="#index-plain_002ebase-392"><code>plain.base</code></a>: <a href="#Initial-Metafont">Initial Metafont</a></li> +<li><a href="#index-plain_002ebst-562"><code>plain.bst</code></a>: <a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></li> +<li><a href="#index-plain_002efmt-269"><code>plain.fmt</code></a>: <a href="#Initial-TeX">Initial TeX</a></li> +<li><a href="#index-plain_002emft-485"><code>plain.mft</code></a>: <a href="#mft-invocation">mft invocation</a></li> +<li><a href="#index-pltotf-756"><code>pltotf</code></a>: <a href="#pltotf-invocation">pltotf invocation</a></li> +<li><a href="#index-pool-file_002c-writing-583">pool file, writing</a>: <a href="#tangle-invocation">tangle invocation</a></li> +<li><a href="#index-Poole_002c-Simon-435">Poole, Simon</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-pooltype-605"><code>pooltype</code></a>: <a href="#pooltype-invocation">pooltype invocation</a></li> +<li><a href="#index-portable-filenames-221">portable filenames</a>: <a href="#g_t_005cinput-filenames">\input filenames</a></li> +<li><a href="#index-PostScript-fonts_002c-and-Troff-507">PostScript fonts, and Troff</a>: <a href="#mpost-invocation">mpost invocation</a></li> +<li><a href="#index-PostScript-meets-Metafont-491">PostScript meets Metafont</a>: <a href="#MetaPost">MetaPost</a></li> +<li><a href="#index-PostScript-output-504">PostScript output</a>: <a href="#mpost-invocation">mpost invocation</a></li> +<li><a href="#index-PostScript-to-PK-bitmaps-789">PostScript to PK bitmaps</a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li> +<li><a href="#index-PostScript-Type-1-font-conversion-794">PostScript Type 1 font conversion</a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li> +<li><a href="#index-PostScript_002c-and-font-scaling-656">PostScript, and font scaling</a>: <a href="#Font-file-formats">Font file formats</a></li> +<li><a href="#index-potrace-799"><code>potrace</code></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li> +<li><a href="#index-predefined-macros-and-memory-dumps-169">predefined macros and memory dumps</a>: <a href="#Memory-dumps">Memory dumps</a></li> +<li><a href="#index-prettyprinting-Metafont-source-476">prettyprinting Metafont source</a>: <a href="#mft-invocation">mft invocation</a></li> +<li><a href="#index-prettyprinting-WEB-programs-599">prettyprinting WEB programs</a>: <a href="#weave-invocation">weave invocation</a></li> +<li><a href="#index-primitives_002c-new-353">primitives, new</a>: <a href="#TeX-extensions">TeX extensions</a></li> +<li><a href="#index-printable-characters_002c-specifying-322">printable characters, specifying</a>: <a href="#TCX-files">TCX files</a></li> +<li><a href="#index-printer-characteristics_002c-for-Metafont-403">printer characteristics, for Metafont</a>: <a href="#Modes">Modes</a></li> +<li><a href="#index-production-use-163">production use</a>: <a href="#Initial-and-virgin">Initial and virgin</a></li> +<li><a href="#index-program-name_002c-determines-memory-dump-181">program name, determines memory dump</a>: <a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></li> +<li><a href="#index-program-names_002c-special-254">program names, special</a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-program-names_002c-special-113">program names, special</a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-prologues-520"><code>prologues</code></a>: <a href="#mpost-invocation">mpost invocation</a></li> +<li><a href="#index-prologues_0040r_007b_002c-and-EPSF-output_007d-513"><code>prologues</code><span class="roman">, and EPSF output</span></a>: <a href="#mpost-invocation">mpost invocation</a></li> +<li><a href="#index-proof-_0040r_007bmode_007d-383"><code>proof </code><span class="roman">mode</span></a>: <a href="#mf-invocation">mf invocation</a></li> +<li><a href="#index-proof-sheets_002c-of-fonts-466">proof sheets, of fonts</a>: <a href="#gftodvi-invocation">gftodvi invocation</a></li> +<li><a href="#index-property-list-format-738">property list format</a>: <a href="#tftopl-invocation">tftopl invocation</a></li> +<li><a href="#index-property-list_002c-converting-TFM-to-734">property list, converting TFM to</a>: <a href="#tftopl-invocation">tftopl invocation</a></li> +<li><a href="#index-property-list_002c-converting-VF-to-virtual-763">property list, converting VF to virtual</a>: <a href="#vftovp-invocation">vftovp invocation</a></li> +<li><a href="#index-ps2pk-791"><code>ps2pk</code></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li> +<li><a href="#index-psfonts_002emap_0040r_007b_002c-read-by-MetaPost_007d-514"><code>psfonts.map</code><span class="roman">, read by MetaPost</span></a>: <a href="#mpost-invocation">mpost invocation</a></li> +<li><a href="#index-PXL-files_002c-explained-658">PXL files, explained</a>: <a href="#Font-file-formats">Font file formats</a></li> +<li><a href="#index-pxtoch-785"><code>pxtoch</code></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li> +<li><a href="#index-Raichle_002c-Bernd-292">Raichle, Bernd</a>: <a href="#MLTeX">MLTeX</a></li> +<li><a href="#index-reading_002c-additional-23">reading, additional</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-readonly-directory_002c-running-_0040TeX_007b_007d-in-152">readonly directory, running TeX in</a>: <a href="#Output-file-location">Output file location</a></li> +<li><a href="#index-reallocation-of-arrays-85">reallocation of arrays</a>: <a href="#Runtime-options">Runtime options</a></li> +<li><a href="#index-redefined-character-substitutions-300">redefined character substitutions</a>: <a href="#g_t_005ctracingcharsubdef">\tracingcharsubdef</a></li> +<li><a href="#index-reference-pixel-699">reference pixel</a>: <a href="#pktype-invocation">pktype invocation</a></li> +<li><a href="#index-references-805">references</a>: <a href="#References">References</a></li> +<li><a href="#index-regis-424"><code>regis</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-Regis-graphics-support-426">Regis graphics support</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-regression-testing-258">regression testing</a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-repeated-rows-704">repeated rows</a>: <a href="#pktype-invocation">pktype invocation</a></li> +<li><a href="#index-representation-of-strings-609">representation of strings</a>: <a href="#pooltype-invocation">pooltype invocation</a></li> +<li><a href="#index-restricted-shell-escapes-332">restricted shell escapes</a>: <a href="#Shell-escapes">Shell escapes</a></li> +<li><a href="#index-right-side-bearing-716">right side bearing</a>: <a href="#gftype-invocation">gftype invocation</a></li> +<li><a href="#index-right-side-bearing-702">right side bearing</a>: <a href="#pktype-invocation">pktype invocation</a></li> +<li><a href="#index-Rokicki_002c-Tomas-13">Rokicki, Tomas</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-run-length-encoded-bitmaps-718">run length encoded bitmaps</a>: <a href="#gftype-invocation">gftype invocation</a></li> +<li><a href="#index-run-length-encoded-bitmaps-703">run length encoded bitmaps</a>: <a href="#pktype-invocation">pktype invocation</a></li> +<li><a href="#index-runtime-options-69">runtime options</a>: <a href="#Runtime-options">Runtime options</a></li> +<li><a href="#index-scaled-pixels-725">scaled pixels</a>: <a href="#gftype-invocation">gftype invocation</a></li> +<li><a href="#index-scaled-pixels-690">scaled pixels</a>: <a href="#pktype-invocation">pktype invocation</a></li> +<li><a href="#index-scaling-of-fonts-653">scaling of fonts</a>: <a href="#Font-file-formats">Font file formats</a></li> +<li><a href="#index-scanned-images-of-fonts-795">scanned images of fonts</a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li> +<li><a href="#index-security_002c-and-_0040code_007b_005copenout_007d-239">security, and <code>\openout</code></a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-security_002c-and-output-files-243">security, and output files</a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-security_002c-and-shell-escapes-331">security, and shell escapes</a>: <a href="#Shell-escapes">Shell escapes</a></li> +<li><a href="#index-security_002c-and-_0040code_007bwrite_007d-517">security, and <code>write</code></a>: <a href="#mpost-invocation">mpost invocation</a></li> +<li><a href="#index-shapes-367">shapes</a>: <a href="#Metafont">Metafont</a></li> +<li><a href="#index-sharing-memory-dumps-185">sharing memory dumps</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li> +<li><a href="#index-shell-commands-in-_0040TeX_007b_007d-330">shell commands in TeX</a>: <a href="#Shell-escapes">Shell escapes</a></li> +<li><a href="#index-shell_005fescape-_0040r_007benabling-in-_0040TeX_007b_007d_007d-334"><code>shell_escape </code><span class="roman">enabling in TeX</span></a>: <a href="#Shell-escapes">Shell escapes</a></li> +<li><a href="#index-shell_005fescape_005fcommands-340"><code>shell_escape_commands</code></a>: <a href="#Shell-escapes">Shell escapes</a></li> +<li><a href="#index-siam_002ebst-568"><code>siam.bst</code></a>: <a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></li> +<li><a href="#index-side-bearings-717">side bearings</a>: <a href="#gftype-invocation">gftype invocation</a></li> +<li><a href="#index-side-bearings-700">side bearings</a>: <a href="#pktype-invocation">pktype invocation</a></li> +<li><a href="#index-slant-font-470">slant font</a>: <a href="#gftodvi-invocation">gftodvi invocation</a></li> +<li><a href="#index-slides_002c-producing-285">slides, producing</a>: <a href="#Formats">Formats</a></li> +<li><a href="#index-Sli_0040TeX_007b_007d-284">SliTeX</a>: <a href="#Formats">Formats</a></li> +<li><a href="#index-small-Metafont-memory-and-modes-405">small Metafont memory and modes</a>: <a href="#Modes">Modes</a></li> +<li><a href="#index-smode-_0040r_007band-dynamic-Metafont-mode-definition_007d-408"><code>smode </code><span class="roman">and dynamic Metafont mode definition</span></a>: <a href="#Modes">Modes</a></li> +<li><a href="#index-sockets-348">sockets</a>: <a href="#IPC-and-TeX">IPC and TeX</a></li> +<li><a href="#index-space_002dterminated-filenames-215">space-terminated filenames</a>: <a href="#g_t_005cinput-filenames">\input filenames</a></li> +<li><a href="#index-Spiderweb-573">Spiderweb</a>: <a href="#WEB">WEB</a></li> +<li><a href="#index-Stallman_002c-Richard-22">Stallman, Richard</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-starting-page-637">starting page</a>: <a href="#dvitype-invocation">dvitype invocation</a></li> +<li><a href="#index-starting-page-621">starting page</a>: <a href="#dvicopy-invocation">dvicopy invocation</a></li> +<li><a href="#index-Steele-Jr_002e_002c-Guy-L_002e-204">Steele Jr., Guy L.</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li> +<li><a href="#index-stopping-at-the-first-error-111">stopping at the first error</a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-strategy_002c-overall-7">strategy, overall</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-string-numbers_002c-displaying-607">string numbers, displaying</a>: <a href="#pooltype-invocation">pooltype invocation</a></li> +<li><a href="#index-string-pool_002c-writing-584">string pool, writing</a>: <a href="#tangle-invocation">tangle invocation</a></li> +<li><a href="#index-string-representation-610">string representation</a>: <a href="#pooltype-invocation">pooltype invocation</a></li> +<li><a href="#index-style-design_002c-for-Bib_0040TeX_007b_007d-553">style design, for BibTeX</a>: <a href="#bibtex-invocation">bibtex invocation</a></li> +<li><a href="#index-style-files-484">style files</a>: <a href="#mft-invocation">mft invocation</a></li> +<li><a href="#index-substitutions-of-font-glyphs-295">substitutions of font glyphs</a>: <a href="#MLTeX">MLTeX</a></li> +<li><a href="#index-sun-427"><code>sun</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-sun_002dgfx_002ec-431"><code>sun-gfx.c</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-Suntools-429">Suntools</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-SunView-428">SunView</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-swap-space_002c-as-array-limit-84">swap space, as array limit</a>: <a href="#Runtime-options">Runtime options</a></li> +<li><a href="#index-swapping-bytes-197">swapping bytes</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li> +<li><a href="#index-syntax-of-TCX-files-314">syntax of TCX files</a>: <a href="#TCX-files">TCX files</a></li> +<li><a href="#index-system-_0040r_007bC-library-function_007d-337"><code>system </code><span class="roman">C library function</span></a>: <a href="#Shell-escapes">Shell escapes</a></li> +<li><a href="#index-system-command-333">system command</a>: <a href="#Shell-escapes">Shell escapes</a></li> +<li><a href="#index-T1-encoding-and-ISO-input-313">T1 encoding and ISO input</a>: <a href="#TCX-files">TCX files</a></li> +<li><a href="#index-Tachikawa_002c-Elizabeth-665">Tachikawa, Elizabeth</a>: <a href="#Font-file-formats">Font file formats</a></li> +<li><a href="#index-tangle-579"><code>tangle</code></a>: <a href="#tangle-invocation">tangle invocation</a></li> +<li><a href="#index-targets_002c-additional-Make-45">targets, additional Make</a>: <a href="#Additional-targets">Additional targets</a></li> +<li><a href="#index-TCX-_0040r_007bcharacter-translation-files_007d-302"><code>TCX </code><span class="roman">character translation files</span></a>: <a href="#TCX-files">TCX files</a></li> +<li><a href="#index-tek-432"><code>tek</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-Tektronix-433">Tektronix</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-Tektronix-4014-437">Tektronix 4014</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-TERM-413"><code>TERM</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-terminator-for-filenames-217">terminator for filenames</a>: <a href="#g_t_005cinput-filenames">\input filenames</a></li> +<li><a href="#index-terse-output-546">terse output</a>: <a href="#bibtex-invocation">bibtex invocation</a></li> +<li><a href="#index-tex-230"><code>tex</code></a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-g_t_0040TeX_007b_007d_002c-bibliographies-for-559">TeX, bibliographies for</a>: <a href="#bibtex-invocation">bibtex invocation</a></li> +<li><a href="#index-g_t_0040TeX_007b_007d_002c-creating-from-Metafont-477">TeX, creating from Metafont</a>: <a href="#mft-invocation">mft invocation</a></li> +<li><a href="#index-g_t_0040TeX_007b_007d_002c-creating-from-WEB-597">TeX, creating from WEB</a>: <a href="#weave-invocation">weave invocation</a></li> +<li><a href="#index-g_t_0040TeX_007b_007d_002c-description-of-225">TeX, description of</a>: <a href="#TeX">TeX</a></li> +<li><a href="#index-g_t_0040TeX_007b_007d_002c-extensions-to-351">TeX, extensions to</a>: <a href="#TeX-extensions">TeX extensions</a></li> +<li><a href="#index-g_t_0040TeX_007b_007d_002c-format-packages-for-273">TeX, format packages for</a>: <a href="#Formats">Formats</a></li> +<li><a href="#index-g_t_0040TeX_007b_007d_002c-initial-266">TeX, initial</a>: <a href="#Initial-TeX">Initial TeX</a></li> +<li><a href="#index-g_t_0040TeX_007b_007d_002c-input-files-found-233">TeX, input files found</a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-g_t_0040TeX_007b_007d_002c-invocation-231">TeX, invocation</a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-g_t_0040TeX_007b_007d_002c-Metafont_002c-and-MetaPost-157">TeX, Metafont, and MetaPost</a>: <a href="#Three-programs">Three programs</a></li> +<li><a href="#index-g_t_0040TeX_007b_007d_002c-Web2c-implementation-of-3">TeX, Web2c implementation of</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-tex_002efmt-270"><code>tex.fmt</code></a>: <a href="#Initial-TeX">Initial TeX</a></li> +<li><a href="#index-TEXBIB_0040r_007b_002c-search-path-for-bib-files_007d-542"><code>TEXBIB</code><span class="roman">, search path for bib files</span></a>: <a href="#bibtex-invocation">bibtex invocation</a></li> +<li><a href="#index-TEXEDIT-208"><code>TEXEDIT</code></a>: <a href="#Editor-invocation">Editor invocation</a></li> +<li><a href="#index-texfonts_002emap-146"><code>texfonts.map</code></a>: <a href="#Path-searching">Path searching</a></li> +<li><a href="#index-Texinfo-279">Texinfo</a>: <a href="#Formats">Formats</a></li> +<li><a href="#index-texmf_002ecnf-142"><code>texmf.cnf</code></a>: <a href="#Path-searching">Path searching</a></li> +<li><a href="#index-texmfmp_002ec-462"><code>texmfmp.c</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-TEXMFOUTPUT_0040r_007b_002c-used-for-reading_007d-155"><code>TEXMFOUTPUT</code><span class="roman">, used for reading</span></a>: <a href="#Output-file-location">Output file location</a></li> +<li><a href="#index-TEXMFOUTPUT_0040r_007b_002c-used-if-_0040samp_007b_002e_007d-unwritable_007d-153"><code>TEXMFOUTPUT</code><span class="roman">, used if ‘</span><samp><span class="samp">.</span></samp><span class="roman">’ unwritable</span></a>: <a href="#Output-file-location">Output file location</a></li> +<li><a href="#index-texput-234"><code>texput</code></a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-TFM-files_002c-converting-property-lists-to-758">TFM files, converting property lists to</a>: <a href="#pltotf-invocation">pltotf invocation</a></li> +<li><a href="#index-TFM-files_002c-explained-652">TFM files, explained</a>: <a href="#Font-file-formats">Font file formats</a></li> +<li><a href="#index-TFM-files_002c-memory-for-79">TFM files, memory for</a>: <a href="#Runtime-options">Runtime options</a></li> +<li><a href="#index-TFM-files_002c-output-by-Metafont-381">TFM files, output by Metafont</a>: <a href="#mf-invocation">mf invocation</a></li> +<li><a href="#index-TFM-files_002c-output-by-MetaPost-503">TFM files, output by MetaPost</a>: <a href="#mpost-invocation">mpost invocation</a></li> +<li><a href="#index-TFM-width-of-characters-728">TFM width of characters</a>: <a href="#gftype-invocation">gftype invocation</a></li> +<li><a href="#index-TFM-width-of-characters-685">TFM width of characters</a>: <a href="#pktype-invocation">pktype invocation</a></li> +<li><a href="#index-tftopl-731"><code>tftopl</code></a>: <a href="#tftopl-invocation">tftopl invocation</a></li> +<li><a href="#index-three-programs-156">three programs</a>: <a href="#Three-programs">Three programs</a></li> +<li><a href="#index-time-and-date_002c-in-memory-dumps-201">time and date, in memory dumps</a>: <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></li> +<li><a href="#index-title-font-468">title font</a>: <a href="#gftodvi-invocation">gftodvi invocation</a></li> +<li><a href="#index-toolkits_002c-X-445">toolkits, X</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-torture-tests-65">torture tests</a>: <a href="#Triptrap">Triptrap</a></li> +<li><a href="#index-translation-file-for-_0040TeX_007b_007d_002c-specifying-135">translation file for TeX, specifying</a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-translation-from-WEB-to-C-6">translation from WEB to C</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-trap-_0040r_007bMake-target_007d-59"><code>trap </code><span class="roman">Make target</span></a>: <a href="#Additional-targets">Additional targets</a></li> +<li><a href="#index-trap-test-63">trap test</a>: <a href="#Triptrap">Triptrap</a></li> +<li><a href="#index-trapman_002etex-67"><code>trapman.tex</code></a>: <a href="#Triptrap">Triptrap</a></li> +<li><a href="#index-Trickey_002c-Howard-14">Trickey, Howard</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-trip-_0040r_007bMake-target_007d-58"><code>trip </code><span class="roman">Make target</span></a>: <a href="#Additional-targets">Additional targets</a></li> +<li><a href="#index-trip-test-62">trip test</a>: <a href="#Triptrap">Triptrap</a></li> +<li><a href="#index-tripman_002etex-66"><code>tripman.tex</code></a>: <a href="#Triptrap">Triptrap</a></li> +<li><a href="#index-triptrap-_0040r_007bMake-target_007d-57"><code>triptrap </code><span class="roman">Make target</span></a>: <a href="#Additional-targets">Additional targets</a></li> +<li><a href="#index-Troff_002c-and-MetaPost-508">Troff, and MetaPost</a>: <a href="#mpost-invocation">mpost invocation</a></li> +<li><a href="#index-Troff_002c-WEB-for-578">Troff, WEB for</a>: <a href="#WEB">WEB</a></li> +<li><a href="#index-Trojan-horses-and-_0040TeX_007b_007d-programs-241">Trojan horses and TeX programs</a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-TUGboat-bibliography-558">TUGboat bibliography</a>: <a href="#bibtex-invocation">bibtex invocation</a></li> +<li><a href="#index-Type-1-conversion-792">Type 1 conversion</a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li> +<li><a href="#index-type-design_002c-personal-399">type design, personal</a>: <a href="#Initial-Metafont">Initial Metafont</a></li> +<li><a href="#index-type-programs_002c-DVI-628">type programs, DVI</a>: <a href="#dvitype-invocation">dvitype invocation</a></li> +<li><a href="#index-type-programs_002c-GF-709">type programs, GF</a>: <a href="#gftype-invocation">gftype invocation</a></li> +<li><a href="#index-type-programs_002c-PK-678">type programs, PK</a>: <a href="#pktype-invocation">pktype invocation</a></li> +<li><a href="#index-type-programs_002c-pool-606">type programs, pool</a>: <a href="#pooltype-invocation">pooltype invocation</a></li> +<li><a href="#index-typeface-families-365">typeface families</a>: <a href="#Metafont">Metafont</a></li> +<li><a href="#index-typeface-specimen-sheets-796">typeface specimen sheets</a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li> +<li><a href="#index-typesetting-226">typesetting</a>: <a href="#TeX">TeX</a></li> +<li><a href="#index-Unicode-355">Unicode</a>: <a href="#TeX-extensions">TeX extensions</a></li> +<li><a href="#index-Unicode-input-245">Unicode input</a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-uniterm-436"><code>uniterm</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-unsrt_002ebst-569"><code>unsrt.bst</code></a>: <a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></li> +<li><a href="#index-UTF_002d8-input-246">UTF-8 input</a>: <a href="#tex-invocation">tex invocation</a></li> +<li><a href="#index-validation_002c-of-DVI-files-629">validation, of DVI files</a>: <a href="#dvitype-invocation">dvitype invocation</a></li> +<li><a href="#index-validation_002c-of-GF-files-710">validation, of GF files</a>: <a href="#gftype-invocation">gftype invocation</a></li> +<li><a href="#index-validation_002c-of-PK-files-679">validation, of PK files</a>: <a href="#pktype-invocation">pktype invocation</a></li> +<li><a href="#index-validation_002c-of-TFM-files-733">validation, of TFM files</a>: <a href="#tftopl-invocation">tftopl invocation</a></li> +<li><a href="#index-validation_002c-of-VF-files-762">validation, of VF files</a>: <a href="#vftovp-invocation">vftovp invocation</a></li> +<li><a href="#index-verbose-Bib_0040TeX_007b_007d-output_002c-suppressing-547">verbose BibTeX output, suppressing</a>: <a href="#bibtex-invocation">bibtex invocation</a></li> +<li><a href="#index-verbosity_002c-enabling-99">verbosity, enabling</a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-version-number_002c-finding-101">version number, finding</a>: <a href="#Common-options">Common options</a></li> +<li><a href="#index-vertical-escapement-723">vertical escapement</a>: <a href="#gftype-invocation">gftype invocation</a></li> +<li><a href="#index-VF-files_002c-converting-property-lists-to-769">VF files, converting property lists to</a>: <a href="#vptovf-invocation">vptovf invocation</a></li> +<li><a href="#index-vftovp-760"><code>vftovp</code></a>: <a href="#vftovp-invocation">vftovp invocation</a></li> +<li><a href="#index-virgin-programs-162">virgin programs</a>: <a href="#Initial-and-virgin">Initial and virgin</a></li> +<li><a href="#index-virtual-font-creation-800">virtual font creation</a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li> +<li><a href="#index-virtual-fonts_002c-expanding-615">virtual fonts, expanding</a>: <a href="#dvicopy-invocation">dvicopy invocation</a></li> +<li><a href="#index-virtual_002dfonts_002eknuth-662"><code>virtual-fonts.knuth</code></a>: <a href="#Font-file-formats">Font file formats</a></li> +<li><a href="#index-virtualfonts_002etxt-663"><code>virtualfonts.txt</code></a>: <a href="#Font-file-formats">Font file formats</a></li> +<li><a href="#index-vptovf-767"><code>vptovf</code></a>: <a href="#vptovf-invocation">vptovf invocation</a></li> +<li><a href="#index-weave-596"><code>weave</code></a>: <a href="#weave-invocation">weave invocation</a></li> +<li><a href="#index-WEB-570">WEB</a>: <a href="#WEB">WEB</a></li> +<li><a href="#index-web-environments_002c-and-security-346">web environments, and security</a>: <a href="#Shell-escapes">Shell escapes</a></li> +<li><a href="#index-WEB-pool-files_002c-displaying-608">WEB pool files, displaying</a>: <a href="#pooltype-invocation">pooltype invocation</a></li> +<li><a href="#index-WEB-programs_002c-compiling-581">WEB programs, compiling</a>: <a href="#tangle-invocation">tangle invocation</a></li> +<li><a href="#index-WEB-programs_002c-typesetting-598">WEB programs, typesetting</a>: <a href="#weave-invocation">weave invocation</a></li> +<li><a href="#index-WEB2C_0040r_007b_002c-search-path-for-TCX-files_007d-308"><code>WEB2C</code><span class="roman">, search path for TCX files</span></a>: <a href="#TCX-files">TCX files</a></li> +<li><a href="#index-Weber_002c-Olaf-18">Weber, Olaf</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-webmac_002etex-604"><code>webmac.tex</code></a>: <a href="#weave-invocation">weave invocation</a></li> +<li><a href="#index-webman_002etex-572"><code>webman.tex</code></a>: <a href="#WEB">WEB</a></li> +<li><a href="#index-whitespace_002c-in-TCX-files-316">whitespace, in TCX files</a>: <a href="#TCX-files">TCX files</a></li> +<li><a href="#index-whitespace_002dterminated-filenames-216">whitespace-terminated filenames</a>: <a href="#g_t_005cinput-filenames">\input filenames</a></li> +<li><a href="#index-width_002c-device_002dindependent-730">width, device-independent</a>: <a href="#gftype-invocation">gftype invocation</a></li> +<li><a href="#index-width_002c-device_002dindependent-687">width, device-independent</a>: <a href="#pktype-invocation">pktype invocation</a></li> +<li><a href="#index-width_002c-in-pixels-695">width, in pixels</a>: <a href="#pktype-invocation">pktype invocation</a></li> +<li><a href="#index-word-processor_002c-not-229">word processor, not</a>: <a href="#TeX">TeX</a></li> +<li><a href="#index-writing-memory-dumps-172">writing memory dumps</a>: <a href="#Creating-memory-dumps">Creating memory dumps</a></li> +<li><a href="#index-X-bitmap-fonts-775">X bitmap fonts</a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li> +<li><a href="#index-X-class-name-for-Metafont-452">X class name for Metafont</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-x-offset-696">x offset</a>: <a href="#pktype-invocation">pktype invocation</a></li> +<li><a href="#index-X-resources-451">X resources</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-X-toolkits-and-Metafont-446">X toolkits and Metafont</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-xampl_002ebib-555"><code>xampl.bib</code></a>: <a href="#bibtex-invocation">bibtex invocation</a></li> +<li><a href="#index-xbfe_0040r_007b_002c-bitmap-font-editor_007d-780"><code>xbfe</code><span class="roman">, bitmap font editor</span></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li> +<li><a href="#index-Xe_0040TeX_007b_007d-362">XeTeX</a>: <a href="#TeX-extensions">TeX extensions</a></li> +<li><a href="#index-xfed_0040r_007b_002c-bitmap-font-editor_007d-781"><code>xfed</code><span class="roman">, bitmap font editor</span></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li> +<li><a href="#index-xfedor_0040r_007b_002c-bitmap-font-editor_007d-782"><code>xfedor</code><span class="roman">, bitmap font editor</span></a>: <a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li> +<li><a href="#index-Xlib-441"><code>Xlib</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-Xlib-support-448">Xlib support</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-Xt-440"><code>Xt</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-Xt-support-447">Xt support</a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-xterm-442"><code>xterm</code></a>: <a href="#Online-Metafont-graphics">Online Metafont graphics</a></li> +<li><a href="#index-y-offset-697">y offset</a>: <a href="#pktype-invocation">pktype invocation</a></li> +<li><a href="#index-g_t_007e-_0040r_007bexpansion-in-filenames_007d-222"><code>~ </code><span class="roman">expansion in filenames</span></a>: <a href="#g_t_005cinput-filenames">\input filenames</a></li> + </ul></body></html> + diff --git a/Master/texmf-dist/doc/web2c/web2c.pdf b/Master/texmf-dist/doc/web2c/web2c.pdf Binary files differnew file mode 100644 index 00000000000..a73a625841e --- /dev/null +++ b/Master/texmf-dist/doc/web2c/web2c.pdf diff --git a/Master/texmf-dist/doc/xindy/NEWS b/Master/texmf-dist/doc/xindy/NEWS new file mode 100644 index 00000000000..7de83008e91 --- /dev/null +++ b/Master/texmf-dist/doc/xindy/NEWS @@ -0,0 +1,25 @@ +# $Id: NEWS,v 1.2 2008/01/09 15:14:20 jschrod Exp $ +#------------------------------------------------------------ + +XINDY RELEASE NOTES +=================== + +Version Date Remarks + +2.3 2008-01-09 `Gour and Jörg Waited Too Long For It Release'. + Source distribution with canonical install procedure. + Includes UTF-8 and Omega support. + Bug fixes in base modules and *.idx parsing. + +2.2 rc2 2005-05-10 2nd release candidate for `LaTeX Companion Release'. + Resolved issues: + -- Linux release works on glibc 2.3 + -- Two double quotes in index key are supported + -- Options are checked carefully and errors are reported + -- Structured version numbers + -- Style file tutorial commands work + +2.2 rc1 2004-05-28 First release candidate for `LaTeX Companion Release'. + New command interface, new distribution strategy + (ready-to-run), consolidated distribution of run time + engine, kernel, and language modules. diff --git a/Master/texmf-dist/doc/xindy/README b/Master/texmf-dist/doc/xindy/README new file mode 100644 index 00000000000..90440f93683 --- /dev/null +++ b/Master/texmf-dist/doc/xindy/README @@ -0,0 +1,14 @@ +$Id: README.distrib,v 1.3 2008/01/09 11:11:46 jschrod Exp $ +------------------------------------------------------------ + +This directory contains documentation of `xindy'. + +Manual pages for the commands are created during installation and are +placed in appropriate man directories. +PDF versions of the manual pages have been added here for your convenience. + +The subdirectory ./style-tutorial/ contains the examples that are used +in the xindy style tutorial. + +FAQ and style tutorial are out of date. (Updates are welcome, of course.) +You find more documentation at the xindy Web Site, at http://www.xindy.org/. diff --git a/Master/texmf-dist/doc/xindy/README.distrib-source b/Master/texmf-dist/doc/xindy/README.distrib-source new file mode 100644 index 00000000000..6dd454e5273 --- /dev/null +++ b/Master/texmf-dist/doc/xindy/README.distrib-source @@ -0,0 +1,127 @@ +$Id: README.distrib-source,v 1.1 2008/01/09 15:14:21 jschrod Exp $ +------------------------------------------------------------ + +xindy (`fleXible INDexing sYstem') is a flexible index processor that +creates tagged index for publication system. xindy merges, sorts, and +outputs markup for raw index entries. It is highly configurable. It +supports many languages. + +This is the source distribution of xindy release 2.3, +aka the `Gour and Jörg Waited Too Long For It Release'. +Release notes are available in the file NEWS, in this directory. + +It is available from Sourceforge, see http://www.xindy.org/ for more +information. This Web Site also contains the most up-to-date +information about xindy. + + +INSTALLATION (Short Version) +------------ +Unpack the distribution archive, a directory xindy-<version> will +be created. Usual steps follow: + + $ cd xindy-<version> + $ ./configure + $ make + $ make install + +You need to use GNU make; e.g., on FreeBSD or on Solaris, you need to +install it and use the command gmake instead of make. + +By default, installation will be done in the /usr/local/ tree. +You can change that with the configure option `--prefix'. + +The long version of the installation instructions are in the file +INSTALL. + +Please note: The xindy modules directory location (currently, +$prefix/lib/xindy/modules/) is bound to be changed in future +distributions. This only matters if you install additional modules +there, at future updates. + + +UPDATE INSTALLATION +------------------- +There is no specific update installation procedure, sorry. You need to +install xindy anew. + +If you had installed xindy 2.2 RC1 (the LaTeX Companion Release) +and you had additional xindy module files installed in the system-wide +directories, you need to move them manually to the new modules tree. +That is located in $prefix/lib/xindy/modules/ ($prefix is /usr/local/ +by default). + + +USAGE +----- +There are two main commands: + -- texindy, for creation of indexes for LaTeX documents + -- xindy, for generic index creation + +Manuals for these commands are installed in appropriate man +directories and additionally supplied in PDF format, in the +/doc/ subdirectory of the distribution, which gets installed as +$prefix/share/doc/xindy-<version>/. + +This documentation directory has more documentation. Technical reports +are on our Web Site, http://www.xindy.org/. + + +KNOWN ISSUES +------------ +Known problems and wanted enhancements of xindy are documented in our +SourceForge tracker system, accessible on the Web at +https://sourceforge.net/tracker/?group_id=10646 + + +FEEDBACK / MAILING LIST +----------------------- +Everybody is encouraged to port xindy to new platforms. For any kind +of suggestions, helpful comments, questions, bug reports and such, +please mail to the xindy mailing list + + xindy-discuss@lists.sourceforge.net + +This is a low-volume mailing list; with a few emails per month. +You can subscribe to the list by visiting + + http://lists.sourceforge.net/lists/listinfo/xindy-discuss + +Mailing list archives are public and can be read at + + http://sourceforge.net/mailarchive/forum.php?forum=xindy-discuss + + +DISTRIBUTION CONTENT +-------------------- +This distribution contains + -- xindy run-time environment (rte/) + -- xindy kernel (src/, tex2xindy/, user-commands/) + -- sort-rules for many languages (make-rules/) + -- base xindy styles, as described in the LaTeX Companion (modules/) + + +LEGALESE +-------- +This package is freely distributable software; you can redistribute it +and/or modify it under the terms of the GNU General Public License +(GPL) as published by the Free Software Foundation. + +This software is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License in +the file COPYING along with this package; if not, write to the Free +Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +The xindy run-time environment contains CLISP, which is released under +GPL version 2 (only). Please refer to rte/clisp-<version>/COPYRIGHT +for the specific statement. + +The xindy run-time environment contains a xindy-specific CLISP-plugin +named ordrules, which is released under GPL version 2 or later. + +The xindy kernel modules and base styles are released under GPL +version 2 or later. diff --git a/Master/texmf-dist/doc/xindy/alphabets-doc.pdf b/Master/texmf-dist/doc/xindy/alphabets-doc.pdf Binary files differnew file mode 100644 index 00000000000..c827d872e7d --- /dev/null +++ b/Master/texmf-dist/doc/xindy/alphabets-doc.pdf diff --git a/Master/texmf-dist/doc/xindy/dataflow.gif b/Master/texmf-dist/doc/xindy/dataflow.gif Binary files differnew file mode 100644 index 00000000000..203b5521ba6 --- /dev/null +++ b/Master/texmf-dist/doc/xindy/dataflow.gif diff --git a/Master/texmf-dist/doc/xindy/faq-1.html b/Master/texmf-dist/doc/xindy/faq-1.html new file mode 100644 index 00000000000..31fcfba7abd --- /dev/null +++ b/Master/texmf-dist/doc/xindy/faq-1.html @@ -0,0 +1,169 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> + <TITLE>XINDY FAQ: General Questions</TITLE> + <LINK HREF="faq-2.html" REL=next> + + <LINK HREF="faq.html#toc1" REL=contents> +</HEAD> +<BODY> +<A HREF="faq-2.html">Next</A> +Previous +<A HREF="faq.html#toc1">Contents</A> +<HR> +<H2><A NAME="s1">1. General Questions</A></H2> + +<H2><A NAME="ss1.1">1.1 Why a completely new indexing tool? <CODE>makeindex</CODE> works fine!</A> +</H2> + +<P> +<P>With the <EM>International MakeIndex</EM> project, Joachim Schrod and +Gabor Herr have shown that adding extensions to +<CODE>makeindex</CODE> is a difficult job. Thus we have decided to develop a +new indexing tool from scratch. The new tool is based on a new +requirements analysis and offers very interesting features for +processing very complex indexing schemes. The resulting index model is +described in: +<P> +<OL> +<LI> Roger Kehr, <SF>xindy</SF> -- <EM>A Flexible Indexing System</EM>, +Proceedings of the EuroTeX'98, St. Malo, France, March 1998 +</LI> +<LI> Roger Kehr, <SF>xindy</SF> -- <EM>A Flexible Indexing System</EM>, +Technical Report No. 11/1997, Computer Science Department, Darmstadt +University of Technology, 1997. Also accessible from the xindy +homepage. +</LI> +<LI> Roger Kehr, xindy <EM>Ein Flexibles Indexierungssystem</EM>, +Studienarbeit FB Informatik, TH-Darmstadt, November 1995. +</LI> +<LI> Joachim Schrod, <EM>An International Version of MakeIndex</EM>, +Cahiers GUTenberg, 10, p81-90, 1991 +</LI> +<LI> Joachim Schrod and Gabor Herr, <EM>MakeIndex Version 3.0</EM>, +Technical University of Darmstadt, 1991 +</LI> +</OL> +<P> +<P> +<P> +<H2><A NAME="ss1.2">1.2 I'm an old <CODE>makeindex</CODE> wizard. What does <SF>xindy</SF> offer that <CODE>makeindex</CODE> doesn't?</A> +</H2> + +<P> +<P>Here are the most important differences between <SF>xindy</SF> and +<CODE>makeindex</CODE>: +<P> +<P> +<DL> +<P> +<DT><B>Internationalization</B><DD><P><SF>xindy</SF> can be configured to process +indexes for many languages with different letter sets and different +sorting rules. For example, many roman languages such as Italian, +French, Portuguese or Spanish contain accentuated letters such as +À, Á, ñ. Other languages from northern Europe +have letters like Ä, Ø, æ or ß which often +can't be processed by many index processors not talking about sorting +them correctly into an index. The <SF>xindy</SF>-system can be configured +to process these alphabets by defining <EM>sort</EM> and +<EM>merge-rules</EM> that allow expressing of language specific rules. +One example of such a rule would be +<P> +<PRE> +(sort-rule "ä" "ae") +</PRE> +<P>defining that a word containing the umlaut-a will be sorted as if it +contained the letters <CODE>ae</CODE> instead. This is one form of how the +umlaut-a is sorted into german indexes. With an appropriate set of +rules one can express the complete rules of a specific language. +<P> +<DT><B>Location classes.</B><DD><P><CODE>makeindex</CODE> is able to recognize and +process arabic numbers, roman numerals and letter-based alphabets as +specifiers for the indexed location. Simple composite structures of +these are also possible to process. This implicit recognition scheme +has completely been dropped in favour of a well-defined and very +powerful declaration scheme called <EM>location-classes</EM>. Thus, +<SF>xindy</SF> initally does not know any location-class by default and +must be instructed to accept certain location-classes. A typical +declaration might look like: +<P> +<BLOCKQUOTE><CODE> +<PRE> +(define-location-class "page-numbers" ("arabic-numbers")) +</PRE> +</CODE></BLOCKQUOTE> +<P>This declares that page numbers consist of the enumeration of the +arabic numbers. The arabic numbers are referred to as <EM>alphabets</EM>. +Users may use the pre-defined alphabets arabic numbers, roman +numerals, etc. or define new alphabets as needed. See the tutorial +that comes with this distribution for some examples. +<P> +<DT><B>The concept of attributes.</B><DD><P>With <CODE>makeindex</CODE> one can assign a +markup to each index entry using the encapsulators (usually following +the vertical bar sign in an index entry command). For example in the +specification +<P> +<BLOCKQUOTE><CODE> +<PRE> +\index{xindy|bold} +</PRE> +</CODE></BLOCKQUOTE> +<P>the encapsulator is <CODE>bold</CODE> which encapsulates the page-numbers in +the markup-phase. An additional TeX-macro must be supplied to assign +some markup with the page number. This concept has completely been +dropped in <SF>xindy</SF> in favour of a more powerful scheme called +<EM>attributes</EM>. Attributes can be used to (i) define several grouping +and ordering rules with locations and we can define (ii) markup-tags +for the document preparation system. +<P>The result of this design decision is that the user is required to +define the attributes in the style file and not in the document +preparation system. The reasons lie in the more powerful markup scheme +of <SF>xindy</SF> which can't be specified in the document processor anymore. +In fact, the <CODE>makeindex</CODE>-like markup is only a small subset of +<SF>xindy</SF>s features. +<P> +<DT><B>Cross references.</B><DD><P>Cross-references were implemented in +<CODE>makeindex</CODE> with the encapsulation mechanism, which only served for +markup purposes. This has been completely separated in <SF>xindy</SF>. +Here we distinguish cleanly between attributes and cross references. +This makes it possible to implement <EM>checked</EM> cross references, +i.e. cross-refernces that can be checked if they point to an existing +index entry instead of somewhere ``behind-the-moon''. +<P> +<DT><B>Less command-line options.</B><DD><P><SF>xindy</SF> has dropped the usage of +command-line options in favour of a well-defined indexstyle +description language. Thus, options that could be activated at the +command-line level of <CODE>makeindex</CODE> must now be specified in the +indexstyle file. This sounds more restrictive than it is, because the +indexstyle files can be composed from several modules which makes it +possible to write style files in just a few lines of code. +<P> +<DT><B>Raw index parser.</B><DD><P>The parser built into <CODE>makeindex</CODE> has +completely been separated from the core <SF>xindy</SF> system. <SF>xindy</SF> +understands a well-defined specification language for the raw index +that is completely different from <CODE>makeindex</CODE>, but in our opinion +more maintainable than the <CODE>makeindex</CODE> format. This requires a +separate filter that transforms arbitrary indexes to the <SF>xindy</SF> +format. An example filter is the program <CODE>tex2xindy</CODE> that comes +with this distribution. +<P> +</DL> +<P>Summed up, some of the implicit assumptions made by <CODE>makeindex</CODE> +have been replaced and now burdend to the user. The reason is that +many of <CODE>makeindex</CODE>'s assumptions were no longer valid in +multi-language environments or documents with arbitrary location +structures. This also characterizes <SF>xindy</SF> more as a framework +instead of a end-user-tailored product. One should notice that writing +an appropriate index style is an essential part of the document +preparation process and should be tailored to each document anew. +<P> +<P> +<P> +<P> +<HR> +<A HREF="faq-2.html">Next</A> +Previous +<A HREF="faq.html#toc1">Contents</A> +</BODY> +</HTML> diff --git a/Master/texmf-dist/doc/xindy/faq-2.html b/Master/texmf-dist/doc/xindy/faq-2.html new file mode 100644 index 00000000000..00be36138dc --- /dev/null +++ b/Master/texmf-dist/doc/xindy/faq-2.html @@ -0,0 +1,95 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> + <TITLE>XINDY FAQ: xindy Usage</TITLE> + <LINK HREF="faq-3.html" REL=next> + <LINK HREF="faq-1.html" REL=previous> + <LINK HREF="faq.html#toc2" REL=contents> +</HEAD> +<BODY> +<A HREF="faq-3.html">Next</A> +<A HREF="faq-1.html">Previous</A> +<A HREF="faq.html#toc2">Contents</A> +<HR> +<H2><A NAME="s2">2. <SF>xindy</SF> Usage</A></H2> + +<H2><A NAME="ss2.1">2.1 I don't want to write style files. How can I proceed?</A> +</H2> + +<P> +<P>You can use the wrapper program <CODE>makeindex4</CODE>. It tries to do it's +very best to make <SF>xindy</SF> behave as <CODE>makeindex</CODE> does. But if you +ever need to use some of the features of <SF>xindy</SF> you should learn +how to write an index style. Its easy! +<P> +<P> +<P> +<H2><A NAME="ss2.2">2.2 How do I use <CODE>makeindex4</CODE>?</A> +</H2> + +<P> +<P>Process your document as usual. Then run <CODE>makeindex4</CODE> on the index +file. It produces an index that should equal the one you would get +with an ordinary <CODE>makeindex</CODE> run. As far as you are satisfied with +the default behaviour of <CODE>makeindex</CODE>, <CODE>makeindex4</CODE> will produce +comparable results. +<P>Some of the command-line options of <CODE>makeindex</CODE> are accepted by +<CODE>makeindex4</CODE>, others aren't. This may change in future releases, +but we recommend using plain <SF>xindy</SF> after a phase of +investigation, since one cannot use all of its features with +<CODE>makeindex4</CODE>. You will be informed about unsupported command-line +arguments when running <CODE>makeindex4</CODE>. +<P>If you have written special style files for <CODE>makeindex</CODE> they will +no longer work with <CODE>makeindex4</CODE>. Go ahead and write a new style +file for <SF>xindy</SF>. +<P> +<P> +<P> +<H2><A NAME="ss2.3">2.3 How works <CODE>makeindex4</CODE>?</A> +</H2> + +<P> +<P>This job is now done automatically by <CODE>makeindex4</CODE>. It calls +<CODE>tex2xindy</CODE> to transform the raw-index into the format suitable for +<SF>xindy</SF>. <CODE>tex2xindy</CODE> emits some information about the attributes +(aka. encapsulators in <CODE>makeindex</CODE>) and the usage of +cross-references into a file, which has the extension `<CODE>.sta</CODE>'. The +<CODE>makeindex4</CODE> program, written in <CODE>perl</CODE>, parses this +statistics-file and generates the above presented indexstyle commands +for you automatically including the required declaration of all +attributes in the whole index and their markup. +<P>Another problem is the automatic detection of cross-references. As +noted above, <CODE>makeindex</CODE> handles cross-references with its +encapsulation mechanism, a scheme which has been dropped in <SF>xindy</SF> +and replaced by a more powerful mechanism. To implement a simple +plug-in mechanism we have extended the syntax of the <CODE>tex2xindy</CODE> +filter to identify encapsulators of the form +<P> +<BLOCKQUOTE><CODE> +<PRE> +\indexentry{...|encap{...}}{...} +</PRE> +</CODE></BLOCKQUOTE> +<P>as a cross-reference, whereas encapsulators of the form +<P> +<BLOCKQUOTE><CODE> +<PRE> +\indexentry{...|encap}{...} +</PRE> +</CODE></BLOCKQUOTE> +<P>are treated as ordinary attributes. This is standard practice +defining cross-references in <CODE>makeindex</CODE>. Thus, <CODE>tex2xindy</CODE> +distinguishes these two forms of encapsulators as opposed to +<CODE>makeindex</CODE> and our plug-in <CODE>makeindex4</CODE> generates the +appropriate definitions of the cross-reference classes as well. +<P> +<P> +<P> +<P> +<HR> +<A HREF="faq-3.html">Next</A> +<A HREF="faq-1.html">Previous</A> +<A HREF="faq.html#toc2">Contents</A> +</BODY> +</HTML> diff --git a/Master/texmf-dist/doc/xindy/faq-3.html b/Master/texmf-dist/doc/xindy/faq-3.html new file mode 100644 index 00000000000..12895e8cb29 --- /dev/null +++ b/Master/texmf-dist/doc/xindy/faq-3.html @@ -0,0 +1,83 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> + <TITLE>XINDY FAQ: xindy and LaTeX</TITLE> + <LINK HREF="faq-4.html" REL=next> + <LINK HREF="faq-2.html" REL=previous> + <LINK HREF="faq.html#toc3" REL=contents> +</HEAD> +<BODY> +<A HREF="faq-4.html">Next</A> +<A HREF="faq-2.html">Previous</A> +<A HREF="faq.html#toc3">Contents</A> +<HR> +<H2><A NAME="s3">3. <SF>xindy</SF> and LaTeX</A></H2> + +<H2><A NAME="ss3.1">3.1 What is <CODE>tex2xindy</CODE>?</A> +</H2> + +<P> +<P><CODE>tex2xindy</CODE> is a filter that parses `<CODE>.idx</CODE>' or similar files +and converts the <CODE>\indexentry</CODE> macros into a form readable by +<SF>xindy</SF>. +<P>The parser of <CODE>makeindex</CODE> can be configured to recognize different +quoting characters, etc. (see the man-page for <CODE>makeindex</CODE>, section +<EM>input style specifiers</EM> for further details). We have tried to +extract the parser from <CODE>makeindex</CODE> but due to several probems we +have finally rewritten the parser using <CODE>lex</CODE>. Scanners written +with <CODE>lex</CODE> are usually fixed to a specific character set used in +the regular expressions. Our parser, <CODE>tex2xindy</CODE> is therefore not +configurable. If one uses a different configuration of the +<CODE>makeindex</CODE> input style specifiers, one can change the source +(<CODE>tex2xindy.l</CODE>) to generate a completely new parser. From our +personal experience we have rarely used more than two different +parsers in practice so we have written <CODE>tex2xindy</CODE> in a form that +is easily maintainable. The input specifiers are stored symbolically +in the source. The definiton section looks like this: +<P> +<BLOCKQUOTE><CODE> +<PRE> +KEYWORD \\indexentry +ENCAP \| +ACTUAL @ +ESCAPE \\ +LEVEL ! +QUOTE \" +ROPEN \( +RCLOSE \) +ARGOPEN \{ +ARGCLOSE \} +</PRE> +</CODE></BLOCKQUOTE> +<P>These definitions are essentially the input style specifiers as can be +found in the man-page of <CODE>makeindex</CODE>. Changing this section +according to your needs and recompiling <CODE>tex2xindy</CODE> should be an +easy task. Maybe we will include more pre-defined parsers in future +releases if necessary. +<P> +<P> +<P> +<H2><A NAME="ss3.2">3.2 What LaTeX-package should I use in conjunction with xindy?</A> +</H2> + +<P> +<P>We strongly recommend using the LaTeX2e-package <CODE>index</CODE> written +by David M. Jones, which is available at CTAN. It supports multiple +indexes as well as several shortcuts to easily index terms in a +document. Multiple indexes support the generation of several indexes +for one document. For instance, one can make an author or command +index in addition to a global index. +<P>Another option is to use the <CODE>xindy.sty</CODE> from Andreas Schlechte +that comes with the <SF>xindy</SF> distribution. Take a look at the +<CODE>contrib</CODE> directory that should contain a version. +<P> +<P> +<P> +<P> +<HR> +<A HREF="faq-4.html">Next</A> +<A HREF="faq-2.html">Previous</A> +<A HREF="faq.html#toc3">Contents</A> +</BODY> +</HTML> diff --git a/Master/texmf-dist/doc/xindy/faq-4.html b/Master/texmf-dist/doc/xindy/faq-4.html new file mode 100644 index 00000000000..81052562f1d --- /dev/null +++ b/Master/texmf-dist/doc/xindy/faq-4.html @@ -0,0 +1,668 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> + <TITLE>XINDY FAQ: Style Files</TITLE> + <LINK HREF="faq-3.html" REL=previous> + <LINK HREF="faq.html#toc4" REL=contents> +</HEAD> +<BODY> +Next +<A HREF="faq-3.html">Previous</A> +<A HREF="faq.html#toc4">Contents</A> +<HR> +<H2><A NAME="s4">4. Style Files</A></H2> + +<H2><A NAME="ss4.1">4.1 Eventually, I decided to write my first index style. How can I start?</A> +</H2> + +<P> +<P>Congratulations! You have made a good decision, indeed. +<P>For a first impression, how a style file can be written from scratch +reference the <EM>tutorial</EM> that comes with this distribution. It is +written as a guided step-by-step practicing exercise and you can learn +the basic concepts quite easily. +<P>Afterwards, the best starting point is to make a copy of the template +file that contains all the necessary commands that are needed to make +a <CODE>makeindex</CODE>-like index. You can find it in the subdirectory +<CODE>markup/tex</CODE> of the module library. Starting from this template +you can remove or add commands as necessary. +<P>Additionally, consult the library of predefined <EM>index style +modules</EM> that comes with this distribution. Solutions for most of the +typical problems can be found there, such as a module for doing +case-insensitive sorting rules, or a typical TeX-like markup. Most +of the time is is enough to include some of these modules and add a +few additional commands. +<P>Maybe some of the examples coming with the <EM>test-suite</EM> are good +examples of how unusual index style files can be written. +<P>Thus, there are many ways to learn writing an index style file. But it +is very easy and after some experience you can process indexes your +friends will be jealous of. +<P> +<P> +<H2><A NAME="ss4.2">4.2 How to write my first index style?</A> +</H2> + +<P> +<P>Copy the file <CODE>tex/makeidx.xdy</CODE> from the library to your +local directory. It is documented in in a way that should make it easy +to fill in new commands or remove or modify others. +<P> +<P> +<P> +<H2><A NAME="ss4.3">4.3 How works the actual key feature of <CODE>makeindex</CODE> with <SF>xindy</SF>?</A> +</H2> + +<P> +<P>The treatment of the actual key (usually denoted with <CODE>@</CODE>, the +at-sign) has changed with <SF>xindy</SF>. Specifying index entries with a +specific markup can be done in <CODE>makeindex</CODE> with the actual key. The +<CODE>makeindex-3</CODE> system and <SF>xindy</SF> offer the <EM>merge-</EM> and +<EM>sort-rules</EM> to transform a key into different representations, +limiting the need to specify an actual key. For example they support a +style of writing +<P> +<BLOCKQUOTE><CODE> +<PRE> +\index{\bf{VIP}} +</PRE> +</CODE></BLOCKQUOTE> +<P>which can be transformed with a rule like +<P> +<BLOCKQUOTE><CODE> +<PRE> +(merge-rule "\bf{\(.*\)}" "\1" :again :bregexp) +</PRE> +</CODE></BLOCKQUOTE> +<P>which removes the macro definition for merging and sorting keywords, +but keeping the original definition for markup purposes. Therefore we +don't need any actual keys for all keywords written in boldface. +<P>The <CODE>makeindex</CODE> behaviour, that the two keywords +<P> +<BLOCKQUOTE><CODE> +<PRE> +\index{VIP} +\index{VIP@\bf{VIP}} +</PRE> +</CODE></BLOCKQUOTE> +<P>are seen as two distinct index entries, can be simulated using the +following definition: +<P> +<BLOCKQUOTE><CODE> +<PRE> +(merge-rule "\bf{\(.*\)}" "\1~e" :again :bregexp) +</PRE> +</CODE></BLOCKQUOTE> +<P>This rule tells <SF>xindy</SF> to remove the boldface macro for merging +and sorting purposes but defines the replacement to include the +special character <CODE>~e</CODE>, which is the last character in the +alphabet (ISO-Latin in our case). This makes <SF>xindy</SF> treat them as +different keywords and positions the boldface keyword right behind the +one without any markup. Thus we receive the following mapping: +<P> +<BLOCKQUOTE><CODE> +<PRE> +Keyword: Merged and sorted as: Appears in the index as: +VIP VIP VIP +\bf{VIP} VIP~e \bf{VIP} +</PRE> +</CODE></BLOCKQUOTE> +<P>With this new style of writing keywords and defining their markup, the +need to explicitly specifying the print key (aka. actual key) has +convinced us to remove the <CODE>makeindex</CODE> way of defining keywords. +<P> +<P> +<P> +<H2><A NAME="ss4.4">4.4 I want to process an index for my native language. What must I do?</A> +</H2> + +<P> +<P>What makes <CODE>makeindex</CODE> hardly usable in non-English speaking +countries is its lack of support of language specific alphabets and +sort orderings. For example, many roman languages such as Italian, +French, Portuguese or Spanish contain accented letters such as +À, Á, ñ. Other languages from northern Europe +have letters like Ä, Ø, æ or ß which often +can't even be processed by many index processors let alone sorting +them correctly into an index. +<P>Two problems must be solved when processing indexes with a new +languages: +<P> +<OL> +<LI> The <EM>sort ordering</EM> of the indexed terms must be specified +in an appropriate manner. This problem can be solved using the +so-called <EM>keyword mappings</EM>. +</LI> +<LI> The <EM>letter groups</EM> that partition the indexed terms into +separate sections must be specified.</LI> +</OL> +<P>The <SF>xindy</SF> system can be configured to process these alphabets by +defining <EM>sort</EM> and <EM>merge rules</EM> that allow expressing language +specific rules. +<P>The keyword mappings are as follows: The <EM>merge key</EM> is generated +from the <EM>main key</EM> with the so called <EM>merge mapping</EM>. The +merge mapping can be specified with the command <CODE>merge-rule</CODE>. The +<EM>sort key</EM> is derived from the merge key using the <EM>sort +mapping</EM> specified with the <CODE>sort-rule</CODE> command. The following +scheme shows this mapping process: +<P> +<FIGURE> +<EPS FILE="mappings.eps"> +<IMG SRC="mappings.gif"> +</FIGURE> +<P> +<P>The index style commands accomplishing this task are +<CODE>sort-rule</CODE> and <CODE>merge-rule</CODE>. One example of such a rule would +be +<P> +<BLOCKQUOTE><CODE> +<PRE> +(sort-rule "ä" "ae") +</PRE> +</CODE></BLOCKQUOTE> +<P>defining that a word containing the umlaut-a will be sorted as if it +contained the letters <CODE>ae</CODE> instead. This is one form of how the +umlaut-a (ä) is sorted into german indexes. With an appropriate set of +rules on can express the complete rules of a specific language. +<P>An example of how an appropriate mapping for some of the Roman +languages could look like is: +<P> +<BLOCKQUOTE><CODE> +<PRE> +(sort-rule "à" "a") +(sort-rule "á" "a") +(sort-rule "ã" "a") +(sort-rule "è" "e") +(sort-rule "é" "e") +(sort-rule "ç" "c") +</PRE> +</CODE></BLOCKQUOTE> +<P>This makes the accented letters be sorted as their unaccented +counterparts, yielding the desired sort ordering. +<P>Sometimes it is necessary to specify keyword mappings that tell the +system to put something <EM>behind</EM> something else. For instance, we'd +like to map the character <EM>ö</EM> behind the letter <EM>o</EM>. No problem +if you use the special characters <CODE>~b</CODE> and <CODE>~e</CODE> which +are called the <EM>beginning</EM> and <EM>ending</EM> characters. The first +letter lexicographically precedes all other letters whereas the latter +one comes after all others. Our mapping problem can now be specified +as follows. +<P> +<BLOCKQUOTE><CODE> +<PRE> +(sort-rule "ö" "o~e") +</PRE> +</CODE></BLOCKQUOTE> +<P>Now the <EM>ö</EM> is directly positioned after the <EM>o</EM> but before +<EM>p</EM>. +<P> +<P>See the manual for a detailed description of this feature. +Also be informed that the keyword mappings can be specified with +regular expressions. Rules of the form +<P> +<BLOCKQUOTE><CODE> +<PRE> +(merge-rule "[-$()]" "") +</PRE> +</CODE></BLOCKQUOTE> +<P>are possible. This on removes all letters of the defined letter class. +Regular expression substitutions are possible as well. Refer to the +manual for an exact description. +<P> +<P> +<P> +<H2><A NAME="ss4.5">4.5 In my index the capitalized words appear after the lowercase words. Why?</A> +</H2> + +<P> +<P>The default sort ordering sorts letters according to their ordinal +number in the ISO Latin alphabet. As a consequence the lowercase +letters appear before the uppercase letters. To sort them +case-insensitively use the command +<P> +<BLOCKQUOTE><CODE> +<PRE> +(require "lang/latin/caseisrt.xdy") +</PRE> +</CODE></BLOCKQUOTE> +<P>This module defines the appropriate sort rules for the letters `A-Z' +for latin-based alphabets. If your language has more letters simply +add the missing ones into your style file. Have a look at the module +to see how to the sort rules are defined. +<P> +<P> +<P> +<H2><A NAME="ss4.6">4.6 In my index there are no letter groups, yet!</A> +</H2> + +<P> +<P>Letter groups for latin based alphabets can be defined with the command +<P> +<BLOCKQUOTE><CODE> +<PRE> +(require "lang/latin/letgroup.xdy") +</PRE> +</CODE></BLOCKQUOTE> +<P>If your language needs additional letter groups you can insert them +into the previously defined letter group with inserting definitions of +the following form: +<P> +<BLOCKQUOTE><CODE> +<PRE> +(define-letter-group "ly" :after "l" :before "m") +(define-letter-group "ny" :after "n" :before "o") +</PRE> +</CODE></BLOCKQUOTE> +<P>This adds two more letter groups to the latin alphabet. Group <EM>ly</EM> +is inserted between <EM>l</EM> and <EM>m</EM>, and <EM>ny</EM> is inserted between +<EM>n</EM> and <EM>o</EM>. This is how two additional letters of the Hungarian +alphabet can be inserted. +<P> +<P> +<P> +<H2><A NAME="ss4.7">4.7 How can I get rid of any formatting information in the keyword?</A> +</H2> + +<P> +<P>Assume you have index entries containing arbitrary formatting +information. For example you write your index entries in TeX in the +following form: +<P> +<BLOCKQUOTE><CODE> +<PRE> +\index{\bf{In boldface please}} +</PRE> +</CODE></BLOCKQUOTE> +<P>To avoid specifying for each index entry the print key separately as +can be done with the following command +<P> +<BLOCKQUOTE><CODE> +<PRE> +\index{In boldface please@\bf{In boldface please}} +</PRE> +</CODE></BLOCKQUOTE> +<P>you can instead define a rule doing this task for you: +<P> +<BLOCKQUOTE><CODE> +<PRE> +(merge-rule "\\bf *{(.*)}" "\1" :eregexp :again) +</PRE> +</CODE></BLOCKQUOTE> +<P>This extended regular expression matches all strings that are +surrounded by this formatting command and in the <EM>merge phase</EM> the +formatting command is simply stripped off. Thus, you don't need to +write an explicit print key anymore. +<P>If for some reason the same word appears more than once in the index, +each time having another markup tag as in the following example +<P> +<BLOCKQUOTE><CODE> +<PRE> +index +{\tt index} +</PRE> +</CODE></BLOCKQUOTE> +<P>you must be warned that a rule like +<P> +<BLOCKQUOTE><CODE> +<PRE> +(merge-rule "{\\tt *(.*)}" "\1" :eregexp :again) +</PRE> +</CODE></BLOCKQUOTE> +<P>is probably not correct. In this case the above strings are both +mapped into the string <CODE>index</CODE> thus joining their location +references into one index entry. This happens because the result of +the merge mapping is used as the equality citerium which views both +keywords as equal. To avoid this you should specify instead +<P> +<BLOCKQUOTE><CODE> +<PRE> +(merge-rule "{\\tt *(.*)}" "\1~e" :eregexp :again) +</PRE> +</CODE></BLOCKQUOTE> +<P>With the additional meta character <CODE>~e</CODE> the substitution of the +second key word is placed <EM>after</EM> the first one making them +different index entries. If the second keyword should appear first, +use <CODE>~b</CODE> instead. +<P> +<P> +<P> +<P> +<H2><A NAME="ss4.8">4.8 In my index the word <EM>-foo</EM> appears before <EM>bar</EM>. What must I do?</A> +</H2> + +<P> +<P>Especially for hierarchical indexes sometimes the result is not as +expected due to special characters appearing in the keyword. In the +following example the word `card' should appear before `-eyed' since +the hyphen should not count as an ordinary character by means of +sorting. +<P> +<BLOCKQUOTE><CODE> +<PRE> + green + -eyed 12 + card 15 +</PRE> +</CODE></BLOCKQUOTE> +<P>This is especially problematic if the list of words on the second +level is very long. To make the hyphen be simply ignored during the +sorting process you should specify the following command in the index +style: +<P> +<BLOCKQUOTE><CODE> +<PRE> + (sort-rule "-" "") +</PRE> +</CODE></BLOCKQUOTE> +<P>This makes `-eyed' be sorted as `eyed' thus making it appear +<EM>after</EM> `card' as desired. +<P> +<P> +<P> +<P> +<H2><A NAME="ss4.9">4.9 I want to use letter ordering instead of word ordering in my index.</A> +</H2> + +<P> +<P>According to the <EM>Chicago Manual of Style</EM> there exist two +different schemes of sorting word lists. In <EM>word ordering</EM> +a blank precedes any letter in the alphabet, whereas in <EM>letter +ordering</EM> it does not count at all. The following example borrowed +from the <CODE>makeindex</CODE> man-page illustrates the difference: +<P> +<BLOCKQUOTE><CODE> +<PRE> + Word Order: Letter Order: + sea lion seal + seal sea lion +</PRE> +</CODE></BLOCKQUOTE> +<P>By default, <SF>xindy</SF> uses word ordering. To use letter ordering +include the appropriate module with the following command: +<P> +<BLOCKQUOTE><CODE> +<PRE> +(require "ord/letorder.xdy") +</PRE> +</CODE></BLOCKQUOTE> +<P>It actually defines the following command: +<P> +<BLOCKQUOTE><CODE> +<PRE> +(sort-rule " " "") +</PRE> +</CODE></BLOCKQUOTE> +<P>This simply removes all blanks from the keyword resulting in the +desired behaviour. +<P> +<P> +<P> +<P> +<H2><A NAME="ss4.10">4.10 My document does not have page numbers, but a different scheme. What must I do?</A> +</H2> + +<P> +<P>The ability to deal with user-definable location structures is one of +the most important new features of <SF>xindy</SF>. Many documents have a +document structure that is not based on page numbers. Typical examples +are manuals or appendices that come with a +<EM>chapter/page-per-chapter</EM> numbering scheme, URLs, Bible verses, +etc. One can even imagine the Greek alphabet as possibly appearing in +a location reference. In our analysis we have found many interesting +examples of location references that made us to develop the concept of +<EM>location classes</EM>. +<P>A location class is defined by a sequence of alphabets. An alphabet +can be the set of arabic numbers (0, 1, 2, ...) or the roman numerals +(i, ii, iii, ...). These are built-in alphabets in <SF>xindy</SF>. +Addtionally, one can define more alphabets in the index style with a +command like +<P> +<PRE> + (define-alphabet "weekdays" + ("mon" "tue" "wed" "thu" "fri" "sat" "sun")) +</PRE> +<P>Based on alphabets one can now compose a location class as follows: +<P> +<PRE> + (define-location-class "weekday-hours" + ("weekday" :sep ":" "arabic-numbers")) +</PRE> +<P>This class description indicates that all location refernces matching +this template are viewed as correct instances of this class. Here +<CODE>:sep</CODE> makes the dot serving as a <EM>separation string</EM> separation +the alphabets from each other. Example instances of this class are: +<P> +<PRE> +mon:23, thu:45, sun:17 +</PRE> +<P>For more detailed information consult the description of the command +<CODE>define-location-class</CODE> in the reference manual. +<P> +<P> +<P> +<H2><A NAME="ss4.11">4.11 I don't want to have ranges in my index. What can I do?</A> +</H2> + +<P> +<P>By default, <SF>xindy</SF> joins three successive location references into a +<EM>range</EM>. Ranges are used as an abbrevation for a long sequence of +location references. For exmaple the sequence +<P> +<PRE> +12, 13, 14, 15, 16 +</PRE> +<P>would be shorter represented as +<P> +<PRE> +12-16 +</PRE> +<P>If you don't want to have ranges, simply define your location class in +the form +<P> +<PRE> + (define-location-class ... :min-range-length none) +</PRE> +<P>The argument <CODE>:min-range-length none</CODE> avoids forming of ranges. +Arbitrary numbers instead of <CODE>none</CODE> define the minimum length of a +sequence of location references that are needed to form a range. +<SF>xindy</SF>s default value is 2. +<P> +<P> +<P> +<H2><A NAME="ss4.12">4.12 I want to markup ranges of different length differently. How do I accomplish this?</A> +</H2> + +<P> +<P>A common way of tagging ranges is as follows: a range of length 1 is +printed with the starting page number and the suffix `f.', those of +length 2 with suffix `ff.', and all others in the form `<EM>X--Y</EM>'. +<P>Assume we want to do this for the location class <EM>pagenums</EM> we can +specify the markup as follows: +<P> +<BLOCKQUOTE><CODE> +<PRE> +(markup-range :class "pagenums" :close "f." :length 1 :ignore-end) +(markup-range :class "pagenums" :close "ff." :length 2 :ignore-end) +(markup-range :class "pagenums" :sep "--") +</PRE> +</CODE></BLOCKQUOTE> +<P>The first command indicates that a range <EM>(X,Y)</EM> of length 1 should +be printed in the form <EM>Xf.</EM>, a range of length 2 as <EM>Xff.</EM> and +all others in the form <EM>X--Y</EM>. The switch <CODE>:ignore-end</CODE> causes +the end of range location reference Y to be suppressed in the +resulting output. +<P> +<P> +<H2><A NAME="ss4.13">4.13 I need to suppress some of the markup tags. How can I do this?</A> +</H2> + +<P>Sometimes it is necessary to hide some of the parts of the index. If +you have a text formatter that allows comments or macros that possibly +expand to nothing, just define appropriate markup that makes things +invisible to the formatter. For example, with TeX you can define a +macro like this +<P> +<BLOCKQUOTE><CODE> +<PRE> +\def\ignore#1{} +</PRE> +</CODE></BLOCKQUOTE> +<P>If you additionally define markup like this +<P> +<BLOCKQUOTE><CODE> +<PRE> +(markup-index :open "\ignore{" :close "}") +</PRE> +</CODE></BLOCKQUOTE> +<P>you can throw away the complete index if you like, which would be a +real pity! +<P> +<P> +<P> +<H2><A NAME="ss4.14">4.14 Whats it all about those cross references?</A> +</H2> + +<P> +<P>Cross references are references pointing to an item in the index +itself. Typical examples are: +<P> +<BLOCKQUOTE><CODE> +foo-bar <EM>see</EM> baz +</CODE></BLOCKQUOTE> +<P>With <CODE>makeindex</CODE> cross references could be specified with the +encapsulation mechanism. This has completely been removed in <SF>xindy</SF> +and we have made cross references real first-class objects. +<P>In <SF>xindy</SF> one can declare different cross reference classes, whose +purpose is (a) to make all instances of a certain class appear next to +each other, and (b) to specify appropriate markup with them. +<P>@begin-comment +One very interesting feature is the ability to <EM>check</EM> the validity +of cross-references. +@end-comment +<P><CODE>tex2xindy</CODE> recognises all index entries of the form +<P> +<PRE> + \index{...|\macro{where}} +</PRE> +<P>as cross references. Here <CODE>macro</CODE> stands for an arbitrary macro +name and <CODE>where</CODE> is interpreted as the target keyword of the cross +references. +<P>If you want to use these cross references with <SF>xindy</SF>; add the +following line to your style file. +<P> +<PRE> + (define-crossref-class "macro") +</PRE> +<P>Additionally, you can assign specific markup to cross references using +the <CODE>markup-crossref</CODE>-commands. +<P> +<P> +<P> +<H2><A NAME="ss4.15">4.15 The keyword mappings don't work as expected!</A> +</H2> + +<P> +<P>Sometimes the keyword mappings don't work as expected. Especially in +cases with several regular expressions one might get confused about +what rule matches exactly when. We have incorporated a detailed +logging mechanism that lets one step by step follow the rules that +accomplish the keyword mapping. +<P>When running <SF>xindy</SF> you can turn on this feature with the command +line option `<CODE>-L</CODE>'. This option followed by one of the numbers 1, +2, or 3 turns on the appropriate debugging level. Turning on level 2 +or 3 and specifying a log-file with the command line option `<CODE>-l</CODE>' +a trace of the mappings is recorded in the log-file. A sample output +looks like the following: +<P> +<BLOCKQUOTE><CODE> +<PRE> +Mappings: (add (merge-rule :eregexp `^\\bf{(.*)}' `\1' :again)). +Mappings: (add (merge-rule :eregexp `^\\"([AEOUaeou])' `\1')). + ... +Mappings: (compare `\"A\"a' :eregexp `^\\bf{(.*)}') +Mappings: (compare `\"A\"a' :eregexp `^\\"([AEOUaeou])') match! +Mappings: (compare `\"a' :eregexp `^\\bf{(.*)}') +Mappings: (compare `\"a' :eregexp `^\\"([AEOUaeou])') match! +Mappings: (merge-mapping `\"A\"a') -> `Aa'. +</PRE> +</CODE></BLOCKQUOTE> +<P>This trace shows that initially two regular expression mappings have +been added to the rule set. The second section shows how the keyword +`<CODE>\"A\"a</CODE>' is compared to these rules and substitutions are +applied as matches are found. In the last line the result of the +keyword mapping is reported. +<P> +<P> +<P> +<H2><A NAME="ss4.16">4.16 I'm totally confused by the markup scheme!</A> +</H2> + +<P> +<P>A very important feature is the ability to <EM>trace</EM> all markup tags +<SF>xindy</SF> emits in the markup phase. Simply use the command line +switch <CODE>-t</CODE> or insert the command +<P> +<BLOCKQUOTE><CODE> +<PRE> +(markup-trace :on) +</PRE> +</CODE></BLOCKQUOTE> +<P>into the index style. This informs <SF>xindy</SF> to emit additional +pseudo markup that can be used to understand and debug the +markup phase. An example output might look like the following: +<P> +<BLOCKQUOTE><CODE> +<PRE> +<INDEX:OPEN> + <LETTER-GROUP-LIST:OPEN> + <LETTER-GROUP:OPEN ["a"]> + <INDEXENTRY-LIST:OPEN [0]> + <INDEXENTRY:OPEN [0]> + <KEYWORD-LIST:OPEN [0]> + <KEYWORD:OPEN [0]> + ... +</PRE> +</CODE></BLOCKQUOTE> +<P>The symbolic tags directly lead one to the command that is responsible +for the definition of that markup tag. For example, the tag +<CODE>LETTER-GROUP-LIST:OPEN</CODE> indicates that the command +<CODE>markup-letter-group-list</CODE> is responsible for replacing this +symbolic tag by a real one. +Give it a try if you find yourself confused by your own markup +specification. +<P> +<P> +<P> +<H2><A NAME="ss4.17">4.17 What editor should I use when writing xindy style files?</A> +</H2> + +<P> +<P>Use <CODE>Emacs</CODE> or <CODE>XEmacs</CODE>. Turn on the Lisp-mode with +<P> +<BLOCKQUOTE><CODE> +<PRE> +M-x lisp-mode +</PRE> +</CODE></BLOCKQUOTE> +<P>and you can properly indent commands using <CODE>M-q</CODE>. To enter this +mode automatically add the following lines to the end of the style +file: +<P> +<BLOCKQUOTE><CODE> +<PRE> +^L +;; Local Variables: +;; mode: lisp +;; End: +</PRE> +</CODE></BLOCKQUOTE> +<P>The <CODE>^L</CODE> (Control-L) can be entered with <CODE>C-q C-l</CODE>. +<P> +<P> +<P> +<HR> +Next +<A HREF="faq-3.html">Previous</A> +<A HREF="faq.html#toc4">Contents</A> +</BODY> +</HTML> diff --git a/Master/texmf-dist/doc/xindy/faq.html b/Master/texmf-dist/doc/xindy/faq.html new file mode 100644 index 00000000000..d049b766693 --- /dev/null +++ b/Master/texmf-dist/doc/xindy/faq.html @@ -0,0 +1,90 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> + <TITLE>XINDY FAQ</TITLE> + <LINK HREF="faq-1.html" REL=next> + + +</HEAD> +<BODY> +<A HREF="faq-1.html">Next</A> +Previous +Contents +<HR> +<H1>XINDY FAQ</H1> + +<H2>Or: <SF>xindy</SF> by Topic</H2> +<H2>Roger Kehr</H2> +<H3>Computer Science Department, Technical University of Darmstadt</H3> + and +<H2>Joachim Schrod</H2> +<H3>Joachim Schrod Net & Publication Consultance GmbH</H3> +$Revision: 1.2 $, $Date: 2004/05/24 21:43:16 $, for xindy version 2.2 +<P><HR> +<EM> The <SF>xindy</SF> FAQ presents answers to questions that are not +adequately covered in other parts of the documentation, or are hard to +find. The FAQ has been constructed from the <EM><SF>xindy</SF> by Topic</EM> +manual. The most up-to-date version of this FAQ can be obtained from +the <SF>xindy</SF> homepage at +<A HREF="http://www.xindy.org/doc/faq.html">http://www.xindy.org/doc/faq.html</A>. +<p> +While the content of this document is still valid, it has not been +updated in years and doesn't describe new developments. In particular, +it doesn't mention the many languages that are supported by Thomas +Henlich's <EM>make-rules</EM> system, and also doesn't know anything about +the new commands that got introduced with the "LaTeX Companion +Release". So, caveat. We don't want to throw out the document, though, +since it still contains lots of useful information that's not +available elsewhere.</EM> +<HR> +<P> +<H2><A NAME="toc1">1.</A> <A HREF="faq-1.html">General Questions</A></H2> + +<UL> +<LI><A HREF="faq-1.html#ss1.1">1.1 Why a completely new indexing tool? <CODE>makeindex</CODE> works fine!</A> +<LI><A HREF="faq-1.html#ss1.2">1.2 I'm an old <CODE>makeindex</CODE> wizard. What does <SF>xindy</SF> offer that <CODE>makeindex</CODE> doesn't?</A> +</UL> +<P> +<H2><A NAME="toc2">2.</A> <A HREF="faq-2.html"><SF>xindy</SF> Usage</A></H2> + +<UL> +<LI><A HREF="faq-2.html#ss2.1">2.1 I don't want to write style files. How can I proceed?</A> +<LI><A HREF="faq-2.html#ss2.2">2.2 How do I use <CODE>makeindex4</CODE>?</A> +<LI><A HREF="faq-2.html#ss2.3">2.3 How works <CODE>makeindex4</CODE>?</A> +</UL> +<P> +<H2><A NAME="toc3">3.</A> <A HREF="faq-3.html"><SF>xindy</SF> and LaTeX</A></H2> + +<UL> +<LI><A HREF="faq-3.html#ss3.1">3.1 What is <CODE>tex2xindy</CODE>?</A> +<LI><A HREF="faq-3.html#ss3.2">3.2 What LaTeX-package should I use in conjunction with xindy?</A> +</UL> +<P> +<H2><A NAME="toc4">4.</A> <A HREF="faq-4.html">Style Files</A></H2> + +<UL> +<LI><A HREF="faq-4.html#ss4.1">4.1 Eventually, I decided to write my first index style. How can I start?</A> +<LI><A HREF="faq-4.html#ss4.2">4.2 How to write my first index style?</A> +<LI><A HREF="faq-4.html#ss4.3">4.3 How works the actual key feature of <CODE>makeindex</CODE> with <SF>xindy</SF>?</A> +<LI><A HREF="faq-4.html#ss4.4">4.4 I want to process an index for my native language. What must I do?</A> +<LI><A HREF="faq-4.html#ss4.5">4.5 In my index the capitalized words appear after the lowercase words. Why?</A> +<LI><A HREF="faq-4.html#ss4.6">4.6 In my index there are no letter groups, yet!</A> +<LI><A HREF="faq-4.html#ss4.7">4.7 How can I get rid of any formatting information in the keyword?</A> +<LI><A HREF="faq-4.html#ss4.8">4.8 In my index the word <EM>-foo</EM> appears before <EM>bar</EM>. What must I do?</A> +<LI><A HREF="faq-4.html#ss4.9">4.9 I want to use letter ordering instead of word ordering in my index.</A> +<LI><A HREF="faq-4.html#ss4.10">4.10 My document does not have page numbers, but a different scheme. What must I do?</A> +<LI><A HREF="faq-4.html#ss4.11">4.11 I don't want to have ranges in my index. What can I do?</A> +<LI><A HREF="faq-4.html#ss4.12">4.12 I want to markup ranges of different length differently. How do I accomplish this?</A> +<LI><A HREF="faq-4.html#ss4.13">4.13 I need to suppress some of the markup tags. How can I do this?</A> +<LI><A HREF="faq-4.html#ss4.14">4.14 Whats it all about those cross references?</A> +<LI><A HREF="faq-4.html#ss4.15">4.15 The keyword mappings don't work as expected!</A> +<LI><A HREF="faq-4.html#ss4.16">4.16 I'm totally confused by the markup scheme!</A> +<LI><A HREF="faq-4.html#ss4.17">4.17 What editor should I use when writing xindy style files?</A> +</UL> +<HR> +<A HREF="faq-1.html">Next</A> +Previous +Contents +</BODY> +</HTML> diff --git a/Master/texmf-dist/doc/xindy/index.gif b/Master/texmf-dist/doc/xindy/index.gif Binary files differnew file mode 100644 index 00000000000..74f581c4b85 --- /dev/null +++ b/Master/texmf-dist/doc/xindy/index.gif diff --git a/Master/texmf-dist/doc/xindy/manual-1.html b/Master/texmf-dist/doc/xindy/manual-1.html new file mode 100644 index 00000000000..40fc1db4349 --- /dev/null +++ b/Master/texmf-dist/doc/xindy/manual-1.html @@ -0,0 +1,42 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> + <TITLE>xindy Manual: About this Manual</TITLE> + <LINK HREF="manual-2.html" REL=next> + + <LINK HREF="manual.html#toc1" REL=contents> +</HEAD> +<BODY> +<A HREF="manual-2.html">Next</A> +Previous +<A HREF="manual.html#toc1">Contents</A> +<HR> +<H2><A NAME="s1">1. About this Manual</A></H2> + +<P>We assume that the reader is already familiar with the task of an +index processor and has basic experience in using a markup-based +document preparation systems such as TeX/LaTeX [1, 2], +the roff-family, or SGML-based systems (e.g. its instance HTML). +<P>This document is structured as follows. The second part gives an +overview on the index model that is used by our system and we define +general concepts and terms. The third part contains a list of all +index style commands, their syntax, and a description of their +purpose. The reader should at least have read the first part of the +manual to understand the basic terminology to be able to use the +command reference. The fourth +part describes the different processing phases the system runs +through. +<P>Invocation of <SF>xindy</SF> is not explained here. Please refer to the +manual pages of the commands <CODE>xindy</CODE>, <CODE>texindy</CODE>, +<CODE>makeindex4</CODE>, and to the 2nd edition of the LaTeX Companion. The +<SF>xindy</SF> Web Site has more documentation, too. +<P> +<P> +<P> +<HR> +<A HREF="manual-2.html">Next</A> +Previous +<A HREF="manual.html#toc1">Contents</A> +</BODY> +</HTML> diff --git a/Master/texmf-dist/doc/xindy/manual-2.html b/Master/texmf-dist/doc/xindy/manual-2.html new file mode 100644 index 00000000000..c3a7a87be77 --- /dev/null +++ b/Master/texmf-dist/doc/xindy/manual-2.html @@ -0,0 +1,302 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> + <TITLE>xindy Manual: How the Index Processor Works</TITLE> + <LINK HREF="manual-3.html" REL=next> + <LINK HREF="manual-1.html" REL=previous> + <LINK HREF="manual.html#toc2" REL=contents> +</HEAD> +<BODY> +<A HREF="manual-3.html">Next</A> +<A HREF="manual-1.html">Previous</A> +<A HREF="manual.html#toc2">Contents</A> +<HR> +<H2><A NAME="how-works"></A> <A NAME="s2">2. How the Index Processor Works</A></H2> + +<P> +<P> +<H2><A NAME="ss2.1">2.1 Data Flow</A> +</H2> + +<P>Usually document preparation systems produce some form data that +describe the <EM>index entries</EM> and the <EM>locations</EM> they point to. +This data is called the <EM>raw index</EM> since it consists of raw data +which contains structured information about the entries of the index. +The raw index is fed into the index processor and is processed +according to a specification called the <EM>index style</EM>. This is a +user-definable description how the index is to be processed, what +sort rules for the keywords should be used, which kind of locations +may appear, and finally, what tags should be emitted when writing the +index into the output file. The result is sometimes fed back into the +document preparation system, as it is in the case of TeX, or used +otherwise. The following figure illustrates this embedding into the +document preparation process. +<P> +<FIGURE> +<EPS FILE="dataflow.eps"> +<IMG SRC="dataflow.gif"> +</FIGURE> +<P>The <SF>xindy</SF> system is oriented on book-like indexes in a form that +is described later in detail. The format of the input data is fixed +and a small tool that converts some system dependent raw index in a +form suitable for <SF>xindy</SF> should not be a big hurdle. The user is +normally not involved in the correct format suitable for <SF>xindy</SF> +and some tools will make this work invisible to him. +<P>In contrast, the output of the <SF>xindy</SF> system is highly +configurable and can produce a variety of different markups. +Additionally, the way <SF>xindy</SF> processes the index data can be +parametrized and controlled in many ways and gives the user a powerful +framework for describing complex indexes. The user can tell <SF>xindy</SF> +how it should produce an output according to his wishes or simply use +some of the predefined styles that come with the distribution. +<P> +<P> +<P> +<P> +<H2><A NAME="general-concepts"></A> <A NAME="ss2.2">2.2 General Concepts and Terms</A> +</H2> + +<P>In the following sections we introduce some terms that are necessary +to understand the way <SF>xindy</SF> works. +<P>The development of <SF>xindy</SF> started with the devlopment of a model +of a <EM>book-like</EM> index. This rather vague term will now be fleshed +out by giving a semi-formal description of the model. If the structure +of an index conforms to this model it can be processed by <SF>xindy</SF>. +We first present a diagram that describes the structure of a processed +index. It is a hierarchical recursive data structure which we will +describe now. +<P> +<FIGURE> +<EPS FILE="index.eps"> +<IMG SRC="index.gif"> +</FIGURE> +<P>Boxed objects contain elements from the raw index such as the keywords +or the location reference layers. We start from the root of the +diagram and explain the different elements. +<P> +<P> +<P> +<DL> +<P> +<DT><B>index</B><DD><P>An index consists of a list of <SF>letter-groups</SF>. +<P> +<P> +<A NAME="def letter-group"></A> <DT><B>letter-group</B><DD><P>The letter groups serve as containers for +<SF>indexentries</SF>. The letter groups are intended to group all +index entries sharing a common <SF>keyword</SF> prefix, allowing the +assignment of a specific markup for each group. For example, indexes +are often organized in a way that new index entries beginning with a +new letter are separated by a specific markup. The following example +illustrates this style. +<P> +<PRE> + B + bread 25, 27 + butter 26 + + M + marmalade 19 + milk 21 +</PRE> +<P>Here we have two letter groups for the letters `B' and `M' because the +keywords `bread' and `butter' share the same prefix `b' and +`marmalade' and `milk' share the prefix `m'. <SF>xindy</SF> can be advised +to define arbitrary letter groups with a particular markup for each of +them. See command <CODE>define-letter-group</CODE> for further details. +<P> +<P> +<DT><B>indexentry</B><DD><P>An index entry consists of three components: the +<SF>keyword</SF> and optionally the list of <SF>location-class-groups</SF> and +the sub-<SF>indexentries</SF>. An example: +<P> +<PRE> + bread 25-30 + brown 26 + white 27 +</PRE> +<P>This index entry consists of the keyword `bread', the +location class list `25-30' and the sub-entries `brown 26' and `white +27'. The sub-entries themselves are complete index entries as well, +forming a recursive data structure. +<P> +<P> +<DT><B>keyword</B><DD><P>The keyword is the identifier of an index entry. It +consists of a list of strings being the <EM>key</EM> if the index entry. In +our model the keyword constists of a list of strings, since indexes +are often organized hierarchically with different layers. In the +example +<P> +<PRE> + bread 25-30 + bread, brown 26 + bread, white 27 +</PRE> +<P>we have keywords `bread', `bread, brown' and `bread, white'. +<P>A keyword is actually separated into four different keys. The +<SF>main-key</SF> is the key that is specified from the author who indexes +a document. The <SF>merge-key</SF> is derived from the main key with the +so-called <EM>merge mapping</EM>. This mapping is accomplished with a set +of rewrite rules. The <SF>sort-key</SF> is derived from the merge key with +another set of rewrite rules called the <EM>sort mapping</EM>. The +<SF>print-key</SF> can be specified by the user explicitely or, if it is +ommited, equals the main key. The rewrite rules consist of string +substitutions that also include regular expression features. +<P>The following figure describes this: +<P> +<FIGURE> +<EPS FILE="mappings.eps"> +<IMG SRC="mappings.gif"> +</FIGURE> +<P> +<P>The <SF>merge-key</SF> is necessary to define the equality of +index entry keys. See command <CODE>merge-rule</CODE> for further details about +defining the merge mapping. +<P>The <SF>sort-key</SF> is necessary to define a total order on the +keywords. Since we need a scheme that is independent from any specific +character set such as ASCII or ISO-Latin, we must be able to define +completely new alphabets. The index entries are then sorted according +to the ISO-Latin alphabet. See the command <CODE>sort-rule</CODE> for an +explanation how these mapping can be specified. +<P>The <SF>print-key</SF> is used for the final markup and contains the +string that appears in the generated markup. +<P> +<P> +<DT><B>location-class-group</B><DD><P>There exist two kinds of +location class groups namely <SF>location-reference-groups</SF> and +<SF>cross-reference-groups</SF>. +<P> +<DT><B>location-reference-group</B><DD><P>consists of a list of +<SF>attribute-groups</SF>. +<P> +<P> +<DT><B>attribute-groups</B><DD><P>Each <SF>location-reference-group</SF> consists of +a list of <SF>attribute-groups</SF>. Attribute groups are defined by a set +of <SF>attributes</SF>. In the markup phase, all location references are +sorted according to the group number their attributes belong to. +Additionally all location references of a particular attribute group +appear together in the index. +<P>See command <CODE>define-attribute-groups</CODE> for further information about +the handling of attribute-groups. +<P>An attribute group consists of a list of <SF>location-references</SF> +and/or <SF>ranges</SF>. +<P> +<P> +<A NAME="def locref-class"></A> <DT><B>location-reference-class, location-reference, location</B><DD><P>Each +index entry of an index references at least one <SF>location</SF> in the +document. A <SF>location</SF> is a logical or physical part of a document, +such as a single page, a section or subsection, etc. The symbolic name +of a location is called a <SF>location-reference</SF>. The +location reference is always represented as a string (a sequence of +characters). Each location reference is associated a special tag +called <SF>attribute</SF>. The following examples may give you an idea how +location references could look like. +<P> +<BLOCKQUOTE> +<CODE>"25" </CODE> represents a page number. +</BLOCKQUOTE> +<P> +<BLOCKQUOTE> +<CODE>"Chapter-3"</CODE> represents the third chapter of a document. +</BLOCKQUOTE> +<P> +<BLOCKQUOTE> +<CODE>"A-I" </CODE> represents the first page, written in uppercase roman +numerals of the appendix `A', separated by a hyphen. +</BLOCKQUOTE> +<P> +<BLOCKQUOTE> +<CODE>"2.3.4" </CODE> represents the sub-sub-section 2.3.4 of a document. +</BLOCKQUOTE> +<P>As we can see, the location references are often composed +hierarchically of smaller entities, such as numbers or names. All +location references that belong to the same class form a +<SF>location-class</SF>. A location class is composed of <SF>alphabets</SF> +and <SF>separators</SF>. See command <CODE>define-location-class</CODE> for a +description how classes can be defined. +<P> +<P> +<DT><B>alphabet, separator</B><DD><P>As we have seen in the previous section, +location classes consist of alphabets and separators. xindy has the +following built-in set of basic alphabets: +<P> +<BLOCKQUOTE><CODE> +<PRE> +<tag/<tt/arabic-numbers// contains all non-negative numbers beginning +with zero: 0, 1, 2, .... + +<tag/<tt/roman-numerals-uppercase// the roman numerals I, II, III, +(IIII/IV), V, ... It recognizes the old and new roman numeral system. + +<tag/<tt/roman-numerals-lowercase// the same for the lowercase roman +numerals. + +<tag/<tt/ALPHA// the US-ASCII alphabet (uppercase letters). + +<tag/<tt/alpha// the US-ASCII alphabet (lowercase letters). + +<tag/<tt/digits// the digits 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9 in this +order. +</PRE> +</CODE></BLOCKQUOTE> +<P>The user is free to define new alphabets as he wishes. See the +commands <CODE>define-alphabet</CODE> and <CODE>define-enumeration</CODE> for further +details. +<P>A complete location class can be defined by composing alphabets and +separators. The location class of the example <CODE>"A-I"</CODE> can be +defined as follows +<P> +<PRE> + (define-location-class "appendix" + (ALPHA "-" roman-numerals-uppercase)) +</PRE> +<P>This is a list that completely describes all possible instances of +this location class. Other valid members are <CODE>A-II</CODE>, <CODE>B-VI</CODE>, +etc. Location classes are defined with the command +<CODE>define-location-class</CODE>. +<P><SF>xindy</SF> reads the incoming strings representing location references +and tries to match them against a previously defined location class. +There exist no predefined location classes. +<P> +<DT><B>range</B><DD><P>A <SF>range</SF> is a pair of <SF>location-references</SF>. A +sequence of location references following one another is transformed +into an range if the length of the sequence exceeds a certain +user-definable limit. For example, the location references 11, 12, 13 +and 14 may be transformed into the range 11--14. See command +<CODE>define-location-class</CODE> for further details. +<P> +<P> +<DT><B>cross-reference-group</B><DD><P>Container for all +<SF>cross-references</SF> of a particular <SF>cross-reference-class</SF>. +<P> +<P> +<A NAME="def crossref-class"></A> <DT><B>cross-reference-class, cross-reference</B><DD><P>A <SF>cross-reference</SF> is +an unstructured reference. <SF>Cross-reference-classes</SF> are used to +define different classes of cross references. All elements of a +cross reference class appear together in the index. A cross reference +consists of a list of strings. +<P> +<P> +<DT><B>attributes</B><DD><P>Each location reference contains a so-called +<SF>attribute</SF>. Attributes may be used to give a location reference a +different meaning that may influence the processing and markup of this +reference. Sometimes location references pointing to semantically +different locations such as a definition or a usage of a term are +tagged differently. They often appear in <EM>italics</EM> or <B>boldface</B> +indicating this difference. An attribute may now be used to express +this difference. Since <SF>xindy</SF> needs to know the possible +attributes before the index entries are read in, the command +<CODE>define-attributes</CODE> must be used to define a set of attributes and +how they interact. +<P> +</DL> +<P> +<P> +<P> +<P> +<HR> +<A HREF="manual-3.html">Next</A> +<A HREF="manual-1.html">Previous</A> +<A HREF="manual.html#toc2">Contents</A> +</BODY> +</HTML> diff --git a/Master/texmf-dist/doc/xindy/manual-3.html b/Master/texmf-dist/doc/xindy/manual-3.html new file mode 100644 index 00000000000..3520de7f1ea --- /dev/null +++ b/Master/texmf-dist/doc/xindy/manual-3.html @@ -0,0 +1,1160 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> + <TITLE>xindy Manual: Command List</TITLE> + <LINK HREF="manual-4.html" REL=next> + <LINK HREF="manual-2.html" REL=previous> + <LINK HREF="manual.html#toc3" REL=contents> +</HEAD> +<BODY> +<A HREF="manual-4.html">Next</A> +<A HREF="manual-2.html">Previous</A> +<A HREF="manual.html#toc3">Contents</A> +<HR> +<H2><A NAME="s3">3. Command List</A></H2> + +<P>Here is the complete list of <SF>xindy</SF>'s commands that may be used in +the index style. The symbol <CODE>name</CODE> always refers to a string. We +separate the commands into the <EM>processing</EM> and +<EM>markup</EM> commands. The commands are listed in alphabetical order. +<P>The parenthesis `<CODE>[</CODE>' and `<CODE>]</CODE>' denote optional parts of the +syntax and `<CODE>{</CODE>' and `<CODE>}</CODE>' denote the grouping of elements. A +vertical bar indicates alternatives. However, the enclosing round +braces <EM>are</EM> part of the syntax and must be supplied. +<P> +<P> +<H2><A NAME="ss3.1">3.1 Processing Commands</A> +</H2> + +<P>Here follows the list of processing commands. +<P> +<A NAME="define-alphabet"></A> +<BLOCKQUOTE><CODE> +<PRE> +(define-alphabet name string-list) +</PRE> +</CODE></BLOCKQUOTE> +<P>Defines <CODE>name</CODE> to be the alphabet consisting of all elements of the +<CODE>string-list</CODE>. Examples: +<P> +<PRE> + (define-alphabet "example-alphabet" ("An" "Example" "Alphabet")) +</PRE> +<P>defines an alphabet consisting of exactly three symbols. For the +successor relationship holds: <CODE>succ("An")="Example"</CODE> and +<CODE>succ("Example")="Alphabet"</CODE>. The built-in alphabet <CODE>digits</CODE> is +defined as follows: +<P> +<PRE> + (define-alphabet "digits" + ("0" "1" "2" "3" "4" "5" "6" "7" "8" "9")) +</PRE> +<P> +<P> +<P> +<A NAME="define-attributes"></A> +<BLOCKQUOTE><CODE> +<PRE> +(define-attributes attribute-list) +</PRE> +</CODE></BLOCKQUOTE> +<P>Defines all attributes the raw index may contain. Parameter +<CODE>attribute-list</CODE> is a list of list of strings. The nesting level +must not be more than 2. So <CODE>(..(..)..)</CODE> is allowed, whereas +<CODE>(..(..(..)..)..)</CODE> is not. +<P>The list has two kinds of elements: strings and list of strings. A +single string is treated as if it were a single element list. So the +lists <CODE>("definition")</CODE> and <CODE>( ("definition") )</CODE> are equivalent. +All elements forming a list are a so-called <EM>attribute group</EM>. The +members of a group are written to the output file before any member +of the following groups are written. +<P>Examples of valid attributes lists are: +<P><CODE>("definition" "usage")</CODE> defines two attribute groups. The first +one contains all references with the attribute <CODE>definition</CODE> and the +second one all with the attribute <CODE>usage</CODE>. +<P><CODE>(("definition" "important") "usage")</CODE> defines two attribute +groups. The first one contains all references with the attributes +<CODE>definition</CODE> or <CODE>important</CODE> and the second one all with the +attribute <CODE>usage</CODE>. In the attribute group <CODE>("definition" +"important")</CODE> the attribute <CODE>definition</CODE> overrides <CODE>important</CODE>. +<P> +<P> +<P> +<A NAME="define-crossref-class"></A> +<BLOCKQUOTE><CODE> +<PRE> +(define-crossref-class name [:unverified]) +</PRE> +</CODE></BLOCKQUOTE> +<P>Defines <CODE>name</CODE> to be a class of cross references. We distinguish +two types of cross reference classes. <EM>Verified</EM> cross reference +classes can be checked for dangling references. If for instance a +cross reference points to the non-existent keyword `foo' a warning is +issued and the user is advised to correct the invalid cross reference. +This is the default. If for some reasons this mechanism must be +deactivated the switch <CODE>:unverified</CODE> can be used to suppress this +behaviour. +<P> +<P> +<A NAME="define-letter-group"></A> +<A NAME="define-letter-groups"></A> +<BLOCKQUOTE><CODE> +<PRE> +(define-letter-group name [:before lgname] [:after lgname] + [:prefixes list-of-prefixes]) + +(define-letter-groups list-of-letter-groups) +</PRE> +</CODE></BLOCKQUOTE> +<P>This command defines a letter group with name <CODE>name</CODE>, which must be +a string value, grouping all index entries that have a <EM>sort key</EM> +beginning with the prefix <CODE>name</CODE>. The command +<P> +<PRE> + (define-letter-group "a") +</PRE> +<P>is equivalent to the command +<P> +<PRE> + (define-letter-group "a" :prefixes ("a")) +</PRE> +<P>Using the latter form one can associate more than one prefix with a +given letter group. Also further prefixes can be added to an already +existing letter group by simply defining the same letter group again. +This results not in a redefinition but in adding more prefixes to the +currently defined prefixes. +<P>Example: +<P> +<PRE> + (define-letter-group "a") +</PRE> +<P>defines a letter group containing all index entries beginning with the +string <CODE>"a"</CODE>. +<P> +<PRE> + (define-letter-group "c" :after "a") +</PRE> +<P>defines a letter group containing all index entries beginning with the +string <CODE>"c"</CODE>. The letter group appears behind the letter group "a" +<P> +<PRE> + (define-letter-group "b" :after "a" :before "c") +</PRE> +<P>inserts letter group "b" between letter group "a" and "c". This allows +incremental definition of letter groups by extending already defined +ones. +<P>The arguments <CODE>:after</CODE> and <CODE>:before</CODE> define a partial order on +the letter groups. <SF>xindy</SF> tries to convert this partial order into +a total one. If this is impossible due to circular definitions, an +error is reported. If more than one possible total ordering can +result, it is left open which one is used, so one should always define +a complete total order. +<P>The command <CODE>define-letter-groups</CODE> (with an `s' at the end) is +simply an abbreviation for a sequence of +<CODE>define-letter-group</CODE> definitions where the elements are ordered in +the ordering given by the list. Example: +<P> +<PRE> + (define-letter-groups ("a" "b" "c") +</PRE> +<P>equals the definitions +<P> +<PRE> + (define-letter-group "a") + (define-letter-group "b" :after "a") + (define-letter-group "c" :after "b") +</PRE> +<P>See also commands <CODE>markup-letter-group-list</CODE> and +<CODE>markup-letter-group</CODE> for further information. +<P> +<P> +<P> +<A NAME="define-location-class"></A> +<BLOCKQUOTE><CODE> +<PRE> +(define-location-class name layer-list + [:min-range-length num] + [:hierdepth depth] + [:var]) +</PRE> +</CODE></BLOCKQUOTE> +<P>Defines <CODE>name</CODE> to be a location class consisting of the given list +of layers. A list of layers consists of names of basetypes and/or +strings representing separators. Separators must follow the +keyword argument <CODE>:sep</CODE>. If the keyword <CODE>:min-range-length</CODE> is +specified we define the <EM>minimum range length</EM> to be used when +building ranges. The argument <CODE>num</CODE> must be a positive integer +number or the keyword <CODE>none</CODE> in which case the building of ranges +is disallowed. If the switch <CODE>:var</CODE> is specified the declared class +is of type <EM>variable</EM>, i.e. it is a <EM>var-location-class</EM>. Since +building of ranges is currently only allowed for standard classes +<CODE>:var</CODE> and <CODE>:min-range-length</CODE> must not be used together. The +keyword argument <CODE>:hierdepth</CODE> can be used to declare that the +location references have to be tagged in a hierarchical form. Its +argument <CODE>depth</CODE> must be an integer number indicating the number of +layers the hierarchy does contain. See command +<CODE>markup-locref-list</CODE> for more information. Examples: +<P> +<PRE> + (define-location-class "page-numbers" ("arabic-numbers") + :minimum-range-length 3) +</PRE> +<P>Defines the location class <CODE>page-numbers</CODE> consisting of one layer +which is the alphabet <CODE>arabic-numbers</CODE>. Since the minimum +range length is set to 3 the location references 2, 3 and 4 don't form +a range because the range length is only 2. But the references 6, 7, +8, and 9 are enough to form a range. Some example instances of this +class are <CODE>0</CODE>, <CODE>1</CODE>, ... <CODE>2313</CODE>, etc. +<P> +<PRE> + (define-location-class "sections" :var + ("arabic-numbers" :sep "." + "arabic-numbers" :sep "." + "arabic-numbers")) +</PRE> +<P>defines a variable location class. Valid instances are <CODE>1</CODE>, +<CODE>1.1</CODE>, <CODE>1.2</CODE>, <CODE>2</CODE>, <CODE>2.4.5</CODE>, but none of <CODE>2-3</CODE> (wrong +separator), <CODE>1.2.3.4</CODE> (more than 3 layers), <CODE>2.3.iv</CODE> (roman +number instead of arabic one). +<P> +<P> +<P> +<A NAME="define-location-class-order"></A> +<BLOCKQUOTE><CODE> +<PRE> +(define-location-class-order list) +</PRE> +</CODE></BLOCKQUOTE> +<P>Defines the order in which the location classes are written to the +output file. The parameter <CODE>list</CODE> is a list of names of +location classes. Examples: +<P> +<PRE> + (define-location-class-order + ("page-numbers" "sections" "xrefs")) +</PRE> +<P>tells the system that the page numbers should appear before the +section numbers and that the cross references should appear at the +end. If this command is omitted, the declaration order of the +location classes in the index style is implicitly used as the output +order. In the case that a location class does not appear in the list, +the output may behave unexpectedly, so one should always enumerate all +used location classes when using this command. +<P> +<P> +<P> +<A NAME="define-rule-set"></A> +<BLOCKQUOTE><CODE> +<PRE> +(define-rule-set name + [ :inherit-from ("rule-set" "rule-set-2") ] + :rules (<rule>...) ) +</PRE> +</CODE></BLOCKQUOTE> +<P>A complete specification of a multi-phase sorting process for a +language requires that some rules have to appear in several subsequent +sorting phases. Rule sets can be used to define a set of rules that +can be instantiated in an arbitrary sorting phase. Basically, they +offer means to separate the definition of sorting rules from their +instantiation, hence, acting as a wrapper for calls to <CODE>sort-rule</CODE>. +They do not add new functionality that is not already present with +<CODE>sort-rule</CODE>. +<P>A rule can be of the form: +<P> +<PRE> + <rule> ::= ("pattern" "replacement" + [:string|:bregexp|:egegexp] [:again]) +</PRE> +<P>The following incomplete example defines a new rule set of name +<CODE>isolatin1-tolower</CODE> that inherits definitions from rule set +<CODE>latin-tolower</CODE>, overriding or adding the sort rules in the list of +<CODE>:rules</CODE>. +<P> +<PRE> + (define-rule-set "isolatin1-tolower" + + :inherit-from ("latin-tolower") + + :rules (("À" "à" :string :again) + ("Á" "á" :string :again) + ("Â" "â" :string :again) + ("Ã" "ã" :string :again) + ("Ä" "ä" :string :again) + ("Å" "å" :string :again) + ("Æ" "æ" :string :again) + ... + ) + ...) +</PRE> +<P>Rule sets can be instantiated with the command <CODE>use-rule-set</CODE>. For +further descriptions on the sorting model refer to the command +<CODE>sort-rule</CODE>. +<P> +<P> +<A NAME="define-sort-rule-orientations"></A> +<BLOCKQUOTE><CODE> +<PRE> +(define-sort-rule-orientations (orientations...)) +</PRE> +</CODE></BLOCKQUOTE> +<P>Defines the order for the different sorting phases. The currently +implemented <EM>orientations</EM> are <CODE>forward</CODE> and <CODE>backward</CODE>. This +command must precede all <CODE>sort-rule</CODE> commands in an index style. It +defines the orientations and implicitly sets the maximum number of +sorting phases performed. +<P>For further descriptions on the sorting model refer to the command +<CODE>sort-rule</CODE>. +<P> +<P> +<P> +<A NAME="merge-rule"></A> +<BLOCKQUOTE><CODE> +<PRE> +(merge-rule pattern replacement [:again] + [:bregexp | :eregexp | :string]) +</PRE> +</CODE></BLOCKQUOTE> +<P>Defines a keyword mapping rule that can be used to generate the +<EM>merge key</EM> from the <EM>main key</EM> of an index entry. This mapping +is necessary to map all keywords that are differently written but +belong to the same keyword to the same canonical keyword. +<P>The parameter <CODE>pattern</CODE> can be a POSIX-compliant regular expression +or an ordinary string. The implementation uses the GNU Rx regular +expression library which implements the POSIX regular expressions. +Regular expressions (REs) can be specified as <EM>basic regular +expressions</EM> (BREs) or <EM>extended regular expressions</EM> (EREs). You +can use the switch <CODE>:bregexp</CODE> to force the interpretation of the +pattern as a BRE, or <CODE>:eregexp</CODE> to interpret it as an ERE. If you +want <SF>xindy</SF> to interpret the pattern literally, use the switch +<CODE>:string</CODE>. If none of these switches is selected, <SF>xindy</SF> uses +an auto-detection mechanism to decide, if the pattern is a regular +expression or not. If it recognizes the pattern as a RE, it interprets +it as an ERE by default. +<P>The parameter <CODE>replacement</CODE> must be +a string possibly containing the special characters <CODE>&</CODE> +(substitutes for the complete match) and <CODE>\1</CODE>,...,<CODE>\9</CODE> +(substituting for the <EM>n</EM>-th submatch. Examples: +<P> +<PRE> + (merge-rule "A" "a") +</PRE> + +replaces each occurrence of the uppercase letter `<CODE>A</CODE>' with its +lowercase counterpart. +<P> +<PRE> + (merge-rule "\~"([AEOUaeou])" "\1") +</PRE> + +transforms the TeX umlaut-letters into their stripped counterparts, +such that `<CODE>\"A</CODE>' is treated as an `<CODE>A</CODE>' afterwards. +<P>The following sequences have a special meaning: +<P>`<CODE>~n</CODE>' : End of line symbol (<EM>linefeed</EM>). +<P>`<CODE>~b</CODE>' : The ISO-Latin character with the lowest ordinal number. +<P>`<CODE>~e</CODE>' : The ISO-Latin character with the highest ordinal number. +<P>`<CODE>~~</CODE>' : The tilde character. +<P>`<CODE>~"</CODE>' : The double quote character. +<P>Tilde characters and double quotes have to be quoted themselves with a +tilde character. The special characters `<CODE>~b</CODE>' and +`<CODE>~e</CODE>' allow the definition of arbitrary sorting orders by +rules. In connection with an additional character every position in +the alphabet can be described. E.g. `<CODE>m~e</CODE>' is +lexicographically placed between `<CODE>m</CODE>' and `<CODE>n</CODE>'. +<P>Due to efficiency, rules that just exchange characters or substitute +constant character sequences are not treated as regular expressions. +Therefore, instead of using the rule +<P> +<PRE> + (merge-rule "[A-Z]" "&x") +</PRE> +<P>it is more efficient (though less comfortable) to use +<P> +<PRE> + (merge-rule "A" "Ax") + (merge-rule "B" "Bx") + ... + (merge-rule "Z" "Zx") +</PRE> +<P>Usually rules are applied in order of their definition. Rules with a +special prefix precede those that begin with a class of characters, so +that the search pattern `<CODE>alpha</CODE>' is checked before `<CODE>.*</CODE>', but +`<CODE>auto</CODE>' and `<CODE>a.*</CODE>' are checked in order of their definition. +<P>The first rule from a style file that matches the input is +applied and the process restarts behind the substituted text. If no +rule could be applied, the actual character is copied from the input +and the process continues with the next character. +<P>Sometimes it is necessary to apply rules anew to the result of a +transformation. By specifying the keyword argument <CODE>:again</CODE> in the +merge rule the rule is marked as <EM>mutable</EM>, which means that after +using this rule the transformation process shall restart at the same +place. E.g. the rule +<P> +<PRE> + (merge-rule "\$(.*)\$" "\1" :again) +</PRE> +<P>deletes <EM>all</EM> surrounding `<CODE>$</CODE>' symbols from the input. +<P>See also command <CODE>sort-rule</CODE>. +<P> +<P> +<A NAME="merge-to"></A> +<BLOCKQUOTE><CODE> +<PRE> +(merge-to attr-from attr-to [:drop]) +</PRE> +</CODE></BLOCKQUOTE> +<P>A <EM>merge rule</EM> says that the attribute <CODE>attr-from</CODE> can be used +to build ranges in <CODE>attr-to</CODE>. Both attributes must name valid +attribute names. The switch <CODE>:drop</CODE> indicates, that the original +location reference with attribute <CODE>attr-from</CODE> has to be dropped +(removed), if a successful range was built with location references in +attribute <CODE>attr-to</CODE>. A detailed description is given in the section +about processing phases. +<P> +<P> +<P> +<A NAME="require"></A> +<BLOCKQUOTE><CODE> +<PRE> +(require filename) +</PRE> +</CODE></BLOCKQUOTE> +<P>This command allows to load more index style modules. The module is +searched in the directories defined in the search path. The file is +read in and processing of the current file continues. The argument +<CODE>filename</CODE> must be a string. This allows to decompose the +index style into several modules that can be included into the topmost +index style file. Example: +<P> +<PRE> + (require "french/alphabet.xdy") + (require "french/sort-rules.xdy") + (require "tex/locations.xdy") + (require "tex/markup.xdy") +</PRE> +<P>Submodules can load other submodules as well. If a file is required +that was already loaded, the <CODE>require</CODE> command is simply ignored +and processing continues without including this file twice. See also +command <CODE>searchpath</CODE>. +<P> +<P> +<P> +<A NAME="searchpath"></A> +<BLOCKQUOTE><CODE> +<PRE> +(searchpath {path-string | path-list}) +</PRE> +</CODE></BLOCKQUOTE> +<P>This command adds the given paths to the list of paths, <SF>xindy</SF> +searches for index style files. The argument <CODE>path-string</CODE> must be +a colon-separated string of directory names. If this path ends with a +colon the default search path is added to the end of the path list. +Example: +<P> +<BLOCKQUOTE><CODE> +<PRE> + (searchpath ".:/usr/local/lib/xindy:/usr/local/lib/xindy/english:") +</PRE> +</CODE></BLOCKQUOTE> +<P>adds the specified directories to the search path. Since the last path +ends with a colon, the built-in search path is added at the end. +Specifying +<P> +<BLOCKQUOTE><CODE> +<PRE> + (searchpath ("." + "/usr/local/lib/xindy" + "/usr/local/lib/xindy/english" + :default)) +</PRE> +</CODE></BLOCKQUOTE> +<P>yields exactly the same result as the example above. Here +<CODE>path-list</CODE> must be a list of strings and/or the keyword(s) +<CODE>:default</CODE> and <CODE>:last</CODE>. The keyword <CODE>:default</CODE> signifies that +the default pathnames are to be inserted at the specified position in +the list. The keyword <CODE>:last</CODE> allows to insert the currently active +paths at the indicated position. Since this allows to insert the +built-in paths at any position and incrementally adding new paths to +the search path, this version of the command ist more flexible than +the first version. +<P> +<P> +<A NAME="sort-rule"></A> +<BLOCKQUOTE><CODE> +<PRE> +(sort-rule pattern replacement [:run level] [:again]) +</PRE> +</CODE></BLOCKQUOTE> +<P>Defines a keyword mapping rule that can be used to generate the +<EM>sort key</EM> of an index entry from the <EM>merge key</EM>. This key is +used to sort the index entries lexicographically after they have been +merged using the merge key. +<P>The argument <CODE>:run</CODE> indicates that this rule is only in effect +a the specified <EM>level</EM> (default is level 0). For a detailed +discussion on the definition of sort rules for different layers refer +to the documentation about the new sorting scheme +(<CODE>new-sort-rules</CODE>) that comes with this distribution. +<P>See command <CODE>merge-rule</CODE> for more information about keyword +rules. +<P> +<P> +<P> +<A NAME="use-rule-set"></A> +<BLOCKQUOTE><CODE> +<PRE> +(use-rule-set [:run phase] + [:rule-set ( <rule-set>... )) +</PRE> +</CODE></BLOCKQUOTE> +<P>This command instantiates the gives rule sets to be in effect at +sorting phase <CODE>phase</CODE>. The order of the rule sets given with +argument <CODE>:rule-set</CODE> is significant. Rule set entries of rule set +appearing at the beginning of the list override entries in rule sets +at the end of the list. +<P>The following example declares that in phase 0 the rule sets +<CODE>din5007</CODE> and <CODE>isolatin1-tolower</CODE> should be active, whereas in +phase 2 the other rule sets have to be applied. +<P> +<PRE> + (use-rule-set :run 0 + :rule-set ("din5007" "isolatin1-tolower")) + + (use-rule-set :run 1 + :rule-set ("resolve-umlauts" + "resolve-sharp-s" + "isolatin1-tolower" + )) +</PRE> +<P>For a discussion on rule sets refer to command <CODE>define-rule-set</CODE>. +<P> +<P> +<P> +<H2><A NAME="ss3.2">3.2 Markup Commands</A> +</H2> + +<P> +<P>The following commands can be used to define the markup of the index. +They don't have any influence on the indexing process. Since the +markup scheme is characterized by the concept of <EM>environments</EM>, +the syntax and naming scheme of all commands follows a simple +structure. +<P>The commands can be separated into <EM>environment</EM> and +<EM>list-environment</EM> commands. All commands of the first group +support the keyword arguments <CODE>:open</CODE> and <CODE>:close</CODE>, whereas the +second group additionally supports the keyword argument <CODE>:sep</CODE>. If +one of these keyword arguments is missing, the default markup tag is +<EM>always</EM> the empty tag. The <CODE>:open</CODE> tag is always printed before +the object itself and the <CODE>:close</CODE> tag is always printed after the +object has been printed. If a list is printed the <CODE>:sep</CODE>tag is +printed between two elements of the list but not before the first +element, or after the last one. All commands dealing with a list have +the suffix `<CODE>-list</CODE>' as part of their command name. +<P>Since the number of commands and the heavy usage of <EM>default</EM> and +<EM>specialized</EM> tags makes the markup somehow complex (but very +powerful) we have added a mechanism to trace the markup tags +<SF>xindy</SF> omits during its markup phase with the command +<CODE>markup-trace</CODE>. +<P>Here follows the list of markup commands in alphabetical order with +some of the commands grouped together. +<P> +<P> +<A NAME="markup-attribute-group"></A> +<A NAME="markup-attribute-group-list"></A> +<BLOCKQUOTE><CODE> +<PRE> +(markup-attribute-group-list [:open string] [:close string] + [:sep string]) + +(markup-attribute-group [:open string] [:close string] + [:group group-num]) +</PRE> +</CODE></BLOCKQUOTE> +<P>Location class groups consist of lists of attribute groups. The markup +of this list can be defined with the command +<CODE>markup-attribute-group-list</CODE>. +<P>To allow different markup for different attribute groups the command +<CODE>markup-attribute-group</CODE> can be specialized on the group number +with the keyword argument <CODE>:group</CODE> which must be an integer number. +E.g., given are the groups <CODE>("definition" "theorem")</CODE> and +<CODE>("default")</CODE> with group numbers 0 and 1, then +<P> +<PRE> + (markup-attribute-group :open "<group0>" :close "</group0>" + :group 0) + + (markup-attribute-group :open "<group1>" :close "</group1>" + :group 1) +</PRE> +<P>can be used to assign different markup for both groups in a SGML-based +language. +<P> +<P> +<A NAME="markup-crossref-layer"></A> +<A NAME="markup-crossref-layer-list"></A> +<A NAME="markup-crossref-list"></A> +<BLOCKQUOTE><CODE> +<PRE> +(markup-crossref-list [:open string] [:close string] + [:sep string] + [:class crossref-class]) + +(markup-crossref-layer-list [:open string] [:close string] + [:sep string] + [:class crossref-class]) + +(markup-crossref-layer [:open string] [:close string] + [:class crossref-class]) +</PRE> +</CODE></BLOCKQUOTE> +<P>A crossref class group contains cross references of the same class. +The separator between the classes is defined with the +<CODE>(markup-locclass-list :sep)</CODE>-parameter. A list of cross references +can be tagged with the command <CODE>markup-crossref-list</CODE> that +specializes on the <CODE>:class</CODE> argument. +<P>Each cross reference is determined by a list of layers indicating +the target of the cross reference. To define a suitable markup for +such a list the command <CODE>markup-crossref-layer-list</CODE> can be used. +<P>Each layer of a cross reference can be assigned two tags that +specialize on the class of the reference, like all other commands. +<P>A suitable markup for a cross reference class <CODE>see</CODE> within LaTeX2e +could look like that: +<P> +<PRE> + (markup-crossref-list :class "see" :open "\emph{see} " + :sep "; ") + (markup-crossref-layer-list :class "see" :sep ",") + (markup-crossref-layer :class "see" + :open "\textbf{" :close "}") +</PRE> +<P>An example output could look like +<P> +<BLOCKQUOTE> +... <EM>see</EM> <B>house</B>; <B>garden</B>,<B>winter</B>; <B>greenhouse</B> +</BLOCKQUOTE> +<P> +<P> +<A NAME="markup-index"></A> +<BLOCKQUOTE><CODE> +<PRE> +(markup-index [:open string] [:close string] + [ :flat | :tree | :hierdepth depth ]) +</PRE> +</CODE></BLOCKQUOTE> +<P>Defines the markup tags that enclose the whole index via the +<CODE>:open</CODE> and <CODE>:close</CODE> parameters. Examples: +<P> +<PRE> + (markup-index :open "Here comes the index~n" + :close "That's all folks!~n") +</PRE> +<P>defines that the <CODE>:open</CODE> string is printed before the rest of the +index and the <CODE>:close</CODE> string appears after the index is printed. +<P>Additionally one can specify the form of the generated index. It is +possible to produce flat indexes by specifying the switch <CODE>:flat</CODE>, +to generate a tree with the <CODE>:tree</CODE> switch or any kind of mixture +between both by specifying the depth up to which trees shall be built +with the parameter <CODE>:hierdepth</CODE>. Its argument <CODE>depth</CODE> is the +number of layers that can be formed into a tree. Therefore <CODE>:flat</CODE> +is an abbrevation of <CODE>:hierdepth 0</CODE> and <CODE>:tree</CODE> is an +abbrevation of <CODE>:hierdepth max-depth</CODE>, with <CODE>max-depth</CODE> being +the maximum number of layers a keyword has. An example: the keywords +<P> +<PRE> + ("tree" "binary" "AVL") + ("tree" "binary" "natural") +</PRE> +<P>can be transformed in the following ways: +<P>A flat index (<CODE>:flat</CODE> or <CODE>:hierdepth 0</CODE>) +<P> +<PRE> + tree binary AVL + tree binary natural +</PRE> +<P>with <CODE>:hierdepth 1</CODE> +<P> +<PRE> + tree + binary AVL + binary natural +</PRE> +<P>and a tree (<CODE>:tree</CODE> or <CODE>:hierdepth</CODE> > 1) +<P> +<PRE> + tree + binary + AVL + natural +</PRE> +<P>Most often one will create tree-like indexes or ones that are flat. +<P> +<P> +<A NAME="markup-indexentry-list"></A> +<A NAME="markup-indexentry"></A> +<BLOCKQUOTE><CODE> +<PRE> +(markup-indexentry-list [:open string] [:close string] + [:sep string] [:depth integer]) + +(markup-indexentry [:open string] [:close string] + [:depth integer]) +</PRE> +</CODE></BLOCKQUOTE> +<P>Letter groups consists of a list of index entries. The command +<CODE>markup-indexentry-list</CODE> defines the markup of these lists. The +markup can be specialized on the depth if the index is hierarchically +organized. The command +<P> +<PRE> + (markup-indexentry-list :open "\begin{IdxentList}" + :close "\end{IdxentList}" + :sep "~n") +</PRE> +<P>defines that the index entries of all layers are wrapped into the +given markup tags. If additionally +<P> +<PRE> + (markup-indexentry-list :open "\begin{IdxentListII}" + :close "\end{IdxentListII}" + :sep "~n" + :depth 2) +</PRE> +<P>is defined, all index entry lists of all layers (except layer 2) are +tagged according to the first specification, and the index entry list +within depth 2 are tagged according to the second rule. +<P>The command <CODE>markup-indexentry</CODE> defines the markup of an index entry +at a given depth. Since index entries may also contain subentries and +the markup for subentries may be different in different layers, the +optional keyword argument <CODE>:depth</CODE> can be used to assign different +markup for different layers. If depth is ommited the default markup +for all possible depths is defined. The top-most index entries have +depth 0. +<P> +<PRE> + (markup-indexentry :open "\begin{Indexentry}" + :close "\end{Indexentry}") +</PRE> +<P>defines that the index entries of all layers are wrapped into the +given markup tags. If additionally +<P> +<PRE> + (markup-indexentry :open "\begin{IndexentryII}" + :close "\end{IndexentryII}" + :depth 2) +</PRE> +<P>is defined, all index entries of all layers (except layer 2) are tagged +according to the first specification, and the index entries with depth +2 are tagged according to the second rule. +<P> +<P> +<A NAME="markup-keyword-list"></A> +<A NAME="markup-keyword"></A> +<BLOCKQUOTE><CODE> +<PRE> +(markup-keyword-list [:open string] [:close string] + [:sep string] [:depth integer]) + +(markup-keyword [:open string] [:close string] + [:depth integer]) +</PRE> +</CODE></BLOCKQUOTE> +<P> +<P>The print key of an index entry consists of a list of strings. The +markup of this list can be defined with the command +<CODE>markup-keyword-list</CODE>. The keyword argument <CODE>:depth</CODE> may be +specified to define the markup of the list at a particular depth. +<P>The keyword of an index entry consists of a list of strings. Each of +these components is tagged with the strings defined with the command +<CODE>markup-keyword</CODE>. Since we maybe need different markup for +different layers, the optional keyword argument can be used to +specialize this markup for some depth. +<P> +<P> +<A NAME="markup-letter-group-list"></A> +<A NAME="markup-letter-group"></A> +<BLOCKQUOTE><CODE> +<PRE> +(markup-letter-group-list [:open string] [:close string] + [:sep string]) + +(markup-letter-group [:open string] [:close string] [:group group-name] + [:open-head string] [:close-head string] + [:upcase | :downcase | :capitalize]) +</PRE> +</CODE></BLOCKQUOTE> +<P>The first command defines the markup of the letter group with name +<CODE>group-name</CODE>. Since the markup of letter groups often contains the +name of the letter group as a part of it, the other keyword arguments +allow an additional markup for this group name. If one of the +parameters <CODE>:open-head</CODE> and <CODE>:close-head</CODE> is specified +additional markup is added as can be described as follows: +<P> +<PRE> + <OPEN> + IF (:open-head OR :close-head) + <OPEN-HEAD> + transformer-of(<GROUP-NAME>) + <CLOSE-HEAD> + FI + <INDEXENTRIES...> + <CLOSE> +</PRE> +<P>Here, <CODE>transformer-of</CODE> is a function that possibly transforms the +string representing the group name into another string. The +transformers we currently support can be specified with the switches +<CODE>:upcase</CODE>, <CODE>:downcase</CODE> and <CODE>:capitalize</CODE> which result in the +corresponding string conversions. If none of them is specified no +transformation is done at all. +<P>The command <CODE>markup-letter-group</CODE> defines the markup of the list of +letter groups. +<P> +<P> +<A NAME="markup-locclass-list"></A> +<BLOCKQUOTE><CODE> +<PRE> +(markup-locclass-list [:open string] [:close string] + [:sep string]) +</PRE> +</CODE></BLOCKQUOTE> +<P>Each index entry contains a list of location class groups. This markup +command can be used to define the markup of this list. +<P> +<P> +<A NAME="markup-locref"></A> +<BLOCKQUOTE><CODE> +<PRE> +(markup-locref [:open string] [:close string] + [:class locref-class] + [:attr attribute] + [:depth integer]) +</PRE> +</CODE></BLOCKQUOTE> +<P>The markup tags of a location reference can be specialized on the +three arguments <CODE>:class</CODE>, <CODE>:attr</CODE> and additionally, if +sub-references are used, <CODE>:depth</CODE>. Most often one will only use a +tag depending on the attribute. For example, all location references +with the attribute <CODE>definition</CODE> should appear in a font series like +bold, emphasizing the importance of this location reference; those +with the attribute <CODE>default</CODE> in font shape italic. The markup in +this case would not specialize on the depth or any particular class. A +valid definition, suitable for a usage within HTML, could look like +this. +<P> +<PRE> + (markup-locref :open "<B>" :close "</B>" :attr "definition") + (markup-locref :open "<I>" :close "</I>" :attr "default") +</PRE> +<P> +<P> +<A NAME="markup-locref-class"></A> +<BLOCKQUOTE><CODE> +<PRE> +(markup-locref-class [:open string] [:close string] + [:class locref-class]) +</PRE> +</CODE></BLOCKQUOTE> +<P>All location references of a particular location reference class can +be wrapped into the tags defined by this command. It specializes on +the keyword argument <CODE>:class</CODE>. +<P> +<P> +<A NAME="markup-locref-layer-list"></A> +<A NAME="markup-locref-layer"></A> +<BLOCKQUOTE><CODE> +<PRE> +(markup-locref-layer [:open string] [:close string] + [:depth integer] [:layer integer] + [:class locref-class]) + +(markup-locref-layer-list [:open string] [:close string] + [:sep string] + [:depth integer] + [:class locref-class]) +</PRE> +</CODE></BLOCKQUOTE> +<P>A location reference contains a list of location reference layers. The +second markup command can be used to markup this list. It specializes +on the class of the location references and the depth (if +sub-references are used). +<P>The first command allows to tag the elements of a layer list +differently. The first element of this list can is specialisable with +<CODE>:layer 0</CODE>, the next element with <CODE>:layer 1</CODE>, etc. See the next +example for an example. +<P> +<P> +<A NAME="markup-locref-list"></A> +<BLOCKQUOTE><CODE> +<PRE> +(markup-locref-list [:open string] [:close string] [:sep string] + [:depth integer] [:class locref-class]) +</PRE> +</CODE></BLOCKQUOTE> +<P>An attribute group contains a list of location references and/or +ranges. Additionally a layered location reference itself may contain +sub-references that are stored as a list of location references. We +specialize the markup for these lists on the location class they +belong to with the keyword argument <CODE>:class</CODE>, and on <CODE>:depth</CODE> +that specializes on the different subentry levels when using +location references with sub-references. +<P>Given is a list of location references that have the class description +<P> +<PRE> + (define-location-class "Appendix" + ("ALPHA" :sep "-" "arabic-numbers") + :hierdepth 2) +</PRE> +<P>This location class has instances like <CODE>A-1</CODE>, <CODE>B-5</CODE>, etc. The +keyword argument <CODE>:hierdepth 2</CODE> informs <SF>xindy</SF> to markup these +location references in a hierarchical form. With the commands +<P> +<PRE> + (markup-locref-list :sep "; " + :depth 0 :class "Appendix") + (markup-locref-list :open " " :sep "," + :depth 1 :class "Appendix") + (markup-locref-layer :open "{\bf " :close "}" :layer 0 + :depth 0 :class "Appendix") +</PRE> +<P>we obtain a markup sequence for some example data that could look like +<P> +<PRE> + {\bf A} 1,2,5; {\bf B} 5,6,9; {\bf D} 1,5,8; ... +</PRE> +<P> +<P> +<P> +<A NAME="markup-range"></A> +<BLOCKQUOTE><CODE> +<PRE> +(markup-range [:open string] [:close string] [:sep string] + [:class locref-class] + [:length num] [:ignore-end]) +</PRE> +</CODE></BLOCKQUOTE> +<P>A range consists of two location references. Markup can be specified +with the <CODE>:open</CODE> and <CODE>:close</CODE> arguments and one separator given +by the argument <CODE>:sep</CODE>. +<P>Since both location references are tagged with markup defined by the +command <CODE>markup-locref</CODE> a specialization on attributes or depth is +not necessary. Specialization is allowed on the class they belong to, +because the separator between two location refences may be different +for each location class. Argument <CODE>:length</CODE> can be used to define +different markup for different lengths. In conjunction with +<CODE>:length</CODE> is may be useful not to print the second location +reference at all. For example, one wishes to markup ranges of length 1 +in the form <EM>Xf.</EM> instead of <EM>X--Y</EM>. This can be accomplished +with the switch <CODE>:ignore-end</CODE>. +<P>The markup tags for a range <EM>(X,Y)</EM> can be described as follows: +<P> +<PRE> + <OPEN> + Markup of location reference X + <SEP> + IF (not :ignore-end) + Markup of location reference Y + FI + <CLOSE> +</PRE> +<P> +<P>The following tags can be used to define a range of page numbers +(given in a location class <CODE>page-numbers</CODE>) without considering the +open and close parameters: +<P> +<PRE> + (markup-range :sep "-" :class "page-numbers") +</PRE> +<P>Location ranges then appear separated by a hyphen in a form like this: +<P> +<PRE> + ..., 5-8, 19-23, ... +</PRE> +<P> +<P> +<A NAME="markup-trace"></A> +<BLOCKQUOTE><CODE> +<PRE> +(markup-trace [:on] [:open string] [:close string]) +</PRE> +</CODE></BLOCKQUOTE> +<P>This command can be used to activate the tracing of all +markup commands <SF>xindy</SF> executes. The switch <CODE>:on</CODE> activates the +trace. If <CODE>:on</CODE> is omitted, the command line flag <CODE>-t</CODE> can be +used as well. All tags which are emitted but not yet defined +explicitly by the user are tagged with a symbolic notation indicating +the commands that must be used to define this tag. The defaults for +the keyword argument <CODE>:open</CODE> is `<CODE><</CODE>' and for <CODE>:close</CODE> is +`<CODE>></CODE>'. The beginning of an example output could look like: +<P> +<PRE> + <INDEX:OPEN> + <LETTER-GROUP-LIST:OPEN> + <LETTER-GROUP:OPEN ["a"]> + <INDEXENTRY-LIST:OPEN [0]> + <INDEXENTRY:OPEN [0]> + <KEYWORD-LIST:OPEN [0]> + <KEYWORD:OPEN [0]> + ... +</PRE> +<P>We use a simple indentation scheme to make the structure of the tags +visible. The symbolic tag <CODE><LETTER-GROUP:OPEN ["a"]></CODE> for example +indicates that the tag that can be specified with the command +<P> +<PRE> + (markup-letter-group :open "XXX" :group "a" ... ) +</PRE> +<P>is emitted at this point in the markup process. By incrementally +adding markup commands to the index, more and more tags can be defined +until the whole markup is defined. This general mechanism should allow +everyone understand the markup process. The best is to start with a +small index, define the complete markup and afterwards process the +whole index. Additionally one can enclose the symbolic tags into an +environment that is neutral to the document preparation system, such +as a comment. For TeX this could be +<P> +<PRE> + (markup-trace :open "%%" :close "~n") +</PRE> +<P>or a definition in the TeX document like +<P> +<PRE> + \def\ignore#1{} +</PRE> +<P>combined with the command +<P> +<PRE> + (markup-trace :open "\ignore{" :close "}") +</PRE> +<P> +<P> +<P> +<A NAME="raw-index"></A> <H2><A NAME="ss3.3">3.3 Raw Index Interface</A> +</H2> + +<P> +<P>This section can be skipped if the reader is not interested in +adapting <SF>xindy</SF> to a new document preparation system. +<P>The raw index is the file that represents the index that is to be +processed. Since many different document preparation systems may use +different forms of index representations, their output must be +transformed in a form readable by <SF>xindy</SF>. We also could have +written an configurable parser performing this task, but usually a +tool written with some text processing tools such as <CODE>perl</CODE>, +<CODE>sed</CODE> or <CODE>awk</CODE> can achieve the same task as well. Therefore, +adapting <SF>xindy</SF> to a completely different system can mostly be +done by writing an appropriate raw index filter. +<P>The format of the raw index interface of <SF>xindy</SF> is defined as +follows: +<P> +<A NAME="indexentry"></A> +<BLOCKQUOTE><CODE> +<PRE> +(indexentry { :key string-list [:print string-list] + | :tkey list-of-layers } + [:attr string] + { :locref string [:open-range | :close-range] + | :xref string-list } ) +</PRE> +</CODE></BLOCKQUOTE> +<P>The pseudo variable <EM>string</EM> is a sequence of characters +surrounded by double quotes, e.g. +<P> +<PRE> + "Hi, it's me" "one" "a string with two \"double quotes\"" +</PRE> +<P>are three examples of valid strings. If you need to include a +double quote as a literal character, you must quote it itself with a +backslash as shown in the third example. A <EM>string list</EM> is simply +a list of strings separated by whitespaces and surrounded by round +braces. An example of a string list is +<P> +<PRE> + ("This" "is" "a" "list" "of" "strings") +</PRE> +<P>So far about the syntax. The semantics of the different elements are +described here. +<P> +<P> +<DL> +<P> +<DT><B><CODE>:key</CODE></B><DD><P>The argument <EM>string list</EM> defines the keyword of +the index entry. It must be a list of strings, since the keyword may +consist of different layers such as <CODE>("heap" "fibonacci")</CODE>. +<P> +<DT><B><CODE>:print</CODE></B><DD><P>The optional <EM>print key</EM> defines the way the +keyword has to be printed in the markup phase. +<P> +<DT><B><CODE>:tkey</CODE></B><DD><P>Another possibility to define the keys of an +index entry is with the <CODE>:tkey</CODE> keyword argument. It can be used +instead of the <CODE>:key</CODE> and <CODE>:print</CODE> arguments. Instead of +specifying separately the key and the corresponding print key, we +define the keyword by its layers. Each layer consist of a list of one +or two strings. The first string will be interpreted as the main key, +whereas the second one will become the print key. If the print key is +ommited, the main key is taken instead. So the definition +<P> +<PRE> + :tkey (("This") ("is") ("a") ("bang" "BANG !!!")) +</PRE> +<P>is equivalent to +<P> +<PRE> + :key ("This" "is" "a" "bang") + :print ("This" "is" "a" "BANG !!!") +</PRE> +<P> +<P> +<DT><B><CODE>:locref</CODE></B><DD><P>The reference an index entry describes can be a +<EM>location reference</EM> or a <EM>cross reference</EM>. The switch +<CODE>:locref</CODE> describes a location reference. Its optional arguments +are <CODE>:open-range</CODE> and <CODE>:close-range</CODE>. The <EM>string</EM> that must +be supplied must somehow encode the location reference. It might look +like the string <CODE>"25"</CODE> representing the page number 25, or +<CODE>"Appendix-I"</CODE> representing the first appendix numbered in +uppercase roman numerals. +<P> +<DT><B><CODE>:open-range</CODE>,<CODE>:close-range</CODE></B><DD><P>These are switches that do not +take any arguments. They describe the beginning and ending of a +<EM>range</EM>, starting or ending from the location reference that is +given by the argument <CODE>:locref</CODE>. If they are supplied, the +location reference may have influence on the way ranges are build. +<P> +<DT><B><CODE>:xref</CODE></B><DD><P>These arguments choose the second alternative. The +argument <EM>string list</EM> of parameter <CODE>:xref</CODE> describes where the +index entry should point to. +<P> +<DT><B><CODE>:attr</CODE></B><DD><P>This parameter may be used to tag a location reference +with a certain attribute or it names the class of a cross reference. +It may also used to associate different markup for different +attributes in the markup phase. If this parameter is omitted or is the +empty string, the indexentry is declared to have the attribute +<CODE>default</CODE>. +<P> +</DL> +<P>Some examples: +<P> +<PRE> + (indexentry :key ("airplane") :locref "25" :attr "default") +</PRE> +<P>defines an index entry with the key `airplane' indexed on page '25'. +This index entry has the attribute <CODE>default</CODE>. +<P> +<PRE> + (indexentry :key ("house") :xref ("building") :attr "see") +</PRE> +<P>defines a cross reference with the key 'house' pointing to the term +'building'. This cross reference belongs to the cross reference class +<CODE>see</CODE>. +<P> +<PRE> + (indexentry :key ("house") :xref ("building") :open-range) +</PRE> +<P>is an invalid specification, since <CODE>:open-range</CODE> mustn't be used +together with cross references. +<P> +<P> +<P> +<HR> +<A HREF="manual-4.html">Next</A> +<A HREF="manual-2.html">Previous</A> +<A HREF="manual.html#toc3">Contents</A> +</BODY> +</HTML> diff --git a/Master/texmf-dist/doc/xindy/manual-4.html b/Master/texmf-dist/doc/xindy/manual-4.html new file mode 100644 index 00000000000..6d39d7ba240 --- /dev/null +++ b/Master/texmf-dist/doc/xindy/manual-4.html @@ -0,0 +1,230 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> + <TITLE>xindy Manual: Processing Phases</TITLE> + <LINK HREF="manual-5.html" REL=next> + <LINK HREF="manual-3.html" REL=previous> + <LINK HREF="manual.html#toc4" REL=contents> +</HEAD> +<BODY> +<A HREF="manual-5.html">Next</A> +<A HREF="manual-3.html">Previous</A> +<A HREF="manual.html#toc4">Contents</A> +<HR> +<H2><A NAME="startup-phase"></A> <A NAME="s4">4. Processing Phases</A></H2> + +<H2><A NAME="ss4.1">4.1 The Startup Phase</A> +</H2> + +<P>After the system is started, <SF>xindy</SF> reads in the index style that +is passed as a command line argument. Each <CODE>require</CODE> command is +executed and the internal data structures representing the index style +are built up. The index style must completely be read in before the +raw index can be read. +<P> +<P> +<A NAME="processing-phase"></A> <H2><A NAME="ss4.2">4.2 The Processing Phase</A> +</H2> + +<P>The processing phase starts with reading the complete raw index. The +name of the raw index file must be passed via the command line. All +index entries are read in and pre-processed. All attributes and +cross reference classes are checked if they are already known to the +system. All strings representing location references are matched +against all known location classes. Appropriate warnings are issued, +if errors are encountered. +<P>After the raw index has completely been read in, the +location references of each index entry are merged, separated and +sorted and the building of ranges takes place. This phase is the most +complex one and we will describe it in detail. +<P> +<OL> +<LI> All location references are separated according to the class +they belong to. These groups are called <EM>location class groups</EM>. +Possible groups are all defined location and crossref classes. See +the commands <CODE>define-location-class</CODE> and +<CODE>define-crossref-class</CODE> for a description how these classes can +be defined. + +The classes are sorted according to an order that can be defined with +the command <CODE>define-location-class-order</CODE>. +</LI> +<LI> The further processing of each location class group is +different for the location classes and the crossref classes. + +<UL> +<LI> Cross references are sorted lexicographically based on +the ISO-Latin alphabet. + +<A NAME="sort-merge-locrefs"></A> </LI> +<LI> To illustrate the processing of location references we assume +the following list: + +<BLOCKQUOTE> + <EM>13</EM>, <EM>14</EM>, <EM>15</EM>, <EM>18</EM>, <B>12</B>, <B>13</B>, +<B>14</B>, <B>16</B>, 14, 16 +</BLOCKQUOTE> + + +The location references in italics own the attribute `important, +those with in boldface have attribute `definition', and all others +are own the attribute `default'. Imagine, the attribute groups were +defined with the commands + +<BLOCKQUOTE><CODE> +<PRE> + (define-attribute-groups (("definition" "important") + ("default"))) + + (merge-to "definition" "default" :drop) + +</PRE> +</CODE></BLOCKQUOTE> + + +See commands <CODE>define-attributes</CODE> and <CODE>merge-to</CODE> for a +detailed description. + +The substitution rules are applied. This means that +location references <B>13</B> and <B>14</B> with attribute `important' +are <EM>substituted</EM> by the location references <EM>13</EM> and <EM>14</EM> +with attribute `definition'. Substitution means removing from the +list of location references. + +Substitution occurs because the definition of the attribute groups +implicitly defines <CODE>"definition"</CODE> <EM>substitutes</EM> +<CODE>"important"</CODE>. + +The resulting list is now + +<BLOCKQUOTE> + <EM>13</EM>, <EM>14</EM>, <EM>15</EM>, <EM>18</EM>, <B>12</B>, <B>16</B>, 14, +16 +</BLOCKQUOTE> + + +<A NAME="def merge-to"></A> The <CODE>merge-to</CODE> rules are applied. +Their meaning is to make location references appear with another +attribute as well, but only in the function of supporting the +building of ranges. They disappear after the ranges are built. The +location references that cause new location refererences to be +added are called <EM>parents</EM>, whereas the new ones are called +<EM>childs</EM>. The example rule results in the adding of all +refernces with attribute `definition' to the attribute `default' +which results in the list + +<BLOCKQUOTE> + <EM>13</EM>, <EM>14</EM>, <EM>15</EM>, <EM>18</EM>, <B>12</B>, <B>16</B>, (13), +14, (15), 16, (18) +</BLOCKQUOTE> + + +The childs are put in parenthesis since they may only be used to +build up ranges. + +For each attribute we now try to build ranges. Since the switch +<CODE>:drop</CODE> was specified we must start with the attribute +`default', because a successful merging of location references may +result in dropping the parents. This results in the range `13--16'. +The childs +(13) and (15) were used in the building of ranges, so their parents +<EM>13</EM> and <EM>15</EM> have to be removed from the list of +location references. This step would be omitted if the switch +<CODE>:drop</CODE> were not specified. After unsucessfully trying to build +more ranges and dropping the location references <EM>13</EM>, <EM>15</EM> +and (18)--which was only meant to build ranges--we obtain the list + +<BLOCKQUOTE> +<EM>14</EM>, <EM>18</EM>, <B>12</B>, <B>16</B>, 13--16 +</BLOCKQUOTE> + + +Finally the attributes are brought into the right order. In our +example the location references of the first attribute group are +merged and sorted lexicographically resulting in two attribute groups + +<BLOCKQUOTE> +(<B>12</B>, <EM>14</EM>, <B>16</B>, <EM>18</EM>) (13--16) +</BLOCKQUOTE> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</LI> +</UL> + +</LI> +</OL> +<P>After all index entries have been processed the letter groups are +formed and the index entries and location references are transformed +into tree like structures as defined in the index style. +<P> +<P> +<P> +<A NAME="markup-phase"></A> <H2><A NAME="ss4.3">4.3 The Markup Phase</A> +</H2> + +<P>After the index has completely been processed, the markup phase +traverses the tree-like structure of the index. Each step triggers the +appropriate markup events resulting in the emitting of markup tags. +<P> +<P> +<P> +<HR> +<A HREF="manual-5.html">Next</A> +<A HREF="manual-3.html">Previous</A> +<A HREF="manual.html#toc4">Contents</A> +</BODY> +</HTML> diff --git a/Master/texmf-dist/doc/xindy/manual-5.html b/Master/texmf-dist/doc/xindy/manual-5.html new file mode 100644 index 00000000000..072920545aa --- /dev/null +++ b/Master/texmf-dist/doc/xindy/manual-5.html @@ -0,0 +1,63 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> + <TITLE>xindy Manual: Index</TITLE> + <LINK HREF="manual-6.html" REL=next> + <LINK HREF="manual-4.html" REL=previous> + <LINK HREF="manual.html#toc5" REL=contents> +</HEAD> +<BODY> +<A HREF="manual-6.html">Next</A> +<A HREF="manual-4.html">Previous</A> +<A HREF="manual.html#toc5">Contents</A> +<HR> +<H2><A NAME="INDEX"></A> <A NAME="s5">5. Index</A></H2> + +<P> +<P><B>List of Commands</B> +<P> +<A HREF="manual-3.html#define-attributes">define-attributes</A><BR> +<A HREF="manual-3.html#define-alphabet">define-alphabet</A><BR> +<A HREF="manual-3.html#define-crossref-class">define-crossref-class</A><BR> +<A HREF="manual-3.html#define-letter-group">define-letter-group</A><BR> +<A HREF="manual-3.html#define-letter-groups">define-letter-groups</A><BR> +<A HREF="manual-3.html#define-location-class">define-location-class</A><BR> +<A HREF="manual-3.html#define-location-class-order">define-location-class-order</A><BR> +<A HREF="manual-3.html#define-rule-set">define-rule-set</A><BR> +<A HREF="manual-3.html#define-sort-rule-orientations">define-sort-rule-orientations</A><BR> +<A HREF="manual-3.html#indexentry">indexentry</A><BR> +<A HREF="manual-3.html#markup-attribute-group">markup-attribute-group</A><BR> +<A HREF="manual-3.html#markup-attribute-group-list">markup-attribute-group-list</A><BR> +<A HREF="manual-3.html#markup-crossref-layer">markup-crossref-layer</A><BR> +<A HREF="manual-3.html#markup-crossref-layer-list">markup-crossref-layer-list</A><BR> +<A HREF="manual-3.html#markup-crossref-layer">markup-crossref-layer</A><BR> +<A HREF="manual-3.html#markup-index">markup-index</A><BR> +<A HREF="manual-3.html#markup-indexentry">markup-indexentry</A><BR> +<A HREF="manual-3.html#markup-indexentry-list">markup-indexentry-list</A><BR> +<A HREF="manual-3.html#markup-keyword">markup-keyword</A><BR> +<A HREF="manual-3.html#markup-keyword-list">markup-keyword-list</A><BR> +<A HREF="manual-3.html#markup-letter-group">markup-letter-group</A><BR> +<A HREF="manual-3.html#markup-letter-group-list">markup-letter-group-list</A><BR> +<A HREF="manual-3.html#markup-locclass-list">markup-locclass-list</A><BR> +<A HREF="manual-3.html#markup-locref">markup-locref</A><BR> +<A HREF="manual-3.html#markup-locref-class">markup-locref-class</A><BR> +<A HREF="manual-3.html#markup-locref-layer">markup-locref-layer</A><BR> +<A HREF="manual-3.html#markup-locref-layer-list">markup-locref-layer-list</A><BR> +<A HREF="manual-3.html#markup-locref-list">markup-locref-list</A><BR> +<A HREF="manual-3.html#markup-range">markup-range</A><BR> +<A HREF="manual-3.html#markup-trace">markup-trace</A><BR> +<A HREF="manual-3.html#merge-rule">merge-rule</A><BR> +<A HREF="manual-3.html#merge-to">merge-to</A><BR> +<A HREF="manual-3.html#require">require</A><BR> +<A HREF="manual-3.html#searchpath">searchpath</A><BR> +<A HREF="manual-3.html#sort-rule">sort-rule</A><BR> +<A HREF="manual-3.html#use-rule-set">use-rule-set</A><P> +<P> +<P> +<HR> +<A HREF="manual-6.html">Next</A> +<A HREF="manual-4.html">Previous</A> +<A HREF="manual.html#toc5">Contents</A> +</BODY> +</HTML> diff --git a/Master/texmf-dist/doc/xindy/manual-6.html b/Master/texmf-dist/doc/xindy/manual-6.html new file mode 100644 index 00000000000..dfbf33ccc91 --- /dev/null +++ b/Master/texmf-dist/doc/xindy/manual-6.html @@ -0,0 +1,53 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> + <TITLE>xindy Manual: References</TITLE> + <LINK HREF="manual-5.html" REL=previous> + <LINK HREF="manual.html#toc6" REL=contents> +</HEAD> +<BODY> +Next +<A HREF="manual-5.html">Previous</A> +<A HREF="manual.html#toc6">Contents</A> +<HR> +<H2><A NAME="s6">6. References</A></H2> + +<P> +<P>The following books and papers were referenced in this document. +<P> +<OL> +<LI> D. E. Knuth, <EM>The TeXbook</EM>, Addison-Wesley, 1984 +</LI> +<LI> Leslie Lamport, LaTeX <EM>A Document Preparation System</EM>, +Addison-Wesley, 1986 +</LI> +<LI> Joachim Schrod, <EM>An International Version of MakeIndex</EM>, +Cahiers GUTenberg, 10, p81-90, 1991 +</LI> +<LI> Pehong Chen and Michael A. Harrison, <EM>Automating Index +Preparation</EM>, TR-87/347, University of California Berkeley, 1987 +<A NAME="makeindex"></A> +</LI> +<LI> Roger Kehr, <SF>xindy</SF>, <EM>Ein Flexibles Indexierungssystem</EM>, +Studienarbeit FB Informatik, TH-Darmstadt, November 1995. +</LI> +<LI> Joachim Schrod and Gabor Herr, <EM>MakeIndex Version 3.0</EM>, +Technical University Darmstadt, 1991 +</LI> +<LI> Roger Kehr, <SF>xindy</SF> -- <EM>A Flexible Indexing System</EM>, +Technical Report No. 11/1997, Computer Science Department, Darmstadt +University of Technology, 1997. Also accessible from the <SF>xindy</SF> +homepage. +</LI> +<LI> Roger Kehr, <SF>xindy</SF> -- <EM>A Flexible Indexing System</EM>, +Proceedings of the EuroTeX'98, St. Malo, France, March 1998 +</LI> +</OL> +<P> +<HR> +Next +<A HREF="manual-5.html">Previous</A> +<A HREF="manual.html#toc6">Contents</A> +</BODY> +</HTML> diff --git a/Master/texmf-dist/doc/xindy/manual-7.html b/Master/texmf-dist/doc/xindy/manual-7.html new file mode 100644 index 00000000000..c1c26ed507a --- /dev/null +++ b/Master/texmf-dist/doc/xindy/manual-7.html @@ -0,0 +1,53 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> + <TITLE>xindy Manual: References</TITLE> + <LINK HREF="manual-6.html" REL=previous> + <LINK HREF="manual.html#toc7" REL=contents> +</HEAD> +<BODY> +Next +<A HREF="manual-6.html">Previous</A> +<A HREF="manual.html#toc7">Contents</A> +<HR> +<H2><A NAME="s7">7. References</A></H2> + +<P> +<P>The following books and papers were referenced in this document. +<P> +<OL> +<LI> D. E. Knuth, <EM>The TeXbook</EM>, Addison-Wesley, 1984 +</LI> +<LI> Leslie Lamport, LaTeX <EM>A Document Preparation System</EM>, +Addison-Wesley, 1986 +</LI> +<LI> Joachim Schrod, <EM>An International Version of MakeIndex</EM>, +Cahiers GUTenberg, 10, p81-90, 1991 +</LI> +<LI> Pehong Chen and Michael A. Harrison, <EM>Automating Index +Preparation</EM>, TR-87/347, University of California Berkeley, 1987 +<A NAME="makeindex"></A> +</LI> +<LI> Roger Kehr, <SF>xindy</SF>, <EM>Ein Flexibles Indexierungssystem</EM>, +Studienarbeit FB Informatik, TH-Darmstadt, November 1995. +</LI> +<LI> Joachim Schrod and Gabor Herr, <EM>MakeIndex Version 3.0</EM>, +Technical University Darmstadt, 1991 +</LI> +<LI> Roger Kehr, <SF>xindy</SF> -- <EM>A Flexible Indexing System</EM>, +Technical Report No. 11/1997, Computer Science Department, Darmstadt +University of Technology, 1997. Also accessible from the <SF>xindy</SF> +homepage. +</LI> +<LI> Roger Kehr, <SF>xindy</SF> -- <EM>A Flexible Indexing System</EM>, +Proceedings of the EuroTeX'98, St. Malo, France, March 1998 +</LI> +</OL> +<P> +<HR> +Next +<A HREF="manual-6.html">Previous</A> +<A HREF="manual.html#toc7">Contents</A> +</BODY> +</HTML> diff --git a/Master/texmf-dist/doc/xindy/manual.html b/Master/texmf-dist/doc/xindy/manual.html new file mode 100644 index 00000000000..344b0e19cab --- /dev/null +++ b/Master/texmf-dist/doc/xindy/manual.html @@ -0,0 +1,73 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> + <TITLE>xindy Manual</TITLE> + <LINK HREF="manual-1.html" REL=next> + + +</HEAD> +<BODY> +<A HREF="manual-1.html">Next</A> +Previous +Contents +<HR> +<H1><SF>xindy</SF> Manual</H1> + +<H2>Roger Kehr</H2> +<H3>Computer Science Department, Technical University of Darmstadt</H3> + and +<H2>Joachim Schrod</H2> +<H3>Joachim Schrod Net & Publication Consultance GmbH</H3> +$Revision: 1.19 $, $Date: 2004/05/24 21:43:16 $, +for xindy version 2.2 +<P><HR> +<EM>This is the manual of the indexing system <SF>xindy</SF>. <SF>xindy</SF> +is a powerful and flexible framework for generating indexes for many +kinds of documents. This document describes the <SF>xindy</SF> processing +model, terminology, and language, but not invocation and standard modules. +The most up-to-date version can be obtained from the <SF>xindy</SF> Web Site at +<A HREF="http://www.xindy.org/">http://www.xindy.org/</A>.</EM> +<HR> +<P> +<A HREF="manual-5.html#INDEX">Index of all xindy commands</A><P> +<P> +<P> +<P> +<H2><A NAME="toc1">1.</A> <A HREF="manual-1.html">About this Manual</A></H2> + +<P> +<H2><A NAME="toc2">2.</A> <A HREF="manual-2.html">How the Index Processor Works</A></H2> + +<UL> +<LI><A HREF="manual-2.html#ss2.1">2.1 Data Flow</A> +<LI><A HREF="manual-2.html#ss2.2">2.2 General Concepts and Terms</A> +</UL> +<P> +<H2><A NAME="toc3">3.</A> <A HREF="manual-3.html">Command List</A></H2> + +<UL> +<LI><A HREF="manual-3.html#ss3.1">3.1 Processing Commands</A> +<LI><A HREF="manual-3.html#ss3.2">3.2 Markup Commands</A> +<LI><A HREF="manual-3.html#ss3.3">3.3 Raw Index Interface</A> +</UL> +<P> +<H2><A NAME="toc4">4.</A> <A HREF="manual-4.html">Processing Phases</A></H2> + +<UL> +<LI><A HREF="manual-4.html#ss4.1">4.1 The Startup Phase</A> +<LI><A HREF="manual-4.html#ss4.2">4.2 The Processing Phase</A> +<LI><A HREF="manual-4.html#ss4.3">4.3 The Markup Phase</A> +</UL> +<P> +<H2><A NAME="toc5">5.</A> <A HREF="manual-5.html">Index</A></H2> + +<P> +<H2><A NAME="toc6">6.</A> <A HREF="manual-6.html">References</A></H2> + +<HR> +<A HREF="manual-1.html">Next</A> +Previous +Contents +</BODY> +</HTML> diff --git a/Master/texmf-dist/doc/xindy/mappings.gif b/Master/texmf-dist/doc/xindy/mappings.gif Binary files differnew file mode 100644 index 00000000000..be58722f4d9 --- /dev/null +++ b/Master/texmf-dist/doc/xindy/mappings.gif diff --git a/Master/texmf-dist/doc/xindy/style-tutorial-1.html b/Master/texmf-dist/doc/xindy/style-tutorial-1.html new file mode 100644 index 00000000000..890b1ecd8b9 --- /dev/null +++ b/Master/texmf-dist/doc/xindy/style-tutorial-1.html @@ -0,0 +1,92 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> + <TITLE>XINDY Style File Tutorial: About xindy</TITLE> + <LINK HREF="style-tutorial-2.html" REL=next> + + <LINK HREF="style-tutorial.html#toc1" REL=contents> +</HEAD> +<BODY> +<A HREF="style-tutorial-2.html">Next</A> +Previous +<A HREF="style-tutorial.html#toc1">Contents</A> +<HR> +<H2><A NAME="s1">1. About <SF>xindy</SF></A></H2> + +<P><SF>xindy</SF> means fle<B>x</B>ible <B>ind</B>exing s<B>y</B>stem. It is an +indexing system that can be used to generate book-like indexes for +arbitrary document preparation systems. This term includes systems +such as TeX [1] and LaTeX [2], the Nroff-family +or SGML-based systems (e.g. HTML) that process some kind of text and +generate indexing information. It is not fixed to any specific system, +but can be configured for a wide variety of purposes. +<P>Authors sometimes wish to include an index into their document, but +very often their document preparation systems aren't able to produce +indexes on their own, or the capabilities of the built-in indexers are +insufficient and produce ugly looking results. More often they use +separate specialized tools for this purpose, sometimes called +<EM>index processors</EM>. +<P>In comparison to other index processors <SF>xindy</SF> has several +powerful features that make it an ideal framework for describing and +generating complex indexes. Its most interesting features are +<P> +<DL> +<P> +<DT><B>Internationality</B><DD><P><SF>xindy</SF> can be configured to process indexes +for many languages with different letter sets and different sorting +rules. For example, many roman languages such as Italian, French, +Portuguese or Spanish contain accentuated letters such as À, +Á, ñ. Other languages from northern Europe have letters +like Ä, Ø, æ or ß which often can't even be +processed by many index processors let alone sorting them correctly +into an index. The <SF>xindy</SF> system can be configured to process +these alphabets by defining <EM>sort</EM> and <EM>merge rules</EM> that allow +expressing language specific rules. One example of such a rule would +be +<P> +<BLOCKQUOTE><CODE> +<PRE> +(sort-rule "ä" "ae") +</PRE> +</CODE></BLOCKQUOTE> +<P>defining that a word containing the umlaut-a will be sorted as if it +contained the letters <CODE>ae</CODE> instead. This is one form of how the +umlaut-a ("ä") is sorted into german indexes. With an appropriate set +of rules on can express the complete rules of a specific language. +<P> +<DT><B>User Definable Location Types</B><DD><P>Locations are the entities an +index entry points to. Often used locations are <EM>page numbers</EM>, +<EM>section numbers</EM>, etc. <SF>xindy</SF> allows to define new kinds of +types to be composed of basic entities like arabic numbers, roman +numerals, letters, etc. which can be used to describe new index types. +Examples of these entities can be books that have a page numbering +scheme that starts from 1 for each new chapter resulting in page +numbers of the form <EM>1-13, 2-15, 2-20</EM>, etc. This type of locations +can often be found in computer manuals. A more complex structure is +represented by the locations <EM>Psalm 46, 1-8</EM> and <EM>Genesis 1, +31</EM>. Even the structure of bible verses can be described allowing +<SF>xindy</SF> to correctly sort and process indexes for documents with a +completely different structure. +<P> +<DT><B>Highly Configurable Markup</B><DD><P>Since a index processor is only one +component in a document preparation system it ought to fit smoothly +into the complete environment. Many text processing systems use the +concept of <EM>environments</EM> that can be used to describe the markup +of the text entities. Our approach is based on this concept which has +proved to be expressive enough for most applications. As an example +one can view systems such as TeX, SGML and its instance HTML, GNU +Info, RTF and the Nroff-familiy of document formatters. The markup of +an index can be defined for all of these systems in a very comfortable +though extremly powerful way. +<P> +</DL> +<P> +<P> +<P> +<HR> +<A HREF="style-tutorial-2.html">Next</A> +Previous +<A HREF="style-tutorial.html#toc1">Contents</A> +</BODY> +</HTML> diff --git a/Master/texmf-dist/doc/xindy/style-tutorial-2.html b/Master/texmf-dist/doc/xindy/style-tutorial-2.html new file mode 100644 index 00000000000..b5313e59d72 --- /dev/null +++ b/Master/texmf-dist/doc/xindy/style-tutorial-2.html @@ -0,0 +1,361 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> + <TITLE>XINDY Style File Tutorial: A Basic Introduction</TITLE> + <LINK HREF="style-tutorial-3.html" REL=next> + <LINK HREF="style-tutorial-1.html" REL=previous> + <LINK HREF="style-tutorial.html#toc2" REL=contents> +</HEAD> +<BODY> +<A HREF="style-tutorial-3.html">Next</A> +<A HREF="style-tutorial-1.html">Previous</A> +<A HREF="style-tutorial.html#toc2">Contents</A> +<HR> +<H2><A NAME="s2">2. A Basic Introduction</A></H2> + +<P>This section incrementally introduces the most important aspects of +the system. After reading this chapter you should be able to specify +style files for +about 80% of the commonly used indexes. The examples are demonstrated +with a TeX markup so one can easily typeset the results <SF>xindy</SF> +produces. You need LaTeX and the ISO-Latin enhancements that come +with the <CODE>inputenc</CODE> package to run the following examples. Also the +<SF>xindy</SF> system must already be installed. +<P> +But this tutorial doesn't reflect real life any more. The concepts are +introduced below to explain them, but actual usage is probably +different. In particular, you should not expect to specify sort rules +by hand; usually one uses the language modules for that. Same way, +xindy standard modules provide lots of markup functionality that you +need for your documents, and can be used as a starting point. +Nevertheless, let's continue with the explanation of <sf>xindy</sf>'s +style file language. +<P> +<H2><A NAME="ss2.1">2.1 Running <SF>xindy</SF></A> +</H2> + +<P>Create a new directory somewhere and copy some files from the +distribution directory <CODE>doc/style-tutorial/</CODE> by typing +<P> +<BLOCKQUOTE><CODE> +<PRE> +eg$ mkdir tutorial +eg$ cd tutorial +eg$ cp <distrib-dir>/doc/style-tutorial/*.raw . +eg$ cp <distrib-dir>/doc/style-tutorial/*.tex . +</PRE> +</CODE></BLOCKQUOTE> +<P>with <CODE>distrib-dir</CODE> replaced by the actual location. Now create a +file <CODE>style1.xdy</CODE> with the following content: +<P> +<BLOCKQUOTE><CODE> +<PRE> +;; This is a first example using `xindy'. + +(define-location-class "page-numbers" ("arabic-numbers")) +(define-attributes (("definition" "usage"))) +</PRE> +</CODE></BLOCKQUOTE> +<P>Now run <SF>xindy</SF> by typing +<P> +<BLOCKQUOTE><CODE> +<PRE> +eg$ xindy -t ex1.xlg -M style1 -I xindy ex1.raw +</PRE> +</CODE></BLOCKQUOTE> +<P>You should see something like +<P> +<BLOCKQUOTE><CODE> +<PRE> +Opening logfile "ex1.xlg" (done) +Reading indexstyle... +Loading module "style1.xdy"... +Finished loading module "style1.xdy". +Finished reading indexstyle. +Finalizing indexstyle... (done) + +Reading raw-index "ex1.raw"... +Finished reading raw-index. + +Processing index... [10%] [20%] [30%] [40%] [50%] [60%] [70%] [80%] [90%] [100%] +Finished processing index. + +Writing markup... [10%] [20%] [30%] [40%] [50%] [60%] [70%] [80%] [90%] [100%] +Markup written into file "ex1.ind". +</PRE> +</CODE></BLOCKQUOTE> +<P><SF>xindy</SF> has now successfully compiled the index <CODE>ex1.raw</CODE> using +your index style <CODE>style1.xdy</CODE>. The result is now stored in file +<CODE>ex1.ind</CODE>. You can view this file but currently it only contains an +unreadable mix of data. +<P>But now let's come back to our index style. The syntax of the command +is in a Lisp-like form with lots of braces, looking a little bit +weird, but you'll soon get used to it. What is the meaning of the two +commands we specified? The first command informed <SF>xindy</SF> that we +like to process page numbers. We do this by defining a new +<EM>location class</EM> named <CODE>page-numbers</CODE>. The page numbers consist +of <CODE>arabic-numbers</CODE> as we might expect but this is not necessarily +true---imagine your page numbers consisted of roman numerals instead. +When reading the <EM>raw index</EM> contained in file <CODE>ex1.raw</CODE> +<SF>xindy</SF> checks all locations if they match all known location +classes. Since in our example the only known location class is the +class of page numbers which are written using arabic digits, all +locations will be checked if they are correct page numbers. +<P>The second command tells <SF>xindy</SF> that we use two types of +attributes for location references. Most often the locations in an +index denote different meanings. For example, in mathematical texts +one will distinguish the <EM>definition</EM> of a mathematical term from +its <EM>usage</EM>. Sometimes these are typeset using different font +shapes such as <EM>italic</EM> or font series such as <B>boldface</B>. Each +location has an associated attribute which, if it is unspecified, +defaults to the attribute <CODE>default</CODE>. With this command you have +made these attributes known to the system, which makes it possible to +assign different markup to these attributes later on. +<P> +<P> +<H2><A NAME="ss2.2">2.2 Adding some Markup</A> +</H2> + +<P>Until now you haven't seen something exciting, so its time to specify +some markup. Add the following lines to our index style: +<P> +<BLOCKQUOTE><CODE> +<PRE> +(markup-index :open "~n\begin{theindex}~n" + :close "~n\end{theindex}~n" + :tree) + +(markup-locref :class "page-numbers" :attr "definition" + :open "{\bf " :close "}") + +(markup-locclass-list :open "\quad{}") +(markup-locref-list :sep ", ") +</PRE> +</CODE></BLOCKQUOTE> +<P>Now run <SF>xindy</SF> again and afterwards LaTeX: +<P> +<BLOCKQUOTE><CODE> +<PRE> +eg$ xindy -t ex1.xlg -M style1 -I xindy ex1.raw +eg$ latex ex1.tex +</PRE> +</CODE></BLOCKQUOTE> +<P>You can view <CODE>ex1.dvi</CODE> with your prefered viewer (maybe <CODE>xdvi</CODE> +or something else) to get a first impression of your results. Maybe +your are not satisfied (for sure you aren't), because it still looks +very confusing. What did the above rules tell <SF>xindy</SF>? When you +view the file <CODE>ex1.ind</CODE> which is the result <SF>xindy</SF> generates, +you'll recognize some of the <EM>markup tags</EM> you specified. The +following is an excerpt of this file: +<P> +<BLOCKQUOTE><CODE> +<PRE> +\begin{theindex} + academia\quad{}{\bf 1}acafetado\quad{}{\bf 2}acalmar\quad{}{\bf 4} + açafrão\quad{}{\bf 3}indexflat\quad{}1hierarchical\quad{}2 + veryhierarchical\quad{}3impressive\quad{}4saber\quad{}{\bf 7} + sabor\quad{}{\bf 8}sabão\quad{}{\bf 6}sábado\quad{}{\bf 5} +\end{theindex} +</PRE> +</CODE></BLOCKQUOTE> +<P>First of all you'll see that the file starts with the string +<CODE>\begin{theindex}</CODE> and ends with <CODE>\end{theindex}</CODE>. +Additionally some locations are correctly enclosed into a TeX macro +that typesets them in shape boldface, whereas others aren't. The +boldface ones are all those locations from the raw index that have the +attribute <CODE>definition</CODE>. +<P>The <CODE>:open</CODE> and <CODE>:close</CODE> keyword arguments each take a string as +argument. The first one is written to the file when <EM>opening</EM> an +enviroment, whereas the latter one <EM>closes</EM> an environment. What we +have specified is the markup for the whole index (which is actually +printed only once) and the markup for all locations of class +<CODE>page-numbers</CODE> which own the attribute <CODE>definition</CODE>. Here we +have cleanly separated the structured markup from the visual one, +allowing an easy redefinition if we decide, for example, to markup the +<CODE>definition</CODE>-locations in italics instead of boldface. +<P>Some words on <EM>keyword arguments</EM> and <EM>switches</EM>. Keyword +arguments such as <CODE>:open</CODE> or <CODE>:close</CODE> always take exactly one +argument which must be positioned right after the keyword separated by +a whitespace (a blank or a tab-stop). Switches don't take any +arguments. For example, <CODE>:tree</CODE> in the command <CODE>markup-index</CODE> is +a switch and thus it does not take an argument. We will use this +terminology throughout the rest of this document. +<P>The third command caused <SF>xindy</SF> to insert a horizontal space +between the keyword and the locations (the TeX command +<CODE>\quad{}</CODE> simply inserts a specific horizontal space). The last +command caused <SF>xindy</SF> to separate all location references from +each other with a comma followed by a blank, independently of any +location class. +<P>As you already may have observed, the tilde sign (<CODE>~</CODE>) serves +as a <EM>quoting character</EM>. +<P>We continue specifying markup to get a printable result by adding more +markup: +<P> +<BLOCKQUOTE><CODE> +<PRE> +(markup-indexentry :open "~n \item " :depth 0) +(markup-indexentry :open "~n \subitem " :depth 1) +(markup-indexentry :open "~n \subsubitem " :depth 2) +</PRE> +</CODE></BLOCKQUOTE> +<P>This assigns different markup for the different hierarchy layers of +the indexentries. Our index is hierarchically organized. It contains +items which themselves contain more sub-items which also might contain +sub-sub-items. Each layer is started by a different markup which is +correctly assigned with the <CODE>:depth</CODE> keyword argument. The layers +are numbered by their <EM>depth</EM> starting from zero. +<P>Now run <SF>xindy</SF> and TeX again and enjoy your first index. It's +easy, isn't it! The output <CODE>ex1.ind</CODE> looks like the following: +<P> +<BLOCKQUOTE><CODE> +<PRE> +\begin{theindex} + + \item academia\quad{}{\bf 1} + \item acafetado\quad{}{\bf 2} + \item acalmar\quad{}{\bf 4} + \item açafrão\quad{}{\bf 3} + \item index + \subitem flat\quad{}1 + \subitem hierarchical\quad{}2 + \subitem very + \subsubitem hierarchical\quad{}3 + \subsubitem impressive\quad{}4 + \item saber\quad{}{\bf 7} + \item sabor\quad{}{\bf 8} + \item sabão\quad{}{\bf 6} + \item sábado\quad{}{\bf 5} + +\end{theindex} +</PRE> +</CODE></BLOCKQUOTE> +<P>Hmm, as you might have seen there are several problems that need +further investigation. The index contains some Portuguese words that +are printed correctly but should appear at other positions inside the +index. For instance, the word <EM>sábado</EM> should appear before the +word <EM>saber</EM> since <EM>á</EM> must be sorted as if it were simply an +<EM>a</EM>. The reason why these words are not sorted correctly is +simple---the accentuated letters have codes beyond position 128 in the +ISO-Latin alphabet. Sorting based on these codes yields this incorrect +order. +<P>What to do? We can define for each of the words containing these +special characters an explicit <EM>print key</EM>. The print key describes +the printed representation of the keyword whereas the <EM>key</EM> or +<EM>main key</EM> is used for sorting and merging. A very tedious task +which is not a very clever solution since in a non-english language +many many words contain these special cases. We follow the way +<SF>xindy</SF> offers: <EM>keyword-mappings</EM>. +<P> +<H2><A NAME="ss2.3">2.3 Keyword Mappings</A> +</H2> + +<P>What are keyword mappings for? A good question. I'll try to give some +answers. +<P> +<UL> +<LI> <EM>Merging of differently written words</EM>. Some text formatting +systems allow different writings for the same word. For example, TeX +can be used with ISO-Latin characters as well as with its own +character sequences. If a document is composed from smaller ones +possibly written by different authors using different forms of writing +the index entries, the same terms may happen to be written differently +and consequently we need a mechanism to identify them as equal. +</LI> +<LI> <EM>Specifying the sort order</EM>. As outlined in the previous +section it is really difficult and error-prone to specify the sort key +for each keyword explicitly. Sometimes the sort order is even +different for the type of the document, as it happens in German, where +two different types of sortings exist, one for everyday indexes and +one for dictionaries. The sort order actually defines the position of +arbitrary language-specific letters inside of an index. +</LI> +</UL> +<P>A detailed elaboration of these ideas can be found in the paper <EM>An +International Version of MakeIndex</EM> by Joachim Schrod [3]. +It describes the ideas that led to modifications on one of the +ancestors of the <SF>xindy</SF> system: <CODE>makeindex</CODE> [4]. +<P>The keyword mappings are as follows. The <EM>merge key</EM> is generated +from the <EM>main key</EM> with the so called <EM>merge mapping</EM>. The +merge mapping can be specified with the command <CODE>merge-rule</CODE>. The +<EM>sort key</EM> is derived from the merge key using the <EM>sort +mapping</EM> specified with the <CODE>sort-rule</CODE> command. The following +scheme shows this mapping process: +<P> +<FIGURE> +<EPS FILE="mappings.eps"> +<IMG SRC="mappings.gif"> +</FIGURE> +<P> +<P>We will use this command now to define a suitable sort mapping that +fits our needs: +<P> +<BLOCKQUOTE><CODE> +<PRE> +(sort-rule "à" "a") +(sort-rule "á" "a") +(sort-rule "ã" "a") +(sort-rule "è" "e") +(sort-rule "é" "e") +(sort-rule "ç" "c") +</PRE> +</CODE></BLOCKQUOTE> +<P>These rules define mappings from a keyword to a <EM>normalized</EM> +version. In the logfile <CODE>ex1.xlg</CODE> these transformations are logged so +that one can see how these mappings are performed. In this example we +do not need any <CODE>merge-rule</CODE> but we will see applications in +further examples. +<P>Running <SF>xindy</SF> and TeXing the result now places the indexentries +at the right positions. +<P>In reality, such sort rules tend to be much more complex, due to +the idiosynchrasies of sorting natural languages. Sort rules for +many languages are available as part of the xindy distribution, as +so-called language modules. We specify the language with the option +<code>-L</code>, e.g., in our example we could have used +<BLOCKQUOTE><CODE> +<PRE> +eg$ xindy -t ex1.xlg -M style1 -L portuguese -I xindy ex1.raw +</PRE> +</CODE></BLOCKQUOTE> +<P>If we use one of the available language modules, sort rules in +user-written xindy styles are ignored. +<P>The result is now quite satisfying if the index entries weren't +clumped together that much. We usually want the different index +entries beginning with the same letter be optically separated from the +ofhers. This improves readability and there must be a way to +accomplish this---the <EM>letter groups</EM>. +<P> +<H2><A NAME="ss2.4">2.4 Letter Groups</A> +</H2> + +<P>To group indexentries we must define what indexentries form a group. +The clustering is done by matching the keywords' prefixes (taken from +the <EM>sort key</EM>) with a user-defined table of prefixes and define +appropriate markup that separates the groups from each other. Here it +goes. +<P> +<BLOCKQUOTE><CODE> +<PRE> +(define-letter-groups + ("a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" + "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z")) + +(markup-letter-group-list :sep "~n\indexspace") +</PRE> +</CODE></BLOCKQUOTE> +<P>This defines the given list of letter groups. When forming the letter +groups, each letter group is checked if it matches a prefix of the +indexentries' sort key. The longest match assigns the index entry to +this letter group. If no match was possible the index entry is put into +group <CODE>default</CODE>. +<P>The result now looks much better than before. You have now learned the +basic features that you need to specify everyday indexes. In the next +chapter we'll continue to make you an expert in indexing. +<P> +<P> +<HR> +<A HREF="style-tutorial-3.html">Next</A> +<A HREF="style-tutorial-1.html">Previous</A> +<A HREF="style-tutorial.html#toc2">Contents</A> +</BODY> +</HTML> diff --git a/Master/texmf-dist/doc/xindy/style-tutorial-3.html b/Master/texmf-dist/doc/xindy/style-tutorial-3.html new file mode 100644 index 00000000000..5c598e54938 --- /dev/null +++ b/Master/texmf-dist/doc/xindy/style-tutorial-3.html @@ -0,0 +1,263 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> + <TITLE>XINDY Style File Tutorial: Advanced Features</TITLE> + <LINK HREF="style-tutorial-4.html" REL=next> + <LINK HREF="style-tutorial-2.html" REL=previous> + <LINK HREF="style-tutorial.html#toc3" REL=contents> +</HEAD> +<BODY> +<A HREF="style-tutorial-4.html">Next</A> +<A HREF="style-tutorial-2.html">Previous</A> +<A HREF="style-tutorial.html#toc3">Contents</A> +<HR> +<H2><A NAME="s3">3. Advanced Features</A></H2> + +<P>In the following sections you'll learn more about the features of +<SF>xindy</SF>. We'll show you how you can define your own +location classes, specify the letter groups in more detail and bring +you close to more specfic markup features. After reading this chapter +you should be able to master about 95% of the commonly used indexes. +<P> +<P> +<H2><A NAME="ss3.1">3.1 Location Classes</A> +</H2> + +<P>We continue using a more complex index. Copy the current style to a +new file (now <CODE>style2.xdy</CODE>) and run <SF>xindy</SF> on the raw index +<CODE>ex2.raw</CODE> by typing: +<P> +<BLOCKQUOTE><CODE> +<PRE> +eg$ cp style1.xdy style2.xdy +eg$ xindy -t ex2.xlg -M style2 -I xindy ex2.raw +</PRE> +</CODE></BLOCKQUOTE> +<P>You should see some error messages indicating that something is +unknown to <SF>xindy</SF>. What has happend? The messages should be +similar to the following snapshot: +<P> +<BLOCKQUOTE><CODE> +<PRE> + ... +WARNING: +location-reference "B-5" did not match any location-class! (ignored) +WARNING: +location-reference "C-8" did not match any location-class! (ignored) +WARNING: +location-reference "iv" did not match any location-class! (ignored) +WARNING: +location-reference "ii" did not match any location-class! (ignored) + ... +</PRE> +</CODE></BLOCKQUOTE> +<P>The index contains new, and therefore unknown, location classes. The +first one has an appendix-like style, whereas the second one seems to +be lowercase roman numerals. <SF>xindy</SF> reported, that it doesn't know +these locations and therefore knows nothing about their internal +structure. We make them known to the system by adding the following +commands to the style file. +<P> +<BLOCKQUOTE><CODE> +<PRE> +(define-location-class "roman-pages" ("roman-numerals-lowercase")) +(define-location-class "appendices" ("ALPHA" :sep "-" "arabic-numbers")) +(define-location-class-order ("roman-pages" "appendices")) +</PRE> +</CODE></BLOCKQUOTE> +<P>The first command tells <SF>xindy</SF> that there exist some page numbers +that are written with roman lowercase letters. The second one defines +the structure of the appendix locations. They consist of three +elements, a capital letter, a separator---which is a hyphen in our +case---and finally an arabic number. To be able to correctly +distinguish separator strings from the names of the known +<EM>basetypes</EM>, the argument <CODE>:sep</CODE> indicates, that the following +is a separator. The last command simply says that the locations which +are roman numerals shall appear before the appendix locations. So far +we know three different basetypes. The built-in basetypes of +<SF>xindy</SF> are: +<P> +<DL> +<DT><B><CODE>arabic-numbers</CODE></B><DD><P>contains all non-negative numbers beginning +with zero: 0, 1, 2, .... +<P> +<DT><B><CODE>roman-numerals-uppercase</CODE>, <CODE>roman-numerals-lowercase</CODE></B><DD><P>the +roman numerals I, II, III, (IIII/IV), V, ... It contains the old and +new roman numeral system. Two versions for uppercase and lowercase +letters are supported. +<P> +<DT><B><CODE>ALPHA</CODE>, <CODE>alpha</CODE></B><DD><P>The US-ASCII alphabet letters (uppercase +and lowercase letters). +<P> +<DT><B><CODE>digits</CODE></B><DD><P>the digits 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9 in this +order. +</DL> +<P>`Fine,', you'll say, `but what if my basetypes are completely +different?' You're right! But <SF>xindy</SF> offers you to define your own +alphabets. For example, you can define a new alphabet by writing +<P> +<BLOCKQUOTE><CODE> +<PRE> +(define-alphabet "my-personal-alphabet" ("Hi" "ho" "here" "I" "go")) +</PRE> +</CODE></BLOCKQUOTE> +<P>This is a valid alphabet that consists of 5 <EM>letters</EM>. You can now +define a location class +<P> +<BLOCKQUOTE><CODE> +<PRE> +(define-location-class "my-personal-class" + ("my-personal-alphabet" :sep "-" "arabic-numbers")) +</PRE> +</CODE></BLOCKQUOTE> +<P>to match all of the following locations: <EM>Hi-12, ho-2, here-709, +I-9, go-42</EM>. <SF>xindy</SF> will recognize them and be able to sort them +according to your specification which says that <EM>Hi</EM> comes before +all others and <EM>here</EM> is exactly at the third position. So they +will be sorted lexicographically, layer by layer, until it can decide +which one is before or after the other. We have prepared a concrete +example. Do you remember the example we gave when we spoke about +indexing bible verses? This exactly matches the situation of such a +self-defined alphabet which could look like the following definitions: +<P> +<BLOCKQUOTE><CODE> +<PRE> +(define-alphabet "bible-chapters" + ("Genesis" "Exodus" "Leviticus" "Numbers" "Deuteronomy" + ... )) +(define-location-class "bible-verses" + ("bible-chapters" :sep " " "arabic-numbers" :sep "," "arabic-numbers")) +</PRE> +</CODE></BLOCKQUOTE> +<P>This description would match locations like <EM>Genesis 1,3</EM>, +<EM>Exodus 7,8</EM>, etc. +<P>Now run LaTeX on <CODE>ex2.tex</CODE> and view the results. It looks a +little bit strange since <SF>xindy</SF> has automatically built ranges of +successive locations. The first locations of the index entry <EM>roman</EM> +actually denote the range <EM>ii</EM> until <EM>iv</EM>. <EM>Ranges</EM> consist +of location references. To typeset them correctly you can specify +<P> +<BLOCKQUOTE><CODE> +<PRE> +(markup-range :sep "--") +</PRE> +</CODE></BLOCKQUOTE> +<P>This indicates that location reference forming a range shall be +separated by a hyphen. Running <SF>xindy</SF> and LaTeX again gives a +better idea of how it should look like. Here is a part of the +generated output. +<P> +<BLOCKQUOTE><CODE> +<PRE> + ... + \item appendices\quad{}A-1, A-7, A-11, B-3--B-5, C-1, C-8, C-12, + C-13, C-22, D-2, D-3, D-5, D-10 + ... +</PRE> +</CODE></BLOCKQUOTE> +<P> +<H2><A NAME="ss3.2">3.2 Hierarchical Location Classes</A> +</H2> + +<P>Somehow a lot of space is wasted when looking at the first index entry. +Modify the definition of the location class for appendices as follows +and add the other commands as well: +<P> +<BLOCKQUOTE><CODE> +<PRE> +(define-location-class "appendices" + ("ALPHA" :sep "-" "arabic-numbers") + :hierdepth 2) +(markup-locref-list :sep "; " :depth 0 :class "appendices") +(markup-locref-list :open "~~" :sep ", " :depth 1 :class "appendices") +</PRE> +</CODE></BLOCKQUOTE> +<P><EM>Note: Since the tilde character serves as our quoting character it +must be quoted itself in the above example.</EM> Run <SF>xindy</SF> and view +the output stored in <CODE>ex2.ind</CODE>. The output looks similar to the +following: +<P> +<BLOCKQUOTE><CODE> +<PRE> + ... + \item appendices\quad{}A~1, 7, 11; B~3--5; C~1, 8, 12, 13, 22; + D~2, 3, 5, 10 + ... +</PRE> +</CODE></BLOCKQUOTE> +<P>You can see that the location references of this class have been +transformed into a hierarchical structure caused by the +<CODE>:hierdepth</CODE> argument. Additionally we have specified markup for +the layers of this class separately for the depths 0 and 1. The +locations at depth 0 are separated by a `;' whereas the ones at depth +1 are separated by a `,'. +<P>Maybe you get an impression why we named <SF>xindy</SF> a <EM>flexible</EM> +system. +<P> +<H2><A NAME="ss3.3">3.3 More about Letter Groups</A> +</H2> + +<P>More problems arise when using languages with different letter +schemes. Hungarian is an example. In Hungarian indexes the words +beginning with the letters <EM>Cs, Ly, Ny</EM> and more are printed in a +separate block. The words beginning with <EM>Ly</EM>, for example, appear +behind the words beginning with an <EM>L</EM>. <SF>xindy</SF> allows to define +this kind of letter groups as well. Add the following lines to the +style file. +<P> +<BLOCKQUOTE><CODE> +<PRE> +(define-letter-group "ly" :after "l" :before "m") +(define-letter-group "ny" :after "n" :before "o") + +(markup-letter-group :open-head "~n {\bf " :close-head "}" + :capitalize) +</PRE> +</CODE></BLOCKQUOTE> +<P>The result looks like the following: +<P> +<P> +<BLOCKQUOTE><CODE> +<PRE> + ... + {\bf Ly} + \item lyuk\quad{}1 + \item lyukas\quad{}2 + + \indexspace + + {\bf M} + \item maga\quad{}1 + \item magyar\quad{}2 + + \indexspace + + {\bf N} + \item nagy\quad{}1 + \item nagyon\quad{}9 + \item nègy\quad{}4 + + \indexspace + + {\bf Ny} + \item nyelv\quad{}1 + \item nyolc\quad{}8 + ... +</PRE> +</CODE></BLOCKQUOTE> +<P>The result describes what the purpose of the above commands is. It +becomes prettier from step to step, doesn't it? +<P>You have now learned most of the features of <SF>xindy</SF>. Go playing +around a little bit. For a detailed description of all commands and +all their arguments and switches you should reference the manual that +comes with this distribution. +<P> +<P> +<P> +<HR> +<A HREF="style-tutorial-4.html">Next</A> +<A HREF="style-tutorial-2.html">Previous</A> +<A HREF="style-tutorial.html#toc3">Contents</A> +</BODY> +</HTML> diff --git a/Master/texmf-dist/doc/xindy/style-tutorial-4.html b/Master/texmf-dist/doc/xindy/style-tutorial-4.html new file mode 100644 index 00000000000..f3ef19aa4c8 --- /dev/null +++ b/Master/texmf-dist/doc/xindy/style-tutorial-4.html @@ -0,0 +1,41 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> + <TITLE>XINDY Style File Tutorial: References</TITLE> + <LINK HREF="style-tutorial-3.html" REL=previous> + <LINK HREF="style-tutorial.html#toc4" REL=contents> +</HEAD> +<BODY> +Next +<A HREF="style-tutorial-3.html">Previous</A> +<A HREF="style-tutorial.html#toc4">Contents</A> +<HR> +<H2><A NAME="s4">4. References</A></H2> + +<P> +<P>The following books and papers were referenced in this document. +<P> +<OL> +<LI> D. E. Knuth, <EM>The TeXbook</EM>, Addison-Wesley, 1984 +</LI> +<LI> Leslie Lamport, LaTeX <EM>A Document Preparation System</EM>, +Addison-Wesley, 1986 +</LI> +<LI> Joachim Schrod, <EM>An International Version of MakeIndex</EM>, +Cahiers GUTenberg, 10, p81-90, 1991 +</LI> +<LI> Pehong Chen and Michael A. Harrison, <EM>Automating Index +Preparation</EM>, TR-87/347, University of California Berkeley, 1987 +<A NAME="makeindex"></A> +</LI> +<LI> Roger Kehr, <SF>xindy</SF>, <EM>Ein Flexibles Indexierungssystem</EM>, +Studienarbeit FB Informatik, TH-Darmstadt, November 1995.</LI> +</OL> +<P> +<HR> +Next +<A HREF="style-tutorial-3.html">Previous</A> +<A HREF="style-tutorial.html#toc4">Contents</A> +</BODY> +</HTML> diff --git a/Master/texmf-dist/doc/xindy/style-tutorial.html b/Master/texmf-dist/doc/xindy/style-tutorial.html new file mode 100644 index 00000000000..6c815ca30d6 --- /dev/null +++ b/Master/texmf-dist/doc/xindy/style-tutorial.html @@ -0,0 +1,66 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> + <TITLE>XINDY Style File Tutorial</TITLE> + <LINK HREF="style-tutorial-1.html" REL=next> + + +</HEAD> +<BODY> +<A HREF="style-tutorial-1.html">Next</A> +Previous +Contents +<HR> +<H1>XINDY Style File Tutorial</H1> + +<H2><SF>A Flexible Indexing System</SF></H2> +<H2>Roger Kehr</H2> +<H3>Computer Science Department, Technical University of Darmstadt</H3> + and +<H2>Joachim Schrod</H2> +<H3>Joachim Schrod Net & Publication Consultance GmbH</H3> +Tutorial, Edition March 1997 for xindy version 1.1 +<P><HR> +<EM> This is a tutorial on writing style files for +the <SF>xindy</SF> indexing system +[5]. <SF>xindy</SF> is a general purpose index processor that +can be configured for a variety of document preparation systems. We +will demonstrate step by step the incremental specification of a +complete index style. The examples are based on indexes that are +delivered with the system so one can get acquainted with it +practically. +<p> +<B>Caution:</B> This tutorial does not describe the complete style file +language. In particular, description of rule sets, the multi-run +approach, and standard modules are missing.</EM> +<HR> +<P> +<H2><A NAME="toc1">1.</A> <A HREF="style-tutorial-1.html">About <SF>xindy</SF></A></H2> + +<P> +<H2><A NAME="toc2">2.</A> <A HREF="style-tutorial-2.html">A Basic Introduction</A></H2> + +<UL> +<LI><A HREF="style-tutorial-2.html#ss2.1">2.1 Running <SF>xindy</SF></A> +<LI><A HREF="style-tutorial-2.html#ss2.2">2.2 Adding some Markup</A> +<LI><A HREF="style-tutorial-2.html#ss2.3">2.3 Keyword Mappings</A> +<LI><A HREF="style-tutorial-2.html#ss2.4">2.4 Letter Groups</A> +</UL> +<P> +<H2><A NAME="toc3">3.</A> <A HREF="style-tutorial-3.html">Advanced Features</A></H2> + +<UL> +<LI><A HREF="style-tutorial-3.html#ss3.1">3.1 Location Classes</A> +<LI><A HREF="style-tutorial-3.html#ss3.2">3.2 Hierarchical Location Classes</A> +<LI><A HREF="style-tutorial-3.html#ss3.3">3.3 More about Letter Groups</A> +</UL> +<P> +<H2><A NAME="toc4">4.</A> <A HREF="style-tutorial-4.html">References</A></H2> + +<HR> +<A HREF="style-tutorial-1.html">Next</A> +Previous +Contents +</BODY> +</HTML> diff --git a/Master/texmf-dist/doc/xindy/style-tutorial/ex1.raw b/Master/texmf-dist/doc/xindy/style-tutorial/ex1.raw new file mode 100644 index 00000000000..1f4585950a9 --- /dev/null +++ b/Master/texmf-dist/doc/xindy/style-tutorial/ex1.raw @@ -0,0 +1,20 @@ +;; Example raw-index file. + +(indexentry :key ("sábado") :locref "5" :attr "definition") +(indexentry :key ("sabão") :locref "6" :attr "definition") +(indexentry :key ("saber") :locref "7" :attr "definition") +(indexentry :key ("sabor") :locref "8" :attr "definition") + +(indexentry :key ("academia") :locref "1" :attr "definition") +(indexentry :key ("acafetado") :locref "2" :attr "definition") +(indexentry :key ("açafrão") :locref "3" :attr "definition") +(indexentry :key ("acalmar") :locref "4" :attr "definition") + +(indexentry :key ("index" "flat") :locref "1" :attr "usage") +(indexentry :key ("index" "hierarchical") :locref "2" :attr "usage") +(indexentry :key ("index" "very" "hierarchical") :locref "3" :attr "usage") +(indexentry :key ("index" "very" "impressive") :locref "4" :attr "usage") + +;(indexentry :key ("arts" "classic") :locref "10" :attr "usage") +;(indexentry :key ("arts" "contemporary") :locref "11" :attr "usage") +;(indexentry :key ("arts" "modern") :locref "12" :attr "usage") diff --git a/Master/texmf-dist/doc/xindy/style-tutorial/ex1.tex b/Master/texmf-dist/doc/xindy/style-tutorial/ex1.tex new file mode 100644 index 00000000000..839c0b9834c --- /dev/null +++ b/Master/texmf-dist/doc/xindy/style-tutorial/ex1.tex @@ -0,0 +1,16 @@ +%% +%% An sample file for typesetting an index. +%% + +\documentclass[12pt]{article} + +\usepackage[latin1]{inputenc} +\usepackage{makeidx} + +\makeindex + +\begin{document} + +\printindex + +\end{document} diff --git a/Master/texmf-dist/doc/xindy/style-tutorial/ex2.raw b/Master/texmf-dist/doc/xindy/style-tutorial/ex2.raw new file mode 100644 index 00000000000..88b767aa60f --- /dev/null +++ b/Master/texmf-dist/doc/xindy/style-tutorial/ex2.raw @@ -0,0 +1,35 @@ +;; Example raw-index file. + +(indexentry :key ("appendices") :locref "A-1" :attr "usage") +(indexentry :key ("appendices") :locref "A-7" :attr "usage") +(indexentry :key ("appendices") :locref "A-11" :attr "usage") +(indexentry :key ("appendices") :locref "B-3" :attr "usage") +(indexentry :key ("appendices") :locref "B-4" :attr "usage") +(indexentry :key ("appendices") :locref "B-5" :attr "usage") +(indexentry :key ("appendices") :locref "C-8" :attr "usage") +(indexentry :key ("appendices") :locref "C-12" :attr "usage") +(indexentry :key ("appendices") :locref "C-13" :attr "usage") +(indexentry :key ("appendices") :locref "C-22" :attr "usage") +(indexentry :key ("appendices") :locref "C-1" :attr "usage") +(indexentry :key ("appendices") :locref "D-2" :attr "usage") +(indexentry :key ("appendices") :locref "D-3" :attr "usage") +(indexentry :key ("appendices") :locref "D-5" :attr "usage") +(indexentry :key ("appendices") :locref "D-10" :attr "usage") + +(indexentry :key ("roman") :locref "iv" :attr "usage") +(indexentry :key ("roman") :locref "ii" :attr "usage") +(indexentry :key ("roman") :locref "iii" :attr "usage") +(indexentry :key ("roman") :locref "ix" :attr "usage") +(indexentry :key ("roman") :locref "x" :attr "usage") +(indexentry :key ("roman") :locref "mcmxcvi" :attr "usage") + +(indexentry :key ("lyuk") :locref "1" :attr "usage") +(indexentry :key ("lyukas") :locref "2" :attr "usage") +(indexentry :key ("maga") :locref "1" :attr "usage") +(indexentry :key ("magyar") :locref "2" :attr "usage") +(indexentry :key ("nagy") :locref "1" :attr "usage") +(indexentry :key ("nagyon") :locref "9" :attr "usage") +(indexentry :key ("negy") :locref "4" :attr "usage") +(indexentry :key ("nyolc") :locref "8" :attr "usage") +(indexentry :key ("nyelv") :locref "1" :attr "usage") + diff --git a/Master/texmf-dist/doc/xindy/style-tutorial/ex2.tex b/Master/texmf-dist/doc/xindy/style-tutorial/ex2.tex new file mode 100644 index 00000000000..839c0b9834c --- /dev/null +++ b/Master/texmf-dist/doc/xindy/style-tutorial/ex2.tex @@ -0,0 +1,16 @@ +%% +%% An sample file for typesetting an index. +%% + +\documentclass[12pt]{article} + +\usepackage[latin1]{inputenc} +\usepackage{makeidx} + +\makeindex + +\begin{document} + +\printindex + +\end{document} diff --git a/Master/texmf-dist/doc/xindy/style-tutorial/index.tex b/Master/texmf-dist/doc/xindy/style-tutorial/index.tex new file mode 100644 index 00000000000..839c0b9834c --- /dev/null +++ b/Master/texmf-dist/doc/xindy/style-tutorial/index.tex @@ -0,0 +1,16 @@ +%% +%% An sample file for typesetting an index. +%% + +\documentclass[12pt]{article} + +\usepackage[latin1]{inputenc} +\usepackage{makeidx} + +\makeindex + +\begin{document} + +\printindex + +\end{document} diff --git a/Master/texmf-dist/doc/xindy/style-tutorial/style1.xdy b/Master/texmf-dist/doc/xindy/style-tutorial/style1.xdy new file mode 100644 index 00000000000..ee809f9aae8 --- /dev/null +++ b/Master/texmf-dist/doc/xindy/style-tutorial/style1.xdy @@ -0,0 +1,55 @@ +;; This is a first example using `xindy'. + +(mapc #'(lambda (x) + (pushnew x *features*)) + '(:STEP1 :STEP2 :STEP3 :STEP4 :STEP5)) + +#+:STEP1 +(progn + (define-location-class "page-numbers" ("arabic-numbers")) + (define-attributes (("definition" "usage"))) + ) + + +#+:STEP2 +(progn + (markup-index :open "~n\begin{theindex}~n" + :close "~n~n\end{theindex}~n" + :tree) + + (markup-locref :class "page-numbers" :attr "definition" + :open "{\bf " :close "}") + + (markup-locref-list :sep ", ") + (markup-locclass-list :open "\quad{}") + ) + +#+:STEP3 +(progn + (markup-indexentry :open "~n \item " :depth 0) + (markup-indexentry :open "~n \subitem " :depth 1) + (markup-indexentry :open "~n \subsubitem " :depth 2) + + (markup-range :class "page-numbers" :sep "--") + ) + +#+:STEP4 +(progn + (sort-rule "à" "a") + (sort-rule "á" "a") + (sort-rule "ã" "a") + (sort-rule "è" "e") + (sort-rule "é" "e") + (sort-rule "ç" "c") + + (sort-rule "\\texttt{\(.*\)}" "\1" :again :bregexp) + ) + +#+:STEP5 +(progn + (define-letter-groups + ("a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" + "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z")) + + (markup-letter-group-list :sep "~n~n \indexspace~n") + ) diff --git a/Master/texmf-dist/doc/xindy/style-tutorial/style2.xdy b/Master/texmf-dist/doc/xindy/style-tutorial/style2.xdy new file mode 100644 index 00000000000..e45e2f24482 --- /dev/null +++ b/Master/texmf-dist/doc/xindy/style-tutorial/style2.xdy @@ -0,0 +1,80 @@ +;; This is another example using `xindy'. + +(mapc #'(lambda (x) + (pushnew x *features*)) + '(:STEP1 :STEP2 :STEP3 :STEP4 :STEP5 :STEP6 :STEP7 :STEP8 :STEP9 :STEP10)) + +#+:STEP1 +(progn + (define-location-class "page-numbers" ("arabic-numbers")) + (define-attributes (("definition" "usage"))) + ) + + +#+:STEP2 +(progn + (markup-index :open "~n\begin{theindex}~n" + :close "~n~n\end{theindex}~n" + :tree) + + (markup-locref :class "page-numbers" :attr "definition" + :open "{\bf " :close "}") + + (markup-locref-list :sep ", ") + (markup-locclass-list :open "\quad{}") + ) + +#+:STEP3 +(progn + (markup-indexentry :open "~n \item " :depth 0) + (markup-indexentry :open "~n \subitem " :depth 1) + (markup-indexentry :open "~n \subsubitem " :depth 2) + ) + +#+:STEP4 +(progn + (sort-rule "à" "a") + (sort-rule "á" "a") + (sort-rule "ã" "a") + (sort-rule "è" "e") + (sort-rule "é" "e") + (sort-rule "ç" "c") + + (sort-rule "\\texttt{(.*)}" "\1" :again :bregexp) + ) + +#+:STEP5 +(progn + (define-letter-groups + ("a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" + "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z")) + + (markup-letter-group-list :sep "~n~n \indexspace~n") + ) + +#+:STEP6 +(progn + (define-location-class "roman-pages" ("roman-numbers-lowercase")) + #-:STEP8 + (define-location-class "appendices" ("ALPHA" :sep "-" "arabic-numbers")) + ) + +#+:STEP7 +(markup-range :sep "--") + +#+:STEP8 +(progn + (define-location-class "appendices" ("ALPHA" :sep "-" "arabic-numbers") + :hierdepth 2) + (markup-locref-list :sep "; " :depth 0 :class "appendices") + (markup-locref-list :open "~~" :sep ", " :depth 1 :class "appendices") + ) + +#+:STEP9 +(progn + (define-letter-group "ly" :after "l" :before "m") + (define-letter-group "ny" :after "n" :before "o") + + (markup-letter-group :open-head "~n {\bf " :close-head "}" + :capitalize) + ) diff --git a/Master/texmf-dist/doc/xindy/tex2xindy.pdf b/Master/texmf-dist/doc/xindy/tex2xindy.pdf Binary files differnew file mode 100644 index 00000000000..65b834d225d --- /dev/null +++ b/Master/texmf-dist/doc/xindy/tex2xindy.pdf diff --git a/Master/texmf-dist/doc/xindy/texindy.pdf b/Master/texmf-dist/doc/xindy/texindy.pdf Binary files differnew file mode 100644 index 00000000000..0d460cc060f --- /dev/null +++ b/Master/texmf-dist/doc/xindy/texindy.pdf diff --git a/Master/texmf-dist/doc/xindy/xindy.pdf b/Master/texmf-dist/doc/xindy/xindy.pdf Binary files differnew file mode 100644 index 00000000000..f861491dfb8 --- /dev/null +++ b/Master/texmf-dist/doc/xindy/xindy.pdf |